swarm-engine 1.0.0

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 (431) hide show
  1. package/AGENTS.md +72 -0
  2. package/CLAUDE.md +89 -0
  3. package/LICENSE +21 -0
  4. package/README.md +235 -0
  5. package/agents/accessibility-reviewer.md +118 -0
  6. package/agents/api-contract-reviewer.md +99 -0
  7. package/agents/concurrency-reviewer.md +111 -0
  8. package/agents/data-integrity-reviewer.md +103 -0
  9. package/agents/debugger.md +99 -0
  10. package/agents/dependency-reviewer.md +115 -0
  11. package/agents/devils-advocate.md +94 -0
  12. package/agents/documentation-reviewer.md +114 -0
  13. package/agents/documenter.md +78 -0
  14. package/agents/error-handling-reviewer.md +113 -0
  15. package/agents/grounding.md +99 -0
  16. package/agents/guardian.md +87 -0
  17. package/agents/implementer.md +141 -0
  18. package/agents/integrator.md +95 -0
  19. package/agents/judge.md +79 -0
  20. package/agents/librarian.md +90 -0
  21. package/agents/orchestrator.md +331 -0
  22. package/agents/performance-reviewer.md +93 -0
  23. package/agents/planner.md +106 -0
  24. package/agents/refactorer.md +92 -0
  25. package/agents/researcher.md +97 -0
  26. package/agents/reviewer.md +117 -0
  27. package/agents/security-reviewer.md +107 -0
  28. package/agents/sentinel.md +92 -0
  29. package/agents/tester.md +93 -0
  30. package/agents/testing-reviewer.md +112 -0
  31. package/commands/diff-review.md +64 -0
  32. package/commands/fix-pr.md +78 -0
  33. package/commands/red-team.md +82 -0
  34. package/commands/research.md +59 -0
  35. package/commands/resume.md +80 -0
  36. package/commands/review-cycle.md +123 -0
  37. package/commands/swarm-setup.md +28 -0
  38. package/commands/swarm.md +126 -0
  39. package/commands/tdd.md +91 -0
  40. package/dist/cli/bin.d.ts +3 -0
  41. package/dist/cli/bin.d.ts.map +1 -0
  42. package/dist/cli/bin.js +3 -0
  43. package/dist/cli/bin.js.map +1 -0
  44. package/dist/cli/commands/acp.d.ts +3 -0
  45. package/dist/cli/commands/acp.d.ts.map +1 -0
  46. package/dist/cli/commands/acp.js +29 -0
  47. package/dist/cli/commands/acp.js.map +1 -0
  48. package/dist/cli/commands/agents.d.ts +3 -0
  49. package/dist/cli/commands/agents.d.ts.map +1 -0
  50. package/dist/cli/commands/agents.js +344 -0
  51. package/dist/cli/commands/agents.js.map +1 -0
  52. package/dist/cli/commands/backends.d.ts +3 -0
  53. package/dist/cli/commands/backends.d.ts.map +1 -0
  54. package/dist/cli/commands/backends.js +22 -0
  55. package/dist/cli/commands/backends.js.map +1 -0
  56. package/dist/cli/commands/completions.d.ts +3 -0
  57. package/dist/cli/commands/completions.d.ts.map +1 -0
  58. package/dist/cli/commands/completions.js +85 -0
  59. package/dist/cli/commands/completions.js.map +1 -0
  60. package/dist/cli/commands/compound.d.ts +3 -0
  61. package/dist/cli/commands/compound.d.ts.map +1 -0
  62. package/dist/cli/commands/compound.js +119 -0
  63. package/dist/cli/commands/compound.js.map +1 -0
  64. package/dist/cli/commands/configure.d.ts +3 -0
  65. package/dist/cli/commands/configure.d.ts.map +1 -0
  66. package/dist/cli/commands/configure.js +151 -0
  67. package/dist/cli/commands/configure.js.map +1 -0
  68. package/dist/cli/commands/convert.d.ts +15 -0
  69. package/dist/cli/commands/convert.d.ts.map +1 -0
  70. package/dist/cli/commands/convert.js +218 -0
  71. package/dist/cli/commands/convert.js.map +1 -0
  72. package/dist/cli/commands/doctor.d.ts +3 -0
  73. package/dist/cli/commands/doctor.d.ts.map +1 -0
  74. package/dist/cli/commands/doctor.js +96 -0
  75. package/dist/cli/commands/doctor.js.map +1 -0
  76. package/dist/cli/commands/init.d.ts +3 -0
  77. package/dist/cli/commands/init.d.ts.map +1 -0
  78. package/dist/cli/commands/init.js +154 -0
  79. package/dist/cli/commands/init.js.map +1 -0
  80. package/dist/cli/commands/learn.d.ts +3 -0
  81. package/dist/cli/commands/learn.d.ts.map +1 -0
  82. package/dist/cli/commands/learn.js +163 -0
  83. package/dist/cli/commands/learn.js.map +1 -0
  84. package/dist/cli/commands/mcp.d.ts +3 -0
  85. package/dist/cli/commands/mcp.d.ts.map +1 -0
  86. package/dist/cli/commands/mcp.js +89 -0
  87. package/dist/cli/commands/mcp.js.map +1 -0
  88. package/dist/cli/commands/memory.d.ts +3 -0
  89. package/dist/cli/commands/memory.d.ts.map +1 -0
  90. package/dist/cli/commands/memory.js +134 -0
  91. package/dist/cli/commands/memory.js.map +1 -0
  92. package/dist/cli/commands/orchestrate.d.ts +3 -0
  93. package/dist/cli/commands/orchestrate.d.ts.map +1 -0
  94. package/dist/cli/commands/orchestrate.js +237 -0
  95. package/dist/cli/commands/orchestrate.js.map +1 -0
  96. package/dist/cli/commands/patterns.d.ts +3 -0
  97. package/dist/cli/commands/patterns.d.ts.map +1 -0
  98. package/dist/cli/commands/patterns.js +25 -0
  99. package/dist/cli/commands/patterns.js.map +1 -0
  100. package/dist/cli/commands/plan.d.ts +3 -0
  101. package/dist/cli/commands/plan.d.ts.map +1 -0
  102. package/dist/cli/commands/plan.js +77 -0
  103. package/dist/cli/commands/plan.js.map +1 -0
  104. package/dist/cli/commands/plugin.d.ts +3 -0
  105. package/dist/cli/commands/plugin.d.ts.map +1 -0
  106. package/dist/cli/commands/plugin.js +124 -0
  107. package/dist/cli/commands/plugin.js.map +1 -0
  108. package/dist/cli/commands/resume.d.ts +3 -0
  109. package/dist/cli/commands/resume.d.ts.map +1 -0
  110. package/dist/cli/commands/resume.js +55 -0
  111. package/dist/cli/commands/resume.js.map +1 -0
  112. package/dist/cli/commands/run.d.ts +3 -0
  113. package/dist/cli/commands/run.d.ts.map +1 -0
  114. package/dist/cli/commands/run.js +78 -0
  115. package/dist/cli/commands/run.js.map +1 -0
  116. package/dist/cli/commands/share.d.ts +3 -0
  117. package/dist/cli/commands/share.d.ts.map +1 -0
  118. package/dist/cli/commands/share.js +34 -0
  119. package/dist/cli/commands/share.js.map +1 -0
  120. package/dist/cli/commands/status.d.ts +3 -0
  121. package/dist/cli/commands/status.d.ts.map +1 -0
  122. package/dist/cli/commands/status.js +148 -0
  123. package/dist/cli/commands/status.js.map +1 -0
  124. package/dist/cli/commands/template.d.ts +3 -0
  125. package/dist/cli/commands/template.d.ts.map +1 -0
  126. package/dist/cli/commands/template.js +213 -0
  127. package/dist/cli/commands/template.js.map +1 -0
  128. package/dist/cli/commands/vault.d.ts +3 -0
  129. package/dist/cli/commands/vault.d.ts.map +1 -0
  130. package/dist/cli/commands/vault.js +402 -0
  131. package/dist/cli/commands/vault.js.map +1 -0
  132. package/dist/cli/commands/verify.d.ts +3 -0
  133. package/dist/cli/commands/verify.d.ts.map +1 -0
  134. package/dist/cli/commands/verify.js +38 -0
  135. package/dist/cli/commands/verify.js.map +1 -0
  136. package/dist/cli/commands/version.d.ts +3 -0
  137. package/dist/cli/commands/version.d.ts.map +1 -0
  138. package/dist/cli/commands/version.js +19 -0
  139. package/dist/cli/commands/version.js.map +1 -0
  140. package/dist/cli/commands/watch.d.ts +3 -0
  141. package/dist/cli/commands/watch.d.ts.map +1 -0
  142. package/dist/cli/commands/watch.js +179 -0
  143. package/dist/cli/commands/watch.js.map +1 -0
  144. package/dist/cli/index.d.ts +3 -0
  145. package/dist/cli/index.d.ts.map +1 -0
  146. package/dist/cli/index.js +118 -0
  147. package/dist/cli/index.js.map +1 -0
  148. package/dist/core/checkpoint.d.ts +35 -0
  149. package/dist/core/checkpoint.d.ts.map +1 -0
  150. package/dist/core/checkpoint.js +80 -0
  151. package/dist/core/checkpoint.js.map +1 -0
  152. package/dist/core/event-bus.d.ts +41 -0
  153. package/dist/core/event-bus.d.ts.map +1 -0
  154. package/dist/core/event-bus.js +115 -0
  155. package/dist/core/event-bus.js.map +1 -0
  156. package/dist/core/lifecycle.d.ts +30 -0
  157. package/dist/core/lifecycle.d.ts.map +1 -0
  158. package/dist/core/lifecycle.js +72 -0
  159. package/dist/core/lifecycle.js.map +1 -0
  160. package/dist/core/patterns.d.ts +43 -0
  161. package/dist/core/patterns.d.ts.map +1 -0
  162. package/dist/core/patterns.js +372 -0
  163. package/dist/core/patterns.js.map +1 -0
  164. package/dist/core/permissions.d.ts +40 -0
  165. package/dist/core/permissions.d.ts.map +1 -0
  166. package/dist/core/permissions.js +113 -0
  167. package/dist/core/permissions.js.map +1 -0
  168. package/dist/core/registry.d.ts +80 -0
  169. package/dist/core/registry.d.ts.map +1 -0
  170. package/dist/core/registry.js +308 -0
  171. package/dist/core/registry.js.map +1 -0
  172. package/dist/core/snapshots.d.ts +20 -0
  173. package/dist/core/snapshots.d.ts.map +1 -0
  174. package/dist/core/snapshots.js +73 -0
  175. package/dist/core/snapshots.js.map +1 -0
  176. package/dist/core/types.d.ts +168 -0
  177. package/dist/core/types.d.ts.map +1 -0
  178. package/dist/core/types.js +33 -0
  179. package/dist/core/types.js.map +1 -0
  180. package/dist/hooks/cli.d.ts +11 -0
  181. package/dist/hooks/cli.d.ts.map +1 -0
  182. package/dist/hooks/cli.js +32 -0
  183. package/dist/hooks/cli.js.map +1 -0
  184. package/dist/hooks/index.d.ts +23 -0
  185. package/dist/hooks/index.d.ts.map +1 -0
  186. package/dist/hooks/index.js +58 -0
  187. package/dist/hooks/index.js.map +1 -0
  188. package/dist/index.d.ts +82 -0
  189. package/dist/index.d.ts.map +1 -0
  190. package/dist/index.js +49 -0
  191. package/dist/index.js.map +1 -0
  192. package/dist/memory/index.d.ts +105 -0
  193. package/dist/memory/index.d.ts.map +1 -0
  194. package/dist/memory/index.js +298 -0
  195. package/dist/memory/index.js.map +1 -0
  196. package/dist/memory/schema.d.ts +6 -0
  197. package/dist/memory/schema.d.ts.map +1 -0
  198. package/dist/memory/schema.js +71 -0
  199. package/dist/memory/schema.js.map +1 -0
  200. package/dist/plugin/index.d.ts +6 -0
  201. package/dist/plugin/index.d.ts.map +1 -0
  202. package/dist/plugin/index.js +182 -0
  203. package/dist/plugin/index.js.map +1 -0
  204. package/dist/runtime/acp.d.ts +41 -0
  205. package/dist/runtime/acp.d.ts.map +1 -0
  206. package/dist/runtime/acp.js +137 -0
  207. package/dist/runtime/acp.js.map +1 -0
  208. package/dist/runtime/adaptive.d.ts +34 -0
  209. package/dist/runtime/adaptive.d.ts.map +1 -0
  210. package/dist/runtime/adaptive.js +229 -0
  211. package/dist/runtime/adaptive.js.map +1 -0
  212. package/dist/runtime/autonomy.d.ts +21 -0
  213. package/dist/runtime/autonomy.d.ts.map +1 -0
  214. package/dist/runtime/autonomy.js +74 -0
  215. package/dist/runtime/autonomy.js.map +1 -0
  216. package/dist/runtime/backends/claude.d.ts +9 -0
  217. package/dist/runtime/backends/claude.d.ts.map +1 -0
  218. package/dist/runtime/backends/claude.js +134 -0
  219. package/dist/runtime/backends/claude.js.map +1 -0
  220. package/dist/runtime/backends/codex.d.ts +9 -0
  221. package/dist/runtime/backends/codex.d.ts.map +1 -0
  222. package/dist/runtime/backends/codex.js +132 -0
  223. package/dist/runtime/backends/codex.js.map +1 -0
  224. package/dist/runtime/backends/gemini.d.ts +9 -0
  225. package/dist/runtime/backends/gemini.d.ts.map +1 -0
  226. package/dist/runtime/backends/gemini.js +103 -0
  227. package/dist/runtime/backends/gemini.js.map +1 -0
  228. package/dist/runtime/backends/index.d.ts +17 -0
  229. package/dist/runtime/backends/index.d.ts.map +1 -0
  230. package/dist/runtime/backends/index.js +39 -0
  231. package/dist/runtime/backends/index.js.map +1 -0
  232. package/dist/runtime/backends/mock.d.ts +21 -0
  233. package/dist/runtime/backends/mock.d.ts.map +1 -0
  234. package/dist/runtime/backends/mock.js +46 -0
  235. package/dist/runtime/backends/mock.js.map +1 -0
  236. package/dist/runtime/backends/types.d.ts +34 -0
  237. package/dist/runtime/backends/types.d.ts.map +1 -0
  238. package/dist/runtime/backends/types.js +2 -0
  239. package/dist/runtime/backends/types.js.map +1 -0
  240. package/dist/runtime/backends/vercel-ai.d.ts +14 -0
  241. package/dist/runtime/backends/vercel-ai.d.ts.map +1 -0
  242. package/dist/runtime/backends/vercel-ai.js +137 -0
  243. package/dist/runtime/backends/vercel-ai.js.map +1 -0
  244. package/dist/runtime/cache-optimizer.d.ts +37 -0
  245. package/dist/runtime/cache-optimizer.d.ts.map +1 -0
  246. package/dist/runtime/cache-optimizer.js +54 -0
  247. package/dist/runtime/cache-optimizer.js.map +1 -0
  248. package/dist/runtime/cascade.d.ts +26 -0
  249. package/dist/runtime/cascade.d.ts.map +1 -0
  250. package/dist/runtime/cascade.js +54 -0
  251. package/dist/runtime/cascade.js.map +1 -0
  252. package/dist/runtime/chunker.d.ts +36 -0
  253. package/dist/runtime/chunker.d.ts.map +1 -0
  254. package/dist/runtime/chunker.js +210 -0
  255. package/dist/runtime/chunker.js.map +1 -0
  256. package/dist/runtime/compaction.d.ts +22 -0
  257. package/dist/runtime/compaction.d.ts.map +1 -0
  258. package/dist/runtime/compaction.js +36 -0
  259. package/dist/runtime/compaction.js.map +1 -0
  260. package/dist/runtime/compounder.d.ts +66 -0
  261. package/dist/runtime/compounder.d.ts.map +1 -0
  262. package/dist/runtime/compounder.js +276 -0
  263. package/dist/runtime/compounder.js.map +1 -0
  264. package/dist/runtime/cost-model.d.ts +24 -0
  265. package/dist/runtime/cost-model.d.ts.map +1 -0
  266. package/dist/runtime/cost-model.js +120 -0
  267. package/dist/runtime/cost-model.js.map +1 -0
  268. package/dist/runtime/distiller.d.ts +21 -0
  269. package/dist/runtime/distiller.d.ts.map +1 -0
  270. package/dist/runtime/distiller.js +70 -0
  271. package/dist/runtime/distiller.js.map +1 -0
  272. package/dist/runtime/engine.d.ts +123 -0
  273. package/dist/runtime/engine.d.ts.map +1 -0
  274. package/dist/runtime/engine.js +969 -0
  275. package/dist/runtime/engine.js.map +1 -0
  276. package/dist/runtime/executor.d.ts +71 -0
  277. package/dist/runtime/executor.d.ts.map +1 -0
  278. package/dist/runtime/executor.js +283 -0
  279. package/dist/runtime/executor.js.map +1 -0
  280. package/dist/runtime/heuristics.d.ts +33 -0
  281. package/dist/runtime/heuristics.d.ts.map +1 -0
  282. package/dist/runtime/heuristics.js +188 -0
  283. package/dist/runtime/heuristics.js.map +1 -0
  284. package/dist/runtime/living-spec.d.ts +34 -0
  285. package/dist/runtime/living-spec.d.ts.map +1 -0
  286. package/dist/runtime/living-spec.js +91 -0
  287. package/dist/runtime/living-spec.js.map +1 -0
  288. package/dist/runtime/lsp.d.ts +50 -0
  289. package/dist/runtime/lsp.d.ts.map +1 -0
  290. package/dist/runtime/lsp.js +110 -0
  291. package/dist/runtime/lsp.js.map +1 -0
  292. package/dist/runtime/mcp.d.ts +27 -0
  293. package/dist/runtime/mcp.d.ts.map +1 -0
  294. package/dist/runtime/mcp.js +154 -0
  295. package/dist/runtime/mcp.js.map +1 -0
  296. package/dist/runtime/model-router.d.ts +22 -0
  297. package/dist/runtime/model-router.d.ts.map +1 -0
  298. package/dist/runtime/model-router.js +94 -0
  299. package/dist/runtime/model-router.js.map +1 -0
  300. package/dist/runtime/panes.d.ts +76 -0
  301. package/dist/runtime/panes.d.ts.map +1 -0
  302. package/dist/runtime/panes.js +279 -0
  303. package/dist/runtime/panes.js.map +1 -0
  304. package/dist/runtime/plan-search.d.ts +41 -0
  305. package/dist/runtime/plan-search.d.ts.map +1 -0
  306. package/dist/runtime/plan-search.js +140 -0
  307. package/dist/runtime/plan-search.js.map +1 -0
  308. package/dist/runtime/plugins.d.ts +59 -0
  309. package/dist/runtime/plugins.d.ts.map +1 -0
  310. package/dist/runtime/plugins.js +121 -0
  311. package/dist/runtime/plugins.js.map +1 -0
  312. package/dist/runtime/reflexion.d.ts +22 -0
  313. package/dist/runtime/reflexion.d.ts.map +1 -0
  314. package/dist/runtime/reflexion.js +85 -0
  315. package/dist/runtime/reflexion.js.map +1 -0
  316. package/dist/runtime/review-schema.d.ts +75 -0
  317. package/dist/runtime/review-schema.d.ts.map +1 -0
  318. package/dist/runtime/review-schema.js +223 -0
  319. package/dist/runtime/review-schema.js.map +1 -0
  320. package/dist/runtime/rewriter.d.ts +8 -0
  321. package/dist/runtime/rewriter.d.ts.map +1 -0
  322. package/dist/runtime/rewriter.js +81 -0
  323. package/dist/runtime/rewriter.js.map +1 -0
  324. package/dist/runtime/sharing.d.ts +15 -0
  325. package/dist/runtime/sharing.d.ts.map +1 -0
  326. package/dist/runtime/sharing.js +48 -0
  327. package/dist/runtime/sharing.js.map +1 -0
  328. package/dist/runtime/stats.d.ts +53 -0
  329. package/dist/runtime/stats.d.ts.map +1 -0
  330. package/dist/runtime/stats.js +160 -0
  331. package/dist/runtime/stats.js.map +1 -0
  332. package/dist/runtime/templates.d.ts +77 -0
  333. package/dist/runtime/templates.d.ts.map +1 -0
  334. package/dist/runtime/templates.js +221 -0
  335. package/dist/runtime/templates.js.map +1 -0
  336. package/dist/runtime/traces.d.ts +60 -0
  337. package/dist/runtime/traces.d.ts.map +1 -0
  338. package/dist/runtime/traces.js +166 -0
  339. package/dist/runtime/traces.js.map +1 -0
  340. package/dist/runtime/verifier.d.ts +54 -0
  341. package/dist/runtime/verifier.d.ts.map +1 -0
  342. package/dist/runtime/verifier.js +172 -0
  343. package/dist/runtime/verifier.js.map +1 -0
  344. package/dist/runtime/worktree.d.ts +24 -0
  345. package/dist/runtime/worktree.d.ts.map +1 -0
  346. package/dist/runtime/worktree.js +82 -0
  347. package/dist/runtime/worktree.js.map +1 -0
  348. package/dist/tui/dashboard.d.ts +65 -0
  349. package/dist/tui/dashboard.d.ts.map +1 -0
  350. package/dist/tui/dashboard.js +496 -0
  351. package/dist/tui/dashboard.js.map +1 -0
  352. package/dist/tui/progress.d.ts +32 -0
  353. package/dist/tui/progress.d.ts.map +1 -0
  354. package/dist/tui/progress.js +257 -0
  355. package/dist/tui/progress.js.map +1 -0
  356. package/dist/tui/renderer.d.ts +72 -0
  357. package/dist/tui/renderer.d.ts.map +1 -0
  358. package/dist/tui/renderer.js +205 -0
  359. package/dist/tui/renderer.js.map +1 -0
  360. package/dist/utils/compact-format.d.ts +35 -0
  361. package/dist/utils/compact-format.d.ts.map +1 -0
  362. package/dist/utils/compact-format.js +106 -0
  363. package/dist/utils/compact-format.js.map +1 -0
  364. package/dist/utils/config.d.ts +73 -0
  365. package/dist/utils/config.d.ts.map +1 -0
  366. package/dist/utils/config.js +70 -0
  367. package/dist/utils/config.js.map +1 -0
  368. package/dist/utils/env.d.ts +6 -0
  369. package/dist/utils/env.d.ts.map +1 -0
  370. package/dist/utils/env.js +28 -0
  371. package/dist/utils/env.js.map +1 -0
  372. package/dist/utils/errors.d.ts +14 -0
  373. package/dist/utils/errors.d.ts.map +1 -0
  374. package/dist/utils/errors.js +120 -0
  375. package/dist/utils/errors.js.map +1 -0
  376. package/dist/utils/logger.d.ts +14 -0
  377. package/dist/utils/logger.d.ts.map +1 -0
  378. package/dist/utils/logger.js +56 -0
  379. package/dist/utils/logger.js.map +1 -0
  380. package/dist/utils/output.d.ts +10 -0
  381. package/dist/utils/output.d.ts.map +1 -0
  382. package/dist/utils/output.js +26 -0
  383. package/dist/utils/output.js.map +1 -0
  384. package/dist/utils/paths.d.ts +7 -0
  385. package/dist/utils/paths.d.ts.map +1 -0
  386. package/dist/utils/paths.js +16 -0
  387. package/dist/utils/paths.js.map +1 -0
  388. package/dist/utils/project-config.d.ts +18 -0
  389. package/dist/utils/project-config.d.ts.map +1 -0
  390. package/dist/utils/project-config.js +46 -0
  391. package/dist/utils/project-config.js.map +1 -0
  392. package/dist/utils/redact.d.ts +5 -0
  393. package/dist/utils/redact.d.ts.map +1 -0
  394. package/dist/utils/redact.js +25 -0
  395. package/dist/utils/redact.js.map +1 -0
  396. package/dist/utils/schemas.d.ts +109 -0
  397. package/dist/utils/schemas.d.ts.map +1 -0
  398. package/dist/utils/schemas.js +63 -0
  399. package/dist/utils/schemas.js.map +1 -0
  400. package/dist/utils/terminal.d.ts +33 -0
  401. package/dist/utils/terminal.d.ts.map +1 -0
  402. package/dist/utils/terminal.js +82 -0
  403. package/dist/utils/terminal.js.map +1 -0
  404. package/dist/utils/tokens.d.ts +9 -0
  405. package/dist/utils/tokens.d.ts.map +1 -0
  406. package/dist/utils/tokens.js +11 -0
  407. package/dist/utils/tokens.js.map +1 -0
  408. package/package.json +71 -0
  409. package/skills/design-system/SKILL.md +195 -0
  410. package/skills/orchestration-patterns/SKILL.md +81 -0
  411. package/skills/orchestration-patterns/examples/example-workflows.md +290 -0
  412. package/skills/orchestration-patterns/references/adversarial.md +51 -0
  413. package/skills/orchestration-patterns/references/batch.md +63 -0
  414. package/skills/orchestration-patterns/references/chaos.md +43 -0
  415. package/skills/orchestration-patterns/references/competitive.md +84 -0
  416. package/skills/orchestration-patterns/references/debate.md +44 -0
  417. package/skills/orchestration-patterns/references/emergence.md +50 -0
  418. package/skills/orchestration-patterns/references/fan-out-fan-in.md +74 -0
  419. package/skills/orchestration-patterns/references/iterative.md +99 -0
  420. package/skills/orchestration-patterns/references/pipeline.md +72 -0
  421. package/skills/swarm-output-style/SKILL.md +85 -0
  422. package/templates/add-endpoint.yml +44 -0
  423. package/templates/add-feature.yml +30 -0
  424. package/templates/agent-template.md +73 -0
  425. package/templates/bug-fix.yml +31 -0
  426. package/templates/explore.yml +21 -0
  427. package/templates/fix-pr.yml +30 -0
  428. package/templates/migration.yml +36 -0
  429. package/templates/refactor.yml +35 -0
  430. package/templates/security-audit.yml +27 -0
  431. package/templates/workflow-template.md +63 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"panes.js","sourceRoot":"","sources":["../../src/runtime/panes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { ExecutionPlan } from '../core/types.js';
2
+ import { CostModel, PlanCost } from './cost-model.js';
3
+ import { TraceStore } from './traces.js';
4
+ export interface PlanCandidate {
5
+ plan: ExecutionPlan;
6
+ cost: PlanCost;
7
+ score: number;
8
+ source: string;
9
+ }
10
+ export interface SearchConfig {
11
+ maxCandidates: number;
12
+ constraints?: {
13
+ maxCostUsd?: number;
14
+ maxDurationMs?: number;
15
+ minQuality?: number;
16
+ };
17
+ }
18
+ /**
19
+ * Search over candidate execution plans and return ranked alternatives.
20
+ * Inspired by MCTS but simplified for orchestration-level decisions:
21
+ * - Enumerate candidates (pattern × model tier permutations)
22
+ * - Score each with CostModel + trace-informed adjustments
23
+ * - Return ranked list
24
+ */
25
+ export declare class PlanSearcher {
26
+ private costModel;
27
+ private traceStore;
28
+ constructor(costModel: CostModel, traceStore?: TraceStore);
29
+ /**
30
+ * Search for the best plan among candidates.
31
+ */
32
+ search(basePlan: ExecutionPlan, config?: SearchConfig): PlanCandidate[];
33
+ /**
34
+ * Get the best plan from search results.
35
+ */
36
+ best(basePlan: ExecutionPlan, config?: SearchConfig): PlanCandidate;
37
+ private withModelOverride;
38
+ private withPhaseModels;
39
+ private traceInformedPlan;
40
+ }
41
+ //# sourceMappingURL=plan-search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-search.d.ts","sourceRoot":"","sources":["../../src/runtime/plan-search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAa,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE;QACZ,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED;;;;;;GAMG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,UAAU,CAAoB;gBAE1B,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,UAAU;IAKzD;;OAEG;IACH,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,GAAE,YAAmC,GAAG,aAAa,EAAE;IAmE7F;;OAEG;IACH,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,aAAa;IAOnE,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,iBAAiB;CA0B1B"}
@@ -0,0 +1,140 @@
1
+ import { rewritePlan } from './rewriter.js';
2
+ /**
3
+ * Search over candidate execution plans and return ranked alternatives.
4
+ * Inspired by MCTS but simplified for orchestration-level decisions:
5
+ * - Enumerate candidates (pattern × model tier permutations)
6
+ * - Score each with CostModel + trace-informed adjustments
7
+ * - Return ranked list
8
+ */
9
+ export class PlanSearcher {
10
+ costModel;
11
+ traceStore;
12
+ constructor(costModel, traceStore) {
13
+ this.costModel = costModel;
14
+ this.traceStore = traceStore ?? null;
15
+ }
16
+ /**
17
+ * Search for the best plan among candidates.
18
+ */
19
+ search(basePlan, config = { maxCandidates: 5 }) {
20
+ const candidates = [];
21
+ // Candidate 1: the base plan as-is
22
+ const baseCost = this.costModel.estimate(basePlan);
23
+ candidates.push({
24
+ plan: basePlan,
25
+ cost: baseCost,
26
+ score: this.costModel.score(basePlan, config.constraints),
27
+ source: 'base',
28
+ });
29
+ // Candidate 2: all-sonnet variant (cheaper)
30
+ const sonnetPlan = this.withModelOverride(basePlan, 'sonnet');
31
+ if (sonnetPlan) {
32
+ const { plan: rewritten } = rewritePlan(sonnetPlan);
33
+ candidates.push({
34
+ plan: rewritten,
35
+ cost: this.costModel.estimate(rewritten),
36
+ score: this.costModel.score(rewritten, config.constraints),
37
+ source: 'all-sonnet',
38
+ });
39
+ }
40
+ // Candidate 3: all-opus variant (highest quality)
41
+ const opusPlan = this.withModelOverride(basePlan, 'opus');
42
+ if (opusPlan) {
43
+ const { plan: rewritten } = rewritePlan(opusPlan);
44
+ candidates.push({
45
+ plan: rewritten,
46
+ cost: this.costModel.estimate(rewritten),
47
+ score: this.costModel.score(rewritten, config.constraints),
48
+ source: 'all-opus',
49
+ });
50
+ }
51
+ // Candidate 4: research-sonnet + implement-opus (hybrid cost/quality)
52
+ const hybridPlan = this.withPhaseModels(basePlan, {
53
+ research: 'sonnet',
54
+ implement: 'opus',
55
+ review: 'sonnet',
56
+ });
57
+ if (hybridPlan) {
58
+ const { plan: rewritten } = rewritePlan(hybridPlan);
59
+ candidates.push({
60
+ plan: rewritten,
61
+ cost: this.costModel.estimate(rewritten),
62
+ score: this.costModel.score(rewritten, config.constraints),
63
+ source: 'hybrid-model-mix',
64
+ });
65
+ }
66
+ // Candidate 5: trace-informed (use the pattern from the most successful similar trace)
67
+ if (this.traceStore) {
68
+ const tracePlan = this.traceInformedPlan(basePlan);
69
+ if (tracePlan) {
70
+ candidates.push(tracePlan);
71
+ }
72
+ }
73
+ // Sort by score (lower is better) and deduplicate
74
+ candidates.sort((a, b) => a.score - b.score);
75
+ // Limit candidates
76
+ return candidates.slice(0, config.maxCandidates);
77
+ }
78
+ /**
79
+ * Get the best plan from search results.
80
+ */
81
+ best(basePlan, config) {
82
+ const candidates = this.search(basePlan, config);
83
+ return candidates[0]; // search always returns at least the base plan
84
+ }
85
+ // ─── Candidate Generators ─────────────────────────────────
86
+ withModelOverride(plan, model) {
87
+ const clone = structuredClone(plan);
88
+ let changed = false;
89
+ for (const phase of clone.phases) {
90
+ for (const agent of phase.agents) {
91
+ if (agent.model !== model) {
92
+ agent.model = model;
93
+ changed = true;
94
+ }
95
+ }
96
+ }
97
+ return changed ? clone : null;
98
+ }
99
+ withPhaseModels(plan, phaseModels) {
100
+ const clone = structuredClone(plan);
101
+ let changed = false;
102
+ for (const phase of clone.phases) {
103
+ const targetModel = Object.entries(phaseModels).find(([key]) => phase.name.includes(key))?.[1];
104
+ if (targetModel) {
105
+ for (const agent of phase.agents) {
106
+ if (agent.model !== targetModel) {
107
+ agent.model = targetModel;
108
+ changed = true;
109
+ }
110
+ }
111
+ }
112
+ }
113
+ return changed ? clone : null;
114
+ }
115
+ traceInformedPlan(basePlan) {
116
+ if (!this.traceStore)
117
+ return null;
118
+ const similar = this.traceStore.findSimilar(basePlan.task, 5);
119
+ const successful = similar.filter(t => t.status === 'completed');
120
+ if (successful.length === 0)
121
+ return null;
122
+ // Find the most efficient successful trace
123
+ const best = successful.sort((a, b) => {
124
+ // Score by efficiency: lower tokens + shorter duration = better
125
+ return (a.totalTokens + a.durationMs / 100) - (b.totalTokens + b.durationMs / 100);
126
+ })[0];
127
+ // If the best trace used a different pattern, that's interesting but we can't change pattern here
128
+ // Instead, copy model assignments from the trace's phases to our plan
129
+ const clone = structuredClone(basePlan);
130
+ // We don't have model info in traces currently, so just note this as a trace-backed plan
131
+ const cost = this.costModel.estimate(clone);
132
+ return {
133
+ plan: clone,
134
+ cost,
135
+ score: this.costModel.score(clone) * 0.9, // 10% bonus for trace-informed plans
136
+ source: `trace-informed (${best.pattern}, ${best.totalTokens} tokens)`,
137
+ };
138
+ }
139
+ }
140
+ //# sourceMappingURL=plan-search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-search.js","sourceRoot":"","sources":["../../src/runtime/plan-search.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import { EventBus } from '../core/event-bus.js';
2
+ export interface PluginTool {
3
+ name: string;
4
+ description: string;
5
+ inputSchema?: Record<string, unknown>;
6
+ execute(args: Record<string, unknown>): Promise<unknown>;
7
+ }
8
+ export interface PluginHooks {
9
+ beforeToolUse?: (context: {
10
+ tool: string;
11
+ agentName: string;
12
+ }) => Promise<void>;
13
+ afterToolUse?: (context: {
14
+ tool: string;
15
+ agentName: string;
16
+ result: unknown;
17
+ }) => Promise<void>;
18
+ onPhaseComplete?: (context: {
19
+ phaseName: string;
20
+ status: string;
21
+ agentCount: number;
22
+ }) => Promise<void>;
23
+ onOrchestrationComplete?: (context: {
24
+ pattern: string;
25
+ status: string;
26
+ durationMs: number;
27
+ }) => Promise<void>;
28
+ }
29
+ export interface SwarmPlugin {
30
+ name: string;
31
+ version?: string;
32
+ description?: string;
33
+ tools?: PluginTool[];
34
+ hooks?: PluginHooks;
35
+ onLoad?(): Promise<void>;
36
+ onUnload?(): Promise<void>;
37
+ }
38
+ export interface PluginManifest {
39
+ name: string;
40
+ version: string;
41
+ description?: string;
42
+ entry: string;
43
+ }
44
+ export declare class PluginLoader {
45
+ private plugins;
46
+ private tools;
47
+ private bus;
48
+ constructor(bus?: EventBus);
49
+ loadAll(cwd?: string): Promise<number>;
50
+ loadDir(dir: string): Promise<number>;
51
+ private reg;
52
+ getAllTools(): PluginTool[];
53
+ listPlugins(): SwarmPlugin[];
54
+ callTool(name: string, args: Record<string, unknown>): Promise<unknown>;
55
+ /** Wire plugin lifecycle hooks to the event bus */
56
+ wireHooks(bus: EventBus): void;
57
+ unloadAll(): Promise<void>;
58
+ }
59
+ //# sourceMappingURL=plugins.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../src/runtime/plugins.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,MAAM,WAAW,UAAU;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAAE;AAEnK,MAAM,WAAW,WAAW;IAC1B,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChF,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChG,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxG,uBAAuB,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/G;AAED,MAAM,WAAW,WAAW;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,WAAW,CAAC;IAAC,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAAE;AACvL,MAAM,WAAW,cAAc;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;CAAE;AAEvG,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAuC;IACtD,OAAO,CAAC,KAAK,CAAsC;IACnD,OAAO,CAAC,GAAG,CAAkB;gBACjB,GAAG,CAAC,EAAE,QAAQ;IAEpB,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOtC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAuB7B,GAAG;IAOjB,WAAW,IAAI,UAAU,EAAE;IAC3B,WAAW,IAAI,WAAW,EAAE;IAEtB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAI7E,mDAAmD;IACnD,SAAS,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI;IA4CxB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAIjC"}
@@ -0,0 +1,121 @@
1
+ import { existsSync, readdirSync, readFileSync } from 'fs';
2
+ import { join, extname, resolve } from 'path';
3
+ import { pathToFileURL } from 'url';
4
+ export class PluginLoader {
5
+ plugins = new Map();
6
+ tools = new Map();
7
+ bus;
8
+ constructor(bus) { this.bus = bus ?? null; }
9
+ async loadAll(cwd) {
10
+ let n = 0;
11
+ n += await this.loadDir(join(cwd ?? process.cwd(), '.swarm', 'plugins'));
12
+ n += await this.loadDir(join(process.env.HOME ?? '', '.swarm', 'plugins'));
13
+ return n;
14
+ }
15
+ async loadDir(dir) {
16
+ if (!existsSync(dir))
17
+ return 0;
18
+ let n = 0;
19
+ for (const e of readdirSync(dir, { withFileTypes: true })) {
20
+ try {
21
+ if (e.isFile() && ['.ts', '.js'].includes(extname(e.name))) {
22
+ const mod = await import(pathToFileURL(join(dir, e.name)).href);
23
+ await this.reg(mod.default ?? mod);
24
+ n++;
25
+ }
26
+ else if (e.isDirectory() && existsSync(join(dir, e.name, 'plugin.json'))) {
27
+ const m = JSON.parse(readFileSync(join(dir, e.name, 'plugin.json'), 'utf-8'));
28
+ const entryPath = resolve(join(dir, e.name, m.entry));
29
+ const pluginRoot = resolve(join(dir, e.name));
30
+ if (!entryPath.startsWith(pluginRoot + '/') && entryPath !== pluginRoot) {
31
+ throw new Error(`Plugin entry path escapes plugin directory: ${m.entry}`);
32
+ }
33
+ const mod = await import(pathToFileURL(entryPath).href);
34
+ const p = mod.default ?? mod;
35
+ p.name = m.name;
36
+ p.version = m.version;
37
+ await this.reg(p);
38
+ n++;
39
+ }
40
+ }
41
+ catch (err) {
42
+ this.bus?.emit('system:warning', { message: `Plugin failed: ${e.name}` }, 'plugins');
43
+ }
44
+ }
45
+ return n;
46
+ }
47
+ async reg(plugin) {
48
+ if (!plugin.name)
49
+ throw new Error('Plugin needs name');
50
+ if (plugin.onLoad)
51
+ await plugin.onLoad();
52
+ if (plugin.tools)
53
+ for (const t of plugin.tools)
54
+ this.tools.set(`${plugin.name}:${t.name}`, t);
55
+ this.plugins.set(plugin.name, plugin);
56
+ }
57
+ getAllTools() { return [...this.tools.values()]; }
58
+ listPlugins() { return [...this.plugins.values()]; }
59
+ async callTool(name, args) {
60
+ const t = this.tools.get(name);
61
+ if (!t)
62
+ throw new Error(`Tool not found: ${name}`);
63
+ return t.execute(args);
64
+ }
65
+ /** Wire plugin lifecycle hooks to the event bus */
66
+ wireHooks(bus) {
67
+ for (const plugin of this.plugins.values()) {
68
+ if (!plugin.hooks)
69
+ continue;
70
+ if (plugin.hooks.beforeToolUse) {
71
+ const hook = plugin.hooks.beforeToolUse;
72
+ bus.on('agent:tool-use', async (event) => {
73
+ const data = event.data;
74
+ try {
75
+ await hook({ tool: String(data.tool ?? ''), agentName: String(data.agentType ?? '') });
76
+ }
77
+ catch { /* Don't crash on hook failure */ }
78
+ });
79
+ }
80
+ if (plugin.hooks.onPhaseComplete) {
81
+ const hook = plugin.hooks.onPhaseComplete;
82
+ bus.on('orchestration:phase-complete', async (event) => {
83
+ const data = event.data;
84
+ try {
85
+ await hook({
86
+ phaseName: String(data.phase ?? ''),
87
+ status: String(data.status ?? ''),
88
+ agentCount: Number(data.agentCount ?? 0),
89
+ });
90
+ }
91
+ catch { /* Don't crash on hook failure */ }
92
+ });
93
+ }
94
+ if (plugin.hooks.onOrchestrationComplete) {
95
+ const hook = plugin.hooks.onOrchestrationComplete;
96
+ bus.on('orchestration:complete', async (event) => {
97
+ const data = event.data;
98
+ try {
99
+ await hook({
100
+ pattern: String(data.pattern ?? ''),
101
+ status: String(data.status ?? ''),
102
+ durationMs: Number(data.durationMs ?? 0),
103
+ });
104
+ }
105
+ catch { /* Don't crash on hook failure */ }
106
+ });
107
+ }
108
+ }
109
+ }
110
+ async unloadAll() {
111
+ for (const p of this.plugins.values())
112
+ if (p.onUnload)
113
+ try {
114
+ await p.onUnload();
115
+ }
116
+ catch { }
117
+ this.plugins.clear();
118
+ this.tools.clear();
119
+ }
120
+ }
121
+ //# sourceMappingURL=plugins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/runtime/plugins.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { PhaseInstance } from '../core/types.js';
2
+ export interface Reflection {
3
+ phaseName: string;
4
+ summary: string;
5
+ whatWorked: string[];
6
+ whatFailed: string[];
7
+ improvements: string[];
8
+ confidence: 'high' | 'medium' | 'low';
9
+ }
10
+ export declare class ReflectionEngine {
11
+ /**
12
+ * Generate a reflection from phase results.
13
+ * This is a deterministic analysis — no LLM calls.
14
+ * The reflection gets stored in memory and injected into subsequent phases.
15
+ */
16
+ reflect(phase: PhaseInstance): Reflection;
17
+ /**
18
+ * Format a reflection for injection into subsequent agent context.
19
+ */
20
+ format(reflection: Reflection): string;
21
+ }
22
+ //# sourceMappingURL=reflexion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reflexion.d.ts","sourceRoot":"","sources":["../../src/runtime/reflexion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;CACvC;AAED,qBAAa,gBAAgB;IAC3B;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,UAAU;IAyDzC;;OAEG;IACH,MAAM,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM;CAuBvC"}
@@ -0,0 +1,85 @@
1
+ export class ReflectionEngine {
2
+ /**
3
+ * Generate a reflection from phase results.
4
+ * This is a deterministic analysis — no LLM calls.
5
+ * The reflection gets stored in memory and injected into subsequent phases.
6
+ */
7
+ reflect(phase) {
8
+ const whatWorked = [];
9
+ const whatFailed = [];
10
+ const improvements = [];
11
+ // Analyze each agent's result
12
+ for (const agent of phase.agents) {
13
+ if (agent.status === 'shutdown' || agent.status === 'idle') {
14
+ const conf = agent.result?.confidence ?? 'medium';
15
+ if (conf === 'high') {
16
+ whatWorked.push(`${agent.config.name}: completed with high confidence`);
17
+ }
18
+ else if (conf === 'low') {
19
+ whatFailed.push(`${agent.config.name}: low confidence — results may be unreliable`);
20
+ improvements.push(`Consider re-running ${agent.config.name} with more specific instructions`);
21
+ }
22
+ // Check for blockers
23
+ if (agent.result?.blockers && agent.result.blockers.length > 0) {
24
+ whatFailed.push(`${agent.config.name}: reported blockers: ${agent.result.blockers.join(', ')}`);
25
+ improvements.push(`Address blockers before proceeding: ${agent.result.blockers.join(', ')}`);
26
+ }
27
+ // Check token efficiency
28
+ if (agent.usage.totalTokens > 50000) {
29
+ improvements.push(`${agent.config.name} used ${agent.usage.totalTokens} tokens — consider using a cheaper model or narrower scope`);
30
+ }
31
+ }
32
+ else if (agent.status === 'error') {
33
+ whatFailed.push(`${agent.config.name}: failed with error: ${agent.error ?? 'unknown'}`);
34
+ improvements.push(`Retry ${agent.config.name} with different approach or model`);
35
+ }
36
+ else if (agent.status === 'timeout') {
37
+ whatFailed.push(`${agent.config.name}: timed out`);
38
+ improvements.push(`Increase timeout for ${agent.config.name} or split into smaller tasks`);
39
+ }
40
+ }
41
+ // Phase-level analysis
42
+ if (phase.agents.length > 1 && !phase.config.parallel) {
43
+ improvements.push('This sequential phase has multiple agents — consider parallelizing');
44
+ }
45
+ // Overall confidence
46
+ const errorCount = phase.agents.filter(a => a.status === 'error' || a.status === 'timeout').length;
47
+ const lowConfCount = phase.agents.filter(a => a.result?.confidence === 'low').length;
48
+ const confidence = errorCount > 0 ? 'low' :
49
+ lowConfCount > 0 ? 'medium' : 'high';
50
+ return {
51
+ phaseName: phase.config.name,
52
+ summary: `Phase ${phase.config.name}: ${phase.agents.length} agents, ${phase.usage.totalTokens} tokens, ${Math.round(phase.usage.durationMs / 1000)}s. ${whatFailed.length} issues found.`,
53
+ whatWorked,
54
+ whatFailed,
55
+ improvements,
56
+ confidence,
57
+ };
58
+ }
59
+ /**
60
+ * Format a reflection for injection into subsequent agent context.
61
+ */
62
+ format(reflection) {
63
+ const lines = [
64
+ `## Reflection from ${reflection.phaseName}`,
65
+ `Confidence: ${reflection.confidence}`,
66
+ ];
67
+ if (reflection.whatWorked.length > 0) {
68
+ lines.push('\nWhat worked:');
69
+ for (const w of reflection.whatWorked)
70
+ lines.push(` + ${w}`);
71
+ }
72
+ if (reflection.whatFailed.length > 0) {
73
+ lines.push('\nIssues:');
74
+ for (const f of reflection.whatFailed)
75
+ lines.push(` - ${f}`);
76
+ }
77
+ if (reflection.improvements.length > 0) {
78
+ lines.push('\nImprovement notes for subsequent phases:');
79
+ for (const i of reflection.improvements)
80
+ lines.push(` → ${i}`);
81
+ }
82
+ return lines.join('\n');
83
+ }
84
+ }
85
+ //# sourceMappingURL=reflexion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reflexion.js","sourceRoot":"","sources":["../../src/runtime/reflexion.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Structured review findings schema.
3
+ * Inspired by Compound Engineering's tiered review system.
4
+ *
5
+ * Enables: confidence gating (suppress low-confidence findings),
6
+ * severity classification (P0-P3), and autofix categorization.
7
+ */
8
+ export type Severity = 'P0' | 'P1' | 'P2' | 'P3';
9
+ export type AutofixClass = 'safe_auto' | 'gated_auto' | 'manual' | 'advisory';
10
+ export interface ReviewFinding {
11
+ id: string;
12
+ severity: Severity;
13
+ confidence: number;
14
+ category: string;
15
+ title: string;
16
+ description: string;
17
+ file?: string;
18
+ line?: number;
19
+ autofixClass: AutofixClass;
20
+ suggestedFix?: string;
21
+ cweId?: string;
22
+ reviewer: string;
23
+ }
24
+ export interface ReviewReport {
25
+ orchestrationId: string;
26
+ timestamp: string;
27
+ reviewers: string[];
28
+ findings: ReviewFinding[];
29
+ summary: ReviewSummary;
30
+ gateResult: 'pass' | 'fail' | 'warn';
31
+ }
32
+ export interface ReviewSummary {
33
+ totalFindings: number;
34
+ bySeverity: Record<Severity, number>;
35
+ byCategory: Record<string, number>;
36
+ avgConfidence: number;
37
+ gatedCount: number;
38
+ autofixableCount: number;
39
+ }
40
+ export interface ReviewGateConfig {
41
+ minConfidence: number;
42
+ failOnP0: boolean;
43
+ failOnP1Count: number;
44
+ maxFindings: number;
45
+ }
46
+ export declare const DEFAULT_GATE_CONFIG: ReviewGateConfig;
47
+ /**
48
+ * Parse agent review output into structured findings.
49
+ * Agents are instructed to output in a specific format;
50
+ * this parser extracts structured data from their prose.
51
+ */
52
+ export declare function parseReviewOutput(output: string, reviewer: string): ReviewFinding[];
53
+ /**
54
+ * Apply confidence gating — suppress low-confidence findings.
55
+ */
56
+ export declare function applyConfidenceGate(findings: ReviewFinding[], minConfidence?: number): {
57
+ kept: ReviewFinding[];
58
+ gated: ReviewFinding[];
59
+ };
60
+ /**
61
+ * Evaluate the review gate — pass, fail, or warn.
62
+ */
63
+ export declare function evaluateGate(findings: ReviewFinding[], config?: ReviewGateConfig): {
64
+ result: 'pass' | 'fail' | 'warn';
65
+ reason: string;
66
+ };
67
+ /**
68
+ * Generate a review summary from findings.
69
+ */
70
+ export declare function summarizeFindings(findings: ReviewFinding[], config?: ReviewGateConfig): ReviewSummary;
71
+ /**
72
+ * Format findings for display.
73
+ */
74
+ export declare function formatFindings(findings: ReviewFinding[]): string;
75
+ //# sourceMappingURL=review-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review-schema.d.ts","sourceRoot":"","sources":["../../src/runtime/review-schema.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AACjD,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,YAAY,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE9E,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,OAAO,EAAE,aAAa,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,mBAAmB,EAAE,gBAKjC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,CAsEnF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,aAAa,GAAE,MAA0C,GAAG;IACzH,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB,CAaA;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,MAAM,GAAE,gBAAsC,GAAG;IACvG,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB,CAmBA;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,MAAM,GAAE,gBAAsC,GAAG,aAAa,CAuB1H;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,MAAM,CAwBhE"}