pub struct Project {
pub version: u32,
pub project: ProjectMeta,
pub channels: Vec<Channel>,
pub managers: BTreeMap<String, Agent>,
pub workers: BTreeMap<String, Agent>,
pub interfaces: Option<ProjectInterfaces>,
}Expand description
Per-project file, e.g. projects/hello.yaml.
Fields§
§version: u32§project: ProjectMeta§channels: Vec<Channel>§managers: BTreeMap<String, Agent>§workers: BTreeMap<String, Agent>§interfaces: Option<ProjectInterfaces>Project-scoped human-facing interfaces (#132 PR-1). Mirrors the
per-agent Agent.interfaces shape one level up — telegram is
today’s only adapter, with room for future discord: /
imessage: under the same ProjectInterfaces container. Hosts
the shared bot-family config (manager bot for managed-bots flow,
profile-picture defaults) that’s scoped to one project’s bot
family but spawns N per-agent children — not per-agent because
it’s shared infra, not global because each project deserves its
own bot-family identity. Absent → existing manual BotFather
per-manager flow runs verbatim (zero-touch).
Implementations§
Source§impl Project
impl Project
Sourcepub fn telegram(&self) -> Option<&ProjectTelegramConfig>
pub fn telegram(&self) -> Option<&ProjectTelegramConfig>
Convenience: pull the project’s Telegram config out of
interfaces.telegram without forcing every callsite to handle
the nested options. Mirrors Agent::telegram.