vivus-agent 1.1.3 → 1.1.5

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 +105 -88
  2. package/package.json +2 -1
package/dist/main.js CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env -S node --max-old-space-size=8192 --expose-gc
2
2
  // Vivus CLI — local AI coding agent
3
- // Built from source at 2026-06-15T14:19:02.347Z
3
+ // Built from source at 2026-06-18T00:28:09.607Z
4
4
  import { createRequire } from "node:module";
5
5
  var __create = Object.create;
6
6
  var __getProtoOf = Object.getPrototypeOf;
@@ -115978,7 +115978,7 @@ var init_auth = __esm(() => {
115978
115978
 
115979
115979
  // src/utils/userAgent.ts
115980
115980
  function getVivusCodeUserAgent() {
115981
- return `vivus/${"1.1.3+f21087e-dirty"}`;
115981
+ return `vivus/${"1.1.5+326dcfc-dirty"}`;
115982
115982
  }
115983
115983
 
115984
115984
  // src/utils/workloadContext.ts
@@ -116000,7 +116000,7 @@ function getUserAgent() {
116000
116000
  const clientApp = process.env.VIVUS_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.VIVUS_AGENT_SDK_CLIENT_APP}` : "";
116001
116001
  const workload = getWorkload();
116002
116002
  const workloadSuffix = workload ? `, workload/${workload}` : "";
116003
- return `vivus-cli/${"1.1.3+f21087e-dirty"} (${process.env.USER_TYPE}, ${process.env.VIVUS_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
116003
+ return `vivus-cli/${"1.1.5+326dcfc-dirty"} (${process.env.USER_TYPE}, ${process.env.VIVUS_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
116004
116004
  }
116005
116005
  function getMCPUserAgent() {
116006
116006
  const parts = [];
@@ -116014,7 +116014,7 @@ function getMCPUserAgent() {
116014
116014
  parts.push(`client-app/${process.env.VIVUS_AGENT_SDK_CLIENT_APP}`);
116015
116015
  }
116016
116016
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
116017
- return `vivus/${"1.1.3+f21087e-dirty"}${suffix}`;
116017
+ return `vivus/${"1.1.5+326dcfc-dirty"}${suffix}`;
116018
116018
  }
116019
116019
  function getWebFetchUserAgent() {
116020
116020
  return `Vivus-User (${getVivusCodeUserAgent()}; +https://support.anthropic.com/)`;
@@ -116152,7 +116152,7 @@ var init_user = __esm(() => {
116152
116152
  deviceId,
116153
116153
  sessionId: getSessionId(),
116154
116154
  email: getEmail(),
116155
- appVersion: "1.1.3+f21087e-dirty",
116155
+ appVersion: "1.1.5+326dcfc-dirty",
116156
116156
  platform: getHostPlatformForAnalytics(),
116157
116157
  organizationUuid,
116158
116158
  accountUuid,
@@ -127818,7 +127818,7 @@ var init_metadata = __esm(() => {
127818
127818
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
127819
127819
  WHITESPACE_REGEX = /\s+/;
127820
127820
  getVersionBase = memoize_default(() => {
127821
- const match = "1.1.3+f21087e-dirty".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
127821
+ const match = "1.1.5+326dcfc-dirty".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
127822
127822
  return match ? match[0] : undefined;
127823
127823
  });
127824
127824
  buildEnvContext = memoize_default(async () => {
@@ -127858,9 +127858,9 @@ var init_metadata = __esm(() => {
127858
127858
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
127859
127859
  isVivusCodeAction: isEnvTruthy(process.env.VIVUS_CODE_ACTION),
127860
127860
  isVivusAiAuth: isVivusAISubscriber(),
127861
- version: "1.1.3+f21087e-dirty",
127861
+ version: "1.1.5+326dcfc-dirty",
127862
127862
  versionBase: getVersionBase(),
127863
- buildTime: "2026-06-15T14:19:01.820Z",
127863
+ buildTime: "2026-06-18T00:28:09.014Z",
127864
127864
  deploymentEnvironment: env2.detectDeploymentEnvironment(),
127865
127865
  ...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
127866
127866
  githubEventName: process.env.GITHUB_EVENT_NAME,
@@ -128528,7 +128528,7 @@ function initialize1PEventLogging() {
128528
128528
  const platform2 = getPlatform();
128529
128529
  const attributes = {
128530
128530
  [import_semantic_conventions.ATTR_SERVICE_NAME]: "vivus",
128531
- [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.1.3+f21087e-dirty"
128531
+ [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.1.5+326dcfc-dirty"
128532
128532
  };
128533
128533
  if (platform2 === "wsl") {
128534
128534
  const wslVersion = getWslVersion();
@@ -128555,7 +128555,7 @@ function initialize1PEventLogging() {
128555
128555
  })
128556
128556
  ]
128557
128557
  });
128558
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.vivus_code.events", "1.1.3+f21087e-dirty");
128558
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.vivus_code.events", "1.1.5+326dcfc-dirty");
128559
128559
  }
128560
128560
  async function reinitialize1PEventLoggingIfConfigChanged() {
128561
128561
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -132671,6 +132671,22 @@ function clampChalkLevelForTmux() {
132671
132671
  }
132672
132672
  return false;
132673
132673
  }
132674
+ function boostChalkLevelForTrueColorTTY() {
132675
+ if (!process.stdout.isTTY)
132676
+ return false;
132677
+ if (process.env.NO_COLOR !== undefined)
132678
+ return false;
132679
+ if (process.env.FORCE_COLOR !== undefined)
132680
+ return false;
132681
+ if (process.env.COLORTERM)
132682
+ return false;
132683
+ if ((process.env.TERM ?? "") === "dumb")
132684
+ return false;
132685
+ if (source_default.level >= 3)
132686
+ return false;
132687
+ source_default.level = 3;
132688
+ return true;
132689
+ }
132674
132690
  function applyTextStyles(text, styles3) {
132675
132691
  let result = text;
132676
132692
  if (styles3.inverse) {
@@ -132705,7 +132721,7 @@ function applyColor(text, color) {
132705
132721
  }
132706
132722
  return colorize(text, color, "foreground");
132707
132723
  }
132708
- var CHALK_BOOSTED_FOR_XTERMJS, CHALK_CLAMPED_FOR_TMUX, RGB_REGEX, ANSI_REGEX, colorize = (str, color, type) => {
132724
+ var CHALK_BOOSTED_FOR_XTERMJS, CHALK_BOOSTED_FOR_TRUECOLOR_TTY, CHALK_CLAMPED_FOR_TMUX, RGB_REGEX, ANSI_REGEX, colorize = (str, color, type) => {
132709
132725
  if (!color) {
132710
132726
  return str;
132711
132727
  }
@@ -132772,6 +132788,7 @@ var CHALK_BOOSTED_FOR_XTERMJS, CHALK_CLAMPED_FOR_TMUX, RGB_REGEX, ANSI_REGEX, co
132772
132788
  var init_colorize = __esm(() => {
132773
132789
  init_source();
132774
132790
  CHALK_BOOSTED_FOR_XTERMJS = boostChalkLevelForXtermJs();
132791
+ CHALK_BOOSTED_FOR_TRUECOLOR_TTY = boostChalkLevelForTrueColorTTY();
132775
132792
  CHALK_CLAMPED_FOR_TMUX = clampChalkLevelForTmux();
132776
132793
  RGB_REGEX = /^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/;
132777
132794
  ANSI_REGEX = /^ansi256\(\s?(\d+)\s?\)$/;
@@ -162643,7 +162660,7 @@ function getAttributionHeader(fingerprint) {
162643
162660
  if (!isAttributionHeaderEnabled()) {
162644
162661
  return "";
162645
162662
  }
162646
- const version2 = `${"1.1.3+f21087e-dirty"}.${fingerprint}`;
162663
+ const version2 = `${"1.1.5+326dcfc-dirty"}.${fingerprint}`;
162647
162664
  const entrypoint = process.env.VIVUS_CODE_ENTRYPOINT ?? "unknown";
162648
162665
  const cch = "";
162649
162666
  const workload = getWorkload();
@@ -175806,7 +175823,7 @@ function getTelemetryAttributes() {
175806
175823
  attributes["session.id"] = sessionId;
175807
175824
  }
175808
175825
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
175809
- attributes["app.version"] = "1.1.3+f21087e-dirty";
175826
+ attributes["app.version"] = "1.1.5+326dcfc-dirty";
175810
175827
  }
175811
175828
  const oauthAccount = getOauthAccountInfo();
175812
175829
  if (oauthAccount) {
@@ -242355,7 +242372,7 @@ function computeFingerprint(messageText, version2) {
242355
242372
  }
242356
242373
  function computeFingerprintFromMessages(messages) {
242357
242374
  const firstMessageText = extractFirstMessageText(messages);
242358
- return computeFingerprint(firstMessageText, "1.1.3+f21087e-dirty");
242375
+ return computeFingerprint(firstMessageText, "1.1.5+326dcfc-dirty");
242359
242376
  }
242360
242377
  var FINGERPRINT_SALT = "59cf53e54c78";
242361
242378
  var init_fingerprint = () => {};
@@ -242397,7 +242414,7 @@ async function sideQuery(opts) {
242397
242414
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
242398
242415
  }
242399
242416
  const messageText = extractFirstUserMessageText(messages);
242400
- const fingerprint = computeFingerprint(messageText, "1.1.3+f21087e-dirty");
242417
+ const fingerprint = computeFingerprint(messageText, "1.1.5+326dcfc-dirty");
242401
242418
  const attributionHeader = getAttributionHeader(fingerprint);
242402
242419
  const systemBlocks = [
242403
242420
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -243549,7 +243566,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
243549
243566
  const client2 = new Client({
243550
243567
  name: "vivus",
243551
243568
  title: "Vivus",
243552
- version: "1.1.3+f21087e-dirty",
243569
+ version: "1.1.5+326dcfc-dirty",
243553
243570
  description: "Anthropic's agentic coding tool",
243554
243571
  websiteUrl: PRODUCT_URL
243555
243572
  }, {
@@ -243903,7 +243920,7 @@ var init_client6 = __esm(() => {
243903
243920
  const client2 = new Client({
243904
243921
  name: "vivus",
243905
243922
  title: "Vivus",
243906
- version: "1.1.3+f21087e-dirty",
243923
+ version: "1.1.5+326dcfc-dirty",
243907
243924
  description: "Anthropic's agentic coding tool",
243908
243925
  websiteUrl: PRODUCT_URL
243909
243926
  }, {
@@ -245961,7 +245978,7 @@ function getInstallationEnv() {
245961
245978
  return;
245962
245979
  }
245963
245980
  function getVivusCodeVersion() {
245964
- return "1.1.3+f21087e-dirty";
245981
+ return "1.1.5+326dcfc-dirty";
245965
245982
  }
245966
245983
  async function getInstalledVSCodeExtensionVersion(command) {
245967
245984
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -278451,7 +278468,7 @@ async function initializeBetaTracing(resource) {
278451
278468
  });
278452
278469
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
278453
278470
  setLoggerProvider(loggerProvider);
278454
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.3+f21087e-dirty");
278471
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.5+326dcfc-dirty");
278455
278472
  setEventLogger(eventLogger);
278456
278473
  process.on("beforeExit", async () => {
278457
278474
  await loggerProvider?.forceFlush();
@@ -278491,7 +278508,7 @@ async function initializeTelemetry() {
278491
278508
  const platform5 = getPlatform();
278492
278509
  const baseAttributes = {
278493
278510
  [import_semantic_conventions2.ATTR_SERVICE_NAME]: "vivus",
278494
- [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.1.3+f21087e-dirty"
278511
+ [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.1.5+326dcfc-dirty"
278495
278512
  };
278496
278513
  if (platform5 === "wsl") {
278497
278514
  const wslVersion = getWslVersion();
@@ -278536,7 +278553,7 @@ async function initializeTelemetry() {
278536
278553
  } catch {}
278537
278554
  };
278538
278555
  registerCleanup(shutdownTelemetry2);
278539
- return meterProvider2.getMeter("com.anthropic.vivus_code", "1.1.3+f21087e-dirty");
278556
+ return meterProvider2.getMeter("com.anthropic.vivus_code", "1.1.5+326dcfc-dirty");
278540
278557
  }
278541
278558
  const meterProvider = new import_sdk_metrics2.MeterProvider({
278542
278559
  resource,
@@ -278556,7 +278573,7 @@ async function initializeTelemetry() {
278556
278573
  });
278557
278574
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
278558
278575
  setLoggerProvider(loggerProvider);
278559
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.3+f21087e-dirty");
278576
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.5+326dcfc-dirty");
278560
278577
  setEventLogger(eventLogger);
278561
278578
  logForDebugging("[3P telemetry] Event logger set successfully");
278562
278579
  process.on("beforeExit", async () => {
@@ -278618,7 +278635,7 @@ Current timeout: ${timeoutMs}ms
278618
278635
  }
278619
278636
  };
278620
278637
  registerCleanup(shutdownTelemetry);
278621
- return meterProvider.getMeter("com.anthropic.vivus_code", "1.1.3+f21087e-dirty");
278638
+ return meterProvider.getMeter("com.anthropic.vivus_code", "1.1.5+326dcfc-dirty");
278622
278639
  }
278623
278640
  async function flushTelemetry() {
278624
278641
  const meterProvider = getMeterProvider();
@@ -279304,9 +279321,9 @@ async function assertMinVersion() {
279304
279321
  if (false) {}
279305
279322
  try {
279306
279323
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
279307
- if (versionConfig.minVersion && lt("1.1.3+f21087e-dirty", versionConfig.minVersion)) {
279324
+ if (versionConfig.minVersion && lt("1.1.5+326dcfc-dirty", versionConfig.minVersion)) {
279308
279325
  console.error(`
279309
- It looks like your version of Vivus (${"1.1.3+f21087e-dirty"}) needs an update.
279326
+ It looks like your version of Vivus (${"1.1.5+326dcfc-dirty"}) needs an update.
279310
279327
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
279311
279328
 
279312
279329
  To update, please run:
@@ -279522,7 +279539,7 @@ async function installGlobalPackage(specificVersion) {
279522
279539
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
279523
279540
  logEvent("tengu_auto_updater_lock_contention", {
279524
279541
  pid: process.pid,
279525
- currentVersion: "1.1.3+f21087e-dirty"
279542
+ currentVersion: "1.1.5+326dcfc-dirty"
279526
279543
  });
279527
279544
  return "in_progress";
279528
279545
  }
@@ -279531,7 +279548,7 @@ async function installGlobalPackage(specificVersion) {
279531
279548
  if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
279532
279549
  logError2(new Error("Windows NPM detected in WSL environment"));
279533
279550
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
279534
- currentVersion: "1.1.3+f21087e-dirty"
279551
+ currentVersion: "1.1.5+326dcfc-dirty"
279535
279552
  });
279536
279553
  console.error(`
279537
279554
  Error: Windows NPM detected in WSL
@@ -280064,7 +280081,7 @@ function detectLinuxGlobPatternWarnings() {
280064
280081
  }
280065
280082
  async function getDoctorDiagnostic() {
280066
280083
  const installationType = await getCurrentInstallationType();
280067
- const version2 = typeof MACRO !== "undefined" ? "1.1.3+f21087e-dirty" : "unknown";
280084
+ const version2 = typeof MACRO !== "undefined" ? "1.1.5+326dcfc-dirty" : "unknown";
280068
280085
  const installationPath = await getInstallationPath();
280069
280086
  const invokedBinary = getInvokedBinary();
280070
280087
  const multipleInstallations = await detectMultipleInstallations();
@@ -280997,8 +281014,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
280997
281014
  const maxVersion = await getMaxVersion();
280998
281015
  if (maxVersion && gt(version2, maxVersion)) {
280999
281016
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
281000
- if (gte("1.1.3+f21087e-dirty", maxVersion)) {
281001
- logForDebugging(`Native installer: current version ${"1.1.3+f21087e-dirty"} is already at or above maxVersion ${maxVersion}, skipping update`);
281017
+ if (gte("1.1.5+326dcfc-dirty", maxVersion)) {
281018
+ logForDebugging(`Native installer: current version ${"1.1.5+326dcfc-dirty"} is already at or above maxVersion ${maxVersion}, skipping update`);
281002
281019
  logEvent("tengu_native_update_skipped_max_version", {
281003
281020
  latency_ms: Date.now() - startTime,
281004
281021
  max_version: maxVersion,
@@ -281009,7 +281026,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
281009
281026
  version2 = maxVersion;
281010
281027
  }
281011
281028
  }
281012
- if (!forceReinstall && version2 === "1.1.3+f21087e-dirty" && await versionIsAvailable(version2) && await isPossibleVivusBinary(executablePath)) {
281029
+ if (!forceReinstall && version2 === "1.1.5+326dcfc-dirty" && await versionIsAvailable(version2) && await isPossibleVivusBinary(executablePath)) {
281013
281030
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
281014
281031
  logEvent("tengu_native_update_complete", {
281015
281032
  latency_ms: Date.now() - startTime,
@@ -336922,7 +336939,7 @@ function getAnthropicEnvMetadata() {
336922
336939
  function getBuildAgeMinutes() {
336923
336940
  if (false)
336924
336941
  ;
336925
- const buildTime = new Date("2026-06-15T14:19:01.820Z").getTime();
336942
+ const buildTime = new Date("2026-06-18T00:28:09.014Z").getTime();
336926
336943
  if (isNaN(buildTime))
336927
336944
  return;
336928
336945
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -384138,7 +384155,7 @@ var init_filesystem = __esm(() => {
384138
384155
  });
384139
384156
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
384140
384157
  const nonce = randomBytes17(16).toString("hex");
384141
- return join106(getVivusTempDir(), "bundled-skills", "1.1.3+f21087e-dirty", nonce);
384158
+ return join106(getVivusTempDir(), "bundled-skills", "1.1.5+326dcfc-dirty", nonce);
384142
384159
  });
384143
384160
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
384144
384161
  });
@@ -385898,7 +385915,7 @@ function Feedback({
385898
385915
  platform: env2.platform,
385899
385916
  gitRepo: envInfo.isGit,
385900
385917
  terminal: env2.terminal,
385901
- version: "1.1.3+f21087e-dirty",
385918
+ version: "1.1.5+326dcfc-dirty",
385902
385919
  transcript: normalizeMessagesForAPI(messages),
385903
385920
  errors: sanitizedErrors,
385904
385921
  lastApiRequest: getLastAPIRequest(),
@@ -386090,7 +386107,7 @@ function Feedback({
386090
386107
  ", ",
386091
386108
  env2.terminal,
386092
386109
  ", v",
386093
- "1.1.3+f21087e-dirty"
386110
+ "1.1.5+326dcfc-dirty"
386094
386111
  ]
386095
386112
  }, undefined, true, undefined, this)
386096
386113
  ]
@@ -386196,7 +386213,7 @@ ${sanitizedDescription}
386196
386213
  ` + `**Environment Info**
386197
386214
  ` + `- Platform: ${env2.platform}
386198
386215
  ` + `- Terminal: ${env2.terminal}
386199
- ` + `- Version: ${"1.1.3+f21087e-dirty"}
386216
+ ` + `- Version: ${"1.1.5+326dcfc-dirty"}
386200
386217
  ` + `- Feedback ID: ${feedbackId}
386201
386218
  ` + `
386202
386219
  **Errors**
@@ -389327,7 +389344,7 @@ function buildPrimarySection() {
389327
389344
  }, undefined, false, undefined, this);
389328
389345
  return [{
389329
389346
  label: "Version",
389330
- value: "1.1.3+f21087e-dirty"
389347
+ value: "1.1.5+326dcfc-dirty"
389331
389348
  }, {
389332
389349
  label: "Session name",
389333
389350
  value: nameValue
@@ -393078,7 +393095,7 @@ function Config({
393078
393095
  }
393079
393096
  }, undefined, false, undefined, this)
393080
393097
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(ChannelDowngradeDialog, {
393081
- currentVersion: "1.1.3+f21087e-dirty",
393098
+ currentVersion: "1.1.5+326dcfc-dirty",
393082
393099
  onChoice: (choice) => {
393083
393100
  setShowSubmenu(null);
393084
393101
  setTabsHidden(false);
@@ -393090,7 +393107,7 @@ function Config({
393090
393107
  autoUpdatesChannel: "stable"
393091
393108
  };
393092
393109
  if (choice === "stay") {
393093
- newSettings.minimumVersion = "1.1.3+f21087e-dirty";
393110
+ newSettings.minimumVersion = "1.1.5+326dcfc-dirty";
393094
393111
  }
393095
393112
  updateSettingsForSource("userSettings", newSettings);
393096
393113
  setSettingsData((prev_27) => ({
@@ -401176,7 +401193,7 @@ function HelpV2(t0) {
401176
401193
  let t6;
401177
401194
  if ($2[31] !== tabs) {
401178
401195
  t6 = /* @__PURE__ */ jsx_dev_runtime205.jsxDEV(Tabs, {
401179
- title: `Vivus v${"1.1.3+f21087e-dirty"}`,
401196
+ title: `Vivus v${"1.1.5+326dcfc-dirty"}`,
401180
401197
  color: "professionalBlue",
401181
401198
  defaultTab: "general",
401182
401199
  children: tabs
@@ -425402,7 +425419,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
425402
425419
  return [];
425403
425420
  }
425404
425421
  }
425405
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.3+f21087e-dirty") {
425422
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.5+326dcfc-dirty") {
425406
425423
  if (process.env.USER_TYPE === "ant") {
425407
425424
  const changelog = "";
425408
425425
  if (changelog) {
@@ -425429,7 +425446,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.3+f21
425429
425446
  releaseNotes
425430
425447
  };
425431
425448
  }
425432
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.3+f21087e-dirty") {
425449
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.5+326dcfc-dirty") {
425433
425450
  if (process.env.USER_TYPE === "ant") {
425434
425451
  const changelog = "";
425435
425452
  if (changelog) {
@@ -426599,7 +426616,7 @@ function getRecentActivitySync() {
426599
426616
  return cachedActivity;
426600
426617
  }
426601
426618
  function getLogoDisplayData() {
426602
- const version2 = process.env.DEMO_VERSION ?? "1.1.3+f21087e-dirty";
426619
+ const version2 = process.env.DEMO_VERSION ?? "1.1.5+326dcfc-dirty";
426603
426620
  const serverUrl = getDirectConnectServerUrl();
426604
426621
  const displayPath = process.env.DEMO_VERSION ? "/code/vivus" : getDisplayPath(getCwd());
426605
426622
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -428126,7 +428143,7 @@ function LogoV2() {
428126
428143
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
428127
428144
  t2 = () => {
428128
428145
  const currentConfig = getGlobalConfig();
428129
- if (currentConfig.lastReleaseNotesSeen === "1.1.3+f21087e-dirty") {
428146
+ if (currentConfig.lastReleaseNotesSeen === "1.1.5+326dcfc-dirty") {
428130
428147
  return;
428131
428148
  }
428132
428149
  saveGlobalConfig(_temp329);
@@ -428802,12 +428819,12 @@ function LogoV2() {
428802
428819
  return t41;
428803
428820
  }
428804
428821
  function _temp329(current) {
428805
- if (current.lastReleaseNotesSeen === "1.1.3+f21087e-dirty") {
428822
+ if (current.lastReleaseNotesSeen === "1.1.5+326dcfc-dirty") {
428806
428823
  return current;
428807
428824
  }
428808
428825
  return {
428809
428826
  ...current,
428810
- lastReleaseNotesSeen: "1.1.3+f21087e-dirty"
428827
+ lastReleaseNotesSeen: "1.1.5+326dcfc-dirty"
428811
428828
  };
428812
428829
  }
428813
428830
  function _temp245(s_0) {
@@ -455104,7 +455121,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
455104
455121
  smapsRollup,
455105
455122
  platform: process.platform,
455106
455123
  nodeVersion: process.version,
455107
- ccVersion: "1.1.3+f21087e-dirty"
455124
+ ccVersion: "1.1.5+326dcfc-dirty"
455108
455125
  };
455109
455126
  }
455110
455127
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -455690,7 +455707,7 @@ var init_bridge_kick = __esm(() => {
455690
455707
  var call56 = async () => {
455691
455708
  return {
455692
455709
  type: "text",
455693
- value: `${"1.1.3+f21087e-dirty"} (built ${"2026-06-15T14:19:01.820Z"})`
455710
+ value: `${"1.1.5+326dcfc-dirty"} (built ${"2026-06-18T00:28:09.014Z"})`
455694
455711
  };
455695
455712
  }, version2, version_default;
455696
455713
  var init_version = __esm(() => {
@@ -464653,7 +464670,7 @@ function generateHtmlReport(data, insights) {
464653
464670
  </html>`;
464654
464671
  }
464655
464672
  function buildExportData(data, insights, facets, remoteStats) {
464656
- const version3 = typeof MACRO !== "undefined" ? "1.1.3+f21087e-dirty" : "unknown";
464673
+ const version3 = typeof MACRO !== "undefined" ? "1.1.5+326dcfc-dirty" : "unknown";
464657
464674
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
464658
464675
  const facets_summary = {
464659
464676
  total: facets.size,
@@ -468762,7 +468779,7 @@ var init_sessionStorage = __esm(() => {
468762
468779
  init_settings2();
468763
468780
  init_slowOperations();
468764
468781
  init_uuid();
468765
- VERSION5 = typeof MACRO !== "undefined" ? "1.1.3+f21087e-dirty" : "unknown";
468782
+ VERSION5 = typeof MACRO !== "undefined" ? "1.1.5+326dcfc-dirty" : "unknown";
468766
468783
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
468767
468784
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
468768
468785
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -471633,7 +471650,7 @@ function buildSystemInitMessage(inputs) {
471633
471650
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
471634
471651
  apiKeySource: getAnthropicApiKeyWithSource().source,
471635
471652
  betas: getSdkBetas(),
471636
- vivus_code_version: "1.1.3+f21087e-dirty",
471653
+ vivus_code_version: "1.1.5+326dcfc-dirty",
471637
471654
  output_style: outputStyle2,
471638
471655
  agents: inputs.agents.map((agent) => agent.agentType),
471639
471656
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
@@ -486261,7 +486278,7 @@ var init_useVoiceEnabled = __esm(() => {
486261
486278
  function getSemverPart(version3) {
486262
486279
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
486263
486280
  }
486264
- function useUpdateNotification(updatedVersion, initialVersion = "1.1.3+f21087e-dirty") {
486281
+ function useUpdateNotification(updatedVersion, initialVersion = "1.1.5+326dcfc-dirty") {
486265
486282
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react227.useState(() => getSemverPart(initialVersion));
486266
486283
  if (!updatedVersion) {
486267
486284
  return null;
@@ -486301,7 +486318,7 @@ function AutoUpdater({
486301
486318
  return;
486302
486319
  }
486303
486320
  if (false) {}
486304
- const currentVersion = "1.1.3+f21087e-dirty";
486321
+ const currentVersion = "1.1.5+326dcfc-dirty";
486305
486322
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
486306
486323
  let latestVersion = await getLatestVersion(channel);
486307
486324
  const isDisabled = isAutoUpdaterDisabled();
@@ -486514,12 +486531,12 @@ function NativeAutoUpdater({
486514
486531
  logEvent("tengu_native_auto_updater_start", {});
486515
486532
  try {
486516
486533
  const maxVersion = await getMaxVersion();
486517
- if (maxVersion && gt("1.1.3+f21087e-dirty", maxVersion)) {
486534
+ if (maxVersion && gt("1.1.5+326dcfc-dirty", maxVersion)) {
486518
486535
  const msg = await getMaxVersionMessage();
486519
486536
  setMaxVersionIssue(msg ?? "affects your version");
486520
486537
  }
486521
486538
  const result = await installLatest(channel);
486522
- const currentVersion = "1.1.3+f21087e-dirty";
486539
+ const currentVersion = "1.1.5+326dcfc-dirty";
486523
486540
  const latencyMs = Date.now() - startTime;
486524
486541
  if (result.lockFailed) {
486525
486542
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -486656,17 +486673,17 @@ function PackageManagerAutoUpdater(t0) {
486656
486673
  const maxVersion = await getMaxVersion();
486657
486674
  if (maxVersion && latest && gt(latest, maxVersion)) {
486658
486675
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
486659
- if (gte("1.1.3+f21087e-dirty", maxVersion)) {
486660
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.3+f21087e-dirty"} is already at or above maxVersion ${maxVersion}, skipping update`);
486676
+ if (gte("1.1.5+326dcfc-dirty", maxVersion)) {
486677
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.5+326dcfc-dirty"} is already at or above maxVersion ${maxVersion}, skipping update`);
486661
486678
  setUpdateAvailable(false);
486662
486679
  return;
486663
486680
  }
486664
486681
  latest = maxVersion;
486665
486682
  }
486666
- const hasUpdate = latest && !gte("1.1.3+f21087e-dirty", latest) && !shouldSkipVersion(latest);
486683
+ const hasUpdate = latest && !gte("1.1.5+326dcfc-dirty", latest) && !shouldSkipVersion(latest);
486667
486684
  setUpdateAvailable(!!hasUpdate);
486668
486685
  if (hasUpdate) {
486669
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.3+f21087e-dirty"} -> ${latest}`);
486686
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.5+326dcfc-dirty"} -> ${latest}`);
486670
486687
  }
486671
486688
  };
486672
486689
  $2[0] = t1;
@@ -486700,7 +486717,7 @@ function PackageManagerAutoUpdater(t0) {
486700
486717
  wrap: "truncate",
486701
486718
  children: [
486702
486719
  "currentVersion: ",
486703
- "1.1.3+f21087e-dirty"
486720
+ "1.1.5+326dcfc-dirty"
486704
486721
  ]
486705
486722
  }, undefined, true, undefined, this);
486706
486723
  $2[3] = verbose;
@@ -494868,7 +494885,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
494868
494885
  project_dir: getOriginalCwd(),
494869
494886
  added_dirs: addedDirs
494870
494887
  },
494871
- version: "1.1.3+f21087e-dirty",
494888
+ version: "1.1.5+326dcfc-dirty",
494872
494889
  output_style: {
494873
494890
  name: outputStyleName
494874
494891
  },
@@ -506352,7 +506369,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
506352
506369
  } catch {}
506353
506370
  const data = {
506354
506371
  trigger,
506355
- version: "1.1.3+f21087e-dirty",
506372
+ version: "1.1.5+326dcfc-dirty",
506356
506373
  platform: process.platform,
506357
506374
  transcript,
506358
506375
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -517768,7 +517785,7 @@ function WelcomeV2() {
517768
517785
  dimColor: true,
517769
517786
  children: [
517770
517787
  "v",
517771
- "1.1.3+f21087e-dirty",
517788
+ "1.1.5+326dcfc-dirty",
517772
517789
  " "
517773
517790
  ]
517774
517791
  }, undefined, true, undefined, this)
@@ -517968,7 +517985,7 @@ function WelcomeV2() {
517968
517985
  dimColor: true,
517969
517986
  children: [
517970
517987
  "v",
517971
- "1.1.3+f21087e-dirty",
517988
+ "1.1.5+326dcfc-dirty",
517972
517989
  " "
517973
517990
  ]
517974
517991
  }, undefined, true, undefined, this)
@@ -518194,7 +518211,7 @@ function AppleTerminalWelcomeV2(t0) {
518194
518211
  dimColor: true,
518195
518212
  children: [
518196
518213
  "v",
518197
- "1.1.3+f21087e-dirty",
518214
+ "1.1.5+326dcfc-dirty",
518198
518215
  " "
518199
518216
  ]
518200
518217
  }, undefined, true, undefined, this);
@@ -518448,7 +518465,7 @@ function AppleTerminalWelcomeV2(t0) {
518448
518465
  dimColor: true,
518449
518466
  children: [
518450
518467
  "v",
518451
- "1.1.3+f21087e-dirty",
518468
+ "1.1.5+326dcfc-dirty",
518452
518469
  " "
518453
518470
  ]
518454
518471
  }, undefined, true, undefined, this);
@@ -521512,7 +521529,7 @@ function appendToLog(path25, message) {
521512
521529
  cwd: getFsImplementation().cwd(),
521513
521530
  userType: process.env.USER_TYPE,
521514
521531
  sessionId: getSessionId(),
521515
- version: "1.1.3+f21087e-dirty"
521532
+ version: "1.1.5+326dcfc-dirty"
521516
521533
  };
521517
521534
  getLogWriter(path25).write(messageWithTimestamp);
521518
521535
  }
@@ -525497,8 +525514,8 @@ async function getEnvLessBridgeConfig() {
525497
525514
  }
525498
525515
  async function checkEnvLessBridgeMinVersion() {
525499
525516
  const cfg = await getEnvLessBridgeConfig();
525500
- if (cfg.min_version && lt("1.1.3+f21087e-dirty", cfg.min_version)) {
525501
- return `Your version of Vivus (${"1.1.3+f21087e-dirty"}) is too old for Remote Control.
525517
+ if (cfg.min_version && lt("1.1.5+326dcfc-dirty", cfg.min_version)) {
525518
+ return `Your version of Vivus (${"1.1.5+326dcfc-dirty"}) is too old for Remote Control.
525502
525519
  Version ${cfg.min_version} or higher is required. Run \`vivus update\` to update.`;
525503
525520
  }
525504
525521
  return null;
@@ -525972,7 +525989,7 @@ async function initBridgeCore(params) {
525972
525989
  const rawApi = createBridgeApiClient({
525973
525990
  baseUrl,
525974
525991
  getAccessToken,
525975
- runnerVersion: "1.1.3+f21087e-dirty",
525992
+ runnerVersion: "1.1.5+326dcfc-dirty",
525976
525993
  onDebug: logForDebugging,
525977
525994
  onAuth401,
525978
525995
  getTrustedDeviceToken
@@ -531636,7 +531653,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
531636
531653
  setCwd(cwd3);
531637
531654
  const server = new Server({
531638
531655
  name: "vivus/tengu",
531639
- version: "1.1.3+f21087e-dirty"
531656
+ version: "1.1.5+326dcfc-dirty"
531640
531657
  }, {
531641
531658
  capabilities: {
531642
531659
  tools: {}
@@ -533247,7 +533264,7 @@ __export(exports_update, {
533247
533264
  });
533248
533265
  async function update() {
533249
533266
  logEvent("tengu_update_check", {});
533250
- writeToStdout(`Current version: ${"1.1.3+f21087e-dirty"}
533267
+ writeToStdout(`Current version: ${"1.1.5+326dcfc-dirty"}
533251
533268
  `);
533252
533269
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
533253
533270
  writeToStdout(`Checking for updates to ${channel} version...
@@ -533322,8 +533339,8 @@ async function update() {
533322
533339
  writeToStdout(`Vivus is managed by Homebrew.
533323
533340
  `);
533324
533341
  const latest = await getLatestVersion(channel);
533325
- if (latest && !gte("1.1.3+f21087e-dirty", latest)) {
533326
- writeToStdout(`Update available: ${"1.1.3+f21087e-dirty"} → ${latest}
533342
+ if (latest && !gte("1.1.5+326dcfc-dirty", latest)) {
533343
+ writeToStdout(`Update available: ${"1.1.5+326dcfc-dirty"} → ${latest}
533327
533344
  `);
533328
533345
  writeToStdout(`
533329
533346
  `);
@@ -533339,8 +533356,8 @@ async function update() {
533339
533356
  writeToStdout(`Vivus is managed by winget.
533340
533357
  `);
533341
533358
  const latest = await getLatestVersion(channel);
533342
- if (latest && !gte("1.1.3+f21087e-dirty", latest)) {
533343
- writeToStdout(`Update available: ${"1.1.3+f21087e-dirty"} → ${latest}
533359
+ if (latest && !gte("1.1.5+326dcfc-dirty", latest)) {
533360
+ writeToStdout(`Update available: ${"1.1.5+326dcfc-dirty"} → ${latest}
533344
533361
  `);
533345
533362
  writeToStdout(`
533346
533363
  `);
@@ -533356,8 +533373,8 @@ async function update() {
533356
533373
  writeToStdout(`Vivus is managed by apk.
533357
533374
  `);
533358
533375
  const latest = await getLatestVersion(channel);
533359
- if (latest && !gte("1.1.3+f21087e-dirty", latest)) {
533360
- writeToStdout(`Update available: ${"1.1.3+f21087e-dirty"} → ${latest}
533376
+ if (latest && !gte("1.1.5+326dcfc-dirty", latest)) {
533377
+ writeToStdout(`Update available: ${"1.1.5+326dcfc-dirty"} → ${latest}
533361
533378
  `);
533362
533379
  writeToStdout(`
533363
533380
  `);
@@ -533422,11 +533439,11 @@ async function update() {
533422
533439
  `);
533423
533440
  await gracefulShutdown(1);
533424
533441
  }
533425
- if (result.latestVersion === "1.1.3+f21087e-dirty") {
533426
- writeToStdout(source_default.green(`Vivus is up to date (${"1.1.3+f21087e-dirty"})`) + `
533442
+ if (result.latestVersion === "1.1.5+326dcfc-dirty") {
533443
+ writeToStdout(source_default.green(`Vivus is up to date (${"1.1.5+326dcfc-dirty"})`) + `
533427
533444
  `);
533428
533445
  } else {
533429
- writeToStdout(source_default.green(`Successfully updated from ${"1.1.3+f21087e-dirty"} to version ${result.latestVersion}`) + `
533446
+ writeToStdout(source_default.green(`Successfully updated from ${"1.1.5+326dcfc-dirty"} to version ${result.latestVersion}`) + `
533430
533447
  `);
533431
533448
  await regenerateCompletionCache();
533432
533449
  }
@@ -533483,12 +533500,12 @@ async function update() {
533483
533500
  `);
533484
533501
  await gracefulShutdown(1);
533485
533502
  }
533486
- if (latestVersion === "1.1.3+f21087e-dirty") {
533487
- writeToStdout(source_default.green(`Vivus is up to date (${"1.1.3+f21087e-dirty"})`) + `
533503
+ if (latestVersion === "1.1.5+326dcfc-dirty") {
533504
+ writeToStdout(source_default.green(`Vivus is up to date (${"1.1.5+326dcfc-dirty"})`) + `
533488
533505
  `);
533489
533506
  await gracefulShutdown(0);
533490
533507
  }
533491
- writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.3+f21087e-dirty"})
533508
+ writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.5+326dcfc-dirty"})
533492
533509
  `);
533493
533510
  writeToStdout(`Installing update...
533494
533511
  `);
@@ -533533,7 +533550,7 @@ async function update() {
533533
533550
  logForDebugging(`update: Installation status: ${status2}`);
533534
533551
  switch (status2) {
533535
533552
  case "success":
533536
- writeToStdout(source_default.green(`Successfully updated from ${"1.1.3+f21087e-dirty"} to version ${latestVersion}`) + `
533553
+ writeToStdout(source_default.green(`Successfully updated from ${"1.1.5+326dcfc-dirty"} to version ${latestVersion}`) + `
533537
533554
  `);
533538
533555
  await regenerateCompletionCache();
533539
533556
  break;
@@ -534504,7 +534521,7 @@ function completeOnboarding() {
534504
534521
  saveGlobalConfig((current) => ({
534505
534522
  ...current,
534506
534523
  hasCompletedOnboarding: true,
534507
- lastOnboardingVersion: "1.1.3+f21087e-dirty"
534524
+ lastOnboardingVersion: "1.1.5+326dcfc-dirty"
534508
534525
  }));
534509
534526
  }
534510
534527
  function showDialog(root2, renderer) {
@@ -538674,7 +538691,7 @@ ${customInstructions}` : customInstructions;
538674
538691
  }
538675
538692
  }
538676
538693
  logForDiagnosticsNoPII("info", "started", {
538677
- version: "1.1.3+f21087e-dirty",
538694
+ version: "1.1.5+326dcfc-dirty",
538678
538695
  is_native_binary: isInBundledMode()
538679
538696
  });
538680
538697
  registerCleanup(async () => {
@@ -539458,7 +539475,7 @@ Usage: vivus --remote "your task description"`, () => gracefulShutdown(1));
539458
539475
  pendingHookMessages
539459
539476
  }, renderAndRun);
539460
539477
  }
539461
- }).version("1.1.3+f21087e-dirty (Vivus)", "-v, --version", "Output the version number");
539478
+ }).version("1.1.5+326dcfc-dirty (Vivus)", "-v, --version", "Output the version number");
539462
539479
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
539463
539480
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
539464
539481
  if (canUserConfigureAdvisor()) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vivus-agent",
3
- "version": "1.1.3",
3
+ "version": "1.1.5",
4
4
  "description": "Vivus — local AI coding agent",
5
5
  "type": "module",
6
6
  "main": "dist/main.js",
@@ -67,6 +67,7 @@
67
67
  "@opentelemetry/sdk-metrics": "^2.6.1",
68
68
  "@opentelemetry/sdk-trace-base": "^2.6.1",
69
69
  "@types/bun": "^1.1.0",
70
+ "@types/lodash-es": "^4.17.12",
70
71
  "@types/react": "^19.0.0",
71
72
  "ajv": "^8.17.0",
72
73
  "asciichart": "^1.5.25",