/** * Cross-harness support derivation: pure functions that answer "which * harnesses express this option, and under what native spelling" from the * descriptor set. Phase 3 (D7): refusal diagnostics derive support lists at * runtime instead of hardcoding them, so a descriptor edit can never leave * a refusal message stale. The autonomy refusal in argv.ts was the * counter-pattern - a hardcoded flag array that drifts on descriptor * change. * * Interpretation-layer pure function; takes the descriptor set as an * argument rather than importing the defaults, so override sets work. */ import type { DescriptorSet } from "../knowledge/overrides.js"; import type { RefusalOption } from "./refusal.js"; export interface SupportEntry { readonly harness: string; /** The native spelling a caller would use directly on that harness. */ readonly spelling: string; } /** Every harness in the set that can express `option`, with its native * spelling. Ordered by the set's insertion order (defaults: claude, codex, * pi, muse) so output is stable across calls. */ export declare const supportedBy: (set: DescriptorSet, option: RefusalOption) => readonly SupportEntry[]; export declare const supportedByCanonical: (set: DescriptorSet, canonical: string) => readonly SupportEntry[]; /** Reverse lookup for native-spelling recognition (D7 part B): given a raw * flag token a caller typed, find the option it belongs to and which * harnesses spell it that way. Returns null for tokens no descriptor * knows - those keep the plain unknown-flag error. */ export declare const recognizeNativeSpelling: (set: DescriptorSet, flag: string) => { readonly option: RefusalOption; readonly entries: readonly SupportEntry[]; } | null; //# sourceMappingURL=support.d.ts.map