agentic-qe 3.14.3 → 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 (724) 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 +111 -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-TQOMLWWX.js → agent-booster-wasm-5PC7D2FW.js} +2 -2
  221. package/dist/cli/chunks/{agent-handler-Q3SEMMI2.js → agent-handler-RDNTK4CA.js} +2 -2
  222. package/dist/cli/chunks/{agent-memory-branch-SJXAQSZI.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-7RC7TBGW.js → arena-HXTWJ5YY.js} +4 -4
  225. package/dist/cli/chunks/{arena-UPB7TKUY.js → arena-KXFHRWX4.js} +2 -2
  226. package/dist/cli/chunks/{audit-IXN5R4WB.js → audit-YSGA7UWT.js} +3 -3
  227. package/dist/cli/chunks/base-KWZHOPSH.js +2 -0
  228. package/dist/cli/chunks/{better-sqlite3-RP4DEGK3.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-VPRWDGFJ.js → branch-enumerator-SS7UNVIA.js} +2 -2
  231. package/dist/cli/chunks/{browser-B6E7JPPJ.js → browser-77GI6KBE.js} +2 -2
  232. package/dist/cli/chunks/browser-workflow-2FZTKDUL.js +2 -0
  233. package/dist/cli/chunks/{chunk-ZHXWGNYM.js → chunk-2JW3BCGG.js} +1 -1
  234. package/dist/cli/chunks/{chunk-TGLAWI62.js → chunk-33YYYWBQ.js} +1 -1
  235. package/dist/cli/chunks/{chunk-BN7DKW5D.js → chunk-34WO57CW.js} +1 -1
  236. package/dist/cli/chunks/{chunk-TTMHIOQ3.js → chunk-3QHGWY7T.js} +2 -2
  237. package/dist/cli/chunks/chunk-3TW5W5LX.js +2 -0
  238. package/dist/cli/chunks/{chunk-E3FBW6G2.js → chunk-3UPAMMCB.js} +1 -1
  239. package/dist/cli/chunks/{chunk-MDZ6RRLX.js → chunk-3VOQRIQM.js} +2 -2
  240. package/dist/cli/chunks/{chunk-G5C2XVZC.js → chunk-3X3DJZJJ.js} +1 -1
  241. package/dist/cli/chunks/{chunk-4C6UJIHB.js → chunk-4MHXCAG2.js} +1 -1
  242. package/dist/cli/chunks/{chunk-7BUERZYL.js → chunk-4OYFXLBK.js} +2 -2
  243. package/dist/cli/chunks/{chunk-TFHQE6NK.js → chunk-55RWDRJD.js} +3 -3
  244. package/dist/cli/chunks/chunk-5R3QL7WN.js +14 -0
  245. package/dist/cli/chunks/{chunk-ZUG5MOUB.js → chunk-5SJHQ2CO.js} +2 -2
  246. package/dist/cli/chunks/{chunk-VIDBBB6F.js → chunk-5YPYDPBJ.js} +2 -2
  247. package/dist/cli/chunks/chunk-5Z6XZV7K.js +65 -0
  248. package/dist/cli/chunks/{chunk-JV4FZUE7.js → chunk-64PFWE2F.js} +2 -2
  249. package/dist/cli/chunks/{chunk-TISSZFHO.js → chunk-6CQN24ZK.js} +1 -1
  250. package/dist/cli/chunks/{chunk-G6DCESPU.js → chunk-6J62K3SW.js} +2 -2
  251. package/dist/cli/chunks/{chunk-7SLAZAVU.js → chunk-6KJABXAR.js} +2 -2
  252. package/dist/cli/chunks/{chunk-KF63AYXD.js → chunk-6QYNWR7U.js} +2 -2
  253. package/dist/cli/chunks/{chunk-74PK3NEW.js → chunk-6TPKK7LD.js} +2 -2
  254. package/dist/cli/chunks/{chunk-JRYZKBY2.js → chunk-6UWGMOND.js} +2 -2
  255. package/dist/cli/chunks/{chunk-ZN3J6TZD.js → chunk-6VRA2QGL.js} +1 -1
  256. package/dist/cli/chunks/{chunk-YCBDE2N7.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-5Y5TC6BY.js → chunk-AIHDEEJO.js} +2 -2
  260. package/dist/cli/chunks/{chunk-N4H2QOT5.js → chunk-AUXFKCQL.js} +2 -2
  261. package/dist/cli/chunks/{chunk-7G6UX2QN.js → chunk-AWWNB2T7.js} +2 -2
  262. package/dist/cli/chunks/{chunk-33VPWGCM.js → chunk-BDESSCVR.js} +3 -3
  263. package/dist/cli/chunks/{chunk-OVDKWCD7.js → chunk-BFP7KO7P.js} +2 -2
  264. package/dist/cli/chunks/{chunk-MXMFGSWR.js → chunk-BGE6FOLM.js} +2 -2
  265. package/dist/cli/chunks/{chunk-2GNRW3OD.js → chunk-BOARZKU3.js} +2 -2
  266. package/dist/cli/chunks/{chunk-4JBFJTHJ.js → chunk-BOZZYWCR.js} +1 -1
  267. package/dist/cli/chunks/{chunk-D4Z2N74A.js → chunk-C2WU3533.js} +1 -1
  268. package/dist/cli/chunks/{chunk-B7SWW5A6.js → chunk-CDHQFHRP.js} +2 -2
  269. package/dist/cli/chunks/chunk-CDKG6EI7.js +16 -0
  270. package/dist/cli/chunks/{chunk-IU4EBTA2.js → chunk-CIKSHTEQ.js} +3 -3
  271. package/dist/cli/chunks/{chunk-RTJ2M6V6.js → chunk-CIZ5JPDC.js} +2 -2
  272. package/dist/cli/chunks/{chunk-CR3QGHVN.js → chunk-CLTMDCSE.js} +2 -2
  273. package/dist/cli/chunks/{chunk-T35GZXTU.js → chunk-CNG6GQEZ.js} +2 -2
  274. package/dist/cli/chunks/{chunk-IQEJGZV6.js → chunk-CSU5NYOX.js} +3 -3
  275. package/dist/cli/chunks/chunk-CU46J64M.js +4 -0
  276. package/dist/cli/chunks/{chunk-LLVGTEHU.js → chunk-CXQPR5MY.js} +1 -1
  277. package/dist/cli/chunks/{chunk-5BLFXQEB.js → chunk-DA5K5754.js} +1 -1
  278. package/dist/cli/chunks/{chunk-5FOZO7KM.js → chunk-DAEFDCJ4.js} +45 -45
  279. package/dist/cli/chunks/{chunk-SJPZSCZP.js → chunk-DEYLEDJN.js} +2 -2
  280. package/dist/cli/chunks/{chunk-LHGNNZ76.js → chunk-DFZCKIGY.js} +3 -3
  281. package/dist/cli/chunks/{chunk-YAKS3CAB.js → chunk-DHJPWQBR.js} +2 -2
  282. package/dist/cli/chunks/{chunk-37BASGWC.js → chunk-DOTK76IJ.js} +2 -2
  283. package/dist/cli/chunks/{chunk-STRDSVH3.js → chunk-DPFRKBOG.js} +2 -2
  284. package/dist/cli/chunks/{chunk-H5ZRV5K5.js → chunk-EDJ3O7RH.js} +2 -2
  285. package/dist/cli/chunks/{chunk-DBA3N742.js → chunk-EKQ673SA.js} +1 -1
  286. package/dist/cli/chunks/chunk-F3SBRQC6.js +2 -0
  287. package/dist/cli/chunks/{chunk-HOQQCY2K.js → chunk-FGYMFUE2.js} +2 -2
  288. package/dist/cli/chunks/{chunk-FKG5OQFT.js → chunk-FLYOJOKN.js} +1 -1
  289. package/dist/cli/chunks/{chunk-MWWAMDHI.js → chunk-FRH6VAUS.js} +1 -1
  290. package/dist/cli/chunks/{chunk-UYJHYMEQ.js → chunk-FWGOHAAB.js} +2 -2
  291. package/dist/cli/chunks/{chunk-HRUU7E3D.js → chunk-G6T45OIC.js} +2 -2
  292. package/dist/cli/chunks/{chunk-4Q35TI6Z.js → chunk-GPLQ6DOK.js} +2 -2
  293. package/dist/cli/chunks/{chunk-PI74GOE4.js → chunk-HDSAM2RE.js} +2 -2
  294. package/dist/cli/chunks/chunk-HIVA55CJ.js +2 -0
  295. package/dist/cli/chunks/{chunk-B5XFDFBT.js → chunk-HIYXCDEP.js} +1 -1
  296. package/dist/cli/chunks/{chunk-ZK5JKHP4.js → chunk-HUWNIPZ5.js} +1 -1
  297. package/dist/cli/chunks/{chunk-H6XBM2LY.js → chunk-HV2J7KKQ.js} +2 -2
  298. package/dist/cli/chunks/{chunk-IFFZR6GY.js → chunk-IFCLB7FJ.js} +1 -1
  299. package/dist/cli/chunks/{chunk-3ABRGG3C.js → chunk-IPR4QP3H.js} +2 -2
  300. package/dist/cli/chunks/{chunk-7FYMDKQH.js → chunk-ISDMD6EU.js} +165 -167
  301. package/dist/cli/chunks/{chunk-B2ZONZPZ.js → chunk-J6GNQS62.js} +2 -2
  302. package/dist/cli/chunks/{chunk-G6ZHTF42.js → chunk-JBNEE5UH.js} +2 -2
  303. package/dist/cli/chunks/chunk-JZ3ORVZ3.js +54 -0
  304. package/dist/cli/chunks/{chunk-5IAB5NRZ.js → chunk-KCZR45PA.js} +2 -2
  305. package/dist/cli/chunks/chunk-KGT36Z42.js +14 -0
  306. package/dist/cli/chunks/{chunk-IP7NSFQQ.js → chunk-KHFNNVJA.js} +2 -2
  307. package/dist/cli/chunks/{chunk-2WT7AKKK.js → chunk-KPA7MZ6C.js} +2 -2
  308. package/dist/cli/chunks/{chunk-7JQHPANT.js → chunk-KSKEF7LZ.js} +3 -3
  309. package/dist/cli/chunks/{chunk-F67AV5P2.js → chunk-M2JBBZQB.js} +2 -2
  310. package/dist/cli/chunks/{chunk-SGXSB7YO.js → chunk-M4WJKGVK.js} +1 -1
  311. package/dist/cli/chunks/{chunk-4UDZLD42.js → chunk-M5QUBZY6.js} +2 -2
  312. package/dist/cli/chunks/{chunk-PZTVH2AS.js → chunk-MCUJEZT6.js} +2 -2
  313. package/dist/cli/chunks/{chunk-KPMGTVB4.js → chunk-MDWCE7YW.js} +1 -1
  314. package/dist/cli/chunks/{chunk-LS3EUMBP.js → chunk-MEGDYJPV.js} +5 -5
  315. package/dist/cli/chunks/chunk-MIQTXNBG.js +4 -0
  316. package/dist/cli/chunks/{chunk-VWNHKYK7.js → chunk-MNW6QGNJ.js} +2 -2
  317. package/dist/cli/chunks/{chunk-NN76NTOX.js → chunk-MOBNBMFW.js} +1 -1
  318. package/dist/cli/chunks/{chunk-SG47AXJG.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-26GM5CWD.js → chunk-NDPFGIMJ.js} +3 -3
  323. package/dist/cli/chunks/{chunk-ELU4IC3I.js → chunk-NJBGXDQ7.js} +1 -1
  324. package/dist/cli/chunks/chunk-OBAP2TXZ.js +2 -0
  325. package/dist/cli/chunks/{chunk-NTSXHZTC.js → chunk-OCWWP5PL.js} +4 -4
  326. package/dist/cli/chunks/{chunk-XA7CG3LH.js → chunk-ODKLFVYC.js} +2 -2
  327. package/dist/cli/chunks/{chunk-IKIITGU5.js → chunk-ONII3572.js} +4 -4
  328. package/dist/cli/chunks/{chunk-JBB7E26R.js → chunk-OSLYSG3B.js} +2 -2
  329. package/dist/cli/chunks/{chunk-CB5JPRIZ.js → chunk-OULHKEVH.js} +2 -2
  330. package/dist/cli/chunks/{chunk-YGB6R5DW.js → chunk-PAWXJ73E.js} +1 -1
  331. package/dist/cli/chunks/chunk-PEPFCPES.js +2 -0
  332. package/dist/cli/chunks/{chunk-FUE6LL72.js → chunk-PFR4G3DJ.js} +2 -2
  333. package/dist/cli/chunks/chunk-PO3IXGMQ.js +2 -0
  334. package/dist/cli/chunks/{chunk-OY7MLMEX.js → chunk-PZJOPURC.js} +5 -5
  335. package/dist/cli/chunks/{chunk-UHQY3GK7.js → chunk-Q5DO24IJ.js} +2 -2
  336. package/dist/cli/chunks/chunk-QGIU2WRL.js +2 -0
  337. package/dist/cli/chunks/{chunk-4RP5VUBI.js → chunk-R4VL6E65.js} +2 -2
  338. package/dist/cli/chunks/{chunk-RKJZWWB7.js → chunk-R5NE6B2M.js} +2 -2
  339. package/dist/cli/chunks/{chunk-5F6DWHQG.js → chunk-RJCYCLZV.js} +2 -2
  340. package/dist/cli/chunks/{chunk-GNTVFN7D.js → chunk-SGYJ4NFZ.js} +1 -1
  341. package/dist/cli/chunks/{chunk-OYMLHX2B.js → chunk-SRKETSFF.js} +1 -1
  342. package/dist/cli/chunks/{chunk-XX7HUSX2.js → chunk-STJCATGN.js} +2 -2
  343. package/dist/cli/chunks/{chunk-C46DMCWF.js → chunk-STM3UDNO.js} +1 -1
  344. package/dist/cli/chunks/{chunk-EY4OQHU3.js → chunk-T6BVLVI5.js} +1 -1
  345. package/dist/cli/chunks/{chunk-LKN7JQTW.js → chunk-TDZ53WO2.js} +2 -2
  346. package/dist/cli/chunks/{chunk-OV5EZO3U.js → chunk-TPGED2IF.js} +2 -2
  347. package/dist/cli/chunks/{chunk-DX3C5HPN.js → chunk-TSRSV3LD.js} +1 -1
  348. package/dist/cli/chunks/{chunk-Y2DVFVGI.js → chunk-TT23RRB7.js} +1 -1
  349. package/dist/cli/chunks/{chunk-XXCYQXK3.js → chunk-TWAWHOP7.js} +2 -2
  350. package/dist/cli/chunks/{chunk-2IGT5WNQ.js → chunk-U5K45TFH.js} +1 -1
  351. package/dist/cli/chunks/{chunk-SQ3PPISY.js → chunk-UDHKLT4C.js} +1 -1
  352. package/dist/cli/chunks/{chunk-YDNSLLBS.js → chunk-UEM7ZF5K.js} +2 -2
  353. package/dist/cli/chunks/{chunk-4XPPMADQ.js → chunk-UGVHCMUN.js} +6 -6
  354. package/dist/cli/chunks/{chunk-YL7T3VV7.js → chunk-V3QLFNA2.js} +2 -2
  355. package/dist/cli/chunks/{chunk-YEXPFHV6.js → chunk-VD6QRULW.js} +2 -2
  356. package/dist/cli/chunks/{chunk-OVPJQWHW.js → chunk-VIHTL3U2.js} +2 -2
  357. package/dist/cli/chunks/chunk-W7BWUTVV.js +2 -0
  358. package/dist/cli/chunks/{chunk-3P6NCFI2.js → chunk-WLG5AJ4N.js} +2 -2
  359. package/dist/cli/chunks/{chunk-V4AOVDCJ.js → chunk-XC7DYDSY.js} +8 -8
  360. package/dist/cli/chunks/{chunk-LTBCAFTZ.js → chunk-XJ7QNVI5.js} +3 -3
  361. package/dist/cli/chunks/chunk-XRT2WRMS.js +2 -0
  362. package/dist/cli/chunks/{chunk-UMENRGHK.js → chunk-XRYF6JV7.js} +2 -2
  363. package/dist/cli/chunks/{chunk-SHGKY3QB.js → chunk-XWMZ6D6N.js} +2 -2
  364. package/dist/cli/chunks/{chunk-72UJXEKQ.js → chunk-Y3MW3YBC.js} +2 -2
  365. package/dist/cli/chunks/chunk-YNXS6CGV.js +2 -0
  366. package/dist/cli/chunks/{chunk-LVLBIKJD.js → chunk-Z3RHREWF.js} +1 -1
  367. package/dist/cli/chunks/{chunk-HXE5NBJG.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-NBWQBQO5.js → chunk-ZJ26AQA5.js} +1 -1
  371. package/dist/cli/chunks/{chunk-TJEIOE7F.js → chunk-ZNEMGX5O.js} +1 -1
  372. package/dist/cli/chunks/{chunk-AB4U6ZNI.js → chunk-ZNPKDCZR.js} +2 -2
  373. package/dist/cli/chunks/{chunk-WYMGK5DX.js → chunk-ZZDIMOOV.js} +2 -2
  374. package/dist/cli/chunks/ci-464KPQNP.js +81 -0
  375. package/dist/cli/chunks/{ci-output-LK3MBXLZ.js → ci-output-I7FX2RSO.js} +2 -2
  376. package/dist/cli/chunks/{circuit-breaker-7AIXACR7.js → circuit-breaker-3FW237WW.js} +2 -2
  377. package/dist/cli/chunks/{claude-flow-setup-UA7EO6VN.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-YDDCKKEV.js → cline-installer-UWFHT6VY.js} +2 -2
  380. package/dist/cli/chunks/{code-URB7UAKW.js → code-KQSUT3FS.js} +29 -29
  381. package/dist/cli/chunks/{code-index-extractor-BL6HWH4Q.js → code-index-extractor-PABBNUSC.js} +2 -2
  382. package/dist/cli/chunks/{codex-installer-2AVEO4EA.js → codex-installer-CQ24DTP5.js} +2 -2
  383. package/dist/cli/chunks/{completions-RCKBSSSS.js → completions-7RWHAUAR.js} +2 -2
  384. package/dist/cli/chunks/complexity-analyzer-XPOAF33E.js +2 -0
  385. package/dist/cli/chunks/{continuedev-installer-VOTCEBFH.js → continuedev-installer-V4F2FIZP.js} +2 -2
  386. package/dist/cli/chunks/{copilot-installer-NVTGLZX3.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-ZTPJWXWE.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-CMGJQMHX.js → cursor-installer-GBJ7YXSM.js} +2 -2
  392. package/dist/cli/chunks/{daemon-V456IWR3.js → daemon-GKP7CMEK.js} +3 -3
  393. package/dist/cli/chunks/{daemon-Y2I3YVIU.js → daemon-IAVSO6HK.js} +4 -4
  394. package/dist/cli/chunks/{dag-attention-scheduler-ZCBBOD3D.js → dag-attention-scheduler-S225TCI7.js} +2 -2
  395. package/dist/cli/chunks/{detect-2GHEA4A3.js → detect-IUYH422U.js} +2 -2
  396. package/dist/cli/chunks/{dist-node-44AGYJCH.js → dist-node-2YRE6A7C.js} +2 -2
  397. package/dist/cli/chunks/{domain-handler-IDLIEP6X.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-KLEXGIRF.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-DUW6K35A.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-CJJJN7CF.js → experience-capture-middleware-2MSQWSAR.js} +3 -3
  404. package/dist/cli/chunks/{fast-paths-LGLLKX6P.js → fast-paths-VYOSIBKF.js} +2 -2
  405. package/dist/cli/chunks/{feature-flags-33D3I4DD.js → feature-flags-UJRHFBRX.js} +2 -2
  406. package/dist/cli/chunks/{feature-flags-QL4NCEGW.js → feature-flags-WCFUKHNQ.js} +2 -2
  407. package/dist/cli/chunks/{file-discovery-GKCYJPFZ.js → file-discovery-JDGL4ZWS.js} +2 -2
  408. package/dist/cli/chunks/fleet-ROXVMZ2F.js +43 -0
  409. package/dist/cli/chunks/{gnn-wrapper-ELSGT67Z.js → gnn-wrapper-NIO4ZCO3.js} +2 -2
  410. package/dist/cli/chunks/{heartbeat-handler-ZUI3DOOP.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-EZMM5JWL.js → hnsw-legacy-bridge-YLC7SPK2.js} +2 -2
  415. package/dist/cli/chunks/{hnswlib-node-G4CE3EOS.js → hnswlib-node-LG6OS3B7.js} +2 -2
  416. package/dist/cli/chunks/{hooks-LCVXXA55.js → hooks-WVALP5GX.js} +10 -10
  417. package/dist/cli/chunks/{hypergraph-engine-6Z7RQ3HI.js → hypergraph-engine-GJEMW3EG.js} +2 -2
  418. package/dist/cli/chunks/{hypergraph-handler-PLI2GYPK.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-7VH3QJ5Y.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-U3MW62DE.js → kilocode-installer-BXN6WZ7G.js} +2 -2
  424. package/dist/cli/chunks/{kiro-installer-PPEAC44T.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-VO7ABNHV.js → load-2BG6SHAK.js} +2 -2
  430. package/dist/cli/chunks/load-test-BP2CPLIV.js +2 -0
  431. package/dist/cli/chunks/{mcp-THXEINCL.js → mcp-5TTB37DC.js} +2 -2
  432. package/dist/cli/chunks/{memory-FZTT7ADM.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-GQ7J5SBG.js → opencode-installer-ATZLLK74.js} +2 -2
  437. package/dist/cli/chunks/{orchestrator-66JK2OS5.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-O6XHM2G5.js → pattern-usage-recorder-7VE4XDAI.js} +2 -2
  440. package/dist/cli/chunks/pipeline-LQZSNDD2.js +19 -0
  441. package/dist/cli/chunks/{platform-Q7UH7FZQ.js → platform-OD5H5U6G.js} +2 -2
  442. package/dist/cli/chunks/{plugin-7OFLNGOS.js → plugin-EJ6K2MGU.js} +2 -2
  443. package/dist/cli/chunks/{prime-radiant-advanced-wasm-OSRDK2FW.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-WLYTX6FS.js → protocol-handler-NRBROAU7.js} +2 -2
  446. package/dist/cli/chunks/{prove-QVNE4V3J.js → prove-EJOGEGD3.js} +2 -2
  447. package/dist/cli/chunks/qe-reasoning-bank-LLMYZT4X.js +2 -0
  448. package/dist/cli/chunks/{quality-DNE2RKE5.js → quality-E55UC73D.js} +2 -2
  449. package/dist/cli/chunks/{quality-gate-2K35GCSI.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-SF42ML7G.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-NCEZPF5L.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-4MXXZRYP.js → routing-handler-KQM6VWLC.js} +4 -4
  457. package/dist/cli/chunks/{ruvector-commands-WDFMMCMK.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-JT7ZCJY7.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-CJJ3WJSB.js → security-P5NM353C.js} +3 -3
  467. package/dist/cli/chunks/{shared-rvf-adapter-6RGCTLHD.js → shared-rvf-adapter-LVIUOO4S.js} +2 -2
  468. package/dist/cli/chunks/{shared-rvf-dual-writer-KIA6Q6MT.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-BADQV2KA.js → status-handler-6TU6O37R.js} +2 -2
  471. package/dist/cli/chunks/{structural-health-VMYEYRZG.js → structural-health-KBIJSTXJ.js} +2 -2
  472. package/dist/cli/chunks/{sync-PXLROLHB.js → sync-LNHI5SB7.js} +2 -2
  473. package/dist/cli/chunks/{sync-ULY7T5II.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-WCLURQUT.js → test-DHAAI3DU.js} +4 -4
  477. package/dist/cli/chunks/test-scheduling-XDBZ3QC2.js +15 -0
  478. package/dist/cli/chunks/{token-bootstrap-GTI24JAL.js → token-bootstrap-GUTTLPZX.js} +2 -2
  479. package/dist/cli/chunks/{token-usage-DRVG6PKO.js → token-usage-Q2YG5YQN.js} +2 -2
  480. package/dist/cli/chunks/{transformers-IMDDAMYQ.js → transformers-F5UQTQCY.js} +2 -2
  481. package/dist/cli/chunks/{tree-sitter-wasm-parser-WBZIHVFA.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-6ALSDWDD.js → upgrade-TJRVGHGD.js} +2 -2
  487. package/dist/cli/chunks/{validate-XF4ZG3LC.js → validate-BWPCVHBN.js} +2 -2
  488. package/dist/cli/chunks/{validate-swarm-P5TAFRDA.js → validate-swarm-QVVKCQLP.js} +2 -2
  489. package/dist/cli/chunks/{vibium-2XDXKNKZ.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-4JVRQPX5.js → web-tree-sitter-KPLY7ONR.js} +2 -2
  492. package/dist/cli/chunks/{windsurf-installer-WYJXVDO5.js → windsurf-installer-H7XM7ISA.js} +2 -2
  493. package/dist/cli/chunks/{witness-chain-RPZ2SE2V.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-LXG2VBQQ.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-DIJNNFU6.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/workflow.js +9 -1
  509. package/dist/cli/handlers/task-handler.js +19 -9
  510. package/dist/cli/helpers/domain-plugins.d.ts +5 -0
  511. package/dist/cli/helpers/domain-plugins.js +11 -0
  512. package/dist/cli/index.js +17 -8
  513. package/dist/cli/utils/ci-config.d.ts +3 -0
  514. package/dist/context/sources/git-source.d.ts +2 -0
  515. package/dist/context/sources/git-source.js +9 -2
  516. package/dist/coordination/cancelled-task-settlement.d.ts +11 -0
  517. package/dist/coordination/cancelled-task-settlement.js +15 -0
  518. package/dist/coordination/consensus/providers/claude-provider.d.ts +2 -2
  519. package/dist/coordination/consensus/providers/claude-provider.js +18 -25
  520. package/dist/coordination/consensus/providers/gemini-provider.d.ts +14 -4
  521. package/dist/coordination/consensus/providers/gemini-provider.js +39 -36
  522. package/dist/coordination/consensus/providers/ollama-provider.d.ts +8 -7
  523. package/dist/coordination/consensus/providers/ollama-provider.js +16 -18
  524. package/dist/coordination/consensus/providers/openai-provider.d.ts +14 -4
  525. package/dist/coordination/consensus/providers/openai-provider.js +36 -34
  526. package/dist/coordination/consensus/providers/openrouter-provider.d.ts +5 -5
  527. package/dist/coordination/consensus/providers/openrouter-provider.js +64 -37
  528. package/dist/coordination/handlers/test-execution-handlers.js +5 -3
  529. package/dist/coordination/interfaces.d.ts +2 -2
  530. package/dist/coordination/protocol-executor.js +68 -9
  531. package/dist/coordination/queen-coordinator.js +10 -4
  532. package/dist/coordination/queen-event-handlers.js +17 -0
  533. package/dist/coordination/queen-task-management.js +25 -0
  534. package/dist/coordination/queen-types.d.ts +2 -0
  535. package/dist/coordination/task-executor.js +4 -8
  536. package/dist/coordination/workflow-composition.d.ts +19 -0
  537. package/dist/coordination/workflow-composition.js +114 -0
  538. package/dist/coordination/workflow-orchestrator.d.ts +3 -2
  539. package/dist/coordination/workflow-orchestrator.js +219 -85
  540. package/dist/coordination/workflow-types.d.ts +30 -1
  541. package/dist/coordination/yaml-pipeline-loader.js +9 -5
  542. package/dist/domains/chaos-resilience/services/chaos-engineer.js +2 -7
  543. package/dist/domains/code-intelligence/services/knowledge-graph.js +2 -7
  544. package/dist/domains/code-intelligence/services/metric-collector/test-counter.js +9 -40
  545. package/dist/domains/constants.d.ts +1 -6
  546. package/dist/domains/constants.js +2 -6
  547. package/dist/domains/contract-testing/services/contract-validator.js +2 -7
  548. package/dist/domains/coverage-analysis/services/coverage-analyzer.js +2 -12
  549. package/dist/domains/coverage-analysis/services/gap-detector.js +2 -7
  550. package/dist/domains/defect-intelligence/services/defect-predictor.js +2 -12
  551. package/dist/domains/defect-intelligence/services/root-cause-analyzer.js +2 -7
  552. package/dist/domains/learning-optimization/services/learning-coordinator.js +2 -7
  553. package/dist/domains/quality-assessment/services/deployment-advisor.js +2 -7
  554. package/dist/domains/quality-assessment/services/quality-analyzer.js +2 -7
  555. package/dist/domains/requirements-validation/services/requirements-validator.js +2 -7
  556. package/dist/domains/security-compliance/services/scanners/sast-scanner.js +3 -7
  557. package/dist/domains/test-execution/services/flaky-detector.js +33 -3
  558. package/dist/domains/test-execution/services/retry-handler.js +22 -14
  559. package/dist/domains/test-execution/services/test-executor.js +42 -21
  560. package/dist/domains/test-generation/services/test-generator.js +2 -7
  561. package/dist/domains/visual-accessibility/services/visual-tester.js +2 -7
  562. package/dist/init/init-wizard-steps.js +1 -1
  563. package/dist/init/kiro-installer.js +9 -8
  564. package/dist/init/opencode-installer.js +1 -1
  565. package/dist/init/phases/07-hooks.js +4 -2
  566. package/dist/init/phases/12-verification.js +1 -1
  567. package/dist/init/settings-merge.d.ts +10 -3
  568. package/dist/init/settings-merge.js +40 -9
  569. package/dist/integrations/agentic-flow/model-router/types.js +6 -8
  570. package/dist/integrations/ruvector/brain-exporter.js +9 -15
  571. package/dist/integrations/ruvector/brain-rvf-exporter.js +17 -30
  572. package/dist/integrations/ruvector/brain-shared.d.ts +5 -1
  573. package/dist/integrations/ruvector/brain-shared.js +70 -4
  574. package/dist/integrations/ruvector/rvf-dual-writer.js +36 -15
  575. package/dist/integrations/ruvector/rvf-store-integrity.d.ts +14 -9
  576. package/dist/integrations/ruvector/rvf-store-integrity.js +39 -9
  577. package/dist/integrations/ruvector/shared-rvf-adapter.js +20 -23
  578. package/dist/kernel/memory-factory.js +14 -4
  579. package/dist/kernel/project-root.js +10 -8
  580. package/dist/kernel/unified-memory.js +1 -1
  581. package/dist/learning/local-judge-client.d.ts +6 -5
  582. package/dist/learning/local-judge-client.js +7 -6
  583. package/dist/learning/pattern-store.js +29 -11
  584. package/dist/mcp/bundle.js +488 -488
  585. package/dist/mcp/handlers/index.d.ts +1 -1
  586. package/dist/mcp/handlers/index.js +1 -1
  587. package/dist/mcp/handlers/pipeline-handlers.d.ts +31 -1
  588. package/dist/mcp/handlers/pipeline-handlers.js +63 -0
  589. package/dist/mcp/handlers/task-handlers.d.ts +1 -0
  590. package/dist/mcp/handlers/task-handlers.js +12 -4
  591. package/dist/mcp/protocol-server.d.ts +2 -0
  592. package/dist/mcp/protocol-server.js +104 -49
  593. package/dist/mcp/security/sampling-server.js +2 -1
  594. package/dist/mcp/tool-annotations.js +1 -1
  595. package/dist/mcp/tools/test-execution/schedule.js +7 -0
  596. package/dist/mcp/types.d.ts +5 -1
  597. package/dist/optimization/session-cache.d.ts +5 -0
  598. package/dist/optimization/session-cache.js +23 -0
  599. package/dist/routing/advisor/multi-model-executor.d.ts +4 -1
  600. package/dist/routing/advisor/multi-model-executor.js +8 -1
  601. package/dist/routing/free-tier/ladder.d.ts +2 -1
  602. package/dist/routing/free-tier/ladder.js +3 -2
  603. package/dist/routing/security/cyber-pin.d.ts +35 -11
  604. package/dist/routing/security/cyber-pin.js +76 -14
  605. package/dist/routing/value-score.js +1 -1
  606. package/dist/shared/git/index.d.ts +1 -0
  607. package/dist/shared/git/index.js +1 -0
  608. package/dist/shared/git/ref-validation.d.ts +20 -0
  609. package/dist/shared/git/ref-validation.js +43 -0
  610. package/dist/shared/llm/anthropic-params.d.ts +40 -0
  611. package/dist/shared/llm/anthropic-params.js +51 -0
  612. package/dist/shared/llm/cost-tracker.d.ts +15 -2
  613. package/dist/shared/llm/cost-tracker.js +62 -10
  614. package/dist/shared/llm/index.d.ts +2 -2
  615. package/dist/shared/llm/index.js +2 -2
  616. package/dist/shared/llm/interfaces.d.ts +1 -1
  617. package/dist/shared/llm/metrics/cost-metrics.js +5 -4
  618. package/dist/shared/llm/model-mapping.js +131 -0
  619. package/dist/shared/llm/model-registry.d.ts +37 -11
  620. package/dist/shared/llm/model-registry.js +393 -18
  621. package/dist/shared/llm/openai-params.d.ts +35 -0
  622. package/dist/shared/llm/openai-params.js +54 -0
  623. package/dist/shared/llm/provider-manager.js +4 -3
  624. package/dist/shared/llm/providers/azure-openai.d.ts +11 -0
  625. package/dist/shared/llm/providers/azure-openai.js +26 -15
  626. package/dist/shared/llm/providers/bedrock.js +11 -19
  627. package/dist/shared/llm/providers/claude.js +6 -29
  628. package/dist/shared/llm/providers/codex.js +4 -3
  629. package/dist/shared/llm/providers/gemini.d.ts +3 -2
  630. package/dist/shared/llm/providers/gemini.js +19 -10
  631. package/dist/shared/llm/providers/ollama.d.ts +2 -0
  632. package/dist/shared/llm/providers/ollama.js +30 -20
  633. package/dist/shared/llm/providers/openai.js +10 -17
  634. package/dist/shared/llm/providers/openrouter.d.ts +1 -1
  635. package/dist/shared/llm/providers/openrouter.js +57 -21
  636. package/dist/shared/llm/router/agent-router-config.js +33 -32
  637. package/dist/shared/llm/router/hybrid-router.js +21 -9
  638. package/dist/shared/llm/router/routing-rules.js +9 -8
  639. package/dist/shared/llm/router/types.js +81 -13
  640. package/dist/shared/llm/translation/message-formatter.js +4 -23
  641. package/dist/shared/vitest-json-report.d.ts +7 -7
  642. package/dist/shared/vitest-json-report.js +23 -14
  643. package/dist/test-scheduling/executors/vitest-executor.d.ts +7 -2
  644. package/dist/test-scheduling/executors/vitest-executor.js +157 -47
  645. package/dist/test-scheduling/git-aware/test-selector.js +3 -0
  646. package/dist/test-scheduling/phase-scheduler.d.ts +1 -0
  647. package/dist/test-scheduling/phase-scheduler.js +23 -1
  648. package/package.json +1 -1
  649. package/dist/cli/chunks/adapter-AKQYU6UH.js +0 -2
  650. package/dist/cli/chunks/aqe-learning-engine-MICRPL3N.js +0 -2
  651. package/dist/cli/chunks/base-DZK36ITB.js +0 -2
  652. package/dist/cli/chunks/brain-handler-H5OVZ22L.js +0 -90
  653. package/dist/cli/chunks/browser-workflow-ADK54DOE.js +0 -2
  654. package/dist/cli/chunks/chunk-42VSQ2MX.js +0 -4
  655. package/dist/cli/chunks/chunk-44WISFTU.js +0 -2
  656. package/dist/cli/chunks/chunk-4OUPCTBS.js +0 -16
  657. package/dist/cli/chunks/chunk-4TXAP3YH.js +0 -2
  658. package/dist/cli/chunks/chunk-4W7QVUNO.js +0 -2
  659. package/dist/cli/chunks/chunk-527HQAY7.js +0 -14
  660. package/dist/cli/chunks/chunk-5DFHE4H5.js +0 -180
  661. package/dist/cli/chunks/chunk-5P3G6ZW4.js +0 -2
  662. package/dist/cli/chunks/chunk-6F2RM6X2.js +0 -2
  663. package/dist/cli/chunks/chunk-7Y2CEXRS.js +0 -65
  664. package/dist/cli/chunks/chunk-AWNYEAGB.js +0 -2
  665. package/dist/cli/chunks/chunk-CBOPBYPU.js +0 -2
  666. package/dist/cli/chunks/chunk-FD2JFEQC.js +0 -2
  667. package/dist/cli/chunks/chunk-I4NDQGKP.js +0 -2
  668. package/dist/cli/chunks/chunk-L2GKMBDP.js +0 -2
  669. package/dist/cli/chunks/chunk-QLWNXBRU.js +0 -2
  670. package/dist/cli/chunks/chunk-R2AFVFRF.js +0 -2
  671. package/dist/cli/chunks/chunk-ROX7NLS4.js +0 -14
  672. package/dist/cli/chunks/chunk-T62DH4GG.js +0 -11
  673. package/dist/cli/chunks/chunk-UMNYF5EZ.js +0 -2
  674. package/dist/cli/chunks/chunk-UTVRQEZM.js +0 -54
  675. package/dist/cli/chunks/chunk-Y5SQBI2F.js +0 -2
  676. package/dist/cli/chunks/ci-YVKDQWIX.js +0 -81
  677. package/dist/cli/chunks/client-M72GXFVQ.js +0 -2
  678. package/dist/cli/chunks/complexity-analyzer-LEDG62YK.js +0 -2
  679. package/dist/cli/chunks/core-handlers-C32RAMVI.js +0 -2
  680. package/dist/cli/chunks/cost-tracker-GJIFB2BM.js +0 -2
  681. package/dist/cli/chunks/cross-domain-router-UGFUCPKC.js +0 -2
  682. package/dist/cli/chunks/dream-UFBBXY5W.js +0 -2
  683. package/dist/cli/chunks/eval-PR6YWDFM.js +0 -17
  684. package/dist/cli/chunks/fleet-QNT6X2YI.js +0 -43
  685. package/dist/cli/chunks/heartbeat-scheduler-VQWHSGTY.js +0 -2
  686. package/dist/cli/chunks/hnsw-adapter-BS3NXWGU.js +0 -2
  687. package/dist/cli/chunks/hnsw-index-JP26B4HW.js +0 -2
  688. package/dist/cli/chunks/impact-analyzer-WRE4CWPJ.js +0 -2
  689. package/dist/cli/chunks/init-wizard-OFOEYB75.js +0 -2
  690. package/dist/cli/chunks/kernel-MXNFWNUD.js +0 -2
  691. package/dist/cli/chunks/knowledge-graph-7JE2TVKJ.js +0 -2
  692. package/dist/cli/chunks/learning-7B5NITDV.js +0 -122
  693. package/dist/cli/chunks/llm-router-BNEPT5OB.js +0 -37
  694. package/dist/cli/chunks/llm-router-service-GTDVDKSU.js +0 -2
  695. package/dist/cli/chunks/load-test-JZ4CLSBF.js +0 -2
  696. package/dist/cli/chunks/memory-backend-Q54CC5A5.js +0 -2
  697. package/dist/cli/chunks/memory-handlers-IIBJXKHZ.js +0 -2
  698. package/dist/cli/chunks/multi-model-executor-HEDVOZ6X.js +0 -14
  699. package/dist/cli/chunks/pattern-null-store-W33O7FYO.js +0 -2
  700. package/dist/cli/chunks/pipeline-UOG6UO6D.js +0 -19
  701. package/dist/cli/chunks/protocol-executor-VGN4M7XY.js +0 -2
  702. package/dist/cli/chunks/qe-reasoning-bank-7VB5LJGS.js +0 -2
  703. package/dist/cli/chunks/queen-coordinator-HIDMJMMG.js +0 -2
  704. package/dist/cli/chunks/router-CTIJS4D7.js +0 -2
  705. package/dist/cli/chunks/routing-feedback-LFYYZS5J.js +0 -2
  706. package/dist/cli/chunks/rvf-dual-writer-MNPMIWVM.js +0 -2
  707. package/dist/cli/chunks/rvf-migration-adapter-DXOKSSNW.js +0 -2
  708. package/dist/cli/chunks/rvf-native-adapter-PZKUKA7R.js +0 -2
  709. package/dist/cli/chunks/rvf-store-integrity-Q3FGYKFT.js +0 -2
  710. package/dist/cli/chunks/safe-db-73BLFV2C.js +0 -2
  711. package/dist/cli/chunks/schedule-YVTGTTI4.js +0 -2
  712. package/dist/cli/chunks/scheduler-5DSAFIRQ.js +0 -2
  713. package/dist/cli/chunks/sqlite-persistence-LRG4IPCU.js +0 -2
  714. package/dist/cli/chunks/task-handler-L7E2I267.js +0 -49
  715. package/dist/cli/chunks/task-handlers-6DPKE4AK.js +0 -9
  716. package/dist/cli/chunks/test-scheduling-4CNJA6TW.js +0 -15
  717. package/dist/cli/chunks/types-TXMY5M2K.js +0 -2
  718. package/dist/cli/chunks/unified-memory-VBQ572X4.js +0 -2
  719. package/dist/cli/chunks/unified-memory-hnsw-J3L74ZRY.js +0 -2
  720. package/dist/cli/chunks/unified-persistence-EM2VYRTQ.js +0 -2
  721. package/dist/cli/chunks/visual-security-GX4S7K6O.js +0 -2
  722. package/dist/cli/chunks/witness-chain-QGKMHCNW.js +0 -2
  723. package/dist/cli/chunks/workflow-2OYNO7UU.js +0 -51
  724. package/dist/cli/chunks/workflow-orchestrator-KWHIJMFV.js +0 -2
@@ -29,6 +29,7 @@
29
29
  */
30
30
  import { createLLMError, } from '../interfaces.js';
31
31
  import { CostTracker } from '../cost-tracker.js';
32
+ import { applyOpenAIParams } from '../openai-params.js';
32
33
  import { TokenMetricsCollector } from '../../../learning/token-tracker.js';
33
34
  import { toError } from '../../error-utils.js';
34
35
  import { backoffDelay } from '../retry.js';
@@ -36,7 +37,11 @@ import { backoffDelay } from '../retry.js';
36
37
  * Default Azure OpenAI configuration
37
38
  */
38
39
  export const DEFAULT_AZURE_OPENAI_CONFIG = {
39
- model: 'gpt-4o', // Base model - actual deployment may vary
40
+ // Logical base model for cost tracking only — the deployment decides which
41
+ // model runs. Kept at gpt-4o so existing deployments keep their request
42
+ // shape; GPT-5/6 deployments must set `model` explicitly (e.g. 'gpt-6-sol')
43
+ // so the request uses max_completion_tokens.
44
+ model: 'gpt-4o',
40
45
  maxTokens: 4096,
41
46
  temperature: 0.7,
42
47
  timeoutMs: 60000,
@@ -54,8 +59,22 @@ export class AzureOpenAIProvider {
54
59
  name = 'Azure OpenAI';
55
60
  config;
56
61
  requestId = 0;
62
+ /** Model the caller configured explicitly (not the default), for parameter policy. */
63
+ explicitModel;
57
64
  constructor(config) {
58
65
  this.config = { ...DEFAULT_AZURE_OPENAI_CONFIG, ...config };
66
+ this.explicitModel = config.model;
67
+ }
68
+ /**
69
+ * Model ID used to pick the request-parameter policy. The deployment decides
70
+ * which model actually runs, so the default `model` is not trusted here: an
71
+ * explicit model wins, otherwise the deployment name is looked up. A
72
+ * deployment name that hides the base model (e.g. 'prod-chat') falls back to
73
+ * the name heuristic in openai-params, i.e. the legacy max_tokens shape —
74
+ * GPT-5/6 deployments with opaque names must therefore set `model`.
75
+ */
76
+ paramPolicyModel(requestModel) {
77
+ return requestModel ?? this.explicitModel ?? this.config.deploymentId;
59
78
  }
60
79
  /**
61
80
  * Check if Azure OpenAI is available and configured
@@ -104,10 +123,7 @@ export class AzureOpenAIProvider {
104
123
  const response = await this.fetchWithTimeout(this.buildUrl('chat/completions'), {
105
124
  method: 'POST',
106
125
  headers: this.getHeaders(),
107
- body: JSON.stringify({
108
- max_tokens: 1,
109
- messages: [{ role: 'user', content: 'Hi' }],
110
- }),
126
+ body: JSON.stringify(applyOpenAIParams({ messages: [{ role: 'user', content: 'Hi' }] }, this.paramPolicyModel(), { maxTokens: 1 })),
111
127
  }, 5000);
112
128
  const latencyMs = Date.now() - start;
113
129
  if (!response.ok) {
@@ -152,11 +168,7 @@ export class AzureOpenAIProvider {
152
168
  const temperature = options?.temperature ?? this.config.temperature ?? 0.7;
153
169
  const requestId = `azure-openai-${++this.requestId}-${Date.now()}`;
154
170
  const start = Date.now();
155
- const body = {
156
- max_tokens: maxTokens,
157
- temperature,
158
- messages,
159
- };
171
+ const body = applyOpenAIParams({ messages }, this.paramPolicyModel(options?.model), { maxTokens, temperature });
160
172
  if (options?.stopSequences && options.stopSequences.length > 0) {
161
173
  body.stop = options.stopSequences;
162
174
  }
@@ -291,11 +303,10 @@ export class AzureOpenAIProvider {
291
303
  */
292
304
  getSupportedModels() {
293
305
  return [
294
- 'gpt-4o',
295
- 'gpt-4o-mini',
296
- 'gpt-4-turbo',
297
- 'gpt-4',
298
- 'gpt-35-turbo', // Azure uses different naming
306
+ 'gpt-6-sol',
307
+ 'gpt-6-luna',
308
+ 'gpt-6-astra',
309
+ 'gpt-5.4-mini',
299
310
  'text-embedding-ada-002',
300
311
  'text-embedding-3-small',
301
312
  'text-embedding-3-large',
@@ -16,11 +16,14 @@ import { CostTracker } from '../cost-tracker.js';
16
16
  import { TokenMetricsCollector } from '../../../learning/token-tracker.js';
17
17
  import { toError } from '../../error-utils.js';
18
18
  import { backoffDelay } from '../retry.js';
19
+ import { applyAnthropicParams } from '../anthropic-params.js';
19
20
  /**
20
21
  * Default Bedrock configuration
21
22
  */
22
23
  export const DEFAULT_BEDROCK_CONFIG = {
23
- model: 'anthropic.claude-3-5-sonnet-20241022-v2:0',
24
+ // Sonnet 4.6 is the newest model verified on the InvokeModel path this
25
+ // provider uses; Claude 5 models are documented on Bedrock's Mantle endpoint.
26
+ model: 'anthropic.claude-sonnet-4-6-v1:0',
24
27
  region: 'us-east-1',
25
28
  maxTokens: 4096,
26
29
  temperature: 0.7,
@@ -41,24 +44,12 @@ export const BEDROCK_MODEL_MAPPING = {
41
44
  'claude-sonnet-4-6': 'anthropic.claude-sonnet-4-6-v1:0',
42
45
  'claude-haiku-4-5-20251001': 'anthropic.claude-haiku-4-5-v1:0',
43
46
  'claude-haiku-4-5': 'anthropic.claude-haiku-4-5-v1:0',
44
- // Retiring 2026-06-15 — kept for existing traffic during transition
47
+ // Previous generation, still served by Anthropic
45
48
  'claude-opus-4-5-20251101': 'anthropic.claude-opus-4-5-v1:0',
46
49
  'claude-opus-4-5': 'anthropic.claude-opus-4-5-v1:0',
47
- 'claude-opus-4-20250514': 'anthropic.claude-opus-4-v1:0',
48
- 'claude-opus-4': 'anthropic.claude-opus-4-v1:0',
49
- 'claude-sonnet-4-20250514': 'anthropic.claude-sonnet-4-v1:0',
50
- 'claude-sonnet-4': 'anthropic.claude-sonnet-4-v1:0',
51
- 'claude-3-5-haiku-20241022': 'anthropic.claude-3-5-haiku-v1:0',
52
- 'claude-haiku-3-5': 'anthropic.claude-3-5-haiku-v1:0',
53
- // Claude Sonnet 4.5
54
50
  'claude-sonnet-4-5-20250929': 'anthropic.claude-sonnet-4-5-v2:0',
55
51
  'claude-sonnet-4-5': 'anthropic.claude-sonnet-4-5-v2:0',
56
- // Legacy Claude 3 models
57
- 'claude-3-opus-20240229': 'anthropic.claude-3-opus-20240229-v1:0',
58
- 'claude-3-sonnet-20240229': 'anthropic.claude-3-sonnet-20240229-v1:0',
59
- 'claude-3-haiku-20240307': 'anthropic.claude-3-haiku-20240307-v1:0',
60
- // Claude 3.5 Sonnet
61
- 'claude-3-5-sonnet-20241022': 'anthropic.claude-3-5-sonnet-20241022-v2:0',
52
+ // Claude 3.x, Sonnet 4 and Opus 4/4.1 are retired and intentionally absent.
62
53
  };
63
54
  /**
64
55
  * Reverse mapping from Bedrock model IDs to canonical IDs
@@ -160,10 +151,11 @@ export class BedrockProvider {
160
151
  max_tokens: maxTokens,
161
152
  messages,
162
153
  };
163
- // Temperature must be between 0 and 1 for Bedrock
164
- if (temperature !== undefined) {
165
- body.temperature = Math.min(Math.max(temperature, 0), 1);
166
- }
154
+ // Temperature must be between 0 and 1 for Bedrock, and newer Claude
155
+ // models reject it entirely.
156
+ applyAnthropicParams(body, bedrockModelId, {
157
+ temperature: temperature !== undefined ? Math.min(Math.max(temperature, 0), 1) : undefined,
158
+ });
167
159
  if (options?.systemPrompt) {
168
160
  body.system = options.systemPrompt;
169
161
  }
@@ -10,13 +10,13 @@ import { CostTracker } from '../cost-tracker.js';
10
10
  import { TokenMetricsCollector } from '../../../learning/token-tracker.js';
11
11
  import { toError } from '../../error-utils.js';
12
12
  import { backoffDelay } from '../retry.js';
13
- import { resolveEffortLevel, downgradeEffort } from '../effort-resolver.js';
14
- import { getModelCapabilities } from '../model-registry.js';
13
+ import { applyAnthropicParams } from '../anthropic-params.js';
14
+ import { DEFAULT_SONNET_MODEL } from '../model-registry.js';
15
15
  /**
16
16
  * Default Claude configuration
17
17
  */
18
18
  export const DEFAULT_CLAUDE_CONFIG = {
19
- model: 'claude-sonnet-4-6',
19
+ model: DEFAULT_SONNET_MODEL,
20
20
  maxTokens: 4096,
21
21
  temperature: 0.7,
22
22
  timeoutMs: 60000,
@@ -118,9 +118,11 @@ export class ClaudeProvider {
118
118
  const body = {
119
119
  model,
120
120
  max_tokens: maxTokens,
121
- temperature,
122
121
  messages,
123
122
  };
123
+ // Sampling params and effort are model-dependent: current Claude models
124
+ // reject `temperature` and take effort only as `output_config.effort`.
125
+ applyAnthropicParams(body, model, { temperature, effort: options?.effort });
124
126
  if (options?.systemPrompt) {
125
127
  // ADR-088: when caching is enabled, send the system prompt as a
126
128
  // content-block array with an ephemeral cache breakpoint — repeated
@@ -135,31 +137,6 @@ export class ClaudeProvider {
135
137
  if (options?.stopSequences && options.stopSequences.length > 0) {
136
138
  body.stop_sequences = options.stopSequences;
137
139
  }
138
- // ADR-093: apply effort level only on models that actually advertise it.
139
- //
140
- // Anthropic's Messages API accepts effort nested under the `thinking`
141
- // block, not as a top-level field. We only set it when the target model
142
- // has `supportsEffortXHigh: true` in the registry (= Opus 4.7 today).
143
- // For every other model we send nothing thinking/effort-related — the
144
- // caller's `options.effort` is ignored rather than silently downgraded
145
- // to a value the model may not accept.
146
- //
147
- // Rationale: the top-level `effort` shape was unverified against
148
- // Anthropic's public schema and risked 400-ing Sonnet 4.6 / Haiku 4.5
149
- // calls. Gating behind the capability flag keeps behavior safe on
150
- // models without xhigh support; Opus 4.7 gets the advertised quality
151
- // boost once we verify the exact nested shape Anthropic accepts.
152
- try {
153
- const caps = getModelCapabilities(model);
154
- if (caps.supportsEffortXHigh) {
155
- const requested = resolveEffortLevel({ override: options?.effort });
156
- const effort = downgradeEffort(requested, 'xhigh');
157
- body.thinking = { type: 'adaptive', effort };
158
- }
159
- }
160
- catch {
161
- // Model not in registry — skip effort entirely.
162
- }
163
140
  try {
164
141
  const response = await this.fetchWithRetry(`${this.getBaseUrl()}/v1/messages`, {
165
142
  method: 'POST',
@@ -174,9 +174,10 @@ export class CodexProvider {
174
174
  return { ...this.config };
175
175
  }
176
176
  getSupportedModels() {
177
- // Codex resolves the concrete model from its profile/login; these are the
178
- // common ids accepted via -m. `default` = whatever the CLI is configured to.
179
- return [CODEX_DEFAULT_MODEL, 'gpt-5-codex', 'o3', 'o4-mini'];
177
+ // Informational only — not used to validate. Codex resolves the concrete
178
+ // model from its profile/login and validates any id passed via -m itself.
179
+ // `default` = whatever the CLI is configured to.
180
+ return [CODEX_DEFAULT_MODEL, 'gpt-6-sol', 'gpt-6-luna', 'gpt-6-astra', 'gpt-5.6-sol', 'gpt-5.3-codex'];
180
181
  }
181
182
  getCostPerToken() {
182
183
  return { input: 0, output: 0 };
@@ -13,7 +13,7 @@ import { LLMProvider, LLMProviderType, LLMConfig, Message, GenerateOptions, Embe
13
13
  * Gemini-specific configuration
14
14
  */
15
15
  export interface GeminiConfig extends LLMConfig {
16
- /** Gemini model (e.g., 'gemini-pro', 'gemini-1.5-pro', 'gemini-1.5-flash') */
16
+ /** Gemini model (e.g., 'gemini-2.5-flash', 'gemini-2.5-pro', 'gemini-3.8-flash') */
17
17
  model: string;
18
18
  /** Safety settings threshold */
19
19
  safetyThreshold?: 'BLOCK_NONE' | 'BLOCK_ONLY_HIGH' | 'BLOCK_MEDIUM_AND_ABOVE' | 'BLOCK_LOW_AND_ABOVE';
@@ -24,7 +24,8 @@ export interface GeminiConfig extends LLMConfig {
24
24
  export declare const DEFAULT_GEMINI_CONFIG: GeminiConfig;
25
25
  /**
26
26
  * Gemini model pricing (cost per 1M tokens in USD)
27
- * Prices as of early 2025
27
+ * 3.x prices from the OpenRouter catalog (2026-09-27); 3.x IDs other than
28
+ * gemini-3.5-flash are not yet verified against the Gemini ListModels API.
28
29
  */
29
30
  export declare const GEMINI_PRICING: Record<string, {
30
31
  input: number;
@@ -29,24 +29,28 @@ export const DEFAULT_GEMINI_CONFIG = {
29
29
  };
30
30
  /**
31
31
  * Gemini model pricing (cost per 1M tokens in USD)
32
- * Prices as of early 2025
32
+ * 3.x prices from the OpenRouter catalog (2026-09-27); 3.x IDs other than
33
+ * gemini-3.5-flash are not yet verified against the Gemini ListModels API.
33
34
  */
34
35
  export const GEMINI_PRICING = {
35
- // Gemini Pro models
36
+ // Gemini 3.x (current generation)
37
+ 'gemini-3.8-flash': { input: 0.75, output: 3.75 },
38
+ 'gemini-3.5-flash': { input: 1.5, output: 9.0 },
39
+ 'gemini-3.5-flash-lite': { input: 0.3, output: 2.5 },
40
+ 'gemini-3.1-pro-preview': { input: 2.0, output: 12.0 },
41
+ // Gemini 2.5
42
+ 'gemini-2.5-pro': { input: 1.25, output: 10.0 },
43
+ 'gemini-2.5-flash': { input: 0.3, output: 2.5 },
44
+ 'gemini-flash-latest': { input: 0.3, output: 2.5 },
45
+ // Deprecated: retired by Google. Kept only so historical usage records
46
+ // still price correctly — never use as a default.
36
47
  'gemini-pro': { input: 0.5, output: 1.5 },
37
48
  'gemini-1.0-pro': { input: 0.5, output: 1.5 },
38
- // Gemini 1.5 Pro models
39
49
  'gemini-1.5-pro': { input: 3.5, output: 10.5 },
40
50
  'gemini-1.5-pro-latest': { input: 3.5, output: 10.5 },
41
- // Gemini Flash models (economical)
42
51
  'gemini-1.5-flash': { input: 0.075, output: 0.3 },
43
52
  'gemini-1.5-flash-latest': { input: 0.075, output: 0.3 },
44
53
  'gemini-2.0-flash-exp': { input: 0.075, output: 0.3 },
45
- // Gemini 2.5 (current generation)
46
- 'gemini-2.5-pro': { input: 1.25, output: 10.0 },
47
- 'gemini-2.5-flash': { input: 0.3, output: 2.5 },
48
- 'gemini-flash-latest': { input: 0.3, output: 2.5 },
49
- // Gemini Ultra (flagship)
50
54
  'gemini-ultra': { input: 7.0, output: 21.0 },
51
55
  'gemini-1.0-ultra': { input: 7.0, output: 21.0 },
52
56
  // Default fallback
@@ -399,16 +403,21 @@ export class GeminiProvider {
399
403
  }
400
404
  // Current text-generation models (verified via Gemini ListModels API 2026-06-27).
401
405
  // Prefer the `-latest` aliases as defaults so they don't rot (gemini-1.5-pro was retired).
406
+ // gemini-3.8-flash, gemini-3.5-flash-lite and gemini-3.1-pro-preview come from the
407
+ // OpenRouter catalog (2026-09-27) and are not yet verified against ListModels.
402
408
  return [
403
409
  'gemini-flash-latest',
404
410
  'gemini-pro-latest',
405
411
  'gemini-flash-lite-latest',
412
+ 'gemini-3.8-flash',
413
+ 'gemini-3.5-flash',
414
+ 'gemini-3.5-flash-lite',
415
+ 'gemini-3.1-pro-preview',
406
416
  'gemini-2.5-pro',
407
417
  'gemini-2.5-flash',
408
418
  'gemini-2.5-flash-lite',
409
419
  'gemini-2.0-flash',
410
420
  'gemini-2.0-flash-lite',
411
- 'gemini-3.5-flash',
412
421
  ];
413
422
  }
414
423
  /**
@@ -19,6 +19,8 @@ export declare class OllamaProvider implements LLMProvider {
19
19
  private config;
20
20
  private requestId;
21
21
  private availableModels;
22
+ /** Full installed names including tag (e.g. 'qwen3-coder:30b'), from the last health check. */
23
+ private installedTags;
22
24
  /** EMA of observed generation throughput (tok/s) per model, for adaptive timeouts (#3). */
23
25
  private observedTokPerSec;
24
26
  constructor(config?: Partial<OllamaConfig>);
@@ -14,7 +14,7 @@ import { computeAdaptiveTimeoutMs } from './ollama-timeout.js';
14
14
  * Default Ollama configuration
15
15
  */
16
16
  export const DEFAULT_OLLAMA_CONFIG = {
17
- model: 'llama3.1',
17
+ model: 'qwen3-coder:30b', // ADR-111 local QE floor — never qwen3:8b
18
18
  baseUrl: resolveOllamaBaseUrl('http://localhost:11434'),
19
19
  maxTokens: 4096,
20
20
  temperature: 0.7,
@@ -34,6 +34,8 @@ export class OllamaProvider {
34
34
  config;
35
35
  requestId = 0;
36
36
  availableModels = [];
37
+ /** Full installed names including tag (e.g. 'qwen3-coder:30b'), from the last health check. */
38
+ installedTags = [];
37
39
  /** EMA of observed generation throughput (tok/s) per model, for adaptive timeouts (#3). */
38
40
  observedTokPerSec = new Map();
39
41
  constructor(config = {}) {
@@ -92,12 +94,17 @@ export class OllamaProvider {
92
94
  }
93
95
  const data = await response.json();
94
96
  // Extract available model names
95
- this.availableModels =
96
- data.models?.map((m) => m.name.split(':')[0]) ?? [];
97
- // Check if the configured model is available
98
- const hasConfiguredModel = this.availableModels.some((m) => m === this.config.model ||
99
- m.startsWith(this.config.model) ||
100
- this.config.model.startsWith(m));
97
+ this.installedTags = data.models?.map((m) => m.name) ?? [];
98
+ this.availableModels = this.installedTags.map((name) => name.split(':')[0]);
99
+ // Check if the configured model is available. A tagged model
100
+ // ('qwen3-coder:30b') must match an installed tag exactly; prefix
101
+ // matching reported 'qwen3:8b' as satisfying 'qwen3-coder:30b', a false
102
+ // healthy that only failed later at generate time. An untagged model
103
+ // ('llama3.1') matches any installed tag of that name.
104
+ const configured = this.config.model;
105
+ const hasConfiguredModel = configured.includes(':')
106
+ ? this.installedTags.includes(configured)
107
+ : this.availableModels.includes(configured);
101
108
  if (!hasConfiguredModel && this.availableModels.length > 0) {
102
109
  return {
103
110
  healthy: true,
@@ -269,7 +276,7 @@ export class OllamaProvider {
269
276
  */
270
277
  async complete(prompt, options) {
271
278
  // Use generate with code-completion-optimized settings
272
- // Prefer codellama for code completion if available
279
+ // Prefer a code-tuned model for completion if one is installed
273
280
  const model = options?.model ?? this.selectCodeModel();
274
281
  const response = await this.generate(prompt, {
275
282
  model,
@@ -297,16 +304,15 @@ export class OllamaProvider {
297
304
  */
298
305
  getSupportedModels() {
299
306
  // Return known models plus any detected from health check
307
+ // Curated current families; installed models are merged in below.
308
+ // Tag availability varies by Ollama library version — pull to confirm.
300
309
  const knownModels = [
301
- 'llama3',
302
- 'llama3.1',
303
- 'llama3.2',
304
- 'codellama',
305
- 'mistral',
306
- 'mixtral',
307
- 'phi3',
308
- 'qwen2',
309
- 'gemma',
310
+ 'qwen3-coder:30b',
311
+ 'qwen3:30b-a3b',
312
+ 'gpt-oss:20b',
313
+ 'gpt-oss:120b',
314
+ 'llama4:scout',
315
+ 'gemma4',
310
316
  'nomic-embed-text',
311
317
  ];
312
318
  const uniqueModels = new Set([...knownModels, ...this.availableModels]);
@@ -368,10 +374,14 @@ export class OllamaProvider {
368
374
  * Select the best available code model
369
375
  */
370
376
  selectCodeModel() {
371
- const codeModels = ['codellama', 'llama3.1', 'llama3', 'mistral'];
377
+ // Most-preferred first. Deliberately excludes qwen3:8b (below the ADR-111 floor).
378
+ const codeModels = ['qwen3-coder', 'gpt-oss', 'qwen3:30b-a3b', 'codellama'];
372
379
  for (const model of codeModels) {
373
- if (this.availableModels.some((m) => m === model || m.startsWith(model))) {
374
- return model;
380
+ // Return the full installed tag (e.g. 'qwen3-coder:30b'), not the prefix — a bare
381
+ // family name resolves to ':latest', which may not be the tag that is pulled.
382
+ const installed = this.installedTags.find((m) => m === model || m.startsWith(model));
383
+ if (installed) {
384
+ return installed;
375
385
  }
376
386
  }
377
387
  return this.config.model;
@@ -7,6 +7,7 @@
7
7
  */
8
8
  import { createLLMError, } from '../interfaces.js';
9
9
  import { CostTracker } from '../cost-tracker.js';
10
+ import { applyOpenAIParams } from '../openai-params.js';
10
11
  import { TokenMetricsCollector } from '../../../learning/token-tracker.js';
11
12
  import { toError } from '../../error-utils.js';
12
13
  import { backoffDelay } from '../retry.js';
@@ -14,7 +15,7 @@ import { backoffDelay } from '../retry.js';
14
15
  * Default OpenAI configuration
15
16
  */
16
17
  export const DEFAULT_OPENAI_CONFIG = {
17
- model: 'gpt-4o',
18
+ model: 'gpt-6-sol',
18
19
  maxTokens: 4096,
19
20
  temperature: 0.7,
20
21
  timeoutMs: 60000,
@@ -66,11 +67,7 @@ export class OpenAIProvider {
66
67
  const response = await this.fetchWithTimeout(`${this.getBaseUrl()}/v1/chat/completions`, {
67
68
  method: 'POST',
68
69
  headers: this.getHeaders(),
69
- body: JSON.stringify({
70
- model: this.config.model,
71
- max_tokens: 1,
72
- messages: [{ role: 'user', content: 'Hi' }],
73
- }),
70
+ body: JSON.stringify(applyOpenAIParams({ model: this.config.model, messages: [{ role: 'user', content: 'Hi' }] }, this.config.model, { maxTokens: 1 })),
74
71
  }, 5000);
75
72
  const latencyMs = Date.now() - start;
76
73
  if (!response.ok) {
@@ -112,12 +109,7 @@ export class OpenAIProvider {
112
109
  const temperature = options?.temperature ?? this.config.temperature ?? 0.7;
113
110
  const requestId = `openai-${++this.requestId}-${Date.now()}`;
114
111
  const start = Date.now();
115
- const body = {
116
- model,
117
- max_tokens: maxTokens,
118
- temperature,
119
- messages,
120
- };
112
+ const body = applyOpenAIParams({ model, messages }, model, { maxTokens, temperature });
121
113
  if (options?.stopSequences && options.stopSequences.length > 0) {
122
114
  body.stop = options.stopSequences;
123
115
  }
@@ -248,11 +240,12 @@ export class OpenAIProvider {
248
240
  */
249
241
  getSupportedModels() {
250
242
  return [
251
- 'gpt-4o',
252
- 'gpt-4o-mini',
253
- 'gpt-4-turbo',
254
- 'gpt-4',
255
- 'gpt-3.5-turbo',
243
+ 'gpt-6-sol',
244
+ 'gpt-6-luna',
245
+ 'gpt-6-astra',
246
+ 'gpt-5.6-sol',
247
+ 'gpt-5.6-luna',
248
+ 'gpt-5.4-mini',
256
249
  ];
257
250
  }
258
251
  /**
@@ -14,7 +14,7 @@ import { LLMProvider, LLMProviderType, LLMConfig, Message, GenerateOptions, Embe
14
14
  * OpenRouter-specific configuration
15
15
  */
16
16
  export interface OpenRouterConfig extends LLMConfig {
17
- /** OpenRouter model (e.g., 'anthropic/claude-3.5-sonnet', 'openai/gpt-4o') */
17
+ /** OpenRouter model (e.g., 'anthropic/claude-sonnet-5', 'openai/gpt-6-sol') */
18
18
  model: string;
19
19
  /** Site URL for OpenRouter attribution (optional but recommended) */
20
20
  siteUrl?: string;
@@ -14,11 +14,12 @@ import { TokenMetricsCollector } from '../../../learning/token-tracker.js';
14
14
  import { toError } from '../../error-utils.js';
15
15
  import { backoffDelay } from '../retry.js';
16
16
  import { safeJsonParse } from '../../safe-json.js';
17
+ import { resolveModelPricing } from '../cost-tracker.js';
17
18
  /**
18
19
  * Default OpenRouter configuration
19
20
  */
20
21
  export const DEFAULT_OPENROUTER_CONFIG = {
21
- model: 'anthropic/claude-3.5-sonnet',
22
+ model: 'anthropic/claude-sonnet-5',
22
23
  maxTokens: 4096,
23
24
  temperature: 0.7,
24
25
  timeoutMs: 60000,
@@ -34,29 +35,62 @@ export const DEFAULT_OPENROUTER_CONFIG = {
34
35
  */
35
36
  export const OPENROUTER_PRICING = {
36
37
  // Anthropic models via OpenRouter
38
+ 'anthropic/claude-sonnet-5': { input: 2.0, output: 10.0 },
39
+ 'anthropic/claude-opus-5': { input: 5.0, output: 25.0 },
40
+ 'anthropic/claude-opus-5.5': { input: 4.0, output: 20.0 },
41
+ 'anthropic/claude-haiku-4.5': { input: 1.0, output: 5.0 },
42
+ // OpenAI models via OpenRouter
43
+ 'openai/gpt-6-astra': { input: 10.0, output: 50.0 },
44
+ 'openai/gpt-6-sol': { input: 2.0, output: 10.0 },
45
+ 'openai/gpt-6-luna': { input: 0.1, output: 0.5 },
46
+ 'openai/gpt-oss-120b': { input: 0.15, output: 0.6 },
47
+ // Google models via OpenRouter
48
+ 'google/gemini-3.8-flash': { input: 0.75, output: 3.75 },
49
+ 'google/gemini-3.5-flash': { input: 1.5, output: 9.0 },
50
+ 'google/gemini-3.5-flash-lite': { input: 0.3, output: 2.5 },
51
+ 'google/gemini-3.1-pro-preview': { input: 2.0, output: 12.0 },
52
+ 'google/gemini-2.5-pro': { input: 1.25, output: 10.0 },
53
+ 'google/gemini-2.5-flash': { input: 0.3, output: 2.5 },
54
+ // Meta models via OpenRouter
55
+ 'meta-llama/llama-4-maverick': { input: 0.1875, output: 0.6525 },
56
+ 'meta-llama/llama-4-scout': { input: 0.1, output: 0.3 },
57
+ // Mistral models via OpenRouter
58
+ 'mistralai/mistral-large-2512': { input: 0.5, output: 1.5 },
59
+ // DeepSeek / Qwen models via OpenRouter
60
+ 'deepseek/deepseek-v4-pro': { input: 0.348, output: 0.696 },
61
+ 'deepseek/deepseek-v4.1-flash': { input: 0.035, output: 0.29 },
62
+ 'qwen/qwen3-coder': { input: 0.3, output: 1.0 },
63
+ 'openai/gpt-oss-20b': { input: 0.018, output: 0.09 },
64
+ // Deprecated: no longer served by OpenRouter. Kept only so historical
65
+ // usage records still price correctly — never use as a default.
37
66
  'anthropic/claude-3.5-sonnet': { input: 3.0, output: 15.0 },
38
67
  'anthropic/claude-3.5-sonnet:beta': { input: 3.0, output: 15.0 },
39
68
  'anthropic/claude-3-opus': { input: 15.0, output: 75.0 },
40
69
  'anthropic/claude-3-sonnet': { input: 3.0, output: 15.0 },
41
70
  'anthropic/claude-3-haiku': { input: 0.25, output: 1.25 },
42
- // OpenAI models via OpenRouter
43
71
  'openai/gpt-4o': { input: 5.0, output: 15.0 },
44
72
  'openai/gpt-4o-mini': { input: 0.15, output: 0.6 },
45
73
  'openai/gpt-4-turbo': { input: 10.0, output: 30.0 },
46
74
  'openai/gpt-3.5-turbo': { input: 0.5, output: 1.5 },
47
- // Google models via OpenRouter
48
75
  'google/gemini-pro': { input: 0.125, output: 0.375 },
49
76
  'google/gemini-pro-1.5': { input: 3.5, output: 10.5 },
50
- // Meta models via OpenRouter
51
77
  'meta-llama/llama-3.1-70b-instruct': { input: 0.59, output: 0.79 },
52
78
  'meta-llama/llama-3.1-8b-instruct': { input: 0.06, output: 0.06 },
53
- // Mistral models via OpenRouter
54
79
  'mistralai/mistral-large': { input: 2.0, output: 6.0 },
55
80
  'mistralai/mixtral-8x7b-instruct': { input: 0.24, output: 0.24 },
56
81
  'mistralai/mistral-7b-instruct': { input: 0.06, output: 0.06 },
57
82
  // Default fallback for unknown models
58
83
  'default': { input: 1.0, output: 3.0 },
59
84
  };
85
+ /**
86
+ * Per-million-token pricing for an OpenRouter slug. The local table wins;
87
+ * otherwise the shared cost tracker / model registry (which normalize
88
+ * `anthropic/…`, `openai/…` slugs) are consulted before the generic default,
89
+ * so routable models are never billed at the placeholder rate.
90
+ */
91
+ function openRouterPricing(model) {
92
+ return OPENROUTER_PRICING[model] ?? resolveModelPricing(model) ?? OPENROUTER_PRICING['default'];
93
+ }
60
94
  /**
61
95
  * OpenRouter LLM provider implementation
62
96
  */
@@ -146,6 +180,7 @@ export class OpenRouterProvider {
146
180
  const temperature = options?.temperature ?? this.config.temperature ?? 0.7;
147
181
  const requestId = `openrouter-${++this.requestId}-${Date.now()}`;
148
182
  const start = Date.now();
183
+ // Sent as-is (no openai-params gating): OpenRouter drops params a model's catalog entry doesn't support.
149
184
  const body = {
150
185
  model,
151
186
  max_tokens: maxTokens,
@@ -399,27 +434,28 @@ export class OpenRouterProvider {
399
434
  }
400
435
  // Return common models as fallback
401
436
  return [
402
- 'anthropic/claude-3.5-sonnet',
403
- 'anthropic/claude-3-opus',
404
- 'anthropic/claude-3-sonnet',
405
- 'anthropic/claude-3-haiku',
406
- 'openai/gpt-4o',
407
- 'openai/gpt-4o-mini',
408
- 'openai/gpt-4-turbo',
409
- 'openai/gpt-3.5-turbo',
410
- 'google/gemini-pro',
411
- 'google/gemini-pro-1.5',
412
- 'meta-llama/llama-3.1-70b-instruct',
413
- 'meta-llama/llama-3.1-8b-instruct',
414
- 'mistralai/mistral-large',
415
- 'mistralai/mixtral-8x7b-instruct',
437
+ 'anthropic/claude-sonnet-5',
438
+ 'anthropic/claude-opus-5.5',
439
+ 'anthropic/claude-opus-5',
440
+ 'anthropic/claude-haiku-4.5',
441
+ 'openai/gpt-6-sol',
442
+ 'openai/gpt-6-luna',
443
+ 'openai/gpt-6-astra',
444
+ 'google/gemini-3.8-flash',
445
+ 'google/gemini-3.1-pro-preview',
446
+ 'google/gemini-2.5-flash',
447
+ 'meta-llama/llama-4-maverick',
448
+ 'deepseek/deepseek-v4-pro',
449
+ 'qwen/qwen3-coder',
450
+ 'mistralai/mistral-large-2512',
451
+ 'openai/gpt-oss-120b',
416
452
  ];
417
453
  }
418
454
  /**
419
455
  * Get cost per token for current model
420
456
  */
421
457
  getCostPerToken() {
422
- const pricing = OPENROUTER_PRICING[this.config.model] || OPENROUTER_PRICING['default'];
458
+ const pricing = openRouterPricing(this.config.model);
423
459
  return {
424
460
  input: pricing.input / 1_000_000,
425
461
  output: pricing.output / 1_000_000,
@@ -435,7 +471,7 @@ export class OpenRouterProvider {
435
471
  * Calculate cost for a given usage
436
472
  */
437
473
  calculateCost(model, usage) {
438
- const pricing = OPENROUTER_PRICING[model] || OPENROUTER_PRICING['default'];
474
+ const pricing = openRouterPricing(model);
439
475
  // Convert from per-million to actual cost
440
476
  const inputCost = (usage.promptTokens / 1_000_000) * pricing.input;
441
477
  const outputCost = (usage.completionTokens / 1_000_000) * pricing.output;