/** * Config-load validation for action `decision_prompt` placeholder wiring. * * At runtime, `interpolatePrompt()` replaces every `{{word}}` token in an * action's `decision_prompt` using the record produced by the context * builder plus the action's `params`. A placeholder that does not resolve is * left in the rendered prompt as literal `{{foo}}`, which reaches the LLM * and silently degrades the decision quality. Those typos would otherwise * only be discovered on the first signal in production. * * This validator runs post-Zod in `loadRuntimeConfig` so it can rely on the * parsed schema shape and fail fast with a message that names the action, * the unresolved placeholders, and the set of names the runtime actually * provides to the interpolator. */ import type { RuntimeConfig } from "./runtime-schema.js"; /** * Throws when any action's `decision_prompt` references a `{{placeholder}}` * that is not provided by its declared context entries or params. * * The error lists every unresolved placeholder per action plus the names * that would have resolved, so operators can tell whether the fix is a * typo, a missing context entry, or a missing param. * * Actions without a `decision_prompt` are skipped because nothing is * interpolated. Actions with a prompt that contains no `{{placeholder}}` * tokens are also skipped. */ export declare function assertActionPromptPlaceholdersResolvable(config: RuntimeConfig): void; //# sourceMappingURL=validate-action-prompts.d.ts.map