agentic-qe 3.14.3 → 3.14.5

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 (786) 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 +204 -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/audit/witness-chain.d.ts +1 -1
  219. package/dist/audit/witness-chain.js +29 -22
  220. package/dist/cli/bundle.js +13 -10
  221. package/dist/cli/chunks/adapter-IYC62SXA.js +2 -0
  222. package/dist/cli/chunks/{agent-booster-wasm-TQOMLWWX.js → agent-booster-wasm-EDNKP3SP.js} +2 -2
  223. package/dist/cli/chunks/{agent-handler-Q3SEMMI2.js → agent-handler-V6CZ7Q6S.js} +2 -2
  224. package/dist/cli/chunks/{agent-memory-branch-SJXAQSZI.js → agent-memory-branch-ZMD6ULC3.js} +2 -2
  225. package/dist/cli/chunks/aqe-learning-engine-LLOU2IXD.js +2 -0
  226. package/dist/cli/chunks/{arena-7RC7TBGW.js → arena-4UPAEHFT.js} +4 -4
  227. package/dist/cli/chunks/{arena-UPB7TKUY.js → arena-QLSBESC7.js} +2 -2
  228. package/dist/cli/chunks/{audit-IXN5R4WB.js → audit-CVZQMF55.js} +3 -3
  229. package/dist/cli/chunks/base-P3Z4IKCT.js +2 -0
  230. package/dist/cli/chunks/{better-sqlite3-RP4DEGK3.js → better-sqlite3-4DSBPDRH.js} +2 -2
  231. package/dist/cli/chunks/brain-handler-GBY4EZ4P.js +94 -0
  232. package/dist/cli/chunks/{branch-enumerator-VPRWDGFJ.js → branch-enumerator-XYBVXCNO.js} +2 -2
  233. package/dist/cli/chunks/{browser-B6E7JPPJ.js → browser-32F6MREU.js} +2 -2
  234. package/dist/cli/chunks/browser-workflow-YYHQQ25X.js +2 -0
  235. package/dist/cli/chunks/{chunk-HOQQCY2K.js → chunk-2JGEZHWY.js} +2 -2
  236. package/dist/cli/chunks/{chunk-NN76NTOX.js → chunk-2KJQ2UQE.js} +1 -1
  237. package/dist/cli/chunks/{chunk-D4Z2N74A.js → chunk-2OMLTYQK.js} +1 -1
  238. package/dist/cli/chunks/chunk-37TUN44F.js +4 -0
  239. package/dist/cli/chunks/{chunk-LVLBIKJD.js → chunk-3DDXWYMO.js} +1 -1
  240. package/dist/cli/chunks/{chunk-UHQY3GK7.js → chunk-3EZ5DR2R.js} +3 -3
  241. package/dist/cli/chunks/{chunk-3P6NCFI2.js → chunk-3KDL6QDK.js} +2 -2
  242. package/dist/cli/chunks/{chunk-SG47AXJG.js → chunk-3VIXOHMS.js} +1 -1
  243. package/dist/cli/chunks/{chunk-7FYMDKQH.js → chunk-3YUB5HER.js} +165 -167
  244. package/dist/cli/chunks/chunk-4FWTLJEP.js +16 -0
  245. package/dist/cli/chunks/{chunk-PI74GOE4.js → chunk-52L77RMG.js} +2 -2
  246. package/dist/cli/chunks/{chunk-LS3EUMBP.js → chunk-5D36YHS3.js} +5 -5
  247. package/dist/cli/chunks/{chunk-EY4OQHU3.js → chunk-5WOSWNDN.js} +1 -1
  248. package/dist/cli/chunks/{chunk-F67AV5P2.js → chunk-67YV75XP.js} +2 -2
  249. package/dist/cli/chunks/{chunk-IP7NSFQQ.js → chunk-6A44AOGN.js} +2 -2
  250. package/dist/cli/chunks/{chunk-3ABRGG3C.js → chunk-6CR4VQBQ.js} +2 -2
  251. package/dist/cli/chunks/chunk-6ITZZIQX.js +2 -0
  252. package/dist/cli/chunks/{chunk-7BUERZYL.js → chunk-6LKDHEBY.js} +2 -2
  253. package/dist/cli/chunks/{chunk-FKG5OQFT.js → chunk-6TU7FEMD.js} +1 -1
  254. package/dist/cli/chunks/{chunk-KF63AYXD.js → chunk-6VAZAHQG.js} +2 -2
  255. package/dist/cli/chunks/{chunk-XXCYQXK3.js → chunk-73EI4C2E.js} +2 -2
  256. package/dist/cli/chunks/chunk-75QJ5HWE.js +14 -0
  257. package/dist/cli/chunks/{chunk-72UJXEKQ.js → chunk-7CD7PBHY.js} +2 -2
  258. package/dist/cli/chunks/chunk-7DETTOPZ.js +14 -0
  259. package/dist/cli/chunks/{chunk-7JQHPANT.js → chunk-7JZJJA7U.js} +3 -3
  260. package/dist/cli/chunks/{chunk-5Y5TC6BY.js → chunk-7VFY7TUR.js} +2 -2
  261. package/dist/cli/chunks/chunk-7X7JYWT4.js +27 -0
  262. package/dist/cli/chunks/chunk-AF4XKLXO.js +2 -0
  263. package/dist/cli/chunks/{chunk-7SLAZAVU.js → chunk-AFEDJ3RU.js} +2 -2
  264. package/dist/cli/chunks/{chunk-ZUG5MOUB.js → chunk-AMMQOV35.js} +2 -2
  265. package/dist/cli/chunks/{chunk-ZN3J6TZD.js → chunk-BHFR2EXL.js} +1 -1
  266. package/dist/cli/chunks/{chunk-HXE5NBJG.js → chunk-BJPL6THQ.js} +1 -1
  267. package/dist/cli/chunks/{chunk-37BASGWC.js → chunk-BXVAVFGU.js} +2 -2
  268. package/dist/cli/chunks/{chunk-VWNHKYK7.js → chunk-BYG36QC5.js} +2 -2
  269. package/dist/cli/chunks/chunk-C3HQL6S4.js +2 -0
  270. package/dist/cli/chunks/{chunk-OY7MLMEX.js → chunk-C3Z4VVHP.js} +5 -5
  271. package/dist/cli/chunks/{chunk-CB5JPRIZ.js → chunk-CPC7FN52.js} +2 -2
  272. package/dist/cli/chunks/{chunk-OVDKWCD7.js → chunk-CVMNJSCB.js} +2 -2
  273. package/dist/cli/chunks/{chunk-N4H2QOT5.js → chunk-CYE2TJFV.js} +2 -2
  274. package/dist/cli/chunks/{chunk-YCBDE2N7.js → chunk-CZO4BJG5.js} +2 -2
  275. package/dist/cli/chunks/{chunk-YEXPFHV6.js → chunk-D6OUCB2H.js} +2 -2
  276. package/dist/cli/chunks/{chunk-JRYZKBY2.js → chunk-DDCIYOGT.js} +2 -2
  277. package/dist/cli/chunks/{chunk-XX7HUSX2.js → chunk-DKUBQQFG.js} +2 -2
  278. package/dist/cli/chunks/{chunk-SGXSB7YO.js → chunk-DLF5BOJD.js} +1 -1
  279. package/dist/cli/chunks/{chunk-5BLFXQEB.js → chunk-DO6EI5KB.js} +1 -1
  280. package/dist/cli/chunks/{chunk-33VPWGCM.js → chunk-DPBRWP4J.js} +3 -3
  281. package/dist/cli/chunks/{chunk-H6XBM2LY.js → chunk-E3W6XQ57.js} +2 -2
  282. package/dist/cli/chunks/{chunk-KPMGTVB4.js → chunk-E4AZXCT5.js} +1 -1
  283. package/dist/cli/chunks/chunk-E4EYPYR3.js +2 -0
  284. package/dist/cli/chunks/{chunk-TFHQE6NK.js → chunk-EFV4ADMO.js} +4 -4
  285. package/dist/cli/chunks/{chunk-VIDBBB6F.js → chunk-ELBZON4V.js} +2 -2
  286. package/dist/cli/chunks/chunk-EOR2UT72.js +2 -0
  287. package/dist/cli/chunks/{chunk-H5ZRV5K5.js → chunk-F34OAHOM.js} +2 -2
  288. package/dist/cli/chunks/{chunk-UMENRGHK.js → chunk-FUNGTIF2.js} +2 -2
  289. package/dist/cli/chunks/{chunk-DBA3N742.js → chunk-G3L5L6YQ.js} +1 -1
  290. package/dist/cli/chunks/{chunk-ELU4IC3I.js → chunk-G3W6BMVJ.js} +1 -1
  291. package/dist/cli/chunks/{chunk-RTJ2M6V6.js → chunk-GTKCGPJZ.js} +3 -3
  292. package/dist/cli/chunks/chunk-HBCGYMQU.js +2 -0
  293. package/dist/cli/chunks/{chunk-YL7T3VV7.js → chunk-HSVKZ5KI.js} +4 -4
  294. package/dist/cli/chunks/{chunk-MXMFGSWR.js → chunk-HVU64GP5.js} +2 -2
  295. package/dist/cli/chunks/chunk-HVXJC3OC.js +2 -0
  296. package/dist/cli/chunks/chunk-HYEJJJY3.js +4 -0
  297. package/dist/cli/chunks/{chunk-CR3QGHVN.js → chunk-I2NENQ44.js} +2 -2
  298. package/dist/cli/chunks/{chunk-GNTVFN7D.js → chunk-I6X3EGJI.js} +1 -1
  299. package/dist/cli/chunks/{chunk-2GNRW3OD.js → chunk-IGBEJ4UJ.js} +2 -2
  300. package/dist/cli/chunks/{chunk-UYJHYMEQ.js → chunk-IIAR5S7Q.js} +2 -2
  301. package/dist/cli/chunks/{chunk-YAKS3CAB.js → chunk-IJHCIXJC.js} +2 -2
  302. package/dist/cli/chunks/{chunk-YDNSLLBS.js → chunk-IUDWEOLX.js} +2 -2
  303. package/dist/cli/chunks/chunk-IUHB5GVS.js +3 -0
  304. package/dist/cli/chunks/{chunk-4UDZLD42.js → chunk-IYTLXUBO.js} +2 -2
  305. package/dist/cli/chunks/chunk-J27F4NSB.js +2 -0
  306. package/dist/cli/chunks/{chunk-HRUU7E3D.js → chunk-J5UNP6W3.js} +2 -2
  307. package/dist/cli/chunks/{chunk-E3FBW6G2.js → chunk-JES6R5KP.js} +1 -1
  308. package/dist/cli/chunks/chunk-JROVR6YS.js +11 -0
  309. package/dist/cli/chunks/chunk-JSZ663MU.js +2 -0
  310. package/dist/cli/chunks/{chunk-FUE6LL72.js → chunk-JVQBWYHW.js} +2 -2
  311. package/dist/cli/chunks/{chunk-G6ZHTF42.js → chunk-K27SU3RE.js} +2 -2
  312. package/dist/cli/chunks/chunk-K7NJHFLZ.js +54 -0
  313. package/dist/cli/chunks/{chunk-MDZ6RRLX.js → chunk-KEY43ANX.js} +2 -2
  314. package/dist/cli/chunks/chunk-KIP6WZGV.js +13 -0
  315. package/dist/cli/chunks/{chunk-SQ3PPISY.js → chunk-KKHYJF5U.js} +1 -1
  316. package/dist/cli/chunks/{chunk-TJEIOE7F.js → chunk-KLTP5IDB.js} +1 -1
  317. package/dist/cli/chunks/{chunk-IKIITGU5.js → chunk-KO4FNAUR.js} +4 -4
  318. package/dist/cli/chunks/{chunk-DX3C5HPN.js → chunk-KYA5LARK.js} +1 -1
  319. package/dist/cli/chunks/{chunk-ZHXWGNYM.js → chunk-LSUILON7.js} +1 -1
  320. package/dist/cli/chunks/chunk-LULD4JV2.js +15 -0
  321. package/dist/cli/chunks/{chunk-MWWAMDHI.js → chunk-M23ZOZVY.js} +1 -1
  322. package/dist/cli/chunks/{chunk-RKJZWWB7.js → chunk-M5AEL7IS.js} +2 -2
  323. package/dist/cli/chunks/chunk-MI5Q55DG.js +65 -0
  324. package/dist/cli/chunks/chunk-N7H767TP.js +4 -0
  325. package/dist/cli/chunks/{chunk-5F6DWHQG.js → chunk-NQI7FWCS.js} +2 -2
  326. package/dist/cli/chunks/{chunk-LLVGTEHU.js → chunk-NRE4NAVA.js} +1 -1
  327. package/dist/cli/chunks/{chunk-XA7CG3LH.js → chunk-NU7UTXMP.js} +2 -2
  328. package/dist/cli/chunks/chunk-NVYBM3R4.js +2 -0
  329. package/dist/cli/chunks/chunk-O3JTQ7N4.js +2 -0
  330. package/dist/cli/chunks/{chunk-TISSZFHO.js → chunk-OEIQTWQP.js} +1 -1
  331. package/dist/cli/chunks/{chunk-2IGT5WNQ.js → chunk-PSPKSUF6.js} +1 -1
  332. package/dist/cli/chunks/{chunk-B7SWW5A6.js → chunk-QIRL6B3C.js} +2 -2
  333. package/dist/cli/chunks/{chunk-JBB7E26R.js → chunk-QRCIZFNK.js} +2 -2
  334. package/dist/cli/chunks/{chunk-4JBFJTHJ.js → chunk-QWUXCG2L.js} +1 -1
  335. package/dist/cli/chunks/{chunk-B5XFDFBT.js → chunk-QYOGD2VW.js} +1 -1
  336. package/dist/cli/chunks/chunk-QZMUXJHZ.js +2 -0
  337. package/dist/cli/chunks/chunk-R6IU3EWP.js +2 -0
  338. package/dist/cli/chunks/{chunk-G5C2XVZC.js → chunk-R74ZKREV.js} +1 -1
  339. package/dist/cli/chunks/chunk-RD2VGOUH.js +2 -0
  340. package/dist/cli/chunks/{chunk-OV5EZO3U.js → chunk-RD6TEZ64.js} +2 -2
  341. package/dist/cli/chunks/{chunk-4C6UJIHB.js → chunk-RGGK6VZ7.js} +1 -1
  342. package/dist/cli/chunks/{chunk-4XPPMADQ.js → chunk-RIZVC4XY.js} +6 -6
  343. package/dist/cli/chunks/{chunk-4RP5VUBI.js → chunk-RKOUXVZZ.js} +2 -2
  344. package/dist/cli/chunks/{chunk-IFFZR6GY.js → chunk-RP2ZKPYV.js} +1 -1
  345. package/dist/cli/chunks/{chunk-BN7DKW5D.js → chunk-SQF6HRXR.js} +1 -1
  346. package/dist/cli/chunks/chunk-SQKW3B6B.js +2 -0
  347. package/dist/cli/chunks/{chunk-LKN7JQTW.js → chunk-SX4JLSLV.js} +2 -2
  348. package/dist/cli/chunks/{chunk-YGB6R5DW.js → chunk-TUSSPKRM.js} +1 -1
  349. package/dist/cli/chunks/{chunk-LHGNNZ76.js → chunk-TY5WC3FT.js} +3 -3
  350. package/dist/cli/chunks/{chunk-B2ZONZPZ.js → chunk-UDHVCKGA.js} +2 -2
  351. package/dist/cli/chunks/{chunk-IU4EBTA2.js → chunk-UJWAWIRV.js} +4 -4
  352. package/dist/cli/chunks/{chunk-LTBCAFTZ.js → chunk-UKGXWW64.js} +3 -3
  353. package/dist/cli/chunks/{chunk-JV4FZUE7.js → chunk-UMGFMKDW.js} +2 -2
  354. package/dist/cli/chunks/{chunk-STRDSVH3.js → chunk-URVHZPWY.js} +2 -2
  355. package/dist/cli/chunks/{chunk-PZTVH2AS.js → chunk-UTBYJ4RF.js} +2 -2
  356. package/dist/cli/chunks/{chunk-ZK5JKHP4.js → chunk-VD5IO5EO.js} +1 -1
  357. package/dist/cli/chunks/chunk-VTOVWHEM.js +2 -0
  358. package/dist/cli/chunks/{chunk-OYMLHX2B.js → chunk-W2XCZU62.js} +1 -1
  359. package/dist/cli/chunks/{chunk-T35GZXTU.js → chunk-WJHWH5D2.js} +2 -2
  360. package/dist/cli/chunks/{chunk-NBWQBQO5.js → chunk-WJTSY5MC.js} +1 -1
  361. package/dist/cli/chunks/{chunk-NTSXHZTC.js → chunk-WK7B4B6Y.js} +4 -4
  362. package/dist/cli/chunks/{chunk-2WT7AKKK.js → chunk-WLXK2KNU.js} +2 -2
  363. package/dist/cli/chunks/chunk-WOIGKU2N.js +180 -0
  364. package/dist/cli/chunks/{chunk-WYMGK5DX.js → chunk-WX6RRIGW.js} +2 -2
  365. package/dist/cli/chunks/{chunk-C46DMCWF.js → chunk-XEZIIQYJ.js} +2 -2
  366. package/dist/cli/chunks/{chunk-TTMHIOQ3.js → chunk-XFPPERA2.js} +2 -2
  367. package/dist/cli/chunks/{chunk-OVPJQWHW.js → chunk-XLAUGSW7.js} +2 -2
  368. package/dist/cli/chunks/{chunk-V4AOVDCJ.js → chunk-XQSIRBKT.js} +8 -8
  369. package/dist/cli/chunks/{chunk-4Q35TI6Z.js → chunk-XUR2M2WB.js} +2 -2
  370. package/dist/cli/chunks/{chunk-5IAB5NRZ.js → chunk-XZSMZHM2.js} +2 -2
  371. package/dist/cli/chunks/{chunk-AB4U6ZNI.js → chunk-Y5L3ES4L.js} +2 -2
  372. package/dist/cli/chunks/chunk-YDFL445W.js +2 -0
  373. package/dist/cli/chunks/{chunk-7G6UX2QN.js → chunk-YQGPQBCX.js} +2 -2
  374. package/dist/cli/chunks/{chunk-5FOZO7KM.js → chunk-YXP6BKGS.js} +46 -46
  375. package/dist/cli/chunks/chunk-ZBABIZ2D.js +2 -0
  376. package/dist/cli/chunks/{chunk-IQEJGZV6.js → chunk-ZCWERUYB.js} +4 -4
  377. package/dist/cli/chunks/ci-RACDAJMR.js +81 -0
  378. package/dist/cli/chunks/{ci-output-LK3MBXLZ.js → ci-output-EHRSZBKG.js} +2 -2
  379. package/dist/cli/chunks/{circuit-breaker-7AIXACR7.js → circuit-breaker-GBV7M5XG.js} +2 -2
  380. package/dist/cli/chunks/{claude-flow-setup-UA7EO6VN.js → claude-flow-setup-5LVJOFKP.js} +2 -2
  381. package/dist/cli/chunks/client-HUVFA5PF.js +2 -0
  382. package/dist/cli/chunks/{cline-installer-YDDCKKEV.js → cline-installer-W4NMXJSG.js} +2 -2
  383. package/dist/cli/chunks/{code-URB7UAKW.js → code-JWXJMYXB.js} +29 -29
  384. package/dist/cli/chunks/{code-index-extractor-BL6HWH4Q.js → code-index-extractor-RVI2IFTM.js} +2 -2
  385. package/dist/cli/chunks/codex-installer-3BORJINH.js +14 -0
  386. package/dist/cli/chunks/{completions-RCKBSSSS.js → completions-A55NCTAO.js} +2 -2
  387. package/dist/cli/chunks/complexity-analyzer-JCXHGGLY.js +2 -0
  388. package/dist/cli/chunks/{continuedev-installer-VOTCEBFH.js → continuedev-installer-PUVFMGYW.js} +2 -2
  389. package/dist/cli/chunks/{copilot-installer-NVTGLZX3.js → copilot-installer-4DCMYWHB.js} +2 -2
  390. package/dist/cli/chunks/core-handlers-UEXO3VAA.js +2 -0
  391. package/dist/cli/chunks/cost-tracker-5TV2GGKY.js +2 -0
  392. package/dist/cli/chunks/{coverage-ZTPJWXWE.js → coverage-NNWM7TX3.js} +3 -3
  393. package/dist/cli/chunks/cross-domain-router-ODU5IZD6.js +2 -0
  394. package/dist/cli/chunks/{cursor-installer-CMGJQMHX.js → cursor-installer-4NCHGJGK.js} +2 -2
  395. package/dist/cli/chunks/{daemon-Y2I3YVIU.js → daemon-QIKCXKWO.js} +4 -4
  396. package/dist/cli/chunks/{daemon-V456IWR3.js → daemon-T4JO4IXP.js} +3 -3
  397. package/dist/cli/chunks/{dag-attention-scheduler-ZCBBOD3D.js → dag-attention-scheduler-RPAAIDAD.js} +2 -2
  398. package/dist/cli/chunks/{detect-2GHEA4A3.js → detect-SBEEVDSN.js} +2 -2
  399. package/dist/cli/chunks/{dist-node-44AGYJCH.js → dist-node-ZHI6NCSU.js} +2 -2
  400. package/dist/cli/chunks/{domain-handler-IDLIEP6X.js → domain-handler-LBC3GJ7Z.js} +2 -2
  401. package/dist/cli/chunks/domain-plugins-H6IZ5USZ.js +2 -0
  402. package/dist/cli/chunks/{domain-transfer-KLEXGIRF.js → domain-transfer-JZA5TMW3.js} +2 -2
  403. package/dist/cli/chunks/dream-HE3OX42F.js +2 -0
  404. package/dist/cli/chunks/embed-and-insert-pattern-AHTR7CRU.js +3 -0
  405. package/dist/cli/chunks/eval-DZU2KISM.js +17 -0
  406. package/dist/cli/chunks/{experience-capture-middleware-CJJJN7CF.js → experience-capture-middleware-5IQCWKSL.js} +4 -4
  407. package/dist/cli/chunks/{fast-paths-LGLLKX6P.js → fast-paths-2KLDUWCY.js} +2 -2
  408. package/dist/cli/chunks/{feature-flags-33D3I4DD.js → feature-flags-7AC3XDZA.js} +2 -2
  409. package/dist/cli/chunks/{feature-flags-QL4NCEGW.js → feature-flags-N6UAEZY4.js} +2 -2
  410. package/dist/cli/chunks/{file-discovery-GKCYJPFZ.js → file-discovery-5SDIW4V2.js} +2 -2
  411. package/dist/cli/chunks/fleet-ZIQCAZ2Y.js +43 -0
  412. package/dist/cli/chunks/{gnn-wrapper-ELSGT67Z.js → gnn-wrapper-DUMBZJEV.js} +2 -2
  413. package/dist/cli/chunks/{heartbeat-handler-ZUI3DOOP.js → heartbeat-handler-6HVM6ZMR.js} +4 -4
  414. package/dist/cli/chunks/heartbeat-scheduler-QUIFGGLX.js +2 -0
  415. package/dist/cli/chunks/hnsw-adapter-42KB37KP.js +2 -0
  416. package/dist/cli/chunks/hnsw-index-T2PGO77J.js +2 -0
  417. package/dist/cli/chunks/{hnsw-legacy-bridge-EZMM5JWL.js → hnsw-legacy-bridge-5DRL5FLX.js} +2 -2
  418. package/dist/cli/chunks/{hnswlib-node-G4CE3EOS.js → hnswlib-node-GW67GTCL.js} +2 -2
  419. package/dist/cli/chunks/{hooks-LCVXXA55.js → hooks-QHH6FVO4.js} +10 -10
  420. package/dist/cli/chunks/hybrid-backend-FRNWYRKH.js +2 -0
  421. package/dist/cli/chunks/{hypergraph-engine-6Z7RQ3HI.js → hypergraph-engine-7XDCCVG2.js} +2 -2
  422. package/dist/cli/chunks/{hypergraph-handler-PLI2GYPK.js → hypergraph-handler-QHF7NOU5.js} +3 -3
  423. package/dist/cli/chunks/impact-analyzer-A5QYOYBR.js +2 -0
  424. package/dist/cli/chunks/{init-handler-7VH3QJ5Y.js → init-handler-5UIVOM7K.js} +6 -6
  425. package/dist/cli/chunks/init-wizard-XBU674YH.js +2 -0
  426. package/dist/cli/chunks/kernel-DV5MTNZD.js +2 -0
  427. package/dist/cli/chunks/{kilocode-installer-U3MW62DE.js → kilocode-installer-TGGV6K5Q.js} +2 -2
  428. package/dist/cli/chunks/{kiro-installer-PPEAC44T.js → kiro-installer-4XYBHZWW.js} +12 -12
  429. package/dist/cli/chunks/knowledge-graph-4ACGVJQK.js +2 -0
  430. package/dist/cli/chunks/learning-STE5W6BS.js +122 -0
  431. package/dist/cli/chunks/llm-router-NKF7J3RI.js +37 -0
  432. package/dist/cli/chunks/llm-router-service-PSMASERT.js +2 -0
  433. package/dist/cli/chunks/{load-VO7ABNHV.js → load-B2T77UJQ.js} +2 -2
  434. package/dist/cli/chunks/load-test-MRUO2VPF.js +2 -0
  435. package/dist/cli/chunks/mcp-JGSFCEMH.js +2 -0
  436. package/dist/cli/chunks/{memory-FZTT7ADM.js → memory-WRFZKG56.js} +6 -6
  437. package/dist/cli/chunks/memory-backend-2MPGI6JW.js +2 -0
  438. package/dist/cli/chunks/memory-handlers-XT4HMITB.js +2 -0
  439. package/dist/cli/chunks/multi-model-executor-26Q5BSVG.js +14 -0
  440. package/dist/cli/chunks/{opencode-installer-GQ7J5SBG.js → opencode-installer-J36EMQU7.js} +2 -2
  441. package/dist/cli/chunks/{orchestrator-66JK2OS5.js → orchestrator-D5IFV65I.js} +20 -20
  442. package/dist/cli/chunks/pattern-null-store-TGWUL237.js +2 -0
  443. package/dist/cli/chunks/{pattern-usage-recorder-O6XHM2G5.js → pattern-usage-recorder-BVMTWI3E.js} +2 -2
  444. package/dist/cli/chunks/pipeline-OWAHDUAQ.js +19 -0
  445. package/dist/cli/chunks/platform-ANGBFWBV.js +2 -0
  446. package/dist/cli/chunks/{plugin-7OFLNGOS.js → plugin-OO7ON2YW.js} +2 -2
  447. package/dist/cli/chunks/{prime-radiant-advanced-wasm-OSRDK2FW.js → prime-radiant-advanced-wasm-HFG3BXWU.js} +2 -2
  448. package/dist/cli/chunks/project-root-LNOYVTYY.js +2 -0
  449. package/dist/cli/chunks/protocol-executor-GEVH5KD6.js +2 -0
  450. package/dist/cli/chunks/{protocol-handler-WLYTX6FS.js → protocol-handler-CE3Q6LY4.js} +2 -2
  451. package/dist/cli/chunks/{prove-QVNE4V3J.js → prove-7XPN53PY.js} +2 -2
  452. package/dist/cli/chunks/qe-reasoning-bank-DJ2JL6QB.js +2 -0
  453. package/dist/cli/chunks/{quality-DNE2RKE5.js → quality-TT23JRFX.js} +2 -2
  454. package/dist/cli/chunks/{quality-gate-2K35GCSI.js → quality-gate-PPPRP255.js} +3 -3
  455. package/dist/cli/chunks/queen-coordinator-F7E3AS26.js +2 -0
  456. package/dist/cli/chunks/real-embeddings-EYNZIFJE.js +2 -0
  457. package/dist/cli/chunks/ref-validation-QQR64ZXD.js +2 -0
  458. package/dist/cli/chunks/{roocode-installer-NCEZPF5L.js → roocode-installer-UIGS7ZJD.js} +2 -2
  459. package/dist/cli/chunks/router-OZH3QSAU.js +2 -0
  460. package/dist/cli/chunks/routing-feedback-J2E3ADZB.js +2 -0
  461. package/dist/cli/chunks/{routing-handler-4MXXZRYP.js → routing-handler-6AENUIRG.js} +4 -4
  462. package/dist/cli/chunks/{ruvector-commands-WDFMMCMK.js → ruvector-commands-5AWMEV34.js} +2 -2
  463. package/dist/cli/chunks/rvf-dual-writer-HK525Y5Y.js +2 -0
  464. package/dist/cli/chunks/rvf-migration-adapter-Q7FB3BKR.js +2 -0
  465. package/dist/cli/chunks/rvf-migration-coordinator-NWRJ7C22.js +2 -0
  466. package/dist/cli/chunks/rvf-native-adapter-5ZRCGUI6.js +2 -0
  467. package/dist/cli/chunks/rvf-store-integrity-ISKRP563.js +2 -0
  468. package/dist/cli/chunks/safe-db-3OYEPVEH.js +2 -0
  469. package/dist/cli/chunks/schedule-AG4C2EIQ.js +2 -0
  470. package/dist/cli/chunks/scheduler-SQS2CZFZ.js +2 -0
  471. package/dist/cli/chunks/{security-CJJ3WJSB.js → security-325A7FMB.js} +3 -3
  472. package/dist/cli/chunks/{shared-rvf-adapter-6RGCTLHD.js → shared-rvf-adapter-NFL6QSZ6.js} +2 -2
  473. package/dist/cli/chunks/{shared-rvf-dual-writer-KIA6Q6MT.js → shared-rvf-dual-writer-THFDYS2Z.js} +2 -2
  474. package/dist/cli/chunks/sqlite-persistence-MAKDFSHC.js +2 -0
  475. package/dist/cli/chunks/standalone-memory-UD4MJ6GZ.js +2 -0
  476. package/dist/cli/chunks/{status-handler-BADQV2KA.js → status-handler-CPFTN4XL.js} +2 -2
  477. package/dist/cli/chunks/{structural-health-VMYEYRZG.js → structural-health-2MG2IVBL.js} +2 -2
  478. package/dist/cli/chunks/{sync-PXLROLHB.js → sync-EE4VVKOW.js} +2 -2
  479. package/dist/cli/chunks/{sync-ULY7T5II.js → sync-MBTW5XBF.js} +2 -2
  480. package/dist/cli/chunks/task-handler-7H5OYJG4.js +54 -0
  481. package/dist/cli/chunks/task-handlers-NH4GJHCJ.js +9 -0
  482. package/dist/cli/chunks/{test-WCLURQUT.js → test-MPHGT4T6.js} +4 -4
  483. package/dist/cli/chunks/test-scheduling-CHQ4ZLLJ.js +15 -0
  484. package/dist/cli/chunks/token-bootstrap-SSDCYEKK.js +2 -0
  485. package/dist/cli/chunks/{token-usage-DRVG6PKO.js → token-usage-EBXUJNRB.js} +2 -2
  486. package/dist/cli/chunks/{transformers-IMDDAMYQ.js → transformers-ZEKS2OJZ.js} +2 -2
  487. package/dist/cli/chunks/{tree-sitter-wasm-parser-WBZIHVFA.js → tree-sitter-wasm-parser-J6ZMAK37.js} +2 -2
  488. package/dist/cli/chunks/types-KYAA5VLV.js +2 -0
  489. package/dist/cli/chunks/unified-memory-DDWMC435.js +2 -0
  490. package/dist/cli/chunks/unified-memory-hnsw-4JA7SGBK.js +2 -0
  491. package/dist/cli/chunks/unified-persistence-F6OSNTXY.js +2 -0
  492. package/dist/cli/chunks/{upgrade-6ALSDWDD.js → upgrade-UJBJ5AYM.js} +2 -2
  493. package/dist/cli/chunks/{validate-XF4ZG3LC.js → validate-RUV6YMWS.js} +2 -2
  494. package/dist/cli/chunks/{validate-swarm-P5TAFRDA.js → validate-swarm-IVEVMGVM.js} +2 -2
  495. package/dist/cli/chunks/{vibium-2XDXKNKZ.js → vibium-HOGMFJ2Z.js} +2 -2
  496. package/dist/cli/chunks/visual-security-25SMBIYT.js +2 -0
  497. package/dist/cli/chunks/{web-tree-sitter-4JVRQPX5.js → web-tree-sitter-AVWA6HKE.js} +2 -2
  498. package/dist/cli/chunks/{windsurf-installer-WYJXVDO5.js → windsurf-installer-DAH7HI2W.js} +2 -2
  499. package/dist/cli/chunks/{witness-chain-RPZ2SE2V.js → witness-chain-PJOQPFUX.js} +2 -2
  500. package/dist/cli/chunks/witness-chain-ZW6KKUZU.js +2 -0
  501. package/dist/cli/chunks/{witness-key-manager-LXG2VBQQ.js → witness-key-manager-JSTBMG43.js} +2 -2
  502. package/dist/cli/chunks/workflow-TWOIA6LZ.js +51 -0
  503. package/dist/cli/chunks/workflow-orchestrator-UKSIDM7Q.js +2 -0
  504. package/dist/cli/chunks/{wrappers-DIJNNFU6.js → wrappers-UR7BLXKV.js} +2 -2
  505. package/dist/cli/commands/ci.js +54 -28
  506. package/dist/cli/commands/code.js +6 -0
  507. package/dist/cli/commands/eval.js +3 -2
  508. package/dist/cli/commands/fleet.js +35 -16
  509. package/dist/cli/commands/learning-snapshot.d.ts +38 -0
  510. package/dist/cli/commands/learning-snapshot.js +171 -0
  511. package/dist/cli/commands/learning.js +16 -64
  512. package/dist/cli/commands/llm-router.js +13 -12
  513. package/dist/cli/commands/mcp.js +6 -0
  514. package/dist/cli/commands/memory.d.ts +1 -1
  515. package/dist/cli/commands/memory.js +8 -8
  516. package/dist/cli/commands/pipeline.js +9 -0
  517. package/dist/cli/commands/platform.js +15 -2
  518. package/dist/cli/commands/upgrade.d.ts +3 -3
  519. package/dist/cli/commands/upgrade.js +3 -3
  520. package/dist/cli/commands/workflow.js +9 -1
  521. package/dist/cli/handlers/init-handler.d.ts +10 -0
  522. package/dist/cli/handlers/task-handler.js +43 -12
  523. package/dist/cli/helpers/domain-plugins.d.ts +5 -0
  524. package/dist/cli/helpers/domain-plugins.js +11 -0
  525. package/dist/cli/helpers/standalone-memory.d.ts +12 -0
  526. package/dist/cli/helpers/standalone-memory.js +46 -0
  527. package/dist/cli/index.js +54 -49
  528. package/dist/cli/log-gate.d.ts +66 -0
  529. package/dist/cli/log-gate.js +170 -0
  530. package/dist/cli/utils/ci-config.d.ts +3 -0
  531. package/dist/context/sources/git-source.d.ts +2 -0
  532. package/dist/context/sources/git-source.js +9 -2
  533. package/dist/coordination/cancelled-task-settlement.d.ts +11 -0
  534. package/dist/coordination/cancelled-task-settlement.js +15 -0
  535. package/dist/coordination/consensus/providers/claude-provider.d.ts +2 -2
  536. package/dist/coordination/consensus/providers/claude-provider.js +18 -25
  537. package/dist/coordination/consensus/providers/gemini-provider.d.ts +14 -4
  538. package/dist/coordination/consensus/providers/gemini-provider.js +39 -36
  539. package/dist/coordination/consensus/providers/ollama-provider.d.ts +8 -7
  540. package/dist/coordination/consensus/providers/ollama-provider.js +16 -18
  541. package/dist/coordination/consensus/providers/openai-provider.d.ts +14 -4
  542. package/dist/coordination/consensus/providers/openai-provider.js +36 -34
  543. package/dist/coordination/consensus/providers/openrouter-provider.d.ts +5 -5
  544. package/dist/coordination/consensus/providers/openrouter-provider.js +64 -37
  545. package/dist/coordination/handlers/test-execution-handlers.js +5 -3
  546. package/dist/coordination/interfaces.d.ts +2 -2
  547. package/dist/coordination/protocol-executor.js +68 -9
  548. package/dist/coordination/queen-coordinator.js +10 -4
  549. package/dist/coordination/queen-event-handlers.js +17 -0
  550. package/dist/coordination/queen-task-management.js +25 -0
  551. package/dist/coordination/queen-types.d.ts +2 -0
  552. package/dist/coordination/task-executor.js +4 -8
  553. package/dist/coordination/workflow-composition.d.ts +19 -0
  554. package/dist/coordination/workflow-composition.js +114 -0
  555. package/dist/coordination/workflow-orchestrator.d.ts +3 -2
  556. package/dist/coordination/workflow-orchestrator.js +219 -85
  557. package/dist/coordination/workflow-types.d.ts +30 -1
  558. package/dist/coordination/yaml-pipeline-loader.js +9 -5
  559. package/dist/domains/chaos-resilience/services/chaos-engineer.js +2 -7
  560. package/dist/domains/code-intelligence/services/knowledge-graph.js +2 -7
  561. package/dist/domains/code-intelligence/services/metric-collector/test-counter.js +9 -40
  562. package/dist/domains/constants.d.ts +1 -6
  563. package/dist/domains/constants.js +2 -6
  564. package/dist/domains/contract-testing/services/contract-validator.js +2 -7
  565. package/dist/domains/coverage-analysis/services/coverage-analyzer.js +2 -12
  566. package/dist/domains/coverage-analysis/services/gap-detector.js +2 -7
  567. package/dist/domains/defect-intelligence/services/defect-predictor.js +2 -12
  568. package/dist/domains/defect-intelligence/services/root-cause-analyzer.js +2 -7
  569. package/dist/domains/learning-optimization/services/learning-coordinator.js +2 -7
  570. package/dist/domains/quality-assessment/services/deployment-advisor.js +2 -7
  571. package/dist/domains/quality-assessment/services/quality-analyzer.js +2 -7
  572. package/dist/domains/requirements-validation/services/requirements-validator.js +2 -7
  573. package/dist/domains/security-compliance/services/scanners/sast-scanner.js +3 -7
  574. package/dist/domains/test-execution/services/flaky-detector.js +33 -3
  575. package/dist/domains/test-execution/services/retry-handler.js +22 -14
  576. package/dist/domains/test-execution/services/test-executor.js +42 -21
  577. package/dist/domains/test-generation/services/test-generator.js +2 -7
  578. package/dist/domains/visual-accessibility/services/visual-tester.js +2 -7
  579. package/dist/init/codex-installer.js +18 -6
  580. package/dist/init/init-wizard-steps.js +1 -1
  581. package/dist/init/kiro-installer.js +9 -8
  582. package/dist/init/opencode-installer.js +1 -1
  583. package/dist/init/orchestrator.js +1 -0
  584. package/dist/init/phases/07-hooks.js +4 -2
  585. package/dist/init/phases/09-assets.d.ts +10 -0
  586. package/dist/init/phases/09-assets.js +3 -0
  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/init/token-bootstrap.d.ts +1 -1
  591. package/dist/init/token-bootstrap.js +12 -2
  592. package/dist/init/types.d.ts +10 -0
  593. package/dist/integrations/agentic-flow/model-router/types.js +6 -8
  594. package/dist/integrations/ruvector/brain-exporter.js +26 -15
  595. package/dist/integrations/ruvector/brain-import-audit.d.ts +20 -0
  596. package/dist/integrations/ruvector/brain-import-audit.js +22 -0
  597. package/dist/integrations/ruvector/brain-rvf-exporter.js +33 -30
  598. package/dist/integrations/ruvector/brain-shared.d.ts +5 -1
  599. package/dist/integrations/ruvector/brain-shared.js +70 -4
  600. package/dist/integrations/ruvector/rvf-dual-writer.js +42 -16
  601. package/dist/integrations/ruvector/rvf-store-integrity.d.ts +14 -9
  602. package/dist/integrations/ruvector/rvf-store-integrity.js +39 -9
  603. package/dist/integrations/ruvector/shared-rvf-adapter.js +20 -23
  604. package/dist/kernel/hybrid-backend.d.ts +6 -0
  605. package/dist/kernel/hybrid-backend.js +18 -0
  606. package/dist/kernel/kernel.js +9 -14
  607. package/dist/kernel/memory-factory.js +14 -4
  608. package/dist/kernel/project-root.d.ts +1 -1
  609. package/dist/kernel/project-root.js +33 -10
  610. package/dist/kernel/unified-memory.js +1 -1
  611. package/dist/learning/embedder-identity-store.js +4 -3
  612. package/dist/learning/local-judge-client.d.ts +6 -5
  613. package/dist/learning/local-judge-client.js +7 -6
  614. package/dist/learning/pattern-store.js +34 -12
  615. package/dist/learning/real-embeddings.d.ts +8 -0
  616. package/dist/learning/real-embeddings.js +16 -0
  617. package/dist/learning/rvf-pattern-store.js +10 -3
  618. package/dist/mcp/bundle.js +480 -480
  619. package/dist/mcp/entry.js +2 -0
  620. package/dist/mcp/handlers/index.d.ts +1 -1
  621. package/dist/mcp/handlers/index.js +1 -1
  622. package/dist/mcp/handlers/memory-handlers.d.ts +6 -1
  623. package/dist/mcp/handlers/memory-handlers.js +44 -22
  624. package/dist/mcp/handlers/pipeline-handlers.d.ts +31 -1
  625. package/dist/mcp/handlers/pipeline-handlers.js +63 -0
  626. package/dist/mcp/handlers/task-handlers.d.ts +1 -0
  627. package/dist/mcp/handlers/task-handlers.js +26 -5
  628. package/dist/mcp/protocol-server.d.ts +2 -0
  629. package/dist/mcp/protocol-server.js +105 -49
  630. package/dist/mcp/security/sampling-server.js +2 -1
  631. package/dist/mcp/services/session-store.js +5 -1
  632. package/dist/mcp/tool-annotations.js +1 -1
  633. package/dist/mcp/tools/test-execution/schedule.js +7 -0
  634. package/dist/mcp/types.d.ts +5 -1
  635. package/dist/optimization/session-cache.d.ts +5 -0
  636. package/dist/optimization/session-cache.js +23 -0
  637. package/dist/plugins/cache.d.ts +2 -0
  638. package/dist/plugins/cache.js +15 -2
  639. package/dist/plugins/lifecycle.js +15 -2
  640. package/dist/plugins/manifest.js +7 -5
  641. package/dist/plugins/resolver.d.ts +13 -22
  642. package/dist/plugins/resolver.js +169 -61
  643. package/dist/plugins/version-policy.d.ts +13 -0
  644. package/dist/plugins/version-policy.js +18 -0
  645. package/dist/routing/advisor/multi-model-executor.d.ts +4 -1
  646. package/dist/routing/advisor/multi-model-executor.js +8 -1
  647. package/dist/routing/free-tier/ladder.d.ts +2 -1
  648. package/dist/routing/free-tier/ladder.js +3 -2
  649. package/dist/routing/security/cyber-pin.d.ts +35 -11
  650. package/dist/routing/security/cyber-pin.js +76 -14
  651. package/dist/routing/value-score.js +1 -1
  652. package/dist/shared/git/index.d.ts +1 -0
  653. package/dist/shared/git/index.js +1 -0
  654. package/dist/shared/git/ref-validation.d.ts +20 -0
  655. package/dist/shared/git/ref-validation.js +43 -0
  656. package/dist/shared/llm/anthropic-params.d.ts +40 -0
  657. package/dist/shared/llm/anthropic-params.js +51 -0
  658. package/dist/shared/llm/cost-tracker.d.ts +15 -2
  659. package/dist/shared/llm/cost-tracker.js +62 -10
  660. package/dist/shared/llm/index.d.ts +2 -2
  661. package/dist/shared/llm/index.js +2 -2
  662. package/dist/shared/llm/interfaces.d.ts +1 -1
  663. package/dist/shared/llm/metrics/cost-metrics.js +5 -4
  664. package/dist/shared/llm/model-mapping.js +131 -0
  665. package/dist/shared/llm/model-registry.d.ts +37 -11
  666. package/dist/shared/llm/model-registry.js +393 -18
  667. package/dist/shared/llm/openai-params.d.ts +35 -0
  668. package/dist/shared/llm/openai-params.js +54 -0
  669. package/dist/shared/llm/provider-manager.js +4 -3
  670. package/dist/shared/llm/providers/azure-openai.d.ts +11 -0
  671. package/dist/shared/llm/providers/azure-openai.js +26 -15
  672. package/dist/shared/llm/providers/bedrock.js +11 -19
  673. package/dist/shared/llm/providers/claude.js +6 -29
  674. package/dist/shared/llm/providers/codex.js +4 -3
  675. package/dist/shared/llm/providers/gemini.d.ts +3 -2
  676. package/dist/shared/llm/providers/gemini.js +19 -10
  677. package/dist/shared/llm/providers/ollama.d.ts +2 -0
  678. package/dist/shared/llm/providers/ollama.js +30 -20
  679. package/dist/shared/llm/providers/openai.js +10 -17
  680. package/dist/shared/llm/providers/openrouter.d.ts +1 -1
  681. package/dist/shared/llm/providers/openrouter.js +57 -21
  682. package/dist/shared/llm/router/agent-router-config.js +33 -32
  683. package/dist/shared/llm/router/hybrid-router.js +21 -9
  684. package/dist/shared/llm/router/routing-rules.js +9 -8
  685. package/dist/shared/llm/router/types.js +81 -13
  686. package/dist/shared/llm/translation/message-formatter.js +4 -23
  687. package/dist/shared/types/index.d.ts +6 -0
  688. package/dist/shared/types/index.js +8 -0
  689. package/dist/shared/vitest-json-report.d.ts +7 -7
  690. package/dist/shared/vitest-json-report.js +23 -14
  691. package/dist/test-scheduling/executors/vitest-executor.d.ts +7 -2
  692. package/dist/test-scheduling/executors/vitest-executor.js +157 -47
  693. package/dist/test-scheduling/git-aware/test-selector.js +3 -0
  694. package/dist/test-scheduling/phase-scheduler.d.ts +1 -0
  695. package/dist/test-scheduling/phase-scheduler.js +23 -1
  696. package/package.json +2 -1
  697. package/dist/cli/chunks/adapter-AKQYU6UH.js +0 -2
  698. package/dist/cli/chunks/aqe-learning-engine-MICRPL3N.js +0 -2
  699. package/dist/cli/chunks/base-DZK36ITB.js +0 -2
  700. package/dist/cli/chunks/brain-handler-H5OVZ22L.js +0 -90
  701. package/dist/cli/chunks/browser-workflow-ADK54DOE.js +0 -2
  702. package/dist/cli/chunks/chunk-26GM5CWD.js +0 -13
  703. package/dist/cli/chunks/chunk-42VSQ2MX.js +0 -4
  704. package/dist/cli/chunks/chunk-44WISFTU.js +0 -2
  705. package/dist/cli/chunks/chunk-4OUPCTBS.js +0 -16
  706. package/dist/cli/chunks/chunk-4TXAP3YH.js +0 -2
  707. package/dist/cli/chunks/chunk-4W7QVUNO.js +0 -2
  708. package/dist/cli/chunks/chunk-527HQAY7.js +0 -14
  709. package/dist/cli/chunks/chunk-5DFHE4H5.js +0 -180
  710. package/dist/cli/chunks/chunk-5P3G6ZW4.js +0 -2
  711. package/dist/cli/chunks/chunk-6F2RM6X2.js +0 -2
  712. package/dist/cli/chunks/chunk-74PK3NEW.js +0 -15
  713. package/dist/cli/chunks/chunk-7Y2CEXRS.js +0 -65
  714. package/dist/cli/chunks/chunk-AWNYEAGB.js +0 -2
  715. package/dist/cli/chunks/chunk-CBOPBYPU.js +0 -2
  716. package/dist/cli/chunks/chunk-FD2JFEQC.js +0 -2
  717. package/dist/cli/chunks/chunk-G6DCESPU.js +0 -2
  718. package/dist/cli/chunks/chunk-I4NDQGKP.js +0 -2
  719. package/dist/cli/chunks/chunk-L2GKMBDP.js +0 -2
  720. package/dist/cli/chunks/chunk-QLWNXBRU.js +0 -2
  721. package/dist/cli/chunks/chunk-R2AFVFRF.js +0 -2
  722. package/dist/cli/chunks/chunk-ROX7NLS4.js +0 -14
  723. package/dist/cli/chunks/chunk-SHGKY3QB.js +0 -2
  724. package/dist/cli/chunks/chunk-SJPZSCZP.js +0 -27
  725. package/dist/cli/chunks/chunk-T62DH4GG.js +0 -11
  726. package/dist/cli/chunks/chunk-TGLAWI62.js +0 -4
  727. package/dist/cli/chunks/chunk-UMNYF5EZ.js +0 -2
  728. package/dist/cli/chunks/chunk-UTVRQEZM.js +0 -54
  729. package/dist/cli/chunks/chunk-Y2DVFVGI.js +0 -2
  730. package/dist/cli/chunks/chunk-Y5SQBI2F.js +0 -2
  731. package/dist/cli/chunks/ci-YVKDQWIX.js +0 -81
  732. package/dist/cli/chunks/client-M72GXFVQ.js +0 -2
  733. package/dist/cli/chunks/codex-installer-2AVEO4EA.js +0 -14
  734. package/dist/cli/chunks/complexity-analyzer-LEDG62YK.js +0 -2
  735. package/dist/cli/chunks/core-handlers-C32RAMVI.js +0 -2
  736. package/dist/cli/chunks/cost-tracker-GJIFB2BM.js +0 -2
  737. package/dist/cli/chunks/cross-domain-router-UGFUCPKC.js +0 -2
  738. package/dist/cli/chunks/dream-UFBBXY5W.js +0 -2
  739. package/dist/cli/chunks/embed-and-insert-pattern-DUW6K35A.js +0 -3
  740. package/dist/cli/chunks/eval-PR6YWDFM.js +0 -17
  741. package/dist/cli/chunks/fleet-QNT6X2YI.js +0 -43
  742. package/dist/cli/chunks/heartbeat-scheduler-VQWHSGTY.js +0 -2
  743. package/dist/cli/chunks/hnsw-adapter-BS3NXWGU.js +0 -2
  744. package/dist/cli/chunks/hnsw-index-JP26B4HW.js +0 -2
  745. package/dist/cli/chunks/impact-analyzer-WRE4CWPJ.js +0 -2
  746. package/dist/cli/chunks/init-wizard-OFOEYB75.js +0 -2
  747. package/dist/cli/chunks/kernel-MXNFWNUD.js +0 -2
  748. package/dist/cli/chunks/knowledge-graph-7JE2TVKJ.js +0 -2
  749. package/dist/cli/chunks/learning-7B5NITDV.js +0 -122
  750. package/dist/cli/chunks/llm-router-BNEPT5OB.js +0 -37
  751. package/dist/cli/chunks/llm-router-service-GTDVDKSU.js +0 -2
  752. package/dist/cli/chunks/load-test-JZ4CLSBF.js +0 -2
  753. package/dist/cli/chunks/mcp-THXEINCL.js +0 -2
  754. package/dist/cli/chunks/memory-backend-Q54CC5A5.js +0 -2
  755. package/dist/cli/chunks/memory-handlers-IIBJXKHZ.js +0 -2
  756. package/dist/cli/chunks/multi-model-executor-HEDVOZ6X.js +0 -14
  757. package/dist/cli/chunks/pattern-null-store-W33O7FYO.js +0 -2
  758. package/dist/cli/chunks/pipeline-UOG6UO6D.js +0 -19
  759. package/dist/cli/chunks/platform-Q7UH7FZQ.js +0 -2
  760. package/dist/cli/chunks/protocol-executor-VGN4M7XY.js +0 -2
  761. package/dist/cli/chunks/qe-reasoning-bank-7VB5LJGS.js +0 -2
  762. package/dist/cli/chunks/queen-coordinator-HIDMJMMG.js +0 -2
  763. package/dist/cli/chunks/real-embeddings-SF42ML7G.js +0 -2
  764. package/dist/cli/chunks/router-CTIJS4D7.js +0 -2
  765. package/dist/cli/chunks/routing-feedback-LFYYZS5J.js +0 -2
  766. package/dist/cli/chunks/rvf-dual-writer-MNPMIWVM.js +0 -2
  767. package/dist/cli/chunks/rvf-migration-adapter-DXOKSSNW.js +0 -2
  768. package/dist/cli/chunks/rvf-migration-coordinator-JT7ZCJY7.js +0 -2
  769. package/dist/cli/chunks/rvf-native-adapter-PZKUKA7R.js +0 -2
  770. package/dist/cli/chunks/rvf-store-integrity-Q3FGYKFT.js +0 -2
  771. package/dist/cli/chunks/safe-db-73BLFV2C.js +0 -2
  772. package/dist/cli/chunks/schedule-YVTGTTI4.js +0 -2
  773. package/dist/cli/chunks/scheduler-5DSAFIRQ.js +0 -2
  774. package/dist/cli/chunks/sqlite-persistence-LRG4IPCU.js +0 -2
  775. package/dist/cli/chunks/task-handler-L7E2I267.js +0 -49
  776. package/dist/cli/chunks/task-handlers-6DPKE4AK.js +0 -9
  777. package/dist/cli/chunks/test-scheduling-4CNJA6TW.js +0 -15
  778. package/dist/cli/chunks/token-bootstrap-GTI24JAL.js +0 -2
  779. package/dist/cli/chunks/types-TXMY5M2K.js +0 -2
  780. package/dist/cli/chunks/unified-memory-VBQ572X4.js +0 -2
  781. package/dist/cli/chunks/unified-memory-hnsw-J3L74ZRY.js +0 -2
  782. package/dist/cli/chunks/unified-persistence-EM2VYRTQ.js +0 -2
  783. package/dist/cli/chunks/visual-security-GX4S7K6O.js +0 -2
  784. package/dist/cli/chunks/witness-chain-QGKMHCNW.js +0 -2
  785. package/dist/cli/chunks/workflow-2OYNO7UU.js +0 -51
  786. package/dist/cli/chunks/workflow-orchestrator-KWHIJMFV.js +0 -2
@@ -2,7 +2,7 @@
2
2
  * Agentic QE v3 - Ollama Model Provider
3
3
  * Local/on-prem model support for multi-model consensus verification
4
4
  *
5
- * Ollama provides access to local LLMs (Llama, Mistral, Codellama, etc.)
5
+ * Ollama provides access to local LLMs (Qwen3, gpt-oss, Llama 4, Gemma, etc.)
6
6
  * for privacy-sensitive verification or air-gapped environments.
7
7
  *
8
8
  * @see https://ollama.ai
@@ -20,10 +20,10 @@ import { resolveOllamaBaseUrl } from '../../../shared/llm/ollama-url.js';
20
20
  */
21
21
  export function getRecommendedOllamaModels() {
22
22
  return [
23
- 'llama3.1:70b', // Best reasoning
24
- 'codellama:34b', // Best for code analysis
25
- 'qwen2.5:72b', // Strong multilingual
26
- 'mistral', // Good balance
23
+ 'qwen3-coder:30b', // Best for code analysis (ADR-111 default)
24
+ 'gpt-oss:120b', // Best reasoning
25
+ 'qwen3:30b-a3b', // Strong general-purpose MoE
26
+ 'llama4:scout', // Different model family for consensus diversity
27
27
  ];
28
28
  }
29
29
  /**
@@ -31,10 +31,9 @@ export function getRecommendedOllamaModels() {
31
31
  */
32
32
  export function getLightweightOllamaModels() {
33
33
  return [
34
- 'llama3.2:3b',
35
- 'phi3',
36
- 'gemma2:2b',
37
- 'qwen2.5:7b',
34
+ 'gpt-oss:20b',
35
+ 'qwen3:30b-a3b', // MoE: ~3B active params, fast despite its size
36
+ 'gemma4',
38
37
  ];
39
38
  }
40
39
  /**
@@ -42,10 +41,9 @@ export function getLightweightOllamaModels() {
42
41
  */
43
42
  export function getCodeOllamaModels() {
44
43
  return [
45
- 'codellama:34b',
46
- 'qwen2.5-coder',
47
- 'deepseek-coder-v2',
48
- 'starcoder2:15b',
44
+ 'qwen3-coder:30b',
45
+ 'gpt-oss:120b',
46
+ 'gpt-oss:20b',
49
47
  ];
50
48
  }
51
49
  // ============================================================================
@@ -53,7 +51,7 @@ export function getCodeOllamaModels() {
53
51
  // ============================================================================
54
52
  const DEFAULT_CONFIG = {
55
53
  baseUrl: resolveOllamaBaseUrl(OLLAMA_CONSTANTS.DEFAULT_BASE_URL),
56
- defaultModel: 'llama3.1',
54
+ defaultModel: 'qwen3-coder:30b',
57
55
  defaultTimeout: CONSENSUS_CONSTANTS.OLLAMA_TIMEOUT_MS, // 5 minutes (local models can be slow)
58
56
  maxRetries: 2,
59
57
  retryDelayMs: CONSENSUS_CONSTANTS.OLLAMA_RETRY_DELAY_MS,
@@ -69,7 +67,7 @@ const DEFAULT_CONFIG = {
69
67
  * ```typescript
70
68
  * const provider = new OllamaModelProvider({
71
69
  * baseUrl: 'http://localhost:11434',
72
- * defaultModel: 'codellama:34b',
70
+ * defaultModel: 'qwen3-coder:30b',
73
71
  * });
74
72
  *
75
73
  * const result = await provider.complete('Analyze this code for vulnerabilities...');
@@ -294,18 +292,18 @@ Format your response with: verdict (confirmed/rejected/uncertain), confidence (0
294
292
  *
295
293
  * @example
296
294
  * ```typescript
297
- * // Default (localhost:11434, llama3.1)
295
+ * // Default (localhost:11434, qwen3-coder:30b)
298
296
  * const provider = createOllamaProvider();
299
297
  *
300
298
  * // Custom model
301
299
  * const provider = createOllamaProvider({
302
- * defaultModel: 'codellama:34b',
300
+ * defaultModel: 'gpt-oss:20b',
303
301
  * });
304
302
  *
305
303
  * // Remote Ollama server
306
304
  * const provider = createOllamaProvider({
307
305
  * baseUrl: 'http://gpu-server:11434',
308
- * defaultModel: 'llama3.1:70b',
306
+ * defaultModel: 'gpt-oss:120b',
309
307
  * });
310
308
  * ```
311
309
  */
@@ -3,7 +3,7 @@
3
3
  * MM-004: OpenAI implementation for multi-model consensus verification
4
4
  *
5
5
  * Provides security finding verification using OpenAI GPT models.
6
- * Supports GPT-4, GPT-4-turbo with configurable parameters.
6
+ * Supports the GPT-6 family (sol, luna, astra) with configurable parameters.
7
7
  *
8
8
  * @see docs/plans/AQE_V3_IMPROVEMENTS_PLAN.md - Phase 2: Multi-Model Verification
9
9
  */
@@ -12,7 +12,17 @@ import { BaseModelProvider } from '../model-provider';
12
12
  /**
13
13
  * OpenAI-specific model versions
14
14
  */
15
- export type OpenAIModel = 'gpt-4' | 'gpt-4-turbo' | 'gpt-4-turbo-preview' | 'gpt-4-0125-preview' | 'gpt-4-1106-preview';
15
+ export type OpenAIModel = 'gpt-6-sol' | 'gpt-6-luna' | 'gpt-6-astra' | 'gpt-5.6-sol' | 'gpt-5.4-mini'
16
+ /** @deprecated Legacy GPT-4 generation — kept for config compatibility only. */
17
+ | 'gpt-4'
18
+ /** @deprecated Legacy GPT-4 generation — kept for config compatibility only. */
19
+ | 'gpt-4-turbo'
20
+ /** @deprecated Legacy GPT-4 generation — kept for config compatibility only. */
21
+ | 'gpt-4-turbo-preview'
22
+ /** @deprecated Legacy GPT-4 generation — kept for config compatibility only. */
23
+ | 'gpt-4-0125-preview'
24
+ /** @deprecated Legacy GPT-4 generation — kept for config compatibility only. */
25
+ | 'gpt-4-1106-preview';
16
26
  /**
17
27
  * Configuration for OpenAI provider
18
28
  */
@@ -45,7 +55,7 @@ export interface OpenAIProviderConfig {
45
55
  * ```typescript
46
56
  * const provider = new OpenAIModelProvider({
47
57
  * apiKey: process.env.OPENAI_API_KEY,
48
- * defaultModel: 'gpt-4-turbo',
58
+ * defaultModel: 'gpt-6-sol',
49
59
  * });
50
60
  *
51
61
  * const response = await provider.complete(prompt);
@@ -120,7 +130,7 @@ export declare class OpenAIModelProvider extends BaseModelProvider {
120
130
  * ```typescript
121
131
  * const provider = createOpenAIProvider({
122
132
  * apiKey: process.env.OPENAI_API_KEY,
123
- * defaultModel: 'gpt-4-turbo',
133
+ * defaultModel: 'gpt-6-sol',
124
134
  * });
125
135
  * ```
126
136
  */
@@ -3,13 +3,30 @@
3
3
  * MM-004: OpenAI implementation for multi-model consensus verification
4
4
  *
5
5
  * Provides security finding verification using OpenAI GPT models.
6
- * Supports GPT-4, GPT-4-turbo with configurable parameters.
6
+ * Supports the GPT-6 family (sol, luna, astra) with configurable parameters.
7
7
  *
8
8
  * @see docs/plans/AQE_V3_IMPROVEMENTS_PLAN.md - Phase 2: Multi-Model Verification
9
9
  */
10
10
  import { BaseModelProvider, } from '../model-provider.js';
11
11
  import { CONSENSUS_CONSTANTS } from '../../constants.js';
12
12
  import { toErrorMessage, toError } from '../../../shared/error-utils.js';
13
+ import { applyOpenAIParams } from '../../../shared/llm/openai-params.js';
14
+ /**
15
+ * Cost per million tokens (USD), from the OpenAI API catalog (2026-09-27).
16
+ * Legacy GPT-4 rows are kept so configs pinned to them still price correctly.
17
+ */
18
+ const OPENAI_MODEL_COSTS = {
19
+ 'gpt-6-astra': { input: 10, output: 50 },
20
+ 'gpt-6-sol': { input: 2, output: 10 },
21
+ 'gpt-6-luna': { input: 0.1, output: 0.5 },
22
+ 'gpt-5.4-mini': { input: 0.75, output: 4.5 },
23
+ // Deprecated (legacy GPT-4 generation)
24
+ 'gpt-4': { input: 30, output: 60 },
25
+ 'gpt-4-turbo': { input: 10, output: 30 },
26
+ 'gpt-4-turbo-preview': { input: 10, output: 30 },
27
+ 'gpt-4-0125-preview': { input: 10, output: 30 },
28
+ 'gpt-4-1106-preview': { input: 10, output: 30 },
29
+ };
13
30
  // ============================================================================
14
31
  // OpenAI Model Provider Implementation
15
32
  // ============================================================================
@@ -24,7 +41,7 @@ import { toErrorMessage, toError } from '../../../shared/error-utils.js';
24
41
  * ```typescript
25
42
  * const provider = new OpenAIModelProvider({
26
43
  * apiKey: process.env.OPENAI_API_KEY,
27
- * defaultModel: 'gpt-4-turbo',
44
+ * defaultModel: 'gpt-6-sol',
28
45
  * });
29
46
  *
30
47
  * const response = await provider.complete(prompt);
@@ -34,19 +51,17 @@ export class OpenAIModelProvider extends BaseModelProvider {
34
51
  id = 'openai';
35
52
  name = 'OpenAI GPT';
36
53
  type = 'openai';
37
- // Cost per million tokens (as of 2024)
38
- // GPT-4: $30 input, $60 output per 1M tokens
39
- // GPT-4-turbo: $10 input, $30 output per 1M tokens
54
+ // Overridden per model from OPENAI_MODEL_COSTS in the constructor
40
55
  costPerToken = {
41
- input: 10 / 1_000_000, // Will be overridden per model
42
- output: 30 / 1_000_000,
56
+ input: 2 / 1_000_000,
57
+ output: 10 / 1_000_000,
43
58
  };
44
59
  supportedModels = [
45
- 'gpt-4',
46
- 'gpt-4-turbo',
47
- 'gpt-4-turbo-preview',
48
- 'gpt-4-0125-preview',
49
- 'gpt-4-1106-preview',
60
+ 'gpt-6-sol',
61
+ 'gpt-6-luna',
62
+ 'gpt-6-astra',
63
+ 'gpt-5.6-sol',
64
+ 'gpt-5.4-mini',
50
65
  ];
51
66
  config;
52
67
  apiKey;
@@ -69,7 +84,7 @@ export class OpenAIModelProvider extends BaseModelProvider {
69
84
  this.config = {
70
85
  apiKey,
71
86
  organization: config.organization || '',
72
- defaultModel: config.defaultModel || 'gpt-4-turbo',
87
+ defaultModel: config.defaultModel || 'gpt-6-sol',
73
88
  baseUrl: this.baseUrl,
74
89
  defaultTimeout: config.defaultTimeout || CONSENSUS_CONSTANTS.MODEL_TIMEOUT_MS,
75
90
  maxRetries: config.maxRetries ?? CONSENSUS_CONSTANTS.DEFAULT_RETRY_ATTEMPTS,
@@ -105,12 +120,7 @@ export class OpenAIModelProvider extends BaseModelProvider {
105
120
  content: prompt,
106
121
  },
107
122
  ];
108
- const request = {
109
- model,
110
- messages,
111
- temperature,
112
- max_tokens: maxTokens,
113
- };
123
+ const request = applyOpenAIParams({ model, messages }, model, { maxTokens, temperature });
114
124
  if (this.config.enableLogging) {
115
125
  console.log(`[OpenAI] Sending request to ${model}`);
116
126
  }
@@ -243,20 +253,12 @@ Focus on accuracy over speed. It's better to mark something as "INCONCLUSIVE" if
243
253
  * Update cost based on model selection
244
254
  */
245
255
  updateCostForModel(model) {
246
- if (model === 'gpt-4' && !model.includes('turbo')) {
247
- // GPT-4: $30 input, $60 output per 1M tokens
248
- this.costPerToken = {
249
- input: 30 / 1_000_000,
250
- output: 60 / 1_000_000,
251
- };
252
- }
253
- else {
254
- // GPT-4-turbo: $10 input, $30 output per 1M tokens
255
- this.costPerToken = {
256
- input: 10 / 1_000_000,
257
- output: 30 / 1_000_000,
258
- };
259
- }
256
+ // Unknown models are priced as the default tier (gpt-6-sol)
257
+ const pricing = OPENAI_MODEL_COSTS[model] ?? OPENAI_MODEL_COSTS['gpt-6-sol'];
258
+ this.costPerToken = {
259
+ input: pricing.input / 1_000_000,
260
+ output: pricing.output / 1_000_000,
261
+ };
260
262
  }
261
263
  /**
262
264
  * Sleep for specified milliseconds
@@ -284,7 +286,7 @@ Focus on accuracy over speed. It's better to mark something as "INCONCLUSIVE" if
284
286
  * ```typescript
285
287
  * const provider = createOpenAIProvider({
286
288
  * apiKey: process.env.OPENAI_API_KEY,
287
- * defaultModel: 'gpt-4-turbo',
289
+ * defaultModel: 'gpt-6-sol',
288
290
  * });
289
291
  * ```
290
292
  */
@@ -14,7 +14,7 @@ import { BaseModelProvider } from '../model-provider';
14
14
  * Popular models available through OpenRouter
15
15
  * OpenRouter supports 100+ models - these are the most useful for security verification
16
16
  */
17
- export type OpenRouterModel = 'anthropic/claude-3.5-sonnet' | 'anthropic/claude-3-opus' | 'anthropic/claude-3-sonnet' | 'anthropic/claude-3-haiku' | 'openai/gpt-4-turbo' | 'openai/gpt-4' | 'openai/gpt-4o' | 'openai/gpt-4o-mini' | 'google/gemini-pro-1.5' | 'google/gemini-flash-1.5' | 'meta-llama/llama-3.1-405b-instruct' | 'meta-llama/llama-3.1-70b-instruct' | 'meta-llama/llama-3.1-8b-instruct' | 'mistralai/mistral-large' | 'mistralai/mistral-medium' | 'mistralai/mixtral-8x22b-instruct' | 'deepseek/deepseek-chat' | 'deepseek/deepseek-coder' | 'qwen/qwen-2.5-72b-instruct' | 'cohere/command-r-plus' | string;
17
+ export type OpenRouterModel = 'anthropic/claude-sonnet-5' | 'anthropic/claude-opus-5' | 'anthropic/claude-opus-5.5' | 'anthropic/claude-haiku-4.5' | 'openai/gpt-6-sol' | 'openai/gpt-6-luna' | 'openai/gpt-6-astra' | 'openai/gpt-oss-120b' | 'google/gemini-3.8-flash' | 'google/gemini-3.1-pro-preview' | 'google/gemini-2.5-pro' | 'google/gemini-2.5-flash' | 'meta-llama/llama-4-maverick' | 'meta-llama/llama-4-scout' | 'mistralai/mistral-large-2512' | 'deepseek/deepseek-v4-pro' | 'deepseek/deepseek-v4.1-flash' | 'qwen/qwen3-coder' | string;
18
18
  /**
19
19
  * Model tier for cost/capability classification
20
20
  */
@@ -67,7 +67,7 @@ export declare function getCostOptimizedModels(): OpenRouterModel[];
67
67
  * ```typescript
68
68
  * const provider = new OpenRouterModelProvider({
69
69
  * apiKey: process.env.OPENROUTER_API_KEY,
70
- * defaultModel: 'anthropic/claude-3.5-sonnet',
70
+ * defaultModel: 'anthropic/claude-sonnet-5',
71
71
  * });
72
72
  *
73
73
  * const result = await provider.complete('Analyze this code for vulnerabilities...');
@@ -135,13 +135,13 @@ export declare class OpenRouterModelProvider extends BaseModelProvider {
135
135
  *
136
136
  * // With specific model
137
137
  * const provider = createOpenRouterProvider({
138
- * defaultModel: 'meta-llama/llama-3.1-70b-instruct',
138
+ * defaultModel: 'meta-llama/llama-4-maverick',
139
139
  * });
140
140
  *
141
141
  * // With fallback models
142
142
  * const provider = createOpenRouterProvider({
143
- * defaultModel: 'anthropic/claude-3.5-sonnet',
144
- * fallbackModels: ['openai/gpt-4o', 'google/gemini-pro-1.5'],
143
+ * defaultModel: 'anthropic/claude-sonnet-5',
144
+ * fallbackModels: ['openai/gpt-6-sol', 'google/gemini-2.5-pro'],
145
145
  * });
146
146
  * ```
147
147
  */
@@ -10,42 +10,69 @@
10
10
  */
11
11
  import { BaseModelProvider } from '../model-provider.js';
12
12
  import { toErrorMessage, toError } from '../../../shared/error-utils.js';
13
+ import { resolveModelPricing } from '../../../shared/llm/cost-tracker.js';
13
14
  // ============================================================================
14
15
  // Model Cost and Tier Information
15
16
  // ============================================================================
16
17
  /**
17
- * Cost per 1M tokens for popular models (input/output)
18
- * Updated as of 2024 - check OpenRouter for current prices
18
+ * Cost per 1M tokens for current models (input/output)
19
+ * From the OpenRouter public catalog (2026-09-27) - check OpenRouter for current prices
19
20
  */
20
21
  const MODEL_COSTS = {
21
22
  // Claude models
22
- 'anthropic/claude-3.5-sonnet': { input: 3, output: 15, tier: 'standard' },
23
- 'anthropic/claude-3-opus': { input: 15, output: 75, tier: 'premium' },
24
- 'anthropic/claude-3-sonnet': { input: 3, output: 15, tier: 'standard' },
25
- 'anthropic/claude-3-haiku': { input: 0.25, output: 1.25, tier: 'cheap' },
23
+ 'anthropic/claude-sonnet-5': { input: 2, output: 10, tier: 'standard' },
24
+ 'anthropic/claude-opus-5': { input: 5, output: 25, tier: 'premium' },
25
+ 'anthropic/claude-opus-5.5': { input: 4, output: 20, tier: 'premium' },
26
+ 'anthropic/claude-haiku-4.5': { input: 1, output: 5, tier: 'cheap' },
26
27
  // OpenAI models
27
- 'openai/gpt-4-turbo': { input: 10, output: 30, tier: 'standard' },
28
- 'openai/gpt-4': { input: 30, output: 60, tier: 'premium' },
29
- 'openai/gpt-4o': { input: 5, output: 15, tier: 'standard' },
30
- 'openai/gpt-4o-mini': { input: 0.15, output: 0.6, tier: 'cheap' },
28
+ 'openai/gpt-6-astra': { input: 10, output: 50, tier: 'premium' },
29
+ 'openai/gpt-6-sol': { input: 2, output: 10, tier: 'standard' },
30
+ 'openai/gpt-6-luna': { input: 0.1, output: 0.5, tier: 'cheap' },
31
+ 'openai/gpt-oss-120b': { input: 0.15, output: 0.6, tier: 'cheap' },
31
32
  // Google models
32
- 'google/gemini-pro-1.5': { input: 3.5, output: 10.5, tier: 'standard' },
33
- 'google/gemini-flash-1.5': { input: 0.075, output: 0.3, tier: 'cheap' },
33
+ 'google/gemini-3.1-pro-preview': { input: 2, output: 12, tier: 'standard' },
34
+ 'google/gemini-2.5-pro': { input: 1.25, output: 10, tier: 'standard' },
35
+ 'google/gemini-3.8-flash': { input: 0.75, output: 3.75, tier: 'cheap' },
36
+ 'google/gemini-2.5-flash': { input: 0.3, output: 2.5, tier: 'cheap' },
34
37
  // Llama models
35
- 'meta-llama/llama-3.1-405b-instruct': { input: 2.7, output: 2.7, tier: 'standard' },
36
- 'meta-llama/llama-3.1-70b-instruct': { input: 0.52, output: 0.75, tier: 'cheap' },
37
- 'meta-llama/llama-3.1-8b-instruct': { input: 0.055, output: 0.055, tier: 'free' },
38
+ 'meta-llama/llama-4-maverick': { input: 0.1875, output: 0.6525, tier: 'cheap' },
39
+ 'meta-llama/llama-4-scout': { input: 0.1, output: 0.3, tier: 'cheap' },
38
40
  // Mistral models
39
- 'mistralai/mistral-large': { input: 3, output: 9, tier: 'standard' },
40
- 'mistralai/mixtral-8x22b-instruct': { input: 0.65, output: 0.65, tier: 'cheap' },
41
+ 'mistralai/mistral-large-2512': { input: 0.5, output: 1.5, tier: 'cheap' },
41
42
  // DeepSeek models
42
- 'deepseek/deepseek-chat': { input: 0.14, output: 0.28, tier: 'cheap' },
43
- 'deepseek/deepseek-coder': { input: 0.14, output: 0.28, tier: 'cheap' },
43
+ 'deepseek/deepseek-v4-pro': { input: 0.348, output: 0.696, tier: 'cheap' },
44
+ 'deepseek/deepseek-v4.1-flash': { input: 0.035, output: 0.29, tier: 'cheap' },
44
45
  // Qwen models
45
- 'qwen/qwen-2.5-72b-instruct': { input: 0.35, output: 0.4, tier: 'cheap' },
46
- // Cohere models
47
- 'cohere/command-r-plus': { input: 2.5, output: 10, tier: 'standard' },
46
+ 'qwen/qwen3-coder': { input: 0.3, output: 1, tier: 'cheap' },
48
47
  };
48
+ /**
49
+ * Deprecated models no longer served by OpenRouter. Pricing only, so historical
50
+ * usage still costs correctly — excluded from supported models and tier lists.
51
+ */
52
+ const DEPRECATED_MODEL_COSTS = {
53
+ 'anthropic/claude-3.5-sonnet': { input: 3, output: 15 },
54
+ 'anthropic/claude-3-opus': { input: 15, output: 75 },
55
+ 'anthropic/claude-3-sonnet': { input: 3, output: 15 },
56
+ 'anthropic/claude-3-haiku': { input: 0.25, output: 1.25 },
57
+ 'openai/gpt-4-turbo': { input: 10, output: 30 },
58
+ 'openai/gpt-4': { input: 30, output: 60 },
59
+ 'openai/gpt-4o': { input: 5, output: 15 },
60
+ 'openai/gpt-4o-mini': { input: 0.15, output: 0.6 },
61
+ 'google/gemini-pro-1.5': { input: 3.5, output: 10.5 },
62
+ 'google/gemini-flash-1.5': { input: 0.075, output: 0.3 },
63
+ 'meta-llama/llama-3.1-405b-instruct': { input: 2.7, output: 2.7 },
64
+ 'meta-llama/llama-3.1-70b-instruct': { input: 0.52, output: 0.75 },
65
+ 'meta-llama/llama-3.1-8b-instruct': { input: 0.055, output: 0.055 },
66
+ 'mistralai/mistral-large': { input: 3, output: 9 },
67
+ 'mistralai/mixtral-8x22b-instruct': { input: 0.65, output: 0.65 },
68
+ 'deepseek/deepseek-chat': { input: 0.14, output: 0.28 },
69
+ 'deepseek/deepseek-coder': { input: 0.14, output: 0.28 },
70
+ 'qwen/qwen-2.5-72b-instruct': { input: 0.35, output: 0.4 },
71
+ 'cohere/command-r-plus': { input: 2.5, output: 10 },
72
+ };
73
+ function lookupModelCost(model) {
74
+ return MODEL_COSTS[model] ?? DEPRECATED_MODEL_COSTS[model] ?? resolveModelPricing(model);
75
+ }
49
76
  /**
50
77
  * Get models by tier for cost optimization
51
78
  */
@@ -60,10 +87,10 @@ export function getModelsByTier(tier) {
60
87
  */
61
88
  export function getRecommendedSecurityModels() {
62
89
  return [
63
- 'anthropic/claude-3.5-sonnet', // Best for security analysis
64
- 'openai/gpt-4o', // Strong reasoning
65
- 'google/gemini-pro-1.5', // Good code understanding
66
- 'mistralai/mistral-large', // Cost-effective alternative
90
+ 'anthropic/claude-sonnet-5', // Best for security analysis
91
+ 'openai/gpt-6-sol', // Strong reasoning
92
+ 'google/gemini-2.5-pro', // Good code understanding
93
+ 'deepseek/deepseek-v4-pro', // Cost-effective alternative
67
94
  ];
68
95
  }
69
96
  /**
@@ -71,17 +98,17 @@ export function getRecommendedSecurityModels() {
71
98
  */
72
99
  export function getCostOptimizedModels() {
73
100
  return [
74
- 'anthropic/claude-3-haiku', // Fast and cheap Claude
75
- 'openai/gpt-4o-mini', // Cheap GPT-4
76
- 'google/gemini-flash-1.5', // Very cheap Gemini
77
- 'deepseek/deepseek-chat', // Very cheap alternative
101
+ 'anthropic/claude-haiku-4.5', // Fast and cheap Claude
102
+ 'openai/gpt-6-luna', // Cheap GPT-6
103
+ 'google/gemini-3.8-flash', // Cheap Gemini
104
+ 'qwen/qwen3-coder', // Very cheap alternative
78
105
  ];
79
106
  }
80
107
  // ============================================================================
81
108
  // OpenRouter Provider Implementation
82
109
  // ============================================================================
83
110
  const DEFAULT_CONFIG = {
84
- defaultModel: 'anthropic/claude-3.5-sonnet',
111
+ defaultModel: 'anthropic/claude-sonnet-5',
85
112
  defaultTimeout: 120000, // 2 minutes
86
113
  maxRetries: 3,
87
114
  retryDelayMs: 1000,
@@ -97,7 +124,7 @@ const DEFAULT_CONFIG = {
97
124
  * ```typescript
98
125
  * const provider = new OpenRouterModelProvider({
99
126
  * apiKey: process.env.OPENROUTER_API_KEY,
100
- * defaultModel: 'anthropic/claude-3.5-sonnet',
127
+ * defaultModel: 'anthropic/claude-sonnet-5',
101
128
  * });
102
129
  *
103
130
  * const result = await provider.complete('Analyze this code for vulnerabilities...');
@@ -127,7 +154,7 @@ export class OpenRouterModelProvider extends BaseModelProvider {
127
154
  this.id = `openrouter-${(this.config.defaultModel ?? 'default').replace(/[^a-z0-9]/gi, '-')}`;
128
155
  this.name = `OpenRouter (${this.config.defaultModel ?? 'default'})`;
129
156
  // Set cost per token based on default model
130
- const modelCosts = MODEL_COSTS[this.config.defaultModel];
157
+ const modelCosts = lookupModelCost(this.config.defaultModel);
131
158
  if (modelCosts) {
132
159
  this.costPerToken = {
133
160
  input: modelCosts.input / 1_000_000,
@@ -183,7 +210,7 @@ export class OpenRouterModelProvider extends BaseModelProvider {
183
210
  this.requestCount++;
184
211
  // Track cost
185
212
  if (response.usage) {
186
- const costs = MODEL_COSTS[tryModel] || { input: 1, output: 2 };
213
+ const costs = lookupModelCost(tryModel) || { input: 1, output: 2 };
187
214
  const cost = (response.usage.prompt_tokens * costs.input +
188
215
  response.usage.completion_tokens * costs.output) /
189
216
  1_000_000;
@@ -330,13 +357,13 @@ Format your response with: verdict (confirmed/rejected/uncertain), confidence (0
330
357
  *
331
358
  * // With specific model
332
359
  * const provider = createOpenRouterProvider({
333
- * defaultModel: 'meta-llama/llama-3.1-70b-instruct',
360
+ * defaultModel: 'meta-llama/llama-4-maverick',
334
361
  * });
335
362
  *
336
363
  * // With fallback models
337
364
  * const provider = createOpenRouterProvider({
338
- * defaultModel: 'anthropic/claude-3.5-sonnet',
339
- * fallbackModels: ['openai/gpt-4o', 'google/gemini-pro-1.5'],
365
+ * defaultModel: 'anthropic/claude-sonnet-5',
366
+ * fallbackModels: ['openai/gpt-6-sol', 'google/gemini-2.5-pro'],
340
367
  * });
341
368
  * ```
342
369
  */
@@ -186,18 +186,20 @@ export function registerTestExecutionHandlers(ctx) {
186
186
  let output;
187
187
  try {
188
188
  execution = spawnSync('npx', ['vitest', 'run', ...testFiles, '--reporter=json', ...report.args], options);
189
- output = report.read(execution.stdout || '');
189
+ output = execution.error || execution.signal
190
+ ? ''
191
+ : report.read(execution.stdout || '') ?? '';
190
192
  }
191
193
  finally {
192
194
  report.cleanup();
193
195
  }
194
196
  // Preserve the existing Jest fallback when Vitest cannot produce a report.
195
- if (!output.includes('{') && execution.status !== 0) {
197
+ if (!output.includes('{') && execution.status !== 0 && !execution.error && !execution.signal) {
196
198
  runner = 'jest';
197
199
  execution = spawnSync('npx', ['jest', ...testFiles, '--json'], options);
198
200
  output = execution.stdout || '';
199
201
  }
200
- const diagnostics = [execution.error?.message, execution.stderr, output].filter(Boolean).join('\n');
202
+ const diagnostics = [execution.error?.message, execution.signal && `Terminated by ${execution.signal}`, execution.stderr, output].filter(Boolean).join('\n');
201
203
  if (execution.error) {
202
204
  return err(new TestRunnerExecutionError(`${runner} could not complete: ${diagnostics.slice(0, 4000)}`));
203
205
  }
@@ -69,7 +69,7 @@ export interface Protocol {
69
69
  /**
70
70
  * Status of a protocol action execution
71
71
  */
72
- export type ActionExecutionStatus = 'pending' | 'running' | 'completed' | 'failed' | 'skipped' | 'cancelled';
72
+ export type ActionExecutionStatus = 'pending' | 'running' | 'completed' | 'failed' | 'unknown' | 'skipped' | 'cancelled';
73
73
  /**
74
74
  * Result of a single action execution
75
75
  */
@@ -94,7 +94,7 @@ export interface ActionExecutionResult {
94
94
  /**
95
95
  * Status of protocol execution
96
96
  */
97
- export type ProtocolExecutionStatus = 'pending' | 'running' | 'completed' | 'failed' | 'cancelled' | 'paused';
97
+ export type ProtocolExecutionStatus = 'pending' | 'running' | 'completed' | 'failed' | 'unknown' | 'cancelled' | 'paused';
98
98
  /**
99
99
  * Protocol execution state
100
100
  */
@@ -6,6 +6,13 @@ import { v4 as uuidv4 } from 'uuid';
6
6
  import { ok, err, } from '../shared/types/index.js';
7
7
  import { createEvent } from '../shared/events/index.js';
8
8
  import { toErrorMessage, toError } from '../shared/error-utils.js';
9
+ /** The caller stopped waiting, but the domain operation may still take effect. */
10
+ class ActionTimeoutError extends Error {
11
+ constructor(timeoutMs) {
12
+ super(`Action timed out after ${timeoutMs}ms; outcome is unknown`);
13
+ this.name = 'ActionTimeoutError';
14
+ }
15
+ }
9
16
  // ============================================================================
10
17
  // Protocol Events
11
18
  // ============================================================================
@@ -13,10 +20,12 @@ const ProtocolEvents = {
13
20
  ProtocolStarted: 'coordination.ProtocolStarted',
14
21
  ProtocolCompleted: 'coordination.ProtocolCompleted',
15
22
  ProtocolFailed: 'coordination.ProtocolFailed',
23
+ ProtocolOutcomeUnknown: 'coordination.ProtocolOutcomeUnknown',
16
24
  ProtocolCancelled: 'coordination.ProtocolCancelled',
17
25
  ActionStarted: 'coordination.ActionStarted',
18
26
  ActionCompleted: 'coordination.ActionCompleted',
19
27
  ActionFailed: 'coordination.ActionFailed',
28
+ ActionOutcomeUnknown: 'coordination.ActionOutcomeUnknown',
20
29
  };
21
30
  // ============================================================================
22
31
  // Protocol Executor Implementation
@@ -256,18 +265,22 @@ export class DefaultProtocolExecutor {
256
265
  // Execute actions
257
266
  await this.executeActions(context);
258
267
  // Check for failures
259
- const hasFailures = Array.from(context.actionResults.values()).some((r) => r.status === 'failed');
268
+ const results = Array.from(context.actionResults.values());
269
+ const unknownActions = results.filter((r) => r.status === 'unknown').map((r) => r.actionId);
270
+ const failedActions = results.filter((r) => r.status === 'failed').map((r) => r.actionId);
260
271
  if (context.cancelled) {
261
272
  execution.status = 'cancelled';
262
273
  }
263
- else if (hasFailures) {
274
+ else if (unknownActions.length > 0) {
275
+ execution.status = 'unknown';
276
+ await this.publishEvent(ProtocolEvents.ProtocolOutcomeUnknown, { executionId, protocolId: protocol.id, unknownActions, failedActions }, correlationId);
277
+ }
278
+ else if (failedActions.length > 0) {
264
279
  execution.status = 'failed';
265
280
  await this.publishEvent(ProtocolEvents.ProtocolFailed, {
266
281
  executionId,
267
282
  protocolId: protocol.id,
268
- failedActions: Array.from(context.actionResults.values())
269
- .filter((r) => r.status === 'failed')
270
- .map((r) => r.actionId),
283
+ failedActions,
271
284
  }, correlationId);
272
285
  }
273
286
  else {
@@ -313,6 +326,23 @@ export class DefaultProtocolExecutor {
313
326
  const readyActions = protocol.actions.filter((action) => pending.has(action.id) &&
314
327
  this.dependenciesSatisfied(action, completed));
315
328
  if (readyActions.length === 0 && pending.size > 0) {
329
+ // A failed/unknown prerequisite cannot authorize a dependent action.
330
+ // Mark the dependent skipped instead of misreporting a deadlock.
331
+ let skipped = false;
332
+ for (const action of protocol.actions) {
333
+ if (!pending.has(action.id))
334
+ continue;
335
+ if (action.dependsOn?.some((dep) => {
336
+ const status = actionResults.get(dep)?.status;
337
+ return status !== undefined && status !== 'completed';
338
+ })) {
339
+ actionResults.set(action.id, { actionId: action.id, status: 'skipped' });
340
+ pending.delete(action.id);
341
+ skipped = true;
342
+ }
343
+ }
344
+ if (skipped)
345
+ continue;
316
346
  // Deadlock - some actions can't be executed
317
347
  throw new Error(`Deadlock detected: actions ${Array.from(pending).join(', ')} cannot proceed`);
318
348
  }
@@ -402,6 +432,26 @@ export class DefaultProtocolExecutor {
402
432
  }
403
433
  catch (error) {
404
434
  lastError = toError(error);
435
+ if (error instanceof ActionTimeoutError) {
436
+ // Promise.race cannot cancel the losing provider call. It may have
437
+ // committed an effect already, so replay would be unsafe.
438
+ const completedAt = new Date();
439
+ await this.publishEvent(ProtocolEvents.ActionOutcomeUnknown, {
440
+ executionId: context.execution.executionId,
441
+ actionId: action.id,
442
+ error: error.message,
443
+ attempts,
444
+ }, context.execution.correlationId);
445
+ return {
446
+ actionId: action.id,
447
+ status: 'unknown',
448
+ startedAt,
449
+ completedAt,
450
+ duration: completedAt.getTime() - startedAt.getTime(),
451
+ error: error.message,
452
+ retryAttempts: attempts > 1 ? attempts - 1 : undefined,
453
+ };
454
+ }
405
455
  // Retry if configured and not last attempt
406
456
  if (attempts < maxAttempts && action.retry) {
407
457
  const backoff = action.retry.backoffMs *
@@ -441,10 +491,19 @@ export class DefaultProtocolExecutor {
441
491
  * Execute a promise with timeout
442
492
  */
443
493
  async executeWithTimeout(promise, timeoutMs) {
444
- return Promise.race([
445
- promise,
446
- new Promise((_, reject) => setTimeout(() => reject(new Error('Action timeout')), timeoutMs)),
447
- ]);
494
+ let timer;
495
+ try {
496
+ return await Promise.race([
497
+ promise,
498
+ new Promise((_, reject) => {
499
+ timer = setTimeout(() => reject(new ActionTimeoutError(timeoutMs)), timeoutMs);
500
+ }),
501
+ ]);
502
+ }
503
+ finally {
504
+ if (timer)
505
+ clearTimeout(timer);
506
+ }
448
507
  }
449
508
  /**
450
509
  * Set up event-based triggers for a protocol