agentic-qe 3.13.0 → 3.13.2

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 (386) hide show
  1. package/.agents/skills/aqe-plan-quality/SKILL.md +25 -0
  2. package/.agents/skills/aqe-plan-quality/agents/openai.yaml +4 -0
  3. package/.agents/skills/aqe-plan-quality/references/qe-routing.md +22 -0
  4. package/.agents/skills/aqe-review-quality/SKILL.md +24 -0
  5. package/.agents/skills/aqe-review-quality/agents/openai.yaml +4 -0
  6. package/.agents/skills/aqe-review-quality/references/quality-gates.md +20 -0
  7. package/.agents/skills/aqe-test-change/SKILL.md +26 -0
  8. package/.agents/skills/aqe-test-change/agents/openai.yaml +4 -0
  9. package/.agents/skills/aqe-test-change/references/test-specialties.md +23 -0
  10. package/.claude/helpers/ruflo-hook.cjs +5 -1
  11. package/.claude/skills/skills-manifest.json +1 -1
  12. package/.codex/hooks/aqe-codex-hook.cjs +69 -0
  13. package/.codex/hooks/ruflo-codex-hook.cjs +94 -0
  14. package/.codex/hooks.json +169 -0
  15. package/CHANGELOG.md +123 -0
  16. package/assets/skills/skills-manifest.json +1 -1
  17. package/dist/cli/bundle.js +5 -5
  18. package/dist/cli/chunks/adapter-I4SNWMCM.js +2 -0
  19. package/dist/cli/chunks/{agent-booster-wasm-ACX2DK7Y.js → agent-booster-wasm-PZYYTKSS.js} +2 -2
  20. package/dist/cli/chunks/{agent-handler-B45WP4ZJ.js → agent-handler-DNN7GXUN.js} +2 -2
  21. package/dist/cli/chunks/{agent-memory-branch-QQLZDE56.js → agent-memory-branch-LVCBBCQY.js} +2 -2
  22. package/dist/cli/chunks/aqe-learning-engine-WI47XKXI.js +2 -0
  23. package/dist/cli/chunks/{arena-SDB7723R.js → arena-422HSTPE.js} +2 -2
  24. package/dist/cli/chunks/{arena-G3IKZAG5.js → arena-OCEOLMCH.js} +4 -4
  25. package/dist/cli/chunks/{audit-GY46XUZA.js → audit-5O45K34M.js} +3 -3
  26. package/dist/cli/chunks/base-VJ6VDLD7.js +2 -0
  27. package/dist/cli/chunks/{hnswlib-node-RJPBJU2Q.js → better-sqlite3-Y36THYK2.js} +2 -2
  28. package/dist/cli/chunks/{brain-handler-347CYMPN.js → brain-handler-7VHXYN3P.js} +3 -3
  29. package/dist/cli/chunks/{branch-enumerator-Z3ULBFSM.js → branch-enumerator-PZKOD6S6.js} +2 -2
  30. package/dist/cli/chunks/{browser-OYEIHD7F.js → browser-M74UO4WJ.js} +2 -2
  31. package/dist/cli/chunks/browser-workflow-WRYHQQDU.js +2 -0
  32. package/dist/cli/chunks/{chunk-RVJPWRV6.js → chunk-24S5IUSI.js} +2 -2
  33. package/dist/cli/chunks/{chunk-3NOCK6ED.js → chunk-2DG44UZ5.js} +2 -2
  34. package/dist/cli/chunks/{chunk-34PEINFS.js → chunk-2QJPAQE5.js} +2 -2
  35. package/dist/cli/chunks/{chunk-SHCTEXNH.js → chunk-4DKL4H5L.js} +2 -2
  36. package/dist/cli/chunks/{chunk-A4QLGPYO.js → chunk-4FYTWD4Q.js} +2 -2
  37. package/dist/cli/chunks/{chunk-YFGAHNCG.js → chunk-4HFNY3Z2.js} +3 -3
  38. package/dist/cli/chunks/{chunk-RVRBTOWX.js → chunk-4PM5VORA.js} +2 -2
  39. package/dist/cli/chunks/{chunk-QWYISZTN.js → chunk-4SFOQSXU.js} +2 -2
  40. package/dist/cli/chunks/{chunk-RSFIOR2I.js → chunk-4STE6VLR.js} +87 -87
  41. package/dist/cli/chunks/{chunk-54MFKCLT.js → chunk-54BCLRRJ.js} +2 -2
  42. package/dist/cli/chunks/{chunk-IYDYJ33J.js → chunk-5AAG7JTB.js} +2 -2
  43. package/dist/cli/chunks/{chunk-TVMFH5N2.js → chunk-5EFNZEOB.js} +2 -2
  44. package/dist/cli/chunks/{chunk-GUEZQOHL.js → chunk-5GGGZYFA.js} +1 -1
  45. package/dist/cli/chunks/{chunk-5KAT6WBQ.js → chunk-5KMBZTDI.js} +2 -2
  46. package/dist/cli/chunks/{chunk-ANYYTWOQ.js → chunk-5XYVRTI6.js} +2 -2
  47. package/dist/cli/chunks/{chunk-ANIDFJCT.js → chunk-62D27BDO.js} +3 -3
  48. package/dist/cli/chunks/{chunk-SNTUKW4Q.js → chunk-6DMB6WK5.js} +2 -2
  49. package/dist/cli/chunks/{chunk-ZCFZ4USU.js → chunk-6R7TX5L4.js} +1 -1
  50. package/dist/cli/chunks/chunk-6UGYFYS4.js +2 -0
  51. package/dist/cli/chunks/chunk-6XHDH3IJ.js +3 -0
  52. package/dist/cli/chunks/{chunk-IHQTXJAQ.js → chunk-73HALJY5.js} +1 -1
  53. package/dist/cli/chunks/{chunk-7YXT6BXN.js → chunk-7TCVVVFA.js} +3 -3
  54. package/dist/cli/chunks/{chunk-RJZRWVL4.js → chunk-A2OD5Z4B.js} +1 -1
  55. package/dist/cli/chunks/{chunk-ES7WCYOU.js → chunk-AJ7A52GF.js} +1 -1
  56. package/dist/cli/chunks/{chunk-QCEW4ZDW.js → chunk-AP2BBV2D.js} +2 -2
  57. package/dist/cli/chunks/{chunk-FQLWQWRU.js → chunk-AS2HVJ42.js} +3 -3
  58. package/dist/cli/chunks/{chunk-7UNY32PU.js → chunk-ASIGTVFQ.js} +1 -1
  59. package/dist/cli/chunks/{chunk-EECM5XKY.js → chunk-B7KZMPF2.js} +1 -1
  60. package/dist/cli/chunks/{chunk-Z6QCOZ2H.js → chunk-BFKXHXWW.js} +2 -2
  61. package/dist/cli/chunks/{chunk-VC6EXDGY.js → chunk-BO2RBAPF.js} +2 -2
  62. package/dist/cli/chunks/{chunk-OXXMVQDF.js → chunk-BSQ32ZS5.js} +2 -2
  63. package/dist/cli/chunks/{chunk-WRYT4HTZ.js → chunk-CKTFKA7Q.js} +2 -2
  64. package/dist/cli/chunks/{chunk-QQB55ZJJ.js → chunk-CLBBFKXV.js} +2 -2
  65. package/dist/cli/chunks/{chunk-5FLTZ3KT.js → chunk-COOMXCCP.js} +2 -2
  66. package/dist/cli/chunks/{chunk-DYUC7WFA.js → chunk-DAHNHVND.js} +1 -1
  67. package/dist/cli/chunks/{chunk-6AOBLBR4.js → chunk-DCQQJLUY.js} +2 -2
  68. package/dist/cli/chunks/{chunk-LBE2P6UC.js → chunk-DIPOFCBX.js} +2 -2
  69. package/dist/cli/chunks/{chunk-EFRESRLB.js → chunk-DL2HDULJ.js} +5 -5
  70. package/dist/cli/chunks/{chunk-YRQLVGCI.js → chunk-DQXSDWRP.js} +2 -2
  71. package/dist/cli/chunks/{chunk-QI4CGJNK.js → chunk-E6JJ4ZRQ.js} +1 -1
  72. package/dist/cli/chunks/{chunk-KUA4HHU6.js → chunk-E6PYV3DB.js} +2 -2
  73. package/dist/cli/chunks/{chunk-ZJG6N2OK.js → chunk-EABGQVTV.js} +1 -1
  74. package/dist/cli/chunks/{chunk-U2SW6KK5.js → chunk-EFHMS7TJ.js} +2 -2
  75. package/dist/cli/chunks/{chunk-CWUBOLKY.js → chunk-ELVUERQW.js} +2 -2
  76. package/dist/cli/chunks/{chunk-A7GLWWSE.js → chunk-EU7NUUL6.js} +1 -1
  77. package/dist/cli/chunks/{chunk-3UHEZ5HZ.js → chunk-F6UMLI5Y.js} +2 -2
  78. package/dist/cli/chunks/{chunk-TZPKTRJB.js → chunk-FECBWGCA.js} +2 -2
  79. package/dist/cli/chunks/{chunk-OETDMOOE.js → chunk-FFMUTX26.js} +1 -1
  80. package/dist/cli/chunks/{chunk-VLNPJAVH.js → chunk-FJ2L6P7O.js} +1 -1
  81. package/dist/cli/chunks/{chunk-2DIT5AUU.js → chunk-FMYNKZ2S.js} +2 -2
  82. package/dist/cli/chunks/{chunk-L4LLA5U7.js → chunk-FXXXLDB3.js} +1 -1
  83. package/dist/cli/chunks/{chunk-D3MPV5G7.js → chunk-FZEWEG6Q.js} +2 -2
  84. package/dist/cli/chunks/{chunk-BGYLNCL6.js → chunk-G4LZ5SBC.js} +2 -2
  85. package/dist/cli/chunks/{chunk-J3L52EA4.js → chunk-GHJRLC3C.js} +5 -5
  86. package/dist/cli/chunks/{chunk-3JVUWKCO.js → chunk-GKKD22CC.js} +2 -2
  87. package/dist/cli/chunks/{chunk-32ZGV4Q4.js → chunk-GMKJWOXZ.js} +1 -1
  88. package/dist/cli/chunks/chunk-GMKQJEKX.js +2 -0
  89. package/dist/cli/chunks/{chunk-3GSYD5SL.js → chunk-GZ775E5O.js} +2 -2
  90. package/dist/cli/chunks/{chunk-GTUFX7AR.js → chunk-H6C2YTPX.js} +2 -2
  91. package/dist/cli/chunks/{chunk-UIPPJKON.js → chunk-HANBJ37Z.js} +2 -2
  92. package/dist/cli/chunks/{chunk-ZOXWASCC.js → chunk-HANJESCY.js} +2 -2
  93. package/dist/cli/chunks/{chunk-JPIBPKBP.js → chunk-HD6PZHLC.js} +3 -3
  94. package/dist/cli/chunks/{chunk-FQY3UTGA.js → chunk-HHUKHEW5.js} +2 -2
  95. package/dist/cli/chunks/{chunk-W5YEIHIO.js → chunk-HQCJYUKC.js} +2 -2
  96. package/dist/cli/chunks/{chunk-CYL2FV23.js → chunk-IIZ3HBPV.js} +2 -2
  97. package/dist/cli/chunks/{chunk-HTPM3URI.js → chunk-IV77BQ2R.js} +2 -2
  98. package/dist/cli/chunks/{chunk-THBTN7XB.js → chunk-J722Z7VO.js} +2 -2
  99. package/dist/cli/chunks/{chunk-5EIOQCGN.js → chunk-JDRYENTD.js} +2 -2
  100. package/dist/cli/chunks/{chunk-NQNKKVNO.js → chunk-JKVUSXT4.js} +3 -3
  101. package/dist/cli/chunks/{chunk-CQFT7H3F.js → chunk-JMRUHQEL.js} +2 -2
  102. package/dist/cli/chunks/{chunk-PERJO2DY.js → chunk-JPO4AC5Q.js} +1 -1
  103. package/dist/cli/chunks/{chunk-KSYLRM4Q.js → chunk-JPPHM3I6.js} +2 -2
  104. package/dist/cli/chunks/{chunk-56WZFXTQ.js → chunk-K3MNTU4O.js} +2 -2
  105. package/dist/cli/chunks/{chunk-CPH5JP4L.js → chunk-K47EWX3M.js} +1 -1
  106. package/dist/cli/chunks/{chunk-7DMXCCSD.js → chunk-KAHMXURL.js} +1 -1
  107. package/dist/cli/chunks/{chunk-UNIBND6A.js → chunk-KHVW6DQS.js} +1 -1
  108. package/dist/cli/chunks/{chunk-RLCWR7TS.js → chunk-KKPWS3XJ.js} +98 -88
  109. package/dist/cli/chunks/chunk-KRRGOJ6K.js +2 -0
  110. package/dist/cli/chunks/chunk-LEOSNZR2.js +2 -0
  111. package/dist/cli/chunks/{chunk-TNRIGQ6U.js → chunk-LG6UUM55.js} +2 -2
  112. package/dist/cli/chunks/{chunk-HOKON5EL.js → chunk-LJWIBYTR.js} +2 -2
  113. package/dist/cli/chunks/{chunk-N7VOOI3U.js → chunk-LQDQTLWV.js} +2 -2
  114. package/dist/cli/chunks/{chunk-2NRZYQSF.js → chunk-LXYVWAFN.js} +2 -2
  115. package/dist/cli/chunks/{chunk-YPTGE5NJ.js → chunk-LZNJ7HXB.js} +2 -2
  116. package/dist/cli/chunks/{chunk-6SXKCIN5.js → chunk-M4JZOCV3.js} +1 -1
  117. package/dist/cli/chunks/{chunk-UMG5URNV.js → chunk-MBTVAIFF.js} +1 -1
  118. package/dist/cli/chunks/{chunk-N5MMBA35.js → chunk-MNDPSIEI.js} +1 -1
  119. package/dist/cli/chunks/{chunk-L4S722JD.js → chunk-MUSLUG6Y.js} +1 -1
  120. package/dist/cli/chunks/{chunk-VLBV2VL3.js → chunk-MVJ5UQI3.js} +1 -1
  121. package/dist/cli/chunks/{chunk-XFCWYQHW.js → chunk-N2AGOQCL.js} +2 -2
  122. package/dist/cli/chunks/{chunk-KVL63BSU.js → chunk-N4O2RWSL.js} +1 -1
  123. package/dist/cli/chunks/{chunk-L2SFGFE6.js → chunk-NBRKZOPM.js} +1 -1
  124. package/dist/cli/chunks/{chunk-NETN3OUG.js → chunk-NIE3SGZM.js} +1 -1
  125. package/dist/cli/chunks/{chunk-LOXVVMS4.js → chunk-NNIKJZA4.js} +3 -3
  126. package/dist/cli/chunks/{chunk-5ICQL42E.js → chunk-NTKIDOIW.js} +2 -2
  127. package/dist/cli/chunks/{chunk-Q7PBGNUD.js → chunk-ODE7Z667.js} +1 -1
  128. package/dist/cli/chunks/{chunk-K5N6SLHO.js → chunk-OYWZYG6Q.js} +1 -1
  129. package/dist/cli/chunks/{chunk-CFVEDUTW.js → chunk-P33EORZZ.js} +2 -2
  130. package/dist/cli/chunks/{chunk-R3GEXYO4.js → chunk-PILZKQX7.js} +2 -2
  131. package/dist/cli/chunks/{chunk-ZJIX5FGQ.js → chunk-PJOH5Z5I.js} +2 -2
  132. package/dist/cli/chunks/{chunk-JGM6XCCP.js → chunk-PNQWEOE2.js} +1 -1
  133. package/dist/cli/chunks/{chunk-XKFE3FLI.js → chunk-PRQPUOSH.js} +2 -2
  134. package/dist/cli/chunks/{chunk-LWYLW7RX.js → chunk-PT6NTWGT.js} +2 -2
  135. package/dist/cli/chunks/{chunk-FBBZHATF.js → chunk-Q45FBGVV.js} +1 -1
  136. package/dist/cli/chunks/{chunk-SRQ3CPJE.js → chunk-Q625ISQI.js} +4 -4
  137. package/dist/cli/chunks/{chunk-BOVH6WSM.js → chunk-QS6TI7NR.js} +2 -2
  138. package/dist/cli/chunks/{chunk-4BDLD7V2.js → chunk-QVD3LU27.js} +1 -1
  139. package/dist/cli/chunks/{chunk-ZLXBNNNT.js → chunk-QZACODX6.js} +2 -2
  140. package/dist/cli/chunks/{chunk-NUQBJGGF.js → chunk-REBNPQI7.js} +2 -2
  141. package/dist/cli/chunks/{chunk-FAQLI3P5.js → chunk-RF2DMPX2.js} +2 -2
  142. package/dist/cli/chunks/{chunk-2VQVEQS4.js → chunk-RI2V2U2N.js} +2 -2
  143. package/dist/cli/chunks/{chunk-GJMZR7WU.js → chunk-RJYAUJDC.js} +3 -3
  144. package/dist/cli/chunks/{chunk-KZTBNDNE.js → chunk-RWHHOQIC.js} +1 -1
  145. package/dist/cli/chunks/{chunk-ZEIG5IQ4.js → chunk-RWUK5VMZ.js} +2 -2
  146. package/dist/cli/chunks/{chunk-E3B5XTXJ.js → chunk-SOOI2HJB.js} +1 -1
  147. package/dist/cli/chunks/{chunk-IPHLXAMX.js → chunk-T2XXTEZV.js} +2 -2
  148. package/dist/cli/chunks/{chunk-USMDIIHY.js → chunk-T55XIENI.js} +2 -2
  149. package/dist/cli/chunks/{chunk-VSNRPMAZ.js → chunk-T726SRYP.js} +2 -2
  150. package/dist/cli/chunks/{chunk-RDU4WTV2.js → chunk-TLG56A27.js} +2 -2
  151. package/dist/cli/chunks/{chunk-FUU32QY5.js → chunk-TTWWCWAR.js} +2 -2
  152. package/dist/cli/chunks/{chunk-LXPB7H2P.js → chunk-TVWX7NYD.js} +1 -1
  153. package/dist/cli/chunks/{chunk-G5DFYX3J.js → chunk-U2FCUBBW.js} +2 -2
  154. package/dist/cli/chunks/{chunk-DRIJYTSK.js → chunk-UIQVVS7K.js} +2 -2
  155. package/dist/cli/chunks/{chunk-6DTOGSDV.js → chunk-UPGJZA3D.js} +4 -4
  156. package/dist/cli/chunks/{chunk-3K4SF57Q.js → chunk-UVLWT6QM.js} +1 -1
  157. package/dist/cli/chunks/{chunk-FL3BM54K.js → chunk-VKU5BUUC.js} +1 -1
  158. package/dist/cli/chunks/{chunk-AO7AHX6K.js → chunk-VOYUCJLK.js} +2 -2
  159. package/dist/cli/chunks/{chunk-BCKTBGDM.js → chunk-WMK2ZNLM.js} +3 -3
  160. package/dist/cli/chunks/{chunk-4BESADKE.js → chunk-WTSVP6OK.js} +2 -2
  161. package/dist/cli/chunks/{chunk-MBCGI3M2.js → chunk-XS2S3ECA.js} +5 -5
  162. package/dist/cli/chunks/chunk-XXQLFPIK.js +2 -0
  163. package/dist/cli/chunks/{chunk-HL2QMM4M.js → chunk-XZOTFJHU.js} +2 -2
  164. package/dist/cli/chunks/{chunk-QTU3CVOB.js → chunk-YTHUTBBH.js} +2 -2
  165. package/dist/cli/chunks/{chunk-BUGWPTMF.js → chunk-YWJ2GPD4.js} +2 -2
  166. package/dist/cli/chunks/{chunk-GFBLWFRV.js → chunk-YXTDCP6H.js} +1 -1
  167. package/dist/cli/chunks/{chunk-TZ73SXQ5.js → chunk-YZUMCXH6.js} +1 -1
  168. package/dist/cli/chunks/{chunk-VHYMSZNF.js → chunk-ZIT5VF43.js} +2 -2
  169. package/dist/cli/chunks/{chunk-IZRLIWFN.js → chunk-ZY5FB3JV.js} +2 -2
  170. package/dist/cli/chunks/{ci-74ZUCO5V.js → ci-EOFZKCSH.js} +2 -2
  171. package/dist/cli/chunks/{ci-output-HD6IZNJA.js → ci-output-TAJFQWDP.js} +2 -2
  172. package/dist/cli/chunks/{circuit-breaker-USZVMA42.js → circuit-breaker-QA7YJ3IF.js} +2 -2
  173. package/dist/cli/chunks/{claude-flow-setup-S4XKNCD5.js → claude-flow-setup-4RNAIALK.js} +2 -2
  174. package/dist/cli/chunks/client-N2WAM5IK.js +2 -0
  175. package/dist/cli/chunks/{cline-installer-6EW4CHAR.js → cline-installer-K25NUUA4.js} +2 -2
  176. package/dist/cli/chunks/{code-TOLWD2XL.js → code-JM4D3I2W.js} +2 -2
  177. package/dist/cli/chunks/{code-index-extractor-UA4QQ7B3.js → code-index-extractor-6B6TJ2B5.js} +2 -2
  178. package/dist/cli/chunks/codex-installer-GRUENCIO.js +10 -0
  179. package/dist/cli/chunks/{completions-KVUMQQ4K.js → completions-LADTXGCC.js} +2 -2
  180. package/dist/cli/chunks/{complexity-analyzer-DFH6LMK2.js → complexity-analyzer-IQITOJH5.js} +2 -2
  181. package/dist/cli/chunks/{continuedev-installer-LYDQSAU7.js → continuedev-installer-H6NAXFZK.js} +2 -2
  182. package/dist/cli/chunks/{copilot-installer-7USXLZHZ.js → copilot-installer-W7HCQKOS.js} +2 -2
  183. package/dist/cli/chunks/core-handlers-VSX474R3.js +2 -0
  184. package/dist/cli/chunks/{cost-tracker-JBDIUMKZ.js → cost-tracker-MC7KEENQ.js} +2 -2
  185. package/dist/cli/chunks/{coverage-RGO3K357.js → coverage-NOOKPFYQ.js} +3 -3
  186. package/dist/cli/chunks/cross-domain-router-VNE7QKX4.js +2 -0
  187. package/dist/cli/chunks/{cursor-installer-YEZGD37F.js → cursor-installer-GOZ64GZJ.js} +2 -2
  188. package/dist/cli/chunks/{daemon-FVETQ3LL.js → daemon-G4ABQMFJ.js} +3 -3
  189. package/dist/cli/chunks/{daemon-LPEXHNYG.js → daemon-V23WTCJJ.js} +4 -4
  190. package/dist/cli/chunks/{dag-attention-scheduler-UKYE2FII.js → dag-attention-scheduler-YKOO6ZWL.js} +2 -2
  191. package/dist/cli/chunks/{detect-WBG5P7ER.js → detect-SNEMKQGJ.js} +2 -2
  192. package/dist/cli/chunks/{dist-node-YW6YRBCU.js → dist-node-VBNEM6K6.js} +2 -2
  193. package/dist/cli/chunks/{domain-handler-HH7J4A32.js → domain-handler-2G5XEERC.js} +2 -2
  194. package/dist/cli/chunks/{domain-transfer-V34GXD5I.js → domain-transfer-HSEUUM7E.js} +2 -2
  195. package/dist/cli/chunks/dream-A5LVJU7T.js +2 -0
  196. package/dist/cli/chunks/{embed-and-insert-pattern-WYLRS3CL.js → embed-and-insert-pattern-H6MU5HK4.js} +2 -2
  197. package/dist/cli/chunks/{eval-EIMVXY5J.js → eval-XYVDJXJF.js} +2 -2
  198. package/dist/cli/chunks/{experience-capture-middleware-QMZHRUKM.js → experience-capture-middleware-BZQJVXTE.js} +3 -3
  199. package/dist/cli/chunks/{fast-paths-NHLW6XS6.js → fast-paths-76WWBJ4H.js} +2 -2
  200. package/dist/cli/chunks/{feature-flags-NE3MBL3P.js → feature-flags-7E5YZ4P5.js} +2 -2
  201. package/dist/cli/chunks/{feature-flags-N3UHMSZ3.js → feature-flags-SCQ35J6M.js} +2 -2
  202. package/dist/cli/chunks/{file-discovery-SI44X4YS.js → file-discovery-LU5MAXWA.js} +2 -2
  203. package/dist/cli/chunks/{fleet-MMYUXRRM.js → fleet-M3TH65SV.js} +3 -3
  204. package/dist/cli/chunks/{gnn-wrapper-RLYXYU2Q.js → gnn-wrapper-OYUJEJD2.js} +2 -2
  205. package/dist/cli/chunks/{heartbeat-handler-6EDRUYLV.js → heartbeat-handler-II4NSOXK.js} +4 -4
  206. package/dist/cli/chunks/heartbeat-scheduler-CFZ6DNQY.js +2 -0
  207. package/dist/cli/chunks/hnsw-adapter-I4Y2T4HO.js +2 -0
  208. package/dist/cli/chunks/hnsw-index-SBR5VYGN.js +2 -0
  209. package/dist/cli/chunks/{hnsw-legacy-bridge-RVM7EAIH.js → hnsw-legacy-bridge-322R2UAB.js} +2 -2
  210. package/dist/cli/chunks/{better-sqlite3-DUZ6FFAH.js → hnswlib-node-OVLAHTPU.js} +2 -2
  211. package/dist/cli/chunks/{hooks-ZF4VKHEO.js → hooks-2A27XCUJ.js} +37 -37
  212. package/dist/cli/chunks/hybrid-router-E6YM74NQ.js +2 -0
  213. package/dist/cli/chunks/{hypergraph-engine-YWS66PGO.js → hypergraph-engine-ERA527UR.js} +2 -2
  214. package/dist/cli/chunks/{hypergraph-handler-OQHVRPWB.js → hypergraph-handler-7XL4OL6W.js} +3 -3
  215. package/dist/cli/chunks/impact-analyzer-GHYFSSMJ.js +2 -0
  216. package/dist/cli/chunks/{init-handler-YW74YF2V.js → init-handler-WN6KQ5WY.js} +6 -6
  217. package/dist/cli/chunks/init-wizard-KAN5KOGD.js +2 -0
  218. package/dist/cli/chunks/kernel-LET4HEEF.js +2 -0
  219. package/dist/cli/chunks/{kilocode-installer-APWB2GMA.js → kilocode-installer-5UCCFZ7V.js} +2 -2
  220. package/dist/cli/chunks/{kiro-installer-DICKFVNC.js → kiro-installer-77DPEP3K.js} +2 -2
  221. package/dist/cli/chunks/knowledge-graph-P3UJWNQS.js +2 -0
  222. package/dist/cli/chunks/{learning-MXHNYW5D.js → learning-A5GKUD73.js} +3 -3
  223. package/dist/cli/chunks/{llm-router-LTFIX7NY.js → llm-router-SINJNEGP.js} +4 -4
  224. package/dist/cli/chunks/llm-router-service-BOBENURJ.js +2 -0
  225. package/dist/cli/chunks/{load-JUMIQ4LZ.js → load-Q56GLXHJ.js} +2 -2
  226. package/dist/cli/chunks/load-test-4VDCVB7S.js +2 -0
  227. package/dist/cli/chunks/{mcp-WHIARJGO.js → mcp-VBDU2WLY.js} +2 -2
  228. package/dist/cli/chunks/{memory-KAHS6Z5A.js → memory-IGWBRDIT.js} +5 -5
  229. package/dist/cli/chunks/memory-backend-RRFAYQYS.js +2 -0
  230. package/dist/cli/chunks/{memory-handlers-DG3RRXB6.js → memory-handlers-IITHQ7KV.js} +2 -2
  231. package/dist/cli/chunks/{multi-model-executor-E3Y2RHMX.js → multi-model-executor-2QUEY4CC.js} +2 -2
  232. package/dist/cli/chunks/{opencode-installer-3RKGNGGE.js → opencode-installer-FZJ5N2B3.js} +2 -2
  233. package/dist/cli/chunks/{orchestrator-TXITUKWD.js → orchestrator-BGLDS47V.js} +5 -5
  234. package/dist/cli/chunks/pattern-null-store-V7DEZEF2.js +2 -0
  235. package/dist/cli/chunks/{pattern-usage-recorder-EE2BUFZT.js → pattern-usage-recorder-4MFN4WKV.js} +2 -2
  236. package/dist/cli/chunks/{pipeline-AXTT6KZB.js → pipeline-GZHAORGP.js} +2 -2
  237. package/dist/cli/chunks/{platform-TICPVKE2.js → platform-TZEX4YZQ.js} +2 -2
  238. package/dist/cli/chunks/{plugin-VQKNV3EM.js → plugin-VEYUFCNY.js} +2 -2
  239. package/dist/cli/chunks/{prime-radiant-advanced-wasm-6GY5YY7D.js → prime-radiant-advanced-wasm-OA5DLXJJ.js} +2 -2
  240. package/dist/cli/chunks/protocol-executor-I3C2ZETP.js +2 -0
  241. package/dist/cli/chunks/{protocol-handler-YFWDR7UZ.js → protocol-handler-MVJ5N4X5.js} +2 -2
  242. package/dist/cli/chunks/{prove-FUMRCXAA.js → prove-VKF7YCUA.js} +2 -2
  243. package/dist/cli/chunks/provider-manager-HB4YVQDI.js +2 -0
  244. package/dist/cli/chunks/qe-reasoning-bank-RDLBAXJY.js +2 -0
  245. package/dist/cli/chunks/{quality-2APISBW5.js → quality-NLB5LVGM.js} +2 -2
  246. package/dist/cli/chunks/{quality-gate-MCC3E5TM.js → quality-gate-OM6A7FQM.js} +3 -3
  247. package/dist/cli/chunks/queen-coordinator-QRWRNUDR.js +2 -0
  248. package/dist/cli/chunks/{real-embeddings-CC5TNOTI.js → real-embeddings-NONEKGAV.js} +2 -2
  249. package/dist/cli/chunks/{roocode-installer-YAHTEVPI.js → roocode-installer-ORXQQO3F.js} +2 -2
  250. package/dist/cli/chunks/router-WDF7KV4M.js +2 -0
  251. package/dist/cli/chunks/routing-feedback-DHYB4ZNL.js +2 -0
  252. package/dist/cli/chunks/{routing-handler-6NQBW4TQ.js → routing-handler-LGMIBVDS.js} +2 -2
  253. package/dist/cli/chunks/{ruvector-commands-ZHXLHUPG.js → ruvector-commands-4GZMU4BZ.js} +2 -2
  254. package/dist/cli/chunks/{rvf-dual-writer-5KF2DGCW.js → rvf-dual-writer-45HKI22F.js} +2 -2
  255. package/dist/cli/chunks/{rvf-migration-adapter-BBU57BGF.js → rvf-migration-adapter-RHYIXI3I.js} +2 -2
  256. package/dist/cli/chunks/{rvf-migration-coordinator-VN4VRZA4.js → rvf-migration-coordinator-ANTAYKNN.js} +2 -2
  257. package/dist/cli/chunks/rvf-native-adapter-7W53TYTH.js +2 -0
  258. package/dist/cli/chunks/{rvf-store-integrity-XCY2XQZA.js → rvf-store-integrity-CPQUTFST.js} +2 -2
  259. package/dist/cli/chunks/safe-db-4HBFO7OQ.js +2 -0
  260. package/dist/cli/chunks/schedule-M2OSBJZM.js +2 -0
  261. package/dist/cli/chunks/scheduler-JWV5MSGE.js +2 -0
  262. package/dist/cli/chunks/{security-PYP4H3KN.js → security-BM6LMCBI.js} +3 -3
  263. package/dist/cli/chunks/{shared-rvf-adapter-3CJHRNX6.js → shared-rvf-adapter-3HGARKJX.js} +2 -2
  264. package/dist/cli/chunks/{shared-rvf-dual-writer-MKSLKWDI.js → shared-rvf-dual-writer-UQ4O46ZI.js} +2 -2
  265. package/dist/cli/chunks/sqlite-persistence-QA4JRQZ2.js +2 -0
  266. package/dist/cli/chunks/{status-handler-VYIZ3VJF.js → status-handler-TGRAM5PC.js} +2 -2
  267. package/dist/cli/chunks/{structural-health-MVV4OWXP.js → structural-health-RXETMBB3.js} +2 -2
  268. package/dist/cli/chunks/{sync-VNX6L3TI.js → sync-B4KEYFCP.js} +2 -2
  269. package/dist/cli/chunks/{sync-G47OYIQ3.js → sync-JTBZIACA.js} +2 -2
  270. package/dist/cli/chunks/{task-handler-GOWF2GEH.js → task-handler-D7VXHWPG.js} +2 -2
  271. package/dist/cli/chunks/{task-handlers-J2WC6J37.js → task-handlers-XF6VVPTR.js} +3 -3
  272. package/dist/cli/chunks/{test-DMCJ3BXS.js → test-BKEIMBSX.js} +4 -4
  273. package/dist/cli/chunks/{test-scheduling-TRFHHKFM.js → test-scheduling-A4OHR7KW.js} +3 -3
  274. package/dist/cli/chunks/{token-bootstrap-KEQ7AHFF.js → token-bootstrap-LIDDAOAK.js} +2 -2
  275. package/dist/cli/chunks/{token-usage-B54FOFOF.js → token-usage-BJUFIU4V.js} +2 -2
  276. package/dist/cli/chunks/{transformers-IACZG7IV.js → transformers-YYUQCGMV.js} +2 -2
  277. package/dist/cli/chunks/{tree-sitter-wasm-parser-N7H4X37E.js → tree-sitter-wasm-parser-DFXYTJ23.js} +2 -2
  278. package/dist/cli/chunks/{types-B3SHT4OD.js → types-Z75HK5HH.js} +2 -2
  279. package/dist/cli/chunks/unified-memory-BEUZQTTC.js +2 -0
  280. package/dist/cli/chunks/unified-memory-hnsw-FHLSAEX4.js +2 -0
  281. package/dist/cli/chunks/unified-persistence-TVEQGCSB.js +2 -0
  282. package/dist/cli/chunks/{upgrade-A2PQ5EWK.js → upgrade-NETNZZH3.js} +2 -2
  283. package/dist/cli/chunks/{validate-UXV7UQUT.js → validate-U2WQ7P6T.js} +2 -2
  284. package/dist/cli/chunks/{validate-swarm-MMBU4FPP.js → validate-swarm-DKD7H2E3.js} +2 -2
  285. package/dist/cli/chunks/{vibium-R4GUVADA.js → vibium-FOQ73JBW.js} +2 -2
  286. package/dist/cli/chunks/visual-security-AYV46OUO.js +2 -0
  287. package/dist/cli/chunks/{web-tree-sitter-MP6E6CJB.js → web-tree-sitter-PQXWMQO6.js} +2 -2
  288. package/dist/cli/chunks/{windsurf-installer-Z6BWMUUO.js → windsurf-installer-CTFSFOBX.js} +2 -2
  289. package/dist/cli/chunks/{witness-chain-EFLTABBA.js → witness-chain-NCRHNFQM.js} +2 -2
  290. package/dist/cli/chunks/witness-chain-RU356H6R.js +2 -0
  291. package/dist/cli/chunks/{witness-key-manager-PN36TV43.js → witness-key-manager-WGCSSB23.js} +2 -2
  292. package/dist/cli/chunks/{workflow-A2AX3RJU.js → workflow-FE5QGP2U.js} +4 -4
  293. package/dist/cli/chunks/workflow-orchestrator-N2DQTC3X.js +2 -0
  294. package/dist/cli/chunks/{wrappers-NA6FHA63.js → wrappers-AHL5K2LO.js} +2 -2
  295. package/dist/cli/commands/hooks-handlers/hooks-shared.d.ts +9 -0
  296. package/dist/cli/commands/hooks-handlers/hooks-shared.js +38 -0
  297. package/dist/cli/commands/hooks.d.ts +2 -2
  298. package/dist/cli/commands/hooks.js +8 -2
  299. package/dist/cli/handlers/init-handler.js +1 -1
  300. package/dist/coordination/handlers/coverage-collection.d.ts +161 -0
  301. package/dist/coordination/handlers/coverage-collection.js +643 -0
  302. package/dist/coordination/handlers/coverage-handlers.js +199 -146
  303. package/dist/coordination/handlers/handler-types.d.ts +6 -1
  304. package/dist/coordination/handlers/handler-utils.js +10 -3
  305. package/dist/coordination/handlers/security-handlers.js +17 -2
  306. package/dist/coordination/handlers/test-execution-handlers.js +16 -1
  307. package/dist/coordination/queen-coordinator.js +4 -3
  308. package/dist/coordination/result-saver.js +119 -97
  309. package/dist/coordination/task-executor.d.ts +26 -1
  310. package/dist/coordination/task-executor.js +52 -4
  311. package/dist/domains/code-intelligence/services/knowledge-graph.js +8 -0
  312. package/dist/domains/coverage-analysis/services/coverage-analyzer.js +4 -0
  313. package/dist/domains/coverage-analysis/services/gap-detector.js +4 -0
  314. package/dist/domains/defect-intelligence/services/defect-predictor.js +4 -0
  315. package/dist/domains/defect-intelligence/services/root-cause-analyzer.js +4 -0
  316. package/dist/domains/quality-assessment/services/deployment-advisor.js +4 -0
  317. package/dist/domains/quality-assessment/services/quality-analyzer.js +4 -0
  318. package/dist/domains/security-compliance/services/scanners/sast-scanner.js +4 -0
  319. package/dist/domains/test-generation/index.js +17 -2
  320. package/dist/domains/test-generation/services/test-generator.js +31 -9
  321. package/dist/init/codex-installer.d.ts +13 -0
  322. package/dist/init/codex-installer.js +122 -1
  323. package/dist/init/phases/09-assets.js +4 -0
  324. package/dist/init/phases/phase-interface.d.ts +1 -1
  325. package/dist/integrations/ruvector/rvf-store-integrity.js +5 -1
  326. package/dist/integrations/ruvector/shared-rvf-adapter.js +5 -5
  327. package/dist/learning/real-embeddings.js +15 -1
  328. package/dist/mcp/bundle.js +429 -419
  329. package/dist/mcp/handlers/domain-handler-configs.js +79 -14
  330. package/dist/mcp/types.d.ts +42 -4
  331. package/dist/optimization/session-cache.d.ts +13 -1
  332. package/dist/optimization/session-cache.js +27 -2
  333. package/dist/shared/llm/llm-router-service.js +59 -4
  334. package/dist/shared/llm/router/agent-router-config.d.ts +46 -2
  335. package/dist/shared/llm/router/agent-router-config.js +124 -2
  336. package/dist/shared/llm/router/config-store.d.ts +17 -1
  337. package/dist/shared/llm/router/config-store.js +103 -0
  338. package/dist/shared/llm/router/index.d.ts +2 -2
  339. package/dist/shared/llm/router/index.js +2 -0
  340. package/dist/shared/llm/router/types.d.ts +44 -0
  341. package/dist/shared/llm/router/types.js +1 -0
  342. package/package.json +9 -6
  343. package/dist/cli/chunks/adapter-CWIMFWAI.js +0 -2
  344. package/dist/cli/chunks/aqe-learning-engine-OTXT2DLN.js +0 -2
  345. package/dist/cli/chunks/base-O3SPSWBA.js +0 -2
  346. package/dist/cli/chunks/browser-workflow-MXS3ZKY2.js +0 -2
  347. package/dist/cli/chunks/chunk-G4GTE3RJ.js +0 -2
  348. package/dist/cli/chunks/chunk-G7FMYFTN.js +0 -2
  349. package/dist/cli/chunks/chunk-HVB2L52I.js +0 -2
  350. package/dist/cli/chunks/chunk-MVI2QMRW.js +0 -2
  351. package/dist/cli/chunks/chunk-OZR25R7W.js +0 -2
  352. package/dist/cli/chunks/chunk-PP2RYSHT.js +0 -3
  353. package/dist/cli/chunks/client-33PGO5FA.js +0 -2
  354. package/dist/cli/chunks/codex-installer-C2CUP4FW.js +0 -8
  355. package/dist/cli/chunks/core-handlers-CSNZIM3A.js +0 -2
  356. package/dist/cli/chunks/cross-domain-router-DRIBR5L3.js +0 -2
  357. package/dist/cli/chunks/dream-WUNO723O.js +0 -2
  358. package/dist/cli/chunks/heartbeat-scheduler-VAFQDJLL.js +0 -2
  359. package/dist/cli/chunks/hnsw-adapter-TIRPA7XE.js +0 -2
  360. package/dist/cli/chunks/hnsw-index-SSQBRQCQ.js +0 -2
  361. package/dist/cli/chunks/hybrid-router-AKBWZOQ3.js +0 -2
  362. package/dist/cli/chunks/impact-analyzer-46FQIZ6Y.js +0 -2
  363. package/dist/cli/chunks/init-wizard-U3NHGYSS.js +0 -2
  364. package/dist/cli/chunks/kernel-ZDXHT6QF.js +0 -2
  365. package/dist/cli/chunks/knowledge-graph-6XTW6WO6.js +0 -2
  366. package/dist/cli/chunks/llm-router-service-3F4E64SY.js +0 -2
  367. package/dist/cli/chunks/load-test-SWZNGEIY.js +0 -2
  368. package/dist/cli/chunks/memory-backend-PR74ZPBA.js +0 -2
  369. package/dist/cli/chunks/pattern-null-store-EPE36BVT.js +0 -2
  370. package/dist/cli/chunks/protocol-executor-IELENNST.js +0 -2
  371. package/dist/cli/chunks/provider-manager-3R3KOBHG.js +0 -2
  372. package/dist/cli/chunks/qe-reasoning-bank-S2R2PCBS.js +0 -2
  373. package/dist/cli/chunks/queen-coordinator-2E23NEV4.js +0 -2
  374. package/dist/cli/chunks/router-3FVLWO6S.js +0 -2
  375. package/dist/cli/chunks/routing-feedback-ZQLRNNR7.js +0 -2
  376. package/dist/cli/chunks/rvf-native-adapter-YFGLQNEB.js +0 -2
  377. package/dist/cli/chunks/safe-db-4SBLBTW7.js +0 -2
  378. package/dist/cli/chunks/schedule-5Y3BGVAA.js +0 -2
  379. package/dist/cli/chunks/scheduler-DOID3QF3.js +0 -2
  380. package/dist/cli/chunks/sqlite-persistence-M4JEQO57.js +0 -2
  381. package/dist/cli/chunks/unified-memory-WNYWTGVX.js +0 -2
  382. package/dist/cli/chunks/unified-memory-hnsw-YPAV7U4E.js +0 -2
  383. package/dist/cli/chunks/unified-persistence-TJ252S7L.js +0 -2
  384. package/dist/cli/chunks/visual-security-VKYXEGJB.js +0 -2
  385. package/dist/cli/chunks/witness-chain-WVXRXKQP.js +0 -2
  386. package/dist/cli/chunks/workflow-orchestrator-GOWSPR3G.js +0 -2
@@ -21,6 +21,11 @@ import * as fs from 'fs';
21
21
  import * as path from 'path';
22
22
  import { findProjectRoot } from '../../../kernel/unified-memory.js';
23
23
  import { DEFAULT_ROUTER_CONFIG, ALL_PROVIDER_TYPES } from './types.js';
24
+ import { createLogger } from '../../../logging/logger-factory.js';
25
+ // `console.warn` is not usable here: in MCP stdio mode stdout is the protocol
26
+ // channel and console output is suppressed, so a config warning written that
27
+ // way is invisible in the most common way AQE runs (issue #568).
28
+ const logger = createLogger('llm/router/config-store');
24
29
  /** Filename under .agentic-qe/ */
25
30
  export const ROUTER_CONFIG_FILENAME = 'llm-config.json';
26
31
  /**
@@ -202,8 +207,97 @@ export function mergeRouterConfig(base, override) {
202
207
  };
203
208
  }
204
209
  }
210
+ // Issue #568: `agentOverrides` gets keyed-object merge semantics (like
211
+ // `providers`), NOT the shallow-replace treatment `fallbackChain` gets.
212
+ // Overriding one agent type must not wipe the rest.
213
+ if (base.agentOverrides || override.agentOverrides) {
214
+ merged.agentOverrides = { ...(base.agentOverrides ?? {}) };
215
+ for (const [agentType, cfg] of Object.entries(override.agentOverrides ?? {})) {
216
+ if (!cfg)
217
+ continue;
218
+ merged.agentOverrides[agentType] = {
219
+ ...(base.agentOverrides?.[agentType] ?? {}),
220
+ ...cfg,
221
+ };
222
+ }
223
+ }
205
224
  return merged;
206
225
  }
226
+ /**
227
+ * Validate and normalize an on-disk `agentOverrides` map (issue #568).
228
+ *
229
+ * User-hand-edited config is untrusted input: drop entries that name a provider
230
+ * we cannot construct, and strip any `apiKey`-shaped field that leaked in — the
231
+ * same "never persist API keys" discipline `saveRouterConfigFile` already
232
+ * enforces for `providers.*`.
233
+ *
234
+ * Returns the cleaned map plus human-readable warnings for the caller to log.
235
+ * Invalid entries are dropped, never thrown on: a typo in one agent key must not
236
+ * take down router initialization for the whole project.
237
+ */
238
+ export function sanitizeAgentOverrides(raw) {
239
+ const overrides = {};
240
+ const warnings = [];
241
+ if (raw === undefined || raw === null)
242
+ return { overrides, warnings };
243
+ if (typeof raw !== 'object' || Array.isArray(raw)) {
244
+ warnings.push('`agentOverrides` must be an object keyed by agent type; ignoring it.');
245
+ return { overrides, warnings };
246
+ }
247
+ for (const [agentType, value] of Object.entries(raw)) {
248
+ if (!agentType.trim())
249
+ continue;
250
+ if (typeof value !== 'object' || value === null || Array.isArray(value)) {
251
+ warnings.push(`agentOverrides["${agentType}"] must be an object; ignoring it.`);
252
+ continue;
253
+ }
254
+ const entry = value;
255
+ const cleaned = {};
256
+ if (entry.provider !== undefined) {
257
+ const provider = entry.provider;
258
+ if (!ALL_PROVIDER_TYPES.includes(provider)) {
259
+ warnings.push(`agentOverrides["${agentType}"].provider "${String(entry.provider)}" is not a known ` +
260
+ `provider (${ALL_PROVIDER_TYPES.join(', ')}); ignoring this entry.`);
261
+ continue;
262
+ }
263
+ if (!RUNTIME_CONSTRUCTIBLE_PROVIDERS.has(provider)) {
264
+ warnings.push(`agentOverrides["${agentType}"].provider "${provider}" cannot be instantiated at ` +
265
+ `runtime yet; ignoring this entry.`);
266
+ continue;
267
+ }
268
+ cleaned.provider = provider;
269
+ }
270
+ if (typeof entry.model === 'string' && entry.model.trim()) {
271
+ cleaned.model = entry.model.trim();
272
+ }
273
+ if (typeof entry.temperature === 'number' && Number.isFinite(entry.temperature)) {
274
+ cleaned.temperature = entry.temperature;
275
+ }
276
+ if (typeof entry.maxTokens === 'number' && Number.isFinite(entry.maxTokens)) {
277
+ cleaned.maxTokens = entry.maxTokens;
278
+ }
279
+ if (typeof entry.priority === 'number' && Number.isFinite(entry.priority)) {
280
+ cleaned.priority = entry.priority;
281
+ }
282
+ // Secrets are already dropped by construction: `cleaned` is an ALLOW-LIST,
283
+ // so anything not explicitly copied above never survives. This check exists
284
+ // only so a user who pasted a credential in here is TOLD it was discarded
285
+ // rather than silently wondering why their key isn't being used.
286
+ // Deliberately does not echo the value.
287
+ const secretish = Object.keys(entry).filter(k => /^(api[-_]?key|key|token|secret|password|passwd|auth|authorization|bearer|credential)s?$/i.test(k));
288
+ if (secretish.length > 0) {
289
+ warnings.push(`agentOverrides["${agentType}"] contained credential-shaped field(s) ` +
290
+ `[${secretish.join(', ')}] — discarded, not persisted, not logged. Credentials belong ` +
291
+ `in environment variables, never in .agentic-qe/llm-config.json.`);
292
+ }
293
+ if (Object.keys(cleaned).length === 0) {
294
+ warnings.push(`agentOverrides["${agentType}"] had no usable fields; ignoring it.`);
295
+ continue;
296
+ }
297
+ overrides[agentType] = cleaned;
298
+ }
299
+ return { overrides, warnings };
300
+ }
207
301
  /**
208
302
  * Apply env-detection on top of a merged config: providers whose API
209
303
  * keys are present in env are force-enabled (so a user who sets
@@ -287,6 +381,15 @@ export function resolveProviderOverrideFromEnv(env = process.env) {
287
381
  export function loadRouterConfig(options = {}) {
288
382
  const env = options.env ?? process.env;
289
383
  const onDisk = loadRouterConfigFile(options.projectRoot);
384
+ // Issue #568: validate the hand-editable per-agent map before it reaches the
385
+ // router. Bad entries are dropped with a warning, never fatal.
386
+ if (onDisk.agentOverrides !== undefined) {
387
+ const { overrides, warnings } = sanitizeAgentOverrides(onDisk.agentOverrides);
388
+ for (const warning of warnings) {
389
+ logger.warn(`[llm-config] ${warning}`);
390
+ }
391
+ onDisk.agentOverrides = overrides;
392
+ }
290
393
  const merged = mergeRouterConfig(DEFAULT_ROUTER_CONFIG, onDisk);
291
394
  // ADR-123: an explicit `enabled: false` on disk is never resurrected by env.
292
395
  const explicitlyDisabled = collectExplicitlyDisabled(onDisk);
@@ -21,11 +21,11 @@
21
21
  * - Routing decision audit log
22
22
  * - Cost breakdown by agent type
23
23
  */
24
- export type { ExtendedProviderType, ProviderCapabilities, ExtendedLLMProvider, RequiredFeature, ModelFamily, ModelTier, ModelMapping, ModelRegistry, MessageFormat, SystemPromptStrategy, ToolSchemaFormat, TranslatedMessages, ToolDefinition, TranslatedTools, TranslationOptions, PromptTranslator, RoutingMode, TaskComplexity, RuleCondition, RuleAction, RoutingRule, SelectionReason, RoutingDecision, FallbackBehavior, FallbackChainEntry, FallbackChain, RouterConfig, ChatParams, ChatResponse, StreamChunk, ProviderRoutingMetrics, RouterMetrics, } from './types';
24
+ export type { ExtendedProviderType, ProviderCapabilities, ExtendedLLMProvider, RequiredFeature, ModelFamily, ModelTier, ModelMapping, ModelRegistry, MessageFormat, SystemPromptStrategy, ToolSchemaFormat, TranslatedMessages, ToolDefinition, TranslatedTools, TranslationOptions, PromptTranslator, RoutingMode, TaskComplexity, RuleCondition, RuleAction, RoutingRule, SelectionReason, RoutingDecision, FallbackBehavior, FallbackChainEntry, FallbackChain, RouterConfig, AgentProviderOverride, ChatParams, ChatResponse, StreamChunk, ProviderRoutingMetrics, RouterMetrics, } from './types';
25
25
  export { ALL_PROVIDER_TYPES, DEFAULT_PROVIDER_CAPABILITIES, DEFAULT_FALLBACK_BEHAVIOR, DEFAULT_ROUTER_CONFIG, } from './types';
26
26
  export { RoutingRuleEngine, DEFAULT_QE_ROUTING_RULES, createRoutingRule, mergeWithDefaultRules, inferComplexity, getExtendedAgentCategory, getModelPreferenceForAgent, agentRequiresAdvancedReasoning, agentIsCostSensitive, agentIsLatencySensitive, getAgentTypesInCategory, getAllAgentCategories, getCategoryModelPreference, createAgentBasedRoutingRule, createCategoryBasedRoutingRules, generateComprehensiveAgentRules, mergeAgentAwareRules, } from './routing-rules';
27
27
  export type { ExtendedAgentCategory } from './routing-rules';
28
28
  export type { AgentCategory, ModelPreference, AgentCapabilityRequirements, AgentRoutingConfig, AgentRouterConfig, AgentRoutingOverride, } from './agent-router-config';
29
- export { DEFAULT_CATEGORY_MODELS, AGENT_CATEGORY_MAP, DEFAULT_CATEGORY_CAPABILITIES, DEFAULT_ROUTING_OVERRIDES, ALTERNATIVE_MODELS, getAgentRoutingCategory, getPreferredModelForAgent, getAgentCapabilityRequirements, getAgentsByCategory, requiresAdvancedReasoning, isCostSensitive, isLatencySensitive, createAgentRoutingRule, createCategoryRoutingRules, createAgentAwareRules, createAllAgentRoutingRules, getAlternativeModelsForAgent, buildAgentRouterConfig, } from './agent-router-config';
29
+ export { DEFAULT_CATEGORY_MODELS, AGENT_CATEGORY_MAP, DEFAULT_CATEGORY_CAPABILITIES, DEFAULT_ROUTING_OVERRIDES, ALTERNATIVE_MODELS, getAgentRoutingCategory, getPreferredModelForAgent, getAgentCapabilityRequirements, getAgentsByCategory, requiresAdvancedReasoning, isCostSensitive, isLatencySensitive, createAgentRoutingRule, createCategoryRoutingRules, createAgentAwareRules, createAllAgentRoutingRules, setAgentProviderOverrides, getAgentProviderOverrides, resetAgentProviderOverrides, createOverrideRoutingRules, getAlternativeModelsForAgent, buildAgentRouterConfig, } from './agent-router-config';
30
30
  export { HybridRouter, createHybridRouter, createQERouter, } from './hybrid-router';
31
31
  //# sourceMappingURL=index.d.ts.map
@@ -38,6 +38,8 @@ DEFAULT_CATEGORY_MODELS, AGENT_CATEGORY_MAP, DEFAULT_CATEGORY_CAPABILITIES, DEFA
38
38
  getAgentRoutingCategory, getPreferredModelForAgent, getAgentCapabilityRequirements, getAgentsByCategory, requiresAdvancedReasoning, isCostSensitive, isLatencySensitive,
39
39
  // Rule generation
40
40
  createAgentRoutingRule, createCategoryRoutingRules, createAgentAwareRules, createAllAgentRoutingRules,
41
+ // On-disk per-agent overrides (issue #568)
42
+ setAgentProviderOverrides, getAgentProviderOverrides, resetAgentProviderOverrides, createOverrideRoutingRules,
41
43
  // Alternative models
42
44
  getAlternativeModelsForAgent,
43
45
  // Configuration builder
@@ -562,6 +562,50 @@ export interface RouterConfig {
562
562
  cacheConfig?: RouterCacheConfig;
563
563
  /** Audit logging configuration (ADR-043) */
564
564
  auditConfig?: AuditConfig;
565
+ /**
566
+ * Per-agent-type provider/model overrides (issue #568).
567
+ *
568
+ * Keyed by agent type (`qe-security-scanner`, `qe-test-architect`, ...).
569
+ * These take priority over the category defaults in
570
+ * `agent-router-config.ts` (`AGENT_CATEGORY_MAP` -> `DEFAULT_CATEGORY_MODELS`),
571
+ * letting a user route security-sensitive agents to a stronger model and
572
+ * mechanical ones to a cheap/local provider without touching
573
+ * `defaultProvider`.
574
+ *
575
+ * Set on disk in `.agentic-qe/llm-config.json`:
576
+ * ```jsonc
577
+ * {
578
+ * "defaultProvider": "claude-code",
579
+ * "agentOverrides": {
580
+ * "qe-security-scanner": { "provider": "cognitum", "model": "cognitum-high" },
581
+ * "qe-mutation-tester": { "provider": "ollama" }
582
+ * }
583
+ * }
584
+ * ```
585
+ * Unset fields keep their category default. Never put API keys here.
586
+ */
587
+ agentOverrides?: Record<string, AgentProviderOverride>;
588
+ }
589
+ /**
590
+ * On-disk, per-agent-type routing override (issue #568).
591
+ *
592
+ * A deliberately narrow, hand-editable subset of `ModelPreference` from
593
+ * `agent-router-config.ts`: `provider` and `model` are the only fields a user
594
+ * realistically wants to set by hand, but `temperature`/`maxTokens`/`priority`
595
+ * are accepted for parity with the in-process `AgentRoutingOverride` mechanism.
596
+ * Every field is optional and falls back to the agent's category default.
597
+ */
598
+ export interface AgentProviderOverride {
599
+ /** Provider to route this agent type through. */
600
+ provider?: ExtendedProviderType;
601
+ /** Model identifier within that provider. */
602
+ model?: string;
603
+ /** Sampling temperature. */
604
+ temperature?: number;
605
+ /** Max tokens for typical requests. */
606
+ maxTokens?: number;
607
+ /** Rule priority; higher wins. Defaults to above the category rule. */
608
+ priority?: number;
565
609
  }
566
610
  /**
567
611
  * Routing context provided with chat requests
@@ -24,6 +24,7 @@
24
24
  export const ALL_PROVIDER_TYPES = [
25
25
  'claude',
26
26
  'claude-code', // ADR-123: subscription-billed via `claude -p`
27
+ 'codex', // ADR-124 M3.5: subscription-billed via `codex exec` (issue #568)
27
28
  'openai',
28
29
  'ollama',
29
30
  'openrouter',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentic-qe",
3
- "version": "3.13.0",
3
+ "version": "3.13.2",
4
4
  "description": "Agentic Quality Engineering V3 - Domain-Driven Design Architecture with 13 Bounded Contexts, O(log n) coverage analysis, ReasoningBank learning, 60 specialized QE agents, mathematical Coherence verification, deep Claude Flow integration",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -189,8 +189,7 @@
189
189
  },
190
190
  "peerDependencies": {
191
191
  "@claude-flow/browser": "3.0.0-alpha.1",
192
- "@claude-flow/guidance": "3.0.0-alpha.1",
193
- "@huggingface/transformers": "^4.2.0"
192
+ "@claude-flow/guidance": "3.0.0-alpha.1"
194
193
  },
195
194
  "peerDependenciesMeta": {
196
195
  "@claude-flow/browser": {
@@ -198,9 +197,6 @@
198
197
  },
199
198
  "@claude-flow/guidance": {
200
199
  "optional": true
201
- },
202
- "@huggingface/transformers": {
203
- "optional": true
204
200
  }
205
201
  },
206
202
  "optionalDependencies": {
@@ -221,6 +217,7 @@
221
217
  "rvlite": "^0.2.4"
222
218
  },
223
219
  "resolutions": {
220
+ "adm-zip": ">=0.6.0",
224
221
  "graceful-fs": "^4.2.11",
225
222
  "stack-utils": "^2.0.6",
226
223
  "tar": ">=7.5.7",
@@ -229,6 +226,7 @@
229
226
  "ws": "^8.21.0"
230
227
  },
231
228
  "overrides": {
229
+ "adm-zip": ">=0.6.0",
232
230
  "@ruvector/gnn-linux-x64-musl": "npm:@ruvector/gnn-linux-x64-gnu@0.1.25",
233
231
  "@ruvector/gnn-linux-arm64-musl": "npm:@ruvector/gnn-linux-arm64-gnu@0.1.25",
234
232
  "tar": ">=7.5.7",
@@ -294,6 +292,11 @@
294
292
  ".claude/commands",
295
293
  ".claude/helpers",
296
294
  ".claude/hooks",
295
+ ".codex/hooks",
296
+ ".codex/hooks.json",
297
+ ".agents/skills/aqe-plan-quality",
298
+ ".agents/skills/aqe-review-quality",
299
+ ".agents/skills/aqe-test-change",
297
300
  ".opencode/agents",
298
301
  ".opencode/skills",
299
302
  ".opencode/tools",
@@ -1,2 +0,0 @@
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.13.0");process.exit(0)}
2
- import{a,b,c}from"./chunk-7YXT6BXN.js";import"./chunk-QTU3CVOB.js";import"./chunk-KZTBNDNE.js";import"./chunk-2DIT5AUU.js";import"./chunk-CYL2FV23.js";import"./chunk-ES7WCYOU.js";export{a as AgentBoosterAdapter,b as createAgentBoosterAdapter,c as createAgentBoosterAdapterSync};
@@ -1,2 +0,0 @@
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.13.0");process.exit(0)}
2
- import{a,b,c,d,e,f}from"./chunk-GJMZR7WU.js";import"./chunk-5FLTZ3KT.js";import"./chunk-ANIDFJCT.js";import"./chunk-SRQ3CPJE.js";import"./chunk-GUEZQOHL.js";import"./chunk-3JVUWKCO.js";import"./chunk-ZCFZ4USU.js";import"./chunk-VLNPJAVH.js";import"./chunk-Q7PBGNUD.js";import"./chunk-FAQLI3P5.js";import"./chunk-3NOCK6ED.js";import"./chunk-A4QLGPYO.js";import"./chunk-FUU32QY5.js";import"./chunk-SHCTEXNH.js";import"./chunk-N7VOOI3U.js";import"./chunk-BCKTBGDM.js";import"./chunk-G5DFYX3J.js";import"./chunk-W5YEIHIO.js";import"./chunk-BUGWPTMF.js";import"./chunk-HVB2L52I.js";import"./chunk-OXXMVQDF.js";import"./chunk-NUQBJGGF.js";import"./chunk-2DIT5AUU.js";import"./chunk-LXPB7H2P.js";import"./chunk-KUA4HHU6.js";import"./chunk-G7FMYFTN.js";import"./chunk-QI4CGJNK.js";import"./chunk-CYL2FV23.js";import"./chunk-E3B5XTXJ.js";import"./chunk-SNTUKW4Q.js";import"./chunk-TVMFH5N2.js";import"./chunk-THBTN7XB.js";import"./chunk-RDU4WTV2.js";import"./chunk-LBE2P6UC.js";import"./chunk-IZRLIWFN.js";import"./chunk-AO7AHX6K.js";import"./chunk-YRQLVGCI.js";import"./chunk-3GSYD5SL.js";import"./chunk-ES7WCYOU.js";export{b as AQELearningEngine,a as DEFAULT_ENGINE_CONFIG,c as DEFAULT_META_LEARNING_CONFIG,d as MetaLearningEngine,e as createAQELearningEngine,f as createDefaultLearningEngine};
@@ -1,2 +0,0 @@
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.13.0");process.exit(0)}
2
- import{a,b,c,d,e,f,g,h,i,j,k,l}from"./chunk-CQFT7H3F.js";import"./chunk-UIPPJKON.js";import"./chunk-G5DFYX3J.js";import"./chunk-W5YEIHIO.js";import"./chunk-BUGWPTMF.js";import"./chunk-HVB2L52I.js";import"./chunk-OXXMVQDF.js";import"./chunk-NUQBJGGF.js";import"./chunk-2DIT5AUU.js";import"./chunk-CYL2FV23.js";import"./chunk-E3B5XTXJ.js";import"./chunk-Z6QCOZ2H.js";import"./chunk-SNTUKW4Q.js";import"./chunk-TVMFH5N2.js";import"./chunk-THBTN7XB.js";import"./chunk-RDU4WTV2.js";import"./chunk-LBE2P6UC.js";import"./chunk-IZRLIWFN.js";import"./chunk-AO7AHX6K.js";import"./chunk-YRQLVGCI.js";import"./chunk-3GSYD5SL.js";import"./chunk-ES7WCYOU.js";export{l as MCPToolBase,k as defaultToolLogger,j as getKernel,i as getLLMRouter,e as getMemoryBackend,g as getSharedLLMRouter,c as getSharedMemoryBackend,a as isMemoryOnlyMode,b as registerRvfResetFn,h as resetSharedLLMRouter,d as resetSharedMemoryBackend,f as setSharedLLMRouter};
@@ -1,2 +0,0 @@
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.13.0");process.exit(0)}
2
- import{a}from"./chunk-LWYLW7RX.js";import"./chunk-CQFT7H3F.js";import"./chunk-UIPPJKON.js";import"./chunk-G5DFYX3J.js";import"./chunk-W5YEIHIO.js";import"./chunk-BUGWPTMF.js";import"./chunk-HVB2L52I.js";import"./chunk-OXXMVQDF.js";import"./chunk-NUQBJGGF.js";import"./chunk-2DIT5AUU.js";import"./chunk-CYL2FV23.js";import"./chunk-E3B5XTXJ.js";import"./chunk-Z6QCOZ2H.js";import"./chunk-SNTUKW4Q.js";import"./chunk-TVMFH5N2.js";import"./chunk-THBTN7XB.js";import"./chunk-RDU4WTV2.js";import"./chunk-LBE2P6UC.js";import"./chunk-IZRLIWFN.js";import"./chunk-AO7AHX6K.js";import"./chunk-YRQLVGCI.js";import"./chunk-3GSYD5SL.js";import"./chunk-ES7WCYOU.js";export{a as BrowserWorkflowTool};
@@ -1,2 +0,0 @@
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.13.0");process.exit(0)}
2
- import{a as u,c as v,d as p}from"./chunk-PP2RYSHT.js";import{d as l}from"./chunk-JPIBPKBP.js";import{a}from"./chunk-OZR25R7W.js";var P=["ollama","onnx","gemini","openrouter","openai","claude","azure-openai","bedrock"];async function x(e={}){if(e.providerManager){let d=v({projectRoot:e.projectRoot,override:e.override,env:e.env}),f=new a(e.providerManager,d);return await f.initialize(),{router:f,resolvedConfig:d,enabledProviders:y(d)}}if(!p({projectRoot:e.projectRoot,env:e.env}))return null;let r=v({projectRoot:e.projectRoot,override:e.override,env:e.env}),o=g(r,e.env??process.env);if(o.length===0)return null;let{primary:n,fallbacks:t}=R(r,o),i={primary:n,fallbacks:t,providers:m(r,o),loadBalancing:"round-robin",global:{enableCostTracking:!0,enableMetrics:!0}},c=new l(i),s=new a(c,r);return await s.initialize(),{router:s,resolvedConfig:r,enabledProviders:o}}function g(e,r=process.env){let o=u(r),n=[],t=i=>{n.includes(i)||!e.providers?.[i]?.enabled||o.has(i)&&n.push(i)};t(e.defaultProvider);for(let i of e.fallbackChain?.entries??[])t(i.provider);for(let i of P)t(i);return n}function y(e){let r=new Set([e.defaultProvider]);for(let o of e.fallbackChain?.entries??[])r.add(o.provider);return Array.from(r)}function R(e,r){if(r.length===0)throw new Error("pickPrimaryAndFallbacks: no enabled providers");let o=r.includes(e.defaultProvider)?e.defaultProvider:r[0],n=r.filter(t=>t!==o);return{primary:o,fallbacks:n}}function m(e,r){let o={};for(let n of r){let t=e.providers?.[n];t&&(o[n]=t)}return o}export{x as a,g as b,R as c};
@@ -1,2 +0,0 @@
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.13.0");process.exit(0)}
2
- import{existsSync as i,openSync as s,readSync as u,closeSync as l,renameSync as a,unlinkSync as d}from"fs";var f="FLVR",c=4,p=["",".idmap.json",".manifest.json"];function b(n,e){let r;try{r=s(n,"r");let t=Buffer.alloc(e);return u(r,t,0,e,0)<e?null:t}catch{return null}finally{if(r!==void 0)try{l(r)}catch{}}}function y(n){try{return process.kill(n,0),!0}catch(e){return e.code==="EPERM"}}function S(n){let e=b(`${n}.lock`,c+4);if(!e||e.subarray(0,4).toString("latin1")!==f)return null;let r=e.readUInt32LE(c);return r>0?r:null}function $(n){let e=S(n);return e===null?!1:e!==process.pid&&y(e)}function g(n,e){if(!i(n))return null;if($(n))return console.warn(`[RVF] ${n} is unusable but its lock is held by a live process \u2014 leaving it alone and degrading to SQLite for this run.`),null;let r=`${n}.corrupt-${process.pid}`;for(let t of p){let o=`${n}${t}`;if(i(o))try{a(o,`${r}${t}`)}catch{}}try{i(`${n}.lock`)&&d(`${n}.lock`)}catch{}return console.warn(`[RVF] Quarantined unusable store ${n} \u2192 ${r} (${e}). It is a derived cache and will be rebuilt from the unified DB. Please report a recurrence with the quarantined files (issue #563).`),r}export{S as a,$ as b,g as c};
@@ -1,2 +0,0 @@
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.13.0");process.exit(0)}
2
- import{a as e,b as g,e as r}from"./chunk-OXXMVQDF.js";import{c as o}from"./chunk-ES7WCYOU.js";var L=o(()=>{"use strict";e();g();r()});export{L as a};
@@ -1,2 +0,0 @@
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.13.0");process.exit(0)}
2
- var t=["claude","claude-code","openai","ollama","openrouter","gemini","azure-openai","bedrock","cognitum","onnx"];var e={maxAttempts:3,delayMs:100,trySameProviderAlternateModel:!0,skipOpenCircuits:!0,retryableErrors:["RATE_LIMITED","TIMEOUT","NETWORK_ERROR","PROVIDER_UNAVAILABLE"]},r=[{provider:"claude",models:["claude-sonnet-4-6","claude-haiku-4-5-20251001"],enabled:!0,priority:100,maxAttempts:2,timeoutMs:3e4},{provider:"openai",models:["gpt-4o","gpt-4o-mini"],enabled:!0,priority:90,maxAttempts:2,timeoutMs:3e4},{provider:"openrouter",models:["anthropic/claude-sonnet-4","openai/gpt-4o"],enabled:!0,priority:85,maxAttempts:2,timeoutMs:3e4},{provider:"ollama",models:["llama3.1","mistral"],enabled:!0,priority:80,maxAttempts:2,timeoutMs:6e4},{provider:"onnx",models:["phi-4","all-MiniLM-L6-v2"],enabled:!0,priority:70,maxAttempts:1,timeoutMs:12e4}],o={id:"default-fallback-chain",entries:r,maxRetries:3,retryDelayMs:100,backoffMultiplier:2,maxDelayMs:5e3},n={mode:"rule-based",rules:[],defaultProvider:"claude",defaultModel:"claude-sonnet-4-6",fallbackChain:o,fallbackBehavior:e,providers:{claude:{enabled:!0,defaultModel:"claude-sonnet-4-6"},"claude-code":{enabled:!1,defaultModel:"claude-sonnet-4-6"},openai:{enabled:!0,defaultModel:"gpt-4o"},ollama:{enabled:!0,defaultModel:"llama3.1"},openrouter:{enabled:!0,defaultModel:"anthropic/claude-sonnet-4"},gemini:{enabled:!1,defaultModel:"gemini-pro"},"azure-openai":{enabled:!1},bedrock:{enabled:!1},cognitum:{enabled:!1,defaultModel:"cognitum-auto"},onnx:{enabled:!0,defaultModel:"phi-4"}},enableMetrics:!0,metricsConfig:{enabled:!0,collectionIntervalMs:6e4,retentionMs:864e5,trackPerRequest:!0},maxDecisionTimeMs:10,cacheDecisions:!0,decisionCacheTtlMs:6e4,cacheConfig:{enabled:!0,ttlMs:6e4,maxEntries:1e3,keyStrategy:"agent-domain"},auditConfig:{enabled:!0,maxEntries:1e4,logContent:!1,logResponse:!1}},a=[{canonicalId:"claude-opus-4-7",canonicalName:"Claude Opus 4.7",providerIds:{claude:"claude-opus-4-7",openrouter:"anthropic/claude-opus-4.7",bedrock:"anthropic.claude-opus-4-7-v1:0"},capabilities:{supportsStreaming:!0,supportsTools:!0,supportsMCP:!0,supportsVision:!0,supportsExtendedThinking:!0,supportsJsonMode:!0,maxContextTokens:1e6,maxOutputTokens:128e3},tier:"flagship",family:"claude",inputCostPer1M:5,outputCostPer1M:25},{canonicalId:"claude-sonnet-4-6",canonicalName:"Claude Sonnet 4.6",providerIds:{claude:"claude-sonnet-4-6",openrouter:"anthropic/claude-sonnet-4.6",bedrock:"anthropic.claude-sonnet-4-6-v1:0"},capabilities:{supportsStreaming:!0,supportsTools:!0,supportsMCP:!0,supportsVision:!0,supportsExtendedThinking:!0,supportsJsonMode:!0,maxContextTokens:2e5,maxOutputTokens:64e3},tier:"advanced",family:"claude",inputCostPer1M:3,outputCostPer1M:15},{canonicalId:"claude-haiku-4-5",canonicalName:"Claude Haiku 4.5",providerIds:{claude:"claude-haiku-4-5-20251001",openrouter:"anthropic/claude-haiku-4.5",bedrock:"anthropic.claude-haiku-4-5-v1:0"},capabilities:{supportsStreaming:!0,supportsTools:!0,supportsMCP:!1,supportsVision:!0,supportsExtendedThinking:!0,supportsJsonMode:!0,maxContextTokens:2e5,maxOutputTokens:16384},tier:"standard",family:"claude",inputCostPer1M:1,outputCostPer1M:5},{canonicalId:"gpt-4o",canonicalName:"GPT-4o",providerIds:{openai:"gpt-4o","azure-openai":"gpt-4o",openrouter:"openai/gpt-4o"},capabilities:{supportsStreaming:!0,supportsTools:!0,supportsMCP:!1,supportsVision:!0,supportsExtendedThinking:!1,supportsJsonMode:!0,maxContextTokens:128e3,maxOutputTokens:16384},tier:"advanced",family:"gpt",inputCostPer1M:2.5,outputCostPer1M:10},{canonicalId:"gpt-4o-mini",canonicalName:"GPT-4o Mini",providerIds:{openai:"gpt-4o-mini","azure-openai":"gpt-4o-mini",openrouter:"openai/gpt-4o-mini"},capabilities:{supportsStreaming:!0,supportsTools:!0,supportsMCP:!1,supportsVision:!0,supportsExtendedThinking:!1,supportsJsonMode:!0,maxContextTokens:128e3,maxOutputTokens:16384},tier:"standard",family:"gpt",inputCostPer1M:.15,outputCostPer1M:.6},{canonicalId:"gemini-pro",canonicalName:"Gemini 2.0 Pro",providerIds:{gemini:"gemini-2.0-pro",openrouter:"google/gemini-2.0-pro"},capabilities:{supportsStreaming:!0,supportsTools:!0,supportsMCP:!1,supportsVision:!0,supportsExtendedThinking:!1,supportsJsonMode:!0,maxContextTokens:2e6,maxOutputTokens:8192},tier:"advanced",family:"gemini",inputCostPer1M:1.25,outputCostPer1M:5},{canonicalId:"llama-3.1-70b",canonicalName:"LLaMA 3.1 70B",providerIds:{ollama:"llama3.1:70b",openrouter:"meta-llama/llama-3.1-70b",bedrock:"meta.llama3-1-70b-instruct-v1:0"},capabilities:{supportsStreaming:!0,supportsTools:!0,supportsMCP:!1,supportsVision:!1,supportsExtendedThinking:!1,supportsJsonMode:!0,maxContextTokens:128e3,maxOutputTokens:4096},tier:"advanced",family:"llama",inputCostPer1M:.9,outputCostPer1M:.9},{canonicalId:"phi-4",canonicalName:"Microsoft Phi-4",providerIds:{ollama:"phi4",onnx:"phi-4",openrouter:"microsoft/phi-4"},capabilities:{supportsStreaming:!0,supportsTools:!1,supportsMCP:!1,supportsVision:!1,supportsExtendedThinking:!1,supportsJsonMode:!1,maxContextTokens:16e3,maxOutputTokens:4096,requiresNetwork:!1},tier:"efficient",family:"phi",inputCostPer1M:0,outputCostPer1M:0}];export{t as a,n as b,a as c};
@@ -1,2 +0,0 @@
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.13.0");process.exit(0)}
2
- import{b as A,c as D,d as $,e as E}from"./chunk-32ZGV4Q4.js";import{a as v,b as H}from"./chunk-MVI2QMRW.js";import{a as P,b as F}from"./chunk-6SXKCIN5.js";import{a as x,b as _,c as U,e as w}from"./chunk-IHQTXJAQ.js";import{a as k}from"./chunk-FBBZHATF.js";import{b as B,c as G}from"./chunk-CYL2FV23.js";import{i as O}from"./chunk-E3B5XTXJ.js";var h={heavyweight:{requiresReasoning:!0,requiresTools:!0,requiresVision:!1,requiresExtendedThinking:!0,requiresJsonMode:!0,minContextSize:1e5,costSensitivity:"low",latencySensitivity:"low"},standard:{requiresReasoning:!0,requiresTools:!0,requiresVision:!1,requiresExtendedThinking:!1,requiresJsonMode:!0,minContextSize:5e4,costSensitivity:"medium",latencySensitivity:"medium"},lightweight:{requiresReasoning:!1,requiresTools:!0,requiresVision:!1,requiresExtendedThinking:!1,requiresJsonMode:!0,minContextSize:16e3,costSensitivity:"medium",latencySensitivity:"high"},minimal:{requiresReasoning:!1,requiresTools:!1,requiresVision:!1,requiresExtendedThinking:!1,requiresJsonMode:!1,minContextSize:4e3,costSensitivity:"high",latencySensitivity:"medium"}},W={security:h.heavyweight,"test-generation":h.standard,"code-analysis":h.standard,learning:h.standard,performance:{...h.lightweight,costSensitivity:"high"},coordination:h.lightweight,general:{...h.lightweight,requiresJsonMode:!1,latencySensitivity:"medium"},documentation:{...h.minimal,minContextSize:16e3},simple:h.minimal};var f=class{rules=[];constructor(e=[]){this.setRules(e)}setRules(e){this.rules=[...e].filter(t=>t.enabled).sort((t,r)=>r.priority-t.priority)}getRules(){return[...this.rules]}addRule(e){this.rules.push(e),this.rules=this.rules.filter(t=>t.enabled).sort((t,r)=>r.priority-t.priority)}removeRule(e){let t=this.rules.findIndex(r=>r.id===e);return t>=0?(this.rules.splice(t,1),!0):!1}setRuleEnabled(e,t){let r=this.rules.find(i=>i.id===e);return r?(r.enabled=t,this.rules=this.rules.filter(i=>i.enabled).sort((i,o)=>o.priority-i.priority),!0):!1}evaluate(e){let t=0;for(let r of this.rules)if(t++,this.matchesCondition(e,r.condition))return{rule:r,rulesEvaluated:t};return null}evaluateAll(e){return this.rules.filter(t=>this.matchesCondition(e,t.condition))}matchesCondition(e,t){if(t.agentType!==void 0&&(!e.agentType||!t.agentType.includes(e.agentType))||t.requiresTools!==void 0&&!!e.requiresTools!==t.requiresTools)return!1;if(t.complexity!==void 0){let r=Array.isArray(t.complexity)?t.complexity:[t.complexity];if(!e.complexity||!r.includes(e.complexity))return!1}if(t.localOnly!==void 0&&t.localOnly){let r=["ollama","onnx"];if(e.preferredProvider&&!r.includes(e.preferredProvider))return!1}if(t.requiresReasoning!==void 0&&t.requiresReasoning&&e.complexity==="low")return!1;if(t.tokenRange!==void 0){let r=this.estimateTokens(e);if(t.tokenRange.min!==void 0&&r<t.tokenRange.min||t.tokenRange.max!==void 0&&r>t.tokenRange.max)return!1}return!(t.requiredCapabilities!==void 0&&t.requiredCapabilities.length>0&&(!e.requiredCapabilities||e.requiredCapabilities.length===0||!t.requiredCapabilities.every(i=>e.requiredCapabilities.includes(i)))||t.custom!==void 0&&!t.custom(e))}estimateTokens(e){let t=0;e.systemPrompt&&(t+=Math.ceil(e.systemPrompt.length/4));for(let r of e.messages)t+=Math.ceil(r.content.length/4);return t}},q=[{id:"security-agents-opus",name:"Security Agents to Claude Opus",description:"Route security-critical agents to Claude Opus for best security analysis",condition:{agentType:["security-auditor","security-architect","v3-qe-security-scanner"]},action:{provider:"claude",model:"claude-opus-4-7",temperature:.1},enabled:!0,priority:100},{id:"test-gen-with-tools",name:"Test Generation with Tools",description:"Route test generation requests that need tools to Claude Sonnet",condition:{agentType:["v3-qe-test-generator","tester"],requiresTools:!0},action:{provider:"claude",model:"claude-sonnet-4-6",temperature:.3},enabled:!0,priority:95},{id:"high-complexity-reasoning",name:"High Complexity Reasoning",description:"Route high complexity tasks requiring reasoning to advanced models",condition:{complexity:"high",requiresReasoning:!0},action:{provider:"claude",model:"claude-opus-4-7",temperature:.2},enabled:!0,priority:90},{id:"code-analysis-agents",name:"Code Analysis Agents",description:"Route code analysis to Claude Sonnet for balanced performance",condition:{agentType:["code-analyzer","v3-qe-code-intelligence","reviewer"]},action:{provider:"claude",model:"claude-sonnet-4-6",temperature:.2},enabled:!0,priority:85},{id:"coverage-analysis",name:"Coverage Analysis Agents",description:"Route coverage analysis to efficient models",condition:{agentType:["v3-qe-coverage-analyzer"]},action:{provider:"claude",model:"claude-sonnet-4-6",temperature:.1},enabled:!0,priority:80},{id:"defect-prediction",name:"Defect Prediction Agents",description:"Route defect prediction to capable models",condition:{agentType:["v3-qe-defect-predictor"]},action:{provider:"claude",model:"claude-sonnet-4-6",temperature:.3},enabled:!0,priority:75},{id:"medium-complexity",name:"Medium Complexity Tasks",description:"Route medium complexity to balanced Claude Sonnet",condition:{complexity:"medium"},action:{provider:"claude",model:"claude-sonnet-4-6",temperature:.3},enabled:!0,priority:60},{id:"low-complexity-haiku",name:"Low Complexity to Haiku",description:"Route low complexity tasks to Haiku for cost efficiency",condition:{complexity:"low"},action:{provider:"claude",model:"claude-haiku-4-5-20251001",temperature:.3},enabled:!0,priority:50},{id:"local-only-ollama",name:"Local Only Requests",description:"Route local-only requests to Ollama",condition:{localOnly:!0},action:{provider:"ollama",model:"llama3.1",temperature:.3},enabled:!0,priority:40},{id:"small-requests-haiku",name:"Small Token Requests",description:"Route small requests to Haiku for efficiency",condition:{tokenRange:{max:500}},action:{provider:"claude",model:"claude-haiku-4-5-20251001",temperature:.3},enabled:!0,priority:30}];import{randomUUID as V}from"crypto";var C=class{decisions=[];providerCalls=[];fallbacks=[];cacheHits=0;cacheMisses=0;startTime=new Date;maxRecords;maxCallRecords;constructor(e={}){this.maxRecords=e.maxRecords??1e4,this.maxCallRecords=e.maxCallRecords??5e3}recordRoutingDecision(e,t,r={}){let i={id:`rd-${Date.now()}-${V().slice(0,8)}`,timestamp:new Date,provider:e.providerType,model:e.model,mode:this.inferMode(e.reason),reason:e.reason,latencyMs:t,decisionTimeMs:e.metadata.decisionTimeMs,agentType:r.agentType,success:r.success??!0,tokenUsage:r.tokenUsage,cost:r.cost,wasFallback:e.reason==="fallback",ruleId:e.matchedRule?.id};this.decisions.push(i),this.trimRecords()}recordProviderCall(e,t,r,i,o={}){let n=o.inputTokens??Math.floor(i*.7),a=o.outputTokens??i-n,s={timestamp:new Date,provider:e,model:t,latencyMs:r,inputTokens:n,outputTokens:a,totalTokens:i,success:o.success??!0,cost:o.cost,agentType:o.agentType};this.providerCalls.push(s),this.trimCallRecords()}recordFallback(e,t,r,i){let o={timestamp:new Date,fromProvider:e,toProvider:t,reason:r,agentType:i};this.fallbacks.push(o),this.fallbacks.length>1e3&&(this.fallbacks=this.fallbacks.slice(-1e3))}recordCacheHit(){this.cacheHits++}recordCacheMiss(){this.cacheMisses++}getMetrics(e="all"){let t=this.getWindowStart(e),r=this.filterByTime(this.decisions,t),i=this.filterByTime(this.providerCalls,t),o=this.filterByTime(this.fallbacks,t),n=this.calculateProviderMetrics(r,i),a=this.calculateAgentMetrics(r,i),s=r.map(g=>g.decisionTimeMs),c=r.length,l=this.countByMode(r),d=r.filter(g=>g.wasFallback).length,p=r.filter(g=>g.ruleId).length;return{byProvider:Object.fromEntries(n),byAgentType:a,totalDecisions:c,decisionsByMode:l,avgDecisionTimeMs:this.average(s),p95DecisionTimeMs:this.percentile(s,95),p99DecisionTimeMs:this.percentile(s,99),fallbackRate:c>0?d/c:0,ruleMatchRate:c>0?p/c:0,estimatedCostSavings:this.calculateCostSavings(r),ruleStats:{totalEvaluated:r.reduce((g,b)=>g+1,0),matched:p,avgRulesPerDecision:1},cacheStats:{hits:this.cacheHits,misses:this.cacheMisses,hitRate:this.cacheHits+this.cacheMisses>0?this.cacheHits/(this.cacheHits+this.cacheMisses):0},period:{start:t,end:new Date},recentDecisions:r.slice(-50),fallbackStats:this.calculateFallbackStats(o)}}getMetricsByProvider(e){let t=this.decisions.filter(s=>s.provider===e),r=this.providerCalls.filter(s=>s.provider===e),i=r.map(s=>s.latencyMs),o=t.map(s=>s.decisionTimeMs),n=r.filter(s=>s.success),a=r.filter(s=>!s.success);return{provider:e,selectionCount:t.length,ruleMatchCount:t.filter(s=>s.ruleId).length,fallbackCount:t.filter(s=>s.wasFallback).length,avgDecisionTimeMs:this.average(o),successRate:r.length>0?n.length/r.length:1,avgLatencyMs:this.average(i),p95LatencyMs:this.percentile(i,95),p99LatencyMs:this.percentile(i,99),totalCost:r.reduce((s,c)=>s+(c.cost??0),0),totalTokens:r.reduce((s,c)=>s+c.totalTokens,0),totalInputTokens:r.reduce((s,c)=>s+c.inputTokens,0),totalOutputTokens:r.reduce((s,c)=>s+c.outputTokens,0),circuitState:"closed",latencyHistogram:i.slice(-100),decisionTimeHistogram:o.slice(-100),errorCount:a.length,lastError:a.length>0?a[a.length-1].timestamp:void 0,recentCalls:r.slice(-20)}}getMetricsByAgentType(e){let t=this.decisions.filter(c=>c.agentType===e),r=this.providerCalls.filter(c=>c.agentType===e),i=new Map,o=new Map;for(let c of t)i.set(c.provider,(i.get(c.provider)??0)+1),o.set(c.model,(o.get(c.model)??0)+1);let n=r.map(c=>c.latencyMs),a=t.filter(c=>c.wasFallback).length,s=t.filter(c=>c.success).length;return{agentType:e,totalDecisions:t.length,providerDistribution:i,modelDistribution:o,avgLatencyMs:this.average(n),totalCost:r.reduce((c,l)=>c+(l.cost??0),0),totalTokens:r.reduce((c,l)=>c+l.totalTokens,0),fallbackRate:t.length>0?a/t.length:0,successRate:t.length>0?s/t.length:1}}getAuditLog(e={}){let t=this.decisions;e.since&&(t=t.filter(i=>i.timestamp>=e.since)),e.provider&&(t=t.filter(i=>i.provider===e.provider)),e.agentType&&(t=t.filter(i=>i.agentType===e.agentType));let r=e.limit??100;return t.slice(-r).map(i=>({id:i.id,timestamp:i.timestamp,context:{agentType:i.agentType},decision:{providerType:i.provider,model:i.model,providerModelId:i.model,reason:i.reason,confidence:1,metadata:{decisionTimeMs:i.decisionTimeMs,timestamp:i.timestamp}},outcome:{success:i.success,latencyMs:i.latencyMs,tokenUsage:i.tokenUsage,cost:i.cost}}))}resetMetrics(){this.decisions=[],this.providerCalls=[],this.fallbacks=[],this.cacheHits=0,this.cacheMisses=0,this.startTime=new Date}inferMode(e){switch(e){case"manual":return"manual";case"rule-match":return"rule-based";case"cost-optimization":return"cost-optimized";case"performance-optimization":return"performance-optimized";default:return"rule-based"}}trimRecords(){this.decisions.length>this.maxRecords&&(this.decisions=this.decisions.slice(-this.maxRecords))}trimCallRecords(){this.providerCalls.length>this.maxCallRecords&&(this.providerCalls=this.providerCalls.slice(-this.maxCallRecords))}getWindowStart(e){let t=new Date;switch(e){case"1m":return new Date(t.getTime()-60*1e3);case"5m":return new Date(t.getTime()-300*1e3);case"15m":return new Date(t.getTime()-900*1e3);case"1h":return new Date(t.getTime()-3600*1e3);case"24h":return new Date(t.getTime()-1440*60*1e3);case"7d":return new Date(t.getTime()-10080*60*1e3);default:return this.startTime}}filterByTime(e,t){return e.filter(r=>r.timestamp>=t)}calculateProviderMetrics(e,t){let r=new Map;for(let i of v){let o=e.filter(l=>l.provider===i),n=t.filter(l=>l.provider===i);if(o.length===0&&n.length===0)continue;let a=n.map(l=>l.latencyMs),s=o.map(l=>l.decisionTimeMs),c=n.filter(l=>l.success);r.set(i,{provider:i,selectionCount:o.length,ruleMatchCount:o.filter(l=>l.ruleId).length,fallbackCount:o.filter(l=>l.wasFallback).length,avgDecisionTimeMs:this.average(s),successRate:n.length>0?c.length/n.length:1,avgLatencyMs:this.average(a),p95LatencyMs:this.percentile(a,95),p99LatencyMs:this.percentile(a,99),totalCost:n.reduce((l,d)=>l+(d.cost??0),0),totalTokens:n.reduce((l,d)=>l+d.totalTokens,0),circuitState:"closed"})}return r}calculateAgentMetrics(e,t){let r=new Set;e.forEach(o=>o.agentType&&r.add(o.agentType)),t.forEach(o=>o.agentType&&r.add(o.agentType));let i=new Map;for(let o of r)i.set(o,this.getMetricsByAgentType(o));return i}countByMode(e){let t={manual:0,"rule-based":0,"cost-optimized":0,"performance-optimized":0};for(let r of e)t[r.mode]++;return t}calculateFallbackStats(e){let t=new Map,r=new Map;for(let i of e)t.set(i.fromProvider,(t.get(i.fromProvider)??0)+1),r.set(i.reason,(r.get(i.reason)??0)+1);return{total:e.length,byProvider:t,byReason:r}}calculateCostSavings(e){return e.reduce((t,r)=>r.cost&&r.mode==="cost-optimized"?t+r.cost.totalCost*.2:t,0)}average(e){return e.length===0?0:e.reduce((t,r)=>t+r,0)/e.length}percentile(e,t){if(e.length===0)return 0;let r=[...e].sort((o,n)=>o-n),i=Math.ceil(t/100*r.length)-1;return r[Math.max(0,i)]}};function S(m){return new C(m)}var R=class{records=[];alerts=[];maxRecords;alertCheckInterval;constructor(e={}){this.maxRecords=e.maxRecords??1e4}recordCost(e,t,r,i,o={}){let n=this.calculateCost(t,r,i),a={timestamp:new Date,provider:e,model:t,inputTokens:r,outputTokens:i,inputCost:n.inputCost,outputCost:n.outputCost,totalCost:n.totalCost,agentType:o.agentType,requestId:o.requestId};return this.records.push(a),this.trimRecords(),this.checkAlerts(),a}recordCostFromInfo(e,t,r,i,o={}){let n={timestamp:new Date,provider:e,model:t,inputTokens:r.promptTokens,outputTokens:r.completionTokens,inputCost:i.inputCost,outputCost:i.outputCost,totalCost:i.totalCost,agentType:o.agentType,requestId:o.requestId};return this.records.push(n),this.trimRecords(),this.checkAlerts(),n}getCostByProvider(e="all"){let t=this.getPeriodStart(e),r=this.filterByTime(t),i=new Map;for(let o of v){let n=r.filter(c=>c.provider===o);if(n.length===0)continue;let a=n.reduce((c,l)=>c+l.totalCost,0),s=n.reduce((c,l)=>c+l.inputTokens+l.outputTokens,0);i.set(o,{totalCost:a,totalTokens:s,totalRequests:n.length,avgCostPerRequest:a/n.length,avgCostPerToken:s>0?a/s:0})}return i}getCostByAgentType(e="all"){let t=this.getPeriodStart(e),r=this.filterByTime(t),i=new Set;r.forEach(a=>a.agentType&&i.add(a.agentType));let o=new Map;for(let a of i){let s=r.filter(d=>d.agentType===a),c=s.reduce((d,p)=>d+p.totalCost,0),l=s.reduce((d,p)=>d+p.inputTokens+p.outputTokens,0);o.set(a,{totalCost:c,totalTokens:l,totalRequests:s.length,avgCostPerRequest:s.length>0?c/s.length:0,avgCostPerToken:l>0?c/l:0})}let n=r.filter(a=>!a.agentType);if(n.length>0){let a=n.reduce((c,l)=>c+l.totalCost,0),s=n.reduce((c,l)=>c+l.inputTokens+l.outputTokens,0);o.set("unknown",{totalCost:a,totalTokens:s,totalRequests:n.length,avgCostPerRequest:a/n.length,avgCostPerToken:s>0?a/s:0})}return o}getCostByModel(e="all"){let t=this.getPeriodStart(e),r=this.filterByTime(t),i=new Set;r.forEach(n=>i.add(n.model));let o=new Map;for(let n of i){let a=r.filter(l=>l.model===n),s=a.reduce((l,d)=>l+d.totalCost,0),c=a.reduce((l,d)=>l+d.inputTokens+d.outputTokens,0);o.set(n,{totalCost:s,totalTokens:c,totalRequests:a.length,avgCostPerRequest:a.length>0?s/a.length:0,avgCostPerToken:c>0?s/c:0})}return o}getTotalCost(e="all"){let t=this.getPeriodStart(e);return this.filterByTime(t).reduce((i,o)=>i+o.totalCost,0)}getCostTrend(e){let t=new Date,r=[],i,o;switch(e){case"1h":i=300*1e3,o=12;break;case"24h":i=3600*1e3,o=24;break;case"7d":i=1440*60*1e3,o=7;break}for(let n=o-1;n>=0;n--){let a=new Date(t.getTime()-n*i),s=new Date(a.getTime()-i),c=this.records.filter(l=>l.timestamp>=s&&l.timestamp<a);r.push({timestamp:a,cost:c.reduce((l,d)=>l+d.totalCost,0),tokens:c.reduce((l,d)=>l+d.inputTokens+d.outputTokens,0),requests:c.length})}return r}addBudgetAlert(e,t,r){let i={threshold:e,period:t,callback:r,active:!0};return this.alerts.push(i),this.alertCheckInterval||(this.alertCheckInterval=setInterval(()=>this.checkAlerts(),6e4)),`alert-${this.alerts.length-1}`}removeBudgetAlert(e){return e>=0&&e<this.alerts.length?(this.alerts.splice(e,1),this.alerts.length===0&&this.alertCheckInterval&&(clearInterval(this.alertCheckInterval),this.alertCheckInterval=void 0),!0):!1}getOptimizationSuggestions(){let e=[],t=this.getCostByModel("24h");for(let[n,a]of t)k[n]&&a.totalCost>1&&(n.includes("opus")&&e.push({type:"model-switch",description:"Consider using Sonnet instead of Opus for non-critical tasks",estimatedSavings:a.totalCost*.5,currentCost:a.totalCost,suggestedModel:"claude-sonnet-4-6"}),n==="gpt-4o"&&e.push({type:"model-switch",description:"Consider using GPT-4o-mini for simpler tasks",estimatedSavings:a.totalCost*.7,currentCost:a.totalCost,suggestedModel:"gpt-4o-mini"}));let r=this.getCostByProvider("24h"),i=[...r.values()].reduce((n,a)=>n+a.totalCost,0);return i>10&&!r.has("ollama")&&e.push({type:"provider-switch",description:"Consider using Ollama for development/testing workloads",estimatedSavings:i*.3,currentCost:i,suggestedProvider:"ollama"}),[...t.values()].reduce((n,a)=>n+a.totalRequests,0)>100&&e.push({type:"caching",description:"Enable response caching to reduce redundant API calls",estimatedSavings:i*.15,currentCost:i}),e}getRecords(){return[...this.records]}clear(){this.records=[]}reset(){this.records=[],this.alerts=[],this.alertCheckInterval&&(clearInterval(this.alertCheckInterval),this.alertCheckInterval=void 0)}dispose(){this.alertCheckInterval&&(clearInterval(this.alertCheckInterval),this.alertCheckInterval=void 0)}calculateCost(e,t,r){let i=k[e];if(!i)return{inputCost:0,outputCost:0,totalCost:0,currency:"USD"};let o=t/1e6*i.input,n=r/1e6*i.output;return{inputCost:o,outputCost:n,totalCost:o+n,currency:"USD"}}trimRecords(){this.records.length>this.maxRecords&&(this.records=this.records.slice(-this.maxRecords))}getPeriodStart(e){let t=new Date;switch(e){case"1h":return new Date(t.getTime()-3600*1e3);case"24h":return new Date(t.getTime()-1440*60*1e3);case"7d":return new Date(t.getTime()-10080*60*1e3);case"30d":return new Date(t.getTime()-720*60*60*1e3);default:return new Date(0)}}filterByTime(e){return this.records.filter(t=>t.timestamp>=e)}checkAlerts(){for(let e of this.alerts){if(!e.active)continue;let t=this.getTotalCost(e.period);if(t>=e.threshold){e.active=!1;let r=this.getPeriodStart(e.period),i=this.filterByTime(r),o=i.reduce((n,a)=>n+a.inputTokens+a.outputTokens,0);try{e.callback({totalCost:t,totalTokens:o,totalRequests:i.length,avgCostPerRequest:i.length>0?t/i.length:0,avgCostPerToken:o>0?t/o:0})}catch(n){console.error("Budget alert callback error:",n)}}}}};function L(m){return new R(m)}G();var T=class{cache=new Map;maxSize;ttlMs;constructor(e=100,t=6e4){this.maxSize=e,this.ttlMs=t}get(e){let t=this.cache.get(e);return t?Date.now()>t.expiresAt?(this.cache.delete(e),null):t.decision:null}set(e,t){if(this.cache.size>=this.maxSize){let r=this.cache.keys().next().value;r&&this.cache.delete(r)}this.cache.set(e,{decision:t,expiresAt:Date.now()+this.ttlMs})}clear(){this.cache.clear()}getStats(){return{hits:0,misses:0,size:this.cache.size}}},M=class{config;providerManager;ruleEngine;decisionCache;metrics;routerMetrics;costMetrics;initialized=!1;constructor(e,t){this.providerManager=e,this.config={...H,...t};let r=this.config.rules.length>0?this.config.rules:q;this.ruleEngine=new f(r),this.decisionCache=new T(100,this.config.decisionCacheTtlMs),this.metrics=new I,this.routerMetrics=S(),this.costMetrics=L()}async initialize(){this.initialized||(await this.providerManager.initialize(),this.initialized=!0)}getMode(){return this.config.mode}setMode(e){this.config.mode=e,this.decisionCache.clear()}getConfig(){return{...this.config}}updateConfig(e){this.config={...this.config,...e},e.rules&&this.ruleEngine.setRules(e.rules),e.decisionCacheTtlMs&&(this.decisionCache=new T(100,e.decisionCacheTtlMs))}async selectProvider(e){await this.ensureInitialized();let t=Date.now();if(this.config.cacheDecisions){let i=this.generateCacheKey(e),o=this.decisionCache.get(i);if(o)return this.metrics.recordCacheHit(),this.routerMetrics.recordCacheHit(),o;this.metrics.recordCacheMiss(),this.routerMetrics.recordCacheMiss()}let r;switch(this.config.mode){case"manual":r=await this.selectManual(e);break;case"rule-based":r=await this.selectRuleBased(e);break;case"cost-optimized":r=await this.selectCostOptimized(e);break;case"performance-optimized":r=await this.selectPerformanceOptimized(e);break;default:r=await this.selectRuleBased(e)}if(r.metadata.decisionTimeMs=Date.now()-t,this.config.cacheDecisions){let i=this.generateCacheKey(e);this.decisionCache.set(i,r)}return this.metrics.recordDecision(r,this.config.mode),r}async chat(e){await this.ensureInitialized();let t=O(),r=await this.selectProvider(e),i=e.agentType??"";if($(i)&&(D(r.model)||D(r.providerModelId))){let n=r.model,a=r.providerModelId;r.model=E(i,r.model,A),r.providerModelId=E(i,r.providerModelId,A),console.warn(`[aqe] ADR-093: ${i} pinned to ${r.model} (was ${n}/${a}); set AQE_CYBER_VERIFIED=true after Cyber Verification Program approval`)}return await this.executeWithFallback(e,r,t)}async*stream(e){await this.ensureInitialized();let t=await this.selectProvider(e),r=await this.chat(e),i=100;for(let o=0;o<r.content.length;o+=i){let n=o+i>=r.content.length;yield{type:n?"done":"content",delta:r.content.slice(o,o+i),accumulated:r.content.slice(0,o+i),done:n,tokenCount:Math.ceil((o+i)/4),model:r.model,provider:t.providerType,usage:n?r.usage:void 0}}}getMetrics(){return this.metrics.getMetrics()}getEnhancedMetrics(e){return this.routerMetrics.getMetrics(e)}getProviderMetrics(e){return this.routerMetrics.getMetricsByProvider(e)}getAgentMetrics(e){return this.routerMetrics.getMetricsByAgentType(e)}getCostByProvider(e){return this.costMetrics.getCostByProvider(e)}getCostByAgentType(e){return this.costMetrics.getCostByAgentType(e)}getCostByModel(e){return this.costMetrics.getCostByModel(e)}getTotalCost(e){return this.costMetrics.getTotalCost(e)}getCostTrend(e){return this.costMetrics.getCostTrend(e)}getAuditLog(e){return this.routerMetrics.getAuditLog(e)}getOptimizationSuggestions(){return this.costMetrics.getOptimizationSuggestions()}resetMetrics(){this.metrics.reset(),this.routerMetrics.resetMetrics(),this.costMetrics.reset()}clearCache(){this.decisionCache.clear()}async selectManual(e){let t=e.preferredProvider??this.config.defaultProvider,r=e.model??this.config.defaultModel,i=this.providerManager.getProvider(t);return i?this.createDecision(i,t,r,"manual"):this.createFallbackDecision(e,"manual")}async selectRuleBased(e){let t=this.ruleEngine.evaluate(e);if(t){let{rule:o,rulesEvaluated:n}=t,a=o.action.provider,s=this.providerManager.getProvider(a);if(s){let c=this.createDecision(s,a,o.action.model,"rule-match",o);return c.metadata.rulesEvaluated=n,c}}let r=this.config.defaultProvider,i=this.providerManager.getProvider(r);return i?this.createDecision(i,r,this.config.defaultModel,"default"):this.createFallbackDecision(e,"rule-based")}async selectCostOptimized(e){let t=this.providerManager.getAvailableProviders();if(t.length===0)return this.createFallbackDecision(e,"cost-optimized");let r=1/0,i=t[0],o,n=[];for(let a of t){let s=this.providerManager.getProvider(a);if(!s)continue;let{input:c,output:l}=s.getCostPerToken(),d=this.estimateCostValue(e,c,l);n.push({provider:a,model:s.getConfig().model,reason:`Estimated cost: $${d.toFixed(6)}`,estimatedCost:d,excluded:!1}),d<r&&(r=d,i=a,o=s)}if(o){let a=o.getConfig(),s=this.createDecision(o,i,a.model,"cost-optimization");return s.metadata.estimatedCost=this.createCostEstimate(e,o),s.metadata.alternativesConsidered=n,s}return this.createFallbackDecision(e,"cost-optimized")}async selectPerformanceOptimized(e){let t=this.providerManager.getAvailableProviders(),r=this.providerManager.getMetrics();if(t.length===0)return this.createFallbackDecision(e,"performance-optimized");let i=1/0,o=t[0],n,a=[];for(let s of t){let c=this.providerManager.getProvider(s);if(!c)continue;let d=r[s]?.avgLatencyMs??1/0;a.push({provider:s,model:c.getConfig().model,reason:`Avg latency: ${d}ms`,estimatedLatencyMs:d,excluded:!1}),d<i&&(i=d,o=s,n=c)}if(n){let s=n.getConfig(),c=this.createDecision(n,o,s.model,"performance-optimization");return c.metadata.estimatedLatencyMs=i,c.metadata.alternativesConsidered=a,c}return this.createFallbackDecision(e,"performance-optimized")}async executeWithFallback(e,t,r){let{fallbackChain:i,fallbackBehavior:o}=this.config,n,a=0,s=[{provider:t.providerType,model:t.providerModelId}],c=this.config.defaultProvider;c&&c!==t.providerType&&s.push({provider:c,model:this.config.defaultModel});for(let d of i.entries)if(d.enabled&&d.provider!==t.providerType)for(let p of d.models)s.push({provider:d.provider,model:p});let l=s;if(e.requiresTools){let d=s.filter(p=>w(p.model));if(d.length>0&&d.length<s.length){let p=s.filter(g=>!w(g.model)).map(g=>`${g.provider}:${g.model}`);console.warn(`[llm-router] requiresTools: skipping tool-less model(s) ${p.join(", ")}`),l=d}}this.providerManager.assertWithinBudget(e.messages,{model:l[0]?.model,maxTokens:e.maxTokens});for(let{provider:d,model:p}of l){if(a>=o.maxAttempts)break;let g=this.providerManager.getProvider(d);if(!g)continue;a++;let b=Date.now();try{let u=await g.generate(e.messages,{model:p,temperature:e.temperature,maxTokens:e.maxTokens,systemPrompt:e.systemPrompt,timeoutMs:e.timeoutMs,skipCache:e.skipCache,metadata:e.metadata});this.providerManager.recordResponseSpend(u,e.agentType);let y=Date.now()-b;return this.metrics.recordSuccess(d),this.routerMetrics.recordRoutingDecision(t,y,{agentType:e.agentType,success:!0,tokenUsage:u.usage,cost:u.cost}),this.routerMetrics.recordProviderCall(d,p,y,u.usage.totalTokens,{inputTokens:u.usage.promptTokens,outputTokens:u.usage.completionTokens,success:!0,cost:u.cost.totalCost,agentType:e.agentType}),this.costMetrics.recordCostFromInfo(d,p,u.usage,u.cost,{agentType:e.agentType,requestId:u.requestId}),{content:u.content,model:u.model,providerModelId:u.model,provider:u.provider,usage:u.usage,cost:u.cost,latencyMs:u.latencyMs,finishReason:u.finishReason,cached:u.cached,requestId:u.requestId,routingDecision:t}}catch(u){n=B(u);let y=Date.now()-b;if(this.metrics.recordFailure(d),this.routerMetrics.recordProviderCall(d,p,y,0,{success:!1,agentType:e.agentType}),a<s.length){let z=s[a];z&&this.routerMetrics.recordFallback(d,z.provider,n.message,e.agentType)}!(F(u)&&!u.retryable)&&a<o.maxAttempts&&await this.delay(o.delayMs)}}throw P(`All providers failed after ${a} attempts: ${n?.message??"Unknown error"}`,"PROVIDER_UNAVAILABLE",{retryable:!1,cause:n})}createDecision(e,t,r,i,o){let{canonicalModel:n,providerModelId:a}=this.resolveModelIds(r,t);return{provider:e,providerType:t,model:n,providerModelId:a,reason:i,matchedRule:o,confidence:i==="rule-match"?.95:.8,metadata:{decisionTimeMs:0,timestamp:new Date}}}resolveModelIds(e,t){let i={claude:"anthropic","claude-code":"anthropic",openai:"openai",ollama:"ollama",openrouter:"openrouter",gemini:"gemini","azure-openai":"azure",bedrock:"bedrock"}[t];if(!i)return{canonicalModel:e,providerModelId:e};try{let o=_(e),n=x(o,i);return{canonicalModel:o,providerModelId:n}}catch{try{if(U(e)){let n=x(e,i);return{canonicalModel:e,providerModelId:n}}}catch{}return{canonicalModel:e,providerModelId:e}}}createFallbackDecision(e,t){for(let i of this.config.fallbackChain.entries){if(!i.enabled||!["claude","openai","ollama"].includes(i.provider))continue;let n=this.providerManager.getProvider(i.provider);if(n)return this.createDecision(n,i.provider,i.models[0],"fallback")}let r=this.providerManager.getAvailableProviders();if(r.length>0){let i=r[0],o=this.providerManager.getProvider(i);return this.createDecision(o,i,o.getConfig().model,"fallback")}throw P(`No providers available for ${t} selection`,"PROVIDER_UNAVAILABLE",{retryable:!1})}generateCacheKey(e){return[this.config.mode,e.agentType??"default",e.complexity??"medium",e.requiresTools?"tools":"no-tools",e.preferredProvider??"any"].join(":")}estimateCostValue(e,t,r){let i=0;e.systemPrompt&&(i+=Math.ceil(e.systemPrompt.length/4));for(let n of e.messages)i+=Math.ceil(n.content.length/4);let o=e.maxTokens??1e3;return i*t+o*r}createCostEstimate(e,t){let{input:r,output:i}=t.getCostPerToken(),o=0;e.systemPrompt&&(o+=Math.ceil(e.systemPrompt.length/4));for(let s of e.messages)o+=Math.ceil(s.content.length/4);let n=e.maxTokens??1e3,a=o*r+n*i;return{inputTokens:o,outputTokens:n,totalCostUsd:a,inputCostPer1M:r*1e6,outputCostPer1M:i*1e6}}delay(e){return new Promise(t=>setTimeout(t,e))}async ensureInitialized(){this.initialized||await this.initialize()}},I=class{decisions=new Map;decisionsByMode={manual:0,"rule-based":0,"cost-optimized":0,"performance-optimized":0};totalDecisions=0;cacheHits=0;cacheMisses=0;totalRulesEvaluated=0;rulesMatched=0;fallbackCount=0;startTime=new Date;recordDecision(e,t){this.totalDecisions++,this.decisionsByMode[t]++,e.metadata.rulesEvaluated&&(this.totalRulesEvaluated+=e.metadata.rulesEvaluated),e.matchedRule&&this.rulesMatched++,e.reason==="fallback"&&this.fallbackCount++;let r=this.decisions.get(e.providerType);r||(r=this.createEmptyMetrics(e.providerType),this.decisions.set(e.providerType,r)),r.selectionCount++,e.reason==="rule-match"&&r.ruleMatchCount++,e.reason==="fallback"&&r.fallbackCount++}recordSuccess(e){let t=this.decisions.get(e);if(t){let r=t.successRate*t.selectionCount;t.successRate=(r+1)/t.selectionCount}}recordFailure(e){}recordCacheHit(){this.cacheHits++}recordCacheMiss(){this.cacheMisses++}getMetrics(){let e={};for(let[r,i]of this.decisions)e[r]={...i};let t=this.totalDecisions>0?this.rulesMatched/this.totalDecisions:0;return{byProvider:e,totalDecisions:this.totalDecisions,decisionsByMode:{...this.decisionsByMode},avgDecisionTimeMs:0,p95DecisionTimeMs:0,p99DecisionTimeMs:0,fallbackRate:this.totalDecisions>0?this.fallbackCount/this.totalDecisions:0,ruleMatchRate:t,estimatedCostSavings:0,ruleStats:{totalEvaluated:this.totalRulesEvaluated,matched:this.rulesMatched,avgRulesPerDecision:this.totalDecisions>0?this.totalRulesEvaluated/this.totalDecisions:0},cacheStats:{hits:this.cacheHits,misses:this.cacheMisses,hitRate:this.cacheHits+this.cacheMisses>0?this.cacheHits/(this.cacheHits+this.cacheMisses):0},period:{start:this.startTime,end:new Date}}}reset(){this.decisions.clear(),this.decisionsByMode={manual:0,"rule-based":0,"cost-optimized":0,"performance-optimized":0},this.totalDecisions=0,this.cacheHits=0,this.cacheMisses=0,this.totalRulesEvaluated=0,this.rulesMatched=0,this.fallbackCount=0,this.startTime=new Date}createEmptyMetrics(e){return{provider:e,selectionCount:0,ruleMatchCount:0,fallbackCount:0,avgDecisionTimeMs:0,successRate:1,avgLatencyMs:0,p95LatencyMs:0,p99LatencyMs:0,totalCost:0,totalTokens:0,circuitState:"closed"}}};function Qe(m,e){return new M(m,e)}function Xe(m){return new M(m,{mode:"rule-based",rules:q,defaultProvider:"claude",defaultModel:"claude-sonnet-4-6",enableMetrics:!0,cacheDecisions:!0})}export{M as a,Qe as b,Xe as c};
@@ -1,3 +0,0 @@
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.13.0");process.exit(0)}
2
- import{a as c,b as l}from"./chunk-MVI2QMRW.js";import{m as R}from"./chunk-G5DFYX3J.js";import{b as u}from"./chunk-NUQBJGGF.js";R();import*as s from"fs";import*as a from"path";var E="llm-config.json",f={claude:["ANTHROPIC_API_KEY","CLAUDE_API_KEY"],"claude-code":[],codex:[],openai:["OPENAI_API_KEY"],ollama:[],openrouter:["OPENROUTER_API_KEY"],gemini:["GOOGLE_AI_API_KEY","GEMINI_API_KEY","GOOGLE_API_KEY"],"azure-openai":["AZURE_OPENAI_API_KEY"],bedrock:["AWS_ACCESS_KEY_ID"],cognitum:["COGNITUM_API_KEY"],onnx:[]},y=new Set(["claude","claude-code","codex","openai","ollama","openrouter","gemini","azure-openai","bedrock","cognitum"]);function P(r){let e=r??u();return a.join(e,".agentic-qe",E)}function _(r=process.env){let e=new Set;for(let o of c){if(!y.has(o))continue;let n=f[o];if(n.length===0){e.add(o);continue}n.some(t=>(r[t]??"").trim().length>0)&&e.add(o)}return e}function g(r){let e=P(r);if(!s.existsSync(e))return{};let o=s.readFileSync(e,"utf8");if(!o.trim())return{};let n=JSON.parse(o);if(typeof n!="object"||n===null)throw new Error(`Invalid ${E}: expected object, got ${typeof n}`);return n}function A(r,e){let o=P(e),n=a.dirname(o);s.existsSync(n)||s.mkdirSync(n,{recursive:!0});let t=m(r),i=JSON.stringify(t,null,2)+`
3
- `,d=o+".tmp-"+process.pid;s.writeFileSync(d,i,{encoding:"utf8",mode:384}),s.renameSync(d,o)}function m(r){if(!r.providers)return JSON.parse(JSON.stringify(r));let e=JSON.parse(JSON.stringify(r)),o=[];if(e.providers)for(let n of Object.keys(e.providers)){let t=e.providers[n];t&&"apiKey"in t&&t.apiKey&&(delete t.apiKey,o.push(n))}return o.length>0&&console.warn(`[router-config] Refused to persist apiKey for: ${o.join(", ")}. API keys belong in environment variables (e.g. ANTHROPIC_API_KEY, GEMINI_API_KEY, OPENAI_API_KEY, OPENROUTER_API_KEY), NOT in .agentic-qe/llm-config.json which may be checked into source control.`),e}function v(r,e){let o={...r,...e,providers:{...r.providers??{}}};if(e.providers)for(let[n,t]of Object.entries(e.providers)){if(!t)continue;let i=n;o.providers[i]={...r.providers?.[i]??{},...t}}return o}function I(r,e=process.env,o=new Set){let n=_(e),t={...r,providers:{...r.providers??{}}};for(let i of n){if(f[i].length===0||o.has(i))continue;let p=t.providers[i]??{enabled:!1};p.enabled||(t.providers[i]={...p,enabled:!0})}return t}function O(r){let e=new Set;if(!r.providers)return e;for(let[o,n]of Object.entries(r.providers))n&&n.enabled===!1&&e.add(o);return e}function C(r=process.env){let e=(r.AQE_LLM_PROVIDER??"").trim().toLowerCase();if(!e)return;let o=e==="anthropic"?"claude":e;if(c.includes(o))return o;console.warn(`[router-config] Ignoring AQE_LLM_PROVIDER="${e}": not a known provider. Valid values: ${c.join(", ")}.`)}function N(r={}){let e=r.env??process.env,o=g(r.projectRoot),n=v(l,o),t=O(o),i=I(n,e,t),d=C(e);return d&&(i={...i,defaultProvider:d,providers:{...i.providers,[d]:{...i.providers?.[d]??{},enabled:!0}}}),r.override?v(i,r.override):i}function T(r={}){let e=r.env??process.env;for(let n of c){let t=f[n];if(t.length!==0&&t.some(i=>(e[i]??"").trim().length>0))return!0}let o=g(r.projectRoot);if(o.providers){for(let n of Object.values(o.providers))if(n?.enabled)return!0}return!1}export{_ as a,A as b,N as c,T as d};
@@ -1,2 +0,0 @@
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.13.0");process.exit(0)}
2
- import{c as a,d as b,e as c}from"./chunk-LOXVVMS4.js";import"./chunk-4BESADKE.js";import"./chunk-CYL2FV23.js";import"./chunk-ES7WCYOU.js";c();export{a as VibiumClientImpl,b as VibiumClientProvider};
@@ -1,8 +0,0 @@
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.13.0");process.exit(0)}
2
- import{b as d}from"./chunk-NETN3OUG.js";import{a as g,c as u}from"./chunk-CYL2FV23.js";import"./chunk-ES7WCYOU.js";u();import{existsSync as o,mkdirSync as h,readFileSync as f,writeFileSync as s}from"fs";import{join as m,dirname as x}from"path";var c=class{projectRoot;overwrite;options;generator;constructor(t){this.projectRoot=t.projectRoot,this.overwrite=t.overwrite??!1,this.options=t,this.generator=d()}async install(){let t={success:!0,mcpConfigured:!1,agentsMdInstalled:!1,errors:[],configPath:"",agentsMdPath:""};try{let r=this.generator.generateMcpConfig("codex",{memoryBackend:this.options.memoryBackend}),e=m(this.projectRoot,r.path);if(t.configPath=e,!o(e)||this.overwrite){let i=x(e);if(o(i)||h(i,{recursive:!0}),o(e)&&this.overwrite){let p=this.mergeExistingTomlConfig(e,r.content);s(e,p)}else s(e,r.content);t.mcpConfigured=!0}let a=this.generator.generateBehavioralRules("codex"),n=m(this.projectRoot,a.path);if(t.agentsMdPath=n,!o(n)||this.overwrite){if(o(n)&&this.overwrite){let i=this.mergeExistingAgentsMd(n,a.content);s(n,i)}else s(n,a.content);t.agentsMdInstalled=!0}}catch(r){t.success=!1,t.errors.push(`Codex installation failed: ${g(r)}`)}return t}mergeExistingTomlConfig(t,r){try{let e=f(t,"utf-8");return e.includes("[mcp_servers.agentic-qe]")?e:e.trimEnd()+`
3
-
4
- `+r}catch{return r}}mergeExistingAgentsMd(t,r){try{let e=f(t,"utf-8");return e.includes("Agentic QE")||e.includes("fleet_init")?e:e.trimEnd()+`
5
-
6
- ---
7
-
8
- `+r}catch{return r}}};function I(l){return new c(l)}export{c as CodexInstaller,I as createCodexInstaller};
@@ -1,2 +0,0 @@
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.13.0");process.exit(0)}
2
- import{c as a,d as b,e as c,f as d,g as e,h as f,i as g,j as h,k as i,l as j,m as k,n as l}from"./chunk-RLCWR7TS.js";import"./chunk-YFGAHNCG.js";import"./chunk-ZLXBNNNT.js";import"./chunk-WRYT4HTZ.js";import"./chunk-2NRZYQSF.js";import"./chunk-KSYLRM4Q.js";import"./chunk-RSFIOR2I.js";import"./chunk-ZJG6N2OK.js";import"./chunk-FQLWQWRU.js";import"./chunk-GTUFX7AR.js";import"./chunk-BGYLNCL6.js";import"./chunk-TNRIGQ6U.js";import"./chunk-7UNY32PU.js";import"./chunk-RVRBTOWX.js";import"./chunk-K5N6SLHO.js";import"./chunk-VC6EXDGY.js";import"./chunk-RVJPWRV6.js";import"./chunk-HL2QMM4M.js";import"./chunk-XKFE3FLI.js";import"./chunk-EECM5XKY.js";import"./chunk-LWYLW7RX.js";import"./chunk-QQB55ZJJ.js";import"./chunk-N5MMBA35.js";import"./chunk-2VQVEQS4.js";import"./chunk-UMG5URNV.js";import"./chunk-KVL63BSU.js";import"./chunk-LOXVVMS4.js";import"./chunk-HOKON5EL.js";import"./chunk-HTPM3URI.js";import"./chunk-J3L52EA4.js";import"./chunk-FQY3UTGA.js";import"./chunk-GJMZR7WU.js";import"./chunk-5FLTZ3KT.js";import"./chunk-BOVH6WSM.js";import"./chunk-CQFT7H3F.js";import"./chunk-UIPPJKON.js";import"./chunk-6AOBLBR4.js";import"./chunk-VHYMSZNF.js";import"./chunk-VLBV2VL3.js";import"./chunk-56WZFXTQ.js";import"./chunk-RJZRWVL4.js";import"./chunk-QWYISZTN.js";import"./chunk-MBCGI3M2.js";import"./chunk-CWUBOLKY.js";import"./chunk-4BESADKE.js";import"./chunk-EFRESRLB.js";import"./chunk-GFBLWFRV.js";import"./chunk-4BDLD7V2.js";import"./chunk-ZEIG5IQ4.js";import"./chunk-ANYYTWOQ.js";import"./chunk-VSNRPMAZ.js";import"./chunk-TZ73SXQ5.js";import"./chunk-54MFKCLT.js";import"./chunk-IYDYJ33J.js";import"./chunk-34PEINFS.js";import"./chunk-UNIBND6A.js";import"./chunk-7YXT6BXN.js";import"./chunk-QTU3CVOB.js";import"./chunk-QCEW4ZDW.js";import"./chunk-R3GEXYO4.js";import"./chunk-KZTBNDNE.js";import"./chunk-L4LLA5U7.js";import"./chunk-TZPKTRJB.js";import"./chunk-G4GTE3RJ.js";import"./chunk-PP2RYSHT.js";import"./chunk-JPIBPKBP.js";import"./chunk-5EIOQCGN.js";import"./chunk-OETDMOOE.js";import"./chunk-IPHLXAMX.js";import"./chunk-OZR25R7W.js";import"./chunk-32ZGV4Q4.js";import"./chunk-MVI2QMRW.js";import"./chunk-6SXKCIN5.js";import"./chunk-IHQTXJAQ.js";import"./chunk-FBBZHATF.js";import"./chunk-U2SW6KK5.js";import"./chunk-5ICQL42E.js";import"./chunk-ANIDFJCT.js";import"./chunk-SRQ3CPJE.js";import"./chunk-GUEZQOHL.js";import"./chunk-3JVUWKCO.js";import"./chunk-ZCFZ4USU.js";import"./chunk-VLNPJAVH.js";import"./chunk-Q7PBGNUD.js";import"./chunk-FAQLI3P5.js";import"./chunk-3NOCK6ED.js";import"./chunk-A4QLGPYO.js";import"./chunk-FUU32QY5.js";import"./chunk-SHCTEXNH.js";import"./chunk-CFVEDUTW.js";import"./chunk-N7VOOI3U.js";import"./chunk-BCKTBGDM.js";import"./chunk-G5DFYX3J.js";import"./chunk-W5YEIHIO.js";import"./chunk-BUGWPTMF.js";import"./chunk-HVB2L52I.js";import"./chunk-OXXMVQDF.js";import"./chunk-NUQBJGGF.js";import"./chunk-2DIT5AUU.js";import"./chunk-LXPB7H2P.js";import"./chunk-KUA4HHU6.js";import"./chunk-G7FMYFTN.js";import"./chunk-QI4CGJNK.js";import"./chunk-CYL2FV23.js";import"./chunk-E3B5XTXJ.js";import"./chunk-Z6QCOZ2H.js";import"./chunk-SNTUKW4Q.js";import"./chunk-TVMFH5N2.js";import"./chunk-THBTN7XB.js";import"./chunk-RDU4WTV2.js";import"./chunk-LBE2P6UC.js";import"./chunk-IZRLIWFN.js";import"./chunk-AO7AHX6K.js";import"./chunk-YRQLVGCI.js";import"./chunk-3GSYD5SL.js";import"./chunk-ES7WCYOU.js";export{c as adoptExternalFleet,e as assignAgentLevel,k as disposeFleet,f as getAgentLevel,g as getAllAgentLevels,a as getFleetState,d as getFleetTopology,l as handleAQEHealth,j as handleFleetHealth,h as handleFleetInit,i as handleFleetStatus,b as isFleetInitialized};
@@ -1,2 +0,0 @@
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.13.0");process.exit(0)}
2
- import{a,b}from"./chunk-34PEINFS.js";import"./chunk-UNIBND6A.js";import"./chunk-QI4CGJNK.js";import"./chunk-E3B5XTXJ.js";import"./chunk-ES7WCYOU.js";export{a as CrossDomainEventRouter,b as createCrossDomainRouter};
@@ -1,2 +0,0 @@
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.13.0");process.exit(0)}
2
- import{b as a,c as b,d as c,e as d,f as e,g as f,h as g,i as h,j as i,k as j,l as k,m as l,n as m,o as n,p as o,q as p,r as q,s as r,t as s,u as t,v as u}from"./chunk-J3L52EA4.js";import"./chunk-FQY3UTGA.js";import"./chunk-GJMZR7WU.js";import"./chunk-5FLTZ3KT.js";import"./chunk-ANIDFJCT.js";import"./chunk-SRQ3CPJE.js";import"./chunk-GUEZQOHL.js";import"./chunk-3JVUWKCO.js";import"./chunk-ZCFZ4USU.js";import"./chunk-VLNPJAVH.js";import"./chunk-Q7PBGNUD.js";import"./chunk-FAQLI3P5.js";import"./chunk-3NOCK6ED.js";import"./chunk-A4QLGPYO.js";import"./chunk-FUU32QY5.js";import"./chunk-SHCTEXNH.js";import"./chunk-CFVEDUTW.js";import"./chunk-N7VOOI3U.js";import"./chunk-BCKTBGDM.js";import"./chunk-G5DFYX3J.js";import"./chunk-W5YEIHIO.js";import"./chunk-BUGWPTMF.js";import"./chunk-HVB2L52I.js";import"./chunk-OXXMVQDF.js";import"./chunk-NUQBJGGF.js";import"./chunk-2DIT5AUU.js";import"./chunk-LXPB7H2P.js";import"./chunk-KUA4HHU6.js";import"./chunk-G7FMYFTN.js";import"./chunk-QI4CGJNK.js";import"./chunk-CYL2FV23.js";import"./chunk-E3B5XTXJ.js";import"./chunk-SNTUKW4Q.js";import"./chunk-TVMFH5N2.js";import"./chunk-THBTN7XB.js";import"./chunk-RDU4WTV2.js";import"./chunk-LBE2P6UC.js";import"./chunk-IZRLIWFN.js";import"./chunk-AO7AHX6K.js";import"./chunk-YRQLVGCI.js";import"./chunk-3GSYD5SL.js";import"./chunk-ES7WCYOU.js";export{q as BUILT_IN_STRATEGIES,b as ConceptGraph,g as DEFAULT_ACTIVATION_CONFIG,a as DEFAULT_CONCEPT_GRAPH_CONFIG,m as DEFAULT_DREAM_CONFIG,s as DEFAULT_DREAM_SCHEDULER_CONFIG,i as DEFAULT_INSIGHT_CONFIG,k as DEFAULT_VALIDATION_THRESHOLDS,n as DreamEngine,t as DreamScheduler,f as HISTORY_TRIM_TARGET_RATIO,j as InsightGenerator,d as MAX_ACTIVATION_HISTORY_ENTRIES,e as MAX_COACTIVATION_ENTRIES,l as RVCOWBranchManager,r as SpeculativeDreamer,h as SpreadingActivation,c as createConceptGraph,o as createDreamEngine,u as createDreamScheduler,p as default};
@@ -1,2 +0,0 @@
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.13.0");process.exit(0)}
2
- import{b as a}from"./chunk-D3MPV5G7.js";import"./chunk-2VQVEQS4.js";import"./chunk-UMG5URNV.js";import"./chunk-KVL63BSU.js";import"./chunk-VLNPJAVH.js";import"./chunk-G5DFYX3J.js";import"./chunk-W5YEIHIO.js";import"./chunk-BUGWPTMF.js";import"./chunk-HVB2L52I.js";import"./chunk-OXXMVQDF.js";import"./chunk-NUQBJGGF.js";import"./chunk-2DIT5AUU.js";import"./chunk-CYL2FV23.js";import"./chunk-SNTUKW4Q.js";import"./chunk-TVMFH5N2.js";import"./chunk-THBTN7XB.js";import"./chunk-RDU4WTV2.js";import"./chunk-LBE2P6UC.js";import"./chunk-IZRLIWFN.js";import"./chunk-AO7AHX6K.js";import"./chunk-YRQLVGCI.js";import"./chunk-3GSYD5SL.js";import"./chunk-ES7WCYOU.js";export{a as HeartbeatSchedulerWorker};
@@ -1,2 +0,0 @@
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.13.0");process.exit(0)}
2
- import{a,c as b}from"./chunk-AO7AHX6K.js";import"./chunk-YRQLVGCI.js";import"./chunk-3GSYD5SL.js";import"./chunk-ES7WCYOU.js";b();export{a as HnswAdapter};
@@ -1,2 +0,0 @@
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.13.0");process.exit(0)}
2
- import{a,b,c,d}from"./chunk-5ICQL42E.js";import"./chunk-HVB2L52I.js";import"./chunk-OXXMVQDF.js";import"./chunk-RDU4WTV2.js";import"./chunk-AO7AHX6K.js";import"./chunk-YRQLVGCI.js";import"./chunk-3GSYD5SL.js";import"./chunk-ES7WCYOU.js";export{a as DEFAULT_HNSW_CONFIG,b as HNSWIndex,d as benchmarkHNSW,c as createHNSWIndex};
@@ -1,2 +0,0 @@
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.13.0");process.exit(0)}
2
- import{a,b,c}from"./chunk-OZR25R7W.js";import"./chunk-32ZGV4Q4.js";import"./chunk-MVI2QMRW.js";import"./chunk-6SXKCIN5.js";import"./chunk-IHQTXJAQ.js";import"./chunk-FBBZHATF.js";import"./chunk-CYL2FV23.js";import"./chunk-E3B5XTXJ.js";import"./chunk-ES7WCYOU.js";export{a as HybridRouter,b as createHybridRouter,c as createQERouter};
@@ -1,2 +0,0 @@
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.13.0");process.exit(0)}
2
- import{a}from"./chunk-QWYISZTN.js";import"./chunk-MBCGI3M2.js";import"./chunk-CWUBOLKY.js";import"./chunk-IPHLXAMX.js";import"./chunk-HVB2L52I.js";import"./chunk-OXXMVQDF.js";import"./chunk-2DIT5AUU.js";import"./chunk-QI4CGJNK.js";import"./chunk-CYL2FV23.js";import"./chunk-E3B5XTXJ.js";import"./chunk-ES7WCYOU.js";export{a as ImpactAnalyzerService};
@@ -1,2 +0,0 @@
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.13.0");process.exit(0)}
2
- import{a,b,c,d}from"./chunk-6DTOGSDV.js";import"./chunk-ZJIX5FGQ.js";import"./chunk-PERJO2DY.js";import"./chunk-RJZRWVL4.js";import"./chunk-4BDLD7V2.js";import"./chunk-2DIT5AUU.js";import"./chunk-CYL2FV23.js";import"./chunk-SNTUKW4Q.js";import"./chunk-TVMFH5N2.js";import"./chunk-ES7WCYOU.js";export{a as InitOrchestrator,b as createInitOrchestrator,d as formatInitResult,c as quickInit};
@@ -1,2 +0,0 @@
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.13.0");process.exit(0)}
2
- import{A as b,z as a}from"./chunk-RSFIOR2I.js";import"./chunk-ZJG6N2OK.js";import"./chunk-FQLWQWRU.js";import"./chunk-GTUFX7AR.js";import"./chunk-BGYLNCL6.js";import"./chunk-7UNY32PU.js";import"./chunk-K5N6SLHO.js";import"./chunk-VC6EXDGY.js";import"./chunk-RVJPWRV6.js";import"./chunk-EECM5XKY.js";import"./chunk-N5MMBA35.js";import"./chunk-LOXVVMS4.js";import"./chunk-HOKON5EL.js";import"./chunk-HTPM3URI.js";import"./chunk-J3L52EA4.js";import"./chunk-FQY3UTGA.js";import"./chunk-GJMZR7WU.js";import"./chunk-5FLTZ3KT.js";import"./chunk-UIPPJKON.js";import"./chunk-VHYMSZNF.js";import"./chunk-VLBV2VL3.js";import"./chunk-56WZFXTQ.js";import"./chunk-RJZRWVL4.js";import"./chunk-QWYISZTN.js";import"./chunk-MBCGI3M2.js";import"./chunk-CWUBOLKY.js";import"./chunk-4BESADKE.js";import"./chunk-ZEIG5IQ4.js";import"./chunk-ANYYTWOQ.js";import"./chunk-TZ73SXQ5.js";import"./chunk-54MFKCLT.js";import"./chunk-IYDYJ33J.js";import"./chunk-UNIBND6A.js";import"./chunk-TZPKTRJB.js";import"./chunk-G4GTE3RJ.js";import"./chunk-PP2RYSHT.js";import"./chunk-JPIBPKBP.js";import"./chunk-5EIOQCGN.js";import"./chunk-OETDMOOE.js";import"./chunk-IPHLXAMX.js";import"./chunk-OZR25R7W.js";import"./chunk-32ZGV4Q4.js";import"./chunk-MVI2QMRW.js";import"./chunk-6SXKCIN5.js";import"./chunk-IHQTXJAQ.js";import"./chunk-FBBZHATF.js";import"./chunk-U2SW6KK5.js";import"./chunk-5ICQL42E.js";import"./chunk-ANIDFJCT.js";import"./chunk-SRQ3CPJE.js";import"./chunk-GUEZQOHL.js";import"./chunk-3JVUWKCO.js";import"./chunk-ZCFZ4USU.js";import"./chunk-VLNPJAVH.js";import"./chunk-Q7PBGNUD.js";import"./chunk-FAQLI3P5.js";import"./chunk-3NOCK6ED.js";import"./chunk-A4QLGPYO.js";import"./chunk-FUU32QY5.js";import"./chunk-SHCTEXNH.js";import"./chunk-CFVEDUTW.js";import"./chunk-N7VOOI3U.js";import"./chunk-BCKTBGDM.js";import"./chunk-G5DFYX3J.js";import"./chunk-W5YEIHIO.js";import"./chunk-BUGWPTMF.js";import"./chunk-HVB2L52I.js";import"./chunk-OXXMVQDF.js";import"./chunk-NUQBJGGF.js";import"./chunk-2DIT5AUU.js";import"./chunk-LXPB7H2P.js";import"./chunk-KUA4HHU6.js";import"./chunk-G7FMYFTN.js";import"./chunk-QI4CGJNK.js";import"./chunk-CYL2FV23.js";import"./chunk-E3B5XTXJ.js";import"./chunk-Z6QCOZ2H.js";import"./chunk-SNTUKW4Q.js";import"./chunk-TVMFH5N2.js";import"./chunk-THBTN7XB.js";import"./chunk-RDU4WTV2.js";import"./chunk-LBE2P6UC.js";import"./chunk-IZRLIWFN.js";import"./chunk-AO7AHX6K.js";import"./chunk-YRQLVGCI.js";import"./chunk-3GSYD5SL.js";import"./chunk-ES7WCYOU.js";export{a as QEKernelImpl,b as createKernel};
@@ -1,2 +0,0 @@
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.13.0");process.exit(0)}
2
- import{g as a}from"./chunk-MBCGI3M2.js";import"./chunk-CWUBOLKY.js";import"./chunk-IPHLXAMX.js";import"./chunk-HVB2L52I.js";import"./chunk-OXXMVQDF.js";import"./chunk-2DIT5AUU.js";import"./chunk-QI4CGJNK.js";import"./chunk-CYL2FV23.js";import"./chunk-ES7WCYOU.js";export{a as KnowledgeGraphService};
@@ -1,2 +0,0 @@
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.13.0");process.exit(0)}
2
- import{a,b,c}from"./chunk-G4GTE3RJ.js";import"./chunk-PP2RYSHT.js";import"./chunk-JPIBPKBP.js";import"./chunk-5EIOQCGN.js";import"./chunk-OETDMOOE.js";import"./chunk-IPHLXAMX.js";import"./chunk-OZR25R7W.js";import"./chunk-32ZGV4Q4.js";import"./chunk-MVI2QMRW.js";import"./chunk-6SXKCIN5.js";import"./chunk-IHQTXJAQ.js";import"./chunk-FBBZHATF.js";import"./chunk-G5DFYX3J.js";import"./chunk-W5YEIHIO.js";import"./chunk-BUGWPTMF.js";import"./chunk-HVB2L52I.js";import"./chunk-OXXMVQDF.js";import"./chunk-NUQBJGGF.js";import"./chunk-2DIT5AUU.js";import"./chunk-CYL2FV23.js";import"./chunk-E3B5XTXJ.js";import"./chunk-SNTUKW4Q.js";import"./chunk-TVMFH5N2.js";import"./chunk-THBTN7XB.js";import"./chunk-RDU4WTV2.js";import"./chunk-LBE2P6UC.js";import"./chunk-IZRLIWFN.js";import"./chunk-AO7AHX6K.js";import"./chunk-YRQLVGCI.js";import"./chunk-3GSYD5SL.js";import"./chunk-ES7WCYOU.js";export{a as createLLMRouterService,b as pickEnabledProviders,c as pickPrimaryAndFallbacks};
@@ -1,2 +0,0 @@
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.13.0");process.exit(0)}
2
- import{a}from"./chunk-HL2QMM4M.js";import"./chunk-CQFT7H3F.js";import"./chunk-UIPPJKON.js";import"./chunk-G5DFYX3J.js";import"./chunk-W5YEIHIO.js";import"./chunk-BUGWPTMF.js";import"./chunk-HVB2L52I.js";import"./chunk-OXXMVQDF.js";import"./chunk-NUQBJGGF.js";import"./chunk-2DIT5AUU.js";import"./chunk-CYL2FV23.js";import"./chunk-E3B5XTXJ.js";import"./chunk-Z6QCOZ2H.js";import"./chunk-SNTUKW4Q.js";import"./chunk-TVMFH5N2.js";import"./chunk-THBTN7XB.js";import"./chunk-RDU4WTV2.js";import"./chunk-LBE2P6UC.js";import"./chunk-IZRLIWFN.js";import"./chunk-AO7AHX6K.js";import"./chunk-YRQLVGCI.js";import"./chunk-3GSYD5SL.js";import"./chunk-ES7WCYOU.js";export{a as LoadTestTool};
@@ -1,2 +0,0 @@
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.13.0");process.exit(0)}
2
- import{a}from"./chunk-Z6QCOZ2H.js";import"./chunk-LBE2P6UC.js";import"./chunk-IZRLIWFN.js";import"./chunk-ES7WCYOU.js";export{a as InMemoryBackend};
@@ -1,2 +0,0 @@
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.13.0");process.exit(0)}
2
- import{a}from"./chunk-3NOCK6ED.js";import"./chunk-BUGWPTMF.js";import"./chunk-E3B5XTXJ.js";import"./chunk-ES7WCYOU.js";export{a as PatternNullStore};
@@ -1,2 +0,0 @@
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.13.0");process.exit(0)}
2
- import{a,b}from"./chunk-QQB55ZJJ.js";import"./chunk-N5MMBA35.js";import"./chunk-IYDYJ33J.js";import"./chunk-QI4CGJNK.js";import"./chunk-CYL2FV23.js";import"./chunk-E3B5XTXJ.js";import"./chunk-ES7WCYOU.js";export{a as DefaultProtocolExecutor,b as createProtocolExecutor};
@@ -1,2 +0,0 @@
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.13.0");process.exit(0)}
2
- import{c as a,d as b,e as c,f as d}from"./chunk-JPIBPKBP.js";import"./chunk-5EIOQCGN.js";import"./chunk-OETDMOOE.js";import"./chunk-IPHLXAMX.js";import"./chunk-6SXKCIN5.js";import"./chunk-IHQTXJAQ.js";import"./chunk-FBBZHATF.js";import"./chunk-G5DFYX3J.js";import"./chunk-W5YEIHIO.js";import"./chunk-BUGWPTMF.js";import"./chunk-HVB2L52I.js";import"./chunk-OXXMVQDF.js";import"./chunk-NUQBJGGF.js";import"./chunk-2DIT5AUU.js";import"./chunk-CYL2FV23.js";import"./chunk-SNTUKW4Q.js";import"./chunk-TVMFH5N2.js";import"./chunk-THBTN7XB.js";import"./chunk-RDU4WTV2.js";import"./chunk-LBE2P6UC.js";import"./chunk-IZRLIWFN.js";import"./chunk-AO7AHX6K.js";import"./chunk-YRQLVGCI.js";import"./chunk-3GSYD5SL.js";import"./chunk-ES7WCYOU.js";export{a as DEFAULT_PROVIDER_MANAGER_CONFIG,b as ProviderManager,c as createProviderManager,d as createQEProviderManager};
@@ -1,2 +0,0 @@
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.13.0");process.exit(0)}
2
- import{a as h,b as i,c as j,e as k,f as l,g as m,h as n}from"./chunk-ANIDFJCT.js";import"./chunk-SRQ3CPJE.js";import{a as e,b as f,d as g}from"./chunk-GUEZQOHL.js";import"./chunk-3JVUWKCO.js";import"./chunk-ZCFZ4USU.js";import{a,b,c,h as d}from"./chunk-VLNPJAVH.js";import"./chunk-Q7PBGNUD.js";import"./chunk-FAQLI3P5.js";import"./chunk-3NOCK6ED.js";import"./chunk-A4QLGPYO.js";import"./chunk-FUU32QY5.js";import"./chunk-N7VOOI3U.js";import"./chunk-BCKTBGDM.js";import"./chunk-G5DFYX3J.js";import"./chunk-W5YEIHIO.js";import"./chunk-BUGWPTMF.js";import"./chunk-HVB2L52I.js";import"./chunk-OXXMVQDF.js";import"./chunk-NUQBJGGF.js";import"./chunk-2DIT5AUU.js";import"./chunk-LXPB7H2P.js";import"./chunk-KUA4HHU6.js";import"./chunk-G7FMYFTN.js";import"./chunk-QI4CGJNK.js";import"./chunk-CYL2FV23.js";import"./chunk-E3B5XTXJ.js";import"./chunk-SNTUKW4Q.js";import"./chunk-TVMFH5N2.js";import"./chunk-THBTN7XB.js";import"./chunk-RDU4WTV2.js";import"./chunk-LBE2P6UC.js";import"./chunk-IZRLIWFN.js";import"./chunk-AO7AHX6K.js";import"./chunk-YRQLVGCI.js";import"./chunk-3GSYD5SL.js";import"./chunk-ES7WCYOU.js";export{j as AGENT_CAPABILITIES,h as DEFAULT_QE_REASONING_BANK_CONFIG,i as PRETRAINED_PATTERNS,m as QEReasoningBank,l as RELATED_DOMAINS,d as applyPatternTemplate,k as calculateAgentScores,n as createQEReasoningBank,a as detectQEDomain,b as detectQEDomains,g as generateGuidanceContext,f as getCombinedGuidance,e as getGuidance,c as mapQEDomainToAQE};
@@ -1,2 +0,0 @@
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.13.0");process.exit(0)}
2
- import{a,b,c,d}from"./chunk-EFRESRLB.js";import"./chunk-GFBLWFRV.js";import"./chunk-4BDLD7V2.js";import"./chunk-ZEIG5IQ4.js";import"./chunk-ANYYTWOQ.js";import"./chunk-VSNRPMAZ.js";import"./chunk-TZ73SXQ5.js";import"./chunk-UNIBND6A.js";import"./chunk-U2SW6KK5.js";import"./chunk-3JVUWKCO.js";import"./chunk-ZCFZ4USU.js";import"./chunk-VLNPJAVH.js";import"./chunk-Q7PBGNUD.js";import"./chunk-G5DFYX3J.js";import"./chunk-W5YEIHIO.js";import"./chunk-BUGWPTMF.js";import"./chunk-HVB2L52I.js";import"./chunk-OXXMVQDF.js";import"./chunk-NUQBJGGF.js";import"./chunk-2DIT5AUU.js";import"./chunk-QI4CGJNK.js";import"./chunk-CYL2FV23.js";import"./chunk-E3B5XTXJ.js";import"./chunk-SNTUKW4Q.js";import"./chunk-TVMFH5N2.js";import"./chunk-THBTN7XB.js";import"./chunk-RDU4WTV2.js";import"./chunk-LBE2P6UC.js";import"./chunk-IZRLIWFN.js";import"./chunk-AO7AHX6K.js";import"./chunk-YRQLVGCI.js";import"./chunk-3GSYD5SL.js";import"./chunk-ES7WCYOU.js";export{a as DOMAIN_GROUPS,c as QueenCoordinator,b as TASK_DOMAIN_MAP,d as createQueenCoordinator};
@@ -1,2 +0,0 @@
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.13.0");process.exit(0)}
2
- import{a,b,c}from"./chunk-6AOBLBR4.js";import"./chunk-QTU3CVOB.js";import"./chunk-R3GEXYO4.js";import"./chunk-KZTBNDNE.js";import"./chunk-L4LLA5U7.js";import"./chunk-2DIT5AUU.js";import"./chunk-CYL2FV23.js";import"./chunk-ES7WCYOU.js";export{a as ModelRouter,b as createModelRouter,c as createModelRouterWithAgentBooster};
@@ -1,2 +0,0 @@
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.13.0");process.exit(0)}
2
- import{b as a,c as b}from"./chunk-VHYMSZNF.js";import"./chunk-VLBV2VL3.js";import"./chunk-56WZFXTQ.js";import"./chunk-RJZRWVL4.js";import"./chunk-FBBZHATF.js";import"./chunk-G5DFYX3J.js";import"./chunk-W5YEIHIO.js";import"./chunk-BUGWPTMF.js";import"./chunk-HVB2L52I.js";import"./chunk-OXXMVQDF.js";import"./chunk-NUQBJGGF.js";import"./chunk-2DIT5AUU.js";import"./chunk-CYL2FV23.js";import"./chunk-SNTUKW4Q.js";import"./chunk-TVMFH5N2.js";import"./chunk-THBTN7XB.js";import"./chunk-RDU4WTV2.js";import"./chunk-LBE2P6UC.js";import"./chunk-IZRLIWFN.js";import"./chunk-AO7AHX6K.js";import"./chunk-YRQLVGCI.js";import"./chunk-3GSYD5SL.js";import"./chunk-ES7WCYOU.js";export{a as RoutingFeedbackCollector,b as createRoutingFeedbackCollector};
@@ -1,2 +0,0 @@
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.13.0");process.exit(0)}
2
- import{a,b,c,d,f as e}from"./chunk-KUA4HHU6.js";import"./chunk-ES7WCYOU.js";e();export{a as createRvfStore,d as isRvfNativeAvailable,b as openRvfStore,c as openRvfStoreReadonly};
@@ -1,2 +0,0 @@
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.13.0");process.exit(0)}
2
- import{a,b}from"./chunk-SNTUKW4Q.js";import"./chunk-TVMFH5N2.js";import"./chunk-ES7WCYOU.js";b();export{a as openDatabase};