@openrig/cli 0.6.12 → 0.6.13

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 (432) hide show
  1. package/README.md +19 -12
  2. package/daemon/assets/plugins/openrig-core/.claude-plugin/plugin.json +1 -1
  3. package/daemon/assets/plugins/openrig-core/.codex-plugin/plugin.json +1 -1
  4. package/daemon/assets/plugins/openrig-core/README.md +9 -2
  5. package/daemon/assets/plugins/openrig-core/hooks/scripts/activity-relay.cjs +25 -9
  6. package/daemon/assets/plugins/openrig-core/hooks/scripts/refocus.cjs +7 -4
  7. package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +5 -0
  8. package/daemon/assets/plugins/openrig-core/skills/refocusing/scripts/trace-to-root.py +61 -16
  9. package/daemon/assets/skills/rigs/SKILL.md +8 -4
  10. package/daemon/context-packs/help/manifest.yaml +1 -1
  11. package/daemon/context-packs/onboarding-width/manifest.yaml +1 -1
  12. package/daemon/context-packs/onboarding-width/public-what-you-can-do.md +60 -12
  13. package/daemon/context-packs/reference/getting-started.md +44 -14
  14. package/daemon/context-packs/reference/manifest.yaml +1 -1
  15. package/daemon/context-packs/reference/rig-spec.md +5 -5
  16. package/daemon/context-packs/reference/whats-new.md +90 -163
  17. package/daemon/context-packs/skills/agent-operated-software/manifest.yaml +1 -1
  18. package/daemon/context-packs/skills/agent-operated-workflows/manifest.yaml +1 -1
  19. package/daemon/context-packs/skills/applying-a-permission-policy/manifest.yaml +1 -1
  20. package/daemon/context-packs/skills/claude-compaction-restore/manifest.yaml +1 -1
  21. package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +1 -1
  22. package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +1 -1
  23. package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +1 -1
  24. package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +1 -1
  25. package/daemon/context-packs/skills/core/messaging-the-human/manifest.yaml +1 -1
  26. package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +1 -1
  27. package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +1 -1
  28. package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +1 -1
  29. package/daemon/context-packs/skills/core/openrig-skills/manifest.yaml +1 -1
  30. package/daemon/context-packs/skills/core/openrig-software-factory/manifest.yaml +1 -1
  31. package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +1 -1
  32. package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +1 -1
  33. package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +1 -1
  34. package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +1 -1
  35. package/daemon/context-packs/skills/core/specification-system/manifest.yaml +1 -1
  36. package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +1 -1
  37. package/daemon/context-packs/skills/core/watchdog/manifest.yaml +1 -1
  38. package/daemon/context-packs/skills/delegating-work/manifest.yaml +1 -1
  39. package/daemon/context-packs/skills/forming-an-openrig-mental-model/manifest.yaml +1 -1
  40. package/daemon/context-packs/skills/loading-addressable-markdown/manifest.yaml +1 -1
  41. package/daemon/context-packs/skills/mission-slice-sop/SKILL.md +5 -0
  42. package/daemon/context-packs/skills/mission-slice-sop/manifest.yaml +1 -1
  43. package/daemon/context-packs/skills/openrig-operating-model/manifest.yaml +1 -1
  44. package/daemon/context-packs/skills/openrig-user/manifest.yaml +1 -1
  45. package/daemon/context-packs/skills/orienting-to-an-inherited-seat/manifest.yaml +1 -1
  46. package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +1 -1
  47. package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +1 -1
  48. package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +1 -1
  49. package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +1 -1
  50. package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +1 -1
  51. package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +1 -1
  52. package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +1 -1
  53. package/daemon/context-packs/skills/pods/development-team/manifest.yaml +1 -1
  54. package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +1 -1
  55. package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +1 -1
  56. package/daemon/context-packs/skills/pods/review-team/manifest.yaml +1 -1
  57. package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +1 -1
  58. package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +1 -1
  59. package/daemon/context-packs/skills/process/dogfood/manifest.yaml +1 -1
  60. package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +1 -1
  61. package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +1 -1
  62. package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +1 -1
  63. package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +1 -1
  64. package/daemon/context-packs/skills/queue-handoff/manifest.yaml +1 -1
  65. package/daemon/context-packs/skills/refocusing/manifest.yaml +1 -1
  66. package/daemon/context-packs/skills/refocusing/scripts/trace-to-root.py +61 -16
  67. package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/manifest.yaml +1 -1
  68. package/daemon/context-packs/skills/seat-continuity-and-handover/manifest.yaml +1 -1
  69. package/daemon/context-packs/skills/session-compaction-and-restore/manifest.yaml +1 -1
  70. package/daemon/context-packs/skills/software-for-agents/manifest.yaml +1 -1
  71. package/daemon/context-packs/world-example/manifest.yaml +1 -1
  72. package/daemon/context-packs/world-public/manifest.yaml +1 -1
  73. package/daemon/dist/adapters/claude-code-adapter.d.ts +9 -1
  74. package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
  75. package/daemon/dist/adapters/claude-code-adapter.js +110 -52
  76. package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
  77. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  78. package/daemon/dist/adapters/codex-runtime-adapter.js +47 -6
  79. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  80. package/daemon/dist/adapters/pi-resume.d.ts +1 -1
  81. package/daemon/dist/adapters/pi-resume.d.ts.map +1 -1
  82. package/daemon/dist/adapters/pi-resume.js +4 -1
  83. package/daemon/dist/adapters/pi-resume.js.map +1 -1
  84. package/daemon/dist/adapters/pi-runner-protocol.d.ts +9 -0
  85. package/daemon/dist/adapters/pi-runner-protocol.d.ts.map +1 -1
  86. package/daemon/dist/adapters/pi-runner-protocol.js +16 -0
  87. package/daemon/dist/adapters/pi-runner-protocol.js.map +1 -1
  88. package/daemon/dist/adapters/pi-runner.d.ts +5 -2
  89. package/daemon/dist/adapters/pi-runner.d.ts.map +1 -1
  90. package/daemon/dist/adapters/pi-runner.js +72 -15
  91. package/daemon/dist/adapters/pi-runner.js.map +1 -1
  92. package/daemon/dist/adapters/pi-runtime-adapter.d.ts.map +1 -1
  93. package/daemon/dist/adapters/pi-runtime-adapter.js +2 -0
  94. package/daemon/dist/adapters/pi-runtime-adapter.js.map +1 -1
  95. package/daemon/dist/adapters/stub-compaction.d.ts +1 -0
  96. package/daemon/dist/adapters/stub-compaction.d.ts.map +1 -1
  97. package/daemon/dist/adapters/stub-compaction.js +2 -0
  98. package/daemon/dist/adapters/stub-compaction.js.map +1 -1
  99. package/daemon/dist/adapters/stub-refocus.d.ts +6 -0
  100. package/daemon/dist/adapters/stub-refocus.d.ts.map +1 -0
  101. package/daemon/dist/adapters/stub-refocus.js +22 -0
  102. package/daemon/dist/adapters/stub-refocus.js.map +1 -0
  103. package/daemon/dist/adapters/stub-runner.d.ts +6 -0
  104. package/daemon/dist/adapters/stub-runner.d.ts.map +1 -1
  105. package/daemon/dist/adapters/stub-runner.js +18 -1
  106. package/daemon/dist/adapters/stub-runner.js.map +1 -1
  107. package/daemon/dist/adapters/stub-script.d.ts +2 -2
  108. package/daemon/dist/adapters/stub-script.d.ts.map +1 -1
  109. package/daemon/dist/adapters/stub-script.js +2 -2
  110. package/daemon/dist/adapters/stub-script.js.map +1 -1
  111. package/daemon/dist/build-info.js +3 -3
  112. package/daemon/dist/db/all-migrations.d.ts.map +1 -1
  113. package/daemon/dist/db/all-migrations.js +2 -0
  114. package/daemon/dist/db/all-migrations.js.map +1 -1
  115. package/daemon/dist/db/migrations/117_provider_account_readings.d.ts +3 -0
  116. package/daemon/dist/db/migrations/117_provider_account_readings.d.ts.map +1 -0
  117. package/daemon/dist/db/migrations/117_provider_account_readings.js +32 -0
  118. package/daemon/dist/db/migrations/117_provider_account_readings.js.map +1 -0
  119. package/daemon/dist/domain/claude-activity-hooks.d.ts +6 -0
  120. package/daemon/dist/domain/claude-activity-hooks.d.ts.map +1 -1
  121. package/daemon/dist/domain/claude-activity-hooks.js +19 -1
  122. package/daemon/dist/domain/claude-activity-hooks.js.map +1 -1
  123. package/daemon/dist/domain/claude-core-plugin-env.d.ts +2 -0
  124. package/daemon/dist/domain/claude-core-plugin-env.d.ts.map +1 -1
  125. package/daemon/dist/domain/claude-core-plugin-env.js +6 -2
  126. package/daemon/dist/domain/claude-core-plugin-env.js.map +1 -1
  127. package/daemon/dist/domain/claude-managed-launch.d.ts +5 -0
  128. package/daemon/dist/domain/claude-managed-launch.d.ts.map +1 -1
  129. package/daemon/dist/domain/claude-managed-launch.js +48 -7
  130. package/daemon/dist/domain/claude-managed-launch.js.map +1 -1
  131. package/daemon/dist/domain/claude-mcp-menu.d.ts +5 -0
  132. package/daemon/dist/domain/claude-mcp-menu.d.ts.map +1 -0
  133. package/daemon/dist/domain/claude-mcp-menu.js +25 -0
  134. package/daemon/dist/domain/claude-mcp-menu.js.map +1 -0
  135. package/daemon/dist/domain/fresh-occupant-relation.d.ts +7 -0
  136. package/daemon/dist/domain/fresh-occupant-relation.d.ts.map +1 -1
  137. package/daemon/dist/domain/fresh-occupant-relation.js +44 -0
  138. package/daemon/dist/domain/fresh-occupant-relation.js.map +1 -1
  139. package/daemon/dist/domain/gateway/slack/channel-recovery.d.ts +14 -2
  140. package/daemon/dist/domain/gateway/slack/channel-recovery.d.ts.map +1 -1
  141. package/daemon/dist/domain/gateway/slack/channel-recovery.js +128 -89
  142. package/daemon/dist/domain/gateway/slack/channel-recovery.js.map +1 -1
  143. package/daemon/dist/domain/gateway/slack/inbound.d.ts +4 -0
  144. package/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -1
  145. package/daemon/dist/domain/gateway/slack/inbound.js +5 -3
  146. package/daemon/dist/domain/gateway/slack/inbound.js.map +1 -1
  147. package/daemon/dist/domain/gateway/slack/recovery-budget.d.ts +24 -0
  148. package/daemon/dist/domain/gateway/slack/recovery-budget.d.ts.map +1 -0
  149. package/daemon/dist/domain/gateway/slack/recovery-budget.js +18 -0
  150. package/daemon/dist/domain/gateway/slack/recovery-budget.js.map +1 -0
  151. package/daemon/dist/domain/gateway/slack/slack-recovery.d.ts +104 -0
  152. package/daemon/dist/domain/gateway/slack/slack-recovery.d.ts.map +1 -0
  153. package/daemon/dist/domain/gateway/slack/slack-recovery.js +236 -0
  154. package/daemon/dist/domain/gateway/slack/slack-recovery.js.map +1 -0
  155. package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -1
  156. package/daemon/dist/domain/gateway/slack/slack-subsystem.js +29 -6
  157. package/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -1
  158. package/daemon/dist/domain/gateway/slack/state-store.d.ts +34 -0
  159. package/daemon/dist/domain/gateway/slack/state-store.d.ts.map +1 -1
  160. package/daemon/dist/domain/gateway/slack/state-store.js +67 -0
  161. package/daemon/dist/domain/gateway/slack/state-store.js.map +1 -1
  162. package/daemon/dist/domain/gateway/slack/thread-recovery.d.ts +37 -0
  163. package/daemon/dist/domain/gateway/slack/thread-recovery.d.ts.map +1 -0
  164. package/daemon/dist/domain/gateway/slack/thread-recovery.js +173 -0
  165. package/daemon/dist/domain/gateway/slack/thread-recovery.js.map +1 -0
  166. package/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts +8 -0
  167. package/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts.map +1 -1
  168. package/daemon/dist/domain/gateway/slack/thread-seat-map.js +11 -0
  169. package/daemon/dist/domain/gateway/slack/thread-seat-map.js.map +1 -1
  170. package/daemon/dist/domain/model-divergence/current-generation-record.d.ts +6 -1
  171. package/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +1 -1
  172. package/daemon/dist/domain/model-divergence/current-generation-record.js +4 -1
  173. package/daemon/dist/domain/model-divergence/current-generation-record.js.map +1 -1
  174. package/daemon/dist/domain/model-divergence/current-model-reader.d.ts +74 -0
  175. package/daemon/dist/domain/model-divergence/current-model-reader.d.ts.map +1 -0
  176. package/daemon/dist/domain/model-divergence/current-model-reader.js +246 -0
  177. package/daemon/dist/domain/model-divergence/current-model-reader.js.map +1 -0
  178. package/daemon/dist/domain/model-divergence/effective-model-readers.d.ts +18 -0
  179. package/daemon/dist/domain/model-divergence/effective-model-readers.d.ts.map +1 -1
  180. package/daemon/dist/domain/model-divergence/effective-model-readers.js +24 -8
  181. package/daemon/dist/domain/model-divergence/effective-model-readers.js.map +1 -1
  182. package/daemon/dist/domain/native-process-lineage.d.ts +8 -1
  183. package/daemon/dist/domain/native-process-lineage.d.ts.map +1 -1
  184. package/daemon/dist/domain/native-process-lineage.js +40 -26
  185. package/daemon/dist/domain/native-process-lineage.js.map +1 -1
  186. package/daemon/dist/domain/native-resume-probe.d.ts.map +1 -1
  187. package/daemon/dist/domain/native-resume-probe.js +34 -8
  188. package/daemon/dist/domain/native-resume-probe.js.map +1 -1
  189. package/daemon/dist/domain/node-inventory.d.ts +1 -1
  190. package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
  191. package/daemon/dist/domain/node-inventory.js +84 -18
  192. package/daemon/dist/domain/node-inventory.js.map +1 -1
  193. package/daemon/dist/domain/process-census.d.ts +1 -1
  194. package/daemon/dist/domain/process-census.d.ts.map +1 -1
  195. package/daemon/dist/domain/process-table.d.ts +26 -0
  196. package/daemon/dist/domain/process-table.d.ts.map +1 -0
  197. package/daemon/dist/domain/process-table.js +185 -0
  198. package/daemon/dist/domain/process-table.js.map +1 -0
  199. package/daemon/dist/domain/profile-resolver.d.ts +8 -0
  200. package/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
  201. package/daemon/dist/domain/profile-resolver.js +11 -0
  202. package/daemon/dist/domain/profile-resolver.js.map +1 -1
  203. package/daemon/dist/domain/projection-planner.js +1 -1
  204. package/daemon/dist/domain/projection-planner.js.map +1 -1
  205. package/daemon/dist/domain/provider/claude-usage-windows.d.ts +3 -1
  206. package/daemon/dist/domain/provider/claude-usage-windows.d.ts.map +1 -1
  207. package/daemon/dist/domain/provider/claude-usage-windows.js +48 -3
  208. package/daemon/dist/domain/provider/claude-usage-windows.js.map +1 -1
  209. package/daemon/dist/domain/provider/codex-usage-reader.d.ts +4 -1
  210. package/daemon/dist/domain/provider/codex-usage-reader.d.ts.map +1 -1
  211. package/daemon/dist/domain/provider/codex-usage-reader.js +3 -0
  212. package/daemon/dist/domain/provider/codex-usage-reader.js.map +1 -1
  213. package/daemon/dist/domain/provider/codex-usage-windows.d.ts +3 -1
  214. package/daemon/dist/domain/provider/codex-usage-windows.d.ts.map +1 -1
  215. package/daemon/dist/domain/provider/codex-usage-windows.js +1 -0
  216. package/daemon/dist/domain/provider/codex-usage-windows.js.map +1 -1
  217. package/daemon/dist/domain/provider/provider-account-readings.d.ts +42 -0
  218. package/daemon/dist/domain/provider/provider-account-readings.d.ts.map +1 -0
  219. package/daemon/dist/domain/provider/provider-account-readings.js +132 -0
  220. package/daemon/dist/domain/provider/provider-account-readings.js.map +1 -0
  221. package/daemon/dist/domain/provider/provider-types.d.ts +29 -0
  222. package/daemon/dist/domain/provider/provider-types.d.ts.map +1 -1
  223. package/daemon/dist/domain/provider/usage-across-hosts.d.ts.map +1 -1
  224. package/daemon/dist/domain/provider/usage-across-hosts.js +6 -0
  225. package/daemon/dist/domain/provider/usage-across-hosts.js.map +1 -1
  226. package/daemon/dist/domain/provider/usage-windows.d.ts +25 -0
  227. package/daemon/dist/domain/provider/usage-windows.d.ts.map +1 -1
  228. package/daemon/dist/domain/provider/usage-windows.js +100 -4
  229. package/daemon/dist/domain/provider/usage-windows.js.map +1 -1
  230. package/daemon/dist/domain/queue-repository.d.ts +23 -0
  231. package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  232. package/daemon/dist/domain/queue-repository.js +59 -1
  233. package/daemon/dist/domain/queue-repository.js.map +1 -1
  234. package/daemon/dist/domain/queue-stuck-sweep.d.ts.map +1 -1
  235. package/daemon/dist/domain/queue-stuck-sweep.js +47 -4
  236. package/daemon/dist/domain/queue-stuck-sweep.js.map +1 -1
  237. package/daemon/dist/domain/restore-check-service.d.ts +10 -0
  238. package/daemon/dist/domain/restore-check-service.d.ts.map +1 -1
  239. package/daemon/dist/domain/restore-check-service.js +73 -10
  240. package/daemon/dist/domain/restore-check-service.js.map +1 -1
  241. package/daemon/dist/domain/restore-guidance.d.ts +6 -0
  242. package/daemon/dist/domain/restore-guidance.d.ts.map +1 -1
  243. package/daemon/dist/domain/restore-guidance.js +21 -5
  244. package/daemon/dist/domain/restore-guidance.js.map +1 -1
  245. package/daemon/dist/domain/restore-orchestrator.js +1 -1
  246. package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
  247. package/daemon/dist/domain/resume-metadata-refresher.d.ts.map +1 -1
  248. package/daemon/dist/domain/resume-metadata-refresher.js +6 -29
  249. package/daemon/dist/domain/resume-metadata-refresher.js.map +1 -1
  250. package/daemon/dist/domain/rig-repository.d.ts +3 -0
  251. package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
  252. package/daemon/dist/domain/rig-repository.js +6 -0
  253. package/daemon/dist/domain/rig-repository.js.map +1 -1
  254. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  255. package/daemon/dist/domain/rigspec-instantiator.js +4 -2
  256. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  257. package/daemon/dist/domain/rigspec-preflight.d.ts +4 -0
  258. package/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -1
  259. package/daemon/dist/domain/rigspec-preflight.js +12 -2
  260. package/daemon/dist/domain/rigspec-preflight.js.map +1 -1
  261. package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
  262. package/daemon/dist/domain/rigspec-schema.js +11 -0
  263. package/daemon/dist/domain/rigspec-schema.js.map +1 -1
  264. package/daemon/dist/domain/runtime-adapter.d.ts +13 -0
  265. package/daemon/dist/domain/runtime-adapter.d.ts.map +1 -1
  266. package/daemon/dist/domain/runtime-adapter.js.map +1 -1
  267. package/daemon/dist/domain/seat-attention-reconciler.d.ts.map +1 -1
  268. package/daemon/dist/domain/seat-attention-reconciler.js +15 -1
  269. package/daemon/dist/domain/seat-attention-reconciler.js.map +1 -1
  270. package/daemon/dist/domain/seat-cwd-preparation.d.ts +22 -0
  271. package/daemon/dist/domain/seat-cwd-preparation.d.ts.map +1 -0
  272. package/daemon/dist/domain/seat-cwd-preparation.js +107 -0
  273. package/daemon/dist/domain/seat-cwd-preparation.js.map +1 -0
  274. package/daemon/dist/domain/seat-effort.d.ts +4 -3
  275. package/daemon/dist/domain/seat-effort.d.ts.map +1 -1
  276. package/daemon/dist/domain/seat-effort.js +21 -3
  277. package/daemon/dist/domain/seat-effort.js.map +1 -1
  278. package/daemon/dist/domain/seat-lifecycle-service.d.ts +36 -2
  279. package/daemon/dist/domain/seat-lifecycle-service.d.ts.map +1 -1
  280. package/daemon/dist/domain/seat-lifecycle-service.js +206 -15
  281. package/daemon/dist/domain/seat-lifecycle-service.js.map +1 -1
  282. package/daemon/dist/domain/seat-restart-in-place.d.ts +14 -0
  283. package/daemon/dist/domain/seat-restart-in-place.d.ts.map +1 -1
  284. package/daemon/dist/domain/seat-restart-in-place.js +59 -3
  285. package/daemon/dist/domain/seat-restart-in-place.js.map +1 -1
  286. package/daemon/dist/domain/seat-status-service.d.ts +2 -0
  287. package/daemon/dist/domain/seat-status-service.d.ts.map +1 -1
  288. package/daemon/dist/domain/seat-status-service.js +1 -0
  289. package/daemon/dist/domain/seat-status-service.js.map +1 -1
  290. package/daemon/dist/domain/seat-structural-activity-service.d.ts +7 -1
  291. package/daemon/dist/domain/seat-structural-activity-service.d.ts.map +1 -1
  292. package/daemon/dist/domain/seat-structural-activity-service.js +9 -3
  293. package/daemon/dist/domain/seat-structural-activity-service.js.map +1 -1
  294. package/daemon/dist/domain/session-name.d.ts +8 -0
  295. package/daemon/dist/domain/session-name.d.ts.map +1 -1
  296. package/daemon/dist/domain/session-name.js +12 -0
  297. package/daemon/dist/domain/session-name.js.map +1 -1
  298. package/daemon/dist/domain/session-transport.d.ts +78 -3
  299. package/daemon/dist/domain/session-transport.d.ts.map +1 -1
  300. package/daemon/dist/domain/session-transport.js +306 -15
  301. package/daemon/dist/domain/session-transport.js.map +1 -1
  302. package/daemon/dist/domain/successor-session-launcher.js +1 -1
  303. package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
  304. package/daemon/dist/domain/types.d.ts +14 -0
  305. package/daemon/dist/domain/types.d.ts.map +1 -1
  306. package/daemon/dist/domain/types.js.map +1 -1
  307. package/daemon/dist/domain/watchdog-delivery.d.ts +29 -0
  308. package/daemon/dist/domain/watchdog-delivery.d.ts.map +1 -0
  309. package/daemon/dist/domain/watchdog-delivery.js +113 -0
  310. package/daemon/dist/domain/watchdog-delivery.js.map +1 -0
  311. package/daemon/dist/domain/watchdog-policy-engine.d.ts +60 -1
  312. package/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
  313. package/daemon/dist/domain/watchdog-policy-engine.js +154 -28
  314. package/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
  315. package/daemon/dist/domain/watchdog-scheduler.d.ts.map +1 -1
  316. package/daemon/dist/domain/watchdog-scheduler.js +6 -1
  317. package/daemon/dist/domain/watchdog-scheduler.js.map +1 -1
  318. package/daemon/dist/domain/workflow-instance-store.d.ts.map +1 -1
  319. package/daemon/dist/domain/workflow-instance-store.js +6 -2
  320. package/daemon/dist/domain/workflow-instance-store.js.map +1 -1
  321. package/daemon/dist/routes/attention.d.ts.map +1 -1
  322. package/daemon/dist/routes/attention.js +41 -1
  323. package/daemon/dist/routes/attention.js.map +1 -1
  324. package/daemon/dist/routes/compaction.js +1 -1
  325. package/daemon/dist/routes/compaction.js.map +1 -1
  326. package/daemon/dist/routes/queue.d.ts.map +1 -1
  327. package/daemon/dist/routes/queue.js +3 -1
  328. package/daemon/dist/routes/queue.js.map +1 -1
  329. package/daemon/dist/routes/restore-check.d.ts.map +1 -1
  330. package/daemon/dist/routes/restore-check.js +19 -1
  331. package/daemon/dist/routes/restore-check.js.map +1 -1
  332. package/daemon/dist/routes/seat.d.ts.map +1 -1
  333. package/daemon/dist/routes/seat.js +15 -2
  334. package/daemon/dist/routes/seat.js.map +1 -1
  335. package/daemon/dist/routes/sessions.d.ts.map +1 -1
  336. package/daemon/dist/routes/sessions.js +7 -1
  337. package/daemon/dist/routes/sessions.js.map +1 -1
  338. package/daemon/dist/routes/transport.d.ts.map +1 -1
  339. package/daemon/dist/routes/transport.js +13 -2
  340. package/daemon/dist/routes/transport.js.map +1 -1
  341. package/daemon/dist/server.d.ts +1 -0
  342. package/daemon/dist/server.d.ts.map +1 -1
  343. package/daemon/dist/server.js +1 -0
  344. package/daemon/dist/server.js.map +1 -1
  345. package/daemon/dist/startup.d.ts.map +1 -1
  346. package/daemon/dist/startup.js +39 -113
  347. package/daemon/dist/startup.js.map +1 -1
  348. package/daemon/docs/reference/agent-spec.md +1 -1
  349. package/daemon/docs/reference/agent-startup-guide.md +84 -0
  350. package/daemon/docs/reference/getting-started.md +44 -14
  351. package/daemon/docs/reference/publishing-a-rig-bundle.md +5 -2
  352. package/daemon/docs/reference/refocus-channel.md +11 -1
  353. package/daemon/docs/reference/rig-spec.md +5 -5
  354. package/daemon/docs/reference/rosters.md +29 -2
  355. package/daemon/docs/reference/slack-app-setup.md +47 -17
  356. package/daemon/docs/reference/whats-new.md +90 -163
  357. package/daemon/specs/agents/apps/vault-specialist/agent.yaml +1 -0
  358. package/daemon/specs/agents/conveyor/builder/agent.yaml +1 -0
  359. package/daemon/specs/agents/conveyor/lead/agent.yaml +1 -0
  360. package/daemon/specs/agents/conveyor/planner/agent.yaml +1 -0
  361. package/daemon/specs/agents/conveyor/reviewer/agent.yaml +1 -0
  362. package/daemon/specs/agents/design/product-designer/agent.yaml +1 -0
  363. package/daemon/specs/agents/development/implementer/agent.yaml +1 -0
  364. package/daemon/specs/agents/development/qa/agent.yaml +1 -0
  365. package/daemon/specs/agents/factory-rsi/dogfood/agent.yaml +1 -0
  366. package/daemon/specs/agents/factory-rsi/release-manager/agent.yaml +1 -0
  367. package/daemon/specs/agents/orchestration/orchestrator/agent.yaml +1 -0
  368. package/daemon/specs/agents/product-management/pm/agent.yaml +1 -0
  369. package/daemon/specs/agents/research/analyst/agent.yaml +1 -0
  370. package/daemon/specs/agents/research/synthesizer/agent.yaml +1 -0
  371. package/daemon/specs/agents/review/independent-reviewer/agent.yaml +1 -0
  372. package/dist/build-info.js +3 -3
  373. package/dist/commands/capture.d.ts.map +1 -1
  374. package/dist/commands/capture.js +14 -0
  375. package/dist/commands/capture.js.map +1 -1
  376. package/dist/commands/config.d.ts.map +1 -1
  377. package/dist/commands/config.js +3 -2
  378. package/dist/commands/config.js.map +1 -1
  379. package/dist/commands/doctor.d.ts.map +1 -1
  380. package/dist/commands/doctor.js +8 -7
  381. package/dist/commands/doctor.js.map +1 -1
  382. package/dist/commands/grow.d.ts.map +1 -1
  383. package/dist/commands/grow.js +24 -7
  384. package/dist/commands/grow.js.map +1 -1
  385. package/dist/commands/provider.d.ts.map +1 -1
  386. package/dist/commands/provider.js +43 -7
  387. package/dist/commands/provider.js.map +1 -1
  388. package/dist/commands/ps.d.ts +2 -0
  389. package/dist/commands/ps.d.ts.map +1 -1
  390. package/dist/commands/ps.js +12 -1
  391. package/dist/commands/ps.js.map +1 -1
  392. package/dist/commands/remove.d.ts.map +1 -1
  393. package/dist/commands/remove.js +20 -1
  394. package/dist/commands/remove.js.map +1 -1
  395. package/dist/commands/roster.d.ts +2 -1
  396. package/dist/commands/roster.d.ts.map +1 -1
  397. package/dist/commands/roster.js +10 -5
  398. package/dist/commands/roster.js.map +1 -1
  399. package/dist/commands/scope.js +1 -1
  400. package/dist/commands/scope.js.map +1 -1
  401. package/dist/commands/seat.d.ts.map +1 -1
  402. package/dist/commands/seat.js +75 -8
  403. package/dist/commands/seat.js.map +1 -1
  404. package/dist/commands/slack.d.ts.map +1 -1
  405. package/dist/commands/slack.js +14 -1
  406. package/dist/commands/slack.js.map +1 -1
  407. package/dist/commands/usage.d.ts.map +1 -1
  408. package/dist/commands/usage.js +4 -3
  409. package/dist/commands/usage.js.map +1 -1
  410. package/dist/lib/model-observation.d.ts +13 -0
  411. package/dist/lib/model-observation.d.ts.map +1 -0
  412. package/dist/lib/model-observation.js +25 -0
  413. package/dist/lib/model-observation.js.map +1 -0
  414. package/dist/mcp-server.d.ts.map +1 -1
  415. package/dist/mcp-server.js +1 -0
  416. package/dist/mcp-server.js.map +1 -1
  417. package/package.json +1 -1
  418. package/tui/dist/attention/attention-model.js +6 -5
  419. package/tui/dist/attention/attention-model.js.map +1 -1
  420. package/tui/dist/attention/source-continuity.d.ts.map +1 -1
  421. package/tui/dist/attention/source-continuity.js +2 -0
  422. package/tui/dist/attention/source-continuity.js.map +1 -1
  423. package/tui/dist/terminals/open-window.d.ts +11 -1
  424. package/tui/dist/terminals/open-window.d.ts.map +1 -1
  425. package/tui/dist/terminals/open-window.js +47 -2
  426. package/tui/dist/terminals/open-window.js.map +1 -1
  427. package/tui/dist/usage/usage-model.d.ts +2 -0
  428. package/tui/dist/usage/usage-model.d.ts.map +1 -1
  429. package/tui/dist/usage/usage-model.js +38 -3
  430. package/tui/dist/usage/usage-model.js.map +1 -1
  431. package/ui/dist/assets/{index-Cfbtfd9G.js → index-CVgod3Pm.js} +1 -1
  432. package/ui/dist/index.html +1 -1
@@ -0,0 +1,236 @@
1
+ // Missed-message recovery for the channels this machine owns and the threads it tracks in them.
2
+ // A pass shares one budget, taken alternately by channels and threads (each kind in rotation), so
3
+ // neither kind starves the other.
4
+ import path from "node:path";
5
+ import { ChannelRecovery } from "./channel-recovery.js";
6
+ import { ThreadRecovery, threadKey } from "./thread-recovery.js";
7
+ import { ChannelCoverageStore, ThreadCoverageStore, slackMicros, slackTimestamp } from "./state-store.js";
8
+ import { budgetLeft, HISTORY, MethodBackoff, newRecoveryBudget, REPLIES } from "./recovery-budget.js";
9
+ /** A thread is tracked while its root was posted, or it closed, within this window. */
10
+ export const THREAD_WINDOW_MS = 7 * 24 * 60 * 60 * 1000;
11
+ /** The channels this machine recovers: its default channel and its channel map's, except a channel
12
+ * its configuration relays to the machine that owns it (that machine recovers it). */
13
+ export function ownedRecoveryChannels(cfg) {
14
+ const relayed = new Set(Array.isArray(cfg.forwardChannels)
15
+ ? cfg.forwardChannels.flatMap((f) => (f && typeof f.channel === "string" ? [f.channel] : []))
16
+ : []);
17
+ const out = [];
18
+ for (const channel of [cfg.channel, ...(cfg.channelMap ?? []).map((e) => e.channel)]) {
19
+ if (channel && !relayed.has(channel) && !out.includes(channel))
20
+ out.push(channel);
21
+ }
22
+ return out;
23
+ }
24
+ export class SlackRecovery {
25
+ opts;
26
+ channels;
27
+ channelStore;
28
+ threadStore;
29
+ threads = new Map();
30
+ backoff = new MethodBackoff();
31
+ now;
32
+ pass;
33
+ stopped = false;
34
+ lastChannel;
35
+ lastThread;
36
+ threadsUnavailable;
37
+ initialized = false;
38
+ adoptedHere = new Set();
39
+ // Thread recoveries since the connector started, kept when a thread leaves the window.
40
+ threadTotals = { accepted: 0, deadLettered: 0 };
41
+ constructor(opts) {
42
+ this.opts = opts;
43
+ this.now = opts.now ?? Date.now;
44
+ this.channelStore = opts.channelStore ?? new ChannelCoverageStore(path.join(opts.stateDir, "slack-channel-coverage.json"));
45
+ const channels = opts.channels.length ? opts.channels : [{ channel: null }];
46
+ this.channels = channels.map((c) => new ChannelRecovery({ channel: c.channel, token: opts.token, stateDir: opts.stateDir,
47
+ router: opts.router, fetchImpl: opts.fetchImpl, store: this.channelStore, now: this.now, ...(c.seed ? { seed: c.seed } : {}) }));
48
+ this.threadStore = opts.threadStore ?? new ThreadCoverageStore(path.join(opts.stateDir, "slack-thread-coverage.json"));
49
+ }
50
+ initialize() {
51
+ this.initialized = true;
52
+ for (const channel of this.activeChannels()) {
53
+ channel.initialize();
54
+ if (channel.channel)
55
+ this.adoptedHere.add(channel.channel);
56
+ }
57
+ }
58
+ /** The hub relayed an event for `channel` here, received at `atMs`. A configured channel is adopted the first time, with
59
+ * its coverage starting at that receipt; a channel this machine isn't configured for is never adopted. */
60
+ adoptRelayed(channel, atMs) {
61
+ if (!this.opts.relayed || !channel || this.stopped || this.adoptedHere.has(channel))
62
+ return;
63
+ const source = this.channels.find((c) => c.channel === channel);
64
+ if (!source)
65
+ return;
66
+ try {
67
+ this.channelStore.adoptRelayed(channel, slackTimestamp(BigInt(atMs) * 1000n));
68
+ source.initialize();
69
+ this.adoptedHere.add(channel);
70
+ }
71
+ catch { /* an unreadable checkpoint file is never replaced; the channel keeps waiting */ }
72
+ }
73
+ stop() {
74
+ this.stopped = true;
75
+ for (const channel of this.channels)
76
+ channel.stop();
77
+ }
78
+ run() {
79
+ if (this.pass)
80
+ return this.pass;
81
+ if (this.stopped || !this.opts.token)
82
+ return Promise.resolve();
83
+ if (!this.initialized)
84
+ this.initialize();
85
+ const pass = this.scan();
86
+ this.pass = pass;
87
+ void pass.finally(() => { if (this.pass === pass)
88
+ this.pass = undefined; });
89
+ return pass;
90
+ }
91
+ /** On a relayed machine, the configured channels the hub has relayed here (saved, so a restart keeps them). */
92
+ relayAdopted() {
93
+ if (!this.opts.relayed)
94
+ return null;
95
+ try {
96
+ return new Set(Object.entries(this.channelStore.all()).flatMap(([channel, c]) => (c.relayAdoptedAt ? [channel] : [])));
97
+ }
98
+ catch {
99
+ return new Set();
100
+ }
101
+ }
102
+ activeChannels() {
103
+ const adopted = this.relayAdopted();
104
+ return adopted ? this.channels.filter((c) => c.channel !== null && adopted.has(c.channel)) : this.channels;
105
+ }
106
+ /** Slack's rate limit holds a method for the whole workspace. Before any source is admitted, restore each method's hold
107
+ * from every saved rate-limit deadline, including one on a thread no longer tracked. A deadline saved without the
108
+ * marker, as an older daemon saved every backoff, may be a rate limit, so it holds the method too. */
109
+ restoreMethodHolds() {
110
+ const now = this.now();
111
+ try {
112
+ for (const c of Object.values(this.channelStore.all())) {
113
+ if (c.rateLimited !== false && c.nextRetryAt && c.nextRetryAt > now)
114
+ this.backoff.hold(HISTORY, c.nextRetryAt);
115
+ }
116
+ }
117
+ catch { /* an unreadable channel file leaves its channels unavailable */ }
118
+ try {
119
+ for (const t of Object.values(this.threadStore.read())) {
120
+ if (t.rateLimited !== false && t.nextRetryAt && t.nextRetryAt > now)
121
+ this.backoff.hold(REPLIES, t.nextRetryAt);
122
+ }
123
+ }
124
+ catch { /* reported when threads are listed */ }
125
+ }
126
+ async scan() {
127
+ this.restoreMethodHolds();
128
+ // Channels and threads take turns one step at a time, each kind in its own rotation. A source with
129
+ // more to scan rejoins the back of its kind's queue; a kind with nothing left gives its turns away.
130
+ const queues = [rotate(this.activeChannels(), this.lastChannel), rotate(this.trackedThreadSources(), this.lastThread)];
131
+ const budget = newRecoveryBudget(this.now());
132
+ let kind = 0;
133
+ while (!this.stopped && budgetLeft(budget, this.now()) && (queues[0].length || queues[1].length)) {
134
+ if (!queues[kind].length)
135
+ kind = 1 - kind;
136
+ const source = queues[kind].shift();
137
+ if (source instanceof ThreadRecovery) {
138
+ this.lastThread = source.key;
139
+ const before = { accepted: source.accepted, deadLettered: source.deadLettered };
140
+ const more = await source.step(budget, this.backoff);
141
+ this.threadTotals.accepted += source.accepted - before.accepted;
142
+ this.threadTotals.deadLettered += source.deadLettered - before.deadLettered;
143
+ if (more === "more")
144
+ queues[kind].push(source);
145
+ }
146
+ else {
147
+ this.lastChannel = source.key;
148
+ if (await source.step(budget, this.backoff) === "more")
149
+ queues[kind].push(source);
150
+ }
151
+ kind = 1 - kind;
152
+ }
153
+ }
154
+ trackedThreadSources() {
155
+ if (!this.opts.trackedThreads || !this.opts.token)
156
+ return [];
157
+ let stored;
158
+ try {
159
+ stored = this.threadStore.read();
160
+ this.threadsUnavailable = undefined;
161
+ }
162
+ catch {
163
+ // Never replace an unreadable checkpoint file with fresh floors.
164
+ this.threadsUnavailable = "checkpoint-unreadable-or-unwritable";
165
+ return [];
166
+ }
167
+ const owned = this.activeChannels().flatMap((c) => (c.channel ? [c.channel] : []));
168
+ const since = new Date(this.now() - THREAD_WINDOW_MS).toISOString();
169
+ const next = new Map();
170
+ for (const t of this.opts.trackedThreads(owned, since)) {
171
+ if (!owned.includes(t.channel) || slackMicros(t.threadTs) === null)
172
+ continue;
173
+ const key = threadKey(t.channel, t.threadTs);
174
+ const mapping = `${t.state ?? ""}|${t.closedAt ?? ""}`;
175
+ const prior = this.threads.get(key);
176
+ // A changed mapping gets a fresh source (so a thread Slack couldn't find is asked again); saved coverage carries over.
177
+ next.set(key, prior && prior.mapping === mapping ? prior : { mapping, source: new ThreadRecovery({ channel: t.channel,
178
+ threadTs: t.threadTs, token: this.opts.token, store: this.threadStore, stored: stored[key], router: this.opts.router,
179
+ fetchImpl: this.opts.fetchImpl, now: this.now, stopped: () => this.stopped }) });
180
+ }
181
+ this.threads = next;
182
+ return [...next.values()].map((t) => t.source).sort((a, b) => (a.key < b.key ? -1 : 1));
183
+ }
184
+ status() {
185
+ const adopted = this.relayAdopted();
186
+ const channels = this.channels.map((c) => {
187
+ const s = c.status();
188
+ return adopted && c.channel && !adopted.has(c.channel) ? { ...s, state: "waiting", reason: "no-relayed-event-yet" } : s;
189
+ });
190
+ const [primary, ...others] = channels;
191
+ const threads = [...this.threads.values()].map((t) => t.source);
192
+ const count = (state) => threads.filter((t) => t.state === state).length;
193
+ const byReason = (states) => threads.reduce((acc, t) => {
194
+ if (states.includes(t.state))
195
+ acc[t.reason ?? "unknown"] = (acc[t.reason ?? "unknown"] ?? 0) + 1;
196
+ return acc;
197
+ }, {});
198
+ const now = this.now();
199
+ const behind = (t) => Math.max(0, Math.floor(now / 1000 - Number(slackMicros(t.coveredThrough) / 1000000n)));
200
+ const pending = threads.filter((t) => t.state === "pending");
201
+ const sum = (values) => values.reduce((n, v) => n + v, 0);
202
+ return {
203
+ ...primary,
204
+ // Every channel and thread recovered since the connector started, the default channel's included.
205
+ acceptedThisProcess: sum(channels.map((c) => c.acceptedThisProcess)) + this.threadTotals.accepted,
206
+ deadLetteredThisProcess: sum(channels.map((c) => c.deadLetteredThisProcess)) + this.threadTotals.deadLettered,
207
+ limits: [
208
+ "older history unknown",
209
+ "counts reset on connector rewire/restart",
210
+ "history of the channels this machine owns, including broadcast replies, and replies in tracked threads whose root was posted or which closed within seven days",
211
+ "missed replies in older open threads aren't recovered; live delivery is unchanged",
212
+ "a recovered thread reply, or a broadcast reply recovered in a newly covered channel, lands as a late reply row and never answers a decision",
213
+ ...(channels.some((c) => c.coverage?.historyLimited) ? ["Slack plan limit excludes older history; only available messages were scanned"] : []),
214
+ "coverage means scanned available history; dead letters are custody, not delivery",
215
+ "five-second settle margin; larger clock skew or history visibility lag remains unverified",
216
+ "four calls / 100 entries / 15 seconds per pass, taken in turn by channels and threads; no global chronological ordering",
217
+ ],
218
+ channels: others.map(({ limits: _limits, ...rest }) => rest),
219
+ threads: {
220
+ state: !this.opts.trackedThreads ? "not-configured" : this.threadsUnavailable ? "unavailable" : "available",
221
+ ...(this.threadsUnavailable ? { reason: this.threadsUnavailable } : {}),
222
+ tracked: threads.length,
223
+ scanned: count("scanned"),
224
+ pending: pending.length,
225
+ oldestPendingSeconds: pending.length ? Math.max(...pending.map(behind)) : null,
226
+ backoff: byReason(["backoff"]),
227
+ incomplete: byReason(["incomplete"]),
228
+ },
229
+ };
230
+ }
231
+ }
232
+ function rotate(sources, last) {
233
+ const start = last === undefined ? 0 : sources.findIndex((s) => s.key === last) + 1;
234
+ return [...sources.slice(start), ...sources.slice(0, start)];
235
+ }
236
+ //# sourceMappingURL=slack-recovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slack-recovery.js","sourceRoot":"","sources":["../../../../src/domain/gateway/slack/slack-recovery.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"slack-subsystem.d.ts","sourceRoot":"","sources":["../../../../src/domain/gateway/slack/slack-subsystem.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAsB,KAAK,WAAW,EAA2B,MAAM,yBAAyB,CAAC;AAUxG,OAAO,EAAsH,KAAK,eAAe,EAA0E,MAAM,cAAc,CAAC;AAChP,OAAO,EAA6B,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAOzF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,EAAgD,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAEhG,OAAO,EAAmC,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAGlG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAoBhD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,eAAe,CAAC;IAC3B,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,2FAA2F;IAC3F,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACpC,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,MAAM,sBAAsB,CAAC;IAChD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,UAAU,GAAG,kBAAkB,GAAG,gBAAgB,CAAC,CAAC;CACzJ;AAED,UAAU,oBAAoB;IAC5B,GAAG,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5G;AAED;;yEAEyE;AACzE,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,eAAe,EAC1B,QAAQ,EAAE,oBAAoB,GAAG,SAAS,GACzC,WAAW,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAqBjD;AAED;;;;;;;;;;;;GAYG;AACH;;;kCAGkC;AAClC,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACnD,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,eAAe,CA4ClB;AA+BD;wEACwE;AACxE,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,aAAa,GAAG,WAAW,CA+qBtE"}
1
+ {"version":3,"file":"slack-subsystem.d.ts","sourceRoot":"","sources":["../../../../src/domain/gateway/slack/slack-subsystem.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAsB,KAAK,WAAW,EAA2B,MAAM,yBAAyB,CAAC;AAUxG,OAAO,EAAsH,KAAK,eAAe,EAA0E,MAAM,cAAc,CAAC;AAChP,OAAO,EAA6B,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAOzF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,EAAgD,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAEhG,OAAO,EAAmC,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAGlG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAoBhD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,eAAe,CAAC;IAC3B,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,2FAA2F;IAC3F,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACpC,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,MAAM,sBAAsB,CAAC;IAChD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,UAAU,GAAG,kBAAkB,GAAG,gBAAgB,CAAC,CAAC;CACzJ;AAED,UAAU,oBAAoB;IAC5B,GAAG,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5G;AAED;;yEAEyE;AACzE,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,eAAe,EAC1B,QAAQ,EAAE,oBAAoB,GAAG,SAAS,GACzC,WAAW,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAqBjD;AAED;;;;;;;;;;;;GAYG;AACH;;;kCAGkC;AAClC,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACnD,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,eAAe,CA4ClB;AA+BD;wEACwE;AACxE,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,aAAa,GAAG,WAAW,CAqsBtE"}
@@ -11,7 +11,7 @@
11
11
  // (slack-outbound-seen.jsonl, slack-inbound-seen.jsonl, slack-inbound-deadletter.jsonl), so
12
12
  // the relay's history IS the subsystem's history — enabling the subsystem replays nothing the
13
13
  // relay already delivered (the enable-time backlog rule survives the cutover by construction).
14
- import { ChannelRecovery } from "./channel-recovery.js";
14
+ import { SlackRecovery, ownedRecoveryChannels } from "./slack-recovery.js";
15
15
  import { channelStateDigest } from "../channel-operations.js";
16
16
  import path from "node:path";
17
17
  import { createHash } from "node:crypto";
@@ -33,7 +33,7 @@ import { makeThreadRouteResolver } from "./thread-routing.js";
33
33
  import { resolveInboundChannelDestination, resolveOutboundChannel, unsupportedChannelMapFields } from "./channel-map.js";
34
34
  import { resolveRigRepresentative } from "../../queue-owner.js";
35
35
  import { getSelfHostId } from "../../hosts/fanout-contract.js";
36
- import { forwardChannelProblems, makeEnvelopeForwarder } from "./forwarding.js";
36
+ import { envelopeChannel, forwardChannelProblems, makeEnvelopeForwarder } from "./forwarding.js";
37
37
  import { startSocketInbound } from "./socket-inbound.js";
38
38
  import { loadHumanRegistry, resolveSlackHandle } from "../human-registry.js";
39
39
  import { hasLiveHumanGate, isBlockerLive } from "../../queue-repository.js";
@@ -676,6 +676,17 @@ export function buildSlackGatewayWire(opts) {
676
676
  const starts = [];
677
677
  let inboundHandle;
678
678
  let recovery;
679
+ // Recovery covers the channels this machine owns and the threads tracked in them. The configured
680
+ // default channel keeps its established seed; a channel newly recovered starts at adoption.
681
+ const buildRecovery = (router, seedDefault, relayed = false) => new SlackRecovery({
682
+ channels: ownedRecoveryChannels(cfg).map((channel) => (seedDefault && channel === cfg.channel ? { channel } : { channel, seed: "adoption" })),
683
+ token: bot,
684
+ stateDir: stateDir(opts.home),
685
+ router,
686
+ trackedThreads: (channels, closedSince) => threadMap.trackedForRecovery(channels, closedSince),
687
+ fetchImpl: opts.fetchImpl,
688
+ ...(relayed ? { relayed: true } : {}),
689
+ });
679
690
  if (outboundReady) {
680
691
  const driver = new SlackOutboundDriver({
681
692
  home: opts.home,
@@ -801,25 +812,37 @@ export function buildSlackGatewayWire(opts) {
801
812
  log(`slack bot inbox OFF: ${!bot ? "SLACK_BOT_TOKEN unresolved (bots.info needs it)" : botInboxProblems(cfg).join("; ")}`);
802
813
  }
803
814
  // An envelope the hub relayed is handled here and never relayed again.
804
- acceptForwarded = (env) => { relayedReceived++; return handleEnvelope(env, () => { }, built, log, undefined, { relayed: true }); };
815
+ acceptForwarded = (env) => {
816
+ relayedReceived++;
817
+ // A relayed event adopts its channel for recovery, from this local receipt time (only a channel configured here).
818
+ if (!inboundReady)
819
+ recovery?.adoptRelayed(envelopeChannel(env), Date.now());
820
+ return handleEnvelope(env, () => { }, built, log, undefined, { relayed: true });
821
+ };
805
822
  if (!inboundReady) {
806
823
  // No socket here, so no socket-driven retry: drain this machine's own retained events on the
807
- // same five-minute cadence the socket uses, once services start.
824
+ // same five-minute cadence the socket uses, once services start. The hub relays this machine's
825
+ // channels' live events; each configured channel the hub has relayed here is also recovered,
826
+ // from its first relayed event, so this machine, which owns it, gets what nobody received.
827
+ const relayedRecovery = (recovery = buildRecovery(built, false, true));
828
+ const recover = () => { void relayedRecovery.run().catch(() => log("channel recovery failed; checkpoint retained")); };
808
829
  let retryTimer;
809
830
  starts.push(() => {
831
+ relayedRecovery.initialize(); // channels adopted before a restart resume from their saved coverage
810
832
  retryTimer = setInterval(() => {
833
+ recover();
811
834
  void built.retryDeadLetters().catch((e) => log(`slack dead-letter retry failed: ${e.message}`));
812
835
  }, opts.inboundRetryIntervalMs ?? 5 * 60 * 1000);
813
836
  retryTimer.unref?.();
814
837
  });
815
- stops.push(() => { if (retryTimer)
838
+ stops.push(() => { relayedRecovery.stop(); if (retryTimer)
816
839
  clearInterval(retryTimer); });
817
840
  }
818
841
  }
819
842
  if (inboundReady && router) {
820
843
  const socketRouter = router;
821
844
  const receipts = new InboundReceiptStore(path.join(stateDir(opts.home), "slack-inbound-receipts.jsonl"));
822
- recovery = new ChannelRecovery({ channel: cfg.channel, token: bot, stateDir: stateDir(opts.home), router: socketRouter, fetchImpl: opts.fetchImpl });
845
+ recovery = buildRecovery(socketRouter, true);
823
846
  starts.push(() => {
824
847
  recovery.initialize(); // persist the once-only floor before any live events
825
848
  inboundHandle = startSocketInbound(app, socketRouter, {
@@ -1 +1 @@
1
- {"version":3,"file":"slack-subsystem.js","sourceRoot":"","sources":["../../../../src/domain/gateway/slack/slack-subsystem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slack-subsystem.js","sourceRoot":"","sources":["../../../../src/domain/gateway/slack/slack-subsystem.ts"],"names":[],"mappings":"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"}
@@ -117,6 +117,11 @@ export interface ChannelCoverage {
117
117
  nextRetryAt?: number;
118
118
  /** Available history was scanned, but Slack reported older history beyond its plan limit. */
119
119
  historyLimited?: boolean;
120
+ /** On a machine without its own connection: when the hub first relayed this channel here (the coverage floor then). */
121
+ relayAdoptedAt?: string;
122
+ /** Whether nextRetryAt came from Slack's rate limit, which holds the whole method, not only this channel. Absent on an
123
+ * older daemon's deadline, which is treated as a possible rate limit. */
124
+ rateLimited?: boolean;
120
125
  }
121
126
  /** A scan boundary, not an event receipt. Status uses an in-memory snapshot, never this file. */
122
127
  export declare class ChannelCoverageStore {
@@ -124,7 +129,36 @@ export declare class ChannelCoverageStore {
124
129
  private readonly fsops;
125
130
  constructor(file: string, fsops?: StateFsOps);
126
131
  private read;
132
+ /** Every saved channel record (throws on an unreadable or invalid file, like every read). */
133
+ all(): Record<string, ChannelCoverage>;
127
134
  save(channel: string, coverage: ChannelCoverage): void;
128
135
  initialize(channel: string, at: string, seenFile: string, receiptsFile: string): ChannelCoverage;
136
+ /** Only once per channel, at adoption: older coverage is unknown. A landing or seen record is
137
+ * not scanned coverage, so it never sets this floor (it could skip an earlier hole). */
138
+ initializeAtAdoption(channel: string, at: string): ChannelCoverage;
139
+ /** The hub relayed this channel here at `at` (local receipt time). The first time, that's the coverage floor; retained
140
+ * coverage wins over it, and later relays change nothing. Persisted, so a restart needs no fresh relayed event. */
141
+ adoptRelayed(channel: string, at: string): ChannelCoverage;
142
+ }
143
+ export interface ThreadCoverage {
144
+ /** The thread root: no reply is older, so it is the scan floor. */
145
+ coverageStart: string;
146
+ /** Exclusive: every reply posted before this was scanned. */
147
+ coveredThrough: string;
148
+ pending?: {
149
+ upper: string;
150
+ };
151
+ nextRetryAt?: number;
152
+ /** Whether nextRetryAt came from Slack's rate limit, which holds the whole method. */
153
+ rateLimited?: boolean;
154
+ }
155
+ /** Scan boundaries for tracked threads, keyed `channel:thread_ts`. A separate file, so a channel
156
+ * checkpoint reader (including an older daemon's) never meets a thread record. */
157
+ export declare class ThreadCoverageStore {
158
+ private readonly file;
159
+ private readonly fsops;
160
+ constructor(file: string, fsops?: StateFsOps);
161
+ read(): Record<string, ThreadCoverage>;
162
+ save(key: string, coverage: ThreadCoverage): void;
129
163
  }
130
164
  //# sourceMappingURL=state-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"state-store.d.ts","sourceRoot":"","sources":["../../../../src/domain/gateway/slack/state-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state-store.d.ts","sourceRoot":"","sources":["../../../../src/domain/gateway/slack/state-store.ts"],"names":[],"mappings":"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"}