import type { BridgeResult } from "./model-bridge.js"; export type TaskStepStatus = "planned" | "running" | "done" | "failed" | "skipped" | "blocked"; export type TaskPlanStatus = "planning" | "executing" | "reviewing" | "blocked" | "done" | "failed"; export interface TaskStep { step_id: string; role: string; task: string; depends_on?: string[]; parallel_group?: string; status: TaskStepStatus; result_summary?: string; evidence_refs?: string[]; tool_scope?: string[]; job_id?: string; handoff_id?: string; blocked_reason?: string; } export interface TaskPlan { plan_id: string; task: string; steps: TaskStep[]; status: TaskPlanStatus; execution_mode: "sequential" | "scheduled"; vcx_cursor?: string; } export interface TaskPlanAmendment { steps_to_add?: Array>; add_after_step_id?: string; append_steps?: Array>; prepend_steps?: Array>; remove_step_ids?: string[]; update_steps?: Array<{ step_id: string; patch: Partial>; }>; reorder_step_ids?: string[]; execution_mode?: TaskPlan["execution_mode"]; vcx_cursor?: string; } export interface SupervisorHooks { spawnStep: (step: TaskStep, plan: TaskPlan) => Promise; createHandoff?: (input: { step: TaskStep; plan: TaskPlan; }) => Promise<{ handoff_id: string; }>; ackHandoff?: (handoffId: string, status: "accepted" | "blocked" | "completed", note?: string) => Promise; getVericifyContext?: (plan: TaskPlan) => Promise; getVericifyDelta?: (since: string, context: { plan: TaskPlan; step: TaskStep; result: BridgeResult; }) => Promise; amendPlan?: (input: { plan: TaskPlan; step: TaskStep; result: BridgeResult; vericify_delta?: unknown; }) => Promise | TaskPlan | TaskPlanAmendment | undefined; openCircuitBreaker?: (reason: string, context: { plan: TaskPlan; step: TaskStep; result: BridgeResult; }) => Promise; closeCircuitBreaker?: (reason: string, context: { plan: TaskPlan; }) => Promise; executeGates?: (plan: TaskPlan) => Promise; contextSnapshot?: (plan: TaskPlan) => Promise; emitStatusEvent?: (input: { status: string; summary: string; step_id?: string; }) => Promise; } export interface SupervisorRunResult { plan: TaskPlan; handoff_ids: string[]; job_ids: string[]; circuit_opened: boolean; final_gate?: unknown; } export declare function deriveTaskPlanStatus(plan: TaskPlan): TaskPlanStatus; export declare function createTaskPlan(input: { task: string; steps: Array>; execution_mode?: TaskPlan["execution_mode"]; vcx_cursor?: string; }): TaskPlan; export declare function getReadyTaskSteps(plan: TaskPlan): TaskStep[]; export declare function markTaskStepStatus(plan: TaskPlan, stepId: string, status: TaskStepStatus, patch?: Partial>): TaskPlan; export declare function applyBridgeResultToStep(plan: TaskPlan, stepId: string, result: BridgeResult): TaskPlan; export declare function amendTaskPlan(plan: TaskPlan, amendment: TaskPlanAmendment): TaskPlan; export declare function promoteParallelGroupToScheduler(plan: TaskPlan, parallelGroup: string, owner?: string): Promise<{ plan: TaskPlan; job_ids: string[]; }>; export declare function superviseTaskPlan(inputPlan: TaskPlan, hooks: SupervisorHooks): Promise; //# sourceMappingURL=orchestrator-supervisor.d.ts.map