/** * Noah — Store Type Definitions * * Abstract interfaces for temporal data persistence. * Phase 1: JSON file store. Phase 2: PostgreSQL adapter. */ import { TemporalState } from '../types/temporal-state.js'; import { TemporalAssessmentRecord } from '../types/assessment-record.js'; import { EthicalFlightPlan } from '../types/flight-plan.js'; export interface TemporalStateStore { getState(agentId: string): Promise; saveState(state: TemporalState): Promise; getActiveFlightPlan(agentId: string): Promise; saveFlightPlan(plan: EthicalFlightPlan): Promise; supersedePlan(planId: string): Promise; appendAssessmentRecord(agentId: string, record: TemporalAssessmentRecord): Promise; getAssessmentRecords(agentId: string, limit?: number): Promise; getLastAssessmentRecord(agentId: string): Promise; getTriggeredWaypointIds(agentId: string): Promise>; saveTriggeredWaypoint(agentId: string, waypointId: string): Promise; getLastHash(agentId: string): Promise; } export interface JsonStoreConfig { /** Root directory for all Noah data. Default: .noah-data */ dataDir: string; /** Optional memory writer for searchable memory files. */ memoryWriter?: MemoryWriterLike; } /** * Minimal interface for memory writing — satisfied by MemoryWriter from * @aiassesstech/mighty-mark. Defined here to avoid build-time coupling. */ export interface MemoryWriterLike { write(opts: { agent: string; type: string; tags: string[]; title: string; body: string; date?: string; metadata?: Record; }): Promise; } //# sourceMappingURL=types.d.ts.map