dragon.ai.agent.config.agent_config.OrchestratorConfig

class OrchestratorConfig[source]

Bases: object

Top-level configuration for DAGOrchestrator.

Parameters

agents:

List of AgentConfig instances to register. Duplicate agent_id values are rejected at construction time.

poll_interval:

Seconds between DDict status polls. Defaults to 0.5.

poll_timeout:

Maximum seconds to wait per agent before timing out. Defaults to 120.0.

tracing:

Controls whether tracing is enabled pipeline-wide. False (default) = no tracing, zero overhead. True = DDict tracing: per-task DictTracingProcessor is created automatically, per-event keys are written in real time, and the orchestrator starts a TCP bridge for live viewing. Use the trace viewer’s --save flag to persist traces to disk.

ddict_kwargs:

DDict constructor overrides — merged with sensible defaults and passed as **kwargs to DDict(). Use this to control memory size, persistence, working-set size, placement policies, etc.

Defaults (applied when a key is absent): managers_per_node=1, n_nodes=1, trace=False.

User-supplied values override defaults (standard dict merge). trace controls DDict-level tracing (independent of the tracing flag, which controls the TCP trace bridge).

Example:

OrchestratorConfig(
    ...,
    ddict_kwargs={"managers_per_node": 2, "total_mem": 1 << 30},
)
__init__(agents: list [AgentConfig] = <factory>, poll_interval: float = 0.5, poll_timeout: float = 120.0, tracing: bool = False, ddict_kwargs: dict[str, ~typing.Any]=<factory>) None

Methods

__init__(agents, poll_interval, ...)

Attributes

poll_interval

poll_timeout

tracing

agents

ddict_kwargs

agents: list [AgentConfig]
poll_interval: float = 0.5
poll_timeout: float = 120.0
tracing: bool = False
ddict_kwargs: dict [str , Any ]
__init__(agents: list [AgentConfig] = <factory>, poll_interval: float = 0.5, poll_timeout: float = 120.0, tracing: bool = False, ddict_kwargs: dict[str, ~typing.Any]=<factory>) None