/** * The pre-spawn gate for extension-registered options (map #300, ticket * #302 decision 2): when a parsed option's spec declares a probe, verify * against the installed harness BEFORE anything is spawned - the same * pre-spawn seam as the resume guard. Fail raises the exit-2 * `extension-option-unavailable` refusal (#303 decision 1); pass returns * the verified records so the caller prints the lazy provenance line * (#303 decision 2). Bare runs and option-free runs never probe (map * out-of-scope line). */ import type { ExtensionProbeOutcome } from "../execution/extension-probe.js"; import type { HarnessDescriptor, TurnOptionKey } from "../knowledge/descriptor.js"; export type ExtensionProbeFn = (h: HarnessDescriptor, probe: import("../knowledge/descriptor.js").OptionProbe, opts: { readonly cwd?: string; readonly env?: Readonly>; }) => Promise; export interface ExtensionVerified { readonly option: TurnOptionKey; readonly value: string; readonly providedBy: string; } export declare const gateExtensionOptions: (h: HarnessDescriptor, opts: { readonly agent?: string; } & Record, extra: { readonly cwd?: string; readonly env?: Readonly>; }, probe: ExtensionProbeFn) => Promise; export declare const writeExtensionProvenance: (verified: readonly ExtensionVerified[]) => void; //# sourceMappingURL=extension-gate.d.ts.map