import { z } from 'zod'; export declare enum SessionPhase { INITIALIZATION = "initialization", PLANNING = "planning", EXECUTION = "execution", VALIDATION = "validation", COMPLETION = "completion", ERROR_RECOVERY = "error_recovery" } export declare enum ArtifactType { CODE = "code", DOCUMENTATION = "documentation", TEST = "test", CONFIG = "config", OTHER = "other" } export declare const ArtifactSchema: z.ZodObject<{ id: z.ZodString; type: z.ZodNativeEnum; path: z.ZodString; content: z.ZodString; version: z.ZodNumber; createdAt: z.ZodDate; updatedAt: z.ZodDate; checksum: z.ZodOptional; }, "strip", z.ZodTypeAny, { id: string; path: string; type: ArtifactType; createdAt: Date; content: string; version: number; updatedAt: Date; checksum?: string | undefined; }, { id: string; path: string; type: ArtifactType; createdAt: Date; content: string; version: number; updatedAt: Date; checksum?: string | undefined; }>; export type Artifact = z.infer; export declare const LogEntrySchema: z.ZodObject<{ id: z.ZodString; timestamp: z.ZodDate; level: z.ZodEnum<["ERROR", "WARN", "INFO", "DEBUG", "TRACE"]>; message: z.ZodString; context: z.ZodOptional>; source: z.ZodString; }, "strip", z.ZodTypeAny, { id: string; message: string; timestamp: Date; level: "ERROR" | "WARN" | "INFO" | "DEBUG" | "TRACE"; source: string; context?: Record | undefined; }, { id: string; message: string; timestamp: Date; level: "ERROR" | "WARN" | "INFO" | "DEBUG" | "TRACE"; source: string; context?: Record | undefined; }>; export type LogEntry = z.infer; export declare const ErrorSchema: z.ZodObject<{ id: z.ZodString; timestamp: z.ZodDate; type: z.ZodString; message: z.ZodString; stack: z.ZodOptional; context: z.ZodOptional>; resolved: z.ZodDefault; resolution: z.ZodOptional; }, "strip", z.ZodTypeAny, { id: string; message: string; type: string; timestamp: Date; resolved: boolean; context?: Record | undefined; stack?: string | undefined; resolution?: string | undefined; }, { id: string; message: string; type: string; timestamp: Date; context?: Record | undefined; stack?: string | undefined; resolved?: boolean | undefined; resolution?: string | undefined; }>; export type SessionError = z.infer; export declare const SessionStateSchema: z.ZodObject<{ sessionId: z.ZodString; missionId: z.ZodString; repository: z.ZodString; ccInstanceId: z.ZodString; currentPhase: z.ZodNativeEnum; phase: z.ZodOptional>; completedTasks: z.ZodArray; pendingTasks: z.ZodArray; completedDoDCriteria: z.ZodDefault>; artifacts: z.ZodArray; path: z.ZodString; content: z.ZodString; version: z.ZodNumber; createdAt: z.ZodDate; updatedAt: z.ZodDate; checksum: z.ZodOptional; }, "strip", z.ZodTypeAny, { id: string; path: string; type: ArtifactType; createdAt: Date; content: string; version: number; updatedAt: Date; checksum?: string | undefined; }, { id: string; path: string; type: ArtifactType; createdAt: Date; content: string; version: number; updatedAt: Date; checksum?: string | undefined; }>, "many">; logs: z.ZodArray; message: z.ZodString; context: z.ZodOptional>; source: z.ZodString; }, "strip", z.ZodTypeAny, { id: string; message: string; timestamp: Date; level: "ERROR" | "WARN" | "INFO" | "DEBUG" | "TRACE"; source: string; context?: Record | undefined; }, { id: string; message: string; timestamp: Date; level: "ERROR" | "WARN" | "INFO" | "DEBUG" | "TRACE"; source: string; context?: Record | undefined; }>, "many">; errors: z.ZodArray; context: z.ZodOptional>; resolved: z.ZodDefault; resolution: z.ZodOptional; }, "strip", z.ZodTypeAny, { id: string; message: string; type: string; timestamp: Date; resolved: boolean; context?: Record | undefined; stack?: string | undefined; resolution?: string | undefined; }, { id: string; message: string; type: string; timestamp: Date; context?: Record | undefined; stack?: string | undefined; resolved?: boolean | undefined; resolution?: string | undefined; }>, "many">; iterations: z.ZodDefault; timestamp: z.ZodDate; lastCheckpoint: z.ZodOptional; metadata: z.ZodOptional>; phaseHistory: z.ZodOptional>; }, "strip", z.ZodTypeAny, { repository: string; currentPhase: SessionPhase; timestamp: Date; sessionId: string; missionId: string; ccInstanceId: string; completedTasks: string[]; pendingTasks: string[]; completedDoDCriteria: string[]; artifacts: { id: string; path: string; type: ArtifactType; createdAt: Date; content: string; version: number; updatedAt: Date; checksum?: string | undefined; }[]; logs: { id: string; message: string; timestamp: Date; level: "ERROR" | "WARN" | "INFO" | "DEBUG" | "TRACE"; source: string; context?: Record | undefined; }[]; errors: { id: string; message: string; type: string; timestamp: Date; resolved: boolean; context?: Record | undefined; stack?: string | undefined; resolution?: string | undefined; }[]; iterations: number; metadata?: Record | undefined; phase?: SessionPhase | undefined; lastCheckpoint?: Date | undefined; phaseHistory?: string[] | undefined; }, { repository: string; currentPhase: SessionPhase; timestamp: Date; sessionId: string; missionId: string; ccInstanceId: string; completedTasks: string[]; pendingTasks: string[]; artifacts: { id: string; path: string; type: ArtifactType; createdAt: Date; content: string; version: number; updatedAt: Date; checksum?: string | undefined; }[]; logs: { id: string; message: string; timestamp: Date; level: "ERROR" | "WARN" | "INFO" | "DEBUG" | "TRACE"; source: string; context?: Record | undefined; }[]; errors: { id: string; message: string; type: string; timestamp: Date; context?: Record | undefined; stack?: string | undefined; resolved?: boolean | undefined; resolution?: string | undefined; }[]; metadata?: Record | undefined; phase?: SessionPhase | undefined; completedDoDCriteria?: string[] | undefined; iterations?: number | undefined; lastCheckpoint?: Date | undefined; phaseHistory?: string[] | undefined; }>; export type SessionState = z.infer; export interface SessionContext { state: SessionState; previousStates: SessionState[]; totalDuration: number; averageIterationTime: number; successRate: number; } export interface SessionManager { createSession(missionId: string, repository: string): Promise; loadSession(sessionId: string): Promise; saveSession(state: SessionState): Promise; updatePhase(sessionId: string, phase: SessionPhase): Promise; addArtifact(sessionId: string, artifact: Artifact): Promise; addError(sessionId: string, error: SessionError): Promise; checkpoint(sessionId: string): Promise; recover(sessionId: string): Promise; } //# sourceMappingURL=session.d.ts.map