/** * User prompt templating — simple template layer for augmenting per-agent * prompts with user-defined content. * * Supports {{variable}} substitution with explicit input fields. * No heavy templating engine — intentionally simple and predictable. */ import type { Logger } from '../types'; export interface TemplateContext { /** Current working directory. */ cwd: string; /** Project ID. */ projectId: string; /** Agent display name. */ agentName: string; /** Current session ID. */ sessionId?: string; /** Current date/time in ISO format. */ datetime: string; /** Any custom key/value pairs. */ [key: string]: string | undefined; } export declare class UserPromptTemplate { private logger; constructor(logger: Logger); /** * Render a template string by replacing {{variable}} placeholders * with values from the context. * * Unknown variables are left as-is with a warning logged. */ render(template: string, context: TemplateContext): string; /** * Build the default template context from runtime values. */ buildContext(params: { cwd: string; projectId: string; agentName: string; sessionId?: string; extra?: Record; }): TemplateContext; /** * Extract all variable names used in a template string. */ extractVariables(template: string): string[]; /** * Validate a template string — returns warnings for unknown variables. */ validate(template: string, knownExtra?: string[]): string[]; } //# sourceMappingURL=user-prompt-template.d.ts.map