Reference implementation for the Phoenix Architecture. Work in progress. aicoding.leaflet.pub/
ai coding crazy
at main 41 lines 1.0 kB view raw
1/** 2 * LLM Provider — pluggable interface for code generation. 3 * 4 * Providers implement a single method: generate code from a prompt. 5 * Phoenix auto-detects available providers from env vars and saves 6 * a preference in .phoenix/config.json. 7 */ 8 9export interface LLMProvider { 10 /** Provider name for display/config. */ 11 readonly name: string; 12 13 /** Model identifier being used. */ 14 readonly model: string; 15 16 /** 17 * Generate a completion from a prompt. 18 * Returns the raw text response. 19 */ 20 generate(prompt: string, options?: GenerateOptions): Promise<string>; 21} 22 23export interface GenerateOptions { 24 /** Max tokens to generate. */ 25 maxTokens?: number; 26 /** Temperature (0 = deterministic, 1 = creative). */ 27 temperature?: number; 28 /** System prompt / role. */ 29 system?: string; 30} 31 32export interface LLMConfig { 33 provider: string; 34 model: string; 35} 36 37/** Default models per provider. */ 38export const DEFAULT_MODELS: Record<string, string> = { 39 anthropic: 'claude-sonnet-4-20250514', 40 openai: 'gpt-4o', 41};