@openrig/cli 0.4.2 → 0.4.3

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 (264) hide show
  1. package/daemon/assets/plugins/openrig-core/hooks/scripts/activity-relay.cjs +42 -2
  2. package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +87 -0
  3. package/daemon/dist/adapters/codex-runtime-adapter.d.ts +46 -0
  4. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  5. package/daemon/dist/adapters/codex-runtime-adapter.js +167 -3
  6. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  7. package/daemon/dist/adapters/tmux.d.ts +31 -0
  8. package/daemon/dist/adapters/tmux.d.ts.map +1 -1
  9. package/daemon/dist/adapters/tmux.js +62 -0
  10. package/daemon/dist/adapters/tmux.js.map +1 -1
  11. package/daemon/dist/db/migrations/045_resume_verification.d.ts +29 -0
  12. package/daemon/dist/db/migrations/045_resume_verification.d.ts.map +1 -0
  13. package/daemon/dist/db/migrations/045_resume_verification.js +34 -0
  14. package/daemon/dist/db/migrations/045_resume_verification.js.map +1 -0
  15. package/daemon/dist/db/migrations/046_seat_identity_verdicts.d.ts +41 -0
  16. package/daemon/dist/db/migrations/046_seat_identity_verdicts.d.ts.map +1 -0
  17. package/daemon/dist/db/migrations/046_seat_identity_verdicts.js +56 -0
  18. package/daemon/dist/db/migrations/046_seat_identity_verdicts.js.map +1 -0
  19. package/daemon/dist/db/migrations/047_events_node_type_index.d.ts +48 -0
  20. package/daemon/dist/db/migrations/047_events_node_type_index.d.ts.map +1 -0
  21. package/daemon/dist/db/migrations/047_events_node_type_index.js +52 -0
  22. package/daemon/dist/db/migrations/047_events_node_type_index.js.map +1 -0
  23. package/daemon/dist/domain/activity-endpoint.d.ts +25 -0
  24. package/daemon/dist/domain/activity-endpoint.d.ts.map +1 -0
  25. package/daemon/dist/domain/activity-endpoint.js +91 -0
  26. package/daemon/dist/domain/activity-endpoint.js.map +1 -0
  27. package/daemon/dist/domain/claim-service.d.ts +36 -0
  28. package/daemon/dist/domain/claim-service.d.ts.map +1 -1
  29. package/daemon/dist/domain/claim-service.js +90 -0
  30. package/daemon/dist/domain/claim-service.js.map +1 -1
  31. package/daemon/dist/domain/claude-compaction-enforcer.d.ts +57 -0
  32. package/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
  33. package/daemon/dist/domain/claude-compaction-enforcer.js +149 -3
  34. package/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
  35. package/daemon/dist/domain/event-loop-monitor.d.ts +100 -0
  36. package/daemon/dist/domain/event-loop-monitor.d.ts.map +1 -0
  37. package/daemon/dist/domain/event-loop-monitor.js +127 -0
  38. package/daemon/dist/domain/event-loop-monitor.js.map +1 -0
  39. package/daemon/dist/domain/gate-predicate.d.ts +29 -0
  40. package/daemon/dist/domain/gate-predicate.d.ts.map +1 -0
  41. package/daemon/dist/domain/gate-predicate.js +73 -0
  42. package/daemon/dist/domain/gate-predicate.js.map +1 -0
  43. package/daemon/dist/domain/graph-projection.d.ts +7 -1
  44. package/daemon/dist/domain/graph-projection.d.ts.map +1 -1
  45. package/daemon/dist/domain/graph-projection.js +19 -1
  46. package/daemon/dist/domain/graph-projection.js.map +1 -1
  47. package/daemon/dist/domain/node-inventory.d.ts +7 -1
  48. package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
  49. package/daemon/dist/domain/node-inventory.js +84 -5
  50. package/daemon/dist/domain/node-inventory.js.map +1 -1
  51. package/daemon/dist/domain/periodic-snapshot-scheduler.d.ts +4 -0
  52. package/daemon/dist/domain/periodic-snapshot-scheduler.d.ts.map +1 -1
  53. package/daemon/dist/domain/periodic-snapshot-scheduler.js +11 -0
  54. package/daemon/dist/domain/periodic-snapshot-scheduler.js.map +1 -1
  55. package/daemon/dist/domain/policies/idle-gate-qitem.d.ts +14 -0
  56. package/daemon/dist/domain/policies/idle-gate-qitem.d.ts.map +1 -0
  57. package/daemon/dist/domain/policies/idle-gate-qitem.js +114 -0
  58. package/daemon/dist/domain/policies/idle-gate-qitem.js.map +1 -0
  59. package/daemon/dist/domain/restore-orchestrator.d.ts +8 -0
  60. package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
  61. package/daemon/dist/domain/restore-orchestrator.js +109 -27
  62. package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
  63. package/daemon/dist/domain/restore-plan-preview.d.ts +25 -1
  64. package/daemon/dist/domain/restore-plan-preview.d.ts.map +1 -1
  65. package/daemon/dist/domain/restore-plan-preview.js +72 -4
  66. package/daemon/dist/domain/restore-plan-preview.js.map +1 -1
  67. package/daemon/dist/domain/resume-metadata-refresher.d.ts +44 -2
  68. package/daemon/dist/domain/resume-metadata-refresher.d.ts.map +1 -1
  69. package/daemon/dist/domain/resume-metadata-refresher.js +92 -6
  70. package/daemon/dist/domain/resume-metadata-refresher.js.map +1 -1
  71. package/daemon/dist/domain/resume-token-capture.d.ts +50 -0
  72. package/daemon/dist/domain/resume-token-capture.d.ts.map +1 -0
  73. package/daemon/dist/domain/resume-token-capture.js +63 -0
  74. package/daemon/dist/domain/resume-token-capture.js.map +1 -0
  75. package/daemon/dist/domain/rig-status-compose.d.ts +62 -0
  76. package/daemon/dist/domain/rig-status-compose.d.ts.map +1 -0
  77. package/daemon/dist/domain/rig-status-compose.js +149 -0
  78. package/daemon/dist/domain/rig-status-compose.js.map +1 -0
  79. package/daemon/dist/domain/rig-teardown.d.ts +3 -1
  80. package/daemon/dist/domain/rig-teardown.d.ts.map +1 -1
  81. package/daemon/dist/domain/rig-teardown.js +4 -19
  82. package/daemon/dist/domain/rig-teardown.js.map +1 -1
  83. package/daemon/dist/domain/route-timing-recorder.d.ts +42 -0
  84. package/daemon/dist/domain/route-timing-recorder.d.ts.map +1 -0
  85. package/daemon/dist/domain/route-timing-recorder.js +62 -0
  86. package/daemon/dist/domain/route-timing-recorder.js.map +1 -0
  87. package/daemon/dist/domain/scope/scope-audit.d.ts +3 -1
  88. package/daemon/dist/domain/scope/scope-audit.d.ts.map +1 -1
  89. package/daemon/dist/domain/scope/scope-audit.js +30 -1
  90. package/daemon/dist/domain/scope/scope-audit.js.map +1 -1
  91. package/daemon/dist/domain/seat-handover-service.d.ts +50 -7
  92. package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
  93. package/daemon/dist/domain/seat-handover-service.js +273 -33
  94. package/daemon/dist/domain/seat-handover-service.js.map +1 -1
  95. package/daemon/dist/domain/seat-identity-reconciler.d.ts +59 -0
  96. package/daemon/dist/domain/seat-identity-reconciler.d.ts.map +1 -0
  97. package/daemon/dist/domain/seat-identity-reconciler.js +207 -0
  98. package/daemon/dist/domain/seat-identity-reconciler.js.map +1 -0
  99. package/daemon/dist/domain/seat-identity-store.d.ts +27 -0
  100. package/daemon/dist/domain/seat-identity-store.d.ts.map +1 -0
  101. package/daemon/dist/domain/seat-identity-store.js +106 -0
  102. package/daemon/dist/domain/seat-identity-store.js.map +1 -0
  103. package/daemon/dist/domain/seat-switch-client-service.d.ts +57 -0
  104. package/daemon/dist/domain/seat-switch-client-service.d.ts.map +1 -0
  105. package/daemon/dist/domain/seat-switch-client-service.js +168 -0
  106. package/daemon/dist/domain/seat-switch-client-service.js.map +1 -0
  107. package/daemon/dist/domain/self-attach-service.d.ts +8 -0
  108. package/daemon/dist/domain/self-attach-service.d.ts.map +1 -1
  109. package/daemon/dist/domain/self-attach-service.js +20 -7
  110. package/daemon/dist/domain/self-attach-service.js.map +1 -1
  111. package/daemon/dist/domain/session-registry.d.ts +35 -4
  112. package/daemon/dist/domain/session-registry.d.ts.map +1 -1
  113. package/daemon/dist/domain/session-registry.js +89 -10
  114. package/daemon/dist/domain/session-registry.js.map +1 -1
  115. package/daemon/dist/domain/session-transport.d.ts +8 -1
  116. package/daemon/dist/domain/session-transport.d.ts.map +1 -1
  117. package/daemon/dist/domain/session-transport.js +143 -37
  118. package/daemon/dist/domain/session-transport.js.map +1 -1
  119. package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
  120. package/daemon/dist/domain/startup-orchestrator.js +34 -2
  121. package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
  122. package/daemon/dist/domain/startup-proof.d.ts +63 -0
  123. package/daemon/dist/domain/startup-proof.d.ts.map +1 -0
  124. package/daemon/dist/domain/startup-proof.js +165 -0
  125. package/daemon/dist/domain/startup-proof.js.map +1 -0
  126. package/daemon/dist/domain/successor-session-launcher.d.ts +103 -0
  127. package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -0
  128. package/daemon/dist/domain/successor-session-launcher.js +246 -0
  129. package/daemon/dist/domain/successor-session-launcher.js.map +1 -0
  130. package/daemon/dist/domain/types.d.ts +81 -0
  131. package/daemon/dist/domain/types.d.ts.map +1 -1
  132. package/daemon/dist/domain/types.js +8 -0
  133. package/daemon/dist/domain/types.js.map +1 -1
  134. package/daemon/dist/domain/watchdog-jobs-repository.d.ts +2 -2
  135. package/daemon/dist/domain/watchdog-jobs-repository.d.ts.map +1 -1
  136. package/daemon/dist/domain/watchdog-jobs-repository.js +4 -0
  137. package/daemon/dist/domain/watchdog-jobs-repository.js.map +1 -1
  138. package/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
  139. package/daemon/dist/domain/watchdog-policy-engine.js +19 -0
  140. package/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
  141. package/daemon/dist/index.d.ts.map +1 -1
  142. package/daemon/dist/index.js +18 -1
  143. package/daemon/dist/index.js.map +1 -1
  144. package/daemon/dist/routes/activity.d.ts.map +1 -1
  145. package/daemon/dist/routes/activity.js +26 -0
  146. package/daemon/dist/routes/activity.js.map +1 -1
  147. package/daemon/dist/routes/agent-images.d.ts.map +1 -1
  148. package/daemon/dist/routes/agent-images.js +139 -0
  149. package/daemon/dist/routes/agent-images.js.map +1 -1
  150. package/daemon/dist/routes/compaction.d.ts +17 -0
  151. package/daemon/dist/routes/compaction.d.ts.map +1 -0
  152. package/daemon/dist/routes/compaction.js +125 -0
  153. package/daemon/dist/routes/compaction.js.map +1 -0
  154. package/daemon/dist/routes/restore-check.d.ts +10 -0
  155. package/daemon/dist/routes/restore-check.d.ts.map +1 -1
  156. package/daemon/dist/routes/restore-check.js +46 -37
  157. package/daemon/dist/routes/restore-check.js.map +1 -1
  158. package/daemon/dist/routes/rigs.d.ts.map +1 -1
  159. package/daemon/dist/routes/rigs.js +70 -1
  160. package/daemon/dist/routes/rigs.js.map +1 -1
  161. package/daemon/dist/routes/seat.d.ts.map +1 -1
  162. package/daemon/dist/routes/seat.js +53 -2
  163. package/daemon/dist/routes/seat.js.map +1 -1
  164. package/daemon/dist/routes/sessions.d.ts.map +1 -1
  165. package/daemon/dist/routes/sessions.js +44 -9
  166. package/daemon/dist/routes/sessions.js.map +1 -1
  167. package/daemon/dist/routes/snapshots.d.ts.map +1 -1
  168. package/daemon/dist/routes/snapshots.js +16 -1
  169. package/daemon/dist/routes/snapshots.js.map +1 -1
  170. package/daemon/dist/routes/transport.d.ts.map +1 -1
  171. package/daemon/dist/routes/transport.js +12 -5
  172. package/daemon/dist/routes/transport.js.map +1 -1
  173. package/daemon/dist/server.d.ts +32 -0
  174. package/daemon/dist/server.d.ts.map +1 -1
  175. package/daemon/dist/server.js +28 -1
  176. package/daemon/dist/server.js.map +1 -1
  177. package/daemon/dist/startup.d.ts +1 -0
  178. package/daemon/dist/startup.d.ts.map +1 -1
  179. package/daemon/dist/startup.js +91 -18
  180. package/daemon/dist/startup.js.map +1 -1
  181. package/daemon/specs/agents/shared/skills/pods/orchestration-team/SKILL.md +1 -1
  182. package/dist/commands/compact.d.ts +15 -0
  183. package/dist/commands/compact.d.ts.map +1 -0
  184. package/dist/commands/compact.js +62 -0
  185. package/dist/commands/compact.js.map +1 -0
  186. package/dist/commands/daemon.d.ts.map +1 -1
  187. package/dist/commands/daemon.js +18 -2
  188. package/dist/commands/daemon.js.map +1 -1
  189. package/dist/commands/fork.d.ts +4 -0
  190. package/dist/commands/fork.d.ts.map +1 -0
  191. package/dist/commands/fork.js +101 -0
  192. package/dist/commands/fork.js.map +1 -0
  193. package/dist/commands/launch.d.ts.map +1 -1
  194. package/dist/commands/launch.js +34 -4
  195. package/dist/commands/launch.js.map +1 -1
  196. package/dist/commands/ps.d.ts.map +1 -1
  197. package/dist/commands/ps.js +14 -4
  198. package/dist/commands/ps.js.map +1 -1
  199. package/dist/commands/queue.d.ts +6 -0
  200. package/dist/commands/queue.d.ts.map +1 -1
  201. package/dist/commands/queue.js +78 -4
  202. package/dist/commands/queue.js.map +1 -1
  203. package/dist/commands/reconcile-session.d.ts.map +1 -1
  204. package/dist/commands/reconcile-session.js +2 -2
  205. package/dist/commands/reconcile-session.js.map +1 -1
  206. package/dist/commands/restore-check.d.ts.map +1 -1
  207. package/dist/commands/restore-check.js +93 -0
  208. package/dist/commands/restore-check.js.map +1 -1
  209. package/dist/commands/scope.d.ts.map +1 -1
  210. package/dist/commands/scope.js +51 -1
  211. package/dist/commands/scope.js.map +1 -1
  212. package/dist/commands/seat.d.ts +17 -0
  213. package/dist/commands/seat.d.ts.map +1 -1
  214. package/dist/commands/seat.js +145 -32
  215. package/dist/commands/seat.js.map +1 -1
  216. package/dist/commands/send.d.ts.map +1 -1
  217. package/dist/commands/send.js +151 -10
  218. package/dist/commands/send.js.map +1 -1
  219. package/dist/commands/start.d.ts +5 -0
  220. package/dist/commands/start.d.ts.map +1 -1
  221. package/dist/commands/start.js.map +1 -1
  222. package/dist/commands/startup-proof.d.ts +24 -0
  223. package/dist/commands/startup-proof.d.ts.map +1 -0
  224. package/dist/commands/startup-proof.js +100 -0
  225. package/dist/commands/startup-proof.js.map +1 -0
  226. package/dist/commands/unclaim.js +2 -2
  227. package/dist/commands/unclaim.js.map +1 -1
  228. package/dist/commands/up.d.ts.map +1 -1
  229. package/dist/commands/up.js +10 -0
  230. package/dist/commands/up.js.map +1 -1
  231. package/dist/commands/watchdog.js +2 -2
  232. package/dist/commands/watchdog.js.map +1 -1
  233. package/dist/daemon-lifecycle.d.ts +23 -0
  234. package/dist/daemon-lifecycle.d.ts.map +1 -1
  235. package/dist/daemon-lifecycle.js +50 -5
  236. package/dist/daemon-lifecycle.js.map +1 -1
  237. package/dist/index.d.ts +5 -0
  238. package/dist/index.d.ts.map +1 -1
  239. package/dist/index.js +8 -1
  240. package/dist/index.js.map +1 -1
  241. package/dist/lib/codex-auth.d.ts +24 -0
  242. package/dist/lib/codex-auth.d.ts.map +1 -1
  243. package/dist/lib/codex-auth.js +89 -17
  244. package/dist/lib/codex-auth.js.map +1 -1
  245. package/dist/lib/scope/scope-audit.d.ts +3 -1
  246. package/dist/lib/scope/scope-audit.d.ts.map +1 -1
  247. package/dist/lib/scope/scope-audit.js +30 -1
  248. package/dist/lib/scope/scope-audit.js.map +1 -1
  249. package/dist/lib/scope-templates/mission-placeholder.md +41 -0
  250. package/dist/lib/scope-templates/mission-progress.md +2 -0
  251. package/dist/lib/scope-templates/mission-release.md +41 -0
  252. package/dist/lib/scope-templates/placeholder.md +4 -0
  253. package/dist/lib/scope-templates/proof.md +2 -0
  254. package/dist/lib/scope-templates/slice-progress.md +2 -0
  255. package/dist/openrig-compat.d.ts +19 -0
  256. package/dist/openrig-compat.d.ts.map +1 -1
  257. package/dist/openrig-compat.js +31 -1
  258. package/dist/openrig-compat.js.map +1 -1
  259. package/package.json +1 -1
  260. package/ui/dist/assets/index-DYZniQcc.js +597 -0
  261. package/ui/dist/assets/index-trcb4Yf_.css +32 -0
  262. package/ui/dist/index.html +23 -2
  263. package/ui/dist/assets/index-CnqRX7A3.css +0 -32
  264. package/ui/dist/assets/index-CtL9jXFt.js +0 -582
@@ -1 +1 @@
1
- {"version":3,"file":"tmux.d.ts","sourceRoot":"","sources":["../../src/adapters/tmux.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tmux.d.ts","sourceRoot":"","sources":["../../src/adapters/tmux.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ const LARGE_PAYLOAD_THRESHOLD_BYTES = 100 * 1024;
22
22
  const SESSION_FORMAT = "#{session_name}\t#{session_windows}\t#{session_created}\t#{session_attached}";
23
23
  const WINDOW_FORMAT = "#{window_index}\t#{window_name}\t#{window_panes}\t#{window_active}";
24
24
  const PANE_FORMAT = "#{pane_id}\t#{pane_index}\t#{pane_current_path}\t#{pane_width}\t#{pane_height}\t#{pane_active}";
25
+ const CLIENT_FORMAT = "#{client_name}\t#{client_session}";
25
26
  function isNoServerError(err) {
26
27
  return err instanceof Error && err.message.includes("no server running");
27
28
  }
@@ -88,6 +89,18 @@ function parseSessionLine(line) {
88
89
  attached: parts[3] === "1",
89
90
  };
90
91
  }
92
+ function parseClientLine(line) {
93
+ const parts = line.split("\t");
94
+ if (parts.length < 2)
95
+ return null;
96
+ const name = parts[0];
97
+ if (name === "")
98
+ return null;
99
+ return {
100
+ name,
101
+ session: parts[1],
102
+ };
103
+ }
91
104
  function parseWindowLine(line) {
92
105
  const parts = line.split("\t");
93
106
  if (parts.length < 4)
@@ -331,6 +344,20 @@ export class TmuxAdapter {
331
344
  return null;
332
345
  }
333
346
  }
347
+ /** OPR.0.4.3.28 Part C — presence-only check for a session-env variable.
348
+ * Returns whether the var is SET, NEVER its value (the producer-link
349
+ * diagnostic must never surface a token value). `tmux show-environment`
350
+ * prints `VAR=value` when set and `-VAR` when explicitly unset. */
351
+ async hasSessionEnv(sessionName, varName) {
352
+ try {
353
+ const output = await this.exec(`tmux show-environment -t ${shellQuote(sessionName)} ${shellQuote(varName)}`);
354
+ const line = output.trim();
355
+ return line.length > 0 && !line.startsWith("-") && line.includes("=");
356
+ }
357
+ catch {
358
+ return false;
359
+ }
360
+ }
334
361
  /** Start pipe-pane to capture terminal output to a file. */
335
362
  async startPipePane(sessionName, outputPath) {
336
363
  // Shell-quote the path for safe injection into the pipe-pane command.
@@ -462,5 +489,40 @@ export class TmuxAdapter {
462
489
  return null;
463
490
  }
464
491
  }
492
+ /**
493
+ * OPR.0.4.3.26 — list the tmux clients (human terminals / CMUX tiles) attached
494
+ * to the server. VIEW-ONLY probe: it never mutates routing, bindings, or
495
+ * sessions. Mirrors the read/parse/error-swallow shape of `listSessions`:
496
+ * a "no server running" / socket-absent server yields `[]` (no attachable
497
+ * client) so the caller emits an honest "attach first" error rather than
498
+ * crashing. Unexpected failures (permission, etc.) rethrow.
499
+ */
500
+ async listClients() {
501
+ try {
502
+ const output = await this.exec(`tmux list-clients -F "${CLIENT_FORMAT}"`);
503
+ return parseLines(output, parseClientLine);
504
+ }
505
+ catch (err) {
506
+ if (isNoServerError(err) || isTmuxTransportAbsentError(err))
507
+ return [];
508
+ throw err;
509
+ }
510
+ }
511
+ /**
512
+ * OPR.0.4.3.26 — retarget an already-attached client's VIEW to `target`
513
+ * (`<session>` or `<session>:<window>`). This is the whole point of the
514
+ * seat-recovery slice: it changes only what a client SEES; it never creates,
515
+ * kills, or rebinds a session and never touches OpenRig routing/identity.
516
+ */
517
+ async switchClient(client, target) {
518
+ const cmd = `tmux switch-client -c ${shellQuote(client)} -t ${shellQuote(target)}`;
519
+ try {
520
+ await this.exec(cmd);
521
+ return { ok: true };
522
+ }
523
+ catch (err) {
524
+ return classifyWriteError(err);
525
+ }
526
+ }
465
527
  }
466
528
  //# sourceMappingURL=tmux.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tmux.js","sourceRoot":"","sources":["../../src/adapters/tmux.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tmux.js","sourceRoot":"","sources":["../../src/adapters/tmux.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { Migration } from "../migrate.js";
2
+ /**
3
+ * OPR.0.4.3.20 FR-6 — resume-token verification freshness columns.
4
+ *
5
+ * Adds two additive, NULLABLE columns to `sessions` so the restore plan can
6
+ * surface per-seat token FRESHNESS (present / missing / stale / unverified):
7
+ *
8
+ * - `resume_last_verified` (TEXT, nullable) — the last time the token was
9
+ * confirmed current (stamped whenever it is written/re-derived from live
10
+ * state, or a live resume probe returns `resumable`). NULL = never verified.
11
+ * - `resume_last_probe_status` (TEXT, nullable) — the last resume-probe outcome:
12
+ * `resumable | not_resumable | inconclusive`. NULL = never probed.
13
+ *
14
+ * Together these make a PRESENT-but-stale token representable (a present token
15
+ * whose probe returned `not_resumable`, or whose last-verified age is past the
16
+ * freshness threshold) — the survival-critical case FR-6 surfaces as
17
+ * `stale/unverified — re-verify` instead of a silent restore failure. A lone
18
+ * last-verified column could not distinguish "never probed" from "probe failed".
19
+ *
20
+ * NULLABLE + degrading by contract: all pre-45 rows (and every old snapshot's
21
+ * serialized sessions) read NULL and render as `unverified` — never a crash,
22
+ * never a false `present`. Do NOT make these NOT NULL or backfill a default.
23
+ *
24
+ * Base table: 002_bindings_sessions.ts (sessions); resume columns from
25
+ * 006_resume_metadata.ts + 043_resume_provenance.ts. Next free number after
26
+ * 044_queue_item_summary.ts.
27
+ */
28
+ export declare const resumeVerificationSchema: Migration;
29
+ //# sourceMappingURL=045_resume_verification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"045_resume_verification.d.ts","sourceRoot":"","sources":["../../../src/db/migrations/045_resume_verification.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAMtC,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * OPR.0.4.3.20 FR-6 — resume-token verification freshness columns.
3
+ *
4
+ * Adds two additive, NULLABLE columns to `sessions` so the restore plan can
5
+ * surface per-seat token FRESHNESS (present / missing / stale / unverified):
6
+ *
7
+ * - `resume_last_verified` (TEXT, nullable) — the last time the token was
8
+ * confirmed current (stamped whenever it is written/re-derived from live
9
+ * state, or a live resume probe returns `resumable`). NULL = never verified.
10
+ * - `resume_last_probe_status` (TEXT, nullable) — the last resume-probe outcome:
11
+ * `resumable | not_resumable | inconclusive`. NULL = never probed.
12
+ *
13
+ * Together these make a PRESENT-but-stale token representable (a present token
14
+ * whose probe returned `not_resumable`, or whose last-verified age is past the
15
+ * freshness threshold) — the survival-critical case FR-6 surfaces as
16
+ * `stale/unverified — re-verify` instead of a silent restore failure. A lone
17
+ * last-verified column could not distinguish "never probed" from "probe failed".
18
+ *
19
+ * NULLABLE + degrading by contract: all pre-45 rows (and every old snapshot's
20
+ * serialized sessions) read NULL and render as `unverified` — never a crash,
21
+ * never a false `present`. Do NOT make these NOT NULL or backfill a default.
22
+ *
23
+ * Base table: 002_bindings_sessions.ts (sessions); resume columns from
24
+ * 006_resume_metadata.ts + 043_resume_provenance.ts. Next free number after
25
+ * 044_queue_item_summary.ts.
26
+ */
27
+ export const resumeVerificationSchema = {
28
+ name: "045_resume_verification.sql",
29
+ sql: `
30
+ ALTER TABLE sessions ADD COLUMN resume_last_verified TEXT;
31
+ ALTER TABLE sessions ADD COLUMN resume_last_probe_status TEXT;
32
+ `,
33
+ };
34
+ //# sourceMappingURL=045_resume_verification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"045_resume_verification.js","sourceRoot":"","sources":["../../../src/db/migrations/045_resume_verification.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAc;IACjD,IAAI,EAAE,6BAA6B;IACnC,GAAG,EAAE;;;GAGJ;CACF,CAAC"}
@@ -0,0 +1,41 @@
1
+ import type { Migration } from "../migrate.js";
2
+ /**
3
+ * OPR.0.4.3.19 — seat liveness PID/identity verdicts (no false-running).
4
+ *
5
+ * A durable, per-node identity verdict reconciling the current tmux pane's
6
+ * PID/command with the registered managed seat. This is the persisted backing
7
+ * store for the THIRD liveness axis (orthogonal to slice-15's `terminalActive`
8
+ * and `hasAssignedWork`): does the process in the seat's registered pane still
9
+ * match the seat we are reporting `running`/`active`?
10
+ *
11
+ * The verdict is written by the periodic SeatIdentityReconciler (mirrors the
12
+ * SeatActivityService poll cadence) and read cheaply at projection time by
13
+ * node-inventory. Persisting the verdict (rather than computing it read-time,
14
+ * or holding it only in transient in-memory state) keeps `getNodeInventory`
15
+ * synchronous + cheap and makes the durable liveness truth explicit, per the
16
+ * dev-guard plan-review caveat.
17
+ *
18
+ * Columns:
19
+ * - `node_id` (PK) — the managed node; stable across session churn.
20
+ * - `verdict` — verified | mismatch | pane_missing | tmux_unavailable.
21
+ * Only `mismatch` and `pane_missing` down-rank a `running` projection;
22
+ * `verified` and `tmux_unavailable` (a transient/unknown observation) leave
23
+ * the projection unchanged, and an ABSENT row (never polled) also leaves it
24
+ * unchanged (fail-open on unknown — never flip a live fleet non-green on a
25
+ * missing observation).
26
+ * - `evidence_source` — pane_process | tmux_session (which axis produced it).
27
+ * - `reason` — process_identity_mismatch | pane_pid_gone | session_missing |
28
+ * tmux_unavailable. Mirrors the AgentActivity evidence vocabulary so
29
+ * consumers stay uniform.
30
+ * - `registered_pane` / `observed_pid` / `observed_command` / `matched_layer`
31
+ * — the evidence payload (cf. FingerprintEvidence).
32
+ * - `session_name` — the session the verdict was computed against.
33
+ * - `observed_at` — ISO timestamp of the observation.
34
+ *
35
+ * No FK to `nodes`: stale rows for a deleted node are harmless (node-inventory
36
+ * only reads verdicts for nodes it is already projecting) and the reconciler
37
+ * prunes rows for no-longer-running nodes each poll. Next free number after
38
+ * 045_resume_verification.ts.
39
+ */
40
+ export declare const seatIdentityVerdictsSchema: Migration;
41
+ //# sourceMappingURL=046_seat_identity_verdicts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"046_seat_identity_verdicts.d.ts","sourceRoot":"","sources":["../../../src/db/migrations/046_seat_identity_verdicts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,eAAO,MAAM,0BAA0B,EAAE,SAgBxC,CAAC"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * OPR.0.4.3.19 — seat liveness PID/identity verdicts (no false-running).
3
+ *
4
+ * A durable, per-node identity verdict reconciling the current tmux pane's
5
+ * PID/command with the registered managed seat. This is the persisted backing
6
+ * store for the THIRD liveness axis (orthogonal to slice-15's `terminalActive`
7
+ * and `hasAssignedWork`): does the process in the seat's registered pane still
8
+ * match the seat we are reporting `running`/`active`?
9
+ *
10
+ * The verdict is written by the periodic SeatIdentityReconciler (mirrors the
11
+ * SeatActivityService poll cadence) and read cheaply at projection time by
12
+ * node-inventory. Persisting the verdict (rather than computing it read-time,
13
+ * or holding it only in transient in-memory state) keeps `getNodeInventory`
14
+ * synchronous + cheap and makes the durable liveness truth explicit, per the
15
+ * dev-guard plan-review caveat.
16
+ *
17
+ * Columns:
18
+ * - `node_id` (PK) — the managed node; stable across session churn.
19
+ * - `verdict` — verified | mismatch | pane_missing | tmux_unavailable.
20
+ * Only `mismatch` and `pane_missing` down-rank a `running` projection;
21
+ * `verified` and `tmux_unavailable` (a transient/unknown observation) leave
22
+ * the projection unchanged, and an ABSENT row (never polled) also leaves it
23
+ * unchanged (fail-open on unknown — never flip a live fleet non-green on a
24
+ * missing observation).
25
+ * - `evidence_source` — pane_process | tmux_session (which axis produced it).
26
+ * - `reason` — process_identity_mismatch | pane_pid_gone | session_missing |
27
+ * tmux_unavailable. Mirrors the AgentActivity evidence vocabulary so
28
+ * consumers stay uniform.
29
+ * - `registered_pane` / `observed_pid` / `observed_command` / `matched_layer`
30
+ * — the evidence payload (cf. FingerprintEvidence).
31
+ * - `session_name` — the session the verdict was computed against.
32
+ * - `observed_at` — ISO timestamp of the observation.
33
+ *
34
+ * No FK to `nodes`: stale rows for a deleted node are harmless (node-inventory
35
+ * only reads verdicts for nodes it is already projecting) and the reconciler
36
+ * prunes rows for no-longer-running nodes each poll. Next free number after
37
+ * 045_resume_verification.ts.
38
+ */
39
+ export const seatIdentityVerdictsSchema = {
40
+ name: "046_seat_identity_verdicts.sql",
41
+ sql: `
42
+ CREATE TABLE IF NOT EXISTS seat_identity_verdicts (
43
+ node_id TEXT PRIMARY KEY,
44
+ verdict TEXT NOT NULL,
45
+ evidence_source TEXT,
46
+ reason TEXT,
47
+ registered_pane TEXT,
48
+ observed_pid INTEGER,
49
+ observed_command TEXT,
50
+ matched_layer INTEGER,
51
+ session_name TEXT,
52
+ observed_at TEXT NOT NULL
53
+ );
54
+ `,
55
+ };
56
+ //# sourceMappingURL=046_seat_identity_verdicts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"046_seat_identity_verdicts.js","sourceRoot":"","sources":["../../../src/db/migrations/046_seat_identity_verdicts.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAc;IACnD,IAAI,EAAE,gCAAgC;IACtC,GAAG,EAAE;;;;;;;;;;;;;GAaJ;CACF,CAAC"}
@@ -0,0 +1,48 @@
1
+ import type { Migration } from "../migrate.js";
2
+ /**
3
+ * OPR.0.4.3 hotfix — events per-node/per-rig+type indexes (daemon /healthz-wedge cure).
4
+ *
5
+ * ROOT CAUSE (root-caused from a live CPU sample of the wedged daemon, 98-100%
6
+ * CPU): `GET /api/ps` (polled every 3s by the UI) runs a two-level nested map
7
+ * (ps-projection over rigs -> getNodeInventory -> node-inventory over nodes)
8
+ * whose per-node derivations reverse-scan the append-only `events` table with
9
+ * NO supporting index. The only pre-existing index is
10
+ * `idx_events_rig_seq(rig_id, seq)` — nothing leads with `node_id`, and no
11
+ * index makes the `type` filter selective. So:
12
+ * - `deriveOriented` (startup-proof.ts): `WHERE node_id=? AND type IN (...)
13
+ * ORDER BY seq DESC` had NO usable index -> a full backward PK-btree walk
14
+ * of the WHOLE events log, per node, every 3s (the btreePrevious/pread
15
+ * signature in the sample). This is the primary wedge.
16
+ * - `deriveRestoreOutcome` (node-inventory.ts): `WHERE rig_id=? AND type IN
17
+ * ('restore.*') ORDER BY seq DESC` rode `idx_events_rig_seq` but, with
18
+ * `type` unindexed, walked ALL of the rig's events (incl. high-volume
19
+ * `agent.activity`) in reverse to find the latest restore event.
20
+ * - `getLatestForNode` (agent-activity-store.ts) + `deriveHeldReason`'s
21
+ * `node.held` lookup are the same `node_id`-filtered reverse pattern.
22
+ * The `events` table is append-only with zero prune (survives rig/node
23
+ * deletion for audit), so it grows forever and each scan lengthens until the
24
+ * single-threaded better-sqlite3 loop starves `/healthz`.
25
+ *
26
+ * FIX (additive, index-only — no data change): the covering index that turns
27
+ * the primary wedge's reverse walk into a bounded index seek over only the
28
+ * relevant (node_id, type) partition instead of the whole log.
29
+ * - idx_events_node_type_seq (node_id, type, seq) — serves the PRIMARY wedge
30
+ * `deriveOriented` (node_id + type filtered, ORDER BY seq DESC — previously
31
+ * UNINDEXED → the full-table reverse scan in the CPU sample), plus
32
+ * `getLatestForNode` and `deriveHeldReason`'s node.held lookup (same
33
+ * node_id + type reverse pattern).
34
+ * `deriveRestoreOutcome` (rig_id + type filtered) is NOT addressed here: it
35
+ * already rides the existing `idx_events_rig_seq(rig_id, seq)` (the SQLite
36
+ * planner prefers it because it satisfies ORDER BY seq DESC with no sort; a
37
+ * (rig_id, type, seq) index would go UNUSED — verified via EXPLAIN QUERY PLAN),
38
+ * so it is rig-bounded (not the full-table wedge) — a second-order cost the
39
+ * per-node N+1 collapse (a single per-rig windowed query) addresses as the
40
+ * separate, gated follow-on. An agent.activity retention/prune is the other
41
+ * gated follow-on. Neither is in this hotfix.
42
+ * CREATE INDEX IF NOT EXISTS is idempotent + safe to apply to a live/populated
43
+ * events table (SQLite builds the index in one pass; no schema/data rewrite).
44
+ *
45
+ * Next free number after 046_seat_identity_verdicts.ts.
46
+ */
47
+ export declare const eventsNodeTypeIndexSchema: Migration;
48
+ //# sourceMappingURL=047_events_node_type_index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"047_events_node_type_index.d.ts","sourceRoot":"","sources":["../../../src/db/migrations/047_events_node_type_index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAKvC,CAAC"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * OPR.0.4.3 hotfix — events per-node/per-rig+type indexes (daemon /healthz-wedge cure).
3
+ *
4
+ * ROOT CAUSE (root-caused from a live CPU sample of the wedged daemon, 98-100%
5
+ * CPU): `GET /api/ps` (polled every 3s by the UI) runs a two-level nested map
6
+ * (ps-projection over rigs -> getNodeInventory -> node-inventory over nodes)
7
+ * whose per-node derivations reverse-scan the append-only `events` table with
8
+ * NO supporting index. The only pre-existing index is
9
+ * `idx_events_rig_seq(rig_id, seq)` — nothing leads with `node_id`, and no
10
+ * index makes the `type` filter selective. So:
11
+ * - `deriveOriented` (startup-proof.ts): `WHERE node_id=? AND type IN (...)
12
+ * ORDER BY seq DESC` had NO usable index -> a full backward PK-btree walk
13
+ * of the WHOLE events log, per node, every 3s (the btreePrevious/pread
14
+ * signature in the sample). This is the primary wedge.
15
+ * - `deriveRestoreOutcome` (node-inventory.ts): `WHERE rig_id=? AND type IN
16
+ * ('restore.*') ORDER BY seq DESC` rode `idx_events_rig_seq` but, with
17
+ * `type` unindexed, walked ALL of the rig's events (incl. high-volume
18
+ * `agent.activity`) in reverse to find the latest restore event.
19
+ * - `getLatestForNode` (agent-activity-store.ts) + `deriveHeldReason`'s
20
+ * `node.held` lookup are the same `node_id`-filtered reverse pattern.
21
+ * The `events` table is append-only with zero prune (survives rig/node
22
+ * deletion for audit), so it grows forever and each scan lengthens until the
23
+ * single-threaded better-sqlite3 loop starves `/healthz`.
24
+ *
25
+ * FIX (additive, index-only — no data change): the covering index that turns
26
+ * the primary wedge's reverse walk into a bounded index seek over only the
27
+ * relevant (node_id, type) partition instead of the whole log.
28
+ * - idx_events_node_type_seq (node_id, type, seq) — serves the PRIMARY wedge
29
+ * `deriveOriented` (node_id + type filtered, ORDER BY seq DESC — previously
30
+ * UNINDEXED → the full-table reverse scan in the CPU sample), plus
31
+ * `getLatestForNode` and `deriveHeldReason`'s node.held lookup (same
32
+ * node_id + type reverse pattern).
33
+ * `deriveRestoreOutcome` (rig_id + type filtered) is NOT addressed here: it
34
+ * already rides the existing `idx_events_rig_seq(rig_id, seq)` (the SQLite
35
+ * planner prefers it because it satisfies ORDER BY seq DESC with no sort; a
36
+ * (rig_id, type, seq) index would go UNUSED — verified via EXPLAIN QUERY PLAN),
37
+ * so it is rig-bounded (not the full-table wedge) — a second-order cost the
38
+ * per-node N+1 collapse (a single per-rig windowed query) addresses as the
39
+ * separate, gated follow-on. An agent.activity retention/prune is the other
40
+ * gated follow-on. Neither is in this hotfix.
41
+ * CREATE INDEX IF NOT EXISTS is idempotent + safe to apply to a live/populated
42
+ * events table (SQLite builds the index in one pass; no schema/data rewrite).
43
+ *
44
+ * Next free number after 046_seat_identity_verdicts.ts.
45
+ */
46
+ export const eventsNodeTypeIndexSchema = {
47
+ name: "047_events_node_type_index.sql",
48
+ sql: `
49
+ CREATE INDEX IF NOT EXISTS idx_events_node_type_seq ON events(node_id, type, seq);
50
+ `,
51
+ };
52
+ //# sourceMappingURL=047_events_node_type_index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"047_events_node_type_index.js","sourceRoot":"","sources":["../../../src/db/migrations/047_events_node_type_index.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAc;IAClD,IAAI,EAAE,gCAAgC;IACtC,GAAG,EAAE;;GAEJ;CACF,CAAC"}
@@ -0,0 +1,25 @@
1
+ /** OPR.0.4.3.28 B2 — derive the activity ingest URL the daemon injects into seats
2
+ * from its OWN bound host+port, so the seat's relay posts to an address the
3
+ * daemon is actually listening on. When OPENRIG_HOST is an explicit host
4
+ * (loopback, localhost, a tailnet IP, a hostname) the daemon binds ONLY that
5
+ * host, so the URL MUST use it — a hardcoded 127.0.0.1 would be unreachable.
6
+ * Wildcard/bind-all hosts (0.0.0.0 / ::) are not connectable addresses and the
7
+ * daemon also binds loopback there, so they map to 127.0.0.1. An absent host
8
+ * (the default loopback+tailscale multi-bind) also uses loopback. */
9
+ export declare function deriveActivityUrl(host: string | undefined, port: string | undefined): string;
10
+ /** Read the durable activity-hook token from state, or generate + persist one.
11
+ * Stable across restarts (so frozen-env seats keep authenticating). */
12
+ export declare function ensureActivityHookToken(stateDir: string): string;
13
+ /** Snapshot the current {baseUrl, token} to activity-endpoint.json (mode 0600)
14
+ * for the relay file-discovery fallback (B3). Best-effort. */
15
+ export declare function writeActivityEndpointFile(stateDir: string, endpoint: {
16
+ baseUrl: string;
17
+ token: string;
18
+ }): void;
19
+ /** Read {baseUrl, token} from activity-endpoint.json, or null if absent/invalid.
20
+ * (The relay .cjs reads the file directly; this is for daemon-side use + tests.) */
21
+ export declare function readActivityEndpointFile(stateDir: string): {
22
+ baseUrl: string;
23
+ token: string;
24
+ } | null;
25
+ //# sourceMappingURL=activity-endpoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-endpoint.d.ts","sourceRoot":"","sources":["../../src/domain/activity-endpoint.ts"],"names":[],"mappings":"AA0BA;;;;;;;sEAOsE;AACtE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAK5F;AAED;wEACwE;AACxE,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAkBhE;AAED;+DAC+D;AAC/D,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAS9G;AAED;qFACqF;AACrF,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAYpG"}
@@ -0,0 +1,91 @@
1
+ // OPR.0.4.3.28 B2/B3 — self-provisioned activity-hook endpoint (url + token).
2
+ //
3
+ // The daemon generates a per-install activity-hook token and derives its own
4
+ // ingest URL so launched seats can reach /api/activity/hooks WITHOUT the
5
+ // operator seeding OPENRIG_URL / OPENRIG_ACTIVITY_HOOK_TOKEN into their shell
6
+ // (the confirmed live break — see the slice-28 IMPL-SPEC §1.1).
7
+ //
8
+ // The token is a LOCALHOST internal-auth HANDLE, not a founder-secret: kept out
9
+ // of logs/prints and stored mode-0600, but no redaction machinery is built
10
+ // around it (orch-advisor ruling 2026-07-02).
11
+ //
12
+ // - activity-hook-token : durable token, STABLE across daemon restarts so
13
+ // already-launched seats (whose env froze the token at launch) still
14
+ // authenticate after a restart.
15
+ // - activity-endpoint.json : {baseUrl, token} snapshot, re-written each boot,
16
+ // read by the relay's file-discovery fallback for reconcile/restored seats
17
+ // whose frozen process env carries no OpenRig activity vars (B3).
18
+ import fs from "node:fs";
19
+ import nodePath from "node:path";
20
+ import { randomBytes } from "node:crypto";
21
+ const TOKEN_FILE = "activity-hook-token";
22
+ const ENDPOINT_FILE = "activity-endpoint.json";
23
+ const DEFAULT_DAEMON_PORT = "7433";
24
+ /** OPR.0.4.3.28 B2 — derive the activity ingest URL the daemon injects into seats
25
+ * from its OWN bound host+port, so the seat's relay posts to an address the
26
+ * daemon is actually listening on. When OPENRIG_HOST is an explicit host
27
+ * (loopback, localhost, a tailnet IP, a hostname) the daemon binds ONLY that
28
+ * host, so the URL MUST use it — a hardcoded 127.0.0.1 would be unreachable.
29
+ * Wildcard/bind-all hosts (0.0.0.0 / ::) are not connectable addresses and the
30
+ * daemon also binds loopback there, so they map to 127.0.0.1. An absent host
31
+ * (the default loopback+tailscale multi-bind) also uses loopback. */
32
+ export function deriveActivityUrl(host, port) {
33
+ const p = port && port.trim().length > 0 ? port.trim() : DEFAULT_DAEMON_PORT;
34
+ const h = host?.trim();
35
+ const wildcard = !h || h === "0.0.0.0" || h === "::" || h === "[::]" || h === "*";
36
+ return `http://${wildcard ? "127.0.0.1" : h}:${p}`;
37
+ }
38
+ /** Read the durable activity-hook token from state, or generate + persist one.
39
+ * Stable across restarts (so frozen-env seats keep authenticating). */
40
+ export function ensureActivityHookToken(stateDir) {
41
+ const tokenPath = nodePath.join(stateDir, TOKEN_FILE);
42
+ try {
43
+ const existing = fs.readFileSync(tokenPath, "utf-8").trim();
44
+ if (existing.length > 0)
45
+ return existing;
46
+ }
47
+ catch {
48
+ // not present yet — generate below
49
+ }
50
+ const token = randomBytes(32).toString("hex");
51
+ try {
52
+ fs.mkdirSync(stateDir, { recursive: true });
53
+ fs.writeFileSync(tokenPath, token, { mode: 0o600 });
54
+ fs.chmodSync(tokenPath, 0o600); // enforce mode even if the file pre-existed
55
+ }
56
+ catch {
57
+ // best-effort persist — an in-memory token still works for this daemon run,
58
+ // it just won't survive a restart (falls back to regenerate).
59
+ }
60
+ return token;
61
+ }
62
+ /** Snapshot the current {baseUrl, token} to activity-endpoint.json (mode 0600)
63
+ * for the relay file-discovery fallback (B3). Best-effort. */
64
+ export function writeActivityEndpointFile(stateDir, endpoint) {
65
+ const endpointPath = nodePath.join(stateDir, ENDPOINT_FILE);
66
+ try {
67
+ fs.mkdirSync(stateDir, { recursive: true });
68
+ fs.writeFileSync(endpointPath, JSON.stringify({ baseUrl: endpoint.baseUrl, token: endpoint.token }), { mode: 0o600 });
69
+ fs.chmodSync(endpointPath, 0o600);
70
+ }
71
+ catch {
72
+ // best-effort — reconcile/restored seats simply won't get file-discovery.
73
+ }
74
+ }
75
+ /** Read {baseUrl, token} from activity-endpoint.json, or null if absent/invalid.
76
+ * (The relay .cjs reads the file directly; this is for daemon-side use + tests.) */
77
+ export function readActivityEndpointFile(stateDir) {
78
+ const endpointPath = nodePath.join(stateDir, ENDPOINT_FILE);
79
+ try {
80
+ const parsed = JSON.parse(fs.readFileSync(endpointPath, "utf-8"));
81
+ if (typeof parsed.baseUrl === "string" && parsed.baseUrl.length > 0
82
+ && typeof parsed.token === "string" && parsed.token.length > 0) {
83
+ return { baseUrl: parsed.baseUrl, token: parsed.token };
84
+ }
85
+ }
86
+ catch {
87
+ // absent or malformed
88
+ }
89
+ return null;
90
+ }
91
+ //# sourceMappingURL=activity-endpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-endpoint.js","sourceRoot":"","sources":["../../src/domain/activity-endpoint.ts"],"names":[],"mappings":"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"}