vivus-agent 1.1.39 → 1.1.41

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 +118 -92
  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-08-06T20:06:33.927Z
3
+ // Built from source at 2026-09-16T23:37:59.525Z
4
4
  import { createRequire } from "node:module";
5
5
  var __create = Object.create;
6
6
  var __getProtoOf = Object.getPrototypeOf;
@@ -108228,7 +108228,7 @@ var init_auth = __esm(() => {
108228
108228
 
108229
108229
  // src/utils/userAgent.ts
108230
108230
  function getVivusCodeUserAgent() {
108231
- return `vivus/${"1.1.39+5fcd249"}`;
108231
+ return `vivus/${"1.1.41+caf0d72"}`;
108232
108232
  }
108233
108233
 
108234
108234
  // src/utils/workloadContext.ts
@@ -108250,7 +108250,7 @@ function getUserAgent() {
108250
108250
  const clientApp = process.env.VIVUS_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.VIVUS_AGENT_SDK_CLIENT_APP}` : "";
108251
108251
  const workload = getWorkload();
108252
108252
  const workloadSuffix = workload ? `, workload/${workload}` : "";
108253
- return `vivus-cli/${"1.1.39+5fcd249"} (${process.env.USER_TYPE}, ${process.env.VIVUS_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
108253
+ return `vivus-cli/${"1.1.41+caf0d72"} (${process.env.USER_TYPE}, ${process.env.VIVUS_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
108254
108254
  }
108255
108255
  function getMCPUserAgent() {
108256
108256
  const parts = [];
@@ -108264,7 +108264,7 @@ function getMCPUserAgent() {
108264
108264
  parts.push(`client-app/${process.env.VIVUS_AGENT_SDK_CLIENT_APP}`);
108265
108265
  }
108266
108266
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
108267
- return `vivus/${"1.1.39+5fcd249"}${suffix}`;
108267
+ return `vivus/${"1.1.41+caf0d72"}${suffix}`;
108268
108268
  }
108269
108269
  function getWebFetchUserAgent() {
108270
108270
  return `Vivus-User (${getVivusCodeUserAgent()}; +https://support.anthropic.com/)`;
@@ -108402,7 +108402,7 @@ var init_user = __esm(() => {
108402
108402
  deviceId,
108403
108403
  sessionId: getSessionId(),
108404
108404
  email: getEmail(),
108405
- appVersion: "1.1.39+5fcd249",
108405
+ appVersion: "1.1.41+caf0d72",
108406
108406
  platform: getHostPlatformForAnalytics(),
108407
108407
  organizationUuid,
108408
108408
  accountUuid,
@@ -119713,7 +119713,7 @@ var init_metadata = __esm(() => {
119713
119713
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
119714
119714
  WHITESPACE_REGEX = /\s+/;
119715
119715
  getVersionBase = memoize_default(() => {
119716
- const match = "1.1.39+5fcd249".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
119716
+ const match = "1.1.41+caf0d72".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
119717
119717
  return match ? match[0] : undefined;
119718
119718
  });
119719
119719
  buildEnvContext = memoize_default(async () => {
@@ -119753,9 +119753,9 @@ var init_metadata = __esm(() => {
119753
119753
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
119754
119754
  isVivusCodeAction: isEnvTruthy(process.env.VIVUS_CODE_ACTION),
119755
119755
  isVivusAiAuth: isVivusAISubscriber(),
119756
- version: "1.1.39+5fcd249",
119756
+ version: "1.1.41+caf0d72",
119757
119757
  versionBase: getVersionBase(),
119758
- buildTime: "2026-08-06T20:06:33.603Z",
119758
+ buildTime: "2026-09-16T23:37:58.656Z",
119759
119759
  deploymentEnvironment: env3.detectDeploymentEnvironment(),
119760
119760
  ...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
119761
119761
  githubEventName: process.env.GITHUB_EVENT_NAME,
@@ -120423,7 +120423,7 @@ function initialize1PEventLogging() {
120423
120423
  const platform2 = getPlatform();
120424
120424
  const attributes = {
120425
120425
  [import_semantic_conventions.ATTR_SERVICE_NAME]: "vivus",
120426
- [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.1.39+5fcd249"
120426
+ [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.1.41+caf0d72"
120427
120427
  };
120428
120428
  if (platform2 === "wsl") {
120429
120429
  const wslVersion = getWslVersion();
@@ -120450,7 +120450,7 @@ function initialize1PEventLogging() {
120450
120450
  })
120451
120451
  ]
120452
120452
  });
120453
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.vivus_code.events", "1.1.39+5fcd249");
120453
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.vivus_code.events", "1.1.41+caf0d72");
120454
120454
  }
120455
120455
  async function reinitialize1PEventLoggingIfConfigChanged() {
120456
120456
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -162670,7 +162670,7 @@ function getAttributionHeader(fingerprint) {
162670
162670
  if (!isAttributionHeaderEnabled()) {
162671
162671
  return "";
162672
162672
  }
162673
- const version2 = `${"1.1.39+5fcd249"}.${fingerprint}`;
162673
+ const version2 = `${"1.1.41+caf0d72"}.${fingerprint}`;
162674
162674
  const entrypoint = process.env.VIVUS_CODE_ENTRYPOINT ?? "unknown";
162675
162675
  const cch = "";
162676
162676
  const workload = getWorkload();
@@ -175833,7 +175833,7 @@ function getTelemetryAttributes() {
175833
175833
  attributes["session.id"] = sessionId;
175834
175834
  }
175835
175835
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
175836
- attributes["app.version"] = "1.1.39+5fcd249";
175836
+ attributes["app.version"] = "1.1.41+caf0d72";
175837
175837
  }
175838
175838
  const oauthAccount = getOauthAccountInfo();
175839
175839
  if (oauthAccount) {
@@ -242403,7 +242403,7 @@ function computeFingerprint(messageText, version2) {
242403
242403
  }
242404
242404
  function computeFingerprintFromMessages(messages) {
242405
242405
  const firstMessageText = extractFirstMessageText(messages);
242406
- return computeFingerprint(firstMessageText, "1.1.39+5fcd249");
242406
+ return computeFingerprint(firstMessageText, "1.1.41+caf0d72");
242407
242407
  }
242408
242408
  var FINGERPRINT_SALT = "59cf53e54c78";
242409
242409
  var init_fingerprint = () => {};
@@ -242445,7 +242445,7 @@ async function sideQuery(opts) {
242445
242445
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
242446
242446
  }
242447
242447
  const messageText = extractFirstUserMessageText(messages);
242448
- const fingerprint = computeFingerprint(messageText, "1.1.39+5fcd249");
242448
+ const fingerprint = computeFingerprint(messageText, "1.1.41+caf0d72");
242449
242449
  const attributionHeader = getAttributionHeader(fingerprint);
242450
242450
  const systemBlocks = [
242451
242451
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -243597,7 +243597,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
243597
243597
  const client2 = new Client({
243598
243598
  name: "vivus",
243599
243599
  title: "Vivus",
243600
- version: "1.1.39+5fcd249",
243600
+ version: "1.1.41+caf0d72",
243601
243601
  description: "Anthropic's agentic coding tool",
243602
243602
  websiteUrl: PRODUCT_URL
243603
243603
  }, {
@@ -243951,7 +243951,7 @@ var init_client6 = __esm(() => {
243951
243951
  const client2 = new Client({
243952
243952
  name: "vivus",
243953
243953
  title: "Vivus",
243954
- version: "1.1.39+5fcd249",
243954
+ version: "1.1.41+caf0d72",
243955
243955
  description: "Anthropic's agentic coding tool",
243956
243956
  websiteUrl: PRODUCT_URL
243957
243957
  }, {
@@ -246012,7 +246012,7 @@ function getInstallationEnv() {
246012
246012
  return;
246013
246013
  }
246014
246014
  function getVivusCodeVersion() {
246015
- return "1.1.39+5fcd249";
246015
+ return "1.1.41+caf0d72";
246016
246016
  }
246017
246017
  async function getInstalledVSCodeExtensionVersion(command) {
246018
246018
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -302099,7 +302099,7 @@ async function initializeBetaTracing(resource) {
302099
302099
  });
302100
302100
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
302101
302101
  setLoggerProvider(loggerProvider);
302102
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.39+5fcd249");
302102
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.41+caf0d72");
302103
302103
  setEventLogger(eventLogger);
302104
302104
  process.on("beforeExit", async () => {
302105
302105
  await loggerProvider?.forceFlush();
@@ -302139,7 +302139,7 @@ async function initializeTelemetry() {
302139
302139
  const platform5 = getPlatform();
302140
302140
  const baseAttributes = {
302141
302141
  [import_semantic_conventions2.ATTR_SERVICE_NAME]: "vivus",
302142
- [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.1.39+5fcd249"
302142
+ [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.1.41+caf0d72"
302143
302143
  };
302144
302144
  if (platform5 === "wsl") {
302145
302145
  const wslVersion = getWslVersion();
@@ -302184,7 +302184,7 @@ async function initializeTelemetry() {
302184
302184
  } catch {}
302185
302185
  };
302186
302186
  registerCleanup(shutdownTelemetry2);
302187
- return meterProvider2.getMeter("com.anthropic.vivus_code", "1.1.39+5fcd249");
302187
+ return meterProvider2.getMeter("com.anthropic.vivus_code", "1.1.41+caf0d72");
302188
302188
  }
302189
302189
  const meterProvider = new import_sdk_metrics2.MeterProvider({
302190
302190
  resource,
@@ -302204,7 +302204,7 @@ async function initializeTelemetry() {
302204
302204
  });
302205
302205
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
302206
302206
  setLoggerProvider(loggerProvider);
302207
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.39+5fcd249");
302207
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.41+caf0d72");
302208
302208
  setEventLogger(eventLogger);
302209
302209
  logForDebugging("[3P telemetry] Event logger set successfully");
302210
302210
  process.on("beforeExit", async () => {
@@ -302266,7 +302266,7 @@ Current timeout: ${timeoutMs}ms
302266
302266
  }
302267
302267
  };
302268
302268
  registerCleanup(shutdownTelemetry);
302269
- return meterProvider.getMeter("com.anthropic.vivus_code", "1.1.39+5fcd249");
302269
+ return meterProvider.getMeter("com.anthropic.vivus_code", "1.1.41+caf0d72");
302270
302270
  }
302271
302271
  async function flushTelemetry() {
302272
302272
  const meterProvider = getMeterProvider();
@@ -302952,9 +302952,9 @@ async function assertMinVersion() {
302952
302952
  if (false) {}
302953
302953
  try {
302954
302954
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
302955
- if (versionConfig.minVersion && lt("1.1.39+5fcd249", versionConfig.minVersion)) {
302955
+ if (versionConfig.minVersion && lt("1.1.41+caf0d72", versionConfig.minVersion)) {
302956
302956
  console.error(`
302957
- It looks like your version of Vivus (${"1.1.39+5fcd249"}) needs an update.
302957
+ It looks like your version of Vivus (${"1.1.41+caf0d72"}) needs an update.
302958
302958
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
302959
302959
 
302960
302960
  To update, please run:
@@ -303170,7 +303170,7 @@ async function installGlobalPackage(specificVersion) {
303170
303170
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
303171
303171
  logEvent("tengu_auto_updater_lock_contention", {
303172
303172
  pid: process.pid,
303173
- currentVersion: "1.1.39+5fcd249"
303173
+ currentVersion: "1.1.41+caf0d72"
303174
303174
  });
303175
303175
  return "in_progress";
303176
303176
  }
@@ -303179,7 +303179,7 @@ async function installGlobalPackage(specificVersion) {
303179
303179
  if (!env3.isRunningWithBun() && env3.isNpmFromWindowsPath()) {
303180
303180
  logError2(new Error("Windows NPM detected in WSL environment"));
303181
303181
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
303182
- currentVersion: "1.1.39+5fcd249"
303182
+ currentVersion: "1.1.41+caf0d72"
303183
303183
  });
303184
303184
  console.error(`
303185
303185
  Error: Windows NPM detected in WSL
@@ -303712,7 +303712,7 @@ function detectLinuxGlobPatternWarnings() {
303712
303712
  }
303713
303713
  async function getDoctorDiagnostic() {
303714
303714
  const installationType = await getCurrentInstallationType();
303715
- const version2 = typeof MACRO !== "undefined" ? "1.1.39+5fcd249" : "unknown";
303715
+ const version2 = typeof MACRO !== "undefined" ? "1.1.41+caf0d72" : "unknown";
303716
303716
  const installationPath = await getInstallationPath();
303717
303717
  const invokedBinary = getInvokedBinary();
303718
303718
  const multipleInstallations = await detectMultipleInstallations();
@@ -304645,8 +304645,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
304645
304645
  const maxVersion = await getMaxVersion();
304646
304646
  if (maxVersion && gt(version2, maxVersion)) {
304647
304647
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
304648
- if (gte("1.1.39+5fcd249", maxVersion)) {
304649
- logForDebugging(`Native installer: current version ${"1.1.39+5fcd249"} is already at or above maxVersion ${maxVersion}, skipping update`);
304648
+ if (gte("1.1.41+caf0d72", maxVersion)) {
304649
+ logForDebugging(`Native installer: current version ${"1.1.41+caf0d72"} is already at or above maxVersion ${maxVersion}, skipping update`);
304650
304650
  logEvent("tengu_native_update_skipped_max_version", {
304651
304651
  latency_ms: Date.now() - startTime,
304652
304652
  max_version: maxVersion,
@@ -304657,7 +304657,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
304657
304657
  version2 = maxVersion;
304658
304658
  }
304659
304659
  }
304660
- if (!forceReinstall && version2 === "1.1.39+5fcd249" && await versionIsAvailable(version2) && await isPossibleVivusBinary(executablePath)) {
304660
+ if (!forceReinstall && version2 === "1.1.41+caf0d72" && await versionIsAvailable(version2) && await isPossibleVivusBinary(executablePath)) {
304661
304661
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
304662
304662
  logEvent("tengu_native_update_complete", {
304663
304663
  latency_ms: Date.now() - startTime,
@@ -356257,10 +356257,10 @@ function roughTokenCountEstimationForBlock(block2) {
356257
356257
  return 2000;
356258
356258
  }
356259
356259
  if (block2.type === "tool_result") {
356260
- return roughTokenCountEstimationForContent(block2.content);
356260
+ return roughTokenCountEstimationForToolContent(block2.content);
356261
356261
  }
356262
356262
  if (block2.type === "tool_use") {
356263
- return roughTokenCountEstimation(block2.name + jsonStringify(block2.input ?? {}));
356263
+ return roughTokenCountEstimation(block2.name + jsonStringify(block2.input ?? {}), bytesPerTokenForFileType("json"));
356264
356264
  }
356265
356265
  if (block2.type === "thinking") {
356266
356266
  return roughTokenCountEstimation(block2.thinking);
@@ -356268,7 +356268,27 @@ function roughTokenCountEstimationForBlock(block2) {
356268
356268
  if (block2.type === "redacted_thinking") {
356269
356269
  return roughTokenCountEstimation(block2.data);
356270
356270
  }
356271
- return roughTokenCountEstimation(jsonStringify(block2));
356271
+ return roughTokenCountEstimation(jsonStringify(block2), bytesPerTokenForFileType("json"));
356272
+ }
356273
+ function roughTokenCountEstimationForToolContent(content) {
356274
+ if (!content) {
356275
+ return 0;
356276
+ }
356277
+ const ratio = bytesPerTokenForFileType("json");
356278
+ if (typeof content === "string") {
356279
+ return roughTokenCountEstimation(content, ratio);
356280
+ }
356281
+ let totalTokens = 0;
356282
+ for (const block2 of content) {
356283
+ if (typeof block2 === "string") {
356284
+ totalTokens += roughTokenCountEstimation(block2, ratio);
356285
+ } else if (block2.type === "text") {
356286
+ totalTokens += roughTokenCountEstimation(block2.text, ratio);
356287
+ } else {
356288
+ totalTokens += roughTokenCountEstimationForBlock(block2);
356289
+ }
356290
+ }
356291
+ return totalTokens;
356272
356292
  }
356273
356293
  async function countTokensWithBedrock({
356274
356294
  model,
@@ -357284,7 +357304,12 @@ var init_autoCompact = __esm(() => {
357284
357304
  // src/services/tools/repetitionTracker.ts
357285
357305
  import { createHash as createHash21 } from "crypto";
357286
357306
  function hashToolCall(toolName, input) {
357287
- const payload = toolName + "\x00" + JSON.stringify(input);
357307
+ const significant = {};
357308
+ for (const key of Object.keys(input).sort()) {
357309
+ if (!COSMETIC_INPUT_KEYS.has(key))
357310
+ significant[key] = input[key];
357311
+ }
357312
+ const payload = toolName + "\x00" + JSON.stringify(significant);
357288
357313
  return createHash21("sha256").update(payload).digest("hex").slice(0, 16);
357289
357314
  }
357290
357315
  function checkRepetition(toolName, input) {
@@ -357322,9 +357347,10 @@ function resetRepetitionTracker() {
357322
357347
  recentCalls.clear();
357323
357348
  lastHash = null;
357324
357349
  }
357325
- var WARN_THRESHOLD = 2, BLOCK_THRESHOLD = 4, recentCalls, lastHash = null;
357350
+ var WARN_THRESHOLD = 2, BLOCK_THRESHOLD = 4, recentCalls, lastHash = null, COSMETIC_INPUT_KEYS;
357326
357351
  var init_repetitionTracker = __esm(() => {
357327
357352
  recentCalls = new Map;
357353
+ COSMETIC_INPUT_KEYS = new Set(["description", "timeout"]);
357328
357354
  });
357329
357355
 
357330
357356
  // src/constants/errorIds.ts
@@ -361924,7 +361950,7 @@ function getAnthropicEnvMetadata() {
361924
361950
  function getBuildAgeMinutes() {
361925
361951
  if (false)
361926
361952
  ;
361927
- const buildTime = new Date("2026-08-06T20:06:33.603Z").getTime();
361953
+ const buildTime = new Date("2026-09-16T23:37:58.656Z").getTime();
361928
361954
  if (isNaN(buildTime))
361929
361955
  return;
361930
361956
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -410076,7 +410102,7 @@ var init_filesystem = __esm(() => {
410076
410102
  });
410077
410103
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
410078
410104
  const nonce = randomBytes17(16).toString("hex");
410079
- return join108(getVivusTempDir(), "bundled-skills", "1.1.39+5fcd249", nonce);
410105
+ return join108(getVivusTempDir(), "bundled-skills", "1.1.41+caf0d72", nonce);
410080
410106
  });
410081
410107
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
410082
410108
  });
@@ -411836,7 +411862,7 @@ function Feedback({
411836
411862
  platform: env3.platform,
411837
411863
  gitRepo: envInfo.isGit,
411838
411864
  terminal: env3.terminal,
411839
- version: "1.1.39+5fcd249",
411865
+ version: "1.1.41+caf0d72",
411840
411866
  transcript: normalizeMessagesForAPI(messages),
411841
411867
  errors: sanitizedErrors,
411842
411868
  lastApiRequest: getLastAPIRequest(),
@@ -412028,7 +412054,7 @@ function Feedback({
412028
412054
  ", ",
412029
412055
  env3.terminal,
412030
412056
  ", v",
412031
- "1.1.39+5fcd249"
412057
+ "1.1.41+caf0d72"
412032
412058
  ]
412033
412059
  }, undefined, true, undefined, this)
412034
412060
  ]
@@ -412134,7 +412160,7 @@ ${sanitizedDescription}
412134
412160
  ` + `**Environment Info**
412135
412161
  ` + `- Platform: ${env3.platform}
412136
412162
  ` + `- Terminal: ${env3.terminal}
412137
- ` + `- Version: ${"1.1.39+5fcd249"}
412163
+ ` + `- Version: ${"1.1.41+caf0d72"}
412138
412164
  ` + `- Feedback ID: ${feedbackId}
412139
412165
  ` + `
412140
412166
  **Errors**
@@ -415266,7 +415292,7 @@ function buildPrimarySection() {
415266
415292
  }, undefined, false, undefined, this);
415267
415293
  return [{
415268
415294
  label: "Version",
415269
- value: "1.1.39+5fcd249"
415295
+ value: "1.1.41+caf0d72"
415270
415296
  }, {
415271
415297
  label: "Session name",
415272
415298
  value: nameValue
@@ -419048,7 +419074,7 @@ function Config({
419048
419074
  }
419049
419075
  }, undefined, false, undefined, this)
419050
419076
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
419051
- currentVersion: "1.1.39+5fcd249",
419077
+ currentVersion: "1.1.41+caf0d72",
419052
419078
  onChoice: (choice) => {
419053
419079
  setShowSubmenu(null);
419054
419080
  setTabsHidden(false);
@@ -419060,7 +419086,7 @@ function Config({
419060
419086
  autoUpdatesChannel: "stable"
419061
419087
  };
419062
419088
  if (choice === "stay") {
419063
- newSettings.minimumVersion = "1.1.39+5fcd249";
419089
+ newSettings.minimumVersion = "1.1.41+caf0d72";
419064
419090
  }
419065
419091
  updateSettingsForSource("userSettings", newSettings);
419066
419092
  setSettingsData((prev_27) => ({
@@ -427255,7 +427281,7 @@ function HelpV2(t0) {
427255
427281
  let t6;
427256
427282
  if ($2[31] !== tabs) {
427257
427283
  t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
427258
- title: `Vivus v${"1.1.39+5fcd249"}`,
427284
+ title: `Vivus v${"1.1.41+caf0d72"}`,
427259
427285
  color: "professionalBlue",
427260
427286
  defaultTab: "general",
427261
427287
  children: tabs
@@ -451481,7 +451507,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
451481
451507
  return [];
451482
451508
  }
451483
451509
  }
451484
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.39+5fcd249") {
451510
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.41+caf0d72") {
451485
451511
  if (process.env.USER_TYPE === "ant") {
451486
451512
  const changelog = "";
451487
451513
  if (changelog) {
@@ -451508,7 +451534,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.39+5f
451508
451534
  releaseNotes
451509
451535
  };
451510
451536
  }
451511
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.39+5fcd249") {
451537
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.41+caf0d72") {
451512
451538
  if (process.env.USER_TYPE === "ant") {
451513
451539
  const changelog = "";
451514
451540
  if (changelog) {
@@ -452678,7 +452704,7 @@ function getRecentActivitySync() {
452678
452704
  return cachedActivity;
452679
452705
  }
452680
452706
  function getLogoDisplayData() {
452681
- const version2 = process.env.DEMO_VERSION ?? "1.1.39+5fcd249";
452707
+ const version2 = process.env.DEMO_VERSION ?? "1.1.41+caf0d72";
452682
452708
  const serverUrl = getDirectConnectServerUrl();
452683
452709
  const displayPath = process.env.DEMO_VERSION ? "/code/vivus" : getDisplayPath(getCwd());
452684
452710
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -454205,7 +454231,7 @@ function LogoV2() {
454205
454231
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
454206
454232
  t2 = () => {
454207
454233
  const currentConfig = getGlobalConfig();
454208
- if (currentConfig.lastReleaseNotesSeen === "1.1.39+5fcd249") {
454234
+ if (currentConfig.lastReleaseNotesSeen === "1.1.41+caf0d72") {
454209
454235
  return;
454210
454236
  }
454211
454237
  saveGlobalConfig(_temp329);
@@ -454881,12 +454907,12 @@ function LogoV2() {
454881
454907
  return t41;
454882
454908
  }
454883
454909
  function _temp329(current) {
454884
- if (current.lastReleaseNotesSeen === "1.1.39+5fcd249") {
454910
+ if (current.lastReleaseNotesSeen === "1.1.41+caf0d72") {
454885
454911
  return current;
454886
454912
  }
454887
454913
  return {
454888
454914
  ...current,
454889
- lastReleaseNotesSeen: "1.1.39+5fcd249"
454915
+ lastReleaseNotesSeen: "1.1.41+caf0d72"
454890
454916
  };
454891
454917
  }
454892
454918
  function _temp245(s_0) {
@@ -481188,7 +481214,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
481188
481214
  smapsRollup,
481189
481215
  platform: process.platform,
481190
481216
  nodeVersion: process.version,
481191
- ccVersion: "1.1.39+5fcd249"
481217
+ ccVersion: "1.1.41+caf0d72"
481192
481218
  };
481193
481219
  }
481194
481220
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -481774,7 +481800,7 @@ var init_bridge_kick = __esm(() => {
481774
481800
  var call56 = async () => {
481775
481801
  return {
481776
481802
  type: "text",
481777
- value: `${"1.1.39+5fcd249"} (built ${"2026-08-06T20:06:33.603Z"})`
481803
+ value: `${"1.1.41+caf0d72"} (built ${"2026-09-16T23:37:58.656Z"})`
481778
481804
  };
481779
481805
  }, version2, version_default;
481780
481806
  var init_version = __esm(() => {
@@ -491094,7 +491120,7 @@ function generateHtmlReport(data, insights) {
491094
491120
  </html>`;
491095
491121
  }
491096
491122
  function buildExportData(data, insights, facets, remoteStats) {
491097
- const version3 = typeof MACRO !== "undefined" ? "1.1.39+5fcd249" : "unknown";
491123
+ const version3 = typeof MACRO !== "undefined" ? "1.1.41+caf0d72" : "unknown";
491098
491124
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
491099
491125
  const facets_summary = {
491100
491126
  total: facets.size,
@@ -495206,7 +495232,7 @@ var init_sessionStorage = __esm(() => {
495206
495232
  init_settings2();
495207
495233
  init_slowOperations();
495208
495234
  init_uuid();
495209
- VERSION5 = typeof MACRO !== "undefined" ? "1.1.39+5fcd249" : "unknown";
495235
+ VERSION5 = typeof MACRO !== "undefined" ? "1.1.41+caf0d72" : "unknown";
495210
495236
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
495211
495237
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
495212
495238
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -498078,7 +498104,7 @@ function buildSystemInitMessage(inputs) {
498078
498104
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
498079
498105
  apiKeySource: getAnthropicApiKeyWithSource().source,
498080
498106
  betas: getSdkBetas(),
498081
- vivus_code_version: "1.1.39+5fcd249",
498107
+ vivus_code_version: "1.1.41+caf0d72",
498082
498108
  output_style: outputStyle2,
498083
498109
  agents: inputs.agents.map((agent) => agent.agentType),
498084
498110
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
@@ -512790,7 +512816,7 @@ var init_useVoiceEnabled = __esm(() => {
512790
512816
  function getSemverPart(version3) {
512791
512817
  return `${import_semver12.major(version3, { loose: true })}.${import_semver12.minor(version3, { loose: true })}.${import_semver12.patch(version3, { loose: true })}`;
512792
512818
  }
512793
- function useUpdateNotification(updatedVersion, initialVersion = "1.1.39+5fcd249") {
512819
+ function useUpdateNotification(updatedVersion, initialVersion = "1.1.41+caf0d72") {
512794
512820
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react228.useState(() => getSemverPart(initialVersion));
512795
512821
  if (!updatedVersion) {
512796
512822
  return null;
@@ -512830,7 +512856,7 @@ function AutoUpdater({
512830
512856
  return;
512831
512857
  }
512832
512858
  if (false) {}
512833
- const currentVersion = "1.1.39+5fcd249";
512859
+ const currentVersion = "1.1.41+caf0d72";
512834
512860
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
512835
512861
  let latestVersion = await getLatestVersion(channel);
512836
512862
  const isDisabled = isAutoUpdaterDisabled();
@@ -513043,12 +513069,12 @@ function NativeAutoUpdater({
513043
513069
  logEvent("tengu_native_auto_updater_start", {});
513044
513070
  try {
513045
513071
  const maxVersion = await getMaxVersion();
513046
- if (maxVersion && gt("1.1.39+5fcd249", maxVersion)) {
513072
+ if (maxVersion && gt("1.1.41+caf0d72", maxVersion)) {
513047
513073
  const msg = await getMaxVersionMessage();
513048
513074
  setMaxVersionIssue(msg ?? "affects your version");
513049
513075
  }
513050
513076
  const result = await installLatest(channel);
513051
- const currentVersion = "1.1.39+5fcd249";
513077
+ const currentVersion = "1.1.41+caf0d72";
513052
513078
  const latencyMs = Date.now() - startTime;
513053
513079
  if (result.lockFailed) {
513054
513080
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -513185,17 +513211,17 @@ function PackageManagerAutoUpdater(t0) {
513185
513211
  const maxVersion = await getMaxVersion();
513186
513212
  if (maxVersion && latest && gt(latest, maxVersion)) {
513187
513213
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
513188
- if (gte("1.1.39+5fcd249", maxVersion)) {
513189
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.39+5fcd249"} is already at or above maxVersion ${maxVersion}, skipping update`);
513214
+ if (gte("1.1.41+caf0d72", maxVersion)) {
513215
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.41+caf0d72"} is already at or above maxVersion ${maxVersion}, skipping update`);
513190
513216
  setUpdateAvailable(false);
513191
513217
  return;
513192
513218
  }
513193
513219
  latest = maxVersion;
513194
513220
  }
513195
- const hasUpdate = latest && !gte("1.1.39+5fcd249", latest) && !shouldSkipVersion(latest);
513221
+ const hasUpdate = latest && !gte("1.1.41+caf0d72", latest) && !shouldSkipVersion(latest);
513196
513222
  setUpdateAvailable(!!hasUpdate);
513197
513223
  if (hasUpdate) {
513198
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.39+5fcd249"} -> ${latest}`);
513224
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.41+caf0d72"} -> ${latest}`);
513199
513225
  }
513200
513226
  };
513201
513227
  $2[0] = t1;
@@ -513229,7 +513255,7 @@ function PackageManagerAutoUpdater(t0) {
513229
513255
  wrap: "truncate",
513230
513256
  children: [
513231
513257
  "currentVersion: ",
513232
- "1.1.39+5fcd249"
513258
+ "1.1.41+caf0d72"
513233
513259
  ]
513234
513260
  }, undefined, true, undefined, this);
513235
513261
  $2[3] = verbose;
@@ -521413,7 +521439,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
521413
521439
  project_dir: getOriginalCwd(),
521414
521440
  added_dirs: addedDirs
521415
521441
  },
521416
- version: "1.1.39+5fcd249",
521442
+ version: "1.1.41+caf0d72",
521417
521443
  output_style: {
521418
521444
  name: outputStyleName
521419
521445
  },
@@ -533065,7 +533091,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
533065
533091
  } catch {}
533066
533092
  const data = {
533067
533093
  trigger,
533068
- version: "1.1.39+5fcd249",
533094
+ version: "1.1.41+caf0d72",
533069
533095
  platform: process.platform,
533070
533096
  transcript,
533071
533097
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -544536,7 +544562,7 @@ function WelcomeV2() {
544536
544562
  dimColor: true,
544537
544563
  children: [
544538
544564
  "v",
544539
- "1.1.39+5fcd249",
544565
+ "1.1.41+caf0d72",
544540
544566
  " "
544541
544567
  ]
544542
544568
  }, undefined, true, undefined, this)
@@ -544736,7 +544762,7 @@ function WelcomeV2() {
544736
544762
  dimColor: true,
544737
544763
  children: [
544738
544764
  "v",
544739
- "1.1.39+5fcd249",
544765
+ "1.1.41+caf0d72",
544740
544766
  " "
544741
544767
  ]
544742
544768
  }, undefined, true, undefined, this)
@@ -544962,7 +544988,7 @@ function AppleTerminalWelcomeV2(t0) {
544962
544988
  dimColor: true,
544963
544989
  children: [
544964
544990
  "v",
544965
- "1.1.39+5fcd249",
544991
+ "1.1.41+caf0d72",
544966
544992
  " "
544967
544993
  ]
544968
544994
  }, undefined, true, undefined, this);
@@ -545216,7 +545242,7 @@ function AppleTerminalWelcomeV2(t0) {
545216
545242
  dimColor: true,
545217
545243
  children: [
545218
545244
  "v",
545219
- "1.1.39+5fcd249",
545245
+ "1.1.41+caf0d72",
545220
545246
  " "
545221
545247
  ]
545222
545248
  }, undefined, true, undefined, this);
@@ -548289,7 +548315,7 @@ function appendToLog(path25, message) {
548289
548315
  cwd: getFsImplementation().cwd(),
548290
548316
  userType: process.env.USER_TYPE,
548291
548317
  sessionId: getSessionId(),
548292
- version: "1.1.39+5fcd249"
548318
+ version: "1.1.41+caf0d72"
548293
548319
  };
548294
548320
  getLogWriter(path25).write(messageWithTimestamp);
548295
548321
  }
@@ -552284,8 +552310,8 @@ async function getEnvLessBridgeConfig() {
552284
552310
  }
552285
552311
  async function checkEnvLessBridgeMinVersion() {
552286
552312
  const cfg = await getEnvLessBridgeConfig();
552287
- if (cfg.min_version && lt("1.1.39+5fcd249", cfg.min_version)) {
552288
- return `Your version of Vivus (${"1.1.39+5fcd249"}) is too old for Remote Control.
552313
+ if (cfg.min_version && lt("1.1.41+caf0d72", cfg.min_version)) {
552314
+ return `Your version of Vivus (${"1.1.41+caf0d72"}) is too old for Remote Control.
552289
552315
  Version ${cfg.min_version} or higher is required. Run \`vivus update\` to update.`;
552290
552316
  }
552291
552317
  return null;
@@ -552759,7 +552785,7 @@ async function initBridgeCore(params) {
552759
552785
  const rawApi = createBridgeApiClient({
552760
552786
  baseUrl,
552761
552787
  getAccessToken,
552762
- runnerVersion: "1.1.39+5fcd249",
552788
+ runnerVersion: "1.1.41+caf0d72",
552763
552789
  onDebug: logForDebugging,
552764
552790
  onAuth401,
552765
552791
  getTrustedDeviceToken
@@ -558438,7 +558464,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
558438
558464
  setCwd(cwd3);
558439
558465
  const server = new Server({
558440
558466
  name: "vivus/tengu",
558441
- version: "1.1.39+5fcd249"
558467
+ version: "1.1.41+caf0d72"
558442
558468
  }, {
558443
558469
  capabilities: {
558444
558470
  tools: {}
@@ -560171,7 +560197,7 @@ __export(exports_update, {
560171
560197
  });
560172
560198
  async function update() {
560173
560199
  logEvent("tengu_update_check", {});
560174
- writeToStdout(`Current version: ${"1.1.39+5fcd249"}
560200
+ writeToStdout(`Current version: ${"1.1.41+caf0d72"}
560175
560201
  `);
560176
560202
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
560177
560203
  writeToStdout(`Checking for updates to ${channel} version...
@@ -560246,8 +560272,8 @@ async function update() {
560246
560272
  writeToStdout(`Vivus is managed by Homebrew.
560247
560273
  `);
560248
560274
  const latest = await getLatestVersion(channel);
560249
- if (latest && !gte("1.1.39+5fcd249", latest)) {
560250
- writeToStdout(`Update available: ${"1.1.39+5fcd249"} → ${latest}
560275
+ if (latest && !gte("1.1.41+caf0d72", latest)) {
560276
+ writeToStdout(`Update available: ${"1.1.41+caf0d72"} → ${latest}
560251
560277
  `);
560252
560278
  writeToStdout(`
560253
560279
  `);
@@ -560263,8 +560289,8 @@ async function update() {
560263
560289
  writeToStdout(`Vivus is managed by winget.
560264
560290
  `);
560265
560291
  const latest = await getLatestVersion(channel);
560266
- if (latest && !gte("1.1.39+5fcd249", latest)) {
560267
- writeToStdout(`Update available: ${"1.1.39+5fcd249"} → ${latest}
560292
+ if (latest && !gte("1.1.41+caf0d72", latest)) {
560293
+ writeToStdout(`Update available: ${"1.1.41+caf0d72"} → ${latest}
560268
560294
  `);
560269
560295
  writeToStdout(`
560270
560296
  `);
@@ -560280,8 +560306,8 @@ async function update() {
560280
560306
  writeToStdout(`Vivus is managed by apk.
560281
560307
  `);
560282
560308
  const latest = await getLatestVersion(channel);
560283
- if (latest && !gte("1.1.39+5fcd249", latest)) {
560284
- writeToStdout(`Update available: ${"1.1.39+5fcd249"} → ${latest}
560309
+ if (latest && !gte("1.1.41+caf0d72", latest)) {
560310
+ writeToStdout(`Update available: ${"1.1.41+caf0d72"} → ${latest}
560285
560311
  `);
560286
560312
  writeToStdout(`
560287
560313
  `);
@@ -560346,11 +560372,11 @@ async function update() {
560346
560372
  `);
560347
560373
  await gracefulShutdown(1);
560348
560374
  }
560349
- if (result.latestVersion === "1.1.39+5fcd249") {
560350
- writeToStdout(source_default.green(`Vivus is up to date (${"1.1.39+5fcd249"})`) + `
560375
+ if (result.latestVersion === "1.1.41+caf0d72") {
560376
+ writeToStdout(source_default.green(`Vivus is up to date (${"1.1.41+caf0d72"})`) + `
560351
560377
  `);
560352
560378
  } else {
560353
- writeToStdout(source_default.green(`Successfully updated from ${"1.1.39+5fcd249"} to version ${result.latestVersion}`) + `
560379
+ writeToStdout(source_default.green(`Successfully updated from ${"1.1.41+caf0d72"} to version ${result.latestVersion}`) + `
560354
560380
  `);
560355
560381
  await regenerateCompletionCache();
560356
560382
  }
@@ -560407,12 +560433,12 @@ async function update() {
560407
560433
  `);
560408
560434
  await gracefulShutdown(1);
560409
560435
  }
560410
- if (latestVersion === "1.1.39+5fcd249") {
560411
- writeToStdout(source_default.green(`Vivus is up to date (${"1.1.39+5fcd249"})`) + `
560436
+ if (latestVersion === "1.1.41+caf0d72") {
560437
+ writeToStdout(source_default.green(`Vivus is up to date (${"1.1.41+caf0d72"})`) + `
560412
560438
  `);
560413
560439
  await gracefulShutdown(0);
560414
560440
  }
560415
- writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.39+5fcd249"})
560441
+ writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.41+caf0d72"})
560416
560442
  `);
560417
560443
  writeToStdout(`Installing update...
560418
560444
  `);
@@ -560457,7 +560483,7 @@ async function update() {
560457
560483
  logForDebugging(`update: Installation status: ${status2}`);
560458
560484
  switch (status2) {
560459
560485
  case "success":
560460
- writeToStdout(source_default.green(`Successfully updated from ${"1.1.39+5fcd249"} to version ${latestVersion}`) + `
560486
+ writeToStdout(source_default.green(`Successfully updated from ${"1.1.41+caf0d72"} to version ${latestVersion}`) + `
560461
560487
  `);
560462
560488
  await regenerateCompletionCache();
560463
560489
  break;
@@ -561431,7 +561457,7 @@ function completeOnboarding() {
561431
561457
  saveGlobalConfig((current) => ({
561432
561458
  ...current,
561433
561459
  hasCompletedOnboarding: true,
561434
- lastOnboardingVersion: "1.1.39+5fcd249"
561460
+ lastOnboardingVersion: "1.1.41+caf0d72"
561435
561461
  }));
561436
561462
  }
561437
561463
  function showDialog(root2, renderer) {
@@ -565650,7 +565676,7 @@ ${customInstructions}` : customInstructions;
565650
565676
  }
565651
565677
  }
565652
565678
  logForDiagnosticsNoPII("info", "started", {
565653
- version: "1.1.39+5fcd249",
565679
+ version: "1.1.41+caf0d72",
565654
565680
  is_native_binary: isInBundledMode()
565655
565681
  });
565656
565682
  registerCleanup(async () => {
@@ -566448,7 +566474,7 @@ Usage: vivus --remote "your task description"`, () => gracefulShutdown(1));
566448
566474
  pendingHookMessages
566449
566475
  }, renderAndRun);
566450
566476
  }
566451
- }).version("1.1.39+5fcd249 (Vivus)", "-v, --version", "Output the version number");
566477
+ }).version("1.1.41+caf0d72 (Vivus)", "-v, --version", "Output the version number");
566452
566478
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
566453
566479
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
566454
566480
  if (canUserConfigureAdvisor()) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vivus-agent",
3
- "version": "1.1.39",
3
+ "version": "1.1.41",
4
4
  "description": "Vivus — local AI coding agent",
5
5
  "type": "module",
6
6
  "main": "dist/main.js",