vivus-agent 1.1.12 → 1.1.13

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 (3) hide show
  1. package/bin/vivus.mjs +66 -0
  2. package/dist/main.js +121 -99
  3. package/package.json +1 -1
package/bin/vivus.mjs CHANGED
@@ -19,6 +19,9 @@
19
19
  // `vivus login` and other management subcommands always run this way.
20
20
 
21
21
  import { spawn } from 'node:child_process'
22
+ import { readFileSync, writeFileSync } from 'node:fs'
23
+ import { homedir } from 'node:os'
24
+ import { join } from 'node:path'
22
25
  import { fileURLToPath } from 'node:url'
23
26
 
24
27
  const PROXY = process.env.VIVUS_PROXY_URL || 'https://proxy.vivus.ai'
@@ -119,6 +122,69 @@ if (!(process.env.NODE_OPTIONS || '').includes('max-old-space-size')) {
119
122
  process.env.NODE_OPTIONS = `${process.env.NODE_OPTIONS || ''} --max-old-space-size=8192`.trim()
120
123
  }
121
124
 
125
+ // Format a token count as a compact context-window string: 262144 → "256K",
126
+ // 1048576 → "1M". Returns '' for unknown/zero.
127
+ function formatCtx(n) {
128
+ const t = Number(n)
129
+ if (!t || t <= 0) return ''
130
+ if (t >= 1_000_000) return `${(t / 1_048_576).toFixed(t % 1_048_576 ? 1 : 0)}M`
131
+ if (t >= 1000) return `${Math.round(t / 1024)}K`
132
+ return String(t)
133
+ }
134
+
135
+ // Pull the proxy's model list and write it into the global config's
136
+ // additionalModelOptionsCache so the /model picker shows every model the
137
+ // proxy serves, with friendly names, context windows, and sizes from Ollama.
138
+ // This is what the old vivus.sh launcher did; the CLI's own refresh is gated
139
+ // behind non-bare mode, so doing it here covers API-key (bare) sessions too.
140
+ async function syncModels() {
141
+ try {
142
+ const resp = await fetch(`${PROXY}/v1/models`, { signal: AbortSignal.timeout(3000) })
143
+ if (!resp.ok) return
144
+ const body = await resp.json()
145
+ const models = Array.isArray(body.data) ? body.data : []
146
+ if (!models.length) return
147
+
148
+ const options = []
149
+ const seen = new Set()
150
+ for (const m of models) {
151
+ const id = typeof m.id === 'string' ? m.id : ''
152
+ if (!id || seen.has(id)) continue
153
+ seen.add(id)
154
+ const label = m.label || m.display_name || id
155
+ const ctx = formatCtx(m.max_input_tokens)
156
+ const sizeNum = parseFloat(m.size_gb)
157
+ const size = Number.isFinite(sizeNum) && sizeNum > 0 ? `${m.size_gb}GB` : ''
158
+ const desc = [m.description, ctx ? `${ctx} context` : '', size]
159
+ .filter(Boolean)
160
+ .join(' · ')
161
+ options.push({ value: id, label, description: desc || id })
162
+ }
163
+ if (!options.length) return
164
+
165
+ const cfgPath = join(process.env.VIVUS_CONFIG_DIR || homedir(), '.vivus.json')
166
+ let cfg = {}
167
+ try {
168
+ cfg = JSON.parse(readFileSync(cfgPath, 'utf8'))
169
+ } catch {
170
+ cfg = {}
171
+ }
172
+ cfg.additionalModelOptionsCache = options
173
+ writeFileSync(cfgPath, JSON.stringify(cfg, null, 2))
174
+ } catch {
175
+ // Network/parse errors are non-fatal — a stale cache from a previous run
176
+ // (or the CLI's own refresh) still populates the picker.
177
+ }
178
+ }
179
+
180
+ // Refresh the model list before launching so the picker is current. Bounded by
181
+ // syncModels' own 3s timeout; failures are swallowed so launch never blocks.
182
+ // Only for REPL sessions — management subcommands (login, --version, mcp …)
183
+ // don't show the picker and shouldn't pay the latency.
184
+ if (isRepl) {
185
+ await syncModels()
186
+ }
187
+
122
188
  const mainPath = fileURLToPath(new URL('../dist/main.js', import.meta.url))
123
189
  const child = spawn(process.execPath, [mainPath, ...injected, ...userArgs], {
124
190
  stdio: 'inherit',
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-19T09:24:45.453Z
3
+ // Built from source at 2026-06-19T09:48:05.614Z
4
4
  import { createRequire } from "node:module";
5
5
  var __create = Object.create;
6
6
  var __getProtoOf = Object.getPrototypeOf;
@@ -112013,6 +112013,21 @@ function isFirstPartyAnthropicBaseUrl() {
112013
112013
  return false;
112014
112014
  }
112015
112015
  }
112016
+ function isUsingProxyBaseUrl() {
112017
+ const baseUrl = process.env.ANTHROPIC_BASE_URL;
112018
+ if (!baseUrl)
112019
+ return false;
112020
+ try {
112021
+ const host = new URL(baseUrl).host;
112022
+ if (host === "api.anthropic.com")
112023
+ return false;
112024
+ if (host === "api-staging.anthropic.com")
112025
+ return false;
112026
+ return true;
112027
+ } catch {
112028
+ return false;
112029
+ }
112030
+ }
112016
112031
  var init_providers = __esm(() => {
112017
112032
  init_envUtils();
112018
112033
  });
@@ -116001,7 +116016,7 @@ var init_auth = __esm(() => {
116001
116016
 
116002
116017
  // src/utils/userAgent.ts
116003
116018
  function getVivusCodeUserAgent() {
116004
- return `vivus/${"1.1.12+ec5dd8c-dirty"}`;
116019
+ return `vivus/${"1.1.13+5e0e0cd-dirty"}`;
116005
116020
  }
116006
116021
 
116007
116022
  // src/utils/workloadContext.ts
@@ -116023,7 +116038,7 @@ function getUserAgent() {
116023
116038
  const clientApp = process.env.VIVUS_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.VIVUS_AGENT_SDK_CLIENT_APP}` : "";
116024
116039
  const workload = getWorkload();
116025
116040
  const workloadSuffix = workload ? `, workload/${workload}` : "";
116026
- return `vivus-cli/${"1.1.12+ec5dd8c-dirty"} (${process.env.USER_TYPE}, ${process.env.VIVUS_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
116041
+ return `vivus-cli/${"1.1.13+5e0e0cd-dirty"} (${process.env.USER_TYPE}, ${process.env.VIVUS_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
116027
116042
  }
116028
116043
  function getMCPUserAgent() {
116029
116044
  const parts = [];
@@ -116037,7 +116052,7 @@ function getMCPUserAgent() {
116037
116052
  parts.push(`client-app/${process.env.VIVUS_AGENT_SDK_CLIENT_APP}`);
116038
116053
  }
116039
116054
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
116040
- return `vivus/${"1.1.12+ec5dd8c-dirty"}${suffix}`;
116055
+ return `vivus/${"1.1.13+5e0e0cd-dirty"}${suffix}`;
116041
116056
  }
116042
116057
  function getWebFetchUserAgent() {
116043
116058
  return `Vivus-User (${getVivusCodeUserAgent()}; +https://support.anthropic.com/)`;
@@ -116175,7 +116190,7 @@ var init_user = __esm(() => {
116175
116190
  deviceId,
116176
116191
  sessionId: getSessionId(),
116177
116192
  email: getEmail(),
116178
- appVersion: "1.1.12+ec5dd8c-dirty",
116193
+ appVersion: "1.1.13+5e0e0cd-dirty",
116179
116194
  platform: getHostPlatformForAnalytics(),
116180
116195
  organizationUuid,
116181
116196
  accountUuid,
@@ -127841,7 +127856,7 @@ var init_metadata = __esm(() => {
127841
127856
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
127842
127857
  WHITESPACE_REGEX = /\s+/;
127843
127858
  getVersionBase = memoize_default(() => {
127844
- const match = "1.1.12+ec5dd8c-dirty".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
127859
+ const match = "1.1.13+5e0e0cd-dirty".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
127845
127860
  return match ? match[0] : undefined;
127846
127861
  });
127847
127862
  buildEnvContext = memoize_default(async () => {
@@ -127881,9 +127896,9 @@ var init_metadata = __esm(() => {
127881
127896
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
127882
127897
  isVivusCodeAction: isEnvTruthy(process.env.VIVUS_CODE_ACTION),
127883
127898
  isVivusAiAuth: isVivusAISubscriber(),
127884
- version: "1.1.12+ec5dd8c-dirty",
127899
+ version: "1.1.13+5e0e0cd-dirty",
127885
127900
  versionBase: getVersionBase(),
127886
- buildTime: "2026-06-19T09:24:44.639Z",
127901
+ buildTime: "2026-06-19T09:48:05.089Z",
127887
127902
  deploymentEnvironment: env2.detectDeploymentEnvironment(),
127888
127903
  ...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
127889
127904
  githubEventName: process.env.GITHUB_EVENT_NAME,
@@ -128551,7 +128566,7 @@ function initialize1PEventLogging() {
128551
128566
  const platform2 = getPlatform();
128552
128567
  const attributes = {
128553
128568
  [import_semantic_conventions.ATTR_SERVICE_NAME]: "vivus",
128554
- [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.1.12+ec5dd8c-dirty"
128569
+ [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.1.13+5e0e0cd-dirty"
128555
128570
  };
128556
128571
  if (platform2 === "wsl") {
128557
128572
  const wslVersion = getWslVersion();
@@ -128578,7 +128593,7 @@ function initialize1PEventLogging() {
128578
128593
  })
128579
128594
  ]
128580
128595
  });
128581
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.vivus_code.events", "1.1.12+ec5dd8c-dirty");
128596
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.vivus_code.events", "1.1.13+5e0e0cd-dirty");
128582
128597
  }
128583
128598
  async function reinitialize1PEventLoggingIfConfigChanged() {
128584
128599
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -162690,7 +162705,7 @@ function getAttributionHeader(fingerprint) {
162690
162705
  if (!isAttributionHeaderEnabled()) {
162691
162706
  return "";
162692
162707
  }
162693
- const version2 = `${"1.1.12+ec5dd8c-dirty"}.${fingerprint}`;
162708
+ const version2 = `${"1.1.13+5e0e0cd-dirty"}.${fingerprint}`;
162694
162709
  const entrypoint = process.env.VIVUS_CODE_ENTRYPOINT ?? "unknown";
162695
162710
  const cch = "";
162696
162711
  const workload = getWorkload();
@@ -175853,7 +175868,7 @@ function getTelemetryAttributes() {
175853
175868
  attributes["session.id"] = sessionId;
175854
175869
  }
175855
175870
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
175856
- attributes["app.version"] = "1.1.12+ec5dd8c-dirty";
175871
+ attributes["app.version"] = "1.1.13+5e0e0cd-dirty";
175857
175872
  }
175858
175873
  const oauthAccount = getOauthAccountInfo();
175859
175874
  if (oauthAccount) {
@@ -242410,7 +242425,7 @@ function computeFingerprint(messageText, version2) {
242410
242425
  }
242411
242426
  function computeFingerprintFromMessages(messages) {
242412
242427
  const firstMessageText = extractFirstMessageText(messages);
242413
- return computeFingerprint(firstMessageText, "1.1.12+ec5dd8c-dirty");
242428
+ return computeFingerprint(firstMessageText, "1.1.13+5e0e0cd-dirty");
242414
242429
  }
242415
242430
  var FINGERPRINT_SALT = "59cf53e54c78";
242416
242431
  var init_fingerprint = () => {};
@@ -242452,7 +242467,7 @@ async function sideQuery(opts) {
242452
242467
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
242453
242468
  }
242454
242469
  const messageText = extractFirstUserMessageText(messages);
242455
- const fingerprint = computeFingerprint(messageText, "1.1.12+ec5dd8c-dirty");
242470
+ const fingerprint = computeFingerprint(messageText, "1.1.13+5e0e0cd-dirty");
242456
242471
  const attributionHeader = getAttributionHeader(fingerprint);
242457
242472
  const systemBlocks = [
242458
242473
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -243604,7 +243619,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
243604
243619
  const client2 = new Client({
243605
243620
  name: "vivus",
243606
243621
  title: "Vivus",
243607
- version: "1.1.12+ec5dd8c-dirty",
243622
+ version: "1.1.13+5e0e0cd-dirty",
243608
243623
  description: "Anthropic's agentic coding tool",
243609
243624
  websiteUrl: PRODUCT_URL
243610
243625
  }, {
@@ -243958,7 +243973,7 @@ var init_client6 = __esm(() => {
243958
243973
  const client2 = new Client({
243959
243974
  name: "vivus",
243960
243975
  title: "Vivus",
243961
- version: "1.1.12+ec5dd8c-dirty",
243976
+ version: "1.1.13+5e0e0cd-dirty",
243962
243977
  description: "Anthropic's agentic coding tool",
243963
243978
  websiteUrl: PRODUCT_URL
243964
243979
  }, {
@@ -246016,7 +246031,7 @@ function getInstallationEnv() {
246016
246031
  return;
246017
246032
  }
246018
246033
  function getVivusCodeVersion() {
246019
- return "1.1.12+ec5dd8c-dirty";
246034
+ return "1.1.13+5e0e0cd-dirty";
246020
246035
  }
246021
246036
  async function getInstalledVSCodeExtensionVersion(command) {
246022
246037
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -278506,7 +278521,7 @@ async function initializeBetaTracing(resource) {
278506
278521
  });
278507
278522
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
278508
278523
  setLoggerProvider(loggerProvider);
278509
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.12+ec5dd8c-dirty");
278524
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.13+5e0e0cd-dirty");
278510
278525
  setEventLogger(eventLogger);
278511
278526
  process.on("beforeExit", async () => {
278512
278527
  await loggerProvider?.forceFlush();
@@ -278546,7 +278561,7 @@ async function initializeTelemetry() {
278546
278561
  const platform5 = getPlatform();
278547
278562
  const baseAttributes = {
278548
278563
  [import_semantic_conventions2.ATTR_SERVICE_NAME]: "vivus",
278549
- [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.1.12+ec5dd8c-dirty"
278564
+ [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.1.13+5e0e0cd-dirty"
278550
278565
  };
278551
278566
  if (platform5 === "wsl") {
278552
278567
  const wslVersion = getWslVersion();
@@ -278591,7 +278606,7 @@ async function initializeTelemetry() {
278591
278606
  } catch {}
278592
278607
  };
278593
278608
  registerCleanup(shutdownTelemetry2);
278594
- return meterProvider2.getMeter("com.anthropic.vivus_code", "1.1.12+ec5dd8c-dirty");
278609
+ return meterProvider2.getMeter("com.anthropic.vivus_code", "1.1.13+5e0e0cd-dirty");
278595
278610
  }
278596
278611
  const meterProvider = new import_sdk_metrics2.MeterProvider({
278597
278612
  resource,
@@ -278611,7 +278626,7 @@ async function initializeTelemetry() {
278611
278626
  });
278612
278627
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
278613
278628
  setLoggerProvider(loggerProvider);
278614
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.12+ec5dd8c-dirty");
278629
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.13+5e0e0cd-dirty");
278615
278630
  setEventLogger(eventLogger);
278616
278631
  logForDebugging("[3P telemetry] Event logger set successfully");
278617
278632
  process.on("beforeExit", async () => {
@@ -278673,7 +278688,7 @@ Current timeout: ${timeoutMs}ms
278673
278688
  }
278674
278689
  };
278675
278690
  registerCleanup(shutdownTelemetry);
278676
- return meterProvider.getMeter("com.anthropic.vivus_code", "1.1.12+ec5dd8c-dirty");
278691
+ return meterProvider.getMeter("com.anthropic.vivus_code", "1.1.13+5e0e0cd-dirty");
278677
278692
  }
278678
278693
  async function flushTelemetry() {
278679
278694
  const meterProvider = getMeterProvider();
@@ -279359,9 +279374,9 @@ async function assertMinVersion() {
279359
279374
  if (false) {}
279360
279375
  try {
279361
279376
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
279362
- if (versionConfig.minVersion && lt("1.1.12+ec5dd8c-dirty", versionConfig.minVersion)) {
279377
+ if (versionConfig.minVersion && lt("1.1.13+5e0e0cd-dirty", versionConfig.minVersion)) {
279363
279378
  console.error(`
279364
- It looks like your version of Vivus (${"1.1.12+ec5dd8c-dirty"}) needs an update.
279379
+ It looks like your version of Vivus (${"1.1.13+5e0e0cd-dirty"}) needs an update.
279365
279380
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
279366
279381
 
279367
279382
  To update, please run:
@@ -279577,7 +279592,7 @@ async function installGlobalPackage(specificVersion) {
279577
279592
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
279578
279593
  logEvent("tengu_auto_updater_lock_contention", {
279579
279594
  pid: process.pid,
279580
- currentVersion: "1.1.12+ec5dd8c-dirty"
279595
+ currentVersion: "1.1.13+5e0e0cd-dirty"
279581
279596
  });
279582
279597
  return "in_progress";
279583
279598
  }
@@ -279586,7 +279601,7 @@ async function installGlobalPackage(specificVersion) {
279586
279601
  if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
279587
279602
  logError2(new Error("Windows NPM detected in WSL environment"));
279588
279603
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
279589
- currentVersion: "1.1.12+ec5dd8c-dirty"
279604
+ currentVersion: "1.1.13+5e0e0cd-dirty"
279590
279605
  });
279591
279606
  console.error(`
279592
279607
  Error: Windows NPM detected in WSL
@@ -280119,7 +280134,7 @@ function detectLinuxGlobPatternWarnings() {
280119
280134
  }
280120
280135
  async function getDoctorDiagnostic() {
280121
280136
  const installationType = await getCurrentInstallationType();
280122
- const version2 = typeof MACRO !== "undefined" ? "1.1.12+ec5dd8c-dirty" : "unknown";
280137
+ const version2 = typeof MACRO !== "undefined" ? "1.1.13+5e0e0cd-dirty" : "unknown";
280123
280138
  const installationPath = await getInstallationPath();
280124
280139
  const invokedBinary = getInvokedBinary();
280125
280140
  const multipleInstallations = await detectMultipleInstallations();
@@ -281052,8 +281067,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
281052
281067
  const maxVersion = await getMaxVersion();
281053
281068
  if (maxVersion && gt(version2, maxVersion)) {
281054
281069
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
281055
- if (gte("1.1.12+ec5dd8c-dirty", maxVersion)) {
281056
- logForDebugging(`Native installer: current version ${"1.1.12+ec5dd8c-dirty"} is already at or above maxVersion ${maxVersion}, skipping update`);
281070
+ if (gte("1.1.13+5e0e0cd-dirty", maxVersion)) {
281071
+ logForDebugging(`Native installer: current version ${"1.1.13+5e0e0cd-dirty"} is already at or above maxVersion ${maxVersion}, skipping update`);
281057
281072
  logEvent("tengu_native_update_skipped_max_version", {
281058
281073
  latency_ms: Date.now() - startTime,
281059
281074
  max_version: maxVersion,
@@ -281064,7 +281079,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
281064
281079
  version2 = maxVersion;
281065
281080
  }
281066
281081
  }
281067
- if (!forceReinstall && version2 === "1.1.12+ec5dd8c-dirty" && await versionIsAvailable(version2) && await isPossibleVivusBinary(executablePath)) {
281082
+ if (!forceReinstall && version2 === "1.1.13+5e0e0cd-dirty" && await versionIsAvailable(version2) && await isPossibleVivusBinary(executablePath)) {
281068
281083
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
281069
281084
  logEvent("tengu_native_update_complete", {
281070
281085
  latency_ms: Date.now() - startTime,
@@ -336977,7 +336992,7 @@ function getAnthropicEnvMetadata() {
336977
336992
  function getBuildAgeMinutes() {
336978
336993
  if (false)
336979
336994
  ;
336980
- const buildTime = new Date("2026-06-19T09:24:44.639Z").getTime();
336995
+ const buildTime = new Date("2026-06-19T09:48:05.089Z").getTime();
336981
336996
  if (isNaN(buildTime))
336982
336997
  return;
336983
336998
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -367288,6 +367303,9 @@ function getOpusPlanOption() {
367288
367303
  };
367289
367304
  }
367290
367305
  function getModelOptionsBase(fastMode = false) {
367306
+ if (isUsingProxyBaseUrl()) {
367307
+ return [];
367308
+ }
367291
367309
  if (process.env.USER_TYPE === "ant") {
367292
367310
  const antModelOptions = getAntModels().map((m) => ({
367293
367311
  value: m.alias,
@@ -384193,7 +384211,7 @@ var init_filesystem = __esm(() => {
384193
384211
  });
384194
384212
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
384195
384213
  const nonce = randomBytes17(16).toString("hex");
384196
- return join106(getVivusTempDir(), "bundled-skills", "1.1.12+ec5dd8c-dirty", nonce);
384214
+ return join106(getVivusTempDir(), "bundled-skills", "1.1.13+5e0e0cd-dirty", nonce);
384197
384215
  });
384198
384216
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
384199
384217
  });
@@ -385953,7 +385971,7 @@ function Feedback({
385953
385971
  platform: env2.platform,
385954
385972
  gitRepo: envInfo.isGit,
385955
385973
  terminal: env2.terminal,
385956
- version: "1.1.12+ec5dd8c-dirty",
385974
+ version: "1.1.13+5e0e0cd-dirty",
385957
385975
  transcript: normalizeMessagesForAPI(messages),
385958
385976
  errors: sanitizedErrors,
385959
385977
  lastApiRequest: getLastAPIRequest(),
@@ -386145,7 +386163,7 @@ function Feedback({
386145
386163
  ", ",
386146
386164
  env2.terminal,
386147
386165
  ", v",
386148
- "1.1.12+ec5dd8c-dirty"
386166
+ "1.1.13+5e0e0cd-dirty"
386149
386167
  ]
386150
386168
  }, undefined, true, undefined, this)
386151
386169
  ]
@@ -386251,7 +386269,7 @@ ${sanitizedDescription}
386251
386269
  ` + `**Environment Info**
386252
386270
  ` + `- Platform: ${env2.platform}
386253
386271
  ` + `- Terminal: ${env2.terminal}
386254
- ` + `- Version: ${"1.1.12+ec5dd8c-dirty"}
386272
+ ` + `- Version: ${"1.1.13+5e0e0cd-dirty"}
386255
386273
  ` + `- Feedback ID: ${feedbackId}
386256
386274
  ` + `
386257
386275
  **Errors**
@@ -389383,7 +389401,7 @@ function buildPrimarySection() {
389383
389401
  }, undefined, false, undefined, this);
389384
389402
  return [{
389385
389403
  label: "Version",
389386
- value: "1.1.12+ec5dd8c-dirty"
389404
+ value: "1.1.13+5e0e0cd-dirty"
389387
389405
  }, {
389388
389406
  label: "Session name",
389389
389407
  value: nameValue
@@ -393134,7 +393152,7 @@ function Config({
393134
393152
  }
393135
393153
  }, undefined, false, undefined, this)
393136
393154
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(ChannelDowngradeDialog, {
393137
- currentVersion: "1.1.12+ec5dd8c-dirty",
393155
+ currentVersion: "1.1.13+5e0e0cd-dirty",
393138
393156
  onChoice: (choice) => {
393139
393157
  setShowSubmenu(null);
393140
393158
  setTabsHidden(false);
@@ -393146,7 +393164,7 @@ function Config({
393146
393164
  autoUpdatesChannel: "stable"
393147
393165
  };
393148
393166
  if (choice === "stay") {
393149
- newSettings.minimumVersion = "1.1.12+ec5dd8c-dirty";
393167
+ newSettings.minimumVersion = "1.1.13+5e0e0cd-dirty";
393150
393168
  }
393151
393169
  updateSettingsForSource("userSettings", newSettings);
393152
393170
  setSettingsData((prev_27) => ({
@@ -401232,7 +401250,7 @@ function HelpV2(t0) {
401232
401250
  let t6;
401233
401251
  if ($2[31] !== tabs) {
401234
401252
  t6 = /* @__PURE__ */ jsx_dev_runtime205.jsxDEV(Tabs, {
401235
- title: `Vivus v${"1.1.12+ec5dd8c-dirty"}`,
401253
+ title: `Vivus v${"1.1.13+5e0e0cd-dirty"}`,
401236
401254
  color: "professionalBlue",
401237
401255
  defaultTab: "general",
401238
401256
  children: tabs
@@ -425458,7 +425476,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
425458
425476
  return [];
425459
425477
  }
425460
425478
  }
425461
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.12+ec5dd8c-dirty") {
425479
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.13+5e0e0cd-dirty") {
425462
425480
  if (process.env.USER_TYPE === "ant") {
425463
425481
  const changelog = "";
425464
425482
  if (changelog) {
@@ -425485,7 +425503,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.12+ec
425485
425503
  releaseNotes
425486
425504
  };
425487
425505
  }
425488
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.12+ec5dd8c-dirty") {
425506
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.13+5e0e0cd-dirty") {
425489
425507
  if (process.env.USER_TYPE === "ant") {
425490
425508
  const changelog = "";
425491
425509
  if (changelog) {
@@ -426655,7 +426673,7 @@ function getRecentActivitySync() {
426655
426673
  return cachedActivity;
426656
426674
  }
426657
426675
  function getLogoDisplayData() {
426658
- const version2 = process.env.DEMO_VERSION ?? "1.1.12+ec5dd8c-dirty";
426676
+ const version2 = process.env.DEMO_VERSION ?? "1.1.13+5e0e0cd-dirty";
426659
426677
  const serverUrl = getDirectConnectServerUrl();
426660
426678
  const displayPath = process.env.DEMO_VERSION ? "/code/vivus" : getDisplayPath(getCwd());
426661
426679
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -428182,7 +428200,7 @@ function LogoV2() {
428182
428200
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
428183
428201
  t2 = () => {
428184
428202
  const currentConfig = getGlobalConfig();
428185
- if (currentConfig.lastReleaseNotesSeen === "1.1.12+ec5dd8c-dirty") {
428203
+ if (currentConfig.lastReleaseNotesSeen === "1.1.13+5e0e0cd-dirty") {
428186
428204
  return;
428187
428205
  }
428188
428206
  saveGlobalConfig(_temp329);
@@ -428858,12 +428876,12 @@ function LogoV2() {
428858
428876
  return t41;
428859
428877
  }
428860
428878
  function _temp329(current) {
428861
- if (current.lastReleaseNotesSeen === "1.1.12+ec5dd8c-dirty") {
428879
+ if (current.lastReleaseNotesSeen === "1.1.13+5e0e0cd-dirty") {
428862
428880
  return current;
428863
428881
  }
428864
428882
  return {
428865
428883
  ...current,
428866
- lastReleaseNotesSeen: "1.1.12+ec5dd8c-dirty"
428884
+ lastReleaseNotesSeen: "1.1.13+5e0e0cd-dirty"
428867
428885
  };
428868
428886
  }
428869
428887
  function _temp245(s_0) {
@@ -455160,7 +455178,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
455160
455178
  smapsRollup,
455161
455179
  platform: process.platform,
455162
455180
  nodeVersion: process.version,
455163
- ccVersion: "1.1.12+ec5dd8c-dirty"
455181
+ ccVersion: "1.1.13+5e0e0cd-dirty"
455164
455182
  };
455165
455183
  }
455166
455184
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -455746,7 +455764,7 @@ var init_bridge_kick = __esm(() => {
455746
455764
  var call56 = async () => {
455747
455765
  return {
455748
455766
  type: "text",
455749
- value: `${"1.1.12+ec5dd8c-dirty"} (built ${"2026-06-19T09:24:44.639Z"})`
455767
+ value: `${"1.1.13+5e0e0cd-dirty"} (built ${"2026-06-19T09:48:05.089Z"})`
455750
455768
  };
455751
455769
  }, version2, version_default;
455752
455770
  var init_version = __esm(() => {
@@ -464709,7 +464727,7 @@ function generateHtmlReport(data, insights) {
464709
464727
  </html>`;
464710
464728
  }
464711
464729
  function buildExportData(data, insights, facets, remoteStats) {
464712
- const version3 = typeof MACRO !== "undefined" ? "1.1.12+ec5dd8c-dirty" : "unknown";
464730
+ const version3 = typeof MACRO !== "undefined" ? "1.1.13+5e0e0cd-dirty" : "unknown";
464713
464731
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
464714
464732
  const facets_summary = {
464715
464733
  total: facets.size,
@@ -468818,7 +468836,7 @@ var init_sessionStorage = __esm(() => {
468818
468836
  init_settings2();
468819
468837
  init_slowOperations();
468820
468838
  init_uuid();
468821
- VERSION5 = typeof MACRO !== "undefined" ? "1.1.12+ec5dd8c-dirty" : "unknown";
468839
+ VERSION5 = typeof MACRO !== "undefined" ? "1.1.13+5e0e0cd-dirty" : "unknown";
468822
468840
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
468823
468841
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
468824
468842
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -471689,7 +471707,7 @@ function buildSystemInitMessage(inputs) {
471689
471707
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
471690
471708
  apiKeySource: getAnthropicApiKeyWithSource().source,
471691
471709
  betas: getSdkBetas(),
471692
- vivus_code_version: "1.1.12+ec5dd8c-dirty",
471710
+ vivus_code_version: "1.1.13+5e0e0cd-dirty",
471693
471711
  output_style: outputStyle2,
471694
471712
  agents: inputs.agents.map((agent) => agent.agentType),
471695
471713
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
@@ -486317,7 +486335,7 @@ var init_useVoiceEnabled = __esm(() => {
486317
486335
  function getSemverPart(version3) {
486318
486336
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
486319
486337
  }
486320
- function useUpdateNotification(updatedVersion, initialVersion = "1.1.12+ec5dd8c-dirty") {
486338
+ function useUpdateNotification(updatedVersion, initialVersion = "1.1.13+5e0e0cd-dirty") {
486321
486339
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react227.useState(() => getSemverPart(initialVersion));
486322
486340
  if (!updatedVersion) {
486323
486341
  return null;
@@ -486357,7 +486375,7 @@ function AutoUpdater({
486357
486375
  return;
486358
486376
  }
486359
486377
  if (false) {}
486360
- const currentVersion = "1.1.12+ec5dd8c-dirty";
486378
+ const currentVersion = "1.1.13+5e0e0cd-dirty";
486361
486379
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
486362
486380
  let latestVersion = await getLatestVersion(channel);
486363
486381
  const isDisabled = isAutoUpdaterDisabled();
@@ -486570,12 +486588,12 @@ function NativeAutoUpdater({
486570
486588
  logEvent("tengu_native_auto_updater_start", {});
486571
486589
  try {
486572
486590
  const maxVersion = await getMaxVersion();
486573
- if (maxVersion && gt("1.1.12+ec5dd8c-dirty", maxVersion)) {
486591
+ if (maxVersion && gt("1.1.13+5e0e0cd-dirty", maxVersion)) {
486574
486592
  const msg = await getMaxVersionMessage();
486575
486593
  setMaxVersionIssue(msg ?? "affects your version");
486576
486594
  }
486577
486595
  const result = await installLatest(channel);
486578
- const currentVersion = "1.1.12+ec5dd8c-dirty";
486596
+ const currentVersion = "1.1.13+5e0e0cd-dirty";
486579
486597
  const latencyMs = Date.now() - startTime;
486580
486598
  if (result.lockFailed) {
486581
486599
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -486712,17 +486730,17 @@ function PackageManagerAutoUpdater(t0) {
486712
486730
  const maxVersion = await getMaxVersion();
486713
486731
  if (maxVersion && latest && gt(latest, maxVersion)) {
486714
486732
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
486715
- if (gte("1.1.12+ec5dd8c-dirty", maxVersion)) {
486716
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.12+ec5dd8c-dirty"} is already at or above maxVersion ${maxVersion}, skipping update`);
486733
+ if (gte("1.1.13+5e0e0cd-dirty", maxVersion)) {
486734
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.13+5e0e0cd-dirty"} is already at or above maxVersion ${maxVersion}, skipping update`);
486717
486735
  setUpdateAvailable(false);
486718
486736
  return;
486719
486737
  }
486720
486738
  latest = maxVersion;
486721
486739
  }
486722
- const hasUpdate = latest && !gte("1.1.12+ec5dd8c-dirty", latest) && !shouldSkipVersion(latest);
486740
+ const hasUpdate = latest && !gte("1.1.13+5e0e0cd-dirty", latest) && !shouldSkipVersion(latest);
486723
486741
  setUpdateAvailable(!!hasUpdate);
486724
486742
  if (hasUpdate) {
486725
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.12+ec5dd8c-dirty"} -> ${latest}`);
486743
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.13+5e0e0cd-dirty"} -> ${latest}`);
486726
486744
  }
486727
486745
  };
486728
486746
  $2[0] = t1;
@@ -486756,7 +486774,7 @@ function PackageManagerAutoUpdater(t0) {
486756
486774
  wrap: "truncate",
486757
486775
  children: [
486758
486776
  "currentVersion: ",
486759
- "1.1.12+ec5dd8c-dirty"
486777
+ "1.1.13+5e0e0cd-dirty"
486760
486778
  ]
486761
486779
  }, undefined, true, undefined, this);
486762
486780
  $2[3] = verbose;
@@ -494924,7 +494942,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
494924
494942
  project_dir: getOriginalCwd(),
494925
494943
  added_dirs: addedDirs
494926
494944
  },
494927
- version: "1.1.12+ec5dd8c-dirty",
494945
+ version: "1.1.13+5e0e0cd-dirty",
494928
494946
  output_style: {
494929
494947
  name: outputStyleName
494930
494948
  },
@@ -506408,7 +506426,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
506408
506426
  } catch {}
506409
506427
  const data = {
506410
506428
  trigger,
506411
- version: "1.1.12+ec5dd8c-dirty",
506429
+ version: "1.1.13+5e0e0cd-dirty",
506412
506430
  platform: process.platform,
506413
506431
  transcript,
506414
506432
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -517825,7 +517843,7 @@ function WelcomeV2() {
517825
517843
  dimColor: true,
517826
517844
  children: [
517827
517845
  "v",
517828
- "1.1.12+ec5dd8c-dirty",
517846
+ "1.1.13+5e0e0cd-dirty",
517829
517847
  " "
517830
517848
  ]
517831
517849
  }, undefined, true, undefined, this)
@@ -518025,7 +518043,7 @@ function WelcomeV2() {
518025
518043
  dimColor: true,
518026
518044
  children: [
518027
518045
  "v",
518028
- "1.1.12+ec5dd8c-dirty",
518046
+ "1.1.13+5e0e0cd-dirty",
518029
518047
  " "
518030
518048
  ]
518031
518049
  }, undefined, true, undefined, this)
@@ -518251,7 +518269,7 @@ function AppleTerminalWelcomeV2(t0) {
518251
518269
  dimColor: true,
518252
518270
  children: [
518253
518271
  "v",
518254
- "1.1.12+ec5dd8c-dirty",
518272
+ "1.1.13+5e0e0cd-dirty",
518255
518273
  " "
518256
518274
  ]
518257
518275
  }, undefined, true, undefined, this);
@@ -518505,7 +518523,7 @@ function AppleTerminalWelcomeV2(t0) {
518505
518523
  dimColor: true,
518506
518524
  children: [
518507
518525
  "v",
518508
- "1.1.12+ec5dd8c-dirty",
518526
+ "1.1.13+5e0e0cd-dirty",
518509
518527
  " "
518510
518528
  ]
518511
518529
  }, undefined, true, undefined, this);
@@ -521569,7 +521587,7 @@ function appendToLog(path25, message) {
521569
521587
  cwd: getFsImplementation().cwd(),
521570
521588
  userType: process.env.USER_TYPE,
521571
521589
  sessionId: getSessionId(),
521572
- version: "1.1.12+ec5dd8c-dirty"
521590
+ version: "1.1.13+5e0e0cd-dirty"
521573
521591
  };
521574
521592
  getLogWriter(path25).write(messageWithTimestamp);
521575
521593
  }
@@ -525554,8 +525572,8 @@ async function getEnvLessBridgeConfig() {
525554
525572
  }
525555
525573
  async function checkEnvLessBridgeMinVersion() {
525556
525574
  const cfg = await getEnvLessBridgeConfig();
525557
- if (cfg.min_version && lt("1.1.12+ec5dd8c-dirty", cfg.min_version)) {
525558
- return `Your version of Vivus (${"1.1.12+ec5dd8c-dirty"}) is too old for Remote Control.
525575
+ if (cfg.min_version && lt("1.1.13+5e0e0cd-dirty", cfg.min_version)) {
525576
+ return `Your version of Vivus (${"1.1.13+5e0e0cd-dirty"}) is too old for Remote Control.
525559
525577
  Version ${cfg.min_version} or higher is required. Run \`vivus update\` to update.`;
525560
525578
  }
525561
525579
  return null;
@@ -526029,7 +526047,7 @@ async function initBridgeCore(params) {
526029
526047
  const rawApi = createBridgeApiClient({
526030
526048
  baseUrl,
526031
526049
  getAccessToken,
526032
- runnerVersion: "1.1.12+ec5dd8c-dirty",
526050
+ runnerVersion: "1.1.13+5e0e0cd-dirty",
526033
526051
  onDebug: logForDebugging,
526034
526052
  onAuth401,
526035
526053
  getTrustedDeviceToken
@@ -531693,7 +531711,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
531693
531711
  setCwd(cwd3);
531694
531712
  const server = new Server({
531695
531713
  name: "vivus/tengu",
531696
- version: "1.1.12+ec5dd8c-dirty"
531714
+ version: "1.1.13+5e0e0cd-dirty"
531697
531715
  }, {
531698
531716
  capabilities: {
531699
531717
  tools: {}
@@ -533304,7 +533322,7 @@ __export(exports_update, {
533304
533322
  });
533305
533323
  async function update() {
533306
533324
  logEvent("tengu_update_check", {});
533307
- writeToStdout(`Current version: ${"1.1.12+ec5dd8c-dirty"}
533325
+ writeToStdout(`Current version: ${"1.1.13+5e0e0cd-dirty"}
533308
533326
  `);
533309
533327
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
533310
533328
  writeToStdout(`Checking for updates to ${channel} version...
@@ -533379,8 +533397,8 @@ async function update() {
533379
533397
  writeToStdout(`Vivus is managed by Homebrew.
533380
533398
  `);
533381
533399
  const latest = await getLatestVersion(channel);
533382
- if (latest && !gte("1.1.12+ec5dd8c-dirty", latest)) {
533383
- writeToStdout(`Update available: ${"1.1.12+ec5dd8c-dirty"} → ${latest}
533400
+ if (latest && !gte("1.1.13+5e0e0cd-dirty", latest)) {
533401
+ writeToStdout(`Update available: ${"1.1.13+5e0e0cd-dirty"} → ${latest}
533384
533402
  `);
533385
533403
  writeToStdout(`
533386
533404
  `);
@@ -533396,8 +533414,8 @@ async function update() {
533396
533414
  writeToStdout(`Vivus is managed by winget.
533397
533415
  `);
533398
533416
  const latest = await getLatestVersion(channel);
533399
- if (latest && !gte("1.1.12+ec5dd8c-dirty", latest)) {
533400
- writeToStdout(`Update available: ${"1.1.12+ec5dd8c-dirty"} → ${latest}
533417
+ if (latest && !gte("1.1.13+5e0e0cd-dirty", latest)) {
533418
+ writeToStdout(`Update available: ${"1.1.13+5e0e0cd-dirty"} → ${latest}
533401
533419
  `);
533402
533420
  writeToStdout(`
533403
533421
  `);
@@ -533413,8 +533431,8 @@ async function update() {
533413
533431
  writeToStdout(`Vivus is managed by apk.
533414
533432
  `);
533415
533433
  const latest = await getLatestVersion(channel);
533416
- if (latest && !gte("1.1.12+ec5dd8c-dirty", latest)) {
533417
- writeToStdout(`Update available: ${"1.1.12+ec5dd8c-dirty"} → ${latest}
533434
+ if (latest && !gte("1.1.13+5e0e0cd-dirty", latest)) {
533435
+ writeToStdout(`Update available: ${"1.1.13+5e0e0cd-dirty"} → ${latest}
533418
533436
  `);
533419
533437
  writeToStdout(`
533420
533438
  `);
@@ -533479,11 +533497,11 @@ async function update() {
533479
533497
  `);
533480
533498
  await gracefulShutdown(1);
533481
533499
  }
533482
- if (result.latestVersion === "1.1.12+ec5dd8c-dirty") {
533483
- writeToStdout(source_default.green(`Vivus is up to date (${"1.1.12+ec5dd8c-dirty"})`) + `
533500
+ if (result.latestVersion === "1.1.13+5e0e0cd-dirty") {
533501
+ writeToStdout(source_default.green(`Vivus is up to date (${"1.1.13+5e0e0cd-dirty"})`) + `
533484
533502
  `);
533485
533503
  } else {
533486
- writeToStdout(source_default.green(`Successfully updated from ${"1.1.12+ec5dd8c-dirty"} to version ${result.latestVersion}`) + `
533504
+ writeToStdout(source_default.green(`Successfully updated from ${"1.1.13+5e0e0cd-dirty"} to version ${result.latestVersion}`) + `
533487
533505
  `);
533488
533506
  await regenerateCompletionCache();
533489
533507
  }
@@ -533540,12 +533558,12 @@ async function update() {
533540
533558
  `);
533541
533559
  await gracefulShutdown(1);
533542
533560
  }
533543
- if (latestVersion === "1.1.12+ec5dd8c-dirty") {
533544
- writeToStdout(source_default.green(`Vivus is up to date (${"1.1.12+ec5dd8c-dirty"})`) + `
533561
+ if (latestVersion === "1.1.13+5e0e0cd-dirty") {
533562
+ writeToStdout(source_default.green(`Vivus is up to date (${"1.1.13+5e0e0cd-dirty"})`) + `
533545
533563
  `);
533546
533564
  await gracefulShutdown(0);
533547
533565
  }
533548
- writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.12+ec5dd8c-dirty"})
533566
+ writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.13+5e0e0cd-dirty"})
533549
533567
  `);
533550
533568
  writeToStdout(`Installing update...
533551
533569
  `);
@@ -533590,7 +533608,7 @@ async function update() {
533590
533608
  logForDebugging(`update: Installation status: ${status2}`);
533591
533609
  switch (status2) {
533592
533610
  case "success":
533593
- writeToStdout(source_default.green(`Successfully updated from ${"1.1.12+ec5dd8c-dirty"} to version ${latestVersion}`) + `
533611
+ writeToStdout(source_default.green(`Successfully updated from ${"1.1.13+5e0e0cd-dirty"} to version ${latestVersion}`) + `
533594
533612
  `);
533595
533613
  await regenerateCompletionCache();
533596
533614
  break;
@@ -534561,7 +534579,7 @@ function completeOnboarding() {
534561
534579
  saveGlobalConfig((current) => ({
534562
534580
  ...current,
534563
534581
  hasCompletedOnboarding: true,
534564
- lastOnboardingVersion: "1.1.12+ec5dd8c-dirty"
534582
+ lastOnboardingVersion: "1.1.13+5e0e0cd-dirty"
534565
534583
  }));
534566
534584
  }
534567
534585
  function showDialog(root2, renderer) {
@@ -537124,17 +537142,17 @@ init_providers();
537124
537142
  function isProxyModelOptionsEligible() {
537125
537143
  if (isEnvTruthy(process.env.VIVUS_CODE_DISABLE_PROXY_CAPABILITIES))
537126
537144
  return false;
537127
- const baseUrl = process.env.ANTHROPIC_BASE_URL;
537128
- if (!baseUrl)
537129
- return false;
537130
- if (isFirstPartyAnthropicBaseUrl())
537131
- return false;
537132
- try {
537133
- new URL(baseUrl);
537134
- return true;
537135
- } catch {
537136
- return false;
537137
- }
537145
+ return isUsingProxyBaseUrl();
537146
+ }
537147
+ function formatContextWindow(n3) {
537148
+ const t = typeof n3 === "number" ? n3 : Number(n3);
537149
+ if (!t || t <= 0)
537150
+ return "";
537151
+ if (t >= 1e6)
537152
+ return `${(t / 1048576).toFixed(t % 1048576 ? 1 : 0)}M`;
537153
+ if (t >= 1000)
537154
+ return `${Math.round(t / 1024)}K`;
537155
+ return String(t);
537138
537156
  }
537139
537157
  function humanizeModelId(id) {
537140
537158
  try {
@@ -537173,7 +537191,11 @@ async function refreshProxyModelOptions() {
537173
537191
  continue;
537174
537192
  seen.add(id);
537175
537193
  const label = typeof entry.label === "string" && entry.label ? entry.label : humanizeModelId(id);
537176
- const description = typeof entry.description === "string" && entry.description ? entry.description : "Custom model";
537194
+ const baseDesc = typeof entry.description === "string" && entry.description !== "Custom model" ? entry.description : "";
537195
+ const ctx = formatContextWindow(entry.max_input_tokens);
537196
+ const sizeNum = typeof entry.size_gb === "string" || typeof entry.size_gb === "number" ? Number(entry.size_gb) : NaN;
537197
+ const size = Number.isFinite(sizeNum) && sizeNum > 0 ? `${entry.size_gb}GB` : "";
537198
+ const description = [baseDesc, ctx ? `${ctx} context` : "", size].filter(Boolean).join(" · ") || "Custom model";
537177
537199
  options2.push({ value: id, label, description });
537178
537200
  }
537179
537201
  if (options2.length === 0)
@@ -538731,7 +538753,7 @@ ${customInstructions}` : customInstructions;
538731
538753
  }
538732
538754
  }
538733
538755
  logForDiagnosticsNoPII("info", "started", {
538734
- version: "1.1.12+ec5dd8c-dirty",
538756
+ version: "1.1.13+5e0e0cd-dirty",
538735
538757
  is_native_binary: isInBundledMode()
538736
538758
  });
538737
538759
  registerCleanup(async () => {
@@ -539515,7 +539537,7 @@ Usage: vivus --remote "your task description"`, () => gracefulShutdown(1));
539515
539537
  pendingHookMessages
539516
539538
  }, renderAndRun);
539517
539539
  }
539518
- }).version("1.1.12+ec5dd8c-dirty (Vivus)", "-v, --version", "Output the version number");
539540
+ }).version("1.1.13+5e0e0cd-dirty (Vivus)", "-v, --version", "Output the version number");
539519
539541
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
539520
539542
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
539521
539543
  if (canUserConfigureAdvisor()) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vivus-agent",
3
- "version": "1.1.12",
3
+ "version": "1.1.13",
4
4
  "description": "Vivus — local AI coding agent",
5
5
  "type": "module",
6
6
  "main": "dist/main.js",