import { PromptsManagerOptions } from "./prompts-manager.type.mjs"; import { PromptsManagerContract } from "./prompts-manager.contract.mjs"; //#region ../ai/src/prompts/prompts-manager.d.ts /** * Build the `name@version` registry key. Centralized so the duplicate check, * `get`, and `composedFrom` provenance all agree on one label shape. */ declare function promptKey(name: string, version: string): string; /** * Create a new, isolated prompts manager. * * **Role.** Public factory for {@link PromptsManagerContract} — keeps * user-facing code free of `new` and consistent with the other `ai.*` * factories. Each call returns a fresh registry, so parallel test suites and * multi-tenant apps never share mutable global prompt state. * * The process-wide instance that named `systemPrompt(...)` builders * auto-register into is `ai.prompts` (see {@link defaultPromptsManager}). * * @param options - Optional wiring, notably a `judgeCache` that memoizes * LLM-judge verdicts (absent ⇒ every judge pass runs live). * * @example * const registry = prompts(); * registry.register(systemPrompt("You are support.", { name: "support" })); * registry.resolve("support"); // "You are support." * * @example * // Memoize judge verdicts across validations. * const registry = prompts({ judgeCache: new MemoryCacheDriver() }); */ declare function prompts(options?: PromptsManagerOptions): PromptsManagerContract; /** Accessor for the process-wide default {@link PromptsManagerContract}. */ declare function defaultPromptsManager(): PromptsManagerContract; //#endregion export { defaultPromptsManager, promptKey, prompts }; //# sourceMappingURL=prompts-manager.d.mts.map