Reference implementation for the Phoenix Architecture. Work in progress.
aicoding.leaflet.pub/
ai
coding
crazy
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};