Skip to main content

Agent Orchestrator Plugin for elizaOS - orchestrates tasks across agent providers

Project description

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 task
  • LIST_TASKS - List all tasks
  • SWITCH_TASK - Switch current task context
  • SEARCH_TASKS - Search tasks by query
  • PAUSE_TASK - Pause a running task
  • RESUME_TASK - Resume a paused task
  • CANCEL_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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

elizaos_plugin_agent_orchestrator-2.0.0a5.tar.gz (14.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file elizaos_plugin_agent_orchestrator-2.0.0a5.tar.gz.

File metadata

File hashes

Hashes for elizaos_plugin_agent_orchestrator-2.0.0a5.tar.gz
Algorithm Hash digest
SHA256 cc1801eb6556a9b524232b7a6374de6d54f9db6dc3ab8a27b59f7ec31eed38dc
MD5 c122648f3ded60b28df438a937dd6a19
BLAKE2b-256 9c64edf93076d82cb99ff0b6852c4c56decef6f351b636af90bca7d017cbb8f9

See more details on using hashes here.

File details

Details for the file elizaos_plugin_agent_orchestrator-2.0.0a5-py3-none-any.whl.

File metadata

File hashes

Hashes for elizaos_plugin_agent_orchestrator-2.0.0a5-py3-none-any.whl
Algorithm Hash digest
SHA256 8b67d4075cd97c7c074754d9b2e40a5f1daef9b379bc242121715fcecf1a3e54
MD5 8530350e8d9f146dbd82038953a43af8
BLAKE2b-256 bcd55f805d777519592ecb129b41b1d9135907ea7250cb42a0a3d3b805ef0b85

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page