import { SupervisorInput } from "../contracts/supervisor/supervisor-input.type.mjs"; import { IterationSnapshot } from "../contracts/supervisor/iteration-snapshot.type.mjs"; import { ResolvedIntentEntry } from "./entries.mjs"; //#region ../ai/src/supervisor/router-prompt.d.ts /** * Build the per-turn user message the supervisor feeds to the router * agent. Carries everything the LLM needs to make a routing decision: * * - Available intents with descriptions (so the router knows what * to pick from). * - The reserved `END` sentinel value it can emit to terminate. * - Iteration counter + ceiling so the router can pace itself. * - Compact history of prior iterations (intent + short output clip). * - The supervisor's original input so the router stays anchored. * * Note the router's own `systemPrompt` is kept persistent across * turns — this function produces only the per-turn USER message. */ declare function buildRouterContextMessage(params: { entries: Map; iteration: number; maxIterations: number; iterations: IterationSnapshot[]; input: SupervisorInput; /** * Per-execute state at the START of this iteration (post-merge of * the previous iteration). Rendered as a JSON snippet so the * router can pick the next intent based on what's already filled * in (Q14). */ state?: Record; /** * Reviewer feedback string from the previous iteration's evaluate * verdict. Rendered as its own section so the router weighs it * alongside the intent list (Q18). */ feedback?: string; /** * Supervisor-level system prompt text, when configured. Surfaced at * the TOP of the router's per-turn user message so the router reads * team/domain context before the routing mechanics block. Skipped * when the supervisor didn't configure `systemPrompt`. */ supervisorPrompt?: string; /** * Resolved natural-language objective from `SupervisorConfig.goal`. * Surfaced as its own labeled section near the top of the router's * user message so routing decisions are objective-aware. Skipped * when no goal was configured. */ goal?: string; }): string; //#endregion export { buildRouterContextMessage }; //# sourceMappingURL=router-prompt.d.mts.map