agentic-qe 3.9.27 → 3.9.29

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 (288) hide show
  1. package/.claude/skills/skills-manifest.json +1 -1
  2. package/CHANGELOG.md +61 -0
  3. package/assets/skills/skills-manifest.json +1 -1
  4. package/dist/bridge/captured-experience-bridge.js +51 -22
  5. package/dist/cli/bundle.js +5 -5
  6. package/dist/cli/chunks/adapter-4NVP2SYD.js +2 -0
  7. package/dist/cli/chunks/{agent-booster-wasm-ITOX2PFK.js → agent-booster-wasm-EPRGXS5D.js} +2 -2
  8. package/dist/cli/chunks/{agent-handler-NGVDEBFM.js → agent-handler-LF6D64UE.js} +2 -2
  9. package/dist/cli/chunks/{agent-memory-branch-6WLQE4UP.js → agent-memory-branch-XD3UQD6Y.js} +2 -2
  10. package/dist/cli/chunks/aqe-learning-engine-ZTR5KIGB.js +2 -0
  11. package/dist/cli/chunks/{audit-KTNR6LYC.js → audit-MNJONFOL.js} +2 -2
  12. package/dist/cli/chunks/base-2M65XYDE.js +2 -0
  13. package/dist/cli/chunks/{hnswlib-node-X73LVNSE.js → better-sqlite3-XT27JRMH.js} +2 -2
  14. package/dist/cli/chunks/{brain-handler-ZFLB6Q37.js → brain-handler-SA2G3FDO.js} +3 -3
  15. package/dist/cli/chunks/{branch-enumerator-SONBYE7U.js → branch-enumerator-T7SZZTMH.js} +2 -2
  16. package/dist/cli/chunks/{browser-D6YYID5Y.js → browser-OH5HUVOG.js} +2 -2
  17. package/dist/cli/chunks/browser-workflow-7EXB6DUF.js +2 -0
  18. package/dist/cli/chunks/{chunk-XM3HKZ4U.js → chunk-23B7TDPN.js} +2 -2
  19. package/dist/cli/chunks/{chunk-2Z2DD5YW.js → chunk-2HUYG6Q6.js} +2 -2
  20. package/dist/cli/chunks/{chunk-I3YJEVI2.js → chunk-2JK43GR4.js} +2 -2
  21. package/dist/cli/chunks/{chunk-WLT5RGLK.js → chunk-3E4VPGNW.js} +2 -2
  22. package/dist/cli/chunks/{chunk-5WPQATT7.js → chunk-3MFAU2JA.js} +2 -2
  23. package/dist/cli/chunks/{chunk-ET5RCLBO.js → chunk-3T4Q5V4B.js} +2 -2
  24. package/dist/cli/chunks/{chunk-E3K7FQKW.js → chunk-3YS4ZLL2.js} +2 -2
  25. package/dist/cli/chunks/{chunk-J2ZH6IHM.js → chunk-4ZAX5A6E.js} +2 -2
  26. package/dist/cli/chunks/{chunk-C7TMWGMN.js → chunk-5MUYYPPW.js} +3 -3
  27. package/dist/cli/chunks/{chunk-YHROZCDI.js → chunk-5Q26UGSU.js} +2 -2
  28. package/dist/cli/chunks/{chunk-PFHUT2VE.js → chunk-5XRNUFEG.js} +2 -2
  29. package/dist/cli/chunks/{chunk-T46HLTI3.js → chunk-667A24A4.js} +2 -2
  30. package/dist/cli/chunks/chunk-6ZJROHI3.js +2 -0
  31. package/dist/cli/chunks/{chunk-6R2OTCWG.js → chunk-7AIVTUMM.js} +2 -2
  32. package/dist/cli/chunks/{chunk-7EC2C5QP.js → chunk-7PYHCYLJ.js} +1 -1
  33. package/dist/cli/chunks/{chunk-I73XKAOF.js → chunk-7WRIYQG7.js} +3 -3
  34. package/dist/cli/chunks/{chunk-7QXW6HLF.js → chunk-A7ZCJ2XN.js} +2 -2
  35. package/dist/cli/chunks/{chunk-UIKOUIGI.js → chunk-AOZ3JGJQ.js} +2 -2
  36. package/dist/cli/chunks/{chunk-4SLL4YG2.js → chunk-AQ4ZSM4D.js} +2 -2
  37. package/dist/cli/chunks/{chunk-5W3XL5YW.js → chunk-AUE4QOT7.js} +2 -2
  38. package/dist/cli/chunks/{chunk-O7XW2BWN.js → chunk-AYESXBSX.js} +2 -2
  39. package/dist/cli/chunks/{chunk-PXFK5V2E.js → chunk-B23E53WF.js} +2 -2
  40. package/dist/cli/chunks/{chunk-4Z2KY7N3.js → chunk-BMMXCDTH.js} +1 -1
  41. package/dist/cli/chunks/{chunk-YLSLQ2DT.js → chunk-BP3KVVEM.js} +2 -2
  42. package/dist/cli/chunks/{chunk-MSA7UH3M.js → chunk-BUMNLVMC.js} +1 -1
  43. package/dist/cli/chunks/{chunk-U7S7A7LB.js → chunk-BVHLZ3TP.js} +1 -1
  44. package/dist/cli/chunks/{chunk-XLFWSEZ4.js → chunk-BZ4OMPVJ.js} +2 -2
  45. package/dist/cli/chunks/{chunk-LU27B4M7.js → chunk-C7G7TA2H.js} +3 -3
  46. package/dist/cli/chunks/{chunk-GXHMSIBM.js → chunk-C7MWQ4BI.js} +1 -1
  47. package/dist/cli/chunks/{chunk-6BGF3VZJ.js → chunk-C7SJS5E4.js} +2 -2
  48. package/dist/cli/chunks/{chunk-PIR3KN5M.js → chunk-CZEQFAKE.js} +2 -2
  49. package/dist/cli/chunks/{chunk-2SEXNZIJ.js → chunk-DCZV4QTP.js} +2 -2
  50. package/dist/cli/chunks/{chunk-MKDGVPE3.js → chunk-ENJBAK7Y.js} +9 -9
  51. package/dist/cli/chunks/{chunk-RDJZLKU2.js → chunk-FDETLFX4.js} +1 -1
  52. package/dist/cli/chunks/{chunk-5GBDMANM.js → chunk-FIMBLHR5.js} +2 -2
  53. package/dist/cli/chunks/{chunk-NTTW3LSE.js → chunk-G426VZ5K.js} +2 -2
  54. package/dist/cli/chunks/{chunk-SL5MAYYP.js → chunk-G7LVJXZR.js} +2 -2
  55. package/dist/cli/chunks/{chunk-JBL5G5VJ.js → chunk-GBLW4QDV.js} +1 -1
  56. package/dist/cli/chunks/{chunk-RE5OY7WL.js → chunk-GHBQVPJT.js} +2 -2
  57. package/dist/cli/chunks/{chunk-COTY53RT.js → chunk-GTJNB5B4.js} +2 -2
  58. package/dist/cli/chunks/{chunk-BZNIVIZE.js → chunk-GWBI5IMK.js} +1 -1
  59. package/dist/cli/chunks/{chunk-A7D5532X.js → chunk-HCVIUAF2.js} +2 -2
  60. package/dist/cli/chunks/{chunk-VRPZU5KM.js → chunk-HDKXJMRS.js} +1 -1
  61. package/dist/cli/chunks/{chunk-WVRFTL46.js → chunk-HEUAPPKE.js} +1 -1
  62. package/dist/cli/chunks/{chunk-WGYJD6DT.js → chunk-HHDPHHTX.js} +2 -2
  63. package/dist/cli/chunks/{chunk-FY3TF4SA.js → chunk-I6PVI7R5.js} +2 -2
  64. package/dist/cli/chunks/{chunk-PGS2MYE7.js → chunk-IBSTVSKT.js} +1 -1
  65. package/dist/cli/chunks/{chunk-JP7AOQZZ.js → chunk-IQXDL7BX.js} +1 -1
  66. package/dist/cli/chunks/{chunk-2MO2U3NO.js → chunk-IX5LUHCN.js} +2 -2
  67. package/dist/cli/chunks/{chunk-ITGHTWHH.js → chunk-J3CLEYJP.js} +2 -2
  68. package/dist/cli/chunks/{chunk-NWSFGZKC.js → chunk-JX2AS6QZ.js} +1 -1
  69. package/dist/cli/chunks/{chunk-ZC5WKTB5.js → chunk-JXWJ6BLR.js} +1 -1
  70. package/dist/cli/chunks/{chunk-HV7V34DZ.js → chunk-JXWZZTPN.js} +2 -2
  71. package/dist/cli/chunks/{chunk-T5HPBBVB.js → chunk-K7CFDRVW.js} +1 -1
  72. package/dist/cli/chunks/{chunk-F5PNA7J3.js → chunk-KIUJ4EI5.js} +2 -2
  73. package/dist/cli/chunks/{chunk-HYCRKKJN.js → chunk-KQYKPEY6.js} +2 -2
  74. package/dist/cli/chunks/{chunk-WD5T5PE6.js → chunk-KX3XTWNR.js} +2 -2
  75. package/dist/cli/chunks/{chunk-WHI7FVTH.js → chunk-LIEKDXTS.js} +2 -2
  76. package/dist/cli/chunks/{chunk-G4KZCXZK.js → chunk-LJDPZC6Q.js} +1 -1
  77. package/dist/cli/chunks/{chunk-XFDOE4QW.js → chunk-LPSIKIE2.js} +2 -2
  78. package/dist/cli/chunks/{chunk-JZTMCQVH.js → chunk-LRWREDZU.js} +1 -1
  79. package/dist/cli/chunks/{chunk-RAVTYXUD.js → chunk-MBNFD2C3.js} +1 -1
  80. package/dist/cli/chunks/{chunk-J6EDIEZB.js → chunk-MCJRIW7M.js} +1 -1
  81. package/dist/cli/chunks/{chunk-CYNQW276.js → chunk-N5SS5YIS.js} +2 -2
  82. package/dist/cli/chunks/{chunk-4K7KTT4Q.js → chunk-N6A4XFUM.js} +1 -1
  83. package/dist/cli/chunks/{chunk-RPDLRKAT.js → chunk-NZIU2SEI.js} +1 -1
  84. package/dist/cli/chunks/{chunk-X6HOSOIT.js → chunk-OLJLSLCY.js} +3 -3
  85. package/dist/cli/chunks/{chunk-Q5GQ267O.js → chunk-ONFODTGV.js} +1 -1
  86. package/dist/cli/chunks/{chunk-PU7S6SEW.js → chunk-OPPASGEB.js} +4 -4
  87. package/dist/cli/chunks/{chunk-PMP6QRTB.js → chunk-OU2FFOML.js} +4 -4
  88. package/dist/cli/chunks/{chunk-IQITE3HO.js → chunk-OW47RQEW.js} +1 -1
  89. package/dist/cli/chunks/{chunk-6IYCOEW7.js → chunk-P7HWW3VH.js} +2 -2
  90. package/dist/cli/chunks/{chunk-OA5ZH3IH.js → chunk-POV6V35B.js} +2 -2
  91. package/dist/cli/chunks/{chunk-2J3B4ONK.js → chunk-PYAITX6B.js} +2 -2
  92. package/dist/cli/chunks/{chunk-DPMCEGYQ.js → chunk-QNIOQ4AR.js} +2 -2
  93. package/dist/cli/chunks/{chunk-IUUT6Q5I.js → chunk-R55RXPHB.js} +2 -2
  94. package/dist/cli/chunks/{chunk-LXGVB3FK.js → chunk-RBHWBTKA.js} +1 -1
  95. package/dist/cli/chunks/{chunk-HEZJOCD7.js → chunk-REFFJUYT.js} +2 -2
  96. package/dist/cli/chunks/{chunk-6BIHLI3A.js → chunk-RRQH5BMQ.js} +2 -2
  97. package/dist/cli/chunks/{chunk-2O6XVANK.js → chunk-RXAJBMM7.js} +2 -2
  98. package/dist/cli/chunks/{chunk-S3QE2RBR.js → chunk-SCXRYZ3U.js} +3 -3
  99. package/dist/cli/chunks/{chunk-WPN2NYZ3.js → chunk-SH7N3Y63.js} +3 -3
  100. package/dist/cli/chunks/{chunk-3BTSXIJ3.js → chunk-SKIG6EOQ.js} +2 -2
  101. package/dist/cli/chunks/{chunk-AAYGZTW3.js → chunk-SRSL5OFF.js} +3 -3
  102. package/dist/cli/chunks/{chunk-FQZM3SVW.js → chunk-TESFXE2W.js} +2 -2
  103. package/dist/cli/chunks/{chunk-XLY5LUNG.js → chunk-TLPIUYN3.js} +2 -2
  104. package/dist/cli/chunks/{chunk-4DTF53TE.js → chunk-TZG7TJD5.js} +2 -2
  105. package/dist/cli/chunks/{chunk-BT5YOORE.js → chunk-UGXYKPM4.js} +2 -2
  106. package/dist/cli/chunks/{chunk-J24PEKZ5.js → chunk-UI6KM5PK.js} +2 -2
  107. package/dist/cli/chunks/{chunk-EW2JQIYW.js → chunk-UKYPDNQR.js} +1 -1
  108. package/dist/cli/chunks/{chunk-SCS3RUTT.js → chunk-UO3QSXYD.js} +1 -1
  109. package/dist/cli/chunks/{chunk-VNC7ANGV.js → chunk-VHJRWMZ5.js} +2 -2
  110. package/dist/cli/chunks/{chunk-5DDRRXKR.js → chunk-VJR2JIYP.js} +2 -2
  111. package/dist/cli/chunks/{chunk-MHPA6IWB.js → chunk-VKJLHKLY.js} +2 -2
  112. package/dist/cli/chunks/{chunk-DURR7FQ2.js → chunk-VWDVQFEV.js} +9 -9
  113. package/dist/cli/chunks/{chunk-XS63BAQL.js → chunk-WLPP7V3W.js} +4 -4
  114. package/dist/cli/chunks/{chunk-MFRS4KFZ.js → chunk-WQX2Q42U.js} +2 -2
  115. package/dist/cli/chunks/{chunk-DL6L4FGW.js → chunk-WUKSEOUO.js} +2 -2
  116. package/dist/cli/chunks/{chunk-QM2LHV7P.js → chunk-WYSM5565.js} +2 -2
  117. package/dist/cli/chunks/{chunk-GGIE7KUU.js → chunk-XJJQZULZ.js} +2 -2
  118. package/dist/cli/chunks/{chunk-OHT5NJXJ.js → chunk-XP5OUB2X.js} +1 -1
  119. package/dist/cli/chunks/{chunk-A4QYEA22.js → chunk-Y7VPSAWH.js} +2 -2
  120. package/dist/cli/chunks/{chunk-CNWWQYZ3.js → chunk-YCK464TF.js} +1 -1
  121. package/dist/cli/chunks/{chunk-JN7WVS57.js → chunk-YDBBXRH7.js} +2 -2
  122. package/dist/cli/chunks/{chunk-YYGYN4RJ.js → chunk-YEXQMYOM.js} +2 -2
  123. package/dist/cli/chunks/{chunk-2UPD2NX5.js → chunk-YWW6YPT5.js} +1 -1
  124. package/dist/cli/chunks/{chunk-W5EOH4NH.js → chunk-YXMKMUQX.js} +1 -1
  125. package/dist/cli/chunks/{chunk-ADU5MOQE.js → chunk-YXS6SHB2.js} +1 -1
  126. package/dist/cli/chunks/{chunk-RM7WNXRT.js → chunk-ZIX5MU4Q.js} +2 -2
  127. package/dist/cli/chunks/{chunk-V7HMKS5S.js → chunk-ZMZS6NKQ.js} +2 -2
  128. package/dist/cli/chunks/{chunk-2IKQT3IF.js → chunk-ZOORGOLY.js} +1 -1
  129. package/dist/cli/chunks/{chunk-PBP2TWV7.js → chunk-ZPFBEZV5.js} +2 -2
  130. package/dist/cli/chunks/{chunk-4AWB4BKC.js → chunk-ZWI5Z2SI.js} +2 -2
  131. package/dist/cli/chunks/{chunk-KFDY5AD7.js → chunk-ZXWHKLZN.js} +1 -1
  132. package/dist/cli/chunks/{chunk-HPB5MPJP.js → chunk-ZZAZQKOA.js} +2 -2
  133. package/dist/cli/chunks/{ci-TNCEZMBI.js → ci-5BS5ALBZ.js} +2 -2
  134. package/dist/cli/chunks/{ci-output-GXRUBE4X.js → ci-output-I7CGW62R.js} +2 -2
  135. package/dist/cli/chunks/{circuit-breaker-UY3UVWZK.js → circuit-breaker-7P2V65XX.js} +2 -2
  136. package/dist/cli/chunks/{claude-flow-setup-G4PJY2IE.js → claude-flow-setup-EKRLBRCE.js} +2 -2
  137. package/dist/cli/chunks/client-KTEVHNVO.js +2 -0
  138. package/dist/cli/chunks/{cline-installer-VDCVZLLN.js → cline-installer-U6KRJJHQ.js} +2 -2
  139. package/dist/cli/chunks/{code-2COXCETT.js → code-I6PB6YM7.js} +2 -2
  140. package/dist/cli/chunks/{code-index-extractor-TBRSOYNZ.js → code-index-extractor-NP7JW32L.js} +2 -2
  141. package/dist/cli/chunks/{codex-installer-CNUIJ7RF.js → codex-installer-52W4TK27.js} +2 -2
  142. package/dist/cli/chunks/{completions-42LTVU5S.js → completions-LTOAC3Y5.js} +2 -2
  143. package/dist/cli/chunks/{complexity-analyzer-2ECJ3OPO.js → complexity-analyzer-RXAF5SX3.js} +2 -2
  144. package/dist/cli/chunks/{continuedev-installer-FW2GFUG2.js → continuedev-installer-BNUOLW2M.js} +2 -2
  145. package/dist/cli/chunks/{copilot-installer-QSV6WUBZ.js → copilot-installer-YXANWEVX.js} +2 -2
  146. package/dist/cli/chunks/{cost-tracker-CH3CSBR5.js → cost-tracker-EBAHKAGL.js} +2 -2
  147. package/dist/cli/chunks/{coverage-XNF65ZHG.js → coverage-SWVKYJ6V.js} +3 -3
  148. package/dist/cli/chunks/cross-domain-router-23RTLMQL.js +2 -0
  149. package/dist/cli/chunks/{cursor-installer-FP44QVKZ.js → cursor-installer-QIZPJ5YQ.js} +2 -2
  150. package/dist/cli/chunks/{daemon-RCTFQOCN.js → daemon-YPL4BMZX.js} +3 -3
  151. package/dist/cli/chunks/{dag-attention-scheduler-SRMUBFRY.js → dag-attention-scheduler-6XXECMF2.js} +2 -2
  152. package/dist/cli/chunks/{detect-6N6E24MC.js → detect-GGTJLBM6.js} +2 -2
  153. package/dist/cli/chunks/{dist-node-T6UY6WUC.js → dist-node-B6P2AD27.js} +2 -2
  154. package/dist/cli/chunks/{domain-handler-67FVCSTC.js → domain-handler-TSZJEND7.js} +2 -2
  155. package/dist/cli/chunks/{domain-transfer-T6QVO7Q7.js → domain-transfer-EBKK2ZKV.js} +2 -2
  156. package/dist/cli/chunks/dream-KNO2ZF24.js +2 -0
  157. package/dist/cli/chunks/{embed-and-insert-pattern-ZGTGPFKX.js → embed-and-insert-pattern-OMRWRS6V.js} +2 -2
  158. package/dist/cli/chunks/{eval-KBCCSN2V.js → eval-Q5PAQA5O.js} +2 -2
  159. package/dist/cli/chunks/{experience-capture-middleware-QH2I2HCM.js → experience-capture-middleware-5MOUWAON.js} +3 -3
  160. package/dist/cli/chunks/{fast-paths-ZP3R5NWJ.js → fast-paths-32E3N4KU.js} +2 -2
  161. package/dist/cli/chunks/{feature-flags-TTPWNBQU.js → feature-flags-VERJA5SQ.js} +2 -2
  162. package/dist/cli/chunks/{feature-flags-MGYWJNZ2.js → feature-flags-WRIWP5VL.js} +2 -2
  163. package/dist/cli/chunks/{file-discovery-VUIFTAJQ.js → file-discovery-2X6CZSTB.js} +2 -2
  164. package/dist/cli/chunks/{fleet-RFCEBGRJ.js → fleet-VB2JTP7P.js} +4 -4
  165. package/dist/cli/chunks/{gnn-wrapper-JSEZQYAZ.js → gnn-wrapper-HNKBFKUD.js} +2 -2
  166. package/dist/cli/chunks/{heartbeat-handler-ZRVNKBJK.js → heartbeat-handler-Y5GIRQNS.js} +4 -4
  167. package/dist/cli/chunks/{heartbeat-scheduler-ZQTLT3DW.js → heartbeat-scheduler-UGB57DTJ.js} +2 -2
  168. package/dist/cli/chunks/hnsw-adapter-JQHOAYXA.js +2 -0
  169. package/dist/cli/chunks/hnsw-index-AIUQDZLY.js +2 -0
  170. package/dist/cli/chunks/{hnsw-legacy-bridge-Y6MPTDAI.js → hnsw-legacy-bridge-A6G6GPMS.js} +2 -2
  171. package/dist/cli/chunks/{better-sqlite3-ROUVYY3W.js → hnswlib-node-PSQJ3C65.js} +2 -2
  172. package/dist/cli/chunks/{hooks-RIKFUPBG.js → hooks-Z4U7DCTP.js} +11 -11
  173. package/dist/cli/chunks/{hybrid-router-B35QFYSN.js → hybrid-router-LTAQGTNR.js} +2 -2
  174. package/dist/cli/chunks/{hypergraph-engine-GABHICVB.js → hypergraph-engine-IRTPRX6K.js} +2 -2
  175. package/dist/cli/chunks/{hypergraph-handler-NCMVBN4Q.js → hypergraph-handler-6IVDHP2K.js} +3 -3
  176. package/dist/cli/chunks/impact-analyzer-ULJRGNBM.js +2 -0
  177. package/dist/cli/chunks/{init-handler-7ROPCNFB.js → init-handler-NNLOQN2F.js} +8 -8
  178. package/dist/cli/chunks/init-wizard-R2WC5V2W.js +2 -0
  179. package/dist/cli/chunks/kernel-ZDQG4UWQ.js +2 -0
  180. package/dist/cli/chunks/{kilocode-installer-JXHO4YK3.js → kilocode-installer-Q5A6WBX2.js} +2 -2
  181. package/dist/cli/chunks/{kiro-installer-7SUM4FLK.js → kiro-installer-ZVOLX6AX.js} +2 -2
  182. package/dist/cli/chunks/knowledge-graph-RLCAQW6I.js +2 -0
  183. package/dist/cli/chunks/{learning-74DAUWK5.js → learning-NZLHSX4F.js} +3 -3
  184. package/dist/cli/chunks/{llm-router-LYQ3AJYV.js → llm-router-EFIOXD3E.js} +4 -4
  185. package/dist/cli/chunks/{load-EKML5ERV.js → load-7HYD5K5T.js} +2 -2
  186. package/dist/cli/chunks/load-test-KH35UZSW.js +2 -0
  187. package/dist/cli/chunks/{mcp-XBL5K2W4.js → mcp-TQEPJY5L.js} +2 -2
  188. package/dist/cli/chunks/{memory-FVYBB4DR.js → memory-2P5KRDUP.js} +5 -5
  189. package/dist/cli/chunks/memory-backend-NOYRJTBH.js +2 -0
  190. package/dist/cli/chunks/{memory-handlers-LN7J33BW.js → memory-handlers-YEQ4LSIX.js} +2 -2
  191. package/dist/cli/chunks/{multi-model-executor-5LK2OUJ7.js → multi-model-executor-Z74ALKIH.js} +2 -2
  192. package/dist/cli/chunks/{opencode-installer-FY7QUQ3U.js → opencode-installer-2NICPXQZ.js} +2 -2
  193. package/dist/cli/chunks/{orchestrator-UYVNXY2H.js → orchestrator-ZPVU3M4M.js} +5 -5
  194. package/dist/cli/chunks/{pipeline-ZALCCJ2O.js → pipeline-B55E7S5P.js} +2 -2
  195. package/dist/cli/chunks/{platform-J2VZO4PZ.js → platform-6FY6335Y.js} +2 -2
  196. package/dist/cli/chunks/{plugin-2J74277Q.js → plugin-F23VOSIL.js} +2 -2
  197. package/dist/cli/chunks/{prime-radiant-advanced-wasm-XUBMJ4Z5.js → prime-radiant-advanced-wasm-LL7WPCNW.js} +2 -2
  198. package/dist/cli/chunks/protocol-executor-OL36TRHK.js +2 -0
  199. package/dist/cli/chunks/{protocol-handler-YGOAM45F.js → protocol-handler-JWPPGEUR.js} +2 -2
  200. package/dist/cli/chunks/{prove-7K3XVHHK.js → prove-S4PD63BK.js} +2 -2
  201. package/dist/cli/chunks/{provider-manager-S7GYXNYK.js → provider-manager-R7YYUTO3.js} +2 -2
  202. package/dist/cli/chunks/qe-reasoning-bank-C4QW56VE.js +2 -0
  203. package/dist/cli/chunks/{quality-7WK5BINE.js → quality-UIG6G2BR.js} +2 -2
  204. package/dist/cli/chunks/queen-coordinator-FDDIA6BW.js +2 -0
  205. package/dist/cli/chunks/{real-embeddings-SE7AMRSP.js → real-embeddings-7GJEWY4C.js} +2 -2
  206. package/dist/cli/chunks/{roocode-installer-WAMTTOPL.js → roocode-installer-Y5YVCVVS.js} +2 -2
  207. package/dist/cli/chunks/router-RRKX62UE.js +2 -0
  208. package/dist/cli/chunks/routing-feedback-NRJJVC35.js +2 -0
  209. package/dist/cli/chunks/{routing-handler-PMHQRA32.js → routing-handler-YFBT7LZH.js} +2 -2
  210. package/dist/cli/chunks/{ruvector-commands-GFL76O4H.js → ruvector-commands-7WCRMBWZ.js} +2 -2
  211. package/dist/cli/chunks/{rvf-dual-writer-GWBC6LPL.js → rvf-dual-writer-PPZ5AVFW.js} +2 -2
  212. package/dist/cli/chunks/{rvf-migration-adapter-CXIG3BWR.js → rvf-migration-adapter-SVW4AKVC.js} +2 -2
  213. package/dist/cli/chunks/{rvf-migration-coordinator-EOQMTSCT.js → rvf-migration-coordinator-TNCPU743.js} +2 -2
  214. package/dist/cli/chunks/rvf-native-adapter-TQLQYN7Y.js +2 -0
  215. package/dist/cli/chunks/safe-db-COFZGOYL.js +2 -0
  216. package/dist/cli/chunks/schedule-QAMKOCVJ.js +2 -0
  217. package/dist/cli/chunks/scheduler-RFETEEGY.js +2 -0
  218. package/dist/cli/chunks/{security-TUU4SO7E.js → security-22YXZGU3.js} +3 -3
  219. package/dist/cli/chunks/shared-rvf-adapter-QNA66NKB.js +2 -0
  220. package/dist/cli/chunks/{shared-rvf-dual-writer-REFYUOL6.js → shared-rvf-dual-writer-Q5OSQNW5.js} +2 -2
  221. package/dist/cli/chunks/sqlite-persistence-43TV2RI3.js +2 -0
  222. package/dist/cli/chunks/{status-handler-V3FJKB72.js → status-handler-CTEEZTVQ.js} +2 -2
  223. package/dist/cli/chunks/{structural-health-YS2IIXLZ.js → structural-health-S72DLFPZ.js} +2 -2
  224. package/dist/cli/chunks/{sync-K5GEHWLO.js → sync-2AJ5S27F.js} +2 -2
  225. package/dist/cli/chunks/{task-handler-XPCZ2JHK.js → task-handler-XQCQAUM3.js} +2 -2
  226. package/dist/cli/chunks/{task-handlers-JTL52AMR.js → task-handlers-U6DXLSYJ.js} +3 -3
  227. package/dist/cli/chunks/{test-5FJNVFGF.js → test-K7C4CWFH.js} +4 -4
  228. package/dist/cli/chunks/{test-scheduling-JPL25DXR.js → test-scheduling-WQBR6C3V.js} +3 -3
  229. package/dist/cli/chunks/{token-bootstrap-QPFQ4UAT.js → token-bootstrap-IRZHAD7N.js} +2 -2
  230. package/dist/cli/chunks/{token-usage-MVT2IZ5R.js → token-usage-DIK6QRD5.js} +2 -2
  231. package/dist/cli/chunks/{transformers-ZXK7QT3Z.js → transformers-RPUPJLSR.js} +2 -2
  232. package/dist/cli/chunks/{tree-sitter-wasm-parser-VBZAQFTO.js → tree-sitter-wasm-parser-A45KH4YZ.js} +2 -2
  233. package/dist/cli/chunks/{types-UQCZMHTU.js → types-LO5DGIJC.js} +2 -2
  234. package/dist/cli/chunks/unified-memory-VSSMXGHP.js +2 -0
  235. package/dist/cli/chunks/unified-memory-hnsw-ZV324XYA.js +2 -0
  236. package/dist/cli/chunks/unified-persistence-EE2UVIXW.js +2 -0
  237. package/dist/cli/chunks/{upgrade-TETHVGBS.js → upgrade-QZNMQOBY.js} +2 -2
  238. package/dist/cli/chunks/{validate-7YJTPQC7.js → validate-675K5FDZ.js} +2 -2
  239. package/dist/cli/chunks/{validate-swarm-QO32GODJ.js → validate-swarm-TJXJFTT4.js} +2 -2
  240. package/dist/cli/chunks/{vibium-HDRQBZAY.js → vibium-2FFU5KPE.js} +2 -2
  241. package/dist/cli/chunks/visual-security-LWH7LME7.js +2 -0
  242. package/dist/cli/chunks/{web-tree-sitter-4QMH7RWP.js → web-tree-sitter-VX55VO25.js} +2 -2
  243. package/dist/cli/chunks/{windsurf-installer-HMBCR4V3.js → windsurf-installer-A7FNN7RB.js} +2 -2
  244. package/dist/cli/chunks/witness-chain-3YAV5SLZ.js +2 -0
  245. package/dist/cli/chunks/{witness-chain-2SYYDES4.js → witness-chain-QLIBCLCH.js} +2 -2
  246. package/dist/cli/chunks/{workflow-CNFOBA7L.js → workflow-LQDA5VYM.js} +4 -4
  247. package/dist/cli/chunks/workflow-orchestrator-4UG2CNYN.js +2 -0
  248. package/dist/cli/chunks/{wrappers-5KG5VXFG.js → wrappers-KE6AZMO6.js} +2 -2
  249. package/dist/cli/commands/fleet.js +2 -0
  250. package/dist/cli/handlers/init-handler.js +2 -0
  251. package/dist/cli/index.js +3 -0
  252. package/dist/kernel/interfaces.d.ts +14 -0
  253. package/dist/kernel/kernel.js +32 -11
  254. package/dist/mcp/bundle.js +3 -3
  255. package/package.json +1 -1
  256. package/dist/cli/chunks/adapter-T3LXVVV6.js +0 -2
  257. package/dist/cli/chunks/aqe-learning-engine-NDMVUAJB.js +0 -2
  258. package/dist/cli/chunks/base-NQRD32GI.js +0 -2
  259. package/dist/cli/chunks/browser-workflow-WSAEHMFE.js +0 -2
  260. package/dist/cli/chunks/chunk-ZGJTIDFI.js +0 -2
  261. package/dist/cli/chunks/client-XZQV5LLD.js +0 -2
  262. package/dist/cli/chunks/cross-domain-router-FTKMTQQC.js +0 -2
  263. package/dist/cli/chunks/dream-RB4NFA6Z.js +0 -2
  264. package/dist/cli/chunks/hnsw-adapter-ZKM2ITVF.js +0 -2
  265. package/dist/cli/chunks/hnsw-index-CFYACM4M.js +0 -2
  266. package/dist/cli/chunks/impact-analyzer-DOLCGJKR.js +0 -2
  267. package/dist/cli/chunks/init-wizard-BMYBCQNH.js +0 -2
  268. package/dist/cli/chunks/kernel-FUWIWNAU.js +0 -2
  269. package/dist/cli/chunks/knowledge-graph-JFX7VTYG.js +0 -2
  270. package/dist/cli/chunks/load-test-5J6WURNM.js +0 -2
  271. package/dist/cli/chunks/memory-backend-SLFDDGZB.js +0 -2
  272. package/dist/cli/chunks/protocol-executor-3T2LU2YQ.js +0 -2
  273. package/dist/cli/chunks/qe-reasoning-bank-KPX2L7ZZ.js +0 -2
  274. package/dist/cli/chunks/queen-coordinator-G7ZZKP7M.js +0 -2
  275. package/dist/cli/chunks/router-UNMP4QIG.js +0 -2
  276. package/dist/cli/chunks/routing-feedback-OG5NUKZD.js +0 -2
  277. package/dist/cli/chunks/rvf-native-adapter-EPXU4UUM.js +0 -2
  278. package/dist/cli/chunks/safe-db-BYZRI4XX.js +0 -2
  279. package/dist/cli/chunks/schedule-Z4ICJMF6.js +0 -2
  280. package/dist/cli/chunks/scheduler-T4IIRLST.js +0 -2
  281. package/dist/cli/chunks/shared-rvf-adapter-FDAQL677.js +0 -2
  282. package/dist/cli/chunks/sqlite-persistence-SNTM6622.js +0 -2
  283. package/dist/cli/chunks/unified-memory-RL5XRRVQ.js +0 -2
  284. package/dist/cli/chunks/unified-memory-hnsw-FMHZ5TCH.js +0 -2
  285. package/dist/cli/chunks/unified-persistence-GI5NFSWC.js +0 -2
  286. package/dist/cli/chunks/visual-security-TARFNARP.js +0 -2
  287. package/dist/cli/chunks/witness-chain-U36QGK2S.js +0 -2
  288. package/dist/cli/chunks/workflow-orchestrator-WILFC5ES.js +0 -2
@@ -1,5 +1,5 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.27");process.exit(0)}
2
- import{a as T}from"./chunk-ZGJTIDFI.js";import{c as S}from"./chunk-XFDOE4QW.js";import{b as C,d as P}from"./chunk-PIR3KN5M.js";import{a as w,c as $}from"./chunk-WHI7FVTH.js";import{a as b,d as M}from"./chunk-2J3B4ONK.js";$();M();import{randomUUID as D}from"crypto";var x={topology:"hierarchical",maxConcurrentSkills:10,maxConcurrentModels:3,timeout:3e5,continueOnFailure:!0,retry:{maxRetries:2,retryDelayMs:1e3}},R=class{config;learner;skillValidator=null;workers=new Map;taskQueue=[];isRunning=!1;constructor(e,t){this.config={...x,...e},this.learner=t}setSkillValidator(e){this.skillValidator=e}async validateSkillsParallel(e,t,i){let s=Date.now(),a=i?.trustTier??3,n=i?.validationLevel??"eval",c=this.determineTopology(e.length,t.length),r=this.createValidationTasks(e,t,a,n),o=await this.executeTasksParallel(r,c),l=new Map;for(let u of o){let p=l.get(u.skill)||[];p.push(u),l.set(u.skill,p)}return await this.recordOutcomesToLearner(o,a,n),l}async validateSkillCrossModel(e,t,i){return(await this.validateSkillsParallel([e],t,i)).get(e)||[]}getSummary(e){let t=[],i=new Map,s=new Map;for(let[c,r]of e){i.set(c,r);for(let o of r){t.push(o);let l=s.get(o.model)||[];l.push(o),s.set(o.model,l)}}let a=t.filter(c=>c.errors.length===0&&c.evalPassRate>=.9).length,n=t.reduce((c,r)=>c+r.durationMs,0);return{totalSkills:i.size,totalModels:s.size,successCount:a,failureCount:t.length-a,overallPassRate:t.length>0?a/t.length:0,totalDurationMs:n,avgDurationMs:t.length>0?n/t.length:0,topology:this.config.topology,bySkill:i,byModel:s,results:t}}determineTopology(e,t){if(this.config.topology){let i=e*t;return i>20&&this.config.topology==="mesh"&&console.warn(`[SwarmSkillValidator] Large workload (${i} tasks) may be more efficient with hierarchical topology`),this.config.topology}return e>5||e>t*2?"hierarchical":t>5&&e<=3?"mesh":"hierarchical"}createValidationTasks(e,t,i,s){let a=[];for(let n of e)for(let c of t)a.push({id:`${n}-${c}-${Date.now()}-${D().slice(0,8)}`,skill:n,model:c,trustTier:i,validationLevel:s,timeout:this.config.timeout,retryCount:0});return a}async executeTasksParallel(e,t){this.isRunning=!0,this.taskQueue=[...e];let i=[],s=t==="hierarchical"?this.config.maxConcurrentSkills:Math.min(this.config.maxConcurrentSkills*this.config.maxConcurrentModels,e.length),a=[];for(let n=0;n<Math.min(s,e.length);n++){let c=`worker-${n}`;this.workers.set(c,{id:c,task:null,status:"idle"}),a.push(this.runWorker(c,i))}return await Promise.all(a),this.isRunning=!1,this.workers.clear(),i}async runWorker(e,t){let i=this.workers.get(e);if(i){for(;this.taskQueue.length>0&&this.isRunning;){let s=this.taskQueue.shift();if(!s)break;i.task=s,i.status="running",i.startTime=Date.now();try{let a=await this.executeValidationTask(s);t.push(a),i.result=a,i.status="completed"}catch(a){let n=this.createErrorResult(s,a);this.config.retry&&s.retryCount<this.config.retry.maxRetries&&this.config.continueOnFailure?(s.retryCount++,this.taskQueue.push(s),await this.delay(this.config.retry.retryDelayMs)):(t.push(n),i.result=n,i.status="failed")}}i.task=null,i.status="idle"}}async executeValidationTask(e){let t=Date.now();if(!this.skillValidator)return this.createSimulatedResult(e,t);let i=new Promise((n,c)=>{setTimeout(()=>c(new Error(`Validation timeout after ${e.timeout}ms`)),e.timeout)}),s=await Promise.race([this.skillValidator(e.skill,e.model,{trustTier:e.trustTier,validationLevel:e.validationLevel,timeout:e.timeout}),i]),a=Date.now()-t;return this.outcomeToResult(s,e,a)}outcomeToResult(e,t,i){let s=e.testCaseResults.filter(c=>c.passed).length,a=e.testCaseResults.length,n=a>0?s/a:e.score;return{skill:t.skill,model:t.model,schemaValid:e.validationLevel!=="schema"||e.passed,validatorPassed:e.validationLevel!=="validator"||e.passed,evalPassRate:n,durationMs:i,errors:e.passed?[]:["Validation failed"],trustTier:t.trustTier,validationLevel:t.validationLevel,retryCount:t.retryCount,timestamp:new Date}}createSimulatedResult(e,t){let i=Date.now()-t+b()*100,s=.85+b()*.15;return{skill:e.skill,model:e.model,schemaValid:!0,validatorPassed:s>.8,evalPassRate:s,durationMs:i,errors:s>.8?[]:["Simulated validation failure"],trustTier:e.trustTier,validationLevel:e.validationLevel,retryCount:e.retryCount,timestamp:new Date}}createErrorResult(e,t){let i=w(t);return{skill:e.skill,model:e.model,schemaValid:!1,validatorPassed:!1,evalPassRate:0,durationMs:0,errors:[i],trustTier:e.trustTier,validationLevel:e.validationLevel,retryCount:e.retryCount,timestamp:new Date}}async recordOutcomesToLearner(e,t,i){for(let s of e){let a={skillName:s.skill,trustTier:s.trustTier||t,validationLevel:s.validationLevel||i,model:s.model,passed:s.errors.length===0&&s.evalPassRate>=.9,score:s.evalPassRate,testCaseResults:this.createTestCaseResults(s),timestamp:s.timestamp,runId:`swarm-${Date.now()}`,metadata:{duration:s.durationMs,retryCount:s.retryCount}};await this.learner.recordValidationOutcome(a)}}createTestCaseResults(e){return[{testId:`${e.skill}-${e.model}-aggregate`,passed:e.errors.length===0,expectedPatterns:["valid-output"],actualPatterns:e.errors.length===0?["valid-output"]:[],reasoningQuality:e.evalPassRate,executionTimeMs:e.durationMs,category:"swarm-validation",priority:"high",error:e.errors.length>0?e.errors.join("; "):void 0}]}delay(e){return new Promise(t=>setTimeout(t,e))}getConfig(){return{...this.config}}isValidationRunning(){return this.isRunning}getWorkerStatus(){return Array.from(this.workers.values())}cancel(){this.isRunning=!1,this.taskQueue=[]}};function A(y,e){return new R(y,e)}var F=["security-testing","accessibility-testing","api-testing","performance-testing","visual-regression-testing","mutation-testing","contract-testing","chaos-testing","compliance-testing","penetration-testing"],I=["claude-sonnet","claude-haiku","claude-opus"];P();import{readFileSync as L,writeFileSync as E,existsSync as N}from"fs";var O={varianceThreshold:.04,regressionThreshold:.1,minSamples:3,autoUpdateManifest:!1},k=class{constructor(e,t,i={}){this.learner=e;this.manifestPath=t;this.config={...O,...i}}learner;manifestPath;config;async aggregateResults(e){let t=`agg-${Date.now()}`,i=new Date,s=this.buildSkillResultsMap(e),a=this.calculateSummary(s,e),n=await this.detectCrossModelAnomalies(e),c=await this.detectRegressions(e,this.config.regressionThreshold),r=this.generateRecommendations(s,n,c),o={timestamp:i,runId:t,summary:a,skillResults:s,crossModelAnalysis:n,regressions:c,recommendations:r,metadata:{version:"1.0.0",environment:e[0]?.metadata?.environment,generatedBy:"ValidationResultAggregator",inputs:{runIds:e.map(l=>l.runId),models:[...new Set(e.map(l=>l.model))]}}};return this.config.autoUpdateManifest&&await this.updateManifest(o),o}buildSkillResultsMap(e){let t=new Map;for(let i of e)for(let s of i.outcomes){let a=s.skillName;t.has(a)||t.set(a,{skill:a,trustTier:s.trustTier,passRateByModel:new Map,avgPassRate:0,schemaValid:!0,validatorPassed:!0,evalPassed:!0,issues:[],executionTimeMs:0,testCount:0,passedTests:0,failedTests:0});let n=t.get(a),c=s.testCaseResults.filter(r=>r.passed).length/(s.testCaseResults.length||1);n.passRateByModel.set(i.model,c),n.testCount+=s.testCaseResults.length,n.passedTests+=s.testCaseResults.filter(r=>r.passed).length,n.failedTests+=s.testCaseResults.filter(r=>!r.passed).length,n.executionTimeMs+=s.metadata?.duration||0,s.validationLevel==="schema"&&!s.passed&&(n.schemaValid=!1),s.validationLevel==="validator"&&!s.passed&&(n.validatorPassed=!1),s.validationLevel==="eval"&&!s.passed&&(n.evalPassed=!1);for(let r of s.testCaseResults)!r.passed&&r.error&&n.issues.push({skill:a,model:i.model,severity:r.priority==="critical"?"critical":r.priority==="high"?"high":r.priority==="medium"?"medium":"low",type:this.categorizeIssueType(s.validationLevel,r.error),message:r.error,testId:r.testId})}for(let i of t.values()){let s=Array.from(i.passRateByModel.values());i.avgPassRate=s.length>0?s.reduce((a,n)=>a+n,0)/s.length:0}return t}categorizeIssueType(e,t){return t.toLowerCase().includes("timeout")?"timeout":e==="schema"?"schema_failure":e==="validator"?"validator_failure":e==="eval"?"eval_failure":"error"}calculateSummary(e,t){let i=Array.from(e.values()),s=i.filter(n=>n.avgPassRate>=.9).length,a=i.length>0?i.reduce((n,c)=>n+c.avgPassRate,0)/i.length:0;return{totalSkills:i.length,passedSkills:s,failedSkills:i.length-s,avgPassRate:a,totalDurationMs:t.reduce((n,c)=>n+c.durationMs,0),totalTests:i.reduce((n,c)=>n+c.testCount,0),passedTests:i.reduce((n,c)=>n+c.passedTests,0),failedTests:i.reduce((n,c)=>n+c.failedTests,0),modelsUsed:[...new Set(t.map(n=>n.model))]}}async detectCrossModelAnomalies(e){let t=new Map,i=new Map,s=new Map;for(let d of e){t.has(d.model)||(t.set(d.model,[]),i.set(d.model,{totalTests:0,passedTests:0,skillCount:0}));for(let g of d.outcomes){let h=g.testCaseResults.filter(m=>m.passed).length/(g.testCaseResults.length||1);t.get(d.model).push(h);let f=i.get(d.model);f.totalTests+=g.testCaseResults.length,f.passedTests+=g.testCaseResults.filter(m=>m.passed).length,f.skillCount++,s.has(g.skillName)||s.set(g.skillName,{passRates:[],models:[]}),s.get(g.skillName).passRates.push(h),s.get(g.skillName).models.push(d.model)}}let a=[];for(let d of t.values())a.push(...d);let n=a.length>0?a.reduce((d,g)=>d+g,0)/a.length:0,c=a.length>1?a.reduce((d,g)=>d+Math.pow(g-n,2),0)/a.length:0,r=Math.sqrt(c),o=[],l=new Map;for(let[d,g]of t.entries()){let h=g.reduce((v,V)=>v+V,0)/g.length,f=h-n,m=i.get(d);l.set(d,{avgPassRate:h,skillCount:m.skillCount,totalTests:m.totalTests}),Math.abs(f)>this.config.varianceThreshold*2&&o.push({model:d,type:f<0?"low_performance":"high_variance",description:`Model ${d} has ${(f*100).toFixed(1)}% difference from average`,passRate:h,avgPassRate:n,deviation:Math.abs(f)})}let u=[],p=[];for(let[d,g]of s.entries()){if(g.passRates.length<2)continue;let h=g.passRates.reduce((m,v)=>m+v,0)/g.passRates.length;g.passRates.reduce((m,v)=>m+Math.pow(v-h,2),0)/g.passRates.length<this.config.varianceThreshold?u.push(d):p.push(d)}return{variance:c,stdDeviation:r,anomalies:o,consistentSkills:u,inconsistentSkills:p,modelPerformance:l}}async detectRegressions(e,t){let i=[],s=new Set;for(let a of e)for(let n of a.outcomes){let c=`${n.skillName}-${a.model}`;if(s.has(c))continue;s.add(c);let r=await this.learner.getValidationTrends(n.skillName);if(!r)continue;let o=n.testCaseResults.filter(p=>p.passed).length/(n.testCaseResults.length||1),l=r.recentPassRate,u=l-o;u>=t&&i.push({skill:n.skillName,model:a.model,previousPassRate:l,currentPassRate:o,regressionAmount:u,trend:r.overall,possibleCauses:this.analyzePossibleCauses(n,u),severity:this.categorizeRegressionSeverity(u)})}return i.sort((a,n)=>{let c={critical:0,high:1,medium:2,low:3},r=c[a.severity]-c[n.severity];return r!==0?r:n.regressionAmount-a.regressionAmount})}analyzePossibleCauses(e,t){let i=[],s=e.testCaseResults.filter(c=>!c.passed);if(s.length>0){let c=[...new Set(s.map(r=>r.category).filter(Boolean))];c.length>0&&i.push(`Failures in categories: ${c.join(", ")}`)}let a=s.filter(c=>c.priority==="critical");a.length>0&&i.push(`${a.length} critical test(s) failing`);let n=e.testCaseResults.reduce((c,r)=>c+r.reasoningQuality,0)/(e.testCaseResults.length||1);return n<.7&&i.push(`Low reasoning quality score: ${(n*100).toFixed(1)}%`),t>.3&&i.push("Possible model behavior change or prompt drift"),i.length===0&&i.push("No specific cause identified - review test details"),i}categorizeRegressionSeverity(e){return e>=.5?"critical":e>=.3?"high":e>=.15?"medium":"low"}generateRecommendations(e,t,i){let s=[];if(t.inconsistentSkills.length>0&&s.push(`Review ${t.inconsistentSkills.length} skills with inconsistent cross-model behavior: `+t.inconsistentSkills.slice(0,3).join(", ")+(t.inconsistentSkills.length>3?` and ${t.inconsistentSkills.length-3} more`:"")),t.anomalies.some(r=>r.type==="low_performance")){let r=t.anomalies.filter(o=>o.type==="low_performance").map(o=>o.model);s.push(`Investigate low performance on model(s): ${r.join(", ")}`)}let a=i.filter(r=>r.severity==="critical");a.length>0&&s.push(`URGENT: ${a.length} critical regression(s) detected - immediate review required`);let n=Array.from(e.values()).filter(r=>r.avgPassRate<.9);if(n.length>0){let r=n.filter(l=>!l.schemaValid),o=n.filter(l=>!l.validatorPassed);r.length>0&&s.push(`Fix schema validation for: ${r.map(l=>l.skill).slice(0,3).join(", ")}`),o.length>0&&s.push(`Review validator scripts for: ${o.map(l=>l.skill).slice(0,3).join(", ")}`)}return Array.from(e.values()).reduce((r,o)=>r+o.avgPassRate,0)/e.size<.8&&s.push("Overall pass rate below 80% - consider reviewing skill definitions and test expectations"),s.length===0&&s.push("All validations passing - no immediate action required"),s}async updateManifest(e){if(!N(this.manifestPath))throw new Error(`Manifest file not found: ${this.manifestPath}`);let t=C(L(this.manifestPath,"utf-8"));for(let[s,a]of e.skillResults.entries())if(t.skills&&t.skills[s]){let n=t.skills[s];n.validation||(n.validation={}),n.validation.passRate=a.avgPassRate,n.validation.lastValidated=e.timestamp.toISOString(),n.validation.status=a.avgPassRate>=.9?"passing":"failing",n.validation.passRateByModel=Object.fromEntries(a.passRateByModel)}let i=Array.from(e.skillResults.values());t.validationStatus={passing:i.filter(s=>s.avgPassRate>=.9).length,failing:i.filter(s=>s.avgPassRate<.9).length,unknown:0,skipped:t.summary?.tier0||0},t.generatedAt=new Date().toISOString(),t.lastValidationRun={runId:e.runId,timestamp:e.timestamp.toISOString(),avgPassRate:e.summary.avgPassRate,modelsUsed:e.summary.modelsUsed},E(this.manifestPath,JSON.stringify(t,null,2))}generateMarkdownReport(e){let{summary:t,crossModelAnalysis:i,regressions:s,recommendations:a,skillResults:n}=e,c=(t.avgPassRate>=.9||t.avgPassRate>=.7,"`"),r=[];if(r.push(`# Validation Report
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.29");process.exit(0)}
2
+ import{a as T}from"./chunk-6ZJROHI3.js";import{c as S}from"./chunk-LPSIKIE2.js";import{b as C,d as P}from"./chunk-CZEQFAKE.js";import{a as w,c as $}from"./chunk-LIEKDXTS.js";import{a as b,d as M}from"./chunk-PYAITX6B.js";$();M();import{randomUUID as D}from"crypto";var x={topology:"hierarchical",maxConcurrentSkills:10,maxConcurrentModels:3,timeout:3e5,continueOnFailure:!0,retry:{maxRetries:2,retryDelayMs:1e3}},R=class{config;learner;skillValidator=null;workers=new Map;taskQueue=[];isRunning=!1;constructor(e,t){this.config={...x,...e},this.learner=t}setSkillValidator(e){this.skillValidator=e}async validateSkillsParallel(e,t,i){let s=Date.now(),a=i?.trustTier??3,n=i?.validationLevel??"eval",c=this.determineTopology(e.length,t.length),r=this.createValidationTasks(e,t,a,n),o=await this.executeTasksParallel(r,c),l=new Map;for(let u of o){let p=l.get(u.skill)||[];p.push(u),l.set(u.skill,p)}return await this.recordOutcomesToLearner(o,a,n),l}async validateSkillCrossModel(e,t,i){return(await this.validateSkillsParallel([e],t,i)).get(e)||[]}getSummary(e){let t=[],i=new Map,s=new Map;for(let[c,r]of e){i.set(c,r);for(let o of r){t.push(o);let l=s.get(o.model)||[];l.push(o),s.set(o.model,l)}}let a=t.filter(c=>c.errors.length===0&&c.evalPassRate>=.9).length,n=t.reduce((c,r)=>c+r.durationMs,0);return{totalSkills:i.size,totalModels:s.size,successCount:a,failureCount:t.length-a,overallPassRate:t.length>0?a/t.length:0,totalDurationMs:n,avgDurationMs:t.length>0?n/t.length:0,topology:this.config.topology,bySkill:i,byModel:s,results:t}}determineTopology(e,t){if(this.config.topology){let i=e*t;return i>20&&this.config.topology==="mesh"&&console.warn(`[SwarmSkillValidator] Large workload (${i} tasks) may be more efficient with hierarchical topology`),this.config.topology}return e>5||e>t*2?"hierarchical":t>5&&e<=3?"mesh":"hierarchical"}createValidationTasks(e,t,i,s){let a=[];for(let n of e)for(let c of t)a.push({id:`${n}-${c}-${Date.now()}-${D().slice(0,8)}`,skill:n,model:c,trustTier:i,validationLevel:s,timeout:this.config.timeout,retryCount:0});return a}async executeTasksParallel(e,t){this.isRunning=!0,this.taskQueue=[...e];let i=[],s=t==="hierarchical"?this.config.maxConcurrentSkills:Math.min(this.config.maxConcurrentSkills*this.config.maxConcurrentModels,e.length),a=[];for(let n=0;n<Math.min(s,e.length);n++){let c=`worker-${n}`;this.workers.set(c,{id:c,task:null,status:"idle"}),a.push(this.runWorker(c,i))}return await Promise.all(a),this.isRunning=!1,this.workers.clear(),i}async runWorker(e,t){let i=this.workers.get(e);if(i){for(;this.taskQueue.length>0&&this.isRunning;){let s=this.taskQueue.shift();if(!s)break;i.task=s,i.status="running",i.startTime=Date.now();try{let a=await this.executeValidationTask(s);t.push(a),i.result=a,i.status="completed"}catch(a){let n=this.createErrorResult(s,a);this.config.retry&&s.retryCount<this.config.retry.maxRetries&&this.config.continueOnFailure?(s.retryCount++,this.taskQueue.push(s),await this.delay(this.config.retry.retryDelayMs)):(t.push(n),i.result=n,i.status="failed")}}i.task=null,i.status="idle"}}async executeValidationTask(e){let t=Date.now();if(!this.skillValidator)return this.createSimulatedResult(e,t);let i=new Promise((n,c)=>{setTimeout(()=>c(new Error(`Validation timeout after ${e.timeout}ms`)),e.timeout)}),s=await Promise.race([this.skillValidator(e.skill,e.model,{trustTier:e.trustTier,validationLevel:e.validationLevel,timeout:e.timeout}),i]),a=Date.now()-t;return this.outcomeToResult(s,e,a)}outcomeToResult(e,t,i){let s=e.testCaseResults.filter(c=>c.passed).length,a=e.testCaseResults.length,n=a>0?s/a:e.score;return{skill:t.skill,model:t.model,schemaValid:e.validationLevel!=="schema"||e.passed,validatorPassed:e.validationLevel!=="validator"||e.passed,evalPassRate:n,durationMs:i,errors:e.passed?[]:["Validation failed"],trustTier:t.trustTier,validationLevel:t.validationLevel,retryCount:t.retryCount,timestamp:new Date}}createSimulatedResult(e,t){let i=Date.now()-t+b()*100,s=.85+b()*.15;return{skill:e.skill,model:e.model,schemaValid:!0,validatorPassed:s>.8,evalPassRate:s,durationMs:i,errors:s>.8?[]:["Simulated validation failure"],trustTier:e.trustTier,validationLevel:e.validationLevel,retryCount:e.retryCount,timestamp:new Date}}createErrorResult(e,t){let i=w(t);return{skill:e.skill,model:e.model,schemaValid:!1,validatorPassed:!1,evalPassRate:0,durationMs:0,errors:[i],trustTier:e.trustTier,validationLevel:e.validationLevel,retryCount:e.retryCount,timestamp:new Date}}async recordOutcomesToLearner(e,t,i){for(let s of e){let a={skillName:s.skill,trustTier:s.trustTier||t,validationLevel:s.validationLevel||i,model:s.model,passed:s.errors.length===0&&s.evalPassRate>=.9,score:s.evalPassRate,testCaseResults:this.createTestCaseResults(s),timestamp:s.timestamp,runId:`swarm-${Date.now()}`,metadata:{duration:s.durationMs,retryCount:s.retryCount}};await this.learner.recordValidationOutcome(a)}}createTestCaseResults(e){return[{testId:`${e.skill}-${e.model}-aggregate`,passed:e.errors.length===0,expectedPatterns:["valid-output"],actualPatterns:e.errors.length===0?["valid-output"]:[],reasoningQuality:e.evalPassRate,executionTimeMs:e.durationMs,category:"swarm-validation",priority:"high",error:e.errors.length>0?e.errors.join("; "):void 0}]}delay(e){return new Promise(t=>setTimeout(t,e))}getConfig(){return{...this.config}}isValidationRunning(){return this.isRunning}getWorkerStatus(){return Array.from(this.workers.values())}cancel(){this.isRunning=!1,this.taskQueue=[]}};function A(y,e){return new R(y,e)}var F=["security-testing","accessibility-testing","api-testing","performance-testing","visual-regression-testing","mutation-testing","contract-testing","chaos-testing","compliance-testing","penetration-testing"],I=["claude-sonnet","claude-haiku","claude-opus"];P();import{readFileSync as L,writeFileSync as E,existsSync as N}from"fs";var O={varianceThreshold:.04,regressionThreshold:.1,minSamples:3,autoUpdateManifest:!1},k=class{constructor(e,t,i={}){this.learner=e;this.manifestPath=t;this.config={...O,...i}}learner;manifestPath;config;async aggregateResults(e){let t=`agg-${Date.now()}`,i=new Date,s=this.buildSkillResultsMap(e),a=this.calculateSummary(s,e),n=await this.detectCrossModelAnomalies(e),c=await this.detectRegressions(e,this.config.regressionThreshold),r=this.generateRecommendations(s,n,c),o={timestamp:i,runId:t,summary:a,skillResults:s,crossModelAnalysis:n,regressions:c,recommendations:r,metadata:{version:"1.0.0",environment:e[0]?.metadata?.environment,generatedBy:"ValidationResultAggregator",inputs:{runIds:e.map(l=>l.runId),models:[...new Set(e.map(l=>l.model))]}}};return this.config.autoUpdateManifest&&await this.updateManifest(o),o}buildSkillResultsMap(e){let t=new Map;for(let i of e)for(let s of i.outcomes){let a=s.skillName;t.has(a)||t.set(a,{skill:a,trustTier:s.trustTier,passRateByModel:new Map,avgPassRate:0,schemaValid:!0,validatorPassed:!0,evalPassed:!0,issues:[],executionTimeMs:0,testCount:0,passedTests:0,failedTests:0});let n=t.get(a),c=s.testCaseResults.filter(r=>r.passed).length/(s.testCaseResults.length||1);n.passRateByModel.set(i.model,c),n.testCount+=s.testCaseResults.length,n.passedTests+=s.testCaseResults.filter(r=>r.passed).length,n.failedTests+=s.testCaseResults.filter(r=>!r.passed).length,n.executionTimeMs+=s.metadata?.duration||0,s.validationLevel==="schema"&&!s.passed&&(n.schemaValid=!1),s.validationLevel==="validator"&&!s.passed&&(n.validatorPassed=!1),s.validationLevel==="eval"&&!s.passed&&(n.evalPassed=!1);for(let r of s.testCaseResults)!r.passed&&r.error&&n.issues.push({skill:a,model:i.model,severity:r.priority==="critical"?"critical":r.priority==="high"?"high":r.priority==="medium"?"medium":"low",type:this.categorizeIssueType(s.validationLevel,r.error),message:r.error,testId:r.testId})}for(let i of t.values()){let s=Array.from(i.passRateByModel.values());i.avgPassRate=s.length>0?s.reduce((a,n)=>a+n,0)/s.length:0}return t}categorizeIssueType(e,t){return t.toLowerCase().includes("timeout")?"timeout":e==="schema"?"schema_failure":e==="validator"?"validator_failure":e==="eval"?"eval_failure":"error"}calculateSummary(e,t){let i=Array.from(e.values()),s=i.filter(n=>n.avgPassRate>=.9).length,a=i.length>0?i.reduce((n,c)=>n+c.avgPassRate,0)/i.length:0;return{totalSkills:i.length,passedSkills:s,failedSkills:i.length-s,avgPassRate:a,totalDurationMs:t.reduce((n,c)=>n+c.durationMs,0),totalTests:i.reduce((n,c)=>n+c.testCount,0),passedTests:i.reduce((n,c)=>n+c.passedTests,0),failedTests:i.reduce((n,c)=>n+c.failedTests,0),modelsUsed:[...new Set(t.map(n=>n.model))]}}async detectCrossModelAnomalies(e){let t=new Map,i=new Map,s=new Map;for(let d of e){t.has(d.model)||(t.set(d.model,[]),i.set(d.model,{totalTests:0,passedTests:0,skillCount:0}));for(let g of d.outcomes){let h=g.testCaseResults.filter(m=>m.passed).length/(g.testCaseResults.length||1);t.get(d.model).push(h);let f=i.get(d.model);f.totalTests+=g.testCaseResults.length,f.passedTests+=g.testCaseResults.filter(m=>m.passed).length,f.skillCount++,s.has(g.skillName)||s.set(g.skillName,{passRates:[],models:[]}),s.get(g.skillName).passRates.push(h),s.get(g.skillName).models.push(d.model)}}let a=[];for(let d of t.values())a.push(...d);let n=a.length>0?a.reduce((d,g)=>d+g,0)/a.length:0,c=a.length>1?a.reduce((d,g)=>d+Math.pow(g-n,2),0)/a.length:0,r=Math.sqrt(c),o=[],l=new Map;for(let[d,g]of t.entries()){let h=g.reduce((v,V)=>v+V,0)/g.length,f=h-n,m=i.get(d);l.set(d,{avgPassRate:h,skillCount:m.skillCount,totalTests:m.totalTests}),Math.abs(f)>this.config.varianceThreshold*2&&o.push({model:d,type:f<0?"low_performance":"high_variance",description:`Model ${d} has ${(f*100).toFixed(1)}% difference from average`,passRate:h,avgPassRate:n,deviation:Math.abs(f)})}let u=[],p=[];for(let[d,g]of s.entries()){if(g.passRates.length<2)continue;let h=g.passRates.reduce((m,v)=>m+v,0)/g.passRates.length;g.passRates.reduce((m,v)=>m+Math.pow(v-h,2),0)/g.passRates.length<this.config.varianceThreshold?u.push(d):p.push(d)}return{variance:c,stdDeviation:r,anomalies:o,consistentSkills:u,inconsistentSkills:p,modelPerformance:l}}async detectRegressions(e,t){let i=[],s=new Set;for(let a of e)for(let n of a.outcomes){let c=`${n.skillName}-${a.model}`;if(s.has(c))continue;s.add(c);let r=await this.learner.getValidationTrends(n.skillName);if(!r)continue;let o=n.testCaseResults.filter(p=>p.passed).length/(n.testCaseResults.length||1),l=r.recentPassRate,u=l-o;u>=t&&i.push({skill:n.skillName,model:a.model,previousPassRate:l,currentPassRate:o,regressionAmount:u,trend:r.overall,possibleCauses:this.analyzePossibleCauses(n,u),severity:this.categorizeRegressionSeverity(u)})}return i.sort((a,n)=>{let c={critical:0,high:1,medium:2,low:3},r=c[a.severity]-c[n.severity];return r!==0?r:n.regressionAmount-a.regressionAmount})}analyzePossibleCauses(e,t){let i=[],s=e.testCaseResults.filter(c=>!c.passed);if(s.length>0){let c=[...new Set(s.map(r=>r.category).filter(Boolean))];c.length>0&&i.push(`Failures in categories: ${c.join(", ")}`)}let a=s.filter(c=>c.priority==="critical");a.length>0&&i.push(`${a.length} critical test(s) failing`);let n=e.testCaseResults.reduce((c,r)=>c+r.reasoningQuality,0)/(e.testCaseResults.length||1);return n<.7&&i.push(`Low reasoning quality score: ${(n*100).toFixed(1)}%`),t>.3&&i.push("Possible model behavior change or prompt drift"),i.length===0&&i.push("No specific cause identified - review test details"),i}categorizeRegressionSeverity(e){return e>=.5?"critical":e>=.3?"high":e>=.15?"medium":"low"}generateRecommendations(e,t,i){let s=[];if(t.inconsistentSkills.length>0&&s.push(`Review ${t.inconsistentSkills.length} skills with inconsistent cross-model behavior: `+t.inconsistentSkills.slice(0,3).join(", ")+(t.inconsistentSkills.length>3?` and ${t.inconsistentSkills.length-3} more`:"")),t.anomalies.some(r=>r.type==="low_performance")){let r=t.anomalies.filter(o=>o.type==="low_performance").map(o=>o.model);s.push(`Investigate low performance on model(s): ${r.join(", ")}`)}let a=i.filter(r=>r.severity==="critical");a.length>0&&s.push(`URGENT: ${a.length} critical regression(s) detected - immediate review required`);let n=Array.from(e.values()).filter(r=>r.avgPassRate<.9);if(n.length>0){let r=n.filter(l=>!l.schemaValid),o=n.filter(l=>!l.validatorPassed);r.length>0&&s.push(`Fix schema validation for: ${r.map(l=>l.skill).slice(0,3).join(", ")}`),o.length>0&&s.push(`Review validator scripts for: ${o.map(l=>l.skill).slice(0,3).join(", ")}`)}return Array.from(e.values()).reduce((r,o)=>r+o.avgPassRate,0)/e.size<.8&&s.push("Overall pass rate below 80% - consider reviewing skill definitions and test expectations"),s.length===0&&s.push("All validations passing - no immediate action required"),s}async updateManifest(e){if(!N(this.manifestPath))throw new Error(`Manifest file not found: ${this.manifestPath}`);let t=C(L(this.manifestPath,"utf-8"));for(let[s,a]of e.skillResults.entries())if(t.skills&&t.skills[s]){let n=t.skills[s];n.validation||(n.validation={}),n.validation.passRate=a.avgPassRate,n.validation.lastValidated=e.timestamp.toISOString(),n.validation.status=a.avgPassRate>=.9?"passing":"failing",n.validation.passRateByModel=Object.fromEntries(a.passRateByModel)}let i=Array.from(e.skillResults.values());t.validationStatus={passing:i.filter(s=>s.avgPassRate>=.9).length,failing:i.filter(s=>s.avgPassRate<.9).length,unknown:0,skipped:t.summary?.tier0||0},t.generatedAt=new Date().toISOString(),t.lastValidationRun={runId:e.runId,timestamp:e.timestamp.toISOString(),avgPassRate:e.summary.avgPassRate,modelsUsed:e.summary.modelsUsed},E(this.manifestPath,JSON.stringify(t,null,2))}generateMarkdownReport(e){let{summary:t,crossModelAnalysis:i,regressions:s,recommendations:a,skillResults:n}=e,c=(t.avgPassRate>=.9||t.avgPassRate>=.7,"`"),r=[];if(r.push(`# Validation Report
3
3
 
4
4
  > ${c} Generated: ${e.timestamp.toISOString()}
5
5
  > Run ID: ${e.runId}
@@ -1,5 +1,5 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.27");process.exit(0)}
2
- import{a as V}from"./chunk-PMP6QRTB.js";import{a as k,b as q,c as W,d as C}from"./chunk-W5EOH4NH.js";import{b as x,f as z,i as j}from"./chunk-RPDLRKAT.js";import{d as G}from"./chunk-6BIHLI3A.js";import{g as P}from"./chunk-HV7V34DZ.js";import{a as M}from"./chunk-ZGJTIDFI.js";import{c as E}from"./chunk-XFDOE4QW.js";import{b as T,c as S}from"./chunk-MSA7UH3M.js";import{a as f,b as L,c as F}from"./chunk-WHI7FVTH.js";import{S as Y,b as B}from"./chunk-2MO2U3NO.js";M();F();var D={enableLearning:!0,enableGuidance:!0,enableRouting:!0,embeddingDimension:384,useONNXEmbeddings:!0,maxRoutingCandidates:10,routingWeights:{similarity:.3,performance:.4,capabilities:.3},coherenceThreshold:.4};var w=[{patternType:"test-template",name:"AAA Unit Test",description:"Arrange-Act-Assert pattern for clear, maintainable unit tests",template:{type:"code",content:`describe('{{className}}', () => {
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.29");process.exit(0)}
2
+ import{a as V}from"./chunk-OU2FFOML.js";import{a as k,b as q,c as W,d as C}from"./chunk-YXMKMUQX.js";import{b as x,f as z,i as j}from"./chunk-NZIU2SEI.js";import{d as G}from"./chunk-RRQH5BMQ.js";import{g as P}from"./chunk-JXWZZTPN.js";import{a as M}from"./chunk-6ZJROHI3.js";import{c as E}from"./chunk-LPSIKIE2.js";import{b as T,c as S}from"./chunk-BUMNLVMC.js";import{a as f,b as L,c as F}from"./chunk-LIEKDXTS.js";import{S as Y,b as B}from"./chunk-IX5LUHCN.js";M();F();var D={enableLearning:!0,enableGuidance:!0,enableRouting:!0,embeddingDimension:384,useONNXEmbeddings:!0,maxRoutingCandidates:10,routingWeights:{similarity:.3,performance:.4,capabilities:.3},coherenceThreshold:.4};var w=[{patternType:"test-template",name:"AAA Unit Test",description:"Arrange-Act-Assert pattern for clear, maintainable unit tests",template:{type:"code",content:`describe('{{className}}', () => {
3
3
  describe('{{methodName}}', () => {
4
4
  it('should {{expectedBehavior}}', {{async}} () => {
5
5
  // Arrange
@@ -311,4 +311,4 @@ On promotion:
311
311
  `).all(),c=this.db.prepare(`
312
312
  INSERT OR IGNORE INTO pattern_citations (source_pattern_id, target_pattern_id, weight, relationship)
313
313
  VALUES (?, ?, 2.0, 'derivation')
314
- `);for(let p of n)c.run(p.source_pattern_id,p.target_pattern_id).changes>0&&e++;return e}getEdgeCount(){return this.ensureSchema(),this.db.prepare("SELECT COUNT(*) as cnt FROM pattern_citations").get().cnt}};var u=E.create("QEReasoningBank"),O=class{constructor(e,r,t={},i){this.memory=e;this.eventBus=r;this.coherenceService=i;this.config={...D,...t},t.rvfDualWriter&&(this.rvfDualWriter=t.rvfDualWriter),this.patternStore=V(e,{embeddingDimension:this.config.embeddingDimension,...t.patternStore})}memory;eventBus;coherenceService;config;patternStore;initialized=!1;sqliteStore=null;rvfDualWriter=null;getSqliteStore(){return this.sqliteStore||(this.sqliteStore=G(),this.sqliteStore.initialize().catch(e=>{u.warn("SQLitePatternStore init failed",{error:f(e)})})),this.sqliteStore}setRvfDualWriter(e){this.rvfDualWriter=e}stats={routingRequests:0,totalRoutingConfidence:0,learningOutcomes:0,successfulOutcomes:0};async initialize(e){if(this.initialized)return;let r=e?.signal;r?.throwIfAborted(),await this.patternStore.initialize(),r?.throwIfAborted();try{let t=this.getSqliteStore();await t.initialize(),this.patternStore.setSqliteStore?.(t)}catch(t){u.warn("Failed to wire SQLitePatternStore into PatternStore",{error:f(t)})}r?.throwIfAborted(),await this.loadPretrainedPatterns(r),r?.throwIfAborted(),this.initialized=!0;try{let t="reasoning-bank:cross-domain-seeded";if(!await this.memory.get(t))await this.memory.set(t,!0),await this.seedCrossDomainPatterns(r);else{let s=await this.patternStore.getStats();u.info("Cross-domain transfer already complete",{totalPatterns:s.totalPatterns})}}catch(t){if(r?.aborted)throw t;u.warn("Cross-domain seeding failed (non-fatal)",{error:t})}u.info("Initialized")}async loadPretrainedPatterns(e){e?.throwIfAborted();let r=await this.patternStore.getStats();if(r.totalPatterns>0){u.info("Found existing patterns",{totalPatterns:r.totalPatterns});let t=this.patternStore.getAdapter?.();if(t&&(t.status()?.totalVectors??0)===0)try{let s=this.getSqliteStore().getAllEmbeddings().filter(({embedding:o})=>o&&o.length>0).map(({patternId:o,embedding:n})=>({id:o,vector:n instanceof Float32Array?n:new Float32Array(n)}));if(s.length>0){let{accepted:o,rejected:n}=t.ingest(s);u.info("Backfilled RVF from SQLite",{count:s.length,accepted:o}),n>0&&u.warn("RVF backfill partially rejected",{accepted:o,rejected:n})}}catch(i){u.warn("RVF backfill failed (non-fatal)",{error:f(i)})}return}for(let t of w){e?.throwIfAborted();try{await this.storePattern(t)}catch(i){if(e?.aborted)throw i;u.warn("Failed to load pattern",{name:t.name,error:i})}}u.info("Loaded foundational patterns",{count:w.length})}async seedCrossDomainPatterns(e){return this.initialized||await this.initialize({signal:e}),K({searchPatterns:this.searchPatterns.bind(this),storePattern:this.storePattern.bind(this),patternStore:this.patternStore,signal:e})}async storePattern(e){if(this.initialized||await this.initialize(),!this.config.enableLearning)return S(new Error("Pattern learning is disabled"));if(!e.embedding){let t=await this.embed(`${e.name} ${e.description} ${e.context?.tags?.join(" ")||""}`);e={...e,embedding:t}}let r=await this.patternStore.create(e);if(r.success&&(P().then(t=>t.append("PATTERN_CREATE",{patternId:r.value.id,domain:r.value.qeDomain,confidence:r.value.confidence,name:r.value.name},"reasoning-bank")).catch(t=>{u.warn("Witness chain PATTERN_CREATE failed",{error:f(t)})}),this.rvfDualWriter&&r.value.embedding&&r.value.embedding.length>0))try{this.rvfDualWriter.writePattern(r.value.id,r.value.embedding)}catch(t){u.warn("RVF dual-write failed (non-fatal)",{patternId:r.value.id,error:f(t)})}return r}async searchPatterns(e,r){this.initialized||await this.initialize();let t=e,i=!0;return typeof e=="string"&&(e.trim()===""?(i=!1,t=""):t=await this.embed(e)),this.patternStore.search(t,{...r,useVectorSearch:i})}async getPattern(e){return this.initialized||await this.initialize(),this.patternStore.get(e)}async recordOutcome(e){if(this.initialized||await this.initialize(),!this.config.enableLearning)return T(void 0);let r=await this.patternStore.recordUsage(e.patternId,e.success);try{this.getSqliteStore().recordUsage(e.patternId,e.success,e.metrics,e.feedback)}catch(t){u.warn("SQLite pattern usage persist failed",{error:f(t)})}if(r.success){this.stats.learningOutcomes++,e.success&&this.stats.successfulOutcomes++,P().then(s=>s.append("PATTERN_UPDATE",{patternId:e.patternId,success:e.success},"reasoning-bank")).catch(s=>{u.warn("Witness chain PATTERN_UPDATE failed",{error:f(s)})});let t=await this.getPattern(e.patternId),i=this.getPromotionDeps();t&&await X(t,i)&&(await H(e.patternId,i),u.info("Pattern promoted to long-term",{name:t.name}))}return r}getPromotionDeps(){return{patternStore:this.patternStore,coherenceService:this.coherenceService,eventBus:this.eventBus,coherenceThreshold:this.config.coherenceThreshold||.4,getSqliteStore:this.getSqliteStore.bind(this),rvfDualWriter:this.rvfDualWriter,searchPatterns:this.searchPatterns.bind(this),getPattern:this.getPattern.bind(this)}}async routeTask(e){if(this.initialized||await this.initialize(),!this.config.enableRouting)return S(new Error("Task routing is disabled"));this.stats.routingRequests++;try{let r=e.domain?[e.domain]:x(e.task);r.length===0&&r.push("test-generation");let t=await this.embed(e.task),i=await this.patternStore.search(t,{limit:this.config.maxRoutingCandidates,domain:r[0],useVectorSearch:!0}),s=i.success?i.value.map(d=>d.pattern):[],o=new Map;for(let[d,h]of Object.entries(R)){let m=s.filter(y=>h.domains.includes(y.qeDomain)).length;m>0&&o.set(d,m)}let n=I(r,e.capabilities,o,this.config.routingWeights),c=n[0],p=n.slice(1,4),l=[];if(this.config.enableGuidance&&r.length>0){let d=q(r[0],{framework:e.context?.framework,language:e.context?.language,includeAntiPatterns:!0});l.push(...d.slice(0,5))}this.stats.totalRoutingConfidence+=c.score;let g={recommendedAgent:c.agent,confidence:c.score,alternatives:p.map(d=>({agent:d.agent,score:d.score})),domains:r,patterns:s,guidance:l,reasoning:c.reasoning.join("; ")};return T(g)}catch(r){return S(L(r))}}getGuidance(e,r){return k(e)}generateContext(e,r){return C(e,r||{})}checkAntiPatterns(e,r){return W(e,r)}async embed(e){if(this.config.useONNXEmbeddings)try{let{computeRealEmbedding:r}=await import("./real-embeddings-SE7AMRSP.js"),t=await r(e);return t.length!==this.config.embeddingDimension?U(t,this.config.embeddingDimension):t}catch(r){process.env.DEBUG&&u.warn("ONNX embeddings unavailable, using hash fallback",{error:f(r)})}return $(e,this.config.embeddingDimension)}async getStats(){this.initialized||await this.initialize();let e=await this.patternStore.getStats(),r={};for(let n of j)r[n]=e.byDomain[n]||0;let t=this.stats.routingRequests,i=this.stats.routingRequests>0?this.stats.totalRoutingConfidence/this.stats.routingRequests:0,s=this.stats.learningOutcomes,o=this.stats.learningOutcomes>0?this.stats.successfulOutcomes/this.stats.learningOutcomes:0;if(t===0||s===0)try{let n=this.getSqliteStore().getAggregateOutcomeStats();t===0&&n.routingRequests>0&&(t=n.routingRequests,i=n.avgRoutingConfidence),s===0&&n.learningOutcomes>0&&(s=n.learningOutcomes,o=n.learningOutcomes>0?n.successfulOutcomes/n.learningOutcomes:n.avgPatternSuccessRate)}catch{}return{totalPatterns:e.totalPatterns,byDomain:r,routingRequests:t,avgRoutingConfidence:i,learningOutcomes:s,patternSuccessRate:o,patternStoreStats:e}}async dispose(){if(await this.patternStore.dispose(),this.sqliteStore&&(this.sqliteStore.close(),this.sqliteStore=null),this.rvfDualWriter){try{this.rvfDualWriter.close()}catch{}this.rvfDualWriter=null}this.initialized=!1}};function Ge(a,e,r,t){return new O(a,e,r,t)}export{D as a,w as b,R as c,I as d,_ as e,O as f,Ge as g};
314
+ `);for(let p of n)c.run(p.source_pattern_id,p.target_pattern_id).changes>0&&e++;return e}getEdgeCount(){return this.ensureSchema(),this.db.prepare("SELECT COUNT(*) as cnt FROM pattern_citations").get().cnt}};var u=E.create("QEReasoningBank"),O=class{constructor(e,r,t={},i){this.memory=e;this.eventBus=r;this.coherenceService=i;this.config={...D,...t},t.rvfDualWriter&&(this.rvfDualWriter=t.rvfDualWriter),this.patternStore=V(e,{embeddingDimension:this.config.embeddingDimension,...t.patternStore})}memory;eventBus;coherenceService;config;patternStore;initialized=!1;sqliteStore=null;rvfDualWriter=null;getSqliteStore(){return this.sqliteStore||(this.sqliteStore=G(),this.sqliteStore.initialize().catch(e=>{u.warn("SQLitePatternStore init failed",{error:f(e)})})),this.sqliteStore}setRvfDualWriter(e){this.rvfDualWriter=e}stats={routingRequests:0,totalRoutingConfidence:0,learningOutcomes:0,successfulOutcomes:0};async initialize(e){if(this.initialized)return;let r=e?.signal;r?.throwIfAborted(),await this.patternStore.initialize(),r?.throwIfAborted();try{let t=this.getSqliteStore();await t.initialize(),this.patternStore.setSqliteStore?.(t)}catch(t){u.warn("Failed to wire SQLitePatternStore into PatternStore",{error:f(t)})}r?.throwIfAborted(),await this.loadPretrainedPatterns(r),r?.throwIfAborted(),this.initialized=!0;try{let t="reasoning-bank:cross-domain-seeded";if(!await this.memory.get(t))await this.memory.set(t,!0),await this.seedCrossDomainPatterns(r);else{let s=await this.patternStore.getStats();u.info("Cross-domain transfer already complete",{totalPatterns:s.totalPatterns})}}catch(t){if(r?.aborted)throw t;u.warn("Cross-domain seeding failed (non-fatal)",{error:t})}u.info("Initialized")}async loadPretrainedPatterns(e){e?.throwIfAborted();let r=await this.patternStore.getStats();if(r.totalPatterns>0){u.info("Found existing patterns",{totalPatterns:r.totalPatterns});let t=this.patternStore.getAdapter?.();if(t&&(t.status()?.totalVectors??0)===0)try{let s=this.getSqliteStore().getAllEmbeddings().filter(({embedding:o})=>o&&o.length>0).map(({patternId:o,embedding:n})=>({id:o,vector:n instanceof Float32Array?n:new Float32Array(n)}));if(s.length>0){let{accepted:o,rejected:n}=t.ingest(s);u.info("Backfilled RVF from SQLite",{count:s.length,accepted:o}),n>0&&u.warn("RVF backfill partially rejected",{accepted:o,rejected:n})}}catch(i){u.warn("RVF backfill failed (non-fatal)",{error:f(i)})}return}for(let t of w){e?.throwIfAborted();try{await this.storePattern(t)}catch(i){if(e?.aborted)throw i;u.warn("Failed to load pattern",{name:t.name,error:i})}}u.info("Loaded foundational patterns",{count:w.length})}async seedCrossDomainPatterns(e){return this.initialized||await this.initialize({signal:e}),K({searchPatterns:this.searchPatterns.bind(this),storePattern:this.storePattern.bind(this),patternStore:this.patternStore,signal:e})}async storePattern(e){if(this.initialized||await this.initialize(),!this.config.enableLearning)return S(new Error("Pattern learning is disabled"));if(!e.embedding){let t=await this.embed(`${e.name} ${e.description} ${e.context?.tags?.join(" ")||""}`);e={...e,embedding:t}}let r=await this.patternStore.create(e);if(r.success&&(P().then(t=>t.append("PATTERN_CREATE",{patternId:r.value.id,domain:r.value.qeDomain,confidence:r.value.confidence,name:r.value.name},"reasoning-bank")).catch(t=>{u.warn("Witness chain PATTERN_CREATE failed",{error:f(t)})}),this.rvfDualWriter&&r.value.embedding&&r.value.embedding.length>0))try{this.rvfDualWriter.writePattern(r.value.id,r.value.embedding)}catch(t){u.warn("RVF dual-write failed (non-fatal)",{patternId:r.value.id,error:f(t)})}return r}async searchPatterns(e,r){this.initialized||await this.initialize();let t=e,i=!0;return typeof e=="string"&&(e.trim()===""?(i=!1,t=""):t=await this.embed(e)),this.patternStore.search(t,{...r,useVectorSearch:i})}async getPattern(e){return this.initialized||await this.initialize(),this.patternStore.get(e)}async recordOutcome(e){if(this.initialized||await this.initialize(),!this.config.enableLearning)return T(void 0);let r=await this.patternStore.recordUsage(e.patternId,e.success);try{this.getSqliteStore().recordUsage(e.patternId,e.success,e.metrics,e.feedback)}catch(t){u.warn("SQLite pattern usage persist failed",{error:f(t)})}if(r.success){this.stats.learningOutcomes++,e.success&&this.stats.successfulOutcomes++,P().then(s=>s.append("PATTERN_UPDATE",{patternId:e.patternId,success:e.success},"reasoning-bank")).catch(s=>{u.warn("Witness chain PATTERN_UPDATE failed",{error:f(s)})});let t=await this.getPattern(e.patternId),i=this.getPromotionDeps();t&&await X(t,i)&&(await H(e.patternId,i),u.info("Pattern promoted to long-term",{name:t.name}))}return r}getPromotionDeps(){return{patternStore:this.patternStore,coherenceService:this.coherenceService,eventBus:this.eventBus,coherenceThreshold:this.config.coherenceThreshold||.4,getSqliteStore:this.getSqliteStore.bind(this),rvfDualWriter:this.rvfDualWriter,searchPatterns:this.searchPatterns.bind(this),getPattern:this.getPattern.bind(this)}}async routeTask(e){if(this.initialized||await this.initialize(),!this.config.enableRouting)return S(new Error("Task routing is disabled"));this.stats.routingRequests++;try{let r=e.domain?[e.domain]:x(e.task);r.length===0&&r.push("test-generation");let t=await this.embed(e.task),i=await this.patternStore.search(t,{limit:this.config.maxRoutingCandidates,domain:r[0],useVectorSearch:!0}),s=i.success?i.value.map(d=>d.pattern):[],o=new Map;for(let[d,h]of Object.entries(R)){let m=s.filter(y=>h.domains.includes(y.qeDomain)).length;m>0&&o.set(d,m)}let n=I(r,e.capabilities,o,this.config.routingWeights),c=n[0],p=n.slice(1,4),l=[];if(this.config.enableGuidance&&r.length>0){let d=q(r[0],{framework:e.context?.framework,language:e.context?.language,includeAntiPatterns:!0});l.push(...d.slice(0,5))}this.stats.totalRoutingConfidence+=c.score;let g={recommendedAgent:c.agent,confidence:c.score,alternatives:p.map(d=>({agent:d.agent,score:d.score})),domains:r,patterns:s,guidance:l,reasoning:c.reasoning.join("; ")};return T(g)}catch(r){return S(L(r))}}getGuidance(e,r){return k(e)}generateContext(e,r){return C(e,r||{})}checkAntiPatterns(e,r){return W(e,r)}async embed(e){if(this.config.useONNXEmbeddings)try{let{computeRealEmbedding:r}=await import("./real-embeddings-7GJEWY4C.js"),t=await r(e);return t.length!==this.config.embeddingDimension?U(t,this.config.embeddingDimension):t}catch(r){process.env.DEBUG&&u.warn("ONNX embeddings unavailable, using hash fallback",{error:f(r)})}return $(e,this.config.embeddingDimension)}async getStats(){this.initialized||await this.initialize();let e=await this.patternStore.getStats(),r={};for(let n of j)r[n]=e.byDomain[n]||0;let t=this.stats.routingRequests,i=this.stats.routingRequests>0?this.stats.totalRoutingConfidence/this.stats.routingRequests:0,s=this.stats.learningOutcomes,o=this.stats.learningOutcomes>0?this.stats.successfulOutcomes/this.stats.learningOutcomes:0;if(t===0||s===0)try{let n=this.getSqliteStore().getAggregateOutcomeStats();t===0&&n.routingRequests>0&&(t=n.routingRequests,i=n.avgRoutingConfidence),s===0&&n.learningOutcomes>0&&(s=n.learningOutcomes,o=n.learningOutcomes>0?n.successfulOutcomes/n.learningOutcomes:n.avgPatternSuccessRate)}catch{}return{totalPatterns:e.totalPatterns,byDomain:r,routingRequests:t,avgRoutingConfidence:i,learningOutcomes:s,patternSuccessRate:o,patternStoreStats:e}}async dispose(){if(await this.patternStore.dispose(),this.sqliteStore&&(this.sqliteStore.close(),this.sqliteStore=null),this.rvfDualWriter){try{this.rvfDualWriter.close()}catch{}this.rvfDualWriter=null}this.initialized=!1}};function Ge(a,e,r,t){return new O(a,e,r,t)}export{D as a,w as b,R as c,I as d,_ as e,O as f,Ge as g};
@@ -1,6 +1,6 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.27");process.exit(0)}
2
- import{a as F}from"./chunk-YYGYN4RJ.js";import{a as b,b as E,c as z,d as M,e as C,f as P,g as B}from"./chunk-GXHMSIBM.js";function W(s,e){let n=s.slice(0,e).split(`
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.29");process.exit(0)}
2
+ import{a as F}from"./chunk-YEXQMYOM.js";import{a as b,b as E,c as z,d as M,e as C,f as P,g as B}from"./chunk-C7MWQ4BI.js";function W(s,e){let n=s.slice(0,e).split(`
3
3
  `),r=n.length,o=(n[n.length-1]||"").length;return{line:r,column:o,offset:e}}function p(s,e,n,r,o){return{start:W(s,e),end:W(s,n),oldText:s.slice(e,n),newText:r,description:o}}function _(s,e){let n=[...e].sort((o,t)=>t.start.offset-o.start.offset),r=s;for(let o of n)r=r.slice(0,o.start.offset)+o.newText+r.slice(o.end.offset);return r}function U(s,e){if(s.length===0)return 1;let n=s.reduce((t,a)=>t+Math.abs(a.newText.length-a.oldText.length),0)/s.length,r=Math.max(.5,1-n/1e3),o=Math.max(.7,1-s.length/100);return Math.min(1,e*r*o)}function T(s,e,n,r,o=.9){let t=_(s,n),a=Date.now()-r;return{success:!0,transformType:e,originalCode:s,transformedCode:t,edits:n,changeCount:n.length,confidence:U(n,o),durationMs:a,implementationUsed:"typescript",usedFallback:!1,warnings:[]}}function w(s,e,n,r){return{success:!1,transformType:e,originalCode:s,transformedCode:s,edits:[],changeCount:0,confidence:0,durationMs:Date.now()-r,implementationUsed:"typescript",usedFallback:!1,error:n,warnings:[]}}function Z(s,e={debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}}){let n=Date.now(),r=[],o=[];try{let t=/\bvar\s+([a-zA-Z_$][a-zA-Z0-9_$]*)/g,a=/([a-zA-Z_$][a-zA-Z0-9_$]*)\s*(?:\+\+|--|[+\-*/%&|^]=|\?\?=|&&=|\|\|=|=(?!=))/g,i=[],l;for(;(l=t.exec(s))!==null;)i.push({name:l[1],offset:l.index});let m=new Set;for(;(l=a.exec(s))!==null;)m.add(l[1]);let u=/\bfor\s*\(\s*var\s+([a-zA-Z_$][a-zA-Z0-9_$]*)/g,c=new Set;for(;(l=u.exec(s))!==null;)c.add(l[1]);for(let g of i){let d=c.has(g.name)||m.has(g.name)?"let":"const";r.push(p(s,g.offset,g.offset+3,d,`Convert var ${g.name} to ${d}`))}e.debug("var-to-const transform completed",{declarations:i.length,reassigned:m.size,loopVars:c.size});let f=T(s,"var-to-const",r,n,.95);return f.warnings=o,f}catch(t){return e.error("var-to-const transform failed",t),w(s,"var-to-const",t instanceof Error?t.message:"Unknown error",n)}}function O(s,e={debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}}){let n=Date.now(),r=[],o=[];try{let t=/function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(([^)]*)\)/g,a=/(?:const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=\s*\(([^)]*)\)\s*=>/g,i=/([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(([^)]*)\)\s*(?::\s*[^{]+)?\s*\{/g,l;for(;(l=t.exec(s))!==null;){let u=l[2].trim();if(u&&!u.includes(":")){let c=u.split(",").map(d=>{let h=d.trim().replace(/\s*=.*$/,"");return h&&!h.includes(":")?`${h}: unknown`:d.trim()}).join(", "),f=l.index+l[0].indexOf("(")+1,g=f+l[2].length;r.push(p(s,f,g,c,`Add types to function ${l[1]} parameters`))}}for(;(l=a.exec(s))!==null;){let u=l[2].trim();if(u&&!u.includes(":")){let c=u.split(",").map(d=>{let h=d.trim().replace(/\s*=.*$/,"");return h&&!h.includes(":")?`${h}: unknown`:d.trim()}).join(", "),f=l.index+l[0].indexOf("(")+1,g=f+l[2].length;r.push(p(s,f,g,c,`Add types to arrow function ${l[1]} parameters`))}}e.debug("add-types transform completed",{edits:r.length});let m=T(s,"add-types",r,n,.7);return m.warnings=o,r.length>0&&m.warnings.push('Type annotations use "unknown" - manual review recommended'),m}catch(t){return e.error("add-types transform failed",t),w(s,"add-types",t instanceof Error?t.message:"Unknown error",n)}}function I(s,e={debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}}){let n=Date.now(),r=[],o=[];try{let t=/^\s*console\.(log|warn|error|info|debug|trace|dir|table|time|timeEnd|group|groupEnd|assert)\s*\([^)]*\);?\s*$/gm,a=/console\.(log|warn|error|info|debug|trace|dir|table|time|timeEnd|group|groupEnd|assert)\s*\([^)]*\)/g,i,l=new Set;for(;(i=t.exec(s))!==null;)l.has(i.index)||(l.add(i.index),r.push(p(s,i.index,i.index+i[0].length,"",`Remove console.${i[1]}() statement`)));for(;(i=a.exec(s))!==null;){if(l.has(i.index))continue;let u=s.lastIndexOf(`
4
4
  `,i.index)+1,c=s.indexOf(`
5
5
  `,i.index),f=s.slice(u,c===-1?void 0:c);/^\s*console\./.test(f)||(l.add(i.index),o.push(`Inline console.${i[1]}() at offset ${i.index} - consider manual review`))}e.debug("remove-console transform completed",{removed:r.length,warnings:o.length});let m=T(s,"remove-console",r,n,.95);return m.warnings=o,m}catch(t){return e.error("remove-console transform failed",t),w(s,"remove-console",t instanceof Error?t.message:"Unknown error",n)}}function j(s,e={debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}}){let n=Date.now(),r=[],o=[];try{let t=/([a-zA-Z_$][a-zA-Z0-9_$]*(?:\([^)]*\))?)\s*\.then\s*\(\s*(?:async\s*)?\(?\s*([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\)?\s*=>\s*([^)]+)\)/g,a;for(;(a=t.exec(s))!==null;){let[l,m,u,c]=a;if(c.includes(".then")||c.includes(".catch")){o.push(`Complex promise chain at offset ${a.index} - manual review recommended`);continue}let f=`const ${u} = await ${m};
6
- ${c.trim()}`;r.push(p(s,a.index,a.index+l.length,f,"Convert .then() to await"))}e.debug("promise-to-async transform completed",{converted:r.length,warnings:o.length});let i=T(s,"promise-to-async",r,n,.65);return i.warnings=o,r.length>0&&i.warnings.push("Promise chains converted to await - ensure containing function is async"),i}catch(t){return e.error("promise-to-async transform failed",t),w(s,"promise-to-async",t instanceof Error?t.message:"Unknown error",n)}}function N(s,e={debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}}){let n=Date.now(),r=[],o=[];try{let t,a=/(?:const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=\s*require\s*\(\s*(['"`][^'"`]+['"`])\s*\)\s*;?/g;for(;(t=a.exec(s))!==null;){let[c,f,g]=t,d=`import ${f} from ${g};`;r.push(p(s,t.index,t.index+c.length,d,"Convert require to import"))}let i=/(?:const|let|var)\s+\{\s*([^}]+)\s*\}\s*=\s*require\s*\(\s*(['"`][^'"`]+['"`])\s*\)\s*;?/g;for(;(t=i.exec(s))!==null;){let[c,f,g]=t,d=`import { ${f.trim()} } from ${g};`;r.push(p(s,t.index,t.index+c.length,d,"Convert destructured require to import"))}let l=/module\.exports\s*=\s*([^;]+);?/g;for(;(t=l.exec(s))!==null;){let[c,f]=t,g=`export default ${f.trim()};`;r.push(p(s,t.index,t.index+c.length,g,"Convert module.exports to export default"))}let m=/exports\.([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=\s*([^;]+);?/g;for(;(t=m.exec(s))!==null;){let[c,f,g]=t,d=g.trim(),h;d.startsWith("function")||d.startsWith("class")?h=`export ${d}`:d.startsWith("async function")?h=`export ${d}`:h=`export const ${f} = ${d};`,r.push(p(s,t.index,t.index+c.length,h,`Convert exports.${f} to named export`))}e.debug("cjs-to-esm transform completed",{edits:r.length});let u=T(s,"cjs-to-esm",r,n,.85);return u.warnings=o,u}catch(t){return e.error("cjs-to-esm transform failed",t),w(s,"cjs-to-esm",t instanceof Error?t.message:"Unknown error",n)}}function H(s,e={debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}}){let n=Date.now(),r=[],o=[];try{let t=/(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=\s*function\s*\(([^)]*)\)\s*\{/g,a;for(;(a=t.exec(s))!==null;){let[m,u,c,f]=a,g=a.index,d=1,h=g+m.length;for(;d>0&&h<s.length;)s[h]==="{"&&d++,s[h]==="}"&&d--,h++;let S=s.slice(g,h);if(/\bthis\b/.test(S)){o.push(`Function ${c} uses 'this' - skipping arrow conversion (would change binding)`);continue}if(/\barguments\b/.test(S)){o.push(`Function ${c} uses 'arguments' - skipping arrow conversion (not available in arrow functions)`);continue}let D=`${u} ${c} = (${f}) => {`;r.push(p(s,a.index,a.index+m.length,D,`Convert function ${c} to arrow function`))}let i=/function\s*\(([^)]*)\)\s*\{\s*return\s+([^;]+);\s*\}/g;for(;(a=i.exec(s))!==null;){let[m,u,c]=a;if(/\b(this|arguments)\b/.test(m))continue;let f=u.includes(",")||u.trim()===""?`(${u}) => ${c}`:`${u.trim()} => ${c}`;r.push(p(s,a.index,a.index+m.length,f,"Convert callback to arrow function"))}e.debug("func-to-arrow transform completed",{converted:r.length,warnings:o.length});let l=T(s,"func-to-arrow",r,n,.85);return l.warnings=o,l}catch(t){return e.error("func-to-arrow transform failed",t),w(s,"func-to-arrow",t instanceof Error?t.message:"Unknown error",n)}}var V={"var-to-const":Z,"add-types":O,"remove-console":I,"promise-to-async":j,"cjs-to-esm":N,"func-to-arrow":H};function $(s,e,n){let r=V[e];return r?r(s,n):{success:!1,transformType:e,originalCode:s,transformedCode:s,edits:[],changeCount:0,confidence:0,durationMs:0,implementationUsed:"typescript",usedFallback:!1,error:`Unknown transform type: ${e}`,warnings:[]}}var q={JavaScript:0,TypeScript:1,Python:2,Rust:3,Go:4,Java:5,C:6,Cpp:7},y=null,A=null,x=null,R=!1,k=null;async function G(){if(R)return k===null;if(k)return!1;try{let s=await import("./agent-booster-wasm-ITOX2PFK.js");return y=s.transform,A=s.warmup,x=s.isWasmAvailable,R=!0,!0}catch(s){return k=s,R=!0,!1}}function K(s){return q.TypeScript}var L=class{cache=new Map;ttlMs;enabled;constructor(e,n){this.enabled=e,this.ttlMs=n}generateKey(e,n){let r=0;for(let o=0;o<e.length;o++){let t=e.charCodeAt(o);r=(r<<5)-r+t,r=r&r}return`${n}:${r}:${e.length}`}get(e,n){if(!this.enabled)return null;let r=this.generateKey(e,n),o=this.cache.get(r);return o?Date.now()>o.expiresAt?(this.cache.delete(r),null):o.result:null}set(e,n,r){if(!this.enabled)return;let o=this.generateKey(e,n);this.cache.set(o,{result:r,expiresAt:Date.now()+this.ttlMs})}clear(){this.cache.clear()}getStats(){return{size:this.cache.size,hitRate:0}}},v=class{config;logger;cache;enabledTransforms;metricsTracker;initialized=!1;wasmAvailable=!1;wasmModule=null;patternsLoaded=!1;totalTransforms=0;successfulTransforms=0;totalDurationMs=0;cacheHits=0;cacheMisses=0;constructor(e={},n,r){this.config={...z,...e},this.logger=n||{debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}},this.metricsTracker=r,this.cache=new L(this.config.cacheEnabled,this.config.cacheTtlMs),this.config.transforms.length===0?this.enabledTransforms=new Set(b):this.enabledTransforms=new Set(this.config.transforms)}setMetricsTracker(e){this.metricsTracker=e}async initialize(){this.initialized||(this.logger.info("Initializing Agent Booster adapter",{enabled:this.config.enabled,transforms:Array.from(this.enabledTransforms)}),this.config.transforms.length===0&&await this.loadEligibleTransformsFromPatterns(),this.config.enabled&&await this.tryLoadWasm(),this.initialized=!0,this.logger.info("Agent Booster adapter initialized",{wasmAvailable:this.wasmAvailable,enabledTransforms:Array.from(this.enabledTransforms),patternsLoaded:this.patternsLoaded}))}async loadEligibleTransformsFromPatterns(){try{let n=await F().getEligibleBoosterTransforms();if(n.length>0){let r=n.filter(o=>b.includes(o));if(r.length>0){this.enabledTransforms=new Set(r),this.patternsLoaded=!0,this.logger.info("Loaded eligible transforms from PatternLoader",{fromPatterns:r,invalidIgnored:n.length-r.length});return}}this.logger.debug("PatternLoader returned empty transforms, using defaults")}catch(e){this.logger.warn("Failed to load transforms from PatternLoader, using defaults",{error:e instanceof Error?e.message:"Unknown error"})}this.enabledTransforms=new Set(b),this.patternsLoaded=!1}async tryLoadWasm(){try{if(this.logger.debug("Loading WASM module"),!await G()||!x){this.logger.debug("WASM module could not be loaded, using TypeScript fallback"),this.wasmAvailable=!1;return}this.logger.debug("Checking WASM availability from local module"),await x()&&y&&A?(this.logger.debug("Warming up WASM module"),await A(),this.wasmModule={transform:y,warmup:A,isAvailable:x},this.wasmAvailable=!0,this.logger.info("WASM Agent Booster loaded and warmed up successfully",{source:"local-module"})):(this.logger.debug("WASM not available from local module, using TypeScript fallback"),this.wasmAvailable=!1)}catch(e){this.logger.warn("Failed to load WASM module",{error:e instanceof Error?e.message:"Unknown error"}),this.wasmAvailable=!1}}async dispose(){this.cache.clear(),this.wasmModule=null,this.wasmAvailable=!1,this.initialized=!1,this.logger.info("Agent Booster adapter disposed")}async transform(e,n){this.ensureInitialized(),this.ensureEnabled();let r=Date.now();if(this.totalTransforms++,!this.enabledTransforms.has(n))return this.createErrorResult(e,n,`Transform type '${n}' is not enabled`,r);let o=this.cache.get(e,n);if(o)return this.cacheHits++,this.logger.debug("Cache hit for transform",{type:n}),{...o,durationMs:Date.now()-r};this.cacheMisses++;let t;try{t=await this.executeWithFallback(e,n,r)}catch(a){return this.createErrorResult(e,n,a instanceof Error?a.message:"Unknown error",r)}return t.success&&(this.successfulTransforms++,this.cache.set(e,n,t)),this.totalDurationMs+=t.durationMs,await this.recordMetrics(t,n),t}async recordMetrics(e,n){if(this.metricsTracker)try{let r=`booster-${n}-${Date.now()}`;await this.metricsTracker.recordOutcome("booster",r,e.success,e.durationMs,{subType:n,confidence:e.confidence,usedFallback:e.usedFallback,implementationUsed:e.implementationUsed,itemCount:e.changeCount,errorMessage:e.error})}catch(r){this.logger.warn("Failed to record metrics",{error:r instanceof Error?r.message:"Unknown error"})}}async executeWithFallback(e,n,r){if(this.wasmAvailable)try{let t=await this.executeWasmTransform(e,n,r);if(t.success&&t.confidence>=this.config.confidenceThreshold)return t;this.logger.debug("WASM transform low confidence, trying TypeScript",{confidence:t.confidence,threshold:this.config.confidenceThreshold})}catch(t){this.logger.warn("WASM transform failed, falling back to TypeScript",{error:t instanceof Error?t.message:"Unknown error"})}let o=$(e,n,this.logger);return o.durationMs=Date.now()-r,this.config.fallbackToLLM&&o.confidence<this.config.confidenceThreshold&&(this.logger.debug("TypeScript transform low confidence, LLM fallback available",{confidence:o.confidence,threshold:this.config.confidenceThreshold}),o.warnings.push(`Confidence ${o.confidence.toFixed(2)} is below threshold ${this.config.confidenceThreshold}. LLM fallback recommended for review.`),o.usedFallback=!0),o}async executeWasmTransform(e,n,r){if(!this.wasmAvailable)throw new C;let o=K(n),t=$(e,n,this.logger);if(t.changeCount===0)return{...t,durationMs:Date.now()-r,implementationUsed:"wasm"};if(!y)throw new C("WASM transform function not loaded");let a=await Promise.race([y(e,t.transformedCode,o,{confidenceThreshold:this.config.confidenceThreshold,allowFallback:!0}),new Promise((m,u)=>setTimeout(()=>u(new P("WASM transform timed out",n,this.config.timeoutMs)),this.config.timeoutMs))]),i=Date.now()-r,l=a.success&&a.mergedCode!==e?t.changeCount:0;return{success:a.success,transformType:n,originalCode:e,transformedCode:a.mergedCode,edits:t.edits,changeCount:l,confidence:a.confidence,durationMs:i,implementationUsed:a.source==="wasm"?"wasm":"typescript",usedFallback:a.source!=="wasm",error:a.error,warnings:a.syntaxValid?[]:["WASM reported syntax may be invalid"]}}async batchTransform(e,n){this.ensureInitialized(),this.ensureEnabled();let r=Date.now(),o=[],t=[],a=0,i=0,l=0,m=0;for(let u of e){if(u.content.length>this.config.maxFileSizeBytes){let c=new B(u.path,u.content.length,this.config.maxFileSizeBytes);t.push({path:u.path,error:c.message}),i++;continue}try{let c=await this.transform(u.content,n);o.push({path:u.path,result:c}),c.success?c.changeCount>0?(a++,m+=c.changeCount):l++:(i++,c.error&&t.push({path:u.path,error:c.error}))}catch(c){i++,t.push({path:u.path,error:c instanceof Error?c.message:"Unknown error"})}}return{success:i===0,transformType:n,files:o,totalFiles:e.length,successCount:a,failureCount:i,noChangeCount:l,totalChanges:m,durationMs:Date.now()-r,errors:t}}async detectTransformOpportunities(e){this.ensureInitialized(),this.ensureEnabled();let n=Date.now(),r=[],o={},t=[];for(let a of b)o[a]=0;for(let a of Array.from(this.enabledTransforms))try{let i=await this.transform(e,a);if(i.changeCount>0)for(let l of i.edits){let m={type:a,confidence:i.confidence,location:l.start,codeSnippet:l.oldText.slice(0,100)+(l.oldText.length>100?"...":""),suggestedCode:l.newText.slice(0,100)+(l.newText.length>100?"...":""),reason:l.description,risk:this.confidenceToRisk(i.confidence),estimatedDurationMs:E[a].typicalLatencyMs};r.push(m),o[a]++}}catch(i){t.push(`Failed to analyze for ${a}: ${i instanceof Error?i.message:"Unknown error"}`)}return r.sort((a,i)=>i.confidence-a.confidence),{opportunities:r,totalCount:r.length,byType:o,durationMs:Date.now()-n,complete:t.length===0,warnings:t}}isTransformAvailable(e){return this.enabledTransforms.has(e)}getTransformMetadata(e){return E[e]}getAvailableTransforms(){return Array.from(this.enabledTransforms)}isWasmAvailable(){return this.wasmAvailable}getHealth(){let e=this.totalTransforms>0?this.totalDurationMs/this.totalTransforms:0,n=this.cacheHits+this.cacheMisses>0?this.cacheHits/(this.cacheHits+this.cacheMisses):0,r=[];return this.initialized||r.push("Adapter not initialized"),this.config.enabled||r.push("Adapter is disabled"),this.wasmAvailable||r.push("WASM module not loaded (using TypeScript fallback)"),this.patternsLoaded||r.push("Patterns not loaded from PatternLoader (using defaults)"),{ready:this.initialized&&this.config.enabled,wasmAvailable:this.wasmAvailable,patternsLoaded:this.patternsLoaded,availableTransforms:Array.from(this.enabledTransforms),lastChecked:new Date,issues:r,metrics:{totalTransforms:this.totalTransforms,successfulTransforms:this.successfulTransforms,averageDurationMs:e,cacheHitRate:n}}}ensureInitialized(){if(!this.initialized)throw new M("AgentBoosterAdapter not initialized. Call initialize() first.","var-to-const")}ensureEnabled(){if(!this.config.enabled)throw new M("AgentBoosterAdapter is disabled. Set enabled: true in config.","var-to-const")}createErrorResult(e,n,r,o){return{success:!1,transformType:n,originalCode:e,transformedCode:e,edits:[],changeCount:0,confidence:0,durationMs:Date.now()-o,implementationUsed:"typescript",usedFallback:!1,error:r,warnings:[]}}confidenceToRisk(e){return e>=.95?"info":e>=.85?"low":e>=.7?"medium":e>=.5?"high":"critical"}};async function ee(s={},e,n){let r=new v(s,e,n);return await r.initialize(),r}function re(s={},e,n){return new v(s,e,n)}export{v as a,ee as b,re as c};
6
+ ${c.trim()}`;r.push(p(s,a.index,a.index+l.length,f,"Convert .then() to await"))}e.debug("promise-to-async transform completed",{converted:r.length,warnings:o.length});let i=T(s,"promise-to-async",r,n,.65);return i.warnings=o,r.length>0&&i.warnings.push("Promise chains converted to await - ensure containing function is async"),i}catch(t){return e.error("promise-to-async transform failed",t),w(s,"promise-to-async",t instanceof Error?t.message:"Unknown error",n)}}function N(s,e={debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}}){let n=Date.now(),r=[],o=[];try{let t,a=/(?:const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=\s*require\s*\(\s*(['"`][^'"`]+['"`])\s*\)\s*;?/g;for(;(t=a.exec(s))!==null;){let[c,f,g]=t,d=`import ${f} from ${g};`;r.push(p(s,t.index,t.index+c.length,d,"Convert require to import"))}let i=/(?:const|let|var)\s+\{\s*([^}]+)\s*\}\s*=\s*require\s*\(\s*(['"`][^'"`]+['"`])\s*\)\s*;?/g;for(;(t=i.exec(s))!==null;){let[c,f,g]=t,d=`import { ${f.trim()} } from ${g};`;r.push(p(s,t.index,t.index+c.length,d,"Convert destructured require to import"))}let l=/module\.exports\s*=\s*([^;]+);?/g;for(;(t=l.exec(s))!==null;){let[c,f]=t,g=`export default ${f.trim()};`;r.push(p(s,t.index,t.index+c.length,g,"Convert module.exports to export default"))}let m=/exports\.([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=\s*([^;]+);?/g;for(;(t=m.exec(s))!==null;){let[c,f,g]=t,d=g.trim(),h;d.startsWith("function")||d.startsWith("class")?h=`export ${d}`:d.startsWith("async function")?h=`export ${d}`:h=`export const ${f} = ${d};`,r.push(p(s,t.index,t.index+c.length,h,`Convert exports.${f} to named export`))}e.debug("cjs-to-esm transform completed",{edits:r.length});let u=T(s,"cjs-to-esm",r,n,.85);return u.warnings=o,u}catch(t){return e.error("cjs-to-esm transform failed",t),w(s,"cjs-to-esm",t instanceof Error?t.message:"Unknown error",n)}}function H(s,e={debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}}){let n=Date.now(),r=[],o=[];try{let t=/(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=\s*function\s*\(([^)]*)\)\s*\{/g,a;for(;(a=t.exec(s))!==null;){let[m,u,c,f]=a,g=a.index,d=1,h=g+m.length;for(;d>0&&h<s.length;)s[h]==="{"&&d++,s[h]==="}"&&d--,h++;let S=s.slice(g,h);if(/\bthis\b/.test(S)){o.push(`Function ${c} uses 'this' - skipping arrow conversion (would change binding)`);continue}if(/\barguments\b/.test(S)){o.push(`Function ${c} uses 'arguments' - skipping arrow conversion (not available in arrow functions)`);continue}let D=`${u} ${c} = (${f}) => {`;r.push(p(s,a.index,a.index+m.length,D,`Convert function ${c} to arrow function`))}let i=/function\s*\(([^)]*)\)\s*\{\s*return\s+([^;]+);\s*\}/g;for(;(a=i.exec(s))!==null;){let[m,u,c]=a;if(/\b(this|arguments)\b/.test(m))continue;let f=u.includes(",")||u.trim()===""?`(${u}) => ${c}`:`${u.trim()} => ${c}`;r.push(p(s,a.index,a.index+m.length,f,"Convert callback to arrow function"))}e.debug("func-to-arrow transform completed",{converted:r.length,warnings:o.length});let l=T(s,"func-to-arrow",r,n,.85);return l.warnings=o,l}catch(t){return e.error("func-to-arrow transform failed",t),w(s,"func-to-arrow",t instanceof Error?t.message:"Unknown error",n)}}var V={"var-to-const":Z,"add-types":O,"remove-console":I,"promise-to-async":j,"cjs-to-esm":N,"func-to-arrow":H};function $(s,e,n){let r=V[e];return r?r(s,n):{success:!1,transformType:e,originalCode:s,transformedCode:s,edits:[],changeCount:0,confidence:0,durationMs:0,implementationUsed:"typescript",usedFallback:!1,error:`Unknown transform type: ${e}`,warnings:[]}}var q={JavaScript:0,TypeScript:1,Python:2,Rust:3,Go:4,Java:5,C:6,Cpp:7},y=null,A=null,x=null,R=!1,k=null;async function G(){if(R)return k===null;if(k)return!1;try{let s=await import("./agent-booster-wasm-EPRGXS5D.js");return y=s.transform,A=s.warmup,x=s.isWasmAvailable,R=!0,!0}catch(s){return k=s,R=!0,!1}}function K(s){return q.TypeScript}var L=class{cache=new Map;ttlMs;enabled;constructor(e,n){this.enabled=e,this.ttlMs=n}generateKey(e,n){let r=0;for(let o=0;o<e.length;o++){let t=e.charCodeAt(o);r=(r<<5)-r+t,r=r&r}return`${n}:${r}:${e.length}`}get(e,n){if(!this.enabled)return null;let r=this.generateKey(e,n),o=this.cache.get(r);return o?Date.now()>o.expiresAt?(this.cache.delete(r),null):o.result:null}set(e,n,r){if(!this.enabled)return;let o=this.generateKey(e,n);this.cache.set(o,{result:r,expiresAt:Date.now()+this.ttlMs})}clear(){this.cache.clear()}getStats(){return{size:this.cache.size,hitRate:0}}},v=class{config;logger;cache;enabledTransforms;metricsTracker;initialized=!1;wasmAvailable=!1;wasmModule=null;patternsLoaded=!1;totalTransforms=0;successfulTransforms=0;totalDurationMs=0;cacheHits=0;cacheMisses=0;constructor(e={},n,r){this.config={...z,...e},this.logger=n||{debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}},this.metricsTracker=r,this.cache=new L(this.config.cacheEnabled,this.config.cacheTtlMs),this.config.transforms.length===0?this.enabledTransforms=new Set(b):this.enabledTransforms=new Set(this.config.transforms)}setMetricsTracker(e){this.metricsTracker=e}async initialize(){this.initialized||(this.logger.info("Initializing Agent Booster adapter",{enabled:this.config.enabled,transforms:Array.from(this.enabledTransforms)}),this.config.transforms.length===0&&await this.loadEligibleTransformsFromPatterns(),this.config.enabled&&await this.tryLoadWasm(),this.initialized=!0,this.logger.info("Agent Booster adapter initialized",{wasmAvailable:this.wasmAvailable,enabledTransforms:Array.from(this.enabledTransforms),patternsLoaded:this.patternsLoaded}))}async loadEligibleTransformsFromPatterns(){try{let n=await F().getEligibleBoosterTransforms();if(n.length>0){let r=n.filter(o=>b.includes(o));if(r.length>0){this.enabledTransforms=new Set(r),this.patternsLoaded=!0,this.logger.info("Loaded eligible transforms from PatternLoader",{fromPatterns:r,invalidIgnored:n.length-r.length});return}}this.logger.debug("PatternLoader returned empty transforms, using defaults")}catch(e){this.logger.warn("Failed to load transforms from PatternLoader, using defaults",{error:e instanceof Error?e.message:"Unknown error"})}this.enabledTransforms=new Set(b),this.patternsLoaded=!1}async tryLoadWasm(){try{if(this.logger.debug("Loading WASM module"),!await G()||!x){this.logger.debug("WASM module could not be loaded, using TypeScript fallback"),this.wasmAvailable=!1;return}this.logger.debug("Checking WASM availability from local module"),await x()&&y&&A?(this.logger.debug("Warming up WASM module"),await A(),this.wasmModule={transform:y,warmup:A,isAvailable:x},this.wasmAvailable=!0,this.logger.info("WASM Agent Booster loaded and warmed up successfully",{source:"local-module"})):(this.logger.debug("WASM not available from local module, using TypeScript fallback"),this.wasmAvailable=!1)}catch(e){this.logger.warn("Failed to load WASM module",{error:e instanceof Error?e.message:"Unknown error"}),this.wasmAvailable=!1}}async dispose(){this.cache.clear(),this.wasmModule=null,this.wasmAvailable=!1,this.initialized=!1,this.logger.info("Agent Booster adapter disposed")}async transform(e,n){this.ensureInitialized(),this.ensureEnabled();let r=Date.now();if(this.totalTransforms++,!this.enabledTransforms.has(n))return this.createErrorResult(e,n,`Transform type '${n}' is not enabled`,r);let o=this.cache.get(e,n);if(o)return this.cacheHits++,this.logger.debug("Cache hit for transform",{type:n}),{...o,durationMs:Date.now()-r};this.cacheMisses++;let t;try{t=await this.executeWithFallback(e,n,r)}catch(a){return this.createErrorResult(e,n,a instanceof Error?a.message:"Unknown error",r)}return t.success&&(this.successfulTransforms++,this.cache.set(e,n,t)),this.totalDurationMs+=t.durationMs,await this.recordMetrics(t,n),t}async recordMetrics(e,n){if(this.metricsTracker)try{let r=`booster-${n}-${Date.now()}`;await this.metricsTracker.recordOutcome("booster",r,e.success,e.durationMs,{subType:n,confidence:e.confidence,usedFallback:e.usedFallback,implementationUsed:e.implementationUsed,itemCount:e.changeCount,errorMessage:e.error})}catch(r){this.logger.warn("Failed to record metrics",{error:r instanceof Error?r.message:"Unknown error"})}}async executeWithFallback(e,n,r){if(this.wasmAvailable)try{let t=await this.executeWasmTransform(e,n,r);if(t.success&&t.confidence>=this.config.confidenceThreshold)return t;this.logger.debug("WASM transform low confidence, trying TypeScript",{confidence:t.confidence,threshold:this.config.confidenceThreshold})}catch(t){this.logger.warn("WASM transform failed, falling back to TypeScript",{error:t instanceof Error?t.message:"Unknown error"})}let o=$(e,n,this.logger);return o.durationMs=Date.now()-r,this.config.fallbackToLLM&&o.confidence<this.config.confidenceThreshold&&(this.logger.debug("TypeScript transform low confidence, LLM fallback available",{confidence:o.confidence,threshold:this.config.confidenceThreshold}),o.warnings.push(`Confidence ${o.confidence.toFixed(2)} is below threshold ${this.config.confidenceThreshold}. LLM fallback recommended for review.`),o.usedFallback=!0),o}async executeWasmTransform(e,n,r){if(!this.wasmAvailable)throw new C;let o=K(n),t=$(e,n,this.logger);if(t.changeCount===0)return{...t,durationMs:Date.now()-r,implementationUsed:"wasm"};if(!y)throw new C("WASM transform function not loaded");let a=await Promise.race([y(e,t.transformedCode,o,{confidenceThreshold:this.config.confidenceThreshold,allowFallback:!0}),new Promise((m,u)=>setTimeout(()=>u(new P("WASM transform timed out",n,this.config.timeoutMs)),this.config.timeoutMs))]),i=Date.now()-r,l=a.success&&a.mergedCode!==e?t.changeCount:0;return{success:a.success,transformType:n,originalCode:e,transformedCode:a.mergedCode,edits:t.edits,changeCount:l,confidence:a.confidence,durationMs:i,implementationUsed:a.source==="wasm"?"wasm":"typescript",usedFallback:a.source!=="wasm",error:a.error,warnings:a.syntaxValid?[]:["WASM reported syntax may be invalid"]}}async batchTransform(e,n){this.ensureInitialized(),this.ensureEnabled();let r=Date.now(),o=[],t=[],a=0,i=0,l=0,m=0;for(let u of e){if(u.content.length>this.config.maxFileSizeBytes){let c=new B(u.path,u.content.length,this.config.maxFileSizeBytes);t.push({path:u.path,error:c.message}),i++;continue}try{let c=await this.transform(u.content,n);o.push({path:u.path,result:c}),c.success?c.changeCount>0?(a++,m+=c.changeCount):l++:(i++,c.error&&t.push({path:u.path,error:c.error}))}catch(c){i++,t.push({path:u.path,error:c instanceof Error?c.message:"Unknown error"})}}return{success:i===0,transformType:n,files:o,totalFiles:e.length,successCount:a,failureCount:i,noChangeCount:l,totalChanges:m,durationMs:Date.now()-r,errors:t}}async detectTransformOpportunities(e){this.ensureInitialized(),this.ensureEnabled();let n=Date.now(),r=[],o={},t=[];for(let a of b)o[a]=0;for(let a of Array.from(this.enabledTransforms))try{let i=await this.transform(e,a);if(i.changeCount>0)for(let l of i.edits){let m={type:a,confidence:i.confidence,location:l.start,codeSnippet:l.oldText.slice(0,100)+(l.oldText.length>100?"...":""),suggestedCode:l.newText.slice(0,100)+(l.newText.length>100?"...":""),reason:l.description,risk:this.confidenceToRisk(i.confidence),estimatedDurationMs:E[a].typicalLatencyMs};r.push(m),o[a]++}}catch(i){t.push(`Failed to analyze for ${a}: ${i instanceof Error?i.message:"Unknown error"}`)}return r.sort((a,i)=>i.confidence-a.confidence),{opportunities:r,totalCount:r.length,byType:o,durationMs:Date.now()-n,complete:t.length===0,warnings:t}}isTransformAvailable(e){return this.enabledTransforms.has(e)}getTransformMetadata(e){return E[e]}getAvailableTransforms(){return Array.from(this.enabledTransforms)}isWasmAvailable(){return this.wasmAvailable}getHealth(){let e=this.totalTransforms>0?this.totalDurationMs/this.totalTransforms:0,n=this.cacheHits+this.cacheMisses>0?this.cacheHits/(this.cacheHits+this.cacheMisses):0,r=[];return this.initialized||r.push("Adapter not initialized"),this.config.enabled||r.push("Adapter is disabled"),this.wasmAvailable||r.push("WASM module not loaded (using TypeScript fallback)"),this.patternsLoaded||r.push("Patterns not loaded from PatternLoader (using defaults)"),{ready:this.initialized&&this.config.enabled,wasmAvailable:this.wasmAvailable,patternsLoaded:this.patternsLoaded,availableTransforms:Array.from(this.enabledTransforms),lastChecked:new Date,issues:r,metrics:{totalTransforms:this.totalTransforms,successfulTransforms:this.successfulTransforms,averageDurationMs:e,cacheHitRate:n}}}ensureInitialized(){if(!this.initialized)throw new M("AgentBoosterAdapter not initialized. Call initialize() first.","var-to-const")}ensureEnabled(){if(!this.config.enabled)throw new M("AgentBoosterAdapter is disabled. Set enabled: true in config.","var-to-const")}createErrorResult(e,n,r,o){return{success:!1,transformType:n,originalCode:e,transformedCode:e,edits:[],changeCount:0,confidence:0,durationMs:Date.now()-o,implementationUsed:"typescript",usedFallback:!1,error:r,warnings:[]}}confidenceToRisk(e){return e>=.95?"info":e>=.85?"low":e>=.7?"medium":e>=.5?"high":"critical"}};async function ee(s={},e,n){let r=new v(s,e,n);return await r.initialize(),r}function re(s={},e,n){return new v(s,e,n)}export{v as a,ee as b,re as c};