agents.supervisor.dynamic.dynamic_agent_tools¶
Dynamic Agent Management Tools for Supervisor.
from typing import Any, Optional This module provides tools that allow the supervisor to dynamically add, remove, and manage agents at runtime through tool calls, integrating with DynamicChoiceModel for routing and state management.
Classes¶
Input for adding a new agent to the supervisor. |
|
Tool for dynamically adding agents to the supervisor. |
|
Descriptor for an agent that can be dynamically added. |
|
Manages dynamic agent registry with tool integration. |
|
Tool for selecting which agent to use for the next task. |
|
Input for changing/updating an existing agent. |
|
Tool for updating agent configuration. |
|
Input for listing available agents. |
|
Tool for listing available agents and their capabilities. |
|
Input for removing an agent from the supervisor. |
|
Tool for dynamically removing agents from the supervisor. |
Functions¶
|
Create all agent management tools for a supervisor. |
|
Register an agent constructor with the supervisor's registry manager. |
Module Contents¶
- class agents.supervisor.dynamic.dynamic_agent_tools.AddAgentInput(/, **data)¶
Bases:
pydantic.BaseModel
Input for adding a new agent to the supervisor.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- Parameters:
data (Any)
- class agents.supervisor.dynamic.dynamic_agent_tools.AddAgentTool(registry_manager)¶
Bases:
langchain_core.tools.BaseTool
Tool for dynamically adding agents to the supervisor.
Init .
- Parameters:
registry_manager (AgentRegistryManager) – [TODO: Add description]
- args_schema: type[pydantic.BaseModel] | None = None¶
Pydantic model class to validate and parse the tool’s input arguments.
Args schema should be either:
A subclass of pydantic.BaseModel.
A subclass of pydantic.v1.BaseModel if accessing v1 namespace in pydantic 2
a JSON schema dict
- class agents.supervisor.dynamic.dynamic_agent_tools.AgentDescriptor(/, **data)¶
Bases:
pydantic.BaseModel
Descriptor for an agent that can be dynamically added.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- Parameters:
data (Any)
- class agents.supervisor.dynamic.dynamic_agent_tools.AgentRegistryManager(supervisor_agent)¶
Manages dynamic agent registry with tool integration.
Initialize with supervisor agent reference.
- Parameters:
supervisor_agent (Any)
- create_agent_from_descriptor(descriptor)¶
Create an agent instance from descriptor.
- Parameters:
descriptor (AgentDescriptor)
- Return type:
haive.agents.base.agent.Agent | None
- class agents.supervisor.dynamic.dynamic_agent_tools.AgentSelectorTool(registry_manager)¶
Bases:
langchain_core.tools.BaseTool
Tool for selecting which agent to use for the next task.
Init .
- Parameters:
registry_manager (AgentRegistryManager) – [TODO: Add description]
- args_schema: type[pydantic.BaseModel] | None = None¶
Pydantic model class to validate and parse the tool’s input arguments.
Args schema should be either:
A subclass of pydantic.BaseModel.
A subclass of pydantic.v1.BaseModel if accessing v1 namespace in pydantic 2
a JSON schema dict
- class agents.supervisor.dynamic.dynamic_agent_tools.ChangeAgentInput(/, **data)¶
Bases:
pydantic.BaseModel
Input for changing/updating an existing agent.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- Parameters:
data (Any)
- class agents.supervisor.dynamic.dynamic_agent_tools.ChangeAgentTool(registry_manager)¶
Bases:
langchain_core.tools.BaseTool
Tool for updating agent configuration.
Init .
- Parameters:
registry_manager (AgentRegistryManager) – [TODO: Add description]
- args_schema: type[pydantic.BaseModel] | None = None¶
Pydantic model class to validate and parse the tool’s input arguments.
Args schema should be either:
A subclass of pydantic.BaseModel.
A subclass of pydantic.v1.BaseModel if accessing v1 namespace in pydantic 2
a JSON schema dict
- class agents.supervisor.dynamic.dynamic_agent_tools.ListAgentsInput(/, **data)¶
Bases:
pydantic.BaseModel
Input for listing available agents.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- Parameters:
data (Any)
- class agents.supervisor.dynamic.dynamic_agent_tools.ListAgentsTool(registry_manager)¶
Bases:
langchain_core.tools.BaseTool
Tool for listing available agents and their capabilities.
Init .
- Parameters:
registry_manager (AgentRegistryManager) – [TODO: Add description]
- args_schema: type[pydantic.BaseModel] | None = None¶
Pydantic model class to validate and parse the tool’s input arguments.
Args schema should be either:
A subclass of pydantic.BaseModel.
A subclass of pydantic.v1.BaseModel if accessing v1 namespace in pydantic 2
a JSON schema dict
- class agents.supervisor.dynamic.dynamic_agent_tools.RemoveAgentInput(/, **data)¶
Bases:
pydantic.BaseModel
Input for removing an agent from the supervisor.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- Parameters:
data (Any)
- class agents.supervisor.dynamic.dynamic_agent_tools.RemoveAgentTool(registry_manager)¶
Bases:
langchain_core.tools.BaseTool
Tool for dynamically removing agents from the supervisor.
Init .
- Parameters:
registry_manager (AgentRegistryManager) – [TODO: Add description]
- args_schema: type[pydantic.BaseModel] | None = None¶
Pydantic model class to validate and parse the tool’s input arguments.
Args schema should be either:
A subclass of pydantic.BaseModel.
A subclass of pydantic.v1.BaseModel if accessing v1 namespace in pydantic 2
a JSON schema dict