/** * Free-form intent interpreter. * * Converts a free_form_intent string from IntentCheckpoint into structured * priority/lens/scope signals consumed at planning time. The verbatim string * is NEVER threaded into worker or dispatch prompts (INV-S04). * * All logic is pure and synchronous — no I/O, no LLM calls. */ import { LENS_KEYWORD_MAP, SCOPE_PATTERNS, PRIORITY_PATTERNS } from "./sharedIntentData.js"; import type { Lens } from "../types/lens.js"; export { LENS_KEYWORD_MAP, SCOPE_PATTERNS, PRIORITY_PATTERNS }; /** Structured output emitted by interpretFreeFormIntent. */ export interface InterpretedIntent { /** * Per-lens weight multipliers. A lens present here should receive boosted * priority during planning (default boost = 1.5). Absent lenses get * weight 1.0 (unchanged). */ lensWeights: Partial>; /** * Clauses signalling urgency / high importance (e.g. "urgent", "critical", * "most important"). Used to front-load planning work. */ prioritySignals: string[]; /** * INCLUSION-polarity clauses that narrow scope IN (e.g. "focus on the auth * module", "only audit src/"). Never carries an exclusion clause — see * {@link scopeExclusions} — so a consumer boosting by scope match cannot * accidentally boost the scope the user asked to avoid (COR-a0648a7d). */ scopeEmphasis: string[]; /** * EXCLUSION-polarity clauses that narrow scope OUT (e.g. "ignore vendor/", * "skip tests/"). Kept in a DEDICATED field, never merged into * {@link scopeEmphasis}, so a consumer can tell "the user wants this in * focus" from "the user wants this avoided" without re-parsing the lead-in * verb itself (the sign-convention bug COR-a0648a7d / COR-a0648a7d-2). */ scopeExclusions: string[]; /** * Clauses that could not be encoded as a lens weight, scope emphasis, or * priority signal. Callers SHOULD promote these to blocking checkpoint * questions rather than silently dropping them. */ unencodableClauses: string[]; } /** * Interpret a free-form intent string into structured planning signals. * * - Empty / blank → zero-weight result with empty arrays. * - Verbatim input string never appears in any output field. * - Pure / synchronous — safe to call in deterministic planning paths. */ export declare function interpretFreeFormIntent(input: string): InterpretedIntent; //# sourceMappingURL=freeFormIntentInterpreter.d.ts.map