vivus-agent 1.1.28 → 1.1.30

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/main.js +111 -87
  2. package/package.json +1 -1
package/dist/main.js CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env -S node --max-old-space-size=8192 --expose-gc
2
2
  // Vivus CLI — local AI coding agent
3
- // Built from source at 2026-06-23T16:17:12.976Z
3
+ // Built from source at 2026-06-23T19:15:02.922Z
4
4
  import { createRequire } from "node:module";
5
5
  var __create = Object.create;
6
6
  var __getProtoOf = Object.getPrototypeOf;
@@ -108119,7 +108119,7 @@ var init_auth = __esm(() => {
108119
108119
 
108120
108120
  // src/utils/userAgent.ts
108121
108121
  function getVivusCodeUserAgent() {
108122
- return `vivus/${"1.1.28+1f97c07"}`;
108122
+ return `vivus/${"1.1.30+da035a8"}`;
108123
108123
  }
108124
108124
 
108125
108125
  // src/utils/workloadContext.ts
@@ -108141,7 +108141,7 @@ function getUserAgent() {
108141
108141
  const clientApp = process.env.VIVUS_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.VIVUS_AGENT_SDK_CLIENT_APP}` : "";
108142
108142
  const workload = getWorkload();
108143
108143
  const workloadSuffix = workload ? `, workload/${workload}` : "";
108144
- return `vivus-cli/${"1.1.28+1f97c07"} (${process.env.USER_TYPE}, ${process.env.VIVUS_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
108144
+ return `vivus-cli/${"1.1.30+da035a8"} (${process.env.USER_TYPE}, ${process.env.VIVUS_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
108145
108145
  }
108146
108146
  function getMCPUserAgent() {
108147
108147
  const parts = [];
@@ -108155,7 +108155,7 @@ function getMCPUserAgent() {
108155
108155
  parts.push(`client-app/${process.env.VIVUS_AGENT_SDK_CLIENT_APP}`);
108156
108156
  }
108157
108157
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
108158
- return `vivus/${"1.1.28+1f97c07"}${suffix}`;
108158
+ return `vivus/${"1.1.30+da035a8"}${suffix}`;
108159
108159
  }
108160
108160
  function getWebFetchUserAgent() {
108161
108161
  return `Vivus-User (${getVivusCodeUserAgent()}; +https://support.anthropic.com/)`;
@@ -108293,7 +108293,7 @@ var init_user = __esm(() => {
108293
108293
  deviceId,
108294
108294
  sessionId: getSessionId(),
108295
108295
  email: getEmail(),
108296
- appVersion: "1.1.28+1f97c07",
108296
+ appVersion: "1.1.30+da035a8",
108297
108297
  platform: getHostPlatformForAnalytics(),
108298
108298
  organizationUuid,
108299
108299
  accountUuid,
@@ -119604,7 +119604,7 @@ var init_metadata = __esm(() => {
119604
119604
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
119605
119605
  WHITESPACE_REGEX = /\s+/;
119606
119606
  getVersionBase = memoize_default(() => {
119607
- const match = "1.1.28+1f97c07".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
119607
+ const match = "1.1.30+da035a8".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
119608
119608
  return match ? match[0] : undefined;
119609
119609
  });
119610
119610
  buildEnvContext = memoize_default(async () => {
@@ -119644,9 +119644,9 @@ var init_metadata = __esm(() => {
119644
119644
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
119645
119645
  isVivusCodeAction: isEnvTruthy(process.env.VIVUS_CODE_ACTION),
119646
119646
  isVivusAiAuth: isVivusAISubscriber(),
119647
- version: "1.1.28+1f97c07",
119647
+ version: "1.1.30+da035a8",
119648
119648
  versionBase: getVersionBase(),
119649
- buildTime: "2026-06-23T16:17:12.573Z",
119649
+ buildTime: "2026-06-23T19:15:02.361Z",
119650
119650
  deploymentEnvironment: env3.detectDeploymentEnvironment(),
119651
119651
  ...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
119652
119652
  githubEventName: process.env.GITHUB_EVENT_NAME,
@@ -120314,7 +120314,7 @@ function initialize1PEventLogging() {
120314
120314
  const platform2 = getPlatform();
120315
120315
  const attributes = {
120316
120316
  [import_semantic_conventions.ATTR_SERVICE_NAME]: "vivus",
120317
- [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.1.28+1f97c07"
120317
+ [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.1.30+da035a8"
120318
120318
  };
120319
120319
  if (platform2 === "wsl") {
120320
120320
  const wslVersion = getWslVersion();
@@ -120341,7 +120341,7 @@ function initialize1PEventLogging() {
120341
120341
  })
120342
120342
  ]
120343
120343
  });
120344
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.vivus_code.events", "1.1.28+1f97c07");
120344
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.vivus_code.events", "1.1.30+da035a8");
120345
120345
  }
120346
120346
  async function reinitialize1PEventLoggingIfConfigChanged() {
120347
120347
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -121059,6 +121059,25 @@ function getAutoMemBase() {
121059
121059
  function getAutoMemEntrypoint() {
121060
121060
  return join23(getAutoMemPath(), AUTO_MEM_ENTRYPOINT_NAME);
121061
121061
  }
121062
+ function redirectStrayClaudePath(absPath) {
121063
+ if (typeof absPath !== "string" || !absPath)
121064
+ return absPath;
121065
+ const mem = absPath.match(/[/\\]\.claude[/\\]projects[/\\][^/\\]+[/\\]memory[/\\](.+)$/);
121066
+ if (mem) {
121067
+ const rest = mem[1].replace(/[/\\]+$/, "");
121068
+ return rest ? join23(getAutoMemPath(), rest) : absPath;
121069
+ }
121070
+ const home = homedir9();
121071
+ for (const subdir of ["skills", "agents", "commands"]) {
121072
+ const prefix = join23(home, ".claude", subdir) + sep4;
121073
+ if (absPath.startsWith(prefix)) {
121074
+ const rest = absPath.slice(prefix.length).replace(/[/\\]+$/, "");
121075
+ if (rest)
121076
+ return join23(getVivusConfigHomeDir(), subdir, rest);
121077
+ }
121078
+ }
121079
+ return absPath;
121080
+ }
121062
121081
  function isAutoMemPath(absolutePath) {
121063
121082
  const normalizedPath = normalize3(absolutePath);
121064
121083
  return normalizedPath.startsWith(getAutoMemPath());
@@ -162536,7 +162555,7 @@ function getAttributionHeader(fingerprint) {
162536
162555
  if (!isAttributionHeaderEnabled()) {
162537
162556
  return "";
162538
162557
  }
162539
- const version2 = `${"1.1.28+1f97c07"}.${fingerprint}`;
162558
+ const version2 = `${"1.1.30+da035a8"}.${fingerprint}`;
162540
162559
  const entrypoint = process.env.VIVUS_CODE_ENTRYPOINT ?? "unknown";
162541
162560
  const cch = "";
162542
162561
  const workload = getWorkload();
@@ -175699,7 +175718,7 @@ function getTelemetryAttributes() {
175699
175718
  attributes["session.id"] = sessionId;
175700
175719
  }
175701
175720
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
175702
- attributes["app.version"] = "1.1.28+1f97c07";
175721
+ attributes["app.version"] = "1.1.30+da035a8";
175703
175722
  }
175704
175723
  const oauthAccount = getOauthAccountInfo();
175705
175724
  if (oauthAccount) {
@@ -242259,7 +242278,7 @@ function computeFingerprint(messageText, version2) {
242259
242278
  }
242260
242279
  function computeFingerprintFromMessages(messages) {
242261
242280
  const firstMessageText = extractFirstMessageText(messages);
242262
- return computeFingerprint(firstMessageText, "1.1.28+1f97c07");
242281
+ return computeFingerprint(firstMessageText, "1.1.30+da035a8");
242263
242282
  }
242264
242283
  var FINGERPRINT_SALT = "59cf53e54c78";
242265
242284
  var init_fingerprint = () => {};
@@ -242301,7 +242320,7 @@ async function sideQuery(opts) {
242301
242320
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
242302
242321
  }
242303
242322
  const messageText = extractFirstUserMessageText(messages);
242304
- const fingerprint = computeFingerprint(messageText, "1.1.28+1f97c07");
242323
+ const fingerprint = computeFingerprint(messageText, "1.1.30+da035a8");
242305
242324
  const attributionHeader = getAttributionHeader(fingerprint);
242306
242325
  const systemBlocks = [
242307
242326
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -243453,7 +243472,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
243453
243472
  const client2 = new Client({
243454
243473
  name: "vivus",
243455
243474
  title: "Vivus",
243456
- version: "1.1.28+1f97c07",
243475
+ version: "1.1.30+da035a8",
243457
243476
  description: "Anthropic's agentic coding tool",
243458
243477
  websiteUrl: PRODUCT_URL
243459
243478
  }, {
@@ -243807,7 +243826,7 @@ var init_client6 = __esm(() => {
243807
243826
  const client2 = new Client({
243808
243827
  name: "vivus",
243809
243828
  title: "Vivus",
243810
- version: "1.1.28+1f97c07",
243829
+ version: "1.1.30+da035a8",
243811
243830
  description: "Anthropic's agentic coding tool",
243812
243831
  websiteUrl: PRODUCT_URL
243813
243832
  }, {
@@ -245865,7 +245884,7 @@ function getInstallationEnv() {
245865
245884
  return;
245866
245885
  }
245867
245886
  function getVivusCodeVersion() {
245868
- return "1.1.28+1f97c07";
245887
+ return "1.1.30+da035a8";
245869
245888
  }
245870
245889
  async function getInstalledVSCodeExtensionVersion(command) {
245871
245890
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -300940,7 +300959,7 @@ async function initializeBetaTracing(resource) {
300940
300959
  });
300941
300960
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
300942
300961
  setLoggerProvider(loggerProvider);
300943
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.28+1f97c07");
300962
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.30+da035a8");
300944
300963
  setEventLogger(eventLogger);
300945
300964
  process.on("beforeExit", async () => {
300946
300965
  await loggerProvider?.forceFlush();
@@ -300980,7 +300999,7 @@ async function initializeTelemetry() {
300980
300999
  const platform5 = getPlatform();
300981
301000
  const baseAttributes = {
300982
301001
  [import_semantic_conventions2.ATTR_SERVICE_NAME]: "vivus",
300983
- [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.1.28+1f97c07"
301002
+ [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.1.30+da035a8"
300984
301003
  };
300985
301004
  if (platform5 === "wsl") {
300986
301005
  const wslVersion = getWslVersion();
@@ -301025,7 +301044,7 @@ async function initializeTelemetry() {
301025
301044
  } catch {}
301026
301045
  };
301027
301046
  registerCleanup(shutdownTelemetry2);
301028
- return meterProvider2.getMeter("com.anthropic.vivus_code", "1.1.28+1f97c07");
301047
+ return meterProvider2.getMeter("com.anthropic.vivus_code", "1.1.30+da035a8");
301029
301048
  }
301030
301049
  const meterProvider = new import_sdk_metrics2.MeterProvider({
301031
301050
  resource,
@@ -301045,7 +301064,7 @@ async function initializeTelemetry() {
301045
301064
  });
301046
301065
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
301047
301066
  setLoggerProvider(loggerProvider);
301048
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.28+1f97c07");
301067
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.30+da035a8");
301049
301068
  setEventLogger(eventLogger);
301050
301069
  logForDebugging("[3P telemetry] Event logger set successfully");
301051
301070
  process.on("beforeExit", async () => {
@@ -301107,7 +301126,7 @@ Current timeout: ${timeoutMs}ms
301107
301126
  }
301108
301127
  };
301109
301128
  registerCleanup(shutdownTelemetry);
301110
- return meterProvider.getMeter("com.anthropic.vivus_code", "1.1.28+1f97c07");
301129
+ return meterProvider.getMeter("com.anthropic.vivus_code", "1.1.30+da035a8");
301111
301130
  }
301112
301131
  async function flushTelemetry() {
301113
301132
  const meterProvider = getMeterProvider();
@@ -301793,9 +301812,9 @@ async function assertMinVersion() {
301793
301812
  if (false) {}
301794
301813
  try {
301795
301814
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
301796
- if (versionConfig.minVersion && lt("1.1.28+1f97c07", versionConfig.minVersion)) {
301815
+ if (versionConfig.minVersion && lt("1.1.30+da035a8", versionConfig.minVersion)) {
301797
301816
  console.error(`
301798
- It looks like your version of Vivus (${"1.1.28+1f97c07"}) needs an update.
301817
+ It looks like your version of Vivus (${"1.1.30+da035a8"}) needs an update.
301799
301818
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
301800
301819
 
301801
301820
  To update, please run:
@@ -302011,7 +302030,7 @@ async function installGlobalPackage(specificVersion) {
302011
302030
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
302012
302031
  logEvent("tengu_auto_updater_lock_contention", {
302013
302032
  pid: process.pid,
302014
- currentVersion: "1.1.28+1f97c07"
302033
+ currentVersion: "1.1.30+da035a8"
302015
302034
  });
302016
302035
  return "in_progress";
302017
302036
  }
@@ -302020,7 +302039,7 @@ async function installGlobalPackage(specificVersion) {
302020
302039
  if (!env3.isRunningWithBun() && env3.isNpmFromWindowsPath()) {
302021
302040
  logError2(new Error("Windows NPM detected in WSL environment"));
302022
302041
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
302023
- currentVersion: "1.1.28+1f97c07"
302042
+ currentVersion: "1.1.30+da035a8"
302024
302043
  });
302025
302044
  console.error(`
302026
302045
  Error: Windows NPM detected in WSL
@@ -302553,7 +302572,7 @@ function detectLinuxGlobPatternWarnings() {
302553
302572
  }
302554
302573
  async function getDoctorDiagnostic() {
302555
302574
  const installationType = await getCurrentInstallationType();
302556
- const version2 = typeof MACRO !== "undefined" ? "1.1.28+1f97c07" : "unknown";
302575
+ const version2 = typeof MACRO !== "undefined" ? "1.1.30+da035a8" : "unknown";
302557
302576
  const installationPath = await getInstallationPath();
302558
302577
  const invokedBinary = getInvokedBinary();
302559
302578
  const multipleInstallations = await detectMultipleInstallations();
@@ -303486,8 +303505,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
303486
303505
  const maxVersion = await getMaxVersion();
303487
303506
  if (maxVersion && gt(version2, maxVersion)) {
303488
303507
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
303489
- if (gte("1.1.28+1f97c07", maxVersion)) {
303490
- logForDebugging(`Native installer: current version ${"1.1.28+1f97c07"} is already at or above maxVersion ${maxVersion}, skipping update`);
303508
+ if (gte("1.1.30+da035a8", maxVersion)) {
303509
+ logForDebugging(`Native installer: current version ${"1.1.30+da035a8"} is already at or above maxVersion ${maxVersion}, skipping update`);
303491
303510
  logEvent("tengu_native_update_skipped_max_version", {
303492
303511
  latency_ms: Date.now() - startTime,
303493
303512
  max_version: maxVersion,
@@ -303498,7 +303517,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
303498
303517
  version2 = maxVersion;
303499
303518
  }
303500
303519
  }
303501
- if (!forceReinstall && version2 === "1.1.28+1f97c07" && await versionIsAvailable(version2) && await isPossibleVivusBinary(executablePath)) {
303520
+ if (!forceReinstall && version2 === "1.1.30+da035a8" && await versionIsAvailable(version2) && await isPossibleVivusBinary(executablePath)) {
303502
303521
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
303503
303522
  logEvent("tengu_native_update_complete", {
303504
303523
  latency_ms: Date.now() - startTime,
@@ -311943,6 +311962,7 @@ var init_FileEditTool = __esm(() => {
311943
311962
  init_gitDiff();
311944
311963
  init_log3();
311945
311964
  init_path2();
311965
+ init_paths();
311946
311966
  init_filesystem();
311947
311967
  init_shellRuleMatching();
311948
311968
  init_validateEditTool();
@@ -311983,6 +312003,7 @@ var init_FileEditTool = __esm(() => {
311983
312003
  backfillObservableInput(input) {
311984
312004
  if (typeof input.file_path === "string") {
311985
312005
  input.file_path = expandPath(input.file_path);
312006
+ input.file_path = redirectStrayClaudePath(input.file_path);
311986
312007
  }
311987
312008
  },
311988
312009
  async preparePermissionMatcher({ file_path }) {
@@ -312796,6 +312817,7 @@ var init_FileWriteTool = __esm(() => {
312796
312817
  init_gitDiff();
312797
312818
  init_log3();
312798
312819
  init_path2();
312820
+ init_paths();
312799
312821
  init_filesystem();
312800
312822
  init_shellRuleMatching();
312801
312823
  init_types9();
@@ -312847,6 +312869,7 @@ var init_FileWriteTool = __esm(() => {
312847
312869
  backfillObservableInput(input) {
312848
312870
  if (typeof input.file_path === "string") {
312849
312871
  input.file_path = expandPath(input.file_path);
312872
+ input.file_path = redirectStrayClaudePath(input.file_path);
312850
312873
  }
312851
312874
  },
312852
312875
  async preparePermissionMatcher({ file_path }) {
@@ -359412,7 +359435,7 @@ function getAnthropicEnvMetadata() {
359412
359435
  function getBuildAgeMinutes() {
359413
359436
  if (false)
359414
359437
  ;
359415
- const buildTime = new Date("2026-06-23T16:17:12.573Z").getTime();
359438
+ const buildTime = new Date("2026-06-23T19:15:02.361Z").getTime();
359416
359439
  if (isNaN(buildTime))
359417
359440
  return;
359418
359441
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -406636,7 +406659,7 @@ var init_filesystem = __esm(() => {
406636
406659
  });
406637
406660
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
406638
406661
  const nonce = randomBytes17(16).toString("hex");
406639
- return join106(getVivusTempDir(), "bundled-skills", "1.1.28+1f97c07", nonce);
406662
+ return join106(getVivusTempDir(), "bundled-skills", "1.1.30+da035a8", nonce);
406640
406663
  });
406641
406664
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
406642
406665
  });
@@ -408396,7 +408419,7 @@ function Feedback({
408396
408419
  platform: env3.platform,
408397
408420
  gitRepo: envInfo.isGit,
408398
408421
  terminal: env3.terminal,
408399
- version: "1.1.28+1f97c07",
408422
+ version: "1.1.30+da035a8",
408400
408423
  transcript: normalizeMessagesForAPI(messages),
408401
408424
  errors: sanitizedErrors,
408402
408425
  lastApiRequest: getLastAPIRequest(),
@@ -408588,7 +408611,7 @@ function Feedback({
408588
408611
  ", ",
408589
408612
  env3.terminal,
408590
408613
  ", v",
408591
- "1.1.28+1f97c07"
408614
+ "1.1.30+da035a8"
408592
408615
  ]
408593
408616
  }, undefined, true, undefined, this)
408594
408617
  ]
@@ -408694,7 +408717,7 @@ ${sanitizedDescription}
408694
408717
  ` + `**Environment Info**
408695
408718
  ` + `- Platform: ${env3.platform}
408696
408719
  ` + `- Terminal: ${env3.terminal}
408697
- ` + `- Version: ${"1.1.28+1f97c07"}
408720
+ ` + `- Version: ${"1.1.30+da035a8"}
408698
408721
  ` + `- Feedback ID: ${feedbackId}
408699
408722
  ` + `
408700
408723
  **Errors**
@@ -411826,7 +411849,7 @@ function buildPrimarySection() {
411826
411849
  }, undefined, false, undefined, this);
411827
411850
  return [{
411828
411851
  label: "Version",
411829
- value: "1.1.28+1f97c07"
411852
+ value: "1.1.30+da035a8"
411830
411853
  }, {
411831
411854
  label: "Session name",
411832
411855
  value: nameValue
@@ -415577,7 +415600,7 @@ function Config({
415577
415600
  }
415578
415601
  }, undefined, false, undefined, this)
415579
415602
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(ChannelDowngradeDialog, {
415580
- currentVersion: "1.1.28+1f97c07",
415603
+ currentVersion: "1.1.30+da035a8",
415581
415604
  onChoice: (choice) => {
415582
415605
  setShowSubmenu(null);
415583
415606
  setTabsHidden(false);
@@ -415589,7 +415612,7 @@ function Config({
415589
415612
  autoUpdatesChannel: "stable"
415590
415613
  };
415591
415614
  if (choice === "stay") {
415592
- newSettings.minimumVersion = "1.1.28+1f97c07";
415615
+ newSettings.minimumVersion = "1.1.30+da035a8";
415593
415616
  }
415594
415617
  updateSettingsForSource("userSettings", newSettings);
415595
415618
  setSettingsData((prev_27) => ({
@@ -423675,7 +423698,7 @@ function HelpV2(t0) {
423675
423698
  let t6;
423676
423699
  if ($2[31] !== tabs) {
423677
423700
  t6 = /* @__PURE__ */ jsx_dev_runtime205.jsxDEV(Tabs, {
423678
- title: `Vivus v${"1.1.28+1f97c07"}`,
423701
+ title: `Vivus v${"1.1.30+da035a8"}`,
423679
423702
  color: "professionalBlue",
423680
423703
  defaultTab: "general",
423681
423704
  children: tabs
@@ -447901,7 +447924,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
447901
447924
  return [];
447902
447925
  }
447903
447926
  }
447904
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.28+1f97c07") {
447927
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.30+da035a8") {
447905
447928
  if (process.env.USER_TYPE === "ant") {
447906
447929
  const changelog = "";
447907
447930
  if (changelog) {
@@ -447928,7 +447951,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.28+1f
447928
447951
  releaseNotes
447929
447952
  };
447930
447953
  }
447931
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.28+1f97c07") {
447954
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.30+da035a8") {
447932
447955
  if (process.env.USER_TYPE === "ant") {
447933
447956
  const changelog = "";
447934
447957
  if (changelog) {
@@ -449098,7 +449121,7 @@ function getRecentActivitySync() {
449098
449121
  return cachedActivity;
449099
449122
  }
449100
449123
  function getLogoDisplayData() {
449101
- const version2 = process.env.DEMO_VERSION ?? "1.1.28+1f97c07";
449124
+ const version2 = process.env.DEMO_VERSION ?? "1.1.30+da035a8";
449102
449125
  const serverUrl = getDirectConnectServerUrl();
449103
449126
  const displayPath = process.env.DEMO_VERSION ? "/code/vivus" : getDisplayPath(getCwd());
449104
449127
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -450625,7 +450648,7 @@ function LogoV2() {
450625
450648
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
450626
450649
  t2 = () => {
450627
450650
  const currentConfig = getGlobalConfig();
450628
- if (currentConfig.lastReleaseNotesSeen === "1.1.28+1f97c07") {
450651
+ if (currentConfig.lastReleaseNotesSeen === "1.1.30+da035a8") {
450629
450652
  return;
450630
450653
  }
450631
450654
  saveGlobalConfig(_temp329);
@@ -451301,12 +451324,12 @@ function LogoV2() {
451301
451324
  return t41;
451302
451325
  }
451303
451326
  function _temp329(current) {
451304
- if (current.lastReleaseNotesSeen === "1.1.28+1f97c07") {
451327
+ if (current.lastReleaseNotesSeen === "1.1.30+da035a8") {
451305
451328
  return current;
451306
451329
  }
451307
451330
  return {
451308
451331
  ...current,
451309
- lastReleaseNotesSeen: "1.1.28+1f97c07"
451332
+ lastReleaseNotesSeen: "1.1.30+da035a8"
451310
451333
  };
451311
451334
  }
451312
451335
  function _temp245(s_0) {
@@ -477603,7 +477626,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
477603
477626
  smapsRollup,
477604
477627
  platform: process.platform,
477605
477628
  nodeVersion: process.version,
477606
- ccVersion: "1.1.28+1f97c07"
477629
+ ccVersion: "1.1.30+da035a8"
477607
477630
  };
477608
477631
  }
477609
477632
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -478189,7 +478212,7 @@ var init_bridge_kick = __esm(() => {
478189
478212
  var call56 = async () => {
478190
478213
  return {
478191
478214
  type: "text",
478192
- value: `${"1.1.28+1f97c07"} (built ${"2026-06-23T16:17:12.573Z"})`
478215
+ value: `${"1.1.30+da035a8"} (built ${"2026-06-23T19:15:02.361Z"})`
478193
478216
  };
478194
478217
  }, version2, version_default;
478195
478218
  var init_version = __esm(() => {
@@ -487472,7 +487495,7 @@ function generateHtmlReport(data, insights) {
487472
487495
  </html>`;
487473
487496
  }
487474
487497
  function buildExportData(data, insights, facets, remoteStats) {
487475
- const version3 = typeof MACRO !== "undefined" ? "1.1.28+1f97c07" : "unknown";
487498
+ const version3 = typeof MACRO !== "undefined" ? "1.1.30+da035a8" : "unknown";
487476
487499
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
487477
487500
  const facets_summary = {
487478
487501
  total: facets.size,
@@ -491583,7 +491606,7 @@ var init_sessionStorage = __esm(() => {
491583
491606
  init_settings2();
491584
491607
  init_slowOperations();
491585
491608
  init_uuid();
491586
- VERSION5 = typeof MACRO !== "undefined" ? "1.1.28+1f97c07" : "unknown";
491609
+ VERSION5 = typeof MACRO !== "undefined" ? "1.1.30+da035a8" : "unknown";
491587
491610
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
491588
491611
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
491589
491612
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -491714,6 +491737,7 @@ function buildMemoryLines(displayName, memoryDir, extraGuidelines, skipIndex = f
491714
491737
  `# ${displayName}`,
491715
491738
  "",
491716
491739
  `You have a persistent, file-based memory system at \`${memoryDir}\`. ${DIR_EXISTS_GUIDANCE}`,
491740
+ `CRITICAL: this exact directory is your ONLY memory location. Do NOT write memory under \`~/.claude\` or any other path — files written elsewhere are lost and never loaded. Always write to \`${memoryDir}\`.`,
491717
491741
  "",
491718
491742
  "You should build up this memory system over time so that future conversations can have a complete picture of who the user is, how they'd like to collaborate with you, what behaviors to avoid or repeat, and the context behind the work the user gives you.",
491719
491743
  "",
@@ -494454,7 +494478,7 @@ function buildSystemInitMessage(inputs) {
494454
494478
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
494455
494479
  apiKeySource: getAnthropicApiKeyWithSource().source,
494456
494480
  betas: getSdkBetas(),
494457
- vivus_code_version: "1.1.28+1f97c07",
494481
+ vivus_code_version: "1.1.30+da035a8",
494458
494482
  output_style: outputStyle2,
494459
494483
  agents: inputs.agents.map((agent) => agent.agentType),
494460
494484
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
@@ -509082,7 +509106,7 @@ var init_useVoiceEnabled = __esm(() => {
509082
509106
  function getSemverPart(version3) {
509083
509107
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
509084
509108
  }
509085
- function useUpdateNotification(updatedVersion, initialVersion = "1.1.28+1f97c07") {
509109
+ function useUpdateNotification(updatedVersion, initialVersion = "1.1.30+da035a8") {
509086
509110
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react228.useState(() => getSemverPart(initialVersion));
509087
509111
  if (!updatedVersion) {
509088
509112
  return null;
@@ -509122,7 +509146,7 @@ function AutoUpdater({
509122
509146
  return;
509123
509147
  }
509124
509148
  if (false) {}
509125
- const currentVersion = "1.1.28+1f97c07";
509149
+ const currentVersion = "1.1.30+da035a8";
509126
509150
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
509127
509151
  let latestVersion = await getLatestVersion(channel);
509128
509152
  const isDisabled = isAutoUpdaterDisabled();
@@ -509335,12 +509359,12 @@ function NativeAutoUpdater({
509335
509359
  logEvent("tengu_native_auto_updater_start", {});
509336
509360
  try {
509337
509361
  const maxVersion = await getMaxVersion();
509338
- if (maxVersion && gt("1.1.28+1f97c07", maxVersion)) {
509362
+ if (maxVersion && gt("1.1.30+da035a8", maxVersion)) {
509339
509363
  const msg = await getMaxVersionMessage();
509340
509364
  setMaxVersionIssue(msg ?? "affects your version");
509341
509365
  }
509342
509366
  const result = await installLatest(channel);
509343
- const currentVersion = "1.1.28+1f97c07";
509367
+ const currentVersion = "1.1.30+da035a8";
509344
509368
  const latencyMs = Date.now() - startTime;
509345
509369
  if (result.lockFailed) {
509346
509370
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -509477,17 +509501,17 @@ function PackageManagerAutoUpdater(t0) {
509477
509501
  const maxVersion = await getMaxVersion();
509478
509502
  if (maxVersion && latest && gt(latest, maxVersion)) {
509479
509503
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
509480
- if (gte("1.1.28+1f97c07", maxVersion)) {
509481
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.28+1f97c07"} is already at or above maxVersion ${maxVersion}, skipping update`);
509504
+ if (gte("1.1.30+da035a8", maxVersion)) {
509505
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.30+da035a8"} is already at or above maxVersion ${maxVersion}, skipping update`);
509482
509506
  setUpdateAvailable(false);
509483
509507
  return;
509484
509508
  }
509485
509509
  latest = maxVersion;
509486
509510
  }
509487
- const hasUpdate = latest && !gte("1.1.28+1f97c07", latest) && !shouldSkipVersion(latest);
509511
+ const hasUpdate = latest && !gte("1.1.30+da035a8", latest) && !shouldSkipVersion(latest);
509488
509512
  setUpdateAvailable(!!hasUpdate);
509489
509513
  if (hasUpdate) {
509490
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.28+1f97c07"} -> ${latest}`);
509514
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.30+da035a8"} -> ${latest}`);
509491
509515
  }
509492
509516
  };
509493
509517
  $2[0] = t1;
@@ -509521,7 +509545,7 @@ function PackageManagerAutoUpdater(t0) {
509521
509545
  wrap: "truncate",
509522
509546
  children: [
509523
509547
  "currentVersion: ",
509524
- "1.1.28+1f97c07"
509548
+ "1.1.30+da035a8"
509525
509549
  ]
509526
509550
  }, undefined, true, undefined, this);
509527
509551
  $2[3] = verbose;
@@ -517451,7 +517475,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
517451
517475
  project_dir: getOriginalCwd(),
517452
517476
  added_dirs: addedDirs
517453
517477
  },
517454
- version: "1.1.28+1f97c07",
517478
+ version: "1.1.30+da035a8",
517455
517479
  output_style: {
517456
517480
  name: outputStyleName
517457
517481
  },
@@ -528951,7 +528975,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
528951
528975
  } catch {}
528952
528976
  const data = {
528953
528977
  trigger,
528954
- version: "1.1.28+1f97c07",
528978
+ version: "1.1.30+da035a8",
528955
528979
  platform: process.platform,
528956
528980
  transcript,
528957
528981
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -540370,7 +540394,7 @@ function WelcomeV2() {
540370
540394
  dimColor: true,
540371
540395
  children: [
540372
540396
  "v",
540373
- "1.1.28+1f97c07",
540397
+ "1.1.30+da035a8",
540374
540398
  " "
540375
540399
  ]
540376
540400
  }, undefined, true, undefined, this)
@@ -540570,7 +540594,7 @@ function WelcomeV2() {
540570
540594
  dimColor: true,
540571
540595
  children: [
540572
540596
  "v",
540573
- "1.1.28+1f97c07",
540597
+ "1.1.30+da035a8",
540574
540598
  " "
540575
540599
  ]
540576
540600
  }, undefined, true, undefined, this)
@@ -540796,7 +540820,7 @@ function AppleTerminalWelcomeV2(t0) {
540796
540820
  dimColor: true,
540797
540821
  children: [
540798
540822
  "v",
540799
- "1.1.28+1f97c07",
540823
+ "1.1.30+da035a8",
540800
540824
  " "
540801
540825
  ]
540802
540826
  }, undefined, true, undefined, this);
@@ -541050,7 +541074,7 @@ function AppleTerminalWelcomeV2(t0) {
541050
541074
  dimColor: true,
541051
541075
  children: [
541052
541076
  "v",
541053
- "1.1.28+1f97c07",
541077
+ "1.1.30+da035a8",
541054
541078
  " "
541055
541079
  ]
541056
541080
  }, undefined, true, undefined, this);
@@ -544115,7 +544139,7 @@ function appendToLog(path25, message) {
544115
544139
  cwd: getFsImplementation().cwd(),
544116
544140
  userType: process.env.USER_TYPE,
544117
544141
  sessionId: getSessionId(),
544118
- version: "1.1.28+1f97c07"
544142
+ version: "1.1.30+da035a8"
544119
544143
  };
544120
544144
  getLogWriter(path25).write(messageWithTimestamp);
544121
544145
  }
@@ -548100,8 +548124,8 @@ async function getEnvLessBridgeConfig() {
548100
548124
  }
548101
548125
  async function checkEnvLessBridgeMinVersion() {
548102
548126
  const cfg = await getEnvLessBridgeConfig();
548103
- if (cfg.min_version && lt("1.1.28+1f97c07", cfg.min_version)) {
548104
- return `Your version of Vivus (${"1.1.28+1f97c07"}) is too old for Remote Control.
548127
+ if (cfg.min_version && lt("1.1.30+da035a8", cfg.min_version)) {
548128
+ return `Your version of Vivus (${"1.1.30+da035a8"}) is too old for Remote Control.
548105
548129
  Version ${cfg.min_version} or higher is required. Run \`vivus update\` to update.`;
548106
548130
  }
548107
548131
  return null;
@@ -548575,7 +548599,7 @@ async function initBridgeCore(params) {
548575
548599
  const rawApi = createBridgeApiClient({
548576
548600
  baseUrl,
548577
548601
  getAccessToken,
548578
- runnerVersion: "1.1.28+1f97c07",
548602
+ runnerVersion: "1.1.30+da035a8",
548579
548603
  onDebug: logForDebugging,
548580
548604
  onAuth401,
548581
548605
  getTrustedDeviceToken
@@ -554240,7 +554264,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
554240
554264
  setCwd(cwd3);
554241
554265
  const server = new Server({
554242
554266
  name: "vivus/tengu",
554243
- version: "1.1.28+1f97c07"
554267
+ version: "1.1.30+da035a8"
554244
554268
  }, {
554245
554269
  capabilities: {
554246
554270
  tools: {}
@@ -555851,7 +555875,7 @@ __export(exports_update, {
555851
555875
  });
555852
555876
  async function update() {
555853
555877
  logEvent("tengu_update_check", {});
555854
- writeToStdout(`Current version: ${"1.1.28+1f97c07"}
555878
+ writeToStdout(`Current version: ${"1.1.30+da035a8"}
555855
555879
  `);
555856
555880
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
555857
555881
  writeToStdout(`Checking for updates to ${channel} version...
@@ -555926,8 +555950,8 @@ async function update() {
555926
555950
  writeToStdout(`Vivus is managed by Homebrew.
555927
555951
  `);
555928
555952
  const latest = await getLatestVersion(channel);
555929
- if (latest && !gte("1.1.28+1f97c07", latest)) {
555930
- writeToStdout(`Update available: ${"1.1.28+1f97c07"} → ${latest}
555953
+ if (latest && !gte("1.1.30+da035a8", latest)) {
555954
+ writeToStdout(`Update available: ${"1.1.30+da035a8"} → ${latest}
555931
555955
  `);
555932
555956
  writeToStdout(`
555933
555957
  `);
@@ -555943,8 +555967,8 @@ async function update() {
555943
555967
  writeToStdout(`Vivus is managed by winget.
555944
555968
  `);
555945
555969
  const latest = await getLatestVersion(channel);
555946
- if (latest && !gte("1.1.28+1f97c07", latest)) {
555947
- writeToStdout(`Update available: ${"1.1.28+1f97c07"} → ${latest}
555970
+ if (latest && !gte("1.1.30+da035a8", latest)) {
555971
+ writeToStdout(`Update available: ${"1.1.30+da035a8"} → ${latest}
555948
555972
  `);
555949
555973
  writeToStdout(`
555950
555974
  `);
@@ -555960,8 +555984,8 @@ async function update() {
555960
555984
  writeToStdout(`Vivus is managed by apk.
555961
555985
  `);
555962
555986
  const latest = await getLatestVersion(channel);
555963
- if (latest && !gte("1.1.28+1f97c07", latest)) {
555964
- writeToStdout(`Update available: ${"1.1.28+1f97c07"} → ${latest}
555987
+ if (latest && !gte("1.1.30+da035a8", latest)) {
555988
+ writeToStdout(`Update available: ${"1.1.30+da035a8"} → ${latest}
555965
555989
  `);
555966
555990
  writeToStdout(`
555967
555991
  `);
@@ -556026,11 +556050,11 @@ async function update() {
556026
556050
  `);
556027
556051
  await gracefulShutdown(1);
556028
556052
  }
556029
- if (result.latestVersion === "1.1.28+1f97c07") {
556030
- writeToStdout(source_default.green(`Vivus is up to date (${"1.1.28+1f97c07"})`) + `
556053
+ if (result.latestVersion === "1.1.30+da035a8") {
556054
+ writeToStdout(source_default.green(`Vivus is up to date (${"1.1.30+da035a8"})`) + `
556031
556055
  `);
556032
556056
  } else {
556033
- writeToStdout(source_default.green(`Successfully updated from ${"1.1.28+1f97c07"} to version ${result.latestVersion}`) + `
556057
+ writeToStdout(source_default.green(`Successfully updated from ${"1.1.30+da035a8"} to version ${result.latestVersion}`) + `
556034
556058
  `);
556035
556059
  await regenerateCompletionCache();
556036
556060
  }
@@ -556087,12 +556111,12 @@ async function update() {
556087
556111
  `);
556088
556112
  await gracefulShutdown(1);
556089
556113
  }
556090
- if (latestVersion === "1.1.28+1f97c07") {
556091
- writeToStdout(source_default.green(`Vivus is up to date (${"1.1.28+1f97c07"})`) + `
556114
+ if (latestVersion === "1.1.30+da035a8") {
556115
+ writeToStdout(source_default.green(`Vivus is up to date (${"1.1.30+da035a8"})`) + `
556092
556116
  `);
556093
556117
  await gracefulShutdown(0);
556094
556118
  }
556095
- writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.28+1f97c07"})
556119
+ writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.30+da035a8"})
556096
556120
  `);
556097
556121
  writeToStdout(`Installing update...
556098
556122
  `);
@@ -556137,7 +556161,7 @@ async function update() {
556137
556161
  logForDebugging(`update: Installation status: ${status2}`);
556138
556162
  switch (status2) {
556139
556163
  case "success":
556140
- writeToStdout(source_default.green(`Successfully updated from ${"1.1.28+1f97c07"} to version ${latestVersion}`) + `
556164
+ writeToStdout(source_default.green(`Successfully updated from ${"1.1.30+da035a8"} to version ${latestVersion}`) + `
556141
556165
  `);
556142
556166
  await regenerateCompletionCache();
556143
556167
  break;
@@ -557111,7 +557135,7 @@ function completeOnboarding() {
557111
557135
  saveGlobalConfig((current) => ({
557112
557136
  ...current,
557113
557137
  hasCompletedOnboarding: true,
557114
- lastOnboardingVersion: "1.1.28+1f97c07"
557138
+ lastOnboardingVersion: "1.1.30+da035a8"
557115
557139
  }));
557116
557140
  }
557117
557141
  function showDialog(root2, renderer) {
@@ -561285,7 +561309,7 @@ ${customInstructions}` : customInstructions;
561285
561309
  }
561286
561310
  }
561287
561311
  logForDiagnosticsNoPII("info", "started", {
561288
- version: "1.1.28+1f97c07",
561312
+ version: "1.1.30+da035a8",
561289
561313
  is_native_binary: isInBundledMode()
561290
561314
  });
561291
561315
  registerCleanup(async () => {
@@ -562069,7 +562093,7 @@ Usage: vivus --remote "your task description"`, () => gracefulShutdown(1));
562069
562093
  pendingHookMessages
562070
562094
  }, renderAndRun);
562071
562095
  }
562072
- }).version("1.1.28+1f97c07 (Vivus)", "-v, --version", "Output the version number");
562096
+ }).version("1.1.30+da035a8 (Vivus)", "-v, --version", "Output the version number");
562073
562097
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
562074
562098
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
562075
562099
  if (canUserConfigureAdvisor()) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vivus-agent",
3
- "version": "1.1.28",
3
+ "version": "1.1.30",
4
4
  "description": "Vivus — local AI coding agent",
5
5
  "type": "module",
6
6
  "main": "dist/main.js",