vivus-agent 1.1.69 → 1.1.71

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 +121 -100
  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-10-15T21:15:23.855Z
3
+ // Built from source at 2026-10-15T22:23:38.253Z
4
4
  import { createRequire } from "node:module";
5
5
  var __create = Object.create;
6
6
  var __getProtoOf = Object.getPrototypeOf;
@@ -108238,7 +108238,7 @@ var init_auth = __esm(() => {
108238
108238
 
108239
108239
  // src/utils/userAgent.ts
108240
108240
  function getVivusCodeUserAgent() {
108241
- return `vivus/${"1.1.69+1109e06"}`;
108241
+ return `vivus/${"1.1.71+ebce6e4"}`;
108242
108242
  }
108243
108243
 
108244
108244
  // src/utils/workloadContext.ts
@@ -108260,7 +108260,7 @@ function getUserAgent() {
108260
108260
  const clientApp = process.env.VIVUS_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.VIVUS_AGENT_SDK_CLIENT_APP}` : "";
108261
108261
  const workload = getWorkload();
108262
108262
  const workloadSuffix = workload ? `, workload/${workload}` : "";
108263
- return `vivus-cli/${"1.1.69+1109e06"} (${process.env.USER_TYPE}, ${process.env.VIVUS_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
108263
+ return `vivus-cli/${"1.1.71+ebce6e4"} (${process.env.USER_TYPE}, ${process.env.VIVUS_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
108264
108264
  }
108265
108265
  function getMCPUserAgent() {
108266
108266
  const parts = [];
@@ -108274,7 +108274,7 @@ function getMCPUserAgent() {
108274
108274
  parts.push(`client-app/${process.env.VIVUS_AGENT_SDK_CLIENT_APP}`);
108275
108275
  }
108276
108276
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
108277
- return `vivus/${"1.1.69+1109e06"}${suffix}`;
108277
+ return `vivus/${"1.1.71+ebce6e4"}${suffix}`;
108278
108278
  }
108279
108279
  function getWebFetchUserAgent() {
108280
108280
  return `Vivus-User (${getVivusCodeUserAgent()}; +https://support.anthropic.com/)`;
@@ -108412,7 +108412,7 @@ var init_user = __esm(() => {
108412
108412
  deviceId,
108413
108413
  sessionId: getSessionId(),
108414
108414
  email: getEmail(),
108415
- appVersion: "1.1.69+1109e06",
108415
+ appVersion: "1.1.71+ebce6e4",
108416
108416
  platform: getHostPlatformForAnalytics(),
108417
108417
  organizationUuid,
108418
108418
  accountUuid,
@@ -119723,7 +119723,7 @@ var init_metadata = __esm(() => {
119723
119723
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
119724
119724
  WHITESPACE_REGEX = /\s+/;
119725
119725
  getVersionBase = memoize_default(() => {
119726
- const match = "1.1.69+1109e06".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
119726
+ const match = "1.1.71+ebce6e4".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
119727
119727
  return match ? match[0] : undefined;
119728
119728
  });
119729
119729
  buildEnvContext = memoize_default(async () => {
@@ -119763,9 +119763,9 @@ var init_metadata = __esm(() => {
119763
119763
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
119764
119764
  isVivusCodeAction: isEnvTruthy(process.env.VIVUS_CODE_ACTION),
119765
119765
  isVivusAiAuth: isVivusAISubscriber(),
119766
- version: "1.1.69+1109e06",
119766
+ version: "1.1.71+ebce6e4",
119767
119767
  versionBase: getVersionBase(),
119768
- buildTime: "2026-10-15T21:15:23.150Z",
119768
+ buildTime: "2026-10-15T22:23:37.900Z",
119769
119769
  deploymentEnvironment: env3.detectDeploymentEnvironment(),
119770
119770
  ...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
119771
119771
  githubEventName: process.env.GITHUB_EVENT_NAME,
@@ -120433,7 +120433,7 @@ function initialize1PEventLogging() {
120433
120433
  const platform2 = getPlatform();
120434
120434
  const attributes = {
120435
120435
  [import_semantic_conventions.ATTR_SERVICE_NAME]: "vivus",
120436
- [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.1.69+1109e06"
120436
+ [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.1.71+ebce6e4"
120437
120437
  };
120438
120438
  if (platform2 === "wsl") {
120439
120439
  const wslVersion = getWslVersion();
@@ -120460,7 +120460,7 @@ function initialize1PEventLogging() {
120460
120460
  })
120461
120461
  ]
120462
120462
  });
120463
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.vivus_code.events", "1.1.69+1109e06");
120463
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.vivus_code.events", "1.1.71+ebce6e4");
120464
120464
  }
120465
120465
  async function reinitialize1PEventLoggingIfConfigChanged() {
120466
120466
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -162692,7 +162692,7 @@ function getAttributionHeader(fingerprint) {
162692
162692
  if (!isAttributionHeaderEnabled()) {
162693
162693
  return "";
162694
162694
  }
162695
- const version2 = `${"1.1.69+1109e06"}.${fingerprint}`;
162695
+ const version2 = `${"1.1.71+ebce6e4"}.${fingerprint}`;
162696
162696
  const entrypoint = process.env.VIVUS_CODE_ENTRYPOINT ?? "unknown";
162697
162697
  const cch = "";
162698
162698
  const workload = getWorkload();
@@ -175855,7 +175855,7 @@ function getTelemetryAttributes() {
175855
175855
  attributes["session.id"] = sessionId;
175856
175856
  }
175857
175857
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
175858
- attributes["app.version"] = "1.1.69+1109e06";
175858
+ attributes["app.version"] = "1.1.71+ebce6e4";
175859
175859
  }
175860
175860
  const oauthAccount = getOauthAccountInfo();
175861
175861
  if (oauthAccount) {
@@ -201327,9 +201327,10 @@ var TIME_BASED_MC_CONFIG_DEFAULTS;
201327
201327
  var init_timeBasedMCConfig = __esm(() => {
201328
201328
  init_growthbook();
201329
201329
  TIME_BASED_MC_CONFIG_DEFAULTS = {
201330
- enabled: false,
201330
+ enabled: true,
201331
201331
  gapThresholdMinutes: 60,
201332
- keepRecent: 5
201332
+ keepRecent: 5,
201333
+ pressureRatio: 0.6
201333
201334
  };
201334
201335
  });
201335
201336
 
@@ -201454,17 +201455,27 @@ function evaluateTimeBasedTrigger(messages, querySource) {
201454
201455
  return null;
201455
201456
  }
201456
201457
  const gapMinutes = (Date.now() - new Date(lastAssistant.timestamp).getTime()) / 60000;
201457
- if (!Number.isFinite(gapMinutes) || gapMinutes < config3.gapThresholdMinutes) {
201458
- return null;
201458
+ if (Number.isFinite(gapMinutes) && gapMinutes >= config3.gapThresholdMinutes) {
201459
+ return { gapMinutes, config: config3, reason: "gap" };
201459
201460
  }
201460
- return { gapMinutes, config: config3 };
201461
+ if (config3.pressureRatio > 0) {
201462
+ const effectiveWindow = getEffectiveContextWindowSize(getMainLoopModel());
201463
+ if (effectiveWindow > 0 && tokenCountWithEstimation(messages) >= effectiveWindow * config3.pressureRatio) {
201464
+ return {
201465
+ gapMinutes: Number.isFinite(gapMinutes) ? gapMinutes : 0,
201466
+ config: config3,
201467
+ reason: "pressure"
201468
+ };
201469
+ }
201470
+ }
201471
+ return null;
201461
201472
  }
201462
201473
  function maybeTimeBasedMicrocompact(messages, querySource, readFileState) {
201463
201474
  const trigger = evaluateTimeBasedTrigger(messages, querySource);
201464
201475
  if (!trigger) {
201465
201476
  return null;
201466
201477
  }
201467
- const { gapMinutes, config: config3 } = trigger;
201478
+ const { gapMinutes, config: config3, reason } = trigger;
201468
201479
  const compactableIds = collectCompactableToolIds(messages);
201469
201480
  const keepRecent = Math.max(1, config3.keepRecent);
201470
201481
  const keepSet = new Set(compactableIds.slice(-keepRecent));
@@ -201504,7 +201515,13 @@ function maybeTimeBasedMicrocompact(messages, querySource, readFileState) {
201504
201515
  if (tokensSaved === 0) {
201505
201516
  return null;
201506
201517
  }
201518
+ const signature = [...clearSet].sort().join(",");
201519
+ if (signature === lastClearSignature) {
201520
+ suppressCompactWarning();
201521
+ return { messages: result };
201522
+ }
201507
201523
  logEvent("tengu_time_based_microcompact", {
201524
+ reason,
201508
201525
  gapMinutes: Math.round(gapMinutes),
201509
201526
  gapThresholdMinutes: config3.gapThresholdMinutes,
201510
201527
  toolsCleared: clearSet.size,
@@ -201512,13 +201529,14 @@ function maybeTimeBasedMicrocompact(messages, querySource, readFileState) {
201512
201529
  keepRecent: config3.keepRecent,
201513
201530
  tokensSaved
201514
201531
  });
201515
- logForDebugging(`[TIME-BASED MC] gap ${Math.round(gapMinutes)}min > ${config3.gapThresholdMinutes}min, cleared ${clearSet.size} tool results (~${tokensSaved} tokens), kept last ${keepSet.size}`);
201532
+ logForDebugging(`[MICROCOMPACT ${reason}] ${reason === "pressure" ? `context at >=${config3.pressureRatio} of effective window` : `gap ${Math.round(gapMinutes)}min > ${config3.gapThresholdMinutes}min`}, cleared ${clearSet.size} tool results (~${tokensSaved} tokens), kept last ${keepSet.size}`);
201516
201533
  suppressCompactWarning();
201517
201534
  resetMicrocompactState();
201518
201535
  if (false) {}
201536
+ lastClearSignature = signature;
201519
201537
  return { messages: result };
201520
201538
  }
201521
- var TIME_BASED_MC_CLEARED_MESSAGE = "[Old tool result content cleared]", IMAGE_MAX_TOKEN_SIZE = 2000, COMPACTABLE_TOOLS, cachedMCModule = null, cachedMCState = null, pendingCacheEdits = null;
201539
+ var TIME_BASED_MC_CLEARED_MESSAGE = "[Old tool result content cleared]", IMAGE_MAX_TOKEN_SIZE = 2000, COMPACTABLE_TOOLS, cachedMCModule = null, cachedMCState = null, pendingCacheEdits = null, lastClearSignature = null;
201522
201540
  var init_microCompact = __esm(() => {
201523
201541
  init_prompt2();
201524
201542
  init_prompt3();
@@ -201526,6 +201544,8 @@ var init_microCompact = __esm(() => {
201526
201544
  init_prompt6();
201527
201545
  init_debug();
201528
201546
  init_model();
201547
+ init_tokens();
201548
+ init_autoCompact();
201529
201549
  init_path2();
201530
201550
  init_shellToolUtils();
201531
201551
  init_slowOperations();
@@ -242474,7 +242494,7 @@ function computeFingerprint(messageText, version2) {
242474
242494
  }
242475
242495
  function computeFingerprintFromMessages(messages) {
242476
242496
  const firstMessageText = extractFirstMessageText(messages);
242477
- return computeFingerprint(firstMessageText, "1.1.69+1109e06");
242497
+ return computeFingerprint(firstMessageText, "1.1.71+ebce6e4");
242478
242498
  }
242479
242499
  var FINGERPRINT_SALT = "59cf53e54c78";
242480
242500
  var init_fingerprint = () => {};
@@ -242516,7 +242536,7 @@ async function sideQuery(opts) {
242516
242536
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
242517
242537
  }
242518
242538
  const messageText = extractFirstUserMessageText(messages);
242519
- const fingerprint = computeFingerprint(messageText, "1.1.69+1109e06");
242539
+ const fingerprint = computeFingerprint(messageText, "1.1.71+ebce6e4");
242520
242540
  const attributionHeader = getAttributionHeader(fingerprint);
242521
242541
  const systemBlocks = [
242522
242542
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -243668,7 +243688,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
243668
243688
  const client2 = new Client({
243669
243689
  name: "vivus",
243670
243690
  title: "Vivus",
243671
- version: "1.1.69+1109e06",
243691
+ version: "1.1.71+ebce6e4",
243672
243692
  description: "Anthropic's agentic coding tool",
243673
243693
  websiteUrl: PRODUCT_URL
243674
243694
  }, {
@@ -244022,7 +244042,7 @@ var init_client6 = __esm(() => {
244022
244042
  const client2 = new Client({
244023
244043
  name: "vivus",
244024
244044
  title: "Vivus",
244025
- version: "1.1.69+1109e06",
244045
+ version: "1.1.71+ebce6e4",
244026
244046
  description: "Anthropic's agentic coding tool",
244027
244047
  websiteUrl: PRODUCT_URL
244028
244048
  }, {
@@ -246083,7 +246103,7 @@ function getInstallationEnv() {
246083
246103
  return;
246084
246104
  }
246085
246105
  function getVivusCodeVersion() {
246086
- return "1.1.69+1109e06";
246106
+ return "1.1.71+ebce6e4";
246087
246107
  }
246088
246108
  async function getInstalledVSCodeExtensionVersion(command) {
246089
246109
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -302217,7 +302237,7 @@ async function initializeBetaTracing(resource) {
302217
302237
  });
302218
302238
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
302219
302239
  setLoggerProvider(loggerProvider);
302220
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.69+1109e06");
302240
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.71+ebce6e4");
302221
302241
  setEventLogger(eventLogger);
302222
302242
  process.on("beforeExit", async () => {
302223
302243
  await loggerProvider?.forceFlush();
@@ -302257,7 +302277,7 @@ async function initializeTelemetry() {
302257
302277
  const platform5 = getPlatform();
302258
302278
  const baseAttributes = {
302259
302279
  [import_semantic_conventions2.ATTR_SERVICE_NAME]: "vivus",
302260
- [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.1.69+1109e06"
302280
+ [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.1.71+ebce6e4"
302261
302281
  };
302262
302282
  if (platform5 === "wsl") {
302263
302283
  const wslVersion = getWslVersion();
@@ -302302,7 +302322,7 @@ async function initializeTelemetry() {
302302
302322
  } catch {}
302303
302323
  };
302304
302324
  registerCleanup(shutdownTelemetry2);
302305
- return meterProvider2.getMeter("com.anthropic.vivus_code", "1.1.69+1109e06");
302325
+ return meterProvider2.getMeter("com.anthropic.vivus_code", "1.1.71+ebce6e4");
302306
302326
  }
302307
302327
  const meterProvider = new import_sdk_metrics2.MeterProvider({
302308
302328
  resource,
@@ -302322,7 +302342,7 @@ async function initializeTelemetry() {
302322
302342
  });
302323
302343
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
302324
302344
  setLoggerProvider(loggerProvider);
302325
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.69+1109e06");
302345
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.71+ebce6e4");
302326
302346
  setEventLogger(eventLogger);
302327
302347
  logForDebugging("[3P telemetry] Event logger set successfully");
302328
302348
  process.on("beforeExit", async () => {
@@ -302384,7 +302404,7 @@ Current timeout: ${timeoutMs}ms
302384
302404
  }
302385
302405
  };
302386
302406
  registerCleanup(shutdownTelemetry);
302387
- return meterProvider.getMeter("com.anthropic.vivus_code", "1.1.69+1109e06");
302407
+ return meterProvider.getMeter("com.anthropic.vivus_code", "1.1.71+ebce6e4");
302388
302408
  }
302389
302409
  async function flushTelemetry() {
302390
302410
  const meterProvider = getMeterProvider();
@@ -303070,9 +303090,9 @@ async function assertMinVersion() {
303070
303090
  if (false) {}
303071
303091
  try {
303072
303092
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
303073
- if (versionConfig.minVersion && lt("1.1.69+1109e06", versionConfig.minVersion)) {
303093
+ if (versionConfig.minVersion && lt("1.1.71+ebce6e4", versionConfig.minVersion)) {
303074
303094
  console.error(`
303075
- It looks like your version of Vivus (${"1.1.69+1109e06"}) needs an update.
303095
+ It looks like your version of Vivus (${"1.1.71+ebce6e4"}) needs an update.
303076
303096
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
303077
303097
 
303078
303098
  To update, please run:
@@ -303288,7 +303308,7 @@ async function installGlobalPackage(specificVersion) {
303288
303308
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
303289
303309
  logEvent("tengu_auto_updater_lock_contention", {
303290
303310
  pid: process.pid,
303291
- currentVersion: "1.1.69+1109e06"
303311
+ currentVersion: "1.1.71+ebce6e4"
303292
303312
  });
303293
303313
  return "in_progress";
303294
303314
  }
@@ -303297,7 +303317,7 @@ async function installGlobalPackage(specificVersion) {
303297
303317
  if (!env3.isRunningWithBun() && env3.isNpmFromWindowsPath()) {
303298
303318
  logError2(new Error("Windows NPM detected in WSL environment"));
303299
303319
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
303300
- currentVersion: "1.1.69+1109e06"
303320
+ currentVersion: "1.1.71+ebce6e4"
303301
303321
  });
303302
303322
  console.error(`
303303
303323
  Error: Windows NPM detected in WSL
@@ -303830,7 +303850,7 @@ function detectLinuxGlobPatternWarnings() {
303830
303850
  }
303831
303851
  async function getDoctorDiagnostic() {
303832
303852
  const installationType = await getCurrentInstallationType();
303833
- const version2 = typeof MACRO !== "undefined" ? "1.1.69+1109e06" : "unknown";
303853
+ const version2 = typeof MACRO !== "undefined" ? "1.1.71+ebce6e4" : "unknown";
303834
303854
  const installationPath = await getInstallationPath();
303835
303855
  const invokedBinary = getInvokedBinary();
303836
303856
  const multipleInstallations = await detectMultipleInstallations();
@@ -304763,8 +304783,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
304763
304783
  const maxVersion = await getMaxVersion();
304764
304784
  if (maxVersion && gt(version2, maxVersion)) {
304765
304785
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
304766
- if (gte("1.1.69+1109e06", maxVersion)) {
304767
- logForDebugging(`Native installer: current version ${"1.1.69+1109e06"} is already at or above maxVersion ${maxVersion}, skipping update`);
304786
+ if (gte("1.1.71+ebce6e4", maxVersion)) {
304787
+ logForDebugging(`Native installer: current version ${"1.1.71+ebce6e4"} is already at or above maxVersion ${maxVersion}, skipping update`);
304768
304788
  logEvent("tengu_native_update_skipped_max_version", {
304769
304789
  latency_ms: Date.now() - startTime,
304770
304790
  max_version: maxVersion,
@@ -304775,7 +304795,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
304775
304795
  version2 = maxVersion;
304776
304796
  }
304777
304797
  }
304778
- if (!forceReinstall && version2 === "1.1.69+1109e06" && await versionIsAvailable(version2) && await isPossibleVivusBinary(executablePath)) {
304798
+ if (!forceReinstall && version2 === "1.1.71+ebce6e4" && await versionIsAvailable(version2) && await isPossibleVivusBinary(executablePath)) {
304779
304799
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
304780
304800
  logEvent("tengu_native_update_complete", {
304781
304801
  latency_ms: Date.now() - startTime,
@@ -357327,8 +357347,9 @@ function getEffectiveContextWindowSize(model) {
357327
357347
  let contextWindow = getContextWindowForModel(model, getSdkBetas());
357328
357348
  const override = process.env.VIVUS_CODE_AUTO_COMPACT_WINDOW;
357329
357349
  const parsed = override ? parseInt(override, 10) : NaN;
357330
- const workingCap = !isNaN(parsed) && parsed > 0 ? parsed : DEFAULT_MAX_WORKING_CONTEXT_TOKENS;
357331
- contextWindow = Math.min(contextWindow, workingCap);
357350
+ if (!isNaN(parsed) && parsed > 0) {
357351
+ contextWindow = Math.min(contextWindow, parsed);
357352
+ }
357332
357353
  const reservedTokensForSummary = Math.min(getMaxOutputTokensForModel(model), MAX_OUTPUT_TOKENS_FOR_SUMMARY, Math.floor(contextWindow * MAX_SUMMARY_RESERVE_RATIO));
357333
357354
  return contextWindow - reservedTokensForSummary;
357334
357355
  }
@@ -357466,7 +357487,7 @@ async function autoCompactIfNeeded(messages, toolUseContext, cacheSafeParams, qu
357466
357487
  return { wasCompacted: false, consecutiveFailures: nextFailures };
357467
357488
  }
357468
357489
  }
357469
- var MAX_OUTPUT_TOKENS_FOR_SUMMARY = 20000, MAX_SUMMARY_RESERVE_RATIO = 0.2, MAX_AUTOCOMPACT_BUFFER_RATIO = 0.08, DEFAULT_MAX_WORKING_CONTEXT_TOKENS = 200000, AUTOCOMPACT_BUFFER_TOKENS = 13000, WARNING_THRESHOLD_BUFFER_TOKENS = 20000, ERROR_THRESHOLD_BUFFER_TOKENS = 20000, MANUAL_COMPACT_BUFFER_TOKENS = 3000, DEFAULT_AUTOCOMPACT_RATIO = 0.7, MAX_CONSECUTIVE_AUTOCOMPACT_FAILURES = 3;
357490
+ var MAX_OUTPUT_TOKENS_FOR_SUMMARY = 20000, MAX_SUMMARY_RESERVE_RATIO = 0.2, MAX_AUTOCOMPACT_BUFFER_RATIO = 0.08, AUTOCOMPACT_BUFFER_TOKENS = 13000, WARNING_THRESHOLD_BUFFER_TOKENS = 20000, ERROR_THRESHOLD_BUFFER_TOKENS = 20000, MANUAL_COMPACT_BUFFER_TOKENS = 3000, DEFAULT_AUTOCOMPACT_RATIO = 0.7, MAX_CONSECUTIVE_AUTOCOMPACT_FAILURES = 3;
357470
357491
  var init_autoCompact = __esm(() => {
357471
357492
  init_state();
357472
357493
  init_state();
@@ -362202,7 +362223,7 @@ function getAnthropicEnvMetadata() {
362202
362223
  function getBuildAgeMinutes() {
362203
362224
  if (false)
362204
362225
  ;
362205
- const buildTime = new Date("2026-10-15T21:15:23.150Z").getTime();
362226
+ const buildTime = new Date("2026-10-15T22:23:37.900Z").getTime();
362206
362227
  if (isNaN(buildTime))
362207
362228
  return;
362208
362229
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -410363,7 +410384,7 @@ var init_filesystem = __esm(() => {
410363
410384
  });
410364
410385
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
410365
410386
  const nonce = randomBytes17(16).toString("hex");
410366
- return join108(getVivusTempDir(), "bundled-skills", "1.1.69+1109e06", nonce);
410387
+ return join108(getVivusTempDir(), "bundled-skills", "1.1.71+ebce6e4", nonce);
410367
410388
  });
410368
410389
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
410369
410390
  });
@@ -412123,7 +412144,7 @@ function Feedback({
412123
412144
  platform: env3.platform,
412124
412145
  gitRepo: envInfo.isGit,
412125
412146
  terminal: env3.terminal,
412126
- version: "1.1.69+1109e06",
412147
+ version: "1.1.71+ebce6e4",
412127
412148
  transcript: normalizeMessagesForAPI(messages),
412128
412149
  errors: sanitizedErrors,
412129
412150
  lastApiRequest: getLastAPIRequest(),
@@ -412315,7 +412336,7 @@ function Feedback({
412315
412336
  ", ",
412316
412337
  env3.terminal,
412317
412338
  ", v",
412318
- "1.1.69+1109e06"
412339
+ "1.1.71+ebce6e4"
412319
412340
  ]
412320
412341
  }, undefined, true, undefined, this)
412321
412342
  ]
@@ -412421,7 +412442,7 @@ ${sanitizedDescription}
412421
412442
  ` + `**Environment Info**
412422
412443
  ` + `- Platform: ${env3.platform}
412423
412444
  ` + `- Terminal: ${env3.terminal}
412424
- ` + `- Version: ${"1.1.69+1109e06"}
412445
+ ` + `- Version: ${"1.1.71+ebce6e4"}
412425
412446
  ` + `- Feedback ID: ${feedbackId}
412426
412447
  ` + `
412427
412448
  **Errors**
@@ -415553,7 +415574,7 @@ function buildPrimarySection() {
415553
415574
  }, undefined, false, undefined, this);
415554
415575
  return [{
415555
415576
  label: "Version",
415556
- value: "1.1.69+1109e06"
415577
+ value: "1.1.71+ebce6e4"
415557
415578
  }, {
415558
415579
  label: "Session name",
415559
415580
  value: nameValue
@@ -419418,7 +419439,7 @@ function Config({
419418
419439
  }
419419
419440
  }, undefined, false, undefined, this)
419420
419441
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
419421
- currentVersion: "1.1.69+1109e06",
419442
+ currentVersion: "1.1.71+ebce6e4",
419422
419443
  onChoice: (choice) => {
419423
419444
  setShowSubmenu(null);
419424
419445
  setTabsHidden(false);
@@ -419430,7 +419451,7 @@ function Config({
419430
419451
  autoUpdatesChannel: "stable"
419431
419452
  };
419432
419453
  if (choice === "stay") {
419433
- newSettings.minimumVersion = "1.1.69+1109e06";
419454
+ newSettings.minimumVersion = "1.1.71+ebce6e4";
419434
419455
  }
419435
419456
  updateSettingsForSource("userSettings", newSettings);
419436
419457
  setSettingsData((prev_27) => ({
@@ -427625,7 +427646,7 @@ function HelpV2(t0) {
427625
427646
  let t6;
427626
427647
  if ($2[31] !== tabs) {
427627
427648
  t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
427628
- title: `Vivus v${"1.1.69+1109e06"}`,
427649
+ title: `Vivus v${"1.1.71+ebce6e4"}`,
427629
427650
  color: "professionalBlue",
427630
427651
  defaultTab: "general",
427631
427652
  children: tabs
@@ -451851,7 +451872,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
451851
451872
  return [];
451852
451873
  }
451853
451874
  }
451854
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.69+1109e06") {
451875
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.71+ebce6e4") {
451855
451876
  if (process.env.USER_TYPE === "ant") {
451856
451877
  const changelog = "";
451857
451878
  if (changelog) {
@@ -451878,7 +451899,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.69+11
451878
451899
  releaseNotes
451879
451900
  };
451880
451901
  }
451881
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.69+1109e06") {
451902
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.71+ebce6e4") {
451882
451903
  if (process.env.USER_TYPE === "ant") {
451883
451904
  const changelog = "";
451884
451905
  if (changelog) {
@@ -452226,7 +452247,7 @@ async function createBridgeSession({
452226
452247
  const { getOAuthHeaders: getOAuthHeaders2 } = await Promise.resolve().then(() => (init_api2(), exports_api));
452227
452248
  const { parseGitHubRepository: parseGitHubRepository2 } = await Promise.resolve().then(() => (init_detectRepository(), exports_detectRepository));
452228
452249
  const { getDefaultBranch: getDefaultBranch2 } = await Promise.resolve().then(() => (init_git(), exports_git));
452229
- const { getMainLoopModel: getMainLoopModel3 } = await Promise.resolve().then(() => (init_model(), exports_model));
452250
+ const { getMainLoopModel: getMainLoopModel2 } = await Promise.resolve().then(() => (init_model(), exports_model));
452230
452251
  const { default: axios2 } = await Promise.resolve().then(() => (init_axios2(), exports_axios));
452231
452252
  const accessToken = getAccessToken?.() ?? getVivusAIOAuthTokens2()?.accessToken;
452232
452253
  if (!accessToken) {
@@ -452288,7 +452309,7 @@ async function createBridgeSession({
452288
452309
  session_context: {
452289
452310
  sources: gitSource ? [gitSource] : [],
452290
452311
  outcomes: gitOutcome ? [gitOutcome] : [],
452291
- model: getMainLoopModel3()
452312
+ model: getMainLoopModel2()
452292
452313
  },
452293
452314
  environment_id: environmentId,
452294
452315
  source: "remote-control",
@@ -453048,7 +453069,7 @@ function getRecentActivitySync() {
453048
453069
  return cachedActivity;
453049
453070
  }
453050
453071
  function getLogoDisplayData() {
453051
- const version2 = process.env.DEMO_VERSION ?? "1.1.69+1109e06";
453072
+ const version2 = process.env.DEMO_VERSION ?? "1.1.71+ebce6e4";
453052
453073
  const serverUrl = getDirectConnectServerUrl();
453053
453074
  const displayPath = process.env.DEMO_VERSION ? "/code/vivus" : getDisplayPath(getCwd());
453054
453075
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -454575,7 +454596,7 @@ function LogoV2() {
454575
454596
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
454576
454597
  t2 = () => {
454577
454598
  const currentConfig = getGlobalConfig();
454578
- if (currentConfig.lastReleaseNotesSeen === "1.1.69+1109e06") {
454599
+ if (currentConfig.lastReleaseNotesSeen === "1.1.71+ebce6e4") {
454579
454600
  return;
454580
454601
  }
454581
454602
  saveGlobalConfig(_temp329);
@@ -455251,12 +455272,12 @@ function LogoV2() {
455251
455272
  return t41;
455252
455273
  }
455253
455274
  function _temp329(current) {
455254
- if (current.lastReleaseNotesSeen === "1.1.69+1109e06") {
455275
+ if (current.lastReleaseNotesSeen === "1.1.71+ebce6e4") {
455255
455276
  return current;
455256
455277
  }
455257
455278
  return {
455258
455279
  ...current,
455259
- lastReleaseNotesSeen: "1.1.69+1109e06"
455280
+ lastReleaseNotesSeen: "1.1.71+ebce6e4"
455260
455281
  };
455261
455282
  }
455262
455283
  function _temp245(s_0) {
@@ -481558,7 +481579,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
481558
481579
  smapsRollup,
481559
481580
  platform: process.platform,
481560
481581
  nodeVersion: process.version,
481561
- ccVersion: "1.1.69+1109e06"
481582
+ ccVersion: "1.1.71+ebce6e4"
481562
481583
  };
481563
481584
  }
481564
481585
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -482144,7 +482165,7 @@ var init_bridge_kick = __esm(() => {
482144
482165
  var call56 = async () => {
482145
482166
  return {
482146
482167
  type: "text",
482147
- value: `${"1.1.69+1109e06"} (built ${"2026-10-15T21:15:23.150Z"})`
482168
+ value: `${"1.1.71+ebce6e4"} (built ${"2026-10-15T22:23:37.900Z"})`
482148
482169
  };
482149
482170
  }, version2, version_default;
482150
482171
  var init_version = __esm(() => {
@@ -491464,7 +491485,7 @@ function generateHtmlReport(data, insights) {
491464
491485
  </html>`;
491465
491486
  }
491466
491487
  function buildExportData(data, insights, facets, remoteStats) {
491467
- const version3 = typeof MACRO !== "undefined" ? "1.1.69+1109e06" : "unknown";
491488
+ const version3 = typeof MACRO !== "undefined" ? "1.1.71+ebce6e4" : "unknown";
491468
491489
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
491469
491490
  const facets_summary = {
491470
491491
  total: facets.size,
@@ -495576,7 +495597,7 @@ var init_sessionStorage = __esm(() => {
495576
495597
  init_settings2();
495577
495598
  init_slowOperations();
495578
495599
  init_uuid();
495579
- VERSION5 = typeof MACRO !== "undefined" ? "1.1.69+1109e06" : "unknown";
495600
+ VERSION5 = typeof MACRO !== "undefined" ? "1.1.71+ebce6e4" : "unknown";
495580
495601
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
495581
495602
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
495582
495603
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -498448,7 +498469,7 @@ function buildSystemInitMessage(inputs) {
498448
498469
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
498449
498470
  apiKeySource: getAnthropicApiKeyWithSource().source,
498450
498471
  betas: getSdkBetas(),
498451
- vivus_code_version: "1.1.69+1109e06",
498472
+ vivus_code_version: "1.1.71+ebce6e4",
498452
498473
  output_style: outputStyle2,
498453
498474
  agents: inputs.agents.map((agent) => agent.agentType),
498454
498475
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
@@ -513160,7 +513181,7 @@ var init_useVoiceEnabled = __esm(() => {
513160
513181
  function getSemverPart(version3) {
513161
513182
  return `${import_semver12.major(version3, { loose: true })}.${import_semver12.minor(version3, { loose: true })}.${import_semver12.patch(version3, { loose: true })}`;
513162
513183
  }
513163
- function useUpdateNotification(updatedVersion, initialVersion = "1.1.69+1109e06") {
513184
+ function useUpdateNotification(updatedVersion, initialVersion = "1.1.71+ebce6e4") {
513164
513185
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react228.useState(() => getSemverPart(initialVersion));
513165
513186
  if (!updatedVersion) {
513166
513187
  return null;
@@ -513200,7 +513221,7 @@ function AutoUpdater({
513200
513221
  return;
513201
513222
  }
513202
513223
  if (false) {}
513203
- const currentVersion = "1.1.69+1109e06";
513224
+ const currentVersion = "1.1.71+ebce6e4";
513204
513225
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
513205
513226
  let latestVersion = await getLatestVersion(channel);
513206
513227
  const isDisabled = isAutoUpdaterDisabled();
@@ -513413,12 +513434,12 @@ function NativeAutoUpdater({
513413
513434
  logEvent("tengu_native_auto_updater_start", {});
513414
513435
  try {
513415
513436
  const maxVersion = await getMaxVersion();
513416
- if (maxVersion && gt("1.1.69+1109e06", maxVersion)) {
513437
+ if (maxVersion && gt("1.1.71+ebce6e4", maxVersion)) {
513417
513438
  const msg = await getMaxVersionMessage();
513418
513439
  setMaxVersionIssue(msg ?? "affects your version");
513419
513440
  }
513420
513441
  const result = await installLatest(channel);
513421
- const currentVersion = "1.1.69+1109e06";
513442
+ const currentVersion = "1.1.71+ebce6e4";
513422
513443
  const latencyMs = Date.now() - startTime;
513423
513444
  if (result.lockFailed) {
513424
513445
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -513555,17 +513576,17 @@ function PackageManagerAutoUpdater(t0) {
513555
513576
  const maxVersion = await getMaxVersion();
513556
513577
  if (maxVersion && latest && gt(latest, maxVersion)) {
513557
513578
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
513558
- if (gte("1.1.69+1109e06", maxVersion)) {
513559
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.69+1109e06"} is already at or above maxVersion ${maxVersion}, skipping update`);
513579
+ if (gte("1.1.71+ebce6e4", maxVersion)) {
513580
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.71+ebce6e4"} is already at or above maxVersion ${maxVersion}, skipping update`);
513560
513581
  setUpdateAvailable(false);
513561
513582
  return;
513562
513583
  }
513563
513584
  latest = maxVersion;
513564
513585
  }
513565
- const hasUpdate = latest && !gte("1.1.69+1109e06", latest) && !shouldSkipVersion(latest);
513586
+ const hasUpdate = latest && !gte("1.1.71+ebce6e4", latest) && !shouldSkipVersion(latest);
513566
513587
  setUpdateAvailable(!!hasUpdate);
513567
513588
  if (hasUpdate) {
513568
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.69+1109e06"} -> ${latest}`);
513589
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.71+ebce6e4"} -> ${latest}`);
513569
513590
  }
513570
513591
  };
513571
513592
  $2[0] = t1;
@@ -513599,7 +513620,7 @@ function PackageManagerAutoUpdater(t0) {
513599
513620
  wrap: "truncate",
513600
513621
  children: [
513601
513622
  "currentVersion: ",
513602
- "1.1.69+1109e06"
513623
+ "1.1.71+ebce6e4"
513603
513624
  ]
513604
513625
  }, undefined, true, undefined, this);
513605
513626
  $2[3] = verbose;
@@ -521783,7 +521804,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
521783
521804
  project_dir: getOriginalCwd(),
521784
521805
  added_dirs: addedDirs
521785
521806
  },
521786
- version: "1.1.69+1109e06",
521807
+ version: "1.1.71+ebce6e4",
521787
521808
  output_style: {
521788
521809
  name: outputStyleName
521789
521810
  },
@@ -533437,7 +533458,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
533437
533458
  } catch {}
533438
533459
  const data = {
533439
533460
  trigger,
533440
- version: "1.1.69+1109e06",
533461
+ version: "1.1.71+ebce6e4",
533441
533462
  platform: process.platform,
533442
533463
  transcript,
533443
533464
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -544908,7 +544929,7 @@ function WelcomeV2() {
544908
544929
  dimColor: true,
544909
544930
  children: [
544910
544931
  "v",
544911
- "1.1.69+1109e06",
544932
+ "1.1.71+ebce6e4",
544912
544933
  " "
544913
544934
  ]
544914
544935
  }, undefined, true, undefined, this)
@@ -545108,7 +545129,7 @@ function WelcomeV2() {
545108
545129
  dimColor: true,
545109
545130
  children: [
545110
545131
  "v",
545111
- "1.1.69+1109e06",
545132
+ "1.1.71+ebce6e4",
545112
545133
  " "
545113
545134
  ]
545114
545135
  }, undefined, true, undefined, this)
@@ -545334,7 +545355,7 @@ function AppleTerminalWelcomeV2(t0) {
545334
545355
  dimColor: true,
545335
545356
  children: [
545336
545357
  "v",
545337
- "1.1.69+1109e06",
545358
+ "1.1.71+ebce6e4",
545338
545359
  " "
545339
545360
  ]
545340
545361
  }, undefined, true, undefined, this);
@@ -545588,7 +545609,7 @@ function AppleTerminalWelcomeV2(t0) {
545588
545609
  dimColor: true,
545589
545610
  children: [
545590
545611
  "v",
545591
- "1.1.69+1109e06",
545612
+ "1.1.71+ebce6e4",
545592
545613
  " "
545593
545614
  ]
545594
545615
  }, undefined, true, undefined, this);
@@ -548661,7 +548682,7 @@ function appendToLog(path25, message) {
548661
548682
  cwd: getFsImplementation().cwd(),
548662
548683
  userType: process.env.USER_TYPE,
548663
548684
  sessionId: getSessionId(),
548664
- version: "1.1.69+1109e06"
548685
+ version: "1.1.71+ebce6e4"
548665
548686
  };
548666
548687
  getLogWriter(path25).write(messageWithTimestamp);
548667
548688
  }
@@ -552656,8 +552677,8 @@ async function getEnvLessBridgeConfig() {
552656
552677
  }
552657
552678
  async function checkEnvLessBridgeMinVersion() {
552658
552679
  const cfg = await getEnvLessBridgeConfig();
552659
- if (cfg.min_version && lt("1.1.69+1109e06", cfg.min_version)) {
552660
- return `Your version of Vivus (${"1.1.69+1109e06"}) is too old for Remote Control.
552680
+ if (cfg.min_version && lt("1.1.71+ebce6e4", cfg.min_version)) {
552681
+ return `Your version of Vivus (${"1.1.71+ebce6e4"}) is too old for Remote Control.
552661
552682
  Version ${cfg.min_version} or higher is required. Run \`vivus update\` to update.`;
552662
552683
  }
552663
552684
  return null;
@@ -553131,7 +553152,7 @@ async function initBridgeCore(params) {
553131
553152
  const rawApi = createBridgeApiClient({
553132
553153
  baseUrl,
553133
553154
  getAccessToken,
553134
- runnerVersion: "1.1.69+1109e06",
553155
+ runnerVersion: "1.1.71+ebce6e4",
553135
553156
  onDebug: logForDebugging,
553136
553157
  onAuth401,
553137
553158
  getTrustedDeviceToken
@@ -558810,7 +558831,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
558810
558831
  setCwd(cwd3);
558811
558832
  const server = new Server({
558812
558833
  name: "vivus/tengu",
558813
- version: "1.1.69+1109e06"
558834
+ version: "1.1.71+ebce6e4"
558814
558835
  }, {
558815
558836
  capabilities: {
558816
558837
  tools: {}
@@ -560543,7 +560564,7 @@ __export(exports_update, {
560543
560564
  });
560544
560565
  async function update() {
560545
560566
  logEvent("tengu_update_check", {});
560546
- writeToStdout(`Current version: ${"1.1.69+1109e06"}
560567
+ writeToStdout(`Current version: ${"1.1.71+ebce6e4"}
560547
560568
  `);
560548
560569
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
560549
560570
  writeToStdout(`Checking for updates to ${channel} version...
@@ -560618,8 +560639,8 @@ async function update() {
560618
560639
  writeToStdout(`Vivus is managed by Homebrew.
560619
560640
  `);
560620
560641
  const latest = await getLatestVersion(channel);
560621
- if (latest && !gte("1.1.69+1109e06", latest)) {
560622
- writeToStdout(`Update available: ${"1.1.69+1109e06"} → ${latest}
560642
+ if (latest && !gte("1.1.71+ebce6e4", latest)) {
560643
+ writeToStdout(`Update available: ${"1.1.71+ebce6e4"} → ${latest}
560623
560644
  `);
560624
560645
  writeToStdout(`
560625
560646
  `);
@@ -560635,8 +560656,8 @@ async function update() {
560635
560656
  writeToStdout(`Vivus is managed by winget.
560636
560657
  `);
560637
560658
  const latest = await getLatestVersion(channel);
560638
- if (latest && !gte("1.1.69+1109e06", latest)) {
560639
- writeToStdout(`Update available: ${"1.1.69+1109e06"} → ${latest}
560659
+ if (latest && !gte("1.1.71+ebce6e4", latest)) {
560660
+ writeToStdout(`Update available: ${"1.1.71+ebce6e4"} → ${latest}
560640
560661
  `);
560641
560662
  writeToStdout(`
560642
560663
  `);
@@ -560652,8 +560673,8 @@ async function update() {
560652
560673
  writeToStdout(`Vivus is managed by apk.
560653
560674
  `);
560654
560675
  const latest = await getLatestVersion(channel);
560655
- if (latest && !gte("1.1.69+1109e06", latest)) {
560656
- writeToStdout(`Update available: ${"1.1.69+1109e06"} → ${latest}
560676
+ if (latest && !gte("1.1.71+ebce6e4", latest)) {
560677
+ writeToStdout(`Update available: ${"1.1.71+ebce6e4"} → ${latest}
560657
560678
  `);
560658
560679
  writeToStdout(`
560659
560680
  `);
@@ -560718,11 +560739,11 @@ async function update() {
560718
560739
  `);
560719
560740
  await gracefulShutdown(1);
560720
560741
  }
560721
- if (result.latestVersion === "1.1.69+1109e06") {
560722
- writeToStdout(source_default.green(`Vivus is up to date (${"1.1.69+1109e06"})`) + `
560742
+ if (result.latestVersion === "1.1.71+ebce6e4") {
560743
+ writeToStdout(source_default.green(`Vivus is up to date (${"1.1.71+ebce6e4"})`) + `
560723
560744
  `);
560724
560745
  } else {
560725
- writeToStdout(source_default.green(`Successfully updated from ${"1.1.69+1109e06"} to version ${result.latestVersion}`) + `
560746
+ writeToStdout(source_default.green(`Successfully updated from ${"1.1.71+ebce6e4"} to version ${result.latestVersion}`) + `
560726
560747
  `);
560727
560748
  await regenerateCompletionCache();
560728
560749
  }
@@ -560779,12 +560800,12 @@ async function update() {
560779
560800
  `);
560780
560801
  await gracefulShutdown(1);
560781
560802
  }
560782
- if (latestVersion === "1.1.69+1109e06") {
560783
- writeToStdout(source_default.green(`Vivus is up to date (${"1.1.69+1109e06"})`) + `
560803
+ if (latestVersion === "1.1.71+ebce6e4") {
560804
+ writeToStdout(source_default.green(`Vivus is up to date (${"1.1.71+ebce6e4"})`) + `
560784
560805
  `);
560785
560806
  await gracefulShutdown(0);
560786
560807
  }
560787
- writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.69+1109e06"})
560808
+ writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.71+ebce6e4"})
560788
560809
  `);
560789
560810
  writeToStdout(`Installing update...
560790
560811
  `);
@@ -560829,7 +560850,7 @@ async function update() {
560829
560850
  logForDebugging(`update: Installation status: ${status2}`);
560830
560851
  switch (status2) {
560831
560852
  case "success":
560832
- writeToStdout(source_default.green(`Successfully updated from ${"1.1.69+1109e06"} to version ${latestVersion}`) + `
560853
+ writeToStdout(source_default.green(`Successfully updated from ${"1.1.71+ebce6e4"} to version ${latestVersion}`) + `
560833
560854
  `);
560834
560855
  await regenerateCompletionCache();
560835
560856
  break;
@@ -561803,7 +561824,7 @@ function completeOnboarding() {
561803
561824
  saveGlobalConfig((current) => ({
561804
561825
  ...current,
561805
561826
  hasCompletedOnboarding: true,
561806
- lastOnboardingVersion: "1.1.69+1109e06"
561827
+ lastOnboardingVersion: "1.1.71+ebce6e4"
561807
561828
  }));
561808
561829
  }
561809
561830
  function showDialog(root2, renderer) {
@@ -565939,7 +565960,7 @@ ${customInstructions}` : customInstructions;
565939
565960
  }
565940
565961
  }
565941
565962
  logForDiagnosticsNoPII("info", "started", {
565942
- version: "1.1.69+1109e06",
565963
+ version: "1.1.71+ebce6e4",
565943
565964
  is_native_binary: isInBundledMode()
565944
565965
  });
565945
565966
  registerCleanup(async () => {
@@ -566737,7 +566758,7 @@ Usage: vivus --remote "your task description"`, () => gracefulShutdown(1));
566737
566758
  pendingHookMessages
566738
566759
  }, renderAndRun);
566739
566760
  }
566740
- }).version("1.1.69+1109e06 (Vivus)", "-v, --version", "Output the version number");
566761
+ }).version("1.1.71+ebce6e4 (Vivus)", "-v, --version", "Output the version number");
566741
566762
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
566742
566763
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
566743
566764
  if (canUserConfigureAdvisor()) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vivus-agent",
3
- "version": "1.1.69",
3
+ "version": "1.1.71",
4
4
  "description": "Vivus — local AI coding agent",
5
5
  "type": "module",
6
6
  "main": "dist/main.js",