@roo-code/types 1.85.0 → 1.87.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -51,7 +51,6 @@ __export(index_exports, {
51
51
  GLOBAL_SECRET_KEYS: () => GLOBAL_SECRET_KEYS,
52
52
  GLOBAL_SETTINGS_KEYS: () => GLOBAL_SETTINGS_KEYS,
53
53
  GLOBAL_STATE_KEYS: () => GLOBAL_STATE_KEYS,
54
- GPT5_DEFAULT_TEMPERATURE: () => GPT5_DEFAULT_TEMPERATURE,
55
54
  HEARTBEAT_INTERVAL_MS: () => HEARTBEAT_INTERVAL_MS,
56
55
  HUGGINGFACE_API_URL: () => HUGGINGFACE_API_URL,
57
56
  HUGGINGFACE_CACHE_DURATION: () => HUGGINGFACE_CACHE_DURATION,
@@ -61,12 +60,15 @@ __export(index_exports, {
61
60
  HUGGINGFACE_SLIDER_MIN: () => HUGGINGFACE_SLIDER_MIN,
62
61
  HUGGINGFACE_SLIDER_STEP: () => HUGGINGFACE_SLIDER_STEP,
63
62
  HUGGINGFACE_TEMPERATURE_MAX_VALUE: () => HUGGINGFACE_TEMPERATURE_MAX_VALUE,
63
+ IMAGE_GENERATION_MODELS: () => IMAGE_GENERATION_MODELS,
64
+ IMAGE_GENERATION_MODEL_IDS: () => IMAGE_GENERATION_MODEL_IDS,
64
65
  INSTANCE_TTL_SECONDS: () => INSTANCE_TTL_SECONDS,
65
66
  IO_INTELLIGENCE_CACHE_DURATION: () => IO_INTELLIGENCE_CACHE_DURATION,
66
67
  IpcMessageType: () => IpcMessageType,
67
68
  IpcOrigin: () => IpcOrigin,
68
69
  LMSTUDIO_DEFAULT_TEMPERATURE: () => LMSTUDIO_DEFAULT_TEMPERATURE,
69
70
  MAX_CHECKPOINT_TIMEOUT_SECONDS: () => MAX_CHECKPOINT_TIMEOUT_SECONDS,
71
+ MINIMAX_DEFAULT_MAX_TOKENS: () => MINIMAX_DEFAULT_MAX_TOKENS,
70
72
  MINIMAX_DEFAULT_TEMPERATURE: () => MINIMAX_DEFAULT_TEMPERATURE,
71
73
  MIN_CHECKPOINT_TIMEOUT_SECONDS: () => MIN_CHECKPOINT_TIMEOUT_SECONDS,
72
74
  MISTRAL_DEFAULT_TEMPERATURE: () => MISTRAL_DEFAULT_TEMPERATURE,
@@ -86,6 +88,7 @@ __export(index_exports, {
86
88
  RooModelsResponseSchema: () => RooModelsResponseSchema,
87
89
  RooPricingSchema: () => RooPricingSchema,
88
90
  SECRET_STATE_KEYS: () => SECRET_STATE_KEYS,
91
+ TOOL_PROTOCOL: () => TOOL_PROTOCOL,
89
92
  TaskBridgeCommandName: () => TaskBridgeCommandName,
90
93
  TaskBridgeEventName: () => TaskBridgeEventName,
91
94
  TaskCommandName: () => TaskCommandName,
@@ -157,6 +160,7 @@ __export(index_exports, {
157
160
  geminiModels: () => geminiModels,
158
161
  getApiProtocol: () => getApiProtocol,
159
162
  getClaudeCodeModelId: () => getClaudeCodeModelId,
163
+ getEffectiveProtocol: () => getEffectiveProtocol,
160
164
  getModelId: () => getModelId,
161
165
  getProviderDefaultModelId: () => getProviderDefaultModelId,
162
166
  gitPropertiesSchema: () => gitPropertiesSchema,
@@ -188,6 +192,7 @@ __export(index_exports, {
188
192
  isLanguage: () => isLanguage,
189
193
  isLocalProvider: () => isLocalProvider,
190
194
  isModelParameter: () => isModelParameter,
195
+ isNativeProtocol: () => isNativeProtocol,
191
196
  isNonBlockingAsk: () => isNonBlockingAsk,
192
197
  isProviderName: () => isProviderName,
193
198
  isResumableAsk: () => isResumableAsk,
@@ -209,6 +214,7 @@ __export(index_exports, {
209
214
  mcpMarketplaceItemSchema: () => mcpMarketplaceItemSchema,
210
215
  mcpParameterSchema: () => mcpParameterSchema,
211
216
  minimaxDefaultModelId: () => minimaxDefaultModelId,
217
+ minimaxDefaultModelInfo: () => minimaxDefaultModelInfo,
212
218
  minimaxModels: () => minimaxModels,
213
219
  mistralDefaultModelId: () => mistralDefaultModelId,
214
220
  mistralModels: () => mistralModels,
@@ -244,8 +250,12 @@ __export(index_exports, {
244
250
  queuedMessageSchema: () => queuedMessageSchema,
245
251
  qwenCodeDefaultModelId: () => qwenCodeDefaultModelId,
246
252
  qwenCodeModels: () => qwenCodeModels,
253
+ reasoningEffortExtendedSchema: () => reasoningEffortExtendedSchema,
254
+ reasoningEffortSettingSchema: () => reasoningEffortSettingSchema,
255
+ reasoningEffortSettingValues: () => reasoningEffortSettingValues,
247
256
  reasoningEffortWithMinimalSchema: () => reasoningEffortWithMinimalSchema,
248
257
  reasoningEfforts: () => reasoningEfforts,
258
+ reasoningEffortsExtended: () => reasoningEffortsExtended,
249
259
  reasoningEffortsSchema: () => reasoningEffortsSchema,
250
260
  requestyDefaultModelId: () => requestyDefaultModelId,
251
261
  requestyDefaultModelInfo: () => requestyDefaultModelInfo,
@@ -326,10 +336,6 @@ var clineAsks = [
326
336
  "auto_approval_max_req_reached"
327
337
  ];
328
338
  var clineAskSchema = import_zod.z.enum(clineAsks);
329
- var nonBlockingAsks = ["command_output"];
330
- function isNonBlockingAsk(ask) {
331
- return nonBlockingAsks.includes(ask);
332
- }
333
339
  var idleAsks = [
334
340
  "completion_result",
335
341
  "api_req_failed",
@@ -354,6 +360,10 @@ var interactiveAsks = [
354
360
  function isInteractiveAsk(ask) {
355
361
  return interactiveAsks.includes(ask);
356
362
  }
363
+ var nonBlockingAsks = ["command_output"];
364
+ function isNonBlockingAsk(ask) {
365
+ return nonBlockingAsks.includes(ask);
366
+ }
357
367
  var clineSays = [
358
368
  "error",
359
369
  "api_req_started",
@@ -408,12 +418,7 @@ var clineMessageSchema = import_zod.z.object({
408
418
  contextCondense: contextCondenseSchema.optional(),
409
419
  isProtected: import_zod.z.boolean().optional(),
410
420
  apiProtocol: import_zod.z.union([import_zod.z.literal("openai"), import_zod.z.literal("anthropic")]).optional(),
411
- isAnswered: import_zod.z.boolean().optional(),
412
- metadata: import_zod.z.object({
413
- gpt5: import_zod.z.object({
414
- previous_response_id: import_zod.z.string().optional()
415
- }).optional()
416
- }).optional()
421
+ isAnswered: import_zod.z.boolean().optional()
417
422
  });
418
423
  var tokenUsageSchema = import_zod.z.object({
419
424
  totalTokensIn: import_zod.z.number(),
@@ -464,6 +469,16 @@ var toolUsageSchema = import_zod2.z.record(
464
469
  failures: import_zod2.z.number()
465
470
  })
466
471
  );
472
+ var TOOL_PROTOCOL = {
473
+ XML: "xml",
474
+ NATIVE: "native"
475
+ };
476
+ function isNativeProtocol(protocol) {
477
+ return protocol === TOOL_PROTOCOL.NATIVE;
478
+ }
479
+ function getEffectiveProtocol(toolProtocol) {
480
+ return toolProtocol || TOOL_PROTOCOL.XML;
481
+ }
467
482
 
468
483
  // src/events.ts
469
484
  var RooCodeEventName = /* @__PURE__ */ ((RooCodeEventName2) => {
@@ -663,6 +678,10 @@ var import_zod5 = require("zod");
663
678
  var reasoningEfforts = ["low", "medium", "high"];
664
679
  var reasoningEffortsSchema = import_zod5.z.enum(reasoningEfforts);
665
680
  var reasoningEffortWithMinimalSchema = import_zod5.z.union([reasoningEffortsSchema, import_zod5.z.literal("minimal")]);
681
+ var reasoningEffortsExtended = ["none", "minimal", "low", "medium", "high"];
682
+ var reasoningEffortExtendedSchema = import_zod5.z.enum(reasoningEffortsExtended);
683
+ var reasoningEffortSettingValues = ["disable", "none", "minimal", "low", "medium", "high"];
684
+ var reasoningEffortSettingSchema = import_zod5.z.enum(reasoningEffortSettingValues);
666
685
  var verbosityLevels = ["low", "medium", "high"];
667
686
  var verbosityLevelsSchema = import_zod5.z.enum(verbosityLevels);
668
687
  var serviceTiers = ["default", "flex", "priority"];
@@ -676,6 +695,10 @@ var modelInfoSchema = import_zod5.z.object({
676
695
  contextWindow: import_zod5.z.number(),
677
696
  supportsImages: import_zod5.z.boolean().optional(),
678
697
  supportsPromptCache: import_zod5.z.boolean(),
698
+ // Optional default prompt cache retention policy for providers that support it.
699
+ // When set to "24h", extended prompt caching will be requested; when omitted
700
+ // or set to "in_memory", the default in‑memory cache is used.
701
+ promptCacheRetention: import_zod5.z.enum(["in_memory", "24h"]).optional(),
679
702
  // Capability flag to indicate whether the model supports an output verbosity parameter
680
703
  supportsVerbosity: import_zod5.z.boolean().optional(),
681
704
  supportsReasoningBudget: import_zod5.z.boolean().optional(),
@@ -685,7 +708,7 @@ var modelInfoSchema = import_zod5.z.object({
685
708
  supportsTemperature: import_zod5.z.boolean().optional(),
686
709
  defaultTemperature: import_zod5.z.number().optional(),
687
710
  requiredReasoningBudget: import_zod5.z.boolean().optional(),
688
- supportsReasoningEffort: import_zod5.z.boolean().optional(),
711
+ supportsReasoningEffort: import_zod5.z.union([import_zod5.z.boolean(), import_zod5.z.array(import_zod5.z.enum(["disable", "none", "minimal", "low", "medium", "high"]))]).optional(),
689
712
  requiredReasoningEffort: import_zod5.z.boolean().optional(),
690
713
  preserveReasoning: import_zod5.z.boolean().optional(),
691
714
  supportedParameters: import_zod5.z.array(modelParametersSchema).optional(),
@@ -694,7 +717,8 @@ var modelInfoSchema = import_zod5.z.object({
694
717
  cacheWritesPrice: import_zod5.z.number().optional(),
695
718
  cacheReadsPrice: import_zod5.z.number().optional(),
696
719
  description: import_zod5.z.string().optional(),
697
- reasoningEffort: reasoningEffortsSchema.optional(),
720
+ // Default effort value for models that support reasoning effort
721
+ reasoningEffort: reasoningEffortExtendedSchema.optional(),
698
722
  minTokensPerCachePoint: import_zod5.z.number().optional(),
699
723
  maxCachePoints: import_zod5.z.number().optional(),
700
724
  cachableFields: import_zod5.z.array(import_zod5.z.string()).optional(),
@@ -702,6 +726,10 @@ var modelInfoSchema = import_zod5.z.object({
702
726
  deprecated: import_zod5.z.boolean().optional(),
703
727
  // Flag to indicate if the model is free (no cost)
704
728
  isFree: import_zod5.z.boolean().optional(),
729
+ // Flag to indicate if the model supports native tool calling (OpenAI-style function calling)
730
+ supportsNativeTools: import_zod5.z.boolean().optional(),
731
+ // Default tool protocol preferred by this model (if not specified, falls back to capability/provider defaults)
732
+ defaultToolProtocol: import_zod5.z.enum(["xml", "native"]).optional(),
705
733
  /**
706
734
  * Service tiers with pricing information.
707
735
  * Each tier can have a name (for OpenAI service tiers) and pricing overrides.
@@ -2214,133 +2242,39 @@ var fireworksModels = {
2214
2242
  };
2215
2243
 
2216
2244
  // src/providers/gemini.ts
2217
- var geminiDefaultModelId = "gemini-2.0-flash-001";
2245
+ var geminiDefaultModelId = "gemini-2.5-pro";
2218
2246
  var geminiModels = {
2219
- // Latest models (pointing to the most recent stable versions)
2220
- "gemini-flash-latest": {
2221
- maxTokens: 65536,
2222
- contextWindow: 1048576,
2223
- supportsImages: true,
2224
- supportsPromptCache: true,
2225
- inputPrice: 0.3,
2226
- outputPrice: 2.5,
2227
- cacheReadsPrice: 0.075,
2228
- cacheWritesPrice: 1,
2229
- maxThinkingTokens: 24576,
2230
- supportsReasoningBudget: true
2231
- },
2232
- "gemini-flash-lite-latest": {
2233
- maxTokens: 65536,
2234
- contextWindow: 1048576,
2235
- supportsImages: true,
2236
- supportsPromptCache: true,
2237
- inputPrice: 0.1,
2238
- outputPrice: 0.4,
2239
- cacheReadsPrice: 0.025,
2240
- cacheWritesPrice: 1,
2241
- supportsReasoningBudget: true,
2242
- maxThinkingTokens: 24576
2243
- },
2244
- // 2.5 Flash models (09-2025 versions - most recent)
2245
- "gemini-2.5-flash-preview-09-2025": {
2246
- maxTokens: 65536,
2247
- contextWindow: 1048576,
2248
- supportsImages: true,
2249
- supportsPromptCache: true,
2250
- inputPrice: 0.3,
2251
- outputPrice: 2.5,
2252
- cacheReadsPrice: 0.075,
2253
- cacheWritesPrice: 1,
2254
- maxThinkingTokens: 24576,
2255
- supportsReasoningBudget: true
2256
- },
2257
- "gemini-2.5-flash-lite-preview-09-2025": {
2247
+ "gemini-3-pro-preview": {
2258
2248
  maxTokens: 65536,
2259
2249
  contextWindow: 1048576,
2260
2250
  supportsImages: true,
2251
+ supportsNativeTools: true,
2261
2252
  supportsPromptCache: true,
2262
- inputPrice: 0.1,
2263
- outputPrice: 0.4,
2264
- cacheReadsPrice: 0.025,
2265
- cacheWritesPrice: 1,
2266
- supportsReasoningBudget: true,
2267
- maxThinkingTokens: 24576
2268
- },
2269
- // 2.5 Flash models (06-17 version)
2270
- "gemini-2.5-flash-lite-preview-06-17": {
2271
- maxTokens: 64e3,
2272
- contextWindow: 1048576,
2273
- supportsImages: true,
2274
- supportsPromptCache: true,
2275
- inputPrice: 0.1,
2276
- outputPrice: 0.4,
2277
- cacheReadsPrice: 0.025,
2278
- cacheWritesPrice: 1,
2279
- supportsReasoningBudget: true,
2280
- maxThinkingTokens: 24576
2281
- },
2282
- // 2.5 Flash models (05-20 versions)
2283
- "gemini-2.5-flash-preview-05-20:thinking": {
2284
- maxTokens: 65535,
2285
- contextWindow: 1048576,
2286
- supportsImages: true,
2287
- supportsPromptCache: true,
2288
- inputPrice: 0.15,
2289
- outputPrice: 3.5,
2290
- cacheReadsPrice: 0.0375,
2291
- cacheWritesPrice: 1,
2292
- maxThinkingTokens: 24576,
2293
- supportsReasoningBudget: true,
2294
- requiredReasoningBudget: true
2295
- },
2296
- "gemini-2.5-flash-preview-05-20": {
2297
- maxTokens: 65535,
2298
- contextWindow: 1048576,
2299
- supportsImages: true,
2300
- supportsPromptCache: true,
2301
- inputPrice: 0.15,
2302
- outputPrice: 0.6,
2303
- cacheReadsPrice: 0.0375,
2304
- cacheWritesPrice: 1
2305
- },
2306
- // 2.5 Flash models (04-17 versions)
2307
- "gemini-2.5-flash-preview-04-17:thinking": {
2308
- maxTokens: 65535,
2309
- contextWindow: 1048576,
2310
- supportsImages: true,
2311
- supportsPromptCache: false,
2312
- inputPrice: 0.15,
2313
- outputPrice: 3.5,
2314
- maxThinkingTokens: 24576,
2315
- supportsReasoningBudget: true,
2316
- requiredReasoningBudget: true
2317
- },
2318
- "gemini-2.5-flash-preview-04-17": {
2319
- maxTokens: 65535,
2320
- contextWindow: 1048576,
2321
- supportsImages: true,
2322
- supportsPromptCache: false,
2323
- inputPrice: 0.15,
2324
- outputPrice: 0.6
2325
- },
2326
- // 2.5 Flash stable
2327
- "gemini-2.5-flash": {
2328
- maxTokens: 64e3,
2329
- contextWindow: 1048576,
2330
- supportsImages: true,
2331
- supportsPromptCache: true,
2332
- inputPrice: 0.3,
2333
- outputPrice: 2.5,
2334
- cacheReadsPrice: 0.075,
2335
- cacheWritesPrice: 1,
2336
- maxThinkingTokens: 24576,
2337
- supportsReasoningBudget: true
2253
+ supportsReasoningEffort: ["low", "high"],
2254
+ reasoningEffort: "low",
2255
+ supportsTemperature: true,
2256
+ defaultTemperature: 1,
2257
+ inputPrice: 4,
2258
+ outputPrice: 18,
2259
+ tiers: [
2260
+ {
2261
+ contextWindow: 2e5,
2262
+ inputPrice: 2,
2263
+ outputPrice: 12
2264
+ },
2265
+ {
2266
+ contextWindow: Infinity,
2267
+ inputPrice: 4,
2268
+ outputPrice: 18
2269
+ }
2270
+ ]
2338
2271
  },
2339
2272
  // 2.5 Pro models
2340
- "gemini-2.5-pro-preview-06-05": {
2341
- maxTokens: 65535,
2273
+ "gemini-2.5-pro": {
2274
+ maxTokens: 64e3,
2342
2275
  contextWindow: 1048576,
2343
2276
  supportsImages: true,
2277
+ supportsNativeTools: true,
2344
2278
  supportsPromptCache: true,
2345
2279
  inputPrice: 2.5,
2346
2280
  // This is the pricing for prompts above 200k tokens.
@@ -2349,6 +2283,7 @@ var geminiModels = {
2349
2283
  cacheWritesPrice: 4.5,
2350
2284
  maxThinkingTokens: 32768,
2351
2285
  supportsReasoningBudget: true,
2286
+ requiredReasoningBudget: true,
2352
2287
  tiers: [
2353
2288
  {
2354
2289
  contextWindow: 2e5,
@@ -2364,16 +2299,19 @@ var geminiModels = {
2364
2299
  }
2365
2300
  ]
2366
2301
  },
2367
- "gemini-2.5-pro-preview-05-06": {
2302
+ "gemini-2.5-pro-preview-06-05": {
2368
2303
  maxTokens: 65535,
2369
2304
  contextWindow: 1048576,
2370
2305
  supportsImages: true,
2306
+ supportsNativeTools: true,
2371
2307
  supportsPromptCache: true,
2372
2308
  inputPrice: 2.5,
2373
2309
  // This is the pricing for prompts above 200k tokens.
2374
2310
  outputPrice: 15,
2375
2311
  cacheReadsPrice: 0.625,
2376
2312
  cacheWritesPrice: 4.5,
2313
+ maxThinkingTokens: 32768,
2314
+ supportsReasoningBudget: true,
2377
2315
  tiers: [
2378
2316
  {
2379
2317
  contextWindow: 2e5,
@@ -2389,18 +2327,17 @@ var geminiModels = {
2389
2327
  }
2390
2328
  ]
2391
2329
  },
2392
- "gemini-2.5-pro-preview-03-25": {
2330
+ "gemini-2.5-pro-preview-05-06": {
2393
2331
  maxTokens: 65535,
2394
2332
  contextWindow: 1048576,
2395
2333
  supportsImages: true,
2334
+ supportsNativeTools: true,
2396
2335
  supportsPromptCache: true,
2397
2336
  inputPrice: 2.5,
2398
2337
  // This is the pricing for prompts above 200k tokens.
2399
2338
  outputPrice: 15,
2400
2339
  cacheReadsPrice: 0.625,
2401
2340
  cacheWritesPrice: 4.5,
2402
- maxThinkingTokens: 32768,
2403
- supportsReasoningBudget: true,
2404
2341
  tiers: [
2405
2342
  {
2406
2343
  contextWindow: 2e5,
@@ -2416,18 +2353,11 @@ var geminiModels = {
2416
2353
  }
2417
2354
  ]
2418
2355
  },
2419
- "gemini-2.5-pro-exp-03-25": {
2356
+ "gemini-2.5-pro-preview-03-25": {
2420
2357
  maxTokens: 65535,
2421
2358
  contextWindow: 1048576,
2422
2359
  supportsImages: true,
2423
- supportsPromptCache: false,
2424
- inputPrice: 0,
2425
- outputPrice: 0
2426
- },
2427
- "gemini-2.5-pro": {
2428
- maxTokens: 64e3,
2429
- contextWindow: 1048576,
2430
- supportsImages: true,
2360
+ supportsNativeTools: true,
2431
2361
  supportsPromptCache: true,
2432
2362
  inputPrice: 2.5,
2433
2363
  // This is the pricing for prompts above 200k tokens.
@@ -2436,7 +2366,6 @@ var geminiModels = {
2436
2366
  cacheWritesPrice: 4.5,
2437
2367
  maxThinkingTokens: 32768,
2438
2368
  supportsReasoningBudget: true,
2439
- requiredReasoningBudget: true,
2440
2369
  tiers: [
2441
2370
  {
2442
2371
  contextWindow: 2e5,
@@ -2452,125 +2381,72 @@ var geminiModels = {
2452
2381
  }
2453
2382
  ]
2454
2383
  },
2455
- // 2.0 Flash models
2456
- "gemini-2.0-flash-lite-preview-02-05": {
2457
- maxTokens: 8192,
2384
+ // 2.5 Flash models
2385
+ "gemini-flash-latest": {
2386
+ maxTokens: 65536,
2458
2387
  contextWindow: 1048576,
2459
2388
  supportsImages: true,
2460
- supportsPromptCache: false,
2461
- inputPrice: 0,
2462
- outputPrice: 0
2389
+ supportsNativeTools: true,
2390
+ supportsPromptCache: true,
2391
+ inputPrice: 0.3,
2392
+ outputPrice: 2.5,
2393
+ cacheReadsPrice: 0.075,
2394
+ cacheWritesPrice: 1,
2395
+ maxThinkingTokens: 24576,
2396
+ supportsReasoningBudget: true
2463
2397
  },
2464
- "gemini-2.0-flash-thinking-exp-01-21": {
2398
+ "gemini-2.5-flash-preview-09-2025": {
2465
2399
  maxTokens: 65536,
2466
2400
  contextWindow: 1048576,
2467
2401
  supportsImages: true,
2468
- supportsPromptCache: false,
2469
- inputPrice: 0,
2470
- outputPrice: 0
2471
- },
2472
- "gemini-2.0-flash-thinking-exp-1219": {
2473
- maxTokens: 8192,
2474
- contextWindow: 32767,
2475
- supportsImages: true,
2476
- supportsPromptCache: false,
2477
- inputPrice: 0,
2478
- outputPrice: 0
2402
+ supportsNativeTools: true,
2403
+ supportsPromptCache: true,
2404
+ inputPrice: 0.3,
2405
+ outputPrice: 2.5,
2406
+ cacheReadsPrice: 0.075,
2407
+ cacheWritesPrice: 1,
2408
+ maxThinkingTokens: 24576,
2409
+ supportsReasoningBudget: true
2479
2410
  },
2480
- "gemini-2.0-flash-exp": {
2481
- maxTokens: 8192,
2411
+ "gemini-2.5-flash": {
2412
+ maxTokens: 64e3,
2482
2413
  contextWindow: 1048576,
2483
2414
  supportsImages: true,
2484
- supportsPromptCache: false,
2485
- inputPrice: 0,
2486
- outputPrice: 0
2415
+ supportsNativeTools: true,
2416
+ supportsPromptCache: true,
2417
+ inputPrice: 0.3,
2418
+ outputPrice: 2.5,
2419
+ cacheReadsPrice: 0.075,
2420
+ cacheWritesPrice: 1,
2421
+ maxThinkingTokens: 24576,
2422
+ supportsReasoningBudget: true
2487
2423
  },
2488
- "gemini-2.0-flash-001": {
2489
- maxTokens: 8192,
2424
+ // 2.5 Flash Lite models
2425
+ "gemini-flash-lite-latest": {
2426
+ maxTokens: 65536,
2490
2427
  contextWindow: 1048576,
2491
2428
  supportsImages: true,
2429
+ supportsNativeTools: true,
2492
2430
  supportsPromptCache: true,
2493
2431
  inputPrice: 0.1,
2494
2432
  outputPrice: 0.4,
2495
2433
  cacheReadsPrice: 0.025,
2496
- cacheWritesPrice: 1
2497
- },
2498
- // 2.0 Pro models
2499
- "gemini-2.0-pro-exp-02-05": {
2500
- maxTokens: 8192,
2501
- contextWindow: 2097152,
2502
- supportsImages: true,
2503
- supportsPromptCache: false,
2504
- inputPrice: 0,
2505
- outputPrice: 0
2434
+ cacheWritesPrice: 1,
2435
+ supportsReasoningBudget: true,
2436
+ maxThinkingTokens: 24576
2506
2437
  },
2507
- // 1.5 Flash models
2508
- "gemini-1.5-flash-002": {
2509
- maxTokens: 8192,
2438
+ "gemini-2.5-flash-lite-preview-09-2025": {
2439
+ maxTokens: 65536,
2510
2440
  contextWindow: 1048576,
2511
2441
  supportsImages: true,
2442
+ supportsNativeTools: true,
2512
2443
  supportsPromptCache: true,
2513
- inputPrice: 0.15,
2514
- // This is the pricing for prompts above 128k tokens.
2515
- outputPrice: 0.6,
2516
- cacheReadsPrice: 0.0375,
2444
+ inputPrice: 0.1,
2445
+ outputPrice: 0.4,
2446
+ cacheReadsPrice: 0.025,
2517
2447
  cacheWritesPrice: 1,
2518
- tiers: [
2519
- {
2520
- contextWindow: 128e3,
2521
- inputPrice: 0.075,
2522
- outputPrice: 0.3,
2523
- cacheReadsPrice: 0.01875
2524
- },
2525
- {
2526
- contextWindow: Infinity,
2527
- inputPrice: 0.15,
2528
- outputPrice: 0.6,
2529
- cacheReadsPrice: 0.0375
2530
- }
2531
- ]
2532
- },
2533
- "gemini-1.5-flash-exp-0827": {
2534
- maxTokens: 8192,
2535
- contextWindow: 1048576,
2536
- supportsImages: true,
2537
- supportsPromptCache: false,
2538
- inputPrice: 0,
2539
- outputPrice: 0
2540
- },
2541
- "gemini-1.5-flash-8b-exp-0827": {
2542
- maxTokens: 8192,
2543
- contextWindow: 1048576,
2544
- supportsImages: true,
2545
- supportsPromptCache: false,
2546
- inputPrice: 0,
2547
- outputPrice: 0
2548
- },
2549
- // 1.5 Pro models
2550
- "gemini-1.5-pro-002": {
2551
- maxTokens: 8192,
2552
- contextWindow: 2097152,
2553
- supportsImages: true,
2554
- supportsPromptCache: false,
2555
- inputPrice: 0,
2556
- outputPrice: 0
2557
- },
2558
- "gemini-1.5-pro-exp-0827": {
2559
- maxTokens: 8192,
2560
- contextWindow: 2097152,
2561
- supportsImages: true,
2562
- supportsPromptCache: false,
2563
- inputPrice: 0,
2564
- outputPrice: 0
2565
- },
2566
- // Experimental models
2567
- "gemini-exp-1206": {
2568
- maxTokens: 8192,
2569
- contextWindow: 2097152,
2570
- supportsImages: true,
2571
- supportsPromptCache: false,
2572
- inputPrice: 0,
2573
- outputPrice: 0
2448
+ supportsReasoningBudget: true,
2449
+ maxThinkingTokens: 24576
2574
2450
  }
2575
2451
  };
2576
2452
 
@@ -2940,89 +2816,143 @@ var ollamaDefaultModelInfo = {
2940
2816
  };
2941
2817
 
2942
2818
  // src/providers/openai.ts
2943
- var openAiNativeDefaultModelId = "gpt-5-2025-08-07";
2819
+ var openAiNativeDefaultModelId = "gpt-5.1";
2944
2820
  var openAiNativeModels = {
2945
- "gpt-5-chat-latest": {
2821
+ "gpt-5.1": {
2946
2822
  maxTokens: 128e3,
2947
2823
  contextWindow: 4e5,
2824
+ supportsNativeTools: true,
2948
2825
  supportsImages: true,
2949
2826
  supportsPromptCache: true,
2950
- supportsReasoningEffort: false,
2827
+ promptCacheRetention: "24h",
2828
+ supportsReasoningEffort: ["none", "low", "medium", "high"],
2829
+ reasoningEffort: "medium",
2951
2830
  inputPrice: 1.25,
2952
2831
  outputPrice: 10,
2953
- cacheReadsPrice: 0.13,
2954
- description: "GPT-5 Chat Latest: Optimized for conversational AI and non-reasoning tasks",
2955
- supportsVerbosity: true
2832
+ cacheReadsPrice: 0.125,
2833
+ supportsVerbosity: true,
2834
+ supportsTemperature: false,
2835
+ tiers: [
2836
+ { name: "flex", contextWindow: 4e5, inputPrice: 0.625, outputPrice: 5, cacheReadsPrice: 0.0625 },
2837
+ { name: "priority", contextWindow: 4e5, inputPrice: 2.5, outputPrice: 20, cacheReadsPrice: 0.25 }
2838
+ ],
2839
+ description: "GPT-5.1: The best model for coding and agentic tasks across domains"
2956
2840
  },
2957
- "gpt-5-2025-08-07": {
2841
+ "gpt-5.1-codex": {
2958
2842
  maxTokens: 128e3,
2959
2843
  contextWindow: 4e5,
2844
+ supportsNativeTools: true,
2960
2845
  supportsImages: true,
2961
2846
  supportsPromptCache: true,
2962
- supportsReasoningEffort: true,
2847
+ promptCacheRetention: "24h",
2848
+ supportsReasoningEffort: ["low", "medium", "high"],
2963
2849
  reasoningEffort: "medium",
2964
2850
  inputPrice: 1.25,
2965
2851
  outputPrice: 10,
2966
- cacheReadsPrice: 0.13,
2967
- description: "GPT-5: The best model for coding and agentic tasks across domains",
2968
- // supportsVerbosity is a new capability; ensure ModelInfo includes it
2852
+ cacheReadsPrice: 0.125,
2853
+ supportsTemperature: false,
2854
+ tiers: [{ name: "priority", contextWindow: 4e5, inputPrice: 2.5, outputPrice: 20, cacheReadsPrice: 0.25 }],
2855
+ description: "GPT-5.1 Codex: A version of GPT-5.1 optimized for agentic coding in Codex"
2856
+ },
2857
+ "gpt-5.1-codex-mini": {
2858
+ maxTokens: 128e3,
2859
+ contextWindow: 4e5,
2860
+ supportsNativeTools: true,
2861
+ supportsImages: true,
2862
+ supportsPromptCache: true,
2863
+ promptCacheRetention: "24h",
2864
+ supportsReasoningEffort: ["low", "medium", "high"],
2865
+ reasoningEffort: "medium",
2866
+ inputPrice: 0.25,
2867
+ outputPrice: 2,
2868
+ cacheReadsPrice: 0.025,
2869
+ supportsTemperature: false,
2870
+ description: "GPT-5.1 Codex mini: A version of GPT-5.1 optimized for agentic coding in Codex"
2871
+ },
2872
+ "gpt-5": {
2873
+ maxTokens: 128e3,
2874
+ contextWindow: 4e5,
2875
+ supportsNativeTools: true,
2876
+ supportsImages: true,
2877
+ supportsPromptCache: true,
2878
+ supportsReasoningEffort: ["minimal", "low", "medium", "high"],
2879
+ reasoningEffort: "medium",
2880
+ inputPrice: 1.25,
2881
+ outputPrice: 10,
2882
+ cacheReadsPrice: 0.125,
2969
2883
  supportsVerbosity: true,
2970
2884
  supportsTemperature: false,
2971
2885
  tiers: [
2972
2886
  { name: "flex", contextWindow: 4e5, inputPrice: 0.625, outputPrice: 5, cacheReadsPrice: 0.0625 },
2973
2887
  { name: "priority", contextWindow: 4e5, inputPrice: 2.5, outputPrice: 20, cacheReadsPrice: 0.25 }
2974
- ]
2888
+ ],
2889
+ description: "GPT-5: The best model for coding and agentic tasks across domains"
2975
2890
  },
2976
- "gpt-5-mini-2025-08-07": {
2891
+ "gpt-5-mini": {
2977
2892
  maxTokens: 128e3,
2978
2893
  contextWindow: 4e5,
2894
+ supportsNativeTools: true,
2979
2895
  supportsImages: true,
2980
2896
  supportsPromptCache: true,
2981
- supportsReasoningEffort: true,
2897
+ supportsReasoningEffort: ["minimal", "low", "medium", "high"],
2982
2898
  reasoningEffort: "medium",
2983
2899
  inputPrice: 0.25,
2984
2900
  outputPrice: 2,
2985
- cacheReadsPrice: 0.03,
2986
- description: "GPT-5 Mini: A faster, more cost-efficient version of GPT-5 for well-defined tasks",
2901
+ cacheReadsPrice: 0.025,
2987
2902
  supportsVerbosity: true,
2988
2903
  supportsTemperature: false,
2989
2904
  tiers: [
2990
2905
  { name: "flex", contextWindow: 4e5, inputPrice: 0.125, outputPrice: 1, cacheReadsPrice: 0.0125 },
2991
2906
  { name: "priority", contextWindow: 4e5, inputPrice: 0.45, outputPrice: 3.6, cacheReadsPrice: 0.045 }
2992
- ]
2907
+ ],
2908
+ description: "GPT-5 Mini: A faster, more cost-efficient version of GPT-5 for well-defined tasks"
2993
2909
  },
2994
- "gpt-5-nano-2025-08-07": {
2910
+ "gpt-5-codex": {
2911
+ maxTokens: 128e3,
2912
+ contextWindow: 4e5,
2913
+ supportsNativeTools: true,
2914
+ supportsImages: true,
2915
+ supportsPromptCache: true,
2916
+ supportsReasoningEffort: ["low", "medium", "high"],
2917
+ reasoningEffort: "medium",
2918
+ inputPrice: 1.25,
2919
+ outputPrice: 10,
2920
+ cacheReadsPrice: 0.125,
2921
+ supportsTemperature: false,
2922
+ tiers: [{ name: "priority", contextWindow: 4e5, inputPrice: 2.5, outputPrice: 20, cacheReadsPrice: 0.25 }],
2923
+ description: "GPT-5-Codex: A version of GPT-5 optimized for agentic coding in Codex"
2924
+ },
2925
+ "gpt-5-nano": {
2995
2926
  maxTokens: 128e3,
2996
2927
  contextWindow: 4e5,
2928
+ supportsNativeTools: true,
2997
2929
  supportsImages: true,
2998
2930
  supportsPromptCache: true,
2999
- supportsReasoningEffort: true,
2931
+ supportsReasoningEffort: ["minimal", "low", "medium", "high"],
3000
2932
  reasoningEffort: "medium",
3001
2933
  inputPrice: 0.05,
3002
2934
  outputPrice: 0.4,
3003
- cacheReadsPrice: 0.01,
3004
- description: "GPT-5 Nano: Fastest, most cost-efficient version of GPT-5",
2935
+ cacheReadsPrice: 5e-3,
3005
2936
  supportsVerbosity: true,
3006
2937
  supportsTemperature: false,
3007
- tiers: [{ name: "flex", contextWindow: 4e5, inputPrice: 0.025, outputPrice: 0.2, cacheReadsPrice: 25e-4 }]
2938
+ tiers: [{ name: "flex", contextWindow: 4e5, inputPrice: 0.025, outputPrice: 0.2, cacheReadsPrice: 25e-4 }],
2939
+ description: "GPT-5 Nano: Fastest, most cost-efficient version of GPT-5"
3008
2940
  },
3009
- "gpt-5-codex": {
2941
+ "gpt-5-chat-latest": {
3010
2942
  maxTokens: 128e3,
3011
2943
  contextWindow: 4e5,
2944
+ supportsNativeTools: true,
3012
2945
  supportsImages: true,
3013
2946
  supportsPromptCache: true,
3014
- supportsReasoningEffort: true,
3015
- reasoningEffort: "medium",
3016
2947
  inputPrice: 1.25,
3017
2948
  outputPrice: 10,
3018
- cacheReadsPrice: 0.13,
3019
- description: "GPT-5-Codex: A version of GPT-5 optimized for agentic coding in Codex",
3020
- supportsVerbosity: true,
3021
- supportsTemperature: false
2949
+ cacheReadsPrice: 0.125,
2950
+ description: "GPT-5 Chat: Optimized for conversational AI and non-reasoning tasks"
3022
2951
  },
3023
2952
  "gpt-4.1": {
3024
2953
  maxTokens: 32768,
3025
2954
  contextWindow: 1047576,
2955
+ supportsNativeTools: true,
3026
2956
  supportsImages: true,
3027
2957
  supportsPromptCache: true,
3028
2958
  inputPrice: 2,
@@ -3036,6 +2966,7 @@ var openAiNativeModels = {
3036
2966
  "gpt-4.1-mini": {
3037
2967
  maxTokens: 32768,
3038
2968
  contextWindow: 1047576,
2969
+ supportsNativeTools: true,
3039
2970
  supportsImages: true,
3040
2971
  supportsPromptCache: true,
3041
2972
  inputPrice: 0.4,
@@ -3049,6 +2980,7 @@ var openAiNativeModels = {
3049
2980
  "gpt-4.1-nano": {
3050
2981
  maxTokens: 32768,
3051
2982
  contextWindow: 1047576,
2983
+ supportsNativeTools: true,
3052
2984
  supportsImages: true,
3053
2985
  supportsPromptCache: true,
3054
2986
  inputPrice: 0.1,
@@ -3062,12 +2994,13 @@ var openAiNativeModels = {
3062
2994
  o3: {
3063
2995
  maxTokens: 1e5,
3064
2996
  contextWindow: 2e5,
2997
+ supportsNativeTools: true,
3065
2998
  supportsImages: true,
3066
2999
  supportsPromptCache: true,
3067
3000
  inputPrice: 2,
3068
3001
  outputPrice: 8,
3069
3002
  cacheReadsPrice: 0.5,
3070
- supportsReasoningEffort: true,
3003
+ supportsReasoningEffort: ["low", "medium", "high"],
3071
3004
  reasoningEffort: "medium",
3072
3005
  supportsTemperature: false,
3073
3006
  tiers: [
@@ -3078,6 +3011,7 @@ var openAiNativeModels = {
3078
3011
  "o3-high": {
3079
3012
  maxTokens: 1e5,
3080
3013
  contextWindow: 2e5,
3014
+ supportsNativeTools: true,
3081
3015
  supportsImages: true,
3082
3016
  supportsPromptCache: true,
3083
3017
  inputPrice: 2,
@@ -3089,6 +3023,7 @@ var openAiNativeModels = {
3089
3023
  "o3-low": {
3090
3024
  maxTokens: 1e5,
3091
3025
  contextWindow: 2e5,
3026
+ supportsNativeTools: true,
3092
3027
  supportsImages: true,
3093
3028
  supportsPromptCache: true,
3094
3029
  inputPrice: 2,
@@ -3100,12 +3035,13 @@ var openAiNativeModels = {
3100
3035
  "o4-mini": {
3101
3036
  maxTokens: 1e5,
3102
3037
  contextWindow: 2e5,
3038
+ supportsNativeTools: true,
3103
3039
  supportsImages: true,
3104
3040
  supportsPromptCache: true,
3105
3041
  inputPrice: 1.1,
3106
3042
  outputPrice: 4.4,
3107
3043
  cacheReadsPrice: 0.275,
3108
- supportsReasoningEffort: true,
3044
+ supportsReasoningEffort: ["low", "medium", "high"],
3109
3045
  reasoningEffort: "medium",
3110
3046
  supportsTemperature: false,
3111
3047
  tiers: [
@@ -3116,6 +3052,7 @@ var openAiNativeModels = {
3116
3052
  "o4-mini-high": {
3117
3053
  maxTokens: 1e5,
3118
3054
  contextWindow: 2e5,
3055
+ supportsNativeTools: true,
3119
3056
  supportsImages: true,
3120
3057
  supportsPromptCache: true,
3121
3058
  inputPrice: 1.1,
@@ -3127,6 +3064,7 @@ var openAiNativeModels = {
3127
3064
  "o4-mini-low": {
3128
3065
  maxTokens: 1e5,
3129
3066
  contextWindow: 2e5,
3067
+ supportsNativeTools: true,
3130
3068
  supportsImages: true,
3131
3069
  supportsPromptCache: true,
3132
3070
  inputPrice: 1.1,
@@ -3138,18 +3076,20 @@ var openAiNativeModels = {
3138
3076
  "o3-mini": {
3139
3077
  maxTokens: 1e5,
3140
3078
  contextWindow: 2e5,
3079
+ supportsNativeTools: true,
3141
3080
  supportsImages: false,
3142
3081
  supportsPromptCache: true,
3143
3082
  inputPrice: 1.1,
3144
3083
  outputPrice: 4.4,
3145
3084
  cacheReadsPrice: 0.55,
3146
- supportsReasoningEffort: true,
3085
+ supportsReasoningEffort: ["low", "medium", "high"],
3147
3086
  reasoningEffort: "medium",
3148
3087
  supportsTemperature: false
3149
3088
  },
3150
3089
  "o3-mini-high": {
3151
3090
  maxTokens: 1e5,
3152
3091
  contextWindow: 2e5,
3092
+ supportsNativeTools: true,
3153
3093
  supportsImages: false,
3154
3094
  supportsPromptCache: true,
3155
3095
  inputPrice: 1.1,
@@ -3161,6 +3101,7 @@ var openAiNativeModels = {
3161
3101
  "o3-mini-low": {
3162
3102
  maxTokens: 1e5,
3163
3103
  contextWindow: 2e5,
3104
+ supportsNativeTools: true,
3164
3105
  supportsImages: false,
3165
3106
  supportsPromptCache: true,
3166
3107
  inputPrice: 1.1,
@@ -3172,6 +3113,7 @@ var openAiNativeModels = {
3172
3113
  o1: {
3173
3114
  maxTokens: 1e5,
3174
3115
  contextWindow: 2e5,
3116
+ supportsNativeTools: true,
3175
3117
  supportsImages: true,
3176
3118
  supportsPromptCache: true,
3177
3119
  inputPrice: 15,
@@ -3182,6 +3124,7 @@ var openAiNativeModels = {
3182
3124
  "o1-preview": {
3183
3125
  maxTokens: 32768,
3184
3126
  contextWindow: 128e3,
3127
+ supportsNativeTools: true,
3185
3128
  supportsImages: true,
3186
3129
  supportsPromptCache: true,
3187
3130
  inputPrice: 15,
@@ -3192,6 +3135,7 @@ var openAiNativeModels = {
3192
3135
  "o1-mini": {
3193
3136
  maxTokens: 65536,
3194
3137
  contextWindow: 128e3,
3138
+ supportsNativeTools: true,
3195
3139
  supportsImages: true,
3196
3140
  supportsPromptCache: true,
3197
3141
  inputPrice: 1.1,
@@ -3202,6 +3146,7 @@ var openAiNativeModels = {
3202
3146
  "gpt-4o": {
3203
3147
  maxTokens: 16384,
3204
3148
  contextWindow: 128e3,
3149
+ supportsNativeTools: true,
3205
3150
  supportsImages: true,
3206
3151
  supportsPromptCache: true,
3207
3152
  inputPrice: 2.5,
@@ -3215,6 +3160,7 @@ var openAiNativeModels = {
3215
3160
  "gpt-4o-mini": {
3216
3161
  maxTokens: 16384,
3217
3162
  contextWindow: 128e3,
3163
+ supportsNativeTools: true,
3218
3164
  supportsImages: true,
3219
3165
  supportsPromptCache: true,
3220
3166
  inputPrice: 0.15,
@@ -3228,13 +3174,69 @@ var openAiNativeModels = {
3228
3174
  "codex-mini-latest": {
3229
3175
  maxTokens: 16384,
3230
3176
  contextWindow: 2e5,
3177
+ supportsNativeTools: true,
3231
3178
  supportsImages: false,
3232
3179
  supportsPromptCache: false,
3233
3180
  inputPrice: 1.5,
3234
3181
  outputPrice: 6,
3235
- cacheReadsPrice: 0,
3182
+ cacheReadsPrice: 0.375,
3236
3183
  supportsTemperature: false,
3237
3184
  description: "Codex Mini: Cloud-based software engineering agent powered by codex-1, a version of o3 optimized for coding tasks. Trained with reinforcement learning to generate human-style code, adhere to instructions, and iteratively run tests."
3185
+ },
3186
+ // Dated clones (snapshots) preserved for backward compatibility
3187
+ "gpt-5-2025-08-07": {
3188
+ maxTokens: 128e3,
3189
+ contextWindow: 4e5,
3190
+ supportsNativeTools: true,
3191
+ supportsImages: true,
3192
+ supportsPromptCache: true,
3193
+ supportsReasoningEffort: ["minimal", "low", "medium", "high"],
3194
+ reasoningEffort: "medium",
3195
+ inputPrice: 1.25,
3196
+ outputPrice: 10,
3197
+ cacheReadsPrice: 0.125,
3198
+ supportsVerbosity: true,
3199
+ supportsTemperature: false,
3200
+ tiers: [
3201
+ { name: "flex", contextWindow: 4e5, inputPrice: 0.625, outputPrice: 5, cacheReadsPrice: 0.0625 },
3202
+ { name: "priority", contextWindow: 4e5, inputPrice: 2.5, outputPrice: 20, cacheReadsPrice: 0.25 }
3203
+ ],
3204
+ description: "GPT-5: The best model for coding and agentic tasks across domains"
3205
+ },
3206
+ "gpt-5-mini-2025-08-07": {
3207
+ maxTokens: 128e3,
3208
+ contextWindow: 4e5,
3209
+ supportsNativeTools: true,
3210
+ supportsImages: true,
3211
+ supportsPromptCache: true,
3212
+ supportsReasoningEffort: ["minimal", "low", "medium", "high"],
3213
+ reasoningEffort: "medium",
3214
+ inputPrice: 0.25,
3215
+ outputPrice: 2,
3216
+ cacheReadsPrice: 0.025,
3217
+ supportsVerbosity: true,
3218
+ supportsTemperature: false,
3219
+ tiers: [
3220
+ { name: "flex", contextWindow: 4e5, inputPrice: 0.125, outputPrice: 1, cacheReadsPrice: 0.0125 },
3221
+ { name: "priority", contextWindow: 4e5, inputPrice: 0.45, outputPrice: 3.6, cacheReadsPrice: 0.045 }
3222
+ ],
3223
+ description: "GPT-5 Mini: A faster, more cost-efficient version of GPT-5 for well-defined tasks"
3224
+ },
3225
+ "gpt-5-nano-2025-08-07": {
3226
+ maxTokens: 128e3,
3227
+ contextWindow: 4e5,
3228
+ supportsNativeTools: true,
3229
+ supportsImages: true,
3230
+ supportsPromptCache: true,
3231
+ supportsReasoningEffort: ["minimal", "low", "medium", "high"],
3232
+ reasoningEffort: "medium",
3233
+ inputPrice: 0.05,
3234
+ outputPrice: 0.4,
3235
+ cacheReadsPrice: 5e-3,
3236
+ supportsVerbosity: true,
3237
+ supportsTemperature: false,
3238
+ tiers: [{ name: "flex", contextWindow: 4e5, inputPrice: 0.025, outputPrice: 0.2, cacheReadsPrice: 25e-4 }],
3239
+ description: "GPT-5 Nano: Fastest, most cost-efficient version of GPT-5"
3238
3240
  }
3239
3241
  };
3240
3242
  var openAiModelInfoSaneDefaults = {
@@ -3243,11 +3245,11 @@ var openAiModelInfoSaneDefaults = {
3243
3245
  supportsImages: true,
3244
3246
  supportsPromptCache: false,
3245
3247
  inputPrice: 0,
3246
- outputPrice: 0
3248
+ outputPrice: 0,
3249
+ supportsNativeTools: true
3247
3250
  };
3248
3251
  var azureOpenAiDefaultApiVersion = "2024-08-01-preview";
3249
3252
  var OPENAI_NATIVE_DEFAULT_TEMPERATURE = 0;
3250
- var GPT5_DEFAULT_TEMPERATURE = 1;
3251
3253
  var OPENAI_AZURE_AI_INFERENCE_PATH = "/models/chat/completions";
3252
3254
 
3253
3255
  // src/providers/openrouter.ts
@@ -3257,6 +3259,7 @@ var openRouterDefaultModelInfo = {
3257
3259
  contextWindow: 2e5,
3258
3260
  supportsImages: true,
3259
3261
  supportsPromptCache: true,
3262
+ supportsNativeTools: true,
3260
3263
  inputPrice: 3,
3261
3264
  outputPrice: 15,
3262
3265
  cacheWritesPrice: 3.75,
@@ -3502,6 +3505,30 @@ var unboundDefaultModelInfo = {
3502
3505
  // src/providers/vertex.ts
3503
3506
  var vertexDefaultModelId = "claude-sonnet-4-5@20250929";
3504
3507
  var vertexModels = {
3508
+ "gemini-3-pro-preview": {
3509
+ maxTokens: 65536,
3510
+ contextWindow: 1048576,
3511
+ supportsImages: true,
3512
+ supportsPromptCache: true,
3513
+ supportsReasoningEffort: ["low", "high"],
3514
+ reasoningEffort: "low",
3515
+ supportsTemperature: true,
3516
+ defaultTemperature: 1,
3517
+ inputPrice: 4,
3518
+ outputPrice: 18,
3519
+ tiers: [
3520
+ {
3521
+ contextWindow: 2e5,
3522
+ inputPrice: 2,
3523
+ outputPrice: 12
3524
+ },
3525
+ {
3526
+ contextWindow: Infinity,
3527
+ inputPrice: 4,
3528
+ outputPrice: 18
3529
+ }
3530
+ ]
3531
+ },
3505
3532
  "gemini-2.5-flash-preview-05-20:thinking": {
3506
3533
  maxTokens: 65535,
3507
3534
  contextWindow: 1048576,
@@ -4477,11 +4504,12 @@ var minimaxModels = {
4477
4504
  contextWindow: 192e3,
4478
4505
  supportsImages: false,
4479
4506
  supportsPromptCache: true,
4507
+ supportsNativeTools: true,
4508
+ preserveReasoning: true,
4480
4509
  inputPrice: 0.3,
4481
4510
  outputPrice: 1.2,
4482
4511
  cacheWritesPrice: 0.375,
4483
4512
  cacheReadsPrice: 0.03,
4484
- preserveReasoning: true,
4485
4513
  description: "MiniMax M2, a model born for Agents and code, featuring Top-tier Coding Capabilities, Powerful Agentic Performance, and Ultimate Cost-Effectiveness & Speed."
4486
4514
  },
4487
4515
  "MiniMax-M2-Stable": {
@@ -4489,14 +4517,17 @@ var minimaxModels = {
4489
4517
  contextWindow: 192e3,
4490
4518
  supportsImages: false,
4491
4519
  supportsPromptCache: true,
4520
+ supportsNativeTools: true,
4521
+ preserveReasoning: true,
4492
4522
  inputPrice: 0.3,
4493
4523
  outputPrice: 1.2,
4494
4524
  cacheWritesPrice: 0.375,
4495
4525
  cacheReadsPrice: 0.03,
4496
- preserveReasoning: true,
4497
4526
  description: "MiniMax M2 Stable (High Concurrency, Commercial Use), a model born for Agents and code, featuring Top-tier Coding Capabilities, Powerful Agentic Performance, and Ultimate Cost-Effectiveness & Speed."
4498
4527
  }
4499
4528
  };
4529
+ var minimaxDefaultModelInfo = minimaxModels[minimaxDefaultModelId];
4530
+ var MINIMAX_DEFAULT_MAX_TOKENS = 16384;
4500
4531
  var MINIMAX_DEFAULT_TEMPERATURE = 1;
4501
4532
 
4502
4533
  // src/providers/index.ts
@@ -4651,11 +4682,13 @@ var baseProviderSettingsSchema = import_zod8.z.object({
4651
4682
  consecutiveMistakeLimit: import_zod8.z.number().min(0).optional(),
4652
4683
  // Model reasoning.
4653
4684
  enableReasoningEffort: import_zod8.z.boolean().optional(),
4654
- reasoningEffort: reasoningEffortWithMinimalSchema.optional(),
4685
+ reasoningEffort: reasoningEffortSettingSchema.optional(),
4655
4686
  modelMaxTokens: import_zod8.z.number().optional(),
4656
4687
  modelMaxThinkingTokens: import_zod8.z.number().optional(),
4657
4688
  // Model verbosity.
4658
- verbosity: verbosityLevelsSchema.optional()
4689
+ verbosity: verbosityLevelsSchema.optional(),
4690
+ // Tool protocol override for this profile.
4691
+ toolProtocol: import_zod8.z.enum(["xml", "native"]).optional()
4659
4692
  });
4660
4693
  var apiModelIdProviderModelSchema = baseProviderSettingsSchema.extend({
4661
4694
  apiModelId: import_zod8.z.string().optional()
@@ -4995,7 +5028,7 @@ var modelIdKeysByProvider = {
4995
5028
  roo: "apiModelId",
4996
5029
  "vercel-ai-gateway": "vercelAiGatewayModelId"
4997
5030
  };
4998
- var ANTHROPIC_STYLE_PROVIDERS = ["anthropic", "claude-code", "bedrock"];
5031
+ var ANTHROPIC_STYLE_PROVIDERS = ["anthropic", "claude-code", "bedrock", "minimax"];
4999
5032
  var getApiProtocol = (provider, modelId) => {
5000
5033
  if (provider && ANTHROPIC_STYLE_PROVIDERS.includes(provider)) {
5001
5034
  return "anthropic";
@@ -5532,6 +5565,12 @@ var globalSettingsSchema = import_zod14.z.object({
5532
5565
  * @default true
5533
5566
  */
5534
5567
  includeCurrentCost: import_zod14.z.boolean().optional(),
5568
+ /**
5569
+ * Maximum number of git status file entries to include in the environment details.
5570
+ * Set to 0 to disable git status. The header (branch, commits) is always included when > 0.
5571
+ * @default 0
5572
+ */
5573
+ maxGitStatusFiles: import_zod14.z.number().optional(),
5535
5574
  /**
5536
5575
  * Whether to include diagnostic messages (errors, warnings) in tool outputs
5537
5576
  * @default true
@@ -5699,6 +5738,7 @@ var EVALS_SETTINGS = {
5699
5738
  rateLimitSeconds: 0,
5700
5739
  maxOpenTabsContext: 20,
5701
5740
  maxWorkspaceFiles: 200,
5741
+ maxGitStatusFiles: 20,
5702
5742
  showRooIgnoredFiles: true,
5703
5743
  maxReadFileLine: -1,
5704
5744
  // -1 to enable full file reading.
@@ -6163,6 +6203,15 @@ var followUpDataSchema = import_zod17.z.object({
6163
6203
  suggest: import_zod17.z.array(suggestionItemSchema).optional()
6164
6204
  });
6165
6205
 
6206
+ // src/image-generation.ts
6207
+ var IMAGE_GENERATION_MODELS = [
6208
+ { value: "google/gemini-2.5-flash-image", label: "Gemini 2.5 Flash Image" },
6209
+ { value: "google/gemini-3-pro-image-preview", label: "Gemini 3 Pro Image Preview" },
6210
+ { value: "openai/gpt-5-image", label: "GPT-5 Image" },
6211
+ { value: "openai/gpt-5-image-mini", label: "GPT-5 Image Mini" }
6212
+ ];
6213
+ var IMAGE_GENERATION_MODEL_IDS = IMAGE_GENERATION_MODELS.map((m) => m.value);
6214
+
6166
6215
  // src/ipc.ts
6167
6216
  var import_zod18 = require("zod");
6168
6217
  var IpcMessageType = /* @__PURE__ */ ((IpcMessageType2) => {
@@ -6342,7 +6391,6 @@ var commandExecutionStatusSchema = import_zod21.z.discriminatedUnion("status", [
6342
6391
  GLOBAL_SECRET_KEYS,
6343
6392
  GLOBAL_SETTINGS_KEYS,
6344
6393
  GLOBAL_STATE_KEYS,
6345
- GPT5_DEFAULT_TEMPERATURE,
6346
6394
  HEARTBEAT_INTERVAL_MS,
6347
6395
  HUGGINGFACE_API_URL,
6348
6396
  HUGGINGFACE_CACHE_DURATION,
@@ -6352,12 +6400,15 @@ var commandExecutionStatusSchema = import_zod21.z.discriminatedUnion("status", [
6352
6400
  HUGGINGFACE_SLIDER_MIN,
6353
6401
  HUGGINGFACE_SLIDER_STEP,
6354
6402
  HUGGINGFACE_TEMPERATURE_MAX_VALUE,
6403
+ IMAGE_GENERATION_MODELS,
6404
+ IMAGE_GENERATION_MODEL_IDS,
6355
6405
  INSTANCE_TTL_SECONDS,
6356
6406
  IO_INTELLIGENCE_CACHE_DURATION,
6357
6407
  IpcMessageType,
6358
6408
  IpcOrigin,
6359
6409
  LMSTUDIO_DEFAULT_TEMPERATURE,
6360
6410
  MAX_CHECKPOINT_TIMEOUT_SECONDS,
6411
+ MINIMAX_DEFAULT_MAX_TOKENS,
6361
6412
  MINIMAX_DEFAULT_TEMPERATURE,
6362
6413
  MIN_CHECKPOINT_TIMEOUT_SECONDS,
6363
6414
  MISTRAL_DEFAULT_TEMPERATURE,
@@ -6377,6 +6428,7 @@ var commandExecutionStatusSchema = import_zod21.z.discriminatedUnion("status", [
6377
6428
  RooModelsResponseSchema,
6378
6429
  RooPricingSchema,
6379
6430
  SECRET_STATE_KEYS,
6431
+ TOOL_PROTOCOL,
6380
6432
  TaskBridgeCommandName,
6381
6433
  TaskBridgeEventName,
6382
6434
  TaskCommandName,
@@ -6448,6 +6500,7 @@ var commandExecutionStatusSchema = import_zod21.z.discriminatedUnion("status", [
6448
6500
  geminiModels,
6449
6501
  getApiProtocol,
6450
6502
  getClaudeCodeModelId,
6503
+ getEffectiveProtocol,
6451
6504
  getModelId,
6452
6505
  getProviderDefaultModelId,
6453
6506
  gitPropertiesSchema,
@@ -6479,6 +6532,7 @@ var commandExecutionStatusSchema = import_zod21.z.discriminatedUnion("status", [
6479
6532
  isLanguage,
6480
6533
  isLocalProvider,
6481
6534
  isModelParameter,
6535
+ isNativeProtocol,
6482
6536
  isNonBlockingAsk,
6483
6537
  isProviderName,
6484
6538
  isResumableAsk,
@@ -6500,6 +6554,7 @@ var commandExecutionStatusSchema = import_zod21.z.discriminatedUnion("status", [
6500
6554
  mcpMarketplaceItemSchema,
6501
6555
  mcpParameterSchema,
6502
6556
  minimaxDefaultModelId,
6557
+ minimaxDefaultModelInfo,
6503
6558
  minimaxModels,
6504
6559
  mistralDefaultModelId,
6505
6560
  mistralModels,
@@ -6535,8 +6590,12 @@ var commandExecutionStatusSchema = import_zod21.z.discriminatedUnion("status", [
6535
6590
  queuedMessageSchema,
6536
6591
  qwenCodeDefaultModelId,
6537
6592
  qwenCodeModels,
6593
+ reasoningEffortExtendedSchema,
6594
+ reasoningEffortSettingSchema,
6595
+ reasoningEffortSettingValues,
6538
6596
  reasoningEffortWithMinimalSchema,
6539
6597
  reasoningEfforts,
6598
+ reasoningEffortsExtended,
6540
6599
  reasoningEffortsSchema,
6541
6600
  requestyDefaultModelId,
6542
6601
  requestyDefaultModelInfo,