/** * fleet-status-tool — read-only live peer snapshot for any agent. * * The pull half of peer awareness (the push half is the fleet-pulse * digest): any agent — leader or fleet subagent — can ask "who else is * working on this project right now, and on what?" before starting work * that might overlap, or when deciding whether to wait or proceed. * * Data source: the project mailbox registry (`getAgentStatuses`), which is * cross-process by construction. When the host passes `getLocalAgents` * (an AgentStatusTracker view), same-process entries are enriched with the * richer live fields the registry doesn't carry (ctxPct, costUsd, * partialText tail). * * @module fleet-status-tool */ import type { EventBus } from '../kernel/events.js'; import type { AgentEntry } from '../session-registry.js'; import type { Tool } from '../types/tool.js'; import { type MailboxResolver } from './mailbox-tool.js'; export interface FleetStatusToolOptions { /** How to obtain a Mailbox given the execution Context (tests). */ resolveMailbox?: MailboxResolver | undefined; /** Project dir for the shared mailbox. Prefer wpaths.projectDir. */ projectDir?: string | undefined; /** EventBus for mailbox registration surface events. */ events?: EventBus | undefined; /** * Same-process rich agent state (AgentStatusTracker snapshot). Merged * into registry rows by name when provided — cross-process peers keep * registry-only fields. */ getLocalAgents?: (() => AgentEntry[]) | undefined; } export declare function makeFleetStatusTool(opts?: FleetStatusToolOptions): Tool; //# sourceMappingURL=fleet-status-tool.d.ts.map