hivemind-pipeline 0.1.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 (788) hide show
  1. package/LICENSE +63 -0
  2. package/README.md +352 -0
  3. package/dist/bin/swarm.d.ts +3 -0
  4. package/dist/bin/swarm.d.ts.map +1 -0
  5. package/dist/bin/swarm.js +293 -0
  6. package/dist/bin/swarm.js.map +1 -0
  7. package/dist/dashboard/assets/index-Cf_KwDES.js +359 -0
  8. package/dist/dashboard/assets/index-SatEQz0u.css +1 -0
  9. package/dist/dashboard/index.html +16 -0
  10. package/dist/prompts/Architect-Go.md +455 -0
  11. package/dist/prompts/Architect-Node.md +379 -0
  12. package/dist/prompts/Architect-Python.md +63 -0
  13. package/dist/prompts/Architect-React.md +352 -0
  14. package/dist/prompts/Architect-Rust.md +63 -0
  15. package/dist/prompts/Architect-Swift.md +61 -0
  16. package/dist/prompts/Software-engineer-go.md +254 -0
  17. package/dist/prompts/Software-engineer-node.md +241 -0
  18. package/dist/prompts/Software-engineer-python.md +70 -0
  19. package/dist/prompts/Software-engineer-react.md +167 -0
  20. package/dist/prompts/Software-engineer-rust.md +69 -0
  21. package/dist/prompts/Software-engineer-swift.md +69 -0
  22. package/dist/prompts/Software-lead-go.md +247 -0
  23. package/dist/prompts/Software-lead-node.md +238 -0
  24. package/dist/prompts/Software-lead-python.md +53 -0
  25. package/dist/prompts/Software-lead-react.md +229 -0
  26. package/dist/prompts/Software-lead-rust.md +53 -0
  27. package/dist/prompts/Software-lead-swift.md +53 -0
  28. package/dist/prompts/analyst-go.md +351 -0
  29. package/dist/prompts/analyst-node.md +317 -0
  30. package/dist/prompts/analyst-python.md +139 -0
  31. package/dist/prompts/analyst-react.md +428 -0
  32. package/dist/prompts/analyst-rust.md +125 -0
  33. package/dist/prompts/analyst-swift.md +125 -0
  34. package/dist/prompts/test-engineer-go.md +99 -0
  35. package/dist/prompts/test-engineer-node.md +97 -0
  36. package/dist/prompts/test-engineer-python.md +61 -0
  37. package/dist/prompts/test-engineer-react.md +104 -0
  38. package/dist/prompts/test-engineer-rust.md +62 -0
  39. package/dist/prompts/test-engineer-swift.md +66 -0
  40. package/dist/src/__tests__/commands/analyze.test.d.ts +2 -0
  41. package/dist/src/__tests__/commands/analyze.test.d.ts.map +1 -0
  42. package/dist/src/__tests__/commands/analyze.test.js +61 -0
  43. package/dist/src/__tests__/commands/analyze.test.js.map +1 -0
  44. package/dist/src/__tests__/commands/architect.test.d.ts +2 -0
  45. package/dist/src/__tests__/commands/architect.test.d.ts.map +1 -0
  46. package/dist/src/__tests__/commands/architect.test.js +46 -0
  47. package/dist/src/__tests__/commands/architect.test.js.map +1 -0
  48. package/dist/src/__tests__/commands/build.test.d.ts +2 -0
  49. package/dist/src/__tests__/commands/build.test.d.ts.map +1 -0
  50. package/dist/src/__tests__/commands/build.test.js +69 -0
  51. package/dist/src/__tests__/commands/build.test.js.map +1 -0
  52. package/dist/src/__tests__/commands/dashboard.test.d.ts +2 -0
  53. package/dist/src/__tests__/commands/dashboard.test.d.ts.map +1 -0
  54. package/dist/src/__tests__/commands/dashboard.test.js +95 -0
  55. package/dist/src/__tests__/commands/dashboard.test.js.map +1 -0
  56. package/dist/src/__tests__/commands/doctor.test.d.ts +2 -0
  57. package/dist/src/__tests__/commands/doctor.test.d.ts.map +1 -0
  58. package/dist/src/__tests__/commands/doctor.test.js +69 -0
  59. package/dist/src/__tests__/commands/doctor.test.js.map +1 -0
  60. package/dist/src/__tests__/commands/fix.test.d.ts +2 -0
  61. package/dist/src/__tests__/commands/fix.test.d.ts.map +1 -0
  62. package/dist/src/__tests__/commands/fix.test.js +147 -0
  63. package/dist/src/__tests__/commands/fix.test.js.map +1 -0
  64. package/dist/src/__tests__/commands/init.test.d.ts +2 -0
  65. package/dist/src/__tests__/commands/init.test.d.ts.map +1 -0
  66. package/dist/src/__tests__/commands/init.test.js +79 -0
  67. package/dist/src/__tests__/commands/init.test.js.map +1 -0
  68. package/dist/src/__tests__/commands/learn.test.d.ts +2 -0
  69. package/dist/src/__tests__/commands/learn.test.d.ts.map +1 -0
  70. package/dist/src/__tests__/commands/learn.test.js +64 -0
  71. package/dist/src/__tests__/commands/learn.test.js.map +1 -0
  72. package/dist/src/__tests__/commands/mayday.test.d.ts +2 -0
  73. package/dist/src/__tests__/commands/mayday.test.d.ts.map +1 -0
  74. package/dist/src/__tests__/commands/mayday.test.js +115 -0
  75. package/dist/src/__tests__/commands/mayday.test.js.map +1 -0
  76. package/dist/src/__tests__/commands/memory.test.d.ts +2 -0
  77. package/dist/src/__tests__/commands/memory.test.d.ts.map +1 -0
  78. package/dist/src/__tests__/commands/memory.test.js +80 -0
  79. package/dist/src/__tests__/commands/memory.test.js.map +1 -0
  80. package/dist/src/__tests__/commands/plan.test.d.ts +2 -0
  81. package/dist/src/__tests__/commands/plan.test.d.ts.map +1 -0
  82. package/dist/src/__tests__/commands/plan.test.js +46 -0
  83. package/dist/src/__tests__/commands/plan.test.js.map +1 -0
  84. package/dist/src/__tests__/commands/pr.test.d.ts +2 -0
  85. package/dist/src/__tests__/commands/pr.test.d.ts.map +1 -0
  86. package/dist/src/__tests__/commands/pr.test.js +170 -0
  87. package/dist/src/__tests__/commands/pr.test.js.map +1 -0
  88. package/dist/src/__tests__/commands/refactor.test.d.ts +2 -0
  89. package/dist/src/__tests__/commands/refactor.test.d.ts.map +1 -0
  90. package/dist/src/__tests__/commands/refactor.test.js +107 -0
  91. package/dist/src/__tests__/commands/refactor.test.js.map +1 -0
  92. package/dist/src/__tests__/commands/review.test.d.ts +2 -0
  93. package/dist/src/__tests__/commands/review.test.d.ts.map +1 -0
  94. package/dist/src/__tests__/commands/review.test.js +125 -0
  95. package/dist/src/__tests__/commands/review.test.js.map +1 -0
  96. package/dist/src/__tests__/commands/shared.test.d.ts +2 -0
  97. package/dist/src/__tests__/commands/shared.test.d.ts.map +1 -0
  98. package/dist/src/__tests__/commands/shared.test.js +112 -0
  99. package/dist/src/__tests__/commands/shared.test.js.map +1 -0
  100. package/dist/src/__tests__/commands/spike.test.d.ts +2 -0
  101. package/dist/src/__tests__/commands/spike.test.d.ts.map +1 -0
  102. package/dist/src/__tests__/commands/spike.test.js +75 -0
  103. package/dist/src/__tests__/commands/spike.test.js.map +1 -0
  104. package/dist/src/__tests__/commands/stats.test.d.ts +2 -0
  105. package/dist/src/__tests__/commands/stats.test.d.ts.map +1 -0
  106. package/dist/src/__tests__/commands/stats.test.js +82 -0
  107. package/dist/src/__tests__/commands/stats.test.js.map +1 -0
  108. package/dist/src/__tests__/commands/status.test.d.ts +2 -0
  109. package/dist/src/__tests__/commands/status.test.d.ts.map +1 -0
  110. package/dist/src/__tests__/commands/status.test.js +60 -0
  111. package/dist/src/__tests__/commands/status.test.js.map +1 -0
  112. package/dist/src/__tests__/commands/test-cmd.test.d.ts +2 -0
  113. package/dist/src/__tests__/commands/test-cmd.test.d.ts.map +1 -0
  114. package/dist/src/__tests__/commands/test-cmd.test.js +76 -0
  115. package/dist/src/__tests__/commands/test-cmd.test.js.map +1 -0
  116. package/dist/src/__tests__/commands/test-gen.test.d.ts +2 -0
  117. package/dist/src/__tests__/commands/test-gen.test.d.ts.map +1 -0
  118. package/dist/src/__tests__/commands/test-gen.test.js +151 -0
  119. package/dist/src/__tests__/commands/test-gen.test.js.map +1 -0
  120. package/dist/src/__tests__/core/agent-manager.test.d.ts +2 -0
  121. package/dist/src/__tests__/core/agent-manager.test.d.ts.map +1 -0
  122. package/dist/src/__tests__/core/agent-manager.test.js +167 -0
  123. package/dist/src/__tests__/core/agent-manager.test.js.map +1 -0
  124. package/dist/src/__tests__/core/agent-process.test.d.ts +2 -0
  125. package/dist/src/__tests__/core/agent-process.test.d.ts.map +1 -0
  126. package/dist/src/__tests__/core/agent-process.test.js +178 -0
  127. package/dist/src/__tests__/core/agent-process.test.js.map +1 -0
  128. package/dist/src/__tests__/core/guardrails.test.d.ts +2 -0
  129. package/dist/src/__tests__/core/guardrails.test.d.ts.map +1 -0
  130. package/dist/src/__tests__/core/guardrails.test.js +249 -0
  131. package/dist/src/__tests__/core/guardrails.test.js.map +1 -0
  132. package/dist/src/__tests__/core/pipeline.test.d.ts +2 -0
  133. package/dist/src/__tests__/core/pipeline.test.d.ts.map +1 -0
  134. package/dist/src/__tests__/core/pipeline.test.js +331 -0
  135. package/dist/src/__tests__/core/pipeline.test.js.map +1 -0
  136. package/dist/src/__tests__/core/state.test.d.ts +2 -0
  137. package/dist/src/__tests__/core/state.test.d.ts.map +1 -0
  138. package/dist/src/__tests__/core/state.test.js +132 -0
  139. package/dist/src/__tests__/core/state.test.js.map +1 -0
  140. package/dist/src/__tests__/core/ws-server.test.d.ts +2 -0
  141. package/dist/src/__tests__/core/ws-server.test.d.ts.map +1 -0
  142. package/dist/src/__tests__/core/ws-server.test.js +177 -0
  143. package/dist/src/__tests__/core/ws-server.test.js.map +1 -0
  144. package/dist/src/__tests__/helpers/temp-dir.d.ts +8 -0
  145. package/dist/src/__tests__/helpers/temp-dir.d.ts.map +1 -0
  146. package/dist/src/__tests__/helpers/temp-dir.js +25 -0
  147. package/dist/src/__tests__/helpers/temp-dir.js.map +1 -0
  148. package/dist/src/commands/agent.d.ts +3 -0
  149. package/dist/src/commands/agent.d.ts.map +1 -0
  150. package/dist/src/commands/agent.js +103 -0
  151. package/dist/src/commands/agent.js.map +1 -0
  152. package/dist/src/commands/allocate.d.ts +3 -0
  153. package/dist/src/commands/allocate.d.ts.map +1 -0
  154. package/dist/src/commands/allocate.js +229 -0
  155. package/dist/src/commands/allocate.js.map +1 -0
  156. package/dist/src/commands/analyze.d.ts +3 -0
  157. package/dist/src/commands/analyze.d.ts.map +1 -0
  158. package/dist/src/commands/analyze.js +63 -0
  159. package/dist/src/commands/analyze.js.map +1 -0
  160. package/dist/src/commands/architect-review.d.ts +3 -0
  161. package/dist/src/commands/architect-review.d.ts.map +1 -0
  162. package/dist/src/commands/architect-review.js +695 -0
  163. package/dist/src/commands/architect-review.js.map +1 -0
  164. package/dist/src/commands/architect.d.ts +3 -0
  165. package/dist/src/commands/architect.d.ts.map +1 -0
  166. package/dist/src/commands/architect.js +49 -0
  167. package/dist/src/commands/architect.js.map +1 -0
  168. package/dist/src/commands/audit.d.ts +3 -0
  169. package/dist/src/commands/audit.d.ts.map +1 -0
  170. package/dist/src/commands/audit.js +55 -0
  171. package/dist/src/commands/audit.js.map +1 -0
  172. package/dist/src/commands/autopilot.d.ts +7 -0
  173. package/dist/src/commands/autopilot.d.ts.map +1 -0
  174. package/dist/src/commands/autopilot.js +377 -0
  175. package/dist/src/commands/autopilot.js.map +1 -0
  176. package/dist/src/commands/babysit-prs.d.ts +13 -0
  177. package/dist/src/commands/babysit-prs.d.ts.map +1 -0
  178. package/dist/src/commands/babysit-prs.js +283 -0
  179. package/dist/src/commands/babysit-prs.js.map +1 -0
  180. package/dist/src/commands/benchmark.d.ts +34 -0
  181. package/dist/src/commands/benchmark.d.ts.map +1 -0
  182. package/dist/src/commands/benchmark.js +534 -0
  183. package/dist/src/commands/benchmark.js.map +1 -0
  184. package/dist/src/commands/build.d.ts +3 -0
  185. package/dist/src/commands/build.d.ts.map +1 -0
  186. package/dist/src/commands/build.js +63 -0
  187. package/dist/src/commands/build.js.map +1 -0
  188. package/dist/src/commands/check.d.ts +3 -0
  189. package/dist/src/commands/check.d.ts.map +1 -0
  190. package/dist/src/commands/check.js +102 -0
  191. package/dist/src/commands/check.js.map +1 -0
  192. package/dist/src/commands/ci.d.ts +3 -0
  193. package/dist/src/commands/ci.d.ts.map +1 -0
  194. package/dist/src/commands/ci.js +124 -0
  195. package/dist/src/commands/ci.js.map +1 -0
  196. package/dist/src/commands/compete.d.ts +3 -0
  197. package/dist/src/commands/compete.d.ts.map +1 -0
  198. package/dist/src/commands/compete.js +164 -0
  199. package/dist/src/commands/compete.js.map +1 -0
  200. package/dist/src/commands/compliance.d.ts +3 -0
  201. package/dist/src/commands/compliance.d.ts.map +1 -0
  202. package/dist/src/commands/compliance.js +722 -0
  203. package/dist/src/commands/compliance.js.map +1 -0
  204. package/dist/src/commands/context.d.ts +3 -0
  205. package/dist/src/commands/context.d.ts.map +1 -0
  206. package/dist/src/commands/context.js +171 -0
  207. package/dist/src/commands/context.js.map +1 -0
  208. package/dist/src/commands/contract.d.ts +3 -0
  209. package/dist/src/commands/contract.d.ts.map +1 -0
  210. package/dist/src/commands/contract.js +384 -0
  211. package/dist/src/commands/contract.js.map +1 -0
  212. package/dist/src/commands/dashboard.d.ts +3 -0
  213. package/dist/src/commands/dashboard.d.ts.map +1 -0
  214. package/dist/src/commands/dashboard.js +114 -0
  215. package/dist/src/commands/dashboard.js.map +1 -0
  216. package/dist/src/commands/delegate.d.ts +3 -0
  217. package/dist/src/commands/delegate.d.ts.map +1 -0
  218. package/dist/src/commands/delegate.js +474 -0
  219. package/dist/src/commands/delegate.js.map +1 -0
  220. package/dist/src/commands/deploy.d.ts +17 -0
  221. package/dist/src/commands/deploy.d.ts.map +1 -0
  222. package/dist/src/commands/deploy.js +163 -0
  223. package/dist/src/commands/deploy.js.map +1 -0
  224. package/dist/src/commands/deps.d.ts +3 -0
  225. package/dist/src/commands/deps.d.ts.map +1 -0
  226. package/dist/src/commands/deps.js +548 -0
  227. package/dist/src/commands/deps.js.map +1 -0
  228. package/dist/src/commands/doctor.d.ts +3 -0
  229. package/dist/src/commands/doctor.d.ts.map +1 -0
  230. package/dist/src/commands/doctor.js +120 -0
  231. package/dist/src/commands/doctor.js.map +1 -0
  232. package/dist/src/commands/empathize.d.ts +3 -0
  233. package/dist/src/commands/empathize.d.ts.map +1 -0
  234. package/dist/src/commands/empathize.js +253 -0
  235. package/dist/src/commands/empathize.js.map +1 -0
  236. package/dist/src/commands/evaluate.d.ts +3 -0
  237. package/dist/src/commands/evaluate.d.ts.map +1 -0
  238. package/dist/src/commands/evaluate.js +49 -0
  239. package/dist/src/commands/evaluate.js.map +1 -0
  240. package/dist/src/commands/evolve.d.ts +3 -0
  241. package/dist/src/commands/evolve.d.ts.map +1 -0
  242. package/dist/src/commands/evolve.js +841 -0
  243. package/dist/src/commands/evolve.js.map +1 -0
  244. package/dist/src/commands/experiment.d.ts +3 -0
  245. package/dist/src/commands/experiment.d.ts.map +1 -0
  246. package/dist/src/commands/experiment.js +286 -0
  247. package/dist/src/commands/experiment.js.map +1 -0
  248. package/dist/src/commands/explain.d.ts +3 -0
  249. package/dist/src/commands/explain.d.ts.map +1 -0
  250. package/dist/src/commands/explain.js +159 -0
  251. package/dist/src/commands/explain.js.map +1 -0
  252. package/dist/src/commands/federate.d.ts +3 -0
  253. package/dist/src/commands/federate.d.ts.map +1 -0
  254. package/dist/src/commands/federate.js +148 -0
  255. package/dist/src/commands/federate.js.map +1 -0
  256. package/dist/src/commands/fingerprint.d.ts +3 -0
  257. package/dist/src/commands/fingerprint.d.ts.map +1 -0
  258. package/dist/src/commands/fingerprint.js +65 -0
  259. package/dist/src/commands/fingerprint.js.map +1 -0
  260. package/dist/src/commands/fix.d.ts +3 -0
  261. package/dist/src/commands/fix.d.ts.map +1 -0
  262. package/dist/src/commands/fix.js +160 -0
  263. package/dist/src/commands/fix.js.map +1 -0
  264. package/dist/src/commands/fleet.d.ts +3 -0
  265. package/dist/src/commands/fleet.d.ts.map +1 -0
  266. package/dist/src/commands/fleet.js +311 -0
  267. package/dist/src/commands/fleet.js.map +1 -0
  268. package/dist/src/commands/forecast.d.ts +3 -0
  269. package/dist/src/commands/forecast.d.ts.map +1 -0
  270. package/dist/src/commands/forecast.js +522 -0
  271. package/dist/src/commands/forecast.js.map +1 -0
  272. package/dist/src/commands/govern.d.ts +3 -0
  273. package/dist/src/commands/govern.d.ts.map +1 -0
  274. package/dist/src/commands/govern.js +280 -0
  275. package/dist/src/commands/govern.js.map +1 -0
  276. package/dist/src/commands/health.d.ts +17 -0
  277. package/dist/src/commands/health.d.ts.map +1 -0
  278. package/dist/src/commands/health.js +491 -0
  279. package/dist/src/commands/health.js.map +1 -0
  280. package/dist/src/commands/impact.d.ts +3 -0
  281. package/dist/src/commands/impact.d.ts.map +1 -0
  282. package/dist/src/commands/impact.js +186 -0
  283. package/dist/src/commands/impact.js.map +1 -0
  284. package/dist/src/commands/improve.d.ts +3 -0
  285. package/dist/src/commands/improve.d.ts.map +1 -0
  286. package/dist/src/commands/improve.js +240 -0
  287. package/dist/src/commands/improve.js.map +1 -0
  288. package/dist/src/commands/inbox.d.ts +29 -0
  289. package/dist/src/commands/inbox.d.ts.map +1 -0
  290. package/dist/src/commands/inbox.js +538 -0
  291. package/dist/src/commands/inbox.js.map +1 -0
  292. package/dist/src/commands/incident.d.ts +15 -0
  293. package/dist/src/commands/incident.d.ts.map +1 -0
  294. package/dist/src/commands/incident.js +318 -0
  295. package/dist/src/commands/incident.js.map +1 -0
  296. package/dist/src/commands/init.d.ts +3 -0
  297. package/dist/src/commands/init.d.ts.map +1 -0
  298. package/dist/src/commands/init.js +97 -0
  299. package/dist/src/commands/init.js.map +1 -0
  300. package/dist/src/commands/journal.d.ts +3 -0
  301. package/dist/src/commands/journal.d.ts.map +1 -0
  302. package/dist/src/commands/journal.js +146 -0
  303. package/dist/src/commands/journal.js.map +1 -0
  304. package/dist/src/commands/learn.d.ts +9 -0
  305. package/dist/src/commands/learn.d.ts.map +1 -0
  306. package/dist/src/commands/learn.js +107 -0
  307. package/dist/src/commands/learn.js.map +1 -0
  308. package/dist/src/commands/mayday.d.ts +3 -0
  309. package/dist/src/commands/mayday.d.ts.map +1 -0
  310. package/dist/src/commands/mayday.js +145 -0
  311. package/dist/src/commands/mayday.js.map +1 -0
  312. package/dist/src/commands/memory.d.ts +3 -0
  313. package/dist/src/commands/memory.d.ts.map +1 -0
  314. package/dist/src/commands/memory.js +113 -0
  315. package/dist/src/commands/memory.js.map +1 -0
  316. package/dist/src/commands/mentor.d.ts +3 -0
  317. package/dist/src/commands/mentor.d.ts.map +1 -0
  318. package/dist/src/commands/mentor.js +225 -0
  319. package/dist/src/commands/mentor.js.map +1 -0
  320. package/dist/src/commands/migrate.d.ts +3 -0
  321. package/dist/src/commands/migrate.d.ts.map +1 -0
  322. package/dist/src/commands/migrate.js +169 -0
  323. package/dist/src/commands/migrate.js.map +1 -0
  324. package/dist/src/commands/models.d.ts +3 -0
  325. package/dist/src/commands/models.d.ts.map +1 -0
  326. package/dist/src/commands/models.js +396 -0
  327. package/dist/src/commands/models.js.map +1 -0
  328. package/dist/src/commands/multi-repo.d.ts +18 -0
  329. package/dist/src/commands/multi-repo.d.ts.map +1 -0
  330. package/dist/src/commands/multi-repo.js +423 -0
  331. package/dist/src/commands/multi-repo.js.map +1 -0
  332. package/dist/src/commands/negotiate.d.ts +3 -0
  333. package/dist/src/commands/negotiate.d.ts.map +1 -0
  334. package/dist/src/commands/negotiate.js +239 -0
  335. package/dist/src/commands/negotiate.js.map +1 -0
  336. package/dist/src/commands/observe.d.ts +3 -0
  337. package/dist/src/commands/observe.d.ts.map +1 -0
  338. package/dist/src/commands/observe.js +445 -0
  339. package/dist/src/commands/observe.js.map +1 -0
  340. package/dist/src/commands/onboard.d.ts +3 -0
  341. package/dist/src/commands/onboard.d.ts.map +1 -0
  342. package/dist/src/commands/onboard.js +263 -0
  343. package/dist/src/commands/onboard.js.map +1 -0
  344. package/dist/src/commands/optimize.d.ts +3 -0
  345. package/dist/src/commands/optimize.d.ts.map +1 -0
  346. package/dist/src/commands/optimize.js +340 -0
  347. package/dist/src/commands/optimize.js.map +1 -0
  348. package/dist/src/commands/own.d.ts +3 -0
  349. package/dist/src/commands/own.d.ts.map +1 -0
  350. package/dist/src/commands/own.js +499 -0
  351. package/dist/src/commands/own.js.map +1 -0
  352. package/dist/src/commands/pair.d.ts +3 -0
  353. package/dist/src/commands/pair.d.ts.map +1 -0
  354. package/dist/src/commands/pair.js +206 -0
  355. package/dist/src/commands/pair.js.map +1 -0
  356. package/dist/src/commands/pipeline.d.ts +3 -0
  357. package/dist/src/commands/pipeline.d.ts.map +1 -0
  358. package/dist/src/commands/pipeline.js +143 -0
  359. package/dist/src/commands/pipeline.js.map +1 -0
  360. package/dist/src/commands/plan.d.ts +3 -0
  361. package/dist/src/commands/plan.d.ts.map +1 -0
  362. package/dist/src/commands/plan.js +49 -0
  363. package/dist/src/commands/plan.js.map +1 -0
  364. package/dist/src/commands/plugin.d.ts +3 -0
  365. package/dist/src/commands/plugin.d.ts.map +1 -0
  366. package/dist/src/commands/plugin.js +114 -0
  367. package/dist/src/commands/plugin.js.map +1 -0
  368. package/dist/src/commands/pm.d.ts +38 -0
  369. package/dist/src/commands/pm.d.ts.map +1 -0
  370. package/dist/src/commands/pm.js +664 -0
  371. package/dist/src/commands/pm.js.map +1 -0
  372. package/dist/src/commands/pr.d.ts +3 -0
  373. package/dist/src/commands/pr.d.ts.map +1 -0
  374. package/dist/src/commands/pr.js +225 -0
  375. package/dist/src/commands/pr.js.map +1 -0
  376. package/dist/src/commands/prompt-guard.d.ts +3 -0
  377. package/dist/src/commands/prompt-guard.d.ts.map +1 -0
  378. package/dist/src/commands/prompt-guard.js +54 -0
  379. package/dist/src/commands/prompt-guard.js.map +1 -0
  380. package/dist/src/commands/provenance.d.ts +3 -0
  381. package/dist/src/commands/provenance.d.ts.map +1 -0
  382. package/dist/src/commands/provenance.js +96 -0
  383. package/dist/src/commands/provenance.js.map +1 -0
  384. package/dist/src/commands/recover.d.ts +3 -0
  385. package/dist/src/commands/recover.d.ts.map +1 -0
  386. package/dist/src/commands/recover.js +32 -0
  387. package/dist/src/commands/recover.js.map +1 -0
  388. package/dist/src/commands/refactor.d.ts +3 -0
  389. package/dist/src/commands/refactor.d.ts.map +1 -0
  390. package/dist/src/commands/refactor.js +143 -0
  391. package/dist/src/commands/refactor.js.map +1 -0
  392. package/dist/src/commands/report.d.ts +66 -0
  393. package/dist/src/commands/report.d.ts.map +1 -0
  394. package/dist/src/commands/report.js +493 -0
  395. package/dist/src/commands/report.js.map +1 -0
  396. package/dist/src/commands/retro.d.ts +71 -0
  397. package/dist/src/commands/retro.d.ts.map +1 -0
  398. package/dist/src/commands/retro.js +449 -0
  399. package/dist/src/commands/retro.js.map +1 -0
  400. package/dist/src/commands/review.d.ts +3 -0
  401. package/dist/src/commands/review.d.ts.map +1 -0
  402. package/dist/src/commands/review.js +202 -0
  403. package/dist/src/commands/review.js.map +1 -0
  404. package/dist/src/commands/risk.d.ts +3 -0
  405. package/dist/src/commands/risk.d.ts.map +1 -0
  406. package/dist/src/commands/risk.js +110 -0
  407. package/dist/src/commands/risk.js.map +1 -0
  408. package/dist/src/commands/roadmap.d.ts +3 -0
  409. package/dist/src/commands/roadmap.d.ts.map +1 -0
  410. package/dist/src/commands/roadmap.js +506 -0
  411. package/dist/src/commands/roadmap.js.map +1 -0
  412. package/dist/src/commands/runtime-monitor.d.ts +3 -0
  413. package/dist/src/commands/runtime-monitor.d.ts.map +1 -0
  414. package/dist/src/commands/runtime-monitor.js +154 -0
  415. package/dist/src/commands/runtime-monitor.js.map +1 -0
  416. package/dist/src/commands/sandbox.d.ts +3 -0
  417. package/dist/src/commands/sandbox.d.ts.map +1 -0
  418. package/dist/src/commands/sandbox.js +201 -0
  419. package/dist/src/commands/sandbox.js.map +1 -0
  420. package/dist/src/commands/scope.d.ts +3 -0
  421. package/dist/src/commands/scope.d.ts.map +1 -0
  422. package/dist/src/commands/scope.js +192 -0
  423. package/dist/src/commands/scope.js.map +1 -0
  424. package/dist/src/commands/secrets.d.ts +3 -0
  425. package/dist/src/commands/secrets.d.ts.map +1 -0
  426. package/dist/src/commands/secrets.js +99 -0
  427. package/dist/src/commands/secrets.js.map +1 -0
  428. package/dist/src/commands/secure.d.ts +3 -0
  429. package/dist/src/commands/secure.d.ts.map +1 -0
  430. package/dist/src/commands/secure.js +215 -0
  431. package/dist/src/commands/secure.js.map +1 -0
  432. package/dist/src/commands/server.d.ts +3 -0
  433. package/dist/src/commands/server.d.ts.map +1 -0
  434. package/dist/src/commands/server.js +228 -0
  435. package/dist/src/commands/server.js.map +1 -0
  436. package/dist/src/commands/shared.d.ts +18 -0
  437. package/dist/src/commands/shared.d.ts.map +1 -0
  438. package/dist/src/commands/shared.js +61 -0
  439. package/dist/src/commands/shared.js.map +1 -0
  440. package/dist/src/commands/simplify.d.ts +3 -0
  441. package/dist/src/commands/simplify.d.ts.map +1 -0
  442. package/dist/src/commands/simplify.js +194 -0
  443. package/dist/src/commands/simplify.js.map +1 -0
  444. package/dist/src/commands/simulate.d.ts +3 -0
  445. package/dist/src/commands/simulate.d.ts.map +1 -0
  446. package/dist/src/commands/simulate.js +275 -0
  447. package/dist/src/commands/simulate.js.map +1 -0
  448. package/dist/src/commands/slo.d.ts +3 -0
  449. package/dist/src/commands/slo.d.ts.map +1 -0
  450. package/dist/src/commands/slo.js +341 -0
  451. package/dist/src/commands/slo.js.map +1 -0
  452. package/dist/src/commands/spawn-capability.d.ts +3 -0
  453. package/dist/src/commands/spawn-capability.d.ts.map +1 -0
  454. package/dist/src/commands/spawn-capability.js +153 -0
  455. package/dist/src/commands/spawn-capability.js.map +1 -0
  456. package/dist/src/commands/specialize.d.ts +3 -0
  457. package/dist/src/commands/specialize.d.ts.map +1 -0
  458. package/dist/src/commands/specialize.js +266 -0
  459. package/dist/src/commands/specialize.js.map +1 -0
  460. package/dist/src/commands/spike.d.ts +3 -0
  461. package/dist/src/commands/spike.d.ts.map +1 -0
  462. package/dist/src/commands/spike.js +109 -0
  463. package/dist/src/commands/spike.js.map +1 -0
  464. package/dist/src/commands/standup.d.ts +3 -0
  465. package/dist/src/commands/standup.d.ts.map +1 -0
  466. package/dist/src/commands/standup.js +76 -0
  467. package/dist/src/commands/standup.js.map +1 -0
  468. package/dist/src/commands/stats.d.ts +39 -0
  469. package/dist/src/commands/stats.d.ts.map +1 -0
  470. package/dist/src/commands/stats.js +185 -0
  471. package/dist/src/commands/stats.js.map +1 -0
  472. package/dist/src/commands/status.d.ts +3 -0
  473. package/dist/src/commands/status.d.ts.map +1 -0
  474. package/dist/src/commands/status.js +65 -0
  475. package/dist/src/commands/status.js.map +1 -0
  476. package/dist/src/commands/supply-chain.d.ts +3 -0
  477. package/dist/src/commands/supply-chain.d.ts.map +1 -0
  478. package/dist/src/commands/supply-chain.js +110 -0
  479. package/dist/src/commands/supply-chain.js.map +1 -0
  480. package/dist/src/commands/system.d.ts +3 -0
  481. package/dist/src/commands/system.d.ts.map +1 -0
  482. package/dist/src/commands/system.js +582 -0
  483. package/dist/src/commands/system.js.map +1 -0
  484. package/dist/src/commands/teach.d.ts +3 -0
  485. package/dist/src/commands/teach.d.ts.map +1 -0
  486. package/dist/src/commands/teach.js +420 -0
  487. package/dist/src/commands/teach.js.map +1 -0
  488. package/dist/src/commands/team.d.ts +44 -0
  489. package/dist/src/commands/team.d.ts.map +1 -0
  490. package/dist/src/commands/team.js +355 -0
  491. package/dist/src/commands/team.js.map +1 -0
  492. package/dist/src/commands/telemetry.d.ts +3 -0
  493. package/dist/src/commands/telemetry.d.ts.map +1 -0
  494. package/dist/src/commands/telemetry.js +87 -0
  495. package/dist/src/commands/telemetry.js.map +1 -0
  496. package/dist/src/commands/test-gen.d.ts +3 -0
  497. package/dist/src/commands/test-gen.d.ts.map +1 -0
  498. package/dist/src/commands/test-gen.js +541 -0
  499. package/dist/src/commands/test-gen.js.map +1 -0
  500. package/dist/src/commands/test.d.ts +3 -0
  501. package/dist/src/commands/test.d.ts.map +1 -0
  502. package/dist/src/commands/test.js +84 -0
  503. package/dist/src/commands/test.js.map +1 -0
  504. package/dist/src/commands/watch.d.ts +11 -0
  505. package/dist/src/commands/watch.d.ts.map +1 -0
  506. package/dist/src/commands/watch.js +317 -0
  507. package/dist/src/commands/watch.js.map +1 -0
  508. package/dist/src/core/activity-tracker.d.ts +70 -0
  509. package/dist/src/core/activity-tracker.d.ts.map +1 -0
  510. package/dist/src/core/activity-tracker.js +294 -0
  511. package/dist/src/core/activity-tracker.js.map +1 -0
  512. package/dist/src/core/agent-bus.d.ts +38 -0
  513. package/dist/src/core/agent-bus.d.ts.map +1 -0
  514. package/dist/src/core/agent-bus.js +128 -0
  515. package/dist/src/core/agent-bus.js.map +1 -0
  516. package/dist/src/core/agent-loop.d.ts +79 -0
  517. package/dist/src/core/agent-loop.d.ts.map +1 -0
  518. package/dist/src/core/agent-loop.js +225 -0
  519. package/dist/src/core/agent-loop.js.map +1 -0
  520. package/dist/src/core/agent-manager.d.ts +90 -0
  521. package/dist/src/core/agent-manager.d.ts.map +1 -0
  522. package/dist/src/core/agent-manager.js +549 -0
  523. package/dist/src/core/agent-manager.js.map +1 -0
  524. package/dist/src/core/agent-process.d.ts +95 -0
  525. package/dist/src/core/agent-process.d.ts.map +1 -0
  526. package/dist/src/core/agent-process.js +428 -0
  527. package/dist/src/core/agent-process.js.map +1 -0
  528. package/dist/src/core/ambiguity-detector.d.ts +31 -0
  529. package/dist/src/core/ambiguity-detector.d.ts.map +1 -0
  530. package/dist/src/core/ambiguity-detector.js +286 -0
  531. package/dist/src/core/ambiguity-detector.js.map +1 -0
  532. package/dist/src/core/anomaly-detector.d.ts +30 -0
  533. package/dist/src/core/anomaly-detector.d.ts.map +1 -0
  534. package/dist/src/core/anomaly-detector.js +300 -0
  535. package/dist/src/core/anomaly-detector.js.map +1 -0
  536. package/dist/src/core/api-lifecycle.d.ts +11 -0
  537. package/dist/src/core/api-lifecycle.d.ts.map +1 -0
  538. package/dist/src/core/api-lifecycle.js +178 -0
  539. package/dist/src/core/api-lifecycle.js.map +1 -0
  540. package/dist/src/core/audit.d.ts +36 -0
  541. package/dist/src/core/audit.d.ts.map +1 -0
  542. package/dist/src/core/audit.js +88 -0
  543. package/dist/src/core/audit.js.map +1 -0
  544. package/dist/src/core/capability-spawner.d.ts +17 -0
  545. package/dist/src/core/capability-spawner.d.ts.map +1 -0
  546. package/dist/src/core/capability-spawner.js +170 -0
  547. package/dist/src/core/capability-spawner.js.map +1 -0
  548. package/dist/src/core/codebase-index.d.ts +53 -0
  549. package/dist/src/core/codebase-index.d.ts.map +1 -0
  550. package/dist/src/core/codebase-index.js +540 -0
  551. package/dist/src/core/codebase-index.js.map +1 -0
  552. package/dist/src/core/codebase-scanner.d.ts +3 -0
  553. package/dist/src/core/codebase-scanner.d.ts.map +1 -0
  554. package/dist/src/core/codebase-scanner.js +179 -0
  555. package/dist/src/core/codebase-scanner.js.map +1 -0
  556. package/dist/src/core/competitive-intel.d.ts +18 -0
  557. package/dist/src/core/competitive-intel.d.ts.map +1 -0
  558. package/dist/src/core/competitive-intel.js +167 -0
  559. package/dist/src/core/competitive-intel.js.map +1 -0
  560. package/dist/src/core/config.d.ts +14 -0
  561. package/dist/src/core/config.d.ts.map +1 -0
  562. package/dist/src/core/config.js +116 -0
  563. package/dist/src/core/config.js.map +1 -0
  564. package/dist/src/core/convention-extractor.d.ts +8 -0
  565. package/dist/src/core/convention-extractor.d.ts.map +1 -0
  566. package/dist/src/core/convention-extractor.js +382 -0
  567. package/dist/src/core/convention-extractor.js.map +1 -0
  568. package/dist/src/core/cost-tracker.d.ts +23 -0
  569. package/dist/src/core/cost-tracker.d.ts.map +1 -0
  570. package/dist/src/core/cost-tracker.js +83 -0
  571. package/dist/src/core/cost-tracker.js.map +1 -0
  572. package/dist/src/core/decision-journal.d.ts +41 -0
  573. package/dist/src/core/decision-journal.d.ts.map +1 -0
  574. package/dist/src/core/decision-journal.js +204 -0
  575. package/dist/src/core/decision-journal.js.map +1 -0
  576. package/dist/src/core/experiment-engine.d.ts +31 -0
  577. package/dist/src/core/experiment-engine.d.ts.map +1 -0
  578. package/dist/src/core/experiment-engine.js +248 -0
  579. package/dist/src/core/experiment-engine.js.map +1 -0
  580. package/dist/src/core/federation.d.ts +18 -0
  581. package/dist/src/core/federation.d.ts.map +1 -0
  582. package/dist/src/core/federation.js +202 -0
  583. package/dist/src/core/federation.js.map +1 -0
  584. package/dist/src/core/fingerprint.d.ts +42 -0
  585. package/dist/src/core/fingerprint.d.ts.map +1 -0
  586. package/dist/src/core/fingerprint.js +316 -0
  587. package/dist/src/core/fingerprint.js.map +1 -0
  588. package/dist/src/core/git.d.ts +50 -0
  589. package/dist/src/core/git.d.ts.map +1 -0
  590. package/dist/src/core/git.js +342 -0
  591. package/dist/src/core/git.js.map +1 -0
  592. package/dist/src/core/governance.d.ts +53 -0
  593. package/dist/src/core/governance.d.ts.map +1 -0
  594. package/dist/src/core/governance.js +276 -0
  595. package/dist/src/core/governance.js.map +1 -0
  596. package/dist/src/core/guardrails.d.ts +34 -0
  597. package/dist/src/core/guardrails.d.ts.map +1 -0
  598. package/dist/src/core/guardrails.js +575 -0
  599. package/dist/src/core/guardrails.js.map +1 -0
  600. package/dist/src/core/impact-analyzer.d.ts +56 -0
  601. package/dist/src/core/impact-analyzer.d.ts.map +1 -0
  602. package/dist/src/core/impact-analyzer.js +309 -0
  603. package/dist/src/core/impact-analyzer.js.map +1 -0
  604. package/dist/src/core/input-listener.d.ts +45 -0
  605. package/dist/src/core/input-listener.d.ts.map +1 -0
  606. package/dist/src/core/input-listener.js +116 -0
  607. package/dist/src/core/input-listener.js.map +1 -0
  608. package/dist/src/core/memory-store.d.ts +61 -0
  609. package/dist/src/core/memory-store.d.ts.map +1 -0
  610. package/dist/src/core/memory-store.js +195 -0
  611. package/dist/src/core/memory-store.js.map +1 -0
  612. package/dist/src/core/observability.d.ts +56 -0
  613. package/dist/src/core/observability.d.ts.map +1 -0
  614. package/dist/src/core/observability.js +305 -0
  615. package/dist/src/core/observability.js.map +1 -0
  616. package/dist/src/core/pair-engine.d.ts +47 -0
  617. package/dist/src/core/pair-engine.d.ts.map +1 -0
  618. package/dist/src/core/pair-engine.js +355 -0
  619. package/dist/src/core/pair-engine.js.map +1 -0
  620. package/dist/src/core/perf-analyzer.d.ts +35 -0
  621. package/dist/src/core/perf-analyzer.d.ts.map +1 -0
  622. package/dist/src/core/perf-analyzer.js +598 -0
  623. package/dist/src/core/perf-analyzer.js.map +1 -0
  624. package/dist/src/core/pipeline-loader.d.ts +46 -0
  625. package/dist/src/core/pipeline-loader.d.ts.map +1 -0
  626. package/dist/src/core/pipeline-loader.js +182 -0
  627. package/dist/src/core/pipeline-loader.js.map +1 -0
  628. package/dist/src/core/pipeline.d.ts +183 -0
  629. package/dist/src/core/pipeline.d.ts.map +1 -0
  630. package/dist/src/core/pipeline.js +2264 -0
  631. package/dist/src/core/pipeline.js.map +1 -0
  632. package/dist/src/core/plugins.d.ts +61 -0
  633. package/dist/src/core/plugins.d.ts.map +1 -0
  634. package/dist/src/core/plugins.js +114 -0
  635. package/dist/src/core/plugins.js.map +1 -0
  636. package/dist/src/core/preflight.d.ts +7 -0
  637. package/dist/src/core/preflight.d.ts.map +1 -0
  638. package/dist/src/core/preflight.js +35 -0
  639. package/dist/src/core/preflight.js.map +1 -0
  640. package/dist/src/core/prompt-guard.d.ts +44 -0
  641. package/dist/src/core/prompt-guard.d.ts.map +1 -0
  642. package/dist/src/core/prompt-guard.js +274 -0
  643. package/dist/src/core/prompt-guard.js.map +1 -0
  644. package/dist/src/core/provenance.d.ts +39 -0
  645. package/dist/src/core/provenance.d.ts.map +1 -0
  646. package/dist/src/core/provenance.js +115 -0
  647. package/dist/src/core/provenance.js.map +1 -0
  648. package/dist/src/core/providers/anthropic-api.d.ts +34 -0
  649. package/dist/src/core/providers/anthropic-api.d.ts.map +1 -0
  650. package/dist/src/core/providers/anthropic-api.js +522 -0
  651. package/dist/src/core/providers/anthropic-api.js.map +1 -0
  652. package/dist/src/core/providers/api-agent-backend.d.ts +31 -0
  653. package/dist/src/core/providers/api-agent-backend.d.ts.map +1 -0
  654. package/dist/src/core/providers/api-agent-backend.js +127 -0
  655. package/dist/src/core/providers/api-agent-backend.js.map +1 -0
  656. package/dist/src/core/providers/api-text-backend.d.ts +35 -0
  657. package/dist/src/core/providers/api-text-backend.d.ts.map +1 -0
  658. package/dist/src/core/providers/api-text-backend.js +145 -0
  659. package/dist/src/core/providers/api-text-backend.js.map +1 -0
  660. package/dist/src/core/providers/claude-cli.d.ts +80 -0
  661. package/dist/src/core/providers/claude-cli.d.ts.map +1 -0
  662. package/dist/src/core/providers/claude-cli.js +489 -0
  663. package/dist/src/core/providers/claude-cli.js.map +1 -0
  664. package/dist/src/core/providers/cost-table.d.ts +46 -0
  665. package/dist/src/core/providers/cost-table.d.ts.map +1 -0
  666. package/dist/src/core/providers/cost-table.js +136 -0
  667. package/dist/src/core/providers/cost-table.js.map +1 -0
  668. package/dist/src/core/providers/google.d.ts +26 -0
  669. package/dist/src/core/providers/google.d.ts.map +1 -0
  670. package/dist/src/core/providers/google.js +165 -0
  671. package/dist/src/core/providers/google.js.map +1 -0
  672. package/dist/src/core/providers/model-catalog.d.ts +72 -0
  673. package/dist/src/core/providers/model-catalog.d.ts.map +1 -0
  674. package/dist/src/core/providers/model-catalog.js +290 -0
  675. package/dist/src/core/providers/model-catalog.js.map +1 -0
  676. package/dist/src/core/providers/openai-compat.d.ts +35 -0
  677. package/dist/src/core/providers/openai-compat.d.ts.map +1 -0
  678. package/dist/src/core/providers/openai-compat.js +479 -0
  679. package/dist/src/core/providers/openai-compat.js.map +1 -0
  680. package/dist/src/core/providers/prompt-adapter.d.ts +42 -0
  681. package/dist/src/core/providers/prompt-adapter.d.ts.map +1 -0
  682. package/dist/src/core/providers/prompt-adapter.js +282 -0
  683. package/dist/src/core/providers/prompt-adapter.js.map +1 -0
  684. package/dist/src/core/providers/registry.d.ts +93 -0
  685. package/dist/src/core/providers/registry.d.ts.map +1 -0
  686. package/dist/src/core/providers/registry.js +191 -0
  687. package/dist/src/core/providers/registry.js.map +1 -0
  688. package/dist/src/core/providers/types.d.ts +165 -0
  689. package/dist/src/core/providers/types.d.ts.map +1 -0
  690. package/dist/src/core/providers/types.js +13 -0
  691. package/dist/src/core/providers/types.js.map +1 -0
  692. package/dist/src/core/quality.d.ts +22 -0
  693. package/dist/src/core/quality.d.ts.map +1 -0
  694. package/dist/src/core/quality.js +209 -0
  695. package/dist/src/core/quality.js.map +1 -0
  696. package/dist/src/core/resource-allocator.d.ts +37 -0
  697. package/dist/src/core/resource-allocator.d.ts.map +1 -0
  698. package/dist/src/core/resource-allocator.js +480 -0
  699. package/dist/src/core/resource-allocator.js.map +1 -0
  700. package/dist/src/core/risk-scorer.d.ts +35 -0
  701. package/dist/src/core/risk-scorer.d.ts.map +1 -0
  702. package/dist/src/core/risk-scorer.js +226 -0
  703. package/dist/src/core/risk-scorer.js.map +1 -0
  704. package/dist/src/core/runtime-monitor.d.ts +49 -0
  705. package/dist/src/core/runtime-monitor.d.ts.map +1 -0
  706. package/dist/src/core/runtime-monitor.js +235 -0
  707. package/dist/src/core/runtime-monitor.js.map +1 -0
  708. package/dist/src/core/sandbox.d.ts +47 -0
  709. package/dist/src/core/sandbox.d.ts.map +1 -0
  710. package/dist/src/core/sandbox.js +277 -0
  711. package/dist/src/core/sandbox.js.map +1 -0
  712. package/dist/src/core/secret-detector.d.ts +25 -0
  713. package/dist/src/core/secret-detector.d.ts.map +1 -0
  714. package/dist/src/core/secret-detector.js +307 -0
  715. package/dist/src/core/secret-detector.js.map +1 -0
  716. package/dist/src/core/security-scanner.d.ts +36 -0
  717. package/dist/src/core/security-scanner.d.ts.map +1 -0
  718. package/dist/src/core/security-scanner.js +366 -0
  719. package/dist/src/core/security-scanner.js.map +1 -0
  720. package/dist/src/core/self-improvement.d.ts +26 -0
  721. package/dist/src/core/self-improvement.d.ts.map +1 -0
  722. package/dist/src/core/self-improvement.js +356 -0
  723. package/dist/src/core/self-improvement.js.map +1 -0
  724. package/dist/src/core/simulator.d.ts +28 -0
  725. package/dist/src/core/simulator.d.ts.map +1 -0
  726. package/dist/src/core/simulator.js +334 -0
  727. package/dist/src/core/simulator.js.map +1 -0
  728. package/dist/src/core/specialization.d.ts +47 -0
  729. package/dist/src/core/specialization.d.ts.map +1 -0
  730. package/dist/src/core/specialization.js +239 -0
  731. package/dist/src/core/specialization.js.map +1 -0
  732. package/dist/src/core/stakeholder-engine.d.ts +47 -0
  733. package/dist/src/core/stakeholder-engine.d.ts.map +1 -0
  734. package/dist/src/core/stakeholder-engine.js +380 -0
  735. package/dist/src/core/stakeholder-engine.js.map +1 -0
  736. package/dist/src/core/state.d.ts +99 -0
  737. package/dist/src/core/state.d.ts.map +1 -0
  738. package/dist/src/core/state.js +545 -0
  739. package/dist/src/core/state.js.map +1 -0
  740. package/dist/src/core/supply-chain.d.ts +26 -0
  741. package/dist/src/core/supply-chain.d.ts.map +1 -0
  742. package/dist/src/core/supply-chain.js +332 -0
  743. package/dist/src/core/supply-chain.js.map +1 -0
  744. package/dist/src/core/telemetry.d.ts +110 -0
  745. package/dist/src/core/telemetry.d.ts.map +1 -0
  746. package/dist/src/core/telemetry.js +276 -0
  747. package/dist/src/core/telemetry.js.map +1 -0
  748. package/dist/src/core/tools/definitions.d.ts +10 -0
  749. package/dist/src/core/tools/definitions.d.ts.map +1 -0
  750. package/dist/src/core/tools/definitions.js +165 -0
  751. package/dist/src/core/tools/definitions.js.map +1 -0
  752. package/dist/src/core/tools/executor.d.ts +27 -0
  753. package/dist/src/core/tools/executor.d.ts.map +1 -0
  754. package/dist/src/core/tools/executor.js +306 -0
  755. package/dist/src/core/tools/executor.js.map +1 -0
  756. package/dist/src/core/tools/sandbox.d.ts +41 -0
  757. package/dist/src/core/tools/sandbox.d.ts.map +1 -0
  758. package/dist/src/core/tools/sandbox.js +106 -0
  759. package/dist/src/core/tools/sandbox.js.map +1 -0
  760. package/dist/src/core/training-pipeline.d.ts +66 -0
  761. package/dist/src/core/training-pipeline.d.ts.map +1 -0
  762. package/dist/src/core/training-pipeline.js +267 -0
  763. package/dist/src/core/training-pipeline.js.map +1 -0
  764. package/dist/src/core/triage.d.ts +56 -0
  765. package/dist/src/core/triage.d.ts.map +1 -0
  766. package/dist/src/core/triage.js +227 -0
  767. package/dist/src/core/triage.js.map +1 -0
  768. package/dist/src/core/user-intelligence.d.ts +29 -0
  769. package/dist/src/core/user-intelligence.d.ts.map +1 -0
  770. package/dist/src/core/user-intelligence.js +172 -0
  771. package/dist/src/core/user-intelligence.js.map +1 -0
  772. package/dist/src/core/webhooks.d.ts +32 -0
  773. package/dist/src/core/webhooks.d.ts.map +1 -0
  774. package/dist/src/core/webhooks.js +126 -0
  775. package/dist/src/core/webhooks.js.map +1 -0
  776. package/dist/src/core/ws-server.d.ts +43 -0
  777. package/dist/src/core/ws-server.d.ts.map +1 -0
  778. package/dist/src/core/ws-server.js +3278 -0
  779. package/dist/src/core/ws-server.js.map +1 -0
  780. package/dist/src/prompts/loader.d.ts +36 -0
  781. package/dist/src/prompts/loader.d.ts.map +1 -0
  782. package/dist/src/prompts/loader.js +156 -0
  783. package/dist/src/prompts/loader.js.map +1 -0
  784. package/dist/src/types.d.ts +2539 -0
  785. package/dist/src/types.d.ts.map +1 -0
  786. package/dist/src/types.js +62 -0
  787. package/dist/src/types.js.map +1 -0
  788. package/package.json +66 -0
@@ -0,0 +1,263 @@
1
+ import chalk from 'chalk';
2
+ import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs';
3
+ import { join } from 'node:path';
4
+ import { execSync } from 'node:child_process';
5
+ import { loadConfig, requireSwarmDir, autoDetectStack, autoInit } from '../core/config.js';
6
+ import { createContext } from './shared.js';
7
+ import { scanCodebase } from '../core/codebase-scanner.js';
8
+ import { loadConventions } from './learn.js';
9
+ const ONBOARD_STEPS = [
10
+ 'project-overview',
11
+ 'dev-workflow',
12
+ 'key-areas',
13
+ 'conventions',
14
+ 'common-pitfalls',
15
+ ];
16
+ const STEP_LABELS = {
17
+ 'project-overview': 'Project Overview',
18
+ 'dev-workflow': 'Development Workflow',
19
+ 'key-areas': 'Key Areas Tour',
20
+ 'conventions': 'Conventions & Patterns',
21
+ 'common-pitfalls': 'Common Pitfalls',
22
+ };
23
+ export function registerOnboard(program) {
24
+ program
25
+ .command('onboard')
26
+ .description('Start guided onboarding tour of the codebase')
27
+ .option('-s, --stack <stack>', 'Tech stack override')
28
+ .option('-m, --model <model>', 'Model override (e.g., sonnet, openai/gpt-4o, ollama/llama3)')
29
+ .option('-r, --role <role>', 'Role-specific onboarding: frontend, backend, fullstack')
30
+ .option('-a, --area <name>', 'Area-specific deep dive (e.g. api, auth, database)')
31
+ .option('--reset', 'Reset onboarding progress and start fresh')
32
+ .option('-b, --budget <amount>', 'Max budget in USD', '5')
33
+ .option('--step <number>', 'Jump to a specific step (1-5)')
34
+ .action(async (opts) => {
35
+ let swarmDir;
36
+ try {
37
+ swarmDir = requireSwarmDir();
38
+ }
39
+ catch {
40
+ const cwd = process.cwd();
41
+ const stack = opts.stack || autoDetectStack(cwd);
42
+ const projectName = cwd.split('/').pop() || 'my-project';
43
+ console.log(chalk.yellow(`No .swarm/ found — auto-initializing (stack: ${stack})...`));
44
+ swarmDir = autoInit(projectName, stack, cwd);
45
+ }
46
+ const config = loadConfig();
47
+ config.model = opts.model || config.model;
48
+ config.maxBudgetUsd = opts.budget === 'none' ? null : (parseFloat(opts.budget) || 5);
49
+ const cwd = process.cwd();
50
+ const stack = opts.stack || config.stack;
51
+ const role = opts.role;
52
+ const area = opts.area;
53
+ const progressPath = join(swarmDir, 'onboard-progress.json');
54
+ // Load or initialize progress
55
+ let progress = loadProgress(progressPath);
56
+ if (opts.reset) {
57
+ progress = createFreshProgress();
58
+ saveProgress(progressPath, progress);
59
+ console.log(chalk.yellow('Onboarding progress reset.'));
60
+ }
61
+ // If area-specific deep dive, skip the normal flow
62
+ if (area) {
63
+ await runAreaDeepDive(swarmDir, config, cwd, stack, area, role);
64
+ return;
65
+ }
66
+ // Determine starting step
67
+ let startStep = 0;
68
+ if (opts.step) {
69
+ startStep = Math.max(0, Math.min(ONBOARD_STEPS.length - 1, parseInt(opts.step, 10) - 1));
70
+ }
71
+ else {
72
+ // Resume from where we left off
73
+ startStep = progress.completed.length;
74
+ if (startStep >= ONBOARD_STEPS.length) {
75
+ console.log(chalk.green('\nOnboarding already complete! Use --reset to start over.\n'));
76
+ printProgress(progress);
77
+ return;
78
+ }
79
+ }
80
+ console.log(chalk.bold('\nSwarm Onboarding Tour'));
81
+ console.log(chalk.dim(`Model: ${config.model} | Stack: ${stack} | Role: ${role || 'general'}`));
82
+ if (progress.completed.length > 0) {
83
+ console.log(chalk.dim(`Resuming from step ${startStep + 1}/${ONBOARD_STEPS.length}`));
84
+ }
85
+ console.log('');
86
+ const { agentManager, cleanup } = createContext(swarmDir, config);
87
+ try {
88
+ for (let i = startStep; i < ONBOARD_STEPS.length; i++) {
89
+ const stepName = ONBOARD_STEPS[i];
90
+ const stepLabel = STEP_LABELS[stepName];
91
+ console.log(chalk.bold.cyan(`\n--- Step ${i + 1}/${ONBOARD_STEPS.length}: ${stepLabel} ---\n`));
92
+ const prompt = buildStepPrompt(cwd, swarmDir, stepName, stack, role, config.packages);
93
+ const agent = await agentManager.spawn({
94
+ name: `onboard-${stepName}`,
95
+ persona: 'engineer',
96
+ stack,
97
+ prompt,
98
+ model: config.model,
99
+ cwd,
100
+ interactive: true,
101
+ disallowedTools: ['Edit', 'Write', 'NotebookEdit'],
102
+ });
103
+ await agentManager.waitForAgent(agent.id);
104
+ // Update progress
105
+ if (!progress.completed.includes(stepName)) {
106
+ progress.completed.push(stepName);
107
+ }
108
+ progress.remaining = ONBOARD_STEPS.filter(s => !progress.completed.includes(s));
109
+ progress.step = i + 1;
110
+ progress.totalSteps = ONBOARD_STEPS.length;
111
+ progress.currentTopic = stepLabel;
112
+ progress.content = agent.output.slice(0, 2000);
113
+ saveProgress(progressPath, progress);
114
+ if (i < ONBOARD_STEPS.length - 1) {
115
+ console.log(chalk.dim(`\nProgress saved. ${ONBOARD_STEPS.length - i - 1} steps remaining.`));
116
+ }
117
+ }
118
+ console.log(chalk.bold.green('\n\nOnboarding complete!'));
119
+ console.log(chalk.dim(`Progress saved to ${progressPath}`));
120
+ printProgress(progress);
121
+ }
122
+ catch (err) {
123
+ console.error(chalk.red(err instanceof Error ? err.message : String(err)));
124
+ saveProgress(progressPath, progress);
125
+ console.log(chalk.yellow('Progress saved. Run `hivemind onboard` to resume.'));
126
+ process.exit(1);
127
+ }
128
+ finally {
129
+ cleanup();
130
+ }
131
+ });
132
+ }
133
+ function buildStepPrompt(cwd, swarmDir, step, stack, role, packages) {
134
+ const parts = [];
135
+ // Base context
136
+ const codebaseCtx = scanCodebase(cwd, packages);
137
+ if (codebaseCtx)
138
+ parts.push(codebaseCtx);
139
+ const conventions = loadConventions(swarmDir);
140
+ if (conventions)
141
+ parts.push(conventions);
142
+ // Role context
143
+ const roleCtx = role
144
+ ? `The developer being onboarded is a ${role} engineer. Focus your explanations on areas most relevant to their role.`
145
+ : 'The developer being onboarded is a general contributor.';
146
+ parts.push(roleCtx);
147
+ parts.push('');
148
+ parts.push('You are an onboarding guide helping a new developer understand this codebase.');
149
+ parts.push('Be welcoming, thorough, and practical. Use concrete examples from the actual code.');
150
+ parts.push('Read the relevant files to give accurate information. Do NOT guess.');
151
+ parts.push('');
152
+ switch (step) {
153
+ case 'project-overview':
154
+ parts.push('TASK: Project Overview — The first step of onboarding.', '', 'Cover:', '1. What the project does and who uses it', '2. High-level architecture (read package.json, README.md, and entry points)', '3. Repository structure — key directories and what lives where', '4. Tech stack — languages, frameworks, major dependencies', '5. How to set up the project locally (install, build, run)', '', 'Read package.json, README.md, and any architecture docs. Explore the top-level directory structure.', 'Present as a friendly onboarding guide, not a dry documentation dump.');
155
+ break;
156
+ case 'dev-workflow':
157
+ parts.push('TASK: Development Workflow — How to work in this codebase day-to-day.', '', 'Cover:', '1. Build process (read build scripts in package.json or Makefile)', '2. Test workflow (how to run tests, test structure)', '3. CI/CD pipeline (read .github/workflows/ or CI config if exists)', '4. Git workflow (branching strategy, PR process)', '5. Local development tips (dev servers, hot reload, debugging)', '', 'Read the actual build scripts, CI configs, and any contributing guides.');
158
+ break;
159
+ case 'key-areas':
160
+ parts.push('TASK: Key Areas Tour — The most important modules and how they connect.', '', 'Cover:', '1. Find the most-imported/referenced modules (core abstractions)', '2. Explain each key module: what it does, its public API, how it connects to others', '3. Data flow — how data moves through the system', '4. Entry points — where requests/commands/events enter the system', '5. Extension points — where new features are typically added', '', 'Read the actual source files. Focus on the 5-8 most important modules.');
161
+ break;
162
+ case 'conventions':
163
+ parts.push('TASK: Conventions & Patterns — The unwritten (and written) rules of this codebase.', '', 'Cover:', '1. Coding conventions (naming, file structure, import patterns)', '2. Architectural patterns (how new features should be structured)', '3. Error handling patterns', '4. Configuration patterns', '5. Read .swarm/conventions.md if it exists for explicit conventions', '', 'Read actual source files to identify patterns. Give concrete examples.');
164
+ // Include conventions file if it exists
165
+ const convPath = join(swarmDir, 'conventions.md');
166
+ if (existsSync(convPath)) {
167
+ try {
168
+ const convContent = readFileSync(convPath, 'utf-8').slice(0, 5000);
169
+ parts.push('', 'EXISTING CONVENTIONS FILE (.swarm/conventions.md):', convContent);
170
+ }
171
+ catch { /* skip */ }
172
+ }
173
+ break;
174
+ case 'common-pitfalls':
175
+ parts.push('TASK: Common Pitfalls — Things that catch new developers off guard.', '', 'Cover:', '1. Known gotchas (read CLAUDE.md or similar docs for documented gotchas)', '2. Tricky configurations or environment requirements', '3. Common mistakes new contributors make (infer from code patterns)', '4. Performance traps or anti-patterns to avoid', '5. If .swarm/journal/ exists, read decision entries for context on past decisions', '', 'Be specific and actionable. For each pitfall, explain what goes wrong and how to avoid it.');
176
+ // Include journal entries if they exist
177
+ const journalDir = join(swarmDir, 'journal');
178
+ if (existsSync(journalDir)) {
179
+ try {
180
+ const entries = execSync(`ls -t "${journalDir}" | head -5`, { encoding: 'utf-8', cwd }).trim();
181
+ if (entries) {
182
+ parts.push('', 'RECENT DECISION JOURNAL ENTRIES:', entries);
183
+ }
184
+ }
185
+ catch { /* skip */ }
186
+ }
187
+ break;
188
+ }
189
+ return parts.filter(Boolean).join('\n');
190
+ }
191
+ async function runAreaDeepDive(swarmDir, config, cwd, stack, area, role) {
192
+ console.log(chalk.bold(`\nSwarm Onboard — Deep Dive: ${area}`));
193
+ console.log(chalk.dim(`Model: ${config.model} | Stack: ${stack}\n`));
194
+ const { agentManager, cleanup } = createContext(swarmDir, config);
195
+ try {
196
+ const parts = [];
197
+ const codebaseCtx = scanCodebase(cwd, config.packages);
198
+ if (codebaseCtx)
199
+ parts.push(codebaseCtx);
200
+ const conventions = loadConventions(swarmDir);
201
+ if (conventions)
202
+ parts.push(conventions);
203
+ if (role) {
204
+ parts.push(`The developer is a ${role} engineer. Tailor explanations accordingly.`);
205
+ }
206
+ parts.push('', 'You are an onboarding guide doing a deep dive into a specific area of the codebase.', '', `TASK: Deep dive into the "${area}" area of this project.`, '', 'Cover:', `1. Find all files/modules related to "${area}"`, '2. Explain the architecture of this area in detail', '3. Key abstractions and their relationships', '4. How this area connects to the rest of the codebase', '5. How to make changes in this area (patterns to follow)', '6. Tests related to this area and how to run them', '7. Common pitfalls specific to this area', '', 'Read the actual source files. Be thorough and specific.');
207
+ const agent = await agentManager.spawn({
208
+ name: `onboard-deepdive-${area}`,
209
+ persona: 'engineer',
210
+ stack,
211
+ prompt: parts.filter(Boolean).join('\n'),
212
+ model: config.model,
213
+ cwd,
214
+ interactive: true,
215
+ disallowedTools: ['Edit', 'Write', 'NotebookEdit'],
216
+ });
217
+ await agentManager.waitForAgent(agent.id);
218
+ }
219
+ catch (err) {
220
+ console.error(chalk.red(err instanceof Error ? err.message : String(err)));
221
+ process.exit(1);
222
+ }
223
+ finally {
224
+ cleanup();
225
+ }
226
+ }
227
+ function loadProgress(path) {
228
+ if (existsSync(path)) {
229
+ try {
230
+ return JSON.parse(readFileSync(path, 'utf-8'));
231
+ }
232
+ catch { /* corrupted, start fresh */ }
233
+ }
234
+ return createFreshProgress();
235
+ }
236
+ function createFreshProgress() {
237
+ return {
238
+ step: 0,
239
+ totalSteps: ONBOARD_STEPS.length,
240
+ currentTopic: '',
241
+ content: '',
242
+ completed: [],
243
+ remaining: [...ONBOARD_STEPS],
244
+ mentorHistory: [],
245
+ };
246
+ }
247
+ function saveProgress(path, data) {
248
+ const dir = join(path, '..');
249
+ if (!existsSync(dir)) {
250
+ mkdirSync(dir, { recursive: true });
251
+ }
252
+ writeFileSync(path, JSON.stringify(data, null, 2), 'utf-8');
253
+ }
254
+ function printProgress(progress) {
255
+ console.log('');
256
+ for (const step of ONBOARD_STEPS) {
257
+ const done = progress.completed.includes(step);
258
+ const icon = done ? chalk.green('[x]') : chalk.dim('[ ]');
259
+ console.log(` ${icon} ${STEP_LABELS[step]}`);
260
+ }
261
+ console.log('');
262
+ }
263
+ //# sourceMappingURL=onboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboard.js","sourceRoot":"","sources":["../../../src/commands/onboard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from 'commander';
2
+ export declare function registerOptimize(program: Command): void;
3
+ //# sourceMappingURL=optimize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optimize.d.ts","sourceRoot":"","sources":["../../../src/commands/optimize.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0GzC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2QvD"}
@@ -0,0 +1,340 @@
1
+ import chalk from 'chalk';
2
+ import { requireSwarmDir, loadConfig } from '../core/config.js';
3
+ import { PerfAnalyzer } from '../core/perf-analyzer.js';
4
+ // ─── Display helpers ────────────────────────────────────────────────────────
5
+ function formatBytes(bytes) {
6
+ if (bytes < 1024)
7
+ return `${bytes} B`;
8
+ if (bytes < 1024 * 1024)
9
+ return `${(bytes / 1024).toFixed(1)} KB`;
10
+ return `${(bytes / (1024 * 1024)).toFixed(2)} MB`;
11
+ }
12
+ function printHotPaths(hotPaths) {
13
+ if (hotPaths.length === 0)
14
+ return;
15
+ console.log(chalk.bold('\n Hot Paths'));
16
+ console.log(chalk.dim(' ─────────────────────────────────────────────────────────────'));
17
+ console.log(chalk.dim(' Function File CPU% Calls'));
18
+ console.log(chalk.dim(' ─────────────────────────────────────────────────────────────'));
19
+ for (const hp of hotPaths.slice(0, 15)) {
20
+ const fn = hp.function.slice(0, 32).padEnd(34);
21
+ const file = `${hp.file}:${hp.line}`.slice(0, 18).padEnd(20);
22
+ const cpu = `${hp.cpuPercent.toFixed(1)}%`.padStart(5);
23
+ const calls = String(hp.callCount).padStart(7);
24
+ const color = hp.cpuPercent > 20 ? chalk.red : hp.cpuPercent > 10 ? chalk.yellow : chalk.white;
25
+ console.log(` ${color(fn)}${chalk.dim(file)}${color(cpu)}${chalk.dim(calls)}`);
26
+ }
27
+ console.log('');
28
+ }
29
+ function printQueryIssues(issues) {
30
+ if (issues.length === 0)
31
+ return;
32
+ console.log(chalk.bold('\n Query Issues'));
33
+ console.log(chalk.dim(' ─────────────────────────────────────────────────────────────'));
34
+ for (const iss of issues.slice(0, 20)) {
35
+ const typeColor = iss.type === 'n-plus-one' ? chalk.red
36
+ : iss.type === 'full-scan' ? chalk.yellow
37
+ : chalk.cyan;
38
+ console.log(` ${typeColor(`[${iss.type}]`.padEnd(16))} ${chalk.dim(`${iss.file}:${iss.line}`)}`);
39
+ console.log(` ${chalk.dim(iss.query.slice(0, 100))}`);
40
+ console.log(` ${chalk.green('Fix:')} ${iss.suggestion}`);
41
+ console.log(` ${chalk.dim(`Est. impact: ~${iss.estimatedImpactMs}ms`)}`);
42
+ console.log('');
43
+ }
44
+ }
45
+ function printMemoryLeaks(leaks) {
46
+ if (!leaks || leaks.length === 0)
47
+ return;
48
+ console.log(chalk.bold('\n Memory Leak Patterns'));
49
+ console.log(chalk.dim(' ─────────────────────────────────────────────────────────────'));
50
+ for (const leak of leaks.slice(0, 20)) {
51
+ console.log(` ${chalk.yellow('!')} ${chalk.dim(leak.location)}`);
52
+ console.log(` ${leak.description}`);
53
+ console.log('');
54
+ }
55
+ }
56
+ function printBundleSize(bundleSize) {
57
+ if (!bundleSize)
58
+ return;
59
+ console.log(chalk.bold('\n Bundle Analysis'));
60
+ console.log(chalk.dim(' ─────────────────────────────────────────────────────────────'));
61
+ console.log(` Total dist size: ${chalk.bold(formatBytes(bundleSize.totalBytes))}`);
62
+ if (bundleSize.largestModules.length > 0) {
63
+ console.log(chalk.bold('\n Largest Dependencies'));
64
+ for (const mod of bundleSize.largestModules.slice(0, 10)) {
65
+ const bar = chalk.cyan('#'.repeat(Math.min(40, Math.round(mod.bytes / (1024 * 100)))));
66
+ console.log(` ${mod.name.padEnd(30)} ${formatBytes(mod.bytes).padStart(10)} ${bar}`);
67
+ }
68
+ }
69
+ console.log('');
70
+ }
71
+ function printRecommendations(recs) {
72
+ if (recs.length === 0)
73
+ return;
74
+ console.log(chalk.bold('\n Recommendations'));
75
+ console.log(chalk.dim(' ─────────────────────────────────────────────────────────────'));
76
+ for (const rec of recs) {
77
+ console.log(` ${chalk.green('>')} ${rec}`);
78
+ }
79
+ console.log('');
80
+ }
81
+ function printReport(report) {
82
+ const typeLabel = report.type.charAt(0).toUpperCase() + report.type.slice(1);
83
+ console.log(chalk.bold(`\n Optimization Report — ${typeLabel}`));
84
+ console.log(chalk.dim(` Generated: ${new Date(report.timestamp).toLocaleString()}`));
85
+ printHotPaths(report.hotPaths);
86
+ printQueryIssues(report.queryIssues);
87
+ printBundleSize(report.bundleSize);
88
+ printMemoryLeaks(report.memoryLeaks);
89
+ printRecommendations(report.recommendations);
90
+ if (report.improvements.length > 0) {
91
+ console.log(chalk.bold('\n Measured Improvements'));
92
+ console.log(chalk.dim(' ─────────────────────────────────────────────────────────────'));
93
+ for (const imp of report.improvements) {
94
+ console.log(` ${chalk.green('+')} ${imp.description}`);
95
+ console.log(` ${chalk.dim(imp.beforeMetric)} ${chalk.green('->')} ${chalk.bold(imp.afterMetric)} ${chalk.green(`(${imp.improvementPercent.toFixed(1)}% better)`)}`);
96
+ }
97
+ console.log('');
98
+ }
99
+ }
100
+ // ─── Command registration ────────────────────────────────────────────────────
101
+ export function registerOptimize(program) {
102
+ const opt = program
103
+ .command('optimize')
104
+ .alias('perf')
105
+ .description('AI-driven performance optimization — profile, bundle, query, and memory analysis');
106
+ // Default: show last report
107
+ opt.action(() => {
108
+ let swarmDir;
109
+ try {
110
+ swarmDir = requireSwarmDir();
111
+ }
112
+ catch {
113
+ console.error(chalk.red('No .swarm/ directory found. Run `hivemind init` first.'));
114
+ process.exit(1);
115
+ }
116
+ const config = loadConfig();
117
+ const analyzer = new PerfAnalyzer(swarmDir, config.stack);
118
+ const report = analyzer.getReport();
119
+ if (!report) {
120
+ console.log(chalk.dim('\n No optimization reports yet. Run one of:'));
121
+ console.log(chalk.dim(' swarm optimize profile — Run profiler and analyze hot paths'));
122
+ console.log(chalk.dim(' swarm optimize bundle — Analyze bundle size'));
123
+ console.log(chalk.dim(' swarm optimize queries — Find slow database queries'));
124
+ console.log(chalk.dim(' swarm optimize memory — Detect memory leak patterns'));
125
+ console.log(chalk.dim(' swarm optimize "<goal>" — Goal-directed optimization\n'));
126
+ return;
127
+ }
128
+ printReport(report);
129
+ });
130
+ // ── profile ───────────────────────────────────────────────────────────
131
+ opt
132
+ .command('profile')
133
+ .description('Run profiler and analyze hot paths')
134
+ .option('--stack <stack>', 'Override detected stack (node, go, python)')
135
+ .option('--scope <path>', 'Limit analysis to specific directory')
136
+ .option('--dry-run', 'Show what would be profiled without running')
137
+ .option('--json', 'Output as JSON')
138
+ .action((opts) => {
139
+ let swarmDir;
140
+ try {
141
+ swarmDir = requireSwarmDir();
142
+ }
143
+ catch {
144
+ console.error(chalk.red('No .swarm/ directory found. Run `hivemind init` first.'));
145
+ process.exit(1);
146
+ }
147
+ const config = loadConfig();
148
+ const stack = (opts.stack ?? config.stack);
149
+ const analyzer = new PerfAnalyzer(swarmDir, stack);
150
+ if (opts.dryRun) {
151
+ console.log(chalk.dim(`\n Would profile project with stack: ${stack ?? 'auto-detect'}`));
152
+ console.log(chalk.dim(` Scope: ${opts.scope ?? 'entire project'}\n`));
153
+ return;
154
+ }
155
+ console.log(chalk.bold('\n Running profiler...\n'));
156
+ const report = analyzer.profile(opts.scope);
157
+ if (opts.json) {
158
+ console.log(JSON.stringify(report, null, 2));
159
+ }
160
+ else {
161
+ printReport(report);
162
+ }
163
+ });
164
+ // ── bundle ────────────────────────────────────────────────────────────
165
+ opt
166
+ .command('bundle')
167
+ .description('Analyze and optimize bundle size (JS/TS projects)')
168
+ .option('--scope <path>', 'Limit analysis to specific directory')
169
+ .option('--dry-run', 'Show what would be analyzed without running')
170
+ .option('--json', 'Output as JSON')
171
+ .action((opts) => {
172
+ let swarmDir;
173
+ try {
174
+ swarmDir = requireSwarmDir();
175
+ }
176
+ catch {
177
+ console.error(chalk.red('No .swarm/ directory found. Run `hivemind init` first.'));
178
+ process.exit(1);
179
+ }
180
+ const config = loadConfig();
181
+ const analyzer = new PerfAnalyzer(swarmDir, config.stack);
182
+ if (opts.dryRun) {
183
+ console.log(chalk.dim('\n Would analyze bundle size and dependencies'));
184
+ console.log(chalk.dim(` Scope: ${opts.scope ?? 'entire project'}\n`));
185
+ return;
186
+ }
187
+ console.log(chalk.bold('\n Analyzing bundle...\n'));
188
+ const report = analyzer.analyzeBundle(opts.scope);
189
+ if (opts.json) {
190
+ console.log(JSON.stringify(report, null, 2));
191
+ }
192
+ else {
193
+ printReport(report);
194
+ }
195
+ });
196
+ // ── queries ───────────────────────────────────────────────────────────
197
+ opt
198
+ .command('queries')
199
+ .description('Find slow database queries and N+1 patterns')
200
+ .option('--scope <path>', 'Limit analysis to specific directory')
201
+ .option('--dry-run', 'Show what would be analyzed without running')
202
+ .option('--json', 'Output as JSON')
203
+ .action((opts) => {
204
+ let swarmDir;
205
+ try {
206
+ swarmDir = requireSwarmDir();
207
+ }
208
+ catch {
209
+ console.error(chalk.red('No .swarm/ directory found. Run `hivemind init` first.'));
210
+ process.exit(1);
211
+ }
212
+ const config = loadConfig();
213
+ const analyzer = new PerfAnalyzer(swarmDir, config.stack);
214
+ if (opts.dryRun) {
215
+ console.log(chalk.dim('\n Would scan source files for slow query patterns'));
216
+ console.log(chalk.dim(` Scope: ${opts.scope ?? 'entire project'}\n`));
217
+ return;
218
+ }
219
+ console.log(chalk.bold('\n Analyzing queries...\n'));
220
+ const report = analyzer.analyzeQueries(opts.scope);
221
+ if (opts.json) {
222
+ console.log(JSON.stringify(report, null, 2));
223
+ }
224
+ else {
225
+ printReport(report);
226
+ }
227
+ });
228
+ // ── memory ────────────────────────────────────────────────────────────
229
+ opt
230
+ .command('memory')
231
+ .description('Detect memory leak patterns')
232
+ .option('--stack <stack>', 'Override detected stack (node, go, python)')
233
+ .option('--scope <path>', 'Limit analysis to specific directory')
234
+ .option('--dry-run', 'Show what would be analyzed without running')
235
+ .option('--json', 'Output as JSON')
236
+ .action((opts) => {
237
+ let swarmDir;
238
+ try {
239
+ swarmDir = requireSwarmDir();
240
+ }
241
+ catch {
242
+ console.error(chalk.red('No .swarm/ directory found. Run `hivemind init` first.'));
243
+ process.exit(1);
244
+ }
245
+ const config = loadConfig();
246
+ const stack = (opts.stack ?? config.stack);
247
+ const analyzer = new PerfAnalyzer(swarmDir, stack);
248
+ if (opts.dryRun) {
249
+ console.log(chalk.dim('\n Would scan source files for memory leak patterns'));
250
+ console.log(chalk.dim(` Scope: ${opts.scope ?? 'entire project'}\n`));
251
+ return;
252
+ }
253
+ console.log(chalk.bold('\n Analyzing memory patterns...\n'));
254
+ const report = analyzer.analyzeMemory(opts.scope);
255
+ if (opts.json) {
256
+ console.log(JSON.stringify(report, null, 2));
257
+ }
258
+ else {
259
+ printReport(report);
260
+ }
261
+ });
262
+ // ── goal-directed (positional argument) ───────────────────────────────
263
+ opt
264
+ .command('goal <description>')
265
+ .description('Goal-directed optimization (e.g., "reduce API latency")')
266
+ .option('--stack <stack>', 'Override detected stack (node, go, python)')
267
+ .option('--scope <path>', 'Limit analysis to specific directory')
268
+ .option('--dry-run', 'Show what would be analyzed without running')
269
+ .option('--json', 'Output as JSON')
270
+ .action((description, opts) => {
271
+ let swarmDir;
272
+ try {
273
+ swarmDir = requireSwarmDir();
274
+ }
275
+ catch {
276
+ console.error(chalk.red('No .swarm/ directory found. Run `hivemind init` first.'));
277
+ process.exit(1);
278
+ }
279
+ const config = loadConfig();
280
+ const stack = (opts.stack ?? config.stack);
281
+ const analyzer = new PerfAnalyzer(swarmDir, stack);
282
+ if (opts.dryRun) {
283
+ console.log(chalk.dim(`\n Would optimize for goal: "${description}"`));
284
+ console.log(chalk.dim(` Stack: ${stack ?? 'auto-detect'}`));
285
+ console.log(chalk.dim(` Scope: ${opts.scope ?? 'entire project'}\n`));
286
+ return;
287
+ }
288
+ console.log(chalk.bold(`\n Optimizing for: "${description}"...\n`));
289
+ const report = analyzer.optimizeForGoal(description, opts.scope);
290
+ if (opts.json) {
291
+ console.log(JSON.stringify(report, null, 2));
292
+ }
293
+ else {
294
+ printReport(report);
295
+ }
296
+ });
297
+ // ── history ───────────────────────────────────────────────────────────
298
+ opt
299
+ .command('history')
300
+ .description('Show optimization report history')
301
+ .option('--json', 'Output as JSON')
302
+ .option('--limit <n>', 'Number of reports to show', '10')
303
+ .action((opts) => {
304
+ let swarmDir;
305
+ try {
306
+ swarmDir = requireSwarmDir();
307
+ }
308
+ catch {
309
+ console.error(chalk.red('No .swarm/ directory found. Run `hivemind init` first.'));
310
+ process.exit(1);
311
+ }
312
+ const config = loadConfig();
313
+ const analyzer = new PerfAnalyzer(swarmDir, config.stack);
314
+ const reports = analyzer.getReports();
315
+ const limit = parseInt(opts.limit) || 10;
316
+ const recent = reports.slice(-limit);
317
+ if (opts.json) {
318
+ console.log(JSON.stringify(recent, null, 2));
319
+ return;
320
+ }
321
+ if (recent.length === 0) {
322
+ console.log(chalk.dim('\n No optimization reports yet.\n'));
323
+ return;
324
+ }
325
+ console.log(chalk.bold(`\n Optimization History (${recent.length} of ${reports.length} reports)\n`));
326
+ console.log(chalk.dim(' Type Date Hot Paths Queries Leaks Recs'));
327
+ console.log(chalk.dim(' ─────────────────────────────────────────────────────────────────────'));
328
+ for (const r of recent) {
329
+ const type = r.type.padEnd(10);
330
+ const date = new Date(r.timestamp).toLocaleString().padEnd(24);
331
+ const hp = String(r.hotPaths.length).padStart(9);
332
+ const qi = String(r.queryIssues.length).padStart(8);
333
+ const ml = String(r.memoryLeaks?.length ?? 0).padStart(6);
334
+ const recs = String(r.recommendations.length).padStart(5);
335
+ console.log(` ${type} ${chalk.dim(date)} ${hp} ${qi} ${ml} ${recs}`);
336
+ }
337
+ console.log('');
338
+ });
339
+ }
340
+ //# sourceMappingURL=optimize.js.map