@rigelbuild/omp-catalog 18.0.3

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 (117) hide show
  1. package/CHANGELOG.md +1204 -0
  2. package/LICENSE +22 -0
  3. package/README.md +43 -0
  4. package/THIRD-PARTY-NOTICES.txt +22909 -0
  5. package/dist/types/build.d.ts +19 -0
  6. package/dist/types/compat/anthropic.d.ts +18 -0
  7. package/dist/types/compat/apply.d.ts +7 -0
  8. package/dist/types/compat/bedrock.d.ts +3 -0
  9. package/dist/types/compat/devin.d.ts +9 -0
  10. package/dist/types/compat/openai.d.ts +28 -0
  11. package/dist/types/discovery/antigravity.d.ts +70 -0
  12. package/dist/types/discovery/codex.d.ts +36 -0
  13. package/dist/types/discovery/cursor-proto.d.ts +5368 -0
  14. package/dist/types/discovery/cursor.d.ts +23 -0
  15. package/dist/types/discovery/devin-proto.d.ts +1549 -0
  16. package/dist/types/discovery/devin.d.ts +24 -0
  17. package/dist/types/discovery/gemini-cli.d.ts +33 -0
  18. package/dist/types/discovery/gemini.d.ts +25 -0
  19. package/dist/types/discovery/gitlab-duo-workflow.d.ts +30 -0
  20. package/dist/types/discovery/index.d.ts +7 -0
  21. package/dist/types/discovery/openai-compatible.d.ts +89 -0
  22. package/dist/types/discovery/protobuf.d.ts +102 -0
  23. package/dist/types/effort.d.ts +10 -0
  24. package/dist/types/fireworks-model-id.d.ts +23 -0
  25. package/dist/types/hosts.d.ts +169 -0
  26. package/dist/types/identity/bundled.d.ts +3 -0
  27. package/dist/types/identity/classify.d.ts +69 -0
  28. package/dist/types/identity/dialect.d.ts +3 -0
  29. package/dist/types/identity/family.d.ts +239 -0
  30. package/dist/types/identity/id.d.ts +12 -0
  31. package/dist/types/identity/index.d.ts +8 -0
  32. package/dist/types/identity/markers.d.ts +4 -0
  33. package/dist/types/identity/priority.d.ts +1 -0
  34. package/dist/types/identity/reference.d.ts +29 -0
  35. package/dist/types/index.d.ts +19 -0
  36. package/dist/types/model-cache.d.ts +23 -0
  37. package/dist/types/model-manager.d.ts +77 -0
  38. package/dist/types/model-thinking.d.ts +70 -0
  39. package/dist/types/model-tokenizer.d.ts +8 -0
  40. package/dist/types/models.d.ts +14 -0
  41. package/dist/types/openai-pricing.d.ts +17 -0
  42. package/dist/types/provider-models/bundled-references.d.ts +13 -0
  43. package/dist/types/provider-models/cache-provider-id.d.ts +11 -0
  44. package/dist/types/provider-models/descriptor-types.d.ts +76 -0
  45. package/dist/types/provider-models/descriptors.d.ts +505 -0
  46. package/dist/types/provider-models/google.d.ts +29 -0
  47. package/dist/types/provider-models/index.d.ts +7 -0
  48. package/dist/types/provider-models/ollama.d.ts +22 -0
  49. package/dist/types/provider-models/openai-compat.d.ts +646 -0
  50. package/dist/types/provider-models/special.d.ts +53 -0
  51. package/dist/types/types.d.ts +876 -0
  52. package/dist/types/utils.d.ts +20 -0
  53. package/dist/types/variant-collapse.d.ts +137 -0
  54. package/dist/types/wire/alibaba-token-plan.d.ts +22 -0
  55. package/dist/types/wire/codex.d.ts +66 -0
  56. package/dist/types/wire/coreweave.d.ts +12 -0
  57. package/dist/types/wire/gemini-headers.d.ts +62 -0
  58. package/dist/types/wire/github-copilot.d.ts +47 -0
  59. package/dist/types/wire/image-fetchers.d.ts +76 -0
  60. package/package.json +102 -0
  61. package/src/build.ts +103 -0
  62. package/src/compat/anthropic.ts +179 -0
  63. package/src/compat/apply.ts +15 -0
  64. package/src/compat/bedrock.ts +153 -0
  65. package/src/compat/devin.ts +12 -0
  66. package/src/compat/openai.ts +864 -0
  67. package/src/discovery/antigravity.ts +257 -0
  68. package/src/discovery/codex.ts +456 -0
  69. package/src/discovery/cursor-proto.ts +8329 -0
  70. package/src/discovery/cursor.ts +409 -0
  71. package/src/discovery/devin-proto.ts +2037 -0
  72. package/src/discovery/devin.ts +152 -0
  73. package/src/discovery/gemini-cli.ts +198 -0
  74. package/src/discovery/gemini.ts +260 -0
  75. package/src/discovery/gitlab-duo-workflow.ts +859 -0
  76. package/src/discovery/index.ts +7 -0
  77. package/src/discovery/openai-compatible.ts +266 -0
  78. package/src/discovery/protobuf.ts +1073 -0
  79. package/src/effort.ts +18 -0
  80. package/src/fireworks-model-id.ts +50 -0
  81. package/src/hosts.ts +178 -0
  82. package/src/identity/bundled.ts +28 -0
  83. package/src/identity/classify.ts +242 -0
  84. package/src/identity/dialect.ts +42 -0
  85. package/src/identity/family.ts +477 -0
  86. package/src/identity/id.ts +81 -0
  87. package/src/identity/index.ts +8 -0
  88. package/src/identity/markers.ts +49 -0
  89. package/src/identity/priority.ts +59 -0
  90. package/src/identity/reference.ts +167 -0
  91. package/src/index.ts +19 -0
  92. package/src/model-cache.ts +346 -0
  93. package/src/model-manager.ts +683 -0
  94. package/src/model-thinking.ts +925 -0
  95. package/src/model-tokenizer.ts +75 -0
  96. package/src/models.json +304657 -0
  97. package/src/models.json.d.ts +9 -0
  98. package/src/models.ts +108 -0
  99. package/src/openai-pricing.ts +29 -0
  100. package/src/provider-models/bundled-references.ts +87 -0
  101. package/src/provider-models/cache-provider-id.ts +97 -0
  102. package/src/provider-models/descriptor-types.ts +85 -0
  103. package/src/provider-models/descriptors.ts +585 -0
  104. package/src/provider-models/google.ts +117 -0
  105. package/src/provider-models/index.ts +7 -0
  106. package/src/provider-models/ollama.ts +204 -0
  107. package/src/provider-models/openai-compat.ts +6405 -0
  108. package/src/provider-models/special.ts +213 -0
  109. package/src/types.ts +1032 -0
  110. package/src/utils.ts +69 -0
  111. package/src/variant-collapse.ts +1555 -0
  112. package/src/wire/alibaba-token-plan.ts +54 -0
  113. package/src/wire/codex.ts +117 -0
  114. package/src/wire/coreweave.ts +51 -0
  115. package/src/wire/gemini-headers.ts +135 -0
  116. package/src/wire/github-copilot.ts +147 -0
  117. package/src/wire/image-fetchers.ts +159 -0
@@ -0,0 +1,505 @@
1
+ /**
2
+ * The provider catalog table: one entry per chat-model provider, carrying the
3
+ * catalog half of what used to live in `@oh-my-pi/pi-ai`'s registry definitions
4
+ * (default model, runtime model-manager factory, discovery wiring). The auth
5
+ * half (env keys, OAuth login/refresh) stays in the pi-ai registry, which
6
+ * type-checks itself against `KnownProvider` from this table.
7
+ */
8
+ import type { ModelManagerConfig, ProviderCatalogEntry, ProviderDescriptor } from "./descriptor-types.js";
9
+ export declare const CATALOG_PROVIDERS: readonly [{
10
+ readonly id: "aiand";
11
+ readonly defaultModel: "moonshotai/kimi-k2.7-code";
12
+ readonly envVars: readonly ["AIAND_API_KEY"];
13
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-completions", unknown>;
14
+ readonly dynamicModelsAuthoritative: true;
15
+ readonly catalogDiscovery: {
16
+ readonly label: "ai&";
17
+ };
18
+ }, {
19
+ readonly id: "aimlapi";
20
+ readonly defaultModel: "gpt-5.5-2026-04-23";
21
+ readonly envVars: readonly ["AIMLAPI_API_KEY"];
22
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-completions", unknown>;
23
+ readonly dynamicModelsAuthoritative: true;
24
+ readonly catalogDiscovery: {
25
+ readonly label: "AIML API";
26
+ };
27
+ }, {
28
+ readonly id: "alibaba-coding-plan";
29
+ readonly defaultModel: "qwen3.7-plus";
30
+ readonly envVars: readonly ["ALIBABA_CODING_PLAN_API_KEY"];
31
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-completions", unknown>;
32
+ readonly catalogDiscovery: {
33
+ readonly label: "Alibaba Coding Plan";
34
+ };
35
+ }, {
36
+ readonly id: "alibaba-token-plan";
37
+ readonly defaultModel: "qwen3.7-plus";
38
+ readonly envVars: readonly ["ALIBABA_TOKEN_PLAN_API_KEY", "BAILIAN_TOKEN_PLAN_API_KEY"];
39
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-completions", unknown>;
40
+ readonly dynamicModelsAuthoritative: true;
41
+ readonly catalogDiscovery: {
42
+ readonly label: "QwenCloud Token Plan";
43
+ };
44
+ }, {
45
+ readonly id: "baseten";
46
+ readonly defaultModel: "moonshotai/Kimi-K2.7-Code";
47
+ readonly envVars: readonly ["BASETEN_API_KEY"];
48
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-completions", unknown>;
49
+ readonly dynamicModelsAuthoritative: true;
50
+ readonly catalogDiscovery: {
51
+ readonly label: "Baseten";
52
+ };
53
+ }, {
54
+ readonly id: "amazon-bedrock";
55
+ readonly defaultModel: "us.anthropic.claude-opus-4-8";
56
+ }, {
57
+ readonly id: "bedrock-mantle";
58
+ readonly defaultModel: "openai.gpt-5.6-terra";
59
+ readonly envVars: readonly ["AWS_BEARER_TOKEN_BEDROCK"];
60
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-responses", unknown>;
61
+ readonly dynamicModelsAuthoritative: true;
62
+ }, {
63
+ readonly id: "anthropic";
64
+ readonly defaultModel: "claude-opus-4-8";
65
+ readonly envVars: readonly ["ANTHROPIC_API_KEY"];
66
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"anthropic-messages", unknown>;
67
+ readonly catalogDiscovery: {
68
+ readonly label: "Anthropic";
69
+ };
70
+ }, {
71
+ readonly id: "azure";
72
+ readonly defaultModel: "gpt-5.5";
73
+ readonly envVars: readonly ["AZURE_OPENAI_API_KEY"];
74
+ }, {
75
+ readonly id: "cerebras";
76
+ readonly defaultModel: "zai-glm-4.7";
77
+ readonly envVars: readonly ["CEREBRAS_API_KEY"];
78
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-completions", unknown>;
79
+ readonly catalogDiscovery: {
80
+ readonly label: "Cerebras";
81
+ };
82
+ }, {
83
+ readonly id: "cloudflare-ai-gateway";
84
+ readonly defaultModel: "anthropic/claude-opus-4-8";
85
+ readonly envVars: readonly ["CLOUDFLARE_AI_GATEWAY_API_KEY"];
86
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"anthropic-messages", unknown>;
87
+ readonly catalogDiscovery: {
88
+ readonly label: "Cloudflare AI Gateway";
89
+ };
90
+ }, {
91
+ readonly id: "cursor";
92
+ readonly defaultModel: "claude-4.6-opus-high";
93
+ readonly envVars: readonly ["CURSOR_ACCESS_TOKEN"];
94
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"cursor-agent", unknown>;
95
+ readonly catalogDiscovery: {
96
+ readonly label: "Cursor";
97
+ readonly envVars: readonly ["CURSOR_API_KEY"];
98
+ readonly oauthProvider: "cursor";
99
+ };
100
+ }, {
101
+ readonly id: "deepseek";
102
+ readonly defaultModel: "deepseek-v4-pro";
103
+ readonly envVars: readonly ["DEEPSEEK_API_KEY"];
104
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-completions", unknown>;
105
+ readonly catalogDiscovery: {
106
+ readonly label: "DeepSeek";
107
+ };
108
+ }, {
109
+ readonly id: "devin";
110
+ readonly defaultModel: "swe-1-6";
111
+ readonly envVars: readonly ["DEVIN_API_KEY"];
112
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"devin-agent", unknown>;
113
+ readonly dynamicModelsAuthoritative: true;
114
+ readonly catalogDiscovery: {
115
+ readonly label: "Devin";
116
+ readonly envVars: readonly ["DEVIN_API_KEY"];
117
+ readonly oauthProvider: "devin";
118
+ };
119
+ }, {
120
+ readonly id: "firepass";
121
+ readonly defaultModel: "kimi-k2.6-turbo";
122
+ readonly envVars: readonly ["FIREPASS_API_KEY"];
123
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-completions", unknown>;
124
+ }, {
125
+ readonly id: "fireworks";
126
+ readonly defaultModel: "kimi-k2.7-code";
127
+ readonly envVars: readonly ["FIREWORKS_API_KEY"];
128
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-completions", unknown>;
129
+ readonly catalogDiscovery: {
130
+ readonly label: "Fireworks";
131
+ };
132
+ }, {
133
+ readonly id: "github-copilot";
134
+ readonly defaultModel: "gpt-5.5";
135
+ readonly envVars: readonly ["COPILOT_GITHUB_TOKEN"];
136
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<import("../index.js").Api, unknown>;
137
+ }, {
138
+ readonly id: "gitlab-duo";
139
+ readonly defaultModel: "duo-chat-opus-4-6";
140
+ readonly envVars: readonly ["GITLAB_TOKEN"];
141
+ }, {
142
+ readonly id: "gitlab-duo-agent";
143
+ readonly defaultModel: "claude_sonnet_4_6_vertex";
144
+ readonly envVars: readonly ["GITLAB_TOKEN"];
145
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"gitlab-duo-agent", unknown>;
146
+ readonly dynamicModelsAuthoritative: true;
147
+ }, {
148
+ readonly id: "gmi-cloud";
149
+ readonly defaultModel: "deepseek-ai/DeepSeek-V4-Flash";
150
+ readonly envVars: readonly ["GMI_API_KEY"];
151
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-completions", unknown>;
152
+ readonly dynamicModelsAuthoritative: true;
153
+ readonly catalogDiscovery: {
154
+ readonly label: "GMI Cloud";
155
+ };
156
+ }, {
157
+ readonly id: "google";
158
+ readonly defaultModel: "gemini-3.1-pro-preview";
159
+ readonly envVars: readonly ["GEMINI_API_KEY"];
160
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"google-generative-ai", unknown>;
161
+ }, {
162
+ readonly id: "google-antigravity";
163
+ readonly defaultModel: "gemini-3.1-pro";
164
+ readonly specialModelManager: true;
165
+ }, {
166
+ readonly id: "google-gemini-cli";
167
+ readonly defaultModel: "gemini-3.1-pro-preview";
168
+ readonly specialModelManager: true;
169
+ }, {
170
+ readonly id: "google-vertex";
171
+ readonly defaultModel: "gemini-3.1-pro-preview";
172
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<import("../index.js").Api, unknown>;
173
+ readonly allowUnauthenticated: true;
174
+ }, {
175
+ readonly id: "groq";
176
+ readonly defaultModel: "openai/gpt-oss-120b";
177
+ readonly envVars: readonly ["GROQ_API_KEY"];
178
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-completions", unknown>;
179
+ }, {
180
+ readonly id: "huggingface";
181
+ readonly defaultModel: "deepseek-ai/DeepSeek-R1";
182
+ readonly envVars: readonly ["HUGGINGFACE_HUB_TOKEN", "HF_TOKEN"];
183
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-completions", unknown>;
184
+ readonly catalogDiscovery: {
185
+ readonly label: "Hugging Face";
186
+ };
187
+ }, {
188
+ readonly id: "kilo";
189
+ readonly defaultModel: "anthropic/claude-opus-4.8";
190
+ readonly envVars: readonly ["KILO_API_KEY"];
191
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-completions", unknown>;
192
+ readonly catalogDiscovery: {
193
+ readonly label: "Kilo Gateway";
194
+ readonly allowUnauthenticated: true;
195
+ };
196
+ }, {
197
+ readonly id: "kimi-code";
198
+ readonly defaultModel: "kimi-for-coding";
199
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-completions", unknown>;
200
+ readonly catalogDiscovery: {
201
+ readonly label: "Kimi Code";
202
+ readonly envVars: readonly ["KIMI_API_KEY"];
203
+ };
204
+ }, {
205
+ readonly id: "litellm";
206
+ readonly defaultModel: "claude-opus-4-8";
207
+ readonly envVars: readonly ["LITELLM_API_KEY"];
208
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<import("../index.js").Api, unknown>;
209
+ readonly catalogDiscovery: {
210
+ readonly label: "LiteLLM";
211
+ readonly allowUnauthenticated: true;
212
+ };
213
+ }, {
214
+ readonly id: "lm-studio";
215
+ readonly defaultModel: "llama-3-8b";
216
+ readonly envVars: readonly ["LM_STUDIO_API_KEY"];
217
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-completions", unknown>;
218
+ readonly allowUnauthenticated: true;
219
+ }, {
220
+ readonly id: "minimax";
221
+ readonly defaultModel: "MiniMax-M3";
222
+ readonly envVars: readonly ["MINIMAX_API_KEY"];
223
+ }, {
224
+ readonly id: "minimax-code";
225
+ readonly defaultModel: "MiniMax-M3";
226
+ readonly envVars: readonly ["MINIMAX_CODE_API_KEY"];
227
+ }, {
228
+ readonly id: "minimax-code-cn";
229
+ readonly defaultModel: "MiniMax-M3";
230
+ readonly envVars: readonly ["MINIMAX_CODE_CN_API_KEY"];
231
+ }, {
232
+ readonly id: "mistral";
233
+ readonly defaultModel: "devstral-medium-latest";
234
+ readonly envVars: readonly ["MISTRAL_API_KEY"];
235
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-completions", unknown>;
236
+ }, {
237
+ readonly id: "meta";
238
+ readonly defaultModel: "muse-spark-1.1";
239
+ readonly envVars: readonly ["MODEL_API_KEY", "META_API_KEY"];
240
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-responses", unknown>;
241
+ readonly catalogDiscovery: {
242
+ readonly label: "Meta Model API";
243
+ };
244
+ }, {
245
+ readonly id: "moonshot";
246
+ readonly defaultModel: "kimi-k2.7-code";
247
+ readonly envVars: readonly ["MOONSHOT_API_KEY", "KIMI_API_KEY"];
248
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-completions", unknown>;
249
+ readonly catalogDiscovery: {
250
+ readonly label: "Moonshot";
251
+ };
252
+ }, {
253
+ readonly id: "nanogpt";
254
+ readonly defaultModel: "openai/gpt-5.5";
255
+ readonly envVars: readonly ["NANO_GPT_API_KEY"];
256
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-completions", unknown>;
257
+ readonly catalogDiscovery: {
258
+ readonly label: "NanoGPT";
259
+ };
260
+ }, {
261
+ readonly id: "nvidia";
262
+ readonly defaultModel: "nvidia/llama-3.1-nemotron-70b-instruct";
263
+ readonly envVars: readonly ["NVIDIA_API_KEY"];
264
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-completions", unknown>;
265
+ readonly catalogDiscovery: {
266
+ readonly label: "NVIDIA";
267
+ };
268
+ }, {
269
+ readonly id: "novita";
270
+ readonly defaultModel: "moonshotai/kimi-k2.7-code";
271
+ readonly envVars: readonly ["NOVITA_API_KEY"];
272
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-completions", unknown>;
273
+ readonly dynamicModelsAuthoritative: true;
274
+ readonly catalogDiscovery: {
275
+ readonly label: "Novita";
276
+ readonly allowUnauthenticated: true;
277
+ };
278
+ }, {
279
+ readonly id: "ollama";
280
+ readonly defaultModel: "gpt-oss:20b";
281
+ readonly envVars: readonly ["OLLAMA_API_KEY"];
282
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-responses", unknown>;
283
+ readonly allowUnauthenticated: true;
284
+ }, {
285
+ readonly id: "ollama-cloud";
286
+ readonly defaultModel: "gpt-oss:120b";
287
+ readonly envVars: readonly ["OLLAMA_CLOUD_API_KEY"];
288
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"ollama-chat", unknown>;
289
+ readonly catalogDiscovery: {
290
+ readonly label: "Ollama Cloud";
291
+ readonly oauthProvider: "ollama-cloud";
292
+ };
293
+ }, {
294
+ readonly id: "openai";
295
+ readonly defaultModel: "gpt-5.5";
296
+ readonly envVars: readonly ["OPENAI_API_KEY"];
297
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-responses", unknown>;
298
+ }, {
299
+ readonly id: "openai-codex";
300
+ readonly defaultModel: "gpt-5.5";
301
+ readonly envVars: readonly ["OPENAI_CODEX_OAUTH_TOKEN"];
302
+ readonly specialModelManager: true;
303
+ }, {
304
+ readonly id: "opencode-go";
305
+ readonly defaultModel: "kimi-k2.7-code";
306
+ readonly envVars: readonly ["OPENCODE_API_KEY"];
307
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<import("../index.js").Api, unknown>;
308
+ readonly dynamicModelsAuthoritative: true;
309
+ }, {
310
+ readonly id: "opencode-zen";
311
+ readonly defaultModel: "claude-opus-4-8";
312
+ readonly envVars: readonly ["OPENCODE_API_KEY"];
313
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<import("../index.js").Api, unknown>;
314
+ readonly dynamicModelsAuthoritative: true;
315
+ }, {
316
+ readonly id: "openrouter";
317
+ readonly defaultModel: "openai/gpt-5.5";
318
+ readonly envVars: readonly ["OPENROUTER_API_KEY"];
319
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openrouter", unknown>;
320
+ readonly catalogDiscovery: {
321
+ readonly label: "OpenRouter";
322
+ readonly allowUnauthenticated: true;
323
+ };
324
+ }, {
325
+ readonly id: "qianfan";
326
+ readonly defaultModel: "deepseek-v3.2";
327
+ readonly envVars: readonly ["QIANFAN_API_KEY"];
328
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-completions", unknown>;
329
+ readonly catalogDiscovery: {
330
+ readonly label: "Qianfan";
331
+ };
332
+ }, {
333
+ readonly id: "qwen-portal";
334
+ readonly defaultModel: "coder-model";
335
+ readonly envVars: readonly ["QWEN_OAUTH_TOKEN", "QWEN_PORTAL_API_KEY"];
336
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-completions", unknown>;
337
+ readonly catalogDiscovery: {
338
+ readonly label: "Qwen Portal";
339
+ readonly oauthProvider: "qwen-portal";
340
+ };
341
+ }, {
342
+ readonly id: "sakana";
343
+ readonly defaultModel: "fugu";
344
+ readonly envVars: readonly ["SAKANA_API_KEY", "FUGU_API_KEY"];
345
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-responses", unknown>;
346
+ readonly dynamicModelsAuthoritative: true;
347
+ readonly catalogDiscovery: {
348
+ readonly label: "Sakana AI";
349
+ };
350
+ }, {
351
+ readonly id: "siliconflow";
352
+ readonly defaultModel: "zai-org/GLM-5.1";
353
+ readonly envVars: readonly ["SILICONFLOW_API_KEY"];
354
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-completions", unknown>;
355
+ readonly dynamicModelsAuthoritative: true;
356
+ }, {
357
+ readonly id: "siliconflow-cn";
358
+ readonly defaultModel: "deepseek-ai/DeepSeek-V4-Pro";
359
+ readonly envVars: readonly ["SILICONFLOW_CN_API_KEY"];
360
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-completions", unknown>;
361
+ readonly dynamicModelsAuthoritative: true;
362
+ }, {
363
+ readonly id: "synthetic";
364
+ readonly defaultModel: "hf:zai-org/GLM-5.1";
365
+ readonly envVars: readonly ["SYNTHETIC_API_KEY"];
366
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-completions", unknown>;
367
+ readonly dynamicModelsAuthoritative: true;
368
+ readonly catalogDiscovery: {
369
+ readonly label: "Synthetic";
370
+ };
371
+ }, {
372
+ readonly id: "together";
373
+ readonly defaultModel: "moonshotai/Kimi-K2.7-Code";
374
+ readonly envVars: readonly ["TOGETHER_API_KEY"];
375
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-completions", unknown>;
376
+ readonly catalogDiscovery: {
377
+ readonly label: "Together";
378
+ };
379
+ }, {
380
+ readonly id: "umans";
381
+ readonly defaultModel: "umans-coder";
382
+ readonly envVars: readonly ["UMANS_AI_CODING_PLAN_API_KEY"];
383
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"anthropic-messages", unknown>;
384
+ readonly dynamicModelsAuthoritative: true;
385
+ readonly catalogDiscovery: {
386
+ readonly label: "Umans AI Coding Plan";
387
+ readonly allowUnauthenticated: true;
388
+ };
389
+ }, {
390
+ readonly id: "venice";
391
+ readonly defaultModel: "llama-3.3-70b";
392
+ readonly envVars: readonly ["VENICE_API_KEY"];
393
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-completions", unknown>;
394
+ readonly catalogDiscovery: {
395
+ readonly label: "Venice";
396
+ readonly allowUnauthenticated: true;
397
+ };
398
+ }, {
399
+ readonly id: "vercel-ai-gateway";
400
+ readonly defaultModel: "anthropic/claude-opus-4.8";
401
+ readonly envVars: readonly ["AI_GATEWAY_API_KEY"];
402
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"anthropic-messages", unknown>;
403
+ readonly catalogDiscovery: {
404
+ readonly label: "Vercel AI Gateway";
405
+ readonly envVars: readonly ["VERCEL_AI_GATEWAY_API_KEY"];
406
+ readonly allowUnauthenticated: true;
407
+ };
408
+ }, {
409
+ readonly id: "vllm";
410
+ readonly defaultModel: "gpt-oss-20b";
411
+ readonly envVars: readonly ["VLLM_API_KEY"];
412
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-completions", unknown>;
413
+ readonly catalogDiscovery: {
414
+ readonly label: "vLLM";
415
+ readonly allowUnauthenticated: true;
416
+ };
417
+ }, {
418
+ readonly id: "wafer-serverless";
419
+ readonly defaultModel: "GLM-5.1";
420
+ readonly envVars: readonly ["WAFER_SERVERLESS_API_KEY"];
421
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-completions", unknown>;
422
+ readonly catalogDiscovery: {
423
+ readonly label: "Wafer Serverless";
424
+ readonly oauthProvider: "wafer-serverless";
425
+ };
426
+ }, {
427
+ readonly id: "coreweave";
428
+ readonly defaultModel: "openai/gpt-oss-120b";
429
+ readonly envVars: readonly ["COREWEAVE_API_KEY", "WANDB_API_KEY"];
430
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-completions", unknown>;
431
+ readonly dynamicModelsAuthoritative: true;
432
+ readonly catalogDiscovery: {
433
+ readonly label: "CoreWeave Serverless Inference";
434
+ };
435
+ }, {
436
+ readonly id: "xai";
437
+ readonly defaultModel: "grok-4.6";
438
+ readonly envVars: readonly ["XAI_API_KEY"];
439
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-responses", unknown>;
440
+ }, {
441
+ readonly id: "xai-oauth";
442
+ readonly defaultModel: "grok-4.6";
443
+ readonly envVars: readonly ["XAI_OAUTH_TOKEN", "XAI_API_KEY"];
444
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-responses", unknown>;
445
+ readonly catalogDiscovery: {
446
+ readonly label: "xAI Grok OAuth (SuperGrok)";
447
+ readonly oauthProvider: "xai-oauth";
448
+ };
449
+ }, {
450
+ readonly id: "xiaomi";
451
+ readonly defaultModel: "mimo-v2.5";
452
+ readonly envVars: readonly ["XIAOMI_API_KEY"];
453
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-completions", unknown>;
454
+ readonly catalogDiscovery: {
455
+ readonly label: "Xiaomi";
456
+ };
457
+ }, {
458
+ readonly id: "xiaomi-token-plan-ams";
459
+ readonly defaultModel: "mimo-v2.5";
460
+ readonly envVars: readonly ["XIAOMI_TOKEN_PLAN_AMS_API_KEY"];
461
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-completions", unknown>;
462
+ }, {
463
+ readonly id: "xiaomi-token-plan-cn";
464
+ readonly defaultModel: "mimo-v2.5";
465
+ readonly envVars: readonly ["XIAOMI_TOKEN_PLAN_CN_API_KEY"];
466
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-completions", unknown>;
467
+ }, {
468
+ readonly id: "xiaomi-token-plan-sgp";
469
+ readonly defaultModel: "mimo-v2.5";
470
+ readonly envVars: readonly ["XIAOMI_TOKEN_PLAN_SGP_API_KEY"];
471
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-completions", unknown>;
472
+ }, {
473
+ readonly id: "zai";
474
+ readonly defaultModel: "glm-5.3";
475
+ readonly envVars: readonly ["ZAI_API_KEY"];
476
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"anthropic-messages", unknown>;
477
+ readonly catalogDiscovery: {
478
+ readonly label: "zAI";
479
+ };
480
+ }, {
481
+ readonly id: "zenmux";
482
+ readonly defaultModel: "anthropic/claude-opus-4.8";
483
+ readonly envVars: readonly ["ZENMUX_API_KEY"];
484
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<import("../index.js").Api, unknown>;
485
+ readonly allowUnauthenticated: true;
486
+ readonly catalogDiscovery: {
487
+ readonly label: "ZenMux";
488
+ readonly allowUnauthenticated: true;
489
+ };
490
+ }, {
491
+ readonly id: "zhipu-coding-plan";
492
+ readonly defaultModel: "glm-5.1";
493
+ readonly envVars: readonly ["ZHIPU_API_KEY"];
494
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-completions", unknown>;
495
+ readonly dynamicModelsAuthoritative: true;
496
+ readonly catalogDiscovery: {
497
+ readonly label: "Zhipu Coding Plan";
498
+ };
499
+ }];
500
+ /** Chat-model providers — every entry in the catalog table. */
501
+ export type KnownProvider = (typeof CATALOG_PROVIDERS)[number]["id"];
502
+ export declare const PROVIDER_DESCRIPTORS: readonly ProviderDescriptor[];
503
+ /** Default model IDs for all known providers, derived from the catalog table. */
504
+ export declare const DEFAULT_MODEL_PER_PROVIDER: Record<KnownProvider, string>;
505
+ export declare function getCatalogProviderEntry(id: string): ProviderCatalogEntry | undefined;
@@ -0,0 +1,29 @@
1
+ import type { ModelManagerOptions } from "../model-manager.js";
2
+ import type { FetchImpl } from "../types.js";
3
+ export interface GoogleModelManagerConfig {
4
+ apiKey?: string;
5
+ fetch?: FetchImpl;
6
+ }
7
+ export interface GoogleVertexModelManagerConfig {
8
+ apiKey?: string;
9
+ project?: string;
10
+ location?: string;
11
+ signal?: AbortSignal;
12
+ fetch?: FetchImpl;
13
+ }
14
+ export interface GoogleAntigravityModelManagerConfig {
15
+ oauthToken?: string;
16
+ endpoint?: string;
17
+ fetch?: FetchImpl;
18
+ }
19
+ export interface GoogleGeminiCliModelManagerConfig {
20
+ oauthToken?: string;
21
+ /** GCP project id required by Workspace/Standard credentials for quota discovery. */
22
+ projectId?: string;
23
+ endpoint?: string;
24
+ fetch?: FetchImpl;
25
+ }
26
+ export declare function googleModelManagerOptions(config?: GoogleModelManagerConfig): ModelManagerOptions<"google-generative-ai">;
27
+ export declare function googleVertexModelManagerOptions(_config?: GoogleVertexModelManagerConfig): ModelManagerOptions;
28
+ export declare function googleAntigravityModelManagerOptions(config?: GoogleAntigravityModelManagerConfig): ModelManagerOptions<"google-gemini-cli">;
29
+ export declare function googleGeminiCliModelManagerOptions(config?: GoogleGeminiCliModelManagerConfig): ModelManagerOptions<"google-gemini-cli">;
@@ -0,0 +1,7 @@
1
+ export * from "./cache-provider-id.js";
2
+ export * from "./descriptor-types.js";
3
+ export * from "./descriptors.js";
4
+ export * from "./google.js";
5
+ export * from "./ollama.js";
6
+ export * from "./openai-compat.js";
7
+ export * from "./special.js";
@@ -0,0 +1,22 @@
1
+ import type { ModelManagerOptions } from "../model-manager.js";
2
+ import type { FetchImpl } from "../types.js";
3
+ export interface OllamaCloudModelManagerConfig {
4
+ apiKey?: string;
5
+ baseUrl?: string;
6
+ fetch?: FetchImpl;
7
+ }
8
+ /**
9
+ * Output-token ceiling that Ollama Cloud enforces for the DeepSeek V4 Pro/Flash
10
+ * deployments: `/api/chat` rejects `num_predict` above it with HTTP 400
11
+ * (`max_tokens (...) exceeds model's maximum output tokens (65536)`) even though
12
+ * the model pages advertise a 1M context / 384K output. Ollama's `/api/show`
13
+ * never reports this cap, so the catalog pins it for the affected models
14
+ * (ollama/ollama#16890, #7266). The wire layer clamps `num_predict` to the same
15
+ * value (`OLLAMA_CLOUD_NUM_PREDICT_CAP` in `packages/ai/src/providers/ollama.ts`,
16
+ * #3392/#3394).
17
+ */
18
+ export declare const OLLAMA_CLOUD_MAX_OUTPUT_TOKENS = 65536;
19
+ /** Whether an Ollama Cloud model id (tagged or not) enforces the 65536 output cap. */
20
+ export declare function isOllamaCloudOutputCapped(id: string): boolean;
21
+ export declare function normalizeOllamaCloudBaseUrl(baseUrl?: string): string;
22
+ export declare function ollamaCloudModelManagerOptions(config?: OllamaCloudModelManagerConfig): ModelManagerOptions<"ollama-chat">;