vivus-agent 1.1.28 → 1.1.29

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 +103 -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:05:22.500Z
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.29+0781d19"}`;
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.29+0781d19"} (${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.29+0781d19"}${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.29+0781d19",
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.29+0781d19".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.29+0781d19",
119648
119648
  versionBase: getVersionBase(),
119649
- buildTime: "2026-06-23T16:17:12.573Z",
119649
+ buildTime: "2026-06-23T19:05:21.699Z",
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.29+0781d19"
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.29+0781d19");
120345
120345
  }
120346
120346
  async function reinitialize1PEventLoggingIfConfigChanged() {
120347
120347
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -121059,6 +121059,17 @@ function getAutoMemBase() {
121059
121059
  function getAutoMemEntrypoint() {
121060
121060
  return join23(getAutoMemPath(), AUTO_MEM_ENTRYPOINT_NAME);
121061
121061
  }
121062
+ function redirectStrayClaudeMemoryPath(absPath) {
121063
+ if (typeof absPath !== "string" || !absPath)
121064
+ return absPath;
121065
+ const m = absPath.match(/[/\\]\.claude[/\\]projects[/\\][^/\\]+[/\\]memory[/\\](.+)$/);
121066
+ if (!m)
121067
+ return absPath;
121068
+ const rest = m[1].replace(/[/\\]+$/, "");
121069
+ if (!rest)
121070
+ return absPath;
121071
+ return join23(getAutoMemPath(), rest);
121072
+ }
121062
121073
  function isAutoMemPath(absolutePath) {
121063
121074
  const normalizedPath = normalize3(absolutePath);
121064
121075
  return normalizedPath.startsWith(getAutoMemPath());
@@ -162536,7 +162547,7 @@ function getAttributionHeader(fingerprint) {
162536
162547
  if (!isAttributionHeaderEnabled()) {
162537
162548
  return "";
162538
162549
  }
162539
- const version2 = `${"1.1.28+1f97c07"}.${fingerprint}`;
162550
+ const version2 = `${"1.1.29+0781d19"}.${fingerprint}`;
162540
162551
  const entrypoint = process.env.VIVUS_CODE_ENTRYPOINT ?? "unknown";
162541
162552
  const cch = "";
162542
162553
  const workload = getWorkload();
@@ -175699,7 +175710,7 @@ function getTelemetryAttributes() {
175699
175710
  attributes["session.id"] = sessionId;
175700
175711
  }
175701
175712
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
175702
- attributes["app.version"] = "1.1.28+1f97c07";
175713
+ attributes["app.version"] = "1.1.29+0781d19";
175703
175714
  }
175704
175715
  const oauthAccount = getOauthAccountInfo();
175705
175716
  if (oauthAccount) {
@@ -242259,7 +242270,7 @@ function computeFingerprint(messageText, version2) {
242259
242270
  }
242260
242271
  function computeFingerprintFromMessages(messages) {
242261
242272
  const firstMessageText = extractFirstMessageText(messages);
242262
- return computeFingerprint(firstMessageText, "1.1.28+1f97c07");
242273
+ return computeFingerprint(firstMessageText, "1.1.29+0781d19");
242263
242274
  }
242264
242275
  var FINGERPRINT_SALT = "59cf53e54c78";
242265
242276
  var init_fingerprint = () => {};
@@ -242301,7 +242312,7 @@ async function sideQuery(opts) {
242301
242312
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
242302
242313
  }
242303
242314
  const messageText = extractFirstUserMessageText(messages);
242304
- const fingerprint = computeFingerprint(messageText, "1.1.28+1f97c07");
242315
+ const fingerprint = computeFingerprint(messageText, "1.1.29+0781d19");
242305
242316
  const attributionHeader = getAttributionHeader(fingerprint);
242306
242317
  const systemBlocks = [
242307
242318
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -243453,7 +243464,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
243453
243464
  const client2 = new Client({
243454
243465
  name: "vivus",
243455
243466
  title: "Vivus",
243456
- version: "1.1.28+1f97c07",
243467
+ version: "1.1.29+0781d19",
243457
243468
  description: "Anthropic's agentic coding tool",
243458
243469
  websiteUrl: PRODUCT_URL
243459
243470
  }, {
@@ -243807,7 +243818,7 @@ var init_client6 = __esm(() => {
243807
243818
  const client2 = new Client({
243808
243819
  name: "vivus",
243809
243820
  title: "Vivus",
243810
- version: "1.1.28+1f97c07",
243821
+ version: "1.1.29+0781d19",
243811
243822
  description: "Anthropic's agentic coding tool",
243812
243823
  websiteUrl: PRODUCT_URL
243813
243824
  }, {
@@ -245865,7 +245876,7 @@ function getInstallationEnv() {
245865
245876
  return;
245866
245877
  }
245867
245878
  function getVivusCodeVersion() {
245868
- return "1.1.28+1f97c07";
245879
+ return "1.1.29+0781d19";
245869
245880
  }
245870
245881
  async function getInstalledVSCodeExtensionVersion(command) {
245871
245882
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -300940,7 +300951,7 @@ async function initializeBetaTracing(resource) {
300940
300951
  });
300941
300952
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
300942
300953
  setLoggerProvider(loggerProvider);
300943
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.28+1f97c07");
300954
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.29+0781d19");
300944
300955
  setEventLogger(eventLogger);
300945
300956
  process.on("beforeExit", async () => {
300946
300957
  await loggerProvider?.forceFlush();
@@ -300980,7 +300991,7 @@ async function initializeTelemetry() {
300980
300991
  const platform5 = getPlatform();
300981
300992
  const baseAttributes = {
300982
300993
  [import_semantic_conventions2.ATTR_SERVICE_NAME]: "vivus",
300983
- [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.1.28+1f97c07"
300994
+ [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.1.29+0781d19"
300984
300995
  };
300985
300996
  if (platform5 === "wsl") {
300986
300997
  const wslVersion = getWslVersion();
@@ -301025,7 +301036,7 @@ async function initializeTelemetry() {
301025
301036
  } catch {}
301026
301037
  };
301027
301038
  registerCleanup(shutdownTelemetry2);
301028
- return meterProvider2.getMeter("com.anthropic.vivus_code", "1.1.28+1f97c07");
301039
+ return meterProvider2.getMeter("com.anthropic.vivus_code", "1.1.29+0781d19");
301029
301040
  }
301030
301041
  const meterProvider = new import_sdk_metrics2.MeterProvider({
301031
301042
  resource,
@@ -301045,7 +301056,7 @@ async function initializeTelemetry() {
301045
301056
  });
301046
301057
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
301047
301058
  setLoggerProvider(loggerProvider);
301048
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.28+1f97c07");
301059
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.29+0781d19");
301049
301060
  setEventLogger(eventLogger);
301050
301061
  logForDebugging("[3P telemetry] Event logger set successfully");
301051
301062
  process.on("beforeExit", async () => {
@@ -301107,7 +301118,7 @@ Current timeout: ${timeoutMs}ms
301107
301118
  }
301108
301119
  };
301109
301120
  registerCleanup(shutdownTelemetry);
301110
- return meterProvider.getMeter("com.anthropic.vivus_code", "1.1.28+1f97c07");
301121
+ return meterProvider.getMeter("com.anthropic.vivus_code", "1.1.29+0781d19");
301111
301122
  }
301112
301123
  async function flushTelemetry() {
301113
301124
  const meterProvider = getMeterProvider();
@@ -301793,9 +301804,9 @@ async function assertMinVersion() {
301793
301804
  if (false) {}
301794
301805
  try {
301795
301806
  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)) {
301807
+ if (versionConfig.minVersion && lt("1.1.29+0781d19", versionConfig.minVersion)) {
301797
301808
  console.error(`
301798
- It looks like your version of Vivus (${"1.1.28+1f97c07"}) needs an update.
301809
+ It looks like your version of Vivus (${"1.1.29+0781d19"}) needs an update.
301799
301810
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
301800
301811
 
301801
301812
  To update, please run:
@@ -302011,7 +302022,7 @@ async function installGlobalPackage(specificVersion) {
302011
302022
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
302012
302023
  logEvent("tengu_auto_updater_lock_contention", {
302013
302024
  pid: process.pid,
302014
- currentVersion: "1.1.28+1f97c07"
302025
+ currentVersion: "1.1.29+0781d19"
302015
302026
  });
302016
302027
  return "in_progress";
302017
302028
  }
@@ -302020,7 +302031,7 @@ async function installGlobalPackage(specificVersion) {
302020
302031
  if (!env3.isRunningWithBun() && env3.isNpmFromWindowsPath()) {
302021
302032
  logError2(new Error("Windows NPM detected in WSL environment"));
302022
302033
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
302023
- currentVersion: "1.1.28+1f97c07"
302034
+ currentVersion: "1.1.29+0781d19"
302024
302035
  });
302025
302036
  console.error(`
302026
302037
  Error: Windows NPM detected in WSL
@@ -302553,7 +302564,7 @@ function detectLinuxGlobPatternWarnings() {
302553
302564
  }
302554
302565
  async function getDoctorDiagnostic() {
302555
302566
  const installationType = await getCurrentInstallationType();
302556
- const version2 = typeof MACRO !== "undefined" ? "1.1.28+1f97c07" : "unknown";
302567
+ const version2 = typeof MACRO !== "undefined" ? "1.1.29+0781d19" : "unknown";
302557
302568
  const installationPath = await getInstallationPath();
302558
302569
  const invokedBinary = getInvokedBinary();
302559
302570
  const multipleInstallations = await detectMultipleInstallations();
@@ -303486,8 +303497,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
303486
303497
  const maxVersion = await getMaxVersion();
303487
303498
  if (maxVersion && gt(version2, maxVersion)) {
303488
303499
  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`);
303500
+ if (gte("1.1.29+0781d19", maxVersion)) {
303501
+ logForDebugging(`Native installer: current version ${"1.1.29+0781d19"} is already at or above maxVersion ${maxVersion}, skipping update`);
303491
303502
  logEvent("tengu_native_update_skipped_max_version", {
303492
303503
  latency_ms: Date.now() - startTime,
303493
303504
  max_version: maxVersion,
@@ -303498,7 +303509,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
303498
303509
  version2 = maxVersion;
303499
303510
  }
303500
303511
  }
303501
- if (!forceReinstall && version2 === "1.1.28+1f97c07" && await versionIsAvailable(version2) && await isPossibleVivusBinary(executablePath)) {
303512
+ if (!forceReinstall && version2 === "1.1.29+0781d19" && await versionIsAvailable(version2) && await isPossibleVivusBinary(executablePath)) {
303502
303513
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
303503
303514
  logEvent("tengu_native_update_complete", {
303504
303515
  latency_ms: Date.now() - startTime,
@@ -311943,6 +311954,7 @@ var init_FileEditTool = __esm(() => {
311943
311954
  init_gitDiff();
311944
311955
  init_log3();
311945
311956
  init_path2();
311957
+ init_paths();
311946
311958
  init_filesystem();
311947
311959
  init_shellRuleMatching();
311948
311960
  init_validateEditTool();
@@ -311983,6 +311995,7 @@ var init_FileEditTool = __esm(() => {
311983
311995
  backfillObservableInput(input) {
311984
311996
  if (typeof input.file_path === "string") {
311985
311997
  input.file_path = expandPath(input.file_path);
311998
+ input.file_path = redirectStrayClaudeMemoryPath(input.file_path);
311986
311999
  }
311987
312000
  },
311988
312001
  async preparePermissionMatcher({ file_path }) {
@@ -312796,6 +312809,7 @@ var init_FileWriteTool = __esm(() => {
312796
312809
  init_gitDiff();
312797
312810
  init_log3();
312798
312811
  init_path2();
312812
+ init_paths();
312799
312813
  init_filesystem();
312800
312814
  init_shellRuleMatching();
312801
312815
  init_types9();
@@ -312847,6 +312861,7 @@ var init_FileWriteTool = __esm(() => {
312847
312861
  backfillObservableInput(input) {
312848
312862
  if (typeof input.file_path === "string") {
312849
312863
  input.file_path = expandPath(input.file_path);
312864
+ input.file_path = redirectStrayClaudeMemoryPath(input.file_path);
312850
312865
  }
312851
312866
  },
312852
312867
  async preparePermissionMatcher({ file_path }) {
@@ -359412,7 +359427,7 @@ function getAnthropicEnvMetadata() {
359412
359427
  function getBuildAgeMinutes() {
359413
359428
  if (false)
359414
359429
  ;
359415
- const buildTime = new Date("2026-06-23T16:17:12.573Z").getTime();
359430
+ const buildTime = new Date("2026-06-23T19:05:21.699Z").getTime();
359416
359431
  if (isNaN(buildTime))
359417
359432
  return;
359418
359433
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -406636,7 +406651,7 @@ var init_filesystem = __esm(() => {
406636
406651
  });
406637
406652
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
406638
406653
  const nonce = randomBytes17(16).toString("hex");
406639
- return join106(getVivusTempDir(), "bundled-skills", "1.1.28+1f97c07", nonce);
406654
+ return join106(getVivusTempDir(), "bundled-skills", "1.1.29+0781d19", nonce);
406640
406655
  });
406641
406656
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
406642
406657
  });
@@ -408396,7 +408411,7 @@ function Feedback({
408396
408411
  platform: env3.platform,
408397
408412
  gitRepo: envInfo.isGit,
408398
408413
  terminal: env3.terminal,
408399
- version: "1.1.28+1f97c07",
408414
+ version: "1.1.29+0781d19",
408400
408415
  transcript: normalizeMessagesForAPI(messages),
408401
408416
  errors: sanitizedErrors,
408402
408417
  lastApiRequest: getLastAPIRequest(),
@@ -408588,7 +408603,7 @@ function Feedback({
408588
408603
  ", ",
408589
408604
  env3.terminal,
408590
408605
  ", v",
408591
- "1.1.28+1f97c07"
408606
+ "1.1.29+0781d19"
408592
408607
  ]
408593
408608
  }, undefined, true, undefined, this)
408594
408609
  ]
@@ -408694,7 +408709,7 @@ ${sanitizedDescription}
408694
408709
  ` + `**Environment Info**
408695
408710
  ` + `- Platform: ${env3.platform}
408696
408711
  ` + `- Terminal: ${env3.terminal}
408697
- ` + `- Version: ${"1.1.28+1f97c07"}
408712
+ ` + `- Version: ${"1.1.29+0781d19"}
408698
408713
  ` + `- Feedback ID: ${feedbackId}
408699
408714
  ` + `
408700
408715
  **Errors**
@@ -411826,7 +411841,7 @@ function buildPrimarySection() {
411826
411841
  }, undefined, false, undefined, this);
411827
411842
  return [{
411828
411843
  label: "Version",
411829
- value: "1.1.28+1f97c07"
411844
+ value: "1.1.29+0781d19"
411830
411845
  }, {
411831
411846
  label: "Session name",
411832
411847
  value: nameValue
@@ -415577,7 +415592,7 @@ function Config({
415577
415592
  }
415578
415593
  }, undefined, false, undefined, this)
415579
415594
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(ChannelDowngradeDialog, {
415580
- currentVersion: "1.1.28+1f97c07",
415595
+ currentVersion: "1.1.29+0781d19",
415581
415596
  onChoice: (choice) => {
415582
415597
  setShowSubmenu(null);
415583
415598
  setTabsHidden(false);
@@ -415589,7 +415604,7 @@ function Config({
415589
415604
  autoUpdatesChannel: "stable"
415590
415605
  };
415591
415606
  if (choice === "stay") {
415592
- newSettings.minimumVersion = "1.1.28+1f97c07";
415607
+ newSettings.minimumVersion = "1.1.29+0781d19";
415593
415608
  }
415594
415609
  updateSettingsForSource("userSettings", newSettings);
415595
415610
  setSettingsData((prev_27) => ({
@@ -423675,7 +423690,7 @@ function HelpV2(t0) {
423675
423690
  let t6;
423676
423691
  if ($2[31] !== tabs) {
423677
423692
  t6 = /* @__PURE__ */ jsx_dev_runtime205.jsxDEV(Tabs, {
423678
- title: `Vivus v${"1.1.28+1f97c07"}`,
423693
+ title: `Vivus v${"1.1.29+0781d19"}`,
423679
423694
  color: "professionalBlue",
423680
423695
  defaultTab: "general",
423681
423696
  children: tabs
@@ -447901,7 +447916,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
447901
447916
  return [];
447902
447917
  }
447903
447918
  }
447904
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.28+1f97c07") {
447919
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.29+0781d19") {
447905
447920
  if (process.env.USER_TYPE === "ant") {
447906
447921
  const changelog = "";
447907
447922
  if (changelog) {
@@ -447928,7 +447943,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.28+1f
447928
447943
  releaseNotes
447929
447944
  };
447930
447945
  }
447931
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.28+1f97c07") {
447946
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.29+0781d19") {
447932
447947
  if (process.env.USER_TYPE === "ant") {
447933
447948
  const changelog = "";
447934
447949
  if (changelog) {
@@ -449098,7 +449113,7 @@ function getRecentActivitySync() {
449098
449113
  return cachedActivity;
449099
449114
  }
449100
449115
  function getLogoDisplayData() {
449101
- const version2 = process.env.DEMO_VERSION ?? "1.1.28+1f97c07";
449116
+ const version2 = process.env.DEMO_VERSION ?? "1.1.29+0781d19";
449102
449117
  const serverUrl = getDirectConnectServerUrl();
449103
449118
  const displayPath = process.env.DEMO_VERSION ? "/code/vivus" : getDisplayPath(getCwd());
449104
449119
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -450625,7 +450640,7 @@ function LogoV2() {
450625
450640
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
450626
450641
  t2 = () => {
450627
450642
  const currentConfig = getGlobalConfig();
450628
- if (currentConfig.lastReleaseNotesSeen === "1.1.28+1f97c07") {
450643
+ if (currentConfig.lastReleaseNotesSeen === "1.1.29+0781d19") {
450629
450644
  return;
450630
450645
  }
450631
450646
  saveGlobalConfig(_temp329);
@@ -451301,12 +451316,12 @@ function LogoV2() {
451301
451316
  return t41;
451302
451317
  }
451303
451318
  function _temp329(current) {
451304
- if (current.lastReleaseNotesSeen === "1.1.28+1f97c07") {
451319
+ if (current.lastReleaseNotesSeen === "1.1.29+0781d19") {
451305
451320
  return current;
451306
451321
  }
451307
451322
  return {
451308
451323
  ...current,
451309
- lastReleaseNotesSeen: "1.1.28+1f97c07"
451324
+ lastReleaseNotesSeen: "1.1.29+0781d19"
451310
451325
  };
451311
451326
  }
451312
451327
  function _temp245(s_0) {
@@ -477603,7 +477618,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
477603
477618
  smapsRollup,
477604
477619
  platform: process.platform,
477605
477620
  nodeVersion: process.version,
477606
- ccVersion: "1.1.28+1f97c07"
477621
+ ccVersion: "1.1.29+0781d19"
477607
477622
  };
477608
477623
  }
477609
477624
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -478189,7 +478204,7 @@ var init_bridge_kick = __esm(() => {
478189
478204
  var call56 = async () => {
478190
478205
  return {
478191
478206
  type: "text",
478192
- value: `${"1.1.28+1f97c07"} (built ${"2026-06-23T16:17:12.573Z"})`
478207
+ value: `${"1.1.29+0781d19"} (built ${"2026-06-23T19:05:21.699Z"})`
478193
478208
  };
478194
478209
  }, version2, version_default;
478195
478210
  var init_version = __esm(() => {
@@ -487472,7 +487487,7 @@ function generateHtmlReport(data, insights) {
487472
487487
  </html>`;
487473
487488
  }
487474
487489
  function buildExportData(data, insights, facets, remoteStats) {
487475
- const version3 = typeof MACRO !== "undefined" ? "1.1.28+1f97c07" : "unknown";
487490
+ const version3 = typeof MACRO !== "undefined" ? "1.1.29+0781d19" : "unknown";
487476
487491
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
487477
487492
  const facets_summary = {
487478
487493
  total: facets.size,
@@ -491583,7 +491598,7 @@ var init_sessionStorage = __esm(() => {
491583
491598
  init_settings2();
491584
491599
  init_slowOperations();
491585
491600
  init_uuid();
491586
- VERSION5 = typeof MACRO !== "undefined" ? "1.1.28+1f97c07" : "unknown";
491601
+ VERSION5 = typeof MACRO !== "undefined" ? "1.1.29+0781d19" : "unknown";
491587
491602
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
491588
491603
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
491589
491604
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -491714,6 +491729,7 @@ function buildMemoryLines(displayName, memoryDir, extraGuidelines, skipIndex = f
491714
491729
  `# ${displayName}`,
491715
491730
  "",
491716
491731
  `You have a persistent, file-based memory system at \`${memoryDir}\`. ${DIR_EXISTS_GUIDANCE}`,
491732
+ `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
491733
  "",
491718
491734
  "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
491735
  "",
@@ -494454,7 +494470,7 @@ function buildSystemInitMessage(inputs) {
494454
494470
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
494455
494471
  apiKeySource: getAnthropicApiKeyWithSource().source,
494456
494472
  betas: getSdkBetas(),
494457
- vivus_code_version: "1.1.28+1f97c07",
494473
+ vivus_code_version: "1.1.29+0781d19",
494458
494474
  output_style: outputStyle2,
494459
494475
  agents: inputs.agents.map((agent) => agent.agentType),
494460
494476
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
@@ -509082,7 +509098,7 @@ var init_useVoiceEnabled = __esm(() => {
509082
509098
  function getSemverPart(version3) {
509083
509099
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
509084
509100
  }
509085
- function useUpdateNotification(updatedVersion, initialVersion = "1.1.28+1f97c07") {
509101
+ function useUpdateNotification(updatedVersion, initialVersion = "1.1.29+0781d19") {
509086
509102
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react228.useState(() => getSemverPart(initialVersion));
509087
509103
  if (!updatedVersion) {
509088
509104
  return null;
@@ -509122,7 +509138,7 @@ function AutoUpdater({
509122
509138
  return;
509123
509139
  }
509124
509140
  if (false) {}
509125
- const currentVersion = "1.1.28+1f97c07";
509141
+ const currentVersion = "1.1.29+0781d19";
509126
509142
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
509127
509143
  let latestVersion = await getLatestVersion(channel);
509128
509144
  const isDisabled = isAutoUpdaterDisabled();
@@ -509335,12 +509351,12 @@ function NativeAutoUpdater({
509335
509351
  logEvent("tengu_native_auto_updater_start", {});
509336
509352
  try {
509337
509353
  const maxVersion = await getMaxVersion();
509338
- if (maxVersion && gt("1.1.28+1f97c07", maxVersion)) {
509354
+ if (maxVersion && gt("1.1.29+0781d19", maxVersion)) {
509339
509355
  const msg = await getMaxVersionMessage();
509340
509356
  setMaxVersionIssue(msg ?? "affects your version");
509341
509357
  }
509342
509358
  const result = await installLatest(channel);
509343
- const currentVersion = "1.1.28+1f97c07";
509359
+ const currentVersion = "1.1.29+0781d19";
509344
509360
  const latencyMs = Date.now() - startTime;
509345
509361
  if (result.lockFailed) {
509346
509362
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -509477,17 +509493,17 @@ function PackageManagerAutoUpdater(t0) {
509477
509493
  const maxVersion = await getMaxVersion();
509478
509494
  if (maxVersion && latest && gt(latest, maxVersion)) {
509479
509495
  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`);
509496
+ if (gte("1.1.29+0781d19", maxVersion)) {
509497
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.29+0781d19"} is already at or above maxVersion ${maxVersion}, skipping update`);
509482
509498
  setUpdateAvailable(false);
509483
509499
  return;
509484
509500
  }
509485
509501
  latest = maxVersion;
509486
509502
  }
509487
- const hasUpdate = latest && !gte("1.1.28+1f97c07", latest) && !shouldSkipVersion(latest);
509503
+ const hasUpdate = latest && !gte("1.1.29+0781d19", latest) && !shouldSkipVersion(latest);
509488
509504
  setUpdateAvailable(!!hasUpdate);
509489
509505
  if (hasUpdate) {
509490
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.28+1f97c07"} -> ${latest}`);
509506
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.29+0781d19"} -> ${latest}`);
509491
509507
  }
509492
509508
  };
509493
509509
  $2[0] = t1;
@@ -509521,7 +509537,7 @@ function PackageManagerAutoUpdater(t0) {
509521
509537
  wrap: "truncate",
509522
509538
  children: [
509523
509539
  "currentVersion: ",
509524
- "1.1.28+1f97c07"
509540
+ "1.1.29+0781d19"
509525
509541
  ]
509526
509542
  }, undefined, true, undefined, this);
509527
509543
  $2[3] = verbose;
@@ -517451,7 +517467,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
517451
517467
  project_dir: getOriginalCwd(),
517452
517468
  added_dirs: addedDirs
517453
517469
  },
517454
- version: "1.1.28+1f97c07",
517470
+ version: "1.1.29+0781d19",
517455
517471
  output_style: {
517456
517472
  name: outputStyleName
517457
517473
  },
@@ -528951,7 +528967,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
528951
528967
  } catch {}
528952
528968
  const data = {
528953
528969
  trigger,
528954
- version: "1.1.28+1f97c07",
528970
+ version: "1.1.29+0781d19",
528955
528971
  platform: process.platform,
528956
528972
  transcript,
528957
528973
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -540370,7 +540386,7 @@ function WelcomeV2() {
540370
540386
  dimColor: true,
540371
540387
  children: [
540372
540388
  "v",
540373
- "1.1.28+1f97c07",
540389
+ "1.1.29+0781d19",
540374
540390
  " "
540375
540391
  ]
540376
540392
  }, undefined, true, undefined, this)
@@ -540570,7 +540586,7 @@ function WelcomeV2() {
540570
540586
  dimColor: true,
540571
540587
  children: [
540572
540588
  "v",
540573
- "1.1.28+1f97c07",
540589
+ "1.1.29+0781d19",
540574
540590
  " "
540575
540591
  ]
540576
540592
  }, undefined, true, undefined, this)
@@ -540796,7 +540812,7 @@ function AppleTerminalWelcomeV2(t0) {
540796
540812
  dimColor: true,
540797
540813
  children: [
540798
540814
  "v",
540799
- "1.1.28+1f97c07",
540815
+ "1.1.29+0781d19",
540800
540816
  " "
540801
540817
  ]
540802
540818
  }, undefined, true, undefined, this);
@@ -541050,7 +541066,7 @@ function AppleTerminalWelcomeV2(t0) {
541050
541066
  dimColor: true,
541051
541067
  children: [
541052
541068
  "v",
541053
- "1.1.28+1f97c07",
541069
+ "1.1.29+0781d19",
541054
541070
  " "
541055
541071
  ]
541056
541072
  }, undefined, true, undefined, this);
@@ -544115,7 +544131,7 @@ function appendToLog(path25, message) {
544115
544131
  cwd: getFsImplementation().cwd(),
544116
544132
  userType: process.env.USER_TYPE,
544117
544133
  sessionId: getSessionId(),
544118
- version: "1.1.28+1f97c07"
544134
+ version: "1.1.29+0781d19"
544119
544135
  };
544120
544136
  getLogWriter(path25).write(messageWithTimestamp);
544121
544137
  }
@@ -548100,8 +548116,8 @@ async function getEnvLessBridgeConfig() {
548100
548116
  }
548101
548117
  async function checkEnvLessBridgeMinVersion() {
548102
548118
  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.
548119
+ if (cfg.min_version && lt("1.1.29+0781d19", cfg.min_version)) {
548120
+ return `Your version of Vivus (${"1.1.29+0781d19"}) is too old for Remote Control.
548105
548121
  Version ${cfg.min_version} or higher is required. Run \`vivus update\` to update.`;
548106
548122
  }
548107
548123
  return null;
@@ -548575,7 +548591,7 @@ async function initBridgeCore(params) {
548575
548591
  const rawApi = createBridgeApiClient({
548576
548592
  baseUrl,
548577
548593
  getAccessToken,
548578
- runnerVersion: "1.1.28+1f97c07",
548594
+ runnerVersion: "1.1.29+0781d19",
548579
548595
  onDebug: logForDebugging,
548580
548596
  onAuth401,
548581
548597
  getTrustedDeviceToken
@@ -554240,7 +554256,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
554240
554256
  setCwd(cwd3);
554241
554257
  const server = new Server({
554242
554258
  name: "vivus/tengu",
554243
- version: "1.1.28+1f97c07"
554259
+ version: "1.1.29+0781d19"
554244
554260
  }, {
554245
554261
  capabilities: {
554246
554262
  tools: {}
@@ -555851,7 +555867,7 @@ __export(exports_update, {
555851
555867
  });
555852
555868
  async function update() {
555853
555869
  logEvent("tengu_update_check", {});
555854
- writeToStdout(`Current version: ${"1.1.28+1f97c07"}
555870
+ writeToStdout(`Current version: ${"1.1.29+0781d19"}
555855
555871
  `);
555856
555872
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
555857
555873
  writeToStdout(`Checking for updates to ${channel} version...
@@ -555926,8 +555942,8 @@ async function update() {
555926
555942
  writeToStdout(`Vivus is managed by Homebrew.
555927
555943
  `);
555928
555944
  const latest = await getLatestVersion(channel);
555929
- if (latest && !gte("1.1.28+1f97c07", latest)) {
555930
- writeToStdout(`Update available: ${"1.1.28+1f97c07"} → ${latest}
555945
+ if (latest && !gte("1.1.29+0781d19", latest)) {
555946
+ writeToStdout(`Update available: ${"1.1.29+0781d19"} → ${latest}
555931
555947
  `);
555932
555948
  writeToStdout(`
555933
555949
  `);
@@ -555943,8 +555959,8 @@ async function update() {
555943
555959
  writeToStdout(`Vivus is managed by winget.
555944
555960
  `);
555945
555961
  const latest = await getLatestVersion(channel);
555946
- if (latest && !gte("1.1.28+1f97c07", latest)) {
555947
- writeToStdout(`Update available: ${"1.1.28+1f97c07"} → ${latest}
555962
+ if (latest && !gte("1.1.29+0781d19", latest)) {
555963
+ writeToStdout(`Update available: ${"1.1.29+0781d19"} → ${latest}
555948
555964
  `);
555949
555965
  writeToStdout(`
555950
555966
  `);
@@ -555960,8 +555976,8 @@ async function update() {
555960
555976
  writeToStdout(`Vivus is managed by apk.
555961
555977
  `);
555962
555978
  const latest = await getLatestVersion(channel);
555963
- if (latest && !gte("1.1.28+1f97c07", latest)) {
555964
- writeToStdout(`Update available: ${"1.1.28+1f97c07"} → ${latest}
555979
+ if (latest && !gte("1.1.29+0781d19", latest)) {
555980
+ writeToStdout(`Update available: ${"1.1.29+0781d19"} → ${latest}
555965
555981
  `);
555966
555982
  writeToStdout(`
555967
555983
  `);
@@ -556026,11 +556042,11 @@ async function update() {
556026
556042
  `);
556027
556043
  await gracefulShutdown(1);
556028
556044
  }
556029
- if (result.latestVersion === "1.1.28+1f97c07") {
556030
- writeToStdout(source_default.green(`Vivus is up to date (${"1.1.28+1f97c07"})`) + `
556045
+ if (result.latestVersion === "1.1.29+0781d19") {
556046
+ writeToStdout(source_default.green(`Vivus is up to date (${"1.1.29+0781d19"})`) + `
556031
556047
  `);
556032
556048
  } else {
556033
- writeToStdout(source_default.green(`Successfully updated from ${"1.1.28+1f97c07"} to version ${result.latestVersion}`) + `
556049
+ writeToStdout(source_default.green(`Successfully updated from ${"1.1.29+0781d19"} to version ${result.latestVersion}`) + `
556034
556050
  `);
556035
556051
  await regenerateCompletionCache();
556036
556052
  }
@@ -556087,12 +556103,12 @@ async function update() {
556087
556103
  `);
556088
556104
  await gracefulShutdown(1);
556089
556105
  }
556090
- if (latestVersion === "1.1.28+1f97c07") {
556091
- writeToStdout(source_default.green(`Vivus is up to date (${"1.1.28+1f97c07"})`) + `
556106
+ if (latestVersion === "1.1.29+0781d19") {
556107
+ writeToStdout(source_default.green(`Vivus is up to date (${"1.1.29+0781d19"})`) + `
556092
556108
  `);
556093
556109
  await gracefulShutdown(0);
556094
556110
  }
556095
- writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.28+1f97c07"})
556111
+ writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.29+0781d19"})
556096
556112
  `);
556097
556113
  writeToStdout(`Installing update...
556098
556114
  `);
@@ -556137,7 +556153,7 @@ async function update() {
556137
556153
  logForDebugging(`update: Installation status: ${status2}`);
556138
556154
  switch (status2) {
556139
556155
  case "success":
556140
- writeToStdout(source_default.green(`Successfully updated from ${"1.1.28+1f97c07"} to version ${latestVersion}`) + `
556156
+ writeToStdout(source_default.green(`Successfully updated from ${"1.1.29+0781d19"} to version ${latestVersion}`) + `
556141
556157
  `);
556142
556158
  await regenerateCompletionCache();
556143
556159
  break;
@@ -557111,7 +557127,7 @@ function completeOnboarding() {
557111
557127
  saveGlobalConfig((current) => ({
557112
557128
  ...current,
557113
557129
  hasCompletedOnboarding: true,
557114
- lastOnboardingVersion: "1.1.28+1f97c07"
557130
+ lastOnboardingVersion: "1.1.29+0781d19"
557115
557131
  }));
557116
557132
  }
557117
557133
  function showDialog(root2, renderer) {
@@ -561285,7 +561301,7 @@ ${customInstructions}` : customInstructions;
561285
561301
  }
561286
561302
  }
561287
561303
  logForDiagnosticsNoPII("info", "started", {
561288
- version: "1.1.28+1f97c07",
561304
+ version: "1.1.29+0781d19",
561289
561305
  is_native_binary: isInBundledMode()
561290
561306
  });
561291
561307
  registerCleanup(async () => {
@@ -562069,7 +562085,7 @@ Usage: vivus --remote "your task description"`, () => gracefulShutdown(1));
562069
562085
  pendingHookMessages
562070
562086
  }, renderAndRun);
562071
562087
  }
562072
- }).version("1.1.28+1f97c07 (Vivus)", "-v, --version", "Output the version number");
562088
+ }).version("1.1.29+0781d19 (Vivus)", "-v, --version", "Output the version number");
562073
562089
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
562074
562090
  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
562091
  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.29",
4
4
  "description": "Vivus — local AI coding agent",
5
5
  "type": "module",
6
6
  "main": "dist/main.js",