vivus-agent 1.1.53 → 1.1.55

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 +155 -111
  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-06T11:56:17.019Z
3
+ // Built from source at 2026-10-06T12:56:42.451Z
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.53+588502e"}`;
108231
+ return `vivus/${"1.1.55+6225988"}`;
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.53+588502e"} (${process.env.USER_TYPE}, ${process.env.VIVUS_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
108253
+ return `vivus-cli/${"1.1.55+6225988"} (${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.53+588502e"}${suffix}`;
108267
+ return `vivus/${"1.1.55+6225988"}${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.53+588502e",
108405
+ appVersion: "1.1.55+6225988",
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.53+588502e".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
119716
+ const match = "1.1.55+6225988".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.53+588502e",
119756
+ version: "1.1.55+6225988",
119757
119757
  versionBase: getVersionBase(),
119758
- buildTime: "2026-10-06T11:56:16.370Z",
119758
+ buildTime: "2026-10-06T12:56:41.922Z",
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.53+588502e"
120426
+ [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.1.55+6225988"
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.53+588502e");
120453
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.vivus_code.events", "1.1.55+6225988");
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.53+588502e"}.${fingerprint}`;
162673
+ const version2 = `${"1.1.55+6225988"}.${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.53+588502e";
175836
+ attributes["app.version"] = "1.1.55+6225988";
175837
175837
  }
175838
175838
  const oauthAccount = getOauthAccountInfo();
175839
175839
  if (oauthAccount) {
@@ -242452,7 +242452,7 @@ function computeFingerprint(messageText, version2) {
242452
242452
  }
242453
242453
  function computeFingerprintFromMessages(messages) {
242454
242454
  const firstMessageText = extractFirstMessageText(messages);
242455
- return computeFingerprint(firstMessageText, "1.1.53+588502e");
242455
+ return computeFingerprint(firstMessageText, "1.1.55+6225988");
242456
242456
  }
242457
242457
  var FINGERPRINT_SALT = "59cf53e54c78";
242458
242458
  var init_fingerprint = () => {};
@@ -242494,7 +242494,7 @@ async function sideQuery(opts) {
242494
242494
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
242495
242495
  }
242496
242496
  const messageText = extractFirstUserMessageText(messages);
242497
- const fingerprint = computeFingerprint(messageText, "1.1.53+588502e");
242497
+ const fingerprint = computeFingerprint(messageText, "1.1.55+6225988");
242498
242498
  const attributionHeader = getAttributionHeader(fingerprint);
242499
242499
  const systemBlocks = [
242500
242500
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -243646,7 +243646,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
243646
243646
  const client2 = new Client({
243647
243647
  name: "vivus",
243648
243648
  title: "Vivus",
243649
- version: "1.1.53+588502e",
243649
+ version: "1.1.55+6225988",
243650
243650
  description: "Anthropic's agentic coding tool",
243651
243651
  websiteUrl: PRODUCT_URL
243652
243652
  }, {
@@ -244000,7 +244000,7 @@ var init_client6 = __esm(() => {
244000
244000
  const client2 = new Client({
244001
244001
  name: "vivus",
244002
244002
  title: "Vivus",
244003
- version: "1.1.53+588502e",
244003
+ version: "1.1.55+6225988",
244004
244004
  description: "Anthropic's agentic coding tool",
244005
244005
  websiteUrl: PRODUCT_URL
244006
244006
  }, {
@@ -246061,7 +246061,7 @@ function getInstallationEnv() {
246061
246061
  return;
246062
246062
  }
246063
246063
  function getVivusCodeVersion() {
246064
- return "1.1.53+588502e";
246064
+ return "1.1.55+6225988";
246065
246065
  }
246066
246066
  async function getInstalledVSCodeExtensionVersion(command) {
246067
246067
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -302148,7 +302148,7 @@ async function initializeBetaTracing(resource) {
302148
302148
  });
302149
302149
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
302150
302150
  setLoggerProvider(loggerProvider);
302151
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.53+588502e");
302151
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.55+6225988");
302152
302152
  setEventLogger(eventLogger);
302153
302153
  process.on("beforeExit", async () => {
302154
302154
  await loggerProvider?.forceFlush();
@@ -302188,7 +302188,7 @@ async function initializeTelemetry() {
302188
302188
  const platform5 = getPlatform();
302189
302189
  const baseAttributes = {
302190
302190
  [import_semantic_conventions2.ATTR_SERVICE_NAME]: "vivus",
302191
- [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.1.53+588502e"
302191
+ [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.1.55+6225988"
302192
302192
  };
302193
302193
  if (platform5 === "wsl") {
302194
302194
  const wslVersion = getWslVersion();
@@ -302233,7 +302233,7 @@ async function initializeTelemetry() {
302233
302233
  } catch {}
302234
302234
  };
302235
302235
  registerCleanup(shutdownTelemetry2);
302236
- return meterProvider2.getMeter("com.anthropic.vivus_code", "1.1.53+588502e");
302236
+ return meterProvider2.getMeter("com.anthropic.vivus_code", "1.1.55+6225988");
302237
302237
  }
302238
302238
  const meterProvider = new import_sdk_metrics2.MeterProvider({
302239
302239
  resource,
@@ -302253,7 +302253,7 @@ async function initializeTelemetry() {
302253
302253
  });
302254
302254
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
302255
302255
  setLoggerProvider(loggerProvider);
302256
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.53+588502e");
302256
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.55+6225988");
302257
302257
  setEventLogger(eventLogger);
302258
302258
  logForDebugging("[3P telemetry] Event logger set successfully");
302259
302259
  process.on("beforeExit", async () => {
@@ -302315,7 +302315,7 @@ Current timeout: ${timeoutMs}ms
302315
302315
  }
302316
302316
  };
302317
302317
  registerCleanup(shutdownTelemetry);
302318
- return meterProvider.getMeter("com.anthropic.vivus_code", "1.1.53+588502e");
302318
+ return meterProvider.getMeter("com.anthropic.vivus_code", "1.1.55+6225988");
302319
302319
  }
302320
302320
  async function flushTelemetry() {
302321
302321
  const meterProvider = getMeterProvider();
@@ -303001,9 +303001,9 @@ async function assertMinVersion() {
303001
303001
  if (false) {}
303002
303002
  try {
303003
303003
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
303004
- if (versionConfig.minVersion && lt("1.1.53+588502e", versionConfig.minVersion)) {
303004
+ if (versionConfig.minVersion && lt("1.1.55+6225988", versionConfig.minVersion)) {
303005
303005
  console.error(`
303006
- It looks like your version of Vivus (${"1.1.53+588502e"}) needs an update.
303006
+ It looks like your version of Vivus (${"1.1.55+6225988"}) needs an update.
303007
303007
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
303008
303008
 
303009
303009
  To update, please run:
@@ -303219,7 +303219,7 @@ async function installGlobalPackage(specificVersion) {
303219
303219
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
303220
303220
  logEvent("tengu_auto_updater_lock_contention", {
303221
303221
  pid: process.pid,
303222
- currentVersion: "1.1.53+588502e"
303222
+ currentVersion: "1.1.55+6225988"
303223
303223
  });
303224
303224
  return "in_progress";
303225
303225
  }
@@ -303228,7 +303228,7 @@ async function installGlobalPackage(specificVersion) {
303228
303228
  if (!env3.isRunningWithBun() && env3.isNpmFromWindowsPath()) {
303229
303229
  logError2(new Error("Windows NPM detected in WSL environment"));
303230
303230
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
303231
- currentVersion: "1.1.53+588502e"
303231
+ currentVersion: "1.1.55+6225988"
303232
303232
  });
303233
303233
  console.error(`
303234
303234
  Error: Windows NPM detected in WSL
@@ -303761,7 +303761,7 @@ function detectLinuxGlobPatternWarnings() {
303761
303761
  }
303762
303762
  async function getDoctorDiagnostic() {
303763
303763
  const installationType = await getCurrentInstallationType();
303764
- const version2 = typeof MACRO !== "undefined" ? "1.1.53+588502e" : "unknown";
303764
+ const version2 = typeof MACRO !== "undefined" ? "1.1.55+6225988" : "unknown";
303765
303765
  const installationPath = await getInstallationPath();
303766
303766
  const invokedBinary = getInvokedBinary();
303767
303767
  const multipleInstallations = await detectMultipleInstallations();
@@ -304694,8 +304694,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
304694
304694
  const maxVersion = await getMaxVersion();
304695
304695
  if (maxVersion && gt(version2, maxVersion)) {
304696
304696
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
304697
- if (gte("1.1.53+588502e", maxVersion)) {
304698
- logForDebugging(`Native installer: current version ${"1.1.53+588502e"} is already at or above maxVersion ${maxVersion}, skipping update`);
304697
+ if (gte("1.1.55+6225988", maxVersion)) {
304698
+ logForDebugging(`Native installer: current version ${"1.1.55+6225988"} is already at or above maxVersion ${maxVersion}, skipping update`);
304699
304699
  logEvent("tengu_native_update_skipped_max_version", {
304700
304700
  latency_ms: Date.now() - startTime,
304701
304701
  max_version: maxVersion,
@@ -304706,7 +304706,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
304706
304706
  version2 = maxVersion;
304707
304707
  }
304708
304708
  }
304709
- if (!forceReinstall && version2 === "1.1.53+588502e" && await versionIsAvailable(version2) && await isPossibleVivusBinary(executablePath)) {
304709
+ if (!forceReinstall && version2 === "1.1.55+6225988" && await versionIsAvailable(version2) && await isPossibleVivusBinary(executablePath)) {
304710
304710
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
304711
304711
  logEvent("tengu_native_update_complete", {
304712
304712
  latency_ms: Date.now() - startTime,
@@ -328144,24 +328144,28 @@ function UserToolErrorMessage(t0) {
328144
328144
  return t12;
328145
328145
  }
328146
328146
  if (typeof param.content === "string" && isClassifierDenial(param.content)) {
328147
- let t12;
328148
- if ($2[6] === Symbol.for("react.memo_cache_sentinel")) {
328149
- t12 = /* @__PURE__ */ jsx_dev_runtime127.jsxDEV(MessageResponse, {
328150
- height: 1,
328151
- children: /* @__PURE__ */ jsx_dev_runtime127.jsxDEV(ThemedText, {
328152
- dimColor: true,
328153
- children: [
328154
- "Denied by auto mode classifier ",
328155
- BULLET_OPERATOR,
328156
- " /feedback if incorrect"
328157
- ]
328158
- }, undefined, true, undefined, this)
328159
- }, undefined, false, undefined, this);
328160
- $2[6] = t12;
328161
- } else {
328162
- t12 = $2[6];
328163
- }
328164
- return t12;
328147
+ const reason = extractYoloRejectionReason(param.content);
328148
+ return /* @__PURE__ */ jsx_dev_runtime127.jsxDEV(MessageResponse, {
328149
+ height: 1,
328150
+ children: /* @__PURE__ */ jsx_dev_runtime127.jsxDEV(ThemedText, {
328151
+ dimColor: true,
328152
+ children: [
328153
+ /* @__PURE__ */ jsx_dev_runtime127.jsxDEV(ThemedText, {
328154
+ color: "error",
328155
+ children: "Denied by auto mode classifier"
328156
+ }, undefined, false, undefined, this),
328157
+ reason ? ` · ${reason}` : "",
328158
+ /* @__PURE__ */ jsx_dev_runtime127.jsxDEV(ThemedText, {
328159
+ dimColor: true,
328160
+ children: [
328161
+ " ",
328162
+ BULLET_OPERATOR,
328163
+ " /feedback if incorrect"
328164
+ ]
328165
+ }, undefined, true, undefined, this)
328166
+ ]
328167
+ }, undefined, true, undefined, this)
328168
+ }, undefined, false, undefined, this);
328165
328169
  }
328166
328170
  let t1;
328167
328171
  if ($2[7] !== isTranscriptMode || $2[8] !== param.content || $2[9] !== progressMessagesForMessage || $2[10] !== tool || $2[11] !== tools || $2[12] !== verbose) {
@@ -328340,8 +328344,15 @@ function UserToolSuccessMessage({
328340
328344
  height: 1,
328341
328345
  children: /* @__PURE__ */ jsx_dev_runtime129.jsxDEV(ThemedText, {
328342
328346
  dimColor: true,
328343
- children: "Allowed by auto mode classifier"
328344
- }, undefined, false, undefined, this)
328347
+ children: [
328348
+ /* @__PURE__ */ jsx_dev_runtime129.jsxDEV(ThemedText, {
328349
+ color: "success",
328350
+ children: figures_default.tick
328351
+ }, undefined, false, undefined, this),
328352
+ " Allowed by auto mode classifier · ",
328353
+ yoloReason
328354
+ ]
328355
+ }, undefined, true, undefined, this)
328345
328356
  }, undefined, false, undefined, this)
328346
328357
  ]
328347
328358
  }, undefined, true, undefined, this),
@@ -328359,6 +328370,7 @@ function UserToolSuccessMessage({
328359
328370
  }
328360
328371
  var React38, jsx_dev_runtime129;
328361
328372
  var init_UserToolSuccessMessage = __esm(() => {
328373
+ init_figures();
328362
328374
  init_SentryErrorBoundary();
328363
328375
  init_ink2();
328364
328376
  init_AppState();
@@ -357425,6 +357437,21 @@ function checkRepetition(toolName, input) {
357425
357437
  }
357426
357438
  return { action: "allow" };
357427
357439
  }
357440
+ function extractBashFileReadTarget(command) {
357441
+ const trimmed = command.trim();
357442
+ if (!SIMPLE_FILE_READ_COMMAND_RE.test(trimmed))
357443
+ return;
357444
+ if (UNSAFE_COMMAND_CHARS_RE.test(trimmed))
357445
+ return;
357446
+ if (/^sed\b/i.test(trimmed) && SED_INPLACE_RE.test(trimmed))
357447
+ return;
357448
+ const tokens = trimmed.split(/\s+/);
357449
+ const last2 = tokens[tokens.length - 1];
357450
+ if (!last2 || last2.startsWith("-") || /^\d+$/.test(last2) || SED_RANGE_ONLY_RE.test(last2)) {
357451
+ return;
357452
+ }
357453
+ return last2.replace(/^['"]|['"]$/g, "");
357454
+ }
357428
357455
  function checkFileReread(filePath) {
357429
357456
  if (!fileReadCounts.has(filePath) && fileReadCounts.size >= MAX_TRACKED_FILES) {
357430
357457
  const oldest = fileReadCounts.keys().next().value;
@@ -357456,11 +357483,15 @@ function resetRepetitionTracker() {
357456
357483
  recentCalls.clear();
357457
357484
  fileReadCounts.clear();
357458
357485
  }
357459
- var WARN_THRESHOLD = 2, BLOCK_THRESHOLD = 4, recentCalls, MAX_TRACKED_HASHES = 50, COSMETIC_INPUT_KEYS, FILE_REREAD_WARN_THRESHOLD = 6, FILE_REREAD_BLOCK_THRESHOLD = 10, MAX_TRACKED_FILES = 50, fileReadCounts;
357486
+ var WARN_THRESHOLD = 2, BLOCK_THRESHOLD = 4, recentCalls, MAX_TRACKED_HASHES = 50, COSMETIC_INPUT_KEYS, SIMPLE_FILE_READ_COMMAND_RE, UNSAFE_COMMAND_CHARS_RE, SED_RANGE_ONLY_RE, SED_INPLACE_RE, FILE_REREAD_WARN_THRESHOLD = 6, FILE_REREAD_BLOCK_THRESHOLD = 10, MAX_TRACKED_FILES = 50, fileReadCounts;
357460
357487
  var init_repetitionTracker = __esm(() => {
357461
357488
  init_prompt5();
357462
357489
  recentCalls = new Map;
357463
357490
  COSMETIC_INPUT_KEYS = new Set(["description", "timeout"]);
357491
+ SIMPLE_FILE_READ_COMMAND_RE = /^(cat|bat|sed|head|tail|less|more|Get-Content)\b/i;
357492
+ UNSAFE_COMMAND_CHARS_RE = /[|<>;`]|&&|\$\(/;
357493
+ SED_RANGE_ONLY_RE = /^['"]?-?\d+(?:,\$?\d*)?p['"]?$/;
357494
+ SED_INPLACE_RE = /(^|\s)(-i\S*|--in-place\S*)(\s|$)/;
357464
357495
  fileReadCounts = new Map;
357465
357496
  });
357466
357497
 
@@ -358519,8 +358550,14 @@ async function* runToolUse(toolUse, assistantMessage, canUseTool, toolUseContext
358519
358550
  }
358520
358551
  const toolInput = toolUse.input;
358521
358552
  let repetitionVerdict = checkRepetition(tool.name, toolInput);
358553
+ let fileReadTarget;
358522
358554
  if (tool.name === FILE_READ_TOOL_NAME && typeof toolInput.file_path === "string") {
358523
- const fileVerdict = checkFileReread(toolInput.file_path);
358555
+ fileReadTarget = toolInput.file_path;
358556
+ } else if ((tool.name === BASH_TOOL_NAME || tool.name === POWERSHELL_TOOL_NAME) && typeof toolInput.command === "string") {
358557
+ fileReadTarget = extractBashFileReadTarget(toolInput.command);
358558
+ }
358559
+ if (fileReadTarget) {
358560
+ const fileVerdict = checkFileReread(fileReadTarget);
358524
358561
  const severity = { allow: 0, warn: 1, block: 2 };
358525
358562
  if (severity[fileVerdict.action] > severity[repetitionVerdict.action]) {
358526
358563
  repetitionVerdict = fileVerdict;
@@ -362080,7 +362117,7 @@ function getAnthropicEnvMetadata() {
362080
362117
  function getBuildAgeMinutes() {
362081
362118
  if (false)
362082
362119
  ;
362083
- const buildTime = new Date("2026-10-06T11:56:16.370Z").getTime();
362120
+ const buildTime = new Date("2026-10-06T12:56:41.922Z").getTime();
362084
362121
  if (isNaN(buildTime))
362085
362122
  return;
362086
362123
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -397190,11 +397227,18 @@ function DONT_ASK_REJECT_MESSAGE(toolName) {
397190
397227
  function isClassifierDenial(content) {
397191
397228
  return content.startsWith(AUTO_MODE_REJECTION_PREFIX);
397192
397229
  }
397230
+ function extractYoloRejectionReason(content) {
397231
+ if (!isClassifierDenial(content))
397232
+ return;
397233
+ const rest = content.slice(AUTO_MODE_REJECTION_PREFIX.length);
397234
+ const idx = rest.indexOf(AUTO_MODE_REJECTION_CONTINUE_MARKER);
397235
+ return (idx === -1 ? rest : rest.slice(0, idx)).trim();
397236
+ }
397193
397237
  function buildYoloRejectionMessage(reason) {
397194
397238
  const prefix = AUTO_MODE_REJECTION_PREFIX;
397195
397239
  const ruleHint = `To allow this type of action in the future, the user can add a Bash permission rule to their settings.`;
397196
397240
  const retryHint = `If you believe this action is necessary, use ${ASK_USER_QUESTION_TOOL_NAME} to ask the user specifically whether to retry it ` + `(don't bury this in an unrelated question). If they say yes, retry the exact same action — retrying a classifier-denied action ` + `up to a few times (after explicit user confirmation) is the correct way to reach a real permission prompt, unlike blindly retrying ` + `a failed execution.`;
397197
- return `${prefix}${reason}. ` + `If you have other tasks that don't depend on this action, continue working on those. ` + `${DENIAL_WORKAROUND_GUIDANCE} ` + `${retryHint} ` + ruleHint;
397241
+ return `${prefix}${reason}${AUTO_MODE_REJECTION_CONTINUE_MARKER} that don't depend on this action, continue working on those. ` + `${DENIAL_WORKAROUND_GUIDANCE} ` + `${retryHint} ` + ruleHint;
397198
397242
  }
397199
397243
  function buildClassifierUnavailableMessage(toolName, classifierModel) {
397200
397244
  return `${classifierModel} is temporarily unavailable, so auto mode cannot determine the safety of ${toolName} right now. ` + `Wait briefly and then try this action again. ` + `If it keeps failing, continue with other tasks that don't require this action and come back to it later. ` + `Note: reading files, searching code, and other read-only operations do not require the classifier and can still be used.`;
@@ -400391,7 +400435,7 @@ Note: The user's next message may contain a correction or preference. Pay close
400391
400435
  `, PLAN_REJECTION_PREFIX = `The agent proposed a plan that was rejected by the user. The user chose to stay in plan mode rather than proceed with implementation.
400392
400436
 
400393
400437
  Rejected plan:
400394
- `, DENIAL_WORKAROUND_GUIDANCE, NO_RESPONSE_REQUESTED = "No response requested.", SYNTHETIC_TOOL_RESULT_PLACEHOLDER = "[Tool result missing due to internal error]", AUTO_MODE_REJECTION_PREFIX = "Permission for this action has been denied. Reason: ", SYNTHETIC_MODEL = "<synthetic>", SYNTHETIC_MESSAGES, EMPTY_LOOKUPS, EMPTY_STRING_SET, STRIPPED_TAGS_RE, PLAN_PHASE4_CONTROL = `### Phase 4: Final Plan
400438
+ `, DENIAL_WORKAROUND_GUIDANCE, NO_RESPONSE_REQUESTED = "No response requested.", SYNTHETIC_TOOL_RESULT_PLACEHOLDER = "[Tool result missing due to internal error]", AUTO_MODE_REJECTION_PREFIX = "Permission for this action has been denied. Reason: ", AUTO_MODE_REJECTION_CONTINUE_MARKER = ". If you have other tasks", SYNTHETIC_MODEL = "<synthetic>", SYNTHETIC_MESSAGES, EMPTY_LOOKUPS, EMPTY_STRING_SET, STRIPPED_TAGS_RE, PLAN_PHASE4_CONTROL = `### Phase 4: Final Plan
400395
400439
  Goal: Write your final plan to the plan file (the only file you can edit).
400396
400440
  - Begin with a **Context** section: explain why this change is being made — the problem or need it addresses, what prompted it, and the intended outcome
400397
400441
  - Include only your recommended approach, not all alternatives
@@ -410233,7 +410277,7 @@ var init_filesystem = __esm(() => {
410233
410277
  });
410234
410278
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
410235
410279
  const nonce = randomBytes17(16).toString("hex");
410236
- return join108(getVivusTempDir(), "bundled-skills", "1.1.53+588502e", nonce);
410280
+ return join108(getVivusTempDir(), "bundled-skills", "1.1.55+6225988", nonce);
410237
410281
  });
410238
410282
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
410239
410283
  });
@@ -411993,7 +412037,7 @@ function Feedback({
411993
412037
  platform: env3.platform,
411994
412038
  gitRepo: envInfo.isGit,
411995
412039
  terminal: env3.terminal,
411996
- version: "1.1.53+588502e",
412040
+ version: "1.1.55+6225988",
411997
412041
  transcript: normalizeMessagesForAPI(messages),
411998
412042
  errors: sanitizedErrors,
411999
412043
  lastApiRequest: getLastAPIRequest(),
@@ -412185,7 +412229,7 @@ function Feedback({
412185
412229
  ", ",
412186
412230
  env3.terminal,
412187
412231
  ", v",
412188
- "1.1.53+588502e"
412232
+ "1.1.55+6225988"
412189
412233
  ]
412190
412234
  }, undefined, true, undefined, this)
412191
412235
  ]
@@ -412291,7 +412335,7 @@ ${sanitizedDescription}
412291
412335
  ` + `**Environment Info**
412292
412336
  ` + `- Platform: ${env3.platform}
412293
412337
  ` + `- Terminal: ${env3.terminal}
412294
- ` + `- Version: ${"1.1.53+588502e"}
412338
+ ` + `- Version: ${"1.1.55+6225988"}
412295
412339
  ` + `- Feedback ID: ${feedbackId}
412296
412340
  ` + `
412297
412341
  **Errors**
@@ -415423,7 +415467,7 @@ function buildPrimarySection() {
415423
415467
  }, undefined, false, undefined, this);
415424
415468
  return [{
415425
415469
  label: "Version",
415426
- value: "1.1.53+588502e"
415470
+ value: "1.1.55+6225988"
415427
415471
  }, {
415428
415472
  label: "Session name",
415429
415473
  value: nameValue
@@ -419286,7 +419330,7 @@ function Config({
419286
419330
  }
419287
419331
  }, undefined, false, undefined, this)
419288
419332
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
419289
- currentVersion: "1.1.53+588502e",
419333
+ currentVersion: "1.1.55+6225988",
419290
419334
  onChoice: (choice) => {
419291
419335
  setShowSubmenu(null);
419292
419336
  setTabsHidden(false);
@@ -419298,7 +419342,7 @@ function Config({
419298
419342
  autoUpdatesChannel: "stable"
419299
419343
  };
419300
419344
  if (choice === "stay") {
419301
- newSettings.minimumVersion = "1.1.53+588502e";
419345
+ newSettings.minimumVersion = "1.1.55+6225988";
419302
419346
  }
419303
419347
  updateSettingsForSource("userSettings", newSettings);
419304
419348
  setSettingsData((prev_27) => ({
@@ -427493,7 +427537,7 @@ function HelpV2(t0) {
427493
427537
  let t6;
427494
427538
  if ($2[31] !== tabs) {
427495
427539
  t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
427496
- title: `Vivus v${"1.1.53+588502e"}`,
427540
+ title: `Vivus v${"1.1.55+6225988"}`,
427497
427541
  color: "professionalBlue",
427498
427542
  defaultTab: "general",
427499
427543
  children: tabs
@@ -451719,7 +451763,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
451719
451763
  return [];
451720
451764
  }
451721
451765
  }
451722
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.53+588502e") {
451766
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.55+6225988") {
451723
451767
  if (process.env.USER_TYPE === "ant") {
451724
451768
  const changelog = "";
451725
451769
  if (changelog) {
@@ -451746,7 +451790,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.53+58
451746
451790
  releaseNotes
451747
451791
  };
451748
451792
  }
451749
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.53+588502e") {
451793
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.55+6225988") {
451750
451794
  if (process.env.USER_TYPE === "ant") {
451751
451795
  const changelog = "";
451752
451796
  if (changelog) {
@@ -452916,7 +452960,7 @@ function getRecentActivitySync() {
452916
452960
  return cachedActivity;
452917
452961
  }
452918
452962
  function getLogoDisplayData() {
452919
- const version2 = process.env.DEMO_VERSION ?? "1.1.53+588502e";
452963
+ const version2 = process.env.DEMO_VERSION ?? "1.1.55+6225988";
452920
452964
  const serverUrl = getDirectConnectServerUrl();
452921
452965
  const displayPath = process.env.DEMO_VERSION ? "/code/vivus" : getDisplayPath(getCwd());
452922
452966
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -454443,7 +454487,7 @@ function LogoV2() {
454443
454487
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
454444
454488
  t2 = () => {
454445
454489
  const currentConfig = getGlobalConfig();
454446
- if (currentConfig.lastReleaseNotesSeen === "1.1.53+588502e") {
454490
+ if (currentConfig.lastReleaseNotesSeen === "1.1.55+6225988") {
454447
454491
  return;
454448
454492
  }
454449
454493
  saveGlobalConfig(_temp329);
@@ -455119,12 +455163,12 @@ function LogoV2() {
455119
455163
  return t41;
455120
455164
  }
455121
455165
  function _temp329(current) {
455122
- if (current.lastReleaseNotesSeen === "1.1.53+588502e") {
455166
+ if (current.lastReleaseNotesSeen === "1.1.55+6225988") {
455123
455167
  return current;
455124
455168
  }
455125
455169
  return {
455126
455170
  ...current,
455127
- lastReleaseNotesSeen: "1.1.53+588502e"
455171
+ lastReleaseNotesSeen: "1.1.55+6225988"
455128
455172
  };
455129
455173
  }
455130
455174
  function _temp245(s_0) {
@@ -481426,7 +481470,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
481426
481470
  smapsRollup,
481427
481471
  platform: process.platform,
481428
481472
  nodeVersion: process.version,
481429
- ccVersion: "1.1.53+588502e"
481473
+ ccVersion: "1.1.55+6225988"
481430
481474
  };
481431
481475
  }
481432
481476
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -482012,7 +482056,7 @@ var init_bridge_kick = __esm(() => {
482012
482056
  var call56 = async () => {
482013
482057
  return {
482014
482058
  type: "text",
482015
- value: `${"1.1.53+588502e"} (built ${"2026-10-06T11:56:16.370Z"})`
482059
+ value: `${"1.1.55+6225988"} (built ${"2026-10-06T12:56:41.922Z"})`
482016
482060
  };
482017
482061
  }, version2, version_default;
482018
482062
  var init_version = __esm(() => {
@@ -491332,7 +491376,7 @@ function generateHtmlReport(data, insights) {
491332
491376
  </html>`;
491333
491377
  }
491334
491378
  function buildExportData(data, insights, facets, remoteStats) {
491335
- const version3 = typeof MACRO !== "undefined" ? "1.1.53+588502e" : "unknown";
491379
+ const version3 = typeof MACRO !== "undefined" ? "1.1.55+6225988" : "unknown";
491336
491380
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
491337
491381
  const facets_summary = {
491338
491382
  total: facets.size,
@@ -495444,7 +495488,7 @@ var init_sessionStorage = __esm(() => {
495444
495488
  init_settings2();
495445
495489
  init_slowOperations();
495446
495490
  init_uuid();
495447
- VERSION5 = typeof MACRO !== "undefined" ? "1.1.53+588502e" : "unknown";
495491
+ VERSION5 = typeof MACRO !== "undefined" ? "1.1.55+6225988" : "unknown";
495448
495492
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
495449
495493
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
495450
495494
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -498316,7 +498360,7 @@ function buildSystemInitMessage(inputs) {
498316
498360
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
498317
498361
  apiKeySource: getAnthropicApiKeyWithSource().source,
498318
498362
  betas: getSdkBetas(),
498319
- vivus_code_version: "1.1.53+588502e",
498363
+ vivus_code_version: "1.1.55+6225988",
498320
498364
  output_style: outputStyle2,
498321
498365
  agents: inputs.agents.map((agent) => agent.agentType),
498322
498366
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
@@ -513028,7 +513072,7 @@ var init_useVoiceEnabled = __esm(() => {
513028
513072
  function getSemverPart(version3) {
513029
513073
  return `${import_semver12.major(version3, { loose: true })}.${import_semver12.minor(version3, { loose: true })}.${import_semver12.patch(version3, { loose: true })}`;
513030
513074
  }
513031
- function useUpdateNotification(updatedVersion, initialVersion = "1.1.53+588502e") {
513075
+ function useUpdateNotification(updatedVersion, initialVersion = "1.1.55+6225988") {
513032
513076
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react228.useState(() => getSemverPart(initialVersion));
513033
513077
  if (!updatedVersion) {
513034
513078
  return null;
@@ -513068,7 +513112,7 @@ function AutoUpdater({
513068
513112
  return;
513069
513113
  }
513070
513114
  if (false) {}
513071
- const currentVersion = "1.1.53+588502e";
513115
+ const currentVersion = "1.1.55+6225988";
513072
513116
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
513073
513117
  let latestVersion = await getLatestVersion(channel);
513074
513118
  const isDisabled = isAutoUpdaterDisabled();
@@ -513281,12 +513325,12 @@ function NativeAutoUpdater({
513281
513325
  logEvent("tengu_native_auto_updater_start", {});
513282
513326
  try {
513283
513327
  const maxVersion = await getMaxVersion();
513284
- if (maxVersion && gt("1.1.53+588502e", maxVersion)) {
513328
+ if (maxVersion && gt("1.1.55+6225988", maxVersion)) {
513285
513329
  const msg = await getMaxVersionMessage();
513286
513330
  setMaxVersionIssue(msg ?? "affects your version");
513287
513331
  }
513288
513332
  const result = await installLatest(channel);
513289
- const currentVersion = "1.1.53+588502e";
513333
+ const currentVersion = "1.1.55+6225988";
513290
513334
  const latencyMs = Date.now() - startTime;
513291
513335
  if (result.lockFailed) {
513292
513336
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -513423,17 +513467,17 @@ function PackageManagerAutoUpdater(t0) {
513423
513467
  const maxVersion = await getMaxVersion();
513424
513468
  if (maxVersion && latest && gt(latest, maxVersion)) {
513425
513469
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
513426
- if (gte("1.1.53+588502e", maxVersion)) {
513427
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.53+588502e"} is already at or above maxVersion ${maxVersion}, skipping update`);
513470
+ if (gte("1.1.55+6225988", maxVersion)) {
513471
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.55+6225988"} is already at or above maxVersion ${maxVersion}, skipping update`);
513428
513472
  setUpdateAvailable(false);
513429
513473
  return;
513430
513474
  }
513431
513475
  latest = maxVersion;
513432
513476
  }
513433
- const hasUpdate = latest && !gte("1.1.53+588502e", latest) && !shouldSkipVersion(latest);
513477
+ const hasUpdate = latest && !gte("1.1.55+6225988", latest) && !shouldSkipVersion(latest);
513434
513478
  setUpdateAvailable(!!hasUpdate);
513435
513479
  if (hasUpdate) {
513436
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.53+588502e"} -> ${latest}`);
513480
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.55+6225988"} -> ${latest}`);
513437
513481
  }
513438
513482
  };
513439
513483
  $2[0] = t1;
@@ -513467,7 +513511,7 @@ function PackageManagerAutoUpdater(t0) {
513467
513511
  wrap: "truncate",
513468
513512
  children: [
513469
513513
  "currentVersion: ",
513470
- "1.1.53+588502e"
513514
+ "1.1.55+6225988"
513471
513515
  ]
513472
513516
  }, undefined, true, undefined, this);
513473
513517
  $2[3] = verbose;
@@ -521651,7 +521695,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
521651
521695
  project_dir: getOriginalCwd(),
521652
521696
  added_dirs: addedDirs
521653
521697
  },
521654
- version: "1.1.53+588502e",
521698
+ version: "1.1.55+6225988",
521655
521699
  output_style: {
521656
521700
  name: outputStyleName
521657
521701
  },
@@ -533303,7 +533347,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
533303
533347
  } catch {}
533304
533348
  const data = {
533305
533349
  trigger,
533306
- version: "1.1.53+588502e",
533350
+ version: "1.1.55+6225988",
533307
533351
  platform: process.platform,
533308
533352
  transcript,
533309
533353
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -544774,7 +544818,7 @@ function WelcomeV2() {
544774
544818
  dimColor: true,
544775
544819
  children: [
544776
544820
  "v",
544777
- "1.1.53+588502e",
544821
+ "1.1.55+6225988",
544778
544822
  " "
544779
544823
  ]
544780
544824
  }, undefined, true, undefined, this)
@@ -544974,7 +545018,7 @@ function WelcomeV2() {
544974
545018
  dimColor: true,
544975
545019
  children: [
544976
545020
  "v",
544977
- "1.1.53+588502e",
545021
+ "1.1.55+6225988",
544978
545022
  " "
544979
545023
  ]
544980
545024
  }, undefined, true, undefined, this)
@@ -545200,7 +545244,7 @@ function AppleTerminalWelcomeV2(t0) {
545200
545244
  dimColor: true,
545201
545245
  children: [
545202
545246
  "v",
545203
- "1.1.53+588502e",
545247
+ "1.1.55+6225988",
545204
545248
  " "
545205
545249
  ]
545206
545250
  }, undefined, true, undefined, this);
@@ -545454,7 +545498,7 @@ function AppleTerminalWelcomeV2(t0) {
545454
545498
  dimColor: true,
545455
545499
  children: [
545456
545500
  "v",
545457
- "1.1.53+588502e",
545501
+ "1.1.55+6225988",
545458
545502
  " "
545459
545503
  ]
545460
545504
  }, undefined, true, undefined, this);
@@ -548527,7 +548571,7 @@ function appendToLog(path25, message) {
548527
548571
  cwd: getFsImplementation().cwd(),
548528
548572
  userType: process.env.USER_TYPE,
548529
548573
  sessionId: getSessionId(),
548530
- version: "1.1.53+588502e"
548574
+ version: "1.1.55+6225988"
548531
548575
  };
548532
548576
  getLogWriter(path25).write(messageWithTimestamp);
548533
548577
  }
@@ -552522,8 +552566,8 @@ async function getEnvLessBridgeConfig() {
552522
552566
  }
552523
552567
  async function checkEnvLessBridgeMinVersion() {
552524
552568
  const cfg = await getEnvLessBridgeConfig();
552525
- if (cfg.min_version && lt("1.1.53+588502e", cfg.min_version)) {
552526
- return `Your version of Vivus (${"1.1.53+588502e"}) is too old for Remote Control.
552569
+ if (cfg.min_version && lt("1.1.55+6225988", cfg.min_version)) {
552570
+ return `Your version of Vivus (${"1.1.55+6225988"}) is too old for Remote Control.
552527
552571
  Version ${cfg.min_version} or higher is required. Run \`vivus update\` to update.`;
552528
552572
  }
552529
552573
  return null;
@@ -552997,7 +553041,7 @@ async function initBridgeCore(params) {
552997
553041
  const rawApi = createBridgeApiClient({
552998
553042
  baseUrl,
552999
553043
  getAccessToken,
553000
- runnerVersion: "1.1.53+588502e",
553044
+ runnerVersion: "1.1.55+6225988",
553001
553045
  onDebug: logForDebugging,
553002
553046
  onAuth401,
553003
553047
  getTrustedDeviceToken
@@ -558676,7 +558720,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
558676
558720
  setCwd(cwd3);
558677
558721
  const server = new Server({
558678
558722
  name: "vivus/tengu",
558679
- version: "1.1.53+588502e"
558723
+ version: "1.1.55+6225988"
558680
558724
  }, {
558681
558725
  capabilities: {
558682
558726
  tools: {}
@@ -560409,7 +560453,7 @@ __export(exports_update, {
560409
560453
  });
560410
560454
  async function update() {
560411
560455
  logEvent("tengu_update_check", {});
560412
- writeToStdout(`Current version: ${"1.1.53+588502e"}
560456
+ writeToStdout(`Current version: ${"1.1.55+6225988"}
560413
560457
  `);
560414
560458
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
560415
560459
  writeToStdout(`Checking for updates to ${channel} version...
@@ -560484,8 +560528,8 @@ async function update() {
560484
560528
  writeToStdout(`Vivus is managed by Homebrew.
560485
560529
  `);
560486
560530
  const latest = await getLatestVersion(channel);
560487
- if (latest && !gte("1.1.53+588502e", latest)) {
560488
- writeToStdout(`Update available: ${"1.1.53+588502e"} → ${latest}
560531
+ if (latest && !gte("1.1.55+6225988", latest)) {
560532
+ writeToStdout(`Update available: ${"1.1.55+6225988"} → ${latest}
560489
560533
  `);
560490
560534
  writeToStdout(`
560491
560535
  `);
@@ -560501,8 +560545,8 @@ async function update() {
560501
560545
  writeToStdout(`Vivus is managed by winget.
560502
560546
  `);
560503
560547
  const latest = await getLatestVersion(channel);
560504
- if (latest && !gte("1.1.53+588502e", latest)) {
560505
- writeToStdout(`Update available: ${"1.1.53+588502e"} → ${latest}
560548
+ if (latest && !gte("1.1.55+6225988", latest)) {
560549
+ writeToStdout(`Update available: ${"1.1.55+6225988"} → ${latest}
560506
560550
  `);
560507
560551
  writeToStdout(`
560508
560552
  `);
@@ -560518,8 +560562,8 @@ async function update() {
560518
560562
  writeToStdout(`Vivus is managed by apk.
560519
560563
  `);
560520
560564
  const latest = await getLatestVersion(channel);
560521
- if (latest && !gte("1.1.53+588502e", latest)) {
560522
- writeToStdout(`Update available: ${"1.1.53+588502e"} → ${latest}
560565
+ if (latest && !gte("1.1.55+6225988", latest)) {
560566
+ writeToStdout(`Update available: ${"1.1.55+6225988"} → ${latest}
560523
560567
  `);
560524
560568
  writeToStdout(`
560525
560569
  `);
@@ -560584,11 +560628,11 @@ async function update() {
560584
560628
  `);
560585
560629
  await gracefulShutdown(1);
560586
560630
  }
560587
- if (result.latestVersion === "1.1.53+588502e") {
560588
- writeToStdout(source_default.green(`Vivus is up to date (${"1.1.53+588502e"})`) + `
560631
+ if (result.latestVersion === "1.1.55+6225988") {
560632
+ writeToStdout(source_default.green(`Vivus is up to date (${"1.1.55+6225988"})`) + `
560589
560633
  `);
560590
560634
  } else {
560591
- writeToStdout(source_default.green(`Successfully updated from ${"1.1.53+588502e"} to version ${result.latestVersion}`) + `
560635
+ writeToStdout(source_default.green(`Successfully updated from ${"1.1.55+6225988"} to version ${result.latestVersion}`) + `
560592
560636
  `);
560593
560637
  await regenerateCompletionCache();
560594
560638
  }
@@ -560645,12 +560689,12 @@ async function update() {
560645
560689
  `);
560646
560690
  await gracefulShutdown(1);
560647
560691
  }
560648
- if (latestVersion === "1.1.53+588502e") {
560649
- writeToStdout(source_default.green(`Vivus is up to date (${"1.1.53+588502e"})`) + `
560692
+ if (latestVersion === "1.1.55+6225988") {
560693
+ writeToStdout(source_default.green(`Vivus is up to date (${"1.1.55+6225988"})`) + `
560650
560694
  `);
560651
560695
  await gracefulShutdown(0);
560652
560696
  }
560653
- writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.53+588502e"})
560697
+ writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.55+6225988"})
560654
560698
  `);
560655
560699
  writeToStdout(`Installing update...
560656
560700
  `);
@@ -560695,7 +560739,7 @@ async function update() {
560695
560739
  logForDebugging(`update: Installation status: ${status2}`);
560696
560740
  switch (status2) {
560697
560741
  case "success":
560698
- writeToStdout(source_default.green(`Successfully updated from ${"1.1.53+588502e"} to version ${latestVersion}`) + `
560742
+ writeToStdout(source_default.green(`Successfully updated from ${"1.1.55+6225988"} to version ${latestVersion}`) + `
560699
560743
  `);
560700
560744
  await regenerateCompletionCache();
560701
560745
  break;
@@ -561669,7 +561713,7 @@ function completeOnboarding() {
561669
561713
  saveGlobalConfig((current) => ({
561670
561714
  ...current,
561671
561715
  hasCompletedOnboarding: true,
561672
- lastOnboardingVersion: "1.1.53+588502e"
561716
+ lastOnboardingVersion: "1.1.55+6225988"
561673
561717
  }));
561674
561718
  }
561675
561719
  function showDialog(root2, renderer) {
@@ -565805,7 +565849,7 @@ ${customInstructions}` : customInstructions;
565805
565849
  }
565806
565850
  }
565807
565851
  logForDiagnosticsNoPII("info", "started", {
565808
- version: "1.1.53+588502e",
565852
+ version: "1.1.55+6225988",
565809
565853
  is_native_binary: isInBundledMode()
565810
565854
  });
565811
565855
  registerCleanup(async () => {
@@ -566603,7 +566647,7 @@ Usage: vivus --remote "your task description"`, () => gracefulShutdown(1));
566603
566647
  pendingHookMessages
566604
566648
  }, renderAndRun);
566605
566649
  }
566606
- }).version("1.1.53+588502e (Vivus)", "-v, --version", "Output the version number");
566650
+ }).version("1.1.55+6225988 (Vivus)", "-v, --version", "Output the version number");
566607
566651
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
566608
566652
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
566609
566653
  if (canUserConfigureAdvisor()) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vivus-agent",
3
- "version": "1.1.53",
3
+ "version": "1.1.55",
4
4
  "description": "Vivus — local AI coding agent",
5
5
  "type": "module",
6
6
  "main": "dist/main.js",