import type { Task, Mission, MissionReport, ActiveDelay, AgentConfig, AgentProcess, ChatSession, SSEEvent } from "../client/types.js"; import type { RuntimePlan } from "../client/runtime-events.js"; import type { ConnectionStatus } from "../client/event-source.js"; export interface PolpoStats { pending: number; running: number; done: number; failed: number; queued: number; } export interface AssessmentProgressEntry { message: string; timestamp: number; } export interface AssessmentCheckStatus { index: number; total: number; type: string; label: string; phase: "started" | "complete"; passed?: boolean; message?: string; timestamp: number; } export interface StoreState { tasks: Map; missions: Map; /** Mission completion reports keyed by missionId. Populated from mission:completed SSE events. */ missionReports: Map; agents: AgentConfig[]; processes: AgentProcess[]; stats: PolpoStats | null; connectionStatus: ConnectionStatus; recentEvents: SSEEvent[]; /** Secret-free runtime decisions keyed by immutable plan id. */ runtimePlans?: ReadonlyMap; /** Most recently observed runtime plan, if any. */ latestRuntimePlanId?: string; missionsStale: boolean; memory: { exists: boolean; content: string; } | null; /** Agent-specific memory keyed by agent name. */ agentMemory: Map; /** Live assessment progress messages keyed by taskId. Cleared on assessment:complete. */ assessmentProgress: Map; /** Per-check status keyed by taskId. Tracks which expectations are running/done. Cleared on assessment:complete. */ assessmentChecks: Map; /** Active delay timers keyed by "group:delayName". Updated from delay:started/delay:expired SSE events. */ activeDelays: Map; /** * Chat sessions keyed by id. Populated by `useSessions()`'s initial fetch * and kept in sync by `useChat` when it observes a new sessionId in the * stream (see issue #41 — without a shared store, `useSessions` consumers * stay stale after a chat creates a session). SSE events * `session:started` upsert here too. */ sessions: Map; } //# sourceMappingURL=types.d.ts.map