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.
- 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 +204 -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/audit/witness-chain.d.ts +1 -1
- package/dist/audit/witness-chain.js +29 -22
- package/dist/cli/bundle.js +13 -10
- package/dist/cli/chunks/adapter-IYC62SXA.js +2 -0
- package/dist/cli/chunks/{agent-booster-wasm-TQOMLWWX.js → agent-booster-wasm-EDNKP3SP.js} +2 -2
- package/dist/cli/chunks/{agent-handler-Q3SEMMI2.js → agent-handler-V6CZ7Q6S.js} +2 -2
- package/dist/cli/chunks/{agent-memory-branch-SJXAQSZI.js → agent-memory-branch-ZMD6ULC3.js} +2 -2
- package/dist/cli/chunks/aqe-learning-engine-LLOU2IXD.js +2 -0
- package/dist/cli/chunks/{arena-7RC7TBGW.js → arena-4UPAEHFT.js} +4 -4
- package/dist/cli/chunks/{arena-UPB7TKUY.js → arena-QLSBESC7.js} +2 -2
- package/dist/cli/chunks/{audit-IXN5R4WB.js → audit-CVZQMF55.js} +3 -3
- package/dist/cli/chunks/base-P3Z4IKCT.js +2 -0
- package/dist/cli/chunks/{better-sqlite3-RP4DEGK3.js → better-sqlite3-4DSBPDRH.js} +2 -2
- package/dist/cli/chunks/brain-handler-GBY4EZ4P.js +94 -0
- package/dist/cli/chunks/{branch-enumerator-VPRWDGFJ.js → branch-enumerator-XYBVXCNO.js} +2 -2
- package/dist/cli/chunks/{browser-B6E7JPPJ.js → browser-32F6MREU.js} +2 -2
- package/dist/cli/chunks/browser-workflow-YYHQQ25X.js +2 -0
- package/dist/cli/chunks/{chunk-HOQQCY2K.js → chunk-2JGEZHWY.js} +2 -2
- package/dist/cli/chunks/{chunk-NN76NTOX.js → chunk-2KJQ2UQE.js} +1 -1
- package/dist/cli/chunks/{chunk-D4Z2N74A.js → chunk-2OMLTYQK.js} +1 -1
- package/dist/cli/chunks/chunk-37TUN44F.js +4 -0
- package/dist/cli/chunks/{chunk-LVLBIKJD.js → chunk-3DDXWYMO.js} +1 -1
- package/dist/cli/chunks/{chunk-UHQY3GK7.js → chunk-3EZ5DR2R.js} +3 -3
- package/dist/cli/chunks/{chunk-3P6NCFI2.js → chunk-3KDL6QDK.js} +2 -2
- package/dist/cli/chunks/{chunk-SG47AXJG.js → chunk-3VIXOHMS.js} +1 -1
- package/dist/cli/chunks/{chunk-7FYMDKQH.js → chunk-3YUB5HER.js} +165 -167
- package/dist/cli/chunks/chunk-4FWTLJEP.js +16 -0
- package/dist/cli/chunks/{chunk-PI74GOE4.js → chunk-52L77RMG.js} +2 -2
- package/dist/cli/chunks/{chunk-LS3EUMBP.js → chunk-5D36YHS3.js} +5 -5
- package/dist/cli/chunks/{chunk-EY4OQHU3.js → chunk-5WOSWNDN.js} +1 -1
- package/dist/cli/chunks/{chunk-F67AV5P2.js → chunk-67YV75XP.js} +2 -2
- package/dist/cli/chunks/{chunk-IP7NSFQQ.js → chunk-6A44AOGN.js} +2 -2
- package/dist/cli/chunks/{chunk-3ABRGG3C.js → chunk-6CR4VQBQ.js} +2 -2
- package/dist/cli/chunks/chunk-6ITZZIQX.js +2 -0
- package/dist/cli/chunks/{chunk-7BUERZYL.js → chunk-6LKDHEBY.js} +2 -2
- package/dist/cli/chunks/{chunk-FKG5OQFT.js → chunk-6TU7FEMD.js} +1 -1
- package/dist/cli/chunks/{chunk-KF63AYXD.js → chunk-6VAZAHQG.js} +2 -2
- package/dist/cli/chunks/{chunk-XXCYQXK3.js → chunk-73EI4C2E.js} +2 -2
- package/dist/cli/chunks/chunk-75QJ5HWE.js +14 -0
- package/dist/cli/chunks/{chunk-72UJXEKQ.js → chunk-7CD7PBHY.js} +2 -2
- package/dist/cli/chunks/chunk-7DETTOPZ.js +14 -0
- package/dist/cli/chunks/{chunk-7JQHPANT.js → chunk-7JZJJA7U.js} +3 -3
- package/dist/cli/chunks/{chunk-5Y5TC6BY.js → chunk-7VFY7TUR.js} +2 -2
- package/dist/cli/chunks/chunk-7X7JYWT4.js +27 -0
- package/dist/cli/chunks/chunk-AF4XKLXO.js +2 -0
- package/dist/cli/chunks/{chunk-7SLAZAVU.js → chunk-AFEDJ3RU.js} +2 -2
- package/dist/cli/chunks/{chunk-ZUG5MOUB.js → chunk-AMMQOV35.js} +2 -2
- package/dist/cli/chunks/{chunk-ZN3J6TZD.js → chunk-BHFR2EXL.js} +1 -1
- package/dist/cli/chunks/{chunk-HXE5NBJG.js → chunk-BJPL6THQ.js} +1 -1
- package/dist/cli/chunks/{chunk-37BASGWC.js → chunk-BXVAVFGU.js} +2 -2
- package/dist/cli/chunks/{chunk-VWNHKYK7.js → chunk-BYG36QC5.js} +2 -2
- package/dist/cli/chunks/chunk-C3HQL6S4.js +2 -0
- package/dist/cli/chunks/{chunk-OY7MLMEX.js → chunk-C3Z4VVHP.js} +5 -5
- package/dist/cli/chunks/{chunk-CB5JPRIZ.js → chunk-CPC7FN52.js} +2 -2
- package/dist/cli/chunks/{chunk-OVDKWCD7.js → chunk-CVMNJSCB.js} +2 -2
- package/dist/cli/chunks/{chunk-N4H2QOT5.js → chunk-CYE2TJFV.js} +2 -2
- package/dist/cli/chunks/{chunk-YCBDE2N7.js → chunk-CZO4BJG5.js} +2 -2
- package/dist/cli/chunks/{chunk-YEXPFHV6.js → chunk-D6OUCB2H.js} +2 -2
- package/dist/cli/chunks/{chunk-JRYZKBY2.js → chunk-DDCIYOGT.js} +2 -2
- package/dist/cli/chunks/{chunk-XX7HUSX2.js → chunk-DKUBQQFG.js} +2 -2
- package/dist/cli/chunks/{chunk-SGXSB7YO.js → chunk-DLF5BOJD.js} +1 -1
- package/dist/cli/chunks/{chunk-5BLFXQEB.js → chunk-DO6EI5KB.js} +1 -1
- package/dist/cli/chunks/{chunk-33VPWGCM.js → chunk-DPBRWP4J.js} +3 -3
- package/dist/cli/chunks/{chunk-H6XBM2LY.js → chunk-E3W6XQ57.js} +2 -2
- package/dist/cli/chunks/{chunk-KPMGTVB4.js → chunk-E4AZXCT5.js} +1 -1
- package/dist/cli/chunks/chunk-E4EYPYR3.js +2 -0
- package/dist/cli/chunks/{chunk-TFHQE6NK.js → chunk-EFV4ADMO.js} +4 -4
- package/dist/cli/chunks/{chunk-VIDBBB6F.js → chunk-ELBZON4V.js} +2 -2
- package/dist/cli/chunks/chunk-EOR2UT72.js +2 -0
- package/dist/cli/chunks/{chunk-H5ZRV5K5.js → chunk-F34OAHOM.js} +2 -2
- package/dist/cli/chunks/{chunk-UMENRGHK.js → chunk-FUNGTIF2.js} +2 -2
- package/dist/cli/chunks/{chunk-DBA3N742.js → chunk-G3L5L6YQ.js} +1 -1
- package/dist/cli/chunks/{chunk-ELU4IC3I.js → chunk-G3W6BMVJ.js} +1 -1
- package/dist/cli/chunks/{chunk-RTJ2M6V6.js → chunk-GTKCGPJZ.js} +3 -3
- package/dist/cli/chunks/chunk-HBCGYMQU.js +2 -0
- package/dist/cli/chunks/{chunk-YL7T3VV7.js → chunk-HSVKZ5KI.js} +4 -4
- package/dist/cli/chunks/{chunk-MXMFGSWR.js → chunk-HVU64GP5.js} +2 -2
- package/dist/cli/chunks/chunk-HVXJC3OC.js +2 -0
- package/dist/cli/chunks/chunk-HYEJJJY3.js +4 -0
- package/dist/cli/chunks/{chunk-CR3QGHVN.js → chunk-I2NENQ44.js} +2 -2
- package/dist/cli/chunks/{chunk-GNTVFN7D.js → chunk-I6X3EGJI.js} +1 -1
- package/dist/cli/chunks/{chunk-2GNRW3OD.js → chunk-IGBEJ4UJ.js} +2 -2
- package/dist/cli/chunks/{chunk-UYJHYMEQ.js → chunk-IIAR5S7Q.js} +2 -2
- package/dist/cli/chunks/{chunk-YAKS3CAB.js → chunk-IJHCIXJC.js} +2 -2
- package/dist/cli/chunks/{chunk-YDNSLLBS.js → chunk-IUDWEOLX.js} +2 -2
- package/dist/cli/chunks/chunk-IUHB5GVS.js +3 -0
- package/dist/cli/chunks/{chunk-4UDZLD42.js → chunk-IYTLXUBO.js} +2 -2
- package/dist/cli/chunks/chunk-J27F4NSB.js +2 -0
- package/dist/cli/chunks/{chunk-HRUU7E3D.js → chunk-J5UNP6W3.js} +2 -2
- package/dist/cli/chunks/{chunk-E3FBW6G2.js → chunk-JES6R5KP.js} +1 -1
- package/dist/cli/chunks/chunk-JROVR6YS.js +11 -0
- package/dist/cli/chunks/chunk-JSZ663MU.js +2 -0
- package/dist/cli/chunks/{chunk-FUE6LL72.js → chunk-JVQBWYHW.js} +2 -2
- package/dist/cli/chunks/{chunk-G6ZHTF42.js → chunk-K27SU3RE.js} +2 -2
- package/dist/cli/chunks/chunk-K7NJHFLZ.js +54 -0
- package/dist/cli/chunks/{chunk-MDZ6RRLX.js → chunk-KEY43ANX.js} +2 -2
- package/dist/cli/chunks/chunk-KIP6WZGV.js +13 -0
- package/dist/cli/chunks/{chunk-SQ3PPISY.js → chunk-KKHYJF5U.js} +1 -1
- package/dist/cli/chunks/{chunk-TJEIOE7F.js → chunk-KLTP5IDB.js} +1 -1
- package/dist/cli/chunks/{chunk-IKIITGU5.js → chunk-KO4FNAUR.js} +4 -4
- package/dist/cli/chunks/{chunk-DX3C5HPN.js → chunk-KYA5LARK.js} +1 -1
- package/dist/cli/chunks/{chunk-ZHXWGNYM.js → chunk-LSUILON7.js} +1 -1
- package/dist/cli/chunks/chunk-LULD4JV2.js +15 -0
- package/dist/cli/chunks/{chunk-MWWAMDHI.js → chunk-M23ZOZVY.js} +1 -1
- package/dist/cli/chunks/{chunk-RKJZWWB7.js → chunk-M5AEL7IS.js} +2 -2
- package/dist/cli/chunks/chunk-MI5Q55DG.js +65 -0
- package/dist/cli/chunks/chunk-N7H767TP.js +4 -0
- package/dist/cli/chunks/{chunk-5F6DWHQG.js → chunk-NQI7FWCS.js} +2 -2
- package/dist/cli/chunks/{chunk-LLVGTEHU.js → chunk-NRE4NAVA.js} +1 -1
- package/dist/cli/chunks/{chunk-XA7CG3LH.js → chunk-NU7UTXMP.js} +2 -2
- package/dist/cli/chunks/chunk-NVYBM3R4.js +2 -0
- package/dist/cli/chunks/chunk-O3JTQ7N4.js +2 -0
- package/dist/cli/chunks/{chunk-TISSZFHO.js → chunk-OEIQTWQP.js} +1 -1
- package/dist/cli/chunks/{chunk-2IGT5WNQ.js → chunk-PSPKSUF6.js} +1 -1
- package/dist/cli/chunks/{chunk-B7SWW5A6.js → chunk-QIRL6B3C.js} +2 -2
- package/dist/cli/chunks/{chunk-JBB7E26R.js → chunk-QRCIZFNK.js} +2 -2
- package/dist/cli/chunks/{chunk-4JBFJTHJ.js → chunk-QWUXCG2L.js} +1 -1
- package/dist/cli/chunks/{chunk-B5XFDFBT.js → chunk-QYOGD2VW.js} +1 -1
- package/dist/cli/chunks/chunk-QZMUXJHZ.js +2 -0
- package/dist/cli/chunks/chunk-R6IU3EWP.js +2 -0
- package/dist/cli/chunks/{chunk-G5C2XVZC.js → chunk-R74ZKREV.js} +1 -1
- package/dist/cli/chunks/chunk-RD2VGOUH.js +2 -0
- package/dist/cli/chunks/{chunk-OV5EZO3U.js → chunk-RD6TEZ64.js} +2 -2
- package/dist/cli/chunks/{chunk-4C6UJIHB.js → chunk-RGGK6VZ7.js} +1 -1
- package/dist/cli/chunks/{chunk-4XPPMADQ.js → chunk-RIZVC4XY.js} +6 -6
- package/dist/cli/chunks/{chunk-4RP5VUBI.js → chunk-RKOUXVZZ.js} +2 -2
- package/dist/cli/chunks/{chunk-IFFZR6GY.js → chunk-RP2ZKPYV.js} +1 -1
- package/dist/cli/chunks/{chunk-BN7DKW5D.js → chunk-SQF6HRXR.js} +1 -1
- package/dist/cli/chunks/chunk-SQKW3B6B.js +2 -0
- package/dist/cli/chunks/{chunk-LKN7JQTW.js → chunk-SX4JLSLV.js} +2 -2
- package/dist/cli/chunks/{chunk-YGB6R5DW.js → chunk-TUSSPKRM.js} +1 -1
- package/dist/cli/chunks/{chunk-LHGNNZ76.js → chunk-TY5WC3FT.js} +3 -3
- package/dist/cli/chunks/{chunk-B2ZONZPZ.js → chunk-UDHVCKGA.js} +2 -2
- package/dist/cli/chunks/{chunk-IU4EBTA2.js → chunk-UJWAWIRV.js} +4 -4
- package/dist/cli/chunks/{chunk-LTBCAFTZ.js → chunk-UKGXWW64.js} +3 -3
- package/dist/cli/chunks/{chunk-JV4FZUE7.js → chunk-UMGFMKDW.js} +2 -2
- package/dist/cli/chunks/{chunk-STRDSVH3.js → chunk-URVHZPWY.js} +2 -2
- package/dist/cli/chunks/{chunk-PZTVH2AS.js → chunk-UTBYJ4RF.js} +2 -2
- package/dist/cli/chunks/{chunk-ZK5JKHP4.js → chunk-VD5IO5EO.js} +1 -1
- package/dist/cli/chunks/chunk-VTOVWHEM.js +2 -0
- package/dist/cli/chunks/{chunk-OYMLHX2B.js → chunk-W2XCZU62.js} +1 -1
- package/dist/cli/chunks/{chunk-T35GZXTU.js → chunk-WJHWH5D2.js} +2 -2
- package/dist/cli/chunks/{chunk-NBWQBQO5.js → chunk-WJTSY5MC.js} +1 -1
- package/dist/cli/chunks/{chunk-NTSXHZTC.js → chunk-WK7B4B6Y.js} +4 -4
- package/dist/cli/chunks/{chunk-2WT7AKKK.js → chunk-WLXK2KNU.js} +2 -2
- package/dist/cli/chunks/chunk-WOIGKU2N.js +180 -0
- package/dist/cli/chunks/{chunk-WYMGK5DX.js → chunk-WX6RRIGW.js} +2 -2
- package/dist/cli/chunks/{chunk-C46DMCWF.js → chunk-XEZIIQYJ.js} +2 -2
- package/dist/cli/chunks/{chunk-TTMHIOQ3.js → chunk-XFPPERA2.js} +2 -2
- package/dist/cli/chunks/{chunk-OVPJQWHW.js → chunk-XLAUGSW7.js} +2 -2
- package/dist/cli/chunks/{chunk-V4AOVDCJ.js → chunk-XQSIRBKT.js} +8 -8
- package/dist/cli/chunks/{chunk-4Q35TI6Z.js → chunk-XUR2M2WB.js} +2 -2
- package/dist/cli/chunks/{chunk-5IAB5NRZ.js → chunk-XZSMZHM2.js} +2 -2
- package/dist/cli/chunks/{chunk-AB4U6ZNI.js → chunk-Y5L3ES4L.js} +2 -2
- package/dist/cli/chunks/chunk-YDFL445W.js +2 -0
- package/dist/cli/chunks/{chunk-7G6UX2QN.js → chunk-YQGPQBCX.js} +2 -2
- package/dist/cli/chunks/{chunk-5FOZO7KM.js → chunk-YXP6BKGS.js} +46 -46
- package/dist/cli/chunks/chunk-ZBABIZ2D.js +2 -0
- package/dist/cli/chunks/{chunk-IQEJGZV6.js → chunk-ZCWERUYB.js} +4 -4
- package/dist/cli/chunks/ci-RACDAJMR.js +81 -0
- package/dist/cli/chunks/{ci-output-LK3MBXLZ.js → ci-output-EHRSZBKG.js} +2 -2
- package/dist/cli/chunks/{circuit-breaker-7AIXACR7.js → circuit-breaker-GBV7M5XG.js} +2 -2
- package/dist/cli/chunks/{claude-flow-setup-UA7EO6VN.js → claude-flow-setup-5LVJOFKP.js} +2 -2
- package/dist/cli/chunks/client-HUVFA5PF.js +2 -0
- package/dist/cli/chunks/{cline-installer-YDDCKKEV.js → cline-installer-W4NMXJSG.js} +2 -2
- package/dist/cli/chunks/{code-URB7UAKW.js → code-JWXJMYXB.js} +29 -29
- package/dist/cli/chunks/{code-index-extractor-BL6HWH4Q.js → code-index-extractor-RVI2IFTM.js} +2 -2
- package/dist/cli/chunks/codex-installer-3BORJINH.js +14 -0
- package/dist/cli/chunks/{completions-RCKBSSSS.js → completions-A55NCTAO.js} +2 -2
- package/dist/cli/chunks/complexity-analyzer-JCXHGGLY.js +2 -0
- package/dist/cli/chunks/{continuedev-installer-VOTCEBFH.js → continuedev-installer-PUVFMGYW.js} +2 -2
- package/dist/cli/chunks/{copilot-installer-NVTGLZX3.js → copilot-installer-4DCMYWHB.js} +2 -2
- package/dist/cli/chunks/core-handlers-UEXO3VAA.js +2 -0
- package/dist/cli/chunks/cost-tracker-5TV2GGKY.js +2 -0
- package/dist/cli/chunks/{coverage-ZTPJWXWE.js → coverage-NNWM7TX3.js} +3 -3
- package/dist/cli/chunks/cross-domain-router-ODU5IZD6.js +2 -0
- package/dist/cli/chunks/{cursor-installer-CMGJQMHX.js → cursor-installer-4NCHGJGK.js} +2 -2
- package/dist/cli/chunks/{daemon-Y2I3YVIU.js → daemon-QIKCXKWO.js} +4 -4
- package/dist/cli/chunks/{daemon-V456IWR3.js → daemon-T4JO4IXP.js} +3 -3
- package/dist/cli/chunks/{dag-attention-scheduler-ZCBBOD3D.js → dag-attention-scheduler-RPAAIDAD.js} +2 -2
- package/dist/cli/chunks/{detect-2GHEA4A3.js → detect-SBEEVDSN.js} +2 -2
- package/dist/cli/chunks/{dist-node-44AGYJCH.js → dist-node-ZHI6NCSU.js} +2 -2
- package/dist/cli/chunks/{domain-handler-IDLIEP6X.js → domain-handler-LBC3GJ7Z.js} +2 -2
- package/dist/cli/chunks/domain-plugins-H6IZ5USZ.js +2 -0
- package/dist/cli/chunks/{domain-transfer-KLEXGIRF.js → domain-transfer-JZA5TMW3.js} +2 -2
- package/dist/cli/chunks/dream-HE3OX42F.js +2 -0
- package/dist/cli/chunks/embed-and-insert-pattern-AHTR7CRU.js +3 -0
- package/dist/cli/chunks/eval-DZU2KISM.js +17 -0
- package/dist/cli/chunks/{experience-capture-middleware-CJJJN7CF.js → experience-capture-middleware-5IQCWKSL.js} +4 -4
- package/dist/cli/chunks/{fast-paths-LGLLKX6P.js → fast-paths-2KLDUWCY.js} +2 -2
- package/dist/cli/chunks/{feature-flags-33D3I4DD.js → feature-flags-7AC3XDZA.js} +2 -2
- package/dist/cli/chunks/{feature-flags-QL4NCEGW.js → feature-flags-N6UAEZY4.js} +2 -2
- package/dist/cli/chunks/{file-discovery-GKCYJPFZ.js → file-discovery-5SDIW4V2.js} +2 -2
- package/dist/cli/chunks/fleet-ZIQCAZ2Y.js +43 -0
- package/dist/cli/chunks/{gnn-wrapper-ELSGT67Z.js → gnn-wrapper-DUMBZJEV.js} +2 -2
- package/dist/cli/chunks/{heartbeat-handler-ZUI3DOOP.js → heartbeat-handler-6HVM6ZMR.js} +4 -4
- package/dist/cli/chunks/heartbeat-scheduler-QUIFGGLX.js +2 -0
- package/dist/cli/chunks/hnsw-adapter-42KB37KP.js +2 -0
- package/dist/cli/chunks/hnsw-index-T2PGO77J.js +2 -0
- package/dist/cli/chunks/{hnsw-legacy-bridge-EZMM5JWL.js → hnsw-legacy-bridge-5DRL5FLX.js} +2 -2
- package/dist/cli/chunks/{hnswlib-node-G4CE3EOS.js → hnswlib-node-GW67GTCL.js} +2 -2
- package/dist/cli/chunks/{hooks-LCVXXA55.js → hooks-QHH6FVO4.js} +10 -10
- package/dist/cli/chunks/hybrid-backend-FRNWYRKH.js +2 -0
- package/dist/cli/chunks/{hypergraph-engine-6Z7RQ3HI.js → hypergraph-engine-7XDCCVG2.js} +2 -2
- package/dist/cli/chunks/{hypergraph-handler-PLI2GYPK.js → hypergraph-handler-QHF7NOU5.js} +3 -3
- package/dist/cli/chunks/impact-analyzer-A5QYOYBR.js +2 -0
- package/dist/cli/chunks/{init-handler-7VH3QJ5Y.js → init-handler-5UIVOM7K.js} +6 -6
- package/dist/cli/chunks/init-wizard-XBU674YH.js +2 -0
- package/dist/cli/chunks/kernel-DV5MTNZD.js +2 -0
- package/dist/cli/chunks/{kilocode-installer-U3MW62DE.js → kilocode-installer-TGGV6K5Q.js} +2 -2
- package/dist/cli/chunks/{kiro-installer-PPEAC44T.js → kiro-installer-4XYBHZWW.js} +12 -12
- package/dist/cli/chunks/knowledge-graph-4ACGVJQK.js +2 -0
- package/dist/cli/chunks/learning-STE5W6BS.js +122 -0
- package/dist/cli/chunks/llm-router-NKF7J3RI.js +37 -0
- package/dist/cli/chunks/llm-router-service-PSMASERT.js +2 -0
- package/dist/cli/chunks/{load-VO7ABNHV.js → load-B2T77UJQ.js} +2 -2
- package/dist/cli/chunks/load-test-MRUO2VPF.js +2 -0
- package/dist/cli/chunks/mcp-JGSFCEMH.js +2 -0
- package/dist/cli/chunks/{memory-FZTT7ADM.js → memory-WRFZKG56.js} +6 -6
- package/dist/cli/chunks/memory-backend-2MPGI6JW.js +2 -0
- package/dist/cli/chunks/memory-handlers-XT4HMITB.js +2 -0
- package/dist/cli/chunks/multi-model-executor-26Q5BSVG.js +14 -0
- package/dist/cli/chunks/{opencode-installer-GQ7J5SBG.js → opencode-installer-J36EMQU7.js} +2 -2
- package/dist/cli/chunks/{orchestrator-66JK2OS5.js → orchestrator-D5IFV65I.js} +20 -20
- package/dist/cli/chunks/pattern-null-store-TGWUL237.js +2 -0
- package/dist/cli/chunks/{pattern-usage-recorder-O6XHM2G5.js → pattern-usage-recorder-BVMTWI3E.js} +2 -2
- package/dist/cli/chunks/pipeline-OWAHDUAQ.js +19 -0
- package/dist/cli/chunks/platform-ANGBFWBV.js +2 -0
- package/dist/cli/chunks/{plugin-7OFLNGOS.js → plugin-OO7ON2YW.js} +2 -2
- package/dist/cli/chunks/{prime-radiant-advanced-wasm-OSRDK2FW.js → prime-radiant-advanced-wasm-HFG3BXWU.js} +2 -2
- package/dist/cli/chunks/project-root-LNOYVTYY.js +2 -0
- package/dist/cli/chunks/protocol-executor-GEVH5KD6.js +2 -0
- package/dist/cli/chunks/{protocol-handler-WLYTX6FS.js → protocol-handler-CE3Q6LY4.js} +2 -2
- package/dist/cli/chunks/{prove-QVNE4V3J.js → prove-7XPN53PY.js} +2 -2
- package/dist/cli/chunks/qe-reasoning-bank-DJ2JL6QB.js +2 -0
- package/dist/cli/chunks/{quality-DNE2RKE5.js → quality-TT23JRFX.js} +2 -2
- package/dist/cli/chunks/{quality-gate-2K35GCSI.js → quality-gate-PPPRP255.js} +3 -3
- package/dist/cli/chunks/queen-coordinator-F7E3AS26.js +2 -0
- package/dist/cli/chunks/real-embeddings-EYNZIFJE.js +2 -0
- package/dist/cli/chunks/ref-validation-QQR64ZXD.js +2 -0
- package/dist/cli/chunks/{roocode-installer-NCEZPF5L.js → roocode-installer-UIGS7ZJD.js} +2 -2
- package/dist/cli/chunks/router-OZH3QSAU.js +2 -0
- package/dist/cli/chunks/routing-feedback-J2E3ADZB.js +2 -0
- package/dist/cli/chunks/{routing-handler-4MXXZRYP.js → routing-handler-6AENUIRG.js} +4 -4
- package/dist/cli/chunks/{ruvector-commands-WDFMMCMK.js → ruvector-commands-5AWMEV34.js} +2 -2
- package/dist/cli/chunks/rvf-dual-writer-HK525Y5Y.js +2 -0
- package/dist/cli/chunks/rvf-migration-adapter-Q7FB3BKR.js +2 -0
- package/dist/cli/chunks/rvf-migration-coordinator-NWRJ7C22.js +2 -0
- package/dist/cli/chunks/rvf-native-adapter-5ZRCGUI6.js +2 -0
- package/dist/cli/chunks/rvf-store-integrity-ISKRP563.js +2 -0
- package/dist/cli/chunks/safe-db-3OYEPVEH.js +2 -0
- package/dist/cli/chunks/schedule-AG4C2EIQ.js +2 -0
- package/dist/cli/chunks/scheduler-SQS2CZFZ.js +2 -0
- package/dist/cli/chunks/{security-CJJ3WJSB.js → security-325A7FMB.js} +3 -3
- package/dist/cli/chunks/{shared-rvf-adapter-6RGCTLHD.js → shared-rvf-adapter-NFL6QSZ6.js} +2 -2
- package/dist/cli/chunks/{shared-rvf-dual-writer-KIA6Q6MT.js → shared-rvf-dual-writer-THFDYS2Z.js} +2 -2
- package/dist/cli/chunks/sqlite-persistence-MAKDFSHC.js +2 -0
- package/dist/cli/chunks/standalone-memory-UD4MJ6GZ.js +2 -0
- package/dist/cli/chunks/{status-handler-BADQV2KA.js → status-handler-CPFTN4XL.js} +2 -2
- package/dist/cli/chunks/{structural-health-VMYEYRZG.js → structural-health-2MG2IVBL.js} +2 -2
- package/dist/cli/chunks/{sync-PXLROLHB.js → sync-EE4VVKOW.js} +2 -2
- package/dist/cli/chunks/{sync-ULY7T5II.js → sync-MBTW5XBF.js} +2 -2
- package/dist/cli/chunks/task-handler-7H5OYJG4.js +54 -0
- package/dist/cli/chunks/task-handlers-NH4GJHCJ.js +9 -0
- package/dist/cli/chunks/{test-WCLURQUT.js → test-MPHGT4T6.js} +4 -4
- package/dist/cli/chunks/test-scheduling-CHQ4ZLLJ.js +15 -0
- package/dist/cli/chunks/token-bootstrap-SSDCYEKK.js +2 -0
- package/dist/cli/chunks/{token-usage-DRVG6PKO.js → token-usage-EBXUJNRB.js} +2 -2
- package/dist/cli/chunks/{transformers-IMDDAMYQ.js → transformers-ZEKS2OJZ.js} +2 -2
- package/dist/cli/chunks/{tree-sitter-wasm-parser-WBZIHVFA.js → tree-sitter-wasm-parser-J6ZMAK37.js} +2 -2
- package/dist/cli/chunks/types-KYAA5VLV.js +2 -0
- package/dist/cli/chunks/unified-memory-DDWMC435.js +2 -0
- package/dist/cli/chunks/unified-memory-hnsw-4JA7SGBK.js +2 -0
- package/dist/cli/chunks/unified-persistence-F6OSNTXY.js +2 -0
- package/dist/cli/chunks/{upgrade-6ALSDWDD.js → upgrade-UJBJ5AYM.js} +2 -2
- package/dist/cli/chunks/{validate-XF4ZG3LC.js → validate-RUV6YMWS.js} +2 -2
- package/dist/cli/chunks/{validate-swarm-P5TAFRDA.js → validate-swarm-IVEVMGVM.js} +2 -2
- package/dist/cli/chunks/{vibium-2XDXKNKZ.js → vibium-HOGMFJ2Z.js} +2 -2
- package/dist/cli/chunks/visual-security-25SMBIYT.js +2 -0
- package/dist/cli/chunks/{web-tree-sitter-4JVRQPX5.js → web-tree-sitter-AVWA6HKE.js} +2 -2
- package/dist/cli/chunks/{windsurf-installer-WYJXVDO5.js → windsurf-installer-DAH7HI2W.js} +2 -2
- package/dist/cli/chunks/{witness-chain-RPZ2SE2V.js → witness-chain-PJOQPFUX.js} +2 -2
- package/dist/cli/chunks/witness-chain-ZW6KKUZU.js +2 -0
- package/dist/cli/chunks/{witness-key-manager-LXG2VBQQ.js → witness-key-manager-JSTBMG43.js} +2 -2
- package/dist/cli/chunks/workflow-TWOIA6LZ.js +51 -0
- package/dist/cli/chunks/workflow-orchestrator-UKSIDM7Q.js +2 -0
- package/dist/cli/chunks/{wrappers-DIJNNFU6.js → wrappers-UR7BLXKV.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/mcp.js +6 -0
- package/dist/cli/commands/memory.d.ts +1 -1
- package/dist/cli/commands/memory.js +8 -8
- package/dist/cli/commands/pipeline.js +9 -0
- package/dist/cli/commands/platform.js +15 -2
- package/dist/cli/commands/upgrade.d.ts +3 -3
- package/dist/cli/commands/upgrade.js +3 -3
- package/dist/cli/commands/workflow.js +9 -1
- package/dist/cli/handlers/init-handler.d.ts +10 -0
- package/dist/cli/handlers/task-handler.js +43 -12
- package/dist/cli/helpers/domain-plugins.d.ts +5 -0
- package/dist/cli/helpers/domain-plugins.js +11 -0
- package/dist/cli/helpers/standalone-memory.d.ts +12 -0
- package/dist/cli/helpers/standalone-memory.js +46 -0
- package/dist/cli/index.js +54 -49
- package/dist/cli/log-gate.d.ts +66 -0
- package/dist/cli/log-gate.js +170 -0
- package/dist/cli/utils/ci-config.d.ts +3 -0
- 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/test-execution-handlers.js +5 -3
- package/dist/coordination/interfaces.d.ts +2 -2
- package/dist/coordination/protocol-executor.js +68 -9
- 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/task-executor.js +4 -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/services/scanners/sast-scanner.js +3 -7
- package/dist/domains/test-execution/services/flaky-detector.js +33 -3
- package/dist/domains/test-execution/services/retry-handler.js +22 -14
- package/dist/domains/test-execution/services/test-executor.js +42 -21
- 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/codex-installer.js +18 -6
- 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/orchestrator.js +1 -0
- package/dist/init/phases/07-hooks.js +4 -2
- package/dist/init/phases/09-assets.d.ts +10 -0
- package/dist/init/phases/09-assets.js +3 -0
- 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/init/token-bootstrap.d.ts +1 -1
- package/dist/init/token-bootstrap.js +12 -2
- package/dist/init/types.d.ts +10 -0
- package/dist/integrations/agentic-flow/model-router/types.js +6 -8
- package/dist/integrations/ruvector/brain-exporter.js +26 -15
- package/dist/integrations/ruvector/brain-import-audit.d.ts +20 -0
- package/dist/integrations/ruvector/brain-import-audit.js +22 -0
- package/dist/integrations/ruvector/brain-rvf-exporter.js +33 -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 +42 -16
- 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/hybrid-backend.d.ts +6 -0
- package/dist/kernel/hybrid-backend.js +18 -0
- package/dist/kernel/kernel.js +9 -14
- package/dist/kernel/memory-factory.js +14 -4
- package/dist/kernel/project-root.d.ts +1 -1
- package/dist/kernel/project-root.js +33 -10
- package/dist/kernel/unified-memory.js +1 -1
- package/dist/learning/embedder-identity-store.js +4 -3
- 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 +34 -12
- package/dist/learning/real-embeddings.d.ts +8 -0
- package/dist/learning/real-embeddings.js +16 -0
- package/dist/learning/rvf-pattern-store.js +10 -3
- package/dist/mcp/bundle.js +480 -480
- package/dist/mcp/entry.js +2 -0
- package/dist/mcp/handlers/index.d.ts +1 -1
- package/dist/mcp/handlers/index.js +1 -1
- package/dist/mcp/handlers/memory-handlers.d.ts +6 -1
- package/dist/mcp/handlers/memory-handlers.js +44 -22
- 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 +26 -5
- package/dist/mcp/protocol-server.d.ts +2 -0
- package/dist/mcp/protocol-server.js +105 -49
- package/dist/mcp/security/sampling-server.js +2 -1
- package/dist/mcp/services/session-store.js +5 -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 +5 -1
- package/dist/optimization/session-cache.d.ts +5 -0
- package/dist/optimization/session-cache.js +23 -0
- package/dist/plugins/cache.d.ts +2 -0
- package/dist/plugins/cache.js +15 -2
- package/dist/plugins/lifecycle.js +15 -2
- package/dist/plugins/manifest.js +7 -5
- package/dist/plugins/resolver.d.ts +13 -22
- package/dist/plugins/resolver.js +169 -61
- package/dist/plugins/version-policy.d.ts +13 -0
- package/dist/plugins/version-policy.js +18 -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.js +21 -9
- package/dist/shared/llm/router/routing-rules.js +9 -8
- package/dist/shared/llm/router/types.js +81 -13
- package/dist/shared/llm/translation/message-formatter.js +4 -23
- package/dist/shared/types/index.d.ts +6 -0
- package/dist/shared/types/index.js +8 -0
- package/dist/shared/vitest-json-report.d.ts +7 -7
- package/dist/shared/vitest-json-report.js +23 -14
- package/dist/test-scheduling/executors/vitest-executor.d.ts +7 -2
- package/dist/test-scheduling/executors/vitest-executor.js +157 -47
- 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/package.json +2 -1
- package/dist/cli/chunks/adapter-AKQYU6UH.js +0 -2
- package/dist/cli/chunks/aqe-learning-engine-MICRPL3N.js +0 -2
- package/dist/cli/chunks/base-DZK36ITB.js +0 -2
- package/dist/cli/chunks/brain-handler-H5OVZ22L.js +0 -90
- package/dist/cli/chunks/browser-workflow-ADK54DOE.js +0 -2
- package/dist/cli/chunks/chunk-26GM5CWD.js +0 -13
- package/dist/cli/chunks/chunk-42VSQ2MX.js +0 -4
- package/dist/cli/chunks/chunk-44WISFTU.js +0 -2
- package/dist/cli/chunks/chunk-4OUPCTBS.js +0 -16
- package/dist/cli/chunks/chunk-4TXAP3YH.js +0 -2
- package/dist/cli/chunks/chunk-4W7QVUNO.js +0 -2
- package/dist/cli/chunks/chunk-527HQAY7.js +0 -14
- package/dist/cli/chunks/chunk-5DFHE4H5.js +0 -180
- package/dist/cli/chunks/chunk-5P3G6ZW4.js +0 -2
- package/dist/cli/chunks/chunk-6F2RM6X2.js +0 -2
- package/dist/cli/chunks/chunk-74PK3NEW.js +0 -15
- package/dist/cli/chunks/chunk-7Y2CEXRS.js +0 -65
- package/dist/cli/chunks/chunk-AWNYEAGB.js +0 -2
- package/dist/cli/chunks/chunk-CBOPBYPU.js +0 -2
- package/dist/cli/chunks/chunk-FD2JFEQC.js +0 -2
- package/dist/cli/chunks/chunk-G6DCESPU.js +0 -2
- package/dist/cli/chunks/chunk-I4NDQGKP.js +0 -2
- package/dist/cli/chunks/chunk-L2GKMBDP.js +0 -2
- package/dist/cli/chunks/chunk-QLWNXBRU.js +0 -2
- package/dist/cli/chunks/chunk-R2AFVFRF.js +0 -2
- package/dist/cli/chunks/chunk-ROX7NLS4.js +0 -14
- package/dist/cli/chunks/chunk-SHGKY3QB.js +0 -2
- package/dist/cli/chunks/chunk-SJPZSCZP.js +0 -27
- package/dist/cli/chunks/chunk-T62DH4GG.js +0 -11
- package/dist/cli/chunks/chunk-TGLAWI62.js +0 -4
- package/dist/cli/chunks/chunk-UMNYF5EZ.js +0 -2
- package/dist/cli/chunks/chunk-UTVRQEZM.js +0 -54
- package/dist/cli/chunks/chunk-Y2DVFVGI.js +0 -2
- package/dist/cli/chunks/chunk-Y5SQBI2F.js +0 -2
- package/dist/cli/chunks/ci-YVKDQWIX.js +0 -81
- package/dist/cli/chunks/client-M72GXFVQ.js +0 -2
- package/dist/cli/chunks/codex-installer-2AVEO4EA.js +0 -14
- package/dist/cli/chunks/complexity-analyzer-LEDG62YK.js +0 -2
- package/dist/cli/chunks/core-handlers-C32RAMVI.js +0 -2
- package/dist/cli/chunks/cost-tracker-GJIFB2BM.js +0 -2
- package/dist/cli/chunks/cross-domain-router-UGFUCPKC.js +0 -2
- package/dist/cli/chunks/dream-UFBBXY5W.js +0 -2
- package/dist/cli/chunks/embed-and-insert-pattern-DUW6K35A.js +0 -3
- package/dist/cli/chunks/eval-PR6YWDFM.js +0 -17
- package/dist/cli/chunks/fleet-QNT6X2YI.js +0 -43
- package/dist/cli/chunks/heartbeat-scheduler-VQWHSGTY.js +0 -2
- package/dist/cli/chunks/hnsw-adapter-BS3NXWGU.js +0 -2
- package/dist/cli/chunks/hnsw-index-JP26B4HW.js +0 -2
- package/dist/cli/chunks/impact-analyzer-WRE4CWPJ.js +0 -2
- package/dist/cli/chunks/init-wizard-OFOEYB75.js +0 -2
- package/dist/cli/chunks/kernel-MXNFWNUD.js +0 -2
- package/dist/cli/chunks/knowledge-graph-7JE2TVKJ.js +0 -2
- package/dist/cli/chunks/learning-7B5NITDV.js +0 -122
- package/dist/cli/chunks/llm-router-BNEPT5OB.js +0 -37
- package/dist/cli/chunks/llm-router-service-GTDVDKSU.js +0 -2
- package/dist/cli/chunks/load-test-JZ4CLSBF.js +0 -2
- package/dist/cli/chunks/mcp-THXEINCL.js +0 -2
- package/dist/cli/chunks/memory-backend-Q54CC5A5.js +0 -2
- package/dist/cli/chunks/memory-handlers-IIBJXKHZ.js +0 -2
- package/dist/cli/chunks/multi-model-executor-HEDVOZ6X.js +0 -14
- package/dist/cli/chunks/pattern-null-store-W33O7FYO.js +0 -2
- package/dist/cli/chunks/pipeline-UOG6UO6D.js +0 -19
- package/dist/cli/chunks/platform-Q7UH7FZQ.js +0 -2
- package/dist/cli/chunks/protocol-executor-VGN4M7XY.js +0 -2
- package/dist/cli/chunks/qe-reasoning-bank-7VB5LJGS.js +0 -2
- package/dist/cli/chunks/queen-coordinator-HIDMJMMG.js +0 -2
- package/dist/cli/chunks/real-embeddings-SF42ML7G.js +0 -2
- package/dist/cli/chunks/router-CTIJS4D7.js +0 -2
- package/dist/cli/chunks/routing-feedback-LFYYZS5J.js +0 -2
- package/dist/cli/chunks/rvf-dual-writer-MNPMIWVM.js +0 -2
- package/dist/cli/chunks/rvf-migration-adapter-DXOKSSNW.js +0 -2
- package/dist/cli/chunks/rvf-migration-coordinator-JT7ZCJY7.js +0 -2
- package/dist/cli/chunks/rvf-native-adapter-PZKUKA7R.js +0 -2
- package/dist/cli/chunks/rvf-store-integrity-Q3FGYKFT.js +0 -2
- package/dist/cli/chunks/safe-db-73BLFV2C.js +0 -2
- package/dist/cli/chunks/schedule-YVTGTTI4.js +0 -2
- package/dist/cli/chunks/scheduler-5DSAFIRQ.js +0 -2
- package/dist/cli/chunks/sqlite-persistence-LRG4IPCU.js +0 -2
- package/dist/cli/chunks/task-handler-L7E2I267.js +0 -49
- package/dist/cli/chunks/task-handlers-6DPKE4AK.js +0 -9
- package/dist/cli/chunks/test-scheduling-4CNJA6TW.js +0 -15
- package/dist/cli/chunks/token-bootstrap-GTI24JAL.js +0 -2
- package/dist/cli/chunks/types-TXMY5M2K.js +0 -2
- package/dist/cli/chunks/unified-memory-VBQ572X4.js +0 -2
- package/dist/cli/chunks/unified-memory-hnsw-J3L74ZRY.js +0 -2
- package/dist/cli/chunks/unified-persistence-EM2VYRTQ.js +0 -2
- package/dist/cli/chunks/visual-security-GX4S7K6O.js +0 -2
- package/dist/cli/chunks/witness-chain-QGKMHCNW.js +0 -2
- package/dist/cli/chunks/workflow-2OYNO7UU.js +0 -51
- package/dist/cli/chunks/workflow-orchestrator-KWHIJMFV.js +0 -2
|
@@ -29,6 +29,7 @@ import { resolveRequest } from '../../../shared/language-detector.js';
|
|
|
29
29
|
import { compilationValidator } from './compilation-validator.js';
|
|
30
30
|
import { resolveTestFilePath } from './test-file-resolver.js';
|
|
31
31
|
import { getPromptConfig } from '../prompts/language-prompts.js';
|
|
32
|
+
import { getClaudeModelForTier } from '../../../shared/llm/model-registry.js';
|
|
32
33
|
// ============================================================================
|
|
33
34
|
// ADR-062 Tier 2: Holdout Test Selection
|
|
34
35
|
// ============================================================================
|
|
@@ -116,13 +117,7 @@ export class TestGeneratorService {
|
|
|
116
117
|
* Get model ID for the configured tier
|
|
117
118
|
*/
|
|
118
119
|
getModelForTier(tier) {
|
|
119
|
-
|
|
120
|
-
case 1: return 'claude-haiku-4-5-20251001';
|
|
121
|
-
case 2: return 'claude-sonnet-4-6';
|
|
122
|
-
case 3: return 'claude-sonnet-4-6';
|
|
123
|
-
case 4: return 'claude-opus-4-7';
|
|
124
|
-
default: return 'claude-sonnet-4-6';
|
|
125
|
-
}
|
|
120
|
+
return getClaudeModelForTier(tier);
|
|
126
121
|
}
|
|
127
122
|
/**
|
|
128
123
|
* Enhance generated test code using LLM
|
|
@@ -7,6 +7,7 @@ import { v4 as uuidv4 } from 'uuid';
|
|
|
7
7
|
import { ok, err } from '../../../shared/types/index.js';
|
|
8
8
|
import { FilePath } from '../../../shared/value-objects/index.js';
|
|
9
9
|
import { toError } from '../../../shared/error-utils.js';
|
|
10
|
+
import { getClaudeModelForTier } from '../../../shared/llm/model-registry.js';
|
|
10
11
|
const DEFAULT_CONFIG = {
|
|
11
12
|
baselineDirectory: '.visual-tests/baselines',
|
|
12
13
|
diffDirectory: '.visual-tests/diffs',
|
|
@@ -88,13 +89,7 @@ export class VisualTesterService {
|
|
|
88
89
|
* ADR-051: Get model name for specified tier
|
|
89
90
|
*/
|
|
90
91
|
getModelForTier(tier) {
|
|
91
|
-
|
|
92
|
-
1: 'claude-haiku-4-5',
|
|
93
|
-
2: 'claude-sonnet-4-6',
|
|
94
|
-
3: 'claude-sonnet-4-6',
|
|
95
|
-
4: 'claude-opus-4-7',
|
|
96
|
-
};
|
|
97
|
-
return models[tier] || models[2];
|
|
92
|
+
return getClaudeModelForTier(tier);
|
|
98
93
|
}
|
|
99
94
|
/**
|
|
100
95
|
* Capture screenshot of URL
|
|
@@ -9,6 +9,7 @@ import { copyFileSync, existsSync, mkdirSync, readFileSync, readdirSync, statSyn
|
|
|
9
9
|
import { join, dirname } from 'path';
|
|
10
10
|
import { fileURLToPath } from 'url';
|
|
11
11
|
import { toErrorMessage } from '../shared/error-utils.js';
|
|
12
|
+
import { findPackageRoot } from './find-package-root.js';
|
|
12
13
|
import { selectCodexSkills } from './codex-skill-manifest.js';
|
|
13
14
|
import { createPlatformConfigGenerator, } from './platform-config-generator.js';
|
|
14
15
|
export const CODEX_COMPACT_GUIDANCE_MAX_BYTES = 512;
|
|
@@ -111,7 +112,7 @@ export class CodexInstaller {
|
|
|
111
112
|
result.ownedGuidanceBytes = Buffer.byteLength(marked);
|
|
112
113
|
result.components.rules.status = 'installed';
|
|
113
114
|
}
|
|
114
|
-
else
|
|
115
|
+
else {
|
|
115
116
|
const content = policy === 'compact' ? COMPACT_CODEX_GUIDANCE : rules.content;
|
|
116
117
|
const existing = readFileSync(agentsMdPath, 'utf-8');
|
|
117
118
|
const merged = this.mergeExistingAgentsMdContent(existing, content);
|
|
@@ -125,10 +126,6 @@ export class CodexInstaller {
|
|
|
125
126
|
}
|
|
126
127
|
result.ownedGuidanceBytes = this.measureOwnedAgentsSection(merged);
|
|
127
128
|
}
|
|
128
|
-
else {
|
|
129
|
-
result.components.rules.status = 'preserved';
|
|
130
|
-
result.ownedGuidanceBytes = this.measureOwnedAgentsSection(readFileSync(agentsMdPath, 'utf-8'));
|
|
131
|
-
}
|
|
132
129
|
}
|
|
133
130
|
catch (error) {
|
|
134
131
|
this.recordComponentFailure(result, 'rules', error);
|
|
@@ -147,6 +144,13 @@ export class CodexInstaller {
|
|
|
147
144
|
catch (error) {
|
|
148
145
|
this.recordComponentFailure(result, 'skills', error);
|
|
149
146
|
}
|
|
147
|
+
for (const component of ['hooks', 'skills']) {
|
|
148
|
+
if (result.components[component].status === 'unavailable') {
|
|
149
|
+
const message = `Codex ${component} unavailable: packaged assets could not be located`;
|
|
150
|
+
result.components[component].error = message;
|
|
151
|
+
result.errors.push(message);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
150
154
|
result.success = result.errors.length === 0;
|
|
151
155
|
return result;
|
|
152
156
|
}
|
|
@@ -297,6 +301,11 @@ export class CodexInstaller {
|
|
|
297
301
|
}
|
|
298
302
|
}
|
|
299
303
|
resolvePackageRoot() {
|
|
304
|
+
// Bundled chunks retain their real package location even when npm's aqe
|
|
305
|
+
// bin is a symlink in a global prefix.
|
|
306
|
+
const packagedRoot = findPackageRoot(import.meta.url);
|
|
307
|
+
if (packagedRoot)
|
|
308
|
+
return packagedRoot;
|
|
300
309
|
const moduleDir = dirname(fileURLToPath(import.meta.url));
|
|
301
310
|
const candidates = [
|
|
302
311
|
join(moduleDir, '..', '..'),
|
|
@@ -348,7 +357,10 @@ export class CodexInstaller {
|
|
|
348
357
|
return merged;
|
|
349
358
|
if (existing.length === 0)
|
|
350
359
|
return marked;
|
|
351
|
-
|
|
360
|
+
// The owned block starts at the original EOF. Keeping every pre-existing
|
|
361
|
+
// byte outside the sentinel lets `none` remove the block exactly, even
|
|
362
|
+
// when the user's file has no trailing newline.
|
|
363
|
+
return existing + marked;
|
|
352
364
|
}
|
|
353
365
|
removeOwnedAgentsSections(existing) {
|
|
354
366
|
this.assertOwnedAgentsSectionsWellFormed(existing);
|
|
@@ -497,7 +497,7 @@ export function configToYAML(config) {
|
|
|
497
497
|
lines.push('# Set provider/model to override auto-detection from environment API keys');
|
|
498
498
|
lines.push('advisor:');
|
|
499
499
|
lines.push(' # provider: "openrouter" # openrouter | claude | ollama (auto-detected if not set)');
|
|
500
|
-
lines.push(' # model: "anthropic/claude-opus-
|
|
500
|
+
lines.push(' # model: "anthropic/claude-opus-5.5" # provider-specific model ID');
|
|
501
501
|
lines.push(' # maxUses: "3" # per-task advisor call cap');
|
|
502
502
|
lines.push(' redact: "strict" # strict | balanced | off');
|
|
503
503
|
lines.push('');
|
|
@@ -10,6 +10,7 @@ import { join, dirname } from 'path';
|
|
|
10
10
|
import { fileURLToPath } from 'url';
|
|
11
11
|
import { toErrorMessage } from '../shared/error-utils.js';
|
|
12
12
|
import { findPackageRoot } from './find-package-root.js';
|
|
13
|
+
import { DEFAULT_HAIKU_MODEL, DEFAULT_OPUS_MODEL, DEFAULT_SONNET_MODEL, } from '../shared/llm/model-registry.js';
|
|
13
14
|
// ESM compatibility
|
|
14
15
|
const __filename = fileURLToPath(import.meta.url);
|
|
15
16
|
const __dirname = dirname(__filename);
|
|
@@ -239,15 +240,15 @@ export class KiroInstaller {
|
|
|
239
240
|
// Map model from frontmatter, falling back to category/priority heuristics
|
|
240
241
|
const rawModel = getField('model');
|
|
241
242
|
const priority = getField('priority');
|
|
242
|
-
let model =
|
|
243
|
+
let model = DEFAULT_SONNET_MODEL;
|
|
243
244
|
if (rawModel) {
|
|
244
245
|
if (rawModel.includes('opus'))
|
|
245
|
-
model =
|
|
246
|
+
model = DEFAULT_OPUS_MODEL;
|
|
246
247
|
else if (rawModel.includes('haiku'))
|
|
247
|
-
model =
|
|
248
|
+
model = DEFAULT_HAIKU_MODEL;
|
|
248
249
|
}
|
|
249
250
|
else if (priority === 'critical') {
|
|
250
|
-
model =
|
|
251
|
+
model = DEFAULT_SONNET_MODEL;
|
|
251
252
|
}
|
|
252
253
|
return {
|
|
253
254
|
name: agentName,
|
|
@@ -339,12 +340,12 @@ export class KiroInstaller {
|
|
|
339
340
|
}
|
|
340
341
|
const allowedTools = [...allowedToolsSet];
|
|
341
342
|
// Map model names
|
|
342
|
-
let model =
|
|
343
|
+
let model = DEFAULT_SONNET_MODEL;
|
|
343
344
|
if (agent.model) {
|
|
344
345
|
if (agent.model.includes('opus'))
|
|
345
|
-
model =
|
|
346
|
+
model = DEFAULT_OPUS_MODEL;
|
|
346
347
|
else if (agent.model.includes('haiku'))
|
|
347
|
-
model =
|
|
348
|
+
model = DEFAULT_HAIKU_MODEL;
|
|
348
349
|
}
|
|
349
350
|
// Convert mcp:agentic-qe: references in prompt text to Kiro @agentic-qe/ format
|
|
350
351
|
const rawPrompt = agent.systemPrompt ?? `You are ${agent.name}, a specialized QE agent in the Agentic QE v3 platform.`;
|
|
@@ -372,7 +373,7 @@ export class KiroInstaller {
|
|
|
372
373
|
const agent = {
|
|
373
374
|
name: 'qe-specialist',
|
|
374
375
|
description: 'Quality Engineering specialist powered by Agentic QE',
|
|
375
|
-
model:
|
|
376
|
+
model: DEFAULT_SONNET_MODEL,
|
|
376
377
|
prompt: 'You are a QE specialist. Use AQE tools for test generation, coverage analysis, and quality assessment. Always call fleet_init before other AQE tools.',
|
|
377
378
|
mcpServers: {
|
|
378
379
|
'agentic-qe': {
|
|
@@ -205,7 +205,7 @@ export class OpenCodeInstaller {
|
|
|
205
205
|
mode: 'subagent',
|
|
206
206
|
};
|
|
207
207
|
// NOTE: `model` is intentionally omitted so agents inherit the user's
|
|
208
|
-
// default OpenCode model. AQE ships model "claude-sonnet-
|
|
208
|
+
// default OpenCode model. AQE ships Claude model IDs (e.g. "claude-sonnet-5") which may
|
|
209
209
|
// not resolve in OpenCode's provider registry; inheriting avoids
|
|
210
210
|
// hard-failing the agent at invocation time.
|
|
211
211
|
const permission = this.buildPermission(name, data.permissions, permissionsYaml);
|
|
@@ -158,6 +158,7 @@ export class ModularInitOrchestrator {
|
|
|
158
158
|
claudeMdGenerated: claudeMdResult?.data?.generated ?? false,
|
|
159
159
|
workersStarted: workersResult?.data?.workersConfigured ?? 0,
|
|
160
160
|
codexGuidance: assetsResult?.data?.codexGuidance,
|
|
161
|
+
codexComponents: assetsResult?.data?.codexComponents,
|
|
161
162
|
},
|
|
162
163
|
totalDurationMs: Date.now() - startTime,
|
|
163
164
|
timestamp: new Date(),
|
|
@@ -79,14 +79,16 @@ export class HooksPhase extends BasePhase {
|
|
|
79
79
|
// Add AQE environment variables without clobbering any value the user
|
|
80
80
|
// already set — including AQE_-prefixed overrides (only missing keys added).
|
|
81
81
|
const existingEnv = settings.env;
|
|
82
|
-
|
|
82
|
+
const backendOptions = { memoryBackend: context.options.memoryBackend };
|
|
83
|
+
settings.env = mergeAqeEnv(existingEnv, generateAqeEnvVars(config, backendOptions), backendOptions);
|
|
83
84
|
// Apply v3 settings sections non-destructively:
|
|
84
85
|
// - permissions union-merged (preserve user entries, #362)
|
|
85
86
|
// - statusLine / includeCoAuthoredBy preserved when user-set (#362 follow-up)
|
|
86
87
|
// - AQE-owned sections deep-merged so user additions survive
|
|
87
|
-
const v3Sections = generateV3SettingsSections(config, projectRoot);
|
|
88
|
+
const v3Sections = generateV3SettingsSections(config, projectRoot, backendOptions);
|
|
88
89
|
applyV3Sections(settings, v3Sections, {
|
|
89
90
|
statusLine: !context.options.noStatusLine,
|
|
91
|
+
...backendOptions,
|
|
90
92
|
});
|
|
91
93
|
// Enable MCP servers (deduplicate, replace old 'aqe' with 'agentic-qe')
|
|
92
94
|
let existingMcp = settings.enabledMcpjsonServers || [];
|
|
@@ -20,6 +20,16 @@ export interface AssetsResult {
|
|
|
20
20
|
policy: 'full' | 'compact' | 'none';
|
|
21
21
|
ownedBytes: number;
|
|
22
22
|
};
|
|
23
|
+
codexComponents?: {
|
|
24
|
+
hooks: {
|
|
25
|
+
status: string;
|
|
26
|
+
error?: string;
|
|
27
|
+
};
|
|
28
|
+
skills: {
|
|
29
|
+
status: string;
|
|
30
|
+
error?: string;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
23
33
|
}
|
|
24
34
|
/**
|
|
25
35
|
* Assets phase - installs skills and agents
|
|
@@ -37,6 +37,7 @@ export class AssetsPhase extends BasePhase {
|
|
|
37
37
|
let kiroSkills = 0;
|
|
38
38
|
let kiroHooks = 0;
|
|
39
39
|
let codexGuidance;
|
|
40
|
+
let codexComponents;
|
|
40
41
|
if (options.upgrade) {
|
|
41
42
|
context.services.log(` Upgrade mode: overwriting existing files`);
|
|
42
43
|
}
|
|
@@ -303,6 +304,7 @@ export class AssetsPhase extends BasePhase {
|
|
|
303
304
|
});
|
|
304
305
|
const res = await installer.install();
|
|
305
306
|
codexGuidance = { policy: res.guidancePolicy, ownedBytes: res.ownedGuidanceBytes };
|
|
307
|
+
codexComponents = { hooks: res.components.hooks, skills: res.components.skills };
|
|
306
308
|
if (res.mcpConfigured)
|
|
307
309
|
platformsConfigured.push('codex');
|
|
308
310
|
if (res.errors.length > 0)
|
|
@@ -361,6 +363,7 @@ export class AssetsPhase extends BasePhase {
|
|
|
361
363
|
platformsConfigured,
|
|
362
364
|
browserEngine,
|
|
363
365
|
codexGuidance,
|
|
366
|
+
codexComponents,
|
|
364
367
|
};
|
|
365
368
|
}
|
|
366
369
|
/**
|
|
@@ -364,7 +364,7 @@ export class VerificationPhase extends BasePhase {
|
|
|
364
364
|
'# Set provider/model to override auto-detection from environment API keys',
|
|
365
365
|
'advisor:',
|
|
366
366
|
' # provider: "openrouter" # openrouter | claude | ollama (auto-detected if not set)',
|
|
367
|
-
' # model: "anthropic/claude-opus-
|
|
367
|
+
' # model: "anthropic/claude-opus-5.5" # provider-specific model ID',
|
|
368
368
|
' # maxUses: "3" # per-task advisor call cap',
|
|
369
369
|
' redact: "strict" # strict | balanced | off',
|
|
370
370
|
'',
|
|
@@ -44,11 +44,15 @@ export declare function mergeHooksSmart(existingHooks: Record<string, unknown[]>
|
|
|
44
44
|
* `AQE_LEARNING_ENABLED=false` keeps their choice. Non-AQE env vars are always
|
|
45
45
|
* preserved. Returns a new object; inputs are not mutated.
|
|
46
46
|
*/
|
|
47
|
-
export declare function mergeAqeEnv(existingEnv: Record<string, string> | undefined, aqeEnv: Record<string, string
|
|
47
|
+
export declare function mergeAqeEnv(existingEnv: Record<string, string> | undefined, aqeEnv: Record<string, string>, options?: {
|
|
48
|
+
memoryBackend?: string;
|
|
49
|
+
}): Record<string, string>;
|
|
48
50
|
/**
|
|
49
51
|
* Generate the full set of AQE environment variables for settings.json.
|
|
50
52
|
*/
|
|
51
|
-
export declare function generateAqeEnvVars(config: AQEInitConfig
|
|
53
|
+
export declare function generateAqeEnvVars(config: AQEInitConfig, options?: {
|
|
54
|
+
memoryBackend?: string;
|
|
55
|
+
}): Record<string, string>;
|
|
52
56
|
/**
|
|
53
57
|
* Detect whether a `statusLine` block is one AQE generated (vs. a user's own).
|
|
54
58
|
* AQE's status line invokes the statusline-v3.cjs helper (or falls back to the
|
|
@@ -72,10 +76,13 @@ export declare function isAqeStatusLine(statusLine: unknown): boolean;
|
|
|
72
76
|
*/
|
|
73
77
|
export declare function applyV3Sections(settings: Record<string, unknown>, sections: Record<string, unknown>, options?: {
|
|
74
78
|
statusLine?: boolean;
|
|
79
|
+
memoryBackend?: string;
|
|
75
80
|
}): Record<string, unknown>;
|
|
76
81
|
/**
|
|
77
82
|
* Generate v3-specific settings sections for settings.json.
|
|
78
83
|
* These sections enable the self-learning system, status line, and permissions.
|
|
79
84
|
*/
|
|
80
|
-
export declare function generateV3SettingsSections(config: AQEInitConfig, projectRoot?: string
|
|
85
|
+
export declare function generateV3SettingsSections(config: AQEInitConfig, projectRoot?: string, options?: {
|
|
86
|
+
memoryBackend?: string;
|
|
87
|
+
}): Record<string, unknown>;
|
|
81
88
|
//# sourceMappingURL=settings-merge.d.ts.map
|
|
@@ -104,19 +104,44 @@ export function mergeHooksSmart(existingHooks, newAqeHooks) {
|
|
|
104
104
|
* `AQE_LEARNING_ENABLED=false` keeps their choice. Non-AQE env vars are always
|
|
105
105
|
* preserved. Returns a new object; inputs are not mutated.
|
|
106
106
|
*/
|
|
107
|
-
export function mergeAqeEnv(existingEnv, aqeEnv) {
|
|
107
|
+
export function mergeAqeEnv(existingEnv, aqeEnv, options = {}) {
|
|
108
108
|
// AQE defaults first, then existing values win on any key collision.
|
|
109
|
-
|
|
109
|
+
const merged = { ...aqeEnv, ...(existingEnv || {}) };
|
|
110
|
+
if (options.memoryBackend === 'memory') {
|
|
111
|
+
// An explicit --no-database re-init must replace stale AQE persistence
|
|
112
|
+
// settings, even if the previous init wrote them into this env block.
|
|
113
|
+
// Custom paths remain inert under the memory backend and are needed when
|
|
114
|
+
// switching back. Only discard AQE's generated database locations.
|
|
115
|
+
for (const key of ['AQE_MEMORY_PATH', 'AQE_V3_REASONING_BANK']) {
|
|
116
|
+
if (merged[key] === '.agentic-qe/memory.db')
|
|
117
|
+
delete merged[key];
|
|
118
|
+
}
|
|
119
|
+
merged.AQE_MEMORY_BACKEND = 'memory';
|
|
120
|
+
merged.AQE_LEARNING_ENABLED = 'false';
|
|
121
|
+
merged.AQE_WORKERS_ENABLED = 'false';
|
|
122
|
+
}
|
|
123
|
+
else if (existingEnv?.AQE_MEMORY_BACKEND === 'memory') {
|
|
124
|
+
// Undo the overrides written by memory-mode init. Ordinary user overrides
|
|
125
|
+
// still win when there is no memory-mode marker.
|
|
126
|
+
for (const key of ['AQE_MEMORY_BACKEND', 'AQE_LEARNING_ENABLED', 'AQE_WORKERS_ENABLED']) {
|
|
127
|
+
if (Object.prototype.hasOwnProperty.call(aqeEnv, key))
|
|
128
|
+
merged[key] = aqeEnv[key];
|
|
129
|
+
else
|
|
130
|
+
delete merged[key];
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return merged;
|
|
110
134
|
}
|
|
111
135
|
/**
|
|
112
136
|
* Generate the full set of AQE environment variables for settings.json.
|
|
113
137
|
*/
|
|
114
|
-
export function generateAqeEnvVars(config) {
|
|
138
|
+
export function generateAqeEnvVars(config, options = {}) {
|
|
115
139
|
const domains = config.domains?.enabled || [];
|
|
140
|
+
const dbFree = options.memoryBackend === 'memory';
|
|
116
141
|
return {
|
|
117
|
-
AQE_MEMORY_PATH: '.agentic-qe/memory.db',
|
|
142
|
+
...(dbFree ? { AQE_MEMORY_BACKEND: 'memory', AQE_WORKERS_ENABLED: 'false' } : { AQE_MEMORY_PATH: '.agentic-qe/memory.db' }),
|
|
118
143
|
AQE_MEMORY_ENABLED: 'true',
|
|
119
|
-
AQE_LEARNING_ENABLED: config.learning?.enabled ? 'true' : 'false',
|
|
144
|
+
AQE_LEARNING_ENABLED: dbFree ? 'false' : config.learning?.enabled ? 'true' : 'false',
|
|
120
145
|
AQE_V3_MODE: 'true',
|
|
121
146
|
AQE_V3_DDD_ENABLED: 'true',
|
|
122
147
|
AQE_V3_DOMAINS: domains.join(','),
|
|
@@ -126,7 +151,7 @@ export function generateAqeEnvVars(config) {
|
|
|
126
151
|
AQE_V3_HNSW_ENABLED: config.learning?.hnswConfig ? 'true' : 'false',
|
|
127
152
|
AQE_V3_HOOKS_ENABLED: 'true',
|
|
128
153
|
AQE_V3_AISP_ENABLED: 'true',
|
|
129
|
-
AQE_V3_REASONING_BANK: '.agentic-qe/memory.db',
|
|
154
|
+
...(!dbFree ? { AQE_V3_REASONING_BANK: '.agentic-qe/memory.db' } : {}),
|
|
130
155
|
AQE_V3_PATTERN_PROMOTION_THRESHOLD: String(config.learning?.promotionThreshold ?? 3),
|
|
131
156
|
AQE_V3_SUCCESS_RATE_THRESHOLD: String(config.learning?.qualityThreshold ?? 0.7),
|
|
132
157
|
};
|
|
@@ -206,14 +231,20 @@ export function applyV3Sections(settings, sections, options = {}) {
|
|
|
206
231
|
settings[key] = deepMergeOwned(settings[key], value);
|
|
207
232
|
}
|
|
208
233
|
}
|
|
234
|
+
if (options.memoryBackend === 'memory') {
|
|
235
|
+
const learning = settings.v3Learning;
|
|
236
|
+
if (learning?.reasoningBank)
|
|
237
|
+
delete learning.reasoningBank.dbPath;
|
|
238
|
+
}
|
|
209
239
|
return settings;
|
|
210
240
|
}
|
|
211
241
|
/**
|
|
212
242
|
* Generate v3-specific settings sections for settings.json.
|
|
213
243
|
* These sections enable the self-learning system, status line, and permissions.
|
|
214
244
|
*/
|
|
215
|
-
export function generateV3SettingsSections(config, projectRoot) {
|
|
245
|
+
export function generateV3SettingsSections(config, projectRoot, options = {}) {
|
|
216
246
|
const domains = config.domains?.enabled || [];
|
|
247
|
+
const dbFree = options.memoryBackend === 'memory';
|
|
217
248
|
return {
|
|
218
249
|
aqe: {
|
|
219
250
|
version: config.version ?? '3.0.0',
|
|
@@ -243,9 +274,9 @@ export function generateV3SettingsSections(config, projectRoot) {
|
|
|
243
274
|
},
|
|
244
275
|
},
|
|
245
276
|
v3Learning: {
|
|
246
|
-
enabled: config.learning?.enabled ?? true,
|
|
277
|
+
enabled: dbFree ? false : config.learning?.enabled ?? true,
|
|
247
278
|
reasoningBank: {
|
|
248
|
-
dbPath: '.agentic-qe/memory.db',
|
|
279
|
+
...(!dbFree ? { dbPath: '.agentic-qe/memory.db' } : {}),
|
|
249
280
|
enableHNSW: !!config.learning?.hnswConfig,
|
|
250
281
|
},
|
|
251
282
|
patternPromotion: {
|
|
@@ -13,7 +13,7 @@ export interface TokenBootstrapConfig {
|
|
|
13
13
|
enableOptimization: boolean;
|
|
14
14
|
/** Enable persistence (default: true) */
|
|
15
15
|
enablePersistence: boolean;
|
|
16
|
-
/** Storage directory for metrics (default:
|
|
16
|
+
/** Storage directory for metrics (default: <project>/.agentic-qe) */
|
|
17
17
|
storagePath: string;
|
|
18
18
|
/** Auto-save interval in ms (default: 60000 = 1 minute) */
|
|
19
19
|
autoSaveIntervalMs: number;
|
|
@@ -12,10 +12,11 @@ import * as fs from 'fs';
|
|
|
12
12
|
import { initializeTokenOptimizer, TokenOptimizerService } from '../optimization/token-optimizer-service.js';
|
|
13
13
|
import { TokenMetricsCollector } from '../learning/token-tracker.js';
|
|
14
14
|
import { createDefaultMemoryBackend } from '../kernel/memory-factory.js';
|
|
15
|
+
import { findProjectRoot } from '../kernel/project-root.js';
|
|
15
16
|
const DEFAULT_CONFIG = {
|
|
16
17
|
enableOptimization: true,
|
|
17
18
|
enablePersistence: true,
|
|
18
|
-
storagePath:
|
|
19
|
+
storagePath: '.agentic-qe',
|
|
19
20
|
autoSaveIntervalMs: 60000,
|
|
20
21
|
verbose: process.env.AQE_VERBOSE === 'true',
|
|
21
22
|
};
|
|
@@ -36,7 +37,16 @@ export async function bootstrapTokenTracking(config) {
|
|
|
36
37
|
if (initialized) {
|
|
37
38
|
return;
|
|
38
39
|
}
|
|
39
|
-
|
|
40
|
+
// Resolve the project before creating any directory: a new cwd-local store
|
|
41
|
+
// would otherwise become the nearest AQE root and split project memory.
|
|
42
|
+
// A relative AQE_STORAGE_PATH is anchored at the project root too, so it
|
|
43
|
+
// cannot recreate a cwd-local store from a subdirectory.
|
|
44
|
+
const envStorage = process.env.AQE_STORAGE_PATH;
|
|
45
|
+
const cfg = {
|
|
46
|
+
...DEFAULT_CONFIG, ...config,
|
|
47
|
+
storagePath: config?.storagePath
|
|
48
|
+
?? (envStorage ? path.resolve(findProjectRoot(), envStorage) : path.join(findProjectRoot(), '.agentic-qe')),
|
|
49
|
+
};
|
|
40
50
|
if (cfg.verbose) {
|
|
41
51
|
console.log('[TokenBootstrap] Initializing token tracking...');
|
|
42
52
|
}
|
package/dist/init/types.d.ts
CHANGED
|
@@ -227,6 +227,16 @@ export interface InitResult {
|
|
|
227
227
|
policy: 'full' | 'compact' | 'none';
|
|
228
228
|
ownedBytes: number;
|
|
229
229
|
};
|
|
230
|
+
codexComponents?: {
|
|
231
|
+
hooks: {
|
|
232
|
+
status: string;
|
|
233
|
+
error?: string;
|
|
234
|
+
};
|
|
235
|
+
skills: {
|
|
236
|
+
status: string;
|
|
237
|
+
error?: string;
|
|
238
|
+
};
|
|
239
|
+
};
|
|
230
240
|
};
|
|
231
241
|
totalDurationMs: number;
|
|
232
242
|
timestamp: Date;
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
*
|
|
12
12
|
* @module integrations/agentic-flow/model-router/types
|
|
13
13
|
*/
|
|
14
|
+
import { CLAUDE_TIER_MODELS, DEFAULT_OPUS_MODEL, DEFAULT_SONNET_MODEL, } from '../../../shared/llm/model-registry.js';
|
|
14
15
|
/**
|
|
15
16
|
* Metadata for all model tiers
|
|
16
17
|
*/
|
|
@@ -46,7 +47,7 @@ export const TIER_METADATA = {
|
|
|
46
47
|
],
|
|
47
48
|
typicalLatencyMs: 500,
|
|
48
49
|
relativeCost: 1,
|
|
49
|
-
exampleModels: [
|
|
50
|
+
exampleModels: [CLAUDE_TIER_MODELS[1], 'gpt-4o-mini', 'gemini-flash'],
|
|
50
51
|
requiresNetwork: true,
|
|
51
52
|
complexityRange: [10, 35],
|
|
52
53
|
},
|
|
@@ -63,7 +64,7 @@ export const TIER_METADATA = {
|
|
|
63
64
|
],
|
|
64
65
|
typicalLatencyMs: 3000,
|
|
65
66
|
relativeCost: 2,
|
|
66
|
-
exampleModels: [
|
|
67
|
+
exampleModels: [DEFAULT_SONNET_MODEL, 'gpt-4o', 'gemini-pro'],
|
|
67
68
|
requiresNetwork: true,
|
|
68
69
|
complexityRange: [35, 70],
|
|
69
70
|
},
|
|
@@ -79,7 +80,7 @@ export const TIER_METADATA = {
|
|
|
79
80
|
],
|
|
80
81
|
typicalLatencyMs: 7000,
|
|
81
82
|
relativeCost: 3,
|
|
82
|
-
exampleModels: [
|
|
83
|
+
exampleModels: [DEFAULT_SONNET_MODEL],
|
|
83
84
|
requiresNetwork: true,
|
|
84
85
|
complexityRange: [60, 85],
|
|
85
86
|
},
|
|
@@ -96,7 +97,7 @@ export const TIER_METADATA = {
|
|
|
96
97
|
],
|
|
97
98
|
typicalLatencyMs: 5000,
|
|
98
99
|
relativeCost: 4,
|
|
99
|
-
exampleModels: [
|
|
100
|
+
exampleModels: [DEFAULT_OPUS_MODEL, 'gpt-4-turbo'],
|
|
100
101
|
requiresNetwork: true,
|
|
101
102
|
complexityRange: [75, 100],
|
|
102
103
|
},
|
|
@@ -177,10 +178,7 @@ export const DEFAULT_ROUTER_CONFIG = {
|
|
|
177
178
|
fallbackTier: 2, // Sonnet as fallback
|
|
178
179
|
tierModels: {
|
|
179
180
|
0: 'agent-booster',
|
|
180
|
-
|
|
181
|
-
2: 'claude-sonnet-4-6',
|
|
182
|
-
3: 'claude-sonnet-4-6',
|
|
183
|
-
4: 'claude-opus-4-7',
|
|
181
|
+
...CLAUDE_TIER_MODELS,
|
|
184
182
|
},
|
|
185
183
|
};
|
|
186
184
|
// ============================================================================
|
|
@@ -20,7 +20,8 @@
|
|
|
20
20
|
import { existsSync, mkdirSync, writeFileSync, readFileSync } from 'fs';
|
|
21
21
|
import { join, resolve } from 'path';
|
|
22
22
|
import { safeJsonParse } from '../../shared/safe-json.js';
|
|
23
|
-
import { sha256, queryAll, queryIterator, countRows, domainFilterForColumn, writeJsonl, writeJsonlStreaming, readJsonl,
|
|
23
|
+
import { sha256, queryAll, queryIterator, countRows, domainFilterForColumn, writeJsonl, writeJsonlStreaming, readJsonl, runImportTransaction, serializeRowBlobs, deserializeRowBlobs, mergeGenericRow, remapPatternReferences, mergeAppendOnlyRow, TABLE_CONFIGS, PK_COLUMNS, CONFIDENCE_COLUMNS, TIMESTAMP_COLUMNS, } from './brain-shared.js';
|
|
24
|
+
import { appendBrainImportWitness } from './brain-import-audit.js';
|
|
24
25
|
// ============================================================================
|
|
25
26
|
// Internal helpers
|
|
26
27
|
// ============================================================================
|
|
@@ -219,28 +220,30 @@ export function importBrain(db, containerPath, options) {
|
|
|
219
220
|
'The export may have been tampered with or corrupted.');
|
|
220
221
|
}
|
|
221
222
|
const configs = tablesToImport(manifest.version);
|
|
222
|
-
if (options.dryRun) {
|
|
223
|
-
let total = 0;
|
|
224
|
-
for (const config of configs) {
|
|
225
|
-
const rows = readJsonl(join(dir, config.fileName), safeJsonParse);
|
|
226
|
-
total += rows.length;
|
|
227
|
-
}
|
|
228
|
-
return { imported: total, skipped: 0, conflicts: 0 };
|
|
229
|
-
}
|
|
230
|
-
ensureTargetTables(db);
|
|
231
223
|
let imported = 0;
|
|
232
224
|
let skipped = 0;
|
|
233
225
|
let conflicts = 0;
|
|
234
226
|
// Wrap entire import in a transaction for atomicity (Risk #3 from plan)
|
|
235
|
-
const importAll =
|
|
227
|
+
const importAll = () => {
|
|
228
|
+
const patternIds = new Map();
|
|
229
|
+
const patternWinners = new Map();
|
|
230
|
+
let sourceWitnessRows = 0;
|
|
236
231
|
for (const config of configs) {
|
|
237
232
|
const filePath = join(dir, config.fileName);
|
|
238
233
|
let rows = readJsonl(filePath, safeJsonParse);
|
|
234
|
+
if (config.tableName === 'witness_chain') {
|
|
235
|
+
// Source rows are signed/linked to a different store. Copying them into
|
|
236
|
+
// this live chain would make the first imported predecessor invalid.
|
|
237
|
+
sourceWitnessRows += rows.length;
|
|
238
|
+
skipped += rows.length;
|
|
239
|
+
continue;
|
|
240
|
+
}
|
|
239
241
|
// Deserialize BLOBs from Base64
|
|
240
242
|
if (config.blobColumns && config.blobColumns.length > 0) {
|
|
241
243
|
rows = rows.map(r => deserializeRowBlobs(r, config.blobColumns));
|
|
242
244
|
}
|
|
243
|
-
for (const
|
|
245
|
+
for (const originalRow of rows) {
|
|
246
|
+
const row = remapPatternReferences(originalRow, patternIds);
|
|
244
247
|
let result;
|
|
245
248
|
if (config.dedupColumns && config.dedupColumns.length > 0) {
|
|
246
249
|
// Append-only tables (witness_chain, qe_pattern_usage)
|
|
@@ -251,15 +254,23 @@ export function importBrain(db, containerPath, options) {
|
|
|
251
254
|
const idCol = PK_COLUMNS[config.tableName] || 'id';
|
|
252
255
|
const tsCol = TIMESTAMP_COLUMNS[config.tableName];
|
|
253
256
|
const confCol = CONFIDENCE_COLUMNS[config.tableName];
|
|
254
|
-
result = mergeGenericRow(db, config.tableName, row, idCol, options.mergeStrategy, tsCol, confCol);
|
|
257
|
+
result = mergeGenericRow(db, config.tableName, row, idCol, options.mergeStrategy, tsCol, confCol, patternIds, patternWinners, originalRow.pattern_id);
|
|
255
258
|
}
|
|
256
259
|
imported += result.imported;
|
|
257
260
|
skipped += result.skipped;
|
|
258
261
|
conflicts += result.conflicts;
|
|
259
262
|
}
|
|
260
263
|
}
|
|
261
|
-
|
|
262
|
-
|
|
264
|
+
appendBrainImportWitness(db, {
|
|
265
|
+
sourceChecksum: manifest.checksum,
|
|
266
|
+
sourceWitnessRows,
|
|
267
|
+
importedRecords: imported,
|
|
268
|
+
skippedRecords: skipped,
|
|
269
|
+
conflicts,
|
|
270
|
+
});
|
|
271
|
+
imported += 1;
|
|
272
|
+
};
|
|
273
|
+
runImportTransaction(db, options.dryRun ?? false, importAll);
|
|
263
274
|
return { imported, skipped, conflicts };
|
|
264
275
|
}
|
|
265
276
|
// ============================================================================
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** Record a brain import without grafting another store's witness history. */
|
|
2
|
+
import type Database from 'better-sqlite3';
|
|
3
|
+
interface BrainImportAuditDetails {
|
|
4
|
+
sourceChecksum: string;
|
|
5
|
+
sourceWitnessRows: number;
|
|
6
|
+
importedRecords: number;
|
|
7
|
+
skippedRecords: number;
|
|
8
|
+
conflicts: number;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Call inside the import transaction, after merging all non-witness tables.
|
|
12
|
+
*
|
|
13
|
+
* Reuses WitnessChain's own hashing/serialization so the link format cannot
|
|
14
|
+
* drift from what WitnessChain.verify() checks. The row is intentionally left
|
|
15
|
+
* unsigned: the target DB may belong to a different project than the CWD, so
|
|
16
|
+
* the process-default signing key is not necessarily the target's key.
|
|
17
|
+
*/
|
|
18
|
+
export declare function appendBrainImportWitness(db: Database.Database, details: BrainImportAuditDetails): void;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=brain-import-audit.d.ts.map
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { GENESIS_PREV_HASH, hashWith, serializeEntry, } from '../../audit/witness-chain.js';
|
|
2
|
+
/**
|
|
3
|
+
* Call inside the import transaction, after merging all non-witness tables.
|
|
4
|
+
*
|
|
5
|
+
* Reuses WitnessChain's own hashing/serialization so the link format cannot
|
|
6
|
+
* drift from what WitnessChain.verify() checks. The row is intentionally left
|
|
7
|
+
* unsigned: the target DB may belong to a different project than the CWD, so
|
|
8
|
+
* the process-default signing key is not necessarily the target's key.
|
|
9
|
+
*/
|
|
10
|
+
export function appendBrainImportWitness(db, details) {
|
|
11
|
+
const algo = 'shake256';
|
|
12
|
+
const actionData = JSON.stringify(details);
|
|
13
|
+
const last = db.prepare('SELECT * FROM witness_chain ORDER BY id DESC LIMIT 1')
|
|
14
|
+
.get();
|
|
15
|
+
const previousHash = last ? hashWith(algo, serializeEntry(last)) : GENESIS_PREV_HASH;
|
|
16
|
+
db.prepare(`
|
|
17
|
+
INSERT INTO witness_chain
|
|
18
|
+
(prev_hash, action_hash, action_type, action_data, timestamp, actor, hash_algo)
|
|
19
|
+
VALUES (?, ?, 'BRAIN_IMPORT', ?, ?, 'brain-import', ?)
|
|
20
|
+
`).run(previousHash, hashWith(algo, actionData), actionData, new Date().toISOString(), algo);
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=brain-import-audit.js.map
|