@clearlysh/beehaven 0.8.20 → 0.8.21

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.
@@ -53,9 +53,9 @@ export const PUBLIC_BUILD = true;
53
53
  * ⚠ REWRITTEN IN `dist/` AT BUILD TIME, like `PUBLIC_BUILD`. `unstamped` is what a source checkout
54
54
  * carries and what `tsx`/`vitest` see, and it is honest: nothing has stamped them.
55
55
  */
56
- export const BUILD_SHA = '046981bccb35-dirty';
56
+ export const BUILD_SHA = 'f651981dfa50';
57
57
  /** ISO-8601 minute precision, UTC. Rewritten in `dist/` by `scripts/stamp-build-channel.mjs`. */
58
- export const BUILD_TIME = '2026-09-29T05:23Z';
58
+ export const BUILD_TIME = '2026-09-29T18:13Z';
59
59
  /**
60
60
  * The build identity as one short string, for `--version`.
61
61
  *
package/dist/daemon.js CHANGED
@@ -45,7 +45,6 @@ import { join, dirname, relative } from 'path';
45
45
  import { fileURLToPath } from 'url';
46
46
  import { compareVersions, usableUpdateDigest } from './version-utils.js';
47
47
  import { installKind } from './commands/self-update.js';
48
- import { collectSystemTelemetry, collectGitStatus } from './telemetry.js';
49
48
  const __dirname = dirname(fileURLToPath(import.meta.url));
50
49
  const CONFIG_DIR = join(homedir(), '.beehaven');
51
50
  const CONFIG_FILE = join(CONFIG_DIR, 'config.json');
@@ -4429,42 +4428,18 @@ export async function startDaemon(opts) {
4429
4428
  // Auto-update: check hourly, install when idle
4430
4429
  checkAndAutoUpdate();
4431
4430
  setInterval(() => checkAndAutoUpdate(), UPDATE_CHECK_INTERVAL);
4432
- // Telemetry: opt-in via config.shareTelemetry (default off, togglable from cloud)
4433
- // Sends system stats + agent metrics + git status every 2 minutes
4434
- let lastActiveCwd = null;
4435
- watcher.on('event', (e) => {
4436
- if (e.cwd)
4437
- lastActiveCwd = e.cwd;
4438
- });
4439
- const sendTelemetry = () => {
4440
- if (!daemonConfig?.shareTelemetry || !relay.isConnected())
4441
- return;
4442
- try {
4443
- const system = collectSystemTelemetry();
4444
- const agentSnapshot = metrics.snapshot();
4445
- const git = lastActiveCwd ? collectGitStatus(lastActiveCwd) : null;
4446
- relay.sendTelemetry({ system, git, agent: agentSnapshot });
4447
- }
4448
- catch {
4449
- /* non-critical */
4450
- }
4451
- };
4452
- setTimeout(sendTelemetry, 10_000);
4453
- setInterval(sendTelemetry, 120_000);
4454
- // Reset metrics window every 5 minutes
4431
+ // Reset the LOCAL metrics window every 5 minutes (no network).
4455
4432
  setInterval(() => metrics.resetWindow(), 5 * 60_000);
4456
- // Re-advertise this beehive every 2 min: refreshes last_seen and, crucially,
4457
- // self-heals the swarm's live routing map after a Home-DO hibernation dropped
4458
- // it (the WS survives hibernation, so without this the node would read
4459
- // "offline" until its next reconnect). Cheap — one WS frame.
4460
- setInterval(() => {
4461
- try {
4462
- registerBeehive();
4463
- }
4464
- catch {
4465
- /* best-effort */
4466
- }
4467
- }, 120_000);
4433
+ /**
4434
+ * ⚠⚠ NO TIMED FRAMES TO THE CLOUD (2026-09-29). Two intervals lived here: a `telemetry` frame
4435
+ * and a `swarm-register` re-advertise, each every 2 minutes. Neither had a consumer — the
4436
+ * workspace has no handler for either type and nothing inserts into `beehives` — but each one
4437
+ * woke the user's Hive, reopened its portal (the portal idle-closes after 60 s), woke the
4438
+ * workspace and re-hydrated all ~111 tables. Measured on staging: that kept one Hive resident
4439
+ * ~50% of every hour per connected daemon (~11K GB-s/day) and made the workspace re-read ~15K
4440
+ * rows per reopen. An idle daemon must cost nothing; it speaks when something happens.
4441
+ * Registration still runs on connect and whenever installed apps change (above).
4442
+ */
4468
4443
  // Start REPL
4469
4444
  if (opts?.repl !== false && !process.env.BEEHAVEN_NO_REPL)
4470
4445
  repl.start();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clearlysh/beehaven",
3
- "version": "0.8.20",
3
+ "version": "0.8.21",
4
4
  "description": "Beehaven CLI — command your Clearly workspace, agents, and canvas from the terminal",
5
5
  "private": false,
6
6
  "type": "module",