import type { Artifact } from "./artifact.types.js"; import type { DesignPhase, EventType, OutputFormat, SessionStatus } from "./common.types.js"; import type { ConstraintRule } from "./constraint.types.js"; import type { CoverageReport } from "./coverage.types.js"; import type { MethodologyProfile, MethodologySelection, MethodologySignals } from "./methodology.types.js"; export interface DesignSessionConfig { sessionId: string; context: string; goal: string; requirements: string[]; constraints: ConstraintRule[]; coverageThreshold: number; enablePivots: boolean; templateRefs: string[]; outputFormats: OutputFormat[]; metadata: Record; methodologySignals?: MethodologySignals; forcedMethodology?: string; } export type { DesignPhase } from "./common.types.js"; export interface DesignSessionState { config: DesignSessionConfig; currentPhase: string; phases: Record; coverage: CoverageReport; artifacts: Artifact[]; history: SessionEvent[]; status: SessionStatus; methodologySelection?: MethodologySelection; methodologyProfile?: MethodologyProfile; } export interface SessionEvent { timestamp: string; type: EventType; phase?: string; description: string; data?: Record; } /** * Gateway-compatible session state format for PolyglotGateway rendering. * * This interface represents the SessionState format expected by the gateway layer * when rendering Spec-Kit artifacts. It bridges the gap between DesignSessionState * and the domain's SessionState format. */ export interface GatewaySessionState { id: string; phase: string; currentPhase?: string; config: { sessionId: string; context: Record; goal?: string; requirements?: unknown; constraints?: unknown; metadata?: Record; }; context: Record; phases?: Record; coverage?: unknown; artifacts?: Record; status?: string; history: Array<{ from: string; to: string; timestamp?: string; type?: string; description?: string; }>; } //# sourceMappingURL=session.types.d.ts.map