import { type EvidenceReference } from "../evidence/store.js"; import { runCodexStructured } from "../providers/codex-exec.js"; import { type LinuxProcessIdentity } from "../runtime/process-identity.js"; import { createRuntimeDispatchAuthorities } from "./runtime-authority.js"; import { type DispatchIntent } from "./intent.js"; type RuntimeAuthorities = ReturnType; type CodexStructuredRunner = typeof runCodexStructured; export interface DispatchAdviceProgress { readonly status: "approved" | "revision-required" | "vetoed" | "blocked"; readonly advice_id: string; readonly dispatch_intent_sha256: string; readonly advisor_evidence: EvidenceReference | null; readonly summary: string | null; readonly recommendations: readonly string[]; readonly risks: readonly string[]; readonly reason: string | null; } export interface DispatchAdviceService { advise(input: DispatchIntent): DispatchAdviceProgress; } export declare function createDispatchAdviceService(options: { packageRoot: string; configRoot?: string; workspaceRoot: string; stateRoot: string; env?: NodeJS.ProcessEnv; clock?: () => string; runtime?: RuntimeAuthorities; codexStructured?: CodexStructuredRunner; processIdentity?: () => LinuxProcessIdentity; processIsLive?: (identity: LinuxProcessIdentity) => boolean; }): DispatchAdviceService; export declare function assertDispatchAdviceService(value: unknown): asserts value is DispatchAdviceService; export {};