Skip to main content

Module compose

Module compose 

Source
Expand description

YAML schema for team-compose.yaml and projects/<id>.yaml.

Structs§

Agent
AgentHandle
AgentInterfaces
Container for per-manager interface adapters. Open shape so adding discord: / imessage: later is a strictly-additive YAML edit.
AttachmentScanner
Attachments
AutoApprove
Broker
Budget
Channel
Compose
Fully loaded compose tree: global + resolved projects.
Global
Top-level team-compose.yaml.
Hitl
HookSpec
One per-agent Claude Code hook declared in compose (#383 Phase 2).
ImageModelConfig
#132 PR-1: AI image-generation config for child-bot profile pictures. Mirrors the SttConfig shape (provider / api_key_env / model). v1 provider is openai; adding a future provider is one match arm in the call site.
Interface
ManagerBotConfig
#132 PR-1: manager-bot config. Mirrors the env-var-name pattern of TelegramConfig.bot_token_env — the actual BotFather token lives in .team/.env, this field names the env var that holds it.
McpServer
One per-agent MCP server declared in compose (#383 Phase 4).
ProfilePictureConfig
#132 PR-1: profile-picture rendering settings for spawned child bots. image_model is opt-in for AI-generated avatars; fallback names the rendering used when image_model is absent OR generation fails OR the API key is missing. Q3 (owner-ratified, tg 3445): initials-in-colored-circle, no embedded emoji-font binary growth.
Project
Per-project file, e.g. projects/hello.yaml.
ProjectInterfaces
#132 PR-1: project-scoped interface container. One level up from AgentInterfaces, same open-shape rationale — today’s only adapter is telegram, future discord: / imessage: slot in as strictly-additive YAML edits.
ProjectMeta
ProjectRef
ProjectTelegramConfig
#132 PR-1: project-scoped Telegram config. Hosts the shared-infra fields (manager bot, profile-picture defaults) that drive the managed-bots flow in teamctl bot setup. Absent / both fields absent → existing manual BotFather walkthrough runs verbatim for each per-agent Agent.interfaces.telegram block (zero-touch).
RateLimitHook
One named action that can run on a rate-limit hit.
RateLimits
Rate-limit handling policy.
SchemaVersion
T-265 PR-a: compose schema version. Stored as a semver string; validate-time check (validate::validate) enforces the semver shape via the semver crate.
SttConfig
Speech-to-text settings for the per-manager Telegram bot. The provider arm is the only switch v1 needs (groq); adding OpenAI Whisper or whisper.cpp later is one match arm in team-bot’s transcribe function.
SupervisorCfg
TelegramConfig
Per-manager Telegram bot config. Both fields are env-var names — the actual token/chat-ids live in .team/.env (kept out of git).

Enums§

ChannelMembers
EffortLevel
Reasoning-effort level forwarded to the runtime. Maps 1:1 to claude --effort <value> today; if the runtime taxonomy evolves we extend the enum and bump the schema version.
ProfilePictureFallback
#132 PR-1: profile-picture fallback rendering. Q3-ratified to initials-in-colored-circle for v1. Enum-shaped so future variants (e.g. Emoji, None) land additively; current single variant is the default so omitting fallback: in YAML keeps the contract.
RolePrompt
Reference to one or more role-instruction markdown files.