@roo-code/types 1.85.0 → 1.86.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,
@@ -86,6 +85,7 @@ __export(index_exports, {
86
85
  RooModelsResponseSchema: () => RooModelsResponseSchema,
87
86
  RooPricingSchema: () => RooPricingSchema,
88
87
  SECRET_STATE_KEYS: () => SECRET_STATE_KEYS,
88
+ TOOL_PROTOCOL: () => TOOL_PROTOCOL,
89
89
  TaskBridgeCommandName: () => TaskBridgeCommandName,
90
90
  TaskBridgeEventName: () => TaskBridgeEventName,
91
91
  TaskCommandName: () => TaskCommandName,
@@ -157,6 +157,7 @@ __export(index_exports, {
157
157
  geminiModels: () => geminiModels,
158
158
  getApiProtocol: () => getApiProtocol,
159
159
  getClaudeCodeModelId: () => getClaudeCodeModelId,
160
+ getEffectiveProtocol: () => getEffectiveProtocol,
160
161
  getModelId: () => getModelId,
161
162
  getProviderDefaultModelId: () => getProviderDefaultModelId,
162
163
  gitPropertiesSchema: () => gitPropertiesSchema,
@@ -188,6 +189,7 @@ __export(index_exports, {
188
189
  isLanguage: () => isLanguage,
189
190
  isLocalProvider: () => isLocalProvider,
190
191
  isModelParameter: () => isModelParameter,
192
+ isNativeProtocol: () => isNativeProtocol,
191
193
  isNonBlockingAsk: () => isNonBlockingAsk,
192
194
  isProviderName: () => isProviderName,
193
195
  isResumableAsk: () => isResumableAsk,
@@ -244,8 +246,12 @@ __export(index_exports, {
244
246
  queuedMessageSchema: () => queuedMessageSchema,
245
247
  qwenCodeDefaultModelId: () => qwenCodeDefaultModelId,
246
248
  qwenCodeModels: () => qwenCodeModels,
249
+ reasoningEffortExtendedSchema: () => reasoningEffortExtendedSchema,
250
+ reasoningEffortSettingSchema: () => reasoningEffortSettingSchema,
251
+ reasoningEffortSettingValues: () => reasoningEffortSettingValues,
247
252
  reasoningEffortWithMinimalSchema: () => reasoningEffortWithMinimalSchema,
248
253
  reasoningEfforts: () => reasoningEfforts,
254
+ reasoningEffortsExtended: () => reasoningEffortsExtended,
249
255
  reasoningEffortsSchema: () => reasoningEffortsSchema,
250
256
  requestyDefaultModelId: () => requestyDefaultModelId,
251
257
  requestyDefaultModelInfo: () => requestyDefaultModelInfo,
@@ -254,6 +260,7 @@ __export(index_exports, {
254
260
  rooCodeSettingsSchema: () => rooCodeSettingsSchema,
255
261
  rooCodeTelemetryEventSchema: () => rooCodeTelemetryEventSchema,
256
262
  rooDefaultModelId: () => rooDefaultModelId,
263
+ rooModelDefaults: () => rooModelDefaults,
257
264
  rooModels: () => rooModels,
258
265
  sambaNovaDefaultModelId: () => sambaNovaDefaultModelId,
259
266
  sambaNovaModels: () => sambaNovaModels,
@@ -326,10 +333,6 @@ var clineAsks = [
326
333
  "auto_approval_max_req_reached"
327
334
  ];
328
335
  var clineAskSchema = import_zod.z.enum(clineAsks);
329
- var nonBlockingAsks = ["command_output"];
330
- function isNonBlockingAsk(ask) {
331
- return nonBlockingAsks.includes(ask);
332
- }
333
336
  var idleAsks = [
334
337
  "completion_result",
335
338
  "api_req_failed",
@@ -354,6 +357,10 @@ var interactiveAsks = [
354
357
  function isInteractiveAsk(ask) {
355
358
  return interactiveAsks.includes(ask);
356
359
  }
360
+ var nonBlockingAsks = ["command_output"];
361
+ function isNonBlockingAsk(ask) {
362
+ return nonBlockingAsks.includes(ask);
363
+ }
357
364
  var clineSays = [
358
365
  "error",
359
366
  "api_req_started",
@@ -408,12 +415,7 @@ var clineMessageSchema = import_zod.z.object({
408
415
  contextCondense: contextCondenseSchema.optional(),
409
416
  isProtected: import_zod.z.boolean().optional(),
410
417
  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()
418
+ isAnswered: import_zod.z.boolean().optional()
417
419
  });
418
420
  var tokenUsageSchema = import_zod.z.object({
419
421
  totalTokensIn: import_zod.z.number(),
@@ -464,6 +466,16 @@ var toolUsageSchema = import_zod2.z.record(
464
466
  failures: import_zod2.z.number()
465
467
  })
466
468
  );
469
+ var TOOL_PROTOCOL = {
470
+ XML: "xml",
471
+ NATIVE: "native"
472
+ };
473
+ function isNativeProtocol(protocol) {
474
+ return protocol === TOOL_PROTOCOL.NATIVE;
475
+ }
476
+ function getEffectiveProtocol(toolProtocol) {
477
+ return toolProtocol || TOOL_PROTOCOL.XML;
478
+ }
467
479
 
468
480
  // src/events.ts
469
481
  var RooCodeEventName = /* @__PURE__ */ ((RooCodeEventName2) => {
@@ -663,6 +675,10 @@ var import_zod5 = require("zod");
663
675
  var reasoningEfforts = ["low", "medium", "high"];
664
676
  var reasoningEffortsSchema = import_zod5.z.enum(reasoningEfforts);
665
677
  var reasoningEffortWithMinimalSchema = import_zod5.z.union([reasoningEffortsSchema, import_zod5.z.literal("minimal")]);
678
+ var reasoningEffortsExtended = ["none", "minimal", "low", "medium", "high"];
679
+ var reasoningEffortExtendedSchema = import_zod5.z.enum(reasoningEffortsExtended);
680
+ var reasoningEffortSettingValues = ["disable", "none", "minimal", "low", "medium", "high"];
681
+ var reasoningEffortSettingSchema = import_zod5.z.enum(reasoningEffortSettingValues);
666
682
  var verbosityLevels = ["low", "medium", "high"];
667
683
  var verbosityLevelsSchema = import_zod5.z.enum(verbosityLevels);
668
684
  var serviceTiers = ["default", "flex", "priority"];
@@ -676,6 +692,10 @@ var modelInfoSchema = import_zod5.z.object({
676
692
  contextWindow: import_zod5.z.number(),
677
693
  supportsImages: import_zod5.z.boolean().optional(),
678
694
  supportsPromptCache: import_zod5.z.boolean(),
695
+ // Optional default prompt cache retention policy for providers that support it.
696
+ // When set to "24h", extended prompt caching will be requested; when omitted
697
+ // or set to "in_memory", the default in‑memory cache is used.
698
+ promptCacheRetention: import_zod5.z.enum(["in_memory", "24h"]).optional(),
679
699
  // Capability flag to indicate whether the model supports an output verbosity parameter
680
700
  supportsVerbosity: import_zod5.z.boolean().optional(),
681
701
  supportsReasoningBudget: import_zod5.z.boolean().optional(),
@@ -685,7 +705,7 @@ var modelInfoSchema = import_zod5.z.object({
685
705
  supportsTemperature: import_zod5.z.boolean().optional(),
686
706
  defaultTemperature: import_zod5.z.number().optional(),
687
707
  requiredReasoningBudget: import_zod5.z.boolean().optional(),
688
- supportsReasoningEffort: import_zod5.z.boolean().optional(),
708
+ 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
709
  requiredReasoningEffort: import_zod5.z.boolean().optional(),
690
710
  preserveReasoning: import_zod5.z.boolean().optional(),
691
711
  supportedParameters: import_zod5.z.array(modelParametersSchema).optional(),
@@ -694,7 +714,8 @@ var modelInfoSchema = import_zod5.z.object({
694
714
  cacheWritesPrice: import_zod5.z.number().optional(),
695
715
  cacheReadsPrice: import_zod5.z.number().optional(),
696
716
  description: import_zod5.z.string().optional(),
697
- reasoningEffort: reasoningEffortsSchema.optional(),
717
+ // Default effort value for models that support reasoning effort
718
+ reasoningEffort: reasoningEffortExtendedSchema.optional(),
698
719
  minTokensPerCachePoint: import_zod5.z.number().optional(),
699
720
  maxCachePoints: import_zod5.z.number().optional(),
700
721
  cachableFields: import_zod5.z.array(import_zod5.z.string()).optional(),
@@ -702,6 +723,10 @@ var modelInfoSchema = import_zod5.z.object({
702
723
  deprecated: import_zod5.z.boolean().optional(),
703
724
  // Flag to indicate if the model is free (no cost)
704
725
  isFree: import_zod5.z.boolean().optional(),
726
+ // Flag to indicate if the model supports native tool calling (OpenAI-style function calling)
727
+ supportsNativeTools: import_zod5.z.boolean().optional(),
728
+ // Default tool protocol preferred by this model (if not specified, falls back to capability/provider defaults)
729
+ defaultToolProtocol: import_zod5.z.enum(["xml", "native"]).optional(),
705
730
  /**
706
731
  * Service tiers with pricing information.
707
732
  * Each tier can have a name (for OpenAI service tiers) and pricing overrides.
@@ -2940,85 +2965,130 @@ var ollamaDefaultModelInfo = {
2940
2965
  };
2941
2966
 
2942
2967
  // src/providers/openai.ts
2943
- var openAiNativeDefaultModelId = "gpt-5-2025-08-07";
2968
+ var openAiNativeDefaultModelId = "gpt-5.1";
2944
2969
  var openAiNativeModels = {
2945
- "gpt-5-chat-latest": {
2970
+ "gpt-5.1": {
2946
2971
  maxTokens: 128e3,
2947
2972
  contextWindow: 4e5,
2948
2973
  supportsImages: true,
2949
2974
  supportsPromptCache: true,
2950
- supportsReasoningEffort: false,
2975
+ promptCacheRetention: "24h",
2976
+ supportsReasoningEffort: ["none", "low", "medium", "high"],
2977
+ reasoningEffort: "medium",
2951
2978
  inputPrice: 1.25,
2952
2979
  outputPrice: 10,
2953
- cacheReadsPrice: 0.13,
2954
- description: "GPT-5 Chat Latest: Optimized for conversational AI and non-reasoning tasks",
2955
- supportsVerbosity: true
2980
+ cacheReadsPrice: 0.125,
2981
+ supportsVerbosity: true,
2982
+ supportsTemperature: false,
2983
+ tiers: [
2984
+ { name: "flex", contextWindow: 4e5, inputPrice: 0.625, outputPrice: 5, cacheReadsPrice: 0.0625 },
2985
+ { name: "priority", contextWindow: 4e5, inputPrice: 2.5, outputPrice: 20, cacheReadsPrice: 0.25 }
2986
+ ],
2987
+ description: "GPT-5.1: The best model for coding and agentic tasks across domains"
2956
2988
  },
2957
- "gpt-5-2025-08-07": {
2989
+ "gpt-5.1-codex": {
2990
+ maxTokens: 128e3,
2991
+ contextWindow: 4e5,
2992
+ supportsImages: true,
2993
+ supportsPromptCache: true,
2994
+ promptCacheRetention: "24h",
2995
+ supportsReasoningEffort: ["low", "medium", "high"],
2996
+ reasoningEffort: "medium",
2997
+ inputPrice: 1.25,
2998
+ outputPrice: 10,
2999
+ cacheReadsPrice: 0.125,
3000
+ supportsTemperature: false,
3001
+ tiers: [{ name: "priority", contextWindow: 4e5, inputPrice: 2.5, outputPrice: 20, cacheReadsPrice: 0.25 }],
3002
+ description: "GPT-5.1 Codex: A version of GPT-5.1 optimized for agentic coding in Codex"
3003
+ },
3004
+ "gpt-5.1-codex-mini": {
3005
+ maxTokens: 128e3,
3006
+ contextWindow: 4e5,
3007
+ supportsImages: true,
3008
+ supportsPromptCache: true,
3009
+ promptCacheRetention: "24h",
3010
+ supportsReasoningEffort: ["low", "medium", "high"],
3011
+ reasoningEffort: "medium",
3012
+ inputPrice: 0.25,
3013
+ outputPrice: 2,
3014
+ cacheReadsPrice: 0.025,
3015
+ supportsTemperature: false,
3016
+ description: "GPT-5.1 Codex mini: A version of GPT-5.1 optimized for agentic coding in Codex"
3017
+ },
3018
+ "gpt-5": {
2958
3019
  maxTokens: 128e3,
2959
3020
  contextWindow: 4e5,
2960
3021
  supportsImages: true,
2961
3022
  supportsPromptCache: true,
2962
- supportsReasoningEffort: true,
3023
+ supportsReasoningEffort: ["minimal", "low", "medium", "high"],
2963
3024
  reasoningEffort: "medium",
2964
3025
  inputPrice: 1.25,
2965
3026
  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
3027
+ cacheReadsPrice: 0.125,
2969
3028
  supportsVerbosity: true,
2970
3029
  supportsTemperature: false,
2971
3030
  tiers: [
2972
3031
  { name: "flex", contextWindow: 4e5, inputPrice: 0.625, outputPrice: 5, cacheReadsPrice: 0.0625 },
2973
3032
  { name: "priority", contextWindow: 4e5, inputPrice: 2.5, outputPrice: 20, cacheReadsPrice: 0.25 }
2974
- ]
3033
+ ],
3034
+ description: "GPT-5: The best model for coding and agentic tasks across domains"
2975
3035
  },
2976
- "gpt-5-mini-2025-08-07": {
3036
+ "gpt-5-mini": {
2977
3037
  maxTokens: 128e3,
2978
3038
  contextWindow: 4e5,
2979
3039
  supportsImages: true,
2980
3040
  supportsPromptCache: true,
2981
- supportsReasoningEffort: true,
3041
+ supportsReasoningEffort: ["minimal", "low", "medium", "high"],
2982
3042
  reasoningEffort: "medium",
2983
3043
  inputPrice: 0.25,
2984
3044
  outputPrice: 2,
2985
- cacheReadsPrice: 0.03,
2986
- description: "GPT-5 Mini: A faster, more cost-efficient version of GPT-5 for well-defined tasks",
3045
+ cacheReadsPrice: 0.025,
2987
3046
  supportsVerbosity: true,
2988
3047
  supportsTemperature: false,
2989
3048
  tiers: [
2990
3049
  { name: "flex", contextWindow: 4e5, inputPrice: 0.125, outputPrice: 1, cacheReadsPrice: 0.0125 },
2991
3050
  { name: "priority", contextWindow: 4e5, inputPrice: 0.45, outputPrice: 3.6, cacheReadsPrice: 0.045 }
2992
- ]
3051
+ ],
3052
+ description: "GPT-5 Mini: A faster, more cost-efficient version of GPT-5 for well-defined tasks"
2993
3053
  },
2994
- "gpt-5-nano-2025-08-07": {
3054
+ "gpt-5-codex": {
3055
+ maxTokens: 128e3,
3056
+ contextWindow: 4e5,
3057
+ supportsImages: true,
3058
+ supportsPromptCache: true,
3059
+ supportsReasoningEffort: ["low", "medium", "high"],
3060
+ reasoningEffort: "medium",
3061
+ inputPrice: 1.25,
3062
+ outputPrice: 10,
3063
+ cacheReadsPrice: 0.125,
3064
+ supportsTemperature: false,
3065
+ tiers: [{ name: "priority", contextWindow: 4e5, inputPrice: 2.5, outputPrice: 20, cacheReadsPrice: 0.25 }],
3066
+ description: "GPT-5-Codex: A version of GPT-5 optimized for agentic coding in Codex"
3067
+ },
3068
+ "gpt-5-nano": {
2995
3069
  maxTokens: 128e3,
2996
3070
  contextWindow: 4e5,
2997
3071
  supportsImages: true,
2998
3072
  supportsPromptCache: true,
2999
- supportsReasoningEffort: true,
3073
+ supportsReasoningEffort: ["minimal", "low", "medium", "high"],
3000
3074
  reasoningEffort: "medium",
3001
3075
  inputPrice: 0.05,
3002
3076
  outputPrice: 0.4,
3003
- cacheReadsPrice: 0.01,
3004
- description: "GPT-5 Nano: Fastest, most cost-efficient version of GPT-5",
3077
+ cacheReadsPrice: 5e-3,
3005
3078
  supportsVerbosity: true,
3006
3079
  supportsTemperature: false,
3007
- tiers: [{ name: "flex", contextWindow: 4e5, inputPrice: 0.025, outputPrice: 0.2, cacheReadsPrice: 25e-4 }]
3080
+ tiers: [{ name: "flex", contextWindow: 4e5, inputPrice: 0.025, outputPrice: 0.2, cacheReadsPrice: 25e-4 }],
3081
+ description: "GPT-5 Nano: Fastest, most cost-efficient version of GPT-5"
3008
3082
  },
3009
- "gpt-5-codex": {
3083
+ "gpt-5-chat-latest": {
3010
3084
  maxTokens: 128e3,
3011
3085
  contextWindow: 4e5,
3012
3086
  supportsImages: true,
3013
3087
  supportsPromptCache: true,
3014
- supportsReasoningEffort: true,
3015
- reasoningEffort: "medium",
3016
3088
  inputPrice: 1.25,
3017
3089
  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
3090
+ cacheReadsPrice: 0.125,
3091
+ description: "GPT-5 Chat: Optimized for conversational AI and non-reasoning tasks"
3022
3092
  },
3023
3093
  "gpt-4.1": {
3024
3094
  maxTokens: 32768,
@@ -3067,7 +3137,7 @@ var openAiNativeModels = {
3067
3137
  inputPrice: 2,
3068
3138
  outputPrice: 8,
3069
3139
  cacheReadsPrice: 0.5,
3070
- supportsReasoningEffort: true,
3140
+ supportsReasoningEffort: ["low", "medium", "high"],
3071
3141
  reasoningEffort: "medium",
3072
3142
  supportsTemperature: false,
3073
3143
  tiers: [
@@ -3105,7 +3175,7 @@ var openAiNativeModels = {
3105
3175
  inputPrice: 1.1,
3106
3176
  outputPrice: 4.4,
3107
3177
  cacheReadsPrice: 0.275,
3108
- supportsReasoningEffort: true,
3178
+ supportsReasoningEffort: ["low", "medium", "high"],
3109
3179
  reasoningEffort: "medium",
3110
3180
  supportsTemperature: false,
3111
3181
  tiers: [
@@ -3143,7 +3213,7 @@ var openAiNativeModels = {
3143
3213
  inputPrice: 1.1,
3144
3214
  outputPrice: 4.4,
3145
3215
  cacheReadsPrice: 0.55,
3146
- supportsReasoningEffort: true,
3216
+ supportsReasoningEffort: ["low", "medium", "high"],
3147
3217
  reasoningEffort: "medium",
3148
3218
  supportsTemperature: false
3149
3219
  },
@@ -3232,9 +3302,61 @@ var openAiNativeModels = {
3232
3302
  supportsPromptCache: false,
3233
3303
  inputPrice: 1.5,
3234
3304
  outputPrice: 6,
3235
- cacheReadsPrice: 0,
3305
+ cacheReadsPrice: 0.375,
3236
3306
  supportsTemperature: false,
3237
3307
  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."
3308
+ },
3309
+ // Dated clones (snapshots) preserved for backward compatibility
3310
+ "gpt-5-2025-08-07": {
3311
+ maxTokens: 128e3,
3312
+ contextWindow: 4e5,
3313
+ supportsImages: true,
3314
+ supportsPromptCache: true,
3315
+ supportsReasoningEffort: ["minimal", "low", "medium", "high"],
3316
+ reasoningEffort: "medium",
3317
+ inputPrice: 1.25,
3318
+ outputPrice: 10,
3319
+ cacheReadsPrice: 0.125,
3320
+ supportsVerbosity: true,
3321
+ supportsTemperature: false,
3322
+ tiers: [
3323
+ { name: "flex", contextWindow: 4e5, inputPrice: 0.625, outputPrice: 5, cacheReadsPrice: 0.0625 },
3324
+ { name: "priority", contextWindow: 4e5, inputPrice: 2.5, outputPrice: 20, cacheReadsPrice: 0.25 }
3325
+ ],
3326
+ description: "GPT-5: The best model for coding and agentic tasks across domains"
3327
+ },
3328
+ "gpt-5-mini-2025-08-07": {
3329
+ maxTokens: 128e3,
3330
+ contextWindow: 4e5,
3331
+ supportsImages: true,
3332
+ supportsPromptCache: true,
3333
+ supportsReasoningEffort: ["minimal", "low", "medium", "high"],
3334
+ reasoningEffort: "medium",
3335
+ inputPrice: 0.25,
3336
+ outputPrice: 2,
3337
+ cacheReadsPrice: 0.025,
3338
+ supportsVerbosity: true,
3339
+ supportsTemperature: false,
3340
+ tiers: [
3341
+ { name: "flex", contextWindow: 4e5, inputPrice: 0.125, outputPrice: 1, cacheReadsPrice: 0.0125 },
3342
+ { name: "priority", contextWindow: 4e5, inputPrice: 0.45, outputPrice: 3.6, cacheReadsPrice: 0.045 }
3343
+ ],
3344
+ description: "GPT-5 Mini: A faster, more cost-efficient version of GPT-5 for well-defined tasks"
3345
+ },
3346
+ "gpt-5-nano-2025-08-07": {
3347
+ maxTokens: 128e3,
3348
+ contextWindow: 4e5,
3349
+ supportsImages: true,
3350
+ supportsPromptCache: true,
3351
+ supportsReasoningEffort: ["minimal", "low", "medium", "high"],
3352
+ reasoningEffort: "medium",
3353
+ inputPrice: 0.05,
3354
+ outputPrice: 0.4,
3355
+ cacheReadsPrice: 5e-3,
3356
+ supportsVerbosity: true,
3357
+ supportsTemperature: false,
3358
+ tiers: [{ name: "flex", contextWindow: 4e5, inputPrice: 0.025, outputPrice: 0.2, cacheReadsPrice: 25e-4 }],
3359
+ description: "GPT-5 Nano: Fastest, most cost-efficient version of GPT-5"
3238
3360
  }
3239
3361
  };
3240
3362
  var openAiModelInfoSaneDefaults = {
@@ -3247,7 +3369,6 @@ var openAiModelInfoSaneDefaults = {
3247
3369
  };
3248
3370
  var azureOpenAiDefaultApiVersion = "2024-08-01-preview";
3249
3371
  var OPENAI_NATIVE_DEFAULT_TEMPERATURE = 0;
3250
- var GPT5_DEFAULT_TEMPERATURE = 1;
3251
3372
  var OPENAI_AZURE_AI_INFERENCE_PATH = "/models/chat/completions";
3252
3373
 
3253
3374
  // src/providers/openrouter.ts
@@ -3257,6 +3378,7 @@ var openRouterDefaultModelInfo = {
3257
3378
  contextWindow: 2e5,
3258
3379
  supportsImages: true,
3259
3380
  supportsPromptCache: true,
3381
+ supportsNativeTools: true,
3260
3382
  inputPrice: 3,
3261
3383
  outputPrice: 15,
3262
3384
  cacheWritesPrice: 3.75,
@@ -3365,6 +3487,16 @@ var requestyDefaultModelInfo = {
3365
3487
  var import_zod7 = require("zod");
3366
3488
  var rooDefaultModelId = "xai/grok-code-fast-1";
3367
3489
  var rooModels = {};
3490
+ var rooModelDefaults = {
3491
+ // Add model-specific defaults below.
3492
+ // You can configure defaultToolProtocol and other ModelInfo fields for specific model IDs.
3493
+ "anthropic/claude-haiku-4.5": {
3494
+ defaultToolProtocol: TOOL_PROTOCOL.NATIVE
3495
+ },
3496
+ "minimax/minimax-m2:free": {
3497
+ defaultToolProtocol: TOOL_PROTOCOL.NATIVE
3498
+ }
3499
+ };
3368
3500
  var RooPricingSchema = import_zod7.z.object({
3369
3501
  input: import_zod7.z.string(),
3370
3502
  output: import_zod7.z.string(),
@@ -4651,11 +4783,13 @@ var baseProviderSettingsSchema = import_zod8.z.object({
4651
4783
  consecutiveMistakeLimit: import_zod8.z.number().min(0).optional(),
4652
4784
  // Model reasoning.
4653
4785
  enableReasoningEffort: import_zod8.z.boolean().optional(),
4654
- reasoningEffort: reasoningEffortWithMinimalSchema.optional(),
4786
+ reasoningEffort: reasoningEffortSettingSchema.optional(),
4655
4787
  modelMaxTokens: import_zod8.z.number().optional(),
4656
4788
  modelMaxThinkingTokens: import_zod8.z.number().optional(),
4657
4789
  // Model verbosity.
4658
- verbosity: verbosityLevelsSchema.optional()
4790
+ verbosity: verbosityLevelsSchema.optional(),
4791
+ // Tool protocol override for this profile.
4792
+ toolProtocol: import_zod8.z.enum(["xml", "native"]).optional()
4659
4793
  });
4660
4794
  var apiModelIdProviderModelSchema = baseProviderSettingsSchema.extend({
4661
4795
  apiModelId: import_zod8.z.string().optional()
@@ -5132,7 +5266,8 @@ var experimentIds = [
5132
5266
  "multiFileApplyDiff",
5133
5267
  "preventFocusDisruption",
5134
5268
  "imageGeneration",
5135
- "runSlashCommand"
5269
+ "runSlashCommand",
5270
+ "nativeToolCalling"
5136
5271
  ];
5137
5272
  var experimentIdsSchema = import_zod10.z.enum(experimentIds);
5138
5273
  var experimentsSchema = import_zod10.z.object({
@@ -5140,7 +5275,8 @@ var experimentsSchema = import_zod10.z.object({
5140
5275
  multiFileApplyDiff: import_zod10.z.boolean().optional(),
5141
5276
  preventFocusDisruption: import_zod10.z.boolean().optional(),
5142
5277
  imageGeneration: import_zod10.z.boolean().optional(),
5143
- runSlashCommand: import_zod10.z.boolean().optional()
5278
+ runSlashCommand: import_zod10.z.boolean().optional(),
5279
+ nativeToolCalling: import_zod10.z.boolean().optional()
5144
5280
  });
5145
5281
 
5146
5282
  // src/telemetry.ts
@@ -5532,6 +5668,12 @@ var globalSettingsSchema = import_zod14.z.object({
5532
5668
  * @default true
5533
5669
  */
5534
5670
  includeCurrentCost: import_zod14.z.boolean().optional(),
5671
+ /**
5672
+ * Maximum number of git status file entries to include in the environment details.
5673
+ * Set to 0 to disable git status. The header (branch, commits) is always included when > 0.
5674
+ * @default 0
5675
+ */
5676
+ maxGitStatusFiles: import_zod14.z.number().optional(),
5535
5677
  /**
5536
5678
  * Whether to include diagnostic messages (errors, warnings) in tool outputs
5537
5679
  * @default true
@@ -5699,6 +5841,7 @@ var EVALS_SETTINGS = {
5699
5841
  rateLimitSeconds: 0,
5700
5842
  maxOpenTabsContext: 20,
5701
5843
  maxWorkspaceFiles: 200,
5844
+ maxGitStatusFiles: 20,
5702
5845
  showRooIgnoredFiles: true,
5703
5846
  maxReadFileLine: -1,
5704
5847
  // -1 to enable full file reading.
@@ -6342,7 +6485,6 @@ var commandExecutionStatusSchema = import_zod21.z.discriminatedUnion("status", [
6342
6485
  GLOBAL_SECRET_KEYS,
6343
6486
  GLOBAL_SETTINGS_KEYS,
6344
6487
  GLOBAL_STATE_KEYS,
6345
- GPT5_DEFAULT_TEMPERATURE,
6346
6488
  HEARTBEAT_INTERVAL_MS,
6347
6489
  HUGGINGFACE_API_URL,
6348
6490
  HUGGINGFACE_CACHE_DURATION,
@@ -6377,6 +6519,7 @@ var commandExecutionStatusSchema = import_zod21.z.discriminatedUnion("status", [
6377
6519
  RooModelsResponseSchema,
6378
6520
  RooPricingSchema,
6379
6521
  SECRET_STATE_KEYS,
6522
+ TOOL_PROTOCOL,
6380
6523
  TaskBridgeCommandName,
6381
6524
  TaskBridgeEventName,
6382
6525
  TaskCommandName,
@@ -6448,6 +6591,7 @@ var commandExecutionStatusSchema = import_zod21.z.discriminatedUnion("status", [
6448
6591
  geminiModels,
6449
6592
  getApiProtocol,
6450
6593
  getClaudeCodeModelId,
6594
+ getEffectiveProtocol,
6451
6595
  getModelId,
6452
6596
  getProviderDefaultModelId,
6453
6597
  gitPropertiesSchema,
@@ -6479,6 +6623,7 @@ var commandExecutionStatusSchema = import_zod21.z.discriminatedUnion("status", [
6479
6623
  isLanguage,
6480
6624
  isLocalProvider,
6481
6625
  isModelParameter,
6626
+ isNativeProtocol,
6482
6627
  isNonBlockingAsk,
6483
6628
  isProviderName,
6484
6629
  isResumableAsk,
@@ -6535,8 +6680,12 @@ var commandExecutionStatusSchema = import_zod21.z.discriminatedUnion("status", [
6535
6680
  queuedMessageSchema,
6536
6681
  qwenCodeDefaultModelId,
6537
6682
  qwenCodeModels,
6683
+ reasoningEffortExtendedSchema,
6684
+ reasoningEffortSettingSchema,
6685
+ reasoningEffortSettingValues,
6538
6686
  reasoningEffortWithMinimalSchema,
6539
6687
  reasoningEfforts,
6688
+ reasoningEffortsExtended,
6540
6689
  reasoningEffortsSchema,
6541
6690
  requestyDefaultModelId,
6542
6691
  requestyDefaultModelInfo,
@@ -6545,6 +6694,7 @@ var commandExecutionStatusSchema = import_zod21.z.discriminatedUnion("status", [
6545
6694
  rooCodeSettingsSchema,
6546
6695
  rooCodeTelemetryEventSchema,
6547
6696
  rooDefaultModelId,
6697
+ rooModelDefaults,
6548
6698
  rooModels,
6549
6699
  sambaNovaDefaultModelId,
6550
6700
  sambaNovaModels,