@verboo/code 0.7.18 → 0.7.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/cli.mjs +395 -270
  2. package/package.json +5 -1
package/dist/cli.mjs CHANGED
@@ -31540,7 +31540,7 @@ function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {
31540
31540
  }
31541
31541
  var init_buildFullPath = () => {};
31542
31542
 
31543
- // node_modules/proxy-from-env/index.js
31543
+ // node_modules/axios/node_modules/proxy-from-env/index.js
31544
31544
  function parseUrl(urlString) {
31545
31545
  try {
31546
31546
  return new URL(urlString);
@@ -36291,158 +36291,6 @@ var init_providerProfile = __esm(() => {
36291
36291
  ];
36292
36292
  });
36293
36293
 
36294
- // src/utils/providerFlag.ts
36295
- var exports_providerFlag = {};
36296
- __export(exports_providerFlag, {
36297
- parseProviderFlag: () => parseProviderFlag,
36298
- applyProviderFlagFromArgs: () => applyProviderFlagFromArgs,
36299
- applyProviderFlag: () => applyProviderFlag,
36300
- VALID_PROVIDERS: () => VALID_PROVIDERS
36301
- });
36302
- function parseProviderFlag(args) {
36303
- const idx = args.indexOf("--provider");
36304
- if (idx === -1)
36305
- return null;
36306
- const value = args[idx + 1];
36307
- if (!value || value.startsWith("--"))
36308
- return null;
36309
- return value;
36310
- }
36311
- function applyProviderFlagFromArgs(args) {
36312
- const provider = parseProviderFlag(args);
36313
- if (!provider)
36314
- return;
36315
- return applyProviderFlag(provider, args);
36316
- }
36317
- function parseModelFlag(args) {
36318
- const idx = args.indexOf("--model");
36319
- if (idx === -1)
36320
- return null;
36321
- const value = args[idx + 1];
36322
- if (!value || value.startsWith("--"))
36323
- return null;
36324
- return value;
36325
- }
36326
- function applyProviderFlag(provider, args) {
36327
- return {
36328
- error: "Verboo Code usa apenas o provider nativo Verboo."
36329
- };
36330
- if (!VALID_PROVIDERS.includes(provider)) {
36331
- return {
36332
- error: `Unknown provider "${provider}". Valid providers: ${VALID_PROVIDERS.join(", ")}`
36333
- };
36334
- }
36335
- delete process.env.CLAUDE_CODE_USE_OPENAI;
36336
- delete process.env.CLAUDE_CODE_USE_GEMINI;
36337
- delete process.env.CLAUDE_CODE_USE_MISTRAL;
36338
- delete process.env.CLAUDE_CODE_USE_GITHUB;
36339
- delete process.env.CLAUDE_CODE_USE_BEDROCK;
36340
- delete process.env.CLAUDE_CODE_USE_VERTEX;
36341
- const model = parseModelFlag(args);
36342
- switch (provider) {
36343
- case "anthropic":
36344
- break;
36345
- case "openai":
36346
- process.env.CLAUDE_CODE_USE_OPENAI = "1";
36347
- if (model)
36348
- process.env.OPENAI_MODEL = model;
36349
- break;
36350
- case "gemini":
36351
- process.env.CLAUDE_CODE_USE_GEMINI = "1";
36352
- if (model)
36353
- process.env.GEMINI_MODEL = model;
36354
- break;
36355
- case "mistral":
36356
- process.env.CLAUDE_CODE_USE_MISTRAL = "1";
36357
- if (model)
36358
- process.env.MISTRAL_MODEL = model;
36359
- break;
36360
- case "github":
36361
- process.env.CLAUDE_CODE_USE_GITHUB = "1";
36362
- if (model)
36363
- process.env.OPENAI_MODEL = model;
36364
- break;
36365
- case "bedrock":
36366
- process.env.CLAUDE_CODE_USE_BEDROCK = "1";
36367
- break;
36368
- case "vertex":
36369
- process.env.CLAUDE_CODE_USE_VERTEX = "1";
36370
- break;
36371
- case "ollama":
36372
- process.env.CLAUDE_CODE_USE_OPENAI = "1";
36373
- if (!process.env.OPENAI_BASE_URL) {
36374
- process.env.OPENAI_BASE_URL = "http://localhost:11434/v1";
36375
- }
36376
- if (!process.env.OPENAI_API_KEY) {
36377
- process.env.OPENAI_API_KEY = "ollama";
36378
- }
36379
- if (model)
36380
- process.env.OPENAI_MODEL = model;
36381
- break;
36382
- case "nvidia-nim":
36383
- process.env.CLAUDE_CODE_USE_OPENAI = "1";
36384
- process.env.OPENAI_BASE_URL ??= "https://integrate.api.nvidia.com/v1";
36385
- process.env.NVIDIA_NIM = "1";
36386
- process.env.OPENAI_MODEL ??= "nvidia/llama-3.1-nemotron-70b-instruct";
36387
- if (model)
36388
- process.env.OPENAI_MODEL = model;
36389
- break;
36390
- case "minimax":
36391
- process.env.CLAUDE_CODE_USE_OPENAI = "1";
36392
- process.env.OPENAI_BASE_URL ??= "https://api.minimax.io/v1";
36393
- process.env.OPENAI_MODEL ??= "MiniMax-M2.5";
36394
- if (model)
36395
- process.env.OPENAI_MODEL = model;
36396
- break;
36397
- case "bankr":
36398
- process.env.CLAUDE_CODE_USE_OPENAI = "1";
36399
- process.env.OPENAI_BASE_URL ??= "https://llm.bankr.bot/v1";
36400
- process.env.OPENAI_MODEL ??= "claude-opus-4.6";
36401
- if (model)
36402
- process.env.OPENAI_MODEL = model;
36403
- if (process.env.BNKR_API_KEY && !process.env.OPENAI_API_KEY) {
36404
- process.env.OPENAI_API_KEY = process.env.BNKR_API_KEY;
36405
- }
36406
- break;
36407
- case "zai":
36408
- process.env.CLAUDE_CODE_USE_OPENAI = "1";
36409
- process.env.OPENAI_BASE_URL ??= "https://api.z.ai/api/coding/paas/v4";
36410
- process.env.OPENAI_MODEL ??= "GLM-5.1";
36411
- if (model)
36412
- process.env.OPENAI_MODEL = model;
36413
- break;
36414
- case "xai":
36415
- process.env.CLAUDE_CODE_USE_OPENAI = "1";
36416
- process.env.OPENAI_BASE_URL ??= "https://api.x.ai/v1";
36417
- process.env.OPENAI_MODEL ??= "grok-4";
36418
- if (model)
36419
- process.env.OPENAI_MODEL = model;
36420
- if (process.env.XAI_API_KEY && !process.env.OPENAI_API_KEY) {
36421
- process.env.OPENAI_API_KEY = process.env.XAI_API_KEY;
36422
- }
36423
- break;
36424
- }
36425
- return {};
36426
- }
36427
- var VALID_PROVIDERS;
36428
- var init_providerFlag = __esm(() => {
36429
- VALID_PROVIDERS = [
36430
- "anthropic",
36431
- "bankr",
36432
- "zai",
36433
- "xai",
36434
- "openai",
36435
- "gemini",
36436
- "mistral",
36437
- "github",
36438
- "bedrock",
36439
- "vertex",
36440
- "ollama",
36441
- "nvidia-nim",
36442
- "minimax"
36443
- ];
36444
- });
36445
-
36446
36294
  // node_modules/lodash-es/_baseSet.js
36447
36295
  function baseSet(object, path9, value, customizer) {
36448
36296
  if (!isObject_default(object)) {
@@ -58628,6 +58476,239 @@ var init_config = __esm(() => {
58628
58476
  _wouldLoseAuthStateForTesting = wouldLoseAuthState;
58629
58477
  });
58630
58478
 
58479
+ // src/utils/providerStartupOverrides.ts
58480
+ function clearStartupProviderOverrides(options) {
58481
+ const updateUserSettings = options?.updateUserSettings ?? updateSettingsForSource;
58482
+ const saveConfig2 = options?.saveConfig ?? saveGlobalConfig;
58483
+ const envPatch = Object.fromEntries(STARTUP_PROVIDER_OVERRIDE_ENV_KEYS.map((key) => [
58484
+ key,
58485
+ DELETE_SETTINGS_ENV_VALUE
58486
+ ]));
58487
+ const { error: error41 } = updateUserSettings("userSettings", { env: envPatch });
58488
+ let globalConfigError = null;
58489
+ try {
58490
+ saveConfig2((current) => {
58491
+ const currentEnv = current.env ?? {};
58492
+ let changed = false;
58493
+ const nextEnv = { ...currentEnv };
58494
+ for (const key of STARTUP_PROVIDER_OVERRIDE_ENV_KEYS) {
58495
+ if (key in nextEnv) {
58496
+ delete nextEnv[key];
58497
+ changed = true;
58498
+ }
58499
+ }
58500
+ return changed ? { ...current, env: nextEnv } : current;
58501
+ });
58502
+ } catch (configError) {
58503
+ globalConfigError = configError instanceof Error ? configError.message : String(configError);
58504
+ }
58505
+ return error41?.message ?? globalConfigError;
58506
+ }
58507
+ function clearStartupProviderEnvFromProcessEnv(processEnv = process.env) {
58508
+ for (const key of STARTUP_PROVIDER_OVERRIDE_ENV_KEYS) {
58509
+ delete processEnv[key];
58510
+ }
58511
+ }
58512
+ var STARTUP_PROVIDER_OVERRIDE_ENV_KEYS, DELETE_SETTINGS_ENV_VALUE = undefined;
58513
+ var init_providerStartupOverrides = __esm(() => {
58514
+ init_config();
58515
+ init_settings2();
58516
+ STARTUP_PROVIDER_OVERRIDE_ENV_KEYS = [
58517
+ "CLAUDE_CODE_USE_OPENAI",
58518
+ "CLAUDE_CODE_USE_GEMINI",
58519
+ "CLAUDE_CODE_USE_MISTRAL",
58520
+ "CLAUDE_CODE_USE_GITHUB",
58521
+ "CLAUDE_CODE_USE_BEDROCK",
58522
+ "CLAUDE_CODE_USE_VERTEX",
58523
+ "CLAUDE_CODE_USE_FOUNDRY",
58524
+ "OPENAI_BASE_URL",
58525
+ "OPENAI_API_BASE",
58526
+ "OPENAI_MODEL",
58527
+ "OPENAI_API_KEY",
58528
+ "OPENAI_ORG",
58529
+ "OPENAI_PROJECT",
58530
+ "OPENAI_ORGANIZATION",
58531
+ "ANTHROPIC_BASE_URL",
58532
+ "ANTHROPIC_MODEL",
58533
+ "ANTHROPIC_API_KEY",
58534
+ "CLAUDE_MODEL",
58535
+ "GEMINI_API_KEY",
58536
+ "GOOGLE_API_KEY",
58537
+ "GEMINI_BASE_URL",
58538
+ "GEMINI_MODEL",
58539
+ "GEMINI_ACCESS_TOKEN",
58540
+ "GEMINI_AUTH_MODE",
58541
+ "MISTRAL_BASE_URL",
58542
+ "MISTRAL_MODEL",
58543
+ "MISTRAL_API_KEY",
58544
+ "CODEX_API_KEY",
58545
+ "CODEX_CREDENTIAL_SOURCE",
58546
+ "CHATGPT_ACCOUNT_ID",
58547
+ "CODEX_ACCOUNT_ID",
58548
+ "MINIMAX_API_KEY",
58549
+ "MINIMAX_BASE_URL",
58550
+ "MINIMAX_MODEL",
58551
+ "NVIDIA_API_KEY",
58552
+ "NVIDIA_NIM",
58553
+ "BANKR_BASE_URL",
58554
+ "BANKR_MODEL",
58555
+ "BNKR_API_KEY",
58556
+ "XAI_API_KEY"
58557
+ ];
58558
+ });
58559
+
58560
+ // src/utils/providerFlag.ts
58561
+ var exports_providerFlag = {};
58562
+ __export(exports_providerFlag, {
58563
+ parseProviderFlag: () => parseProviderFlag,
58564
+ applyProviderFlagFromArgs: () => applyProviderFlagFromArgs,
58565
+ applyProviderFlag: () => applyProviderFlag,
58566
+ VALID_PROVIDERS: () => VALID_PROVIDERS
58567
+ });
58568
+ function parseProviderFlag(args) {
58569
+ const idx = args.indexOf("--provider");
58570
+ if (idx === -1)
58571
+ return null;
58572
+ const value = args[idx + 1];
58573
+ if (!value || value.startsWith("--"))
58574
+ return null;
58575
+ return value;
58576
+ }
58577
+ function applyProviderFlagFromArgs(args) {
58578
+ const provider = parseProviderFlag(args);
58579
+ if (!provider)
58580
+ return;
58581
+ return applyProviderFlag(provider, args);
58582
+ }
58583
+ function parseModelFlag(args) {
58584
+ const idx = args.indexOf("--model");
58585
+ if (idx === -1)
58586
+ return null;
58587
+ const value = args[idx + 1];
58588
+ if (!value || value.startsWith("--"))
58589
+ return null;
58590
+ return value;
58591
+ }
58592
+ function applyProviderFlag(provider, args) {
58593
+ return {
58594
+ error: "Verboo Code usa apenas o provider nativo Verboo."
58595
+ };
58596
+ if (!VALID_PROVIDERS.includes(provider)) {
58597
+ return {
58598
+ error: `Unknown provider "${provider}". Valid providers: ${VALID_PROVIDERS.join(", ")}`
58599
+ };
58600
+ }
58601
+ delete process.env.CLAUDE_CODE_USE_OPENAI;
58602
+ delete process.env.CLAUDE_CODE_USE_GEMINI;
58603
+ delete process.env.CLAUDE_CODE_USE_MISTRAL;
58604
+ delete process.env.CLAUDE_CODE_USE_GITHUB;
58605
+ delete process.env.CLAUDE_CODE_USE_BEDROCK;
58606
+ delete process.env.CLAUDE_CODE_USE_VERTEX;
58607
+ const model = parseModelFlag(args);
58608
+ switch (provider) {
58609
+ case "anthropic":
58610
+ break;
58611
+ case "openai":
58612
+ process.env.CLAUDE_CODE_USE_OPENAI = "1";
58613
+ if (model)
58614
+ process.env.OPENAI_MODEL = model;
58615
+ break;
58616
+ case "gemini":
58617
+ process.env.CLAUDE_CODE_USE_GEMINI = "1";
58618
+ if (model)
58619
+ process.env.GEMINI_MODEL = model;
58620
+ break;
58621
+ case "mistral":
58622
+ process.env.CLAUDE_CODE_USE_MISTRAL = "1";
58623
+ if (model)
58624
+ process.env.MISTRAL_MODEL = model;
58625
+ break;
58626
+ case "github":
58627
+ process.env.CLAUDE_CODE_USE_GITHUB = "1";
58628
+ if (model)
58629
+ process.env.OPENAI_MODEL = model;
58630
+ break;
58631
+ case "bedrock":
58632
+ process.env.CLAUDE_CODE_USE_BEDROCK = "1";
58633
+ break;
58634
+ case "vertex":
58635
+ process.env.CLAUDE_CODE_USE_VERTEX = "1";
58636
+ break;
58637
+ case "ollama":
58638
+ process.env.CLAUDE_CODE_USE_OPENAI = "1";
58639
+ if (!process.env.OPENAI_BASE_URL) {
58640
+ process.env.OPENAI_BASE_URL = "http://localhost:11434/v1";
58641
+ }
58642
+ if (!process.env.OPENAI_API_KEY) {
58643
+ process.env.OPENAI_API_KEY = "ollama";
58644
+ }
58645
+ if (model)
58646
+ process.env.OPENAI_MODEL = model;
58647
+ break;
58648
+ case "nvidia-nim":
58649
+ process.env.CLAUDE_CODE_USE_OPENAI = "1";
58650
+ process.env.OPENAI_BASE_URL ??= "https://integrate.api.nvidia.com/v1";
58651
+ process.env.NVIDIA_NIM = "1";
58652
+ process.env.OPENAI_MODEL ??= "nvidia/llama-3.1-nemotron-70b-instruct";
58653
+ if (model)
58654
+ process.env.OPENAI_MODEL = model;
58655
+ break;
58656
+ case "minimax":
58657
+ process.env.CLAUDE_CODE_USE_OPENAI = "1";
58658
+ process.env.OPENAI_BASE_URL ??= "https://api.minimax.io/v1";
58659
+ process.env.OPENAI_MODEL ??= "MiniMax-M2.5";
58660
+ if (model)
58661
+ process.env.OPENAI_MODEL = model;
58662
+ break;
58663
+ case "bankr":
58664
+ process.env.CLAUDE_CODE_USE_OPENAI = "1";
58665
+ process.env.OPENAI_BASE_URL ??= "https://llm.bankr.bot/v1";
58666
+ process.env.OPENAI_MODEL ??= "claude-opus-4.6";
58667
+ if (model)
58668
+ process.env.OPENAI_MODEL = model;
58669
+ if (process.env.BNKR_API_KEY && !process.env.OPENAI_API_KEY) {
58670
+ process.env.OPENAI_API_KEY = process.env.BNKR_API_KEY;
58671
+ }
58672
+ break;
58673
+ case "zai":
58674
+ process.env.CLAUDE_CODE_USE_OPENAI = "1";
58675
+ process.env.OPENAI_BASE_URL ??= "https://api.z.ai/api/coding/paas/v4";
58676
+ process.env.OPENAI_MODEL ??= "GLM-5.1";
58677
+ if (model)
58678
+ process.env.OPENAI_MODEL = model;
58679
+ break;
58680
+ case "xai":
58681
+ process.env.CLAUDE_CODE_USE_OPENAI = "1";
58682
+ process.env.OPENAI_BASE_URL ??= "https://api.x.ai/v1";
58683
+ process.env.OPENAI_MODEL ??= "grok-4";
58684
+ if (model)
58685
+ process.env.OPENAI_MODEL = model;
58686
+ if (process.env.XAI_API_KEY && !process.env.OPENAI_API_KEY) {
58687
+ process.env.OPENAI_API_KEY = process.env.XAI_API_KEY;
58688
+ }
58689
+ break;
58690
+ }
58691
+ return {};
58692
+ }
58693
+ var VALID_PROVIDERS;
58694
+ var init_providerFlag = __esm(() => {
58695
+ VALID_PROVIDERS = [
58696
+ "anthropic",
58697
+ "bankr",
58698
+ "zai",
58699
+ "xai",
58700
+ "openai",
58701
+ "gemini",
58702
+ "mistral",
58703
+ "github",
58704
+ "bedrock",
58705
+ "vertex",
58706
+ "ollama",
58707
+ "nvidia-nim",
58708
+ "minimax"
58709
+ ];
58710
+ });
58711
+
58631
58712
  // node_modules/chalk/source/vendor/ansi-styles/index.js
58632
58713
  function assembleStyles() {
58633
58714
  const codes = new Map;
@@ -115467,6 +115548,13 @@ __export(exports_StartupScreen, {
115467
115548
  detectProvider: () => detectProvider
115468
115549
  });
115469
115550
  function detectProvider(modelOverride) {
115551
+ if (isVerbooMode()) {
115552
+ const safeOverride = modelOverride && !isClaudeModelLike(modelOverride) ? modelOverride : getDefaultVerbooModel();
115553
+ const resolvedModel2 = parseUserSpecifiedModel(safeOverride);
115554
+ const baseUrl2 = VERBOO_ROUTER_URL;
115555
+ const isLocal2 = isLocalProviderUrl(baseUrl2);
115556
+ return { name: "Verboo", model: resolvedModel2, baseUrl: baseUrl2, isLocal: isLocal2 };
115557
+ }
115470
115558
  const useGemini = process.env.CLAUDE_CODE_USE_GEMINI === "1" || process.env.CLAUDE_CODE_USE_GEMINI === "true";
115471
115559
  const useGithub = process.env.CLAUDE_CODE_USE_GITHUB === "1" || process.env.CLAUDE_CODE_USE_GITHUB === "true";
115472
115560
  const useOpenAI = process.env.CLAUDE_CODE_USE_OPENAI === "1" || process.env.CLAUDE_CODE_USE_OPENAI === "true";
@@ -115555,8 +115643,7 @@ function detectProvider(modelOverride) {
115555
115643
  }
115556
115644
  return { name, model: displayModel, baseUrl: baseUrl2, isLocal: isLocal2 };
115557
115645
  }
115558
- const settings = getSettings_DEPRECATED() || {};
115559
- const modelSetting = modelOverride || settings.model || process.env.ANTHROPIC_MODEL || process.env.CLAUDE_MODEL || "claude-sonnet-4-6";
115646
+ const modelSetting = modelOverride || getDefaultVerbooModel();
115560
115647
  const resolvedModel = parseUserSpecifiedModel(modelSetting);
115561
115648
  const baseUrl = VERBOO_ROUTER_URL;
115562
115649
  const isLocal = isLocalProviderUrl(baseUrl);
@@ -115570,7 +115657,7 @@ function printStartupScreen(modelOverride) {
115570
115657
  const home = process.env.HOME || process.env.USERPROFILE || "";
115571
115658
  const cwd2 = process.cwd();
115572
115659
  const displayCwd = home && cwd2.startsWith(home) ? `~${cwd2.slice(home.length)}` : cwd2;
115573
- const version2 = "0.7.18";
115660
+ const version2 = "0.7.20";
115574
115661
  const bold2 = `${ESC}1m`;
115575
115662
  const PURPLE = rgb(...ACCENT);
115576
115663
  const SOFT = rgb(...CREAM);
@@ -115596,7 +115683,6 @@ var init_StartupScreen = __esm(() => {
115596
115683
  init_oauth();
115597
115684
  init_providerConfig();
115598
115685
  init_providerDiscovery();
115599
- init_settings2();
115600
115686
  init_model();
115601
115687
  init_zaiProvider();
115602
115688
  RESET = `${ESC}0m`;
@@ -178299,6 +178385,8 @@ function resolveRipgrepConfig({
178299
178385
  bundledMode,
178300
178386
  builtinCommand,
178301
178387
  builtinExists,
178388
+ npmCommand,
178389
+ npmExists = false,
178302
178390
  systemExecutablePath,
178303
178391
  processExecPath = process.execPath
178304
178392
  }) {
@@ -178316,10 +178404,13 @@ function resolveRipgrepConfig({
178316
178404
  if (builtinExists) {
178317
178405
  return { mode: "builtin", command: builtinCommand, args: [] };
178318
178406
  }
178407
+ if (npmExists && npmCommand) {
178408
+ return { mode: "builtin", command: npmCommand, args: [] };
178409
+ }
178319
178410
  if (systemExecutablePath !== "rg") {
178320
178411
  return { mode: "system", command: "rg", args: [] };
178321
178412
  }
178322
- return { mode: "builtin", command: builtinCommand, args: [] };
178413
+ return { mode: "system", command: "rg", args: [] };
178323
178414
  }
178324
178415
  function ripgrepCommand() {
178325
178416
  const config2 = getRipgrepConfig();
@@ -178623,12 +178714,16 @@ var init_ripgrep = __esm(() => {
178623
178714
  const rgRoot = path10.resolve(__dirname2, "vendor", "ripgrep");
178624
178715
  const builtinCommand = process.platform === "win32" ? path10.resolve(rgRoot, `${process.arch}-win32`, "rg.exe") : path10.resolve(rgRoot, `${process.arch}-${process.platform}`, "rg");
178625
178716
  const builtinExists = existsSync6(builtinCommand);
178717
+ const npmCommand = process.platform === "win32" ? path10.resolve(__dirname2, "..", "node_modules", "@vscode", "ripgrep", "bin", "rg.exe") : path10.resolve(__dirname2, "..", "node_modules", "@vscode", "ripgrep", "bin", "rg");
178718
+ const npmExists = existsSync6(npmCommand);
178626
178719
  const { cmd: systemExecutablePath } = findExecutable("rg", []);
178627
178720
  return resolveRipgrepConfig({
178628
178721
  userWantsSystemRipgrep,
178629
178722
  bundledMode,
178630
178723
  builtinCommand,
178631
178724
  builtinExists,
178725
+ npmCommand,
178726
+ npmExists,
178632
178727
  systemExecutablePath
178633
178728
  });
178634
178729
  });
@@ -273078,77 +273173,6 @@ var init_notifier = __esm(() => {
273078
273173
  init_log3();
273079
273174
  });
273080
273175
 
273081
- // src/utils/providerStartupOverrides.ts
273082
- function clearStartupProviderOverrides(options2) {
273083
- const updateUserSettings = options2?.updateUserSettings ?? updateSettingsForSource;
273084
- const saveConfig2 = options2?.saveConfig ?? saveGlobalConfig;
273085
- const envPatch = Object.fromEntries(STARTUP_PROVIDER_OVERRIDE_ENV_KEYS.map((key) => [
273086
- key,
273087
- DELETE_SETTINGS_ENV_VALUE
273088
- ]));
273089
- const { error: error42 } = updateUserSettings("userSettings", { env: envPatch });
273090
- let globalConfigError = null;
273091
- try {
273092
- saveConfig2((current) => {
273093
- const currentEnv = current.env ?? {};
273094
- let changed = false;
273095
- const nextEnv = { ...currentEnv };
273096
- for (const key of STARTUP_PROVIDER_OVERRIDE_ENV_KEYS) {
273097
- if (key in nextEnv) {
273098
- delete nextEnv[key];
273099
- changed = true;
273100
- }
273101
- }
273102
- return changed ? { ...current, env: nextEnv } : current;
273103
- });
273104
- } catch (configError) {
273105
- globalConfigError = configError instanceof Error ? configError.message : String(configError);
273106
- }
273107
- return error42?.message ?? globalConfigError;
273108
- }
273109
- var STARTUP_PROVIDER_OVERRIDE_ENV_KEYS, DELETE_SETTINGS_ENV_VALUE = undefined;
273110
- var init_providerStartupOverrides = __esm(() => {
273111
- init_config();
273112
- init_settings2();
273113
- STARTUP_PROVIDER_OVERRIDE_ENV_KEYS = [
273114
- "CLAUDE_CODE_USE_OPENAI",
273115
- "CLAUDE_CODE_USE_GEMINI",
273116
- "CLAUDE_CODE_USE_MISTRAL",
273117
- "CLAUDE_CODE_USE_GITHUB",
273118
- "CLAUDE_CODE_USE_BEDROCK",
273119
- "CLAUDE_CODE_USE_VERTEX",
273120
- "CLAUDE_CODE_USE_FOUNDRY",
273121
- "OPENAI_BASE_URL",
273122
- "OPENAI_API_BASE",
273123
- "OPENAI_MODEL",
273124
- "OPENAI_API_KEY",
273125
- "OPENAI_ORG",
273126
- "OPENAI_PROJECT",
273127
- "OPENAI_ORGANIZATION",
273128
- "ANTHROPIC_BASE_URL",
273129
- "ANTHROPIC_MODEL",
273130
- "ANTHROPIC_API_KEY",
273131
- "GEMINI_API_KEY",
273132
- "GOOGLE_API_KEY",
273133
- "GEMINI_BASE_URL",
273134
- "GEMINI_MODEL",
273135
- "GEMINI_ACCESS_TOKEN",
273136
- "GEMINI_AUTH_MODE",
273137
- "MISTRAL_BASE_URL",
273138
- "MISTRAL_MODEL",
273139
- "MISTRAL_API_KEY",
273140
- "CODEX_API_KEY",
273141
- "CODEX_CREDENTIAL_SOURCE",
273142
- "CHATGPT_ACCOUNT_ID",
273143
- "CODEX_ACCOUNT_ID",
273144
- "MINIMAX_API_KEY",
273145
- "MINIMAX_BASE_URL",
273146
- "MINIMAX_MODEL",
273147
- "NVIDIA_API_KEY",
273148
- "NVIDIA_NIM"
273149
- ];
273150
- });
273151
-
273152
273176
  // src/utils/urlRedaction.ts
273153
273177
  function shouldRedactUrlQueryParam2(name) {
273154
273178
  const lower = name.toLowerCase();
@@ -277225,7 +277249,8 @@ function SpinnerAnimationRow({
277225
277249
  }) {
277226
277250
  const [viewportRef, time3] = useAnimationFrame(reducedMotion ? null : 50);
277227
277251
  const now2 = Date.now();
277228
- const elapsedTimeMs = pauseStartTimeRef.current !== null ? pauseStartTimeRef.current - loadingStartTimeRef.current - totalPausedMsRef.current : now2 - loadingStartTimeRef.current - totalPausedMsRef.current;
277252
+ const rawElapsedTimeMs = pauseStartTimeRef.current !== null ? pauseStartTimeRef.current - loadingStartTimeRef.current - totalPausedMsRef.current : now2 - loadingStartTimeRef.current - totalPausedMsRef.current;
277253
+ const elapsedTimeMs = loadingStartTimeRef.current > 0 ? Math.max(0, rawElapsedTimeMs) : 0;
277229
277254
  const derivedStart = now2 - elapsedTimeMs;
277230
277255
  const turnStartRef = import_react55.useRef(derivedStart);
277231
277256
  if (!hasRunningTeammates || derivedStart < turnStartRef.current) {
@@ -342483,6 +342508,76 @@ function buildFullPath2(baseURL, requestedURL, allowAbsoluteUrls) {
342483
342508
  }
342484
342509
  var init_buildFullPath2 = () => {};
342485
342510
 
342511
+ // node_modules/@mendable/firecrawl-js/node_modules/axios/node_modules/proxy-from-env/index.js
342512
+ function parseUrl2(urlString) {
342513
+ try {
342514
+ return new URL(urlString);
342515
+ } catch {
342516
+ return null;
342517
+ }
342518
+ }
342519
+ function getProxyForUrl2(url4) {
342520
+ var parsedUrl = (typeof url4 === "string" ? parseUrl2(url4) : url4) || {};
342521
+ var proto2 = parsedUrl.protocol;
342522
+ var hostname3 = parsedUrl.host;
342523
+ var port = parsedUrl.port;
342524
+ if (typeof hostname3 !== "string" || !hostname3 || typeof proto2 !== "string") {
342525
+ return "";
342526
+ }
342527
+ proto2 = proto2.split(":", 1)[0];
342528
+ hostname3 = hostname3.replace(/:\d*$/, "");
342529
+ port = parseInt(port) || DEFAULT_PORTS3[proto2] || 0;
342530
+ if (!shouldProxy2(hostname3, port)) {
342531
+ return "";
342532
+ }
342533
+ var proxy = getEnv3(proto2 + "_proxy") || getEnv3("all_proxy");
342534
+ if (proxy && proxy.indexOf("://") === -1) {
342535
+ proxy = proto2 + "://" + proxy;
342536
+ }
342537
+ return proxy;
342538
+ }
342539
+ function shouldProxy2(hostname3, port) {
342540
+ var NO_PROXY = getEnv3("no_proxy").toLowerCase();
342541
+ if (!NO_PROXY) {
342542
+ return true;
342543
+ }
342544
+ if (NO_PROXY === "*") {
342545
+ return false;
342546
+ }
342547
+ return NO_PROXY.split(/[,\s]/).every(function(proxy) {
342548
+ if (!proxy) {
342549
+ return true;
342550
+ }
342551
+ var parsedProxy = proxy.match(/^(.+):(\d+)$/);
342552
+ var parsedProxyHostname = parsedProxy ? parsedProxy[1] : proxy;
342553
+ var parsedProxyPort = parsedProxy ? parseInt(parsedProxy[2]) : 0;
342554
+ if (parsedProxyPort && parsedProxyPort !== port) {
342555
+ return true;
342556
+ }
342557
+ if (!/^[.*]/.test(parsedProxyHostname)) {
342558
+ return hostname3 !== parsedProxyHostname;
342559
+ }
342560
+ if (parsedProxyHostname.charAt(0) === "*") {
342561
+ parsedProxyHostname = parsedProxyHostname.slice(1);
342562
+ }
342563
+ return !hostname3.endsWith(parsedProxyHostname);
342564
+ });
342565
+ }
342566
+ function getEnv3(key) {
342567
+ return process.env[key.toLowerCase()] || process.env[key.toUpperCase()] || "";
342568
+ }
342569
+ var DEFAULT_PORTS3;
342570
+ var init_proxy_from_env2 = __esm(() => {
342571
+ DEFAULT_PORTS3 = {
342572
+ ftp: 21,
342573
+ gopher: 70,
342574
+ http: 80,
342575
+ https: 443,
342576
+ ws: 80,
342577
+ wss: 443
342578
+ };
342579
+ });
342580
+
342486
342581
  // node_modules/@mendable/firecrawl-js/node_modules/axios/lib/env/data.js
342487
342582
  var VERSION5 = "1.14.0";
342488
342583
 
@@ -343050,7 +343145,7 @@ function dispatchBeforeRedirect2(options2, responseDetails) {
343050
343145
  function setProxy2(options2, configProxy, location) {
343051
343146
  let proxy = configProxy;
343052
343147
  if (!proxy && proxy !== false) {
343053
- const proxyUrl = getProxyForUrl(location);
343148
+ const proxyUrl = getProxyForUrl2(location);
343054
343149
  if (proxyUrl) {
343055
343150
  proxy = new URL(proxyUrl);
343056
343151
  }
@@ -343120,7 +343215,7 @@ var init_http3 = __esm(() => {
343120
343215
  init_settle2();
343121
343216
  init_buildFullPath2();
343122
343217
  init_buildURL2();
343123
- init_proxy_from_env();
343218
+ init_proxy_from_env2();
343124
343219
  init_transitional2();
343125
343220
  init_AxiosError2();
343126
343221
  init_CanceledError2();
@@ -376975,7 +377070,7 @@ function getAnthropicEnvMetadata() {
376975
377070
  function getBuildAgeMinutes() {
376976
377071
  if (false)
376977
377072
  ;
376978
- const buildTime = new Date("2026-05-02T19:45:06.160Z").getTime();
377073
+ const buildTime = new Date("2026-05-02T20:28:08.723Z").getTime();
376979
377074
  if (isNaN(buildTime))
376980
377075
  return;
376981
377076
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -415086,7 +415181,17 @@ async function getProjectFiles(abortSignal, respectGitignore) {
415086
415181
  if (!respectGitignore) {
415087
415182
  rgArgs.push("--no-ignore-vcs");
415088
415183
  }
415089
- const files = await ripGrep(rgArgs, ".", abortSignal);
415184
+ let files;
415185
+ try {
415186
+ files = await ripGrep(rgArgs, ".", abortSignal);
415187
+ } catch (error42) {
415188
+ if (error42 instanceof RipgrepUnavailableError) {
415189
+ logForDebugging2(`[FileIndex] ripgrep unavailable; continuing with empty non-git file index: ${error42.message}`);
415190
+ logEvent("tengu_file_suggestions_ripgrep_unavailable", {});
415191
+ return [];
415192
+ }
415193
+ throw error42;
415194
+ }
415090
415195
  const relativePaths = files.map((f) => path17.relative(getCwd(), f));
415091
415196
  const duration3 = Date.now() - startTime;
415092
415197
  logForDebugging2(`[FileIndex] ripgrep: ${relativePaths.length} files in ${duration3}ms`);
@@ -417511,7 +417616,7 @@ function buildPrimarySection() {
417511
417616
  }, undefined, false, undefined, this);
417512
417617
  return [{
417513
417618
  label: "Version",
417514
- value: "0.7.18"
417619
+ value: "0.7.20"
417515
417620
  }, {
417516
417621
  label: "Session name",
417517
417622
  value: nameValue
@@ -485461,7 +485566,7 @@ var init_bridge_kick = __esm(() => {
485461
485566
  var call60 = async () => {
485462
485567
  return {
485463
485568
  type: "text",
485464
- value: `${"99.0.0"} (built ${"2026-05-02T19:45:06.160Z"})`
485569
+ value: `${"99.0.0"} (built ${"2026-05-02T20:28:08.723Z"})`
485465
485570
  };
485466
485571
  }, version2, version_default;
485467
485572
  var init_version = __esm(() => {
@@ -557984,6 +558089,8 @@ Error: sandbox required but unavailable: ${reason}
557984
558089
  effortValue: effort
557985
558090
  });
557986
558091
  }
558092
+ if (abortController2.signal.aborted)
558093
+ return;
557987
558094
  queryCheckpoint("query_context_loading_start");
557988
558095
  const [, , defaultSystemPrompt, baseUserContext, systemContext] = await Promise.all([
557989
558096
  checkAndDisableBypassPermissionsIfNeeded(toolPermissionContext, setAppState),
@@ -557992,6 +558099,8 @@ Error: sandbox required but unavailable: ${reason}
557992
558099
  getUserContext(),
557993
558100
  getSystemContext()
557994
558101
  ]);
558102
+ if (abortController2.signal.aborted)
558103
+ return;
557995
558104
  const userContext = {
557996
558105
  ...baseUserContext,
557997
558106
  ...getCoordinatorUserContext2(freshMcpClients, isScratchpadEnabled() ? getScratchpadDir() : undefined),
@@ -558006,6 +558115,8 @@ Error: sandbox required but unavailable: ${reason}
558006
558115
  appendSystemPrompt
558007
558116
  });
558008
558117
  toolUseContext.renderedSystemPrompt = systemPrompt;
558118
+ if (abortController2.signal.aborted)
558119
+ return;
558009
558120
  queryCheckpoint("query_query_start");
558010
558121
  resetTurnHookDuration();
558011
558122
  resetTurnToolDuration();
@@ -558056,6 +558167,7 @@ Error: sandbox required but unavailable: ${reason}
558056
558167
  return;
558057
558168
  }
558058
558169
  try {
558170
+ startQueryProfile();
558059
558171
  resetTimingRefs();
558060
558172
  resetCurrentTurn();
558061
558173
  setMessages((oldMessages) => [...oldMessages, ...newMessages]);
@@ -558070,9 +558182,13 @@ Error: sandbox required but unavailable: ${reason}
558070
558182
  const latestMessages = messagesRef.current;
558071
558183
  if (input) {
558072
558184
  await mrOnBeforeQuery(input, latestMessages, newMessages.length);
558185
+ if (abortController2.signal.aborted)
558186
+ return;
558073
558187
  }
558074
558188
  if (onBeforeQueryCallback && input) {
558075
558189
  const shouldProceed = await onBeforeQueryCallback(input, latestMessages);
558190
+ if (abortController2.signal.aborted)
558191
+ return;
558076
558192
  if (!shouldProceed) {
558077
558193
  return;
558078
558194
  }
@@ -561250,7 +561366,7 @@ function WelcomeV2() {
561250
561366
  dimColor: true,
561251
561367
  children: [
561252
561368
  "v",
561253
- "0.7.18",
561369
+ "0.7.20",
561254
561370
  " "
561255
561371
  ]
561256
561372
  }, undefined, true, undefined, this)
@@ -561437,7 +561553,7 @@ function WelcomeV2() {
561437
561553
  dimColor: true,
561438
561554
  children: [
561439
561555
  "v",
561440
- "0.7.18",
561556
+ "0.7.20",
561441
561557
  " "
561442
561558
  ]
561443
561559
  }, undefined, true, undefined, this)
@@ -561653,7 +561769,7 @@ function AppleTerminalWelcomeV2(t0) {
561653
561769
  dimColor: true,
561654
561770
  children: [
561655
561771
  "v",
561656
- "0.7.18",
561772
+ "0.7.20",
561657
561773
  " "
561658
561774
  ]
561659
561775
  }, undefined, true, undefined, this);
@@ -561862,7 +561978,7 @@ function AppleTerminalWelcomeV2(t0) {
561862
561978
  dimColor: true,
561863
561979
  children: [
561864
561980
  "v",
561865
- "0.7.18",
561981
+ "0.7.20",
561866
561982
  " "
561867
561983
  ]
561868
561984
  }, undefined, true, undefined, this);
@@ -579993,7 +580109,7 @@ __export(exports_update, {
579993
580109
  async function update() {
579994
580110
  if (getAPIProvider() !== "firstParty") {
579995
580111
  writeToStdout(source_default.yellow(`Auto-update is not available for third-party provider builds.
579996
- `) + `Current version: ${"0.7.18"}
580112
+ `) + `Current version: ${"0.7.20"}
579997
580113
 
579998
580114
  ` + `To update, reinstall from npm:
579999
580115
  ` + source_default.bold(` npm install -g ${"@verboo/code"}@latest`) + `
@@ -580004,7 +580120,7 @@ async function update() {
580004
580120
  await gracefulShutdown(0);
580005
580121
  }
580006
580122
  logEvent("tengu_update_check", {});
580007
- writeToStdout(`Current version: ${"0.7.18"}
580123
+ writeToStdout(`Current version: ${"0.7.20"}
580008
580124
  `);
580009
580125
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
580010
580126
  writeToStdout(`Checking for updates to ${channel} version...
@@ -580089,8 +580205,8 @@ async function update() {
580089
580205
  writeToStdout(`Claude is managed by Homebrew.
580090
580206
  `);
580091
580207
  const latest = await getLatestVersion(channel);
580092
- if (latest && !gte("0.7.18", latest)) {
580093
- writeToStdout(`Update available: ${"0.7.18"} → ${latest}
580208
+ if (latest && !gte("0.7.20", latest)) {
580209
+ writeToStdout(`Update available: ${"0.7.20"} → ${latest}
580094
580210
  `);
580095
580211
  writeToStdout(`
580096
580212
  `);
@@ -580106,8 +580222,8 @@ async function update() {
580106
580222
  writeToStdout(`Claude is managed by winget.
580107
580223
  `);
580108
580224
  const latest = await getLatestVersion(channel);
580109
- if (latest && !gte("0.7.18", latest)) {
580110
- writeToStdout(`Update available: ${"0.7.18"} → ${latest}
580225
+ if (latest && !gte("0.7.20", latest)) {
580226
+ writeToStdout(`Update available: ${"0.7.20"} → ${latest}
580111
580227
  `);
580112
580228
  writeToStdout(`
580113
580229
  `);
@@ -580123,8 +580239,8 @@ async function update() {
580123
580239
  writeToStdout(`Claude is managed by apk.
580124
580240
  `);
580125
580241
  const latest = await getLatestVersion(channel);
580126
- if (latest && !gte("0.7.18", latest)) {
580127
- writeToStdout(`Update available: ${"0.7.18"} → ${latest}
580242
+ if (latest && !gte("0.7.20", latest)) {
580243
+ writeToStdout(`Update available: ${"0.7.20"} → ${latest}
580128
580244
  `);
580129
580245
  writeToStdout(`
580130
580246
  `);
@@ -580189,11 +580305,11 @@ async function update() {
580189
580305
  `);
580190
580306
  await gracefulShutdown(1);
580191
580307
  }
580192
- if (result.latestVersion === "0.7.18") {
580193
- writeToStdout(source_default.green(`Verboo Code is up to date (${"0.7.18"})`) + `
580308
+ if (result.latestVersion === "0.7.20") {
580309
+ writeToStdout(source_default.green(`Verboo Code is up to date (${"0.7.20"})`) + `
580194
580310
  `);
580195
580311
  } else {
580196
- writeToStdout(source_default.green(`Successfully updated from ${"0.7.18"} to version ${result.latestVersion}`) + `
580312
+ writeToStdout(source_default.green(`Successfully updated from ${"0.7.20"} to version ${result.latestVersion}`) + `
580197
580313
  `);
580198
580314
  await regenerateCompletionCache();
580199
580315
  }
@@ -580253,12 +580369,12 @@ async function update() {
580253
580369
  `);
580254
580370
  await gracefulShutdown(1);
580255
580371
  }
580256
- if (latestVersion === "0.7.18") {
580257
- writeToStdout(source_default.green(`Verboo Code is up to date (${"0.7.18"})`) + `
580372
+ if (latestVersion === "0.7.20") {
580373
+ writeToStdout(source_default.green(`Verboo Code is up to date (${"0.7.20"})`) + `
580258
580374
  `);
580259
580375
  await gracefulShutdown(0);
580260
580376
  }
580261
- writeToStdout(`New version available: ${latestVersion} (current: ${"0.7.18"})
580377
+ writeToStdout(`New version available: ${latestVersion} (current: ${"0.7.20"})
580262
580378
  `);
580263
580379
  writeToStdout(`Installing update...
580264
580380
  `);
@@ -580303,7 +580419,7 @@ async function update() {
580303
580419
  logForDebugging2(`update: Installation status: ${status2}`);
580304
580420
  switch (status2) {
580305
580421
  case "success":
580306
- writeToStdout(source_default.green(`Successfully updated from ${"0.7.18"} to version ${latestVersion}`) + `
580422
+ writeToStdout(source_default.green(`Successfully updated from ${"0.7.20"} to version ${latestVersion}`) + `
580307
580423
  `);
580308
580424
  await regenerateCompletionCache();
580309
580425
  break;
@@ -582356,7 +582472,7 @@ Usage: verboo --remote "your task description"`, () => gracefulShutdown(1));
582356
582472
  pendingHookMessages
582357
582473
  }, renderAndRun);
582358
582474
  }
582359
- }).version(`0.7.18 (${cliDesc})`, "-v, --version", "Output the version number");
582475
+ }).version(`0.7.20 (${cliDesc})`, "-v, --version", "Output the version number");
582360
582476
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
582361
582477
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
582362
582478
  if (canUserConfigureAdvisor()) {
@@ -582898,6 +583014,8 @@ var init_main3 = __esm(() => {
582898
583014
  // src/entrypoints/cli.tsx
582899
583015
  init_providerProfile();
582900
583016
  init_providerValidation();
583017
+ init_providerStartupOverrides();
583018
+ var IS_VERBOO_CLI = true;
582901
583019
  if (typeof globalThis.File === "undefined") {
582902
583020
  try {
582903
583021
  const { File: NodeFile } = __require("node:buffer");
@@ -582924,10 +583042,10 @@ if (false) {}
582924
583042
  async function main2() {
582925
583043
  const args = process.argv.slice(2);
582926
583044
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
582927
- console.log(`${"0.7.18"} (Verboo Code)`);
583045
+ console.log(`${"0.7.20"} (Verboo Code)`);
582928
583046
  return;
582929
583047
  }
582930
- if (args.includes("--provider")) {
583048
+ if (!IS_VERBOO_CLI && args.includes("--provider")) {
582931
583049
  const { applyProviderFlagFromArgs: applyProviderFlagFromArgs2 } = await Promise.resolve().then(() => (init_providerFlag(), exports_providerFlag));
582932
583050
  const result = applyProviderFlagFromArgs2(args);
582933
583051
  if (result?.error) {
@@ -582943,15 +583061,20 @@ async function main2() {
582943
583061
  const { applySafeConfigEnvironmentVariables: applySafeConfigEnvironmentVariables2 } = await Promise.resolve().then(() => (init_managedEnv(), exports_managedEnv));
582944
583062
  applySafeConfigEnvironmentVariables2();
582945
583063
  }
582946
- const startupEnv = await buildStartupEnvFromProfile({
582947
- processEnv: process.env
582948
- });
582949
- if (startupEnv !== process.env) {
582950
- const startupProfileError = await getProviderValidationError(startupEnv);
582951
- if (startupProfileError) {
582952
- console.error(`Warning: ignoring saved provider profile. ${startupProfileError}`);
582953
- } else {
582954
- applyProfileEnvToProcessEnv(process.env, startupEnv);
583064
+ if (IS_VERBOO_CLI) {
583065
+ clearStartupProviderEnvFromProcessEnv();
583066
+ }
583067
+ if (!IS_VERBOO_CLI) {
583068
+ const startupEnv = await buildStartupEnvFromProfile({
583069
+ processEnv: process.env
583070
+ });
583071
+ if (startupEnv !== process.env) {
583072
+ const startupProfileError = await getProviderValidationError(startupEnv);
583073
+ if (startupProfileError) {
583074
+ console.error(`Warning: ignoring saved provider profile. ${startupProfileError}`);
583075
+ } else {
583076
+ applyProfileEnvToProcessEnv(process.env, startupEnv);
583077
+ }
582955
583078
  }
582956
583079
  }
582957
583080
  {
@@ -582959,8 +583082,10 @@ async function main2() {
582959
583082
  hydrateGithubModelsTokenFromSecureStorage: hydrateGithubModelsTokenFromSecureStorage2,
582960
583083
  refreshGithubModelsTokenIfNeeded: refreshGithubModelsTokenIfNeeded2
582961
583084
  } = await Promise.resolve().then(() => (init_githubModelsCredentials(), exports_githubModelsCredentials));
582962
- await refreshGithubModelsTokenIfNeeded2();
582963
- hydrateGithubModelsTokenFromSecureStorage2();
583085
+ if (!IS_VERBOO_CLI) {
583086
+ await refreshGithubModelsTokenIfNeeded2();
583087
+ hydrateGithubModelsTokenFromSecureStorage2();
583088
+ }
582964
583089
  }
582965
583090
  await validateProviderEnvForStartupOrExit();
582966
583091
  const { eagerParseCliFlag: eagerParseCliFlag2 } = await Promise.resolve().then(() => exports_cliArgs);
@@ -583080,4 +583205,4 @@ async function main2() {
583080
583205
  }
583081
583206
  main2();
583082
583207
 
583083
- //# debugId=01A4722BC92A534764756E2164756E21
583208
+ //# debugId=367099289D71500264756E2164756E21
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@verboo/code",
3
- "version": "0.7.18",
3
+ "version": "0.7.20",
4
4
  "description": "Verboo Code — coding agent for the Verboo platform",
5
5
  "type": "module",
6
6
  "bin": {
@@ -10,6 +10,7 @@
10
10
  "bin/verboo",
11
11
  "bin/import-specifier.mjs",
12
12
  "dist/cli.mjs",
13
+ "dist/vendor/ripgrep/**",
13
14
  "scripts/postinstall.mjs",
14
15
  "README.md"
15
16
  ],
@@ -139,6 +140,9 @@
139
140
  "tsx": "^4.21.0",
140
141
  "typescript": "5.9.3"
141
142
  },
143
+ "optionalDependencies": {
144
+ "@vscode/ripgrep": "^1.15.14"
145
+ },
142
146
  "engines": {
143
147
  "node": ">=20.0.0"
144
148
  },