agentic-qe 3.10.6 → 3.10.7

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 (441) hide show
  1. package/.claude/hooks/aqe-hook.cjs +38 -2
  2. package/.claude/skills/.validation/examples/chaos-engineering-output.example.json +1 -1
  3. package/.claude/skills/.validation/examples/performance-testing-output.example.json +1 -1
  4. package/.claude/skills/.validation/examples/security-testing-output.example.json +1 -1
  5. package/.claude/skills/.validation/examples/testability-scoring-output.example.json +1 -1
  6. package/.claude/skills/.validation/schemas/skill-eval.schema.json +2 -4
  7. package/.claude/skills/.validation/schemas/skill-frontmatter.schema.json +1 -1
  8. package/.claude/skills/.validation/schemas/skill-output.template.json +1 -1
  9. package/.claude/skills/.validation/templates/eval.template.yaml +3 -3
  10. package/.claude/skills/.validation/templates/security-testing-eval.template.yaml +3 -2
  11. package/.claude/skills/.validation/templates/skill-frontmatter.example.yaml +2 -2
  12. package/.claude/skills/a11y-ally/evals/a11y-ally.yaml +2 -2
  13. package/.claude/skills/accessibility-testing/evals/accessibility-testing.yaml +2 -3
  14. package/.claude/skills/api-testing-patterns/evals/api-testing-patterns.yaml +2 -3
  15. package/.claude/skills/chaos-engineering-resilience/evals/chaos-engineering-resilience.yaml +3 -3
  16. package/.claude/skills/cicd-pipeline-qe-orchestrator/evals/cicd-pipeline-qe-orchestrator.yaml +2 -2
  17. package/.claude/skills/compatibility-testing/evals/compatibility-testing.yaml +2 -2
  18. package/.claude/skills/compliance-testing/evals/compliance-testing.yaml +2 -3
  19. package/.claude/skills/contract-testing/evals/contract-testing.yaml +2 -3
  20. package/.claude/skills/database-testing/evals/database-testing.yaml +2 -3
  21. package/.claude/skills/enterprise-integration-testing/evals/enterprise-integration-testing.yaml +2 -2
  22. package/.claude/skills/localization-testing/evals/localization-testing.yaml +2 -2
  23. package/.claude/skills/middleware-testing-patterns/evals/middleware-testing-patterns.yaml +2 -2
  24. package/.claude/skills/mobile-testing/evals/mobile-testing.yaml +2 -2
  25. package/.claude/skills/mutation-testing/evals/mutation-testing.yaml +2 -3
  26. package/.claude/skills/mutation-testing/test-data/sample-output.json +1 -1
  27. package/.claude/skills/n8n-expression-testing/evals/n8n-expression-testing.yaml +2 -2
  28. package/.claude/skills/n8n-integration-testing-patterns/evals/n8n-integration-testing-patterns.yaml +2 -2
  29. package/.claude/skills/n8n-security-testing/evals/n8n-security-testing.yaml +3 -2
  30. package/.claude/skills/n8n-trigger-testing-strategies/evals/n8n-trigger-testing-strategies.yaml +2 -2
  31. package/.claude/skills/n8n-workflow-testing-fundamentals/evals/n8n-workflow-testing-fundamentals.yaml +2 -2
  32. package/.claude/skills/observability-testing-patterns/evals/observability-testing-patterns.yaml +2 -2
  33. package/.claude/skills/pentest-validation/evals/pentest-validation.yaml +3 -3
  34. package/.claude/skills/performance-testing/evals/performance-testing.yaml +2 -3
  35. package/.claude/skills/qcsd-cicd-swarm/evals/qcsd-cicd-swarm.yaml +2 -2
  36. package/.claude/skills/qcsd-development-swarm/evals/qcsd-development-swarm.yaml +2 -2
  37. package/.claude/skills/qcsd-ideation-swarm/evals/qcsd-ideation-swarm.yaml +2 -2
  38. package/.claude/skills/qcsd-production-swarm/evals/qcsd-production-swarm.yaml +2 -2
  39. package/.claude/skills/qcsd-refinement-swarm/evals/qcsd-refinement-swarm.yaml +2 -2
  40. package/.claude/skills/qe-browser/evals/qe-browser.yaml +2 -2
  41. package/.claude/skills/qe-chaos-resilience/evals/qe-chaos-resilience.yaml +3 -2
  42. package/.claude/skills/qe-code-intelligence/evals/qe-code-intelligence.yaml +2 -2
  43. package/.claude/skills/qe-coverage-analysis/evals/qe-coverage-analysis.yaml +2 -2
  44. package/.claude/skills/qe-defect-intelligence/evals/qe-defect-intelligence.yaml +3 -2
  45. package/.claude/skills/qe-learning-optimization/evals/qe-learning-optimization.yaml +4 -4
  46. package/.claude/skills/qe-quality-assessment/evals/qe-quality-assessment.yaml +2 -2
  47. package/.claude/skills/qe-requirements-validation/evals/qe-requirements-validation.yaml +2 -2
  48. package/.claude/skills/qe-test-execution/evals/qe-test-execution.yaml +2 -2
  49. package/.claude/skills/qe-test-generation/evals/qe-test-generation.yaml +2 -2
  50. package/.claude/skills/qe-visual-accessibility/evals/qe-visual-accessibility.yaml +2 -2
  51. package/.claude/skills/quality-metrics/evals/quality-metrics.yaml +2 -2
  52. package/.claude/skills/regression-testing/evals/regression-testing.yaml +2 -2
  53. package/.claude/skills/risk-based-testing/evals/risk-based-testing.yaml +2 -2
  54. package/.claude/skills/security-testing/evals/security-testing.yaml +3 -3
  55. package/.claude/skills/security-visual-testing/evals/security-visual-testing.yaml +3 -2
  56. package/.claude/skills/shift-left-testing/evals/shift-left-testing.yaml +2 -2
  57. package/.claude/skills/shift-right-testing/evals/shift-right-testing.yaml +2 -2
  58. package/.claude/skills/skills-manifest.json +1 -1
  59. package/.claude/skills/test-automation-strategy/evals/test-automation-strategy.yaml +2 -2
  60. package/.claude/skills/test-data-management/evals/test-data-management.yaml +2 -2
  61. package/.claude/skills/test-design-techniques/evals/test-design-techniques.yaml +2 -2
  62. package/.claude/skills/test-reporting-analytics/evals/test-reporting-analytics.yaml +2 -2
  63. package/.claude/skills/testability-scoring/evals/testability-scoring.yaml +2 -3
  64. package/.claude/skills/validation-pipeline/evals/validation-pipeline.yaml +2 -2
  65. package/.claude/skills/verification-quality/evals/verification-quality.yaml +2 -2
  66. package/.claude/skills/visual-testing-advanced/evals/visual-testing-advanced.yaml +2 -2
  67. package/.claude/skills/wms-testing-patterns/evals/wms-testing-patterns.yaml +2 -1
  68. package/CHANGELOG.md +41 -0
  69. package/assets/skills/.validation/examples/chaos-engineering-output.example.json +1 -1
  70. package/assets/skills/.validation/examples/performance-testing-output.example.json +1 -1
  71. package/assets/skills/.validation/examples/security-testing-output.example.json +1 -1
  72. package/assets/skills/.validation/examples/testability-scoring-output.example.json +1 -1
  73. package/assets/skills/.validation/schemas/skill-eval.schema.json +2 -4
  74. package/assets/skills/.validation/schemas/skill-frontmatter.schema.json +1 -1
  75. package/assets/skills/.validation/schemas/skill-output.template.json +1 -1
  76. package/assets/skills/.validation/templates/eval.template.yaml +3 -3
  77. package/assets/skills/.validation/templates/security-testing-eval.template.yaml +3 -2
  78. package/assets/skills/.validation/templates/skill-frontmatter.example.yaml +2 -2
  79. package/assets/skills/a11y-ally/evals/a11y-ally.yaml +2 -2
  80. package/assets/skills/accessibility-testing/evals/accessibility-testing.yaml +2 -3
  81. package/assets/skills/api-testing-patterns/evals/api-testing-patterns.yaml +2 -3
  82. package/assets/skills/chaos-engineering-resilience/evals/chaos-engineering-resilience.yaml +3 -3
  83. package/assets/skills/cicd-pipeline-qe-orchestrator/evals/cicd-pipeline-qe-orchestrator.yaml +2 -2
  84. package/assets/skills/compatibility-testing/evals/compatibility-testing.yaml +2 -2
  85. package/assets/skills/compliance-testing/evals/compliance-testing.yaml +2 -3
  86. package/assets/skills/contract-testing/evals/contract-testing.yaml +2 -3
  87. package/assets/skills/database-testing/evals/database-testing.yaml +2 -3
  88. package/assets/skills/enterprise-integration-testing/evals/enterprise-integration-testing.yaml +2 -2
  89. package/assets/skills/localization-testing/evals/localization-testing.yaml +2 -2
  90. package/assets/skills/middleware-testing-patterns/evals/middleware-testing-patterns.yaml +2 -2
  91. package/assets/skills/mobile-testing/evals/mobile-testing.yaml +2 -2
  92. package/assets/skills/mutation-testing/evals/mutation-testing.yaml +2 -3
  93. package/assets/skills/mutation-testing/test-data/sample-output.json +1 -1
  94. package/assets/skills/n8n-expression-testing/evals/n8n-expression-testing.yaml +2 -2
  95. package/assets/skills/n8n-integration-testing-patterns/evals/n8n-integration-testing-patterns.yaml +2 -2
  96. package/assets/skills/n8n-security-testing/evals/n8n-security-testing.yaml +3 -2
  97. package/assets/skills/n8n-trigger-testing-strategies/evals/n8n-trigger-testing-strategies.yaml +2 -2
  98. package/assets/skills/n8n-workflow-testing-fundamentals/evals/n8n-workflow-testing-fundamentals.yaml +2 -2
  99. package/assets/skills/observability-testing-patterns/evals/observability-testing-patterns.yaml +2 -2
  100. package/assets/skills/pentest-validation/evals/pentest-validation.yaml +3 -3
  101. package/assets/skills/performance-testing/evals/performance-testing.yaml +2 -3
  102. package/assets/skills/qcsd-cicd-swarm/evals/qcsd-cicd-swarm.yaml +2 -2
  103. package/assets/skills/qcsd-development-swarm/evals/qcsd-development-swarm.yaml +2 -2
  104. package/assets/skills/qcsd-ideation-swarm/evals/qcsd-ideation-swarm.yaml +2 -2
  105. package/assets/skills/qcsd-production-swarm/evals/qcsd-production-swarm.yaml +2 -2
  106. package/assets/skills/qcsd-refinement-swarm/evals/qcsd-refinement-swarm.yaml +2 -2
  107. package/assets/skills/qe-browser/evals/qe-browser.yaml +2 -2
  108. package/assets/skills/qe-chaos-resilience/evals/qe-chaos-resilience.yaml +3 -2
  109. package/assets/skills/qe-code-intelligence/evals/qe-code-intelligence.yaml +2 -2
  110. package/assets/skills/qe-coverage-analysis/evals/qe-coverage-analysis.yaml +2 -2
  111. package/assets/skills/qe-defect-intelligence/evals/qe-defect-intelligence.yaml +3 -2
  112. package/assets/skills/qe-learning-optimization/evals/qe-learning-optimization.yaml +4 -4
  113. package/assets/skills/qe-quality-assessment/evals/qe-quality-assessment.yaml +2 -2
  114. package/assets/skills/qe-requirements-validation/evals/qe-requirements-validation.yaml +2 -2
  115. package/assets/skills/qe-test-execution/evals/qe-test-execution.yaml +2 -2
  116. package/assets/skills/qe-test-generation/evals/qe-test-generation.yaml +2 -2
  117. package/assets/skills/qe-visual-accessibility/evals/qe-visual-accessibility.yaml +2 -2
  118. package/assets/skills/quality-metrics/evals/quality-metrics.yaml +2 -2
  119. package/assets/skills/regression-testing/evals/regression-testing.yaml +2 -2
  120. package/assets/skills/risk-based-testing/evals/risk-based-testing.yaml +2 -2
  121. package/assets/skills/security-testing/evals/security-testing.yaml +3 -3
  122. package/assets/skills/security-visual-testing/evals/security-visual-testing.yaml +3 -2
  123. package/assets/skills/shift-left-testing/evals/shift-left-testing.yaml +2 -2
  124. package/assets/skills/shift-right-testing/evals/shift-right-testing.yaml +2 -2
  125. package/assets/skills/test-automation-strategy/evals/test-automation-strategy.yaml +2 -2
  126. package/assets/skills/test-data-management/evals/test-data-management.yaml +2 -2
  127. package/assets/skills/test-design-techniques/evals/test-design-techniques.yaml +2 -2
  128. package/assets/skills/test-reporting-analytics/evals/test-reporting-analytics.yaml +2 -2
  129. package/assets/skills/testability-scoring/evals/testability-scoring.yaml +2 -3
  130. package/assets/skills/validation-pipeline/evals/validation-pipeline.yaml +2 -2
  131. package/assets/skills/verification-quality/evals/verification-quality.yaml +2 -2
  132. package/assets/skills/visual-testing-advanced/evals/visual-testing-advanced.yaml +2 -2
  133. package/assets/skills/wms-testing-patterns/evals/wms-testing-patterns.yaml +2 -1
  134. package/dist/cli/bundle.js +5 -5
  135. package/dist/cli/chunks/adapter-TTIBYXH2.js +2 -0
  136. package/dist/cli/chunks/{agent-booster-wasm-J5CITTTV.js → agent-booster-wasm-6I3JMU2M.js} +2 -2
  137. package/dist/cli/chunks/{agent-handler-HMN4ZBZ6.js → agent-handler-XWI7YM6R.js} +2 -2
  138. package/dist/cli/chunks/{agent-memory-branch-SCAKN4DU.js → agent-memory-branch-QFZKQN2L.js} +2 -2
  139. package/dist/cli/chunks/aqe-learning-engine-CTV5OLSN.js +2 -0
  140. package/dist/cli/chunks/{arena-CJOLCHZW.js → arena-5HNPVTBZ.js} +4 -4
  141. package/dist/cli/chunks/{arena-FVBTSGKS.js → arena-P4IUBKZP.js} +2 -2
  142. package/dist/cli/chunks/{audit-SOF6L5RY.js → audit-PBSH25VZ.js} +2 -2
  143. package/dist/cli/chunks/base-ISNCJZ7A.js +2 -0
  144. package/dist/cli/chunks/{hnswlib-node-LFVNGGCL.js → better-sqlite3-F262IAGH.js} +2 -2
  145. package/dist/cli/chunks/{brain-handler-D2ZQQI2J.js → brain-handler-EVYRCKXI.js} +3 -3
  146. package/dist/cli/chunks/{branch-enumerator-QQXOCGOR.js → branch-enumerator-SUDGYJQJ.js} +2 -2
  147. package/dist/cli/chunks/{browser-XASHKIEN.js → browser-4UKMW2RE.js} +2 -2
  148. package/dist/cli/chunks/browser-workflow-OD32QTTI.js +2 -0
  149. package/dist/cli/chunks/{chunk-F72A356B.js → chunk-222ZQTL5.js} +2 -2
  150. package/dist/cli/chunks/{chunk-NKEGEQ3J.js → chunk-262F3EMN.js} +2 -2
  151. package/dist/cli/chunks/{chunk-5QTUGFFP.js → chunk-2J4ZUUU5.js} +2 -2
  152. package/dist/cli/chunks/{chunk-2I5RXDNO.js → chunk-2JWFS2K2.js} +2 -2
  153. package/dist/cli/chunks/{chunk-K32AUACO.js → chunk-2MLISLRR.js} +1 -1
  154. package/dist/cli/chunks/{chunk-J2SMTP2L.js → chunk-32E2OPIE.js} +3 -3
  155. package/dist/cli/chunks/{chunk-Q5432RIH.js → chunk-34NT5NBZ.js} +2 -2
  156. package/dist/cli/chunks/{chunk-TWH3ZL6B.js → chunk-3IJS52OS.js} +2 -2
  157. package/dist/cli/chunks/{chunk-T6CUKJHS.js → chunk-3O4Q4GAX.js} +1 -1
  158. package/dist/cli/chunks/{chunk-Z3RPA3RD.js → chunk-3W6QASVB.js} +2 -2
  159. package/dist/cli/chunks/{chunk-GXNNKM7F.js → chunk-3XEL7XCA.js} +1 -1
  160. package/dist/cli/chunks/{chunk-TNVOINYC.js → chunk-4I6FK67T.js} +3 -3
  161. package/dist/cli/chunks/{chunk-UQYDFT6I.js → chunk-4MJQJQLY.js} +2 -2
  162. package/dist/cli/chunks/{chunk-H6UPZFI6.js → chunk-4RGV6Z2H.js} +2 -2
  163. package/dist/cli/chunks/{chunk-4N4TU7ST.js → chunk-4W5QWFU4.js} +1 -1
  164. package/dist/cli/chunks/{chunk-ELC6JIXL.js → chunk-5QMIVHFT.js} +2 -2
  165. package/dist/cli/chunks/{chunk-X5R6SUWM.js → chunk-64BSODHA.js} +2 -2
  166. package/dist/cli/chunks/{chunk-J3WUBGLQ.js → chunk-6A2HRMTD.js} +2 -2
  167. package/dist/cli/chunks/{chunk-LEDF3LGZ.js → chunk-6F5KPT6U.js} +1 -1
  168. package/dist/cli/chunks/{chunk-BHD6THT5.js → chunk-6OLPKIYU.js} +1 -1
  169. package/dist/cli/chunks/{chunk-6DHJPKAH.js → chunk-6QBD64W3.js} +2 -2
  170. package/dist/cli/chunks/{chunk-7RTI5WT4.js → chunk-6RG7ZJ2H.js} +2 -2
  171. package/dist/cli/chunks/{chunk-Q4LYWIEX.js → chunk-76JYG426.js} +2 -2
  172. package/dist/cli/chunks/{chunk-TFA5UETW.js → chunk-76SUEI7S.js} +1 -1
  173. package/dist/cli/chunks/{chunk-B3H2TTYT.js → chunk-7NK2H7H5.js} +2 -2
  174. package/dist/cli/chunks/{chunk-7SFCZ3AE.js → chunk-AKL5A3IZ.js} +1 -1
  175. package/dist/cli/chunks/{chunk-HMHQOEU7.js → chunk-AKSCYNFH.js} +2 -2
  176. package/dist/cli/chunks/{chunk-QZSNYXYC.js → chunk-AW3LGLC3.js} +2 -2
  177. package/dist/cli/chunks/{chunk-ZMCMSDXR.js → chunk-AY4IEMRI.js} +2 -2
  178. package/dist/cli/chunks/{chunk-XOYTW6LI.js → chunk-B5ZJV7GZ.js} +2 -2
  179. package/dist/cli/chunks/{chunk-KVMY2ABO.js → chunk-BLFZFKT6.js} +2 -2
  180. package/dist/cli/chunks/{chunk-ESZDW6G7.js → chunk-BPC6X6VR.js} +2 -2
  181. package/dist/cli/chunks/{chunk-HDEFCRHI.js → chunk-BRYYQQUV.js} +1 -1
  182. package/dist/cli/chunks/{chunk-CH7KUYGO.js → chunk-BU2I77YW.js} +3 -3
  183. package/dist/cli/chunks/{chunk-NEIJP6TG.js → chunk-C5CY5NSW.js} +2 -2
  184. package/dist/cli/chunks/{chunk-H4Q36ILL.js → chunk-CGBEI7UH.js} +2 -2
  185. package/dist/cli/chunks/{chunk-VFFIMJWT.js → chunk-CJTDQJ7E.js} +1 -1
  186. package/dist/cli/chunks/{chunk-XKRJQIGP.js → chunk-CW7JQVXV.js} +2 -2
  187. package/dist/cli/chunks/chunk-DF7V6X3N.js +2 -0
  188. package/dist/cli/chunks/{chunk-6ZLVQTQ5.js → chunk-DPT37UHR.js} +4 -4
  189. package/dist/cli/chunks/{chunk-IB3QQDC4.js → chunk-DU7Y54JI.js} +1 -1
  190. package/dist/cli/chunks/{chunk-TUFU3BAK.js → chunk-DYNO72WD.js} +2 -2
  191. package/dist/cli/chunks/{chunk-LOQMQEKN.js → chunk-DYSRMAZP.js} +1 -1
  192. package/dist/cli/chunks/{chunk-RTFFD263.js → chunk-EWNJK2BU.js} +1 -1
  193. package/dist/cli/chunks/{chunk-JPL53G4V.js → chunk-F5RZSNHI.js} +2 -2
  194. package/dist/cli/chunks/{chunk-RH3I4Q23.js → chunk-FK4JHBG4.js} +2 -2
  195. package/dist/cli/chunks/{chunk-DAUQIXHW.js → chunk-FQBNPSV2.js} +2 -2
  196. package/dist/cli/chunks/{chunk-LHA4OQ7G.js → chunk-FWLXK6AH.js} +2 -2
  197. package/dist/cli/chunks/{chunk-UVWOIF6P.js → chunk-G7ISGLKP.js} +1 -1
  198. package/dist/cli/chunks/{chunk-EYKID5HA.js → chunk-GUDOOOO6.js} +1 -1
  199. package/dist/cli/chunks/{chunk-SA5FTDRS.js → chunk-HARYQMWN.js} +2 -2
  200. package/dist/cli/chunks/{chunk-RA7HEY5G.js → chunk-HBWAMCVB.js} +2 -2
  201. package/dist/cli/chunks/{chunk-NUCJS3Z7.js → chunk-HDLF6LGO.js} +3 -3
  202. package/dist/cli/chunks/{chunk-XLFYVBOD.js → chunk-HELQ7CXL.js} +1 -1
  203. package/dist/cli/chunks/{chunk-USPBUR6P.js → chunk-HI4DA7Z3.js} +2 -2
  204. package/dist/cli/chunks/{chunk-PIIBVLFC.js → chunk-I64BLAFS.js} +2 -2
  205. package/dist/cli/chunks/{chunk-AQPFTDGS.js → chunk-I7M574IO.js} +2 -2
  206. package/dist/cli/chunks/{chunk-JP2YXWJD.js → chunk-INI3AGF5.js} +2 -2
  207. package/dist/cli/chunks/{chunk-ZY4G7O7Y.js → chunk-ISLI6D4K.js} +2 -2
  208. package/dist/cli/chunks/{chunk-T6SCQVWH.js → chunk-IXAABYGS.js} +2 -2
  209. package/dist/cli/chunks/{chunk-2IC2I525.js → chunk-IYZWEYWJ.js} +1 -1
  210. package/dist/cli/chunks/{chunk-M4OYZMXE.js → chunk-J5ETX2DG.js} +2 -2
  211. package/dist/cli/chunks/{chunk-XOGBTPJI.js → chunk-JJELOEIY.js} +4 -4
  212. package/dist/cli/chunks/{chunk-EDPVATNH.js → chunk-JNQVPTOM.js} +2 -2
  213. package/dist/cli/chunks/{chunk-5VTRPOYL.js → chunk-JNXPRDNV.js} +3 -3
  214. package/dist/cli/chunks/{chunk-7OK5H6ML.js → chunk-K6A3AWUI.js} +1 -1
  215. package/dist/cli/chunks/{chunk-ULEVKOWQ.js → chunk-K6IU2MV4.js} +1 -1
  216. package/dist/cli/chunks/{chunk-SHVTMMJB.js → chunk-KXENXRZE.js} +1 -1
  217. package/dist/cli/chunks/{chunk-HWKFBRMX.js → chunk-L2ZSYIDA.js} +1 -1
  218. package/dist/cli/chunks/{chunk-RTAGNKCV.js → chunk-L3EQQMFI.js} +2 -2
  219. package/dist/cli/chunks/{chunk-S574AFAT.js → chunk-L5UUUSSB.js} +1 -1
  220. package/dist/cli/chunks/{chunk-5V4IFRG5.js → chunk-L6NB4UHR.js} +2 -2
  221. package/dist/cli/chunks/{chunk-2UI5LQ7C.js → chunk-LEZ2MGHM.js} +3 -3
  222. package/dist/cli/chunks/{chunk-NN35QH6X.js → chunk-LFSQSLNP.js} +2 -2
  223. package/dist/cli/chunks/{chunk-L2IMTNZF.js → chunk-LHZYTNOQ.js} +2 -2
  224. package/dist/cli/chunks/{chunk-JADBRSQN.js → chunk-LJHCPN4E.js} +2 -2
  225. package/dist/cli/chunks/{chunk-UNDPB5SS.js → chunk-LRRQEAP5.js} +1 -1
  226. package/dist/cli/chunks/{chunk-ZBSEXVEI.js → chunk-LSHUPEQQ.js} +2 -2
  227. package/dist/cli/chunks/{chunk-HZGOVRZ6.js → chunk-LUZH2IZY.js} +2 -2
  228. package/dist/cli/chunks/{chunk-UWDC3TZP.js → chunk-M7SO5KNJ.js} +2 -2
  229. package/dist/cli/chunks/{chunk-KQOJYO5Z.js → chunk-MDVJVY4C.js} +4 -4
  230. package/dist/cli/chunks/{chunk-TFJDJVPC.js → chunk-MK73CCKO.js} +2 -2
  231. package/dist/cli/chunks/{chunk-JXCIRWLQ.js → chunk-MMR23KAO.js} +2 -2
  232. package/dist/cli/chunks/{chunk-ROXH622K.js → chunk-MOI74MMX.js} +2 -2
  233. package/dist/cli/chunks/{chunk-MSJGDIRP.js → chunk-MRLGQX7Y.js} +2 -2
  234. package/dist/cli/chunks/{chunk-2RQSFRON.js → chunk-MWRKNBSY.js} +2 -2
  235. package/dist/cli/chunks/{chunk-BXOGLZGU.js → chunk-NKYMHEHY.js} +2 -2
  236. package/dist/cli/chunks/{chunk-MJLDZSFB.js → chunk-O4B6FFC5.js} +1 -1
  237. package/dist/cli/chunks/{chunk-JX7HZMW5.js → chunk-OAXDI4XM.js} +1 -1
  238. package/dist/cli/chunks/{chunk-PFSBUTDA.js → chunk-OMDV6GFP.js} +1 -1
  239. package/dist/cli/chunks/{chunk-OBLAWVXM.js → chunk-OPLLH67G.js} +1 -1
  240. package/dist/cli/chunks/{chunk-LAGNWKAD.js → chunk-OSETFZVE.js} +2 -2
  241. package/dist/cli/chunks/{chunk-OU4HRUVV.js → chunk-OW4LJ5HE.js} +2 -2
  242. package/dist/cli/chunks/{chunk-NHC635LL.js → chunk-PY3HWJRJ.js} +2 -2
  243. package/dist/cli/chunks/{chunk-DFBVWMX3.js → chunk-QBVFONWU.js} +2 -2
  244. package/dist/cli/chunks/{chunk-7BPYFDWY.js → chunk-QBVS4CXM.js} +1 -1
  245. package/dist/cli/chunks/{chunk-O2H5WYFK.js → chunk-QDBFB4XD.js} +2 -2
  246. package/dist/cli/chunks/{chunk-X3YWLJGT.js → chunk-QLVZEEPR.js} +2 -2
  247. package/dist/cli/chunks/{chunk-4B22URZJ.js → chunk-QMGNYRR5.js} +3 -3
  248. package/dist/cli/chunks/{chunk-MCMVRPNG.js → chunk-R2B6EQQF.js} +2 -2
  249. package/dist/cli/chunks/{chunk-VQM2TC2V.js → chunk-R7KIC6TL.js} +1 -1
  250. package/dist/cli/chunks/{chunk-HFU3LTQX.js → chunk-RJBCIN2G.js} +2 -2
  251. package/dist/cli/chunks/{chunk-PIJ5XOMM.js → chunk-RLXCFURS.js} +2 -2
  252. package/dist/cli/chunks/{chunk-WNAFMYND.js → chunk-S423UHYM.js} +2 -2
  253. package/dist/cli/chunks/{chunk-GWHDPEBT.js → chunk-S4NNQE4L.js} +1 -1
  254. package/dist/cli/chunks/{chunk-AJ2VDNPB.js → chunk-S7FNTWFM.js} +2 -2
  255. package/dist/cli/chunks/{chunk-H73FLSBV.js → chunk-SFW6IDMR.js} +10 -10
  256. package/dist/cli/chunks/{chunk-QUQA4NNZ.js → chunk-SG6O3PXZ.js} +2 -2
  257. package/dist/cli/chunks/{chunk-P7EOYGR2.js → chunk-SLASYVNX.js} +2 -2
  258. package/dist/cli/chunks/{chunk-A2DCROAN.js → chunk-TIUC5LRA.js} +2 -2
  259. package/dist/cli/chunks/{chunk-LHZOIXJ6.js → chunk-TTLAWPEN.js} +2 -2
  260. package/dist/cli/chunks/{chunk-QNIL3D6E.js → chunk-TXXRBNOB.js} +1 -1
  261. package/dist/cli/chunks/{chunk-6RFPELCD.js → chunk-TY7XPI6R.js} +2 -2
  262. package/dist/cli/chunks/{chunk-QJXZ4SU7.js → chunk-U7EGKKN3.js} +2 -2
  263. package/dist/cli/chunks/{chunk-I7ADT6AZ.js → chunk-UPDPD43T.js} +2 -2
  264. package/dist/cli/chunks/{chunk-RBZWUWUG.js → chunk-UURGDFGU.js} +1 -1
  265. package/dist/cli/chunks/{chunk-MQN3HYFX.js → chunk-UVUVWA4B.js} +1 -1
  266. package/dist/cli/chunks/{chunk-2CZQA3NN.js → chunk-V3KNHI5B.js} +2 -2
  267. package/dist/cli/chunks/{chunk-ELTN4F4R.js → chunk-V7WBNB2S.js} +2 -2
  268. package/dist/cli/chunks/{chunk-4XEUJH2M.js → chunk-VPBXVZWE.js} +1 -1
  269. package/dist/cli/chunks/{chunk-3XUPDWMA.js → chunk-WCXQA24H.js} +8 -8
  270. package/dist/cli/chunks/{chunk-CSM4LXTH.js → chunk-X3HRJV65.js} +1 -1
  271. package/dist/cli/chunks/{chunk-DF4Z7TKZ.js → chunk-X6OJFP7G.js} +2 -2
  272. package/dist/cli/chunks/{chunk-M3APJ7VS.js → chunk-XCYPVJ34.js} +2 -2
  273. package/dist/cli/chunks/{chunk-LWUIK5DH.js → chunk-XK7P7OXO.js} +2 -2
  274. package/dist/cli/chunks/{chunk-O4MNYX4X.js → chunk-XWPUCPYW.js} +2 -2
  275. package/dist/cli/chunks/{chunk-EJWAKPZD.js → chunk-YB4GXJJG.js} +1 -1
  276. package/dist/cli/chunks/{chunk-SUGQZCNI.js → chunk-YBM4LUSF.js} +2 -2
  277. package/dist/cli/chunks/{chunk-C75ODWRP.js → chunk-YLXUF5KW.js} +3 -3
  278. package/dist/cli/chunks/{chunk-ULV5K4V5.js → chunk-YMBPKBKG.js} +1 -1
  279. package/dist/cli/chunks/{chunk-7NXVVIJZ.js → chunk-Z44VJC5U.js} +2 -2
  280. package/dist/cli/chunks/{ci-COQUVZH6.js → ci-OO42YBET.js} +2 -2
  281. package/dist/cli/chunks/{ci-output-KVUHUEOT.js → ci-output-YXMTEX7Q.js} +2 -2
  282. package/dist/cli/chunks/{circuit-breaker-O4JNXAYH.js → circuit-breaker-EHA4N643.js} +2 -2
  283. package/dist/cli/chunks/{claude-flow-setup-J65U34NA.js → claude-flow-setup-E6G6SLYI.js} +2 -2
  284. package/dist/cli/chunks/client-N4FQ6SMD.js +2 -0
  285. package/dist/cli/chunks/{cline-installer-ZTG234Z2.js → cline-installer-6JPWD64G.js} +2 -2
  286. package/dist/cli/chunks/{code-5GWPY4IX.js → code-Q3U6XDOO.js} +2 -2
  287. package/dist/cli/chunks/{code-index-extractor-TWNKG4VS.js → code-index-extractor-BK2DC4MO.js} +2 -2
  288. package/dist/cli/chunks/{codex-installer-4TM4BLAE.js → codex-installer-DA3GBMLN.js} +2 -2
  289. package/dist/cli/chunks/{completions-BBNHQXMV.js → completions-TZ5F33TA.js} +2 -2
  290. package/dist/cli/chunks/{complexity-analyzer-2SCI2VGH.js → complexity-analyzer-N7U4V7ID.js} +2 -2
  291. package/dist/cli/chunks/{continuedev-installer-CTIORASU.js → continuedev-installer-DDDJGW26.js} +2 -2
  292. package/dist/cli/chunks/{copilot-installer-4R2V4IYB.js → copilot-installer-JVFCE6GT.js} +2 -2
  293. package/dist/cli/chunks/core-handlers-SFD5HCA3.js +2 -0
  294. package/dist/cli/chunks/{cost-tracker-KDBYQBKG.js → cost-tracker-ZTIDLUFW.js} +2 -2
  295. package/dist/cli/chunks/{coverage-QQJQVDPZ.js → coverage-6G7T7TRQ.js} +3 -3
  296. package/dist/cli/chunks/cross-domain-router-7HGRUNLT.js +2 -0
  297. package/dist/cli/chunks/{cursor-installer-5WEZCESZ.js → cursor-installer-JFNYGSDD.js} +2 -2
  298. package/dist/cli/chunks/{daemon-M4DKHEEA.js → daemon-5A4GD6XA.js} +3 -3
  299. package/dist/cli/chunks/{daemon-Y7H3ZUXQ.js → daemon-KTXGJJRI.js} +4 -4
  300. package/dist/cli/chunks/{dag-attention-scheduler-SD2UIADT.js → dag-attention-scheduler-4CUEQZD6.js} +2 -2
  301. package/dist/cli/chunks/{detect-WONWUXFH.js → detect-I32JUSUE.js} +2 -2
  302. package/dist/cli/chunks/{dist-node-Q5GQN2R6.js → dist-node-7ITNV6QS.js} +2 -2
  303. package/dist/cli/chunks/{domain-handler-EMXE2XQW.js → domain-handler-LIFCXSZ4.js} +2 -2
  304. package/dist/cli/chunks/{domain-transfer-QATUJJRP.js → domain-transfer-67UWLHSK.js} +2 -2
  305. package/dist/cli/chunks/dream-HPGD5TLD.js +2 -0
  306. package/dist/cli/chunks/{embed-and-insert-pattern-AAFHLBEJ.js → embed-and-insert-pattern-4WC5RUD6.js} +2 -2
  307. package/dist/cli/chunks/{eval-73BDNLSK.js → eval-DLS2UAQ2.js} +3 -3
  308. package/dist/cli/chunks/{experience-capture-middleware-YPAPVSYY.js → experience-capture-middleware-VG5E6OJA.js} +3 -3
  309. package/dist/cli/chunks/{fast-paths-33ZKMNYY.js → fast-paths-262IVHDN.js} +2 -2
  310. package/dist/cli/chunks/{feature-flags-QKO5YYDU.js → feature-flags-JJ3FHZGD.js} +2 -2
  311. package/dist/cli/chunks/{feature-flags-F3DVW4ST.js → feature-flags-L3K7DBN3.js} +2 -2
  312. package/dist/cli/chunks/{file-discovery-YYVZLRYD.js → file-discovery-Q3PBKVUW.js} +2 -2
  313. package/dist/cli/chunks/{fleet-EJX6BXLR.js → fleet-LQ5S2YHG.js} +3 -3
  314. package/dist/cli/chunks/{gnn-wrapper-TBNLYPTM.js → gnn-wrapper-I33Z537H.js} +2 -2
  315. package/dist/cli/chunks/{heartbeat-handler-HPRTS6SI.js → heartbeat-handler-RYIRAGZ7.js} +4 -4
  316. package/dist/cli/chunks/heartbeat-scheduler-O6TI5E4P.js +2 -0
  317. package/dist/cli/chunks/hnsw-adapter-TOVTN23J.js +2 -0
  318. package/dist/cli/chunks/hnsw-index-KCZ75V7K.js +2 -0
  319. package/dist/cli/chunks/{hnsw-legacy-bridge-Z6V6TOF5.js → hnsw-legacy-bridge-SSENBBPR.js} +2 -2
  320. package/dist/cli/chunks/{better-sqlite3-5G7LRX7Q.js → hnswlib-node-ILDTCGLZ.js} +2 -2
  321. package/dist/cli/chunks/{hooks-GG2Z3BDB.js → hooks-LR5KQMN5.js} +10 -10
  322. package/dist/cli/chunks/hybrid-router-4JEPC4JZ.js +2 -0
  323. package/dist/cli/chunks/{hypergraph-engine-X4Q2TTET.js → hypergraph-engine-NDZA2DKP.js} +2 -2
  324. package/dist/cli/chunks/{hypergraph-handler-6BZWV5PL.js → hypergraph-handler-ADMWVHBT.js} +3 -3
  325. package/dist/cli/chunks/impact-analyzer-3MHIU3SE.js +2 -0
  326. package/dist/cli/chunks/{init-handler-EKUS7U6L.js → init-handler-MGCYDX62.js} +6 -6
  327. package/dist/cli/chunks/init-wizard-ERBO5JNA.js +2 -0
  328. package/dist/cli/chunks/kernel-XJPIIWET.js +2 -0
  329. package/dist/cli/chunks/{kilocode-installer-BWAVVSQG.js → kilocode-installer-DQVWZUKP.js} +2 -2
  330. package/dist/cli/chunks/{kiro-installer-UADO53E5.js → kiro-installer-TINLYZ22.js} +2 -2
  331. package/dist/cli/chunks/knowledge-graph-NTJEG6ZE.js +2 -0
  332. package/dist/cli/chunks/{learning-HMUTCYQM.js → learning-KBT3S5WW.js} +3 -3
  333. package/dist/cli/chunks/{llm-router-453TBDUY.js → llm-router-2MX5LUAB.js} +4 -4
  334. package/dist/cli/chunks/llm-router-service-4T66BGB5.js +2 -0
  335. package/dist/cli/chunks/{load-DBBSNP6T.js → load-IQWTGMLZ.js} +2 -2
  336. package/dist/cli/chunks/load-test-PM674TSK.js +2 -0
  337. package/dist/cli/chunks/{mcp-PK3SAKRF.js → mcp-GCTTJUBZ.js} +2 -2
  338. package/dist/cli/chunks/{memory-63NHVBXS.js → memory-XQVPI4UT.js} +5 -5
  339. package/dist/cli/chunks/memory-backend-53NQ5CG7.js +2 -0
  340. package/dist/cli/chunks/{memory-handlers-YIKKORRY.js → memory-handlers-XD7MSFUN.js} +2 -2
  341. package/dist/cli/chunks/{multi-model-executor-HUGRXJ6D.js → multi-model-executor-JC63UCWG.js} +2 -2
  342. package/dist/cli/chunks/{opencode-installer-A6IXNF26.js → opencode-installer-6VJGEBIU.js} +2 -2
  343. package/dist/cli/chunks/{orchestrator-KDFYDNE3.js → orchestrator-B75QWJUF.js} +5 -5
  344. package/dist/cli/chunks/pattern-null-store-IF2RG2ON.js +2 -0
  345. package/dist/cli/chunks/{pipeline-HSPRKEYE.js → pipeline-TCBQ2UTZ.js} +2 -2
  346. package/dist/cli/chunks/{platform-X74IBN2H.js → platform-T43AYI3Z.js} +2 -2
  347. package/dist/cli/chunks/{plugin-KDJZ7VFD.js → plugin-MSI3ZU3Z.js} +2 -2
  348. package/dist/cli/chunks/{prime-radiant-advanced-wasm-2YZGKQE7.js → prime-radiant-advanced-wasm-V62CWI6M.js} +2 -2
  349. package/dist/cli/chunks/protocol-executor-7AS75ZWT.js +2 -0
  350. package/dist/cli/chunks/{protocol-handler-I2SDHC7B.js → protocol-handler-OH2INET2.js} +2 -2
  351. package/dist/cli/chunks/{prove-JQJDNIZH.js → prove-6PTMXMUL.js} +2 -2
  352. package/dist/cli/chunks/provider-manager-AU2C4AET.js +2 -0
  353. package/dist/cli/chunks/qe-reasoning-bank-WATQRCFO.js +2 -0
  354. package/dist/cli/chunks/{quality-2P7KHVY3.js → quality-PLNQN5GU.js} +2 -2
  355. package/dist/cli/chunks/queen-coordinator-IOCC4VQH.js +2 -0
  356. package/dist/cli/chunks/{real-embeddings-L7NMMNDO.js → real-embeddings-OW4OKR77.js} +2 -2
  357. package/dist/cli/chunks/{roocode-installer-LA4QN5AG.js → roocode-installer-C32LCYAJ.js} +2 -2
  358. package/dist/cli/chunks/router-SCJMX6WA.js +2 -0
  359. package/dist/cli/chunks/routing-feedback-RWC7F553.js +2 -0
  360. package/dist/cli/chunks/{routing-handler-B5CDEZF3.js → routing-handler-CKFXXPMI.js} +2 -2
  361. package/dist/cli/chunks/{ruvector-commands-SOVCRLJ6.js → ruvector-commands-GERRPTJL.js} +2 -2
  362. package/dist/cli/chunks/{rvf-dual-writer-M6WI2KFB.js → rvf-dual-writer-5FAB2QPA.js} +2 -2
  363. package/dist/cli/chunks/{rvf-migration-adapter-YDMZGPMA.js → rvf-migration-adapter-46COKWYB.js} +2 -2
  364. package/dist/cli/chunks/{rvf-migration-coordinator-TFGQ5EO4.js → rvf-migration-coordinator-AJVRWSNC.js} +2 -2
  365. package/dist/cli/chunks/rvf-native-adapter-W2RT6PTO.js +2 -0
  366. package/dist/cli/chunks/safe-db-HO2LCAO3.js +2 -0
  367. package/dist/cli/chunks/schedule-XENCR4MR.js +2 -0
  368. package/dist/cli/chunks/scheduler-WKZ3O2SS.js +2 -0
  369. package/dist/cli/chunks/{security-R3IXQXDA.js → security-Q622IVRB.js} +3 -3
  370. package/dist/cli/chunks/{shared-rvf-adapter-GZX7LSQZ.js → shared-rvf-adapter-EST24R3R.js} +2 -2
  371. package/dist/cli/chunks/{shared-rvf-dual-writer-YT7SJX7K.js → shared-rvf-dual-writer-CP6EXKBT.js} +2 -2
  372. package/dist/cli/chunks/sqlite-persistence-IN6BOSCX.js +2 -0
  373. package/dist/cli/chunks/{status-handler-7PZSPBHJ.js → status-handler-LLRQB4E2.js} +2 -2
  374. package/dist/cli/chunks/{structural-health-UMJS6IVR.js → structural-health-BUFWTNN2.js} +2 -2
  375. package/dist/cli/chunks/{sync-UIREA3UG.js → sync-JDG4SNT5.js} +2 -2
  376. package/dist/cli/chunks/{sync-HA5SLSBA.js → sync-RDL2RUOV.js} +2 -2
  377. package/dist/cli/chunks/{task-handler-NV4HGMEG.js → task-handler-KPP6ZXA6.js} +2 -2
  378. package/dist/cli/chunks/{task-handlers-RXYWWOSU.js → task-handlers-MRK2BQWI.js} +3 -3
  379. package/dist/cli/chunks/{test-2Y6OXGEU.js → test-7NYFTHRY.js} +4 -4
  380. package/dist/cli/chunks/{test-scheduling-N55VFOYT.js → test-scheduling-LGPKDMWD.js} +3 -3
  381. package/dist/cli/chunks/{token-bootstrap-FW3ZVMRP.js → token-bootstrap-H5JHB7TD.js} +2 -2
  382. package/dist/cli/chunks/{token-usage-YXKOB3U6.js → token-usage-TWPDS5U3.js} +2 -2
  383. package/dist/cli/chunks/{transformers-GBRSFAVA.js → transformers-GRNPPUHM.js} +2 -2
  384. package/dist/cli/chunks/{tree-sitter-wasm-parser-FJHMEHJS.js → tree-sitter-wasm-parser-DOH5F6TO.js} +2 -2
  385. package/dist/cli/chunks/{types-NVMRVSBH.js → types-NYV3YKE3.js} +2 -2
  386. package/dist/cli/chunks/unified-memory-6MXOYRXZ.js +2 -0
  387. package/dist/cli/chunks/unified-memory-hnsw-HY3JJD5Z.js +2 -0
  388. package/dist/cli/chunks/unified-persistence-LKQNQYRY.js +2 -0
  389. package/dist/cli/chunks/{upgrade-L2OTYHD3.js → upgrade-GDJMRYAT.js} +2 -2
  390. package/dist/cli/chunks/{validate-3NWRQYTP.js → validate-SIRFOPPM.js} +2 -2
  391. package/dist/cli/chunks/{validate-swarm-MDURRWXK.js → validate-swarm-XGMJYR6X.js} +2 -2
  392. package/dist/cli/chunks/{vibium-SZX7RB4H.js → vibium-NP6ENRKV.js} +2 -2
  393. package/dist/cli/chunks/visual-security-7TBWICHP.js +2 -0
  394. package/dist/cli/chunks/{web-tree-sitter-LGQT7JRD.js → web-tree-sitter-YDBWPYZD.js} +2 -2
  395. package/dist/cli/chunks/{windsurf-installer-EYYGHPPX.js → windsurf-installer-MFI6EAPH.js} +2 -2
  396. package/dist/cli/chunks/witness-chain-24SVOWQL.js +2 -0
  397. package/dist/cli/chunks/{witness-chain-YYYA2CU3.js → witness-chain-YHLBWQQ3.js} +2 -2
  398. package/dist/cli/chunks/{workflow-UD45FQAH.js → workflow-TA6RY7R5.js} +4 -4
  399. package/dist/cli/chunks/workflow-orchestrator-XBDXCTLY.js +2 -0
  400. package/dist/cli/chunks/{wrappers-JXD3KNSR.js → wrappers-DS77IK4H.js} +2 -2
  401. package/dist/cli/commands/eval.js +2 -2
  402. package/dist/mcp/bundle.js +1 -1
  403. package/package.json +2 -2
  404. package/dist/cli/chunks/adapter-AMIHQ243.js +0 -2
  405. package/dist/cli/chunks/aqe-learning-engine-LRG2UG6P.js +0 -2
  406. package/dist/cli/chunks/base-WDL3FANJ.js +0 -2
  407. package/dist/cli/chunks/browser-workflow-W7S4IKWD.js +0 -2
  408. package/dist/cli/chunks/chunk-434VUSZP.js +0 -2
  409. package/dist/cli/chunks/client-VJNNIAMG.js +0 -2
  410. package/dist/cli/chunks/core-handlers-MV5CAR7O.js +0 -2
  411. package/dist/cli/chunks/cross-domain-router-ULY4NIML.js +0 -2
  412. package/dist/cli/chunks/dream-PIGWXWE4.js +0 -2
  413. package/dist/cli/chunks/heartbeat-scheduler-5BBLZP6R.js +0 -2
  414. package/dist/cli/chunks/hnsw-adapter-FMEBL5T4.js +0 -2
  415. package/dist/cli/chunks/hnsw-index-K2R24V4Z.js +0 -2
  416. package/dist/cli/chunks/hybrid-router-LVF6N345.js +0 -2
  417. package/dist/cli/chunks/impact-analyzer-CCVVMGWE.js +0 -2
  418. package/dist/cli/chunks/init-wizard-KDPMO4G3.js +0 -2
  419. package/dist/cli/chunks/kernel-PBYNK5VA.js +0 -2
  420. package/dist/cli/chunks/knowledge-graph-C7LVHHLN.js +0 -2
  421. package/dist/cli/chunks/llm-router-service-LMTRJCPP.js +0 -2
  422. package/dist/cli/chunks/load-test-FHMZXTXD.js +0 -2
  423. package/dist/cli/chunks/memory-backend-UZHPCQTB.js +0 -2
  424. package/dist/cli/chunks/pattern-null-store-5PS4JN6V.js +0 -2
  425. package/dist/cli/chunks/protocol-executor-2GTGIOFD.js +0 -2
  426. package/dist/cli/chunks/provider-manager-VH6YTBB3.js +0 -2
  427. package/dist/cli/chunks/qe-reasoning-bank-47JSO76G.js +0 -2
  428. package/dist/cli/chunks/queen-coordinator-C7EDY7IS.js +0 -2
  429. package/dist/cli/chunks/router-7DVH66WB.js +0 -2
  430. package/dist/cli/chunks/routing-feedback-4I2MF235.js +0 -2
  431. package/dist/cli/chunks/rvf-native-adapter-UN3ESMMW.js +0 -2
  432. package/dist/cli/chunks/safe-db-Y2ZXKWBK.js +0 -2
  433. package/dist/cli/chunks/schedule-PG2NVRGA.js +0 -2
  434. package/dist/cli/chunks/scheduler-CNH6WWU2.js +0 -2
  435. package/dist/cli/chunks/sqlite-persistence-WWT4DRRP.js +0 -2
  436. package/dist/cli/chunks/unified-memory-PXEJKKMN.js +0 -2
  437. package/dist/cli/chunks/unified-memory-hnsw-M7OI5WUU.js +0 -2
  438. package/dist/cli/chunks/unified-persistence-WR4VDTAF.js +0 -2
  439. package/dist/cli/chunks/visual-security-CKSZZHKG.js +0 -2
  440. package/dist/cli/chunks/witness-chain-IOQX3XFG.js +0 -2
  441. package/dist/cli/chunks/workflow-orchestrator-Z2ZJRWIN.js +0 -2
@@ -1,5 +1,5 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.6");process.exit(0)}
2
- import{b as C}from"./chunk-5QTUGFFP.js";import{a,d as ne}from"./chunk-HWKFBRMX.js";import{b as M,c as oe}from"./chunk-EYKID5HA.js";import{b as D,d as re}from"./chunk-DFBVWMX3.js";import{b as v,c as O}from"./chunk-O4MNYX4X.js";import{b as se,d as de}from"./chunk-TUFU3BAK.js";de();O();var ie={failureThreshold:5,resetTimeoutMs:3e4,halfOpenSuccessThreshold:2,failureWindowMs:6e4,includeTimeouts:!0},Z=class{state="closed";failures=[];successCount=0;totalRequests=0;totalSuccesses=0;totalFailures=0;rejectedCount=0;lastFailureTime;lastSuccessTime;openedAt;halfOpenSuccesses=0;config;providerType;constructor(t,e={}){this.providerType=t,this.config={...ie,...e}}getState(){return this.state==="open"&&this.openedAt&&Date.now()-this.openedAt.getTime()>=this.config.resetTimeoutMs&&this.transitionTo("half-open"),this.state}canExecute(){let t=this.getState();return t==="closed"?!0:t!=="open"}async execute(t){if(this.totalRequests++,this.getState()==="open")throw this.rejectedCount++,a(`Circuit breaker is open for provider ${this.providerType}`,"CIRCUIT_OPEN",{provider:this.providerType,retryable:!0,retryAfterMs:this.getTimeUntilTransition()});try{let r=await t();return this.recordSuccess(),r}catch(r){throw this.recordFailure(v(r)),r}}recordSuccess(){this.successCount++,this.totalSuccesses++,this.lastSuccessTime=new Date,this.getState()==="half-open"&&(this.halfOpenSuccesses++,this.halfOpenSuccesses>=this.config.halfOpenSuccessThreshold&&this.transitionTo("closed"))}recordFailure(t){if(this.totalFailures++,this.lastFailureTime=new Date,(t.message.toLowerCase().includes("timeout")||t.name==="TimeoutError"||t.name==="AbortError")&&!this.config.includeTimeouts)return;this.failures.push({timestamp:new Date,error:t}),this.cleanOldFailures();let r=this.getState();if(r==="half-open"){this.transitionTo("open");return}r==="closed"&&this.failures.length>=this.config.failureThreshold&&this.transitionTo("open")}getStats(){return{state:this.getState(),totalRequests:this.totalRequests,successCount:this.totalSuccesses,failureCount:this.totalFailures,rejectedCount:this.rejectedCount,lastFailureTime:this.lastFailureTime,lastSuccessTime:this.lastSuccessTime,timeUntilTransitionMs:this.getTimeUntilTransition()}}reset(){this.state="closed",this.failures=[],this.successCount=0,this.halfOpenSuccesses=0,this.openedAt=void 0}forceOpen(){this.transitionTo("open")}forceHalfOpen(){this.transitionTo("half-open")}getRecentFailures(t=5){return this.failures.slice(-t).map(e=>`[${e.timestamp.toISOString()}] ${e.error.message}`)}transitionTo(t){if(this.state!==t)switch(this.state=t,t){case"open":this.openedAt=new Date,this.halfOpenSuccesses=0;break;case"half-open":this.halfOpenSuccesses=0;break;case"closed":this.failures=[],this.openedAt=void 0,this.halfOpenSuccesses=0;break}}cleanOldFailures(){let t=Date.now()-this.config.failureWindowMs;this.failures=this.failures.filter(e=>e.timestamp.getTime()>t)}getTimeUntilTransition(){if(this.state==="open"&&this.openedAt){let t=Date.now()-this.openedAt.getTime(),e=this.config.resetTimeoutMs-t;return Math.max(0,e)}}},N=class{breakers=new Map;defaultConfig;constructor(t={}){this.defaultConfig={...ie,...t}}getBreaker(t,e){let r=this.breakers.get(t);return r||(r=new Z(t,{...this.defaultConfig,...e}),this.breakers.set(t,r)),r}getAllStats(){let t={};for(let[e,r]of this.breakers)t[e]=r.getStats();return t}getAvailableProviders(){let t=[];for(let[e,r]of this.breakers)r.canExecute()&&t.push(e);return t}resetAll(){for(let t of this.breakers.values())t.reset()}reset(t){let e=this.breakers.get(t);e&&e.reset()}};var ae={maxSize:1e3,defaultTtlMs:36e5,enableLRU:!0,cacheGenerations:!0,cacheEmbeddings:!0,cacheCompletions:!0},R=class{cache=new Map;accessOrder=[];config;hits=0;misses=0;evictions=0;constructor(t={}){this.config={...ae,...t}}static generateKey(t,e,r){let n=[t,r?.model??"default",String(r?.temperature??.7),String(r?.maxTokens??0),r?.systemPrompt??"",e].join("|"),o=0;for(let i=0;i<n.length;i++){let u=n.charCodeAt(i);o=(o<<5)-o+u,o=o&o}return`${t}:${Math.abs(o).toString(36)}`}get(t){let e=this.cache.get(t);if(!e){this.misses++;return}if(e.ttlMs>0&&Date.now()-e.createdAt.getTime()>e.ttlMs){this.delete(t),this.misses++;return}return this.hits++,e.lastAccessedAt=new Date,e.accessCount++,this.config.enableLRU&&this.updateAccessOrder(t),e.value}set(t,e,r){this.cache.size>=this.config.maxSize&&!this.cache.has(t)&&this.evictLRU();let s={value:e,createdAt:new Date,lastAccessedAt:new Date,accessCount:1,ttlMs:r??this.config.defaultTtlMs,keyHash:t};this.cache.set(t,s),this.config.enableLRU&&this.updateAccessOrder(t)}has(t){let e=this.cache.get(t);return e?e.ttlMs>0&&Date.now()-e.createdAt.getTime()>e.ttlMs?(this.delete(t),!1):!0:!1}delete(t){let e=this.cache.delete(t);if(e){let r=this.accessOrder.indexOf(t);r!==-1&&this.accessOrder.splice(r,1)}return e}clear(){this.cache.clear(),this.accessOrder=[],this.hits=0,this.misses=0,this.evictions=0}getStats(){let t=this.hits+this.misses,e=t>0?this.hits/t:0,r=0;for(let s of this.cache.values())r+=this.estimateSize(s.value);return{size:this.cache.size,maxSize:this.config.maxSize,hits:this.hits,misses:this.misses,hitRate:e,evictions:this.evictions,memoryUsageBytes:r}}keys(){return Array.from(this.cache.keys())}entries(){return Array.from(this.cache.entries())}import(t){for(let[e,r]of t)r.createdAt=new Date(r.createdAt),r.lastAccessedAt=new Date(r.lastAccessedAt),this.cache.set(e,r),this.accessOrder.push(e);for(;this.cache.size>this.config.maxSize;)this.evictLRU()}pruneExpired(){let t=Date.now(),e=0;for(let[r,s]of this.cache.entries())s.ttlMs>0&&t-s.createdAt.getTime()>s.ttlMs&&(this.delete(r),e++);return e}updateAccessOrder(t){let e=this.accessOrder.indexOf(t);e!==-1&&this.accessOrder.splice(e,1),this.accessOrder.push(t)}evictLRU(){if(this.accessOrder.length===0){let e=this.cache.keys().next().value;e&&(this.cache.delete(e),this.evictions++);return}let t=this.accessOrder.shift();t&&(this.cache.delete(t),this.evictions++)}estimateSize(t){return t==null?0:JSON.stringify(t).length*2}},U=class{generationCache;embeddingCache;completionCache;config;constructor(t={}){this.config={...ae,...t},this.generationCache=new R(t),this.embeddingCache=new R(t),this.completionCache=new R(t)}getGeneration(t,e){if(!this.config.cacheGenerations)return;let r=R.generateKey("generation",t,e);return this.generationCache.get(r)}setGeneration(t,e,r,s){if(!this.config.cacheGenerations)return;let n=R.generateKey("generation",t,r);this.generationCache.set(n,e,s)}getEmbedding(t,e){if(!this.config.cacheEmbeddings)return;let r=R.generateKey("embedding",t,e);return this.embeddingCache.get(r)}setEmbedding(t,e,r,s){if(!this.config.cacheEmbeddings)return;let n=R.generateKey("embedding",t,r);this.embeddingCache.set(n,e,s)}getCompletion(t,e){if(!this.config.cacheCompletions)return;let r=R.generateKey("completion",t,e);return this.completionCache.get(r)}setCompletion(t,e,r,s){if(!this.config.cacheCompletions)return;let n=R.generateKey("completion",t,r);this.completionCache.set(n,e,s)}getStats(){let t=this.generationCache.getStats(),e=this.embeddingCache.getStats(),r=this.completionCache.getStats(),s=t.hits+e.hits+r.hits,n=t.misses+e.misses+r.misses,o=s+n;return{generation:t,embedding:e,completion:r,total:{size:t.size+e.size+r.size,maxSize:this.config.maxSize*3,hits:s,misses:n,hitRate:o>0?s/o:0,evictions:t.evictions+e.evictions+r.evictions,memoryUsageBytes:t.memoryUsageBytes+e.memoryUsageBytes+r.memoryUsageBytes}}}clear(){this.generationCache.clear(),this.embeddingCache.clear(),this.completionCache.clear()}pruneExpired(){return this.generationCache.pruneExpired()+this.embeddingCache.pruneExpired()+this.completionCache.pruneExpired()}};O();function Q(g,t,e,r){let s=Math.min(t*Math.pow(2,g),e),n=Math.random()*r*s;return s+n}var me=1e3,he=3e4;function T(g,t=me,e=he){return Q(g,t,e,0)}import{readFileSync as ge}from"fs";import*as ce from"path";var ee=["low","medium","high","xhigh","max"],fe="xhigh";function q(g){return typeof g=="string"&&ee.includes(g)}var K;function ye(g){try{let e=ge(g,"utf8").match(/^\s*effort_level\s*:\s*['"]?([a-z]+)['"]?\s*$/m);return e&&q(e[1])?e[1]:null}catch{return null}}function ue(g={}){if(g.override&&q(g.override))return g.override;if(g.agentEffort&&q(g.agentEffort))return g.agentEffort;let e=(g.env??process.env).QE_EFFORT_LEVEL;if(e&&q(e))return e;let r=g.fleetDefaultsPath??ce.join(process.cwd(),"config","fleet-defaults.yaml");return K===void 0&&(K=ye(r)),K||fe}function le(g,t){let e=ee.indexOf(g),r=ee.indexOf(t);return e>r?t:g}var be={"claude-sonnet-4-5":{name:"Claude Sonnet 4.5",family:"claude",tier:"standard",description:"Most intelligent model, best for complex reasoning and coding tasks",releaseDate:"2025-09-29",recommended:!0,capabilities:{contextLength:2e5,maxOutputTokens:16384,supportsTools:!0,supportsStreaming:!0,supportsVision:!0,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!0,supportsMCP:!0,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:3,outputCostPerMillion:15}},"claude-opus-4":{name:"Claude Opus 4",family:"claude",tier:"flagship",description:"Flagship model with exceptional reasoning and reliability",releaseDate:"2025-05-14",recommended:!0,capabilities:{contextLength:2e5,maxOutputTokens:16384,supportsTools:!0,supportsStreaming:!0,supportsVision:!0,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!0,supportsMCP:!0,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:15,outputCostPerMillion:75}},"claude-opus-4-5":{name:"Claude Opus 4.5",family:"claude",tier:"flagship",description:"Latest flagship model with enhanced reasoning capabilities",releaseDate:"2025-11-01",recommended:!0,capabilities:{contextLength:2e5,maxOutputTokens:32768,supportsTools:!0,supportsStreaming:!0,supportsVision:!0,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!0,supportsMCP:!0,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:15,outputCostPerMillion:75}},"claude-haiku-3-5":{name:"Claude Haiku 3.5",family:"claude",tier:"economy",description:"Fast and cost-effective for routine tasks",releaseDate:"2024-10-22",deprecationDate:"2026-02-19",recommended:!1,capabilities:{contextLength:2e5,maxOutputTokens:8192,supportsTools:!0,supportsStreaming:!0,supportsVision:!0,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!1,supportsMCP:!0,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:1,outputCostPerMillion:5}},"claude-sonnet-4":{name:"Claude Sonnet 4",family:"claude",tier:"standard",description:"Balanced model for general-purpose tasks",releaseDate:"2025-05-14",deprecationDate:"2026-06-15",recommended:!1,capabilities:{contextLength:2e5,maxOutputTokens:16384,supportsTools:!0,supportsStreaming:!0,supportsVision:!0,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!0,supportsMCP:!0,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:3,outputCostPerMillion:15}},"claude-opus-4-7":{name:"Claude Opus 4.7",family:"claude",tier:"flagship",description:"Flagship agentic-coding model (2026-04-16). 1M context at standard pricing, xhigh effort level, adaptive thinking only. New tokenizer emits 1.0\u20131.35\xD7 more tokens.",releaseDate:"2026-04-16",recommended:!0,capabilities:{contextLength:1e6,maxOutputTokens:128e3,supportsTools:!0,supportsStreaming:!0,supportsVision:!0,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!0,supportsMCP:!0,supportsEmbeddings:!1,supportsCodeExecution:!1,supportsAdaptiveThinking:!0,supportsEffortXHigh:!0,tokenizerVersion:"opus-4-7"},cost:{inputCostPerMillion:5,outputCostPerMillion:25}},"claude-sonnet-4-6":{name:"Claude Sonnet 4.6",family:"claude",tier:"standard",description:"Steady-state agentic-coding workhorse (2026). Standard 200k context, same pricing as Sonnet 4. ADR-093 Tier 3 default for the AQE fleet.",releaseDate:"2026-02-01",recommended:!0,capabilities:{contextLength:2e5,maxOutputTokens:64e3,supportsTools:!0,supportsStreaming:!0,supportsVision:!0,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!0,supportsMCP:!0,supportsEmbeddings:!1,supportsCodeExecution:!1,supportsAdaptiveThinking:!1,supportsEffortXHigh:!1,tokenizerVersion:"legacy"},cost:{inputCostPerMillion:3,outputCostPerMillion:15}},"claude-haiku-4-5":{name:"Claude Haiku 4.5",family:"claude",tier:"economy",description:"Fast economy model replacing Haiku 3.5 (retired 2026-02-19). Extended thinking support.",releaseDate:"2025-10-01",recommended:!0,capabilities:{contextLength:2e5,maxOutputTokens:16384,supportsTools:!0,supportsStreaming:!0,supportsVision:!0,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!0,supportsMCP:!0,supportsEmbeddings:!1,supportsCodeExecution:!1,supportsAdaptiveThinking:!1,supportsEffortXHigh:!1,tokenizerVersion:"legacy"},cost:{inputCostPerMillion:1,outputCostPerMillion:5}},"gpt-4o":{name:"GPT-4o",family:"gpt",tier:"standard",description:"OpenAI flagship multimodal model, fast and capable",releaseDate:"2024-05-13",recommended:!0,capabilities:{contextLength:128e3,maxOutputTokens:16384,supportsTools:!0,supportsStreaming:!0,supportsVision:!0,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!1,supportsMCP:!1,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:5,outputCostPerMillion:15,imageCostPerUnit:.00765}},"gpt-4o-mini":{name:"GPT-4o Mini",family:"gpt",tier:"economy",description:"Small, fast, and affordable for lightweight tasks",releaseDate:"2024-07-18",recommended:!0,capabilities:{contextLength:128e3,maxOutputTokens:16384,supportsTools:!0,supportsStreaming:!0,supportsVision:!0,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!1,supportsMCP:!1,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:.15,outputCostPerMillion:.6,imageCostPerUnit:.001275}},"gpt-4-turbo":{name:"GPT-4 Turbo",family:"gpt",tier:"premium",description:"Previous flagship with vision and function calling",releaseDate:"2024-04-09",recommended:!1,capabilities:{contextLength:128e3,maxOutputTokens:4096,supportsTools:!0,supportsStreaming:!0,supportsVision:!0,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!1,supportsMCP:!1,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:10,outputCostPerMillion:30}},"gpt-4":{name:"GPT-4",family:"gpt",tier:"premium",description:"Original GPT-4 model, now superseded by GPT-4o",releaseDate:"2023-03-14",deprecationDate:"2025-06-01",recommended:!1,capabilities:{contextLength:8192,maxOutputTokens:8192,supportsTools:!0,supportsStreaming:!0,supportsVision:!1,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!1,supportsMCP:!1,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:30,outputCostPerMillion:60}},o1:{name:"OpenAI o1",family:"gpt",tier:"flagship",description:"Reasoning-focused model with extended thinking",releaseDate:"2024-12-05",recommended:!0,capabilities:{contextLength:2e5,maxOutputTokens:1e5,supportsTools:!0,supportsStreaming:!0,supportsVision:!0,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!0,supportsMCP:!1,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:15,outputCostPerMillion:60}},"o1-mini":{name:"OpenAI o1 Mini",family:"gpt",tier:"standard",description:"Faster reasoning model optimized for STEM tasks",releaseDate:"2024-09-12",recommended:!0,capabilities:{contextLength:128e3,maxOutputTokens:65536,supportsTools:!0,supportsStreaming:!0,supportsVision:!1,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!0,supportsMCP:!1,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:3,outputCostPerMillion:12}},"gemini-pro":{name:"Gemini Pro",family:"gemini",tier:"standard",description:"Google balanced model for diverse tasks",releaseDate:"2023-12-06",recommended:!1,capabilities:{contextLength:32e3,maxOutputTokens:8192,supportsTools:!0,supportsStreaming:!0,supportsVision:!1,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!1,supportsMCP:!1,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:.5,outputCostPerMillion:1.5}},"gemini-pro-1.5":{name:"Gemini Pro 1.5",family:"gemini",tier:"standard",description:"Google mid-size model with 1M context window",releaseDate:"2024-02-15",recommended:!0,capabilities:{contextLength:1e6,maxOutputTokens:8192,supportsTools:!0,supportsStreaming:!0,supportsVision:!0,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!1,supportsMCP:!1,supportsEmbeddings:!1,supportsCodeExecution:!0},cost:{inputCostPerMillion:3.5,outputCostPerMillion:10.5}},"gemini-flash-1.5":{name:"Gemini Flash 1.5",family:"gemini",tier:"economy",description:"Fast and efficient with 1M context window",releaseDate:"2024-05-14",recommended:!0,capabilities:{contextLength:1e6,maxOutputTokens:8192,supportsTools:!0,supportsStreaming:!0,supportsVision:!0,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!1,supportsMCP:!1,supportsEmbeddings:!1,supportsCodeExecution:!0},cost:{inputCostPerMillion:.075,outputCostPerMillion:.3}},"gemini-ultra":{name:"Gemini Ultra",family:"gemini",tier:"flagship",description:"Google most capable model",releaseDate:"2024-02-08",recommended:!1,capabilities:{contextLength:32e3,maxOutputTokens:8192,supportsTools:!0,supportsStreaming:!0,supportsVision:!0,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!1,supportsMCP:!1,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:12,outputCostPerMillion:36}},llama3:{name:"Llama 3",family:"llama",tier:"economy",description:"Meta open-source 8B model, runs locally",releaseDate:"2024-04-18",recommended:!0,capabilities:{contextLength:8192,maxOutputTokens:4096,supportsTools:!1,supportsStreaming:!0,supportsVision:!1,supportsJsonMode:!1,supportsSystemPrompt:!0,supportsExtendedThinking:!1,supportsMCP:!1,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:0,outputCostPerMillion:0}},"llama3.1":{name:"Llama 3.1",family:"llama",tier:"economy",description:"Meta latest open-source model with tool support",releaseDate:"2024-07-23",recommended:!0,capabilities:{contextLength:128e3,maxOutputTokens:8192,supportsTools:!0,supportsStreaming:!0,supportsVision:!1,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!1,supportsMCP:!1,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:0,outputCostPerMillion:0}},codellama:{name:"CodeLlama",family:"llama",tier:"economy",description:"Meta code-specialized model",releaseDate:"2023-08-24",recommended:!0,capabilities:{contextLength:1e5,maxOutputTokens:4096,supportsTools:!1,supportsStreaming:!0,supportsVision:!1,supportsJsonMode:!1,supportsSystemPrompt:!0,supportsExtendedThinking:!1,supportsMCP:!1,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:0,outputCostPerMillion:0}},mistral:{name:"Mistral",family:"mistral",tier:"economy",description:"Mistral AI 7B instruction-tuned model",releaseDate:"2023-09-27",recommended:!0,capabilities:{contextLength:32e3,maxOutputTokens:4096,supportsTools:!1,supportsStreaming:!0,supportsVision:!1,supportsJsonMode:!1,supportsSystemPrompt:!0,supportsExtendedThinking:!1,supportsMCP:!1,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:0,outputCostPerMillion:0}},mixtral:{name:"Mixtral",family:"mistral",tier:"standard",description:"Mistral AI mixture of experts model",releaseDate:"2023-12-11",recommended:!0,capabilities:{contextLength:32e3,maxOutputTokens:4096,supportsTools:!0,supportsStreaming:!0,supportsVision:!1,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!1,supportsMCP:!1,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:0,outputCostPerMillion:0}},phi3:{name:"Phi-3",family:"phi",tier:"economy",description:"Microsoft small language model, efficient",releaseDate:"2024-04-23",recommended:!0,capabilities:{contextLength:128e3,maxOutputTokens:4096,supportsTools:!1,supportsStreaming:!0,supportsVision:!1,supportsJsonMode:!1,supportsSystemPrompt:!0,supportsExtendedThinking:!1,supportsMCP:!1,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:0,outputCostPerMillion:0}},qwen2:{name:"Qwen 2",family:"qwen",tier:"economy",description:"Alibaba multilingual model",releaseDate:"2024-06-07",recommended:!0,capabilities:{contextLength:32e3,maxOutputTokens:4096,supportsTools:!0,supportsStreaming:!0,supportsVision:!1,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!1,supportsMCP:!1,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:0,outputCostPerMillion:0}}};function pe(g){let t=ne(g),e=be[t];if(!e)throw new Error(`Model not found in registry: ${g}`);return{...e.capabilities}}var ke={model:"claude-sonnet-4-6",maxTokens:4096,temperature:.7,timeoutMs:6e4,maxRetries:3,anthropicVersion:"2023-06-01",enableCache:!0,enableCircuitBreaker:!0},B=class{type="claude";name="Anthropic Claude";config;requestId=0;constructor(t={}){this.config={...ke,...t}}async isAvailable(){if(!this.getApiKey())return!1;try{return(await this.healthCheck()).healthy}catch{return!1}}async healthCheck(){if(!this.getApiKey())return{healthy:!1,error:"API key not configured. Set ANTHROPIC_API_KEY environment variable."};let e=Date.now();try{let r=await this.fetchWithTimeout(`${this.getBaseUrl()}/v1/messages`,{method:"POST",headers:this.getHeaders(),body:JSON.stringify({model:this.config.model,max_tokens:1,messages:[{role:"user",content:"Hi"}]})},5e3),s=Date.now()-e;if(!r.ok){let n=await r.text();return{healthy:!1,latencyMs:s,error:`API error: ${r.status} - ${n}`}}return{healthy:!0,latencyMs:s,models:this.getSupportedModels(),details:{apiVersion:this.config.anthropicVersion,defaultModel:this.config.model}}}catch(r){return{healthy:!1,error:r instanceof Error?r.message:"Unknown error"}}}async generate(t,e){if(!this.getApiKey())throw a("Anthropic API key not configured","API_KEY_MISSING",{provider:"claude",retryable:!1});let s=this.formatMessages(t),n=e?.model??this.config.model,o=e?.maxTokens??this.config.maxTokens??4096,i=e?.temperature??this.config.temperature??.7,u=`claude-${++this.requestId}-${Date.now()}`,m=Date.now(),h={model:n,max_tokens:o,temperature:i,messages:s};e?.systemPrompt&&(h.system=this.config.enableCache!==!1?[{type:"text",text:e.systemPrompt,cache_control:{type:"ephemeral"}}]:e.systemPrompt),e?.stopSequences&&e.stopSequences.length>0&&(h.stop_sequences=e.stopSequences);try{if(pe(n).supportsEffortXHigh){let p=ue({override:e?.effort}),l=le(p,"xhigh");h.thinking={type:"adaptive",effort:l}}}catch{}try{let c=await this.fetchWithRetry(`${this.getBaseUrl()}/v1/messages`,{method:"POST",headers:this.getHeaders(),body:JSON.stringify(h)},e?.timeoutMs??this.config.timeoutMs??6e4,this.config.maxRetries??3),p=Date.now()-m;if(!c.ok){let k=await c.json().catch(()=>({error:{message:"Unknown error"}}));throw this.handleApiError(c.status,k,n)}let l=await c.json(),d=l.usage.cache_creation_input_tokens??0,y=l.usage.cache_read_input_tokens??0,b={promptTokens:l.usage.input_tokens,completionTokens:l.usage.output_tokens,totalTokens:l.usage.input_tokens+d+y+l.usage.output_tokens,cacheCreationTokens:d,cacheReadTokens:y},f=M.calculateCost(n,b);return C.recordTokenUsage(u,"claude-provider","llm","generate",{inputTokens:l.usage.input_tokens,outputTokens:l.usage.output_tokens,totalTokens:l.usage.input_tokens+l.usage.output_tokens,estimatedCostUsd:f.totalCost}),{content:l.content.filter(k=>k.type==="text").map(k=>k.text).join(""),model:l.model,provider:"claude",usage:b,cost:f,latencyMs:p,finishReason:this.mapFinishReason(l.stop_reason),cached:!1,requestId:u}}catch(c){throw c instanceof Error&&"code"in c?c:a(c instanceof Error?c.message:"Request failed","NETWORK_ERROR",{provider:"claude",model:n,retryable:!0,cause:c})}}async embed(t,e){throw a("Claude does not support native embeddings. Use OpenAI or Ollama for embeddings.","MODEL_NOT_FOUND",{provider:"claude",retryable:!1})}async complete(t,e){let r=await this.generate(t,{model:e?.model,temperature:e?.temperature??.2,maxTokens:e?.maxTokens??256,stopSequences:e?.stopSequences??[`
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.10.7");process.exit(0)}
2
+ import{b as C}from"./chunk-2J4ZUUU5.js";import{a,d as ne}from"./chunk-L2ZSYIDA.js";import{b as M,c as oe}from"./chunk-GUDOOOO6.js";import{b as D,d as re}from"./chunk-QBVFONWU.js";import{b as v,c as O}from"./chunk-XWPUCPYW.js";import{b as se,d as de}from"./chunk-DYNO72WD.js";de();O();var ie={failureThreshold:5,resetTimeoutMs:3e4,halfOpenSuccessThreshold:2,failureWindowMs:6e4,includeTimeouts:!0},Z=class{state="closed";failures=[];successCount=0;totalRequests=0;totalSuccesses=0;totalFailures=0;rejectedCount=0;lastFailureTime;lastSuccessTime;openedAt;halfOpenSuccesses=0;config;providerType;constructor(t,e={}){this.providerType=t,this.config={...ie,...e}}getState(){return this.state==="open"&&this.openedAt&&Date.now()-this.openedAt.getTime()>=this.config.resetTimeoutMs&&this.transitionTo("half-open"),this.state}canExecute(){let t=this.getState();return t==="closed"?!0:t!=="open"}async execute(t){if(this.totalRequests++,this.getState()==="open")throw this.rejectedCount++,a(`Circuit breaker is open for provider ${this.providerType}`,"CIRCUIT_OPEN",{provider:this.providerType,retryable:!0,retryAfterMs:this.getTimeUntilTransition()});try{let r=await t();return this.recordSuccess(),r}catch(r){throw this.recordFailure(v(r)),r}}recordSuccess(){this.successCount++,this.totalSuccesses++,this.lastSuccessTime=new Date,this.getState()==="half-open"&&(this.halfOpenSuccesses++,this.halfOpenSuccesses>=this.config.halfOpenSuccessThreshold&&this.transitionTo("closed"))}recordFailure(t){if(this.totalFailures++,this.lastFailureTime=new Date,(t.message.toLowerCase().includes("timeout")||t.name==="TimeoutError"||t.name==="AbortError")&&!this.config.includeTimeouts)return;this.failures.push({timestamp:new Date,error:t}),this.cleanOldFailures();let r=this.getState();if(r==="half-open"){this.transitionTo("open");return}r==="closed"&&this.failures.length>=this.config.failureThreshold&&this.transitionTo("open")}getStats(){return{state:this.getState(),totalRequests:this.totalRequests,successCount:this.totalSuccesses,failureCount:this.totalFailures,rejectedCount:this.rejectedCount,lastFailureTime:this.lastFailureTime,lastSuccessTime:this.lastSuccessTime,timeUntilTransitionMs:this.getTimeUntilTransition()}}reset(){this.state="closed",this.failures=[],this.successCount=0,this.halfOpenSuccesses=0,this.openedAt=void 0}forceOpen(){this.transitionTo("open")}forceHalfOpen(){this.transitionTo("half-open")}getRecentFailures(t=5){return this.failures.slice(-t).map(e=>`[${e.timestamp.toISOString()}] ${e.error.message}`)}transitionTo(t){if(this.state!==t)switch(this.state=t,t){case"open":this.openedAt=new Date,this.halfOpenSuccesses=0;break;case"half-open":this.halfOpenSuccesses=0;break;case"closed":this.failures=[],this.openedAt=void 0,this.halfOpenSuccesses=0;break}}cleanOldFailures(){let t=Date.now()-this.config.failureWindowMs;this.failures=this.failures.filter(e=>e.timestamp.getTime()>t)}getTimeUntilTransition(){if(this.state==="open"&&this.openedAt){let t=Date.now()-this.openedAt.getTime(),e=this.config.resetTimeoutMs-t;return Math.max(0,e)}}},N=class{breakers=new Map;defaultConfig;constructor(t={}){this.defaultConfig={...ie,...t}}getBreaker(t,e){let r=this.breakers.get(t);return r||(r=new Z(t,{...this.defaultConfig,...e}),this.breakers.set(t,r)),r}getAllStats(){let t={};for(let[e,r]of this.breakers)t[e]=r.getStats();return t}getAvailableProviders(){let t=[];for(let[e,r]of this.breakers)r.canExecute()&&t.push(e);return t}resetAll(){for(let t of this.breakers.values())t.reset()}reset(t){let e=this.breakers.get(t);e&&e.reset()}};var ae={maxSize:1e3,defaultTtlMs:36e5,enableLRU:!0,cacheGenerations:!0,cacheEmbeddings:!0,cacheCompletions:!0},R=class{cache=new Map;accessOrder=[];config;hits=0;misses=0;evictions=0;constructor(t={}){this.config={...ae,...t}}static generateKey(t,e,r){let n=[t,r?.model??"default",String(r?.temperature??.7),String(r?.maxTokens??0),r?.systemPrompt??"",e].join("|"),o=0;for(let i=0;i<n.length;i++){let u=n.charCodeAt(i);o=(o<<5)-o+u,o=o&o}return`${t}:${Math.abs(o).toString(36)}`}get(t){let e=this.cache.get(t);if(!e){this.misses++;return}if(e.ttlMs>0&&Date.now()-e.createdAt.getTime()>e.ttlMs){this.delete(t),this.misses++;return}return this.hits++,e.lastAccessedAt=new Date,e.accessCount++,this.config.enableLRU&&this.updateAccessOrder(t),e.value}set(t,e,r){this.cache.size>=this.config.maxSize&&!this.cache.has(t)&&this.evictLRU();let s={value:e,createdAt:new Date,lastAccessedAt:new Date,accessCount:1,ttlMs:r??this.config.defaultTtlMs,keyHash:t};this.cache.set(t,s),this.config.enableLRU&&this.updateAccessOrder(t)}has(t){let e=this.cache.get(t);return e?e.ttlMs>0&&Date.now()-e.createdAt.getTime()>e.ttlMs?(this.delete(t),!1):!0:!1}delete(t){let e=this.cache.delete(t);if(e){let r=this.accessOrder.indexOf(t);r!==-1&&this.accessOrder.splice(r,1)}return e}clear(){this.cache.clear(),this.accessOrder=[],this.hits=0,this.misses=0,this.evictions=0}getStats(){let t=this.hits+this.misses,e=t>0?this.hits/t:0,r=0;for(let s of this.cache.values())r+=this.estimateSize(s.value);return{size:this.cache.size,maxSize:this.config.maxSize,hits:this.hits,misses:this.misses,hitRate:e,evictions:this.evictions,memoryUsageBytes:r}}keys(){return Array.from(this.cache.keys())}entries(){return Array.from(this.cache.entries())}import(t){for(let[e,r]of t)r.createdAt=new Date(r.createdAt),r.lastAccessedAt=new Date(r.lastAccessedAt),this.cache.set(e,r),this.accessOrder.push(e);for(;this.cache.size>this.config.maxSize;)this.evictLRU()}pruneExpired(){let t=Date.now(),e=0;for(let[r,s]of this.cache.entries())s.ttlMs>0&&t-s.createdAt.getTime()>s.ttlMs&&(this.delete(r),e++);return e}updateAccessOrder(t){let e=this.accessOrder.indexOf(t);e!==-1&&this.accessOrder.splice(e,1),this.accessOrder.push(t)}evictLRU(){if(this.accessOrder.length===0){let e=this.cache.keys().next().value;e&&(this.cache.delete(e),this.evictions++);return}let t=this.accessOrder.shift();t&&(this.cache.delete(t),this.evictions++)}estimateSize(t){return t==null?0:JSON.stringify(t).length*2}},U=class{generationCache;embeddingCache;completionCache;config;constructor(t={}){this.config={...ae,...t},this.generationCache=new R(t),this.embeddingCache=new R(t),this.completionCache=new R(t)}getGeneration(t,e){if(!this.config.cacheGenerations)return;let r=R.generateKey("generation",t,e);return this.generationCache.get(r)}setGeneration(t,e,r,s){if(!this.config.cacheGenerations)return;let n=R.generateKey("generation",t,r);this.generationCache.set(n,e,s)}getEmbedding(t,e){if(!this.config.cacheEmbeddings)return;let r=R.generateKey("embedding",t,e);return this.embeddingCache.get(r)}setEmbedding(t,e,r,s){if(!this.config.cacheEmbeddings)return;let n=R.generateKey("embedding",t,r);this.embeddingCache.set(n,e,s)}getCompletion(t,e){if(!this.config.cacheCompletions)return;let r=R.generateKey("completion",t,e);return this.completionCache.get(r)}setCompletion(t,e,r,s){if(!this.config.cacheCompletions)return;let n=R.generateKey("completion",t,r);this.completionCache.set(n,e,s)}getStats(){let t=this.generationCache.getStats(),e=this.embeddingCache.getStats(),r=this.completionCache.getStats(),s=t.hits+e.hits+r.hits,n=t.misses+e.misses+r.misses,o=s+n;return{generation:t,embedding:e,completion:r,total:{size:t.size+e.size+r.size,maxSize:this.config.maxSize*3,hits:s,misses:n,hitRate:o>0?s/o:0,evictions:t.evictions+e.evictions+r.evictions,memoryUsageBytes:t.memoryUsageBytes+e.memoryUsageBytes+r.memoryUsageBytes}}}clear(){this.generationCache.clear(),this.embeddingCache.clear(),this.completionCache.clear()}pruneExpired(){return this.generationCache.pruneExpired()+this.embeddingCache.pruneExpired()+this.completionCache.pruneExpired()}};O();function Q(g,t,e,r){let s=Math.min(t*Math.pow(2,g),e),n=Math.random()*r*s;return s+n}var me=1e3,he=3e4;function T(g,t=me,e=he){return Q(g,t,e,0)}import{readFileSync as ge}from"fs";import*as ce from"path";var ee=["low","medium","high","xhigh","max"],fe="xhigh";function q(g){return typeof g=="string"&&ee.includes(g)}var K;function ye(g){try{let e=ge(g,"utf8").match(/^\s*effort_level\s*:\s*['"]?([a-z]+)['"]?\s*$/m);return e&&q(e[1])?e[1]:null}catch{return null}}function ue(g={}){if(g.override&&q(g.override))return g.override;if(g.agentEffort&&q(g.agentEffort))return g.agentEffort;let e=(g.env??process.env).QE_EFFORT_LEVEL;if(e&&q(e))return e;let r=g.fleetDefaultsPath??ce.join(process.cwd(),"config","fleet-defaults.yaml");return K===void 0&&(K=ye(r)),K||fe}function le(g,t){let e=ee.indexOf(g),r=ee.indexOf(t);return e>r?t:g}var be={"claude-sonnet-4-5":{name:"Claude Sonnet 4.5",family:"claude",tier:"standard",description:"Most intelligent model, best for complex reasoning and coding tasks",releaseDate:"2025-09-29",recommended:!0,capabilities:{contextLength:2e5,maxOutputTokens:16384,supportsTools:!0,supportsStreaming:!0,supportsVision:!0,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!0,supportsMCP:!0,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:3,outputCostPerMillion:15}},"claude-opus-4":{name:"Claude Opus 4",family:"claude",tier:"flagship",description:"Flagship model with exceptional reasoning and reliability",releaseDate:"2025-05-14",recommended:!0,capabilities:{contextLength:2e5,maxOutputTokens:16384,supportsTools:!0,supportsStreaming:!0,supportsVision:!0,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!0,supportsMCP:!0,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:15,outputCostPerMillion:75}},"claude-opus-4-5":{name:"Claude Opus 4.5",family:"claude",tier:"flagship",description:"Latest flagship model with enhanced reasoning capabilities",releaseDate:"2025-11-01",recommended:!0,capabilities:{contextLength:2e5,maxOutputTokens:32768,supportsTools:!0,supportsStreaming:!0,supportsVision:!0,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!0,supportsMCP:!0,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:15,outputCostPerMillion:75}},"claude-haiku-3-5":{name:"Claude Haiku 3.5",family:"claude",tier:"economy",description:"Fast and cost-effective for routine tasks",releaseDate:"2024-10-22",deprecationDate:"2026-02-19",recommended:!1,capabilities:{contextLength:2e5,maxOutputTokens:8192,supportsTools:!0,supportsStreaming:!0,supportsVision:!0,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!1,supportsMCP:!0,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:1,outputCostPerMillion:5}},"claude-sonnet-4":{name:"Claude Sonnet 4",family:"claude",tier:"standard",description:"Balanced model for general-purpose tasks",releaseDate:"2025-05-14",deprecationDate:"2026-06-15",recommended:!1,capabilities:{contextLength:2e5,maxOutputTokens:16384,supportsTools:!0,supportsStreaming:!0,supportsVision:!0,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!0,supportsMCP:!0,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:3,outputCostPerMillion:15}},"claude-opus-4-7":{name:"Claude Opus 4.7",family:"claude",tier:"flagship",description:"Flagship agentic-coding model (2026-04-16). 1M context at standard pricing, xhigh effort level, adaptive thinking only. New tokenizer emits 1.0\u20131.35\xD7 more tokens.",releaseDate:"2026-04-16",recommended:!0,capabilities:{contextLength:1e6,maxOutputTokens:128e3,supportsTools:!0,supportsStreaming:!0,supportsVision:!0,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!0,supportsMCP:!0,supportsEmbeddings:!1,supportsCodeExecution:!1,supportsAdaptiveThinking:!0,supportsEffortXHigh:!0,tokenizerVersion:"opus-4-7"},cost:{inputCostPerMillion:5,outputCostPerMillion:25}},"claude-sonnet-4-6":{name:"Claude Sonnet 4.6",family:"claude",tier:"standard",description:"Steady-state agentic-coding workhorse (2026). Standard 200k context, same pricing as Sonnet 4. ADR-093 Tier 3 default for the AQE fleet.",releaseDate:"2026-02-01",recommended:!0,capabilities:{contextLength:2e5,maxOutputTokens:64e3,supportsTools:!0,supportsStreaming:!0,supportsVision:!0,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!0,supportsMCP:!0,supportsEmbeddings:!1,supportsCodeExecution:!1,supportsAdaptiveThinking:!1,supportsEffortXHigh:!1,tokenizerVersion:"legacy"},cost:{inputCostPerMillion:3,outputCostPerMillion:15}},"claude-haiku-4-5":{name:"Claude Haiku 4.5",family:"claude",tier:"economy",description:"Fast economy model replacing Haiku 3.5 (retired 2026-02-19). Extended thinking support.",releaseDate:"2025-10-01",recommended:!0,capabilities:{contextLength:2e5,maxOutputTokens:16384,supportsTools:!0,supportsStreaming:!0,supportsVision:!0,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!0,supportsMCP:!0,supportsEmbeddings:!1,supportsCodeExecution:!1,supportsAdaptiveThinking:!1,supportsEffortXHigh:!1,tokenizerVersion:"legacy"},cost:{inputCostPerMillion:1,outputCostPerMillion:5}},"gpt-4o":{name:"GPT-4o",family:"gpt",tier:"standard",description:"OpenAI flagship multimodal model, fast and capable",releaseDate:"2024-05-13",recommended:!0,capabilities:{contextLength:128e3,maxOutputTokens:16384,supportsTools:!0,supportsStreaming:!0,supportsVision:!0,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!1,supportsMCP:!1,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:5,outputCostPerMillion:15,imageCostPerUnit:.00765}},"gpt-4o-mini":{name:"GPT-4o Mini",family:"gpt",tier:"economy",description:"Small, fast, and affordable for lightweight tasks",releaseDate:"2024-07-18",recommended:!0,capabilities:{contextLength:128e3,maxOutputTokens:16384,supportsTools:!0,supportsStreaming:!0,supportsVision:!0,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!1,supportsMCP:!1,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:.15,outputCostPerMillion:.6,imageCostPerUnit:.001275}},"gpt-4-turbo":{name:"GPT-4 Turbo",family:"gpt",tier:"premium",description:"Previous flagship with vision and function calling",releaseDate:"2024-04-09",recommended:!1,capabilities:{contextLength:128e3,maxOutputTokens:4096,supportsTools:!0,supportsStreaming:!0,supportsVision:!0,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!1,supportsMCP:!1,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:10,outputCostPerMillion:30}},"gpt-4":{name:"GPT-4",family:"gpt",tier:"premium",description:"Original GPT-4 model, now superseded by GPT-4o",releaseDate:"2023-03-14",deprecationDate:"2025-06-01",recommended:!1,capabilities:{contextLength:8192,maxOutputTokens:8192,supportsTools:!0,supportsStreaming:!0,supportsVision:!1,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!1,supportsMCP:!1,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:30,outputCostPerMillion:60}},o1:{name:"OpenAI o1",family:"gpt",tier:"flagship",description:"Reasoning-focused model with extended thinking",releaseDate:"2024-12-05",recommended:!0,capabilities:{contextLength:2e5,maxOutputTokens:1e5,supportsTools:!0,supportsStreaming:!0,supportsVision:!0,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!0,supportsMCP:!1,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:15,outputCostPerMillion:60}},"o1-mini":{name:"OpenAI o1 Mini",family:"gpt",tier:"standard",description:"Faster reasoning model optimized for STEM tasks",releaseDate:"2024-09-12",recommended:!0,capabilities:{contextLength:128e3,maxOutputTokens:65536,supportsTools:!0,supportsStreaming:!0,supportsVision:!1,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!0,supportsMCP:!1,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:3,outputCostPerMillion:12}},"gemini-pro":{name:"Gemini Pro",family:"gemini",tier:"standard",description:"Google balanced model for diverse tasks",releaseDate:"2023-12-06",recommended:!1,capabilities:{contextLength:32e3,maxOutputTokens:8192,supportsTools:!0,supportsStreaming:!0,supportsVision:!1,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!1,supportsMCP:!1,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:.5,outputCostPerMillion:1.5}},"gemini-pro-1.5":{name:"Gemini Pro 1.5",family:"gemini",tier:"standard",description:"Google mid-size model with 1M context window",releaseDate:"2024-02-15",recommended:!0,capabilities:{contextLength:1e6,maxOutputTokens:8192,supportsTools:!0,supportsStreaming:!0,supportsVision:!0,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!1,supportsMCP:!1,supportsEmbeddings:!1,supportsCodeExecution:!0},cost:{inputCostPerMillion:3.5,outputCostPerMillion:10.5}},"gemini-flash-1.5":{name:"Gemini Flash 1.5",family:"gemini",tier:"economy",description:"Fast and efficient with 1M context window",releaseDate:"2024-05-14",recommended:!0,capabilities:{contextLength:1e6,maxOutputTokens:8192,supportsTools:!0,supportsStreaming:!0,supportsVision:!0,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!1,supportsMCP:!1,supportsEmbeddings:!1,supportsCodeExecution:!0},cost:{inputCostPerMillion:.075,outputCostPerMillion:.3}},"gemini-ultra":{name:"Gemini Ultra",family:"gemini",tier:"flagship",description:"Google most capable model",releaseDate:"2024-02-08",recommended:!1,capabilities:{contextLength:32e3,maxOutputTokens:8192,supportsTools:!0,supportsStreaming:!0,supportsVision:!0,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!1,supportsMCP:!1,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:12,outputCostPerMillion:36}},llama3:{name:"Llama 3",family:"llama",tier:"economy",description:"Meta open-source 8B model, runs locally",releaseDate:"2024-04-18",recommended:!0,capabilities:{contextLength:8192,maxOutputTokens:4096,supportsTools:!1,supportsStreaming:!0,supportsVision:!1,supportsJsonMode:!1,supportsSystemPrompt:!0,supportsExtendedThinking:!1,supportsMCP:!1,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:0,outputCostPerMillion:0}},"llama3.1":{name:"Llama 3.1",family:"llama",tier:"economy",description:"Meta latest open-source model with tool support",releaseDate:"2024-07-23",recommended:!0,capabilities:{contextLength:128e3,maxOutputTokens:8192,supportsTools:!0,supportsStreaming:!0,supportsVision:!1,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!1,supportsMCP:!1,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:0,outputCostPerMillion:0}},codellama:{name:"CodeLlama",family:"llama",tier:"economy",description:"Meta code-specialized model",releaseDate:"2023-08-24",recommended:!0,capabilities:{contextLength:1e5,maxOutputTokens:4096,supportsTools:!1,supportsStreaming:!0,supportsVision:!1,supportsJsonMode:!1,supportsSystemPrompt:!0,supportsExtendedThinking:!1,supportsMCP:!1,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:0,outputCostPerMillion:0}},mistral:{name:"Mistral",family:"mistral",tier:"economy",description:"Mistral AI 7B instruction-tuned model",releaseDate:"2023-09-27",recommended:!0,capabilities:{contextLength:32e3,maxOutputTokens:4096,supportsTools:!1,supportsStreaming:!0,supportsVision:!1,supportsJsonMode:!1,supportsSystemPrompt:!0,supportsExtendedThinking:!1,supportsMCP:!1,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:0,outputCostPerMillion:0}},mixtral:{name:"Mixtral",family:"mistral",tier:"standard",description:"Mistral AI mixture of experts model",releaseDate:"2023-12-11",recommended:!0,capabilities:{contextLength:32e3,maxOutputTokens:4096,supportsTools:!0,supportsStreaming:!0,supportsVision:!1,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!1,supportsMCP:!1,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:0,outputCostPerMillion:0}},phi3:{name:"Phi-3",family:"phi",tier:"economy",description:"Microsoft small language model, efficient",releaseDate:"2024-04-23",recommended:!0,capabilities:{contextLength:128e3,maxOutputTokens:4096,supportsTools:!1,supportsStreaming:!0,supportsVision:!1,supportsJsonMode:!1,supportsSystemPrompt:!0,supportsExtendedThinking:!1,supportsMCP:!1,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:0,outputCostPerMillion:0}},qwen2:{name:"Qwen 2",family:"qwen",tier:"economy",description:"Alibaba multilingual model",releaseDate:"2024-06-07",recommended:!0,capabilities:{contextLength:32e3,maxOutputTokens:4096,supportsTools:!0,supportsStreaming:!0,supportsVision:!1,supportsJsonMode:!0,supportsSystemPrompt:!0,supportsExtendedThinking:!1,supportsMCP:!1,supportsEmbeddings:!1,supportsCodeExecution:!1},cost:{inputCostPerMillion:0,outputCostPerMillion:0}}};function pe(g){let t=ne(g),e=be[t];if(!e)throw new Error(`Model not found in registry: ${g}`);return{...e.capabilities}}var ke={model:"claude-sonnet-4-6",maxTokens:4096,temperature:.7,timeoutMs:6e4,maxRetries:3,anthropicVersion:"2023-06-01",enableCache:!0,enableCircuitBreaker:!0},B=class{type="claude";name="Anthropic Claude";config;requestId=0;constructor(t={}){this.config={...ke,...t}}async isAvailable(){if(!this.getApiKey())return!1;try{return(await this.healthCheck()).healthy}catch{return!1}}async healthCheck(){if(!this.getApiKey())return{healthy:!1,error:"API key not configured. Set ANTHROPIC_API_KEY environment variable."};let e=Date.now();try{let r=await this.fetchWithTimeout(`${this.getBaseUrl()}/v1/messages`,{method:"POST",headers:this.getHeaders(),body:JSON.stringify({model:this.config.model,max_tokens:1,messages:[{role:"user",content:"Hi"}]})},5e3),s=Date.now()-e;if(!r.ok){let n=await r.text();return{healthy:!1,latencyMs:s,error:`API error: ${r.status} - ${n}`}}return{healthy:!0,latencyMs:s,models:this.getSupportedModels(),details:{apiVersion:this.config.anthropicVersion,defaultModel:this.config.model}}}catch(r){return{healthy:!1,error:r instanceof Error?r.message:"Unknown error"}}}async generate(t,e){if(!this.getApiKey())throw a("Anthropic API key not configured","API_KEY_MISSING",{provider:"claude",retryable:!1});let s=this.formatMessages(t),n=e?.model??this.config.model,o=e?.maxTokens??this.config.maxTokens??4096,i=e?.temperature??this.config.temperature??.7,u=`claude-${++this.requestId}-${Date.now()}`,m=Date.now(),h={model:n,max_tokens:o,temperature:i,messages:s};e?.systemPrompt&&(h.system=this.config.enableCache!==!1?[{type:"text",text:e.systemPrompt,cache_control:{type:"ephemeral"}}]:e.systemPrompt),e?.stopSequences&&e.stopSequences.length>0&&(h.stop_sequences=e.stopSequences);try{if(pe(n).supportsEffortXHigh){let p=ue({override:e?.effort}),l=le(p,"xhigh");h.thinking={type:"adaptive",effort:l}}}catch{}try{let c=await this.fetchWithRetry(`${this.getBaseUrl()}/v1/messages`,{method:"POST",headers:this.getHeaders(),body:JSON.stringify(h)},e?.timeoutMs??this.config.timeoutMs??6e4,this.config.maxRetries??3),p=Date.now()-m;if(!c.ok){let k=await c.json().catch(()=>({error:{message:"Unknown error"}}));throw this.handleApiError(c.status,k,n)}let l=await c.json(),d=l.usage.cache_creation_input_tokens??0,y=l.usage.cache_read_input_tokens??0,b={promptTokens:l.usage.input_tokens,completionTokens:l.usage.output_tokens,totalTokens:l.usage.input_tokens+d+y+l.usage.output_tokens,cacheCreationTokens:d,cacheReadTokens:y},f=M.calculateCost(n,b);return C.recordTokenUsage(u,"claude-provider","llm","generate",{inputTokens:l.usage.input_tokens,outputTokens:l.usage.output_tokens,totalTokens:l.usage.input_tokens+l.usage.output_tokens,estimatedCostUsd:f.totalCost}),{content:l.content.filter(k=>k.type==="text").map(k=>k.text).join(""),model:l.model,provider:"claude",usage:b,cost:f,latencyMs:p,finishReason:this.mapFinishReason(l.stop_reason),cached:!1,requestId:u}}catch(c){throw c instanceof Error&&"code"in c?c:a(c instanceof Error?c.message:"Request failed","NETWORK_ERROR",{provider:"claude",model:n,retryable:!0,cause:c})}}async embed(t,e){throw a("Claude does not support native embeddings. Use OpenAI or Ollama for embeddings.","MODEL_NOT_FOUND",{provider:"claude",retryable:!1})}async complete(t,e){let r=await this.generate(t,{model:e?.model,temperature:e?.temperature??.2,maxTokens:e?.maxTokens??256,stopSequences:e?.stopSequences??[`
3
3
 
4
4
  `,"```"]});return{completion:r.content,model:r.model,provider:"claude",usage:r.usage,latencyMs:r.latencyMs,cached:r.cached}}getConfig(){return{...this.config}}getSupportedModels(){return["claude-opus-4-7","claude-sonnet-4-6","claude-haiku-4-5-20251001","claude-3-opus-20240229","claude-3-sonnet-20240229","claude-3-haiku-20240307"]}getCostPerToken(){return M.getCostPerToken(this.config.model)}async dispose(){}getApiKey(){return this.config.apiKey??process.env.ANTHROPIC_API_KEY}getBaseUrl(){return(this.config.baseUrl??process.env.ANTHROPIC_BASE_URL??"https://api.anthropic.com").replace(/\/$/,"")}getHeaders(){return{"Content-Type":"application/json","x-api-key":this.getApiKey(),"anthropic-version":this.config.anthropicVersion??"2023-06-01"}}formatMessages(t){return typeof t=="string"?[{role:"user",content:t}]:t.filter(e=>e.role!=="system").map(e=>({role:e.role,content:e.content}))}mapFinishReason(t){switch(t){case"end_turn":return"stop";case"max_tokens":return"length";case"stop_sequence":return"stop";default:return"stop"}}handleApiError(t,e,r){let s="error"in e?e.error?.message??"Unknown API error":"Unknown API error",n="error"in e&&"type"in e.error?e.error.type:"";switch(t){case 401:throw a(s,"API_KEY_INVALID",{provider:"claude",model:r,retryable:!1});case 429:throw a(s,"RATE_LIMITED",{provider:"claude",model:r,retryable:!0,retryAfterMs:6e4});case 400:throw n==="invalid_request_error"&&s.includes("context")?a(s,"CONTEXT_LENGTH_EXCEEDED",{provider:"claude",model:r,retryable:!1}):a(s,"UNKNOWN",{provider:"claude",model:r,retryable:!1});case 500:case 502:case 503:throw a(s,"PROVIDER_UNAVAILABLE",{provider:"claude",model:r,retryable:!0,retryAfterMs:5e3});default:throw a(s,"UNKNOWN",{provider:"claude",model:r,retryable:!1})}}async fetchWithTimeout(t,e,r){let s=new AbortController,n=setTimeout(()=>s.abort(),r);try{return await fetch(t,{...e,signal:s.signal})}catch(o){throw o instanceof Error&&o.name==="AbortError"?a("Request timed out","TIMEOUT",{provider:"claude",retryable:!0}):o}finally{clearTimeout(n)}}async fetchWithRetry(t,e,r,s){let n;for(let o=0;o<s;o++)try{let i=await this.fetchWithTimeout(t,e,r);if(i.status>=400&&i.status<500&&i.status!==429)return i;if((i.status>=500||i.status===429)&&o<s-1){let u=T(o);await this.sleep(u);continue}return i}catch(i){if(n=v(i),o<s-1){let u=T(o);await this.sleep(u)}}throw n??new Error("Request failed after retries")}sleep(t){return new Promise(e=>setTimeout(e,t))}};O();var Te={model:"gpt-4o",maxTokens:4096,temperature:.7,timeoutMs:6e4,maxRetries:3,enableCache:!0,enableCircuitBreaker:!0},G=class{type="openai";name="OpenAI";config;requestId=0;constructor(t={}){this.config={...Te,...t}}async isAvailable(){if(!this.getApiKey())return!1;try{return(await this.healthCheck()).healthy}catch{return!1}}async healthCheck(){if(!this.getApiKey())return{healthy:!1,error:"API key not configured. Set OPENAI_API_KEY environment variable."};let e=Date.now();try{let r=await this.fetchWithTimeout(`${this.getBaseUrl()}/v1/chat/completions`,{method:"POST",headers:this.getHeaders(),body:JSON.stringify({model:this.config.model,max_tokens:1,messages:[{role:"user",content:"Hi"}]})},5e3),s=Date.now()-e;if(!r.ok){let n=await r.text();return{healthy:!1,latencyMs:s,error:`API error: ${r.status} - ${n}`}}return{healthy:!0,latencyMs:s,models:this.getSupportedModels(),details:{defaultModel:this.config.model,organization:this.config.organization}}}catch(r){return{healthy:!1,error:r instanceof Error?r.message:"Unknown error"}}}async generate(t,e){if(!this.getApiKey())throw a("OpenAI API key not configured","API_KEY_MISSING",{provider:"openai",retryable:!1});let s=this.formatMessages(t,e?.systemPrompt),n=e?.model??this.config.model,o=e?.maxTokens??this.config.maxTokens??4096,i=e?.temperature??this.config.temperature??.7,u=`openai-${++this.requestId}-${Date.now()}`,m=Date.now(),h={model:n,max_tokens:o,temperature:i,messages:s};e?.stopSequences&&e.stopSequences.length>0&&(h.stop=e.stopSequences),this.config.presencePenalty!==void 0&&(h.presence_penalty=this.config.presencePenalty),this.config.frequencyPenalty!==void 0&&(h.frequency_penalty=this.config.frequencyPenalty);try{let c=await this.fetchWithRetry(`${this.getBaseUrl()}/v1/chat/completions`,{method:"POST",headers:this.getHeaders(),body:JSON.stringify(h)},e?.timeoutMs??this.config.timeoutMs??6e4,this.config.maxRetries??3),p=Date.now()-m;if(!c.ok){let f=await c.json().catch(()=>({error:{message:"Unknown error",type:"unknown",code:null}}));throw this.handleApiError(c.status,f,n)}let l=await c.json(),d={promptTokens:l.usage.prompt_tokens,completionTokens:l.usage.completion_tokens,totalTokens:l.usage.total_tokens},y=M.calculateCost(n,d);return C.recordTokenUsage(u,"openai-provider","llm","generate",{inputTokens:l.usage.prompt_tokens,outputTokens:l.usage.completion_tokens,totalTokens:l.usage.total_tokens,estimatedCostUsd:y.totalCost}),{content:l.choices[0]?.message?.content??"",model:l.model,provider:"openai",usage:d,cost:y,latencyMs:p,finishReason:this.mapFinishReason(l.choices[0]?.finish_reason),cached:!1,requestId:u}}catch(c){throw c instanceof Error&&"code"in c?c:a(c instanceof Error?c.message:"Request failed","NETWORK_ERROR",{provider:"openai",model:n,retryable:!0,cause:c})}}async embed(t,e){if(!this.getApiKey())throw a("OpenAI API key not configured","API_KEY_MISSING",{provider:"openai",retryable:!1});let s=e?.model??"text-embedding-3-small",n=Date.now();try{let o=await this.fetchWithTimeout(`${this.getBaseUrl()}/v1/embeddings`,{method:"POST",headers:this.getHeaders(),body:JSON.stringify({model:s,input:t})},e?.timeoutMs??this.config.timeoutMs??3e4),i=Date.now()-n;if(!o.ok){let m=await o.json().catch(()=>({error:{message:"Unknown error",type:"unknown",code:null}}));throw this.handleApiError(o.status,m,s)}let u=await o.json();return{embedding:u.data[0].embedding,model:u.model,provider:"openai",tokenCount:u.usage.total_tokens,latencyMs:i,cached:!1}}catch(o){throw o instanceof Error&&"code"in o?o:a(o instanceof Error?o.message:"Embedding request failed","NETWORK_ERROR",{provider:"openai",model:s,retryable:!0,cause:o})}}async complete(t,e){let r=await this.generate(t,{model:e?.model,temperature:e?.temperature??.2,maxTokens:e?.maxTokens??256,stopSequences:e?.stopSequences??[`
5
5
 
@@ -1,2 +1,2 @@
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.10.6");process.exit(0)}
2
- import{b as d,d as c}from"./chunk-DFBVWMX3.js";import{a as l,c as g}from"./chunk-O4MNYX4X.js";g();c();import{existsSync as y,readFileSync as p}from"node:fs";import{join as o,dirname as u}from"node:path";import{fileURLToPath as m}from"node:url";var i=class extends Error{constructor(t,n,r){super(t);this.code=n;this.cause=r;this.name="PatternLoaderError"}code;cause},s=class a{static instance=null;config;patterns;isLoading=!1;constructor(e={}){this.config={basePath:e.basePath??this.getDefaultBasePath(),throwOnMissing:e.throwOnMissing??!1,validatePatterns:e.validatePatterns??!0},this.patterns={index:null,booster:null,router:null,embedding:null,reasoning:null,loadedAt:null,errors:[]}}static getInstance(e){return a.instance||(a.instance=new a(e)),a.instance}static resetInstance(){a.instance=null}getDefaultBasePath(){try{let e=import.meta.url,t=m(e),n=u(t),r=o(n,"..","..","..");return o(r,"assets","patterns")}catch{return o(process.cwd(),"assets","patterns")}}async loadPatterns(){if(!this.isLoading){this.isLoading=!0,this.patterns.errors=[];try{this.patterns.index=this.loadJsonFile("index.json");let[e,t,n,r]=await Promise.all([Promise.resolve(this.loadJsonFile("adr-051-booster-patterns.json")),Promise.resolve(this.loadJsonFile("adr-051-router-patterns.json")),Promise.resolve(this.loadJsonFile("adr-051-embedding-patterns.json")),Promise.resolve(this.loadJsonFile("adr-051-reasoning-patterns.json"))]);this.patterns.booster=e,this.patterns.router=t,this.patterns.embedding=n,this.patterns.reasoning=r,this.patterns.loadedAt=new Date,this.config.validatePatterns&&this.validateLoadedPatterns()}finally{this.isLoading=!1}}}loadJsonFile(e){let t=o(this.config.basePath,e);try{if(!y(t)){let r=`Pattern file not found: ${t}`;if(this.patterns.errors.push(r),this.config.throwOnMissing)throw new i(r,"FILE_NOT_FOUND");return null}let n=p(t,"utf-8");return d(n)}catch(n){if(n instanceof i)throw n;let r=`Failed to load pattern file ${e}: ${l(n)}`;if(this.patterns.errors.push(r),this.config.throwOnMissing)throw new i(r,"PARSE_ERROR",n instanceof Error?n:void 0);return null}}validateLoadedPatterns(){this.patterns.booster&&(Array.isArray(this.patterns.booster.patterns)||this.patterns.errors.push("Booster patterns file missing patterns array")),this.patterns.router&&(Array.isArray(this.patterns.router.patterns)||this.patterns.errors.push("Router patterns file missing patterns array")),this.patterns.embedding&&(Array.isArray(this.patterns.embedding.patterns)||this.patterns.errors.push("Embedding patterns file missing patterns array")),this.patterns.reasoning&&(Array.isArray(this.patterns.reasoning.patterns)||this.patterns.errors.push("Reasoning patterns file missing patterns array"))}async ensureLoaded(){this.patterns.loadedAt||await this.loadPatterns()}async getIndex(){return await this.ensureLoaded(),this.patterns.index}async getBoosterPatterns(){return await this.ensureLoaded(),this.patterns.booster}async getRouterPatterns(){return await this.ensureLoaded(),this.patterns.router}async getEmbeddingPatterns(){return await this.ensureLoaded(),this.patterns.embedding}async getReasoningPatterns(){return await this.ensureLoaded(),this.patterns.reasoning}async getBoosterPatternByKey(e){let t=await this.getBoosterPatterns();return t?t.patterns.find(r=>r.key===e)??null:null}async getRouterPatternByKey(e){let t=await this.getRouterPatterns();return t?t.patterns.find(r=>r.key===e)??null:null}async getEmbeddingPatternByKey(e){let t=await this.getEmbeddingPatterns();return t?t.patterns.find(r=>r.key===e)??null:null}async getReasoningPatternByKey(e){let t=await this.getReasoningPatterns();return t?t.patterns.find(r=>r.key===e)??null:null}async getEligibleBoosterTransforms(){let e=await this.getBoosterPatternByKey("booster-transform-eligibility");return e?e.eligibility_criteria.simple_transforms:[]}async getTierHierarchy(){let e=await this.getRouterPatternByKey("router-5tier-complexity");return e?e.tier_hierarchy:null}async getQualityGateThresholds(){let e=await this.getReasoningPatternByKey("reasoning-pattern-quality-gates");return e?e.gate_thresholds:null}isLoaded(){return this.patterns.loadedAt!==null}getLoadedAt(){return this.patterns.loadedAt}getErrors(){return[...this.patterns.errors]}async getStatistics(){let e=await this.getIndex();return e?e.pattern_statistics:null}async reload(){this.patterns={index:null,booster:null,router:null,embedding:null,reasoning:null,loadedAt:null,errors:[]},await this.loadPatterns()}async getAllPatterns(){return await this.ensureLoaded(),{...this.patterns}}};function x(){return s.getInstance()}export{x as a};
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.10.7");process.exit(0)}
2
+ import{b as d,d as c}from"./chunk-QBVFONWU.js";import{a as l,c as g}from"./chunk-XWPUCPYW.js";g();c();import{existsSync as y,readFileSync as p}from"node:fs";import{join as o,dirname as u}from"node:path";import{fileURLToPath as m}from"node:url";var i=class extends Error{constructor(t,n,r){super(t);this.code=n;this.cause=r;this.name="PatternLoaderError"}code;cause},s=class a{static instance=null;config;patterns;isLoading=!1;constructor(e={}){this.config={basePath:e.basePath??this.getDefaultBasePath(),throwOnMissing:e.throwOnMissing??!1,validatePatterns:e.validatePatterns??!0},this.patterns={index:null,booster:null,router:null,embedding:null,reasoning:null,loadedAt:null,errors:[]}}static getInstance(e){return a.instance||(a.instance=new a(e)),a.instance}static resetInstance(){a.instance=null}getDefaultBasePath(){try{let e=import.meta.url,t=m(e),n=u(t),r=o(n,"..","..","..");return o(r,"assets","patterns")}catch{return o(process.cwd(),"assets","patterns")}}async loadPatterns(){if(!this.isLoading){this.isLoading=!0,this.patterns.errors=[];try{this.patterns.index=this.loadJsonFile("index.json");let[e,t,n,r]=await Promise.all([Promise.resolve(this.loadJsonFile("adr-051-booster-patterns.json")),Promise.resolve(this.loadJsonFile("adr-051-router-patterns.json")),Promise.resolve(this.loadJsonFile("adr-051-embedding-patterns.json")),Promise.resolve(this.loadJsonFile("adr-051-reasoning-patterns.json"))]);this.patterns.booster=e,this.patterns.router=t,this.patterns.embedding=n,this.patterns.reasoning=r,this.patterns.loadedAt=new Date,this.config.validatePatterns&&this.validateLoadedPatterns()}finally{this.isLoading=!1}}}loadJsonFile(e){let t=o(this.config.basePath,e);try{if(!y(t)){let r=`Pattern file not found: ${t}`;if(this.patterns.errors.push(r),this.config.throwOnMissing)throw new i(r,"FILE_NOT_FOUND");return null}let n=p(t,"utf-8");return d(n)}catch(n){if(n instanceof i)throw n;let r=`Failed to load pattern file ${e}: ${l(n)}`;if(this.patterns.errors.push(r),this.config.throwOnMissing)throw new i(r,"PARSE_ERROR",n instanceof Error?n:void 0);return null}}validateLoadedPatterns(){this.patterns.booster&&(Array.isArray(this.patterns.booster.patterns)||this.patterns.errors.push("Booster patterns file missing patterns array")),this.patterns.router&&(Array.isArray(this.patterns.router.patterns)||this.patterns.errors.push("Router patterns file missing patterns array")),this.patterns.embedding&&(Array.isArray(this.patterns.embedding.patterns)||this.patterns.errors.push("Embedding patterns file missing patterns array")),this.patterns.reasoning&&(Array.isArray(this.patterns.reasoning.patterns)||this.patterns.errors.push("Reasoning patterns file missing patterns array"))}async ensureLoaded(){this.patterns.loadedAt||await this.loadPatterns()}async getIndex(){return await this.ensureLoaded(),this.patterns.index}async getBoosterPatterns(){return await this.ensureLoaded(),this.patterns.booster}async getRouterPatterns(){return await this.ensureLoaded(),this.patterns.router}async getEmbeddingPatterns(){return await this.ensureLoaded(),this.patterns.embedding}async getReasoningPatterns(){return await this.ensureLoaded(),this.patterns.reasoning}async getBoosterPatternByKey(e){let t=await this.getBoosterPatterns();return t?t.patterns.find(r=>r.key===e)??null:null}async getRouterPatternByKey(e){let t=await this.getRouterPatterns();return t?t.patterns.find(r=>r.key===e)??null:null}async getEmbeddingPatternByKey(e){let t=await this.getEmbeddingPatterns();return t?t.patterns.find(r=>r.key===e)??null:null}async getReasoningPatternByKey(e){let t=await this.getReasoningPatterns();return t?t.patterns.find(r=>r.key===e)??null:null}async getEligibleBoosterTransforms(){let e=await this.getBoosterPatternByKey("booster-transform-eligibility");return e?e.eligibility_criteria.simple_transforms:[]}async getTierHierarchy(){let e=await this.getRouterPatternByKey("router-5tier-complexity");return e?e.tier_hierarchy:null}async getQualityGateThresholds(){let e=await this.getReasoningPatternByKey("reasoning-pattern-quality-gates");return e?e.gate_thresholds:null}isLoaded(){return this.patterns.loadedAt!==null}getLoadedAt(){return this.patterns.loadedAt}getErrors(){return[...this.patterns.errors]}async getStatistics(){let e=await this.getIndex();return e?e.pattern_statistics:null}async reload(){this.patterns={index:null,booster:null,router:null,embedding:null,reasoning:null,loadedAt:null,errors:[]},await this.loadPatterns()}async getAllPatterns(){return await this.ensureLoaded(),{...this.patterns}}};function x(){return s.getInstance()}export{x as a};
@@ -1,2 +1,2 @@
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.10.6");process.exit(0)}
2
- import{d as s}from"./chunk-DFBVWMX3.js";s();
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.10.7");process.exit(0)}
2
+ import{d as s}from"./chunk-QBVFONWU.js";s();
@@ -1,3 +1,3 @@
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.10.6");process.exit(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.10.7");process.exit(0)}
2
2
  var p={"||":1,"&&":2,"===":3,"!==":3,"==":3,"!=":3,"<":4,">":4,"<=":4,">=":4,"+":5,"-":5,"*":6,"/":6,"%":6},l=new Set(Object.keys(p)),w=new Set(["!","-","+"]);function h(r){let n=[],e=0;for(;e<r.length;){let t=r[e];if(/\s/.test(t)){e++;continue}if(/\d/.test(t)||t==="."&&/\d/.test(r[e+1])){let s="";for(;e<r.length&&/[\d.]/.test(r[e]);)s+=r[e++];n.push({type:"NUMBER",value:parseFloat(s),raw:s});continue}if(t==='"'||t==="'"){let s=t,u="";for(e++;e<r.length&&r[e]!==s;){if(r[e]==="\\"&&e+1<r.length){e++;let c=r[e];switch(c){case"n":u+=`
3
3
  `;break;case"t":u+=" ";break;case"r":u+="\r";break;default:u+=c}}else u+=r[e];e++}e++,n.push({type:"STRING",value:u,raw:`${s}${u}${s}`});continue}if(/[a-zA-Z_$]/.test(t)){let s="";for(;e<r.length&&/[a-zA-Z0-9_$]/.test(r[e]);)s+=r[e++];s==="true"?n.push({type:"BOOLEAN",value:!0,raw:s}):s==="false"?n.push({type:"BOOLEAN",value:!1,raw:s}):s==="null"?n.push({type:"NULL",value:null,raw:s}):s==="undefined"?n.push({type:"UNDEFINED",value:void 0,raw:s}):n.push({type:"IDENTIFIER",value:s,raw:s});continue}let a=r.slice(e,e+2),o=r.slice(e,e+3);if(o==="==="||o==="!=="){n.push({type:"OPERATOR",value:o,raw:o}),e+=3;continue}if(a==="=="||a==="!="||a==="<="||a===">="||a==="&&"||a==="||"){n.push({type:"OPERATOR",value:a,raw:a}),e+=2;continue}if(t==="("){n.push({type:"LPAREN",value:"(",raw:"("}),e++;continue}if(t===")"){n.push({type:"RPAREN",value:")",raw:")"}),e++;continue}if(t==="."){n.push({type:"DOT",value:".",raw:"."}),e++;continue}if("+-*/%<>!".includes(t)){n.push({type:"OPERATOR",value:t,raw:t}),e++;continue}throw new Error(`Unexpected character at position ${e}: ${t}`)}return n.push({type:"EOF",value:"",raw:""}),n}var i=class{tokens;pos=0;context;constructor(n,e){this.tokens=n,this.context=e}current(){return this.tokens[this.pos]}advance(){return this.tokens[this.pos++]}expect(n){let e=this.current();if(e.type!==n)throw new Error(`Expected ${n}, got ${e.type}`);return this.advance()}parse(){let n=this.parseExpression(0);if(this.current().type!=="EOF")throw new Error(`Unexpected token: ${this.current().raw}`);return n}parseExpression(n){let e=this.parseUnary();for(;;){let t=this.current();if(t.type!=="OPERATOR"||!l.has(t.value))break;let a=p[t.value];if(a<n)break;let o=this.advance().value,s=this.parseExpression(a+1);e=this.applyBinaryOperator(o,e,s)}return e}parseUnary(){let n=this.current();if(n.type==="OPERATOR"&&w.has(n.value)){let e=this.advance().value,t=this.parseUnary();return this.applyUnaryOperator(e,t)}return this.parsePrimary()}parsePrimary(){let n=this.current();switch(n.type){case"NUMBER":case"STRING":case"BOOLEAN":case"NULL":case"UNDEFINED":return this.advance(),n.value;case"IDENTIFIER":return this.parseIdentifier();case"LPAREN":{this.advance();let e=this.parseExpression(0);return this.expect("RPAREN"),e}default:throw new Error(`Unexpected token: ${n.raw}`)}}parseIdentifier(){let n=this.context,e=this.advance().value;for(typeof n=="object"&&n!==null&&(e in n)?n=n[e]:n=void 0;this.current().type==="DOT";){this.advance();let t=this.expect("IDENTIFIER").value;n!=null&&typeof n=="object"?n=n[t]:n=void 0}return n}applyBinaryOperator(n,e,t){switch(n){case"===":return e===t;case"!==":return e!==t;case"==":return e==t;case"!=":return e!=t;case"<":return e<t;case">":return e>t;case"<=":return e<=t;case">=":return e>=t;case"&&":return e&&t;case"||":return e||t;case"+":return e+t;case"-":return e-t;case"*":return e*t;case"/":return e/t;case"%":return e%t;default:throw new Error(`Unknown operator: ${n}`)}}applyUnaryOperator(n,e){switch(n){case"!":return!e;case"-":return-e;case"+":return+e;default:throw new Error(`Unknown unary operator: ${n}`)}}};function E(r,n={}){if(!r||typeof r!="string")throw new Error("Expression must be a non-empty string");let e=[/\beval\b/i,/\bFunction\b/,/\bconstructor\b/,/\b__proto__\b/,/\bprototype\b/,/\bimport\b/,/\brequire\b/,/\bprocess\b/,/\bglobal\b/,/\bwindow\b/,/\bdocument\b/,/\[\s*['"`]/,/\[.*\]/];for(let o of e)if(o.test(r))throw new Error(`Expression contains potentially dangerous pattern: ${r}`);let t=h(r.trim());return new i(t,n).parse()}function b(r,n={},e=!1){try{return!!E(r,n)}catch(t){return console.warn(`[SafeEvaluator] Failed to evaluate expression: ${r}`,t),e}}export{b as a};
@@ -1,5 +1,5 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.6");process.exit(0)}
2
- import{a as T}from"./chunk-434VUSZP.js";import{c as S}from"./chunk-F72A356B.js";import{b as C,d as P}from"./chunk-DFBVWMX3.js";import{a as b,c as $}from"./chunk-O4MNYX4X.js";import{a as w,d as A}from"./chunk-TUFU3BAK.js";$();A();import{randomUUID as M}from"crypto";var V={topology:"hierarchical",maxConcurrentSkills:10,maxConcurrentModels:3,timeout:3e5,continueOnFailure:!0,retry:{maxRetries:2,retryDelayMs:1e3}},R=class{config;learner;skillValidator=null;workers=new Map;taskQueue=[];isRunning=!1;constructor(e,t){this.config={...V,...e},this.learner=t}setSkillValidator(e){this.skillValidator=e}async validateSkillsParallel(e,t,i){let s=Date.now(),a=i?.trustTier??3,n=i?.validationLevel??"eval",c=this.determineTopology(e.length,t.length),r=this.createValidationTasks(e,t,a,n),o=await this.executeTasksParallel(r,c),l=new Map;for(let u of o){let p=l.get(u.skill)||[];p.push(u),l.set(u.skill,p)}return await this.recordOutcomesToLearner(o,a,n),l}async validateSkillCrossModel(e,t,i){return(await this.validateSkillsParallel([e],t,i)).get(e)||[]}getSummary(e){let t=[],i=new Map,s=new Map;for(let[c,r]of e){i.set(c,r);for(let o of r){t.push(o);let l=s.get(o.model)||[];l.push(o),s.set(o.model,l)}}let a=t.filter(c=>c.errors.length===0&&c.evalPassRate>=.9).length,n=t.reduce((c,r)=>c+r.durationMs,0);return{totalSkills:i.size,totalModels:s.size,successCount:a,failureCount:t.length-a,overallPassRate:t.length>0?a/t.length:0,totalDurationMs:n,avgDurationMs:t.length>0?n/t.length:0,topology:this.config.topology,bySkill:i,byModel:s,results:t}}determineTopology(e,t){if(this.config.topology){let i=e*t;return i>20&&this.config.topology==="mesh"&&console.warn(`[SwarmSkillValidator] Large workload (${i} tasks) may be more efficient with hierarchical topology`),this.config.topology}return e>5||e>t*2?"hierarchical":t>5&&e<=3?"mesh":"hierarchical"}createValidationTasks(e,t,i,s){let a=[];for(let n of e)for(let c of t)a.push({id:`${n}-${c}-${Date.now()}-${M().slice(0,8)}`,skill:n,model:c,trustTier:i,validationLevel:s,timeout:this.config.timeout,retryCount:0});return a}async executeTasksParallel(e,t){this.isRunning=!0,this.taskQueue=[...e];let i=[],s=t==="hierarchical"?this.config.maxConcurrentSkills:Math.min(this.config.maxConcurrentSkills*this.config.maxConcurrentModels,e.length),a=[];for(let n=0;n<Math.min(s,e.length);n++){let c=`worker-${n}`;this.workers.set(c,{id:c,task:null,status:"idle"}),a.push(this.runWorker(c,i))}return await Promise.all(a),this.isRunning=!1,this.workers.clear(),i}async runWorker(e,t){let i=this.workers.get(e);if(i){for(;this.taskQueue.length>0&&this.isRunning;){let s=this.taskQueue.shift();if(!s)break;i.task=s,i.status="running",i.startTime=Date.now();try{let a=await this.executeValidationTask(s);t.push(a),i.result=a,i.status="completed"}catch(a){let n=this.createErrorResult(s,a);this.config.retry&&s.retryCount<this.config.retry.maxRetries&&this.config.continueOnFailure?(s.retryCount++,this.taskQueue.push(s),await this.delay(this.config.retry.retryDelayMs)):(t.push(n),i.result=n,i.status="failed")}}i.task=null,i.status="idle"}}async executeValidationTask(e){let t=Date.now();if(!this.skillValidator)return this.createSimulatedResult(e,t);let i=new Promise((n,c)=>{setTimeout(()=>c(new Error(`Validation timeout after ${e.timeout}ms`)),e.timeout)}),s=await Promise.race([this.skillValidator(e.skill,e.model,{trustTier:e.trustTier,validationLevel:e.validationLevel,timeout:e.timeout}),i]),a=Date.now()-t;return this.outcomeToResult(s,e,a)}outcomeToResult(e,t,i){let s=e.testCaseResults.filter(c=>c.passed).length,a=e.testCaseResults.length,n=a>0?s/a:e.score;return{skill:t.skill,model:t.model,schemaValid:e.validationLevel!=="schema"||e.passed,validatorPassed:e.validationLevel!=="validator"||e.passed,evalPassRate:n,durationMs:i,errors:e.passed?[]:["Validation failed"],trustTier:t.trustTier,validationLevel:t.validationLevel,retryCount:t.retryCount,timestamp:new Date}}createSimulatedResult(e,t){let i=Date.now()-t+w()*100,s=.85+w()*.15;return{skill:e.skill,model:e.model,schemaValid:!0,validatorPassed:s>.8,evalPassRate:s,durationMs:i,errors:s>.8?[]:["Simulated validation failure"],trustTier:e.trustTier,validationLevel:e.validationLevel,retryCount:e.retryCount,timestamp:new Date}}createErrorResult(e,t){let i=b(t);return{skill:e.skill,model:e.model,schemaValid:!1,validatorPassed:!1,evalPassRate:0,durationMs:0,errors:[i],trustTier:e.trustTier,validationLevel:e.validationLevel,retryCount:e.retryCount,timestamp:new Date}}async recordOutcomesToLearner(e,t,i){for(let s of e){let a={skillName:s.skill,trustTier:s.trustTier||t,validationLevel:s.validationLevel||i,model:s.model,passed:s.errors.length===0&&s.evalPassRate>=.9,score:s.evalPassRate,testCaseResults:this.createTestCaseResults(s),timestamp:s.timestamp,runId:`swarm-${Date.now()}`,metadata:{duration:s.durationMs,retryCount:s.retryCount}};await this.learner.recordValidationOutcome(a)}}createTestCaseResults(e){return[{testId:`${e.skill}-${e.model}-aggregate`,passed:e.errors.length===0,expectedPatterns:["valid-output"],actualPatterns:e.errors.length===0?["valid-output"]:[],reasoningQuality:e.evalPassRate,executionTimeMs:e.durationMs,category:"swarm-validation",priority:"high",error:e.errors.length>0?e.errors.join("; "):void 0}]}delay(e){return new Promise(t=>setTimeout(t,e))}getConfig(){return{...this.config}}isValidationRunning(){return this.isRunning}getWorkerStatus(){return Array.from(this.workers.values())}cancel(){this.isRunning=!1,this.taskQueue=[]}};function D(y,e){return new R(y,e)}var F=["security-testing","accessibility-testing","api-testing","performance-testing","visual-regression-testing","mutation-testing","contract-testing","chaos-testing","compliance-testing","penetration-testing"],I=["claude-sonnet","claude-haiku","claude-opus"];P();import{readFileSync as E,writeFileSync as L,existsSync as N}from"fs";var O={varianceThreshold:.04,regressionThreshold:.1,minSamples:3,autoUpdateManifest:!1},k=class{constructor(e,t,i={}){this.learner=e;this.manifestPath=t;this.config={...O,...i}}learner;manifestPath;config;async aggregateResults(e){let t=`agg-${Date.now()}`,i=new Date,s=this.buildSkillResultsMap(e),a=this.calculateSummary(s,e),n=await this.detectCrossModelAnomalies(e),c=await this.detectRegressions(e,this.config.regressionThreshold),r=this.generateRecommendations(s,n,c),o={timestamp:i,runId:t,summary:a,skillResults:s,crossModelAnalysis:n,regressions:c,recommendations:r,metadata:{version:"1.0.0",environment:e[0]?.metadata?.environment,generatedBy:"ValidationResultAggregator",inputs:{runIds:e.map(l=>l.runId),models:[...new Set(e.map(l=>l.model))]}}};return this.config.autoUpdateManifest&&await this.updateManifest(o),o}buildSkillResultsMap(e){let t=new Map;for(let i of e)for(let s of i.outcomes){let a=s.skillName;t.has(a)||t.set(a,{skill:a,trustTier:s.trustTier,passRateByModel:new Map,avgPassRate:0,schemaValid:!0,validatorPassed:!0,evalPassed:!0,issues:[],executionTimeMs:0,testCount:0,passedTests:0,failedTests:0});let n=t.get(a),c=s.testCaseResults.filter(r=>r.passed).length/(s.testCaseResults.length||1);n.passRateByModel.set(i.model,c),n.testCount+=s.testCaseResults.length,n.passedTests+=s.testCaseResults.filter(r=>r.passed).length,n.failedTests+=s.testCaseResults.filter(r=>!r.passed).length,n.executionTimeMs+=s.metadata?.duration||0,s.validationLevel==="schema"&&!s.passed&&(n.schemaValid=!1),s.validationLevel==="validator"&&!s.passed&&(n.validatorPassed=!1),s.validationLevel==="eval"&&!s.passed&&(n.evalPassed=!1);for(let r of s.testCaseResults)!r.passed&&r.error&&n.issues.push({skill:a,model:i.model,severity:r.priority==="critical"?"critical":r.priority==="high"?"high":r.priority==="medium"?"medium":"low",type:this.categorizeIssueType(s.validationLevel,r.error),message:r.error,testId:r.testId})}for(let i of t.values()){let s=Array.from(i.passRateByModel.values());i.avgPassRate=s.length>0?s.reduce((a,n)=>a+n,0)/s.length:0}return t}categorizeIssueType(e,t){return t.toLowerCase().includes("timeout")?"timeout":e==="schema"?"schema_failure":e==="validator"?"validator_failure":e==="eval"?"eval_failure":"error"}calculateSummary(e,t){let i=Array.from(e.values()),s=i.filter(n=>n.avgPassRate>=.9).length,a=i.length>0?i.reduce((n,c)=>n+c.avgPassRate,0)/i.length:0;return{totalSkills:i.length,passedSkills:s,failedSkills:i.length-s,avgPassRate:a,totalDurationMs:t.reduce((n,c)=>n+c.durationMs,0),totalTests:i.reduce((n,c)=>n+c.testCount,0),passedTests:i.reduce((n,c)=>n+c.passedTests,0),failedTests:i.reduce((n,c)=>n+c.failedTests,0),modelsUsed:[...new Set(t.map(n=>n.model))]}}async detectCrossModelAnomalies(e){let t=new Map,i=new Map,s=new Map;for(let d of e){t.has(d.model)||(t.set(d.model,[]),i.set(d.model,{totalTests:0,passedTests:0,skillCount:0}));for(let g of d.outcomes){let h=g.testCaseResults.filter(m=>m.passed).length/(g.testCaseResults.length||1);t.get(d.model).push(h);let f=i.get(d.model);f.totalTests+=g.testCaseResults.length,f.passedTests+=g.testCaseResults.filter(m=>m.passed).length,f.skillCount++,s.has(g.skillName)||s.set(g.skillName,{passRates:[],models:[]}),s.get(g.skillName).passRates.push(h),s.get(g.skillName).models.push(d.model)}}let a=[];for(let d of t.values())a.push(...d);let n=a.length>0?a.reduce((d,g)=>d+g,0)/a.length:0,c=a.length>1?a.reduce((d,g)=>d+Math.pow(g-n,2),0)/a.length:0,r=Math.sqrt(c),o=[],l=new Map;for(let[d,g]of t.entries()){let h=g.reduce((v,x)=>v+x,0)/g.length,f=h-n,m=i.get(d);l.set(d,{avgPassRate:h,skillCount:m.skillCount,totalTests:m.totalTests}),Math.abs(f)>this.config.varianceThreshold*2&&o.push({model:d,type:f<0?"low_performance":"high_variance",description:`Model ${d} has ${(f*100).toFixed(1)}% difference from average`,passRate:h,avgPassRate:n,deviation:Math.abs(f)})}let u=[],p=[];for(let[d,g]of s.entries()){if(g.passRates.length<2)continue;let h=g.passRates.reduce((m,v)=>m+v,0)/g.passRates.length;g.passRates.reduce((m,v)=>m+Math.pow(v-h,2),0)/g.passRates.length<this.config.varianceThreshold?u.push(d):p.push(d)}return{variance:c,stdDeviation:r,anomalies:o,consistentSkills:u,inconsistentSkills:p,modelPerformance:l}}async detectRegressions(e,t){let i=[],s=new Set;for(let a of e)for(let n of a.outcomes){let c=`${n.skillName}-${a.model}`;if(s.has(c))continue;s.add(c);let r=await this.learner.getValidationTrends(n.skillName);if(!r)continue;let o=n.testCaseResults.filter(p=>p.passed).length/(n.testCaseResults.length||1),l=r.recentPassRate,u=l-o;u>=t&&i.push({skill:n.skillName,model:a.model,previousPassRate:l,currentPassRate:o,regressionAmount:u,trend:r.overall,possibleCauses:this.analyzePossibleCauses(n,u),severity:this.categorizeRegressionSeverity(u)})}return i.sort((a,n)=>{let c={critical:0,high:1,medium:2,low:3},r=c[a.severity]-c[n.severity];return r!==0?r:n.regressionAmount-a.regressionAmount})}analyzePossibleCauses(e,t){let i=[],s=e.testCaseResults.filter(c=>!c.passed);if(s.length>0){let c=[...new Set(s.map(r=>r.category).filter(Boolean))];c.length>0&&i.push(`Failures in categories: ${c.join(", ")}`)}let a=s.filter(c=>c.priority==="critical");a.length>0&&i.push(`${a.length} critical test(s) failing`);let n=e.testCaseResults.reduce((c,r)=>c+r.reasoningQuality,0)/(e.testCaseResults.length||1);return n<.7&&i.push(`Low reasoning quality score: ${(n*100).toFixed(1)}%`),t>.3&&i.push("Possible model behavior change or prompt drift"),i.length===0&&i.push("No specific cause identified - review test details"),i}categorizeRegressionSeverity(e){return e>=.5?"critical":e>=.3?"high":e>=.15?"medium":"low"}generateRecommendations(e,t,i){let s=[];if(t.inconsistentSkills.length>0&&s.push(`Review ${t.inconsistentSkills.length} skills with inconsistent cross-model behavior: `+t.inconsistentSkills.slice(0,3).join(", ")+(t.inconsistentSkills.length>3?` and ${t.inconsistentSkills.length-3} more`:"")),t.anomalies.some(r=>r.type==="low_performance")){let r=t.anomalies.filter(o=>o.type==="low_performance").map(o=>o.model);s.push(`Investigate low performance on model(s): ${r.join(", ")}`)}let a=i.filter(r=>r.severity==="critical");a.length>0&&s.push(`URGENT: ${a.length} critical regression(s) detected - immediate review required`);let n=Array.from(e.values()).filter(r=>r.avgPassRate<.9);if(n.length>0){let r=n.filter(l=>!l.schemaValid),o=n.filter(l=>!l.validatorPassed);r.length>0&&s.push(`Fix schema validation for: ${r.map(l=>l.skill).slice(0,3).join(", ")}`),o.length>0&&s.push(`Review validator scripts for: ${o.map(l=>l.skill).slice(0,3).join(", ")}`)}return Array.from(e.values()).reduce((r,o)=>r+o.avgPassRate,0)/e.size<.8&&s.push("Overall pass rate below 80% - consider reviewing skill definitions and test expectations"),s.length===0&&s.push("All validations passing - no immediate action required"),s}async updateManifest(e){if(!N(this.manifestPath))throw new Error(`Manifest file not found: ${this.manifestPath}`);let t=C(E(this.manifestPath,"utf-8"));for(let[s,a]of e.skillResults.entries())if(t.skills&&t.skills[s]){let n=t.skills[s];n.validation||(n.validation={}),n.validation.passRate=a.avgPassRate,n.validation.lastValidated=e.timestamp.toISOString(),n.validation.status=a.avgPassRate>=.9?"passing":"failing",n.validation.passRateByModel=Object.fromEntries(a.passRateByModel)}let i=Array.from(e.skillResults.values());t.validationStatus={passing:i.filter(s=>s.avgPassRate>=.9).length,failing:i.filter(s=>s.avgPassRate<.9).length,unknown:0,skipped:t.summary?.tier0||0},t.generatedAt=new Date().toISOString(),t.lastValidationRun={runId:e.runId,timestamp:e.timestamp.toISOString(),avgPassRate:e.summary.avgPassRate,modelsUsed:e.summary.modelsUsed},L(this.manifestPath,JSON.stringify(t,null,2))}generateMarkdownReport(e){let{summary:t,crossModelAnalysis:i,regressions:s,recommendations:a,skillResults:n}=e,c=(t.avgPassRate>=.9||t.avgPassRate>=.7,"`"),r=[];if(r.push(`# Validation Report
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.10.7");process.exit(0)}
2
+ import{a as T}from"./chunk-DF7V6X3N.js";import{c as S}from"./chunk-222ZQTL5.js";import{b as C,d as P}from"./chunk-QBVFONWU.js";import{a as b,c as $}from"./chunk-XWPUCPYW.js";import{a as w,d as A}from"./chunk-DYNO72WD.js";$();A();import{randomUUID as M}from"crypto";var V={topology:"hierarchical",maxConcurrentSkills:10,maxConcurrentModels:3,timeout:3e5,continueOnFailure:!0,retry:{maxRetries:2,retryDelayMs:1e3}},R=class{config;learner;skillValidator=null;workers=new Map;taskQueue=[];isRunning=!1;constructor(e,t){this.config={...V,...e},this.learner=t}setSkillValidator(e){this.skillValidator=e}async validateSkillsParallel(e,t,i){let s=Date.now(),a=i?.trustTier??3,n=i?.validationLevel??"eval",c=this.determineTopology(e.length,t.length),r=this.createValidationTasks(e,t,a,n),o=await this.executeTasksParallel(r,c),l=new Map;for(let u of o){let p=l.get(u.skill)||[];p.push(u),l.set(u.skill,p)}return await this.recordOutcomesToLearner(o,a,n),l}async validateSkillCrossModel(e,t,i){return(await this.validateSkillsParallel([e],t,i)).get(e)||[]}getSummary(e){let t=[],i=new Map,s=new Map;for(let[c,r]of e){i.set(c,r);for(let o of r){t.push(o);let l=s.get(o.model)||[];l.push(o),s.set(o.model,l)}}let a=t.filter(c=>c.errors.length===0&&c.evalPassRate>=.9).length,n=t.reduce((c,r)=>c+r.durationMs,0);return{totalSkills:i.size,totalModels:s.size,successCount:a,failureCount:t.length-a,overallPassRate:t.length>0?a/t.length:0,totalDurationMs:n,avgDurationMs:t.length>0?n/t.length:0,topology:this.config.topology,bySkill:i,byModel:s,results:t}}determineTopology(e,t){if(this.config.topology){let i=e*t;return i>20&&this.config.topology==="mesh"&&console.warn(`[SwarmSkillValidator] Large workload (${i} tasks) may be more efficient with hierarchical topology`),this.config.topology}return e>5||e>t*2?"hierarchical":t>5&&e<=3?"mesh":"hierarchical"}createValidationTasks(e,t,i,s){let a=[];for(let n of e)for(let c of t)a.push({id:`${n}-${c}-${Date.now()}-${M().slice(0,8)}`,skill:n,model:c,trustTier:i,validationLevel:s,timeout:this.config.timeout,retryCount:0});return a}async executeTasksParallel(e,t){this.isRunning=!0,this.taskQueue=[...e];let i=[],s=t==="hierarchical"?this.config.maxConcurrentSkills:Math.min(this.config.maxConcurrentSkills*this.config.maxConcurrentModels,e.length),a=[];for(let n=0;n<Math.min(s,e.length);n++){let c=`worker-${n}`;this.workers.set(c,{id:c,task:null,status:"idle"}),a.push(this.runWorker(c,i))}return await Promise.all(a),this.isRunning=!1,this.workers.clear(),i}async runWorker(e,t){let i=this.workers.get(e);if(i){for(;this.taskQueue.length>0&&this.isRunning;){let s=this.taskQueue.shift();if(!s)break;i.task=s,i.status="running",i.startTime=Date.now();try{let a=await this.executeValidationTask(s);t.push(a),i.result=a,i.status="completed"}catch(a){let n=this.createErrorResult(s,a);this.config.retry&&s.retryCount<this.config.retry.maxRetries&&this.config.continueOnFailure?(s.retryCount++,this.taskQueue.push(s),await this.delay(this.config.retry.retryDelayMs)):(t.push(n),i.result=n,i.status="failed")}}i.task=null,i.status="idle"}}async executeValidationTask(e){let t=Date.now();if(!this.skillValidator)return this.createSimulatedResult(e,t);let i=new Promise((n,c)=>{setTimeout(()=>c(new Error(`Validation timeout after ${e.timeout}ms`)),e.timeout)}),s=await Promise.race([this.skillValidator(e.skill,e.model,{trustTier:e.trustTier,validationLevel:e.validationLevel,timeout:e.timeout}),i]),a=Date.now()-t;return this.outcomeToResult(s,e,a)}outcomeToResult(e,t,i){let s=e.testCaseResults.filter(c=>c.passed).length,a=e.testCaseResults.length,n=a>0?s/a:e.score;return{skill:t.skill,model:t.model,schemaValid:e.validationLevel!=="schema"||e.passed,validatorPassed:e.validationLevel!=="validator"||e.passed,evalPassRate:n,durationMs:i,errors:e.passed?[]:["Validation failed"],trustTier:t.trustTier,validationLevel:t.validationLevel,retryCount:t.retryCount,timestamp:new Date}}createSimulatedResult(e,t){let i=Date.now()-t+w()*100,s=.85+w()*.15;return{skill:e.skill,model:e.model,schemaValid:!0,validatorPassed:s>.8,evalPassRate:s,durationMs:i,errors:s>.8?[]:["Simulated validation failure"],trustTier:e.trustTier,validationLevel:e.validationLevel,retryCount:e.retryCount,timestamp:new Date}}createErrorResult(e,t){let i=b(t);return{skill:e.skill,model:e.model,schemaValid:!1,validatorPassed:!1,evalPassRate:0,durationMs:0,errors:[i],trustTier:e.trustTier,validationLevel:e.validationLevel,retryCount:e.retryCount,timestamp:new Date}}async recordOutcomesToLearner(e,t,i){for(let s of e){let a={skillName:s.skill,trustTier:s.trustTier||t,validationLevel:s.validationLevel||i,model:s.model,passed:s.errors.length===0&&s.evalPassRate>=.9,score:s.evalPassRate,testCaseResults:this.createTestCaseResults(s),timestamp:s.timestamp,runId:`swarm-${Date.now()}`,metadata:{duration:s.durationMs,retryCount:s.retryCount}};await this.learner.recordValidationOutcome(a)}}createTestCaseResults(e){return[{testId:`${e.skill}-${e.model}-aggregate`,passed:e.errors.length===0,expectedPatterns:["valid-output"],actualPatterns:e.errors.length===0?["valid-output"]:[],reasoningQuality:e.evalPassRate,executionTimeMs:e.durationMs,category:"swarm-validation",priority:"high",error:e.errors.length>0?e.errors.join("; "):void 0}]}delay(e){return new Promise(t=>setTimeout(t,e))}getConfig(){return{...this.config}}isValidationRunning(){return this.isRunning}getWorkerStatus(){return Array.from(this.workers.values())}cancel(){this.isRunning=!1,this.taskQueue=[]}};function D(y,e){return new R(y,e)}var F=["security-testing","accessibility-testing","api-testing","performance-testing","visual-regression-testing","mutation-testing","contract-testing","chaos-testing","compliance-testing","penetration-testing"],I=["claude-sonnet","claude-haiku","claude-opus"];P();import{readFileSync as E,writeFileSync as L,existsSync as N}from"fs";var O={varianceThreshold:.04,regressionThreshold:.1,minSamples:3,autoUpdateManifest:!1},k=class{constructor(e,t,i={}){this.learner=e;this.manifestPath=t;this.config={...O,...i}}learner;manifestPath;config;async aggregateResults(e){let t=`agg-${Date.now()}`,i=new Date,s=this.buildSkillResultsMap(e),a=this.calculateSummary(s,e),n=await this.detectCrossModelAnomalies(e),c=await this.detectRegressions(e,this.config.regressionThreshold),r=this.generateRecommendations(s,n,c),o={timestamp:i,runId:t,summary:a,skillResults:s,crossModelAnalysis:n,regressions:c,recommendations:r,metadata:{version:"1.0.0",environment:e[0]?.metadata?.environment,generatedBy:"ValidationResultAggregator",inputs:{runIds:e.map(l=>l.runId),models:[...new Set(e.map(l=>l.model))]}}};return this.config.autoUpdateManifest&&await this.updateManifest(o),o}buildSkillResultsMap(e){let t=new Map;for(let i of e)for(let s of i.outcomes){let a=s.skillName;t.has(a)||t.set(a,{skill:a,trustTier:s.trustTier,passRateByModel:new Map,avgPassRate:0,schemaValid:!0,validatorPassed:!0,evalPassed:!0,issues:[],executionTimeMs:0,testCount:0,passedTests:0,failedTests:0});let n=t.get(a),c=s.testCaseResults.filter(r=>r.passed).length/(s.testCaseResults.length||1);n.passRateByModel.set(i.model,c),n.testCount+=s.testCaseResults.length,n.passedTests+=s.testCaseResults.filter(r=>r.passed).length,n.failedTests+=s.testCaseResults.filter(r=>!r.passed).length,n.executionTimeMs+=s.metadata?.duration||0,s.validationLevel==="schema"&&!s.passed&&(n.schemaValid=!1),s.validationLevel==="validator"&&!s.passed&&(n.validatorPassed=!1),s.validationLevel==="eval"&&!s.passed&&(n.evalPassed=!1);for(let r of s.testCaseResults)!r.passed&&r.error&&n.issues.push({skill:a,model:i.model,severity:r.priority==="critical"?"critical":r.priority==="high"?"high":r.priority==="medium"?"medium":"low",type:this.categorizeIssueType(s.validationLevel,r.error),message:r.error,testId:r.testId})}for(let i of t.values()){let s=Array.from(i.passRateByModel.values());i.avgPassRate=s.length>0?s.reduce((a,n)=>a+n,0)/s.length:0}return t}categorizeIssueType(e,t){return t.toLowerCase().includes("timeout")?"timeout":e==="schema"?"schema_failure":e==="validator"?"validator_failure":e==="eval"?"eval_failure":"error"}calculateSummary(e,t){let i=Array.from(e.values()),s=i.filter(n=>n.avgPassRate>=.9).length,a=i.length>0?i.reduce((n,c)=>n+c.avgPassRate,0)/i.length:0;return{totalSkills:i.length,passedSkills:s,failedSkills:i.length-s,avgPassRate:a,totalDurationMs:t.reduce((n,c)=>n+c.durationMs,0),totalTests:i.reduce((n,c)=>n+c.testCount,0),passedTests:i.reduce((n,c)=>n+c.passedTests,0),failedTests:i.reduce((n,c)=>n+c.failedTests,0),modelsUsed:[...new Set(t.map(n=>n.model))]}}async detectCrossModelAnomalies(e){let t=new Map,i=new Map,s=new Map;for(let d of e){t.has(d.model)||(t.set(d.model,[]),i.set(d.model,{totalTests:0,passedTests:0,skillCount:0}));for(let g of d.outcomes){let h=g.testCaseResults.filter(m=>m.passed).length/(g.testCaseResults.length||1);t.get(d.model).push(h);let f=i.get(d.model);f.totalTests+=g.testCaseResults.length,f.passedTests+=g.testCaseResults.filter(m=>m.passed).length,f.skillCount++,s.has(g.skillName)||s.set(g.skillName,{passRates:[],models:[]}),s.get(g.skillName).passRates.push(h),s.get(g.skillName).models.push(d.model)}}let a=[];for(let d of t.values())a.push(...d);let n=a.length>0?a.reduce((d,g)=>d+g,0)/a.length:0,c=a.length>1?a.reduce((d,g)=>d+Math.pow(g-n,2),0)/a.length:0,r=Math.sqrt(c),o=[],l=new Map;for(let[d,g]of t.entries()){let h=g.reduce((v,x)=>v+x,0)/g.length,f=h-n,m=i.get(d);l.set(d,{avgPassRate:h,skillCount:m.skillCount,totalTests:m.totalTests}),Math.abs(f)>this.config.varianceThreshold*2&&o.push({model:d,type:f<0?"low_performance":"high_variance",description:`Model ${d} has ${(f*100).toFixed(1)}% difference from average`,passRate:h,avgPassRate:n,deviation:Math.abs(f)})}let u=[],p=[];for(let[d,g]of s.entries()){if(g.passRates.length<2)continue;let h=g.passRates.reduce((m,v)=>m+v,0)/g.passRates.length;g.passRates.reduce((m,v)=>m+Math.pow(v-h,2),0)/g.passRates.length<this.config.varianceThreshold?u.push(d):p.push(d)}return{variance:c,stdDeviation:r,anomalies:o,consistentSkills:u,inconsistentSkills:p,modelPerformance:l}}async detectRegressions(e,t){let i=[],s=new Set;for(let a of e)for(let n of a.outcomes){let c=`${n.skillName}-${a.model}`;if(s.has(c))continue;s.add(c);let r=await this.learner.getValidationTrends(n.skillName);if(!r)continue;let o=n.testCaseResults.filter(p=>p.passed).length/(n.testCaseResults.length||1),l=r.recentPassRate,u=l-o;u>=t&&i.push({skill:n.skillName,model:a.model,previousPassRate:l,currentPassRate:o,regressionAmount:u,trend:r.overall,possibleCauses:this.analyzePossibleCauses(n,u),severity:this.categorizeRegressionSeverity(u)})}return i.sort((a,n)=>{let c={critical:0,high:1,medium:2,low:3},r=c[a.severity]-c[n.severity];return r!==0?r:n.regressionAmount-a.regressionAmount})}analyzePossibleCauses(e,t){let i=[],s=e.testCaseResults.filter(c=>!c.passed);if(s.length>0){let c=[...new Set(s.map(r=>r.category).filter(Boolean))];c.length>0&&i.push(`Failures in categories: ${c.join(", ")}`)}let a=s.filter(c=>c.priority==="critical");a.length>0&&i.push(`${a.length} critical test(s) failing`);let n=e.testCaseResults.reduce((c,r)=>c+r.reasoningQuality,0)/(e.testCaseResults.length||1);return n<.7&&i.push(`Low reasoning quality score: ${(n*100).toFixed(1)}%`),t>.3&&i.push("Possible model behavior change or prompt drift"),i.length===0&&i.push("No specific cause identified - review test details"),i}categorizeRegressionSeverity(e){return e>=.5?"critical":e>=.3?"high":e>=.15?"medium":"low"}generateRecommendations(e,t,i){let s=[];if(t.inconsistentSkills.length>0&&s.push(`Review ${t.inconsistentSkills.length} skills with inconsistent cross-model behavior: `+t.inconsistentSkills.slice(0,3).join(", ")+(t.inconsistentSkills.length>3?` and ${t.inconsistentSkills.length-3} more`:"")),t.anomalies.some(r=>r.type==="low_performance")){let r=t.anomalies.filter(o=>o.type==="low_performance").map(o=>o.model);s.push(`Investigate low performance on model(s): ${r.join(", ")}`)}let a=i.filter(r=>r.severity==="critical");a.length>0&&s.push(`URGENT: ${a.length} critical regression(s) detected - immediate review required`);let n=Array.from(e.values()).filter(r=>r.avgPassRate<.9);if(n.length>0){let r=n.filter(l=>!l.schemaValid),o=n.filter(l=>!l.validatorPassed);r.length>0&&s.push(`Fix schema validation for: ${r.map(l=>l.skill).slice(0,3).join(", ")}`),o.length>0&&s.push(`Review validator scripts for: ${o.map(l=>l.skill).slice(0,3).join(", ")}`)}return Array.from(e.values()).reduce((r,o)=>r+o.avgPassRate,0)/e.size<.8&&s.push("Overall pass rate below 80% - consider reviewing skill definitions and test expectations"),s.length===0&&s.push("All validations passing - no immediate action required"),s}async updateManifest(e){if(!N(this.manifestPath))throw new Error(`Manifest file not found: ${this.manifestPath}`);let t=C(E(this.manifestPath,"utf-8"));for(let[s,a]of e.skillResults.entries())if(t.skills&&t.skills[s]){let n=t.skills[s];n.validation||(n.validation={}),n.validation.passRate=a.avgPassRate,n.validation.lastValidated=e.timestamp.toISOString(),n.validation.status=a.avgPassRate>=.9?"passing":"failing",n.validation.passRateByModel=Object.fromEntries(a.passRateByModel)}let i=Array.from(e.skillResults.values());t.validationStatus={passing:i.filter(s=>s.avgPassRate>=.9).length,failing:i.filter(s=>s.avgPassRate<.9).length,unknown:0,skipped:t.summary?.tier0||0},t.generatedAt=new Date().toISOString(),t.lastValidationRun={runId:e.runId,timestamp:e.timestamp.toISOString(),avgPassRate:e.summary.avgPassRate,modelsUsed:e.summary.modelsUsed},L(this.manifestPath,JSON.stringify(t,null,2))}generateMarkdownReport(e){let{summary:t,crossModelAnalysis:i,regressions:s,recommendations:a,skillResults:n}=e,c=(t.avgPassRate>=.9||t.avgPassRate>=.7,"`"),r=[];if(r.push(`# Validation Report
3
3
 
4
4
  > ${c} Generated: ${e.timestamp.toISOString()}
5
5
  > Run ID: ${e.runId}