agentic-qe 3.14.2 → 3.14.4

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 (760) hide show
  1. package/.claude/agents/v3/qe-coverage-specialist.md +1 -1
  2. package/.claude/agents/v3/qe-fleet-commander.md +1 -1
  3. package/.claude/agents/v3/qe-pentest-validator.md +1 -1
  4. package/.claude/agents/v3/qe-queen-coordinator.md +1 -1
  5. package/.claude/agents/v3/qe-risk-assessor.md +1 -1
  6. package/.claude/agents/v3/qe-root-cause-analyzer.md +1 -1
  7. package/.claude/agents/v3/qe-security-auditor.md +1 -1
  8. package/.claude/agents/v3/qe-test-architect.md +1 -1
  9. package/.claude/commands/aqe-costs.md +10 -10
  10. package/.claude/helpers/advisor-call.cjs +3 -3
  11. package/.claude/helpers/v3/advisor-call.cjs +3 -3
  12. package/.claude/skills/.validation/examples/chaos-engineering-output.example.json +1 -1
  13. package/.claude/skills/.validation/examples/performance-testing-output.example.json +1 -1
  14. package/.claude/skills/.validation/examples/security-testing-output.example.json +1 -1
  15. package/.claude/skills/.validation/examples/testability-scoring-output.example.json +1 -1
  16. package/.claude/skills/.validation/schemas/skill-eval.schema.json +4 -1
  17. package/.claude/skills/.validation/schemas/skill-frontmatter.schema.json +1 -1
  18. package/.claude/skills/.validation/schemas/skill-output.template.json +1 -1
  19. package/.claude/skills/.validation/templates/eval.template.yaml +1 -1
  20. package/.claude/skills/.validation/templates/security-testing-eval.template.yaml +1 -1
  21. package/.claude/skills/.validation/templates/skill-frontmatter.example.yaml +1 -1
  22. package/.claude/skills/.validation/test-data/sample-output.json +1 -1
  23. package/.claude/skills/a11y-ally/SKILL.md +1 -1
  24. package/.claude/skills/a11y-ally/evals/a11y-ally.yaml +1 -1
  25. package/.claude/skills/accessibility-testing/evals/accessibility-testing.yaml +1 -1
  26. package/.claude/skills/api-testing-patterns/evals/api-testing-patterns.yaml +1 -1
  27. package/.claude/skills/chaos-engineering-resilience/evals/chaos-engineering-resilience.yaml +1 -1
  28. package/.claude/skills/cicd-pipeline-qe-orchestrator/evals/cicd-pipeline-qe-orchestrator.yaml +1 -1
  29. package/.claude/skills/compatibility-testing/evals/compatibility-testing.yaml +1 -1
  30. package/.claude/skills/compliance-testing/evals/compliance-testing.yaml +1 -1
  31. package/.claude/skills/contract-testing/evals/contract-testing.yaml +1 -1
  32. package/.claude/skills/database-testing/evals/database-testing.yaml +1 -1
  33. package/.claude/skills/enterprise-integration-testing/evals/enterprise-integration-testing.yaml +1 -1
  34. package/.claude/skills/localization-testing/evals/localization-testing.yaml +1 -1
  35. package/.claude/skills/middleware-testing-patterns/evals/middleware-testing-patterns.yaml +1 -1
  36. package/.claude/skills/mobile-testing/evals/mobile-testing.yaml +1 -1
  37. package/.claude/skills/mutation-testing/evals/mutation-testing.yaml +1 -1
  38. package/.claude/skills/mutation-testing/test-data/sample-output.json +1 -1
  39. package/.claude/skills/n8n-expression-testing/evals/n8n-expression-testing.yaml +1 -1
  40. package/.claude/skills/n8n-integration-testing-patterns/evals/n8n-integration-testing-patterns.yaml +1 -1
  41. package/.claude/skills/n8n-security-testing/evals/n8n-security-testing.yaml +1 -1
  42. package/.claude/skills/n8n-trigger-testing-strategies/evals/n8n-trigger-testing-strategies.yaml +1 -1
  43. package/.claude/skills/n8n-workflow-testing-fundamentals/evals/n8n-workflow-testing-fundamentals.yaml +1 -1
  44. package/.claude/skills/observability-testing-patterns/evals/observability-testing-patterns.yaml +1 -1
  45. package/.claude/skills/pentest-validation/evals/pentest-validation.yaml +1 -1
  46. package/.claude/skills/performance-testing/evals/performance-testing.yaml +1 -1
  47. package/.claude/skills/qcsd-cicd-swarm/evals/qcsd-cicd-swarm.yaml +1 -1
  48. package/.claude/skills/qcsd-development-swarm/evals/qcsd-development-swarm.yaml +1 -1
  49. package/.claude/skills/qcsd-ideation-swarm/evals/qcsd-ideation-swarm.yaml +1 -1
  50. package/.claude/skills/qcsd-production-swarm/evals/qcsd-production-swarm.yaml +1 -1
  51. package/.claude/skills/qcsd-refinement-swarm/evals/qcsd-refinement-swarm.yaml +1 -1
  52. package/.claude/skills/qe-browser/evals/qe-browser.yaml +1 -1
  53. package/.claude/skills/qe-chaos-resilience/evals/qe-chaos-resilience.yaml +1 -1
  54. package/.claude/skills/qe-code-intelligence/evals/qe-code-intelligence.yaml +1 -1
  55. package/.claude/skills/qe-coverage-analysis/evals/qe-coverage-analysis.yaml +1 -1
  56. package/.claude/skills/qe-defect-intelligence/evals/qe-defect-intelligence.yaml +1 -1
  57. package/.claude/skills/qe-learning-optimization/evals/qe-learning-optimization.yaml +2 -2
  58. package/.claude/skills/qe-quality-assessment/evals/qe-quality-assessment.yaml +1 -1
  59. package/.claude/skills/qe-requirements-validation/evals/qe-requirements-validation.yaml +1 -1
  60. package/.claude/skills/qe-test-execution/evals/qe-test-execution.yaml +1 -1
  61. package/.claude/skills/qe-test-generation/evals/qe-test-generation.yaml +1 -1
  62. package/.claude/skills/qe-visual-accessibility/evals/qe-visual-accessibility.yaml +1 -1
  63. package/.claude/skills/quality-metrics/evals/quality-metrics.yaml +1 -1
  64. package/.claude/skills/regression-testing/evals/regression-testing.yaml +1 -1
  65. package/.claude/skills/risk-based-testing/evals/risk-based-testing.yaml +1 -1
  66. package/.claude/skills/security-testing/evals/security-testing.yaml +1 -1
  67. package/.claude/skills/security-visual-testing/evals/security-visual-testing.yaml +1 -1
  68. package/.claude/skills/shift-left-testing/evals/shift-left-testing.yaml +1 -1
  69. package/.claude/skills/shift-right-testing/evals/shift-right-testing.yaml +1 -1
  70. package/.claude/skills/skills-manifest.json +1 -1
  71. package/.claude/skills/test-automation-strategy/evals/test-automation-strategy.yaml +1 -1
  72. package/.claude/skills/test-data-management/evals/test-data-management.yaml +1 -1
  73. package/.claude/skills/test-design-techniques/evals/test-design-techniques.yaml +1 -1
  74. package/.claude/skills/test-reporting-analytics/evals/test-reporting-analytics.yaml +1 -1
  75. package/.claude/skills/testability-scoring/evals/testability-scoring.yaml +1 -1
  76. package/.claude/skills/validation-pipeline/evals/validation-pipeline.yaml +1 -1
  77. package/.claude/skills/verification-quality/evals/verification-quality.yaml +1 -1
  78. package/.claude/skills/visual-testing-advanced/evals/visual-testing-advanced.yaml +1 -1
  79. package/.claude/skills/wms-testing-patterns/evals/wms-testing-patterns.yaml +1 -1
  80. package/.opencode/agents/collective-intelligence-coordinator.yaml +1 -1
  81. package/.opencode/agents/ddd-domain-expert.yaml +1 -1
  82. package/.opencode/agents/memory-specialist.yaml +1 -1
  83. package/.opencode/agents/performance-engineer.yaml +1 -1
  84. package/.opencode/agents/qe-accessibility-auditor.yaml +1 -1
  85. package/.opencode/agents/qe-api-contract-validator.yaml +1 -1
  86. package/.opencode/agents/qe-bdd-generator.yaml +1 -1
  87. package/.opencode/agents/qe-chaos-engineer.yaml +1 -1
  88. package/.opencode/agents/qe-code-complexity.yaml +1 -1
  89. package/.opencode/agents/qe-code-intelligence.yaml +1 -1
  90. package/.opencode/agents/qe-coverage-analyzer.yaml +1 -1
  91. package/.opencode/agents/qe-defect-predictor.yaml +1 -1
  92. package/.opencode/agents/qe-dependency-mapper.yaml +1 -1
  93. package/.opencode/agents/qe-deployment-advisor.yaml +1 -1
  94. package/.opencode/agents/qe-devils-advocate.yaml +1 -1
  95. package/.opencode/agents/qe-flaky-hunter.yaml +1 -1
  96. package/.opencode/agents/qe-fleet-commander.yaml +1 -1
  97. package/.opencode/agents/qe-gap-detector.yaml +1 -1
  98. package/.opencode/agents/qe-graphql-tester.yaml +1 -1
  99. package/.opencode/agents/qe-impact-analyzer.yaml +1 -1
  100. package/.opencode/agents/qe-integration-architect.yaml +1 -1
  101. package/.opencode/agents/qe-integration-tester.yaml +1 -1
  102. package/.opencode/agents/qe-kg-builder.yaml +1 -1
  103. package/.opencode/agents/qe-learning-coordinator.yaml +1 -1
  104. package/.opencode/agents/qe-load-tester.yaml +1 -1
  105. package/.opencode/agents/qe-message-broker-tester.yaml +1 -1
  106. package/.opencode/agents/qe-metrics-optimizer.yaml +1 -1
  107. package/.opencode/agents/qe-middleware-validator.yaml +1 -1
  108. package/.opencode/agents/qe-mutation-tester.yaml +1 -1
  109. package/.opencode/agents/qe-odata-contract-tester.yaml +1 -1
  110. package/.opencode/agents/qe-parallel-executor.yaml +1 -1
  111. package/.opencode/agents/qe-pattern-learner.yaml +1 -1
  112. package/.opencode/agents/qe-pentest-validator.yaml +1 -1
  113. package/.opencode/agents/qe-performance-tester.yaml +1 -1
  114. package/.opencode/agents/qe-product-factors-assessor.yaml +1 -1
  115. package/.opencode/agents/qe-property-tester.yaml +1 -1
  116. package/.opencode/agents/qe-quality-criteria-recommender.yaml +1 -1
  117. package/.opencode/agents/qe-quality-gate.yaml +1 -1
  118. package/.opencode/agents/qe-queen-coordinator.yaml +1 -1
  119. package/.opencode/agents/qe-qx-partner.yaml +1 -1
  120. package/.opencode/agents/qe-regression-analyzer.yaml +1 -1
  121. package/.opencode/agents/qe-requirements-validator.yaml +1 -1
  122. package/.opencode/agents/qe-responsive-tester.yaml +1 -1
  123. package/.opencode/agents/qe-retry-handler.yaml +1 -1
  124. package/.opencode/agents/qe-risk-assessor.yaml +1 -1
  125. package/.opencode/agents/qe-root-cause-analyzer.yaml +1 -1
  126. package/.opencode/agents/qe-sap-idoc-tester.yaml +1 -1
  127. package/.opencode/agents/qe-sap-rfc-tester.yaml +1 -1
  128. package/.opencode/agents/qe-security-auditor.yaml +1 -1
  129. package/.opencode/agents/qe-security-scanner.yaml +1 -1
  130. package/.opencode/agents/qe-soap-tester.yaml +1 -1
  131. package/.opencode/agents/qe-sod-analyzer.yaml +1 -1
  132. package/.opencode/agents/qe-tdd-specialist.yaml +1 -1
  133. package/.opencode/agents/qe-test-generator.yaml +1 -1
  134. package/.opencode/agents/qe-test-idea-rewriter.yaml +1 -1
  135. package/.opencode/agents/qe-transfer-specialist.yaml +1 -1
  136. package/.opencode/agents/qe-visual-tester.yaml +1 -1
  137. package/.opencode/agents/security-architect.yaml +1 -1
  138. package/.opencode/agents/security-auditor.yaml +1 -1
  139. package/CHANGELOG.md +183 -0
  140. package/README.md +7 -2
  141. package/assets/agents/v3/helpers/advisor-call.cjs +3 -3
  142. package/assets/agents/v3/qe-coverage-specialist.md +1 -1
  143. package/assets/agents/v3/qe-fleet-commander.md +1 -1
  144. package/assets/agents/v3/qe-pentest-validator.md +1 -1
  145. package/assets/agents/v3/qe-queen-coordinator.md +1 -1
  146. package/assets/agents/v3/qe-risk-assessor.md +1 -1
  147. package/assets/agents/v3/qe-root-cause-analyzer.md +1 -1
  148. package/assets/agents/v3/qe-security-auditor.md +1 -1
  149. package/assets/agents/v3/qe-test-architect.md +1 -1
  150. package/assets/skills/.validation/examples/chaos-engineering-output.example.json +1 -1
  151. package/assets/skills/.validation/examples/performance-testing-output.example.json +1 -1
  152. package/assets/skills/.validation/examples/security-testing-output.example.json +1 -1
  153. package/assets/skills/.validation/examples/testability-scoring-output.example.json +1 -1
  154. package/assets/skills/.validation/schemas/skill-eval.schema.json +4 -1
  155. package/assets/skills/.validation/schemas/skill-frontmatter.schema.json +1 -1
  156. package/assets/skills/.validation/schemas/skill-output.template.json +1 -1
  157. package/assets/skills/.validation/templates/eval.template.yaml +1 -1
  158. package/assets/skills/.validation/templates/security-testing-eval.template.yaml +1 -1
  159. package/assets/skills/.validation/templates/skill-frontmatter.example.yaml +1 -1
  160. package/assets/skills/.validation/test-data/sample-output.json +1 -1
  161. package/assets/skills/a11y-ally/SKILL.md +1 -1
  162. package/assets/skills/a11y-ally/evals/a11y-ally.yaml +1 -1
  163. package/assets/skills/accessibility-testing/evals/accessibility-testing.yaml +1 -1
  164. package/assets/skills/api-testing-patterns/evals/api-testing-patterns.yaml +1 -1
  165. package/assets/skills/chaos-engineering-resilience/evals/chaos-engineering-resilience.yaml +1 -1
  166. package/assets/skills/cicd-pipeline-qe-orchestrator/evals/cicd-pipeline-qe-orchestrator.yaml +1 -1
  167. package/assets/skills/compatibility-testing/evals/compatibility-testing.yaml +1 -1
  168. package/assets/skills/compliance-testing/evals/compliance-testing.yaml +1 -1
  169. package/assets/skills/contract-testing/evals/contract-testing.yaml +1 -1
  170. package/assets/skills/database-testing/evals/database-testing.yaml +1 -1
  171. package/assets/skills/enterprise-integration-testing/evals/enterprise-integration-testing.yaml +1 -1
  172. package/assets/skills/localization-testing/evals/localization-testing.yaml +1 -1
  173. package/assets/skills/middleware-testing-patterns/evals/middleware-testing-patterns.yaml +1 -1
  174. package/assets/skills/mobile-testing/evals/mobile-testing.yaml +1 -1
  175. package/assets/skills/mutation-testing/evals/mutation-testing.yaml +1 -1
  176. package/assets/skills/mutation-testing/test-data/sample-output.json +1 -1
  177. package/assets/skills/n8n-expression-testing/evals/n8n-expression-testing.yaml +1 -1
  178. package/assets/skills/n8n-integration-testing-patterns/evals/n8n-integration-testing-patterns.yaml +1 -1
  179. package/assets/skills/n8n-security-testing/evals/n8n-security-testing.yaml +1 -1
  180. package/assets/skills/n8n-trigger-testing-strategies/evals/n8n-trigger-testing-strategies.yaml +1 -1
  181. package/assets/skills/n8n-workflow-testing-fundamentals/evals/n8n-workflow-testing-fundamentals.yaml +1 -1
  182. package/assets/skills/observability-testing-patterns/evals/observability-testing-patterns.yaml +1 -1
  183. package/assets/skills/pentest-validation/evals/pentest-validation.yaml +1 -1
  184. package/assets/skills/performance-testing/evals/performance-testing.yaml +1 -1
  185. package/assets/skills/qcsd-cicd-swarm/evals/qcsd-cicd-swarm.yaml +1 -1
  186. package/assets/skills/qcsd-development-swarm/evals/qcsd-development-swarm.yaml +1 -1
  187. package/assets/skills/qcsd-ideation-swarm/evals/qcsd-ideation-swarm.yaml +1 -1
  188. package/assets/skills/qcsd-production-swarm/evals/qcsd-production-swarm.yaml +1 -1
  189. package/assets/skills/qcsd-refinement-swarm/evals/qcsd-refinement-swarm.yaml +1 -1
  190. package/assets/skills/qe-browser/evals/qe-browser.yaml +1 -1
  191. package/assets/skills/qe-chaos-resilience/evals/qe-chaos-resilience.yaml +1 -1
  192. package/assets/skills/qe-code-intelligence/evals/qe-code-intelligence.yaml +1 -1
  193. package/assets/skills/qe-coverage-analysis/evals/qe-coverage-analysis.yaml +1 -1
  194. package/assets/skills/qe-defect-intelligence/evals/qe-defect-intelligence.yaml +1 -1
  195. package/assets/skills/qe-learning-optimization/evals/qe-learning-optimization.yaml +2 -2
  196. package/assets/skills/qe-quality-assessment/evals/qe-quality-assessment.yaml +1 -1
  197. package/assets/skills/qe-requirements-validation/evals/qe-requirements-validation.yaml +1 -1
  198. package/assets/skills/qe-test-execution/evals/qe-test-execution.yaml +1 -1
  199. package/assets/skills/qe-test-generation/evals/qe-test-generation.yaml +1 -1
  200. package/assets/skills/qe-visual-accessibility/evals/qe-visual-accessibility.yaml +1 -1
  201. package/assets/skills/quality-metrics/evals/quality-metrics.yaml +1 -1
  202. package/assets/skills/regression-testing/evals/regression-testing.yaml +1 -1
  203. package/assets/skills/risk-based-testing/evals/risk-based-testing.yaml +1 -1
  204. package/assets/skills/security-testing/evals/security-testing.yaml +1 -1
  205. package/assets/skills/security-visual-testing/evals/security-visual-testing.yaml +1 -1
  206. package/assets/skills/shift-left-testing/evals/shift-left-testing.yaml +1 -1
  207. package/assets/skills/shift-right-testing/evals/shift-right-testing.yaml +1 -1
  208. package/assets/skills/skills-manifest.json +1 -1
  209. package/assets/skills/test-automation-strategy/evals/test-automation-strategy.yaml +1 -1
  210. package/assets/skills/test-data-management/evals/test-data-management.yaml +1 -1
  211. package/assets/skills/test-design-techniques/evals/test-design-techniques.yaml +1 -1
  212. package/assets/skills/test-reporting-analytics/evals/test-reporting-analytics.yaml +1 -1
  213. package/assets/skills/testability-scoring/evals/testability-scoring.yaml +1 -1
  214. package/assets/skills/validation-pipeline/evals/validation-pipeline.yaml +1 -1
  215. package/assets/skills/verification-quality/evals/verification-quality.yaml +1 -1
  216. package/assets/skills/visual-testing-advanced/evals/visual-testing-advanced.yaml +1 -1
  217. package/assets/skills/wms-testing-patterns/evals/wms-testing-patterns.yaml +1 -1
  218. package/dist/cli/bundle.js +7 -7
  219. package/dist/cli/chunks/adapter-TNNNJRDG.js +2 -0
  220. package/dist/cli/chunks/{agent-booster-wasm-SD5N32MX.js → agent-booster-wasm-5PC7D2FW.js} +2 -2
  221. package/dist/cli/chunks/{agent-handler-OZRSJM7F.js → agent-handler-RDNTK4CA.js} +2 -2
  222. package/dist/cli/chunks/{agent-memory-branch-NYTRANRN.js → agent-memory-branch-NAAMBWIR.js} +2 -2
  223. package/dist/cli/chunks/aqe-learning-engine-5ZRMYJLB.js +2 -0
  224. package/dist/cli/chunks/{arena-EX3SC2DP.js → arena-HXTWJ5YY.js} +4 -4
  225. package/dist/cli/chunks/{arena-FOTVSRK4.js → arena-KXFHRWX4.js} +2 -2
  226. package/dist/cli/chunks/{audit-Q5GHSUQY.js → audit-YSGA7UWT.js} +3 -3
  227. package/dist/cli/chunks/base-KWZHOPSH.js +2 -0
  228. package/dist/cli/chunks/{better-sqlite3-S7M5R2HS.js → better-sqlite3-UICJZIDG.js} +2 -2
  229. package/dist/cli/chunks/brain-handler-ET6YAP4B.js +90 -0
  230. package/dist/cli/chunks/{branch-enumerator-RWAXTGEU.js → branch-enumerator-SS7UNVIA.js} +2 -2
  231. package/dist/cli/chunks/{browser-IGDESJGF.js → browser-77GI6KBE.js} +2 -2
  232. package/dist/cli/chunks/browser-workflow-2FZTKDUL.js +2 -0
  233. package/dist/cli/chunks/{chunk-U54OOA24.js → chunk-2JW3BCGG.js} +1 -1
  234. package/dist/cli/chunks/{chunk-LML5VTFK.js → chunk-33YYYWBQ.js} +1 -1
  235. package/dist/cli/chunks/{chunk-P64DMQ2C.js → chunk-34WO57CW.js} +1 -1
  236. package/dist/cli/chunks/{chunk-57TNBR2P.js → chunk-3QHGWY7T.js} +2 -2
  237. package/dist/cli/chunks/chunk-3TW5W5LX.js +2 -0
  238. package/dist/cli/chunks/{chunk-S4MR6RTE.js → chunk-3UPAMMCB.js} +1 -1
  239. package/dist/cli/chunks/{chunk-5WJUNRTY.js → chunk-3VOQRIQM.js} +2 -2
  240. package/dist/cli/chunks/{chunk-4RT7I7PI.js → chunk-3X3DJZJJ.js} +1 -1
  241. package/dist/cli/chunks/{chunk-RFNEHNJV.js → chunk-4MHXCAG2.js} +1 -1
  242. package/dist/cli/chunks/{chunk-PMUBG2RU.js → chunk-4OYFXLBK.js} +2 -2
  243. package/dist/cli/chunks/{chunk-W2FLULF4.js → chunk-55RWDRJD.js} +3 -3
  244. package/dist/cli/chunks/chunk-5R3QL7WN.js +14 -0
  245. package/dist/cli/chunks/{chunk-RHJVDCLV.js → chunk-5SJHQ2CO.js} +2 -2
  246. package/dist/cli/chunks/{chunk-HBTC4L53.js → chunk-5YPYDPBJ.js} +2 -2
  247. package/dist/cli/chunks/chunk-5Z6XZV7K.js +65 -0
  248. package/dist/cli/chunks/{chunk-6EHN7Q2Q.js → chunk-64PFWE2F.js} +2 -2
  249. package/dist/cli/chunks/{chunk-KFXZDQ5J.js → chunk-6CQN24ZK.js} +1 -1
  250. package/dist/cli/chunks/{chunk-WVY22NHZ.js → chunk-6J62K3SW.js} +2 -2
  251. package/dist/cli/chunks/{chunk-TLPL3EQY.js → chunk-6KJABXAR.js} +2 -2
  252. package/dist/cli/chunks/{chunk-PZKZY6PB.js → chunk-6QYNWR7U.js} +2 -2
  253. package/dist/cli/chunks/{chunk-A7N3YUDJ.js → chunk-6TPKK7LD.js} +2 -2
  254. package/dist/cli/chunks/{chunk-RYJHREYS.js → chunk-6UWGMOND.js} +2 -2
  255. package/dist/cli/chunks/{chunk-XPLSLHRB.js → chunk-6VRA2QGL.js} +1 -1
  256. package/dist/cli/chunks/{chunk-Q3JHS3UD.js → chunk-7D777LTF.js} +2 -2
  257. package/dist/cli/chunks/chunk-7ZIOFPL3.js +2 -0
  258. package/dist/cli/chunks/chunk-A4FYONNU.js +2 -0
  259. package/dist/cli/chunks/{chunk-7AFBNU6K.js → chunk-AIHDEEJO.js} +2 -2
  260. package/dist/cli/chunks/{chunk-L2F7FVIU.js → chunk-AUXFKCQL.js} +2 -2
  261. package/dist/cli/chunks/{chunk-67A6PEZM.js → chunk-AWWNB2T7.js} +2 -2
  262. package/dist/cli/chunks/{chunk-DVHWLAEO.js → chunk-BDESSCVR.js} +3 -3
  263. package/dist/cli/chunks/{chunk-JQ2ZD3WO.js → chunk-BFP7KO7P.js} +2 -2
  264. package/dist/cli/chunks/{chunk-N5ZRUOMR.js → chunk-BGE6FOLM.js} +2 -2
  265. package/dist/cli/chunks/{chunk-BWRHOIYC.js → chunk-BOARZKU3.js} +2 -2
  266. package/dist/cli/chunks/{chunk-CTCQOYBS.js → chunk-BOZZYWCR.js} +1 -1
  267. package/dist/cli/chunks/{chunk-NHHWLJQF.js → chunk-C2WU3533.js} +1 -1
  268. package/dist/cli/chunks/{chunk-5EHLGOWW.js → chunk-CDHQFHRP.js} +2 -2
  269. package/dist/cli/chunks/chunk-CDKG6EI7.js +16 -0
  270. package/dist/cli/chunks/{chunk-RGH3WGWD.js → chunk-CIKSHTEQ.js} +3 -3
  271. package/dist/cli/chunks/{chunk-K574FLVB.js → chunk-CIZ5JPDC.js} +2 -2
  272. package/dist/cli/chunks/{chunk-LWUJQGCS.js → chunk-CLTMDCSE.js} +2 -2
  273. package/dist/cli/chunks/{chunk-GHQ5PUOV.js → chunk-CNG6GQEZ.js} +2 -2
  274. package/dist/cli/chunks/{chunk-3C2K4YMS.js → chunk-CSU5NYOX.js} +3 -3
  275. package/dist/cli/chunks/chunk-CU46J64M.js +4 -0
  276. package/dist/cli/chunks/{chunk-EH5OCHAJ.js → chunk-CXQPR5MY.js} +1 -1
  277. package/dist/cli/chunks/chunk-DA5K5754.js +96 -0
  278. package/dist/cli/chunks/{chunk-FVGTINVR.js → chunk-DAEFDCJ4.js} +81 -65
  279. package/dist/cli/chunks/{chunk-MH73D5TN.js → chunk-DEYLEDJN.js} +2 -2
  280. package/dist/cli/chunks/{chunk-7FWP7CZY.js → chunk-DFZCKIGY.js} +3 -3
  281. package/dist/cli/chunks/{chunk-QXTW7XCS.js → chunk-DHJPWQBR.js} +2 -2
  282. package/dist/cli/chunks/{chunk-NAZVPZJS.js → chunk-DOTK76IJ.js} +2 -2
  283. package/dist/cli/chunks/{chunk-RCI64RIJ.js → chunk-DPFRKBOG.js} +2 -2
  284. package/dist/cli/chunks/{chunk-WMW47QMR.js → chunk-EDJ3O7RH.js} +2 -2
  285. package/dist/cli/chunks/{chunk-4K27ESCA.js → chunk-EKQ673SA.js} +1 -1
  286. package/dist/cli/chunks/chunk-F3SBRQC6.js +2 -0
  287. package/dist/cli/chunks/{chunk-4N44UJGI.js → chunk-FGYMFUE2.js} +2 -2
  288. package/dist/cli/chunks/chunk-FLYOJOKN.js +2 -0
  289. package/dist/cli/chunks/{chunk-W4OQYLYO.js → chunk-FRH6VAUS.js} +1 -1
  290. package/dist/cli/chunks/{chunk-VOYJJ3KA.js → chunk-FWGOHAAB.js} +2 -2
  291. package/dist/cli/chunks/{chunk-D4RCV4LY.js → chunk-G6T45OIC.js} +2 -2
  292. package/dist/cli/chunks/{chunk-2EHFEMRU.js → chunk-GPLQ6DOK.js} +2 -2
  293. package/dist/cli/chunks/{chunk-RVCWSAXI.js → chunk-HDSAM2RE.js} +2 -2
  294. package/dist/cli/chunks/chunk-HIVA55CJ.js +2 -0
  295. package/dist/cli/chunks/{chunk-6F4WHN7D.js → chunk-HIYXCDEP.js} +1 -1
  296. package/dist/cli/chunks/{chunk-NRR23SJV.js → chunk-HUWNIPZ5.js} +1 -1
  297. package/dist/cli/chunks/{chunk-4M6A3PVJ.js → chunk-HV2J7KKQ.js} +2 -2
  298. package/dist/cli/chunks/{chunk-CJHVOBJY.js → chunk-IFCLB7FJ.js} +1 -1
  299. package/dist/cli/chunks/{chunk-Q335R4MR.js → chunk-IPR4QP3H.js} +2 -2
  300. package/dist/cli/chunks/{chunk-HZMLNM2T.js → chunk-ISDMD6EU.js} +178 -175
  301. package/dist/cli/chunks/chunk-J6GNQS62.js +5 -0
  302. package/dist/cli/chunks/{chunk-3DFFFXXO.js → chunk-JBNEE5UH.js} +2 -2
  303. package/dist/cli/chunks/chunk-JZ3ORVZ3.js +54 -0
  304. package/dist/cli/chunks/{chunk-T4C56HBW.js → chunk-KCZR45PA.js} +2 -2
  305. package/dist/cli/chunks/chunk-KGT36Z42.js +14 -0
  306. package/dist/cli/chunks/{chunk-JIUF6NV6.js → chunk-KHFNNVJA.js} +2 -2
  307. package/dist/cli/chunks/{chunk-7SK6IMGZ.js → chunk-KPA7MZ6C.js} +2 -2
  308. package/dist/cli/chunks/{chunk-G2CLZVYI.js → chunk-KSKEF7LZ.js} +3 -3
  309. package/dist/cli/chunks/{chunk-6LMLN5R2.js → chunk-M2JBBZQB.js} +2 -2
  310. package/dist/cli/chunks/{chunk-UHTAI4ZB.js → chunk-M4WJKGVK.js} +1 -1
  311. package/dist/cli/chunks/{chunk-KZOBLLXW.js → chunk-M5QUBZY6.js} +2 -2
  312. package/dist/cli/chunks/{chunk-42WUDDUU.js → chunk-MCUJEZT6.js} +2 -2
  313. package/dist/cli/chunks/{chunk-ZFGND4QK.js → chunk-MDWCE7YW.js} +1 -1
  314. package/dist/cli/chunks/{chunk-TYVQNYXX.js → chunk-MEGDYJPV.js} +7 -7
  315. package/dist/cli/chunks/chunk-MIQTXNBG.js +4 -0
  316. package/dist/cli/chunks/{chunk-PFXX5Q32.js → chunk-MNW6QGNJ.js} +2 -2
  317. package/dist/cli/chunks/{chunk-IVGVOGIZ.js → chunk-MOBNBMFW.js} +1 -1
  318. package/dist/cli/chunks/{chunk-NWFIJNEB.js → chunk-MTZH7AHC.js} +1 -1
  319. package/dist/cli/chunks/chunk-MVNP7GIR.js +2 -0
  320. package/dist/cli/chunks/chunk-MVPCNSPY.js +2 -0
  321. package/dist/cli/chunks/chunk-NA7B2QYB.js +2 -0
  322. package/dist/cli/chunks/{chunk-E3Q7WNJD.js → chunk-NDPFGIMJ.js} +3 -3
  323. package/dist/cli/chunks/{chunk-GHUPID5E.js → chunk-NJBGXDQ7.js} +1 -1
  324. package/dist/cli/chunks/chunk-OBAP2TXZ.js +2 -0
  325. package/dist/cli/chunks/{chunk-OBCKP3G4.js → chunk-OCWWP5PL.js} +4 -4
  326. package/dist/cli/chunks/{chunk-CJCT452S.js → chunk-ODKLFVYC.js} +2 -2
  327. package/dist/cli/chunks/{chunk-YN6W2XIT.js → chunk-ONII3572.js} +4 -4
  328. package/dist/cli/chunks/{chunk-QW4LN5NK.js → chunk-OSLYSG3B.js} +2 -2
  329. package/dist/cli/chunks/{chunk-HZ6NEJMO.js → chunk-OULHKEVH.js} +2 -2
  330. package/dist/cli/chunks/{chunk-CG2MUD7U.js → chunk-PAWXJ73E.js} +1 -1
  331. package/dist/cli/chunks/chunk-PEPFCPES.js +2 -0
  332. package/dist/cli/chunks/{chunk-UIGEUEBT.js → chunk-PFR4G3DJ.js} +2 -2
  333. package/dist/cli/chunks/chunk-PO3IXGMQ.js +2 -0
  334. package/dist/cli/chunks/{chunk-6SZKLWZT.js → chunk-PZJOPURC.js} +5 -5
  335. package/dist/cli/chunks/{chunk-ARMZYHYL.js → chunk-Q5DO24IJ.js} +2 -2
  336. package/dist/cli/chunks/chunk-QGIU2WRL.js +2 -0
  337. package/dist/cli/chunks/{chunk-N3RN4QTC.js → chunk-R4VL6E65.js} +2 -2
  338. package/dist/cli/chunks/{chunk-MWQTACNA.js → chunk-R5NE6B2M.js} +2 -2
  339. package/dist/cli/chunks/{chunk-T46LOLW3.js → chunk-RJCYCLZV.js} +2 -2
  340. package/dist/cli/chunks/{chunk-CH2TQCV5.js → chunk-SGYJ4NFZ.js} +1 -1
  341. package/dist/cli/chunks/{chunk-NG2UVPTW.js → chunk-SRKETSFF.js} +1 -1
  342. package/dist/cli/chunks/{chunk-QFUX7ELG.js → chunk-STJCATGN.js} +2 -2
  343. package/dist/cli/chunks/{chunk-CIESXO73.js → chunk-STM3UDNO.js} +1 -1
  344. package/dist/cli/chunks/{chunk-C7AXRI7E.js → chunk-T6BVLVI5.js} +1 -1
  345. package/dist/cli/chunks/{chunk-HSJ5FQCF.js → chunk-TDZ53WO2.js} +2 -2
  346. package/dist/cli/chunks/{chunk-YF5OP6CR.js → chunk-TPGED2IF.js} +2 -2
  347. package/dist/cli/chunks/{chunk-2TG24LYQ.js → chunk-TSRSV3LD.js} +1 -1
  348. package/dist/cli/chunks/{chunk-6VKJAMZY.js → chunk-TT23RRB7.js} +1 -1
  349. package/dist/cli/chunks/{chunk-WXMSRBQF.js → chunk-TWAWHOP7.js} +2 -2
  350. package/dist/cli/chunks/{chunk-ZCDXJ27H.js → chunk-U5K45TFH.js} +1 -1
  351. package/dist/cli/chunks/{chunk-3WV4H33V.js → chunk-UDHKLT4C.js} +1 -1
  352. package/dist/cli/chunks/{chunk-VNAKBHJI.js → chunk-UEM7ZF5K.js} +2 -2
  353. package/dist/cli/chunks/{chunk-4ZUZDFAA.js → chunk-UGVHCMUN.js} +6 -6
  354. package/dist/cli/chunks/{chunk-NNOMDM4N.js → chunk-V3QLFNA2.js} +2 -2
  355. package/dist/cli/chunks/{chunk-S7N4BKI3.js → chunk-VD6QRULW.js} +2 -2
  356. package/dist/cli/chunks/{chunk-WBH4C4BG.js → chunk-VIHTL3U2.js} +2 -2
  357. package/dist/cli/chunks/chunk-W7BWUTVV.js +2 -0
  358. package/dist/cli/chunks/{chunk-IWFL6EFI.js → chunk-WLG5AJ4N.js} +2 -2
  359. package/dist/cli/chunks/{chunk-KEEBUVGV.js → chunk-XC7DYDSY.js} +8 -8
  360. package/dist/cli/chunks/{chunk-F2KRT2II.js → chunk-XJ7QNVI5.js} +3 -3
  361. package/dist/cli/chunks/chunk-XRT2WRMS.js +2 -0
  362. package/dist/cli/chunks/{chunk-ADK7DF3G.js → chunk-XRYF6JV7.js} +2 -2
  363. package/dist/cli/chunks/{chunk-PWEIDHT7.js → chunk-XWMZ6D6N.js} +2 -2
  364. package/dist/cli/chunks/{chunk-ICKLBATY.js → chunk-Y3MW3YBC.js} +2 -2
  365. package/dist/cli/chunks/chunk-YNXS6CGV.js +2 -0
  366. package/dist/cli/chunks/{chunk-PVHO6KLB.js → chunk-Z3RHREWF.js} +1 -1
  367. package/dist/cli/chunks/{chunk-EAJK25IS.js → chunk-ZBAKA4YB.js} +1 -1
  368. package/dist/cli/chunks/chunk-ZBJ4XOOV.js +180 -0
  369. package/dist/cli/chunks/chunk-ZBQY5GLF.js +11 -0
  370. package/dist/cli/chunks/{chunk-R5RNOLHI.js → chunk-ZJ26AQA5.js} +1 -1
  371. package/dist/cli/chunks/{chunk-KPFG4OIM.js → chunk-ZNEMGX5O.js} +1 -1
  372. package/dist/cli/chunks/{chunk-2H5YJ5ZK.js → chunk-ZNPKDCZR.js} +2 -2
  373. package/dist/cli/chunks/{chunk-DW6ZMNMR.js → chunk-ZZDIMOOV.js} +2 -2
  374. package/dist/cli/chunks/ci-464KPQNP.js +81 -0
  375. package/dist/cli/chunks/ci-output-I7FX2RSO.js +2 -0
  376. package/dist/cli/chunks/{circuit-breaker-4WST3QSA.js → circuit-breaker-3FW237WW.js} +2 -2
  377. package/dist/cli/chunks/{claude-flow-setup-KB4TKMYI.js → claude-flow-setup-6JKMBPGU.js} +2 -2
  378. package/dist/cli/chunks/client-7E4LM2WW.js +2 -0
  379. package/dist/cli/chunks/{cline-installer-W2ZHQ6WM.js → cline-installer-UWFHT6VY.js} +2 -2
  380. package/dist/cli/chunks/{code-TF2AVR5D.js → code-KQSUT3FS.js} +29 -29
  381. package/dist/cli/chunks/{code-index-extractor-RMDRUVQJ.js → code-index-extractor-PABBNUSC.js} +2 -2
  382. package/dist/cli/chunks/{codex-installer-VSTRHJHV.js → codex-installer-CQ24DTP5.js} +2 -2
  383. package/dist/cli/chunks/{completions-3Q37QVFR.js → completions-7RWHAUAR.js} +2 -2
  384. package/dist/cli/chunks/complexity-analyzer-XPOAF33E.js +2 -0
  385. package/dist/cli/chunks/{continuedev-installer-VTEXM455.js → continuedev-installer-V4F2FIZP.js} +2 -2
  386. package/dist/cli/chunks/{copilot-installer-AGY7DQUS.js → copilot-installer-JMICURQB.js} +2 -2
  387. package/dist/cli/chunks/core-handlers-IFG3757P.js +2 -0
  388. package/dist/cli/chunks/cost-tracker-5OFHEYFJ.js +2 -0
  389. package/dist/cli/chunks/{coverage-TT64IOS4.js → coverage-QKN57JDS.js} +3 -3
  390. package/dist/cli/chunks/cross-domain-router-EK7W4PGP.js +2 -0
  391. package/dist/cli/chunks/{cursor-installer-OVOJIOHN.js → cursor-installer-GBJ7YXSM.js} +2 -2
  392. package/dist/cli/chunks/{daemon-DMFZMXKA.js → daemon-GKP7CMEK.js} +3 -3
  393. package/dist/cli/chunks/{daemon-XCULEHWY.js → daemon-IAVSO6HK.js} +4 -4
  394. package/dist/cli/chunks/{dag-attention-scheduler-WW2RX4B5.js → dag-attention-scheduler-S225TCI7.js} +2 -2
  395. package/dist/cli/chunks/{detect-QNWIM232.js → detect-IUYH422U.js} +2 -2
  396. package/dist/cli/chunks/{dist-node-6GQIY3CG.js → dist-node-2YRE6A7C.js} +2 -2
  397. package/dist/cli/chunks/{domain-handler-6RJPDELX.js → domain-handler-PL2TZC6H.js} +2 -2
  398. package/dist/cli/chunks/domain-plugins-HCGLXKIT.js +2 -0
  399. package/dist/cli/chunks/{domain-transfer-WK524LBS.js → domain-transfer-KQJRUPXA.js} +2 -2
  400. package/dist/cli/chunks/dream-NFSCSLY7.js +2 -0
  401. package/dist/cli/chunks/{embed-and-insert-pattern-SO6GWJW7.js → embed-and-insert-pattern-ZPAG7235.js} +2 -2
  402. package/dist/cli/chunks/eval-WCK7KNFN.js +17 -0
  403. package/dist/cli/chunks/{experience-capture-middleware-BCCJ35OX.js → experience-capture-middleware-2MSQWSAR.js} +3 -3
  404. package/dist/cli/chunks/{fast-paths-CATDDBEU.js → fast-paths-VYOSIBKF.js} +2 -2
  405. package/dist/cli/chunks/{feature-flags-BUXNAORY.js → feature-flags-UJRHFBRX.js} +2 -2
  406. package/dist/cli/chunks/{feature-flags-KNNWWP5G.js → feature-flags-WCFUKHNQ.js} +2 -2
  407. package/dist/cli/chunks/{file-discovery-S4HF3O7D.js → file-discovery-JDGL4ZWS.js} +2 -2
  408. package/dist/cli/chunks/fleet-ROXVMZ2F.js +43 -0
  409. package/dist/cli/chunks/{gnn-wrapper-G7ABZUG7.js → gnn-wrapper-NIO4ZCO3.js} +2 -2
  410. package/dist/cli/chunks/{heartbeat-handler-UFMELIWT.js → heartbeat-handler-PI42WD3C.js} +4 -4
  411. package/dist/cli/chunks/heartbeat-scheduler-ZATCDJDK.js +2 -0
  412. package/dist/cli/chunks/hnsw-adapter-WXQABRCA.js +2 -0
  413. package/dist/cli/chunks/hnsw-index-TPSWLEA5.js +2 -0
  414. package/dist/cli/chunks/{hnsw-legacy-bridge-YIILSRXI.js → hnsw-legacy-bridge-YLC7SPK2.js} +2 -2
  415. package/dist/cli/chunks/{hnswlib-node-TSVRMXDH.js → hnswlib-node-LG6OS3B7.js} +2 -2
  416. package/dist/cli/chunks/{hooks-OHQPNK74.js → hooks-WVALP5GX.js} +10 -10
  417. package/dist/cli/chunks/{hypergraph-engine-LY7PJDSL.js → hypergraph-engine-GJEMW3EG.js} +2 -2
  418. package/dist/cli/chunks/{hypergraph-handler-YGDYZO6H.js → hypergraph-handler-BLF6LXEV.js} +3 -3
  419. package/dist/cli/chunks/impact-analyzer-HNIU45P5.js +2 -0
  420. package/dist/cli/chunks/{init-handler-MTK65LI3.js → init-handler-K25RWRYY.js} +6 -6
  421. package/dist/cli/chunks/init-wizard-JUIPBMHG.js +2 -0
  422. package/dist/cli/chunks/kernel-5BOZQ754.js +2 -0
  423. package/dist/cli/chunks/{kilocode-installer-3IICU4RS.js → kilocode-installer-BXN6WZ7G.js} +2 -2
  424. package/dist/cli/chunks/{kiro-installer-MXOVQYQA.js → kiro-installer-PM362DLN.js} +12 -12
  425. package/dist/cli/chunks/knowledge-graph-EWDAENWM.js +2 -0
  426. package/dist/cli/chunks/learning-CPERDDRG.js +122 -0
  427. package/dist/cli/chunks/llm-router-GOAV5FPI.js +37 -0
  428. package/dist/cli/chunks/llm-router-service-3YT7JGBS.js +2 -0
  429. package/dist/cli/chunks/{load-F4PVAMXQ.js → load-2BG6SHAK.js} +2 -2
  430. package/dist/cli/chunks/load-test-BP2CPLIV.js +2 -0
  431. package/dist/cli/chunks/{mcp-DUYJUEME.js → mcp-5TTB37DC.js} +2 -2
  432. package/dist/cli/chunks/{memory-XTTYORAS.js → memory-4NHBYT6S.js} +5 -5
  433. package/dist/cli/chunks/memory-backend-4PYQBPRM.js +2 -0
  434. package/dist/cli/chunks/memory-handlers-2B27NITS.js +2 -0
  435. package/dist/cli/chunks/multi-model-executor-KCWSGCDT.js +14 -0
  436. package/dist/cli/chunks/{opencode-installer-33ULBU2F.js → opencode-installer-ATZLLK74.js} +2 -2
  437. package/dist/cli/chunks/{orchestrator-34ZJEKTJ.js → orchestrator-RKB7XJRG.js} +19 -19
  438. package/dist/cli/chunks/pattern-null-store-OYOQOV2O.js +2 -0
  439. package/dist/cli/chunks/{pattern-usage-recorder-GZ2M3F2E.js → pattern-usage-recorder-7VE4XDAI.js} +2 -2
  440. package/dist/cli/chunks/pipeline-LQZSNDD2.js +19 -0
  441. package/dist/cli/chunks/{platform-VKJFJIAW.js → platform-OD5H5U6G.js} +2 -2
  442. package/dist/cli/chunks/{plugin-5C5UBQUQ.js → plugin-EJ6K2MGU.js} +2 -2
  443. package/dist/cli/chunks/{prime-radiant-advanced-wasm-KO2PQI3D.js → prime-radiant-advanced-wasm-OIHTKJMN.js} +2 -2
  444. package/dist/cli/chunks/protocol-executor-3ATJTXWG.js +2 -0
  445. package/dist/cli/chunks/{protocol-handler-ZF74NIKA.js → protocol-handler-NRBROAU7.js} +2 -2
  446. package/dist/cli/chunks/{prove-MO5TQQU4.js → prove-EJOGEGD3.js} +2 -2
  447. package/dist/cli/chunks/qe-reasoning-bank-LLMYZT4X.js +2 -0
  448. package/dist/cli/chunks/{quality-EYIN6AER.js → quality-E55UC73D.js} +2 -2
  449. package/dist/cli/chunks/{quality-gate-V6OQM57O.js → quality-gate-OIQATNT3.js} +3 -3
  450. package/dist/cli/chunks/queen-coordinator-RN7L6KG5.js +2 -0
  451. package/dist/cli/chunks/{real-embeddings-AR7TZX7U.js → real-embeddings-FPFFNOSZ.js} +2 -2
  452. package/dist/cli/chunks/ref-validation-OPO6J7OL.js +2 -0
  453. package/dist/cli/chunks/{roocode-installer-46E626VZ.js → roocode-installer-ODY5KRWU.js} +2 -2
  454. package/dist/cli/chunks/router-MDHITQ2V.js +2 -0
  455. package/dist/cli/chunks/routing-feedback-5XLNJ3Y3.js +2 -0
  456. package/dist/cli/chunks/{routing-handler-ZNRVW6QW.js → routing-handler-KQM6VWLC.js} +4 -4
  457. package/dist/cli/chunks/{ruvector-commands-4L2CQMWS.js → ruvector-commands-U2GVV6PF.js} +2 -2
  458. package/dist/cli/chunks/rvf-dual-writer-JBW4O3II.js +2 -0
  459. package/dist/cli/chunks/rvf-migration-adapter-BPPQL4XJ.js +2 -0
  460. package/dist/cli/chunks/{rvf-migration-coordinator-H4RVGBIA.js → rvf-migration-coordinator-V2GHCJKN.js} +2 -2
  461. package/dist/cli/chunks/rvf-native-adapter-S4562CG5.js +2 -0
  462. package/dist/cli/chunks/rvf-store-integrity-KMIHD3LP.js +2 -0
  463. package/dist/cli/chunks/safe-db-FIRHSXVF.js +2 -0
  464. package/dist/cli/chunks/schedule-RVXFB4HK.js +2 -0
  465. package/dist/cli/chunks/scheduler-IKKAMAOO.js +2 -0
  466. package/dist/cli/chunks/security-P5NM353C.js +13 -0
  467. package/dist/cli/chunks/{shared-rvf-adapter-M6NNIZ5W.js → shared-rvf-adapter-LVIUOO4S.js} +2 -2
  468. package/dist/cli/chunks/{shared-rvf-dual-writer-LHMFCYVE.js → shared-rvf-dual-writer-2CSG7C4W.js} +2 -2
  469. package/dist/cli/chunks/sqlite-persistence-SQ3HCUQ7.js +2 -0
  470. package/dist/cli/chunks/{status-handler-GMIOXQIE.js → status-handler-6TU6O37R.js} +2 -2
  471. package/dist/cli/chunks/{structural-health-YZXHVHM6.js → structural-health-KBIJSTXJ.js} +2 -2
  472. package/dist/cli/chunks/{sync-GMPCPV5L.js → sync-LNHI5SB7.js} +2 -2
  473. package/dist/cli/chunks/{sync-N56UQGCS.js → sync-UHOX6RJW.js} +2 -2
  474. package/dist/cli/chunks/task-handler-AVDHMLGI.js +49 -0
  475. package/dist/cli/chunks/task-handlers-KYK4VTRA.js +9 -0
  476. package/dist/cli/chunks/{test-GQNCKRSP.js → test-DHAAI3DU.js} +11 -11
  477. package/dist/cli/chunks/test-scheduling-XDBZ3QC2.js +15 -0
  478. package/dist/cli/chunks/{token-bootstrap-76SRNXGG.js → token-bootstrap-GUTTLPZX.js} +2 -2
  479. package/dist/cli/chunks/{token-usage-O7CZDP5Q.js → token-usage-Q2YG5YQN.js} +2 -2
  480. package/dist/cli/chunks/{transformers-LTU4LSSC.js → transformers-F5UQTQCY.js} +2 -2
  481. package/dist/cli/chunks/{tree-sitter-wasm-parser-NQSQCMBM.js → tree-sitter-wasm-parser-DEGOHS6F.js} +2 -2
  482. package/dist/cli/chunks/types-JQ7EQO5Q.js +2 -0
  483. package/dist/cli/chunks/unified-memory-CXHLHB5I.js +2 -0
  484. package/dist/cli/chunks/unified-memory-hnsw-I7WAE54M.js +2 -0
  485. package/dist/cli/chunks/unified-persistence-6CPF65WI.js +2 -0
  486. package/dist/cli/chunks/{upgrade-OQWRBZ3R.js → upgrade-TJRVGHGD.js} +2 -2
  487. package/dist/cli/chunks/{validate-TH5SRP3E.js → validate-BWPCVHBN.js} +2 -2
  488. package/dist/cli/chunks/{validate-swarm-UITL2JUS.js → validate-swarm-QVVKCQLP.js} +2 -2
  489. package/dist/cli/chunks/{vibium-O6PRAG4J.js → vibium-ZFATIWHO.js} +2 -2
  490. package/dist/cli/chunks/visual-security-GNPHME5H.js +2 -0
  491. package/dist/cli/chunks/{web-tree-sitter-XBFBY4OF.js → web-tree-sitter-KPLY7ONR.js} +2 -2
  492. package/dist/cli/chunks/{windsurf-installer-DVT5NRNY.js → windsurf-installer-H7XM7ISA.js} +2 -2
  493. package/dist/cli/chunks/{witness-chain-VRSH2F36.js → witness-chain-RRN6NDCH.js} +2 -2
  494. package/dist/cli/chunks/witness-chain-VT4UHHBR.js +2 -0
  495. package/dist/cli/chunks/{witness-key-manager-GFHRDKQ4.js → witness-key-manager-DFRL42GE.js} +2 -2
  496. package/dist/cli/chunks/workflow-2ZQO6WYI.js +51 -0
  497. package/dist/cli/chunks/workflow-orchestrator-DB3HIECD.js +2 -0
  498. package/dist/cli/chunks/{wrappers-5LLLT7GM.js → wrappers-SUS6XEJD.js} +2 -2
  499. package/dist/cli/commands/ci.js +54 -28
  500. package/dist/cli/commands/code.js +6 -0
  501. package/dist/cli/commands/eval.js +3 -2
  502. package/dist/cli/commands/fleet.js +35 -16
  503. package/dist/cli/commands/learning-snapshot.d.ts +38 -0
  504. package/dist/cli/commands/learning-snapshot.js +171 -0
  505. package/dist/cli/commands/learning.js +16 -64
  506. package/dist/cli/commands/llm-router.js +13 -12
  507. package/dist/cli/commands/pipeline.js +9 -0
  508. package/dist/cli/commands/security.js +167 -100
  509. package/dist/cli/commands/test.js +1 -0
  510. package/dist/cli/commands/workflow.js +9 -1
  511. package/dist/cli/handlers/task-handler.js +19 -9
  512. package/dist/cli/helpers/domain-plugins.d.ts +5 -0
  513. package/dist/cli/helpers/domain-plugins.js +11 -0
  514. package/dist/cli/index.js +17 -8
  515. package/dist/cli/utils/ci-config.d.ts +3 -0
  516. package/dist/cli/utils/ci-output.d.ts +17 -0
  517. package/dist/cli/utils/ci-output.js +34 -2
  518. package/dist/context/sources/git-source.d.ts +2 -0
  519. package/dist/context/sources/git-source.js +9 -2
  520. package/dist/coordination/cancelled-task-settlement.d.ts +11 -0
  521. package/dist/coordination/cancelled-task-settlement.js +15 -0
  522. package/dist/coordination/consensus/providers/claude-provider.d.ts +2 -2
  523. package/dist/coordination/consensus/providers/claude-provider.js +18 -25
  524. package/dist/coordination/consensus/providers/gemini-provider.d.ts +14 -4
  525. package/dist/coordination/consensus/providers/gemini-provider.js +39 -36
  526. package/dist/coordination/consensus/providers/ollama-provider.d.ts +8 -7
  527. package/dist/coordination/consensus/providers/ollama-provider.js +16 -18
  528. package/dist/coordination/consensus/providers/openai-provider.d.ts +14 -4
  529. package/dist/coordination/consensus/providers/openai-provider.js +36 -34
  530. package/dist/coordination/consensus/providers/openrouter-provider.d.ts +5 -5
  531. package/dist/coordination/consensus/providers/openrouter-provider.js +64 -37
  532. package/dist/coordination/handlers/handler-types.d.ts +3 -0
  533. package/dist/coordination/handlers/quality-handlers.js +10 -0
  534. package/dist/coordination/handlers/security-handlers.js +168 -72
  535. package/dist/coordination/handlers/test-execution-handlers.js +39 -43
  536. package/dist/coordination/interfaces.d.ts +2 -2
  537. package/dist/coordination/protocol-executor.js +68 -9
  538. package/dist/coordination/protocols/security-audit.d.ts +3 -0
  539. package/dist/coordination/protocols/security-audit.js +61 -39
  540. package/dist/coordination/queen-coordinator.js +10 -4
  541. package/dist/coordination/queen-event-handlers.js +17 -0
  542. package/dist/coordination/queen-task-management.js +25 -0
  543. package/dist/coordination/queen-types.d.ts +2 -0
  544. package/dist/coordination/result-saver.js +36 -5
  545. package/dist/coordination/task-executor.d.ts +3 -1
  546. package/dist/coordination/task-executor.js +8 -8
  547. package/dist/coordination/workflow-composition.d.ts +19 -0
  548. package/dist/coordination/workflow-composition.js +114 -0
  549. package/dist/coordination/workflow-orchestrator.d.ts +3 -2
  550. package/dist/coordination/workflow-orchestrator.js +219 -85
  551. package/dist/coordination/workflow-types.d.ts +30 -1
  552. package/dist/coordination/yaml-pipeline-loader.js +9 -5
  553. package/dist/domains/chaos-resilience/services/chaos-engineer.js +2 -7
  554. package/dist/domains/code-intelligence/services/knowledge-graph.js +2 -7
  555. package/dist/domains/code-intelligence/services/metric-collector/test-counter.js +9 -40
  556. package/dist/domains/constants.d.ts +1 -6
  557. package/dist/domains/constants.js +2 -6
  558. package/dist/domains/contract-testing/services/contract-validator.js +2 -7
  559. package/dist/domains/coverage-analysis/services/coverage-analyzer.js +2 -12
  560. package/dist/domains/coverage-analysis/services/gap-detector.js +2 -7
  561. package/dist/domains/defect-intelligence/services/defect-predictor.js +2 -12
  562. package/dist/domains/defect-intelligence/services/root-cause-analyzer.js +2 -7
  563. package/dist/domains/learning-optimization/services/learning-coordinator.js +2 -7
  564. package/dist/domains/quality-assessment/services/deployment-advisor.js +2 -7
  565. package/dist/domains/quality-assessment/services/quality-analyzer.js +2 -7
  566. package/dist/domains/requirements-validation/services/requirements-validator.js +2 -7
  567. package/dist/domains/security-compliance/interfaces.d.ts +5 -0
  568. package/dist/domains/security-compliance/interfaces.js +0 -6
  569. package/dist/domains/security-compliance/scan-discovery.d.ts +12 -0
  570. package/dist/domains/security-compliance/scan-discovery.js +105 -0
  571. package/dist/domains/security-compliance/scan-evidence.d.ts +57 -0
  572. package/dist/domains/security-compliance/scan-evidence.js +2 -0
  573. package/dist/domains/security-compliance/services/scanners/sast-scanner.d.ts +3 -2
  574. package/dist/domains/security-compliance/services/scanners/sast-scanner.js +112 -72
  575. package/dist/domains/security-compliance/services/semgrep-integration.d.ts +9 -2
  576. package/dist/domains/security-compliance/services/semgrep-integration.js +68 -20
  577. package/dist/domains/test-execution/services/flaky-detector.js +46 -5
  578. package/dist/domains/test-execution/services/retry-handler.js +38 -20
  579. package/dist/domains/test-execution/services/test-executor.js +84 -29
  580. package/dist/domains/test-generation/services/test-generator.js +2 -7
  581. package/dist/domains/visual-accessibility/services/visual-tester.js +2 -7
  582. package/dist/init/init-wizard-hooks.js +2 -2
  583. package/dist/init/init-wizard-steps.js +1 -1
  584. package/dist/init/kiro-installer.js +9 -8
  585. package/dist/init/opencode-installer.js +1 -1
  586. package/dist/init/phases/07-hooks.js +4 -2
  587. package/dist/init/phases/12-verification.js +1 -1
  588. package/dist/init/settings-merge.d.ts +10 -3
  589. package/dist/init/settings-merge.js +40 -9
  590. package/dist/integrations/agentic-flow/model-router/types.js +6 -8
  591. package/dist/integrations/agentic-flow/reasoning-bank/index.js +3 -20
  592. package/dist/integrations/coherence/engines/cohomology-adapter.js +100 -30
  593. package/dist/integrations/ruvector/brain-exporter.js +9 -15
  594. package/dist/integrations/ruvector/brain-rvf-exporter.js +17 -30
  595. package/dist/integrations/ruvector/brain-shared.d.ts +5 -1
  596. package/dist/integrations/ruvector/brain-shared.js +70 -4
  597. package/dist/integrations/ruvector/rvf-dual-writer.js +36 -15
  598. package/dist/integrations/ruvector/rvf-store-integrity.d.ts +14 -9
  599. package/dist/integrations/ruvector/rvf-store-integrity.js +39 -9
  600. package/dist/integrations/ruvector/shared-rvf-adapter.js +20 -23
  601. package/dist/kernel/memory-factory.js +14 -4
  602. package/dist/kernel/project-root.js +10 -8
  603. package/dist/kernel/unified-memory.js +1 -1
  604. package/dist/learning/local-judge-client.d.ts +6 -5
  605. package/dist/learning/local-judge-client.js +7 -6
  606. package/dist/learning/pattern-store.js +29 -11
  607. package/dist/mcp/bundle.js +548 -527
  608. package/dist/mcp/handlers/domain-handler-configs.d.ts +22 -1
  609. package/dist/mcp/handlers/domain-handler-configs.js +50 -19
  610. package/dist/mcp/handlers/domain-handlers.d.ts +7 -5
  611. package/dist/mcp/handlers/domain-handlers.js +7 -5
  612. package/dist/mcp/handlers/index.d.ts +1 -1
  613. package/dist/mcp/handlers/index.js +1 -1
  614. package/dist/mcp/handlers/pipeline-handlers.d.ts +31 -1
  615. package/dist/mcp/handlers/pipeline-handlers.js +63 -0
  616. package/dist/mcp/handlers/task-handlers.d.ts +1 -0
  617. package/dist/mcp/handlers/task-handlers.js +12 -4
  618. package/dist/mcp/protocol-server.d.ts +2 -0
  619. package/dist/mcp/protocol-server.js +112 -53
  620. package/dist/mcp/security/sampling-server.js +2 -1
  621. package/dist/mcp/tool-annotations.js +1 -1
  622. package/dist/mcp/tools/test-execution/schedule.js +7 -0
  623. package/dist/mcp/types.d.ts +10 -1
  624. package/dist/optimization/session-cache.d.ts +5 -0
  625. package/dist/optimization/session-cache.js +23 -0
  626. package/dist/routing/advisor/multi-model-executor.d.ts +4 -1
  627. package/dist/routing/advisor/multi-model-executor.js +8 -1
  628. package/dist/routing/free-tier/ladder.d.ts +2 -1
  629. package/dist/routing/free-tier/ladder.js +3 -2
  630. package/dist/routing/security/cyber-pin.d.ts +35 -11
  631. package/dist/routing/security/cyber-pin.js +76 -14
  632. package/dist/routing/value-score.js +1 -1
  633. package/dist/shared/git/index.d.ts +1 -0
  634. package/dist/shared/git/index.js +1 -0
  635. package/dist/shared/git/ref-validation.d.ts +20 -0
  636. package/dist/shared/git/ref-validation.js +43 -0
  637. package/dist/shared/llm/anthropic-params.d.ts +40 -0
  638. package/dist/shared/llm/anthropic-params.js +51 -0
  639. package/dist/shared/llm/cost-tracker.d.ts +15 -2
  640. package/dist/shared/llm/cost-tracker.js +62 -10
  641. package/dist/shared/llm/index.d.ts +2 -2
  642. package/dist/shared/llm/index.js +2 -2
  643. package/dist/shared/llm/interfaces.d.ts +1 -1
  644. package/dist/shared/llm/metrics/cost-metrics.js +5 -4
  645. package/dist/shared/llm/model-mapping.js +131 -0
  646. package/dist/shared/llm/model-registry.d.ts +37 -11
  647. package/dist/shared/llm/model-registry.js +393 -18
  648. package/dist/shared/llm/openai-params.d.ts +35 -0
  649. package/dist/shared/llm/openai-params.js +54 -0
  650. package/dist/shared/llm/provider-manager.js +4 -3
  651. package/dist/shared/llm/providers/azure-openai.d.ts +11 -0
  652. package/dist/shared/llm/providers/azure-openai.js +26 -15
  653. package/dist/shared/llm/providers/bedrock.js +11 -19
  654. package/dist/shared/llm/providers/claude.js +6 -29
  655. package/dist/shared/llm/providers/codex.js +4 -3
  656. package/dist/shared/llm/providers/gemini.d.ts +3 -2
  657. package/dist/shared/llm/providers/gemini.js +19 -10
  658. package/dist/shared/llm/providers/ollama.d.ts +2 -0
  659. package/dist/shared/llm/providers/ollama.js +30 -20
  660. package/dist/shared/llm/providers/openai.js +10 -17
  661. package/dist/shared/llm/providers/openrouter.d.ts +1 -1
  662. package/dist/shared/llm/providers/openrouter.js +57 -21
  663. package/dist/shared/llm/router/agent-router-config.js +33 -32
  664. package/dist/shared/llm/router/hybrid-router.d.ts +4 -0
  665. package/dist/shared/llm/router/hybrid-router.js +95 -35
  666. package/dist/shared/llm/router/routing-rules.js +9 -8
  667. package/dist/shared/llm/router/types.d.ts +9 -2
  668. package/dist/shared/llm/router/types.js +81 -13
  669. package/dist/shared/llm/translation/message-formatter.js +4 -23
  670. package/dist/shared/test-runner-verdict.d.ts +29 -0
  671. package/dist/shared/test-runner-verdict.js +43 -0
  672. package/dist/shared/vitest-json-report.d.ts +45 -0
  673. package/dist/shared/vitest-json-report.js +80 -0
  674. package/dist/test-scheduling/executors/vitest-executor.d.ts +7 -2
  675. package/dist/test-scheduling/executors/vitest-executor.js +174 -52
  676. package/dist/test-scheduling/git-aware/test-selector.js +3 -0
  677. package/dist/test-scheduling/phase-scheduler.d.ts +1 -0
  678. package/dist/test-scheduling/phase-scheduler.js +23 -1
  679. package/dist/validation/frontier-judge.d.ts +7 -4
  680. package/dist/validation/frontier-judge.js +11 -6
  681. package/package.json +6 -6
  682. package/dist/cli/chunks/adapter-OJF6LAJV.js +0 -2
  683. package/dist/cli/chunks/aqe-learning-engine-FGT474XB.js +0 -2
  684. package/dist/cli/chunks/base-HH765JFV.js +0 -2
  685. package/dist/cli/chunks/brain-handler-5FSA46R5.js +0 -90
  686. package/dist/cli/chunks/browser-workflow-NPM4FUPI.js +0 -2
  687. package/dist/cli/chunks/chunk-2LKAMMMI.js +0 -2
  688. package/dist/cli/chunks/chunk-4AKGBUYD.js +0 -4
  689. package/dist/cli/chunks/chunk-4MH22236.js +0 -2
  690. package/dist/cli/chunks/chunk-4PH7O5ZH.js +0 -2
  691. package/dist/cli/chunks/chunk-4UCMTYFQ.js +0 -65
  692. package/dist/cli/chunks/chunk-DRO5NJZA.js +0 -11
  693. package/dist/cli/chunks/chunk-FPHPP5TQ.js +0 -2
  694. package/dist/cli/chunks/chunk-FREF6Y4L.js +0 -14
  695. package/dist/cli/chunks/chunk-G6AV2HGY.js +0 -54
  696. package/dist/cli/chunks/chunk-GJAWEUIN.js +0 -16
  697. package/dist/cli/chunks/chunk-IUNMW454.js +0 -2
  698. package/dist/cli/chunks/chunk-JDXLCNKV.js +0 -2
  699. package/dist/cli/chunks/chunk-OC2CKU7I.js +0 -2
  700. package/dist/cli/chunks/chunk-OX6T26CD.js +0 -180
  701. package/dist/cli/chunks/chunk-PHHXHG2W.js +0 -2
  702. package/dist/cli/chunks/chunk-SEHCX4NH.js +0 -2
  703. package/dist/cli/chunks/chunk-TENYL5TI.js +0 -14
  704. package/dist/cli/chunks/chunk-U2AY57XZ.js +0 -5
  705. package/dist/cli/chunks/chunk-UYTWDS2R.js +0 -2
  706. package/dist/cli/chunks/chunk-VSYBMNIR.js +0 -2
  707. package/dist/cli/chunks/chunk-WBMRADQP.js +0 -81
  708. package/dist/cli/chunks/chunk-ZWRQ5VAU.js +0 -2
  709. package/dist/cli/chunks/chunk-ZYLSOBOR.js +0 -2
  710. package/dist/cli/chunks/ci-NTRH7PAW.js +0 -81
  711. package/dist/cli/chunks/ci-output-F57RSD35.js +0 -2
  712. package/dist/cli/chunks/client-GPZEC54E.js +0 -2
  713. package/dist/cli/chunks/complexity-analyzer-3FNFLACD.js +0 -2
  714. package/dist/cli/chunks/core-handlers-YMGHYIBR.js +0 -2
  715. package/dist/cli/chunks/cost-tracker-LTZAQBX7.js +0 -2
  716. package/dist/cli/chunks/cross-domain-router-ECBNTGYJ.js +0 -2
  717. package/dist/cli/chunks/dream-EHGKCFWH.js +0 -2
  718. package/dist/cli/chunks/eval-GL544IPO.js +0 -17
  719. package/dist/cli/chunks/fleet-DQVQQONW.js +0 -43
  720. package/dist/cli/chunks/heartbeat-scheduler-UFEL2CBW.js +0 -2
  721. package/dist/cli/chunks/hnsw-adapter-BLSD45CX.js +0 -2
  722. package/dist/cli/chunks/hnsw-index-A3RZODEN.js +0 -2
  723. package/dist/cli/chunks/impact-analyzer-OXHD3FOH.js +0 -2
  724. package/dist/cli/chunks/init-wizard-PKZL7QBU.js +0 -2
  725. package/dist/cli/chunks/kernel-XWPM72UJ.js +0 -2
  726. package/dist/cli/chunks/knowledge-graph-FRKR5XWI.js +0 -2
  727. package/dist/cli/chunks/learning-EV5LSOOM.js +0 -122
  728. package/dist/cli/chunks/llm-router-7LYDJUOT.js +0 -37
  729. package/dist/cli/chunks/llm-router-service-R7A5HHDM.js +0 -2
  730. package/dist/cli/chunks/load-test-5IKDWSYL.js +0 -2
  731. package/dist/cli/chunks/memory-backend-7VW5QCMO.js +0 -2
  732. package/dist/cli/chunks/memory-handlers-VZH3R2TQ.js +0 -2
  733. package/dist/cli/chunks/multi-model-executor-R6XCTMCF.js +0 -14
  734. package/dist/cli/chunks/pattern-null-store-BU6LCB2W.js +0 -2
  735. package/dist/cli/chunks/pipeline-SR5OTY45.js +0 -19
  736. package/dist/cli/chunks/protocol-executor-BSP5LWJN.js +0 -2
  737. package/dist/cli/chunks/qe-reasoning-bank-J2RC7P25.js +0 -2
  738. package/dist/cli/chunks/queen-coordinator-XI5AJV2V.js +0 -2
  739. package/dist/cli/chunks/router-VXQYYA3D.js +0 -2
  740. package/dist/cli/chunks/routing-feedback-HZQTASFF.js +0 -2
  741. package/dist/cli/chunks/rvf-dual-writer-BDTLLJER.js +0 -2
  742. package/dist/cli/chunks/rvf-migration-adapter-IB343MDN.js +0 -2
  743. package/dist/cli/chunks/rvf-native-adapter-Y7SN7LHU.js +0 -2
  744. package/dist/cli/chunks/rvf-store-integrity-OJGWWPLL.js +0 -2
  745. package/dist/cli/chunks/safe-db-2VTKKBJU.js +0 -2
  746. package/dist/cli/chunks/schedule-QJ4CFGJY.js +0 -2
  747. package/dist/cli/chunks/scheduler-2NHDQPC3.js +0 -2
  748. package/dist/cli/chunks/security-JF3BVNRO.js +0 -14
  749. package/dist/cli/chunks/sqlite-persistence-NVVAPZN3.js +0 -2
  750. package/dist/cli/chunks/task-handler-VTNRGAXP.js +0 -49
  751. package/dist/cli/chunks/task-handlers-FYSDH55N.js +0 -9
  752. package/dist/cli/chunks/test-scheduling-GPRXSIRP.js +0 -15
  753. package/dist/cli/chunks/types-OP6IWE6N.js +0 -2
  754. package/dist/cli/chunks/unified-memory-DSTIEDSH.js +0 -2
  755. package/dist/cli/chunks/unified-memory-hnsw-KBV3P4OS.js +0 -2
  756. package/dist/cli/chunks/unified-persistence-XKCOUBKY.js +0 -2
  757. package/dist/cli/chunks/visual-security-TTWSPZTZ.js +0 -2
  758. package/dist/cli/chunks/witness-chain-2KY73HPN.js +0 -2
  759. package/dist/cli/chunks/workflow-HAZ6YKOG.js +0 -51
  760. package/dist/cli/chunks/workflow-orchestrator-UK56AVOT.js +0 -2
@@ -2,16 +2,28 @@
2
2
  * Agentic QE v3 - Cyber Verification Pin
3
3
  * ADR-093: Opus 4.7 Migration
4
4
  *
5
- * Security and pentest agents may trip Opus 4.7's real-time cybersecurity
6
- * safeguards until the organization is enrolled in Anthropic's Cyber
7
- * Verification Program. This module pins those agents to a fallback model
8
- * until `AQE_CYBER_VERIFIED=true`.
5
+ * Security and pentest agents may trip the real-time cybersecurity
6
+ * safeguards that ship with Opus 4.7 and later Opus/Fable-class models until
7
+ * the organization is enrolled in Anthropic's Cyber Verification Program.
8
+ * This module pins those agents to a fallback model until
9
+ * `AQE_CYBER_VERIFIED=true`.
9
10
  *
10
11
  * Applied in BOTH:
11
12
  * - HybridRouter.chat() — catches direct routing calls
12
13
  * - MultiModelExecutor.consult() — catches advisor escalations
13
14
  *
14
- * so security agents cannot reach 4.7 by any code path until verified.
15
+ * HybridRouter also re-pins its fallback candidates (default model and
16
+ * fallback chain), so a failed primary cannot escalate a pinned agent. Scope:
17
+ * the pin covers the Opus/Fable-class models that ship these safeguards; it
18
+ * does NOT restrict ordinary Sonnet routing (security tasks may route to the
19
+ * default Sonnet).
20
+
21
+ *
22
+ * 2026-09 model refresh: the gate was generalized from Opus 4.7 only to every
23
+ * Opus/Fable model at or above 4.7, including the Claude Code aliases
24
+ * `opus` / `fable` (see {@link isCyberGatedModel}). Routing tier 4 and the
25
+ * default advisor now target Opus 5.5; matching 4.7 alone would have left the
26
+ * pin unreachable.
15
27
  */
16
28
  /**
17
29
  * Agent names subject to the cyber pin. These are the agents covered by
@@ -28,23 +40,58 @@ export const CYBER_PINNED_AGENTS = [
28
40
  'qe-security-reviewer',
29
41
  ];
30
42
  /**
31
- * Fallback advisor model for cyber-pinned agents. Sonnet 4.6 on OpenRouter.
43
+ * Fallback model for pinned requests. Deliberately Sonnet 4.6 — the model
44
+ * docs/security/cyber-verification-application.md names for security agents —
45
+ * rather than DEFAULT_SONNET_MODEL, so the pin's target stays the documented,
46
+ * reviewed model across default bumps. (Claude Code maps model IDs to its
47
+ * `sonnet` alias, so on that provider the fallback runs on the CLI's Sonnet.)
48
+ * Sonnet 4.6 is served until at least 2027-02-17.
49
+ */
50
+ const CYBER_PIN_SONNET = 'claude-sonnet-4-6';
51
+ /**
52
+ * Fallback advisor model for cyber-pinned agents, in OpenRouter form.
32
53
  * Used by MultiModelExecutor.consult.
33
54
  */
34
- export const CYBER_PIN_ADVISOR_FALLBACK = 'anthropic/claude-sonnet-4.6';
55
+ export const CYBER_PIN_ADVISOR_FALLBACK = `anthropic/${CYBER_PIN_SONNET.replace('4-6', '4.6')}`;
35
56
  /**
36
57
  * Fallback chat model for cyber-pinned agents when targeting the Anthropic
37
58
  * provider directly. Used by HybridRouter.chat.
38
59
  */
39
- export const CYBER_PIN_CHAT_FALLBACK = 'claude-sonnet-4-6';
60
+ export const CYBER_PIN_CHAT_FALLBACK = CYBER_PIN_SONNET;
40
61
  /**
41
- * Returns true if the model ID targets Opus 4.7 in any known form:
42
- * canonical (claude-opus-4-7), OpenRouter (anthropic/claude-opus-4.7),
43
- * or Bedrock (anthropic.claude-opus-4-7-v1:0).
62
+ * Family + version in any known ID form: canonical (claude-opus-5-5),
63
+ * OpenRouter (anthropic/claude-opus-5.5), Bedrock (anthropic.claude-opus-4-7-v1:0)
64
+ * and dated snapshots (claude-opus-4-5-20251101). The minor version is at most
65
+ * two digits so a date suffix (claude-opus-4-20250514) is not read as one.
44
66
  */
45
- export function isOpus47(modelId) {
46
- return (modelId.includes('claude-opus-4-7') || modelId.includes('claude-opus-4.7'));
67
+ const CLI_GATED_ALIASES = new Set(['opus', 'fable']);
68
+ const OPUS_FABLE_ID = /claude-(opus|fable)-(\d+)(?:[-.](\d{1,2})(?!\d))?/;
69
+ /** First Opus/Fable version that ships the cyber safeguards. */
70
+ const CYBER_GATE_MIN = { major: 4, minor: 7 };
71
+ /**
72
+ * Returns true if the model ID is an Opus- or Fable-class model at or above
73
+ * 4.7 (claude-opus-4-7, claude-opus-4-8, claude-opus-5, claude-opus-5-5,
74
+ * claude-fable-5, claude-fable-5-1, …) in canonical, OpenRouter or Bedrock
75
+ * form. Sonnet, Haiku and Opus below 4.7 are not gated.
76
+ */
77
+ export function isCyberGatedModel(modelId) {
78
+ const id = modelId.trim().toLowerCase();
79
+ // Claude Code CLI aliases resolve to the latest Opus/Fable (>= 4.7).
80
+ if (CLI_GATED_ALIASES.has(id))
81
+ return true;
82
+ const match = OPUS_FABLE_ID.exec(id);
83
+ if (!match)
84
+ return false;
85
+ const major = Number(match[2]);
86
+ const minor = match[3] === undefined ? 0 : Number(match[3]);
87
+ return (major > CYBER_GATE_MIN.major ||
88
+ (major === CYBER_GATE_MIN.major && minor >= CYBER_GATE_MIN.minor));
47
89
  }
90
+ /**
91
+ * @deprecated Use {@link isCyberGatedModel}. Kept as an alias for existing
92
+ * callers; it matches every cyber-gated model, not only Opus 4.7.
93
+ */
94
+ export const isOpus47 = isCyberGatedModel;
48
95
  /**
49
96
  * Returns true if the agent is cyber-pinned and env does not grant
50
97
  * Cyber Verification bypass. Case-sensitive "true" only — '1', 'yes',
@@ -68,8 +115,23 @@ export function shouldCyberPin(agentName, env = process.env) {
68
115
  export function applyCyberPin(agentName, requestedModel, fallback, env = process.env) {
69
116
  if (!shouldCyberPin(agentName, env))
70
117
  return requestedModel;
71
- if (!isOpus47(requestedModel))
118
+ if (!isCyberGatedModel(requestedModel))
72
119
  return requestedModel;
73
120
  return fallback;
74
121
  }
122
+ /**
123
+ * The pinned Sonnet 4.6 fallback in the model-ID form a given provider
124
+ * expects, so a pinned request stays routable (OpenRouter needs the dotted
125
+ * `anthropic/…` slug, Bedrock the `anthropic.…-v1:0` form).
126
+ */
127
+ export function cyberPinFallbackFor(provider) {
128
+ switch (provider) {
129
+ case 'openrouter':
130
+ return CYBER_PIN_ADVISOR_FALLBACK;
131
+ case 'bedrock':
132
+ return 'anthropic.claude-sonnet-4-6-v1:0';
133
+ default:
134
+ return CYBER_PIN_CHAT_FALLBACK;
135
+ }
136
+ }
75
137
  //# sourceMappingURL=cyber-pin.js.map
@@ -52,6 +52,6 @@ export const MEASURED_QE_TEST_GEN = [
52
52
  { model: 'qwen2.5-coder:7b', quality: 0.50, costPerInstance: 0 }, // 2026-06-29: stock 7B coder = 4/8 (50%) — beats general qwen3:8b (38%), 16× faster; ~25pp below 30B (PEFT-tune target)
53
53
  { model: 'qwen2.5-coder:1.5b', quality: 0.08, costPerInstance: 0 }, // 2026-06-29: stock 1.5B coder = 1/8 (8%); below floor, size dominates coder-tuning at tiny scale
54
54
  { model: 'z-ai/glm-5.2', quality: 0.71, costPerInstance: 0.0065 }, // A12: diverse, higher per-model best
55
- { model: 'claude-sonnet-4-6', quality: 0.83, costPerInstance: 0.045 }, // D3: frontier ceiling
55
+ { model: 'claude-sonnet-4-6', quality: 0.83, costPerInstance: 0.045 }, // D3: measured frontier reference as of 2026-06-24 (not re-run on newer models)
56
56
  ];
57
57
  //# sourceMappingURL=value-score.js.map
@@ -3,4 +3,5 @@
3
3
  */
4
4
  export { GitAnalyzer } from './git-analyzer';
5
5
  export type { GitAnalyzerConfig, GitCommit, GitBlameInfo, FileHistory, } from './git-analyzer';
6
+ export { assertSafeGitRef, getGitRefError } from './ref-validation';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -2,4 +2,5 @@
2
2
  * Agentic QE v3 - Git Analysis Utilities
3
3
  */
4
4
  export { GitAnalyzer } from './git-analyzer.js';
5
+ export { assertSafeGitRef, getGitRefError } from './ref-validation.js';
5
6
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Agentic QE v3 - Git ref validation
3
+ *
4
+ * Caller-supplied refs (MCP tool arguments, CLI flags) are passed to git as
5
+ * positional argv entries. Even without a shell, a value beginning with "-"
6
+ * is parsed by git as an option (e.g. `--output=<path>` makes `git diff`
7
+ * create or truncate an arbitrary file), so refs must be validated at the
8
+ * boundary before reaching git.
9
+ */
10
+ /**
11
+ * Returns an error message when `ref` is not a safe git revision argument,
12
+ * or undefined when it is safe. Accepts ordinary revisions such as `main`,
13
+ * `origin/main`, `HEAD~3`, `v1.2.0^{commit}` and commit SHAs.
14
+ */
15
+ export declare function getGitRefError(ref: unknown, label?: string): string | undefined;
16
+ /**
17
+ * Throws when `ref` is not a safe git revision argument.
18
+ */
19
+ export declare function assertSafeGitRef(ref: unknown, label?: string): asserts ref is string;
20
+ //# sourceMappingURL=ref-validation.d.ts.map
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Agentic QE v3 - Git ref validation
3
+ *
4
+ * Caller-supplied refs (MCP tool arguments, CLI flags) are passed to git as
5
+ * positional argv entries. Even without a shell, a value beginning with "-"
6
+ * is parsed by git as an option (e.g. `--output=<path>` makes `git diff`
7
+ * create or truncate an arbitrary file), so refs must be validated at the
8
+ * boundary before reaching git.
9
+ */
10
+ const MAX_GIT_REF_LENGTH = 256;
11
+ // Whitespace and ASCII control characters are never valid in a revision.
12
+ // eslint-disable-next-line no-control-regex
13
+ const UNSAFE_REF_CHARS = /[\s\x00-\x1f\x7f]/;
14
+ /**
15
+ * Returns an error message when `ref` is not a safe git revision argument,
16
+ * or undefined when it is safe. Accepts ordinary revisions such as `main`,
17
+ * `origin/main`, `HEAD~3`, `v1.2.0^{commit}` and commit SHAs.
18
+ */
19
+ export function getGitRefError(ref, label = 'git ref') {
20
+ if (typeof ref !== 'string' || ref.length === 0) {
21
+ return `Invalid ${label}: must be a non-empty string`;
22
+ }
23
+ if (ref.length > MAX_GIT_REF_LENGTH) {
24
+ return `Invalid ${label}: longer than ${MAX_GIT_REF_LENGTH} characters`;
25
+ }
26
+ if (ref.startsWith('-')) {
27
+ return `Invalid ${label} "${ref}": must not start with "-"`;
28
+ }
29
+ if (UNSAFE_REF_CHARS.test(ref)) {
30
+ return `Invalid ${label}: must not contain whitespace or control characters`;
31
+ }
32
+ return undefined;
33
+ }
34
+ /**
35
+ * Throws when `ref` is not a safe git revision argument.
36
+ */
37
+ export function assertSafeGitRef(ref, label = 'git ref') {
38
+ const error = getGitRefError(ref, label);
39
+ if (error) {
40
+ throw new Error(error);
41
+ }
42
+ }
43
+ //# sourceMappingURL=ref-validation.js.map
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Agentic QE v3 - Anthropic Messages API parameter policy
3
+ *
4
+ * Newer Claude models reject request fields that older ones accepted:
5
+ * `temperature` / `top_p` / `top_k` return 400 ("`temperature` is deprecated
6
+ * for this model") on Opus 4.7+, Sonnet 5 and the Fable family, and effort
7
+ * must be sent as `output_config.effort` (a nested `thinking.effort` is
8
+ * rejected). Every Anthropic-format request builder applies this policy so a
9
+ * model bump cannot silently break calls.
10
+ */
11
+ import { type EffortLevel } from './effort-resolver';
12
+ export interface AnthropicParamPolicy {
13
+ /** Whether `temperature` (and other sampling params) may be sent. */
14
+ sendSampling: boolean;
15
+ /** Whether `output_config.effort` is accepted. */
16
+ supportsEffort: boolean;
17
+ }
18
+ /**
19
+ * Parameter policy for a model ID (canonical, dated, Bedrock, or OpenRouter
20
+ * form). Models missing from the registry get the conservative policy:
21
+ * no sampling params (current models reject them; retired models no longer
22
+ * serve requests) and no effort.
23
+ */
24
+ export declare function getAnthropicParamPolicy(model: string): AnthropicParamPolicy;
25
+ export interface AnthropicParamInput {
26
+ temperature?: number;
27
+ /**
28
+ * Explicit effort. When omitted, flagship (Opus/Fable-class) models get the
29
+ * fleet effort (QE_EFFORT_LEVEL > config/fleet-defaults.yaml > xhigh, per
30
+ * ADR-093); other models keep their API default to avoid raising cost on
31
+ * every Sonnet/Haiku call.
32
+ */
33
+ effort?: EffortLevel;
34
+ }
35
+ /**
36
+ * Add sampling and effort fields to an Anthropic Messages request body
37
+ * according to the model's policy. Mutates and returns `body`.
38
+ */
39
+ export declare function applyAnthropicParams(body: Record<string, unknown>, model: string, input: AnthropicParamInput): Record<string, unknown>;
40
+ //# sourceMappingURL=anthropic-params.d.ts.map
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Agentic QE v3 - Anthropic Messages API parameter policy
3
+ *
4
+ * Newer Claude models reject request fields that older ones accepted:
5
+ * `temperature` / `top_p` / `top_k` return 400 ("`temperature` is deprecated
6
+ * for this model") on Opus 4.7+, Sonnet 5 and the Fable family, and effort
7
+ * must be sent as `output_config.effort` (a nested `thinking.effort` is
8
+ * rejected). Every Anthropic-format request builder applies this policy so a
9
+ * model bump cannot silently break calls.
10
+ */
11
+ import { getModelCapabilities, getModelInfo } from './model-registry.js';
12
+ import { resolveEffortLevel } from './effort-resolver.js';
13
+ /**
14
+ * Parameter policy for a model ID (canonical, dated, Bedrock, or OpenRouter
15
+ * form). Models missing from the registry get the conservative policy:
16
+ * no sampling params (current models reject them; retired models no longer
17
+ * serve requests) and no effort.
18
+ */
19
+ export function getAnthropicParamPolicy(model) {
20
+ try {
21
+ const caps = getModelCapabilities(model);
22
+ return {
23
+ sendSampling: caps.supportsSamplingParams !== false,
24
+ supportsEffort: caps.supportsEffortXHigh === true,
25
+ };
26
+ }
27
+ catch {
28
+ return { sendSampling: false, supportsEffort: false };
29
+ }
30
+ }
31
+ /**
32
+ * Add sampling and effort fields to an Anthropic Messages request body
33
+ * according to the model's policy. Mutates and returns `body`.
34
+ */
35
+ export function applyAnthropicParams(body, model, input) {
36
+ const policy = getAnthropicParamPolicy(model);
37
+ if (policy.sendSampling && input.temperature !== undefined) {
38
+ body.temperature = input.temperature;
39
+ }
40
+ if (policy.supportsEffort) {
41
+ const effort = input.effort ?? (isFlagship(model) ? resolveEffortLevel() : undefined);
42
+ if (effort !== undefined) {
43
+ body.output_config = { effort };
44
+ }
45
+ }
46
+ return body;
47
+ }
48
+ function isFlagship(model) {
49
+ return getModelInfo(model)?.tier === 'flagship';
50
+ }
51
+ //# sourceMappingURL=anthropic-params.js.map
@@ -7,14 +7,27 @@
7
7
  */
8
8
  import { LLMProviderType, TokenUsage, CostInfo, CostPeriod, CostSummary } from './interfaces';
9
9
  /**
10
- * Token pricing per model (cost per 1M tokens in USD)
11
- * Prices as of early 2025 - should be updated periodically
10
+ * Token pricing per model (cost per 1M tokens in USD).
11
+ * Current-generation prices verified 2026-09-27 (Anthropic docs, OpenRouter
12
+ * catalog). Models missing here fall back to the model registry via
13
+ * `resolveModelPricing()` before being treated as free/local.
12
14
  */
13
15
  export declare const MODEL_PRICING: Record<string, {
14
16
  input: number;
15
17
  output: number;
16
18
  provider: LLMProviderType;
17
19
  }>;
20
+ /**
21
+ * Resolve per-million-token pricing for a model. Exact `MODEL_PRICING` keys
22
+ * win; otherwise the model registry is consulted (it normalizes provider
23
+ * IDs such as `anthropic/claude-sonnet-5` or dated Anthropic IDs). Returns
24
+ * `undefined` only when neither source knows the model, which callers treat
25
+ * as a free/local model.
26
+ */
27
+ export declare function resolveModelPricing(model: string): {
28
+ input: number;
29
+ output: number;
30
+ } | undefined;
18
31
  /**
19
32
  * Usage record for a single request
20
33
  */
@@ -6,25 +6,41 @@
6
6
  * Supports cost limits, alerts, and detailed breakdowns.
7
7
  */
8
8
  import { randomUUID } from 'crypto';
9
+ import { getModelCost } from './model-registry.js';
9
10
  /**
10
- * Token pricing per model (cost per 1M tokens in USD)
11
- * Prices as of early 2025 - should be updated periodically
11
+ * Token pricing per model (cost per 1M tokens in USD).
12
+ * Current-generation prices verified 2026-09-27 (Anthropic docs, OpenRouter
13
+ * catalog). Models missing here fall back to the model registry via
14
+ * `resolveModelPricing()` before being treated as free/local.
12
15
  */
13
16
  export const MODEL_PRICING = {
14
- // Claude models
17
+ // Claude models — current generation (2026-09 model refresh)
18
+ 'claude-sonnet-5': { input: 2.0, output: 10.0, provider: 'claude' },
19
+ 'claude-opus-5': { input: 5.0, output: 25.0, provider: 'claude' },
20
+ 'claude-opus-5-5': { input: 4.0, output: 20.0, provider: 'claude' },
21
+ 'claude-fable-5-1': { input: 10.0, output: 50.0, provider: 'claude' },
22
+ 'claude-fable-5': { input: 10.0, output: 50.0, provider: 'claude' },
23
+ 'claude-opus-4-8': { input: 5.0, output: 25.0, provider: 'claude' },
15
24
  // ADR-093: Opus 4.7 (2026-04-16), Sonnet 4.6, Haiku 4.5 (Apr 2026 cluster)
16
25
  'claude-opus-4-7': { input: 5.0, output: 25.0, provider: 'claude' },
17
26
  'claude-sonnet-4-6': { input: 3.0, output: 15.0, provider: 'claude' },
18
27
  'claude-haiku-4-5-20251001': { input: 1.0, output: 5.0, provider: 'claude' },
19
- // Retiring 2026-06-15 — kept for existing traffic during transition
20
- 'claude-opus-4-5-20251101': { input: 15.0, output: 75.0, provider: 'claude' },
28
+ 'claude-haiku-4-5': { input: 1.0, output: 5.0, provider: 'claude' },
29
+ // Previous generation, still served
30
+ 'claude-opus-4-5-20251101': { input: 5.0, output: 25.0, provider: 'claude' },
31
+ 'claude-opus-4-6': { input: 5.0, output: 25.0, provider: 'claude' },
32
+ // Retired — kept only to price historical usage records
21
33
  'claude-sonnet-4-20250514': { input: 3.0, output: 15.0, provider: 'claude' },
22
34
  'claude-3-5-haiku-20241022': { input: 1.0, output: 5.0, provider: 'claude' },
23
- // Legacy Claude models
35
+ // Legacy Claude models (retired)
24
36
  'claude-3-opus-20240229': { input: 15.0, output: 75.0, provider: 'claude' },
25
37
  'claude-3-sonnet-20240229': { input: 3.0, output: 15.0, provider: 'claude' },
26
38
  'claude-3-haiku-20240307': { input: 0.25, output: 1.25, provider: 'claude' },
27
- // OpenAI models
39
+ // OpenAI models — GPT-6 generation (OpenRouter pass-through pricing)
40
+ 'gpt-6-astra': { input: 10.0, output: 50.0, provider: 'openai' },
41
+ 'gpt-6-sol': { input: 2.0, output: 10.0, provider: 'openai' },
42
+ 'gpt-6-luna': { input: 0.1, output: 0.5, provider: 'openai' },
43
+ // OpenAI legacy generation
28
44
  'gpt-4o': { input: 5.0, output: 15.0, provider: 'openai' },
29
45
  'gpt-4o-mini': { input: 0.15, output: 0.6, provider: 'openai' },
30
46
  'gpt-4-turbo': { input: 10.0, output: 30.0, provider: 'openai' },
@@ -38,7 +54,18 @@ export const MODEL_PRICING = {
38
54
  'mixtral': { input: 0, output: 0, provider: 'ollama' },
39
55
  'phi3': { input: 0, output: 0, provider: 'ollama' },
40
56
  'qwen2': { input: 0, output: 0, provider: 'ollama' },
41
- // OpenRouter models (provider prefixed)
57
+ // OpenRouter models (provider prefixed) — current generation
58
+ 'anthropic/claude-sonnet-5': { input: 2.0, output: 10.0, provider: 'openrouter' },
59
+ 'anthropic/claude-opus-5': { input: 5.0, output: 25.0, provider: 'openrouter' },
60
+ 'anthropic/claude-opus-5.5': { input: 4.0, output: 20.0, provider: 'openrouter' },
61
+ 'anthropic/claude-haiku-4.5': { input: 1.0, output: 5.0, provider: 'openrouter' },
62
+ 'openai/gpt-6-sol': { input: 2.0, output: 10.0, provider: 'openrouter' },
63
+ 'openai/gpt-6-luna': { input: 0.1, output: 0.5, provider: 'openrouter' },
64
+ 'google/gemini-3.8-flash': { input: 0.75, output: 3.75, provider: 'openrouter' },
65
+ 'meta-llama/llama-4-maverick': { input: 0.1875, output: 0.6525, provider: 'openrouter' },
66
+ 'openai/gpt-oss-120b': { input: 0.15, output: 0.6, provider: 'openrouter' },
67
+ 'qwen/qwen3-coder': { input: 0.3, output: 1.0, provider: 'openrouter' },
68
+ // OpenRouter legacy slugs (retired upstream for Claude 3.x)
42
69
  'anthropic/claude-3.5-sonnet': { input: 3.0, output: 15.0, provider: 'openrouter' },
43
70
  'anthropic/claude-3.5-sonnet:beta': { input: 3.0, output: 15.0, provider: 'openrouter' },
44
71
  'anthropic/claude-3-opus': { input: 15.0, output: 75.0, provider: 'openrouter' },
@@ -57,6 +84,8 @@ export const MODEL_PRICING = {
57
84
  'mistralai/mistral-7b-instruct': { input: 0.06, output: 0.06, provider: 'openrouter' },
58
85
  // AWS Bedrock models (ARN-style model IDs)
59
86
  // Pricing reflects Bedrock's pricing which may differ slightly from Anthropic direct
87
+ // Bedrock sets its own Claude pricing; this row is unverified since the
88
+ // 2026-09 refresh (direct API / OpenRouter Opus 4.5 is $5/$25).
60
89
  'anthropic.claude-opus-4-5-v1:0': { input: 15.0, output: 75.0, provider: 'bedrock' },
61
90
  'anthropic.claude-opus-4-v1:0': { input: 15.0, output: 75.0, provider: 'bedrock' },
62
91
  'anthropic.claude-sonnet-4-5-v2:0': { input: 3.0, output: 15.0, provider: 'bedrock' },
@@ -79,6 +108,11 @@ export const MODEL_PRICING = {
79
108
  'azure/text-embedding-3-small': { input: 0.02, output: 0, provider: 'azure-openai' },
80
109
  'azure/text-embedding-3-large': { input: 0.13, output: 0, provider: 'azure-openai' },
81
110
  // Google Gemini models (direct API)
111
+ 'gemini-3.8-flash': { input: 0.75, output: 3.75, provider: 'gemini' },
112
+ 'gemini-3.5-flash': { input: 1.5, output: 9.0, provider: 'gemini' },
113
+ 'gemini-3.1-pro-preview': { input: 2.0, output: 12.0, provider: 'gemini' },
114
+ 'gemini-2.5-flash': { input: 0.3, output: 2.5, provider: 'gemini' },
115
+ 'gemini-2.5-pro': { input: 1.25, output: 10.0, provider: 'gemini' },
82
116
  'gemini-pro': { input: 0.5, output: 1.5, provider: 'gemini' },
83
117
  'gemini-1.0-pro': { input: 0.5, output: 1.5, provider: 'gemini' },
84
118
  'gemini-1.5-pro': { input: 3.5, output: 10.5, provider: 'gemini' },
@@ -91,6 +125,24 @@ export const MODEL_PRICING = {
91
125
  // Gemini embedding models
92
126
  'text-embedding-004': { input: 0.025, output: 0, provider: 'gemini' },
93
127
  };
128
+ /**
129
+ * Resolve per-million-token pricing for a model. Exact `MODEL_PRICING` keys
130
+ * win; otherwise the model registry is consulted (it normalizes provider
131
+ * IDs such as `anthropic/claude-sonnet-5` or dated Anthropic IDs). Returns
132
+ * `undefined` only when neither source knows the model, which callers treat
133
+ * as a free/local model.
134
+ */
135
+ export function resolveModelPricing(model) {
136
+ const pricing = MODEL_PRICING[model];
137
+ if (pricing) {
138
+ return { input: pricing.input, output: pricing.output };
139
+ }
140
+ const registryCost = getModelCost(model);
141
+ if (registryCost.inputCostPerMillion > 0 || registryCost.outputCostPerMillion > 0) {
142
+ return { input: registryCost.inputCostPerMillion, output: registryCost.outputCostPerMillion };
143
+ }
144
+ return undefined;
145
+ }
94
146
  /**
95
147
  * Cost tracker for LLM usage
96
148
  */
@@ -106,7 +158,7 @@ export class CostTracker {
106
158
  * Calculate cost for a given usage
107
159
  */
108
160
  static calculateCost(model, usage) {
109
- const pricing = MODEL_PRICING[model];
161
+ const pricing = resolveModelPricing(model);
110
162
  if (!pricing) {
111
163
  // Unknown model - assume Ollama (local) for safety
112
164
  return {
@@ -134,7 +186,7 @@ export class CostTracker {
134
186
  * Get cost per token for a model
135
187
  */
136
188
  static getCostPerToken(model) {
137
- const pricing = MODEL_PRICING[model];
189
+ const pricing = resolveModelPricing(model);
138
190
  if (!pricing) {
139
191
  return { input: 0, output: 0 };
140
192
  }
@@ -45,13 +45,13 @@ export { type LLMProviderType, type MessageRole, type Message, type TokenUsage,
45
45
  export { ClaudeProvider, DEFAULT_CLAUDE_CONFIG, OpenAIProvider, DEFAULT_OPENAI_CONFIG, OllamaProvider, DEFAULT_OLLAMA_CONFIG, OpenRouterProvider, DEFAULT_OPENROUTER_CONFIG, GeminiProvider, DEFAULT_GEMINI_CONFIG, AzureOpenAIProvider, DEFAULT_AZURE_OPENAI_CONFIG, BedrockProvider, DEFAULT_BEDROCK_CONFIG, } from './providers';
46
46
  export { CircuitBreaker, CircuitBreakerManager, DEFAULT_CIRCUIT_BREAKER_CONFIG, } from './circuit-breaker';
47
47
  export { LLMCache, LLMResponseCache, DEFAULT_CACHE_CONFIG, type CacheableResponse, } from './cache';
48
- export { CostTracker, MODEL_PRICING, getGlobalCostTracker, resetGlobalCostTracker, } from './cost-tracker';
48
+ export { CostTracker, MODEL_PRICING, resolveModelPricing, getGlobalCostTracker, resetGlobalCostTracker, } from './cost-tracker';
49
49
  export { registerProvider, tryRegisterProvider, unregisterProvider, resetProviderRegistry, isRegisteredProvider, getRegisteredProvider, listRegisteredProviders, registeredProviderTypes, createRegisteredProvider, registeredBillingDeclaration, validateProviderType, validateProviderInstance, type ProviderFactory, type ProviderRegistrationOptions, type ProviderRegistrationSource, type RegisteredProvider, } from './provider-registry';
50
50
  export { ExternalCliProvider, validateExternalCliConfig, resolvesOnPath, DEFAULT_EXTERNAL_CLI_TIMEOUT_MS, DEFAULT_EXTERNAL_CLI_CONCURRENCY, EXTERNAL_CLI_DEFAULT_MODEL, type ExternalCliProviderConfig, } from './providers/external-cli';
51
51
  export { registerExternalProviders, sanitizeExternalProviders, type ExternalProviderRegistrationResult, } from './router/external-provider-config';
52
52
  export { ProviderManager, createProviderManager, createQEProviderManager, DEFAULT_PROVIDER_MANAGER_CONFIG, } from './provider-manager';
53
53
  export { mapModelId, normalizeModelId, getCanonicalName, getModelFamily, getModelTier, isModelAvailableOnProvider, getSupportedProviders, listCanonicalModels, listModelsByProvider, listModelsByFamily, listModelsByTier, getModelMapping, MODEL_MAPPINGS, type ProviderType, type ModelMapping, } from './model-mapping';
54
- export { getModelCapabilities, getModelCost, getModelInfo, listModels, findModelsByCapability, findModelsByCost, findCheapestModel, findBestModelInBudget, getRecommendedModels, getDeprecationStatus, estimateRequestCost, compareModels, MODEL_REGISTRY, type ModelCapabilities, type ModelCostInfo, type ModelInfo, } from './model-registry';
54
+ export { getModelCapabilities, getModelCost, getModelInfo, listModels, findModelsByCapability, findModelsByCost, findCheapestModel, findBestModelInBudget, getRecommendedModels, getDeprecationStatus, estimateRequestCost, compareModels, MODEL_REGISTRY, DEFAULT_SONNET_MODEL, DEFAULT_OPUS_MODEL, DEFAULT_HAIKU_MODEL, CLAUDE_TIER_MODELS, getClaudeModelForTier, RETIRING_MODELS, type ModelCapabilities, type ModelCostInfo, type ModelInfo, } from './model-registry';
55
55
  export { RouterMetricsCollector, createRouterMetricsCollector, getGlobalRouterMetrics, resetGlobalRouterMetrics, CostMetricsCollector, createCostMetricsCollector, getGlobalCostMetrics, resetGlobalCostMetrics, type RoutingDecisionRecord, type ProviderCallRecord, type FallbackRecord, type RouterMetricsSummary, type ProviderMetrics as RouterProviderMetrics, type AgentMetrics, type MetricsTimeWindow, type CostRecord, type CostTrend, type CostBreakdown, type BudgetAlert, type CostOptimizationSuggestion, } from './metrics';
56
56
  export { HybridRouter, createHybridRouter, createQERouter, } from './router';
57
57
  export type { ExtendedProviderType, RoutingMode, RoutingDecision, RouterConfig, ChatParams, ChatResponse, FallbackChain, } from './router';
@@ -52,7 +52,7 @@ export { CircuitBreaker, CircuitBreakerManager, DEFAULT_CIRCUIT_BREAKER_CONFIG,
52
52
  // Cache
53
53
  export { LLMCache, LLMResponseCache, DEFAULT_CACHE_CONFIG, } from './cache.js';
54
54
  // Cost tracker
55
- export { CostTracker, MODEL_PRICING, getGlobalCostTracker, resetGlobalCostTracker, } from './cost-tracker.js';
55
+ export { CostTracker, MODEL_PRICING, resolveModelPricing, getGlobalCostTracker, resetGlobalCostTracker, } from './cost-tracker.js';
56
56
  // External provider registration (ADR-127 / issue #628)
57
57
  export { registerProvider, tryRegisterProvider, unregisterProvider, resetProviderRegistry, isRegisteredProvider, getRegisteredProvider, listRegisteredProviders, registeredProviderTypes, createRegisteredProvider, registeredBillingDeclaration, validateProviderType, validateProviderInstance, } from './provider-registry.js';
58
58
  export { ExternalCliProvider, validateExternalCliConfig, resolvesOnPath, DEFAULT_EXTERNAL_CLI_TIMEOUT_MS, DEFAULT_EXTERNAL_CLI_CONCURRENCY, EXTERNAL_CLI_DEFAULT_MODEL, } from './providers/external-cli.js';
@@ -62,7 +62,7 @@ export { ProviderManager, createProviderManager, createQEProviderManager, DEFAUL
62
62
  // Model mapping (ADR-043)
63
63
  export { mapModelId, normalizeModelId, getCanonicalName, getModelFamily, getModelTier, isModelAvailableOnProvider, getSupportedProviders, listCanonicalModels, listModelsByProvider, listModelsByFamily, listModelsByTier, getModelMapping, MODEL_MAPPINGS, } from './model-mapping.js';
64
64
  // Model registry (ADR-043)
65
- export { getModelCapabilities, getModelCost, getModelInfo, listModels, findModelsByCapability, findModelsByCost, findCheapestModel, findBestModelInBudget, getRecommendedModels, getDeprecationStatus, estimateRequestCost, compareModels, MODEL_REGISTRY, } from './model-registry.js';
65
+ export { getModelCapabilities, getModelCost, getModelInfo, listModels, findModelsByCapability, findModelsByCost, findCheapestModel, findBestModelInBudget, getRecommendedModels, getDeprecationStatus, estimateRequestCost, compareModels, MODEL_REGISTRY, DEFAULT_SONNET_MODEL, DEFAULT_OPUS_MODEL, DEFAULT_HAIKU_MODEL, CLAUDE_TIER_MODELS, getClaudeModelForTier, RETIRING_MODELS, } from './model-registry.js';
66
66
  // Metrics (ADR-043 Milestone 11)
67
67
  export { RouterMetricsCollector, createRouterMetricsCollector, getGlobalRouterMetrics, resetGlobalRouterMetrics, CostMetricsCollector, createCostMetricsCollector, getGlobalCostMetrics, resetGlobalCostMetrics, } from './metrics/index.js';
68
68
  // HybridRouter (ADR-043: Intelligent provider routing)
@@ -178,7 +178,7 @@ export interface LLMConfig {
178
178
  */
179
179
  export interface ClaudeConfig extends LLMConfig {
180
180
  /** Claude model version */
181
- model: 'claude-opus-4-7' | 'claude-sonnet-4-6' | 'claude-haiku-4-5-20251001' | string;
181
+ model: 'claude-opus-5' | 'claude-sonnet-5' | 'claude-opus-4-7' | 'claude-sonnet-4-6' | 'claude-haiku-4-5-20251001' | string;
182
182
  /** Anthropic API version */
183
183
  anthropicVersion?: string;
184
184
  /** Maximum thinking tokens for extended thinking */
@@ -9,7 +9,8 @@
9
9
  * - Cost optimization insights
10
10
  */
11
11
  import { ALL_PROVIDER_TYPES } from '../router/types.js';
12
- import { MODEL_PRICING } from '../cost-tracker.js';
12
+ import { resolveModelPricing } from '../cost-tracker.js';
13
+ import { DEFAULT_SONNET_MODEL } from '../model-registry.js';
13
14
  // ============================================================================
14
15
  // CostMetricsCollector Implementation
15
16
  // ============================================================================
@@ -244,7 +245,7 @@ export class CostMetricsCollector {
244
245
  const byModel = this.getCostByModel('24h');
245
246
  // Check for expensive models that could use cheaper alternatives
246
247
  for (const [model, breakdown] of byModel) {
247
- const pricing = MODEL_PRICING[model];
248
+ const pricing = resolveModelPricing(model);
248
249
  if (pricing && breakdown.totalCost > 1) {
249
250
  // Suggest cheaper alternatives
250
251
  if (model.includes('opus')) {
@@ -253,7 +254,7 @@ export class CostMetricsCollector {
253
254
  description: `Consider using Sonnet instead of Opus for non-critical tasks`,
254
255
  estimatedSavings: breakdown.totalCost * 0.5,
255
256
  currentCost: breakdown.totalCost,
256
- suggestedModel: 'claude-sonnet-4-6',
257
+ suggestedModel: DEFAULT_SONNET_MODEL,
257
258
  });
258
259
  }
259
260
  if (model === 'gpt-4o') {
@@ -330,7 +331,7 @@ export class CostMetricsCollector {
330
331
  // Private Helper Methods
331
332
  // ==========================================================================
332
333
  calculateCost(model, inputTokens, outputTokens) {
333
- const pricing = MODEL_PRICING[model];
334
+ const pricing = resolveModelPricing(model);
334
335
  if (!pricing) {
335
336
  return {
336
337
  inputCost: 0,