UNPKG

promptly-ai

Version:

A universal template-based prompt management system for LLM applications

70 lines 1.74 kB
export interface TemplateMetadata { name: string; description: string; model?: string; temperature?: number; maxTokens?: number; maxThinkingTokens?: number; version?: string; } export interface TemplateMessage { role: 'user' | 'assistant'; content: string; condition?: string; } export interface TemplateContent { systemPrompt?: string; messages: TemplateMessage[]; } export interface ParsedTemplate { metadata: TemplateMetadata; content: TemplateContent; } export interface LLMMessage { role: 'system' | 'user' | 'assistant'; content: string; } export interface LLMConfig { model: string; messages: LLMMessage[]; temperature?: number; maxTokens?: number; maxThinkingTokens?: number; } export interface RenderContext { [key: string]: any; } export interface RenderedPrompt { config: LLMConfig; metadata: TemplateMetadata; } export interface LLMUsageResult { content: string; provider: string; model: string; inputTokens: number; outputTokens: number; costUsd?: number; thinkingTokens?: number; } export interface LLMAdapter { name: string; generate(config: LLMConfig): Promise<LLMUsageResult>; supportsModel(model: string): boolean; } export interface PromptlyConfig { templatesPath: string; adapters: LLMAdapter[]; defaultModel?: string; cache?: boolean; } export interface TemplateValidationRule { field: string; required?: boolean; type?: 'string' | 'number' | 'boolean' | 'object' | 'array'; validator?: (value: any) => boolean; } export interface TemplateValidationSchema { [templateName: string]: TemplateValidationRule[]; } //# sourceMappingURL=index.d.ts.map