/** * run:iterate command - Execute one orchestration iteration * * This command: * 1. Calls on-iteration-start hooks to get orchestration decisions * 2. Returns effects to stdout as JSON * 3. External orchestrator (skill) performs the effects * 4. Calls on-iteration-end hooks for finalization * * The command does NOT loop - it handles exactly one iteration. */ import type { EffectAction } from "../../runtime/types"; /** * Pin the active harness adapter to the harness recorded in run.json so that * run:iterate honors the run's recorded harness instead of re-detecting it from * the ambient environment (issue #949). Re-detection is unreliable: a run * created with `--harness claude-code` could otherwise resolve a different * harness (e.g. one whose caller env vars happen to be set), then hard-fail on * adapter resolution. Falls through to the existing env-based detection when no * harness is recorded or the recorded harness is unknown to the registry. * * @returns true when the active adapter was pinned to the recorded harness. */ export declare function pinActiveAdapterToRecordedHarness(harness: string | undefined): boolean; export interface RunIterateOptions { runDir: string; iteration?: number; verbose?: boolean; json?: boolean; /** * Capabilities declared by the active harness adapter. * Used to gate parallel-group and background-classification enrichment. * When absent, no enrichment is applied (backward-compatible). */ harnessCapabilities?: string[]; } export interface RunIterateResult { iteration: number; iterationCount: number; status: "executed" | "waiting" | "completed" | "halted" | "failed" | "none"; action?: string; reason?: string; count?: number; until?: number; nextActions?: EffectAction[]; completionProof?: string; payload?: Record; /** Parallel groups keyed by parallelGroupId. Only when harness declares concurrent-effects. */ parallelGroups?: Record; /** Background vs foreground classification. Only when harness declares background-effects. */ backgroundClassification?: { blocking: EffectAction[]; background: EffectAction[]; }; warnings?: string[]; metadata?: { runId: string; processId: string; hookStatus?: string; }; } export declare function runIterate(options: RunIterateOptions): Promise; //# sourceMappingURL=runIterate.d.ts.map