@clinebot/llms 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/README.md +198 -0
  2. package/dist/config-browser.d.ts +3 -0
  3. package/dist/config.d.ts +3 -0
  4. package/dist/index.browser.d.ts +4 -0
  5. package/dist/index.browser.js +1 -0
  6. package/dist/index.d.ts +5 -0
  7. package/dist/index.js +7 -0
  8. package/dist/models/generated-access.d.ts +4 -0
  9. package/dist/models/generated-provider-loaders.d.ts +13 -0
  10. package/dist/models/generated.d.ts +14 -0
  11. package/dist/models/index.d.ts +43 -0
  12. package/dist/models/models-dev-catalog.d.ts +32 -0
  13. package/dist/models/providers/aihubmix.d.ts +5 -0
  14. package/dist/models/providers/anthropic.d.ts +53 -0
  15. package/dist/models/providers/asksage.d.ts +5 -0
  16. package/dist/models/providers/baseten.d.ts +5 -0
  17. package/dist/models/providers/bedrock.d.ts +7 -0
  18. package/dist/models/providers/cerebras.d.ts +7 -0
  19. package/dist/models/providers/claude-code.d.ts +4 -0
  20. package/dist/models/providers/cline.d.ts +34 -0
  21. package/dist/models/providers/deepseek.d.ts +8 -0
  22. package/dist/models/providers/dify.d.ts +5 -0
  23. package/dist/models/providers/doubao.d.ts +7 -0
  24. package/dist/models/providers/fireworks.d.ts +8 -0
  25. package/dist/models/providers/gemini.d.ts +9 -0
  26. package/dist/models/providers/groq.d.ts +8 -0
  27. package/dist/models/providers/hicap.d.ts +5 -0
  28. package/dist/models/providers/huawei-cloud-maas.d.ts +5 -0
  29. package/dist/models/providers/huggingface.d.ts +6 -0
  30. package/dist/models/providers/index.d.ts +45 -0
  31. package/dist/models/providers/litellm.d.ts +5 -0
  32. package/dist/models/providers/lmstudio.d.ts +5 -0
  33. package/dist/models/providers/minimax.d.ts +7 -0
  34. package/dist/models/providers/mistral.d.ts +5 -0
  35. package/dist/models/providers/moonshot.d.ts +7 -0
  36. package/dist/models/providers/nebius.d.ts +7 -0
  37. package/dist/models/providers/nous-research.d.ts +7 -0
  38. package/dist/models/providers/oca.d.ts +9 -0
  39. package/dist/models/providers/ollama.d.ts +5 -0
  40. package/dist/models/providers/openai-codex.d.ts +10 -0
  41. package/dist/models/providers/openai.d.ts +9 -0
  42. package/dist/models/providers/opencode.d.ts +10 -0
  43. package/dist/models/providers/openrouter.d.ts +7 -0
  44. package/dist/models/providers/qwen-code.d.ts +7 -0
  45. package/dist/models/providers/qwen.d.ts +7 -0
  46. package/dist/models/providers/requesty.d.ts +6 -0
  47. package/dist/models/providers/sambanova.d.ts +7 -0
  48. package/dist/models/providers/sapaicore.d.ts +7 -0
  49. package/dist/models/providers/together.d.ts +8 -0
  50. package/dist/models/providers/vercel-ai-gateway.d.ts +5 -0
  51. package/dist/models/providers/vertex.d.ts +7 -0
  52. package/dist/models/providers/xai.d.ts +8 -0
  53. package/dist/models/providers/zai.d.ts +7 -0
  54. package/dist/models/query.d.ts +181 -0
  55. package/dist/models/registry.d.ts +123 -0
  56. package/dist/models/schemas/index.d.ts +7 -0
  57. package/dist/models/schemas/model.d.ts +340 -0
  58. package/dist/models/schemas/query.d.ts +191 -0
  59. package/dist/providers/handlers/ai-sdk-community.d.ts +46 -0
  60. package/dist/providers/handlers/ai-sdk-provider-base.d.ts +32 -0
  61. package/dist/providers/handlers/anthropic-base.d.ts +26 -0
  62. package/dist/providers/handlers/asksage.d.ts +12 -0
  63. package/dist/providers/handlers/auth.d.ts +5 -0
  64. package/dist/providers/handlers/base.d.ts +55 -0
  65. package/dist/providers/handlers/bedrock-base.d.ts +23 -0
  66. package/dist/providers/handlers/bedrock-client.d.ts +4 -0
  67. package/dist/providers/handlers/community-sdk.d.ts +97 -0
  68. package/dist/providers/handlers/fetch-base.d.ts +18 -0
  69. package/dist/providers/handlers/gemini-base.d.ts +25 -0
  70. package/dist/providers/handlers/index.d.ts +19 -0
  71. package/dist/providers/handlers/openai-base.d.ts +54 -0
  72. package/dist/providers/handlers/openai-responses.d.ts +64 -0
  73. package/dist/providers/handlers/providers.d.ts +43 -0
  74. package/dist/providers/handlers/r1-base.d.ts +62 -0
  75. package/dist/providers/handlers/registry.d.ts +106 -0
  76. package/dist/providers/handlers/vertex.d.ts +32 -0
  77. package/dist/providers/index.d.ts +100 -0
  78. package/dist/providers/public.browser.d.ts +2 -0
  79. package/dist/providers/public.d.ts +3 -0
  80. package/dist/providers/shared/openai-compatible.d.ts +10 -0
  81. package/dist/providers/transform/ai-sdk-community-format.d.ts +9 -0
  82. package/dist/providers/transform/anthropic-format.d.ts +24 -0
  83. package/dist/providers/transform/content-format.d.ts +3 -0
  84. package/dist/providers/transform/gemini-format.d.ts +19 -0
  85. package/dist/providers/transform/index.d.ts +10 -0
  86. package/dist/providers/transform/openai-format.d.ts +36 -0
  87. package/dist/providers/transform/r1-format.d.ts +26 -0
  88. package/dist/providers/types/config.d.ts +261 -0
  89. package/dist/providers/types/handler.d.ts +71 -0
  90. package/dist/providers/types/index.d.ts +11 -0
  91. package/dist/providers/types/messages.d.ts +139 -0
  92. package/dist/providers/types/model-info.d.ts +32 -0
  93. package/dist/providers/types/provider-ids.d.ts +63 -0
  94. package/dist/providers/types/settings.d.ts +308 -0
  95. package/dist/providers/types/stream.d.ts +106 -0
  96. package/dist/providers/utils/index.d.ts +7 -0
  97. package/dist/providers/utils/retry.d.ts +38 -0
  98. package/dist/providers/utils/stream-processor.d.ts +110 -0
  99. package/dist/providers/utils/tool-processor.d.ts +34 -0
  100. package/dist/sdk.d.ts +18 -0
  101. package/dist/types.d.ts +60 -0
  102. package/package.json +66 -0
  103. package/src/catalog.ts +20 -0
  104. package/src/config-browser.ts +11 -0
  105. package/src/config.ts +49 -0
  106. package/src/index.browser.ts +9 -0
  107. package/src/index.ts +10 -0
  108. package/src/live-providers.test.ts +137 -0
  109. package/src/models/generated-access.ts +41 -0
  110. package/src/models/generated-provider-loaders.ts +166 -0
  111. package/src/models/generated.ts +11997 -0
  112. package/src/models/index.ts +271 -0
  113. package/src/models/models-dev-catalog.test.ts +161 -0
  114. package/src/models/models-dev-catalog.ts +161 -0
  115. package/src/models/providers/aihubmix.ts +19 -0
  116. package/src/models/providers/anthropic.ts +60 -0
  117. package/src/models/providers/asksage.ts +19 -0
  118. package/src/models/providers/baseten.ts +21 -0
  119. package/src/models/providers/bedrock.ts +30 -0
  120. package/src/models/providers/cerebras.ts +24 -0
  121. package/src/models/providers/claude-code.ts +51 -0
  122. package/src/models/providers/cline.ts +25 -0
  123. package/src/models/providers/deepseek.ts +33 -0
  124. package/src/models/providers/dify.ts +17 -0
  125. package/src/models/providers/doubao.ts +33 -0
  126. package/src/models/providers/fireworks.ts +34 -0
  127. package/src/models/providers/gemini.ts +43 -0
  128. package/src/models/providers/groq.ts +33 -0
  129. package/src/models/providers/hicap.ts +18 -0
  130. package/src/models/providers/huawei-cloud-maas.ts +18 -0
  131. package/src/models/providers/huggingface.ts +22 -0
  132. package/src/models/providers/index.ts +162 -0
  133. package/src/models/providers/litellm.ts +19 -0
  134. package/src/models/providers/lmstudio.ts +22 -0
  135. package/src/models/providers/minimax.ts +34 -0
  136. package/src/models/providers/mistral.ts +19 -0
  137. package/src/models/providers/moonshot.ts +34 -0
  138. package/src/models/providers/nebius.ts +24 -0
  139. package/src/models/providers/nous-research.ts +21 -0
  140. package/src/models/providers/oca.ts +30 -0
  141. package/src/models/providers/ollama.ts +18 -0
  142. package/src/models/providers/openai-codex.ts +30 -0
  143. package/src/models/providers/openai.ts +43 -0
  144. package/src/models/providers/opencode.ts +28 -0
  145. package/src/models/providers/openrouter.ts +24 -0
  146. package/src/models/providers/qwen-code.ts +33 -0
  147. package/src/models/providers/qwen.ts +34 -0
  148. package/src/models/providers/requesty.ts +23 -0
  149. package/src/models/providers/sambanova.ts +23 -0
  150. package/src/models/providers/sapaicore.ts +34 -0
  151. package/src/models/providers/together.ts +35 -0
  152. package/src/models/providers/vercel-ai-gateway.ts +23 -0
  153. package/src/models/providers/vertex.ts +36 -0
  154. package/src/models/providers/xai.ts +34 -0
  155. package/src/models/providers/zai.ts +25 -0
  156. package/src/models/query.ts +407 -0
  157. package/src/models/registry.ts +511 -0
  158. package/src/models/schemas/index.ts +62 -0
  159. package/src/models/schemas/model.ts +308 -0
  160. package/src/models/schemas/query.ts +336 -0
  161. package/src/providers/browser.ts +4 -0
  162. package/src/providers/handlers/ai-sdk-community.ts +226 -0
  163. package/src/providers/handlers/ai-sdk-provider-base.ts +193 -0
  164. package/src/providers/handlers/anthropic-base.ts +372 -0
  165. package/src/providers/handlers/asksage.test.ts +103 -0
  166. package/src/providers/handlers/asksage.ts +138 -0
  167. package/src/providers/handlers/auth.test.ts +19 -0
  168. package/src/providers/handlers/auth.ts +121 -0
  169. package/src/providers/handlers/base.test.ts +46 -0
  170. package/src/providers/handlers/base.ts +160 -0
  171. package/src/providers/handlers/bedrock-base.ts +390 -0
  172. package/src/providers/handlers/bedrock-client.ts +100 -0
  173. package/src/providers/handlers/codex.test.ts +123 -0
  174. package/src/providers/handlers/community-sdk.test.ts +288 -0
  175. package/src/providers/handlers/community-sdk.ts +392 -0
  176. package/src/providers/handlers/fetch-base.ts +68 -0
  177. package/src/providers/handlers/gemini-base.ts +302 -0
  178. package/src/providers/handlers/index.ts +67 -0
  179. package/src/providers/handlers/openai-base.ts +277 -0
  180. package/src/providers/handlers/openai-responses.ts +598 -0
  181. package/src/providers/handlers/providers.test.ts +120 -0
  182. package/src/providers/handlers/providers.ts +563 -0
  183. package/src/providers/handlers/r1-base.ts +280 -0
  184. package/src/providers/handlers/registry.ts +185 -0
  185. package/src/providers/handlers/vertex.test.ts +124 -0
  186. package/src/providers/handlers/vertex.ts +292 -0
  187. package/src/providers/index.ts +534 -0
  188. package/src/providers/public.browser.ts +20 -0
  189. package/src/providers/public.ts +51 -0
  190. package/src/providers/shared/openai-compatible.ts +63 -0
  191. package/src/providers/transform/ai-sdk-community-format.test.ts +73 -0
  192. package/src/providers/transform/ai-sdk-community-format.ts +115 -0
  193. package/src/providers/transform/anthropic-format.ts +218 -0
  194. package/src/providers/transform/content-format.ts +34 -0
  195. package/src/providers/transform/format-conversion.test.ts +310 -0
  196. package/src/providers/transform/gemini-format.ts +167 -0
  197. package/src/providers/transform/index.ts +22 -0
  198. package/src/providers/transform/openai-format.ts +247 -0
  199. package/src/providers/transform/r1-format.ts +287 -0
  200. package/src/providers/types/config.ts +388 -0
  201. package/src/providers/types/handler.ts +87 -0
  202. package/src/providers/types/index.ts +120 -0
  203. package/src/providers/types/messages.ts +158 -0
  204. package/src/providers/types/model-info.test.ts +57 -0
  205. package/src/providers/types/model-info.ts +65 -0
  206. package/src/providers/types/provider-ids.test.ts +12 -0
  207. package/src/providers/types/provider-ids.ts +89 -0
  208. package/src/providers/types/settings.test.ts +49 -0
  209. package/src/providers/types/settings.ts +533 -0
  210. package/src/providers/types/stream.ts +117 -0
  211. package/src/providers/utils/index.ts +27 -0
  212. package/src/providers/utils/retry.test.ts +140 -0
  213. package/src/providers/utils/retry.ts +188 -0
  214. package/src/providers/utils/stream-processor.test.ts +232 -0
  215. package/src/providers/utils/stream-processor.ts +472 -0
  216. package/src/providers/utils/tool-processor.test.ts +34 -0
  217. package/src/providers/utils/tool-processor.ts +111 -0
  218. package/src/sdk.ts +264 -0
  219. package/src/types.ts +79 -0
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Nebius Provider
3
+ */
4
+
5
+ import { getGeneratedModelsForProvider } from "../generated-access";
6
+ import type { ModelCollection, ModelInfo } from "../schemas/index";
7
+
8
+ export const NEBIUS_MODELS: Record<string, ModelInfo> =
9
+ getGeneratedModelsForProvider("nebius");
10
+ export const NEBIUS_DEFAULT_MODEL =
11
+ Object.keys(NEBIUS_MODELS)[0] || "meta-llama/Meta-Llama-3.1-70B-Instruct";
12
+
13
+ export const NEBIUS_PROVIDER: ModelCollection = {
14
+ provider: {
15
+ id: "nebius",
16
+ name: "Nebius",
17
+ description: "European cloud AI infrastructure",
18
+ protocol: "openai-chat",
19
+ baseUrl: "https://api.studio.nebius.ai/v1",
20
+ defaultModelId: NEBIUS_DEFAULT_MODEL,
21
+ env: ["NEBIUS_API_KEY"],
22
+ },
23
+ models: NEBIUS_MODELS,
24
+ };
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Nous Research Provider
3
+ */
4
+
5
+ import type { ModelCollection, ModelInfo } from "../schemas/index";
6
+
7
+ export const NOUS_RESEARCH_MODELS: Record<string, ModelInfo> = {};
8
+ export const NOUS_RESEARCH_DEFAULT_MODEL = "DeepHermes-3-Llama-3-3-70B-Preview";
9
+
10
+ export const NOUS_RESEARCH_PROVIDER: ModelCollection = {
11
+ provider: {
12
+ id: "nousResearch",
13
+ name: "Nous Research",
14
+ description: "Open-source AI research lab",
15
+ protocol: "openai-chat",
16
+ baseUrl: "https://inference-api.nousresearch.com/v1",
17
+ defaultModelId: NOUS_RESEARCH_DEFAULT_MODEL,
18
+ env: ["NOUS_RESEARCH_API_KEY", "NOUSRESEARCH_API_KEY"],
19
+ },
20
+ models: NOUS_RESEARCH_MODELS,
21
+ };
@@ -0,0 +1,30 @@
1
+ /**
2
+ * OCA Provider
3
+ */
4
+
5
+ import { getGeneratedModelsForProvider } from "../generated-access";
6
+ import type { ModelCollection, ModelInfo } from "../schemas/index";
7
+
8
+ export const DEFAULT_INTERNAL_OCA_BASE_URL =
9
+ "https://code-internal.aiservice.us-chicago-1.oci.oraclecloud.com/20250206/app/litellm";
10
+ export const DEFAULT_EXTERNAL_OCA_BASE_URL =
11
+ "https://code.aiservice.us-chicago-1.oci.oraclecloud.com/20250206/app/litellm";
12
+
13
+ // Falls back to the legacy default when a generated catalog does not yet include OCA.
14
+ export const OCA_DEFAULT_MODEL = "anthropic/claude-3-7-sonnet-20250219";
15
+ export const OCA_MODELS: Record<string, ModelInfo> =
16
+ getGeneratedModelsForProvider("oca");
17
+
18
+ export const OCA_PROVIDER: ModelCollection = {
19
+ provider: {
20
+ id: "oca",
21
+ name: "Oracle Code Assist",
22
+ description: "Oracle Code Assist (OCA) LiteLLM gateway",
23
+ protocol: "openai-chat",
24
+ baseUrl: DEFAULT_EXTERNAL_OCA_BASE_URL,
25
+ defaultModelId: Object.keys(OCA_MODELS)[0] ?? OCA_DEFAULT_MODEL,
26
+ capabilities: ["reasoning", "prompt-cache", "tools"],
27
+ env: ["OCA_API_KEY"],
28
+ },
29
+ models: OCA_MODELS,
30
+ };
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Ollama Provider
3
+ */
4
+
5
+ import type { ModelCollection } from "../schemas/index";
6
+
7
+ export const OLLAMA_PROVIDER: ModelCollection = {
8
+ provider: {
9
+ id: "ollama",
10
+ name: "Ollama",
11
+ description: "Ollama Cloud and local LLM hosting",
12
+ protocol: "openai-chat",
13
+ baseUrl: "http://localhost:11434/v1",
14
+ defaultModelId: "llama3.2",
15
+ env: ["OLLAMA_API_KEY"],
16
+ },
17
+ models: {},
18
+ };
@@ -0,0 +1,30 @@
1
+ /**
2
+ * OpenAI Codex Models
3
+ *
4
+ * Reuses the OpenAI Native catalog so OpenAI Codex and OpenAI Native stay in
5
+ * sync for model availability.
6
+ */
7
+
8
+ import { getGeneratedModelsForProvider } from "../generated-access";
9
+ import type { ModelCollection, ModelInfo } from "../schemas/index";
10
+ import { OPENAI_MODELS } from "./openai";
11
+
12
+ export const OPENAI_CODEX_MODELS: Record<string, ModelInfo> =
13
+ getGeneratedModelsForProvider("openai");
14
+
15
+ export const OPENAI_CODEX_DEFAULT_MODEL =
16
+ Object.keys(OPENAI_CODEX_MODELS)[0] ?? "gpt-5.3-codex";
17
+
18
+ export const OPENAI_CODEX_PROVIDER: ModelCollection = {
19
+ provider: {
20
+ id: "openai-codex",
21
+ name: "OpenAI Codex",
22
+ description: "OpenAI Codex via the local Codex CLI provider",
23
+ protocol: "openai-chat",
24
+
25
+ baseUrl: "https://chatgpt.com/backend-api/codex",
26
+ defaultModelId: OPENAI_CODEX_DEFAULT_MODEL,
27
+ capabilities: ["reasoning", "oauth"],
28
+ },
29
+ models: OPENAI_MODELS,
30
+ };
@@ -0,0 +1,43 @@
1
+ /**
2
+ * OpenAI Models
3
+ */
4
+
5
+ import { getGeneratedModelsForProvider } from "../generated-access";
6
+ import type { ModelCollection, ModelInfo } from "../schemas/index";
7
+
8
+ export const OPENAI_MODELS: Record<string, ModelInfo> =
9
+ getGeneratedModelsForProvider("openai");
10
+
11
+ export const OPENAI_DEFAULT_MODEL =
12
+ Object.keys(OPENAI_MODELS)[0] ?? "gpt-5.3-codex";
13
+
14
+ export const OPENAI_PROVIDER: ModelCollection = {
15
+ provider: {
16
+ id: "openai-native",
17
+ name: "OpenAI",
18
+ description: "Creator of GPT and ChatGPT",
19
+ protocol: "openai-responses",
20
+ baseUrl: "https://api.openai.com/v1",
21
+ defaultModelId: OPENAI_DEFAULT_MODEL,
22
+ capabilities: ["reasoning"],
23
+ env: ["OPENAI_API_KEY"],
24
+ },
25
+ models: OPENAI_MODELS,
26
+ };
27
+
28
+ export function getActiveOpenAIModels(): Record<string, ModelInfo> {
29
+ return Object.fromEntries(
30
+ Object.entries(OPENAI_MODELS).filter(
31
+ ([, info]) =>
32
+ !info.status || info.status === "active" || info.status === "preview",
33
+ ),
34
+ );
35
+ }
36
+
37
+ export function getOpenAIReasoningModels(): Record<string, ModelInfo> {
38
+ return Object.fromEntries(
39
+ Object.entries(OPENAI_MODELS).filter(([, info]) =>
40
+ info.capabilities?.includes("reasoning"),
41
+ ),
42
+ );
43
+ }
@@ -0,0 +1,28 @@
1
+ /**
2
+ * OpenCode Provider
3
+ *
4
+ * OpenCode SDK wrapper provider that supports provider/model IDs
5
+ * like "openai/gpt-5.3-codex" and "anthropic/claude-sonnet-4-5-20250929".
6
+ */
7
+
8
+ import { getGeneratedModelsForProvider } from "../generated-access";
9
+ import type { ModelCollection, ModelInfo } from "../schemas/index";
10
+
11
+ export const OPENCODE_MODELS: Record<string, ModelInfo> =
12
+ getGeneratedModelsForProvider("opencode");
13
+
14
+ export const OPENCODE_DEFAULT_MODEL =
15
+ Object.keys(OPENCODE_MODELS)[0] ?? "openai/gpt-5.3-codex";
16
+
17
+ export const OPENCODE_PROVIDER: ModelCollection = {
18
+ provider: {
19
+ id: "opencode",
20
+ name: "OpenCode",
21
+ description: "OpenCode SDK multi-provider runtime",
22
+ protocol: "openai-chat",
23
+ baseUrl: "",
24
+ defaultModelId: OPENCODE_DEFAULT_MODEL,
25
+ capabilities: ["reasoning", "oauth"],
26
+ },
27
+ models: OPENCODE_MODELS,
28
+ };
@@ -0,0 +1,24 @@
1
+ /**
2
+ * OpenRouter Provider
3
+ */
4
+
5
+ import { getGeneratedModelsForProvider } from "../generated-access";
6
+ import type { ModelCollection, ModelInfo } from "../schemas/index";
7
+
8
+ export const OPENROUTER_MODELS: Record<string, ModelInfo> =
9
+ getGeneratedModelsForProvider("openrouter");
10
+ export const OPENROUTER_DEFAULT_MODEL = "anthropic/claude-sonnet-4.6";
11
+
12
+ export const OPENROUTER_PROVIDER: ModelCollection = {
13
+ provider: {
14
+ id: "openrouter",
15
+ name: "OpenRouter",
16
+ description: "OpenRouter AI platform",
17
+ protocol: "openai-chat",
18
+ baseUrl: "https://openrouter.ai/api/v1",
19
+ defaultModelId: OPENROUTER_DEFAULT_MODEL,
20
+ capabilities: ["reasoning", "prompt-cache"],
21
+ env: ["OPENROUTER_API_KEY"],
22
+ },
23
+ models: OPENROUTER_MODELS,
24
+ };
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Qwen Code Provider
3
+ */
4
+
5
+ import { getGeneratedModelsForProvider } from "../generated-access";
6
+ import type { ModelCollection, ModelInfo } from "../schemas/index";
7
+
8
+ const DEFAULT_QWEN_CODE_MODEL_ID = "qwen3-coder-plus";
9
+
10
+ export const QWEN_CODE_MODELS: Record<string, ModelInfo> = {
11
+ [DEFAULT_QWEN_CODE_MODEL_ID]: {
12
+ id: DEFAULT_QWEN_CODE_MODEL_ID,
13
+ name: "Qwen3 Coder Plus",
14
+ capabilities: ["streaming", "tools", "reasoning"],
15
+ },
16
+ ...getGeneratedModelsForProvider("qwen-code"),
17
+ };
18
+
19
+ export const QWEN_CODE_DEFAULT_MODEL =
20
+ Object.keys(QWEN_CODE_MODELS)[0] ?? DEFAULT_QWEN_CODE_MODEL_ID;
21
+
22
+ export const QWEN_CODE_PROVIDER: ModelCollection = {
23
+ provider: {
24
+ id: "qwen-code",
25
+ name: "Qwen Code",
26
+ description: "Qwen OAuth coding models",
27
+ protocol: "openai-chat",
28
+ baseUrl: "https://dashscope.aliyuncs.com/compatible-mode/v1",
29
+ defaultModelId: QWEN_CODE_DEFAULT_MODEL,
30
+ capabilities: ["reasoning", "oauth"],
31
+ },
32
+ models: QWEN_CODE_MODELS,
33
+ };
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Qwen Provider
3
+ */
4
+
5
+ import { getGeneratedModelsForProvider } from "../generated-access";
6
+ import type { ModelCollection, ModelInfo } from "../schemas/index";
7
+
8
+ const DEFAULT_QWEN_MODEL_ID = "qwen-plus-latest";
9
+
10
+ export const QWEN_MODELS: Record<string, ModelInfo> = {
11
+ [DEFAULT_QWEN_MODEL_ID]: {
12
+ id: DEFAULT_QWEN_MODEL_ID,
13
+ name: "Qwen Plus Latest",
14
+ capabilities: ["streaming", "tools", "reasoning"],
15
+ },
16
+ ...getGeneratedModelsForProvider("qwen"),
17
+ };
18
+
19
+ export const QWEN_DEFAULT_MODEL =
20
+ Object.keys(QWEN_MODELS)[0] ?? DEFAULT_QWEN_MODEL_ID;
21
+
22
+ export const QWEN_PROVIDER: ModelCollection = {
23
+ provider: {
24
+ id: "qwen",
25
+ name: "Qwen",
26
+ description: "Alibaba Qwen platform models",
27
+ protocol: "openai-chat",
28
+ baseUrl: "https://dashscope.aliyuncs.com/compatible-mode/v1",
29
+ defaultModelId: QWEN_DEFAULT_MODEL,
30
+ capabilities: ["reasoning"],
31
+ env: ["QWEN_API_KEY"],
32
+ },
33
+ models: QWEN_MODELS,
34
+ };
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Requesty Provider
3
+ */
4
+
5
+ import { getGeneratedModelsForProvider } from "../generated-access";
6
+ import type { ModelCollection, ModelInfo } from "../schemas/index";
7
+
8
+ export const REQUESTY_MODELS: Record<string, ModelInfo> =
9
+ getGeneratedModelsForProvider("requesty");
10
+
11
+ export const REQUESTY_PROVIDER: ModelCollection = {
12
+ provider: {
13
+ id: "requesty",
14
+ name: "Requesty",
15
+ description: "AI router with multiple provider support",
16
+ protocol: "openai-chat",
17
+ baseUrl: "https://router.requesty.ai/v1",
18
+ defaultModelId: Object.keys(REQUESTY_MODELS)[0],
19
+ capabilities: ["reasoning"],
20
+ env: ["REQUESTY_API_KEY"],
21
+ },
22
+ models: REQUESTY_MODELS,
23
+ };
@@ -0,0 +1,23 @@
1
+ /**
2
+ * SambaNova Provider
3
+ */
4
+
5
+ import { getGeneratedModelsForProvider } from "../generated-access";
6
+ import type { ModelCollection, ModelInfo } from "../schemas/index";
7
+
8
+ export const SAMBANOVA_MODELS: Record<string, ModelInfo> =
9
+ getGeneratedModelsForProvider("sambanova");
10
+ export const SAMBANOVA_DEFAULT_MODEL = Object.keys(SAMBANOVA_MODELS)[0];
11
+
12
+ export const SAMBANOVA_PROVIDER: ModelCollection = {
13
+ provider: {
14
+ id: "sambanova",
15
+ name: "SambaNova",
16
+ description: "High-performance AI inference",
17
+ protocol: "openai-chat",
18
+ baseUrl: "https://api.sambanova.ai/v1",
19
+ defaultModelId: SAMBANOVA_DEFAULT_MODEL,
20
+ env: ["SAMBANOVA_API_KEY"],
21
+ },
22
+ models: SAMBANOVA_MODELS,
23
+ };
@@ -0,0 +1,34 @@
1
+ /**
2
+ * SAP AI Core Provider
3
+ */
4
+
5
+ import { getGeneratedModelsForProvider } from "../generated-access";
6
+ import type { ModelCollection, ModelInfo } from "../schemas/index";
7
+
8
+ const DEFAULT_SAP_AI_CORE_MODEL_ID = "anthropic--claude-3.5-sonnet";
9
+
10
+ export const SAP_AI_CORE_MODELS: Record<string, ModelInfo> = {
11
+ [DEFAULT_SAP_AI_CORE_MODEL_ID]: {
12
+ id: DEFAULT_SAP_AI_CORE_MODEL_ID,
13
+ name: "Claude 3.5 Sonnet (SAP AI Core)",
14
+ capabilities: ["streaming", "tools", "reasoning", "prompt-cache"],
15
+ },
16
+ ...getGeneratedModelsForProvider("sapaicore"),
17
+ };
18
+
19
+ export const SAP_AI_CORE_DEFAULT_MODEL =
20
+ Object.keys(SAP_AI_CORE_MODELS)[0] ?? DEFAULT_SAP_AI_CORE_MODEL_ID;
21
+
22
+ export const SAP_AI_CORE_PROVIDER: ModelCollection = {
23
+ provider: {
24
+ id: "sapaicore",
25
+ name: "SAP AI Core",
26
+ description: "SAP AI Core inference and orchestration platform",
27
+ protocol: "openai-chat",
28
+ baseUrl: "",
29
+ defaultModelId: SAP_AI_CORE_DEFAULT_MODEL,
30
+ capabilities: ["reasoning", "prompt-cache"],
31
+ env: ["AICORE_SERVICE_KEY", "VCAP_SERVICES"],
32
+ },
33
+ models: SAP_AI_CORE_MODELS,
34
+ };
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Together AI Models
3
+ */
4
+
5
+ import { getGeneratedModelsForProvider } from "../generated-access";
6
+ import type { ModelCollection, ModelInfo } from "../schemas/index";
7
+
8
+ export const TOGETHER_MODELS: Record<string, ModelInfo> =
9
+ getGeneratedModelsForProvider("together");
10
+
11
+ export const TOGETHER_DEFAULT_MODEL =
12
+ Object.keys(TOGETHER_MODELS)[0] ??
13
+ "meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo";
14
+
15
+ export const TOGETHER_PROVIDER: ModelCollection = {
16
+ provider: {
17
+ id: "together",
18
+ name: "Together AI",
19
+ description: "Fast inference for open-source models",
20
+ protocol: "openai-chat",
21
+ baseUrl: "https://api.together.xyz/v1",
22
+ defaultModelId: TOGETHER_DEFAULT_MODEL,
23
+ capabilities: ["reasoning"],
24
+ env: ["TOGETHER_API_KEY"],
25
+ },
26
+ models: TOGETHER_MODELS,
27
+ };
28
+
29
+ export function getTogetherLlamaModels(): Record<string, ModelInfo> {
30
+ return Object.fromEntries(
31
+ Object.entries(TOGETHER_MODELS).filter(([id]) =>
32
+ id.toLowerCase().includes("llama"),
33
+ ),
34
+ );
35
+ }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Vercel AI Gateway Provider
3
+ */
4
+
5
+ import { getGeneratedModelsForProvider } from "../generated-access";
6
+ import type { ModelCollection } from "../schemas/index";
7
+
8
+ const VERCEL_AI_GATEWAY_MODELS =
9
+ getGeneratedModelsForProvider("vercel-ai-gateway");
10
+
11
+ export const VERCEL_AI_GATEWAY_PROVIDER: ModelCollection = {
12
+ provider: {
13
+ id: "vercel-ai-gateway",
14
+ name: "Vercel AI Gateway",
15
+ description: "Vercel's AI gateway service",
16
+ protocol: "openai-chat",
17
+ baseUrl: "https://ai-gateway.vercel.app/v1",
18
+ defaultModelId: Object.keys(VERCEL_AI_GATEWAY_MODELS)[0],
19
+ capabilities: ["reasoning"],
20
+ env: ["AI_GATEWAY_API_KEY"],
21
+ },
22
+ models: getGeneratedModelsForProvider("vercel-ai-gateway"),
23
+ };
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Google Vertex AI Models
3
+ */
4
+
5
+ import { getGeneratedModelsForProvider } from "../generated-access";
6
+ import type { ModelCollection, ModelInfo } from "../schemas/index";
7
+
8
+ export const VERTEX_MODELS: Record<string, ModelInfo> =
9
+ getGeneratedModelsForProvider("vertex");
10
+
11
+ const VERTEX_MODEL_IDS = Object.keys(VERTEX_MODELS);
12
+ const DEFAULT_GEMINI_VERTEX_MODEL = VERTEX_MODEL_IDS.find(
13
+ (id) => !id.includes("claude"),
14
+ );
15
+
16
+ export const VERTEX_DEFAULT_MODEL =
17
+ DEFAULT_GEMINI_VERTEX_MODEL ?? VERTEX_MODEL_IDS[0] ?? "gemini-3-pro";
18
+
19
+ export const VERTEX_PROVIDER: ModelCollection = {
20
+ provider: {
21
+ id: "vertex",
22
+ name: "Google Vertex AI",
23
+ description: "Google Cloud Vertex AI (Gemini and partner models)",
24
+ protocol: "gemini",
25
+ defaultModelId: VERTEX_DEFAULT_MODEL,
26
+ capabilities: ["reasoning", "prompt-cache"],
27
+ env: [
28
+ "GCP_PROJECT_ID",
29
+ "GOOGLE_CLOUD_PROJECT",
30
+ "GOOGLE_APPLICATION_CREDENTIALS",
31
+ "GEMINI_API_KEY",
32
+ "GOOGLE_API_KEY",
33
+ ],
34
+ },
35
+ models: VERTEX_MODELS,
36
+ };
@@ -0,0 +1,34 @@
1
+ /**
2
+ * xAI Models
3
+ */
4
+
5
+ import { getGeneratedModelsForProvider } from "../generated-access";
6
+ import type { ModelCollection, ModelInfo } from "../schemas/index";
7
+
8
+ export const XAI_MODELS: Record<string, ModelInfo> =
9
+ getGeneratedModelsForProvider("xai");
10
+
11
+ export const XAI_DEFAULT_MODEL = Object.keys(XAI_MODELS)[0];
12
+
13
+ export const XAI_PROVIDER: ModelCollection = {
14
+ provider: {
15
+ id: "xai",
16
+ name: "xAI",
17
+ description: "Creator of Grok AI assistant",
18
+ protocol: "openai-chat",
19
+ baseUrl: "https://api.x.ai/v1",
20
+ defaultModelId: XAI_DEFAULT_MODEL,
21
+ capabilities: ["reasoning"],
22
+ env: ["XAI_API_KEY"],
23
+ },
24
+ models: XAI_MODELS,
25
+ };
26
+
27
+ export function getActiveXAIModels(): Record<string, ModelInfo> {
28
+ return Object.fromEntries(
29
+ Object.entries(XAI_MODELS).filter(
30
+ ([, info]) =>
31
+ !info.status || info.status === "active" || info.status === "preview",
32
+ ),
33
+ );
34
+ }
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Z.AI Models
3
+ */
4
+
5
+ import { getGeneratedModelsForProvider } from "../generated-access";
6
+ import type { ModelCollection, ModelInfo } from "../schemas/index";
7
+
8
+ export const ZAI_MODELS: Record<string, ModelInfo> =
9
+ getGeneratedModelsForProvider("zai");
10
+
11
+ export const ZAI_DEFAULT_MODEL = Object.keys(ZAI_MODELS)[0];
12
+
13
+ export const ZAI_PROVIDER: ModelCollection = {
14
+ provider: {
15
+ id: "zai",
16
+ name: "Z.AI",
17
+ description: "Z.AI's family of LLMs",
18
+ protocol: "openai-chat",
19
+ baseUrl: "https://api.z.ai/api/paas/v4",
20
+ defaultModelId: ZAI_DEFAULT_MODEL,
21
+ capabilities: ["reasoning"],
22
+ env: ["ZHIPU_API_KEY"],
23
+ },
24
+ models: ZAI_MODELS,
25
+ };