teamshare-bridge 0.21.84 → 0.22.0

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 (96) hide show
  1. package/dist/bridge/daemon-inbox.js +46 -0
  2. package/dist/bridge/daemon-inbox.js.map +1 -1
  3. package/dist/bridge/daemon-instance.d.ts +77 -0
  4. package/dist/bridge/daemon-instance.js +319 -0
  5. package/dist/bridge/daemon-instance.js.map +1 -0
  6. package/dist/bridge/daemon-support.d.ts +15 -0
  7. package/dist/bridge/daemon-support.js +21 -32
  8. package/dist/bridge/daemon-support.js.map +1 -1
  9. package/dist/bridge/daemon.js +371 -112
  10. package/dist/bridge/daemon.js.map +1 -1
  11. package/dist/bridge/hidden-launch.js +5 -1
  12. package/dist/bridge/hidden-launch.js.map +1 -1
  13. package/dist/bridge/index.js +89 -6
  14. package/dist/bridge/index.js.map +1 -1
  15. package/dist/bridge/install-verify.d.ts +31 -0
  16. package/dist/bridge/install-verify.js +152 -0
  17. package/dist/bridge/install-verify.js.map +1 -0
  18. package/dist/bridge/local-server.d.ts +8 -0
  19. package/dist/bridge/local-server.js +18 -1
  20. package/dist/bridge/local-server.js.map +1 -1
  21. package/dist/bridge/service.d.ts +56 -4
  22. package/dist/bridge/service.js +270 -65
  23. package/dist/bridge/service.js.map +1 -1
  24. package/dist/bridge/spawn.d.ts +2 -0
  25. package/dist/bridge/spawn.js.map +1 -1
  26. package/dist/bridge/supervisor-restart.d.ts +30 -0
  27. package/dist/bridge/supervisor-restart.js +157 -0
  28. package/dist/bridge/supervisor-restart.js.map +1 -0
  29. package/dist/bridge/wake-ack-ledger.d.ts +46 -0
  30. package/dist/bridge/wake-ack-ledger.js +124 -0
  31. package/dist/bridge/wake-ack-ledger.js.map +1 -0
  32. package/dist/bridge/wake-handler.js +244 -98
  33. package/dist/bridge/wake-handler.js.map +1 -1
  34. package/dist/bridge/wake-lanes.d.ts +125 -0
  35. package/dist/bridge/wake-lanes.js +220 -0
  36. package/dist/bridge/wake-lanes.js.map +1 -0
  37. package/dist/bridge/wake-outbox.d.ts +69 -0
  38. package/dist/bridge/wake-outbox.js +243 -0
  39. package/dist/bridge/wake-outbox.js.map +1 -0
  40. package/dist/cli/commands/board.js +8 -3
  41. package/dist/cli/commands/board.js.map +1 -1
  42. package/dist/cli/commands/cleanup.js +22 -4
  43. package/dist/cli/commands/cleanup.js.map +1 -1
  44. package/dist/cli/commands/doc.js +11 -1
  45. package/dist/cli/commands/doc.js.map +1 -1
  46. package/dist/cli/commands/plan.js +13 -6
  47. package/dist/cli/commands/plan.js.map +1 -1
  48. package/dist/cli/commands/run.js +38 -3
  49. package/dist/cli/commands/run.js.map +1 -1
  50. package/dist/lib/api-tasks.d.ts +19 -0
  51. package/dist/lib/api-tasks.js +18 -0
  52. package/dist/lib/api-tasks.js.map +1 -1
  53. package/dist/lib/auto-run-state.d.ts +10 -2
  54. package/dist/lib/auto-run-state.js +43 -17
  55. package/dist/lib/auto-run-state.js.map +1 -1
  56. package/dist/lib/bridge-notice.d.ts +55 -0
  57. package/dist/lib/bridge-notice.js +124 -0
  58. package/dist/lib/bridge-notice.js.map +1 -0
  59. package/dist/lib/cache-cleaner.js +131 -41
  60. package/dist/lib/cache-cleaner.js.map +1 -1
  61. package/dist/lib/git/git-discovery.js +17 -3
  62. package/dist/lib/git/git-discovery.js.map +1 -1
  63. package/dist/lib/git/git-prepare.js +15 -2
  64. package/dist/lib/git/git-prepare.js.map +1 -1
  65. package/dist/lib/git/git-presence.d.ts +31 -3
  66. package/dist/lib/git/git-presence.js +260 -41
  67. package/dist/lib/git/git-presence.js.map +1 -1
  68. package/dist/lib/git/git-runner.d.ts +19 -0
  69. package/dist/lib/git/git-runner.js +48 -6
  70. package/dist/lib/git/git-runner.js.map +1 -1
  71. package/dist/lib/lock.d.ts +22 -0
  72. package/dist/lib/lock.js +41 -3
  73. package/dist/lib/lock.js.map +1 -1
  74. package/dist/lib/orchestrator/worktree.js +11 -1
  75. package/dist/lib/orchestrator/worktree.js.map +1 -1
  76. package/dist/lib/wake-claim.d.ts +44 -0
  77. package/dist/lib/wake-claim.js +237 -0
  78. package/dist/lib/wake-claim.js.map +1 -0
  79. package/dist/lib/wake-state.js +26 -1
  80. package/dist/lib/wake-state.js.map +1 -1
  81. package/dist/lib/workspace/mirror-lease.d.ts +72 -0
  82. package/dist/lib/workspace/mirror-lease.js +61 -6
  83. package/dist/lib/workspace/mirror-lease.js.map +1 -1
  84. package/dist/lib/workspace/mirror.d.ts +88 -0
  85. package/dist/lib/workspace/mirror.js +208 -14
  86. package/dist/lib/workspace/mirror.js.map +1 -1
  87. package/dist/lib/workspace/presence.d.ts +11 -2
  88. package/dist/lib/workspace/presence.js +52 -7
  89. package/dist/lib/workspace/presence.js.map +1 -1
  90. package/dist/lib/workspace/stop-notice.d.ts +28 -0
  91. package/dist/lib/workspace/stop-notice.js +135 -0
  92. package/dist/lib/workspace/stop-notice.js.map +1 -0
  93. package/dist/lib/workspace/stop-save.d.ts +20 -0
  94. package/dist/lib/workspace/stop-save.js +33 -2
  95. package/dist/lib/workspace/stop-save.js.map +1 -1
  96. package/package.json +1 -1
@@ -24,8 +24,8 @@ exports.inQuietHours = inQuietHours;
24
24
  const node_fs_1 = require("node:fs");
25
25
  const node_os_1 = require("node:os");
26
26
  const node_path_1 = require("node:path");
27
- const config_1 = require("../lib/config");
28
27
  const diagnostics_1 = require("../lib/diagnostics");
28
+ const daemon_instance_1 = require("./daemon-instance");
29
29
  /**
30
30
  * Spawn watchdog hook: runDaemon registers `scheduleSpawnWatch` here so the
31
31
  * wake handler can flag every real spawn for session-start verification
@@ -157,43 +157,32 @@ function nextAgentLoopSeq() {
157
157
  * Detects a healthy bridge daemon already listening on a candidate port.
158
158
  * Works regardless of who started it (autostart, `start`, detached scripts -
159
159
  * none of which reliably leave a pid file behind).
160
+ *
161
+ * Thin delegate to `daemon-instance`, which is the single owner of "is a
162
+ * daemon running". Kept as a named export because `doctor` and the boot guard
163
+ * read better with this name.
160
164
  */
161
165
  async function detectRunningDaemon() {
162
- for (const port of config_1.BRIDGE_CANDIDATE_PORTS) {
163
- try {
164
- const res = await fetch(`http://127.0.0.1:${port}/ping`, {
165
- signal: AbortSignal.timeout(800),
166
- });
167
- if (!res.ok)
168
- continue;
169
- const body = (await res.json());
170
- if (body?.ok === true)
171
- return { port, version: body.version ?? 'unknown' };
172
- }
173
- catch {
174
- /* nobody home on this candidate - try the next one */
175
- }
176
- }
177
- return null;
166
+ const found = await (0, daemon_instance_1.scanForBridge)();
167
+ return found ? { port: found.port, version: found.version } : null;
178
168
  }
179
169
  function writeDaemonPidFile() {
180
- try {
181
- (0, node_fs_1.writeFileSync)(DAEMON_PID_PATH, String(process.pid), 'utf8');
182
- }
183
- catch {
184
- /* best-effort */
185
- }
170
+ (0, daemon_instance_1.updateDaemonLock)(0, '');
186
171
  }
172
+ /**
173
+ * Release daemon ownership on exit.
174
+ *
175
+ * The old condition was `if (!current || current === process.pid) rmSync(...)`.
176
+ * `!current` is true for an EMPTY or unparseable file, so every short-lived
177
+ * daemon the watchdog spawned - which returns before it ever writes a pid and
178
+ * therefore can only ever REMOVE - could delete a live daemon's pid file on
179
+ * `process.on('exit')`. `runningPid()` cannot tell an empty file from a
180
+ * missing one (`Number('') === 0`), so the watchdog then read "not running"
181
+ * and started yet another daemon. Ownership is now positive evidence only.
182
+ */
187
183
  function clearDaemonPidFile() {
188
- try {
189
- const current = parseInt(readFileSyncSafe(), 10);
190
- // Only clear OUR pid file - never a newer daemon's.
191
- if (!current || current === process.pid)
192
- (0, node_fs_1.rmSync)(DAEMON_PID_PATH);
193
- }
194
- catch {
195
- /* best-effort */
196
- }
184
+ (0, daemon_instance_1.clearDaemonLock)();
185
+ (0, daemon_instance_1.clearOwnPidFile)();
197
186
  }
198
187
  function readFileSyncSafe() {
199
188
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"daemon-support.js","sourceRoot":"","sources":["../../src/bridge/daemon-support.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daemon-support.js","sourceRoot":"","sources":["../../src/bridge/daemon-support.ts"],"names":[],"mappings":"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"}