/** * [WHO]: TeamStateStore class — durable teammate persistence * [FROM]: Depends on node:fs/promises, node:path, node:os, ./team-types * [TO]: Consumed by team-runtime.ts * [HERE]: extensions/builtin/team/team-state-store.ts - one JSON file per teammate under /teams/ * * Deliberately independent of core SessionManager. Per refactor plan: * "team-state-store 自己负责 teammate 历史 ... SessionManager 只负责主会话". */ import type { PersistedTeammate } from "./team-types.js"; /** * Resolve the agent dir using the canonical getAgentDir() from config.ts. * Previously used NANOPENCIL_AGENT_DIR env directly (wrong name — should be * CATUI_CODING_AGENT_DIR). Now reuses the single source of truth. */ export declare class TeamStateStore { private readonly dir; constructor(storageDir?: string); /** Absolute storage directory for teammates. */ get directory(): string; private fileFor; private ensureDir; /** Load all persisted teammates. Skips corrupt files. */ loadAll(): Promise; /** Save (overwrite) one teammate record. */ save(state: PersistedTeammate): Promise; /** Remove a teammate's persisted file. No-op if missing. */ remove(id: string): Promise; }