Expand description
YAML schema for team-compose.yaml and projects/<id>.yaml.
Structs§
- Agent
- Agent
Handle - Agent
Interfaces - Container for per-manager interface adapters. Open shape so adding
discord:/imessage:later is a strictly-additive YAML edit. - Attachment
Scanner - Attachments
- Auto
Approve - Broker
- Budget
- Channel
- Compose
- Fully loaded compose tree: global + resolved projects.
- Global
- Top-level
team-compose.yaml. - Hitl
- Hook
Spec - One per-agent Claude Code hook declared in compose (#383 Phase 2).
- Image
Model Config - #132 PR-1: AI image-generation config for child-bot profile
pictures. Mirrors the
SttConfigshape (provider / api_key_env / model). v1 provider isopenai; adding a future provider is one match arm in the call site. - Interface
- Manager
BotConfig - #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).
- Profile
Picture Config - #132 PR-1: profile-picture rendering settings for spawned child
bots.
image_modelis opt-in for AI-generated avatars;fallbacknames the rendering used whenimage_modelis 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. - Project
Interfaces - #132 PR-1: project-scoped interface container. One level up from
AgentInterfaces, same open-shape rationale — today’s only adapter istelegram, futurediscord:/imessage:slot in as strictly-additive YAML edits. - Project
Meta - Project
Ref - Project
Telegram Config - #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-agentAgent.interfaces.telegramblock (zero-touch). - Rate
Limit Hook - One named action that can run on a rate-limit hit.
- Rate
Limits - Rate-limit handling policy.
- Schema
Version - T-265 PR-a: compose schema version. Stored as a semver string;
validate-time check (
validate::validate) enforces the semver shape via thesemvercrate. - 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 inteam-bot’s transcribe function. - Supervisor
Cfg - Telegram
Config - 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§
- Channel
Members - Effort
Level - 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. - Profile
Picture Fallback - #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 omittingfallback:in YAML keeps the contract. - Role
Prompt - Reference to one or more role-instruction markdown files.