/** * Plan approval/implement/discard/suggest orchestration (PLAN-004, F-021/023, V2-070/073). * * Mirrors the classic TUI's `/implement` path: approve the persisted plan, flip * the session policy flag the agent gate reads, switch to agent mode, then run * the implement prompt. Kept out of `PlanController` (persistence only) and out * of components. */ import { type SessionPlan } from "../../store/plan.js"; import type { AppServices } from "../bootstrap/composition-root.js"; /** Coding / build plans — scaffold + verify. */ export declare const IMPLEMENT_PROMPT_CODING: string; /** Pentest / security plans — no local dev-server assumption. */ export declare const IMPLEMENT_PROMPT_PENTEST: string; export declare const IMPLEMENT_PROMPT: string; export declare function buildImplementPrompt(plan: SessionPlan): string; /** True when plan-ready UI asked the user to type revision feedback next. */ export declare function isAwaitingPlanSuggestion(): boolean; export declare function clearAwaitingPlanSuggestion(): void; export interface PlanSuggestionSubmit { /** Full model-facing revision directive (backend only). */ readonly modelPrompt: string; /** Short YOU bubble — the user's raw feedback only. */ readonly displayPrompt: string; } /** * If the user was prompted to suggest changes, wrap their free-text as a * plan-revision request and keep plan mode. Returns submit payloads, or * undefined if this was not a suggestion capture. */ export declare function consumePlanSuggestionInput(services: AppServices, text: string): PlanSuggestionSubmit | undefined; export declare function implementPlan(services: AppServices): Promise; export declare function discardPlan(services: AppServices): Promise; /** * Enter suggestion capture: next composer submit revises the draft plan. * Mode stays plan; plan-ready reappears after the revision turn if still draft. */ export declare function beginPlanSuggestion(services: AppServices): void; /** * After a turn ends, if a draft plan is waiting, open the plan-ready confirm. * "P" views full plan detail via the suspended-over-confirm pager path. * "S" suggests changes via free-text in the composer. */ export declare function promptPlanApprovalIfNeeded(services: AppServices): Promise;