@roo-code/types 1.60.0 → 1.62.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
@@ -70,10 +70,13 @@ __export(index_exports, {
70
70
  PROVIDER_SETTINGS_KEYS: () => PROVIDER_SETTINGS_KEYS,
71
71
  RooCodeEventName: () => RooCodeEventName,
72
72
  SECRET_STATE_KEYS: () => SECRET_STATE_KEYS,
73
- SINGLE_FILE_READ_MODELS: () => SINGLE_FILE_READ_MODELS,
74
73
  TaskCommandName: () => TaskCommandName,
75
74
  TaskStatus: () => TaskStatus,
76
75
  TelemetryEventName: () => TelemetryEventName,
76
+ VERCEL_AI_GATEWAY_DEFAULT_TEMPERATURE: () => VERCEL_AI_GATEWAY_DEFAULT_TEMPERATURE,
77
+ VERCEL_AI_GATEWAY_PROMPT_CACHING_MODELS: () => VERCEL_AI_GATEWAY_PROMPT_CACHING_MODELS,
78
+ VERCEL_AI_GATEWAY_VISION_AND_TOOLS_MODELS: () => VERCEL_AI_GATEWAY_VISION_AND_TOOLS_MODELS,
79
+ VERCEL_AI_GATEWAY_VISION_ONLY_MODELS: () => VERCEL_AI_GATEWAY_VISION_ONLY_MODELS,
77
80
  VERTEX_REGIONS: () => VERTEX_REGIONS,
78
81
  ZAI_DEFAULT_TEMPERATURE: () => ZAI_DEFAULT_TEMPERATURE,
79
82
  ackSchema: () => ackSchema,
@@ -230,6 +233,8 @@ __export(index_exports, {
230
233
  unboundDefaultModelInfo: () => unboundDefaultModelInfo,
231
234
  verbosityLevels: () => verbosityLevels,
232
235
  verbosityLevelsSchema: () => verbosityLevelsSchema,
236
+ vercelAiGatewayDefaultModelId: () => vercelAiGatewayDefaultModelId,
237
+ vercelAiGatewayDefaultModelInfo: () => vercelAiGatewayDefaultModelInfo,
233
238
  vertexDefaultModelId: () => vertexDefaultModelId,
234
239
  vertexModels: () => vertexModels,
235
240
  vscodeLlmDefaultModelId: () => vscodeLlmDefaultModelId,
@@ -254,7 +259,7 @@ var CODEBASE_INDEX_DEFAULTS = {
254
259
  var codebaseIndexConfigSchema = import_zod.z.object({
255
260
  codebaseIndexEnabled: import_zod.z.boolean().optional(),
256
261
  codebaseIndexQdrantUrl: import_zod.z.string().optional(),
257
- codebaseIndexEmbedderProvider: import_zod.z.enum(["openai", "ollama", "openai-compatible", "gemini", "mistral"]).optional(),
262
+ codebaseIndexEmbedderProvider: import_zod.z.enum(["openai", "ollama", "openai-compatible", "gemini", "mistral", "vercel-ai-gateway"]).optional(),
258
263
  codebaseIndexEmbedderBaseUrl: import_zod.z.string().optional(),
259
264
  codebaseIndexEmbedderModelId: import_zod.z.string().optional(),
260
265
  codebaseIndexEmbedderModelDimension: import_zod.z.number().optional(),
@@ -269,7 +274,8 @@ var codebaseIndexModelsSchema = import_zod.z.object({
269
274
  ollama: import_zod.z.record(import_zod.z.string(), import_zod.z.object({ dimension: import_zod.z.number() })).optional(),
270
275
  "openai-compatible": import_zod.z.record(import_zod.z.string(), import_zod.z.object({ dimension: import_zod.z.number() })).optional(),
271
276
  gemini: import_zod.z.record(import_zod.z.string(), import_zod.z.object({ dimension: import_zod.z.number() })).optional(),
272
- mistral: import_zod.z.record(import_zod.z.string(), import_zod.z.object({ dimension: import_zod.z.number() })).optional()
277
+ mistral: import_zod.z.record(import_zod.z.string(), import_zod.z.object({ dimension: import_zod.z.number() })).optional(),
278
+ "vercel-ai-gateway": import_zod.z.record(import_zod.z.string(), import_zod.z.object({ dimension: import_zod.z.number() })).optional()
273
279
  });
274
280
  var codebaseIndexProviderSchema = import_zod.z.object({
275
281
  codeIndexOpenAiKey: import_zod.z.string().optional(),
@@ -278,7 +284,8 @@ var codebaseIndexProviderSchema = import_zod.z.object({
278
284
  codebaseIndexOpenAiCompatibleApiKey: import_zod.z.string().optional(),
279
285
  codebaseIndexOpenAiCompatibleModelDimension: import_zod.z.number().optional(),
280
286
  codebaseIndexGeminiApiKey: import_zod.z.string().optional(),
281
- codebaseIndexMistralApiKey: import_zod.z.string().optional()
287
+ codebaseIndexMistralApiKey: import_zod.z.string().optional(),
288
+ codebaseIndexVercelAiGatewayApiKey: import_zod.z.string().optional()
282
289
  });
283
290
 
284
291
  // src/events.ts
@@ -2889,16 +2896,16 @@ var requestyDefaultModelInfo = {
2889
2896
  };
2890
2897
 
2891
2898
  // src/providers/roo.ts
2892
- var rooDefaultModelId = "roo/sonic";
2899
+ var rooDefaultModelId = "xai/grok-code-fast-1";
2893
2900
  var rooModels = {
2894
- "roo/sonic": {
2901
+ "xai/grok-code-fast-1": {
2895
2902
  maxTokens: 16384,
2896
2903
  contextWindow: 262144,
2897
2904
  supportsImages: false,
2898
2905
  supportsPromptCache: true,
2899
2906
  inputPrice: 0,
2900
2907
  outputPrice: 0,
2901
- description: "A stealth reasoning model that is blazing fast and excels at agentic coding, accessible for free through Roo Code Cloud for a limited time. (Note: prompts and completions are logged by the model creator and used to improve the model.)"
2908
+ description: "A reasoning model that is blazing fast and excels at agentic coding, accessible for free through Roo Code Cloud for a limited time. (Note: the free prompts and completions are logged by xAI and used to improve the model.)"
2902
2909
  }
2903
2910
  };
2904
2911
 
@@ -3506,8 +3513,19 @@ var vscodeLlmModels = {
3506
3513
  };
3507
3514
 
3508
3515
  // src/providers/xai.ts
3509
- var xaiDefaultModelId = "grok-4";
3516
+ var xaiDefaultModelId = "grok-code-fast-1";
3510
3517
  var xaiModels = {
3518
+ "grok-code-fast-1": {
3519
+ maxTokens: 16384,
3520
+ contextWindow: 262144,
3521
+ supportsImages: false,
3522
+ supportsPromptCache: true,
3523
+ inputPrice: 0.2,
3524
+ outputPrice: 1.5,
3525
+ cacheWritesPrice: 0.02,
3526
+ cacheReadsPrice: 0.02,
3527
+ description: "xAI's Grok Code Fast model with 256K context window"
3528
+ },
3511
3529
  "grok-4": {
3512
3530
  maxTokens: 8192,
3513
3531
  contextWindow: 256e3,
@@ -3585,6 +3603,101 @@ var xaiModels = {
3585
3603
  }
3586
3604
  };
3587
3605
 
3606
+ // src/providers/vercel-ai-gateway.ts
3607
+ var vercelAiGatewayDefaultModelId = "anthropic/claude-sonnet-4";
3608
+ var VERCEL_AI_GATEWAY_PROMPT_CACHING_MODELS = /* @__PURE__ */ new Set([
3609
+ "anthropic/claude-3-haiku",
3610
+ "anthropic/claude-3-opus",
3611
+ "anthropic/claude-3.5-haiku",
3612
+ "anthropic/claude-3.5-sonnet",
3613
+ "anthropic/claude-3.7-sonnet",
3614
+ "anthropic/claude-opus-4",
3615
+ "anthropic/claude-opus-4.1",
3616
+ "anthropic/claude-sonnet-4",
3617
+ "openai/gpt-4.1",
3618
+ "openai/gpt-4.1-mini",
3619
+ "openai/gpt-4.1-nano",
3620
+ "openai/gpt-4o",
3621
+ "openai/gpt-4o-mini",
3622
+ "openai/gpt-5",
3623
+ "openai/gpt-5-mini",
3624
+ "openai/gpt-5-nano",
3625
+ "openai/o1",
3626
+ "openai/o3",
3627
+ "openai/o3-mini",
3628
+ "openai/o4-mini"
3629
+ ]);
3630
+ var VERCEL_AI_GATEWAY_VISION_ONLY_MODELS = /* @__PURE__ */ new Set([
3631
+ "alibaba/qwen-3-14b",
3632
+ "alibaba/qwen-3-235b",
3633
+ "alibaba/qwen-3-30b",
3634
+ "alibaba/qwen-3-32b",
3635
+ "alibaba/qwen3-coder",
3636
+ "amazon/nova-pro",
3637
+ "anthropic/claude-3.5-haiku",
3638
+ "google/gemini-1.5-flash-8b",
3639
+ "google/gemini-2.0-flash-thinking",
3640
+ "google/gemma-3-27b",
3641
+ "mistral/devstral-small",
3642
+ "xai/grok-vision-beta"
3643
+ ]);
3644
+ var VERCEL_AI_GATEWAY_VISION_AND_TOOLS_MODELS = /* @__PURE__ */ new Set([
3645
+ "amazon/nova-lite",
3646
+ "anthropic/claude-3-haiku",
3647
+ "anthropic/claude-3-opus",
3648
+ "anthropic/claude-3-sonnet",
3649
+ "anthropic/claude-3.5-sonnet",
3650
+ "anthropic/claude-3.7-sonnet",
3651
+ "anthropic/claude-opus-4",
3652
+ "anthropic/claude-opus-4.1",
3653
+ "anthropic/claude-sonnet-4",
3654
+ "google/gemini-1.5-flash",
3655
+ "google/gemini-1.5-pro",
3656
+ "google/gemini-2.0-flash",
3657
+ "google/gemini-2.0-flash-lite",
3658
+ "google/gemini-2.0-pro",
3659
+ "google/gemini-2.5-flash",
3660
+ "google/gemini-2.5-flash-lite",
3661
+ "google/gemini-2.5-pro",
3662
+ "google/gemini-exp",
3663
+ "meta/llama-3.2-11b",
3664
+ "meta/llama-3.2-90b",
3665
+ "meta/llama-3.3",
3666
+ "meta/llama-4-maverick",
3667
+ "meta/llama-4-scout",
3668
+ "mistral/pixtral-12b",
3669
+ "mistral/pixtral-large",
3670
+ "moonshotai/kimi-k2",
3671
+ "openai/gpt-4-turbo",
3672
+ "openai/gpt-4.1",
3673
+ "openai/gpt-4.1-mini",
3674
+ "openai/gpt-4.1-nano",
3675
+ "openai/gpt-4.5-preview",
3676
+ "openai/gpt-4o",
3677
+ "openai/gpt-4o-mini",
3678
+ "openai/gpt-oss-120b",
3679
+ "openai/gpt-oss-20b",
3680
+ "openai/o3",
3681
+ "openai/o3-pro",
3682
+ "openai/o4-mini",
3683
+ "vercel/v0-1.0-md",
3684
+ "xai/grok-2-vision",
3685
+ "zai/glm-4.5v"
3686
+ ]);
3687
+ var vercelAiGatewayDefaultModelInfo = {
3688
+ maxTokens: 64e3,
3689
+ contextWindow: 2e5,
3690
+ supportsImages: true,
3691
+ supportsComputerUse: true,
3692
+ supportsPromptCache: true,
3693
+ inputPrice: 3,
3694
+ outputPrice: 15,
3695
+ cacheWritesPrice: 3.75,
3696
+ cacheReadsPrice: 0.3,
3697
+ description: "Claude Sonnet 4 significantly improves on Sonnet 3.7's industry-leading capabilities, excelling in coding with a state-of-the-art 72.7% on SWE-bench. The model balances performance and efficiency for internal and external use cases, with enhanced steerability for greater control over implementations. While not matching Opus 4 in most domains, it delivers an optimal mix of capability and practicality."
3698
+ };
3699
+ var VERCEL_AI_GATEWAY_DEFAULT_TEMPERATURE = 0.7;
3700
+
3588
3701
  // src/providers/zai.ts
3589
3702
  var internationalZAiDefaultModelId = "glm-4.5";
3590
3703
  var internationalZAiModels = {
@@ -3713,13 +3826,15 @@ var providerNames = [
3713
3826
  "fireworks",
3714
3827
  "featherless",
3715
3828
  "io-intelligence",
3716
- "roo"
3829
+ "roo",
3830
+ "vercel-ai-gateway"
3717
3831
  ];
3718
3832
  var providerNamesSchema = import_zod8.z.enum(providerNames);
3719
3833
  var providerSettingsEntrySchema = import_zod8.z.object({
3720
3834
  id: import_zod8.z.string(),
3721
3835
  name: import_zod8.z.string(),
3722
- apiProvider: providerNamesSchema.optional()
3836
+ apiProvider: providerNamesSchema.optional(),
3837
+ modelId: import_zod8.z.string().optional()
3723
3838
  });
3724
3839
  var DEFAULT_CONSECUTIVE_MISTAKE_LIMIT = 3;
3725
3840
  var baseProviderSettingsSchema = import_zod8.z.object({
@@ -3910,6 +4025,10 @@ var qwenCodeSchema = apiModelIdProviderModelSchema.extend({
3910
4025
  var rooSchema = apiModelIdProviderModelSchema.extend({
3911
4026
  // No additional fields needed - uses cloud authentication
3912
4027
  });
4028
+ var vercelAiGatewaySchema = baseProviderSettingsSchema.extend({
4029
+ vercelAiGatewayApiKey: import_zod8.z.string().optional(),
4030
+ vercelAiGatewayModelId: import_zod8.z.string().optional()
4031
+ });
3913
4032
  var defaultSchema = import_zod8.z.object({
3914
4033
  apiProvider: import_zod8.z.undefined()
3915
4034
  });
@@ -3948,6 +4067,7 @@ var providerSettingsSchemaDiscriminated = import_zod8.z.discriminatedUnion("apiP
3948
4067
  ioIntelligenceSchema.merge(import_zod8.z.object({ apiProvider: import_zod8.z.literal("io-intelligence") })),
3949
4068
  qwenCodeSchema.merge(import_zod8.z.object({ apiProvider: import_zod8.z.literal("qwen-code") })),
3950
4069
  rooSchema.merge(import_zod8.z.object({ apiProvider: import_zod8.z.literal("roo") })),
4070
+ vercelAiGatewaySchema.merge(import_zod8.z.object({ apiProvider: import_zod8.z.literal("vercel-ai-gateway") })),
3951
4071
  defaultSchema
3952
4072
  ]);
3953
4073
  var providerSettingsSchema = import_zod8.z.object({
@@ -3986,6 +4106,7 @@ var providerSettingsSchema = import_zod8.z.object({
3986
4106
  ...ioIntelligenceSchema.shape,
3987
4107
  ...qwenCodeSchema.shape,
3988
4108
  ...rooSchema.shape,
4109
+ ...vercelAiGatewaySchema.shape,
3989
4110
  ...codebaseIndexProviderSchema.shape
3990
4111
  });
3991
4112
  var providerSettingsWithIdSchema = providerSettingsSchema.extend({ id: import_zod8.z.string().optional() });
@@ -4005,7 +4126,8 @@ var MODEL_ID_KEYS = [
4005
4126
  "requestyModelId",
4006
4127
  "litellmModelId",
4007
4128
  "huggingFaceModelId",
4008
- "ioIntelligenceModelId"
4129
+ "ioIntelligenceModelId",
4130
+ "vercelAiGatewayModelId"
4009
4131
  ];
4010
4132
  var getModelId = (settings) => {
4011
4133
  const modelIdKey = MODEL_ID_KEYS.find((key) => settings[key]);
@@ -4019,6 +4141,9 @@ var getApiProtocol = (provider, modelId) => {
4019
4141
  if (provider && provider === "vertex" && modelId && modelId.toLowerCase().includes("claude")) {
4020
4142
  return "anthropic";
4021
4143
  }
4144
+ if (provider && provider === "vercel-ai-gateway" && modelId && modelId.toLowerCase().startsWith("anthropic/")) {
4145
+ return "anthropic";
4146
+ }
4022
4147
  return "openai";
4023
4148
  };
4024
4149
  var MODELS_BY_PROVIDER = {
@@ -4110,7 +4235,8 @@ var MODELS_BY_PROVIDER = {
4110
4235
  litellm: { id: "litellm", label: "LiteLLM", models: [] },
4111
4236
  openrouter: { id: "openrouter", label: "OpenRouter", models: [] },
4112
4237
  requesty: { id: "requesty", label: "Requesty", models: [] },
4113
- unbound: { id: "unbound", label: "Unbound", models: [] }
4238
+ unbound: { id: "unbound", label: "Unbound", models: [] },
4239
+ "vercel-ai-gateway": { id: "vercel-ai-gateway", label: "Vercel AI Gateway", models: [] }
4114
4240
  };
4115
4241
  var dynamicProviders = [
4116
4242
  "glama",
@@ -4118,7 +4244,8 @@ var dynamicProviders = [
4118
4244
  "litellm",
4119
4245
  "openrouter",
4120
4246
  "requesty",
4121
- "unbound"
4247
+ "unbound",
4248
+ "vercel-ai-gateway"
4122
4249
  ];
4123
4250
  var isDynamicProvider = (key) => dynamicProviders.includes(key);
4124
4251
 
@@ -4585,12 +4712,14 @@ var SECRET_STATE_KEYS = [
4585
4712
  "codebaseIndexOpenAiCompatibleApiKey",
4586
4713
  "codebaseIndexGeminiApiKey",
4587
4714
  "codebaseIndexMistralApiKey",
4715
+ "codebaseIndexVercelAiGatewayApiKey",
4588
4716
  "huggingFaceApiKey",
4589
4717
  "sambaNovaApiKey",
4590
4718
  "zaiApiKey",
4591
4719
  "fireworksApiKey",
4592
4720
  "featherlessApiKey",
4593
- "ioIntelligenceApiKey"
4721
+ "ioIntelligenceApiKey",
4722
+ "vercelAiGatewayApiKey"
4594
4723
  ];
4595
4724
  var isSecretStateKey = (key) => SECRET_STATE_KEYS.includes(key);
4596
4725
  var GLOBAL_STATE_KEYS = [...GLOBAL_SETTINGS_KEYS, ...PROVIDER_SETTINGS_KEYS].filter(
@@ -4811,18 +4940,8 @@ var mcpExecutionStatusSchema = import_zod16.z.discriminatedUnion("status", [
4811
4940
  ]);
4812
4941
 
4813
4942
  // src/single-file-read-models.ts
4814
- var SINGLE_FILE_READ_MODELS = /* @__PURE__ */ new Set(["roo/sonic"]);
4815
4943
  function shouldUseSingleFileRead(modelId) {
4816
- if (SINGLE_FILE_READ_MODELS.has(modelId)) {
4817
- return true;
4818
- }
4819
- const patterns = Array.from(SINGLE_FILE_READ_MODELS);
4820
- for (const pattern of patterns) {
4821
- if (pattern.endsWith("*") && modelId.startsWith(pattern.slice(0, -1))) {
4822
- return true;
4823
- }
4824
- }
4825
- return false;
4944
+ return modelId.includes("grok-code-fast-1");
4826
4945
  }
4827
4946
 
4828
4947
  // src/task.ts
@@ -4929,10 +5048,13 @@ var commandExecutionStatusSchema = import_zod19.z.discriminatedUnion("status", [
4929
5048
  PROVIDER_SETTINGS_KEYS,
4930
5049
  RooCodeEventName,
4931
5050
  SECRET_STATE_KEYS,
4932
- SINGLE_FILE_READ_MODELS,
4933
5051
  TaskCommandName,
4934
5052
  TaskStatus,
4935
5053
  TelemetryEventName,
5054
+ VERCEL_AI_GATEWAY_DEFAULT_TEMPERATURE,
5055
+ VERCEL_AI_GATEWAY_PROMPT_CACHING_MODELS,
5056
+ VERCEL_AI_GATEWAY_VISION_AND_TOOLS_MODELS,
5057
+ VERCEL_AI_GATEWAY_VISION_ONLY_MODELS,
4936
5058
  VERTEX_REGIONS,
4937
5059
  ZAI_DEFAULT_TEMPERATURE,
4938
5060
  ackSchema,
@@ -5089,6 +5211,8 @@ var commandExecutionStatusSchema = import_zod19.z.discriminatedUnion("status", [
5089
5211
  unboundDefaultModelInfo,
5090
5212
  verbosityLevels,
5091
5213
  verbosityLevelsSchema,
5214
+ vercelAiGatewayDefaultModelId,
5215
+ vercelAiGatewayDefaultModelInfo,
5092
5216
  vertexDefaultModelId,
5093
5217
  vertexModels,
5094
5218
  vscodeLlmDefaultModelId,