/** * Prompt Versioning & Experimentation Pattern * * Manages prompt versions with rollback, gradual rollout, and performance comparison. * Enables safe experimentation with different prompt formulations. * * @example * ```typescript * const result = await versionedPrompt({ * promptId: 'product-summary', * versions: { * 'v1.0': { * prompt: 'Summarize this product in 2 sentences', * active: false, * performance: { satisfaction: 0.75, avgTokens: 50 } * }, * 'v2.0': { * prompt: 'Create engaging 2-sentence product summary', * active: true, * rolloutPercentage: 50 * } * }, * execute: async (prompt, version) => { * return await generateText({ model, prompt: prompt + '\n\n' + productData }); * }, * onVersionUsed: (version, result) => { * analytics.track('prompt_version_used', { version, tokens: result.tokens }); * }, * autoRollback: { * enabled: true, * conditions: [ * { metric: 'satisfaction', threshold: 0.7, window: '1h', operator: 'lt' } * ] * } * }); * ``` */ import type { PromptVersioningConfig, PromptVersionExecutionResult, PromptVersionStorage, PromptVersionMetrics } from "../types/prompt-versioning"; /** * Simple in-memory storage for prompt version metrics using GlobalStorage */ export declare class InMemoryPromptVersionStorage implements PromptVersionStorage { private storage; private readonly namespace; constructor(); private getMetricsKey; private getActiveVersionKey; private getHistoryKey; getMetrics(promptId: string, version: string): Promise; updateMetrics(promptId: string, version: string, metrics: Partial): Promise; getActiveVersion(promptId: string): Promise; setActiveVersion(promptId: string, version: string): Promise; getVersionHistory(promptId: string): Promise; } /** * Execute a prompt with version management */ export declare function versionedPrompt(config: PromptVersioningConfig): Promise>; //# sourceMappingURL=prompt-versioning.d.ts.map