/** * FORGE State Types * Based on state/STATE.json schema */ export type TaskStatus = 'pending' | 'in_progress' | 'completed' | 'blocked'; export type EventType = 'TASK_STARTED' | 'TASK_COMPLETED' | 'TASK_BLOCKED' | 'REQUEST_CONTRACT' | 'CONTRACT_PUBLISHED' | 'REVIEW_FINDING' | 'REVIEW_RESOLVED'; export interface Task { id: string; title: string; ownerRole: string; status: TaskStatus; deps: string[]; allowedPaths: string[]; acceptance: string[]; verify: string[]; commit: string | null; requests: string[]; priority: number; } export interface Contract { id: string; path: string; version: string; publishedBy: string; consumers: string[]; } export interface ProjectState { name: string; status: string; currentMilestone: string; currentPhase: number; } export interface EventPayload { [key: string]: any; commitHash?: string; filesChanged?: string[]; testsRun?: number; testsPassed?: number; reason?: string; findings?: any[]; } export interface StateEvent { eventId: string; timestamp: string; taskId: string; actor: string; type: EventType; payload: EventPayload; } export interface ForgeState { project: ProjectState; tasks: Task[]; contracts: Contract[]; eventsPointer: string; } //# sourceMappingURL=state.d.ts.map