UNPKG

promptforge

Version:

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

95 lines 2.88 kB
import { ForgeConfig, CreatePromptRequest, ExecutePromptRequest, ExecutionResult, PromptMetadata, PromptVersion, LLMProvider, Feedback, EvaluatePromptRequest, EvaluationResult } from '../types.js'; export declare class PromptForge { private registry; private templateEngine; private metricsTracker; private llmRouter; private cache; private feedbackSystem; private evaluationEngine; private config; constructor(config: ForgeConfig); /** * Create a new prompt in the registry */ createPrompt(request: CreatePromptRequest): Promise<PromptMetadata>; /** * Update an existing prompt and create a new version */ updatePrompt(promptId: string, content: string, metadata?: Partial<PromptMetadata>): Promise<PromptVersion>; /** * Execute a prompt with LLM */ executePrompt(request: ExecutePromptRequest): Promise<ExecutionResult>; /** * Track feedback for an execution */ trackFeedback(feedback: Omit<Feedback, 'id' | 'timestamp'>): Promise<Feedback>; /** * Evaluate a prompt against a dataset or examples */ evaluatePrompt(request: EvaluatePromptRequest): Promise<EvaluationResult>; /** * Optimize prompts based on feedback and performance */ optimizePrompts(promptId?: string): Promise<string[]>; /** * List all prompts */ listPrompts(filter?: { owner?: string; tags?: string[]; isActive?: boolean; }): Promise<PromptMetadata[]>; /** * Get prompt by ID or name */ getPrompt(idOrName: string): Promise<PromptMetadata | undefined>; /** * Get prompt version */ getPromptVersion(promptId: string, version?: number): Promise<PromptVersion | undefined>; /** * Get prompt versions history */ getPromptVersions(promptId: string): Promise<PromptVersion[]>; /** * Delete a prompt */ deletePrompt(promptId: string): Promise<boolean>; /** * Get metrics for a prompt */ getMetrics(promptId: string, version?: number): Promise<{ totalExecutions: number; successRate: number; averageLatency: number; totalCost: number; averageTokens: number; p50Latency: number; p95Latency: number; p99Latency: number; }>; /** * Get available LLM providers */ getAvailableProviders(): Promise<LLMProvider[]>; /** * Get registry statistics */ getStats(): Promise<{ totalExecutions: number; totalCost: number; averageLatency: number; successRate: number; totalPrompts: number; activePrompts: number; totalVersions: number; totalUsage: number; }>; /** * Get default model for a provider */ private getDefaultModel; } //# sourceMappingURL=forge.d.ts.map