teamshare-bridge 0.22.7 → 0.22.9

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 (98) hide show
  1. package/README.md +383 -383
  2. package/dist/bridge/auto-upgrade.d.ts +92 -0
  3. package/dist/bridge/auto-upgrade.js +159 -6
  4. package/dist/bridge/auto-upgrade.js.map +1 -1
  5. package/dist/bridge/daemon-instance.d.ts +17 -0
  6. package/dist/bridge/daemon-instance.js +58 -0
  7. package/dist/bridge/daemon-instance.js.map +1 -1
  8. package/dist/bridge/daemon.js +88 -45
  9. package/dist/bridge/daemon.js.map +1 -1
  10. package/dist/bridge/doctor.js +30 -0
  11. package/dist/bridge/doctor.js.map +1 -1
  12. package/dist/bridge/index.js +37 -3
  13. package/dist/bridge/index.js.map +1 -1
  14. package/dist/bridge/install-verify.js +8 -8
  15. package/dist/bridge/spawn.d.ts +14 -0
  16. package/dist/bridge/spawn.js +7 -1
  17. package/dist/bridge/spawn.js.map +1 -1
  18. package/dist/bridge/upgrade-marker.d.ts +24 -2
  19. package/dist/bridge/upgrade-marker.js +30 -2
  20. package/dist/bridge/upgrade-marker.js.map +1 -1
  21. package/dist/bridge/upgrade-preflight.d.ts +49 -0
  22. package/dist/bridge/upgrade-preflight.js +164 -0
  23. package/dist/bridge/upgrade-preflight.js.map +1 -0
  24. package/dist/bridge/wake-handler.d.ts +8 -15
  25. package/dist/bridge/wake-handler.js +109 -14
  26. package/dist/bridge/wake-handler.js.map +1 -1
  27. package/dist/bridge/wake-outbox.js +7 -0
  28. package/dist/bridge/wake-outbox.js.map +1 -1
  29. package/dist/cli/commands/plan.js +4 -0
  30. package/dist/cli/commands/plan.js.map +1 -1
  31. package/dist/lib/browser/human-input-guard.js +98 -98
  32. package/dist/lib/browser/screen-change.js +60 -60
  33. package/dist/lib/llm/usage-reader.js +4 -4
  34. package/dist/lib/workspace/classify.d.ts +29 -0
  35. package/dist/lib/workspace/classify.js +62 -0
  36. package/dist/lib/workspace/classify.js.map +1 -1
  37. package/dist/lib/workspace/presence.d.ts +31 -0
  38. package/dist/lib/workspace/presence.js +35 -1
  39. package/dist/lib/workspace/presence.js.map +1 -1
  40. package/dist/lib/workspace/shim-runner.js +23 -0
  41. package/dist/lib/workspace/shim-runner.js.map +1 -1
  42. package/package.json +70 -70
  43. package/skills/THIRD_PARTY_NOTICES.md +26 -26
  44. package/skills/architect/LICENSE +21 -21
  45. package/skills/codebase-design/LICENSE +21 -21
  46. package/skills/diagnosing-bugs/LICENSE +21 -21
  47. package/skills/domain-modeling/LICENSE +21 -21
  48. package/skills/improve-codebase-architecture/LICENSE +21 -21
  49. package/skills/recover/LICENSE +21 -21
  50. package/skills/review/LICENSE +21 -21
  51. package/skills/tdd/LICENSE +21 -21
  52. package/skills/teamshare-auth-rbac/SKILL.md +78 -78
  53. package/skills/teamshare-cdd/SKILL.md +205 -205
  54. package/skills/teamshare-modularity/SKILL.md +146 -146
  55. package/skills/teamshare-orchestrator-ask/SKILL.md +77 -77
  56. package/skills/teamshare-scaffold/SKILL.md +116 -116
  57. package/templates/backend/.env.example.tpl +13 -13
  58. package/templates/backend/nest-cli.json.tpl +8 -8
  59. package/templates/backend/package.json.tpl +41 -41
  60. package/templates/backend/prisma/schema.prisma.tpl +39 -39
  61. package/templates/backend/src/app.module.ts.tpl +24 -24
  62. package/templates/backend/src/common/filters/all-exceptions.filter.ts.tpl +59 -59
  63. package/templates/backend/src/common/guards/jwt-auth.guard.ts.tpl +27 -27
  64. package/templates/backend/src/common/guards/rbac.guard.ts.tpl +48 -48
  65. package/templates/backend/src/common/interceptors/transform.interceptor.ts.tpl +44 -44
  66. package/templates/backend/src/common/pipes/zod-validation.pipe.ts.tpl +29 -29
  67. package/templates/backend/src/common/swagger/envelope.schemas.ts.tpl +53 -53
  68. package/templates/backend/src/common/swagger/error.schemas.ts.tpl +62 -62
  69. package/templates/backend/src/main.ts.tpl +27 -27
  70. package/templates/backend/src/modules/example/example.controller.ts.tpl +102 -102
  71. package/templates/backend/src/modules/example/example.dto.ts.tpl +14 -14
  72. package/templates/backend/src/modules/example/example.module.ts.tpl +10 -10
  73. package/templates/backend/src/modules/example/example.service.ts.tpl +45 -45
  74. package/templates/backend/tsconfig.json.tpl +26 -26
  75. package/templates/common/.gitignore.tpl +42 -42
  76. package/templates/common/AGENTS.md.tpl +58 -58
  77. package/templates/common/docs/adr/README.md +25 -25
  78. package/templates/common/docs/api-contract.md.tpl +72 -72
  79. package/templates/web/next.config.ts.tpl +7 -7
  80. package/templates/web/package.json.tpl +37 -37
  81. package/templates/web/src/app/globals.css.tpl +48 -48
  82. package/templates/web/src/app/layout.tsx.tpl +25 -25
  83. package/templates/web/src/components/shared/app-button.tsx.tpl +59 -59
  84. package/templates/web/src/components/shared/app-empty-state.tsx.tpl +39 -39
  85. package/templates/web/src/components/shared/app-list-toolbar.tsx.tpl +63 -63
  86. package/templates/web/src/components/shared/app-skeleton.tsx.tpl +14 -14
  87. package/templates/web/src/components/shared/app-table.tsx.tpl +128 -128
  88. package/templates/web/src/components/shared/index.ts.tpl +5 -5
  89. package/templates/web/src/hooks/use-list-state.ts.tpl +72 -72
  90. package/templates/web/src/hooks/use-url-tab.ts.tpl +25 -25
  91. package/templates/web/src/lib/api/client.ts.tpl +123 -123
  92. package/templates/web/src/lib/providers.tsx.tpl +35 -35
  93. package/templates/web/src/lib/query-keys.ts.tpl +21 -21
  94. package/templates/web/src/lib/utils.ts.tpl +7 -7
  95. package/templates/web/src/lib/validation/schemas.ts.tpl +15 -15
  96. package/templates/web/src/modules/example/views/example-list-view.tsx.tpl +97 -97
  97. package/templates/web/tsconfig.json.tpl +23 -23
  98. package/tools/workspace-arbitration-check.mjs +389 -389
@@ -4,18 +4,59 @@ export declare const FIRST_CHECK_JITTER_MS: number;
4
4
  /** Subsequent probes. */
5
5
  export declare const CHECK_INTERVAL_MS: number;
6
6
  export declare const CHECK_INTERVAL_JITTER_MS: number;
7
+ /**
8
+ * While a newer version is KNOWN and we are merely waiting for the machine to
9
+ * go quiet, come back far sooner than the 6-hourly cadence.
10
+ *
11
+ * The flat 6h cadence was a quiet way to strand the feature: an update could be
12
+ * published at 09:00, the machine idle at 15:00, and the update would still wait
13
+ * until 21:00 for no reason other than which side of a jittered timer the boot
14
+ * landed on. A known-pending version has no discovery left to do, so retrying it
15
+ * on a short cadence is strictly better.
16
+ */
17
+ export declare const PENDING_RETRY_MS: number;
18
+ /**
19
+ * Where the pending-update record lives, so `auto-upgrade status` (a different
20
+ * process) can report a blocked update instead of leaving the human to infer
21
+ * "broken" from the absence of a version bump.
22
+ */
23
+ export declare const PENDING_STATE_PATH: string;
7
24
  /** How often the busy/idle sampler runs while an upgrade is pending. */
8
25
  export declare const SAMPLE_MS = 30000;
9
26
  /** The machine must have been continuously idle this long before dispatch. */
10
27
  export declare const MIN_IDLE_MS: number;
11
28
  /** Never upgrade seconds after boot (a daemon restart is not "idle time"). */
12
29
  export declare const MIN_UPTIME_MS: number;
30
+ /**
31
+ * Grace period after a wake lands, covering the gap before its session takes
32
+ * the agent lock (hidden launch + node boot + settings fetch - seconds). After
33
+ * that the lock/session checks take over.
34
+ */
35
+ export declare const WAKE_QUIET_MS: number;
13
36
  /** Give up on this window and retry at the next scheduled check. */
14
37
  export declare const IDLE_WAIT_TIMEOUT_MS: number;
15
38
  /** After a failed install, wait before trying again... */
16
39
  export declare const FAILURE_BACKOFF_MS: number;
17
40
  /** ...and stop trying entirely after this many failures in one boot. */
18
41
  export declare const MAX_FAILURES = 3;
42
+ /**
43
+ * Newer version we know exists but have not installed yet, or null.
44
+ *
45
+ * Kept on disk as well as in memory because the thing that most needs to read
46
+ * it - `teamshare-bridge auto-upgrade status` - runs in a different process
47
+ * from the daemon holding the scheduler. In-memory only would make the single
48
+ * most useful diagnostic ("is an update waiting, and what is blocking it?")
49
+ * unavailable exactly when a human goes looking for it.
50
+ */
51
+ export interface PendingUpgrade {
52
+ to: string;
53
+ since: string;
54
+ /** Why we are not installing it yet. Null once it is dispatching. */
55
+ reason: string | null;
56
+ }
57
+ export declare function pendingUpgrade(): PendingUpgrade | null;
58
+ /** Read the pending record from disk (a different process than the daemon). */
59
+ export declare function readPendingUpgrade(path?: string): PendingUpgrade | null;
19
60
  export interface AutoUpgradeOptions {
20
61
  /** Daemon logger (writes to ~/.teamshare/daemon.log). */
21
62
  log: (line: string) => void;
@@ -27,6 +68,14 @@ export interface AutoUpgradeOptions {
27
68
  version: string;
28
69
  /** Probe port the daemon bound; the restarted daemon reuses it. */
29
70
  port: number;
71
+ /**
72
+ * Durable queued wakes, for the pending-update report only.
73
+ *
74
+ * A queue that cannot be reported is a queue that looks like a broken
75
+ * feature: "waiting for idle" with no explanation reads identically to
76
+ * "auto-upgrade is broken".
77
+ */
78
+ describeQueue?: () => number;
30
79
  /** Graceful daemon exit, called once the helper has been dispatched. */
31
80
  shutdown: () => void;
32
81
  /** Best-effort hub report (diagnostics). Resolves when delivered/queued. */
@@ -42,6 +91,49 @@ export declare function idleVerdict(input: {
42
91
  ready: boolean;
43
92
  why: string;
44
93
  };
94
+ /** One agent's upgrade-relevant state, as the daemon can observe it. */
95
+ export interface AgentActivity {
96
+ agentId: string;
97
+ /** Holds a session lock (a run is mid-flight). */
98
+ lockBusy: boolean;
99
+ /** A live console/session stream is attached. */
100
+ liveSession: boolean;
101
+ /** ISO timestamp of the most recent wake for this agent, if any. */
102
+ lastWakeAt?: string | null;
103
+ /**
104
+ * Durable queued wakes. DELIBERATELY NOT PART OF THE VERDICT - see below.
105
+ * Accepted so callers can pass a whole activity snapshot and so a regression
106
+ * has to delete the field to reintroduce the bug.
107
+ */
108
+ queuedWakes?: number;
109
+ /** Injectable clock (tests). */
110
+ now?: number;
111
+ }
112
+ /**
113
+ * Why an upgrade must WAIT for this agent, or null when it may proceed.
114
+ *
115
+ * ── WHY QUEUED WORK IS NOT A BLOCKER ──────────────────────────────────────
116
+ * This used to treat a non-empty wake outbox as busy. The outbox is a DURABLE
117
+ * on-disk queue (`wake-outbox.ts` writes with an atomic writeFileSync +
118
+ * renameSync), so a wake parked waiting for a busy folder survives the very
119
+ * process exit an upgrade performs and is re-read on the next boot. Blocking on
120
+ * it protected nothing.
121
+ *
122
+ * It cost everything. Because such a wake can sit parked indefinitely (waiting
123
+ * on another agent's folder lock), the gate could never open: on any machine
124
+ * with a backlog, auto-upgrade silently never fired. It waited 60 min, gave up,
125
+ * and slept another 6 h - forever, with a single daemon.log line as evidence.
126
+ * The feature was indistinguishable from being switched off.
127
+ *
128
+ * A restart destroys a LIVE SESSION (its transcript streams from memory and
129
+ * the child process dies with us), so sessions and held locks still block. A
130
+ * queued wake has nothing to lose.
131
+ *
132
+ * Pure and exported on purpose: this is the single decision the whole fix
133
+ * rests on, and a closure inside the daemon could only ever be tested by
134
+ * inference.
135
+ */
136
+ export declare function upgradeBlockingReason(activity: AgentActivity, now?: number): string | null;
45
137
  /**
46
138
  * Starts the periodic check. Returns a stop function (the daemon clears it
47
139
  * on shutdown). Idempotent per call - one scheduler per daemon process.
@@ -1,7 +1,10 @@
1
1
  "use strict";
2
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;
3
+ exports.MAX_FAILURES = exports.FAILURE_BACKOFF_MS = exports.IDLE_WAIT_TIMEOUT_MS = exports.WAKE_QUIET_MS = exports.MIN_UPTIME_MS = exports.MIN_IDLE_MS = exports.SAMPLE_MS = exports.PENDING_STATE_PATH = exports.PENDING_RETRY_MS = exports.CHECK_INTERVAL_JITTER_MS = exports.CHECK_INTERVAL_MS = exports.FIRST_CHECK_JITTER_MS = exports.FIRST_CHECK_DELAY_MS = void 0;
4
+ exports.pendingUpgrade = pendingUpgrade;
5
+ exports.readPendingUpgrade = readPendingUpgrade;
4
6
  exports.idleVerdict = idleVerdict;
7
+ exports.upgradeBlockingReason = upgradeBlockingReason;
5
8
  exports.startAutoUpgrade = startAutoUpgrade;
6
9
  /**
7
10
  * Silent auto-upgrade scheduler (2026-09).
@@ -13,12 +16,17 @@ exports.startAutoUpgrade = startAutoUpgrade;
13
16
  * `teamshare-bridge upgrade` flow (stop -> `npm i -g ...@latest` -> start).
14
17
  *
15
18
  * Rules that make this safe:
16
- * - never runs while anything is executing (see the daemon's busyReason),
19
+ * - never runs while anything is EXECUTING (see the daemon's busyReason).
20
+ * "Executing" is load-bearing: a durable QUEUED wake survives the stop an
21
+ * upgrade performs, so blocking on it protected nothing and starved the
22
+ * feature permanently on any machine with a backlog,
17
23
  * - never runs against a dev / npm-link / git checkout (version-check),
18
24
  * - never overlaps itself: the upgrade marker is stamped first and the
19
25
  * supervisor refuses to start a daemon while a helper owns the machine,
20
26
  * - failures back off instead of retrying in a loop, and the helper
21
- * restarts the previous version when the install fails.
27
+ * restarts the previous version when the install fails,
28
+ * - a known-pending update is reported to the hub and retried every
29
+ * PENDING_RETRY_MS, so a blocked update is visible instead of silent.
22
30
  *
23
31
  * Everything is injected (see AutoUpgradeOptions) so the gates are unit
24
32
  * testable without a live daemon.
@@ -36,18 +44,71 @@ exports.FIRST_CHECK_JITTER_MS = 10 * 60_000;
36
44
  /** Subsequent probes. */
37
45
  exports.CHECK_INTERVAL_MS = 6 * 3_600_000;
38
46
  exports.CHECK_INTERVAL_JITTER_MS = 30 * 60_000;
47
+ /**
48
+ * While a newer version is KNOWN and we are merely waiting for the machine to
49
+ * go quiet, come back far sooner than the 6-hourly cadence.
50
+ *
51
+ * The flat 6h cadence was a quiet way to strand the feature: an update could be
52
+ * published at 09:00, the machine idle at 15:00, and the update would still wait
53
+ * until 21:00 for no reason other than which side of a jittered timer the boot
54
+ * landed on. A known-pending version has no discovery left to do, so retrying it
55
+ * on a short cadence is strictly better.
56
+ */
57
+ exports.PENDING_RETRY_MS = 30 * 60_000;
58
+ /**
59
+ * Where the pending-update record lives, so `auto-upgrade status` (a different
60
+ * process) can report a blocked update instead of leaving the human to infer
61
+ * "broken" from the absence of a version bump.
62
+ */
63
+ exports.PENDING_STATE_PATH = (0, node_path_1.join)((0, node_os_1.homedir)(), '.teamshare', 'upgrade-pending.json');
39
64
  /** How often the busy/idle sampler runs while an upgrade is pending. */
40
65
  exports.SAMPLE_MS = 30_000;
41
66
  /** The machine must have been continuously idle this long before dispatch. */
42
67
  exports.MIN_IDLE_MS = 10 * 60_000;
43
68
  /** Never upgrade seconds after boot (a daemon restart is not "idle time"). */
44
69
  exports.MIN_UPTIME_MS = 5 * 60_000;
70
+ /**
71
+ * Grace period after a wake lands, covering the gap before its session takes
72
+ * the agent lock (hidden launch + node boot + settings fetch - seconds). After
73
+ * that the lock/session checks take over.
74
+ */
75
+ exports.WAKE_QUIET_MS = 2 * 60_000;
45
76
  /** Give up on this window and retry at the next scheduled check. */
46
77
  exports.IDLE_WAIT_TIMEOUT_MS = 60 * 60_000;
47
78
  /** After a failed install, wait before trying again... */
48
79
  exports.FAILURE_BACKOFF_MS = 6 * 3_600_000;
49
80
  /** ...and stop trying entirely after this many failures in one boot. */
50
81
  exports.MAX_FAILURES = 3;
82
+ let pending = null;
83
+ function pendingUpgrade() {
84
+ return pending;
85
+ }
86
+ function writePending(next) {
87
+ pending = next;
88
+ try {
89
+ if (next === null) {
90
+ (0, node_fs_1.rmSync)(exports.PENDING_STATE_PATH, { force: true });
91
+ return;
92
+ }
93
+ (0, node_fs_1.mkdirSync)((0, node_path_1.dirname)(exports.PENDING_STATE_PATH), { recursive: true });
94
+ (0, node_fs_1.writeFileSync)(exports.PENDING_STATE_PATH, JSON.stringify(next, null, 2), 'utf8');
95
+ }
96
+ catch {
97
+ /* best-effort: diagnostics must never break the upgrade loop */
98
+ }
99
+ }
100
+ /** Read the pending record from disk (a different process than the daemon). */
101
+ function readPendingUpgrade(path = exports.PENDING_STATE_PATH) {
102
+ try {
103
+ if (!(0, node_fs_1.existsSync)(path))
104
+ return null;
105
+ const parsed = JSON.parse((0, node_fs_1.readFileSync)(path, 'utf8'));
106
+ return parsed && typeof parsed.to === 'string' ? parsed : null;
107
+ }
108
+ catch {
109
+ return null;
110
+ }
111
+ }
51
112
  /** Verdict for one idle sample - exported so the gates are unit-testable. */
52
113
  function idleVerdict(input) {
53
114
  if (input.busyReason)
@@ -64,6 +125,47 @@ function idleVerdict(input) {
64
125
  }
65
126
  return { ready: true, why: `idle for ${Math.round(idleFor / 1000)}s` };
66
127
  }
128
+ /**
129
+ * Why an upgrade must WAIT for this agent, or null when it may proceed.
130
+ *
131
+ * ── WHY QUEUED WORK IS NOT A BLOCKER ──────────────────────────────────────
132
+ * This used to treat a non-empty wake outbox as busy. The outbox is a DURABLE
133
+ * on-disk queue (`wake-outbox.ts` writes with an atomic writeFileSync +
134
+ * renameSync), so a wake parked waiting for a busy folder survives the very
135
+ * process exit an upgrade performs and is re-read on the next boot. Blocking on
136
+ * it protected nothing.
137
+ *
138
+ * It cost everything. Because such a wake can sit parked indefinitely (waiting
139
+ * on another agent's folder lock), the gate could never open: on any machine
140
+ * with a backlog, auto-upgrade silently never fired. It waited 60 min, gave up,
141
+ * and slept another 6 h - forever, with a single daemon.log line as evidence.
142
+ * The feature was indistinguishable from being switched off.
143
+ *
144
+ * A restart destroys a LIVE SESSION (its transcript streams from memory and
145
+ * the child process dies with us), so sessions and held locks still block. A
146
+ * queued wake has nothing to lose.
147
+ *
148
+ * Pure and exported on purpose: this is the single decision the whole fix
149
+ * rests on, and a closure inside the daemon could only ever be tested by
150
+ * inference.
151
+ */
152
+ function upgradeBlockingReason(activity, now = activity.now ?? Date.now()) {
153
+ if (activity.lockBusy) {
154
+ return `agent ${activity.agentId} holds a session lock`;
155
+ }
156
+ if (activity.liveSession) {
157
+ return `agent ${activity.agentId} has a live session`;
158
+ }
159
+ const lastWake = activity.lastWakeAt;
160
+ if (lastWake) {
161
+ const at = Date.parse(lastWake);
162
+ const ago = now - at;
163
+ if (Number.isFinite(at) && ago >= 0 && ago < exports.WAKE_QUIET_MS) {
164
+ return `a wake landed ${Math.round(ago / 1000)}s ago`;
165
+ }
166
+ }
167
+ return null;
168
+ }
67
169
  const sleep = (ms) => new Promise((resolve) => {
68
170
  const t = setTimeout(resolve, ms);
69
171
  t.unref?.();
@@ -84,8 +186,44 @@ function startAutoUpgrade(opts) {
84
186
  let notifiedUpToDate = false;
85
187
  let notifiedDisabled = false;
86
188
  let gaveUpNotified = false;
189
+ /** Last state-change message reported to the hub, so we report ONCE per change. */
190
+ let reportedPendingReason;
87
191
  const timers = [];
88
192
  const log = (line) => opts.log(line);
193
+ /**
194
+ * Record "an update is waiting on X" and tell the hub the FIRST time we see
195
+ * that exact state. Deduped on the reason string: without it, the 30s idle
196
+ * sampler would emit a diagnostic every 30s for as long as a session ran.
197
+ */
198
+ const setPending = (to, reason) => {
199
+ const current = pending;
200
+ writePending({
201
+ to,
202
+ since: current && current.to === to ? current.since : new Date().toISOString(),
203
+ reason,
204
+ });
205
+ if (reportedPendingReason === reason)
206
+ return;
207
+ reportedPendingReason = reason;
208
+ const queued = opts.describeQueue ? opts.describeQueue() : null;
209
+ void opts
210
+ .report('warning', `TeamShare bridge update pending ${opts.version} -> ${to}: ${reason}`, {
211
+ from: opts.version,
212
+ to,
213
+ auto: true,
214
+ blockedBy: reason,
215
+ queuedWakes: queued,
216
+ })
217
+ .catch(() => {
218
+ /* reporting must never break the upgrade loop */
219
+ });
220
+ };
221
+ const clearPending = () => {
222
+ if (pending === null)
223
+ return;
224
+ writePending(null);
225
+ reportedPendingReason = undefined;
226
+ };
89
227
  const sample = () => {
90
228
  if (opts.busyReason())
91
229
  lastBusyAt = Date.now();
@@ -104,7 +242,8 @@ function startAutoUpgrade(opts) {
104
242
  if (verdict.ready)
105
243
  return true;
106
244
  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`);
245
+ log(`[auto-upgrade] no idle window in the last ${Math.round(exports.IDLE_WAIT_TIMEOUT_MS / 60_000)} min (${verdict.why}) - retrying in ${Math.round(exports.PENDING_RETRY_MS / 60_000)} min`);
246
+ setPending(pending?.to ?? '', verdict.why);
108
247
  return false;
109
248
  }
110
249
  await sleep(exports.SAMPLE_MS);
@@ -136,7 +275,10 @@ function startAutoUpgrade(opts) {
136
275
  }
137
276
  if (Date.now() < backoffUntil)
138
277
  return;
139
- const state = (0, upgrade_marker_1.readUpgradeState)();
278
+ // Version-aware: history recorded against a DIFFERENT installed version
279
+ // describes a tree we no longer run, so it must not count toward
280
+ // MAX_FAILURES (see readUpgradeStateFor).
281
+ const state = (0, upgrade_marker_1.readUpgradeStateFor)(opts.version);
140
282
  const totalFailures = failures + (state?.failures ?? 0);
141
283
  if (totalFailures >= exports.MAX_FAILURES) {
142
284
  if (!gaveUpNotified) {
@@ -156,9 +298,11 @@ function startAutoUpgrade(opts) {
156
298
  notifiedUpToDate = true;
157
299
  log(`[auto-upgrade] up to date (installed ${opts.version}, published ${latest})`);
158
300
  }
301
+ clearPending();
159
302
  return;
160
303
  }
161
304
  notifiedUpToDate = false;
305
+ setPending(latest, 'waiting for an idle machine');
162
306
  log(`[auto-upgrade] update available: ${opts.version} -> ${latest} - waiting for an idle machine`);
163
307
  if (!(await waitUntilIdle()))
164
308
  return;
@@ -166,6 +310,7 @@ function startAutoUpgrade(opts) {
166
310
  const busy = opts.busyReason();
167
311
  if (busy) {
168
312
  log(`[auto-upgrade] work arrived at the last moment (${busy}) - deferring`);
313
+ setPending(latest, `work arrived at the last moment: ${busy}`);
169
314
  return;
170
315
  }
171
316
  if ((0, upgrade_marker_1.upgradeInProgress)())
@@ -176,6 +321,9 @@ function startAutoUpgrade(opts) {
176
321
  startedAt: new Date().toISOString(),
177
322
  state: 'running',
178
323
  });
324
+ // The helper now owns the upgrade; our pending record would otherwise keep
325
+ // claiming an update is waiting when one is actually in flight.
326
+ clearPending();
179
327
  log(`[auto-upgrade] dispatching ${opts.version} -> ${latest} (idle for ${Math.round((Date.now() - lastBusyAt) / 1000)}s)`);
180
328
  try {
181
329
  await Promise.race([
@@ -216,7 +364,12 @@ function startAutoUpgrade(opts) {
216
364
  inFlight = null;
217
365
  });
218
366
  }
219
- const next = exports.CHECK_INTERVAL_MS + jitter(exports.CHECK_INTERVAL_JITTER_MS);
367
+ // A known-pending update has no discovery left to do, so retry it soon
368
+ // instead of sleeping a full 6h cycle. This is the difference between
369
+ // "updates eventually land" and "updates land on the machine's schedule".
370
+ const next = pending !== null
371
+ ? exports.PENDING_RETRY_MS + jitter(exports.CHECK_INTERVAL_JITTER_MS)
372
+ : exports.CHECK_INTERVAL_MS + jitter(exports.CHECK_INTERVAL_JITTER_MS);
220
373
  scheduleCheck(next);
221
374
  }, delay);
222
375
  timer.unref?.();
@@ -1 +1 @@
1
- {"version":3,"file":"auto-upgrade.js","sourceRoot":"","sources":["../../src/bridge/auto-upgrade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auto-upgrade.js","sourceRoot":"","sources":["../../src/bridge/auto-upgrade.ts"],"names":[],"mappings":"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"}
@@ -127,6 +127,23 @@ export declare function isOurDaemonProcess(pid: number): boolean | null;
127
127
  export declare function listOurDaemonPids(options?: {
128
128
  exclude?: readonly number[];
129
129
  }): number[];
130
+ /**
131
+ * Every pid whose command line references this bridge install - daemons,
132
+ * supervisor, upgrade helper, launcher stubs, orphaned sessions.
133
+ *
134
+ * Deliberately WIDER than `listOurDaemonPids`, which requires the word
135
+ * `daemon` because it feeds a decision to KILL. This one feeds a decision to
136
+ * WARN, and the processes that most often hold a locked native DLL are exactly
137
+ * the ones the kill filter excludes on purpose (the supervisor) or misses
138
+ * entirely (a leftover session child). Narrowing first would make the check
139
+ * blind to the case it exists for.
140
+ *
141
+ * Never returns an unverified pid: the command line must actually mention this
142
+ * install's directory or the bridge entry points.
143
+ */
144
+ export declare function listBridgeProcessPids(installDir?: string, options?: {
145
+ exclude?: readonly number[];
146
+ }): number[];
130
147
  /** Terminate one verified daemon pid: SIGTERM, then force on Windows. */
131
148
  export declare function killDaemonPid(pid: number, timeoutMs?: number): boolean;
132
149
  /** Sync `/ping` probe: does a bridge answer `ok:true` on this port? */
@@ -15,6 +15,7 @@ exports.resolveDaemonInstanceSync = resolveDaemonInstanceSync;
15
15
  exports.pidInfo = pidInfo;
16
16
  exports.isOurDaemonProcess = isOurDaemonProcess;
17
17
  exports.listOurDaemonPids = listOurDaemonPids;
18
+ exports.listBridgeProcessPids = listBridgeProcessPids;
18
19
  exports.killDaemonPid = killDaemonPid;
19
20
  exports.probePortAnswering = probePortAnswering;
20
21
  exports.findAnsweringDaemonPort = findAnsweringDaemonPort;
@@ -512,6 +513,63 @@ function listOurDaemonPids(options = {}) {
512
513
  }
513
514
  return [...new Set(pids)].sort((a, b) => a - b);
514
515
  }
516
+ /**
517
+ * Every pid whose command line references this bridge install - daemons,
518
+ * supervisor, upgrade helper, launcher stubs, orphaned sessions.
519
+ *
520
+ * Deliberately WIDER than `listOurDaemonPids`, which requires the word
521
+ * `daemon` because it feeds a decision to KILL. This one feeds a decision to
522
+ * WARN, and the processes that most often hold a locked native DLL are exactly
523
+ * the ones the kill filter excludes on purpose (the supervisor) or misses
524
+ * entirely (a leftover session child). Narrowing first would make the check
525
+ * blind to the case it exists for.
526
+ *
527
+ * Never returns an unverified pid: the command line must actually mention this
528
+ * install's directory or the bridge entry points.
529
+ */
530
+ function listBridgeProcessPids(installDir, options = {}) {
531
+ const exclude = new Set(options.exclude ?? []);
532
+ const marker = installDir ? installDir.replace(/\\/g, '\\\\').toLowerCase() : null;
533
+ const out = (() => {
534
+ if (process.platform === 'win32') {
535
+ const res = (0, node_child_process_1.spawnSync)('powershell.exe', [
536
+ '-NoProfile',
537
+ '-NonInteractive',
538
+ '-Command',
539
+ 'Get-CimInstance Win32_Process -Filter "Name=\'node.exe\'" | ' +
540
+ 'ForEach-Object { "$($_.ProcessId)`t$($_.CommandLine)" }',
541
+ ], { stdio: 'pipe', encoding: 'utf8', timeout: 10_000, windowsHide: true });
542
+ return res.stdout ?? '';
543
+ }
544
+ const res = (0, node_child_process_1.spawnSync)('ps', ['-eo', 'pid=,args='], {
545
+ stdio: 'pipe',
546
+ encoding: 'utf8',
547
+ timeout: 10_000,
548
+ });
549
+ return res.stdout ?? '';
550
+ })();
551
+ const pids = [];
552
+ for (const line of out.split(/\r?\n/)) {
553
+ const tab = line.indexOf('\t');
554
+ const pid = Number(tab >= 0 ? line.slice(0, tab) : line.slice(0, line.indexOf(' ')).trim());
555
+ if (!Number.isInteger(pid) || pid <= 0 || exclude.has(pid))
556
+ continue;
557
+ const info = pidInfo(pid);
558
+ if (!info?.cmdline)
559
+ continue;
560
+ if (info.name && !/^node(?:\.exe)?$/i.test(info.name))
561
+ continue;
562
+ const cmd = info.cmdline.toLowerCase();
563
+ // Reference THIS install directory when we know it, else fall back to the
564
+ // package/entry-point names.
565
+ const ours = marker
566
+ ? cmd.includes(marker)
567
+ : cmd.includes('teamshare-bridge') || cmd.includes('teamshare-agent');
568
+ if (ours)
569
+ pids.push(pid);
570
+ }
571
+ return [...new Set(pids)].sort((a, b) => a - b);
572
+ }
515
573
  /** Terminate one verified daemon pid: SIGTERM, then force on Windows. */
516
574
  function killDaemonPid(pid, timeoutMs = 5000) {
517
575
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"daemon-instance.js","sourceRoot":"","sources":["../../src/bridge/daemon-instance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daemon-instance.js","sourceRoot":"","sources":["../../src/bridge/daemon-instance.ts"],"names":[],"mappings":"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"}