teamshare-bridge 0.21.72 → 0.21.73

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.
@@ -0,0 +1,49 @@
1
+ /** First probe: warm-up + jitter so N machines never check together. */
2
+ export declare const FIRST_CHECK_DELAY_MS: number;
3
+ export declare const FIRST_CHECK_JITTER_MS: number;
4
+ /** Subsequent probes. */
5
+ export declare const CHECK_INTERVAL_MS: number;
6
+ export declare const CHECK_INTERVAL_JITTER_MS: number;
7
+ /** How often the busy/idle sampler runs while an upgrade is pending. */
8
+ export declare const SAMPLE_MS = 30000;
9
+ /** The machine must have been continuously idle this long before dispatch. */
10
+ export declare const MIN_IDLE_MS: number;
11
+ /** Never upgrade seconds after boot (a daemon restart is not "idle time"). */
12
+ export declare const MIN_UPTIME_MS: number;
13
+ /** Give up on this window and retry at the next scheduled check. */
14
+ export declare const IDLE_WAIT_TIMEOUT_MS: number;
15
+ /** After a failed install, wait before trying again... */
16
+ export declare const FAILURE_BACKOFF_MS: number;
17
+ /** ...and stop trying entirely after this many failures in one boot. */
18
+ export declare const MAX_FAILURES = 3;
19
+ export interface AutoUpgradeOptions {
20
+ /** Daemon logger (writes to ~/.teamshare/daemon.log). */
21
+ log: (line: string) => void;
22
+ /** Fresh opt-out check (`config.autoUpgrade === false` disables the loop). */
23
+ enabled: () => boolean;
24
+ /** Reason the machine is busy, or null when completely idle. */
25
+ busyReason: () => string | null;
26
+ /** Installed version (package.json of THIS install). */
27
+ version: string;
28
+ /** Probe port the daemon bound; the restarted daemon reuses it. */
29
+ port: number;
30
+ /** Graceful daemon exit, called once the helper has been dispatched. */
31
+ shutdown: () => void;
32
+ /** Best-effort hub report (diagnostics). Resolves when delivered/queued. */
33
+ report: (severity: 'warning' | 'error', message: string, context?: Record<string, unknown>) => Promise<void>;
34
+ }
35
+ /** Verdict for one idle sample - exported so the gates are unit-testable. */
36
+ export declare function idleVerdict(input: {
37
+ busyReason: string | null;
38
+ lastBusyAt: number;
39
+ now: number;
40
+ bootAt: number;
41
+ }): {
42
+ ready: boolean;
43
+ why: string;
44
+ };
45
+ /**
46
+ * Starts the periodic check. Returns a stop function (the daemon clears it
47
+ * on shutdown). Idempotent per call - one scheduler per daemon process.
48
+ */
49
+ export declare function startAutoUpgrade(opts: AutoUpgradeOptions): () => void;
@@ -0,0 +1,262 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MAX_FAILURES = exports.FAILURE_BACKOFF_MS = exports.IDLE_WAIT_TIMEOUT_MS = exports.MIN_UPTIME_MS = exports.MIN_IDLE_MS = exports.SAMPLE_MS = exports.CHECK_INTERVAL_JITTER_MS = exports.CHECK_INTERVAL_MS = exports.FIRST_CHECK_JITTER_MS = exports.FIRST_CHECK_DELAY_MS = void 0;
4
+ exports.idleVerdict = idleVerdict;
5
+ exports.startAutoUpgrade = startAutoUpgrade;
6
+ /**
7
+ * Silent auto-upgrade scheduler (2026-09).
8
+ *
9
+ * Every few hours the daemon asks the npm registry whether a newer
10
+ * `teamshare-bridge` is published. When one is, it WAITS for a genuinely
11
+ * idle machine (no session lock, no live session, no queued wakes, warm
12
+ * boot) and only then dispatches a detached helper that runs the existing
13
+ * `teamshare-bridge upgrade` flow (stop -> `npm i -g ...@latest` -> start).
14
+ *
15
+ * Rules that make this safe:
16
+ * - never runs while anything is executing (see the daemon's busyReason),
17
+ * - never runs against a dev / npm-link / git checkout (version-check),
18
+ * - never overlaps itself: the upgrade marker is stamped first and the
19
+ * supervisor refuses to start a daemon while a helper owns the machine,
20
+ * - failures back off instead of retrying in a loop, and the helper
21
+ * restarts the previous version when the install fails.
22
+ *
23
+ * Everything is injected (see AutoUpgradeOptions) so the gates are unit
24
+ * testable without a live daemon.
25
+ */
26
+ const node_child_process_1 = require("node:child_process");
27
+ const node_fs_1 = require("node:fs");
28
+ const node_os_1 = require("node:os");
29
+ const node_path_1 = require("node:path");
30
+ const version_check_1 = require("../lib/version-check");
31
+ const spawn_1 = require("./spawn");
32
+ const upgrade_marker_1 = require("./upgrade-marker");
33
+ /** First probe: warm-up + jitter so N machines never check together. */
34
+ exports.FIRST_CHECK_DELAY_MS = 20 * 60_000;
35
+ exports.FIRST_CHECK_JITTER_MS = 10 * 60_000;
36
+ /** Subsequent probes. */
37
+ exports.CHECK_INTERVAL_MS = 6 * 3_600_000;
38
+ exports.CHECK_INTERVAL_JITTER_MS = 30 * 60_000;
39
+ /** How often the busy/idle sampler runs while an upgrade is pending. */
40
+ exports.SAMPLE_MS = 30_000;
41
+ /** The machine must have been continuously idle this long before dispatch. */
42
+ exports.MIN_IDLE_MS = 10 * 60_000;
43
+ /** Never upgrade seconds after boot (a daemon restart is not "idle time"). */
44
+ exports.MIN_UPTIME_MS = 5 * 60_000;
45
+ /** Give up on this window and retry at the next scheduled check. */
46
+ exports.IDLE_WAIT_TIMEOUT_MS = 60 * 60_000;
47
+ /** After a failed install, wait before trying again... */
48
+ exports.FAILURE_BACKOFF_MS = 6 * 3_600_000;
49
+ /** ...and stop trying entirely after this many failures in one boot. */
50
+ exports.MAX_FAILURES = 3;
51
+ /** Verdict for one idle sample - exported so the gates are unit-testable. */
52
+ function idleVerdict(input) {
53
+ if (input.busyReason)
54
+ return { ready: false, why: input.busyReason };
55
+ if (input.now - input.bootAt < exports.MIN_UPTIME_MS) {
56
+ return { ready: false, why: 'daemon just started' };
57
+ }
58
+ const idleFor = input.now - input.lastBusyAt;
59
+ if (idleFor < exports.MIN_IDLE_MS) {
60
+ return {
61
+ ready: false,
62
+ why: `idle only ${Math.round(idleFor / 1000)}s (need ${Math.round(exports.MIN_IDLE_MS / 1000)}s)`,
63
+ };
64
+ }
65
+ return { ready: true, why: `idle for ${Math.round(idleFor / 1000)}s` };
66
+ }
67
+ const sleep = (ms) => new Promise((resolve) => {
68
+ const t = setTimeout(resolve, ms);
69
+ t.unref?.();
70
+ });
71
+ const jitter = (spread) => Math.floor(Math.random() * spread);
72
+ /**
73
+ * Starts the periodic check. Returns a stop function (the daemon clears it
74
+ * on shutdown). Idempotent per call - one scheduler per daemon process.
75
+ */
76
+ function startAutoUpgrade(opts) {
77
+ const bootAt = Date.now();
78
+ /** Last moment the machine was observed doing something. */
79
+ let lastBusyAt = Date.now();
80
+ let failures = 0;
81
+ let backoffUntil = 0;
82
+ let inFlight = null;
83
+ let stopped = false;
84
+ let notifiedUpToDate = false;
85
+ let notifiedDisabled = false;
86
+ let gaveUpNotified = false;
87
+ const timers = [];
88
+ const log = (line) => opts.log(line);
89
+ const sample = () => {
90
+ if (opts.busyReason())
91
+ lastBusyAt = Date.now();
92
+ };
93
+ const waitUntilIdle = async () => {
94
+ const deadline = Date.now() + exports.IDLE_WAIT_TIMEOUT_MS;
95
+ for (;;) {
96
+ if (stopped)
97
+ return false;
98
+ const verdict = idleVerdict({
99
+ busyReason: opts.busyReason(),
100
+ lastBusyAt,
101
+ now: Date.now(),
102
+ bootAt,
103
+ });
104
+ if (verdict.ready)
105
+ return true;
106
+ if (Date.now() >= deadline) {
107
+ log(`[auto-upgrade] no idle window in the last ${Math.round(exports.IDLE_WAIT_TIMEOUT_MS / 60_000)} min (${verdict.why}) - retrying at the next check`);
108
+ return false;
109
+ }
110
+ await sleep(exports.SAMPLE_MS);
111
+ sample();
112
+ }
113
+ };
114
+ const runCheck = async () => {
115
+ if (stopped)
116
+ return;
117
+ if (!opts.enabled()) {
118
+ if (!notifiedDisabled) {
119
+ notifiedDisabled = true;
120
+ log('[auto-upgrade] disabled in config (autoUpgrade: false)');
121
+ }
122
+ return;
123
+ }
124
+ notifiedDisabled = false;
125
+ const install = (0, version_check_1.updatableInstall)();
126
+ if (!install.ok) {
127
+ if (!notifiedDisabled) {
128
+ notifiedDisabled = true;
129
+ log(`[auto-upgrade] not applicable: ${install.reason}`);
130
+ }
131
+ return;
132
+ }
133
+ if ((0, upgrade_marker_1.upgradeInProgress)()) {
134
+ log('[auto-upgrade] an upgrade is already running - skipping this check');
135
+ return;
136
+ }
137
+ if (Date.now() < backoffUntil)
138
+ return;
139
+ const state = (0, upgrade_marker_1.readUpgradeState)();
140
+ const totalFailures = failures + (state?.failures ?? 0);
141
+ if (totalFailures >= exports.MAX_FAILURES) {
142
+ if (!gaveUpNotified) {
143
+ gaveUpNotified = true;
144
+ log(`[auto-upgrade] giving up after ${totalFailures} failed install(s) (last: ${state?.lastError ?? 'unknown'}) - run \`teamshare-bridge auto-upgrade on\` to reset`);
145
+ }
146
+ return;
147
+ }
148
+ if (state?.lastFailureAt && Date.now() - state.lastFailureAt < exports.FAILURE_BACKOFF_MS) {
149
+ return; // recently failed - stay quiet until the backoff expires
150
+ }
151
+ const latest = await (0, version_check_1.fetchLatestVersion)();
152
+ if (!latest)
153
+ return; // offline / registry hiccup - next check retries
154
+ if (!(0, version_check_1.isNewer)(latest, opts.version)) {
155
+ if (!notifiedUpToDate) {
156
+ notifiedUpToDate = true;
157
+ log(`[auto-upgrade] up to date (installed ${opts.version}, published ${latest})`);
158
+ }
159
+ return;
160
+ }
161
+ notifiedUpToDate = false;
162
+ log(`[auto-upgrade] update available: ${opts.version} -> ${latest} - waiting for an idle machine`);
163
+ if (!(await waitUntilIdle()))
164
+ return;
165
+ // Last-second re-check: a wake can land while the loop slept.
166
+ const busy = opts.busyReason();
167
+ if (busy) {
168
+ log(`[auto-upgrade] work arrived at the last moment (${busy}) - deferring`);
169
+ return;
170
+ }
171
+ if ((0, upgrade_marker_1.upgradeInProgress)())
172
+ return;
173
+ (0, upgrade_marker_1.writeUpgradeMarker)({
174
+ from: opts.version,
175
+ to: latest,
176
+ startedAt: new Date().toISOString(),
177
+ state: 'running',
178
+ });
179
+ log(`[auto-upgrade] dispatching ${opts.version} -> ${latest} (idle for ${Math.round((Date.now() - lastBusyAt) / 1000)}s)`);
180
+ try {
181
+ await Promise.race([
182
+ opts.report('warning', `TeamShare bridge ${opts.version} is upgrading to ${latest}`, { from: opts.version, to: latest, auto: true }),
183
+ sleep(3_000),
184
+ ]);
185
+ }
186
+ catch {
187
+ /* reporting must never block the upgrade */
188
+ }
189
+ try {
190
+ dispatchHelper(opts.port);
191
+ }
192
+ catch (err) {
193
+ failures += 1;
194
+ backoffUntil = Date.now() + exports.FAILURE_BACKOFF_MS;
195
+ const detail = err instanceof Error ? err.message : String(err);
196
+ log(`[auto-upgrade] failed to start the upgrade helper: ${detail}`);
197
+ return;
198
+ }
199
+ opts.shutdown();
200
+ };
201
+ const scheduleCheck = (delay) => {
202
+ if (stopped)
203
+ return;
204
+ const timer = setTimeout(() => {
205
+ if (stopped)
206
+ return;
207
+ if (!inFlight) {
208
+ inFlight = runCheck()
209
+ .catch((err) => {
210
+ failures += 1;
211
+ backoffUntil = Date.now() + exports.FAILURE_BACKOFF_MS;
212
+ const detail = err instanceof Error ? err.message : String(err);
213
+ log(`[auto-upgrade] check failed: ${detail}`);
214
+ })
215
+ .finally(() => {
216
+ inFlight = null;
217
+ });
218
+ }
219
+ const next = exports.CHECK_INTERVAL_MS + jitter(exports.CHECK_INTERVAL_JITTER_MS);
220
+ scheduleCheck(next);
221
+ }, delay);
222
+ timer.unref?.();
223
+ timers.push(timer);
224
+ };
225
+ // Warm-up first probe, then a jittered 6-hourly cadence.
226
+ scheduleCheck(exports.FIRST_CHECK_DELAY_MS + jitter(exports.FIRST_CHECK_JITTER_MS));
227
+ const sampler = setInterval(sample, exports.SAMPLE_MS);
228
+ sampler.unref?.();
229
+ timers.push(sampler);
230
+ log(`[auto-upgrade] enabled - first check in ${Math.round(exports.FIRST_CHECK_DELAY_MS / 60_000)}-${Math.round((exports.FIRST_CHECK_DELAY_MS + exports.FIRST_CHECK_JITTER_MS) / 60_000)} min, installed ${opts.version}`);
231
+ return () => {
232
+ stopped = true;
233
+ for (const t of timers) {
234
+ clearTimeout(t);
235
+ clearInterval(t);
236
+ }
237
+ };
238
+ }
239
+ /**
240
+ * Spawns the detached `upgrade --auto` helper. Hidden on Windows (the VBS
241
+ * chain is the only primitive that is both window-less and survives this
242
+ * process exiting); setsid-detached elsewhere. Output lands in upgrade.log.
243
+ */
244
+ function dispatchHelper(port) {
245
+ const argv = [(0, node_path_1.join)(__dirname, 'index.js'), 'upgrade', '--auto', '--port', String(port)];
246
+ if (process.platform === 'win32') {
247
+ (0, spawn_1.launchHiddenVbs)({
248
+ argv,
249
+ capture: upgrade_marker_1.UPGRADE_LOG_PATH,
250
+ vbsPath: (0, node_path_1.join)((0, node_os_1.homedir)(), '.teamshare', 'upgrade-launch.vbs'),
251
+ });
252
+ return;
253
+ }
254
+ const out = (0, node_fs_1.openSync)(upgrade_marker_1.UPGRADE_LOG_PATH, 'a');
255
+ const child = (0, node_child_process_1.spawn)(process.execPath, argv, {
256
+ detached: true,
257
+ stdio: ['ignore', out, out],
258
+ windowsHide: true,
259
+ });
260
+ child.unref();
261
+ }
262
+ //# sourceMappingURL=auto-upgrade.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-upgrade.js","sourceRoot":"","sources":["../../src/bridge/auto-upgrade.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,8 @@ const local_server_1 = require("./local-server");
34
34
  const orchestrator_1 = require("../lib/orchestrator");
35
35
  const manager_1 = require("../lib/browser/manager");
36
36
  const session_relay_1 = require("./session-relay");
37
+ const version_check_1 = require("../lib/version-check");
38
+ const auto_upgrade_1 = require("./auto-upgrade");
37
39
  const daemon_support_1 = require("./daemon-support");
38
40
  const wake_handler_1 = require("./wake-handler");
39
41
  const daemon_inbox_1 = require("./daemon-inbox");
@@ -999,8 +1001,63 @@ async function runDaemon(portOverride) {
999
1001
  }
1000
1002
  }, lock_1.LOCK_POLL_MS);
1001
1003
  timers.push(flushInterval);
1004
+ // ── Silent auto-upgrade (2026-09) ──────────────────────────────────────
1005
+ // The daemon installs the newest published `teamshare-bridge` on its own
1006
+ // once THIS machine has been fully idle: no session lock, no live session,
1007
+ // no queued/folder-waiting wakes and nothing started in the last few
1008
+ // minutes. Opt out with `teamshare-bridge auto-upgrade off` (config
1009
+ // autoUpgrade).
1010
+ //
1011
+ // WAKE_QUIET only has to cover the gap between a wake arriving and its
1012
+ // session taking the agent lock (hidden launch + node boot + settings
1013
+ // fetch - seconds). After that the lock/queue/session checks take over,
1014
+ // so the 10-min continuous-idle window in idleVerdict stays the real gate.
1015
+ const WAKE_QUIET_MS = 2 * 60_000;
1016
+ const machineBusy = () => {
1017
+ for (const agent of (0, config_1.loadConfig)().agents) {
1018
+ if ((0, lock_1.isLockBusy)(agent.agentId)) {
1019
+ return `agent ${agent.agentId} holds a session lock`;
1020
+ }
1021
+ if (sessionRelay.current(agent.agentId)) {
1022
+ return `agent ${agent.agentId} has a live session`;
1023
+ }
1024
+ if ((wakeQueue.get(agent.agentId)?.length ?? 0) > 0) {
1025
+ return `agent ${agent.agentId} has queued wakes`;
1026
+ }
1027
+ const lastWake = lastWakeByAgent.get(agent.agentId);
1028
+ if (lastWake) {
1029
+ const ago = Date.now() - Date.parse(lastWake);
1030
+ if (Number.isFinite(ago) && ago < WAKE_QUIET_MS) {
1031
+ return `a wake landed ${Math.round(ago / 1000)}s ago`;
1032
+ }
1033
+ }
1034
+ }
1035
+ for (const entries of wake_handler_1.folderWaitQueue.values()) {
1036
+ if (entries.length > 0)
1037
+ return 'a wake is waiting for a busy folder';
1038
+ }
1039
+ return null;
1040
+ };
1041
+ let stopAutoUpgrade = () => { };
1042
+ stopAutoUpgrade = (0, auto_upgrade_1.startAutoUpgrade)({
1043
+ log: daemon_support_1.log,
1044
+ enabled: () => (0, config_1.loadConfig)().autoUpgrade !== false,
1045
+ busyReason: machineBusy,
1046
+ version: (0, version_check_1.currentVersion)(),
1047
+ port: boundPort,
1048
+ shutdown: () => shutdown(),
1049
+ report: async (severity, message, context) => {
1050
+ await (0, diagnostics_1.reportDiagnostic)({
1051
+ kind: 'auto_upgrade',
1052
+ severity,
1053
+ message,
1054
+ ...(context ? { context } : {}),
1055
+ });
1056
+ },
1057
+ });
1002
1058
  const shutdown = () => {
1003
1059
  (0, daemon_support_1.log)('shutting down');
1060
+ stopAutoUpgrade();
1004
1061
  if (watchDebounce)
1005
1062
  clearTimeout(watchDebounce);
1006
1063
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/bridge/daemon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/bridge/daemon.ts"],"names":[],"mappings":"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"}