agentic-qe 3.10.1 → 3.10.3

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 (412) hide show
  1. package/.claude/hooks/README.txt +17 -0
  2. package/.claude/hooks/aqe-hook.cjs +98 -0
  3. package/.claude/hooks/cross-phase-memory.yaml +296 -0
  4. package/.claude/hooks/post-task-sync.sh +113 -0
  5. package/.claude/hooks/v3-domain-workers.json +121 -0
  6. package/.claude/skills/release/SKILL.md +10 -10
  7. package/.claude/skills/skills-manifest.json +1 -1
  8. package/CHANGELOG.md +131 -0
  9. package/assets/grammars/tree-sitter-c_sharp.wasm +0 -0
  10. package/assets/grammars/tree-sitter-java.wasm +0 -0
  11. package/assets/grammars/tree-sitter-javascript.wasm +0 -0
  12. package/assets/grammars/tree-sitter-python.wasm +0 -0
  13. package/assets/grammars/tree-sitter-rust.wasm +0 -0
  14. package/assets/grammars/tree-sitter-swift.wasm +0 -0
  15. package/assets/grammars/tree-sitter-tsx.wasm +0 -0
  16. package/assets/grammars/tree-sitter-typescript.wasm +0 -0
  17. package/assets/skills/skills-manifest.json +1 -1
  18. package/dist/agents/claim-verifier/claim-verifier-service.js +4 -2
  19. package/dist/agents/claim-verifier/verifiers/test-verifier.js +31 -23
  20. package/dist/agents/devils-advocate/agent.js +1 -1
  21. package/dist/cli/bundle.js +5 -5
  22. package/dist/cli/chunks/adapter-BHPUKMJ5.js +2 -0
  23. package/dist/cli/chunks/{agent-booster-wasm-FZLWOPSX.js → agent-booster-wasm-NGC6LSQP.js} +2 -2
  24. package/dist/cli/chunks/{agent-handler-KAGRVCKS.js → agent-handler-P2IJE4GK.js} +2 -2
  25. package/dist/cli/chunks/{agent-memory-branch-JJKFEXQW.js → agent-memory-branch-JXRJ5GKQ.js} +2 -2
  26. package/dist/cli/chunks/aqe-learning-engine-JQ5WD2HM.js +2 -0
  27. package/dist/cli/chunks/{audit-DN5SY4JJ.js → audit-BMQ3VESB.js} +2 -2
  28. package/dist/cli/chunks/base-E32WLGY2.js +2 -0
  29. package/dist/cli/chunks/{hnswlib-node-YX6OOBN6.js → better-sqlite3-HP4JZS6K.js} +2 -2
  30. package/dist/cli/chunks/{brain-handler-O7MP5BGY.js → brain-handler-SACNDFSW.js} +3 -3
  31. package/dist/cli/chunks/{branch-enumerator-ZPTN5J6V.js → branch-enumerator-LFOTVUDA.js} +2 -2
  32. package/dist/cli/chunks/{browser-PAZE2JSD.js → browser-FK7PRF3W.js} +2 -2
  33. package/dist/cli/chunks/browser-workflow-LNNXXAJG.js +2 -0
  34. package/dist/cli/chunks/{chunk-BF7MUYWC.js → chunk-2EQVYYBF.js} +2 -2
  35. package/dist/cli/chunks/{chunk-BGBSYF3K.js → chunk-2L73WXA4.js} +2 -2
  36. package/dist/cli/chunks/{chunk-W2DT3CDE.js → chunk-2ULVCLOW.js} +2 -2
  37. package/dist/cli/chunks/{chunk-FJSR2U65.js → chunk-3HBWDG62.js} +2 -2
  38. package/dist/cli/chunks/{chunk-WPNZSL4S.js → chunk-3JAOFKEU.js} +2 -2
  39. package/dist/cli/chunks/{chunk-2TDWCXZ6.js → chunk-3LRK7PYN.js} +2 -2
  40. package/dist/cli/chunks/{chunk-MVGVD6LS.js → chunk-3RZL4QTT.js} +2 -2
  41. package/dist/cli/chunks/chunk-3VF3HCG4.js +2 -0
  42. package/dist/cli/chunks/{chunk-6E7GI2UB.js → chunk-3X2ZQ55B.js} +4 -4
  43. package/dist/cli/chunks/{chunk-6QFONVEE.js → chunk-4CYLSXA6.js} +2 -2
  44. package/dist/cli/chunks/{chunk-VOIWDPIU.js → chunk-4OUAHZX2.js} +2 -2
  45. package/dist/cli/chunks/{chunk-EIROAH6N.js → chunk-4QFAUSWQ.js} +2 -2
  46. package/dist/cli/chunks/{chunk-ZEMXMDD3.js → chunk-5ER3COX3.js} +2 -2
  47. package/dist/cli/chunks/{chunk-ECPB7IAH.js → chunk-5EWWA4QP.js} +4 -4
  48. package/dist/cli/chunks/{chunk-AUVC3DDB.js → chunk-5G5AAEFF.js} +2 -2
  49. package/dist/cli/chunks/{chunk-RRLQFFCO.js → chunk-5IBJURYB.js} +3 -3
  50. package/dist/cli/chunks/chunk-5LON3MLI.js +2 -0
  51. package/dist/cli/chunks/{chunk-WMG5F6R6.js → chunk-5SGEOO2F.js} +2 -2
  52. package/dist/cli/chunks/{chunk-SQBB2DC6.js → chunk-6B4S7PKP.js} +3 -3
  53. package/dist/cli/chunks/{chunk-H44WD7QX.js → chunk-6FL3GN4T.js} +2 -2
  54. package/dist/cli/chunks/{chunk-7MSYTHZM.js → chunk-6GCOIIHY.js} +2 -2
  55. package/dist/cli/chunks/{chunk-KKNBYXYA.js → chunk-6Q2PPOOF.js} +1 -1
  56. package/dist/cli/chunks/{chunk-K4T3RDCB.js → chunk-6ZK24V2Y.js} +2 -2
  57. package/dist/cli/chunks/{chunk-G3BQU3Q6.js → chunk-72LE6PHL.js} +3 -3
  58. package/dist/cli/chunks/{chunk-F3OVFA6W.js → chunk-7RMZAVGO.js} +2 -2
  59. package/dist/cli/chunks/{chunk-YYWIA5FX.js → chunk-7SEHQTYD.js} +1 -1
  60. package/dist/cli/chunks/{chunk-UU2Q6XWF.js → chunk-7YYTTWGY.js} +1 -1
  61. package/dist/cli/chunks/{chunk-XKOKMS5A.js → chunk-7ZSPCGTI.js} +2 -2
  62. package/dist/cli/chunks/{chunk-RWYW573C.js → chunk-ADV4DH3W.js} +5 -5
  63. package/dist/cli/chunks/{chunk-OC3OJWLB.js → chunk-AEJVOJPT.js} +2 -2
  64. package/dist/cli/chunks/{chunk-2UN4DOBJ.js → chunk-B5MMDMH6.js} +2 -2
  65. package/dist/cli/chunks/{chunk-WQEZKAUR.js → chunk-BO2OV2RH.js} +2 -2
  66. package/dist/cli/chunks/{chunk-NPSBMDVU.js → chunk-BT3QLWII.js} +2 -2
  67. package/dist/cli/chunks/{chunk-6VQ5MFJ6.js → chunk-BWP3UVPE.js} +7 -7
  68. package/dist/cli/chunks/{chunk-SLNGJW4G.js → chunk-C6BBRM2J.js} +1 -1
  69. package/dist/cli/chunks/{chunk-4AWJ5PE4.js → chunk-CAMEFWRK.js} +1 -1
  70. package/dist/cli/chunks/{chunk-BECU52UY.js → chunk-CNEWYJKT.js} +4 -4
  71. package/dist/cli/chunks/{chunk-EO4B5GS4.js → chunk-CTDO2UB2.js} +1 -1
  72. package/dist/cli/chunks/{chunk-GTGONWGX.js → chunk-D2FBUOAR.js} +1 -1
  73. package/dist/cli/chunks/{chunk-OQP5OFRR.js → chunk-DF3MJ2YL.js} +1 -1
  74. package/dist/cli/chunks/{chunk-KEC5FBAW.js → chunk-DY5KEOHX.js} +1 -1
  75. package/dist/cli/chunks/{chunk-EBQ6YKP2.js → chunk-E2BJT6A7.js} +3 -3
  76. package/dist/cli/chunks/{chunk-WDTCCPK4.js → chunk-EETVN2OJ.js} +1 -1
  77. package/dist/cli/chunks/{chunk-UDVX34ZG.js → chunk-ERYMAYJW.js} +20 -17
  78. package/dist/cli/chunks/{chunk-ELUERFGA.js → chunk-FJGSEPFL.js} +2 -2
  79. package/dist/cli/chunks/{chunk-BN7ERYXI.js → chunk-FLTPHVZ3.js} +1 -1
  80. package/dist/cli/chunks/{chunk-OVENSL64.js → chunk-FND6V2RV.js} +22 -22
  81. package/dist/cli/chunks/{chunk-5ZCVMR5E.js → chunk-FU77CDEM.js} +2 -2
  82. package/dist/cli/chunks/{chunk-VKRMVTWU.js → chunk-GELF4ILR.js} +37 -37
  83. package/dist/cli/chunks/{chunk-H22MMMYY.js → chunk-GHNNJHH3.js} +2 -2
  84. package/dist/cli/chunks/{chunk-32R7EA7B.js → chunk-GJUGSH7T.js} +3 -3
  85. package/dist/cli/chunks/{chunk-HPNEZ7YN.js → chunk-GL3HZN3O.js} +1 -1
  86. package/dist/cli/chunks/{chunk-WL2J6ECN.js → chunk-H56AROF2.js} +2 -2
  87. package/dist/cli/chunks/{chunk-GTRXZJNX.js → chunk-HAO3SPOE.js} +2 -2
  88. package/dist/cli/chunks/{chunk-PUXDXIUE.js → chunk-HM523MTQ.js} +1 -1
  89. package/dist/cli/chunks/{chunk-KRXKU54J.js → chunk-HMFEPKAR.js} +2 -2
  90. package/dist/cli/chunks/{chunk-3YOPJ7DY.js → chunk-HQJMCTWN.js} +2 -2
  91. package/dist/cli/chunks/{chunk-LF7URN2X.js → chunk-HRLXU4LH.js} +2 -2
  92. package/dist/cli/chunks/{chunk-TL5F2S3Z.js → chunk-HWM2XJ3P.js} +24 -24
  93. package/dist/cli/chunks/{chunk-6A2NIR2E.js → chunk-I42R57ON.js} +2 -2
  94. package/dist/cli/chunks/chunk-IL2KOW5W.js +2 -0
  95. package/dist/cli/chunks/{chunk-CR4ERDS2.js → chunk-IRR7YA3Q.js} +2 -2
  96. package/dist/cli/chunks/{chunk-Y2DPXMOR.js → chunk-JD2PG4KS.js} +1 -1
  97. package/dist/cli/chunks/{chunk-TFNLXAK5.js → chunk-JE3C7JYN.js} +1 -1
  98. package/dist/cli/chunks/{chunk-ZTMWJQTZ.js → chunk-JLL27IGU.js} +2 -2
  99. package/dist/cli/chunks/{chunk-YPOTBXPU.js → chunk-JOLDCS6X.js} +2 -2
  100. package/dist/cli/chunks/chunk-JP63XACW.js +62 -0
  101. package/dist/cli/chunks/{chunk-AABKTWXC.js → chunk-JSFYPLMQ.js} +2 -2
  102. package/dist/cli/chunks/{chunk-KCTH5MHE.js → chunk-JTF6D2RJ.js} +4 -4
  103. package/dist/cli/chunks/{chunk-GRG3OP34.js → chunk-JTZ3Q2QS.js} +2 -2
  104. package/dist/cli/chunks/chunk-JXIPRMAY.js +95 -0
  105. package/dist/cli/chunks/{chunk-TNGGVMPQ.js → chunk-KG5SM36Y.js} +1 -1
  106. package/dist/cli/chunks/{chunk-QNW335PD.js → chunk-KTRB3L53.js} +2 -2
  107. package/dist/cli/chunks/{chunk-XRK7FBTY.js → chunk-L74CHKFR.js} +2 -2
  108. package/dist/cli/chunks/{chunk-IHDUWPFY.js → chunk-LZ6TNTGO.js} +2 -2
  109. package/dist/cli/chunks/{chunk-Y357YFLF.js → chunk-M5CDW2ZH.js} +2 -2
  110. package/dist/cli/chunks/{chunk-GRYXNWPF.js → chunk-MBSJ5G4I.js} +12 -12
  111. package/dist/cli/chunks/{chunk-IPRDHKSI.js → chunk-MC7K44M4.js} +2 -2
  112. package/dist/cli/chunks/{chunk-TP77PNN6.js → chunk-MQOFFRTA.js} +2 -2
  113. package/dist/cli/chunks/{chunk-JLKHPIQF.js → chunk-N7IBYDW5.js} +1 -1
  114. package/dist/cli/chunks/{chunk-G5DTENO3.js → chunk-NEYYLAYS.js} +5 -5
  115. package/dist/cli/chunks/{chunk-TNVYKYTO.js → chunk-NNVXHC74.js} +3 -3
  116. package/dist/cli/chunks/{chunk-HRDGN3OK.js → chunk-NNZMEYLT.js} +1 -1
  117. package/dist/cli/chunks/{chunk-25QGPRWN.js → chunk-NRCL3WCP.js} +2 -2
  118. package/dist/cli/chunks/{chunk-NRLT44YB.js → chunk-NXPFGPHV.js} +1 -1
  119. package/dist/cli/chunks/{chunk-PXFQSVA2.js → chunk-NZHOKLII.js} +3 -3
  120. package/dist/cli/chunks/{chunk-7SQD2TTQ.js → chunk-OG7CWWFR.js} +1 -1
  121. package/dist/cli/chunks/{chunk-XGUQYVJR.js → chunk-OPDTDKN3.js} +2 -2
  122. package/dist/cli/chunks/{chunk-2KTRRSKD.js → chunk-OX4R55T3.js} +2 -2
  123. package/dist/cli/chunks/{chunk-COZDJLIL.js → chunk-PFCAMX6H.js} +1 -1
  124. package/dist/cli/chunks/{chunk-UDFLR7GR.js → chunk-PL5SLO2W.js} +1 -1
  125. package/dist/cli/chunks/{chunk-6ZRMQXVL.js → chunk-PZHZPX3O.js} +4 -4
  126. package/dist/cli/chunks/{chunk-57NJQV57.js → chunk-Q7EBD24B.js} +1 -1
  127. package/dist/cli/chunks/{chunk-6D57DWQ6.js → chunk-QEODION5.js} +2 -2
  128. package/dist/cli/chunks/{chunk-K22TPWOJ.js → chunk-QM65UGPV.js} +2 -2
  129. package/dist/cli/chunks/{chunk-2ETDES5W.js → chunk-QWG76RHA.js} +2 -2
  130. package/dist/cli/chunks/{chunk-GXJ4BCGC.js → chunk-R5ONQAQL.js} +2 -2
  131. package/dist/cli/chunks/{chunk-KZJXVIAW.js → chunk-RNF47IJ5.js} +4 -4
  132. package/dist/cli/chunks/{chunk-IK6AJX3C.js → chunk-RTDHWOAG.js} +1 -1
  133. package/dist/cli/chunks/{chunk-NQZYUH6S.js → chunk-RZCAA2PZ.js} +1 -1
  134. package/dist/cli/chunks/{chunk-DQIS6J77.js → chunk-SL6YZAT4.js} +2 -2
  135. package/dist/cli/chunks/{chunk-RPL6K623.js → chunk-SNTMAVPH.js} +5 -5
  136. package/dist/cli/chunks/{chunk-MQYTW2IN.js → chunk-SWOG3PBD.js} +2 -2
  137. package/dist/cli/chunks/{chunk-DMIYWPQQ.js → chunk-T63EK6GH.js} +2 -2
  138. package/dist/cli/chunks/chunk-U6UK3UMX.js +59 -0
  139. package/dist/cli/chunks/{chunk-2S4XHK26.js → chunk-U7NMPZE2.js} +2 -2
  140. package/dist/cli/chunks/{chunk-WS4XVJHI.js → chunk-UDV4YB42.js} +1 -1
  141. package/dist/cli/chunks/{chunk-P7T5Y735.js → chunk-UHDBM7QS.js} +2 -2
  142. package/dist/cli/chunks/{chunk-5EU2VQK3.js → chunk-UIJFU4KD.js} +2 -2
  143. package/dist/cli/chunks/{chunk-Q24OJX44.js → chunk-USFZ4IJD.js} +2 -2
  144. package/dist/cli/chunks/{chunk-Q5VHBI4U.js → chunk-UZL366ZI.js} +1 -1
  145. package/dist/cli/chunks/{chunk-GMKGLZJU.js → chunk-VDTFRMES.js} +2 -2
  146. package/dist/cli/chunks/{chunk-EUJHHXE6.js → chunk-VIWIO27R.js} +3 -3
  147. package/dist/cli/chunks/{chunk-PLRSKAFZ.js → chunk-VRXY4T22.js} +2 -2
  148. package/dist/cli/chunks/{chunk-NDCPEXDN.js → chunk-WPVCSFDA.js} +2 -2
  149. package/dist/cli/chunks/{chunk-TX7SNQKL.js → chunk-WWD5IWTV.js} +1 -1
  150. package/dist/cli/chunks/{chunk-T3UXMPXX.js → chunk-X2B7SANM.js} +1 -1
  151. package/dist/cli/chunks/{chunk-7CKVAYP3.js → chunk-X3RJ6SFC.js} +1 -1
  152. package/dist/cli/chunks/{chunk-6LRCMFLV.js → chunk-XTP2GHI7.js} +2 -2
  153. package/dist/cli/chunks/{chunk-W6ZF2CPN.js → chunk-YDDZJCKY.js} +1 -1
  154. package/dist/cli/chunks/{chunk-5KFCH7RH.js → chunk-YDKYLNKZ.js} +1 -1
  155. package/dist/cli/chunks/{chunk-ELZ67OHQ.js → chunk-YIYV2JB6.js} +2 -2
  156. package/dist/cli/chunks/{chunk-PW6MOFXG.js → chunk-YX2HY4MX.js} +2 -2
  157. package/dist/cli/chunks/{chunk-DVOH75S4.js → chunk-YXH2CVAF.js} +1 -1
  158. package/dist/cli/chunks/{chunk-IITKJCPK.js → chunk-YYAPO3CU.js} +3 -3
  159. package/dist/cli/chunks/{chunk-5OTYBWRL.js → chunk-Z2K5IZM6.js} +2 -2
  160. package/dist/cli/chunks/{chunk-NOCYYXK4.js → chunk-ZG4P3DTL.js} +2 -2
  161. package/dist/cli/chunks/{chunk-YGRTMAWB.js → chunk-ZXQNE4QV.js} +1 -1
  162. package/dist/cli/chunks/{ci-EHRUN7O6.js → ci-AWZ3S5OT.js} +6 -6
  163. package/dist/cli/chunks/{ci-output-EXDXVXKB.js → ci-output-JLCYTIMT.js} +2 -2
  164. package/dist/cli/chunks/{circuit-breaker-LM4QRAAL.js → circuit-breaker-BJDKBDIL.js} +2 -2
  165. package/dist/cli/chunks/{claude-flow-setup-ZHUCZVW7.js → claude-flow-setup-KKOP5ZMO.js} +2 -2
  166. package/dist/cli/chunks/client-2UKBYFX4.js +2 -0
  167. package/dist/cli/chunks/{cline-installer-WMFLQOW2.js → cline-installer-7M525SEA.js} +2 -2
  168. package/dist/cli/chunks/{code-L7KRLU5E.js → code-27SUVJDO.js} +20 -19
  169. package/dist/cli/chunks/{code-index-extractor-FTMUYQC6.js → code-index-extractor-TTQQZLAK.js} +2 -2
  170. package/dist/cli/chunks/{codex-installer-B3F6WI3Z.js → codex-installer-GHNGNPKP.js} +2 -2
  171. package/dist/cli/chunks/{completions-3JZQRNB6.js → completions-JPJD24DG.js} +2 -2
  172. package/dist/cli/chunks/{complexity-analyzer-LB2FFEKX.js → complexity-analyzer-Q74EJV33.js} +2 -2
  173. package/dist/cli/chunks/{continuedev-installer-WH6IMV7R.js → continuedev-installer-ULTRDIML.js} +2 -2
  174. package/dist/cli/chunks/{copilot-installer-NOIEOFJM.js → copilot-installer-EK52X4CG.js} +2 -2
  175. package/dist/cli/chunks/{cost-tracker-IKX2VYSA.js → cost-tracker-2GKBRYXL.js} +2 -2
  176. package/dist/cli/chunks/{coverage-TD37CYSY.js → coverage-YCLC3W2A.js} +3 -3
  177. package/dist/cli/chunks/cross-domain-router-FPM3L27L.js +2 -0
  178. package/dist/cli/chunks/{cursor-installer-4NSVGRM5.js → cursor-installer-B3ALFW5E.js} +2 -2
  179. package/dist/cli/chunks/{daemon-UWEBUIDT.js → daemon-YWINEHG4.js} +4 -4
  180. package/dist/cli/chunks/{daemon-LYDV7NRW.js → daemon-ZKEBVLJA.js} +3 -3
  181. package/dist/cli/chunks/{dag-attention-scheduler-NECJGCHC.js → dag-attention-scheduler-OQPJ6ULA.js} +2 -2
  182. package/dist/cli/chunks/{detect-4XGC7ILO.js → detect-YMYIQH3Q.js} +2 -2
  183. package/dist/cli/chunks/{dist-node-GGJDXRKJ.js → dist-node-R4FAYQRY.js} +2 -2
  184. package/dist/cli/chunks/{domain-handler-UOFONAUT.js → domain-handler-IGWXLF2S.js} +2 -2
  185. package/dist/cli/chunks/{domain-transfer-6JLNOYPA.js → domain-transfer-A7YNO76C.js} +2 -2
  186. package/dist/cli/chunks/dream-XM33US3V.js +2 -0
  187. package/dist/cli/chunks/{embed-and-insert-pattern-ZM75DQ4J.js → embed-and-insert-pattern-KODZAS7Y.js} +2 -2
  188. package/dist/cli/chunks/{eval-CYZJTHEB.js → eval-ALQW7Q2S.js} +3 -3
  189. package/dist/cli/chunks/{experience-capture-middleware-RBOJLDUB.js → experience-capture-middleware-3WK4RXWK.js} +3 -3
  190. package/dist/cli/chunks/{fast-paths-S5BWZR3L.js → fast-paths-PQWDFIJZ.js} +2 -2
  191. package/dist/cli/chunks/{feature-flags-DUNQPDU3.js → feature-flags-6X33B3WX.js} +2 -2
  192. package/dist/cli/chunks/{feature-flags-6E7H3NYP.js → feature-flags-JRUAZCND.js} +2 -2
  193. package/dist/cli/chunks/{file-discovery-PFFKDGYG.js → file-discovery-SA3YU3IH.js} +2 -2
  194. package/dist/cli/chunks/{fleet-RCDZZFXN.js → fleet-7TXCAOKQ.js} +3 -3
  195. package/dist/cli/chunks/{gnn-wrapper-5AG3WDWF.js → gnn-wrapper-ZKNYACEC.js} +2 -2
  196. package/dist/cli/chunks/{heartbeat-handler-O2KAEX4Y.js → heartbeat-handler-KRZRZ23F.js} +4 -4
  197. package/dist/cli/chunks/heartbeat-scheduler-GM3M2MTG.js +2 -0
  198. package/dist/cli/chunks/hnsw-adapter-K62GEHIL.js +2 -0
  199. package/dist/cli/chunks/hnsw-index-VCAK3TWN.js +2 -0
  200. package/dist/cli/chunks/{hnsw-legacy-bridge-C7FG6YGW.js → hnsw-legacy-bridge-LVHQ5SG7.js} +2 -2
  201. package/dist/cli/chunks/{better-sqlite3-XGPW4HK5.js → hnswlib-node-64EGGWIC.js} +2 -2
  202. package/dist/cli/chunks/{hooks-FUHNE2P7.js → hooks-6Y3UHYI2.js} +14 -14
  203. package/dist/cli/chunks/hybrid-router-432QNCNG.js +2 -0
  204. package/dist/cli/chunks/{hypergraph-engine-LQRYBNPV.js → hypergraph-engine-2EZBZMFK.js} +2 -2
  205. package/dist/cli/chunks/{hypergraph-handler-AFFNLZVD.js → hypergraph-handler-GLPWYII2.js} +3 -3
  206. package/dist/cli/chunks/impact-analyzer-VTSISNN4.js +2 -0
  207. package/dist/cli/chunks/{init-handler-BQ6IDBX4.js → init-handler-ZSDO5VMA.js} +6 -6
  208. package/dist/cli/chunks/init-wizard-COB5AH7Q.js +2 -0
  209. package/dist/cli/chunks/kernel-ROK7X5FM.js +2 -0
  210. package/dist/cli/chunks/{kilocode-installer-KS72HUSG.js → kilocode-installer-ATYSDWIV.js} +2 -2
  211. package/dist/cli/chunks/{kiro-installer-2ZEFLGRX.js → kiro-installer-K66YT6PC.js} +2 -2
  212. package/dist/cli/chunks/knowledge-graph-YUWIDIWW.js +2 -0
  213. package/dist/cli/chunks/{learning-GGHGJ6B6.js → learning-BVYCC4RI.js} +3 -3
  214. package/dist/cli/chunks/{llm-router-LP6K5BJF.js → llm-router-VBCXE6DN.js} +12 -12
  215. package/dist/cli/chunks/llm-router-service-7VLXJ7VE.js +2 -0
  216. package/dist/cli/chunks/{load-2MLKXOT2.js → load-AREDQE2U.js} +2 -2
  217. package/dist/cli/chunks/load-test-32524DL3.js +2 -0
  218. package/dist/cli/chunks/{mcp-CDJBJG5H.js → mcp-NG6H6UC5.js} +2 -2
  219. package/dist/cli/chunks/{memory-4LAX7JZS.js → memory-Y65EHG6N.js} +5 -5
  220. package/dist/cli/chunks/memory-backend-BI2V5AAB.js +2 -0
  221. package/dist/cli/chunks/memory-handlers-NSOFWVFN.js +2 -0
  222. package/dist/cli/chunks/{multi-model-executor-SLJV73HE.js → multi-model-executor-VRPRFUZT.js} +2 -2
  223. package/dist/cli/chunks/{opencode-installer-M76SONWV.js → opencode-installer-CKQXPM5R.js} +3 -3
  224. package/dist/cli/chunks/{orchestrator-TJPUDJMP.js → orchestrator-I7JBKD6G.js} +19 -19
  225. package/dist/cli/chunks/{pipeline-2PVNFT6J.js → pipeline-MV2RWCBI.js} +2 -2
  226. package/dist/cli/chunks/{platform-KCSEDKEE.js → platform-VU5P3SOG.js} +2 -2
  227. package/dist/cli/chunks/{plugin-QX47QF5U.js → plugin-6TERLKCB.js} +2 -2
  228. package/dist/cli/chunks/{prime-radiant-advanced-wasm-L6VWL7VR.js → prime-radiant-advanced-wasm-WIUIN2DL.js} +2 -2
  229. package/dist/cli/chunks/protocol-executor-2UPB7SPI.js +2 -0
  230. package/dist/cli/chunks/{protocol-handler-WDNJDEUE.js → protocol-handler-HKWBGARO.js} +2 -2
  231. package/dist/cli/chunks/{prove-3B75DA3S.js → prove-7CQPHBRJ.js} +2 -2
  232. package/dist/cli/chunks/provider-manager-PDT37MIJ.js +2 -0
  233. package/dist/cli/chunks/qe-reasoning-bank-AQQ2BI4V.js +2 -0
  234. package/dist/cli/chunks/{quality-UGASS5WM.js → quality-VLUVXKVG.js} +2 -2
  235. package/dist/cli/chunks/queen-coordinator-6DVDVEU4.js +2 -0
  236. package/dist/cli/chunks/{real-embeddings-COBP2LHS.js → real-embeddings-JPZ64KK2.js} +2 -2
  237. package/dist/cli/chunks/{roocode-installer-TOZ4VLFT.js → roocode-installer-NONVB3UE.js} +2 -2
  238. package/dist/cli/chunks/router-O2G4KQ6L.js +2 -0
  239. package/dist/cli/chunks/routing-feedback-TAGTD3KQ.js +2 -0
  240. package/dist/cli/chunks/{routing-handler-5TDVSILX.js → routing-handler-YYXDT4J2.js} +2 -2
  241. package/dist/cli/chunks/{ruvector-commands-AM63KWQN.js → ruvector-commands-5PFMNDLR.js} +2 -2
  242. package/dist/cli/chunks/{rvf-dual-writer-UANIFE2M.js → rvf-dual-writer-TF6H7AXH.js} +2 -2
  243. package/dist/cli/chunks/{rvf-migration-adapter-LNPYWAPI.js → rvf-migration-adapter-VNGIUZCO.js} +2 -2
  244. package/dist/cli/chunks/{rvf-migration-coordinator-U47L63DQ.js → rvf-migration-coordinator-VA52YAIY.js} +2 -2
  245. package/dist/cli/chunks/rvf-native-adapter-46GRWQJR.js +2 -0
  246. package/dist/cli/chunks/safe-db-LNIPXXHH.js +2 -0
  247. package/dist/cli/chunks/schedule-AUH3ZALY.js +2 -0
  248. package/dist/cli/chunks/scheduler-KK3OYPWW.js +2 -0
  249. package/dist/cli/chunks/{security-KDQ2AH7G.js → security-62HEETBF.js} +3 -3
  250. package/dist/cli/chunks/{shared-rvf-adapter-5MAGLLYJ.js → shared-rvf-adapter-XWTQPGCT.js} +2 -2
  251. package/dist/cli/chunks/{shared-rvf-dual-writer-GF2OPPM5.js → shared-rvf-dual-writer-JTZK7LRD.js} +2 -2
  252. package/dist/cli/chunks/sqlite-persistence-CYESP7NG.js +2 -0
  253. package/dist/cli/chunks/{status-handler-XZKEL7LO.js → status-handler-LSUPUKRF.js} +2 -2
  254. package/dist/cli/chunks/{structural-health-27QKWW25.js → structural-health-Z75A666N.js} +2 -2
  255. package/dist/cli/chunks/{sync-INNKS6UK.js → sync-M3O4T3A3.js} +2 -2
  256. package/dist/cli/chunks/{sync-V3HGPEJT.js → sync-VI37UHHH.js} +2 -2
  257. package/dist/cli/chunks/{task-handler-LDUVOM6G.js → task-handler-AQBSZAQC.js} +2 -2
  258. package/dist/cli/chunks/{task-handlers-HTCPV7OO.js → task-handlers-BOZP247V.js} +3 -3
  259. package/dist/cli/chunks/{test-PCUVGVJL.js → test-FTEGPNN2.js} +4 -4
  260. package/dist/cli/chunks/{test-scheduling-GYVXWCAA.js → test-scheduling-IGR4U2VQ.js} +4 -4
  261. package/dist/cli/chunks/{token-bootstrap-MJ2ANC4P.js → token-bootstrap-2DFRVMBM.js} +2 -2
  262. package/dist/cli/chunks/{token-usage-ZREHROTF.js → token-usage-VCHV47EO.js} +3 -3
  263. package/dist/cli/chunks/{transformers-6B3FWFYL.js → transformers-M27QSNFH.js} +2 -2
  264. package/dist/cli/chunks/tree-sitter-wasm-parser-IIGEJYFU.js +2 -0
  265. package/dist/cli/chunks/{types-MVZTJI2F.js → types-RQFPUUKA.js} +2 -2
  266. package/dist/cli/chunks/unified-memory-RISHEANP.js +2 -0
  267. package/dist/cli/chunks/unified-memory-hnsw-2IKXGMNZ.js +2 -0
  268. package/dist/cli/chunks/unified-persistence-ZTTUJNTU.js +2 -0
  269. package/dist/cli/chunks/{upgrade-MKTFEILD.js → upgrade-VJMYX3AL.js} +2 -2
  270. package/dist/cli/chunks/{validate-IABGALSW.js → validate-ML7HUAU5.js} +4 -4
  271. package/dist/cli/chunks/{validate-swarm-RHF53RF6.js → validate-swarm-RCR6EYRC.js} +7 -7
  272. package/dist/cli/chunks/{vibium-RAKW6FMF.js → vibium-ZOOS3W5L.js} +2 -2
  273. package/dist/cli/chunks/visual-security-D66DTAO5.js +2 -0
  274. package/dist/cli/chunks/{web-tree-sitter-PYK7F4JZ.js → web-tree-sitter-2YPGYLWK.js} +2 -2
  275. package/dist/cli/chunks/{windsurf-installer-S3U2HWZ4.js → windsurf-installer-GOJWUWC5.js} +2 -2
  276. package/dist/cli/chunks/{witness-chain-435NKQLB.js → witness-chain-3MGSS3Q4.js} +2 -2
  277. package/dist/cli/chunks/witness-chain-RHWHHDLV.js +2 -0
  278. package/dist/cli/chunks/{workflow-5UHJCZ6J.js → workflow-B5Q77BI4.js} +4 -4
  279. package/dist/cli/chunks/workflow-orchestrator-OQMFW2TC.js +2 -0
  280. package/dist/cli/chunks/{wrappers-RD3NCMLK.js → wrappers-MM5VLEPG.js} +2 -2
  281. package/dist/cli/commands/code.js +6 -0
  282. package/dist/cli/commands/hooks-handlers/command-hooks.js +1 -1
  283. package/dist/cli/commands/hooks-handlers/routing-hooks.js +1 -1
  284. package/dist/cli/commands/hooks-handlers/task-hooks.js +1 -1
  285. package/dist/cli/commands/learning.js +5 -5
  286. package/dist/cli/commands/llm-router.js +1 -1
  287. package/dist/cli/commands/workflow.js +1 -0
  288. package/dist/coordination/consensus/providers/native-learning-provider.d.ts +1 -1
  289. package/dist/coordination/consensus/providers/ollama-provider.d.ts +1 -1
  290. package/dist/coordination/consensus/providers/openrouter-provider.d.ts +1 -1
  291. package/dist/coordination/handlers/code-intelligence-handlers.js +6 -0
  292. package/dist/coordination/mincut/neural-goap.js +24 -20
  293. package/dist/coordination/protocols/code-intelligence-index.js +31 -25
  294. package/dist/coordination/queen-coordinator.js +4 -0
  295. package/dist/coordination/queen-work-stealing.js +1 -2
  296. package/dist/domains/chaos-resilience/coordinator.js +19 -15
  297. package/dist/domains/chaos-resilience/services/chaos-engineer.js +5 -2
  298. package/dist/domains/chaos-resilience/services/load-tester.js +15 -11
  299. package/dist/domains/code-intelligence/interfaces.d.ts +5 -0
  300. package/dist/domains/code-intelligence/services/c4-model/index.js +12 -6
  301. package/dist/domains/code-intelligence/services/impact-analyzer.js +6 -2
  302. package/dist/domains/code-intelligence/services/knowledge-graph.d.ts +42 -0
  303. package/dist/domains/code-intelligence/services/knowledge-graph.js +278 -93
  304. package/dist/domains/code-intelligence/services/semantic-analyzer.js +8 -2
  305. package/dist/domains/contract-testing/coordinator.js +1 -1
  306. package/dist/domains/coverage-analysis/coordinator.js +4 -2
  307. package/dist/domains/learning-optimization/coordinator.js +1 -0
  308. package/dist/domains/quality-assessment/coherence/gate-controller.js +32 -26
  309. package/dist/domains/requirements-validation/coordinator.js +1 -0
  310. package/dist/domains/test-execution/services/e2e/wait-condition-handler.js +1 -1
  311. package/dist/domains/test-execution/services/retry-handler.js +18 -12
  312. package/dist/domains/test-generation/coordinator.js +1 -1
  313. package/dist/domains/test-generation/services/pattern-matcher.js +7 -5
  314. package/dist/domains/test-generation/services/test-generator.js +3 -2
  315. package/dist/domains/visual-accessibility/coordinator.js +24 -20
  316. package/dist/index.d.ts +2 -2
  317. package/dist/index.js +2 -2
  318. package/dist/init/init-wizard-hooks.js +271 -271
  319. package/dist/init/phases/07-hooks.d.ts +7 -0
  320. package/dist/init/phases/07-hooks.js +132 -96
  321. package/dist/init/phases/12-verification.js +3 -3
  322. package/dist/integrations/agentic-flow/model-router/router.js +1 -1
  323. package/dist/integrations/embeddings/base/EmbeddingGenerator.js +11 -7
  324. package/dist/integrations/ruvector/hypergraph-engine.js +2 -2
  325. package/dist/integrations/ruvector/spectral-math.js +2 -2
  326. package/dist/integrations/ruvector/spectral-sparsifier.js +1 -1
  327. package/dist/kernel/kernel.js +1 -1
  328. package/dist/kernel/unified-memory-hnsw.js +1 -0
  329. package/dist/learning/agent-routing.d.ts +19 -0
  330. package/dist/learning/agent-routing.js +27 -1
  331. package/dist/learning/dream/dream-scheduler.d.ts +11 -36
  332. package/dist/learning/dream/dream-scheduler.js +44 -0
  333. package/dist/learning/experience-capture.js +1 -1
  334. package/dist/learning/experience-consolidation.d.ts +16 -0
  335. package/dist/learning/experience-consolidation.js +55 -11
  336. package/dist/learning/pattern-lifecycle.d.ts +21 -0
  337. package/dist/learning/pattern-lifecycle.js +70 -6
  338. package/dist/learning/qe-reasoning-bank.js +9 -1
  339. package/dist/learning/qe-unified-memory.js +8 -6
  340. package/dist/mcp/bundle.js +371 -368
  341. package/dist/mcp/handlers/core-handlers.js +2 -2
  342. package/dist/mcp/handlers/cross-phase-handlers.js +5 -3
  343. package/dist/mcp/handlers/handler-factory.d.ts +5 -0
  344. package/dist/mcp/handlers/handler-factory.js +44 -4
  345. package/dist/mcp/http-server.js +1 -0
  346. package/dist/mcp/protocol-server.js +15 -16
  347. package/dist/mcp/tools/code-intelligence/analyze.js +1 -1
  348. package/dist/mcp/tools/learning-optimization/optimize.js +1 -1
  349. package/dist/mcp/tools/qx-analysis/heuristics-engine.js +195 -173
  350. package/dist/mcp/tools/visual-accessibility/index.js +1 -1
  351. package/dist/mcp/transport/stdio.d.ts +20 -0
  352. package/dist/mcp/transport/stdio.js +35 -2
  353. package/dist/mcp/transport/websocket/websocket-transport.js +1 -0
  354. package/dist/optimization/auto-tuner.js +1 -1
  355. package/dist/planning/goap-planner.js +1 -0
  356. package/dist/routing/agent-dependency-graph.js +4 -1
  357. package/dist/shared/llm/router/config-store.js +1 -1
  358. package/dist/shared/metrics/system-metrics.js +6 -4
  359. package/dist/shared/parsers/tree-sitter-wasm-parser.d.ts +12 -0
  360. package/dist/shared/parsers/tree-sitter-wasm-parser.js +35 -0
  361. package/dist/shared/parsers/treesitter-ts-extractor.d.ts +39 -0
  362. package/dist/shared/parsers/treesitter-ts-extractor.js +196 -0
  363. package/dist/shared/utils/rabitq.d.ts +133 -0
  364. package/dist/shared/utils/rabitq.js +201 -0
  365. package/dist/shared/utils/safe-expression-evaluator.js +8 -5
  366. package/dist/sync/cloud/postgres-writer.js +2 -0
  367. package/dist/sync/readers/json-reader.js +1 -1
  368. package/dist/test-scheduling/git-aware/test-selector.js +1 -1
  369. package/dist/workers/quality-daemon/index.js +26 -24
  370. package/package.json +12 -5
  371. package/dist/cli/chunks/adapter-3JS2CN7C.js +0 -2
  372. package/dist/cli/chunks/aqe-learning-engine-Q4GFNGU6.js +0 -2
  373. package/dist/cli/chunks/base-Q3MAL22Y.js +0 -2
  374. package/dist/cli/chunks/browser-workflow-JX3M2UWG.js +0 -2
  375. package/dist/cli/chunks/chunk-622MIAOR.js +0 -59
  376. package/dist/cli/chunks/chunk-CKECJH2A.js +0 -2
  377. package/dist/cli/chunks/chunk-IJ4BUSJN.js +0 -95
  378. package/dist/cli/chunks/chunk-VPCE5CIT.js +0 -2
  379. package/dist/cli/chunks/chunk-WO7KYT3X.js +0 -62
  380. package/dist/cli/chunks/client-PA3UJIHH.js +0 -2
  381. package/dist/cli/chunks/cross-domain-router-BVJRP2ZX.js +0 -2
  382. package/dist/cli/chunks/dream-BXZUEIW2.js +0 -2
  383. package/dist/cli/chunks/heartbeat-scheduler-LEKAWFJF.js +0 -2
  384. package/dist/cli/chunks/hnsw-adapter-2TCEG5M2.js +0 -2
  385. package/dist/cli/chunks/hnsw-index-VDPUTEES.js +0 -2
  386. package/dist/cli/chunks/hybrid-router-2EMDIYIG.js +0 -2
  387. package/dist/cli/chunks/impact-analyzer-HFD6CPWC.js +0 -2
  388. package/dist/cli/chunks/init-wizard-552QIVRC.js +0 -2
  389. package/dist/cli/chunks/kernel-5DN6O6EE.js +0 -2
  390. package/dist/cli/chunks/knowledge-graph-76Y77MB6.js +0 -2
  391. package/dist/cli/chunks/llm-router-service-4O6GCEFH.js +0 -2
  392. package/dist/cli/chunks/load-test-FCI2IWRJ.js +0 -2
  393. package/dist/cli/chunks/memory-backend-MKNCBNDE.js +0 -2
  394. package/dist/cli/chunks/memory-handlers-OBAFR4WV.js +0 -2
  395. package/dist/cli/chunks/protocol-executor-IA7WNT23.js +0 -2
  396. package/dist/cli/chunks/provider-manager-3K5KB5A6.js +0 -2
  397. package/dist/cli/chunks/qe-reasoning-bank-V5Z3BBYY.js +0 -2
  398. package/dist/cli/chunks/queen-coordinator-QOMPA27Z.js +0 -2
  399. package/dist/cli/chunks/router-P5RZUPC4.js +0 -2
  400. package/dist/cli/chunks/routing-feedback-3PS3OZQC.js +0 -2
  401. package/dist/cli/chunks/rvf-native-adapter-TT7OJPKM.js +0 -2
  402. package/dist/cli/chunks/safe-db-PEW7VBAE.js +0 -2
  403. package/dist/cli/chunks/schedule-QHOTHBQE.js +0 -2
  404. package/dist/cli/chunks/scheduler-KXJBYTRT.js +0 -2
  405. package/dist/cli/chunks/sqlite-persistence-TPXJK34J.js +0 -2
  406. package/dist/cli/chunks/tree-sitter-wasm-parser-JVV234MN.js +0 -2
  407. package/dist/cli/chunks/unified-memory-ROS2NKR5.js +0 -2
  408. package/dist/cli/chunks/unified-memory-hnsw-FLEUF3XO.js +0 -2
  409. package/dist/cli/chunks/unified-persistence-QC5L7UNQ.js +0 -2
  410. package/dist/cli/chunks/visual-security-NLIOUQCR.js +0 -2
  411. package/dist/cli/chunks/witness-chain-U7X6JX5J.js +0 -2
  412. package/dist/cli/chunks/workflow-orchestrator-APE6BAXH.js +0 -2
@@ -51,140 +51,150 @@ export class QXHeuristicsEngine {
51
51
  }
52
52
  break;
53
53
  case QXHeuristic.INTUITIVE_DESIGN:
54
- const hasNav = context.domMetrics?.semanticStructure?.hasNav;
55
- const focusable = context.accessibility?.focusableElementsCount || 0;
56
- if (hasNav && focusable > 10) {
57
- score = 82;
58
- findings.push('Intuitive navigation and interaction design');
54
+ {
55
+ const hasNav = context.domMetrics?.semanticStructure?.hasNav;
56
+ const focusable = context.accessibility?.focusableElementsCount || 0;
57
+ if (hasNav && focusable > 10) {
58
+ score = 82;
59
+ findings.push('Intuitive navigation and interaction design');
60
+ }
61
+ else {
62
+ score = 55;
63
+ issues.push({ description: 'Navigation or interaction patterns unclear', severity: 'medium' });
64
+ }
65
+ break;
59
66
  }
60
- else {
61
- score = 55;
62
- issues.push({ description: 'Navigation or interaction patterns unclear', severity: 'medium' });
63
- }
64
- break;
65
67
  case QXHeuristic.EXACTNESS_AND_CLARITY:
66
- score = 70;
67
- const hasSemanticStructure = context.domMetrics?.semanticStructure;
68
- const structureScore = [
69
- hasSemanticStructure?.hasHeader,
70
- hasSemanticStructure?.hasMain,
71
- hasSemanticStructure?.hasNav,
72
- hasSemanticStructure?.hasFooter,
73
- ].filter(Boolean).length;
74
- score = 50 + structureScore * 10;
75
- if (structureScore >= 3) {
76
- findings.push('Strong visual hierarchy with semantic HTML elements');
77
- }
78
- else if (structureScore >= 2) {
79
- findings.push('Moderate visual hierarchy - some semantic elements present');
80
- recommendations.push('Add more semantic HTML5 elements for clarity');
81
- }
82
- else {
83
- issues.push({ description: 'Weak visual hierarchy - missing semantic structure', severity: 'high' });
84
- recommendations.push('Implement semantic HTML5: header, nav, main, footer');
68
+ {
69
+ score = 70;
70
+ const hasSemanticStructure = context.domMetrics?.semanticStructure;
71
+ const structureScore = [
72
+ hasSemanticStructure?.hasHeader,
73
+ hasSemanticStructure?.hasMain,
74
+ hasSemanticStructure?.hasNav,
75
+ hasSemanticStructure?.hasFooter,
76
+ ].filter(Boolean).length;
77
+ score = 50 + structureScore * 10;
78
+ if (structureScore >= 3) {
79
+ findings.push('Strong visual hierarchy with semantic HTML elements');
80
+ }
81
+ else if (structureScore >= 2) {
82
+ findings.push('Moderate visual hierarchy - some semantic elements present');
83
+ recommendations.push('Add more semantic HTML5 elements for clarity');
84
+ }
85
+ else {
86
+ issues.push({ description: 'Weak visual hierarchy - missing semantic structure', severity: 'high' });
87
+ recommendations.push('Implement semantic HTML5: header, nav, main, footer');
88
+ }
89
+ if (context.metadata?.description && context.metadata.description.length > 20) {
90
+ score += 10;
91
+ findings.push('Page has descriptive metadata');
92
+ }
93
+ break;
85
94
  }
86
- if (context.metadata?.description && context.metadata.description.length > 20) {
87
- score += 10;
88
- findings.push('Page has descriptive metadata');
89
- }
90
- break;
91
95
  case QXHeuristic.COUNTER_INTUITIVE_DESIGN:
92
- score = 85; // High score means few counter-intuitive elements (good)
93
- const confusingNav = !context.domMetrics?.semanticStructure?.hasNav && (context.domMetrics?.interactiveElements || 0) > 10;
94
- const poorStructure = !context.domMetrics?.semanticStructure?.hasHeader && !context.domMetrics?.semanticStructure?.hasFooter;
95
- if (confusingNav) {
96
- score = 45;
97
- issues.push({ description: 'Navigation structure may be counter-intuitive', severity: 'high' });
98
- recommendations.push('Add semantic navigation elements');
99
- }
100
- if (poorStructure) {
101
- score -= 15;
102
- issues.push({ description: 'Page structure lacks expected header/footer', severity: 'medium' });
96
+ {
97
+ score = 85; // High score means few counter-intuitive elements (good)
98
+ const confusingNav = !context.domMetrics?.semanticStructure?.hasNav && (context.domMetrics?.interactiveElements || 0) > 10;
99
+ const poorStructure = !context.domMetrics?.semanticStructure?.hasHeader && !context.domMetrics?.semanticStructure?.hasFooter;
100
+ if (confusingNav) {
101
+ score = 45;
102
+ issues.push({ description: 'Navigation structure may be counter-intuitive', severity: 'high' });
103
+ recommendations.push('Add semantic navigation elements');
104
+ }
105
+ if (poorStructure) {
106
+ score -= 15;
107
+ issues.push({ description: 'Page structure lacks expected header/footer', severity: 'medium' });
108
+ }
109
+ if (score > 75) {
110
+ findings.push('No counter-intuitive design patterns detected');
111
+ }
112
+ break;
103
113
  }
104
- if (score > 75) {
105
- findings.push('No counter-intuitive design patterns detected');
106
- }
107
- break;
108
114
  // ========== Impact Analysis Heuristics (H5.x) ==========
109
115
  case QXHeuristic.USER_FEELINGS_IMPACT:
110
- const altCoverage = context.accessibility?.altTextsCoverage || 0;
111
- const loadTime = context.performance?.loadTime || 0;
112
- const ariaLabels = context.accessibility?.ariaLabelsCount || 0;
113
- const focusableElements = context.accessibility?.focusableElementsCount || 0;
114
- score = 60;
115
- // Accessibility impact on feelings (35% weight)
116
- if (altCoverage >= 90) {
117
- score += 20;
118
- findings.push('Excellent accessibility (90%+ alt coverage) creates inclusive, positive experience');
119
- }
120
- else if (altCoverage >= 70) {
121
- score += 12;
122
- findings.push('Good accessibility creates generally positive user feelings');
123
- }
124
- else if (altCoverage < 50) {
125
- score -= 15;
126
- issues.push({
127
- description: 'Poor accessibility (<50% alt coverage) frustrates users with disabilities',
128
- severity: 'high',
129
- });
130
- recommendations.push('Improve alt text coverage to at least 80% for better accessibility');
131
- }
132
- // ARIA support impact
133
- if (ariaLabels > 5) {
134
- score += 8;
135
- findings.push('Strong ARIA labeling enhances screen reader experience');
136
- }
137
- // Performance impact on feelings (35% weight)
138
- if (loadTime < 1500) {
139
- score += 15;
140
- findings.push('Very fast load time (<1.5s) delights users');
141
- }
142
- else if (loadTime < 2500) {
143
- score += 8;
144
- findings.push('Fast load time enhances user satisfaction');
145
- }
146
- else if (loadTime > 4000) {
147
- score -= 20;
148
- issues.push({ description: 'Very slow load time (>4s) causes significant frustration', severity: 'critical' });
149
- recommendations.push('Optimize page load time - target under 2.5 seconds');
150
- }
151
- else if (loadTime > 3000) {
152
- score -= 12;
153
- issues.push({ description: 'Slow load time causes user frustration', severity: 'high' });
154
- }
155
- // Error visibility impact
156
- if (context.errorIndicators?.hasErrorMessages) {
157
- score -= 12;
158
- issues.push({ description: 'Visible errors reduce user confidence and satisfaction', severity: 'high' });
159
- recommendations.push('Review and fix visible error messages');
160
- }
161
- // Interaction capability
162
- if (focusableElements > 20) {
163
- score += 5;
164
- findings.push('Rich interactive elements provide user control and engagement');
165
- }
166
- else if (focusableElements < 5) {
167
- score -= 8;
168
- issues.push({ description: 'Limited interactivity may feel restrictive', severity: 'medium' });
116
+ {
117
+ const altCoverage = context.accessibility?.altTextsCoverage || 0;
118
+ const loadTime = context.performance?.loadTime || 0;
119
+ const ariaLabels = context.accessibility?.ariaLabelsCount || 0;
120
+ const focusableElements = context.accessibility?.focusableElementsCount || 0;
121
+ score = 60;
122
+ // Accessibility impact on feelings (35% weight)
123
+ if (altCoverage >= 90) {
124
+ score += 20;
125
+ findings.push('Excellent accessibility (90%+ alt coverage) creates inclusive, positive experience');
126
+ }
127
+ else if (altCoverage >= 70) {
128
+ score += 12;
129
+ findings.push('Good accessibility creates generally positive user feelings');
130
+ }
131
+ else if (altCoverage < 50) {
132
+ score -= 15;
133
+ issues.push({
134
+ description: 'Poor accessibility (<50% alt coverage) frustrates users with disabilities',
135
+ severity: 'high',
136
+ });
137
+ recommendations.push('Improve alt text coverage to at least 80% for better accessibility');
138
+ }
139
+ // ARIA support impact
140
+ if (ariaLabels > 5) {
141
+ score += 8;
142
+ findings.push('Strong ARIA labeling enhances screen reader experience');
143
+ }
144
+ // Performance impact on feelings (35% weight)
145
+ if (loadTime < 1500) {
146
+ score += 15;
147
+ findings.push('Very fast load time (<1.5s) delights users');
148
+ }
149
+ else if (loadTime < 2500) {
150
+ score += 8;
151
+ findings.push('Fast load time enhances user satisfaction');
152
+ }
153
+ else if (loadTime > 4000) {
154
+ score -= 20;
155
+ issues.push({ description: 'Very slow load time (>4s) causes significant frustration', severity: 'critical' });
156
+ recommendations.push('Optimize page load time - target under 2.5 seconds');
157
+ }
158
+ else if (loadTime > 3000) {
159
+ score -= 12;
160
+ issues.push({ description: 'Slow load time causes user frustration', severity: 'high' });
161
+ }
162
+ // Error visibility impact
163
+ if (context.errorIndicators?.hasErrorMessages) {
164
+ score -= 12;
165
+ issues.push({ description: 'Visible errors reduce user confidence and satisfaction', severity: 'high' });
166
+ recommendations.push('Review and fix visible error messages');
167
+ }
168
+ // Interaction capability
169
+ if (focusableElements > 20) {
170
+ score += 5;
171
+ findings.push('Rich interactive elements provide user control and engagement');
172
+ }
173
+ else if (focusableElements < 5) {
174
+ score -= 8;
175
+ issues.push({ description: 'Limited interactivity may feel restrictive', severity: 'medium' });
176
+ }
177
+ score = Math.max(20, Math.min(100, score));
178
+ break;
169
179
  }
170
- score = Math.max(20, Math.min(100, score));
171
- break;
172
180
  case QXHeuristic.GUI_FLOW_IMPACT:
173
- const interactiveElements = context.domMetrics?.interactiveElements || 0;
174
- const forms = context.domMetrics?.forms || 0;
175
- if (interactiveElements > 20) {
176
- score = 75;
177
- findings.push(`${interactiveElements} interactive elements provide user control`);
178
- }
179
- if (forms > 0) {
180
- findings.push(`${forms} forms impact user input flows`);
181
- score = Math.min(100, score + 10);
182
- }
183
- if (interactiveElements === 0) {
184
- score = 30;
185
- issues.push({ description: 'Limited user interaction capability', severity: 'high' });
181
+ {
182
+ const interactiveElements = context.domMetrics?.interactiveElements || 0;
183
+ const forms = context.domMetrics?.forms || 0;
184
+ if (interactiveElements > 20) {
185
+ score = 75;
186
+ findings.push(`${interactiveElements} interactive elements provide user control`);
187
+ }
188
+ if (forms > 0) {
189
+ findings.push(`${forms} forms impact user input flows`);
190
+ score = Math.min(100, score + 10);
191
+ }
192
+ if (interactiveElements === 0) {
193
+ score = 30;
194
+ issues.push({ description: 'Limited user interaction capability', severity: 'high' });
195
+ }
196
+ break;
186
197
  }
187
- break;
188
198
  case QXHeuristic.CROSS_FUNCTIONAL_IMPACT:
189
199
  score = 70;
190
200
  if (context.accessibility && (context.accessibility.altTextsCoverage || 0) < 100) {
@@ -232,14 +242,16 @@ export class QXHeuristicsEngine {
232
242
  break;
233
243
  // ========== User Needs Heuristics (H2.x) ==========
234
244
  case QXHeuristic.USER_NEEDS_IDENTIFICATION:
235
- score = userNeeds.alignmentScore;
236
- findings.push(`${userNeeds.needs.length} user needs identified`);
237
- const mustHave = userNeeds.needs.filter((n) => n.priority === 'must-have').length;
238
- findings.push(`${mustHave} must-have features`);
239
- if (userNeeds.challenges.length > 0) {
240
- issues.push({ description: `${userNeeds.challenges.length} user need challenges found`, severity: 'medium' });
245
+ {
246
+ score = userNeeds.alignmentScore;
247
+ findings.push(`${userNeeds.needs.length} user needs identified`);
248
+ const mustHave = userNeeds.needs.filter((n) => n.priority === 'must-have').length;
249
+ findings.push(`${mustHave} must-have features`);
250
+ if (userNeeds.challenges.length > 0) {
251
+ issues.push({ description: `${userNeeds.challenges.length} user need challenges found`, severity: 'medium' });
252
+ }
253
+ break;
241
254
  }
242
- break;
243
255
  case QXHeuristic.USER_NEEDS_SUITABILITY:
244
256
  score =
245
257
  userNeeds.suitability === 'excellent'
@@ -252,10 +264,12 @@ export class QXHeuristicsEngine {
252
264
  findings.push(`User needs suitability: ${userNeeds.suitability}`);
253
265
  break;
254
266
  case QXHeuristic.USER_NEEDS_VALIDATION:
255
- const addressedNeeds = userNeeds.needs.filter((n) => n.addressed).length;
256
- score = userNeeds.needs.length > 0 ? (addressedNeeds / userNeeds.needs.length) * 100 : 50;
257
- findings.push(`${addressedNeeds}/${userNeeds.needs.length} needs validated and addressed`);
258
- break;
267
+ {
268
+ const addressedNeeds = userNeeds.needs.filter((n) => n.addressed).length;
269
+ score = userNeeds.needs.length > 0 ? (addressedNeeds / userNeeds.needs.length) * 100 : 50;
270
+ findings.push(`${addressedNeeds}/${userNeeds.needs.length} needs validated and addressed`);
271
+ break;
272
+ }
259
273
  // ========== Business Needs Heuristics (H3.x) ==========
260
274
  case QXHeuristic.BUSINESS_NEEDS_IDENTIFICATION:
261
275
  score = businessNeeds.alignmentScore;
@@ -264,16 +278,18 @@ export class QXHeuristicsEngine {
264
278
  findings.push(`${businessNeeds.crossTeamImpact.length} cross-team impacts`);
265
279
  break;
266
280
  case QXHeuristic.USER_VS_BUSINESS_BALANCE:
267
- const balanceScore = 100 - Math.abs(userNeeds.alignmentScore - businessNeeds.alignmentScore);
268
- score = balanceScore;
269
- if (balanceScore > 80) {
270
- findings.push('Good balance between user and business needs');
271
- }
272
- else {
273
- issues.push({ description: 'Imbalance between user and business priorities', severity: 'medium' });
274
- recommendations.push('Align user and business objectives more closely');
281
+ {
282
+ const balanceScore = 100 - Math.abs(userNeeds.alignmentScore - businessNeeds.alignmentScore);
283
+ score = balanceScore;
284
+ if (balanceScore > 80) {
285
+ findings.push('Good balance between user and business needs');
286
+ }
287
+ else {
288
+ issues.push({ description: 'Imbalance between user and business priorities', severity: 'medium' });
289
+ recommendations.push('Align user and business objectives more closely');
290
+ }
291
+ break;
275
292
  }
276
- break;
277
293
  case QXHeuristic.KPI_IMPACT_ANALYSIS:
278
294
  score = businessNeeds.impactsKPIs ? 85 : 50;
279
295
  findings.push(`KPIs impacted: ${businessNeeds.kpisAffected.join(', ')}`);
@@ -297,18 +313,20 @@ export class QXHeuristicsEngine {
297
313
  }
298
314
  break;
299
315
  case QXHeuristic.SUPPORTING_DATA_ANALYSIS:
300
- score = 75;
301
- const hasData = (context.domMetrics?.forms || 0) > 0 || (context.domMetrics?.interactiveElements || 0) > 20;
302
- if (hasData) {
303
- score = 82;
304
- findings.push('Sufficient data points for informed decision-making');
305
- }
306
- else {
307
- score = 60;
308
- issues.push({ description: 'Limited data for comprehensive analysis', severity: 'medium' });
309
- recommendations.push('Collect more user interaction data');
316
+ {
317
+ score = 75;
318
+ const hasData = (context.domMetrics?.forms || 0) > 0 || (context.domMetrics?.interactiveElements || 0) > 20;
319
+ if (hasData) {
320
+ score = 82;
321
+ findings.push('Sufficient data points for informed decision-making');
322
+ }
323
+ else {
324
+ score = 60;
325
+ issues.push({ description: 'Limited data for comprehensive analysis', severity: 'medium' });
326
+ recommendations.push('Collect more user interaction data');
327
+ }
328
+ break;
310
329
  }
311
- break;
312
330
  // ========== Creativity Heuristics (H6.x) ==========
313
331
  case QXHeuristic.COMPETITIVE_ANALYSIS:
314
332
  score = 70;
@@ -324,27 +342,31 @@ export class QXHeuristicsEngine {
324
342
  }
325
343
  break;
326
344
  case QXHeuristic.DOMAIN_INSPIRATION:
327
- score = 72;
328
- const hasModernElements = context.accessibility && (context.accessibility.ariaLabelsCount || 0) > 0;
329
- if (hasModernElements) {
330
- score = 80;
331
- findings.push('Modern accessibility patterns show domain inspiration');
332
- }
333
- else {
334
- recommendations.push('Research domain-specific design patterns and best practices');
345
+ {
346
+ score = 72;
347
+ const hasModernElements = context.accessibility && (context.accessibility.ariaLabelsCount || 0) > 0;
348
+ if (hasModernElements) {
349
+ score = 80;
350
+ findings.push('Modern accessibility patterns show domain inspiration');
351
+ }
352
+ else {
353
+ recommendations.push('Research domain-specific design patterns and best practices');
354
+ }
355
+ break;
335
356
  }
336
- break;
337
357
  case QXHeuristic.INNOVATIVE_SOLUTIONS:
338
- score = 65;
339
- const hasAdvancedFeatures = (context.accessibility?.landmarkRoles || 0) > 3;
340
- if (hasAdvancedFeatures) {
341
- score = 75;
342
- findings.push('Advanced accessibility features show innovative thinking');
358
+ {
359
+ score = 65;
360
+ const hasAdvancedFeatures = (context.accessibility?.landmarkRoles || 0) > 3;
361
+ if (hasAdvancedFeatures) {
362
+ score = 75;
363
+ findings.push('Advanced accessibility features show innovative thinking');
364
+ }
365
+ else {
366
+ recommendations.push('Explore innovative UX patterns to differentiate experience');
367
+ }
368
+ break;
343
369
  }
344
- else {
345
- recommendations.push('Explore innovative UX patterns to differentiate experience');
346
- }
347
- break;
348
370
  default:
349
371
  // Generic heuristic evaluation based on category
350
372
  if (category === 'user-needs') {
@@ -258,7 +258,7 @@ export class A11yAuditTool extends MCPToolBase {
258
258
  }
259
259
  }
260
260
  // Optionally check keyboard navigation
261
- let keyboardViolations = [];
261
+ const keyboardViolations = [];
262
262
  if (checkKeyboard) {
263
263
  const keyboardResult = await service.checkKeyboardNavigation(url);
264
264
  if (keyboardResult.success) {
@@ -43,6 +43,26 @@ export declare const JSON_RPC_ERRORS: {
43
43
  readonly INTERNAL_ERROR: -32603;
44
44
  readonly SERVER_ERROR: -32000;
45
45
  };
46
+ /**
47
+ * Error subclass that carries a JSON-RPC error `code` so it can be surfaced as a
48
+ * proper JSON-RPC error response (instead of being flattened to "[object Object]").
49
+ * Mirrors the OAuthProviderError pattern used in the security layer.
50
+ */
51
+ export declare class McpError extends Error {
52
+ readonly code: number;
53
+ readonly data?: unknown | undefined;
54
+ constructor(code: number, message: string, data?: unknown | undefined);
55
+ }
56
+ /**
57
+ * Type guard for any thrown value that carries a JSON-RPC `code` + `message`.
58
+ * Accepts both the McpError subclass and legacy plain `{ code, message }` objects
59
+ * so existing throw sites continue to map to the right JSON-RPC error code.
60
+ */
61
+ export declare function isJsonRpcCodedError(err: unknown): err is {
62
+ code: number;
63
+ message: string;
64
+ data?: unknown;
65
+ };
46
66
  export declare class StdioTransport {
47
67
  private readonly inputStream;
48
68
  private readonly outputStream;
@@ -16,6 +16,32 @@ export const JSON_RPC_ERRORS = {
16
16
  INTERNAL_ERROR: -32603,
17
17
  SERVER_ERROR: -32000,
18
18
  };
19
+ /**
20
+ * Error subclass that carries a JSON-RPC error `code` so it can be surfaced as a
21
+ * proper JSON-RPC error response (instead of being flattened to "[object Object]").
22
+ * Mirrors the OAuthProviderError pattern used in the security layer.
23
+ */
24
+ export class McpError extends Error {
25
+ code;
26
+ data;
27
+ constructor(code, message, data) {
28
+ super(message);
29
+ this.code = code;
30
+ this.data = data;
31
+ this.name = 'McpError';
32
+ }
33
+ }
34
+ /**
35
+ * Type guard for any thrown value that carries a JSON-RPC `code` + `message`.
36
+ * Accepts both the McpError subclass and legacy plain `{ code, message }` objects
37
+ * so existing throw sites continue to map to the right JSON-RPC error code.
38
+ */
39
+ export function isJsonRpcCodedError(err) {
40
+ return (typeof err === 'object' &&
41
+ err !== null &&
42
+ typeof err.code === 'number' &&
43
+ typeof err.message === 'string');
44
+ }
19
45
  // ============================================================================
20
46
  // Stdio Transport Implementation
21
47
  // ============================================================================
@@ -205,8 +231,15 @@ export class StdioTransport {
205
231
  });
206
232
  }
207
233
  catch (err) {
208
- const error = err;
209
- await this.sendError(request.id, JSON_RPC_ERRORS.INTERNAL_ERROR, error.message || 'Internal error');
234
+ // Honor a JSON-RPC `code` carried by the thrown value (McpError or a legacy
235
+ // plain `{ code, message }` object); otherwise fall back to INTERNAL_ERROR.
236
+ if (isJsonRpcCodedError(err)) {
237
+ await this.sendError(request.id, err.code, err.message, err.data);
238
+ }
239
+ else {
240
+ const error = err;
241
+ await this.sendError(request.id, JSON_RPC_ERRORS.INTERNAL_ERROR, error.message || 'Internal error');
242
+ }
210
243
  }
211
244
  }
212
245
  async handleNotification(notification) {
@@ -122,6 +122,7 @@ export class WebSocketTransport extends EventEmitter {
122
122
  * Handle a manual WebSocket upgrade (for testing or custom servers)
123
123
  */
124
124
  handleUpgrade(request, socket, head) {
125
+ // eslint-disable-next-line no-async-promise-executor -- body is wrapped in try/catch that calls reject()
125
126
  return new Promise(async (resolve, reject) => {
126
127
  if (this.disposed) {
127
128
  socket.write('HTTP/1.1 503 Service Unavailable\r\n\r\n');
@@ -303,7 +303,7 @@ export class AQEAutoTuner {
303
303
  const parameterValues = this.algorithm.suggestNextConfiguration(this.parameters, this.evaluationHistory, this.config);
304
304
  // Check if we have applicators registered for real system integration
305
305
  const hasApplicators = this.applicatorRegistry.getAll().length > 0;
306
- let metricValues = {};
306
+ const metricValues = {};
307
307
  if (hasApplicators) {
308
308
  // REAL EVALUATION: Apply configuration to actual systems
309
309
  try {
@@ -60,6 +60,7 @@ class MinHeap {
60
60
  }
61
61
  sinkDown(i) {
62
62
  const n = this.data.length;
63
+ // eslint-disable-next-line no-constant-condition -- heap sift-down; loop breaks internally
63
64
  while (true) {
64
65
  let smallest = i;
65
66
  const left = 2 * i + 1;
@@ -98,7 +98,10 @@ export function parseDependenciesFromFrontmatter(content) {
98
98
  const listStart = trimmed.match(/^-\s+(\w+):\s*(.*)$/);
99
99
  if (listStart) {
100
100
  if (st.inList) {
101
- st.section === 'agents' ? flushAgent() : flushMcp();
101
+ if (st.section === 'agents')
102
+ flushAgent();
103
+ else
104
+ flushMcp();
102
105
  }
103
106
  st.inList = true;
104
107
  st.item = { [listStart[1]]: parseYamlValue(listStart[2]) };
@@ -148,7 +148,7 @@ function stripApiKeys(config) {
148
148
  return JSON.parse(JSON.stringify(config));
149
149
  }
150
150
  const cloned = JSON.parse(JSON.stringify(config));
151
- let strippedProviders = [];
151
+ const strippedProviders = [];
152
152
  if (cloned.providers) {
153
153
  for (const provider of Object.keys(cloned.providers)) {
154
154
  const entry = cloned.providers[provider];
@@ -127,10 +127,12 @@ export class SystemMetricsCollector {
127
127
  return metrics.cpu.loadAverage[2];
128
128
  default:
129
129
  // For unknown metrics, return from history or 0
130
- const history = this.metricHistory.get(metricName);
131
- return history && history.length > 0
132
- ? history[history.length - 1].value
133
- : 0;
130
+ {
131
+ const history = this.metricHistory.get(metricName);
132
+ return history && history.length > 0
133
+ ? history[history.length - 1].value
134
+ : 0;
135
+ }
134
136
  }
135
137
  }
136
138
  /**
@@ -12,6 +12,7 @@
12
12
  */
13
13
  import type { SupportedLanguage } from '../types/test-frameworks.js';
14
14
  import type { ILanguageParser, ParsedFile } from './interfaces.js';
15
+ type SyntaxNode = any;
15
16
  export declare class TreeSitterWASMParser implements ILanguageParser {
16
17
  readonly language: SupportedLanguage;
17
18
  readonly supportedExtensions: string[];
@@ -25,8 +26,19 @@ export declare function createWasmParsers(): Map<SupportedLanguage, ILanguagePar
25
26
  * Returns true if the dependency is installed; does NOT initialize WASM.
26
27
  */
27
28
  export declare function isWasmAvailable(): boolean;
29
+ /**
30
+ * Generic grammar loader for callers outside the GRAMMAR_CONFIG set (e.g. the
31
+ * code-intelligence TS/JS extractor). Reuses the proven WASM init + grammar
32
+ * path resolution. Returns a `parse(code)` that yields a tree-sitter tree
33
+ * (caller must call `tree.delete()`), or null if WASM/grammar is unavailable so
34
+ * the caller can fall back.
35
+ */
36
+ export declare function loadWasmGrammar(wasmFile: string): Promise<{
37
+ parse: (code: string) => SyntaxNode;
38
+ } | null>;
28
39
  /**
29
40
  * Reset internal state — for testing only.
30
41
  */
31
42
  export declare function _resetWasmState(): void;
43
+ export {};
32
44
  //# sourceMappingURL=tree-sitter-wasm-parser.d.ts.map