vivus-agent 1.1.54 → 1.1.56

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 (3) hide show
  1. package/bin/vivus.mjs +14 -2
  2. package/dist/main.js +132 -111
  3. package/package.json +1 -1
package/bin/vivus.mjs CHANGED
@@ -188,10 +188,22 @@ async function syncModels() {
188
188
  if (!id || seen.has(id)) continue
189
189
  seen.add(id)
190
190
  const label = m.label || m.display_name || id
191
- const ctx = formatCtx(m.max_input_tokens)
191
+ // max_input_tokens is what the proxy will ACTUALLY use right now
192
+ // (VRAM-fit for local models, can shrink when another process shares
193
+ // the GPU); native_context_length is the model's real, unclamped
194
+ // window. Show both when they differ so a temporarily-squeezed local
195
+ // model doesn't look like it permanently maxes out at the smaller one.
196
+ const effectiveCtx = formatCtx(m.max_input_tokens)
197
+ const nativeCtx = formatCtx(m.native_context_length)
198
+ const ctx =
199
+ effectiveCtx && nativeCtx && effectiveCtx !== nativeCtx
200
+ ? `${effectiveCtx} context now (${nativeCtx} native)`
201
+ : effectiveCtx
202
+ ? `${effectiveCtx} context`
203
+ : ''
192
204
  const sizeNum = parseFloat(m.size_gb)
193
205
  const size = Number.isFinite(sizeNum) && sizeNum > 0 ? `${m.size_gb}GB` : ''
194
- const desc = [m.description, ctx ? `${ctx} context` : '', size]
206
+ const desc = [m.description, ctx, size]
195
207
  .filter(Boolean)
196
208
  .join(' · ')
197
209
  options.push({ value: id, label, description: desc || id })
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-06T12:30:29.776Z
3
+ // Built from source at 2026-10-06T21:32:36.278Z
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.54+e5ed34e"}`;
108231
+ return `vivus/${"1.1.56+9173909"}`;
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.54+e5ed34e"} (${process.env.USER_TYPE}, ${process.env.VIVUS_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
108253
+ return `vivus-cli/${"1.1.56+9173909"} (${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.54+e5ed34e"}${suffix}`;
108267
+ return `vivus/${"1.1.56+9173909"}${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.54+e5ed34e",
108405
+ appVersion: "1.1.56+9173909",
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.54+e5ed34e".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
119716
+ const match = "1.1.56+9173909".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.54+e5ed34e",
119756
+ version: "1.1.56+9173909",
119757
119757
  versionBase: getVersionBase(),
119758
- buildTime: "2026-10-06T12:30:28.894Z",
119758
+ buildTime: "2026-10-06T21:32:35.686Z",
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.54+e5ed34e"
120426
+ [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.1.56+9173909"
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.54+e5ed34e");
120453
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.vivus_code.events", "1.1.56+9173909");
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.54+e5ed34e"}.${fingerprint}`;
162673
+ const version2 = `${"1.1.56+9173909"}.${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.54+e5ed34e";
175836
+ attributes["app.version"] = "1.1.56+9173909";
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.54+e5ed34e");
242455
+ return computeFingerprint(firstMessageText, "1.1.56+9173909");
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.54+e5ed34e");
242497
+ const fingerprint = computeFingerprint(messageText, "1.1.56+9173909");
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.54+e5ed34e",
243649
+ version: "1.1.56+9173909",
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.54+e5ed34e",
244003
+ version: "1.1.56+9173909",
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.54+e5ed34e";
246064
+ return "1.1.56+9173909";
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.54+e5ed34e");
302151
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.56+9173909");
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.54+e5ed34e"
302191
+ [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.1.56+9173909"
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.54+e5ed34e");
302236
+ return meterProvider2.getMeter("com.anthropic.vivus_code", "1.1.56+9173909");
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.54+e5ed34e");
302256
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.56+9173909");
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.54+e5ed34e");
302318
+ return meterProvider.getMeter("com.anthropic.vivus_code", "1.1.56+9173909");
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.54+e5ed34e", versionConfig.minVersion)) {
303004
+ if (versionConfig.minVersion && lt("1.1.56+9173909", versionConfig.minVersion)) {
303005
303005
  console.error(`
303006
- It looks like your version of Vivus (${"1.1.54+e5ed34e"}) needs an update.
303006
+ It looks like your version of Vivus (${"1.1.56+9173909"}) 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.54+e5ed34e"
303222
+ currentVersion: "1.1.56+9173909"
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.54+e5ed34e"
303231
+ currentVersion: "1.1.56+9173909"
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.54+e5ed34e" : "unknown";
303764
+ const version2 = typeof MACRO !== "undefined" ? "1.1.56+9173909" : "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.54+e5ed34e", maxVersion)) {
304698
- logForDebugging(`Native installer: current version ${"1.1.54+e5ed34e"} is already at or above maxVersion ${maxVersion}, skipping update`);
304697
+ if (gte("1.1.56+9173909", maxVersion)) {
304698
+ logForDebugging(`Native installer: current version ${"1.1.56+9173909"} 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.54+e5ed34e" && await versionIsAvailable(version2) && await isPossibleVivusBinary(executablePath)) {
304709
+ if (!forceReinstall && version2 === "1.1.56+9173909" && 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();
@@ -362105,7 +362117,7 @@ function getAnthropicEnvMetadata() {
362105
362117
  function getBuildAgeMinutes() {
362106
362118
  if (false)
362107
362119
  ;
362108
- const buildTime = new Date("2026-10-06T12:30:28.894Z").getTime();
362120
+ const buildTime = new Date("2026-10-06T21:32:35.686Z").getTime();
362109
362121
  if (isNaN(buildTime))
362110
362122
  return;
362111
362123
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -397215,11 +397227,18 @@ function DONT_ASK_REJECT_MESSAGE(toolName) {
397215
397227
  function isClassifierDenial(content) {
397216
397228
  return content.startsWith(AUTO_MODE_REJECTION_PREFIX);
397217
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
+ }
397218
397237
  function buildYoloRejectionMessage(reason) {
397219
397238
  const prefix = AUTO_MODE_REJECTION_PREFIX;
397220
397239
  const ruleHint = `To allow this type of action in the future, the user can add a Bash permission rule to their settings.`;
397221
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.`;
397222
- 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;
397223
397242
  }
397224
397243
  function buildClassifierUnavailableMessage(toolName, classifierModel) {
397225
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.`;
@@ -400416,7 +400435,7 @@ Note: The user's next message may contain a correction or preference. Pay close
400416
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.
400417
400436
 
400418
400437
  Rejected plan:
400419
- `, 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
400420
400439
  Goal: Write your final plan to the plan file (the only file you can edit).
400421
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
400422
400441
  - Include only your recommended approach, not all alternatives
@@ -410258,7 +410277,7 @@ var init_filesystem = __esm(() => {
410258
410277
  });
410259
410278
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
410260
410279
  const nonce = randomBytes17(16).toString("hex");
410261
- return join108(getVivusTempDir(), "bundled-skills", "1.1.54+e5ed34e", nonce);
410280
+ return join108(getVivusTempDir(), "bundled-skills", "1.1.56+9173909", nonce);
410262
410281
  });
410263
410282
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
410264
410283
  });
@@ -412018,7 +412037,7 @@ function Feedback({
412018
412037
  platform: env3.platform,
412019
412038
  gitRepo: envInfo.isGit,
412020
412039
  terminal: env3.terminal,
412021
- version: "1.1.54+e5ed34e",
412040
+ version: "1.1.56+9173909",
412022
412041
  transcript: normalizeMessagesForAPI(messages),
412023
412042
  errors: sanitizedErrors,
412024
412043
  lastApiRequest: getLastAPIRequest(),
@@ -412210,7 +412229,7 @@ function Feedback({
412210
412229
  ", ",
412211
412230
  env3.terminal,
412212
412231
  ", v",
412213
- "1.1.54+e5ed34e"
412232
+ "1.1.56+9173909"
412214
412233
  ]
412215
412234
  }, undefined, true, undefined, this)
412216
412235
  ]
@@ -412316,7 +412335,7 @@ ${sanitizedDescription}
412316
412335
  ` + `**Environment Info**
412317
412336
  ` + `- Platform: ${env3.platform}
412318
412337
  ` + `- Terminal: ${env3.terminal}
412319
- ` + `- Version: ${"1.1.54+e5ed34e"}
412338
+ ` + `- Version: ${"1.1.56+9173909"}
412320
412339
  ` + `- Feedback ID: ${feedbackId}
412321
412340
  ` + `
412322
412341
  **Errors**
@@ -415448,7 +415467,7 @@ function buildPrimarySection() {
415448
415467
  }, undefined, false, undefined, this);
415449
415468
  return [{
415450
415469
  label: "Version",
415451
- value: "1.1.54+e5ed34e"
415470
+ value: "1.1.56+9173909"
415452
415471
  }, {
415453
415472
  label: "Session name",
415454
415473
  value: nameValue
@@ -416268,10 +416287,12 @@ async function refreshProxyModelOptions() {
416268
416287
  seen.add(id);
416269
416288
  const label = typeof entry.label === "string" && entry.label ? entry.label : humanizeModelId(id);
416270
416289
  const baseDesc = typeof entry.description === "string" && entry.description !== "Custom model" ? entry.description : "";
416271
- const ctx = formatContextWindow(entry.max_input_tokens);
416290
+ const effectiveCtx = formatContextWindow(entry.max_input_tokens);
416291
+ const nativeCtx = formatContextWindow(entry.native_context_length);
416292
+ const ctxLabel = effectiveCtx && nativeCtx && effectiveCtx !== nativeCtx ? `${effectiveCtx} context now (${nativeCtx} native)` : effectiveCtx ? `${effectiveCtx} context` : "";
416272
416293
  const sizeNum = typeof entry.size_gb === "string" || typeof entry.size_gb === "number" ? Number(entry.size_gb) : NaN;
416273
416294
  const size = Number.isFinite(sizeNum) && sizeNum > 0 ? `${entry.size_gb}GB` : "";
416274
- const description = [baseDesc, ctx ? `${ctx} context` : "", size].filter(Boolean).join(" · ") || "Custom model";
416295
+ const description = [baseDesc, ctxLabel, size].filter(Boolean).join(" · ") || "Custom model";
416275
416296
  options2.push({ value: id, label, description });
416276
416297
  }
416277
416298
  if (options2.length === 0)
@@ -419311,7 +419332,7 @@ function Config({
419311
419332
  }
419312
419333
  }, undefined, false, undefined, this)
419313
419334
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
419314
- currentVersion: "1.1.54+e5ed34e",
419335
+ currentVersion: "1.1.56+9173909",
419315
419336
  onChoice: (choice) => {
419316
419337
  setShowSubmenu(null);
419317
419338
  setTabsHidden(false);
@@ -419323,7 +419344,7 @@ function Config({
419323
419344
  autoUpdatesChannel: "stable"
419324
419345
  };
419325
419346
  if (choice === "stay") {
419326
- newSettings.minimumVersion = "1.1.54+e5ed34e";
419347
+ newSettings.minimumVersion = "1.1.56+9173909";
419327
419348
  }
419328
419349
  updateSettingsForSource("userSettings", newSettings);
419329
419350
  setSettingsData((prev_27) => ({
@@ -427518,7 +427539,7 @@ function HelpV2(t0) {
427518
427539
  let t6;
427519
427540
  if ($2[31] !== tabs) {
427520
427541
  t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
427521
- title: `Vivus v${"1.1.54+e5ed34e"}`,
427542
+ title: `Vivus v${"1.1.56+9173909"}`,
427522
427543
  color: "professionalBlue",
427523
427544
  defaultTab: "general",
427524
427545
  children: tabs
@@ -451744,7 +451765,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
451744
451765
  return [];
451745
451766
  }
451746
451767
  }
451747
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.54+e5ed34e") {
451768
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.56+9173909") {
451748
451769
  if (process.env.USER_TYPE === "ant") {
451749
451770
  const changelog = "";
451750
451771
  if (changelog) {
@@ -451771,7 +451792,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.54+e5
451771
451792
  releaseNotes
451772
451793
  };
451773
451794
  }
451774
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.54+e5ed34e") {
451795
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.56+9173909") {
451775
451796
  if (process.env.USER_TYPE === "ant") {
451776
451797
  const changelog = "";
451777
451798
  if (changelog) {
@@ -452941,7 +452962,7 @@ function getRecentActivitySync() {
452941
452962
  return cachedActivity;
452942
452963
  }
452943
452964
  function getLogoDisplayData() {
452944
- const version2 = process.env.DEMO_VERSION ?? "1.1.54+e5ed34e";
452965
+ const version2 = process.env.DEMO_VERSION ?? "1.1.56+9173909";
452945
452966
  const serverUrl = getDirectConnectServerUrl();
452946
452967
  const displayPath = process.env.DEMO_VERSION ? "/code/vivus" : getDisplayPath(getCwd());
452947
452968
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -454468,7 +454489,7 @@ function LogoV2() {
454468
454489
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
454469
454490
  t2 = () => {
454470
454491
  const currentConfig = getGlobalConfig();
454471
- if (currentConfig.lastReleaseNotesSeen === "1.1.54+e5ed34e") {
454492
+ if (currentConfig.lastReleaseNotesSeen === "1.1.56+9173909") {
454472
454493
  return;
454473
454494
  }
454474
454495
  saveGlobalConfig(_temp329);
@@ -455144,12 +455165,12 @@ function LogoV2() {
455144
455165
  return t41;
455145
455166
  }
455146
455167
  function _temp329(current) {
455147
- if (current.lastReleaseNotesSeen === "1.1.54+e5ed34e") {
455168
+ if (current.lastReleaseNotesSeen === "1.1.56+9173909") {
455148
455169
  return current;
455149
455170
  }
455150
455171
  return {
455151
455172
  ...current,
455152
- lastReleaseNotesSeen: "1.1.54+e5ed34e"
455173
+ lastReleaseNotesSeen: "1.1.56+9173909"
455153
455174
  };
455154
455175
  }
455155
455176
  function _temp245(s_0) {
@@ -481451,7 +481472,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
481451
481472
  smapsRollup,
481452
481473
  platform: process.platform,
481453
481474
  nodeVersion: process.version,
481454
- ccVersion: "1.1.54+e5ed34e"
481475
+ ccVersion: "1.1.56+9173909"
481455
481476
  };
481456
481477
  }
481457
481478
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -482037,7 +482058,7 @@ var init_bridge_kick = __esm(() => {
482037
482058
  var call56 = async () => {
482038
482059
  return {
482039
482060
  type: "text",
482040
- value: `${"1.1.54+e5ed34e"} (built ${"2026-10-06T12:30:28.894Z"})`
482061
+ value: `${"1.1.56+9173909"} (built ${"2026-10-06T21:32:35.686Z"})`
482041
482062
  };
482042
482063
  }, version2, version_default;
482043
482064
  var init_version = __esm(() => {
@@ -491357,7 +491378,7 @@ function generateHtmlReport(data, insights) {
491357
491378
  </html>`;
491358
491379
  }
491359
491380
  function buildExportData(data, insights, facets, remoteStats) {
491360
- const version3 = typeof MACRO !== "undefined" ? "1.1.54+e5ed34e" : "unknown";
491381
+ const version3 = typeof MACRO !== "undefined" ? "1.1.56+9173909" : "unknown";
491361
491382
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
491362
491383
  const facets_summary = {
491363
491384
  total: facets.size,
@@ -495469,7 +495490,7 @@ var init_sessionStorage = __esm(() => {
495469
495490
  init_settings2();
495470
495491
  init_slowOperations();
495471
495492
  init_uuid();
495472
- VERSION5 = typeof MACRO !== "undefined" ? "1.1.54+e5ed34e" : "unknown";
495493
+ VERSION5 = typeof MACRO !== "undefined" ? "1.1.56+9173909" : "unknown";
495473
495494
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
495474
495495
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
495475
495496
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -498341,7 +498362,7 @@ function buildSystemInitMessage(inputs) {
498341
498362
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
498342
498363
  apiKeySource: getAnthropicApiKeyWithSource().source,
498343
498364
  betas: getSdkBetas(),
498344
- vivus_code_version: "1.1.54+e5ed34e",
498365
+ vivus_code_version: "1.1.56+9173909",
498345
498366
  output_style: outputStyle2,
498346
498367
  agents: inputs.agents.map((agent) => agent.agentType),
498347
498368
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
@@ -513053,7 +513074,7 @@ var init_useVoiceEnabled = __esm(() => {
513053
513074
  function getSemverPart(version3) {
513054
513075
  return `${import_semver12.major(version3, { loose: true })}.${import_semver12.minor(version3, { loose: true })}.${import_semver12.patch(version3, { loose: true })}`;
513055
513076
  }
513056
- function useUpdateNotification(updatedVersion, initialVersion = "1.1.54+e5ed34e") {
513077
+ function useUpdateNotification(updatedVersion, initialVersion = "1.1.56+9173909") {
513057
513078
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react228.useState(() => getSemverPart(initialVersion));
513058
513079
  if (!updatedVersion) {
513059
513080
  return null;
@@ -513093,7 +513114,7 @@ function AutoUpdater({
513093
513114
  return;
513094
513115
  }
513095
513116
  if (false) {}
513096
- const currentVersion = "1.1.54+e5ed34e";
513117
+ const currentVersion = "1.1.56+9173909";
513097
513118
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
513098
513119
  let latestVersion = await getLatestVersion(channel);
513099
513120
  const isDisabled = isAutoUpdaterDisabled();
@@ -513306,12 +513327,12 @@ function NativeAutoUpdater({
513306
513327
  logEvent("tengu_native_auto_updater_start", {});
513307
513328
  try {
513308
513329
  const maxVersion = await getMaxVersion();
513309
- if (maxVersion && gt("1.1.54+e5ed34e", maxVersion)) {
513330
+ if (maxVersion && gt("1.1.56+9173909", maxVersion)) {
513310
513331
  const msg = await getMaxVersionMessage();
513311
513332
  setMaxVersionIssue(msg ?? "affects your version");
513312
513333
  }
513313
513334
  const result = await installLatest(channel);
513314
- const currentVersion = "1.1.54+e5ed34e";
513335
+ const currentVersion = "1.1.56+9173909";
513315
513336
  const latencyMs = Date.now() - startTime;
513316
513337
  if (result.lockFailed) {
513317
513338
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -513448,17 +513469,17 @@ function PackageManagerAutoUpdater(t0) {
513448
513469
  const maxVersion = await getMaxVersion();
513449
513470
  if (maxVersion && latest && gt(latest, maxVersion)) {
513450
513471
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
513451
- if (gte("1.1.54+e5ed34e", maxVersion)) {
513452
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.54+e5ed34e"} is already at or above maxVersion ${maxVersion}, skipping update`);
513472
+ if (gte("1.1.56+9173909", maxVersion)) {
513473
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.56+9173909"} is already at or above maxVersion ${maxVersion}, skipping update`);
513453
513474
  setUpdateAvailable(false);
513454
513475
  return;
513455
513476
  }
513456
513477
  latest = maxVersion;
513457
513478
  }
513458
- const hasUpdate = latest && !gte("1.1.54+e5ed34e", latest) && !shouldSkipVersion(latest);
513479
+ const hasUpdate = latest && !gte("1.1.56+9173909", latest) && !shouldSkipVersion(latest);
513459
513480
  setUpdateAvailable(!!hasUpdate);
513460
513481
  if (hasUpdate) {
513461
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.54+e5ed34e"} -> ${latest}`);
513482
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.56+9173909"} -> ${latest}`);
513462
513483
  }
513463
513484
  };
513464
513485
  $2[0] = t1;
@@ -513492,7 +513513,7 @@ function PackageManagerAutoUpdater(t0) {
513492
513513
  wrap: "truncate",
513493
513514
  children: [
513494
513515
  "currentVersion: ",
513495
- "1.1.54+e5ed34e"
513516
+ "1.1.56+9173909"
513496
513517
  ]
513497
513518
  }, undefined, true, undefined, this);
513498
513519
  $2[3] = verbose;
@@ -521676,7 +521697,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
521676
521697
  project_dir: getOriginalCwd(),
521677
521698
  added_dirs: addedDirs
521678
521699
  },
521679
- version: "1.1.54+e5ed34e",
521700
+ version: "1.1.56+9173909",
521680
521701
  output_style: {
521681
521702
  name: outputStyleName
521682
521703
  },
@@ -533328,7 +533349,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
533328
533349
  } catch {}
533329
533350
  const data = {
533330
533351
  trigger,
533331
- version: "1.1.54+e5ed34e",
533352
+ version: "1.1.56+9173909",
533332
533353
  platform: process.platform,
533333
533354
  transcript,
533334
533355
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -544799,7 +544820,7 @@ function WelcomeV2() {
544799
544820
  dimColor: true,
544800
544821
  children: [
544801
544822
  "v",
544802
- "1.1.54+e5ed34e",
544823
+ "1.1.56+9173909",
544803
544824
  " "
544804
544825
  ]
544805
544826
  }, undefined, true, undefined, this)
@@ -544999,7 +545020,7 @@ function WelcomeV2() {
544999
545020
  dimColor: true,
545000
545021
  children: [
545001
545022
  "v",
545002
- "1.1.54+e5ed34e",
545023
+ "1.1.56+9173909",
545003
545024
  " "
545004
545025
  ]
545005
545026
  }, undefined, true, undefined, this)
@@ -545225,7 +545246,7 @@ function AppleTerminalWelcomeV2(t0) {
545225
545246
  dimColor: true,
545226
545247
  children: [
545227
545248
  "v",
545228
- "1.1.54+e5ed34e",
545249
+ "1.1.56+9173909",
545229
545250
  " "
545230
545251
  ]
545231
545252
  }, undefined, true, undefined, this);
@@ -545479,7 +545500,7 @@ function AppleTerminalWelcomeV2(t0) {
545479
545500
  dimColor: true,
545480
545501
  children: [
545481
545502
  "v",
545482
- "1.1.54+e5ed34e",
545503
+ "1.1.56+9173909",
545483
545504
  " "
545484
545505
  ]
545485
545506
  }, undefined, true, undefined, this);
@@ -548552,7 +548573,7 @@ function appendToLog(path25, message) {
548552
548573
  cwd: getFsImplementation().cwd(),
548553
548574
  userType: process.env.USER_TYPE,
548554
548575
  sessionId: getSessionId(),
548555
- version: "1.1.54+e5ed34e"
548576
+ version: "1.1.56+9173909"
548556
548577
  };
548557
548578
  getLogWriter(path25).write(messageWithTimestamp);
548558
548579
  }
@@ -552547,8 +552568,8 @@ async function getEnvLessBridgeConfig() {
552547
552568
  }
552548
552569
  async function checkEnvLessBridgeMinVersion() {
552549
552570
  const cfg = await getEnvLessBridgeConfig();
552550
- if (cfg.min_version && lt("1.1.54+e5ed34e", cfg.min_version)) {
552551
- return `Your version of Vivus (${"1.1.54+e5ed34e"}) is too old for Remote Control.
552571
+ if (cfg.min_version && lt("1.1.56+9173909", cfg.min_version)) {
552572
+ return `Your version of Vivus (${"1.1.56+9173909"}) is too old for Remote Control.
552552
552573
  Version ${cfg.min_version} or higher is required. Run \`vivus update\` to update.`;
552553
552574
  }
552554
552575
  return null;
@@ -553022,7 +553043,7 @@ async function initBridgeCore(params) {
553022
553043
  const rawApi = createBridgeApiClient({
553023
553044
  baseUrl,
553024
553045
  getAccessToken,
553025
- runnerVersion: "1.1.54+e5ed34e",
553046
+ runnerVersion: "1.1.56+9173909",
553026
553047
  onDebug: logForDebugging,
553027
553048
  onAuth401,
553028
553049
  getTrustedDeviceToken
@@ -558701,7 +558722,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
558701
558722
  setCwd(cwd3);
558702
558723
  const server = new Server({
558703
558724
  name: "vivus/tengu",
558704
- version: "1.1.54+e5ed34e"
558725
+ version: "1.1.56+9173909"
558705
558726
  }, {
558706
558727
  capabilities: {
558707
558728
  tools: {}
@@ -560434,7 +560455,7 @@ __export(exports_update, {
560434
560455
  });
560435
560456
  async function update() {
560436
560457
  logEvent("tengu_update_check", {});
560437
- writeToStdout(`Current version: ${"1.1.54+e5ed34e"}
560458
+ writeToStdout(`Current version: ${"1.1.56+9173909"}
560438
560459
  `);
560439
560460
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
560440
560461
  writeToStdout(`Checking for updates to ${channel} version...
@@ -560509,8 +560530,8 @@ async function update() {
560509
560530
  writeToStdout(`Vivus is managed by Homebrew.
560510
560531
  `);
560511
560532
  const latest = await getLatestVersion(channel);
560512
- if (latest && !gte("1.1.54+e5ed34e", latest)) {
560513
- writeToStdout(`Update available: ${"1.1.54+e5ed34e"} → ${latest}
560533
+ if (latest && !gte("1.1.56+9173909", latest)) {
560534
+ writeToStdout(`Update available: ${"1.1.56+9173909"} → ${latest}
560514
560535
  `);
560515
560536
  writeToStdout(`
560516
560537
  `);
@@ -560526,8 +560547,8 @@ async function update() {
560526
560547
  writeToStdout(`Vivus is managed by winget.
560527
560548
  `);
560528
560549
  const latest = await getLatestVersion(channel);
560529
- if (latest && !gte("1.1.54+e5ed34e", latest)) {
560530
- writeToStdout(`Update available: ${"1.1.54+e5ed34e"} → ${latest}
560550
+ if (latest && !gte("1.1.56+9173909", latest)) {
560551
+ writeToStdout(`Update available: ${"1.1.56+9173909"} → ${latest}
560531
560552
  `);
560532
560553
  writeToStdout(`
560533
560554
  `);
@@ -560543,8 +560564,8 @@ async function update() {
560543
560564
  writeToStdout(`Vivus is managed by apk.
560544
560565
  `);
560545
560566
  const latest = await getLatestVersion(channel);
560546
- if (latest && !gte("1.1.54+e5ed34e", latest)) {
560547
- writeToStdout(`Update available: ${"1.1.54+e5ed34e"} → ${latest}
560567
+ if (latest && !gte("1.1.56+9173909", latest)) {
560568
+ writeToStdout(`Update available: ${"1.1.56+9173909"} → ${latest}
560548
560569
  `);
560549
560570
  writeToStdout(`
560550
560571
  `);
@@ -560609,11 +560630,11 @@ async function update() {
560609
560630
  `);
560610
560631
  await gracefulShutdown(1);
560611
560632
  }
560612
- if (result.latestVersion === "1.1.54+e5ed34e") {
560613
- writeToStdout(source_default.green(`Vivus is up to date (${"1.1.54+e5ed34e"})`) + `
560633
+ if (result.latestVersion === "1.1.56+9173909") {
560634
+ writeToStdout(source_default.green(`Vivus is up to date (${"1.1.56+9173909"})`) + `
560614
560635
  `);
560615
560636
  } else {
560616
- writeToStdout(source_default.green(`Successfully updated from ${"1.1.54+e5ed34e"} to version ${result.latestVersion}`) + `
560637
+ writeToStdout(source_default.green(`Successfully updated from ${"1.1.56+9173909"} to version ${result.latestVersion}`) + `
560617
560638
  `);
560618
560639
  await regenerateCompletionCache();
560619
560640
  }
@@ -560670,12 +560691,12 @@ async function update() {
560670
560691
  `);
560671
560692
  await gracefulShutdown(1);
560672
560693
  }
560673
- if (latestVersion === "1.1.54+e5ed34e") {
560674
- writeToStdout(source_default.green(`Vivus is up to date (${"1.1.54+e5ed34e"})`) + `
560694
+ if (latestVersion === "1.1.56+9173909") {
560695
+ writeToStdout(source_default.green(`Vivus is up to date (${"1.1.56+9173909"})`) + `
560675
560696
  `);
560676
560697
  await gracefulShutdown(0);
560677
560698
  }
560678
- writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.54+e5ed34e"})
560699
+ writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.56+9173909"})
560679
560700
  `);
560680
560701
  writeToStdout(`Installing update...
560681
560702
  `);
@@ -560720,7 +560741,7 @@ async function update() {
560720
560741
  logForDebugging(`update: Installation status: ${status2}`);
560721
560742
  switch (status2) {
560722
560743
  case "success":
560723
- writeToStdout(source_default.green(`Successfully updated from ${"1.1.54+e5ed34e"} to version ${latestVersion}`) + `
560744
+ writeToStdout(source_default.green(`Successfully updated from ${"1.1.56+9173909"} to version ${latestVersion}`) + `
560724
560745
  `);
560725
560746
  await regenerateCompletionCache();
560726
560747
  break;
@@ -561694,7 +561715,7 @@ function completeOnboarding() {
561694
561715
  saveGlobalConfig((current) => ({
561695
561716
  ...current,
561696
561717
  hasCompletedOnboarding: true,
561697
- lastOnboardingVersion: "1.1.54+e5ed34e"
561718
+ lastOnboardingVersion: "1.1.56+9173909"
561698
561719
  }));
561699
561720
  }
561700
561721
  function showDialog(root2, renderer) {
@@ -565830,7 +565851,7 @@ ${customInstructions}` : customInstructions;
565830
565851
  }
565831
565852
  }
565832
565853
  logForDiagnosticsNoPII("info", "started", {
565833
- version: "1.1.54+e5ed34e",
565854
+ version: "1.1.56+9173909",
565834
565855
  is_native_binary: isInBundledMode()
565835
565856
  });
565836
565857
  registerCleanup(async () => {
@@ -566628,7 +566649,7 @@ Usage: vivus --remote "your task description"`, () => gracefulShutdown(1));
566628
566649
  pendingHookMessages
566629
566650
  }, renderAndRun);
566630
566651
  }
566631
- }).version("1.1.54+e5ed34e (Vivus)", "-v, --version", "Output the version number");
566652
+ }).version("1.1.56+9173909 (Vivus)", "-v, --version", "Output the version number");
566632
566653
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
566633
566654
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
566634
566655
  if (canUserConfigureAdvisor()) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vivus-agent",
3
- "version": "1.1.54",
3
+ "version": "1.1.56",
4
4
  "description": "Vivus — local AI coding agent",
5
5
  "type": "module",
6
6
  "main": "dist/main.js",