/** * Verdict-request prompt assembly for the LLM-role copilot mode. * * This module is the PROMPT-LEVEL safety surface of the turn-end decision * pipeline. Per user decision 5, ALL destructive-operation and * human-in-the-loop (HITL) caution lives HERE as advisory guidance text for * the LLM role — there is deliberately NO code-level guardrail or * enforcement logic anywhere in the pipeline (pattern-blocking of * destructive ops was explicitly removed by user decision). The role acts * freely; the guidance is exactly that: guidance, not a gate. * * The module owns no pipeline logic and no I/O — it only assembles prompt * text. The transcript it embeds comes from src/copilot/transcript.ts; * injected replies are stamped with the COPILOT_MARKER by the injection * layer, not here. */ export interface VerdictPromptOptions { /** Session id stamped into the role-identity header. */ sid: string; /** * Assembled role-labeled transcript of the tail window * (src/copilot/transcript.ts); embedded verbatim in the TRANSCRIPT section. */ transcript: string; /** * Custom guidance from `llm.guidance` in the copilot config. When present, * it REPLACES the entire default GUIDANCE block (replace-if-present * semantics — user-approved decision). Absent -> the default advisory * guidance is used. Still advisory: never enforced in code. */ guidance?: string; } /** * Build the copilot verdict-request prompt for the LLM role. * * Structure: * 1. Role-identity header naming the session. * 2. GUIDANCE block — default advisory text, or the configured * `llm.guidance` replacing it wholesale. * 3. TRANSCRIPT section embedding the assembled transcript string. * 4. VERDICT CONTRACT section fixing the exact JSON reply shape. * * Pure string assembly: no I/O, no side effects, no guardrails. */ export declare function buildVerdictPrompt(opts: VerdictPromptOptions): string; //# sourceMappingURL=prompt.d.ts.map