/** * AgentBoardroom — State Persistence Manager * * Manages saving/loading of runtime state so the Boardroom survives restarts. * State includes: active sessions, cron job IDs, channel mappings, and timestamps. * * @module adapters/openclaw/state */ /** Runtime state that persists across restarts */ export interface BoardroomState { /** When the boardroom was started */ started_at: string; /** When state was last saved */ updated_at: string; /** Active agent sessions: role → session ID */ sessions: Record; /** Active cron job IDs: name → job ID */ cronJobs: Record; /** Channel mappings: logical name → platform channel ID */ channels: Record; /** Board config path used */ configPath: string; /** PID of the running process (for stop command) */ pid: number; /** Status */ status: 'running' | 'stopped' | 'error'; } export declare class StateManager { private statePath; constructor(stateDir: string); /** Load existing state or return defaults */ load(): BoardroomState; /** Save state to disk */ save(state: BoardroomState): void; /** Check if a boardroom is currently running */ isRunning(): boolean; /** Mark as running */ markRunning(configPath: string): BoardroomState; /** Mark as stopped */ markStopped(): void; /** Record a spawned session */ recordSession(role: string, sessionId: string): void; /** Record a cron job */ recordCronJob(name: string, jobId: string): void; /** Record a channel mapping */ recordChannel(name: string, channelId: string): void; /** Get state file path */ get path(): string; } //# sourceMappingURL=state.d.ts.map