Swadhin Biswas feat(api): add runner, analytics, packages, and security services · 3/6/2026
28f7954
41 lines · 1.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import { AnthropicAdapter } from "./anthropic";
import { BytezAdapter } from "./bytez";
import { ExternalAgentAdapter } from "./external-agent";
import { GoogleAdapter } from "./google";
import { GroqAdapter } from "./groq";
import { LocalAdapter } from "./local";
import { OllamaAdapter } from "./ollama";
import { OpenAIAdapter } from "./openai";
import { OpenRouterAdapter } from "./openrouter";
import { TogetherAdapter } from "./together";
import type { AIAdapter } from "./types";

export function getAIAdapter(provider: string): AIAdapter {
  switch (provider) {
    case "openai":
      return new OpenAIAdapter();
    case "groq":
      return new GroqAdapter();
    case "bytez":
      return new BytezAdapter();
    case "openrouter":
      return new OpenRouterAdapter();
    case "together":
      return new TogetherAdapter();
    case "google":
      return new GoogleAdapter();
    case "external_agent":
      return new ExternalAgentAdapter();
    case "local":
      return new LocalAdapter();
    case "anthropic":
      return new AnthropicAdapter();
    case "ollama":
      return new OllamaAdapter();
    default:
      throw new Error(`Unknown AI provider: ${provider}`);
  }
}

export * from "./types";