@runtypelabs/cli 1.8.0 → 1.8.2

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.
package/dist/index.js CHANGED
@@ -1,126 +1,4509 @@
1
1
  #!/usr/bin/env node
2
+ var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
4
8
  var __esm = (fn, res) => function __init() {
5
9
  return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
6
10
  };
11
+ var __commonJS = (cb, mod) => function __require() {
12
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
13
+ };
7
14
  var __export = (target, all) => {
8
15
  for (var name in all)
9
16
  __defProp(target, name, { get: all[name], enumerable: true });
10
17
  };
18
+ var __copyProps = (to, from, except, desc) => {
19
+ if (from && typeof from === "object" || typeof from === "function") {
20
+ for (let key of __getOwnPropNames(from))
21
+ if (!__hasOwnProp.call(to, key) && key !== except)
22
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
23
+ }
24
+ return to;
25
+ };
26
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
27
+ // If the importer is in node compatibility mode or this is not an ESM
28
+ // file that has been converted to a CommonJS file using a Babel-
29
+ // compatible transform (i.e. "__esModule" has not been set), then set
30
+ // "default" to the CommonJS "module.exports" for node compatibility.
31
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
32
+ mod
33
+ ));
11
34
 
12
35
  // src/auth/credential-store.ts
13
36
  var credential_store_exports = {};
14
37
  __export(credential_store_exports, {
15
38
  CredentialStore: () => CredentialStore
16
39
  });
17
- import Conf from "conf";
18
- import crypto2 from "crypto";
19
- import fs from "fs";
20
- import os from "os";
21
- import path from "path";
22
- function createConf(encryptionKey) {
23
- return new Conf({
24
- projectName: "runtype-cli",
25
- projectSuffix: "",
26
- configName: "credentials",
27
- encryptionKey,
28
- cwd: CREDENTIALS_DIR
29
- });
30
- }
31
- function isCorruptStoreError(error) {
32
- if (error instanceof SyntaxError) return true;
33
- const message = error instanceof Error ? error.message : String(error);
34
- return typeof message === "string" && message.includes("JSON");
35
- }
36
- var CREDENTIALS_DIR, CREDENTIALS_FILENAME, CREDENTIALS_PATH, CredentialStore;
37
- var init_credential_store = __esm({
38
- "src/auth/credential-store.ts"() {
40
+ import Conf from "conf";
41
+ import crypto2 from "crypto";
42
+ import fs from "fs";
43
+ import os from "os";
44
+ import path from "path";
45
+ function createConf(encryptionKey) {
46
+ return new Conf({
47
+ projectName: "runtype-cli",
48
+ projectSuffix: "",
49
+ configName: "credentials",
50
+ encryptionKey,
51
+ cwd: CREDENTIALS_DIR
52
+ });
53
+ }
54
+ function isCorruptStoreError(error) {
55
+ if (error instanceof SyntaxError) return true;
56
+ const message = error instanceof Error ? error.message : String(error);
57
+ return typeof message === "string" && message.includes("JSON");
58
+ }
59
+ var CREDENTIALS_DIR, CREDENTIALS_FILENAME, CREDENTIALS_PATH, CredentialStore;
60
+ var init_credential_store = __esm({
61
+ "src/auth/credential-store.ts"() {
62
+ "use strict";
63
+ CREDENTIALS_DIR = path.join(os.homedir(), ".runtype");
64
+ CREDENTIALS_FILENAME = "credentials.json";
65
+ CREDENTIALS_PATH = path.join(CREDENTIALS_DIR, CREDENTIALS_FILENAME);
66
+ CredentialStore = class {
67
+ config;
68
+ encryptionKey;
69
+ constructor() {
70
+ this.encryptionKey = this.getMachineKey();
71
+ try {
72
+ this.config = createConf(this.encryptionKey);
73
+ } catch (error) {
74
+ if (isCorruptStoreError(error)) {
75
+ try {
76
+ if (fs.existsSync(CREDENTIALS_PATH)) {
77
+ fs.unlinkSync(CREDENTIALS_PATH);
78
+ }
79
+ } catch {
80
+ }
81
+ this.config = createConf(this.encryptionKey);
82
+ } else {
83
+ throw error;
84
+ }
85
+ }
86
+ }
87
+ getMachineKey() {
88
+ const hostname = os.hostname();
89
+ const username = os.userInfo().username;
90
+ return crypto2.createHash("sha256").update(`runtype-cli-${hostname}-${username}`).digest("hex").substring(0, 32);
91
+ }
92
+ async saveCredentials(credentials) {
93
+ const configData = {
94
+ apiKey: this.encrypt(credentials.apiKey),
95
+ userId: credentials.userId,
96
+ createdAt: (/* @__PURE__ */ new Date()).toISOString(),
97
+ lastUsed: (/* @__PURE__ */ new Date()).toISOString()
98
+ };
99
+ if (credentials.orgId !== void 0) {
100
+ configData.orgId = credentials.orgId;
101
+ }
102
+ if (credentials.apiUrl !== void 0) {
103
+ configData.apiUrl = credentials.apiUrl;
104
+ }
105
+ this.config.set(configData);
106
+ }
107
+ async getApiKey() {
108
+ const encrypted = this.config.get("apiKey");
109
+ if (!encrypted) return null;
110
+ this.config.set("lastUsed", (/* @__PURE__ */ new Date()).toISOString());
111
+ return this.decrypt(encrypted);
112
+ }
113
+ async getCredentials() {
114
+ const stored = this.config.store;
115
+ if (!stored.apiKey) return null;
116
+ return {
117
+ ...stored,
118
+ apiKey: this.decrypt(stored.apiKey)
119
+ };
120
+ }
121
+ async clearCredentials() {
122
+ this.config.clear();
123
+ }
124
+ async hasCredentials() {
125
+ return !!this.config.get("apiKey");
126
+ }
127
+ encrypt(text) {
128
+ const algorithm = "aes-256-cbc";
129
+ const key = Buffer.from(this.encryptionKey);
130
+ const iv = crypto2.randomBytes(16);
131
+ const cipher = crypto2.createCipheriv(algorithm, key, iv);
132
+ let encrypted = cipher.update(text, "utf8", "hex");
133
+ encrypted += cipher.final("hex");
134
+ return iv.toString("hex") + ":" + encrypted;
135
+ }
136
+ decrypt(text) {
137
+ const algorithm = "aes-256-cbc";
138
+ const key = Buffer.from(this.encryptionKey);
139
+ const [ivHex, encrypted] = text.split(":");
140
+ const iv = Buffer.from(ivHex, "hex");
141
+ const decipher = crypto2.createDecipheriv(algorithm, key, iv);
142
+ let decrypted = decipher.update(encrypted, "hex", "utf8");
143
+ decrypted += decipher.final("utf8");
144
+ return decrypted;
145
+ }
146
+ };
147
+ }
148
+ });
149
+
150
+ // ../shared/dist/builtin-tools-registry.js
151
+ var require_builtin_tools_registry = __commonJS({
152
+ "../shared/dist/builtin-tools-registry.js"(exports) {
153
+ "use strict";
154
+ Object.defineProperty(exports, "__esModule", { value: true });
155
+ exports.BUILTIN_TOOLS_REGISTRY = exports.BuiltInToolCategory = exports.BuiltInToolProvider = void 0;
156
+ exports.getAllBuiltInTools = getAllBuiltInTools2;
157
+ exports.getBuiltInToolById = getBuiltInToolById2;
158
+ exports.getBuiltInToolsByProvider = getBuiltInToolsByProvider;
159
+ exports.getBuiltInToolsByCategory = getBuiltInToolsByCategory;
160
+ exports.isToolCompatibleWithModel = isToolCompatibleWithModel2;
161
+ exports.getCompatibleBuiltInTools = getCompatibleBuiltInTools;
162
+ exports.validateToolConfig = validateToolConfig;
163
+ exports.BuiltInToolProvider = {
164
+ OPENAI: "openai",
165
+ ANTHROPIC: "anthropic",
166
+ GOOGLE: "google",
167
+ MULTI: "multi"
168
+ // Available across multiple providers
169
+ };
170
+ exports.BuiltInToolCategory = {
171
+ IMAGE_GENERATION: "image_generation",
172
+ WEB_SEARCH: "web_search",
173
+ WEB_SCRAPING: "web_scraping",
174
+ CODE_EXECUTION: "code_execution",
175
+ FILE_OPERATIONS: "file_operations",
176
+ DATA_ANALYSIS: "data_analysis",
177
+ KNOWLEDGE_RETRIEVAL: "knowledge_retrieval",
178
+ TEXT_TO_SPEECH: "text_to_speech",
179
+ VOICE_PROCESSING: "voice_processing"
180
+ };
181
+ exports.BUILTIN_TOOLS_REGISTRY = [
182
+ // OpenAI DALL-E Image Generation
183
+ {
184
+ id: "dalle",
185
+ name: "DALL-E Image Generation",
186
+ description: "Generate images from text descriptions using DALL-E 3. Returns image URLs that can be viewed or downloaded.",
187
+ category: exports.BuiltInToolCategory.IMAGE_GENERATION,
188
+ providers: [exports.BuiltInToolProvider.OPENAI],
189
+ parametersSchema: {
190
+ type: "object",
191
+ properties: {
192
+ prompt: {
193
+ type: "string",
194
+ description: "A text description of the desired image(s) to generate",
195
+ minLength: 1,
196
+ maxLength: 4e3
197
+ },
198
+ size: {
199
+ type: "string",
200
+ description: "The size of the generated image",
201
+ enum: ["1024x1024", "1024x1792", "1792x1024"],
202
+ default: "1024x1024"
203
+ },
204
+ quality: {
205
+ type: "string",
206
+ description: "The quality of the image (standard or hd)",
207
+ enum: ["standard", "hd"],
208
+ default: "standard"
209
+ },
210
+ style: {
211
+ type: "string",
212
+ description: "The style of the generated image (vivid or natural)",
213
+ enum: ["vivid", "natural"],
214
+ default: "vivid"
215
+ }
216
+ },
217
+ required: ["prompt"]
218
+ },
219
+ defaultConfig: {
220
+ size: "1024x1024",
221
+ quality: "standard",
222
+ style: "vivid"
223
+ },
224
+ modelCompatibility: [
225
+ {
226
+ provider: exports.BuiltInToolProvider.OPENAI,
227
+ models: ["gpt-4o", "gpt-4o-mini", "gpt-4-turbo", "gpt-5", "gpt-5-mini"]
228
+ // Models that support tool calling
229
+ }
230
+ ],
231
+ documentationUrl: "https://platform.openai.com/docs/guides/image-generation",
232
+ requiresApiKey: true,
233
+ executionHint: "platform"
234
+ // Platform executes this by calling DALL-E API
235
+ },
236
+ // OpenAI Web Search (native provider tool)
237
+ {
238
+ id: "openai_web_search",
239
+ name: "OpenAI Web Search",
240
+ description: "Search the web for current information using OpenAI's native web search capability. The model can access real-time information from the internet.",
241
+ category: exports.BuiltInToolCategory.WEB_SEARCH,
242
+ providers: [exports.BuiltInToolProvider.OPENAI],
243
+ parametersSchema: {
244
+ type: "object",
245
+ properties: {
246
+ searchContextSize: {
247
+ type: "string",
248
+ description: "Amount of context to provide from search results",
249
+ enum: ["low", "medium", "high"],
250
+ default: "medium"
251
+ },
252
+ userLocationType: {
253
+ type: "string",
254
+ description: "Type of user location to use for search context",
255
+ enum: ["none", "approximate", "exact"],
256
+ default: "none"
257
+ },
258
+ userLocationCity: {
259
+ type: "string",
260
+ description: "City name for approximate location context"
261
+ },
262
+ userLocationRegion: {
263
+ type: "string",
264
+ description: "Region/State name for approximate location context"
265
+ }
266
+ },
267
+ required: []
268
+ },
269
+ defaultConfig: {
270
+ searchContextSize: "medium",
271
+ userLocationType: "none"
272
+ },
273
+ modelCompatibility: [
274
+ {
275
+ provider: exports.BuiltInToolProvider.OPENAI,
276
+ models: ["gpt-4o", "gpt-4o-mini", "o1", "o1-mini", "gpt-4-turbo", "gpt-5", "gpt-5-mini"]
277
+ }
278
+ ],
279
+ documentationUrl: "https://sdk.vercel.ai/providers/ai-sdk-providers/openai#web-search",
280
+ requiresApiKey: true,
281
+ executionHint: "provider"
282
+ // OpenAI executes this natively
283
+ },
284
+ // Anthropic Web Search (native provider tool)
285
+ {
286
+ id: "anthropic_web_search",
287
+ name: "Anthropic Web Search",
288
+ description: "Search the web for current information using Anthropic's native web search capability. Claude can access real-time information from the internet.",
289
+ category: exports.BuiltInToolCategory.WEB_SEARCH,
290
+ providers: [exports.BuiltInToolProvider.ANTHROPIC],
291
+ parametersSchema: {
292
+ type: "object",
293
+ properties: {
294
+ maxUses: {
295
+ type: "number",
296
+ description: "Maximum number of times the model can use this tool during generation",
297
+ minimum: 1,
298
+ maximum: 10,
299
+ default: 5
300
+ }
301
+ },
302
+ required: []
303
+ },
304
+ defaultConfig: {
305
+ maxUses: 5
306
+ },
307
+ modelCompatibility: [
308
+ {
309
+ provider: exports.BuiltInToolProvider.ANTHROPIC,
310
+ models: ["claude-opus-4", "claude-sonnet-4", "claude-3-5-sonnet", "claude-3-opus", "claude-opus-4-5", "claude-sonnet-4-5"]
311
+ }
312
+ ],
313
+ documentationUrl: "https://sdk.vercel.ai/providers/ai-sdk-providers/anthropic#web-search",
314
+ requiresApiKey: true,
315
+ executionHint: "provider"
316
+ // Anthropic executes this natively
317
+ },
318
+ // Anthropic Web Fetch (native provider tool)
319
+ {
320
+ id: "anthropic_web_fetch",
321
+ name: "Anthropic Web Fetch",
322
+ description: "Fetch and extract content from specific URLs using Anthropic's native web fetch capability. Claude can retrieve and analyze web page content.",
323
+ category: exports.BuiltInToolCategory.WEB_SEARCH,
324
+ providers: [exports.BuiltInToolProvider.ANTHROPIC],
325
+ parametersSchema: {
326
+ type: "object",
327
+ properties: {
328
+ maxUses: {
329
+ type: "number",
330
+ description: "Maximum number of times the model can use this tool during generation",
331
+ minimum: 1,
332
+ maximum: 10,
333
+ default: 1
334
+ }
335
+ },
336
+ required: []
337
+ },
338
+ defaultConfig: {
339
+ maxUses: 1
340
+ },
341
+ modelCompatibility: [
342
+ {
343
+ provider: exports.BuiltInToolProvider.ANTHROPIC,
344
+ models: ["claude-sonnet-4", "claude-3-5-sonnet", "claude-sonnet-4-5"]
345
+ }
346
+ ],
347
+ documentationUrl: "https://sdk.vercel.ai/providers/ai-sdk-providers/anthropic#web-fetch",
348
+ requiresApiKey: true,
349
+ executionHint: "provider"
350
+ // Anthropic executes this natively
351
+ },
352
+ // Platform Integration: Exa Semantic Search
353
+ {
354
+ id: "exa",
355
+ name: "Exa",
356
+ description: "Search the web using neural and keyword algorithms. Returns relevant content with optional summaries, highlights, and full text.",
357
+ category: exports.BuiltInToolCategory.WEB_SEARCH,
358
+ providers: [exports.BuiltInToolProvider.MULTI],
359
+ parametersSchema: {
360
+ type: "object",
361
+ properties: {
362
+ query: {
363
+ type: "string",
364
+ description: "Search query to find relevant web content",
365
+ minLength: 1
366
+ },
367
+ searchType: {
368
+ type: "string",
369
+ description: "Search algorithm: auto (default), neural (semantic), or keyword (traditional)",
370
+ enum: ["auto", "neural", "keyword"],
371
+ default: "auto"
372
+ },
373
+ numResults: {
374
+ type: "number",
375
+ description: "Number of search results to return (1-10)",
376
+ minimum: 1,
377
+ maximum: 10,
378
+ default: 5
379
+ },
380
+ text: {
381
+ type: "boolean",
382
+ description: "Include full page text content in results",
383
+ default: false
384
+ },
385
+ summary: {
386
+ type: "boolean",
387
+ description: "Include AI-generated summary of each result",
388
+ default: true
389
+ },
390
+ highlights: {
391
+ type: "boolean",
392
+ description: "Include relevant highlights from each result",
393
+ default: true
394
+ },
395
+ includeDomains: {
396
+ type: "array",
397
+ description: 'Restrict search to specific domains (e.g., ["github.com", "stackoverflow.com"])',
398
+ items: { type: "string" }
399
+ },
400
+ excludeDomains: {
401
+ type: "array",
402
+ description: "Exclude specific domains from search results",
403
+ items: { type: "string" }
404
+ }
405
+ },
406
+ required: ["query"]
407
+ },
408
+ defaultConfig: {
409
+ searchType: "auto",
410
+ numResults: 5,
411
+ text: false,
412
+ summary: true,
413
+ highlights: true
414
+ },
415
+ documentationUrl: "https://docs.exa.ai/reference/search",
416
+ requiresApiKey: true,
417
+ executionHint: "platform"
418
+ },
419
+ // Platform Integration: Firecrawl Web Scraper
420
+ {
421
+ id: "firecrawl",
422
+ name: "Firecrawl",
423
+ description: "Scrape and extract content from web pages. Supports markdown, HTML, screenshots, JSON extraction, and interactive actions.",
424
+ category: exports.BuiltInToolCategory.WEB_SCRAPING,
425
+ providers: [exports.BuiltInToolProvider.MULTI],
426
+ parametersSchema: {
427
+ type: "object",
428
+ properties: {
429
+ url: {
430
+ type: "string",
431
+ description: "URL of the webpage to scrape",
432
+ minLength: 1
433
+ },
434
+ formats: {
435
+ type: "array",
436
+ description: "Content formats to extract from the page",
437
+ items: {
438
+ type: "string",
439
+ enum: ["markdown", "html", "rawHtml", "screenshot", "links"]
440
+ },
441
+ default: ["markdown"]
442
+ },
443
+ onlyMainContent: {
444
+ type: "boolean",
445
+ description: "Extract only main content (removes navigation, footers, ads)",
446
+ default: true
447
+ },
448
+ waitFor: {
449
+ type: "number",
450
+ description: "Milliseconds to wait before extracting content (for dynamic pages)",
451
+ minimum: 0,
452
+ maximum: 3e4
453
+ }
454
+ },
455
+ required: ["url"]
456
+ },
457
+ defaultConfig: {
458
+ formats: ["markdown"],
459
+ onlyMainContent: true
460
+ },
461
+ documentationUrl: "https://docs.firecrawl.dev/",
462
+ requiresApiKey: true,
463
+ executionHint: "platform"
464
+ },
465
+ // Vector Search - Semantic search across knowledge bases
466
+ // Supports multi-instance format: builtin:vector-search#<instance-id>
467
+ {
468
+ id: "vector-search",
469
+ name: "Semantic Search",
470
+ description: "Search through knowledge bases using semantic similarity. Finds relevant documents based on meaning rather than exact keyword matches.",
471
+ category: exports.BuiltInToolCategory.KNOWLEDGE_RETRIEVAL,
472
+ providers: [exports.BuiltInToolProvider.MULTI],
473
+ // Works with any model, uses OpenAI for embeddings
474
+ parametersSchema: {
475
+ type: "object",
476
+ properties: {
477
+ query: {
478
+ type: "string",
479
+ description: "The search query to find semantically similar documents"
480
+ },
481
+ limit: {
482
+ type: "number",
483
+ description: "Maximum number of results to return (1-20)",
484
+ minimum: 1,
485
+ maximum: 20,
486
+ default: 5
487
+ }
488
+ },
489
+ required: ["query"]
490
+ },
491
+ defaultConfig: {
492
+ limit: 5,
493
+ threshold: 0.3
494
+ },
495
+ configSchema: {
496
+ supportsInstances: true,
497
+ instanceLabel: "Add Knowledge Base",
498
+ properties: {
499
+ threshold: {
500
+ type: "number",
501
+ label: "Similarity Threshold",
502
+ description: "Minimum similarity score (0-1). Lower values return more results.",
503
+ default: 0.3
504
+ },
505
+ displayName: {
506
+ type: "string",
507
+ label: "Display Name",
508
+ description: 'Name shown to the AI model (e.g., "Search Documentation")',
509
+ required: true
510
+ },
511
+ provider: {
512
+ type: "select",
513
+ label: "Vector Provider",
514
+ description: "Where the vectors are stored",
515
+ required: true,
516
+ default: "pgvector",
517
+ options: [
518
+ { value: "pgvector", label: "Platform (pgvector)" },
519
+ { value: "weaviate", label: "Weaviate" },
520
+ { value: "vectorize", label: "Cloudflare Vectorize" }
521
+ ]
522
+ },
523
+ recordType: {
524
+ type: "string",
525
+ label: "Record Type",
526
+ description: "Filter by record type (optional)",
527
+ dependsOn: { field: "provider", value: "pgvector" }
528
+ },
529
+ weaviateClassName: {
530
+ type: "string",
531
+ label: "Collection Name",
532
+ description: "Weaviate collection to search",
533
+ required: true,
534
+ dependsOn: { field: "provider", value: "weaviate" }
535
+ },
536
+ vectorizeIndexName: {
537
+ type: "string",
538
+ label: "Index Name",
539
+ description: "Vectorize index to search",
540
+ required: true,
541
+ dependsOn: { field: "provider", value: "vectorize" }
542
+ }
543
+ }
544
+ },
545
+ requiresApiKey: true,
546
+ // Requires OpenAI key for embeddings
547
+ executionHint: "platform"
548
+ },
549
+ // ElevenLabs Text-to-Speech
550
+ {
551
+ id: "elevenlabs-tts",
552
+ name: "ElevenLabs Text-to-Speech",
553
+ description: "Convert text to natural-sounding speech using ElevenLabs AI voices",
554
+ category: exports.BuiltInToolCategory.TEXT_TO_SPEECH,
555
+ providers: [exports.BuiltInToolProvider.MULTI],
556
+ parametersSchema: {
557
+ type: "object",
558
+ properties: {
559
+ text: {
560
+ type: "string",
561
+ description: "Text to convert to speech",
562
+ minLength: 1,
563
+ maxLength: 5e3
564
+ },
565
+ voice_id: {
566
+ type: "string",
567
+ description: "ElevenLabs voice ID or name",
568
+ default: "rachel"
569
+ },
570
+ model_id: {
571
+ type: "string",
572
+ description: "ElevenLabs model ID",
573
+ default: "eleven_multilingual_v2"
574
+ },
575
+ stability: {
576
+ type: "number",
577
+ description: "Voice stability (0-1)",
578
+ minimum: 0,
579
+ maximum: 1,
580
+ default: 0.5
581
+ },
582
+ similarity_boost: {
583
+ type: "number",
584
+ description: "Voice similarity boost (0-1)",
585
+ minimum: 0,
586
+ maximum: 1,
587
+ default: 0.75
588
+ }
589
+ },
590
+ required: ["text"]
591
+ },
592
+ defaultConfig: {
593
+ voice_id: "rachel",
594
+ // @snake-case-ok: ElevenLabs API
595
+ model_id: "eleven_multilingual_v2",
596
+ // @snake-case-ok: ElevenLabs API
597
+ stability: 0.5,
598
+ similarity_boost: 0.75
599
+ // @snake-case-ok: ElevenLabs API
600
+ },
601
+ executionHint: "platform",
602
+ requiresApiKey: true,
603
+ platformKeySupport: true,
604
+ marginPercent: 20,
605
+ hidden: true
606
+ },
607
+ // ElevenLabs Speech-to-Text
608
+ {
609
+ id: "elevenlabs-stt",
610
+ name: "ElevenLabs Speech-to-Text",
611
+ description: "Transcribe audio to text using ElevenLabs Scribe models",
612
+ category: exports.BuiltInToolCategory.TEXT_TO_SPEECH,
613
+ providers: [exports.BuiltInToolProvider.MULTI],
614
+ parametersSchema: {
615
+ type: "object",
616
+ properties: {
617
+ audio: {
618
+ type: "string",
619
+ description: "Base64-encoded audio data",
620
+ minLength: 1
621
+ },
622
+ format: {
623
+ type: "string",
624
+ description: "Audio format (wav, mp3, webm, etc.)",
625
+ default: "wav"
626
+ },
627
+ model_id: {
628
+ type: "string",
629
+ description: "ElevenLabs STT model (scribe_v1 or scribe_v2)",
630
+ default: "scribe_v2"
631
+ },
632
+ language_code: {
633
+ type: "string",
634
+ description: "ISO-639-1 language code (optional, auto-detected if omitted)"
635
+ }
636
+ },
637
+ required: ["audio"]
638
+ },
639
+ defaultConfig: {
640
+ format: "wav",
641
+ model_id: "scribe_v2"
642
+ // @snake-case-ok: ElevenLabs API
643
+ },
644
+ executionHint: "platform",
645
+ requiresApiKey: true,
646
+ platformKeySupport: true,
647
+ marginPercent: 20,
648
+ hidden: true
649
+ }
650
+ ];
651
+ function getAllBuiltInTools2() {
652
+ return exports.BUILTIN_TOOLS_REGISTRY.filter((tool) => !tool.hidden);
653
+ }
654
+ function getBuiltInToolById2(toolId) {
655
+ const cleanId = toolId.startsWith("builtin:") ? toolId.replace("builtin:", "") : toolId;
656
+ return exports.BUILTIN_TOOLS_REGISTRY.find((tool) => tool.id === cleanId);
657
+ }
658
+ function getBuiltInToolsByProvider(provider) {
659
+ return exports.BUILTIN_TOOLS_REGISTRY.filter((tool) => tool.providers.includes(provider) || tool.providers.includes(exports.BuiltInToolProvider.MULTI));
660
+ }
661
+ function getBuiltInToolsByCategory(category) {
662
+ return exports.BUILTIN_TOOLS_REGISTRY.filter((tool) => tool.category === category);
663
+ }
664
+ function isToolCompatibleWithModel2(toolId, modelId, provider) {
665
+ const tool = getBuiltInToolById2(toolId);
666
+ if (!tool)
667
+ return false;
668
+ const providerKey = provider;
669
+ if (!tool.providers.includes(providerKey) && !tool.providers.includes(exports.BuiltInToolProvider.MULTI)) {
670
+ return false;
671
+ }
672
+ if (!tool.modelCompatibility || tool.modelCompatibility.length === 0) {
673
+ return true;
674
+ }
675
+ const compatibility = tool.modelCompatibility.find((c) => c.provider === providerKey);
676
+ if (!compatibility)
677
+ return true;
678
+ if (compatibility.models.length === 0)
679
+ return true;
680
+ return compatibility.models.some((m) => modelId.includes(m));
681
+ }
682
+ function getCompatibleBuiltInTools(modelId, provider) {
683
+ return exports.BUILTIN_TOOLS_REGISTRY.filter((tool) => isToolCompatibleWithModel2(tool.id, modelId, provider));
684
+ }
685
+ function validateToolConfig(toolId, config2) {
686
+ const tool = getBuiltInToolById2(toolId);
687
+ if (!tool) {
688
+ return { valid: false, errors: ["Tool not found"] };
689
+ }
690
+ const errors = [];
691
+ const schema = tool.parametersSchema;
692
+ if (schema.required) {
693
+ for (const field of schema.required) {
694
+ if (!(field in config2)) {
695
+ errors.push(`Missing required field: ${field}`);
696
+ }
697
+ }
698
+ }
699
+ if (schema.properties) {
700
+ for (const [key, value] of Object.entries(config2)) {
701
+ const propSchema = schema.properties[key];
702
+ if (!propSchema) {
703
+ errors.push(`Unknown field: ${key}`);
704
+ continue;
705
+ }
706
+ const actualType = Array.isArray(value) ? "array" : typeof value;
707
+ if (propSchema.type && actualType !== propSchema.type) {
708
+ errors.push(`Field ${key} should be ${propSchema.type}, got ${actualType}`);
709
+ }
710
+ if (propSchema.enum && !propSchema.enum.includes(value)) {
711
+ errors.push(`Field ${key} must be one of: ${propSchema.enum.join(", ")}`);
712
+ }
713
+ if (propSchema.type === "number" && typeof value === "number") {
714
+ if (propSchema.minimum !== void 0 && value < propSchema.minimum) {
715
+ errors.push(`Field ${key} must be >= ${propSchema.minimum}`);
716
+ }
717
+ if (propSchema.maximum !== void 0 && value > propSchema.maximum) {
718
+ errors.push(`Field ${key} must be <= ${propSchema.maximum}`);
719
+ }
720
+ }
721
+ if (propSchema.type === "string" && typeof value === "string") {
722
+ if (propSchema.minLength !== void 0 && value.length < propSchema.minLength) {
723
+ errors.push(`Field ${key} must be at least ${propSchema.minLength} characters`);
724
+ }
725
+ if (propSchema.maxLength !== void 0 && value.length > propSchema.maxLength) {
726
+ errors.push(`Field ${key} must be at most ${propSchema.maxLength} characters`);
727
+ }
728
+ }
729
+ }
730
+ }
731
+ return {
732
+ valid: errors.length === 0,
733
+ errors: errors.length > 0 ? errors : void 0
734
+ };
735
+ }
736
+ }
737
+ });
738
+
739
+ // ../shared/dist/generated-model-routing.js
740
+ var require_generated_model_routing = __commonJS({
741
+ "../shared/dist/generated-model-routing.js"(exports) {
742
+ "use strict";
743
+ Object.defineProperty(exports, "__esModule", { value: true });
744
+ exports.GENERATED_ROUTING_OVERRIDES = exports.MODEL_FAMILY_PROVIDER_IDS = exports.MODEL_FAMILY_TO_PROVIDERS = exports.MODEL_TO_PROVIDERS = void 0;
745
+ exports.getProvidersForModel = getProvidersForModel;
746
+ exports.getProvidersForFamily = getProvidersForFamily;
747
+ exports.getFamilyProviderModelId = getFamilyProviderModelId;
748
+ exports.MODEL_TO_PROVIDERS = {
749
+ "ada": ["openai"],
750
+ "ada-batch": ["openai"],
751
+ "alpaca-7b": ["togetherai"],
752
+ "babbage": ["openai"],
753
+ "babbage-batch": ["openai"],
754
+ "chronos-hermes-13b": ["togetherai"],
755
+ "claude-3-5-haiku": ["bedrock", "google", "vercel"],
756
+ "claude-3-5-sonnet": ["bedrock", "google", "vercel"],
757
+ "claude-3-7-sonnet": ["bedrock", "google", "vercel"],
758
+ "claude-3-haiku": ["bedrock", "vercel"],
759
+ "claude-3-haiku-20240307": ["anthropic"],
760
+ "claude-3-opus": ["google", "vercel"],
761
+ "claude-3.5-haiku": ["vercel"],
762
+ "claude-3.5-sonnet": ["vercel"],
763
+ "claude-3.5-sonnet-20240620": ["vercel"],
764
+ "claude-3.7-sonnet": ["vercel"],
765
+ "claude-4-opus": ["vercel"],
766
+ "claude-4-sonnet": ["vercel"],
767
+ "claude-haiku-4-5-20251001": ["anthropic"],
768
+ "claude-haiku-4.5": ["vercel"],
769
+ "claude-instant-1": ["anthropic"],
770
+ "claude-opus-4": ["bedrock", "vercel"],
771
+ "claude-opus-4-1": ["bedrock"],
772
+ "claude-opus-4-1-20250805": ["anthropic"],
773
+ "claude-opus-4-20250514": ["anthropic"],
774
+ "claude-opus-4-5": ["anthropic"],
775
+ "claude-opus-4-6": ["anthropic"],
776
+ "claude-opus-4.1": ["vercel"],
777
+ "claude-opus-4.5": ["vercel"],
778
+ "claude-opus-4.6": ["vercel"],
779
+ "claude-sonnet-4": ["bedrock", "vercel"],
780
+ "claude-sonnet-4-20250514": ["anthropic"],
781
+ "claude-sonnet-4-5-20250929": ["anthropic"],
782
+ "claude-sonnet-4-6": ["anthropic"],
783
+ "claude-sonnet-4-6-20260217": ["anthropic"],
784
+ "claude-sonnet-4.5": ["vercel"],
785
+ "claude-sonnet-4.6": ["vercel"],
786
+ "claude-v1": ["anthropic"],
787
+ "CodeLlama-13b-Instruct-hf": ["togetherai"],
788
+ "CodeLlama-34b-Instruct-hf": ["togetherai"],
789
+ "CodeLlama-70b-Instruct-hf": ["togetherai"],
790
+ "CodeLlama-7b-Instruct-hf": ["togetherai"],
791
+ "codestral": ["vercel"],
792
+ "codestral-embed": ["vercel"],
793
+ "codex-mini": ["vercel"],
794
+ "command-a": ["vercel"],
795
+ "command-r": ["vercel"],
796
+ "command-r-plus": ["vercel"],
797
+ "curie": ["openai"],
798
+ "curie-batch": ["openai"],
799
+ "davinci": ["openai"],
800
+ "davinci-batch": ["openai"],
801
+ "deepseek-coder-33b-instruct": ["togetherai"],
802
+ "deepseek-r1": ["vercel"],
803
+ "DeepSeek-R1": ["togetherai"],
804
+ "DeepSeek-R1-0528-tput": ["togetherai"],
805
+ "deepseek-r1-distill-llama-70b": ["vercel"],
806
+ "deepseek-v3": ["vercel"],
807
+ "DeepSeek-V3": ["togetherai"],
808
+ "deepseek-v3.1": ["vercel"],
809
+ "deepseek-v3.1-terminus": ["vercel"],
810
+ "deepseek-v3.2": ["vercel"],
811
+ "deepseek-v3.2-thinking": ["vercel"],
812
+ "devstral-2": ["vercel"],
813
+ "devstral-small": ["vercel"],
814
+ "devstral-small-2": ["vercel"],
815
+ "embed-v4.0": ["vercel"],
816
+ "ft:gpt-3.5-turbo-": ["openai"],
817
+ "ft:gpt-4o-2024-08-06:": ["openai"],
818
+ "ft:gpt-4o-mini-2024-07-18:": ["openai"],
819
+ "gemini-1.0-pro-vision-001": ["google"],
820
+ "gemini-2-0-flash": ["vercel"],
821
+ "gemini-2-0-flash-lite": ["vercel"],
822
+ "gemini-2-5-flash": ["vercel"],
823
+ "gemini-2-5-pro": ["vercel"],
824
+ "gemini-2.5-flash": ["google", "vercel"],
825
+ "gemini-2.5-flash-image": ["vercel"],
826
+ "gemini-2.5-flash-image-preview": ["google"],
827
+ "gemini-2.5-flash-lite": ["vercel"],
828
+ "gemini-2.5-flash-lite-preview-09-2025": ["vercel"],
829
+ "gemini-2.5-flash-preview": ["google"],
830
+ "gemini-2.5-flash-preview-09-2025": ["vercel"],
831
+ "gemini-2.5-flash-preview-image": ["google"],
832
+ "gemini-2.5-pro": ["google", "vercel"],
833
+ "gemini-3-flash": ["vercel"],
834
+ "gemini-3-flash-preview": ["google"],
835
+ "gemini-3-pro-image": ["vercel"],
836
+ "gemini-3.1-flash-image-preview": ["vercel"],
837
+ "gemini-3.1-flash-lite-preview": ["vercel"],
838
+ "gemini-3.1-pro-preview": ["vercel"],
839
+ "gemini-embedding-001": ["vercel"],
840
+ "gemini-flash-1.5-8b": ["google"],
841
+ "gemini-pro": ["google"],
842
+ "gemma-2-9b": ["vercel"],
843
+ "gemma-2b": ["togetherai"],
844
+ "gemma-2b-it": ["togetherai"],
845
+ "gemma-7b": ["togetherai"],
846
+ "gemma-7b-it": ["togetherai"],
847
+ "glm-4.5": ["vercel"],
848
+ "glm-4.5-air": ["vercel"],
849
+ "glm-4.5v": ["vercel"],
850
+ "glm-4.6": ["vercel"],
851
+ "glm-4.6v": ["vercel"],
852
+ "glm-4.6v-flash": ["vercel"],
853
+ "glm-4.7": ["vercel"],
854
+ "glm-4.7-flash": ["vercel"],
855
+ "glm-4.7-flashx": ["vercel"],
856
+ "glm-5": ["vercel"],
857
+ "gpt-3-5-turbo": ["vercel"],
858
+ "gpt-3-5-turbo-instruct": ["vercel"],
859
+ "gpt-3.5-turbo": ["openai", "vercel"],
860
+ "gpt-3.5-turbo-0125": ["openai"],
861
+ "gpt-3.5-turbo-0125-batch": ["openai"],
862
+ "gpt-3.5-turbo-0301-batch": ["openai"],
863
+ "gpt-3.5-turbo-0613-batch": ["openai"],
864
+ "gpt-3.5-turbo-1106-batch": ["openai"],
865
+ "gpt-3.5-turbo-16k-0613-batch": ["openai"],
866
+ "gpt-3.5-turbo-batch": ["openai"],
867
+ "gpt-3.5-turbo-instruct": ["openai", "vercel"],
868
+ "gpt-3.5-turbo-instruct-0914": ["openai"],
869
+ "gpt-3.5-turbo-instruct-0914-batch": ["openai"],
870
+ "gpt-3.5-turbo-instruct-batch": ["openai"],
871
+ "gpt-35-turbo": ["openai"],
872
+ "gpt-35-turbo-16k": ["openai"],
873
+ "gpt-35-turbo-16k-0613": ["openai"],
874
+ "gpt-35-turbo-16k-0613-batch": ["openai"],
875
+ "gpt-35-turbo-16k-batch": ["openai"],
876
+ "gpt-35-turbo-batch": ["openai"],
877
+ "gpt-4": ["openai"],
878
+ "gpt-4-0125-preview": ["openai"],
879
+ "gpt-4-0125-preview-batch": ["openai"],
880
+ "gpt-4-0314-batch": ["openai"],
881
+ "gpt-4-0613-batch": ["openai"],
882
+ "gpt-4-1": ["vercel"],
883
+ "gpt-4-1-mini": ["vercel"],
884
+ "gpt-4-1-nano": ["vercel"],
885
+ "gpt-4-1106-preview": ["openai"],
886
+ "gpt-4-1106-preview-batch": ["openai"],
887
+ "gpt-4-1106-vision-preview": ["openai"],
888
+ "gpt-4-1106-vision-preview-batch": ["openai"],
889
+ "gpt-4-32k-0314-batch": ["openai"],
890
+ "gpt-4-32k-0613-batch": ["openai"],
891
+ "gpt-4-32k-batch": ["openai"],
892
+ "gpt-4-batch": ["openai"],
893
+ "gpt-4-turbo": ["openai", "vercel"],
894
+ "gpt-4-turbo-0125-preview": ["openai"],
895
+ "gpt-4-turbo-0125-preview-batch": ["openai"],
896
+ "gpt-4-turbo-2024-04-09": ["openai"],
897
+ "gpt-4-turbo-2024-04-09-batch": ["openai"],
898
+ "gpt-4-turbo-batch": ["openai"],
899
+ "gpt-4-vision-preview-batch": ["openai"],
900
+ "gpt-4.1": ["openai", "vercel"],
901
+ "gpt-4.1-2025-04-14": ["openai"],
902
+ "gpt-4.1-2025-04-14-batch": ["openai"],
903
+ "gpt-4.1-batch": ["openai"],
904
+ "gpt-4.1-mini": ["openai", "vercel"],
905
+ "gpt-4.1-mini-2025-04-14": ["openai"],
906
+ "gpt-4.1-mini-2025-04-14-batch": ["openai"],
907
+ "gpt-4.1-mini-batch": ["openai"],
908
+ "gpt-4.1-nano": ["openai", "vercel"],
909
+ "gpt-4.1-nano-2025-04-14": ["openai"],
910
+ "gpt-4.1-nano-2025-04-14-batch": ["openai"],
911
+ "gpt-4.1-nano-batch": ["openai"],
912
+ "gpt-4o": ["openai", "vercel"],
913
+ "gpt-4o-2024-05-13": ["openai"],
914
+ "gpt-4o-2024-05-13-batch": ["openai"],
915
+ "gpt-4o-2024-08-06": ["openai"],
916
+ "gpt-4o-2024-08-06-batch": ["openai"],
917
+ "gpt-4o-2024-11-20": ["openai"],
918
+ "gpt-4o-2024-11-20-batch": ["openai"],
919
+ "gpt-4o-batch": ["openai"],
920
+ "gpt-4o-mini": ["openai", "vercel"],
921
+ "gpt-4o-mini-2024-07-18": ["openai"],
922
+ "gpt-4o-mini-2024-07-18-batch": ["openai"],
923
+ "gpt-4o-mini-2024-07-18.ft-": ["openai"],
924
+ "gpt-4o-mini-batch": ["openai"],
925
+ "gpt-4o-mini-realtime": ["openai"],
926
+ "gpt-4o-mini-realtime-batch": ["openai"],
927
+ "gpt-4o-mini-search-preview": ["openai", "vercel"],
928
+ "gpt-4o-mini-search-preview-batch": ["openai"],
929
+ "gpt-4o-realtime": ["openai"],
930
+ "gpt-4o-realtime-batch": ["openai"],
931
+ "gpt-4o-search-preview-batch": ["openai"],
932
+ "gpt-5": ["openai", "vercel"],
933
+ "gpt-5-2025-08-07": ["openai"],
934
+ "gpt-5-2025-08-07-batch": ["openai"],
935
+ "gpt-5-batch": ["openai"],
936
+ "gpt-5-chat": ["vercel"],
937
+ "gpt-5-codex": ["vercel"],
938
+ "gpt-5-mini": ["openai", "vercel"],
939
+ "gpt-5-mini-2025-08-07": ["openai"],
940
+ "gpt-5-mini-2025-08-07-batch": ["openai"],
941
+ "gpt-5-mini-batch": ["openai"],
942
+ "gpt-5-nano": ["openai", "vercel"],
943
+ "gpt-5-nano-2025-08-07": ["openai"],
944
+ "gpt-5-nano-2025-08-07-batch": ["openai"],
945
+ "gpt-5-nano-batch": ["openai"],
946
+ "gpt-5-pro": ["vercel"],
947
+ "gpt-5.1": ["openai"],
948
+ "gpt-5.1-batch": ["openai"],
949
+ "gpt-5.1-codex": ["openai", "vercel"],
950
+ "gpt-5.1-codex-batch": ["openai"],
951
+ "gpt-5.1-codex-max": ["vercel"],
952
+ "gpt-5.1-codex-mini": ["openai", "vercel"],
953
+ "gpt-5.1-codex-mini-batch": ["openai"],
954
+ "gpt-5.1-instant": ["vercel"],
955
+ "gpt-5.1-thinking": ["vercel"],
956
+ "gpt-5.2": ["openai", "vercel"],
957
+ "gpt-5.2-2025-12-11": ["openai"],
958
+ "gpt-5.2-2025-12-11-batch": ["openai"],
959
+ "gpt-5.2-batch": ["openai"],
960
+ "gpt-5.2-chat": ["vercel"],
961
+ "gpt-5.2-codex": ["vercel"],
962
+ "gpt-5.2-pro": ["openai", "vercel"],
963
+ "gpt-5.2-pro-batch": ["openai"],
964
+ "gpt-5.3-chat": ["vercel"],
965
+ "gpt-5.3-codex": ["vercel"],
966
+ "gpt-5.4": ["vercel"],
967
+ "gpt-5.4-pro": ["vercel"],
968
+ "GPT-JT-Moderation-6B": ["togetherai"],
969
+ "gpt-oss-120b": ["vercel"],
970
+ "gpt-oss-20b": ["vercel"],
971
+ "gpt-oss-safeguard-20b": ["vercel"],
972
+ "grok-2": ["vercel"],
973
+ "grok-2-1212": ["xai"],
974
+ "grok-2-vision": ["vercel"],
975
+ "grok-2-vision-1212": ["xai"],
976
+ "grok-3": ["vercel", "xai"],
977
+ "grok-3-fast": ["vercel"],
978
+ "grok-3-mini": ["vercel", "xai"],
979
+ "grok-3-mini-fast": ["vercel"],
980
+ "grok-4": ["vercel", "xai"],
981
+ "grok-4-fast": ["xai"],
982
+ "grok-4-fast-non-reasoning": ["vercel"],
983
+ "grok-4-fast-reasoning": ["vercel"],
984
+ "grok-4.1-fast-non-reasoning": ["vercel"],
985
+ "grok-4.1-fast-reasoning": ["vercel"],
986
+ "grok-beta": ["xai"],
987
+ "grok-code-fast-1": ["vercel", "xai"],
988
+ "grok-vision-beta": ["xai"],
989
+ "intellect-3": ["vercel"],
990
+ "kat-coder-pro-v1": ["vercel"],
991
+ "kimi-k2": ["vercel"],
992
+ "kimi-k2-0905": ["vercel"],
993
+ "kimi-k2-thinking": ["vercel"],
994
+ "kimi-k2-thinking-turbo": ["vercel"],
995
+ "kimi-k2-turbo": ["vercel"],
996
+ "kimi-k2.5": ["vercel"],
997
+ "Llama-2-13b-chat-hf": ["togetherai"],
998
+ "Llama-2-70b-chat-hf": ["togetherai"],
999
+ "Llama-2-7B-32K-Instruct": ["togetherai"],
1000
+ "Llama-2-7b-chat-hf": ["togetherai"],
1001
+ "llama-3-1-70b": ["vercel"],
1002
+ "llama-3-1-8b": ["vercel"],
1003
+ "llama-3-2-11b": ["vercel"],
1004
+ "llama-3-2-1b": ["vercel"],
1005
+ "llama-3-2-3b": ["vercel"],
1006
+ "llama-3-2-90b": ["vercel"],
1007
+ "llama-3-3-70b": ["vercel"],
1008
+ "llama-3-70b": ["vercel"],
1009
+ "Llama-3-70b-chat-hf": ["togetherai"],
1010
+ "llama-3-8b": ["vercel"],
1011
+ "Llama-3-8b-chat-hf": ["togetherai"],
1012
+ "llama-3.1-70b": ["vercel"],
1013
+ "llama-3.1-8b": ["vercel"],
1014
+ "llama-3.2-11b": ["vercel"],
1015
+ "llama-3.2-1b": ["vercel"],
1016
+ "llama-3.2-3b": ["vercel"],
1017
+ "llama-3.2-90b": ["vercel"],
1018
+ "llama-3.3-70b": ["vercel"],
1019
+ "Llama-3.3-70B-Instruct-Turbo": ["togetherai"],
1020
+ "llama-4-maverick": ["vercel"],
1021
+ "Llama-4-Maverick-17B-128E-Instruct-FP8": ["togetherai"],
1022
+ "llama-4-scout": ["vercel"],
1023
+ "Llama-4-Scout-17B-16E-Instruct": ["togetherai"],
1024
+ "longcat-flash-chat": ["vercel"],
1025
+ "longcat-flash-thinking": ["vercel"],
1026
+ "magistral-medium": ["vercel"],
1027
+ "magistral-small": ["vercel"],
1028
+ "mercury-2": ["vercel"],
1029
+ "mercury-coder-small": ["vercel"],
1030
+ "Meta-Llama-3-70B-Instruct-Lite": ["togetherai"],
1031
+ "Meta-Llama-3-70B-Instruct-Turbo": ["togetherai"],
1032
+ "Meta-Llama-3-8B-Instruct-Lite": ["togetherai"],
1033
+ "Meta-Llama-3-8B-Instruct-Turbo": ["togetherai"],
1034
+ "Meta-Llama-3.1-405B-Instruct-Turbo": ["togetherai"],
1035
+ "Meta-Llama-3.1-70B-Instruct-Turbo": ["togetherai"],
1036
+ "Meta-Llama-3.1-8B-Instruct-Turbo": ["togetherai"],
1037
+ "Meta-Llama-3.3-70B-Instruct-Turbo": ["togetherai"],
1038
+ "meta.llama3-8b-instruct-v1%3A0": ["bedrock"],
1039
+ "mimo-v2-flash": ["vercel"],
1040
+ "minimax-m2": ["vercel"],
1041
+ "minimax-m2.1": ["vercel"],
1042
+ "minimax-m2.1-lightning": ["vercel"],
1043
+ "minimax-m2.5": ["vercel"],
1044
+ "minimax-m2.5-highspeed": ["vercel"],
1045
+ "ministral-14b": ["vercel"],
1046
+ "ministral-3b": ["vercel"],
1047
+ "ministral-8b": ["vercel"],
1048
+ "Mistral-7B-Instruct-v0.1": ["togetherai"],
1049
+ "Mistral-7B-Instruct-v0.2": ["togetherai"],
1050
+ "Mistral-7B-OpenOrca": ["togetherai"],
1051
+ "Mistral-7B-v0.1": ["togetherai"],
1052
+ "mistral-embed": ["vercel"],
1053
+ "mistral-large": ["vercel"],
1054
+ "mistral-large-3": ["vercel"],
1055
+ "mistral-medium": ["vercel"],
1056
+ "mistral-nemo": ["vercel"],
1057
+ "mistral-saba-24b": ["vercel"],
1058
+ "mistral-small": ["vercel"],
1059
+ "mixtral-8x22b-instruct": ["vercel"],
1060
+ "Mixtral-8x22B-Instruct-v0.1": ["togetherai"],
1061
+ "Mixtral-8x7B-Instruct-v0.1": ["togetherai"],
1062
+ "Mixtral-8x7B-v0.1": ["togetherai"],
1063
+ "morph-v3-fast": ["vercel"],
1064
+ "morph-v3-large": ["vercel"],
1065
+ "MythoMax-L2-13b": ["togetherai"],
1066
+ "nemotron-3-nano-30b-a3b": ["vercel"],
1067
+ "nemotron-nano-12b-v2-vl": ["vercel"],
1068
+ "nemotron-nano-9b-v2": ["vercel"],
1069
+ "NexusRaven-V2-13B": ["togetherai"],
1070
+ "Nous-Capybara-7B-V1p9": ["togetherai"],
1071
+ "Nous-Hermes-2-Mixtral-8x7B-DPO": ["togetherai"],
1072
+ "Nous-Hermes-2-Mixtral-8x7B-SFT": ["togetherai"],
1073
+ "Nous-Hermes-2-Yi-34B": ["togetherai"],
1074
+ "Nous-Hermes-llama-2-7b": ["togetherai"],
1075
+ "Nous-Hermes-Llama2-13b": ["togetherai"],
1076
+ "nova-2-lite": ["vercel"],
1077
+ "nova-lite": ["vercel"],
1078
+ "nova-micro": ["vercel"],
1079
+ "nova-pro": ["vercel"],
1080
+ "o1": ["openai", "vercel"],
1081
+ "o1-2024-12-17": ["openai"],
1082
+ "o1-2024-12-17-batch": ["openai"],
1083
+ "o1-batch": ["openai"],
1084
+ "o1-mini-2024-09-12": ["openai"],
1085
+ "o1-mini-2024-09-12-batch": ["openai"],
1086
+ "o1-mini-batch": ["openai"],
1087
+ "o1-preview-2024-09-12": ["openai"],
1088
+ "o1-preview-2024-09-12-batch": ["openai"],
1089
+ "o1-preview-batch": ["openai"],
1090
+ "o1-pro-batch": ["openai"],
1091
+ "o3": ["vercel"],
1092
+ "o3-2025-04-16": ["openai"],
1093
+ "o3-2025-04-16-batch": ["openai"],
1094
+ "o3-deep-research": ["vercel"],
1095
+ "o3-mini": ["openai", "vercel"],
1096
+ "o3-mini-2025-01-31": ["openai"],
1097
+ "o3-mini-2025-01-31-batch": ["openai"],
1098
+ "o3-mini-batch": ["openai"],
1099
+ "o3-pro": ["vercel"],
1100
+ "o3-pro-batch": ["openai"],
1101
+ "o4-mini": ["vercel"],
1102
+ "o4-mini-2025-04-16": ["openai"],
1103
+ "o4-mini-2025-04-16-batch": ["openai"],
1104
+ "o4-mini-batch": ["openai"],
1105
+ "OLMo-7B": ["togetherai"],
1106
+ "OLMo-7B-Instruct": ["togetherai"],
1107
+ "OLMo-7B-Twin-2T": ["togetherai"],
1108
+ "openchat-3.5-1210": ["togetherai"],
1109
+ "OpenHermes-2-Mistral-7B": ["togetherai"],
1110
+ "OpenHermes-2p5-Mistral-7B": ["togetherai"],
1111
+ "orchestrator-8b": ["mixlayer"],
1112
+ "phi-2": ["togetherai"],
1113
+ "pixtral-12b": ["vercel"],
1114
+ "pixtral-large": ["vercel"],
1115
+ "Platypus2-70B-instruct": ["togetherai"],
1116
+ "qwen-3-14b": ["vercel"],
1117
+ "qwen-3-235b": ["vercel"],
1118
+ "qwen-3-30b": ["vercel"],
1119
+ "qwen-3-32b": ["vercel"],
1120
+ "Qwen1.5-0.5B": ["togetherai"],
1121
+ "Qwen1.5-0.5B-Chat": ["togetherai"],
1122
+ "Qwen1.5-1.8B": ["togetherai"],
1123
+ "Qwen1.5-1.8B-Chat": ["togetherai"],
1124
+ "Qwen1.5-14B": ["togetherai"],
1125
+ "Qwen1.5-14B-Chat": ["togetherai"],
1126
+ "Qwen1.5-4B": ["togetherai"],
1127
+ "Qwen1.5-4B-Chat": ["togetherai"],
1128
+ "Qwen1.5-72B": ["togetherai"],
1129
+ "Qwen1.5-7B": ["togetherai"],
1130
+ "Qwen1.5-7B-Chat": ["togetherai"],
1131
+ "Qwen2.5-72B-Instruct-Turbo": ["togetherai"],
1132
+ "Qwen2.5-7B-Instruct-Turbo": ["togetherai"],
1133
+ "Qwen2.5-Coder-32B-Instruct": ["togetherai"],
1134
+ "Qwen2.5-VL-72B-Instruct": ["togetherai"],
1135
+ "qwen3-235b-a22b-thinking": ["vercel"],
1136
+ "qwen3-30b-a3b-instruct": ["mixlayer"],
1137
+ "qwen3-30b-a3b-thinking": ["mixlayer"],
1138
+ "qwen3-32b": ["mixlayer"],
1139
+ "qwen3-8b": ["mixlayer"],
1140
+ "qwen3-coder": ["vercel"],
1141
+ "qwen3-coder-30b-a3b": ["vercel"],
1142
+ "qwen3-coder-next": ["vercel"],
1143
+ "qwen3-coder-plus": ["vercel"],
1144
+ "qwen3-embedding-0.6b": ["vercel"],
1145
+ "qwen3-embedding-4b": ["vercel"],
1146
+ "qwen3-embedding-8b": ["vercel"],
1147
+ "qwen3-max": ["vercel"],
1148
+ "qwen3-max-preview": ["vercel"],
1149
+ "qwen3-max-thinking": ["vercel"],
1150
+ "qwen3-next-80b-a3b-instruct": ["vercel"],
1151
+ "qwen3-next-80b-a3b-thinking": ["vercel"],
1152
+ "qwen3-vl-instruct": ["vercel"],
1153
+ "qwen3-vl-thinking": ["vercel"],
1154
+ "qwen3.5-35b-a3b": ["mixlayer"],
1155
+ "qwen3.5-9b": ["mixlayer"],
1156
+ "qwen3.5-flash": ["vercel"],
1157
+ "qwen3.5-plus": ["vercel"],
1158
+ "RedPajama-INCITE-7B-Base": ["togetherai"],
1159
+ "RedPajama-INCITE-7B-Chat": ["togetherai"],
1160
+ "RedPajama-INCITE-7B-Instruct": ["togetherai"],
1161
+ "RedPajama-INCITE-Base-3B-v1": ["togetherai"],
1162
+ "RedPajama-INCITE-Chat-3B-v1": ["togetherai"],
1163
+ "RedPajama-INCITE-Instruct-3B-v1": ["togetherai"],
1164
+ "ReMM-SLERP-L2-13B": ["togetherai"],
1165
+ "seed-1.6": ["vercel"],
1166
+ "seed-1.8": ["vercel"],
1167
+ "Snorkel-Mistral-PairRM-DPO": ["togetherai"],
1168
+ "SOLAR-10.7B-Instruct-v1.0": ["togetherai"],
1169
+ "sonar": ["vercel"],
1170
+ "sonar-pro": ["vercel"],
1171
+ "sonar-reasoning": ["vercel"],
1172
+ "sonar-reasoning-pro": ["vercel"],
1173
+ "StripedHyena-Hessian-7B": ["togetherai"],
1174
+ "StripedHyena-Nous-7B": ["togetherai"],
1175
+ "text-ada-001": ["openai"],
1176
+ "text-ada-001-batch": ["openai"],
1177
+ "text-curie-001": ["openai"],
1178
+ "text-curie-001-batch": ["openai"],
1179
+ "text-davinci-001": ["openai"],
1180
+ "text-davinci-001-batch": ["openai"],
1181
+ "text-davinci-002": ["openai"],
1182
+ "text-davinci-002-batch": ["openai"],
1183
+ "text-davinci-003": ["openai"],
1184
+ "text-davinci-003-batch": ["openai"],
1185
+ "text-embedding-005": ["vercel"],
1186
+ "text-embedding-3-large": ["openai", "vercel"],
1187
+ "text-embedding-3-large-batch": ["openai"],
1188
+ "text-embedding-3-small": ["openai", "vercel"],
1189
+ "text-embedding-3-small-batch": ["openai"],
1190
+ "text-embedding-ada": ["openai"],
1191
+ "text-embedding-ada-002": ["openai", "vercel"],
1192
+ "text-embedding-ada-002-batch": ["openai"],
1193
+ "text-embedding-ada-002-v2": ["openai"],
1194
+ "text-embedding-ada-002-v2-batch": ["openai"],
1195
+ "text-embedding-ada-batch": ["openai"],
1196
+ "text-multilingual-embedding-002": ["vercel"],
1197
+ "titan-embed-text-v2": ["vercel"],
1198
+ "Toppy-M-7B": ["togetherai"],
1199
+ "trinity-large-preview": ["vercel"],
1200
+ "trinity-mini": ["vercel"],
1201
+ "v0-1-0-md": ["vercel"],
1202
+ "v0-1-5-md": ["vercel"],
1203
+ "v0-1.0-md": ["vercel"],
1204
+ "v0-1.5-md": ["vercel"],
1205
+ "vicuna-13b-v1.5": ["togetherai"],
1206
+ "vicuna-7b-v1.5": ["togetherai"],
1207
+ "voyage-3-large": ["vercel"],
1208
+ "voyage-3.5": ["vercel"],
1209
+ "voyage-3.5-lite": ["vercel"],
1210
+ "voyage-4": ["vercel"],
1211
+ "voyage-4-large": ["vercel"],
1212
+ "voyage-4-lite": ["vercel"],
1213
+ "voyage-code-2": ["vercel"],
1214
+ "voyage-code-3": ["vercel"],
1215
+ "voyage-finance-2": ["vercel"],
1216
+ "voyage-law-2": ["vercel"],
1217
+ "WizardLM-13B-V1.2": ["togetherai"],
1218
+ "WizardLM-2-8x22B": ["togetherai"],
1219
+ "Yi-34B": ["togetherai"],
1220
+ "Yi-6B": ["togetherai"]
1221
+ };
1222
+ exports.MODEL_FAMILY_TO_PROVIDERS = {
1223
+ "ada": ["openai"],
1224
+ "ada-batch": ["openai"],
1225
+ "alpaca-7b": ["togetherai"],
1226
+ "babbage": ["openai"],
1227
+ "babbage-batch": ["openai"],
1228
+ "chronos-hermes-13b": ["togetherai"],
1229
+ "claude": ["anthropic"],
1230
+ "claude-3-5-haiku": ["bedrock", "google", "vercel"],
1231
+ "claude-3-5-sonnet": ["bedrock", "google", "vercel"],
1232
+ "claude-3-7-sonnet": ["bedrock", "google", "vercel"],
1233
+ "claude-3-haiku": ["anthropic", "bedrock", "vercel"],
1234
+ "claude-3-opus": ["google", "vercel"],
1235
+ "claude-4-opus": ["vercel"],
1236
+ "claude-4-sonnet": ["vercel"],
1237
+ "claude-haiku-4-5": ["anthropic", "vercel"],
1238
+ "claude-instant-1": ["anthropic"],
1239
+ "claude-opus-4": ["anthropic", "bedrock", "vercel"],
1240
+ "claude-opus-4-1": ["anthropic", "bedrock", "vercel"],
1241
+ "claude-opus-4-5": ["anthropic", "vercel"],
1242
+ "claude-opus-4-6": ["anthropic", "vercel"],
1243
+ "claude-sonnet-4": ["anthropic", "bedrock", "vercel"],
1244
+ "claude-sonnet-4-5": ["anthropic", "vercel"],
1245
+ "claude-sonnet-4-6": ["anthropic", "vercel"],
1246
+ "codellama-13b-instruct-hf": ["togetherai"],
1247
+ "codellama-34b-instruct-hf": ["togetherai"],
1248
+ "codellama-70b-instruct-hf": ["togetherai"],
1249
+ "codellama-7b-instruct-hf": ["togetherai"],
1250
+ "codestral": ["vercel"],
1251
+ "codestral-embed": ["vercel"],
1252
+ "codex-mini": ["vercel"],
1253
+ "command-a": ["vercel"],
1254
+ "command-r": ["vercel"],
1255
+ "command-r-plus": ["vercel"],
1256
+ "curie": ["openai"],
1257
+ "curie-batch": ["openai"],
1258
+ "davinci": ["openai"],
1259
+ "davinci-batch": ["openai"],
1260
+ "deepseek": ["togetherai", "vercel"],
1261
+ "deepseek-coder-33b-instruct": ["togetherai"],
1262
+ "deepseek-r1": ["togetherai", "vercel"],
1263
+ "deepseek-r1-0528-tput": ["togetherai"],
1264
+ "deepseek-r1-distill-llama-70b": ["vercel"],
1265
+ "deepseek-v3-1": ["vercel"],
1266
+ "deepseek-v3-1-terminus": ["vercel"],
1267
+ "deepseek-v3-2": ["vercel"],
1268
+ "devstral-2": ["vercel"],
1269
+ "devstral-small": ["vercel"],
1270
+ "devstral-small-2": ["vercel"],
1271
+ "embed-v4-0": ["vercel"],
1272
+ "ft:gpt-3-5-turbo-": ["openai"],
1273
+ "ft:gpt-4o-2024-08-06:": ["openai"],
1274
+ "ft:gpt-4o-mini-2024-07-18:": ["openai"],
1275
+ "gemini-1-0-pro-vision-001": ["google"],
1276
+ "gemini-2-0-flash": ["vercel"],
1277
+ "gemini-2-0-flash-lite": ["vercel"],
1278
+ "gemini-2-5-flash": ["google", "vercel"],
1279
+ "gemini-2-5-flash-image": ["google", "vercel"],
1280
+ "gemini-2-5-flash-lite": ["vercel"],
1281
+ "gemini-2-5-flash-lite-preview-09-2025": ["vercel"],
1282
+ "gemini-2-5-flash-preview-09-2025": ["vercel"],
1283
+ "gemini-2-5-flash-preview-image": ["google"],
1284
+ "gemini-2-5-pro": ["google", "vercel"],
1285
+ "gemini-3-1-flash-image": ["vercel"],
1286
+ "gemini-3-1-flash-lite": ["vercel"],
1287
+ "gemini-3-1-pro": ["vercel"],
1288
+ "gemini-3-flash": ["google", "vercel"],
1289
+ "gemini-3-pro-image": ["vercel"],
1290
+ "gemini-embedding-001": ["vercel"],
1291
+ "gemini-flash-1-5-8b": ["google"],
1292
+ "gemini-pro": ["google"],
1293
+ "gemma-2-9b": ["vercel"],
1294
+ "gemma-2b": ["togetherai"],
1295
+ "gemma-2b-it": ["togetherai"],
1296
+ "gemma-7b": ["togetherai"],
1297
+ "gemma-7b-it": ["togetherai"],
1298
+ "glm-4-5": ["vercel"],
1299
+ "glm-4-5-air": ["vercel"],
1300
+ "glm-4-5v": ["vercel"],
1301
+ "glm-4-6": ["vercel"],
1302
+ "glm-4-6v": ["vercel"],
1303
+ "glm-4-6v-flash": ["vercel"],
1304
+ "glm-4-7": ["vercel"],
1305
+ "glm-4-7-flash": ["vercel"],
1306
+ "glm-4-7-flashx": ["vercel"],
1307
+ "glm-5": ["vercel"],
1308
+ "gpt-3-5-turbo": ["openai", "vercel"],
1309
+ "gpt-3-5-turbo-0125": ["openai"],
1310
+ "gpt-3-5-turbo-0125-batch": ["openai"],
1311
+ "gpt-3-5-turbo-0301-batch": ["openai"],
1312
+ "gpt-3-5-turbo-0613-batch": ["openai"],
1313
+ "gpt-3-5-turbo-1106-batch": ["openai"],
1314
+ "gpt-3-5-turbo-16k-0613-batch": ["openai"],
1315
+ "gpt-3-5-turbo-batch": ["openai"],
1316
+ "gpt-3-5-turbo-instruct": ["openai", "vercel"],
1317
+ "gpt-3-5-turbo-instruct-0914": ["openai"],
1318
+ "gpt-3-5-turbo-instruct-0914-batch": ["openai"],
1319
+ "gpt-3-5-turbo-instruct-batch": ["openai"],
1320
+ "gpt-35-turbo": ["openai"],
1321
+ "gpt-35-turbo-16k": ["openai"],
1322
+ "gpt-35-turbo-16k-0613": ["openai"],
1323
+ "gpt-35-turbo-16k-0613-batch": ["openai"],
1324
+ "gpt-35-turbo-16k-batch": ["openai"],
1325
+ "gpt-35-turbo-batch": ["openai"],
1326
+ "gpt-4": ["openai"],
1327
+ "gpt-4-0125": ["openai"],
1328
+ "gpt-4-0125-preview-batch": ["openai"],
1329
+ "gpt-4-0314-batch": ["openai"],
1330
+ "gpt-4-0613-batch": ["openai"],
1331
+ "gpt-4-1": ["openai", "vercel"],
1332
+ "gpt-4-1-2025-04-14": ["openai"],
1333
+ "gpt-4-1-2025-04-14-batch": ["openai"],
1334
+ "gpt-4-1-batch": ["openai"],
1335
+ "gpt-4-1-mini": ["openai", "vercel"],
1336
+ "gpt-4-1-mini-2025-04-14": ["openai"],
1337
+ "gpt-4-1-mini-2025-04-14-batch": ["openai"],
1338
+ "gpt-4-1-mini-batch": ["openai"],
1339
+ "gpt-4-1-nano": ["openai", "vercel"],
1340
+ "gpt-4-1-nano-2025-04-14": ["openai"],
1341
+ "gpt-4-1-nano-2025-04-14-batch": ["openai"],
1342
+ "gpt-4-1-nano-batch": ["openai"],
1343
+ "gpt-4-1106": ["openai"],
1344
+ "gpt-4-1106-preview-batch": ["openai"],
1345
+ "gpt-4-1106-vision": ["openai"],
1346
+ "gpt-4-1106-vision-preview-batch": ["openai"],
1347
+ "gpt-4-32k-0314-batch": ["openai"],
1348
+ "gpt-4-32k-0613-batch": ["openai"],
1349
+ "gpt-4-32k-batch": ["openai"],
1350
+ "gpt-4-batch": ["openai"],
1351
+ "gpt-4-turbo": ["openai", "vercel"],
1352
+ "gpt-4-turbo-0125": ["openai"],
1353
+ "gpt-4-turbo-0125-preview-batch": ["openai"],
1354
+ "gpt-4-turbo-2024-04-09": ["openai"],
1355
+ "gpt-4-turbo-2024-04-09-batch": ["openai"],
1356
+ "gpt-4-turbo-batch": ["openai"],
1357
+ "gpt-4-vision-preview-batch": ["openai"],
1358
+ "gpt-4o": ["openai", "vercel"],
1359
+ "gpt-4o-2024-05-13": ["openai"],
1360
+ "gpt-4o-2024-05-13-batch": ["openai"],
1361
+ "gpt-4o-2024-08-06": ["openai"],
1362
+ "gpt-4o-2024-08-06-batch": ["openai"],
1363
+ "gpt-4o-2024-11-20": ["openai"],
1364
+ "gpt-4o-2024-11-20-batch": ["openai"],
1365
+ "gpt-4o-batch": ["openai"],
1366
+ "gpt-4o-mini": ["openai", "vercel"],
1367
+ "gpt-4o-mini-2024-07-18": ["openai"],
1368
+ "gpt-4o-mini-2024-07-18-batch": ["openai"],
1369
+ "gpt-4o-mini-2024-07-18.ft-": ["openai"],
1370
+ "gpt-4o-mini-batch": ["openai"],
1371
+ "gpt-4o-mini-realtime": ["openai"],
1372
+ "gpt-4o-mini-realtime-batch": ["openai"],
1373
+ "gpt-4o-mini-search": ["openai", "vercel"],
1374
+ "gpt-4o-mini-search-preview-batch": ["openai"],
1375
+ "gpt-4o-realtime": ["openai"],
1376
+ "gpt-4o-realtime-batch": ["openai"],
1377
+ "gpt-4o-search-preview-batch": ["openai"],
1378
+ "gpt-5": ["openai", "vercel"],
1379
+ "gpt-5-1": ["openai", "vercel"],
1380
+ "gpt-5-1-batch": ["openai"],
1381
+ "gpt-5-1-codex": ["openai", "vercel"],
1382
+ "gpt-5-1-codex-batch": ["openai"],
1383
+ "gpt-5-1-codex-max": ["vercel"],
1384
+ "gpt-5-1-codex-mini": ["openai", "vercel"],
1385
+ "gpt-5-1-codex-mini-batch": ["openai"],
1386
+ "gpt-5-1-instant": ["vercel"],
1387
+ "gpt-5-2": ["openai", "vercel"],
1388
+ "gpt-5-2-2025-12-11": ["openai"],
1389
+ "gpt-5-2-2025-12-11-batch": ["openai"],
1390
+ "gpt-5-2-batch": ["openai"],
1391
+ "gpt-5-2-chat": ["vercel"],
1392
+ "gpt-5-2-codex": ["vercel"],
1393
+ "gpt-5-2-pro": ["openai", "vercel"],
1394
+ "gpt-5-2-pro-batch": ["openai"],
1395
+ "gpt-5-2025-08-07": ["openai"],
1396
+ "gpt-5-2025-08-07-batch": ["openai"],
1397
+ "gpt-5-3-chat": ["vercel"],
1398
+ "gpt-5-3-codex": ["vercel"],
1399
+ "gpt-5-4": ["vercel"],
1400
+ "gpt-5-4-pro": ["vercel"],
1401
+ "gpt-5-batch": ["openai"],
1402
+ "gpt-5-chat": ["vercel"],
1403
+ "gpt-5-codex": ["vercel"],
1404
+ "gpt-5-mini": ["openai", "vercel"],
1405
+ "gpt-5-mini-2025-08-07": ["openai"],
1406
+ "gpt-5-mini-2025-08-07-batch": ["openai"],
1407
+ "gpt-5-mini-batch": ["openai"],
1408
+ "gpt-5-nano": ["openai", "vercel"],
1409
+ "gpt-5-nano-2025-08-07": ["openai"],
1410
+ "gpt-5-nano-2025-08-07-batch": ["openai"],
1411
+ "gpt-5-nano-batch": ["openai"],
1412
+ "gpt-5-pro": ["vercel"],
1413
+ "gpt-jt-moderation-6b": ["togetherai"],
1414
+ "gpt-oss-120b": ["vercel"],
1415
+ "gpt-oss-20b": ["vercel"],
1416
+ "gpt-oss-safeguard-20b": ["vercel"],
1417
+ "grok-2": ["vercel"],
1418
+ "grok-2-1212": ["xai"],
1419
+ "grok-2-vision": ["vercel"],
1420
+ "grok-2-vision-1212": ["xai"],
1421
+ "grok-3": ["vercel", "xai"],
1422
+ "grok-3-fast": ["vercel"],
1423
+ "grok-3-mini": ["vercel", "xai"],
1424
+ "grok-3-mini-fast": ["vercel"],
1425
+ "grok-4": ["vercel", "xai"],
1426
+ "grok-4-1-fast-non-reasoning": ["vercel"],
1427
+ "grok-4-1-fast-reasoning": ["vercel"],
1428
+ "grok-4-fast": ["xai"],
1429
+ "grok-4-fast-non-reasoning": ["vercel"],
1430
+ "grok-4-fast-reasoning": ["vercel"],
1431
+ "grok-beta": ["xai"],
1432
+ "grok-code-fast-1": ["vercel", "xai"],
1433
+ "grok-vision-beta": ["xai"],
1434
+ "intellect-3": ["vercel"],
1435
+ "kat-coder-pro": ["vercel"],
1436
+ "kimi-k2": ["vercel"],
1437
+ "kimi-k2-0905": ["vercel"],
1438
+ "kimi-k2-5": ["vercel"],
1439
+ "kimi-k2-thinking-turbo": ["vercel"],
1440
+ "kimi-k2-turbo": ["vercel"],
1441
+ "llama-2-13b-chat-hf": ["togetherai"],
1442
+ "llama-2-70b-chat-hf": ["togetherai"],
1443
+ "llama-2-7b-32k-instruct": ["togetherai"],
1444
+ "llama-2-7b-chat-hf": ["togetherai"],
1445
+ "llama-3-2-11b": ["vercel"],
1446
+ "llama-3-2-1b": ["vercel"],
1447
+ "llama-3-2-3b": ["vercel"],
1448
+ "llama-3-2-90b": ["vercel"],
1449
+ "llama-3-3-70b-instruct-turbo": ["togetherai"],
1450
+ "llama-3-70b": ["vercel"],
1451
+ "llama-3-70b-chat-hf": ["togetherai"],
1452
+ "llama-3-8b": ["vercel"],
1453
+ "llama-3-8b-chat-hf": ["togetherai"],
1454
+ "llama-4-maverick": ["vercel"],
1455
+ "llama-4-maverick-17b-128e-instruct-fp8": ["togetherai"],
1456
+ "llama-4-scout": ["vercel"],
1457
+ "llama-4-scout-17b-16e-instruct": ["togetherai"],
1458
+ "llama3-1-70b": ["vercel"],
1459
+ "llama3-1-8b": ["vercel"],
1460
+ "llama3-3-70b": ["vercel"],
1461
+ "longcat-flash": ["vercel"],
1462
+ "longcat-flash-chat": ["vercel"],
1463
+ "magistral-medium": ["vercel"],
1464
+ "magistral-small": ["vercel"],
1465
+ "mercury-2": ["vercel"],
1466
+ "mercury-coder-small": ["vercel"],
1467
+ "meta-llama-3-1-405b-instruct-turbo": ["togetherai"],
1468
+ "meta-llama-3-1-70b-instruct-turbo": ["togetherai"],
1469
+ "meta-llama-3-1-8b-instruct-turbo": ["togetherai"],
1470
+ "meta-llama-3-3-70b-instruct-turbo": ["togetherai"],
1471
+ "meta-llama-3-70b-instruct-lite": ["togetherai"],
1472
+ "meta-llama-3-70b-instruct-turbo": ["togetherai"],
1473
+ "meta-llama-3-8b-instruct-lite": ["togetherai"],
1474
+ "meta-llama-3-8b-instruct-turbo": ["togetherai"],
1475
+ "meta.llama3-8b-instruct-v1%3a0": ["bedrock"],
1476
+ "mimo-v2-flash": ["vercel"],
1477
+ "minimax-m2": ["vercel"],
1478
+ "minimax-m2-1": ["vercel"],
1479
+ "minimax-m2-1-lightning": ["vercel"],
1480
+ "minimax-m2-5": ["vercel"],
1481
+ "minimax-m2-5-highspeed": ["vercel"],
1482
+ "ministral-14b": ["vercel"],
1483
+ "ministral-3b": ["vercel"],
1484
+ "ministral-8b": ["vercel"],
1485
+ "mistral-7b-instruct-v0-1": ["togetherai"],
1486
+ "mistral-7b-instruct-v0-2": ["togetherai"],
1487
+ "mistral-7b-openorca": ["togetherai"],
1488
+ "mistral-7b-v0-1": ["togetherai"],
1489
+ "mistral-embed": ["vercel"],
1490
+ "mistral-large": ["vercel"],
1491
+ "mistral-large-3": ["vercel"],
1492
+ "mistral-medium": ["vercel"],
1493
+ "mistral-nemo": ["vercel"],
1494
+ "mistral-saba-24b": ["vercel"],
1495
+ "mistral-small": ["vercel"],
1496
+ "mixtral-8x22b-instruct": ["vercel"],
1497
+ "mixtral-8x22b-instruct-v0-1": ["togetherai"],
1498
+ "mixtral-8x7b-instruct-v0-1": ["togetherai"],
1499
+ "mixtral-8x7b-v0-1": ["togetherai"],
1500
+ "morph-v3-fast": ["vercel"],
1501
+ "morph-v3-large": ["vercel"],
1502
+ "mythomax-l2-13b": ["togetherai"],
1503
+ "nemotron-3-nano-30b-a3b": ["vercel"],
1504
+ "nemotron-nano-12b-v2-vl": ["vercel"],
1505
+ "nemotron-nano-9b": ["vercel"],
1506
+ "nexusraven-v2-13b": ["togetherai"],
1507
+ "nous-capybara-7b-v1p9": ["togetherai"],
1508
+ "nous-hermes-2-mixtral-8x7b-dpo": ["togetherai"],
1509
+ "nous-hermes-2-mixtral-8x7b-sft": ["togetherai"],
1510
+ "nous-hermes-2-yi-34b": ["togetherai"],
1511
+ "nous-hermes-llama-2-7b": ["togetherai"],
1512
+ "nous-hermes-llama2-13b": ["togetherai"],
1513
+ "nova-2-lite": ["vercel"],
1514
+ "nova-lite": ["vercel"],
1515
+ "nova-micro": ["vercel"],
1516
+ "nova-pro": ["vercel"],
1517
+ "o1": ["openai", "vercel"],
1518
+ "o1-2024-12-17": ["openai"],
1519
+ "o1-2024-12-17-batch": ["openai"],
1520
+ "o1-batch": ["openai"],
1521
+ "o1-mini-2024-09-12": ["openai"],
1522
+ "o1-mini-2024-09-12-batch": ["openai"],
1523
+ "o1-mini-batch": ["openai"],
1524
+ "o1-preview-2024-09-12": ["openai"],
1525
+ "o1-preview-2024-09-12-batch": ["openai"],
1526
+ "o1-preview-batch": ["openai"],
1527
+ "o1-pro-batch": ["openai"],
1528
+ "o3": ["vercel"],
1529
+ "o3-2025-04-16": ["openai"],
1530
+ "o3-2025-04-16-batch": ["openai"],
1531
+ "o3-deep-research": ["vercel"],
1532
+ "o3-mini": ["openai", "vercel"],
1533
+ "o3-mini-2025-01-31": ["openai"],
1534
+ "o3-mini-2025-01-31-batch": ["openai"],
1535
+ "o3-mini-batch": ["openai"],
1536
+ "o3-pro": ["vercel"],
1537
+ "o3-pro-batch": ["openai"],
1538
+ "o4-mini": ["vercel"],
1539
+ "o4-mini-2025-04-16": ["openai"],
1540
+ "o4-mini-2025-04-16-batch": ["openai"],
1541
+ "o4-mini-batch": ["openai"],
1542
+ "olmo-7b": ["togetherai"],
1543
+ "olmo-7b-instruct": ["togetherai"],
1544
+ "olmo-7b-twin-2t": ["togetherai"],
1545
+ "openchat-3-5-1210": ["togetherai"],
1546
+ "openhermes-2-mistral-7b": ["togetherai"],
1547
+ "openhermes-2p5-mistral-7b": ["togetherai"],
1548
+ "orchestrator-8b": ["mixlayer"],
1549
+ "phi-2": ["togetherai"],
1550
+ "pixtral-12b": ["vercel"],
1551
+ "pixtral-large": ["vercel"],
1552
+ "platypus2-70b-instruct": ["togetherai"],
1553
+ "qwen-3-14b": ["vercel"],
1554
+ "qwen-3-235b": ["vercel"],
1555
+ "qwen-3-30b": ["vercel"],
1556
+ "qwen1-5-0-5b": ["togetherai"],
1557
+ "qwen1-5-0-5b-chat": ["togetherai"],
1558
+ "qwen1-5-1-8b": ["togetherai"],
1559
+ "qwen1-5-1-8b-chat": ["togetherai"],
1560
+ "qwen1-5-14b": ["togetherai"],
1561
+ "qwen1-5-14b-chat": ["togetherai"],
1562
+ "qwen1-5-4b": ["togetherai"],
1563
+ "qwen1-5-4b-chat": ["togetherai"],
1564
+ "qwen1-5-72b": ["togetherai"],
1565
+ "qwen1-5-7b": ["togetherai"],
1566
+ "qwen1-5-7b-chat": ["togetherai"],
1567
+ "qwen2-5-72b-instruct-turbo": ["togetherai"],
1568
+ "qwen2-5-7b-instruct-turbo": ["togetherai"],
1569
+ "qwen2-5-coder-32b-instruct": ["togetherai"],
1570
+ "qwen2-5-vl-72b-instruct": ["togetherai"],
1571
+ "qwen3-235b-a22b": ["vercel"],
1572
+ "qwen3-30b-a3b": ["mixlayer"],
1573
+ "qwen3-30b-a3b-instruct": ["mixlayer"],
1574
+ "qwen3-32b": ["mixlayer", "vercel"],
1575
+ "qwen3-5-35b-a3b": ["mixlayer"],
1576
+ "qwen3-5-9b": ["mixlayer"],
1577
+ "qwen3-5-flash": ["vercel"],
1578
+ "qwen3-5-plus": ["vercel"],
1579
+ "qwen3-8b": ["mixlayer"],
1580
+ "qwen3-coder": ["vercel"],
1581
+ "qwen3-coder-30b-a3b": ["vercel"],
1582
+ "qwen3-coder-next": ["vercel"],
1583
+ "qwen3-coder-plus": ["vercel"],
1584
+ "qwen3-embedding-0-6b": ["vercel"],
1585
+ "qwen3-embedding-4b": ["vercel"],
1586
+ "qwen3-embedding-8b": ["vercel"],
1587
+ "qwen3-max": ["vercel"],
1588
+ "qwen3-next-80b-a3b": ["vercel"],
1589
+ "qwen3-next-80b-a3b-instruct": ["vercel"],
1590
+ "qwen3-vl": ["vercel"],
1591
+ "qwen3-vl-instruct": ["vercel"],
1592
+ "redpajama-incite-7b-base": ["togetherai"],
1593
+ "redpajama-incite-7b-chat": ["togetherai"],
1594
+ "redpajama-incite-7b-instruct": ["togetherai"],
1595
+ "redpajama-incite-base-3b": ["togetherai"],
1596
+ "redpajama-incite-chat-3b": ["togetherai"],
1597
+ "redpajama-incite-instruct-3b": ["togetherai"],
1598
+ "remm-slerp-l2-13b": ["togetherai"],
1599
+ "seed-1-6": ["vercel"],
1600
+ "seed-1-8": ["vercel"],
1601
+ "snorkel-mistral-pairrm-dpo": ["togetherai"],
1602
+ "solar-10-7b-instruct-v1-0": ["togetherai"],
1603
+ "sonar": ["vercel"],
1604
+ "sonar-pro": ["vercel"],
1605
+ "sonar-reasoning": ["vercel"],
1606
+ "sonar-reasoning-pro": ["vercel"],
1607
+ "stripedhyena-hessian-7b": ["togetherai"],
1608
+ "stripedhyena-nous-7b": ["togetherai"],
1609
+ "text-ada-001": ["openai"],
1610
+ "text-ada-001-batch": ["openai"],
1611
+ "text-curie-001": ["openai"],
1612
+ "text-curie-001-batch": ["openai"],
1613
+ "text-davinci-001": ["openai"],
1614
+ "text-davinci-001-batch": ["openai"],
1615
+ "text-davinci-002": ["openai"],
1616
+ "text-davinci-002-batch": ["openai"],
1617
+ "text-davinci-003": ["openai"],
1618
+ "text-davinci-003-batch": ["openai"],
1619
+ "text-embedding-005": ["vercel"],
1620
+ "text-embedding-3-large": ["openai", "vercel"],
1621
+ "text-embedding-3-large-batch": ["openai"],
1622
+ "text-embedding-3-small": ["openai", "vercel"],
1623
+ "text-embedding-3-small-batch": ["openai"],
1624
+ "text-embedding-ada": ["openai"],
1625
+ "text-embedding-ada-002": ["openai", "vercel"],
1626
+ "text-embedding-ada-002-batch": ["openai"],
1627
+ "text-embedding-ada-002-v2-batch": ["openai"],
1628
+ "text-embedding-ada-batch": ["openai"],
1629
+ "text-multilingual-embedding-002": ["vercel"],
1630
+ "titan-embed-text": ["vercel"],
1631
+ "toppy-m-7b": ["togetherai"],
1632
+ "trinity-large": ["vercel"],
1633
+ "trinity-mini": ["vercel"],
1634
+ "v0-1-0-md": ["vercel"],
1635
+ "v0-1-5-md": ["vercel"],
1636
+ "vicuna-13b-v1-5": ["togetherai"],
1637
+ "vicuna-7b-v1-5": ["togetherai"],
1638
+ "voyage-3-5": ["vercel"],
1639
+ "voyage-3-5-lite": ["vercel"],
1640
+ "voyage-3-large": ["vercel"],
1641
+ "voyage-4": ["vercel"],
1642
+ "voyage-4-large": ["vercel"],
1643
+ "voyage-4-lite": ["vercel"],
1644
+ "voyage-code-2": ["vercel"],
1645
+ "voyage-code-3": ["vercel"],
1646
+ "voyage-finance-2": ["vercel"],
1647
+ "voyage-law-2": ["vercel"],
1648
+ "wizardlm-13b-v1-2": ["togetherai"],
1649
+ "wizardlm-2-8x22b": ["togetherai"],
1650
+ "yi-34b": ["togetherai"],
1651
+ "yi-6b": ["togetherai"]
1652
+ };
1653
+ exports.MODEL_FAMILY_PROVIDER_IDS = {
1654
+ "ada": {
1655
+ "openai": "ada"
1656
+ },
1657
+ "ada-batch": {
1658
+ "openai": "ada-batch"
1659
+ },
1660
+ "alpaca-7b": {
1661
+ "togetherai": "togethercomputer/alpaca-7b"
1662
+ },
1663
+ "babbage": {
1664
+ "openai": "babbage"
1665
+ },
1666
+ "babbage-batch": {
1667
+ "openai": "babbage-batch"
1668
+ },
1669
+ "chronos-hermes-13b": {
1670
+ "togetherai": "Austism/chronos-hermes-13b"
1671
+ },
1672
+ "claude": {
1673
+ "anthropic": "claude-v1"
1674
+ },
1675
+ "claude-3-5-haiku": {
1676
+ "bedrock": "bedrock/claude-3-5-haiku",
1677
+ "google": "google/claude-3-5-haiku",
1678
+ "vercel": "anthropic/claude-3.5-haiku"
1679
+ },
1680
+ "claude-3-5-sonnet": {
1681
+ "bedrock": "bedrock/claude-3-5-sonnet",
1682
+ "google": "google/claude-3-5-sonnet",
1683
+ "vercel": "anthropic/claude-3.5-sonnet-20240620"
1684
+ },
1685
+ "claude-3-7-sonnet": {
1686
+ "bedrock": "bedrock/claude-3-7-sonnet",
1687
+ "google": "google/claude-3-7-sonnet",
1688
+ "vercel": "anthropic/claude-3.7-sonnet"
1689
+ },
1690
+ "claude-3-haiku": {
1691
+ "anthropic": "claude-3-haiku-20240307",
1692
+ "bedrock": "bedrock/claude-3-haiku",
1693
+ "vercel": "anthropic/claude-3-haiku"
1694
+ },
1695
+ "claude-3-haiku-20240307": {
1696
+ "anthropic": "claude-3-haiku-20240307"
1697
+ },
1698
+ "claude-3-opus": {
1699
+ "google": "google/claude-3-opus",
1700
+ "vercel": "anthropic/claude-3-opus"
1701
+ },
1702
+ "claude-3.5-haiku": {
1703
+ "vercel": "anthropic/claude-3.5-haiku"
1704
+ },
1705
+ "claude-3.5-sonnet": {
1706
+ "vercel": "anthropic/claude-3.5-sonnet"
1707
+ },
1708
+ "claude-3.5-sonnet-20240620": {
1709
+ "vercel": "anthropic/claude-3.5-sonnet-20240620"
1710
+ },
1711
+ "claude-3.7-sonnet": {
1712
+ "vercel": "anthropic/claude-3.7-sonnet"
1713
+ },
1714
+ "claude-4-opus": {
1715
+ "vercel": "anthropic/claude-4-opus"
1716
+ },
1717
+ "claude-4-sonnet": {
1718
+ "vercel": "anthropic/claude-4-sonnet"
1719
+ },
1720
+ "claude-haiku-4-5": {
1721
+ "anthropic": "claude-haiku-4-5-20251001",
1722
+ "vercel": "anthropic/claude-haiku-4.5"
1723
+ },
1724
+ "claude-haiku-4-5-20251001": {
1725
+ "anthropic": "claude-haiku-4-5-20251001"
1726
+ },
1727
+ "claude-haiku-4.5": {
1728
+ "vercel": "anthropic/claude-haiku-4.5"
1729
+ },
1730
+ "claude-instant-1": {
1731
+ "anthropic": "claude-instant-1"
1732
+ },
1733
+ "claude-opus-4": {
1734
+ "anthropic": "claude-opus-4-20250514",
1735
+ "bedrock": "bedrock/claude-opus-4",
1736
+ "vercel": "anthropic/claude-opus-4"
1737
+ },
1738
+ "claude-opus-4-1": {
1739
+ "anthropic": "claude-opus-4-1-20250805",
1740
+ "bedrock": "bedrock/claude-opus-4-1",
1741
+ "vercel": "anthropic/claude-opus-4.1"
1742
+ },
1743
+ "claude-opus-4-1-20250805": {
1744
+ "anthropic": "claude-opus-4-1-20250805"
1745
+ },
1746
+ "claude-opus-4-20250514": {
1747
+ "anthropic": "claude-opus-4-20250514"
1748
+ },
1749
+ "claude-opus-4-5": {
1750
+ "anthropic": "anthropic/claude-opus-4-5",
1751
+ "vercel": "anthropic/claude-opus-4.5"
1752
+ },
1753
+ "claude-opus-4-6": {
1754
+ "anthropic": "anthropic/claude-opus-4-6",
1755
+ "vercel": "anthropic/claude-opus-4.6"
1756
+ },
1757
+ "claude-opus-4.1": {
1758
+ "vercel": "anthropic/claude-opus-4.1"
1759
+ },
1760
+ "claude-opus-4.5": {
1761
+ "vercel": "anthropic/claude-opus-4.5"
1762
+ },
1763
+ "claude-opus-4.6": {
1764
+ "vercel": "anthropic/claude-opus-4.6"
1765
+ },
1766
+ "claude-sonnet-4": {
1767
+ "anthropic": "claude-sonnet-4-20250514",
1768
+ "bedrock": "bedrock/claude-sonnet-4",
1769
+ "vercel": "anthropic/claude-sonnet-4"
1770
+ },
1771
+ "claude-sonnet-4-20250514": {
1772
+ "anthropic": "claude-sonnet-4-20250514"
1773
+ },
1774
+ "claude-sonnet-4-5": {
1775
+ "anthropic": "claude-sonnet-4-5-20250929",
1776
+ "vercel": "anthropic/claude-sonnet-4.5"
1777
+ },
1778
+ "claude-sonnet-4-5-20250929": {
1779
+ "anthropic": "claude-sonnet-4-5-20250929"
1780
+ },
1781
+ "claude-sonnet-4-6": {
1782
+ "anthropic": "claude-sonnet-4-6-20260217",
1783
+ "vercel": "anthropic/claude-sonnet-4.6"
1784
+ },
1785
+ "claude-sonnet-4-6-20260217": {
1786
+ "anthropic": "claude-sonnet-4-6-20260217"
1787
+ },
1788
+ "claude-sonnet-4.5": {
1789
+ "vercel": "anthropic/claude-sonnet-4.5"
1790
+ },
1791
+ "claude-sonnet-4.6": {
1792
+ "vercel": "anthropic/claude-sonnet-4.6"
1793
+ },
1794
+ "claude-v1": {
1795
+ "anthropic": "claude-v1"
1796
+ },
1797
+ "codellama-13b-instruct-hf": {
1798
+ "togetherai": "codellama/CodeLlama-13b-Instruct-hf"
1799
+ },
1800
+ "CodeLlama-13b-Instruct-hf": {
1801
+ "togetherai": "codellama/CodeLlama-13b-Instruct-hf"
1802
+ },
1803
+ "codellama-34b-instruct-hf": {
1804
+ "togetherai": "codellama/CodeLlama-34b-Instruct-hf"
1805
+ },
1806
+ "CodeLlama-34b-Instruct-hf": {
1807
+ "togetherai": "codellama/CodeLlama-34b-Instruct-hf"
1808
+ },
1809
+ "codellama-70b-instruct-hf": {
1810
+ "togetherai": "codellama/CodeLlama-70b-Instruct-hf"
1811
+ },
1812
+ "CodeLlama-70b-Instruct-hf": {
1813
+ "togetherai": "codellama/CodeLlama-70b-Instruct-hf"
1814
+ },
1815
+ "codellama-7b-instruct-hf": {
1816
+ "togetherai": "codellama/CodeLlama-7b-Instruct-hf"
1817
+ },
1818
+ "CodeLlama-7b-Instruct-hf": {
1819
+ "togetherai": "codellama/CodeLlama-7b-Instruct-hf"
1820
+ },
1821
+ "codestral": {
1822
+ "vercel": "mistral/codestral"
1823
+ },
1824
+ "codestral-embed": {
1825
+ "vercel": "mistral/codestral-embed"
1826
+ },
1827
+ "codex-mini": {
1828
+ "vercel": "openai/codex-mini"
1829
+ },
1830
+ "command-a": {
1831
+ "vercel": "cohere/command-a"
1832
+ },
1833
+ "command-r": {
1834
+ "vercel": "cohere/command-r"
1835
+ },
1836
+ "command-r-plus": {
1837
+ "vercel": "cohere/command-r-plus"
1838
+ },
1839
+ "curie": {
1840
+ "openai": "curie"
1841
+ },
1842
+ "curie-batch": {
1843
+ "openai": "curie-batch"
1844
+ },
1845
+ "davinci": {
1846
+ "openai": "davinci"
1847
+ },
1848
+ "davinci-batch": {
1849
+ "openai": "davinci-batch"
1850
+ },
1851
+ "deepseek": {
1852
+ "togetherai": "deepseek-ai/DeepSeek-V3",
1853
+ "vercel": "deepseek/deepseek-v3"
1854
+ },
1855
+ "deepseek-coder-33b-instruct": {
1856
+ "togetherai": "deepseek-ai/deepseek-coder-33b-instruct"
1857
+ },
1858
+ "deepseek-r1": {
1859
+ "togetherai": "deepseek-ai/DeepSeek-R1",
1860
+ "vercel": "deepseek/deepseek-r1"
1861
+ },
1862
+ "DeepSeek-R1": {
1863
+ "togetherai": "deepseek-ai/DeepSeek-R1"
1864
+ },
1865
+ "deepseek-r1-0528-tput": {
1866
+ "togetherai": "deepseek-ai/DeepSeek-R1-0528-tput"
1867
+ },
1868
+ "DeepSeek-R1-0528-tput": {
1869
+ "togetherai": "deepseek-ai/DeepSeek-R1-0528-tput"
1870
+ },
1871
+ "deepseek-r1-distill-llama-70b": {
1872
+ "vercel": "deepseek/deepseek-r1-distill-llama-70b"
1873
+ },
1874
+ "deepseek-v3": {
1875
+ "vercel": "deepseek/deepseek-v3"
1876
+ },
1877
+ "DeepSeek-V3": {
1878
+ "togetherai": "deepseek-ai/DeepSeek-V3"
1879
+ },
1880
+ "deepseek-v3-1": {
1881
+ "vercel": "deepseek/deepseek-v3.1"
1882
+ },
1883
+ "deepseek-v3-1-terminus": {
1884
+ "vercel": "deepseek/deepseek-v3.1-terminus"
1885
+ },
1886
+ "deepseek-v3-2": {
1887
+ "vercel": "deepseek/deepseek-v3.2-thinking"
1888
+ },
1889
+ "deepseek-v3.1": {
1890
+ "vercel": "deepseek/deepseek-v3.1"
1891
+ },
1892
+ "deepseek-v3.1-terminus": {
1893
+ "vercel": "deepseek/deepseek-v3.1-terminus"
1894
+ },
1895
+ "deepseek-v3.2": {
1896
+ "vercel": "deepseek/deepseek-v3.2"
1897
+ },
1898
+ "deepseek-v3.2-thinking": {
1899
+ "vercel": "deepseek/deepseek-v3.2-thinking"
1900
+ },
1901
+ "devstral-2": {
1902
+ "vercel": "mistral/devstral-2"
1903
+ },
1904
+ "devstral-small": {
1905
+ "vercel": "mistral/devstral-small"
1906
+ },
1907
+ "devstral-small-2": {
1908
+ "vercel": "mistral/devstral-small-2"
1909
+ },
1910
+ "embed-v4-0": {
1911
+ "vercel": "cohere/embed-v4.0"
1912
+ },
1913
+ "embed-v4.0": {
1914
+ "vercel": "cohere/embed-v4.0"
1915
+ },
1916
+ "ft:gpt-3-5-turbo-": {
1917
+ "openai": "openai/ft:gpt-3.5-turbo-"
1918
+ },
1919
+ "ft:gpt-3.5-turbo-": {
1920
+ "openai": "openai/ft:gpt-3.5-turbo-"
1921
+ },
1922
+ "ft:gpt-4o-2024-08-06:": {
1923
+ "openai": "openai/ft:gpt-4o-2024-08-06:"
1924
+ },
1925
+ "ft:gpt-4o-mini-2024-07-18:": {
1926
+ "openai": "openai/ft:gpt-4o-mini-2024-07-18:"
1927
+ },
1928
+ "gemini-1-0-pro-vision-001": {
1929
+ "google": "gemini-1.0-pro-vision-001"
1930
+ },
1931
+ "gemini-1.0-pro-vision-001": {
1932
+ "google": "gemini-1.0-pro-vision-001"
1933
+ },
1934
+ "gemini-2-0-flash": {
1935
+ "vercel": "google/gemini-2-0-flash"
1936
+ },
1937
+ "gemini-2-0-flash-lite": {
1938
+ "vercel": "google/gemini-2-0-flash-lite"
1939
+ },
1940
+ "gemini-2-5-flash": {
1941
+ "google": "google/gemini-2.5-flash-preview",
1942
+ "vercel": "google/gemini-2-5-flash"
1943
+ },
1944
+ "gemini-2-5-flash-image": {
1945
+ "google": "google/gemini-2.5-flash-image-preview",
1946
+ "vercel": "google/gemini-2.5-flash-image"
1947
+ },
1948
+ "gemini-2-5-flash-lite": {
1949
+ "vercel": "google/gemini-2.5-flash-lite"
1950
+ },
1951
+ "gemini-2-5-flash-lite-preview-09-2025": {
1952
+ "vercel": "google/gemini-2.5-flash-lite-preview-09-2025"
1953
+ },
1954
+ "gemini-2-5-flash-preview-09-2025": {
1955
+ "vercel": "google/gemini-2.5-flash-preview-09-2025"
1956
+ },
1957
+ "gemini-2-5-flash-preview-image": {
1958
+ "google": "google/gemini-2.5-flash-preview-image"
1959
+ },
1960
+ "gemini-2-5-pro": {
1961
+ "google": "gemini-2.5-pro",
1962
+ "vercel": "google/gemini-2-5-pro"
1963
+ },
1964
+ "gemini-2.5-flash": {
1965
+ "google": "gemini-2.5-flash",
1966
+ "vercel": "google/gemini-2.5-flash"
1967
+ },
1968
+ "gemini-2.5-flash-image": {
1969
+ "vercel": "google/gemini-2.5-flash-image"
1970
+ },
1971
+ "gemini-2.5-flash-image-preview": {
1972
+ "google": "google/gemini-2.5-flash-image-preview"
1973
+ },
1974
+ "gemini-2.5-flash-lite": {
1975
+ "vercel": "google/gemini-2.5-flash-lite"
1976
+ },
1977
+ "gemini-2.5-flash-lite-preview-09-2025": {
1978
+ "vercel": "google/gemini-2.5-flash-lite-preview-09-2025"
1979
+ },
1980
+ "gemini-2.5-flash-preview": {
1981
+ "google": "google/gemini-2.5-flash-preview"
1982
+ },
1983
+ "gemini-2.5-flash-preview-09-2025": {
1984
+ "vercel": "google/gemini-2.5-flash-preview-09-2025"
1985
+ },
1986
+ "gemini-2.5-flash-preview-image": {
1987
+ "google": "google/gemini-2.5-flash-preview-image"
1988
+ },
1989
+ "gemini-2.5-pro": {
1990
+ "google": "gemini-2.5-pro",
1991
+ "vercel": "google/gemini-2.5-pro"
1992
+ },
1993
+ "gemini-3-1-flash-image": {
1994
+ "vercel": "google/gemini-3.1-flash-image-preview"
1995
+ },
1996
+ "gemini-3-1-flash-lite": {
1997
+ "vercel": "google/gemini-3.1-flash-lite-preview"
1998
+ },
1999
+ "gemini-3-1-pro": {
2000
+ "vercel": "google/gemini-3.1-pro-preview"
2001
+ },
2002
+ "gemini-3-flash": {
2003
+ "google": "google/gemini-3-flash-preview",
2004
+ "vercel": "google/gemini-3-flash"
2005
+ },
2006
+ "gemini-3-flash-preview": {
2007
+ "google": "google/gemini-3-flash-preview"
2008
+ },
2009
+ "gemini-3-pro-image": {
2010
+ "vercel": "google/gemini-3-pro-image"
2011
+ },
2012
+ "gemini-3.1-flash-image-preview": {
2013
+ "vercel": "google/gemini-3.1-flash-image-preview"
2014
+ },
2015
+ "gemini-3.1-flash-lite-preview": {
2016
+ "vercel": "google/gemini-3.1-flash-lite-preview"
2017
+ },
2018
+ "gemini-3.1-pro-preview": {
2019
+ "vercel": "google/gemini-3.1-pro-preview"
2020
+ },
2021
+ "gemini-embedding-001": {
2022
+ "vercel": "google/gemini-embedding-001"
2023
+ },
2024
+ "gemini-flash-1-5-8b": {
2025
+ "google": "gemini-flash-1.5-8b"
2026
+ },
2027
+ "gemini-flash-1.5-8b": {
2028
+ "google": "gemini-flash-1.5-8b"
2029
+ },
2030
+ "gemini-pro": {
2031
+ "google": "google/gemini-pro"
2032
+ },
2033
+ "gemma-2-9b": {
2034
+ "vercel": "google/gemma-2-9b"
2035
+ },
2036
+ "gemma-2b": {
2037
+ "togetherai": "google/gemma-2b"
2038
+ },
2039
+ "gemma-2b-it": {
2040
+ "togetherai": "google/gemma-2b-it"
2041
+ },
2042
+ "gemma-7b": {
2043
+ "togetherai": "google/gemma-7b"
2044
+ },
2045
+ "gemma-7b-it": {
2046
+ "togetherai": "google/gemma-7b-it"
2047
+ },
2048
+ "glm-4-5": {
2049
+ "vercel": "zai/glm-4.5"
2050
+ },
2051
+ "glm-4-5-air": {
2052
+ "vercel": "zai/glm-4.5-air"
2053
+ },
2054
+ "glm-4-5v": {
2055
+ "vercel": "zai/glm-4.5v"
2056
+ },
2057
+ "glm-4-6": {
2058
+ "vercel": "zai/glm-4.6"
2059
+ },
2060
+ "glm-4-6v": {
2061
+ "vercel": "zai/glm-4.6v"
2062
+ },
2063
+ "glm-4-6v-flash": {
2064
+ "vercel": "zai/glm-4.6v-flash"
2065
+ },
2066
+ "glm-4-7": {
2067
+ "vercel": "zai/glm-4.7"
2068
+ },
2069
+ "glm-4-7-flash": {
2070
+ "vercel": "zai/glm-4.7-flash"
2071
+ },
2072
+ "glm-4-7-flashx": {
2073
+ "vercel": "zai/glm-4.7-flashx"
2074
+ },
2075
+ "glm-4.5": {
2076
+ "vercel": "zai/glm-4.5"
2077
+ },
2078
+ "glm-4.5-air": {
2079
+ "vercel": "zai/glm-4.5-air"
2080
+ },
2081
+ "glm-4.5v": {
2082
+ "vercel": "zai/glm-4.5v"
2083
+ },
2084
+ "glm-4.6": {
2085
+ "vercel": "zai/glm-4.6"
2086
+ },
2087
+ "glm-4.6v": {
2088
+ "vercel": "zai/glm-4.6v"
2089
+ },
2090
+ "glm-4.6v-flash": {
2091
+ "vercel": "zai/glm-4.6v-flash"
2092
+ },
2093
+ "glm-4.7": {
2094
+ "vercel": "zai/glm-4.7"
2095
+ },
2096
+ "glm-4.7-flash": {
2097
+ "vercel": "zai/glm-4.7-flash"
2098
+ },
2099
+ "glm-4.7-flashx": {
2100
+ "vercel": "zai/glm-4.7-flashx"
2101
+ },
2102
+ "glm-5": {
2103
+ "vercel": "zai/glm-5"
2104
+ },
2105
+ "gpt-3-5-turbo": {
2106
+ "openai": "gpt-3.5-turbo",
2107
+ "vercel": "openai/gpt-3-5-turbo"
2108
+ },
2109
+ "gpt-3-5-turbo-0125": {
2110
+ "openai": "gpt-3.5-turbo-0125"
2111
+ },
2112
+ "gpt-3-5-turbo-0125-batch": {
2113
+ "openai": "gpt-3.5-turbo-0125-batch"
2114
+ },
2115
+ "gpt-3-5-turbo-0301-batch": {
2116
+ "openai": "gpt-3.5-turbo-0301-batch"
2117
+ },
2118
+ "gpt-3-5-turbo-0613-batch": {
2119
+ "openai": "gpt-3.5-turbo-0613-batch"
2120
+ },
2121
+ "gpt-3-5-turbo-1106-batch": {
2122
+ "openai": "gpt-3.5-turbo-1106-batch"
2123
+ },
2124
+ "gpt-3-5-turbo-16k-0613-batch": {
2125
+ "openai": "gpt-3.5-turbo-16k-0613-batch"
2126
+ },
2127
+ "gpt-3-5-turbo-batch": {
2128
+ "openai": "gpt-3.5-turbo-batch"
2129
+ },
2130
+ "gpt-3-5-turbo-instruct": {
2131
+ "openai": "gpt-3.5-turbo-instruct",
2132
+ "vercel": "openai/gpt-3-5-turbo-instruct"
2133
+ },
2134
+ "gpt-3-5-turbo-instruct-0914": {
2135
+ "openai": "gpt-3.5-turbo-instruct-0914"
2136
+ },
2137
+ "gpt-3-5-turbo-instruct-0914-batch": {
2138
+ "openai": "gpt-3.5-turbo-instruct-0914-batch"
2139
+ },
2140
+ "gpt-3-5-turbo-instruct-batch": {
2141
+ "openai": "gpt-3.5-turbo-instruct-batch"
2142
+ },
2143
+ "gpt-3.5-turbo": {
2144
+ "openai": "gpt-3.5-turbo",
2145
+ "vercel": "openai/gpt-3.5-turbo"
2146
+ },
2147
+ "gpt-3.5-turbo-0125": {
2148
+ "openai": "gpt-3.5-turbo-0125"
2149
+ },
2150
+ "gpt-3.5-turbo-0125-batch": {
2151
+ "openai": "gpt-3.5-turbo-0125-batch"
2152
+ },
2153
+ "gpt-3.5-turbo-0301-batch": {
2154
+ "openai": "gpt-3.5-turbo-0301-batch"
2155
+ },
2156
+ "gpt-3.5-turbo-0613-batch": {
2157
+ "openai": "gpt-3.5-turbo-0613-batch"
2158
+ },
2159
+ "gpt-3.5-turbo-1106-batch": {
2160
+ "openai": "gpt-3.5-turbo-1106-batch"
2161
+ },
2162
+ "gpt-3.5-turbo-16k-0613-batch": {
2163
+ "openai": "gpt-3.5-turbo-16k-0613-batch"
2164
+ },
2165
+ "gpt-3.5-turbo-batch": {
2166
+ "openai": "gpt-3.5-turbo-batch"
2167
+ },
2168
+ "gpt-3.5-turbo-instruct": {
2169
+ "openai": "gpt-3.5-turbo-instruct",
2170
+ "vercel": "openai/gpt-3.5-turbo-instruct"
2171
+ },
2172
+ "gpt-3.5-turbo-instruct-0914": {
2173
+ "openai": "gpt-3.5-turbo-instruct-0914"
2174
+ },
2175
+ "gpt-3.5-turbo-instruct-0914-batch": {
2176
+ "openai": "gpt-3.5-turbo-instruct-0914-batch"
2177
+ },
2178
+ "gpt-3.5-turbo-instruct-batch": {
2179
+ "openai": "gpt-3.5-turbo-instruct-batch"
2180
+ },
2181
+ "gpt-35-turbo": {
2182
+ "openai": "gpt-35-turbo"
2183
+ },
2184
+ "gpt-35-turbo-16k": {
2185
+ "openai": "gpt-35-turbo-16k"
2186
+ },
2187
+ "gpt-35-turbo-16k-0613": {
2188
+ "openai": "gpt-35-turbo-16k-0613"
2189
+ },
2190
+ "gpt-35-turbo-16k-0613-batch": {
2191
+ "openai": "gpt-35-turbo-16k-0613-batch"
2192
+ },
2193
+ "gpt-35-turbo-16k-batch": {
2194
+ "openai": "gpt-35-turbo-16k-batch"
2195
+ },
2196
+ "gpt-35-turbo-batch": {
2197
+ "openai": "gpt-35-turbo-batch"
2198
+ },
2199
+ "gpt-4": {
2200
+ "openai": "gpt-4"
2201
+ },
2202
+ "gpt-4-0125": {
2203
+ "openai": "gpt-4-0125-preview"
2204
+ },
2205
+ "gpt-4-0125-preview": {
2206
+ "openai": "gpt-4-0125-preview"
2207
+ },
2208
+ "gpt-4-0125-preview-batch": {
2209
+ "openai": "gpt-4-0125-preview-batch"
2210
+ },
2211
+ "gpt-4-0314-batch": {
2212
+ "openai": "gpt-4-0314-batch"
2213
+ },
2214
+ "gpt-4-0613-batch": {
2215
+ "openai": "gpt-4-0613-batch"
2216
+ },
2217
+ "gpt-4-1": {
2218
+ "openai": "gpt-4.1",
2219
+ "vercel": "openai/gpt-4-1"
2220
+ },
2221
+ "gpt-4-1-2025-04-14": {
2222
+ "openai": "gpt-4.1-2025-04-14"
2223
+ },
2224
+ "gpt-4-1-2025-04-14-batch": {
2225
+ "openai": "gpt-4.1-2025-04-14-batch"
2226
+ },
2227
+ "gpt-4-1-batch": {
2228
+ "openai": "gpt-4.1-batch"
2229
+ },
2230
+ "gpt-4-1-mini": {
2231
+ "openai": "gpt-4.1-mini",
2232
+ "vercel": "openai/gpt-4-1-mini"
2233
+ },
2234
+ "gpt-4-1-mini-2025-04-14": {
2235
+ "openai": "gpt-4.1-mini-2025-04-14"
2236
+ },
2237
+ "gpt-4-1-mini-2025-04-14-batch": {
2238
+ "openai": "gpt-4.1-mini-2025-04-14-batch"
2239
+ },
2240
+ "gpt-4-1-mini-batch": {
2241
+ "openai": "gpt-4.1-mini-batch"
2242
+ },
2243
+ "gpt-4-1-nano": {
2244
+ "openai": "gpt-4.1-nano",
2245
+ "vercel": "openai/gpt-4-1-nano"
2246
+ },
2247
+ "gpt-4-1-nano-2025-04-14": {
2248
+ "openai": "gpt-4.1-nano-2025-04-14"
2249
+ },
2250
+ "gpt-4-1-nano-2025-04-14-batch": {
2251
+ "openai": "gpt-4.1-nano-2025-04-14-batch"
2252
+ },
2253
+ "gpt-4-1-nano-batch": {
2254
+ "openai": "gpt-4.1-nano-batch"
2255
+ },
2256
+ "gpt-4-1106": {
2257
+ "openai": "gpt-4-1106-preview"
2258
+ },
2259
+ "gpt-4-1106-preview": {
2260
+ "openai": "gpt-4-1106-preview"
2261
+ },
2262
+ "gpt-4-1106-preview-batch": {
2263
+ "openai": "gpt-4-1106-preview-batch"
2264
+ },
2265
+ "gpt-4-1106-vision": {
2266
+ "openai": "gpt-4-1106-vision-preview"
2267
+ },
2268
+ "gpt-4-1106-vision-preview": {
2269
+ "openai": "gpt-4-1106-vision-preview"
2270
+ },
2271
+ "gpt-4-1106-vision-preview-batch": {
2272
+ "openai": "gpt-4-1106-vision-preview-batch"
2273
+ },
2274
+ "gpt-4-32k-0314-batch": {
2275
+ "openai": "gpt-4-32k-0314-batch"
2276
+ },
2277
+ "gpt-4-32k-0613-batch": {
2278
+ "openai": "gpt-4-32k-0613-batch"
2279
+ },
2280
+ "gpt-4-32k-batch": {
2281
+ "openai": "gpt-4-32k-batch"
2282
+ },
2283
+ "gpt-4-batch": {
2284
+ "openai": "gpt-4-batch"
2285
+ },
2286
+ "gpt-4-turbo": {
2287
+ "openai": "gpt-4-turbo",
2288
+ "vercel": "openai/gpt-4-turbo"
2289
+ },
2290
+ "gpt-4-turbo-0125": {
2291
+ "openai": "gpt-4-turbo-0125-preview"
2292
+ },
2293
+ "gpt-4-turbo-0125-preview": {
2294
+ "openai": "gpt-4-turbo-0125-preview"
2295
+ },
2296
+ "gpt-4-turbo-0125-preview-batch": {
2297
+ "openai": "gpt-4-turbo-0125-preview-batch"
2298
+ },
2299
+ "gpt-4-turbo-2024-04-09": {
2300
+ "openai": "gpt-4-turbo-2024-04-09"
2301
+ },
2302
+ "gpt-4-turbo-2024-04-09-batch": {
2303
+ "openai": "gpt-4-turbo-2024-04-09-batch"
2304
+ },
2305
+ "gpt-4-turbo-batch": {
2306
+ "openai": "gpt-4-turbo-batch"
2307
+ },
2308
+ "gpt-4-vision-preview-batch": {
2309
+ "openai": "gpt-4-vision-preview-batch"
2310
+ },
2311
+ "gpt-4.1": {
2312
+ "openai": "gpt-4.1",
2313
+ "vercel": "openai/gpt-4.1"
2314
+ },
2315
+ "gpt-4.1-2025-04-14": {
2316
+ "openai": "gpt-4.1-2025-04-14"
2317
+ },
2318
+ "gpt-4.1-2025-04-14-batch": {
2319
+ "openai": "gpt-4.1-2025-04-14-batch"
2320
+ },
2321
+ "gpt-4.1-batch": {
2322
+ "openai": "gpt-4.1-batch"
2323
+ },
2324
+ "gpt-4.1-mini": {
2325
+ "openai": "gpt-4.1-mini",
2326
+ "vercel": "openai/gpt-4.1-mini"
2327
+ },
2328
+ "gpt-4.1-mini-2025-04-14": {
2329
+ "openai": "gpt-4.1-mini-2025-04-14"
2330
+ },
2331
+ "gpt-4.1-mini-2025-04-14-batch": {
2332
+ "openai": "gpt-4.1-mini-2025-04-14-batch"
2333
+ },
2334
+ "gpt-4.1-mini-batch": {
2335
+ "openai": "gpt-4.1-mini-batch"
2336
+ },
2337
+ "gpt-4.1-nano": {
2338
+ "openai": "gpt-4.1-nano",
2339
+ "vercel": "openai/gpt-4.1-nano"
2340
+ },
2341
+ "gpt-4.1-nano-2025-04-14": {
2342
+ "openai": "gpt-4.1-nano-2025-04-14"
2343
+ },
2344
+ "gpt-4.1-nano-2025-04-14-batch": {
2345
+ "openai": "gpt-4.1-nano-2025-04-14-batch"
2346
+ },
2347
+ "gpt-4.1-nano-batch": {
2348
+ "openai": "gpt-4.1-nano-batch"
2349
+ },
2350
+ "gpt-4o": {
2351
+ "openai": "gpt-4o",
2352
+ "vercel": "openai/gpt-4o"
2353
+ },
2354
+ "gpt-4o-2024-05-13": {
2355
+ "openai": "gpt-4o-2024-05-13"
2356
+ },
2357
+ "gpt-4o-2024-05-13-batch": {
2358
+ "openai": "gpt-4o-2024-05-13-batch"
2359
+ },
2360
+ "gpt-4o-2024-08-06": {
2361
+ "openai": "gpt-4o-2024-08-06"
2362
+ },
2363
+ "gpt-4o-2024-08-06-batch": {
2364
+ "openai": "gpt-4o-2024-08-06-batch"
2365
+ },
2366
+ "gpt-4o-2024-11-20": {
2367
+ "openai": "gpt-4o-2024-11-20"
2368
+ },
2369
+ "gpt-4o-2024-11-20-batch": {
2370
+ "openai": "gpt-4o-2024-11-20-batch"
2371
+ },
2372
+ "gpt-4o-batch": {
2373
+ "openai": "gpt-4o-batch"
2374
+ },
2375
+ "gpt-4o-mini": {
2376
+ "openai": "gpt-4o-mini",
2377
+ "vercel": "openai/gpt-4o-mini"
2378
+ },
2379
+ "gpt-4o-mini-2024-07-18": {
2380
+ "openai": "gpt-4o-mini-2024-07-18"
2381
+ },
2382
+ "gpt-4o-mini-2024-07-18-batch": {
2383
+ "openai": "gpt-4o-mini-2024-07-18-batch"
2384
+ },
2385
+ "gpt-4o-mini-2024-07-18.ft-": {
2386
+ "openai": "openai/gpt-4o-mini-2024-07-18.ft-"
2387
+ },
2388
+ "gpt-4o-mini-batch": {
2389
+ "openai": "gpt-4o-mini-batch"
2390
+ },
2391
+ "gpt-4o-mini-realtime": {
2392
+ "openai": "openai/gpt-4o-mini-realtime"
2393
+ },
2394
+ "gpt-4o-mini-realtime-batch": {
2395
+ "openai": "gpt-4o-mini-realtime-batch"
2396
+ },
2397
+ "gpt-4o-mini-search": {
2398
+ "openai": "openai/openai/gpt-4o-mini-search-preview",
2399
+ "vercel": "openai/gpt-4o-mini-search-preview"
2400
+ },
2401
+ "gpt-4o-mini-search-preview": {
2402
+ "vercel": "openai/gpt-4o-mini-search-preview"
2403
+ },
2404
+ "gpt-4o-mini-search-preview-batch": {
2405
+ "openai": "openai/gpt-4o-mini-search-preview-batch"
2406
+ },
2407
+ "gpt-4o-realtime": {
2408
+ "openai": "openai/gpt-4o-realtime"
2409
+ },
2410
+ "gpt-4o-realtime-batch": {
2411
+ "openai": "gpt-4o-realtime-batch"
2412
+ },
2413
+ "gpt-4o-search-preview-batch": {
2414
+ "openai": "gpt-4o-search-preview-batch"
2415
+ },
2416
+ "gpt-5": {
2417
+ "openai": "gpt-5",
2418
+ "vercel": "openai/gpt-5"
2419
+ },
2420
+ "gpt-5-1": {
2421
+ "openai": "gpt-5.1",
2422
+ "vercel": "openai/gpt-5.1-thinking"
2423
+ },
2424
+ "gpt-5-1-batch": {
2425
+ "openai": "gpt-5.1-batch"
2426
+ },
2427
+ "gpt-5-1-codex": {
2428
+ "openai": "gpt-5.1-codex",
2429
+ "vercel": "openai/gpt-5.1-codex"
2430
+ },
2431
+ "gpt-5-1-codex-batch": {
2432
+ "openai": "gpt-5.1-codex-batch"
2433
+ },
2434
+ "gpt-5-1-codex-max": {
2435
+ "vercel": "openai/gpt-5.1-codex-max"
2436
+ },
2437
+ "gpt-5-1-codex-mini": {
2438
+ "openai": "gpt-5.1-codex-mini",
2439
+ "vercel": "openai/gpt-5.1-codex-mini"
2440
+ },
2441
+ "gpt-5-1-codex-mini-batch": {
2442
+ "openai": "gpt-5.1-codex-mini-batch"
2443
+ },
2444
+ "gpt-5-1-instant": {
2445
+ "vercel": "openai/gpt-5.1-instant"
2446
+ },
2447
+ "gpt-5-2": {
2448
+ "openai": "gpt-5.2",
2449
+ "vercel": "openai/gpt-5.2"
2450
+ },
2451
+ "gpt-5-2-2025-12-11": {
2452
+ "openai": "gpt-5.2-2025-12-11"
2453
+ },
2454
+ "gpt-5-2-2025-12-11-batch": {
2455
+ "openai": "gpt-5.2-2025-12-11-batch"
2456
+ },
2457
+ "gpt-5-2-batch": {
2458
+ "openai": "gpt-5.2-batch"
2459
+ },
2460
+ "gpt-5-2-chat": {
2461
+ "vercel": "openai/gpt-5.2-chat"
2462
+ },
2463
+ "gpt-5-2-codex": {
2464
+ "vercel": "openai/gpt-5.2-codex"
2465
+ },
2466
+ "gpt-5-2-pro": {
2467
+ "openai": "gpt-5.2-pro",
2468
+ "vercel": "openai/gpt-5.2-pro"
2469
+ },
2470
+ "gpt-5-2-pro-batch": {
2471
+ "openai": "gpt-5.2-pro-batch"
2472
+ },
2473
+ "gpt-5-2025-08-07": {
2474
+ "openai": "gpt-5-2025-08-07"
2475
+ },
2476
+ "gpt-5-2025-08-07-batch": {
2477
+ "openai": "gpt-5-2025-08-07-batch"
2478
+ },
2479
+ "gpt-5-3-chat": {
2480
+ "vercel": "openai/gpt-5.3-chat"
2481
+ },
2482
+ "gpt-5-3-codex": {
2483
+ "vercel": "openai/gpt-5.3-codex"
2484
+ },
2485
+ "gpt-5-4": {
2486
+ "vercel": "openai/gpt-5.4"
2487
+ },
2488
+ "gpt-5-4-pro": {
2489
+ "vercel": "openai/gpt-5.4-pro"
2490
+ },
2491
+ "gpt-5-batch": {
2492
+ "openai": "gpt-5-batch"
2493
+ },
2494
+ "gpt-5-chat": {
2495
+ "vercel": "openai/gpt-5-chat"
2496
+ },
2497
+ "gpt-5-codex": {
2498
+ "vercel": "openai/gpt-5-codex"
2499
+ },
2500
+ "gpt-5-mini": {
2501
+ "openai": "gpt-5-mini",
2502
+ "vercel": "openai/gpt-5-mini"
2503
+ },
2504
+ "gpt-5-mini-2025-08-07": {
2505
+ "openai": "gpt-5-mini-2025-08-07"
2506
+ },
2507
+ "gpt-5-mini-2025-08-07-batch": {
2508
+ "openai": "gpt-5-mini-2025-08-07-batch"
2509
+ },
2510
+ "gpt-5-mini-batch": {
2511
+ "openai": "gpt-5-mini-batch"
2512
+ },
2513
+ "gpt-5-nano": {
2514
+ "openai": "gpt-5-nano",
2515
+ "vercel": "openai/gpt-5-nano"
2516
+ },
2517
+ "gpt-5-nano-2025-08-07": {
2518
+ "openai": "gpt-5-nano-2025-08-07"
2519
+ },
2520
+ "gpt-5-nano-2025-08-07-batch": {
2521
+ "openai": "gpt-5-nano-2025-08-07-batch"
2522
+ },
2523
+ "gpt-5-nano-batch": {
2524
+ "openai": "gpt-5-nano-batch"
2525
+ },
2526
+ "gpt-5-pro": {
2527
+ "vercel": "openai/gpt-5-pro"
2528
+ },
2529
+ "gpt-5.1": {
2530
+ "openai": "gpt-5.1"
2531
+ },
2532
+ "gpt-5.1-batch": {
2533
+ "openai": "gpt-5.1-batch"
2534
+ },
2535
+ "gpt-5.1-codex": {
2536
+ "openai": "gpt-5.1-codex",
2537
+ "vercel": "openai/gpt-5.1-codex"
2538
+ },
2539
+ "gpt-5.1-codex-batch": {
2540
+ "openai": "gpt-5.1-codex-batch"
2541
+ },
2542
+ "gpt-5.1-codex-max": {
2543
+ "vercel": "openai/gpt-5.1-codex-max"
2544
+ },
2545
+ "gpt-5.1-codex-mini": {
2546
+ "openai": "gpt-5.1-codex-mini",
2547
+ "vercel": "openai/gpt-5.1-codex-mini"
2548
+ },
2549
+ "gpt-5.1-codex-mini-batch": {
2550
+ "openai": "gpt-5.1-codex-mini-batch"
2551
+ },
2552
+ "gpt-5.1-instant": {
2553
+ "vercel": "openai/gpt-5.1-instant"
2554
+ },
2555
+ "gpt-5.1-thinking": {
2556
+ "vercel": "openai/gpt-5.1-thinking"
2557
+ },
2558
+ "gpt-5.2": {
2559
+ "openai": "gpt-5.2",
2560
+ "vercel": "openai/gpt-5.2"
2561
+ },
2562
+ "gpt-5.2-2025-12-11": {
2563
+ "openai": "gpt-5.2-2025-12-11"
2564
+ },
2565
+ "gpt-5.2-2025-12-11-batch": {
2566
+ "openai": "gpt-5.2-2025-12-11-batch"
2567
+ },
2568
+ "gpt-5.2-batch": {
2569
+ "openai": "gpt-5.2-batch"
2570
+ },
2571
+ "gpt-5.2-chat": {
2572
+ "vercel": "openai/gpt-5.2-chat"
2573
+ },
2574
+ "gpt-5.2-codex": {
2575
+ "vercel": "openai/gpt-5.2-codex"
2576
+ },
2577
+ "gpt-5.2-pro": {
2578
+ "openai": "gpt-5.2-pro",
2579
+ "vercel": "openai/gpt-5.2-pro"
2580
+ },
2581
+ "gpt-5.2-pro-batch": {
2582
+ "openai": "gpt-5.2-pro-batch"
2583
+ },
2584
+ "gpt-5.3-chat": {
2585
+ "vercel": "openai/gpt-5.3-chat"
2586
+ },
2587
+ "gpt-5.3-codex": {
2588
+ "vercel": "openai/gpt-5.3-codex"
2589
+ },
2590
+ "gpt-5.4": {
2591
+ "vercel": "openai/gpt-5.4"
2592
+ },
2593
+ "gpt-5.4-pro": {
2594
+ "vercel": "openai/gpt-5.4-pro"
2595
+ },
2596
+ "gpt-jt-moderation-6b": {
2597
+ "togetherai": "togethercomputer/GPT-JT-Moderation-6B"
2598
+ },
2599
+ "GPT-JT-Moderation-6B": {
2600
+ "togetherai": "togethercomputer/GPT-JT-Moderation-6B"
2601
+ },
2602
+ "gpt-oss-120b": {
2603
+ "vercel": "openai/gpt-oss-120b"
2604
+ },
2605
+ "gpt-oss-20b": {
2606
+ "vercel": "openai/gpt-oss-20b"
2607
+ },
2608
+ "gpt-oss-safeguard-20b": {
2609
+ "vercel": "openai/gpt-oss-safeguard-20b"
2610
+ },
2611
+ "grok-2": {
2612
+ "vercel": "xai/grok-2"
2613
+ },
2614
+ "grok-2-1212": {
2615
+ "xai": "grok-2-1212"
2616
+ },
2617
+ "grok-2-vision": {
2618
+ "vercel": "xai/grok-2-vision"
2619
+ },
2620
+ "grok-2-vision-1212": {
2621
+ "xai": "grok-2-vision-1212"
2622
+ },
2623
+ "grok-3": {
2624
+ "vercel": "xai/grok-3",
2625
+ "xai": "x/grok-3"
2626
+ },
2627
+ "grok-3-fast": {
2628
+ "vercel": "xai/grok-3-fast"
2629
+ },
2630
+ "grok-3-mini": {
2631
+ "vercel": "xai/grok-3-mini",
2632
+ "xai": "x/grok-3-mini"
2633
+ },
2634
+ "grok-3-mini-fast": {
2635
+ "vercel": "xai/grok-3-mini-fast"
2636
+ },
2637
+ "grok-4": {
2638
+ "vercel": "xai/grok-4",
2639
+ "xai": "x/grok-4"
2640
+ },
2641
+ "grok-4-1-fast-non-reasoning": {
2642
+ "vercel": "xai/grok-4.1-fast-non-reasoning"
2643
+ },
2644
+ "grok-4-1-fast-reasoning": {
2645
+ "vercel": "xai/grok-4.1-fast-reasoning"
2646
+ },
2647
+ "grok-4-fast": {
2648
+ "xai": "x/grok-4-fast"
2649
+ },
2650
+ "grok-4-fast-non-reasoning": {
2651
+ "vercel": "xai/grok-4-fast-non-reasoning"
2652
+ },
2653
+ "grok-4-fast-reasoning": {
2654
+ "vercel": "xai/grok-4-fast-reasoning"
2655
+ },
2656
+ "grok-4.1-fast-non-reasoning": {
2657
+ "vercel": "xai/grok-4.1-fast-non-reasoning"
2658
+ },
2659
+ "grok-4.1-fast-reasoning": {
2660
+ "vercel": "xai/grok-4.1-fast-reasoning"
2661
+ },
2662
+ "grok-beta": {
2663
+ "xai": "grok-beta"
2664
+ },
2665
+ "grok-code-fast-1": {
2666
+ "vercel": "xai/grok-code-fast-1",
2667
+ "xai": "x/grok-code-fast-1"
2668
+ },
2669
+ "grok-vision-beta": {
2670
+ "xai": "grok-vision-beta"
2671
+ },
2672
+ "intellect-3": {
2673
+ "vercel": "prime-intellect/intellect-3"
2674
+ },
2675
+ "kat-coder-pro": {
2676
+ "vercel": "kwaipilot/kat-coder-pro-v1"
2677
+ },
2678
+ "kat-coder-pro-v1": {
2679
+ "vercel": "kwaipilot/kat-coder-pro-v1"
2680
+ },
2681
+ "kimi-k2": {
2682
+ "vercel": "moonshotai/kimi-k2-thinking"
2683
+ },
2684
+ "kimi-k2-0905": {
2685
+ "vercel": "moonshotai/kimi-k2-0905"
2686
+ },
2687
+ "kimi-k2-5": {
2688
+ "vercel": "moonshotai/kimi-k2.5"
2689
+ },
2690
+ "kimi-k2-thinking": {
2691
+ "vercel": "moonshotai/kimi-k2-thinking"
2692
+ },
2693
+ "kimi-k2-thinking-turbo": {
2694
+ "vercel": "moonshotai/kimi-k2-thinking-turbo"
2695
+ },
2696
+ "kimi-k2-turbo": {
2697
+ "vercel": "moonshotai/kimi-k2-turbo"
2698
+ },
2699
+ "kimi-k2.5": {
2700
+ "vercel": "moonshotai/kimi-k2.5"
2701
+ },
2702
+ "llama-2-13b-chat-hf": {
2703
+ "togetherai": "meta-llama/Llama-2-13b-chat-hf"
2704
+ },
2705
+ "Llama-2-13b-chat-hf": {
2706
+ "togetherai": "meta-llama/Llama-2-13b-chat-hf"
2707
+ },
2708
+ "llama-2-70b-chat-hf": {
2709
+ "togetherai": "meta-llama/Llama-2-70b-chat-hf"
2710
+ },
2711
+ "Llama-2-70b-chat-hf": {
2712
+ "togetherai": "meta-llama/Llama-2-70b-chat-hf"
2713
+ },
2714
+ "llama-2-7b-32k-instruct": {
2715
+ "togetherai": "togethercomputer/Llama-2-7B-32K-Instruct"
2716
+ },
2717
+ "Llama-2-7B-32K-Instruct": {
2718
+ "togetherai": "togethercomputer/Llama-2-7B-32K-Instruct"
2719
+ },
2720
+ "llama-2-7b-chat-hf": {
2721
+ "togetherai": "meta-llama/Llama-2-7b-chat-hf"
2722
+ },
2723
+ "Llama-2-7b-chat-hf": {
2724
+ "togetherai": "meta-llama/Llama-2-7b-chat-hf"
2725
+ },
2726
+ "llama-3-1-70b": {
2727
+ "vercel": "meta/llama-3-1-70b"
2728
+ },
2729
+ "llama-3-1-8b": {
2730
+ "vercel": "meta/llama-3-1-8b"
2731
+ },
2732
+ "llama-3-2-11b": {
2733
+ "vercel": "meta/llama-3-2-11b"
2734
+ },
2735
+ "llama-3-2-1b": {
2736
+ "vercel": "meta/llama-3-2-1b"
2737
+ },
2738
+ "llama-3-2-3b": {
2739
+ "vercel": "meta/llama-3-2-3b"
2740
+ },
2741
+ "llama-3-2-90b": {
2742
+ "vercel": "meta/llama-3-2-90b"
2743
+ },
2744
+ "llama-3-3-70b": {
2745
+ "vercel": "meta/llama-3-3-70b"
2746
+ },
2747
+ "llama-3-3-70b-instruct-turbo": {
2748
+ "togetherai": "meta-llama/Llama-3.3-70B-Instruct-Turbo"
2749
+ },
2750
+ "llama-3-70b": {
2751
+ "vercel": "meta/llama-3-70b"
2752
+ },
2753
+ "llama-3-70b-chat-hf": {
2754
+ "togetherai": "meta-llama/Llama-3-70b-chat-hf"
2755
+ },
2756
+ "Llama-3-70b-chat-hf": {
2757
+ "togetherai": "meta-llama/Llama-3-70b-chat-hf"
2758
+ },
2759
+ "llama-3-8b": {
2760
+ "vercel": "meta/llama-3-8b"
2761
+ },
2762
+ "llama-3-8b-chat-hf": {
2763
+ "togetherai": "meta-llama/Llama-3-8b-chat-hf"
2764
+ },
2765
+ "Llama-3-8b-chat-hf": {
2766
+ "togetherai": "meta-llama/Llama-3-8b-chat-hf"
2767
+ },
2768
+ "llama-3.1-70b": {
2769
+ "vercel": "meta/llama-3.1-70b"
2770
+ },
2771
+ "llama-3.1-8b": {
2772
+ "vercel": "meta/llama-3.1-8b"
2773
+ },
2774
+ "llama-3.2-11b": {
2775
+ "vercel": "meta/llama-3.2-11b"
2776
+ },
2777
+ "llama-3.2-1b": {
2778
+ "vercel": "meta/llama-3.2-1b"
2779
+ },
2780
+ "llama-3.2-3b": {
2781
+ "vercel": "meta/llama-3.2-3b"
2782
+ },
2783
+ "llama-3.2-90b": {
2784
+ "vercel": "meta/llama-3.2-90b"
2785
+ },
2786
+ "llama-3.3-70b": {
2787
+ "vercel": "meta/llama-3.3-70b"
2788
+ },
2789
+ "Llama-3.3-70B-Instruct-Turbo": {
2790
+ "togetherai": "meta-llama/Llama-3.3-70B-Instruct-Turbo"
2791
+ },
2792
+ "llama-4-maverick": {
2793
+ "vercel": "meta/llama-4-maverick"
2794
+ },
2795
+ "llama-4-maverick-17b-128e-instruct-fp8": {
2796
+ "togetherai": "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8"
2797
+ },
2798
+ "Llama-4-Maverick-17B-128E-Instruct-FP8": {
2799
+ "togetherai": "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8"
2800
+ },
2801
+ "llama-4-scout": {
2802
+ "vercel": "meta/llama-4-scout"
2803
+ },
2804
+ "llama-4-scout-17b-16e-instruct": {
2805
+ "togetherai": "meta-llama/Llama-4-Scout-17B-16E-Instruct"
2806
+ },
2807
+ "Llama-4-Scout-17B-16E-Instruct": {
2808
+ "togetherai": "meta-llama/Llama-4-Scout-17B-16E-Instruct"
2809
+ },
2810
+ "llama3-1-70b": {
2811
+ "vercel": "meta/llama-3-1-70b"
2812
+ },
2813
+ "llama3-1-8b": {
2814
+ "vercel": "meta/llama-3-1-8b"
2815
+ },
2816
+ "llama3-3-70b": {
2817
+ "vercel": "meta/llama-3-3-70b"
2818
+ },
2819
+ "longcat-flash": {
2820
+ "vercel": "meituan/longcat-flash-thinking"
2821
+ },
2822
+ "longcat-flash-chat": {
2823
+ "vercel": "meituan/longcat-flash-chat"
2824
+ },
2825
+ "longcat-flash-thinking": {
2826
+ "vercel": "meituan/longcat-flash-thinking"
2827
+ },
2828
+ "magistral-medium": {
2829
+ "vercel": "mistral/magistral-medium"
2830
+ },
2831
+ "magistral-small": {
2832
+ "vercel": "mistral/magistral-small"
2833
+ },
2834
+ "mercury-2": {
2835
+ "vercel": "inception/mercury-2"
2836
+ },
2837
+ "mercury-coder-small": {
2838
+ "vercel": "inception/mercury-coder-small"
2839
+ },
2840
+ "meta-llama-3-1-405b-instruct-turbo": {
2841
+ "togetherai": "meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo"
2842
+ },
2843
+ "meta-llama-3-1-70b-instruct-turbo": {
2844
+ "togetherai": "meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo"
2845
+ },
2846
+ "meta-llama-3-1-8b-instruct-turbo": {
2847
+ "togetherai": "meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo"
2848
+ },
2849
+ "meta-llama-3-3-70b-instruct-turbo": {
2850
+ "togetherai": "meta-llama/Meta-Llama-3.3-70B-Instruct-Turbo"
2851
+ },
2852
+ "meta-llama-3-70b-instruct-lite": {
2853
+ "togetherai": "meta-llama/Meta-Llama-3-70B-Instruct-Lite"
2854
+ },
2855
+ "Meta-Llama-3-70B-Instruct-Lite": {
2856
+ "togetherai": "meta-llama/Meta-Llama-3-70B-Instruct-Lite"
2857
+ },
2858
+ "meta-llama-3-70b-instruct-turbo": {
2859
+ "togetherai": "meta-llama/Meta-Llama-3-70B-Instruct-Turbo"
2860
+ },
2861
+ "Meta-Llama-3-70B-Instruct-Turbo": {
2862
+ "togetherai": "meta-llama/Meta-Llama-3-70B-Instruct-Turbo"
2863
+ },
2864
+ "meta-llama-3-8b-instruct-lite": {
2865
+ "togetherai": "meta-llama/Meta-Llama-3-8B-Instruct-Lite"
2866
+ },
2867
+ "Meta-Llama-3-8B-Instruct-Lite": {
2868
+ "togetherai": "meta-llama/Meta-Llama-3-8B-Instruct-Lite"
2869
+ },
2870
+ "meta-llama-3-8b-instruct-turbo": {
2871
+ "togetherai": "meta-llama/Meta-Llama-3-8B-Instruct-Turbo"
2872
+ },
2873
+ "Meta-Llama-3-8B-Instruct-Turbo": {
2874
+ "togetherai": "meta-llama/Meta-Llama-3-8B-Instruct-Turbo"
2875
+ },
2876
+ "Meta-Llama-3.1-405B-Instruct-Turbo": {
2877
+ "togetherai": "meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo"
2878
+ },
2879
+ "Meta-Llama-3.1-70B-Instruct-Turbo": {
2880
+ "togetherai": "meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo"
2881
+ },
2882
+ "Meta-Llama-3.1-8B-Instruct-Turbo": {
2883
+ "togetherai": "meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo"
2884
+ },
2885
+ "Meta-Llama-3.3-70B-Instruct-Turbo": {
2886
+ "togetherai": "meta-llama/Meta-Llama-3.3-70B-Instruct-Turbo"
2887
+ },
2888
+ "meta.llama3-8b-instruct-v1%3a0": {
2889
+ "bedrock": "meta.llama3-8b-instruct-v1%3A0"
2890
+ },
2891
+ "meta.llama3-8b-instruct-v1%3A0": {
2892
+ "bedrock": "meta.llama3-8b-instruct-v1%3A0"
2893
+ },
2894
+ "mimo-v2-flash": {
2895
+ "vercel": "xiaomi/mimo-v2-flash"
2896
+ },
2897
+ "minimax-m2": {
2898
+ "vercel": "minimax/minimax-m2"
2899
+ },
2900
+ "minimax-m2-1": {
2901
+ "vercel": "minimax/minimax-m2.1"
2902
+ },
2903
+ "minimax-m2-1-lightning": {
2904
+ "vercel": "minimax/minimax-m2.1-lightning"
2905
+ },
2906
+ "minimax-m2-5": {
2907
+ "vercel": "minimax/minimax-m2.5"
2908
+ },
2909
+ "minimax-m2-5-highspeed": {
2910
+ "vercel": "minimax/minimax-m2.5-highspeed"
2911
+ },
2912
+ "minimax-m2.1": {
2913
+ "vercel": "minimax/minimax-m2.1"
2914
+ },
2915
+ "minimax-m2.1-lightning": {
2916
+ "vercel": "minimax/minimax-m2.1-lightning"
2917
+ },
2918
+ "minimax-m2.5": {
2919
+ "vercel": "minimax/minimax-m2.5"
2920
+ },
2921
+ "minimax-m2.5-highspeed": {
2922
+ "vercel": "minimax/minimax-m2.5-highspeed"
2923
+ },
2924
+ "ministral-14b": {
2925
+ "vercel": "mistral/ministral-14b"
2926
+ },
2927
+ "ministral-3b": {
2928
+ "vercel": "mistral/ministral-3b"
2929
+ },
2930
+ "ministral-8b": {
2931
+ "vercel": "mistral/ministral-8b"
2932
+ },
2933
+ "mistral-7b-instruct-v0-1": {
2934
+ "togetherai": "mistralai/Mistral-7B-Instruct-v0.1"
2935
+ },
2936
+ "mistral-7b-instruct-v0-2": {
2937
+ "togetherai": "mistralai/Mistral-7B-Instruct-v0.2"
2938
+ },
2939
+ "Mistral-7B-Instruct-v0.1": {
2940
+ "togetherai": "mistralai/Mistral-7B-Instruct-v0.1"
2941
+ },
2942
+ "Mistral-7B-Instruct-v0.2": {
2943
+ "togetherai": "mistralai/Mistral-7B-Instruct-v0.2"
2944
+ },
2945
+ "mistral-7b-openorca": {
2946
+ "togetherai": "Open-Orca/Mistral-7B-OpenOrca"
2947
+ },
2948
+ "Mistral-7B-OpenOrca": {
2949
+ "togetherai": "Open-Orca/Mistral-7B-OpenOrca"
2950
+ },
2951
+ "mistral-7b-v0-1": {
2952
+ "togetherai": "mistralai/Mistral-7B-v0.1"
2953
+ },
2954
+ "Mistral-7B-v0.1": {
2955
+ "togetherai": "mistralai/Mistral-7B-v0.1"
2956
+ },
2957
+ "mistral-embed": {
2958
+ "vercel": "mistral/mistral-embed"
2959
+ },
2960
+ "mistral-large": {
2961
+ "vercel": "mistral/mistral-large"
2962
+ },
2963
+ "mistral-large-3": {
2964
+ "vercel": "mistral/mistral-large-3"
2965
+ },
2966
+ "mistral-medium": {
2967
+ "vercel": "mistral/mistral-medium"
2968
+ },
2969
+ "mistral-nemo": {
2970
+ "vercel": "mistral/mistral-nemo"
2971
+ },
2972
+ "mistral-saba-24b": {
2973
+ "vercel": "mistral/mistral-saba-24b"
2974
+ },
2975
+ "mistral-small": {
2976
+ "vercel": "mistral/mistral-small"
2977
+ },
2978
+ "mixtral-8x22b-instruct": {
2979
+ "vercel": "mistral/mixtral-8x22b-instruct"
2980
+ },
2981
+ "mixtral-8x22b-instruct-v0-1": {
2982
+ "togetherai": "mistralai/Mixtral-8x22B-Instruct-v0.1"
2983
+ },
2984
+ "Mixtral-8x22B-Instruct-v0.1": {
2985
+ "togetherai": "mistralai/Mixtral-8x22B-Instruct-v0.1"
2986
+ },
2987
+ "mixtral-8x7b-instruct-v0-1": {
2988
+ "togetherai": "mistralai/Mixtral-8x7B-Instruct-v0.1"
2989
+ },
2990
+ "Mixtral-8x7B-Instruct-v0.1": {
2991
+ "togetherai": "mistralai/Mixtral-8x7B-Instruct-v0.1"
2992
+ },
2993
+ "mixtral-8x7b-v0-1": {
2994
+ "togetherai": "mistralai/Mixtral-8x7B-v0.1"
2995
+ },
2996
+ "Mixtral-8x7B-v0.1": {
2997
+ "togetherai": "mistralai/Mixtral-8x7B-v0.1"
2998
+ },
2999
+ "morph-v3-fast": {
3000
+ "vercel": "morph/morph-v3-fast"
3001
+ },
3002
+ "morph-v3-large": {
3003
+ "vercel": "morph/morph-v3-large"
3004
+ },
3005
+ "mythomax-l2-13b": {
3006
+ "togetherai": "Gryphe/MythoMax-L2-13b"
3007
+ },
3008
+ "MythoMax-L2-13b": {
3009
+ "togetherai": "Gryphe/MythoMax-L2-13b"
3010
+ },
3011
+ "nemotron-3-nano-30b-a3b": {
3012
+ "vercel": "nvidia/nemotron-3-nano-30b-a3b"
3013
+ },
3014
+ "nemotron-nano-12b-v2-vl": {
3015
+ "vercel": "nvidia/nemotron-nano-12b-v2-vl"
3016
+ },
3017
+ "nemotron-nano-9b": {
3018
+ "vercel": "nvidia/nemotron-nano-9b-v2"
3019
+ },
3020
+ "nemotron-nano-9b-v2": {
3021
+ "vercel": "nvidia/nemotron-nano-9b-v2"
3022
+ },
3023
+ "nexusraven-v2-13b": {
3024
+ "togetherai": "Nexusflow/NexusRaven-V2-13B"
3025
+ },
3026
+ "NexusRaven-V2-13B": {
3027
+ "togetherai": "Nexusflow/NexusRaven-V2-13B"
3028
+ },
3029
+ "nous-capybara-7b-v1p9": {
3030
+ "togetherai": "NousResearch/Nous-Capybara-7B-V1p9"
3031
+ },
3032
+ "Nous-Capybara-7B-V1p9": {
3033
+ "togetherai": "NousResearch/Nous-Capybara-7B-V1p9"
3034
+ },
3035
+ "nous-hermes-2-mixtral-8x7b-dpo": {
3036
+ "togetherai": "NousResearch/Nous-Hermes-2-Mixtral-8x7B-DPO"
3037
+ },
3038
+ "Nous-Hermes-2-Mixtral-8x7B-DPO": {
3039
+ "togetherai": "NousResearch/Nous-Hermes-2-Mixtral-8x7B-DPO"
3040
+ },
3041
+ "nous-hermes-2-mixtral-8x7b-sft": {
3042
+ "togetherai": "NousResearch/Nous-Hermes-2-Mixtral-8x7B-SFT"
3043
+ },
3044
+ "Nous-Hermes-2-Mixtral-8x7B-SFT": {
3045
+ "togetherai": "NousResearch/Nous-Hermes-2-Mixtral-8x7B-SFT"
3046
+ },
3047
+ "nous-hermes-2-yi-34b": {
3048
+ "togetherai": "NousResearch/Nous-Hermes-2-Yi-34B"
3049
+ },
3050
+ "Nous-Hermes-2-Yi-34B": {
3051
+ "togetherai": "NousResearch/Nous-Hermes-2-Yi-34B"
3052
+ },
3053
+ "nous-hermes-llama-2-7b": {
3054
+ "togetherai": "NousResearch/Nous-Hermes-llama-2-7b"
3055
+ },
3056
+ "Nous-Hermes-llama-2-7b": {
3057
+ "togetherai": "NousResearch/Nous-Hermes-llama-2-7b"
3058
+ },
3059
+ "nous-hermes-llama2-13b": {
3060
+ "togetherai": "NousResearch/Nous-Hermes-Llama2-13b"
3061
+ },
3062
+ "Nous-Hermes-Llama2-13b": {
3063
+ "togetherai": "NousResearch/Nous-Hermes-Llama2-13b"
3064
+ },
3065
+ "nova-2-lite": {
3066
+ "vercel": "amazon/nova-2-lite"
3067
+ },
3068
+ "nova-lite": {
3069
+ "vercel": "amazon/nova-lite"
3070
+ },
3071
+ "nova-micro": {
3072
+ "vercel": "amazon/nova-micro"
3073
+ },
3074
+ "nova-pro": {
3075
+ "vercel": "amazon/nova-pro"
3076
+ },
3077
+ "o1": {
3078
+ "openai": "o1",
3079
+ "vercel": "openai/o1"
3080
+ },
3081
+ "o1-2024-12-17": {
3082
+ "openai": "o1-2024-12-17"
3083
+ },
3084
+ "o1-2024-12-17-batch": {
3085
+ "openai": "o1-2024-12-17-batch"
3086
+ },
3087
+ "o1-batch": {
3088
+ "openai": "o1-batch"
3089
+ },
3090
+ "o1-mini-2024-09-12": {
3091
+ "openai": "o1-mini-2024-09-12"
3092
+ },
3093
+ "o1-mini-2024-09-12-batch": {
3094
+ "openai": "o1-mini-2024-09-12-batch"
3095
+ },
3096
+ "o1-mini-batch": {
3097
+ "openai": "o1-mini-batch"
3098
+ },
3099
+ "o1-preview-2024-09-12": {
3100
+ "openai": "o1-preview-2024-09-12"
3101
+ },
3102
+ "o1-preview-2024-09-12-batch": {
3103
+ "openai": "o1-preview-2024-09-12-batch"
3104
+ },
3105
+ "o1-preview-batch": {
3106
+ "openai": "o1-preview-batch"
3107
+ },
3108
+ "o1-pro-batch": {
3109
+ "openai": "o1-pro-batch"
3110
+ },
3111
+ "o3": {
3112
+ "vercel": "openai/o3"
3113
+ },
3114
+ "o3-2025-04-16": {
3115
+ "openai": "o3-2025-04-16"
3116
+ },
3117
+ "o3-2025-04-16-batch": {
3118
+ "openai": "o3-2025-04-16-batch"
3119
+ },
3120
+ "o3-deep-research": {
3121
+ "vercel": "openai/o3-deep-research"
3122
+ },
3123
+ "o3-mini": {
3124
+ "openai": "o3-mini",
3125
+ "vercel": "openai/o3-mini"
3126
+ },
3127
+ "o3-mini-2025-01-31": {
3128
+ "openai": "o3-mini-2025-01-31"
3129
+ },
3130
+ "o3-mini-2025-01-31-batch": {
3131
+ "openai": "o3-mini-2025-01-31-batch"
3132
+ },
3133
+ "o3-mini-batch": {
3134
+ "openai": "o3-mini-batch"
3135
+ },
3136
+ "o3-pro": {
3137
+ "vercel": "openai/o3-pro"
3138
+ },
3139
+ "o3-pro-batch": {
3140
+ "openai": "o3-pro-batch"
3141
+ },
3142
+ "o4-mini": {
3143
+ "vercel": "openai/o4-mini"
3144
+ },
3145
+ "o4-mini-2025-04-16": {
3146
+ "openai": "openai/o4-mini-2025-04-16"
3147
+ },
3148
+ "o4-mini-2025-04-16-batch": {
3149
+ "openai": "o4-mini-2025-04-16-batch"
3150
+ },
3151
+ "o4-mini-batch": {
3152
+ "openai": "o4-mini-batch"
3153
+ },
3154
+ "olmo-7b": {
3155
+ "togetherai": "allenai/OLMo-7B"
3156
+ },
3157
+ "OLMo-7B": {
3158
+ "togetherai": "allenai/OLMo-7B"
3159
+ },
3160
+ "olmo-7b-instruct": {
3161
+ "togetherai": "allenai/OLMo-7B-Instruct"
3162
+ },
3163
+ "OLMo-7B-Instruct": {
3164
+ "togetherai": "allenai/OLMo-7B-Instruct"
3165
+ },
3166
+ "olmo-7b-twin-2t": {
3167
+ "togetherai": "allenai/OLMo-7B-Twin-2T"
3168
+ },
3169
+ "OLMo-7B-Twin-2T": {
3170
+ "togetherai": "allenai/OLMo-7B-Twin-2T"
3171
+ },
3172
+ "openai/gpt-4o-mini-search-preview": {
3173
+ "openai": "openai/openai/gpt-4o-mini-search-preview"
3174
+ },
3175
+ "openchat-3-5-1210": {
3176
+ "togetherai": "openchat/openchat-3.5-1210"
3177
+ },
3178
+ "openchat-3.5-1210": {
3179
+ "togetherai": "openchat/openchat-3.5-1210"
3180
+ },
3181
+ "openhermes-2-mistral-7b": {
3182
+ "togetherai": "teknium/OpenHermes-2-Mistral-7B"
3183
+ },
3184
+ "OpenHermes-2-Mistral-7B": {
3185
+ "togetherai": "teknium/OpenHermes-2-Mistral-7B"
3186
+ },
3187
+ "openhermes-2p5-mistral-7b": {
3188
+ "togetherai": "teknium/OpenHermes-2p5-Mistral-7B"
3189
+ },
3190
+ "OpenHermes-2p5-Mistral-7B": {
3191
+ "togetherai": "teknium/OpenHermes-2p5-Mistral-7B"
3192
+ },
3193
+ "orchestrator-8b": {
3194
+ "mixlayer": "nvidia/orchestrator-8b"
3195
+ },
3196
+ "phi-2": {
3197
+ "togetherai": "microsoft/phi-2"
3198
+ },
3199
+ "pixtral-12b": {
3200
+ "vercel": "mistral/pixtral-12b"
3201
+ },
3202
+ "pixtral-large": {
3203
+ "vercel": "mistral/pixtral-large"
3204
+ },
3205
+ "platypus2-70b-instruct": {
3206
+ "togetherai": "garage-bAInd/Platypus2-70B-instruct"
3207
+ },
3208
+ "Platypus2-70B-instruct": {
3209
+ "togetherai": "garage-bAInd/Platypus2-70B-instruct"
3210
+ },
3211
+ "qwen-3-14b": {
3212
+ "vercel": "alibaba/qwen-3-14b"
3213
+ },
3214
+ "qwen-3-235b": {
3215
+ "vercel": "alibaba/qwen-3-235b"
3216
+ },
3217
+ "qwen-3-30b": {
3218
+ "vercel": "alibaba/qwen-3-30b"
3219
+ },
3220
+ "qwen-3-32b": {
3221
+ "vercel": "alibaba/qwen-3-32b"
3222
+ },
3223
+ "qwen1-5-0-5b": {
3224
+ "togetherai": "Qwen/Qwen1.5-0.5B"
3225
+ },
3226
+ "qwen1-5-0-5b-chat": {
3227
+ "togetherai": "Qwen/Qwen1.5-0.5B-Chat"
3228
+ },
3229
+ "qwen1-5-1-8b": {
3230
+ "togetherai": "Qwen/Qwen1.5-1.8B"
3231
+ },
3232
+ "qwen1-5-1-8b-chat": {
3233
+ "togetherai": "Qwen/Qwen1.5-1.8B-Chat"
3234
+ },
3235
+ "qwen1-5-14b": {
3236
+ "togetherai": "Qwen/Qwen1.5-14B"
3237
+ },
3238
+ "qwen1-5-14b-chat": {
3239
+ "togetherai": "Qwen/Qwen1.5-14B-Chat"
3240
+ },
3241
+ "qwen1-5-4b": {
3242
+ "togetherai": "Qwen/Qwen1.5-4B"
3243
+ },
3244
+ "qwen1-5-4b-chat": {
3245
+ "togetherai": "Qwen/Qwen1.5-4B-Chat"
3246
+ },
3247
+ "qwen1-5-72b": {
3248
+ "togetherai": "Qwen/Qwen1.5-72B"
3249
+ },
3250
+ "qwen1-5-7b": {
3251
+ "togetherai": "Qwen/Qwen1.5-7B"
3252
+ },
3253
+ "qwen1-5-7b-chat": {
3254
+ "togetherai": "Qwen/Qwen1.5-7B-Chat"
3255
+ },
3256
+ "Qwen1.5-0.5B": {
3257
+ "togetherai": "Qwen/Qwen1.5-0.5B"
3258
+ },
3259
+ "Qwen1.5-0.5B-Chat": {
3260
+ "togetherai": "Qwen/Qwen1.5-0.5B-Chat"
3261
+ },
3262
+ "Qwen1.5-1.8B": {
3263
+ "togetherai": "Qwen/Qwen1.5-1.8B"
3264
+ },
3265
+ "Qwen1.5-1.8B-Chat": {
3266
+ "togetherai": "Qwen/Qwen1.5-1.8B-Chat"
3267
+ },
3268
+ "Qwen1.5-14B": {
3269
+ "togetherai": "Qwen/Qwen1.5-14B"
3270
+ },
3271
+ "Qwen1.5-14B-Chat": {
3272
+ "togetherai": "Qwen/Qwen1.5-14B-Chat"
3273
+ },
3274
+ "Qwen1.5-4B": {
3275
+ "togetherai": "Qwen/Qwen1.5-4B"
3276
+ },
3277
+ "Qwen1.5-4B-Chat": {
3278
+ "togetherai": "Qwen/Qwen1.5-4B-Chat"
3279
+ },
3280
+ "Qwen1.5-72B": {
3281
+ "togetherai": "Qwen/Qwen1.5-72B"
3282
+ },
3283
+ "Qwen1.5-7B": {
3284
+ "togetherai": "Qwen/Qwen1.5-7B"
3285
+ },
3286
+ "Qwen1.5-7B-Chat": {
3287
+ "togetherai": "Qwen/Qwen1.5-7B-Chat"
3288
+ },
3289
+ "qwen2-5-72b-instruct-turbo": {
3290
+ "togetherai": "Qwen/Qwen2.5-72B-Instruct-Turbo"
3291
+ },
3292
+ "qwen2-5-7b-instruct-turbo": {
3293
+ "togetherai": "Qwen/Qwen2.5-7B-Instruct-Turbo"
3294
+ },
3295
+ "qwen2-5-coder-32b-instruct": {
3296
+ "togetherai": "Qwen/Qwen2.5-Coder-32B-Instruct"
3297
+ },
3298
+ "qwen2-5-vl-72b-instruct": {
3299
+ "togetherai": "Qwen/Qwen2.5-VL-72B-Instruct"
3300
+ },
3301
+ "Qwen2.5-72B-Instruct-Turbo": {
3302
+ "togetherai": "Qwen/Qwen2.5-72B-Instruct-Turbo"
3303
+ },
3304
+ "Qwen2.5-7B-Instruct-Turbo": {
3305
+ "togetherai": "Qwen/Qwen2.5-7B-Instruct-Turbo"
3306
+ },
3307
+ "Qwen2.5-Coder-32B-Instruct": {
3308
+ "togetherai": "Qwen/Qwen2.5-Coder-32B-Instruct"
3309
+ },
3310
+ "Qwen2.5-VL-72B-Instruct": {
3311
+ "togetherai": "Qwen/Qwen2.5-VL-72B-Instruct"
3312
+ },
3313
+ "qwen3-235b-a22b": {
3314
+ "vercel": "alibaba/qwen3-235b-a22b-thinking"
3315
+ },
3316
+ "qwen3-235b-a22b-thinking": {
3317
+ "vercel": "alibaba/qwen3-235b-a22b-thinking"
3318
+ },
3319
+ "qwen3-30b-a3b": {
3320
+ "mixlayer": "qwen/qwen3-30b-a3b-thinking"
3321
+ },
3322
+ "qwen3-30b-a3b-instruct": {
3323
+ "mixlayer": "qwen/qwen3-30b-a3b-instruct"
3324
+ },
3325
+ "qwen3-30b-a3b-thinking": {
3326
+ "mixlayer": "qwen/qwen3-30b-a3b-thinking"
3327
+ },
3328
+ "qwen3-32b": {
3329
+ "mixlayer": "qwen/qwen3-32b",
3330
+ "vercel": "alibaba/qwen-3-32b"
3331
+ },
3332
+ "qwen3-5-35b-a3b": {
3333
+ "mixlayer": "qwen/qwen3.5-35b-a3b"
3334
+ },
3335
+ "qwen3-5-9b": {
3336
+ "mixlayer": "qwen/qwen3.5-9b"
3337
+ },
3338
+ "qwen3-5-flash": {
3339
+ "vercel": "alibaba/qwen3.5-flash"
3340
+ },
3341
+ "qwen3-5-plus": {
3342
+ "vercel": "alibaba/qwen3.5-plus"
3343
+ },
3344
+ "qwen3-8b": {
3345
+ "mixlayer": "qwen/qwen3-8b"
3346
+ },
3347
+ "qwen3-coder": {
3348
+ "vercel": "alibaba/qwen3-coder"
3349
+ },
3350
+ "qwen3-coder-30b-a3b": {
3351
+ "vercel": "alibaba/qwen3-coder-30b-a3b"
3352
+ },
3353
+ "qwen3-coder-next": {
3354
+ "vercel": "alibaba/qwen3-coder-next"
3355
+ },
3356
+ "qwen3-coder-plus": {
3357
+ "vercel": "alibaba/qwen3-coder-plus"
3358
+ },
3359
+ "qwen3-embedding-0-6b": {
3360
+ "vercel": "alibaba/qwen3-embedding-0.6b"
3361
+ },
3362
+ "qwen3-embedding-0.6b": {
3363
+ "vercel": "alibaba/qwen3-embedding-0.6b"
3364
+ },
3365
+ "qwen3-embedding-4b": {
3366
+ "vercel": "alibaba/qwen3-embedding-4b"
3367
+ },
3368
+ "qwen3-embedding-8b": {
3369
+ "vercel": "alibaba/qwen3-embedding-8b"
3370
+ },
3371
+ "qwen3-max": {
3372
+ "vercel": "alibaba/qwen3-max-thinking"
3373
+ },
3374
+ "qwen3-max-preview": {
3375
+ "vercel": "alibaba/qwen3-max-preview"
3376
+ },
3377
+ "qwen3-max-thinking": {
3378
+ "vercel": "alibaba/qwen3-max-thinking"
3379
+ },
3380
+ "qwen3-next-80b-a3b": {
3381
+ "vercel": "alibaba/qwen3-next-80b-a3b-thinking"
3382
+ },
3383
+ "qwen3-next-80b-a3b-instruct": {
3384
+ "vercel": "alibaba/qwen3-next-80b-a3b-instruct"
3385
+ },
3386
+ "qwen3-next-80b-a3b-thinking": {
3387
+ "vercel": "alibaba/qwen3-next-80b-a3b-thinking"
3388
+ },
3389
+ "qwen3-vl": {
3390
+ "vercel": "alibaba/qwen3-vl-thinking"
3391
+ },
3392
+ "qwen3-vl-instruct": {
3393
+ "vercel": "alibaba/qwen3-vl-instruct"
3394
+ },
3395
+ "qwen3-vl-thinking": {
3396
+ "vercel": "alibaba/qwen3-vl-thinking"
3397
+ },
3398
+ "qwen3.5-35b-a3b": {
3399
+ "mixlayer": "qwen/qwen3.5-35b-a3b"
3400
+ },
3401
+ "qwen3.5-9b": {
3402
+ "mixlayer": "qwen/qwen3.5-9b"
3403
+ },
3404
+ "qwen3.5-flash": {
3405
+ "vercel": "alibaba/qwen3.5-flash"
3406
+ },
3407
+ "qwen3.5-plus": {
3408
+ "vercel": "alibaba/qwen3.5-plus"
3409
+ },
3410
+ "redpajama-incite-7b-base": {
3411
+ "togetherai": "togethercomputer/RedPajama-INCITE-7B-Base"
3412
+ },
3413
+ "RedPajama-INCITE-7B-Base": {
3414
+ "togetherai": "togethercomputer/RedPajama-INCITE-7B-Base"
3415
+ },
3416
+ "redpajama-incite-7b-chat": {
3417
+ "togetherai": "togethercomputer/RedPajama-INCITE-7B-Chat"
3418
+ },
3419
+ "RedPajama-INCITE-7B-Chat": {
3420
+ "togetherai": "togethercomputer/RedPajama-INCITE-7B-Chat"
3421
+ },
3422
+ "redpajama-incite-7b-instruct": {
3423
+ "togetherai": "togethercomputer/RedPajama-INCITE-7B-Instruct"
3424
+ },
3425
+ "RedPajama-INCITE-7B-Instruct": {
3426
+ "togetherai": "togethercomputer/RedPajama-INCITE-7B-Instruct"
3427
+ },
3428
+ "redpajama-incite-base-3b": {
3429
+ "togetherai": "togethercomputer/RedPajama-INCITE-Base-3B-v1"
3430
+ },
3431
+ "RedPajama-INCITE-Base-3B-v1": {
3432
+ "togetherai": "togethercomputer/RedPajama-INCITE-Base-3B-v1"
3433
+ },
3434
+ "redpajama-incite-chat-3b": {
3435
+ "togetherai": "togethercomputer/RedPajama-INCITE-Chat-3B-v1"
3436
+ },
3437
+ "RedPajama-INCITE-Chat-3B-v1": {
3438
+ "togetherai": "togethercomputer/RedPajama-INCITE-Chat-3B-v1"
3439
+ },
3440
+ "redpajama-incite-instruct-3b": {
3441
+ "togetherai": "togethercomputer/RedPajama-INCITE-Instruct-3B-v1"
3442
+ },
3443
+ "RedPajama-INCITE-Instruct-3B-v1": {
3444
+ "togetherai": "togethercomputer/RedPajama-INCITE-Instruct-3B-v1"
3445
+ },
3446
+ "remm-slerp-l2-13b": {
3447
+ "togetherai": "Undi95/ReMM-SLERP-L2-13B"
3448
+ },
3449
+ "ReMM-SLERP-L2-13B": {
3450
+ "togetherai": "Undi95/ReMM-SLERP-L2-13B"
3451
+ },
3452
+ "seed-1-6": {
3453
+ "vercel": "bytedance/seed-1.6"
3454
+ },
3455
+ "seed-1-8": {
3456
+ "vercel": "bytedance/seed-1.8"
3457
+ },
3458
+ "seed-1.6": {
3459
+ "vercel": "bytedance/seed-1.6"
3460
+ },
3461
+ "seed-1.8": {
3462
+ "vercel": "bytedance/seed-1.8"
3463
+ },
3464
+ "snorkel-mistral-pairrm-dpo": {
3465
+ "togetherai": "snorkelai/Snorkel-Mistral-PairRM-DPO"
3466
+ },
3467
+ "Snorkel-Mistral-PairRM-DPO": {
3468
+ "togetherai": "snorkelai/Snorkel-Mistral-PairRM-DPO"
3469
+ },
3470
+ "solar-10-7b-instruct-v1-0": {
3471
+ "togetherai": "upstage/SOLAR-10.7B-Instruct-v1.0"
3472
+ },
3473
+ "SOLAR-10.7B-Instruct-v1.0": {
3474
+ "togetherai": "upstage/SOLAR-10.7B-Instruct-v1.0"
3475
+ },
3476
+ "sonar": {
3477
+ "vercel": "perplexity/sonar"
3478
+ },
3479
+ "sonar-pro": {
3480
+ "vercel": "perplexity/sonar-pro"
3481
+ },
3482
+ "sonar-reasoning": {
3483
+ "vercel": "perplexity/sonar-reasoning"
3484
+ },
3485
+ "sonar-reasoning-pro": {
3486
+ "vercel": "perplexity/sonar-reasoning-pro"
3487
+ },
3488
+ "stripedhyena-hessian-7b": {
3489
+ "togetherai": "togethercomputer/StripedHyena-Hessian-7B"
3490
+ },
3491
+ "StripedHyena-Hessian-7B": {
3492
+ "togetherai": "togethercomputer/StripedHyena-Hessian-7B"
3493
+ },
3494
+ "stripedhyena-nous-7b": {
3495
+ "togetherai": "togethercomputer/StripedHyena-Nous-7B"
3496
+ },
3497
+ "StripedHyena-Nous-7B": {
3498
+ "togetherai": "togethercomputer/StripedHyena-Nous-7B"
3499
+ },
3500
+ "text-ada-001": {
3501
+ "openai": "text-ada-001"
3502
+ },
3503
+ "text-ada-001-batch": {
3504
+ "openai": "text-ada-001-batch"
3505
+ },
3506
+ "text-curie-001": {
3507
+ "openai": "text-curie-001"
3508
+ },
3509
+ "text-curie-001-batch": {
3510
+ "openai": "text-curie-001-batch"
3511
+ },
3512
+ "text-davinci-001": {
3513
+ "openai": "text-davinci-001"
3514
+ },
3515
+ "text-davinci-001-batch": {
3516
+ "openai": "text-davinci-001-batch"
3517
+ },
3518
+ "text-davinci-002": {
3519
+ "openai": "text-davinci-002"
3520
+ },
3521
+ "text-davinci-002-batch": {
3522
+ "openai": "text-davinci-002-batch"
3523
+ },
3524
+ "text-davinci-003": {
3525
+ "openai": "text-davinci-003"
3526
+ },
3527
+ "text-davinci-003-batch": {
3528
+ "openai": "text-davinci-003-batch"
3529
+ },
3530
+ "text-embedding-005": {
3531
+ "vercel": "google/text-embedding-005"
3532
+ },
3533
+ "text-embedding-3-large": {
3534
+ "openai": "text-embedding-3-large",
3535
+ "vercel": "openai/text-embedding-3-large"
3536
+ },
3537
+ "text-embedding-3-large-batch": {
3538
+ "openai": "text-embedding-3-large-batch"
3539
+ },
3540
+ "text-embedding-3-small": {
3541
+ "openai": "text-embedding-3-small",
3542
+ "vercel": "openai/text-embedding-3-small"
3543
+ },
3544
+ "text-embedding-3-small-batch": {
3545
+ "openai": "text-embedding-3-small-batch"
3546
+ },
3547
+ "text-embedding-ada": {
3548
+ "openai": "text-embedding-ada"
3549
+ },
3550
+ "text-embedding-ada-002": {
3551
+ "openai": "text-embedding-ada-002-v2",
3552
+ "vercel": "openai/text-embedding-ada-002"
3553
+ },
3554
+ "text-embedding-ada-002-batch": {
3555
+ "openai": "text-embedding-ada-002-batch"
3556
+ },
3557
+ "text-embedding-ada-002-v2": {
3558
+ "openai": "text-embedding-ada-002-v2"
3559
+ },
3560
+ "text-embedding-ada-002-v2-batch": {
3561
+ "openai": "text-embedding-ada-002-v2-batch"
3562
+ },
3563
+ "text-embedding-ada-batch": {
3564
+ "openai": "text-embedding-ada-batch"
3565
+ },
3566
+ "text-multilingual-embedding-002": {
3567
+ "vercel": "google/text-multilingual-embedding-002"
3568
+ },
3569
+ "titan-embed-text": {
3570
+ "vercel": "amazon/titan-embed-text-v2"
3571
+ },
3572
+ "titan-embed-text-v2": {
3573
+ "vercel": "amazon/titan-embed-text-v2"
3574
+ },
3575
+ "toppy-m-7b": {
3576
+ "togetherai": "Undi95/Toppy-M-7B"
3577
+ },
3578
+ "Toppy-M-7B": {
3579
+ "togetherai": "Undi95/Toppy-M-7B"
3580
+ },
3581
+ "trinity-large": {
3582
+ "vercel": "arcee-ai/trinity-large-preview"
3583
+ },
3584
+ "trinity-large-preview": {
3585
+ "vercel": "arcee-ai/trinity-large-preview"
3586
+ },
3587
+ "trinity-mini": {
3588
+ "vercel": "arcee-ai/trinity-mini"
3589
+ },
3590
+ "v0-1-0-md": {
3591
+ "vercel": "v0-1-0-md"
3592
+ },
3593
+ "v0-1-5-md": {
3594
+ "vercel": "v0-1-5-md"
3595
+ },
3596
+ "v0-1.0-md": {
3597
+ "vercel": "v0-1.0-md"
3598
+ },
3599
+ "v0-1.5-md": {
3600
+ "vercel": "v0-1.5-md"
3601
+ },
3602
+ "vicuna-13b-v1-5": {
3603
+ "togetherai": "lmsys/vicuna-13b-v1.5"
3604
+ },
3605
+ "vicuna-13b-v1.5": {
3606
+ "togetherai": "lmsys/vicuna-13b-v1.5"
3607
+ },
3608
+ "vicuna-7b-v1-5": {
3609
+ "togetherai": "lmsys/vicuna-7b-v1.5"
3610
+ },
3611
+ "vicuna-7b-v1.5": {
3612
+ "togetherai": "lmsys/vicuna-7b-v1.5"
3613
+ },
3614
+ "voyage-3-5": {
3615
+ "vercel": "voyage/voyage-3.5"
3616
+ },
3617
+ "voyage-3-5-lite": {
3618
+ "vercel": "voyage/voyage-3.5-lite"
3619
+ },
3620
+ "voyage-3-large": {
3621
+ "vercel": "voyage/voyage-3-large"
3622
+ },
3623
+ "voyage-3.5": {
3624
+ "vercel": "voyage/voyage-3.5"
3625
+ },
3626
+ "voyage-3.5-lite": {
3627
+ "vercel": "voyage/voyage-3.5-lite"
3628
+ },
3629
+ "voyage-4": {
3630
+ "vercel": "voyage/voyage-4"
3631
+ },
3632
+ "voyage-4-large": {
3633
+ "vercel": "voyage/voyage-4-large"
3634
+ },
3635
+ "voyage-4-lite": {
3636
+ "vercel": "voyage/voyage-4-lite"
3637
+ },
3638
+ "voyage-code-2": {
3639
+ "vercel": "voyage/voyage-code-2"
3640
+ },
3641
+ "voyage-code-3": {
3642
+ "vercel": "voyage/voyage-code-3"
3643
+ },
3644
+ "voyage-finance-2": {
3645
+ "vercel": "voyage/voyage-finance-2"
3646
+ },
3647
+ "voyage-law-2": {
3648
+ "vercel": "voyage/voyage-law-2"
3649
+ },
3650
+ "wizardlm-13b-v1-2": {
3651
+ "togetherai": "WizardLM/WizardLM-13B-V1.2"
3652
+ },
3653
+ "WizardLM-13B-V1.2": {
3654
+ "togetherai": "WizardLM/WizardLM-13B-V1.2"
3655
+ },
3656
+ "wizardlm-2-8x22b": {
3657
+ "togetherai": "microsoft/WizardLM-2-8x22B"
3658
+ },
3659
+ "WizardLM-2-8x22B": {
3660
+ "togetherai": "microsoft/WizardLM-2-8x22B"
3661
+ },
3662
+ "yi-34b": {
3663
+ "togetherai": "zero-one-ai/Yi-34B"
3664
+ },
3665
+ "Yi-34B": {
3666
+ "togetherai": "zero-one-ai/Yi-34B"
3667
+ },
3668
+ "yi-6b": {
3669
+ "togetherai": "zero-one-ai/Yi-6B"
3670
+ },
3671
+ "Yi-6B": {
3672
+ "togetherai": "zero-one-ai/Yi-6B"
3673
+ }
3674
+ };
3675
+ exports.GENERATED_ROUTING_OVERRIDES = {
3676
+ "llama-3-1-70b": { providers: [{ provider: "vercel", weight: 100 }] },
3677
+ "llama-3-1-8b": { providers: [{ provider: "vercel", weight: 100 }] },
3678
+ "llama-3-2-11b": { providers: [{ provider: "vercel", weight: 100 }] },
3679
+ "llama-3-2-1b": { providers: [{ provider: "vercel", weight: 100 }] },
3680
+ "llama-3-2-3b": { providers: [{ provider: "vercel", weight: 100 }] },
3681
+ "llama-3-2-90b": { providers: [{ provider: "vercel", weight: 100 }] },
3682
+ "llama-3-3-70b": { providers: [{ provider: "vercel", weight: 100 }] },
3683
+ "llama-3-70b": { providers: [{ provider: "vercel", weight: 100 }] },
3684
+ "llama-3-8b": { providers: [{ provider: "vercel", weight: 100 }] },
3685
+ "llama-4-maverick": { providers: [{ provider: "vercel", weight: 100 }] },
3686
+ "llama-4-scout": { providers: [{ provider: "vercel", weight: 100 }] },
3687
+ "llama3-1-70b": { providers: [{ provider: "vercel", weight: 100 }] },
3688
+ "llama3-1-8b": { providers: [{ provider: "vercel", weight: 100 }] },
3689
+ "llama3-3-70b": { providers: [{ provider: "vercel", weight: 100 }] },
3690
+ "qwen-3-14b": { providers: [{ provider: "vercel", weight: 100 }] },
3691
+ "qwen-3-235b": { providers: [{ provider: "vercel", weight: 100 }] },
3692
+ "qwen-3-235b-a22b": { providers: [{ provider: "vercel", weight: 100 }] },
3693
+ "qwen-3-30b": { providers: [{ provider: "vercel", weight: 100 }] },
3694
+ "qwen-3-32b": { providers: [{ provider: "vercel", weight: 100 }] },
3695
+ "qwen3-235b-a22b": { providers: [{ provider: "vercel", weight: 100 }] },
3696
+ "qwen3-32b": { providers: [{ provider: "vercel", weight: 100 }] },
3697
+ "qwen3-5-flash": { providers: [{ provider: "vercel", weight: 100 }] },
3698
+ "qwen3-5-plus": { providers: [{ provider: "vercel", weight: 100 }] },
3699
+ "qwen3-coder": { providers: [{ provider: "vercel", weight: 100 }] },
3700
+ "qwen3-coder-30b-a3b": { providers: [{ provider: "vercel", weight: 100 }] },
3701
+ "qwen3-coder-next": { providers: [{ provider: "vercel", weight: 100 }] },
3702
+ "qwen3-coder-plus": { providers: [{ provider: "vercel", weight: 100 }] },
3703
+ "qwen3-embedding-0-6b": { providers: [{ provider: "vercel", weight: 100 }] },
3704
+ "qwen3-embedding-4b": { providers: [{ provider: "vercel", weight: 100 }] },
3705
+ "qwen3-embedding-8b": { providers: [{ provider: "vercel", weight: 100 }] },
3706
+ "qwen3-max": { providers: [{ provider: "vercel", weight: 100 }] },
3707
+ "qwen3-next-80b-a3b": { providers: [{ provider: "vercel", weight: 100 }] },
3708
+ "qwen3-next-80b-a3b-instruct": { providers: [{ provider: "vercel", weight: 100 }] },
3709
+ "qwen3-vl": { providers: [{ provider: "vercel", weight: 100 }] },
3710
+ "qwen3-vl-instruct": { providers: [{ provider: "vercel", weight: 100 }] }
3711
+ };
3712
+ function getProvidersForModel(modelId) {
3713
+ var _a;
3714
+ return (_a = exports.MODEL_TO_PROVIDERS[modelId]) !== null && _a !== void 0 ? _a : [];
3715
+ }
3716
+ function getProvidersForFamily(family) {
3717
+ var _a;
3718
+ return (_a = exports.MODEL_FAMILY_TO_PROVIDERS[family]) !== null && _a !== void 0 ? _a : [];
3719
+ }
3720
+ function getFamilyProviderModelId(family, provider) {
3721
+ var _a;
3722
+ return (_a = exports.MODEL_FAMILY_PROVIDER_IDS[family]) === null || _a === void 0 ? void 0 : _a[provider];
3723
+ }
3724
+ }
3725
+ });
3726
+
3727
+ // ../shared/dist/provider-routing.js
3728
+ var require_provider_routing = __commonJS({
3729
+ "../shared/dist/provider-routing.js"(exports) {
39
3730
  "use strict";
40
- CREDENTIALS_DIR = path.join(os.homedir(), ".runtype");
41
- CREDENTIALS_FILENAME = "credentials.json";
42
- CREDENTIALS_PATH = path.join(CREDENTIALS_DIR, CREDENTIALS_FILENAME);
43
- CredentialStore = class {
44
- config;
45
- encryptionKey;
46
- constructor() {
47
- this.encryptionKey = this.getMachineKey();
48
- try {
49
- this.config = createConf(this.encryptionKey);
50
- } catch (error) {
51
- if (isCorruptStoreError(error)) {
52
- try {
53
- if (fs.existsSync(CREDENTIALS_PATH)) {
54
- fs.unlinkSync(CREDENTIALS_PATH);
55
- }
56
- } catch {
3731
+ Object.defineProperty(exports, "__esModule", { value: true });
3732
+ exports.GATEWAY_PROVIDERS = exports.INFERENCE_PROVIDERS = exports.DIRECT_PROVIDERS = exports.ROUTED_MODEL_DISPLAY_NAMES = exports.BASE_MODEL_PROVIDER_MAP = exports.PROVIDER_ROUTING_CONFIG = exports.PROVIDER_API_KEY_MAP = exports.PLATFORM_KEY_PROVIDERS = void 0;
3733
+ exports.isRoutedModel = isRoutedModel;
3734
+ exports.isDirectAccess = isDirectAccess;
3735
+ exports.isGatewayAccess = isGatewayAccess;
3736
+ exports.shouldRouteViaRuntype = shouldRouteViaRuntype;
3737
+ exports.extractRoutingProvider = extractRoutingProvider;
3738
+ exports.extractBaseModel = extractBaseModel;
3739
+ exports.extractModelIdentity = extractModelIdentity;
3740
+ exports.getRoutedModelDisplayName = getRoutedModelDisplayName;
3741
+ exports.normalizeModelId = normalizeModelId;
3742
+ exports.buildModelId = buildModelId;
3743
+ exports.parseModelId = parseModelId;
3744
+ exports.parseModelIdLegacy = parseModelIdLegacy;
3745
+ exports.selectProviderByWeight = selectProviderByWeight;
3746
+ exports.getRoutingConfig = getRoutingConfig;
3747
+ exports.getProviderModelId = getProviderModelId;
3748
+ exports.getAvailableProviders = getAvailableProviders;
3749
+ exports.hasRoutingConfig = hasRoutingConfig;
3750
+ exports.getConfiguredBaseModels = getConfiguredBaseModels;
3751
+ exports.inferModelCreator = inferModelCreator2;
3752
+ exports.getDefaultProvider = getDefaultProvider;
3753
+ exports.isVercelSupported = isVercelSupported;
3754
+ exports.generateVercelModelId = generateVercelModelId;
3755
+ exports.getDefaultRoutingConfig = getDefaultRoutingConfig;
3756
+ exports.getDefaultProviderMapping = getDefaultProviderMapping;
3757
+ exports.getRoutingConfigWithDefaults = getRoutingConfigWithDefaults;
3758
+ exports.getProviderModelIdWithDefaults = getProviderModelIdWithDefaults;
3759
+ var generated_model_routing_1 = require_generated_model_routing();
3760
+ exports.PLATFORM_KEY_PROVIDERS = /* @__PURE__ */ new Set([
3761
+ "mixlayer",
3762
+ "openai",
3763
+ "anthropic",
3764
+ "google",
3765
+ "xai",
3766
+ "vercel"
3767
+ ]);
3768
+ exports.PROVIDER_API_KEY_MAP = {
3769
+ "openai": "openaiKey",
3770
+ "anthropic": "anthropicKey",
3771
+ "google": "googleKey",
3772
+ "xai": "xaiKey",
3773
+ "mixlayer": "modelsocketKey",
3774
+ "vercel": "vercelGatewayKey",
3775
+ "togetherai": "togetheraiKey",
3776
+ "bedrock": "bedrockAccessKey",
3777
+ // Also needs bedrockSecretKey
3778
+ "vertex": "vertexServiceAccount",
3779
+ // Also needs vertexProject
3780
+ "vertex-anthropic": "vertexServiceAccount",
3781
+ // Also needs vertexProject
3782
+ "tinfoil": "tinfoilKey",
3783
+ "generic-openai": "genericOpenaiKey",
3784
+ "openrouter": null,
3785
+ // Not yet supported
3786
+ "azure": null,
3787
+ // Not yet supported
3788
+ "mock": null
3789
+ // Dev-only, no API key needed
3790
+ };
3791
+ exports.PROVIDER_ROUTING_CONFIG = {
3792
+ // Claude 4.5 Sonnet - Route through Vercel AI Gateway
3793
+ "claude-sonnet-4-5": {
3794
+ providers: [
3795
+ { provider: "vercel", weight: 100 }
3796
+ ],
3797
+ fallback: ["anthropic"]
3798
+ },
3799
+ // Claude 4.5 Haiku - No Vercel support, route through Anthropic direct
3800
+ "claude-haiku-4-5": {
3801
+ providers: [
3802
+ { provider: "anthropic", weight: 100 }
3803
+ ]
3804
+ },
3805
+ // Claude 4.5 Opus - Route through Vercel AI Gateway
3806
+ "claude-opus-4-5": {
3807
+ providers: [
3808
+ { provider: "vercel", weight: 100 }
3809
+ ],
3810
+ fallback: ["anthropic"]
3811
+ },
3812
+ // GPT-4o - Route through Vercel AI Gateway
3813
+ "gpt-4o": {
3814
+ providers: [
3815
+ { provider: "vercel", weight: 100 }
3816
+ ],
3817
+ fallback: ["openai"]
3818
+ },
3819
+ // GPT-4o Mini - Route through Vercel AI Gateway
3820
+ "gpt-4o-mini": {
3821
+ providers: [
3822
+ { provider: "vercel", weight: 100 }
3823
+ ],
3824
+ fallback: ["openai"]
3825
+ },
3826
+ // GPT-5 - Route through Vercel AI Gateway
3827
+ "gpt-5": {
3828
+ providers: [
3829
+ { provider: "vercel", weight: 100 }
3830
+ ],
3831
+ fallback: ["openai"]
3832
+ },
3833
+ // GPT-5 Mini - Route through Vercel AI Gateway
3834
+ "gpt-5-mini": {
3835
+ providers: [
3836
+ { provider: "vercel", weight: 100 }
3837
+ ],
3838
+ fallback: ["openai"]
3839
+ },
3840
+ // Gemini 2.5 Pro - Route through Vercel AI Gateway
3841
+ "gemini-2.5-pro": {
3842
+ providers: [
3843
+ { provider: "vercel", weight: 100 }
3844
+ ],
3845
+ fallback: ["google"]
3846
+ },
3847
+ // Gemini 2.5 Flash - Route through Vercel AI Gateway
3848
+ "gemini-2.5-flash": {
3849
+ providers: [
3850
+ { provider: "vercel", weight: 100 }
3851
+ ],
3852
+ fallback: ["google"]
3853
+ },
3854
+ // Gemini 2.5 Flash Image - Route through Vercel AI Gateway only
3855
+ // Note: No Google fallback - this image model is only available via Vercel gateway
3856
+ "gemini-2.5-flash-image": {
3857
+ providers: [
3858
+ { provider: "vercel", weight: 100 }
3859
+ ],
3860
+ fallback: []
3861
+ },
3862
+ // Gemini 3 Flash - Route through Vercel AI Gateway
3863
+ "gemini-3-flash": {
3864
+ providers: [
3865
+ { provider: "vercel", weight: 100 }
3866
+ ],
3867
+ fallback: ["google"]
3868
+ },
3869
+ // Gemini 3 Pro Image - Route through Vercel AI Gateway only
3870
+ // Note: No Google fallback - this image model is only available via Vercel gateway
3871
+ "gemini-3-pro-image": {
3872
+ providers: [
3873
+ { provider: "vercel", weight: 100 }
3874
+ ],
3875
+ fallback: []
3876
+ },
3877
+ // Gemini 3 Pro Preview - Deprecated March 9, 2026. Aliased to gemini-3.1-pro in router.
3878
+ "gemini-3-pro-preview": {
3879
+ providers: [
3880
+ { provider: "vercel", weight: 100 }
3881
+ ],
3882
+ fallback: ["google"]
3883
+ },
3884
+ // Gemini 3.1 Pro - Route through Vercel AI Gateway (successor to gemini-3-pro-preview)
3885
+ "gemini-3.1-pro": {
3886
+ providers: [
3887
+ { provider: "vercel", weight: 100 }
3888
+ ],
3889
+ fallback: ["google"]
3890
+ },
3891
+ // Grok 4 - Route through Vercel AI Gateway
3892
+ "grok-4": {
3893
+ providers: [
3894
+ { provider: "vercel", weight: 100 }
3895
+ ],
3896
+ fallback: ["xai"]
3897
+ },
3898
+ // Grok 4 Fast - Route through Vercel AI Gateway
3899
+ "grok-4-fast": {
3900
+ providers: [
3901
+ { provider: "vercel", weight: 100 }
3902
+ ],
3903
+ fallback: ["xai"]
3904
+ },
3905
+ // Qwen 3 8B - Mixlayer model, route through mixlayer
3906
+ "qwen3-8b": {
3907
+ providers: [
3908
+ { provider: "mixlayer", weight: 100 }
3909
+ ]
3910
+ },
3911
+ // DeepSeek R1 - Route through Vercel AI Gateway
3912
+ "deepseek-r1": {
3913
+ providers: [
3914
+ { provider: "vercel", weight: 100 }
3915
+ ]
3916
+ },
3917
+ // DeepSeek V3 - Route through Vercel AI Gateway
3918
+ "deepseek-v3": {
3919
+ providers: [
3920
+ { provider: "vercel", weight: 100 }
3921
+ ]
3922
+ },
3923
+ // GPT 5.1 Codex Max - Route through Vercel AI Gateway
3924
+ "gpt-5.1-codex-max": {
3925
+ providers: [
3926
+ { provider: "vercel", weight: 100 }
3927
+ ],
3928
+ fallback: ["openai"]
3929
+ }
3930
+ };
3931
+ var MANUAL_PROVIDER_MAP_OVERRIDES = {
3932
+ // Bedrock uses different model ID format
3933
+ "claude-sonnet-4-5": {
3934
+ "bedrock": "anthropic.claude-3-5-sonnet-20241022-v2:0"
3935
+ },
3936
+ // xAI uses x/ prefix internally
3937
+ "grok-4": {
3938
+ "xai": "x/grok-4"
3939
+ },
3940
+ "grok-4-fast": {
3941
+ "xai": "x/grok-4-fast"
3942
+ },
3943
+ // TogetherAI uses their own model ID format
3944
+ "llama-3-3-70b": {
3945
+ "togetherai": "togetherai/meta-llama/Meta-Llama-3.3-70B-Instruct-Turbo"
3946
+ },
3947
+ "qwen3-8b": {
3948
+ "togetherai": "togetherai/qwen/Qwen3-8B"
3949
+ },
3950
+ "deepseek-r1": {
3951
+ "togetherai": "togetherai/deepseek-ai/DeepSeek-R1",
3952
+ "tinfoil": "tinfoil/deepseek-r1-0528"
3953
+ },
3954
+ "deepseek-v3": {
3955
+ "togetherai": "togetherai/deepseek-ai/DeepSeek-V3"
3956
+ }
3957
+ };
3958
+ exports.BASE_MODEL_PROVIDER_MAP = (() => {
3959
+ const result = { ...generated_model_routing_1.MODEL_FAMILY_PROVIDER_IDS };
3960
+ for (const [family, overrides] of Object.entries(MANUAL_PROVIDER_MAP_OVERRIDES)) {
3961
+ if (!result[family]) {
3962
+ result[family] = {};
3963
+ }
3964
+ result[family] = { ...result[family], ...overrides };
3965
+ }
3966
+ return result;
3967
+ })();
3968
+ function isRoutedModel(modelId) {
3969
+ if (modelId.startsWith("model/")) {
3970
+ return true;
3971
+ }
3972
+ const parsed = parseModelId(modelId);
3973
+ return parsed.isRuntypeRouted;
3974
+ }
3975
+ function isDirectAccess(modelId) {
3976
+ const parsed = parseModelId(modelId);
3977
+ return parsed.isDirectAccess;
3978
+ }
3979
+ function isGatewayAccess(modelId) {
3980
+ const parsed = parseModelId(modelId);
3981
+ return parsed.isGatewayAccess;
3982
+ }
3983
+ function shouldRouteViaRuntype(modelId) {
3984
+ return isRoutedModel(modelId);
3985
+ }
3986
+ function extractRoutingProvider(modelId) {
3987
+ const parsed = parseModelId(modelId);
3988
+ return parsed.routingProvider;
3989
+ }
3990
+ function extractBaseModel(modelId) {
3991
+ if (modelId.startsWith("model/")) {
3992
+ return modelId.slice(6);
3993
+ }
3994
+ const parsed = parseModelId(modelId);
3995
+ if (!parsed.isRuntypeRouted) {
3996
+ return null;
3997
+ }
3998
+ return parsed.model;
3999
+ }
4000
+ function extractModelIdentity(modelId) {
4001
+ const parsed = parseModelId(modelId);
4002
+ if (parsed.isGatewayAccess && parsed.creator) {
4003
+ return `${parsed.creator}/${parsed.model}`;
4004
+ }
4005
+ return parsed.model;
4006
+ }
4007
+ exports.ROUTED_MODEL_DISPLAY_NAMES = {
4008
+ "claude-sonnet-4-5": "Claude Sonnet 4.5",
4009
+ "claude-haiku-4-5": "Claude Haiku 4.5",
4010
+ "claude-opus-4-5": "Claude Opus 4.5",
4011
+ "gpt-4o": "GPT-4o",
4012
+ "gpt-4o-mini": "GPT-4o Mini",
4013
+ "gpt-5": "GPT-5",
4014
+ "gpt-5-mini": "GPT-5 Mini",
4015
+ "gemini-2.5-pro": "Gemini 2.5 Pro",
4016
+ "gemini-2.5-flash": "Gemini 2.5 Flash",
4017
+ "gemini-2.5-flash-image": "Gemini 2.5 Flash Image",
4018
+ "gemini-3-flash": "Gemini 3 Flash",
4019
+ "gemini-3-pro-image": "Gemini 3 Pro Image",
4020
+ "gemini-3-pro-preview": "Gemini 3 Pro Preview",
4021
+ "gemini-3.1-pro": "Gemini 3.1 Pro",
4022
+ "grok-4": "Grok 4",
4023
+ "grok-4-fast": "Grok 4 Fast",
4024
+ "llama-3.3-70b": "Llama 3.3 70B",
4025
+ "qwen3-8b": "Qwen 3 8B",
4026
+ "qwen/qwen3-8b": "Qwen 3 8B",
4027
+ "qwen3.5-35b-a3b": "Qwen 3.5 35B A3B",
4028
+ "qwen3.5-9b": "Qwen 3.5 9B",
4029
+ "qwen/qwen3-30b-a3b-instruct": "Qwen 3 30B A3B Instruct",
4030
+ "qwen3.5-plus": "Qwen 3.5 Plus",
4031
+ "qwen3.5-flash": "Qwen 3.5 Flash",
4032
+ "qwen/qwen3.5-35b-a3b": "Qwen 3.5 35B A3B",
4033
+ "qwen/qwen3.5-9b": "Qwen 3.5 9B",
4034
+ "meta/llama3.1-8b-instruct-free": "Llama 3.1 8B Instruct Free",
4035
+ "deepseek-r1": "DeepSeek R1",
4036
+ "deepseek-v3": "DeepSeek V3",
4037
+ "gpt-5.1-codex-max": "GPT 5.1 Codex Max"
4038
+ };
4039
+ function getRoutedModelDisplayName(modelId) {
4040
+ const baseModel = extractBaseModel(modelId);
4041
+ if (!baseModel) {
4042
+ return null;
4043
+ }
4044
+ if (baseModel in exports.ROUTED_MODEL_DISPLAY_NAMES) {
4045
+ return exports.ROUTED_MODEL_DISPLAY_NAMES[baseModel];
4046
+ }
4047
+ return baseModel.split("-").map((part) => part.charAt(0).toUpperCase() + part.slice(1)).join(" ");
4048
+ }
4049
+ function normalizeModelId(modelId) {
4050
+ if (modelId.startsWith("model/")) {
4051
+ return modelId.slice(6);
4052
+ }
4053
+ if (modelId.startsWith("runtype:")) {
4054
+ return modelId.slice(8);
4055
+ }
4056
+ return modelId;
4057
+ }
4058
+ function buildModelId(routingProvider, model) {
4059
+ if (!routingProvider || routingProvider === "runtype") {
4060
+ return model;
4061
+ }
4062
+ return `${routingProvider}:${model}`;
4063
+ }
4064
+ exports.DIRECT_PROVIDERS = /* @__PURE__ */ new Set([
4065
+ "openai",
4066
+ "anthropic",
4067
+ "google",
4068
+ "xai",
4069
+ "mistral",
4070
+ "cohere",
4071
+ "ai21",
4072
+ "deepseek"
4073
+ ]);
4074
+ exports.INFERENCE_PROVIDERS = /* @__PURE__ */ new Set([
4075
+ "mixlayer",
4076
+ "togetherai",
4077
+ "bedrock",
4078
+ "vertex",
4079
+ "vertex-anthropic",
4080
+ "tinfoil",
4081
+ "generic-openai",
4082
+ "mock"
4083
+ ]);
4084
+ exports.GATEWAY_PROVIDERS = /* @__PURE__ */ new Set([
4085
+ "vercel",
4086
+ "openrouter",
4087
+ "azure"
4088
+ ]);
4089
+ function parseModelId(modelId) {
4090
+ const colonIndex = modelId.indexOf(":");
4091
+ if (colonIndex === -1) {
4092
+ const slashIndex = modelId.indexOf("/");
4093
+ if (slashIndex !== -1) {
4094
+ const potentialProvider = modelId.substring(0, slashIndex);
4095
+ const remainder2 = modelId.substring(slashIndex + 1);
4096
+ if (exports.DIRECT_PROVIDERS.has(potentialProvider)) {
4097
+ return {
4098
+ routingProvider: potentialProvider,
4099
+ creator: potentialProvider,
4100
+ model: remainder2,
4101
+ isRuntypeRouted: false,
4102
+ isDirectAccess: true,
4103
+ isGatewayAccess: false,
4104
+ originalId: modelId
4105
+ };
4106
+ }
4107
+ if (exports.INFERENCE_PROVIDERS.has(potentialProvider)) {
4108
+ return {
4109
+ routingProvider: potentialProvider,
4110
+ creator: null,
4111
+ model: remainder2,
4112
+ isRuntypeRouted: false,
4113
+ isDirectAccess: true,
4114
+ isGatewayAccess: false,
4115
+ originalId: modelId
4116
+ };
4117
+ }
4118
+ if (exports.GATEWAY_PROVIDERS.has(potentialProvider)) {
4119
+ const nestedSlashIndex = remainder2.indexOf("/");
4120
+ if (nestedSlashIndex !== -1) {
4121
+ const creator3 = remainder2.substring(0, nestedSlashIndex);
4122
+ const model = remainder2.substring(nestedSlashIndex + 1);
4123
+ return {
4124
+ routingProvider: potentialProvider,
4125
+ creator: creator3,
4126
+ model,
4127
+ isRuntypeRouted: false,
4128
+ isDirectAccess: false,
4129
+ isGatewayAccess: true,
4130
+ originalId: modelId
4131
+ };
4132
+ } else {
4133
+ return {
4134
+ routingProvider: potentialProvider,
4135
+ creator: null,
4136
+ model: remainder2,
4137
+ isRuntypeRouted: false,
4138
+ isDirectAccess: false,
4139
+ isGatewayAccess: true,
4140
+ originalId: modelId
4141
+ };
57
4142
  }
58
- this.config = createConf(this.encryptionKey);
59
- } else {
60
- throw error;
4143
+ }
4144
+ if (potentialProvider === "model") {
4145
+ const creator3 = inferModelCreator2(remainder2);
4146
+ return {
4147
+ routingProvider: null,
4148
+ creator: creator3 !== "unknown" ? creator3 : null,
4149
+ model: remainder2,
4150
+ isRuntypeRouted: true,
4151
+ isDirectAccess: false,
4152
+ isGatewayAccess: false,
4153
+ originalId: modelId
4154
+ };
61
4155
  }
62
4156
  }
4157
+ const creator2 = inferModelCreator2(modelId);
4158
+ return {
4159
+ routingProvider: null,
4160
+ creator: creator2 !== "unknown" ? creator2 : null,
4161
+ model: modelId,
4162
+ isRuntypeRouted: true,
4163
+ isDirectAccess: false,
4164
+ isGatewayAccess: false,
4165
+ originalId: modelId
4166
+ };
63
4167
  }
64
- getMachineKey() {
65
- const hostname = os.hostname();
66
- const username = os.userInfo().username;
67
- return crypto2.createHash("sha256").update(`runtype-cli-${hostname}-${username}`).digest("hex").substring(0, 32);
4168
+ const routingProvider = modelId.substring(0, colonIndex);
4169
+ const remainder = modelId.substring(colonIndex + 1);
4170
+ if (routingProvider === "runtype") {
4171
+ const creator2 = inferModelCreator2(remainder);
4172
+ return {
4173
+ routingProvider: "runtype",
4174
+ creator: creator2 !== "unknown" ? creator2 : null,
4175
+ model: remainder,
4176
+ isRuntypeRouted: true,
4177
+ isDirectAccess: false,
4178
+ isGatewayAccess: false,
4179
+ originalId: modelId
4180
+ };
68
4181
  }
69
- async saveCredentials(credentials) {
70
- const configData = {
71
- apiKey: this.encrypt(credentials.apiKey),
72
- userId: credentials.userId,
73
- createdAt: (/* @__PURE__ */ new Date()).toISOString(),
74
- lastUsed: (/* @__PURE__ */ new Date()).toISOString()
4182
+ if (exports.DIRECT_PROVIDERS.has(routingProvider)) {
4183
+ return {
4184
+ routingProvider,
4185
+ creator: routingProvider,
4186
+ model: remainder,
4187
+ isRuntypeRouted: false,
4188
+ isDirectAccess: true,
4189
+ isGatewayAccess: false,
4190
+ originalId: modelId
75
4191
  };
76
- if (credentials.orgId !== void 0) {
77
- configData.orgId = credentials.orgId;
78
- }
79
- if (credentials.apiUrl !== void 0) {
80
- configData.apiUrl = credentials.apiUrl;
4192
+ }
4193
+ if (exports.INFERENCE_PROVIDERS.has(routingProvider)) {
4194
+ const slashIndex = remainder.indexOf("/");
4195
+ let creator2 = null;
4196
+ if (slashIndex !== -1) {
4197
+ creator2 = remainder.substring(0, slashIndex);
81
4198
  }
82
- this.config.set(configData);
4199
+ return {
4200
+ routingProvider,
4201
+ creator: creator2,
4202
+ model: remainder,
4203
+ // Keep full model ID (e.g., qwen/qwen3-8b)
4204
+ isRuntypeRouted: false,
4205
+ isDirectAccess: true,
4206
+ // Inference providers are direct access (not gateways)
4207
+ isGatewayAccess: false,
4208
+ originalId: modelId
4209
+ };
83
4210
  }
84
- async getApiKey() {
85
- const encrypted = this.config.get("apiKey");
86
- if (!encrypted) return null;
87
- this.config.set("lastUsed", (/* @__PURE__ */ new Date()).toISOString());
88
- return this.decrypt(encrypted);
4211
+ if (exports.GATEWAY_PROVIDERS.has(routingProvider)) {
4212
+ const slashIndex = remainder.indexOf("/");
4213
+ if (slashIndex !== -1) {
4214
+ const creator2 = remainder.substring(0, slashIndex);
4215
+ const model = remainder.substring(slashIndex + 1);
4216
+ return {
4217
+ routingProvider,
4218
+ creator: creator2,
4219
+ model,
4220
+ isRuntypeRouted: false,
4221
+ isDirectAccess: false,
4222
+ isGatewayAccess: true,
4223
+ originalId: modelId
4224
+ };
4225
+ } else {
4226
+ const creator2 = inferModelCreator2(remainder);
4227
+ return {
4228
+ routingProvider,
4229
+ creator: creator2 !== "unknown" ? creator2 : null,
4230
+ model: remainder,
4231
+ isRuntypeRouted: false,
4232
+ isDirectAccess: false,
4233
+ isGatewayAccess: true,
4234
+ originalId: modelId
4235
+ };
4236
+ }
89
4237
  }
90
- async getCredentials() {
91
- const stored = this.config.store;
92
- if (!stored.apiKey) return null;
4238
+ if (routingProvider === "modelsocket") {
4239
+ const slashIndex = remainder.indexOf("/");
4240
+ let creator2 = null;
4241
+ if (slashIndex !== -1) {
4242
+ creator2 = remainder.substring(0, slashIndex);
4243
+ }
93
4244
  return {
94
- ...stored,
95
- apiKey: this.decrypt(stored.apiKey)
4245
+ routingProvider: "mixlayer",
4246
+ creator: creator2,
4247
+ model: remainder,
4248
+ isRuntypeRouted: false,
4249
+ isDirectAccess: true,
4250
+ isGatewayAccess: false,
4251
+ originalId: modelId
96
4252
  };
97
4253
  }
98
- async clearCredentials() {
99
- this.config.clear();
4254
+ const creator = inferModelCreator2(modelId);
4255
+ return {
4256
+ routingProvider: null,
4257
+ creator: creator !== "unknown" ? creator : null,
4258
+ model: modelId,
4259
+ isRuntypeRouted: true,
4260
+ isDirectAccess: false,
4261
+ isGatewayAccess: false,
4262
+ originalId: modelId
4263
+ };
4264
+ }
4265
+ function parseModelIdLegacy(modelId) {
4266
+ const slashIndex = modelId.indexOf("/");
4267
+ if (slashIndex === -1) {
4268
+ return null;
100
4269
  }
101
- async hasCredentials() {
102
- return !!this.config.get("apiKey");
4270
+ return {
4271
+ provider: modelId.substring(0, slashIndex),
4272
+ model: modelId.substring(slashIndex + 1)
4273
+ };
4274
+ }
4275
+ function selectProviderByWeight(providers) {
4276
+ const totalWeight = providers.reduce((sum, p) => sum + p.weight, 0);
4277
+ let random = Math.random() * totalWeight;
4278
+ for (const provider of providers) {
4279
+ random -= provider.weight;
4280
+ if (random <= 0) {
4281
+ return provider.provider;
4282
+ }
103
4283
  }
104
- encrypt(text) {
105
- const algorithm = "aes-256-cbc";
106
- const key = Buffer.from(this.encryptionKey);
107
- const iv = crypto2.randomBytes(16);
108
- const cipher = crypto2.createCipheriv(algorithm, key, iv);
109
- let encrypted = cipher.update(text, "utf8", "hex");
110
- encrypted += cipher.final("hex");
111
- return iv.toString("hex") + ":" + encrypted;
4284
+ return providers[0].provider;
4285
+ }
4286
+ function getRoutingConfig(baseModel) {
4287
+ return exports.PROVIDER_ROUTING_CONFIG[baseModel];
4288
+ }
4289
+ function getProviderModelId(baseModel, provider) {
4290
+ const mapping = exports.BASE_MODEL_PROVIDER_MAP[baseModel];
4291
+ return mapping === null || mapping === void 0 ? void 0 : mapping[provider];
4292
+ }
4293
+ function getAvailableProviders(baseModel) {
4294
+ const mapping = exports.BASE_MODEL_PROVIDER_MAP[baseModel];
4295
+ if (!mapping) {
4296
+ return [];
112
4297
  }
113
- decrypt(text) {
114
- const algorithm = "aes-256-cbc";
115
- const key = Buffer.from(this.encryptionKey);
116
- const [ivHex, encrypted] = text.split(":");
117
- const iv = Buffer.from(ivHex, "hex");
118
- const decipher = crypto2.createDecipheriv(algorithm, key, iv);
119
- let decrypted = decipher.update(encrypted, "hex", "utf8");
120
- decrypted += decipher.final("utf8");
121
- return decrypted;
4298
+ return Object.keys(mapping);
4299
+ }
4300
+ function hasRoutingConfig(baseModel) {
4301
+ return baseModel in exports.PROVIDER_ROUTING_CONFIG && baseModel in exports.BASE_MODEL_PROVIDER_MAP;
4302
+ }
4303
+ function getConfiguredBaseModels() {
4304
+ return Object.keys(exports.PROVIDER_ROUTING_CONFIG);
4305
+ }
4306
+ var CREATOR_ALIASES = {
4307
+ "z-ai": "zhipu"
4308
+ };
4309
+ function inferModelCreator2(modelId) {
4310
+ let modelName = modelId;
4311
+ const colonIndex = modelName.indexOf(":");
4312
+ if (colonIndex !== -1) {
4313
+ const prefix = modelName.substring(0, colonIndex).toLowerCase();
4314
+ if (exports.DIRECT_PROVIDERS.has(prefix)) {
4315
+ return prefix;
4316
+ }
4317
+ modelName = modelName.substring(colonIndex + 1);
122
4318
  }
4319
+ const slashIndex = modelName.indexOf("/");
4320
+ if (slashIndex !== -1) {
4321
+ const prefix = modelName.substring(0, slashIndex).toLowerCase();
4322
+ if (prefix in CREATOR_TO_PROVIDER) {
4323
+ return prefix;
4324
+ }
4325
+ const aliased = CREATOR_ALIASES[prefix];
4326
+ if (aliased) {
4327
+ return aliased;
4328
+ }
4329
+ modelName = modelName.substring(slashIndex + 1);
4330
+ }
4331
+ const lowerModel = modelName.toLowerCase();
4332
+ if (lowerModel.startsWith("gpt-") || lowerModel.startsWith("o1") || lowerModel.startsWith("o3") || lowerModel.startsWith("o4")) {
4333
+ return "openai";
4334
+ }
4335
+ if (lowerModel.startsWith("claude-")) {
4336
+ return "anthropic";
4337
+ }
4338
+ if (lowerModel.startsWith("gemini-") || lowerModel.startsWith("gemma-")) {
4339
+ return "google";
4340
+ }
4341
+ if (lowerModel.startsWith("grok-")) {
4342
+ return "xai";
4343
+ }
4344
+ if (lowerModel.startsWith("llama-") || lowerModel.startsWith("llama3")) {
4345
+ return "meta";
4346
+ }
4347
+ if (lowerModel.startsWith("qwen")) {
4348
+ return "qwen";
4349
+ }
4350
+ if (lowerModel.startsWith("deepseek-") || lowerModel.startsWith("deepseek_")) {
4351
+ return "deepseek";
4352
+ }
4353
+ if (lowerModel.startsWith("mistral-") || lowerModel.startsWith("mixtral-") || lowerModel.startsWith("codestral-")) {
4354
+ return "mistral";
4355
+ }
4356
+ if (lowerModel.startsWith("command-")) {
4357
+ return "cohere";
4358
+ }
4359
+ if (lowerModel.startsWith("nemotron")) {
4360
+ return "nvidia";
4361
+ }
4362
+ if (lowerModel.startsWith("kimi-") || lowerModel.startsWith("kimi_")) {
4363
+ return "moonshotai";
4364
+ }
4365
+ if (lowerModel.startsWith("morph-")) {
4366
+ return "morph";
4367
+ }
4368
+ return "unknown";
4369
+ }
4370
+ var CREATOR_TO_PROVIDER = {
4371
+ // Creators with direct API support
4372
+ "openai": "openai",
4373
+ "anthropic": "anthropic",
4374
+ "google": "google",
4375
+ "xai": "xai",
4376
+ // Creators without direct API support - route through Vercel
4377
+ "deepseek": "vercel",
4378
+ "mistral": "vercel",
4379
+ "cohere": "vercel",
4380
+ "ai21": "vercel",
4381
+ // Open-source models - route to mixlayer (free inference)
4382
+ "meta": "mixlayer",
4383
+ "qwen": "mixlayer",
4384
+ // Other creators - route through Vercel
4385
+ "microsoft": "vercel",
4386
+ "nvidia": "vercel",
4387
+ "zhipu": "vercel",
4388
+ "amazon": "vercel",
4389
+ "vercel": "vercel",
4390
+ "morph": "vercel",
4391
+ "moonshotai": "vercel",
4392
+ "arcee-ai": "vercel",
4393
+ "baidu": "vercel",
4394
+ "bytedance": "vercel",
4395
+ "inception": "vercel",
4396
+ "kwaipilot": "vercel",
4397
+ "meituan": "vercel",
4398
+ "minimax": "vercel",
4399
+ "prime-intellect": "vercel",
4400
+ "voyage": "vercel",
4401
+ "xiaomi": "vercel",
4402
+ "unknown": "openai"
4403
+ // Default fallback
4404
+ };
4405
+ function getDefaultProvider(modelId) {
4406
+ const creator = inferModelCreator2(modelId);
4407
+ return CREATOR_TO_PROVIDER[creator];
4408
+ }
4409
+ var CREATORS_WITH_DIRECT_API = /* @__PURE__ */ new Set([
4410
+ "openai",
4411
+ "anthropic",
4412
+ "google",
4413
+ "xai"
4414
+ ]);
4415
+ var NON_VERCEL_CREATORS = /* @__PURE__ */ new Set([
4416
+ "meta",
4417
+ // Open-source, use mixlayer
4418
+ "qwen"
4419
+ // Open-source, use mixlayer
4420
+ ]);
4421
+ function isVercelSupported(modelId) {
4422
+ const creator = inferModelCreator2(modelId);
4423
+ return !NON_VERCEL_CREATORS.has(creator);
4424
+ }
4425
+ var CREATOR_TO_VERCEL_PROVIDER = {
4426
+ "openai": "openai",
4427
+ "anthropic": "anthropic",
4428
+ "google": "google",
4429
+ "xai": "xai",
4430
+ "deepseek": "deepseek",
4431
+ "mistral": "mistral",
4432
+ "cohere": "cohere",
4433
+ "ai21": "ai21"
123
4434
  };
4435
+ function generateVercelModelId(modelId) {
4436
+ const creator = inferModelCreator2(modelId);
4437
+ const vercelProvider = CREATOR_TO_VERCEL_PROVIDER[creator] || creator;
4438
+ return `${vercelProvider}/${modelId}`;
4439
+ }
4440
+ function getFallbackProvider(creator) {
4441
+ if (!CREATORS_WITH_DIRECT_API.has(creator)) {
4442
+ return null;
4443
+ }
4444
+ return CREATOR_TO_PROVIDER[creator];
4445
+ }
4446
+ function getDefaultRoutingConfig(baseModel) {
4447
+ const creator = inferModelCreator2(baseModel);
4448
+ const defaultProvider = getDefaultProvider(baseModel);
4449
+ if (!isVercelSupported(baseModel)) {
4450
+ return {
4451
+ providers: [{ provider: defaultProvider, weight: 100 }]
4452
+ };
4453
+ }
4454
+ const config2 = {
4455
+ providers: [{ provider: "vercel", weight: 100 }]
4456
+ };
4457
+ const fallbackProvider = getFallbackProvider(creator);
4458
+ if (fallbackProvider) {
4459
+ config2.fallback = [fallbackProvider];
4460
+ }
4461
+ return config2;
4462
+ }
4463
+ function getDefaultProviderMapping(baseModel) {
4464
+ const creator = inferModelCreator2(baseModel);
4465
+ const mapping = {};
4466
+ if (isVercelSupported(baseModel)) {
4467
+ mapping["vercel"] = generateVercelModelId(baseModel);
4468
+ }
4469
+ const fallbackProvider = getFallbackProvider(creator);
4470
+ if (fallbackProvider) {
4471
+ mapping[fallbackProvider] = baseModel;
4472
+ }
4473
+ if (!isVercelSupported(baseModel)) {
4474
+ const defaultProvider = getDefaultProvider(baseModel);
4475
+ mapping[defaultProvider] = baseModel;
4476
+ }
4477
+ return mapping;
4478
+ }
4479
+ function getRoutingConfigWithDefaults(baseModel) {
4480
+ if (exports.PROVIDER_ROUTING_CONFIG[baseModel]) {
4481
+ return exports.PROVIDER_ROUTING_CONFIG[baseModel];
4482
+ }
4483
+ const normalizedModel = normalizeToFamilyFormat(baseModel);
4484
+ if (generated_model_routing_1.GENERATED_ROUTING_OVERRIDES[normalizedModel]) {
4485
+ return generated_model_routing_1.GENERATED_ROUTING_OVERRIDES[normalizedModel];
4486
+ }
4487
+ return getDefaultRoutingConfig(baseModel);
4488
+ }
4489
+ function normalizeToFamilyFormat(modelId) {
4490
+ return modelId.replace(/(\d)\.(\d)/g, "$1-$2").toLowerCase();
4491
+ }
4492
+ function getProviderModelIdWithDefaults(baseModel, provider) {
4493
+ const explicitMapping = exports.BASE_MODEL_PROVIDER_MAP[baseModel];
4494
+ if (explicitMapping === null || explicitMapping === void 0 ? void 0 : explicitMapping[provider]) {
4495
+ return explicitMapping[provider];
4496
+ }
4497
+ const normalizedModel = normalizeToFamilyFormat(baseModel);
4498
+ if (normalizedModel !== baseModel) {
4499
+ const normalizedMapping = exports.BASE_MODEL_PROVIDER_MAP[normalizedModel];
4500
+ if (normalizedMapping === null || normalizedMapping === void 0 ? void 0 : normalizedMapping[provider]) {
4501
+ return normalizedMapping[provider];
4502
+ }
4503
+ }
4504
+ const defaultMapping = getDefaultProviderMapping(baseModel);
4505
+ return defaultMapping[provider] || baseModel;
4506
+ }
124
4507
  }
125
4508
  });
126
4509
 
@@ -8291,12 +12674,8 @@ function resolveModelForPhase(phase, recipe, cliOverrides) {
8291
12674
  }
8292
12675
 
8293
12676
  // src/commands/agents-task.ts
8294
- import {
8295
- getAllBuiltInTools,
8296
- getBuiltInToolById,
8297
- isToolCompatibleWithModel,
8298
- inferModelCreator
8299
- } from "@runtypelabs/shared";
12677
+ var import_builtin_tools_registry = __toESM(require_builtin_tools_registry(), 1);
12678
+ var import_provider_routing = __toESM(require_provider_routing(), 1);
8300
12679
  async function taskAction(agent, options) {
8301
12680
  if (!options.resume && !options.goal) {
8302
12681
  console.error(chalk15.red("Error: -g, --goal <text> is required for new tasks"));
@@ -8984,14 +13363,14 @@ var CLI_EXCLUDED_TOOL_IDS = /* @__PURE__ */ new Set(["vector-search"]);
8984
13363
  var isProviderNativeTool = (def) => def.executionHint === "provider";
8985
13364
  function resolveBuiltinToolIds(tools, models) {
8986
13365
  if (!tools || tools.length === 0) return [];
8987
- const available = getAllBuiltInTools().filter((t) => !CLI_EXCLUDED_TOOL_IDS.has(t.id) && !isProviderNativeTool(t)).map((t) => t.id);
13366
+ const available = (0, import_builtin_tools_registry.getAllBuiltInTools)().filter((t) => !CLI_EXCLUDED_TOOL_IDS.has(t.id) && !isProviderNativeTool(t)).map((t) => t.id);
8988
13367
  const resolved = [];
8989
13368
  const invalid = [];
8990
13369
  const excluded = [];
8991
13370
  const providerNative = [];
8992
13371
  const incompatible = [];
8993
13372
  for (const tool of tools) {
8994
- const definition = getBuiltInToolById(tool);
13373
+ const definition = (0, import_builtin_tools_registry.getBuiltInToolById)(tool);
8995
13374
  if (!definition) {
8996
13375
  invalid.push(tool);
8997
13376
  continue;
@@ -9006,8 +13385,8 @@ function resolveBuiltinToolIds(tools, models) {
9006
13385
  }
9007
13386
  let isCompatible = true;
9008
13387
  for (const model of models) {
9009
- const provider = inferModelCreator(model);
9010
- if (!isToolCompatibleWithModel(definition.id, model, provider)) {
13388
+ const provider = (0, import_provider_routing.inferModelCreator)(model);
13389
+ if (!(0, import_builtin_tools_registry.isToolCompatibleWithModel)(definition.id, model, provider)) {
9011
13390
  incompatible.push(`${definition.id} incompatible with ${model} (provider: ${provider})`);
9012
13391
  isCompatible = false;
9013
13392
  }