agentic-qe 3.14.2 → 3.14.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/v3/qe-coverage-specialist.md +1 -1
- package/.claude/agents/v3/qe-fleet-commander.md +1 -1
- package/.claude/agents/v3/qe-pentest-validator.md +1 -1
- package/.claude/agents/v3/qe-queen-coordinator.md +1 -1
- package/.claude/agents/v3/qe-risk-assessor.md +1 -1
- package/.claude/agents/v3/qe-root-cause-analyzer.md +1 -1
- package/.claude/agents/v3/qe-security-auditor.md +1 -1
- package/.claude/agents/v3/qe-test-architect.md +1 -1
- package/.claude/commands/aqe-costs.md +10 -10
- package/.claude/helpers/advisor-call.cjs +3 -3
- package/.claude/helpers/v3/advisor-call.cjs +3 -3
- package/.claude/skills/.validation/examples/chaos-engineering-output.example.json +1 -1
- package/.claude/skills/.validation/examples/performance-testing-output.example.json +1 -1
- package/.claude/skills/.validation/examples/security-testing-output.example.json +1 -1
- package/.claude/skills/.validation/examples/testability-scoring-output.example.json +1 -1
- package/.claude/skills/.validation/schemas/skill-eval.schema.json +4 -1
- package/.claude/skills/.validation/schemas/skill-frontmatter.schema.json +1 -1
- package/.claude/skills/.validation/schemas/skill-output.template.json +1 -1
- package/.claude/skills/.validation/templates/eval.template.yaml +1 -1
- package/.claude/skills/.validation/templates/security-testing-eval.template.yaml +1 -1
- package/.claude/skills/.validation/templates/skill-frontmatter.example.yaml +1 -1
- package/.claude/skills/.validation/test-data/sample-output.json +1 -1
- package/.claude/skills/a11y-ally/SKILL.md +1 -1
- package/.claude/skills/a11y-ally/evals/a11y-ally.yaml +1 -1
- package/.claude/skills/accessibility-testing/evals/accessibility-testing.yaml +1 -1
- package/.claude/skills/api-testing-patterns/evals/api-testing-patterns.yaml +1 -1
- package/.claude/skills/chaos-engineering-resilience/evals/chaos-engineering-resilience.yaml +1 -1
- package/.claude/skills/cicd-pipeline-qe-orchestrator/evals/cicd-pipeline-qe-orchestrator.yaml +1 -1
- package/.claude/skills/compatibility-testing/evals/compatibility-testing.yaml +1 -1
- package/.claude/skills/compliance-testing/evals/compliance-testing.yaml +1 -1
- package/.claude/skills/contract-testing/evals/contract-testing.yaml +1 -1
- package/.claude/skills/database-testing/evals/database-testing.yaml +1 -1
- package/.claude/skills/enterprise-integration-testing/evals/enterprise-integration-testing.yaml +1 -1
- package/.claude/skills/localization-testing/evals/localization-testing.yaml +1 -1
- package/.claude/skills/middleware-testing-patterns/evals/middleware-testing-patterns.yaml +1 -1
- package/.claude/skills/mobile-testing/evals/mobile-testing.yaml +1 -1
- package/.claude/skills/mutation-testing/evals/mutation-testing.yaml +1 -1
- package/.claude/skills/mutation-testing/test-data/sample-output.json +1 -1
- package/.claude/skills/n8n-expression-testing/evals/n8n-expression-testing.yaml +1 -1
- package/.claude/skills/n8n-integration-testing-patterns/evals/n8n-integration-testing-patterns.yaml +1 -1
- package/.claude/skills/n8n-security-testing/evals/n8n-security-testing.yaml +1 -1
- package/.claude/skills/n8n-trigger-testing-strategies/evals/n8n-trigger-testing-strategies.yaml +1 -1
- package/.claude/skills/n8n-workflow-testing-fundamentals/evals/n8n-workflow-testing-fundamentals.yaml +1 -1
- package/.claude/skills/observability-testing-patterns/evals/observability-testing-patterns.yaml +1 -1
- package/.claude/skills/pentest-validation/evals/pentest-validation.yaml +1 -1
- package/.claude/skills/performance-testing/evals/performance-testing.yaml +1 -1
- package/.claude/skills/qcsd-cicd-swarm/evals/qcsd-cicd-swarm.yaml +1 -1
- package/.claude/skills/qcsd-development-swarm/evals/qcsd-development-swarm.yaml +1 -1
- package/.claude/skills/qcsd-ideation-swarm/evals/qcsd-ideation-swarm.yaml +1 -1
- package/.claude/skills/qcsd-production-swarm/evals/qcsd-production-swarm.yaml +1 -1
- package/.claude/skills/qcsd-refinement-swarm/evals/qcsd-refinement-swarm.yaml +1 -1
- package/.claude/skills/qe-browser/evals/qe-browser.yaml +1 -1
- package/.claude/skills/qe-chaos-resilience/evals/qe-chaos-resilience.yaml +1 -1
- package/.claude/skills/qe-code-intelligence/evals/qe-code-intelligence.yaml +1 -1
- package/.claude/skills/qe-coverage-analysis/evals/qe-coverage-analysis.yaml +1 -1
- package/.claude/skills/qe-defect-intelligence/evals/qe-defect-intelligence.yaml +1 -1
- package/.claude/skills/qe-learning-optimization/evals/qe-learning-optimization.yaml +2 -2
- package/.claude/skills/qe-quality-assessment/evals/qe-quality-assessment.yaml +1 -1
- package/.claude/skills/qe-requirements-validation/evals/qe-requirements-validation.yaml +1 -1
- package/.claude/skills/qe-test-execution/evals/qe-test-execution.yaml +1 -1
- package/.claude/skills/qe-test-generation/evals/qe-test-generation.yaml +1 -1
- package/.claude/skills/qe-visual-accessibility/evals/qe-visual-accessibility.yaml +1 -1
- package/.claude/skills/quality-metrics/evals/quality-metrics.yaml +1 -1
- package/.claude/skills/regression-testing/evals/regression-testing.yaml +1 -1
- package/.claude/skills/risk-based-testing/evals/risk-based-testing.yaml +1 -1
- package/.claude/skills/security-testing/evals/security-testing.yaml +1 -1
- package/.claude/skills/security-visual-testing/evals/security-visual-testing.yaml +1 -1
- package/.claude/skills/shift-left-testing/evals/shift-left-testing.yaml +1 -1
- package/.claude/skills/shift-right-testing/evals/shift-right-testing.yaml +1 -1
- package/.claude/skills/skills-manifest.json +1 -1
- package/.claude/skills/test-automation-strategy/evals/test-automation-strategy.yaml +1 -1
- package/.claude/skills/test-data-management/evals/test-data-management.yaml +1 -1
- package/.claude/skills/test-design-techniques/evals/test-design-techniques.yaml +1 -1
- package/.claude/skills/test-reporting-analytics/evals/test-reporting-analytics.yaml +1 -1
- package/.claude/skills/testability-scoring/evals/testability-scoring.yaml +1 -1
- package/.claude/skills/validation-pipeline/evals/validation-pipeline.yaml +1 -1
- package/.claude/skills/verification-quality/evals/verification-quality.yaml +1 -1
- package/.claude/skills/visual-testing-advanced/evals/visual-testing-advanced.yaml +1 -1
- package/.claude/skills/wms-testing-patterns/evals/wms-testing-patterns.yaml +1 -1
- package/.opencode/agents/collective-intelligence-coordinator.yaml +1 -1
- package/.opencode/agents/ddd-domain-expert.yaml +1 -1
- package/.opencode/agents/memory-specialist.yaml +1 -1
- package/.opencode/agents/performance-engineer.yaml +1 -1
- package/.opencode/agents/qe-accessibility-auditor.yaml +1 -1
- package/.opencode/agents/qe-api-contract-validator.yaml +1 -1
- package/.opencode/agents/qe-bdd-generator.yaml +1 -1
- package/.opencode/agents/qe-chaos-engineer.yaml +1 -1
- package/.opencode/agents/qe-code-complexity.yaml +1 -1
- package/.opencode/agents/qe-code-intelligence.yaml +1 -1
- package/.opencode/agents/qe-coverage-analyzer.yaml +1 -1
- package/.opencode/agents/qe-defect-predictor.yaml +1 -1
- package/.opencode/agents/qe-dependency-mapper.yaml +1 -1
- package/.opencode/agents/qe-deployment-advisor.yaml +1 -1
- package/.opencode/agents/qe-devils-advocate.yaml +1 -1
- package/.opencode/agents/qe-flaky-hunter.yaml +1 -1
- package/.opencode/agents/qe-fleet-commander.yaml +1 -1
- package/.opencode/agents/qe-gap-detector.yaml +1 -1
- package/.opencode/agents/qe-graphql-tester.yaml +1 -1
- package/.opencode/agents/qe-impact-analyzer.yaml +1 -1
- package/.opencode/agents/qe-integration-architect.yaml +1 -1
- package/.opencode/agents/qe-integration-tester.yaml +1 -1
- package/.opencode/agents/qe-kg-builder.yaml +1 -1
- package/.opencode/agents/qe-learning-coordinator.yaml +1 -1
- package/.opencode/agents/qe-load-tester.yaml +1 -1
- package/.opencode/agents/qe-message-broker-tester.yaml +1 -1
- package/.opencode/agents/qe-metrics-optimizer.yaml +1 -1
- package/.opencode/agents/qe-middleware-validator.yaml +1 -1
- package/.opencode/agents/qe-mutation-tester.yaml +1 -1
- package/.opencode/agents/qe-odata-contract-tester.yaml +1 -1
- package/.opencode/agents/qe-parallel-executor.yaml +1 -1
- package/.opencode/agents/qe-pattern-learner.yaml +1 -1
- package/.opencode/agents/qe-pentest-validator.yaml +1 -1
- package/.opencode/agents/qe-performance-tester.yaml +1 -1
- package/.opencode/agents/qe-product-factors-assessor.yaml +1 -1
- package/.opencode/agents/qe-property-tester.yaml +1 -1
- package/.opencode/agents/qe-quality-criteria-recommender.yaml +1 -1
- package/.opencode/agents/qe-quality-gate.yaml +1 -1
- package/.opencode/agents/qe-queen-coordinator.yaml +1 -1
- package/.opencode/agents/qe-qx-partner.yaml +1 -1
- package/.opencode/agents/qe-regression-analyzer.yaml +1 -1
- package/.opencode/agents/qe-requirements-validator.yaml +1 -1
- package/.opencode/agents/qe-responsive-tester.yaml +1 -1
- package/.opencode/agents/qe-retry-handler.yaml +1 -1
- package/.opencode/agents/qe-risk-assessor.yaml +1 -1
- package/.opencode/agents/qe-root-cause-analyzer.yaml +1 -1
- package/.opencode/agents/qe-sap-idoc-tester.yaml +1 -1
- package/.opencode/agents/qe-sap-rfc-tester.yaml +1 -1
- package/.opencode/agents/qe-security-auditor.yaml +1 -1
- package/.opencode/agents/qe-security-scanner.yaml +1 -1
- package/.opencode/agents/qe-soap-tester.yaml +1 -1
- package/.opencode/agents/qe-sod-analyzer.yaml +1 -1
- package/.opencode/agents/qe-tdd-specialist.yaml +1 -1
- package/.opencode/agents/qe-test-generator.yaml +1 -1
- package/.opencode/agents/qe-test-idea-rewriter.yaml +1 -1
- package/.opencode/agents/qe-transfer-specialist.yaml +1 -1
- package/.opencode/agents/qe-visual-tester.yaml +1 -1
- package/.opencode/agents/security-architect.yaml +1 -1
- package/.opencode/agents/security-auditor.yaml +1 -1
- package/CHANGELOG.md +183 -0
- package/README.md +7 -2
- package/assets/agents/v3/helpers/advisor-call.cjs +3 -3
- package/assets/agents/v3/qe-coverage-specialist.md +1 -1
- package/assets/agents/v3/qe-fleet-commander.md +1 -1
- package/assets/agents/v3/qe-pentest-validator.md +1 -1
- package/assets/agents/v3/qe-queen-coordinator.md +1 -1
- package/assets/agents/v3/qe-risk-assessor.md +1 -1
- package/assets/agents/v3/qe-root-cause-analyzer.md +1 -1
- package/assets/agents/v3/qe-security-auditor.md +1 -1
- package/assets/agents/v3/qe-test-architect.md +1 -1
- package/assets/skills/.validation/examples/chaos-engineering-output.example.json +1 -1
- package/assets/skills/.validation/examples/performance-testing-output.example.json +1 -1
- package/assets/skills/.validation/examples/security-testing-output.example.json +1 -1
- package/assets/skills/.validation/examples/testability-scoring-output.example.json +1 -1
- package/assets/skills/.validation/schemas/skill-eval.schema.json +4 -1
- package/assets/skills/.validation/schemas/skill-frontmatter.schema.json +1 -1
- package/assets/skills/.validation/schemas/skill-output.template.json +1 -1
- package/assets/skills/.validation/templates/eval.template.yaml +1 -1
- package/assets/skills/.validation/templates/security-testing-eval.template.yaml +1 -1
- package/assets/skills/.validation/templates/skill-frontmatter.example.yaml +1 -1
- package/assets/skills/.validation/test-data/sample-output.json +1 -1
- package/assets/skills/a11y-ally/SKILL.md +1 -1
- package/assets/skills/a11y-ally/evals/a11y-ally.yaml +1 -1
- package/assets/skills/accessibility-testing/evals/accessibility-testing.yaml +1 -1
- package/assets/skills/api-testing-patterns/evals/api-testing-patterns.yaml +1 -1
- package/assets/skills/chaos-engineering-resilience/evals/chaos-engineering-resilience.yaml +1 -1
- package/assets/skills/cicd-pipeline-qe-orchestrator/evals/cicd-pipeline-qe-orchestrator.yaml +1 -1
- package/assets/skills/compatibility-testing/evals/compatibility-testing.yaml +1 -1
- package/assets/skills/compliance-testing/evals/compliance-testing.yaml +1 -1
- package/assets/skills/contract-testing/evals/contract-testing.yaml +1 -1
- package/assets/skills/database-testing/evals/database-testing.yaml +1 -1
- package/assets/skills/enterprise-integration-testing/evals/enterprise-integration-testing.yaml +1 -1
- package/assets/skills/localization-testing/evals/localization-testing.yaml +1 -1
- package/assets/skills/middleware-testing-patterns/evals/middleware-testing-patterns.yaml +1 -1
- package/assets/skills/mobile-testing/evals/mobile-testing.yaml +1 -1
- package/assets/skills/mutation-testing/evals/mutation-testing.yaml +1 -1
- package/assets/skills/mutation-testing/test-data/sample-output.json +1 -1
- package/assets/skills/n8n-expression-testing/evals/n8n-expression-testing.yaml +1 -1
- package/assets/skills/n8n-integration-testing-patterns/evals/n8n-integration-testing-patterns.yaml +1 -1
- package/assets/skills/n8n-security-testing/evals/n8n-security-testing.yaml +1 -1
- package/assets/skills/n8n-trigger-testing-strategies/evals/n8n-trigger-testing-strategies.yaml +1 -1
- package/assets/skills/n8n-workflow-testing-fundamentals/evals/n8n-workflow-testing-fundamentals.yaml +1 -1
- package/assets/skills/observability-testing-patterns/evals/observability-testing-patterns.yaml +1 -1
- package/assets/skills/pentest-validation/evals/pentest-validation.yaml +1 -1
- package/assets/skills/performance-testing/evals/performance-testing.yaml +1 -1
- package/assets/skills/qcsd-cicd-swarm/evals/qcsd-cicd-swarm.yaml +1 -1
- package/assets/skills/qcsd-development-swarm/evals/qcsd-development-swarm.yaml +1 -1
- package/assets/skills/qcsd-ideation-swarm/evals/qcsd-ideation-swarm.yaml +1 -1
- package/assets/skills/qcsd-production-swarm/evals/qcsd-production-swarm.yaml +1 -1
- package/assets/skills/qcsd-refinement-swarm/evals/qcsd-refinement-swarm.yaml +1 -1
- package/assets/skills/qe-browser/evals/qe-browser.yaml +1 -1
- package/assets/skills/qe-chaos-resilience/evals/qe-chaos-resilience.yaml +1 -1
- package/assets/skills/qe-code-intelligence/evals/qe-code-intelligence.yaml +1 -1
- package/assets/skills/qe-coverage-analysis/evals/qe-coverage-analysis.yaml +1 -1
- package/assets/skills/qe-defect-intelligence/evals/qe-defect-intelligence.yaml +1 -1
- package/assets/skills/qe-learning-optimization/evals/qe-learning-optimization.yaml +2 -2
- package/assets/skills/qe-quality-assessment/evals/qe-quality-assessment.yaml +1 -1
- package/assets/skills/qe-requirements-validation/evals/qe-requirements-validation.yaml +1 -1
- package/assets/skills/qe-test-execution/evals/qe-test-execution.yaml +1 -1
- package/assets/skills/qe-test-generation/evals/qe-test-generation.yaml +1 -1
- package/assets/skills/qe-visual-accessibility/evals/qe-visual-accessibility.yaml +1 -1
- package/assets/skills/quality-metrics/evals/quality-metrics.yaml +1 -1
- package/assets/skills/regression-testing/evals/regression-testing.yaml +1 -1
- package/assets/skills/risk-based-testing/evals/risk-based-testing.yaml +1 -1
- package/assets/skills/security-testing/evals/security-testing.yaml +1 -1
- package/assets/skills/security-visual-testing/evals/security-visual-testing.yaml +1 -1
- package/assets/skills/shift-left-testing/evals/shift-left-testing.yaml +1 -1
- package/assets/skills/shift-right-testing/evals/shift-right-testing.yaml +1 -1
- package/assets/skills/skills-manifest.json +1 -1
- package/assets/skills/test-automation-strategy/evals/test-automation-strategy.yaml +1 -1
- package/assets/skills/test-data-management/evals/test-data-management.yaml +1 -1
- package/assets/skills/test-design-techniques/evals/test-design-techniques.yaml +1 -1
- package/assets/skills/test-reporting-analytics/evals/test-reporting-analytics.yaml +1 -1
- package/assets/skills/testability-scoring/evals/testability-scoring.yaml +1 -1
- package/assets/skills/validation-pipeline/evals/validation-pipeline.yaml +1 -1
- package/assets/skills/verification-quality/evals/verification-quality.yaml +1 -1
- package/assets/skills/visual-testing-advanced/evals/visual-testing-advanced.yaml +1 -1
- package/assets/skills/wms-testing-patterns/evals/wms-testing-patterns.yaml +1 -1
- package/dist/cli/bundle.js +7 -7
- package/dist/cli/chunks/adapter-TNNNJRDG.js +2 -0
- package/dist/cli/chunks/{agent-booster-wasm-SD5N32MX.js → agent-booster-wasm-5PC7D2FW.js} +2 -2
- package/dist/cli/chunks/{agent-handler-OZRSJM7F.js → agent-handler-RDNTK4CA.js} +2 -2
- package/dist/cli/chunks/{agent-memory-branch-NYTRANRN.js → agent-memory-branch-NAAMBWIR.js} +2 -2
- package/dist/cli/chunks/aqe-learning-engine-5ZRMYJLB.js +2 -0
- package/dist/cli/chunks/{arena-EX3SC2DP.js → arena-HXTWJ5YY.js} +4 -4
- package/dist/cli/chunks/{arena-FOTVSRK4.js → arena-KXFHRWX4.js} +2 -2
- package/dist/cli/chunks/{audit-Q5GHSUQY.js → audit-YSGA7UWT.js} +3 -3
- package/dist/cli/chunks/base-KWZHOPSH.js +2 -0
- package/dist/cli/chunks/{better-sqlite3-S7M5R2HS.js → better-sqlite3-UICJZIDG.js} +2 -2
- package/dist/cli/chunks/brain-handler-ET6YAP4B.js +90 -0
- package/dist/cli/chunks/{branch-enumerator-RWAXTGEU.js → branch-enumerator-SS7UNVIA.js} +2 -2
- package/dist/cli/chunks/{browser-IGDESJGF.js → browser-77GI6KBE.js} +2 -2
- package/dist/cli/chunks/browser-workflow-2FZTKDUL.js +2 -0
- package/dist/cli/chunks/{chunk-U54OOA24.js → chunk-2JW3BCGG.js} +1 -1
- package/dist/cli/chunks/{chunk-LML5VTFK.js → chunk-33YYYWBQ.js} +1 -1
- package/dist/cli/chunks/{chunk-P64DMQ2C.js → chunk-34WO57CW.js} +1 -1
- package/dist/cli/chunks/{chunk-57TNBR2P.js → chunk-3QHGWY7T.js} +2 -2
- package/dist/cli/chunks/chunk-3TW5W5LX.js +2 -0
- package/dist/cli/chunks/{chunk-S4MR6RTE.js → chunk-3UPAMMCB.js} +1 -1
- package/dist/cli/chunks/{chunk-5WJUNRTY.js → chunk-3VOQRIQM.js} +2 -2
- package/dist/cli/chunks/{chunk-4RT7I7PI.js → chunk-3X3DJZJJ.js} +1 -1
- package/dist/cli/chunks/{chunk-RFNEHNJV.js → chunk-4MHXCAG2.js} +1 -1
- package/dist/cli/chunks/{chunk-PMUBG2RU.js → chunk-4OYFXLBK.js} +2 -2
- package/dist/cli/chunks/{chunk-W2FLULF4.js → chunk-55RWDRJD.js} +3 -3
- package/dist/cli/chunks/chunk-5R3QL7WN.js +14 -0
- package/dist/cli/chunks/{chunk-RHJVDCLV.js → chunk-5SJHQ2CO.js} +2 -2
- package/dist/cli/chunks/{chunk-HBTC4L53.js → chunk-5YPYDPBJ.js} +2 -2
- package/dist/cli/chunks/chunk-5Z6XZV7K.js +65 -0
- package/dist/cli/chunks/{chunk-6EHN7Q2Q.js → chunk-64PFWE2F.js} +2 -2
- package/dist/cli/chunks/{chunk-KFXZDQ5J.js → chunk-6CQN24ZK.js} +1 -1
- package/dist/cli/chunks/{chunk-WVY22NHZ.js → chunk-6J62K3SW.js} +2 -2
- package/dist/cli/chunks/{chunk-TLPL3EQY.js → chunk-6KJABXAR.js} +2 -2
- package/dist/cli/chunks/{chunk-PZKZY6PB.js → chunk-6QYNWR7U.js} +2 -2
- package/dist/cli/chunks/{chunk-A7N3YUDJ.js → chunk-6TPKK7LD.js} +2 -2
- package/dist/cli/chunks/{chunk-RYJHREYS.js → chunk-6UWGMOND.js} +2 -2
- package/dist/cli/chunks/{chunk-XPLSLHRB.js → chunk-6VRA2QGL.js} +1 -1
- package/dist/cli/chunks/{chunk-Q3JHS3UD.js → chunk-7D777LTF.js} +2 -2
- package/dist/cli/chunks/chunk-7ZIOFPL3.js +2 -0
- package/dist/cli/chunks/chunk-A4FYONNU.js +2 -0
- package/dist/cli/chunks/{chunk-7AFBNU6K.js → chunk-AIHDEEJO.js} +2 -2
- package/dist/cli/chunks/{chunk-L2F7FVIU.js → chunk-AUXFKCQL.js} +2 -2
- package/dist/cli/chunks/{chunk-67A6PEZM.js → chunk-AWWNB2T7.js} +2 -2
- package/dist/cli/chunks/{chunk-DVHWLAEO.js → chunk-BDESSCVR.js} +3 -3
- package/dist/cli/chunks/{chunk-JQ2ZD3WO.js → chunk-BFP7KO7P.js} +2 -2
- package/dist/cli/chunks/{chunk-N5ZRUOMR.js → chunk-BGE6FOLM.js} +2 -2
- package/dist/cli/chunks/{chunk-BWRHOIYC.js → chunk-BOARZKU3.js} +2 -2
- package/dist/cli/chunks/{chunk-CTCQOYBS.js → chunk-BOZZYWCR.js} +1 -1
- package/dist/cli/chunks/{chunk-NHHWLJQF.js → chunk-C2WU3533.js} +1 -1
- package/dist/cli/chunks/{chunk-5EHLGOWW.js → chunk-CDHQFHRP.js} +2 -2
- package/dist/cli/chunks/chunk-CDKG6EI7.js +16 -0
- package/dist/cli/chunks/{chunk-RGH3WGWD.js → chunk-CIKSHTEQ.js} +3 -3
- package/dist/cli/chunks/{chunk-K574FLVB.js → chunk-CIZ5JPDC.js} +2 -2
- package/dist/cli/chunks/{chunk-LWUJQGCS.js → chunk-CLTMDCSE.js} +2 -2
- package/dist/cli/chunks/{chunk-GHQ5PUOV.js → chunk-CNG6GQEZ.js} +2 -2
- package/dist/cli/chunks/{chunk-3C2K4YMS.js → chunk-CSU5NYOX.js} +3 -3
- package/dist/cli/chunks/chunk-CU46J64M.js +4 -0
- package/dist/cli/chunks/{chunk-EH5OCHAJ.js → chunk-CXQPR5MY.js} +1 -1
- package/dist/cli/chunks/chunk-DA5K5754.js +96 -0
- package/dist/cli/chunks/{chunk-FVGTINVR.js → chunk-DAEFDCJ4.js} +81 -65
- package/dist/cli/chunks/{chunk-MH73D5TN.js → chunk-DEYLEDJN.js} +2 -2
- package/dist/cli/chunks/{chunk-7FWP7CZY.js → chunk-DFZCKIGY.js} +3 -3
- package/dist/cli/chunks/{chunk-QXTW7XCS.js → chunk-DHJPWQBR.js} +2 -2
- package/dist/cli/chunks/{chunk-NAZVPZJS.js → chunk-DOTK76IJ.js} +2 -2
- package/dist/cli/chunks/{chunk-RCI64RIJ.js → chunk-DPFRKBOG.js} +2 -2
- package/dist/cli/chunks/{chunk-WMW47QMR.js → chunk-EDJ3O7RH.js} +2 -2
- package/dist/cli/chunks/{chunk-4K27ESCA.js → chunk-EKQ673SA.js} +1 -1
- package/dist/cli/chunks/chunk-F3SBRQC6.js +2 -0
- package/dist/cli/chunks/{chunk-4N44UJGI.js → chunk-FGYMFUE2.js} +2 -2
- package/dist/cli/chunks/chunk-FLYOJOKN.js +2 -0
- package/dist/cli/chunks/{chunk-W4OQYLYO.js → chunk-FRH6VAUS.js} +1 -1
- package/dist/cli/chunks/{chunk-VOYJJ3KA.js → chunk-FWGOHAAB.js} +2 -2
- package/dist/cli/chunks/{chunk-D4RCV4LY.js → chunk-G6T45OIC.js} +2 -2
- package/dist/cli/chunks/{chunk-2EHFEMRU.js → chunk-GPLQ6DOK.js} +2 -2
- package/dist/cli/chunks/{chunk-RVCWSAXI.js → chunk-HDSAM2RE.js} +2 -2
- package/dist/cli/chunks/chunk-HIVA55CJ.js +2 -0
- package/dist/cli/chunks/{chunk-6F4WHN7D.js → chunk-HIYXCDEP.js} +1 -1
- package/dist/cli/chunks/{chunk-NRR23SJV.js → chunk-HUWNIPZ5.js} +1 -1
- package/dist/cli/chunks/{chunk-4M6A3PVJ.js → chunk-HV2J7KKQ.js} +2 -2
- package/dist/cli/chunks/{chunk-CJHVOBJY.js → chunk-IFCLB7FJ.js} +1 -1
- package/dist/cli/chunks/{chunk-Q335R4MR.js → chunk-IPR4QP3H.js} +2 -2
- package/dist/cli/chunks/{chunk-HZMLNM2T.js → chunk-ISDMD6EU.js} +178 -175
- package/dist/cli/chunks/chunk-J6GNQS62.js +5 -0
- package/dist/cli/chunks/{chunk-3DFFFXXO.js → chunk-JBNEE5UH.js} +2 -2
- package/dist/cli/chunks/chunk-JZ3ORVZ3.js +54 -0
- package/dist/cli/chunks/{chunk-T4C56HBW.js → chunk-KCZR45PA.js} +2 -2
- package/dist/cli/chunks/chunk-KGT36Z42.js +14 -0
- package/dist/cli/chunks/{chunk-JIUF6NV6.js → chunk-KHFNNVJA.js} +2 -2
- package/dist/cli/chunks/{chunk-7SK6IMGZ.js → chunk-KPA7MZ6C.js} +2 -2
- package/dist/cli/chunks/{chunk-G2CLZVYI.js → chunk-KSKEF7LZ.js} +3 -3
- package/dist/cli/chunks/{chunk-6LMLN5R2.js → chunk-M2JBBZQB.js} +2 -2
- package/dist/cli/chunks/{chunk-UHTAI4ZB.js → chunk-M4WJKGVK.js} +1 -1
- package/dist/cli/chunks/{chunk-KZOBLLXW.js → chunk-M5QUBZY6.js} +2 -2
- package/dist/cli/chunks/{chunk-42WUDDUU.js → chunk-MCUJEZT6.js} +2 -2
- package/dist/cli/chunks/{chunk-ZFGND4QK.js → chunk-MDWCE7YW.js} +1 -1
- package/dist/cli/chunks/{chunk-TYVQNYXX.js → chunk-MEGDYJPV.js} +7 -7
- package/dist/cli/chunks/chunk-MIQTXNBG.js +4 -0
- package/dist/cli/chunks/{chunk-PFXX5Q32.js → chunk-MNW6QGNJ.js} +2 -2
- package/dist/cli/chunks/{chunk-IVGVOGIZ.js → chunk-MOBNBMFW.js} +1 -1
- package/dist/cli/chunks/{chunk-NWFIJNEB.js → chunk-MTZH7AHC.js} +1 -1
- package/dist/cli/chunks/chunk-MVNP7GIR.js +2 -0
- package/dist/cli/chunks/chunk-MVPCNSPY.js +2 -0
- package/dist/cli/chunks/chunk-NA7B2QYB.js +2 -0
- package/dist/cli/chunks/{chunk-E3Q7WNJD.js → chunk-NDPFGIMJ.js} +3 -3
- package/dist/cli/chunks/{chunk-GHUPID5E.js → chunk-NJBGXDQ7.js} +1 -1
- package/dist/cli/chunks/chunk-OBAP2TXZ.js +2 -0
- package/dist/cli/chunks/{chunk-OBCKP3G4.js → chunk-OCWWP5PL.js} +4 -4
- package/dist/cli/chunks/{chunk-CJCT452S.js → chunk-ODKLFVYC.js} +2 -2
- package/dist/cli/chunks/{chunk-YN6W2XIT.js → chunk-ONII3572.js} +4 -4
- package/dist/cli/chunks/{chunk-QW4LN5NK.js → chunk-OSLYSG3B.js} +2 -2
- package/dist/cli/chunks/{chunk-HZ6NEJMO.js → chunk-OULHKEVH.js} +2 -2
- package/dist/cli/chunks/{chunk-CG2MUD7U.js → chunk-PAWXJ73E.js} +1 -1
- package/dist/cli/chunks/chunk-PEPFCPES.js +2 -0
- package/dist/cli/chunks/{chunk-UIGEUEBT.js → chunk-PFR4G3DJ.js} +2 -2
- package/dist/cli/chunks/chunk-PO3IXGMQ.js +2 -0
- package/dist/cli/chunks/{chunk-6SZKLWZT.js → chunk-PZJOPURC.js} +5 -5
- package/dist/cli/chunks/{chunk-ARMZYHYL.js → chunk-Q5DO24IJ.js} +2 -2
- package/dist/cli/chunks/chunk-QGIU2WRL.js +2 -0
- package/dist/cli/chunks/{chunk-N3RN4QTC.js → chunk-R4VL6E65.js} +2 -2
- package/dist/cli/chunks/{chunk-MWQTACNA.js → chunk-R5NE6B2M.js} +2 -2
- package/dist/cli/chunks/{chunk-T46LOLW3.js → chunk-RJCYCLZV.js} +2 -2
- package/dist/cli/chunks/{chunk-CH2TQCV5.js → chunk-SGYJ4NFZ.js} +1 -1
- package/dist/cli/chunks/{chunk-NG2UVPTW.js → chunk-SRKETSFF.js} +1 -1
- package/dist/cli/chunks/{chunk-QFUX7ELG.js → chunk-STJCATGN.js} +2 -2
- package/dist/cli/chunks/{chunk-CIESXO73.js → chunk-STM3UDNO.js} +1 -1
- package/dist/cli/chunks/{chunk-C7AXRI7E.js → chunk-T6BVLVI5.js} +1 -1
- package/dist/cli/chunks/{chunk-HSJ5FQCF.js → chunk-TDZ53WO2.js} +2 -2
- package/dist/cli/chunks/{chunk-YF5OP6CR.js → chunk-TPGED2IF.js} +2 -2
- package/dist/cli/chunks/{chunk-2TG24LYQ.js → chunk-TSRSV3LD.js} +1 -1
- package/dist/cli/chunks/{chunk-6VKJAMZY.js → chunk-TT23RRB7.js} +1 -1
- package/dist/cli/chunks/{chunk-WXMSRBQF.js → chunk-TWAWHOP7.js} +2 -2
- package/dist/cli/chunks/{chunk-ZCDXJ27H.js → chunk-U5K45TFH.js} +1 -1
- package/dist/cli/chunks/{chunk-3WV4H33V.js → chunk-UDHKLT4C.js} +1 -1
- package/dist/cli/chunks/{chunk-VNAKBHJI.js → chunk-UEM7ZF5K.js} +2 -2
- package/dist/cli/chunks/{chunk-4ZUZDFAA.js → chunk-UGVHCMUN.js} +6 -6
- package/dist/cli/chunks/{chunk-NNOMDM4N.js → chunk-V3QLFNA2.js} +2 -2
- package/dist/cli/chunks/{chunk-S7N4BKI3.js → chunk-VD6QRULW.js} +2 -2
- package/dist/cli/chunks/{chunk-WBH4C4BG.js → chunk-VIHTL3U2.js} +2 -2
- package/dist/cli/chunks/chunk-W7BWUTVV.js +2 -0
- package/dist/cli/chunks/{chunk-IWFL6EFI.js → chunk-WLG5AJ4N.js} +2 -2
- package/dist/cli/chunks/{chunk-KEEBUVGV.js → chunk-XC7DYDSY.js} +8 -8
- package/dist/cli/chunks/{chunk-F2KRT2II.js → chunk-XJ7QNVI5.js} +3 -3
- package/dist/cli/chunks/chunk-XRT2WRMS.js +2 -0
- package/dist/cli/chunks/{chunk-ADK7DF3G.js → chunk-XRYF6JV7.js} +2 -2
- package/dist/cli/chunks/{chunk-PWEIDHT7.js → chunk-XWMZ6D6N.js} +2 -2
- package/dist/cli/chunks/{chunk-ICKLBATY.js → chunk-Y3MW3YBC.js} +2 -2
- package/dist/cli/chunks/chunk-YNXS6CGV.js +2 -0
- package/dist/cli/chunks/{chunk-PVHO6KLB.js → chunk-Z3RHREWF.js} +1 -1
- package/dist/cli/chunks/{chunk-EAJK25IS.js → chunk-ZBAKA4YB.js} +1 -1
- package/dist/cli/chunks/chunk-ZBJ4XOOV.js +180 -0
- package/dist/cli/chunks/chunk-ZBQY5GLF.js +11 -0
- package/dist/cli/chunks/{chunk-R5RNOLHI.js → chunk-ZJ26AQA5.js} +1 -1
- package/dist/cli/chunks/{chunk-KPFG4OIM.js → chunk-ZNEMGX5O.js} +1 -1
- package/dist/cli/chunks/{chunk-2H5YJ5ZK.js → chunk-ZNPKDCZR.js} +2 -2
- package/dist/cli/chunks/{chunk-DW6ZMNMR.js → chunk-ZZDIMOOV.js} +2 -2
- package/dist/cli/chunks/ci-464KPQNP.js +81 -0
- package/dist/cli/chunks/ci-output-I7FX2RSO.js +2 -0
- package/dist/cli/chunks/{circuit-breaker-4WST3QSA.js → circuit-breaker-3FW237WW.js} +2 -2
- package/dist/cli/chunks/{claude-flow-setup-KB4TKMYI.js → claude-flow-setup-6JKMBPGU.js} +2 -2
- package/dist/cli/chunks/client-7E4LM2WW.js +2 -0
- package/dist/cli/chunks/{cline-installer-W2ZHQ6WM.js → cline-installer-UWFHT6VY.js} +2 -2
- package/dist/cli/chunks/{code-TF2AVR5D.js → code-KQSUT3FS.js} +29 -29
- package/dist/cli/chunks/{code-index-extractor-RMDRUVQJ.js → code-index-extractor-PABBNUSC.js} +2 -2
- package/dist/cli/chunks/{codex-installer-VSTRHJHV.js → codex-installer-CQ24DTP5.js} +2 -2
- package/dist/cli/chunks/{completions-3Q37QVFR.js → completions-7RWHAUAR.js} +2 -2
- package/dist/cli/chunks/complexity-analyzer-XPOAF33E.js +2 -0
- package/dist/cli/chunks/{continuedev-installer-VTEXM455.js → continuedev-installer-V4F2FIZP.js} +2 -2
- package/dist/cli/chunks/{copilot-installer-AGY7DQUS.js → copilot-installer-JMICURQB.js} +2 -2
- package/dist/cli/chunks/core-handlers-IFG3757P.js +2 -0
- package/dist/cli/chunks/cost-tracker-5OFHEYFJ.js +2 -0
- package/dist/cli/chunks/{coverage-TT64IOS4.js → coverage-QKN57JDS.js} +3 -3
- package/dist/cli/chunks/cross-domain-router-EK7W4PGP.js +2 -0
- package/dist/cli/chunks/{cursor-installer-OVOJIOHN.js → cursor-installer-GBJ7YXSM.js} +2 -2
- package/dist/cli/chunks/{daemon-DMFZMXKA.js → daemon-GKP7CMEK.js} +3 -3
- package/dist/cli/chunks/{daemon-XCULEHWY.js → daemon-IAVSO6HK.js} +4 -4
- package/dist/cli/chunks/{dag-attention-scheduler-WW2RX4B5.js → dag-attention-scheduler-S225TCI7.js} +2 -2
- package/dist/cli/chunks/{detect-QNWIM232.js → detect-IUYH422U.js} +2 -2
- package/dist/cli/chunks/{dist-node-6GQIY3CG.js → dist-node-2YRE6A7C.js} +2 -2
- package/dist/cli/chunks/{domain-handler-6RJPDELX.js → domain-handler-PL2TZC6H.js} +2 -2
- package/dist/cli/chunks/domain-plugins-HCGLXKIT.js +2 -0
- package/dist/cli/chunks/{domain-transfer-WK524LBS.js → domain-transfer-KQJRUPXA.js} +2 -2
- package/dist/cli/chunks/dream-NFSCSLY7.js +2 -0
- package/dist/cli/chunks/{embed-and-insert-pattern-SO6GWJW7.js → embed-and-insert-pattern-ZPAG7235.js} +2 -2
- package/dist/cli/chunks/eval-WCK7KNFN.js +17 -0
- package/dist/cli/chunks/{experience-capture-middleware-BCCJ35OX.js → experience-capture-middleware-2MSQWSAR.js} +3 -3
- package/dist/cli/chunks/{fast-paths-CATDDBEU.js → fast-paths-VYOSIBKF.js} +2 -2
- package/dist/cli/chunks/{feature-flags-BUXNAORY.js → feature-flags-UJRHFBRX.js} +2 -2
- package/dist/cli/chunks/{feature-flags-KNNWWP5G.js → feature-flags-WCFUKHNQ.js} +2 -2
- package/dist/cli/chunks/{file-discovery-S4HF3O7D.js → file-discovery-JDGL4ZWS.js} +2 -2
- package/dist/cli/chunks/fleet-ROXVMZ2F.js +43 -0
- package/dist/cli/chunks/{gnn-wrapper-G7ABZUG7.js → gnn-wrapper-NIO4ZCO3.js} +2 -2
- package/dist/cli/chunks/{heartbeat-handler-UFMELIWT.js → heartbeat-handler-PI42WD3C.js} +4 -4
- package/dist/cli/chunks/heartbeat-scheduler-ZATCDJDK.js +2 -0
- package/dist/cli/chunks/hnsw-adapter-WXQABRCA.js +2 -0
- package/dist/cli/chunks/hnsw-index-TPSWLEA5.js +2 -0
- package/dist/cli/chunks/{hnsw-legacy-bridge-YIILSRXI.js → hnsw-legacy-bridge-YLC7SPK2.js} +2 -2
- package/dist/cli/chunks/{hnswlib-node-TSVRMXDH.js → hnswlib-node-LG6OS3B7.js} +2 -2
- package/dist/cli/chunks/{hooks-OHQPNK74.js → hooks-WVALP5GX.js} +10 -10
- package/dist/cli/chunks/{hypergraph-engine-LY7PJDSL.js → hypergraph-engine-GJEMW3EG.js} +2 -2
- package/dist/cli/chunks/{hypergraph-handler-YGDYZO6H.js → hypergraph-handler-BLF6LXEV.js} +3 -3
- package/dist/cli/chunks/impact-analyzer-HNIU45P5.js +2 -0
- package/dist/cli/chunks/{init-handler-MTK65LI3.js → init-handler-K25RWRYY.js} +6 -6
- package/dist/cli/chunks/init-wizard-JUIPBMHG.js +2 -0
- package/dist/cli/chunks/kernel-5BOZQ754.js +2 -0
- package/dist/cli/chunks/{kilocode-installer-3IICU4RS.js → kilocode-installer-BXN6WZ7G.js} +2 -2
- package/dist/cli/chunks/{kiro-installer-MXOVQYQA.js → kiro-installer-PM362DLN.js} +12 -12
- package/dist/cli/chunks/knowledge-graph-EWDAENWM.js +2 -0
- package/dist/cli/chunks/learning-CPERDDRG.js +122 -0
- package/dist/cli/chunks/llm-router-GOAV5FPI.js +37 -0
- package/dist/cli/chunks/llm-router-service-3YT7JGBS.js +2 -0
- package/dist/cli/chunks/{load-F4PVAMXQ.js → load-2BG6SHAK.js} +2 -2
- package/dist/cli/chunks/load-test-BP2CPLIV.js +2 -0
- package/dist/cli/chunks/{mcp-DUYJUEME.js → mcp-5TTB37DC.js} +2 -2
- package/dist/cli/chunks/{memory-XTTYORAS.js → memory-4NHBYT6S.js} +5 -5
- package/dist/cli/chunks/memory-backend-4PYQBPRM.js +2 -0
- package/dist/cli/chunks/memory-handlers-2B27NITS.js +2 -0
- package/dist/cli/chunks/multi-model-executor-KCWSGCDT.js +14 -0
- package/dist/cli/chunks/{opencode-installer-33ULBU2F.js → opencode-installer-ATZLLK74.js} +2 -2
- package/dist/cli/chunks/{orchestrator-34ZJEKTJ.js → orchestrator-RKB7XJRG.js} +19 -19
- package/dist/cli/chunks/pattern-null-store-OYOQOV2O.js +2 -0
- package/dist/cli/chunks/{pattern-usage-recorder-GZ2M3F2E.js → pattern-usage-recorder-7VE4XDAI.js} +2 -2
- package/dist/cli/chunks/pipeline-LQZSNDD2.js +19 -0
- package/dist/cli/chunks/{platform-VKJFJIAW.js → platform-OD5H5U6G.js} +2 -2
- package/dist/cli/chunks/{plugin-5C5UBQUQ.js → plugin-EJ6K2MGU.js} +2 -2
- package/dist/cli/chunks/{prime-radiant-advanced-wasm-KO2PQI3D.js → prime-radiant-advanced-wasm-OIHTKJMN.js} +2 -2
- package/dist/cli/chunks/protocol-executor-3ATJTXWG.js +2 -0
- package/dist/cli/chunks/{protocol-handler-ZF74NIKA.js → protocol-handler-NRBROAU7.js} +2 -2
- package/dist/cli/chunks/{prove-MO5TQQU4.js → prove-EJOGEGD3.js} +2 -2
- package/dist/cli/chunks/qe-reasoning-bank-LLMYZT4X.js +2 -0
- package/dist/cli/chunks/{quality-EYIN6AER.js → quality-E55UC73D.js} +2 -2
- package/dist/cli/chunks/{quality-gate-V6OQM57O.js → quality-gate-OIQATNT3.js} +3 -3
- package/dist/cli/chunks/queen-coordinator-RN7L6KG5.js +2 -0
- package/dist/cli/chunks/{real-embeddings-AR7TZX7U.js → real-embeddings-FPFFNOSZ.js} +2 -2
- package/dist/cli/chunks/ref-validation-OPO6J7OL.js +2 -0
- package/dist/cli/chunks/{roocode-installer-46E626VZ.js → roocode-installer-ODY5KRWU.js} +2 -2
- package/dist/cli/chunks/router-MDHITQ2V.js +2 -0
- package/dist/cli/chunks/routing-feedback-5XLNJ3Y3.js +2 -0
- package/dist/cli/chunks/{routing-handler-ZNRVW6QW.js → routing-handler-KQM6VWLC.js} +4 -4
- package/dist/cli/chunks/{ruvector-commands-4L2CQMWS.js → ruvector-commands-U2GVV6PF.js} +2 -2
- package/dist/cli/chunks/rvf-dual-writer-JBW4O3II.js +2 -0
- package/dist/cli/chunks/rvf-migration-adapter-BPPQL4XJ.js +2 -0
- package/dist/cli/chunks/{rvf-migration-coordinator-H4RVGBIA.js → rvf-migration-coordinator-V2GHCJKN.js} +2 -2
- package/dist/cli/chunks/rvf-native-adapter-S4562CG5.js +2 -0
- package/dist/cli/chunks/rvf-store-integrity-KMIHD3LP.js +2 -0
- package/dist/cli/chunks/safe-db-FIRHSXVF.js +2 -0
- package/dist/cli/chunks/schedule-RVXFB4HK.js +2 -0
- package/dist/cli/chunks/scheduler-IKKAMAOO.js +2 -0
- package/dist/cli/chunks/security-P5NM353C.js +13 -0
- package/dist/cli/chunks/{shared-rvf-adapter-M6NNIZ5W.js → shared-rvf-adapter-LVIUOO4S.js} +2 -2
- package/dist/cli/chunks/{shared-rvf-dual-writer-LHMFCYVE.js → shared-rvf-dual-writer-2CSG7C4W.js} +2 -2
- package/dist/cli/chunks/sqlite-persistence-SQ3HCUQ7.js +2 -0
- package/dist/cli/chunks/{status-handler-GMIOXQIE.js → status-handler-6TU6O37R.js} +2 -2
- package/dist/cli/chunks/{structural-health-YZXHVHM6.js → structural-health-KBIJSTXJ.js} +2 -2
- package/dist/cli/chunks/{sync-GMPCPV5L.js → sync-LNHI5SB7.js} +2 -2
- package/dist/cli/chunks/{sync-N56UQGCS.js → sync-UHOX6RJW.js} +2 -2
- package/dist/cli/chunks/task-handler-AVDHMLGI.js +49 -0
- package/dist/cli/chunks/task-handlers-KYK4VTRA.js +9 -0
- package/dist/cli/chunks/{test-GQNCKRSP.js → test-DHAAI3DU.js} +11 -11
- package/dist/cli/chunks/test-scheduling-XDBZ3QC2.js +15 -0
- package/dist/cli/chunks/{token-bootstrap-76SRNXGG.js → token-bootstrap-GUTTLPZX.js} +2 -2
- package/dist/cli/chunks/{token-usage-O7CZDP5Q.js → token-usage-Q2YG5YQN.js} +2 -2
- package/dist/cli/chunks/{transformers-LTU4LSSC.js → transformers-F5UQTQCY.js} +2 -2
- package/dist/cli/chunks/{tree-sitter-wasm-parser-NQSQCMBM.js → tree-sitter-wasm-parser-DEGOHS6F.js} +2 -2
- package/dist/cli/chunks/types-JQ7EQO5Q.js +2 -0
- package/dist/cli/chunks/unified-memory-CXHLHB5I.js +2 -0
- package/dist/cli/chunks/unified-memory-hnsw-I7WAE54M.js +2 -0
- package/dist/cli/chunks/unified-persistence-6CPF65WI.js +2 -0
- package/dist/cli/chunks/{upgrade-OQWRBZ3R.js → upgrade-TJRVGHGD.js} +2 -2
- package/dist/cli/chunks/{validate-TH5SRP3E.js → validate-BWPCVHBN.js} +2 -2
- package/dist/cli/chunks/{validate-swarm-UITL2JUS.js → validate-swarm-QVVKCQLP.js} +2 -2
- package/dist/cli/chunks/{vibium-O6PRAG4J.js → vibium-ZFATIWHO.js} +2 -2
- package/dist/cli/chunks/visual-security-GNPHME5H.js +2 -0
- package/dist/cli/chunks/{web-tree-sitter-XBFBY4OF.js → web-tree-sitter-KPLY7ONR.js} +2 -2
- package/dist/cli/chunks/{windsurf-installer-DVT5NRNY.js → windsurf-installer-H7XM7ISA.js} +2 -2
- package/dist/cli/chunks/{witness-chain-VRSH2F36.js → witness-chain-RRN6NDCH.js} +2 -2
- package/dist/cli/chunks/witness-chain-VT4UHHBR.js +2 -0
- package/dist/cli/chunks/{witness-key-manager-GFHRDKQ4.js → witness-key-manager-DFRL42GE.js} +2 -2
- package/dist/cli/chunks/workflow-2ZQO6WYI.js +51 -0
- package/dist/cli/chunks/workflow-orchestrator-DB3HIECD.js +2 -0
- package/dist/cli/chunks/{wrappers-5LLLT7GM.js → wrappers-SUS6XEJD.js} +2 -2
- package/dist/cli/commands/ci.js +54 -28
- package/dist/cli/commands/code.js +6 -0
- package/dist/cli/commands/eval.js +3 -2
- package/dist/cli/commands/fleet.js +35 -16
- package/dist/cli/commands/learning-snapshot.d.ts +38 -0
- package/dist/cli/commands/learning-snapshot.js +171 -0
- package/dist/cli/commands/learning.js +16 -64
- package/dist/cli/commands/llm-router.js +13 -12
- package/dist/cli/commands/pipeline.js +9 -0
- package/dist/cli/commands/security.js +167 -100
- package/dist/cli/commands/test.js +1 -0
- package/dist/cli/commands/workflow.js +9 -1
- package/dist/cli/handlers/task-handler.js +19 -9
- package/dist/cli/helpers/domain-plugins.d.ts +5 -0
- package/dist/cli/helpers/domain-plugins.js +11 -0
- package/dist/cli/index.js +17 -8
- package/dist/cli/utils/ci-config.d.ts +3 -0
- package/dist/cli/utils/ci-output.d.ts +17 -0
- package/dist/cli/utils/ci-output.js +34 -2
- package/dist/context/sources/git-source.d.ts +2 -0
- package/dist/context/sources/git-source.js +9 -2
- package/dist/coordination/cancelled-task-settlement.d.ts +11 -0
- package/dist/coordination/cancelled-task-settlement.js +15 -0
- package/dist/coordination/consensus/providers/claude-provider.d.ts +2 -2
- package/dist/coordination/consensus/providers/claude-provider.js +18 -25
- package/dist/coordination/consensus/providers/gemini-provider.d.ts +14 -4
- package/dist/coordination/consensus/providers/gemini-provider.js +39 -36
- package/dist/coordination/consensus/providers/ollama-provider.d.ts +8 -7
- package/dist/coordination/consensus/providers/ollama-provider.js +16 -18
- package/dist/coordination/consensus/providers/openai-provider.d.ts +14 -4
- package/dist/coordination/consensus/providers/openai-provider.js +36 -34
- package/dist/coordination/consensus/providers/openrouter-provider.d.ts +5 -5
- package/dist/coordination/consensus/providers/openrouter-provider.js +64 -37
- package/dist/coordination/handlers/handler-types.d.ts +3 -0
- package/dist/coordination/handlers/quality-handlers.js +10 -0
- package/dist/coordination/handlers/security-handlers.js +168 -72
- package/dist/coordination/handlers/test-execution-handlers.js +39 -43
- package/dist/coordination/interfaces.d.ts +2 -2
- package/dist/coordination/protocol-executor.js +68 -9
- package/dist/coordination/protocols/security-audit.d.ts +3 -0
- package/dist/coordination/protocols/security-audit.js +61 -39
- package/dist/coordination/queen-coordinator.js +10 -4
- package/dist/coordination/queen-event-handlers.js +17 -0
- package/dist/coordination/queen-task-management.js +25 -0
- package/dist/coordination/queen-types.d.ts +2 -0
- package/dist/coordination/result-saver.js +36 -5
- package/dist/coordination/task-executor.d.ts +3 -1
- package/dist/coordination/task-executor.js +8 -8
- package/dist/coordination/workflow-composition.d.ts +19 -0
- package/dist/coordination/workflow-composition.js +114 -0
- package/dist/coordination/workflow-orchestrator.d.ts +3 -2
- package/dist/coordination/workflow-orchestrator.js +219 -85
- package/dist/coordination/workflow-types.d.ts +30 -1
- package/dist/coordination/yaml-pipeline-loader.js +9 -5
- package/dist/domains/chaos-resilience/services/chaos-engineer.js +2 -7
- package/dist/domains/code-intelligence/services/knowledge-graph.js +2 -7
- package/dist/domains/code-intelligence/services/metric-collector/test-counter.js +9 -40
- package/dist/domains/constants.d.ts +1 -6
- package/dist/domains/constants.js +2 -6
- package/dist/domains/contract-testing/services/contract-validator.js +2 -7
- package/dist/domains/coverage-analysis/services/coverage-analyzer.js +2 -12
- package/dist/domains/coverage-analysis/services/gap-detector.js +2 -7
- package/dist/domains/defect-intelligence/services/defect-predictor.js +2 -12
- package/dist/domains/defect-intelligence/services/root-cause-analyzer.js +2 -7
- package/dist/domains/learning-optimization/services/learning-coordinator.js +2 -7
- package/dist/domains/quality-assessment/services/deployment-advisor.js +2 -7
- package/dist/domains/quality-assessment/services/quality-analyzer.js +2 -7
- package/dist/domains/requirements-validation/services/requirements-validator.js +2 -7
- package/dist/domains/security-compliance/interfaces.d.ts +5 -0
- package/dist/domains/security-compliance/interfaces.js +0 -6
- package/dist/domains/security-compliance/scan-discovery.d.ts +12 -0
- package/dist/domains/security-compliance/scan-discovery.js +105 -0
- package/dist/domains/security-compliance/scan-evidence.d.ts +57 -0
- package/dist/domains/security-compliance/scan-evidence.js +2 -0
- package/dist/domains/security-compliance/services/scanners/sast-scanner.d.ts +3 -2
- package/dist/domains/security-compliance/services/scanners/sast-scanner.js +112 -72
- package/dist/domains/security-compliance/services/semgrep-integration.d.ts +9 -2
- package/dist/domains/security-compliance/services/semgrep-integration.js +68 -20
- package/dist/domains/test-execution/services/flaky-detector.js +46 -5
- package/dist/domains/test-execution/services/retry-handler.js +38 -20
- package/dist/domains/test-execution/services/test-executor.js +84 -29
- package/dist/domains/test-generation/services/test-generator.js +2 -7
- package/dist/domains/visual-accessibility/services/visual-tester.js +2 -7
- package/dist/init/init-wizard-hooks.js +2 -2
- package/dist/init/init-wizard-steps.js +1 -1
- package/dist/init/kiro-installer.js +9 -8
- package/dist/init/opencode-installer.js +1 -1
- package/dist/init/phases/07-hooks.js +4 -2
- package/dist/init/phases/12-verification.js +1 -1
- package/dist/init/settings-merge.d.ts +10 -3
- package/dist/init/settings-merge.js +40 -9
- package/dist/integrations/agentic-flow/model-router/types.js +6 -8
- package/dist/integrations/agentic-flow/reasoning-bank/index.js +3 -20
- package/dist/integrations/coherence/engines/cohomology-adapter.js +100 -30
- package/dist/integrations/ruvector/brain-exporter.js +9 -15
- package/dist/integrations/ruvector/brain-rvf-exporter.js +17 -30
- package/dist/integrations/ruvector/brain-shared.d.ts +5 -1
- package/dist/integrations/ruvector/brain-shared.js +70 -4
- package/dist/integrations/ruvector/rvf-dual-writer.js +36 -15
- package/dist/integrations/ruvector/rvf-store-integrity.d.ts +14 -9
- package/dist/integrations/ruvector/rvf-store-integrity.js +39 -9
- package/dist/integrations/ruvector/shared-rvf-adapter.js +20 -23
- package/dist/kernel/memory-factory.js +14 -4
- package/dist/kernel/project-root.js +10 -8
- package/dist/kernel/unified-memory.js +1 -1
- package/dist/learning/local-judge-client.d.ts +6 -5
- package/dist/learning/local-judge-client.js +7 -6
- package/dist/learning/pattern-store.js +29 -11
- package/dist/mcp/bundle.js +548 -527
- package/dist/mcp/handlers/domain-handler-configs.d.ts +22 -1
- package/dist/mcp/handlers/domain-handler-configs.js +50 -19
- package/dist/mcp/handlers/domain-handlers.d.ts +7 -5
- package/dist/mcp/handlers/domain-handlers.js +7 -5
- package/dist/mcp/handlers/index.d.ts +1 -1
- package/dist/mcp/handlers/index.js +1 -1
- package/dist/mcp/handlers/pipeline-handlers.d.ts +31 -1
- package/dist/mcp/handlers/pipeline-handlers.js +63 -0
- package/dist/mcp/handlers/task-handlers.d.ts +1 -0
- package/dist/mcp/handlers/task-handlers.js +12 -4
- package/dist/mcp/protocol-server.d.ts +2 -0
- package/dist/mcp/protocol-server.js +112 -53
- package/dist/mcp/security/sampling-server.js +2 -1
- package/dist/mcp/tool-annotations.js +1 -1
- package/dist/mcp/tools/test-execution/schedule.js +7 -0
- package/dist/mcp/types.d.ts +10 -1
- package/dist/optimization/session-cache.d.ts +5 -0
- package/dist/optimization/session-cache.js +23 -0
- package/dist/routing/advisor/multi-model-executor.d.ts +4 -1
- package/dist/routing/advisor/multi-model-executor.js +8 -1
- package/dist/routing/free-tier/ladder.d.ts +2 -1
- package/dist/routing/free-tier/ladder.js +3 -2
- package/dist/routing/security/cyber-pin.d.ts +35 -11
- package/dist/routing/security/cyber-pin.js +76 -14
- package/dist/routing/value-score.js +1 -1
- package/dist/shared/git/index.d.ts +1 -0
- package/dist/shared/git/index.js +1 -0
- package/dist/shared/git/ref-validation.d.ts +20 -0
- package/dist/shared/git/ref-validation.js +43 -0
- package/dist/shared/llm/anthropic-params.d.ts +40 -0
- package/dist/shared/llm/anthropic-params.js +51 -0
- package/dist/shared/llm/cost-tracker.d.ts +15 -2
- package/dist/shared/llm/cost-tracker.js +62 -10
- package/dist/shared/llm/index.d.ts +2 -2
- package/dist/shared/llm/index.js +2 -2
- package/dist/shared/llm/interfaces.d.ts +1 -1
- package/dist/shared/llm/metrics/cost-metrics.js +5 -4
- package/dist/shared/llm/model-mapping.js +131 -0
- package/dist/shared/llm/model-registry.d.ts +37 -11
- package/dist/shared/llm/model-registry.js +393 -18
- package/dist/shared/llm/openai-params.d.ts +35 -0
- package/dist/shared/llm/openai-params.js +54 -0
- package/dist/shared/llm/provider-manager.js +4 -3
- package/dist/shared/llm/providers/azure-openai.d.ts +11 -0
- package/dist/shared/llm/providers/azure-openai.js +26 -15
- package/dist/shared/llm/providers/bedrock.js +11 -19
- package/dist/shared/llm/providers/claude.js +6 -29
- package/dist/shared/llm/providers/codex.js +4 -3
- package/dist/shared/llm/providers/gemini.d.ts +3 -2
- package/dist/shared/llm/providers/gemini.js +19 -10
- package/dist/shared/llm/providers/ollama.d.ts +2 -0
- package/dist/shared/llm/providers/ollama.js +30 -20
- package/dist/shared/llm/providers/openai.js +10 -17
- package/dist/shared/llm/providers/openrouter.d.ts +1 -1
- package/dist/shared/llm/providers/openrouter.js +57 -21
- package/dist/shared/llm/router/agent-router-config.js +33 -32
- package/dist/shared/llm/router/hybrid-router.d.ts +4 -0
- package/dist/shared/llm/router/hybrid-router.js +95 -35
- package/dist/shared/llm/router/routing-rules.js +9 -8
- package/dist/shared/llm/router/types.d.ts +9 -2
- package/dist/shared/llm/router/types.js +81 -13
- package/dist/shared/llm/translation/message-formatter.js +4 -23
- package/dist/shared/test-runner-verdict.d.ts +29 -0
- package/dist/shared/test-runner-verdict.js +43 -0
- package/dist/shared/vitest-json-report.d.ts +45 -0
- package/dist/shared/vitest-json-report.js +80 -0
- package/dist/test-scheduling/executors/vitest-executor.d.ts +7 -2
- package/dist/test-scheduling/executors/vitest-executor.js +174 -52
- package/dist/test-scheduling/git-aware/test-selector.js +3 -0
- package/dist/test-scheduling/phase-scheduler.d.ts +1 -0
- package/dist/test-scheduling/phase-scheduler.js +23 -1
- package/dist/validation/frontier-judge.d.ts +7 -4
- package/dist/validation/frontier-judge.js +11 -6
- package/package.json +6 -6
- package/dist/cli/chunks/adapter-OJF6LAJV.js +0 -2
- package/dist/cli/chunks/aqe-learning-engine-FGT474XB.js +0 -2
- package/dist/cli/chunks/base-HH765JFV.js +0 -2
- package/dist/cli/chunks/brain-handler-5FSA46R5.js +0 -90
- package/dist/cli/chunks/browser-workflow-NPM4FUPI.js +0 -2
- package/dist/cli/chunks/chunk-2LKAMMMI.js +0 -2
- package/dist/cli/chunks/chunk-4AKGBUYD.js +0 -4
- package/dist/cli/chunks/chunk-4MH22236.js +0 -2
- package/dist/cli/chunks/chunk-4PH7O5ZH.js +0 -2
- package/dist/cli/chunks/chunk-4UCMTYFQ.js +0 -65
- package/dist/cli/chunks/chunk-DRO5NJZA.js +0 -11
- package/dist/cli/chunks/chunk-FPHPP5TQ.js +0 -2
- package/dist/cli/chunks/chunk-FREF6Y4L.js +0 -14
- package/dist/cli/chunks/chunk-G6AV2HGY.js +0 -54
- package/dist/cli/chunks/chunk-GJAWEUIN.js +0 -16
- package/dist/cli/chunks/chunk-IUNMW454.js +0 -2
- package/dist/cli/chunks/chunk-JDXLCNKV.js +0 -2
- package/dist/cli/chunks/chunk-OC2CKU7I.js +0 -2
- package/dist/cli/chunks/chunk-OX6T26CD.js +0 -180
- package/dist/cli/chunks/chunk-PHHXHG2W.js +0 -2
- package/dist/cli/chunks/chunk-SEHCX4NH.js +0 -2
- package/dist/cli/chunks/chunk-TENYL5TI.js +0 -14
- package/dist/cli/chunks/chunk-U2AY57XZ.js +0 -5
- package/dist/cli/chunks/chunk-UYTWDS2R.js +0 -2
- package/dist/cli/chunks/chunk-VSYBMNIR.js +0 -2
- package/dist/cli/chunks/chunk-WBMRADQP.js +0 -81
- package/dist/cli/chunks/chunk-ZWRQ5VAU.js +0 -2
- package/dist/cli/chunks/chunk-ZYLSOBOR.js +0 -2
- package/dist/cli/chunks/ci-NTRH7PAW.js +0 -81
- package/dist/cli/chunks/ci-output-F57RSD35.js +0 -2
- package/dist/cli/chunks/client-GPZEC54E.js +0 -2
- package/dist/cli/chunks/complexity-analyzer-3FNFLACD.js +0 -2
- package/dist/cli/chunks/core-handlers-YMGHYIBR.js +0 -2
- package/dist/cli/chunks/cost-tracker-LTZAQBX7.js +0 -2
- package/dist/cli/chunks/cross-domain-router-ECBNTGYJ.js +0 -2
- package/dist/cli/chunks/dream-EHGKCFWH.js +0 -2
- package/dist/cli/chunks/eval-GL544IPO.js +0 -17
- package/dist/cli/chunks/fleet-DQVQQONW.js +0 -43
- package/dist/cli/chunks/heartbeat-scheduler-UFEL2CBW.js +0 -2
- package/dist/cli/chunks/hnsw-adapter-BLSD45CX.js +0 -2
- package/dist/cli/chunks/hnsw-index-A3RZODEN.js +0 -2
- package/dist/cli/chunks/impact-analyzer-OXHD3FOH.js +0 -2
- package/dist/cli/chunks/init-wizard-PKZL7QBU.js +0 -2
- package/dist/cli/chunks/kernel-XWPM72UJ.js +0 -2
- package/dist/cli/chunks/knowledge-graph-FRKR5XWI.js +0 -2
- package/dist/cli/chunks/learning-EV5LSOOM.js +0 -122
- package/dist/cli/chunks/llm-router-7LYDJUOT.js +0 -37
- package/dist/cli/chunks/llm-router-service-R7A5HHDM.js +0 -2
- package/dist/cli/chunks/load-test-5IKDWSYL.js +0 -2
- package/dist/cli/chunks/memory-backend-7VW5QCMO.js +0 -2
- package/dist/cli/chunks/memory-handlers-VZH3R2TQ.js +0 -2
- package/dist/cli/chunks/multi-model-executor-R6XCTMCF.js +0 -14
- package/dist/cli/chunks/pattern-null-store-BU6LCB2W.js +0 -2
- package/dist/cli/chunks/pipeline-SR5OTY45.js +0 -19
- package/dist/cli/chunks/protocol-executor-BSP5LWJN.js +0 -2
- package/dist/cli/chunks/qe-reasoning-bank-J2RC7P25.js +0 -2
- package/dist/cli/chunks/queen-coordinator-XI5AJV2V.js +0 -2
- package/dist/cli/chunks/router-VXQYYA3D.js +0 -2
- package/dist/cli/chunks/routing-feedback-HZQTASFF.js +0 -2
- package/dist/cli/chunks/rvf-dual-writer-BDTLLJER.js +0 -2
- package/dist/cli/chunks/rvf-migration-adapter-IB343MDN.js +0 -2
- package/dist/cli/chunks/rvf-native-adapter-Y7SN7LHU.js +0 -2
- package/dist/cli/chunks/rvf-store-integrity-OJGWWPLL.js +0 -2
- package/dist/cli/chunks/safe-db-2VTKKBJU.js +0 -2
- package/dist/cli/chunks/schedule-QJ4CFGJY.js +0 -2
- package/dist/cli/chunks/scheduler-2NHDQPC3.js +0 -2
- package/dist/cli/chunks/security-JF3BVNRO.js +0 -14
- package/dist/cli/chunks/sqlite-persistence-NVVAPZN3.js +0 -2
- package/dist/cli/chunks/task-handler-VTNRGAXP.js +0 -49
- package/dist/cli/chunks/task-handlers-FYSDH55N.js +0 -9
- package/dist/cli/chunks/test-scheduling-GPRXSIRP.js +0 -15
- package/dist/cli/chunks/types-OP6IWE6N.js +0 -2
- package/dist/cli/chunks/unified-memory-DSTIEDSH.js +0 -2
- package/dist/cli/chunks/unified-memory-hnsw-KBV3P4OS.js +0 -2
- package/dist/cli/chunks/unified-persistence-XKCOUBKY.js +0 -2
- package/dist/cli/chunks/visual-security-TTWSPZTZ.js +0 -2
- package/dist/cli/chunks/witness-chain-2KY73HPN.js +0 -2
- package/dist/cli/chunks/workflow-HAZ6YKOG.js +0 -51
- package/dist/cli/chunks/workflow-orchestrator-UK56AVOT.js +0 -2
|
@@ -1,17 +1,24 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Git Source - Recent commit context for target files
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
4
|
+
import { execFileSync } from 'node:child_process';
|
|
5
5
|
export class GitContextSource {
|
|
6
|
+
cwd;
|
|
6
7
|
id = 'git';
|
|
7
8
|
name = 'Git History';
|
|
8
9
|
priority = 60;
|
|
9
10
|
maxTokens = 1500;
|
|
11
|
+
constructor(cwd) {
|
|
12
|
+
this.cwd = cwd;
|
|
13
|
+
}
|
|
10
14
|
async gather(request) {
|
|
11
15
|
const fragments = [];
|
|
12
16
|
for (const file of request.targetFiles.slice(0, 5)) { // Cap at 5 files
|
|
13
17
|
try {
|
|
14
|
-
|
|
18
|
+
// filePaths can originate from MCP tool arguments. Pass each path as
|
|
19
|
+
// one argv element; interpolating it into a shell command would allow
|
|
20
|
+
// command execution via quotes or shell metacharacters.
|
|
21
|
+
const log = execFileSync('git', ['log', '--oneline', '-5', '--', file], { cwd: this.cwd ?? process.cwd(), encoding: 'utf-8', timeout: 5000, stdio: ['ignore', 'pipe', 'ignore'] }).trim();
|
|
15
22
|
if (log) {
|
|
16
23
|
const content = `Recent commits for ${file}:\n${log}`;
|
|
17
24
|
fragments.push({
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { TaskExecution } from './queen-types.js';
|
|
2
|
+
/**
|
|
3
|
+
* A late domain result closes the callback boundary after cancellation, but
|
|
4
|
+
* must not replace the terminal decision or count as a normal task outcome.
|
|
5
|
+
* A settled callback does not prove that arbitrary external effects stopped.
|
|
6
|
+
*/
|
|
7
|
+
export declare function settleCancelledTask(tasks: Map<string, TaskExecution>, taskId: string): {
|
|
8
|
+
ignored: boolean;
|
|
9
|
+
settledNow: boolean;
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=cancelled-task-settlement.d.ts.map
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A late domain result closes the callback boundary after cancellation, but
|
|
3
|
+
* must not replace the terminal decision or count as a normal task outcome.
|
|
4
|
+
* A settled callback does not prove that arbitrary external effects stopped.
|
|
5
|
+
*/
|
|
6
|
+
export function settleCancelledTask(tasks, taskId) {
|
|
7
|
+
const execution = tasks.get(taskId);
|
|
8
|
+
if (execution?.status !== 'cancelled')
|
|
9
|
+
return { ignored: false, settledNow: false };
|
|
10
|
+
if (!execution.cancellationResultPending)
|
|
11
|
+
return { ignored: true, settledNow: false };
|
|
12
|
+
tasks.set(taskId, { ...execution, cancellationResultPending: false });
|
|
13
|
+
return { ignored: true, settledNow: true };
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=cancelled-task-settlement.js.map
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* MM-003: Claude implementation for multi-model consensus verification
|
|
4
4
|
*
|
|
5
5
|
* Provides security finding verification using Claude models from Anthropic.
|
|
6
|
-
* Supports Claude
|
|
6
|
+
* Supports current Claude models (Sonnet 5, Opus 5.5, Haiku 4.5) 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,7 @@ import { BaseModelProvider } from '../model-provider';
|
|
|
12
12
|
/**
|
|
13
13
|
* Claude-specific API model versions (distinct from routing ClaudeModel)
|
|
14
14
|
*/
|
|
15
|
-
export type ClaudeAPIModel = 'claude-sonnet-
|
|
15
|
+
export type ClaudeAPIModel = 'claude-sonnet-5' | 'claude-opus-5' | 'claude-opus-5-5' | 'claude-haiku-4-5' | 'claude-sonnet-4-6' | 'claude-opus-4-7';
|
|
16
16
|
/**
|
|
17
17
|
* Configuration for Claude provider
|
|
18
18
|
*/
|
|
@@ -3,13 +3,15 @@
|
|
|
3
3
|
* MM-003: Claude implementation for multi-model consensus verification
|
|
4
4
|
*
|
|
5
5
|
* Provides security finding verification using Claude models from Anthropic.
|
|
6
|
-
* Supports Claude
|
|
6
|
+
* Supports current Claude models (Sonnet 5, Opus 5.5, Haiku 4.5) 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 { toErrorMessage, toError } from '../../../shared/error-utils.js';
|
|
11
11
|
import { BaseModelProvider, } from '../model-provider.js';
|
|
12
12
|
import { PromptCacheLatch } from '../../../shared/prompt-cache-latch.js';
|
|
13
|
+
import { getAnthropicParamPolicy } from '../../../shared/llm/anthropic-params.js';
|
|
14
|
+
import { DEFAULT_SONNET_MODEL, getModelCost } from '../../../shared/llm/model-registry.js';
|
|
13
15
|
// ============================================================================
|
|
14
16
|
// Claude Model Provider Implementation
|
|
15
17
|
// ============================================================================
|
|
@@ -34,21 +36,18 @@ export class ClaudeModelProvider extends BaseModelProvider {
|
|
|
34
36
|
id = 'claude';
|
|
35
37
|
name = 'Claude (Anthropic)';
|
|
36
38
|
type = 'claude';
|
|
37
|
-
//
|
|
38
|
-
// Claude 3.5 Sonnet: $3 input, $15 output per 1M tokens
|
|
39
|
-
// Claude 3 Opus: $15 input, $75 output per 1M tokens
|
|
39
|
+
// Per-token cost; set from the model registry in updateCostForModel().
|
|
40
40
|
costPerToken = {
|
|
41
41
|
input: 3 / 1_000_000, // Will be overridden per model
|
|
42
42
|
output: 15 / 1_000_000,
|
|
43
43
|
};
|
|
44
44
|
supportedModels = [
|
|
45
|
+
'claude-sonnet-5',
|
|
46
|
+
'claude-opus-5',
|
|
47
|
+
'claude-opus-5-5',
|
|
48
|
+
'claude-haiku-4-5',
|
|
45
49
|
'claude-sonnet-4-6',
|
|
46
50
|
'claude-opus-4-7',
|
|
47
|
-
'claude-haiku-4-5',
|
|
48
|
-
'claude-3-5-sonnet-20241022',
|
|
49
|
-
'claude-3-5-sonnet-latest',
|
|
50
|
-
'claude-3-opus-20240229',
|
|
51
|
-
'claude-3-opus-latest',
|
|
52
51
|
];
|
|
53
52
|
config;
|
|
54
53
|
apiKey;
|
|
@@ -72,7 +71,7 @@ export class ClaudeModelProvider extends BaseModelProvider {
|
|
|
72
71
|
this.baseUrl = config.baseUrl || process.env.ANTHROPIC_BASE_URL || 'https://api.anthropic.com';
|
|
73
72
|
this.config = {
|
|
74
73
|
apiKey,
|
|
75
|
-
defaultModel: config.defaultModel ||
|
|
74
|
+
defaultModel: config.defaultModel || DEFAULT_SONNET_MODEL,
|
|
76
75
|
baseUrl: this.baseUrl,
|
|
77
76
|
defaultTimeout: config.defaultTimeout || 30000,
|
|
78
77
|
maxRetries: config.maxRetries ?? 3,
|
|
@@ -118,7 +117,8 @@ export class ClaudeModelProvider extends BaseModelProvider {
|
|
|
118
117
|
const request = {
|
|
119
118
|
model,
|
|
120
119
|
max_tokens: maxTokens,
|
|
121
|
-
|
|
120
|
+
// Omitted for models that reject sampling params (Opus 4.7+, Sonnet 5).
|
|
121
|
+
temperature: getAnthropicParamPolicy(model).sendSampling ? temperature : undefined,
|
|
122
122
|
system: systemPrompt,
|
|
123
123
|
messages: [
|
|
124
124
|
{
|
|
@@ -253,20 +253,13 @@ Focus on accuracy over speed. It's better to mark something as "INCONCLUSIVE" if
|
|
|
253
253
|
* Update cost based on model selection
|
|
254
254
|
*/
|
|
255
255
|
updateCostForModel(model) {
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
}
|
|
263
|
-
else {
|
|
264
|
-
// Claude 3.5 Sonnet: $3 input, $15 output per 1M tokens
|
|
265
|
-
this.costPerToken = {
|
|
266
|
-
input: 3 / 1_000_000,
|
|
267
|
-
output: 15 / 1_000_000,
|
|
268
|
-
};
|
|
269
|
-
}
|
|
256
|
+
// Registry pricing; unknown models fall back to Sonnet-class pricing.
|
|
257
|
+
const cost = getModelCost(model);
|
|
258
|
+
const known = cost.inputCostPerMillion > 0 || cost.outputCostPerMillion > 0;
|
|
259
|
+
this.costPerToken = {
|
|
260
|
+
input: (known ? cost.inputCostPerMillion : 3) / 1_000_000,
|
|
261
|
+
output: (known ? cost.outputCostPerMillion : 15) / 1_000_000,
|
|
262
|
+
};
|
|
270
263
|
}
|
|
271
264
|
/**
|
|
272
265
|
* Sleep for specified milliseconds
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* MM-005: Google Gemini implementation for multi-model consensus verification
|
|
4
4
|
*
|
|
5
5
|
* Provides security finding verification using Google's Gemini models.
|
|
6
|
-
* Supports Gemini
|
|
6
|
+
* Supports Gemini 2.5 and 3.x models 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
|
* Gemini-specific model versions
|
|
14
14
|
*/
|
|
15
|
-
export type GeminiModel = 'gemini-
|
|
15
|
+
export type GeminiModel = 'gemini-2.5-pro' | 'gemini-2.5-flash' | 'gemini-3.8-flash' | 'gemini-3.5-flash' | 'gemini-3.5-flash-lite' | 'gemini-3.1-pro-preview'
|
|
16
|
+
/** @deprecated Retired by Google — kept for config compatibility only. */
|
|
17
|
+
| 'gemini-1.5-pro-latest'
|
|
18
|
+
/** @deprecated Retired by Google — kept for config compatibility only. */
|
|
19
|
+
| 'gemini-1.5-pro'
|
|
20
|
+
/** @deprecated Retired by Google — kept for config compatibility only. */
|
|
21
|
+
| 'gemini-1.5-flash-latest'
|
|
22
|
+
/** @deprecated Retired by Google — kept for config compatibility only. */
|
|
23
|
+
| 'gemini-1.5-flash'
|
|
24
|
+
/** @deprecated Retired by Google — kept for config compatibility only. */
|
|
25
|
+
| 'gemini-pro';
|
|
16
26
|
/**
|
|
17
27
|
* Configuration for Gemini provider
|
|
18
28
|
*/
|
|
@@ -43,7 +53,7 @@ export interface GeminiProviderConfig {
|
|
|
43
53
|
* ```typescript
|
|
44
54
|
* const provider = new GeminiModelProvider({
|
|
45
55
|
* apiKey: process.env.GOOGLE_API_KEY,
|
|
46
|
-
* defaultModel: 'gemini-
|
|
56
|
+
* defaultModel: 'gemini-2.5-pro',
|
|
47
57
|
* });
|
|
48
58
|
*
|
|
49
59
|
* const response = await provider.complete(prompt);
|
|
@@ -118,7 +128,7 @@ export declare class GeminiModelProvider extends BaseModelProvider {
|
|
|
118
128
|
* ```typescript
|
|
119
129
|
* const provider = createGeminiProvider({
|
|
120
130
|
* apiKey: process.env.GOOGLE_API_KEY,
|
|
121
|
-
* defaultModel: 'gemini-
|
|
131
|
+
* defaultModel: 'gemini-2.5-pro',
|
|
122
132
|
* });
|
|
123
133
|
* ```
|
|
124
134
|
*/
|
|
@@ -3,12 +3,32 @@
|
|
|
3
3
|
* MM-005: Google Gemini implementation for multi-model consensus verification
|
|
4
4
|
*
|
|
5
5
|
* Provides security finding verification using Google's Gemini models.
|
|
6
|
-
* Supports Gemini
|
|
6
|
+
* Supports Gemini 2.5 and 3.x models 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 { toErrorMessage, toError } from '../../../shared/error-utils.js';
|
|
11
11
|
import { BaseModelProvider, } from '../model-provider.js';
|
|
12
|
+
/**
|
|
13
|
+
* Cost per million tokens (USD). 2.5 rows match the shared Gemini provider;
|
|
14
|
+
* 3.x rows come from the OpenRouter catalog (2026-09-27) and, apart from
|
|
15
|
+
* gemini-3.5-flash, are not yet verified against the Gemini ListModels API.
|
|
16
|
+
* Retired 1.x rows are kept so configs pinned to them still price correctly.
|
|
17
|
+
*/
|
|
18
|
+
const GEMINI_MODEL_COSTS = {
|
|
19
|
+
'gemini-2.5-pro': { input: 1.25, output: 10 },
|
|
20
|
+
'gemini-2.5-flash': { input: 0.3, output: 2.5 },
|
|
21
|
+
'gemini-3.8-flash': { input: 0.75, output: 3.75 },
|
|
22
|
+
'gemini-3.5-flash': { input: 1.5, output: 9 },
|
|
23
|
+
'gemini-3.5-flash-lite': { input: 0.3, output: 2.5 },
|
|
24
|
+
'gemini-3.1-pro-preview': { input: 2, output: 12 },
|
|
25
|
+
// Deprecated (retired)
|
|
26
|
+
'gemini-1.5-pro-latest': { input: 3.5, output: 10.5 },
|
|
27
|
+
'gemini-1.5-pro': { input: 3.5, output: 10.5 },
|
|
28
|
+
'gemini-1.5-flash-latest': { input: 0.35, output: 1.05 },
|
|
29
|
+
'gemini-1.5-flash': { input: 0.35, output: 1.05 },
|
|
30
|
+
'gemini-pro': { input: 0.5, output: 1.5 },
|
|
31
|
+
};
|
|
12
32
|
// ============================================================================
|
|
13
33
|
// Gemini Model Provider Implementation
|
|
14
34
|
// ============================================================================
|
|
@@ -23,7 +43,7 @@ import { BaseModelProvider, } from '../model-provider.js';
|
|
|
23
43
|
* ```typescript
|
|
24
44
|
* const provider = new GeminiModelProvider({
|
|
25
45
|
* apiKey: process.env.GOOGLE_API_KEY,
|
|
26
|
-
* defaultModel: 'gemini-
|
|
46
|
+
* defaultModel: 'gemini-2.5-pro',
|
|
27
47
|
* });
|
|
28
48
|
*
|
|
29
49
|
* const response = await provider.complete(prompt);
|
|
@@ -33,20 +53,18 @@ export class GeminiModelProvider extends BaseModelProvider {
|
|
|
33
53
|
id = 'gemini';
|
|
34
54
|
name = 'Google Gemini';
|
|
35
55
|
type = 'gemini';
|
|
36
|
-
//
|
|
37
|
-
// Gemini Pro: $0.50 input, $1.50 output per 1M tokens (up to 128k context)
|
|
38
|
-
// Gemini 1.5 Pro: $3.50 input, $10.50 output per 1M tokens
|
|
39
|
-
// Gemini 1.5 Flash: $0.35 input, $1.05 output per 1M tokens
|
|
56
|
+
// Overridden per model from GEMINI_MODEL_COSTS in the constructor
|
|
40
57
|
costPerToken = {
|
|
41
|
-
input:
|
|
42
|
-
output: 10
|
|
58
|
+
input: 1.25 / 1_000_000,
|
|
59
|
+
output: 10 / 1_000_000,
|
|
43
60
|
};
|
|
44
61
|
supportedModels = [
|
|
45
|
-
'gemini-
|
|
46
|
-
'gemini-
|
|
47
|
-
'gemini-
|
|
48
|
-
'gemini-
|
|
49
|
-
'gemini-
|
|
62
|
+
'gemini-2.5-pro',
|
|
63
|
+
'gemini-2.5-flash',
|
|
64
|
+
'gemini-3.8-flash',
|
|
65
|
+
'gemini-3.5-flash',
|
|
66
|
+
'gemini-3.5-flash-lite',
|
|
67
|
+
'gemini-3.1-pro-preview',
|
|
50
68
|
];
|
|
51
69
|
config;
|
|
52
70
|
apiKey;
|
|
@@ -68,7 +86,7 @@ export class GeminiModelProvider extends BaseModelProvider {
|
|
|
68
86
|
this.baseUrl = config.baseUrl || 'https://generativelanguage.googleapis.com';
|
|
69
87
|
this.config = {
|
|
70
88
|
apiKey,
|
|
71
|
-
defaultModel: config.defaultModel || 'gemini-
|
|
89
|
+
defaultModel: config.defaultModel || 'gemini-2.5-pro',
|
|
72
90
|
baseUrl: this.baseUrl,
|
|
73
91
|
defaultTimeout: config.defaultTimeout || 30000,
|
|
74
92
|
maxRetries: config.maxRetries ?? 3,
|
|
@@ -273,27 +291,12 @@ Focus on accuracy over speed. It's better to mark something as "INCONCLUSIVE" if
|
|
|
273
291
|
* Update cost based on model selection
|
|
274
292
|
*/
|
|
275
293
|
updateCostForModel(model) {
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
}
|
|
283
|
-
else if (model.includes('1.5')) {
|
|
284
|
-
// Gemini 1.5 Pro: $3.50 input, $10.50 output per 1M tokens
|
|
285
|
-
this.costPerToken = {
|
|
286
|
-
input: 3.5 / 1_000_000,
|
|
287
|
-
output: 10.5 / 1_000_000,
|
|
288
|
-
};
|
|
289
|
-
}
|
|
290
|
-
else {
|
|
291
|
-
// Gemini Pro: $0.50 input, $1.50 output per 1M tokens
|
|
292
|
-
this.costPerToken = {
|
|
293
|
-
input: 0.5 / 1_000_000,
|
|
294
|
-
output: 1.5 / 1_000_000,
|
|
295
|
-
};
|
|
296
|
-
}
|
|
294
|
+
// Unknown models are priced as the default tier (gemini-2.5-pro)
|
|
295
|
+
const pricing = GEMINI_MODEL_COSTS[model] ?? GEMINI_MODEL_COSTS['gemini-2.5-pro'];
|
|
296
|
+
this.costPerToken = {
|
|
297
|
+
input: pricing.input / 1_000_000,
|
|
298
|
+
output: pricing.output / 1_000_000,
|
|
299
|
+
};
|
|
297
300
|
}
|
|
298
301
|
/**
|
|
299
302
|
* Sleep for specified milliseconds
|
|
@@ -321,7 +324,7 @@ Focus on accuracy over speed. It's better to mark something as "INCONCLUSIVE" if
|
|
|
321
324
|
* ```typescript
|
|
322
325
|
* const provider = createGeminiProvider({
|
|
323
326
|
* apiKey: process.env.GOOGLE_API_KEY,
|
|
324
|
-
* defaultModel: 'gemini-
|
|
327
|
+
* defaultModel: 'gemini-2.5-pro',
|
|
325
328
|
* });
|
|
326
329
|
* ```
|
|
327
330
|
*/
|
|
@@ -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 (
|
|
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
|
|
@@ -12,9 +12,10 @@ import { ModelCompletionOptions, ModelHealthResult } from '../interfaces';
|
|
|
12
12
|
import { BaseModelProvider } from '../model-provider';
|
|
13
13
|
/**
|
|
14
14
|
* Popular models available through Ollama
|
|
15
|
-
* These are models that can be pulled and run locally
|
|
15
|
+
* These are models that can be pulled and run locally. Tag availability
|
|
16
|
+
* varies by Ollama library version — `ollama pull` to confirm.
|
|
16
17
|
*/
|
|
17
|
-
export type OllamaModel = '
|
|
18
|
+
export type OllamaModel = 'qwen3-coder:30b' | 'qwen3:30b-a3b' | 'gpt-oss:20b' | 'gpt-oss:120b' | 'llama4:scout' | 'gemma4' | string;
|
|
18
19
|
/**
|
|
19
20
|
* Configuration for Ollama provider
|
|
20
21
|
*/
|
|
@@ -67,7 +68,7 @@ export declare function getCodeOllamaModels(): OllamaModel[];
|
|
|
67
68
|
* ```typescript
|
|
68
69
|
* const provider = new OllamaModelProvider({
|
|
69
70
|
* baseUrl: 'http://localhost:11434',
|
|
70
|
-
* defaultModel: '
|
|
71
|
+
* defaultModel: 'qwen3-coder:30b',
|
|
71
72
|
* });
|
|
72
73
|
*
|
|
73
74
|
* const result = await provider.complete('Analyze this code for vulnerabilities...');
|
|
@@ -133,18 +134,18 @@ export declare class OllamaModelProvider extends BaseModelProvider {
|
|
|
133
134
|
*
|
|
134
135
|
* @example
|
|
135
136
|
* ```typescript
|
|
136
|
-
* // Default (localhost:11434,
|
|
137
|
+
* // Default (localhost:11434, qwen3-coder:30b)
|
|
137
138
|
* const provider = createOllamaProvider();
|
|
138
139
|
*
|
|
139
140
|
* // Custom model
|
|
140
141
|
* const provider = createOllamaProvider({
|
|
141
|
-
* defaultModel: '
|
|
142
|
+
* defaultModel: 'gpt-oss:20b',
|
|
142
143
|
* });
|
|
143
144
|
*
|
|
144
145
|
* // Remote Ollama server
|
|
145
146
|
* const provider = createOllamaProvider({
|
|
146
147
|
* baseUrl: 'http://gpu-server:11434',
|
|
147
|
-
* defaultModel: '
|
|
148
|
+
* defaultModel: 'gpt-oss:120b',
|
|
148
149
|
* });
|
|
149
150
|
* ```
|
|
150
151
|
*/
|
|
@@ -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 (
|
|
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
|
-
'
|
|
24
|
-
'
|
|
25
|
-
'
|
|
26
|
-
'
|
|
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
|
-
'
|
|
35
|
-
'
|
|
36
|
-
'
|
|
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
|
-
'
|
|
46
|
-
'
|
|
47
|
-
'
|
|
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: '
|
|
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: '
|
|
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,
|
|
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: '
|
|
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: '
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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
|
-
//
|
|
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:
|
|
42
|
-
output:
|
|
56
|
+
input: 2 / 1_000_000,
|
|
57
|
+
output: 10 / 1_000_000,
|
|
43
58
|
};
|
|
44
59
|
supportedModels = [
|
|
45
|
-
'gpt-
|
|
46
|
-
'gpt-
|
|
47
|
-
'gpt-
|
|
48
|
-
'gpt-
|
|
49
|
-
'gpt-4-
|
|
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-
|
|
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
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
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-
|
|
289
|
+
* defaultModel: 'gpt-6-sol',
|
|
288
290
|
* });
|
|
289
291
|
* ```
|
|
290
292
|
*/
|