@telora/daemon 0.21.26 → 0.21.82

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 (1626) hide show
  1. package/build-info.json +4 -3
  2. package/dist/audit/audit-hooks.d.ts +127 -0
  3. package/dist/audit/audit-hooks.d.ts.map +1 -0
  4. package/dist/audit/audit-hooks.js +346 -0
  5. package/dist/audit/audit-hooks.js.map +1 -0
  6. package/dist/audit/audit-phase.d.ts +170 -0
  7. package/dist/audit/audit-phase.d.ts.map +1 -0
  8. package/dist/audit/audit-phase.js +492 -0
  9. package/dist/audit/audit-phase.js.map +1 -0
  10. package/dist/audit/audit-prompt.d.ts.map +1 -0
  11. package/dist/audit/audit-prompt.js.map +1 -0
  12. package/dist/audit/audit-shape.d.ts.map +1 -0
  13. package/dist/audit/audit-shape.js.map +1 -0
  14. package/dist/backends/agent-backend.d.ts +1 -1
  15. package/dist/backends/agent-backend.d.ts.map +1 -1
  16. package/dist/backends/availability.d.ts +1 -1
  17. package/dist/backends/availability.d.ts.map +1 -1
  18. package/dist/backends/codex/codex-backend.js +1 -1
  19. package/dist/backends/codex/codex-backend.js.map +1 -1
  20. package/dist/backends/codex/codex-mcp-proxy.js +1 -1
  21. package/dist/backends/codex/codex-mcp-proxy.js.map +1 -1
  22. package/dist/backends/codex/mcp-preflight.d.ts +1 -1
  23. package/dist/backends/codex/mcp-preflight.d.ts.map +1 -1
  24. package/dist/backends/lacuna/launch-adapter.d.ts +1 -1
  25. package/dist/backends/lacuna/launch-adapter.d.ts.map +1 -1
  26. package/dist/backends/lacuna/lifecycle.d.ts +1 -1
  27. package/dist/backends/lacuna/lifecycle.d.ts.map +1 -1
  28. package/dist/backends/lacuna/lifecycle.js +1 -1
  29. package/dist/backends/lacuna/lifecycle.js.map +1 -1
  30. package/dist/backends/lacuna/supervisor.d.ts +1 -1
  31. package/dist/backends/lacuna/supervisor.d.ts.map +1 -1
  32. package/dist/backends/lacuna/supervisor.js +2 -2
  33. package/dist/backends/lacuna/supervisor.js.map +1 -1
  34. package/dist/backends/resolve.js +2 -2
  35. package/dist/backends/resolve.js.map +1 -1
  36. package/dist/ci/ci-escalation.d.ts.map +1 -0
  37. package/dist/ci/ci-escalation.js +66 -0
  38. package/dist/ci/ci-escalation.js.map +1 -0
  39. package/dist/ci/ci-sensor-loop.d.ts +146 -0
  40. package/dist/ci/ci-sensor-loop.d.ts.map +1 -0
  41. package/dist/ci/ci-sensor-loop.js +265 -0
  42. package/dist/ci/ci-sensor-loop.js.map +1 -0
  43. package/dist/ci/ci-status-git.d.ts +53 -0
  44. package/dist/ci/ci-status-git.d.ts.map +1 -0
  45. package/dist/ci/ci-status-git.js +89 -0
  46. package/dist/ci/ci-status-git.js.map +1 -0
  47. package/dist/ci/ci-status.d.ts +137 -0
  48. package/dist/ci/ci-status.d.ts.map +1 -0
  49. package/dist/ci/ci-status.js.map +1 -0
  50. package/dist/cli/backfill-frt-prose.d.ts +3 -3
  51. package/dist/cli/backfill-frt-prose.d.ts.map +1 -1
  52. package/dist/cli/backfill-frt-prose.js +2 -2
  53. package/dist/cli/backfill-frt-prose.js.map +1 -1
  54. package/dist/cli/codex-provision.js +1 -1
  55. package/dist/cli/codex-provision.js.map +1 -1
  56. package/dist/cli/connect/cline.js +1 -1
  57. package/dist/cli/connect/cline.js.map +1 -1
  58. package/dist/cli/connect/codex.js +1 -1
  59. package/dist/cli/connect/codex.js.map +1 -1
  60. package/dist/cli/connect/ide.js +1 -1
  61. package/dist/cli/connect/ide.js.map +1 -1
  62. package/dist/cli/connect.js +4 -4
  63. package/dist/cli/connect.js.map +1 -1
  64. package/dist/cli/open.js +2 -2
  65. package/dist/cli/open.js.map +1 -1
  66. package/dist/cli/session-state.d.ts +1 -1
  67. package/dist/cli/session-state.d.ts.map +1 -1
  68. package/dist/cli/session-state.js +4 -4
  69. package/dist/cli/session-state.js.map +1 -1
  70. package/dist/cli/verify-setup-config.d.ts +1 -1
  71. package/dist/cli/verify-setup-config.d.ts.map +1 -1
  72. package/dist/cli/verify-setup.js +2 -2
  73. package/dist/cli/verify-setup.js.map +1 -1
  74. package/dist/completion/advanceability.d.ts +1 -1
  75. package/dist/completion/advanceability.d.ts.map +1 -1
  76. package/dist/completion/advanceability.js +2 -2
  77. package/dist/completion/advanceability.js.map +1 -1
  78. package/dist/completion/delivery-advancement-guard.d.ts +20 -2
  79. package/dist/completion/delivery-advancement-guard.d.ts.map +1 -1
  80. package/dist/completion/delivery-advancement-guard.js +32 -4
  81. package/dist/completion/delivery-advancement-guard.js.map +1 -1
  82. package/dist/completion/detector.d.ts +9 -3
  83. package/dist/completion/detector.d.ts.map +1 -1
  84. package/dist/completion/detector.js +26 -4
  85. package/dist/completion/detector.js.map +1 -1
  86. package/dist/completion/escalation-provenance.d.ts +78 -0
  87. package/dist/completion/escalation-provenance.d.ts.map +1 -0
  88. package/dist/completion/escalation-provenance.js +206 -0
  89. package/dist/completion/escalation-provenance.js.map +1 -0
  90. package/dist/completion/escalations.d.ts +85 -0
  91. package/dist/completion/escalations.d.ts.map +1 -0
  92. package/dist/completion/escalations.js +91 -0
  93. package/dist/completion/escalations.js.map +1 -0
  94. package/dist/completion/event-entry-phases.d.ts +1 -1
  95. package/dist/completion/event-entry-phases.d.ts.map +1 -1
  96. package/dist/completion/event-entry-phases.js +3 -3
  97. package/dist/completion/event-entry-phases.js.map +1 -1
  98. package/dist/completion/event-escalations.d.ts +1 -1
  99. package/dist/completion/event-escalations.d.ts.map +1 -1
  100. package/dist/completion/event-escalations.js +1 -1
  101. package/dist/completion/event-escalations.js.map +1 -1
  102. package/dist/completion/event-phases.d.ts +44 -1
  103. package/dist/completion/event-phases.d.ts.map +1 -1
  104. package/dist/completion/event-phases.js +165 -13
  105. package/dist/completion/event-phases.js.map +1 -1
  106. package/dist/completion/event.d.ts +20 -1
  107. package/dist/completion/event.d.ts.map +1 -1
  108. package/dist/completion/event.js +7 -4
  109. package/dist/completion/event.js.map +1 -1
  110. package/dist/completion/exit-classification.d.ts +1 -1
  111. package/dist/completion/exit-classification.d.ts.map +1 -1
  112. package/dist/completion/merge-phase.d.ts +21 -7
  113. package/dist/completion/merge-phase.d.ts.map +1 -1
  114. package/dist/completion/merge-phase.js +14 -11
  115. package/dist/completion/merge-phase.js.map +1 -1
  116. package/dist/completion/progress-snapshot.d.ts +1 -1
  117. package/dist/completion/progress-snapshot.d.ts.map +1 -1
  118. package/dist/completion/read-only-pristine.d.ts +1 -1
  119. package/dist/completion/read-only-pristine.d.ts.map +1 -1
  120. package/dist/completion/read-only-pristine.js +2 -2
  121. package/dist/completion/read-only-pristine.js.map +1 -1
  122. package/dist/completion/review-defect-detector.d.ts +82 -0
  123. package/dist/completion/review-defect-detector.d.ts.map +1 -0
  124. package/dist/completion/review-defect-detector.js +148 -0
  125. package/dist/completion/review-defect-detector.js.map +1 -0
  126. package/dist/completion/review-exit-escalations.d.ts +1 -1
  127. package/dist/completion/review-exit-escalations.d.ts.map +1 -1
  128. package/dist/completion/review-exit-escalations.js +1 -1
  129. package/dist/completion/review-exit-escalations.js.map +1 -1
  130. package/dist/completion/review-exit-phase.d.ts +4 -3
  131. package/dist/completion/review-exit-phase.d.ts.map +1 -1
  132. package/dist/completion/review-exit-phase.js +10 -9
  133. package/dist/completion/review-exit-phase.js.map +1 -1
  134. package/dist/completion/review-exit-shortfall.d.ts +1 -1
  135. package/dist/completion/review-exit-shortfall.d.ts.map +1 -1
  136. package/dist/completion/review-exit-shortfall.js +1 -1
  137. package/dist/completion/review-exit-shortfall.js.map +1 -1
  138. package/dist/completion/review-spawn-coverage-guard.d.ts.map +1 -0
  139. package/dist/completion/review-spawn-coverage-guard.js.map +1 -0
  140. package/dist/completion/state-cascade.d.ts +90 -0
  141. package/dist/completion/state-cascade.d.ts.map +1 -0
  142. package/dist/completion/state-cascade.js +230 -0
  143. package/dist/completion/state-cascade.js.map +1 -0
  144. package/dist/completion/status-advance-phase.d.ts +4 -4
  145. package/dist/completion/status-advance-phase.d.ts.map +1 -1
  146. package/dist/completion/status-advance-phase.js +9 -7
  147. package/dist/completion/status-advance-phase.js.map +1 -1
  148. package/dist/completion/team-completion.d.ts +2 -2
  149. package/dist/completion/team-completion.d.ts.map +1 -1
  150. package/dist/completion/team-completion.js +15 -9
  151. package/dist/completion/team-completion.js.map +1 -1
  152. package/dist/completion/team-lifecycle.d.ts +1 -1
  153. package/dist/completion/team-lifecycle.d.ts.map +1 -1
  154. package/dist/completion/team-lifecycle.js +10 -11
  155. package/dist/completion/team-lifecycle.js.map +1 -1
  156. package/dist/completion/terminated-work-reconcile.d.ts +2 -2
  157. package/dist/completion/terminated-work-reconcile.d.ts.map +1 -1
  158. package/dist/completion/terminated-work-reconcile.js +5 -4
  159. package/dist/completion/terminated-work-reconcile.js.map +1 -1
  160. package/dist/context/context-audit.d.ts +68 -0
  161. package/dist/context/context-audit.d.ts.map +1 -0
  162. package/dist/context/context-audit.js.map +1 -0
  163. package/dist/context/context-lock.d.ts +129 -0
  164. package/dist/context/context-lock.d.ts.map +1 -0
  165. package/dist/context/context-lock.js.map +1 -0
  166. package/dist/delivery/delivery-advance-block.d.ts +143 -0
  167. package/dist/delivery/delivery-advance-block.d.ts.map +1 -0
  168. package/dist/delivery/delivery-advance-block.js +360 -0
  169. package/dist/delivery/delivery-advance-block.js.map +1 -0
  170. package/dist/delivery/delivery-artifacts.d.ts +26 -0
  171. package/dist/delivery/delivery-artifacts.d.ts.map +1 -0
  172. package/dist/delivery/delivery-artifacts.js +56 -0
  173. package/dist/delivery/delivery-artifacts.js.map +1 -0
  174. package/dist/delivery/delivery-close-actions.d.ts +39 -0
  175. package/dist/delivery/delivery-close-actions.d.ts.map +1 -0
  176. package/dist/delivery/delivery-close-actions.js +53 -0
  177. package/dist/delivery/delivery-close-actions.js.map +1 -0
  178. package/dist/delivery/delivery-lifecycle.d.ts +144 -0
  179. package/dist/delivery/delivery-lifecycle.d.ts.map +1 -0
  180. package/dist/delivery/delivery-lifecycle.js +498 -0
  181. package/dist/delivery/delivery-lifecycle.js.map +1 -0
  182. package/dist/delivery/delivery-reconciler-apply.d.ts.map +1 -0
  183. package/dist/delivery/delivery-reconciler-apply.js +77 -0
  184. package/dist/delivery/delivery-reconciler-apply.js.map +1 -0
  185. package/dist/delivery/delivery-reconciler-shadow.d.ts +66 -0
  186. package/dist/delivery/delivery-reconciler-shadow.d.ts.map +1 -0
  187. package/dist/delivery/delivery-reconciler-shadow.js +127 -0
  188. package/dist/delivery/delivery-reconciler-shadow.js.map +1 -0
  189. package/dist/delivery/delivery-reconciler.d.ts +217 -0
  190. package/dist/delivery/delivery-reconciler.d.ts.map +1 -0
  191. package/dist/delivery/delivery-reconciler.js +249 -0
  192. package/dist/delivery/delivery-reconciler.js.map +1 -0
  193. package/dist/delivery/external-hold.d.ts +145 -0
  194. package/dist/delivery/external-hold.d.ts.map +1 -0
  195. package/dist/delivery/external-hold.js +223 -0
  196. package/dist/delivery/external-hold.js.map +1 -0
  197. package/dist/delivery/operator-hold.d.ts +66 -0
  198. package/dist/delivery/operator-hold.d.ts.map +1 -0
  199. package/dist/delivery/operator-hold.js +99 -0
  200. package/dist/delivery/operator-hold.js.map +1 -0
  201. package/dist/directive/close-loop-dispatcher.d.ts +325 -0
  202. package/dist/directive/close-loop-dispatcher.d.ts.map +1 -0
  203. package/dist/directive/close-loop-dispatcher.js +362 -0
  204. package/dist/directive/close-loop-dispatcher.js.map +1 -0
  205. package/dist/directive/close-loop-stage.d.ts +2 -2
  206. package/dist/directive/close-loop-stage.d.ts.map +1 -1
  207. package/dist/directive/close-loop-stage.js +3 -3
  208. package/dist/directive/close-loop-stage.js.map +1 -1
  209. package/dist/directive/directive-assembly.d.ts +2 -3
  210. package/dist/directive/directive-assembly.d.ts.map +1 -1
  211. package/dist/directive/directive-assembly.js +5 -4
  212. package/dist/directive/directive-assembly.js.map +1 -1
  213. package/dist/directive/directive-dispatch.d.ts +2 -2
  214. package/dist/directive/directive-dispatch.d.ts.map +1 -1
  215. package/dist/directive/directive-dispatch.js +3 -3
  216. package/dist/directive/directive-dispatch.js.map +1 -1
  217. package/dist/directive/directive-executor.d.ts +37 -0
  218. package/dist/directive/directive-executor.d.ts.map +1 -0
  219. package/dist/directive/directive-executor.js +241 -0
  220. package/dist/directive/directive-executor.js.map +1 -0
  221. package/dist/directive/directive-queue.d.ts +2 -2
  222. package/dist/directive/directive-queue.d.ts.map +1 -1
  223. package/dist/directive/phase-sync.js +3 -3
  224. package/dist/directive/phase-sync.js.map +1 -1
  225. package/dist/directive/resolver-dispatch.d.ts.map +1 -0
  226. package/dist/directive/resolver-dispatch.js.map +1 -0
  227. package/dist/discovery-fetch.js +1 -1
  228. package/dist/discovery-fetch.js.map +1 -1
  229. package/dist/drift/drift-eval-loop.d.ts +71 -0
  230. package/dist/drift/drift-eval-loop.d.ts.map +1 -0
  231. package/dist/drift/drift-eval-loop.js +259 -0
  232. package/dist/drift/drift-eval-loop.js.map +1 -0
  233. package/dist/drift/drift-evaluator.d.ts.map +1 -0
  234. package/dist/drift/drift-evaluator.js.map +1 -0
  235. package/dist/drift/drift-ratify-policy.d.ts.map +1 -0
  236. package/dist/drift/drift-ratify-policy.js.map +1 -0
  237. package/dist/drift/retention-observation.d.ts.map +1 -0
  238. package/dist/drift/retention-observation.js.map +1 -0
  239. package/dist/drift/sensor-sweep.d.ts +194 -0
  240. package/dist/drift/sensor-sweep.d.ts.map +1 -0
  241. package/dist/drift/sensor-sweep.js +458 -0
  242. package/dist/drift/sensor-sweep.js.map +1 -0
  243. package/dist/drift/staleness-sensor.d.ts +176 -0
  244. package/dist/drift/staleness-sensor.d.ts.map +1 -0
  245. package/dist/drift/staleness-sensor.js +335 -0
  246. package/dist/drift/staleness-sensor.js.map +1 -0
  247. package/dist/drift/staleness.d.ts +134 -0
  248. package/dist/drift/staleness.d.ts.map +1 -0
  249. package/dist/drift/staleness.js +249 -0
  250. package/dist/drift/staleness.js.map +1 -0
  251. package/dist/focus/focus-branch-ahead.d.ts +42 -0
  252. package/dist/focus/focus-branch-ahead.d.ts.map +1 -0
  253. package/dist/focus/focus-branch-ahead.js +45 -0
  254. package/dist/focus/focus-branch-ahead.js.map +1 -0
  255. package/dist/focus/focus-branch-identity.d.ts +62 -0
  256. package/dist/focus/focus-branch-identity.d.ts.map +1 -0
  257. package/dist/focus/focus-branch-identity.js +59 -0
  258. package/dist/focus/focus-branch-identity.js.map +1 -0
  259. package/dist/focus/focus-engine.d.ts +74 -0
  260. package/dist/focus/focus-engine.d.ts.map +1 -0
  261. package/dist/focus/focus-engine.js +528 -0
  262. package/dist/focus/focus-engine.js.map +1 -0
  263. package/dist/focus/focus-executor.d.ts +79 -0
  264. package/dist/focus/focus-executor.d.ts.map +1 -0
  265. package/dist/focus/focus-executor.js +421 -0
  266. package/dist/focus/focus-executor.js.map +1 -0
  267. package/dist/focus/focus-lifecycle.d.ts +60 -0
  268. package/dist/focus/focus-lifecycle.d.ts.map +1 -0
  269. package/dist/focus/focus-lifecycle.js +543 -0
  270. package/dist/focus/focus-lifecycle.js.map +1 -0
  271. package/dist/focus/focus-loop-registry.d.ts +52 -0
  272. package/dist/focus/focus-loop-registry.d.ts.map +1 -0
  273. package/dist/focus/focus-loop-registry.js +362 -0
  274. package/dist/focus/focus-loop-registry.js.map +1 -0
  275. package/dist/focus/focus-loop.d.ts +96 -0
  276. package/dist/focus/focus-loop.d.ts.map +1 -0
  277. package/dist/focus/focus-loop.js +364 -0
  278. package/dist/focus/focus-loop.js.map +1 -0
  279. package/dist/focus/focus-phase.d.ts.map +1 -0
  280. package/dist/focus/focus-phase.js.map +1 -0
  281. package/dist/focus/focus-respawn-guard.d.ts +39 -0
  282. package/dist/focus/focus-respawn-guard.d.ts.map +1 -0
  283. package/dist/focus/focus-respawn-guard.js +62 -0
  284. package/dist/focus/focus-respawn-guard.js.map +1 -0
  285. package/dist/focus/focus-team-state.d.ts +115 -0
  286. package/dist/focus/focus-team-state.d.ts.map +1 -0
  287. package/dist/focus/focus-team-state.js +195 -0
  288. package/dist/focus/focus-team-state.js.map +1 -0
  289. package/dist/focus/focus-worktree-state.d.ts +70 -0
  290. package/dist/focus/focus-worktree-state.d.ts.map +1 -0
  291. package/dist/focus/focus-worktree-state.js +118 -0
  292. package/dist/focus/focus-worktree-state.js.map +1 -0
  293. package/dist/focus/listener-auto-advance.d.ts +126 -0
  294. package/dist/focus/listener-auto-advance.d.ts.map +1 -0
  295. package/dist/focus/listener-auto-advance.js +629 -0
  296. package/dist/focus/listener-auto-advance.js.map +1 -0
  297. package/dist/focus/listener.d.ts +101 -0
  298. package/dist/focus/listener.d.ts.map +1 -0
  299. package/dist/focus/listener.js +770 -0
  300. package/dist/focus/listener.js.map +1 -0
  301. package/dist/focus-stage-lifecycle/index.d.ts +63 -0
  302. package/dist/focus-stage-lifecycle/index.d.ts.map +1 -0
  303. package/dist/focus-stage-lifecycle/index.js +179 -0
  304. package/dist/focus-stage-lifecycle/index.js.map +1 -0
  305. package/dist/focus-stage-lifecycle/planning-release.js +4 -4
  306. package/dist/focus-stage-lifecycle/planning-release.js.map +1 -1
  307. package/dist/focus-stage-lifecycle/review-convergence.d.ts +1 -1
  308. package/dist/focus-stage-lifecycle/review-convergence.d.ts.map +1 -1
  309. package/dist/focus-stage-lifecycle/review-convergence.js +2 -2
  310. package/dist/focus-stage-lifecycle/review-convergence.js.map +1 -1
  311. package/dist/focus-stage-lifecycle/wedge-watchdog.d.ts +1 -1
  312. package/dist/focus-stage-lifecycle/wedge-watchdog.d.ts.map +1 -1
  313. package/dist/focus-stage-lifecycle/wedge-watchdog.js +3 -3
  314. package/dist/focus-stage-lifecycle/wedge-watchdog.js.map +1 -1
  315. package/dist/git/branch.d.ts +1 -1
  316. package/dist/git/branch.d.ts.map +1 -1
  317. package/dist/git/branch.js +1 -1
  318. package/dist/git/branch.js.map +1 -1
  319. package/dist/git/exec.d.ts +24 -0
  320. package/dist/git/exec.d.ts.map +1 -0
  321. package/dist/git/exec.js +114 -0
  322. package/dist/git/exec.js.map +1 -0
  323. package/dist/git/genesis.js +1 -1
  324. package/dist/git/genesis.js.map +1 -1
  325. package/dist/git/index.d.ts +3 -8
  326. package/dist/git/index.d.ts.map +1 -1
  327. package/dist/git/index.js +3 -8
  328. package/dist/git/index.js.map +1 -1
  329. package/dist/git/integration.d.ts +1 -1
  330. package/dist/git/integration.d.ts.map +1 -1
  331. package/dist/git/integration.js +1 -1
  332. package/dist/git/integration.js.map +1 -1
  333. package/dist/git/merge-lock.js +1 -1
  334. package/dist/git/merge-lock.js.map +1 -1
  335. package/dist/git/merge.d.ts +33 -2
  336. package/dist/git/merge.d.ts.map +1 -1
  337. package/dist/git/merge.js +159 -18
  338. package/dist/git/merge.js.map +1 -1
  339. package/dist/git/state-detector.d.ts +1 -1
  340. package/dist/git/state-detector.d.ts.map +1 -1
  341. package/dist/git/state-detector.js +1 -1
  342. package/dist/git/state-detector.js.map +1 -1
  343. package/dist/git/types.d.ts +1 -1
  344. package/dist/git/types.d.ts.map +1 -1
  345. package/dist/git/utils.js +1 -1
  346. package/dist/git/utils.js.map +1 -1
  347. package/dist/guard/condition-evaluators.d.ts +70 -0
  348. package/dist/guard/condition-evaluators.d.ts.map +1 -0
  349. package/dist/guard/condition-evaluators.js +203 -0
  350. package/dist/guard/condition-evaluators.js.map +1 -0
  351. package/dist/guard/evaluation-context.d.ts.map +1 -0
  352. package/dist/guard/evaluation-context.js +44 -0
  353. package/dist/guard/evaluation-context.js.map +1 -0
  354. package/dist/guard/guard-evaluator.d.ts +47 -0
  355. package/dist/guard/guard-evaluator.d.ts.map +1 -0
  356. package/dist/guard/guard-evaluator.js +195 -0
  357. package/dist/guard/guard-evaluator.js.map +1 -0
  358. package/dist/guard/trigger-executor.d.ts +99 -0
  359. package/dist/guard/trigger-executor.d.ts.map +1 -0
  360. package/dist/guard/trigger-executor.js +437 -0
  361. package/dist/guard/trigger-executor.js.map +1 -0
  362. package/dist/host-control/catalog.js +1 -1
  363. package/dist/host-control/catalog.js.map +1 -1
  364. package/dist/host-control/client.js +1 -1
  365. package/dist/host-control/client.js.map +1 -1
  366. package/dist/host-control/discovery-poll.d.ts +36 -0
  367. package/dist/host-control/discovery-poll.d.ts.map +1 -0
  368. package/dist/host-control/discovery-poll.js +94 -0
  369. package/dist/host-control/discovery-poll.js.map +1 -0
  370. package/dist/host-control/sizing.js +1 -1
  371. package/dist/host-control/sizing.js.map +1 -1
  372. package/dist/index.js +12 -12
  373. package/dist/index.js.map +1 -1
  374. package/dist/loops/context-audit-pass.d.ts +2 -2
  375. package/dist/loops/context-audit-pass.d.ts.map +1 -1
  376. package/dist/loops/context-audit-pass.js +3 -3
  377. package/dist/loops/context-audit-pass.js.map +1 -1
  378. package/dist/loops/engine.js +2 -2
  379. package/dist/loops/engine.js.map +1 -1
  380. package/dist/loops/llm-client.d.ts +8 -1
  381. package/dist/loops/llm-client.d.ts.map +1 -1
  382. package/dist/loops/llm-client.js +5 -4
  383. package/dist/loops/llm-client.js.map +1 -1
  384. package/dist/loops/prompt-builder.js +1 -1
  385. package/dist/loops/prompt-builder.js.map +1 -1
  386. package/dist/merge/focus-merge.d.ts +131 -0
  387. package/dist/merge/focus-merge.d.ts.map +1 -0
  388. package/dist/merge/focus-merge.js +556 -0
  389. package/dist/merge/focus-merge.js.map +1 -0
  390. package/dist/merge/merge-back-loop.d.ts +122 -0
  391. package/dist/merge/merge-back-loop.d.ts.map +1 -0
  392. package/dist/merge/merge-back-loop.js +657 -0
  393. package/dist/merge/merge-back-loop.js.map +1 -0
  394. package/dist/merge/merge-detector.d.ts +55 -0
  395. package/dist/merge/merge-detector.d.ts.map +1 -0
  396. package/dist/merge/merge-detector.js +222 -0
  397. package/dist/merge/merge-detector.js.map +1 -0
  398. package/dist/merge/merge-failure-classify.d.ts +48 -0
  399. package/dist/merge/merge-failure-classify.d.ts.map +1 -0
  400. package/dist/merge/merge-failure-classify.js +89 -0
  401. package/dist/merge/merge-failure-classify.js.map +1 -0
  402. package/dist/nexus/endpoint-clearance.d.ts +12 -3
  403. package/dist/nexus/endpoint-clearance.d.ts.map +1 -1
  404. package/dist/nexus/endpoint-clearance.js +17 -8
  405. package/dist/nexus/endpoint-clearance.js.map +1 -1
  406. package/dist/nexus/escalation-bridge.js +1 -1
  407. package/dist/nexus/escalation-bridge.js.map +1 -1
  408. package/dist/nexus/incoming.d.ts +1 -1
  409. package/dist/nexus/incoming.d.ts.map +1 -1
  410. package/dist/nexus/incoming.js +1 -1
  411. package/dist/nexus/incoming.js.map +1 -1
  412. package/dist/nexus/intake-spawn.d.ts +1 -1
  413. package/dist/nexus/intake-spawn.d.ts.map +1 -1
  414. package/dist/nexus/intake-spawn.js +1 -1
  415. package/dist/nexus/intake-spawn.js.map +1 -1
  416. package/dist/nexus/intake.d.ts +1 -1
  417. package/dist/nexus/intake.d.ts.map +1 -1
  418. package/dist/nexus/intake.js +1 -1
  419. package/dist/nexus/intake.js.map +1 -1
  420. package/dist/nexus/return.d.ts +1 -1
  421. package/dist/nexus/return.d.ts.map +1 -1
  422. package/dist/nexus/return.js +2 -2
  423. package/dist/nexus/return.js.map +1 -1
  424. package/dist/otlp/log-parser.js +1 -1
  425. package/dist/otlp/log-parser.js.map +1 -1
  426. package/dist/otlp/metric-parser.js +1 -1
  427. package/dist/otlp/metric-parser.js.map +1 -1
  428. package/dist/otlp/receiver.d.ts +1 -1
  429. package/dist/otlp/receiver.d.ts.map +1 -1
  430. package/dist/otlp/receiver.js +2 -2
  431. package/dist/otlp/receiver.js.map +1 -1
  432. package/dist/otlp/telemetry-writer.d.ts +90 -0
  433. package/dist/otlp/telemetry-writer.d.ts.map +1 -0
  434. package/dist/otlp/telemetry-writer.js +213 -0
  435. package/dist/otlp/telemetry-writer.js.map +1 -0
  436. package/dist/prd/controller.d.ts +2 -2
  437. package/dist/prd/controller.d.ts.map +1 -1
  438. package/dist/prd/controller.js +3 -3
  439. package/dist/prd/controller.js.map +1 -1
  440. package/dist/prd/focus-pushdown.d.ts +1 -1
  441. package/dist/prd/focus-pushdown.d.ts.map +1 -1
  442. package/dist/prd/focus-pushdown.js +2 -2
  443. package/dist/prd/focus-pushdown.js.map +1 -1
  444. package/dist/prd/steward.d.ts +1 -1
  445. package/dist/prd/steward.d.ts.map +1 -1
  446. package/dist/prd/steward.js +3 -2
  447. package/dist/prd/steward.js.map +1 -1
  448. package/dist/prompt/focus-prompt-builder.d.ts +33 -0
  449. package/dist/prompt/focus-prompt-builder.d.ts.map +1 -0
  450. package/dist/prompt/focus-prompt-builder.js +118 -0
  451. package/dist/prompt/focus-prompt-builder.js.map +1 -0
  452. package/dist/prompt/onboarding-directive.d.ts.map +1 -0
  453. package/dist/prompt/onboarding-directive.js.map +1 -0
  454. package/dist/prompt/prompt-contradictions.d.ts.map +1 -0
  455. package/dist/prompt/prompt-contradictions.js.map +1 -0
  456. package/dist/prompt/prompt-listing.d.ts +70 -0
  457. package/dist/prompt/prompt-listing.d.ts.map +1 -0
  458. package/dist/prompt/prompt-listing.js.map +1 -0
  459. package/dist/prompt/team-prompt-base.d.ts +43 -0
  460. package/dist/prompt/team-prompt-base.d.ts.map +1 -0
  461. package/dist/prompt/team-prompt-base.js +123 -0
  462. package/dist/prompt/team-prompt-base.js.map +1 -0
  463. package/dist/prompt-sections/context-sections.d.ts +1 -1
  464. package/dist/prompt-sections/context-sections.d.ts.map +1 -1
  465. package/dist/prompt-sections/execution-sections.d.ts +1 -1
  466. package/dist/prompt-sections/execution-sections.d.ts.map +1 -1
  467. package/dist/prompt-sections/execution-sections.js +2 -2
  468. package/dist/prompt-sections/execution-sections.js.map +1 -1
  469. package/dist/prompt-sections/persona-sections.d.ts +2 -2
  470. package/dist/prompt-sections/persona-sections.d.ts.map +1 -1
  471. package/dist/prompt-sections/persona-sections.js +1 -1
  472. package/dist/prompt-sections/role-sections.d.ts +1 -1
  473. package/dist/prompt-sections/role-sections.d.ts.map +1 -1
  474. package/dist/prompt-sections/shared.d.ts +1 -1
  475. package/dist/prompt-sections/shared.d.ts.map +1 -1
  476. package/dist/queries/agent-resolvable-promotion.d.ts +2 -2
  477. package/dist/queries/agent-resolvable-promotion.d.ts.map +1 -1
  478. package/dist/queries/agent-resolvable-promotion.js +5 -5
  479. package/dist/queries/agent-resolvable-promotion.js.map +1 -1
  480. package/dist/queries/context-assembly.d.ts +1 -1
  481. package/dist/queries/context-assembly.d.ts.map +1 -1
  482. package/dist/queries/context-assembly.js +1 -1
  483. package/dist/queries/context-assembly.js.map +1 -1
  484. package/dist/queries/context-lock-queries.d.ts +2 -2
  485. package/dist/queries/context-lock-queries.d.ts.map +1 -1
  486. package/dist/queries/deliveries.d.ts +24 -6
  487. package/dist/queries/deliveries.d.ts.map +1 -1
  488. package/dist/queries/deliveries.js +34 -39
  489. package/dist/queries/deliveries.js.map +1 -1
  490. package/dist/queries/drift.d.ts +1 -1
  491. package/dist/queries/drift.d.ts.map +1 -1
  492. package/dist/queries/escalation-suppression.js +1 -1
  493. package/dist/queries/escalation-suppression.js.map +1 -1
  494. package/dist/queries/focuses.d.ts +1 -1
  495. package/dist/queries/focuses.d.ts.map +1 -1
  496. package/dist/queries/focuses.js +1 -1
  497. package/dist/queries/focuses.js.map +1 -1
  498. package/dist/queries/guards.d.ts +1 -1
  499. package/dist/queries/guards.d.ts.map +1 -1
  500. package/dist/queries/guards.js +1 -1
  501. package/dist/queries/guards.js.map +1 -1
  502. package/dist/queries/holds.d.ts +3 -2
  503. package/dist/queries/holds.d.ts.map +1 -1
  504. package/dist/queries/holds.js +7 -6
  505. package/dist/queries/holds.js.map +1 -1
  506. package/dist/queries/issues.d.ts +20 -8
  507. package/dist/queries/issues.d.ts.map +1 -1
  508. package/dist/queries/issues.js +26 -29
  509. package/dist/queries/issues.js.map +1 -1
  510. package/dist/queries/prd.d.ts +2 -1
  511. package/dist/queries/prd.d.ts.map +1 -1
  512. package/dist/queries/prd.js +3 -2
  513. package/dist/queries/prd.js.map +1 -1
  514. package/dist/queries/reality-tree.js +1 -1
  515. package/dist/queries/reality-tree.js.map +1 -1
  516. package/dist/queries/roles.d.ts +1 -1
  517. package/dist/queries/roles.d.ts.map +1 -1
  518. package/dist/queries/schemas.d.ts +51 -28
  519. package/dist/queries/schemas.d.ts.map +1 -1
  520. package/dist/queries/schemas.js +48 -28
  521. package/dist/queries/schemas.js.map +1 -1
  522. package/dist/queries/sessions.d.ts +1 -1
  523. package/dist/queries/sessions.d.ts.map +1 -1
  524. package/dist/queries/shared.d.ts +12 -1
  525. package/dist/queries/shared.d.ts.map +1 -1
  526. package/dist/queries/shared.js.map +1 -1
  527. package/dist/queries/system-session.d.ts +14 -3
  528. package/dist/queries/system-session.d.ts.map +1 -1
  529. package/dist/queries/system-session.js +9 -11
  530. package/dist/queries/system-session.js.map +1 -1
  531. package/dist/queries/verification.d.ts +6 -5
  532. package/dist/queries/verification.d.ts.map +1 -1
  533. package/dist/queries/verification.js +17 -14
  534. package/dist/queries/verification.js.map +1 -1
  535. package/dist/queries/workflows.d.ts +1 -1
  536. package/dist/queries/workflows.d.ts.map +1 -1
  537. package/dist/queries/worktrees.d.ts +10 -10
  538. package/dist/queries/worktrees.d.ts.map +1 -1
  539. package/dist/queries/worktrees.js.map +1 -1
  540. package/dist/reality/realign-apply.d.ts +65 -0
  541. package/dist/reality/realign-apply.d.ts.map +1 -0
  542. package/dist/reality/realign-apply.js +302 -0
  543. package/dist/reality/realign-apply.js.map +1 -0
  544. package/dist/reality/reality-pole-capture.d.ts.map +1 -0
  545. package/dist/reality/reality-pole-capture.js +114 -0
  546. package/dist/reality/reality-pole-capture.js.map +1 -0
  547. package/dist/reality/reality-pole.d.ts +64 -0
  548. package/dist/reality/reality-pole.d.ts.map +1 -0
  549. package/dist/reality/reality-pole.js +101 -0
  550. package/dist/reality/reality-pole.js.map +1 -0
  551. package/dist/reality/reality-writeback.d.ts.map +1 -0
  552. package/dist/reality/reality-writeback.js.map +1 -0
  553. package/dist/resolvers/agent-escalations.js +2 -2
  554. package/dist/resolvers/agent-escalations.js.map +1 -1
  555. package/dist/resolvers/agent-session-summaries.js +2 -2
  556. package/dist/resolvers/agent-session-summaries.js.map +1 -1
  557. package/dist/resolvers/assembly-engine.d.ts +114 -0
  558. package/dist/resolvers/assembly-engine.d.ts.map +1 -0
  559. package/dist/resolvers/assembly-engine.js +137 -0
  560. package/dist/resolvers/assembly-engine.js.map +1 -0
  561. package/dist/resolvers/delivery-acceptance-criteria.js +1 -1
  562. package/dist/resolvers/delivery-acceptance-criteria.js.map +1 -1
  563. package/dist/resolvers/delivery-description.js +1 -1
  564. package/dist/resolvers/delivery-description.js.map +1 -1
  565. package/dist/resolvers/delivery-issues.js +1 -1
  566. package/dist/resolvers/delivery-issues.js.map +1 -1
  567. package/dist/resolvers/delivery-listing.js +2 -2
  568. package/dist/resolvers/delivery-listing.js.map +1 -1
  569. package/dist/resolvers/delivery-tech-context.js +1 -1
  570. package/dist/resolvers/delivery-tech-context.js.map +1 -1
  571. package/dist/resolvers/deployment-profile.js +2 -2
  572. package/dist/resolvers/deployment-profile.js.map +1 -1
  573. package/dist/resolvers/drift-shortfall-proposals.js +3 -3
  574. package/dist/resolvers/drift-shortfall-proposals.js.map +1 -1
  575. package/dist/resolvers/escalation-answers.js +2 -2
  576. package/dist/resolvers/escalation-answers.js.map +1 -1
  577. package/dist/resolvers/focus-anchoring-injections.js +2 -2
  578. package/dist/resolvers/focus-anchoring-injections.js.map +1 -1
  579. package/dist/resolvers/focus-context.js +1 -1
  580. package/dist/resolvers/focus-context.js.map +1 -1
  581. package/dist/resolvers/focus-endpoint-catalog.js +1 -1
  582. package/dist/resolvers/focus-endpoint-catalog.js.map +1 -1
  583. package/dist/resolvers/focus-injections.js +2 -2
  584. package/dist/resolvers/focus-injections.js.map +1 -1
  585. package/dist/resolvers/focus-last-review-report.js +2 -2
  586. package/dist/resolvers/focus-last-review-report.js.map +1 -1
  587. package/dist/resolvers/focus-reality-tree.js +2 -2
  588. package/dist/resolvers/focus-reality-tree.js.map +1 -1
  589. package/dist/resolvers/git-diff-against-base.js +2 -2
  590. package/dist/resolvers/git-diff-against-base.js.map +1 -1
  591. package/dist/resolvers/guards-evaluation-results.js +2 -2
  592. package/dist/resolvers/guards-evaluation-results.js.map +1 -1
  593. package/dist/resolvers/index.d.ts +6 -5
  594. package/dist/resolvers/index.d.ts.map +1 -1
  595. package/dist/resolvers/index.js +7 -6
  596. package/dist/resolvers/index.js.map +1 -1
  597. package/dist/resolvers/loop-context.js +2 -2
  598. package/dist/resolvers/loop-context.js.map +1 -1
  599. package/dist/resolvers/loop-delivery-index.js +2 -2
  600. package/dist/resolvers/loop-delivery-index.js.map +1 -1
  601. package/dist/resolvers/loop-documents.js +2 -2
  602. package/dist/resolvers/loop-documents.js.map +1 -1
  603. package/dist/resolvers/loop-expected-effects.js +2 -2
  604. package/dist/resolvers/loop-expected-effects.js.map +1 -1
  605. package/dist/resolvers/loop-frt-statement.js +2 -2
  606. package/dist/resolvers/loop-frt-statement.js.map +1 -1
  607. package/dist/resolvers/loop-injection.js +2 -2
  608. package/dist/resolvers/loop-injection.js.map +1 -1
  609. package/dist/resolvers/loop-persona.js +3 -3
  610. package/dist/resolvers/loop-persona.js.map +1 -1
  611. package/dist/resolvers/loop-questions.js +2 -2
  612. package/dist/resolvers/loop-questions.js.map +1 -1
  613. package/dist/resolvers/loop-upstream-udes.js +2 -2
  614. package/dist/resolvers/loop-upstream-udes.js.map +1 -1
  615. package/dist/resolvers/prd-context.js +2 -2
  616. package/dist/resolvers/prd-context.js.map +1 -1
  617. package/dist/resolvers/prd-persona.js +1 -1
  618. package/dist/resolvers/prd-persona.js.map +1 -1
  619. package/dist/resolvers/reality-metrics.js +2 -2
  620. package/dist/resolvers/reality-metrics.js.map +1 -1
  621. package/dist/resolvers/reality-projections.js +2 -2
  622. package/dist/resolvers/reality-projections.js.map +1 -1
  623. package/dist/resolvers/reality-tree-snapshot.js +2 -2
  624. package/dist/resolvers/reality-tree-snapshot.js.map +1 -1
  625. package/dist/resolvers/retired-injections.js +2 -2
  626. package/dist/resolvers/retired-injections.js.map +1 -1
  627. package/dist/resolvers/review-outcomes.js +2 -2
  628. package/dist/resolvers/review-outcomes.js.map +1 -1
  629. package/dist/resolvers/security-advisory.js +2 -2
  630. package/dist/resolvers/security-advisory.js.map +1 -1
  631. package/dist/resolvers/shared/loop.d.ts +1 -1
  632. package/dist/resolvers/shared/loop.d.ts.map +1 -1
  633. package/dist/resolvers/shared/wiki.d.ts +2 -1
  634. package/dist/resolvers/shared/wiki.d.ts.map +1 -1
  635. package/dist/resolvers/shared/wiki.js +4 -3
  636. package/dist/resolvers/shared/wiki.js.map +1 -1
  637. package/dist/resolvers/wiki-search.js +1 -1
  638. package/dist/resolvers/wiki-search.js.map +1 -1
  639. package/dist/resolvers/wiki-topic.js +2 -2
  640. package/dist/resolvers/wiki-topic.js.map +1 -1
  641. package/dist/resolvers/workflow-stages.js +2 -2
  642. package/dist/resolvers/workflow-stages.js.map +1 -1
  643. package/dist/scanners/deps.d.ts +1 -1
  644. package/dist/scanners/deps.d.ts.map +1 -1
  645. package/dist/scanners/signatures.d.ts +1 -1
  646. package/dist/scanners/signatures.d.ts.map +1 -1
  647. package/dist/scanners/workflow.d.ts +1 -1
  648. package/dist/scanners/workflow.d.ts.map +1 -1
  649. package/dist/security/security-auto-inject.d.ts.map +1 -0
  650. package/dist/security/security-auto-inject.js +168 -0
  651. package/dist/security/security-auto-inject.js.map +1 -0
  652. package/dist/security/security-finding-gate.d.ts.map +1 -0
  653. package/dist/security/security-finding-gate.js +84 -0
  654. package/dist/security/security-finding-gate.js.map +1 -0
  655. package/dist/security/security-rescan-resolution.d.ts.map +1 -0
  656. package/dist/security/security-rescan-resolution.js +117 -0
  657. package/dist/security/security-rescan-resolution.js.map +1 -0
  658. package/dist/security/security-scan-engine.d.ts +145 -0
  659. package/dist/security/security-scan-engine.d.ts.map +1 -0
  660. package/dist/security/security-scan-engine.js +271 -0
  661. package/dist/security/security-scan-engine.js.map +1 -0
  662. package/dist/session/session-lineage.d.ts.map +1 -0
  663. package/dist/session/session-lineage.js.map +1 -0
  664. package/dist/session/session-stamp.d.ts +63 -0
  665. package/dist/session/session-stamp.d.ts.map +1 -0
  666. package/dist/session/session-stamp.js +67 -0
  667. package/dist/session/session-stamp.js.map +1 -0
  668. package/dist/shell/activity-tracker.d.ts.map +1 -0
  669. package/dist/shell/activity-tracker.js +19 -0
  670. package/dist/shell/activity-tracker.js.map +1 -0
  671. package/dist/shell/agent-state.d.ts.map +1 -0
  672. package/dist/shell/agent-state.js.map +1 -0
  673. package/dist/shell/auth-liveness.d.ts.map +1 -0
  674. package/dist/shell/auth-liveness.js.map +1 -0
  675. package/dist/shell/branch-status.d.ts +97 -0
  676. package/dist/shell/branch-status.d.ts.map +1 -0
  677. package/dist/shell/branch-status.js +299 -0
  678. package/dist/shell/branch-status.js.map +1 -0
  679. package/dist/shell/circuit-wedge-watcher.d.ts +48 -0
  680. package/dist/shell/circuit-wedge-watcher.d.ts.map +1 -0
  681. package/dist/shell/circuit-wedge-watcher.js +94 -0
  682. package/dist/shell/circuit-wedge-watcher.js.map +1 -0
  683. package/dist/shell/config-hot-reload.d.ts +91 -0
  684. package/dist/shell/config-hot-reload.d.ts.map +1 -0
  685. package/dist/shell/config-hot-reload.js.map +1 -0
  686. package/dist/shell/config-reconcile.d.ts +114 -0
  687. package/dist/shell/config-reconcile.d.ts.map +1 -0
  688. package/dist/shell/config-reconcile.js +189 -0
  689. package/dist/shell/config-reconcile.js.map +1 -0
  690. package/dist/shell/config.d.ts +102 -0
  691. package/dist/shell/config.d.ts.map +1 -0
  692. package/dist/shell/config.js +486 -0
  693. package/dist/shell/config.js.map +1 -0
  694. package/dist/shell/constants.d.ts.map +1 -0
  695. package/dist/shell/constants.js.map +1 -0
  696. package/dist/shell/control-state.d.ts +109 -0
  697. package/dist/shell/control-state.d.ts.map +1 -0
  698. package/dist/shell/control-state.js +337 -0
  699. package/dist/shell/control-state.js.map +1 -0
  700. package/dist/shell/crash-recovery.d.ts +141 -0
  701. package/dist/shell/crash-recovery.d.ts.map +1 -0
  702. package/dist/shell/crash-recovery.js +631 -0
  703. package/dist/shell/crash-recovery.js.map +1 -0
  704. package/dist/shell/daemon-logs.d.ts.map +1 -0
  705. package/dist/shell/daemon-logs.js.map +1 -0
  706. package/dist/shell/daemon-process.d.ts.map +1 -0
  707. package/dist/shell/daemon-process.js +463 -0
  708. package/dist/shell/daemon-process.js.map +1 -0
  709. package/dist/shell/daemon-readiness.d.ts.map +1 -0
  710. package/dist/shell/daemon-readiness.js.map +1 -0
  711. package/dist/shell/drain-teardown.d.ts.map +1 -0
  712. package/dist/shell/drain-teardown.js.map +1 -0
  713. package/dist/shell/gitignore-convergence.d.ts.map +1 -0
  714. package/dist/shell/gitignore-convergence.js.map +1 -0
  715. package/dist/shell/health-events.d.ts.map +1 -0
  716. package/dist/shell/health-events.js.map +1 -0
  717. package/dist/shell/heartbeat.d.ts +165 -0
  718. package/dist/shell/heartbeat.d.ts.map +1 -0
  719. package/dist/shell/heartbeat.js +502 -0
  720. package/dist/shell/heartbeat.js.map +1 -0
  721. package/dist/shell/install-probe-tick.d.ts +63 -0
  722. package/dist/shell/install-probe-tick.d.ts.map +1 -0
  723. package/dist/shell/install-probe-tick.js +139 -0
  724. package/dist/shell/install-probe-tick.js.map +1 -0
  725. package/dist/shell/install-probe.d.ts.map +1 -0
  726. package/dist/shell/install-probe.js.map +1 -0
  727. package/dist/shell/intake-control.d.ts.map +1 -0
  728. package/dist/shell/intake-control.js.map +1 -0
  729. package/dist/shell/log-manager.d.ts +18 -0
  730. package/dist/shell/log-manager.d.ts.map +1 -0
  731. package/dist/shell/log-manager.js.map +1 -0
  732. package/dist/shell/log.d.ts.map +1 -0
  733. package/dist/shell/log.js.map +1 -0
  734. package/dist/shell/mcp-resolution.d.ts.map +1 -0
  735. package/dist/shell/mcp-resolution.js.map +1 -0
  736. package/dist/shell/model-resolution.d.ts.map +1 -0
  737. package/dist/shell/model-resolution.js.map +1 -0
  738. package/dist/shell/non-interactive-init.d.ts +40 -0
  739. package/dist/shell/non-interactive-init.d.ts.map +1 -0
  740. package/dist/shell/non-interactive-init.js.map +1 -0
  741. package/dist/shell/product-scaffold.d.ts +56 -0
  742. package/dist/shell/product-scaffold.d.ts.map +1 -0
  743. package/dist/shell/product-scaffold.js +136 -0
  744. package/dist/shell/product-scaffold.js.map +1 -0
  745. package/dist/shell/schema-version-gate.d.ts.map +1 -0
  746. package/dist/shell/schema-version-gate.js +220 -0
  747. package/dist/shell/schema-version-gate.js.map +1 -0
  748. package/dist/shell/shutdown-state.d.ts.map +1 -0
  749. package/dist/shell/shutdown-state.js.map +1 -0
  750. package/dist/shell/stop-request.d.ts.map +1 -0
  751. package/dist/shell/stop-request.js.map +1 -0
  752. package/dist/shell/unified-engine-lifecycle.d.ts +186 -0
  753. package/dist/shell/unified-engine-lifecycle.d.ts.map +1 -0
  754. package/dist/shell/unified-engine-lifecycle.js +594 -0
  755. package/dist/shell/unified-engine-lifecycle.js.map +1 -0
  756. package/dist/shell/unified-init.d.ts +86 -0
  757. package/dist/shell/unified-init.d.ts.map +1 -0
  758. package/dist/shell/unified-init.js +313 -0
  759. package/dist/shell/unified-init.js.map +1 -0
  760. package/dist/shell/unified-shell-config.d.ts +103 -0
  761. package/dist/shell/unified-shell-config.d.ts.map +1 -0
  762. package/dist/shell/unified-shell-config.js.map +1 -0
  763. package/dist/shell/unified-shell-provisioning.d.ts.map +1 -0
  764. package/dist/shell/unified-shell-provisioning.js +277 -0
  765. package/dist/shell/unified-shell-provisioning.js.map +1 -0
  766. package/dist/shell/unified-shell-status.d.ts.map +1 -0
  767. package/dist/shell/unified-shell-status.js +143 -0
  768. package/dist/shell/unified-shell-status.js.map +1 -0
  769. package/dist/shell/unified-shell.d.ts.map +1 -0
  770. package/dist/shell/unified-shell.js +583 -0
  771. package/dist/shell/unified-shell.js.map +1 -0
  772. package/dist/shell/worker-pidfile.d.ts.map +1 -0
  773. package/dist/shell/worker-pidfile.js.map +1 -0
  774. package/dist/spawn/dag-validator.d.ts +52 -0
  775. package/dist/spawn/dag-validator.d.ts.map +1 -0
  776. package/dist/spawn/dag-validator.js.map +1 -0
  777. package/dist/spawn/delivered-manifest.d.ts +1 -1
  778. package/dist/spawn/delivered-manifest.d.ts.map +1 -1
  779. package/dist/spawn/dependency-resolver.d.ts +77 -0
  780. package/dist/spawn/dependency-resolver.d.ts.map +1 -0
  781. package/dist/spawn/dependency-resolver.js.map +1 -0
  782. package/dist/spawn/guards.d.ts.map +1 -0
  783. package/dist/spawn/guards.js +46 -0
  784. package/dist/spawn/guards.js.map +1 -0
  785. package/dist/spawn/helpers.d.ts +86 -0
  786. package/dist/spawn/helpers.d.ts.map +1 -0
  787. package/dist/spawn/helpers.js +220 -0
  788. package/dist/spawn/helpers.js.map +1 -0
  789. package/dist/spawn/index.d.ts +29 -0
  790. package/dist/spawn/index.d.ts.map +1 -0
  791. package/dist/spawn/index.js +37 -0
  792. package/dist/spawn/index.js.map +1 -0
  793. package/dist/spawn/lifecycle.d.ts +148 -0
  794. package/dist/spawn/lifecycle.d.ts.map +1 -0
  795. package/dist/spawn/lifecycle.js +413 -0
  796. package/dist/spawn/lifecycle.js.map +1 -0
  797. package/dist/spawn/liveness.d.ts.map +1 -0
  798. package/dist/spawn/liveness.js +41 -0
  799. package/dist/spawn/liveness.js.map +1 -0
  800. package/dist/spawn/model-routing.d.ts +2 -2
  801. package/dist/spawn/model-routing.d.ts.map +1 -1
  802. package/dist/spawn/model-routing.js +4 -4
  803. package/dist/spawn/model-routing.js.map +1 -1
  804. package/dist/spawn/process-spawn.d.ts +7 -7
  805. package/dist/spawn/process-spawn.d.ts.map +1 -1
  806. package/dist/spawn/process-spawn.js +9 -9
  807. package/dist/spawn/process-spawn.js.map +1 -1
  808. package/dist/spawn/prompt-assembly.d.ts +6 -6
  809. package/dist/spawn/prompt-assembly.d.ts.map +1 -1
  810. package/dist/spawn/prompt-assembly.js +6 -6
  811. package/dist/spawn/prompt-assembly.js.map +1 -1
  812. package/dist/spawn/shared.d.ts +3 -3
  813. package/dist/spawn/shared.d.ts.map +1 -1
  814. package/dist/spawn/shared.js +1 -1
  815. package/dist/spawn/spawn-cooldown.d.ts.map +1 -0
  816. package/dist/spawn/spawn-cooldown.js +53 -0
  817. package/dist/spawn/spawn-cooldown.js.map +1 -0
  818. package/dist/spawn/spawn-decision.d.ts +6 -6
  819. package/dist/spawn/spawn-decision.d.ts.map +1 -1
  820. package/dist/spawn/spawn-decision.js +8 -8
  821. package/dist/spawn/spawn-decision.js.map +1 -1
  822. package/dist/spawn/spawn-environment.d.ts +126 -0
  823. package/dist/spawn/spawn-environment.d.ts.map +1 -0
  824. package/dist/spawn/spawn-environment.js +177 -0
  825. package/dist/spawn/spawn-environment.js.map +1 -0
  826. package/dist/spawn/spawn-sandbox.d.ts +121 -0
  827. package/dist/spawn/spawn-sandbox.d.ts.map +1 -0
  828. package/dist/spawn/spawn-sandbox.js.map +1 -0
  829. package/dist/spawn/state.d.ts.map +1 -0
  830. package/dist/spawn/state.js.map +1 -0
  831. package/dist/spawn/task-converter.d.ts +61 -0
  832. package/dist/spawn/task-converter.d.ts.map +1 -0
  833. package/dist/spawn/task-converter.js.map +1 -0
  834. package/dist/spawn/worker-registry.d.ts.map +1 -0
  835. package/dist/spawn/worker-registry.js.map +1 -0
  836. package/dist/spawn/worktree-session.d.ts +5 -5
  837. package/dist/spawn/worktree-session.d.ts.map +1 -1
  838. package/dist/spawn/worktree-session.js +12 -12
  839. package/dist/spawn/worktree-session.js.map +1 -1
  840. package/dist/types/focus.d.ts +79 -51
  841. package/dist/types/focus.d.ts.map +1 -1
  842. package/dist/update/auto-update-idle.d.ts.map +1 -0
  843. package/dist/update/auto-update-idle.js.map +1 -0
  844. package/dist/update/auto-update.d.ts.map +1 -0
  845. package/dist/update/auto-update.js +317 -0
  846. package/dist/update/auto-update.js.map +1 -0
  847. package/dist/update/build-info.d.ts.map +1 -0
  848. package/dist/update/build-info.js.map +1 -0
  849. package/dist/update/capability-pointer.d.ts.map +1 -0
  850. package/dist/update/capability-pointer.js.map +1 -0
  851. package/dist/update/self-update.d.ts.map +1 -0
  852. package/dist/update/self-update.js +565 -0
  853. package/dist/update/self-update.js.map +1 -0
  854. package/dist/update/version-check.d.ts.map +1 -0
  855. package/dist/update/version-check.js +115 -0
  856. package/dist/update/version-check.js.map +1 -0
  857. package/dist/verify/ai-inspection-context.d.ts +63 -0
  858. package/dist/verify/ai-inspection-context.d.ts.map +1 -0
  859. package/dist/verify/ai-inspection-context.js +203 -0
  860. package/dist/verify/ai-inspection-context.js.map +1 -0
  861. package/dist/verify/ai-inspection-runner.d.ts.map +1 -0
  862. package/dist/verify/ai-inspection-runner.js +256 -0
  863. package/dist/verify/ai-inspection-runner.js.map +1 -0
  864. package/dist/verify/cascade-restatement.d.ts.map +1 -0
  865. package/dist/verify/cascade-restatement.js.map +1 -0
  866. package/dist/verify/de-restatement.d.ts.map +1 -0
  867. package/dist/verify/de-restatement.js +160 -0
  868. package/dist/verify/de-restatement.js.map +1 -0
  869. package/dist/verify/retire-aware-restatement.d.ts.map +1 -0
  870. package/dist/verify/retire-aware-restatement.js +231 -0
  871. package/dist/verify/retire-aware-restatement.js.map +1 -0
  872. package/dist/verify/stall-detector-config.d.ts.map +1 -0
  873. package/dist/verify/stall-detector-config.js.map +1 -0
  874. package/dist/verify/stall-detectors.d.ts +196 -0
  875. package/dist/verify/stall-detectors.d.ts.map +1 -0
  876. package/dist/verify/stall-detectors.js +348 -0
  877. package/dist/verify/stall-detectors.js.map +1 -0
  878. package/dist/verify/verification-baseline.d.ts +112 -0
  879. package/dist/verify/verification-baseline.d.ts.map +1 -0
  880. package/dist/verify/verification-baseline.js +267 -0
  881. package/dist/verify/verification-baseline.js.map +1 -0
  882. package/dist/verify/verification-config.d.ts +146 -0
  883. package/dist/verify/verification-config.d.ts.map +1 -0
  884. package/dist/verify/verification-config.js.map +1 -0
  885. package/dist/verify/verification-default-on.d.ts +160 -0
  886. package/dist/verify/verification-default-on.d.ts.map +1 -0
  887. package/dist/verify/verification-default-on.js +272 -0
  888. package/dist/verify/verification-default-on.js.map +1 -0
  889. package/dist/verify/verification-deps.d.ts +191 -0
  890. package/dist/verify/verification-deps.d.ts.map +1 -0
  891. package/dist/verify/verification-deps.js.map +1 -0
  892. package/dist/verify/verification-deterministic.d.ts +56 -0
  893. package/dist/verify/verification-deterministic.d.ts.map +1 -0
  894. package/dist/verify/verification-deterministic.js +153 -0
  895. package/dist/verify/verification-deterministic.js.map +1 -0
  896. package/dist/verify/verification-engine.d.ts +94 -0
  897. package/dist/verify/verification-engine.d.ts.map +1 -0
  898. package/dist/verify/verification-engine.js +717 -0
  899. package/dist/verify/verification-engine.js.map +1 -0
  900. package/dist/verify/verification-evidence.d.ts +106 -0
  901. package/dist/verify/verification-evidence.d.ts.map +1 -0
  902. package/dist/verify/verification-evidence.js +159 -0
  903. package/dist/verify/verification-evidence.js.map +1 -0
  904. package/dist/verify/verification-failure-parser.d.ts.map +1 -0
  905. package/dist/verify/verification-failure-parser.js.map +1 -0
  906. package/dist/verify/verification-feedback.d.ts +173 -0
  907. package/dist/verify/verification-feedback.d.ts.map +1 -0
  908. package/dist/verify/verification-feedback.js +442 -0
  909. package/dist/verify/verification-feedback.js.map +1 -0
  910. package/dist/verify/verification-manifest.d.ts.map +1 -0
  911. package/dist/verify/verification-manifest.js.map +1 -0
  912. package/dist/verify/verify-reconciliation.d.ts.map +1 -0
  913. package/dist/verify/verify-reconciliation.js.map +1 -0
  914. package/dist/verify/verify-restatement.d.ts.map +1 -0
  915. package/dist/verify/verify-restatement.js +167 -0
  916. package/dist/verify/verify-restatement.js.map +1 -0
  917. package/dist/workflow/pipeline-config.d.ts +72 -0
  918. package/dist/workflow/pipeline-config.d.ts.map +1 -0
  919. package/dist/workflow/pipeline-config.js.map +1 -0
  920. package/dist/workflow/stage-classifier.d.ts +32 -0
  921. package/dist/workflow/stage-classifier.d.ts.map +1 -0
  922. package/dist/workflow/stage-classifier.js.map +1 -0
  923. package/dist/workflow/workflow-engine.d.ts +95 -0
  924. package/dist/workflow/workflow-engine.d.ts.map +1 -0
  925. package/dist/workflow/workflow-engine.js.map +1 -0
  926. package/dist/worktree/focus.d.ts +15 -70
  927. package/dist/worktree/focus.d.ts.map +1 -1
  928. package/dist/worktree/focus.js +16 -180
  929. package/dist/worktree/focus.js.map +1 -1
  930. package/dist/worktree/identity.js +1 -1
  931. package/dist/worktree/identity.js.map +1 -1
  932. package/dist/worktree/index.d.ts +1 -1
  933. package/dist/worktree/index.js +1 -1
  934. package/dist/worktree/provision.d.ts +147 -0
  935. package/dist/worktree/provision.d.ts.map +1 -0
  936. package/dist/worktree/provision.js +467 -0
  937. package/dist/worktree/provision.js.map +1 -0
  938. package/dist/worktree/reap.js +1 -1
  939. package/dist/worktree/reap.js.map +1 -1
  940. package/dist/worktree/safety.js +1 -1
  941. package/dist/worktree/safety.js.map +1 -1
  942. package/dist/worktree/scratch-guard.js +1 -1
  943. package/dist/worktree/scratch-guard.js.map +1 -1
  944. package/dist/worktree/state.d.ts +1 -1
  945. package/dist/worktree/state.d.ts.map +1 -1
  946. package/dist/worktree/state.js +3 -3
  947. package/dist/worktree/state.js.map +1 -1
  948. package/dist/worktree/verify-interlock.js +1 -1
  949. package/dist/worktree/verify-interlock.js.map +1 -1
  950. package/package.json +4 -4
  951. package/dist/activity-tracker.d.ts.map +0 -1
  952. package/dist/activity-tracker.js +0 -19
  953. package/dist/activity-tracker.js.map +0 -1
  954. package/dist/agent-state.d.ts.map +0 -1
  955. package/dist/agent-state.js.map +0 -1
  956. package/dist/ai-inspection-context.d.ts +0 -63
  957. package/dist/ai-inspection-context.d.ts.map +0 -1
  958. package/dist/ai-inspection-context.js +0 -203
  959. package/dist/ai-inspection-context.js.map +0 -1
  960. package/dist/ai-inspection-runner.d.ts.map +0 -1
  961. package/dist/ai-inspection-runner.js +0 -256
  962. package/dist/ai-inspection-runner.js.map +0 -1
  963. package/dist/assembly-engine.d.ts +0 -114
  964. package/dist/assembly-engine.d.ts.map +0 -1
  965. package/dist/assembly-engine.js +0 -137
  966. package/dist/assembly-engine.js.map +0 -1
  967. package/dist/assembly-resolvers.d.ts +0 -28
  968. package/dist/assembly-resolvers.d.ts.map +0 -1
  969. package/dist/assembly-resolvers.js +0 -30
  970. package/dist/assembly-resolvers.js.map +0 -1
  971. package/dist/audit-hooks.d.ts +0 -122
  972. package/dist/audit-hooks.d.ts.map +0 -1
  973. package/dist/audit-hooks.js +0 -274
  974. package/dist/audit-hooks.js.map +0 -1
  975. package/dist/audit-phase.d.ts +0 -171
  976. package/dist/audit-phase.d.ts.map +0 -1
  977. package/dist/audit-phase.js +0 -491
  978. package/dist/audit-phase.js.map +0 -1
  979. package/dist/audit-prompt.d.ts.map +0 -1
  980. package/dist/audit-prompt.js.map +0 -1
  981. package/dist/audit-shape.d.ts.map +0 -1
  982. package/dist/audit-shape.js.map +0 -1
  983. package/dist/auth-liveness.d.ts.map +0 -1
  984. package/dist/auth-liveness.js.map +0 -1
  985. package/dist/auto-update-idle.d.ts.map +0 -1
  986. package/dist/auto-update-idle.js.map +0 -1
  987. package/dist/auto-update.d.ts.map +0 -1
  988. package/dist/auto-update.js +0 -317
  989. package/dist/auto-update.js.map +0 -1
  990. package/dist/branch-status.d.ts +0 -79
  991. package/dist/branch-status.d.ts.map +0 -1
  992. package/dist/branch-status.js +0 -292
  993. package/dist/branch-status.js.map +0 -1
  994. package/dist/build-info.d.ts.map +0 -1
  995. package/dist/build-info.js.map +0 -1
  996. package/dist/capability-pointer.d.ts.map +0 -1
  997. package/dist/capability-pointer.js.map +0 -1
  998. package/dist/cascade-restatement.d.ts.map +0 -1
  999. package/dist/cascade-restatement.js.map +0 -1
  1000. package/dist/ci-escalation.d.ts.map +0 -1
  1001. package/dist/ci-escalation.js +0 -66
  1002. package/dist/ci-escalation.js.map +0 -1
  1003. package/dist/ci-sensor-loop.d.ts +0 -112
  1004. package/dist/ci-sensor-loop.d.ts.map +0 -1
  1005. package/dist/ci-sensor-loop.js +0 -243
  1006. package/dist/ci-sensor-loop.js.map +0 -1
  1007. package/dist/ci-status-git.d.ts +0 -53
  1008. package/dist/ci-status-git.d.ts.map +0 -1
  1009. package/dist/ci-status-git.js +0 -89
  1010. package/dist/ci-status-git.js.map +0 -1
  1011. package/dist/ci-status.d.ts +0 -137
  1012. package/dist/ci-status.d.ts.map +0 -1
  1013. package/dist/ci-status.js.map +0 -1
  1014. package/dist/circuit-wedge-watcher.d.ts +0 -48
  1015. package/dist/circuit-wedge-watcher.d.ts.map +0 -1
  1016. package/dist/circuit-wedge-watcher.js +0 -94
  1017. package/dist/circuit-wedge-watcher.js.map +0 -1
  1018. package/dist/close-loop-dispatcher.d.ts +0 -325
  1019. package/dist/close-loop-dispatcher.d.ts.map +0 -1
  1020. package/dist/close-loop-dispatcher.js +0 -362
  1021. package/dist/close-loop-dispatcher.js.map +0 -1
  1022. package/dist/condition-evaluators.d.ts +0 -70
  1023. package/dist/condition-evaluators.d.ts.map +0 -1
  1024. package/dist/condition-evaluators.js +0 -203
  1025. package/dist/condition-evaluators.js.map +0 -1
  1026. package/dist/config-hot-reload.d.ts +0 -91
  1027. package/dist/config-hot-reload.d.ts.map +0 -1
  1028. package/dist/config-hot-reload.js.map +0 -1
  1029. package/dist/config-reconcile.d.ts +0 -114
  1030. package/dist/config-reconcile.d.ts.map +0 -1
  1031. package/dist/config-reconcile.js +0 -189
  1032. package/dist/config-reconcile.js.map +0 -1
  1033. package/dist/config.d.ts +0 -102
  1034. package/dist/config.d.ts.map +0 -1
  1035. package/dist/config.js +0 -486
  1036. package/dist/config.js.map +0 -1
  1037. package/dist/constants.d.ts.map +0 -1
  1038. package/dist/constants.js.map +0 -1
  1039. package/dist/context-audit.d.ts +0 -68
  1040. package/dist/context-audit.d.ts.map +0 -1
  1041. package/dist/context-audit.js.map +0 -1
  1042. package/dist/context-lock.d.ts +0 -129
  1043. package/dist/context-lock.d.ts.map +0 -1
  1044. package/dist/context-lock.js.map +0 -1
  1045. package/dist/control-state.d.ts +0 -109
  1046. package/dist/control-state.d.ts.map +0 -1
  1047. package/dist/control-state.js +0 -337
  1048. package/dist/control-state.js.map +0 -1
  1049. package/dist/crash-recovery.d.ts +0 -141
  1050. package/dist/crash-recovery.d.ts.map +0 -1
  1051. package/dist/crash-recovery.js +0 -631
  1052. package/dist/crash-recovery.js.map +0 -1
  1053. package/dist/daemon-logs.d.ts.map +0 -1
  1054. package/dist/daemon-logs.js.map +0 -1
  1055. package/dist/daemon-process.d.ts.map +0 -1
  1056. package/dist/daemon-process.js +0 -463
  1057. package/dist/daemon-process.js.map +0 -1
  1058. package/dist/daemon-readiness.d.ts.map +0 -1
  1059. package/dist/daemon-readiness.js.map +0 -1
  1060. package/dist/dag-validator.d.ts +0 -52
  1061. package/dist/dag-validator.d.ts.map +0 -1
  1062. package/dist/dag-validator.js.map +0 -1
  1063. package/dist/de-restatement.d.ts.map +0 -1
  1064. package/dist/de-restatement.js +0 -160
  1065. package/dist/de-restatement.js.map +0 -1
  1066. package/dist/delivery-advance-block.d.ts +0 -143
  1067. package/dist/delivery-advance-block.d.ts.map +0 -1
  1068. package/dist/delivery-advance-block.js +0 -360
  1069. package/dist/delivery-advance-block.js.map +0 -1
  1070. package/dist/delivery-artifacts.d.ts +0 -26
  1071. package/dist/delivery-artifacts.d.ts.map +0 -1
  1072. package/dist/delivery-artifacts.js +0 -56
  1073. package/dist/delivery-artifacts.js.map +0 -1
  1074. package/dist/delivery-close-actions.d.ts +0 -39
  1075. package/dist/delivery-close-actions.d.ts.map +0 -1
  1076. package/dist/delivery-close-actions.js +0 -53
  1077. package/dist/delivery-close-actions.js.map +0 -1
  1078. package/dist/delivery-lifecycle.d.ts +0 -144
  1079. package/dist/delivery-lifecycle.d.ts.map +0 -1
  1080. package/dist/delivery-lifecycle.js +0 -495
  1081. package/dist/delivery-lifecycle.js.map +0 -1
  1082. package/dist/delivery-merge.d.ts +0 -17
  1083. package/dist/delivery-merge.d.ts.map +0 -1
  1084. package/dist/delivery-merge.js +0 -95
  1085. package/dist/delivery-merge.js.map +0 -1
  1086. package/dist/delivery-reconciler-apply.d.ts.map +0 -1
  1087. package/dist/delivery-reconciler-apply.js +0 -77
  1088. package/dist/delivery-reconciler-apply.js.map +0 -1
  1089. package/dist/delivery-reconciler-shadow.d.ts +0 -65
  1090. package/dist/delivery-reconciler-shadow.d.ts.map +0 -1
  1091. package/dist/delivery-reconciler-shadow.js +0 -126
  1092. package/dist/delivery-reconciler-shadow.js.map +0 -1
  1093. package/dist/delivery-reconciler.d.ts +0 -217
  1094. package/dist/delivery-reconciler.d.ts.map +0 -1
  1095. package/dist/delivery-reconciler.js +0 -249
  1096. package/dist/delivery-reconciler.js.map +0 -1
  1097. package/dist/dependency-resolver.d.ts +0 -77
  1098. package/dist/dependency-resolver.d.ts.map +0 -1
  1099. package/dist/dependency-resolver.js.map +0 -1
  1100. package/dist/directive-executor.d.ts +0 -37
  1101. package/dist/directive-executor.d.ts.map +0 -1
  1102. package/dist/directive-executor.js +0 -241
  1103. package/dist/directive-executor.js.map +0 -1
  1104. package/dist/discovery-poll.d.ts +0 -23
  1105. package/dist/discovery-poll.d.ts.map +0 -1
  1106. package/dist/discovery-poll.js +0 -99
  1107. package/dist/discovery-poll.js.map +0 -1
  1108. package/dist/drain-teardown.d.ts.map +0 -1
  1109. package/dist/drain-teardown.js.map +0 -1
  1110. package/dist/drift-eval-loop.d.ts +0 -71
  1111. package/dist/drift-eval-loop.d.ts.map +0 -1
  1112. package/dist/drift-eval-loop.js +0 -259
  1113. package/dist/drift-eval-loop.js.map +0 -1
  1114. package/dist/drift-evaluator.d.ts.map +0 -1
  1115. package/dist/drift-evaluator.js.map +0 -1
  1116. package/dist/drift-ratify-policy.d.ts.map +0 -1
  1117. package/dist/drift-ratify-policy.js.map +0 -1
  1118. package/dist/escalation-provenance.d.ts +0 -64
  1119. package/dist/escalation-provenance.d.ts.map +0 -1
  1120. package/dist/escalation-provenance.js +0 -200
  1121. package/dist/escalation-provenance.js.map +0 -1
  1122. package/dist/escalations.d.ts +0 -85
  1123. package/dist/escalations.d.ts.map +0 -1
  1124. package/dist/escalations.js +0 -91
  1125. package/dist/escalations.js.map +0 -1
  1126. package/dist/evaluation-context.d.ts.map +0 -1
  1127. package/dist/evaluation-context.js +0 -44
  1128. package/dist/evaluation-context.js.map +0 -1
  1129. package/dist/external-hold.d.ts +0 -146
  1130. package/dist/external-hold.d.ts.map +0 -1
  1131. package/dist/external-hold.js +0 -223
  1132. package/dist/external-hold.js.map +0 -1
  1133. package/dist/focus-branch-ahead.d.ts +0 -42
  1134. package/dist/focus-branch-ahead.d.ts.map +0 -1
  1135. package/dist/focus-branch-ahead.js +0 -45
  1136. package/dist/focus-branch-ahead.js.map +0 -1
  1137. package/dist/focus-branch-identity.d.ts +0 -62
  1138. package/dist/focus-branch-identity.d.ts.map +0 -1
  1139. package/dist/focus-branch-identity.js +0 -59
  1140. package/dist/focus-branch-identity.js.map +0 -1
  1141. package/dist/focus-engine.d.ts +0 -74
  1142. package/dist/focus-engine.d.ts.map +0 -1
  1143. package/dist/focus-engine.js +0 -528
  1144. package/dist/focus-engine.js.map +0 -1
  1145. package/dist/focus-executor.d.ts +0 -80
  1146. package/dist/focus-executor.d.ts.map +0 -1
  1147. package/dist/focus-executor.js +0 -420
  1148. package/dist/focus-executor.js.map +0 -1
  1149. package/dist/focus-lifecycle.d.ts +0 -60
  1150. package/dist/focus-lifecycle.d.ts.map +0 -1
  1151. package/dist/focus-lifecycle.js +0 -537
  1152. package/dist/focus-lifecycle.js.map +0 -1
  1153. package/dist/focus-loop-registry.d.ts +0 -52
  1154. package/dist/focus-loop-registry.d.ts.map +0 -1
  1155. package/dist/focus-loop-registry.js +0 -362
  1156. package/dist/focus-loop-registry.js.map +0 -1
  1157. package/dist/focus-loop.d.ts +0 -96
  1158. package/dist/focus-loop.d.ts.map +0 -1
  1159. package/dist/focus-loop.js +0 -364
  1160. package/dist/focus-loop.js.map +0 -1
  1161. package/dist/focus-merge.d.ts +0 -131
  1162. package/dist/focus-merge.d.ts.map +0 -1
  1163. package/dist/focus-merge.js +0 -556
  1164. package/dist/focus-merge.js.map +0 -1
  1165. package/dist/focus-phase.d.ts.map +0 -1
  1166. package/dist/focus-phase.js.map +0 -1
  1167. package/dist/focus-prompt-builder.d.ts +0 -35
  1168. package/dist/focus-prompt-builder.d.ts.map +0 -1
  1169. package/dist/focus-prompt-builder.js +0 -119
  1170. package/dist/focus-prompt-builder.js.map +0 -1
  1171. package/dist/focus-provisioning.d.ts +0 -16
  1172. package/dist/focus-provisioning.d.ts.map +0 -1
  1173. package/dist/focus-provisioning.js +0 -122
  1174. package/dist/focus-provisioning.js.map +0 -1
  1175. package/dist/focus-respawn-guard.d.ts +0 -27
  1176. package/dist/focus-respawn-guard.d.ts.map +0 -1
  1177. package/dist/focus-respawn-guard.js +0 -77
  1178. package/dist/focus-respawn-guard.js.map +0 -1
  1179. package/dist/focus-stage-lifecycle.d.ts +0 -63
  1180. package/dist/focus-stage-lifecycle.d.ts.map +0 -1
  1181. package/dist/focus-stage-lifecycle.js +0 -179
  1182. package/dist/focus-stage-lifecycle.js.map +0 -1
  1183. package/dist/focus-team-state.d.ts +0 -94
  1184. package/dist/focus-team-state.d.ts.map +0 -1
  1185. package/dist/focus-team-state.js +0 -182
  1186. package/dist/focus-team-state.js.map +0 -1
  1187. package/dist/focus-worktree-state.d.ts +0 -58
  1188. package/dist/focus-worktree-state.d.ts.map +0 -1
  1189. package/dist/focus-worktree-state.js +0 -115
  1190. package/dist/focus-worktree-state.js.map +0 -1
  1191. package/dist/git/merge-helpers.d.ts +0 -48
  1192. package/dist/git/merge-helpers.d.ts.map +0 -1
  1193. package/dist/git/merge-helpers.js +0 -107
  1194. package/dist/git/merge-helpers.js.map +0 -1
  1195. package/dist/git/merge-strategies.d.ts +0 -49
  1196. package/dist/git/merge-strategies.d.ts.map +0 -1
  1197. package/dist/git/merge-strategies.js +0 -137
  1198. package/dist/git/merge-strategies.js.map +0 -1
  1199. package/dist/git.d.ts +0 -24
  1200. package/dist/git.d.ts.map +0 -1
  1201. package/dist/git.js +0 -114
  1202. package/dist/git.js.map +0 -1
  1203. package/dist/gitignore-convergence.d.ts.map +0 -1
  1204. package/dist/gitignore-convergence.js.map +0 -1
  1205. package/dist/guard-engine.d.ts +0 -19
  1206. package/dist/guard-engine.d.ts.map +0 -1
  1207. package/dist/guard-engine.js +0 -20
  1208. package/dist/guard-engine.js.map +0 -1
  1209. package/dist/guard-evaluator.d.ts +0 -47
  1210. package/dist/guard-evaluator.d.ts.map +0 -1
  1211. package/dist/guard-evaluator.js +0 -195
  1212. package/dist/guard-evaluator.js.map +0 -1
  1213. package/dist/health-events.d.ts.map +0 -1
  1214. package/dist/health-events.js.map +0 -1
  1215. package/dist/heartbeat.d.ts +0 -165
  1216. package/dist/heartbeat.d.ts.map +0 -1
  1217. package/dist/heartbeat.js +0 -501
  1218. package/dist/heartbeat.js.map +0 -1
  1219. package/dist/install-probe-tick.d.ts +0 -63
  1220. package/dist/install-probe-tick.d.ts.map +0 -1
  1221. package/dist/install-probe-tick.js +0 -139
  1222. package/dist/install-probe-tick.js.map +0 -1
  1223. package/dist/install-probe.d.ts.map +0 -1
  1224. package/dist/install-probe.js.map +0 -1
  1225. package/dist/intake-control.d.ts.map +0 -1
  1226. package/dist/intake-control.js.map +0 -1
  1227. package/dist/listener-auto-advance.d.ts +0 -115
  1228. package/dist/listener-auto-advance.d.ts.map +0 -1
  1229. package/dist/listener-auto-advance.js +0 -621
  1230. package/dist/listener-auto-advance.js.map +0 -1
  1231. package/dist/listener.d.ts +0 -101
  1232. package/dist/listener.d.ts.map +0 -1
  1233. package/dist/listener.js +0 -770
  1234. package/dist/listener.js.map +0 -1
  1235. package/dist/log-manager.d.ts +0 -18
  1236. package/dist/log-manager.d.ts.map +0 -1
  1237. package/dist/log-manager.js.map +0 -1
  1238. package/dist/log.d.ts.map +0 -1
  1239. package/dist/log.js.map +0 -1
  1240. package/dist/mcp-resolution.d.ts.map +0 -1
  1241. package/dist/mcp-resolution.js.map +0 -1
  1242. package/dist/merge-back-loop.d.ts +0 -109
  1243. package/dist/merge-back-loop.d.ts.map +0 -1
  1244. package/dist/merge-back-loop.js +0 -498
  1245. package/dist/merge-back-loop.js.map +0 -1
  1246. package/dist/merge-detector.d.ts +0 -55
  1247. package/dist/merge-detector.d.ts.map +0 -1
  1248. package/dist/merge-detector.js +0 -222
  1249. package/dist/merge-detector.js.map +0 -1
  1250. package/dist/merge-failure-classify.d.ts +0 -39
  1251. package/dist/merge-failure-classify.d.ts.map +0 -1
  1252. package/dist/merge-failure-classify.js +0 -58
  1253. package/dist/merge-failure-classify.js.map +0 -1
  1254. package/dist/model-resolution.d.ts.map +0 -1
  1255. package/dist/model-resolution.js.map +0 -1
  1256. package/dist/non-interactive-init.d.ts +0 -40
  1257. package/dist/non-interactive-init.d.ts.map +0 -1
  1258. package/dist/non-interactive-init.js.map +0 -1
  1259. package/dist/onboarding-directive.d.ts.map +0 -1
  1260. package/dist/onboarding-directive.js.map +0 -1
  1261. package/dist/operator-hold.d.ts +0 -66
  1262. package/dist/operator-hold.d.ts.map +0 -1
  1263. package/dist/operator-hold.js +0 -99
  1264. package/dist/operator-hold.js.map +0 -1
  1265. package/dist/otlp/port-manager.d.ts +0 -26
  1266. package/dist/otlp/port-manager.d.ts.map +0 -1
  1267. package/dist/otlp/port-manager.js +0 -132
  1268. package/dist/otlp/port-manager.js.map +0 -1
  1269. package/dist/output-monitor.d.ts +0 -38
  1270. package/dist/output-monitor.d.ts.map +0 -1
  1271. package/dist/output-monitor.js +0 -92
  1272. package/dist/output-monitor.js.map +0 -1
  1273. package/dist/pipeline-config.d.ts +0 -72
  1274. package/dist/pipeline-config.d.ts.map +0 -1
  1275. package/dist/pipeline-config.js.map +0 -1
  1276. package/dist/planning-prompt-builder.d.ts +0 -69
  1277. package/dist/planning-prompt-builder.d.ts.map +0 -1
  1278. package/dist/planning-prompt-builder.js +0 -517
  1279. package/dist/planning-prompt-builder.js.map +0 -1
  1280. package/dist/product-scaffold.d.ts +0 -56
  1281. package/dist/product-scaffold.d.ts.map +0 -1
  1282. package/dist/product-scaffold.js +0 -136
  1283. package/dist/product-scaffold.js.map +0 -1
  1284. package/dist/prompt-contradictions.d.ts.map +0 -1
  1285. package/dist/prompt-contradictions.js.map +0 -1
  1286. package/dist/prompt-listing.d.ts +0 -70
  1287. package/dist/prompt-listing.d.ts.map +0 -1
  1288. package/dist/prompt-listing.js.map +0 -1
  1289. package/dist/realign-apply.d.ts +0 -65
  1290. package/dist/realign-apply.d.ts.map +0 -1
  1291. package/dist/realign-apply.js +0 -302
  1292. package/dist/realign-apply.js.map +0 -1
  1293. package/dist/reality-pole-capture.d.ts.map +0 -1
  1294. package/dist/reality-pole-capture.js +0 -114
  1295. package/dist/reality-pole-capture.js.map +0 -1
  1296. package/dist/reality-pole.d.ts +0 -64
  1297. package/dist/reality-pole.d.ts.map +0 -1
  1298. package/dist/reality-pole.js +0 -101
  1299. package/dist/reality-pole.js.map +0 -1
  1300. package/dist/reality-writeback.d.ts.map +0 -1
  1301. package/dist/reality-writeback.js.map +0 -1
  1302. package/dist/resolver-dispatch.d.ts.map +0 -1
  1303. package/dist/resolver-dispatch.js.map +0 -1
  1304. package/dist/resolver-reach.d.ts +0 -192
  1305. package/dist/resolver-reach.d.ts.map +0 -1
  1306. package/dist/resolver-reach.js +0 -168
  1307. package/dist/resolver-reach.js.map +0 -1
  1308. package/dist/retention-observation.d.ts.map +0 -1
  1309. package/dist/retention-observation.js.map +0 -1
  1310. package/dist/retire-aware-restatement.d.ts.map +0 -1
  1311. package/dist/retire-aware-restatement.js +0 -231
  1312. package/dist/retire-aware-restatement.js.map +0 -1
  1313. package/dist/review-defect-detector.d.ts +0 -82
  1314. package/dist/review-defect-detector.d.ts.map +0 -1
  1315. package/dist/review-defect-detector.js +0 -148
  1316. package/dist/review-defect-detector.js.map +0 -1
  1317. package/dist/review-spawn-coverage-guard.d.ts.map +0 -1
  1318. package/dist/review-spawn-coverage-guard.js.map +0 -1
  1319. package/dist/schema-version-gate.d.ts.map +0 -1
  1320. package/dist/schema-version-gate.js +0 -220
  1321. package/dist/schema-version-gate.js.map +0 -1
  1322. package/dist/security-auto-inject.d.ts.map +0 -1
  1323. package/dist/security-auto-inject.js +0 -168
  1324. package/dist/security-auto-inject.js.map +0 -1
  1325. package/dist/security-finding-gate.d.ts.map +0 -1
  1326. package/dist/security-finding-gate.js +0 -84
  1327. package/dist/security-finding-gate.js.map +0 -1
  1328. package/dist/security-rescan-resolution.d.ts.map +0 -1
  1329. package/dist/security-rescan-resolution.js +0 -117
  1330. package/dist/security-rescan-resolution.js.map +0 -1
  1331. package/dist/security-scan-engine.d.ts +0 -145
  1332. package/dist/security-scan-engine.d.ts.map +0 -1
  1333. package/dist/security-scan-engine.js +0 -271
  1334. package/dist/security-scan-engine.js.map +0 -1
  1335. package/dist/self-update.d.ts.map +0 -1
  1336. package/dist/self-update.js +0 -565
  1337. package/dist/self-update.js.map +0 -1
  1338. package/dist/sensor-sweep.d.ts +0 -194
  1339. package/dist/sensor-sweep.d.ts.map +0 -1
  1340. package/dist/sensor-sweep.js +0 -458
  1341. package/dist/sensor-sweep.js.map +0 -1
  1342. package/dist/session-lineage.d.ts.map +0 -1
  1343. package/dist/session-lineage.js.map +0 -1
  1344. package/dist/session-stamp.d.ts +0 -63
  1345. package/dist/session-stamp.d.ts.map +0 -1
  1346. package/dist/session-stamp.js +0 -67
  1347. package/dist/session-stamp.js.map +0 -1
  1348. package/dist/shutdown-state.d.ts.map +0 -1
  1349. package/dist/shutdown-state.js.map +0 -1
  1350. package/dist/spawn-cooldown.d.ts.map +0 -1
  1351. package/dist/spawn-cooldown.js +0 -53
  1352. package/dist/spawn-cooldown.js.map +0 -1
  1353. package/dist/spawn-environment.d.ts +0 -126
  1354. package/dist/spawn-environment.d.ts.map +0 -1
  1355. package/dist/spawn-environment.js +0 -177
  1356. package/dist/spawn-environment.js.map +0 -1
  1357. package/dist/spawn-sandbox.d.ts +0 -121
  1358. package/dist/spawn-sandbox.d.ts.map +0 -1
  1359. package/dist/spawn-sandbox.js.map +0 -1
  1360. package/dist/spawner/guards.d.ts.map +0 -1
  1361. package/dist/spawner/guards.js +0 -46
  1362. package/dist/spawner/guards.js.map +0 -1
  1363. package/dist/spawner/helpers.d.ts +0 -69
  1364. package/dist/spawner/helpers.d.ts.map +0 -1
  1365. package/dist/spawner/helpers.js +0 -215
  1366. package/dist/spawner/helpers.js.map +0 -1
  1367. package/dist/spawner/index.d.ts +0 -31
  1368. package/dist/spawner/index.d.ts.map +0 -1
  1369. package/dist/spawner/index.js +0 -39
  1370. package/dist/spawner/index.js.map +0 -1
  1371. package/dist/spawner/lifecycle.d.ts +0 -148
  1372. package/dist/spawner/lifecycle.d.ts.map +0 -1
  1373. package/dist/spawner/lifecycle.js +0 -413
  1374. package/dist/spawner/lifecycle.js.map +0 -1
  1375. package/dist/spawner/liveness.d.ts.map +0 -1
  1376. package/dist/spawner/liveness.js +0 -41
  1377. package/dist/spawner/liveness.js.map +0 -1
  1378. package/dist/spawner/resolution.d.ts +0 -27
  1379. package/dist/spawner/resolution.d.ts.map +0 -1
  1380. package/dist/spawner/resolution.js +0 -101
  1381. package/dist/spawner/resolution.js.map +0 -1
  1382. package/dist/spawner/state.d.ts.map +0 -1
  1383. package/dist/spawner/state.js.map +0 -1
  1384. package/dist/spawner/stream-handlers.d.ts +0 -19
  1385. package/dist/spawner/stream-handlers.d.ts.map +0 -1
  1386. package/dist/spawner/stream-handlers.js +0 -34
  1387. package/dist/spawner/stream-handlers.js.map +0 -1
  1388. package/dist/spawner/worker-registry.d.ts.map +0 -1
  1389. package/dist/spawner/worker-registry.js.map +0 -1
  1390. package/dist/stage-classifier.d.ts +0 -32
  1391. package/dist/stage-classifier.d.ts.map +0 -1
  1392. package/dist/stage-classifier.js.map +0 -1
  1393. package/dist/staleness-sensor.d.ts +0 -176
  1394. package/dist/staleness-sensor.d.ts.map +0 -1
  1395. package/dist/staleness-sensor.js +0 -335
  1396. package/dist/staleness-sensor.js.map +0 -1
  1397. package/dist/staleness.d.ts +0 -134
  1398. package/dist/staleness.d.ts.map +0 -1
  1399. package/dist/staleness.js +0 -249
  1400. package/dist/staleness.js.map +0 -1
  1401. package/dist/stall-detector-config.d.ts.map +0 -1
  1402. package/dist/stall-detector-config.js.map +0 -1
  1403. package/dist/stall-detectors.d.ts +0 -196
  1404. package/dist/stall-detectors.d.ts.map +0 -1
  1405. package/dist/stall-detectors.js +0 -348
  1406. package/dist/stall-detectors.js.map +0 -1
  1407. package/dist/state-cascade.d.ts +0 -90
  1408. package/dist/state-cascade.d.ts.map +0 -1
  1409. package/dist/state-cascade.js +0 -230
  1410. package/dist/state-cascade.js.map +0 -1
  1411. package/dist/stop-request.d.ts.map +0 -1
  1412. package/dist/stop-request.js.map +0 -1
  1413. package/dist/supabase.d.ts +0 -38
  1414. package/dist/supabase.d.ts.map +0 -1
  1415. package/dist/supabase.js +0 -52
  1416. package/dist/supabase.js.map +0 -1
  1417. package/dist/task-converter.d.ts +0 -61
  1418. package/dist/task-converter.d.ts.map +0 -1
  1419. package/dist/task-converter.js.map +0 -1
  1420. package/dist/task-dag-builder.d.ts +0 -14
  1421. package/dist/task-dag-builder.d.ts.map +0 -1
  1422. package/dist/task-dag-builder.js +0 -17
  1423. package/dist/task-dag-builder.js.map +0 -1
  1424. package/dist/team-prompt-base.d.ts +0 -43
  1425. package/dist/team-prompt-base.d.ts.map +0 -1
  1426. package/dist/team-prompt-base.js +0 -123
  1427. package/dist/team-prompt-base.js.map +0 -1
  1428. package/dist/telemetry-writer.d.ts +0 -89
  1429. package/dist/telemetry-writer.d.ts.map +0 -1
  1430. package/dist/telemetry-writer.js +0 -212
  1431. package/dist/telemetry-writer.js.map +0 -1
  1432. package/dist/trigger-executor.d.ts +0 -85
  1433. package/dist/trigger-executor.d.ts.map +0 -1
  1434. package/dist/trigger-executor.js +0 -437
  1435. package/dist/trigger-executor.js.map +0 -1
  1436. package/dist/types.d.ts +0 -9
  1437. package/dist/types.d.ts.map +0 -1
  1438. package/dist/types.js +0 -9
  1439. package/dist/types.js.map +0 -1
  1440. package/dist/unified-engine-lifecycle.d.ts +0 -186
  1441. package/dist/unified-engine-lifecycle.d.ts.map +0 -1
  1442. package/dist/unified-engine-lifecycle.js +0 -594
  1443. package/dist/unified-engine-lifecycle.js.map +0 -1
  1444. package/dist/unified-init.d.ts +0 -86
  1445. package/dist/unified-init.d.ts.map +0 -1
  1446. package/dist/unified-init.js +0 -313
  1447. package/dist/unified-init.js.map +0 -1
  1448. package/dist/unified-shell-config.d.ts +0 -103
  1449. package/dist/unified-shell-config.d.ts.map +0 -1
  1450. package/dist/unified-shell-config.js.map +0 -1
  1451. package/dist/unified-shell-provisioning.d.ts.map +0 -1
  1452. package/dist/unified-shell-provisioning.js +0 -277
  1453. package/dist/unified-shell-provisioning.js.map +0 -1
  1454. package/dist/unified-shell-status.d.ts.map +0 -1
  1455. package/dist/unified-shell-status.js +0 -143
  1456. package/dist/unified-shell-status.js.map +0 -1
  1457. package/dist/unified-shell.d.ts.map +0 -1
  1458. package/dist/unified-shell.js +0 -583
  1459. package/dist/unified-shell.js.map +0 -1
  1460. package/dist/verification-baseline.d.ts +0 -112
  1461. package/dist/verification-baseline.d.ts.map +0 -1
  1462. package/dist/verification-baseline.js +0 -267
  1463. package/dist/verification-baseline.js.map +0 -1
  1464. package/dist/verification-config.d.ts +0 -146
  1465. package/dist/verification-config.d.ts.map +0 -1
  1466. package/dist/verification-config.js.map +0 -1
  1467. package/dist/verification-default-on.d.ts +0 -159
  1468. package/dist/verification-default-on.d.ts.map +0 -1
  1469. package/dist/verification-default-on.js +0 -272
  1470. package/dist/verification-default-on.js.map +0 -1
  1471. package/dist/verification-deps.d.ts +0 -190
  1472. package/dist/verification-deps.d.ts.map +0 -1
  1473. package/dist/verification-deps.js.map +0 -1
  1474. package/dist/verification-deterministic.d.ts +0 -56
  1475. package/dist/verification-deterministic.d.ts.map +0 -1
  1476. package/dist/verification-deterministic.js +0 -153
  1477. package/dist/verification-deterministic.js.map +0 -1
  1478. package/dist/verification-engine.d.ts +0 -94
  1479. package/dist/verification-engine.d.ts.map +0 -1
  1480. package/dist/verification-engine.js +0 -716
  1481. package/dist/verification-engine.js.map +0 -1
  1482. package/dist/verification-evidence.d.ts +0 -106
  1483. package/dist/verification-evidence.d.ts.map +0 -1
  1484. package/dist/verification-evidence.js +0 -159
  1485. package/dist/verification-evidence.js.map +0 -1
  1486. package/dist/verification-failure-parser.d.ts.map +0 -1
  1487. package/dist/verification-failure-parser.js.map +0 -1
  1488. package/dist/verification-feedback.d.ts +0 -173
  1489. package/dist/verification-feedback.d.ts.map +0 -1
  1490. package/dist/verification-feedback.js +0 -442
  1491. package/dist/verification-feedback.js.map +0 -1
  1492. package/dist/verification-manifest.d.ts.map +0 -1
  1493. package/dist/verification-manifest.js.map +0 -1
  1494. package/dist/verify-reconciliation.d.ts.map +0 -1
  1495. package/dist/verify-reconciliation.js.map +0 -1
  1496. package/dist/verify-restatement.d.ts.map +0 -1
  1497. package/dist/verify-restatement.js +0 -167
  1498. package/dist/verify-restatement.js.map +0 -1
  1499. package/dist/version-check.d.ts.map +0 -1
  1500. package/dist/version-check.js +0 -115
  1501. package/dist/version-check.js.map +0 -1
  1502. package/dist/worker-pidfile.d.ts.map +0 -1
  1503. package/dist/worker-pidfile.js.map +0 -1
  1504. package/dist/workflow-engine.d.ts +0 -95
  1505. package/dist/workflow-engine.d.ts.map +0 -1
  1506. package/dist/workflow-engine.js.map +0 -1
  1507. package/dist/worktree.d.ts +0 -147
  1508. package/dist/worktree.d.ts.map +0 -1
  1509. package/dist/worktree.js +0 -467
  1510. package/dist/worktree.js.map +0 -1
  1511. /package/dist/{audit-prompt.d.ts → audit/audit-prompt.d.ts} +0 -0
  1512. /package/dist/{audit-prompt.js → audit/audit-prompt.js} +0 -0
  1513. /package/dist/{audit-shape.d.ts → audit/audit-shape.d.ts} +0 -0
  1514. /package/dist/{audit-shape.js → audit/audit-shape.js} +0 -0
  1515. /package/dist/{ci-escalation.d.ts → ci/ci-escalation.d.ts} +0 -0
  1516. /package/dist/{ci-status.js → ci/ci-status.js} +0 -0
  1517. /package/dist/{review-spawn-coverage-guard.d.ts → completion/review-spawn-coverage-guard.d.ts} +0 -0
  1518. /package/dist/{review-spawn-coverage-guard.js → completion/review-spawn-coverage-guard.js} +0 -0
  1519. /package/dist/{context-audit.js → context/context-audit.js} +0 -0
  1520. /package/dist/{context-lock.js → context/context-lock.js} +0 -0
  1521. /package/dist/{delivery-reconciler-apply.d.ts → delivery/delivery-reconciler-apply.d.ts} +0 -0
  1522. /package/dist/{resolver-dispatch.d.ts → directive/resolver-dispatch.d.ts} +0 -0
  1523. /package/dist/{resolver-dispatch.js → directive/resolver-dispatch.js} +0 -0
  1524. /package/dist/{drift-evaluator.d.ts → drift/drift-evaluator.d.ts} +0 -0
  1525. /package/dist/{drift-evaluator.js → drift/drift-evaluator.js} +0 -0
  1526. /package/dist/{drift-ratify-policy.d.ts → drift/drift-ratify-policy.d.ts} +0 -0
  1527. /package/dist/{drift-ratify-policy.js → drift/drift-ratify-policy.js} +0 -0
  1528. /package/dist/{retention-observation.d.ts → drift/retention-observation.d.ts} +0 -0
  1529. /package/dist/{retention-observation.js → drift/retention-observation.js} +0 -0
  1530. /package/dist/{focus-phase.d.ts → focus/focus-phase.d.ts} +0 -0
  1531. /package/dist/{focus-phase.js → focus/focus-phase.js} +0 -0
  1532. /package/dist/{evaluation-context.d.ts → guard/evaluation-context.d.ts} +0 -0
  1533. /package/dist/{onboarding-directive.d.ts → prompt/onboarding-directive.d.ts} +0 -0
  1534. /package/dist/{onboarding-directive.js → prompt/onboarding-directive.js} +0 -0
  1535. /package/dist/{prompt-contradictions.d.ts → prompt/prompt-contradictions.d.ts} +0 -0
  1536. /package/dist/{prompt-contradictions.js → prompt/prompt-contradictions.js} +0 -0
  1537. /package/dist/{prompt-listing.js → prompt/prompt-listing.js} +0 -0
  1538. /package/dist/{reality-pole-capture.d.ts → reality/reality-pole-capture.d.ts} +0 -0
  1539. /package/dist/{reality-writeback.d.ts → reality/reality-writeback.d.ts} +0 -0
  1540. /package/dist/{reality-writeback.js → reality/reality-writeback.js} +0 -0
  1541. /package/dist/{security-auto-inject.d.ts → security/security-auto-inject.d.ts} +0 -0
  1542. /package/dist/{security-finding-gate.d.ts → security/security-finding-gate.d.ts} +0 -0
  1543. /package/dist/{security-rescan-resolution.d.ts → security/security-rescan-resolution.d.ts} +0 -0
  1544. /package/dist/{session-lineage.d.ts → session/session-lineage.d.ts} +0 -0
  1545. /package/dist/{session-lineage.js → session/session-lineage.js} +0 -0
  1546. /package/dist/{activity-tracker.d.ts → shell/activity-tracker.d.ts} +0 -0
  1547. /package/dist/{agent-state.d.ts → shell/agent-state.d.ts} +0 -0
  1548. /package/dist/{agent-state.js → shell/agent-state.js} +0 -0
  1549. /package/dist/{auth-liveness.d.ts → shell/auth-liveness.d.ts} +0 -0
  1550. /package/dist/{auth-liveness.js → shell/auth-liveness.js} +0 -0
  1551. /package/dist/{config-hot-reload.js → shell/config-hot-reload.js} +0 -0
  1552. /package/dist/{constants.d.ts → shell/constants.d.ts} +0 -0
  1553. /package/dist/{constants.js → shell/constants.js} +0 -0
  1554. /package/dist/{daemon-logs.d.ts → shell/daemon-logs.d.ts} +0 -0
  1555. /package/dist/{daemon-logs.js → shell/daemon-logs.js} +0 -0
  1556. /package/dist/{daemon-process.d.ts → shell/daemon-process.d.ts} +0 -0
  1557. /package/dist/{daemon-readiness.d.ts → shell/daemon-readiness.d.ts} +0 -0
  1558. /package/dist/{daemon-readiness.js → shell/daemon-readiness.js} +0 -0
  1559. /package/dist/{drain-teardown.d.ts → shell/drain-teardown.d.ts} +0 -0
  1560. /package/dist/{drain-teardown.js → shell/drain-teardown.js} +0 -0
  1561. /package/dist/{gitignore-convergence.d.ts → shell/gitignore-convergence.d.ts} +0 -0
  1562. /package/dist/{gitignore-convergence.js → shell/gitignore-convergence.js} +0 -0
  1563. /package/dist/{health-events.d.ts → shell/health-events.d.ts} +0 -0
  1564. /package/dist/{health-events.js → shell/health-events.js} +0 -0
  1565. /package/dist/{install-probe.d.ts → shell/install-probe.d.ts} +0 -0
  1566. /package/dist/{install-probe.js → shell/install-probe.js} +0 -0
  1567. /package/dist/{intake-control.d.ts → shell/intake-control.d.ts} +0 -0
  1568. /package/dist/{intake-control.js → shell/intake-control.js} +0 -0
  1569. /package/dist/{log-manager.js → shell/log-manager.js} +0 -0
  1570. /package/dist/{log.d.ts → shell/log.d.ts} +0 -0
  1571. /package/dist/{log.js → shell/log.js} +0 -0
  1572. /package/dist/{mcp-resolution.d.ts → shell/mcp-resolution.d.ts} +0 -0
  1573. /package/dist/{mcp-resolution.js → shell/mcp-resolution.js} +0 -0
  1574. /package/dist/{model-resolution.d.ts → shell/model-resolution.d.ts} +0 -0
  1575. /package/dist/{model-resolution.js → shell/model-resolution.js} +0 -0
  1576. /package/dist/{non-interactive-init.js → shell/non-interactive-init.js} +0 -0
  1577. /package/dist/{schema-version-gate.d.ts → shell/schema-version-gate.d.ts} +0 -0
  1578. /package/dist/{shutdown-state.d.ts → shell/shutdown-state.d.ts} +0 -0
  1579. /package/dist/{shutdown-state.js → shell/shutdown-state.js} +0 -0
  1580. /package/dist/{stop-request.d.ts → shell/stop-request.d.ts} +0 -0
  1581. /package/dist/{stop-request.js → shell/stop-request.js} +0 -0
  1582. /package/dist/{unified-shell-config.js → shell/unified-shell-config.js} +0 -0
  1583. /package/dist/{unified-shell-provisioning.d.ts → shell/unified-shell-provisioning.d.ts} +0 -0
  1584. /package/dist/{unified-shell-status.d.ts → shell/unified-shell-status.d.ts} +0 -0
  1585. /package/dist/{unified-shell.d.ts → shell/unified-shell.d.ts} +0 -0
  1586. /package/dist/{worker-pidfile.d.ts → shell/worker-pidfile.d.ts} +0 -0
  1587. /package/dist/{worker-pidfile.js → shell/worker-pidfile.js} +0 -0
  1588. /package/dist/{dag-validator.js → spawn/dag-validator.js} +0 -0
  1589. /package/dist/{dependency-resolver.js → spawn/dependency-resolver.js} +0 -0
  1590. /package/dist/{spawner → spawn}/guards.d.ts +0 -0
  1591. /package/dist/{spawner → spawn}/liveness.d.ts +0 -0
  1592. /package/dist/{spawn-cooldown.d.ts → spawn/spawn-cooldown.d.ts} +0 -0
  1593. /package/dist/{spawn-sandbox.js → spawn/spawn-sandbox.js} +0 -0
  1594. /package/dist/{spawner → spawn}/state.d.ts +0 -0
  1595. /package/dist/{spawner → spawn}/state.js +0 -0
  1596. /package/dist/{task-converter.js → spawn/task-converter.js} +0 -0
  1597. /package/dist/{spawner → spawn}/worker-registry.d.ts +0 -0
  1598. /package/dist/{spawner → spawn}/worker-registry.js +0 -0
  1599. /package/dist/{auto-update-idle.d.ts → update/auto-update-idle.d.ts} +0 -0
  1600. /package/dist/{auto-update-idle.js → update/auto-update-idle.js} +0 -0
  1601. /package/dist/{auto-update.d.ts → update/auto-update.d.ts} +0 -0
  1602. /package/dist/{build-info.d.ts → update/build-info.d.ts} +0 -0
  1603. /package/dist/{build-info.js → update/build-info.js} +0 -0
  1604. /package/dist/{capability-pointer.d.ts → update/capability-pointer.d.ts} +0 -0
  1605. /package/dist/{capability-pointer.js → update/capability-pointer.js} +0 -0
  1606. /package/dist/{self-update.d.ts → update/self-update.d.ts} +0 -0
  1607. /package/dist/{version-check.d.ts → update/version-check.d.ts} +0 -0
  1608. /package/dist/{ai-inspection-runner.d.ts → verify/ai-inspection-runner.d.ts} +0 -0
  1609. /package/dist/{cascade-restatement.d.ts → verify/cascade-restatement.d.ts} +0 -0
  1610. /package/dist/{cascade-restatement.js → verify/cascade-restatement.js} +0 -0
  1611. /package/dist/{de-restatement.d.ts → verify/de-restatement.d.ts} +0 -0
  1612. /package/dist/{retire-aware-restatement.d.ts → verify/retire-aware-restatement.d.ts} +0 -0
  1613. /package/dist/{stall-detector-config.d.ts → verify/stall-detector-config.d.ts} +0 -0
  1614. /package/dist/{stall-detector-config.js → verify/stall-detector-config.js} +0 -0
  1615. /package/dist/{verification-config.js → verify/verification-config.js} +0 -0
  1616. /package/dist/{verification-deps.js → verify/verification-deps.js} +0 -0
  1617. /package/dist/{verification-failure-parser.d.ts → verify/verification-failure-parser.d.ts} +0 -0
  1618. /package/dist/{verification-failure-parser.js → verify/verification-failure-parser.js} +0 -0
  1619. /package/dist/{verification-manifest.d.ts → verify/verification-manifest.d.ts} +0 -0
  1620. /package/dist/{verification-manifest.js → verify/verification-manifest.js} +0 -0
  1621. /package/dist/{verify-reconciliation.d.ts → verify/verify-reconciliation.d.ts} +0 -0
  1622. /package/dist/{verify-reconciliation.js → verify/verify-reconciliation.js} +0 -0
  1623. /package/dist/{verify-restatement.d.ts → verify/verify-restatement.d.ts} +0 -0
  1624. /package/dist/{pipeline-config.js → workflow/pipeline-config.js} +0 -0
  1625. /package/dist/{stage-classifier.js → workflow/stage-classifier.js} +0 -0
  1626. /package/dist/{workflow-engine.js → workflow/workflow-engine.js} +0 -0
@@ -0,0 +1,165 @@
1
+ /**
2
+ * Heartbeat module — periodically reports daemon presence and work status to Telora.
3
+ *
4
+ * Sends an initial heartbeat on startup, then every HEARTBEAT_INTERVAL_MS.
5
+ * On shutdown, sends a disconnect signal (best-effort).
6
+ *
7
+ * Counters are bootstrapped from the DB on startup so the heartbeat
8
+ * reflects cumulative history rather than resetting to zero.
9
+ *
10
+ * Also provides activity tracking and event loop watchdog metrics
11
+ * for stuck daemon detection.
12
+ */
13
+ import type { DaemonConfig } from '../types/index.js';
14
+ import { sendHeartbeat } from '../queries/daemon-connection.js';
15
+ import { type RetentionBeatObservation, type RetirementPreconditionVerdict } from '../drift/retention-observation.js';
16
+ import { recordSessionCompleted, recordActivity, getLastActivityAt } from './agent-state.js';
17
+ import type { ReadOnlyModeState } from '@telora/daemon-core';
18
+ import { computeBranchStatus, type BranchStatusPayload } from './branch-status.js';
19
+ import { type ProductBranchConfig } from '../queries/products.js';
20
+ /**
21
+ * Compute a stable, display-meaningful repo identity from a product set: the
22
+ * sorted, deduplicated basenames of each product's repo path, joined by ', '.
23
+ * Sorting + dedup make the result invariant to product order and duplicates, so
24
+ * the same configured set always yields the same string. Pure.
25
+ */
26
+ export declare function computeStableRepoIdentity(products: ReadonlyArray<{
27
+ repoPath: string;
28
+ }>): string;
29
+ /**
30
+ * Record the stable repo identity for this daemon instance. Called once at boot
31
+ * from the CONFIGURED product set BEFORE `claimProducts` mutates it, so the very
32
+ * first heartbeat already carries the claim-invariant value.
33
+ */
34
+ export declare function setStableRepoIdentity(label: string): void;
35
+ /** The boot-captured stable repo identity, or null if none was set. */
36
+ export declare function getStableRepoIdentity(): string | null;
37
+ /**
38
+ * Update the narration for a focus. Called by ActivityTracker callback.
39
+ */
40
+ export declare function setNarration(focusId: string, text: string): void;
41
+ /**
42
+ * Clear narration for a focus (called when team shuts down).
43
+ */
44
+ export declare function clearNarration(focusId: string): void;
45
+ export { recordActivity, getLastActivityAt };
46
+ /**
47
+ * Get the current event loop lag (p99) in milliseconds and reset the histogram.
48
+ */
49
+ export declare function getEventLoopLagMs(): number;
50
+ /**
51
+ * Initialize the heartbeat module.
52
+ * Bootstraps counters from the DB (single query, graceful fallback).
53
+ * Initializes event loop monitoring.
54
+ */
55
+ export declare function initHeartbeat(daemonConfig: DaemonConfig): Promise<void>;
56
+ /**
57
+ * Get the current daemon version (loaded at init time).
58
+ */
59
+ export declare function getVersions(): {
60
+ daemon: string;
61
+ };
62
+ /**
63
+ * Store the latest available version from the npm registry.
64
+ * Called by the version check module after a successful registry query.
65
+ */
66
+ export declare function setLatestAvailableVersion(version: string): void;
67
+ export { recordSessionCompleted };
68
+ /**
69
+ * Record a completed issue (called when an issue transitions to Done).
70
+ */
71
+ export declare function recordIssueCompleted(): void;
72
+ /**
73
+ * Build the read-only-mode contribution to the heartbeat metadata.
74
+ *
75
+ * Returns `{ readOnlyMode }` only when the daemon is currently in read-only
76
+ * mode (schema-version gate, warn path), so the dashboard can mark stuck
77
+ * foci/deliveries and surface the missing migrations + recovery path. In
78
+ * normal operation returns null, so the `readOnlyMode` key is absent from
79
+ * the heartbeat metadata entirely. Pure (reads the daemon-core state getter)
80
+ * and independently testable.
81
+ */
82
+ export declare function readOnlyMetadataField(): {
83
+ readOnlyMode: ReadOnlyModeState;
84
+ } | null;
85
+ /** Injectable seam for buildBranchStatusByProduct (unit tests inject fakes). */
86
+ export interface BranchStatusProducerDeps {
87
+ computeBranchStatus: typeof computeBranchStatus;
88
+ getBranchConfig: (productId: string) => Promise<ProductBranchConfig>;
89
+ }
90
+ /**
91
+ * Publish branch status per product ({ [productId]: BranchStatusPayload }),
92
+ * mirroring the verificationPostures shape. Each product's payload is
93
+ * computed against ITS OWN repository (configForProduct) with ITS OWN
94
+ * mainBranch/branchMonitors resolved from its own product record — the root
95
+ * config always mirrors products[0] and must never be used to describe the
96
+ * others. One product failing is non-fatal to the rest (its entry is omitted).
97
+ *
98
+ * Exported (with injectable deps) so tests can pin the per-product claims
99
+ * without module mocks; doHeartbeat calls it with the real dependencies.
100
+ */
101
+ export declare function buildBranchStatusByProduct(config: DaemonConfig, deps?: BranchStatusProducerDeps): Promise<Record<string, BranchStatusPayload>>;
102
+ /**
103
+ * Pure presence-gap detector for the heartbeat.
104
+ *
105
+ * A successful beat writes nothing on its own, so a daemon can stop
106
+ * heart-beating for hours and leave no trace in ~/.telora/daemon.log. This
107
+ * function turns the silence into a measurable fact: given the current time,
108
+ * the time of the last SUCCESSFUL beat, and the normal interval, it reports the
109
+ * elapsed gap when a beat lands MORE than two intervals late.
110
+ *
111
+ * Threshold is strictly greater than two intervals -- two beats is also the
112
+ * dashboard's whole `online` budget, so the warning fires at exactly the point
113
+ * the UI stops calling the daemon online. Exactly two intervals is within
114
+ * budget and is NOT a gap.
115
+ *
116
+ * The first beat after startup has no prior successful beat (`lastSuccessMs`
117
+ * null), so it is never reported as a gap. Pure and independently testable with
118
+ * an injected clock -- no timers, no module state.
119
+ */
120
+ export declare function detectHeartbeatGap(nowMs: number, lastSuccessMs: number | null, intervalMs: number): {
121
+ gapMs: number;
122
+ } | null;
123
+ /**
124
+ * Read-only view of the recorded retention observation window (most recent last).
125
+ * Exposed for diagnostics and tests that assert the daemon actually consumed the
126
+ * `retentionSchedules` field rather than discarding it.
127
+ */
128
+ export declare function getRetentionObservationWindow(): readonly RetentionBeatObservation[];
129
+ /**
130
+ * The current verdict on the pg_cron-retirement precondition, evaluated from the
131
+ * recorded observation window. This is the fact the daemon establishes on every
132
+ * beat -- "are this environment's declared horizons being held by the app-side
133
+ * sweep?" -- without any human query against the environment's database.
134
+ */
135
+ export declare function getRetirementPreconditionVerdict(): RetirementPreconditionVerdict;
136
+ /** Reset the retention observation window. For test isolation. */
137
+ export declare function resetRetentionObservationWindow(): void;
138
+ /**
139
+ * Injectable seam for doHeartbeat's external calls, so a unit test can drive the
140
+ * real consumption path hermetically (no network, no backend probe) and assert
141
+ * that a response carrying `retentionSchedules` lands in the recorded window.
142
+ * Defaults are the real implementations; production callers pass nothing.
143
+ */
144
+ export interface DoHeartbeatDeps {
145
+ sendHeartbeat: typeof sendHeartbeat;
146
+ probeBackends: (config: DaemonConfig) => Promise<unknown>;
147
+ buildBranchStatus: (config: DaemonConfig) => Promise<Record<string, BranchStatusPayload>>;
148
+ }
149
+ /**
150
+ * Gather current counters and send a heartbeat.
151
+ *
152
+ * Exported (with an injectable deps seam) so a unit test can drive the real
153
+ * consumption path and assert the daemon records the retention field rather than
154
+ * discarding it. Production callers pass no args.
155
+ */
156
+ export declare function doHeartbeat(deps?: DoHeartbeatDeps): Promise<void>;
157
+ /**
158
+ * Start sending periodic heartbeats. Sends one immediately.
159
+ */
160
+ export declare function startHeartbeat(): Promise<void>;
161
+ /**
162
+ * Stop heartbeats and send a disconnect signal (best-effort).
163
+ */
164
+ export declare function stopHeartbeat(): Promise<void>;
165
+ //# sourceMappingURL=heartbeat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heartbeat.d.ts","sourceRoot":"","sources":["../../src/shell/heartbeat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAkB,MAAM,iCAAiC,CAAC;AAEhF,OAAO,EAIL,KAAK,wBAAwB,EAC7B,KAAK,6BAA6B,EACnC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAA0C,sBAAsB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAIrI,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAA4B,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC7G,OAAO,EAA0B,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAkE1F;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,aAAa,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,GAC5C,MAAM,CAER;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAEzD;AAED,uEAAuE;AACvE,wBAAgB,qBAAqB,IAAI,MAAM,GAAG,IAAI,CAErD;AAOD;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAEhE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEpD;AAGD,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC;AAmB7C;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAM1C;AAmFD;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAO7E;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAEhD;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE/D;AAGD,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAElC;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,IAAI;IAAE,YAAY,EAAE,iBAAiB,CAAA;CAAE,GAAG,IAAI,CAGlF;AAwDD,gFAAgF;AAChF,MAAM,WAAW,wBAAwB;IACvC,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;IAChD,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACtE;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,YAAY,EACpB,IAAI,GAAE,wBAGL,GACA,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAc9C;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,UAAU,EAAE,MAAM,GACjB;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAI1B;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,IAAI,SAAS,wBAAwB,EAAE,CAEnF;AAED;;;;;GAKG;AACH,wBAAgB,gCAAgC,IAAI,6BAA6B,CAEhF;AAED,kEAAkE;AAClE,wBAAgB,+BAA+B,IAAI,IAAI,CAEtD;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,OAAO,aAAa,CAAC;IACpC,aAAa,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1D,iBAAiB,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;CAC3F;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,IAAI,GAAE,eAIL,GACA,OAAO,CAAC,IAAI,CAAC,CA+If;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAcpD;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAanD"}
@@ -0,0 +1,502 @@
1
+ /**
2
+ * Heartbeat module — periodically reports daemon presence and work status to Telora.
3
+ *
4
+ * Sends an initial heartbeat on startup, then every HEARTBEAT_INTERVAL_MS.
5
+ * On shutdown, sends a disconnect signal (best-effort).
6
+ *
7
+ * Counters are bootstrapped from the DB on startup so the heartbeat
8
+ * reflects cumulative history rather than resetting to zero.
9
+ *
10
+ * Also provides activity tracking and event loop watchdog metrics
11
+ * for stuck daemon detection.
12
+ */
13
+ import { readFileSync } from 'node:fs';
14
+ import { hostname as osHostname } from 'node:os';
15
+ import { join, dirname, basename } from 'node:path';
16
+ import { fileURLToPath } from 'node:url';
17
+ import { monitorEventLoopDelay } from 'node:perf_hooks';
18
+ import { sendHeartbeat, sendDisconnect } from '../queries/daemon-connection.js';
19
+ import { getCompletedSessionAggregates } from '../queries/sessions.js';
20
+ import { observeRetentionBeat, recordRetentionObservation, evaluateRetirementPrecondition, } from '../drift/retention-observation.js';
21
+ import { getSessionCounters, setSessionCounters, recordSessionCompleted, recordActivity, getLastActivityAt } from './agent-state.js';
22
+ import { getActiveTeamCount } from '../focus/focus-team-state.js';
23
+ import { safeInterval, healthEvents, getReadOnlyModeState } from '@telora/daemon-core';
24
+ import { buildProductPostureMap } from '../verify/verification-config.js';
25
+ import { computeBranchStatus } from './branch-status.js';
26
+ import { getProductBranchConfig } from '../queries/products.js';
27
+ import { configForProduct } from './config.js';
28
+ import { probeAllBackends } from '../backends/index.js';
29
+ import { createLogger } from './log.js';
30
+ const log = createLogger({ module: 'watchdog' });
31
+ const HEARTBEAT_INTERVAL_MS = 60_000; // 60 seconds
32
+ const INACTIVITY_THRESHOLD_MS = 600_000; // 10 minutes
33
+ const EVENT_LOOP_LAG_WARNING_MS = 30_000; // 30 seconds
34
+ let config = null;
35
+ let heartbeatInterval = null;
36
+ let completedIssueCount = 0;
37
+ // Timestamp (ms) of the last SUCCESSFUL heartbeat send; null until the first
38
+ // success. Compared against on each resumed beat to detect a presence gap that
39
+ // would otherwise leave no trace in the daemon log.
40
+ let lastSuccessfulHeartbeatAtMs = null;
41
+ // Rolling window of per-beat retention observations, read from each successful
42
+ // heartbeat's response body. This is the recorded evidence the pg_cron-retirement
43
+ // precondition is evaluated against -- established by the daemon itself, without
44
+ // any human query against the environment's database. Bounded (see
45
+ // RETENTION_WINDOW_SIZE); older/malformed responses record an "unknown"
46
+ // observation and never disturb the beat.
47
+ let retentionObservationWindow = [];
48
+ let daemonVersion = 'unknown';
49
+ let daemonCommitSha = 'unknown';
50
+ let latestAvailableVersion = null;
51
+ const daemonStartedAt = new Date().toISOString();
52
+ // ── Product branch config cache (per product) ────────────────────────
53
+ const branchConfigCache = new Map();
54
+ const BRANCH_CONFIG_REFRESH_MS = 300_000; // 5 minutes
55
+ /** Fetch (with 5-minute cache) the branch config for one product. */
56
+ async function getCachedBranchConfig(productId) {
57
+ const now = Date.now();
58
+ const cached = branchConfigCache.get(productId);
59
+ if (cached && now - cached.fetchedAt <= BRANCH_CONFIG_REFRESH_MS) {
60
+ return cached.config;
61
+ }
62
+ const fresh = await getProductBranchConfig(productId);
63
+ branchConfigCache.set(productId, { config: fresh, fetchedAt: now });
64
+ return fresh;
65
+ }
66
+ // ── Stable daemon repo identity ──────────────────────────────────────
67
+ //
68
+ // The heartbeat's `repo_path` field doubles as the key the edge handler
69
+ // (handleDaemonHeartbeat) uses to retire a restarted daemon's prior rows
70
+ // (hostname AND repo_path AND neq pid). It MUST be stable across restarts, or
71
+ // prior rows are never retired and the table grows without bound.
72
+ //
73
+ // The naive derivation -- basenames of `config.products` -- is NOT stable: by
74
+ // the time the heartbeat runs, `claimProducts` has mutated `config.products`
75
+ // in place to only the CLAIMED subset (unified-engine-lifecycle.ts). A transient
76
+ // claim failure (or any change to the claimed set) therefore changes the label,
77
+ // stranding the previous run's rows. The fix: derive the identity from the
78
+ // CONFIGURED product set captured once at boot (before claim), sorted + deduped
79
+ // so it is invariant to product order. Co-hosted daemons keep their separation
80
+ // (migration 20260215134249) because distinct configured repo sets yield
81
+ // distinct labels.
82
+ let stableRepoIdentity = null;
83
+ /**
84
+ * Compute a stable, display-meaningful repo identity from a product set: the
85
+ * sorted, deduplicated basenames of each product's repo path, joined by ', '.
86
+ * Sorting + dedup make the result invariant to product order and duplicates, so
87
+ * the same configured set always yields the same string. Pure.
88
+ */
89
+ export function computeStableRepoIdentity(products) {
90
+ return [...new Set(products.map((p) => basename(p.repoPath)))].sort().join(', ');
91
+ }
92
+ /**
93
+ * Record the stable repo identity for this daemon instance. Called once at boot
94
+ * from the CONFIGURED product set BEFORE `claimProducts` mutates it, so the very
95
+ * first heartbeat already carries the claim-invariant value.
96
+ */
97
+ export function setStableRepoIdentity(label) {
98
+ stableRepoIdentity = label || null;
99
+ }
100
+ /** The boot-captured stable repo identity, or null if none was set. */
101
+ export function getStableRepoIdentity() {
102
+ return stableRepoIdentity;
103
+ }
104
+ // ── Narration store (in-memory only) ─────────────────────────────────
105
+ /** Focus ID -> latest narration text from team lead. */
106
+ const narrations = new Map();
107
+ /**
108
+ * Update the narration for a focus. Called by ActivityTracker callback.
109
+ */
110
+ export function setNarration(focusId, text) {
111
+ narrations.set(focusId, text);
112
+ }
113
+ /**
114
+ * Clear narration for a focus (called when team shuts down).
115
+ */
116
+ export function clearNarration(focusId) {
117
+ narrations.delete(focusId);
118
+ }
119
+ // Re-export activity tracking from agent-state for backward compatibility
120
+ export { recordActivity, getLastActivityAt };
121
+ // ── Event loop watchdog ──────────────────────────────────────────────
122
+ let eventLoopHistogram = null;
123
+ /**
124
+ * Initialize the event loop delay monitor.
125
+ * Uses perf_hooks.monitorEventLoopDelay() for passive, low-overhead measurement.
126
+ */
127
+ function initEventLoopMonitor() {
128
+ try {
129
+ eventLoopHistogram = monitorEventLoopDelay({ resolution: 20 });
130
+ eventLoopHistogram.enable();
131
+ }
132
+ catch {
133
+ log.warn('Event loop delay monitoring not available on this runtime');
134
+ }
135
+ }
136
+ /**
137
+ * Get the current event loop lag (p99) in milliseconds and reset the histogram.
138
+ */
139
+ export function getEventLoopLagMs() {
140
+ if (!eventLoopHistogram)
141
+ return 0;
142
+ // Histogram values are in nanoseconds
143
+ const p99Ns = eventLoopHistogram.percentile(99);
144
+ eventLoopHistogram.reset();
145
+ return Math.round(p99Ns / 1_000_000); // Convert ns to ms
146
+ }
147
+ /**
148
+ * Check event loop lag and log a warning if it exceeds the threshold.
149
+ */
150
+ function checkEventLoopLag(lagMs) {
151
+ if (lagMs > EVENT_LOOP_LAG_WARNING_MS) {
152
+ log.error(`[watchdog] CRITICAL: Event loop lag ${lagMs}ms exceeds ${EVENT_LOOP_LAG_WARNING_MS}ms threshold. ` +
153
+ `The daemon may have been blocked. Stack: ${new Error().stack}`);
154
+ }
155
+ }
156
+ /**
157
+ * Load daemon version from package.json and commit SHA from build-info.json.
158
+ */
159
+ function loadVersionInfo() {
160
+ let version = 'unknown';
161
+ let sha = 'unknown';
162
+ const thisDir = dirname(fileURLToPath(import.meta.url));
163
+ try {
164
+ const pkgPath = join(thisDir, '..', 'package.json');
165
+ const pkg = JSON.parse(readFileSync(pkgPath, 'utf-8'));
166
+ version = pkg.version || 'unknown';
167
+ }
168
+ catch (e) {
169
+ log.debug('[heartbeat] Failed to load daemon version from package.json:', e.message);
170
+ }
171
+ try {
172
+ const buildInfoPath = join(thisDir, '..', 'build-info.json');
173
+ const buildInfo = JSON.parse(readFileSync(buildInfoPath, 'utf-8'));
174
+ sha = buildInfo.commitSha || 'unknown';
175
+ }
176
+ catch (err) {
177
+ // build-info.json not present in dev — only stamped at publish time
178
+ log.debug('build-info.json not present in dev — only stamped at publish time', { error: String(err?.message ?? err) });
179
+ }
180
+ return { version, commitSha: sha };
181
+ }
182
+ /**
183
+ * Bootstrap counters from the database.
184
+ *
185
+ * Queries completed session aggregates for this product so the heartbeat
186
+ * starts with cumulative totals instead of zero. Falls back gracefully
187
+ * to zero on any error.
188
+ */
189
+ async function bootstrapCountersFromDb(daemonConfig) {
190
+ try {
191
+ // Aggregate across all configured products
192
+ let totalCompleted = 0;
193
+ let totalTokens = 0;
194
+ let totalCostAgg = 0;
195
+ for (const product of daemonConfig.products) {
196
+ const aggregates = await getCompletedSessionAggregates(product.id);
197
+ totalCompleted += aggregates.completedCount;
198
+ totalTokens += aggregates.totalTokens;
199
+ totalCostAgg += aggregates.totalCost;
200
+ }
201
+ setSessionCounters({
202
+ completedSessionCount: totalCompleted,
203
+ totalTokensUsed: totalTokens,
204
+ totalCost: totalCostAgg,
205
+ });
206
+ log.info(`Bootstrapped heartbeat counters from DB (${daemonConfig.products.length} products): ` +
207
+ `${totalCompleted} sessions, ` +
208
+ `${totalTokens} tokens, ` +
209
+ `$${totalCostAgg.toFixed(2)} cost`);
210
+ }
211
+ catch (err) {
212
+ log.warn(`Failed to bootstrap heartbeat counters from DB (starting at zero): ` +
213
+ `${err.message}`);
214
+ // Counters remain at 0 — same as previous behavior
215
+ }
216
+ }
217
+ /**
218
+ * Initialize the heartbeat module.
219
+ * Bootstraps counters from the DB (single query, graceful fallback).
220
+ * Initializes event loop monitoring.
221
+ */
222
+ export async function initHeartbeat(daemonConfig) {
223
+ config = daemonConfig;
224
+ const info = loadVersionInfo();
225
+ daemonVersion = info.version;
226
+ daemonCommitSha = info.commitSha;
227
+ await bootstrapCountersFromDb(daemonConfig);
228
+ initEventLoopMonitor();
229
+ }
230
+ /**
231
+ * Get the current daemon version (loaded at init time).
232
+ */
233
+ export function getVersions() {
234
+ return { daemon: daemonVersion };
235
+ }
236
+ /**
237
+ * Store the latest available version from the npm registry.
238
+ * Called by the version check module after a successful registry query.
239
+ */
240
+ export function setLatestAvailableVersion(version) {
241
+ latestAvailableVersion = version;
242
+ }
243
+ // Re-export recordSessionCompleted from agent-state for backward compatibility
244
+ export { recordSessionCompleted };
245
+ /**
246
+ * Record a completed issue (called when an issue transitions to Done).
247
+ */
248
+ export function recordIssueCompleted() {
249
+ completedIssueCount++;
250
+ }
251
+ /**
252
+ * Build the read-only-mode contribution to the heartbeat metadata.
253
+ *
254
+ * Returns `{ readOnlyMode }` only when the daemon is currently in read-only
255
+ * mode (schema-version gate, warn path), so the dashboard can mark stuck
256
+ * foci/deliveries and surface the missing migrations + recovery path. In
257
+ * normal operation returns null, so the `readOnlyMode` key is absent from
258
+ * the heartbeat metadata entirely. Pure (reads the daemon-core state getter)
259
+ * and independently testable.
260
+ */
261
+ export function readOnlyMetadataField() {
262
+ const state = getReadOnlyModeState();
263
+ return state.active ? { readOnlyMode: state } : null;
264
+ }
265
+ /**
266
+ * Publish branch status per product ({ [productId]: BranchStatusPayload }),
267
+ * mirroring the verificationPostures shape. Each product's payload is
268
+ * computed against ITS OWN repository (configForProduct) with ITS OWN
269
+ * mainBranch/branchMonitors resolved from its own product record — the root
270
+ * config always mirrors products[0] and must never be used to describe the
271
+ * others. One product failing is non-fatal to the rest (its entry is omitted).
272
+ *
273
+ * Exported (with injectable deps) so tests can pin the per-product claims
274
+ * without module mocks; doHeartbeat calls it with the real dependencies.
275
+ */
276
+ export async function buildBranchStatusByProduct(config, deps = {
277
+ computeBranchStatus,
278
+ getBranchConfig: getCachedBranchConfig,
279
+ }) {
280
+ const branchStatusByProduct = {};
281
+ for (const product of config.products) {
282
+ try {
283
+ const productConfig = configForProduct(config, product);
284
+ const branchConfig = await deps.getBranchConfig(product.id);
285
+ const branchOpts = {
286
+ mainBranch: branchConfig.mainBranch,
287
+ branchMonitors: branchConfig.branchMonitors,
288
+ };
289
+ branchStatusByProduct[product.id] = deps.computeBranchStatus(productConfig, branchOpts);
290
+ }
291
+ catch { /* non-fatal — omit this product's entry */ }
292
+ }
293
+ return branchStatusByProduct;
294
+ }
295
+ /**
296
+ * Pure presence-gap detector for the heartbeat.
297
+ *
298
+ * A successful beat writes nothing on its own, so a daemon can stop
299
+ * heart-beating for hours and leave no trace in ~/.telora/daemon.log. This
300
+ * function turns the silence into a measurable fact: given the current time,
301
+ * the time of the last SUCCESSFUL beat, and the normal interval, it reports the
302
+ * elapsed gap when a beat lands MORE than two intervals late.
303
+ *
304
+ * Threshold is strictly greater than two intervals -- two beats is also the
305
+ * dashboard's whole `online` budget, so the warning fires at exactly the point
306
+ * the UI stops calling the daemon online. Exactly two intervals is within
307
+ * budget and is NOT a gap.
308
+ *
309
+ * The first beat after startup has no prior successful beat (`lastSuccessMs`
310
+ * null), so it is never reported as a gap. Pure and independently testable with
311
+ * an injected clock -- no timers, no module state.
312
+ */
313
+ export function detectHeartbeatGap(nowMs, lastSuccessMs, intervalMs) {
314
+ if (lastSuccessMs === null)
315
+ return null;
316
+ const gapMs = nowMs - lastSuccessMs;
317
+ return gapMs > intervalMs * 2 ? { gapMs } : null;
318
+ }
319
+ /**
320
+ * Read-only view of the recorded retention observation window (most recent last).
321
+ * Exposed for diagnostics and tests that assert the daemon actually consumed the
322
+ * `retentionSchedules` field rather than discarding it.
323
+ */
324
+ export function getRetentionObservationWindow() {
325
+ return retentionObservationWindow;
326
+ }
327
+ /**
328
+ * The current verdict on the pg_cron-retirement precondition, evaluated from the
329
+ * recorded observation window. This is the fact the daemon establishes on every
330
+ * beat -- "are this environment's declared horizons being held by the app-side
331
+ * sweep?" -- without any human query against the environment's database.
332
+ */
333
+ export function getRetirementPreconditionVerdict() {
334
+ return evaluateRetirementPrecondition(retentionObservationWindow);
335
+ }
336
+ /** Reset the retention observation window. For test isolation. */
337
+ export function resetRetentionObservationWindow() {
338
+ retentionObservationWindow = [];
339
+ }
340
+ /**
341
+ * Gather current counters and send a heartbeat.
342
+ *
343
+ * Exported (with an injectable deps seam) so a unit test can drive the real
344
+ * consumption path and assert the daemon records the retention field rather than
345
+ * discarding it. Production callers pass no args.
346
+ */
347
+ export async function doHeartbeat(deps = {
348
+ sendHeartbeat,
349
+ probeBackends: probeAllBackends,
350
+ buildBranchStatus: buildBranchStatusByProduct,
351
+ }) {
352
+ if (!config)
353
+ return;
354
+ const activeTeamCount = getActiveTeamCount();
355
+ // Event loop watchdog: measure and check lag
356
+ const eventLoopLagMs = getEventLoopLagMs();
357
+ checkEventLoopLag(eventLoopLagMs);
358
+ // Inactivity detection: warn if no activity for 10+ minutes
359
+ const lastActivity = getLastActivityAt();
360
+ const inactivityMs = Date.now() - lastActivity.getTime();
361
+ if (inactivityMs > INACTIVITY_THRESHOLD_MS) {
362
+ log.warn(`[watchdog] Daemon inactive for ${Math.round(inactivityMs / 1000)}s. ` +
363
+ `Active teams: ${activeTeamCount}. ` +
364
+ `Last activity: ${lastActivity.toISOString()}`);
365
+ }
366
+ // Build metadata with version observability fields
367
+ const metadata = {};
368
+ if (daemonCommitSha !== 'unknown') {
369
+ metadata.commitSha = daemonCommitSha;
370
+ }
371
+ if (latestAvailableVersion) {
372
+ metadata.latestAvailableVersion = latestAvailableVersion;
373
+ }
374
+ metadata.maxTotalSessions = config.maxTotalSessions;
375
+ // Publish per-product verification posture ({ [productId]: { posture, command } })
376
+ // so the web app's product settings can surface how each product's deliveries
377
+ // are gated -- posture is local daemon.json config the app cannot otherwise see.
378
+ // Declarative state, derived at read time; never an escalation.
379
+ metadata.verificationPostures = buildProductPostureMap(config.products, config.defaultVerification);
380
+ // Publish which engines are installed + authenticated on this host so the
381
+ // app's engine picker can grey out unavailable ones (probe is cached).
382
+ try {
383
+ metadata.availableBackends = await deps.probeBackends(config);
384
+ }
385
+ catch { /* non-fatal -- omit availability rather than fail the heartbeat */ }
386
+ const branchStatusByProduct = await deps.buildBranchStatus(config);
387
+ if (Object.keys(branchStatusByProduct).length > 0) {
388
+ metadata.branchStatus = branchStatusByProduct;
389
+ }
390
+ if (narrations.size > 0) {
391
+ metadata.narrations = Object.fromEntries(narrations);
392
+ }
393
+ // Include health events in metadata for dashboard visibility
394
+ const events = healthEvents.getEvents();
395
+ if (events.length > 0) {
396
+ metadata.healthEvents = events;
397
+ }
398
+ // Surface read-only mode (schema-version gate, warn path) so the dashboard
399
+ // can mark stuck foci/deliveries and show the recovery path. The heartbeat
400
+ // is allowlisted in read-only mode, so this write always lands. Only emit
401
+ // when active -- in normal operation the key is absent.
402
+ const readOnlyField = readOnlyMetadataField();
403
+ if (readOnlyField) {
404
+ Object.assign(metadata, readOnlyField);
405
+ }
406
+ // Derive health_status from event buffer severity
407
+ const healthStatus = healthEvents.getUnresolvedCount('error') > 0
408
+ ? 'error'
409
+ : healthEvents.getUnresolvedCount('warn') > 0
410
+ ? 'degraded'
411
+ : 'healthy';
412
+ const counters = getSessionCounters();
413
+ try {
414
+ // repo label AND restart-cleanup key: prefer the boot-captured stable
415
+ // identity (derived from the CONFIGURED product set, invariant to claim
416
+ // outcomes) so a restart or a claim failure never strands the prior run's
417
+ // rows. Fall back to the current (possibly claim-filtered) set only if the
418
+ // stable identity was never set, then to products[0]'s repo basename.
419
+ const repoLabel = getStableRepoIdentity()
420
+ || computeStableRepoIdentity(config.products)
421
+ || basename(config.repoPath);
422
+ const response = await deps.sendHeartbeat(process.pid, osHostname(), repoLabel, daemonVersion, {
423
+ activeSessions: activeTeamCount,
424
+ completedSessions: counters.completedSessionCount,
425
+ plannedIssues: 0, // Could be enriched later by querying ready deliveries
426
+ inProgressIssues: activeTeamCount,
427
+ completedIssues: completedIssueCount,
428
+ totalTokensUsed: counters.totalTokensUsed,
429
+ totalCost: counters.totalCost,
430
+ daemonStartedAt,
431
+ lastActivityAt: getLastActivityAt().toISOString(),
432
+ eventLoopLagMs,
433
+ productId: config.productId,
434
+ productIds: config.products.map(p => p.id),
435
+ healthStatus,
436
+ }, Object.keys(metadata).length > 0 ? metadata : undefined);
437
+ // Establish the retention picture from the response the daemon already
438
+ // received -- no extra round trip. Record this beat's per-horizon
439
+ // classification into the bounded window so the pg_cron-retirement
440
+ // precondition is evaluable from a recorded observation rather than a psql
441
+ // session run against production. An absent field (older edge bundle) or a
442
+ // malformed one records an "unknown" observation. Guarded so a retention
443
+ // read can never disturb the heartbeat or the daemon's own liveness.
444
+ try {
445
+ const observation = observeRetentionBeat(response, Date.now());
446
+ retentionObservationWindow = recordRetentionObservation(retentionObservationWindow, observation);
447
+ }
448
+ catch (obsErr) {
449
+ log.debug('[watchdog] retention observation skipped (non-fatal):', String(obsErr?.message ?? obsErr));
450
+ }
451
+ // Presence self-observation: a successful send means beats are live. If
452
+ // this beat resumed after a gap (the interval stalled, or the send failed /
453
+ // was breaker-suppressed for a stretch, regardless of cause), leave a
454
+ // durable, timestamped trace naming the elapsed duration -- the one record
455
+ // of the outage that survives independently of daemon_connections. Emitted
456
+ // once, the moment beats resume; the normal cadence updates the marker
457
+ // below and never warns.
458
+ const nowMs = Date.now();
459
+ const gap = detectHeartbeatGap(nowMs, lastSuccessfulHeartbeatAtMs, HEARTBEAT_INTERVAL_MS);
460
+ if (gap) {
461
+ log.warn(`[watchdog] Heartbeat presence gap: no successful beat for ${Math.round(gap.gapMs / 1000)}s ` +
462
+ `(> ${(HEARTBEAT_INTERVAL_MS * 2) / 1000}s threshold). Beats have resumed.`);
463
+ }
464
+ lastSuccessfulHeartbeatAtMs = nowMs;
465
+ }
466
+ catch (error) {
467
+ log.error('Heartbeat failed:', error.message);
468
+ }
469
+ }
470
+ /**
471
+ * Start sending periodic heartbeats. Sends one immediately.
472
+ */
473
+ export async function startHeartbeat() {
474
+ if (!config) {
475
+ throw new Error('Heartbeat not initialized. Call initHeartbeat first.');
476
+ }
477
+ // Send initial heartbeat immediately
478
+ await doHeartbeat();
479
+ // Start periodic heartbeats with error boundary
480
+ heartbeatInterval = safeInterval(() => {
481
+ return doHeartbeat();
482
+ }, HEARTBEAT_INTERVAL_MS, 'heartbeat');
483
+ log.info(`Started heartbeat (every ${HEARTBEAT_INTERVAL_MS / 1000}s)`);
484
+ }
485
+ /**
486
+ * Stop heartbeats and send a disconnect signal (best-effort).
487
+ */
488
+ export async function stopHeartbeat() {
489
+ if (heartbeatInterval) {
490
+ clearInterval(heartbeatInterval);
491
+ heartbeatInterval = null;
492
+ }
493
+ // Best-effort disconnect — don't block shutdown
494
+ try {
495
+ await sendDisconnect(process.pid);
496
+ log.info('Sent disconnect signal');
497
+ }
498
+ catch (error) {
499
+ log.error('Failed to send disconnect (non-fatal):', error.message);
500
+ }
501
+ }
502
+ //# sourceMappingURL=heartbeat.js.map