UNPKG

promptforge

Version:

Adaptive Prompt Intelligence & Orchestration SDK - Manage, optimize, and serve prompts for LLMs with versioning, feedback loops, and multi-provider support

80 lines 2.46 kB
import { PromptMetadata, PromptTemplate, PromptVersion, CreatePromptRequest } from '../types.js'; export interface PromptRegistryConfig { storageBackend: 'database' | 'memory'; enableVersioning: boolean; maxVersionsPerPrompt: number; } export declare class PromptRegistry { private prompts; private versions; private templates; private nameToIdMap; private config; constructor(config?: Partial<PromptRegistryConfig>); /** * Create a new prompt with metadata and optional template */ createPrompt(request: CreatePromptRequest): Promise<PromptMetadata>; /** * Update an existing prompt and create a new version */ updatePrompt(promptId: string, content: string, metadata?: Partial<PromptMetadata>): Promise<PromptVersion>; /** * Get prompt metadata by ID or name */ getPrompt(idOrName: string): Promise<PromptMetadata | undefined>; /** * Get specific version of a prompt */ getPromptVersion(promptId: string, version?: number): Promise<PromptVersion | undefined>; /** * Get all versions of a prompt */ getPromptVersions(promptId: string): Promise<PromptVersion[]>; /** * Get prompt template */ getTemplate(promptId: string): Promise<PromptTemplate | undefined>; /** * List all prompts with optional filtering */ listPrompts(filter?: { owner?: string; tags?: string[]; isActive?: boolean; }): Promise<PromptMetadata[]>; /** * Delete a prompt and all its versions */ deletePrompt(promptId: string): Promise<boolean>; /** * Deactivate a prompt (soft delete) */ deactivatePrompt(promptId: string): Promise<boolean>; /** * Increment usage count for a prompt */ incrementUsage(promptId: string): Promise<void>; /** * Update average score for a prompt */ updateScore(promptId: string, score: number): Promise<void>; /** * Search prompts by content similarity (semantic search) */ searchPrompts(query: string, limit?: number): Promise<PromptMetadata[]>; /** * Extract template variables from content */ private extractVariables; /** * Get registry statistics */ getStats(): Promise<{ totalPrompts: number; activePrompts: number; totalVersions: number; totalUsage: number; }>; } //# sourceMappingURL=registry.d.ts.map