Appearance
Agents and Workflows
Multi-agent orchestration, nested agents, and A2A protocol tools.
| Tool | Extra | Description |
|---|---|---|
graph | base | Multi-agent graphs with nodes and handoff edges. |
agent_graph | base | Persistent agent graphs with shared state. |
journal | base | Structured task lists and execution logs. |
swarm | base | Coordinate specialist agents with handoffs. |
handoff_to_user | base | Pause for human input or full handoff. |
use_agent | base | Spawn a nested agent event loop. |
think | base | Parallel reasoning branches. |
use_llm | base | Nested LLM call with custom prompt. |
workflow | base | Sequenced task pipelines with dependencies. |
batch | base | Invoke multiple tools in one model turn. |
a2a_discover_agent | a2a-client | Discover remote A2A agents. Register via A2AClientToolProvider. |
a2a_list_discovered_agents | a2a-client | List discovered A2A agents. |
a2a_send_message | a2a-client | Send a message to a remote A2A agent. |
graph
Multi-agent graphs with nodes and handoff edges.
python
from elsai_tools.graph import graph| Parameter | Type | Required | Description |
|---|---|---|---|
action | str | Yes | create, execute, status, list, or delete |
graph_id | str | No | Graph identifier |
topology | Dict | No | Nodes and edges |
task | str | No | Task for execute |
model_provider | str | No | Model provider |
tools | List[str] | No | Tool names |
agent_graph
Persistent agent graphs with shared state.
python
from elsai_tools.agent_graph import agent_graph| Parameter | Type | Required | Description |
|---|---|---|---|
action | str | Yes | Graph action |
graph_id | str | No | Graph identifier |
topology | dict | No | Graph topology |
task | str | No | Execution task |
message | str | No | Message to send |
journal
Structured task lists and execution logs.
python
from elsai_tools.journal import journal| Parameter | Type | Required | Description |
|---|---|---|---|
action | str | Yes | Journal action |
task | str | No | Task entry |
log | str | No | Log entry |
date | str | No | Date filter |
swarm
Coordinate specialist agents with handoffs.
python
from elsai_tools.swarm import swarm| Parameter | Type | Required | Description |
|---|---|---|---|
task | str | Yes | Task description |
agents | List[Dict[str, Any]] | Yes | List of agent configs |
max_handoffs | int | No | Max handoffs |
max_iterations | int | No | Max iterations |
execution_timeout | float | No | Total timeout in seconds |
handoff_to_user
Pause for human input or full handoff.
python
from elsai_tools.handoff_to_user import handoff_to_user| Parameter | Type | Required | Description |
|---|---|---|---|
message | str | Yes | Message to show the user |
breakout_of_loop | bool | No | Exit agent loop entirely |
use_agent
Spawn a nested agent event loop.
python
from elsai_tools.use_agent import use_agent| Parameter | Type | Required | Description |
|---|---|---|---|
prompt | str | Yes | User prompt |
system_prompt | str | Yes | System prompt |
tools | List[str] | No | Tool names |
model_provider | str | No | Model provider |
model_settings | Dict[str, Any] | No | Model settings dict |
think
Parallel reasoning branches.
python
from elsai_tools.think import think| Parameter | Type | Required | Description |
|---|---|---|---|
thought | str | Yes | Reasoning prompt |
cycle_count | int | Yes | Number of branches |
system_prompt | str | Yes | System prompt |
tools | List[str] | No | Tool names |
model_provider | str | No | Model provider |
use_llm
Nested LLM call with custom prompt.
python
from elsai_tools.use_llm import use_llm| Parameter | Type | Required | Description |
|---|---|---|---|
prompt | str | Yes | LLM prompt |
system_prompt | Any | No | System prompt |
model_provider | Any | No | Model provider |
model_settings | Any | No | Model settings dict |
workflow
Sequenced task pipelines with dependencies.
python
from elsai_tools.workflow import workflow| Parameter | Type | Required | Description |
|---|---|---|---|
action | str | Yes | Workflow action |
workflow_id | str | No | Workflow identifier |
tasks | List[Dict[str, Any]] | No | Task definitions with dependencies |
batch
Invoke multiple tools in one model turn.
python
from elsai_tools.batch import batch| Parameter | Type | Required | Description |
|---|---|---|---|
tool_calls | list[dict] | Yes | List of tool invocations |
a2a_discover_agent
Discover remote A2A agents. Register via A2AClientToolProvider.
python
from elsai_tools.a2a_client import A2AClientToolProvider
provider = A2AClientToolProvider(known_agent_urls=["http://agent.example.com"])
agent = Agent(tools=provider.tools)Extra: a2a-client
| Parameter | Type | Required | Description |
|---|---|---|---|
url | str | Yes | A2A agent endpoint URL |
a2a_list_discovered_agents
List discovered A2A agents.
Extra: a2a-client
No parameters.
a2a_send_message
Send a message to a remote A2A agent.
Extra: a2a-client
| Parameter | Type | Required | Description |
|---|---|---|---|
message_text | str | Yes | Message content |
target_agent_url | str | Yes | Agent endpoint URL |
message_id | str | No | Optional message ID |