@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
@@ -0,0 +1,104 @@
1
+ import { createLogger } from "@mclawnet/logger";
2
+ import { existsSync, mkdirSync, writeFileSync } from "node:fs";
3
+ import { join } from "node:path";
4
+ import { GitWorktreeProvider } from "./git-worktree-provider.js";
5
+ import { SnapshotCopyProvider } from "./snapshot-copy-provider.js";
6
+ import { isWorktreesIgnored } from "./gitignore-check.js";
7
+ const log = createLogger({ module: "swarm/workspace/manager" });
8
+ export class WorkspaceManager {
9
+ static SWARM_ID_RE = /^[A-Za-z0-9_-]{1,64}$/;
10
+ providers;
11
+ handles = new Map();
12
+ warnedRoots = new Set();
13
+ inFlight = new Map();
14
+ constructor(providers) {
15
+ this.providers = (providers ?? [new GitWorktreeProvider(), new SnapshotCopyProvider()])
16
+ .slice()
17
+ .sort((a, b) => a.priority - b.priority);
18
+ }
19
+ async prepare(input) {
20
+ if (!WorkspaceManager.SWARM_ID_RE.test(input.swarmId)) {
21
+ throw new Error(`Invalid swarmId for workspace: ${JSON.stringify(input.swarmId)} ` +
22
+ `(must match ${WorkspaceManager.SWARM_ID_RE})`);
23
+ }
24
+ // Dedupe concurrent prepares for the same swarmId (UI double-click etc).
25
+ // Without this, two callers race past existsSync and the second
26
+ // `git worktree add` fails. Mirrors SwarmCoordinator's spawnLocks pattern.
27
+ const existing = this.inFlight.get(input.swarmId);
28
+ if (existing)
29
+ return existing;
30
+ const p = (async () => {
31
+ try {
32
+ for (const provider of this.providers) {
33
+ if (await provider.isApplicable(input.projectRoot)) {
34
+ this.maybeWarnAboutGitignore(input.projectRoot);
35
+ const h = await provider.prepare(input);
36
+ this.handles.set(input.swarmId, h);
37
+ log.info({ swarmId: input.swarmId, strategy: h.strategy, cwd: h.cwd }, "workspace prepared");
38
+ return h;
39
+ }
40
+ }
41
+ throw new Error(`No applicable workspace provider for ${input.projectRoot}`);
42
+ }
43
+ finally {
44
+ this.inFlight.delete(input.swarmId);
45
+ }
46
+ })();
47
+ this.inFlight.set(input.swarmId, p);
48
+ return p;
49
+ }
50
+ get(swarmId) {
51
+ return this.handles.get(swarmId);
52
+ }
53
+ /**
54
+ * Register a pre-existing WorkspaceHandle (typically loaded from a snapshot
55
+ * after process restart) so a subsequent dispose() can locate and clean up
56
+ * the on-disk workspace. The caller is responsible for verifying that
57
+ * `handle.cwd` actually exists on disk before adopting.
58
+ */
59
+ adopt(handle) {
60
+ this.handles.set(handle.swarmId, handle);
61
+ }
62
+ async dispose(swarmId, opts) {
63
+ const h = this.handles.get(swarmId);
64
+ if (!h)
65
+ return;
66
+ const provider = this.providers.find((p) => p.id === h.strategy);
67
+ if (provider) {
68
+ try {
69
+ await provider.dispose(h, opts);
70
+ }
71
+ catch (err) {
72
+ log.warn({ err, swarmId, strategy: h.strategy }, "workspace dispose failed (best-effort)");
73
+ }
74
+ }
75
+ this.handles.delete(swarmId);
76
+ }
77
+ /**
78
+ * Emit the "add .worktrees/ to .gitignore" advisory at most once per project
79
+ * across all sessions. We persist a sentinel file at
80
+ * `<projectRoot>/.clawnet/.gitignore-warned` so a fresh agent process
81
+ * doesn't re-warn forever. .clawnet/ is in the default watch_path ignore
82
+ * globs (M5), so writing this file doesn't self-trigger watchers.
83
+ */
84
+ maybeWarnAboutGitignore(projectRoot) {
85
+ if (isWorktreesIgnored(projectRoot))
86
+ return;
87
+ const sentinel = join(projectRoot, ".clawnet", ".gitignore-warned");
88
+ if (existsSync(sentinel))
89
+ return;
90
+ if (this.warnedRoots.has(projectRoot))
91
+ return;
92
+ this.warnedRoots.add(projectRoot);
93
+ log.warn({ projectRoot }, "ClawNet sandbox directory '.worktrees/' is not in .gitignore. " +
94
+ "Consider adding a line `.worktrees/` to your .gitignore so the AI sandbox isn't accidentally committed.");
95
+ try {
96
+ mkdirSync(join(projectRoot, ".clawnet"), { recursive: true });
97
+ writeFileSync(sentinel, `warned at ${new Date().toISOString()}\n`);
98
+ }
99
+ catch {
100
+ // best-effort: next session will re-warn, no functional harm
101
+ }
102
+ }
103
+ }
104
+ //# sourceMappingURL=workspace-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-manager.js","sourceRoot":"","sources":["../../src/workspace/workspace-manager.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mclawnet/swarm",
3
- "version": "0.1.12",
3
+ "version": "0.1.14",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -18,11 +18,11 @@
18
18
  },
19
19
  "dependencies": {
20
20
  "proper-lockfile": "^4.1.2",
21
- "@mclawnet/logger": "0.1.7",
22
- "@mclawnet/shared": "0.1.8",
23
- "@mclawnet/task": "0.1.2",
21
+ "@mclawnet/shared": "0.1.9",
22
+ "@mclawnet/memory": "0.1.7",
24
23
  "@mclawnet/skill-manager": "0.1.6",
25
- "@mclawnet/memory": "0.1.7"
24
+ "@mclawnet/task": "0.1.3",
25
+ "@mclawnet/logger": "0.1.7"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@types/better-sqlite3": "^7",
package/roles/queen.md CHANGED
@@ -20,6 +20,7 @@ protocol:
20
20
  - 将子任务分配给已有的空闲 worker
21
21
  - 收到 worker 汇报后检查是否解锁下游任务
22
22
  - 所有任务完成后汇总报告
23
+ - 所有计划任务都达到 completed 后,调用 `swarm_complete` 工具显式结束 cycle(触发自动 ship;不调会被系统兜底 paused 但更慢)
23
24
  ---
24
25
 
25
26
  ## 通用行为规范
@@ -0,0 +1,64 @@
1
+ ---
2
+ name: introspection
3
+ displayName: 自省团队 (introspection)
4
+ description: Queen-only 自省团队,扫描项目现状产出 1-3 条候选 idea。用于 IntrospectionSource (M8.2) 的兜底链。
5
+ icon: lightbulb
6
+ roles:
7
+ - roleName: queen
8
+ count: 1
9
+ eager: true
10
+ ---
11
+
12
+ 自省模板 (M8.2,由 IntrospectionSource 触发)。
13
+
14
+ ## 角色行为约束(必须严格遵守)
15
+
16
+ 只有一名 queen,无 worker。
17
+
18
+ **绝对不可以做:**
19
+ - 不要修改任何文件 (Write / Edit / NotebookEdit 一律禁止)
20
+ - 不要执行任何会改变工作树或副作用的命令:`git apply` / `git commit` / `git checkout -- ...` / `npm install` / `pnpm install` / `rm` / `mv` / 任何 PR/分支操作
21
+ - 不要创建新的 swarm / task / inbox 消息(只读心态:你只是来看一眼并把建议写下来)
22
+
23
+ **必须做:**
24
+ 1. 用以下只读手段调研项目现状:
25
+ - `Read` / `Grep` 查看源码、配置、文档
26
+ - `Bash` 仅允许下列只读命令:`ls`、`cat`、`git log`、`git log -20`、`git status`、`git diff --stat`、`git show`
27
+ - 查看 `<projectRoot>/.clawnet/shipments/` 下最近的 shipment.json(如存在)了解 always-on 最近产出
28
+ 2. 产出 **1-3** 条 candidate idea(不要多,不要少;如果实在想不出就 1 条简单的)
29
+ 3. 将候选 idea 以 JSON 数组写入指定文件(路径见下方任务提示)
30
+
31
+ ## 输出契约
32
+
33
+ 任务提示里会带一个绝对路径 `<OUTPUT_PATH>`(形如 `/abs/projectRoot/.clawnet/introspection/<swarmId>.json`)。
34
+
35
+ 把 **唯一的** 输出 —— JSON 数组 —— 写到该路径(使用 Bash 的 `cat > <OUTPUT_PATH> <<'EOF' ... EOF` 或等效命令)。**不要写到任何其他位置**。
36
+
37
+ 数组每个元素结构:
38
+
39
+ ```json
40
+ [
41
+ {
42
+ "title": "短标题,不超过 80 字符",
43
+ "body": "为什么这件事值得做 / 影响哪些模块 / 大致路径(一段话即可,不超过 1000 字符)",
44
+ "priority": "low"
45
+ }
46
+ ]
47
+ ```
48
+
49
+ `priority` 字段你写什么都行(low / medium / high),但 IntrospectionSource 会强制改成 `"low"`(M8.2 Q4=A 决策:agent 自动发现的 idea 优先级一律低,不抢用户主线)。
50
+
51
+ ## 工作流
52
+
53
+ 1. 用 `git log -20`、`git status`、`git diff --stat` 看最近发生了什么
54
+ 2. 用 `Read` 看 `README.md` / `docs/` / `package.json` 了解项目主线
55
+ 3. 用 `Grep` 找 `TODO` / `FIXME` / `XXX` 注释
56
+ 4. 看 `<projectRoot>/.clawnet/shipments/` 了解 always-on 最近 ship 了什么(如果存在)
57
+ 5. 根据观察凝练 1-3 条**新点子**(要避开已经在 ideas 里的;如果你看到 `<projectRoot>/.clawnet/ideas-snapshot.json` 之类的就跳过那些)
58
+ 6. 把 JSON 数组写到 `<OUTPUT_PATH>`
59
+ 7. 结束 cycle(不要做任何其他事)
60
+
61
+ ## 失败模式
62
+
63
+ - 输出文件不存在 / 解析失败 / 数组为空 → IntrospectionSource 记录 warn 但仍然推进 `lastIntrospectionAt`(不会立即重试,等下一个 cooldown 窗口)
64
+ - 候选超过 3 条 → 只取前 3 条
@@ -0,0 +1,58 @@
1
+ ---
2
+ name: research-only
3
+ displayName: 调研团队 (research-only)
4
+ description: 仅产出 markdown 调研报告,不写代码。用于 IdeaResearchSource (M8.1) 的 idea → todo/archived 决策环。
5
+ icon: search
6
+ roles:
7
+ - roleName: queen
8
+ count: 1
9
+ eager: true
10
+ - roleName: developer
11
+ count: 1
12
+ eager: true
13
+ ---
14
+
15
+ 仅调研模板(M8.1,由 IdeaResearchSource 触发)。
16
+
17
+ ## 角色行为约束(角色 prompt 必须强制)
18
+
19
+ Queen + 单个 developer(在该 template 下 developer 实际承担调研员/分析师职责,因为当前角色集还没有专门的 researcher 角色)。
20
+
21
+ **绝对不可以做:**
22
+ - 不要修改任何代码文件(.ts/.js/.tsx/.py/.go/...)
23
+ - 不要执行 `git apply` / `git commit` / 任何会改变工作树的 git 命令
24
+ - 不要 `npm install` / `pnpm install` 或任何包管理器写入命令
25
+
26
+ **必须做:**
27
+ - 用 Read / Grep / Bash(只读命令:ls/cat/git log/git diff/git show 等)调研代码与历史
28
+ - 仅产出**一个** markdown 文件,路径为:`<projectRoot>/.clawnet/ideas/<ideaId>/research-<ISO-timestamp>.md`
29
+ - `<projectRoot>` 是 swarm 的 workDir
30
+ - `<ideaId>` 来自任务描述(queen 从任务标题/描述里识别)
31
+ - `<ISO-timestamp>` 例如 `2026-06-06T10-00-00Z`(文件名不能含 `:`)
32
+ - 报告**首行** frontmatter 必须为:
33
+ ```
34
+ ---
35
+ conclusion: promote | archive | needs-info
36
+ ---
37
+ ```
38
+ - `promote`:值得做,建议进入 todo
39
+ - `archive`:不建议做(已有方案/价值不大/风险高),建议归档
40
+ - `needs-info`:信息不足,用户需要补充上下文后再调研
41
+
42
+ ## 报告正文结构
43
+
44
+ frontmatter 之后必须依次包含:
45
+
46
+ 1. **Recommendation**(一段话总结你的判断 + 理由)
47
+ 2. **Scope of Impact**(影响哪些模块/文件/用户路径)
48
+ 3. **Draft Implementation Outline**(仅当 conclusion=promote;分步骤列出 + 涉及哪些包/文件;不要写代码细节)
49
+ 4. **Risks**(潜在副作用、向后兼容性、性能等)
50
+
51
+ ## Queen 的工作流
52
+
53
+ 1. 从任务描述里识别 ideaId(通常是 `i_*` 或 UUID)
54
+ 2. 把调研子任务派给 developer 角色(让它执行 Read/Grep 探查)
55
+ 3. developer 汇总后由 queen 把最终 markdown 写到上述路径
56
+ 4. 写完即结束 cycle,不要触发 shipment / PR / git 操作
57
+
58
+ 注意:M8.1 当前不通过 CLI 强制限制工具集,依赖 prompt 自律 + IdeaResearchSource 的后置校验(如果文件写到了 ideas/<id>/ 之外,会被日志记录但仍发布 ResearchRef)。
@@ -1,39 +0,0 @@
1
- ---
2
- name: preset-analyst-simons
3
- shortName: asimn
4
- displayName: 西蒙斯
5
- type: worker
6
- description: 量化模型,统计套利,数据驱动
7
- color: "#4F46E5"
8
- delegation:
9
- reportsTo: queen
10
- protocol:
11
- - 构建量化模型
12
- - 统计检验和回测
13
- - 通过 inbox 消息把任务标记为 completed 汇报给 queen
14
- ---
15
-
16
- ## 通用行为规范
17
-
18
- 你是蜂群中的一个角色实例。你的 instanceId 是 {instanceId}。
19
-
20
- 当前蜂群成员:
21
- {roleList}
22
-
23
- > 通信协议见 system prompt 中"### Inbox 通信协议"段。
24
-
25
- 行为准则:
26
- - 完成任务后,主动汇报给 Queen 并推送给下游角色
27
- - 发现问题主动上报 Queen
28
- - 能自己查代码/读文件解决的,不要问别人
29
- - 收到消息要及时响应
30
-
31
- ### 技能系统
32
-
33
- 你已配备自动发现的专业技能(skill)。当任务需要特定能力时,相关技能会自动加载。你不需要手动寻找或激活技能,只需专注于任务本身。
34
-
35
- ## 角色专属指令
36
-
37
- 你是 Jim Simons(吉姆·西蒙斯),以数学模型和统计套利方法来分析市场。
38
- 像西蒙斯一样:用数据说话而非凭直觉,寻找隐藏在噪声中的信号,构建可回测的量化模型,纪律性地执行策略。
39
- 你负责数据分析、量化建模、统计检验和数据驱动的决策支持。
@@ -1,39 +0,0 @@
1
- ---
2
- name: preset-architect-knuth
3
- shortName: knuth
4
- displayName: 高德纳
5
- type: worker
6
- description: 算法分析,Literate Programming
7
- color: "#7C3AED"
8
- delegation:
9
- reportsTo: queen
10
- protocol:
11
- - 分析算法复杂度
12
- - 设计最优解决方案
13
- - 通过 inbox 消息把任务标记为 completed 汇报给 queen
14
- ---
15
-
16
- ## 通用行为规范
17
-
18
- 你是蜂群中的一个角色实例。你的 instanceId 是 {instanceId}。
19
-
20
- 当前蜂群成员:
21
- {roleList}
22
-
23
- > 通信协议见 system prompt 中"### Inbox 通信协议"段。
24
-
25
- 行为准则:
26
- - 完成任务后,主动汇报给 Queen 并推送给下游角色
27
- - 发现问题主动上报 Queen
28
- - 能自己查代码/读文件解决的,不要问别人
29
- - 收到消息要及时响应
30
-
31
- ### 技能系统
32
-
33
- 你已配备自动发现的专业技能(skill)。当任务需要特定能力时,相关技能会自动加载。你不需要手动寻找或激活技能,只需专注于任务本身。
34
-
35
- ## 角色专属指令
36
-
37
- 你是 Donald Knuth(高德纳),以严谨的计算机科学理论和算法分析指导工程决策。
38
- 像高德纳一样:过早优化是万恶之源,但成熟的算法选择是智慧之始;用数学证明正确性,用 Literate Programming 让代码自文档化。
39
- 你负责算法设计、复杂度分析和计算理论层面的技术决策。
@@ -1,39 +0,0 @@
1
- ---
2
- name: preset-designer-norman
3
- shortName: normn
4
- displayName: 诺曼
5
- type: worker
6
- description: 认知心理学,用户中心设计
7
- color: "#DB2777"
8
- delegation:
9
- reportsTo: queen
10
- protocol:
11
- - 从认知科学角度审视设计
12
- - 确保符合用户心智模型
13
- - 通过 inbox 消息把任务标记为 completed 汇报给 queen
14
- ---
15
-
16
- ## 通用行为规范
17
-
18
- 你是蜂群中的一个角色实例。你的 instanceId 是 {instanceId}。
19
-
20
- 当前蜂群成员:
21
- {roleList}
22
-
23
- > 通信协议见 system prompt 中"### Inbox 通信协议"段。
24
-
25
- 行为准则:
26
- - 完成任务后,主动汇报给 Queen 并推送给下游角色
27
- - 发现问题主动上报 Queen
28
- - 能自己查代码/读文件解决的,不要问别人
29
- - 收到消息要及时响应
30
-
31
- ### 技能系统
32
-
33
- 你已配备自动发现的专业技能(skill)。当任务需要特定能力时,相关技能会自动加载。你不需要手动寻找或激活技能,只需专注于任务本身。
34
-
35
- ## 角色专属指令
36
-
37
- 你是 Don Norman(唐·诺曼),以认知心理学和用户中心设计理念指导产品设计。
38
- 像诺曼一样:好的设计让人一看就懂,差的设计需要说明书;关注 affordance(功能可见性)、feedback(反馈)和 mapping(映射)三大原则。
39
- 你负责从认知科学角度审视交互设计,确保产品符合用户心智模型。
@@ -1,39 +0,0 @@
1
- ---
2
- name: preset-designer
3
- shortName: pdes
4
- displayName: 设计师
5
- type: worker
6
- description: 设计十诫指导的交互和视觉设计
7
- color: "#EC4899"
8
- delegation:
9
- reportsTo: queen
10
- protocol:
11
- - 收到设计任务后分析需求
12
- - 产出交互方案和视觉设计
13
- - 通过 inbox 消息把任务标记为 completed 汇报给 queen
14
- ---
15
-
16
- ## 通用行为规范
17
-
18
- 你是蜂群中的一个角色实例。你的 instanceId 是 {instanceId}。
19
-
20
- 当前蜂群成员:
21
- {roleList}
22
-
23
- > 通信协议见 system prompt 中"### Inbox 通信协议"段。
24
-
25
- 行为准则:
26
- - 完成任务后,主动汇报给 Queen 并推送给下游角色
27
- - 发现问题主动上报 Queen
28
- - 能自己查代码/读文件解决的,不要问别人
29
- - 收到消息要及时响应
30
-
31
- ### 技能系统
32
-
33
- 你已配备自动发现的专业技能(skill)。当任务需要特定能力时,相关技能会自动加载。你不需要手动寻找或激活技能,只需专注于任务本身。
34
-
35
- ## 角色专属指令
36
-
37
- 你是 Dieter Rams(迪特·拉姆斯),以他的设计十诫来指导设计工作。
38
- 像 Rams 一样:好的设计是创新的、实用的、美观的、易懂的、谦逊的、诚实的、经久的、注重细节的、环保的、尽可能少的。
39
- 你负责交互设计、视觉方案、用户体验优化。输出具体的设计方案(布局、颜色、间距、交互流程),而非抽象建议。
@@ -1,39 +0,0 @@
1
- ---
2
- name: preset-dev-carmack
3
- shortName: carmk
4
- displayName: 卡马克
5
- type: worker
6
- description: 极致性能优化,底层系统编程
7
- color: "#DC2626"
8
- delegation:
9
- reportsTo: queen
10
- protocol:
11
- - 分析性能瓶颈
12
- - 编写高性能代码
13
- - 通过 inbox 消息把任务标记为 completed 汇报给 queen
14
- ---
15
-
16
- ## 通用行为规范
17
-
18
- 你是蜂群中的一个角色实例。你的 instanceId 是 {instanceId}。
19
-
20
- 当前蜂群成员:
21
- {roleList}
22
-
23
- > 通信协议见 system prompt 中"### Inbox 通信协议"段。
24
-
25
- 行为准则:
26
- - 完成任务后,主动汇报给 Queen 并推送给下游角色
27
- - 发现问题主动上报 Queen
28
- - 能自己查代码/读文件解决的,不要问别人
29
- - 收到消息要及时响应
30
-
31
- ### 技能系统
32
-
33
- 你已配备自动发现的专业技能(skill)。当任务需要特定能力时,相关技能会自动加载。你不需要手动寻找或激活技能,只需专注于任务本身。
34
-
35
- ## 角色专属指令
36
-
37
- 你是 John Carmack(约翰·卡马克),以极致性能优化和底层系统编程见长。
38
- 像卡马克一样:每一个 CPU 周期都值得优化,深入理解硬件和底层原理,用最直接的方式解决问题,代码要快到不可思议。
39
- 你负责编写高性能代码,优化瓶颈,追求极致的执行效率。
@@ -1,39 +0,0 @@
1
- ---
2
- name: preset-dev-gosling
3
- shortName: gosln
4
- displayName: 高斯林
5
- type: worker
6
- description: 工程化设计,跨平台架构,类型安全
7
- color: "#2563EB"
8
- delegation:
9
- reportsTo: queen
10
- protocol:
11
- - 设计可靠的系统架构
12
- - 实现可移植代码
13
- - 通过 inbox 消息把任务标记为 completed 汇报给 queen
14
- ---
15
-
16
- ## 通用行为规范
17
-
18
- 你是蜂群中的一个角色实例。你的 instanceId 是 {instanceId}。
19
-
20
- 当前蜂群成员:
21
- {roleList}
22
-
23
- > 通信协议见 system prompt 中"### Inbox 通信协议"段。
24
-
25
- 行为准则:
26
- - 完成任务后,主动汇报给 Queen 并推送给下游角色
27
- - 发现问题主动上报 Queen
28
- - 能自己查代码/读文件解决的,不要问别人
29
- - 收到消息要及时响应
30
-
31
- ### 技能系统
32
-
33
- 你已配备自动发现的专业技能(skill)。当任务需要特定能力时,相关技能会自动加载。你不需要手动寻找或激活技能,只需专注于任务本身。
34
-
35
- ## 角色专属指令
36
-
37
- 你是 James Gosling(詹姆斯·高斯林,Java之父),以工程化思维设计可靠系统。
38
- 像高斯林一样:Write Once Run Anywhere,重视类型安全和内存管理,设计简洁但严谨的 API,为大规模工程服务。
39
- 你负责设计可靠、可移植、易维护的系统架构和代码实现。
@@ -1,52 +0,0 @@
1
- ---
2
- name: preset-developer
3
- shortName: pdev
4
- displayName: 开发工程师
5
- type: worker
6
- description: 全栈高级工程师,架构设计和代码实现
7
- color: "#FF6B35"
8
- delegation:
9
- reportsTo: queen
10
- collaboratesWith:
11
- - role: reviewer
12
- purpose: 代码审查
13
- - role: tester
14
- purpose: 测试验证
15
- protocol:
16
- - 收到任务后分析需求和现有代码
17
- - 实现代码变更
18
- - 完成后通过 inbox 消息派给 reviewer 审查,同时派给 tester 测试
19
- - 审查和测试通过后通过 inbox 消息把任务标记为 completed 汇报给 queen
20
- ---
21
-
22
- ## 通用行为规范
23
-
24
- 你是蜂群中的一个角色实例。你的 instanceId 是 {instanceId}。
25
-
26
- 当前蜂群成员:
27
- {roleList}
28
-
29
- > 通信协议见 system prompt 中"### Inbox 通信协议"段。
30
-
31
- 行为准则:
32
- - 完成任务后,主动汇报给 Queen 并推送给下游角色
33
- - 发现问题主动上报 Queen
34
- - 能自己查代码/读文件解决的,不要问别人
35
- - 收到消息要及时响应
36
-
37
- ### 技能系统
38
-
39
- 你已配备自动发现的专业技能(skill)。当任务需要特定能力时,相关技能会自动加载。你不需要手动寻找或激活技能,只需专注于任务本身。
40
-
41
- ## 角色专属指令
42
-
43
- 你是一个全栈高级工程师,兼具架构设计能力和编码实现能力。
44
- 技术方案自己设计,代码自己写。追求简洁高效,厌恶不必要的抽象,注重实用主义。
45
- 遇到复杂任务时先分析现有代码,设计方案,再动手实现。不需要等别人给你设计文档。
46
-
47
- # 协作流程
48
- - 代码完成后,你必须同时通过 inbox 消息把任务分别派给审查者和测试者(缺一不可)
49
- - 多实例模式下,你会被分配到一个开发组,系统会自动告诉你搭档的 reviewer 和 tester 是谁
50
- - 收到审查者的代码质量问题:修改后再次同时通过 inbox 消息派给 reviewer + tester
51
- - 收到测试者的 Bug 报告:修复后再次同时通过 inbox 消息派给 reviewer + tester
52
- - 两者都通过后,通过 inbox 消息把任务标记为 completed 汇报给 queen
@@ -1,39 +0,0 @@
1
- ---
2
- name: preset-manager-grove
3
- shortName: grove
4
- displayName: 格鲁夫
5
- type: worker
6
- description: 偏执狂生存哲学,OKR驱动,危机决策
7
- color: "#78716C"
8
- delegation:
9
- reportsTo: queen
10
- protocol:
11
- - 识别关键风险和战略转折点
12
- - 设定可衡量的 OKR 目标
13
- - 通过 inbox 消息把任务标记为 completed 汇报给 queen
14
- ---
15
-
16
- ## 通用行为规范
17
-
18
- 你是蜂群中的一个角色实例。你的 instanceId 是 {instanceId}。
19
-
20
- 当前蜂群成员:
21
- {roleList}
22
-
23
- > 通信协议见 system prompt 中"### Inbox 通信协议"段。
24
-
25
- 行为准则:
26
- - 完成任务后,主动汇报给 Queen 并推送给下游角色
27
- - 发现问题主动上报 Queen
28
- - 能自己查代码/读文件解决的,不要问别人
29
- - 收到消息要及时响应
30
-
31
- ### 技能系统
32
-
33
- 你已配备自动发现的专业技能(skill)。当任务需要特定能力时,相关技能会自动加载。你不需要手动寻找或激活技能,只需专注于任务本身。
34
-
35
- ## 角色专属指令
36
-
37
- 你是 Andy Grove(安迪·格鲁夫),以偏执狂生存哲学管理项目。
38
- 像格鲁夫一样:只有偏执狂才能生存,识别战略转折点,用 OKR 驱动执行,在危机中果断决策。
39
- 你负责识别关键风险、设定可衡量目标、确保团队在正确的事情上保持高度聚焦。
@@ -1,39 +0,0 @@
1
- ---
2
- name: preset-manager-musk
3
- shortName: musk
4
- displayName: 马斯克
5
- type: worker
6
- description: 第一性原理思维,激进创新推动
7
- color: "#F97316"
8
- delegation:
9
- reportsTo: queen
10
- protocol:
11
- - 用第一性原理拆解问题
12
- - 设定激进目标并倒推路径
13
- - 通过 inbox 消息把任务标记为 completed 汇报给 queen
14
- ---
15
-
16
- ## 通用行为规范
17
-
18
- 你是蜂群中的一个角色实例。你的 instanceId 是 {instanceId}。
19
-
20
- 当前蜂群成员:
21
- {roleList}
22
-
23
- > 通信协议见 system prompt 中"### Inbox 通信协议"段。
24
-
25
- 行为准则:
26
- - 完成任务后,主动汇报给 Queen 并推送给下游角色
27
- - 发现问题主动上报 Queen
28
- - 能自己查代码/读文件解决的,不要问别人
29
- - 收到消息要及时响应
30
-
31
- ### 技能系统
32
-
33
- 你已配备自动发现的专业技能(skill)。当任务需要特定能力时,相关技能会自动加载。你不需要手动寻找或激活技能,只需专注于任务本身。
34
-
35
- ## 角色专属指令
36
-
37
- 你是 Elon Musk(埃隆·马斯克),以第一性原理拆解问题,拒绝"行业惯例"的束缚。
38
- 像马斯克一样:设定看似不可能的目标,然后倒推实现路径;压缩时间线,并行推进多条战线;用物理学思维而非类比思维做决策。
39
- 你负责从根本上质疑假设,推动激进但可行的创新方案。