@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,770 @@
1
+ /**
2
+ * Polling-based listener for focus assignments.
3
+ *
4
+ * Since we're using HTTP API instead of direct Supabase access,
5
+ * we poll for ready focuses instead of using Realtime subscriptions.
6
+ * Agent assignment is at the focus level — the daemon spawns a
7
+ * single Agent Team per focus that manages all deliveries.
8
+ */
9
+ import { getAgentRoles } from '../queries/roles.js';
10
+ import { checkDeliveryAutoAdvance, checkVerifyDeliveriesForOpenIssues, checkDeliveryWorkStart } from './listener-auto-advance.js';
11
+ import { runReconcilerShadow } from '../delivery/delivery-reconciler-shadow.js';
12
+ import { spawnFocusTeam, hasActiveTeam, getActiveTeamCount, getActiveTeams, checkAndMergeCompletedDeliveries } from './focus-executor.js';
13
+ import { applyRespawnGuard } from './focus-respawn-guard.js';
14
+ import { checkResolvedMergeConflicts } from '../merge/focus-merge.js';
15
+ import { runCascadeChecks } from '../completion/state-cascade.js';
16
+ import { runStageLifecycleTransitions } from '../focus-stage-lifecycle/index.js';
17
+ import { recordActivity } from '../shell/heartbeat.js';
18
+ import { safeInterval, withRetry } from '@telora/daemon-core';
19
+ import { getActiveSessions, updateSession } from '../queries/sessions.js';
20
+ import { ensureFocusWorktrees, checkForDeactivatedFocuses } from './focus-lifecycle.js';
21
+ import { detectGitStates } from '../git/index.js';
22
+ import { detectFocusMerges } from '../merge/merge-detector.js';
23
+ import { checkControlStateChanges, reapDisarmedTeams } from '../shell/control-state.js';
24
+ import { isDaemonShuttingDown } from '../shell/shutdown-state.js';
25
+ import { registerPollTrigger, triggerCheck } from '../poll-trigger.js';
26
+ // Re-exported for existing importers; the live trigger is registered below.
27
+ export { triggerCheck };
28
+ import { configForProduct, findProduct } from '../shell/config.js';
29
+ import { checkIncomingRequests } from '../nexus/index.js';
30
+ import { checkIntakePendingRequests } from '../nexus/index.js';
31
+ import { checkResolvedRequests } from '../nexus/index.js';
32
+ import { checkEndpointClearance } from '../nexus/index.js';
33
+ import { checkDirectives, seedLastProcessedStage, getPendingSpawnFocusIds, getPendingSpawnDirective, clearPendingSpawnDirective, shouldReapPendingSpawnDirective } from '../directive/directive-executor.js';
34
+ import { decideNullRoleSpawn, resolveReviewerFallbackRole, shouldWarnNullRoleSkip, DEFAULT_REVIEWER_ROLE_NAME } from '../spawn/review-role-fallback.js';
35
+ import { getActiveFocuses, getReadyFocuses, clearAnswerRearm } from '../queries/deliveries.js';
36
+ import { isAuditPhaseFocusRow } from '../audit/audit-shape.js';
37
+ import { isIntakeDraining } from '../shell/intake-control.js';
38
+ import { checkDiscoveryRequests } from '../host-control/discovery-poll.js';
39
+ // Track focuses that have been logged as idle (no actionable deliveries).
40
+ // Only log on state change: first skip after an active session or after startup.
41
+ const idleLoggedFocuses = new Set();
42
+ // Track focuses already warned this blocked episode for a null-role coding
43
+ // off-state pending directive (Play/queue toggle cleared, no operator stop).
44
+ // Without this, the "no assigned_agent_role_id; skipping spawn (coding off-state)"
45
+ // warning fires every 30s poll for as long as the directive sits queued. We warn
46
+ // once on entry and suppress until the focus resumes (role assigned, directive
47
+ // cleared, or focus leaves the active set), at which point it is removed so a
48
+ // later re-entry warns again. Operator-stop suppression does NOT use this set --
49
+ // it drops the directive, so it is inherently once-per-episode.
50
+ const nullRoleSkipWarnedFocuses = new Set();
51
+ // Depth of the ready-focus queue as of the most recent completed poll. Read by
52
+ // the auto-updater's batch-safe idle predicate (auto-update-idle.ts): a drained
53
+ // queue (0) plus no active team is a safe restart seam. Stale-but-recent is fine
54
+ // -- the idle gate is debounced well past the poll interval.
55
+ let lastReadyFocusCount = 0;
56
+ /**
57
+ * Number of focuses with actionable (queued) work as of the last poll. Zero
58
+ * means the focus queue is drained. Used by the batch-safe idle predicate so a
59
+ * transient between-delivery gap (which still has queued focuses) does not read
60
+ * as idle.
61
+ */
62
+ export function getReadyFocusQueueDepth() {
63
+ return lastReadyFocusCount;
64
+ }
65
+ let config = null;
66
+ const roles = new Map();
67
+ let pollInterval = null;
68
+ let pollState = 'idle';
69
+ // Polling interval in milliseconds (default: 30 seconds)
70
+ const POLL_INTERVAL_MS = 30000;
71
+ // Roles refresh: re-fetch from DB periodically to pick up changes
72
+ const ROLES_REFRESH_INTERVAL_MS = 5 * 60 * 1000; // 5 minutes
73
+ let lastRolesRefreshAt = 0;
74
+ // Health check backoff: track consecutive failures to avoid hammering a broken API
75
+ let healthCheckConsecutiveFailures = 0;
76
+ const HEALTH_CHECK_MAX_SKIP_CYCLES = 10; // max backoff = 10 * 30s = 5 minutes
77
+ // Spawn cooldown imported from dedicated module (avoids circular deps)
78
+ import { isInSpawnCooldown } from '../spawn/spawn-cooldown.js';
79
+ import { shouldSkipPendingSpawn, recordPendingSpawnAttempt } from '../spawn/index.js';
80
+ import { createLogger } from '../shell/log.js';
81
+ const log = createLogger({ module: 'listener' });
82
+ /**
83
+ * Initialize the listener with configuration.
84
+ */
85
+ export async function initListener(daemonConfig) {
86
+ config = daemonConfig;
87
+ // Load all roles
88
+ try {
89
+ const roleList = await getAgentRoles(config.organizationId);
90
+ roles.clear();
91
+ for (const role of roleList) {
92
+ roles.set(role.id, role);
93
+ }
94
+ lastRolesRefreshAt = Date.now();
95
+ log.info(`Loaded ${roles.size} agent roles`);
96
+ // Seed directive executor with current stage IDs to prevent
97
+ // re-firing directives for stages already processed before restart.
98
+ //
99
+ // Skip focuses with review_requested_at set: those need the
100
+ // reviewing-stage spawn directive to fire fresh on the next poll
101
+ // (the user clicked Review, the team was supposed to spawn, the
102
+ // pending-spawn map was wiped on restart). Without this skip, the
103
+ // directive sees the seeded stage as already processed and never
104
+ // fires -- leaving the focus stuck in `reviewing` indefinitely
105
+ // because nothing else routes verify deliveries to a terminal
106
+ // status.
107
+ let seededCount = 0;
108
+ let skippedReviewCount = 0;
109
+ for (const product of daemonConfig.products) {
110
+ try {
111
+ const focuses = await getActiveFocuses(daemonConfig.organizationId, product.id);
112
+ for (const focus of focuses) {
113
+ if (!focus.current_workflow_stage_id)
114
+ continue;
115
+ if (focus.review_requested_at) {
116
+ skippedReviewCount++;
117
+ continue;
118
+ }
119
+ seedLastProcessedStage(focus.focus_id, focus.current_workflow_stage_id);
120
+ seededCount++;
121
+ }
122
+ }
123
+ catch (err) {
124
+ log.warn(`Failed to seed directive stages for product ${product.id}: ${err.message}`);
125
+ }
126
+ }
127
+ if (seededCount > 0) {
128
+ log.info(`Seeded directive stage tracking for ${seededCount} active focuses`);
129
+ }
130
+ if (skippedReviewCount > 0) {
131
+ log.info(`Skipped seeding for ${skippedReviewCount} focus(es) with pending review request -- directive will re-fire`);
132
+ }
133
+ }
134
+ catch (error) {
135
+ const msg = error.message ?? '';
136
+ if (msg.includes('API response validation failed for agent_role_list')) {
137
+ throw new Error('Agent role schema mismatch -- your Telora backend edge functions need to be redeployed. '
138
+ + 'The daemon expects full role details (organizationId, description, allowedFilePatterns, '
139
+ + 'allowedTools, systemPromptTemplate, color, icon) but the backend returned partial data. '
140
+ + 'Redeploy your Supabase edge functions and restart the daemon.');
141
+ }
142
+ throw error;
143
+ }
144
+ }
145
+ /**
146
+ * Start polling for ready focuses.
147
+ */
148
+ export function startDeliveryListener() {
149
+ if (!config) {
150
+ throw new Error('Listener not initialized. Call initListener first.');
151
+ }
152
+ // Initial check
153
+ processReadyFocuses();
154
+ // Start polling with error boundary — check for work and main advancement
155
+ // Per-product functions are called with product-scoped configs so that
156
+ // config.productId and config.repoPath resolve to the correct product.
157
+ pollInterval = safeInterval(async () => {
158
+ for (const product of config.products) {
159
+ const pc = configForProduct(config, product);
160
+ await ensureFocusWorktrees(pc, roles);
161
+ await checkForDeactivatedFocuses(pc);
162
+ await checkControlStateChanges(pc);
163
+ // Disarm reaper: clearing assigned_agent_role_id (dashboard Stop) only
164
+ // removes the focus from the spawn set; this stops the in-flight team via
165
+ // the same cooperative-stop -> SIGTERM path so Stop means stop. Runs after
166
+ // checkForDeactivatedFocuses (which owns genuine status!=active teardown).
167
+ await reapDisarmedTeams(pc);
168
+ await checkDeliveryAutoAdvance(pc);
169
+ await checkVerifyDeliveriesForOpenIssues(pc);
170
+ // Work-START edge: cross queued -> coding the moment a work issue is In
171
+ // Progress, during active execution (restores the deleted
172
+ // auto_advance_delivery_on_issue_active trigger via the single-writer
173
+ // reconciler). Runs for active-team focuses too, unlike checkDeliveryAutoAdvance.
174
+ await checkDeliveryWorkStart(pc);
175
+ // Single-writer consolidation (injection #10), SHADOW step: compute the
176
+ // reconciler's target for each delivery and log divergence from the live
177
+ // status. Writes nothing; default-OFF (opt-in via TELORA_RECONCILER_SHADOW),
178
+ // so this is a no-op until an operator enables it.
179
+ await runReconcilerShadow(pc);
180
+ // Nexus: pick up incoming cross-product requests and apply the accept gate.
181
+ await checkIncomingRequests(pc);
182
+ // Nexus: spawn a target-side scoping agent for each accepted, not-yet-
183
+ // materialized request so the receiving team authors a per-request focus
184
+ // (no server-side authoring, no dead-letter inbox).
185
+ await checkIntakePendingRequests(pc);
186
+ // Nexus: close the loop -- resolve done deliveries + notify blocked sources.
187
+ await checkResolvedRequests(pc);
188
+ // Nexus: clear externally-owned obstacles whose endpoint-typed request has
189
+ // been fulfilled (registry-shape), advancing the consumer's frontier.
190
+ await checkEndpointClearance(pc);
191
+ }
192
+ // Endpoint discovery (D5): org-scoped, once per cycle. Best-effort -- the
193
+ // daemon is the only LAN-reachable component, so it resolves the add-model
194
+ // form's pending {baseUrl}/models lookups. FIRE-AND-FORGET (TEL-7): never
195
+ // awaited, so a slow/blocked endpoint fetch can't delay spawn/merge work.
196
+ // Its own module-level re-entrancy guard drops overlapping cycles.
197
+ void checkDiscoveryRequests().catch((err) => log.warn('discovery poll failed:', err.message));
198
+ await processReadyFocuses();
199
+ await checkAndMergeCompletedDeliveries(config);
200
+ // checkDirectives runs syncFocusPhase (writing
201
+ // focus.current_workflow_stage_id) and fires stage-change directives
202
+ // -- including the spawn directive that starts the review team on
203
+ // entry to the `reviewing` phase. Run it before the cascade so phase
204
+ // and directive state are settled when the cascade reads them.
205
+ await checkDirectives(config);
206
+ // Pick up focuses that have a pending spawn directive but weren't
207
+ // surfaced by getReadyFocuses (e.g., review-stage spawns on focuses
208
+ // whose deliveries are all in verify).
209
+ await processPendingSpawnFocuses();
210
+ // The cascade no longer auto-completes reviews -- closing out a
211
+ // review and routing verify deliveries to done/verify_failed is the
212
+ // exclusive responsibility of focus-completion.ts's review exit
213
+ // handler, which gates on the exiting team's sessionType === 'review'
214
+ // (positive signal that an actual review ran).
215
+ await runCascadeChecks(config);
216
+ // New focus workflow lifecycle transitions (D2):
217
+ // - verify -> review when pipeline_config.review.enabled
218
+ // - review -> close_loop on state-based convergence
219
+ // - review -> review_nonconvergent escalation past the N-iter cap
220
+ // Runs after the legacy cascade so the new authoritative `stage`
221
+ // column reflects any updates the cascade may have made.
222
+ await runStageLifecycleTransitions(config);
223
+ await checkResolvedMergeConflicts(config);
224
+ await detectGitStates(config);
225
+ await detectFocusMerges(config);
226
+ // NOTE: the targeted daemon-owned stall detectors (verify_failed re-code cap
227
+ // + review-window staleness) run INSIDE runCascadeChecks above -- they ride
228
+ // its existing per-focus review-handling loop (reusing the deliveries +
229
+ // review phase it already fetched) rather than fanning out a second pass.
230
+ await checkSessionHealth();
231
+ }, POLL_INTERVAL_MS, 'focus-poll', { skipIfRunning: true });
232
+ log.info(`Started focus polling (every ${POLL_INTERVAL_MS / 1000}s)`);
233
+ }
234
+ /**
235
+ * Start session listener (no-op for polling mode).
236
+ * Kept for API compatibility with the original implementation.
237
+ */
238
+ export function startSessionListener() {
239
+ if (!config) {
240
+ throw new Error('Listener not initialized. Call initListener first.');
241
+ }
242
+ // In polling mode, session changes are handled by checking ready focuses
243
+ log.info('Session monitoring via polling (included in focus polling)');
244
+ }
245
+ export function decideFocusSpawn(gate) {
246
+ if (!gate.hasRole)
247
+ return 'skip_unknown_role';
248
+ if (gate.hasActiveTeam)
249
+ return 'skip_active_team';
250
+ if (gate.inSpawnCooldown)
251
+ return 'skip_cooldown';
252
+ if (gate.activeTeamCount >= gate.maxTotalSessions)
253
+ return 'stop_capacity';
254
+ return 'spawn';
255
+ }
256
+ /**
257
+ * Process any focuses ready for agent work.
258
+ *
259
+ * For each ready focus without an active team, spawns a single
260
+ * Agent Team that manages all deliveries within that focus.
261
+ * Also detects focuses that have been deactivated and shuts down
262
+ * their teams.
263
+ */
264
+ export async function processReadyFocuses() {
265
+ if (!config)
266
+ return;
267
+ // Prevent concurrent processing, and skip cycles during health check backoff
268
+ if (pollState === 'processing' || pollState === 'backing_off') {
269
+ return;
270
+ }
271
+ pollState = 'processing';
272
+ try {
273
+ // Periodically refresh agent roles to pick up changes
274
+ if (Date.now() - lastRolesRefreshAt > ROLES_REFRESH_INTERVAL_MS) {
275
+ try {
276
+ const roleList = await getAgentRoles(config.organizationId);
277
+ roles.clear();
278
+ for (const role of roleList) {
279
+ roles.set(role.id, role);
280
+ }
281
+ lastRolesRefreshAt = Date.now();
282
+ log.info(`Refreshed agent roles (${roles.size} roles loaded)`);
283
+ }
284
+ catch (err) {
285
+ log.warn(`Failed to refresh agent roles: ${err.message}`);
286
+ }
287
+ }
288
+ // Record activity: proves the poll ran even if no work was found
289
+ recordActivity();
290
+ // Snapshot active teams before processing (for idle detection)
291
+ const previouslyActiveIds = new Set(getActiveTeams().keys());
292
+ // Deactivation detection is now handled by checkForDeactivatedFocuses()
293
+ // in the poll loop (called before processReadyFocuses).
294
+ // Get ready focuses across all configured products
295
+ const readyFocuses = [];
296
+ for (const product of config.products) {
297
+ try {
298
+ const focuses = await getReadyFocuses(config.organizationId, product.id);
299
+ readyFocuses.push(...focuses);
300
+ }
301
+ catch (err) {
302
+ log.warn(`Failed to fetch ready focuses for product ${product.id}: ${err.message}`);
303
+ }
304
+ }
305
+ // Publish the queue depth for the auto-updater's batch-safe idle predicate.
306
+ // Set before any early-return below so a drained queue is observable.
307
+ lastReadyFocusCount = readyFocuses.length;
308
+ // Track which focuses are ready this cycle (for idle logging)
309
+ const readyFocusIds = new Set(readyFocuses.map(s => s.focus_id));
310
+ // Idle queue logging: detect focuses that were previously active
311
+ // but now have no ready deliveries. Only log on state change.
312
+ for (const focusId of previouslyActiveIds) {
313
+ if (!readyFocusIds.has(focusId) && !hasActiveTeam(focusId) && !idleLoggedFocuses.has(focusId)) {
314
+ const nextPollSec = POLL_INTERVAL_MS / 1000;
315
+ log.info(`Focus queue idle: "${focusId}" -- no actionable deliveries, next poll in ${nextPollSec}s`);
316
+ idleLoggedFocuses.add(focusId);
317
+ }
318
+ }
319
+ if (readyFocuses.length === 0) {
320
+ return;
321
+ }
322
+ // Intake drain (auto-update delivery C): a pending update has been stale
323
+ // past threshold while the daemon stays busy, so we stop accepting new focus
324
+ // teams to let the current batch become the safe seam. Active teams continue
325
+ // to completion; we simply do not spawn more. The held queue does not block
326
+ // the batch boundary because isBatchSafeIdle honors isIntakeDraining().
327
+ if (isIntakeDraining()) {
328
+ log.info(`[listener] Intake drained for pending update -- holding ${readyFocuses.length} ready focus(es); no new teams will spawn`);
329
+ return;
330
+ }
331
+ const productLabel = config.products.length > 1
332
+ ? ` across ${config.products.length} product(s)`
333
+ : '';
334
+ log.info(`Found ${readyFocuses.length} ready focuses${productLabel}`);
335
+ for (const focus of readyFocuses) {
336
+ const role = roles.get(focus.assigned_agent_role_id);
337
+ // Resolve the per-focus spawn-gate decision (pure; see decideFocusSpawn).
338
+ // The capacity input is the LIVE team count sampled this iteration, so a
339
+ // spawn earlier in this loop is reflected for the next focus.
340
+ const action = decideFocusSpawn({
341
+ hasRole: role !== undefined,
342
+ hasActiveTeam: hasActiveTeam(focus.focus_id),
343
+ inSpawnCooldown: isInSpawnCooldown(focus.focus_id),
344
+ activeTeamCount: getActiveTeamCount(),
345
+ maxTotalSessions: config.maxTotalSessions,
346
+ });
347
+ if (action === 'skip_unknown_role') {
348
+ log.error(`Unknown agent role: ${focus.assigned_agent_role_id}`);
349
+ continue;
350
+ }
351
+ if (action === 'skip_active_team') {
352
+ // Focus is active -- clear idle state so we re-log if it goes idle again
353
+ idleLoggedFocuses.delete(focus.focus_id);
354
+ // A re-arm flag may have landed while a team is up. Do NOT clear it here:
355
+ // the answer is consumed only at (re)spawn time via the escalation.answers
356
+ // resolver, and a still-live team does not re-run assembly mid-session
357
+ // (the wake-message handoff does not carry answers). Leaving the flag set
358
+ // lets the force-spawn deliver the answer once this team exits; clearing
359
+ // it now would strand the answer. The clear happens on the force-spawn
360
+ // below (one answer -> one re-spawn).
361
+ continue;
362
+ }
363
+ // Skip focuses that were recently torn down (spawn cooldown).
364
+ if (action === 'skip_cooldown') {
365
+ continue;
366
+ }
367
+ // Total capacity reached -- stop the whole loop, not just this focus.
368
+ if (action === 'stop_capacity') {
369
+ log.info(`Total session limit reached, stopping`);
370
+ break;
371
+ }
372
+ // action === 'spawn'. role is guaranteed defined (hasRole was true);
373
+ // this guard narrows the type and is otherwise unreachable.
374
+ if (!role)
375
+ continue;
376
+ const isRearm = focus.answer_rearm_requested_at != null;
377
+ // Clear idle state before spawn attempt -- if spawn succeeds,
378
+ // the focus is active. If it skips (no actionable deliveries),
379
+ // spawnFocusTeam logs the skip and we mark it idle here.
380
+ const wasIdle = idleLoggedFocuses.has(focus.focus_id);
381
+ idleLoggedFocuses.delete(focus.focus_id);
382
+ // Use product-scoped config so the team uses the correct repoPath
383
+ const productEntry = focus.product_id ? findProduct(config, focus.product_id) : undefined;
384
+ const spawnConfig = productEntry ? configForProduct(config, productEntry) : config;
385
+ // Spawn a focus team (one team per focus). forceSpawn lets a re-armed
386
+ // focus spawn past findActionableDeliveries' 'skip' to consume the
387
+ // pending escalation answer.
388
+ // Audit-phase focus (explicit read_only=true OR the second structural
389
+ // signal: audit_origin && not-yet-ratified, TEL-3) spawns read-only, so a
390
+ // flag-absent audit focus is not driven into scoping/write/commit ahead of
391
+ // ratification (2f253da6). See isAuditPhaseFocusRow.
392
+ await spawnFocusTeam({ config: spawnConfig, focusId: focus.focus_id, focusName: focus.focus_name, role, pipelineConfig: focus.pipeline_config, readOnly: isAuditPhaseFocusRow(focus), lastClaudeSessionId: focus.last_claude_session_id, claudeSessionIds: focus.claude_session_ids, engineOverride: focus.engine_override, localModelOverride: focus.local_model_override, orgDefaultEngine: focus.org_default_engine, pinnedBranch: focus.branch_name, forceSpawn: isRearm });
393
+ // Clear the re-arm flag only once a team is actually live to consume the
394
+ // answer: one answer -> one re-spawn. If the force-spawn did NOT produce an
395
+ // active team (worktree/governor failure, etc.), leave the flag set so a
396
+ // later poll retries delivery rather than stranding the answer. (Cooldown
397
+ // and capacity exit above without reaching here, so they also keep the
398
+ // flag.) Done before the idle check below so a consumed re-arm is not
399
+ // re-surfaced next poll.
400
+ if (isRearm && hasActiveTeam(focus.focus_id)) {
401
+ await clearAnswerRearm(focus.focus_id).catch((err) => log.warn(`Failed to clear answer re-arm for "${focus.focus_name}": ${err.message}`));
402
+ }
403
+ // If the spawn was skipped (no active team after spawn), mark as idle
404
+ if (!hasActiveTeam(focus.focus_id) && !wasIdle) {
405
+ const nextPollSec = POLL_INTERVAL_MS / 1000;
406
+ log.info(`Focus queue idle: "${focus.focus_name}" -- no actionable deliveries after pre-spawn check, next poll in ${nextPollSec}s`);
407
+ idleLoggedFocuses.add(focus.focus_id);
408
+ }
409
+ }
410
+ }
411
+ catch (error) {
412
+ log.error('Error processing ready focuses:', error);
413
+ }
414
+ finally {
415
+ pollState = healthCheckConsecutiveFailures > 0 ? 'backing_off' : 'idle';
416
+ }
417
+ }
418
+ /**
419
+ * Spawn teams for focuses that have a pending spawn directive but were
420
+ * not surfaced by getReadyFocuses.
421
+ *
422
+ * getReadyFocuses (daemon-focus-handlers.ts) only returns focuses with
423
+ * queued/coding deliveries (or zero deliveries). A review-stage spawn
424
+ * directive on a focus whose deliveries are all in verify never makes
425
+ * it to processReadyFocuses -- the pending directive sits forever and
426
+ * the team never starts. This function bridges that gap: scan the
427
+ * pending-spawn map directly and spawn for any focus that's not
428
+ * already running.
429
+ */
430
+ export async function processPendingSpawnFocuses() {
431
+ if (!config)
432
+ return;
433
+ if (isDaemonShuttingDown())
434
+ return;
435
+ const pendingIds = getPendingSpawnFocusIds().filter(id => !hasActiveTeam(id));
436
+ if (pendingIds.length === 0)
437
+ return;
438
+ // Fetch focus details for all configured products. getActiveFocuses
439
+ // returns the metadata spawnFocusTeam needs.
440
+ const focusDetailsById = new Map();
441
+ // Whether ANY product's getActiveFocuses read failed this tick. A fetch failure
442
+ // makes the active set incomplete, so a pending focus can look absent purely
443
+ // because its product's read failed -- absence is only trustworthy when this is
444
+ // false. Gates the zombie-directive reap below.
445
+ let anyFetchFailed = false;
446
+ for (const product of config.products) {
447
+ try {
448
+ const focuses = await getActiveFocuses(config.organizationId, product.id);
449
+ for (const f of focuses) {
450
+ if (pendingIds.includes(f.focus_id)) {
451
+ focusDetailsById.set(f.focus_id, f);
452
+ }
453
+ }
454
+ }
455
+ catch (err) {
456
+ anyFetchFailed = true;
457
+ log.warn(`[listener] processPendingSpawnFocuses: failed to fetch active focuses for product ${product.id}: ${err.message}`);
458
+ }
459
+ }
460
+ for (const focusId of pendingIds) {
461
+ const focus = focusDetailsById.get(focusId);
462
+ if (!focus) {
463
+ // Focus is absent from the active set. If the read was complete this tick
464
+ // (no fetch failure), the focus has genuinely left the active set -- its
465
+ // directive is a zombie: reap it once instead of retrying forever. On a
466
+ // fetch-failure tick the absence is untrustworthy, so keep retrying.
467
+ if (shouldReapPendingSpawnDirective({ anyFetchFailed, focusPresentInActiveSet: false })) {
468
+ clearPendingSpawnDirective(focusId);
469
+ // Focus left the active set -- the blocked episode is over. Clear its
470
+ // once-per-episode warn marker so a future re-entry warns again.
471
+ nullRoleSkipWarnedFocuses.delete(focusId);
472
+ log.info(`[listener] Dropping stale spawn directive for focus ${focusId.slice(0, 8)}: ` +
473
+ `confirmed absent from every product's active set (focus completed/deactivated).`);
474
+ }
475
+ else {
476
+ log.warn(`[listener] Pending spawn directive for focus ${focusId.slice(0, 8)} but focus not found in active set; ` +
477
+ `active-set read incomplete this tick (fetch failure) -- retrying next poll.`);
478
+ }
479
+ continue;
480
+ }
481
+ let role;
482
+ if (!focus.assigned_agent_role_id) {
483
+ // A null assigned_agent_role_id now means ONE OF TWO things, and they are
484
+ // NOT interchangeable:
485
+ // - operator_stopped_at set => an operator pulled the Play toggle to
486
+ // halt the focus. Authoritative: it wins over the review fallback.
487
+ // - operator_stopped_at null => auto_terminate_focus_team() cleared the
488
+ // role at completion (lifecycle). Here the review fallback applies:
489
+ // a review is a SECOND team that must spawn AFTER completion; a coding
490
+ // directive is the intended off-state and must NOT auto-spawn.
491
+ // decideNullRoleSpawn disambiguates via operatorStopped; the listener then
492
+ // acts on the decision (drop the directive on a stop, throttle the
493
+ // off-state warning, or spawn the lifecycle review fallback).
494
+ const operatorStopped = !!focus.operator_stopped_at;
495
+ const pending = getPendingSpawnDirective(focus.focus_id);
496
+ const decision = decideNullRoleSpawn({
497
+ sessionType: pending?.sessionType,
498
+ fallbackRole: resolveReviewerFallbackRole(roles.values()),
499
+ operatorStopped,
500
+ });
501
+ if (decision.action === 'skip') {
502
+ if (operatorStopped) {
503
+ // Operator STOP wins over the review fallback. Drop any directive
504
+ // queued while stopped so it does not silently survive to resume and
505
+ // fire the path the stop was meant to prevent. Dropping also removes
506
+ // the focus from the pending set, so this suppression is logged once
507
+ // per focus (per stop), never once per poll.
508
+ if (pending)
509
+ clearPendingSpawnDirective(focus.focus_id);
510
+ nullRoleSkipWarnedFocuses.delete(focus.focus_id);
511
+ log.info(`[listener] Focus ${focusId.slice(0, 8)} ("${focus.focus_name}") is held by an operator stop; ` +
512
+ `suppressing the queued ${pending?.sessionType ?? 'spawn'} directive (dropped, not carried to resume).`);
513
+ continue;
514
+ }
515
+ // Coding off-state (Play/queue toggle cleared, no operator stop): the
516
+ // directive legitimately stays queued. Bound the warning to once per
517
+ // blocked episode so a stopped focus does not spin-log every 30s poll.
518
+ if (shouldWarnNullRoleSkip(nullRoleSkipWarnedFocuses, focus.focus_id)) {
519
+ log.warn(`[listener] Pending spawn directive for focus ${focusId.slice(0, 8)} ("${focus.focus_name}") but no assigned_agent_role_id; ` +
520
+ `skipping spawn (coding off-state). Suppressing further per-poll warnings until it resumes.`);
521
+ }
522
+ continue;
523
+ }
524
+ // Past the skip paths: this is a genuine lifecycle clear (operatorStopped
525
+ // is false here). The episode is over either way, so clear the marker.
526
+ nullRoleSkipWarnedFocuses.delete(focus.focus_id);
527
+ if (decision.action === 'clear') {
528
+ // Review strand with no resolvable fallback role: drop the directive so
529
+ // the stranded-review re-fire suppression (directive-executor) cannot
530
+ // spin-log forever. review_window_stalled remains the escalation path,
531
+ // and now fires promptly rather than after 6h of churn.
532
+ clearPendingSpawnDirective(focus.focus_id);
533
+ log.warn(`[listener] Stranded review directive for focus ${focusId.slice(0, 8)} ("${focus.focus_name}") has a null assigned_agent_role_id ` +
534
+ `and no seeded '${DEFAULT_REVIEWER_ROLE_NAME}' fallback role resolved -- dropping the directive so it stops re-firing; ` +
535
+ `review_window_stalled will escalate.`);
536
+ continue;
537
+ }
538
+ role = decision.role;
539
+ // Reachable only when operatorStopped is false (an operator stop takes the
540
+ // skip path above), so "(coding team completed)" is a true provenance
541
+ // claim here rather than an assumption stamped on every null-role spawn.
542
+ log.info(`[listener] Review directive for focus ${focusId.slice(0, 8)} ("${focus.focus_name}") has a null assigned_agent_role_id ` +
543
+ `(coding team completed); spawning review with fallback role "${role.name}".`);
544
+ }
545
+ else {
546
+ // Focus has a role again -- any prior null-role blocked episode is over.
547
+ nullRoleSkipWarnedFocuses.delete(focus.focus_id);
548
+ role = roles.get(focus.assigned_agent_role_id);
549
+ if (!role) {
550
+ log.warn(`[listener] Pending spawn directive for focus ${focusId.slice(0, 8)} ("${focus.focus_name}") references unknown role ${focus.assigned_agent_role_id}; ` +
551
+ `skipping spawn.`);
552
+ continue;
553
+ }
554
+ }
555
+ // Park focuses with an unhealed team_failure escalation BEFORE attempting
556
+ // the spawn. spawnFocusTeam applies the same guard, but it returns after
557
+ // the guard fires without consuming the pending directive -- so the
558
+ // directive stays queued and this loop re-attempts (and the guard re-logs)
559
+ // every poll. Checking here skips the misleading "Spawning team" log and
560
+ // the wasted spawn call; the directive intentionally stays queued so the
561
+ // (re)review resumes once a human resolves the escalation. The guard
562
+ // throttles its own log to once per blocked episode.
563
+ if (await applyRespawnGuard(focus.focus_id, focus.focus_name)) {
564
+ continue;
565
+ }
566
+ // Spawn cooldown: this path spawns teams for focuses that getReadyFocuses
567
+ // does NOT surface -- focuses with no actionable/queued deliveries (e.g. a
568
+ // reviewing-stage spawn over a focus whose deliveries are all in verify).
569
+ // Such a team idle-exits if its directive can't make progress; without a
570
+ // gate the directive re-fires every poll and the daemon respawns an
571
+ // immediately-idle team every cycle (the reinforcing auto-review/idle-spawn
572
+ // loop). See pending-spawn-guard.ts.
573
+ if (shouldSkipPendingSpawn(focus.focus_id)) {
574
+ continue;
575
+ }
576
+ if (getActiveTeamCount() >= config.maxTotalSessions) {
577
+ log.info(`Total session limit reached, deferring pending spawn for "${focus.focus_name}"`);
578
+ break;
579
+ }
580
+ const productEntry = focus.product_id ? findProduct(config, focus.product_id) : undefined;
581
+ const spawnConfig = productEntry ? configForProduct(config, productEntry) : config;
582
+ log.info(`[listener] Spawning team for focus "${focus.focus_name}" via pending spawn directive ` +
583
+ `(no actionable deliveries, but directive is queued)`);
584
+ // Audit-phase => read-only spawn (see the processReadyFocuses spawn above).
585
+ // The pending-spawn focus comes from getActiveFocuses, which carries
586
+ // audit_origin + ratified_at, so the second signal (TEL-3) resolves here too.
587
+ await spawnFocusTeam({
588
+ config: spawnConfig,
589
+ focusId: focus.focus_id,
590
+ focusName: focus.focus_name,
591
+ role,
592
+ pipelineConfig: focus.pipeline_config,
593
+ readOnly: isAuditPhaseFocusRow(focus),
594
+ lastClaudeSessionId: null,
595
+ claudeSessionIds: focus.claude_session_ids,
596
+ engineOverride: focus.engine_override,
597
+ localModelOverride: focus.local_model_override,
598
+ orgDefaultEngine: focus.org_default_engine,
599
+ pinnedBranch: focus.branch_name,
600
+ });
601
+ // Record a teardown so repeated spawns through this no-actionable-work path
602
+ // back off exponentially instead of recurring every poll. A team that
603
+ // genuinely makes progress moves the focus into a state getReadyFocuses
604
+ // surfaces (and clearSpawnCooldown can reset it); a team that idle-exits is
605
+ // rate-limited by the growing cooldown. This bounds spawn count on a
606
+ // wedged-in-verify focus. See pending-spawn-guard.ts.
607
+ recordPendingSpawnAttempt(focus.focus_id);
608
+ }
609
+ }
610
+ /**
611
+ * Check that every session recorded as 'starting' or 'running' in the DB
612
+ * has a corresponding active team in memory.
613
+ *
614
+ * If a session has been in a live status for more than 2 minutes but no
615
+ * active team claims it (e.g. the process was OOM-killed or the close
616
+ * handler failed to update the DB), the session is marked as 'failed' so
617
+ * subsequent poll cycles can respawn the focus.
618
+ */
619
+ export async function checkSessionHealth() {
620
+ const GRACE_PERIOD_MS = 2 * 60 * 1000; // 2 minutes
621
+ // Backoff: skip this cycle if we've had consecutive failures.
622
+ // After N failures, skip N poll cycles before retrying (capped at max).
623
+ if (healthCheckConsecutiveFailures > 0) {
624
+ // Use the failure count as the number of cycles to skip
625
+ const skipCycles = Math.min(healthCheckConsecutiveFailures, HEALTH_CHECK_MAX_SKIP_CYCLES);
626
+ healthCheckConsecutiveFailures++;
627
+ if (healthCheckConsecutiveFailures % skipCycles !== 0) {
628
+ return; // skip this cycle
629
+ }
630
+ log.info(`[health] Retrying after ${healthCheckConsecutiveFailures} consecutive failures (backoff: every ${skipCycles} cycles)`);
631
+ }
632
+ // Aggregate active sessions across all configured products
633
+ const activeSessions = [];
634
+ try {
635
+ for (const product of (config?.products ?? [])) {
636
+ const sessions = await getActiveSessions(product.id);
637
+ activeSessions.push(...sessions);
638
+ }
639
+ // Reset backoff on success
640
+ if (healthCheckConsecutiveFailures > 0) {
641
+ log.info(`[health] Session health check recovered after ${healthCheckConsecutiveFailures} failures`);
642
+ healthCheckConsecutiveFailures = 0;
643
+ pollState = 'idle';
644
+ }
645
+ }
646
+ catch (err) {
647
+ healthCheckConsecutiveFailures++;
648
+ pollState = 'backing_off';
649
+ log.warn(`[health] Failed to fetch active sessions (failure #${healthCheckConsecutiveFailures}): ${err.message}`);
650
+ return;
651
+ }
652
+ if (activeSessions.length === 0) {
653
+ return;
654
+ }
655
+ log.info(`[health] Checking ${activeSessions.length} active session(s) for orphaned processes`);
656
+ // Build a set of all leadSessionIds currently tracked in memory
657
+ const activeTeams = getActiveTeams();
658
+ const trackedSessionIds = new Set();
659
+ for (const team of activeTeams.values()) {
660
+ if (team.leadSessionId) {
661
+ trackedSessionIds.add(team.leadSessionId);
662
+ }
663
+ }
664
+ const now = Date.now();
665
+ const staleSessionIds = [];
666
+ for (const session of activeSessions) {
667
+ // Skip if this session is tracked by an active in-memory team
668
+ if (trackedSessionIds.has(session.id)) {
669
+ continue;
670
+ }
671
+ // Apply grace period: ignore sessions that started very recently
672
+ // (in case the team is still being set up and hasn't registered yet)
673
+ const startedAt = session.started_at ?? session.queued_at;
674
+ if (!startedAt) {
675
+ // Cannot determine session age — skip conservatively
676
+ continue;
677
+ }
678
+ const sessionAgeMs = now - new Date(startedAt).getTime();
679
+ if (sessionAgeMs < GRACE_PERIOD_MS) {
680
+ continue;
681
+ }
682
+ // PID liveness check: if the session's process is still alive,
683
+ // skip orphan detection. This prevents false positives when the
684
+ // in-memory tracking is stale but the process is genuinely running.
685
+ //
686
+ // Note: full re-registration into activeTeams is not attempted here because
687
+ // FocusTeamState requires stdin handles, execution config, pipeline config,
688
+ // and other fields that cannot be reconstructed from a DB session row alone.
689
+ // The process will continue running; the next daemon restart will recover state.
690
+ const pid = session.pid;
691
+ if (pid != null) {
692
+ try {
693
+ process.kill(pid, 0); // signal 0 = test if process exists
694
+ log.warn(`[health] Session ${session.id} not tracked in-memory but PID ${pid} is alive — skipping orphan detection` +
695
+ ` (focus=${session.focus_id ?? 'none'})`);
696
+ continue;
697
+ }
698
+ catch (err) {
699
+ // process.kill throws if PID does not exist — proceed to mark as orphaned
700
+ log.debug('process.kill throws if PID does not exist — proceed to mark as orphaned', { error: String(err?.message ?? err) });
701
+ }
702
+ }
703
+ staleSessionIds.push(session.id);
704
+ log.warn(`[health] Orphaned session detected: ${session.id} ` +
705
+ `(status=${session.status}, age=${Math.round(sessionAgeMs / 1000)}s, ` +
706
+ `focus=${session.focus_id ?? 'none'}, delivery=${session.delivery_id ?? 'none'})`);
707
+ }
708
+ if (staleSessionIds.length === 0) {
709
+ return;
710
+ }
711
+ log.info(`[health] Marking ${staleSessionIds.length} orphaned session(s) as failed`);
712
+ const updateResults = await Promise.allSettled(staleSessionIds.map(sessionId => withRetry(() => updateSession(sessionId, {
713
+ status: 'failed',
714
+ exit_reason: 'Session health check: no active team found for running session',
715
+ ended_at: new Date().toISOString(),
716
+ }), { maxAttempts: 3, baseDelayMs: 1000, label: 'health-check-session-update' })));
717
+ for (let i = 0; i < updateResults.length; i++) {
718
+ const result = updateResults[i];
719
+ if (result.status === 'rejected') {
720
+ log.error(`[health] Failed to mark session ${staleSessionIds[i]} as failed: ${result.reason.message}`);
721
+ }
722
+ else {
723
+ log.info(`[health] Marked session ${staleSessionIds[i]} as failed`);
724
+ }
725
+ }
726
+ }
727
+ /**
728
+ * Stop all listeners.
729
+ */
730
+ export async function stopListeners() {
731
+ if (pollInterval) {
732
+ clearInterval(pollInterval);
733
+ pollInterval = null;
734
+ }
735
+ log.info('Stopped polling');
736
+ }
737
+ /**
738
+ * Refresh roles from API.
739
+ */
740
+ export async function refreshRoles() {
741
+ if (!config)
742
+ return;
743
+ const roleList = await getAgentRoles(config.organizationId);
744
+ roles.clear();
745
+ for (const role of roleList) {
746
+ roles.set(role.id, role);
747
+ }
748
+ lastRolesRefreshAt = Date.now();
749
+ log.info(`Refreshed ${roles.size} agent roles`);
750
+ }
751
+ /**
752
+ * Register the poll-loop trigger with the poll-trigger leaf so completion
753
+ * handling can nudge an immediate check for ready focuses after a session
754
+ * completes (to auto-advance to the next delivery) WITHOUT importing this
755
+ * module -- a direct completion -> listener import would close a static import
756
+ * cycle. No-ops during daemon shutdown to prevent spawn attempts after the
757
+ * resource governor has been shut down.
758
+ */
759
+ registerPollTrigger(() => {
760
+ if (isDaemonShuttingDown())
761
+ return;
762
+ processReadyFocuses();
763
+ });
764
+ // Note: Detection of completed guard agents and re-evaluation of paused deliveries
765
+ // is handled by the Human Routing UI. When a human makes a routing decision,
766
+ // the UI updates the transition_blocks.decision_path and sets the delivery back to 'queued',
767
+ // which the normal poll loop picks up. For spawn_agent triggers, the spawned agent's
768
+ // completion triggers a re-poll via triggerCheck(), and the delivery will be re-evaluated
769
+ // on the next spawn cycle since it remains in 'paused' status until the human routes it.
770
+ //# sourceMappingURL=listener.js.map