agentic-qe 3.3.0 → 3.3.1
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/README.md +6 -2
- package/package.json +6 -1
- package/v3/CHANGELOG.md +88 -0
- package/v3/dist/cli/bundle.js +18794 -15534
- package/v3/dist/cli/command-registry.d.ts +55 -0
- package/v3/dist/cli/command-registry.d.ts.map +1 -0
- package/v3/dist/cli/command-registry.js +103 -0
- package/v3/dist/cli/command-registry.js.map +1 -0
- package/v3/dist/cli/commands/code.d.ts +9 -0
- package/v3/dist/cli/commands/code.d.ts.map +1 -0
- package/v3/dist/cli/commands/code.js +254 -0
- package/v3/dist/cli/commands/code.js.map +1 -0
- package/v3/dist/cli/commands/completions.d.ts +8 -0
- package/v3/dist/cli/commands/completions.d.ts.map +1 -0
- package/v3/dist/cli/commands/completions.js +99 -0
- package/v3/dist/cli/commands/completions.js.map +1 -0
- package/v3/dist/cli/commands/coverage.d.ts +9 -0
- package/v3/dist/cli/commands/coverage.d.ts.map +1 -0
- package/v3/dist/cli/commands/coverage.js +208 -0
- package/v3/dist/cli/commands/coverage.js.map +1 -0
- package/v3/dist/cli/commands/fleet.d.ts +11 -0
- package/v3/dist/cli/commands/fleet.d.ts.map +1 -0
- package/v3/dist/cli/commands/fleet.js +338 -0
- package/v3/dist/cli/commands/fleet.js.map +1 -0
- package/v3/dist/cli/commands/migrate.d.ts +9 -0
- package/v3/dist/cli/commands/migrate.d.ts.map +1 -0
- package/v3/dist/cli/commands/migrate.js +566 -0
- package/v3/dist/cli/commands/migrate.js.map +1 -0
- package/v3/dist/cli/commands/quality.d.ts +9 -0
- package/v3/dist/cli/commands/quality.d.ts.map +1 -0
- package/v3/dist/cli/commands/quality.js +40 -0
- package/v3/dist/cli/commands/quality.js.map +1 -0
- package/v3/dist/cli/commands/security.d.ts +9 -0
- package/v3/dist/cli/commands/security.d.ts.map +1 -0
- package/v3/dist/cli/commands/security.js +124 -0
- package/v3/dist/cli/commands/security.js.map +1 -0
- package/v3/dist/cli/commands/sync.d.ts +19 -0
- package/v3/dist/cli/commands/sync.d.ts.map +1 -0
- package/v3/dist/cli/commands/sync.js +283 -0
- package/v3/dist/cli/commands/sync.js.map +1 -0
- package/v3/dist/cli/commands/test.d.ts +9 -0
- package/v3/dist/cli/commands/test.d.ts.map +1 -0
- package/v3/dist/cli/commands/test.js +166 -0
- package/v3/dist/cli/commands/test.js.map +1 -0
- package/v3/dist/cli/handlers/agent-handler.d.ts +20 -0
- package/v3/dist/cli/handlers/agent-handler.d.ts.map +1 -0
- package/v3/dist/cli/handlers/agent-handler.js +158 -0
- package/v3/dist/cli/handlers/agent-handler.js.map +1 -0
- package/v3/dist/cli/handlers/domain-handler.d.ts +20 -0
- package/v3/dist/cli/handlers/domain-handler.d.ts.map +1 -0
- package/v3/dist/cli/handlers/domain-handler.js +115 -0
- package/v3/dist/cli/handlers/domain-handler.js.map +1 -0
- package/v3/dist/cli/handlers/index.d.ts +13 -0
- package/v3/dist/cli/handlers/index.d.ts.map +1 -0
- package/v3/dist/cli/handlers/index.js +15 -0
- package/v3/dist/cli/handlers/index.js.map +1 -0
- package/v3/dist/cli/handlers/init-handler.d.ts +38 -0
- package/v3/dist/cli/handlers/init-handler.d.ts.map +1 -0
- package/v3/dist/cli/handlers/init-handler.js +288 -0
- package/v3/dist/cli/handlers/init-handler.js.map +1 -0
- package/v3/dist/cli/handlers/interfaces.d.ts +104 -0
- package/v3/dist/cli/handlers/interfaces.d.ts.map +1 -0
- package/v3/dist/cli/handlers/interfaces.js +109 -0
- package/v3/dist/cli/handlers/interfaces.js.map +1 -0
- package/v3/dist/cli/handlers/protocol-handler.d.ts +19 -0
- package/v3/dist/cli/handlers/protocol-handler.d.ts.map +1 -0
- package/v3/dist/cli/handlers/protocol-handler.js +79 -0
- package/v3/dist/cli/handlers/protocol-handler.js.map +1 -0
- package/v3/dist/cli/handlers/status-handler.d.ts +30 -0
- package/v3/dist/cli/handlers/status-handler.d.ts.map +1 -0
- package/v3/dist/cli/handlers/status-handler.js +218 -0
- package/v3/dist/cli/handlers/status-handler.js.map +1 -0
- package/v3/dist/cli/handlers/task-handler.d.ts +22 -0
- package/v3/dist/cli/handlers/task-handler.d.ts.map +1 -0
- package/v3/dist/cli/handlers/task-handler.js +271 -0
- package/v3/dist/cli/handlers/task-handler.js.map +1 -0
- package/v3/dist/cli/index.d.ts +4 -0
- package/v3/dist/cli/index.d.ts.map +1 -1
- package/v3/dist/cli/index.js +48 -2677
- package/v3/dist/cli/index.js.map +1 -1
- package/v3/dist/cli/wizards/core/index.d.ts +11 -0
- package/v3/dist/cli/wizards/core/index.d.ts.map +1 -0
- package/v3/dist/cli/wizards/core/index.js +15 -0
- package/v3/dist/cli/wizards/core/index.js.map +1 -0
- package/v3/dist/cli/wizards/core/wizard-base.d.ts +87 -0
- package/v3/dist/cli/wizards/core/wizard-base.d.ts.map +1 -0
- package/v3/dist/cli/wizards/core/wizard-base.js +120 -0
- package/v3/dist/cli/wizards/core/wizard-base.js.map +1 -0
- package/v3/dist/cli/wizards/core/wizard-command.d.ts +182 -0
- package/v3/dist/cli/wizards/core/wizard-command.d.ts.map +1 -0
- package/v3/dist/cli/wizards/core/wizard-command.js +45 -0
- package/v3/dist/cli/wizards/core/wizard-command.js.map +1 -0
- package/v3/dist/cli/wizards/core/wizard-step.d.ts +109 -0
- package/v3/dist/cli/wizards/core/wizard-step.d.ts.map +1 -0
- package/v3/dist/cli/wizards/core/wizard-step.js +384 -0
- package/v3/dist/cli/wizards/core/wizard-step.js.map +1 -0
- package/v3/dist/cli/wizards/core/wizard-utils.d.ts +117 -0
- package/v3/dist/cli/wizards/core/wizard-utils.d.ts.map +1 -0
- package/v3/dist/cli/wizards/core/wizard-utils.js +291 -0
- package/v3/dist/cli/wizards/core/wizard-utils.js.map +1 -0
- package/v3/dist/cli/wizards/coverage-wizard.d.ts +13 -68
- package/v3/dist/cli/wizards/coverage-wizard.d.ts.map +1 -1
- package/v3/dist/cli/wizards/coverage-wizard.js +127 -391
- package/v3/dist/cli/wizards/coverage-wizard.js.map +1 -1
- package/v3/dist/cli/wizards/fleet-wizard.d.ts +13 -64
- package/v3/dist/cli/wizards/fleet-wizard.d.ts.map +1 -1
- package/v3/dist/cli/wizards/fleet-wizard.js +150 -363
- package/v3/dist/cli/wizards/fleet-wizard.js.map +1 -1
- package/v3/dist/cli/wizards/index.d.ts +2 -0
- package/v3/dist/cli/wizards/index.d.ts.map +1 -1
- package/v3/dist/cli/wizards/index.js +3 -0
- package/v3/dist/cli/wizards/index.js.map +1 -1
- package/v3/dist/cli/wizards/security-wizard.d.ts +13 -64
- package/v3/dist/cli/wizards/security-wizard.d.ts.map +1 -1
- package/v3/dist/cli/wizards/security-wizard.js +152 -395
- package/v3/dist/cli/wizards/security-wizard.js.map +1 -1
- package/v3/dist/cli/wizards/test-wizard.d.ts +13 -77
- package/v3/dist/cli/wizards/test-wizard.d.ts.map +1 -1
- package/v3/dist/cli/wizards/test-wizard.js +196 -328
- package/v3/dist/cli/wizards/test-wizard.js.map +1 -1
- package/v3/dist/coordination/mincut/mincut-health-monitor.d.ts +3 -0
- package/v3/dist/coordination/mincut/mincut-health-monitor.d.ts.map +1 -1
- package/v3/dist/coordination/mincut/mincut-health-monitor.js +6 -2
- package/v3/dist/coordination/mincut/mincut-health-monitor.js.map +1 -1
- package/v3/dist/coordination/mincut/queen-integration.d.ts +3 -0
- package/v3/dist/coordination/mincut/queen-integration.d.ts.map +1 -1
- package/v3/dist/coordination/mincut/queen-integration.js +6 -1
- package/v3/dist/coordination/mincut/queen-integration.js.map +1 -1
- package/v3/dist/coordination/task-executor.js +2 -2
- package/v3/dist/coordination/task-executor.js.map +1 -1
- package/v3/dist/domains/chaos-resilience/plugin.js +2 -2
- package/v3/dist/domains/chaos-resilience/plugin.js.map +1 -1
- package/v3/dist/domains/code-intelligence/plugin.js +2 -2
- package/v3/dist/domains/code-intelligence/plugin.js.map +1 -1
- package/v3/dist/domains/contract-testing/plugin.js +2 -2
- package/v3/dist/domains/contract-testing/plugin.js.map +1 -1
- package/v3/dist/domains/coverage-analysis/plugin.d.ts.map +1 -1
- package/v3/dist/domains/coverage-analysis/plugin.js +2 -1
- package/v3/dist/domains/coverage-analysis/plugin.js.map +1 -1
- package/v3/dist/domains/defect-intelligence/plugin.js +2 -2
- package/v3/dist/domains/defect-intelligence/plugin.js.map +1 -1
- package/v3/dist/domains/domain-interface.d.ts.map +1 -1
- package/v3/dist/domains/domain-interface.js +3 -1
- package/v3/dist/domains/domain-interface.js.map +1 -1
- package/v3/dist/domains/learning-optimization/plugin.js +2 -2
- package/v3/dist/domains/learning-optimization/plugin.js.map +1 -1
- package/v3/dist/domains/quality-assessment/plugin.js +2 -2
- package/v3/dist/domains/quality-assessment/plugin.js.map +1 -1
- package/v3/dist/domains/requirements-validation/plugin.js +2 -2
- package/v3/dist/domains/requirements-validation/plugin.js.map +1 -1
- package/v3/dist/domains/security-compliance/plugin.js +2 -2
- package/v3/dist/domains/security-compliance/plugin.js.map +1 -1
- package/v3/dist/domains/test-execution/index.d.ts +2 -1
- package/v3/dist/domains/test-execution/index.d.ts.map +1 -1
- package/v3/dist/domains/test-execution/index.js +0 -2
- package/v3/dist/domains/test-execution/index.js.map +1 -1
- package/v3/dist/domains/test-execution/interfaces.d.ts +222 -25
- package/v3/dist/domains/test-execution/interfaces.d.ts.map +1 -1
- package/v3/dist/domains/test-execution/interfaces.js +130 -3
- package/v3/dist/domains/test-execution/interfaces.js.map +1 -1
- package/v3/dist/domains/test-execution/plugin.d.ts.map +1 -1
- package/v3/dist/domains/test-execution/plugin.js +2 -1
- package/v3/dist/domains/test-execution/plugin.js.map +1 -1
- package/v3/dist/domains/test-execution/test-prioritization-types.d.ts +5 -172
- package/v3/dist/domains/test-execution/test-prioritization-types.d.ts.map +1 -1
- package/v3/dist/domains/test-execution/test-prioritization-types.js +6 -129
- package/v3/dist/domains/test-execution/test-prioritization-types.js.map +1 -1
- package/v3/dist/domains/test-execution/types/index.d.ts +7 -3
- package/v3/dist/domains/test-execution/types/index.d.ts.map +1 -1
- package/v3/dist/domains/test-execution/types/index.js +7 -17
- package/v3/dist/domains/test-execution/types/index.js.map +1 -1
- package/v3/dist/domains/test-generation/coordinator.d.ts +1 -1
- package/v3/dist/domains/test-generation/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/test-generation/coordinator.js +3 -3
- package/v3/dist/domains/test-generation/coordinator.js.map +1 -1
- package/v3/dist/domains/test-generation/factories/index.d.ts +8 -0
- package/v3/dist/domains/test-generation/factories/index.d.ts.map +1 -0
- package/v3/dist/domains/test-generation/factories/index.js +8 -0
- package/v3/dist/domains/test-generation/factories/index.js.map +1 -0
- package/v3/dist/domains/test-generation/factories/test-generator-factory.d.ts +108 -0
- package/v3/dist/domains/test-generation/factories/test-generator-factory.d.ts.map +1 -0
- package/v3/dist/domains/test-generation/factories/test-generator-factory.js +158 -0
- package/v3/dist/domains/test-generation/factories/test-generator-factory.js.map +1 -0
- package/v3/dist/domains/test-generation/generators/base-test-generator.d.ts +79 -0
- package/v3/dist/domains/test-generation/generators/base-test-generator.d.ts.map +1 -0
- package/v3/dist/domains/test-generation/generators/base-test-generator.js +252 -0
- package/v3/dist/domains/test-generation/generators/base-test-generator.js.map +1 -0
- package/v3/dist/domains/test-generation/generators/index.d.ts +11 -0
- package/v3/dist/domains/test-generation/generators/index.d.ts.map +1 -0
- package/v3/dist/domains/test-generation/generators/index.js +13 -0
- package/v3/dist/domains/test-generation/generators/index.js.map +1 -0
- package/v3/dist/domains/test-generation/generators/jest-vitest-generator.d.ts +77 -0
- package/v3/dist/domains/test-generation/generators/jest-vitest-generator.d.ts.map +1 -0
- package/v3/dist/domains/test-generation/generators/jest-vitest-generator.js +365 -0
- package/v3/dist/domains/test-generation/generators/jest-vitest-generator.js.map +1 -0
- package/v3/dist/domains/test-generation/generators/mocha-generator.d.ts +56 -0
- package/v3/dist/domains/test-generation/generators/mocha-generator.d.ts.map +1 -0
- package/v3/dist/domains/test-generation/generators/mocha-generator.js +197 -0
- package/v3/dist/domains/test-generation/generators/mocha-generator.js.map +1 -0
- package/v3/dist/domains/test-generation/generators/pytest-generator.d.ts +66 -0
- package/v3/dist/domains/test-generation/generators/pytest-generator.d.ts.map +1 -0
- package/v3/dist/domains/test-generation/generators/pytest-generator.js +240 -0
- package/v3/dist/domains/test-generation/generators/pytest-generator.js.map +1 -0
- package/v3/dist/domains/test-generation/index.d.ts +2 -2
- package/v3/dist/domains/test-generation/index.d.ts.map +1 -1
- package/v3/dist/domains/test-generation/index.js +3 -3
- package/v3/dist/domains/test-generation/index.js.map +1 -1
- package/v3/dist/domains/test-generation/interfaces/index.d.ts +9 -0
- package/v3/dist/domains/test-generation/interfaces/index.d.ts.map +1 -0
- package/v3/dist/domains/test-generation/interfaces/index.js +9 -0
- package/v3/dist/domains/test-generation/interfaces/index.js.map +1 -0
- package/v3/dist/domains/test-generation/interfaces/test-generator.interface.d.ts +166 -0
- package/v3/dist/domains/test-generation/interfaces/test-generator.interface.d.ts.map +1 -0
- package/v3/dist/domains/test-generation/interfaces/test-generator.interface.js +8 -0
- package/v3/dist/domains/test-generation/interfaces/test-generator.interface.js.map +1 -0
- package/v3/dist/domains/test-generation/interfaces.d.ts +163 -24
- package/v3/dist/domains/test-generation/interfaces.d.ts.map +1 -1
- package/v3/dist/domains/test-generation/interfaces.js +2 -2
- package/v3/dist/domains/test-generation/plugin.d.ts.map +1 -1
- package/v3/dist/domains/test-generation/plugin.js +6 -5
- package/v3/dist/domains/test-generation/plugin.js.map +1 -1
- package/v3/dist/domains/test-generation/{coherence-gate.d.ts → services/coherence-gate-service.d.ts} +4 -4
- package/v3/dist/domains/test-generation/services/coherence-gate-service.d.ts.map +1 -0
- package/v3/dist/domains/test-generation/{coherence-gate.js → services/coherence-gate-service.js} +2 -2
- package/v3/dist/domains/test-generation/services/coherence-gate-service.js.map +1 -0
- package/v3/dist/domains/test-generation/services/index.d.ts +8 -2
- package/v3/dist/domains/test-generation/services/index.d.ts.map +1 -1
- package/v3/dist/domains/test-generation/services/index.js +10 -3
- package/v3/dist/domains/test-generation/services/index.js.map +1 -1
- package/v3/dist/domains/test-generation/services/property-test-generator.d.ts +34 -0
- package/v3/dist/domains/test-generation/services/property-test-generator.d.ts.map +1 -0
- package/v3/dist/domains/test-generation/services/property-test-generator.js +306 -0
- package/v3/dist/domains/test-generation/services/property-test-generator.js.map +1 -0
- package/v3/dist/domains/test-generation/services/tdd-generator.d.ts +33 -0
- package/v3/dist/domains/test-generation/services/tdd-generator.d.ts.map +1 -0
- package/v3/dist/domains/test-generation/services/tdd-generator.js +342 -0
- package/v3/dist/domains/test-generation/services/tdd-generator.js.map +1 -0
- package/v3/dist/domains/test-generation/services/test-data-generator.d.ts +34 -0
- package/v3/dist/domains/test-generation/services/test-data-generator.d.ts.map +1 -0
- package/v3/dist/domains/test-generation/services/test-data-generator.js +245 -0
- package/v3/dist/domains/test-generation/services/test-data-generator.js.map +1 -0
- package/v3/dist/domains/test-generation/services/test-generator.d.ts +51 -160
- package/v3/dist/domains/test-generation/services/test-generator.d.ts.map +1 -1
- package/v3/dist/domains/test-generation/services/test-generator.js +101 -1858
- package/v3/dist/domains/test-generation/services/test-generator.js.map +1 -1
- package/v3/dist/domains/visual-accessibility/plugin.js +2 -2
- package/v3/dist/domains/visual-accessibility/plugin.js.map +1 -1
- package/v3/dist/init/phases/12-verification.d.ts +23 -0
- package/v3/dist/init/phases/12-verification.d.ts.map +1 -1
- package/v3/dist/init/phases/12-verification.js +185 -2
- package/v3/dist/init/phases/12-verification.js.map +1 -1
- package/v3/dist/integrations/agentic-flow/model-router/complexity-analyzer.d.ts +24 -62
- package/v3/dist/integrations/agentic-flow/model-router/complexity-analyzer.d.ts.map +1 -1
- package/v3/dist/integrations/agentic-flow/model-router/complexity-analyzer.js +45 -497
- package/v3/dist/integrations/agentic-flow/model-router/complexity-analyzer.js.map +1 -1
- package/v3/dist/integrations/agentic-flow/model-router/router.js +2 -2
- package/v3/dist/integrations/agentic-flow/model-router/router.js.map +1 -1
- package/v3/dist/integrations/agentic-flow/model-router/score-calculator.d.ts +98 -0
- package/v3/dist/integrations/agentic-flow/model-router/score-calculator.d.ts.map +1 -0
- package/v3/dist/integrations/agentic-flow/model-router/score-calculator.js +197 -0
- package/v3/dist/integrations/agentic-flow/model-router/score-calculator.js.map +1 -0
- package/v3/dist/integrations/agentic-flow/model-router/signal-collector.d.ts +102 -0
- package/v3/dist/integrations/agentic-flow/model-router/signal-collector.d.ts.map +1 -0
- package/v3/dist/integrations/agentic-flow/model-router/signal-collector.js +372 -0
- package/v3/dist/integrations/agentic-flow/model-router/signal-collector.js.map +1 -0
- package/v3/dist/integrations/agentic-flow/model-router/tier-recommender.d.ts +64 -0
- package/v3/dist/integrations/agentic-flow/model-router/tier-recommender.d.ts.map +1 -0
- package/v3/dist/integrations/agentic-flow/model-router/tier-recommender.js +120 -0
- package/v3/dist/integrations/agentic-flow/model-router/tier-recommender.js.map +1 -0
- package/v3/dist/integrations/coherence/coherence-service.d.ts.map +1 -1
- package/v3/dist/integrations/coherence/coherence-service.js +87 -30
- package/v3/dist/integrations/coherence/coherence-service.js.map +1 -1
- package/v3/dist/integrations/coherence/engines/spectral-adapter.d.ts.map +1 -1
- package/v3/dist/integrations/coherence/engines/spectral-adapter.js +124 -35
- package/v3/dist/integrations/coherence/engines/spectral-adapter.js.map +1 -1
- package/v3/dist/learning/memory-auditor.d.ts.map +1 -1
- package/v3/dist/learning/memory-auditor.js +3 -1
- package/v3/dist/learning/memory-auditor.js.map +1 -1
- package/v3/dist/mcp/bundle.js +2475 -1463
- package/v3/dist/mcp/security/cve-prevention.d.ts +31 -134
- package/v3/dist/mcp/security/cve-prevention.d.ts.map +1 -1
- package/v3/dist/mcp/security/cve-prevention.js +37 -562
- package/v3/dist/mcp/security/cve-prevention.js.map +1 -1
- package/v3/dist/mcp/security/index.d.ts +5 -1
- package/v3/dist/mcp/security/index.d.ts.map +1 -1
- package/v3/dist/mcp/security/validators/command-validator.d.ts +41 -0
- package/v3/dist/mcp/security/validators/command-validator.d.ts.map +1 -0
- package/v3/dist/mcp/security/validators/command-validator.js +123 -0
- package/v3/dist/mcp/security/validators/command-validator.js.map +1 -0
- package/v3/dist/mcp/security/validators/crypto-validator.d.ts +40 -0
- package/v3/dist/mcp/security/validators/crypto-validator.d.ts.map +1 -0
- package/v3/dist/mcp/security/validators/crypto-validator.js +72 -0
- package/v3/dist/mcp/security/validators/crypto-validator.js.map +1 -0
- package/v3/dist/mcp/security/validators/index.d.ts +12 -0
- package/v3/dist/mcp/security/validators/index.d.ts.map +1 -0
- package/v3/dist/mcp/security/validators/index.js +22 -0
- package/v3/dist/mcp/security/validators/index.js.map +1 -0
- package/v3/dist/mcp/security/validators/input-sanitizer.d.ts +56 -0
- package/v3/dist/mcp/security/validators/input-sanitizer.d.ts.map +1 -0
- package/v3/dist/mcp/security/validators/input-sanitizer.js +157 -0
- package/v3/dist/mcp/security/validators/input-sanitizer.js.map +1 -0
- package/v3/dist/mcp/security/validators/interfaces.d.ts +164 -0
- package/v3/dist/mcp/security/validators/interfaces.d.ts.map +1 -0
- package/v3/dist/mcp/security/validators/interfaces.js +6 -0
- package/v3/dist/mcp/security/validators/interfaces.js.map +1 -0
- package/v3/dist/mcp/security/validators/path-traversal-validator.d.ts +50 -0
- package/v3/dist/mcp/security/validators/path-traversal-validator.d.ts.map +1 -0
- package/v3/dist/mcp/security/validators/path-traversal-validator.js +242 -0
- package/v3/dist/mcp/security/validators/path-traversal-validator.js.map +1 -0
- package/v3/dist/mcp/security/validators/regex-safety-validator.d.ts +50 -0
- package/v3/dist/mcp/security/validators/regex-safety-validator.d.ts.map +1 -0
- package/v3/dist/mcp/security/validators/regex-safety-validator.js +183 -0
- package/v3/dist/mcp/security/validators/regex-safety-validator.js.map +1 -0
- package/v3/dist/mcp/security/validators/validation-orchestrator.d.ts +66 -0
- package/v3/dist/mcp/security/validators/validation-orchestrator.d.ts.map +1 -0
- package/v3/dist/mcp/security/validators/validation-orchestrator.js +146 -0
- package/v3/dist/mcp/security/validators/validation-orchestrator.js.map +1 -0
- package/v3/dist/mcp/server.d.ts.map +1 -1
- package/v3/dist/mcp/server.js +1 -0
- package/v3/dist/mcp/server.js.map +1 -1
- package/v3/dist/mcp/tool-registry.d.ts +3 -1
- package/v3/dist/mcp/tool-registry.d.ts.map +1 -1
- package/v3/dist/mcp/tool-registry.js +155 -2
- package/v3/dist/mcp/tool-registry.js.map +1 -1
- package/v3/dist/mcp/tools/test-generation/generate.d.ts +1 -0
- package/v3/dist/mcp/tools/test-generation/generate.d.ts.map +1 -1
- package/v3/dist/mcp/tools/test-generation/generate.js +3 -2
- package/v3/dist/mcp/tools/test-generation/generate.js.map +1 -1
- package/v3/dist/sync/cloud/index.d.ts +8 -0
- package/v3/dist/sync/cloud/index.d.ts.map +1 -0
- package/v3/dist/sync/cloud/index.js +8 -0
- package/v3/dist/sync/cloud/index.js.map +1 -0
- package/v3/dist/sync/cloud/postgres-writer.d.ts +88 -0
- package/v3/dist/sync/cloud/postgres-writer.d.ts.map +1 -0
- package/v3/dist/sync/cloud/postgres-writer.js +319 -0
- package/v3/dist/sync/cloud/postgres-writer.js.map +1 -0
- package/v3/dist/sync/cloud/tunnel-manager.d.ts +75 -0
- package/v3/dist/sync/cloud/tunnel-manager.d.ts.map +1 -0
- package/v3/dist/sync/cloud/tunnel-manager.js +221 -0
- package/v3/dist/sync/cloud/tunnel-manager.js.map +1 -0
- package/v3/dist/sync/index.d.ts +35 -0
- package/v3/dist/sync/index.d.ts.map +1 -0
- package/v3/dist/sync/index.js +35 -0
- package/v3/dist/sync/index.js.map +1 -0
- package/v3/dist/sync/interfaces.d.ts +245 -0
- package/v3/dist/sync/interfaces.d.ts.map +1 -0
- package/v3/dist/sync/interfaces.js +160 -0
- package/v3/dist/sync/interfaces.js.map +1 -0
- package/v3/dist/sync/readers/index.d.ts +8 -0
- package/v3/dist/sync/readers/index.d.ts.map +1 -0
- package/v3/dist/sync/readers/index.js +8 -0
- package/v3/dist/sync/readers/index.js.map +1 -0
- package/v3/dist/sync/readers/json-reader.d.ts +95 -0
- package/v3/dist/sync/readers/json-reader.d.ts.map +1 -0
- package/v3/dist/sync/readers/json-reader.js +306 -0
- package/v3/dist/sync/readers/json-reader.js.map +1 -0
- package/v3/dist/sync/readers/sqlite-reader.d.ts +88 -0
- package/v3/dist/sync/readers/sqlite-reader.d.ts.map +1 -0
- package/v3/dist/sync/readers/sqlite-reader.js +255 -0
- package/v3/dist/sync/readers/sqlite-reader.js.map +1 -0
- package/v3/dist/sync/sync-agent.d.ts +116 -0
- package/v3/dist/sync/sync-agent.d.ts.map +1 -0
- package/v3/dist/sync/sync-agent.js +416 -0
- package/v3/dist/sync/sync-agent.js.map +1 -0
- package/v3/package.json +13 -2
- package/v3/dist/domains/test-generation/coherence-gate.d.ts.map +0 -1
- package/v3/dist/domains/test-generation/coherence-gate.js.map +0 -1
|
@@ -3,123 +3,56 @@
|
|
|
3
3
|
* ADR-051: Multi-Model Router - Complexity Assessment
|
|
4
4
|
*
|
|
5
5
|
* Analyzes task complexity to determine optimal model tier routing.
|
|
6
|
-
* Uses
|
|
7
|
-
* -
|
|
8
|
-
* -
|
|
9
|
-
* -
|
|
10
|
-
* - Architecture/security scope detection
|
|
11
|
-
* - Multi-step reasoning requirements
|
|
6
|
+
* Uses dependency injection for:
|
|
7
|
+
* - Signal collection (ISignalCollector)
|
|
8
|
+
* - Score calculation (IScoreCalculator)
|
|
9
|
+
* - Tier recommendation (ITierRecommender)
|
|
12
10
|
*
|
|
13
11
|
* @module integrations/agentic-flow/model-router/complexity-analyzer
|
|
14
12
|
*/
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
// ============================================================================
|
|
20
|
-
/**
|
|
21
|
-
* Keyword patterns for different complexity levels
|
|
22
|
-
*/
|
|
23
|
-
const COMPLEXITY_KEYWORDS = {
|
|
24
|
-
// Tier 0 - Mechanical transforms
|
|
25
|
-
mechanical: [
|
|
26
|
-
'convert var to const',
|
|
27
|
-
'add types',
|
|
28
|
-
'remove console',
|
|
29
|
-
'convert to async',
|
|
30
|
-
'convert to esm',
|
|
31
|
-
'arrow function',
|
|
32
|
-
'rename variable',
|
|
33
|
-
'format code',
|
|
34
|
-
],
|
|
35
|
-
// Tier 1 - Simple tasks
|
|
36
|
-
simple: [
|
|
37
|
-
'fix typo',
|
|
38
|
-
'update comment',
|
|
39
|
-
'fix simple bug',
|
|
40
|
-
'add documentation',
|
|
41
|
-
'format',
|
|
42
|
-
'rename',
|
|
43
|
-
'simple refactor',
|
|
44
|
-
'basic test',
|
|
45
|
-
],
|
|
46
|
-
// Tier 2 - Moderate complexity
|
|
47
|
-
moderate: [
|
|
48
|
-
'implement feature',
|
|
49
|
-
'complex refactor',
|
|
50
|
-
'performance optimization',
|
|
51
|
-
'test generation',
|
|
52
|
-
'error handling',
|
|
53
|
-
'validation logic',
|
|
54
|
-
'api integration',
|
|
55
|
-
],
|
|
56
|
-
// Tier 3 - High complexity
|
|
57
|
-
complex: [
|
|
58
|
-
'multi-file refactor',
|
|
59
|
-
'orchestrate',
|
|
60
|
-
'coordinate',
|
|
61
|
-
'large codebase',
|
|
62
|
-
'migration',
|
|
63
|
-
'cross-domain',
|
|
64
|
-
'workflow',
|
|
65
|
-
'system design',
|
|
66
|
-
],
|
|
67
|
-
// Tier 4 - Critical/expert
|
|
68
|
-
critical: [
|
|
69
|
-
'architecture',
|
|
70
|
-
'security audit',
|
|
71
|
-
'critical bug',
|
|
72
|
-
'algorithm design',
|
|
73
|
-
'system-wide',
|
|
74
|
-
'vulnerability',
|
|
75
|
-
'cryptography',
|
|
76
|
-
'performance critical',
|
|
77
|
-
],
|
|
78
|
-
};
|
|
79
|
-
/**
|
|
80
|
-
* Patterns that indicate specific scopes
|
|
81
|
-
*/
|
|
82
|
-
const SCOPE_PATTERNS = {
|
|
83
|
-
architecture: /\b(architect|design|system design|overall structure|component design)\b/i,
|
|
84
|
-
security: /\b(security|vulnerability|audit|xss|sql injection|csrf|encryption)\b/i,
|
|
85
|
-
multiStep: /\b(orchestrate|coordinate|workflow|pipeline|multi[- ]step)\b/i,
|
|
86
|
-
crossDomain: /\b(cross[- ]domain|across (domains|modules)|integrate|coordination)\b/i,
|
|
87
|
-
};
|
|
13
|
+
import { ComplexityAnalysisError } from './types';
|
|
14
|
+
import { SignalCollector } from './signal-collector';
|
|
15
|
+
import { ScoreCalculator } from './score-calculator';
|
|
16
|
+
import { TierRecommender } from './tier-recommender';
|
|
88
17
|
// ============================================================================
|
|
89
18
|
// Complexity Analyzer Implementation
|
|
90
19
|
// ============================================================================
|
|
91
20
|
/**
|
|
92
|
-
* Analyzes task complexity to recommend optimal model tier
|
|
21
|
+
* Analyzes task complexity to recommend optimal model tier.
|
|
22
|
+
* Uses dependency injection for testability and modularity.
|
|
93
23
|
*/
|
|
94
24
|
export class ComplexityAnalyzer {
|
|
95
25
|
config;
|
|
96
|
-
|
|
97
|
-
|
|
26
|
+
signalCollector;
|
|
27
|
+
scoreCalculator;
|
|
28
|
+
tierRecommender;
|
|
29
|
+
constructor(config, signalCollector, scoreCalculator, tierRecommender) {
|
|
98
30
|
this.config = config;
|
|
99
|
-
this.
|
|
31
|
+
this.signalCollector = signalCollector;
|
|
32
|
+
this.scoreCalculator = scoreCalculator;
|
|
33
|
+
this.tierRecommender = tierRecommender;
|
|
100
34
|
}
|
|
101
35
|
/**
|
|
102
36
|
* Analyze task complexity
|
|
103
37
|
*/
|
|
104
38
|
async analyze(input) {
|
|
105
|
-
const startTime = Date.now();
|
|
106
39
|
try {
|
|
107
40
|
// Collect complexity signals
|
|
108
|
-
const signals = await this.collectSignals(input);
|
|
41
|
+
const signals = await this.signalCollector.collectSignals(input);
|
|
109
42
|
// Calculate component scores
|
|
110
|
-
const codeComplexity = this.calculateCodeComplexity(signals);
|
|
111
|
-
const reasoningComplexity = this.calculateReasoningComplexity(signals);
|
|
112
|
-
const scopeComplexity = this.calculateScopeComplexity(signals);
|
|
43
|
+
const codeComplexity = this.scoreCalculator.calculateCodeComplexity(signals);
|
|
44
|
+
const reasoningComplexity = this.scoreCalculator.calculateReasoningComplexity(signals);
|
|
45
|
+
const scopeComplexity = this.scoreCalculator.calculateScopeComplexity(signals);
|
|
113
46
|
// Calculate overall complexity (weighted average)
|
|
114
|
-
const overall = this.calculateOverallComplexity(codeComplexity, reasoningComplexity, scopeComplexity, signals);
|
|
47
|
+
const overall = this.scoreCalculator.calculateOverallComplexity(codeComplexity, reasoningComplexity, scopeComplexity, signals);
|
|
115
48
|
// Determine recommended tier
|
|
116
|
-
const recommendedTier = this.getRecommendedTier(overall);
|
|
49
|
+
const recommendedTier = this.tierRecommender.getRecommendedTier(overall);
|
|
117
50
|
// Find alternative tiers
|
|
118
|
-
const alternateTiers = this.findAlternateTiers(overall, recommendedTier);
|
|
51
|
+
const alternateTiers = this.tierRecommender.findAlternateTiers(overall, recommendedTier);
|
|
119
52
|
// Calculate confidence based on signal quality
|
|
120
|
-
const confidence = this.calculateConfidence(signals, input);
|
|
53
|
+
const confidence = this.scoreCalculator.calculateConfidence(signals, input);
|
|
121
54
|
// Generate explanation
|
|
122
|
-
const explanation = this.generateExplanation(overall, recommendedTier, signals);
|
|
55
|
+
const explanation = this.tierRecommender.generateExplanation(overall, recommendedTier, signals);
|
|
123
56
|
return {
|
|
124
57
|
overall,
|
|
125
58
|
codeComplexity,
|
|
@@ -140,422 +73,37 @@ export class ComplexityAnalyzer {
|
|
|
140
73
|
* Check if task is eligible for Agent Booster (Tier 0)
|
|
141
74
|
*/
|
|
142
75
|
async checkAgentBoosterEligibility(input) {
|
|
143
|
-
|
|
144
|
-
return {
|
|
145
|
-
eligible: false,
|
|
146
|
-
confidence: 0,
|
|
147
|
-
reason: 'Agent Booster is disabled or not available',
|
|
148
|
-
};
|
|
149
|
-
}
|
|
150
|
-
// Check for mechanical transform keywords in task description
|
|
151
|
-
const taskLower = input.task.toLowerCase();
|
|
152
|
-
let detectedTransformType;
|
|
153
|
-
let maxConfidence = 0;
|
|
154
|
-
for (const transformType of ALL_TRANSFORM_TYPES) {
|
|
155
|
-
const keywords = this.getTransformKeywords(transformType);
|
|
156
|
-
let confidence = 0;
|
|
157
|
-
for (const keyword of keywords) {
|
|
158
|
-
if (taskLower.includes(keyword.toLowerCase())) {
|
|
159
|
-
confidence += 0.2;
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
if (confidence > maxConfidence) {
|
|
163
|
-
maxConfidence = confidence;
|
|
164
|
-
detectedTransformType = transformType;
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
// If code context provided, try Agent Booster detection
|
|
168
|
-
if (input.codeContext && detectedTransformType) {
|
|
169
|
-
try {
|
|
170
|
-
const opportunities = await this.agentBoosterAdapter.detectTransformOpportunities(input.codeContext);
|
|
171
|
-
const matchingOpp = opportunities.opportunities.find((opp) => opp.type === detectedTransformType);
|
|
172
|
-
if (matchingOpp) {
|
|
173
|
-
return {
|
|
174
|
-
eligible: matchingOpp.confidence >= this.config.agentBoosterThreshold,
|
|
175
|
-
transformType: detectedTransformType,
|
|
176
|
-
confidence: matchingOpp.confidence,
|
|
177
|
-
reason: matchingOpp.reason,
|
|
178
|
-
};
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
catch {
|
|
182
|
-
// Fall through to keyword-based detection
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
// Keyword-based detection
|
|
186
|
-
const eligible = maxConfidence >= this.config.agentBoosterThreshold &&
|
|
187
|
-
detectedTransformType !== undefined;
|
|
188
|
-
return {
|
|
189
|
-
eligible,
|
|
190
|
-
transformType: detectedTransformType,
|
|
191
|
-
confidence: Math.min(maxConfidence, 1),
|
|
192
|
-
reason: eligible
|
|
193
|
-
? `Detected ${detectedTransformType} transform pattern`
|
|
194
|
-
: 'No mechanical transform pattern detected',
|
|
195
|
-
};
|
|
76
|
+
return this.signalCollector.checkAgentBoosterEligibility(input);
|
|
196
77
|
}
|
|
197
78
|
/**
|
|
198
79
|
* Get recommended tier based on complexity score
|
|
199
80
|
*/
|
|
200
81
|
getRecommendedTier(complexity) {
|
|
201
|
-
|
|
202
|
-
for (const tier of [0, 1, 2, 3, 4]) {
|
|
203
|
-
const [min, max] = TIER_METADATA[tier].complexityRange;
|
|
204
|
-
if (complexity >= min && complexity <= max) {
|
|
205
|
-
return tier;
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
// Default to Tier 2 (Sonnet) if no match
|
|
209
|
-
return 2;
|
|
210
|
-
}
|
|
211
|
-
// ============================================================================
|
|
212
|
-
// Private: Signal Collection
|
|
213
|
-
// ============================================================================
|
|
214
|
-
/**
|
|
215
|
-
* Collect all complexity signals from input
|
|
216
|
-
*/
|
|
217
|
-
async collectSignals(input) {
|
|
218
|
-
const taskLower = input.task.toLowerCase();
|
|
219
|
-
const codeLower = input.codeContext?.toLowerCase() || '';
|
|
220
|
-
// Check for Agent Booster eligibility
|
|
221
|
-
const agentBoosterCheck = await this.checkAgentBoosterEligibility(input);
|
|
222
|
-
// Detect keyword matches
|
|
223
|
-
const keywordMatches = {
|
|
224
|
-
simple: this.findKeywordMatches(taskLower, COMPLEXITY_KEYWORDS.simple),
|
|
225
|
-
moderate: this.findKeywordMatches(taskLower, COMPLEXITY_KEYWORDS.moderate),
|
|
226
|
-
complex: this.findKeywordMatches(taskLower, COMPLEXITY_KEYWORDS.complex),
|
|
227
|
-
critical: this.findKeywordMatches(taskLower, COMPLEXITY_KEYWORDS.critical),
|
|
228
|
-
};
|
|
229
|
-
// Analyze code context if provided
|
|
230
|
-
const linesOfCode = input.codeContext
|
|
231
|
-
? input.codeContext.split('\n').length
|
|
232
|
-
: undefined;
|
|
233
|
-
const fileCount = input.filePaths ? input.filePaths.length : undefined;
|
|
234
|
-
// Detect scope patterns
|
|
235
|
-
const hasArchitectureScope = SCOPE_PATTERNS.architecture.test(taskLower);
|
|
236
|
-
const hasSecurityScope = SCOPE_PATTERNS.security.test(taskLower);
|
|
237
|
-
const requiresMultiStepReasoning = SCOPE_PATTERNS.multiStep.test(taskLower);
|
|
238
|
-
const requiresCrossDomainCoordination = SCOPE_PATTERNS.crossDomain.test(taskLower);
|
|
239
|
-
// Detect creativity requirements
|
|
240
|
-
const requiresCreativity = taskLower.includes('design') ||
|
|
241
|
-
taskLower.includes('creative') ||
|
|
242
|
-
taskLower.includes('innovative') ||
|
|
243
|
-
taskLower.includes('novel');
|
|
244
|
-
// Estimate language complexity
|
|
245
|
-
const languageComplexity = this.estimateLanguageComplexity(input.codeContext, input.filePaths);
|
|
246
|
-
// Estimate cyclomatic complexity (simple heuristic)
|
|
247
|
-
const cyclomaticComplexity = input.codeContext
|
|
248
|
-
? this.estimateCyclomaticComplexity(input.codeContext)
|
|
249
|
-
: undefined;
|
|
250
|
-
return {
|
|
251
|
-
linesOfCode,
|
|
252
|
-
fileCount,
|
|
253
|
-
hasArchitectureScope,
|
|
254
|
-
hasSecurityScope,
|
|
255
|
-
requiresMultiStepReasoning,
|
|
256
|
-
requiresCrossDomainCoordination,
|
|
257
|
-
isMechanicalTransform: agentBoosterCheck.eligible,
|
|
258
|
-
languageComplexity,
|
|
259
|
-
cyclomaticComplexity,
|
|
260
|
-
dependencyCount: this.countDependencies(input.codeContext),
|
|
261
|
-
requiresCreativity,
|
|
262
|
-
detectedTransformType: agentBoosterCheck.transformType,
|
|
263
|
-
keywordMatches,
|
|
264
|
-
};
|
|
265
|
-
}
|
|
266
|
-
// ============================================================================
|
|
267
|
-
// Private: Complexity Calculation
|
|
268
|
-
// ============================================================================
|
|
269
|
-
/**
|
|
270
|
-
* Calculate code complexity component (0-100)
|
|
271
|
-
*/
|
|
272
|
-
calculateCodeComplexity(signals) {
|
|
273
|
-
let score = 0;
|
|
274
|
-
// Lines of code contribution (0-30 points)
|
|
275
|
-
if (signals.linesOfCode !== undefined) {
|
|
276
|
-
if (signals.linesOfCode < 10)
|
|
277
|
-
score += 0;
|
|
278
|
-
else if (signals.linesOfCode < 50)
|
|
279
|
-
score += 10;
|
|
280
|
-
else if (signals.linesOfCode < 200)
|
|
281
|
-
score += 20;
|
|
282
|
-
else
|
|
283
|
-
score += 30;
|
|
284
|
-
}
|
|
285
|
-
// File count contribution (0-20 points)
|
|
286
|
-
if (signals.fileCount !== undefined) {
|
|
287
|
-
if (signals.fileCount === 1)
|
|
288
|
-
score += 0;
|
|
289
|
-
else if (signals.fileCount < 5)
|
|
290
|
-
score += 10;
|
|
291
|
-
else
|
|
292
|
-
score += 20;
|
|
293
|
-
}
|
|
294
|
-
// Cyclomatic complexity contribution (0-30 points)
|
|
295
|
-
if (signals.cyclomaticComplexity !== undefined) {
|
|
296
|
-
if (signals.cyclomaticComplexity < 5)
|
|
297
|
-
score += 0;
|
|
298
|
-
else if (signals.cyclomaticComplexity < 10)
|
|
299
|
-
score += 10;
|
|
300
|
-
else if (signals.cyclomaticComplexity < 20)
|
|
301
|
-
score += 20;
|
|
302
|
-
else
|
|
303
|
-
score += 30;
|
|
304
|
-
}
|
|
305
|
-
// Language complexity contribution (0-20 points)
|
|
306
|
-
if (signals.languageComplexity === 'low')
|
|
307
|
-
score += 0;
|
|
308
|
-
else if (signals.languageComplexity === 'medium')
|
|
309
|
-
score += 10;
|
|
310
|
-
else if (signals.languageComplexity === 'high')
|
|
311
|
-
score += 20;
|
|
312
|
-
return Math.min(score, 100);
|
|
313
|
-
}
|
|
314
|
-
/**
|
|
315
|
-
* Calculate reasoning complexity component (0-100)
|
|
316
|
-
*/
|
|
317
|
-
calculateReasoningComplexity(signals) {
|
|
318
|
-
let score = 0;
|
|
319
|
-
// Keyword-based scoring
|
|
320
|
-
const keywordScore = signals.keywordMatches.simple.length * 5 +
|
|
321
|
-
signals.keywordMatches.moderate.length * 15 +
|
|
322
|
-
signals.keywordMatches.complex.length * 25 +
|
|
323
|
-
signals.keywordMatches.critical.length * 35;
|
|
324
|
-
score += Math.min(keywordScore, 60);
|
|
325
|
-
// Multi-step reasoning (0-20 points)
|
|
326
|
-
if (signals.requiresMultiStepReasoning)
|
|
327
|
-
score += 20;
|
|
328
|
-
// Creativity requirements (0-20 points)
|
|
329
|
-
if (signals.requiresCreativity)
|
|
330
|
-
score += 20;
|
|
331
|
-
return Math.min(score, 100);
|
|
332
|
-
}
|
|
333
|
-
/**
|
|
334
|
-
* Calculate scope complexity component (0-100)
|
|
335
|
-
*/
|
|
336
|
-
calculateScopeComplexity(signals) {
|
|
337
|
-
let score = 0;
|
|
338
|
-
// Architecture scope (0-40 points)
|
|
339
|
-
if (signals.hasArchitectureScope)
|
|
340
|
-
score += 40;
|
|
341
|
-
// Security scope (0-30 points)
|
|
342
|
-
if (signals.hasSecurityScope)
|
|
343
|
-
score += 30;
|
|
344
|
-
// Cross-domain coordination (0-20 points)
|
|
345
|
-
if (signals.requiresCrossDomainCoordination)
|
|
346
|
-
score += 20;
|
|
347
|
-
// Dependency count (0-10 points)
|
|
348
|
-
if (signals.dependencyCount !== undefined) {
|
|
349
|
-
if (signals.dependencyCount < 3)
|
|
350
|
-
score += 0;
|
|
351
|
-
else if (signals.dependencyCount < 10)
|
|
352
|
-
score += 5;
|
|
353
|
-
else
|
|
354
|
-
score += 10;
|
|
355
|
-
}
|
|
356
|
-
return Math.min(score, 100);
|
|
357
|
-
}
|
|
358
|
-
/**
|
|
359
|
-
* Calculate overall complexity score (0-100)
|
|
360
|
-
*/
|
|
361
|
-
calculateOverallComplexity(codeComplexity, reasoningComplexity, scopeComplexity, signals) {
|
|
362
|
-
// Mechanical transforms always score 0-10
|
|
363
|
-
if (signals.isMechanicalTransform) {
|
|
364
|
-
return 5;
|
|
365
|
-
}
|
|
366
|
-
// Weighted average: code (30%), reasoning (40%), scope (30%)
|
|
367
|
-
const weighted = codeComplexity * 0.3 + reasoningComplexity * 0.4 + scopeComplexity * 0.3;
|
|
368
|
-
return Math.min(Math.round(weighted), 100);
|
|
369
|
-
}
|
|
370
|
-
/**
|
|
371
|
-
* Calculate confidence in complexity assessment (0-1)
|
|
372
|
-
*/
|
|
373
|
-
calculateConfidence(signals, input) {
|
|
374
|
-
let confidence = 0.5; // Base confidence
|
|
375
|
-
// More confidence if code context provided
|
|
376
|
-
if (input.codeContext)
|
|
377
|
-
confidence += 0.2;
|
|
378
|
-
// More confidence if file paths provided
|
|
379
|
-
if (input.filePaths && input.filePaths.length > 0)
|
|
380
|
-
confidence += 0.1;
|
|
381
|
-
// More confidence if strong keyword matches
|
|
382
|
-
const totalKeywords = signals.keywordMatches.simple.length +
|
|
383
|
-
signals.keywordMatches.moderate.length +
|
|
384
|
-
signals.keywordMatches.complex.length +
|
|
385
|
-
signals.keywordMatches.critical.length;
|
|
386
|
-
if (totalKeywords >= 3)
|
|
387
|
-
confidence += 0.1;
|
|
388
|
-
else if (totalKeywords >= 1)
|
|
389
|
-
confidence += 0.05;
|
|
390
|
-
// More confidence for Agent Booster detections
|
|
391
|
-
if (signals.isMechanicalTransform)
|
|
392
|
-
confidence += 0.15;
|
|
393
|
-
return Math.min(confidence, 1);
|
|
394
|
-
}
|
|
395
|
-
// ============================================================================
|
|
396
|
-
// Private: Helper Methods
|
|
397
|
-
// ============================================================================
|
|
398
|
-
/**
|
|
399
|
-
* Find matching keywords in text
|
|
400
|
-
*/
|
|
401
|
-
findKeywordMatches(text, keywords) {
|
|
402
|
-
const matches = [];
|
|
403
|
-
for (const keyword of keywords) {
|
|
404
|
-
if (text.includes(keyword.toLowerCase())) {
|
|
405
|
-
matches.push(keyword);
|
|
406
|
-
}
|
|
407
|
-
}
|
|
408
|
-
return matches;
|
|
409
|
-
}
|
|
410
|
-
/**
|
|
411
|
-
* Estimate language complexity from code context
|
|
412
|
-
*/
|
|
413
|
-
estimateLanguageComplexity(codeContext, filePaths) {
|
|
414
|
-
if (!codeContext && (!filePaths || filePaths.length === 0)) {
|
|
415
|
-
return undefined;
|
|
416
|
-
}
|
|
417
|
-
// Simple heuristic based on file extensions
|
|
418
|
-
const complexExtensions = ['.ts', '.tsx', '.rs', '.cpp', '.c', '.go'];
|
|
419
|
-
const mediumExtensions = ['.js', '.jsx', '.py', '.java'];
|
|
420
|
-
const simpleExtensions = ['.json', '.yaml', '.md', '.txt', '.css', '.html'];
|
|
421
|
-
if (filePaths) {
|
|
422
|
-
for (const path of filePaths) {
|
|
423
|
-
if (complexExtensions.some((ext) => path.endsWith(ext)))
|
|
424
|
-
return 'high';
|
|
425
|
-
}
|
|
426
|
-
for (const path of filePaths) {
|
|
427
|
-
if (mediumExtensions.some((ext) => path.endsWith(ext)))
|
|
428
|
-
return 'medium';
|
|
429
|
-
}
|
|
430
|
-
for (const path of filePaths) {
|
|
431
|
-
if (simpleExtensions.some((ext) => path.endsWith(ext)))
|
|
432
|
-
return 'low';
|
|
433
|
-
}
|
|
434
|
-
}
|
|
435
|
-
// Code-based heuristic
|
|
436
|
-
if (codeContext) {
|
|
437
|
-
const hasGenerics = /<[A-Z][^>]*>/.test(codeContext);
|
|
438
|
-
const hasAsyncAwait = /\b(async|await)\b/.test(codeContext);
|
|
439
|
-
const hasComplexTypes = /\b(interface|type|class)\b/.test(codeContext);
|
|
440
|
-
if (hasGenerics && hasComplexTypes)
|
|
441
|
-
return 'high';
|
|
442
|
-
if (hasAsyncAwait || hasComplexTypes)
|
|
443
|
-
return 'medium';
|
|
444
|
-
return 'low';
|
|
445
|
-
}
|
|
446
|
-
return 'medium';
|
|
447
|
-
}
|
|
448
|
-
/**
|
|
449
|
-
* Estimate cyclomatic complexity (simple heuristic)
|
|
450
|
-
*/
|
|
451
|
-
estimateCyclomaticComplexity(code) {
|
|
452
|
-
// Count decision points: if, for, while, case, catch, &&, ||, ?
|
|
453
|
-
const patterns = [
|
|
454
|
-
/\bif\b/g,
|
|
455
|
-
/\bfor\b/g,
|
|
456
|
-
/\bwhile\b/g,
|
|
457
|
-
/\bcase\b/g,
|
|
458
|
-
/\bcatch\b/g,
|
|
459
|
-
/&&/g,
|
|
460
|
-
/\|\|/g,
|
|
461
|
-
/\?/g,
|
|
462
|
-
];
|
|
463
|
-
let complexity = 1; // Base complexity
|
|
464
|
-
for (const pattern of patterns) {
|
|
465
|
-
const matches = code.match(pattern);
|
|
466
|
-
if (matches) {
|
|
467
|
-
complexity += matches.length;
|
|
468
|
-
}
|
|
469
|
-
}
|
|
470
|
-
return complexity;
|
|
471
|
-
}
|
|
472
|
-
/**
|
|
473
|
-
* Count dependencies in code context
|
|
474
|
-
*/
|
|
475
|
-
countDependencies(codeContext) {
|
|
476
|
-
if (!codeContext)
|
|
477
|
-
return undefined;
|
|
478
|
-
// Count import/require statements
|
|
479
|
-
const importMatches = codeContext.match(/\b(import|require|from)\b.*['"].*['"]/g);
|
|
480
|
-
return importMatches ? importMatches.length : 0;
|
|
481
|
-
}
|
|
482
|
-
/**
|
|
483
|
-
* Get transform keywords for Agent Booster detection
|
|
484
|
-
*/
|
|
485
|
-
getTransformKeywords(transformType) {
|
|
486
|
-
const keywordMap = {
|
|
487
|
-
'var-to-const': ['var to const', 'convert var', 'var declaration'],
|
|
488
|
-
'add-types': ['add types', 'typescript types', 'type annotations'],
|
|
489
|
-
'remove-console': ['remove console', 'delete console', 'console.log'],
|
|
490
|
-
'promise-to-async': [
|
|
491
|
-
'promise to async',
|
|
492
|
-
'async await',
|
|
493
|
-
'.then to async',
|
|
494
|
-
],
|
|
495
|
-
'cjs-to-esm': [
|
|
496
|
-
'commonjs to esm',
|
|
497
|
-
'require to import',
|
|
498
|
-
'convert to esm',
|
|
499
|
-
],
|
|
500
|
-
'func-to-arrow': ['arrow function', 'function to arrow', 'convert to arrow'],
|
|
501
|
-
};
|
|
502
|
-
return keywordMap[transformType] || [];
|
|
503
|
-
}
|
|
504
|
-
/**
|
|
505
|
-
* Find alternative tiers that could handle this task
|
|
506
|
-
*/
|
|
507
|
-
findAlternateTiers(complexity, recommendedTier) {
|
|
508
|
-
const alternatives = [];
|
|
509
|
-
// Add adjacent tiers
|
|
510
|
-
if (recommendedTier > 0) {
|
|
511
|
-
alternatives.push((recommendedTier - 1));
|
|
512
|
-
}
|
|
513
|
-
if (recommendedTier < 4) {
|
|
514
|
-
alternatives.push((recommendedTier + 1));
|
|
515
|
-
}
|
|
516
|
-
// Add tier that can definitely handle it (higher tier)
|
|
517
|
-
if (recommendedTier < 3 && !alternatives.includes(4)) {
|
|
518
|
-
alternatives.push(4);
|
|
519
|
-
}
|
|
520
|
-
return alternatives;
|
|
521
|
-
}
|
|
522
|
-
/**
|
|
523
|
-
* Generate human-readable explanation
|
|
524
|
-
*/
|
|
525
|
-
generateExplanation(overall, tier, signals) {
|
|
526
|
-
const parts = [];
|
|
527
|
-
parts.push(`Complexity score: ${overall}/100 (Tier ${tier})`);
|
|
528
|
-
if (signals.isMechanicalTransform) {
|
|
529
|
-
parts.push(`Detected mechanical transform: ${signals.detectedTransformType}`);
|
|
530
|
-
}
|
|
531
|
-
if (signals.hasArchitectureScope) {
|
|
532
|
-
parts.push('Architecture scope detected');
|
|
533
|
-
}
|
|
534
|
-
if (signals.hasSecurityScope) {
|
|
535
|
-
parts.push('Security scope detected');
|
|
536
|
-
}
|
|
537
|
-
if (signals.requiresMultiStepReasoning) {
|
|
538
|
-
parts.push('Multi-step reasoning required');
|
|
539
|
-
}
|
|
540
|
-
if (signals.requiresCrossDomainCoordination) {
|
|
541
|
-
parts.push('Cross-domain coordination required');
|
|
542
|
-
}
|
|
543
|
-
if (signals.linesOfCode !== undefined && signals.linesOfCode > 100) {
|
|
544
|
-
parts.push(`Large code change: ${signals.linesOfCode} lines`);
|
|
545
|
-
}
|
|
546
|
-
if (signals.fileCount !== undefined && signals.fileCount > 3) {
|
|
547
|
-
parts.push(`Multi-file change: ${signals.fileCount} files`);
|
|
548
|
-
}
|
|
549
|
-
return parts.join('. ');
|
|
82
|
+
return this.tierRecommender.getRecommendedTier(complexity);
|
|
550
83
|
}
|
|
551
84
|
}
|
|
552
85
|
// ============================================================================
|
|
553
86
|
// Factory Functions
|
|
554
87
|
// ============================================================================
|
|
555
88
|
/**
|
|
556
|
-
* Create a complexity analyzer instance
|
|
89
|
+
* Create a complexity analyzer instance with default dependencies
|
|
557
90
|
*/
|
|
558
91
|
export function createComplexityAnalyzer(config, agentBoosterAdapter) {
|
|
559
|
-
|
|
92
|
+
const signalCollector = new SignalCollector(config, agentBoosterAdapter);
|
|
93
|
+
const scoreCalculator = new ScoreCalculator();
|
|
94
|
+
const tierRecommender = new TierRecommender();
|
|
95
|
+
return new ComplexityAnalyzer(config, signalCollector, scoreCalculator, tierRecommender);
|
|
560
96
|
}
|
|
97
|
+
/**
|
|
98
|
+
* Create a complexity analyzer instance with custom dependencies (for testing)
|
|
99
|
+
*/
|
|
100
|
+
export function createComplexityAnalyzerWithDependencies(config, signalCollector, scoreCalculator, tierRecommender) {
|
|
101
|
+
return new ComplexityAnalyzer(config, signalCollector, scoreCalculator, tierRecommender);
|
|
102
|
+
}
|
|
103
|
+
// ============================================================================
|
|
104
|
+
// Re-exports for convenience
|
|
105
|
+
// ============================================================================
|
|
106
|
+
export { SignalCollector, createSignalCollector } from './signal-collector';
|
|
107
|
+
export { ScoreCalculator, createScoreCalculator } from './score-calculator';
|
|
108
|
+
export { TierRecommender, createTierRecommender } from './tier-recommender';
|
|
561
109
|
//# sourceMappingURL=complexity-analyzer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"complexity-analyzer.js","sourceRoot":"","sources":["../../../../src/integrations/agentic-flow/model-router/complexity-analyzer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"complexity-analyzer.js","sourceRoot":"","sources":["../../../../src/integrations/agentic-flow/model-router/complexity-analyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import { ModelRouterError, RoutingTimeoutError, DEFAULT_ROUTER_CONFIG, } from './types';
|
|
15
15
|
import { getPatternLoader } from '../pattern-loader';
|
|
16
|
-
import {
|
|
16
|
+
import { createComplexityAnalyzer } from './complexity-analyzer';
|
|
17
17
|
import { BudgetEnforcer } from './budget-enforcer';
|
|
18
18
|
/**
|
|
19
19
|
* Simple LRU cache for routing decisions
|
|
@@ -249,7 +249,7 @@ export class ModelRouter {
|
|
|
249
249
|
this.agentBoosterAdapter = agentBoosterAdapter;
|
|
250
250
|
this.persistentMetricsTracker = persistentMetricsTracker;
|
|
251
251
|
// Initialize components
|
|
252
|
-
this.complexityAnalyzer =
|
|
252
|
+
this.complexityAnalyzer = createComplexityAnalyzer(this.config, agentBoosterAdapter);
|
|
253
253
|
this.budgetEnforcer = new BudgetEnforcer(this.config.budgetConfig);
|
|
254
254
|
this.cache = new DecisionCache(this.config.enableDecisionCache, 1000, this.config.decisionCacheTtlMs);
|
|
255
255
|
this.metrics = new InMemoryMetricsTracker(this.config.enableMetrics);
|