@mclawnet/swarm 0.1.12 → 0.1.14

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 (368) hide show
  1. package/dist/__tests__/always-on-activity-reader.test.d.ts +2 -0
  2. package/dist/__tests__/always-on-activity-reader.test.d.ts.map +1 -0
  3. package/dist/__tests__/always-on-activity-reader.test.js +193 -0
  4. package/dist/__tests__/always-on-activity-reader.test.js.map +1 -0
  5. package/dist/__tests__/always-on-config.test.d.ts +2 -0
  6. package/dist/__tests__/always-on-config.test.d.ts.map +1 -0
  7. package/dist/__tests__/always-on-config.test.js +285 -0
  8. package/dist/__tests__/always-on-config.test.js.map +1 -0
  9. package/dist/__tests__/always-on-manager.test.d.ts +2 -0
  10. package/dist/__tests__/always-on-manager.test.d.ts.map +1 -0
  11. package/dist/__tests__/always-on-manager.test.js +797 -0
  12. package/dist/__tests__/always-on-manager.test.js.map +1 -0
  13. package/dist/__tests__/always-on-parity.test.d.ts +2 -0
  14. package/dist/__tests__/always-on-parity.test.d.ts.map +1 -0
  15. package/dist/__tests__/always-on-parity.test.js +20 -0
  16. package/dist/__tests__/always-on-parity.test.js.map +1 -0
  17. package/dist/__tests__/cascade-picker.test.d.ts +2 -0
  18. package/dist/__tests__/cascade-picker.test.d.ts.map +1 -0
  19. package/dist/__tests__/cascade-picker.test.js +122 -0
  20. package/dist/__tests__/cascade-picker.test.js.map +1 -0
  21. package/dist/__tests__/coordinator-shipment.test.d.ts +2 -0
  22. package/dist/__tests__/coordinator-shipment.test.d.ts.map +1 -0
  23. package/dist/__tests__/coordinator-shipment.test.js +280 -0
  24. package/dist/__tests__/coordinator-shipment.test.js.map +1 -0
  25. package/dist/__tests__/coordinator-workspace-recover.test.d.ts +2 -0
  26. package/dist/__tests__/coordinator-workspace-recover.test.d.ts.map +1 -0
  27. package/dist/__tests__/coordinator-workspace-recover.test.js +140 -0
  28. package/dist/__tests__/coordinator-workspace-recover.test.js.map +1 -0
  29. package/dist/__tests__/coordinator-workspace.test.d.ts +2 -0
  30. package/dist/__tests__/coordinator-workspace.test.d.ts.map +1 -0
  31. package/dist/__tests__/coordinator-workspace.test.js +135 -0
  32. package/dist/__tests__/coordinator-workspace.test.js.map +1 -0
  33. package/dist/__tests__/default-runner-epipe.test.d.ts +2 -0
  34. package/dist/__tests__/default-runner-epipe.test.d.ts.map +1 -0
  35. package/dist/__tests__/default-runner-epipe.test.js +43 -0
  36. package/dist/__tests__/default-runner-epipe.test.js.map +1 -0
  37. package/dist/__tests__/discovery-scheduler.test.d.ts +2 -0
  38. package/dist/__tests__/discovery-scheduler.test.d.ts.map +1 -0
  39. package/dist/__tests__/discovery-scheduler.test.js +367 -0
  40. package/dist/__tests__/discovery-scheduler.test.js.map +1 -0
  41. package/dist/__tests__/env-forward-e2e.test.d.ts +2 -0
  42. package/dist/__tests__/env-forward-e2e.test.d.ts.map +1 -0
  43. package/dist/__tests__/env-forward-e2e.test.js +57 -0
  44. package/dist/__tests__/env-forward-e2e.test.js.map +1 -0
  45. package/dist/__tests__/gh-pr-creator.test.d.ts +2 -0
  46. package/dist/__tests__/gh-pr-creator.test.d.ts.map +1 -0
  47. package/dist/__tests__/gh-pr-creator.test.js +107 -0
  48. package/dist/__tests__/gh-pr-creator.test.js.map +1 -0
  49. package/dist/__tests__/git-worktree-provider.test.d.ts +2 -0
  50. package/dist/__tests__/git-worktree-provider.test.d.ts.map +1 -0
  51. package/dist/__tests__/git-worktree-provider.test.js +98 -0
  52. package/dist/__tests__/git-worktree-provider.test.js.map +1 -0
  53. package/dist/__tests__/gitignore-check.test.d.ts +2 -0
  54. package/dist/__tests__/gitignore-check.test.d.ts.map +1 -0
  55. package/dist/__tests__/gitignore-check.test.js +39 -0
  56. package/dist/__tests__/gitignore-check.test.js.map +1 -0
  57. package/dist/__tests__/idea-research-source.test.d.ts +2 -0
  58. package/dist/__tests__/idea-research-source.test.d.ts.map +1 -0
  59. package/dist/__tests__/idea-research-source.test.js +425 -0
  60. package/dist/__tests__/idea-research-source.test.js.map +1 -0
  61. package/dist/__tests__/idea-todo-source.test.d.ts +2 -0
  62. package/dist/__tests__/idea-todo-source.test.d.ts.map +1 -0
  63. package/dist/__tests__/idea-todo-source.test.js +258 -0
  64. package/dist/__tests__/idea-todo-source.test.js.map +1 -0
  65. package/dist/__tests__/inbox-store-notbefore.test.d.ts +2 -0
  66. package/dist/__tests__/inbox-store-notbefore.test.d.ts.map +1 -0
  67. package/dist/__tests__/inbox-store-notbefore.test.js +47 -0
  68. package/dist/__tests__/inbox-store-notbefore.test.js.map +1 -0
  69. package/dist/__tests__/inbox-store-swarmid-validation.test.d.ts +2 -0
  70. package/dist/__tests__/inbox-store-swarmid-validation.test.d.ts.map +1 -0
  71. package/dist/__tests__/inbox-store-swarmid-validation.test.js +32 -0
  72. package/dist/__tests__/inbox-store-swarmid-validation.test.js.map +1 -0
  73. package/dist/__tests__/introspection-dedupe.test.d.ts +2 -0
  74. package/dist/__tests__/introspection-dedupe.test.d.ts.map +1 -0
  75. package/dist/__tests__/introspection-dedupe.test.js +484 -0
  76. package/dist/__tests__/introspection-dedupe.test.js.map +1 -0
  77. package/dist/__tests__/introspection-source.test.d.ts +2 -0
  78. package/dist/__tests__/introspection-source.test.d.ts.map +1 -0
  79. package/dist/__tests__/introspection-source.test.js +1051 -0
  80. package/dist/__tests__/introspection-source.test.js.map +1 -0
  81. package/dist/__tests__/migration-roles.test.js +1 -22
  82. package/dist/__tests__/migration-roles.test.js.map +1 -1
  83. package/dist/__tests__/reconcile-researching.test.d.ts +2 -0
  84. package/dist/__tests__/reconcile-researching.test.d.ts.map +1 -0
  85. package/dist/__tests__/reconcile-researching.test.js +224 -0
  86. package/dist/__tests__/reconcile-researching.test.js.map +1 -0
  87. package/dist/__tests__/role-loader-editor.test.js +40 -10
  88. package/dist/__tests__/role-loader-editor.test.js.map +1 -1
  89. package/dist/__tests__/role-loader-preamble-all.test.js +3 -1
  90. package/dist/__tests__/role-loader-preamble-all.test.js.map +1 -1
  91. package/dist/__tests__/role-loader.test.js +95 -0
  92. package/dist/__tests__/role-loader.test.js.map +1 -1
  93. package/dist/__tests__/role-prompt-no-legacy-protocol.test.js +3 -1
  94. package/dist/__tests__/role-prompt-no-legacy-protocol.test.js.map +1 -1
  95. package/dist/__tests__/secret-scrub.test.d.ts +2 -0
  96. package/dist/__tests__/secret-scrub.test.d.ts.map +1 -0
  97. package/dist/__tests__/secret-scrub.test.js +55 -0
  98. package/dist/__tests__/secret-scrub.test.js.map +1 -0
  99. package/dist/__tests__/shipment-actions.test.d.ts +2 -0
  100. package/dist/__tests__/shipment-actions.test.d.ts.map +1 -0
  101. package/dist/__tests__/shipment-actions.test.js +378 -0
  102. package/dist/__tests__/shipment-actions.test.js.map +1 -0
  103. package/dist/__tests__/shipment-persistence.test.d.ts +2 -0
  104. package/dist/__tests__/shipment-persistence.test.d.ts.map +1 -0
  105. package/dist/__tests__/shipment-persistence.test.js +120 -0
  106. package/dist/__tests__/shipment-persistence.test.js.map +1 -0
  107. package/dist/__tests__/shipment-pipeline.test.d.ts +2 -0
  108. package/dist/__tests__/shipment-pipeline.test.d.ts.map +1 -0
  109. package/dist/__tests__/shipment-pipeline.test.js +392 -0
  110. package/dist/__tests__/shipment-pipeline.test.js.map +1 -0
  111. package/dist/__tests__/shipment-report.test.d.ts +2 -0
  112. package/dist/__tests__/shipment-report.test.d.ts.map +1 -0
  113. package/dist/__tests__/shipment-report.test.js +78 -0
  114. package/dist/__tests__/shipment-report.test.js.map +1 -0
  115. package/dist/__tests__/shipment-stdin-integration.test.d.ts +2 -0
  116. package/dist/__tests__/shipment-stdin-integration.test.d.ts.map +1 -0
  117. package/dist/__tests__/shipment-stdin-integration.test.js +49 -0
  118. package/dist/__tests__/shipment-stdin-integration.test.js.map +1 -0
  119. package/dist/__tests__/shipment-type-parity.test.d.ts +2 -0
  120. package/dist/__tests__/shipment-type-parity.test.d.ts.map +1 -0
  121. package/dist/__tests__/shipment-type-parity.test.js +10 -0
  122. package/dist/__tests__/shipment-type-parity.test.js.map +1 -0
  123. package/dist/__tests__/snapshot-copy-provider.test.d.ts +2 -0
  124. package/dist/__tests__/snapshot-copy-provider.test.d.ts.map +1 -0
  125. package/dist/__tests__/snapshot-copy-provider.test.js +88 -0
  126. package/dist/__tests__/snapshot-copy-provider.test.js.map +1 -0
  127. package/dist/__tests__/swarm-coordinator-backend.test.js +153 -0
  128. package/dist/__tests__/swarm-coordinator-backend.test.js.map +1 -1
  129. package/dist/__tests__/swarm-coordinator-complete-intercept.test.d.ts +2 -0
  130. package/dist/__tests__/swarm-coordinator-complete-intercept.test.d.ts.map +1 -0
  131. package/dist/__tests__/swarm-coordinator-complete-intercept.test.js +111 -0
  132. package/dist/__tests__/swarm-coordinator-complete-intercept.test.js.map +1 -0
  133. package/dist/__tests__/task-store-source.test.d.ts +2 -0
  134. package/dist/__tests__/task-store-source.test.d.ts.map +1 -0
  135. package/dist/__tests__/task-store-source.test.js +56 -0
  136. package/dist/__tests__/task-store-source.test.js.map +1 -0
  137. package/dist/__tests__/template-loader-editor.test.js +28 -13
  138. package/dist/__tests__/template-loader-editor.test.js.map +1 -1
  139. package/dist/__tests__/transport-detect.test.d.ts +2 -0
  140. package/dist/__tests__/transport-detect.test.d.ts.map +1 -0
  141. package/dist/__tests__/transport-detect.test.js +92 -0
  142. package/dist/__tests__/transport-detect.test.js.map +1 -0
  143. package/dist/__tests__/wakeup-end-to-end.test.d.ts +2 -0
  144. package/dist/__tests__/wakeup-end-to-end.test.d.ts.map +1 -0
  145. package/dist/__tests__/wakeup-end-to-end.test.js +80 -0
  146. package/dist/__tests__/wakeup-end-to-end.test.js.map +1 -0
  147. package/dist/__tests__/wakeup-scheduler-restore-fires.test.d.ts +2 -0
  148. package/dist/__tests__/wakeup-scheduler-restore-fires.test.d.ts.map +1 -0
  149. package/dist/__tests__/wakeup-scheduler-restore-fires.test.js +33 -0
  150. package/dist/__tests__/wakeup-scheduler-restore-fires.test.js.map +1 -0
  151. package/dist/__tests__/wakeup-scheduler-restore.test.d.ts +2 -0
  152. package/dist/__tests__/wakeup-scheduler-restore.test.d.ts.map +1 -0
  153. package/dist/__tests__/wakeup-scheduler-restore.test.js +62 -0
  154. package/dist/__tests__/wakeup-scheduler-restore.test.js.map +1 -0
  155. package/dist/__tests__/wakeup-scheduler.test.d.ts +2 -0
  156. package/dist/__tests__/wakeup-scheduler.test.d.ts.map +1 -0
  157. package/dist/__tests__/wakeup-scheduler.test.js +65 -0
  158. package/dist/__tests__/wakeup-scheduler.test.js.map +1 -0
  159. package/dist/__tests__/watch-manager.test.d.ts +2 -0
  160. package/dist/__tests__/watch-manager.test.d.ts.map +1 -0
  161. package/dist/__tests__/watch-manager.test.js +203 -0
  162. package/dist/__tests__/watch-manager.test.js.map +1 -0
  163. package/dist/__tests__/workcycle-runner-cascade.test.d.ts +2 -0
  164. package/dist/__tests__/workcycle-runner-cascade.test.d.ts.map +1 -0
  165. package/dist/__tests__/workcycle-runner-cascade.test.js +203 -0
  166. package/dist/__tests__/workcycle-runner-cascade.test.js.map +1 -0
  167. package/dist/__tests__/workcycle-runner.test.d.ts +2 -0
  168. package/dist/__tests__/workcycle-runner.test.d.ts.map +1 -0
  169. package/dist/__tests__/workcycle-runner.test.js +369 -0
  170. package/dist/__tests__/workcycle-runner.test.js.map +1 -0
  171. package/dist/__tests__/workspace-diff.test.d.ts +2 -0
  172. package/dist/__tests__/workspace-diff.test.d.ts.map +1 -0
  173. package/dist/__tests__/workspace-diff.test.js +62 -0
  174. package/dist/__tests__/workspace-diff.test.js.map +1 -0
  175. package/dist/__tests__/workspace-manager.test.d.ts +2 -0
  176. package/dist/__tests__/workspace-manager.test.d.ts.map +1 -0
  177. package/dist/__tests__/workspace-manager.test.js +120 -0
  178. package/dist/__tests__/workspace-manager.test.js.map +1 -0
  179. package/dist/__tests__/workspace-types.test.d.ts +2 -0
  180. package/dist/__tests__/workspace-types.test.d.ts.map +1 -0
  181. package/dist/__tests__/workspace-types.test.js +37 -0
  182. package/dist/__tests__/workspace-types.test.js.map +1 -0
  183. package/dist/__tests__/worktree-gc.test.d.ts +2 -0
  184. package/dist/__tests__/worktree-gc.test.d.ts.map +1 -0
  185. package/dist/__tests__/worktree-gc.test.js +183 -0
  186. package/dist/__tests__/worktree-gc.test.js.map +1 -0
  187. package/dist/always-on/activity-reader.d.ts +27 -0
  188. package/dist/always-on/activity-reader.d.ts.map +1 -0
  189. package/dist/always-on/activity-reader.js +95 -0
  190. package/dist/always-on/activity-reader.js.map +1 -0
  191. package/dist/always-on/always-on-manager.d.ts +170 -0
  192. package/dist/always-on/always-on-manager.d.ts.map +1 -0
  193. package/dist/always-on/always-on-manager.js +538 -0
  194. package/dist/always-on/always-on-manager.js.map +1 -0
  195. package/dist/always-on/config.d.ts +141 -0
  196. package/dist/always-on/config.d.ts.map +1 -0
  197. package/dist/always-on/config.js +324 -0
  198. package/dist/always-on/config.js.map +1 -0
  199. package/dist/always-on/discovery-scheduler.d.ts +60 -0
  200. package/dist/always-on/discovery-scheduler.d.ts.map +1 -0
  201. package/dist/always-on/discovery-scheduler.js +287 -0
  202. package/dist/always-on/discovery-scheduler.js.map +1 -0
  203. package/dist/always-on/ideas-client.d.ts +23 -0
  204. package/dist/always-on/ideas-client.d.ts.map +1 -0
  205. package/dist/always-on/ideas-client.js +13 -0
  206. package/dist/always-on/ideas-client.js.map +1 -0
  207. package/dist/always-on/reconcile-researching.d.ts +42 -0
  208. package/dist/always-on/reconcile-researching.d.ts.map +1 -0
  209. package/dist/always-on/reconcile-researching.js +133 -0
  210. package/dist/always-on/reconcile-researching.js.map +1 -0
  211. package/dist/always-on/task-sources/cascade-picker.d.ts +42 -0
  212. package/dist/always-on/task-sources/cascade-picker.d.ts.map +1 -0
  213. package/dist/always-on/task-sources/cascade-picker.js +65 -0
  214. package/dist/always-on/task-sources/cascade-picker.js.map +1 -0
  215. package/dist/always-on/task-sources/idea-dedupe.d.ts +62 -0
  216. package/dist/always-on/task-sources/idea-dedupe.d.ts.map +1 -0
  217. package/dist/always-on/task-sources/idea-dedupe.js +130 -0
  218. package/dist/always-on/task-sources/idea-dedupe.js.map +1 -0
  219. package/dist/always-on/task-sources/idea-research-source.d.ts +46 -0
  220. package/dist/always-on/task-sources/idea-research-source.d.ts.map +1 -0
  221. package/dist/always-on/task-sources/idea-research-source.js +308 -0
  222. package/dist/always-on/task-sources/idea-research-source.js.map +1 -0
  223. package/dist/always-on/task-sources/idea-sort.d.ts +3 -0
  224. package/dist/always-on/task-sources/idea-sort.d.ts.map +1 -0
  225. package/dist/always-on/task-sources/idea-sort.js +25 -0
  226. package/dist/always-on/task-sources/idea-sort.js.map +1 -0
  227. package/dist/always-on/task-sources/idea-todo-source.d.ts +48 -0
  228. package/dist/always-on/task-sources/idea-todo-source.d.ts.map +1 -0
  229. package/dist/always-on/task-sources/idea-todo-source.js +226 -0
  230. package/dist/always-on/task-sources/idea-todo-source.js.map +1 -0
  231. package/dist/always-on/task-sources/introspection-source.d.ts +101 -0
  232. package/dist/always-on/task-sources/introspection-source.d.ts.map +1 -0
  233. package/dist/always-on/task-sources/introspection-source.js +695 -0
  234. package/dist/always-on/task-sources/introspection-source.js.map +1 -0
  235. package/dist/always-on/task-sources/task-store-source.d.ts +15 -0
  236. package/dist/always-on/task-sources/task-store-source.d.ts.map +1 -0
  237. package/dist/always-on/task-sources/task-store-source.js +59 -0
  238. package/dist/always-on/task-sources/task-store-source.js.map +1 -0
  239. package/dist/always-on/task-sources/types.d.ts +108 -0
  240. package/dist/always-on/task-sources/types.d.ts.map +1 -0
  241. package/dist/always-on/task-sources/types.js +13 -0
  242. package/dist/always-on/task-sources/types.js.map +1 -0
  243. package/dist/always-on/types.d.ts +76 -0
  244. package/dist/always-on/types.d.ts.map +1 -0
  245. package/dist/always-on/types.js +17 -0
  246. package/dist/always-on/types.js.map +1 -0
  247. package/dist/always-on/workcycle-runner.d.ts +115 -0
  248. package/dist/always-on/workcycle-runner.d.ts.map +1 -0
  249. package/dist/always-on/workcycle-runner.js +285 -0
  250. package/dist/always-on/workcycle-runner.js.map +1 -0
  251. package/dist/always-on/worktree-gc.d.ts +41 -0
  252. package/dist/always-on/worktree-gc.d.ts.map +1 -0
  253. package/dist/always-on/worktree-gc.js +167 -0
  254. package/dist/always-on/worktree-gc.js.map +1 -0
  255. package/dist/inbox-store.d.ts +7 -0
  256. package/dist/inbox-store.d.ts.map +1 -1
  257. package/dist/inbox-store.js +8 -1
  258. package/dist/inbox-store.js.map +1 -1
  259. package/dist/index.d.ts +29 -3
  260. package/dist/index.d.ts.map +1 -1
  261. package/dist/index.js +27 -2
  262. package/dist/index.js.map +1 -1
  263. package/dist/persistence.d.ts +37 -1
  264. package/dist/persistence.d.ts.map +1 -1
  265. package/dist/persistence.js +48 -0
  266. package/dist/persistence.js.map +1 -1
  267. package/dist/retrospective.d.ts.map +1 -1
  268. package/dist/retrospective.js +6 -0
  269. package/dist/retrospective.js.map +1 -1
  270. package/dist/roles/role-loader.d.ts +31 -6
  271. package/dist/roles/role-loader.d.ts.map +1 -1
  272. package/dist/roles/role-loader.js +58 -32
  273. package/dist/roles/role-loader.js.map +1 -1
  274. package/dist/roles/types.d.ts +12 -0
  275. package/dist/roles/types.d.ts.map +1 -1
  276. package/dist/shipment/gh-pr-creator.d.ts +28 -0
  277. package/dist/shipment/gh-pr-creator.d.ts.map +1 -0
  278. package/dist/shipment/gh-pr-creator.js +80 -0
  279. package/dist/shipment/gh-pr-creator.js.map +1 -0
  280. package/dist/shipment/report.d.ts +27 -0
  281. package/dist/shipment/report.d.ts.map +1 -0
  282. package/dist/shipment/report.js +41 -0
  283. package/dist/shipment/report.js.map +1 -0
  284. package/dist/shipment/secret-scrub.d.ts +12 -0
  285. package/dist/shipment/secret-scrub.d.ts.map +1 -0
  286. package/dist/shipment/secret-scrub.js +30 -0
  287. package/dist/shipment/secret-scrub.js.map +1 -0
  288. package/dist/shipment/shipment-actions.d.ts +85 -0
  289. package/dist/shipment/shipment-actions.d.ts.map +1 -0
  290. package/dist/shipment/shipment-actions.js +190 -0
  291. package/dist/shipment/shipment-actions.js.map +1 -0
  292. package/dist/shipment/shipment-pipeline.d.ts +48 -0
  293. package/dist/shipment/shipment-pipeline.d.ts.map +1 -0
  294. package/dist/shipment/shipment-pipeline.js +256 -0
  295. package/dist/shipment/shipment-pipeline.js.map +1 -0
  296. package/dist/shipment/transport-detect.d.ts +16 -0
  297. package/dist/shipment/transport-detect.d.ts.map +1 -0
  298. package/dist/shipment/transport-detect.js +54 -0
  299. package/dist/shipment/transport-detect.js.map +1 -0
  300. package/dist/shipment/workspace-diff.d.ts +39 -0
  301. package/dist/shipment/workspace-diff.d.ts.map +1 -0
  302. package/dist/shipment/workspace-diff.js +64 -0
  303. package/dist/shipment/workspace-diff.js.map +1 -0
  304. package/dist/swarm-coordinator.d.ts +20 -1
  305. package/dist/swarm-coordinator.d.ts.map +1 -1
  306. package/dist/swarm-coordinator.js +193 -10
  307. package/dist/swarm-coordinator.js.map +1 -1
  308. package/dist/templates/template-loader.d.ts +23 -9
  309. package/dist/templates/template-loader.d.ts.map +1 -1
  310. package/dist/templates/template-loader.js +33 -26
  311. package/dist/templates/template-loader.js.map +1 -1
  312. package/dist/types.d.ts +62 -0
  313. package/dist/types.d.ts.map +1 -1
  314. package/dist/wakeup-scheduler.d.ts +36 -0
  315. package/dist/wakeup-scheduler.d.ts.map +1 -0
  316. package/dist/wakeup-scheduler.js +107 -0
  317. package/dist/wakeup-scheduler.js.map +1 -0
  318. package/dist/watch-manager.d.ts +32 -0
  319. package/dist/watch-manager.d.ts.map +1 -0
  320. package/dist/watch-manager.js +153 -0
  321. package/dist/watch-manager.js.map +1 -0
  322. package/dist/workspace/git-worktree-provider.d.ts +11 -0
  323. package/dist/workspace/git-worktree-provider.d.ts.map +1 -0
  324. package/dist/workspace/git-worktree-provider.js +123 -0
  325. package/dist/workspace/git-worktree-provider.js.map +1 -0
  326. package/dist/workspace/gitignore-check.d.ts +10 -0
  327. package/dist/workspace/gitignore-check.d.ts.map +1 -0
  328. package/dist/workspace/gitignore-check.js +25 -0
  329. package/dist/workspace/gitignore-check.js.map +1 -0
  330. package/dist/workspace/index.d.ts +5 -0
  331. package/dist/workspace/index.d.ts.map +1 -0
  332. package/dist/workspace/index.js +5 -0
  333. package/dist/workspace/index.js.map +1 -0
  334. package/dist/workspace/snapshot-copy-provider.d.ts +11 -0
  335. package/dist/workspace/snapshot-copy-provider.d.ts.map +1 -0
  336. package/dist/workspace/snapshot-copy-provider.js +66 -0
  337. package/dist/workspace/snapshot-copy-provider.js.map +1 -0
  338. package/dist/workspace/types.d.ts +36 -0
  339. package/dist/workspace/types.d.ts.map +1 -0
  340. package/dist/workspace/types.js +2 -0
  341. package/dist/workspace/types.js.map +1 -0
  342. package/dist/workspace/workspace-manager.d.ts +30 -0
  343. package/dist/workspace/workspace-manager.d.ts.map +1 -0
  344. package/dist/workspace/workspace-manager.js +104 -0
  345. package/dist/workspace/workspace-manager.js.map +1 -0
  346. package/package.json +5 -5
  347. package/roles/queen.md +1 -0
  348. package/templates/introspection.md +64 -0
  349. package/templates/research-only.md +58 -0
  350. package/roles/preset-analyst-simons.md +0 -39
  351. package/roles/preset-architect-knuth.md +0 -39
  352. package/roles/preset-designer-norman.md +0 -39
  353. package/roles/preset-designer.md +0 -39
  354. package/roles/preset-dev-carmack.md +0 -39
  355. package/roles/preset-dev-gosling.md +0 -39
  356. package/roles/preset-developer.md +0 -52
  357. package/roles/preset-manager-grove.md +0 -39
  358. package/roles/preset-manager-musk.md +0 -39
  359. package/roles/preset-pm.md +0 -78
  360. package/roles/preset-researcher-feynman.md +0 -39
  361. package/roles/preset-reviewer.md +0 -46
  362. package/roles/preset-strategist-buffett.md +0 -39
  363. package/roles/preset-strategist-munger.md +0 -39
  364. package/roles/preset-strategist-sunzi.md +0 -39
  365. package/roles/preset-tester-beck.md +0 -40
  366. package/roles/preset-tester.md +0 -47
  367. package/roles/preset-writer-orwell.md +0 -39
  368. package/roles/preset-writer.md +0 -39
@@ -11,29 +11,43 @@ import type { TemplateDefinition } from "./types.js";
11
11
  * ```
12
12
  */
13
13
  export declare function parseTemplateFile(content: string): TemplateDefinition;
14
- /** Ensure user templates directory exists. */
15
- export declare function initTemplates(): string;
16
14
  /** List all available template names (user dir + presets, deduplicated). */
17
15
  export declare function listTemplates(): string[];
18
16
  /** Load a template definition by name. User directory takes priority. */
19
17
  export declare function loadTemplate(name: string): TemplateDefinition;
20
- export type TemplateSource = "preset" | "user" | "override";
18
+ export type TemplateSource = "preset" | "user";
21
19
  export interface TemplateListItem {
22
20
  name: string;
23
21
  source: TemplateSource;
22
+ /**
23
+ * True when a user-authored template with this name hides a built-in preset
24
+ * of the same name (legacy state — saveTemplate now refuses such writes).
25
+ * Lets the UI warn the user they're masking a built-in.
26
+ */
27
+ shadowsPreset?: boolean;
24
28
  }
25
- /** List all templates with source tag (preset / user / override). */
29
+ /**
30
+ * List all templates with source tag.
31
+ *
32
+ * Presets live in the npm package; user templates in `~/.clawnet/templates/`.
33
+ * Names must be globally unique going forward (enforced at save time). On a
34
+ * collision (e.g. a stale user copy left over from an older build), the user
35
+ * copy wins for both listing and loading and is flagged `shadowsPreset` so
36
+ * the UI can surface the conflict.
37
+ */
26
38
  export declare function listTemplatesWithSource(): TemplateListItem[];
27
39
  /** Resolve a template's source; null when neither user nor preset has it. */
28
40
  export declare function getTemplateSource(name: string): TemplateSource | null;
29
41
  /** Get raw markdown content. User file wins over preset. */
30
42
  export declare function getTemplateRaw(name: string): string | null;
31
43
  /**
32
- * Write a template to the user directory. Validates by parsing first;
33
- * throws on bad frontmatter so a broken file never reaches disk.
34
- * Cross-checks that the parsed `name` matches the requested name so a
35
- * caller can't accidentally save `foo.md` whose frontmatter says `bar`.
36
- * Uses tmp + rename for atomicity (no truncated reads under concurrent get).
44
+ * Write a template to the user directory.
45
+ *
46
+ * Validates by parsing first; throws on bad frontmatter so a broken file
47
+ * never reaches disk. Refuses to write if the name collides with a built-in
48
+ * preset presets are immutable, so "edit a preset" is implemented by Copy
49
+ * with a new name. Uses tmp + rename for atomicity (no truncated reads under
50
+ * concurrent get).
37
51
  */
38
52
  export declare function saveTemplate(name: string, raw: string): TemplateSource;
39
53
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"template-loader.d.ts","sourceRoot":"","sources":["../../src/templates/template-loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAoB,MAAM,YAAY,CAAC;AAuCvE;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,CAwDrE;AAUD,8CAA8C;AAC9C,wBAAgB,aAAa,IAAI,MAAM,CAItC;AAED,4EAA4E;AAC5E,wBAAgB,aAAa,IAAI,MAAM,EAAE,CAqBxC;AAED,yEAAyE;AACzE,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAa7D;AAMD,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AAE5D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,qEAAqE;AACrE,wBAAgB,uBAAuB,IAAI,gBAAgB,EAAE,CAwB5D;AAED,6EAA6E;AAC7E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAQrE;AAED,4DAA4D;AAC5D,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAO1D;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,cAAc,CActE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,gBAAgB,EAAE,OAAO,CAAA;CAAE,CAW1E"}
1
+ {"version":3,"file":"template-loader.d.ts","sourceRoot":"","sources":["../../src/templates/template-loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAoB,MAAM,YAAY,CAAC;AAuCvE;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,CAwDrE;AAUD,4EAA4E;AAC5E,wBAAgB,aAAa,IAAI,MAAM,EAAE,CAqBxC;AAED,yEAAyE;AACzE,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAa7D;AAMD,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE/C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,cAAc,CAAC;IACvB;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,IAAI,gBAAgB,EAAE,CA2B5D;AAED,6EAA6E;AAC7E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAKrE;AAED,4DAA4D;AAC5D,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAO1D;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,cAAc,CAmBtE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,gBAAgB,EAAE,OAAO,CAAA;CAAE,CAW1E"}
@@ -104,12 +104,6 @@ function finalizeRole(partial) {
104
104
  eager: partial.eager,
105
105
  };
106
106
  }
107
- /** Ensure user templates directory exists. */
108
- export function initTemplates() {
109
- const dir = userTemplatesDir();
110
- mkdirSync(dir, { recursive: true });
111
- return dir;
112
- }
113
107
  /** List all available template names (user dir + presets, deduplicated). */
114
108
  export function listTemplates() {
115
109
  const templates = new Set();
@@ -143,7 +137,15 @@ export function loadTemplate(name) {
143
137
  }
144
138
  throw new Error(`Template not found: ${name}`);
145
139
  }
146
- /** List all templates with source tag (preset / user / override). */
140
+ /**
141
+ * List all templates with source tag.
142
+ *
143
+ * Presets live in the npm package; user templates in `~/.clawnet/templates/`.
144
+ * Names must be globally unique going forward (enforced at save time). On a
145
+ * collision (e.g. a stale user copy left over from an older build), the user
146
+ * copy wins for both listing and loading and is flagged `shadowsPreset` so
147
+ * the UI can surface the conflict.
148
+ */
147
149
  export function listTemplatesWithSource() {
148
150
  const presetNames = existsSync(PRESET_DIR)
149
151
  ? readdirSync(PRESET_DIR)
@@ -156,26 +158,26 @@ export function listTemplatesWithSource() {
156
158
  .filter((f) => f.endsWith(".md"))
157
159
  .map((f) => f.replace(/\.md$/, ""))
158
160
  : [];
159
- const presetSet = new Set(presetNames);
160
161
  const userSet = new Set(userNames);
161
- const all = new Set([...presetSet, ...userSet]);
162
- return [...all].sort().map((name) => {
163
- const inUser = userSet.has(name);
164
- const inPreset = presetSet.has(name);
165
- const source = inUser && inPreset ? "override" : inUser ? "user" : "preset";
166
- return { name, source };
167
- });
162
+ const presetSet = new Set(presetNames);
163
+ const items = [];
164
+ for (const name of userNames) {
165
+ items.push(presetSet.has(name)
166
+ ? { name, source: "user", shadowsPreset: true }
167
+ : { name, source: "user" });
168
+ }
169
+ for (const name of presetNames) {
170
+ if (!userSet.has(name))
171
+ items.push({ name, source: "preset" });
172
+ }
173
+ return items.sort((a, b) => a.name.localeCompare(b.name));
168
174
  }
169
175
  /** Resolve a template's source; null when neither user nor preset has it. */
170
176
  export function getTemplateSource(name) {
171
177
  validateName(name);
172
- const inUser = existsSync(join(userTemplatesDir(), `${name}.md`));
173
- const inPreset = existsSync(join(PRESET_DIR, `${name}.md`));
174
- if (inUser && inPreset)
175
- return "override";
176
- if (inUser)
178
+ if (existsSync(join(userTemplatesDir(), `${name}.md`)))
177
179
  return "user";
178
- if (inPreset)
180
+ if (existsSync(join(PRESET_DIR, `${name}.md`)))
179
181
  return "preset";
180
182
  return null;
181
183
  }
@@ -191,14 +193,19 @@ export function getTemplateRaw(name) {
191
193
  return null;
192
194
  }
193
195
  /**
194
- * Write a template to the user directory. Validates by parsing first;
195
- * throws on bad frontmatter so a broken file never reaches disk.
196
- * Cross-checks that the parsed `name` matches the requested name so a
197
- * caller can't accidentally save `foo.md` whose frontmatter says `bar`.
198
- * Uses tmp + rename for atomicity (no truncated reads under concurrent get).
196
+ * Write a template to the user directory.
197
+ *
198
+ * Validates by parsing first; throws on bad frontmatter so a broken file
199
+ * never reaches disk. Refuses to write if the name collides with a built-in
200
+ * preset presets are immutable, so "edit a preset" is implemented by Copy
201
+ * with a new name. Uses tmp + rename for atomicity (no truncated reads under
202
+ * concurrent get).
199
203
  */
200
204
  export function saveTemplate(name, raw) {
201
205
  validateName(name);
206
+ if (existsSync(join(PRESET_DIR, `${name}.md`))) {
207
+ throw new Error(`Cannot save template '${name}': name conflicts with a built-in preset. Choose another name.`);
208
+ }
202
209
  const parsed = parseTemplateFile(raw);
203
210
  if (parsed.name && parsed.name !== name && parsed.name !== "unknown") {
204
211
  throw new Error(`Frontmatter name '${parsed.name}' does not match requested '${name}'`);
@@ -1 +1 @@
1
- {"version":3,"file":"template-loader.js","sourceRoot":"","sources":["../../src/templates/template-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template-loader.js","sourceRoot":"","sources":["../../src/templates/template-loader.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -35,6 +35,27 @@ export interface SessionAdapter {
35
35
  * - claude: `--permission-mode` (LLM-soft approval)
36
36
  */
37
37
  sandbox?: SandboxLevel;
38
+ /**
39
+ * N4.5 per-role sticky model code (e.g. claude "opus-4", codex "gpt-4o").
40
+ * Threaded from RoleDefinition.model → spawnRole → SessionAdapter so each
41
+ * backend can map to its own `--model` / `-c model="..."` flag. Omitted =
42
+ * adapter default.
43
+ */
44
+ model?: string;
45
+ /**
46
+ * N4.5 per-role sticky mode code (claude permission-mode alias / codex
47
+ * sandbox alias). Omitted = adapter falls back to `sandbox` or its own
48
+ * default.
49
+ */
50
+ mode?: string;
51
+ /**
52
+ * Extra env vars merged onto `process.env` for the subprocess. M6 T7
53
+ * uses this to forward `CLAWNET_PROJECT_ROOT` so MCP tools (whose
54
+ * `workDir` arg defaults to the role's cwd, which under M6 is the
55
+ * worktree) can fall back to the original project root for inbox /
56
+ * task storage routing.
57
+ */
58
+ env?: Record<string, string>;
38
59
  }): Promise<string>;
39
60
  sendInput(sessionId: string, input: string): void;
40
61
  closeSession(sessionId: string): Promise<void>;
@@ -45,6 +66,13 @@ export interface HubAdapter {
45
66
  }
46
67
  export type SwarmStatus = "creating" | "running" | "paused" | "completed" | "failed" | "cancelled";
47
68
  export type PlanStatus = "none" | "draft" | "reviewing" | "approved" | "rejected";
69
+ /**
70
+ * PR-B D11 — provenance tag for a swarm. UI badges, shipment labels,
71
+ * worktree GC decisions, retrospective dispatch all branch on this.
72
+ * Optional for back-compat: pre-D11 snapshots (without `kind`) are
73
+ * treated as "user" by default — the existing chat-driven path.
74
+ */
75
+ export type SwarmKind = "user" | "always-on-cycle" | "always-on-introspection";
48
76
  export interface SwarmInstance {
49
77
  /** Swarm ID (same as the Hub session ID visible to the browser) */
50
78
  id: string;
@@ -74,6 +102,14 @@ export interface SwarmInstance {
74
102
  status: SwarmStatus;
75
103
  /** Plan review status */
76
104
  planStatus: PlanStatus;
105
+ /**
106
+ * PR-B D11 — provenance: who/what created this swarm.
107
+ * Default "user" when omitted (pre-D11 snapshots / chat-driven path).
108
+ * Set explicitly by always-on cycle creators (`always-on-cycle` for
109
+ * `WorkCycleRunner.run`-spawned ones, `always-on-introspection` for
110
+ * `IntrospectionSource.pick`-spawned ones).
111
+ */
112
+ kind?: SwarmKind;
77
113
  /**
78
114
  * Timer for the "reviewing" deadline. When the reviewer fails to submit a
79
115
  * verdict within PLAN_REVIEW_TIMEOUT_MS the swarm auto-approves with a
@@ -83,6 +119,20 @@ export interface SwarmInstance {
83
119
  planReviewTimer?: ReturnType<typeof setTimeout>;
84
120
  /** True if a recover() pass had ≥1 role fail to spawn — useful for diagnostics. */
85
121
  partialRecover?: boolean;
122
+ /**
123
+ * Workspace handle returned by WorkspaceManager.prepare(). Optional for
124
+ * backward compatibility — swarms created before M6 (or when workspace
125
+ * prepare fails) don't have this set; in that case roles still run with
126
+ * `cwd = workDir` (legacy behavior). Role-cwd override lands in M6 T7.
127
+ */
128
+ workspace?: import("./workspace/types.js").WorkspaceHandle;
129
+ /**
130
+ * M6.1: Result of the shipment pipeline that runs once during
131
+ * runRetroAndCleanup (before workspace dispose). Captures whether a draft PR
132
+ * was opened, the branch name, or fallback diff/report paths so M6.2 UI can
133
+ * surface "what was shipped" after the swarm completes.
134
+ */
135
+ shipment?: import("./shipment/shipment-pipeline.js").ShipmentResult;
86
136
  }
87
137
  export interface RoleInstance {
88
138
  /** Unique instance identifier, e.g. "dev-1" */
@@ -160,6 +210,10 @@ export interface CustomRoleDefinition {
160
210
  backend?: "claude" | "codex";
161
211
  /** Optional sandbox level for this custom role; falls back to "workspace-write". */
162
212
  sandbox?: SandboxLevel;
213
+ /** Optional sticky model code; locked at swarm-start. Omitted = adapter default. */
214
+ model?: string;
215
+ /** Optional sticky mode code; aliased per backend. Omitted = adapter uses sandbox or default. */
216
+ mode?: string;
163
217
  }
164
218
  export interface SwarmCreateOptions {
165
219
  workDir?: string;
@@ -176,9 +230,17 @@ export interface SwarmCreateOptions {
176
230
  customDefinition?: CustomRoleDefinition;
177
231
  backend?: "claude" | "codex";
178
232
  sandbox?: SandboxLevel;
233
+ model?: string;
234
+ mode?: string;
179
235
  }>;
180
236
  task?: string;
181
237
  /** When true, this swarm continues from a previously completed/failed swarm on the same session. */
182
238
  isContinuation?: boolean;
239
+ /**
240
+ * PR-B D11 — provenance tag. Defaults to "user" when omitted.
241
+ * always-on cycle callers pass "always-on-cycle"; introspection callers
242
+ * pass "always-on-introspection".
243
+ */
244
+ kind?: SwarmKind;
183
245
  }
184
246
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ export interface WakeupRelayLike {
2
+ deliver(swarmId: string, instanceId: string): void | Promise<void>;
3
+ }
4
+ export interface RestoreSwarm {
5
+ swarmId: string;
6
+ workDir: string;
7
+ }
8
+ export interface RestoreOptions {
9
+ projectRootFor?: (workDir: string, home: string) => string;
10
+ }
11
+ /**
12
+ * In-memory timer registry for delayed inbox deliveries.
13
+ *
14
+ * `wakeup_after` writes an InboxMessage with `notBefore` in the future;
15
+ * readUndelivered filters it until that time. To avoid waiting on the next
16
+ * external deliver() call to discover the wakeup, we register an in-process
17
+ * setTimeout that fires relay.deliver() at notBefore.
18
+ *
19
+ * Persistence: timers are NOT persisted — InboxStore is. On agent startup
20
+ * restoreFromInbox() scans inbox files and re-registers timers for all
21
+ * future-dated messages.
22
+ */
23
+ export declare class WakeupScheduler {
24
+ private relay;
25
+ private timers;
26
+ constructor(relay: WakeupRelayLike);
27
+ private key;
28
+ register(swarmId: string, instanceId: string, notBefore: number): void;
29
+ size(): number;
30
+ /** Count of active timers for (swarmId, instanceId). Used by mcp-server's
31
+ * wrapper to enforce per-instance caps before register. */
32
+ countForInstance(swarmId: string, instanceId: string): number;
33
+ dispose(): void;
34
+ restoreFromInbox(home: string, swarms: RestoreSwarm[], opts?: RestoreOptions): Promise<void>;
35
+ }
36
+ //# sourceMappingURL=wakeup-scheduler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wakeup-scheduler.d.ts","sourceRoot":"","sources":["../src/wakeup-scheduler.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpE;AAED,MAAM,WAAW,YAAY;IAAG,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;CAAE;AACnE,MAAM,WAAW,cAAc;IAC7B,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CAC5D;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,eAAe;IAEd,OAAO,CAAC,KAAK;IADzB,OAAO,CAAC,MAAM,CAAqC;gBAC/B,KAAK,EAAE,eAAe;IAC1C,OAAO,CAAC,GAAG;IACX,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAatE,IAAI,IAAI,MAAM;IACd;gEAC4D;IAC5D,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAM7D,OAAO,IAAI,IAAI;IAET,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,IAAI,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CAuCvG"}
@@ -0,0 +1,107 @@
1
+ import { readdirSync, readFileSync, existsSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ import { createLogger } from "@mclawnet/logger";
4
+ import { projectRoot as defaultProjectRoot } from "@mclawnet/task";
5
+ const log = createLogger({ module: "swarm/wakeup-scheduler" });
6
+ /**
7
+ * In-memory timer registry for delayed inbox deliveries.
8
+ *
9
+ * `wakeup_after` writes an InboxMessage with `notBefore` in the future;
10
+ * readUndelivered filters it until that time. To avoid waiting on the next
11
+ * external deliver() call to discover the wakeup, we register an in-process
12
+ * setTimeout that fires relay.deliver() at notBefore.
13
+ *
14
+ * Persistence: timers are NOT persisted — InboxStore is. On agent startup
15
+ * restoreFromInbox() scans inbox files and re-registers timers for all
16
+ * future-dated messages.
17
+ */
18
+ export class WakeupScheduler {
19
+ relay;
20
+ timers = new Map();
21
+ constructor(relay) {
22
+ this.relay = relay;
23
+ }
24
+ key(s, i, n) { return `${s}::${i}::${n}`; }
25
+ register(swarmId, instanceId, notBefore) {
26
+ const k = this.key(swarmId, instanceId, notBefore);
27
+ if (this.timers.has(k))
28
+ return;
29
+ const delay = Math.max(0, notBefore - Date.now());
30
+ const t = setTimeout(() => {
31
+ this.timers.delete(k);
32
+ Promise.resolve(this.relay.deliver(swarmId, instanceId)).catch(err => {
33
+ log.warn({ err, swarmId, instanceId }, "wakeup deliver failed (best-effort)");
34
+ });
35
+ }, delay);
36
+ t.unref(); // don't keep event loop alive purely for wakeups
37
+ this.timers.set(k, t);
38
+ }
39
+ size() { return this.timers.size; }
40
+ /** Count of active timers for (swarmId, instanceId). Used by mcp-server's
41
+ * wrapper to enforce per-instance caps before register. */
42
+ countForInstance(swarmId, instanceId) {
43
+ const prefix = `${swarmId}::${instanceId}::`;
44
+ let c = 0;
45
+ for (const k of this.timers.keys())
46
+ if (k.startsWith(prefix))
47
+ c++;
48
+ return c;
49
+ }
50
+ dispose() { for (const t of this.timers.values())
51
+ clearTimeout(t); this.timers.clear(); }
52
+ async restoreFromInbox(home, swarms, opts = {}) {
53
+ const resolveRoot = opts.projectRootFor ?? ((wd, h) => defaultProjectRoot(wd, h));
54
+ const now = Date.now();
55
+ let restored = 0;
56
+ for (const { swarmId, workDir } of swarms) {
57
+ // Per-swarm try: any unexpected throw (bad workDir, projectRoot
58
+ // computation, path traversal in encoding, etc) must not short-circuit
59
+ // restoration for the remaining swarms.
60
+ try {
61
+ const inboxDir = join(resolveRoot(workDir, home), "swarms", swarmId, "inboxes");
62
+ if (!existsSync(inboxDir))
63
+ continue;
64
+ let entries;
65
+ try {
66
+ entries = readdirSync(inboxDir);
67
+ }
68
+ catch (err) {
69
+ log.warn({ err, inboxDir }, "WakeupScheduler: readdir failed, skipping swarm");
70
+ continue;
71
+ }
72
+ for (const file of entries) {
73
+ if (!file.endsWith(".json"))
74
+ continue;
75
+ const instanceId = file.slice(0, -5);
76
+ if (!instanceId)
77
+ continue; // skip pathological ".json" name
78
+ let parsed;
79
+ try {
80
+ parsed = JSON.parse(readFileSync(join(inboxDir, file), "utf-8"));
81
+ }
82
+ catch {
83
+ continue;
84
+ }
85
+ if (!Array.isArray(parsed))
86
+ continue; // defensive: skip object/null
87
+ for (const raw of parsed) {
88
+ if (!raw || typeof raw !== "object")
89
+ continue;
90
+ const m = raw;
91
+ if (m.delivered)
92
+ continue;
93
+ if (m.notBefore === undefined || m.notBefore <= now)
94
+ continue;
95
+ this.register(swarmId, instanceId, m.notBefore);
96
+ restored++;
97
+ }
98
+ }
99
+ }
100
+ catch (err) {
101
+ log.warn({ err, swarmId, workDir }, "WakeupScheduler: swarm restore failed, skipping");
102
+ }
103
+ }
104
+ log.info({ restored, swarms: swarms.length }, "WakeupScheduler restored timers from inbox");
105
+ }
106
+ }
107
+ //# sourceMappingURL=wakeup-scheduler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wakeup-scheduler.js","sourceRoot":"","sources":["../src/wakeup-scheduler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { watch } from "node:fs";
2
+ export interface WatchRegistration {
3
+ swarmId: string;
4
+ instanceId: string;
5
+ watchId: string;
6
+ projectRoot: string;
7
+ includeGlobs: string[];
8
+ ignoreGlobs: string[];
9
+ debounceMs: number;
10
+ onTrigger: (matchedPath: string) => void | Promise<void>;
11
+ }
12
+ export interface WatchManagerOptions {
13
+ /** Defaults to native `fs.watch`; tests may inject a fake. */
14
+ watchFn?: typeof watch;
15
+ }
16
+ export declare class WatchManager {
17
+ private handles;
18
+ private watchFn;
19
+ constructor(opts?: WatchManagerOptions);
20
+ size(): number;
21
+ /** Count of active watches for (swarmId, instanceId). Used by the
22
+ * mcp-server wrapper to enforce per-instance caps before register and to
23
+ * decide whether to prune external registries on unregister
24
+ * (`countForInstance(s, i) === 0`). */
25
+ countForInstance(swarmId: string, instanceId: string): number;
26
+ private key;
27
+ register(reg: WatchRegistration): void;
28
+ unregister(swarmId: string, instanceId: string, watchId: string): void;
29
+ unwatchByInstance(swarmId: string, instanceId: string): void;
30
+ dispose(): void;
31
+ }
32
+ //# sourceMappingURL=watch-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch-manager.d.ts","sourceRoot":"","sources":["../src/watch-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,EAAkB,MAAM,SAAS,CAAC;AAM5D,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1D;AAUD,MAAM,WAAW,mBAAmB;IAClC,8DAA8D;IAC9D,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;CACxB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,OAAO,CAAe;gBAElB,IAAI,GAAE,mBAAwB;IAI1C,IAAI,IAAI,MAAM;IAEd;;;4CAGwC;IACxC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAO7D,OAAO,CAAC,GAAG;IAEX,QAAQ,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI;IAwCtC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAStE,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAY5D,OAAO,IAAI,IAAI;CAOhB"}