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,107 @@
1
+ import { existsSync, readFileSync, writeFileSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ import chalk from 'chalk';
4
+ import ora from 'ora';
5
+ import { loadConfig, requireSwarmDir, autoDetectStack, autoInit } from '../core/config.js';
6
+ import { extractConventions, buildConventionPrompt } from '../core/convention-extractor.js';
7
+ export function registerLearn(program) {
8
+ program
9
+ .command('learn')
10
+ .description('Scan codebase and extract project conventions for all agents to follow')
11
+ .option('-s, --stack <stack>', 'Tech stack override')
12
+ .option('--refresh', 'Re-scan even if conventions file exists')
13
+ .option('--merge', 'Update existing conventions without overwriting manual edits')
14
+ .option('--show', 'Print conventions to stdout without saving')
15
+ .action(async (opts) => {
16
+ let swarmDir;
17
+ try {
18
+ swarmDir = requireSwarmDir();
19
+ }
20
+ catch {
21
+ const cwd = process.cwd();
22
+ const stack = opts.stack || autoDetectStack(cwd);
23
+ const projectName = cwd.split('/').pop() || 'my-project';
24
+ console.log(chalk.yellow(`No .swarm/ found — auto-initializing (stack: ${stack})...`));
25
+ swarmDir = autoInit(projectName, stack, cwd);
26
+ }
27
+ const config = loadConfig();
28
+ const cwd = process.cwd();
29
+ const conventionsPath = join(swarmDir, 'conventions.md');
30
+ // Check for existing conventions
31
+ if (existsSync(conventionsPath) && !opts.refresh && !opts.merge && !opts.show) {
32
+ console.log(chalk.yellow(`Conventions already exist at ${conventionsPath}`));
33
+ console.log(chalk.dim('Use --refresh to re-scan, --merge to update, or --show to view'));
34
+ console.log('');
35
+ const existing = readFileSync(conventionsPath, 'utf-8');
36
+ console.log(existing);
37
+ return;
38
+ }
39
+ const spinner = ora('Scanning codebase for conventions...').start();
40
+ try {
41
+ const conventions = extractConventions(cwd);
42
+ if (!conventions.trim()) {
43
+ spinner.warn('No conventions detected. Your project may be too small or use unfamiliar patterns.');
44
+ return;
45
+ }
46
+ const conventionDoc = buildConventionPrompt(conventions);
47
+ if (opts.show) {
48
+ spinner.stop();
49
+ console.log(conventionDoc);
50
+ return;
51
+ }
52
+ if (opts.merge && existsSync(conventionsPath)) {
53
+ // Merge: append new conventions after a separator, preserving manual edits
54
+ const existing = readFileSync(conventionsPath, 'utf-8');
55
+ const merged = [
56
+ existing.trimEnd(),
57
+ '',
58
+ '---',
59
+ '',
60
+ '<!-- Auto-updated by hivemind learn --merge -->',
61
+ conventions,
62
+ ].join('\n');
63
+ writeFileSync(conventionsPath, merged, 'utf-8');
64
+ spinner.succeed(`Conventions merged into ${conventionsPath}`);
65
+ }
66
+ else {
67
+ // Full write
68
+ const header = [
69
+ '# Project Conventions',
70
+ '',
71
+ `<!-- Generated by \`hivemind learn\` on ${new Date().toISOString().split('T')[0]} -->`,
72
+ '<!-- Edit freely — manual changes are preserved with --merge -->',
73
+ '',
74
+ ].join('\n');
75
+ writeFileSync(conventionsPath, header + conventions + '\n', 'utf-8');
76
+ spinner.succeed(`Conventions saved to ${conventionsPath}`);
77
+ }
78
+ console.log('');
79
+ console.log(chalk.dim('Conventions will be injected into all pipeline agents automatically.'));
80
+ console.log(chalk.dim('Edit .swarm/conventions.md to customize. Re-run with --refresh to re-scan.'));
81
+ }
82
+ catch (err) {
83
+ spinner.fail(`Failed to extract conventions: ${err instanceof Error ? err.message : String(err)}`);
84
+ process.exit(1);
85
+ }
86
+ });
87
+ }
88
+ /**
89
+ * Load conventions from .swarm/conventions.md if it exists.
90
+ * Returns the convention text ready for injection into agent system prompts,
91
+ * or empty string if no conventions file.
92
+ */
93
+ export function loadConventions(swarmDir) {
94
+ const conventionsPath = join(swarmDir, 'conventions.md');
95
+ if (!existsSync(conventionsPath))
96
+ return '';
97
+ try {
98
+ const raw = readFileSync(conventionsPath, 'utf-8');
99
+ if (!raw.trim())
100
+ return '';
101
+ return buildConventionPrompt(raw);
102
+ }
103
+ catch {
104
+ return '';
105
+ }
106
+ }
107
+ //# sourceMappingURL=learn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"learn.js","sourceRoot":"","sources":["../../../src/commands/learn.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from 'commander';
2
+ export declare function registerMayday(program: Command): void;
3
+ //# sourceMappingURL=mayday.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mayday.d.ts","sourceRoot":"","sources":["../../../src/commands/mayday.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBzC,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoIrD"}
@@ -0,0 +1,145 @@
1
+ import { readFileSync, existsSync } from 'node:fs';
2
+ import { createInterface } from 'node:readline';
3
+ import chalk from 'chalk';
4
+ import { loadConfig, requireSwarmDir, autoDetectStack, autoInit } from '../core/config.js';
5
+ import { createContext } from './shared.js';
6
+ import { Pipeline } from '../core/pipeline.js';
7
+ async function confirmCost(model, stageCount) {
8
+ const est = Pipeline.estimateCost(stageCount, model);
9
+ const rl = createInterface({ input: process.stdin, output: process.stdout });
10
+ return new Promise((resolve) => {
11
+ rl.question(chalk.yellow(`Estimated cost: ~$${est.low.toFixed(2)}-$${est.high.toFixed(2)}. Proceed? [Y/n] `), (answer) => {
12
+ rl.close();
13
+ resolve(answer.trim().toLowerCase() !== 'n');
14
+ });
15
+ });
16
+ }
17
+ export function registerMayday(program) {
18
+ program
19
+ .command('mayday')
20
+ .description('Autonomous end-to-end pipeline: analyze → build → test → fix loop until all tests pass')
21
+ .argument('[feature-request]', 'Feature request description (text or file path)')
22
+ .option('-s, --stack <stack>', 'Tech stack override (react, node, go)')
23
+ .option('-m, --model <model>', 'Model override (e.g., sonnet, openai/gpt-4o, ollama/llama3)')
24
+ .option('-p, --parallel <n>', 'Max parallel agents', '3')
25
+ .option('-n, --max-iterations <n>', 'Max fix-retest iterations', '5')
26
+ .option('--figma <url>', 'Figma design URL')
27
+ .option('-b, --budget <amount>', 'Max total budget in USD (default: from config, "none" for no limit)')
28
+ .option('--fix-budget <amount>', 'Max USD to spend on fix iterations (default: 15, "none" for no limit)', '15')
29
+ .option('-f, --file', 'Treat argument as a file path to read')
30
+ .option('--resume', 'Resume a previously interrupted MayDay session')
31
+ .option('-y, --yes', 'Skip cost confirmation prompt')
32
+ .option('--from <stage>', 'Skip stages before this one (analyze, architect, plan, build, test)')
33
+ .option('--approve', 'Require approval between pipeline stages')
34
+ .option('--no-git', 'Skip git branch creation and auto-commits')
35
+ .option('--lean', 'Lean mode: use haiku for docs stages (analyst/architect/lead/tester), keep engineer on default model')
36
+ .option('--smart', 'Smart model selection: sonnet for docs, opus for engineer')
37
+ .option('--headless', 'Skip all interactive pauses (for CI/automation)')
38
+ .action(async (featureRequest, opts) => {
39
+ let swarmDir;
40
+ try {
41
+ swarmDir = requireSwarmDir();
42
+ }
43
+ catch {
44
+ // Auto-init if .swarm/ doesn't exist
45
+ const cwd = process.cwd();
46
+ const stack = opts.stack || autoDetectStack(cwd);
47
+ const projectName = cwd.split('/').pop() || 'my-project';
48
+ console.log(chalk.yellow(`No .swarm/ found — auto-initializing (stack: ${stack})...`));
49
+ swarmDir = autoInit(projectName, stack, cwd);
50
+ console.log(chalk.green(`Initialized .swarm/ for "${projectName}"`));
51
+ }
52
+ const config = loadConfig();
53
+ if (opts.model)
54
+ config.model = opts.model;
55
+ if (opts.budget) {
56
+ config.maxBudgetUsd = opts.budget === 'none' ? null : (parseFloat(opts.budget) || null);
57
+ }
58
+ // Lean mode: haiku for docs stages, keep engineer on default model
59
+ // TODO: Use ModelCatalog.suggestForTier('lean') when available
60
+ if (opts.lean) {
61
+ const engineerModel = config.models?.engineer ?? config.model;
62
+ config.models = {
63
+ ...config.models,
64
+ analyst: 'haiku',
65
+ architect: 'haiku',
66
+ lead: 'haiku',
67
+ tester: 'haiku',
68
+ engineer: engineerModel,
69
+ };
70
+ console.log(chalk.dim(`[lean] Using haiku for docs stages, ${engineerModel} for engineer`));
71
+ }
72
+ // Smart mode: sonnet for docs stages, opus for engineer (best quality/cost balance)
73
+ // TODO: Use ModelCatalog.suggestForTier('smart') when available
74
+ if (opts.smart && !opts.lean) {
75
+ config.models = {
76
+ ...config.models,
77
+ analyst: 'sonnet',
78
+ architect: 'sonnet',
79
+ lead: 'sonnet',
80
+ tester: 'sonnet',
81
+ engineer: 'opus',
82
+ };
83
+ console.log(chalk.dim(`[smart] Using sonnet for docs stages, opus for engineer`));
84
+ }
85
+ const stack = opts.stack || config.stack;
86
+ const { pipeline, state, cleanup } = createContext(swarmDir, config);
87
+ pipeline.gitEnabled = opts.git !== false;
88
+ try {
89
+ // Resume mode
90
+ if (opts.resume) {
91
+ const mayday = state.getMayday();
92
+ if (!mayday?.active) {
93
+ console.error(chalk.red('No active MayDay session to resume.'));
94
+ console.error(chalk.dim(`Start a new one: ${chalk.bold('hivemind mayday "your feature request"')}`));
95
+ process.exit(1);
96
+ }
97
+ await pipeline.resumeMayday({ parallel: parseInt(opts.parallel, 10) });
98
+ return;
99
+ }
100
+ // New run requires a feature request
101
+ if (!featureRequest) {
102
+ console.error(chalk.red('Feature request required. Usage: hivemind mayday "build a login page"'));
103
+ process.exit(1);
104
+ }
105
+ let prompt = featureRequest;
106
+ if (opts.file) {
107
+ if (!existsSync(featureRequest)) {
108
+ console.error(chalk.red(`File not found: ${featureRequest}`));
109
+ process.exit(1);
110
+ }
111
+ prompt = readFileSync(featureRequest, 'utf-8');
112
+ }
113
+ const fixBudget = opts.fixBudget === 'none' ? null : (parseFloat(opts.fixBudget) || 15);
114
+ // Cost confirmation (MayDay = 5 stages + fix iterations, estimate 6x)
115
+ // Lean mode uses haiku for 4 stages + engineer model for 2 stages
116
+ if (!opts.yes) {
117
+ const confirmed = opts.lean
118
+ ? await confirmCost('haiku', 4).then(ok => ok ? confirmCost(config.model, 2) : false)
119
+ : await confirmCost(config.model, 6);
120
+ if (!confirmed) {
121
+ console.log(chalk.dim('Aborted.'));
122
+ return;
123
+ }
124
+ }
125
+ await pipeline.runMayday(prompt, {
126
+ stack,
127
+ maxIterations: parseInt(opts.maxIterations, 10),
128
+ figmaUrl: opts.figma,
129
+ parallel: parseInt(opts.parallel, 10),
130
+ maxFixBudgetUsd: fixBudget,
131
+ fromStage: opts.from,
132
+ approvalRequired: opts.approve ?? false,
133
+ headless: opts.headless ?? false,
134
+ });
135
+ }
136
+ catch (err) {
137
+ console.error(chalk.red(err instanceof Error ? err.message : String(err)));
138
+ process.exit(1);
139
+ }
140
+ finally {
141
+ cleanup();
142
+ }
143
+ });
144
+ }
145
+ //# sourceMappingURL=mayday.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mayday.js","sourceRoot":"","sources":["../../../src/commands/mayday.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from 'commander';
2
+ export declare function registerMemory(program: Command): void;
3
+ //# sourceMappingURL=memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/commands/memory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2GrD"}
@@ -0,0 +1,113 @@
1
+ import chalk from 'chalk';
2
+ import { requireSwarmDir, autoDetectStack, autoInit } from '../core/config.js';
3
+ import { MemoryStore } from '../core/memory-store.js';
4
+ export function registerMemory(program) {
5
+ const mem = program
6
+ .command('memory')
7
+ .description('Manage cross-run pipeline memory — what worked, what failed, patterns learned');
8
+ mem
9
+ .command('list')
10
+ .description('List all active memories')
11
+ .option('-k, --kind <kind>', 'Filter by kind (fix-pattern, flaky-test, approach, performance, manual, success)')
12
+ .option('-t, --tag <tag>', 'Filter by tag')
13
+ .action((opts) => {
14
+ const swarmDir = getSwarmDir();
15
+ const store = new MemoryStore(swarmDir);
16
+ let entries = store.list();
17
+ if (opts.kind) {
18
+ entries = entries.filter(e => e.kind === opts.kind);
19
+ }
20
+ if (opts.tag) {
21
+ entries = entries.filter(e => e.tags.includes(opts.tag) || e.content.toLowerCase().includes(opts.tag.toLowerCase()));
22
+ }
23
+ if (entries.length === 0) {
24
+ console.log(chalk.dim('No memories stored. Memories are recorded automatically after pipeline runs.'));
25
+ console.log(chalk.dim('Add one manually: swarm memory add "note about your project"'));
26
+ return;
27
+ }
28
+ console.log(chalk.bold(`\nStored memories (${entries.length}):\n`));
29
+ for (const entry of entries) {
30
+ const kindColor = {
31
+ 'fix-pattern': chalk.yellow,
32
+ 'flaky-test': chalk.red,
33
+ 'approach': chalk.blue,
34
+ 'performance': chalk.magenta,
35
+ 'manual': chalk.green,
36
+ 'success': chalk.cyan,
37
+ }[entry.kind] ?? chalk.white;
38
+ const confidence = entry.confidence >= 80 ? chalk.green('HIGH') :
39
+ entry.confidence >= 50 ? chalk.yellow('MED') : chalk.red('LOW');
40
+ console.log(` ${kindColor(`[${entry.kind}]`)} ${confidence} — ${entry.content}`);
41
+ console.log(chalk.dim(` ID: ${entry.id} | Expires: ${entry.expiresAt.split('T')[0]} | Tags: ${entry.tags.join(', ') || 'none'}`));
42
+ console.log('');
43
+ }
44
+ });
45
+ mem
46
+ .command('add')
47
+ .description('Manually add a memory note')
48
+ .argument('<note>', 'Memory content')
49
+ .option('-k, --kind <kind>', 'Memory kind', 'manual')
50
+ .option('-c, --confidence <n>', 'Confidence score 0-100', '80')
51
+ .option('-t, --tags <tags>', 'Comma-separated tags')
52
+ .action((note, opts) => {
53
+ const swarmDir = getSwarmDir();
54
+ const store = new MemoryStore(swarmDir);
55
+ const entry = store.add({
56
+ kind: (opts.kind || 'manual'),
57
+ content: note,
58
+ confidence: parseInt(opts.confidence) || 80,
59
+ source: 'manual',
60
+ tags: opts.tags ? opts.tags.split(',').map((t) => t.trim()) : [],
61
+ });
62
+ console.log(chalk.green(`Memory added: ${entry.id}`));
63
+ });
64
+ mem
65
+ .command('clear')
66
+ .description('Clear all stored memories')
67
+ .action(() => {
68
+ const swarmDir = getSwarmDir();
69
+ const store = new MemoryStore(swarmDir);
70
+ store.clear();
71
+ console.log(chalk.yellow('All memories cleared.'));
72
+ });
73
+ mem
74
+ .command('remove')
75
+ .description('Remove a specific memory by ID')
76
+ .argument('<id>', 'Memory ID')
77
+ .action((id) => {
78
+ const swarmDir = getSwarmDir();
79
+ const store = new MemoryStore(swarmDir);
80
+ if (store.remove(id)) {
81
+ console.log(chalk.green(`Memory ${id} removed.`));
82
+ }
83
+ else {
84
+ console.log(chalk.red(`Memory ${id} not found.`));
85
+ }
86
+ });
87
+ mem
88
+ .command('show')
89
+ .description('Show memory context as it would be injected into agents')
90
+ .action(() => {
91
+ const swarmDir = getSwarmDir();
92
+ const store = new MemoryStore(swarmDir);
93
+ const context = store.buildMemoryContext();
94
+ if (!context) {
95
+ console.log(chalk.dim('No memories to show.'));
96
+ return;
97
+ }
98
+ console.log(context);
99
+ });
100
+ }
101
+ function getSwarmDir() {
102
+ try {
103
+ return requireSwarmDir();
104
+ }
105
+ catch {
106
+ const cwd = process.cwd();
107
+ const stack = autoDetectStack(cwd);
108
+ const projectName = cwd.split('/').pop() || 'my-project';
109
+ console.log(chalk.yellow(`No .swarm/ found — auto-initializing (stack: ${stack})...`));
110
+ return autoInit(projectName, stack, cwd);
111
+ }
112
+ }
113
+ //# sourceMappingURL=memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/commands/memory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerMentor(program: Command): void;
3
+ //# sourceMappingURL=mentor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mentor.d.ts","sourceRoot":"","sources":["../../../src/commands/mentor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoCpC,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8CrD"}
@@ -0,0 +1,225 @@
1
+ import chalk from 'chalk';
2
+ import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs';
3
+ import { join } from 'node:path';
4
+ import ora from 'ora';
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 MENTOR_SYSTEM_PROMPT = [
10
+ 'You are a senior engineering mentor. Your goal is to TEACH and EXPLAIN, not just answer.',
11
+ '',
12
+ 'When answering questions:',
13
+ '- Explain the "why" behind things, not just the "what"',
14
+ '- Use analogies and examples from the actual codebase',
15
+ '- Point to specific files and line numbers',
16
+ '- Suggest follow-up topics the developer should explore',
17
+ '- If the question reveals a misunderstanding, gently correct it',
18
+ '',
19
+ 'When reviewing code:',
20
+ '- Focus on learning opportunities, not just errors',
21
+ '- Explain the reasoning behind best practices',
22
+ '- Suggest concrete improvements with examples',
23
+ '- Highlight what the developer did well (positive reinforcement)',
24
+ '',
25
+ 'When explaining code:',
26
+ '- Start with the big picture, then zoom in',
27
+ '- Trace the flow of data through the system',
28
+ '- Explain design decisions and trade-offs',
29
+ '- Suggest related areas to explore next',
30
+ '',
31
+ 'Always read the actual source files before answering. Do NOT guess.',
32
+ ].join('\n');
33
+ export function registerMentor(program) {
34
+ const mentorCmd = program
35
+ .command('mentor')
36
+ .description('AI mentor — ask questions, get educational code reviews, or deep-dive into areas')
37
+ .argument('[question...]', 'Ask a contextual question about the codebase')
38
+ .option('-s, --stack <stack>', 'Tech stack override')
39
+ .option('-m, --model <model>', 'Model override (e.g., sonnet, openai/gpt-4o, ollama/llama3)')
40
+ .option('-b, --budget <amount>', 'Max budget in USD', '3')
41
+ .option('-i, --interactive', 'Interactive mode — follow-up Q&A in terminal')
42
+ .action(async (questionParts, opts) => {
43
+ const question = questionParts.join(' ');
44
+ if (!question) {
45
+ console.log(chalk.yellow('Usage: hivemind mentor <question>'));
46
+ console.log(chalk.dim(' hivemind mentor "How does authentication work?"'));
47
+ console.log(chalk.dim(' hivemind mentor review'));
48
+ console.log(chalk.dim(' hivemind mentor explain src/core/pipeline.ts'));
49
+ return;
50
+ }
51
+ await runMentor(question, opts, 'question');
52
+ });
53
+ // Subcommand: review
54
+ mentorCmd
55
+ .command('review')
56
+ .description('Educational code review of staged or recent changes')
57
+ .option('-s, --stack <stack>', 'Tech stack override')
58
+ .option('-m, --model <model>', 'Model override (e.g., sonnet, openai/gpt-4o, ollama/llama3)')
59
+ .option('-b, --budget <amount>', 'Max budget in USD', '3')
60
+ .option('--file <path>', 'Review a specific file instead of staged changes')
61
+ .option('--commit <sha>', 'Review a specific commit')
62
+ .action(async (opts) => {
63
+ await runMentor('', opts, 'review');
64
+ });
65
+ // Subcommand: explain
66
+ mentorCmd
67
+ .command('explain <path>')
68
+ .description('Deep educational dive into a file or directory')
69
+ .option('-s, --stack <stack>', 'Tech stack override')
70
+ .option('-m, --model <model>', 'Model override (e.g., sonnet, openai/gpt-4o, ollama/llama3)')
71
+ .option('-b, --budget <amount>', 'Max budget in USD', '3')
72
+ .option('-i, --interactive', 'Interactive mode — follow-up Q&A in terminal')
73
+ .action(async (path, opts) => {
74
+ await runMentor(path, opts, 'explain');
75
+ });
76
+ }
77
+ async function runMentor(input, opts, mode) {
78
+ let swarmDir;
79
+ try {
80
+ swarmDir = requireSwarmDir();
81
+ }
82
+ catch {
83
+ const cwd = process.cwd();
84
+ const stack = opts.stack || autoDetectStack(cwd);
85
+ const projectName = cwd.split('/').pop() || 'my-project';
86
+ console.log(chalk.yellow(`No .swarm/ found — auto-initializing (stack: ${stack})...`));
87
+ swarmDir = autoInit(projectName, stack, cwd);
88
+ }
89
+ const config = loadConfig();
90
+ config.model = opts.model || config.model;
91
+ const budgetStr = opts.budget || '3';
92
+ config.maxBudgetUsd = budgetStr === 'none' ? null : (parseFloat(budgetStr) || 3);
93
+ const cwd = process.cwd();
94
+ const stack = opts.stack || config.stack;
95
+ const interactive = opts.interactive ?? false;
96
+ const { agentManager, cleanup } = createContext(swarmDir, config);
97
+ try {
98
+ const prompt = buildMentorPrompt(cwd, swarmDir, input, mode, stack, opts, config.packages);
99
+ const modeLabel = {
100
+ question: `Answering: ${input.slice(0, 80)}`,
101
+ review: opts.file ? `Reviewing: ${opts.file}` : 'Educational code review',
102
+ explain: `Deep dive: ${input}`,
103
+ }[mode];
104
+ console.log(chalk.bold('\nSwarm Mentor'));
105
+ console.log(chalk.dim(`${modeLabel}`));
106
+ console.log(chalk.dim(`Model: ${config.model} | Stack: ${stack}\n`));
107
+ if (interactive) {
108
+ const agent = await agentManager.spawn({
109
+ name: `mentor-${mode}`,
110
+ persona: 'engineer',
111
+ stack,
112
+ prompt,
113
+ model: config.model,
114
+ cwd,
115
+ interactive: true,
116
+ disallowedTools: ['Edit', 'Write', 'NotebookEdit', 'Bash'],
117
+ });
118
+ await agentManager.waitForAgent(agent.id);
119
+ saveMentorHistory(swarmDir, mode, input, agent.output);
120
+ }
121
+ else {
122
+ const spinner = ora('Thinking...').start();
123
+ const agent = await agentManager.spawn({
124
+ name: `mentor-${mode}`,
125
+ persona: 'engineer',
126
+ stack,
127
+ prompt,
128
+ model: config.model,
129
+ cwd,
130
+ interactive: false,
131
+ permissionMode: 'auto',
132
+ disallowedTools: ['Edit', 'Write', 'NotebookEdit', 'Bash'],
133
+ });
134
+ await agentManager.waitForAgent(agent.id);
135
+ const cost = agent.cost.totalUsd;
136
+ if (agent.status === 'done') {
137
+ spinner.succeed(`Done. Cost: $${cost.toFixed(2)}`);
138
+ saveMentorHistory(swarmDir, mode, input, agent.output);
139
+ }
140
+ else {
141
+ spinner.fail(`Mentor failed: ${agent.error || 'Unknown error'}`);
142
+ }
143
+ }
144
+ }
145
+ catch (err) {
146
+ console.error(chalk.red(err instanceof Error ? err.message : String(err)));
147
+ process.exit(1);
148
+ }
149
+ finally {
150
+ cleanup();
151
+ }
152
+ }
153
+ function buildMentorPrompt(cwd, swarmDir, input, mode, stack, opts, packages) {
154
+ const parts = [];
155
+ // Codebase context
156
+ const codebaseCtx = scanCodebase(cwd, packages);
157
+ if (codebaseCtx)
158
+ parts.push(codebaseCtx);
159
+ // Conventions
160
+ const conventions = loadConventions(swarmDir);
161
+ if (conventions)
162
+ parts.push(conventions);
163
+ // Mentor system prompt
164
+ parts.push('', MENTOR_SYSTEM_PROMPT, '');
165
+ switch (mode) {
166
+ case 'question':
167
+ parts.push('TASK: Answer the following question about this codebase in a teaching/mentoring style.', '', `QUESTION: "${input}"`, '', 'Instructions:', '1. Read relevant source files to give an accurate answer', '2. Explain the "why" behind the answer, not just the "what"', '3. Point to specific files and code locations', '4. Suggest 2-3 follow-up topics the developer should explore', '5. If the question touches on a design decision, explain the trade-offs');
168
+ break;
169
+ case 'review': {
170
+ parts.push('TASK: Educational code review — teach through reviewing code.', '');
171
+ if (opts.file) {
172
+ parts.push(`Review the file: ${opts.file}`, '', 'Instructions:', '1. Read the file and understand its purpose in the project', '2. Review for: correctness, patterns, readability, performance, security', '3. For each finding, EXPLAIN why it matters (teach, don\'t just critique)', '4. Highlight good practices the developer used', '5. Suggest concrete improvements with code examples', '6. Rate overall quality and suggest priority improvements');
173
+ }
174
+ else if (opts.commit) {
175
+ parts.push(`Review the changes in commit: ${opts.commit}`, '', `Run: git show ${opts.commit}`, '', 'Instructions:', '1. Understand the intent of the commit', '2. Review changes for: correctness, patterns, edge cases', '3. Explain any concerns in a teaching style', '4. Highlight good decisions in the commit');
176
+ }
177
+ else {
178
+ parts.push('Review the currently staged changes (git diff --staged) or recent uncommitted changes (git diff).', '', 'Run: git diff --staged (or git diff if nothing is staged)', '', 'Instructions:', '1. Understand what the changes are trying to accomplish', '2. Review for: correctness, consistency with project patterns, edge cases', '3. Teach about any patterns being broken or improved', '4. Highlight good practices in the changes', '5. Suggest improvements with explanations');
179
+ }
180
+ break;
181
+ }
182
+ case 'explain':
183
+ parts.push(`TASK: Educational deep-dive into: ${input}`, '', 'Instructions:', '1. Read the file/directory and understand its role in the project', '2. Start with the big picture — what problem does this solve?', '3. Walk through the code structure, explaining each key part', '4. Trace the data flow through this module', '5. Explain design decisions and trade-offs', '6. Show how this connects to the rest of the codebase', '7. Point out patterns a new developer should learn from this code', '8. Suggest related areas to explore next', '', 'Think of this as a pairing session where you\'re walking a junior developer through the code.');
184
+ break;
185
+ }
186
+ return parts.filter(Boolean).join('\n');
187
+ }
188
+ function saveMentorHistory(swarmDir, mode, input, output) {
189
+ try {
190
+ const progressPath = join(swarmDir, 'onboard-progress.json');
191
+ let progress;
192
+ if (existsSync(progressPath)) {
193
+ progress = JSON.parse(readFileSync(progressPath, 'utf-8'));
194
+ }
195
+ else {
196
+ progress = {
197
+ step: 0,
198
+ totalSteps: 5,
199
+ currentTopic: '',
200
+ content: '',
201
+ completed: [],
202
+ remaining: [],
203
+ mentorHistory: [],
204
+ };
205
+ }
206
+ progress.mentorHistory.push({
207
+ question: `[${mode}] ${input}`,
208
+ answer: output.slice(0, 1000),
209
+ timestamp: Date.now(),
210
+ });
211
+ // Keep last 50 entries
212
+ if (progress.mentorHistory.length > 50) {
213
+ progress.mentorHistory = progress.mentorHistory.slice(-50);
214
+ }
215
+ const dir = join(progressPath, '..');
216
+ if (!existsSync(dir)) {
217
+ mkdirSync(dir, { recursive: true });
218
+ }
219
+ writeFileSync(progressPath, JSON.stringify(progress, null, 2), 'utf-8');
220
+ }
221
+ catch {
222
+ // Non-critical — don't fail the command
223
+ }
224
+ }
225
+ //# sourceMappingURL=mentor.js.map