vivus-agent 1.0.4 → 1.0.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 +166 -93
  2. package/package.json +1 -1
package/dist/main.js CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  // Vivus CLI — local AI coding agent
3
- // Built from source at 2026-06-05T22:56:05.279Z
3
+ // Built from source at 2026-06-05T23:04:50.182Z
4
4
  import { createRequire } from "node:module";
5
5
  var __create = Object.create;
6
6
  var __getProtoOf = Object.getPrototypeOf;
@@ -115958,7 +115958,7 @@ var init_auth = __esm(() => {
115958
115958
 
115959
115959
  // src/utils/userAgent.ts
115960
115960
  function getVivusCodeUserAgent() {
115961
- return `vivus/${"1.0.4+b41f3f3"}`;
115961
+ return `vivus/${"1.0.5+c258d3c"}`;
115962
115962
  }
115963
115963
 
115964
115964
  // src/utils/workloadContext.ts
@@ -115980,7 +115980,7 @@ function getUserAgent() {
115980
115980
  const clientApp = process.env.VIVUS_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.VIVUS_AGENT_SDK_CLIENT_APP}` : "";
115981
115981
  const workload = getWorkload();
115982
115982
  const workloadSuffix = workload ? `, workload/${workload}` : "";
115983
- return `vivus-cli/${"1.0.4+b41f3f3"} (${process.env.USER_TYPE}, ${process.env.VIVUS_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
115983
+ return `vivus-cli/${"1.0.5+c258d3c"} (${process.env.USER_TYPE}, ${process.env.VIVUS_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
115984
115984
  }
115985
115985
  function getMCPUserAgent() {
115986
115986
  const parts = [];
@@ -115994,7 +115994,7 @@ function getMCPUserAgent() {
115994
115994
  parts.push(`client-app/${process.env.VIVUS_AGENT_SDK_CLIENT_APP}`);
115995
115995
  }
115996
115996
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
115997
- return `vivus/${"1.0.4+b41f3f3"}${suffix}`;
115997
+ return `vivus/${"1.0.5+c258d3c"}${suffix}`;
115998
115998
  }
115999
115999
  function getWebFetchUserAgent() {
116000
116000
  return `Vivus-User (${getVivusCodeUserAgent()}; +https://support.anthropic.com/)`;
@@ -116132,7 +116132,7 @@ var init_user = __esm(() => {
116132
116132
  deviceId,
116133
116133
  sessionId: getSessionId(),
116134
116134
  email: getEmail(),
116135
- appVersion: "1.0.4+b41f3f3",
116135
+ appVersion: "1.0.5+c258d3c",
116136
116136
  platform: getHostPlatformForAnalytics(),
116137
116137
  organizationUuid,
116138
116138
  accountUuid,
@@ -127798,7 +127798,7 @@ var init_metadata = __esm(() => {
127798
127798
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
127799
127799
  WHITESPACE_REGEX = /\s+/;
127800
127800
  getVersionBase = memoize_default(() => {
127801
- const match = "1.0.4+b41f3f3".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
127801
+ const match = "1.0.5+c258d3c".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
127802
127802
  return match ? match[0] : undefined;
127803
127803
  });
127804
127804
  buildEnvContext = memoize_default(async () => {
@@ -127838,9 +127838,9 @@ var init_metadata = __esm(() => {
127838
127838
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
127839
127839
  isVivusCodeAction: isEnvTruthy(process.env.VIVUS_CODE_ACTION),
127840
127840
  isVivusAiAuth: isVivusAISubscriber(),
127841
- version: "1.0.4+b41f3f3",
127841
+ version: "1.0.5+c258d3c",
127842
127842
  versionBase: getVersionBase(),
127843
- buildTime: "2026-06-05T22:56:04.667Z",
127843
+ buildTime: "2026-06-05T23:04:49.594Z",
127844
127844
  deploymentEnvironment: env2.detectDeploymentEnvironment(),
127845
127845
  ...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
127846
127846
  githubEventName: process.env.GITHUB_EVENT_NAME,
@@ -128508,7 +128508,7 @@ function initialize1PEventLogging() {
128508
128508
  const platform2 = getPlatform();
128509
128509
  const attributes = {
128510
128510
  [import_semantic_conventions.ATTR_SERVICE_NAME]: "vivus",
128511
- [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.0.4+b41f3f3"
128511
+ [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.0.5+c258d3c"
128512
128512
  };
128513
128513
  if (platform2 === "wsl") {
128514
128514
  const wslVersion = getWslVersion();
@@ -128535,7 +128535,7 @@ function initialize1PEventLogging() {
128535
128535
  })
128536
128536
  ]
128537
128537
  });
128538
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.vivus_code.events", "1.0.4+b41f3f3");
128538
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.vivus_code.events", "1.0.5+c258d3c");
128539
128539
  }
128540
128540
  async function reinitialize1PEventLoggingIfConfigChanged() {
128541
128541
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -162624,7 +162624,7 @@ function getAttributionHeader(fingerprint) {
162624
162624
  if (!isAttributionHeaderEnabled()) {
162625
162625
  return "";
162626
162626
  }
162627
- const version2 = `${"1.0.4+b41f3f3"}.${fingerprint}`;
162627
+ const version2 = `${"1.0.5+c258d3c"}.${fingerprint}`;
162628
162628
  const entrypoint = process.env.VIVUS_CODE_ENTRYPOINT ?? "unknown";
162629
162629
  const cch = "";
162630
162630
  const workload = getWorkload();
@@ -175781,7 +175781,7 @@ function getTelemetryAttributes() {
175781
175781
  attributes["session.id"] = sessionId;
175782
175782
  }
175783
175783
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
175784
- attributes["app.version"] = "1.0.4+b41f3f3";
175784
+ attributes["app.version"] = "1.0.5+c258d3c";
175785
175785
  }
175786
175786
  const oauthAccount = getOauthAccountInfo();
175787
175787
  if (oauthAccount) {
@@ -235915,7 +235915,7 @@ function computeFingerprint(messageText, version2) {
235915
235915
  }
235916
235916
  function computeFingerprintFromMessages(messages) {
235917
235917
  const firstMessageText = extractFirstMessageText(messages);
235918
- return computeFingerprint(firstMessageText, "1.0.4+b41f3f3");
235918
+ return computeFingerprint(firstMessageText, "1.0.5+c258d3c");
235919
235919
  }
235920
235920
  var FINGERPRINT_SALT = "59cf53e54c78";
235921
235921
  var init_fingerprint = () => {};
@@ -235957,7 +235957,7 @@ async function sideQuery(opts) {
235957
235957
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
235958
235958
  }
235959
235959
  const messageText = extractFirstUserMessageText(messages);
235960
- const fingerprint = computeFingerprint(messageText, "1.0.4+b41f3f3");
235960
+ const fingerprint = computeFingerprint(messageText, "1.0.5+c258d3c");
235961
235961
  const attributionHeader = getAttributionHeader(fingerprint);
235962
235962
  const systemBlocks = [
235963
235963
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -237109,7 +237109,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
237109
237109
  const client2 = new Client({
237110
237110
  name: "vivus",
237111
237111
  title: "Vivus",
237112
- version: "1.0.4+b41f3f3",
237112
+ version: "1.0.5+c258d3c",
237113
237113
  description: "Anthropic's agentic coding tool",
237114
237114
  websiteUrl: PRODUCT_URL
237115
237115
  }, {
@@ -237463,7 +237463,7 @@ var init_client6 = __esm(() => {
237463
237463
  const client2 = new Client({
237464
237464
  name: "vivus",
237465
237465
  title: "Vivus",
237466
- version: "1.0.4+b41f3f3",
237466
+ version: "1.0.5+c258d3c",
237467
237467
  description: "Anthropic's agentic coding tool",
237468
237468
  websiteUrl: PRODUCT_URL
237469
237469
  }, {
@@ -239521,7 +239521,7 @@ function getInstallationEnv() {
239521
239521
  return;
239522
239522
  }
239523
239523
  function getVivusCodeVersion() {
239524
- return "1.0.4+b41f3f3";
239524
+ return "1.0.5+c258d3c";
239525
239525
  }
239526
239526
  async function getInstalledVSCodeExtensionVersion(command) {
239527
239527
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -272011,7 +272011,7 @@ async function initializeBetaTracing(resource) {
272011
272011
  });
272012
272012
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
272013
272013
  setLoggerProvider(loggerProvider);
272014
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.0.4+b41f3f3");
272014
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.0.5+c258d3c");
272015
272015
  setEventLogger(eventLogger);
272016
272016
  process.on("beforeExit", async () => {
272017
272017
  await loggerProvider?.forceFlush();
@@ -272051,7 +272051,7 @@ async function initializeTelemetry() {
272051
272051
  const platform5 = getPlatform();
272052
272052
  const baseAttributes = {
272053
272053
  [import_semantic_conventions2.ATTR_SERVICE_NAME]: "vivus",
272054
- [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.0.4+b41f3f3"
272054
+ [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.0.5+c258d3c"
272055
272055
  };
272056
272056
  if (platform5 === "wsl") {
272057
272057
  const wslVersion = getWslVersion();
@@ -272096,7 +272096,7 @@ async function initializeTelemetry() {
272096
272096
  } catch {}
272097
272097
  };
272098
272098
  registerCleanup(shutdownTelemetry2);
272099
- return meterProvider2.getMeter("com.anthropic.vivus_code", "1.0.4+b41f3f3");
272099
+ return meterProvider2.getMeter("com.anthropic.vivus_code", "1.0.5+c258d3c");
272100
272100
  }
272101
272101
  const meterProvider = new import_sdk_metrics2.MeterProvider({
272102
272102
  resource,
@@ -272116,7 +272116,7 @@ async function initializeTelemetry() {
272116
272116
  });
272117
272117
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
272118
272118
  setLoggerProvider(loggerProvider);
272119
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.0.4+b41f3f3");
272119
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.0.5+c258d3c");
272120
272120
  setEventLogger(eventLogger);
272121
272121
  logForDebugging("[3P telemetry] Event logger set successfully");
272122
272122
  process.on("beforeExit", async () => {
@@ -272178,7 +272178,7 @@ Current timeout: ${timeoutMs}ms
272178
272178
  }
272179
272179
  };
272180
272180
  registerCleanup(shutdownTelemetry);
272181
- return meterProvider.getMeter("com.anthropic.vivus_code", "1.0.4+b41f3f3");
272181
+ return meterProvider.getMeter("com.anthropic.vivus_code", "1.0.5+c258d3c");
272182
272182
  }
272183
272183
  async function flushTelemetry() {
272184
272184
  const meterProvider = getMeterProvider();
@@ -272864,9 +272864,9 @@ async function assertMinVersion() {
272864
272864
  if (false) {}
272865
272865
  try {
272866
272866
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
272867
- if (versionConfig.minVersion && lt("1.0.4+b41f3f3", versionConfig.minVersion)) {
272867
+ if (versionConfig.minVersion && lt("1.0.5+c258d3c", versionConfig.minVersion)) {
272868
272868
  console.error(`
272869
- It looks like your version of Vivus (${"1.0.4+b41f3f3"}) needs an update.
272869
+ It looks like your version of Vivus (${"1.0.5+c258d3c"}) needs an update.
272870
272870
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
272871
272871
 
272872
272872
  To update, please run:
@@ -273082,7 +273082,7 @@ async function installGlobalPackage(specificVersion) {
273082
273082
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
273083
273083
  logEvent("tengu_auto_updater_lock_contention", {
273084
273084
  pid: process.pid,
273085
- currentVersion: "1.0.4+b41f3f3"
273085
+ currentVersion: "1.0.5+c258d3c"
273086
273086
  });
273087
273087
  return "in_progress";
273088
273088
  }
@@ -273091,7 +273091,7 @@ async function installGlobalPackage(specificVersion) {
273091
273091
  if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
273092
273092
  logError2(new Error("Windows NPM detected in WSL environment"));
273093
273093
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
273094
- currentVersion: "1.0.4+b41f3f3"
273094
+ currentVersion: "1.0.5+c258d3c"
273095
273095
  });
273096
273096
  console.error(`
273097
273097
  Error: Windows NPM detected in WSL
@@ -273624,7 +273624,7 @@ function detectLinuxGlobPatternWarnings() {
273624
273624
  }
273625
273625
  async function getDoctorDiagnostic() {
273626
273626
  const installationType = await getCurrentInstallationType();
273627
- const version2 = typeof MACRO !== "undefined" ? "1.0.4+b41f3f3" : "unknown";
273627
+ const version2 = typeof MACRO !== "undefined" ? "1.0.5+c258d3c" : "unknown";
273628
273628
  const installationPath = await getInstallationPath();
273629
273629
  const invokedBinary = getInvokedBinary();
273630
273630
  const multipleInstallations = await detectMultipleInstallations();
@@ -274557,8 +274557,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
274557
274557
  const maxVersion = await getMaxVersion();
274558
274558
  if (maxVersion && gt(version2, maxVersion)) {
274559
274559
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
274560
- if (gte("1.0.4+b41f3f3", maxVersion)) {
274561
- logForDebugging(`Native installer: current version ${"1.0.4+b41f3f3"} is already at or above maxVersion ${maxVersion}, skipping update`);
274560
+ if (gte("1.0.5+c258d3c", maxVersion)) {
274561
+ logForDebugging(`Native installer: current version ${"1.0.5+c258d3c"} is already at or above maxVersion ${maxVersion}, skipping update`);
274562
274562
  logEvent("tengu_native_update_skipped_max_version", {
274563
274563
  latency_ms: Date.now() - startTime,
274564
274564
  max_version: maxVersion,
@@ -274569,7 +274569,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
274569
274569
  version2 = maxVersion;
274570
274570
  }
274571
274571
  }
274572
- if (!forceReinstall && version2 === "1.0.4+b41f3f3" && await versionIsAvailable(version2) && await isPossibleVivusBinary(executablePath)) {
274572
+ if (!forceReinstall && version2 === "1.0.5+c258d3c" && await versionIsAvailable(version2) && await isPossibleVivusBinary(executablePath)) {
274573
274573
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
274574
274574
  logEvent("tengu_native_update_complete", {
274575
274575
  latency_ms: Date.now() - startTime,
@@ -330609,7 +330609,7 @@ function getAnthropicEnvMetadata() {
330609
330609
  function getBuildAgeMinutes() {
330610
330610
  if (false)
330611
330611
  ;
330612
- const buildTime = new Date("2026-06-05T22:56:04.667Z").getTime();
330612
+ const buildTime = new Date("2026-06-05T23:04:49.594Z").getTime();
330613
330613
  if (isNaN(buildTime))
330614
330614
  return;
330615
330615
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -360919,6 +360919,12 @@ function getOpusPlanOption() {
360919
360919
  };
360920
360920
  }
360921
360921
  function getModelOptionsBase(fastMode = false) {
360922
+ if (!isFirstPartyAnthropicBaseUrl()) {
360923
+ const proxyCache = getGlobalConfig().additionalModelOptionsCache ?? [];
360924
+ if (proxyCache.length > 0) {
360925
+ return [getDefaultOptionForUser(fastMode), ...proxyCache];
360926
+ }
360927
+ }
360922
360928
  if (process.env.USER_TYPE === "ant") {
360923
360929
  const antModelOptions = getAntModels().map((m) => ({
360924
360930
  value: m.alias,
@@ -377824,7 +377830,7 @@ var init_filesystem = __esm(() => {
377824
377830
  });
377825
377831
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
377826
377832
  const nonce = randomBytes17(16).toString("hex");
377827
- return join106(getVivusTempDir(), "bundled-skills", "1.0.4+b41f3f3", nonce);
377833
+ return join106(getVivusTempDir(), "bundled-skills", "1.0.5+c258d3c", nonce);
377828
377834
  });
377829
377835
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
377830
377836
  });
@@ -379584,7 +379590,7 @@ function Feedback({
379584
379590
  platform: env2.platform,
379585
379591
  gitRepo: envInfo.isGit,
379586
379592
  terminal: env2.terminal,
379587
- version: "1.0.4+b41f3f3",
379593
+ version: "1.0.5+c258d3c",
379588
379594
  transcript: normalizeMessagesForAPI(messages),
379589
379595
  errors: sanitizedErrors,
379590
379596
  lastApiRequest: getLastAPIRequest(),
@@ -379776,7 +379782,7 @@ function Feedback({
379776
379782
  ", ",
379777
379783
  env2.terminal,
379778
379784
  ", v",
379779
- "1.0.4+b41f3f3"
379785
+ "1.0.5+c258d3c"
379780
379786
  ]
379781
379787
  }, undefined, true, undefined, this)
379782
379788
  ]
@@ -379882,7 +379888,7 @@ ${sanitizedDescription}
379882
379888
  ` + `**Environment Info**
379883
379889
  ` + `- Platform: ${env2.platform}
379884
379890
  ` + `- Terminal: ${env2.terminal}
379885
- ` + `- Version: ${"1.0.4+b41f3f3"}
379891
+ ` + `- Version: ${"1.0.5+c258d3c"}
379886
379892
  ` + `- Feedback ID: ${feedbackId}
379887
379893
  ` + `
379888
379894
  **Errors**
@@ -383013,7 +383019,7 @@ function buildPrimarySection() {
383013
383019
  }, undefined, false, undefined, this);
383014
383020
  return [{
383015
383021
  label: "Version",
383016
- value: "1.0.4+b41f3f3"
383022
+ value: "1.0.5+c258d3c"
383017
383023
  }, {
383018
383024
  label: "Session name",
383019
383025
  value: nameValue
@@ -386764,7 +386770,7 @@ function Config({
386764
386770
  }
386765
386771
  }, undefined, false, undefined, this)
386766
386772
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(ChannelDowngradeDialog, {
386767
- currentVersion: "1.0.4+b41f3f3",
386773
+ currentVersion: "1.0.5+c258d3c",
386768
386774
  onChoice: (choice) => {
386769
386775
  setShowSubmenu(null);
386770
386776
  setTabsHidden(false);
@@ -386776,7 +386782,7 @@ function Config({
386776
386782
  autoUpdatesChannel: "stable"
386777
386783
  };
386778
386784
  if (choice === "stay") {
386779
- newSettings.minimumVersion = "1.0.4+b41f3f3";
386785
+ newSettings.minimumVersion = "1.0.5+c258d3c";
386780
386786
  }
386781
386787
  updateSettingsForSource("userSettings", newSettings);
386782
386788
  setSettingsData((prev_27) => ({
@@ -394862,7 +394868,7 @@ function HelpV2(t0) {
394862
394868
  let t6;
394863
394869
  if ($2[31] !== tabs) {
394864
394870
  t6 = /* @__PURE__ */ jsx_dev_runtime205.jsxDEV(Tabs, {
394865
- title: `Vivus v${"1.0.4+b41f3f3"}`,
394871
+ title: `Vivus v${"1.0.5+c258d3c"}`,
394866
394872
  color: "professionalBlue",
394867
394873
  defaultTab: "general",
394868
394874
  children: tabs
@@ -419087,7 +419093,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
419087
419093
  return [];
419088
419094
  }
419089
419095
  }
419090
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.0.4+b41f3f3") {
419096
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.0.5+c258d3c") {
419091
419097
  if (process.env.USER_TYPE === "ant") {
419092
419098
  const changelog = "";
419093
419099
  if (changelog) {
@@ -419114,7 +419120,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.0.4+b41
419114
419120
  releaseNotes
419115
419121
  };
419116
419122
  }
419117
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.0.4+b41f3f3") {
419123
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.0.5+c258d3c") {
419118
419124
  if (process.env.USER_TYPE === "ant") {
419119
419125
  const changelog = "";
419120
419126
  if (changelog) {
@@ -420284,7 +420290,7 @@ function getRecentActivitySync() {
420284
420290
  return cachedActivity;
420285
420291
  }
420286
420292
  function getLogoDisplayData() {
420287
- const version2 = process.env.DEMO_VERSION ?? "1.0.4+b41f3f3";
420293
+ const version2 = process.env.DEMO_VERSION ?? "1.0.5+c258d3c";
420288
420294
  const serverUrl = getDirectConnectServerUrl();
420289
420295
  const displayPath = process.env.DEMO_VERSION ? "/code/vivus" : getDisplayPath(getCwd());
420290
420296
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -421811,7 +421817,7 @@ function LogoV2() {
421811
421817
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
421812
421818
  t2 = () => {
421813
421819
  const currentConfig = getGlobalConfig();
421814
- if (currentConfig.lastReleaseNotesSeen === "1.0.4+b41f3f3") {
421820
+ if (currentConfig.lastReleaseNotesSeen === "1.0.5+c258d3c") {
421815
421821
  return;
421816
421822
  }
421817
421823
  saveGlobalConfig(_temp329);
@@ -422487,12 +422493,12 @@ function LogoV2() {
422487
422493
  return t41;
422488
422494
  }
422489
422495
  function _temp329(current) {
422490
- if (current.lastReleaseNotesSeen === "1.0.4+b41f3f3") {
422496
+ if (current.lastReleaseNotesSeen === "1.0.5+c258d3c") {
422491
422497
  return current;
422492
422498
  }
422493
422499
  return {
422494
422500
  ...current,
422495
- lastReleaseNotesSeen: "1.0.4+b41f3f3"
422501
+ lastReleaseNotesSeen: "1.0.5+c258d3c"
422496
422502
  };
422497
422503
  }
422498
422504
  function _temp245(s_0) {
@@ -448789,7 +448795,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
448789
448795
  smapsRollup,
448790
448796
  platform: process.platform,
448791
448797
  nodeVersion: process.version,
448792
- ccVersion: "1.0.4+b41f3f3"
448798
+ ccVersion: "1.0.5+c258d3c"
448793
448799
  };
448794
448800
  }
448795
448801
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -449375,7 +449381,7 @@ var init_bridge_kick = __esm(() => {
449375
449381
  var call56 = async () => {
449376
449382
  return {
449377
449383
  type: "text",
449378
- value: `${"1.0.4+b41f3f3"} (built ${"2026-06-05T22:56:04.667Z"})`
449384
+ value: `${"1.0.5+c258d3c"} (built ${"2026-06-05T23:04:49.594Z"})`
449379
449385
  };
449380
449386
  }, version2, version_default;
449381
449387
  var init_version = __esm(() => {
@@ -458338,7 +458344,7 @@ function generateHtmlReport(data, insights) {
458338
458344
  </html>`;
458339
458345
  }
458340
458346
  function buildExportData(data, insights, facets, remoteStats) {
458341
- const version3 = typeof MACRO !== "undefined" ? "1.0.4+b41f3f3" : "unknown";
458347
+ const version3 = typeof MACRO !== "undefined" ? "1.0.5+c258d3c" : "unknown";
458342
458348
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
458343
458349
  const facets_summary = {
458344
458350
  total: facets.size,
@@ -462447,7 +462453,7 @@ var init_sessionStorage = __esm(() => {
462447
462453
  init_settings2();
462448
462454
  init_slowOperations();
462449
462455
  init_uuid();
462450
- VERSION5 = typeof MACRO !== "undefined" ? "1.0.4+b41f3f3" : "unknown";
462456
+ VERSION5 = typeof MACRO !== "undefined" ? "1.0.5+c258d3c" : "unknown";
462451
462457
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
462452
462458
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
462453
462459
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -465318,7 +465324,7 @@ function buildSystemInitMessage(inputs) {
465318
465324
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
465319
465325
  apiKeySource: getAnthropicApiKeyWithSource().source,
465320
465326
  betas: getSdkBetas(),
465321
- vivus_code_version: "1.0.4+b41f3f3",
465327
+ vivus_code_version: "1.0.5+c258d3c",
465322
465328
  output_style: outputStyle2,
465323
465329
  agents: inputs.agents.map((agent) => agent.agentType),
465324
465330
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
@@ -479946,7 +479952,7 @@ var init_useVoiceEnabled = __esm(() => {
479946
479952
  function getSemverPart(version3) {
479947
479953
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
479948
479954
  }
479949
- function useUpdateNotification(updatedVersion, initialVersion = "1.0.4+b41f3f3") {
479955
+ function useUpdateNotification(updatedVersion, initialVersion = "1.0.5+c258d3c") {
479950
479956
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react227.useState(() => getSemverPart(initialVersion));
479951
479957
  if (!updatedVersion) {
479952
479958
  return null;
@@ -479986,7 +479992,7 @@ function AutoUpdater({
479986
479992
  return;
479987
479993
  }
479988
479994
  if (false) {}
479989
- const currentVersion = "1.0.4+b41f3f3";
479995
+ const currentVersion = "1.0.5+c258d3c";
479990
479996
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
479991
479997
  let latestVersion = await getLatestVersion(channel);
479992
479998
  const isDisabled = isAutoUpdaterDisabled();
@@ -480199,12 +480205,12 @@ function NativeAutoUpdater({
480199
480205
  logEvent("tengu_native_auto_updater_start", {});
480200
480206
  try {
480201
480207
  const maxVersion = await getMaxVersion();
480202
- if (maxVersion && gt("1.0.4+b41f3f3", maxVersion)) {
480208
+ if (maxVersion && gt("1.0.5+c258d3c", maxVersion)) {
480203
480209
  const msg = await getMaxVersionMessage();
480204
480210
  setMaxVersionIssue(msg ?? "affects your version");
480205
480211
  }
480206
480212
  const result = await installLatest(channel);
480207
- const currentVersion = "1.0.4+b41f3f3";
480213
+ const currentVersion = "1.0.5+c258d3c";
480208
480214
  const latencyMs = Date.now() - startTime;
480209
480215
  if (result.lockFailed) {
480210
480216
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -480341,17 +480347,17 @@ function PackageManagerAutoUpdater(t0) {
480341
480347
  const maxVersion = await getMaxVersion();
480342
480348
  if (maxVersion && latest && gt(latest, maxVersion)) {
480343
480349
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
480344
- if (gte("1.0.4+b41f3f3", maxVersion)) {
480345
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.0.4+b41f3f3"} is already at or above maxVersion ${maxVersion}, skipping update`);
480350
+ if (gte("1.0.5+c258d3c", maxVersion)) {
480351
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.0.5+c258d3c"} is already at or above maxVersion ${maxVersion}, skipping update`);
480346
480352
  setUpdateAvailable(false);
480347
480353
  return;
480348
480354
  }
480349
480355
  latest = maxVersion;
480350
480356
  }
480351
- const hasUpdate = latest && !gte("1.0.4+b41f3f3", latest) && !shouldSkipVersion(latest);
480357
+ const hasUpdate = latest && !gte("1.0.5+c258d3c", latest) && !shouldSkipVersion(latest);
480352
480358
  setUpdateAvailable(!!hasUpdate);
480353
480359
  if (hasUpdate) {
480354
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.0.4+b41f3f3"} -> ${latest}`);
480360
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.0.5+c258d3c"} -> ${latest}`);
480355
480361
  }
480356
480362
  };
480357
480363
  $2[0] = t1;
@@ -480385,7 +480391,7 @@ function PackageManagerAutoUpdater(t0) {
480385
480391
  wrap: "truncate",
480386
480392
  children: [
480387
480393
  "currentVersion: ",
480388
- "1.0.4+b41f3f3"
480394
+ "1.0.5+c258d3c"
480389
480395
  ]
480390
480396
  }, undefined, true, undefined, this);
480391
480397
  $2[3] = verbose;
@@ -488553,7 +488559,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
488553
488559
  project_dir: getOriginalCwd(),
488554
488560
  added_dirs: addedDirs
488555
488561
  },
488556
- version: "1.0.4+b41f3f3",
488562
+ version: "1.0.5+c258d3c",
488557
488563
  output_style: {
488558
488564
  name: outputStyleName
488559
488565
  },
@@ -500037,7 +500043,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
500037
500043
  } catch {}
500038
500044
  const data = {
500039
500045
  trigger,
500040
- version: "1.0.4+b41f3f3",
500046
+ version: "1.0.5+c258d3c",
500041
500047
  platform: process.platform,
500042
500048
  transcript,
500043
500049
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -511443,7 +511449,7 @@ function WelcomeV2() {
511443
511449
  dimColor: true,
511444
511450
  children: [
511445
511451
  "v",
511446
- "1.0.4+b41f3f3",
511452
+ "1.0.5+c258d3c",
511447
511453
  " "
511448
511454
  ]
511449
511455
  }, undefined, true, undefined, this)
@@ -511643,7 +511649,7 @@ function WelcomeV2() {
511643
511649
  dimColor: true,
511644
511650
  children: [
511645
511651
  "v",
511646
- "1.0.4+b41f3f3",
511652
+ "1.0.5+c258d3c",
511647
511653
  " "
511648
511654
  ]
511649
511655
  }, undefined, true, undefined, this)
@@ -511869,7 +511875,7 @@ function AppleTerminalWelcomeV2(t0) {
511869
511875
  dimColor: true,
511870
511876
  children: [
511871
511877
  "v",
511872
- "1.0.4+b41f3f3",
511878
+ "1.0.5+c258d3c",
511873
511879
  " "
511874
511880
  ]
511875
511881
  }, undefined, true, undefined, this);
@@ -512123,7 +512129,7 @@ function AppleTerminalWelcomeV2(t0) {
512123
512129
  dimColor: true,
512124
512130
  children: [
512125
512131
  "v",
512126
- "1.0.4+b41f3f3",
512132
+ "1.0.5+c258d3c",
512127
512133
  " "
512128
512134
  ]
512129
512135
  }, undefined, true, undefined, this);
@@ -515187,7 +515193,7 @@ function appendToLog(path25, message) {
515187
515193
  cwd: getFsImplementation().cwd(),
515188
515194
  userType: process.env.USER_TYPE,
515189
515195
  sessionId: getSessionId(),
515190
- version: "1.0.4+b41f3f3"
515196
+ version: "1.0.5+c258d3c"
515191
515197
  };
515192
515198
  getLogWriter(path25).write(messageWithTimestamp);
515193
515199
  }
@@ -519172,8 +519178,8 @@ async function getEnvLessBridgeConfig() {
519172
519178
  }
519173
519179
  async function checkEnvLessBridgeMinVersion() {
519174
519180
  const cfg = await getEnvLessBridgeConfig();
519175
- if (cfg.min_version && lt("1.0.4+b41f3f3", cfg.min_version)) {
519176
- return `Your version of Vivus (${"1.0.4+b41f3f3"}) is too old for Remote Control.
519181
+ if (cfg.min_version && lt("1.0.5+c258d3c", cfg.min_version)) {
519182
+ return `Your version of Vivus (${"1.0.5+c258d3c"}) is too old for Remote Control.
519177
519183
  Version ${cfg.min_version} or higher is required. Run \`vivus update\` to update.`;
519178
519184
  }
519179
519185
  return null;
@@ -519647,7 +519653,7 @@ async function initBridgeCore(params) {
519647
519653
  const rawApi = createBridgeApiClient({
519648
519654
  baseUrl,
519649
519655
  getAccessToken,
519650
- runnerVersion: "1.0.4+b41f3f3",
519656
+ runnerVersion: "1.0.5+c258d3c",
519651
519657
  onDebug: logForDebugging,
519652
519658
  onAuth401,
519653
519659
  getTrustedDeviceToken
@@ -525311,7 +525317,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
525311
525317
  setCwd(cwd3);
525312
525318
  const server = new Server({
525313
525319
  name: "vivus/tengu",
525314
- version: "1.0.4+b41f3f3"
525320
+ version: "1.0.5+c258d3c"
525315
525321
  }, {
525316
525322
  capabilities: {
525317
525323
  tools: {}
@@ -526922,7 +526928,7 @@ __export(exports_update, {
526922
526928
  });
526923
526929
  async function update() {
526924
526930
  logEvent("tengu_update_check", {});
526925
- writeToStdout(`Current version: ${"1.0.4+b41f3f3"}
526931
+ writeToStdout(`Current version: ${"1.0.5+c258d3c"}
526926
526932
  `);
526927
526933
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
526928
526934
  writeToStdout(`Checking for updates to ${channel} version...
@@ -526997,8 +527003,8 @@ async function update() {
526997
527003
  writeToStdout(`Vivus is managed by Homebrew.
526998
527004
  `);
526999
527005
  const latest = await getLatestVersion(channel);
527000
- if (latest && !gte("1.0.4+b41f3f3", latest)) {
527001
- writeToStdout(`Update available: ${"1.0.4+b41f3f3"} → ${latest}
527006
+ if (latest && !gte("1.0.5+c258d3c", latest)) {
527007
+ writeToStdout(`Update available: ${"1.0.5+c258d3c"} → ${latest}
527002
527008
  `);
527003
527009
  writeToStdout(`
527004
527010
  `);
@@ -527014,8 +527020,8 @@ async function update() {
527014
527020
  writeToStdout(`Vivus is managed by winget.
527015
527021
  `);
527016
527022
  const latest = await getLatestVersion(channel);
527017
- if (latest && !gte("1.0.4+b41f3f3", latest)) {
527018
- writeToStdout(`Update available: ${"1.0.4+b41f3f3"} → ${latest}
527023
+ if (latest && !gte("1.0.5+c258d3c", latest)) {
527024
+ writeToStdout(`Update available: ${"1.0.5+c258d3c"} → ${latest}
527019
527025
  `);
527020
527026
  writeToStdout(`
527021
527027
  `);
@@ -527031,8 +527037,8 @@ async function update() {
527031
527037
  writeToStdout(`Vivus is managed by apk.
527032
527038
  `);
527033
527039
  const latest = await getLatestVersion(channel);
527034
- if (latest && !gte("1.0.4+b41f3f3", latest)) {
527035
- writeToStdout(`Update available: ${"1.0.4+b41f3f3"} → ${latest}
527040
+ if (latest && !gte("1.0.5+c258d3c", latest)) {
527041
+ writeToStdout(`Update available: ${"1.0.5+c258d3c"} → ${latest}
527036
527042
  `);
527037
527043
  writeToStdout(`
527038
527044
  `);
@@ -527097,11 +527103,11 @@ async function update() {
527097
527103
  `);
527098
527104
  await gracefulShutdown(1);
527099
527105
  }
527100
- if (result.latestVersion === "1.0.4+b41f3f3") {
527101
- writeToStdout(source_default.green(`Vivus is up to date (${"1.0.4+b41f3f3"})`) + `
527106
+ if (result.latestVersion === "1.0.5+c258d3c") {
527107
+ writeToStdout(source_default.green(`Vivus is up to date (${"1.0.5+c258d3c"})`) + `
527102
527108
  `);
527103
527109
  } else {
527104
- writeToStdout(source_default.green(`Successfully updated from ${"1.0.4+b41f3f3"} to version ${result.latestVersion}`) + `
527110
+ writeToStdout(source_default.green(`Successfully updated from ${"1.0.5+c258d3c"} to version ${result.latestVersion}`) + `
527105
527111
  `);
527106
527112
  await regenerateCompletionCache();
527107
527113
  }
@@ -527158,12 +527164,12 @@ async function update() {
527158
527164
  `);
527159
527165
  await gracefulShutdown(1);
527160
527166
  }
527161
- if (latestVersion === "1.0.4+b41f3f3") {
527162
- writeToStdout(source_default.green(`Vivus is up to date (${"1.0.4+b41f3f3"})`) + `
527167
+ if (latestVersion === "1.0.5+c258d3c") {
527168
+ writeToStdout(source_default.green(`Vivus is up to date (${"1.0.5+c258d3c"})`) + `
527163
527169
  `);
527164
527170
  await gracefulShutdown(0);
527165
527171
  }
527166
- writeToStdout(`New version available: ${latestVersion} (current: ${"1.0.4+b41f3f3"})
527172
+ writeToStdout(`New version available: ${latestVersion} (current: ${"1.0.5+c258d3c"})
527167
527173
  `);
527168
527174
  writeToStdout(`Installing update...
527169
527175
  `);
@@ -527208,7 +527214,7 @@ async function update() {
527208
527214
  logForDebugging(`update: Installation status: ${status2}`);
527209
527215
  switch (status2) {
527210
527216
  case "success":
527211
- writeToStdout(source_default.green(`Successfully updated from ${"1.0.4+b41f3f3"} to version ${latestVersion}`) + `
527217
+ writeToStdout(source_default.green(`Successfully updated from ${"1.0.5+c258d3c"} to version ${latestVersion}`) + `
527212
527218
  `);
527213
527219
  await regenerateCompletionCache();
527214
527220
  break;
@@ -527636,15 +527642,82 @@ async function fetchBootstrapAPI() {
527636
527642
  throw error41;
527637
527643
  }
527638
527644
  }
527645
+ function titleCaseModelName(name) {
527646
+ const base2 = name.replace(/:latest$/, "");
527647
+ if (!base2)
527648
+ return name;
527649
+ return base2.split(/[-_/:]/).filter(Boolean).map((part) => part.charAt(0).toUpperCase() + part.slice(1)).join(" ");
527650
+ }
527651
+ async function fetchProxyModelOptions() {
527652
+ if (isFirstPartyAnthropicBaseUrl())
527653
+ return null;
527654
+ const baseUrl = process.env.ANTHROPIC_BASE_URL;
527655
+ if (!baseUrl)
527656
+ return null;
527657
+ let tagsUrl;
527658
+ try {
527659
+ tagsUrl = new URL("/api/tags", baseUrl).toString();
527660
+ } catch {
527661
+ return null;
527662
+ }
527663
+ try {
527664
+ logForDebugging(`[Bootstrap] Probing proxy model list: ${tagsUrl}`);
527665
+ const response = await axios_default.get(tagsUrl, { timeout: 5000 });
527666
+ const data = response.data;
527667
+ const models = Array.isArray(data?.models) ? data.models : [];
527668
+ if (models.length === 0) {
527669
+ logForDebugging("[Bootstrap] Proxy returned empty model list");
527670
+ return [];
527671
+ }
527672
+ const options2 = [];
527673
+ const seen = new Set;
527674
+ for (const m of models) {
527675
+ const name = typeof m.name === "string" ? m.name : null;
527676
+ if (!name || seen.has(name))
527677
+ continue;
527678
+ seen.add(name);
527679
+ const details = m.details ?? {};
527680
+ const family = typeof details.family === "string" ? details.family : null;
527681
+ const paramSize = typeof details.parameter_size === "string" ? details.parameter_size : null;
527682
+ const descParts = [];
527683
+ if (family)
527684
+ descParts.push(family);
527685
+ if (paramSize)
527686
+ descParts.push(paramSize);
527687
+ const description = descParts.length > 0 ? descParts.join(" · ") : name;
527688
+ options2.push({
527689
+ value: name,
527690
+ label: titleCaseModelName(name),
527691
+ description
527692
+ });
527693
+ }
527694
+ logForDebugging(`[Bootstrap] Proxy model list: ${options2.map((o2) => o2.value).join(", ")}`);
527695
+ return options2;
527696
+ } catch (error41) {
527697
+ logForDebugging(`[Bootstrap] Proxy /api/tags fetch failed: ${axios_default.isAxiosError(error41) ? error41.response?.status ?? error41.code : "unknown"}`);
527698
+ return null;
527699
+ }
527700
+ }
527639
527701
  async function fetchBootstrapData() {
527640
527702
  try {
527641
- const response = await fetchBootstrapAPI();
527642
- if (!response)
527703
+ const [response, proxyModels] = await Promise.all([
527704
+ fetchBootstrapAPI().catch(() => null),
527705
+ fetchProxyModelOptions()
527706
+ ]);
527707
+ if (!response && !proxyModels)
527643
527708
  return;
527644
- const clientData = response.client_data ?? null;
527645
- const additionalModelOptions = response.additional_model_options ?? [];
527709
+ const clientData = response?.client_data ?? null;
527710
+ const apiOptions = response?.additional_model_options ?? [];
527711
+ const merged = [...apiOptions];
527712
+ if (proxyModels) {
527713
+ for (const opt of proxyModels) {
527714
+ if (!merged.some((existing) => existing.value === opt.value)) {
527715
+ merged.push(opt);
527716
+ }
527717
+ }
527718
+ }
527646
527719
  const config4 = getGlobalConfig();
527647
- if (isEqual_default(config4.clientDataCache, clientData) && isEqual_default(config4.additionalModelOptionsCache, additionalModelOptions)) {
527720
+ if (isEqual_default(config4.clientDataCache, clientData) && isEqual_default(config4.additionalModelOptionsCache, merged)) {
527648
527721
  logForDebugging("[Bootstrap] Cache unchanged, skipping write");
527649
527722
  return;
527650
527723
  }
@@ -527652,7 +527725,7 @@ async function fetchBootstrapData() {
527652
527725
  saveGlobalConfig((current) => ({
527653
527726
  ...current,
527654
527727
  clientDataCache: clientData,
527655
- additionalModelOptionsCache: additionalModelOptions
527728
+ additionalModelOptionsCache: merged
527656
527729
  }));
527657
527730
  } catch (error41) {
527658
527731
  logError2(error41);
@@ -528178,7 +528251,7 @@ function completeOnboarding() {
528178
528251
  saveGlobalConfig((current) => ({
528179
528252
  ...current,
528180
528253
  hasCompletedOnboarding: true,
528181
- lastOnboardingVersion: "1.0.4+b41f3f3"
528254
+ lastOnboardingVersion: "1.0.5+c258d3c"
528182
528255
  }));
528183
528256
  }
528184
528257
  function showDialog(root2, renderer) {
@@ -532267,7 +532340,7 @@ ${customInstructions}` : customInstructions;
532267
532340
  }
532268
532341
  }
532269
532342
  logForDiagnosticsNoPII("info", "started", {
532270
- version: "1.0.4+b41f3f3",
532343
+ version: "1.0.5+c258d3c",
532271
532344
  is_native_binary: isInBundledMode()
532272
532345
  });
532273
532346
  registerCleanup(async () => {
@@ -533051,7 +533124,7 @@ Usage: vivus --remote "your task description"`, () => gracefulShutdown(1));
533051
533124
  pendingHookMessages
533052
533125
  }, renderAndRun);
533053
533126
  }
533054
- }).version("1.0.4+b41f3f3 (Vivus)", "-v, --version", "Output the version number");
533127
+ }).version("1.0.5+c258d3c (Vivus)", "-v, --version", "Output the version number");
533055
533128
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
533056
533129
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
533057
533130
  if (canUserConfigureAdvisor()) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vivus-agent",
3
- "version": "1.0.4",
3
+ "version": "1.0.5",
4
4
  "description": "Vivus — local AI coding agent",
5
5
  "type": "module",
6
6
  "main": "dist/main.js",