/** * Markdown template loader * * Loads prompt strings from Markdown template files (.md), * applies {{variable}} substitution and {{#if}}...{{else}}...{{/if}} * conditional blocks. * * Templates are organized in language subdirectories: * {lang}/{name}.md — localized templates * * Template engine functions (processConditionals, substituteVariables, * renderTemplate) are delegated to faceted-prompting. */ import type { Language } from '../../core/models/types.js'; export { renderTemplate } from 'faceted-prompting'; /** * Load a Markdown template, apply variable substitution and conditional blocks. * * @param name Template name (without extension), e.g. 'score_interactive_system_prompt' * @param lang Language ('en' | 'ja'). * @param vars Variable values to substitute * @returns Final prompt string */ export declare function loadTemplate(name: string, lang: Language, vars?: Record): string; /** Reset cache (for tests) */ export declare function _resetCache(): void; /** * Wrap an instruction with the JSON-schema-in-prompt fallback contract * (fenced JSON block matching the given schema). * * Shared by StepExecutor.buildPhase1Instruction (providers without native * structured-output support) and the OpenCode client's post-degradation * retry (src/infra/opencode/structured-output-recovery.ts), so the two call * sites can never drift on the wrapping contract. */ export declare function buildStructuredJsonSchemaInstruction(instruction: string, schema: Record, lang?: Language): string; //# sourceMappingURL=index.d.ts.map