@verboo/code 0.10.0 → 0.10.1

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 +194 -126
  2. package/package.json +1 -1
package/dist/cli.mjs CHANGED
@@ -662,6 +662,7 @@ var init_protectedNamespace = __esm(() => {
662
662
  });
663
663
 
664
664
  // src/utils/envUtils.ts
665
+ import { existsSync } from "fs";
665
666
  import { homedir } from "os";
666
667
  import { join } from "path";
667
668
  function resolveClaudeConfigHomeDir(options) {
@@ -680,6 +681,17 @@ function getProjectsDir() {
680
681
  }
681
682
  return join(homedir(), ".claude", "projects");
682
683
  }
684
+ function getAdditionalProjectsDirs() {
685
+ const dirs = [];
686
+ const openClaudeDir = join(homedir(), ".openclaude", "projects");
687
+ if (existsSync(openClaudeDir)) {
688
+ dirs.push(openClaudeDir);
689
+ }
690
+ return dirs;
691
+ }
692
+ function getProjectsDirs() {
693
+ return [getProjectsDir(), ...getAdditionalProjectsDirs()];
694
+ }
683
695
  function getLegacyClaudeConfigHomeDir() {
684
696
  if (process.env.VERBOO_CONFIG_DIR)
685
697
  return null;
@@ -22903,7 +22915,7 @@ var init_runtimeMetadata = __esm(() => {
22903
22915
  });
22904
22916
 
22905
22917
  // src/services/api/providerConfig.ts
22906
- import { existsSync as existsSync2, readFileSync as readFileSync4 } from "node:fs";
22918
+ import { existsSync as existsSync3, readFileSync as readFileSync4 } from "node:fs";
22907
22919
  import { createHash as createHash2 } from "node:crypto";
22908
22920
  import { isIP } from "node:net";
22909
22921
  import { homedir as homedir4 } from "node:os";
@@ -23300,7 +23312,7 @@ function resolveCodexAuthPath(env2 = process.env) {
23300
23312
  return join7(homedir4(), ".codex", "auth.json");
23301
23313
  }
23302
23314
  function loadCodexAuthJson(authPath) {
23303
- if (!existsSync2(authPath))
23315
+ if (!existsSync3(authPath))
23304
23316
  return;
23305
23317
  try {
23306
23318
  const raw = readFileSync4(authPath, "utf8");
@@ -24446,7 +24458,7 @@ var init_memoize2 = __esm(() => {
24446
24458
  });
24447
24459
 
24448
24460
  // src/utils/geminiAuth.ts
24449
- import { existsSync as existsSync3 } from "node:fs";
24461
+ import { existsSync as existsSync4 } from "node:fs";
24450
24462
  import { homedir as homedir5 } from "node:os";
24451
24463
  import { join as join8 } from "node:path";
24452
24464
  function sanitizeCredential(value) {
@@ -24477,7 +24489,7 @@ function getGeminiAdcCredentialPaths(env2 = process.env) {
24477
24489
  return [...paths2];
24478
24490
  }
24479
24491
  function mayHaveGeminiAdcCredentials(env2 = process.env) {
24480
- return getGeminiAdcCredentialPaths(env2).some((path9) => existsSync3(path9));
24492
+ return getGeminiAdcCredentialPaths(env2).some((path9) => existsSync4(path9));
24481
24493
  }
24482
24494
  function normalizeAccessToken(value) {
24483
24495
  if (typeof value === "string") {
@@ -41053,7 +41065,7 @@ var init_providerValidation = __esm(() => {
41053
41065
  });
41054
41066
 
41055
41067
  // src/utils/providerProfile.ts
41056
- import { existsSync as existsSync4, mkdirSync as mkdirSync2, readFileSync as readFileSync5, rmSync as rmSync2, writeFileSync as writeFileSync2 } from "node:fs";
41068
+ import { existsSync as existsSync5, mkdirSync as mkdirSync2, readFileSync as readFileSync5, rmSync as rmSync2, writeFileSync as writeFileSync2 } from "node:fs";
41057
41069
  import { dirname as dirname3, join as join10, resolve as resolve3 } from "node:path";
41058
41070
  function getDefaultProfileFilePath(configDir) {
41059
41071
  return join10(configDir ?? getClaudeConfigHomeDir(), PROFILE_FILE_NAME);
@@ -41075,7 +41087,7 @@ function resolveProfileFileReadPaths(options) {
41075
41087
  if (options?.filePath || options?.cwd && !options?.configDir) {
41076
41088
  return [primary];
41077
41089
  }
41078
- if (existsSync4(primary)) {
41090
+ if (existsSync5(primary)) {
41079
41091
  return [primary];
41080
41092
  }
41081
41093
  const legacy = resolveLegacyProfileFilePath(options?.cwd);
@@ -41099,7 +41111,7 @@ function ensureProfileDirectory(filePath) {
41099
41111
  }
41100
41112
  }
41101
41113
  function readProfileFile(filePath) {
41102
- if (!existsSync4(filePath)) {
41114
+ if (!existsSync5(filePath)) {
41103
41115
  return null;
41104
41116
  }
41105
41117
  try {
@@ -142642,7 +142654,7 @@ async function checkAndRefreshOAuthTokenIfNeededImpl(retryCount, force) {
142642
142654
  }
142643
142655
  }
142644
142656
  function isClaudeAISubscriber() {
142645
- if (!isAnthropicAuthEnabled()) {
142657
+ if (!isAnthropicAuthEnabled() || isVerbooMode()) {
142646
142658
  return false;
142647
142659
  }
142648
142660
  return shouldUseClaudeAIAuth(getClaudeAIOAuthTokens()?.scopes);
@@ -150379,7 +150391,7 @@ var init_frontmatterParser = __esm(() => {
150379
150391
 
150380
150392
  // src/utils/ripgrep.ts
150381
150393
  import { execFile as execFile2, spawn as spawn3 } from "child_process";
150382
- import { existsSync as existsSync5 } from "fs";
150394
+ import { existsSync as existsSync6 } from "fs";
150383
150395
  import { homedir as homedir9 } from "os";
150384
150396
  import * as path10 from "path";
150385
150397
  function isErrnoException(error41) {
@@ -150388,7 +150400,7 @@ function isErrnoException(error41) {
150388
150400
  function resolveBuiltinRgPath() {
150389
150401
  try {
150390
150402
  const mod = __require("@vscode/ripgrep");
150391
- if (mod.rgPath && existsSync5(mod.rgPath)) {
150403
+ if (mod.rgPath && existsSync6(mod.rgPath)) {
150392
150404
  return mod.rgPath;
150393
150405
  }
150394
150406
  } catch {}
@@ -150725,10 +150737,10 @@ var init_ripgrep = __esm(() => {
150725
150737
  const bundledMode = isInBundledMode();
150726
150738
  const rgRoot = path10.resolve(__dirname, "vendor", "ripgrep");
150727
150739
  const vendorCommand = process.platform === "win32" ? path10.resolve(rgRoot, `${process.arch}-win32`, "rg.exe") : path10.resolve(rgRoot, `${process.arch}-${process.platform}`, "rg");
150728
- const builtinExists = existsSync5(vendorCommand);
150740
+ const builtinExists = existsSync6(vendorCommand);
150729
150741
  const builtinCommand = builtinExists ? vendorCommand : resolveBuiltinRgPath();
150730
150742
  const npmCommand = process.platform === "win32" ? path10.resolve(__dirname, "..", "node_modules", "@vscode", "ripgrep", "bin", "rg.exe") : path10.resolve(__dirname, "..", "node_modules", "@vscode", "ripgrep", "bin", "rg");
150731
- const npmExists = existsSync5(npmCommand);
150743
+ const npmExists = existsSync6(npmCommand);
150732
150744
  const { cmd: systemExecutablePath } = findExecutable("rg", []);
150733
150745
  return resolveRipgrepConfig({
150734
150746
  userWantsSystemRipgrep,
@@ -164444,18 +164456,18 @@ function getProjectInstructionFilePaths(dir) {
164444
164456
  join34(dir, FALLBACK_PROJECT_INSTRUCTION_FILE)
164445
164457
  ];
164446
164458
  }
164447
- function getProjectInstructionFilePath(dir, existsSync6) {
164459
+ function getProjectInstructionFilePath(dir, existsSync7) {
164448
164460
  const [primaryPath, fallbackPath] = getProjectInstructionFilePaths(dir);
164449
- return existsSync6(primaryPath) ? primaryPath : fallbackPath;
164461
+ return existsSync7(primaryPath) ? primaryPath : fallbackPath;
164450
164462
  }
164451
- function hasProjectInstructionFile(dir, existsSync6) {
164452
- return getProjectInstructionFilePaths(dir).some((path11) => existsSync6(path11));
164463
+ function hasProjectInstructionFile(dir, existsSync7) {
164464
+ return getProjectInstructionFilePaths(dir).some((path11) => existsSync7(path11));
164453
164465
  }
164454
- function findProjectInstructionFilePathInAncestors(startDir, existsSync6) {
164466
+ function findProjectInstructionFilePathInAncestors(startDir, existsSync7) {
164455
164467
  let currentDir = startDir;
164456
164468
  while (true) {
164457
- if (hasProjectInstructionFile(currentDir, existsSync6)) {
164458
- return getProjectInstructionFilePath(currentDir, existsSync6);
164469
+ if (hasProjectInstructionFile(currentDir, existsSync7)) {
164470
+ return getProjectInstructionFilePath(currentDir, existsSync7);
164459
164471
  }
164460
164472
  const parentDir = dirname18(currentDir);
164461
164473
  if (parentDir === currentDir) {
@@ -166632,7 +166644,7 @@ var init_contextAnalysis = __esm(() => {
166632
166644
  });
166633
166645
 
166634
166646
  // src/utils/memoryDiagnostics.ts
166635
- import { existsSync as existsSync6, readFileSync as readFileSync8, readdirSync as readdirSync2, statSync as statSync7 } from "fs";
166647
+ import { existsSync as existsSync7, readFileSync as readFileSync8, readdirSync as readdirSync2, statSync as statSync7 } from "fs";
166636
166648
  import { getHeapSpaceStatistics, getHeapStatistics } from "v8";
166637
166649
  function parseCgroupMemoryValue(raw) {
166638
166650
  const value = raw?.trim();
@@ -166729,7 +166741,7 @@ function getTaskDiagnostics(task) {
166729
166741
  if (getMinDebugLogLevel() === "verbose") {
166730
166742
  try {
166731
166743
  const outputPath = getTaskOutputPath(task.id);
166732
- if (existsSync6(outputPath)) {
166744
+ if (existsSync7(outputPath)) {
166733
166745
  const stat14 = statSync7(outputPath);
166734
166746
  base2.outputFileSize = stat14.size;
166735
166747
  }
@@ -383070,7 +383082,7 @@ function getAnthropicEnvMetadata() {
383070
383082
  function getBuildAgeMinutes() {
383071
383083
  if (false)
383072
383084
  ;
383073
- const buildTime = new Date("2026-06-03T11:36:29.644Z").getTime();
383085
+ const buildTime = new Date("2026-06-10T20:56:38.357Z").getTime();
383074
383086
  if (isNaN(buildTime))
383075
383087
  return;
383076
383088
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -411300,7 +411312,7 @@ function buildPrimarySection() {
411300
411312
  });
411301
411313
  return [{
411302
411314
  label: "Version",
411303
- value: "0.10.0"
411315
+ value: "0.10.1"
411304
411316
  }, {
411305
411317
  label: "Session name",
411306
411318
  value: nameValue
@@ -422458,14 +422470,14 @@ var init_onboard_github2 = __esm(() => {
422458
422470
 
422459
422471
  // src/utils/storage/SQLiteProvider.ts
422460
422472
  import { join as join108 } from "path";
422461
- import { existsSync as existsSync7, mkdirSync as mkdirSync6, unlinkSync as unlinkSync3, statSync as statSync9 } from "fs";
422473
+ import { existsSync as existsSync8, mkdirSync as mkdirSync6, unlinkSync as unlinkSync3, statSync as statSync9 } from "fs";
422462
422474
 
422463
422475
  class SQLiteProvider {
422464
422476
  db = null;
422465
422477
  dbPath;
422466
422478
  isInitialized = false;
422467
422479
  constructor(projectDir) {
422468
- if (!existsSync7(projectDir)) {
422480
+ if (!existsSync8(projectDir)) {
422469
422481
  mkdirSync6(projectDir, { recursive: true });
422470
422482
  }
422471
422483
  this.dbPath = join108(projectDir, "knowledge.db");
@@ -422483,7 +422495,7 @@ class SQLiteProvider {
422483
422495
  }
422484
422496
  try {
422485
422497
  const { Database } = await import("bun:sqlite");
422486
- if (existsSync7(this.dbPath) && statSync9(this.dbPath).size === 0) {
422498
+ if (existsSync8(this.dbPath) && statSync9(this.dbPath).size === 0) {
422487
422499
  unlinkSync3(this.dbPath);
422488
422500
  }
422489
422501
  this.db = new Database(this.dbPath);
@@ -422503,7 +422515,7 @@ class SQLiteProvider {
422503
422515
  this.close();
422504
422516
  const sidecars = [this.dbPath, `${this.dbPath}-wal`, `${this.dbPath}-shm`];
422505
422517
  for (const file2 of sidecars) {
422506
- if (existsSync7(file2)) {
422518
+ if (existsSync8(file2)) {
422507
422519
  try {
422508
422520
  unlinkSync3(file2);
422509
422521
  } catch {}
@@ -422676,7 +422688,7 @@ class SQLiteProvider {
422676
422688
  }
422677
422689
  clear() {
422678
422690
  if (!this.db) {
422679
- return !existsSync7(this.dbPath);
422691
+ return !existsSync8(this.dbPath);
422680
422692
  }
422681
422693
  try {
422682
422694
  this.db.transaction(() => {
@@ -422710,7 +422722,7 @@ var init_SQLiteProvider = __esm(() => {
422710
422722
  });
422711
422723
 
422712
422724
  // src/utils/storage/JSONProvider.ts
422713
- import { readFileSync as readFileSync13, mkdirSync as mkdirSync7, existsSync as existsSync8, rmSync as rmSync4 } from "fs";
422725
+ import { readFileSync as readFileSync13, mkdirSync as mkdirSync7, existsSync as existsSync9, rmSync as rmSync4 } from "fs";
422714
422726
  import { join as join109, dirname as dirname49 } from "path";
422715
422727
 
422716
422728
  class JSONProvider {
@@ -422719,7 +422731,7 @@ class JSONProvider {
422719
422731
  this.path = join109(projectDir, "knowledge_graph.json");
422720
422732
  }
422721
422733
  loadGraph() {
422722
- if (!existsSync8(this.path))
422734
+ if (!existsSync9(this.path))
422723
422735
  return null;
422724
422736
  try {
422725
422737
  const data = JSON.parse(readFileSync13(this.path, "utf-8"));
@@ -422736,7 +422748,7 @@ class JSONProvider {
422736
422748
  saveGraph(graph) {
422737
422749
  try {
422738
422750
  const dir = dirname49(this.path);
422739
- if (!existsSync8(dir)) {
422751
+ if (!existsSync9(dir)) {
422740
422752
  mkdirSync7(dir, { recursive: true });
422741
422753
  }
422742
422754
  writeFileSyncAndFlush_DEPRECATED(this.path, JSON.stringify(graph, null, 2), { encoding: "utf-8" });
@@ -422747,12 +422759,12 @@ class JSONProvider {
422747
422759
  }
422748
422760
  }
422749
422761
  delete() {
422750
- if (!existsSync8(this.path)) {
422762
+ if (!existsSync9(this.path)) {
422751
422763
  return true;
422752
422764
  }
422753
422765
  try {
422754
422766
  rmSync4(this.path, { force: true });
422755
- return !existsSync8(this.path);
422767
+ return !existsSync9(this.path);
422756
422768
  } catch {
422757
422769
  return false;
422758
422770
  }
@@ -422763,7 +422775,7 @@ var init_JSONProvider = __esm(() => {
422763
422775
  });
422764
422776
 
422765
422777
  // src/utils/knowledgeGraph.ts
422766
- import { rmSync as rmSync5, renameSync as renameSync2, existsSync as existsSync9, readFileSync as readFileSync14 } from "fs";
422778
+ import { rmSync as rmSync5, renameSync as renameSync2, existsSync as existsSync10, readFileSync as readFileSync14 } from "fs";
422767
422779
  import { join as join110 } from "path";
422768
422780
  import { create, insert, search as search2, remove as remove2, getByID } from "@orama/orama";
422769
422781
  import { persist, restore } from "@orama/plugin-data-persistence";
@@ -422778,7 +422790,7 @@ function removePathWithRetry(path18, options2) {
422778
422790
  for (let attempt = 0;attempt < maxAttempts; attempt++) {
422779
422791
  try {
422780
422792
  rmSync5(path18, { force: true });
422781
- if (!existsSync9(path18)) {
422793
+ if (!existsSync10(path18)) {
422782
422794
  return;
422783
422795
  }
422784
422796
  } catch (error42) {
@@ -422789,7 +422801,7 @@ function removePathWithRetry(path18, options2) {
422789
422801
  }
422790
422802
  sleepSync(25 * (attempt + 1));
422791
422803
  }
422792
- if (!existsSync9(path18)) {
422804
+ if (!existsSync10(path18)) {
422793
422805
  return;
422794
422806
  }
422795
422807
  const quarantinePath = `${path18}.stale-${Date.now()}`;
@@ -422797,7 +422809,7 @@ function removePathWithRetry(path18, options2) {
422797
422809
  renameSync2(path18, quarantinePath);
422798
422810
  return;
422799
422811
  } catch (error42) {
422800
- if (!existsSync9(path18)) {
422812
+ if (!existsSync10(path18)) {
422801
422813
  return;
422802
422814
  }
422803
422815
  if (!options2?.requireMissingAfterCleanup) {
@@ -422868,7 +422880,7 @@ async function initOrama(cwd2) {
422868
422880
  return;
422869
422881
  const path18 = getOramaPersistencePath(cwd2);
422870
422882
  let restored = false;
422871
- if (existsSync9(path18)) {
422883
+ if (existsSync10(path18)) {
422872
422884
  try {
422873
422885
  const data = readFileSync14(path18);
422874
422886
  oramaDb = await restore("binary", data);
@@ -424228,7 +424240,7 @@ function getReleaseTagUrl(version2 = publicBuildVersion) {
424228
424240
  return `${VERBOO_RELEASES_URL}/tag/v${normalizePublicVersion(version2)}`;
424229
424241
  }
424230
424242
  function getPublicBuildVersion() {
424231
- return "0.10.0";
424243
+ return "0.10.1";
424232
424244
  }
424233
424245
  var import_semver10, VERBOO_RELEASES_URL = "https://github.com/verbeux-ai/code/releases", fallbackBuildVersion, publicBuildVersion;
424234
424246
  var init_version = __esm(() => {
@@ -428667,15 +428679,11 @@ var login_default = () => ({
428667
428679
  isEnabled: () => {
428668
428680
  if (isEnvTruthy(process.env.DISABLE_LOGIN_COMMAND))
428669
428681
  return false;
428670
- if (isVerbooMode())
428671
- return !isVerbooSessionValidated();
428672
428682
  return true;
428673
428683
  },
428674
428684
  load: () => Promise.resolve().then(() => (init_login(), exports_login))
428675
428685
  });
428676
428686
  var init_login2 = __esm(() => {
428677
- init_oauth();
428678
- init_verbooStartupAuth();
428679
428687
  init_auth();
428680
428688
  init_envUtils();
428681
428689
  });
@@ -479576,7 +479584,7 @@ var init_bridge_kick = __esm(() => {
479576
479584
  var call63 = async () => {
479577
479585
  return {
479578
479586
  type: "text",
479579
- value: `${"99.0.0"} (built ${"2026-06-03T11:36:29.644Z"})`
479587
+ value: `${"99.0.0"} (built ${"2026-06-10T20:56:38.357Z"})`
479580
479588
  };
479581
479589
  }, version2, version_default;
479582
479590
  var init_version2 = __esm(() => {
@@ -491131,6 +491139,7 @@ __export(exports_sessionStorage, {
491131
491139
  readRemoteAgentMetadata: () => readRemoteAgentMetadata,
491132
491140
  readAgentMetadata: () => readAgentMetadata,
491133
491141
  reAppendSessionMetadata: () => reAppendSessionMetadata,
491142
+ mirrorTranscriptToAdditionalDirs: () => mirrorTranscriptToAdditionalDirs,
491134
491143
  loadTranscriptFromFile: () => loadTranscriptFromFile,
491135
491144
  loadTranscriptFile: () => loadTranscriptFile,
491136
491145
  loadSubagentTranscripts: () => loadSubagentTranscripts,
@@ -491189,6 +491198,7 @@ __export(exports_sessionStorage, {
491189
491198
  import { closeSync as closeSync4, fstatSync, openSync as openSync5, readSync as readSync3 } from "fs";
491190
491199
  import {
491191
491200
  appendFile as fsAppendFile,
491201
+ copyFile as copyFile9,
491192
491202
  open as fsOpen2,
491193
491203
  mkdir as mkdir42,
491194
491204
  readdir as readdir31,
@@ -491221,6 +491231,20 @@ function getTranscriptPathForSession(sessionId) {
491221
491231
  const projectDir = getProjectDir3(getOriginalCwd());
491222
491232
  return join138(projectDir, `${sessionId}.jsonl`);
491223
491233
  }
491234
+ async function mirrorTranscriptToAdditionalDirs(writtenFile, sessionId) {
491235
+ const additionalDirs = getAdditionalProjectsDirs();
491236
+ if (additionalDirs.length === 0)
491237
+ return;
491238
+ const projectDirName = sanitizePath2(getSessionProjectDir() ?? getOriginalCwd());
491239
+ for (const baseDir of additionalDirs) {
491240
+ const targetDir = join138(baseDir, projectDirName);
491241
+ const targetPath = join138(targetDir, `${sessionId}.jsonl`);
491242
+ try {
491243
+ await mkdir42(targetDir, { recursive: true, mode: 448 });
491244
+ await copyFile9(writtenFile, targetPath);
491245
+ } catch {}
491246
+ }
491247
+ }
491224
491248
  function setAgentTranscriptSubdir(agentId, subdir) {
491225
491249
  agentTranscriptSubdirs.set(agentId, subdir);
491226
491250
  }
@@ -491310,13 +491334,22 @@ async function listRemoteAgentMetadata() {
491310
491334
  return results;
491311
491335
  }
491312
491336
  function sessionIdExists(sessionId) {
491337
+ const fs4 = getFsImplementation2();
491313
491338
  const projectDir = getProjectDir3(getOriginalCwd());
491314
491339
  const sessionFile = join138(projectDir, `${sessionId}.jsonl`);
491315
- const fs4 = getFsImplementation2();
491316
491340
  try {
491317
491341
  fs4.statSync(sessionFile);
491318
491342
  return true;
491319
491343
  } catch {
491344
+ for (const additionalDir of getAdditionalProjectsDirs()) {
491345
+ const additionalFile = join138(additionalDir, sanitizePath2(getOriginalCwd()), `${sessionId}.jsonl`);
491346
+ try {
491347
+ fs4.statSync(additionalFile);
491348
+ return true;
491349
+ } catch {
491350
+ continue;
491351
+ }
491352
+ }
491320
491353
  return false;
491321
491354
  }
491322
491355
  }
@@ -491454,6 +491487,10 @@ class Project {
491454
491487
  await mkdir42(dirname57(filePath), { recursive: true, mode: 448 });
491455
491488
  await fsAppendFile(filePath, data, { mode: 384 });
491456
491489
  }
491490
+ const sessionId = getSessionId();
491491
+ if (sessionId) {
491492
+ mirrorTranscriptToAdditionalDirs(filePath, sessionId).catch(() => {});
491493
+ }
491457
491494
  }
491458
491495
  async drainWriteQueue() {
491459
491496
  for (const [filePath, queue2] of this.writeQueues) {
@@ -491856,11 +491893,19 @@ class Project {
491856
491893
  await stat46(targetFile);
491857
491894
  this.existingSessionFiles.set(sessionId, targetFile);
491858
491895
  return targetFile;
491859
- } catch (e2) {
491860
- if (isFsInaccessible(e2))
491861
- return null;
491862
- throw e2;
491896
+ } catch {}
491897
+ const projectDirName = sanitizePath2(getOriginalCwd());
491898
+ for (const additionalDir of getAdditionalProjectsDirs()) {
491899
+ const candidate = join138(additionalDir, projectDirName, `${sessionId}.jsonl`);
491900
+ try {
491901
+ await stat46(candidate);
491902
+ this.existingSessionFiles.set(sessionId, candidate);
491903
+ return candidate;
491904
+ } catch {
491905
+ continue;
491906
+ }
491863
491907
  }
491908
+ return null;
491864
491909
  }
491865
491910
  async persistToRemote(sessionId, entry) {
491866
491911
  if (isShuttingDown()) {
@@ -493493,7 +493538,18 @@ async function loadTranscriptFile(filePath, opts) {
493493
493538
  };
493494
493539
  }
493495
493540
  async function loadSessionFile(sessionId) {
493496
- const sessionFile = join138(getSessionProjectDir() ?? getProjectDir3(getOriginalCwd()), `${sessionId}.jsonl`);
493541
+ const projectDir = getSessionProjectDir() ?? getProjectDir3(getOriginalCwd());
493542
+ let sessionFile = join138(projectDir, `${sessionId}.jsonl`);
493543
+ const fs4 = getFsImplementation2();
493544
+ if (!fs4.existsSync(sessionFile)) {
493545
+ for (const additionalDir of getAdditionalProjectsDirs()) {
493546
+ const candidate = join138(additionalDir, sanitizePath2(getOriginalCwd()), `${sessionId}.jsonl`);
493547
+ if (fs4.existsSync(candidate)) {
493548
+ sessionFile = candidate;
493549
+ break;
493550
+ }
493551
+ }
493552
+ }
493497
493553
  return loadTranscriptFile(sessionFile);
493498
493554
  }
493499
493555
  function clearSessionMessagesCache() {
@@ -493579,17 +493635,19 @@ async function loadAllProjectsMessageLogsFull(limit) {
493579
493635
  return sorted;
493580
493636
  }
493581
493637
  async function loadAllProjectsMessageLogsProgressive(limit, initialEnrichCount = INITIAL_ENRICH_COUNT) {
493582
- const projectsDir = getProjectsDir();
493583
- let dirents;
493584
- try {
493585
- dirents = await readdir31(projectsDir, { withFileTypes: true });
493586
- } catch {
493587
- return { logs: [], allStatLogs: [], nextIndex: 0 };
493588
- }
493589
- const projectDirs = dirents.filter((dirent) => dirent.isDirectory()).map((dirent) => join138(projectsDir, dirent.name));
493638
+ const projectsDirs = getProjectsDirs();
493590
493639
  const rawLogs = [];
493591
- for (const projectDir of projectDirs) {
493592
- rawLogs.push(...await getSessionFilesLite(projectDir, limit));
493640
+ for (const projectsDir of projectsDirs) {
493641
+ let dirents;
493642
+ try {
493643
+ dirents = await readdir31(projectsDir, { withFileTypes: true });
493644
+ } catch {
493645
+ continue;
493646
+ }
493647
+ const projectDirs = dirents.filter((dirent) => dirent.isDirectory()).map((dirent) => join138(projectsDir, dirent.name));
493648
+ for (const projectDir of projectDirs) {
493649
+ rawLogs.push(...await getSessionFilesLite(projectDir, limit));
493650
+ }
493593
493651
  }
493594
493652
  const sorted = deduplicateLogsBySessionId(rawLogs);
493595
493653
  const { logs, nextIndex } = await enrichLogs(sorted, 0, initialEnrichCount);
@@ -493614,10 +493672,16 @@ async function loadSameRepoMessageLogsProgressive(worktreePaths, limit, initialE
493614
493672
  }
493615
493673
  async function getStatOnlyLogsForWorktrees(worktreePaths, limit) {
493616
493674
  const projectsDir = getProjectsDir();
493675
+ const allLogs = [];
493617
493676
  if (worktreePaths.length <= 1) {
493618
493677
  const cwd2 = getOriginalCwd();
493619
493678
  const projectDir = getProjectDir3(cwd2);
493620
- return getSessionFilesLite(projectDir, undefined, cwd2);
493679
+ allLogs.push(...await getSessionFilesLite(projectDir, undefined, cwd2));
493680
+ for (const additionalDir of getAdditionalProjectsDirs()) {
493681
+ const additionalProjectDir = join138(additionalDir, sanitizePath2(cwd2));
493682
+ allLogs.push(...await getSessionFilesLite(additionalProjectDir, undefined, cwd2));
493683
+ }
493684
+ return deduplicateLogsBySessionId(allLogs);
493621
493685
  }
493622
493686
  const caseInsensitive = process.platform === "win32";
493623
493687
  const indexed = worktreePaths.map((wt) => {
@@ -493628,30 +493692,33 @@ async function getStatOnlyLogsForWorktrees(worktreePaths, limit) {
493628
493692
  };
493629
493693
  });
493630
493694
  indexed.sort((a2, b) => b.prefix.length - a2.prefix.length);
493631
- const allLogs = [];
493632
- const seenDirs = new Set;
493633
- let allDirents;
493634
- try {
493635
- allDirents = await readdir31(projectsDir, { withFileTypes: true });
493636
- } catch (e2) {
493637
- logForDebugging(`Failed to read projects dir ${projectsDir}, falling back to current project: ${e2}`);
493638
- const projectDir = getProjectDir3(getOriginalCwd());
493639
- return getSessionFilesLite(projectDir, limit, getOriginalCwd());
493640
- }
493641
- for (const dirent of allDirents) {
493642
- if (!dirent.isDirectory())
493643
- continue;
493644
- const dirName = caseInsensitive ? dirent.name.toLowerCase() : dirent.name;
493645
- if (seenDirs.has(dirName))
493646
- continue;
493647
- for (const { path: wtPath, prefix } of indexed) {
493648
- if (dirName === prefix || dirName.startsWith(prefix + "-")) {
493649
- seenDirs.add(dirName);
493650
- allLogs.push(...await getSessionFilesLite(join138(projectsDir, dirent.name), undefined, wtPath));
493651
- break;
493695
+ async function scanSourceDir(srcDir) {
493696
+ let allDirents;
493697
+ try {
493698
+ allDirents = await readdir31(srcDir, { withFileTypes: true });
493699
+ } catch {
493700
+ return;
493701
+ }
493702
+ const seenDirs = new Set;
493703
+ for (const dirent of allDirents) {
493704
+ if (!dirent.isDirectory())
493705
+ continue;
493706
+ const dirName = caseInsensitive ? dirent.name.toLowerCase() : dirent.name;
493707
+ if (seenDirs.has(dirName))
493708
+ continue;
493709
+ for (const { path: wtPath, prefix } of indexed) {
493710
+ if (dirName === prefix || dirName.startsWith(prefix + "-")) {
493711
+ seenDirs.add(dirName);
493712
+ allLogs.push(...await getSessionFilesLite(join138(srcDir, dirent.name), undefined, wtPath));
493713
+ break;
493714
+ }
493652
493715
  }
493653
493716
  }
493654
493717
  }
493718
+ await scanSourceDir(projectsDir);
493719
+ for (const additionalDir of getAdditionalProjectsDirs()) {
493720
+ await scanSourceDir(additionalDir);
493721
+ }
493655
493722
  return deduplicateLogsBySessionId(allLogs);
493656
493723
  }
493657
493724
  async function getAgentTranscript(agentId) {
@@ -500849,7 +500916,7 @@ __export(exports_worktree, {
500849
500916
  });
500850
500917
  import { spawnSync as spawnSync4 } from "child_process";
500851
500918
  import {
500852
- copyFile as copyFile9,
500919
+ copyFile as copyFile10,
500853
500920
  mkdir as mkdir44,
500854
500921
  readdir as readdir32,
500855
500922
  readFile as readFile50,
@@ -501091,7 +501158,7 @@ async function copyWorktreeIncludeFiles(repoRoot, worktreePath) {
501091
501158
  const destPath = join143(worktreePath, relativePath2);
501092
501159
  try {
501093
501160
  await mkdir44(dirname58(destPath), { recursive: true });
501094
- await copyFile9(srcPath, destPath);
501161
+ await copyFile10(srcPath, destPath);
501095
501162
  copied.push(relativePath2);
501096
501163
  } catch (e2) {
501097
501164
  logForDebugging(`Failed to copy ${relativePath2} to worktree: ${e2.message}`, { level: "warn" });
@@ -501108,7 +501175,7 @@ async function performPostCreationSetup(repoRoot, worktreePath) {
501108
501175
  try {
501109
501176
  const destSettingsLocal = join143(worktreePath, localSettingsRelativePath);
501110
501177
  await mkdirRecursive(dirname58(destSettingsLocal));
501111
- await copyFile9(sourceSettingsLocal, destSettingsLocal);
501178
+ await copyFile10(sourceSettingsLocal, destSettingsLocal);
501112
501179
  logForDebugging(`Copied settings.local.json to worktree: ${destSettingsLocal}`);
501113
501180
  } catch (e2) {
501114
501181
  const code = getErrnoCode(e2);
@@ -509188,7 +509255,7 @@ var init_constants6 = __esm(() => {
509188
509255
 
509189
509256
  // src/utils/settings/mdm/rawRead.ts
509190
509257
  import { execFile as execFile4 } from "child_process";
509191
- import { existsSync as existsSync10 } from "fs";
509258
+ import { existsSync as existsSync11 } from "fs";
509192
509259
  function execFilePromise(cmd, args) {
509193
509260
  return new Promise((resolve42) => {
509194
509261
  execFile4(cmd, args, { encoding: "utf-8", timeout: MDM_SUBPROCESS_TIMEOUT_MS }, (err2, stdout) => {
@@ -509201,7 +509268,7 @@ function fireRawRead() {
509201
509268
  if (process.platform === "darwin") {
509202
509269
  const plistPaths = getMacOSPlistPaths();
509203
509270
  const allResults = await Promise.all(plistPaths.map(async ({ path: path21, label }) => {
509204
- if (!existsSync10(path21)) {
509271
+ if (!existsSync11(path21)) {
509205
509272
  return { stdout: "", label, ok: false };
509206
509273
  }
509207
509274
  const { stdout, code } = await execFilePromise(PLUTIL_PATH, [
@@ -511761,7 +511828,7 @@ function printStartupScreen(modelOverride) {
511761
511828
  const home = process.env.HOME || process.env.USERPROFILE || "";
511762
511829
  const cwd2 = process.cwd();
511763
511830
  const displayCwd = home && cwd2.startsWith(home) ? `~${cwd2.slice(home.length)}` : cwd2;
511764
- const version3 = "0.10.0";
511831
+ const version3 = "0.10.1";
511765
511832
  const bold2 = `${ESC4}1m`;
511766
511833
  const PURPLE = rgb3(...ACCENT);
511767
511834
  const SOFT = rgb3(...CREAM);
@@ -530053,7 +530120,7 @@ var init_routerRateLimitHook = __esm(() => {
530053
530120
  function getSemverPart(version3) {
530054
530121
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
530055
530122
  }
530056
- function useUpdateNotification(updatedVersion, initialVersion = "0.10.0") {
530123
+ function useUpdateNotification(updatedVersion, initialVersion = "0.10.1") {
530057
530124
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react223.useState(() => getSemverPart(initialVersion));
530058
530125
  const [pendingNotification2, setPendingNotification] = import_react223.useState(null);
530059
530126
  if (updatedVersion) {
@@ -530093,7 +530160,7 @@ function AutoUpdater({
530093
530160
  return;
530094
530161
  }
530095
530162
  if (false) {}
530096
- const currentVersion = "0.10.0";
530163
+ const currentVersion = "0.10.1";
530097
530164
  const channel2 = getInitialSettings()?.autoUpdatesChannel ?? "latest";
530098
530165
  let latestVersion = await getLatestVersion(channel2);
530099
530166
  const isDisabled = isAutoUpdaterDisabled();
@@ -530446,17 +530513,17 @@ function PackageManagerAutoUpdater(t0) {
530446
530513
  const maxVersion = await getMaxVersion();
530447
530514
  if (maxVersion && latest && gt(latest, maxVersion)) {
530448
530515
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
530449
- if (gte("0.10.0", maxVersion)) {
530450
- logForDebugging(`PackageManagerAutoUpdater: current version ${"0.10.0"} is already at or above maxVersion ${maxVersion}, skipping update`);
530516
+ if (gte("0.10.1", maxVersion)) {
530517
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"0.10.1"} is already at or above maxVersion ${maxVersion}, skipping update`);
530451
530518
  setUpdateAvailable(false);
530452
530519
  return;
530453
530520
  }
530454
530521
  latest = maxVersion;
530455
530522
  }
530456
- const hasUpdate = latest && !gte("0.10.0", latest) && !shouldSkipVersion(latest);
530523
+ const hasUpdate = latest && !gte("0.10.1", latest) && !shouldSkipVersion(latest);
530457
530524
  setUpdateAvailable(!!hasUpdate);
530458
530525
  if (hasUpdate) {
530459
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"0.10.0"} -> ${latest}`);
530526
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"0.10.1"} -> ${latest}`);
530460
530527
  }
530461
530528
  };
530462
530529
  $2[0] = t1;
@@ -530490,7 +530557,7 @@ function PackageManagerAutoUpdater(t0) {
530490
530557
  wrap: "truncate",
530491
530558
  children: [
530492
530559
  "currentVersion: ",
530493
- "0.10.0"
530560
+ "0.10.1"
530494
530561
  ]
530495
530562
  });
530496
530563
  $2[3] = verbose;
@@ -534989,7 +535056,7 @@ async function sendDirectMemberMessage(recipientName, message, teamContext, writ
534989
535056
  }
534990
535057
 
534991
535058
  // src/utils/dragDropPaths.ts
534992
- import { existsSync as existsSync11 } from "fs";
535059
+ import { existsSync as existsSync12 } from "fs";
534993
535060
  import { isAbsolute as isAbsolute27 } from "path";
534994
535061
  function extractDraggedFilePaths(text2) {
534995
535062
  const segments = text2.split(/ (?=\/|[A-Za-z]:\\)/).flatMap((part) => part.split(`
@@ -535009,7 +535076,7 @@ function extractDraggedFilePaths(text2) {
535009
535076
  return [];
535010
535077
  if (!isAbsolute27(p))
535011
535078
  return [];
535012
- if (!existsSync11(p))
535079
+ if (!existsSync12(p))
535013
535080
  return [];
535014
535081
  cleaned.push(p);
535015
535082
  }
@@ -546251,10 +546318,10 @@ async function autoUpdateCliInBackground() {
546251
546318
  return;
546252
546319
  const channel2 = getInitialSettings()?.autoUpdatesChannel ?? "latest";
546253
546320
  const latest = await getLatestVersion(channel2);
546254
- if (!latest || gte("0.10.0", latest))
546321
+ if (!latest || gte("0.10.1", latest))
546255
546322
  return;
546256
546323
  writeToStdout(`
546257
- Nova versão disponível: ${latest} (atual: ${"0.10.0"})
546324
+ Nova versão disponível: ${latest} (atual: ${"0.10.1"})
546258
546325
  `);
546259
546326
  writeToStdout(`Atualizando automaticamente...
546260
546327
  `);
@@ -546403,7 +546470,7 @@ var init_useDeferredHookMessages = __esm(() => {
546403
546470
 
546404
546471
  // src/hooks/useApiKeyVerification.ts
546405
546472
  function getInitialVerificationStatus() {
546406
- if (!isAnthropicAuthEnabled() || isClaudeAISubscriber()) {
546473
+ if (!isAnthropicAuthEnabled() || isClaudeAISubscriber() || isVerbooMode()) {
546407
546474
  return "valid";
546408
546475
  }
546409
546476
  const { key, source } = getAnthropicApiKeyWithSource({
@@ -546417,7 +546484,7 @@ function getInitialVerificationStatus() {
546417
546484
  function useApiKeyVerification() {
546418
546485
  const [status2, setStatus] = import_react268.useState(getInitialVerificationStatus);
546419
546486
  const [error42, setError] = import_react268.useState(null);
546420
- const anthropicVerificationEnabled = isAnthropicAuthEnabled() && !isClaudeAISubscriber();
546487
+ const anthropicVerificationEnabled = isAnthropicAuthEnabled() && !isClaudeAISubscriber() && !isVerbooMode();
546421
546488
  import_react268.useEffect(() => {
546422
546489
  const nextStatus = anthropicVerificationEnabled ? getInitialVerificationStatus() : "valid";
546423
546490
  setStatus((currentStatus) => currentStatus === nextStatus ? currentStatus : nextStatus);
@@ -546426,7 +546493,7 @@ function useApiKeyVerification() {
546426
546493
  }
546427
546494
  }, [anthropicVerificationEnabled]);
546428
546495
  const verify = import_react268.useCallback(async () => {
546429
- if (!isAnthropicAuthEnabled() || isClaudeAISubscriber()) {
546496
+ if (!isAnthropicAuthEnabled() || isClaudeAISubscriber() || isVerbooMode()) {
546430
546497
  setStatus("valid");
546431
546498
  return;
546432
546499
  }
@@ -546465,6 +546532,7 @@ var init_useApiKeyVerification = __esm(() => {
546465
546532
  init_state();
546466
546533
  init_claude3();
546467
546534
  init_auth();
546535
+ init_oauth();
546468
546536
  import_react268 = __toESM(require_react(), 1);
546469
546537
  });
546470
546538
 
@@ -562979,7 +563047,7 @@ function WelcomeV2() {
562979
563047
  dimColor: true,
562980
563048
  children: [
562981
563049
  "v",
562982
- "0.10.0",
563050
+ "0.10.1",
562983
563051
  " "
562984
563052
  ]
562985
563053
  })
@@ -563166,7 +563234,7 @@ function WelcomeV2() {
563166
563234
  dimColor: true,
563167
563235
  children: [
563168
563236
  "v",
563169
- "0.10.0",
563237
+ "0.10.1",
563170
563238
  " "
563171
563239
  ]
563172
563240
  })
@@ -563382,7 +563450,7 @@ function AppleTerminalWelcomeV2(t0) {
563382
563450
  dimColor: true,
563383
563451
  children: [
563384
563452
  "v",
563385
- "0.10.0",
563453
+ "0.10.1",
563386
563454
  " "
563387
563455
  ]
563388
563456
  });
@@ -563591,7 +563659,7 @@ function AppleTerminalWelcomeV2(t0) {
563591
563659
  dimColor: true,
563592
563660
  children: [
563593
563661
  "v",
563594
- "0.10.0",
563662
+ "0.10.1",
563595
563663
  " "
563596
563664
  ]
563597
563665
  });
@@ -569787,7 +569855,7 @@ var init_sessionMemory = __esm(() => {
569787
569855
  });
569788
569856
 
569789
569857
  // src/utils/iTermBackup.ts
569790
- import { copyFile as copyFile10, stat as stat54 } from "fs/promises";
569858
+ import { copyFile as copyFile11, stat as stat54 } from "fs/promises";
569791
569859
  import { homedir as homedir39 } from "os";
569792
569860
  import { join as join159 } from "path";
569793
569861
  function markITerm2SetupComplete() {
@@ -569822,7 +569890,7 @@ async function checkAndRestoreITerm2Backup() {
569822
569890
  return { status: "no_backup" };
569823
569891
  }
569824
569892
  try {
569825
- await copyFile10(backupPath, getITerm2PlistPath());
569893
+ await copyFile11(backupPath, getITerm2PlistPath());
569826
569894
  markITerm2SetupComplete();
569827
569895
  return { status: "restored" };
569828
569896
  } catch (restoreError) {
@@ -581000,7 +581068,7 @@ __export(exports_update, {
581000
581068
  });
581001
581069
  async function update() {
581002
581070
  logEvent("tengu_update_check", {});
581003
- writeToStdout(`Current version: ${"0.10.0"}
581071
+ writeToStdout(`Current version: ${"0.10.1"}
581004
581072
  `);
581005
581073
  const channel2 = getInitialSettings()?.autoUpdatesChannel ?? "latest";
581006
581074
  writeToStdout(`Checking for updates to ${channel2} version...
@@ -581085,8 +581153,8 @@ async function update() {
581085
581153
  writeToStdout(`Verboo Code is managed by Homebrew.
581086
581154
  `);
581087
581155
  const latest = await getLatestVersion(channel2);
581088
- if (latest && !gte("0.10.0", latest)) {
581089
- writeToStdout(`Update available: ${"0.10.0"} → ${latest}
581156
+ if (latest && !gte("0.10.1", latest)) {
581157
+ writeToStdout(`Update available: ${"0.10.1"} → ${latest}
581090
581158
  `);
581091
581159
  writeToStdout(`
581092
581160
  `);
@@ -581102,8 +581170,8 @@ async function update() {
581102
581170
  writeToStdout(`Verboo Code is managed by winget.
581103
581171
  `);
581104
581172
  const latest = await getLatestVersion(channel2);
581105
- if (latest && !gte("0.10.0", latest)) {
581106
- writeToStdout(`Update available: ${"0.10.0"} → ${latest}
581173
+ if (latest && !gte("0.10.1", latest)) {
581174
+ writeToStdout(`Update available: ${"0.10.1"} → ${latest}
581107
581175
  `);
581108
581176
  writeToStdout(`
581109
581177
  `);
@@ -581119,8 +581187,8 @@ async function update() {
581119
581187
  writeToStdout(`Verboo Code is managed by apk.
581120
581188
  `);
581121
581189
  const latest = await getLatestVersion(channel2);
581122
- if (latest && !gte("0.10.0", latest)) {
581123
- writeToStdout(`Update available: ${"0.10.0"} → ${latest}
581190
+ if (latest && !gte("0.10.1", latest)) {
581191
+ writeToStdout(`Update available: ${"0.10.1"} → ${latest}
581124
581192
  `);
581125
581193
  writeToStdout(`
581126
581194
  `);
@@ -581173,11 +581241,11 @@ async function update() {
581173
581241
  `);
581174
581242
  await gracefulShutdown(1);
581175
581243
  }
581176
- if (result.latestVersion === "0.10.0") {
581177
- writeToStdout(source_default.green(`Verboo Code is up to date (${"0.10.0"})`) + `
581244
+ if (result.latestVersion === "0.10.1") {
581245
+ writeToStdout(source_default.green(`Verboo Code is up to date (${"0.10.1"})`) + `
581178
581246
  `);
581179
581247
  } else {
581180
- writeToStdout(source_default.green(`Successfully updated from ${"0.10.0"} to version ${result.latestVersion}`) + `
581248
+ writeToStdout(source_default.green(`Successfully updated from ${"0.10.1"} to version ${result.latestVersion}`) + `
581181
581249
  `);
581182
581250
  await regenerateCompletionCache();
581183
581251
  }
@@ -581237,12 +581305,12 @@ async function update() {
581237
581305
  `);
581238
581306
  await gracefulShutdown(1);
581239
581307
  }
581240
- if (latestVersion === "0.10.0") {
581241
- writeToStdout(source_default.green(`Verboo Code is up to date (${"0.10.0"})`) + `
581308
+ if (latestVersion === "0.10.1") {
581309
+ writeToStdout(source_default.green(`Verboo Code is up to date (${"0.10.1"})`) + `
581242
581310
  `);
581243
581311
  await gracefulShutdown(0);
581244
581312
  }
581245
- writeToStdout(`New version available: ${latestVersion} (current: ${"0.10.0"})
581313
+ writeToStdout(`New version available: ${latestVersion} (current: ${"0.10.1"})
581246
581314
  `);
581247
581315
  writeToStdout(`Installing update...
581248
581316
  `);
@@ -581287,7 +581355,7 @@ async function update() {
581287
581355
  logForDebugging(`update: Installation status: ${status2}`);
581288
581356
  switch (status2) {
581289
581357
  case "success":
581290
- writeToStdout(source_default.green(`Successfully updated from ${"0.10.0"} to version ${latestVersion}`) + `
581358
+ writeToStdout(source_default.green(`Successfully updated from ${"0.10.1"} to version ${latestVersion}`) + `
581291
581359
  `);
581292
581360
  await regenerateCompletionCache();
581293
581361
  break;
@@ -582542,7 +582610,7 @@ ${customInstructions}` : customInstructions;
582542
582610
  is_native_binary: isInBundledMode()
582543
582611
  });
582544
582612
  logMemoryDiagnostics("start", {
582545
- version: "0.10.0",
582613
+ version: "0.10.1",
582546
582614
  debug: debug2,
582547
582615
  debugToStderr,
582548
582616
  print: print ?? false,
@@ -583348,7 +583416,7 @@ Usage: verboo --remote "your task description"`, () => gracefulShutdown(1));
583348
583416
  pendingHookMessages
583349
583417
  }, renderAndRun);
583350
583418
  }
583351
- }).version(`0.10.0 (${cliDesc})`, "-v, --version", "Output the version number");
583419
+ }).version(`0.10.1 (${cliDesc})`, "-v, --version", "Output the version number");
583352
583420
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
583353
583421
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
583354
583422
  if (canUserConfigureAdvisor()) {
@@ -583923,7 +583991,7 @@ if (false) {}
583923
583991
  async function main2() {
583924
583992
  const args = process.argv.slice(2);
583925
583993
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
583926
- console.log(`${"0.10.0"} (Verboo Code)`);
583994
+ console.log(`${"0.10.1"} (Verboo Code)`);
583927
583995
  return;
583928
583996
  }
583929
583997
  if (!IS_VERBOO_CLI && args.includes("--provider")) {
@@ -584097,4 +584165,4 @@ async function main2() {
584097
584165
  }
584098
584166
  main2();
584099
584167
 
584100
- //# debugId=05545AE1A7D791E764756E2164756E21
584168
+ //# debugId=69AD51BE94BA982664756E2164756E21
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@verboo/code",
3
- "version": "0.10.0",
3
+ "version": "0.10.1",
4
4
  "description": "Verboo Code — coding agent for the Verboo platform",
5
5
  "type": "module",
6
6
  "bin": {