vivus-agent 1.1.1 → 1.1.2

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 +187 -99
  2. package/package.json +1 -1
package/dist/main.js CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env -S node --max-old-space-size=8192 --expose-gc
2
2
  // Vivus CLI — local AI coding agent
3
- // Built from source at 2026-06-14T21:49:32.810Z
3
+ // Built from source at 2026-06-15T03:21:23.155Z
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.1+1904f0e"}`;
115981
+ return `vivus/${"1.1.2+c24e99a"}`;
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.1+1904f0e"} (${process.env.USER_TYPE}, ${process.env.VIVUS_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
116003
+ return `vivus-cli/${"1.1.2+c24e99a"} (${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.1+1904f0e"}${suffix}`;
116017
+ return `vivus/${"1.1.2+c24e99a"}${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.1+1904f0e",
116155
+ appVersion: "1.1.2+c24e99a",
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.1+1904f0e".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
127821
+ const match = "1.1.2+c24e99a".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.1+1904f0e",
127861
+ version: "1.1.2+c24e99a",
127862
127862
  versionBase: getVersionBase(),
127863
- buildTime: "2026-06-14T21:49:32.146Z",
127863
+ buildTime: "2026-06-15T03:21:21.977Z",
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.1+1904f0e"
128531
+ [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.1.2+c24e99a"
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.1+1904f0e");
128558
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.vivus_code.events", "1.1.2+c24e99a");
128559
128559
  }
128560
128560
  async function reinitialize1PEventLoggingIfConfigChanged() {
128561
128561
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -162643,7 +162643,7 @@ function getAttributionHeader(fingerprint) {
162643
162643
  if (!isAttributionHeaderEnabled()) {
162644
162644
  return "";
162645
162645
  }
162646
- const version2 = `${"1.1.1+1904f0e"}.${fingerprint}`;
162646
+ const version2 = `${"1.1.2+c24e99a"}.${fingerprint}`;
162647
162647
  const entrypoint = process.env.VIVUS_CODE_ENTRYPOINT ?? "unknown";
162648
162648
  const cch = "";
162649
162649
  const workload = getWorkload();
@@ -166442,8 +166442,8 @@ import * as fs3 from "fs";
166442
166442
  function getDangerousDirectories() {
166443
166443
  return [
166444
166444
  ...DANGEROUS_DIRECTORIES.filter((d) => d !== ".git"),
166445
- ".claude/commands",
166446
- ".claude/agents"
166445
+ ".vivus/commands",
166446
+ ".vivus/agents"
166447
166447
  ];
166448
166448
  }
166449
166449
  function normalizeCaseForComparison(pathStr) {
@@ -166545,15 +166545,15 @@ function getDefaultWritePaths() {
166545
166545
  "/dev/tty",
166546
166546
  "/dev/dtracehelper",
166547
166547
  "/dev/autofs_nowait",
166548
- "/tmp/claude",
166549
- "/private/tmp/claude",
166548
+ "/tmp/vivus",
166549
+ "/private/tmp/vivus",
166550
166550
  path10.join(homeDir, ".npm/_logs"),
166551
- path10.join(homeDir, ".claude/debug")
166551
+ path10.join(homeDir, ".vivus/debug")
166552
166552
  ];
166553
166553
  return recommendedPaths;
166554
166554
  }
166555
166555
  function generateProxyEnvVars(httpProxyPort, socksProxyPort) {
166556
- const tmpdir3 = process.env.CLAUDE_TMPDIR || "/tmp/claude";
166556
+ const tmpdir3 = process.env.VIVUS_TMPDIR || "/tmp/vivus";
166557
166557
  const envVars = [`SANDBOX_RUNTIME=1`, `TMPDIR=${tmpdir3}`];
166558
166558
  if (!httpProxyPort && !socksProxyPort) {
166559
166559
  return envVars;
@@ -174798,7 +174798,11 @@ function convertToSandboxRuntimeConfig(settings) {
174798
174798
  deniedDomains.push(rule.ruleContent.substring("domain:".length));
174799
174799
  }
174800
174800
  }
174801
- const allowWrite = [".", getVivusTempDir()];
174801
+ const allowWrite = [
174802
+ ".",
174803
+ getVivusTempDir(),
174804
+ join40(getVivusConfigHomeDir(), "debug")
174805
+ ];
174802
174806
  const denyWrite = [];
174803
174807
  const denyRead = [];
174804
174808
  const allowRead = [];
@@ -174811,9 +174815,10 @@ function convertToSandboxRuntimeConfig(settings) {
174811
174815
  denyWrite.push(resolve15(cwd2, ".vivus", "settings.json"));
174812
174816
  denyWrite.push(resolve15(cwd2, ".vivus", "settings.local.json"));
174813
174817
  }
174814
- denyWrite.push(resolve15(originalCwd, ".vivus", "skills"));
174815
- if (cwd2 !== originalCwd) {
174816
- denyWrite.push(resolve15(cwd2, ".vivus", "skills"));
174818
+ for (const dir of cwd2 === originalCwd ? [originalCwd] : [originalCwd, cwd2]) {
174819
+ denyWrite.push(resolve15(dir, ".vivus", "commands"));
174820
+ denyWrite.push(resolve15(dir, ".vivus", "agents"));
174821
+ denyWrite.push(resolve15(dir, ".vivus", "skills"));
174817
174822
  }
174818
174823
  bareGitRepoScrubPaths.length = 0;
174819
174824
  const bareGitRepoFiles = ["HEAD", "objects", "refs", "hooks", "config"];
@@ -175161,6 +175166,7 @@ var init_sandbox_adapter = __esm(() => {
175161
175166
  init_prompt2();
175162
175167
  init_errors();
175163
175168
  init_filesystem();
175169
+ init_envUtils();
175164
175170
  init_ripgrep2();
175165
175171
  bareGitRepoScrubPaths = [];
175166
175172
  checkDependencies2 = memoize_default(() => {
@@ -175800,7 +175806,7 @@ function getTelemetryAttributes() {
175800
175806
  attributes["session.id"] = sessionId;
175801
175807
  }
175802
175808
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
175803
- attributes["app.version"] = "1.1.1+1904f0e";
175809
+ attributes["app.version"] = "1.1.2+c24e99a";
175804
175810
  }
175805
175811
  const oauthAccount = getOauthAccountInfo();
175806
175812
  if (oauthAccount) {
@@ -242349,7 +242355,7 @@ function computeFingerprint(messageText, version2) {
242349
242355
  }
242350
242356
  function computeFingerprintFromMessages(messages) {
242351
242357
  const firstMessageText = extractFirstMessageText(messages);
242352
- return computeFingerprint(firstMessageText, "1.1.1+1904f0e");
242358
+ return computeFingerprint(firstMessageText, "1.1.2+c24e99a");
242353
242359
  }
242354
242360
  var FINGERPRINT_SALT = "59cf53e54c78";
242355
242361
  var init_fingerprint = () => {};
@@ -242391,7 +242397,7 @@ async function sideQuery(opts) {
242391
242397
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
242392
242398
  }
242393
242399
  const messageText = extractFirstUserMessageText(messages);
242394
- const fingerprint = computeFingerprint(messageText, "1.1.1+1904f0e");
242400
+ const fingerprint = computeFingerprint(messageText, "1.1.2+c24e99a");
242395
242401
  const attributionHeader = getAttributionHeader(fingerprint);
242396
242402
  const systemBlocks = [
242397
242403
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -243543,7 +243549,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
243543
243549
  const client2 = new Client({
243544
243550
  name: "vivus",
243545
243551
  title: "Vivus",
243546
- version: "1.1.1+1904f0e",
243552
+ version: "1.1.2+c24e99a",
243547
243553
  description: "Anthropic's agentic coding tool",
243548
243554
  websiteUrl: PRODUCT_URL
243549
243555
  }, {
@@ -243897,7 +243903,7 @@ var init_client6 = __esm(() => {
243897
243903
  const client2 = new Client({
243898
243904
  name: "vivus",
243899
243905
  title: "Vivus",
243900
- version: "1.1.1+1904f0e",
243906
+ version: "1.1.2+c24e99a",
243901
243907
  description: "Anthropic's agentic coding tool",
243902
243908
  websiteUrl: PRODUCT_URL
243903
243909
  }, {
@@ -245955,7 +245961,7 @@ function getInstallationEnv() {
245955
245961
  return;
245956
245962
  }
245957
245963
  function getVivusCodeVersion() {
245958
- return "1.1.1+1904f0e";
245964
+ return "1.1.2+c24e99a";
245959
245965
  }
245960
245966
  async function getInstalledVSCodeExtensionVersion(command) {
245961
245967
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -278445,7 +278451,7 @@ async function initializeBetaTracing(resource) {
278445
278451
  });
278446
278452
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
278447
278453
  setLoggerProvider(loggerProvider);
278448
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.1+1904f0e");
278454
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.2+c24e99a");
278449
278455
  setEventLogger(eventLogger);
278450
278456
  process.on("beforeExit", async () => {
278451
278457
  await loggerProvider?.forceFlush();
@@ -278485,7 +278491,7 @@ async function initializeTelemetry() {
278485
278491
  const platform5 = getPlatform();
278486
278492
  const baseAttributes = {
278487
278493
  [import_semantic_conventions2.ATTR_SERVICE_NAME]: "vivus",
278488
- [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.1.1+1904f0e"
278494
+ [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.1.2+c24e99a"
278489
278495
  };
278490
278496
  if (platform5 === "wsl") {
278491
278497
  const wslVersion = getWslVersion();
@@ -278530,7 +278536,7 @@ async function initializeTelemetry() {
278530
278536
  } catch {}
278531
278537
  };
278532
278538
  registerCleanup(shutdownTelemetry2);
278533
- return meterProvider2.getMeter("com.anthropic.vivus_code", "1.1.1+1904f0e");
278539
+ return meterProvider2.getMeter("com.anthropic.vivus_code", "1.1.2+c24e99a");
278534
278540
  }
278535
278541
  const meterProvider = new import_sdk_metrics2.MeterProvider({
278536
278542
  resource,
@@ -278550,7 +278556,7 @@ async function initializeTelemetry() {
278550
278556
  });
278551
278557
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
278552
278558
  setLoggerProvider(loggerProvider);
278553
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.1+1904f0e");
278559
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.2+c24e99a");
278554
278560
  setEventLogger(eventLogger);
278555
278561
  logForDebugging("[3P telemetry] Event logger set successfully");
278556
278562
  process.on("beforeExit", async () => {
@@ -278612,7 +278618,7 @@ Current timeout: ${timeoutMs}ms
278612
278618
  }
278613
278619
  };
278614
278620
  registerCleanup(shutdownTelemetry);
278615
- return meterProvider.getMeter("com.anthropic.vivus_code", "1.1.1+1904f0e");
278621
+ return meterProvider.getMeter("com.anthropic.vivus_code", "1.1.2+c24e99a");
278616
278622
  }
278617
278623
  async function flushTelemetry() {
278618
278624
  const meterProvider = getMeterProvider();
@@ -279298,9 +279304,9 @@ async function assertMinVersion() {
279298
279304
  if (false) {}
279299
279305
  try {
279300
279306
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
279301
- if (versionConfig.minVersion && lt("1.1.1+1904f0e", versionConfig.minVersion)) {
279307
+ if (versionConfig.minVersion && lt("1.1.2+c24e99a", versionConfig.minVersion)) {
279302
279308
  console.error(`
279303
- It looks like your version of Vivus (${"1.1.1+1904f0e"}) needs an update.
279309
+ It looks like your version of Vivus (${"1.1.2+c24e99a"}) needs an update.
279304
279310
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
279305
279311
 
279306
279312
  To update, please run:
@@ -279516,7 +279522,7 @@ async function installGlobalPackage(specificVersion) {
279516
279522
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
279517
279523
  logEvent("tengu_auto_updater_lock_contention", {
279518
279524
  pid: process.pid,
279519
- currentVersion: "1.1.1+1904f0e"
279525
+ currentVersion: "1.1.2+c24e99a"
279520
279526
  });
279521
279527
  return "in_progress";
279522
279528
  }
@@ -279525,7 +279531,7 @@ async function installGlobalPackage(specificVersion) {
279525
279531
  if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
279526
279532
  logError2(new Error("Windows NPM detected in WSL environment"));
279527
279533
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
279528
- currentVersion: "1.1.1+1904f0e"
279534
+ currentVersion: "1.1.2+c24e99a"
279529
279535
  });
279530
279536
  console.error(`
279531
279537
  Error: Windows NPM detected in WSL
@@ -280058,7 +280064,7 @@ function detectLinuxGlobPatternWarnings() {
280058
280064
  }
280059
280065
  async function getDoctorDiagnostic() {
280060
280066
  const installationType = await getCurrentInstallationType();
280061
- const version2 = typeof MACRO !== "undefined" ? "1.1.1+1904f0e" : "unknown";
280067
+ const version2 = typeof MACRO !== "undefined" ? "1.1.2+c24e99a" : "unknown";
280062
280068
  const installationPath = await getInstallationPath();
280063
280069
  const invokedBinary = getInvokedBinary();
280064
280070
  const multipleInstallations = await detectMultipleInstallations();
@@ -280991,8 +280997,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
280991
280997
  const maxVersion = await getMaxVersion();
280992
280998
  if (maxVersion && gt(version2, maxVersion)) {
280993
280999
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
280994
- if (gte("1.1.1+1904f0e", maxVersion)) {
280995
- logForDebugging(`Native installer: current version ${"1.1.1+1904f0e"} is already at or above maxVersion ${maxVersion}, skipping update`);
281000
+ if (gte("1.1.2+c24e99a", maxVersion)) {
281001
+ logForDebugging(`Native installer: current version ${"1.1.2+c24e99a"} is already at or above maxVersion ${maxVersion}, skipping update`);
280996
281002
  logEvent("tengu_native_update_skipped_max_version", {
280997
281003
  latency_ms: Date.now() - startTime,
280998
281004
  max_version: maxVersion,
@@ -281003,7 +281009,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
281003
281009
  version2 = maxVersion;
281004
281010
  }
281005
281011
  }
281006
- if (!forceReinstall && version2 === "1.1.1+1904f0e" && await versionIsAvailable(version2) && await isPossibleVivusBinary(executablePath)) {
281012
+ if (!forceReinstall && version2 === "1.1.2+c24e99a" && await versionIsAvailable(version2) && await isPossibleVivusBinary(executablePath)) {
281007
281013
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
281008
281014
  logEvent("tengu_native_update_complete", {
281009
281015
  latency_ms: Date.now() - startTime,
@@ -336916,7 +336922,7 @@ function getAnthropicEnvMetadata() {
336916
336922
  function getBuildAgeMinutes() {
336917
336923
  if (false)
336918
336924
  ;
336919
- const buildTime = new Date("2026-06-14T21:49:32.146Z").getTime();
336925
+ const buildTime = new Date("2026-06-15T03:21:21.977Z").getTime();
336920
336926
  if (isNaN(buildTime))
336921
336927
  return;
336922
336928
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -384132,7 +384138,7 @@ var init_filesystem = __esm(() => {
384132
384138
  });
384133
384139
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
384134
384140
  const nonce = randomBytes17(16).toString("hex");
384135
- return join106(getVivusTempDir(), "bundled-skills", "1.1.1+1904f0e", nonce);
384141
+ return join106(getVivusTempDir(), "bundled-skills", "1.1.2+c24e99a", nonce);
384136
384142
  });
384137
384143
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
384138
384144
  });
@@ -385892,7 +385898,7 @@ function Feedback({
385892
385898
  platform: env2.platform,
385893
385899
  gitRepo: envInfo.isGit,
385894
385900
  terminal: env2.terminal,
385895
- version: "1.1.1+1904f0e",
385901
+ version: "1.1.2+c24e99a",
385896
385902
  transcript: normalizeMessagesForAPI(messages),
385897
385903
  errors: sanitizedErrors,
385898
385904
  lastApiRequest: getLastAPIRequest(),
@@ -386084,7 +386090,7 @@ function Feedback({
386084
386090
  ", ",
386085
386091
  env2.terminal,
386086
386092
  ", v",
386087
- "1.1.1+1904f0e"
386093
+ "1.1.2+c24e99a"
386088
386094
  ]
386089
386095
  }, undefined, true, undefined, this)
386090
386096
  ]
@@ -386190,7 +386196,7 @@ ${sanitizedDescription}
386190
386196
  ` + `**Environment Info**
386191
386197
  ` + `- Platform: ${env2.platform}
386192
386198
  ` + `- Terminal: ${env2.terminal}
386193
- ` + `- Version: ${"1.1.1+1904f0e"}
386199
+ ` + `- Version: ${"1.1.2+c24e99a"}
386194
386200
  ` + `- Feedback ID: ${feedbackId}
386195
386201
  ` + `
386196
386202
  **Errors**
@@ -389321,7 +389327,7 @@ function buildPrimarySection() {
389321
389327
  }, undefined, false, undefined, this);
389322
389328
  return [{
389323
389329
  label: "Version",
389324
- value: "1.1.1+1904f0e"
389330
+ value: "1.1.2+c24e99a"
389325
389331
  }, {
389326
389332
  label: "Session name",
389327
389333
  value: nameValue
@@ -393072,7 +393078,7 @@ function Config({
393072
393078
  }
393073
393079
  }, undefined, false, undefined, this)
393074
393080
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(ChannelDowngradeDialog, {
393075
- currentVersion: "1.1.1+1904f0e",
393081
+ currentVersion: "1.1.2+c24e99a",
393076
393082
  onChoice: (choice) => {
393077
393083
  setShowSubmenu(null);
393078
393084
  setTabsHidden(false);
@@ -393084,7 +393090,7 @@ function Config({
393084
393090
  autoUpdatesChannel: "stable"
393085
393091
  };
393086
393092
  if (choice === "stay") {
393087
- newSettings.minimumVersion = "1.1.1+1904f0e";
393093
+ newSettings.minimumVersion = "1.1.2+c24e99a";
393088
393094
  }
393089
393095
  updateSettingsForSource("userSettings", newSettings);
393090
393096
  setSettingsData((prev_27) => ({
@@ -401170,7 +401176,7 @@ function HelpV2(t0) {
401170
401176
  let t6;
401171
401177
  if ($2[31] !== tabs) {
401172
401178
  t6 = /* @__PURE__ */ jsx_dev_runtime205.jsxDEV(Tabs, {
401173
- title: `Vivus v${"1.1.1+1904f0e"}`,
401179
+ title: `Vivus v${"1.1.2+c24e99a"}`,
401174
401180
  color: "professionalBlue",
401175
401181
  defaultTab: "general",
401176
401182
  children: tabs
@@ -425396,7 +425402,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
425396
425402
  return [];
425397
425403
  }
425398
425404
  }
425399
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.1+1904f0e") {
425405
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.2+c24e99a") {
425400
425406
  if (process.env.USER_TYPE === "ant") {
425401
425407
  const changelog = "";
425402
425408
  if (changelog) {
@@ -425423,7 +425429,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.1+190
425423
425429
  releaseNotes
425424
425430
  };
425425
425431
  }
425426
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.1+1904f0e") {
425432
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.2+c24e99a") {
425427
425433
  if (process.env.USER_TYPE === "ant") {
425428
425434
  const changelog = "";
425429
425435
  if (changelog) {
@@ -426593,7 +426599,7 @@ function getRecentActivitySync() {
426593
426599
  return cachedActivity;
426594
426600
  }
426595
426601
  function getLogoDisplayData() {
426596
- const version2 = process.env.DEMO_VERSION ?? "1.1.1+1904f0e";
426602
+ const version2 = process.env.DEMO_VERSION ?? "1.1.2+c24e99a";
426597
426603
  const serverUrl = getDirectConnectServerUrl();
426598
426604
  const displayPath = process.env.DEMO_VERSION ? "/code/vivus" : getDisplayPath(getCwd());
426599
426605
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -428120,7 +428126,7 @@ function LogoV2() {
428120
428126
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
428121
428127
  t2 = () => {
428122
428128
  const currentConfig = getGlobalConfig();
428123
- if (currentConfig.lastReleaseNotesSeen === "1.1.1+1904f0e") {
428129
+ if (currentConfig.lastReleaseNotesSeen === "1.1.2+c24e99a") {
428124
428130
  return;
428125
428131
  }
428126
428132
  saveGlobalConfig(_temp329);
@@ -428796,12 +428802,12 @@ function LogoV2() {
428796
428802
  return t41;
428797
428803
  }
428798
428804
  function _temp329(current) {
428799
- if (current.lastReleaseNotesSeen === "1.1.1+1904f0e") {
428805
+ if (current.lastReleaseNotesSeen === "1.1.2+c24e99a") {
428800
428806
  return current;
428801
428807
  }
428802
428808
  return {
428803
428809
  ...current,
428804
- lastReleaseNotesSeen: "1.1.1+1904f0e"
428810
+ lastReleaseNotesSeen: "1.1.2+c24e99a"
428805
428811
  };
428806
428812
  }
428807
428813
  function _temp245(s_0) {
@@ -455098,7 +455104,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
455098
455104
  smapsRollup,
455099
455105
  platform: process.platform,
455100
455106
  nodeVersion: process.version,
455101
- ccVersion: "1.1.1+1904f0e"
455107
+ ccVersion: "1.1.2+c24e99a"
455102
455108
  };
455103
455109
  }
455104
455110
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -455684,7 +455690,7 @@ var init_bridge_kick = __esm(() => {
455684
455690
  var call56 = async () => {
455685
455691
  return {
455686
455692
  type: "text",
455687
- value: `${"1.1.1+1904f0e"} (built ${"2026-06-14T21:49:32.146Z"})`
455693
+ value: `${"1.1.2+c24e99a"} (built ${"2026-06-15T03:21:21.977Z"})`
455688
455694
  };
455689
455695
  }, version2, version_default;
455690
455696
  var init_version = __esm(() => {
@@ -464647,7 +464653,7 @@ function generateHtmlReport(data, insights) {
464647
464653
  </html>`;
464648
464654
  }
464649
464655
  function buildExportData(data, insights, facets, remoteStats) {
464650
- const version3 = typeof MACRO !== "undefined" ? "1.1.1+1904f0e" : "unknown";
464656
+ const version3 = typeof MACRO !== "undefined" ? "1.1.2+c24e99a" : "unknown";
464651
464657
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
464652
464658
  const facets_summary = {
464653
464659
  total: facets.size,
@@ -468756,7 +468762,7 @@ var init_sessionStorage = __esm(() => {
468756
468762
  init_settings2();
468757
468763
  init_slowOperations();
468758
468764
  init_uuid();
468759
- VERSION5 = typeof MACRO !== "undefined" ? "1.1.1+1904f0e" : "unknown";
468765
+ VERSION5 = typeof MACRO !== "undefined" ? "1.1.2+c24e99a" : "unknown";
468760
468766
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
468761
468767
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
468762
468768
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -471627,7 +471633,7 @@ function buildSystemInitMessage(inputs) {
471627
471633
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
471628
471634
  apiKeySource: getAnthropicApiKeyWithSource().source,
471629
471635
  betas: getSdkBetas(),
471630
- vivus_code_version: "1.1.1+1904f0e",
471636
+ vivus_code_version: "1.1.2+c24e99a",
471631
471637
  output_style: outputStyle2,
471632
471638
  agents: inputs.agents.map((agent) => agent.agentType),
471633
471639
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
@@ -486255,7 +486261,7 @@ var init_useVoiceEnabled = __esm(() => {
486255
486261
  function getSemverPart(version3) {
486256
486262
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
486257
486263
  }
486258
- function useUpdateNotification(updatedVersion, initialVersion = "1.1.1+1904f0e") {
486264
+ function useUpdateNotification(updatedVersion, initialVersion = "1.1.2+c24e99a") {
486259
486265
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react227.useState(() => getSemverPart(initialVersion));
486260
486266
  if (!updatedVersion) {
486261
486267
  return null;
@@ -486295,7 +486301,7 @@ function AutoUpdater({
486295
486301
  return;
486296
486302
  }
486297
486303
  if (false) {}
486298
- const currentVersion = "1.1.1+1904f0e";
486304
+ const currentVersion = "1.1.2+c24e99a";
486299
486305
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
486300
486306
  let latestVersion = await getLatestVersion(channel);
486301
486307
  const isDisabled = isAutoUpdaterDisabled();
@@ -486508,12 +486514,12 @@ function NativeAutoUpdater({
486508
486514
  logEvent("tengu_native_auto_updater_start", {});
486509
486515
  try {
486510
486516
  const maxVersion = await getMaxVersion();
486511
- if (maxVersion && gt("1.1.1+1904f0e", maxVersion)) {
486517
+ if (maxVersion && gt("1.1.2+c24e99a", maxVersion)) {
486512
486518
  const msg = await getMaxVersionMessage();
486513
486519
  setMaxVersionIssue(msg ?? "affects your version");
486514
486520
  }
486515
486521
  const result = await installLatest(channel);
486516
- const currentVersion = "1.1.1+1904f0e";
486522
+ const currentVersion = "1.1.2+c24e99a";
486517
486523
  const latencyMs = Date.now() - startTime;
486518
486524
  if (result.lockFailed) {
486519
486525
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -486650,17 +486656,17 @@ function PackageManagerAutoUpdater(t0) {
486650
486656
  const maxVersion = await getMaxVersion();
486651
486657
  if (maxVersion && latest && gt(latest, maxVersion)) {
486652
486658
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
486653
- if (gte("1.1.1+1904f0e", maxVersion)) {
486654
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.1+1904f0e"} is already at or above maxVersion ${maxVersion}, skipping update`);
486659
+ if (gte("1.1.2+c24e99a", maxVersion)) {
486660
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.2+c24e99a"} is already at or above maxVersion ${maxVersion}, skipping update`);
486655
486661
  setUpdateAvailable(false);
486656
486662
  return;
486657
486663
  }
486658
486664
  latest = maxVersion;
486659
486665
  }
486660
- const hasUpdate = latest && !gte("1.1.1+1904f0e", latest) && !shouldSkipVersion(latest);
486666
+ const hasUpdate = latest && !gte("1.1.2+c24e99a", latest) && !shouldSkipVersion(latest);
486661
486667
  setUpdateAvailable(!!hasUpdate);
486662
486668
  if (hasUpdate) {
486663
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.1+1904f0e"} -> ${latest}`);
486669
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.2+c24e99a"} -> ${latest}`);
486664
486670
  }
486665
486671
  };
486666
486672
  $2[0] = t1;
@@ -486694,7 +486700,7 @@ function PackageManagerAutoUpdater(t0) {
486694
486700
  wrap: "truncate",
486695
486701
  children: [
486696
486702
  "currentVersion: ",
486697
- "1.1.1+1904f0e"
486703
+ "1.1.2+c24e99a"
486698
486704
  ]
486699
486705
  }, undefined, true, undefined, this);
486700
486706
  $2[3] = verbose;
@@ -494862,7 +494868,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
494862
494868
  project_dir: getOriginalCwd(),
494863
494869
  added_dirs: addedDirs
494864
494870
  },
494865
- version: "1.1.1+1904f0e",
494871
+ version: "1.1.2+c24e99a",
494866
494872
  output_style: {
494867
494873
  name: outputStyleName
494868
494874
  },
@@ -506346,7 +506352,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
506346
506352
  } catch {}
506347
506353
  const data = {
506348
506354
  trigger,
506349
- version: "1.1.1+1904f0e",
506355
+ version: "1.1.2+c24e99a",
506350
506356
  platform: process.platform,
506351
506357
  transcript,
506352
506358
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -517762,7 +517768,7 @@ function WelcomeV2() {
517762
517768
  dimColor: true,
517763
517769
  children: [
517764
517770
  "v",
517765
- "1.1.1+1904f0e",
517771
+ "1.1.2+c24e99a",
517766
517772
  " "
517767
517773
  ]
517768
517774
  }, undefined, true, undefined, this)
@@ -517962,7 +517968,7 @@ function WelcomeV2() {
517962
517968
  dimColor: true,
517963
517969
  children: [
517964
517970
  "v",
517965
- "1.1.1+1904f0e",
517971
+ "1.1.2+c24e99a",
517966
517972
  " "
517967
517973
  ]
517968
517974
  }, undefined, true, undefined, this)
@@ -518188,7 +518194,7 @@ function AppleTerminalWelcomeV2(t0) {
518188
518194
  dimColor: true,
518189
518195
  children: [
518190
518196
  "v",
518191
- "1.1.1+1904f0e",
518197
+ "1.1.2+c24e99a",
518192
518198
  " "
518193
518199
  ]
518194
518200
  }, undefined, true, undefined, this);
@@ -518442,7 +518448,7 @@ function AppleTerminalWelcomeV2(t0) {
518442
518448
  dimColor: true,
518443
518449
  children: [
518444
518450
  "v",
518445
- "1.1.1+1904f0e",
518451
+ "1.1.2+c24e99a",
518446
518452
  " "
518447
518453
  ]
518448
518454
  }, undefined, true, undefined, this);
@@ -521506,7 +521512,7 @@ function appendToLog(path25, message) {
521506
521512
  cwd: getFsImplementation().cwd(),
521507
521513
  userType: process.env.USER_TYPE,
521508
521514
  sessionId: getSessionId(),
521509
- version: "1.1.1+1904f0e"
521515
+ version: "1.1.2+c24e99a"
521510
521516
  };
521511
521517
  getLogWriter(path25).write(messageWithTimestamp);
521512
521518
  }
@@ -525491,8 +525497,8 @@ async function getEnvLessBridgeConfig() {
525491
525497
  }
525492
525498
  async function checkEnvLessBridgeMinVersion() {
525493
525499
  const cfg = await getEnvLessBridgeConfig();
525494
- if (cfg.min_version && lt("1.1.1+1904f0e", cfg.min_version)) {
525495
- return `Your version of Vivus (${"1.1.1+1904f0e"}) is too old for Remote Control.
525500
+ if (cfg.min_version && lt("1.1.2+c24e99a", cfg.min_version)) {
525501
+ return `Your version of Vivus (${"1.1.2+c24e99a"}) is too old for Remote Control.
525496
525502
  Version ${cfg.min_version} or higher is required. Run \`vivus update\` to update.`;
525497
525503
  }
525498
525504
  return null;
@@ -525966,7 +525972,7 @@ async function initBridgeCore(params) {
525966
525972
  const rawApi = createBridgeApiClient({
525967
525973
  baseUrl,
525968
525974
  getAccessToken,
525969
- runnerVersion: "1.1.1+1904f0e",
525975
+ runnerVersion: "1.1.2+c24e99a",
525970
525976
  onDebug: logForDebugging,
525971
525977
  onAuth401,
525972
525978
  getTrustedDeviceToken
@@ -531630,7 +531636,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
531630
531636
  setCwd(cwd3);
531631
531637
  const server = new Server({
531632
531638
  name: "vivus/tengu",
531633
- version: "1.1.1+1904f0e"
531639
+ version: "1.1.2+c24e99a"
531634
531640
  }, {
531635
531641
  capabilities: {
531636
531642
  tools: {}
@@ -533241,7 +533247,7 @@ __export(exports_update, {
533241
533247
  });
533242
533248
  async function update() {
533243
533249
  logEvent("tengu_update_check", {});
533244
- writeToStdout(`Current version: ${"1.1.1+1904f0e"}
533250
+ writeToStdout(`Current version: ${"1.1.2+c24e99a"}
533245
533251
  `);
533246
533252
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
533247
533253
  writeToStdout(`Checking for updates to ${channel} version...
@@ -533316,8 +533322,8 @@ async function update() {
533316
533322
  writeToStdout(`Vivus is managed by Homebrew.
533317
533323
  `);
533318
533324
  const latest = await getLatestVersion(channel);
533319
- if (latest && !gte("1.1.1+1904f0e", latest)) {
533320
- writeToStdout(`Update available: ${"1.1.1+1904f0e"} → ${latest}
533325
+ if (latest && !gte("1.1.2+c24e99a", latest)) {
533326
+ writeToStdout(`Update available: ${"1.1.2+c24e99a"} → ${latest}
533321
533327
  `);
533322
533328
  writeToStdout(`
533323
533329
  `);
@@ -533333,8 +533339,8 @@ async function update() {
533333
533339
  writeToStdout(`Vivus is managed by winget.
533334
533340
  `);
533335
533341
  const latest = await getLatestVersion(channel);
533336
- if (latest && !gte("1.1.1+1904f0e", latest)) {
533337
- writeToStdout(`Update available: ${"1.1.1+1904f0e"} → ${latest}
533342
+ if (latest && !gte("1.1.2+c24e99a", latest)) {
533343
+ writeToStdout(`Update available: ${"1.1.2+c24e99a"} → ${latest}
533338
533344
  `);
533339
533345
  writeToStdout(`
533340
533346
  `);
@@ -533350,8 +533356,8 @@ async function update() {
533350
533356
  writeToStdout(`Vivus is managed by apk.
533351
533357
  `);
533352
533358
  const latest = await getLatestVersion(channel);
533353
- if (latest && !gte("1.1.1+1904f0e", latest)) {
533354
- writeToStdout(`Update available: ${"1.1.1+1904f0e"} → ${latest}
533359
+ if (latest && !gte("1.1.2+c24e99a", latest)) {
533360
+ writeToStdout(`Update available: ${"1.1.2+c24e99a"} → ${latest}
533355
533361
  `);
533356
533362
  writeToStdout(`
533357
533363
  `);
@@ -533416,11 +533422,11 @@ async function update() {
533416
533422
  `);
533417
533423
  await gracefulShutdown(1);
533418
533424
  }
533419
- if (result.latestVersion === "1.1.1+1904f0e") {
533420
- writeToStdout(source_default.green(`Vivus is up to date (${"1.1.1+1904f0e"})`) + `
533425
+ if (result.latestVersion === "1.1.2+c24e99a") {
533426
+ writeToStdout(source_default.green(`Vivus is up to date (${"1.1.2+c24e99a"})`) + `
533421
533427
  `);
533422
533428
  } else {
533423
- writeToStdout(source_default.green(`Successfully updated from ${"1.1.1+1904f0e"} to version ${result.latestVersion}`) + `
533429
+ writeToStdout(source_default.green(`Successfully updated from ${"1.1.2+c24e99a"} to version ${result.latestVersion}`) + `
533424
533430
  `);
533425
533431
  await regenerateCompletionCache();
533426
533432
  }
@@ -533477,12 +533483,12 @@ async function update() {
533477
533483
  `);
533478
533484
  await gracefulShutdown(1);
533479
533485
  }
533480
- if (latestVersion === "1.1.1+1904f0e") {
533481
- writeToStdout(source_default.green(`Vivus is up to date (${"1.1.1+1904f0e"})`) + `
533486
+ if (latestVersion === "1.1.2+c24e99a") {
533487
+ writeToStdout(source_default.green(`Vivus is up to date (${"1.1.2+c24e99a"})`) + `
533482
533488
  `);
533483
533489
  await gracefulShutdown(0);
533484
533490
  }
533485
- writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.1+1904f0e"})
533491
+ writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.2+c24e99a"})
533486
533492
  `);
533487
533493
  writeToStdout(`Installing update...
533488
533494
  `);
@@ -533527,7 +533533,7 @@ async function update() {
533527
533533
  logForDebugging(`update: Installation status: ${status2}`);
533528
533534
  switch (status2) {
533529
533535
  case "success":
533530
- writeToStdout(source_default.green(`Successfully updated from ${"1.1.1+1904f0e"} to version ${latestVersion}`) + `
533536
+ writeToStdout(source_default.green(`Successfully updated from ${"1.1.2+c24e99a"} to version ${latestVersion}`) + `
533531
533537
  `);
533532
533538
  await regenerateCompletionCache();
533533
533539
  break;
@@ -533962,8 +533968,9 @@ async function fetchBootstrapData() {
533962
533968
  return;
533963
533969
  const clientData = response.client_data ?? null;
533964
533970
  const additionalModelOptions = response.additional_model_options ?? [];
533971
+ const ownsModelOptions = isFirstPartyAnthropicBaseUrl();
533965
533972
  const config4 = getGlobalConfig();
533966
- if (isEqual_default(config4.clientDataCache, clientData) && isEqual_default(config4.additionalModelOptionsCache, additionalModelOptions)) {
533973
+ if (isEqual_default(config4.clientDataCache, clientData) && (!ownsModelOptions || isEqual_default(config4.additionalModelOptionsCache, additionalModelOptions))) {
533967
533974
  logForDebugging("[Bootstrap] Cache unchanged, skipping write");
533968
533975
  return;
533969
533976
  }
@@ -533971,7 +533978,7 @@ async function fetchBootstrapData() {
533971
533978
  saveGlobalConfig((current) => ({
533972
533979
  ...current,
533973
533980
  clientDataCache: clientData,
533974
- additionalModelOptionsCache: additionalModelOptions
533981
+ ...ownsModelOptions ? { additionalModelOptionsCache: additionalModelOptions } : {}
533975
533982
  }));
533976
533983
  } catch (error41) {
533977
533984
  logError2(error41);
@@ -534497,7 +534504,7 @@ function completeOnboarding() {
534497
534504
  saveGlobalConfig((current) => ({
534498
534505
  ...current,
534499
534506
  hasCompletedOnboarding: true,
534500
- lastOnboardingVersion: "1.1.1+1904f0e"
534507
+ lastOnboardingVersion: "1.1.2+c24e99a"
534501
534508
  }));
534502
534509
  }
534503
534510
  function showDialog(root2, renderer) {
@@ -537050,6 +537057,86 @@ init_fsOperations();
537050
537057
  init_gracefulShutdown();
537051
537058
  init_hookEvents();
537052
537059
  init_modelCapabilities();
537060
+
537061
+ // src/utils/model/proxyModelOptions.ts
537062
+ init_isEqual();
537063
+ init_config();
537064
+ init_debug();
537065
+ init_envUtils();
537066
+ init_providers();
537067
+ function isProxyModelOptionsEligible() {
537068
+ if (isEnvTruthy(process.env.VIVUS_CODE_DISABLE_PROXY_CAPABILITIES))
537069
+ return false;
537070
+ const baseUrl = process.env.ANTHROPIC_BASE_URL;
537071
+ if (!baseUrl)
537072
+ return false;
537073
+ if (isFirstPartyAnthropicBaseUrl())
537074
+ return false;
537075
+ try {
537076
+ new URL(baseUrl);
537077
+ return true;
537078
+ } catch {
537079
+ return false;
537080
+ }
537081
+ }
537082
+ function humanizeModelId(id) {
537083
+ try {
537084
+ let base2 = id.split("/").pop() ?? id;
537085
+ base2 = base2.replace(/:(latest|cloud)$/i, "").replace(/:/g, "-");
537086
+ const label = base2.split(/[-.]/).filter(Boolean).map((tok) => /^\d+[a-z]+$/i.test(tok) ? `(${tok.toUpperCase()})` : tok.charAt(0).toUpperCase() + tok.slice(1)).join(" ").trim();
537087
+ return label || id;
537088
+ } catch {
537089
+ return id;
537090
+ }
537091
+ }
537092
+ async function refreshProxyModelOptions() {
537093
+ if (!isProxyModelOptionsEligible())
537094
+ return;
537095
+ const baseUrl = process.env.ANTHROPIC_BASE_URL;
537096
+ try {
537097
+ const url3 = baseUrl.replace(/\/+$/, "") + "/v1/models?refresh=1";
537098
+ const apiKey = process.env.ANTHROPIC_API_KEY || "";
537099
+ const resp = await fetch(url3, {
537100
+ headers: apiKey ? { "x-api-key": apiKey } : {},
537101
+ signal: AbortSignal.timeout(8000)
537102
+ });
537103
+ if (!resp.ok) {
537104
+ logForDebugging(`[proxyModelOptions] proxy /v1/models returned ${resp.status}`);
537105
+ return;
537106
+ }
537107
+ const body = await resp.json();
537108
+ if (!Array.isArray(body.data))
537109
+ return;
537110
+ const options2 = [];
537111
+ const seen = new Set;
537112
+ for (const raw of body.data) {
537113
+ const entry = raw;
537114
+ const id = typeof entry.id === "string" ? entry.id : "";
537115
+ if (!id || seen.has(id))
537116
+ continue;
537117
+ seen.add(id);
537118
+ const label = typeof entry.label === "string" && entry.label ? entry.label : humanizeModelId(id);
537119
+ const description = typeof entry.description === "string" && entry.description ? entry.description : "Custom model";
537120
+ options2.push({ value: id, label, description });
537121
+ }
537122
+ if (options2.length === 0)
537123
+ return;
537124
+ const config4 = getGlobalConfig();
537125
+ if (isEqual_default(config4.additionalModelOptionsCache, options2)) {
537126
+ logForDebugging("[proxyModelOptions] cache unchanged, skipping write");
537127
+ return;
537128
+ }
537129
+ saveGlobalConfig((current) => ({
537130
+ ...current,
537131
+ additionalModelOptionsCache: options2
537132
+ }));
537133
+ logForDebugging(`[proxyModelOptions] cached ${options2.length} models`);
537134
+ } catch (error41) {
537135
+ logForDebugging(`[proxyModelOptions] fetch failed: ${error41 instanceof Error ? error41.message : "unknown"}`);
537136
+ }
537137
+ }
537138
+
537139
+ // src/main.tsx
537053
537140
  init_Shell();
537054
537141
  init_sessionRestore();
537055
537142
  init_constants3();
@@ -537534,6 +537621,7 @@ function startDeferredPrefetches() {
537534
537621
  initializeAnalyticsGates();
537535
537622
  prefetchOfficialMcpUrls();
537536
537623
  refreshModelCapabilities();
537624
+ refreshProxyModelOptions();
537537
537625
  settingsChangeDetector.initialize();
537538
537626
  if (!isBareMode()) {
537539
537627
  skillChangeDetector.initialize();
@@ -538586,7 +538674,7 @@ ${customInstructions}` : customInstructions;
538586
538674
  }
538587
538675
  }
538588
538676
  logForDiagnosticsNoPII("info", "started", {
538589
- version: "1.1.1+1904f0e",
538677
+ version: "1.1.2+c24e99a",
538590
538678
  is_native_binary: isInBundledMode()
538591
538679
  });
538592
538680
  registerCleanup(async () => {
@@ -539370,7 +539458,7 @@ Usage: vivus --remote "your task description"`, () => gracefulShutdown(1));
539370
539458
  pendingHookMessages
539371
539459
  }, renderAndRun);
539372
539460
  }
539373
- }).version("1.1.1+1904f0e (Vivus)", "-v, --version", "Output the version number");
539461
+ }).version("1.1.2+c24e99a (Vivus)", "-v, --version", "Output the version number");
539374
539462
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
539375
539463
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
539376
539464
  if (canUserConfigureAdvisor()) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vivus-agent",
3
- "version": "1.1.1",
3
+ "version": "1.1.2",
4
4
  "description": "Vivus — local AI coding agent",
5
5
  "type": "module",
6
6
  "main": "dist/main.js",