Pre-release
This release is a pre-release and may not be stable for production use.
Agent Orchestrator Plugin (Python)
Python implementation of the Agent Orchestrator plugin for elizaOS.
Overview
This plugin orchestrates tasks across registered agent providers without performing file I/O directly - that responsibility belongs to sub-agent workers.
Features
- Task lifecycle management (create, pause, resume, cancel)
- Provider-based execution model
- Event system for task state changes
- Cross-platform parity with TypeScript and Rust implementations
Installation
pip install elizaos-plugin-agent-orchestrator
Usage
from elizaos_plugin_agent_orchestrator import (
configure_agent_orchestrator_plugin,
AgentOrchestratorPluginOptions,
plugin,
)
# Define your agent provider
class MyProvider:
id = "my-agent"
label = "My Agent"
description = "Custom agent provider"
async def execute_task(self, task, ctx):
await ctx.append_output("Hello from my-agent")
await ctx.update_progress(100)
return TaskResult(
success=True,
summary="done",
files_created=[],
files_modified=[],
)
# Configure the plugin before runtime initialization
configure_agent_orchestrator_plugin(
AgentOrchestratorPluginOptions(
providers=[MyProvider()],
default_provider_id="my-agent",
get_working_directory=lambda: os.getcwd(),
)
)
# Register the plugin with your runtime
runtime.register_plugin(plugin)
Actions
CREATE_TASK- Create a new orchestrated taskLIST_TASKS- List all tasksSWITCH_TASK- Switch current task contextSEARCH_TASKS- Search tasks by queryPAUSE_TASK- Pause a running taskRESUME_TASK- Resume a paused taskCANCEL_TASK- Cancel a task
Provider Interface
Providers must implement the AgentProvider protocol:
class AgentProvider(Protocol):
@property
def id(self) -> str: ...
@property
def label(self) -> str: ...
@property
def description(self) -> Optional[str]: ...
async def execute_task(
self,
task: OrchestratedTask,
ctx: ProviderTaskExecutionContext,
) -> TaskResult: ...
License
MIT
Metadata
Release files for elizaos-plugin-agent-orchestrator 2.0.0a5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| elizaos_plugin_agent_orchestrator-2.0.0a5.tar.gz | 14.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| elizaos_plugin_agent_orchestrator-2.0.0a5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 30.8 kB
Release files / elizaos_plugin_agent_orchestrator-2.0.0a5.tar.gz
| Download URL | elizaos_plugin_agent_orchestrator-2.0.0a5.tar.gz |
|---|---|
| Size | 14.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cc1801eb6556a9b524232b7a6374de6d54f9db6dc3ab8a27b59f7ec31eed38dc
|
|
BLAKE2b-256 checksum How to use checksums |
9c64edf93076d82cb99ff0b6852c4c56decef6f351b636af90bca7d017cbb8f9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / elizaos_plugin_agent_orchestrator-2.0.0a5-py3-none-any.whl
| Download URL | elizaos_plugin_agent_orchestrator-2.0.0a5-py3-none-any.whl |
|---|---|
| Size | 16.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8b67d4075cd97c7c074754d9b2e40a5f1daef9b379bc242121715fcecf1a3e54
|
|
BLAKE2b-256 checksum How to use checksums |
bcd55f805d777519592ecb129b41b1d9135907ea7250cb42a0a3d3b805ef0b85
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|