@openrig/cli 0.5.15 → 0.5.17

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 (2493) hide show
  1. package/daemon/context-packs/onboarding-width/manifest.yaml +1 -1
  2. package/daemon/context-packs/skills/agent-operated-software/manifest.yaml +1 -1
  3. package/daemon/context-packs/skills/agent-operated-workflows/manifest.yaml +1 -1
  4. package/daemon/context-packs/skills/applying-a-permission-policy/manifest.yaml +1 -1
  5. package/daemon/context-packs/skills/claude-compaction-restore/manifest.yaml +1 -1
  6. package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +1 -1
  7. package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +1 -1
  8. package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +1 -1
  9. package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +1 -1
  10. package/daemon/context-packs/skills/core/messaging-the-human/manifest.yaml +1 -1
  11. package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +1 -1
  12. package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +1 -1
  13. package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +1 -1
  14. package/daemon/context-packs/skills/core/openrig-skills/manifest.yaml +1 -1
  15. package/daemon/context-packs/skills/core/openrig-software-factory/manifest.yaml +1 -1
  16. package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +1 -1
  17. package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +1 -1
  18. package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +1 -1
  19. package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +1 -1
  20. package/daemon/context-packs/skills/core/specification-system/manifest.yaml +1 -1
  21. package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +1 -1
  22. package/daemon/context-packs/skills/core/watchdog/manifest.yaml +1 -1
  23. package/daemon/context-packs/skills/delegating-work/manifest.yaml +1 -1
  24. package/daemon/context-packs/skills/forming-an-openrig-mental-model/manifest.yaml +1 -1
  25. package/daemon/context-packs/skills/loading-addressable-markdown/manifest.yaml +1 -1
  26. package/daemon/context-packs/skills/mission-slice-sop/manifest.yaml +1 -1
  27. package/daemon/context-packs/skills/openrig-operating-model/manifest.yaml +1 -1
  28. package/daemon/context-packs/skills/openrig-user/manifest.yaml +1 -1
  29. package/daemon/context-packs/skills/orienting-to-an-inherited-seat/manifest.yaml +1 -1
  30. package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +1 -1
  31. package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +1 -1
  32. package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +1 -1
  33. package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +1 -1
  34. package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +1 -1
  35. package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +1 -1
  36. package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +1 -1
  37. package/daemon/context-packs/skills/pods/development-team/manifest.yaml +1 -1
  38. package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +1 -1
  39. package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +1 -1
  40. package/daemon/context-packs/skills/pods/review-team/manifest.yaml +1 -1
  41. package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +1 -1
  42. package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +1 -1
  43. package/daemon/context-packs/skills/process/dogfood/manifest.yaml +1 -1
  44. package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +1 -1
  45. package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +1 -1
  46. package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +1 -1
  47. package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +1 -1
  48. package/daemon/context-packs/skills/queue-handoff/manifest.yaml +1 -1
  49. package/daemon/context-packs/skills/refocusing/manifest.yaml +1 -1
  50. package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/manifest.yaml +1 -1
  51. package/daemon/context-packs/skills/seat-continuity-and-handover/manifest.yaml +1 -1
  52. package/daemon/context-packs/skills/session-compaction-and-restore/manifest.yaml +1 -1
  53. package/daemon/context-packs/skills/software-for-agents/manifest.yaml +1 -1
  54. package/daemon/context-packs/world-example/manifest.yaml +1 -1
  55. package/daemon/context-packs/world-public/manifest.yaml +1 -1
  56. package/daemon/dist/adapters/claude-code-adapter.js +5 -5
  57. package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
  58. package/daemon/dist/build-info.js +3 -3
  59. package/daemon/dist/db/all-migrations.d.ts +1 -1
  60. package/daemon/dist/db/all-migrations.d.ts.map +1 -1
  61. package/daemon/dist/db/all-migrations.js +4 -2
  62. package/daemon/dist/db/all-migrations.js.map +1 -1
  63. package/daemon/dist/db/migrations/085_rig_claude_managed_block_file.d.ts +13 -0
  64. package/daemon/dist/db/migrations/085_rig_claude_managed_block_file.d.ts.map +1 -0
  65. package/daemon/dist/db/migrations/085_rig_claude_managed_block_file.js +17 -0
  66. package/daemon/dist/db/migrations/085_rig_claude_managed_block_file.js.map +1 -0
  67. package/daemon/dist/domain/managed-blocks.d.ts +3 -0
  68. package/daemon/dist/domain/managed-blocks.d.ts.map +1 -1
  69. package/daemon/dist/domain/managed-blocks.js +5 -0
  70. package/daemon/dist/domain/managed-blocks.js.map +1 -1
  71. package/daemon/dist/domain/projection-planner.d.ts +2 -1
  72. package/daemon/dist/domain/projection-planner.d.ts.map +1 -1
  73. package/daemon/dist/domain/projection-planner.js +3 -2
  74. package/daemon/dist/domain/projection-planner.js.map +1 -1
  75. package/daemon/dist/domain/rig-repository.d.ts +6 -0
  76. package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
  77. package/daemon/dist/domain/rig-repository.js +16 -0
  78. package/daemon/dist/domain/rig-repository.js.map +1 -1
  79. package/daemon/dist/domain/rig-teardown.d.ts.map +1 -1
  80. package/daemon/dist/domain/rig-teardown.js +6 -5
  81. package/daemon/dist/domain/rig-teardown.js.map +1 -1
  82. package/daemon/dist/domain/rigspec-codec.d.ts.map +1 -1
  83. package/daemon/dist/domain/rigspec-codec.js +2 -0
  84. package/daemon/dist/domain/rigspec-codec.js.map +1 -1
  85. package/daemon/dist/domain/rigspec-exporter.d.ts.map +1 -1
  86. package/daemon/dist/domain/rigspec-exporter.js +3 -0
  87. package/daemon/dist/domain/rigspec-exporter.js.map +1 -1
  88. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  89. package/daemon/dist/domain/rigspec-instantiator.js +11 -1
  90. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  91. package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
  92. package/daemon/dist/domain/rigspec-schema.js +23 -1
  93. package/daemon/dist/domain/rigspec-schema.js.map +1 -1
  94. package/daemon/dist/domain/runtime-adapter.d.ts +2 -0
  95. package/daemon/dist/domain/runtime-adapter.d.ts.map +1 -1
  96. package/daemon/dist/domain/runtime-adapter.js.map +1 -1
  97. package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
  98. package/daemon/dist/domain/startup-orchestrator.js +8 -0
  99. package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
  100. package/daemon/dist/domain/types.d.ts +4 -0
  101. package/daemon/dist/domain/types.d.ts.map +1 -1
  102. package/daemon/docs/reference/rig-spec.md +31 -0
  103. package/dist/build-info.js +3 -3
  104. package/dist/commands/config-init-workspace.js +1 -1
  105. package/dist/commands/context.js +2 -2
  106. package/dist/commands/crash-cart.js +1 -1
  107. package/dist/commands/doctor.js +1 -1
  108. package/dist/commands/gateway.js +5 -5
  109. package/dist/commands/health.js +1 -1
  110. package/dist/commands/skill.js +1 -1
  111. package/dist/commands/slack.js +3 -3
  112. package/dist/daemon-lifecycle.js +2 -2
  113. package/dist/lib/context-install.js +1 -1
  114. package/dist/lib/scope/mission-composition.js +1 -1
  115. package/dist/lib/work-install.js +4 -4
  116. package/dist/local-reading.js +1 -1
  117. package/package.json +1 -5
  118. package/tui/dist/pulse/pulse-model.js +1 -1
  119. package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.d.ts +0 -157
  120. package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.d.ts.map +0 -1
  121. package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.js +0 -877
  122. package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.js.map +0 -1
  123. package/node_modules/@openrig/daemon/dist/adapters/claude-resume.d.ts +0 -30
  124. package/node_modules/@openrig/daemon/dist/adapters/claude-resume.d.ts.map +0 -1
  125. package/node_modules/@openrig/daemon/dist/adapters/claude-resume.js +0 -119
  126. package/node_modules/@openrig/daemon/dist/adapters/claude-resume.js.map +0 -1
  127. package/node_modules/@openrig/daemon/dist/adapters/cmux-transport.d.ts +0 -14
  128. package/node_modules/@openrig/daemon/dist/adapters/cmux-transport.d.ts.map +0 -1
  129. package/node_modules/@openrig/daemon/dist/adapters/cmux-transport.js +0 -354
  130. package/node_modules/@openrig/daemon/dist/adapters/cmux-transport.js.map +0 -1
  131. package/node_modules/@openrig/daemon/dist/adapters/cmux.d.ts +0 -65
  132. package/node_modules/@openrig/daemon/dist/adapters/cmux.d.ts.map +0 -1
  133. package/node_modules/@openrig/daemon/dist/adapters/cmux.js +0 -332
  134. package/node_modules/@openrig/daemon/dist/adapters/cmux.js.map +0 -1
  135. package/node_modules/@openrig/daemon/dist/adapters/codex-resume.d.ts +0 -19
  136. package/node_modules/@openrig/daemon/dist/adapters/codex-resume.d.ts.map +0 -1
  137. package/node_modules/@openrig/daemon/dist/adapters/codex-resume.js +0 -132
  138. package/node_modules/@openrig/daemon/dist/adapters/codex-resume.js.map +0 -1
  139. package/node_modules/@openrig/daemon/dist/adapters/codex-runtime-adapter.d.ts +0 -188
  140. package/node_modules/@openrig/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +0 -1
  141. package/node_modules/@openrig/daemon/dist/adapters/codex-runtime-adapter.js +0 -1355
  142. package/node_modules/@openrig/daemon/dist/adapters/codex-runtime-adapter.js.map +0 -1
  143. package/node_modules/@openrig/daemon/dist/adapters/compose-services-adapter.d.ts +0 -73
  144. package/node_modules/@openrig/daemon/dist/adapters/compose-services-adapter.d.ts.map +0 -1
  145. package/node_modules/@openrig/daemon/dist/adapters/compose-services-adapter.js +0 -195
  146. package/node_modules/@openrig/daemon/dist/adapters/compose-services-adapter.js.map +0 -1
  147. package/node_modules/@openrig/daemon/dist/adapters/pi-resume.d.ts +0 -32
  148. package/node_modules/@openrig/daemon/dist/adapters/pi-resume.d.ts.map +0 -1
  149. package/node_modules/@openrig/daemon/dist/adapters/pi-resume.js +0 -134
  150. package/node_modules/@openrig/daemon/dist/adapters/pi-resume.js.map +0 -1
  151. package/node_modules/@openrig/daemon/dist/adapters/pi-runner-protocol.d.ts +0 -88
  152. package/node_modules/@openrig/daemon/dist/adapters/pi-runner-protocol.d.ts.map +0 -1
  153. package/node_modules/@openrig/daemon/dist/adapters/pi-runner-protocol.js +0 -158
  154. package/node_modules/@openrig/daemon/dist/adapters/pi-runner-protocol.js.map +0 -1
  155. package/node_modules/@openrig/daemon/dist/adapters/pi-runner.d.ts +0 -90
  156. package/node_modules/@openrig/daemon/dist/adapters/pi-runner.d.ts.map +0 -1
  157. package/node_modules/@openrig/daemon/dist/adapters/pi-runner.js +0 -599
  158. package/node_modules/@openrig/daemon/dist/adapters/pi-runner.js.map +0 -1
  159. package/node_modules/@openrig/daemon/dist/adapters/pi-runtime-adapter.d.ts +0 -61
  160. package/node_modules/@openrig/daemon/dist/adapters/pi-runtime-adapter.d.ts.map +0 -1
  161. package/node_modules/@openrig/daemon/dist/adapters/pi-runtime-adapter.js +0 -362
  162. package/node_modules/@openrig/daemon/dist/adapters/pi-runtime-adapter.js.map +0 -1
  163. package/node_modules/@openrig/daemon/dist/adapters/shell-quote.d.ts +0 -3
  164. package/node_modules/@openrig/daemon/dist/adapters/shell-quote.d.ts.map +0 -1
  165. package/node_modules/@openrig/daemon/dist/adapters/shell-quote.js +0 -5
  166. package/node_modules/@openrig/daemon/dist/adapters/shell-quote.js.map +0 -1
  167. package/node_modules/@openrig/daemon/dist/adapters/stub-compaction.d.ts +0 -28
  168. package/node_modules/@openrig/daemon/dist/adapters/stub-compaction.d.ts.map +0 -1
  169. package/node_modules/@openrig/daemon/dist/adapters/stub-compaction.js +0 -62
  170. package/node_modules/@openrig/daemon/dist/adapters/stub-compaction.js.map +0 -1
  171. package/node_modules/@openrig/daemon/dist/adapters/stub-restore.d.ts +0 -39
  172. package/node_modules/@openrig/daemon/dist/adapters/stub-restore.d.ts.map +0 -1
  173. package/node_modules/@openrig/daemon/dist/adapters/stub-restore.js +0 -84
  174. package/node_modules/@openrig/daemon/dist/adapters/stub-restore.js.map +0 -1
  175. package/node_modules/@openrig/daemon/dist/adapters/stub-runner-protocol.d.ts +0 -48
  176. package/node_modules/@openrig/daemon/dist/adapters/stub-runner-protocol.d.ts.map +0 -1
  177. package/node_modules/@openrig/daemon/dist/adapters/stub-runner-protocol.js +0 -77
  178. package/node_modules/@openrig/daemon/dist/adapters/stub-runner-protocol.js.map +0 -1
  179. package/node_modules/@openrig/daemon/dist/adapters/stub-runner.d.ts +0 -96
  180. package/node_modules/@openrig/daemon/dist/adapters/stub-runner.d.ts.map +0 -1
  181. package/node_modules/@openrig/daemon/dist/adapters/stub-runner.js +0 -343
  182. package/node_modules/@openrig/daemon/dist/adapters/stub-runner.js.map +0 -1
  183. package/node_modules/@openrig/daemon/dist/adapters/stub-runtime-adapter.d.ts +0 -51
  184. package/node_modules/@openrig/daemon/dist/adapters/stub-runtime-adapter.d.ts.map +0 -1
  185. package/node_modules/@openrig/daemon/dist/adapters/stub-runtime-adapter.js +0 -270
  186. package/node_modules/@openrig/daemon/dist/adapters/stub-runtime-adapter.js.map +0 -1
  187. package/node_modules/@openrig/daemon/dist/adapters/stub-script.d.ts +0 -30
  188. package/node_modules/@openrig/daemon/dist/adapters/stub-script.d.ts.map +0 -1
  189. package/node_modules/@openrig/daemon/dist/adapters/stub-script.js +0 -79
  190. package/node_modules/@openrig/daemon/dist/adapters/stub-script.js.map +0 -1
  191. package/node_modules/@openrig/daemon/dist/adapters/terminal-adapter.d.ts +0 -21
  192. package/node_modules/@openrig/daemon/dist/adapters/terminal-adapter.d.ts.map +0 -1
  193. package/node_modules/@openrig/daemon/dist/adapters/terminal-adapter.js +0 -31
  194. package/node_modules/@openrig/daemon/dist/adapters/terminal-adapter.js.map +0 -1
  195. package/node_modules/@openrig/daemon/dist/adapters/tmux-exec.d.ts +0 -7
  196. package/node_modules/@openrig/daemon/dist/adapters/tmux-exec.d.ts.map +0 -1
  197. package/node_modules/@openrig/daemon/dist/adapters/tmux-exec.js +0 -32
  198. package/node_modules/@openrig/daemon/dist/adapters/tmux-exec.js.map +0 -1
  199. package/node_modules/@openrig/daemon/dist/adapters/tmux.d.ts +0 -270
  200. package/node_modules/@openrig/daemon/dist/adapters/tmux.d.ts.map +0 -1
  201. package/node_modules/@openrig/daemon/dist/adapters/tmux.js +0 -735
  202. package/node_modules/@openrig/daemon/dist/adapters/tmux.js.map +0 -1
  203. package/node_modules/@openrig/daemon/dist/adapters/yolo-mode.d.ts +0 -41
  204. package/node_modules/@openrig/daemon/dist/adapters/yolo-mode.d.ts.map +0 -1
  205. package/node_modules/@openrig/daemon/dist/adapters/yolo-mode.js +0 -70
  206. package/node_modules/@openrig/daemon/dist/adapters/yolo-mode.js.map +0 -1
  207. package/node_modules/@openrig/daemon/dist/attention-surface.d.ts +0 -38
  208. package/node_modules/@openrig/daemon/dist/attention-surface.d.ts.map +0 -1
  209. package/node_modules/@openrig/daemon/dist/attention-surface.js +0 -3
  210. package/node_modules/@openrig/daemon/dist/attention-surface.js.map +0 -1
  211. package/node_modules/@openrig/daemon/dist/build-info.d.ts +0 -12
  212. package/node_modules/@openrig/daemon/dist/build-info.d.ts.map +0 -1
  213. package/node_modules/@openrig/daemon/dist/build-info.js +0 -11
  214. package/node_modules/@openrig/daemon/dist/build-info.js.map +0 -1
  215. package/node_modules/@openrig/daemon/dist/builtins/workflow-specs/basic-loop.yaml +0 -76
  216. package/node_modules/@openrig/daemon/dist/builtins/workflow-specs/branched-remediation.yaml +0 -31
  217. package/node_modules/@openrig/daemon/dist/builtins/workflow-specs/conveyor.yaml +0 -80
  218. package/node_modules/@openrig/daemon/dist/builtins/workflow-specs/factory-rsi.yaml +0 -152
  219. package/node_modules/@openrig/daemon/dist/builtins/workflow-specs/gated-release.yaml +0 -26
  220. package/node_modules/@openrig/daemon/dist/builtins/workflow-specs/linear-build.yaml +0 -21
  221. package/node_modules/@openrig/daemon/dist/context-pack-taxonomy-surface.d.ts +0 -2
  222. package/node_modules/@openrig/daemon/dist/context-pack-taxonomy-surface.d.ts.map +0 -1
  223. package/node_modules/@openrig/daemon/dist/context-pack-taxonomy-surface.js +0 -6
  224. package/node_modules/@openrig/daemon/dist/context-pack-taxonomy-surface.js.map +0 -1
  225. package/node_modules/@openrig/daemon/dist/crash-cart-surface.d.ts +0 -5
  226. package/node_modules/@openrig/daemon/dist/crash-cart-surface.d.ts.map +0 -1
  227. package/node_modules/@openrig/daemon/dist/crash-cart-surface.js +0 -9
  228. package/node_modules/@openrig/daemon/dist/crash-cart-surface.js.map +0 -1
  229. package/node_modules/@openrig/daemon/dist/daemon-db-path.d.ts +0 -13
  230. package/node_modules/@openrig/daemon/dist/daemon-db-path.d.ts.map +0 -1
  231. package/node_modules/@openrig/daemon/dist/daemon-db-path.js +0 -67
  232. package/node_modules/@openrig/daemon/dist/daemon-db-path.js.map +0 -1
  233. package/node_modules/@openrig/daemon/dist/daemon-shutdown.d.ts +0 -27
  234. package/node_modules/@openrig/daemon/dist/daemon-shutdown.d.ts.map +0 -1
  235. package/node_modules/@openrig/daemon/dist/daemon-shutdown.js +0 -84
  236. package/node_modules/@openrig/daemon/dist/daemon-shutdown.js.map +0 -1
  237. package/node_modules/@openrig/daemon/dist/db/all-migrations.d.ts +0 -4
  238. package/node_modules/@openrig/daemon/dist/db/all-migrations.d.ts.map +0 -1
  239. package/node_modules/@openrig/daemon/dist/db/all-migrations.js +0 -176
  240. package/node_modules/@openrig/daemon/dist/db/all-migrations.js.map +0 -1
  241. package/node_modules/@openrig/daemon/dist/db/connection.d.ts +0 -7
  242. package/node_modules/@openrig/daemon/dist/db/connection.d.ts.map +0 -1
  243. package/node_modules/@openrig/daemon/dist/db/connection.js +0 -12
  244. package/node_modules/@openrig/daemon/dist/db/connection.js.map +0 -1
  245. package/node_modules/@openrig/daemon/dist/db/migrate.d.ts +0 -12
  246. package/node_modules/@openrig/daemon/dist/db/migrate.d.ts.map +0 -1
  247. package/node_modules/@openrig/daemon/dist/db/migrate.js +0 -27
  248. package/node_modules/@openrig/daemon/dist/db/migrate.js.map +0 -1
  249. package/node_modules/@openrig/daemon/dist/db/migrations/001_core_schema.d.ts +0 -3
  250. package/node_modules/@openrig/daemon/dist/db/migrations/001_core_schema.d.ts.map +0 -1
  251. package/node_modules/@openrig/daemon/dist/db/migrations/001_core_schema.js +0 -50
  252. package/node_modules/@openrig/daemon/dist/db/migrations/001_core_schema.js.map +0 -1
  253. package/node_modules/@openrig/daemon/dist/db/migrations/002_bindings_sessions.d.ts +0 -3
  254. package/node_modules/@openrig/daemon/dist/db/migrations/002_bindings_sessions.d.ts.map +0 -1
  255. package/node_modules/@openrig/daemon/dist/db/migrations/002_bindings_sessions.js +0 -29
  256. package/node_modules/@openrig/daemon/dist/db/migrations/002_bindings_sessions.js.map +0 -1
  257. package/node_modules/@openrig/daemon/dist/db/migrations/003_events.d.ts +0 -3
  258. package/node_modules/@openrig/daemon/dist/db/migrations/003_events.d.ts.map +0 -1
  259. package/node_modules/@openrig/daemon/dist/db/migrations/003_events.js +0 -22
  260. package/node_modules/@openrig/daemon/dist/db/migrations/003_events.js.map +0 -1
  261. package/node_modules/@openrig/daemon/dist/db/migrations/004_snapshots.d.ts +0 -3
  262. package/node_modules/@openrig/daemon/dist/db/migrations/004_snapshots.d.ts.map +0 -1
  263. package/node_modules/@openrig/daemon/dist/db/migrations/004_snapshots.js +0 -19
  264. package/node_modules/@openrig/daemon/dist/db/migrations/004_snapshots.js.map +0 -1
  265. package/node_modules/@openrig/daemon/dist/db/migrations/005_checkpoints.d.ts +0 -3
  266. package/node_modules/@openrig/daemon/dist/db/migrations/005_checkpoints.d.ts.map +0 -1
  267. package/node_modules/@openrig/daemon/dist/db/migrations/005_checkpoints.js +0 -22
  268. package/node_modules/@openrig/daemon/dist/db/migrations/005_checkpoints.js.map +0 -1
  269. package/node_modules/@openrig/daemon/dist/db/migrations/006_resume_metadata.d.ts +0 -3
  270. package/node_modules/@openrig/daemon/dist/db/migrations/006_resume_metadata.d.ts.map +0 -1
  271. package/node_modules/@openrig/daemon/dist/db/migrations/006_resume_metadata.js +0 -14
  272. package/node_modules/@openrig/daemon/dist/db/migrations/006_resume_metadata.js.map +0 -1
  273. package/node_modules/@openrig/daemon/dist/db/migrations/007_node_spec_fields.d.ts +0 -3
  274. package/node_modules/@openrig/daemon/dist/db/migrations/007_node_spec_fields.d.ts.map +0 -1
  275. package/node_modules/@openrig/daemon/dist/db/migrations/007_node_spec_fields.js +0 -11
  276. package/node_modules/@openrig/daemon/dist/db/migrations/007_node_spec_fields.js.map +0 -1
  277. package/node_modules/@openrig/daemon/dist/db/migrations/008_packages.d.ts +0 -3
  278. package/node_modules/@openrig/daemon/dist/db/migrations/008_packages.d.ts.map +0 -1
  279. package/node_modules/@openrig/daemon/dist/db/migrations/008_packages.js +0 -17
  280. package/node_modules/@openrig/daemon/dist/db/migrations/008_packages.js.map +0 -1
  281. package/node_modules/@openrig/daemon/dist/db/migrations/009_install_journal.d.ts +0 -3
  282. package/node_modules/@openrig/daemon/dist/db/migrations/009_install_journal.d.ts.map +0 -1
  283. package/node_modules/@openrig/daemon/dist/db/migrations/009_install_journal.js +0 -35
  284. package/node_modules/@openrig/daemon/dist/db/migrations/009_install_journal.js.map +0 -1
  285. package/node_modules/@openrig/daemon/dist/db/migrations/010_journal_seq.d.ts +0 -3
  286. package/node_modules/@openrig/daemon/dist/db/migrations/010_journal_seq.d.ts.map +0 -1
  287. package/node_modules/@openrig/daemon/dist/db/migrations/010_journal_seq.js +0 -36
  288. package/node_modules/@openrig/daemon/dist/db/migrations/010_journal_seq.js.map +0 -1
  289. package/node_modules/@openrig/daemon/dist/db/migrations/011_bootstrap.d.ts +0 -3
  290. package/node_modules/@openrig/daemon/dist/db/migrations/011_bootstrap.d.ts.map +0 -1
  291. package/node_modules/@openrig/daemon/dist/db/migrations/011_bootstrap.js +0 -43
  292. package/node_modules/@openrig/daemon/dist/db/migrations/011_bootstrap.js.map +0 -1
  293. package/node_modules/@openrig/daemon/dist/db/migrations/012_discovery.d.ts +0 -3
  294. package/node_modules/@openrig/daemon/dist/db/migrations/012_discovery.d.ts.map +0 -1
  295. package/node_modules/@openrig/daemon/dist/db/migrations/012_discovery.js +0 -28
  296. package/node_modules/@openrig/daemon/dist/db/migrations/012_discovery.js.map +0 -1
  297. package/node_modules/@openrig/daemon/dist/db/migrations/013_discovery_fk_fix.d.ts +0 -3
  298. package/node_modules/@openrig/daemon/dist/db/migrations/013_discovery_fk_fix.d.ts.map +0 -1
  299. package/node_modules/@openrig/daemon/dist/db/migrations/013_discovery_fk_fix.js +0 -37
  300. package/node_modules/@openrig/daemon/dist/db/migrations/013_discovery_fk_fix.js.map +0 -1
  301. package/node_modules/@openrig/daemon/dist/db/migrations/014_agentspec_reboot.d.ts +0 -3
  302. package/node_modules/@openrig/daemon/dist/db/migrations/014_agentspec_reboot.d.ts.map +0 -1
  303. package/node_modules/@openrig/daemon/dist/db/migrations/014_agentspec_reboot.js +0 -47
  304. package/node_modules/@openrig/daemon/dist/db/migrations/014_agentspec_reboot.js.map +0 -1
  305. package/node_modules/@openrig/daemon/dist/db/migrations/015_startup_context.d.ts +0 -3
  306. package/node_modules/@openrig/daemon/dist/db/migrations/015_startup_context.d.ts.map +0 -1
  307. package/node_modules/@openrig/daemon/dist/db/migrations/015_startup_context.js +0 -15
  308. package/node_modules/@openrig/daemon/dist/db/migrations/015_startup_context.js.map +0 -1
  309. package/node_modules/@openrig/daemon/dist/db/migrations/016_chat_messages.d.ts +0 -3
  310. package/node_modules/@openrig/daemon/dist/db/migrations/016_chat_messages.d.ts.map +0 -1
  311. package/node_modules/@openrig/daemon/dist/db/migrations/016_chat_messages.js +0 -17
  312. package/node_modules/@openrig/daemon/dist/db/migrations/016_chat_messages.js.map +0 -1
  313. package/node_modules/@openrig/daemon/dist/db/migrations/017_pod_namespace.d.ts +0 -3
  314. package/node_modules/@openrig/daemon/dist/db/migrations/017_pod_namespace.d.ts.map +0 -1
  315. package/node_modules/@openrig/daemon/dist/db/migrations/017_pod_namespace.js +0 -9
  316. package/node_modules/@openrig/daemon/dist/db/migrations/017_pod_namespace.js.map +0 -1
  317. package/node_modules/@openrig/daemon/dist/db/migrations/018_context_usage.d.ts +0 -3
  318. package/node_modules/@openrig/daemon/dist/db/migrations/018_context_usage.d.ts.map +0 -1
  319. package/node_modules/@openrig/daemon/dist/db/migrations/018_context_usage.js +0 -23
  320. package/node_modules/@openrig/daemon/dist/db/migrations/018_context_usage.js.map +0 -1
  321. package/node_modules/@openrig/daemon/dist/db/migrations/019_external_cli_attachment.d.ts +0 -3
  322. package/node_modules/@openrig/daemon/dist/db/migrations/019_external_cli_attachment.d.ts.map +0 -1
  323. package/node_modules/@openrig/daemon/dist/db/migrations/019_external_cli_attachment.js +0 -8
  324. package/node_modules/@openrig/daemon/dist/db/migrations/019_external_cli_attachment.js.map +0 -1
  325. package/node_modules/@openrig/daemon/dist/db/migrations/020_rig_services.d.ts +0 -3
  326. package/node_modules/@openrig/daemon/dist/db/migrations/020_rig_services.d.ts.map +0 -1
  327. package/node_modules/@openrig/daemon/dist/db/migrations/020_rig_services.js +0 -17
  328. package/node_modules/@openrig/daemon/dist/db/migrations/020_rig_services.js.map +0 -1
  329. package/node_modules/@openrig/daemon/dist/db/migrations/021_seat_handover_observability.d.ts +0 -3
  330. package/node_modules/@openrig/daemon/dist/db/migrations/021_seat_handover_observability.d.ts.map +0 -1
  331. package/node_modules/@openrig/daemon/dist/db/migrations/021_seat_handover_observability.js +0 -11
  332. package/node_modules/@openrig/daemon/dist/db/migrations/021_seat_handover_observability.js.map +0 -1
  333. package/node_modules/@openrig/daemon/dist/db/migrations/022_node_codex_config_profile.d.ts +0 -3
  334. package/node_modules/@openrig/daemon/dist/db/migrations/022_node_codex_config_profile.d.ts.map +0 -1
  335. package/node_modules/@openrig/daemon/dist/db/migrations/022_node_codex_config_profile.js +0 -7
  336. package/node_modules/@openrig/daemon/dist/db/migrations/022_node_codex_config_profile.js.map +0 -1
  337. package/node_modules/@openrig/daemon/dist/db/migrations/023_stream_items.d.ts +0 -16
  338. package/node_modules/@openrig/daemon/dist/db/migrations/023_stream_items.d.ts.map +0 -1
  339. package/node_modules/@openrig/daemon/dist/db/migrations/023_stream_items.js +0 -37
  340. package/node_modules/@openrig/daemon/dist/db/migrations/023_stream_items.js.map +0 -1
  341. package/node_modules/@openrig/daemon/dist/db/migrations/024_queue_items.d.ts +0 -19
  342. package/node_modules/@openrig/daemon/dist/db/migrations/024_queue_items.d.ts.map +0 -1
  343. package/node_modules/@openrig/daemon/dist/db/migrations/024_queue_items.js +0 -52
  344. package/node_modules/@openrig/daemon/dist/db/migrations/024_queue_items.js.map +0 -1
  345. package/node_modules/@openrig/daemon/dist/db/migrations/025_queue_transitions.d.ts +0 -13
  346. package/node_modules/@openrig/daemon/dist/db/migrations/025_queue_transitions.d.ts.map +0 -1
  347. package/node_modules/@openrig/daemon/dist/db/migrations/025_queue_transitions.js +0 -28
  348. package/node_modules/@openrig/daemon/dist/db/migrations/025_queue_transitions.js.map +0 -1
  349. package/node_modules/@openrig/daemon/dist/db/migrations/026_inbox_entries.d.ts +0 -14
  350. package/node_modules/@openrig/daemon/dist/db/migrations/026_inbox_entries.d.ts.map +0 -1
  351. package/node_modules/@openrig/daemon/dist/db/migrations/026_inbox_entries.js +0 -35
  352. package/node_modules/@openrig/daemon/dist/db/migrations/026_inbox_entries.js.map +0 -1
  353. package/node_modules/@openrig/daemon/dist/db/migrations/027_outbox_entries.d.ts +0 -12
  354. package/node_modules/@openrig/daemon/dist/db/migrations/027_outbox_entries.d.ts.map +0 -1
  355. package/node_modules/@openrig/daemon/dist/db/migrations/027_outbox_entries.js +0 -30
  356. package/node_modules/@openrig/daemon/dist/db/migrations/027_outbox_entries.js.map +0 -1
  357. package/node_modules/@openrig/daemon/dist/db/migrations/028_project_classifications.d.ts +0 -26
  358. package/node_modules/@openrig/daemon/dist/db/migrations/028_project_classifications.d.ts.map +0 -1
  359. package/node_modules/@openrig/daemon/dist/db/migrations/028_project_classifications.js +0 -44
  360. package/node_modules/@openrig/daemon/dist/db/migrations/028_project_classifications.js.map +0 -1
  361. package/node_modules/@openrig/daemon/dist/db/migrations/029_classifier_leases.d.ts +0 -22
  362. package/node_modules/@openrig/daemon/dist/db/migrations/029_classifier_leases.d.ts.map +0 -1
  363. package/node_modules/@openrig/daemon/dist/db/migrations/029_classifier_leases.js +0 -41
  364. package/node_modules/@openrig/daemon/dist/db/migrations/029_classifier_leases.js.map +0 -1
  365. package/node_modules/@openrig/daemon/dist/db/migrations/030_views_custom.d.ts +0 -15
  366. package/node_modules/@openrig/daemon/dist/db/migrations/030_views_custom.d.ts.map +0 -1
  367. package/node_modules/@openrig/daemon/dist/db/migrations/030_views_custom.js +0 -27
  368. package/node_modules/@openrig/daemon/dist/db/migrations/030_views_custom.js.map +0 -1
  369. package/node_modules/@openrig/daemon/dist/db/migrations/031_watchdog_jobs.d.ts +0 -34
  370. package/node_modules/@openrig/daemon/dist/db/migrations/031_watchdog_jobs.d.ts.map +0 -1
  371. package/node_modules/@openrig/daemon/dist/db/migrations/031_watchdog_jobs.js +0 -59
  372. package/node_modules/@openrig/daemon/dist/db/migrations/031_watchdog_jobs.js.map +0 -1
  373. package/node_modules/@openrig/daemon/dist/db/migrations/032_watchdog_history.d.ts +0 -28
  374. package/node_modules/@openrig/daemon/dist/db/migrations/032_watchdog_history.d.ts.map +0 -1
  375. package/node_modules/@openrig/daemon/dist/db/migrations/032_watchdog_history.js +0 -46
  376. package/node_modules/@openrig/daemon/dist/db/migrations/032_watchdog_history.js.map +0 -1
  377. package/node_modules/@openrig/daemon/dist/db/migrations/033_workflow_specs.d.ts +0 -30
  378. package/node_modules/@openrig/daemon/dist/db/migrations/033_workflow_specs.d.ts.map +0 -1
  379. package/node_modules/@openrig/daemon/dist/db/migrations/033_workflow_specs.js +0 -50
  380. package/node_modules/@openrig/daemon/dist/db/migrations/033_workflow_specs.js.map +0 -1
  381. package/node_modules/@openrig/daemon/dist/db/migrations/034_workflow_instances.d.ts +0 -42
  382. package/node_modules/@openrig/daemon/dist/db/migrations/034_workflow_instances.d.ts.map +0 -1
  383. package/node_modules/@openrig/daemon/dist/db/migrations/034_workflow_instances.js +0 -63
  384. package/node_modules/@openrig/daemon/dist/db/migrations/034_workflow_instances.js.map +0 -1
  385. package/node_modules/@openrig/daemon/dist/db/migrations/035_workflow_step_trails.d.ts +0 -29
  386. package/node_modules/@openrig/daemon/dist/db/migrations/035_workflow_step_trails.d.ts.map +0 -1
  387. package/node_modules/@openrig/daemon/dist/db/migrations/035_workflow_step_trails.js +0 -48
  388. package/node_modules/@openrig/daemon/dist/db/migrations/035_workflow_step_trails.js.map +0 -1
  389. package/node_modules/@openrig/daemon/dist/db/migrations/036_watchdog_policy_enum_extension.d.ts +0 -35
  390. package/node_modules/@openrig/daemon/dist/db/migrations/036_watchdog_policy_enum_extension.d.ts.map +0 -1
  391. package/node_modules/@openrig/daemon/dist/db/migrations/036_watchdog_policy_enum_extension.js +0 -43
  392. package/node_modules/@openrig/daemon/dist/db/migrations/036_watchdog_policy_enum_extension.js.map +0 -1
  393. package/node_modules/@openrig/daemon/dist/db/migrations/037_mission_control_actions.d.ts +0 -55
  394. package/node_modules/@openrig/daemon/dist/db/migrations/037_mission_control_actions.d.ts.map +0 -1
  395. package/node_modules/@openrig/daemon/dist/db/migrations/037_mission_control_actions.js +0 -78
  396. package/node_modules/@openrig/daemon/dist/db/migrations/037_mission_control_actions.js.map +0 -1
  397. package/node_modules/@openrig/daemon/dist/db/migrations/038_workspace_primitive.d.ts +0 -16
  398. package/node_modules/@openrig/daemon/dist/db/migrations/038_workspace_primitive.d.ts.map +0 -1
  399. package/node_modules/@openrig/daemon/dist/db/migrations/038_workspace_primitive.js +0 -20
  400. package/node_modules/@openrig/daemon/dist/db/migrations/038_workspace_primitive.js.map +0 -1
  401. package/node_modules/@openrig/daemon/dist/db/migrations/039_queue_target_repo.d.ts +0 -16
  402. package/node_modules/@openrig/daemon/dist/db/migrations/039_queue_target_repo.d.ts.map +0 -1
  403. package/node_modules/@openrig/daemon/dist/db/migrations/039_queue_target_repo.js +0 -21
  404. package/node_modules/@openrig/daemon/dist/db/migrations/039_queue_target_repo.js.map +0 -1
  405. package/node_modules/@openrig/daemon/dist/db/migrations/040_workflow_specs_diagnostic.d.ts +0 -32
  406. package/node_modules/@openrig/daemon/dist/db/migrations/040_workflow_specs_diagnostic.d.ts.map +0 -1
  407. package/node_modules/@openrig/daemon/dist/db/migrations/040_workflow_specs_diagnostic.js +0 -37
  408. package/node_modules/@openrig/daemon/dist/db/migrations/040_workflow_specs_diagnostic.js.map +0 -1
  409. package/node_modules/@openrig/daemon/dist/db/migrations/041_rig_policy.d.ts +0 -32
  410. package/node_modules/@openrig/daemon/dist/db/migrations/041_rig_policy.d.ts.map +0 -1
  411. package/node_modules/@openrig/daemon/dist/db/migrations/041_rig_policy.js +0 -47
  412. package/node_modules/@openrig/daemon/dist/db/migrations/041_rig_policy.js.map +0 -1
  413. package/node_modules/@openrig/daemon/dist/db/migrations/042_rig_archive.d.ts +0 -16
  414. package/node_modules/@openrig/daemon/dist/db/migrations/042_rig_archive.d.ts.map +0 -1
  415. package/node_modules/@openrig/daemon/dist/db/migrations/042_rig_archive.js +0 -21
  416. package/node_modules/@openrig/daemon/dist/db/migrations/042_rig_archive.js.map +0 -1
  417. package/node_modules/@openrig/daemon/dist/db/migrations/043_resume_provenance.d.ts +0 -3
  418. package/node_modules/@openrig/daemon/dist/db/migrations/043_resume_provenance.d.ts.map +0 -1
  419. package/node_modules/@openrig/daemon/dist/db/migrations/043_resume_provenance.js +0 -5
  420. package/node_modules/@openrig/daemon/dist/db/migrations/043_resume_provenance.js.map +0 -1
  421. package/node_modules/@openrig/daemon/dist/db/migrations/044_queue_item_summary.d.ts +0 -21
  422. package/node_modules/@openrig/daemon/dist/db/migrations/044_queue_item_summary.d.ts.map +0 -1
  423. package/node_modules/@openrig/daemon/dist/db/migrations/044_queue_item_summary.js +0 -25
  424. package/node_modules/@openrig/daemon/dist/db/migrations/044_queue_item_summary.js.map +0 -1
  425. package/node_modules/@openrig/daemon/dist/db/migrations/045_resume_verification.d.ts +0 -29
  426. package/node_modules/@openrig/daemon/dist/db/migrations/045_resume_verification.d.ts.map +0 -1
  427. package/node_modules/@openrig/daemon/dist/db/migrations/045_resume_verification.js +0 -34
  428. package/node_modules/@openrig/daemon/dist/db/migrations/045_resume_verification.js.map +0 -1
  429. package/node_modules/@openrig/daemon/dist/db/migrations/046_seat_identity_verdicts.d.ts +0 -44
  430. package/node_modules/@openrig/daemon/dist/db/migrations/046_seat_identity_verdicts.d.ts.map +0 -1
  431. package/node_modules/@openrig/daemon/dist/db/migrations/046_seat_identity_verdicts.js +0 -59
  432. package/node_modules/@openrig/daemon/dist/db/migrations/046_seat_identity_verdicts.js.map +0 -1
  433. package/node_modules/@openrig/daemon/dist/db/migrations/047_events_node_type_index.d.ts +0 -48
  434. package/node_modules/@openrig/daemon/dist/db/migrations/047_events_node_type_index.d.ts.map +0 -1
  435. package/node_modules/@openrig/daemon/dist/db/migrations/047_events_node_type_index.js +0 -52
  436. package/node_modules/@openrig/daemon/dist/db/migrations/047_events_node_type_index.js.map +0 -1
  437. package/node_modules/@openrig/daemon/dist/db/migrations/048_queue_item_evidence_ref.d.ts +0 -18
  438. package/node_modules/@openrig/daemon/dist/db/migrations/048_queue_item_evidence_ref.d.ts.map +0 -1
  439. package/node_modules/@openrig/daemon/dist/db/migrations/048_queue_item_evidence_ref.js +0 -22
  440. package/node_modules/@openrig/daemon/dist/db/migrations/048_queue_item_evidence_ref.js.map +0 -1
  441. package/node_modules/@openrig/daemon/dist/db/migrations/049_workflow_instance_version.d.ts +0 -20
  442. package/node_modules/@openrig/daemon/dist/db/migrations/049_workflow_instance_version.d.ts.map +0 -1
  443. package/node_modules/@openrig/daemon/dist/db/migrations/049_workflow_instance_version.js +0 -24
  444. package/node_modules/@openrig/daemon/dist/db/migrations/049_workflow_instance_version.js.map +0 -1
  445. package/node_modules/@openrig/daemon/dist/db/migrations/050_workflow_spec_json.d.ts +0 -22
  446. package/node_modules/@openrig/daemon/dist/db/migrations/050_workflow_spec_json.d.ts.map +0 -1
  447. package/node_modules/@openrig/daemon/dist/db/migrations/050_workflow_spec_json.js +0 -26
  448. package/node_modules/@openrig/daemon/dist/db/migrations/050_workflow_spec_json.js.map +0 -1
  449. package/node_modules/@openrig/daemon/dist/db/migrations/051_workflow_resume.d.ts +0 -22
  450. package/node_modules/@openrig/daemon/dist/db/migrations/051_workflow_resume.d.ts.map +0 -1
  451. package/node_modules/@openrig/daemon/dist/db/migrations/051_workflow_resume.js +0 -27
  452. package/node_modules/@openrig/daemon/dist/db/migrations/051_workflow_resume.js.map +0 -1
  453. package/node_modules/@openrig/daemon/dist/db/migrations/052_workflow_instance_bound_rig.d.ts +0 -26
  454. package/node_modules/@openrig/daemon/dist/db/migrations/052_workflow_instance_bound_rig.d.ts.map +0 -1
  455. package/node_modules/@openrig/daemon/dist/db/migrations/052_workflow_instance_bound_rig.js +0 -30
  456. package/node_modules/@openrig/daemon/dist/db/migrations/052_workflow_instance_bound_rig.js.map +0 -1
  457. package/node_modules/@openrig/daemon/dist/db/migrations/053_sessions_node_id_index.d.ts +0 -48
  458. package/node_modules/@openrig/daemon/dist/db/migrations/053_sessions_node_id_index.d.ts.map +0 -1
  459. package/node_modules/@openrig/daemon/dist/db/migrations/053_sessions_node_id_index.js +0 -53
  460. package/node_modules/@openrig/daemon/dist/db/migrations/053_sessions_node_id_index.js.map +0 -1
  461. package/node_modules/@openrig/daemon/dist/db/migrations/054_queue_transitions_archive.d.ts +0 -34
  462. package/node_modules/@openrig/daemon/dist/db/migrations/054_queue_transitions_archive.d.ts.map +0 -1
  463. package/node_modules/@openrig/daemon/dist/db/migrations/054_queue_transitions_archive.js +0 -49
  464. package/node_modules/@openrig/daemon/dist/db/migrations/054_queue_transitions_archive.js.map +0 -1
  465. package/node_modules/@openrig/daemon/dist/db/migrations/055_node_permission_policy.d.ts +0 -13
  466. package/node_modules/@openrig/daemon/dist/db/migrations/055_node_permission_policy.d.ts.map +0 -1
  467. package/node_modules/@openrig/daemon/dist/db/migrations/055_node_permission_policy.js +0 -17
  468. package/node_modules/@openrig/daemon/dist/db/migrations/055_node_permission_policy.js.map +0 -1
  469. package/node_modules/@openrig/daemon/dist/db/migrations/056_rig_permission_policy.d.ts +0 -13
  470. package/node_modules/@openrig/daemon/dist/db/migrations/056_rig_permission_policy.d.ts.map +0 -1
  471. package/node_modules/@openrig/daemon/dist/db/migrations/056_rig_permission_policy.js +0 -17
  472. package/node_modules/@openrig/daemon/dist/db/migrations/056_rig_permission_policy.js.map +0 -1
  473. package/node_modules/@openrig/daemon/dist/db/migrations/057_node_policy_provenance.d.ts +0 -19
  474. package/node_modules/@openrig/daemon/dist/db/migrations/057_node_policy_provenance.d.ts.map +0 -1
  475. package/node_modules/@openrig/daemon/dist/db/migrations/057_node_policy_provenance.js +0 -26
  476. package/node_modules/@openrig/daemon/dist/db/migrations/057_node_policy_provenance.js.map +0 -1
  477. package/node_modules/@openrig/daemon/dist/db/migrations/058_rig_policy_provenance.d.ts +0 -15
  478. package/node_modules/@openrig/daemon/dist/db/migrations/058_rig_policy_provenance.d.ts.map +0 -1
  479. package/node_modules/@openrig/daemon/dist/db/migrations/058_rig_policy_provenance.js +0 -22
  480. package/node_modules/@openrig/daemon/dist/db/migrations/058_rig_policy_provenance.js.map +0 -1
  481. package/node_modules/@openrig/daemon/dist/db/migrations/059_self_host_identity.d.ts +0 -20
  482. package/node_modules/@openrig/daemon/dist/db/migrations/059_self_host_identity.d.ts.map +0 -1
  483. package/node_modules/@openrig/daemon/dist/db/migrations/059_self_host_identity.js +0 -29
  484. package/node_modules/@openrig/daemon/dist/db/migrations/059_self_host_identity.js.map +0 -1
  485. package/node_modules/@openrig/daemon/dist/db/migrations/060_occupant_tenures.d.ts +0 -3
  486. package/node_modules/@openrig/daemon/dist/db/migrations/060_occupant_tenures.d.ts.map +0 -1
  487. package/node_modules/@openrig/daemon/dist/db/migrations/060_occupant_tenures.js +0 -32
  488. package/node_modules/@openrig/daemon/dist/db/migrations/060_occupant_tenures.js.map +0 -1
  489. package/node_modules/@openrig/daemon/dist/db/migrations/061_daemon_lifecycle.d.ts +0 -22
  490. package/node_modules/@openrig/daemon/dist/db/migrations/061_daemon_lifecycle.d.ts.map +0 -1
  491. package/node_modules/@openrig/daemon/dist/db/migrations/061_daemon_lifecycle.js +0 -32
  492. package/node_modules/@openrig/daemon/dist/db/migrations/061_daemon_lifecycle.js.map +0 -1
  493. package/node_modules/@openrig/daemon/dist/db/migrations/062_usage_samples.d.ts +0 -30
  494. package/node_modules/@openrig/daemon/dist/db/migrations/062_usage_samples.d.ts.map +0 -1
  495. package/node_modules/@openrig/daemon/dist/db/migrations/062_usage_samples.js +0 -52
  496. package/node_modules/@openrig/daemon/dist/db/migrations/062_usage_samples.js.map +0 -1
  497. package/node_modules/@openrig/daemon/dist/db/migrations/063_occupant_generation_stamps.d.ts +0 -24
  498. package/node_modules/@openrig/daemon/dist/db/migrations/063_occupant_generation_stamps.d.ts.map +0 -1
  499. package/node_modules/@openrig/daemon/dist/db/migrations/063_occupant_generation_stamps.js +0 -30
  500. package/node_modules/@openrig/daemon/dist/db/migrations/063_occupant_generation_stamps.js.map +0 -1
  501. package/node_modules/@openrig/daemon/dist/db/migrations/064_projection_manifest.d.ts +0 -20
  502. package/node_modules/@openrig/daemon/dist/db/migrations/064_projection_manifest.d.ts.map +0 -1
  503. package/node_modules/@openrig/daemon/dist/db/migrations/064_projection_manifest.js +0 -30
  504. package/node_modules/@openrig/daemon/dist/db/migrations/064_projection_manifest.js.map +0 -1
  505. package/node_modules/@openrig/daemon/dist/db/migrations/065_identity_provenance.d.ts +0 -15
  506. package/node_modules/@openrig/daemon/dist/db/migrations/065_identity_provenance.d.ts.map +0 -1
  507. package/node_modules/@openrig/daemon/dist/db/migrations/065_identity_provenance.js +0 -19
  508. package/node_modules/@openrig/daemon/dist/db/migrations/065_identity_provenance.js.map +0 -1
  509. package/node_modules/@openrig/daemon/dist/db/migrations/066_watchdog_target_generation.d.ts +0 -17
  510. package/node_modules/@openrig/daemon/dist/db/migrations/066_watchdog_target_generation.d.ts.map +0 -1
  511. package/node_modules/@openrig/daemon/dist/db/migrations/066_watchdog_target_generation.js +0 -21
  512. package/node_modules/@openrig/daemon/dist/db/migrations/066_watchdog_target_generation.js.map +0 -1
  513. package/node_modules/@openrig/daemon/dist/db/migrations/067_i3_identity_provenance.d.ts +0 -12
  514. package/node_modules/@openrig/daemon/dist/db/migrations/067_i3_identity_provenance.d.ts.map +0 -1
  515. package/node_modules/@openrig/daemon/dist/db/migrations/067_i3_identity_provenance.js +0 -19
  516. package/node_modules/@openrig/daemon/dist/db/migrations/067_i3_identity_provenance.js.map +0 -1
  517. package/node_modules/@openrig/daemon/dist/db/migrations/068_enforcer_decisions.d.ts +0 -4
  518. package/node_modules/@openrig/daemon/dist/db/migrations/068_enforcer_decisions.d.ts.map +0 -1
  519. package/node_modules/@openrig/daemon/dist/db/migrations/068_enforcer_decisions.js +0 -40
  520. package/node_modules/@openrig/daemon/dist/db/migrations/068_enforcer_decisions.js.map +0 -1
  521. package/node_modules/@openrig/daemon/dist/db/migrations/069_applied_launch_observations.d.ts +0 -3
  522. package/node_modules/@openrig/daemon/dist/db/migrations/069_applied_launch_observations.d.ts.map +0 -1
  523. package/node_modules/@openrig/daemon/dist/db/migrations/069_applied_launch_observations.js +0 -18
  524. package/node_modules/@openrig/daemon/dist/db/migrations/069_applied_launch_observations.js.map +0 -1
  525. package/node_modules/@openrig/daemon/dist/db/migrations/070_applied_launch_observation_invalidations.d.ts +0 -3
  526. package/node_modules/@openrig/daemon/dist/db/migrations/070_applied_launch_observation_invalidations.d.ts.map +0 -1
  527. package/node_modules/@openrig/daemon/dist/db/migrations/070_applied_launch_observation_invalidations.js +0 -12
  528. package/node_modules/@openrig/daemon/dist/db/migrations/070_applied_launch_observation_invalidations.js.map +0 -1
  529. package/node_modules/@openrig/daemon/dist/db/migrations/071_drop_enforcer_decisions.d.ts +0 -3
  530. package/node_modules/@openrig/daemon/dist/db/migrations/071_drop_enforcer_decisions.d.ts.map +0 -1
  531. package/node_modules/@openrig/daemon/dist/db/migrations/071_drop_enforcer_decisions.js +0 -18
  532. package/node_modules/@openrig/daemon/dist/db/migrations/071_drop_enforcer_decisions.js.map +0 -1
  533. package/node_modules/@openrig/daemon/dist/db/migrations/072_thread_seat_map.d.ts +0 -3
  534. package/node_modules/@openrig/daemon/dist/db/migrations/072_thread_seat_map.d.ts.map +0 -1
  535. package/node_modules/@openrig/daemon/dist/db/migrations/072_thread_seat_map.js +0 -22
  536. package/node_modules/@openrig/daemon/dist/db/migrations/072_thread_seat_map.js.map +0 -1
  537. package/node_modules/@openrig/daemon/dist/db/migrations/073_queue_transition_wakes.d.ts +0 -3
  538. package/node_modules/@openrig/daemon/dist/db/migrations/073_queue_transition_wakes.d.ts.map +0 -1
  539. package/node_modules/@openrig/daemon/dist/db/migrations/073_queue_transition_wakes.js +0 -21
  540. package/node_modules/@openrig/daemon/dist/db/migrations/073_queue_transition_wakes.js.map +0 -1
  541. package/node_modules/@openrig/daemon/dist/db/migrations/074_context_usage_watchdog.d.ts +0 -4
  542. package/node_modules/@openrig/daemon/dist/db/migrations/074_context_usage_watchdog.d.ts.map +0 -1
  543. package/node_modules/@openrig/daemon/dist/db/migrations/074_context_usage_watchdog.js +0 -11
  544. package/node_modules/@openrig/daemon/dist/db/migrations/074_context_usage_watchdog.js.map +0 -1
  545. package/node_modules/@openrig/daemon/dist/db/migrations/075_context_usage_watchdog_generation.d.ts +0 -4
  546. package/node_modules/@openrig/daemon/dist/db/migrations/075_context_usage_watchdog_generation.d.ts.map +0 -1
  547. package/node_modules/@openrig/daemon/dist/db/migrations/075_context_usage_watchdog_generation.js +0 -8
  548. package/node_modules/@openrig/daemon/dist/db/migrations/075_context_usage_watchdog_generation.js.map +0 -1
  549. package/node_modules/@openrig/daemon/dist/db/migrations/076_owner_notification_levels.d.ts +0 -8
  550. package/node_modules/@openrig/daemon/dist/db/migrations/076_owner_notification_levels.d.ts.map +0 -1
  551. package/node_modules/@openrig/daemon/dist/db/migrations/076_owner_notification_levels.js +0 -15
  552. package/node_modules/@openrig/daemon/dist/db/migrations/076_owner_notification_levels.js.map +0 -1
  553. package/node_modules/@openrig/daemon/dist/db/migrations/077_node_session_source.d.ts +0 -4
  554. package/node_modules/@openrig/daemon/dist/db/migrations/077_node_session_source.d.ts.map +0 -1
  555. package/node_modules/@openrig/daemon/dist/db/migrations/077_node_session_source.js +0 -6
  556. package/node_modules/@openrig/daemon/dist/db/migrations/077_node_session_source.js.map +0 -1
  557. package/node_modules/@openrig/daemon/dist/db/migrations/078_idle_gate_fired_condition.d.ts +0 -17
  558. package/node_modules/@openrig/daemon/dist/db/migrations/078_idle_gate_fired_condition.d.ts.map +0 -1
  559. package/node_modules/@openrig/daemon/dist/db/migrations/078_idle_gate_fired_condition.js +0 -21
  560. package/node_modules/@openrig/daemon/dist/db/migrations/078_idle_gate_fired_condition.js.map +0 -1
  561. package/node_modules/@openrig/daemon/dist/db/migrations/079_workflow_lifecycle_parallel.d.ts +0 -8
  562. package/node_modules/@openrig/daemon/dist/db/migrations/079_workflow_lifecycle_parallel.d.ts.map +0 -1
  563. package/node_modules/@openrig/daemon/dist/db/migrations/079_workflow_lifecycle_parallel.js +0 -50
  564. package/node_modules/@openrig/daemon/dist/db/migrations/079_workflow_lifecycle_parallel.js.map +0 -1
  565. package/node_modules/@openrig/daemon/dist/db/migrations/080_scoped_operating_posture.d.ts +0 -4
  566. package/node_modules/@openrig/daemon/dist/db/migrations/080_scoped_operating_posture.d.ts.map +0 -1
  567. package/node_modules/@openrig/daemon/dist/db/migrations/080_scoped_operating_posture.js +0 -21
  568. package/node_modules/@openrig/daemon/dist/db/migrations/080_scoped_operating_posture.js.map +0 -1
  569. package/node_modules/@openrig/daemon/dist/db/migrations/081_human_notification_intent.d.ts +0 -3
  570. package/node_modules/@openrig/daemon/dist/db/migrations/081_human_notification_intent.d.ts.map +0 -1
  571. package/node_modules/@openrig/daemon/dist/db/migrations/081_human_notification_intent.js +0 -9
  572. package/node_modules/@openrig/daemon/dist/db/migrations/081_human_notification_intent.js.map +0 -1
  573. package/node_modules/@openrig/daemon/dist/db/migrations/082_archive_identity_provenance.d.ts +0 -5
  574. package/node_modules/@openrig/daemon/dist/db/migrations/082_archive_identity_provenance.d.ts.map +0 -1
  575. package/node_modules/@openrig/daemon/dist/db/migrations/082_archive_identity_provenance.js +0 -7
  576. package/node_modules/@openrig/daemon/dist/db/migrations/082_archive_identity_provenance.js.map +0 -1
  577. package/node_modules/@openrig/daemon/dist/db/migrations/083_review_read_indexes.d.ts +0 -4
  578. package/node_modules/@openrig/daemon/dist/db/migrations/083_review_read_indexes.d.ts.map +0 -1
  579. package/node_modules/@openrig/daemon/dist/db/migrations/083_review_read_indexes.js +0 -12
  580. package/node_modules/@openrig/daemon/dist/db/migrations/083_review_read_indexes.js.map +0 -1
  581. package/node_modules/@openrig/daemon/dist/db/migrations/084_inventory_event_indexes.d.ts +0 -5
  582. package/node_modules/@openrig/daemon/dist/db/migrations/084_inventory_event_indexes.d.ts.map +0 -1
  583. package/node_modules/@openrig/daemon/dist/db/migrations/084_inventory_event_indexes.js +0 -14
  584. package/node_modules/@openrig/daemon/dist/db/migrations/084_inventory_event_indexes.js.map +0 -1
  585. package/node_modules/@openrig/daemon/dist/domain/active-lens-store.d.ts +0 -23
  586. package/node_modules/@openrig/daemon/dist/domain/active-lens-store.d.ts.map +0 -1
  587. package/node_modules/@openrig/daemon/dist/domain/active-lens-store.js +0 -87
  588. package/node_modules/@openrig/daemon/dist/domain/active-lens-store.js.map +0 -1
  589. package/node_modules/@openrig/daemon/dist/domain/active-occupant.d.ts +0 -55
  590. package/node_modules/@openrig/daemon/dist/domain/active-occupant.d.ts.map +0 -1
  591. package/node_modules/@openrig/daemon/dist/domain/active-occupant.js +0 -133
  592. package/node_modules/@openrig/daemon/dist/domain/active-occupant.js.map +0 -1
  593. package/node_modules/@openrig/daemon/dist/domain/activity-endpoint.d.ts +0 -25
  594. package/node_modules/@openrig/daemon/dist/domain/activity-endpoint.d.ts.map +0 -1
  595. package/node_modules/@openrig/daemon/dist/domain/activity-endpoint.js +0 -91
  596. package/node_modules/@openrig/daemon/dist/domain/activity-endpoint.js.map +0 -1
  597. package/node_modules/@openrig/daemon/dist/domain/activity-taxonomy.d.ts +0 -112
  598. package/node_modules/@openrig/daemon/dist/domain/activity-taxonomy.d.ts.map +0 -1
  599. package/node_modules/@openrig/daemon/dist/domain/activity-taxonomy.js +0 -99
  600. package/node_modules/@openrig/daemon/dist/domain/activity-taxonomy.js.map +0 -1
  601. package/node_modules/@openrig/daemon/dist/domain/agent-activity-store.d.ts +0 -92
  602. package/node_modules/@openrig/daemon/dist/domain/agent-activity-store.d.ts.map +0 -1
  603. package/node_modules/@openrig/daemon/dist/domain/agent-activity-store.js +0 -321
  604. package/node_modules/@openrig/daemon/dist/domain/agent-activity-store.js.map +0 -1
  605. package/node_modules/@openrig/daemon/dist/domain/agent-images/agent-image-library-service.d.ts +0 -68
  606. package/node_modules/@openrig/daemon/dist/domain/agent-images/agent-image-library-service.d.ts.map +0 -1
  607. package/node_modules/@openrig/daemon/dist/domain/agent-images/agent-image-library-service.js +0 -339
  608. package/node_modules/@openrig/daemon/dist/domain/agent-images/agent-image-library-service.js.map +0 -1
  609. package/node_modules/@openrig/daemon/dist/domain/agent-images/agent-image-types.d.ts +0 -113
  610. package/node_modules/@openrig/daemon/dist/domain/agent-images/agent-image-types.d.ts.map +0 -1
  611. package/node_modules/@openrig/daemon/dist/domain/agent-images/agent-image-types.js +0 -24
  612. package/node_modules/@openrig/daemon/dist/domain/agent-images/agent-image-types.js.map +0 -1
  613. package/node_modules/@openrig/daemon/dist/domain/agent-images/evidence-guard.d.ts +0 -26
  614. package/node_modules/@openrig/daemon/dist/domain/agent-images/evidence-guard.d.ts.map +0 -1
  615. package/node_modules/@openrig/daemon/dist/domain/agent-images/evidence-guard.js +0 -185
  616. package/node_modules/@openrig/daemon/dist/domain/agent-images/evidence-guard.js.map +0 -1
  617. package/node_modules/@openrig/daemon/dist/domain/agent-images/manifest-parser.d.ts +0 -3
  618. package/node_modules/@openrig/daemon/dist/domain/agent-images/manifest-parser.d.ts.map +0 -1
  619. package/node_modules/@openrig/daemon/dist/domain/agent-images/manifest-parser.js +0 -114
  620. package/node_modules/@openrig/daemon/dist/domain/agent-images/manifest-parser.js.map +0 -1
  621. package/node_modules/@openrig/daemon/dist/domain/agent-images/resume-token-discovery.d.ts +0 -28
  622. package/node_modules/@openrig/daemon/dist/domain/agent-images/resume-token-discovery.d.ts.map +0 -1
  623. package/node_modules/@openrig/daemon/dist/domain/agent-images/resume-token-discovery.js +0 -83
  624. package/node_modules/@openrig/daemon/dist/domain/agent-images/resume-token-discovery.js.map +0 -1
  625. package/node_modules/@openrig/daemon/dist/domain/agent-images/snapshot-capturer.d.ts +0 -36
  626. package/node_modules/@openrig/daemon/dist/domain/agent-images/snapshot-capturer.d.ts.map +0 -1
  627. package/node_modules/@openrig/daemon/dist/domain/agent-images/snapshot-capturer.js +0 -59
  628. package/node_modules/@openrig/daemon/dist/domain/agent-images/snapshot-capturer.js.map +0 -1
  629. package/node_modules/@openrig/daemon/dist/domain/agent-manifest.d.ts +0 -27
  630. package/node_modules/@openrig/daemon/dist/domain/agent-manifest.d.ts.map +0 -1
  631. package/node_modules/@openrig/daemon/dist/domain/agent-manifest.js +0 -494
  632. package/node_modules/@openrig/daemon/dist/domain/agent-manifest.js.map +0 -1
  633. package/node_modules/@openrig/daemon/dist/domain/agent-preflight.d.ts +0 -12
  634. package/node_modules/@openrig/daemon/dist/domain/agent-preflight.d.ts.map +0 -1
  635. package/node_modules/@openrig/daemon/dist/domain/agent-preflight.js +0 -37
  636. package/node_modules/@openrig/daemon/dist/domain/agent-preflight.js.map +0 -1
  637. package/node_modules/@openrig/daemon/dist/domain/agent-resolver.d.ts +0 -77
  638. package/node_modules/@openrig/daemon/dist/domain/agent-resolver.d.ts.map +0 -1
  639. package/node_modules/@openrig/daemon/dist/domain/agent-resolver.js +0 -248
  640. package/node_modules/@openrig/daemon/dist/domain/agent-resolver.js.map +0 -1
  641. package/node_modules/@openrig/daemon/dist/domain/agent-starter-resolver.d.ts +0 -94
  642. package/node_modules/@openrig/daemon/dist/domain/agent-starter-resolver.d.ts.map +0 -1
  643. package/node_modules/@openrig/daemon/dist/domain/agent-starter-resolver.js +0 -198
  644. package/node_modules/@openrig/daemon/dist/domain/agent-starter-resolver.js.map +0 -1
  645. package/node_modules/@openrig/daemon/dist/domain/applied-launch-observation-store.d.ts +0 -20
  646. package/node_modules/@openrig/daemon/dist/domain/applied-launch-observation-store.d.ts.map +0 -1
  647. package/node_modules/@openrig/daemon/dist/domain/applied-launch-observation-store.js +0 -90
  648. package/node_modules/@openrig/daemon/dist/domain/applied-launch-observation-store.js.map +0 -1
  649. package/node_modules/@openrig/daemon/dist/domain/ask-service.d.ts +0 -86
  650. package/node_modules/@openrig/daemon/dist/domain/ask-service.d.ts.map +0 -1
  651. package/node_modules/@openrig/daemon/dist/domain/ask-service.js +0 -200
  652. package/node_modules/@openrig/daemon/dist/domain/ask-service.js.map +0 -1
  653. package/node_modules/@openrig/daemon/dist/domain/bind-plan.d.ts +0 -19
  654. package/node_modules/@openrig/daemon/dist/domain/bind-plan.d.ts.map +0 -1
  655. package/node_modules/@openrig/daemon/dist/domain/bind-plan.js +0 -25
  656. package/node_modules/@openrig/daemon/dist/domain/bind-plan.js.map +0 -1
  657. package/node_modules/@openrig/daemon/dist/domain/bootstrap-orchestrator.d.ts +0 -85
  658. package/node_modules/@openrig/daemon/dist/domain/bootstrap-orchestrator.d.ts.map +0 -1
  659. package/node_modules/@openrig/daemon/dist/domain/bootstrap-orchestrator.js +0 -690
  660. package/node_modules/@openrig/daemon/dist/domain/bootstrap-orchestrator.js.map +0 -1
  661. package/node_modules/@openrig/daemon/dist/domain/bootstrap-repository.d.ts +0 -23
  662. package/node_modules/@openrig/daemon/dist/domain/bootstrap-repository.d.ts.map +0 -1
  663. package/node_modules/@openrig/daemon/dist/domain/bootstrap-repository.js +0 -78
  664. package/node_modules/@openrig/daemon/dist/domain/bootstrap-repository.js.map +0 -1
  665. package/node_modules/@openrig/daemon/dist/domain/bootstrap-types.d.ts +0 -43
  666. package/node_modules/@openrig/daemon/dist/domain/bootstrap-types.d.ts.map +0 -1
  667. package/node_modules/@openrig/daemon/dist/domain/bootstrap-types.js +0 -2
  668. package/node_modules/@openrig/daemon/dist/domain/bootstrap-types.js.map +0 -1
  669. package/node_modules/@openrig/daemon/dist/domain/builtin-policy-reference.d.ts +0 -13
  670. package/node_modules/@openrig/daemon/dist/domain/builtin-policy-reference.d.ts.map +0 -1
  671. package/node_modules/@openrig/daemon/dist/domain/builtin-policy-reference.js +0 -58
  672. package/node_modules/@openrig/daemon/dist/domain/builtin-policy-reference.js.map +0 -1
  673. package/node_modules/@openrig/daemon/dist/domain/bundle-agent-images-router.d.ts +0 -95
  674. package/node_modules/@openrig/daemon/dist/domain/bundle-agent-images-router.d.ts.map +0 -1
  675. package/node_modules/@openrig/daemon/dist/domain/bundle-agent-images-router.js +0 -140
  676. package/node_modules/@openrig/daemon/dist/domain/bundle-agent-images-router.js.map +0 -1
  677. package/node_modules/@openrig/daemon/dist/domain/bundle-archive.d.ts +0 -23
  678. package/node_modules/@openrig/daemon/dist/domain/bundle-archive.d.ts.map +0 -1
  679. package/node_modules/@openrig/daemon/dist/domain/bundle-archive.js +0 -156
  680. package/node_modules/@openrig/daemon/dist/domain/bundle-archive.js.map +0 -1
  681. package/node_modules/@openrig/daemon/dist/domain/bundle-assembler.d.ts +0 -51
  682. package/node_modules/@openrig/daemon/dist/domain/bundle-assembler.d.ts.map +0 -1
  683. package/node_modules/@openrig/daemon/dist/domain/bundle-assembler.js +0 -96
  684. package/node_modules/@openrig/daemon/dist/domain/bundle-assembler.js.map +0 -1
  685. package/node_modules/@openrig/daemon/dist/domain/bundle-audit.d.ts +0 -89
  686. package/node_modules/@openrig/daemon/dist/domain/bundle-audit.d.ts.map +0 -1
  687. package/node_modules/@openrig/daemon/dist/domain/bundle-audit.js +0 -87
  688. package/node_modules/@openrig/daemon/dist/domain/bundle-audit.js.map +0 -1
  689. package/node_modules/@openrig/daemon/dist/domain/bundle-conflict-detector.d.ts +0 -57
  690. package/node_modules/@openrig/daemon/dist/domain/bundle-conflict-detector.d.ts.map +0 -1
  691. package/node_modules/@openrig/daemon/dist/domain/bundle-conflict-detector.js +0 -49
  692. package/node_modules/@openrig/daemon/dist/domain/bundle-conflict-detector.js.map +0 -1
  693. package/node_modules/@openrig/daemon/dist/domain/bundle-context-packs-router.d.ts +0 -107
  694. package/node_modules/@openrig/daemon/dist/domain/bundle-context-packs-router.d.ts.map +0 -1
  695. package/node_modules/@openrig/daemon/dist/domain/bundle-context-packs-router.js +0 -176
  696. package/node_modules/@openrig/daemon/dist/domain/bundle-context-packs-router.js.map +0 -1
  697. package/node_modules/@openrig/daemon/dist/domain/bundle-integrity.d.ts +0 -30
  698. package/node_modules/@openrig/daemon/dist/domain/bundle-integrity.d.ts.map +0 -1
  699. package/node_modules/@openrig/daemon/dist/domain/bundle-integrity.js +0 -120
  700. package/node_modules/@openrig/daemon/dist/domain/bundle-integrity.js.map +0 -1
  701. package/node_modules/@openrig/daemon/dist/domain/bundle-plugins-router.d.ts +0 -69
  702. package/node_modules/@openrig/daemon/dist/domain/bundle-plugins-router.d.ts.map +0 -1
  703. package/node_modules/@openrig/daemon/dist/domain/bundle-plugins-router.js +0 -87
  704. package/node_modules/@openrig/daemon/dist/domain/bundle-plugins-router.js.map +0 -1
  705. package/node_modules/@openrig/daemon/dist/domain/bundle-skills-router.d.ts +0 -65
  706. package/node_modules/@openrig/daemon/dist/domain/bundle-skills-router.d.ts.map +0 -1
  707. package/node_modules/@openrig/daemon/dist/domain/bundle-skills-router.js +0 -94
  708. package/node_modules/@openrig/daemon/dist/domain/bundle-skills-router.js.map +0 -1
  709. package/node_modules/@openrig/daemon/dist/domain/bundle-source-resolver.d.ts +0 -44
  710. package/node_modules/@openrig/daemon/dist/domain/bundle-source-resolver.d.ts.map +0 -1
  711. package/node_modules/@openrig/daemon/dist/domain/bundle-source-resolver.js +0 -158
  712. package/node_modules/@openrig/daemon/dist/domain/bundle-source-resolver.js.map +0 -1
  713. package/node_modules/@openrig/daemon/dist/domain/bundle-types.d.ts +0 -184
  714. package/node_modules/@openrig/daemon/dist/domain/bundle-types.d.ts.map +0 -1
  715. package/node_modules/@openrig/daemon/dist/domain/bundle-types.js +0 -593
  716. package/node_modules/@openrig/daemon/dist/domain/bundle-types.js.map +0 -1
  717. package/node_modules/@openrig/daemon/dist/domain/bundle-workflow-specs-router.d.ts +0 -94
  718. package/node_modules/@openrig/daemon/dist/domain/bundle-workflow-specs-router.d.ts.map +0 -1
  719. package/node_modules/@openrig/daemon/dist/domain/bundle-workflow-specs-router.js +0 -144
  720. package/node_modules/@openrig/daemon/dist/domain/bundle-workflow-specs-router.js.map +0 -1
  721. package/node_modules/@openrig/daemon/dist/domain/chat-repository.d.ts +0 -31
  722. package/node_modules/@openrig/daemon/dist/domain/chat-repository.d.ts.map +0 -1
  723. package/node_modules/@openrig/daemon/dist/domain/chat-repository.js +0 -105
  724. package/node_modules/@openrig/daemon/dist/domain/chat-repository.js.map +0 -1
  725. package/node_modules/@openrig/daemon/dist/domain/checkpoint-store.d.ts +0 -24
  726. package/node_modules/@openrig/daemon/dist/domain/checkpoint-store.d.ts.map +0 -1
  727. package/node_modules/@openrig/daemon/dist/domain/checkpoint-store.js +0 -55
  728. package/node_modules/@openrig/daemon/dist/domain/checkpoint-store.js.map +0 -1
  729. package/node_modules/@openrig/daemon/dist/domain/claim-service.d.ts +0 -196
  730. package/node_modules/@openrig/daemon/dist/domain/claim-service.d.ts.map +0 -1
  731. package/node_modules/@openrig/daemon/dist/domain/claim-service.js +0 -577
  732. package/node_modules/@openrig/daemon/dist/domain/claim-service.js.map +0 -1
  733. package/node_modules/@openrig/daemon/dist/domain/classifier-lease-manager.d.ts +0 -130
  734. package/node_modules/@openrig/daemon/dist/domain/classifier-lease-manager.d.ts.map +0 -1
  735. package/node_modules/@openrig/daemon/dist/domain/classifier-lease-manager.js +0 -285
  736. package/node_modules/@openrig/daemon/dist/domain/classifier-lease-manager.js.map +0 -1
  737. package/node_modules/@openrig/daemon/dist/domain/claude-activity-hooks.d.ts +0 -33
  738. package/node_modules/@openrig/daemon/dist/domain/claude-activity-hooks.d.ts.map +0 -1
  739. package/node_modules/@openrig/daemon/dist/domain/claude-activity-hooks.js +0 -60
  740. package/node_modules/@openrig/daemon/dist/domain/claude-activity-hooks.js.map +0 -1
  741. package/node_modules/@openrig/daemon/dist/domain/claude-compaction-enforcer.d.ts +0 -166
  742. package/node_modules/@openrig/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +0 -1
  743. package/node_modules/@openrig/daemon/dist/domain/claude-compaction-enforcer.js +0 -540
  744. package/node_modules/@openrig/daemon/dist/domain/claude-compaction-enforcer.js.map +0 -1
  745. package/node_modules/@openrig/daemon/dist/domain/cmux-layout-service.d.ts +0 -77
  746. package/node_modules/@openrig/daemon/dist/domain/cmux-layout-service.d.ts.map +0 -1
  747. package/node_modules/@openrig/daemon/dist/domain/cmux-layout-service.js +0 -256
  748. package/node_modules/@openrig/daemon/dist/domain/cmux-layout-service.js.map +0 -1
  749. package/node_modules/@openrig/daemon/dist/domain/codex-profile-preflight.d.ts +0 -8
  750. package/node_modules/@openrig/daemon/dist/domain/codex-profile-preflight.d.ts.map +0 -1
  751. package/node_modules/@openrig/daemon/dist/domain/codex-profile-preflight.js +0 -43
  752. package/node_modules/@openrig/daemon/dist/domain/codex-profile-preflight.js.map +0 -1
  753. package/node_modules/@openrig/daemon/dist/domain/codex-thread-id.d.ts +0 -103
  754. package/node_modules/@openrig/daemon/dist/domain/codex-thread-id.d.ts.map +0 -1
  755. package/node_modules/@openrig/daemon/dist/domain/codex-thread-id.js +0 -278
  756. package/node_modules/@openrig/daemon/dist/domain/codex-thread-id.js.map +0 -1
  757. package/node_modules/@openrig/daemon/dist/domain/compose-project-name.d.ts +0 -3
  758. package/node_modules/@openrig/daemon/dist/domain/compose-project-name.d.ts.map +0 -1
  759. package/node_modules/@openrig/daemon/dist/domain/compose-project-name.js +0 -16
  760. package/node_modules/@openrig/daemon/dist/domain/compose-project-name.js.map +0 -1
  761. package/node_modules/@openrig/daemon/dist/domain/conflict-detector.d.ts +0 -40
  762. package/node_modules/@openrig/daemon/dist/domain/conflict-detector.d.ts.map +0 -1
  763. package/node_modules/@openrig/daemon/dist/domain/conflict-detector.js +0 -168
  764. package/node_modules/@openrig/daemon/dist/domain/conflict-detector.js.map +0 -1
  765. package/node_modules/@openrig/daemon/dist/domain/context-monitor.d.ts +0 -62
  766. package/node_modules/@openrig/daemon/dist/domain/context-monitor.d.ts.map +0 -1
  767. package/node_modules/@openrig/daemon/dist/domain/context-monitor.js +0 -239
  768. package/node_modules/@openrig/daemon/dist/domain/context-monitor.js.map +0 -1
  769. package/node_modules/@openrig/daemon/dist/domain/context-packs/bundle-assembler.d.ts +0 -79
  770. package/node_modules/@openrig/daemon/dist/domain/context-packs/bundle-assembler.d.ts.map +0 -1
  771. package/node_modules/@openrig/daemon/dist/domain/context-packs/bundle-assembler.js +0 -111
  772. package/node_modules/@openrig/daemon/dist/domain/context-packs/bundle-assembler.js.map +0 -1
  773. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-library-service.d.ts +0 -96
  774. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-library-service.d.ts.map +0 -1
  775. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-library-service.js +0 -378
  776. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-library-service.js.map +0 -1
  777. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.d.ts +0 -148
  778. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.d.ts.map +0 -1
  779. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.js +0 -43
  780. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.js.map +0 -1
  781. package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.d.ts +0 -3
  782. package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.d.ts.map +0 -1
  783. package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.js +0 -468
  784. package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.js.map +0 -1
  785. package/node_modules/@openrig/daemon/dist/domain/context-packs/probe-eval-bridge.d.ts +0 -34
  786. package/node_modules/@openrig/daemon/dist/domain/context-packs/probe-eval-bridge.d.ts.map +0 -1
  787. package/node_modules/@openrig/daemon/dist/domain/context-packs/probe-eval-bridge.js +0 -38
  788. package/node_modules/@openrig/daemon/dist/domain/context-packs/probe-eval-bridge.js.map +0 -1
  789. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.d.ts +0 -70
  790. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.d.ts.map +0 -1
  791. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.js +0 -190
  792. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.js.map +0 -1
  793. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-source-resolver.d.ts +0 -55
  794. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-source-resolver.d.ts.map +0 -1
  795. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-source-resolver.js +0 -130
  796. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-source-resolver.js.map +0 -1
  797. package/node_modules/@openrig/daemon/dist/domain/context-packs/ref-safety.d.ts +0 -11
  798. package/node_modules/@openrig/daemon/dist/domain/context-packs/ref-safety.d.ts.map +0 -1
  799. package/node_modules/@openrig/daemon/dist/domain/context-packs/ref-safety.js +0 -46
  800. package/node_modules/@openrig/daemon/dist/domain/context-packs/ref-safety.js.map +0 -1
  801. package/node_modules/@openrig/daemon/dist/domain/context-packs/seat-recap-store.d.ts +0 -48
  802. package/node_modules/@openrig/daemon/dist/domain/context-packs/seat-recap-store.d.ts.map +0 -1
  803. package/node_modules/@openrig/daemon/dist/domain/context-packs/seat-recap-store.js +0 -123
  804. package/node_modules/@openrig/daemon/dist/domain/context-packs/seat-recap-store.js.map +0 -1
  805. package/node_modules/@openrig/daemon/dist/domain/context-packs/token-estimate.d.ts +0 -3
  806. package/node_modules/@openrig/daemon/dist/domain/context-packs/token-estimate.d.ts.map +0 -1
  807. package/node_modules/@openrig/daemon/dist/domain/context-packs/token-estimate.js +0 -5
  808. package/node_modules/@openrig/daemon/dist/domain/context-packs/token-estimate.js.map +0 -1
  809. package/node_modules/@openrig/daemon/dist/domain/context-usage-store.d.ts +0 -99
  810. package/node_modules/@openrig/daemon/dist/domain/context-usage-store.d.ts.map +0 -1
  811. package/node_modules/@openrig/daemon/dist/domain/context-usage-store.js +0 -386
  812. package/node_modules/@openrig/daemon/dist/domain/context-usage-store.js.map +0 -1
  813. package/node_modules/@openrig/daemon/dist/domain/continuity-policy-materializer.d.ts +0 -88
  814. package/node_modules/@openrig/daemon/dist/domain/continuity-policy-materializer.d.ts.map +0 -1
  815. package/node_modules/@openrig/daemon/dist/domain/continuity-policy-materializer.js +0 -290
  816. package/node_modules/@openrig/daemon/dist/domain/continuity-policy-materializer.js.map +0 -1
  817. package/node_modules/@openrig/daemon/dist/domain/continuity-stack-packets.d.ts +0 -65
  818. package/node_modules/@openrig/daemon/dist/domain/continuity-stack-packets.d.ts.map +0 -1
  819. package/node_modules/@openrig/daemon/dist/domain/continuity-stack-packets.js +0 -99
  820. package/node_modules/@openrig/daemon/dist/domain/continuity-stack-packets.js.map +0 -1
  821. package/node_modules/@openrig/daemon/dist/domain/crash-cart-conductor.d.ts +0 -186
  822. package/node_modules/@openrig/daemon/dist/domain/crash-cart-conductor.d.ts.map +0 -1
  823. package/node_modules/@openrig/daemon/dist/domain/crash-cart-conductor.js +0 -235
  824. package/node_modules/@openrig/daemon/dist/domain/crash-cart-conductor.js.map +0 -1
  825. package/node_modules/@openrig/daemon/dist/domain/crash-cart-detect.d.ts +0 -45
  826. package/node_modules/@openrig/daemon/dist/domain/crash-cart-detect.d.ts.map +0 -1
  827. package/node_modules/@openrig/daemon/dist/domain/crash-cart-detect.js +0 -56
  828. package/node_modules/@openrig/daemon/dist/domain/crash-cart-detect.js.map +0 -1
  829. package/node_modules/@openrig/daemon/dist/domain/crash-cart-discovery.d.ts +0 -139
  830. package/node_modules/@openrig/daemon/dist/domain/crash-cart-discovery.d.ts.map +0 -1
  831. package/node_modules/@openrig/daemon/dist/domain/crash-cart-discovery.js +0 -225
  832. package/node_modules/@openrig/daemon/dist/domain/crash-cart-discovery.js.map +0 -1
  833. package/node_modules/@openrig/daemon/dist/domain/crash-cart-emit.d.ts +0 -22
  834. package/node_modules/@openrig/daemon/dist/domain/crash-cart-emit.d.ts.map +0 -1
  835. package/node_modules/@openrig/daemon/dist/domain/crash-cart-emit.js +0 -23
  836. package/node_modules/@openrig/daemon/dist/domain/crash-cart-emit.js.map +0 -1
  837. package/node_modules/@openrig/daemon/dist/domain/crash-cart-probes.d.ts +0 -24
  838. package/node_modules/@openrig/daemon/dist/domain/crash-cart-probes.d.ts.map +0 -1
  839. package/node_modules/@openrig/daemon/dist/domain/crash-cart-probes.js +0 -109
  840. package/node_modules/@openrig/daemon/dist/domain/crash-cart-probes.js.map +0 -1
  841. package/node_modules/@openrig/daemon/dist/domain/current-work.d.ts +0 -73
  842. package/node_modules/@openrig/daemon/dist/domain/current-work.d.ts.map +0 -1
  843. package/node_modules/@openrig/daemon/dist/domain/current-work.js +0 -225
  844. package/node_modules/@openrig/daemon/dist/domain/current-work.js.map +0 -1
  845. package/node_modules/@openrig/daemon/dist/domain/cwd-resolution.d.ts +0 -5
  846. package/node_modules/@openrig/daemon/dist/domain/cwd-resolution.d.ts.map +0 -1
  847. package/node_modules/@openrig/daemon/dist/domain/cwd-resolution.js +0 -29
  848. package/node_modules/@openrig/daemon/dist/domain/cwd-resolution.js.map +0 -1
  849. package/node_modules/@openrig/daemon/dist/domain/daemon-lifecycle-store.d.ts +0 -30
  850. package/node_modules/@openrig/daemon/dist/domain/daemon-lifecycle-store.d.ts.map +0 -1
  851. package/node_modules/@openrig/daemon/dist/domain/daemon-lifecycle-store.js +0 -53
  852. package/node_modules/@openrig/daemon/dist/domain/daemon-lifecycle-store.js.map +0 -1
  853. package/node_modules/@openrig/daemon/dist/domain/daemon-version.d.ts +0 -15
  854. package/node_modules/@openrig/daemon/dist/domain/daemon-version.d.ts.map +0 -1
  855. package/node_modules/@openrig/daemon/dist/domain/daemon-version.js +0 -28
  856. package/node_modules/@openrig/daemon/dist/domain/daemon-version.js.map +0 -1
  857. package/node_modules/@openrig/daemon/dist/domain/demo-rig-selector.d.ts +0 -11
  858. package/node_modules/@openrig/daemon/dist/domain/demo-rig-selector.d.ts.map +0 -1
  859. package/node_modules/@openrig/daemon/dist/domain/demo-rig-selector.js +0 -21
  860. package/node_modules/@openrig/daemon/dist/domain/demo-rig-selector.js.map +0 -1
  861. package/node_modules/@openrig/daemon/dist/domain/discovery-coordinator.d.ts +0 -28
  862. package/node_modules/@openrig/daemon/dist/domain/discovery-coordinator.d.ts.map +0 -1
  863. package/node_modules/@openrig/daemon/dist/domain/discovery-coordinator.js +0 -107
  864. package/node_modules/@openrig/daemon/dist/domain/discovery-coordinator.js.map +0 -1
  865. package/node_modules/@openrig/daemon/dist/domain/discovery-repository.d.ts +0 -31
  866. package/node_modules/@openrig/daemon/dist/domain/discovery-repository.d.ts.map +0 -1
  867. package/node_modules/@openrig/daemon/dist/domain/discovery-repository.js +0 -75
  868. package/node_modules/@openrig/daemon/dist/domain/discovery-repository.js.map +0 -1
  869. package/node_modules/@openrig/daemon/dist/domain/discovery-types.d.ts +0 -27
  870. package/node_modules/@openrig/daemon/dist/domain/discovery-types.d.ts.map +0 -1
  871. package/node_modules/@openrig/daemon/dist/domain/discovery-types.js +0 -2
  872. package/node_modules/@openrig/daemon/dist/domain/discovery-types.js.map +0 -1
  873. package/node_modules/@openrig/daemon/dist/domain/draft-rig-generator.d.ts +0 -7
  874. package/node_modules/@openrig/daemon/dist/domain/draft-rig-generator.d.ts.map +0 -1
  875. package/node_modules/@openrig/daemon/dist/domain/draft-rig-generator.js +0 -87
  876. package/node_modules/@openrig/daemon/dist/domain/draft-rig-generator.js.map +0 -1
  877. package/node_modules/@openrig/daemon/dist/domain/errors.d.ts +0 -4
  878. package/node_modules/@openrig/daemon/dist/domain/errors.d.ts.map +0 -1
  879. package/node_modules/@openrig/daemon/dist/domain/errors.js +0 -7
  880. package/node_modules/@openrig/daemon/dist/domain/errors.js.map +0 -1
  881. package/node_modules/@openrig/daemon/dist/domain/event-bus.d.ts +0 -73
  882. package/node_modules/@openrig/daemon/dist/domain/event-bus.d.ts.map +0 -1
  883. package/node_modules/@openrig/daemon/dist/domain/event-bus.js +0 -230
  884. package/node_modules/@openrig/daemon/dist/domain/event-bus.js.map +0 -1
  885. package/node_modules/@openrig/daemon/dist/domain/event-loop-monitor.d.ts +0 -100
  886. package/node_modules/@openrig/daemon/dist/domain/event-loop-monitor.d.ts.map +0 -1
  887. package/node_modules/@openrig/daemon/dist/domain/event-loop-monitor.js +0 -127
  888. package/node_modules/@openrig/daemon/dist/domain/event-loop-monitor.js.map +0 -1
  889. package/node_modules/@openrig/daemon/dist/domain/execution-view.d.ts +0 -40
  890. package/node_modules/@openrig/daemon/dist/domain/execution-view.d.ts.map +0 -1
  891. package/node_modules/@openrig/daemon/dist/domain/execution-view.js +0 -1120
  892. package/node_modules/@openrig/daemon/dist/domain/execution-view.js.map +0 -1
  893. package/node_modules/@openrig/daemon/dist/domain/external-install-executor.d.ts +0 -47
  894. package/node_modules/@openrig/daemon/dist/domain/external-install-executor.d.ts.map +0 -1
  895. package/node_modules/@openrig/daemon/dist/domain/external-install-executor.js +0 -87
  896. package/node_modules/@openrig/daemon/dist/domain/external-install-executor.js.map +0 -1
  897. package/node_modules/@openrig/daemon/dist/domain/external-install-planner.d.ts +0 -41
  898. package/node_modules/@openrig/daemon/dist/domain/external-install-planner.d.ts.map +0 -1
  899. package/node_modules/@openrig/daemon/dist/domain/external-install-planner.js +0 -83
  900. package/node_modules/@openrig/daemon/dist/domain/external-install-planner.js.map +0 -1
  901. package/node_modules/@openrig/daemon/dist/domain/feed/attention-aggregator.d.ts +0 -31
  902. package/node_modules/@openrig/daemon/dist/domain/feed/attention-aggregator.d.ts.map +0 -1
  903. package/node_modules/@openrig/daemon/dist/domain/feed/attention-aggregator.js +0 -119
  904. package/node_modules/@openrig/daemon/dist/domain/feed/attention-aggregator.js.map +0 -1
  905. package/node_modules/@openrig/daemon/dist/domain/files/file-read.d.ts +0 -17
  906. package/node_modules/@openrig/daemon/dist/domain/files/file-read.d.ts.map +0 -1
  907. package/node_modules/@openrig/daemon/dist/domain/files/file-read.js +0 -24
  908. package/node_modules/@openrig/daemon/dist/domain/files/file-read.js.map +0 -1
  909. package/node_modules/@openrig/daemon/dist/domain/files/file-write-service.d.ts +0 -73
  910. package/node_modules/@openrig/daemon/dist/domain/files/file-write-service.d.ts.map +0 -1
  911. package/node_modules/@openrig/daemon/dist/domain/files/file-write-service.js +0 -259
  912. package/node_modules/@openrig/daemon/dist/domain/files/file-write-service.js.map +0 -1
  913. package/node_modules/@openrig/daemon/dist/domain/files/path-safety.d.ts +0 -47
  914. package/node_modules/@openrig/daemon/dist/domain/files/path-safety.d.ts.map +0 -1
  915. package/node_modules/@openrig/daemon/dist/domain/files/path-safety.js +0 -176
  916. package/node_modules/@openrig/daemon/dist/domain/files/path-safety.js.map +0 -1
  917. package/node_modules/@openrig/daemon/dist/domain/fresh-occupant-relation.d.ts +0 -8
  918. package/node_modules/@openrig/daemon/dist/domain/fresh-occupant-relation.d.ts.map +0 -1
  919. package/node_modules/@openrig/daemon/dist/domain/fresh-occupant-relation.js +0 -31
  920. package/node_modules/@openrig/daemon/dist/domain/fresh-occupant-relation.js.map +0 -1
  921. package/node_modules/@openrig/daemon/dist/domain/gate-predicate.d.ts +0 -29
  922. package/node_modules/@openrig/daemon/dist/domain/gate-predicate.d.ts.map +0 -1
  923. package/node_modules/@openrig/daemon/dist/domain/gate-predicate.js +0 -73
  924. package/node_modules/@openrig/daemon/dist/domain/gate-predicate.js.map +0 -1
  925. package/node_modules/@openrig/daemon/dist/domain/gateway/channel-operations.d.ts +0 -39
  926. package/node_modules/@openrig/daemon/dist/domain/gateway/channel-operations.d.ts.map +0 -1
  927. package/node_modules/@openrig/daemon/dist/domain/gateway/channel-operations.js +0 -35
  928. package/node_modules/@openrig/daemon/dist/domain/gateway/channel-operations.js.map +0 -1
  929. package/node_modules/@openrig/daemon/dist/domain/gateway/connections-projection.d.ts +0 -90
  930. package/node_modules/@openrig/daemon/dist/domain/gateway/connections-projection.d.ts.map +0 -1
  931. package/node_modules/@openrig/daemon/dist/domain/gateway/connections-projection.js +0 -171
  932. package/node_modules/@openrig/daemon/dist/domain/gateway/connections-projection.js.map +0 -1
  933. package/node_modules/@openrig/daemon/dist/domain/gateway/delivery-rules-engine.d.ts +0 -60
  934. package/node_modules/@openrig/daemon/dist/domain/gateway/delivery-rules-engine.d.ts.map +0 -1
  935. package/node_modules/@openrig/daemon/dist/domain/gateway/delivery-rules-engine.js +0 -144
  936. package/node_modules/@openrig/daemon/dist/domain/gateway/delivery-rules-engine.js.map +0 -1
  937. package/node_modules/@openrig/daemon/dist/domain/gateway/destination-resolver.d.ts +0 -20
  938. package/node_modules/@openrig/daemon/dist/domain/gateway/destination-resolver.d.ts.map +0 -1
  939. package/node_modules/@openrig/daemon/dist/domain/gateway/destination-resolver.js +0 -52
  940. package/node_modules/@openrig/daemon/dist/domain/gateway/destination-resolver.js.map +0 -1
  941. package/node_modules/@openrig/daemon/dist/domain/gateway/dispatch-buffer.d.ts +0 -15
  942. package/node_modules/@openrig/daemon/dist/domain/gateway/dispatch-buffer.d.ts.map +0 -1
  943. package/node_modules/@openrig/daemon/dist/domain/gateway/dispatch-buffer.js +0 -64
  944. package/node_modules/@openrig/daemon/dist/domain/gateway/dispatch-buffer.js.map +0 -1
  945. package/node_modules/@openrig/daemon/dist/domain/gateway/dispatcher.d.ts +0 -34
  946. package/node_modules/@openrig/daemon/dist/domain/gateway/dispatcher.d.ts.map +0 -1
  947. package/node_modules/@openrig/daemon/dist/domain/gateway/dispatcher.js +0 -57
  948. package/node_modules/@openrig/daemon/dist/domain/gateway/dispatcher.js.map +0 -1
  949. package/node_modules/@openrig/daemon/dist/domain/gateway/external-admission.d.ts +0 -25
  950. package/node_modules/@openrig/daemon/dist/domain/gateway/external-admission.d.ts.map +0 -1
  951. package/node_modules/@openrig/daemon/dist/domain/gateway/external-admission.js +0 -41
  952. package/node_modules/@openrig/daemon/dist/domain/gateway/external-admission.js.map +0 -1
  953. package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-process-main.d.ts +0 -7
  954. package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-process-main.d.ts.map +0 -1
  955. package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-process-main.js +0 -49
  956. package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-process-main.js.map +0 -1
  957. package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-process.d.ts +0 -20
  958. package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-process.d.ts.map +0 -1
  959. package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-process.js +0 -60
  960. package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-process.js.map +0 -1
  961. package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.d.ts +0 -87
  962. package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.d.ts.map +0 -1
  963. package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.js +0 -154
  964. package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.js.map +0 -1
  965. package/node_modules/@openrig/daemon/dist/domain/gateway/human-readiness.d.ts +0 -37
  966. package/node_modules/@openrig/daemon/dist/domain/gateway/human-readiness.d.ts.map +0 -1
  967. package/node_modules/@openrig/daemon/dist/domain/gateway/human-readiness.js +0 -44
  968. package/node_modules/@openrig/daemon/dist/domain/gateway/human-readiness.js.map +0 -1
  969. package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.d.ts +0 -239
  970. package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.d.ts.map +0 -1
  971. package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.js +0 -692
  972. package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.js.map +0 -1
  973. package/node_modules/@openrig/daemon/dist/domain/gateway/operator-delivery-engine.d.ts +0 -32
  974. package/node_modules/@openrig/daemon/dist/domain/gateway/operator-delivery-engine.d.ts.map +0 -1
  975. package/node_modules/@openrig/daemon/dist/domain/gateway/operator-delivery-engine.js +0 -86
  976. package/node_modules/@openrig/daemon/dist/domain/gateway/operator-delivery-engine.js.map +0 -1
  977. package/node_modules/@openrig/daemon/dist/domain/gateway/protocol.d.ts +0 -54
  978. package/node_modules/@openrig/daemon/dist/domain/gateway/protocol.d.ts.map +0 -1
  979. package/node_modules/@openrig/daemon/dist/domain/gateway/protocol.js +0 -83
  980. package/node_modules/@openrig/daemon/dist/domain/gateway/protocol.js.map +0 -1
  981. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/config.d.ts +0 -45
  982. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/config.d.ts.map +0 -1
  983. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/config.js +0 -78
  984. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/config.js.map +0 -1
  985. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound-admission.d.ts +0 -8
  986. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound-admission.d.ts.map +0 -1
  987. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound-admission.js +0 -20
  988. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound-admission.js.map +0 -1
  989. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.d.ts +0 -156
  990. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.d.ts.map +0 -1
  991. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.js +0 -220
  992. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.js.map +0 -1
  993. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/message.d.ts +0 -81
  994. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/message.d.ts.map +0 -1
  995. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/message.js +0 -127
  996. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/message.js.map +0 -1
  997. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/outbound-driver.d.ts +0 -59
  998. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/outbound-driver.d.ts.map +0 -1
  999. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/outbound-driver.js +0 -105
  1000. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/outbound-driver.js.map +0 -1
  1001. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.d.ts +0 -61
  1002. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.d.ts.map +0 -1
  1003. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.js +0 -102
  1004. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.js.map +0 -1
  1005. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/secrets.d.ts +0 -21
  1006. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/secrets.d.ts.map +0 -1
  1007. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/secrets.js +0 -73
  1008. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/secrets.js.map +0 -1
  1009. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-api.d.ts +0 -129
  1010. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-api.d.ts.map +0 -1
  1011. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-api.js +0 -236
  1012. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-api.js.map +0 -1
  1013. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-delivery.d.ts +0 -56
  1014. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-delivery.d.ts.map +0 -1
  1015. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-delivery.js +0 -349
  1016. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-delivery.js.map +0 -1
  1017. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts +0 -49
  1018. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +0 -1
  1019. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.js +0 -535
  1020. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +0 -1
  1021. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/socket-inbound.d.ts +0 -43
  1022. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/socket-inbound.d.ts.map +0 -1
  1023. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/socket-inbound.js +0 -157
  1024. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/socket-inbound.js.map +0 -1
  1025. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/state-store.d.ts +0 -83
  1026. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/state-store.d.ts.map +0 -1
  1027. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/state-store.js +0 -159
  1028. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/state-store.js.map +0 -1
  1029. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-routing.d.ts +0 -19
  1030. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-routing.d.ts.map +0 -1
  1031. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-routing.js +0 -40
  1032. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-routing.js.map +0 -1
  1033. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts +0 -60
  1034. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts.map +0 -1
  1035. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-seat-map.js +0 -114
  1036. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-seat-map.js.map +0 -1
  1037. package/node_modules/@openrig/daemon/dist/domain/gateway/spawn-gateway.d.ts +0 -15
  1038. package/node_modules/@openrig/daemon/dist/domain/gateway/spawn-gateway.d.ts.map +0 -1
  1039. package/node_modules/@openrig/daemon/dist/domain/gateway/spawn-gateway.js +0 -35
  1040. package/node_modules/@openrig/daemon/dist/domain/gateway/spawn-gateway.js.map +0 -1
  1041. package/node_modules/@openrig/daemon/dist/domain/gateway/transport.d.ts +0 -24
  1042. package/node_modules/@openrig/daemon/dist/domain/gateway/transport.d.ts.map +0 -1
  1043. package/node_modules/@openrig/daemon/dist/domain/gateway/transport.js +0 -85
  1044. package/node_modules/@openrig/daemon/dist/domain/gateway/transport.js.map +0 -1
  1045. package/node_modules/@openrig/daemon/dist/domain/graph-projection.d.ts +0 -93
  1046. package/node_modules/@openrig/daemon/dist/domain/graph-projection.d.ts.map +0 -1
  1047. package/node_modules/@openrig/daemon/dist/domain/graph-projection.js +0 -135
  1048. package/node_modules/@openrig/daemon/dist/domain/graph-projection.js.map +0 -1
  1049. package/node_modules/@openrig/daemon/dist/domain/health-checkpoints.d.ts +0 -57
  1050. package/node_modules/@openrig/daemon/dist/domain/health-checkpoints.d.ts.map +0 -1
  1051. package/node_modules/@openrig/daemon/dist/domain/health-checkpoints.js +0 -198
  1052. package/node_modules/@openrig/daemon/dist/domain/health-checkpoints.js.map +0 -1
  1053. package/node_modules/@openrig/daemon/dist/domain/health-context.d.ts +0 -17
  1054. package/node_modules/@openrig/daemon/dist/domain/health-context.d.ts.map +0 -1
  1055. package/node_modules/@openrig/daemon/dist/domain/health-context.js +0 -165
  1056. package/node_modules/@openrig/daemon/dist/domain/health-context.js.map +0 -1
  1057. package/node_modules/@openrig/daemon/dist/domain/health-detectors.d.ts +0 -107
  1058. package/node_modules/@openrig/daemon/dist/domain/health-detectors.d.ts.map +0 -1
  1059. package/node_modules/@openrig/daemon/dist/domain/health-detectors.js +0 -398
  1060. package/node_modules/@openrig/daemon/dist/domain/health-detectors.js.map +0 -1
  1061. package/node_modules/@openrig/daemon/dist/domain/health-diagnosis.d.ts +0 -193
  1062. package/node_modules/@openrig/daemon/dist/domain/health-diagnosis.d.ts.map +0 -1
  1063. package/node_modules/@openrig/daemon/dist/domain/health-diagnosis.js +0 -300
  1064. package/node_modules/@openrig/daemon/dist/domain/health-diagnosis.js.map +0 -1
  1065. package/node_modules/@openrig/daemon/dist/domain/health-passive-ceremony.d.ts +0 -25
  1066. package/node_modules/@openrig/daemon/dist/domain/health-passive-ceremony.d.ts.map +0 -1
  1067. package/node_modules/@openrig/daemon/dist/domain/health-passive-ceremony.js +0 -267
  1068. package/node_modules/@openrig/daemon/dist/domain/health-passive-ceremony.js.map +0 -1
  1069. package/node_modules/@openrig/daemon/dist/domain/health-policy.d.ts +0 -45
  1070. package/node_modules/@openrig/daemon/dist/domain/health-policy.d.ts.map +0 -1
  1071. package/node_modules/@openrig/daemon/dist/domain/health-policy.js +0 -89
  1072. package/node_modules/@openrig/daemon/dist/domain/health-policy.js.map +0 -1
  1073. package/node_modules/@openrig/daemon/dist/domain/health-projection.d.ts +0 -239
  1074. package/node_modules/@openrig/daemon/dist/domain/health-projection.d.ts.map +0 -1
  1075. package/node_modules/@openrig/daemon/dist/domain/health-projection.js +0 -312
  1076. package/node_modules/@openrig/daemon/dist/domain/health-projection.js.map +0 -1
  1077. package/node_modules/@openrig/daemon/dist/domain/history-query.d.ts +0 -96
  1078. package/node_modules/@openrig/daemon/dist/domain/history-query.d.ts.map +0 -1
  1079. package/node_modules/@openrig/daemon/dist/domain/history-query.js +0 -306
  1080. package/node_modules/@openrig/daemon/dist/domain/history-query.js.map +0 -1
  1081. package/node_modules/@openrig/daemon/dist/domain/hosts/fanout-contract.d.ts +0 -51
  1082. package/node_modules/@openrig/daemon/dist/domain/hosts/fanout-contract.d.ts.map +0 -1
  1083. package/node_modules/@openrig/daemon/dist/domain/hosts/fanout-contract.js +0 -74
  1084. package/node_modules/@openrig/daemon/dist/domain/hosts/fanout-contract.js.map +0 -1
  1085. package/node_modules/@openrig/daemon/dist/domain/hosts/hosts-registry-reader.d.ts +0 -61
  1086. package/node_modules/@openrig/daemon/dist/domain/hosts/hosts-registry-reader.d.ts.map +0 -1
  1087. package/node_modules/@openrig/daemon/dist/domain/hosts/hosts-registry-reader.js +0 -222
  1088. package/node_modules/@openrig/daemon/dist/domain/hosts/hosts-registry-reader.js.map +0 -1
  1089. package/node_modules/@openrig/daemon/dist/domain/hosts/hosts-registry-writer.d.ts +0 -11
  1090. package/node_modules/@openrig/daemon/dist/domain/hosts/hosts-registry-writer.d.ts.map +0 -1
  1091. package/node_modules/@openrig/daemon/dist/domain/hosts/hosts-registry-writer.js +0 -55
  1092. package/node_modules/@openrig/daemon/dist/domain/hosts/hosts-registry-writer.js.map +0 -1
  1093. package/node_modules/@openrig/daemon/dist/domain/hosts/read-through.d.ts +0 -28
  1094. package/node_modules/@openrig/daemon/dist/domain/hosts/read-through.d.ts.map +0 -1
  1095. package/node_modules/@openrig/daemon/dist/domain/hosts/read-through.js +0 -143
  1096. package/node_modules/@openrig/daemon/dist/domain/hosts/read-through.js.map +0 -1
  1097. package/node_modules/@openrig/daemon/dist/domain/hosts/remote-daemon-http.d.ts +0 -60
  1098. package/node_modules/@openrig/daemon/dist/domain/hosts/remote-daemon-http.d.ts.map +0 -1
  1099. package/node_modules/@openrig/daemon/dist/domain/hosts/remote-daemon-http.js +0 -158
  1100. package/node_modules/@openrig/daemon/dist/domain/hosts/remote-daemon-http.js.map +0 -1
  1101. package/node_modules/@openrig/daemon/dist/domain/hot-potato-enforcer.d.ts +0 -45
  1102. package/node_modules/@openrig/daemon/dist/domain/hot-potato-enforcer.d.ts.map +0 -1
  1103. package/node_modules/@openrig/daemon/dist/domain/hot-potato-enforcer.js +0 -97
  1104. package/node_modules/@openrig/daemon/dist/domain/hot-potato-enforcer.js.map +0 -1
  1105. package/node_modules/@openrig/daemon/dist/domain/human-route-enforcer.d.ts +0 -71
  1106. package/node_modules/@openrig/daemon/dist/domain/human-route-enforcer.d.ts.map +0 -1
  1107. package/node_modules/@openrig/daemon/dist/domain/human-route-enforcer.js +0 -80
  1108. package/node_modules/@openrig/daemon/dist/domain/human-route-enforcer.js.map +0 -1
  1109. package/node_modules/@openrig/daemon/dist/domain/inbox-handler.d.ts +0 -74
  1110. package/node_modules/@openrig/daemon/dist/domain/inbox-handler.d.ts.map +0 -1
  1111. package/node_modules/@openrig/daemon/dist/domain/inbox-handler.js +0 -189
  1112. package/node_modules/@openrig/daemon/dist/domain/inbox-handler.js.map +0 -1
  1113. package/node_modules/@openrig/daemon/dist/domain/install-engine.d.ts +0 -33
  1114. package/node_modules/@openrig/daemon/dist/domain/install-engine.d.ts.map +0 -1
  1115. package/node_modules/@openrig/daemon/dist/domain/install-engine.js +0 -170
  1116. package/node_modules/@openrig/daemon/dist/domain/install-engine.js.map +0 -1
  1117. package/node_modules/@openrig/daemon/dist/domain/install-planner.d.ts +0 -38
  1118. package/node_modules/@openrig/daemon/dist/domain/install-planner.d.ts.map +0 -1
  1119. package/node_modules/@openrig/daemon/dist/domain/install-planner.js +0 -243
  1120. package/node_modules/@openrig/daemon/dist/domain/install-planner.js.map +0 -1
  1121. package/node_modules/@openrig/daemon/dist/domain/install-policy.d.ts +0 -20
  1122. package/node_modules/@openrig/daemon/dist/domain/install-policy.d.ts.map +0 -1
  1123. package/node_modules/@openrig/daemon/dist/domain/install-policy.js +0 -56
  1124. package/node_modules/@openrig/daemon/dist/domain/install-policy.js.map +0 -1
  1125. package/node_modules/@openrig/daemon/dist/domain/install-repository.d.ts +0 -55
  1126. package/node_modules/@openrig/daemon/dist/domain/install-repository.d.ts.map +0 -1
  1127. package/node_modules/@openrig/daemon/dist/domain/install-repository.js +0 -122
  1128. package/node_modules/@openrig/daemon/dist/domain/install-repository.js.map +0 -1
  1129. package/node_modules/@openrig/daemon/dist/domain/install-verifier.d.ts +0 -31
  1130. package/node_modules/@openrig/daemon/dist/domain/install-verifier.d.ts.map +0 -1
  1131. package/node_modules/@openrig/daemon/dist/domain/install-verifier.js +0 -146
  1132. package/node_modules/@openrig/daemon/dist/domain/install-verifier.js.map +0 -1
  1133. package/node_modules/@openrig/daemon/dist/domain/instance-initialization.d.ts +0 -25
  1134. package/node_modules/@openrig/daemon/dist/domain/instance-initialization.d.ts.map +0 -1
  1135. package/node_modules/@openrig/daemon/dist/domain/instance-initialization.js +0 -81
  1136. package/node_modules/@openrig/daemon/dist/domain/instance-initialization.js.map +0 -1
  1137. package/node_modules/@openrig/daemon/dist/domain/kernel-boot-tracker.d.ts +0 -74
  1138. package/node_modules/@openrig/daemon/dist/domain/kernel-boot-tracker.d.ts.map +0 -1
  1139. package/node_modules/@openrig/daemon/dist/domain/kernel-boot-tracker.js +0 -213
  1140. package/node_modules/@openrig/daemon/dist/domain/kernel-boot-tracker.js.map +0 -1
  1141. package/node_modules/@openrig/daemon/dist/domain/kernel-boot.d.ts +0 -52
  1142. package/node_modules/@openrig/daemon/dist/domain/kernel-boot.d.ts.map +0 -1
  1143. package/node_modules/@openrig/daemon/dist/domain/kernel-boot.js +0 -147
  1144. package/node_modules/@openrig/daemon/dist/domain/kernel-boot.js.map +0 -1
  1145. package/node_modules/@openrig/daemon/dist/domain/lifecycle-manifest.d.ts +0 -19
  1146. package/node_modules/@openrig/daemon/dist/domain/lifecycle-manifest.d.ts.map +0 -1
  1147. package/node_modules/@openrig/daemon/dist/domain/lifecycle-manifest.js +0 -73
  1148. package/node_modules/@openrig/daemon/dist/domain/lifecycle-manifest.js.map +0 -1
  1149. package/node_modules/@openrig/daemon/dist/domain/lifecycle-obligations.d.ts +0 -18
  1150. package/node_modules/@openrig/daemon/dist/domain/lifecycle-obligations.d.ts.map +0 -1
  1151. package/node_modules/@openrig/daemon/dist/domain/lifecycle-obligations.js +0 -35
  1152. package/node_modules/@openrig/daemon/dist/domain/lifecycle-obligations.js.map +0 -1
  1153. package/node_modules/@openrig/daemon/dist/domain/managed-blocks.d.ts +0 -18
  1154. package/node_modules/@openrig/daemon/dist/domain/managed-blocks.d.ts.map +0 -1
  1155. package/node_modules/@openrig/daemon/dist/domain/managed-blocks.js +0 -80
  1156. package/node_modules/@openrig/daemon/dist/domain/managed-blocks.js.map +0 -1
  1157. package/node_modules/@openrig/daemon/dist/domain/markdown-address.d.ts +0 -56
  1158. package/node_modules/@openrig/daemon/dist/domain/markdown-address.d.ts.map +0 -1
  1159. package/node_modules/@openrig/daemon/dist/domain/markdown-address.js +0 -188
  1160. package/node_modules/@openrig/daemon/dist/domain/markdown-address.js.map +0 -1
  1161. package/node_modules/@openrig/daemon/dist/domain/mission-control/audit-browse.d.ts +0 -34
  1162. package/node_modules/@openrig/daemon/dist/domain/mission-control/audit-browse.d.ts.map +0 -1
  1163. package/node_modules/@openrig/daemon/dist/domain/mission-control/audit-browse.js +0 -121
  1164. package/node_modules/@openrig/daemon/dist/domain/mission-control/audit-browse.js.map +0 -1
  1165. package/node_modules/@openrig/daemon/dist/domain/mission-control/mission-control-action-log.d.ts +0 -56
  1166. package/node_modules/@openrig/daemon/dist/domain/mission-control/mission-control-action-log.d.ts.map +0 -1
  1167. package/node_modules/@openrig/daemon/dist/domain/mission-control/mission-control-action-log.js +0 -168
  1168. package/node_modules/@openrig/daemon/dist/domain/mission-control/mission-control-action-log.js.map +0 -1
  1169. package/node_modules/@openrig/daemon/dist/domain/mission-control/mission-control-fleet-cli-capability.d.ts +0 -131
  1170. package/node_modules/@openrig/daemon/dist/domain/mission-control/mission-control-fleet-cli-capability.d.ts.map +0 -1
  1171. package/node_modules/@openrig/daemon/dist/domain/mission-control/mission-control-fleet-cli-capability.js +0 -232
  1172. package/node_modules/@openrig/daemon/dist/domain/mission-control/mission-control-fleet-cli-capability.js.map +0 -1
  1173. package/node_modules/@openrig/daemon/dist/domain/mission-control/mission-control-read-layer.d.ts +0 -90
  1174. package/node_modules/@openrig/daemon/dist/domain/mission-control/mission-control-read-layer.d.ts.map +0 -1
  1175. package/node_modules/@openrig/daemon/dist/domain/mission-control/mission-control-read-layer.js +0 -282
  1176. package/node_modules/@openrig/daemon/dist/domain/mission-control/mission-control-read-layer.js.map +0 -1
  1177. package/node_modules/@openrig/daemon/dist/domain/mission-control/mission-control-write-contract.d.ts +0 -100
  1178. package/node_modules/@openrig/daemon/dist/domain/mission-control/mission-control-write-contract.d.ts.map +0 -1
  1179. package/node_modules/@openrig/daemon/dist/domain/mission-control/mission-control-write-contract.js +0 -441
  1180. package/node_modules/@openrig/daemon/dist/domain/mission-control/mission-control-write-contract.js.map +0 -1
  1181. package/node_modules/@openrig/daemon/dist/domain/mission-control/notification-adapter-ntfy.d.ts +0 -18
  1182. package/node_modules/@openrig/daemon/dist/domain/mission-control/notification-adapter-ntfy.d.ts.map +0 -1
  1183. package/node_modules/@openrig/daemon/dist/domain/mission-control/notification-adapter-ntfy.js +0 -48
  1184. package/node_modules/@openrig/daemon/dist/domain/mission-control/notification-adapter-ntfy.js.map +0 -1
  1185. package/node_modules/@openrig/daemon/dist/domain/mission-control/notification-adapter-types.d.ts +0 -25
  1186. package/node_modules/@openrig/daemon/dist/domain/mission-control/notification-adapter-types.d.ts.map +0 -1
  1187. package/node_modules/@openrig/daemon/dist/domain/mission-control/notification-adapter-types.js +0 -7
  1188. package/node_modules/@openrig/daemon/dist/domain/mission-control/notification-adapter-types.js.map +0 -1
  1189. package/node_modules/@openrig/daemon/dist/domain/mission-control/notification-adapter-webhook.d.ts +0 -27
  1190. package/node_modules/@openrig/daemon/dist/domain/mission-control/notification-adapter-webhook.d.ts.map +0 -1
  1191. package/node_modules/@openrig/daemon/dist/domain/mission-control/notification-adapter-webhook.js +0 -47
  1192. package/node_modules/@openrig/daemon/dist/domain/mission-control/notification-adapter-webhook.js.map +0 -1
  1193. package/node_modules/@openrig/daemon/dist/domain/mission-control/notification-dispatcher.d.ts +0 -53
  1194. package/node_modules/@openrig/daemon/dist/domain/mission-control/notification-dispatcher.d.ts.map +0 -1
  1195. package/node_modules/@openrig/daemon/dist/domain/mission-control/notification-dispatcher.js +0 -181
  1196. package/node_modules/@openrig/daemon/dist/domain/mission-control/notification-dispatcher.js.map +0 -1
  1197. package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.d.ts +0 -73
  1198. package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +0 -1
  1199. package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.js +0 -178
  1200. package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.js.map +0 -1
  1201. package/node_modules/@openrig/daemon/dist/domain/model-divergence/effective-model-readers.d.ts +0 -14
  1202. package/node_modules/@openrig/daemon/dist/domain/model-divergence/effective-model-readers.d.ts.map +0 -1
  1203. package/node_modules/@openrig/daemon/dist/domain/model-divergence/effective-model-readers.js +0 -165
  1204. package/node_modules/@openrig/daemon/dist/domain/model-divergence/effective-model-readers.js.map +0 -1
  1205. package/node_modules/@openrig/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts +0 -125
  1206. package/node_modules/@openrig/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts.map +0 -1
  1207. package/node_modules/@openrig/daemon/dist/domain/model-divergence/model-divergence-monitor.js +0 -199
  1208. package/node_modules/@openrig/daemon/dist/domain/model-divergence/model-divergence-monitor.js.map +0 -1
  1209. package/node_modules/@openrig/daemon/dist/domain/native-process-lineage.d.ts +0 -33
  1210. package/node_modules/@openrig/daemon/dist/domain/native-process-lineage.d.ts.map +0 -1
  1211. package/node_modules/@openrig/daemon/dist/domain/native-process-lineage.js +0 -166
  1212. package/node_modules/@openrig/daemon/dist/domain/native-process-lineage.js.map +0 -1
  1213. package/node_modules/@openrig/daemon/dist/domain/native-resume-probe.d.ts +0 -22
  1214. package/node_modules/@openrig/daemon/dist/domain/native-resume-probe.d.ts.map +0 -1
  1215. package/node_modules/@openrig/daemon/dist/domain/native-resume-probe.js +0 -293
  1216. package/node_modules/@openrig/daemon/dist/domain/native-resume-probe.js.map +0 -1
  1217. package/node_modules/@openrig/daemon/dist/domain/node-cmux-service.d.ts +0 -22
  1218. package/node_modules/@openrig/daemon/dist/domain/node-cmux-service.d.ts.map +0 -1
  1219. package/node_modules/@openrig/daemon/dist/domain/node-cmux-service.js +0 -119
  1220. package/node_modules/@openrig/daemon/dist/domain/node-cmux-service.js.map +0 -1
  1221. package/node_modules/@openrig/daemon/dist/domain/node-inventory.d.ts +0 -152
  1222. package/node_modules/@openrig/daemon/dist/domain/node-inventory.d.ts.map +0 -1
  1223. package/node_modules/@openrig/daemon/dist/domain/node-inventory.js +0 -1053
  1224. package/node_modules/@openrig/daemon/dist/domain/node-inventory.js.map +0 -1
  1225. package/node_modules/@openrig/daemon/dist/domain/node-launcher.d.ts +0 -70
  1226. package/node_modules/@openrig/daemon/dist/domain/node-launcher.d.ts.map +0 -1
  1227. package/node_modules/@openrig/daemon/dist/domain/node-launcher.js +0 -165
  1228. package/node_modules/@openrig/daemon/dist/domain/node-launcher.js.map +0 -1
  1229. package/node_modules/@openrig/daemon/dist/domain/occupant-invalidator.d.ts +0 -39
  1230. package/node_modules/@openrig/daemon/dist/domain/occupant-invalidator.d.ts.map +0 -1
  1231. package/node_modules/@openrig/daemon/dist/domain/occupant-invalidator.js +0 -55
  1232. package/node_modules/@openrig/daemon/dist/domain/occupant-invalidator.js.map +0 -1
  1233. package/node_modules/@openrig/daemon/dist/domain/outbox-handler.d.ts +0 -117
  1234. package/node_modules/@openrig/daemon/dist/domain/outbox-handler.d.ts.map +0 -1
  1235. package/node_modules/@openrig/daemon/dist/domain/outbox-handler.js +0 -249
  1236. package/node_modules/@openrig/daemon/dist/domain/outbox-handler.js.map +0 -1
  1237. package/node_modules/@openrig/daemon/dist/domain/package-install-service.d.ts +0 -64
  1238. package/node_modules/@openrig/daemon/dist/domain/package-install-service.d.ts.map +0 -1
  1239. package/node_modules/@openrig/daemon/dist/domain/package-install-service.js +0 -80
  1240. package/node_modules/@openrig/daemon/dist/domain/package-install-service.js.map +0 -1
  1241. package/node_modules/@openrig/daemon/dist/domain/package-manifest.d.ts +0 -93
  1242. package/node_modules/@openrig/daemon/dist/domain/package-manifest.d.ts.map +0 -1
  1243. package/node_modules/@openrig/daemon/dist/domain/package-manifest.js +0 -407
  1244. package/node_modules/@openrig/daemon/dist/domain/package-manifest.js.map +0 -1
  1245. package/node_modules/@openrig/daemon/dist/domain/package-repository.d.ts +0 -33
  1246. package/node_modules/@openrig/daemon/dist/domain/package-repository.d.ts.map +0 -1
  1247. package/node_modules/@openrig/daemon/dist/domain/package-repository.js +0 -63
  1248. package/node_modules/@openrig/daemon/dist/domain/package-repository.js.map +0 -1
  1249. package/node_modules/@openrig/daemon/dist/domain/package-resolve-helper.d.ts +0 -19
  1250. package/node_modules/@openrig/daemon/dist/domain/package-resolve-helper.d.ts.map +0 -1
  1251. package/node_modules/@openrig/daemon/dist/domain/package-resolve-helper.js +0 -47
  1252. package/node_modules/@openrig/daemon/dist/domain/package-resolve-helper.js.map +0 -1
  1253. package/node_modules/@openrig/daemon/dist/domain/package-resolver.d.ts +0 -19
  1254. package/node_modules/@openrig/daemon/dist/domain/package-resolver.d.ts.map +0 -1
  1255. package/node_modules/@openrig/daemon/dist/domain/package-resolver.js +0 -35
  1256. package/node_modules/@openrig/daemon/dist/domain/package-resolver.js.map +0 -1
  1257. package/node_modules/@openrig/daemon/dist/domain/pane-binding-observation.d.ts +0 -22
  1258. package/node_modules/@openrig/daemon/dist/domain/pane-binding-observation.d.ts.map +0 -1
  1259. package/node_modules/@openrig/daemon/dist/domain/pane-binding-observation.js +0 -54
  1260. package/node_modules/@openrig/daemon/dist/domain/pane-binding-observation.js.map +0 -1
  1261. package/node_modules/@openrig/daemon/dist/domain/parked-query.d.ts +0 -83
  1262. package/node_modules/@openrig/daemon/dist/domain/parked-query.d.ts.map +0 -1
  1263. package/node_modules/@openrig/daemon/dist/domain/parked-query.js +0 -128
  1264. package/node_modules/@openrig/daemon/dist/domain/parked-query.js.map +0 -1
  1265. package/node_modules/@openrig/daemon/dist/domain/path-safety.d.ts +0 -8
  1266. package/node_modules/@openrig/daemon/dist/domain/path-safety.d.ts.map +0 -1
  1267. package/node_modules/@openrig/daemon/dist/domain/path-safety.js +0 -24
  1268. package/node_modules/@openrig/daemon/dist/domain/path-safety.js.map +0 -1
  1269. package/node_modules/@openrig/daemon/dist/domain/periodic-snapshot-scheduler.d.ts +0 -29
  1270. package/node_modules/@openrig/daemon/dist/domain/periodic-snapshot-scheduler.d.ts.map +0 -1
  1271. package/node_modules/@openrig/daemon/dist/domain/periodic-snapshot-scheduler.js +0 -80
  1272. package/node_modules/@openrig/daemon/dist/domain/periodic-snapshot-scheduler.js.map +0 -1
  1273. package/node_modules/@openrig/daemon/dist/domain/permission-drift-observer.d.ts +0 -35
  1274. package/node_modules/@openrig/daemon/dist/domain/permission-drift-observer.d.ts.map +0 -1
  1275. package/node_modules/@openrig/daemon/dist/domain/permission-drift-observer.js +0 -113
  1276. package/node_modules/@openrig/daemon/dist/domain/permission-drift-observer.js.map +0 -1
  1277. package/node_modules/@openrig/daemon/dist/domain/permission-drift.d.ts +0 -60
  1278. package/node_modules/@openrig/daemon/dist/domain/permission-drift.d.ts.map +0 -1
  1279. package/node_modules/@openrig/daemon/dist/domain/permission-drift.js +0 -208
  1280. package/node_modules/@openrig/daemon/dist/domain/permission-drift.js.map +0 -1
  1281. package/node_modules/@openrig/daemon/dist/domain/permission-policy/policy-ref.d.ts +0 -89
  1282. package/node_modules/@openrig/daemon/dist/domain/permission-policy/policy-ref.d.ts.map +0 -1
  1283. package/node_modules/@openrig/daemon/dist/domain/permission-policy/policy-ref.js +0 -171
  1284. package/node_modules/@openrig/daemon/dist/domain/permission-policy/policy-ref.js.map +0 -1
  1285. package/node_modules/@openrig/daemon/dist/domain/permission-policy/policy-spec.d.ts +0 -34
  1286. package/node_modules/@openrig/daemon/dist/domain/permission-policy/policy-spec.d.ts.map +0 -1
  1287. package/node_modules/@openrig/daemon/dist/domain/permission-policy/policy-spec.js +0 -106
  1288. package/node_modules/@openrig/daemon/dist/domain/permission-policy/policy-spec.js.map +0 -1
  1289. package/node_modules/@openrig/daemon/dist/domain/plugin-discovery-service.d.ts +0 -166
  1290. package/node_modules/@openrig/daemon/dist/domain/plugin-discovery-service.d.ts.map +0 -1
  1291. package/node_modules/@openrig/daemon/dist/domain/plugin-discovery-service.js +0 -642
  1292. package/node_modules/@openrig/daemon/dist/domain/plugin-discovery-service.js.map +0 -1
  1293. package/node_modules/@openrig/daemon/dist/domain/plugin-vendor-service.d.ts +0 -74
  1294. package/node_modules/@openrig/daemon/dist/domain/plugin-vendor-service.d.ts.map +0 -1
  1295. package/node_modules/@openrig/daemon/dist/domain/plugin-vendor-service.js +0 -247
  1296. package/node_modules/@openrig/daemon/dist/domain/plugin-vendor-service.js.map +0 -1
  1297. package/node_modules/@openrig/daemon/dist/domain/pod-bundle-assembler.d.ts +0 -58
  1298. package/node_modules/@openrig/daemon/dist/domain/pod-bundle-assembler.d.ts.map +0 -1
  1299. package/node_modules/@openrig/daemon/dist/domain/pod-bundle-assembler.js +0 -225
  1300. package/node_modules/@openrig/daemon/dist/domain/pod-bundle-assembler.js.map +0 -1
  1301. package/node_modules/@openrig/daemon/dist/domain/pod-repository.d.ts +0 -47
  1302. package/node_modules/@openrig/daemon/dist/domain/pod-repository.d.ts.map +0 -1
  1303. package/node_modules/@openrig/daemon/dist/domain/pod-repository.js +0 -90
  1304. package/node_modules/@openrig/daemon/dist/domain/pod-repository.js.map +0 -1
  1305. package/node_modules/@openrig/daemon/dist/domain/policies/artifact-pool-helpers.d.ts +0 -64
  1306. package/node_modules/@openrig/daemon/dist/domain/policies/artifact-pool-helpers.d.ts.map +0 -1
  1307. package/node_modules/@openrig/daemon/dist/domain/policies/artifact-pool-helpers.js +0 -226
  1308. package/node_modules/@openrig/daemon/dist/domain/policies/artifact-pool-helpers.js.map +0 -1
  1309. package/node_modules/@openrig/daemon/dist/domain/policies/artifact-pool-ready.d.ts +0 -3
  1310. package/node_modules/@openrig/daemon/dist/domain/policies/artifact-pool-ready.d.ts.map +0 -1
  1311. package/node_modules/@openrig/daemon/dist/domain/policies/artifact-pool-ready.js +0 -41
  1312. package/node_modules/@openrig/daemon/dist/domain/policies/artifact-pool-ready.js.map +0 -1
  1313. package/node_modules/@openrig/daemon/dist/domain/policies/context-usage-threshold.d.ts +0 -7
  1314. package/node_modules/@openrig/daemon/dist/domain/policies/context-usage-threshold.d.ts.map +0 -1
  1315. package/node_modules/@openrig/daemon/dist/domain/policies/context-usage-threshold.js +0 -99
  1316. package/node_modules/@openrig/daemon/dist/domain/policies/context-usage-threshold.js.map +0 -1
  1317. package/node_modules/@openrig/daemon/dist/domain/policies/delivery-deferral.d.ts +0 -54
  1318. package/node_modules/@openrig/daemon/dist/domain/policies/delivery-deferral.d.ts.map +0 -1
  1319. package/node_modules/@openrig/daemon/dist/domain/policies/delivery-deferral.js +0 -153
  1320. package/node_modules/@openrig/daemon/dist/domain/policies/delivery-deferral.js.map +0 -1
  1321. package/node_modules/@openrig/daemon/dist/domain/policies/delivery-digest-flush.d.ts +0 -45
  1322. package/node_modules/@openrig/daemon/dist/domain/policies/delivery-digest-flush.d.ts.map +0 -1
  1323. package/node_modules/@openrig/daemon/dist/domain/policies/delivery-digest-flush.js +0 -114
  1324. package/node_modules/@openrig/daemon/dist/domain/policies/delivery-digest-flush.js.map +0 -1
  1325. package/node_modules/@openrig/daemon/dist/domain/policies/edge-artifact-required.d.ts +0 -3
  1326. package/node_modules/@openrig/daemon/dist/domain/policies/edge-artifact-required.d.ts.map +0 -1
  1327. package/node_modules/@openrig/daemon/dist/domain/policies/edge-artifact-required.js +0 -90
  1328. package/node_modules/@openrig/daemon/dist/domain/policies/edge-artifact-required.js.map +0 -1
  1329. package/node_modules/@openrig/daemon/dist/domain/policies/idle-gate-qitem.d.ts +0 -14
  1330. package/node_modules/@openrig/daemon/dist/domain/policies/idle-gate-qitem.d.ts.map +0 -1
  1331. package/node_modules/@openrig/daemon/dist/domain/policies/idle-gate-qitem.js +0 -222
  1332. package/node_modules/@openrig/daemon/dist/domain/policies/idle-gate-qitem.js.map +0 -1
  1333. package/node_modules/@openrig/daemon/dist/domain/policies/parked-owner-consumer.d.ts +0 -67
  1334. package/node_modules/@openrig/daemon/dist/domain/policies/parked-owner-consumer.d.ts.map +0 -1
  1335. package/node_modules/@openrig/daemon/dist/domain/policies/parked-owner-consumer.js +0 -244
  1336. package/node_modules/@openrig/daemon/dist/domain/policies/parked-owner-consumer.js.map +0 -1
  1337. package/node_modules/@openrig/daemon/dist/domain/policies/periodic-reminder.d.ts +0 -3
  1338. package/node_modules/@openrig/daemon/dist/domain/policies/periodic-reminder.d.ts.map +0 -1
  1339. package/node_modules/@openrig/daemon/dist/domain/policies/periodic-reminder.js +0 -30
  1340. package/node_modules/@openrig/daemon/dist/domain/policies/periodic-reminder.js.map +0 -1
  1341. package/node_modules/@openrig/daemon/dist/domain/policies/types.d.ts +0 -71
  1342. package/node_modules/@openrig/daemon/dist/domain/policies/types.d.ts.map +0 -1
  1343. package/node_modules/@openrig/daemon/dist/domain/policies/types.js +0 -9
  1344. package/node_modules/@openrig/daemon/dist/domain/policies/types.js.map +0 -1
  1345. package/node_modules/@openrig/daemon/dist/domain/policies/workflow-keepalive.d.ts +0 -15
  1346. package/node_modules/@openrig/daemon/dist/domain/policies/workflow-keepalive.d.ts.map +0 -1
  1347. package/node_modules/@openrig/daemon/dist/domain/policies/workflow-keepalive.js +0 -227
  1348. package/node_modules/@openrig/daemon/dist/domain/policies/workflow-keepalive.js.map +0 -1
  1349. package/node_modules/@openrig/daemon/dist/domain/predecessor-recap-resolver.d.ts +0 -26
  1350. package/node_modules/@openrig/daemon/dist/domain/predecessor-recap-resolver.d.ts.map +0 -1
  1351. package/node_modules/@openrig/daemon/dist/domain/predecessor-recap-resolver.js +0 -73
  1352. package/node_modules/@openrig/daemon/dist/domain/predecessor-recap-resolver.js.map +0 -1
  1353. package/node_modules/@openrig/daemon/dist/domain/preview/preview-rate-limiter.d.ts +0 -20
  1354. package/node_modules/@openrig/daemon/dist/domain/preview/preview-rate-limiter.d.ts.map +0 -1
  1355. package/node_modules/@openrig/daemon/dist/domain/preview/preview-rate-limiter.js +0 -46
  1356. package/node_modules/@openrig/daemon/dist/domain/preview/preview-rate-limiter.js.map +0 -1
  1357. package/node_modules/@openrig/daemon/dist/domain/process-census.d.ts +0 -25
  1358. package/node_modules/@openrig/daemon/dist/domain/process-census.d.ts.map +0 -1
  1359. package/node_modules/@openrig/daemon/dist/domain/process-census.js +0 -47
  1360. package/node_modules/@openrig/daemon/dist/domain/process-census.js.map +0 -1
  1361. package/node_modules/@openrig/daemon/dist/domain/profile-resolver.d.ts +0 -83
  1362. package/node_modules/@openrig/daemon/dist/domain/profile-resolver.d.ts.map +0 -1
  1363. package/node_modules/@openrig/daemon/dist/domain/profile-resolver.js +0 -382
  1364. package/node_modules/@openrig/daemon/dist/domain/profile-resolver.js.map +0 -1
  1365. package/node_modules/@openrig/daemon/dist/domain/progress/progress-indexer.d.ts +0 -73
  1366. package/node_modules/@openrig/daemon/dist/domain/progress/progress-indexer.d.ts.map +0 -1
  1367. package/node_modules/@openrig/daemon/dist/domain/progress/progress-indexer.js +0 -210
  1368. package/node_modules/@openrig/daemon/dist/domain/progress/progress-indexer.js.map +0 -1
  1369. package/node_modules/@openrig/daemon/dist/domain/project-classifier.d.ts +0 -75
  1370. package/node_modules/@openrig/daemon/dist/domain/project-classifier.d.ts.map +0 -1
  1371. package/node_modules/@openrig/daemon/dist/domain/project-classifier.js +0 -132
  1372. package/node_modules/@openrig/daemon/dist/domain/project-classifier.js.map +0 -1
  1373. package/node_modules/@openrig/daemon/dist/domain/project-lifecycle-compiler.d.ts +0 -44
  1374. package/node_modules/@openrig/daemon/dist/domain/project-lifecycle-compiler.d.ts.map +0 -1
  1375. package/node_modules/@openrig/daemon/dist/domain/project-lifecycle-compiler.js +0 -317
  1376. package/node_modules/@openrig/daemon/dist/domain/project-lifecycle-compiler.js.map +0 -1
  1377. package/node_modules/@openrig/daemon/dist/domain/projection-lane.d.ts +0 -7
  1378. package/node_modules/@openrig/daemon/dist/domain/projection-lane.d.ts.map +0 -1
  1379. package/node_modules/@openrig/daemon/dist/domain/projection-lane.js +0 -28
  1380. package/node_modules/@openrig/daemon/dist/domain/projection-lane.js.map +0 -1
  1381. package/node_modules/@openrig/daemon/dist/domain/projection-manifest-store.d.ts +0 -39
  1382. package/node_modules/@openrig/daemon/dist/domain/projection-manifest-store.d.ts.map +0 -1
  1383. package/node_modules/@openrig/daemon/dist/domain/projection-manifest-store.js +0 -60
  1384. package/node_modules/@openrig/daemon/dist/domain/projection-manifest-store.js.map +0 -1
  1385. package/node_modules/@openrig/daemon/dist/domain/projection-planner.d.ts +0 -92
  1386. package/node_modules/@openrig/daemon/dist/domain/projection-planner.d.ts.map +0 -1
  1387. package/node_modules/@openrig/daemon/dist/domain/projection-planner.js +0 -249
  1388. package/node_modules/@openrig/daemon/dist/domain/projection-planner.js.map +0 -1
  1389. package/node_modules/@openrig/daemon/dist/domain/proof/judgments.d.ts +0 -145
  1390. package/node_modules/@openrig/daemon/dist/domain/proof/judgments.d.ts.map +0 -1
  1391. package/node_modules/@openrig/daemon/dist/domain/proof/judgments.js +0 -379
  1392. package/node_modules/@openrig/daemon/dist/domain/proof/judgments.js.map +0 -1
  1393. package/node_modules/@openrig/daemon/dist/domain/proof/source-watch.d.ts +0 -17
  1394. package/node_modules/@openrig/daemon/dist/domain/proof/source-watch.d.ts.map +0 -1
  1395. package/node_modules/@openrig/daemon/dist/domain/proof/source-watch.js +0 -60
  1396. package/node_modules/@openrig/daemon/dist/domain/proof/source-watch.js.map +0 -1
  1397. package/node_modules/@openrig/daemon/dist/domain/provider/claude-usage-reader.d.ts +0 -44
  1398. package/node_modules/@openrig/daemon/dist/domain/provider/claude-usage-reader.d.ts.map +0 -1
  1399. package/node_modules/@openrig/daemon/dist/domain/provider/claude-usage-reader.js +0 -122
  1400. package/node_modules/@openrig/daemon/dist/domain/provider/claude-usage-reader.js.map +0 -1
  1401. package/node_modules/@openrig/daemon/dist/domain/provider/codex-auth-reader.d.ts +0 -18
  1402. package/node_modules/@openrig/daemon/dist/domain/provider/codex-auth-reader.d.ts.map +0 -1
  1403. package/node_modules/@openrig/daemon/dist/domain/provider/codex-auth-reader.js +0 -64
  1404. package/node_modules/@openrig/daemon/dist/domain/provider/codex-auth-reader.js.map +0 -1
  1405. package/node_modules/@openrig/daemon/dist/domain/provider/host-usage-rollup.d.ts +0 -51
  1406. package/node_modules/@openrig/daemon/dist/domain/provider/host-usage-rollup.d.ts.map +0 -1
  1407. package/node_modules/@openrig/daemon/dist/domain/provider/host-usage-rollup.js +0 -162
  1408. package/node_modules/@openrig/daemon/dist/domain/provider/host-usage-rollup.js.map +0 -1
  1409. package/node_modules/@openrig/daemon/dist/domain/provider/provider-collect.d.ts +0 -22
  1410. package/node_modules/@openrig/daemon/dist/domain/provider/provider-collect.d.ts.map +0 -1
  1411. package/node_modules/@openrig/daemon/dist/domain/provider/provider-collect.js +0 -74
  1412. package/node_modules/@openrig/daemon/dist/domain/provider/provider-collect.js.map +0 -1
  1413. package/node_modules/@openrig/daemon/dist/domain/provider/provider-policy.d.ts +0 -38
  1414. package/node_modules/@openrig/daemon/dist/domain/provider/provider-policy.d.ts.map +0 -1
  1415. package/node_modules/@openrig/daemon/dist/domain/provider/provider-policy.js +0 -76
  1416. package/node_modules/@openrig/daemon/dist/domain/provider/provider-policy.js.map +0 -1
  1417. package/node_modules/@openrig/daemon/dist/domain/provider/provider-read-model.d.ts +0 -28
  1418. package/node_modules/@openrig/daemon/dist/domain/provider/provider-read-model.d.ts.map +0 -1
  1419. package/node_modules/@openrig/daemon/dist/domain/provider/provider-read-model.js +0 -68
  1420. package/node_modules/@openrig/daemon/dist/domain/provider/provider-read-model.js.map +0 -1
  1421. package/node_modules/@openrig/daemon/dist/domain/provider/provider-service-impl.d.ts +0 -28
  1422. package/node_modules/@openrig/daemon/dist/domain/provider/provider-service-impl.d.ts.map +0 -1
  1423. package/node_modules/@openrig/daemon/dist/domain/provider/provider-service-impl.js +0 -91
  1424. package/node_modules/@openrig/daemon/dist/domain/provider/provider-service-impl.js.map +0 -1
  1425. package/node_modules/@openrig/daemon/dist/domain/provider/provider-service.d.ts +0 -33
  1426. package/node_modules/@openrig/daemon/dist/domain/provider/provider-service.d.ts.map +0 -1
  1427. package/node_modules/@openrig/daemon/dist/domain/provider/provider-service.js +0 -6
  1428. package/node_modules/@openrig/daemon/dist/domain/provider/provider-service.js.map +0 -1
  1429. package/node_modules/@openrig/daemon/dist/domain/provider/provider-signals.d.ts +0 -95
  1430. package/node_modules/@openrig/daemon/dist/domain/provider/provider-signals.d.ts.map +0 -1
  1431. package/node_modules/@openrig/daemon/dist/domain/provider/provider-signals.js +0 -208
  1432. package/node_modules/@openrig/daemon/dist/domain/provider/provider-signals.js.map +0 -1
  1433. package/node_modules/@openrig/daemon/dist/domain/provider/provider-types.d.ts +0 -101
  1434. package/node_modules/@openrig/daemon/dist/domain/provider/provider-types.d.ts.map +0 -1
  1435. package/node_modules/@openrig/daemon/dist/domain/provider/provider-types.js +0 -7
  1436. package/node_modules/@openrig/daemon/dist/domain/provider/provider-types.js.map +0 -1
  1437. package/node_modules/@openrig/daemon/dist/domain/provider/reactive-tap.d.ts +0 -50
  1438. package/node_modules/@openrig/daemon/dist/domain/provider/reactive-tap.d.ts.map +0 -1
  1439. package/node_modules/@openrig/daemon/dist/domain/provider/reactive-tap.js +0 -126
  1440. package/node_modules/@openrig/daemon/dist/domain/provider/reactive-tap.js.map +0 -1
  1441. package/node_modules/@openrig/daemon/dist/domain/ps-projection.d.ts +0 -137
  1442. package/node_modules/@openrig/daemon/dist/domain/ps-projection.d.ts.map +0 -1
  1443. package/node_modules/@openrig/daemon/dist/domain/ps-projection.js +0 -256
  1444. package/node_modules/@openrig/daemon/dist/domain/ps-projection.js.map +0 -1
  1445. package/node_modules/@openrig/daemon/dist/domain/queue-owner.d.ts +0 -12
  1446. package/node_modules/@openrig/daemon/dist/domain/queue-owner.d.ts.map +0 -1
  1447. package/node_modules/@openrig/daemon/dist/domain/queue-owner.js +0 -28
  1448. package/node_modules/@openrig/daemon/dist/domain/queue-owner.js.map +0 -1
  1449. package/node_modules/@openrig/daemon/dist/domain/queue-pickup.d.ts +0 -41
  1450. package/node_modules/@openrig/daemon/dist/domain/queue-pickup.d.ts.map +0 -1
  1451. package/node_modules/@openrig/daemon/dist/domain/queue-pickup.js +0 -71
  1452. package/node_modules/@openrig/daemon/dist/domain/queue-pickup.js.map +0 -1
  1453. package/node_modules/@openrig/daemon/dist/domain/queue-recovery.d.ts +0 -10
  1454. package/node_modules/@openrig/daemon/dist/domain/queue-recovery.d.ts.map +0 -1
  1455. package/node_modules/@openrig/daemon/dist/domain/queue-recovery.js +0 -27
  1456. package/node_modules/@openrig/daemon/dist/domain/queue-recovery.js.map +0 -1
  1457. package/node_modules/@openrig/daemon/dist/domain/queue-repository.d.ts +0 -962
  1458. package/node_modules/@openrig/daemon/dist/domain/queue-repository.d.ts.map +0 -1
  1459. package/node_modules/@openrig/daemon/dist/domain/queue-repository.js +0 -2840
  1460. package/node_modules/@openrig/daemon/dist/domain/queue-repository.js.map +0 -1
  1461. package/node_modules/@openrig/daemon/dist/domain/queue-retention.d.ts +0 -145
  1462. package/node_modules/@openrig/daemon/dist/domain/queue-retention.d.ts.map +0 -1
  1463. package/node_modules/@openrig/daemon/dist/domain/queue-retention.js +0 -264
  1464. package/node_modules/@openrig/daemon/dist/domain/queue-retention.js.map +0 -1
  1465. package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.d.ts +0 -91
  1466. package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.d.ts.map +0 -1
  1467. package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.js +0 -485
  1468. package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.js.map +0 -1
  1469. package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.d.ts +0 -91
  1470. package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.d.ts.map +0 -1
  1471. package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.js +0 -265
  1472. package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.js.map +0 -1
  1473. package/node_modules/@openrig/daemon/dist/domain/queue-wait-backoff.d.ts +0 -48
  1474. package/node_modules/@openrig/daemon/dist/domain/queue-wait-backoff.d.ts.map +0 -1
  1475. package/node_modules/@openrig/daemon/dist/domain/queue-wait-backoff.js +0 -155
  1476. package/node_modules/@openrig/daemon/dist/domain/queue-wait-backoff.js.map +0 -1
  1477. package/node_modules/@openrig/daemon/dist/domain/queue-waiting.d.ts +0 -61
  1478. package/node_modules/@openrig/daemon/dist/domain/queue-waiting.d.ts.map +0 -1
  1479. package/node_modules/@openrig/daemon/dist/domain/queue-waiting.js +0 -108
  1480. package/node_modules/@openrig/daemon/dist/domain/queue-waiting.js.map +0 -1
  1481. package/node_modules/@openrig/daemon/dist/domain/queue-wake-ladder.d.ts +0 -123
  1482. package/node_modules/@openrig/daemon/dist/domain/queue-wake-ladder.d.ts.map +0 -1
  1483. package/node_modules/@openrig/daemon/dist/domain/queue-wake-ladder.js +0 -765
  1484. package/node_modules/@openrig/daemon/dist/domain/queue-wake-ladder.js.map +0 -1
  1485. package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.d.ts +0 -75
  1486. package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.d.ts.map +0 -1
  1487. package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.js +0 -168
  1488. package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.js.map +0 -1
  1489. package/node_modules/@openrig/daemon/dist/domain/rebuild-priming-chain.d.ts +0 -28
  1490. package/node_modules/@openrig/daemon/dist/domain/rebuild-priming-chain.d.ts.map +0 -1
  1491. package/node_modules/@openrig/daemon/dist/domain/rebuild-priming-chain.js +0 -71
  1492. package/node_modules/@openrig/daemon/dist/domain/rebuild-priming-chain.js.map +0 -1
  1493. package/node_modules/@openrig/daemon/dist/domain/reconciler.d.ts +0 -28
  1494. package/node_modules/@openrig/daemon/dist/domain/reconciler.d.ts.map +0 -1
  1495. package/node_modules/@openrig/daemon/dist/domain/reconciler.js +0 -74
  1496. package/node_modules/@openrig/daemon/dist/domain/reconciler.js.map +0 -1
  1497. package/node_modules/@openrig/daemon/dist/domain/rehydrate-eligibility.d.ts +0 -26
  1498. package/node_modules/@openrig/daemon/dist/domain/rehydrate-eligibility.d.ts.map +0 -1
  1499. package/node_modules/@openrig/daemon/dist/domain/rehydrate-eligibility.js +0 -79
  1500. package/node_modules/@openrig/daemon/dist/domain/rehydrate-eligibility.js.map +0 -1
  1501. package/node_modules/@openrig/daemon/dist/domain/requirements-probe.d.ts +0 -63
  1502. package/node_modules/@openrig/daemon/dist/domain/requirements-probe.d.ts.map +0 -1
  1503. package/node_modules/@openrig/daemon/dist/domain/requirements-probe.js +0 -172
  1504. package/node_modules/@openrig/daemon/dist/domain/requirements-probe.js.map +0 -1
  1505. package/node_modules/@openrig/daemon/dist/domain/restore-attempt-receipt.d.ts +0 -34
  1506. package/node_modules/@openrig/daemon/dist/domain/restore-attempt-receipt.d.ts.map +0 -1
  1507. package/node_modules/@openrig/daemon/dist/domain/restore-attempt-receipt.js +0 -59
  1508. package/node_modules/@openrig/daemon/dist/domain/restore-attempt-receipt.js.map +0 -1
  1509. package/node_modules/@openrig/daemon/dist/domain/restore-check-service.d.ts +0 -221
  1510. package/node_modules/@openrig/daemon/dist/domain/restore-check-service.d.ts.map +0 -1
  1511. package/node_modules/@openrig/daemon/dist/domain/restore-check-service.js +0 -1139
  1512. package/node_modules/@openrig/daemon/dist/domain/restore-check-service.js.map +0 -1
  1513. package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.d.ts +0 -222
  1514. package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.d.ts.map +0 -1
  1515. package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.js +0 -1567
  1516. package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.js.map +0 -1
  1517. package/node_modules/@openrig/daemon/dist/domain/restore-plan-preview.d.ts +0 -74
  1518. package/node_modules/@openrig/daemon/dist/domain/restore-plan-preview.d.ts.map +0 -1
  1519. package/node_modules/@openrig/daemon/dist/domain/restore-plan-preview.js +0 -177
  1520. package/node_modules/@openrig/daemon/dist/domain/restore-plan-preview.js.map +0 -1
  1521. package/node_modules/@openrig/daemon/dist/domain/restore-topology.d.ts +0 -14
  1522. package/node_modules/@openrig/daemon/dist/domain/restore-topology.d.ts.map +0 -1
  1523. package/node_modules/@openrig/daemon/dist/domain/restore-topology.js +0 -27
  1524. package/node_modules/@openrig/daemon/dist/domain/restore-topology.js.map +0 -1
  1525. package/node_modules/@openrig/daemon/dist/domain/resume-metadata-refresher.d.ts +0 -122
  1526. package/node_modules/@openrig/daemon/dist/domain/resume-metadata-refresher.d.ts.map +0 -1
  1527. package/node_modules/@openrig/daemon/dist/domain/resume-metadata-refresher.js +0 -317
  1528. package/node_modules/@openrig/daemon/dist/domain/resume-metadata-refresher.js.map +0 -1
  1529. package/node_modules/@openrig/daemon/dist/domain/resume-token-capture.d.ts +0 -63
  1530. package/node_modules/@openrig/daemon/dist/domain/resume-token-capture.d.ts.map +0 -1
  1531. package/node_modules/@openrig/daemon/dist/domain/resume-token-capture.js +0 -76
  1532. package/node_modules/@openrig/daemon/dist/domain/resume-token-capture.js.map +0 -1
  1533. package/node_modules/@openrig/daemon/dist/domain/resume-token-validation.d.ts +0 -17
  1534. package/node_modules/@openrig/daemon/dist/domain/resume-token-validation.d.ts.map +0 -1
  1535. package/node_modules/@openrig/daemon/dist/domain/resume-token-validation.js +0 -94
  1536. package/node_modules/@openrig/daemon/dist/domain/resume-token-validation.js.map +0 -1
  1537. package/node_modules/@openrig/daemon/dist/domain/review/brief-spine.d.ts +0 -19
  1538. package/node_modules/@openrig/daemon/dist/domain/review/brief-spine.d.ts.map +0 -1
  1539. package/node_modules/@openrig/daemon/dist/domain/review/brief-spine.js +0 -86
  1540. package/node_modules/@openrig/daemon/dist/domain/review/brief-spine.js.map +0 -1
  1541. package/node_modules/@openrig/daemon/dist/domain/review/compose.d.ts +0 -339
  1542. package/node_modules/@openrig/daemon/dist/domain/review/compose.d.ts.map +0 -1
  1543. package/node_modules/@openrig/daemon/dist/domain/review/compose.js +0 -997
  1544. package/node_modules/@openrig/daemon/dist/domain/review/compose.js.map +0 -1
  1545. package/node_modules/@openrig/daemon/dist/domain/review/fleet-compose.d.ts +0 -53
  1546. package/node_modules/@openrig/daemon/dist/domain/review/fleet-compose.d.ts.map +0 -1
  1547. package/node_modules/@openrig/daemon/dist/domain/review/fleet-compose.js +0 -308
  1548. package/node_modules/@openrig/daemon/dist/domain/review/fleet-compose.js.map +0 -1
  1549. package/node_modules/@openrig/daemon/dist/domain/review/freeze.d.ts +0 -34
  1550. package/node_modules/@openrig/daemon/dist/domain/review/freeze.d.ts.map +0 -1
  1551. package/node_modules/@openrig/daemon/dist/domain/review/freeze.js +0 -257
  1552. package/node_modules/@openrig/daemon/dist/domain/review/freeze.js.map +0 -1
  1553. package/node_modules/@openrig/daemon/dist/domain/review/gather.d.ts +0 -115
  1554. package/node_modules/@openrig/daemon/dist/domain/review/gather.d.ts.map +0 -1
  1555. package/node_modules/@openrig/daemon/dist/domain/review/gather.js +0 -845
  1556. package/node_modules/@openrig/daemon/dist/domain/review/gather.js.map +0 -1
  1557. package/node_modules/@openrig/daemon/dist/domain/review/proof-io.d.ts +0 -2
  1558. package/node_modules/@openrig/daemon/dist/domain/review/proof-io.d.ts.map +0 -1
  1559. package/node_modules/@openrig/daemon/dist/domain/review/proof-io.js +0 -38
  1560. package/node_modules/@openrig/daemon/dist/domain/review/proof-io.js.map +0 -1
  1561. package/node_modules/@openrig/daemon/dist/domain/review/types.d.ts +0 -363
  1562. package/node_modules/@openrig/daemon/dist/domain/review/types.d.ts.map +0 -1
  1563. package/node_modules/@openrig/daemon/dist/domain/review/types.js +0 -35
  1564. package/node_modules/@openrig/daemon/dist/domain/review/types.js.map +0 -1
  1565. package/node_modules/@openrig/daemon/dist/domain/rig-expansion-service.d.ts +0 -27
  1566. package/node_modules/@openrig/daemon/dist/domain/rig-expansion-service.d.ts.map +0 -1
  1567. package/node_modules/@openrig/daemon/dist/domain/rig-expansion-service.js +0 -149
  1568. package/node_modules/@openrig/daemon/dist/domain/rig-expansion-service.js.map +0 -1
  1569. package/node_modules/@openrig/daemon/dist/domain/rig-lifecycle-service.d.ts +0 -120
  1570. package/node_modules/@openrig/daemon/dist/domain/rig-lifecycle-service.d.ts.map +0 -1
  1571. package/node_modules/@openrig/daemon/dist/domain/rig-lifecycle-service.js +0 -540
  1572. package/node_modules/@openrig/daemon/dist/domain/rig-lifecycle-service.js.map +0 -1
  1573. package/node_modules/@openrig/daemon/dist/domain/rig-mode/operating-posture.d.ts +0 -49
  1574. package/node_modules/@openrig/daemon/dist/domain/rig-mode/operating-posture.d.ts.map +0 -1
  1575. package/node_modules/@openrig/daemon/dist/domain/rig-mode/operating-posture.js +0 -255
  1576. package/node_modules/@openrig/daemon/dist/domain/rig-mode/operating-posture.js.map +0 -1
  1577. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-defaults.d.ts +0 -48
  1578. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-defaults.d.ts.map +0 -1
  1579. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-defaults.js +0 -116
  1580. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-defaults.js.map +0 -1
  1581. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-store.d.ts +0 -46
  1582. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-store.d.ts.map +0 -1
  1583. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-store.js +0 -187
  1584. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-store.js.map +0 -1
  1585. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-types.d.ts +0 -150
  1586. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-types.d.ts.map +0 -1
  1587. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-types.js +0 -63
  1588. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-types.js.map +0 -1
  1589. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-validator.d.ts +0 -58
  1590. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-validator.d.ts.map +0 -1
  1591. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-validator.js +0 -211
  1592. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-validator.js.map +0 -1
  1593. package/node_modules/@openrig/daemon/dist/domain/rig-repository.d.ts +0 -160
  1594. package/node_modules/@openrig/daemon/dist/domain/rig-repository.d.ts.map +0 -1
  1595. package/node_modules/@openrig/daemon/dist/domain/rig-repository.js +0 -496
  1596. package/node_modules/@openrig/daemon/dist/domain/rig-repository.js.map +0 -1
  1597. package/node_modules/@openrig/daemon/dist/domain/rig-status-compose.d.ts +0 -62
  1598. package/node_modules/@openrig/daemon/dist/domain/rig-status-compose.d.ts.map +0 -1
  1599. package/node_modules/@openrig/daemon/dist/domain/rig-status-compose.js +0 -149
  1600. package/node_modules/@openrig/daemon/dist/domain/rig-status-compose.js.map +0 -1
  1601. package/node_modules/@openrig/daemon/dist/domain/rig-teardown.d.ts +0 -56
  1602. package/node_modules/@openrig/daemon/dist/domain/rig-teardown.d.ts.map +0 -1
  1603. package/node_modules/@openrig/daemon/dist/domain/rig-teardown.js +0 -184
  1604. package/node_modules/@openrig/daemon/dist/domain/rig-teardown.js.map +0 -1
  1605. package/node_modules/@openrig/daemon/dist/domain/rigspec-codec.d.ts +0 -17
  1606. package/node_modules/@openrig/daemon/dist/domain/rigspec-codec.d.ts.map +0 -1
  1607. package/node_modules/@openrig/daemon/dist/domain/rigspec-codec.js +0 -250
  1608. package/node_modules/@openrig/daemon/dist/domain/rigspec-codec.js.map +0 -1
  1609. package/node_modules/@openrig/daemon/dist/domain/rigspec-exporter.d.ts +0 -21
  1610. package/node_modules/@openrig/daemon/dist/domain/rigspec-exporter.d.ts.map +0 -1
  1611. package/node_modules/@openrig/daemon/dist/domain/rigspec-exporter.js +0 -204
  1612. package/node_modules/@openrig/daemon/dist/domain/rigspec-exporter.js.map +0 -1
  1613. package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.d.ts +0 -414
  1614. package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.d.ts.map +0 -1
  1615. package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.js +0 -2104
  1616. package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.js.map +0 -1
  1617. package/node_modules/@openrig/daemon/dist/domain/rigspec-preflight.d.ts +0 -106
  1618. package/node_modules/@openrig/daemon/dist/domain/rigspec-preflight.d.ts.map +0 -1
  1619. package/node_modules/@openrig/daemon/dist/domain/rigspec-preflight.js +0 -378
  1620. package/node_modules/@openrig/daemon/dist/domain/rigspec-preflight.js.map +0 -1
  1621. package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.d.ts +0 -37
  1622. package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.d.ts.map +0 -1
  1623. package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.js +0 -1230
  1624. package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.js.map +0 -1
  1625. package/node_modules/@openrig/daemon/dist/domain/role-resolver.d.ts +0 -21
  1626. package/node_modules/@openrig/daemon/dist/domain/role-resolver.d.ts.map +0 -1
  1627. package/node_modules/@openrig/daemon/dist/domain/role-resolver.js +0 -83
  1628. package/node_modules/@openrig/daemon/dist/domain/role-resolver.js.map +0 -1
  1629. package/node_modules/@openrig/daemon/dist/domain/route-timing-recorder.d.ts +0 -42
  1630. package/node_modules/@openrig/daemon/dist/domain/route-timing-recorder.d.ts.map +0 -1
  1631. package/node_modules/@openrig/daemon/dist/domain/route-timing-recorder.js +0 -62
  1632. package/node_modules/@openrig/daemon/dist/domain/route-timing-recorder.js.map +0 -1
  1633. package/node_modules/@openrig/daemon/dist/domain/running-name-guard.d.ts +0 -52
  1634. package/node_modules/@openrig/daemon/dist/domain/running-name-guard.d.ts.map +0 -1
  1635. package/node_modules/@openrig/daemon/dist/domain/running-name-guard.js +0 -34
  1636. package/node_modules/@openrig/daemon/dist/domain/running-name-guard.js.map +0 -1
  1637. package/node_modules/@openrig/daemon/dist/domain/runtime-adapter.d.ts +0 -112
  1638. package/node_modules/@openrig/daemon/dist/domain/runtime-adapter.d.ts.map +0 -1
  1639. package/node_modules/@openrig/daemon/dist/domain/runtime-adapter.js +0 -30
  1640. package/node_modules/@openrig/daemon/dist/domain/runtime-adapter.js.map +0 -1
  1641. package/node_modules/@openrig/daemon/dist/domain/runtime-verifier.d.ts +0 -51
  1642. package/node_modules/@openrig/daemon/dist/domain/runtime-verifier.d.ts.map +0 -1
  1643. package/node_modules/@openrig/daemon/dist/domain/runtime-verifier.js +0 -186
  1644. package/node_modules/@openrig/daemon/dist/domain/runtime-verifier.js.map +0 -1
  1645. package/node_modules/@openrig/daemon/dist/domain/scope/attestation-lineage.generated.d.ts +0 -14
  1646. package/node_modules/@openrig/daemon/dist/domain/scope/attestation-lineage.generated.d.ts.map +0 -1
  1647. package/node_modules/@openrig/daemon/dist/domain/scope/attestation-lineage.generated.js +0 -26
  1648. package/node_modules/@openrig/daemon/dist/domain/scope/attestation-lineage.generated.js.map +0 -1
  1649. package/node_modules/@openrig/daemon/dist/domain/scope/dot-id.d.ts +0 -43
  1650. package/node_modules/@openrig/daemon/dist/domain/scope/dot-id.d.ts.map +0 -1
  1651. package/node_modules/@openrig/daemon/dist/domain/scope/dot-id.js +0 -165
  1652. package/node_modules/@openrig/daemon/dist/domain/scope/dot-id.js.map +0 -1
  1653. package/node_modules/@openrig/daemon/dist/domain/scope/logical-checkbox.d.ts +0 -26
  1654. package/node_modules/@openrig/daemon/dist/domain/scope/logical-checkbox.d.ts.map +0 -1
  1655. package/node_modules/@openrig/daemon/dist/domain/scope/logical-checkbox.js +0 -65
  1656. package/node_modules/@openrig/daemon/dist/domain/scope/logical-checkbox.js.map +0 -1
  1657. package/node_modules/@openrig/daemon/dist/domain/scope/node-file.d.ts +0 -45
  1658. package/node_modules/@openrig/daemon/dist/domain/scope/node-file.d.ts.map +0 -1
  1659. package/node_modules/@openrig/daemon/dist/domain/scope/node-file.js +0 -73
  1660. package/node_modules/@openrig/daemon/dist/domain/scope/node-file.js.map +0 -1
  1661. package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.d.ts +0 -20
  1662. package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.d.ts.map +0 -1
  1663. package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.js +0 -100
  1664. package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.js.map +0 -1
  1665. package/node_modules/@openrig/daemon/dist/domain/scope/scaffold-placeholder.d.ts +0 -59
  1666. package/node_modules/@openrig/daemon/dist/domain/scope/scaffold-placeholder.d.ts.map +0 -1
  1667. package/node_modules/@openrig/daemon/dist/domain/scope/scaffold-placeholder.js +0 -121
  1668. package/node_modules/@openrig/daemon/dist/domain/scope/scaffold-placeholder.js.map +0 -1
  1669. package/node_modules/@openrig/daemon/dist/domain/scope/scope-approve.d.ts +0 -85
  1670. package/node_modules/@openrig/daemon/dist/domain/scope/scope-approve.d.ts.map +0 -1
  1671. package/node_modules/@openrig/daemon/dist/domain/scope/scope-approve.js +0 -291
  1672. package/node_modules/@openrig/daemon/dist/domain/scope/scope-approve.js.map +0 -1
  1673. package/node_modules/@openrig/daemon/dist/domain/scope/scope-audit.d.ts +0 -90
  1674. package/node_modules/@openrig/daemon/dist/domain/scope/scope-audit.d.ts.map +0 -1
  1675. package/node_modules/@openrig/daemon/dist/domain/scope/scope-audit.js +0 -414
  1676. package/node_modules/@openrig/daemon/dist/domain/scope/scope-audit.js.map +0 -1
  1677. package/node_modules/@openrig/daemon/dist/domain/scope/scope-view-projection.d.ts +0 -73
  1678. package/node_modules/@openrig/daemon/dist/domain/scope/scope-view-projection.d.ts.map +0 -1
  1679. package/node_modules/@openrig/daemon/dist/domain/scope/scope-view-projection.js +0 -222
  1680. package/node_modules/@openrig/daemon/dist/domain/scope/scope-view-projection.js.map +0 -1
  1681. package/node_modules/@openrig/daemon/dist/domain/scope/types.d.ts +0 -67
  1682. package/node_modules/@openrig/daemon/dist/domain/scope/types.d.ts.map +0 -1
  1683. package/node_modules/@openrig/daemon/dist/domain/scope/types.js +0 -46
  1684. package/node_modules/@openrig/daemon/dist/domain/scope/types.js.map +0 -1
  1685. package/node_modules/@openrig/daemon/dist/domain/seat-activity-service.d.ts +0 -171
  1686. package/node_modules/@openrig/daemon/dist/domain/seat-activity-service.d.ts.map +0 -1
  1687. package/node_modules/@openrig/daemon/dist/domain/seat-activity-service.js +0 -559
  1688. package/node_modules/@openrig/daemon/dist/domain/seat-activity-service.js.map +0 -1
  1689. package/node_modules/@openrig/daemon/dist/domain/seat-attention-reconciler.d.ts +0 -115
  1690. package/node_modules/@openrig/daemon/dist/domain/seat-attention-reconciler.d.ts.map +0 -1
  1691. package/node_modules/@openrig/daemon/dist/domain/seat-attention-reconciler.js +0 -443
  1692. package/node_modules/@openrig/daemon/dist/domain/seat-attention-reconciler.js.map +0 -1
  1693. package/node_modules/@openrig/daemon/dist/domain/seat-handover-planner.d.ts +0 -98
  1694. package/node_modules/@openrig/daemon/dist/domain/seat-handover-planner.d.ts.map +0 -1
  1695. package/node_modules/@openrig/daemon/dist/domain/seat-handover-planner.js +0 -201
  1696. package/node_modules/@openrig/daemon/dist/domain/seat-handover-planner.js.map +0 -1
  1697. package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.d.ts +0 -299
  1698. package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.d.ts.map +0 -1
  1699. package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.js +0 -868
  1700. package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.js.map +0 -1
  1701. package/node_modules/@openrig/daemon/dist/domain/seat-identity-reconciler.d.ts +0 -131
  1702. package/node_modules/@openrig/daemon/dist/domain/seat-identity-reconciler.d.ts.map +0 -1
  1703. package/node_modules/@openrig/daemon/dist/domain/seat-identity-reconciler.js +0 -367
  1704. package/node_modules/@openrig/daemon/dist/domain/seat-identity-reconciler.js.map +0 -1
  1705. package/node_modules/@openrig/daemon/dist/domain/seat-identity-store.d.ts +0 -59
  1706. package/node_modules/@openrig/daemon/dist/domain/seat-identity-store.d.ts.map +0 -1
  1707. package/node_modules/@openrig/daemon/dist/domain/seat-identity-store.js +0 -167
  1708. package/node_modules/@openrig/daemon/dist/domain/seat-identity-store.js.map +0 -1
  1709. package/node_modules/@openrig/daemon/dist/domain/seat-lifecycle-service.d.ts +0 -167
  1710. package/node_modules/@openrig/daemon/dist/domain/seat-lifecycle-service.d.ts.map +0 -1
  1711. package/node_modules/@openrig/daemon/dist/domain/seat-lifecycle-service.js +0 -864
  1712. package/node_modules/@openrig/daemon/dist/domain/seat-lifecycle-service.js.map +0 -1
  1713. package/node_modules/@openrig/daemon/dist/domain/seat-status-service.d.ts +0 -50
  1714. package/node_modules/@openrig/daemon/dist/domain/seat-status-service.d.ts.map +0 -1
  1715. package/node_modules/@openrig/daemon/dist/domain/seat-status-service.js +0 -68
  1716. package/node_modules/@openrig/daemon/dist/domain/seat-status-service.js.map +0 -1
  1717. package/node_modules/@openrig/daemon/dist/domain/seat-structural-activity-service.d.ts +0 -58
  1718. package/node_modules/@openrig/daemon/dist/domain/seat-structural-activity-service.d.ts.map +0 -1
  1719. package/node_modules/@openrig/daemon/dist/domain/seat-structural-activity-service.js +0 -130
  1720. package/node_modules/@openrig/daemon/dist/domain/seat-structural-activity-service.js.map +0 -1
  1721. package/node_modules/@openrig/daemon/dist/domain/seat-switch-client-service.d.ts +0 -57
  1722. package/node_modules/@openrig/daemon/dist/domain/seat-switch-client-service.d.ts.map +0 -1
  1723. package/node_modules/@openrig/daemon/dist/domain/seat-switch-client-service.js +0 -168
  1724. package/node_modules/@openrig/daemon/dist/domain/seat-switch-client-service.js.map +0 -1
  1725. package/node_modules/@openrig/daemon/dist/domain/self-attach-service.d.ts +0 -98
  1726. package/node_modules/@openrig/daemon/dist/domain/self-attach-service.d.ts.map +0 -1
  1727. package/node_modules/@openrig/daemon/dist/domain/self-attach-service.js +0 -215
  1728. package/node_modules/@openrig/daemon/dist/domain/self-attach-service.js.map +0 -1
  1729. package/node_modules/@openrig/daemon/dist/domain/service-orchestrator.d.ts +0 -59
  1730. package/node_modules/@openrig/daemon/dist/domain/service-orchestrator.d.ts.map +0 -1
  1731. package/node_modules/@openrig/daemon/dist/domain/service-orchestrator.js +0 -172
  1732. package/node_modules/@openrig/daemon/dist/domain/service-orchestrator.js.map +0 -1
  1733. package/node_modules/@openrig/daemon/dist/domain/services-readiness.d.ts +0 -23
  1734. package/node_modules/@openrig/daemon/dist/domain/services-readiness.d.ts.map +0 -1
  1735. package/node_modules/@openrig/daemon/dist/domain/services-readiness.js +0 -63
  1736. package/node_modules/@openrig/daemon/dist/domain/services-readiness.js.map +0 -1
  1737. package/node_modules/@openrig/daemon/dist/domain/session-enricher.d.ts +0 -29
  1738. package/node_modules/@openrig/daemon/dist/domain/session-enricher.d.ts.map +0 -1
  1739. package/node_modules/@openrig/daemon/dist/domain/session-enricher.js +0 -54
  1740. package/node_modules/@openrig/daemon/dist/domain/session-enricher.js.map +0 -1
  1741. package/node_modules/@openrig/daemon/dist/domain/session-fingerprinter.d.ts +0 -53
  1742. package/node_modules/@openrig/daemon/dist/domain/session-fingerprinter.d.ts.map +0 -1
  1743. package/node_modules/@openrig/daemon/dist/domain/session-fingerprinter.js +0 -118
  1744. package/node_modules/@openrig/daemon/dist/domain/session-fingerprinter.js.map +0 -1
  1745. package/node_modules/@openrig/daemon/dist/domain/session-jsonl.d.ts +0 -10
  1746. package/node_modules/@openrig/daemon/dist/domain/session-jsonl.d.ts.map +0 -1
  1747. package/node_modules/@openrig/daemon/dist/domain/session-jsonl.js +0 -78
  1748. package/node_modules/@openrig/daemon/dist/domain/session-jsonl.js.map +0 -1
  1749. package/node_modules/@openrig/daemon/dist/domain/session-name.d.ts +0 -58
  1750. package/node_modules/@openrig/daemon/dist/domain/session-name.d.ts.map +0 -1
  1751. package/node_modules/@openrig/daemon/dist/domain/session-name.js +0 -132
  1752. package/node_modules/@openrig/daemon/dist/domain/session-name.js.map +0 -1
  1753. package/node_modules/@openrig/daemon/dist/domain/session-registry.d.ts +0 -137
  1754. package/node_modules/@openrig/daemon/dist/domain/session-registry.d.ts.map +0 -1
  1755. package/node_modules/@openrig/daemon/dist/domain/session-registry.js +0 -426
  1756. package/node_modules/@openrig/daemon/dist/domain/session-registry.js.map +0 -1
  1757. package/node_modules/@openrig/daemon/dist/domain/session-source-rebuild-resolver.d.ts +0 -53
  1758. package/node_modules/@openrig/daemon/dist/domain/session-source-rebuild-resolver.d.ts.map +0 -1
  1759. package/node_modules/@openrig/daemon/dist/domain/session-source-rebuild-resolver.js +0 -59
  1760. package/node_modules/@openrig/daemon/dist/domain/session-source-rebuild-resolver.js.map +0 -1
  1761. package/node_modules/@openrig/daemon/dist/domain/session-transport.d.ts +0 -185
  1762. package/node_modules/@openrig/daemon/dist/domain/session-transport.d.ts.map +0 -1
  1763. package/node_modules/@openrig/daemon/dist/domain/session-transport.js +0 -1265
  1764. package/node_modules/@openrig/daemon/dist/domain/session-transport.js.map +0 -1
  1765. package/node_modules/@openrig/daemon/dist/domain/shell-classifier.d.ts +0 -23
  1766. package/node_modules/@openrig/daemon/dist/domain/shell-classifier.d.ts.map +0 -1
  1767. package/node_modules/@openrig/daemon/dist/domain/shell-classifier.js +0 -36
  1768. package/node_modules/@openrig/daemon/dist/domain/shell-classifier.js.map +0 -1
  1769. package/node_modules/@openrig/daemon/dist/domain/skill-audit.d.ts +0 -47
  1770. package/node_modules/@openrig/daemon/dist/domain/skill-audit.d.ts.map +0 -1
  1771. package/node_modules/@openrig/daemon/dist/domain/skill-audit.js +0 -218
  1772. package/node_modules/@openrig/daemon/dist/domain/skill-audit.js.map +0 -1
  1773. package/node_modules/@openrig/daemon/dist/domain/skill-catalog.d.ts +0 -81
  1774. package/node_modules/@openrig/daemon/dist/domain/skill-catalog.d.ts.map +0 -1
  1775. package/node_modules/@openrig/daemon/dist/domain/skill-catalog.js +0 -827
  1776. package/node_modules/@openrig/daemon/dist/domain/skill-catalog.js.map +0 -1
  1777. package/node_modules/@openrig/daemon/dist/domain/skill-discovery.d.ts +0 -69
  1778. package/node_modules/@openrig/daemon/dist/domain/skill-discovery.d.ts.map +0 -1
  1779. package/node_modules/@openrig/daemon/dist/domain/skill-discovery.js +0 -214
  1780. package/node_modules/@openrig/daemon/dist/domain/skill-discovery.js.map +0 -1
  1781. package/node_modules/@openrig/daemon/dist/domain/skill-library-discovery.d.ts +0 -68
  1782. package/node_modules/@openrig/daemon/dist/domain/skill-library-discovery.d.ts.map +0 -1
  1783. package/node_modules/@openrig/daemon/dist/domain/skill-library-discovery.js +0 -144
  1784. package/node_modules/@openrig/daemon/dist/domain/skill-library-discovery.js.map +0 -1
  1785. package/node_modules/@openrig/daemon/dist/domain/skill-mirror-drift.d.ts +0 -10
  1786. package/node_modules/@openrig/daemon/dist/domain/skill-mirror-drift.d.ts.map +0 -1
  1787. package/node_modules/@openrig/daemon/dist/domain/skill-mirror-drift.js +0 -24
  1788. package/node_modules/@openrig/daemon/dist/domain/skill-mirror-drift.js.map +0 -1
  1789. package/node_modules/@openrig/daemon/dist/domain/slices/qitem-membership.d.ts +0 -17
  1790. package/node_modules/@openrig/daemon/dist/domain/slices/qitem-membership.d.ts.map +0 -1
  1791. package/node_modules/@openrig/daemon/dist/domain/slices/qitem-membership.js +0 -60
  1792. package/node_modules/@openrig/daemon/dist/domain/slices/qitem-membership.js.map +0 -1
  1793. package/node_modules/@openrig/daemon/dist/domain/slices/slice-detail-projector.d.ts +0 -190
  1794. package/node_modules/@openrig/daemon/dist/domain/slices/slice-detail-projector.d.ts.map +0 -1
  1795. package/node_modules/@openrig/daemon/dist/domain/slices/slice-detail-projector.js +0 -691
  1796. package/node_modules/@openrig/daemon/dist/domain/slices/slice-detail-projector.js.map +0 -1
  1797. package/node_modules/@openrig/daemon/dist/domain/slices/slice-indexer.d.ts +0 -241
  1798. package/node_modules/@openrig/daemon/dist/domain/slices/slice-indexer.d.ts.map +0 -1
  1799. package/node_modules/@openrig/daemon/dist/domain/slices/slice-indexer.js +0 -1033
  1800. package/node_modules/@openrig/daemon/dist/domain/slices/slice-indexer.js.map +0 -1
  1801. package/node_modules/@openrig/daemon/dist/domain/slow-op-recorder.d.ts +0 -89
  1802. package/node_modules/@openrig/daemon/dist/domain/slow-op-recorder.d.ts.map +0 -1
  1803. package/node_modules/@openrig/daemon/dist/domain/slow-op-recorder.js +0 -339
  1804. package/node_modules/@openrig/daemon/dist/domain/slow-op-recorder.js.map +0 -1
  1805. package/node_modules/@openrig/daemon/dist/domain/snapshot-capture.d.ts +0 -30
  1806. package/node_modules/@openrig/daemon/dist/domain/snapshot-capture.d.ts.map +0 -1
  1807. package/node_modules/@openrig/daemon/dist/domain/snapshot-capture.js +0 -145
  1808. package/node_modules/@openrig/daemon/dist/domain/snapshot-capture.js.map +0 -1
  1809. package/node_modules/@openrig/daemon/dist/domain/snapshot-repository.d.ts +0 -59
  1810. package/node_modules/@openrig/daemon/dist/domain/snapshot-repository.d.ts.map +0 -1
  1811. package/node_modules/@openrig/daemon/dist/domain/snapshot-repository.js +0 -281
  1812. package/node_modules/@openrig/daemon/dist/domain/snapshot-repository.js.map +0 -1
  1813. package/node_modules/@openrig/daemon/dist/domain/spec-library-service.d.ts +0 -67
  1814. package/node_modules/@openrig/daemon/dist/domain/spec-library-service.d.ts.map +0 -1
  1815. package/node_modules/@openrig/daemon/dist/domain/spec-library-service.js +0 -263
  1816. package/node_modules/@openrig/daemon/dist/domain/spec-library-service.js.map +0 -1
  1817. package/node_modules/@openrig/daemon/dist/domain/spec-library-workflow-scanner.d.ts +0 -140
  1818. package/node_modules/@openrig/daemon/dist/domain/spec-library-workflow-scanner.d.ts.map +0 -1
  1819. package/node_modules/@openrig/daemon/dist/domain/spec-library-workflow-scanner.js +0 -347
  1820. package/node_modules/@openrig/daemon/dist/domain/spec-library-workflow-scanner.js.map +0 -1
  1821. package/node_modules/@openrig/daemon/dist/domain/spec-live-conformance.d.ts +0 -82
  1822. package/node_modules/@openrig/daemon/dist/domain/spec-live-conformance.d.ts.map +0 -1
  1823. package/node_modules/@openrig/daemon/dist/domain/spec-live-conformance.js +0 -127
  1824. package/node_modules/@openrig/daemon/dist/domain/spec-live-conformance.js.map +0 -1
  1825. package/node_modules/@openrig/daemon/dist/domain/spec-review-service.d.ts +0 -133
  1826. package/node_modules/@openrig/daemon/dist/domain/spec-review-service.d.ts.map +0 -1
  1827. package/node_modules/@openrig/daemon/dist/domain/spec-review-service.js +0 -259
  1828. package/node_modules/@openrig/daemon/dist/domain/spec-review-service.js.map +0 -1
  1829. package/node_modules/@openrig/daemon/dist/domain/spec-validation-advisory.d.ts +0 -17
  1830. package/node_modules/@openrig/daemon/dist/domain/spec-validation-advisory.d.ts.map +0 -1
  1831. package/node_modules/@openrig/daemon/dist/domain/spec-validation-advisory.js +0 -38
  1832. package/node_modules/@openrig/daemon/dist/domain/spec-validation-advisory.js.map +0 -1
  1833. package/node_modules/@openrig/daemon/dist/domain/spec-validation-service.d.ts +0 -21
  1834. package/node_modules/@openrig/daemon/dist/domain/spec-validation-service.d.ts.map +0 -1
  1835. package/node_modules/@openrig/daemon/dist/domain/spec-validation-service.js +0 -34
  1836. package/node_modules/@openrig/daemon/dist/domain/spec-validation-service.js.map +0 -1
  1837. package/node_modules/@openrig/daemon/dist/domain/startup-orchestrator.d.ts +0 -130
  1838. package/node_modules/@openrig/daemon/dist/domain/startup-orchestrator.d.ts.map +0 -1
  1839. package/node_modules/@openrig/daemon/dist/domain/startup-orchestrator.js +0 -518
  1840. package/node_modules/@openrig/daemon/dist/domain/startup-orchestrator.js.map +0 -1
  1841. package/node_modules/@openrig/daemon/dist/domain/startup-proof.d.ts +0 -67
  1842. package/node_modules/@openrig/daemon/dist/domain/startup-proof.d.ts.map +0 -1
  1843. package/node_modules/@openrig/daemon/dist/domain/startup-proof.js +0 -194
  1844. package/node_modules/@openrig/daemon/dist/domain/startup-proof.js.map +0 -1
  1845. package/node_modules/@openrig/daemon/dist/domain/startup-resolver.d.ts +0 -30
  1846. package/node_modules/@openrig/daemon/dist/domain/startup-resolver.d.ts.map +0 -1
  1847. package/node_modules/@openrig/daemon/dist/domain/startup-resolver.js +0 -75
  1848. package/node_modules/@openrig/daemon/dist/domain/startup-resolver.js.map +0 -1
  1849. package/node_modules/@openrig/daemon/dist/domain/startup-validation.d.ts +0 -31
  1850. package/node_modules/@openrig/daemon/dist/domain/startup-validation.d.ts.map +0 -1
  1851. package/node_modules/@openrig/daemon/dist/domain/startup-validation.js +0 -176
  1852. package/node_modules/@openrig/daemon/dist/domain/startup-validation.js.map +0 -1
  1853. package/node_modules/@openrig/daemon/dist/domain/steering/health-summary.d.ts +0 -39
  1854. package/node_modules/@openrig/daemon/dist/domain/steering/health-summary.d.ts.map +0 -1
  1855. package/node_modules/@openrig/daemon/dist/domain/steering/health-summary.js +0 -100
  1856. package/node_modules/@openrig/daemon/dist/domain/steering/health-summary.js.map +0 -1
  1857. package/node_modules/@openrig/daemon/dist/domain/steering/steering-composer.d.ts +0 -102
  1858. package/node_modules/@openrig/daemon/dist/domain/steering/steering-composer.d.ts.map +0 -1
  1859. package/node_modules/@openrig/daemon/dist/domain/steering/steering-composer.js +0 -263
  1860. package/node_modules/@openrig/daemon/dist/domain/steering/steering-composer.js.map +0 -1
  1861. package/node_modules/@openrig/daemon/dist/domain/stream-store.d.ts +0 -66
  1862. package/node_modules/@openrig/daemon/dist/domain/stream-store.d.ts.map +0 -1
  1863. package/node_modules/@openrig/daemon/dist/domain/stream-store.js +0 -135
  1864. package/node_modules/@openrig/daemon/dist/domain/stream-store.js.map +0 -1
  1865. package/node_modules/@openrig/daemon/dist/domain/successor-session-launcher.d.ts +0 -168
  1866. package/node_modules/@openrig/daemon/dist/domain/successor-session-launcher.d.ts.map +0 -1
  1867. package/node_modules/@openrig/daemon/dist/domain/successor-session-launcher.js +0 -336
  1868. package/node_modules/@openrig/daemon/dist/domain/successor-session-launcher.js.map +0 -1
  1869. package/node_modules/@openrig/daemon/dist/domain/sync-site-wrap.d.ts +0 -13
  1870. package/node_modules/@openrig/daemon/dist/domain/sync-site-wrap.d.ts.map +0 -1
  1871. package/node_modules/@openrig/daemon/dist/domain/sync-site-wrap.js +0 -19
  1872. package/node_modules/@openrig/daemon/dist/domain/sync-site-wrap.js.map +0 -1
  1873. package/node_modules/@openrig/daemon/dist/domain/system-world.d.ts +0 -45
  1874. package/node_modules/@openrig/daemon/dist/domain/system-world.d.ts.map +0 -1
  1875. package/node_modules/@openrig/daemon/dist/domain/system-world.js +0 -123
  1876. package/node_modules/@openrig/daemon/dist/domain/system-world.js.map +0 -1
  1877. package/node_modules/@openrig/daemon/dist/domain/telemetry-state-paths.d.ts +0 -7
  1878. package/node_modules/@openrig/daemon/dist/domain/telemetry-state-paths.d.ts.map +0 -1
  1879. package/node_modules/@openrig/daemon/dist/domain/telemetry-state-paths.js +0 -20
  1880. package/node_modules/@openrig/daemon/dist/domain/telemetry-state-paths.js.map +0 -1
  1881. package/node_modules/@openrig/daemon/dist/domain/terminal/cmux-provider-adapter.d.ts +0 -28
  1882. package/node_modules/@openrig/daemon/dist/domain/terminal/cmux-provider-adapter.d.ts.map +0 -1
  1883. package/node_modules/@openrig/daemon/dist/domain/terminal/cmux-provider-adapter.js +0 -100
  1884. package/node_modules/@openrig/daemon/dist/domain/terminal/cmux-provider-adapter.js.map +0 -1
  1885. package/node_modules/@openrig/daemon/dist/domain/terminal/herdr-adapter.d.ts +0 -96
  1886. package/node_modules/@openrig/daemon/dist/domain/terminal/herdr-adapter.d.ts.map +0 -1
  1887. package/node_modules/@openrig/daemon/dist/domain/terminal/herdr-adapter.js +0 -307
  1888. package/node_modules/@openrig/daemon/dist/domain/terminal/herdr-adapter.js.map +0 -1
  1889. package/node_modules/@openrig/daemon/dist/domain/terminal/herdr-transport.d.ts +0 -50
  1890. package/node_modules/@openrig/daemon/dist/domain/terminal/herdr-transport.d.ts.map +0 -1
  1891. package/node_modules/@openrig/daemon/dist/domain/terminal/herdr-transport.js +0 -145
  1892. package/node_modules/@openrig/daemon/dist/domain/terminal/herdr-transport.js.map +0 -1
  1893. package/node_modules/@openrig/daemon/dist/domain/terminal/terminal-provider.d.ts +0 -88
  1894. package/node_modules/@openrig/daemon/dist/domain/terminal/terminal-provider.d.ts.map +0 -1
  1895. package/node_modules/@openrig/daemon/dist/domain/terminal/terminal-provider.js +0 -17
  1896. package/node_modules/@openrig/daemon/dist/domain/terminal/terminal-provider.js.map +0 -1
  1897. package/node_modules/@openrig/daemon/dist/domain/terminal/terminal-service.d.ts +0 -88
  1898. package/node_modules/@openrig/daemon/dist/domain/terminal/terminal-service.d.ts.map +0 -1
  1899. package/node_modules/@openrig/daemon/dist/domain/terminal/terminal-service.js +0 -214
  1900. package/node_modules/@openrig/daemon/dist/domain/terminal/terminal-service.js.map +0 -1
  1901. package/node_modules/@openrig/daemon/dist/domain/terminal/terminal-views-store.d.ts +0 -77
  1902. package/node_modules/@openrig/daemon/dist/domain/terminal/terminal-views-store.d.ts.map +0 -1
  1903. package/node_modules/@openrig/daemon/dist/domain/terminal/terminal-views-store.js +0 -146
  1904. package/node_modules/@openrig/daemon/dist/domain/terminal/terminal-views-store.js.map +0 -1
  1905. package/node_modules/@openrig/daemon/dist/domain/terminal/view-composer.d.ts +0 -42
  1906. package/node_modules/@openrig/daemon/dist/domain/terminal/view-composer.d.ts.map +0 -1
  1907. package/node_modules/@openrig/daemon/dist/domain/terminal/view-composer.js +0 -137
  1908. package/node_modules/@openrig/daemon/dist/domain/terminal/view-composer.js.map +0 -1
  1909. package/node_modules/@openrig/daemon/dist/domain/tmux-discovery-scanner.d.ts +0 -29
  1910. package/node_modules/@openrig/daemon/dist/domain/tmux-discovery-scanner.d.ts.map +0 -1
  1911. package/node_modules/@openrig/daemon/dist/domain/tmux-discovery-scanner.js +0 -50
  1912. package/node_modules/@openrig/daemon/dist/domain/tmux-discovery-scanner.js.map +0 -1
  1913. package/node_modules/@openrig/daemon/dist/domain/tmux-option-defaults.d.ts +0 -89
  1914. package/node_modules/@openrig/daemon/dist/domain/tmux-option-defaults.d.ts.map +0 -1
  1915. package/node_modules/@openrig/daemon/dist/domain/tmux-option-defaults.js +0 -133
  1916. package/node_modules/@openrig/daemon/dist/domain/tmux-option-defaults.js.map +0 -1
  1917. package/node_modules/@openrig/daemon/dist/domain/topology/multi-rig-launcher.d.ts +0 -49
  1918. package/node_modules/@openrig/daemon/dist/domain/topology/multi-rig-launcher.d.ts.map +0 -1
  1919. package/node_modules/@openrig/daemon/dist/domain/topology/multi-rig-launcher.js +0 -132
  1920. package/node_modules/@openrig/daemon/dist/domain/topology/multi-rig-launcher.js.map +0 -1
  1921. package/node_modules/@openrig/daemon/dist/domain/topology/remote-up-leaf.d.ts +0 -29
  1922. package/node_modules/@openrig/daemon/dist/domain/topology/remote-up-leaf.d.ts.map +0 -1
  1923. package/node_modules/@openrig/daemon/dist/domain/topology/remote-up-leaf.js +0 -60
  1924. package/node_modules/@openrig/daemon/dist/domain/topology/remote-up-leaf.js.map +0 -1
  1925. package/node_modules/@openrig/daemon/dist/domain/topology/topology-manifest.d.ts +0 -34
  1926. package/node_modules/@openrig/daemon/dist/domain/topology/topology-manifest.d.ts.map +0 -1
  1927. package/node_modules/@openrig/daemon/dist/domain/topology/topology-manifest.js +0 -195
  1928. package/node_modules/@openrig/daemon/dist/domain/topology/topology-manifest.js.map +0 -1
  1929. package/node_modules/@openrig/daemon/dist/domain/topology-converge.d.ts +0 -119
  1930. package/node_modules/@openrig/daemon/dist/domain/topology-converge.d.ts.map +0 -1
  1931. package/node_modules/@openrig/daemon/dist/domain/topology-converge.js +0 -88
  1932. package/node_modules/@openrig/daemon/dist/domain/topology-converge.js.map +0 -1
  1933. package/node_modules/@openrig/daemon/dist/domain/topology-defaults-installer.d.ts +0 -49
  1934. package/node_modules/@openrig/daemon/dist/domain/topology-defaults-installer.d.ts.map +0 -1
  1935. package/node_modules/@openrig/daemon/dist/domain/topology-defaults-installer.js +0 -119
  1936. package/node_modules/@openrig/daemon/dist/domain/topology-defaults-installer.js.map +0 -1
  1937. package/node_modules/@openrig/daemon/dist/domain/transcript-capture.d.ts +0 -10
  1938. package/node_modules/@openrig/daemon/dist/domain/transcript-capture.d.ts.map +0 -1
  1939. package/node_modules/@openrig/daemon/dist/domain/transcript-capture.js +0 -46
  1940. package/node_modules/@openrig/daemon/dist/domain/transcript-capture.js.map +0 -1
  1941. package/node_modules/@openrig/daemon/dist/domain/transcript-redaction.d.ts +0 -13
  1942. package/node_modules/@openrig/daemon/dist/domain/transcript-redaction.d.ts.map +0 -1
  1943. package/node_modules/@openrig/daemon/dist/domain/transcript-redaction.js +0 -34
  1944. package/node_modules/@openrig/daemon/dist/domain/transcript-redaction.js.map +0 -1
  1945. package/node_modules/@openrig/daemon/dist/domain/transcript-rotation.d.ts +0 -33
  1946. package/node_modules/@openrig/daemon/dist/domain/transcript-rotation.d.ts.map +0 -1
  1947. package/node_modules/@openrig/daemon/dist/domain/transcript-rotation.js +0 -167
  1948. package/node_modules/@openrig/daemon/dist/domain/transcript-rotation.js.map +0 -1
  1949. package/node_modules/@openrig/daemon/dist/domain/transcript-store.d.ts +0 -44
  1950. package/node_modules/@openrig/daemon/dist/domain/transcript-store.d.ts.map +0 -1
  1951. package/node_modules/@openrig/daemon/dist/domain/transcript-store.js +0 -394
  1952. package/node_modules/@openrig/daemon/dist/domain/transcript-store.js.map +0 -1
  1953. package/node_modules/@openrig/daemon/dist/domain/types.d.ts +0 -1818
  1954. package/node_modules/@openrig/daemon/dist/domain/types.d.ts.map +0 -1
  1955. package/node_modules/@openrig/daemon/dist/domain/types.js +0 -17
  1956. package/node_modules/@openrig/daemon/dist/domain/types.js.map +0 -1
  1957. package/node_modules/@openrig/daemon/dist/domain/up-command-router.d.ts +0 -25
  1958. package/node_modules/@openrig/daemon/dist/domain/up-command-router.d.ts.map +0 -1
  1959. package/node_modules/@openrig/daemon/dist/domain/up-command-router.js +0 -167
  1960. package/node_modules/@openrig/daemon/dist/domain/up-command-router.js.map +0 -1
  1961. package/node_modules/@openrig/daemon/dist/domain/usage-samples-store.d.ts +0 -31
  1962. package/node_modules/@openrig/daemon/dist/domain/usage-samples-store.d.ts.map +0 -1
  1963. package/node_modules/@openrig/daemon/dist/domain/usage-samples-store.js +0 -75
  1964. package/node_modules/@openrig/daemon/dist/domain/usage-samples-store.js.map +0 -1
  1965. package/node_modules/@openrig/daemon/dist/domain/usage-series.d.ts +0 -67
  1966. package/node_modules/@openrig/daemon/dist/domain/usage-series.d.ts.map +0 -1
  1967. package/node_modules/@openrig/daemon/dist/domain/usage-series.js +0 -105
  1968. package/node_modules/@openrig/daemon/dist/domain/usage-series.js.map +0 -1
  1969. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-browser.d.ts +0 -33
  1970. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-browser.d.ts.map +0 -1
  1971. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-browser.js +0 -261
  1972. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-browser.js.map +0 -1
  1973. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.d.ts +0 -106
  1974. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.d.ts.map +0 -1
  1975. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.js +0 -1042
  1976. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.js.map +0 -1
  1977. package/node_modules/@openrig/daemon/dist/domain/view-event-bridge.d.ts +0 -12
  1978. package/node_modules/@openrig/daemon/dist/domain/view-event-bridge.d.ts.map +0 -1
  1979. package/node_modules/@openrig/daemon/dist/domain/view-event-bridge.js +0 -93
  1980. package/node_modules/@openrig/daemon/dist/domain/view-event-bridge.js.map +0 -1
  1981. package/node_modules/@openrig/daemon/dist/domain/view-projector.d.ts +0 -89
  1982. package/node_modules/@openrig/daemon/dist/domain/view-projector.d.ts.map +0 -1
  1983. package/node_modules/@openrig/daemon/dist/domain/view-projector.js +0 -362
  1984. package/node_modules/@openrig/daemon/dist/domain/view-projector.js.map +0 -1
  1985. package/node_modules/@openrig/daemon/dist/domain/wake-resolve-service.d.ts +0 -17
  1986. package/node_modules/@openrig/daemon/dist/domain/wake-resolve-service.d.ts.map +0 -1
  1987. package/node_modules/@openrig/daemon/dist/domain/wake-resolve-service.js +0 -17
  1988. package/node_modules/@openrig/daemon/dist/domain/wake-resolve-service.js.map +0 -1
  1989. package/node_modules/@openrig/daemon/dist/domain/wake-resolver.d.ts +0 -41
  1990. package/node_modules/@openrig/daemon/dist/domain/wake-resolver.d.ts.map +0 -1
  1991. package/node_modules/@openrig/daemon/dist/domain/wake-resolver.js +0 -45
  1992. package/node_modules/@openrig/daemon/dist/domain/wake-resolver.js.map +0 -1
  1993. package/node_modules/@openrig/daemon/dist/domain/watchdog-auto-registration.d.ts +0 -50
  1994. package/node_modules/@openrig/daemon/dist/domain/watchdog-auto-registration.d.ts.map +0 -1
  1995. package/node_modules/@openrig/daemon/dist/domain/watchdog-auto-registration.js +0 -178
  1996. package/node_modules/@openrig/daemon/dist/domain/watchdog-auto-registration.js.map +0 -1
  1997. package/node_modules/@openrig/daemon/dist/domain/watchdog-history-log.d.ts +0 -49
  1998. package/node_modules/@openrig/daemon/dist/domain/watchdog-history-log.d.ts.map +0 -1
  1999. package/node_modules/@openrig/daemon/dist/domain/watchdog-history-log.js +0 -67
  2000. package/node_modules/@openrig/daemon/dist/domain/watchdog-history-log.js.map +0 -1
  2001. package/node_modules/@openrig/daemon/dist/domain/watchdog-jobs-repository.d.ts +0 -148
  2002. package/node_modules/@openrig/daemon/dist/domain/watchdog-jobs-repository.d.ts.map +0 -1
  2003. package/node_modules/@openrig/daemon/dist/domain/watchdog-jobs-repository.js +0 -418
  2004. package/node_modules/@openrig/daemon/dist/domain/watchdog-jobs-repository.js.map +0 -1
  2005. package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.d.ts +0 -142
  2006. package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.d.ts.map +0 -1
  2007. package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.js +0 -481
  2008. package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.js.map +0 -1
  2009. package/node_modules/@openrig/daemon/dist/domain/watchdog-scheduler.d.ts +0 -79
  2010. package/node_modules/@openrig/daemon/dist/domain/watchdog-scheduler.d.ts.map +0 -1
  2011. package/node_modules/@openrig/daemon/dist/domain/watchdog-scheduler.js +0 -116
  2012. package/node_modules/@openrig/daemon/dist/domain/watchdog-scheduler.js.map +0 -1
  2013. package/node_modules/@openrig/daemon/dist/domain/whoami-service.d.ts +0 -126
  2014. package/node_modules/@openrig/daemon/dist/domain/whoami-service.d.ts.map +0 -1
  2015. package/node_modules/@openrig/daemon/dist/domain/whoami-service.js +0 -268
  2016. package/node_modules/@openrig/daemon/dist/domain/whoami-service.js.map +0 -1
  2017. package/node_modules/@openrig/daemon/dist/domain/workflow/slice-workflow-binding.d.ts +0 -21
  2018. package/node_modules/@openrig/daemon/dist/domain/workflow/slice-workflow-binding.d.ts.map +0 -1
  2019. package/node_modules/@openrig/daemon/dist/domain/workflow/slice-workflow-binding.js +0 -103
  2020. package/node_modules/@openrig/daemon/dist/domain/workflow/slice-workflow-binding.js.map +0 -1
  2021. package/node_modules/@openrig/daemon/dist/domain/workflow/slice-workflow-projection.d.ts +0 -81
  2022. package/node_modules/@openrig/daemon/dist/domain/workflow/slice-workflow-projection.d.ts.map +0 -1
  2023. package/node_modules/@openrig/daemon/dist/domain/workflow/slice-workflow-projection.js +0 -131
  2024. package/node_modules/@openrig/daemon/dist/domain/workflow/slice-workflow-projection.js.map +0 -1
  2025. package/node_modules/@openrig/daemon/dist/domain/workflow/starter-spec-loader.d.ts +0 -51
  2026. package/node_modules/@openrig/daemon/dist/domain/workflow/starter-spec-loader.d.ts.map +0 -1
  2027. package/node_modules/@openrig/daemon/dist/domain/workflow/starter-spec-loader.js +0 -140
  2028. package/node_modules/@openrig/daemon/dist/domain/workflow/starter-spec-loader.js.map +0 -1
  2029. package/node_modules/@openrig/daemon/dist/domain/workflow-boot-sweep.d.ts +0 -29
  2030. package/node_modules/@openrig/daemon/dist/domain/workflow-boot-sweep.d.ts.map +0 -1
  2031. package/node_modules/@openrig/daemon/dist/domain/workflow-boot-sweep.js +0 -119
  2032. package/node_modules/@openrig/daemon/dist/domain/workflow-boot-sweep.js.map +0 -1
  2033. package/node_modules/@openrig/daemon/dist/domain/workflow-deadline.d.ts +0 -74
  2034. package/node_modules/@openrig/daemon/dist/domain/workflow-deadline.d.ts.map +0 -1
  2035. package/node_modules/@openrig/daemon/dist/domain/workflow-deadline.js +0 -165
  2036. package/node_modules/@openrig/daemon/dist/domain/workflow-deadline.js.map +0 -1
  2037. package/node_modules/@openrig/daemon/dist/domain/workflow-exception-escalation.d.ts +0 -34
  2038. package/node_modules/@openrig/daemon/dist/domain/workflow-exception-escalation.d.ts.map +0 -1
  2039. package/node_modules/@openrig/daemon/dist/domain/workflow-exception-escalation.js +0 -86
  2040. package/node_modules/@openrig/daemon/dist/domain/workflow-exception-escalation.js.map +0 -1
  2041. package/node_modules/@openrig/daemon/dist/domain/workflow-exception-readiness.d.ts +0 -39
  2042. package/node_modules/@openrig/daemon/dist/domain/workflow-exception-readiness.d.ts.map +0 -1
  2043. package/node_modules/@openrig/daemon/dist/domain/workflow-exception-readiness.js +0 -77
  2044. package/node_modules/@openrig/daemon/dist/domain/workflow-exception-readiness.js.map +0 -1
  2045. package/node_modules/@openrig/daemon/dist/domain/workflow-exception-router.d.ts +0 -37
  2046. package/node_modules/@openrig/daemon/dist/domain/workflow-exception-router.d.ts.map +0 -1
  2047. package/node_modules/@openrig/daemon/dist/domain/workflow-exception-router.js +0 -102
  2048. package/node_modules/@openrig/daemon/dist/domain/workflow-exception-router.js.map +0 -1
  2049. package/node_modules/@openrig/daemon/dist/domain/workflow-exception.d.ts +0 -96
  2050. package/node_modules/@openrig/daemon/dist/domain/workflow-exception.d.ts.map +0 -1
  2051. package/node_modules/@openrig/daemon/dist/domain/workflow-exception.js +0 -129
  2052. package/node_modules/@openrig/daemon/dist/domain/workflow-exception.js.map +0 -1
  2053. package/node_modules/@openrig/daemon/dist/domain/workflow-frontier-guard.d.ts +0 -24
  2054. package/node_modules/@openrig/daemon/dist/domain/workflow-frontier-guard.d.ts.map +0 -1
  2055. package/node_modules/@openrig/daemon/dist/domain/workflow-frontier-guard.js +0 -30
  2056. package/node_modules/@openrig/daemon/dist/domain/workflow-frontier-guard.js.map +0 -1
  2057. package/node_modules/@openrig/daemon/dist/domain/workflow-guidance.d.ts +0 -53
  2058. package/node_modules/@openrig/daemon/dist/domain/workflow-guidance.d.ts.map +0 -1
  2059. package/node_modules/@openrig/daemon/dist/domain/workflow-guidance.js +0 -212
  2060. package/node_modules/@openrig/daemon/dist/domain/workflow-guidance.js.map +0 -1
  2061. package/node_modules/@openrig/daemon/dist/domain/workflow-human-destination.d.ts +0 -18
  2062. package/node_modules/@openrig/daemon/dist/domain/workflow-human-destination.d.ts.map +0 -1
  2063. package/node_modules/@openrig/daemon/dist/domain/workflow-human-destination.js +0 -40
  2064. package/node_modules/@openrig/daemon/dist/domain/workflow-human-destination.js.map +0 -1
  2065. package/node_modules/@openrig/daemon/dist/domain/workflow-instance-store.d.ts +0 -108
  2066. package/node_modules/@openrig/daemon/dist/domain/workflow-instance-store.d.ts.map +0 -1
  2067. package/node_modules/@openrig/daemon/dist/domain/workflow-instance-store.js +0 -304
  2068. package/node_modules/@openrig/daemon/dist/domain/workflow-instance-store.js.map +0 -1
  2069. package/node_modules/@openrig/daemon/dist/domain/workflow-keepalive-arming.d.ts +0 -37
  2070. package/node_modules/@openrig/daemon/dist/domain/workflow-keepalive-arming.d.ts.map +0 -1
  2071. package/node_modules/@openrig/daemon/dist/domain/workflow-keepalive-arming.js +0 -98
  2072. package/node_modules/@openrig/daemon/dist/domain/workflow-keepalive-arming.js.map +0 -1
  2073. package/node_modules/@openrig/daemon/dist/domain/workflow-planning-context.d.ts +0 -3
  2074. package/node_modules/@openrig/daemon/dist/domain/workflow-planning-context.d.ts.map +0 -1
  2075. package/node_modules/@openrig/daemon/dist/domain/workflow-planning-context.js +0 -36
  2076. package/node_modules/@openrig/daemon/dist/domain/workflow-planning-context.js.map +0 -1
  2077. package/node_modules/@openrig/daemon/dist/domain/workflow-projector.d.ts +0 -217
  2078. package/node_modules/@openrig/daemon/dist/domain/workflow-projector.d.ts.map +0 -1
  2079. package/node_modules/@openrig/daemon/dist/domain/workflow-projector.js +0 -1471
  2080. package/node_modules/@openrig/daemon/dist/domain/workflow-projector.js.map +0 -1
  2081. package/node_modules/@openrig/daemon/dist/domain/workflow-reconciliation.d.ts +0 -55
  2082. package/node_modules/@openrig/daemon/dist/domain/workflow-reconciliation.d.ts.map +0 -1
  2083. package/node_modules/@openrig/daemon/dist/domain/workflow-reconciliation.js +0 -228
  2084. package/node_modules/@openrig/daemon/dist/domain/workflow-reconciliation.js.map +0 -1
  2085. package/node_modules/@openrig/daemon/dist/domain/workflow-role-context.d.ts +0 -55
  2086. package/node_modules/@openrig/daemon/dist/domain/workflow-role-context.d.ts.map +0 -1
  2087. package/node_modules/@openrig/daemon/dist/domain/workflow-role-context.js +0 -113
  2088. package/node_modules/@openrig/daemon/dist/domain/workflow-role-context.js.map +0 -1
  2089. package/node_modules/@openrig/daemon/dist/domain/workflow-role-resolver.d.ts +0 -65
  2090. package/node_modules/@openrig/daemon/dist/domain/workflow-role-resolver.d.ts.map +0 -1
  2091. package/node_modules/@openrig/daemon/dist/domain/workflow-role-resolver.js +0 -108
  2092. package/node_modules/@openrig/daemon/dist/domain/workflow-role-resolver.js.map +0 -1
  2093. package/node_modules/@openrig/daemon/dist/domain/workflow-runtime.d.ts +0 -370
  2094. package/node_modules/@openrig/daemon/dist/domain/workflow-runtime.d.ts.map +0 -1
  2095. package/node_modules/@openrig/daemon/dist/domain/workflow-runtime.js +0 -1394
  2096. package/node_modules/@openrig/daemon/dist/domain/workflow-runtime.js.map +0 -1
  2097. package/node_modules/@openrig/daemon/dist/domain/workflow-spec-cache.d.ts +0 -143
  2098. package/node_modules/@openrig/daemon/dist/domain/workflow-spec-cache.d.ts.map +0 -1
  2099. package/node_modules/@openrig/daemon/dist/domain/workflow-spec-cache.js +0 -755
  2100. package/node_modules/@openrig/daemon/dist/domain/workflow-spec-cache.js.map +0 -1
  2101. package/node_modules/@openrig/daemon/dist/domain/workflow-step-trail-log.d.ts +0 -27
  2102. package/node_modules/@openrig/daemon/dist/domain/workflow-step-trail-log.d.ts.map +0 -1
  2103. package/node_modules/@openrig/daemon/dist/domain/workflow-step-trail-log.js +0 -73
  2104. package/node_modules/@openrig/daemon/dist/domain/workflow-step-trail-log.js.map +0 -1
  2105. package/node_modules/@openrig/daemon/dist/domain/workflow-types.d.ts +0 -288
  2106. package/node_modules/@openrig/daemon/dist/domain/workflow-types.d.ts.map +0 -1
  2107. package/node_modules/@openrig/daemon/dist/domain/workflow-types.js +0 -24
  2108. package/node_modules/@openrig/daemon/dist/domain/workflow-types.js.map +0 -1
  2109. package/node_modules/@openrig/daemon/dist/domain/workflow-validator.d.ts +0 -41
  2110. package/node_modules/@openrig/daemon/dist/domain/workflow-validator.d.ts.map +0 -1
  2111. package/node_modules/@openrig/daemon/dist/domain/workflow-validator.js +0 -410
  2112. package/node_modules/@openrig/daemon/dist/domain/workflow-validator.js.map +0 -1
  2113. package/node_modules/@openrig/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts +0 -44
  2114. package/node_modules/@openrig/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts.map +0 -1
  2115. package/node_modules/@openrig/daemon/dist/domain/workspace/default-workspace-scaffold.js +0 -120
  2116. package/node_modules/@openrig/daemon/dist/domain/workspace/default-workspace-scaffold.js.map +0 -1
  2117. package/node_modules/@openrig/daemon/dist/domain/workspace/frontmatter-validator.d.ts +0 -40
  2118. package/node_modules/@openrig/daemon/dist/domain/workspace/frontmatter-validator.d.ts.map +0 -1
  2119. package/node_modules/@openrig/daemon/dist/domain/workspace/frontmatter-validator.js +0 -185
  2120. package/node_modules/@openrig/daemon/dist/domain/workspace/frontmatter-validator.js.map +0 -1
  2121. package/node_modules/@openrig/daemon/dist/domain/workspace/getting-started-narrative.d.ts +0 -15
  2122. package/node_modules/@openrig/daemon/dist/domain/workspace/getting-started-narrative.d.ts.map +0 -1
  2123. package/node_modules/@openrig/daemon/dist/domain/workspace/getting-started-narrative.js +0 -237
  2124. package/node_modules/@openrig/daemon/dist/domain/workspace/getting-started-narrative.js.map +0 -1
  2125. package/node_modules/@openrig/daemon/dist/domain/workspace/project-catalog.d.ts +0 -18
  2126. package/node_modules/@openrig/daemon/dist/domain/workspace/project-catalog.d.ts.map +0 -1
  2127. package/node_modules/@openrig/daemon/dist/domain/workspace/project-catalog.js +0 -66
  2128. package/node_modules/@openrig/daemon/dist/domain/workspace/project-catalog.js.map +0 -1
  2129. package/node_modules/@openrig/daemon/dist/domain/workspace/project-read.d.ts +0 -29
  2130. package/node_modules/@openrig/daemon/dist/domain/workspace/project-read.d.ts.map +0 -1
  2131. package/node_modules/@openrig/daemon/dist/domain/workspace/project-read.js +0 -125
  2132. package/node_modules/@openrig/daemon/dist/domain/workspace/project-read.js.map +0 -1
  2133. package/node_modules/@openrig/daemon/dist/domain/workspace/workspace-doctor.d.ts +0 -205
  2134. package/node_modules/@openrig/daemon/dist/domain/workspace/workspace-doctor.d.ts.map +0 -1
  2135. package/node_modules/@openrig/daemon/dist/domain/workspace/workspace-doctor.js +0 -527
  2136. package/node_modules/@openrig/daemon/dist/domain/workspace/workspace-doctor.js.map +0 -1
  2137. package/node_modules/@openrig/daemon/dist/domain/workspace/workspace-resolver.d.ts +0 -25
  2138. package/node_modules/@openrig/daemon/dist/domain/workspace/workspace-resolver.d.ts.map +0 -1
  2139. package/node_modules/@openrig/daemon/dist/domain/workspace/workspace-resolver.js +0 -86
  2140. package/node_modules/@openrig/daemon/dist/domain/workspace/workspace-resolver.js.map +0 -1
  2141. package/node_modules/@openrig/daemon/dist/gateway-human-registry-surface.d.ts +0 -3
  2142. package/node_modules/@openrig/daemon/dist/gateway-human-registry-surface.d.ts.map +0 -1
  2143. package/node_modules/@openrig/daemon/dist/gateway-human-registry-surface.js +0 -8
  2144. package/node_modules/@openrig/daemon/dist/gateway-human-registry-surface.js.map +0 -1
  2145. package/node_modules/@openrig/daemon/dist/gateway-protocol-surface.d.ts +0 -2
  2146. package/node_modules/@openrig/daemon/dist/gateway-protocol-surface.d.ts.map +0 -1
  2147. package/node_modules/@openrig/daemon/dist/gateway-protocol-surface.js +0 -6
  2148. package/node_modules/@openrig/daemon/dist/gateway-protocol-surface.js.map +0 -1
  2149. package/node_modules/@openrig/daemon/dist/gateway-slack-surface.d.ts +0 -5
  2150. package/node_modules/@openrig/daemon/dist/gateway-slack-surface.d.ts.map +0 -1
  2151. package/node_modules/@openrig/daemon/dist/gateway-slack-surface.js +0 -9
  2152. package/node_modules/@openrig/daemon/dist/gateway-slack-surface.js.map +0 -1
  2153. package/node_modules/@openrig/daemon/dist/health-detectors-surface.d.ts +0 -2
  2154. package/node_modules/@openrig/daemon/dist/health-detectors-surface.d.ts.map +0 -1
  2155. package/node_modules/@openrig/daemon/dist/health-detectors-surface.js +0 -2
  2156. package/node_modules/@openrig/daemon/dist/health-detectors-surface.js.map +0 -1
  2157. package/node_modules/@openrig/daemon/dist/health-projection-surface.d.ts +0 -3
  2158. package/node_modules/@openrig/daemon/dist/health-projection-surface.d.ts.map +0 -1
  2159. package/node_modules/@openrig/daemon/dist/health-projection-surface.js +0 -2
  2160. package/node_modules/@openrig/daemon/dist/health-projection-surface.js.map +0 -1
  2161. package/node_modules/@openrig/daemon/dist/index.d.ts +0 -92
  2162. package/node_modules/@openrig/daemon/dist/index.d.ts.map +0 -1
  2163. package/node_modules/@openrig/daemon/dist/index.js +0 -366
  2164. package/node_modules/@openrig/daemon/dist/index.js.map +0 -1
  2165. package/node_modules/@openrig/daemon/dist/instance-initialization-surface.d.ts +0 -3
  2166. package/node_modules/@openrig/daemon/dist/instance-initialization-surface.d.ts.map +0 -1
  2167. package/node_modules/@openrig/daemon/dist/instance-initialization-surface.js +0 -3
  2168. package/node_modules/@openrig/daemon/dist/instance-initialization-surface.js.map +0 -1
  2169. package/node_modules/@openrig/daemon/dist/lib/pane-envelope.d.ts +0 -50
  2170. package/node_modules/@openrig/daemon/dist/lib/pane-envelope.d.ts.map +0 -1
  2171. package/node_modules/@openrig/daemon/dist/lib/pane-envelope.js +0 -92
  2172. package/node_modules/@openrig/daemon/dist/lib/pane-envelope.js.map +0 -1
  2173. package/node_modules/@openrig/daemon/dist/local-reading-surface.d.ts +0 -3
  2174. package/node_modules/@openrig/daemon/dist/local-reading-surface.d.ts.map +0 -1
  2175. package/node_modules/@openrig/daemon/dist/local-reading-surface.js +0 -3
  2176. package/node_modules/@openrig/daemon/dist/local-reading-surface.js.map +0 -1
  2177. package/node_modules/@openrig/daemon/dist/middleware/auth-bearer-token.d.ts +0 -91
  2178. package/node_modules/@openrig/daemon/dist/middleware/auth-bearer-token.d.ts.map +0 -1
  2179. package/node_modules/@openrig/daemon/dist/middleware/auth-bearer-token.js +0 -236
  2180. package/node_modules/@openrig/daemon/dist/middleware/auth-bearer-token.js.map +0 -1
  2181. package/node_modules/@openrig/daemon/dist/openrig-compat.d.ts +0 -9
  2182. package/node_modules/@openrig/daemon/dist/openrig-compat.d.ts.map +0 -1
  2183. package/node_modules/@openrig/daemon/dist/openrig-compat.js +0 -62
  2184. package/node_modules/@openrig/daemon/dist/openrig-compat.js.map +0 -1
  2185. package/node_modules/@openrig/daemon/dist/project-catalog-surface.d.ts +0 -2
  2186. package/node_modules/@openrig/daemon/dist/project-catalog-surface.d.ts.map +0 -1
  2187. package/node_modules/@openrig/daemon/dist/project-catalog-surface.js +0 -2
  2188. package/node_modules/@openrig/daemon/dist/project-catalog-surface.js.map +0 -1
  2189. package/node_modules/@openrig/daemon/dist/project-lifecycle-surface.d.ts +0 -3
  2190. package/node_modules/@openrig/daemon/dist/project-lifecycle-surface.d.ts.map +0 -1
  2191. package/node_modules/@openrig/daemon/dist/project-lifecycle-surface.js +0 -3
  2192. package/node_modules/@openrig/daemon/dist/project-lifecycle-surface.js.map +0 -1
  2193. package/node_modules/@openrig/daemon/dist/routes/activity.d.ts +0 -16
  2194. package/node_modules/@openrig/daemon/dist/routes/activity.d.ts.map +0 -1
  2195. package/node_modules/@openrig/daemon/dist/routes/activity.js +0 -323
  2196. package/node_modules/@openrig/daemon/dist/routes/activity.js.map +0 -1
  2197. package/node_modules/@openrig/daemon/dist/routes/adapters.d.ts +0 -3
  2198. package/node_modules/@openrig/daemon/dist/routes/adapters.d.ts.map +0 -1
  2199. package/node_modules/@openrig/daemon/dist/routes/adapters.js +0 -21
  2200. package/node_modules/@openrig/daemon/dist/routes/adapters.js.map +0 -1
  2201. package/node_modules/@openrig/daemon/dist/routes/agent-images.d.ts +0 -8
  2202. package/node_modules/@openrig/daemon/dist/routes/agent-images.d.ts.map +0 -1
  2203. package/node_modules/@openrig/daemon/dist/routes/agent-images.js +0 -403
  2204. package/node_modules/@openrig/daemon/dist/routes/agent-images.js.map +0 -1
  2205. package/node_modules/@openrig/daemon/dist/routes/agents.d.ts +0 -3
  2206. package/node_modules/@openrig/daemon/dist/routes/agents.d.ts.map +0 -1
  2207. package/node_modules/@openrig/daemon/dist/routes/agents.js +0 -13
  2208. package/node_modules/@openrig/daemon/dist/routes/agents.js.map +0 -1
  2209. package/node_modules/@openrig/daemon/dist/routes/ask.d.ts +0 -3
  2210. package/node_modules/@openrig/daemon/dist/routes/ask.d.ts.map +0 -1
  2211. package/node_modules/@openrig/daemon/dist/routes/ask.js +0 -17
  2212. package/node_modules/@openrig/daemon/dist/routes/ask.js.map +0 -1
  2213. package/node_modules/@openrig/daemon/dist/routes/attention.d.ts +0 -3
  2214. package/node_modules/@openrig/daemon/dist/routes/attention.d.ts.map +0 -1
  2215. package/node_modules/@openrig/daemon/dist/routes/attention.js +0 -155
  2216. package/node_modules/@openrig/daemon/dist/routes/attention.js.map +0 -1
  2217. package/node_modules/@openrig/daemon/dist/routes/bootstrap.d.ts +0 -3
  2218. package/node_modules/@openrig/daemon/dist/routes/bootstrap.d.ts.map +0 -1
  2219. package/node_modules/@openrig/daemon/dist/routes/bootstrap.js +0 -147
  2220. package/node_modules/@openrig/daemon/dist/routes/bootstrap.js.map +0 -1
  2221. package/node_modules/@openrig/daemon/dist/routes/bundles.d.ts +0 -43
  2222. package/node_modules/@openrig/daemon/dist/routes/bundles.d.ts.map +0 -1
  2223. package/node_modules/@openrig/daemon/dist/routes/bundles.js +0 -1457
  2224. package/node_modules/@openrig/daemon/dist/routes/bundles.js.map +0 -1
  2225. package/node_modules/@openrig/daemon/dist/routes/chat.d.ts +0 -3
  2226. package/node_modules/@openrig/daemon/dist/routes/chat.d.ts.map +0 -1
  2227. package/node_modules/@openrig/daemon/dist/routes/chat.js +0 -150
  2228. package/node_modules/@openrig/daemon/dist/routes/chat.js.map +0 -1
  2229. package/node_modules/@openrig/daemon/dist/routes/compaction.d.ts +0 -17
  2230. package/node_modules/@openrig/daemon/dist/routes/compaction.d.ts.map +0 -1
  2231. package/node_modules/@openrig/daemon/dist/routes/compaction.js +0 -129
  2232. package/node_modules/@openrig/daemon/dist/routes/compaction.js.map +0 -1
  2233. package/node_modules/@openrig/daemon/dist/routes/config.d.ts +0 -5
  2234. package/node_modules/@openrig/daemon/dist/routes/config.d.ts.map +0 -1
  2235. package/node_modules/@openrig/daemon/dist/routes/config.js +0 -123
  2236. package/node_modules/@openrig/daemon/dist/routes/config.js.map +0 -1
  2237. package/node_modules/@openrig/daemon/dist/routes/context-packs.d.ts +0 -3
  2238. package/node_modules/@openrig/daemon/dist/routes/context-packs.d.ts.map +0 -1
  2239. package/node_modules/@openrig/daemon/dist/routes/context-packs.js +0 -654
  2240. package/node_modules/@openrig/daemon/dist/routes/context-packs.js.map +0 -1
  2241. package/node_modules/@openrig/daemon/dist/routes/crash-cart.d.ts +0 -4
  2242. package/node_modules/@openrig/daemon/dist/routes/crash-cart.d.ts.map +0 -1
  2243. package/node_modules/@openrig/daemon/dist/routes/crash-cart.js +0 -147
  2244. package/node_modules/@openrig/daemon/dist/routes/crash-cart.js.map +0 -1
  2245. package/node_modules/@openrig/daemon/dist/routes/discovery.d.ts +0 -3
  2246. package/node_modules/@openrig/daemon/dist/routes/discovery.d.ts.map +0 -1
  2247. package/node_modules/@openrig/daemon/dist/routes/discovery.js +0 -200
  2248. package/node_modules/@openrig/daemon/dist/routes/discovery.js.map +0 -1
  2249. package/node_modules/@openrig/daemon/dist/routes/down.d.ts +0 -3
  2250. package/node_modules/@openrig/daemon/dist/routes/down.d.ts.map +0 -1
  2251. package/node_modules/@openrig/daemon/dist/routes/down.js +0 -55
  2252. package/node_modules/@openrig/daemon/dist/routes/down.js.map +0 -1
  2253. package/node_modules/@openrig/daemon/dist/routes/env.d.ts +0 -3
  2254. package/node_modules/@openrig/daemon/dist/routes/env.d.ts.map +0 -1
  2255. package/node_modules/@openrig/daemon/dist/routes/env.js +0 -119
  2256. package/node_modules/@openrig/daemon/dist/routes/env.js.map +0 -1
  2257. package/node_modules/@openrig/daemon/dist/routes/events.d.ts +0 -3
  2258. package/node_modules/@openrig/daemon/dist/routes/events.d.ts.map +0 -1
  2259. package/node_modules/@openrig/daemon/dist/routes/events.js +0 -71
  2260. package/node_modules/@openrig/daemon/dist/routes/events.js.map +0 -1
  2261. package/node_modules/@openrig/daemon/dist/routes/files.d.ts +0 -17
  2262. package/node_modules/@openrig/daemon/dist/routes/files.d.ts.map +0 -1
  2263. package/node_modules/@openrig/daemon/dist/routes/files.js +0 -292
  2264. package/node_modules/@openrig/daemon/dist/routes/files.js.map +0 -1
  2265. package/node_modules/@openrig/daemon/dist/routes/gateway.d.ts +0 -7
  2266. package/node_modules/@openrig/daemon/dist/routes/gateway.d.ts.map +0 -1
  2267. package/node_modules/@openrig/daemon/dist/routes/gateway.js +0 -104
  2268. package/node_modules/@openrig/daemon/dist/routes/gateway.js.map +0 -1
  2269. package/node_modules/@openrig/daemon/dist/routes/health-diagnosis.d.ts +0 -3
  2270. package/node_modules/@openrig/daemon/dist/routes/health-diagnosis.d.ts.map +0 -1
  2271. package/node_modules/@openrig/daemon/dist/routes/health-diagnosis.js +0 -47
  2272. package/node_modules/@openrig/daemon/dist/routes/health-diagnosis.js.map +0 -1
  2273. package/node_modules/@openrig/daemon/dist/routes/health-summary.d.ts +0 -9
  2274. package/node_modules/@openrig/daemon/dist/routes/health-summary.d.ts.map +0 -1
  2275. package/node_modules/@openrig/daemon/dist/routes/health-summary.js +0 -52
  2276. package/node_modules/@openrig/daemon/dist/routes/health-summary.js.map +0 -1
  2277. package/node_modules/@openrig/daemon/dist/routes/health.d.ts +0 -3
  2278. package/node_modules/@openrig/daemon/dist/routes/health.d.ts.map +0 -1
  2279. package/node_modules/@openrig/daemon/dist/routes/health.js +0 -50
  2280. package/node_modules/@openrig/daemon/dist/routes/health.js.map +0 -1
  2281. package/node_modules/@openrig/daemon/dist/routes/hosts.d.ts +0 -7
  2282. package/node_modules/@openrig/daemon/dist/routes/hosts.d.ts.map +0 -1
  2283. package/node_modules/@openrig/daemon/dist/routes/hosts.js +0 -353
  2284. package/node_modules/@openrig/daemon/dist/routes/hosts.js.map +0 -1
  2285. package/node_modules/@openrig/daemon/dist/routes/info.d.ts +0 -3
  2286. package/node_modules/@openrig/daemon/dist/routes/info.d.ts.map +0 -1
  2287. package/node_modules/@openrig/daemon/dist/routes/info.js +0 -20
  2288. package/node_modules/@openrig/daemon/dist/routes/info.js.map +0 -1
  2289. package/node_modules/@openrig/daemon/dist/routes/kernel-status.d.ts +0 -3
  2290. package/node_modules/@openrig/daemon/dist/routes/kernel-status.d.ts.map +0 -1
  2291. package/node_modules/@openrig/daemon/dist/routes/kernel-status.js +0 -40
  2292. package/node_modules/@openrig/daemon/dist/routes/kernel-status.js.map +0 -1
  2293. package/node_modules/@openrig/daemon/dist/routes/mission-control.d.ts +0 -37
  2294. package/node_modules/@openrig/daemon/dist/routes/mission-control.d.ts.map +0 -1
  2295. package/node_modules/@openrig/daemon/dist/routes/mission-control.js +0 -398
  2296. package/node_modules/@openrig/daemon/dist/routes/mission-control.js.map +0 -1
  2297. package/node_modules/@openrig/daemon/dist/routes/missions.d.ts +0 -10
  2298. package/node_modules/@openrig/daemon/dist/routes/missions.d.ts.map +0 -1
  2299. package/node_modules/@openrig/daemon/dist/routes/missions.js +0 -207
  2300. package/node_modules/@openrig/daemon/dist/routes/missions.js.map +0 -1
  2301. package/node_modules/@openrig/daemon/dist/routes/packages.d.ts +0 -3
  2302. package/node_modules/@openrig/daemon/dist/routes/packages.d.ts.map +0 -1
  2303. package/node_modules/@openrig/daemon/dist/routes/packages.js +0 -341
  2304. package/node_modules/@openrig/daemon/dist/routes/packages.js.map +0 -1
  2305. package/node_modules/@openrig/daemon/dist/routes/plugins.d.ts +0 -3
  2306. package/node_modules/@openrig/daemon/dist/routes/plugins.d.ts.map +0 -1
  2307. package/node_modules/@openrig/daemon/dist/routes/plugins.js +0 -223
  2308. package/node_modules/@openrig/daemon/dist/routes/plugins.js.map +0 -1
  2309. package/node_modules/@openrig/daemon/dist/routes/progress.d.ts +0 -7
  2310. package/node_modules/@openrig/daemon/dist/routes/progress.d.ts.map +0 -1
  2311. package/node_modules/@openrig/daemon/dist/routes/progress.js +0 -33
  2312. package/node_modules/@openrig/daemon/dist/routes/progress.js.map +0 -1
  2313. package/node_modules/@openrig/daemon/dist/routes/projects.d.ts +0 -12
  2314. package/node_modules/@openrig/daemon/dist/routes/projects.d.ts.map +0 -1
  2315. package/node_modules/@openrig/daemon/dist/routes/projects.js +0 -178
  2316. package/node_modules/@openrig/daemon/dist/routes/projects.js.map +0 -1
  2317. package/node_modules/@openrig/daemon/dist/routes/proof.d.ts +0 -3
  2318. package/node_modules/@openrig/daemon/dist/routes/proof.d.ts.map +0 -1
  2319. package/node_modules/@openrig/daemon/dist/routes/proof.js +0 -65
  2320. package/node_modules/@openrig/daemon/dist/routes/proof.js.map +0 -1
  2321. package/node_modules/@openrig/daemon/dist/routes/provider.d.ts +0 -3
  2322. package/node_modules/@openrig/daemon/dist/routes/provider.d.ts.map +0 -1
  2323. package/node_modules/@openrig/daemon/dist/routes/provider.js +0 -124
  2324. package/node_modules/@openrig/daemon/dist/routes/provider.js.map +0 -1
  2325. package/node_modules/@openrig/daemon/dist/routes/ps.d.ts +0 -3
  2326. package/node_modules/@openrig/daemon/dist/routes/ps.d.ts.map +0 -1
  2327. package/node_modules/@openrig/daemon/dist/routes/ps.js +0 -14
  2328. package/node_modules/@openrig/daemon/dist/routes/ps.js.map +0 -1
  2329. package/node_modules/@openrig/daemon/dist/routes/queue.d.ts +0 -15
  2330. package/node_modules/@openrig/daemon/dist/routes/queue.d.ts.map +0 -1
  2331. package/node_modules/@openrig/daemon/dist/routes/queue.js +0 -959
  2332. package/node_modules/@openrig/daemon/dist/routes/queue.js.map +0 -1
  2333. package/node_modules/@openrig/daemon/dist/routes/require-sender-identity.d.ts +0 -115
  2334. package/node_modules/@openrig/daemon/dist/routes/require-sender-identity.d.ts.map +0 -1
  2335. package/node_modules/@openrig/daemon/dist/routes/require-sender-identity.js +0 -137
  2336. package/node_modules/@openrig/daemon/dist/routes/require-sender-identity.js.map +0 -1
  2337. package/node_modules/@openrig/daemon/dist/routes/restore-check.d.ts +0 -13
  2338. package/node_modules/@openrig/daemon/dist/routes/restore-check.d.ts.map +0 -1
  2339. package/node_modules/@openrig/daemon/dist/routes/restore-check.js +0 -240
  2340. package/node_modules/@openrig/daemon/dist/routes/restore-check.js.map +0 -1
  2341. package/node_modules/@openrig/daemon/dist/routes/review.d.ts +0 -3
  2342. package/node_modules/@openrig/daemon/dist/routes/review.d.ts.map +0 -1
  2343. package/node_modules/@openrig/daemon/dist/routes/review.js +0 -205
  2344. package/node_modules/@openrig/daemon/dist/routes/review.js.map +0 -1
  2345. package/node_modules/@openrig/daemon/dist/routes/rig-cmux.d.ts +0 -3
  2346. package/node_modules/@openrig/daemon/dist/routes/rig-cmux.d.ts.map +0 -1
  2347. package/node_modules/@openrig/daemon/dist/routes/rig-cmux.js +0 -180
  2348. package/node_modules/@openrig/daemon/dist/routes/rig-cmux.js.map +0 -1
  2349. package/node_modules/@openrig/daemon/dist/routes/rig-mode.d.ts +0 -9
  2350. package/node_modules/@openrig/daemon/dist/routes/rig-mode.d.ts.map +0 -1
  2351. package/node_modules/@openrig/daemon/dist/routes/rig-mode.js +0 -227
  2352. package/node_modules/@openrig/daemon/dist/routes/rig-mode.js.map +0 -1
  2353. package/node_modules/@openrig/daemon/dist/routes/rigs.d.ts +0 -6
  2354. package/node_modules/@openrig/daemon/dist/routes/rigs.d.ts.map +0 -1
  2355. package/node_modules/@openrig/daemon/dist/routes/rigs.js +0 -759
  2356. package/node_modules/@openrig/daemon/dist/routes/rigs.js.map +0 -1
  2357. package/node_modules/@openrig/daemon/dist/routes/rigspec.d.ts +0 -6
  2358. package/node_modules/@openrig/daemon/dist/routes/rigspec.d.ts.map +0 -1
  2359. package/node_modules/@openrig/daemon/dist/routes/rigspec.js +0 -246
  2360. package/node_modules/@openrig/daemon/dist/routes/rigspec.js.map +0 -1
  2361. package/node_modules/@openrig/daemon/dist/routes/scope-approve.d.ts +0 -3
  2362. package/node_modules/@openrig/daemon/dist/routes/scope-approve.d.ts.map +0 -1
  2363. package/node_modules/@openrig/daemon/dist/routes/scope-approve.js +0 -71
  2364. package/node_modules/@openrig/daemon/dist/routes/scope-approve.js.map +0 -1
  2365. package/node_modules/@openrig/daemon/dist/routes/scope-audit.d.ts +0 -3
  2366. package/node_modules/@openrig/daemon/dist/routes/scope-audit.d.ts.map +0 -1
  2367. package/node_modules/@openrig/daemon/dist/routes/scope-audit.js +0 -297
  2368. package/node_modules/@openrig/daemon/dist/routes/scope-audit.js.map +0 -1
  2369. package/node_modules/@openrig/daemon/dist/routes/scopes.d.ts +0 -3
  2370. package/node_modules/@openrig/daemon/dist/routes/scopes.d.ts.map +0 -1
  2371. package/node_modules/@openrig/daemon/dist/routes/scopes.js +0 -163
  2372. package/node_modules/@openrig/daemon/dist/routes/scopes.js.map +0 -1
  2373. package/node_modules/@openrig/daemon/dist/routes/seat.d.ts +0 -7
  2374. package/node_modules/@openrig/daemon/dist/routes/seat.d.ts.map +0 -1
  2375. package/node_modules/@openrig/daemon/dist/routes/seat.js +0 -267
  2376. package/node_modules/@openrig/daemon/dist/routes/seat.js.map +0 -1
  2377. package/node_modules/@openrig/daemon/dist/routes/sessions.d.ts +0 -5
  2378. package/node_modules/@openrig/daemon/dist/routes/sessions.d.ts.map +0 -1
  2379. package/node_modules/@openrig/daemon/dist/routes/sessions.js +0 -691
  2380. package/node_modules/@openrig/daemon/dist/routes/sessions.js.map +0 -1
  2381. package/node_modules/@openrig/daemon/dist/routes/skills.d.ts +0 -3
  2382. package/node_modules/@openrig/daemon/dist/routes/skills.d.ts.map +0 -1
  2383. package/node_modules/@openrig/daemon/dist/routes/skills.js +0 -190
  2384. package/node_modules/@openrig/daemon/dist/routes/skills.js.map +0 -1
  2385. package/node_modules/@openrig/daemon/dist/routes/slices.d.ts +0 -9
  2386. package/node_modules/@openrig/daemon/dist/routes/slices.d.ts.map +0 -1
  2387. package/node_modules/@openrig/daemon/dist/routes/slices.js +0 -280
  2388. package/node_modules/@openrig/daemon/dist/routes/slices.js.map +0 -1
  2389. package/node_modules/@openrig/daemon/dist/routes/snapshots.d.ts +0 -4
  2390. package/node_modules/@openrig/daemon/dist/routes/snapshots.d.ts.map +0 -1
  2391. package/node_modules/@openrig/daemon/dist/routes/snapshots.js +0 -179
  2392. package/node_modules/@openrig/daemon/dist/routes/snapshots.js.map +0 -1
  2393. package/node_modules/@openrig/daemon/dist/routes/spec-library.d.ts +0 -3
  2394. package/node_modules/@openrig/daemon/dist/routes/spec-library.d.ts.map +0 -1
  2395. package/node_modules/@openrig/daemon/dist/routes/spec-library.js +0 -207
  2396. package/node_modules/@openrig/daemon/dist/routes/spec-library.js.map +0 -1
  2397. package/node_modules/@openrig/daemon/dist/routes/spec-review.d.ts +0 -3
  2398. package/node_modules/@openrig/daemon/dist/routes/spec-review.d.ts.map +0 -1
  2399. package/node_modules/@openrig/daemon/dist/routes/spec-review.js +0 -41
  2400. package/node_modules/@openrig/daemon/dist/routes/spec-review.js.map +0 -1
  2401. package/node_modules/@openrig/daemon/dist/routes/startup.d.ts +0 -7
  2402. package/node_modules/@openrig/daemon/dist/routes/startup.d.ts.map +0 -1
  2403. package/node_modules/@openrig/daemon/dist/routes/startup.js +0 -221
  2404. package/node_modules/@openrig/daemon/dist/routes/startup.js.map +0 -1
  2405. package/node_modules/@openrig/daemon/dist/routes/steering.d.ts +0 -7
  2406. package/node_modules/@openrig/daemon/dist/routes/steering.d.ts.map +0 -1
  2407. package/node_modules/@openrig/daemon/dist/routes/steering.js +0 -27
  2408. package/node_modules/@openrig/daemon/dist/routes/steering.js.map +0 -1
  2409. package/node_modules/@openrig/daemon/dist/routes/stream.d.ts +0 -9
  2410. package/node_modules/@openrig/daemon/dist/routes/stream.d.ts.map +0 -1
  2411. package/node_modules/@openrig/daemon/dist/routes/stream.js +0 -193
  2412. package/node_modules/@openrig/daemon/dist/routes/stream.js.map +0 -1
  2413. package/node_modules/@openrig/daemon/dist/routes/telemetry.d.ts +0 -9
  2414. package/node_modules/@openrig/daemon/dist/routes/telemetry.d.ts.map +0 -1
  2415. package/node_modules/@openrig/daemon/dist/routes/telemetry.js +0 -53
  2416. package/node_modules/@openrig/daemon/dist/routes/telemetry.js.map +0 -1
  2417. package/node_modules/@openrig/daemon/dist/routes/terminal-ws.d.ts +0 -7
  2418. package/node_modules/@openrig/daemon/dist/routes/terminal-ws.d.ts.map +0 -1
  2419. package/node_modules/@openrig/daemon/dist/routes/terminal-ws.js +0 -169
  2420. package/node_modules/@openrig/daemon/dist/routes/terminal-ws.js.map +0 -1
  2421. package/node_modules/@openrig/daemon/dist/routes/terminal.d.ts +0 -11
  2422. package/node_modules/@openrig/daemon/dist/routes/terminal.d.ts.map +0 -1
  2423. package/node_modules/@openrig/daemon/dist/routes/terminal.js +0 -114
  2424. package/node_modules/@openrig/daemon/dist/routes/terminal.js.map +0 -1
  2425. package/node_modules/@openrig/daemon/dist/routes/transcripts.d.ts +0 -3
  2426. package/node_modules/@openrig/daemon/dist/routes/transcripts.d.ts.map +0 -1
  2427. package/node_modules/@openrig/daemon/dist/routes/transcripts.js +0 -197
  2428. package/node_modules/@openrig/daemon/dist/routes/transcripts.js.map +0 -1
  2429. package/node_modules/@openrig/daemon/dist/routes/transport.d.ts +0 -5
  2430. package/node_modules/@openrig/daemon/dist/routes/transport.d.ts.map +0 -1
  2431. package/node_modules/@openrig/daemon/dist/routes/transport.js +0 -256
  2432. package/node_modules/@openrig/daemon/dist/routes/transport.js.map +0 -1
  2433. package/node_modules/@openrig/daemon/dist/routes/up.d.ts +0 -28
  2434. package/node_modules/@openrig/daemon/dist/routes/up.d.ts.map +0 -1
  2435. package/node_modules/@openrig/daemon/dist/routes/up.js +0 -429
  2436. package/node_modules/@openrig/daemon/dist/routes/up.js.map +0 -1
  2437. package/node_modules/@openrig/daemon/dist/routes/views.d.ts +0 -13
  2438. package/node_modules/@openrig/daemon/dist/routes/views.d.ts.map +0 -1
  2439. package/node_modules/@openrig/daemon/dist/routes/views.js +0 -133
  2440. package/node_modules/@openrig/daemon/dist/routes/views.js.map +0 -1
  2441. package/node_modules/@openrig/daemon/dist/routes/wake-resolve.d.ts +0 -3
  2442. package/node_modules/@openrig/daemon/dist/routes/wake-resolve.d.ts.map +0 -1
  2443. package/node_modules/@openrig/daemon/dist/routes/wake-resolve.js +0 -14
  2444. package/node_modules/@openrig/daemon/dist/routes/wake-resolve.js.map +0 -1
  2445. package/node_modules/@openrig/daemon/dist/routes/watchdog.d.ts +0 -18
  2446. package/node_modules/@openrig/daemon/dist/routes/watchdog.d.ts.map +0 -1
  2447. package/node_modules/@openrig/daemon/dist/routes/watchdog.js +0 -186
  2448. package/node_modules/@openrig/daemon/dist/routes/watchdog.js.map +0 -1
  2449. package/node_modules/@openrig/daemon/dist/routes/whoami.d.ts +0 -3
  2450. package/node_modules/@openrig/daemon/dist/routes/whoami.d.ts.map +0 -1
  2451. package/node_modules/@openrig/daemon/dist/routes/whoami.js +0 -49
  2452. package/node_modules/@openrig/daemon/dist/routes/whoami.js.map +0 -1
  2453. package/node_modules/@openrig/daemon/dist/routes/workflow.d.ts +0 -20
  2454. package/node_modules/@openrig/daemon/dist/routes/workflow.d.ts.map +0 -1
  2455. package/node_modules/@openrig/daemon/dist/routes/workflow.js +0 -430
  2456. package/node_modules/@openrig/daemon/dist/routes/workflow.js.map +0 -1
  2457. package/node_modules/@openrig/daemon/dist/routes/workspace.d.ts +0 -3
  2458. package/node_modules/@openrig/daemon/dist/routes/workspace.d.ts.map +0 -1
  2459. package/node_modules/@openrig/daemon/dist/routes/workspace.js +0 -132
  2460. package/node_modules/@openrig/daemon/dist/routes/workspace.js.map +0 -1
  2461. package/node_modules/@openrig/daemon/dist/seat-recap-store-surface.d.ts +0 -2
  2462. package/node_modules/@openrig/daemon/dist/seat-recap-store-surface.d.ts.map +0 -1
  2463. package/node_modules/@openrig/daemon/dist/seat-recap-store-surface.js +0 -6
  2464. package/node_modules/@openrig/daemon/dist/seat-recap-store-surface.js.map +0 -1
  2465. package/node_modules/@openrig/daemon/dist/seed.d.ts +0 -2
  2466. package/node_modules/@openrig/daemon/dist/seed.d.ts.map +0 -1
  2467. package/node_modules/@openrig/daemon/dist/seed.js +0 -41
  2468. package/node_modules/@openrig/daemon/dist/seed.js.map +0 -1
  2469. package/node_modules/@openrig/daemon/dist/server.d.ts +0 -302
  2470. package/node_modules/@openrig/daemon/dist/server.d.ts.map +0 -1
  2471. package/node_modules/@openrig/daemon/dist/server.js +0 -521
  2472. package/node_modules/@openrig/daemon/dist/server.js.map +0 -1
  2473. package/node_modules/@openrig/daemon/dist/skill-loadout-surface.d.ts +0 -3
  2474. package/node_modules/@openrig/daemon/dist/skill-loadout-surface.d.ts.map +0 -1
  2475. package/node_modules/@openrig/daemon/dist/skill-loadout-surface.js +0 -2
  2476. package/node_modules/@openrig/daemon/dist/skill-loadout-surface.js.map +0 -1
  2477. package/node_modules/@openrig/daemon/dist/spec-conformance-surface.d.ts +0 -2
  2478. package/node_modules/@openrig/daemon/dist/spec-conformance-surface.d.ts.map +0 -1
  2479. package/node_modules/@openrig/daemon/dist/spec-conformance-surface.js +0 -6
  2480. package/node_modules/@openrig/daemon/dist/spec-conformance-surface.js.map +0 -1
  2481. package/node_modules/@openrig/daemon/dist/startup.d.ts +0 -46
  2482. package/node_modules/@openrig/daemon/dist/startup.d.ts.map +0 -1
  2483. package/node_modules/@openrig/daemon/dist/startup.js +0 -2183
  2484. package/node_modules/@openrig/daemon/dist/startup.js.map +0 -1
  2485. package/node_modules/@openrig/daemon/dist/system-world-surface.d.ts +0 -2
  2486. package/node_modules/@openrig/daemon/dist/system-world-surface.d.ts.map +0 -1
  2487. package/node_modules/@openrig/daemon/dist/system-world-surface.js +0 -2
  2488. package/node_modules/@openrig/daemon/dist/system-world-surface.js.map +0 -1
  2489. package/node_modules/@openrig/daemon/dist/terminal/TerminalSessionBroker.d.ts +0 -173
  2490. package/node_modules/@openrig/daemon/dist/terminal/TerminalSessionBroker.d.ts.map +0 -1
  2491. package/node_modules/@openrig/daemon/dist/terminal/TerminalSessionBroker.js +0 -570
  2492. package/node_modules/@openrig/daemon/dist/terminal/TerminalSessionBroker.js.map +0 -1
  2493. package/node_modules/@openrig/daemon/package.json +0 -88
@@ -1,2840 +0,0 @@
1
- import { readWakeLadderBackstop } from "./queue-wake-ladder.js";
2
- import { createHash } from "node:crypto";
3
- import { loadHumanRegistry, resolveRegisteredHumanAddress } from "./gateway/human-registry.js";
4
- import { resolveExternal } from "./gateway/external-admission.js";
5
- import { QueueTransitionLog } from "./queue-transition-log.js";
6
- import { WAKE_INTENT_PREFIX } from "./outbox-handler.js";
7
- import { derivePickup } from "./queue-pickup.js";
8
- import { lastMeaningfulTransition, readWaitingView } from "./queue-waiting.js";
9
- import { wrapPaneEnvelope } from "../lib/pane-envelope.js";
10
- import { getSelfHostId } from "./hosts/fanout-contract.js";
11
- import { parseSessionName, isHumanSeatSessionRef } from "./session-name.js";
12
- import { classifyDestination } from "./gateway/destination-resolver.js";
13
- import { computeClosureRequiredAt, validateClosure, } from "./hot-potato-enforcer.js";
14
- import { isHumanSeatSession, validateHumanPark, validateHumanRoute } from "./human-route-enforcer.js";
15
- import { QueueWakeRepository, USAGE_LIMIT_BLOCKER_TAG, } from "./queue-wake-repository.js";
16
- import { WatchdogJobsRepository } from "./watchdog-jobs-repository.js";
17
- import { armQueueWait, backOffQueueWait, refreshQueueWaits, evaluateQueueWait, retargetQueueWait } from "./queue-wait-backoff.js";
18
- export const QUEUE_STATES = [
19
- "pending",
20
- "in-progress",
21
- "done",
22
- "blocked",
23
- "failed",
24
- "denied",
25
- "canceled",
26
- "handed-off",
27
- ];
28
- /** OPR.0.4.6.FS-1 (W2 P1): the queue's terminal state set, named ONCE. The
29
- * archiver (queue-retention.ts) AND the inline closure guards below all consume
30
- * THIS predicate, so a future terminal-state addition can never silently
31
- * diverge the archiver from the queue (arch D3-REFINEMENT P1; widen-never-sibling).
32
- * `['done','handed-off']` is the full terminal set — workflow step closures exit
33
- * `handoff -> state=handed-off`, the highest-volume terminal class. The `satisfies`
34
- * clause is the compile guard: removing a state from QUEUE_STATES fails here. */
35
- export const TERMINAL_QUEUE_STATES = ["done", "handed-off"];
36
- export function isTerminalState(state) {
37
- return TERMINAL_QUEUE_STATES.includes(state);
38
- }
39
- /** 0.5.1-53 — the ACTIVE (still-progressing) states. A blocker is "live" iff active; any other
40
- * state (done/handed-off/canceled/denied/failed) means the block will never lift. This is DISTINCT
41
- * from the archiver's TERMINAL_QUEUE_STATES (done/handed-off) — a narrower concept — so it is named
42
- * separately and derived from QUEUE_STATES (the `satisfies` guard fails if a state is removed). */
43
- export const ACTIVE_QUEUE_STATES = ["pending", "in-progress", "blocked"];
44
- export function isBlockerLive(state) {
45
- return ACTIVE_QUEUE_STATES.includes(state);
46
- }
47
- const AUTO_UNPARK_WAKE_TAG = "queue:auto-unpark:blocker";
48
- const AUTO_UNPARK_BLOCKER_TAG_PREFIX = "queue:auto-unpark:blocker-ref:";
49
- /** 0.5.1-53 Atom 1a — typed non-qitem gate blocker prefixes. A park may be gated on a fold / auth /
50
- * external condition that is NOT a qitem and NOT a human seat; these prefixes make such a gate a
51
- * first-class, compact-visible, downstream-classifiable blocker (the ruling detail rides a transition). */
52
- export const TYPED_GATE_BLOCKER_PREFIXES = ["fold:", "auth:", "external:"];
53
- export function typedGateBlockerPrefix(value) {
54
- return TYPED_GATE_BLOCKER_PREFIXES.find((p) => value.startsWith(p)) ?? null;
55
- }
56
- /** A well-formed typed gate blocker: a recognized prefix AND a non-empty gate body. */
57
- export function isTypedGateBlocker(value) {
58
- if (typeof value !== "string")
59
- return false;
60
- const p = typedGateBlockerPrefix(value);
61
- return p != null && value.slice(p.length).trim().length > 0;
62
- }
63
- /**
64
- * 0.5.1-54 DR-1 (classifier fold, PM ruling qitem-20260811163927-74493d76) — classify a create-path
65
- * nudge FAILURE so the surfaced count becomes ACTIONABLE (constraint iii). Two classes:
66
- * - "permanent-topology": the destination is not resolvable on THIS daemon (the nudge can never
67
- * succeed here — a local-registry lookup reporting "not found" for a seat that lives on another
68
- * daemon). Retrying is a guaranteed-permanent failure repeated on a schedule → NOT retryable;
69
- * these belong to the ADDRESSING family, not to retry machinery. (The live corpus: 9/10 strands.)
70
- * - "transient": a live, resolvable seat that refused THIS attempt (busy at an interactive prompt) or
71
- * the attempt timed out — the only class a future bounded re-attempt (DR-2, held n=1) would touch.
72
- * - "unknown": a failure whose text matches NEITHER known pattern. NOT silently defaulted to transient
73
- * (ship-block ruling qitem-20260811170941-5eadb968): defaulting would assert "a live seat refused
74
- * this attempt" for a string that only means "did not match the permanent pattern" — two different
75
- * claims. An unknown must read as unknown (the same rule the ACTIVITY hookless=unknown ruling names);
76
- * a default that collapses unknown into a known class is the exact sin, mirrored.
77
- * Returns null when `lastNudgeResult` is not a recorded failure (`failed:%`).
78
- *
79
- * Each class is a POSITIVE match — there is no default class. DR-2 (retry) stays HELD at n=1; this is
80
- * READ-side labeling only, making the strand's nature legible (addressing-fix vs retry vs triage-the-unknown).
81
- */
82
- export function classifyNudgeFailure(lastNudgeResult) {
83
- if (typeof lastNudgeResult !== "string" || !lastNudgeResult.startsWith("failed:"))
84
- return null;
85
- // permanent-topology: local-registry "not found" — the destination is not resolvable on THIS daemon.
86
- if (/\bnot found\b/i.test(lastNudgeResult))
87
- return "permanent-topology";
88
- // transient: a live seat refused this attempt (busy at a prompt) or the attempt timed out.
89
- if (/interactive prompt|\btimed?\s?out\b/i.test(lastNudgeResult))
90
- return "transient";
91
- // unknown: matched neither — do NOT collapse into transient. Honest label > convenient default.
92
- return "unknown";
93
- }
94
- export const QUEUE_PRIORITIES = ["routine", "urgent", "critical"];
95
- export class QueueRepositoryError extends Error {
96
- code;
97
- meta;
98
- constructor(code, message, meta) {
99
- super(message);
100
- this.code = code;
101
- this.meta = meta;
102
- }
103
- }
104
- /** OPR.0.4.6.WF5 (guard-named fix shape): exported so the workflow
105
- * domain can PREALLOCATE a gate packet's id — the class-(c) exception
106
- * identity tags need occurrence:<gatePacketId> ON the packet at create
107
- * (one item, tagged in its own create — never a second item, never a
108
- * post-create tag rewrite). The queue still mints ids for every caller
109
- * that does not preallocate. */
110
- export function newQitemId() {
111
- const ts = new Date().toISOString().replace(/[-:T.Z]/g, "").slice(0, 14);
112
- const hex = Math.floor(Math.random() * 0xffffffff)
113
- .toString(16)
114
- .padStart(8, "0");
115
- return `qitem-${ts}-${hex}`;
116
- }
117
- /**
118
- * OPR.0.4.6.MH3 Q-a: is this the SQLite PRIMARY KEY conflict on
119
- * queue_items.qitem_id? better-sqlite3 sets `.code` on its SqliteError; the
120
- * message check is a defensive twin so a driver-name change never silently
121
- * turns an idempotent absorb into a 500.
122
- */
123
- export function isQitemPrimaryKeyConflict(err) {
124
- if (!(err instanceof Error))
125
- return false;
126
- const code = err.code ?? "";
127
- if (code === "SQLITE_CONSTRAINT_PRIMARYKEY" || code === "SQLITE_CONSTRAINT_UNIQUE")
128
- return true;
129
- return /UNIQUE constraint failed: queue_items\.qitem_id/.test(err.message);
130
- }
131
- /**
132
- * OPR.0.4.6.MH3 D-1 (FR-4/FR-5): the deterministic cross-host SUCCESSOR id.
133
- *
134
- * A cross-host handoff exposes no caller `--id`, so the successor's dedup
135
- * identity must come from the operation itself: the id is a PURE, STATELESS
136
- * function of (source qitemId, destination session, destination host). Same
137
- * arguments → same id on every re-drive, across daemon restarts, with zero
138
- * local state — so the origin-side PRIMARY KEY absorb (Q-a) converges every
139
- * interrupted-close re-drive. Source→successor is 1:1 by construction (a
140
- * closed source is terminal; nothing re-opens it). The `qitem-xh-` namespace
141
- * makes collision with organic `qitem-<ts>-<hex>` ids structurally impossible
142
- * (plan R-2). The compound key is JSON-encoded — no hand-rolled separators.
143
- *
144
- * n1 residual (arch-named, inherent to the ratified at-least-once/no-2PC
145
- * fence — NOT a dedup bug): a re-drive naming a DIFFERENT destination before
146
- * the source close lands is a NEW handoff decision and derives a DIFFERENT
147
- * id, so it cannot absorb the earlier successor — that earlier successor can
148
- * remain live on the target host. The chain_of_record + cross-host provenance
149
- * tags keep such an orphan visible/traceable; the source-close conflict check
150
- * surfaces the disagreement rather than overwriting it.
151
- */
152
- export function deriveCrossHostSuccessorId(sourceQitemId, destinationSession, hostId) {
153
- const digest = createHash("sha256")
154
- .update(JSON.stringify([sourceQitemId, destinationSession, hostId]))
155
- .digest("hex")
156
- .slice(0, 16);
157
- return `qitem-xh-${digest}`;
158
- }
159
- /** PL-007 — defensive column probe. Older test fixtures bypass the
160
- * canonical migration list, so target_repo may be absent. Mirrors
161
- * the `hasNodeColumn` pattern in rig-repository.ts. */
162
- function detectQueueColumn(db, columnName) {
163
- try {
164
- return db.prepare("PRAGMA table_info(queue_items)").all()
165
- .some((row) => row.name === columnName);
166
- }
167
- catch {
168
- return false;
169
- }
170
- }
171
- function detectTable(db, tableName) {
172
- try {
173
- return !!db.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = ?").get(tableName);
174
- }
175
- catch {
176
- return false;
177
- }
178
- }
179
- /**
180
- * L3 — Queue repository. Owns CRUD over `queue_items` plus the wired-in
181
- * append-only transition log and hot-potato strict-rejection contract.
182
- *
183
- * Pattern mirrors `chat-repository.ts` (single class, atomic transactions,
184
- * persist-event-then-notify). Cross-rig validation hook is `validateRig` —
185
- * Phase A wires no-op; Phase B can plug in the rig registry to reject
186
- * phantom-rig destinations. POC compatibility: `qitem_id` shape preserved.
187
- */
188
- // Reduced column set for compact list rows (body/summary/evidence_ref omitted →
189
- // rowToItem backfills them empty). Shared by `list` and `findOverdue` (Slice 15)
190
- // so the compact projection cannot drift between the two.
191
- const COMPACT_QUEUE_COLUMNS = "qitem_id, ts_created, ts_updated, source_session, destination_session, state, priority, tier, tags, blocked_on, handed_off_to, handed_off_from, expires_at, closure_reason, closure_target, closure_required_at, claimed_at, last_nudge_attempt, last_nudge_result, last_heartbeat, resolution, target_repo";
192
- export function stampSelfHostSuffix(session) {
193
- if (session === undefined)
194
- return undefined;
195
- const selfId = getSelfHostId();
196
- if (!selfId)
197
- return session;
198
- if (session.split("@").length !== 2)
199
- return session; // not a bare member@rig — untouched
200
- return `${session}@${selfId}`;
201
- }
202
- /**
203
- * 51-09 increment 4b — additive TEACHING for the unknown_destination_rig refusal
204
- * (arch ruling c9964404, mechanism ii). 3-part destinations ALREADY refuse (BR-1:
205
- * member@rig@host greedy-folds to rig "rig@host", misses, rejects) — the code is
206
- * UNCHANGED (C1). When the rejected destination's greedy-parsed rig token CONTAINS
207
- * '@', return ADDITIVE structured fields (FR-7 precedent) teaching the out-of-band
208
- * path: the split echo + a hint naming `--host`. C4: a SELF-suffixed destination
209
- * names the self case and is NEVER auto-stripped/routed home (self-strip is option
210
- * (i), routed to arch). Returns undefined for 2-part / non-canonical tokens (the
211
- * refusal is byte-unchanged there). One helper, all four refusal sites (C2). Reads
212
- * the FR-8 parse contract; the parse family stays byte-identical (C3).
213
- */
214
- export function destinationRigTeaching(session) {
215
- const parsed = parseSessionName(session);
216
- if (parsed.kind !== "canonical" || !parsed.rig.includes("@"))
217
- return undefined;
218
- const at = parsed.rig.lastIndexOf("@");
219
- const rig = parsed.rig.slice(0, at);
220
- const host = parsed.rig.slice(at + 1);
221
- const bare = `${parsed.member}@${rig}`;
222
- const selfId = getSelfHostId();
223
- const selfHost = !!selfId && host === selfId;
224
- return {
225
- destinationSplit: { member: parsed.member, rig, host },
226
- selfHost,
227
- hint: selfHost
228
- ? `the host suffix '@${host}' is THIS host — the host never rides in the session string; resend the destination as ${bare}`
229
- : `host does not ride in the session string; use --host ${host} with destination ${bare}`,
230
- };
231
- }
232
- /**
233
- * M1 A4b — entity-level teaching for an UNREGISTERED <local>@external destination (the
234
- * ENTITY half of proof-2; the DOMAIN half is the closed-set fall-through to
235
- * unknown_destination_rig, A1/A2). A row addressed to a valid @external domain whose
236
- * entity is not in the registry refuses LOUDLY with the structured teaching from the
237
- * gateway resolver (how to register + "not an agent seat"). Loads the registry only for
238
- * the (rare) @external refusal path. Undefined for non-@external / registered / scheme.
239
- */
240
- export function externalAdmissionTeaching(session, loadRegistry = loadHumanRegistry) {
241
- const parsed = parseSessionName(session);
242
- if (parsed.kind !== "external")
243
- return undefined;
244
- if (resolveExternal(parsed.local, []).kind === "scheme")
245
- return undefined;
246
- const reg = loadRegistry();
247
- if (!reg.ok) {
248
- return {
249
- externalDomain: parsed.domain,
250
- registryLoadError: true,
251
- registryError: reg.error,
252
- ...(/projection/i.test(reg.error) ? { registryProjectionError: true } : {}),
253
- hint: `human registry admission is unavailable because the registry/projection failed to load: ${reg.error}. ` +
254
- "Repair the existing registry projection from its fragments; do not re-add the human or downgrade the destination to an agent seat.",
255
- };
256
- }
257
- const entities = reg.entities.map((e) => ({ entityId: e.entityId, address: e.address }));
258
- const res = resolveExternal(parsed.local, entities);
259
- if (res.kind !== "unregistered")
260
- return undefined; // registered/scheme were admitted upstream
261
- return { externalDomain: parsed.domain, unregisteredEntity: parsed.local, hint: res.error };
262
- }
263
- /** The refusal teaching for ANY rejected destination: the @external entity teaching
264
- * (A4b) OR the host-suffix teaching (4b). One helper, all four refusal sites. */
265
- export function destinationRefusalTeaching(session, loadRegistry = loadHumanRegistry) {
266
- return externalAdmissionTeaching(session, loadRegistry) ?? destinationRigTeaching(session);
267
- }
268
- function destinationValidationError(field, session, loadRegistry) {
269
- const teaching = destinationRefusalTeaching(session, loadRegistry);
270
- if (teaching?.registryLoadError === true) {
271
- return new QueueRepositoryError("human_registry_unavailable", `${field} ${session} cannot be admitted because the human registry failed to load: ${String(teaching.registryError)}`, teaching);
272
- }
273
- return new QueueRepositoryError("unknown_destination_rig", `${field} ${session} references an unknown rig`, teaching);
274
- }
275
- /**
276
- * MF6: does a transport error/reason string denote a TIMEOUT (ambiguous — the
277
- * send may have landed) rather than a definite failure? Used to classify a wake
278
- * delivery as `indeterminate` vs `failed`.
279
- */
280
- function isWakeTimeoutSignal(s) {
281
- return !!s && /timeout|timed\s*out|etimedout/i.test(s);
282
- }
283
- export class QueueRepository {
284
- db;
285
- transitionLog;
286
- eventBus;
287
- validateRig;
288
- transport;
289
- /** W1 (transactional closure): the durable wake-intent store. A terminal act
290
- * (handoff / handoff-and-complete) stages an outbox intent row INSIDE its
291
- * db.transaction so close + transition + intent commit as one act or none;
292
- * the delivery drains from that committed intent afterward. Wired post-
293
- * construction by startup (dep-graph ordering, like transport).
294
- *
295
- * ABSENT = the test/bootstrap path, and what that means differs by caller —
296
- * it is NOT a blanket best-effort fallback:
297
- * • a nudge-intended TERMINAL close+successor act FAILS CLOSED (MF2):
298
- * {@link assertTerminalClosureHasIntent} throws `wake_intent_store_unavailable`
299
- * rather than produce an executed-but-unwoken item (pass `nudge:false` for a
300
- * wake-less close);
301
- * • {@link deliverWakeForSuccessor} — and only it — falls back to the pre-W1
302
- * best-effort {@link maybeNudge} when no store is attached (P34 made that
303
- * fallback real code rather than a promise in a comment). */
304
- outbox;
305
- resolveOccupantGeneration;
306
- wakeRepo;
307
- watchdogJobsRepo;
308
- /** PL-007 Workspace Primitive — true when migration 038 has applied the
309
- * queue_items.target_repo column. Older test fixtures that bypass the
310
- * canonical migration list don't have the column; INSERTs degrade to
311
- * the pre-PL-007 statement and target_repo input is silently dropped.
312
- * Production daemons always have the column (migration is in startup.ts). */
313
- hasTargetRepoColumn;
314
- hasSummaryColumn;
315
- hasHumanIntentColumn;
316
- hasEvidenceRefColumn;
317
- hasMintingGenColumn;
318
- hasClaimedGenColumn;
319
- hasQueueTransitionsTable;
320
- hasOwnerNotificationColumns;
321
- loadHumanRegistryFn;
322
- /** OPR.0.4.6.WF3 FR-6 — injected by startup (never imported): the
323
- * workflow domain's is-live-frontier-packet predicate. */
324
- workflowFrontierPredicate;
325
- constructor(db, eventBus, opts) {
326
- this.db = db;
327
- this.eventBus = eventBus;
328
- this.transitionLog = new QueueTransitionLog(db);
329
- this.wakeRepo = new QueueWakeRepository(db);
330
- this.validateRig = opts?.validateRig ?? (() => true);
331
- this.transport = opts?.transport;
332
- this.workflowFrontierPredicate = opts?.workflowFrontierPredicate;
333
- this.resolveOccupantGeneration = opts?.resolveOccupantGeneration;
334
- this.loadHumanRegistryFn = opts?.loadHumanRegistry ?? (() => loadHumanRegistry());
335
- this.hasTargetRepoColumn = detectQueueColumn(db, "target_repo");
336
- this.hasSummaryColumn = detectQueueColumn(db, "summary");
337
- this.hasHumanIntentColumn = detectQueueColumn(db, "human_intent");
338
- this.hasEvidenceRefColumn = detectQueueColumn(db, "evidence_ref");
339
- this.hasQueueTransitionsTable = detectTable(db, "queue_transitions");
340
- const transitionColumns = this.hasQueueTransitionsTable
341
- ? new Set(db.prepare("PRAGMA table_info(queue_transitions)").all().map((column) => column.name))
342
- : new Set();
343
- this.hasOwnerNotificationColumns = transitionColumns.has("owner_notification_kind")
344
- && transitionColumns.has("owner_notification_level");
345
- // GHOST-STAGE (e/Class-B): generation stamps (migration 063). Defensive detect so a pre-063
346
- // harness degrades (writers skip the columns; the release predicate never matches unstamped rows).
347
- this.hasMintingGenColumn = detectQueueColumn(db, "minting_generation_uuid");
348
- this.hasClaimedGenColumn = detectQueueColumn(db, "claimed_by_generation_uuid");
349
- // OPR.0.3.2.20 — register the EXACT human-seat regex predicate as
350
- // a SQLite function so the attention query can apply the strict
351
- // check BEFORE LIMIT. LIKE / GLOB patterns are supersets that
352
- // would let malformed rows (e.g., 'human-@kernel' — empty name
353
- // segment) occupy the LIMIT window and hide valid attention items
354
- // behind them (guard re-verify-3 qitem-20260518193005 BLOCKER 1).
355
- // better-sqlite3 db.function is idempotent; safe to call once at
356
- // construction.
357
- // OPR.0.4.4.19: single-source regex — the SQL function delegates to the
358
- // session-name's canonical predicate (legacy and external) so SQL-side and TS-side
359
- // checks cannot drift.
360
- db.function("is_human_seat_session", { deterministic: true }, (value) => typeof value === "string" && isHumanSeatSessionRef(value) ? 1 : 0);
361
- }
362
- /** Startup attaches the generation-aware shared repository. Isolated domain
363
- * fixtures fall back to a repository on this same SQLite connection. */
364
- attachWatchdogJobsRepository(repo) {
365
- this.watchdogJobsRepo = repo;
366
- }
367
- /** Startup wires this after queue/watchdog composition. Tests may also call
368
- * it after reconstruction; it only reconciles queue-owned repeating timers. */
369
- reconcileWaitReminders(changedQitem, proofChanged = false) {
370
- refreshQueueWaits(this.db, this.watchdogJobsRepo ?? new WatchdogJobsRepository(this.db), changedQitem, proofChanged);
371
- }
372
- startWaitReminders() {
373
- this.reconcileWaitReminders();
374
- return this.eventBus.subscribe((event) => {
375
- if (event.type.startsWith("queue.") && "qitemId" in event && typeof event.qitemId === "string") {
376
- this.reconcileWaitReminders(event.qitemId);
377
- }
378
- else if (event.type === "proof.judged" || event.type === "proof.sources_changed") {
379
- this.reconcileWaitReminders(undefined, true);
380
- }
381
- });
382
- }
383
- /**
384
- * Attach the wake-path transport AFTER construction. Used by daemon
385
- * startup, where SessionTransport is constructed later in the dep graph
386
- * than QueueRepository (because SessionTransport needs agentActivityStore
387
- * which itself needs eventBus). Calling this is safe at any time; create /
388
- * handoff / handoff-and-complete will start nudging on the next call.
389
- */
390
- attachTransport(transport) {
391
- this.transport = transport;
392
- }
393
- /**
394
- * W1 (transactional closure): attach the durable wake-intent store AFTER
395
- * construction (same dep-graph reason as {@link attachTransport}). Once
396
- * attached, handoff / handoff-and-complete stage an outbox intent row inside
397
- * their terminal transaction, so the close and its wake intent are one commit.
398
- */
399
- attachOutbox(outbox) {
400
- // MF2: the wake intent must commit INSIDE the terminal transaction, which is
401
- // only true when the outbox writes on the SAME connection. An outbox backed by
402
- // a different DB would let the intent survive a rolled-back close (or vice
403
- // versa) — "neither one act nor none". Reject a split-DB outbox at wire time.
404
- if (outbox.db !== this.db) {
405
- throw new QueueRepositoryError("outbox_db_mismatch", "attachOutbox requires an OutboxHandler bound to the SAME database connection as the queue repository — a split DB breaks the atomic close+intent seam");
406
- }
407
- this.outbox = outbox;
408
- }
409
- /** The one transition-write classifier. It consumes structured state/action facts only. */
410
- classifyOwnerNotification(input) {
411
- if (input.explicitKind === "human-decision-resolved") {
412
- return { kind: input.explicitKind, level: "NOTICE" };
413
- }
414
- const registry = this.loadHumanRegistryFn();
415
- if (!registry.ok)
416
- return null;
417
- const blockedHuman = resolveRegisteredHumanAddress(input.nextBlockedOn, registry.entities);
418
- const previousBlockedHuman = resolveRegisteredHumanAddress(input.previousBlockedOn, registry.entities);
419
- const enteredHumanPark = input.nextState === "blocked" && blockedHuman !== null &&
420
- (input.previousState !== "blocked" || previousBlockedHuman !== blockedHuman);
421
- if (enteredHumanPark)
422
- return { kind: "human-required", level: "ALERT" };
423
- const destinationHuman = resolveRegisteredHumanAddress(input.destinationSession, registry.entities);
424
- if (input.action === "create" && destinationHuman !== null) {
425
- return input.humanIntent === "update"
426
- ? { kind: "human-update", level: "NOTICE" }
427
- : { kind: "human-required", level: "ALERT" };
428
- }
429
- return null;
430
- }
431
- /**
432
- * W1 (transactional closure) — the PUBLIC composable primitive (stage half).
433
- * Stage the durable WAKE INTENT for a successor qitem from INSIDE a terminal
434
- * act's `db.transaction` (the queue's own connection), so the intent commits
435
- * atomically with the close + transition. Public + composable so any
436
- * close+successor writer — handoff / handoff-and-complete today, Mission Control
437
- * / Workflow via the P34 follow-on — can call it within its own transaction (the
438
- * `createWithinTransaction` precedent), making that wiring pure EXTENSION, not
439
- * rework. Pair with {@link assertTerminalClosureHasIntent}, run as the LAST
440
- * statement of the same transaction.
441
- *
442
- * The pane nudge itself is a post-commit side effect (reversed-never — a pane
443
- * write inside the txn would make the transaction lie); what is durable is this
444
- * intent row, which the delivery drains afterward. Freezes the emitting envelope
445
- * (MF4); idempotent by a deterministic outbox id keyed on the successor.
446
- * `nudge:false` intends no wake ⇒ no intent. A missing outbox is enforced by the
447
- * guard (fail-closed, MF2), not silently skipped here.
448
- */
449
- stageWakeIntent(successorQitemId, fromSession, toSession, identityProvenance, nudge) {
450
- // No wake intended (nudge:false) ⇒ no durable intent to make durable. The
451
- // W1-c guard is nudge-aware for the same reason: absence of an intent is a
452
- // defect only when a wake WAS intended.
453
- if (nudge === false)
454
- return;
455
- this.recordWakeIntent({
456
- outboxId: `${WAKE_INTENT_PREFIX}${successorQitemId}`,
457
- auditPointer: successorQitemId,
458
- fromSession,
459
- toSession,
460
- identityProvenance,
461
- bareBody: `Queue handoff: ${successorQitemId} - check your queue.`,
462
- tags: this.getById(successorQitemId)?.handedOffFrom
463
- ? [`queue:return:${this.getByIdOrThrow(successorQitemId).handedOffFrom}`] : undefined,
464
- });
465
- }
466
- recordWakeIntent(input) {
467
- if (!this.outbox)
468
- return null;
469
- // MF4: freeze the emitting envelope at stage time. Delivery and crash
470
- // recovery replay these exact bytes without re-resolving the occupant.
471
- const stampISO = new Date().toISOString();
472
- const genUuid = this.resolveOccupantGeneration?.(input.fromSession) ?? undefined;
473
- const frozenEnvelope = wrapPaneEnvelope(input.fromSession, input.toSession, input.bareBody, { stampISO, genUuid });
474
- this.outbox.record({
475
- outboxId: input.outboxId,
476
- senderSession: input.fromSession,
477
- destinationSession: input.toSession,
478
- body: frozenEnvelope,
479
- tags: input.tags,
480
- auditPointer: input.auditPointer,
481
- identityProvenance: input.identityProvenance,
482
- });
483
- return input.outboxId;
484
- }
485
- stageAutoUnparkWakeIntent(input) {
486
- return this.recordWakeIntent({
487
- outboxId: `${WAKE_INTENT_PREFIX}blocker-${input.resumeTransitionId}`,
488
- auditPointer: input.qitemId,
489
- fromSession: input.fromSession,
490
- toSession: input.destinationSession,
491
- identityProvenance: input.identityProvenance,
492
- bareBody: `Blocker ${input.blockerQitemId} resolved; parked qitem ${input.qitemId} is pending. Resume the recorded continuation and update the row.`,
493
- tags: [AUTO_UNPARK_WAKE_TAG, `${AUTO_UNPARK_BLOCKER_TAG_PREFIX}${input.blockerQitemId}`, `queue:return:${input.blockerQitemId}`],
494
- });
495
- }
496
- deliverWakeIntentAfterCommit(outboxId) {
497
- queueMicrotask(() => {
498
- void this.deliverWakeIntent(outboxId).catch((err) => {
499
- console.error(`Auto-unpark wake delivery failed for ${outboxId}:`, err);
500
- });
501
- });
502
- }
503
- /**
504
- * W1-c (transactional closure): the runtime SEAM GUARD. Called as the LAST
505
- * statement inside a terminal act's db.transaction, it makes an
506
- * executed-but-unwoken close UNWRITABLE: if this transaction wrote a terminal
507
- * close AND a wake was intended, a durable wake intent for the successor MUST
508
- * exist in the same transaction. If it does not, throw — the whole act rolls
509
- * back at the seam, not at review.
510
- *
511
- * Nudge-aware: nudge:false intends no wake, so no intent is required. MF2:
512
- * fail-closed when a wake IS intended but no intent store is attached (the
513
- * guarantee is then impossible). PUBLIC composable primitive (guard half): any
514
- * close+successor writer runs this as the LAST statement of its own transaction
515
- * — handoff / handoff-and-complete today, Mission Control / Workflow via P34.
516
- */
517
- assertTerminalClosureHasIntent(sourceQitemId, successorQitemId, nudge) {
518
- if (nudge === false)
519
- return; // no wake intended ⇒ no intent required
520
- // MF2: fail CLOSED. A nudge-intended terminal act with no intent store cannot
521
- // make its wake durable, so the guarantee is impossible — refuse the close
522
- // rather than silently produce an executed-but-unwoken item (the exact class
523
- // W1 makes unwritable). Production always attaches an outbox at startup.
524
- if (!this.outbox) {
525
- throw new QueueRepositoryError("wake_intent_store_unavailable", "a nudge-intended terminal act requires an attached wake-intent store to make its wake durable — none attached (pass nudge:false for a wake-less close, or attach an outbox)");
526
- }
527
- // Reads the txn-visible (uncommitted) state on this connection.
528
- const src = this.getById(sourceQitemId);
529
- if (!src || !isTerminalState(src.state))
530
- return; // not a terminal close
531
- const intent = this.outbox.getById(`${WAKE_INTENT_PREFIX}${successorQitemId}`);
532
- if (!intent) {
533
- throw new QueueRepositoryError("terminal_close_without_wake_intent", `terminal closure of ${sourceQitemId} committed without staging its wake intent for ${successorQitemId} — one act or none is violated`);
534
- }
535
- }
536
- /**
537
- * W1-b: deliver ONE committed wake intent. MF3: CLAIM (pending→sending) before
538
- * the external send, then finalize (sending→outcome) after — so overlapping
539
- * drains send the wake exactly ONCE (the effect, not just the state), and a
540
- * second drain of an already-claimed/resolved intent skips. Returns what
541
- * happened for the drain's tally.
542
- *
543
- * verified → delivered
544
- * ok, unverified → indeterminate (ambiguous; never silently delivered/failed)
545
- * timeout (MF6) → indeterminate (may have landed — not a hard failure)
546
- * other not-ok/throw→ failed (visible terminal state)
547
- */
548
- async deliverWakeIntent(outboxId) {
549
- if (!this.outbox)
550
- return "skipped";
551
- if (!this.transport)
552
- return "skipped"; // no transport → stays pending for a later drain
553
- // MF3: CLAIM (pending→sending) BEFORE the external send so overlapping drains
554
- // cannot both send. A losing claim — the row is no longer `pending` (already
555
- // resolved, in-flight under another drainer, or claimed) — simply skips: no
556
- // send, no tally. This makes the external effect once, not merely the state.
557
- // Claim the exact return's arrival + dependent resumes atomically. Each
558
- // original frozen intent and audit pointer survives; only transport coalesces.
559
- let superseded = false;
560
- const actionable = (entry) => {
561
- const row = entry.auditPointer ? this.db.prepare("SELECT state FROM queue_items WHERE qitem_id = ?").get(entry.auditPointer) : undefined;
562
- let current = row?.state === "pending";
563
- const resumePrefix = `${WAKE_INTENT_PREFIX}blocker-`;
564
- if (current && entry.outboxId.startsWith(resumePrefix)) {
565
- const expected = Number(entry.outboxId.slice(resumePrefix.length));
566
- const latest = this.db.prepare(`SELECT transition_id FROM (
567
- SELECT transition_id, state, LAG(state) OVER (ORDER BY transition_id) AS previous_state
568
- FROM queue_transitions WHERE qitem_id = ?)
569
- WHERE state = 'pending' AND previous_state IS NOT 'pending' ORDER BY transition_id DESC LIMIT 1`)
570
- .get(entry.auditPointer);
571
- current = expected === latest?.transition_id;
572
- }
573
- if (!current) {
574
- // Existing failed state means the requested old delivery was refused;
575
- // the explicit tag distinguishes supersession from a transport attempt.
576
- // Do not stamp last_nudge_result or delivered_at: neither happened.
577
- const changed = this.db.prepare("UPDATE outbox_entries SET delivery_state = 'failed', tags = ? WHERE outbox_id = ? AND delivery_state = 'pending'")
578
- .run(JSON.stringify([...(entry.tags ?? []), "queue:wake-superseded"]), entry.outboxId);
579
- superseded ||= changed.changes > 0;
580
- }
581
- return current;
582
- };
583
- const group = this.db.transaction(() => {
584
- const candidate = this.outbox.getById(outboxId);
585
- if (!candidate || candidate.deliveryState !== "pending" || !actionable(candidate))
586
- return [];
587
- if (!this.outbox.claimForDelivery(outboxId))
588
- return [];
589
- const first = this.outbox.getById(outboxId);
590
- const intents = [first];
591
- const correlation = first.tags?.find(tag => tag.startsWith("queue:return:"));
592
- if (correlation) {
593
- const peers = this.db.prepare(`SELECT outbox_id FROM outbox_entries
594
- WHERE delivery_state = 'pending' AND destination_session = ? AND substr(outbox_id, 1, ?) = ?
595
- AND EXISTS (SELECT 1 FROM json_each(outbox_entries.tags) WHERE value = ?)
596
- ORDER BY outbox_id`).all(first.destinationSession, WAKE_INTENT_PREFIX.length, WAKE_INTENT_PREFIX, correlation);
597
- for (const peer of peers)
598
- if (actionable(this.outbox.getById(peer.outbox_id)) && this.outbox.claimForDelivery(peer.outbox_id))
599
- intents.push(this.outbox.getById(peer.outbox_id));
600
- }
601
- return intents;
602
- })();
603
- const intent = group[0];
604
- if (!intent)
605
- return superseded ? "failed" : "skipped";
606
- // Only deliver a wake for a qitem that actually exists. A wake intent whose
607
- // target qitem is missing — a caller-recorded id under this prefix (the route
608
- // no longer refuses those), or a successor already swept — is finalized
609
- // `failed`, never sent as a real wake.
610
- if (!intent.auditPointer || !this.getById(intent.auditPointer)) {
611
- this.outbox.finalizeDelivery(outboxId, "failed");
612
- return "failed";
613
- }
614
- const qitemId = intent.auditPointer ?? outboxId;
615
- // MF4: send the FROZEN envelope stored on the intent verbatim (no re-resolution).
616
- const outcome = await this.performWakeSend(qitemId, intent.destinationSession, intent.senderSession, undefined, group.map(entry => entry.body).join("\n"));
617
- const finalState = outcome.classified === "verified" ? "delivered" : outcome.classified;
618
- for (const member of group) {
619
- const intent = member;
620
- const qitemId = intent.auditPointer;
621
- const blockerRef = intent.tags?.includes(AUTO_UNPARK_WAKE_TAG)
622
- ? intent.tags
623
- .find((tag) => tag.startsWith(AUTO_UNPARK_BLOCKER_TAG_PREFIX))
624
- ?.slice(AUTO_UNPARK_BLOCKER_TAG_PREFIX.length)
625
- : undefined;
626
- const wakeEvent = this.db.transaction(() => {
627
- this.recordNudgeAttempt(qitemId, outcome.nudgeResult);
628
- this.outbox.finalizeDelivery(intent.outboxId, finalState);
629
- if (!blockerRef)
630
- return null;
631
- const item = this.getByIdOrThrow(qitemId);
632
- const transition = this.transitionLog.append({
633
- qitemId,
634
- state: item.state,
635
- actorSession: "queue@system",
636
- transitionNote: `blocker ${blockerRef} wake attempted; delivery=${outcome.nudgeResult}`,
637
- });
638
- this.wakeRepo.record({
639
- transitionId: transition.transitionId,
640
- qitemId,
641
- phase: "fired",
642
- kind: "blocker",
643
- ref: blockerRef,
644
- deliveryStatus: outcome.nudgeResult,
645
- });
646
- return this.eventBus.persistWithinTransaction({
647
- type: "queue.updated",
648
- qitemId,
649
- fromState: item.state,
650
- toState: item.state,
651
- closureReason: null,
652
- closureTarget: null,
653
- actorSession: "queue@system",
654
- summary: item.summary ?? null,
655
- });
656
- })();
657
- if (wakeEvent)
658
- this.eventBus.notifySubscribers(wakeEvent);
659
- }
660
- return finalState;
661
- }
662
- /**
663
- * W1-b: the post-commit delivery for a successor's wake, and the ONE shared
664
- * staged-intent delivery path. When the durable intent store is present
665
- * (production), deliver the just-committed intent — which CLAIMS and FINALIZES
666
- * the row, so a later recovery sweep cannot send it a second time. When it is
667
- * absent (test/bootstrap), fall back to the pre-W1 best-effort nudge so behavior
668
- * is unchanged where there is no intent to make durable. Called AFTER the
669
- * terminal transaction commits (reversed-never: a pane write must not join the
670
- * db transaction).
671
- *
672
- * PUBLIC as of P34: every terminal-closing writer that stages an intent must
673
- * deliver through THIS path rather than {@link maybeNudge}. `maybeNudge` sends
674
- * WITHOUT claiming or finalizing, so a staged intent would remain `pending` and
675
- * the startup recovery sweep would deliver the same wake AGAIN. One staged
676
- * intent, one delivery, one finalized row.
677
- *
678
- * P34 correction: the no-outbox fallback above was documented here but never
679
- * implemented — `deliverWakeIntent` simply returns "skipped" with no outbox
680
- * attached, so the nudge vanished SILENTLY (a skip is not an error, so nothing
681
- * surfaced it). The pre-W1 callers reached this path only after the MF2 guard
682
- * had already proven an outbox was attached, which is why it never showed. P34
683
- * routes writers here whose harnesses attach no outbox, so the fallback is now
684
- * real code rather than a promise in a comment.
685
- */
686
- async deliverWakeForSuccessor(successorQitemId, destinationSession, nudge, sourceSession) {
687
- if (nudge === false)
688
- return;
689
- // No durable intent store ⇒ there is no intent to claim/finalize. Fall back to
690
- // the pre-W1 best-effort nudge so the wake still happens (the documented
691
- // contract), rather than silently skipping it.
692
- if (!this.outbox) {
693
- await this.maybeNudge(successorQitemId, destinationSession, nudge, sourceSession);
694
- return;
695
- }
696
- await this.deliverWakeIntent(`${WAKE_INTENT_PREFIX}${successorQitemId}`);
697
- }
698
- /**
699
- * W1-b: the startup-recovery sweep. Delivers wake intents a crash left
700
- * committed-but-undelivered (the terminal txn committed, the process died
701
- * before the post-commit deliver). Pages in bounded batches and TERMINATES on
702
- * a served short batch or on a no-progress round (a flapping transport marks
703
- * rows failed = visible, so it still progresses) — never a silent cap, never a
704
- * spin.
705
- *
706
- * MF6 (honest retry policy): the sweep retries ONLY `pending` rows — i.e. wake
707
- * intents a crash left committed-but-undelivered. Terminal `failed` and
708
- * `indeterminate` rows are NOT re-driven: a failed row would risk resurrecting
709
- * a dead wake and an indeterminate one may already have landed (double-send).
710
- * Both are left in a VISIBLE terminal state for out-of-band reconciliation. No
711
- * periodic timer (out of scope, ruled); a bounded retry of failed rows is the
712
- * NAMED residue, not a silent guarantee.
713
- */
714
- /**
715
- * BLOCKING 1 (guard re-seal): the recovery-boundary reconciliation, called ONCE
716
- * at startup (NOT inside the drain, which can be invoked concurrently). Moves any
717
- * abandoned `sending` wake intents — a prior crashed process's claims — to
718
- * `indeterminate`, WITHOUT re-sending: a claim left `sending` is ambiguous (the
719
- * send may or may not have landed). Kept SEPARATE from drainPendingWakeIntents so
720
- * an overlapping drain can never reconcile another drain's in-flight claim.
721
- * Returns the count reconciled.
722
- */
723
- reconcileAbandonedWakeIntents() {
724
- if (!this.outbox)
725
- return 0;
726
- return this.outbox.reconcileAbandonedSending(WAKE_INTENT_PREFIX);
727
- }
728
- async drainPendingWakeIntents() {
729
- const tally = { delivered: 0, indeterminate: 0, failed: 0 };
730
- if (!this.outbox || !this.transport)
731
- return tally;
732
- const BATCH = 200;
733
- for (;;) {
734
- const pending = this.outbox.listPending(WAKE_INTENT_PREFIX, BATCH);
735
- if (pending.length === 0)
736
- break;
737
- let progressed = 0;
738
- for (const intent of pending) {
739
- const outcome = await this.deliverWakeIntent(intent.outboxId);
740
- if (outcome === "delivered") {
741
- tally.delivered++;
742
- progressed++;
743
- }
744
- else if (outcome === "indeterminate") {
745
- tally.indeterminate++;
746
- progressed++;
747
- }
748
- else if (outcome === "failed") {
749
- tally.failed++;
750
- progressed++;
751
- }
752
- }
753
- // Nothing left pending changed state this round (e.g. transport gone
754
- // mid-sweep) — stop rather than spin; the next daemon start retries.
755
- if (progressed === 0)
756
- break;
757
- if (pending.length < BATCH)
758
- break; // served short batch ⇒ drained
759
- }
760
- return tally;
761
- }
762
- /**
763
- * Issue a default nudge to the destination after a create / handoff /
764
- * handoff-and-complete commit. Records the result via recordNudgeAttempt.
765
- * Errors are caught and surfaced as nudge_result strings — they do not
766
- * unwind the underlying queue mutation.
767
- *
768
- * Phase D extension point (orch-ratified): public so workflow-projector
769
- * can invoke after its outer transaction commits, completing the
770
- * createWithinTransaction()'s deferred post-commit side effects.
771
- *
772
- * V0.3.1 slice 23 queue-handoff-envelope: the nudge body
773
- * is now wrapped with the same From/To/---/body/---/↩ Reply envelope
774
- * that `rig send` uses. `sourceSession` is the seat that triggered
775
- * the create/handoff so the recipient pane shows where the nudge
776
- * came from + a reply hint. A queue nudge is the ONE non-refusable
777
- * sender — it has no seat to send an error back to — so when
778
- * `sourceSession` is undefined `wrapPaneEnvelope` applies its own
779
- * `<unknown sender>` fallback internally (`pane-envelope.ts`). After
780
- * A1 that is the SOLE definition of the marker in the tree (the CLI
781
- * copies were deleted, refused at the seat boundary instead); this
782
- * site holds no copy of its own.
783
- */
784
- async maybeNudge(qitemId, destinationSession, nudgeOpt, sourceSession, bodyOverride) {
785
- if (nudgeOpt === false)
786
- return;
787
- if (!this.transport)
788
- return;
789
- const outcome = await this.performWakeSend(qitemId, destinationSession, sourceSession, bodyOverride);
790
- this.recordNudgeAttempt(qitemId, outcome.nudgeResult);
791
- }
792
- /**
793
- * W1 (transactional closure): the shared wake-send CORE. Builds the pane
794
- * envelope, sends with verify, and CLASSIFIES the transport result into the W1
795
- * delivery vocabulary (verified | indeterminate | failed). It touches NO
796
- * persistence — callers decide what to record: {@link maybeNudge} records the
797
- * nudge attempt; {@link deliverWakeIntent} additionally CAS-marks the durable
798
- * intent row. Only ever called when `this.transport` is set (callers guard).
799
- *
800
- * The `indeterminate` classification is the ambiguous face: `res.ok && !res.verified`
801
- * — the delivery LANDED on the wire but its render could not be confirmed
802
- * (the "delivered-ack-pending" nudge literal). It is never promoted to
803
- * delivered nor demoted to failed.
804
- */
805
- async performWakeSend(qitemId, destinationSession, sourceSession, bodyOverride, prebuiltText) {
806
- // DEFECT FIX qitem-20260827065907-b9ae334c (S1-class, 3 live specimens): a virtual
807
- // @external destination has NO pane — the queue row ITSELF is the gateway
808
- // subsystem's input (the Slack connector polls human-destined rows and its own
809
- // ledger is the delivery record). Falling through to tmux here recorded
810
- // "failed: … tmux reports no session" while the founder verifiably received the
811
- // message, and that failed: literal poisoned the undelivered surface.
812
- // OPR.0.5.6.14 — the inline @external branch became THE ONE RESOLVER SEAM
813
- // (gateway/destination-resolver.ts): pane-bound keeps terminal transport;
814
- // gateway-routable (@external AND registry-resolved aliases like the
815
- // paneless human-*@kernel virtual identities — the live 4-row specimen
816
- // class) is GATEWAY-OWNED (tmux never consulted; the connector's row-poll
817
- // is the dispatch and its ledger the delivery record); neither is an
818
- // honest structured teaching refusal (tmux is not consulted for an
819
- // address it can never hold). Classified indeterminate for gateway
820
- // (landed with the owning subsystem; render unconfirmable here) — never
821
- // verified, never failed.
822
- const destClass = classifyDestination(destinationSession, {
823
- entities: (() => {
824
- const loaded = this.loadHumanRegistryFn();
825
- return loaded.ok ? loaded.entities : null;
826
- })(),
827
- hasTerminalTransport: (dest) => this.hasTerminalTransport(dest),
828
- });
829
- if (destClass.class === "gateway-routable") {
830
- const resolvedNote = destClass.via === "registry-alias" && destClass.resolvedHuman
831
- ? ` — the human registry resolves it to registered human '${destClass.resolvedHuman}'`
832
- : "";
833
- return {
834
- classified: "indeterminate",
835
- nudgeResult: `gateway-owned: '${destinationSession}' is a virtual ${destClass.via === "registry-alias" ? "paneless human" : "@external"} destination${resolvedNote} — delivery rides the gateway subsystem (Slack connector), whose own ledger is the delivery record; tmux was not consulted (it can never hold this address class)`,
836
- };
837
- }
838
- if (destClass.class === "unroutable") {
839
- return { classified: "failed", nudgeResult: destClass.teaching };
840
- }
841
- const stampISO = new Date().toISOString();
842
- let text;
843
- if (prebuiltText !== undefined) {
844
- // MF4: a durable wake intent carries its FROZEN envelope (generation resolved
845
- // at STAGE time). Deliver it verbatim — never rebuild — so a crash-recovery
846
- // after a tenure swap replays the emitting generation, not the current one.
847
- text = prebuiltText;
848
- }
849
- else {
850
- // OPR.0.4.4.19 FR-7: bodyOverride lets the resolve verb carry the
851
- // decision text to the parked owner; default stays the handoff nudge.
852
- const bareBody = bodyOverride ?? `Queue handoff: ${qitemId} - check your queue.`;
853
- // GHOST-STAGE (h): the single HG-5 baseline change deferred from g — the handoff nudge now carries
854
- // a Sent: stamp (so it renders byte-parically with a rig send) plus the SOURCE seat's occupant
855
- // generation (g's already-wired render, resolved here; absent=UNKNOWN=omit, never forged). The
856
- // stampISO also feeds the transport's delivered-latency flag so a nudge that waited on a busy /
857
- // mid-handover successor shows ' · delivered +Ns' for free.
858
- const genUuid = sourceSession
859
- ? (this.resolveOccupantGeneration?.(sourceSession) ?? undefined)
860
- : undefined;
861
- text = wrapPaneEnvelope(sourceSession, destinationSession, bareBody, { stampISO, genUuid });
862
- }
863
- try {
864
- const res = await this.transport.send(destinationSession, text, { verify: true, stampISO });
865
- // OPR.0.3.2.21.FR-4(c) — wording rename: the prior literal
866
- // "sent-unverified" read as a failure even in the common case
867
- // (delivery confirmed but the synchronous ack window expired,
868
- // which is normal for codex seats mid-task). The new literal
869
- // "delivered-ack-pending" reads as healthy. The old "verified"
870
- // case is unchanged for backward-compat with any tooling that
871
- // already consumed the positive literal.
872
- if (res.ok) {
873
- return res.verified
874
- ? { classified: "verified", nudgeResult: "verified" }
875
- : { classified: "indeterminate", nudgeResult: "delivered-ack-pending" };
876
- }
877
- // MF6: a TIMEOUT is ambiguous — the send may have landed but the ack window
878
- // expired — so it records `indeterminate` (never silently delivered, never a
879
- // hard `failed`). A definite non-timeout failure (unreachable, unknown
880
- // session) stays `failed`.
881
- const detail = res.error ?? res.reason ?? "unknown";
882
- if (isWakeTimeoutSignal(res.reason) || isWakeTimeoutSignal(res.error)) {
883
- return { classified: "indeterminate", nudgeResult: `indeterminate:${detail}` };
884
- }
885
- return { classified: "failed", nudgeResult: `failed:${detail}` };
886
- }
887
- catch (err) {
888
- const msg = err instanceof Error ? err.message : String(err);
889
- // A thrown timeout is equally ambiguous (see above).
890
- if (isWakeTimeoutSignal(msg)) {
891
- return { classified: "indeterminate", nudgeResult: `indeterminate:${msg}` };
892
- }
893
- return { classified: "failed", nudgeResult: `failed:${msg}` };
894
- }
895
- }
896
- async create(input) {
897
- // FOUNDER ROOT INVARIANT (2026-08-27, supersedes 51-09 incr 4 / ruling cb19867f Q2):
898
- // a LOCAL write stores the bare transport identity — no self-host suffix inside one
899
- // instance. Host identity is added only at the cross-host forwarding boundary
900
- // (routes/queue.ts stamp-at-FORWARD), and a genuine origin triple arriving from a
901
- // forward is stored verbatim (never re-stamped, never stripped).
902
- if (!this.validateRig(input.destinationSession)) {
903
- throw destinationValidationError("destination_session", input.destinationSession, this.loadHumanRegistryFn);
904
- }
905
- const txn = this.db.transaction(() => this.createInTransactionalContext(input));
906
- let id;
907
- let persistedEvent;
908
- try {
909
- ({ qitemId: id, persistedEvent } = txn());
910
- }
911
- catch (err) {
912
- // OPR.0.4.6.MH3 Q-a (FR-5): at-least-once cross-host forwards retry with
913
- // the SAME minted qitemId, so a PK conflict on an EXISTING row is an
914
- // idempotent RE-DELIVERY when the identity fields match — return the
915
- // stored row (no second insert, no second event/nudge). A conflict whose
916
- // identity fields DIFFER (same id, different destination/source) is a
917
- // caller id-reuse bug — a structured error, never a silent overwrite.
918
- // Local (non-forwarded) creates that pass an explicit --id keep the same
919
- // safety for free.
920
- if (input.qitemId && isQitemPrimaryKeyConflict(err)) {
921
- const existing = this.getById(input.qitemId);
922
- if (existing) {
923
- if (existing.destinationSession === input.destinationSession &&
924
- existing.sourceSession === input.sourceSession) {
925
- return existing;
926
- }
927
- throw new QueueRepositoryError("qitem_id_reuse", `qitem ${input.qitemId} already exists with a different destination/source — id reuse is a caller bug, not an idempotent retry`, {
928
- qitemId: input.qitemId,
929
- existingDestination: existing.destinationSession,
930
- existingSource: existing.sourceSession,
931
- });
932
- }
933
- }
934
- throw err;
935
- }
936
- this.eventBus.notifySubscribers(persistedEvent);
937
- await this.maybeNudge(id, input.destinationSession, input.nudge, input.sourceSession);
938
- return this.getByIdOrThrow(id);
939
- }
940
- /**
941
- * PL-004 Phase D extension point (orch-ratified per slice IMPL §
942
- * Driver Handoff Contract). Creates a queue item using the SAME
943
- * caller-managed db.transaction for transactional-scribe semantics
944
- * (workflow-projector folds step closure + next-qitem creation into
945
- * one atomic unit). Returns the persisted event AND qitem id so the
946
- * caller can defer notifySubscribers/maybeNudge until AFTER its
947
- * outer transaction commits.
948
- *
949
- * Caller MUST:
950
- * 1. Invoke this from inside a `db.transaction(() => {...})` block.
951
- * 2. After the outer txn commits, call:
952
- * - eventBus.notifySubscribers(persistedEvent)
953
- * - this.maybeNudge(qitemId, destinationSession, input.nudge)
954
- * 3. NOT call this from outside a transaction (will produce a
955
- * half-state if the caller errors before committing).
956
- *
957
- * The split exists ONLY because notifySubscribers + maybeNudge are
958
- * post-commit side effects (subscribers should not see events for
959
- * data that may roll back; nudges should not fire for handoffs that
960
- * may roll back). For independent create()s that don't need to
961
- * compose with an outer transaction, use create() instead.
962
- */
963
- createWithinTransaction(input) {
964
- if (!this.validateRig(input.destinationSession)) {
965
- throw destinationValidationError("destination_session", input.destinationSession, this.loadHumanRegistryFn);
966
- }
967
- const result = this.createInTransactionalContext(input);
968
- return {
969
- qitemId: result.qitemId,
970
- persistedEvent: result.persistedEvent,
971
- destinationSession: input.destinationSession,
972
- nudge: input.nudge,
973
- };
974
- }
975
- /**
976
- * Internal: insert + transition + emit event. Caller is responsible
977
- * for transaction wrapping (the public create() wraps; the public
978
- * createWithinTransaction() does not — caller's outer transaction
979
- * provides the atomic boundary).
980
- */
981
- createInTransactionalContext(input) {
982
- // OPR.0.4.4.19 FR-4/FR-5 — human-routed items require summary +
983
- // evidence_ref at the domain write path (the validateClosure pattern).
984
- // The validator is a no-op for non-human-routed items (BR-1).
985
- const humanRoute = validateHumanRoute({
986
- tier: input.tier ?? null,
987
- destinationSession: input.destinationSession,
988
- summary: input.summary ?? null,
989
- evidenceRef: input.evidenceRef ?? null,
990
- });
991
- if (!humanRoute.ok) {
992
- throw new QueueRepositoryError(humanRoute.code, humanRoute.message, {
993
- missingFields: humanRoute.missingFields,
994
- });
995
- }
996
- if (input.humanIntent != null && input.humanIntent !== "decision" && input.humanIntent !== "update") {
997
- throw new QueueRepositoryError("invalid_human_notification", "humanIntent must be decision or update; omission retains legacy decision behavior.");
998
- }
999
- if (input.humanDetail != null && (typeof input.humanDetail !== "string" || !input.humanDetail.trim())) {
1000
- throw new QueueRepositoryError("invalid_human_notification", "humanDetail must be nonempty supplemental text or omitted.");
1001
- }
1002
- if (input.humanIntent != null || input.humanDetail != null) {
1003
- if (!isHumanSeatSessionRef(input.destinationSession)) {
1004
- throw new QueueRepositoryError("invalid_human_notification", "humanIntent/humanDetail require a human destination; agent continuation belongs in its own qitem.");
1005
- }
1006
- if (!this.hasHumanIntentColumn)
1007
- throw new QueueRepositoryError("invalid_human_notification", "Human notification fields require the current queue schema; they were not saved.");
1008
- }
1009
- const id = input.qitemId ?? newQitemId();
1010
- const ts = new Date().toISOString();
1011
- const priority = input.priority ?? "routine";
1012
- const tier = input.tier ?? null;
1013
- const tags = input.tags ? JSON.stringify(input.tags) : null;
1014
- const chain = input.chainOfRecord ? JSON.stringify(input.chainOfRecord) : null;
1015
- const expiresAt = input.expiresAt ?? null;
1016
- const targetRepo = input.targetRepo ?? null;
1017
- // 0.5.1-53 Atom 2b — supersession back-link (successor -> the row it replaced). Absent for a normal create.
1018
- const handedOffFrom = input.handedOffFrom ?? null;
1019
- if (this.hasTargetRepoColumn) {
1020
- this.db
1021
- .prepare(`INSERT INTO queue_items (
1022
- qitem_id, ts_created, ts_updated, source_session, destination_session,
1023
- state, priority, tier, tags, expires_at, chain_of_record, handed_off_from, body, target_repo
1024
- ) VALUES (?, ?, ?, ?, ?, 'pending', ?, ?, ?, ?, ?, ?, ?, ?)`)
1025
- .run(id, ts, ts, input.sourceSession, input.destinationSession, priority, tier, tags, expiresAt, chain, handedOffFrom, input.body, targetRepo);
1026
- }
1027
- else {
1028
- this.db
1029
- .prepare(`INSERT INTO queue_items (
1030
- qitem_id, ts_created, ts_updated, source_session, destination_session,
1031
- state, priority, tier, tags, expires_at, chain_of_record, handed_off_from, body
1032
- ) VALUES (?, ?, ?, ?, ?, 'pending', ?, ?, ?, ?, ?, ?, ?)`)
1033
- .run(id, ts, ts, input.sourceSession, input.destinationSession, priority, tier, tags, expiresAt, chain, handedOffFrom, input.body);
1034
- }
1035
- this.persistSummary(id, input.summary ?? null);
1036
- this.persistEvidenceRef(id, input.evidenceRef ?? null);
1037
- if (this.hasHumanIntentColumn) {
1038
- this.db.prepare("UPDATE queue_items SET human_intent = ?, human_detail = ? WHERE qitem_id = ?")
1039
- .run(input.humanIntent ?? null, input.humanDetail ?? null, id);
1040
- }
1041
- this.persistMintingGeneration(id, input.sourceSession);
1042
- const notification = this.classifyOwnerNotification({
1043
- action: "create",
1044
- humanIntent: input.humanIntent,
1045
- destinationSession: input.destinationSession,
1046
- nextState: "pending",
1047
- });
1048
- this.transitionLog.append({
1049
- qitemId: id,
1050
- state: "pending",
1051
- actorSession: input.sourceSession,
1052
- transitionNote: "created",
1053
- identityProvenance: input.identityProvenance ?? null, // P21 §4 era-stamp
1054
- ownerNotificationKind: notification?.kind,
1055
- ownerNotificationLevel: notification?.level,
1056
- });
1057
- const persistedEvent = this.eventBus.persistWithinTransaction({
1058
- type: "queue.created",
1059
- qitemId: id,
1060
- sourceSession: input.sourceSession,
1061
- destinationSession: input.destinationSession,
1062
- priority,
1063
- tier,
1064
- summary: input.summary ?? null,
1065
- });
1066
- return { qitemId: id, persistedEvent };
1067
- }
1068
- /**
1069
- * Transactional handoff: close the source qitem (state=done,
1070
- * closure_reason=handed_off_to) and create a new qitem owned by `toSession`,
1071
- * with `handed_off_from` recording the chain. One atomic transaction.
1072
- */
1073
- async handoff(input) {
1074
- const source = this.getById(input.qitemId);
1075
- if (!source) {
1076
- throw new QueueRepositoryError("qitem_not_found", `qitem ${input.qitemId} not found`);
1077
- }
1078
- if (isTerminalState(source.state)) {
1079
- throw new QueueRepositoryError("qitem_already_terminal", `qitem ${input.qitemId} is already in terminal state ${source.state}`);
1080
- }
1081
- if (!this.validateRig(input.toSession)) {
1082
- throw destinationValidationError("to_session", input.toSession, this.loadHumanRegistryFn);
1083
- }
1084
- const newId = newQitemId();
1085
- const ts = new Date().toISOString();
1086
- const body = input.body ?? source.body;
1087
- const priority = input.priority ?? source.priority;
1088
- const tier = input.tier ?? source.tier;
1089
- const tags = input.tags ? JSON.stringify(input.tags) : (source.tags ? JSON.stringify(source.tags) : null);
1090
- const chain = JSON.stringify([...(source.chainOfRecord ?? []), source.qitemId]);
1091
- const targetRepo = input.targetRepo === undefined ? source.targetRepo : input.targetRepo;
1092
- // OPR.0.4.4.19 FR-4/FR-5 — the handoff authors a NEW qitem; when that
1093
- // new item is human-routed it requires its OWN summary + evidence_ref
1094
- // (neither is inherited from the source — 044 semantics preserved).
1095
- const humanRoute = validateHumanRoute({
1096
- tier,
1097
- destinationSession: input.toSession,
1098
- summary: input.summary ?? null,
1099
- evidenceRef: input.evidenceRef ?? null,
1100
- });
1101
- if (!humanRoute.ok) {
1102
- throw new QueueRepositoryError(humanRoute.code, humanRoute.message, {
1103
- missingFields: humanRoute.missingFields,
1104
- });
1105
- }
1106
- const events = [];
1107
- const txn = this.db.transaction(() => {
1108
- this.db
1109
- .prepare(`UPDATE queue_items
1110
- SET state = 'handed-off',
1111
- ts_updated = ?,
1112
- handed_off_to = ?,
1113
- closure_reason = 'handed_off_to',
1114
- closure_target = ?
1115
- WHERE qitem_id = ?`)
1116
- .run(ts, input.toSession, input.toSession, source.qitemId);
1117
- this.transitionLog.append({
1118
- qitemId: source.qitemId,
1119
- state: "handed-off",
1120
- actorSession: input.fromSession,
1121
- transitionNote: input.transitionNote ?? `handed off to ${input.toSession}`,
1122
- closureReason: "handed_off_to",
1123
- closureTarget: input.toSession,
1124
- identityProvenance: input.identityProvenance ?? null, // P21 §4 era-stamp
1125
- });
1126
- // OPR.0.5.8.1 S1b — THE ROUTE THE FOUNDING SPECIMEN TOOK. Row b7a70333 went
1127
- // handed-off at 10:02:03Z and its timer still fired at 10:18:07Z, because
1128
- // handoff() is its own transaction and never passes through update().
1129
- this.retireParkGeneratedTimer(source.qitemId, "park_ended:handed-off");
1130
- if (this.hasTargetRepoColumn) {
1131
- this.db
1132
- .prepare(`INSERT INTO queue_items (
1133
- qitem_id, ts_created, ts_updated, source_session, destination_session,
1134
- state, priority, tier, tags, handed_off_from, chain_of_record, body, target_repo
1135
- ) VALUES (?, ?, ?, ?, ?, 'pending', ?, ?, ?, ?, ?, ?, ?)`)
1136
- .run(newId, ts, ts, input.fromSession, input.toSession, priority, tier, tags, source.qitemId, chain, body, targetRepo);
1137
- }
1138
- else {
1139
- this.db
1140
- .prepare(`INSERT INTO queue_items (
1141
- qitem_id, ts_created, ts_updated, source_session, destination_session,
1142
- state, priority, tier, tags, handed_off_from, chain_of_record, body
1143
- ) VALUES (?, ?, ?, ?, ?, 'pending', ?, ?, ?, ?, ?, ?)`)
1144
- .run(newId, ts, ts, input.fromSession, input.toSession, priority, tier, tags, source.qitemId, chain, body);
1145
- }
1146
- this.persistSummary(newId, input.summary ?? null);
1147
- this.persistEvidenceRef(newId, input.evidenceRef ?? null);
1148
- this.persistMintingGeneration(newId, input.fromSession);
1149
- const successorNotification = this.classifyOwnerNotification({
1150
- action: "create",
1151
- destinationSession: input.toSession,
1152
- nextState: "pending",
1153
- });
1154
- this.transitionLog.append({
1155
- qitemId: newId,
1156
- state: "pending",
1157
- actorSession: input.fromSession,
1158
- transitionNote: `handoff from ${source.qitemId}`,
1159
- identityProvenance: input.identityProvenance ?? null, // P21 §4 era-stamp
1160
- ownerNotificationKind: successorNotification?.kind,
1161
- ownerNotificationLevel: successorNotification?.level,
1162
- });
1163
- // W1-a: the durable wake intent joins the SAME transaction as the close +
1164
- // successor create. If this (or anything above) throws, the whole act rolls
1165
- // back — one act or none.
1166
- this.stageWakeIntent(newId, input.fromSession, input.toSession, input.identityProvenance ?? null, input.nudge);
1167
- const handoffEvent = this.eventBus.persistWithinTransaction({
1168
- type: "queue.handed_off",
1169
- qitemId: source.qitemId,
1170
- fromSession: input.fromSession,
1171
- toSession: input.toSession,
1172
- closureReason: "handed_off_to",
1173
- summary: source.summary ?? null,
1174
- });
1175
- events.push({ name: "queue.handed_off", payload: handoffEvent });
1176
- // OPR.0.5.6.26 — a handed-off blocker actuates its attached rows through the one
1177
- // propagation site, with the update path's exact effect set.
1178
- for (const dependentEvent of this.propagateBlockerCompletion({
1179
- qitemId: source.qitemId,
1180
- terminalState: "handed-off",
1181
- actorSession: input.fromSession,
1182
- identityProvenance: input.identityProvenance ?? null,
1183
- ts,
1184
- })) {
1185
- events.push({ name: "queue.updated", payload: dependentEvent });
1186
- }
1187
- const createdEvent = this.eventBus.persistWithinTransaction({
1188
- type: "queue.created",
1189
- qitemId: newId,
1190
- sourceSession: input.fromSession,
1191
- destinationSession: input.toSession,
1192
- priority,
1193
- tier,
1194
- summary: input.summary ?? null,
1195
- });
1196
- events.push({ name: "queue.created", payload: createdEvent });
1197
- // W1-c: the seam guard — the LAST statement in the terminal txn. A close
1198
- // that intended a wake cannot commit without its durable intent; a throw
1199
- // here rolls the whole act back at the seam.
1200
- this.assertTerminalClosureHasIntent(source.qitemId, newId, input.nudge);
1201
- });
1202
- txn();
1203
- for (const e of events) {
1204
- this.eventBus.notifySubscribers(e.payload);
1205
- }
1206
- // W1-b: deliver the just-committed wake intent (marking it), or the pre-W1
1207
- // best-effort nudge when no intent store is attached. Post-commit only.
1208
- await this.deliverWakeForSuccessor(newId, input.toSession, input.nudge, input.fromSession);
1209
- return {
1210
- closed: this.getByIdOrThrow(source.qitemId),
1211
- created: this.getByIdOrThrow(newId),
1212
- };
1213
- }
1214
- /**
1215
- * Variant of {@link handoff} that closes the source qitem as `done`
1216
- * (terminal closure) instead of `handed-off` (intermediate). Same atomic
1217
- * close+create, same chain_of_record semantics, same default-nudge behavior.
1218
- * Use when the source seat is fully complete with the work — no follow-up
1219
- * tracking needed against the source qitem.
1220
- */
1221
- async handoffAndComplete(input) {
1222
- const source = this.getById(input.qitemId);
1223
- if (!source) {
1224
- throw new QueueRepositoryError("qitem_not_found", `qitem ${input.qitemId} not found`);
1225
- }
1226
- if (isTerminalState(source.state)) {
1227
- throw new QueueRepositoryError("qitem_already_terminal", `qitem ${input.qitemId} is already in terminal state ${source.state}`);
1228
- }
1229
- if (!this.validateRig(input.toSession)) {
1230
- throw destinationValidationError("to_session", input.toSession, this.loadHumanRegistryFn);
1231
- }
1232
- const newId = newQitemId();
1233
- const ts = new Date().toISOString();
1234
- const body = input.body ?? source.body;
1235
- const priority = input.priority ?? source.priority;
1236
- const tier = input.tier ?? source.tier;
1237
- const tags = input.tags ? JSON.stringify(input.tags) : (source.tags ? JSON.stringify(source.tags) : null);
1238
- const chain = JSON.stringify([...(source.chainOfRecord ?? []), source.qitemId]);
1239
- const targetRepo = input.targetRepo === undefined ? source.targetRepo : input.targetRepo;
1240
- // OPR.0.4.4.19 FR-4/FR-5 — same new-item enforcement as handoff().
1241
- const humanRoute = validateHumanRoute({
1242
- tier,
1243
- destinationSession: input.toSession,
1244
- summary: input.summary ?? null,
1245
- evidenceRef: input.evidenceRef ?? null,
1246
- });
1247
- if (!humanRoute.ok) {
1248
- throw new QueueRepositoryError(humanRoute.code, humanRoute.message, {
1249
- missingFields: humanRoute.missingFields,
1250
- });
1251
- }
1252
- const events = [];
1253
- const txn = this.db.transaction(() => {
1254
- this.db
1255
- .prepare(`UPDATE queue_items
1256
- SET state = 'done',
1257
- ts_updated = ?,
1258
- handed_off_to = ?,
1259
- closure_reason = 'handed_off_to',
1260
- closure_target = ?
1261
- WHERE qitem_id = ?`)
1262
- .run(ts, input.toSession, input.toSession, source.qitemId);
1263
- this.transitionLog.append({
1264
- qitemId: source.qitemId,
1265
- state: "done",
1266
- actorSession: input.fromSession,
1267
- transitionNote: input.transitionNote ?? `handoff-and-complete to ${input.toSession}`,
1268
- closureReason: "handed_off_to",
1269
- closureTarget: input.toSession,
1270
- identityProvenance: input.identityProvenance ?? null, // P21 §4 era-stamp
1271
- });
1272
- // OPR.0.5.8.1 S1b — same structural bypass as handoff(): own transaction,
1273
- // never routes through update().
1274
- this.retireParkGeneratedTimer(source.qitemId, "park_ended:done");
1275
- if (this.hasTargetRepoColumn) {
1276
- this.db
1277
- .prepare(`INSERT INTO queue_items (
1278
- qitem_id, ts_created, ts_updated, source_session, destination_session,
1279
- state, priority, tier, tags, handed_off_from, chain_of_record, body, target_repo
1280
- ) VALUES (?, ?, ?, ?, ?, 'pending', ?, ?, ?, ?, ?, ?, ?)`)
1281
- .run(newId, ts, ts, input.fromSession, input.toSession, priority, tier, tags, source.qitemId, chain, body, targetRepo);
1282
- }
1283
- else {
1284
- this.db
1285
- .prepare(`INSERT INTO queue_items (
1286
- qitem_id, ts_created, ts_updated, source_session, destination_session,
1287
- state, priority, tier, tags, handed_off_from, chain_of_record, body
1288
- ) VALUES (?, ?, ?, ?, ?, 'pending', ?, ?, ?, ?, ?, ?)`)
1289
- .run(newId, ts, ts, input.fromSession, input.toSession, priority, tier, tags, source.qitemId, chain, body);
1290
- }
1291
- this.persistSummary(newId, input.summary ?? null);
1292
- this.persistEvidenceRef(newId, input.evidenceRef ?? null);
1293
- this.persistMintingGeneration(newId, input.fromSession);
1294
- const successorNotification = this.classifyOwnerNotification({
1295
- action: "create",
1296
- destinationSession: input.toSession,
1297
- nextState: "pending",
1298
- });
1299
- this.transitionLog.append({
1300
- qitemId: newId,
1301
- state: "pending",
1302
- actorSession: input.fromSession,
1303
- transitionNote: `handoff-and-complete from ${source.qitemId}`,
1304
- ownerNotificationKind: successorNotification?.kind,
1305
- ownerNotificationLevel: successorNotification?.level,
1306
- });
1307
- // W1-a: the durable wake intent joins the SAME transaction as the close +
1308
- // successor create — one act or none (symmetric with handoff()).
1309
- this.stageWakeIntent(newId, input.fromSession, input.toSession, input.identityProvenance ?? null, input.nudge);
1310
- const handoffEvent = this.eventBus.persistWithinTransaction({
1311
- type: "queue.handed_off",
1312
- qitemId: source.qitemId,
1313
- fromSession: input.fromSession,
1314
- toSession: input.toSession,
1315
- closureReason: "handed_off_to",
1316
- summary: source.summary ?? null,
1317
- });
1318
- events.push({ name: "queue.handed_off", payload: handoffEvent });
1319
- // OPR.0.5.6.26 — a done-via-handoff-and-complete blocker actuates its attached rows through the one
1320
- // propagation site, with the update path's exact effect set (the confirmed R-2 prediction).
1321
- for (const dependentEvent of this.propagateBlockerCompletion({
1322
- qitemId: source.qitemId,
1323
- terminalState: "done",
1324
- actorSession: input.fromSession,
1325
- identityProvenance: input.identityProvenance ?? null,
1326
- ts,
1327
- })) {
1328
- events.push({ name: "queue.updated", payload: dependentEvent });
1329
- }
1330
- const createdEvent = this.eventBus.persistWithinTransaction({
1331
- type: "queue.created",
1332
- qitemId: newId,
1333
- sourceSession: input.fromSession,
1334
- destinationSession: input.toSession,
1335
- priority,
1336
- tier,
1337
- summary: input.summary ?? null,
1338
- });
1339
- events.push({ name: "queue.created", payload: createdEvent });
1340
- // W1-c: the seam guard — the LAST statement in the terminal txn. A close
1341
- // that intended a wake cannot commit without its durable intent; a throw
1342
- // here rolls the whole act back at the seam.
1343
- this.assertTerminalClosureHasIntent(source.qitemId, newId, input.nudge);
1344
- });
1345
- txn();
1346
- for (const e of events) {
1347
- this.eventBus.notifySubscribers(e.payload);
1348
- }
1349
- // W1-b: deliver the just-committed wake intent (marking it), or the pre-W1
1350
- // best-effort nudge when no intent store is attached. Post-commit only.
1351
- await this.deliverWakeForSuccessor(newId, input.toSession, input.nudge, input.fromSession);
1352
- return {
1353
- closed: this.getByIdOrThrow(source.qitemId),
1354
- created: this.getByIdOrThrow(newId),
1355
- };
1356
- }
1357
- /**
1358
- * OPR.0.4.6.MH3 FR-4 (C2, arch Q-c): the LOCAL half of a cross-host
1359
- * handoff — close the source row AFTER the successor-create was forwarded
1360
- * to (and accepted by) the target host. The two sides live in two DBs, so
1361
- * this is deliberately NOT the atomic close+create of {@link handoff}: the
1362
- * boundary is bridged by message-passing (successor-create FIRST on the
1363
- * origin host, this source-close SECOND — never the reverse, so a crash
1364
- * between the two leaves a live duplicate the idempotent re-drive
1365
- * converges, never a dropped potato).
1366
- *
1367
- * Re-drive semantics (FR-4/FR-5, the interrupted-close case):
1368
- * - source already terminal WITH a MATCHING closureTarget → idempotent
1369
- * absorb: return the stored row unchanged (`absorbed: true`) — no
1370
- * second close, no second event.
1371
- * - source already terminal with a MISMATCHED closureTarget → structured
1372
- * `cross_host_close_conflict` (someone else closed it meanwhile —
1373
- * surface, never overwrite).
1374
- * - otherwise → close exactly like the local handoff's close leg:
1375
- * `closure_reason=handed_off_to`; `closure_target` carries the
1376
- * host-qualified successor key `<qitem-id>@<host>` (custody metadata,
1377
- * never a local lookup key); `handed_off_to`
1378
- * stays the two-part `member@rig` (BR-1 — session-string carriers
1379
- * never gain `@host`).
1380
- */
1381
- closeCrossHostHandoffSource(input) {
1382
- const source = this.getById(input.qitemId);
1383
- if (!source) {
1384
- throw new QueueRepositoryError("qitem_not_found", `qitem ${input.qitemId} not found`);
1385
- }
1386
- if (isTerminalState(source.state)) {
1387
- if (source.closureTarget === input.closureTarget) {
1388
- return { item: source, absorbed: true };
1389
- }
1390
- throw new QueueRepositoryError("cross_host_close_conflict", `qitem ${input.qitemId} is already closed toward ${source.closureTarget ?? "<no closure_target>"} — this re-drive names ${input.closureTarget}; surfacing the conflict, never overwriting`, {
1391
- qitemId: input.qitemId,
1392
- existingClosureTarget: source.closureTarget,
1393
- attemptedClosureTarget: input.closureTarget,
1394
- });
1395
- }
1396
- const ts = new Date().toISOString();
1397
- const events = [];
1398
- const txn = this.db.transaction(() => {
1399
- this.db
1400
- .prepare(`UPDATE queue_items
1401
- SET state = ?,
1402
- ts_updated = ?,
1403
- handed_off_to = ?,
1404
- closure_reason = 'handed_off_to',
1405
- closure_target = ?
1406
- WHERE qitem_id = ?`)
1407
- .run(input.terminalState, ts, input.toSession, input.closureTarget, input.qitemId);
1408
- this.transitionLog.append({
1409
- qitemId: input.qitemId,
1410
- state: input.terminalState,
1411
- actorSession: input.fromSession,
1412
- // BR-1: the minted note carries the TWO-PART toSession only — the
1413
- // host-qualified successor key is allowed in closure_target and nowhere
1414
- // else, and transition_note is a durable carrier.
1415
- transitionNote: input.transitionNote ?? `cross-host handoff to ${input.toSession}`,
1416
- closureReason: "handed_off_to",
1417
- closureTarget: input.closureTarget,
1418
- });
1419
- // OPR.0.5.8.1 S1b — third member of the handoff family, same bypass.
1420
- this.retireParkGeneratedTimer(input.qitemId, `park_ended:${input.terminalState}`);
1421
- const handoffEvent = this.eventBus.persistWithinTransaction({
1422
- type: "queue.handed_off",
1423
- qitemId: input.qitemId,
1424
- fromSession: input.fromSession,
1425
- // The event body is a session-string carrier — two-part only (BR-1).
1426
- toSession: input.toSession,
1427
- closureReason: "handed_off_to",
1428
- summary: source.summary ?? null,
1429
- });
1430
- events.push(handoffEvent);
1431
- // OPR.0.5.6.26 (R2 B-1) — the cross-host terminal close is the third
1432
- // handoff-family caller of the one propagation site: attached rows actuate
1433
- // with the update path's exact effect set, at this close's actual terminal
1434
- // state. Absorbed redrives return above this transaction and never re-run it.
1435
- for (const dependentEvent of this.propagateBlockerCompletion({
1436
- qitemId: input.qitemId,
1437
- terminalState: input.terminalState,
1438
- actorSession: input.fromSession,
1439
- identityProvenance: null,
1440
- ts,
1441
- })) {
1442
- events.push(dependentEvent);
1443
- }
1444
- });
1445
- txn();
1446
- for (const e of events) {
1447
- this.eventBus.notifySubscribers(e);
1448
- }
1449
- return { item: this.getByIdOrThrow(input.qitemId), absorbed: false };
1450
- }
1451
- /**
1452
- * `whoami` — return the seat's queue position from the daemon's perspective.
1453
- * Counts active qitems (pending + in-progress + blocked) destined for the
1454
- * caller, lists the most recent active qitems, and reports counts for the
1455
- * caller's outgoing source role too. Read-only; no mutations.
1456
- *
1457
- * Per PL-004 Phase A § Routes: GET /api/queue/whoami.
1458
- */
1459
- whoami(session, opts) {
1460
- const limit = Math.max(1, Math.min(opts?.recentLimit ?? 25, 200));
1461
- const countByState = (state) => {
1462
- const row = this.db
1463
- .prepare(`SELECT COUNT(*) AS n FROM queue_items WHERE destination_session = ? AND state = ?`)
1464
- .get(session, state);
1465
- return row.n;
1466
- };
1467
- const recent = this.db
1468
- .prepare(`SELECT * FROM queue_items
1469
- WHERE destination_session = ?
1470
- AND state IN ('pending','in-progress','blocked')
1471
- ORDER BY ts_updated DESC
1472
- LIMIT ?`)
1473
- .all(session, limit);
1474
- const sourceTotalRow = this.db
1475
- .prepare(`SELECT COUNT(*) AS n FROM queue_items WHERE source_session = ?`)
1476
- .get(session);
1477
- return {
1478
- session,
1479
- asDestination: {
1480
- pending: countByState("pending"),
1481
- inProgress: countByState("in-progress"),
1482
- blocked: countByState("blocked"),
1483
- recent: recent.map((r) => this.rowToItem(r)),
1484
- },
1485
- asSource: { total: sourceTotalRow.n },
1486
- };
1487
- }
1488
- /**
1489
- * Every in-progress row destined for `session`, UNBOUNDED and single-state.
1490
- *
1491
- * `whoami`'s `recent` is a display projection: it is capped (default 25, max 200) and
1492
- * mixes pending/in-progress/blocked. Anything that must reason about how many batons a
1493
- * seat truly holds — in particular a refusal that fires on ambiguity — cannot read it,
1494
- * because a second in-progress row sitting past the cap is invisible and the refusal
1495
- * silently degrades into a confident answer. This is that authoritative input.
1496
- */
1497
- listInProgressForDestination(session) {
1498
- const rows = this.db
1499
- .prepare(`SELECT * FROM queue_items WHERE destination_session = ? AND state = 'in-progress'`)
1500
- .all(session);
1501
- return rows.map((r) => this.rowToItem(r));
1502
- }
1503
- /**
1504
- * Mark a qitem `in-progress` (claim). Computes closure_required_at from tier.
1505
- */
1506
- claim(input) {
1507
- const qitem = this.getById(input.qitemId);
1508
- if (!qitem) {
1509
- throw new QueueRepositoryError("qitem_not_found", `qitem ${input.qitemId} not found`);
1510
- }
1511
- if (qitem.destinationSession !== input.destinationSession) {
1512
- throw new QueueRepositoryError("claim_destination_mismatch", `qitem ${input.qitemId} destination is ${qitem.destinationSession}, not ${input.destinationSession}`);
1513
- }
1514
- if (qitem.state !== "pending" && qitem.state !== "blocked") {
1515
- throw new QueueRepositoryError("qitem_not_claimable", `qitem ${input.qitemId} is in state ${qitem.state}; only pending/blocked are claimable`);
1516
- }
1517
- const ts = new Date().toISOString();
1518
- const closureRequiredAt = computeClosureRequiredAt(ts, qitem.tier);
1519
- // GHOST-STAGE (e/Class-B): stamp the CLAIMANT's occupant generation. THIS is the ghost
1520
- // discriminator — under a handover the successor reuses the seat name, so a name-scoped release
1521
- // would neutralize the successor's own claims; the retiring generation's claims are released by gen.
1522
- const claimedByGeneration = this.hasClaimedGenColumn
1523
- ? (this.resolveOccupantGeneration?.(input.destinationSession) ?? null)
1524
- : null;
1525
- const txn = this.db.transaction(() => {
1526
- if (this.hasClaimedGenColumn) {
1527
- this.db
1528
- .prepare(`UPDATE queue_items
1529
- SET state = 'in-progress', ts_updated = ?, claimed_at = ?, closure_required_at = ?,
1530
- claimed_by_generation_uuid = ?
1531
- WHERE qitem_id = ?`)
1532
- .run(ts, ts, closureRequiredAt, claimedByGeneration, input.qitemId);
1533
- }
1534
- else {
1535
- this.db
1536
- .prepare(`UPDATE queue_items
1537
- SET state = 'in-progress', ts_updated = ?, claimed_at = ?, closure_required_at = ?
1538
- WHERE qitem_id = ?`)
1539
- .run(ts, ts, closureRequiredAt, input.qitemId);
1540
- }
1541
- this.transitionLog.append({
1542
- qitemId: input.qitemId,
1543
- state: "in-progress",
1544
- actorSession: input.destinationSession,
1545
- transitionNote: "claimed",
1546
- identityProvenance: input.identityProvenance ?? null, // P21 §4 era-stamp
1547
- });
1548
- // OPR.0.5.8.1 S1b — CLAIM-RESUME. A blocked row is claimable ("only
1549
- // pending/blocked are claimable"), so claiming is a real exit from a park
1550
- // and it writes state directly rather than through update(). This is the
1551
- // very transition the story contract named, and my first repair pinned it
1552
- // through `update()` — a different spelling of the same outcome, which is
1553
- // why it looked covered.
1554
- this.retireParkGeneratedTimer(input.qitemId, "park_ended:claimed");
1555
- return this.eventBus.persistWithinTransaction({
1556
- type: "queue.claimed",
1557
- qitemId: input.qitemId,
1558
- destinationSession: input.destinationSession,
1559
- claimedAt: ts,
1560
- closureRequiredAt,
1561
- summary: qitem.summary ?? null,
1562
- });
1563
- });
1564
- const persistedEvent = txn();
1565
- this.eventBus.notifySubscribers(persistedEvent);
1566
- return this.getByIdOrThrow(input.qitemId);
1567
- }
1568
- unclaim(qitemId, destinationSession, reason, identityProvenance) {
1569
- const qitem = this.getById(qitemId);
1570
- if (!qitem) {
1571
- throw new QueueRepositoryError("qitem_not_found", `qitem ${qitemId} not found`);
1572
- }
1573
- if (qitem.state !== "in-progress") {
1574
- throw new QueueRepositoryError("qitem_not_in_progress", `qitem ${qitemId} is in state ${qitem.state}; only in-progress can be unclaimed`);
1575
- }
1576
- const ts = new Date().toISOString();
1577
- const txn = this.db.transaction(() => {
1578
- // (e/Class-B): returning to pending releases the claim, so clear the claimant-generation stamp
1579
- // (the item is now unclaimed; a fresh claimant will re-stamp its own generation).
1580
- const clearGen = this.hasClaimedGenColumn ? ", claimed_by_generation_uuid = NULL" : "";
1581
- this.db
1582
- .prepare(`UPDATE queue_items
1583
- SET state = 'pending',
1584
- ts_updated = ?,
1585
- claimed_at = NULL,
1586
- closure_required_at = NULL${clearGen}
1587
- WHERE qitem_id = ?`)
1588
- .run(ts, qitemId);
1589
- this.transitionLog.append({
1590
- qitemId,
1591
- state: "pending",
1592
- actorSession: destinationSession,
1593
- transitionNote: `unclaimed: ${reason}`,
1594
- identityProvenance: identityProvenance ?? null, // P21 §4 era-stamp
1595
- });
1596
- return this.eventBus.persistWithinTransaction({
1597
- type: "queue.unclaimed",
1598
- qitemId,
1599
- destinationSession,
1600
- reason,
1601
- summary: qitem.summary ?? null,
1602
- });
1603
- });
1604
- const persistedEvent = txn();
1605
- this.eventBus.notifySubscribers(persistedEvent);
1606
- return this.getByIdOrThrow(qitemId);
1607
- }
1608
- /**
1609
- * General state mutator. Routes through hot-potato strict-rejection on
1610
- * `done` transitions. All transitions append to the log.
1611
- *
1612
- * Phase B R2: emits queue.updated event atomically with the UPDATE +
1613
- * transition log append, so the view-event-bridge can wake SSE consumers
1614
- * on /api/views/:name/sse for normal state transitions (pending → blocked,
1615
- * in-progress → done, closure, escalation). Phase A write semantics are
1616
- * UNCHANGED — only an additional event emission inside the existing
1617
- * transaction. This is an explicit narrow event-only extension to a
1618
- * Phase A write surface so update-path mutations are visible to the
1619
- * view bridge.
1620
- */
1621
- update(input) {
1622
- const txn = this.db.transaction(() => this.updateInTransactionalContext(input));
1623
- const result = txn();
1624
- for (const event of result.persistedEvents)
1625
- this.eventBus.notifySubscribers(event);
1626
- return this.getByIdOrThrow(input.qitemId);
1627
- }
1628
- /**
1629
- * PL-004 Phase D extension point (orch-ratified per slice IMPL Driver
1630
- * Handoff Contract / Guard R1 repair). Same closure validation +
1631
- * UPDATE + transition log + queue.updated event as update(), but
1632
- * runs inside the caller's outer db.transaction so it composes with
1633
- * workflow-projector's transactional-scribe contract.
1634
- *
1635
- * Caller MUST:
1636
- * 1. Invoke from inside a `db.transaction(() => {...})` block.
1637
- * 2. After the outer txn commits, call:
1638
- * eventBus.notifySubscribers(persistedEvent)
1639
- * 3. NOT call this from outside a transaction (will produce a
1640
- * half-state if the caller errors before committing).
1641
- *
1642
- * Closure validation runs at call time (before the UPDATE) so a
1643
- * Phase A invariant violation (e.g., state=done without closure_reason)
1644
- * throws before the workflow projector's outer transaction can commit
1645
- * any partial state. The Phase A hot-potato strict-rejection rule
1646
- * therefore applies to workflow projection unchanged.
1647
- */
1648
- updateWithinTransaction(input) {
1649
- const result = this.updateInTransactionalContext(input);
1650
- return { qitemId: input.qitemId, ...result };
1651
- }
1652
- /**
1653
- * Internal: closure validation + UPDATE + transition log + emit
1654
- * queue.updated event. Caller is responsible for transaction wrapping
1655
- * (the public update() wraps; the public updateWithinTransaction()
1656
- * composes inside the caller's outer transaction).
1657
- */
1658
- updateInTransactionalContext(input) {
1659
- const qitem = this.getById(input.qitemId);
1660
- if (!qitem) {
1661
- throw new QueueRepositoryError("qitem_not_found", `qitem ${input.qitemId} not found`);
1662
- }
1663
- const hasNote = typeof input.transitionNote === "string" && input.transitionNote.trim().length > 0;
1664
- const isGuardedTerminal = ["done", "canceled", "handed-off"].includes(qitem.state);
1665
- const isStatePreservingAppend = input.state === undefined || (isGuardedTerminal && input.state === qitem.state);
1666
- if (isStatePreservingAppend) {
1667
- if (input.state === undefined && !hasNote) {
1668
- throw new QueueRepositoryError("state_or_note_required", "queue update requires --state or a non-empty --note; nothing was written");
1669
- }
1670
- const disallowed = input.reopen === true
1671
- || input.closureReason != null
1672
- || input.closureTarget != null
1673
- || input.handedOffTo != null
1674
- || input.blockedOn != null
1675
- || input.wakeWatchdogId != null
1676
- || input.wakeAfterSeconds != null
1677
- || input.wakeMaxSeconds != null
1678
- || input.wakeProgressEvidence != null
1679
- || input.wakeMessage != null
1680
- || input.summary != null
1681
- || input.evidenceRef != null;
1682
- if (disallowed) {
1683
- throw new QueueRepositoryError("note_append_fields_not_admitted", "a state-preserving note append accepts only --note (and an optional same --state); state-write fields were supplied, so nothing was written");
1684
- }
1685
- this.transitionLog.append({
1686
- qitemId: input.qitemId,
1687
- state: qitem.state,
1688
- actorSession: input.actorSession,
1689
- transitionNote: input.transitionNote,
1690
- identityProvenance: input.identityProvenance ?? null,
1691
- });
1692
- const persistedEvent = this.eventBus.persistWithinTransaction({
1693
- type: "queue.updated",
1694
- qitemId: input.qitemId,
1695
- fromState: qitem.state,
1696
- toState: qitem.state,
1697
- closureReason: null,
1698
- closureTarget: null,
1699
- actorSession: input.actorSession,
1700
- summary: qitem.summary ?? null,
1701
- });
1702
- return { persistedEvent, persistedEvents: [persistedEvent] };
1703
- }
1704
- if (!isQueueState(input.state)) {
1705
- throw new QueueRepositoryError("invalid_state", `state=${input.state} not valid; valid: ${QUEUE_STATES.join(", ")}`);
1706
- }
1707
- if ((input.wakeWatchdogId != null || input.wakeAfterSeconds != null) && input.state !== "blocked") {
1708
- throw new QueueRepositoryError("wake_not_admitted", "a park wake persists only with state=blocked; park the row or drop the wake option");
1709
- }
1710
- if (input.wakeWatchdogId != null && input.wakeAfterSeconds != null) {
1711
- throw new QueueRepositoryError("wake_ambiguous", "choose one explicit park wake: an existing watchdog id or an atomic timer");
1712
- }
1713
- if (input.wakeAfterSeconds != null && (!Number.isInteger(input.wakeAfterSeconds) || input.wakeAfterSeconds <= 0)) {
1714
- throw new QueueRepositoryError("wake_after_invalid", `wakeAfterSeconds must be a positive integer (got ${input.wakeAfterSeconds})`);
1715
- }
1716
- if (input.wakeMessage != null && input.wakeAfterSeconds == null) {
1717
- throw new QueueRepositoryError("wake_message_not_admitted", "wakeMessage is internal timer content and requires wakeAfterSeconds");
1718
- }
1719
- if (input.wakeMaxSeconds != null && (input.wakeAfterSeconds == null || !Number.isInteger(input.wakeMaxSeconds) || input.wakeMaxSeconds < input.wakeAfterSeconds)) {
1720
- throw new QueueRepositoryError("wake_max_invalid", "wakeMaxSeconds requires an initial delay and must be an integer at least as large");
1721
- }
1722
- if (input.wakeMessage != null && input.wakeMessage.trim().length === 0) {
1723
- throw new QueueRepositoryError("wake_message_invalid", "wakeMessage must be non-empty when supplied");
1724
- }
1725
- const isReopen = isGuardedTerminal && input.state !== qitem.state;
1726
- if (isReopen && !input.reopen) {
1727
- throw new QueueRepositoryError("terminal_reopen_requires_ack", `qitem ${input.qitemId} is currently '${qitem.state}'; state='${input.state}' would reopen a terminal row. Re-run deliberately with --reopen --note <reason>.`, { currentState: qitem.state, requestedState: input.state });
1728
- }
1729
- if (isReopen && !isBlockerLive(input.state)) {
1730
- throw new QueueRepositoryError("terminal_reopen_target_invalid", `qitem ${input.qitemId} is currently '${qitem.state}'; --reopen requires an active target state (pending, in-progress, or blocked), not '${input.state}'.`, { currentState: qitem.state, requestedState: input.state });
1731
- }
1732
- if (isReopen && !hasNote) {
1733
- throw new QueueRepositoryError("reopen_note_required", `qitem ${input.qitemId} is currently '${qitem.state}'; deliberate reopen requires --note <reason> so the repair is auditable.`, { currentState: qitem.state, requestedState: input.state });
1734
- }
1735
- if (input.reopen && !isReopen) {
1736
- throw new QueueRepositoryError("reopen_not_applicable", `--reopen applies only when moving a terminal row to an active state; qitem ${input.qitemId} is currently '${qitem.state}'.`, { currentState: qitem.state, requestedState: input.state });
1737
- }
1738
- const validation = validateClosure({
1739
- state: input.state,
1740
- closureReason: input.closureReason ?? null,
1741
- closureTarget: input.closureTarget ?? null,
1742
- });
1743
- if (!validation.ok) {
1744
- throw new QueueRepositoryError(validation.code, validation.message, {
1745
- validReasons: "validReasons" in validation ? validation.validReasons : undefined,
1746
- });
1747
- }
1748
- // OPR.0.4.6.WF3 FR-6 — the frontier close-path guard (pm ruling:
1749
- // PREVENTION over detection). A TERMINAL closure (done/handed-off)
1750
- // of a LIVE workflow-frontier packet from a NON-workflow verb
1751
- // would strand the instance: the frontier would reference a
1752
- // closed packet and the workflow's own bookkeeping (trail,
1753
- // rebind, events) would never happen. Reject LOUD with
1754
- // what/why/fix naming the workflow verbs. The workflow domain's
1755
- // own writers pass viaWorkflowVerb (they hold the invariant);
1756
- // non-workflow qitems return null from the predicate — closure
1757
- // behavior byte-identical (the zero-friction negative).
1758
- const isTerminalClosure = isTerminalState(input.state);
1759
- if (isTerminalClosure && !input.viaWorkflowVerb && this.workflowFrontierPredicate) {
1760
- const binding = this.workflowFrontierPredicate(input.qitemId);
1761
- if (binding) {
1762
- throw new QueueRepositoryError("workflow_frontier_packet", `qitem ${input.qitemId} is the LIVE frontier packet of workflow instance ${binding.instanceId} (${binding.workflowName}). Closing it out-of-band would strand the workflow. Use the workflow verbs instead: rig workflow project (advance) | rig workflow route (re-target the owner).`, { instanceId: binding.instanceId, workflowName: binding.workflowName, qitemId: input.qitemId });
1763
- }
1764
- }
1765
- // OPR.0.4.4.19 FR-6 — leg-1 park (state=blocked on a HUMAN-seat blocker):
1766
- // enforce summary + evidence_ref at the park moment, evaluated on the
1767
- // EFFECTIVE values (provided on this call, else already on the item) so
1768
- // an item that carried them from create parks without re-entry. The
1769
- // enforcement is here at the write path — the `rig queue block` verb and
1770
- // raw `update --state blocked` hit the same validator (no verb-only
1771
- // enforcement). Blocking on another qitem requires nothing new (BR-1).
1772
- const effectiveBlockedOn = input.blockedOn ?? qitem.blockedOn;
1773
- if (input.state === "blocked" && effectiveBlockedOn && this.getById(effectiveBlockedOn)?.humanIntent === "update") {
1774
- throw new QueueRepositoryError("invalid_human_notification", "An informational update is not an approval dependency. Create a separate decision request if a human decision is needed.");
1775
- }
1776
- if (qitem.humanIntent === "update" && input.state === "blocked" && isHumanSeatSessionRef(effectiveBlockedOn ?? "")) {
1777
- throw new QueueRepositoryError("invalid_human_notification", "An informational delivery cannot become a human approval park; author a separate decision request.");
1778
- }
1779
- const isHumanPark = input.state === "blocked" && isHumanSeatSession(effectiveBlockedOn);
1780
- // OPR.0.5.1 slice-51-06 D2 — summary/evidence_ref are persist-able ONLY at a human-seat park
1781
- // (see the FR-6 note below). Silently ignoring them on any other transition is a data-loss trap
1782
- // (the operator believes the metadata was saved). HARD-REJECT before ANY UPDATE/log/event so the
1783
- // caller learns immediately and nothing is half-applied. null/undefined = absent (allowed);
1784
- // empty string = present (a deliberate value → rejected on a non-park transition).
1785
- if (!isHumanPark) {
1786
- const invalidFields = [];
1787
- if (input.summary != null)
1788
- invalidFields.push("summary");
1789
- if (input.evidenceRef != null)
1790
- invalidFields.push("evidenceRef");
1791
- if (invalidFields.length > 0) {
1792
- const flags = invalidFields.map((f) => (f === "summary" ? "--summary" : "--evidence-ref")).join(" / ");
1793
- throw new QueueRepositoryError("summary_evidence_not_persistable", `${invalidFields.join(" + ")} persist only on a human-seat park (state=blocked on a human seat); the '${input.state}' transition cannot store them. Remove ${flags}, or park the item (rig queue block --on <human-seat> --summary … --evidence-ref …).`, { invalidFields });
1794
- }
1795
- }
1796
- // SWEEP-a (shape f2576102) — closure/blocked-field COHERENCE, beside the reference
1797
- // reject above: an incoherent field must never silently persist (worse than a drop —
1798
- // the COALESCE below would write it). Admits-map, derived from LIVE schema use:
1799
- // closure_reason/closure_target → state "done", OR the PARK-RECORD form
1800
- // (state "blocked" with closureReason "blocked_on" — the workflow gate/park
1801
- // writers' established shape, workflow-runtime.ts:587/1013);
1802
- // blocked_on → state "blocked" only.
1803
- const isParkRecord = input.state === "blocked" && input.closureReason === "blocked_on";
1804
- // Third live form (found by the neighborhood suites): the transactional handoff
1805
- // closes its source as state "handed-off" with closureReason "handed_off_to".
1806
- const isHandoffClose = input.state === "handed-off" && input.closureReason === "handed_off_to";
1807
- // 0.5.1-53 Atom 2a — FOURTH admitted form: the supersession-cancel. A row corrected by
1808
- // cancel-and-replace records state=canceled + closureReason=superseded + closureTarget=<successor>,
1809
- // so superseded is distinguishable from abandoned (a plain cancel keeps closureReason=null).
1810
- const isSupersedeCancel = input.state === "canceled" && input.closureReason === "superseded";
1811
- if (input.state !== "done" && !isParkRecord && !isHandoffClose && !isSupersedeCancel && (input.closureReason != null || input.closureTarget != null)) {
1812
- throw new QueueRepositoryError("closure_fields_not_admitted", `closure_reason/closure_target persist only on state=done, the blocked park-record form, the handoff close, or the superseded cancel; the '${input.state}' transition cannot store them. Close the item (--state done --closure-reason …) or drop the flags.`, {});
1813
- }
1814
- // A supersession must name WHAT replaced this row — fail LOUD before any write (never a silent
1815
- // no-op leaving a stale row, the dead-signal class), symmetric with handed_off_to's target rule.
1816
- if (isSupersedeCancel && !input.closureTarget) {
1817
- throw new QueueRepositoryError("missing_closure_target", `closure_reason=superseded requires closure_target (the successor qitem that replaced this row).`, {});
1818
- }
1819
- if (input.blockedOn != null && input.state !== "blocked") {
1820
- throw new QueueRepositoryError("blocked_on_not_admitted", `blocked_on persists only on state=blocked; the '${input.state}' transition cannot store it. Park the item (rig queue block --on …) or drop --blocked-on.`, {});
1821
- }
1822
- // 0.5.1-53 Atom 1b(ii) + 1a — blocker validation at the park moment. Non-human blocker kinds:
1823
- // qitem-ref ("qitem-…") → must EXIST and be LIVE (1b-ii); a ghost or dead blocker never lifts.
1824
- // typed gate (fold:/auth:/…) → first-class (1a), but a bare prefix with no gate body is malformed
1825
- // (a typo must not masquerade as a gate).
1826
- // anything else (legacy gate-name) → left as-is; out of this slice.
1827
- // Human-seat parks (isHumanPark) enforce their own FR-6 contract above.
1828
- if (input.state === "blocked" && !isHumanPark && typeof effectiveBlockedOn === "string") {
1829
- if (effectiveBlockedOn.startsWith("qitem-")) {
1830
- const blocker = this.getById(effectiveBlockedOn);
1831
- if (!blocker) {
1832
- throw new QueueRepositoryError("blocker_not_found", `blocked_on names a qitem that does not exist: ${effectiveBlockedOn}. A park must name a real, live blocker — a nonexistent blocker can never complete, so the row could never unpark.`,
1833
- // F1 (error-honesty): the rejected value is named rejectedBlocker — an error payload
1834
- // never carries the success-shaped blockedOn field (the field-filtered-misread class).
1835
- { rejectedBlocker: effectiveBlockedOn });
1836
- }
1837
- if (!isBlockerLive(blocker.state)) {
1838
- throw new QueueRepositoryError("blocker_not_live", `blocked_on names a resolved qitem: ${effectiveBlockedOn} is '${blocker.state}'. A park must name a LIVE blocker — parking on a completed/closed row is a dead-blocker park that never self-clears.`, { rejectedBlocker: effectiveBlockedOn, blockerState: blocker.state });
1839
- }
1840
- }
1841
- else {
1842
- const typedPrefix = typedGateBlockerPrefix(effectiveBlockedOn);
1843
- if (typedPrefix && !isTypedGateBlocker(effectiveBlockedOn)) {
1844
- throw new QueueRepositoryError("blocker_malformed", `blocked_on '${effectiveBlockedOn}' is a bare '${typedPrefix}' prefix with no gate body. A typed gate blocker must name its gate (e.g. fold:one-home+attestation).`, { rejectedBlocker: effectiveBlockedOn });
1845
- }
1846
- }
1847
- }
1848
- let effectiveSummary = qitem.summary;
1849
- let effectiveEvidenceRef = qitem.evidenceRef;
1850
- if (isHumanPark) {
1851
- effectiveSummary = input.summary ?? qitem.summary;
1852
- effectiveEvidenceRef = input.evidenceRef ?? qitem.evidenceRef;
1853
- const park = validateHumanPark({
1854
- blockedOn: effectiveBlockedOn,
1855
- summary: effectiveSummary,
1856
- evidenceRef: effectiveEvidenceRef,
1857
- });
1858
- if (!park.ok) {
1859
- throw new QueueRepositoryError(park.code, park.message, {
1860
- missingFields: park.missingFields,
1861
- });
1862
- }
1863
- }
1864
- let parkWake = null;
1865
- const jobsRepo = this.watchdogJobsRepo ?? new WatchdogJobsRepository(this.db);
1866
- if (input.wakeWatchdogId != null) {
1867
- const job = jobsRepo.getById(input.wakeWatchdogId);
1868
- if (!job || job.state !== "active") {
1869
- throw new QueueRepositoryError("wake_watchdog_not_live", `watchdog ${input.wakeWatchdogId} is not an active job; attach a live watchdog or arm an atomic timer`, { wakeWatchdogId: input.wakeWatchdogId });
1870
- }
1871
- if (job.targetSession !== qitem.destinationSession) {
1872
- throw new QueueRepositoryError("wake_watchdog_target_mismatch", `watchdog ${job.jobId} targets ${job.targetSession}, not parked owner ${qitem.destinationSession}`, { wakeWatchdogId: job.jobId, targetSession: job.targetSession, destinationSession: qitem.destinationSession });
1873
- }
1874
- parkWake = { kind: "watchdog", ref: job.jobId };
1875
- }
1876
- else if (input.wakeAfterSeconds != null && input.wakeMaxSeconds != null) {
1877
- if (effectiveBlockedOn === input.qitemId) {
1878
- throw new QueueRepositoryError("wake_self_blocker", "a repeating wait must name an upstream blocker, not its own packet");
1879
- }
1880
- const oldWake = this.wakeRepo.getStatus(input.qitemId);
1881
- const job = armQueueWait(this.db, jobsRepo, {
1882
- previousJobId: oldWake?.kind === "timer" ? oldWake.ref : undefined,
1883
- qitemId: input.qitemId, blocker: effectiveBlockedOn,
1884
- evidence: input.wakeProgressEvidence,
1885
- initialSeconds: input.wakeAfterSeconds, maxSeconds: input.wakeMaxSeconds,
1886
- message: input.wakeMessage ?? `Resume parked qitem ${input.qitemId} and inspect current evidence.`,
1887
- owner: qitem.destinationSession, actor: input.actorSession,
1888
- });
1889
- parkWake = { kind: "timer", ref: job.jobId };
1890
- }
1891
- else if (input.wakeAfterSeconds != null) {
1892
- const job = jobsRepo.register({
1893
- policy: "periodic-reminder",
1894
- specYaml: [
1895
- "policy: periodic-reminder",
1896
- "target:",
1897
- ` session: ${JSON.stringify(qitem.destinationSession)}`,
1898
- `message: ${JSON.stringify(input.wakeMessage ?? `Wake timer fired for parked qitem ${qitem.qitemId}. Resume the recorded continuation and update the row.`)}`,
1899
- "",
1900
- ].join("\n"),
1901
- targetSession: qitem.destinationSession,
1902
- intervalSeconds: input.wakeAfterSeconds,
1903
- registeredBySession: input.actorSession,
1904
- });
1905
- // OPR.0.5.8.1 S1 — start the interval at registration for EVERY explicit
1906
- // `--wake-after` timer, not only provider-limit ones.
1907
- //
1908
- // `isDue` treats a job with no `last_evaluation_at` as due immediately, so
1909
- // an unseeded timer fires on the scheduler's very first pass regardless of
1910
- // its interval: measured at 0.69s for a requested 20m and 0.77s for a
1911
- // requested 2h. The duration was never lost — `interval_seconds` held 1200
1912
- // and 7200 correctly — it simply was not the thing being measured against.
1913
- //
1914
- // S16 introduced this seeding for provider-limit parks only and recorded
1915
- // the narrow scope as deliberate. Widening it is the whole repair: the
1916
- // mechanism is unchanged and already proven by the provider-limit path, so
1917
- // this adds no scheduler and no per-wake bookkeeping.
1918
- jobsRepo.recordEvaluation(job.jobId, job.registeredAt, false);
1919
- parkWake = { kind: "timer", ref: job.jobId };
1920
- }
1921
- else if (input.state === "blocked" && effectiveBlockedOn?.startsWith("qitem-")) {
1922
- parkWake = { kind: "blocker", ref: effectiveBlockedOn };
1923
- }
1924
- const ts = new Date().toISOString();
1925
- const fromState = qitem.state;
1926
- // 0.5.1-53 Atom 1b(i) — clear-on-exit. blocked_on is set EXPLICITLY, not COALESCE'd:
1927
- // a row keeps its blocker ONLY while `state=blocked` (effectiveBlockedOn = the new
1928
- // blocker, else the one it already carried), and any exit from blocked CLEARS it to
1929
- // NULL. The prior `COALESCE(?, blocked_on)` preserved the blocker on every non-blocked
1930
- // transition, leaving dead blockers that nothing audits (the root-cause strand).
1931
- const nextBlockedOn = input.state === "blocked" ? effectiveBlockedOn : null;
1932
- const notification = this.classifyOwnerNotification({
1933
- action: "update",
1934
- destinationSession: qitem.destinationSession,
1935
- previousState: qitem.state,
1936
- previousBlockedOn: qitem.blockedOn,
1937
- nextState: input.state,
1938
- nextBlockedOn,
1939
- explicitKind: input.ownerNotificationKind,
1940
- });
1941
- this.db
1942
- .prepare(`UPDATE queue_items
1943
- SET state = ?,
1944
- ts_updated = ?,
1945
- closure_reason = COALESCE(?, closure_reason),
1946
- closure_target = COALESCE(?, closure_target),
1947
- handed_off_to = COALESCE(?, handed_off_to),
1948
- blocked_on = ?
1949
- WHERE qitem_id = ?`)
1950
- .run(input.state, ts, validation.closureReason, validation.closureTarget, input.handedOffTo ?? null, nextBlockedOn, input.qitemId);
1951
- // FR-6: park-time summary/evidence_ref are PERSISTED onto the existing
1952
- // item (not merely validated-then-dropped) — visible to the attention
1953
- // query and to Packet 2. Only the park path writes them.
1954
- if (isHumanPark) {
1955
- this.persistSummary(input.qitemId, input.summary ?? null);
1956
- this.persistEvidenceRef(input.qitemId, input.evidenceRef ?? null);
1957
- }
1958
- const transition = this.transitionLog.append({
1959
- qitemId: input.qitemId,
1960
- state: input.state,
1961
- actorSession: input.actorSession,
1962
- transitionNote: isReopen ? `reopen acknowledged: ${input.transitionNote}` : input.transitionNote,
1963
- closureReason: validation.closureReason ?? undefined,
1964
- closureTarget: validation.closureTarget ?? undefined,
1965
- identityProvenance: input.identityProvenance ?? null, // P21 §4 era-stamp
1966
- ownerNotificationKind: notification?.kind,
1967
- ownerNotificationLevel: notification?.level,
1968
- });
1969
- if (parkWake) {
1970
- // OPR.0.5.8.1 S1b addendum — A NEW PARK EPISODE SUPERSEDES THE OLD.
1971
- // Re-parking (blocked -> blocked with a fresh --wake-after) used to arm a
1972
- // second job while the first stayed active, leaving two live timers on one
1973
- // row: the third repeat-fire route, alongside the never-stopped fire and
1974
- // the row-outliving timer.
1975
- //
1976
- // Read BEFORE recording the new armed row: getStatus returns the most
1977
- // recent armed wake, so after the record below it would return the one we
1978
- // are arming now rather than the one being superseded.
1979
- //
1980
- // Deliberately not gated on the previous state. The live+timer test is the
1981
- // real safety, and leaving it ungated also cleans up a stale park-generated
1982
- // timer left by any path that did not unpark cleanly. It cannot over-reach:
1983
- // a job already terminal fails `live`, and an operator's attached watchdog
1984
- // fails the kind test.
1985
- if (this.wakeRepo.getStatus(input.qitemId)?.ref !== parkWake.ref) {
1986
- this.retireParkGeneratedTimer(input.qitemId, "park_superseded");
1987
- }
1988
- this.wakeRepo.record({
1989
- transitionId: transition.transitionId,
1990
- qitemId: input.qitemId,
1991
- phase: "armed",
1992
- kind: parkWake.kind,
1993
- ref: parkWake.ref,
1994
- deliveryStatus: null,
1995
- });
1996
- }
1997
- else if (fromState === "blocked" && input.state !== "blocked") {
1998
- // OPR.0.5.8.1 S1b — a park-generated timer is bound to the PARK EPISODE.
1999
- // Leaving `blocked` ends it, so a wake can never arrive telling a seat to
2000
- // resume a row that is no longer parked. Specimen: job
2001
- // 01M1E6F3QG41N76Y1CDX48P766 fired at 10:18:07Z for a row that went
2002
- // handed-off at 10:02:03Z — sixteen minutes terminal, and the wake still
2003
- // said "resume the recorded continuation".
2004
- //
2005
- // Stopping AT THE TRANSITION rather than checking row state at fire time,
2006
- // because the fire path delivers before it consults the queue at all:
2007
- // `recordWatchdogWakeAttempt` runs after delivery and merely returns early
2008
- // when the row is gone, so a check there would audit a wake that had
2009
- // already been sent.
2010
- //
2011
- // ONLY kind === "timer" is stopped. Those jobs are generated by this park
2012
- // and owned by it. A watchdog the operator attached with --wake-watchdog
2013
- // (kind "watchdog") is theirs, may target other rows, and must survive.
2014
- this.retireParkGeneratedTimer(input.qitemId, `park_ended:${input.state}`);
2015
- }
2016
- // 0.5.1-53 Atom 1b(iii) — propagate-completion. blocked_on PROMISES "A waits until B completes";
2017
- // that promise never fired on this runtime (rows sat blocked on done/canceled blockers for days).
2018
- // When THIS qitem reaches a terminal state, auto-unpark every row parked on it (blocked_on = this,
2019
- // state='blocked') to pending, clear its (now-resolved) blocker, log the transition, and emit an
2020
- // event so watchers/sweeps see the unblock without a fetch.
2021
- const dependentEvents = !isBlockerLive(input.state)
2022
- ? this.propagateBlockerCompletion({
2023
- qitemId: input.qitemId,
2024
- terminalState: input.state,
2025
- actorSession: input.actorSession,
2026
- identityProvenance: input.identityProvenance ?? null,
2027
- ts,
2028
- })
2029
- : [];
2030
- const persistedEvent = this.eventBus.persistWithinTransaction({
2031
- type: "queue.updated",
2032
- qitemId: input.qitemId,
2033
- fromState,
2034
- toState: input.state,
2035
- closureReason: validation.closureReason ?? null,
2036
- closureTarget: validation.closureTarget ?? null,
2037
- actorSession: input.actorSession,
2038
- // FR-1 × FR-6: the event carries the summary as of THIS mutation
2039
- // (park-time summary included) so surfaces refresh without a fetch.
2040
- summary: effectiveSummary ?? null,
2041
- });
2042
- return { persistedEvent, persistedEvents: [...dependentEvents, persistedEvent] };
2043
- }
2044
- /** OPR.0.5.6.26 — THE ONE PROPAGATION SITE. blocked_on promises "A waits until B
2045
- * completes"; every terminal closure of a blocker actuates the attached rows'
2046
- * auto-unpark through THIS helper — the update path and the handoff family both
2047
- * call it inside their own transactions. The class this unifies away was
2048
- * per-code-path: the handoff verbs wrote terminal states via direct SQL and the
2049
- * promise never fired for them. Never a second copy of this logic. */
2050
- /**
2051
- * OPR.0.5.8.1 S1b — retire the timer a park generated for this row.
2052
- *
2053
- * THE SINGLE PLACE THIS DECISION IS MADE. `queue_items.state` is written by
2054
- * SIX methods, not one, and the first version of this repair only hooked the
2055
- * generic `updateInTransactionalContext`. Every other writer silently kept the
2056
- * timer alive — including `handoff()`, which is the exact route that produced
2057
- * the motivating specimen (review50-r2 found that one; enumerating the rest
2058
- * found `claim()` and `propagateBlockerCompletion()` too, and `claim()` is the
2059
- * "claim-resume" the story contract named explicitly).
2060
- *
2061
- * Callers must invoke this inside their own state-transition transaction, so a
2062
- * row can never be observed out of its park with a live park timer.
2063
- *
2064
- * Only park-GENERATED timers are retired. A watchdog the operator attached with
2065
- * `--wake-watchdog` is theirs, may target other rows, and always survives.
2066
- * Non-live jobs are left alone, so calling this twice is harmless.
2067
- */
2068
- retireParkGeneratedTimer(qitemId, reason) {
2069
- const armed = this.wakeRepo.getStatus(qitemId);
2070
- if (armed?.kind !== "timer" || !armed.live)
2071
- return;
2072
- (this.watchdogJobsRepo ?? new WatchdogJobsRepository(this.db)).markTerminal(armed.ref, reason);
2073
- }
2074
- propagateBlockerCompletion(input) {
2075
- const dependentEvents = [];
2076
- const blockedRows = this.db
2077
- .prepare("SELECT qitem_id, destination_session FROM queue_items WHERE blocked_on = ? AND state = 'blocked'")
2078
- .all(input.qitemId);
2079
- for (const r of blockedRows) {
2080
- const closed = this.getById(input.qitemId);
2081
- const successors = input.terminalState === "handed-off" ? this.db.prepare("SELECT qitem_id FROM queue_items WHERE handed_off_from = ? AND destination_session = ?").all(input.qitemId, closed?.handedOffTo ?? "") : [];
2082
- const successor = successors.length === 1 ? this.getById(successors[0].qitem_id) : null;
2083
- if (successor && isBlockerLive(successor.state) && successor.destinationSession !== r.destination_session) {
2084
- // Onward custody is a changed blocker. Returning to the waiting owner
2085
- // below is the result arrival that actually resumes its continuation.
2086
- const oldWake = this.wakeRepo.getStatus(r.qitem_id);
2087
- this.db.prepare("UPDATE queue_items SET blocked_on = ?, ts_updated = ? WHERE qitem_id = ?")
2088
- .run(successor.qitemId, input.ts, r.qitem_id);
2089
- const rebound = this.transitionLog.append({ qitemId: r.qitem_id, state: "blocked", actorSession: input.actorSession,
2090
- transitionNote: `blocker custody moved from ${input.qitemId} to ${successor.qitemId}`,
2091
- identityProvenance: input.identityProvenance });
2092
- const jobs = this.watchdogJobsRepo ?? new WatchdogJobsRepository(this.db);
2093
- const retainedTimer = oldWake?.kind === "timer" && retargetQueueWait(this.db, jobs, oldWake.ref, successor.qitemId);
2094
- if (!retainedTimer)
2095
- this.retireParkGeneratedTimer(r.qitem_id, "blocker_custody_moved");
2096
- this.wakeRepo.record({ transitionId: rebound.transitionId, qitemId: r.qitem_id, phase: "armed",
2097
- kind: retainedTimer ? "timer" : "blocker", ref: retainedTimer ? oldWake.ref : successor.qitemId, deliveryStatus: null });
2098
- const event = this.eventBus.persistWithinTransaction({ type: "queue.updated", qitemId: r.qitem_id,
2099
- fromState: "blocked", toState: "blocked", closureReason: null, closureTarget: null,
2100
- actorSession: input.actorSession, summary: this.getById(r.qitem_id)?.summary ?? null });
2101
- this.eventBus.registerPersistedWithinActiveEnvelope(event);
2102
- dependentEvents.push(event);
2103
- continue;
2104
- }
2105
- this.db
2106
- .prepare("UPDATE queue_items SET state = 'pending', blocked_on = NULL, ts_updated = ? WHERE qitem_id = ?")
2107
- .run(input.ts, r.qitem_id);
2108
- const resumeTransition = this.transitionLog.append({
2109
- qitemId: r.qitem_id,
2110
- state: "pending",
2111
- actorSession: input.actorSession,
2112
- transitionNote: `auto-unparked: blocker ${input.qitemId} reached terminal state '${input.terminalState}'`,
2113
- });
2114
- // OPR.0.5.8.1 S1b — AUTO-UNPARK. A row parked with `--on X --wake-after 20m`
2115
- // carries BOTH a blocker and a timer; when X completes this unparks the row
2116
- // directly, so without this the blocker did its job and the timer still fired
2117
- // afterwards at a row that was no longer parked.
2118
- this.retireParkGeneratedTimer(r.qitem_id, "park_ended:auto-unparked");
2119
- const wakeIntentId = this.stageAutoUnparkWakeIntent({
2120
- qitemId: r.qitem_id,
2121
- destinationSession: r.destination_session,
2122
- fromSession: input.actorSession,
2123
- identityProvenance: input.identityProvenance,
2124
- blockerQitemId: input.qitemId,
2125
- resumeTransitionId: resumeTransition.transitionId,
2126
- });
2127
- if (wakeIntentId)
2128
- this.deliverWakeIntentAfterCommit(wakeIntentId);
2129
- const dependentEvent = this.eventBus.persistWithinTransaction({
2130
- type: "queue.updated",
2131
- qitemId: r.qitem_id,
2132
- fromState: "blocked",
2133
- toState: "pending",
2134
- closureReason: null,
2135
- closureTarget: null,
2136
- actorSession: input.actorSession,
2137
- summary: this.getById(r.qitem_id)?.summary ?? null,
2138
- });
2139
- this.eventBus.registerPersistedWithinActiveEnvelope(dependentEvent);
2140
- dependentEvents.push(dependentEvent);
2141
- }
2142
- return dependentEvents;
2143
- }
2144
- getParkWakeStatus(qitemId) {
2145
- return this.wakeRepo.getStatus(qitemId);
2146
- }
2147
- /** Refuse a legacy park-generated timer only when every row bound to it is
2148
- * terminal. Current exits retire these timers transactionally; this is the
2149
- * delivery-seam backstop for residue persisted by an older daemon. A timer
2150
- * still bound to any actionable row, and every operator-attached watchdog,
2151
- * remains deliverable. */
2152
- resolveWatchdogPreDeliveryTerminalReason(jobId) {
2153
- const targets = this.wakeRepo.findQitemsByGeneratedTimer(jobId);
2154
- if (targets.length === 0 || targets.some(({ state }) => !isTerminalState(state)))
2155
- return null;
2156
- // Ownership, not just staleness. This backstop may retire a job only when
2157
- // the job is SOLELY a park-generated timer. `--wake-watchdog` can attach an
2158
- // operator row to the very job another row's `--wake-after` produced, and
2159
- // that is a supported path — so a shared job carries a second, watchdog-kind
2160
- // binding this reason has no authority over. The timer's rows being terminal
2161
- // says nothing about the attachment; claiming the job anyway terminals it
2162
- // before transport and the attachment can never wake.
2163
- if (this.wakeRepo.findQitemsByAttachedWatchdog(jobId).length > 0)
2164
- return null;
2165
- return "park_timer_target_terminal";
2166
- }
2167
- listTransitions(qitemId) {
2168
- return this.transitionLog.listForQitem(qitemId).map((transition) => {
2169
- const wake = this.wakeRepo.getForTransition(transition.transitionId);
2170
- return wake ? { ...transition, wake } : transition;
2171
- });
2172
- }
2173
- /** Read-only scope-aware RECENT projection. Normalization and its hard cap
2174
- * live with the append-only transition log; the repository owns the public
2175
- * queue-domain door. */
2176
- listRecentTransitions(scope, limit = 20) {
2177
- return this.transitionLog.listRecent(typeof scope === "string" ? { kind: "rig", rig: scope } : scope, limit);
2178
- }
2179
- /** Called by the watchdog engine after the delivery attempt is durably
2180
- * audited. The queue transition records that attempt independently of
2181
- * whether the HELD row's owner consumed it. */
2182
- recordWatchdogWakeAttempt(jobId, deliveryStatus) {
2183
- const targets = this.wakeRepo.findBlockedQitemsByWatchdog(jobId);
2184
- if (targets.length === 0)
2185
- return;
2186
- const recordFired = ({ qitemId, kind }) => {
2187
- const transition = this.transitionLog.append({
2188
- qitemId,
2189
- state: "blocked",
2190
- actorSession: "watchdog@system",
2191
- transitionNote: `park wake fired: watchdog ${jobId}; delivery=${deliveryStatus}; awaiting owner consumption`,
2192
- });
2193
- this.wakeRepo.record({
2194
- transitionId: transition.transitionId,
2195
- qitemId,
2196
- phase: "fired",
2197
- kind,
2198
- ref: jobId,
2199
- deliveryStatus,
2200
- });
2201
- return this.eventBus.persistWithinTransaction({
2202
- type: "queue.updated",
2203
- qitemId,
2204
- fromState: "blocked",
2205
- toState: "blocked",
2206
- closureReason: null,
2207
- closureTarget: null,
2208
- actorSession: "watchdog@system",
2209
- summary: this.getById(qitemId)?.summary ?? null,
2210
- });
2211
- };
2212
- const usageLimitBlockers = targets.filter(({ qitemId }) => this.getById(qitemId)?.tags?.includes(USAGE_LIMIT_BLOCKER_TAG));
2213
- // OPR.0.5.8.1 S1b — a park-generated timer is ONE-SHOT. `periodic-reminder`
2214
- // repeats every intervalSeconds forever, so an unstopped park timer wakes its
2215
- // owner again at +2 intervals, +3, indefinitely.
2216
- //
2217
- // The provider-limit path below already ends its job after firing; that
2218
- // behaviour is UNCHANGED by this repair and pinned as unchanged. This widens
2219
- // the same act to ordinary park timers, without their blocker resolution —
2220
- // resolving the blocker is a provider-limit outcome, not a timer one.
2221
- const parkGeneratedTimer = targets.some(({ kind }) => kind === "timer");
2222
- const events = this.db.transaction(() => {
2223
- const firedEvents = targets.map(recordFired);
2224
- if (usageLimitBlockers.length === 0) {
2225
- if (parkGeneratedTimer && !backOffQueueWait(this.watchdogJobsRepo ?? new WatchdogJobsRepository(this.db), jobId, deliveryStatus)) {
2226
- (this.watchdogJobsRepo ?? new WatchdogJobsRepository(this.db)).markTerminal(jobId, "park_timer_fired_once");
2227
- }
2228
- return firedEvents;
2229
- }
2230
- (this.watchdogJobsRepo ?? new WatchdogJobsRepository(this.db)).markTerminal(jobId, "usage_limit_expiry_fired");
2231
- const resolutionEvents = usageLimitBlockers.flatMap(({ qitemId }) => this.updateInTransactionalContext({
2232
- qitemId,
2233
- actorSession: "watchdog@system",
2234
- state: "done",
2235
- closureReason: "no-follow-on",
2236
- transitionNote: `provider-limit timer ${jobId} reached its expiry; resolving the shared blocker once`,
2237
- }).persistedEvents);
2238
- return [...firedEvents, ...resolutionEvents];
2239
- })();
2240
- for (const event of events)
2241
- this.eventBus.notifySubscribers(event);
2242
- }
2243
- getById(qitemId) {
2244
- const row = this.db
2245
- .prepare("SELECT * FROM queue_items WHERE qitem_id = ?")
2246
- .get(qitemId);
2247
- if (!row)
2248
- return null;
2249
- const item = this.rowToItem(row);
2250
- // OPR.0.5.6.14 — the row FACE answers "did it reach them" in one read for
2251
- // gateway-routed rows; null for pane-bound (absence-governed, no key lies).
2252
- const ledger = this.deliveryOutcomeFor(item.qitemId);
2253
- return {
2254
- ...item,
2255
- deliveryOutcome: ledger?.outcome ?? null,
2256
- ...(ledger && ledger.outcome !== "posted" ? { deliveryFailureDetail: ledger.detail } : {}),
2257
- };
2258
- }
2259
- list(opts) {
2260
- const limit = opts?.limit ?? 100;
2261
- const conditions = [];
2262
- const params = [];
2263
- if (opts?.tag) {
2264
- conditions.push("EXISTS (SELECT 1 FROM json_each(queue_items.tags) WHERE value = ?)");
2265
- params.push(opts.tag);
2266
- }
2267
- if (opts?.rig) {
2268
- const escaped = opts.rig.replace(/%/g, "\\%").replace(/_/g, "\\_");
2269
- conditions.push("(destination_session LIKE ? ESCAPE '\\' OR source_session LIKE ? ESCAPE '\\')");
2270
- params.push(`%@${escaped}`, `%@${escaped}`);
2271
- }
2272
- if (opts?.asSession) {
2273
- conditions.push("(destination_session = ? OR source_session = ?)");
2274
- params.push(opts.asSession, opts.asSession);
2275
- }
2276
- if (opts?.activeOnly && !opts?.state) {
2277
- conditions.push("state IN ('pending', 'in-progress', 'blocked')");
2278
- }
2279
- if (opts?.destinationSession) {
2280
- conditions.push("destination_session = ?");
2281
- params.push(opts.destinationSession);
2282
- }
2283
- if (opts?.sourceSession) {
2284
- conditions.push("source_session = ?");
2285
- params.push(opts.sourceSession);
2286
- }
2287
- if (opts?.state) {
2288
- const states = Array.isArray(opts.state) ? opts.state : [opts.state];
2289
- const placeholders = states.map(() => "?").join(", ");
2290
- conditions.push(`state IN (${placeholders})`);
2291
- params.push(...states);
2292
- }
2293
- if (opts?.targetRepo && this.hasTargetRepoColumn) {
2294
- conditions.push("target_repo = ?");
2295
- params.push(opts.targetRepo);
2296
- }
2297
- const where = conditions.length > 0 ? `WHERE ${conditions.join(" AND ")}` : "";
2298
- const columns = opts?.compact ? COMPACT_QUEUE_COLUMNS + (this.hasHumanIntentColumn ? ", human_intent" : "") : "*";
2299
- const useActiveFirst = !!(opts?.rig || opts?.asSession || opts?.activeOnly);
2300
- const orderBy = useActiveFirst
2301
- ? "CASE WHEN state IN ('pending', 'in-progress', 'blocked') THEN 0 ELSE 1 END, ts_created DESC"
2302
- : "ts_created DESC";
2303
- params.push(limit);
2304
- const rows = this.db
2305
- .prepare(`SELECT ${columns} FROM queue_items ${where} ORDER BY ${orderBy} LIMIT ?`)
2306
- .all(...params);
2307
- const items = rows.map((r) => {
2308
- const item = this.rowToItem(r, !opts?.compact);
2309
- const ledger = this.deliveryOutcomeFor(item.qitemId);
2310
- return {
2311
- ...item,
2312
- deliveryOutcome: ledger?.outcome ?? null,
2313
- ...(ledger && ledger.outcome !== "posted" ? { deliveryFailureDetail: ledger.detail } : {}),
2314
- };
2315
- });
2316
- return opts?.compact
2317
- ? items.map((item) => ({
2318
- ...item,
2319
- fieldsElided: ["body", "summary", "evidenceRef", "humanDetail", "waiting"],
2320
- }))
2321
- : items;
2322
- }
2323
- /**
2324
- * OPR.0.3.2.20 — durable attention-class query.
2325
- *
2326
- * Returns OPEN attention-class qitems (the source of truth for the
2327
- * For You Action-required + Approval lenses) by pushing the
2328
- * attention predicate INTO the SQL WHERE clause so the LIMIT
2329
- * applies AFTER attention filtering. This makes the result
2330
- * window-INDEPENDENT by construction: an old human-gate item
2331
- * cannot be evicted past LIMIT by routine open qitems even when
2332
- * there are >>LIMIT of them. (Guard verdict qitem-20260518190827
2333
- * BLOCKER 1 — the prior fetch-then-filter approach in the route
2334
- * could still hide attention items behind ATTENTION_FETCH_BOUND
2335
- * newer routine open qitems.)
2336
- *
2337
- * Attention predicate in SQL (mirror of mission-control read
2338
- * layer + the route-level `isAttentionItem`):
2339
- * tier = 'human-gate' (approval)
2340
- * OR destination_session matches human-seat regex (action-required)
2341
- *
2342
- * SQLite has no native regex; LIKE patterns are used as a
2343
- * SUPER-SET (every regex match also matches one of the LIKE
2344
- * patterns). Callers can refine in JS with isAttentionItem if
2345
- * they need strict regex semantics — but for the LIMIT-pushdown
2346
- * guarantee, the SQL superset is what matters: NO attention item
2347
- * is filtered out by the SQL stage.
2348
- *
2349
- * Default open state set: pending|in-progress|blocked. Caller may
2350
- * override via `state`.
2351
- */
2352
- /** Delivered informational records remain queryable after closure. Receipt filtering
2353
- * happens before LIMIT; no prose/tier classifier and no second event store. */
2354
- listDeliveredHumanUpdates(opts = {}) {
2355
- if (!this.hasHumanIntentColumn)
2356
- return [];
2357
- const limit = Number.isFinite(opts.limit) ? Math.max(1, Math.min(101, Math.floor(opts.limit))) : 20;
2358
- const receipts = `SELECT qitem_id, ts, transition_note FROM queue_transitions` +
2359
- (detectTable(this.db, "queue_transitions_archive") ? ` UNION ALL SELECT qitem_id, ts, transition_note FROM queue_transitions_archive` : "");
2360
- const rows = this.db.prepare(`
2361
- SELECT q.*, r.ts AS delivered_at, r.transition_note AS delivery_receipt
2362
- FROM queue_items q JOIN (${receipts}) r ON r.qitem_id = q.qitem_id
2363
- WHERE q.human_intent = 'update' AND is_human_seat_session(q.destination_session) = 1
2364
- AND r.transition_note LIKE 'slack-owner-notification-posted %'
2365
- ORDER BY r.ts DESC, q.qitem_id DESC LIMIT ?
2366
- `).all(limit);
2367
- return rows.map((row) => ({ ...this.rowToItem(row), deliveredAt: row.delivered_at, deliveryReceipt: row.delivery_receipt }));
2368
- }
2369
- listAttention(opts) {
2370
- const limit = opts?.limit ?? 100;
2371
- const states = opts?.state
2372
- ? Array.isArray(opts.state) ? opts.state : [opts.state]
2373
- : ["pending", "in-progress", "blocked"];
2374
- // Compose the WHERE clause: state-set + attention predicate +
2375
- // optional scope filters (mirrors list() composition so
2376
- // `attention=1` query params remain composable with
2377
- // destinationSession/sourceSession/targetRepo — guard re-verify
2378
- // qitem-20260518192210 BLOCKER 1).
2379
- const statePlaceholders = states.map(() => "?").join(", ");
2380
- // The attention predicate is EXACT in SQL (guard re-verify-3
2381
- // qitem-20260518193005 BLOCKER 1): is_human_seat_session evaluates
2382
- // the strict regex registered in the QueueRepository constructor.
2383
- // Malformed rows that would have slipped through a LIKE superset
2384
- // (e.g., 'human-@kernel' — empty name segment) are rejected at
2385
- // the SQL stage, BEFORE LIMIT, so they cannot saturate the LIMIT
2386
- // window and hide valid attention items.
2387
- // OPR.0.4.4.19 FR-6 — the attention predicate gains the leg-1 park
2388
- // clause: a qitem parked as state=blocked on a HUMAN-seat blocker is a
2389
- // decision the human owes. Blocking on another qitem (today's shipped
2390
- // usage) does NOT match — is_human_seat_session rejects qitem ids.
2391
- const conditions = [
2392
- `state IN (${statePlaceholders})`,
2393
- `(
2394
- is_human_seat_session(destination_session) = 1
2395
- OR (state = 'blocked' AND is_human_seat_session(blocked_on) = 1)
2396
- )`,
2397
- ];
2398
- if (this.hasHumanIntentColumn)
2399
- conditions.push("COALESCE(human_intent, 'decision') <> 'update'");
2400
- const params = [...states];
2401
- if (opts?.destinationSession) {
2402
- conditions.push("destination_session = ?");
2403
- params.push(opts.destinationSession);
2404
- }
2405
- if (opts?.sourceSession) {
2406
- conditions.push("source_session = ?");
2407
- params.push(opts.sourceSession);
2408
- }
2409
- if (opts?.targetRepo && this.hasTargetRepoColumn) {
2410
- conditions.push("target_repo = ?");
2411
- params.push(opts.targetRepo);
2412
- }
2413
- params.push(limit);
2414
- const sql = `
2415
- SELECT * FROM queue_items
2416
- WHERE ${conditions.join(" AND ")}
2417
- ORDER BY ts_created DESC
2418
- LIMIT ?
2419
- `;
2420
- const rows = this.db.prepare(sql).all(...params);
2421
- return rows.map((r) => this.rowToItem(r));
2422
- }
2423
- /**
2424
- * Find qitems whose `closure_required_at` is past now. Used by watchdog;
2425
- * does NOT itself emit events — callers decide whether to nudge or escalate.
2426
- *
2427
- * Slice 15 (finding 2): optionally rig-scoped, limited, and compact — mirroring
2428
- * `list` — so `rig queue overdue` is bounded and body-free by default instead of
2429
- * dumping every rig's full qitem bodies to a single caller. No args = the prior
2430
- * behavior (all overdue, full rows) for the watchdog.
2431
- */
2432
- findOverdue(opts) {
2433
- const cutoff = opts?.now ?? new Date().toISOString();
2434
- const conditions = ["state = 'in-progress'", "closure_required_at IS NOT NULL", "closure_required_at <= ?"];
2435
- const params = [cutoff];
2436
- if (opts?.rig) {
2437
- const escaped = opts.rig.replace(/%/g, "\\%").replace(/_/g, "\\_");
2438
- conditions.push("(destination_session LIKE ? ESCAPE '\\' OR source_session LIKE ? ESCAPE '\\')");
2439
- params.push(`%@${escaped}`, `%@${escaped}`);
2440
- }
2441
- const columns = opts?.compact ? COMPACT_QUEUE_COLUMNS + (this.hasHumanIntentColumn ? ", human_intent" : "") : "*";
2442
- let sql = `SELECT ${columns} FROM queue_items WHERE ${conditions.join(" AND ")} ORDER BY closure_required_at ASC`;
2443
- if (opts?.limit !== undefined) {
2444
- sql += " LIMIT ?";
2445
- params.push(opts.limit);
2446
- }
2447
- const rows = this.db.prepare(sql).all(...params);
2448
- return rows.map((r) => this.rowToItem(r, !opts?.compact));
2449
- }
2450
- /**
2451
- * Surface two evidence-backed undelivered classes: the original pending
2452
- * create-path nudge failures, and active human-notification episodes whose
2453
- * gateway ledger says transport-failed or receiptless past the post window.
2454
- * A generic null nudge is still excluded; only a structured OWNER episode
2455
- * makes that absence meaningful. READ only — no retry or unwind.
2456
- */
2457
- findUndelivered(opts) {
2458
- // OPR.0.5.6.14 — delivery truth belongs to the CURRENT human-notification
2459
- // episode, not to the row's whole history. Pull every active row that can
2460
- // carry a current episode or a legacy nudge/receipt, then derive/filter in
2461
- // JS. LIMIT is applied after that filtering so historical POSTED episodes
2462
- // cannot consume the window and hide a later failure.
2463
- const ownerEpisodeCandidate = this.hasOwnerNotificationColumns
2464
- ? `EXISTS (SELECT 1 FROM queue_transitions owner_episode
2465
- WHERE owner_episode.qitem_id = queue_items.qitem_id
2466
- AND owner_episode.owner_notification_level IS NOT NULL)`
2467
- : "0";
2468
- const conditions = [
2469
- "state IN ('pending', 'in-progress', 'blocked')",
2470
- `((state = 'pending' AND (last_nudge_result LIKE 'failed:%'
2471
- OR last_nudge_result LIKE 'unroutable:%'
2472
- OR last_nudge_result LIKE 'gateway-owned%'))
2473
- OR ${ownerEpisodeCandidate}
2474
- OR EXISTS (SELECT 1 FROM queue_transitions receipt
2475
- WHERE receipt.qitem_id = queue_items.qitem_id
2476
- AND (receipt.transition_note LIKE 'slack-owner-notification-posted %'
2477
- OR receipt.transition_note LIKE 'slack-owner-notification-transport-failed %')))`,
2478
- ];
2479
- const params = [];
2480
- if (opts?.rig) {
2481
- const escaped = opts.rig.replace(/%/g, "\\%").replace(/_/g, "\\_");
2482
- conditions.push("(destination_session LIKE ? ESCAPE '\\' OR source_session LIKE ? ESCAPE '\\')");
2483
- params.push(`%@${escaped}`, `%@${escaped}`);
2484
- }
2485
- const columns = opts?.compact ? COMPACT_QUEUE_COLUMNS + (this.hasHumanIntentColumn ? ", human_intent" : "") : "*";
2486
- const sql = `SELECT ${columns} FROM queue_items WHERE ${conditions.join(" AND ")} ORDER BY ts_created ASC`;
2487
- const rows = this.db.prepare(sql).all(...params);
2488
- const out = [];
2489
- for (const r of rows) {
2490
- const item = this.rowToItem(r, !opts?.compact);
2491
- const ledger = this.deliveryOutcomeFor(item.qitemId);
2492
- if (ledger?.outcome === "posted")
2493
- continue; // the receipt wins, always
2494
- if (ledger?.outcome === "transport-failed") {
2495
- out.push({
2496
- ...item,
2497
- deliveryOutcome: "transport-failed",
2498
- deliveryFailureClass: "transport-failed",
2499
- deliveryFailureDetail: ledger.detail,
2500
- });
2501
- }
2502
- else if (ledger?.outcome === "never-posted") {
2503
- out.push({
2504
- ...item,
2505
- deliveryOutcome: "never-posted",
2506
- deliveryFailureClass: "never-posted",
2507
- deliveryFailureDetail: ledger.detail,
2508
- });
2509
- }
2510
- else {
2511
- // No ledger verdict: only the legacy pending failed/unroutable class is
2512
- // undelivered. An active non-human row can still have an old OWNER
2513
- // transition; that historical episode is not a current obligation.
2514
- const lastNudge = item.lastNudgeResult ?? "";
2515
- if (item.state === "pending" && (lastNudge.startsWith("failed:") || lastNudge.startsWith("unroutable:"))) {
2516
- out.push(item);
2517
- }
2518
- }
2519
- if (opts?.limit !== undefined && out.length >= opts.limit)
2520
- break;
2521
- }
2522
- return out;
2523
- }
2524
- /** OPR.0.5.6.14 — terminal transport is a CAPABILITY, not topology presence.
2525
- * An exact session or composed canonical seat is pane-bound only when its
2526
- * node carries an explicit tmux binding. external_cli is paneless and must
2527
- * continue to the human-registry/gateway leg. FAIL-OPEN only where the DB
2528
- * cannot carry classification evidence (empty/partial bootstrap schemas). */
2529
- hasTerminalTransport(dest) {
2530
- try {
2531
- const anyTopology = this.db.prepare("SELECT 1 FROM sessions LIMIT 1").get()
2532
- ?? this.db.prepare("SELECT 1 FROM nodes LIMIT 1").get();
2533
- if (!anyTopology)
2534
- return true;
2535
- if (this.db.prepare(`SELECT 1 FROM sessions s JOIN bindings b ON b.node_id = s.node_id
2536
- WHERE s.session_name = ?
2537
- AND COALESCE(b.attachment_type, 'tmux') = 'tmux'
2538
- AND b.tmux_session IS NOT NULL LIMIT 1`).get(dest))
2539
- return true;
2540
- const at = dest.lastIndexOf("@");
2541
- if (at <= 0)
2542
- return true; // non-canonical shapes stay on the legacy path
2543
- const seat = dest.slice(0, at);
2544
- const rig = dest.slice(at + 1);
2545
- const composed = this.db.prepare(`SELECT 1 FROM nodes n
2546
- JOIN rigs r ON r.id = n.rig_id
2547
- JOIN bindings b ON b.node_id = n.id
2548
- WHERE r.name = ? AND REPLACE(n.logical_id, '.', '-') = ?
2549
- AND COALESCE(b.attachment_type, 'tmux') = 'tmux'
2550
- AND b.tmux_session IS NOT NULL LIMIT 1`).get(rig, seat);
2551
- return !!composed;
2552
- }
2553
- catch {
2554
- return true; // schema-partial fixture DB: never discriminate without evidence
2555
- }
2556
- }
2557
- /** Null means legacy/no OWNER history; inactive means OWNER history exists
2558
- * but the row no longer projects a current human-notification episode. */
2559
- currentDeliveryEpisode(item) {
2560
- const transition = this.transitionLog.latestOwnerNotificationForQitem(item.qitemId);
2561
- if (!transition)
2562
- return null;
2563
- const registry = this.loadHumanRegistryFn();
2564
- if (!registry.ok)
2565
- return "inactive";
2566
- const humanAddress = transition.ownerNotificationKind === "human-decision-resolved"
2567
- ? resolveRegisteredHumanAddress(transition.actorSession, registry.entities)
2568
- : item.state === "blocked"
2569
- ? resolveRegisteredHumanAddress(item.blockedOn, registry.entities)
2570
- : resolveRegisteredHumanAddress(item.destinationSession, registry.entities);
2571
- return humanAddress
2572
- ? { notificationKey: `${item.qitemId}:${transition.transitionId}`, startedAt: transition.ts }
2573
- : "inactive";
2574
- }
2575
- /** OPR.0.5.6.14 — derive the current episode's delivery ledger. Receipt
2576
- * transitions are same-row but keyed by qitemId:OWNER-transitionId; an old
2577
- * posted receipt cannot mask a later human park. Legacy pre-OWNER or literal
2578
- * external rows retain their row-scoped fallback. */
2579
- deliveryOutcomeFor(qitemId) {
2580
- // Some repository-only fixtures intentionally model the pre-transition
2581
- // schema. Delivery projection is additive there: absence means no verdict,
2582
- // never a list failure.
2583
- if (!this.hasQueueTransitionsTable)
2584
- return null;
2585
- const row = this.db.prepare("SELECT * FROM queue_items WHERE qitem_id = ?")
2586
- .get(qitemId);
2587
- if (!row)
2588
- return null;
2589
- // The delivery episode uses row fields, not the waiting/backstop view.
2590
- // Keep this read fresh without repeating the caller's recovery-tag scan.
2591
- const item = this.rowToItem(row, false);
2592
- const episodeState = this.currentDeliveryEpisode(item);
2593
- if (episodeState === "inactive")
2594
- return null;
2595
- const episode = episodeState;
2596
- const notes = this.db.prepare(`SELECT transition_note FROM queue_transitions
2597
- WHERE qitem_id = ? AND (transition_note LIKE 'slack-owner-notification-posted %'
2598
- OR transition_note LIKE 'slack-owner-notification-transport-failed %')
2599
- ORDER BY transition_id DESC`).all(qitemId);
2600
- const currentNotes = episode
2601
- ? notes.filter((note) => note.transition_note.split(/\s+/).includes(`notification_key=${episode.notificationKey}`))
2602
- : notes;
2603
- const posted = currentNotes.find((note) => note.transition_note.startsWith("slack-owner-notification-posted "));
2604
- if (posted)
2605
- return { outcome: "posted", detail: posted.transition_note };
2606
- const failed = currentNotes.find((note) => note.transition_note.startsWith("slack-owner-notification-transport-failed "));
2607
- if (failed)
2608
- return { outcome: "transport-failed", detail: failed.transition_note };
2609
- const startedAt = episode?.startedAt ?? item.tsCreated;
2610
- const gatewayRouted = episode !== null || item.lastNudgeResult?.startsWith("gateway-owned") === true;
2611
- if (gatewayRouted) {
2612
- const ageMs = Date.now() - new Date(startedAt.includes("T") ? startedAt : startedAt + "Z").getTime();
2613
- if (ageMs > QueueRepository.NEVER_POSTED_WINDOW_MS) {
2614
- const key = episode ? ` for notification_key=${episode.notificationKey}` : "";
2615
- return { outcome: "never-posted", detail: `gateway-routed row with no delivery receipt${key} past the post window` };
2616
- }
2617
- }
2618
- return null;
2619
- }
2620
- /** The grace window before a receiptless gateway-routed row honestly reads
2621
- * never-posted (the connector sweep cadence bounds normal posting latency). */
2622
- static NEVER_POSTED_WINDOW_MS = 120_000;
2623
- recordNudgeAttempt(qitemId, result) {
2624
- const ts = new Date().toISOString();
2625
- this.db
2626
- .prepare(`UPDATE queue_items
2627
- SET last_nudge_attempt = ?, last_nudge_result = ?
2628
- WHERE qitem_id = ?`)
2629
- .run(ts, result, qitemId);
2630
- }
2631
- /**
2632
- * Pod-fallback: redirect qitem to a fallback destination (e.g., when a seat
2633
- * is unreachable). Emits qitem.fallback_routed; preserves chain_of_record.
2634
- */
2635
- routeToFallback(qitemId, fallbackDestination, reason) {
2636
- const qitem = this.getById(qitemId);
2637
- if (!qitem) {
2638
- throw new QueueRepositoryError("qitem_not_found", `qitem ${qitemId} not found`);
2639
- }
2640
- const ts = new Date().toISOString();
2641
- const originalDestination = qitem.destinationSession;
2642
- const newChain = JSON.stringify([...(qitem.chainOfRecord ?? []), `fallback-from:${originalDestination}`]);
2643
- const txn = this.db.transaction(() => {
2644
- this.db
2645
- .prepare(`UPDATE queue_items
2646
- SET destination_session = ?,
2647
- ts_updated = ?,
2648
- chain_of_record = ?,
2649
- resolution = ?
2650
- WHERE qitem_id = ?`)
2651
- .run(fallbackDestination, ts, newChain, `fallback: ${reason}`, qitemId);
2652
- this.transitionLog.append({
2653
- qitemId,
2654
- state: qitem.state,
2655
- actorSession: "system:queue-fallback",
2656
- transitionNote: `fallback-routed: ${originalDestination} → ${fallbackDestination} (${reason})`,
2657
- });
2658
- return this.eventBus.persistWithinTransaction({
2659
- type: "qitem.fallback_routed",
2660
- qitemId,
2661
- originalDestination,
2662
- rerouteDestination: fallbackDestination,
2663
- reason,
2664
- });
2665
- });
2666
- const persistedEvent = txn();
2667
- this.eventBus.notifySubscribers(persistedEvent);
2668
- return this.getByIdOrThrow(qitemId);
2669
- }
2670
- getByIdOrThrow(qitemId) {
2671
- const item = this.getById(qitemId);
2672
- if (!item) {
2673
- throw new QueueRepositoryError("qitem_not_found", `qitem ${qitemId} not found after write`);
2674
- }
2675
- return item;
2676
- }
2677
- /** OPR.0.4.1.18 — persist the optional human-readable summary additively.
2678
- * Guarded by detectQueueColumn so fixtures on a pre-044 schema (no summary
2679
- * column) are unaffected; only writes when a value is present (NULL is the
2680
- * default and degrades in the Story consumer). Runs inside the caller's
2681
- * transaction (create / handoff / handoff-and-complete). */
2682
- persistSummary(qitemId, summary) {
2683
- if (this.hasSummaryColumn && summary !== null) {
2684
- this.db.prepare("UPDATE queue_items SET summary = ? WHERE qitem_id = ?").run(summary, qitemId);
2685
- }
2686
- }
2687
- /** OPR.0.4.4.19 FR-5 — persist the optional evidence_ref additively, same
2688
- * contract as persistSummary (pre-048 fixtures degrade; NULL default). */
2689
- persistEvidenceRef(qitemId, evidenceRef) {
2690
- if (this.hasEvidenceRefColumn && evidenceRef !== null) {
2691
- this.db.prepare("UPDATE queue_items SET evidence_ref = ? WHERE qitem_id = ?").run(evidenceRef, qitemId);
2692
- }
2693
- }
2694
- /** GHOST-STAGE (e/Class-B) — persist the MINTING occupant-generation additively (same degrade
2695
- * contract as persistSummary; NULL when unresolved/pre-063). Forensic provenance of the creator;
2696
- * the RELEASE discriminator is claimed_by_generation_uuid (stamped at claim), not this. */
2697
- persistMintingGeneration(qitemId, sourceSession) {
2698
- if (!this.hasMintingGenColumn)
2699
- return;
2700
- const gen = this.resolveOccupantGeneration?.(sourceSession) ?? null;
2701
- if (gen === null)
2702
- return;
2703
- this.db.prepare("UPDATE queue_items SET minting_generation_uuid = ? WHERE qitem_id = ?").run(gen, qitemId);
2704
- }
2705
- /**
2706
- * GHOST-STAGE (e/Class-B) — at a seat swap, RELEASE (never hard-drop) every in-progress item CLAIMED
2707
- * by the RETIRING generation back to pending: the role work is durable and the successor re-claims it;
2708
- * only the retiree's stale claim is the ghost. Gen-scoped via claimed_by_generation_uuid (NOT the seat
2709
- * name — the successor shares it, so a name-scoped release would steal the successor's own claims). A
2710
- * NULL/empty generation never matches (UNKNOWN != retired). Clears the claim stamp + claimed_at and
2711
- * appends an audit transition per item. Returns the count released. Pre-063 dbs no-op.
2712
- */
2713
- releaseClaimsByGeneration(retiringGeneration) {
2714
- if (!this.hasClaimedGenColumn || !retiringGeneration)
2715
- return 0;
2716
- const rows = this.db
2717
- .prepare(`SELECT qitem_id FROM queue_items WHERE state = 'in-progress' AND claimed_by_generation_uuid = ?`)
2718
- .all(retiringGeneration);
2719
- if (rows.length === 0)
2720
- return 0;
2721
- const ts = new Date().toISOString();
2722
- const txn = this.db.transaction(() => {
2723
- for (const { qitem_id } of rows) {
2724
- this.db
2725
- .prepare(`UPDATE queue_items
2726
- SET state = 'pending', ts_updated = ?, claimed_at = NULL, closure_required_at = NULL,
2727
- claimed_by_generation_uuid = NULL
2728
- WHERE qitem_id = ?`)
2729
- .run(ts, qitem_id);
2730
- this.transitionLog.append({
2731
- qitemId: qitem_id,
2732
- state: "pending",
2733
- actorSession: "system",
2734
- transitionNote: "released: claimant generation retired (seat handover)",
2735
- });
2736
- }
2737
- });
2738
- txn();
2739
- return rows.length;
2740
- }
2741
- activityReader;
2742
- attachActivityReader(reader) { this.activityReader = reader; }
2743
- workflowGuidance;
2744
- attachWorkflowGuidance(reader) { this.workflowGuidance = reader; }
2745
- evaluateWaitReminder(input) {
2746
- if (this.wakeRepo.findQitemsByAttachedWatchdog(input.jobId).length > 0
2747
- && this.wakeRepo.findQitemsByGeneratedTimer(input.jobId).every(row => row.state !== "blocked"))
2748
- return null;
2749
- const binding = this.wakeRepo.findBlockedQitemsByWatchdog(input.jobId).find(row => row.kind === "timer");
2750
- const result = evaluateQueueWait(this.watchdogJobsRepo ?? new WatchdogJobsRepository(this.db), input.jobId, binding ? this.waitingView(binding.qitemId) : null);
2751
- // Only an already-admitted send reads prose: healthy silence, receipts and
2752
- // failed-delivery retries remain owned by the existing wait evaluator.
2753
- if (result?.action === "send" && binding && this.workflowGuidance) {
2754
- try {
2755
- result.message += "\n" + this.workflowGuidance(binding.qitemId).join("\n");
2756
- }
2757
- catch (error) {
2758
- result.message += "\nWorkflow method: UNKNOWN: current guidance unavailable: " + String(error);
2759
- }
2760
- }
2761
- return result;
2762
- }
2763
- ownerActivity(session) {
2764
- try {
2765
- return this.activityReader?.(session) ?? null;
2766
- }
2767
- catch {
2768
- return null;
2769
- }
2770
- }
2771
- waitingView(qitemId) {
2772
- const view = readWaitingView(this.db, qitemId, this.activityReader);
2773
- if (view && ["pending", "in-progress"].includes(view.state)) {
2774
- const recovery = readWakeLadderBackstop(this.db, qitemId);
2775
- if (recovery) {
2776
- view.laterBackstop = { ...view.nextBackstop, note: "Conditional safety net; current delivery/recovery ownership is evaluated first." };
2777
- view.nextBackstop = recovery;
2778
- }
2779
- }
2780
- return view;
2781
- }
2782
- rowToItem(row, includeWaiting = true) {
2783
- // S04 — derive the pickup receipt at the ONE shared projection point (list/show/overdue
2784
- // all flow through here), so the park-vs-strand question is answered by the row face.
2785
- const meaningful = lastMeaningfulTransition(this.db, row.qitem_id);
2786
- const waiting = includeWaiting ? this.waitingView(row.qitem_id) : null;
2787
- const activity = this.ownerActivity(row.destination_session);
2788
- const pickup = derivePickup({
2789
- state: row.state,
2790
- lastMeaningfulAt: meaningful?.at,
2791
- activity: activity?.activity,
2792
- needsInput: activity?.needsInput.count,
2793
- claimedAt: row.claimed_at,
2794
- lastHeartbeat: row.last_heartbeat,
2795
- postClaimMotionCount: 0, // this reader supplies the current meaningful timestamp
2796
- });
2797
- return {
2798
- pickup,
2799
- ...(waiting ? { waiting } : {}),
2800
- qitemId: row.qitem_id,
2801
- tsCreated: row.ts_created,
2802
- tsUpdated: row.ts_updated,
2803
- sourceSession: row.source_session,
2804
- destinationSession: row.destination_session,
2805
- state: row.state,
2806
- priority: row.priority,
2807
- tier: row.tier,
2808
- tags: row.tags ? JSON.parse(row.tags) : null,
2809
- blockedOn: row.blocked_on,
2810
- handedOffTo: row.handed_off_to,
2811
- handedOffFrom: row.handed_off_from,
2812
- expiresAt: row.expires_at,
2813
- chainOfRecord: row.chain_of_record ? JSON.parse(row.chain_of_record) : null,
2814
- body: row.body ?? "",
2815
- // OPR.0.4.1.18: summary present only when migration 044 has applied;
2816
- // legacy/minimal fixtures supply rows where summary is undefined → null.
2817
- summary: row.summary ?? null,
2818
- // OPR.0.4.4.19 FR-5: evidence_ref present only when migration 048 has
2819
- // applied; legacy fixtures degrade to null.
2820
- evidenceRef: row.evidence_ref ?? null,
2821
- humanIntent: row.human_intent ?? null,
2822
- humanDetail: row.human_detail ?? null,
2823
- closureReason: row.closure_reason,
2824
- closureTarget: row.closure_target,
2825
- closureRequiredAt: row.closure_required_at,
2826
- claimedAt: row.claimed_at,
2827
- lastNudgeAttempt: row.last_nudge_attempt,
2828
- lastNudgeResult: row.last_nudge_result,
2829
- lastHeartbeat: row.last_heartbeat,
2830
- resolution: row.resolution,
2831
- // PL-007: target_repo present only when migration 038 has applied;
2832
- // older test fixtures supply legacy rows where target_repo is undefined.
2833
- targetRepo: row.target_repo ?? null,
2834
- };
2835
- }
2836
- }
2837
- function isQueueState(value) {
2838
- return typeof value === "string" && QUEUE_STATES.includes(value);
2839
- }
2840
- //# sourceMappingURL=queue-repository.js.map