import { type ParsedArgs, type Presence, type PresenceCondition } from "@cotal-ai/core"; import { type OutputWarning } from "@cotal-ai/workspace"; import { type SeatCensus } from "./agents.js"; export declare const whoFlags: readonly [{ readonly name: "space"; readonly short: "s"; readonly type: "string"; readonly value: ""; readonly description: "target space (default: the resolved mesh)"; }, { readonly name: "server"; readonly type: "string"; readonly value: ""; readonly description: "broker URL (overrides the mesh registry entry)"; }, { readonly name: "creds"; readonly type: "string"; readonly value: ""; readonly description: "creds file for an off-registry connection"; }, { readonly name: "waiting"; readonly type: "boolean"; readonly description: "only rows that are waiting or report a condition"; }, { readonly name: "all"; readonly type: "boolean"; readonly description: "also list infrastructure endpoints such as the manager"; }, { readonly name: "json"; readonly short: "j"; readonly type: "boolean"; readonly description: "structured output on stdout"; }, { readonly name: "plain"; readonly type: "boolean"; readonly description: "plain line-oriented output"; }]; /** One participant as `who` reports it. `managed` is whether a manager answered for this seat: `null` * when no answering manager could say (and for infrastructure endpoints, which no manager runs). */ export interface WhoRow { readonly name: string; readonly id: string; readonly role: string | null; readonly kind: string; readonly status: Presence["status"]; readonly condition: PresenceCondition | null; readonly activity: string | null; readonly statusSince: string | null; readonly activeAt: string | null; readonly attention: string | null; readonly harness: string | null; readonly model: string | null; readonly host: string | null; readonly managed: boolean | null; readonly lifecycleUid: string | null; } /** What `cotal who` read. `managers` says how `managed` was decided: no manager on the roster, every * manager answered, only some did, this identity may not ask them, or the census could not be read. */ export interface WhoResult { readonly kind: "roster"; readonly view: "current" | "stale" | "unpopulated"; readonly managers: "none-present" | "complete" | "partial" | "denied" | "unread"; readonly hidden: number; readonly items: WhoRow[]; } /** What one manager census says about each seat, matched on the seat's incarnation. A seat a manager * listed is managed. Only a census where every registered instance answered can say a seat is not: * one manager (user mode, which answers for the caller's own seats) or an incomplete census leaves * every other seat unknown, and says so. `warnings` are the parts the census could not read; * `labels` say how far the identity's grant reached, which is not a part left unread. */ export declare function judgeSeats(census: Pick): { managers: "complete" | "partial"; runs: (p: Pick) => boolean | null; warnings: OutputWarning[]; labels: OutputWarning[]; }; /** `cotal who`: the live roster of the selected space, with whether a manager runs each seat. */ export declare function who(args: ParsedArgs): Promise; //# sourceMappingURL=who.d.ts.map