@@ -10,41 +10,45 @@ import { LmStudioHandler } from "./providers/lmstudio"
1010import { GeminiHandler } from "./providers/gemini"
1111import { OpenAiNativeHandler } from "./providers/openai-native"
1212import { DeepSeekHandler } from "./providers/deepseek"
13+ import { VsCodeLmHandler } from "./providers/vscode-lm"
1314import { ApiStream } from "./transform/stream"
1415
1516export interface SingleCompletionHandler {
16- completePrompt ( prompt : string ) : Promise < string >
17+ completePrompt ( prompt : string ) : Promise < string >
1718}
1819
1920export interface ApiHandler {
20- createMessage ( systemPrompt : string , messages : Anthropic . Messages . MessageParam [ ] ) : ApiStream
21- getModel ( ) : { id : string ; info : ModelInfo }
21+ createMessage ( systemPrompt : string , messages : Anthropic . Messages . MessageParam [ ] ) : ApiStream
22+ getModel ( ) : { id : string ; info : ModelInfo }
2223}
2324
2425export function buildApiHandler ( configuration : ApiConfiguration ) : ApiHandler {
25- const { apiProvider, ...options } = configuration
26- switch ( apiProvider ) {
27- case "anthropic" :
28- return new AnthropicHandler ( options )
29- case "openrouter" :
30- return new OpenRouterHandler ( options )
31- case "bedrock" :
32- return new AwsBedrockHandler ( options )
33- case "vertex" :
34- return new VertexHandler ( options )
35- case "openai" :
36- return new OpenAiHandler ( options )
37- case "ollama" :
38- return new OllamaHandler ( options )
39- case "lmstudio" :
40- return new LmStudioHandler ( options )
41- case "gemini" :
42- return new GeminiHandler ( options )
43- case "openai-native" :
44- return new OpenAiNativeHandler ( options )
45- case "deepseek" :
46- return new DeepSeekHandler ( options )
47- default :
48- return new AnthropicHandler ( options )
49- }
26+ const { apiProvider, ...options } = configuration
27+
28+ switch ( apiProvider ) {
29+ case "anthropic" :
30+ return new AnthropicHandler ( options )
31+ case "openrouter" :
32+ return new OpenRouterHandler ( options )
33+ case "bedrock" :
34+ return new AwsBedrockHandler ( options )
35+ case "vertex" :
36+ return new VertexHandler ( options )
37+ case "openai" :
38+ return new OpenAiHandler ( options )
39+ case "ollama" :
40+ return new OllamaHandler ( options )
41+ case "lmstudio" :
42+ return new LmStudioHandler ( options )
43+ case "gemini" :
44+ return new GeminiHandler ( options )
45+ case "openai-native" :
46+ return new OpenAiNativeHandler ( options )
47+ case "deepseek" :
48+ return new DeepSeekHandler ( options )
49+ case "vscode-lm" :
50+ return new VsCodeLmHandler ( options )
51+ default :
52+ return new AnthropicHandler ( options )
53+ }
5054}
0 commit comments