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.0a4.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.0a4.tar.gz.

File metadata

File hashes

Hashes for elizaos_plugin_agent_orchestrator-2.0.0a4.tar.gz
Algorithm Hash digest
SHA256 533739fb59162317591ed499f974067ad2531b70cee8fdefb4607a5fa7b3acec
MD5 30cb0d4439e0742e084509543f5a5b99
BLAKE2b-256 453885f035497c5d6bdeedba907a02c05691e1e7905615c0c296b2de08fc72fd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for elizaos_plugin_agent_orchestrator-2.0.0a4-py3-none-any.whl
Algorithm Hash digest
SHA256 02af94f5def272caaa9d31a4ebb5fe9a28c875c02aa3c3128e9242ecf975dbb7
MD5 e38c1847b917994dcb7fe93d37fcb1e0
BLAKE2b-256 45d7cd45821b30e3dda70f56539626572ca97c065a6e87a78d3e4289c8097d64

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