taolib.symphony.config.schema#

Symphony 配置模型。

基于 Pydantic v2 定义完整的配置类型层次结构, 覆盖跟踪器、轮询、工作区、钩子、Agent、Codex、Worker 和 Server 配置。

Classes#

TrackerConfig

问题跟踪器配置。

PollingConfig

轮询配置。

WorkspaceConfig

工作区配置。

HooksConfig

工作区钩子配置。

AgentConfig

Agent 并发与重试配置。

CodexConfig

Codex app-server 配置。

WorkerConfig

SSH Worker 扩展配置。

ServerConfig

HTTP Server 扩展配置。

SymphonyConfig

Symphony 编排服务完整配置。

Module Contents#

class taolib.symphony.config.schema.TrackerConfig#

Bases: pydantic.BaseModel

问题跟踪器配置。

kind: Literal['linear'] = 'linear'#
endpoint: str = 'https://api.linear.app/graphql'#
api_key: str = ''#
project_slug: str = ''#
active_states: list[str]#
terminal_states: list[str]#
class taolib.symphony.config.schema.PollingConfig#

Bases: pydantic.BaseModel

轮询配置。

interval_ms: int#
class taolib.symphony.config.schema.WorkspaceConfig#

Bases: pydantic.BaseModel

工作区配置。

root: pathlib.Path#
class taolib.symphony.config.schema.HooksConfig#

Bases: pydantic.BaseModel

工作区钩子配置。

after_create: str | None = None#
before_run: str | None = None#
after_run: str | None = None#
before_remove: str | None = None#
timeout_ms: int#
class taolib.symphony.config.schema.AgentConfig#

Bases: pydantic.BaseModel

Agent 并发与重试配置。

max_concurrent_agents: int#
max_turns: int#
max_retry_backoff_ms: int#
max_concurrent_agents_by_state: dict[str, int]#
classmethod _normalize_state_keys(v: dict[str, int]) dict[str, int]#

将状态键归一化为小写,并过滤无效条目。

class taolib.symphony.config.schema.CodexConfig#

Bases: pydantic.BaseModel

Codex app-server 配置。

command: str = 'codex app-server'#
approval_policy: str | None = None#
thread_sandbox: str | None = None#
turn_sandbox_policy: str | None = None#
turn_timeout_ms: int#
read_timeout_ms: int#
stall_timeout_ms: int#
class taolib.symphony.config.schema.WorkerConfig#

Bases: pydantic.BaseModel

SSH Worker 扩展配置。

ssh_hosts: list[str]#
max_concurrent_agents_per_host: int | None = None#
class taolib.symphony.config.schema.ServerConfig#

Bases: pydantic.BaseModel

HTTP Server 扩展配置。

port: int | None = None#
bind: str = '127.0.0.1'#
class taolib.symphony.config.schema.SymphonyConfig#

Bases: pydantic.BaseModel

Symphony 编排服务完整配置。

tracker: TrackerConfig#
polling: PollingConfig#
workspace: WorkspaceConfig#
hooks: HooksConfig#
agent: AgentConfig#
codex: CodexConfig#
worker: WorkerConfig#
server: ServerConfig#