pub struct TeamSnapshot {
pub root: PathBuf,
pub team_name: String,
pub agents: Vec<AgentInfo>,
pub channels: Vec<ChannelInfo>,
}Fields§
§root: PathBufPath to the .team/ discovered by walk-up (the compose root).
team_name: StringHuman label from team-compose.yaml::projects[].project.name
— falls back to the project id when name is empty.
agents: Vec<AgentInfo>Agents in deterministic order: managers first, then workers,
each group sorted by id. Roster navigation (↑ / ↓) walks
this slice directly.
channels: Vec<ChannelInfo>Channels declared across every project file. Drives the PR-UI-6 broadcast picker + the Mailbox-first layout’s channel list.
Implementations§
Source§impl TeamSnapshot
impl TeamSnapshot
Sourcepub fn empty(root: PathBuf) -> Self
pub fn empty(root: PathBuf) -> Self
Build an empty snapshot rooted at the given path. Used by
tests and as the rendered shape when no .team/ is reachable.
Sourcepub fn discover_and_load() -> Result<Option<Self>>
pub fn discover_and_load() -> Result<Option<Self>>
Walk up from cwd to find the nearest .team/, parse the
compose tree, query supervisor + mailbox state per agent,
and return the assembled snapshot. Returns Ok(None) when
no .team/ is reachable — the UI renders the empty state in
that case rather than panicking.
Trait Implementations§
Source§impl Clone for TeamSnapshot
impl Clone for TeamSnapshot
Source§fn clone(&self) -> TeamSnapshot
fn clone(&self) -> TeamSnapshot
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for TeamSnapshot
impl RefUnwindSafe for TeamSnapshot
impl Send for TeamSnapshot
impl Sync for TeamSnapshot
impl Unpin for TeamSnapshot
impl UnsafeUnpin for TeamSnapshot
impl UnwindSafe for TeamSnapshot
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more