/** * IAuditStore / FileAgentStore — Persistence for agent registrations and task locks. * * Stores data in `.ido4/agent-locks.json` for crash recovery. * In-memory Map is the primary store; file is written on each mutation. */ import type { ILogger } from '../../shared/logger.js'; export interface AgentRegistration { agentId: string; name: string; role: 'coding' | 'review' | 'testing' | 'documentation' | 'general'; capabilities?: string[]; } export interface RegisteredAgent extends AgentRegistration { registeredAt: string; lastHeartbeat: string; } export interface TaskLock { issueNumber: number; agentId: string; acquiredAt: string; expiresAt: string; } export interface AgentStoreData { agents: Record; locks: Record; } export interface IAgentStore { load(): Promise; save(data: AgentStoreData): Promise; } export declare class FileAgentStore implements IAgentStore { private readonly logger; private readonly filePath; constructor(projectRoot: string, logger: ILogger); load(): Promise; save(data: AgentStoreData): Promise; } //# sourceMappingURL=agent-store.d.ts.map