vivus-agent 1.1.11 → 1.1.12

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 +51 -19
  2. package/dist/main.js +87 -87
  3. package/package.json +1 -1
package/bin/vivus.mjs CHANGED
@@ -5,9 +5,18 @@
5
5
  // Why this exists: `npm install -g vivus-agent` installs only dist/main.js,
6
6
  // which is the raw (unconfigured) Anthropic-style CLI. Without this wrapper it
7
7
  // runs a connectivity preflight against agent.vivus.ai (404 → ERR_BAD_REQUEST)
8
- // and tries to reach api.anthropic.com for inference. This launcher sets the
9
- // same defaults the tarball/vivus.sh launcher does, so a fresh npm install
10
- // "just works" once VIVUS_API_KEY is set.
8
+ // and tries to reach api.anthropic.com for inference.
9
+ //
10
+ // Two auth modes, chosen automatically:
11
+ // • API-key mode — when VIVUS_API_KEY / ANTHROPIC_API_KEY is set. Runs the
12
+ // REPL in hermetic `--bare` mode (fast; OAuth/keychain never read). Ideal
13
+ // for CI / headless servers.
14
+ // • OAuth mode — when no key is set. Runs the normal onboarding so the
15
+ // user gets the "nice" sign-in flow: pick the service, the browser opens
16
+ // agent.vivus.ai, the connection is authorized, and a key is minted and
17
+ // stored. We must NOT pass --bare here (it disables OAuth) and must NOT
18
+ // put a key in env (an env key disables the OAuth onboarding step).
19
+ // `vivus login` and other management subcommands always run this way.
11
20
 
12
21
  import { spawn } from 'node:child_process'
13
22
  import { fileURLToPath } from 'node:url'
@@ -22,8 +31,10 @@ function setDefault(key, val) {
22
31
  }
23
32
  }
24
33
 
25
- // --- Connection + feature configuration ---
26
- setDefault('ANTHROPIC_BASE_URL', PROXY) // routes inference AND skips the Anthropic preflight
34
+ // --- Connection + feature configuration (applies to BOTH auth modes) ---
35
+ // Setting ANTHROPIC_BASE_URL routes inference through the proxy AND skips the
36
+ // Anthropic connectivity preflight. It does NOT disable the OAuth flow.
37
+ setDefault('ANTHROPIC_BASE_URL', PROXY)
27
38
  setDefault('VIVUS_CODE_API_BASE_URL', PROXY) // feedback / bootstrap / policy limits / metrics
28
39
  setDefault('VIVUS_CODE_IS_FIRST_PARTY', '1') // enable Vivus features (policy/feedback/bootstrap)
29
40
  setDefault('VIVUS_CODE_DISABLE_EXPERIMENTAL_BETAS', '1') // proxy can't do tool-search/defer_loading
@@ -36,16 +47,6 @@ setDefault('DISABLE_AUTOUPDATER', '1')
36
47
  setDefault('DISABLE_INSTALLATION_CHECKS', '1')
37
48
  setDefault('DO_NOT_TRACK', '1')
38
49
 
39
- // --- API key is required ---
40
- const apiKey = process.env.VIVUS_API_KEY || process.env.ANTHROPIC_API_KEY
41
- if (!apiKey) {
42
- console.error('ERROR: VIVUS_API_KEY is not set.')
43
- console.error('Get an API key at https://agent.vivus.ai then add it to your shell profile:')
44
- console.error(' export VIVUS_API_KEY="sk-vivus-..."')
45
- process.exit(1)
46
- }
47
- process.env.ANTHROPIC_API_KEY = apiKey
48
-
49
50
  // --- Default agent definitions (mirrors ts/proxy/agents.json) ---
50
51
  const AGENTS = {
51
52
  coder: {
@@ -74,13 +75,44 @@ const AGENTS = {
74
75
  },
75
76
  }
76
77
 
77
- // --- Build argv: inject product defaults unless the user already passed them ---
78
+ // CLI management subcommands. When one of these is invoked we pass through
79
+ // untouched (no REPL flags) — e.g. `vivus login`, `vivus logout`, `vivus mcp …`.
80
+ const SUBCOMMANDS = new Set([
81
+ 'login', 'logout', 'auth', 'mcp', 'server', 'ssh', 'open', 'plugin',
82
+ 'plugins', 'setup-token', 'agents', 'auto-mode', 'doctor', 'update',
83
+ 'upgrade', 'install', 'completion',
84
+ ])
85
+
78
86
  const userArgs = process.argv.slice(2)
79
87
  const has = flag => userArgs.some(a => a === flag || a.startsWith(flag + '='))
88
+ const firstPositional = userArgs.find(a => !a.startsWith('-'))
89
+ const isHelpOrVersion = userArgs.some(a =>
90
+ ['--help', '-h', '--version', '-v'].includes(a),
91
+ )
92
+ const isManagementCmd =
93
+ isHelpOrVersion ||
94
+ (firstPositional !== undefined && SUBCOMMANDS.has(firstPositional))
95
+ const isRepl = !isManagementCmd
96
+
97
+ // Auth-mode selection: an explicit env key means API-key mode.
98
+ const envKey = process.env.VIVUS_API_KEY || process.env.ANTHROPIC_API_KEY
99
+ const apiKeyMode = !!envKey
100
+
80
101
  const injected = []
81
- if (!has('--bare')) injected.push('--bare')
82
- if (!has('--permission-mode')) injected.push('--permission-mode', 'acceptEdits')
83
- if (!has('--agents')) injected.push('--agents', JSON.stringify(AGENTS))
102
+ if (isRepl) {
103
+ if (apiKeyMode) {
104
+ // API-key mode: hermetic + fast. --bare makes auth strictly the env key.
105
+ process.env.ANTHROPIC_API_KEY = envKey
106
+ if (!has('--bare')) injected.push('--bare')
107
+ }
108
+ // else OAuth mode — leave ANTHROPIC_API_KEY UNSET (an env key disables the
109
+ // OAuth onboarding step) and do NOT pass --bare (it disables OAuth).
110
+ if (!has('--permission-mode')) injected.push('--permission-mode', 'acceptEdits')
111
+ if (!has('--agents')) injected.push('--agents', JSON.stringify(AGENTS))
112
+ } else if (apiKeyMode) {
113
+ // Management subcommand with a key available — make it usable for auth.
114
+ process.env.ANTHROPIC_API_KEY = envKey
115
+ }
84
116
 
85
117
  // --- Heap headroom for large sessions (applied to the child node process) ---
86
118
  if (!(process.env.NODE_OPTIONS || '').includes('max-old-space-size')) {
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:10:02.266Z
3
+ // Built from source at 2026-06-19T09:24:45.453Z
4
4
  import { createRequire } from "node:module";
5
5
  var __create = Object.create;
6
6
  var __getProtoOf = Object.getPrototypeOf;
@@ -116001,7 +116001,7 @@ var init_auth = __esm(() => {
116001
116001
 
116002
116002
  // src/utils/userAgent.ts
116003
116003
  function getVivusCodeUserAgent() {
116004
- return `vivus/${"1.1.11+1b3ac1b-dirty"}`;
116004
+ return `vivus/${"1.1.12+ec5dd8c-dirty"}`;
116005
116005
  }
116006
116006
 
116007
116007
  // src/utils/workloadContext.ts
@@ -116023,7 +116023,7 @@ function getUserAgent() {
116023
116023
  const clientApp = process.env.VIVUS_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.VIVUS_AGENT_SDK_CLIENT_APP}` : "";
116024
116024
  const workload = getWorkload();
116025
116025
  const workloadSuffix = workload ? `, workload/${workload}` : "";
116026
- return `vivus-cli/${"1.1.11+1b3ac1b-dirty"} (${process.env.USER_TYPE}, ${process.env.VIVUS_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
116026
+ return `vivus-cli/${"1.1.12+ec5dd8c-dirty"} (${process.env.USER_TYPE}, ${process.env.VIVUS_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
116027
116027
  }
116028
116028
  function getMCPUserAgent() {
116029
116029
  const parts = [];
@@ -116037,7 +116037,7 @@ function getMCPUserAgent() {
116037
116037
  parts.push(`client-app/${process.env.VIVUS_AGENT_SDK_CLIENT_APP}`);
116038
116038
  }
116039
116039
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
116040
- return `vivus/${"1.1.11+1b3ac1b-dirty"}${suffix}`;
116040
+ return `vivus/${"1.1.12+ec5dd8c-dirty"}${suffix}`;
116041
116041
  }
116042
116042
  function getWebFetchUserAgent() {
116043
116043
  return `Vivus-User (${getVivusCodeUserAgent()}; +https://support.anthropic.com/)`;
@@ -116175,7 +116175,7 @@ var init_user = __esm(() => {
116175
116175
  deviceId,
116176
116176
  sessionId: getSessionId(),
116177
116177
  email: getEmail(),
116178
- appVersion: "1.1.11+1b3ac1b-dirty",
116178
+ appVersion: "1.1.12+ec5dd8c-dirty",
116179
116179
  platform: getHostPlatformForAnalytics(),
116180
116180
  organizationUuid,
116181
116181
  accountUuid,
@@ -127841,7 +127841,7 @@ var init_metadata = __esm(() => {
127841
127841
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
127842
127842
  WHITESPACE_REGEX = /\s+/;
127843
127843
  getVersionBase = memoize_default(() => {
127844
- const match = "1.1.11+1b3ac1b-dirty".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
127844
+ const match = "1.1.12+ec5dd8c-dirty".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
127845
127845
  return match ? match[0] : undefined;
127846
127846
  });
127847
127847
  buildEnvContext = memoize_default(async () => {
@@ -127881,9 +127881,9 @@ var init_metadata = __esm(() => {
127881
127881
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
127882
127882
  isVivusCodeAction: isEnvTruthy(process.env.VIVUS_CODE_ACTION),
127883
127883
  isVivusAiAuth: isVivusAISubscriber(),
127884
- version: "1.1.11+1b3ac1b-dirty",
127884
+ version: "1.1.12+ec5dd8c-dirty",
127885
127885
  versionBase: getVersionBase(),
127886
- buildTime: "2026-06-19T09:10:01.930Z",
127886
+ buildTime: "2026-06-19T09:24:44.639Z",
127887
127887
  deploymentEnvironment: env2.detectDeploymentEnvironment(),
127888
127888
  ...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
127889
127889
  githubEventName: process.env.GITHUB_EVENT_NAME,
@@ -128551,7 +128551,7 @@ function initialize1PEventLogging() {
128551
128551
  const platform2 = getPlatform();
128552
128552
  const attributes = {
128553
128553
  [import_semantic_conventions.ATTR_SERVICE_NAME]: "vivus",
128554
- [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.1.11+1b3ac1b-dirty"
128554
+ [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.1.12+ec5dd8c-dirty"
128555
128555
  };
128556
128556
  if (platform2 === "wsl") {
128557
128557
  const wslVersion = getWslVersion();
@@ -128578,7 +128578,7 @@ function initialize1PEventLogging() {
128578
128578
  })
128579
128579
  ]
128580
128580
  });
128581
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.vivus_code.events", "1.1.11+1b3ac1b-dirty");
128581
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.vivus_code.events", "1.1.12+ec5dd8c-dirty");
128582
128582
  }
128583
128583
  async function reinitialize1PEventLoggingIfConfigChanged() {
128584
128584
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -162690,7 +162690,7 @@ function getAttributionHeader(fingerprint) {
162690
162690
  if (!isAttributionHeaderEnabled()) {
162691
162691
  return "";
162692
162692
  }
162693
- const version2 = `${"1.1.11+1b3ac1b-dirty"}.${fingerprint}`;
162693
+ const version2 = `${"1.1.12+ec5dd8c-dirty"}.${fingerprint}`;
162694
162694
  const entrypoint = process.env.VIVUS_CODE_ENTRYPOINT ?? "unknown";
162695
162695
  const cch = "";
162696
162696
  const workload = getWorkload();
@@ -175853,7 +175853,7 @@ function getTelemetryAttributes() {
175853
175853
  attributes["session.id"] = sessionId;
175854
175854
  }
175855
175855
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
175856
- attributes["app.version"] = "1.1.11+1b3ac1b-dirty";
175856
+ attributes["app.version"] = "1.1.12+ec5dd8c-dirty";
175857
175857
  }
175858
175858
  const oauthAccount = getOauthAccountInfo();
175859
175859
  if (oauthAccount) {
@@ -242410,7 +242410,7 @@ function computeFingerprint(messageText, version2) {
242410
242410
  }
242411
242411
  function computeFingerprintFromMessages(messages) {
242412
242412
  const firstMessageText = extractFirstMessageText(messages);
242413
- return computeFingerprint(firstMessageText, "1.1.11+1b3ac1b-dirty");
242413
+ return computeFingerprint(firstMessageText, "1.1.12+ec5dd8c-dirty");
242414
242414
  }
242415
242415
  var FINGERPRINT_SALT = "59cf53e54c78";
242416
242416
  var init_fingerprint = () => {};
@@ -242452,7 +242452,7 @@ async function sideQuery(opts) {
242452
242452
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
242453
242453
  }
242454
242454
  const messageText = extractFirstUserMessageText(messages);
242455
- const fingerprint = computeFingerprint(messageText, "1.1.11+1b3ac1b-dirty");
242455
+ const fingerprint = computeFingerprint(messageText, "1.1.12+ec5dd8c-dirty");
242456
242456
  const attributionHeader = getAttributionHeader(fingerprint);
242457
242457
  const systemBlocks = [
242458
242458
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -243604,7 +243604,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
243604
243604
  const client2 = new Client({
243605
243605
  name: "vivus",
243606
243606
  title: "Vivus",
243607
- version: "1.1.11+1b3ac1b-dirty",
243607
+ version: "1.1.12+ec5dd8c-dirty",
243608
243608
  description: "Anthropic's agentic coding tool",
243609
243609
  websiteUrl: PRODUCT_URL
243610
243610
  }, {
@@ -243958,7 +243958,7 @@ var init_client6 = __esm(() => {
243958
243958
  const client2 = new Client({
243959
243959
  name: "vivus",
243960
243960
  title: "Vivus",
243961
- version: "1.1.11+1b3ac1b-dirty",
243961
+ version: "1.1.12+ec5dd8c-dirty",
243962
243962
  description: "Anthropic's agentic coding tool",
243963
243963
  websiteUrl: PRODUCT_URL
243964
243964
  }, {
@@ -246016,7 +246016,7 @@ function getInstallationEnv() {
246016
246016
  return;
246017
246017
  }
246018
246018
  function getVivusCodeVersion() {
246019
- return "1.1.11+1b3ac1b-dirty";
246019
+ return "1.1.12+ec5dd8c-dirty";
246020
246020
  }
246021
246021
  async function getInstalledVSCodeExtensionVersion(command) {
246022
246022
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -278506,7 +278506,7 @@ async function initializeBetaTracing(resource) {
278506
278506
  });
278507
278507
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
278508
278508
  setLoggerProvider(loggerProvider);
278509
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.11+1b3ac1b-dirty");
278509
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.12+ec5dd8c-dirty");
278510
278510
  setEventLogger(eventLogger);
278511
278511
  process.on("beforeExit", async () => {
278512
278512
  await loggerProvider?.forceFlush();
@@ -278546,7 +278546,7 @@ async function initializeTelemetry() {
278546
278546
  const platform5 = getPlatform();
278547
278547
  const baseAttributes = {
278548
278548
  [import_semantic_conventions2.ATTR_SERVICE_NAME]: "vivus",
278549
- [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.1.11+1b3ac1b-dirty"
278549
+ [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.1.12+ec5dd8c-dirty"
278550
278550
  };
278551
278551
  if (platform5 === "wsl") {
278552
278552
  const wslVersion = getWslVersion();
@@ -278591,7 +278591,7 @@ async function initializeTelemetry() {
278591
278591
  } catch {}
278592
278592
  };
278593
278593
  registerCleanup(shutdownTelemetry2);
278594
- return meterProvider2.getMeter("com.anthropic.vivus_code", "1.1.11+1b3ac1b-dirty");
278594
+ return meterProvider2.getMeter("com.anthropic.vivus_code", "1.1.12+ec5dd8c-dirty");
278595
278595
  }
278596
278596
  const meterProvider = new import_sdk_metrics2.MeterProvider({
278597
278597
  resource,
@@ -278611,7 +278611,7 @@ async function initializeTelemetry() {
278611
278611
  });
278612
278612
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
278613
278613
  setLoggerProvider(loggerProvider);
278614
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.11+1b3ac1b-dirty");
278614
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.12+ec5dd8c-dirty");
278615
278615
  setEventLogger(eventLogger);
278616
278616
  logForDebugging("[3P telemetry] Event logger set successfully");
278617
278617
  process.on("beforeExit", async () => {
@@ -278673,7 +278673,7 @@ Current timeout: ${timeoutMs}ms
278673
278673
  }
278674
278674
  };
278675
278675
  registerCleanup(shutdownTelemetry);
278676
- return meterProvider.getMeter("com.anthropic.vivus_code", "1.1.11+1b3ac1b-dirty");
278676
+ return meterProvider.getMeter("com.anthropic.vivus_code", "1.1.12+ec5dd8c-dirty");
278677
278677
  }
278678
278678
  async function flushTelemetry() {
278679
278679
  const meterProvider = getMeterProvider();
@@ -279359,9 +279359,9 @@ async function assertMinVersion() {
279359
279359
  if (false) {}
279360
279360
  try {
279361
279361
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
279362
- if (versionConfig.minVersion && lt("1.1.11+1b3ac1b-dirty", versionConfig.minVersion)) {
279362
+ if (versionConfig.minVersion && lt("1.1.12+ec5dd8c-dirty", versionConfig.minVersion)) {
279363
279363
  console.error(`
279364
- It looks like your version of Vivus (${"1.1.11+1b3ac1b-dirty"}) needs an update.
279364
+ It looks like your version of Vivus (${"1.1.12+ec5dd8c-dirty"}) needs an update.
279365
279365
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
279366
279366
 
279367
279367
  To update, please run:
@@ -279577,7 +279577,7 @@ async function installGlobalPackage(specificVersion) {
279577
279577
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
279578
279578
  logEvent("tengu_auto_updater_lock_contention", {
279579
279579
  pid: process.pid,
279580
- currentVersion: "1.1.11+1b3ac1b-dirty"
279580
+ currentVersion: "1.1.12+ec5dd8c-dirty"
279581
279581
  });
279582
279582
  return "in_progress";
279583
279583
  }
@@ -279586,7 +279586,7 @@ async function installGlobalPackage(specificVersion) {
279586
279586
  if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
279587
279587
  logError2(new Error("Windows NPM detected in WSL environment"));
279588
279588
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
279589
- currentVersion: "1.1.11+1b3ac1b-dirty"
279589
+ currentVersion: "1.1.12+ec5dd8c-dirty"
279590
279590
  });
279591
279591
  console.error(`
279592
279592
  Error: Windows NPM detected in WSL
@@ -280119,7 +280119,7 @@ function detectLinuxGlobPatternWarnings() {
280119
280119
  }
280120
280120
  async function getDoctorDiagnostic() {
280121
280121
  const installationType = await getCurrentInstallationType();
280122
- const version2 = typeof MACRO !== "undefined" ? "1.1.11+1b3ac1b-dirty" : "unknown";
280122
+ const version2 = typeof MACRO !== "undefined" ? "1.1.12+ec5dd8c-dirty" : "unknown";
280123
280123
  const installationPath = await getInstallationPath();
280124
280124
  const invokedBinary = getInvokedBinary();
280125
280125
  const multipleInstallations = await detectMultipleInstallations();
@@ -281052,8 +281052,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
281052
281052
  const maxVersion = await getMaxVersion();
281053
281053
  if (maxVersion && gt(version2, maxVersion)) {
281054
281054
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
281055
- if (gte("1.1.11+1b3ac1b-dirty", maxVersion)) {
281056
- logForDebugging(`Native installer: current version ${"1.1.11+1b3ac1b-dirty"} is already at or above maxVersion ${maxVersion}, skipping update`);
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`);
281057
281057
  logEvent("tengu_native_update_skipped_max_version", {
281058
281058
  latency_ms: Date.now() - startTime,
281059
281059
  max_version: maxVersion,
@@ -281064,7 +281064,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
281064
281064
  version2 = maxVersion;
281065
281065
  }
281066
281066
  }
281067
- if (!forceReinstall && version2 === "1.1.11+1b3ac1b-dirty" && await versionIsAvailable(version2) && await isPossibleVivusBinary(executablePath)) {
281067
+ if (!forceReinstall && version2 === "1.1.12+ec5dd8c-dirty" && await versionIsAvailable(version2) && await isPossibleVivusBinary(executablePath)) {
281068
281068
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
281069
281069
  logEvent("tengu_native_update_complete", {
281070
281070
  latency_ms: Date.now() - startTime,
@@ -336977,7 +336977,7 @@ function getAnthropicEnvMetadata() {
336977
336977
  function getBuildAgeMinutes() {
336978
336978
  if (false)
336979
336979
  ;
336980
- const buildTime = new Date("2026-06-19T09:10:01.930Z").getTime();
336980
+ const buildTime = new Date("2026-06-19T09:24:44.639Z").getTime();
336981
336981
  if (isNaN(buildTime))
336982
336982
  return;
336983
336983
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -384193,7 +384193,7 @@ var init_filesystem = __esm(() => {
384193
384193
  });
384194
384194
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
384195
384195
  const nonce = randomBytes17(16).toString("hex");
384196
- return join106(getVivusTempDir(), "bundled-skills", "1.1.11+1b3ac1b-dirty", nonce);
384196
+ return join106(getVivusTempDir(), "bundled-skills", "1.1.12+ec5dd8c-dirty", nonce);
384197
384197
  });
384198
384198
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
384199
384199
  });
@@ -385953,7 +385953,7 @@ function Feedback({
385953
385953
  platform: env2.platform,
385954
385954
  gitRepo: envInfo.isGit,
385955
385955
  terminal: env2.terminal,
385956
- version: "1.1.11+1b3ac1b-dirty",
385956
+ version: "1.1.12+ec5dd8c-dirty",
385957
385957
  transcript: normalizeMessagesForAPI(messages),
385958
385958
  errors: sanitizedErrors,
385959
385959
  lastApiRequest: getLastAPIRequest(),
@@ -386145,7 +386145,7 @@ function Feedback({
386145
386145
  ", ",
386146
386146
  env2.terminal,
386147
386147
  ", v",
386148
- "1.1.11+1b3ac1b-dirty"
386148
+ "1.1.12+ec5dd8c-dirty"
386149
386149
  ]
386150
386150
  }, undefined, true, undefined, this)
386151
386151
  ]
@@ -386251,7 +386251,7 @@ ${sanitizedDescription}
386251
386251
  ` + `**Environment Info**
386252
386252
  ` + `- Platform: ${env2.platform}
386253
386253
  ` + `- Terminal: ${env2.terminal}
386254
- ` + `- Version: ${"1.1.11+1b3ac1b-dirty"}
386254
+ ` + `- Version: ${"1.1.12+ec5dd8c-dirty"}
386255
386255
  ` + `- Feedback ID: ${feedbackId}
386256
386256
  ` + `
386257
386257
  **Errors**
@@ -389383,7 +389383,7 @@ function buildPrimarySection() {
389383
389383
  }, undefined, false, undefined, this);
389384
389384
  return [{
389385
389385
  label: "Version",
389386
- value: "1.1.11+1b3ac1b-dirty"
389386
+ value: "1.1.12+ec5dd8c-dirty"
389387
389387
  }, {
389388
389388
  label: "Session name",
389389
389389
  value: nameValue
@@ -393134,7 +393134,7 @@ function Config({
393134
393134
  }
393135
393135
  }, undefined, false, undefined, this)
393136
393136
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(ChannelDowngradeDialog, {
393137
- currentVersion: "1.1.11+1b3ac1b-dirty",
393137
+ currentVersion: "1.1.12+ec5dd8c-dirty",
393138
393138
  onChoice: (choice) => {
393139
393139
  setShowSubmenu(null);
393140
393140
  setTabsHidden(false);
@@ -393146,7 +393146,7 @@ function Config({
393146
393146
  autoUpdatesChannel: "stable"
393147
393147
  };
393148
393148
  if (choice === "stay") {
393149
- newSettings.minimumVersion = "1.1.11+1b3ac1b-dirty";
393149
+ newSettings.minimumVersion = "1.1.12+ec5dd8c-dirty";
393150
393150
  }
393151
393151
  updateSettingsForSource("userSettings", newSettings);
393152
393152
  setSettingsData((prev_27) => ({
@@ -401232,7 +401232,7 @@ function HelpV2(t0) {
401232
401232
  let t6;
401233
401233
  if ($2[31] !== tabs) {
401234
401234
  t6 = /* @__PURE__ */ jsx_dev_runtime205.jsxDEV(Tabs, {
401235
- title: `Vivus v${"1.1.11+1b3ac1b-dirty"}`,
401235
+ title: `Vivus v${"1.1.12+ec5dd8c-dirty"}`,
401236
401236
  color: "professionalBlue",
401237
401237
  defaultTab: "general",
401238
401238
  children: tabs
@@ -425458,7 +425458,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
425458
425458
  return [];
425459
425459
  }
425460
425460
  }
425461
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.11+1b3ac1b-dirty") {
425461
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.12+ec5dd8c-dirty") {
425462
425462
  if (process.env.USER_TYPE === "ant") {
425463
425463
  const changelog = "";
425464
425464
  if (changelog) {
@@ -425485,7 +425485,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.11+1b
425485
425485
  releaseNotes
425486
425486
  };
425487
425487
  }
425488
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.11+1b3ac1b-dirty") {
425488
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.12+ec5dd8c-dirty") {
425489
425489
  if (process.env.USER_TYPE === "ant") {
425490
425490
  const changelog = "";
425491
425491
  if (changelog) {
@@ -426655,7 +426655,7 @@ function getRecentActivitySync() {
426655
426655
  return cachedActivity;
426656
426656
  }
426657
426657
  function getLogoDisplayData() {
426658
- const version2 = process.env.DEMO_VERSION ?? "1.1.11+1b3ac1b-dirty";
426658
+ const version2 = process.env.DEMO_VERSION ?? "1.1.12+ec5dd8c-dirty";
426659
426659
  const serverUrl = getDirectConnectServerUrl();
426660
426660
  const displayPath = process.env.DEMO_VERSION ? "/code/vivus" : getDisplayPath(getCwd());
426661
426661
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -428182,7 +428182,7 @@ function LogoV2() {
428182
428182
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
428183
428183
  t2 = () => {
428184
428184
  const currentConfig = getGlobalConfig();
428185
- if (currentConfig.lastReleaseNotesSeen === "1.1.11+1b3ac1b-dirty") {
428185
+ if (currentConfig.lastReleaseNotesSeen === "1.1.12+ec5dd8c-dirty") {
428186
428186
  return;
428187
428187
  }
428188
428188
  saveGlobalConfig(_temp329);
@@ -428858,12 +428858,12 @@ function LogoV2() {
428858
428858
  return t41;
428859
428859
  }
428860
428860
  function _temp329(current) {
428861
- if (current.lastReleaseNotesSeen === "1.1.11+1b3ac1b-dirty") {
428861
+ if (current.lastReleaseNotesSeen === "1.1.12+ec5dd8c-dirty") {
428862
428862
  return current;
428863
428863
  }
428864
428864
  return {
428865
428865
  ...current,
428866
- lastReleaseNotesSeen: "1.1.11+1b3ac1b-dirty"
428866
+ lastReleaseNotesSeen: "1.1.12+ec5dd8c-dirty"
428867
428867
  };
428868
428868
  }
428869
428869
  function _temp245(s_0) {
@@ -455160,7 +455160,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
455160
455160
  smapsRollup,
455161
455161
  platform: process.platform,
455162
455162
  nodeVersion: process.version,
455163
- ccVersion: "1.1.11+1b3ac1b-dirty"
455163
+ ccVersion: "1.1.12+ec5dd8c-dirty"
455164
455164
  };
455165
455165
  }
455166
455166
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -455746,7 +455746,7 @@ var init_bridge_kick = __esm(() => {
455746
455746
  var call56 = async () => {
455747
455747
  return {
455748
455748
  type: "text",
455749
- value: `${"1.1.11+1b3ac1b-dirty"} (built ${"2026-06-19T09:10:01.930Z"})`
455749
+ value: `${"1.1.12+ec5dd8c-dirty"} (built ${"2026-06-19T09:24:44.639Z"})`
455750
455750
  };
455751
455751
  }, version2, version_default;
455752
455752
  var init_version = __esm(() => {
@@ -464709,7 +464709,7 @@ function generateHtmlReport(data, insights) {
464709
464709
  </html>`;
464710
464710
  }
464711
464711
  function buildExportData(data, insights, facets, remoteStats) {
464712
- const version3 = typeof MACRO !== "undefined" ? "1.1.11+1b3ac1b-dirty" : "unknown";
464712
+ const version3 = typeof MACRO !== "undefined" ? "1.1.12+ec5dd8c-dirty" : "unknown";
464713
464713
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
464714
464714
  const facets_summary = {
464715
464715
  total: facets.size,
@@ -468818,7 +468818,7 @@ var init_sessionStorage = __esm(() => {
468818
468818
  init_settings2();
468819
468819
  init_slowOperations();
468820
468820
  init_uuid();
468821
- VERSION5 = typeof MACRO !== "undefined" ? "1.1.11+1b3ac1b-dirty" : "unknown";
468821
+ VERSION5 = typeof MACRO !== "undefined" ? "1.1.12+ec5dd8c-dirty" : "unknown";
468822
468822
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
468823
468823
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
468824
468824
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -471689,7 +471689,7 @@ function buildSystemInitMessage(inputs) {
471689
471689
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
471690
471690
  apiKeySource: getAnthropicApiKeyWithSource().source,
471691
471691
  betas: getSdkBetas(),
471692
- vivus_code_version: "1.1.11+1b3ac1b-dirty",
471692
+ vivus_code_version: "1.1.12+ec5dd8c-dirty",
471693
471693
  output_style: outputStyle2,
471694
471694
  agents: inputs.agents.map((agent) => agent.agentType),
471695
471695
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
@@ -486317,7 +486317,7 @@ var init_useVoiceEnabled = __esm(() => {
486317
486317
  function getSemverPart(version3) {
486318
486318
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
486319
486319
  }
486320
- function useUpdateNotification(updatedVersion, initialVersion = "1.1.11+1b3ac1b-dirty") {
486320
+ function useUpdateNotification(updatedVersion, initialVersion = "1.1.12+ec5dd8c-dirty") {
486321
486321
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react227.useState(() => getSemverPart(initialVersion));
486322
486322
  if (!updatedVersion) {
486323
486323
  return null;
@@ -486357,7 +486357,7 @@ function AutoUpdater({
486357
486357
  return;
486358
486358
  }
486359
486359
  if (false) {}
486360
- const currentVersion = "1.1.11+1b3ac1b-dirty";
486360
+ const currentVersion = "1.1.12+ec5dd8c-dirty";
486361
486361
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
486362
486362
  let latestVersion = await getLatestVersion(channel);
486363
486363
  const isDisabled = isAutoUpdaterDisabled();
@@ -486570,12 +486570,12 @@ function NativeAutoUpdater({
486570
486570
  logEvent("tengu_native_auto_updater_start", {});
486571
486571
  try {
486572
486572
  const maxVersion = await getMaxVersion();
486573
- if (maxVersion && gt("1.1.11+1b3ac1b-dirty", maxVersion)) {
486573
+ if (maxVersion && gt("1.1.12+ec5dd8c-dirty", maxVersion)) {
486574
486574
  const msg = await getMaxVersionMessage();
486575
486575
  setMaxVersionIssue(msg ?? "affects your version");
486576
486576
  }
486577
486577
  const result = await installLatest(channel);
486578
- const currentVersion = "1.1.11+1b3ac1b-dirty";
486578
+ const currentVersion = "1.1.12+ec5dd8c-dirty";
486579
486579
  const latencyMs = Date.now() - startTime;
486580
486580
  if (result.lockFailed) {
486581
486581
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -486712,17 +486712,17 @@ function PackageManagerAutoUpdater(t0) {
486712
486712
  const maxVersion = await getMaxVersion();
486713
486713
  if (maxVersion && latest && gt(latest, maxVersion)) {
486714
486714
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
486715
- if (gte("1.1.11+1b3ac1b-dirty", maxVersion)) {
486716
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.11+1b3ac1b-dirty"} is already at or above maxVersion ${maxVersion}, skipping update`);
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`);
486717
486717
  setUpdateAvailable(false);
486718
486718
  return;
486719
486719
  }
486720
486720
  latest = maxVersion;
486721
486721
  }
486722
- const hasUpdate = latest && !gte("1.1.11+1b3ac1b-dirty", latest) && !shouldSkipVersion(latest);
486722
+ const hasUpdate = latest && !gte("1.1.12+ec5dd8c-dirty", latest) && !shouldSkipVersion(latest);
486723
486723
  setUpdateAvailable(!!hasUpdate);
486724
486724
  if (hasUpdate) {
486725
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.11+1b3ac1b-dirty"} -> ${latest}`);
486725
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.12+ec5dd8c-dirty"} -> ${latest}`);
486726
486726
  }
486727
486727
  };
486728
486728
  $2[0] = t1;
@@ -486756,7 +486756,7 @@ function PackageManagerAutoUpdater(t0) {
486756
486756
  wrap: "truncate",
486757
486757
  children: [
486758
486758
  "currentVersion: ",
486759
- "1.1.11+1b3ac1b-dirty"
486759
+ "1.1.12+ec5dd8c-dirty"
486760
486760
  ]
486761
486761
  }, undefined, true, undefined, this);
486762
486762
  $2[3] = verbose;
@@ -494924,7 +494924,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
494924
494924
  project_dir: getOriginalCwd(),
494925
494925
  added_dirs: addedDirs
494926
494926
  },
494927
- version: "1.1.11+1b3ac1b-dirty",
494927
+ version: "1.1.12+ec5dd8c-dirty",
494928
494928
  output_style: {
494929
494929
  name: outputStyleName
494930
494930
  },
@@ -506408,7 +506408,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
506408
506408
  } catch {}
506409
506409
  const data = {
506410
506410
  trigger,
506411
- version: "1.1.11+1b3ac1b-dirty",
506411
+ version: "1.1.12+ec5dd8c-dirty",
506412
506412
  platform: process.platform,
506413
506413
  transcript,
506414
506414
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -517825,7 +517825,7 @@ function WelcomeV2() {
517825
517825
  dimColor: true,
517826
517826
  children: [
517827
517827
  "v",
517828
- "1.1.11+1b3ac1b-dirty",
517828
+ "1.1.12+ec5dd8c-dirty",
517829
517829
  " "
517830
517830
  ]
517831
517831
  }, undefined, true, undefined, this)
@@ -518025,7 +518025,7 @@ function WelcomeV2() {
518025
518025
  dimColor: true,
518026
518026
  children: [
518027
518027
  "v",
518028
- "1.1.11+1b3ac1b-dirty",
518028
+ "1.1.12+ec5dd8c-dirty",
518029
518029
  " "
518030
518030
  ]
518031
518031
  }, undefined, true, undefined, this)
@@ -518251,7 +518251,7 @@ function AppleTerminalWelcomeV2(t0) {
518251
518251
  dimColor: true,
518252
518252
  children: [
518253
518253
  "v",
518254
- "1.1.11+1b3ac1b-dirty",
518254
+ "1.1.12+ec5dd8c-dirty",
518255
518255
  " "
518256
518256
  ]
518257
518257
  }, undefined, true, undefined, this);
@@ -518505,7 +518505,7 @@ function AppleTerminalWelcomeV2(t0) {
518505
518505
  dimColor: true,
518506
518506
  children: [
518507
518507
  "v",
518508
- "1.1.11+1b3ac1b-dirty",
518508
+ "1.1.12+ec5dd8c-dirty",
518509
518509
  " "
518510
518510
  ]
518511
518511
  }, undefined, true, undefined, this);
@@ -521569,7 +521569,7 @@ function appendToLog(path25, message) {
521569
521569
  cwd: getFsImplementation().cwd(),
521570
521570
  userType: process.env.USER_TYPE,
521571
521571
  sessionId: getSessionId(),
521572
- version: "1.1.11+1b3ac1b-dirty"
521572
+ version: "1.1.12+ec5dd8c-dirty"
521573
521573
  };
521574
521574
  getLogWriter(path25).write(messageWithTimestamp);
521575
521575
  }
@@ -525554,8 +525554,8 @@ async function getEnvLessBridgeConfig() {
525554
525554
  }
525555
525555
  async function checkEnvLessBridgeMinVersion() {
525556
525556
  const cfg = await getEnvLessBridgeConfig();
525557
- if (cfg.min_version && lt("1.1.11+1b3ac1b-dirty", cfg.min_version)) {
525558
- return `Your version of Vivus (${"1.1.11+1b3ac1b-dirty"}) is too old for Remote Control.
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.
525559
525559
  Version ${cfg.min_version} or higher is required. Run \`vivus update\` to update.`;
525560
525560
  }
525561
525561
  return null;
@@ -526029,7 +526029,7 @@ async function initBridgeCore(params) {
526029
526029
  const rawApi = createBridgeApiClient({
526030
526030
  baseUrl,
526031
526031
  getAccessToken,
526032
- runnerVersion: "1.1.11+1b3ac1b-dirty",
526032
+ runnerVersion: "1.1.12+ec5dd8c-dirty",
526033
526033
  onDebug: logForDebugging,
526034
526034
  onAuth401,
526035
526035
  getTrustedDeviceToken
@@ -531693,7 +531693,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
531693
531693
  setCwd(cwd3);
531694
531694
  const server = new Server({
531695
531695
  name: "vivus/tengu",
531696
- version: "1.1.11+1b3ac1b-dirty"
531696
+ version: "1.1.12+ec5dd8c-dirty"
531697
531697
  }, {
531698
531698
  capabilities: {
531699
531699
  tools: {}
@@ -533304,7 +533304,7 @@ __export(exports_update, {
533304
533304
  });
533305
533305
  async function update() {
533306
533306
  logEvent("tengu_update_check", {});
533307
- writeToStdout(`Current version: ${"1.1.11+1b3ac1b-dirty"}
533307
+ writeToStdout(`Current version: ${"1.1.12+ec5dd8c-dirty"}
533308
533308
  `);
533309
533309
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
533310
533310
  writeToStdout(`Checking for updates to ${channel} version...
@@ -533379,8 +533379,8 @@ async function update() {
533379
533379
  writeToStdout(`Vivus is managed by Homebrew.
533380
533380
  `);
533381
533381
  const latest = await getLatestVersion(channel);
533382
- if (latest && !gte("1.1.11+1b3ac1b-dirty", latest)) {
533383
- writeToStdout(`Update available: ${"1.1.11+1b3ac1b-dirty"} → ${latest}
533382
+ if (latest && !gte("1.1.12+ec5dd8c-dirty", latest)) {
533383
+ writeToStdout(`Update available: ${"1.1.12+ec5dd8c-dirty"} → ${latest}
533384
533384
  `);
533385
533385
  writeToStdout(`
533386
533386
  `);
@@ -533396,8 +533396,8 @@ async function update() {
533396
533396
  writeToStdout(`Vivus is managed by winget.
533397
533397
  `);
533398
533398
  const latest = await getLatestVersion(channel);
533399
- if (latest && !gte("1.1.11+1b3ac1b-dirty", latest)) {
533400
- writeToStdout(`Update available: ${"1.1.11+1b3ac1b-dirty"} → ${latest}
533399
+ if (latest && !gte("1.1.12+ec5dd8c-dirty", latest)) {
533400
+ writeToStdout(`Update available: ${"1.1.12+ec5dd8c-dirty"} → ${latest}
533401
533401
  `);
533402
533402
  writeToStdout(`
533403
533403
  `);
@@ -533413,8 +533413,8 @@ async function update() {
533413
533413
  writeToStdout(`Vivus is managed by apk.
533414
533414
  `);
533415
533415
  const latest = await getLatestVersion(channel);
533416
- if (latest && !gte("1.1.11+1b3ac1b-dirty", latest)) {
533417
- writeToStdout(`Update available: ${"1.1.11+1b3ac1b-dirty"} → ${latest}
533416
+ if (latest && !gte("1.1.12+ec5dd8c-dirty", latest)) {
533417
+ writeToStdout(`Update available: ${"1.1.12+ec5dd8c-dirty"} → ${latest}
533418
533418
  `);
533419
533419
  writeToStdout(`
533420
533420
  `);
@@ -533479,11 +533479,11 @@ async function update() {
533479
533479
  `);
533480
533480
  await gracefulShutdown(1);
533481
533481
  }
533482
- if (result.latestVersion === "1.1.11+1b3ac1b-dirty") {
533483
- writeToStdout(source_default.green(`Vivus is up to date (${"1.1.11+1b3ac1b-dirty"})`) + `
533482
+ if (result.latestVersion === "1.1.12+ec5dd8c-dirty") {
533483
+ writeToStdout(source_default.green(`Vivus is up to date (${"1.1.12+ec5dd8c-dirty"})`) + `
533484
533484
  `);
533485
533485
  } else {
533486
- writeToStdout(source_default.green(`Successfully updated from ${"1.1.11+1b3ac1b-dirty"} to version ${result.latestVersion}`) + `
533486
+ writeToStdout(source_default.green(`Successfully updated from ${"1.1.12+ec5dd8c-dirty"} to version ${result.latestVersion}`) + `
533487
533487
  `);
533488
533488
  await regenerateCompletionCache();
533489
533489
  }
@@ -533540,12 +533540,12 @@ async function update() {
533540
533540
  `);
533541
533541
  await gracefulShutdown(1);
533542
533542
  }
533543
- if (latestVersion === "1.1.11+1b3ac1b-dirty") {
533544
- writeToStdout(source_default.green(`Vivus is up to date (${"1.1.11+1b3ac1b-dirty"})`) + `
533543
+ if (latestVersion === "1.1.12+ec5dd8c-dirty") {
533544
+ writeToStdout(source_default.green(`Vivus is up to date (${"1.1.12+ec5dd8c-dirty"})`) + `
533545
533545
  `);
533546
533546
  await gracefulShutdown(0);
533547
533547
  }
533548
- writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.11+1b3ac1b-dirty"})
533548
+ writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.12+ec5dd8c-dirty"})
533549
533549
  `);
533550
533550
  writeToStdout(`Installing update...
533551
533551
  `);
@@ -533590,7 +533590,7 @@ async function update() {
533590
533590
  logForDebugging(`update: Installation status: ${status2}`);
533591
533591
  switch (status2) {
533592
533592
  case "success":
533593
- writeToStdout(source_default.green(`Successfully updated from ${"1.1.11+1b3ac1b-dirty"} to version ${latestVersion}`) + `
533593
+ writeToStdout(source_default.green(`Successfully updated from ${"1.1.12+ec5dd8c-dirty"} to version ${latestVersion}`) + `
533594
533594
  `);
533595
533595
  await regenerateCompletionCache();
533596
533596
  break;
@@ -534561,7 +534561,7 @@ function completeOnboarding() {
534561
534561
  saveGlobalConfig((current) => ({
534562
534562
  ...current,
534563
534563
  hasCompletedOnboarding: true,
534564
- lastOnboardingVersion: "1.1.11+1b3ac1b-dirty"
534564
+ lastOnboardingVersion: "1.1.12+ec5dd8c-dirty"
534565
534565
  }));
534566
534566
  }
534567
534567
  function showDialog(root2, renderer) {
@@ -538731,7 +538731,7 @@ ${customInstructions}` : customInstructions;
538731
538731
  }
538732
538732
  }
538733
538733
  logForDiagnosticsNoPII("info", "started", {
538734
- version: "1.1.11+1b3ac1b-dirty",
538734
+ version: "1.1.12+ec5dd8c-dirty",
538735
538735
  is_native_binary: isInBundledMode()
538736
538736
  });
538737
538737
  registerCleanup(async () => {
@@ -539515,7 +539515,7 @@ Usage: vivus --remote "your task description"`, () => gracefulShutdown(1));
539515
539515
  pendingHookMessages
539516
539516
  }, renderAndRun);
539517
539517
  }
539518
- }).version("1.1.11+1b3ac1b-dirty (Vivus)", "-v, --version", "Output the version number");
539518
+ }).version("1.1.12+ec5dd8c-dirty (Vivus)", "-v, --version", "Output the version number");
539519
539519
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
539520
539520
  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
539521
  if (canUserConfigureAdvisor()) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vivus-agent",
3
- "version": "1.1.11",
3
+ "version": "1.1.12",
4
4
  "description": "Vivus — local AI coding agent",
5
5
  "type": "module",
6
6
  "main": "dist/main.js",