vivus-agent 1.1.45 → 1.1.46

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 +178 -180
  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-10-04T05:46:40.047Z
3
+ // Built from source at 2026-10-04T07:23:29.838Z
4
4
  import { createRequire } from "node:module";
5
5
  var __create = Object.create;
6
6
  var __getProtoOf = Object.getPrototypeOf;
@@ -108228,7 +108228,7 @@ var init_auth = __esm(() => {
108228
108228
 
108229
108229
  // src/utils/userAgent.ts
108230
108230
  function getVivusCodeUserAgent() {
108231
- return `vivus/${"1.1.45+c61f68d"}`;
108231
+ return `vivus/${"1.1.46+5b07c76"}`;
108232
108232
  }
108233
108233
 
108234
108234
  // src/utils/workloadContext.ts
@@ -108250,7 +108250,7 @@ function getUserAgent() {
108250
108250
  const clientApp = process.env.VIVUS_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.VIVUS_AGENT_SDK_CLIENT_APP}` : "";
108251
108251
  const workload = getWorkload();
108252
108252
  const workloadSuffix = workload ? `, workload/${workload}` : "";
108253
- return `vivus-cli/${"1.1.45+c61f68d"} (${process.env.USER_TYPE}, ${process.env.VIVUS_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
108253
+ return `vivus-cli/${"1.1.46+5b07c76"} (${process.env.USER_TYPE}, ${process.env.VIVUS_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
108254
108254
  }
108255
108255
  function getMCPUserAgent() {
108256
108256
  const parts = [];
@@ -108264,7 +108264,7 @@ function getMCPUserAgent() {
108264
108264
  parts.push(`client-app/${process.env.VIVUS_AGENT_SDK_CLIENT_APP}`);
108265
108265
  }
108266
108266
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
108267
- return `vivus/${"1.1.45+c61f68d"}${suffix}`;
108267
+ return `vivus/${"1.1.46+5b07c76"}${suffix}`;
108268
108268
  }
108269
108269
  function getWebFetchUserAgent() {
108270
108270
  return `Vivus-User (${getVivusCodeUserAgent()}; +https://support.anthropic.com/)`;
@@ -108402,7 +108402,7 @@ var init_user = __esm(() => {
108402
108402
  deviceId,
108403
108403
  sessionId: getSessionId(),
108404
108404
  email: getEmail(),
108405
- appVersion: "1.1.45+c61f68d",
108405
+ appVersion: "1.1.46+5b07c76",
108406
108406
  platform: getHostPlatformForAnalytics(),
108407
108407
  organizationUuid,
108408
108408
  accountUuid,
@@ -119713,7 +119713,7 @@ var init_metadata = __esm(() => {
119713
119713
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
119714
119714
  WHITESPACE_REGEX = /\s+/;
119715
119715
  getVersionBase = memoize_default(() => {
119716
- const match = "1.1.45+c61f68d".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
119716
+ const match = "1.1.46+5b07c76".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
119717
119717
  return match ? match[0] : undefined;
119718
119718
  });
119719
119719
  buildEnvContext = memoize_default(async () => {
@@ -119753,9 +119753,9 @@ var init_metadata = __esm(() => {
119753
119753
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
119754
119754
  isVivusCodeAction: isEnvTruthy(process.env.VIVUS_CODE_ACTION),
119755
119755
  isVivusAiAuth: isVivusAISubscriber(),
119756
- version: "1.1.45+c61f68d",
119756
+ version: "1.1.46+5b07c76",
119757
119757
  versionBase: getVersionBase(),
119758
- buildTime: "2026-10-04T05:46:39.573Z",
119758
+ buildTime: "2026-10-04T07:23:29.276Z",
119759
119759
  deploymentEnvironment: env3.detectDeploymentEnvironment(),
119760
119760
  ...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
119761
119761
  githubEventName: process.env.GITHUB_EVENT_NAME,
@@ -120423,7 +120423,7 @@ function initialize1PEventLogging() {
120423
120423
  const platform2 = getPlatform();
120424
120424
  const attributes = {
120425
120425
  [import_semantic_conventions.ATTR_SERVICE_NAME]: "vivus",
120426
- [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.1.45+c61f68d"
120426
+ [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.1.46+5b07c76"
120427
120427
  };
120428
120428
  if (platform2 === "wsl") {
120429
120429
  const wslVersion = getWslVersion();
@@ -120450,7 +120450,7 @@ function initialize1PEventLogging() {
120450
120450
  })
120451
120451
  ]
120452
120452
  });
120453
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.vivus_code.events", "1.1.45+c61f68d");
120453
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.vivus_code.events", "1.1.46+5b07c76");
120454
120454
  }
120455
120455
  async function reinitialize1PEventLoggingIfConfigChanged() {
120456
120456
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -162670,7 +162670,7 @@ function getAttributionHeader(fingerprint) {
162670
162670
  if (!isAttributionHeaderEnabled()) {
162671
162671
  return "";
162672
162672
  }
162673
- const version2 = `${"1.1.45+c61f68d"}.${fingerprint}`;
162673
+ const version2 = `${"1.1.46+5b07c76"}.${fingerprint}`;
162674
162674
  const entrypoint = process.env.VIVUS_CODE_ENTRYPOINT ?? "unknown";
162675
162675
  const cch = "";
162676
162676
  const workload = getWorkload();
@@ -175833,7 +175833,7 @@ function getTelemetryAttributes() {
175833
175833
  attributes["session.id"] = sessionId;
175834
175834
  }
175835
175835
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
175836
- attributes["app.version"] = "1.1.45+c61f68d";
175836
+ attributes["app.version"] = "1.1.46+5b07c76";
175837
175837
  }
175838
175838
  const oauthAccount = getOauthAccountInfo();
175839
175839
  if (oauthAccount) {
@@ -242403,7 +242403,7 @@ function computeFingerprint(messageText, version2) {
242403
242403
  }
242404
242404
  function computeFingerprintFromMessages(messages) {
242405
242405
  const firstMessageText = extractFirstMessageText(messages);
242406
- return computeFingerprint(firstMessageText, "1.1.45+c61f68d");
242406
+ return computeFingerprint(firstMessageText, "1.1.46+5b07c76");
242407
242407
  }
242408
242408
  var FINGERPRINT_SALT = "59cf53e54c78";
242409
242409
  var init_fingerprint = () => {};
@@ -242445,7 +242445,7 @@ async function sideQuery(opts) {
242445
242445
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
242446
242446
  }
242447
242447
  const messageText = extractFirstUserMessageText(messages);
242448
- const fingerprint = computeFingerprint(messageText, "1.1.45+c61f68d");
242448
+ const fingerprint = computeFingerprint(messageText, "1.1.46+5b07c76");
242449
242449
  const attributionHeader = getAttributionHeader(fingerprint);
242450
242450
  const systemBlocks = [
242451
242451
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -243597,7 +243597,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
243597
243597
  const client2 = new Client({
243598
243598
  name: "vivus",
243599
243599
  title: "Vivus",
243600
- version: "1.1.45+c61f68d",
243600
+ version: "1.1.46+5b07c76",
243601
243601
  description: "Anthropic's agentic coding tool",
243602
243602
  websiteUrl: PRODUCT_URL
243603
243603
  }, {
@@ -243951,7 +243951,7 @@ var init_client6 = __esm(() => {
243951
243951
  const client2 = new Client({
243952
243952
  name: "vivus",
243953
243953
  title: "Vivus",
243954
- version: "1.1.45+c61f68d",
243954
+ version: "1.1.46+5b07c76",
243955
243955
  description: "Anthropic's agentic coding tool",
243956
243956
  websiteUrl: PRODUCT_URL
243957
243957
  }, {
@@ -246012,7 +246012,7 @@ function getInstallationEnv() {
246012
246012
  return;
246013
246013
  }
246014
246014
  function getVivusCodeVersion() {
246015
- return "1.1.45+c61f68d";
246015
+ return "1.1.46+5b07c76";
246016
246016
  }
246017
246017
  async function getInstalledVSCodeExtensionVersion(command) {
246018
246018
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -302099,7 +302099,7 @@ async function initializeBetaTracing(resource) {
302099
302099
  });
302100
302100
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
302101
302101
  setLoggerProvider(loggerProvider);
302102
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.45+c61f68d");
302102
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.46+5b07c76");
302103
302103
  setEventLogger(eventLogger);
302104
302104
  process.on("beforeExit", async () => {
302105
302105
  await loggerProvider?.forceFlush();
@@ -302139,7 +302139,7 @@ async function initializeTelemetry() {
302139
302139
  const platform5 = getPlatform();
302140
302140
  const baseAttributes = {
302141
302141
  [import_semantic_conventions2.ATTR_SERVICE_NAME]: "vivus",
302142
- [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.1.45+c61f68d"
302142
+ [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.1.46+5b07c76"
302143
302143
  };
302144
302144
  if (platform5 === "wsl") {
302145
302145
  const wslVersion = getWslVersion();
@@ -302184,7 +302184,7 @@ async function initializeTelemetry() {
302184
302184
  } catch {}
302185
302185
  };
302186
302186
  registerCleanup(shutdownTelemetry2);
302187
- return meterProvider2.getMeter("com.anthropic.vivus_code", "1.1.45+c61f68d");
302187
+ return meterProvider2.getMeter("com.anthropic.vivus_code", "1.1.46+5b07c76");
302188
302188
  }
302189
302189
  const meterProvider = new import_sdk_metrics2.MeterProvider({
302190
302190
  resource,
@@ -302204,7 +302204,7 @@ async function initializeTelemetry() {
302204
302204
  });
302205
302205
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
302206
302206
  setLoggerProvider(loggerProvider);
302207
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.45+c61f68d");
302207
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.46+5b07c76");
302208
302208
  setEventLogger(eventLogger);
302209
302209
  logForDebugging("[3P telemetry] Event logger set successfully");
302210
302210
  process.on("beforeExit", async () => {
@@ -302266,7 +302266,7 @@ Current timeout: ${timeoutMs}ms
302266
302266
  }
302267
302267
  };
302268
302268
  registerCleanup(shutdownTelemetry);
302269
- return meterProvider.getMeter("com.anthropic.vivus_code", "1.1.45+c61f68d");
302269
+ return meterProvider.getMeter("com.anthropic.vivus_code", "1.1.46+5b07c76");
302270
302270
  }
302271
302271
  async function flushTelemetry() {
302272
302272
  const meterProvider = getMeterProvider();
@@ -302952,9 +302952,9 @@ async function assertMinVersion() {
302952
302952
  if (false) {}
302953
302953
  try {
302954
302954
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
302955
- if (versionConfig.minVersion && lt("1.1.45+c61f68d", versionConfig.minVersion)) {
302955
+ if (versionConfig.minVersion && lt("1.1.46+5b07c76", versionConfig.minVersion)) {
302956
302956
  console.error(`
302957
- It looks like your version of Vivus (${"1.1.45+c61f68d"}) needs an update.
302957
+ It looks like your version of Vivus (${"1.1.46+5b07c76"}) needs an update.
302958
302958
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
302959
302959
 
302960
302960
  To update, please run:
@@ -303170,7 +303170,7 @@ async function installGlobalPackage(specificVersion) {
303170
303170
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
303171
303171
  logEvent("tengu_auto_updater_lock_contention", {
303172
303172
  pid: process.pid,
303173
- currentVersion: "1.1.45+c61f68d"
303173
+ currentVersion: "1.1.46+5b07c76"
303174
303174
  });
303175
303175
  return "in_progress";
303176
303176
  }
@@ -303179,7 +303179,7 @@ async function installGlobalPackage(specificVersion) {
303179
303179
  if (!env3.isRunningWithBun() && env3.isNpmFromWindowsPath()) {
303180
303180
  logError2(new Error("Windows NPM detected in WSL environment"));
303181
303181
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
303182
- currentVersion: "1.1.45+c61f68d"
303182
+ currentVersion: "1.1.46+5b07c76"
303183
303183
  });
303184
303184
  console.error(`
303185
303185
  Error: Windows NPM detected in WSL
@@ -303712,7 +303712,7 @@ function detectLinuxGlobPatternWarnings() {
303712
303712
  }
303713
303713
  async function getDoctorDiagnostic() {
303714
303714
  const installationType = await getCurrentInstallationType();
303715
- const version2 = typeof MACRO !== "undefined" ? "1.1.45+c61f68d" : "unknown";
303715
+ const version2 = typeof MACRO !== "undefined" ? "1.1.46+5b07c76" : "unknown";
303716
303716
  const installationPath = await getInstallationPath();
303717
303717
  const invokedBinary = getInvokedBinary();
303718
303718
  const multipleInstallations = await detectMultipleInstallations();
@@ -304645,8 +304645,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
304645
304645
  const maxVersion = await getMaxVersion();
304646
304646
  if (maxVersion && gt(version2, maxVersion)) {
304647
304647
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
304648
- if (gte("1.1.45+c61f68d", maxVersion)) {
304649
- logForDebugging(`Native installer: current version ${"1.1.45+c61f68d"} is already at or above maxVersion ${maxVersion}, skipping update`);
304648
+ if (gte("1.1.46+5b07c76", maxVersion)) {
304649
+ logForDebugging(`Native installer: current version ${"1.1.46+5b07c76"} is already at or above maxVersion ${maxVersion}, skipping update`);
304650
304650
  logEvent("tengu_native_update_skipped_max_version", {
304651
304651
  latency_ms: Date.now() - startTime,
304652
304652
  max_version: maxVersion,
@@ -304657,7 +304657,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
304657
304657
  version2 = maxVersion;
304658
304658
  }
304659
304659
  }
304660
- if (!forceReinstall && version2 === "1.1.45+c61f68d" && await versionIsAvailable(version2) && await isPossibleVivusBinary(executablePath)) {
304660
+ if (!forceReinstall && version2 === "1.1.46+5b07c76" && await versionIsAvailable(version2) && await isPossibleVivusBinary(executablePath)) {
304661
304661
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
304662
304662
  logEvent("tengu_native_update_complete", {
304663
304663
  latency_ms: Date.now() - startTime,
@@ -361951,7 +361951,7 @@ function getAnthropicEnvMetadata() {
361951
361951
  function getBuildAgeMinutes() {
361952
361952
  if (false)
361953
361953
  ;
361954
- const buildTime = new Date("2026-10-04T05:46:39.573Z").getTime();
361954
+ const buildTime = new Date("2026-10-04T07:23:29.276Z").getTime();
361955
361955
  if (isNaN(buildTime))
361956
361956
  return;
361957
361957
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -410104,7 +410104,7 @@ var init_filesystem = __esm(() => {
410104
410104
  });
410105
410105
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
410106
410106
  const nonce = randomBytes17(16).toString("hex");
410107
- return join108(getVivusTempDir(), "bundled-skills", "1.1.45+c61f68d", nonce);
410107
+ return join108(getVivusTempDir(), "bundled-skills", "1.1.46+5b07c76", nonce);
410108
410108
  });
410109
410109
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
410110
410110
  });
@@ -411864,7 +411864,7 @@ function Feedback({
411864
411864
  platform: env3.platform,
411865
411865
  gitRepo: envInfo.isGit,
411866
411866
  terminal: env3.terminal,
411867
- version: "1.1.45+c61f68d",
411867
+ version: "1.1.46+5b07c76",
411868
411868
  transcript: normalizeMessagesForAPI(messages),
411869
411869
  errors: sanitizedErrors,
411870
411870
  lastApiRequest: getLastAPIRequest(),
@@ -412056,7 +412056,7 @@ function Feedback({
412056
412056
  ", ",
412057
412057
  env3.terminal,
412058
412058
  ", v",
412059
- "1.1.45+c61f68d"
412059
+ "1.1.46+5b07c76"
412060
412060
  ]
412061
412061
  }, undefined, true, undefined, this)
412062
412062
  ]
@@ -412162,7 +412162,7 @@ ${sanitizedDescription}
412162
412162
  ` + `**Environment Info**
412163
412163
  ` + `- Platform: ${env3.platform}
412164
412164
  ` + `- Terminal: ${env3.terminal}
412165
- ` + `- Version: ${"1.1.45+c61f68d"}
412165
+ ` + `- Version: ${"1.1.46+5b07c76"}
412166
412166
  ` + `- Feedback ID: ${feedbackId}
412167
412167
  ` + `
412168
412168
  **Errors**
@@ -415294,7 +415294,7 @@ function buildPrimarySection() {
415294
415294
  }, undefined, false, undefined, this);
415295
415295
  return [{
415296
415296
  label: "Version",
415297
- value: "1.1.45+c61f68d"
415297
+ value: "1.1.46+5b07c76"
415298
415298
  }, {
415299
415299
  label: "Session name",
415300
415300
  value: nameValue
@@ -416060,6 +416060,90 @@ var init_ThemePicker = __esm(() => {
416060
416060
  jsx_dev_runtime172 = __toESM(require_jsx_dev_runtime(), 1);
416061
416061
  });
416062
416062
 
416063
+ // src/utils/model/proxyModelOptions.ts
416064
+ function isProxyModelOptionsEligible() {
416065
+ if (isEnvTruthy(process.env.VIVUS_CODE_DISABLE_PROXY_CAPABILITIES))
416066
+ return false;
416067
+ return isUsingProxyBaseUrl();
416068
+ }
416069
+ function formatContextWindow(n2) {
416070
+ const t = typeof n2 === "number" ? n2 : Number(n2);
416071
+ if (!t || t <= 0)
416072
+ return "";
416073
+ if (t >= 1e6)
416074
+ return `${(t / 1048576).toFixed(t % 1048576 ? 1 : 0)}M`;
416075
+ if (t >= 1000)
416076
+ return `${Math.round(t / 1024)}K`;
416077
+ return String(t);
416078
+ }
416079
+ function humanizeModelId(id) {
416080
+ try {
416081
+ let base2 = id.split("/").pop() ?? id;
416082
+ base2 = base2.replace(/:(latest|cloud)$/i, "").replace(/:/g, "-");
416083
+ 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();
416084
+ return label || id;
416085
+ } catch {
416086
+ return id;
416087
+ }
416088
+ }
416089
+ async function refreshProxyModelOptions() {
416090
+ if (!isProxyModelOptionsEligible())
416091
+ return;
416092
+ const baseUrl = process.env.ANTHROPIC_BASE_URL;
416093
+ try {
416094
+ const url3 = baseUrl.replace(/\/+$/, "") + "/v1/models?refresh=1";
416095
+ const apiKey = process.env.ANTHROPIC_API_KEY || "";
416096
+ const resp = await fetch(url3, {
416097
+ headers: apiKey ? { "x-api-key": apiKey } : {},
416098
+ signal: AbortSignal.timeout(8000)
416099
+ });
416100
+ if (!resp.ok) {
416101
+ logForDebugging(`[proxyModelOptions] proxy /v1/models returned ${resp.status}`);
416102
+ return;
416103
+ }
416104
+ const body = await resp.json();
416105
+ if (!Array.isArray(body.data))
416106
+ return;
416107
+ const options2 = [];
416108
+ const seen = new Set;
416109
+ for (const raw of body.data) {
416110
+ const entry = raw;
416111
+ const id = typeof entry.id === "string" ? entry.id : "";
416112
+ if (!id || seen.has(id))
416113
+ continue;
416114
+ seen.add(id);
416115
+ const label = typeof entry.label === "string" && entry.label ? entry.label : humanizeModelId(id);
416116
+ const baseDesc = typeof entry.description === "string" && entry.description !== "Custom model" ? entry.description : "";
416117
+ const ctx = formatContextWindow(entry.max_input_tokens);
416118
+ const sizeNum = typeof entry.size_gb === "string" || typeof entry.size_gb === "number" ? Number(entry.size_gb) : NaN;
416119
+ const size = Number.isFinite(sizeNum) && sizeNum > 0 ? `${entry.size_gb}GB` : "";
416120
+ const description = [baseDesc, ctx ? `${ctx} context` : "", size].filter(Boolean).join(" · ") || "Custom model";
416121
+ options2.push({ value: id, label, description });
416122
+ }
416123
+ if (options2.length === 0)
416124
+ return;
416125
+ const config3 = getGlobalConfig();
416126
+ if (isEqual_default(config3.additionalModelOptionsCache, options2)) {
416127
+ logForDebugging("[proxyModelOptions] cache unchanged, skipping write");
416128
+ return;
416129
+ }
416130
+ saveGlobalConfig((current) => ({
416131
+ ...current,
416132
+ additionalModelOptionsCache: options2
416133
+ }));
416134
+ logForDebugging(`[proxyModelOptions] cached ${options2.length} models`);
416135
+ } catch (error41) {
416136
+ logForDebugging(`[proxyModelOptions] fetch failed: ${error41 instanceof Error ? error41.message : "unknown"}`);
416137
+ }
416138
+ }
416139
+ var init_proxyModelOptions = __esm(() => {
416140
+ init_isEqual();
416141
+ init_config();
416142
+ init_debug();
416143
+ init_envUtils();
416144
+ init_providers();
416145
+ });
416146
+
416063
416147
  // src/components/EffortIndicator.ts
416064
416148
  function getEffortNotificationText(effortValue, model) {
416065
416149
  if (!modelSupportsEffort(model))
@@ -416115,16 +416199,12 @@ function ModelPicker(t0) {
416115
416199
  t1 = $2[1];
416116
416200
  }
416117
416201
  const [effort, setEffort] = import_react100.useState(t1);
416202
+ const [modelOptionsRefreshTick, setModelOptionsRefreshTick] = import_react100.useState(0);
416203
+ import_react100.useEffect(() => {
416204
+ refreshProxyModelOptions().then(() => setModelOptionsRefreshTick((tick) => tick + 1));
416205
+ }, []);
416118
416206
  const t2 = isFastMode ?? false;
416119
- let t3;
416120
- if ($2[2] !== t2) {
416121
- t3 = getModelOptions(t2);
416122
- $2[2] = t2;
416123
- $2[3] = t3;
416124
- } else {
416125
- t3 = $2[3];
416126
- }
416127
- const modelOptions = t3;
416207
+ const modelOptions = import_react100.useMemo(() => getModelOptions(t2), [t2, modelOptionsRefreshTick]);
416128
416208
  let t4;
416129
416209
  bb0: {
416130
416210
  if (initial !== null && !modelOptions.some((opt) => opt.value === initial)) {
@@ -416660,6 +416740,7 @@ var init_ModelPicker = __esm(() => {
416660
416740
  init_effort();
416661
416741
  init_model();
416662
416742
  init_modelOptions();
416743
+ init_proxyModelOptions();
416663
416744
  init_settings2();
416664
416745
  init_ConfigurableShortcutHint();
416665
416746
  init_CustomSelect();
@@ -419076,7 +419157,7 @@ function Config({
419076
419157
  }
419077
419158
  }, undefined, false, undefined, this)
419078
419159
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
419079
- currentVersion: "1.1.45+c61f68d",
419160
+ currentVersion: "1.1.46+5b07c76",
419080
419161
  onChoice: (choice) => {
419081
419162
  setShowSubmenu(null);
419082
419163
  setTabsHidden(false);
@@ -419088,7 +419169,7 @@ function Config({
419088
419169
  autoUpdatesChannel: "stable"
419089
419170
  };
419090
419171
  if (choice === "stay") {
419091
- newSettings.minimumVersion = "1.1.45+c61f68d";
419172
+ newSettings.minimumVersion = "1.1.46+5b07c76";
419092
419173
  }
419093
419174
  updateSettingsForSource("userSettings", newSettings);
419094
419175
  setSettingsData((prev_27) => ({
@@ -427283,7 +427364,7 @@ function HelpV2(t0) {
427283
427364
  let t6;
427284
427365
  if ($2[31] !== tabs) {
427285
427366
  t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
427286
- title: `Vivus v${"1.1.45+c61f68d"}`,
427367
+ title: `Vivus v${"1.1.46+5b07c76"}`,
427287
427368
  color: "professionalBlue",
427288
427369
  defaultTab: "general",
427289
427370
  children: tabs
@@ -451509,7 +451590,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
451509
451590
  return [];
451510
451591
  }
451511
451592
  }
451512
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.45+c61f68d") {
451593
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.46+5b07c76") {
451513
451594
  if (process.env.USER_TYPE === "ant") {
451514
451595
  const changelog = "";
451515
451596
  if (changelog) {
@@ -451536,7 +451617,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.45+c6
451536
451617
  releaseNotes
451537
451618
  };
451538
451619
  }
451539
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.45+c61f68d") {
451620
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.46+5b07c76") {
451540
451621
  if (process.env.USER_TYPE === "ant") {
451541
451622
  const changelog = "";
451542
451623
  if (changelog) {
@@ -452706,7 +452787,7 @@ function getRecentActivitySync() {
452706
452787
  return cachedActivity;
452707
452788
  }
452708
452789
  function getLogoDisplayData() {
452709
- const version2 = process.env.DEMO_VERSION ?? "1.1.45+c61f68d";
452790
+ const version2 = process.env.DEMO_VERSION ?? "1.1.46+5b07c76";
452710
452791
  const serverUrl = getDirectConnectServerUrl();
452711
452792
  const displayPath = process.env.DEMO_VERSION ? "/code/vivus" : getDisplayPath(getCwd());
452712
452793
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -454233,7 +454314,7 @@ function LogoV2() {
454233
454314
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
454234
454315
  t2 = () => {
454235
454316
  const currentConfig = getGlobalConfig();
454236
- if (currentConfig.lastReleaseNotesSeen === "1.1.45+c61f68d") {
454317
+ if (currentConfig.lastReleaseNotesSeen === "1.1.46+5b07c76") {
454237
454318
  return;
454238
454319
  }
454239
454320
  saveGlobalConfig(_temp329);
@@ -454909,12 +454990,12 @@ function LogoV2() {
454909
454990
  return t41;
454910
454991
  }
454911
454992
  function _temp329(current) {
454912
- if (current.lastReleaseNotesSeen === "1.1.45+c61f68d") {
454993
+ if (current.lastReleaseNotesSeen === "1.1.46+5b07c76") {
454913
454994
  return current;
454914
454995
  }
454915
454996
  return {
454916
454997
  ...current,
454917
- lastReleaseNotesSeen: "1.1.45+c61f68d"
454998
+ lastReleaseNotesSeen: "1.1.46+5b07c76"
454918
454999
  };
454919
455000
  }
454920
455001
  function _temp245(s_0) {
@@ -481216,7 +481297,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
481216
481297
  smapsRollup,
481217
481298
  platform: process.platform,
481218
481299
  nodeVersion: process.version,
481219
- ccVersion: "1.1.45+c61f68d"
481300
+ ccVersion: "1.1.46+5b07c76"
481220
481301
  };
481221
481302
  }
481222
481303
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -481802,7 +481883,7 @@ var init_bridge_kick = __esm(() => {
481802
481883
  var call56 = async () => {
481803
481884
  return {
481804
481885
  type: "text",
481805
- value: `${"1.1.45+c61f68d"} (built ${"2026-10-04T05:46:39.573Z"})`
481886
+ value: `${"1.1.46+5b07c76"} (built ${"2026-10-04T07:23:29.276Z"})`
481806
481887
  };
481807
481888
  }, version2, version_default;
481808
481889
  var init_version = __esm(() => {
@@ -491122,7 +491203,7 @@ function generateHtmlReport(data, insights) {
491122
491203
  </html>`;
491123
491204
  }
491124
491205
  function buildExportData(data, insights, facets, remoteStats) {
491125
- const version3 = typeof MACRO !== "undefined" ? "1.1.45+c61f68d" : "unknown";
491206
+ const version3 = typeof MACRO !== "undefined" ? "1.1.46+5b07c76" : "unknown";
491126
491207
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
491127
491208
  const facets_summary = {
491128
491209
  total: facets.size,
@@ -495234,7 +495315,7 @@ var init_sessionStorage = __esm(() => {
495234
495315
  init_settings2();
495235
495316
  init_slowOperations();
495236
495317
  init_uuid();
495237
- VERSION5 = typeof MACRO !== "undefined" ? "1.1.45+c61f68d" : "unknown";
495318
+ VERSION5 = typeof MACRO !== "undefined" ? "1.1.46+5b07c76" : "unknown";
495238
495319
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
495239
495320
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
495240
495321
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -498106,7 +498187,7 @@ function buildSystemInitMessage(inputs) {
498106
498187
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
498107
498188
  apiKeySource: getAnthropicApiKeyWithSource().source,
498108
498189
  betas: getSdkBetas(),
498109
- vivus_code_version: "1.1.45+c61f68d",
498190
+ vivus_code_version: "1.1.46+5b07c76",
498110
498191
  output_style: outputStyle2,
498111
498192
  agents: inputs.agents.map((agent) => agent.agentType),
498112
498193
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
@@ -512818,7 +512899,7 @@ var init_useVoiceEnabled = __esm(() => {
512818
512899
  function getSemverPart(version3) {
512819
512900
  return `${import_semver12.major(version3, { loose: true })}.${import_semver12.minor(version3, { loose: true })}.${import_semver12.patch(version3, { loose: true })}`;
512820
512901
  }
512821
- function useUpdateNotification(updatedVersion, initialVersion = "1.1.45+c61f68d") {
512902
+ function useUpdateNotification(updatedVersion, initialVersion = "1.1.46+5b07c76") {
512822
512903
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react228.useState(() => getSemverPart(initialVersion));
512823
512904
  if (!updatedVersion) {
512824
512905
  return null;
@@ -512858,7 +512939,7 @@ function AutoUpdater({
512858
512939
  return;
512859
512940
  }
512860
512941
  if (false) {}
512861
- const currentVersion = "1.1.45+c61f68d";
512942
+ const currentVersion = "1.1.46+5b07c76";
512862
512943
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
512863
512944
  let latestVersion = await getLatestVersion(channel);
512864
512945
  const isDisabled = isAutoUpdaterDisabled();
@@ -513071,12 +513152,12 @@ function NativeAutoUpdater({
513071
513152
  logEvent("tengu_native_auto_updater_start", {});
513072
513153
  try {
513073
513154
  const maxVersion = await getMaxVersion();
513074
- if (maxVersion && gt("1.1.45+c61f68d", maxVersion)) {
513155
+ if (maxVersion && gt("1.1.46+5b07c76", maxVersion)) {
513075
513156
  const msg = await getMaxVersionMessage();
513076
513157
  setMaxVersionIssue(msg ?? "affects your version");
513077
513158
  }
513078
513159
  const result = await installLatest(channel);
513079
- const currentVersion = "1.1.45+c61f68d";
513160
+ const currentVersion = "1.1.46+5b07c76";
513080
513161
  const latencyMs = Date.now() - startTime;
513081
513162
  if (result.lockFailed) {
513082
513163
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -513213,17 +513294,17 @@ function PackageManagerAutoUpdater(t0) {
513213
513294
  const maxVersion = await getMaxVersion();
513214
513295
  if (maxVersion && latest && gt(latest, maxVersion)) {
513215
513296
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
513216
- if (gte("1.1.45+c61f68d", maxVersion)) {
513217
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.45+c61f68d"} is already at or above maxVersion ${maxVersion}, skipping update`);
513297
+ if (gte("1.1.46+5b07c76", maxVersion)) {
513298
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.46+5b07c76"} is already at or above maxVersion ${maxVersion}, skipping update`);
513218
513299
  setUpdateAvailable(false);
513219
513300
  return;
513220
513301
  }
513221
513302
  latest = maxVersion;
513222
513303
  }
513223
- const hasUpdate = latest && !gte("1.1.45+c61f68d", latest) && !shouldSkipVersion(latest);
513304
+ const hasUpdate = latest && !gte("1.1.46+5b07c76", latest) && !shouldSkipVersion(latest);
513224
513305
  setUpdateAvailable(!!hasUpdate);
513225
513306
  if (hasUpdate) {
513226
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.45+c61f68d"} -> ${latest}`);
513307
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.46+5b07c76"} -> ${latest}`);
513227
513308
  }
513228
513309
  };
513229
513310
  $2[0] = t1;
@@ -513257,7 +513338,7 @@ function PackageManagerAutoUpdater(t0) {
513257
513338
  wrap: "truncate",
513258
513339
  children: [
513259
513340
  "currentVersion: ",
513260
- "1.1.45+c61f68d"
513341
+ "1.1.46+5b07c76"
513261
513342
  ]
513262
513343
  }, undefined, true, undefined, this);
513263
513344
  $2[3] = verbose;
@@ -521441,7 +521522,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
521441
521522
  project_dir: getOriginalCwd(),
521442
521523
  added_dirs: addedDirs
521443
521524
  },
521444
- version: "1.1.45+c61f68d",
521525
+ version: "1.1.46+5b07c76",
521445
521526
  output_style: {
521446
521527
  name: outputStyleName
521447
521528
  },
@@ -533093,7 +533174,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
533093
533174
  } catch {}
533094
533175
  const data = {
533095
533176
  trigger,
533096
- version: "1.1.45+c61f68d",
533177
+ version: "1.1.46+5b07c76",
533097
533178
  platform: process.platform,
533098
533179
  transcript,
533099
533180
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -544564,7 +544645,7 @@ function WelcomeV2() {
544564
544645
  dimColor: true,
544565
544646
  children: [
544566
544647
  "v",
544567
- "1.1.45+c61f68d",
544648
+ "1.1.46+5b07c76",
544568
544649
  " "
544569
544650
  ]
544570
544651
  }, undefined, true, undefined, this)
@@ -544764,7 +544845,7 @@ function WelcomeV2() {
544764
544845
  dimColor: true,
544765
544846
  children: [
544766
544847
  "v",
544767
- "1.1.45+c61f68d",
544848
+ "1.1.46+5b07c76",
544768
544849
  " "
544769
544850
  ]
544770
544851
  }, undefined, true, undefined, this)
@@ -544990,7 +545071,7 @@ function AppleTerminalWelcomeV2(t0) {
544990
545071
  dimColor: true,
544991
545072
  children: [
544992
545073
  "v",
544993
- "1.1.45+c61f68d",
545074
+ "1.1.46+5b07c76",
544994
545075
  " "
544995
545076
  ]
544996
545077
  }, undefined, true, undefined, this);
@@ -545244,7 +545325,7 @@ function AppleTerminalWelcomeV2(t0) {
545244
545325
  dimColor: true,
545245
545326
  children: [
545246
545327
  "v",
545247
- "1.1.45+c61f68d",
545328
+ "1.1.46+5b07c76",
545248
545329
  " "
545249
545330
  ]
545250
545331
  }, undefined, true, undefined, this);
@@ -548317,7 +548398,7 @@ function appendToLog(path25, message) {
548317
548398
  cwd: getFsImplementation().cwd(),
548318
548399
  userType: process.env.USER_TYPE,
548319
548400
  sessionId: getSessionId(),
548320
- version: "1.1.45+c61f68d"
548401
+ version: "1.1.46+5b07c76"
548321
548402
  };
548322
548403
  getLogWriter(path25).write(messageWithTimestamp);
548323
548404
  }
@@ -552312,8 +552393,8 @@ async function getEnvLessBridgeConfig() {
552312
552393
  }
552313
552394
  async function checkEnvLessBridgeMinVersion() {
552314
552395
  const cfg = await getEnvLessBridgeConfig();
552315
- if (cfg.min_version && lt("1.1.45+c61f68d", cfg.min_version)) {
552316
- return `Your version of Vivus (${"1.1.45+c61f68d"}) is too old for Remote Control.
552396
+ if (cfg.min_version && lt("1.1.46+5b07c76", cfg.min_version)) {
552397
+ return `Your version of Vivus (${"1.1.46+5b07c76"}) is too old for Remote Control.
552317
552398
  Version ${cfg.min_version} or higher is required. Run \`vivus update\` to update.`;
552318
552399
  }
552319
552400
  return null;
@@ -552787,7 +552868,7 @@ async function initBridgeCore(params) {
552787
552868
  const rawApi = createBridgeApiClient({
552788
552869
  baseUrl,
552789
552870
  getAccessToken,
552790
- runnerVersion: "1.1.45+c61f68d",
552871
+ runnerVersion: "1.1.46+5b07c76",
552791
552872
  onDebug: logForDebugging,
552792
552873
  onAuth401,
552793
552874
  getTrustedDeviceToken
@@ -558466,7 +558547,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
558466
558547
  setCwd(cwd3);
558467
558548
  const server = new Server({
558468
558549
  name: "vivus/tengu",
558469
- version: "1.1.45+c61f68d"
558550
+ version: "1.1.46+5b07c76"
558470
558551
  }, {
558471
558552
  capabilities: {
558472
558553
  tools: {}
@@ -560199,7 +560280,7 @@ __export(exports_update, {
560199
560280
  });
560200
560281
  async function update() {
560201
560282
  logEvent("tengu_update_check", {});
560202
- writeToStdout(`Current version: ${"1.1.45+c61f68d"}
560283
+ writeToStdout(`Current version: ${"1.1.46+5b07c76"}
560203
560284
  `);
560204
560285
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
560205
560286
  writeToStdout(`Checking for updates to ${channel} version...
@@ -560274,8 +560355,8 @@ async function update() {
560274
560355
  writeToStdout(`Vivus is managed by Homebrew.
560275
560356
  `);
560276
560357
  const latest = await getLatestVersion(channel);
560277
- if (latest && !gte("1.1.45+c61f68d", latest)) {
560278
- writeToStdout(`Update available: ${"1.1.45+c61f68d"} → ${latest}
560358
+ if (latest && !gte("1.1.46+5b07c76", latest)) {
560359
+ writeToStdout(`Update available: ${"1.1.46+5b07c76"} → ${latest}
560279
560360
  `);
560280
560361
  writeToStdout(`
560281
560362
  `);
@@ -560291,8 +560372,8 @@ async function update() {
560291
560372
  writeToStdout(`Vivus is managed by winget.
560292
560373
  `);
560293
560374
  const latest = await getLatestVersion(channel);
560294
- if (latest && !gte("1.1.45+c61f68d", latest)) {
560295
- writeToStdout(`Update available: ${"1.1.45+c61f68d"} → ${latest}
560375
+ if (latest && !gte("1.1.46+5b07c76", latest)) {
560376
+ writeToStdout(`Update available: ${"1.1.46+5b07c76"} → ${latest}
560296
560377
  `);
560297
560378
  writeToStdout(`
560298
560379
  `);
@@ -560308,8 +560389,8 @@ async function update() {
560308
560389
  writeToStdout(`Vivus is managed by apk.
560309
560390
  `);
560310
560391
  const latest = await getLatestVersion(channel);
560311
- if (latest && !gte("1.1.45+c61f68d", latest)) {
560312
- writeToStdout(`Update available: ${"1.1.45+c61f68d"} → ${latest}
560392
+ if (latest && !gte("1.1.46+5b07c76", latest)) {
560393
+ writeToStdout(`Update available: ${"1.1.46+5b07c76"} → ${latest}
560313
560394
  `);
560314
560395
  writeToStdout(`
560315
560396
  `);
@@ -560374,11 +560455,11 @@ async function update() {
560374
560455
  `);
560375
560456
  await gracefulShutdown(1);
560376
560457
  }
560377
- if (result.latestVersion === "1.1.45+c61f68d") {
560378
- writeToStdout(source_default.green(`Vivus is up to date (${"1.1.45+c61f68d"})`) + `
560458
+ if (result.latestVersion === "1.1.46+5b07c76") {
560459
+ writeToStdout(source_default.green(`Vivus is up to date (${"1.1.46+5b07c76"})`) + `
560379
560460
  `);
560380
560461
  } else {
560381
- writeToStdout(source_default.green(`Successfully updated from ${"1.1.45+c61f68d"} to version ${result.latestVersion}`) + `
560462
+ writeToStdout(source_default.green(`Successfully updated from ${"1.1.46+5b07c76"} to version ${result.latestVersion}`) + `
560382
560463
  `);
560383
560464
  await regenerateCompletionCache();
560384
560465
  }
@@ -560435,12 +560516,12 @@ async function update() {
560435
560516
  `);
560436
560517
  await gracefulShutdown(1);
560437
560518
  }
560438
- if (latestVersion === "1.1.45+c61f68d") {
560439
- writeToStdout(source_default.green(`Vivus is up to date (${"1.1.45+c61f68d"})`) + `
560519
+ if (latestVersion === "1.1.46+5b07c76") {
560520
+ writeToStdout(source_default.green(`Vivus is up to date (${"1.1.46+5b07c76"})`) + `
560440
560521
  `);
560441
560522
  await gracefulShutdown(0);
560442
560523
  }
560443
- writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.45+c61f68d"})
560524
+ writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.46+5b07c76"})
560444
560525
  `);
560445
560526
  writeToStdout(`Installing update...
560446
560527
  `);
@@ -560485,7 +560566,7 @@ async function update() {
560485
560566
  logForDebugging(`update: Installation status: ${status2}`);
560486
560567
  switch (status2) {
560487
560568
  case "success":
560488
- writeToStdout(source_default.green(`Successfully updated from ${"1.1.45+c61f68d"} to version ${latestVersion}`) + `
560569
+ writeToStdout(source_default.green(`Successfully updated from ${"1.1.46+5b07c76"} to version ${latestVersion}`) + `
560489
560570
  `);
560490
560571
  await regenerateCompletionCache();
560491
560572
  break;
@@ -561459,7 +561540,7 @@ function completeOnboarding() {
561459
561540
  saveGlobalConfig((current) => ({
561460
561541
  ...current,
561461
561542
  hasCompletedOnboarding: true,
561462
- lastOnboardingVersion: "1.1.45+c61f68d"
561543
+ lastOnboardingVersion: "1.1.46+5b07c76"
561463
561544
  }));
561464
561545
  }
561465
561546
  function showDialog(root2, renderer) {
@@ -564023,90 +564104,7 @@ init_fsOperations();
564023
564104
  init_gracefulShutdown();
564024
564105
  init_hookEvents();
564025
564106
  init_modelCapabilities();
564026
-
564027
- // src/utils/model/proxyModelOptions.ts
564028
- init_isEqual();
564029
- init_config();
564030
- init_debug();
564031
- init_envUtils();
564032
- init_providers();
564033
- function isProxyModelOptionsEligible() {
564034
- if (isEnvTruthy(process.env.VIVUS_CODE_DISABLE_PROXY_CAPABILITIES))
564035
- return false;
564036
- return isUsingProxyBaseUrl();
564037
- }
564038
- function formatContextWindow(n3) {
564039
- const t = typeof n3 === "number" ? n3 : Number(n3);
564040
- if (!t || t <= 0)
564041
- return "";
564042
- if (t >= 1e6)
564043
- return `${(t / 1048576).toFixed(t % 1048576 ? 1 : 0)}M`;
564044
- if (t >= 1000)
564045
- return `${Math.round(t / 1024)}K`;
564046
- return String(t);
564047
- }
564048
- function humanizeModelId(id) {
564049
- try {
564050
- let base2 = id.split("/").pop() ?? id;
564051
- base2 = base2.replace(/:(latest|cloud)$/i, "").replace(/:/g, "-");
564052
- 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();
564053
- return label || id;
564054
- } catch {
564055
- return id;
564056
- }
564057
- }
564058
- async function refreshProxyModelOptions() {
564059
- if (!isProxyModelOptionsEligible())
564060
- return;
564061
- const baseUrl = process.env.ANTHROPIC_BASE_URL;
564062
- try {
564063
- const url3 = baseUrl.replace(/\/+$/, "") + "/v1/models?refresh=1";
564064
- const apiKey = process.env.ANTHROPIC_API_KEY || "";
564065
- const resp = await fetch(url3, {
564066
- headers: apiKey ? { "x-api-key": apiKey } : {},
564067
- signal: AbortSignal.timeout(8000)
564068
- });
564069
- if (!resp.ok) {
564070
- logForDebugging(`[proxyModelOptions] proxy /v1/models returned ${resp.status}`);
564071
- return;
564072
- }
564073
- const body = await resp.json();
564074
- if (!Array.isArray(body.data))
564075
- return;
564076
- const options2 = [];
564077
- const seen = new Set;
564078
- for (const raw of body.data) {
564079
- const entry = raw;
564080
- const id = typeof entry.id === "string" ? entry.id : "";
564081
- if (!id || seen.has(id))
564082
- continue;
564083
- seen.add(id);
564084
- const label = typeof entry.label === "string" && entry.label ? entry.label : humanizeModelId(id);
564085
- const baseDesc = typeof entry.description === "string" && entry.description !== "Custom model" ? entry.description : "";
564086
- const ctx = formatContextWindow(entry.max_input_tokens);
564087
- const sizeNum = typeof entry.size_gb === "string" || typeof entry.size_gb === "number" ? Number(entry.size_gb) : NaN;
564088
- const size = Number.isFinite(sizeNum) && sizeNum > 0 ? `${entry.size_gb}GB` : "";
564089
- const description = [baseDesc, ctx ? `${ctx} context` : "", size].filter(Boolean).join(" · ") || "Custom model";
564090
- options2.push({ value: id, label, description });
564091
- }
564092
- if (options2.length === 0)
564093
- return;
564094
- const config4 = getGlobalConfig();
564095
- if (isEqual_default(config4.additionalModelOptionsCache, options2)) {
564096
- logForDebugging("[proxyModelOptions] cache unchanged, skipping write");
564097
- return;
564098
- }
564099
- saveGlobalConfig((current) => ({
564100
- ...current,
564101
- additionalModelOptionsCache: options2
564102
- }));
564103
- logForDebugging(`[proxyModelOptions] cached ${options2.length} models`);
564104
- } catch (error41) {
564105
- logForDebugging(`[proxyModelOptions] fetch failed: ${error41 instanceof Error ? error41.message : "unknown"}`);
564106
- }
564107
- }
564108
-
564109
- // src/main.tsx
564107
+ init_proxyModelOptions();
564110
564108
  init_Shell();
564111
564109
  init_sessionRestore();
564112
564110
  init_constants2();
@@ -565678,7 +565676,7 @@ ${customInstructions}` : customInstructions;
565678
565676
  }
565679
565677
  }
565680
565678
  logForDiagnosticsNoPII("info", "started", {
565681
- version: "1.1.45+c61f68d",
565679
+ version: "1.1.46+5b07c76",
565682
565680
  is_native_binary: isInBundledMode()
565683
565681
  });
565684
565682
  registerCleanup(async () => {
@@ -566476,7 +566474,7 @@ Usage: vivus --remote "your task description"`, () => gracefulShutdown(1));
566476
566474
  pendingHookMessages
566477
566475
  }, renderAndRun);
566478
566476
  }
566479
- }).version("1.1.45+c61f68d (Vivus)", "-v, --version", "Output the version number");
566477
+ }).version("1.1.46+5b07c76 (Vivus)", "-v, --version", "Output the version number");
566480
566478
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
566481
566479
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
566482
566480
  if (canUserConfigureAdvisor()) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vivus-agent",
3
- "version": "1.1.45",
3
+ "version": "1.1.46",
4
4
  "description": "Vivus — local AI coding agent",
5
5
  "type": "module",
6
6
  "main": "dist/main.js",