|
from enum import Enum
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
|
|
class MicroAgentType(str, Enum):
|
|
"""Type of microagent."""
|
|
|
|
KNOWLEDGE = 'knowledge'
|
|
REPO_KNOWLEDGE = 'repo'
|
|
TASK = 'task'
|
|
|
|
|
|
class MicroAgentMetadata(BaseModel):
|
|
"""Metadata for all microagents."""
|
|
|
|
name: str = 'default'
|
|
type: MicroAgentType = Field(default=MicroAgentType.KNOWLEDGE)
|
|
version: str = Field(default='1.0.0')
|
|
agent: str = Field(default='CodeActAgent')
|
|
triggers: list[str] = []
|
|
|
|
|
|
class TaskInput(BaseModel):
|
|
"""Input parameter for task-based agents."""
|
|
|
|
name: str
|
|
description: str
|
|
required: bool = True
|
|
|