import type { ActiveRun, GateResult, KdQuestion } from "./types.ts"; import { type KdActionRoute } from "./action-router.ts"; import { type KdConsistencyReport } from "./consistency.ts"; import { type KdNextAction } from "./next-action.ts"; export type KdControlFocus = "consistency" | "blocking-question" | "resume-snapshot" | "gate" | "phase"; export type KdTurnInputIntent = "consistency-required" | "answer-required" | "resume-required" | "gate-required" | "phase-input"; export interface KdTurnInputPolicy { intent: KdTurnInputIntent; inputSummary: string; requiredFirstAction: string; allowedInterpretations: string[]; forbiddenInterpretations: string[]; actionRoute: KdActionRoute; } export interface KdControlFrame { runId: string; goal?: string; mode: ActiveRun["mode"]; phase: ActiveRun["phase"]; phaseOrder: string[]; focus: KdControlFocus; primaryDirective: string; nextAction: KdNextAction; consistency: KdConsistencyReport; gate: GateResult; openQuestion?: KdQuestion; resumeSnapshot?: ActiveRun["resumeSnapshot"]; facts: string; turnInputPolicy: KdTurnInputPolicy; contextPriority: string[]; } export declare function buildControlFrame(cwd: string, run: ActiveRun, userText?: string): KdControlFrame; export declare function formatControlFrame(frame: KdControlFrame): string;