agentic-qe 3.8.13 → 3.9.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 (359) hide show
  1. package/.claude/skills/skills-manifest.json +1 -1
  2. package/CHANGELOG.md +48 -0
  3. package/dist/adapters/a2ui/integration/agui-sync.js +2 -1
  4. package/dist/audit/witness-chain.js +15 -3
  5. package/dist/boot/fast-paths.d.ts +24 -0
  6. package/dist/boot/fast-paths.js +43 -0
  7. package/dist/boot/parallel-prefetch.d.ts +26 -0
  8. package/dist/boot/parallel-prefetch.js +36 -0
  9. package/dist/cli/bundle.js +12 -9431
  10. package/dist/cli/chunks/adapter-WBR5NXS3.js +2 -0
  11. package/dist/cli/chunks/agent-booster-wasm-PQYB7VRU.js +2 -0
  12. package/dist/cli/chunks/agent-handler-QDAB5NQS.js +33 -0
  13. package/dist/cli/chunks/aqe-learning-engine-TK4JQCGT.js +2 -0
  14. package/dist/cli/chunks/audit-S7JUYYVP.js +3 -0
  15. package/dist/cli/chunks/base-2WXOSMBQ.js +2 -0
  16. package/dist/cli/chunks/better-sqlite3-7KY2RDXO.js +2 -0
  17. package/dist/cli/chunks/brain-handler-PPEGDCN4.js +68 -0
  18. package/dist/cli/chunks/branch-enumerator-XK4V5W7L.js +7 -0
  19. package/dist/cli/chunks/browser-PALA5PL3.js +4 -0
  20. package/dist/cli/chunks/browser-workflow-42F7GK5T.js +2 -0
  21. package/dist/cli/chunks/chunk-24FKIJNC.js +15 -0
  22. package/dist/cli/chunks/chunk-263XS447.js +2 -0
  23. package/dist/cli/chunks/chunk-2BZFNEN2.js +4 -0
  24. package/dist/cli/chunks/chunk-2E5NQNSU.js +180 -0
  25. package/dist/cli/chunks/chunk-2I7J3O6V.js +2 -0
  26. package/dist/cli/chunks/chunk-3ADGXLTM.js +14 -0
  27. package/dist/cli/chunks/chunk-3IHG3WOY.js +12 -0
  28. package/dist/cli/chunks/chunk-3IUNFTIF.js +2 -0
  29. package/dist/cli/chunks/chunk-3JPRUND5.js +2 -0
  30. package/dist/cli/chunks/chunk-3NZLZHJI.js +2 -0
  31. package/dist/cli/chunks/chunk-3THRQEZ2.js +95 -0
  32. package/dist/cli/chunks/chunk-3ZOONQG6.js +2 -0
  33. package/dist/cli/chunks/chunk-4B6NCELM.js +2 -0
  34. package/dist/cli/chunks/chunk-4I2IOUS4.js +2 -0
  35. package/dist/cli/chunks/chunk-4VBTXZRM.js +2 -0
  36. package/dist/cli/chunks/chunk-4VUPRTVX.js +3 -0
  37. package/dist/cli/chunks/chunk-4YOMLWEK.js +70 -0
  38. package/dist/cli/chunks/chunk-4YS3IJ45.js +2 -0
  39. package/dist/cli/chunks/chunk-5SKGFSKD.js +2 -0
  40. package/dist/cli/chunks/chunk-5T2ZQWKF.js +27 -0
  41. package/dist/cli/chunks/chunk-62ADTHV7.js +2 -0
  42. package/dist/cli/chunks/chunk-6EOS7KX2.js +2 -0
  43. package/dist/cli/chunks/chunk-6SVX4DJC.js +6 -0
  44. package/dist/cli/chunks/chunk-72WOAVK6.js +2 -0
  45. package/dist/cli/chunks/chunk-7R6YMLVS.js +3 -0
  46. package/dist/cli/chunks/chunk-7VDBAVTY.js +2 -0
  47. package/dist/cli/chunks/chunk-AFLLQ5PP.js +15 -0
  48. package/dist/cli/chunks/chunk-AKE543X2.js +2 -0
  49. package/dist/cli/chunks/chunk-B36CDR4U.js +2 -0
  50. package/dist/cli/chunks/chunk-B6LLWYQ6.js +2 -0
  51. package/dist/cli/chunks/chunk-BDIEMZ22.js +91 -0
  52. package/dist/cli/chunks/chunk-BGXNSCXX.js +4 -0
  53. package/dist/cli/chunks/chunk-BLBRY5UD.js +2 -0
  54. package/dist/cli/chunks/chunk-BPWXXEH2.js +3029 -0
  55. package/dist/cli/chunks/chunk-BR26T7ZS.js +180 -0
  56. package/dist/cli/chunks/chunk-BTREG4IW.js +2 -0
  57. package/dist/cli/chunks/chunk-BULKFVYX.js +2 -0
  58. package/dist/cli/chunks/chunk-BXAXGEFC.js +24 -0
  59. package/dist/cli/chunks/chunk-CL6POIX4.js +2 -0
  60. package/dist/cli/chunks/chunk-CS2KS7LP.js +2 -0
  61. package/dist/cli/chunks/chunk-CWFB6BSA.js +316 -0
  62. package/dist/cli/chunks/chunk-DRT3WKQW.js +2 -0
  63. package/dist/cli/chunks/chunk-EHDQJQ6Y.js +27 -0
  64. package/dist/cli/chunks/chunk-ESVQ6MEB.js +2 -0
  65. package/dist/cli/chunks/chunk-FEKY7T6Q.js +2 -0
  66. package/dist/cli/chunks/chunk-FGA7VIFR.js +7 -0
  67. package/dist/cli/chunks/chunk-FIA6X7UL.js +2 -0
  68. package/dist/cli/chunks/chunk-GAOJV3OX.js +2 -0
  69. package/dist/cli/chunks/chunk-GKNNSCLC.js +5 -0
  70. package/dist/cli/chunks/chunk-GPQ57KA4.js +2 -0
  71. package/dist/cli/chunks/chunk-GRUUQAR6.js +2 -0
  72. package/dist/cli/chunks/chunk-HRO6OZQD.js +2 -0
  73. package/dist/cli/chunks/chunk-HY6PMO5W.js +66 -0
  74. package/dist/cli/chunks/chunk-IAV2JMIX.js +167 -0
  75. package/dist/cli/chunks/chunk-IFNIIK34.js +21 -0
  76. package/dist/cli/chunks/chunk-IGJPMN4I.js +3 -0
  77. package/dist/cli/chunks/chunk-J3KWWR6Z.js +1 -0
  78. package/dist/cli/chunks/chunk-JBANAPWG.js +2 -0
  79. package/dist/cli/chunks/chunk-JJO7Y4H3.js +604 -0
  80. package/dist/cli/chunks/chunk-JRYGQO2W.js +2 -0
  81. package/dist/cli/chunks/chunk-JXM26HEE.js +2 -0
  82. package/dist/cli/chunks/chunk-JZSDOIXA.js +2 -0
  83. package/dist/cli/chunks/chunk-KP5NUODU.js +3 -0
  84. package/dist/cli/chunks/chunk-LHJQD2VU.js +750 -0
  85. package/dist/cli/chunks/chunk-LNQIY6BP.js +2 -0
  86. package/dist/cli/chunks/chunk-MDUHYUHF.js +2 -0
  87. package/dist/cli/chunks/chunk-MV6CMOJQ.js +65 -0
  88. package/dist/cli/chunks/chunk-MZOFWJTM.js +2 -0
  89. package/dist/cli/chunks/chunk-N2NS2PHA.js +45 -0
  90. package/dist/cli/chunks/chunk-N4TL73TH.js +314 -0
  91. package/dist/cli/chunks/chunk-N5UXCLFI.js +2 -0
  92. package/dist/cli/chunks/chunk-NZ2VCPN4.js +2 -0
  93. package/dist/cli/chunks/chunk-OF4D7MYI.js +2 -0
  94. package/dist/cli/chunks/chunk-OI5NGQO2.js +2 -0
  95. package/dist/cli/chunks/chunk-OLHKGP35.js +2 -0
  96. package/dist/cli/chunks/chunk-QOVHWZEP.js +1 -0
  97. package/dist/cli/chunks/chunk-RFSN6IDA.js +79 -0
  98. package/dist/cli/chunks/chunk-RTGGL7D7.js +4 -0
  99. package/dist/cli/chunks/chunk-RU5WAHB7.js +3 -0
  100. package/dist/cli/chunks/chunk-SUSEVMZT.js +2 -0
  101. package/dist/cli/chunks/chunk-TLHP5EII.js +2 -0
  102. package/dist/cli/chunks/chunk-TWUWL5EJ.js +2 -0
  103. package/dist/cli/chunks/chunk-U5RN7YQW.js +2 -0
  104. package/dist/cli/chunks/chunk-UFUVUO3J.js +2 -0
  105. package/dist/cli/chunks/chunk-UQHYFOBX.js +16 -0
  106. package/dist/cli/chunks/chunk-VOS4NQSF.js +2 -0
  107. package/dist/cli/chunks/chunk-VSVXUTJN.js +256 -0
  108. package/dist/cli/chunks/chunk-WBQSXPBI.js +2 -0
  109. package/dist/cli/chunks/chunk-WGMPEW2T.js +2 -0
  110. package/dist/cli/chunks/chunk-WIEC7VKK.js +2 -0
  111. package/dist/cli/chunks/chunk-WJ3DLOXF.js +14 -0
  112. package/dist/cli/chunks/chunk-X3KI6JOY.js +9 -0
  113. package/dist/cli/chunks/chunk-X5IJGWYG.js +2 -0
  114. package/dist/cli/chunks/chunk-XIBDETCS.js +146 -0
  115. package/dist/cli/chunks/chunk-XLRQYLWW.js +2 -0
  116. package/dist/cli/chunks/chunk-XO6PVK2P.js +3 -0
  117. package/dist/cli/chunks/chunk-XRE2HCWG.js +3 -0
  118. package/dist/cli/chunks/chunk-XT2V2322.js +2 -0
  119. package/dist/cli/chunks/chunk-Y7BHKZFJ.js +18 -0
  120. package/dist/cli/chunks/chunk-YAGODYIG.js +59 -0
  121. package/dist/cli/chunks/chunk-YANUP2RO.js +2 -0
  122. package/dist/cli/chunks/chunk-YPFOCNOE.js +30 -0
  123. package/dist/cli/chunks/chunk-YR6ZZGH7.js +81 -0
  124. package/dist/cli/chunks/chunk-YVA65UZL.js +2 -0
  125. package/dist/cli/chunks/chunk-YW2THB5Q.js +2 -0
  126. package/dist/cli/chunks/chunk-ZAPS3UGQ.js +20 -0
  127. package/dist/cli/chunks/chunk-ZDATDCYN.js +2 -0
  128. package/dist/cli/chunks/ci-J374KDLI.js +81 -0
  129. package/dist/cli/chunks/ci-output-7JN7F6CI.js +2 -0
  130. package/dist/cli/chunks/claude-flow-setup-245JLJCN.js +2 -0
  131. package/dist/cli/chunks/client-MCSNSH2C.js +2 -0
  132. package/dist/cli/chunks/cline-installer-LBA2M5N3.js +4 -0
  133. package/dist/cli/chunks/code-U4N4WONM.js +38 -0
  134. package/dist/cli/chunks/code-index-extractor-A57Z6BO4.js +3 -0
  135. package/dist/cli/chunks/codex-installer-UXMK2N4T.js +8 -0
  136. package/dist/cli/chunks/completions-W66BSCOE.js +1364 -0
  137. package/dist/cli/chunks/complexity-analyzer-AB4OZARV.js +2 -0
  138. package/dist/cli/chunks/continuedev-installer-LRFZ2SJM.js +14 -0
  139. package/dist/cli/chunks/copilot-installer-CQ3JYBIB.js +3 -0
  140. package/dist/cli/chunks/cost-tracker-4F723RB6.js +2 -0
  141. package/dist/cli/chunks/coverage-4PUEQXAY.js +27 -0
  142. package/dist/cli/chunks/cross-domain-router-OWR5IJ5G.js +2 -0
  143. package/dist/cli/chunks/cursor-installer-JZEDEDHA.js +3 -0
  144. package/dist/cli/chunks/daemon-B7TWGHXQ.js +19 -0
  145. package/dist/cli/chunks/dag-attention-scheduler-JWO6XI6A.js +2 -0
  146. package/dist/cli/chunks/detect-L6ZZHUSX.js +2 -0
  147. package/dist/cli/chunks/domain-handler-FT5FLZWL.js +25 -0
  148. package/dist/cli/chunks/domain-transfer-5Y4FGJAJ.js +2 -0
  149. package/dist/cli/chunks/dream-4TDBIYED.js +2 -0
  150. package/dist/cli/chunks/esm-node-2PKHKOTS.js +2 -0
  151. package/dist/cli/chunks/eval-GHMPFGWV.js +15 -0
  152. package/dist/cli/chunks/fast-paths-B3R647KN.js +2 -0
  153. package/dist/cli/chunks/feature-flags-DWS7ARSX.js +2 -0
  154. package/dist/cli/chunks/feature-flags-IVQ3AL4Q.js +2 -0
  155. package/dist/cli/chunks/file-discovery-QFPA6GMV.js +2 -0
  156. package/dist/cli/chunks/fleet-EKOKMOMW.js +43 -0
  157. package/dist/cli/chunks/gnn-wrapper-OYC55N5E.js +2 -0
  158. package/dist/cli/chunks/heartbeat-handler-MBBS4IBU.js +48 -0
  159. package/dist/cli/chunks/heartbeat-scheduler-XDGMOT7X.js +2 -0
  160. package/dist/cli/chunks/hnsw-index-YO7CT23I.js +2 -0
  161. package/dist/cli/chunks/hnswlib-node-56YWVXFE.js +2 -0
  162. package/dist/cli/chunks/hooks-L5VLZGEK.js +101 -0
  163. package/dist/cli/chunks/hypergraph-engine-A4Y2ZRAG.js +2 -0
  164. package/dist/cli/chunks/hypergraph-handler-3HDGB5SZ.js +35 -0
  165. package/dist/cli/chunks/impact-analyzer-UEIGXSZ4.js +2 -0
  166. package/dist/cli/chunks/init-handler-JDET6WUN.js +68 -0
  167. package/dist/cli/chunks/init-wizard-JWZUGIPJ.js +2 -0
  168. package/dist/cli/chunks/kernel-YNDTVKIW.js +2 -0
  169. package/dist/cli/chunks/kilocode-installer-GZZG5AFW.js +4 -0
  170. package/dist/cli/chunks/kiro-installer-IWNY5TKH.js +74 -0
  171. package/dist/cli/chunks/knowledge-graph-NGJKFTSN.js +2 -0
  172. package/dist/cli/chunks/learning-722ZNSZ6.js +107 -0
  173. package/dist/cli/chunks/llm-router-DNAV746L.js +30 -0
  174. package/dist/cli/chunks/load-Y3GCUFM4.js +2 -0
  175. package/dist/cli/chunks/load-test-GZUBXFF3.js +2 -0
  176. package/dist/cli/chunks/mcp-LKPIBZ3W.js +2 -0
  177. package/dist/cli/chunks/memory-L57MLFOP.js +32 -0
  178. package/dist/cli/chunks/memory-backend-3NQIZUXE.js +2 -0
  179. package/dist/cli/chunks/memory-handlers-MDZQ7HVW.js +2 -0
  180. package/dist/cli/chunks/opencode-installer-4HUB36H5.js +3 -0
  181. package/dist/cli/chunks/orchestrator-QHSBB2UC.js +371 -0
  182. package/dist/cli/chunks/pipeline-D3QER35Z.js +19 -0
  183. package/dist/cli/chunks/platform-T4E7Q3RD.js +2 -0
  184. package/dist/cli/chunks/plugin-JHW2YPRC.js +27 -0
  185. package/dist/cli/chunks/prime-radiant-advanced-wasm-G7CFNNQV.js +2 -0
  186. package/dist/cli/chunks/protocol-executor-SPUVRDWT.js +2 -0
  187. package/dist/cli/chunks/protocol-handler-2BQQ4HDM.js +20 -0
  188. package/dist/cli/chunks/prove-UQ6JFT73.js +3 -0
  189. package/dist/cli/chunks/qe-reasoning-bank-3HBK2FVD.js +2 -0
  190. package/dist/cli/chunks/quality-JRZYMC77.js +7 -0
  191. package/dist/cli/chunks/queen-coordinator-RW3NKO5A.js +2 -0
  192. package/dist/cli/chunks/real-embeddings-GK63VF35.js +2 -0
  193. package/dist/cli/chunks/roocode-installer-F4E2LAYR.js +4 -0
  194. package/dist/cli/chunks/router-RJGHWDQ3.js +2 -0
  195. package/dist/cli/chunks/routing-feedback-ZXBXFKX6.js +2 -0
  196. package/dist/cli/chunks/routing-handler-VNKFUUGB.js +20 -0
  197. package/dist/cli/chunks/ruvector-commands-2TLNHC3A.js +8 -0
  198. package/dist/cli/chunks/rvf-dual-writer-MQW2SJLT.js +2 -0
  199. package/dist/cli/chunks/rvf-native-adapter-LKFKTMUN.js +2 -0
  200. package/dist/cli/chunks/safe-db-G22E5ROA.js +2 -0
  201. package/dist/cli/chunks/schedule-Y7VVCPYV.js +2 -0
  202. package/dist/cli/chunks/scheduler-AUQIFQB7.js +2 -0
  203. package/dist/cli/chunks/security-EBEG2OPU.js +14 -0
  204. package/dist/cli/chunks/shared-rvf-dual-writer-BVSCQAFS.js +2 -0
  205. package/dist/cli/chunks/sqlite-persistence-JAVHUGGL.js +2 -0
  206. package/dist/cli/chunks/status-handler-VZ32M4G4.js +45 -0
  207. package/dist/cli/chunks/structural-health-K6LRCKV6.js +2 -0
  208. package/dist/cli/chunks/sync-MHSHNLIM.js +23 -0
  209. package/dist/cli/chunks/task-handler-JNOIBZ2G.js +49 -0
  210. package/dist/cli/chunks/task-handlers-P5DSUKND.js +2 -0
  211. package/dist/cli/chunks/test-DO22BNIL.js +33 -0
  212. package/dist/cli/chunks/test-scheduling-VLRQZEFL.js +15 -0
  213. package/dist/cli/chunks/token-bootstrap-4VJKGVMK.js +2 -0
  214. package/dist/cli/chunks/token-usage-LG3PXRXH.js +25 -0
  215. package/dist/cli/chunks/transformers-GY7SIKEU.js +2 -0
  216. package/dist/cli/chunks/tree-sitter-wasm-parser-FT2KB66N.js +2 -0
  217. package/dist/cli/chunks/types-QJGNBKP2.js +2 -0
  218. package/dist/cli/chunks/unified-memory-XYGENQUT.js +2 -0
  219. package/dist/cli/chunks/unified-memory-hnsw-MVEGQBF3.js +2 -0
  220. package/dist/cli/chunks/unified-persistence-PFRCWEUG.js +2 -0
  221. package/dist/cli/chunks/validate-VQCRSVNQ.js +21 -0
  222. package/dist/cli/chunks/validate-swarm-A5DHAWTP.js +14 -0
  223. package/dist/cli/chunks/vibium-RZBSL4EB.js +2 -0
  224. package/dist/cli/chunks/visual-security-V47BLGJM.js +2 -0
  225. package/dist/cli/chunks/web-tree-sitter-7C4NXEOF.js +2 -0
  226. package/dist/cli/chunks/windsurf-installer-ES3KPQG3.js +7 -0
  227. package/dist/cli/chunks/witness-chain-BR63P4A7.js +2 -0
  228. package/dist/cli/chunks/workflow-JETHX4ML.js +51 -0
  229. package/dist/cli/chunks/workflow-orchestrator-7PZMX3JZ.js +2 -0
  230. package/dist/cli/chunks/wrappers-WP5RH745.js +2 -0
  231. package/dist/cli/commands/daemon.d.ts +13 -0
  232. package/dist/cli/commands/daemon.js +224 -0
  233. package/dist/cli/commands/hooks-handlers/hooks-shared.js +2 -1
  234. package/dist/cli/commands/plugin.d.ts +12 -0
  235. package/dist/cli/commands/plugin.js +135 -0
  236. package/dist/cli/commands/workflow.d.ts +10 -0
  237. package/dist/cli/commands/workflow.js +587 -0
  238. package/dist/cli/handlers/brain-handler.js +13 -8
  239. package/dist/cli/handlers/heartbeat-handler.d.ts +1 -0
  240. package/dist/cli/handlers/heartbeat-handler.js +20 -10
  241. package/dist/cli/handlers/hypergraph-handler.js +3 -3
  242. package/dist/cli/handlers/init-handler.js +10 -9
  243. package/dist/cli/handlers/interfaces.d.ts +4 -4
  244. package/dist/cli/index.js +159 -638
  245. package/dist/cli/lazy-registry.d.ts +27 -0
  246. package/dist/cli/lazy-registry.js +70 -0
  247. package/dist/context/compaction/context-budget.d.ts +71 -0
  248. package/dist/context/compaction/context-budget.js +120 -0
  249. package/dist/context/compaction/index.d.ts +96 -0
  250. package/dist/context/compaction/index.js +259 -0
  251. package/dist/context/compaction/llm-caller-adapter.d.ts +14 -0
  252. package/dist/context/compaction/llm-caller-adapter.js +47 -0
  253. package/dist/context/compaction/tier1-microcompact.d.ts +33 -0
  254. package/dist/context/compaction/tier1-microcompact.js +47 -0
  255. package/dist/context/compaction/tier2-session-summary.d.ts +72 -0
  256. package/dist/context/compaction/tier2-session-summary.js +172 -0
  257. package/dist/context/compaction/tier3-llm-compact.d.ts +65 -0
  258. package/dist/context/compaction/tier3-llm-compact.js +166 -0
  259. package/dist/context/compaction/tier4-reactive.d.ts +54 -0
  260. package/dist/context/compaction/tier4-reactive.js +129 -0
  261. package/dist/coordination/consensus/providers/claude-provider.d.ts +1 -0
  262. package/dist/coordination/consensus/providers/claude-provider.js +23 -3
  263. package/dist/domains/test-generation/generators/base-test-generator.d.ts +1 -1
  264. package/dist/domains/test-generation/generators/base-test-generator.js +11 -11
  265. package/dist/domains/test-generation/generators/go-test-generator.js +12 -12
  266. package/dist/domains/test-generation/generators/junit5-generator.js +9 -9
  267. package/dist/domains/test-generation/generators/kotlin-junit-generator.js +10 -10
  268. package/dist/domains/test-generation/generators/pytest-generator.js +8 -8
  269. package/dist/domains/test-generation/generators/swift-testing-generator.js +8 -8
  270. package/dist/domains/test-generation/generators/test-value-helpers.d.ts +20 -0
  271. package/dist/domains/test-generation/generators/test-value-helpers.js +48 -0
  272. package/dist/domains/test-generation/generators/xunit-generator.js +11 -11
  273. package/dist/hooks/cross-phase-hooks.d.ts +11 -0
  274. package/dist/hooks/cross-phase-hooks.js +73 -9
  275. package/dist/hooks/security/config-snapshot.d.ts +21 -0
  276. package/dist/hooks/security/config-snapshot.js +33 -0
  277. package/dist/hooks/security/exit-codes.d.ts +28 -0
  278. package/dist/hooks/security/exit-codes.js +33 -0
  279. package/dist/hooks/security/index.d.ts +15 -0
  280. package/dist/hooks/security/index.js +15 -0
  281. package/dist/hooks/security/ssrf-guard.d.ts +25 -0
  282. package/dist/hooks/security/ssrf-guard.js +69 -0
  283. package/dist/index.d.ts +1 -1
  284. package/dist/index.js +1 -2
  285. package/dist/init/init-wizard-hooks.js +15 -1
  286. package/dist/init/phases/07-hooks.js +2 -2
  287. package/dist/init/settings-merge.js +3 -7
  288. package/dist/kernel/kernel.js +35 -0
  289. package/dist/kernel/memory-backend.js +3 -1
  290. package/dist/mcp/bundle.js +416 -362
  291. package/dist/mcp/entry.js +132 -77
  292. package/dist/mcp/http-server.js +4 -1
  293. package/dist/mcp/index.d.ts +2 -2
  294. package/dist/mcp/index.js +5 -4
  295. package/dist/mcp/middleware/batch-executor.d.ts +46 -0
  296. package/dist/mcp/middleware/batch-executor.js +150 -0
  297. package/dist/mcp/middleware/microcompact.d.ts +97 -0
  298. package/dist/mcp/middleware/microcompact.js +179 -0
  299. package/dist/mcp/middleware/middleware-chain.d.ts +37 -0
  300. package/dist/mcp/middleware/middleware-chain.js +60 -0
  301. package/dist/mcp/protocol-server.d.ts +16 -0
  302. package/dist/mcp/protocol-server.js +140 -36
  303. package/dist/mcp/services/session-durability-middleware.d.ts +22 -0
  304. package/dist/mcp/services/session-durability-middleware.js +64 -0
  305. package/dist/mcp/services/session-resume.d.ts +29 -0
  306. package/dist/mcp/services/session-resume.js +221 -0
  307. package/dist/mcp/services/session-store.d.ts +84 -0
  308. package/dist/mcp/services/session-store.js +163 -0
  309. package/dist/mcp/tool-registry.d.ts +9 -0
  310. package/dist/mcp/tool-registry.js +30 -1
  311. package/dist/mcp/types.d.ts +1 -0
  312. package/dist/plugins/cache.d.ts +44 -0
  313. package/dist/plugins/cache.js +149 -0
  314. package/dist/plugins/index.d.ts +15 -0
  315. package/dist/plugins/index.js +15 -0
  316. package/dist/plugins/lifecycle.d.ts +67 -0
  317. package/dist/plugins/lifecycle.js +175 -0
  318. package/dist/plugins/manifest.d.ts +45 -0
  319. package/dist/plugins/manifest.js +173 -0
  320. package/dist/plugins/resolver.d.ts +37 -0
  321. package/dist/plugins/resolver.js +80 -0
  322. package/dist/plugins/security.d.ts +23 -0
  323. package/dist/plugins/security.js +125 -0
  324. package/dist/plugins/sources/github.d.ts +17 -0
  325. package/dist/plugins/sources/github.js +77 -0
  326. package/dist/plugins/sources/local.d.ts +20 -0
  327. package/dist/plugins/sources/local.js +32 -0
  328. package/dist/plugins/sources/npm.d.ts +18 -0
  329. package/dist/plugins/sources/npm.js +82 -0
  330. package/dist/shared/llm/retry.d.ts +5 -2
  331. package/dist/shared/llm/retry.js +7 -3
  332. package/dist/shared/prompt-cache-latch.d.ts +41 -0
  333. package/dist/shared/prompt-cache-latch.js +63 -0
  334. package/dist/shared/retry-engine.d.ts +77 -0
  335. package/dist/shared/retry-engine.js +194 -0
  336. package/dist/workers/daemon.d.ts +8 -0
  337. package/dist/workers/daemon.js +13 -0
  338. package/dist/workers/quality-daemon/ci-monitor.d.ts +55 -0
  339. package/dist/workers/quality-daemon/ci-monitor.js +147 -0
  340. package/dist/workers/quality-daemon/coverage-delta.d.ts +72 -0
  341. package/dist/workers/quality-daemon/coverage-delta.js +135 -0
  342. package/dist/workers/quality-daemon/git-watcher.d.ts +51 -0
  343. package/dist/workers/quality-daemon/git-watcher.js +209 -0
  344. package/dist/workers/quality-daemon/index.d.ts +119 -0
  345. package/dist/workers/quality-daemon/index.js +343 -0
  346. package/dist/workers/quality-daemon/nightly-consolidation.d.ts +74 -0
  347. package/dist/workers/quality-daemon/nightly-consolidation.js +136 -0
  348. package/dist/workers/quality-daemon/notification-service.d.ts +67 -0
  349. package/dist/workers/quality-daemon/notification-service.js +178 -0
  350. package/dist/workers/quality-daemon/persistent-memory.d.ts +31 -0
  351. package/dist/workers/quality-daemon/persistent-memory.js +30 -0
  352. package/dist/workers/quality-daemon/priority-queue.d.ts +97 -0
  353. package/dist/workers/quality-daemon/priority-queue.js +126 -0
  354. package/dist/workers/quality-daemon/test-suggester.d.ts +50 -0
  355. package/dist/workers/quality-daemon/test-suggester.js +121 -0
  356. package/dist/workers/worker-manager.js +2 -1
  357. package/package.json +1 -1
  358. package/dist/mcp/server.d.ts +0 -46
  359. package/dist/mcp/server.js +0 -802
@@ -0,0 +1,224 @@
1
+ /**
2
+ * Agentic QE v3 - Daemon CLI Commands (IMP-10)
3
+ *
4
+ * Commands for managing the QE Quality Daemon:
5
+ * aqe daemon start [--detached]
6
+ * aqe daemon stop
7
+ * aqe daemon status
8
+ * aqe daemon notifications [--unread] [--limit N] [--type TYPE]
9
+ * aqe daemon clear-notifications
10
+ */
11
+ import { Command } from 'commander';
12
+ import chalk from 'chalk';
13
+ import { QualityDaemon } from '../../workers/quality-daemon';
14
+ import { PersistentWorkerMemory } from '../../workers/quality-daemon/persistent-memory';
15
+ import { isPrivateIp } from '../../hooks/security/ssrf-guard';
16
+ // In-process daemon instance (non-detached mode)
17
+ let activeDaemon;
18
+ export function createDaemonCommand() {
19
+ const daemon = new Command('daemon')
20
+ .description('Manage the QE Quality Daemon')
21
+ .addHelpText('after', `
22
+ Examples:
23
+ aqe daemon start Start daemon in foreground
24
+ aqe daemon stop Stop running daemon
25
+ aqe daemon status Show daemon health and queue depth
26
+ aqe daemon notifications List recent notifications
27
+ aqe daemon clear-notifications Clear all notifications
28
+ `);
29
+ // --- start ---
30
+ daemon
31
+ .command('start')
32
+ .description('Start the QE Quality Daemon')
33
+ .option('--tick-interval <ms>', 'Tick interval in milliseconds', '30000')
34
+ .option('--ci-interval <ms>', 'CI poll interval in milliseconds', '300000')
35
+ .action(async (options) => {
36
+ if (activeDaemon?.running) {
37
+ console.log(chalk.yellow('Daemon is already running'));
38
+ const status = activeDaemon.getStatus();
39
+ console.log(chalk.gray(` Uptime: ${status.uptimeSeconds}s, Ticks: ${status.tickCount}`));
40
+ return;
41
+ }
42
+ const config = {
43
+ tickIntervalMs: parseInt(options.tickInterval, 10),
44
+ ciPollIntervalMs: parseInt(options.ciInterval, 10),
45
+ notifications: {
46
+ // IMP-07 SSRF guard for webhook URLs (Finding 5)
47
+ urlValidator: (url) => {
48
+ try {
49
+ const parsed = new URL(url);
50
+ const hostname = parsed.hostname.replace(/^\[|\]$/g, '');
51
+ return !isPrivateIp(hostname);
52
+ }
53
+ catch {
54
+ return false;
55
+ }
56
+ },
57
+ },
58
+ };
59
+ activeDaemon = new QualityDaemon(config);
60
+ // Use persistent SQLite-backed memory when available, fall back to in-memory
61
+ let memory;
62
+ try {
63
+ const { UnifiedMemoryManager } = await import('../../kernel/unified-memory.js');
64
+ const unifiedMemory = await UnifiedMemoryManager.getInstanceAsync();
65
+ memory = new PersistentWorkerMemory(unifiedMemory);
66
+ console.log(chalk.gray(' Storage: SQLite (persistent)'));
67
+ }
68
+ catch {
69
+ // Fallback for environments where kernel isn't available
70
+ const store = new Map();
71
+ memory = {
72
+ async get(key) { return store.get(key); },
73
+ async set(key, value) { store.set(key, value); },
74
+ async search(pattern) {
75
+ const escaped = pattern.replace(/[.+?^${}()|[\]\\]/g, '\\$&');
76
+ const regex = new RegExp(escaped.replace(/\*/g, '.*'));
77
+ return Array.from(store.keys()).filter((k) => regex.test(k));
78
+ },
79
+ };
80
+ console.log(chalk.yellow(' Storage: in-memory (no SQLite available, state will not persist)'));
81
+ }
82
+ console.log(chalk.green('Starting QE Quality Daemon...'));
83
+ await activeDaemon.start(memory);
84
+ console.log(chalk.green('QE Quality Daemon started'));
85
+ console.log(chalk.gray(` Tick interval: ${config.tickIntervalMs}ms`));
86
+ console.log(chalk.gray(` CI poll interval: ${config.ciPollIntervalMs}ms`));
87
+ console.log(chalk.gray(` PID: ${process.pid}`));
88
+ console.log(chalk.gray('\n Press Ctrl+C to stop'));
89
+ // Keep process alive
90
+ const keepAlive = setInterval(() => {
91
+ if (!activeDaemon?.running) {
92
+ clearInterval(keepAlive);
93
+ }
94
+ }, 5000);
95
+ // Graceful shutdown
96
+ const shutdown = async () => {
97
+ console.log(chalk.yellow('\nStopping QE Quality Daemon...'));
98
+ await activeDaemon?.stop();
99
+ clearInterval(keepAlive);
100
+ console.log(chalk.green('Daemon stopped'));
101
+ process.exit(0);
102
+ };
103
+ process.once('SIGINT', shutdown);
104
+ process.once('SIGTERM', shutdown);
105
+ });
106
+ // --- stop ---
107
+ daemon
108
+ .command('stop')
109
+ .description('Stop the QE Quality Daemon')
110
+ .action(async () => {
111
+ if (!activeDaemon?.running) {
112
+ console.log(chalk.yellow('No running daemon found'));
113
+ return;
114
+ }
115
+ await activeDaemon.stop();
116
+ console.log(chalk.green('Daemon stopped'));
117
+ activeDaemon = undefined;
118
+ });
119
+ // --- status ---
120
+ daemon
121
+ .command('status')
122
+ .description('Show daemon health and queue status')
123
+ .action(() => {
124
+ if (!activeDaemon) {
125
+ console.log(chalk.yellow('No daemon instance (start with: aqe daemon start)'));
126
+ return;
127
+ }
128
+ const s = activeDaemon.getStatus();
129
+ console.log(chalk.bold('\nQE Quality Daemon Status'));
130
+ console.log(chalk.gray('─'.repeat(40)));
131
+ console.log(` Running: ${s.running ? chalk.green('yes') : chalk.red('no')}`);
132
+ console.log(` Uptime: ${formatUptime(s.uptimeSeconds)}`);
133
+ console.log(` Ticks: ${s.tickCount}`);
134
+ console.log(` Throttled: ${s.throttled ? chalk.yellow('yes') : chalk.green('no')}`);
135
+ console.log(chalk.bold('\n Queue Depth'));
136
+ console.log(` Now: ${s.queueDepth.now}`);
137
+ console.log(` Next: ${s.queueDepth.next}`);
138
+ console.log(` Later: ${s.queueDepth.later}`);
139
+ console.log(chalk.bold('\n Health'));
140
+ console.log(` CI: ${healthColor(s.ciHealth)}${s.ciHealth}%${chalk.reset('')}`);
141
+ console.log(` Coverage: ${healthColor(s.coverageHealth)}${s.coverageHealth}%${chalk.reset('')}`);
142
+ console.log(chalk.bold('\n Activity'));
143
+ console.log(` Commits: ${s.commitsAnalyzed}`);
144
+ console.log(` Suggestions: ${s.suggestionsGenerated}`);
145
+ console.log(` Notifications: ${s.notificationsSent}`);
146
+ console.log();
147
+ });
148
+ // --- notifications ---
149
+ daemon
150
+ .command('notifications')
151
+ .description('List recent notifications')
152
+ .option('--unread', 'Show only unread notifications')
153
+ .option('--limit <n>', 'Maximum notifications to show', '20')
154
+ .option('--type <type>', 'Filter by type (gate_failure, coverage_drop, flaky_detected, etc.)')
155
+ .action((options) => {
156
+ if (!activeDaemon) {
157
+ console.log(chalk.yellow('No daemon instance'));
158
+ return;
159
+ }
160
+ const notifications = activeDaemon.notificationService.list({
161
+ unreadOnly: options.unread,
162
+ limit: parseInt(options.limit, 10),
163
+ type: options.type,
164
+ });
165
+ if (notifications.length === 0) {
166
+ console.log(chalk.gray('No notifications'));
167
+ return;
168
+ }
169
+ console.log(chalk.bold(`\nNotifications (${notifications.length})`));
170
+ console.log(chalk.gray('─'.repeat(60)));
171
+ for (const n of notifications) {
172
+ const icon = severityIcon(n.severity);
173
+ const time = new Date(n.timestamp).toLocaleString();
174
+ const readMark = n.read ? chalk.gray('✓') : chalk.yellow('●');
175
+ console.log(`${readMark} ${icon} ${chalk.bold(n.title)}`);
176
+ console.log(` ${n.message}`);
177
+ console.log(chalk.gray(` ${time} [${n.type}]`));
178
+ console.log();
179
+ }
180
+ });
181
+ // --- clear-notifications ---
182
+ daemon
183
+ .command('clear-notifications')
184
+ .description('Clear all notifications')
185
+ .action(() => {
186
+ if (!activeDaemon) {
187
+ console.log(chalk.yellow('No daemon instance'));
188
+ return;
189
+ }
190
+ const count = activeDaemon.notificationService.clear();
191
+ console.log(chalk.green(`Cleared ${count} notifications`));
192
+ });
193
+ return daemon;
194
+ }
195
+ // ============================================================================
196
+ // Helpers
197
+ // ============================================================================
198
+ function formatUptime(seconds) {
199
+ if (seconds < 60)
200
+ return `${seconds}s`;
201
+ if (seconds < 3600)
202
+ return `${Math.floor(seconds / 60)}m ${seconds % 60}s`;
203
+ const h = Math.floor(seconds / 3600);
204
+ const m = Math.floor((seconds % 3600) / 60);
205
+ return `${h}h ${m}m`;
206
+ }
207
+ function healthColor(score) {
208
+ if (score >= 80)
209
+ return chalk.green('');
210
+ if (score >= 60)
211
+ return chalk.yellow('');
212
+ return chalk.red('');
213
+ }
214
+ function severityIcon(severity) {
215
+ switch (severity) {
216
+ case 'critical': return chalk.red('!!');
217
+ case 'high': return chalk.red('!');
218
+ case 'medium': return chalk.yellow('~');
219
+ case 'low': return chalk.blue('-');
220
+ case 'info': return chalk.gray('i');
221
+ default: return ' ';
222
+ }
223
+ }
224
+ //# sourceMappingURL=daemon.js.map
@@ -165,7 +165,8 @@ export function createInMemoryBackend() {
165
165
  },
166
166
  has: async (key) => store.has(key),
167
167
  search: async (pattern, _limit) => {
168
- const regex = new RegExp(pattern.replace(/\*/g, '.*'));
168
+ const escaped = pattern.replace(/[.+?^${}()|[\]\\]/g, '\\$&');
169
+ const regex = new RegExp(escaped.replace(/\*/g, '.*'));
169
170
  return Array.from(store.keys()).filter((k) => regex.test(k));
170
171
  },
171
172
  vectorSearch: async (_embedding, _k) => {
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Agentic QE v3 - Plugin CLI Commands (IMP-09)
3
+ *
4
+ * Commands for managing external QE domain plugins:
5
+ * aqe plugin install <location> [--source local|github|npm]
6
+ * aqe plugin list
7
+ * aqe plugin remove <name> [--version <ver>]
8
+ * aqe plugin info <name>
9
+ */
10
+ import { Command } from 'commander';
11
+ export declare function createPluginCommand(): Command;
12
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1,135 @@
1
+ /**
2
+ * Agentic QE v3 - Plugin CLI Commands (IMP-09)
3
+ *
4
+ * Commands for managing external QE domain plugins:
5
+ * aqe plugin install <location> [--source local|github|npm]
6
+ * aqe plugin list
7
+ * aqe plugin remove <name> [--version <ver>]
8
+ * aqe plugin info <name>
9
+ */
10
+ import { Command } from 'commander';
11
+ import { PluginLifecycleManager } from '../../plugins/lifecycle';
12
+ import { PluginCache } from '../../plugins/cache';
13
+ import { GitHubPluginSource } from '../../plugins/sources/github';
14
+ import { NpmPluginSource } from '../../plugins/sources/npm';
15
+ // ============================================================================
16
+ // Plugin Command
17
+ // ============================================================================
18
+ export function createPluginCommand() {
19
+ const manager = createManager();
20
+ const plugin = new Command('plugin')
21
+ .description('Manage external QE domain plugins')
22
+ .addHelpText('after', `
23
+ Examples:
24
+ aqe plugin install ./my-plugin Install from local directory
25
+ aqe plugin install owner/repo --source github Install from GitHub
26
+ aqe plugin install aqe-plugin-sap --source npm Install from npm
27
+ aqe plugin list List installed plugins
28
+ aqe plugin remove my-plugin Remove a plugin
29
+ aqe plugin info my-plugin Show plugin details
30
+ `);
31
+ // --- install ---
32
+ plugin
33
+ .command('install <location>')
34
+ .description('Install a QE plugin from a local directory, GitHub repo, or npm package')
35
+ .option('-s, --source <type>', 'Source type: local, github, npm', 'local')
36
+ .action(async (location, options) => {
37
+ try {
38
+ console.log(`Installing plugin from ${options.source}: ${location}...`);
39
+ const result = await manager.install(location, options.source);
40
+ if (result.success) {
41
+ console.log(`\n Plugin installed successfully!`);
42
+ console.log(` Name: ${result.manifest.name}`);
43
+ console.log(` Version: ${result.manifest.version}`);
44
+ console.log(` Domains: ${result.manifest.domains.join(', ')}`);
45
+ console.log(` Cache: ${result.cachePath}\n`);
46
+ }
47
+ else {
48
+ console.error(`\n Installation failed:`);
49
+ for (const err of result.errors) {
50
+ console.error(` - ${err}`);
51
+ }
52
+ if (result.securityViolations.length > 0) {
53
+ console.error(`\n Security violations:`);
54
+ for (const v of result.securityViolations) {
55
+ console.error(` - ${v}`);
56
+ }
57
+ }
58
+ process.exitCode = 1;
59
+ }
60
+ }
61
+ catch (err) {
62
+ console.error(`Error: ${err instanceof Error ? err.message : String(err)}`);
63
+ process.exitCode = 1;
64
+ }
65
+ });
66
+ // --- list ---
67
+ plugin
68
+ .command('list')
69
+ .description('List installed QE plugins')
70
+ .action(() => {
71
+ const plugins = manager.list();
72
+ if (plugins.length === 0) {
73
+ console.log('\n No plugins installed.\n');
74
+ console.log(' Install one with: aqe plugin install <location>\n');
75
+ return;
76
+ }
77
+ console.log(`\n Installed plugins (${plugins.length}):\n`);
78
+ for (const p of plugins) {
79
+ console.log(` ${p.name}@${p.version}`);
80
+ console.log(` ${p.description}`);
81
+ console.log(` Domains: ${p.domains.join(', ')}`);
82
+ console.log('');
83
+ }
84
+ });
85
+ // --- remove ---
86
+ plugin
87
+ .command('remove <name>')
88
+ .description('Remove an installed QE plugin')
89
+ .option('-v, --version <version>', 'Remove specific version (default: all)')
90
+ .action((name, options) => {
91
+ const removed = manager.remove(name, options.version);
92
+ if (removed) {
93
+ const versionStr = options.version ? `@${options.version}` : ' (all versions)';
94
+ console.log(`\n Removed: ${name}${versionStr}\n`);
95
+ }
96
+ else {
97
+ console.log(`\n Plugin not found: ${name}\n`);
98
+ process.exitCode = 1;
99
+ }
100
+ });
101
+ // --- info ---
102
+ plugin
103
+ .command('info <name>')
104
+ .description('Show detailed info about an installed plugin')
105
+ .action((name) => {
106
+ const plugins = manager.list().filter(p => p.name === name);
107
+ if (plugins.length === 0) {
108
+ console.log(`\n Plugin not found: ${name}\n`);
109
+ process.exitCode = 1;
110
+ return;
111
+ }
112
+ const p = plugins[0];
113
+ console.log(`\n Plugin: ${p.name}`);
114
+ console.log(` Version: ${p.version}`);
115
+ console.log(` Description: ${p.description}`);
116
+ console.log(` Domains: ${p.domains.join(', ')}`);
117
+ console.log(` Source: ${p.source}`);
118
+ console.log(` Cache: ${p.cachePath}\n`);
119
+ });
120
+ return plugin;
121
+ }
122
+ // ============================================================================
123
+ // Internal
124
+ // ============================================================================
125
+ function createManager() {
126
+ const cache = new PluginCache();
127
+ return new PluginLifecycleManager({
128
+ cache,
129
+ sources: [
130
+ new GitHubPluginSource(),
131
+ new NpmPluginSource(),
132
+ ],
133
+ });
134
+ }
135
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Agentic QE v3 - Workflow Command (ADR-041)
3
+ *
4
+ * Extracted from index.ts to enable lazy loading.
5
+ * Manages QE workflows and pipelines.
6
+ */
7
+ import { Command } from 'commander';
8
+ import { CLIContext } from '../handlers/interfaces.js';
9
+ export declare function createWorkflowCommand(context: CLIContext, cleanupAndExit: (code: number) => Promise<never>, ensureInitialized: () => Promise<boolean>): Command;
10
+ //# sourceMappingURL=workflow.d.ts.map