@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
package/dist/index.d.ts CHANGED
@@ -1,23 +1,49 @@
1
1
  export { SwarmCoordinator } from "./swarm-coordinator.js";
2
2
  export { initRoles, loadRole, listRoles, buildRolePrompt, parseRoleFile, listRolesWithSource, getRoleSource, getRoleRaw, saveRole, deleteRole, } from "./roles/role-loader.js";
3
3
  export type { RoleSource, RoleListItem } from "./roles/role-loader.js";
4
- export { saveSwarmSnapshot, loadSwarmSnapshot, deleteSwarmSnapshot, appendMessageLog, readMessageLog, listRecoverableSwarmIds, } from "./persistence.js";
4
+ export { saveSwarmSnapshot, loadSwarmSnapshot, deleteSwarmSnapshot, appendMessageLog, readMessageLog, listRecoverableSwarmIds, saveShipmentResult, loadShipmentResult, } from "./persistence.js";
5
5
  export type { SwarmSnapshot } from "./persistence.js";
6
+ export type { ShipmentResult } from "./shipment/shipment-pipeline.js";
7
+ export { applyShipment, mergeShipment, discardShipment, } from "./shipment/shipment-actions.js";
8
+ export type { ShipmentActionKind, ShipmentActionInput, ShipmentActionResult, } from "./shipment/shipment-actions.js";
6
9
  export { runRetrospective } from "./retrospective.js";
7
10
  export type { RetrospectiveResult, RoleEvaluation } from "./retrospective.js";
11
+ export { createDraftPR } from "./shipment/gh-pr-creator.js";
12
+ export type { CreateDraftPRInput, CreateDraftPRReturn, CreateDraftPROptions, CommandRunnerWithStdin, } from "./shipment/gh-pr-creator.js";
8
13
  export { listRecoverableSwarms, recoverSwarm } from "./recovery.js";
9
14
  export { InboxStore } from "./inbox-store.js";
10
15
  export type { InboxMessage } from "./inbox-store.js";
11
16
  export { pickStrongestStatus } from "./plan-sync.js";
12
17
  export { InboxRelay } from "./inbox-relay.js";
13
18
  export { InboxWatcher, type InboxRelayLike as InboxWatcherRelayLike } from "./inbox-watcher.js";
14
- export type { SessionAdapter, HubAdapter, SwarmInstance, RoleInstance, SwarmAction, SwarmMessage, SwarmCreateOptions, RouteEndpoint, SwarmStatus, PlanStatus, } from "./types.js";
19
+ export { WakeupScheduler, type WakeupRelayLike } from "./wakeup-scheduler.js";
20
+ export { WatchManager, type WatchRegistration, type WatchManagerOptions } from "./watch-manager.js";
21
+ export { DiscoveryScheduler } from "./always-on/discovery-scheduler.js";
22
+ export { DEFAULT_DAILY_BUDGET, DEFAULT_TICK_INTERVAL_MS, RECENT_TICKS_CAP, } from "./always-on/types.js";
23
+ export type { AlwaysOnMode, GateDecision, GateContext, Gate, TickRecord, DiscoverySchedulerOptions, DiscoverySchedulerSnapshot, } from "./always-on/types.js";
24
+ export { loadAlwaysOnConfig, saveAlwaysOnConfig, mergeAlwaysOnConfig, alwaysOnConfigPath, localYMD, DEFAULT_ALWAYS_ON_CONFIG, DEFAULT_ALWAYS_ON_TEMPLATE, DEFAULT_ALWAYS_ON_TASK_SOURCES, DEFAULT_INTROSPECTION_COOLDOWN_HOURS, resolveTaskSources, } from "./always-on/config.js";
25
+ export type { AlwaysOnConfig, AlwaysOnTaskSourcesConfig, AlwaysOnRuntimeState, AlwaysOnPersistedConfig, } from "./always-on/config.js";
26
+ export { AlwaysOnManager } from "./always-on/always-on-manager.js";
27
+ export type { AlwaysOnManagerOptions } from "./always-on/always-on-manager.js";
28
+ export { WorkCycleRunner } from "./always-on/workcycle-runner.js";
29
+ export type { WorkCycleInput, WorkCycleResult, WorkCycleRunnerOptions, TaskRef, Logger as WorkCycleRunnerLogger, } from "./always-on/workcycle-runner.js";
30
+ export type { TaskSource, TaskSourceKind, TaskRef as CascadeTaskRef } from "./always-on/task-sources/types.js";
31
+ export { createCascadePicker, type CascadePicker, type CascadePickResult, type CascadePickerLogger, } from "./always-on/task-sources/cascade-picker.js";
32
+ export { createTaskStoreSource, type TaskStoreSourceOptions, } from "./always-on/task-sources/task-store-source.js";
33
+ export { createIdeaTodoSource, markIdeaResearching, sortIdeasForPicking, type IdeaTodoSourceOptions, } from "./always-on/task-sources/idea-todo-source.js";
34
+ export { createIdeaResearchSource, sortIdeasForResearch, parseReportFrontmatter, normaliseConclusion, type IdeaResearchSourceOptions, } from "./always-on/task-sources/idea-research-source.js";
35
+ export { createIntrospectionSource, parseCandidatesOutput, buildIntrospectionTaskPrompt, INTROSPECTION_TEMPLATE_NAME, INTROSPECTION_SOURCE_TAG, INTROSPECTION_SOURCE_ROLE, INTROSPECTION_MAX_IDEAS, type IntrospectionSourceOptions, type IntrospectionCandidate, } from "./always-on/task-sources/introspection-source.js";
36
+ export { reconcileOrphanedResearching, type ReconcileOptions, type ReconcileReport, type ReconcileLogger, } from "./always-on/reconcile-researching.js";
37
+ export type { IdeasClient, IdeasListFilter, IdeasPatch, Idea, IdeaStatus, IdeaPriority, CreateIdeaInput, ResearchRef, ResearchKind, ResearchConclusion, } from "./always-on/ideas-client.js";
38
+ export type { SessionAdapter, HubAdapter, SwarmInstance, RoleInstance, SwarmAction, SwarmMessage, SwarmCreateOptions, RouteEndpoint, SwarmStatus, PlanStatus, SwarmKind, } from "./types.js";
15
39
  export type { RoleDefinition, DelegationMap, DelegationEntry } from "./roles/types.js";
16
- export { initTemplates, listTemplates, loadTemplate, listTemplatesWithSource, getTemplateSource, getTemplateRaw, saveTemplate, deleteTemplate, } from "./templates/template-loader.js";
40
+ export { listTemplates, loadTemplate, listTemplatesWithSource, getTemplateSource, getTemplateRaw, saveTemplate, deleteTemplate, } from "./templates/template-loader.js";
17
41
  export type { TemplateDefinition, TemplateRoleSpec } from "./templates/types.js";
18
42
  export type { TemplateSource, TemplateListItem } from "./templates/template-loader.js";
19
43
  export { listProjectDirs, resolveWorkDir, loadProjectSummary, loadSwarmSummaries, listAllProjectSummaries, } from "./projects-fs.js";
20
44
  export type { TaskStatus, TaskCounts, ProjectSummary, SwarmSummary, } from "./projects-fs.js";
21
45
  export { PROJECT_FILE_WHITELIST, isWhitelistedRelPath, listProjectFiles, readProjectFile, writeProjectFile, ProjectFilesError, } from "./project-files.js";
22
46
  export type { ProjectFileRelPath, ProjectFileEntry, ProjectFileContent, } from "./project-files.js";
47
+ export { WorkspaceManager, GitWorktreeProvider, SnapshotCopyProvider, } from "./workspace/index.js";
48
+ export type { WorkspaceHandle, WorkspaceProvider, WorkspaceStrategy, WorkspacePrepareInput, } from "./workspace/index.js";
23
49
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EACrE,mBAAmB,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,GACrE,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,KAAK,cAAc,IAAI,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEhG,YAAY,EACV,cAAc,EACd,UAAU,EACV,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,WAAW,EACX,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEvF,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EACjD,uBAAuB,EAAE,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,GACzF,MAAM,gCAAgC,CAAC;AACxC,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACjF,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEvF,OAAO,EACL,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,UAAU,EACV,UAAU,EACV,cAAc,EACd,YAAY,GACb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,14 +1,39 @@
1
1
  // @mclawnet/swarm — Swarm coordination, message routing, and role management
2
2
  export { SwarmCoordinator } from "./swarm-coordinator.js";
3
3
  export { initRoles, loadRole, listRoles, buildRolePrompt, parseRoleFile, listRolesWithSource, getRoleSource, getRoleRaw, saveRole, deleteRole, } from "./roles/role-loader.js";
4
- export { saveSwarmSnapshot, loadSwarmSnapshot, deleteSwarmSnapshot, appendMessageLog, readMessageLog, listRecoverableSwarmIds, } from "./persistence.js";
4
+ export { saveSwarmSnapshot, loadSwarmSnapshot, deleteSwarmSnapshot, appendMessageLog, readMessageLog, listRecoverableSwarmIds, saveShipmentResult, loadShipmentResult, } from "./persistence.js";
5
+ export { applyShipment, mergeShipment, discardShipment, } from "./shipment/shipment-actions.js";
5
6
  export { runRetrospective } from "./retrospective.js";
7
+ // PR-A: re-export gh-pr-creator so chat-session worktree ship can reuse the
8
+ // same git push + gh pr create logic without depending on SwarmInstance.
9
+ export { createDraftPR } from "./shipment/gh-pr-creator.js";
6
10
  export { listRecoverableSwarms, recoverSwarm } from "./recovery.js";
7
11
  export { InboxStore } from "./inbox-store.js";
8
12
  export { pickStrongestStatus } from "./plan-sync.js";
9
13
  export { InboxRelay } from "./inbox-relay.js";
10
14
  export { InboxWatcher } from "./inbox-watcher.js";
11
- export { initTemplates, listTemplates, loadTemplate, listTemplatesWithSource, getTemplateSource, getTemplateRaw, saveTemplate, deleteTemplate, } from "./templates/template-loader.js";
15
+ export { WakeupScheduler } from "./wakeup-scheduler.js";
16
+ export { WatchManager } from "./watch-manager.js";
17
+ // M7.0 always-on primitive (no swarm wiring yet; M7.1 will wire onFire).
18
+ export { DiscoveryScheduler } from "./always-on/discovery-scheduler.js";
19
+ export { DEFAULT_DAILY_BUDGET, DEFAULT_TICK_INTERVAL_MS, RECENT_TICKS_CAP, } from "./always-on/types.js";
20
+ // M7.2 always-on per-project config persistence.
21
+ export { loadAlwaysOnConfig, saveAlwaysOnConfig, mergeAlwaysOnConfig, alwaysOnConfigPath, localYMD, DEFAULT_ALWAYS_ON_CONFIG, DEFAULT_ALWAYS_ON_TEMPLATE, DEFAULT_ALWAYS_ON_TASK_SOURCES, DEFAULT_INTROSPECTION_COOLDOWN_HOURS, resolveTaskSources, } from "./always-on/config.js";
22
+ // M7.3 per-project scheduler lifecycle owner.
23
+ export { AlwaysOnManager } from "./always-on/always-on-manager.js";
24
+ // M7.1 work-cycle runner — bridges DiscoveryScheduler.onFire to swarm spawn.
25
+ export { WorkCycleRunner } from "./always-on/workcycle-runner.js";
26
+ export { createCascadePicker, } from "./always-on/task-sources/cascade-picker.js";
27
+ export { createTaskStoreSource, } from "./always-on/task-sources/task-store-source.js";
28
+ export { createIdeaTodoSource, markIdeaResearching, sortIdeasForPicking, } from "./always-on/task-sources/idea-todo-source.js";
29
+ // M8.1 — research cycle task source.
30
+ export { createIdeaResearchSource, sortIdeasForResearch, parseReportFrontmatter, normaliseConclusion, } from "./always-on/task-sources/idea-research-source.js";
31
+ // M8.2 — queen self-introspection task source.
32
+ export { createIntrospectionSource, parseCandidatesOutput, buildIntrospectionTaskPrompt, INTROSPECTION_TEMPLATE_NAME, INTROSPECTION_SOURCE_TAG, INTROSPECTION_SOURCE_ROLE, INTROSPECTION_MAX_IDEAS, } from "./always-on/task-sources/introspection-source.js";
33
+ // M8 hotfix I6 — boot reconciliation for orphaned status=researching ideas.
34
+ export { reconcileOrphanedResearching, } from "./always-on/reconcile-researching.js";
35
+ export { listTemplates, loadTemplate, listTemplatesWithSource, getTemplateSource, getTemplateRaw, saveTemplate, deleteTemplate, } from "./templates/template-loader.js";
12
36
  export { listProjectDirs, resolveWorkDir, loadProjectSummary, loadSwarmSummaries, listAllProjectSummaries, } from "./projects-fs.js";
13
37
  export { PROJECT_FILE_WHITELIST, isWhitelistedRelPath, listProjectFiles, readProjectFile, writeProjectFile, ProjectFilesError, } from "./project-files.js";
38
+ export { WorkspaceManager, GitWorktreeProvider, SnapshotCopyProvider, } from "./workspace/index.js";
14
39
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAE7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EACrE,mBAAmB,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,GACrE,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAgD,MAAM,oBAAoB,CAAC;AAiBhG,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EACjD,uBAAuB,EAAE,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,GACzF,MAAM,gCAAgC,CAAC;AAIxC,OAAO,EACL,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
- import type { SwarmInstance, SwarmStatus, PlanStatus } from "./types.js";
1
+ import type { SwarmInstance, SwarmStatus, PlanStatus, SwarmKind } from "./types.js";
2
2
  import type { SandboxLevel } from "@mclawnet/shared";
3
+ import type { WorkspaceHandle } from "./workspace/types.js";
4
+ import type { ShipmentResult } from "./shipment/shipment-pipeline.js";
3
5
  export interface SwarmSnapshot {
4
6
  id: string;
5
7
  hubSessionId: string;
@@ -21,11 +23,45 @@ export interface SwarmSnapshot {
21
23
  savedAt: number;
22
24
  status?: SwarmStatus;
23
25
  planStatus?: PlanStatus;
26
+ /**
27
+ * PR-B D11 — provenance tag. Optional for back-compat: pre-D11
28
+ * snapshots restore as `kind: "user"` via the recover path default.
29
+ */
30
+ kind?: SwarmKind;
24
31
  partialRecover?: boolean;
32
+ /**
33
+ * M6 T8: per-swarm workspace handle (git-worktree or snapshot-copy). When
34
+ * present, recover() can re-adopt the existing on-disk workspace instead of
35
+ * re-preparing it (which would either fail or overwrite user state).
36
+ */
37
+ workspace?: WorkspaceHandle;
38
+ /**
39
+ * M6.1: One-shot shipment outcome (PR opened, fallback diff written, or
40
+ * skipped). Populated when SwarmCoordinator.runRetroAndCleanup runs the
41
+ * ShipmentPipeline before destroying the workspace; restored on recover()
42
+ * so the M6.2 UI can show past shipments without re-running shipment.
43
+ */
44
+ shipment?: ShipmentResult;
25
45
  }
26
46
  export declare function saveSwarmSnapshot(swarm: SwarmInstance): void;
27
47
  export declare function loadSwarmSnapshot(workDir: string, swarmId: string): SwarmSnapshot | null;
28
48
  export declare function deleteSwarmSnapshot(workDir: string, swarmId: string): void;
49
+ /**
50
+ * M6.2.0: Persist ShipmentResult to a dedicated `shipment.json` next to
51
+ * `messages.jsonl`. This file is *not* removed by `deleteSwarmSnapshot`, so
52
+ * the M6.2 UI can read past shipment outcomes (PR url / diff path / report)
53
+ * after `runRetroAndCleanup` has torn down the recovery snapshot.
54
+ *
55
+ * Lifecycle mirrors messages.jsonl: written during cleanup, preserved on
56
+ * destroy, only removed when an operator manually wipes the swarm dir.
57
+ */
58
+ export declare function saveShipmentResult(workDir: string, swarmId: string, result: ShipmentResult): void;
59
+ /**
60
+ * Read the persisted ShipmentResult, if any. Returns `null` when shipment
61
+ * never ran (file missing) or the file is corrupt — callers treat both as
62
+ * "no shipment available".
63
+ */
64
+ export declare function loadShipmentResult(workDir: string, swarmId: string): ShipmentResult | null;
29
65
  export declare function readMessageLog(workDir: string, swarmId: string): object[];
30
66
  export declare function appendMessageLog(workDir: string, swarmId: string, entry: object): void;
31
67
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../src/persistence.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAgBrD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,KAAK,CAAC;QACX,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;QAC1B,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;QAC7B,OAAO,CAAC,EAAE,YAAY,CAAC;KACxB,CAAC,CAAC;IACH,IAAI,EAAE,OAAO,CAAC;IACd,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CA8C5D;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAgBxF;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAK1E;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAkBzE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAItF;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,IAAI,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAyCrF"}
1
+ {"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../src/persistence.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACpF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAgBtE,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,KAAK,CAAC;QACX,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;QAC1B,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;QAC7B,OAAO,CAAC,EAAE,YAAY,CAAC;KACxB,CAAC,CAAC;IACH,IAAI,EAAE,OAAO,CAAC;IACd,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;OAIG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAiD5D;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAgBxF;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAK1E;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,cAAc,GACrB,IAAI,CAgBN;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,cAAc,GAAG,IAAI,CAYvB;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAkBzE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAItF;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,IAAI,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAyCrF"}
@@ -41,7 +41,10 @@ export function saveSwarmSnapshot(swarm) {
41
41
  savedAt: Date.now(),
42
42
  status: swarm.status,
43
43
  planStatus: swarm.planStatus,
44
+ kind: swarm.kind ?? "user",
44
45
  partialRecover: swarm.partialRecover,
46
+ workspace: swarm.workspace,
47
+ shipment: swarm.shipment,
45
48
  };
46
49
  // Atomic write: write to a unique tmp file in the same dir, then rename
47
50
  // over the target. rename(2) within a filesystem is atomic — readers either
@@ -85,6 +88,51 @@ export function deleteSwarmSnapshot(workDir, swarmId) {
85
88
  rmSync(recoveryPath);
86
89
  }
87
90
  }
91
+ /**
92
+ * M6.2.0: Persist ShipmentResult to a dedicated `shipment.json` next to
93
+ * `messages.jsonl`. This file is *not* removed by `deleteSwarmSnapshot`, so
94
+ * the M6.2 UI can read past shipment outcomes (PR url / diff path / report)
95
+ * after `runRetroAndCleanup` has torn down the recovery snapshot.
96
+ *
97
+ * Lifecycle mirrors messages.jsonl: written during cleanup, preserved on
98
+ * destroy, only removed when an operator manually wipes the swarm dir.
99
+ */
100
+ export function saveShipmentResult(workDir, swarmId, result) {
101
+ const dir = getSwarmDir(workDir, swarmId);
102
+ mkdirSync(dir, { recursive: true });
103
+ const finalPath = join(dir, "shipment.json");
104
+ const tmpPath = join(dir, `shipment.${randomBytes(6).toString("hex")}.tmp`);
105
+ writeFileSync(tmpPath, JSON.stringify(result, null, 2));
106
+ try {
107
+ renameSync(tmpPath, finalPath);
108
+ }
109
+ catch (err) {
110
+ try {
111
+ rmSync(tmpPath, { force: true });
112
+ }
113
+ catch {
114
+ // ignore
115
+ }
116
+ throw err;
117
+ }
118
+ }
119
+ /**
120
+ * Read the persisted ShipmentResult, if any. Returns `null` when shipment
121
+ * never ran (file missing) or the file is corrupt — callers treat both as
122
+ * "no shipment available".
123
+ */
124
+ export function loadShipmentResult(workDir, swarmId) {
125
+ const filePath = join(getSwarmDir(workDir, swarmId), "shipment.json");
126
+ if (!existsSync(filePath))
127
+ return null;
128
+ try {
129
+ return JSON.parse(readFileSync(filePath, "utf-8"));
130
+ }
131
+ catch (err) {
132
+ log.warn({ err: err instanceof Error ? err.message : String(err), filePath, swarmId, workDir }, "loadShipmentResult: failed to parse shipment.json — returning null");
133
+ return null;
134
+ }
135
+ }
88
136
  export function readMessageLog(workDir, swarmId) {
89
137
  const filePath = join(getSwarmDir(workDir, swarmId), "messages.jsonl");
90
138
  if (!existsSync(filePath))
@@ -1 +1 @@
1
- {"version":3,"file":"persistence.js","sourceRoot":"","sources":["../src/persistence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persistence.js","sourceRoot":"","sources":["../src/persistence.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"retrospective.d.ts","sourceRoot":"","sources":["../src/retrospective.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAOtD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,eAAe,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,eAAe,CAAC,EAAE,wBAAwB,EAAE,CAAC;CAC9C;AAID,eAAO,MAAM,oBAAoB,+rGAmD/B,CAAC;AAIH;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAiBvE;AAuDD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAAE,EAClB,QAAQ,EAAE,aAAa,GACtB,mBAAmB,CAoCrB;AA+HD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC;CACtC,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAuEtC"}
1
+ {"version":3,"file":"retrospective.d.ts","sourceRoot":"","sources":["../src/retrospective.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAOtD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,eAAe,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,eAAe,CAAC,EAAE,wBAAwB,EAAE,CAAC;CAC9C;AAID,eAAO,MAAM,oBAAoB,+rGAmD/B,CAAC;AAIH;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAiBvE;AAuDD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAAE,EAClB,QAAQ,EAAE,aAAa,GACtB,mBAAmB,CAoCrB;AA+HD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC;CACtC,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CA6EtC"}
@@ -262,6 +262,12 @@ export async function runRetrospective(options) {
262
262
  return reject(err);
263
263
  resolve(out);
264
264
  });
265
+ // EPIPE safety (matches claude-process PR #181 pattern): if the claude
266
+ // CLI dies before we finish writing the prompt (segfault, OOM, bad
267
+ // env), stdin emits 'error' and — without a listener — Node crashes
268
+ // the agent process. Route to reject; Promise dedupes naturally if
269
+ // execFile's err callback also fires later.
270
+ child.stdin.on("error", reject);
265
271
  child.stdin.end(prompt);
266
272
  });
267
273
  // The claude CLI with --output-format json returns a JSON object
@@ -1 +1 @@
1
- {"version":3,"file":"retrospective.js","sourceRoot":"","sources":["../src/retrospective.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retrospective.js","sourceRoot":"","sources":["../src/retrospective.ts"],"names":[],"mappings":"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"}
@@ -10,25 +10,50 @@ import type { RoleDefinition } from "./types.js";
10
10
  */
11
11
  export declare function parseRoleFile(content: string): RoleDefinition;
12
12
  /**
13
- * Ensure user role directory exists and preset templates are copied.
14
- * Returns the user roles directory path.
13
+ * Ensure user role directory exists.
14
+ *
15
+ * Presets live inside the npm package (read-only). User-authored roles live in
16
+ * `~/.clawnet/roles/<name>/CLAUDE.md`. We deliberately do NOT seed presets into
17
+ * the user dir: a preset and a user role with the same name is forbidden at
18
+ * save time, so the union over the two dirs is conflict-free.
15
19
  */
16
20
  export declare function initRoles(): string;
17
21
  /** Load a role definition by name. Reads from ~/.clawnet/roles/{name}/CLAUDE.md first, falls back to preset. */
18
22
  export declare function loadRole(roleName: string): RoleDefinition;
19
23
  /** List all available role names (from user dir + presets). */
20
24
  export declare function listRoles(): string[];
21
- export type RoleSource = "preset" | "user" | "override";
25
+ export type RoleSource = "preset" | "user";
22
26
  export interface RoleListItem {
23
27
  name: string;
24
28
  source: RoleSource;
29
+ /**
30
+ * True when a user-authored role with this name hides a built-in preset of
31
+ * the same name (legacy state — saveRole now refuses such writes). Lets the
32
+ * UI warn the user they're masking a built-in.
33
+ */
34
+ shadowsPreset?: boolean;
25
35
  }
26
- /** List all roles with source tag (preset / user / override). */
36
+ /**
37
+ * List all roles with source tag.
38
+ *
39
+ * Presets live in the npm package; user roles in `~/.clawnet/roles/`. Names
40
+ * must be globally unique going forward (enforced at save time). If a stale
41
+ * user dir collides with a preset (pre-refactor seeded copy, manual file),
42
+ * the user copy wins and the entry is flagged with `shadowsPreset` so the UI
43
+ * can surface the conflict.
44
+ */
27
45
  export declare function listRolesWithSource(): RoleListItem[];
28
46
  export declare function getRoleSource(name: string): RoleSource | null;
29
47
  /** Get raw markdown content. User file wins over preset. */
30
48
  export declare function getRoleRaw(name: string): string | null;
31
- /** Validate by parsing first; throws on bad frontmatter or name mismatch. */
49
+ /**
50
+ * Save a user role.
51
+ *
52
+ * Validates by parsing first; throws on bad frontmatter or name mismatch.
53
+ * Refuses to write if the requested name collides with a built-in preset —
54
+ * presets are immutable, so "edit a preset" is implemented by Copy with a
55
+ * new name.
56
+ */
32
57
  export declare function saveRole(name: string, raw: string): RoleSource;
33
58
  /**
34
59
  * Delete a user role directory. Preset is never touched.
@@ -44,7 +69,7 @@ export declare function deleteRole(name: string): {
44
69
  * Replaces the legacy in-band ```swarm``` action blocks previously
45
70
  * duplicated across each role md.
46
71
  */
47
- export declare const INBOX_PROTOCOL_PREAMBLE = "\n\n### Inbox \u901A\u4FE1\u534F\u8BAE\n\n\u4F60\u4E0E\u8702\u7FA4\u5176\u4ED6\u6210\u5458\u3001user\u3001\u7CFB\u7EDF\u7684\u5168\u90E8\u901A\u4FE1\u90FD\u901A\u8FC7 **inbox \u6D88\u606F**\u8FDB\u884C\u3002\u6BCF\u5F53\u6709\u65B0\u6D88\u606F\u5230\u8FBE\uFF0C\u7CFB\u7EDF\u4F1A\u4EE5\u4E0B\u9762\u7684\u4FE1\u5C01\u6CE8\u5165\u5230\u4F60\u7684\u4E0B\u4E00\u8F6E\u8F93\u5165\uFF1A\n\n```xml\n<info_for_agent>\n <message id=\"...\" type=\"...\" from=\"...\" taskId=\"...\">\n <data>JSON-encoded payload</data>\n </message>\n ...\n</info_for_agent>\n```\n\n#### \u4F60\u4F1A\u6536\u5230\u7684\u6D88\u606F\u7C7B\u578B\n\n- **`task_assigned`** \u2014 \u4F60\u88AB\u6307\u6D3E\u4E86\u4E00\u4E2A\u65B0\u4EFB\u52A1\u3002`data` \u542B `{ taskId, subject, description }`\u3002**\u6536\u5230\u540E\u7B2C\u4E00\u6B65\u5148\u7528 `task_set_status` \u628A\u72B6\u6001\u6539\u4E3A `in_progress`**\uFF08\u8BA9 queen \u77E5\u9053\u4F60\u5DF2\u63A5\u6D3B\uFF09\uFF0C\u518D\u5F00\u59CB\u6267\u884C\uFF1B**\u5B8C\u6210\u7684\u6700\u540E\u4E00\u6B65\u5FC5\u987B\u662F `task_set_status({ status: \"completed\" })` + `task_add_comment({ body: \u6458\u8981 })`**\u2014\u2014\u5149\u5199\u5B8C\u4EE3\u7801/\u6587\u6863\u4E0D\u7B97\u4EA4\u4ED8\uFF0Cqueen \u53EA\u80FD\u901A\u8FC7\u72B6\u6001\u53D8\u5316\u8BC6\u522B\u4F60\u5B8C\u5DE5\uFF0C\u5426\u5219\u4F1A\u53CD\u590D nudge \u4F60\u3002\n- **`task_status_changed`** \u2014 \u4F60\u4E0B\u5C5E/\u76F8\u5173\u4EFB\u52A1\u7684\u72B6\u6001\u53D8\u5316\uFF08\u901A\u5E38\u53D1\u7ED9 queen\uFF09\u3002`data` \u542B `{ taskId, status, owner, subject }`\u3002\n- **`task_owner_set`** \u2014 \u4EFB\u52A1\u88AB\uFF08\u91CD\u65B0\uFF09\u5206\u914D\u7ED9\u4F60\u3002`data` \u542B `{ taskId, owner, subject }`\u3002\u7B49\u540C\u4E8E `task_assigned` \u7684\u8F6C\u4EA4\u8BED\u4E49\uFF08\u540C\u6837\u9700\u8981\u5148\u628A\u72B6\u6001\u6539\u4E3A `in_progress` \u518D\u5F00\u5DE5\uFF09\u3002\n- **`task_comment`** \u2014 \u4EFB\u52A1\u4E0A\u6709\u4EBA\u53D1\u8BC4\u8BBA\u3002`data` \u542B `{ taskId, commentId, author, body, type }`\u3002\n- **`unblock-*`** \u2014 \u4E0A\u6E38\u4EFB\u52A1\u5B8C\u6210\uFF0C\u4E0B\u6E38\u88AB\u89E3\u9501\u3002`data` \u63CF\u8FF0\u88AB\u89E3\u9501\u7684\u4EFB\u52A1\u3002\n- \u5176\u5B83\u7CFB\u7EDF\u6D88\u606F\uFF08\u5982 user \u7684\u76F4\u63A5\u8F93\u5165\uFF09\u4E5F\u4F1A\u4EE5 `<info_for_agent>` \u4FE1\u5C01\u5230\u8FBE\u3002\n\n#### \u4F60\u5E94\u8BE5\u4F7F\u7528\u7684 MCP \u5DE5\u5177\uFF08\u66FF\u4EE3\u65E7\u7684 ```swarm``` \u5757\uFF09\n\n| \u65E7 action \u5757 | \u65B0 MCP \u5DE5\u5177 |\n|---|---|\n| `{\"action\":\"send\", to, type, data, taskId}` | `mcp__clawnet-mcp__message_send({ workDir, swarmId, from, to, type, data, taskId? })` |\n| `{\"action\":\"report\", status, taskId, output}` | `mcp__clawnet-mcp__task_set_status({ workDir, taskId, status })` + \u53EF\u9009 `mcp__clawnet-mcp__task_add_comment({ workDir, taskId, author, body })` |\n| \u6D3E\u53D1\u65B0\u4EFB\u52A1 | `mcp__clawnet-mcp__task_create({ workDir, teamName, subject, description?, swarmId, owner, blockedBy?, from })` \u2014 \u4F1A\u81EA\u52A8\u7ED9 owner \u5199 `task_assigned`\u3002**\u4EC5 queen \u53EF\u8C03\u7528**\uFF08`from` \u5FC5\u987B\u4EE5 `queen-` \u5F00\u5934\uFF09\u3002 |\n| \u8F6C\u4EA4\u4EFB\u52A1 | `mcp__clawnet-mcp__task_set_owner({ workDir, taskId, owner, from })` \u2014 \u4F1A\u7ED9\u65B0 owner \u5199 `task_owner_set`\u3002**\u4EC5 queen \u53EF\u8C03\u7528**\u3002 |\n| \u8BC4\u8BBA | `mcp__clawnet-mcp__task_add_comment({ workDir, taskId, author, body, type? })` \u2014 \u4F1A\u7ED9 owner+queen \u5199 `task_comment` |\n| \u67E5\u8BE2 | `mcp__clawnet-mcp__task_get` / `task_list` / `task_briefing` |\n| \u63D0\u4EA4\u8BA1\u5212\u5BA1\u67E5\u7ED3\u679C | `mcp__clawnet-mcp__plan_review_submit({ workDir, swarmId, from, verdict: \"approved\" | \"rejected\", body? })` \u2014 **\u4EC5 reviewer \u53EF\u8C03\u7528**\uFF08`from` \u5FC5\u987B\u4EE5 `reviewer` \u5F00\u5934\uFF09\u3002\u6536\u5230 `plan_review` \u6D88\u606F\u540E\u7528\u6B64\u5DE5\u5177\u56DE\u590D\uFF0C**\u4E0D\u8981**\u518D\u7528 `report` action\u3002 |\n\n#### \u5173\u952E\u89C4\u5219\n\n- **\u7981\u6B62\u8F93\u51FA ```swarm``` \u4EE3\u7801\u5757\u3002** \u65E7\u7684 in-band action \u534F\u8BAE\u5DF2\u88AB\u5E9F\u5F03\uFF1B\u4F7F\u7528\u4E0A\u9762\u7684 MCP \u5DE5\u5177\u8C03\u7528\u3002\n- **Queen \u7684 plan JSON \u8F93\u51FA\u4ECD\u7136\u6709\u6548**\uFF1A\u5F53\u4F60\u9700\u8981\u53D1\u5E03\u6267\u884C\u8BA1\u5212\u65F6\uFF0C\u8F93\u51FA ```json { \"plan\": {...} } ``` \u5757\uFF1B\u8FD9\u662F\u552F\u4E00\u4FDD\u7559\u7684 in-band \u534F\u8BAE\u3002\n- **MCP \u5DE5\u5177\u7684 `workDir` / `swarmId` / `from` \u53C2\u6570**\uFF1A\u89C1\u672C\u63D0\u793A\u5F00\u5934\u7684\u300C\u5F53\u524D swarm \u6807\u8BC6\u300D\u6BB5\uFF0C\u7167\u6284 `swarmId` \u4E0E `workDir` \u5373\u53EF\uFF0C**\u4E0D\u8981\u81EA\u884C\u7F16\u9020**\uFF1B`from` \u7528\u4F60\u81EA\u5DF1\u7684 instanceId\u3002\n- **\u5E42\u7B49\u6027**\uFF1A\u6240\u6709 task_* \u5DE5\u5177\u90FD\u662F\u5E42\u7B49\u7684\uFF08\u57FA\u4E8E\u7A33\u5B9A id\uFF09\uFF0C\u91CD\u8BD5\u5B89\u5168\u3002\n- **\u4E0D\u8981\u5728 `data` / `body` \u5B57\u6BB5\u91CC\u5D4C\u5957\u4E09\u4E2A\u53CD\u5F15\u53F7**\u2014\u2014\u4F1A\u7834\u574F\u5916\u5C42 markdown \u6E32\u67D3\u3002\n";
72
+ export declare const INBOX_PROTOCOL_PREAMBLE = "\n\n### Inbox \u901A\u4FE1\u534F\u8BAE\n\n\u4F60\u4E0E\u8702\u7FA4\u5176\u4ED6\u6210\u5458\u3001user\u3001\u7CFB\u7EDF\u7684\u5168\u90E8\u901A\u4FE1\u90FD\u901A\u8FC7 **inbox \u6D88\u606F**\u8FDB\u884C\u3002\u6BCF\u5F53\u6709\u65B0\u6D88\u606F\u5230\u8FBE\uFF0C\u7CFB\u7EDF\u4F1A\u4EE5\u4E0B\u9762\u7684\u4FE1\u5C01\u6CE8\u5165\u5230\u4F60\u7684\u4E0B\u4E00\u8F6E\u8F93\u5165\uFF1A\n\n```xml\n<info_for_agent>\n <message id=\"...\" type=\"...\" from=\"...\" taskId=\"...\">\n <data>JSON-encoded payload</data>\n </message>\n ...\n</info_for_agent>\n```\n\n#### \u4F60\u4F1A\u6536\u5230\u7684\u6D88\u606F\u7C7B\u578B\n\n- **`task_assigned`** \u2014 \u4F60\u88AB\u6307\u6D3E\u4E86\u4E00\u4E2A\u65B0\u4EFB\u52A1\u3002`data` \u542B `{ taskId, subject, description }`\u3002**\u6536\u5230\u540E\u7B2C\u4E00\u6B65\u5148\u7528 `task_set_status` \u628A\u72B6\u6001\u6539\u4E3A `in_progress`**\uFF08\u8BA9 queen \u77E5\u9053\u4F60\u5DF2\u63A5\u6D3B\uFF09\uFF0C\u518D\u5F00\u59CB\u6267\u884C\uFF1B**\u5B8C\u6210\u7684\u6700\u540E\u4E00\u6B65\u5FC5\u987B\u662F `task_set_status({ status: \"completed\" })` + `task_add_comment({ body: \u6458\u8981 })`**\u2014\u2014\u5149\u5199\u5B8C\u4EE3\u7801/\u6587\u6863\u4E0D\u7B97\u4EA4\u4ED8\uFF0Cqueen \u53EA\u80FD\u901A\u8FC7\u72B6\u6001\u53D8\u5316\u8BC6\u522B\u4F60\u5B8C\u5DE5\uFF0C\u5426\u5219\u4F1A\u53CD\u590D nudge \u4F60\u3002\n- **`task_status_changed`** \u2014 \u4F60\u4E0B\u5C5E/\u76F8\u5173\u4EFB\u52A1\u7684\u72B6\u6001\u53D8\u5316\uFF08\u901A\u5E38\u53D1\u7ED9 queen\uFF09\u3002`data` \u542B `{ taskId, status, owner, subject }`\u3002\n- **`task_owner_set`** \u2014 \u4EFB\u52A1\u88AB\uFF08\u91CD\u65B0\uFF09\u5206\u914D\u7ED9\u4F60\u3002`data` \u542B `{ taskId, owner, subject }`\u3002\u7B49\u540C\u4E8E `task_assigned` \u7684\u8F6C\u4EA4\u8BED\u4E49\uFF08\u540C\u6837\u9700\u8981\u5148\u628A\u72B6\u6001\u6539\u4E3A `in_progress` \u518D\u5F00\u5DE5\uFF09\u3002\n- **`task_comment`** \u2014 \u4EFB\u52A1\u4E0A\u6709\u4EBA\u53D1\u8BC4\u8BBA\u3002`data` \u542B `{ taskId, commentId, author, body, type }`\u3002\n- **`unblock-*`** \u2014 \u4E0A\u6E38\u4EFB\u52A1\u5B8C\u6210\uFF0C\u4E0B\u6E38\u88AB\u89E3\u9501\u3002`data` \u63CF\u8FF0\u88AB\u89E3\u9501\u7684\u4EFB\u52A1\u3002\n- \u5176\u5B83\u7CFB\u7EDF\u6D88\u606F\uFF08\u5982 user \u7684\u76F4\u63A5\u8F93\u5165\uFF09\u4E5F\u4F1A\u4EE5 `<info_for_agent>` \u4FE1\u5C01\u5230\u8FBE\u3002\n\n#### \u4F60\u5E94\u8BE5\u4F7F\u7528\u7684 MCP \u5DE5\u5177\uFF08\u66FF\u4EE3\u65E7\u7684 ```swarm``` \u5757\uFF09\n\n| \u65E7 action \u5757 | \u65B0 MCP \u5DE5\u5177 |\n|---|---|\n| `{\"action\":\"send\", to, type, data, taskId}` | `mcp__clawnet-mcp__message_send({ workDir, swarmId, from, to, type, data, taskId? })` |\n| `{\"action\":\"report\", status, taskId, output}` | `mcp__clawnet-mcp__task_set_status({ workDir, taskId, status })` + \u53EF\u9009 `mcp__clawnet-mcp__task_add_comment({ workDir, taskId, author, body })` |\n| \u6D3E\u53D1\u65B0\u4EFB\u52A1 | `mcp__clawnet-mcp__task_create({ workDir, teamName, subject, description?, swarmId, owner, blockedBy?, from })` \u2014 \u4F1A\u81EA\u52A8\u7ED9 owner \u5199 `task_assigned`\u3002**\u4EC5 queen \u53EF\u8C03\u7528**\uFF08`from` \u5FC5\u987B\u4EE5 `queen-` \u5F00\u5934\uFF09\u3002 |\n| \u8F6C\u4EA4\u4EFB\u52A1 | `mcp__clawnet-mcp__task_set_owner({ workDir, taskId, owner, from })` \u2014 \u4F1A\u7ED9\u65B0 owner \u5199 `task_owner_set`\u3002**\u4EC5 queen \u53EF\u8C03\u7528**\u3002 |\n| \u8BC4\u8BBA | `mcp__clawnet-mcp__task_add_comment({ workDir, taskId, author, body, type? })` \u2014 \u4F1A\u7ED9 owner+queen \u5199 `task_comment` |\n| \u67E5\u8BE2 | `mcp__clawnet-mcp__task_get` / `task_list` / `task_briefing` |\n| \u63D0\u4EA4\u8BA1\u5212\u5BA1\u67E5\u7ED3\u679C | `mcp__clawnet-mcp__plan_review_submit({ workDir, swarmId, from, verdict: \"approved\" | \"rejected\", body? })` \u2014 **\u4EC5 reviewer \u53EF\u8C03\u7528**\uFF08`from` \u5FC5\u987B\u4EE5 `reviewer` \u5F00\u5934\uFF09\u3002\u6536\u5230 `plan_review` \u6D88\u606F\u540E\u7528\u6B64\u5DE5\u5177\u56DE\u590D\uFF0C**\u4E0D\u8981**\u518D\u7528 `report` action\u3002 |\n| \u7ED3\u675F cycle\uFF08\u5FC5\u987B\u663E\u5F0F\u8C03\uFF09 | `mcp__clawnet-mcp__swarm_complete({ workDir, swarmId, from, summary? })` \u2014 **\u4EC5 queen \u53EF\u8C03\u7528**\uFF08`from` \u5FC5\u987B\u4EE5 `queen-` \u5F00\u5934\uFF09\u3002\u6240\u6709 plan \u4EFB\u52A1\u90FD completed \u540E\u8C03\uFF0C\u89E6\u53D1 coordinator \u8DD1 retrospective + close sessions + dispose workspace + shipment\uFF08commit+push+PR\uFF09\u3002**\u4E0D\u8C03\u4F1A\u88AB\u7CFB\u7EDF\u515C\u5E95\u81EA\u52A8 paused \u4F46\u66F4\u6162\uFF08~100min\uFF09**\u3002 |\n\n#### \u5173\u952E\u89C4\u5219\n\n- **\u7981\u6B62\u8F93\u51FA ```swarm``` \u4EE3\u7801\u5757\u3002** \u65E7\u7684 in-band action \u534F\u8BAE\u5DF2\u88AB\u5E9F\u5F03\uFF1B\u4F7F\u7528\u4E0A\u9762\u7684 MCP \u5DE5\u5177\u8C03\u7528\u3002\n- **Queen \u7684 plan JSON \u8F93\u51FA\u4ECD\u7136\u6709\u6548**\uFF1A\u5F53\u4F60\u9700\u8981\u53D1\u5E03\u6267\u884C\u8BA1\u5212\u65F6\uFF0C\u8F93\u51FA ```json { \"plan\": {...} } ``` \u5757\uFF1B\u8FD9\u662F\u552F\u4E00\u4FDD\u7559\u7684 in-band \u534F\u8BAE\u3002\n- **MCP \u5DE5\u5177\u7684 `workDir` / `swarmId` / `from` \u53C2\u6570**\uFF1A\u89C1\u672C\u63D0\u793A\u5F00\u5934\u7684\u300C\u5F53\u524D swarm \u6807\u8BC6\u300D\u6BB5\uFF0C\u7167\u6284 `swarmId` \u4E0E `workDir` \u5373\u53EF\uFF0C**\u4E0D\u8981\u81EA\u884C\u7F16\u9020**\uFF1B`from` \u7528\u4F60\u81EA\u5DF1\u7684 instanceId\u3002\n- **\u5E42\u7B49\u6027**\uFF1A\u6240\u6709 task_* \u5DE5\u5177\u90FD\u662F\u5E42\u7B49\u7684\uFF08\u57FA\u4E8E\u7A33\u5B9A id\uFF09\uFF0C\u91CD\u8BD5\u5B89\u5168\u3002\n- **\u4E0D\u8981\u5728 `data` / `body` \u5B57\u6BB5\u91CC\u5D4C\u5957\u4E09\u4E2A\u53CD\u5F15\u53F7**\u2014\u2014\u4F1A\u7834\u574F\u5916\u5C42 markdown \u6E32\u67D3\u3002\n";
48
73
  /**
49
74
  * Optional swarm-identity context. When supplied, buildRolePrompt emits a
50
75
  * verbatim header at the very top of the system prompt so the LLM can copy
@@ -1 +1 @@
1
- {"version":3,"file":"role-loader.d.ts","sourceRoot":"","sources":["../../src/roles/role-loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAkC,MAAM,YAAY,CAAC;AAiCjF;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAyJ7D;AAgBD;;;GAGG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAoBlC;AAED,gHAAgH;AAChH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAazD;AAED,+DAA+D;AAC/D,wBAAgB,SAAS,IAAI,MAAM,EAAE,CAqBpC;AAMD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AAExD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,iEAAiE;AACjE,wBAAgB,mBAAmB,IAAI,YAAY,EAAE,CA2BpD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAQ7D;AAED,4DAA4D;AAC5D,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOtD;AAED,6EAA6E;AAC7E,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,UAAU,CAe9D;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,gBAAgB,EAAE,OAAO,CAAA;CAAE,CAWtE;AAED;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,uqKA2CnC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,cAAc,EAC1B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,YAAY,GAC1B,MAAM,CA8CR"}
1
+ {"version":3,"file":"role-loader.d.ts","sourceRoot":"","sources":["../../src/roles/role-loader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAkC,MAAM,YAAY,CAAC;AAiCjF;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAgK7D;AA4BD;;;;;;;GAOG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAIlC;AAED,gHAAgH;AAChH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAazD;AAED,+DAA+D;AAC/D,wBAAgB,SAAS,IAAI,MAAM,EAAE,CAqBpC;AAMD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE3C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,IAAI,YAAY,EAAE,CA8BpD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAK7D;AAED,4DAA4D;AAC5D,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOtD;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,UAAU,CAoB9D;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,gBAAgB,EAAE,OAAO,CAAA;CAAE,CAWtE;AAED;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,itLA4CnC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,cAAc,EAC1B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,YAAY,GAC1B,MAAM,CA8CR"}
@@ -181,8 +181,25 @@ export function parseRoleFile(content) {
181
181
  promptBody: body,
182
182
  delegation: hasDelegation ? delegation : undefined,
183
183
  protocol: protocol.length > 0 ? protocol : undefined,
184
+ // N4.5: optional per-role backend/sandbox/model/mode from frontmatter.
185
+ // UI overlay (SwarmConfigInline / coordinator's options.roles) wins per
186
+ // the precedence in spawn-coordinator.ts; these are template defaults.
187
+ backend: parseBackendKind(meta.backend),
188
+ sandbox: parseSandboxLevel(meta.sandbox),
189
+ model: typeof meta.model === "string" ? meta.model : undefined,
190
+ mode: typeof meta.mode === "string" ? meta.mode : undefined,
184
191
  };
185
192
  }
193
+ // Helpers — narrow string from YAML to typed enum.
194
+ function parseBackendKind(value) {
195
+ return value === "claude" || value === "codex" ? value : undefined;
196
+ }
197
+ function parseSandboxLevel(value) {
198
+ if (value === "read-only" || value === "workspace-write" || value === "full-access") {
199
+ return value;
200
+ }
201
+ return undefined;
202
+ }
186
203
  function pushDelegationEntry(map, key, entry) {
187
204
  if (key === "delegatesTo") {
188
205
  (map.delegatesTo ??= []).push(entry);
@@ -195,26 +212,16 @@ function pushDelegationEntry(map, key, entry) {
195
212
  }
196
213
  }
197
214
  /**
198
- * Ensure user role directory exists and preset templates are copied.
199
- * Returns the user roles directory path.
215
+ * Ensure user role directory exists.
216
+ *
217
+ * Presets live inside the npm package (read-only). User-authored roles live in
218
+ * `~/.clawnet/roles/<name>/CLAUDE.md`. We deliberately do NOT seed presets into
219
+ * the user dir: a preset and a user role with the same name is forbidden at
220
+ * save time, so the union over the two dirs is conflict-free.
200
221
  */
201
222
  export function initRoles() {
202
223
  const USER_ROLES_DIR = userRolesDir();
203
224
  mkdirSync(USER_ROLES_DIR, { recursive: true });
204
- if (!existsSync(PRESET_DIR))
205
- return USER_ROLES_DIR;
206
- for (const file of readdirSync(PRESET_DIR)) {
207
- if (!file.endsWith(".md"))
208
- continue;
209
- const roleName = file.replace(/\.md$/, "");
210
- const userRoleDir = join(USER_ROLES_DIR, roleName);
211
- const userFile = join(userRoleDir, "CLAUDE.md");
212
- if (!existsSync(userFile)) {
213
- mkdirSync(userRoleDir, { recursive: true });
214
- const content = readFileSync(join(PRESET_DIR, file), "utf-8");
215
- writeFileSync(userFile, content, "utf-8");
216
- }
217
- }
218
225
  return USER_ROLES_DIR;
219
226
  }
220
227
  /** Load a role definition by name. Reads from ~/.clawnet/roles/{name}/CLAUDE.md first, falls back to preset. */
@@ -250,7 +257,15 @@ export function listRoles() {
250
257
  }
251
258
  return [...roles].sort();
252
259
  }
253
- /** List all roles with source tag (preset / user / override). */
260
+ /**
261
+ * List all roles with source tag.
262
+ *
263
+ * Presets live in the npm package; user roles in `~/.clawnet/roles/`. Names
264
+ * must be globally unique going forward (enforced at save time). If a stale
265
+ * user dir collides with a preset (pre-refactor seeded copy, manual file),
266
+ * the user copy wins and the entry is flagged with `shadowsPreset` so the UI
267
+ * can surface the conflict.
268
+ */
254
269
  export function listRolesWithSource() {
255
270
  const presetNames = existsSync(PRESET_DIR)
256
271
  ? readdirSync(PRESET_DIR)
@@ -266,25 +281,25 @@ export function listRolesWithSource() {
266
281
  }
267
282
  }
268
283
  }
269
- const presetSet = new Set(presetNames);
270
284
  const userSet = new Set(userNames);
271
- const all = new Set([...presetSet, ...userSet]);
272
- return [...all].sort().map((name) => {
273
- const inUser = userSet.has(name);
274
- const inPreset = presetSet.has(name);
275
- const source = inUser && inPreset ? "override" : inUser ? "user" : "preset";
276
- return { name, source };
277
- });
285
+ const presetSet = new Set(presetNames);
286
+ const items = [];
287
+ for (const name of userNames) {
288
+ items.push(presetSet.has(name)
289
+ ? { name, source: "user", shadowsPreset: true }
290
+ : { name, source: "user" });
291
+ }
292
+ for (const name of presetNames) {
293
+ if (!userSet.has(name))
294
+ items.push({ name, source: "preset" });
295
+ }
296
+ return items.sort((a, b) => a.name.localeCompare(b.name));
278
297
  }
279
298
  export function getRoleSource(name) {
280
299
  validateName(name);
281
- const inUser = existsSync(join(userRolesDir(), name, "CLAUDE.md"));
282
- const inPreset = existsSync(join(PRESET_DIR, `${name}.md`));
283
- if (inUser && inPreset)
284
- return "override";
285
- if (inUser)
300
+ if (existsSync(join(userRolesDir(), name, "CLAUDE.md")))
286
301
  return "user";
287
- if (inPreset)
302
+ if (existsSync(join(PRESET_DIR, `${name}.md`)))
288
303
  return "preset";
289
304
  return null;
290
305
  }
@@ -299,9 +314,19 @@ export function getRoleRaw(name) {
299
314
  return readFileSync(presetFile, "utf-8");
300
315
  return null;
301
316
  }
302
- /** Validate by parsing first; throws on bad frontmatter or name mismatch. */
317
+ /**
318
+ * Save a user role.
319
+ *
320
+ * Validates by parsing first; throws on bad frontmatter or name mismatch.
321
+ * Refuses to write if the requested name collides with a built-in preset —
322
+ * presets are immutable, so "edit a preset" is implemented by Copy with a
323
+ * new name.
324
+ */
303
325
  export function saveRole(name, raw) {
304
326
  validateName(name);
327
+ if (existsSync(join(PRESET_DIR, `${name}.md`))) {
328
+ throw new Error(`Cannot save role '${name}': name conflicts with a built-in preset. Choose another name.`);
329
+ }
305
330
  const parsed = parseRoleFile(raw);
306
331
  if (parsed.name && parsed.name !== name && parsed.name !== "unknown") {
307
332
  throw new Error(`Frontmatter name '${parsed.name}' does not match requested '${name}'`);
@@ -374,6 +399,7 @@ export const INBOX_PROTOCOL_PREAMBLE = `
374
399
  | 评论 | \`mcp__clawnet-mcp__task_add_comment({ workDir, taskId, author, body, type? })\` — 会给 owner+queen 写 \`task_comment\` |
375
400
  | 查询 | \`mcp__clawnet-mcp__task_get\` / \`task_list\` / \`task_briefing\` |
376
401
  | 提交计划审查结果 | \`mcp__clawnet-mcp__plan_review_submit({ workDir, swarmId, from, verdict: "approved" | "rejected", body? })\` — **仅 reviewer 可调用**(\`from\` 必须以 \`reviewer\` 开头)。收到 \`plan_review\` 消息后用此工具回复,**不要**再用 \`report\` action。 |
402
+ | 结束 cycle(必须显式调) | \`mcp__clawnet-mcp__swarm_complete({ workDir, swarmId, from, summary? })\` — **仅 queen 可调用**(\`from\` 必须以 \`queen-\` 开头)。所有 plan 任务都 completed 后调,触发 coordinator 跑 retrospective + close sessions + dispose workspace + shipment(commit+push+PR)。**不调会被系统兜底自动 paused 但更慢(~100min)**。 |
377
403
 
378
404
  #### 关键规则
379
405