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.BaseModelInput 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.BaseToolTool 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.BaseModelDescriptor 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.BaseToolTool 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.BaseModelInput 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.BaseToolTool 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.BaseModelInput 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.BaseToolTool 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.BaseModelInput 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.BaseToolTool 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