44 * Priority: OPENAI_API_KEY > ANTHROPIC_API_KEY > FakeAdapter
55 */
66
7- import { Adapters } from "../../src/index.ts" ;
7+ import BaseAdapter from "../../src/adapters/base.ts" ;
8+ import OpenAIAdapter from "../../src/adapters/openai.ts" ;
9+ import AnthropicAdapter from "../../src/adapters/anthropic.ts" ;
10+ import FakeAdapter from "../../src/adapters/fake.ts" ;
811import type { LLMResponse } from "../../src/types.ts" ;
912
1013interface CreateAdapterOptions {
1114 /** Fake responses to use when no API key is available */
1215 fakeResponses : ( string | Partial < LLMResponse > ) [ ] ;
1316}
1417
15- export function createAdapter ( opts : CreateAdapterOptions ) {
18+ interface CreateAdapterResult {
19+ adapter : BaseAdapter ;
20+ isFake : boolean ;
21+ }
22+
23+ export function createAdapter ( opts : CreateAdapterOptions ) : CreateAdapterResult {
1624 if ( process . env . OPENAI_API_KEY ) {
1725 console . log ( "[Using OpenAI adapter]\n" ) ;
1826 return {
19- adapter : new Adapters . OpenAI ( {
27+ adapter : new OpenAIAdapter ( {
2028 apiKey : process . env . OPENAI_API_KEY ,
2129 model : process . env . OPENAI_MODEL || "gpt-4o"
2230 } ) ,
@@ -27,7 +35,7 @@ export function createAdapter(opts: CreateAdapterOptions) {
2735 if ( process . env . ANTHROPIC_API_KEY ) {
2836 console . log ( "[Using Anthropic adapter]\n" ) ;
2937 return {
30- adapter : new Adapters . Anthropic ( {
38+ adapter : new AnthropicAdapter ( {
3139 apiKey : process . env . ANTHROPIC_API_KEY ,
3240 model : process . env . ANTHROPIC_MODEL || "claude-sonnet-4-20250514"
3341 } ) ,
@@ -37,7 +45,7 @@ export function createAdapter(opts: CreateAdapterOptions) {
3745
3846 console . log ( "[No API key found — using FakeAdapter with scripted responses]\n" ) ;
3947 return {
40- adapter : new Adapters . Fake ( { responses : opts . fakeResponses } ) ,
48+ adapter : new FakeAdapter ( { responses : opts . fakeResponses } ) ,
4149 isFake : true
4250 } ;
4351}
0 commit comments