vivus-agent 1.1.27 → 1.1.28

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.
package/bin/vivus.mjs CHANGED
@@ -52,6 +52,11 @@ setDefault('VIVUS_CODE_FORCE_FULL_LOGO', '1')
52
52
  setDefault('DISABLE_TELEMETRY', '1')
53
53
  setDefault('DISABLE_AUTOUPDATER', '1')
54
54
  setDefault('DISABLE_INSTALLATION_CHECKS', '1')
55
+ // The official-marketplace auto-install targets a rebranded repo
56
+ // (anthropics/vivus-plugins-official) that doesn't exist, so it fails every
57
+ // startup and shows "Failed to install Anthropic marketplace · Will retry on
58
+ // next startup". Disable it by default (set to 0 to re-enable).
59
+ setDefault('VIVUS_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL', '1')
55
60
  setDefault('DO_NOT_TRACK', '1')
56
61
  // Route CLI product/usage events (and feedback-survey responses) to OUR proxy
57
62
  // → portal instead of Anthropic/Datadog (which stay disabled). Set to 0 to opt
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-23T12:17:22.160Z
3
+ // Built from source at 2026-06-23T16:17:12.976Z
4
4
  import { createRequire } from "node:module";
5
5
  var __create = Object.create;
6
6
  var __getProtoOf = Object.getPrototypeOf;
@@ -108119,7 +108119,7 @@ var init_auth = __esm(() => {
108119
108119
 
108120
108120
  // src/utils/userAgent.ts
108121
108121
  function getVivusCodeUserAgent() {
108122
- return `vivus/${"1.1.27+06f98ab"}`;
108122
+ return `vivus/${"1.1.28+1f97c07"}`;
108123
108123
  }
108124
108124
 
108125
108125
  // src/utils/workloadContext.ts
@@ -108141,7 +108141,7 @@ function getUserAgent() {
108141
108141
  const clientApp = process.env.VIVUS_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.VIVUS_AGENT_SDK_CLIENT_APP}` : "";
108142
108142
  const workload = getWorkload();
108143
108143
  const workloadSuffix = workload ? `, workload/${workload}` : "";
108144
- return `vivus-cli/${"1.1.27+06f98ab"} (${process.env.USER_TYPE}, ${process.env.VIVUS_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
108144
+ return `vivus-cli/${"1.1.28+1f97c07"} (${process.env.USER_TYPE}, ${process.env.VIVUS_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
108145
108145
  }
108146
108146
  function getMCPUserAgent() {
108147
108147
  const parts = [];
@@ -108155,7 +108155,7 @@ function getMCPUserAgent() {
108155
108155
  parts.push(`client-app/${process.env.VIVUS_AGENT_SDK_CLIENT_APP}`);
108156
108156
  }
108157
108157
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
108158
- return `vivus/${"1.1.27+06f98ab"}${suffix}`;
108158
+ return `vivus/${"1.1.28+1f97c07"}${suffix}`;
108159
108159
  }
108160
108160
  function getWebFetchUserAgent() {
108161
108161
  return `Vivus-User (${getVivusCodeUserAgent()}; +https://support.anthropic.com/)`;
@@ -108293,7 +108293,7 @@ var init_user = __esm(() => {
108293
108293
  deviceId,
108294
108294
  sessionId: getSessionId(),
108295
108295
  email: getEmail(),
108296
- appVersion: "1.1.27+06f98ab",
108296
+ appVersion: "1.1.28+1f97c07",
108297
108297
  platform: getHostPlatformForAnalytics(),
108298
108298
  organizationUuid,
108299
108299
  accountUuid,
@@ -119604,7 +119604,7 @@ var init_metadata = __esm(() => {
119604
119604
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
119605
119605
  WHITESPACE_REGEX = /\s+/;
119606
119606
  getVersionBase = memoize_default(() => {
119607
- const match = "1.1.27+06f98ab".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
119607
+ const match = "1.1.28+1f97c07".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
119608
119608
  return match ? match[0] : undefined;
119609
119609
  });
119610
119610
  buildEnvContext = memoize_default(async () => {
@@ -119644,9 +119644,9 @@ var init_metadata = __esm(() => {
119644
119644
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
119645
119645
  isVivusCodeAction: isEnvTruthy(process.env.VIVUS_CODE_ACTION),
119646
119646
  isVivusAiAuth: isVivusAISubscriber(),
119647
- version: "1.1.27+06f98ab",
119647
+ version: "1.1.28+1f97c07",
119648
119648
  versionBase: getVersionBase(),
119649
- buildTime: "2026-06-23T12:17:21.667Z",
119649
+ buildTime: "2026-06-23T16:17:12.573Z",
119650
119650
  deploymentEnvironment: env3.detectDeploymentEnvironment(),
119651
119651
  ...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
119652
119652
  githubEventName: process.env.GITHUB_EVENT_NAME,
@@ -120314,7 +120314,7 @@ function initialize1PEventLogging() {
120314
120314
  const platform2 = getPlatform();
120315
120315
  const attributes = {
120316
120316
  [import_semantic_conventions.ATTR_SERVICE_NAME]: "vivus",
120317
- [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.1.27+06f98ab"
120317
+ [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.1.28+1f97c07"
120318
120318
  };
120319
120319
  if (platform2 === "wsl") {
120320
120320
  const wslVersion = getWslVersion();
@@ -120341,7 +120341,7 @@ function initialize1PEventLogging() {
120341
120341
  })
120342
120342
  ]
120343
120343
  });
120344
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.vivus_code.events", "1.1.27+06f98ab");
120344
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.vivus_code.events", "1.1.28+1f97c07");
120345
120345
  }
120346
120346
  async function reinitialize1PEventLoggingIfConfigChanged() {
120347
120347
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -162536,7 +162536,7 @@ function getAttributionHeader(fingerprint) {
162536
162536
  if (!isAttributionHeaderEnabled()) {
162537
162537
  return "";
162538
162538
  }
162539
- const version2 = `${"1.1.27+06f98ab"}.${fingerprint}`;
162539
+ const version2 = `${"1.1.28+1f97c07"}.${fingerprint}`;
162540
162540
  const entrypoint = process.env.VIVUS_CODE_ENTRYPOINT ?? "unknown";
162541
162541
  const cch = "";
162542
162542
  const workload = getWorkload();
@@ -175699,7 +175699,7 @@ function getTelemetryAttributes() {
175699
175699
  attributes["session.id"] = sessionId;
175700
175700
  }
175701
175701
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
175702
- attributes["app.version"] = "1.1.27+06f98ab";
175702
+ attributes["app.version"] = "1.1.28+1f97c07";
175703
175703
  }
175704
175704
  const oauthAccount = getOauthAccountInfo();
175705
175705
  if (oauthAccount) {
@@ -242259,7 +242259,7 @@ function computeFingerprint(messageText, version2) {
242259
242259
  }
242260
242260
  function computeFingerprintFromMessages(messages) {
242261
242261
  const firstMessageText = extractFirstMessageText(messages);
242262
- return computeFingerprint(firstMessageText, "1.1.27+06f98ab");
242262
+ return computeFingerprint(firstMessageText, "1.1.28+1f97c07");
242263
242263
  }
242264
242264
  var FINGERPRINT_SALT = "59cf53e54c78";
242265
242265
  var init_fingerprint = () => {};
@@ -242301,7 +242301,7 @@ async function sideQuery(opts) {
242301
242301
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
242302
242302
  }
242303
242303
  const messageText = extractFirstUserMessageText(messages);
242304
- const fingerprint = computeFingerprint(messageText, "1.1.27+06f98ab");
242304
+ const fingerprint = computeFingerprint(messageText, "1.1.28+1f97c07");
242305
242305
  const attributionHeader = getAttributionHeader(fingerprint);
242306
242306
  const systemBlocks = [
242307
242307
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -243453,7 +243453,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
243453
243453
  const client2 = new Client({
243454
243454
  name: "vivus",
243455
243455
  title: "Vivus",
243456
- version: "1.1.27+06f98ab",
243456
+ version: "1.1.28+1f97c07",
243457
243457
  description: "Anthropic's agentic coding tool",
243458
243458
  websiteUrl: PRODUCT_URL
243459
243459
  }, {
@@ -243807,7 +243807,7 @@ var init_client6 = __esm(() => {
243807
243807
  const client2 = new Client({
243808
243808
  name: "vivus",
243809
243809
  title: "Vivus",
243810
- version: "1.1.27+06f98ab",
243810
+ version: "1.1.28+1f97c07",
243811
243811
  description: "Anthropic's agentic coding tool",
243812
243812
  websiteUrl: PRODUCT_URL
243813
243813
  }, {
@@ -245865,7 +245865,7 @@ function getInstallationEnv() {
245865
245865
  return;
245866
245866
  }
245867
245867
  function getVivusCodeVersion() {
245868
- return "1.1.27+06f98ab";
245868
+ return "1.1.28+1f97c07";
245869
245869
  }
245870
245870
  async function getInstalledVSCodeExtensionVersion(command) {
245871
245871
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -300940,7 +300940,7 @@ async function initializeBetaTracing(resource) {
300940
300940
  });
300941
300941
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
300942
300942
  setLoggerProvider(loggerProvider);
300943
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.27+06f98ab");
300943
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.28+1f97c07");
300944
300944
  setEventLogger(eventLogger);
300945
300945
  process.on("beforeExit", async () => {
300946
300946
  await loggerProvider?.forceFlush();
@@ -300980,7 +300980,7 @@ async function initializeTelemetry() {
300980
300980
  const platform5 = getPlatform();
300981
300981
  const baseAttributes = {
300982
300982
  [import_semantic_conventions2.ATTR_SERVICE_NAME]: "vivus",
300983
- [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.1.27+06f98ab"
300983
+ [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.1.28+1f97c07"
300984
300984
  };
300985
300985
  if (platform5 === "wsl") {
300986
300986
  const wslVersion = getWslVersion();
@@ -301025,7 +301025,7 @@ async function initializeTelemetry() {
301025
301025
  } catch {}
301026
301026
  };
301027
301027
  registerCleanup(shutdownTelemetry2);
301028
- return meterProvider2.getMeter("com.anthropic.vivus_code", "1.1.27+06f98ab");
301028
+ return meterProvider2.getMeter("com.anthropic.vivus_code", "1.1.28+1f97c07");
301029
301029
  }
301030
301030
  const meterProvider = new import_sdk_metrics2.MeterProvider({
301031
301031
  resource,
@@ -301045,7 +301045,7 @@ async function initializeTelemetry() {
301045
301045
  });
301046
301046
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
301047
301047
  setLoggerProvider(loggerProvider);
301048
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.27+06f98ab");
301048
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.28+1f97c07");
301049
301049
  setEventLogger(eventLogger);
301050
301050
  logForDebugging("[3P telemetry] Event logger set successfully");
301051
301051
  process.on("beforeExit", async () => {
@@ -301107,7 +301107,7 @@ Current timeout: ${timeoutMs}ms
301107
301107
  }
301108
301108
  };
301109
301109
  registerCleanup(shutdownTelemetry);
301110
- return meterProvider.getMeter("com.anthropic.vivus_code", "1.1.27+06f98ab");
301110
+ return meterProvider.getMeter("com.anthropic.vivus_code", "1.1.28+1f97c07");
301111
301111
  }
301112
301112
  async function flushTelemetry() {
301113
301113
  const meterProvider = getMeterProvider();
@@ -301793,9 +301793,9 @@ async function assertMinVersion() {
301793
301793
  if (false) {}
301794
301794
  try {
301795
301795
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
301796
- if (versionConfig.minVersion && lt("1.1.27+06f98ab", versionConfig.minVersion)) {
301796
+ if (versionConfig.minVersion && lt("1.1.28+1f97c07", versionConfig.minVersion)) {
301797
301797
  console.error(`
301798
- It looks like your version of Vivus (${"1.1.27+06f98ab"}) needs an update.
301798
+ It looks like your version of Vivus (${"1.1.28+1f97c07"}) needs an update.
301799
301799
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
301800
301800
 
301801
301801
  To update, please run:
@@ -302011,7 +302011,7 @@ async function installGlobalPackage(specificVersion) {
302011
302011
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
302012
302012
  logEvent("tengu_auto_updater_lock_contention", {
302013
302013
  pid: process.pid,
302014
- currentVersion: "1.1.27+06f98ab"
302014
+ currentVersion: "1.1.28+1f97c07"
302015
302015
  });
302016
302016
  return "in_progress";
302017
302017
  }
@@ -302020,7 +302020,7 @@ async function installGlobalPackage(specificVersion) {
302020
302020
  if (!env3.isRunningWithBun() && env3.isNpmFromWindowsPath()) {
302021
302021
  logError2(new Error("Windows NPM detected in WSL environment"));
302022
302022
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
302023
- currentVersion: "1.1.27+06f98ab"
302023
+ currentVersion: "1.1.28+1f97c07"
302024
302024
  });
302025
302025
  console.error(`
302026
302026
  Error: Windows NPM detected in WSL
@@ -302553,7 +302553,7 @@ function detectLinuxGlobPatternWarnings() {
302553
302553
  }
302554
302554
  async function getDoctorDiagnostic() {
302555
302555
  const installationType = await getCurrentInstallationType();
302556
- const version2 = typeof MACRO !== "undefined" ? "1.1.27+06f98ab" : "unknown";
302556
+ const version2 = typeof MACRO !== "undefined" ? "1.1.28+1f97c07" : "unknown";
302557
302557
  const installationPath = await getInstallationPath();
302558
302558
  const invokedBinary = getInvokedBinary();
302559
302559
  const multipleInstallations = await detectMultipleInstallations();
@@ -303486,8 +303486,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
303486
303486
  const maxVersion = await getMaxVersion();
303487
303487
  if (maxVersion && gt(version2, maxVersion)) {
303488
303488
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
303489
- if (gte("1.1.27+06f98ab", maxVersion)) {
303490
- logForDebugging(`Native installer: current version ${"1.1.27+06f98ab"} is already at or above maxVersion ${maxVersion}, skipping update`);
303489
+ if (gte("1.1.28+1f97c07", maxVersion)) {
303490
+ logForDebugging(`Native installer: current version ${"1.1.28+1f97c07"} is already at or above maxVersion ${maxVersion}, skipping update`);
303491
303491
  logEvent("tengu_native_update_skipped_max_version", {
303492
303492
  latency_ms: Date.now() - startTime,
303493
303493
  max_version: maxVersion,
@@ -303498,7 +303498,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
303498
303498
  version2 = maxVersion;
303499
303499
  }
303500
303500
  }
303501
- if (!forceReinstall && version2 === "1.1.27+06f98ab" && await versionIsAvailable(version2) && await isPossibleVivusBinary(executablePath)) {
303501
+ if (!forceReinstall && version2 === "1.1.28+1f97c07" && await versionIsAvailable(version2) && await isPossibleVivusBinary(executablePath)) {
303502
303502
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
303503
303503
  logEvent("tengu_native_update_complete", {
303504
303504
  latency_ms: Date.now() - startTime,
@@ -359412,7 +359412,7 @@ function getAnthropicEnvMetadata() {
359412
359412
  function getBuildAgeMinutes() {
359413
359413
  if (false)
359414
359414
  ;
359415
- const buildTime = new Date("2026-06-23T12:17:21.667Z").getTime();
359415
+ const buildTime = new Date("2026-06-23T16:17:12.573Z").getTime();
359416
359416
  if (isNaN(buildTime))
359417
359417
  return;
359418
359418
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -406636,7 +406636,7 @@ var init_filesystem = __esm(() => {
406636
406636
  });
406637
406637
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
406638
406638
  const nonce = randomBytes17(16).toString("hex");
406639
- return join106(getVivusTempDir(), "bundled-skills", "1.1.27+06f98ab", nonce);
406639
+ return join106(getVivusTempDir(), "bundled-skills", "1.1.28+1f97c07", nonce);
406640
406640
  });
406641
406641
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
406642
406642
  });
@@ -408396,7 +408396,7 @@ function Feedback({
408396
408396
  platform: env3.platform,
408397
408397
  gitRepo: envInfo.isGit,
408398
408398
  terminal: env3.terminal,
408399
- version: "1.1.27+06f98ab",
408399
+ version: "1.1.28+1f97c07",
408400
408400
  transcript: normalizeMessagesForAPI(messages),
408401
408401
  errors: sanitizedErrors,
408402
408402
  lastApiRequest: getLastAPIRequest(),
@@ -408588,7 +408588,7 @@ function Feedback({
408588
408588
  ", ",
408589
408589
  env3.terminal,
408590
408590
  ", v",
408591
- "1.1.27+06f98ab"
408591
+ "1.1.28+1f97c07"
408592
408592
  ]
408593
408593
  }, undefined, true, undefined, this)
408594
408594
  ]
@@ -408694,7 +408694,7 @@ ${sanitizedDescription}
408694
408694
  ` + `**Environment Info**
408695
408695
  ` + `- Platform: ${env3.platform}
408696
408696
  ` + `- Terminal: ${env3.terminal}
408697
- ` + `- Version: ${"1.1.27+06f98ab"}
408697
+ ` + `- Version: ${"1.1.28+1f97c07"}
408698
408698
  ` + `- Feedback ID: ${feedbackId}
408699
408699
  ` + `
408700
408700
  **Errors**
@@ -411826,7 +411826,7 @@ function buildPrimarySection() {
411826
411826
  }, undefined, false, undefined, this);
411827
411827
  return [{
411828
411828
  label: "Version",
411829
- value: "1.1.27+06f98ab"
411829
+ value: "1.1.28+1f97c07"
411830
411830
  }, {
411831
411831
  label: "Session name",
411832
411832
  value: nameValue
@@ -415577,7 +415577,7 @@ function Config({
415577
415577
  }
415578
415578
  }, undefined, false, undefined, this)
415579
415579
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(ChannelDowngradeDialog, {
415580
- currentVersion: "1.1.27+06f98ab",
415580
+ currentVersion: "1.1.28+1f97c07",
415581
415581
  onChoice: (choice) => {
415582
415582
  setShowSubmenu(null);
415583
415583
  setTabsHidden(false);
@@ -415589,7 +415589,7 @@ function Config({
415589
415589
  autoUpdatesChannel: "stable"
415590
415590
  };
415591
415591
  if (choice === "stay") {
415592
- newSettings.minimumVersion = "1.1.27+06f98ab";
415592
+ newSettings.minimumVersion = "1.1.28+1f97c07";
415593
415593
  }
415594
415594
  updateSettingsForSource("userSettings", newSettings);
415595
415595
  setSettingsData((prev_27) => ({
@@ -423675,7 +423675,7 @@ function HelpV2(t0) {
423675
423675
  let t6;
423676
423676
  if ($2[31] !== tabs) {
423677
423677
  t6 = /* @__PURE__ */ jsx_dev_runtime205.jsxDEV(Tabs, {
423678
- title: `Vivus v${"1.1.27+06f98ab"}`,
423678
+ title: `Vivus v${"1.1.28+1f97c07"}`,
423679
423679
  color: "professionalBlue",
423680
423680
  defaultTab: "general",
423681
423681
  children: tabs
@@ -447901,7 +447901,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
447901
447901
  return [];
447902
447902
  }
447903
447903
  }
447904
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.27+06f98ab") {
447904
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.28+1f97c07") {
447905
447905
  if (process.env.USER_TYPE === "ant") {
447906
447906
  const changelog = "";
447907
447907
  if (changelog) {
@@ -447928,7 +447928,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.27+06
447928
447928
  releaseNotes
447929
447929
  };
447930
447930
  }
447931
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.27+06f98ab") {
447931
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.28+1f97c07") {
447932
447932
  if (process.env.USER_TYPE === "ant") {
447933
447933
  const changelog = "";
447934
447934
  if (changelog) {
@@ -449098,7 +449098,7 @@ function getRecentActivitySync() {
449098
449098
  return cachedActivity;
449099
449099
  }
449100
449100
  function getLogoDisplayData() {
449101
- const version2 = process.env.DEMO_VERSION ?? "1.1.27+06f98ab";
449101
+ const version2 = process.env.DEMO_VERSION ?? "1.1.28+1f97c07";
449102
449102
  const serverUrl = getDirectConnectServerUrl();
449103
449103
  const displayPath = process.env.DEMO_VERSION ? "/code/vivus" : getDisplayPath(getCwd());
449104
449104
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -450625,7 +450625,7 @@ function LogoV2() {
450625
450625
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
450626
450626
  t2 = () => {
450627
450627
  const currentConfig = getGlobalConfig();
450628
- if (currentConfig.lastReleaseNotesSeen === "1.1.27+06f98ab") {
450628
+ if (currentConfig.lastReleaseNotesSeen === "1.1.28+1f97c07") {
450629
450629
  return;
450630
450630
  }
450631
450631
  saveGlobalConfig(_temp329);
@@ -451301,12 +451301,12 @@ function LogoV2() {
451301
451301
  return t41;
451302
451302
  }
451303
451303
  function _temp329(current) {
451304
- if (current.lastReleaseNotesSeen === "1.1.27+06f98ab") {
451304
+ if (current.lastReleaseNotesSeen === "1.1.28+1f97c07") {
451305
451305
  return current;
451306
451306
  }
451307
451307
  return {
451308
451308
  ...current,
451309
- lastReleaseNotesSeen: "1.1.27+06f98ab"
451309
+ lastReleaseNotesSeen: "1.1.28+1f97c07"
451310
451310
  };
451311
451311
  }
451312
451312
  function _temp245(s_0) {
@@ -477603,7 +477603,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
477603
477603
  smapsRollup,
477604
477604
  platform: process.platform,
477605
477605
  nodeVersion: process.version,
477606
- ccVersion: "1.1.27+06f98ab"
477606
+ ccVersion: "1.1.28+1f97c07"
477607
477607
  };
477608
477608
  }
477609
477609
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -478189,7 +478189,7 @@ var init_bridge_kick = __esm(() => {
478189
478189
  var call56 = async () => {
478190
478190
  return {
478191
478191
  type: "text",
478192
- value: `${"1.1.27+06f98ab"} (built ${"2026-06-23T12:17:21.667Z"})`
478192
+ value: `${"1.1.28+1f97c07"} (built ${"2026-06-23T16:17:12.573Z"})`
478193
478193
  };
478194
478194
  }, version2, version_default;
478195
478195
  var init_version = __esm(() => {
@@ -487472,7 +487472,7 @@ function generateHtmlReport(data, insights) {
487472
487472
  </html>`;
487473
487473
  }
487474
487474
  function buildExportData(data, insights, facets, remoteStats) {
487475
- const version3 = typeof MACRO !== "undefined" ? "1.1.27+06f98ab" : "unknown";
487475
+ const version3 = typeof MACRO !== "undefined" ? "1.1.28+1f97c07" : "unknown";
487476
487476
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
487477
487477
  const facets_summary = {
487478
487478
  total: facets.size,
@@ -491583,7 +491583,7 @@ var init_sessionStorage = __esm(() => {
491583
491583
  init_settings2();
491584
491584
  init_slowOperations();
491585
491585
  init_uuid();
491586
- VERSION5 = typeof MACRO !== "undefined" ? "1.1.27+06f98ab" : "unknown";
491586
+ VERSION5 = typeof MACRO !== "undefined" ? "1.1.28+1f97c07" : "unknown";
491587
491587
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
491588
491588
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
491589
491589
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -494454,7 +494454,7 @@ function buildSystemInitMessage(inputs) {
494454
494454
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
494455
494455
  apiKeySource: getAnthropicApiKeyWithSource().source,
494456
494456
  betas: getSdkBetas(),
494457
- vivus_code_version: "1.1.27+06f98ab",
494457
+ vivus_code_version: "1.1.28+1f97c07",
494458
494458
  output_style: outputStyle2,
494459
494459
  agents: inputs.agents.map((agent) => agent.agentType),
494460
494460
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
@@ -509082,7 +509082,7 @@ var init_useVoiceEnabled = __esm(() => {
509082
509082
  function getSemverPart(version3) {
509083
509083
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
509084
509084
  }
509085
- function useUpdateNotification(updatedVersion, initialVersion = "1.1.27+06f98ab") {
509085
+ function useUpdateNotification(updatedVersion, initialVersion = "1.1.28+1f97c07") {
509086
509086
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react228.useState(() => getSemverPart(initialVersion));
509087
509087
  if (!updatedVersion) {
509088
509088
  return null;
@@ -509122,7 +509122,7 @@ function AutoUpdater({
509122
509122
  return;
509123
509123
  }
509124
509124
  if (false) {}
509125
- const currentVersion = "1.1.27+06f98ab";
509125
+ const currentVersion = "1.1.28+1f97c07";
509126
509126
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
509127
509127
  let latestVersion = await getLatestVersion(channel);
509128
509128
  const isDisabled = isAutoUpdaterDisabled();
@@ -509335,12 +509335,12 @@ function NativeAutoUpdater({
509335
509335
  logEvent("tengu_native_auto_updater_start", {});
509336
509336
  try {
509337
509337
  const maxVersion = await getMaxVersion();
509338
- if (maxVersion && gt("1.1.27+06f98ab", maxVersion)) {
509338
+ if (maxVersion && gt("1.1.28+1f97c07", maxVersion)) {
509339
509339
  const msg = await getMaxVersionMessage();
509340
509340
  setMaxVersionIssue(msg ?? "affects your version");
509341
509341
  }
509342
509342
  const result = await installLatest(channel);
509343
- const currentVersion = "1.1.27+06f98ab";
509343
+ const currentVersion = "1.1.28+1f97c07";
509344
509344
  const latencyMs = Date.now() - startTime;
509345
509345
  if (result.lockFailed) {
509346
509346
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -509477,17 +509477,17 @@ function PackageManagerAutoUpdater(t0) {
509477
509477
  const maxVersion = await getMaxVersion();
509478
509478
  if (maxVersion && latest && gt(latest, maxVersion)) {
509479
509479
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
509480
- if (gte("1.1.27+06f98ab", maxVersion)) {
509481
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.27+06f98ab"} is already at or above maxVersion ${maxVersion}, skipping update`);
509480
+ if (gte("1.1.28+1f97c07", maxVersion)) {
509481
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.28+1f97c07"} is already at or above maxVersion ${maxVersion}, skipping update`);
509482
509482
  setUpdateAvailable(false);
509483
509483
  return;
509484
509484
  }
509485
509485
  latest = maxVersion;
509486
509486
  }
509487
- const hasUpdate = latest && !gte("1.1.27+06f98ab", latest) && !shouldSkipVersion(latest);
509487
+ const hasUpdate = latest && !gte("1.1.28+1f97c07", latest) && !shouldSkipVersion(latest);
509488
509488
  setUpdateAvailable(!!hasUpdate);
509489
509489
  if (hasUpdate) {
509490
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.27+06f98ab"} -> ${latest}`);
509490
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.28+1f97c07"} -> ${latest}`);
509491
509491
  }
509492
509492
  };
509493
509493
  $2[0] = t1;
@@ -509521,7 +509521,7 @@ function PackageManagerAutoUpdater(t0) {
509521
509521
  wrap: "truncate",
509522
509522
  children: [
509523
509523
  "currentVersion: ",
509524
- "1.1.27+06f98ab"
509524
+ "1.1.28+1f97c07"
509525
509525
  ]
509526
509526
  }, undefined, true, undefined, this);
509527
509527
  $2[3] = verbose;
@@ -517451,7 +517451,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
517451
517451
  project_dir: getOriginalCwd(),
517452
517452
  added_dirs: addedDirs
517453
517453
  },
517454
- version: "1.1.27+06f98ab",
517454
+ version: "1.1.28+1f97c07",
517455
517455
  output_style: {
517456
517456
  name: outputStyleName
517457
517457
  },
@@ -528951,7 +528951,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
528951
528951
  } catch {}
528952
528952
  const data = {
528953
528953
  trigger,
528954
- version: "1.1.27+06f98ab",
528954
+ version: "1.1.28+1f97c07",
528955
528955
  platform: process.platform,
528956
528956
  transcript,
528957
528957
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -540370,7 +540370,7 @@ function WelcomeV2() {
540370
540370
  dimColor: true,
540371
540371
  children: [
540372
540372
  "v",
540373
- "1.1.27+06f98ab",
540373
+ "1.1.28+1f97c07",
540374
540374
  " "
540375
540375
  ]
540376
540376
  }, undefined, true, undefined, this)
@@ -540570,7 +540570,7 @@ function WelcomeV2() {
540570
540570
  dimColor: true,
540571
540571
  children: [
540572
540572
  "v",
540573
- "1.1.27+06f98ab",
540573
+ "1.1.28+1f97c07",
540574
540574
  " "
540575
540575
  ]
540576
540576
  }, undefined, true, undefined, this)
@@ -540796,7 +540796,7 @@ function AppleTerminalWelcomeV2(t0) {
540796
540796
  dimColor: true,
540797
540797
  children: [
540798
540798
  "v",
540799
- "1.1.27+06f98ab",
540799
+ "1.1.28+1f97c07",
540800
540800
  " "
540801
540801
  ]
540802
540802
  }, undefined, true, undefined, this);
@@ -541050,7 +541050,7 @@ function AppleTerminalWelcomeV2(t0) {
541050
541050
  dimColor: true,
541051
541051
  children: [
541052
541052
  "v",
541053
- "1.1.27+06f98ab",
541053
+ "1.1.28+1f97c07",
541054
541054
  " "
541055
541055
  ]
541056
541056
  }, undefined, true, undefined, this);
@@ -544115,7 +544115,7 @@ function appendToLog(path25, message) {
544115
544115
  cwd: getFsImplementation().cwd(),
544116
544116
  userType: process.env.USER_TYPE,
544117
544117
  sessionId: getSessionId(),
544118
- version: "1.1.27+06f98ab"
544118
+ version: "1.1.28+1f97c07"
544119
544119
  };
544120
544120
  getLogWriter(path25).write(messageWithTimestamp);
544121
544121
  }
@@ -548100,8 +548100,8 @@ async function getEnvLessBridgeConfig() {
548100
548100
  }
548101
548101
  async function checkEnvLessBridgeMinVersion() {
548102
548102
  const cfg = await getEnvLessBridgeConfig();
548103
- if (cfg.min_version && lt("1.1.27+06f98ab", cfg.min_version)) {
548104
- return `Your version of Vivus (${"1.1.27+06f98ab"}) is too old for Remote Control.
548103
+ if (cfg.min_version && lt("1.1.28+1f97c07", cfg.min_version)) {
548104
+ return `Your version of Vivus (${"1.1.28+1f97c07"}) is too old for Remote Control.
548105
548105
  Version ${cfg.min_version} or higher is required. Run \`vivus update\` to update.`;
548106
548106
  }
548107
548107
  return null;
@@ -548575,7 +548575,7 @@ async function initBridgeCore(params) {
548575
548575
  const rawApi = createBridgeApiClient({
548576
548576
  baseUrl,
548577
548577
  getAccessToken,
548578
- runnerVersion: "1.1.27+06f98ab",
548578
+ runnerVersion: "1.1.28+1f97c07",
548579
548579
  onDebug: logForDebugging,
548580
548580
  onAuth401,
548581
548581
  getTrustedDeviceToken
@@ -554240,7 +554240,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
554240
554240
  setCwd(cwd3);
554241
554241
  const server = new Server({
554242
554242
  name: "vivus/tengu",
554243
- version: "1.1.27+06f98ab"
554243
+ version: "1.1.28+1f97c07"
554244
554244
  }, {
554245
554245
  capabilities: {
554246
554246
  tools: {}
@@ -555851,7 +555851,7 @@ __export(exports_update, {
555851
555851
  });
555852
555852
  async function update() {
555853
555853
  logEvent("tengu_update_check", {});
555854
- writeToStdout(`Current version: ${"1.1.27+06f98ab"}
555854
+ writeToStdout(`Current version: ${"1.1.28+1f97c07"}
555855
555855
  `);
555856
555856
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
555857
555857
  writeToStdout(`Checking for updates to ${channel} version...
@@ -555926,8 +555926,8 @@ async function update() {
555926
555926
  writeToStdout(`Vivus is managed by Homebrew.
555927
555927
  `);
555928
555928
  const latest = await getLatestVersion(channel);
555929
- if (latest && !gte("1.1.27+06f98ab", latest)) {
555930
- writeToStdout(`Update available: ${"1.1.27+06f98ab"} → ${latest}
555929
+ if (latest && !gte("1.1.28+1f97c07", latest)) {
555930
+ writeToStdout(`Update available: ${"1.1.28+1f97c07"} → ${latest}
555931
555931
  `);
555932
555932
  writeToStdout(`
555933
555933
  `);
@@ -555943,8 +555943,8 @@ async function update() {
555943
555943
  writeToStdout(`Vivus is managed by winget.
555944
555944
  `);
555945
555945
  const latest = await getLatestVersion(channel);
555946
- if (latest && !gte("1.1.27+06f98ab", latest)) {
555947
- writeToStdout(`Update available: ${"1.1.27+06f98ab"} → ${latest}
555946
+ if (latest && !gte("1.1.28+1f97c07", latest)) {
555947
+ writeToStdout(`Update available: ${"1.1.28+1f97c07"} → ${latest}
555948
555948
  `);
555949
555949
  writeToStdout(`
555950
555950
  `);
@@ -555960,8 +555960,8 @@ async function update() {
555960
555960
  writeToStdout(`Vivus is managed by apk.
555961
555961
  `);
555962
555962
  const latest = await getLatestVersion(channel);
555963
- if (latest && !gte("1.1.27+06f98ab", latest)) {
555964
- writeToStdout(`Update available: ${"1.1.27+06f98ab"} → ${latest}
555963
+ if (latest && !gte("1.1.28+1f97c07", latest)) {
555964
+ writeToStdout(`Update available: ${"1.1.28+1f97c07"} → ${latest}
555965
555965
  `);
555966
555966
  writeToStdout(`
555967
555967
  `);
@@ -556026,11 +556026,11 @@ async function update() {
556026
556026
  `);
556027
556027
  await gracefulShutdown(1);
556028
556028
  }
556029
- if (result.latestVersion === "1.1.27+06f98ab") {
556030
- writeToStdout(source_default.green(`Vivus is up to date (${"1.1.27+06f98ab"})`) + `
556029
+ if (result.latestVersion === "1.1.28+1f97c07") {
556030
+ writeToStdout(source_default.green(`Vivus is up to date (${"1.1.28+1f97c07"})`) + `
556031
556031
  `);
556032
556032
  } else {
556033
- writeToStdout(source_default.green(`Successfully updated from ${"1.1.27+06f98ab"} to version ${result.latestVersion}`) + `
556033
+ writeToStdout(source_default.green(`Successfully updated from ${"1.1.28+1f97c07"} to version ${result.latestVersion}`) + `
556034
556034
  `);
556035
556035
  await regenerateCompletionCache();
556036
556036
  }
@@ -556087,12 +556087,12 @@ async function update() {
556087
556087
  `);
556088
556088
  await gracefulShutdown(1);
556089
556089
  }
556090
- if (latestVersion === "1.1.27+06f98ab") {
556091
- writeToStdout(source_default.green(`Vivus is up to date (${"1.1.27+06f98ab"})`) + `
556090
+ if (latestVersion === "1.1.28+1f97c07") {
556091
+ writeToStdout(source_default.green(`Vivus is up to date (${"1.1.28+1f97c07"})`) + `
556092
556092
  `);
556093
556093
  await gracefulShutdown(0);
556094
556094
  }
556095
- writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.27+06f98ab"})
556095
+ writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.28+1f97c07"})
556096
556096
  `);
556097
556097
  writeToStdout(`Installing update...
556098
556098
  `);
@@ -556137,7 +556137,7 @@ async function update() {
556137
556137
  logForDebugging(`update: Installation status: ${status2}`);
556138
556138
  switch (status2) {
556139
556139
  case "success":
556140
- writeToStdout(source_default.green(`Successfully updated from ${"1.1.27+06f98ab"} to version ${latestVersion}`) + `
556140
+ writeToStdout(source_default.green(`Successfully updated from ${"1.1.28+1f97c07"} to version ${latestVersion}`) + `
556141
556141
  `);
556142
556142
  await regenerateCompletionCache();
556143
556143
  break;
@@ -557111,7 +557111,7 @@ function completeOnboarding() {
557111
557111
  saveGlobalConfig((current) => ({
557112
557112
  ...current,
557113
557113
  hasCompletedOnboarding: true,
557114
- lastOnboardingVersion: "1.1.27+06f98ab"
557114
+ lastOnboardingVersion: "1.1.28+1f97c07"
557115
557115
  }));
557116
557116
  }
557117
557117
  function showDialog(root2, renderer) {
@@ -561285,7 +561285,7 @@ ${customInstructions}` : customInstructions;
561285
561285
  }
561286
561286
  }
561287
561287
  logForDiagnosticsNoPII("info", "started", {
561288
- version: "1.1.27+06f98ab",
561288
+ version: "1.1.28+1f97c07",
561289
561289
  is_native_binary: isInBundledMode()
561290
561290
  });
561291
561291
  registerCleanup(async () => {
@@ -562069,7 +562069,7 @@ Usage: vivus --remote "your task description"`, () => gracefulShutdown(1));
562069
562069
  pendingHookMessages
562070
562070
  }, renderAndRun);
562071
562071
  }
562072
- }).version("1.1.27+06f98ab (Vivus)", "-v, --version", "Output the version number");
562072
+ }).version("1.1.28+1f97c07 (Vivus)", "-v, --version", "Output the version number");
562073
562073
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
562074
562074
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
562075
562075
  if (canUserConfigureAdvisor()) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vivus-agent",
3
- "version": "1.1.27",
3
+ "version": "1.1.28",
4
4
  "description": "Vivus — local AI coding agent",
5
5
  "type": "module",
6
6
  "main": "dist/main.js",