oats.agent

Agent orchestration logic.

oats.agent.agent

Agent definitions and management.

class oats.agent.agent.AgentType(*values)[source]

Bases: str, Enum

Types of sub-agents with different tool access levels.

GENERAL = 'general'
EXPLORE = 'explore'
PLAN = 'plan'
VERIFY = 'verify'
class oats.agent.agent.Agent(name, description='', prompt='', agent_type=AgentType.GENERAL, model_id=None, provider_id=None, temperature=None, top_p=None, tools=<factory>, allowed_tools=None, max_iterations=200, options=<factory>)[source]

Bases: object

Definition of an AI agent.

name: str
description: str = ''
prompt: str = ''
agent_type: AgentType = 'general'
model_id: str | None = None
provider_id: str | None = None
temperature: float | None = None
top_p: float | None = None
tools: list[str]
allowed_tools: set[str] | None = None
max_iterations: int = 200
options: dict[str, Any]
__init__(name, description='', prompt='', agent_type=AgentType.GENERAL, model_id=None, provider_id=None, temperature=None, top_p=None, tools=<factory>, allowed_tools=None, max_iterations=200, options=<factory>)
class oats.agent.agent.AgentRegistry[source]

Bases: object

Registry of available agents.

__init__()[source]
register(agent)[source]

Register an agent.

Return type:

None

get(name)[source]

Get an agent by name.

Return type:

Agent | None

list()[source]

List all agents.

Return type:

list[Agent]

oats.agent.agent.get_agent_registry()[source]

Get the global agent registry.

Return type:

AgentRegistry

oats.agent.agent.get_agent(name)[source]

Get an agent by name.

Return type:

Agent | None

oats.agent.agent.list_agents()[source]

List all available agents.

Return type:

list[Agent]