agentic-qe 3.7.7 → 3.7.9
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/helpers/statusline-v3.cjs +13 -1
- package/.claude/skills/debug-loop/SKILL.md +1 -1
- package/.claude/skills/enterprise-integration-testing/evals/enterprise-integration-testing.yaml +158 -0
- package/.claude/skills/enterprise-integration-testing/schemas/output.json +74 -0
- package/.claude/skills/enterprise-integration-testing/scripts/validate-config.json +25 -0
- package/.claude/skills/middleware-testing-patterns/evals/middleware-testing-patterns.yaml +153 -0
- package/.claude/skills/middleware-testing-patterns/schemas/output.json +58 -0
- package/.claude/skills/middleware-testing-patterns/scripts/validate-config.json +25 -0
- package/.claude/skills/observability-testing-patterns/evals/observability-testing-patterns.yaml +157 -0
- package/.claude/skills/observability-testing-patterns/schemas/output.json +58 -0
- package/.claude/skills/observability-testing-patterns/scripts/validate-config.json +25 -0
- package/.claude/skills/pr-review/SKILL.md +1 -1
- package/.claude/skills/qcsd-cicd-swarm/evals/qcsd-cicd-swarm.yaml +211 -0
- package/.claude/skills/qcsd-cicd-swarm/schemas/output.json +86 -0
- package/.claude/skills/qcsd-cicd-swarm/scripts/validate-config.json +30 -0
- package/.claude/skills/qcsd-development-swarm/evals/qcsd-development-swarm.yaml +162 -0
- package/.claude/skills/qcsd-development-swarm/schemas/output.json +72 -0
- package/.claude/skills/qcsd-development-swarm/scripts/validate-config.json +25 -0
- package/.claude/skills/skills-manifest.json +1 -1
- package/.claude/skills/trust-tier-manifest.json +78 -7
- package/CHANGELOG.md +39 -0
- package/README.md +36 -0
- package/assets/skills/a11y-ally/SKILL.md +1664 -1658
- package/assets/skills/a11y-ally/evals/a11y-ally.yaml +376 -0
- package/assets/skills/a11y-ally/schemas/output.json +549 -0
- package/assets/skills/a11y-ally/scripts/validate-config.json +42 -0
- package/assets/skills/brutal-honesty-review/SKILL.md +5 -0
- package/assets/skills/brutal-honesty-review/schemas/output.json +291 -0
- package/assets/skills/brutal-honesty-review/scripts/validate-config.json +34 -0
- package/assets/skills/cicd-pipeline-qe-orchestrator/README.md +1 -1
- package/assets/skills/cicd-pipeline-qe-orchestrator/SKILL.md +6 -0
- package/assets/skills/cicd-pipeline-qe-orchestrator/evals/cicd-pipeline-qe-orchestrator.yaml +157 -0
- package/assets/skills/cicd-pipeline-qe-orchestrator/schemas/output.json +542 -0
- package/assets/skills/cicd-pipeline-qe-orchestrator/scripts/validate-config.json +42 -0
- package/assets/skills/debug-loop/SKILL.md +1 -1
- package/assets/skills/enterprise-integration-testing/evals/enterprise-integration-testing.yaml +158 -0
- package/assets/skills/enterprise-integration-testing/schemas/output.json +74 -0
- package/assets/skills/enterprise-integration-testing/scripts/validate-config.json +25 -0
- package/assets/skills/middleware-testing-patterns/evals/middleware-testing-patterns.yaml +153 -0
- package/assets/skills/middleware-testing-patterns/schemas/output.json +58 -0
- package/assets/skills/middleware-testing-patterns/scripts/validate-config.json +25 -0
- package/assets/skills/n8n-expression-testing/SKILL.md +6 -0
- package/assets/skills/n8n-expression-testing/evals/n8n-expression-testing.yaml +450 -0
- package/assets/skills/n8n-expression-testing/schemas/output.json +369 -0
- package/assets/skills/n8n-expression-testing/scripts/validate-config.json +39 -0
- package/assets/skills/n8n-integration-testing-patterns/SKILL.md +6 -0
- package/assets/skills/n8n-integration-testing-patterns/evals/n8n-integration-testing-patterns.yaml +522 -0
- package/assets/skills/n8n-integration-testing-patterns/schemas/output.json +291 -0
- package/assets/skills/n8n-integration-testing-patterns/scripts/validate-config.json +34 -0
- package/assets/skills/n8n-security-testing/SKILL.md +6 -0
- package/assets/skills/n8n-security-testing/evals/n8n-security-testing.yaml +493 -0
- package/assets/skills/n8n-security-testing/schemas/output.json +293 -0
- package/assets/skills/n8n-security-testing/scripts/validate-config.json +34 -0
- package/assets/skills/n8n-trigger-testing-strategies/SKILL.md +6 -0
- package/assets/skills/n8n-trigger-testing-strategies/evals/n8n-trigger-testing-strategies.yaml +500 -0
- package/assets/skills/n8n-trigger-testing-strategies/schemas/output.json +295 -0
- package/assets/skills/n8n-trigger-testing-strategies/scripts/validate-config.json +34 -0
- package/assets/skills/n8n-workflow-testing-fundamentals/SKILL.md +6 -0
- package/assets/skills/n8n-workflow-testing-fundamentals/evals/n8n-workflow-testing-fundamentals.yaml +497 -0
- package/assets/skills/n8n-workflow-testing-fundamentals/schemas/output.json +254 -0
- package/assets/skills/n8n-workflow-testing-fundamentals/scripts/validate-config.json +35 -0
- package/assets/skills/observability-testing-patterns/evals/observability-testing-patterns.yaml +157 -0
- package/assets/skills/observability-testing-patterns/schemas/output.json +58 -0
- package/assets/skills/observability-testing-patterns/scripts/validate-config.json +25 -0
- package/assets/skills/pentest-validation/scripts/validate-config.json +12 -0
- package/assets/skills/pr-review/SKILL.md +1 -1
- package/assets/skills/qcsd-cicd-swarm/evals/qcsd-cicd-swarm.yaml +211 -0
- package/assets/skills/qcsd-cicd-swarm/schemas/output.json +86 -0
- package/assets/skills/qcsd-cicd-swarm/scripts/validate-config.json +30 -0
- package/assets/skills/qcsd-development-swarm/evals/qcsd-development-swarm.yaml +162 -0
- package/assets/skills/qcsd-development-swarm/schemas/output.json +72 -0
- package/assets/skills/qcsd-development-swarm/scripts/validate-config.json +25 -0
- package/assets/skills/qcsd-ideation-swarm/evals/qcsd-ideation-swarm.yaml +138 -0
- package/assets/skills/qcsd-ideation-swarm/schemas/output.json +568 -0
- package/assets/skills/qcsd-ideation-swarm/scripts/validate-config.json +25 -0
- package/assets/skills/qcsd-production-swarm/SKILL.md +2781 -0
- package/assets/skills/qcsd-production-swarm/evals/qcsd-production-swarm.yaml +246 -0
- package/assets/skills/qcsd-production-swarm/schemas/output.json +505 -0
- package/assets/skills/qcsd-production-swarm/scripts/validate-config.json +25 -0
- package/assets/skills/qcsd-refinement-swarm/evals/qcsd-refinement-swarm.yaml +139 -0
- package/assets/skills/qcsd-refinement-swarm/schemas/output.json +811 -0
- package/assets/skills/qcsd-refinement-swarm/scripts/validate-config.json +25 -0
- package/assets/skills/security-visual-testing/scripts/validate-config.json +45 -0
- package/assets/skills/sherlock-review/SKILL.md +5 -0
- package/assets/skills/sherlock-review/schemas/output.json +297 -0
- package/assets/skills/sherlock-review/scripts/validate-config.json +35 -0
- package/assets/skills/testability-scoring/SKILL.md +5 -0
- package/assets/skills/testability-scoring/evals/testability-scoring.yaml +814 -0
- package/assets/skills/testability-scoring/schemas/output.json +606 -0
- package/assets/skills/testability-scoring/scripts/validate-config.json +42 -0
- package/assets/skills/trust-tier-manifest.json +2404 -0
- package/assets/skills/wms-testing-patterns/evals/wms-testing-patterns.yaml +165 -0
- package/assets/skills/wms-testing-patterns/schemas/output.json +150 -0
- package/assets/skills/wms-testing-patterns/scripts/validate-config.json +51 -0
- package/dist/benchmarks/performance-benchmarks.js +1 -1
- package/dist/cli/bundle.js +10154 -2421
- package/dist/cli/commands/hooks.d.ts.map +1 -1
- package/dist/cli/commands/hooks.js +92 -0
- package/dist/cli/commands/hooks.js.map +1 -1
- package/dist/cli/commands/migrate.js +2 -2
- package/dist/coordination/complexity-composition/index.d.ts +2 -0
- package/dist/coordination/complexity-composition/index.d.ts.map +1 -0
- package/dist/coordination/complexity-composition/index.js +2 -0
- package/dist/coordination/complexity-composition/index.js.map +1 -0
- package/dist/coordination/complexity-composition/team-composer.d.ts +72 -0
- package/dist/coordination/complexity-composition/team-composer.d.ts.map +1 -0
- package/dist/coordination/complexity-composition/team-composer.js +221 -0
- package/dist/coordination/complexity-composition/team-composer.js.map +1 -0
- package/dist/coordination/consensus/consensus-engine.d.ts +10 -1
- package/dist/coordination/consensus/consensus-engine.d.ts.map +1 -1
- package/dist/coordination/consensus/consensus-engine.js +31 -1
- package/dist/coordination/consensus/consensus-engine.js.map +1 -1
- package/dist/coordination/consensus/index.d.ts +1 -0
- package/dist/coordination/consensus/index.d.ts.map +1 -1
- package/dist/coordination/consensus/index.js +4 -0
- package/dist/coordination/consensus/index.js.map +1 -1
- package/dist/coordination/consensus/interfaces.d.ts +5 -0
- package/dist/coordination/consensus/interfaces.d.ts.map +1 -1
- package/dist/coordination/consensus/interfaces.js +1 -0
- package/dist/coordination/consensus/interfaces.js.map +1 -1
- package/dist/coordination/consensus/sycophancy-scorer.d.ts +62 -0
- package/dist/coordination/consensus/sycophancy-scorer.d.ts.map +1 -0
- package/dist/coordination/consensus/sycophancy-scorer.js +200 -0
- package/dist/coordination/consensus/sycophancy-scorer.js.map +1 -0
- package/dist/coordination/constants.d.ts +1 -1
- package/dist/coordination/constants.js +1 -1
- package/dist/coordination/fleet-tiers/tier-selector.d.ts +20 -0
- package/dist/coordination/fleet-tiers/tier-selector.d.ts.map +1 -1
- package/dist/coordination/fleet-tiers/tier-selector.js +31 -0
- package/dist/coordination/fleet-tiers/tier-selector.js.map +1 -1
- package/dist/coordination/fleet-tiers/types.d.ts +2 -0
- package/dist/coordination/fleet-tiers/types.d.ts.map +1 -1
- package/dist/coordination/handlers/coverage-handlers.js +1 -1
- package/dist/coordination/handlers/coverage-handlers.js.map +1 -1
- package/dist/domains/code-intelligence/services/semantic-analyzer.d.ts +1 -1
- package/dist/domains/code-intelligence/services/semantic-analyzer.d.ts.map +1 -1
- package/dist/domains/code-intelligence/services/semantic-analyzer.js +1 -1
- package/dist/domains/code-intelligence/services/semantic-analyzer.js.map +1 -1
- package/dist/domains/coverage-analysis/coordinator.js +1 -1
- package/dist/domains/coverage-analysis/services/coverage-analyzer.js +1 -1
- package/dist/domains/coverage-analysis/services/coverage-embedder.d.ts +1 -1
- package/dist/domains/coverage-analysis/services/coverage-embedder.js +1 -1
- package/dist/domains/coverage-analysis/services/gap-detector.js +1 -1
- package/dist/domains/coverage-analysis/services/ghost-coverage-analyzer.js +1 -1
- package/dist/domains/coverage-analysis/services/hnsw-index.d.ts +2 -2
- package/dist/domains/coverage-analysis/services/hnsw-index.js +3 -3
- package/dist/domains/coverage-analysis/services/sublinear-analyzer.d.ts +1 -1
- package/dist/domains/coverage-analysis/services/sublinear-analyzer.js +1 -1
- package/dist/domains/test-execution/services/test-prioritizer.js +1 -1
- package/dist/domains/test-generation/blind-review/blind-review-orchestrator.d.ts +65 -0
- package/dist/domains/test-generation/blind-review/blind-review-orchestrator.d.ts.map +1 -0
- package/dist/domains/test-generation/blind-review/blind-review-orchestrator.js +189 -0
- package/dist/domains/test-generation/blind-review/blind-review-orchestrator.js.map +1 -0
- package/dist/domains/test-generation/blind-review/index.d.ts +2 -0
- package/dist/domains/test-generation/blind-review/index.d.ts.map +1 -0
- package/dist/domains/test-generation/blind-review/index.js +2 -0
- package/dist/domains/test-generation/blind-review/index.js.map +1 -0
- package/dist/domains/test-generation/context/rust-context-builder.d.ts +31 -0
- package/dist/domains/test-generation/context/rust-context-builder.d.ts.map +1 -0
- package/dist/domains/test-generation/context/rust-context-builder.js +27 -0
- package/dist/domains/test-generation/context/rust-context-builder.js.map +1 -0
- package/dist/domains/test-generation/coordinator.js +3 -3
- package/dist/domains/test-generation/coordinator.js.map +1 -1
- package/dist/domains/test-generation/detectors/mobile-detector.d.ts +41 -0
- package/dist/domains/test-generation/detectors/mobile-detector.d.ts.map +1 -0
- package/dist/domains/test-generation/detectors/mobile-detector.js +111 -0
- package/dist/domains/test-generation/detectors/mobile-detector.js.map +1 -0
- package/dist/domains/test-generation/detectors/spring-detector.d.ts +22 -0
- package/dist/domains/test-generation/detectors/spring-detector.d.ts.map +1 -0
- package/dist/domains/test-generation/detectors/spring-detector.js +37 -0
- package/dist/domains/test-generation/detectors/spring-detector.js.map +1 -0
- package/dist/domains/test-generation/factories/test-generator-factory.d.ts +2 -1
- package/dist/domains/test-generation/factories/test-generator-factory.d.ts.map +1 -1
- package/dist/domains/test-generation/factories/test-generator-factory.js +33 -13
- package/dist/domains/test-generation/factories/test-generator-factory.js.map +1 -1
- package/dist/domains/test-generation/gates/index.d.ts +2 -0
- package/dist/domains/test-generation/gates/index.d.ts.map +1 -0
- package/dist/domains/test-generation/gates/index.js +2 -0
- package/dist/domains/test-generation/gates/index.js.map +1 -0
- package/dist/domains/test-generation/gates/test-quality-gate.d.ts +85 -0
- package/dist/domains/test-generation/gates/test-quality-gate.d.ts.map +1 -0
- package/dist/domains/test-generation/gates/test-quality-gate.js +320 -0
- package/dist/domains/test-generation/gates/test-quality-gate.js.map +1 -0
- package/dist/domains/test-generation/generators/flutter-test-generator.d.ts +107 -0
- package/dist/domains/test-generation/generators/flutter-test-generator.d.ts.map +1 -0
- package/dist/domains/test-generation/generators/flutter-test-generator.js +590 -0
- package/dist/domains/test-generation/generators/flutter-test-generator.js.map +1 -0
- package/dist/domains/test-generation/generators/go-test-generator.d.ts +139 -0
- package/dist/domains/test-generation/generators/go-test-generator.d.ts.map +1 -0
- package/dist/domains/test-generation/generators/go-test-generator.js +654 -0
- package/dist/domains/test-generation/generators/go-test-generator.js.map +1 -0
- package/dist/domains/test-generation/generators/index.d.ts +8 -0
- package/dist/domains/test-generation/generators/index.d.ts.map +1 -1
- package/dist/domains/test-generation/generators/index.js +8 -0
- package/dist/domains/test-generation/generators/index.js.map +1 -1
- package/dist/domains/test-generation/generators/jest-rn-generator.d.ts +95 -0
- package/dist/domains/test-generation/generators/jest-rn-generator.d.ts.map +1 -0
- package/dist/domains/test-generation/generators/jest-rn-generator.js +591 -0
- package/dist/domains/test-generation/generators/jest-rn-generator.js.map +1 -0
- package/dist/domains/test-generation/generators/junit5-generator.d.ts +107 -0
- package/dist/domains/test-generation/generators/junit5-generator.d.ts.map +1 -0
- package/dist/domains/test-generation/generators/junit5-generator.js +588 -0
- package/dist/domains/test-generation/generators/junit5-generator.js.map +1 -0
- package/dist/domains/test-generation/generators/kotlin-junit-generator.d.ts +109 -0
- package/dist/domains/test-generation/generators/kotlin-junit-generator.d.ts.map +1 -0
- package/dist/domains/test-generation/generators/kotlin-junit-generator.js +588 -0
- package/dist/domains/test-generation/generators/kotlin-junit-generator.js.map +1 -0
- package/dist/domains/test-generation/generators/pytest-generator.d.ts +8 -1
- package/dist/domains/test-generation/generators/pytest-generator.d.ts.map +1 -1
- package/dist/domains/test-generation/generators/pytest-generator.js +57 -0
- package/dist/domains/test-generation/generators/pytest-generator.js.map +1 -1
- package/dist/domains/test-generation/generators/rust-test-generator.d.ts +80 -0
- package/dist/domains/test-generation/generators/rust-test-generator.d.ts.map +1 -0
- package/dist/domains/test-generation/generators/rust-test-generator.js +442 -0
- package/dist/domains/test-generation/generators/rust-test-generator.js.map +1 -0
- package/dist/domains/test-generation/generators/swift-testing-generator.d.ts +97 -0
- package/dist/domains/test-generation/generators/swift-testing-generator.d.ts.map +1 -0
- package/dist/domains/test-generation/generators/swift-testing-generator.js +482 -0
- package/dist/domains/test-generation/generators/swift-testing-generator.js.map +1 -0
- package/dist/domains/test-generation/generators/xunit-generator.d.ts +110 -0
- package/dist/domains/test-generation/generators/xunit-generator.d.ts.map +1 -0
- package/dist/domains/test-generation/generators/xunit-generator.js +611 -0
- package/dist/domains/test-generation/generators/xunit-generator.js.map +1 -0
- package/dist/domains/test-generation/interfaces.d.ts +14 -2
- package/dist/domains/test-generation/interfaces.d.ts.map +1 -1
- package/dist/domains/test-generation/pattern-injection/edge-case-injector.d.ts +68 -0
- package/dist/domains/test-generation/pattern-injection/edge-case-injector.d.ts.map +1 -0
- package/dist/domains/test-generation/pattern-injection/edge-case-injector.js +225 -0
- package/dist/domains/test-generation/pattern-injection/edge-case-injector.js.map +1 -0
- package/dist/domains/test-generation/pattern-injection/index.d.ts +2 -0
- package/dist/domains/test-generation/pattern-injection/index.d.ts.map +1 -0
- package/dist/domains/test-generation/pattern-injection/index.js +2 -0
- package/dist/domains/test-generation/pattern-injection/index.js.map +1 -0
- package/dist/domains/test-generation/prompts/language-prompts.d.ts +29 -0
- package/dist/domains/test-generation/prompts/language-prompts.d.ts.map +1 -0
- package/dist/domains/test-generation/prompts/language-prompts.js +135 -0
- package/dist/domains/test-generation/prompts/language-prompts.js.map +1 -0
- package/dist/domains/test-generation/services/compilation-validator.d.ts +43 -0
- package/dist/domains/test-generation/services/compilation-validator.d.ts.map +1 -0
- package/dist/domains/test-generation/services/compilation-validator.js +134 -0
- package/dist/domains/test-generation/services/compilation-validator.js.map +1 -0
- package/dist/domains/test-generation/services/index.d.ts +2 -1
- package/dist/domains/test-generation/services/index.d.ts.map +1 -1
- package/dist/domains/test-generation/services/index.js +3 -1
- package/dist/domains/test-generation/services/index.js.map +1 -1
- package/dist/domains/test-generation/services/test-file-resolver.d.ts +32 -0
- package/dist/domains/test-generation/services/test-file-resolver.d.ts.map +1 -0
- package/dist/domains/test-generation/services/test-file-resolver.js +159 -0
- package/dist/domains/test-generation/services/test-file-resolver.js.map +1 -0
- package/dist/domains/test-generation/services/test-generator.d.ts +16 -0
- package/dist/domains/test-generation/services/test-generator.d.ts.map +1 -1
- package/dist/domains/test-generation/services/test-generator.js +116 -10
- package/dist/domains/test-generation/services/test-generator.js.map +1 -1
- package/dist/governance/feature-flags.js +2 -2
- package/dist/governance/feature-flags.js.map +1 -1
- package/dist/governance/shard-embeddings.js +1 -1
- package/dist/init/init-wizard-hooks.d.ts.map +1 -1
- package/dist/init/init-wizard-hooks.js +0 -1
- package/dist/init/init-wizard-hooks.js.map +1 -1
- package/dist/init/phases/07-hooks.d.ts.map +1 -1
- package/dist/init/phases/07-hooks.js +0 -2
- package/dist/init/phases/07-hooks.js.map +1 -1
- package/dist/init/phases/08-mcp.d.ts +8 -4
- package/dist/init/phases/08-mcp.d.ts.map +1 -1
- package/dist/init/phases/08-mcp.js +13 -31
- package/dist/init/phases/08-mcp.js.map +1 -1
- package/dist/init/phases/10-workers.js +2 -2
- package/dist/init/phases/10-workers.js.map +1 -1
- package/dist/init/settings-merge.d.ts.map +1 -1
- package/dist/init/settings-merge.js +0 -2
- package/dist/init/settings-merge.js.map +1 -1
- package/dist/init/token-bootstrap.js +1 -1
- package/dist/init/token-bootstrap.js.map +1 -1
- package/dist/integrations/agentic-flow/reasoning-bank/experience-replay.d.ts +8 -2
- package/dist/integrations/agentic-flow/reasoning-bank/experience-replay.d.ts.map +1 -1
- package/dist/integrations/agentic-flow/reasoning-bank/experience-replay.js +62 -38
- package/dist/integrations/agentic-flow/reasoning-bank/experience-replay.js.map +1 -1
- package/dist/integrations/rl-suite/algorithms/decision-transformer.js +1 -1
- package/dist/kernel/constants.d.ts +2 -2
- package/dist/kernel/constants.js +2 -2
- package/dist/kernel/hnsw-adapter.js +1 -1
- package/dist/kernel/progressive-hnsw-backend.d.ts +2 -2
- package/dist/kernel/progressive-hnsw-backend.js +2 -2
- package/dist/learning/dream/concept-graph.d.ts +1 -1
- package/dist/learning/dream/concept-graph.js +1 -1
- package/dist/learning/dream/dream-engine.d.ts +1 -1
- package/dist/learning/dream/dream-engine.js +1 -1
- package/dist/learning/dream/index.d.ts +1 -1
- package/dist/learning/dream/index.js +1 -1
- package/dist/learning/dream/types.d.ts +1 -1
- package/dist/learning/dream/types.d.ts.map +1 -1
- package/dist/learning/dream/types.js +1 -1
- package/dist/learning/dream/types.js.map +1 -1
- package/dist/learning/experience-capture.d.ts +12 -2
- package/dist/learning/experience-capture.d.ts.map +1 -1
- package/dist/learning/experience-capture.js +28 -35
- package/dist/learning/experience-capture.js.map +1 -1
- package/dist/learning/experience-consolidation.d.ts +74 -0
- package/dist/learning/experience-consolidation.d.ts.map +1 -0
- package/dist/learning/experience-consolidation.js +403 -0
- package/dist/learning/experience-consolidation.js.map +1 -0
- package/dist/learning/token-tracker.js +1 -1
- package/dist/learning/token-tracker.js.map +1 -1
- package/dist/mcp/bundle.js +9453 -1166
- package/dist/routing/calibration/ema-calibrator.d.ts +93 -0
- package/dist/routing/calibration/ema-calibrator.d.ts.map +1 -0
- package/dist/routing/calibration/ema-calibrator.js +140 -0
- package/dist/routing/calibration/ema-calibrator.js.map +1 -0
- package/dist/routing/calibration/index.d.ts +2 -0
- package/dist/routing/calibration/index.d.ts.map +1 -0
- package/dist/routing/calibration/index.js +2 -0
- package/dist/routing/calibration/index.js.map +1 -0
- package/dist/routing/escalation/auto-escalation-tracker.d.ts +62 -0
- package/dist/routing/escalation/auto-escalation-tracker.d.ts.map +1 -0
- package/dist/routing/escalation/auto-escalation-tracker.js +116 -0
- package/dist/routing/escalation/auto-escalation-tracker.js.map +1 -0
- package/dist/routing/escalation/index.d.ts +2 -0
- package/dist/routing/escalation/index.d.ts.map +1 -0
- package/dist/routing/escalation/index.js +2 -0
- package/dist/routing/escalation/index.js.map +1 -0
- package/dist/routing/index.d.ts +4 -0
- package/dist/routing/index.d.ts.map +1 -1
- package/dist/routing/index.js +4 -0
- package/dist/routing/index.js.map +1 -1
- package/dist/routing/qe-agent-registry.js +4 -4
- package/dist/routing/qe-agent-registry.js.map +1 -1
- package/dist/routing/routing-config.d.ts +4 -0
- package/dist/routing/routing-config.d.ts.map +1 -1
- package/dist/routing/routing-config.js +2 -0
- package/dist/routing/routing-config.js.map +1 -1
- package/dist/routing/routing-feedback.d.ts +35 -2
- package/dist/routing/routing-feedback.d.ts.map +1 -1
- package/dist/routing/routing-feedback.js +97 -3
- package/dist/routing/routing-feedback.js.map +1 -1
- package/dist/routing/types.d.ts +7 -8
- package/dist/routing/types.d.ts.map +1 -1
- package/dist/routing/types.js.map +1 -1
- package/dist/shared/embeddings/embedding-cache.js +2 -2
- package/dist/shared/embeddings/index.d.ts +2 -2
- package/dist/shared/embeddings/index.js +2 -2
- package/dist/shared/embeddings/nomic-embedder.d.ts +4 -4
- package/dist/shared/embeddings/nomic-embedder.js +2 -2
- package/dist/shared/embeddings/ollama-client.d.ts +1 -1
- package/dist/shared/embeddings/ollama-client.js +2 -2
- package/dist/shared/embeddings/ollama-client.js.map +1 -1
- package/dist/shared/embeddings/types.d.ts +2 -2
- package/dist/shared/embeddings/types.js +2 -2
- package/dist/shared/language-detector.d.ts +46 -0
- package/dist/shared/language-detector.d.ts.map +1 -0
- package/dist/shared/language-detector.js +183 -0
- package/dist/shared/language-detector.js.map +1 -0
- package/dist/shared/llm/providers/ollama.js +1 -1
- package/dist/shared/metrics/code-metrics.d.ts.map +1 -1
- package/dist/shared/metrics/code-metrics.js +24 -1
- package/dist/shared/metrics/code-metrics.js.map +1 -1
- package/dist/shared/parsers/index.d.ts +2 -0
- package/dist/shared/parsers/index.d.ts.map +1 -1
- package/dist/shared/parsers/index.js +2 -0
- package/dist/shared/parsers/index.js.map +1 -1
- package/dist/shared/parsers/interfaces.d.ts +81 -0
- package/dist/shared/parsers/interfaces.d.ts.map +1 -0
- package/dist/shared/parsers/interfaces.js +6 -0
- package/dist/shared/parsers/interfaces.js.map +1 -0
- package/dist/shared/parsers/multi-language-parser.d.ts +144 -0
- package/dist/shared/parsers/multi-language-parser.d.ts.map +1 -0
- package/dist/shared/parsers/multi-language-parser.js +1232 -0
- package/dist/shared/parsers/multi-language-parser.js.map +1 -0
- package/dist/shared/parsers/rust-ownership-analyzer.d.ts +45 -0
- package/dist/shared/parsers/rust-ownership-analyzer.d.ts.map +1 -0
- package/dist/shared/parsers/rust-ownership-analyzer.js +52 -0
- package/dist/shared/parsers/rust-ownership-analyzer.js.map +1 -0
- package/dist/shared/parsers/typescript-parser.d.ts +16 -0
- package/dist/shared/parsers/typescript-parser.d.ts.map +1 -1
- package/dist/shared/parsers/typescript-parser.js +85 -0
- package/dist/shared/parsers/typescript-parser.js.map +1 -1
- package/dist/shared/types/test-frameworks.d.ts +25 -0
- package/dist/shared/types/test-frameworks.d.ts.map +1 -0
- package/dist/shared/types/test-frameworks.js +111 -0
- package/dist/shared/types/test-frameworks.js.map +1 -0
- package/dist/workers/workers/learning-consolidation.d.ts.map +1 -1
- package/dist/workers/workers/learning-consolidation.js +32 -0
- package/dist/workers/workers/learning-consolidation.js.map +1 -1
- package/package.json +1 -1
- package/scripts/prepare-assets.sh +8 -2
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EMA-based Reviewer Calibration
|
|
3
|
+
* Inspired by loki-mode reviewer calibration
|
|
4
|
+
*
|
|
5
|
+
* Tracks per-agent accuracy using Exponential Moving Average (alpha=0.1),
|
|
6
|
+
* derives dynamic voting weights for multi-agent consensus.
|
|
7
|
+
* Agents with consistent accuracy get higher influence.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Calibration record for a single agent
|
|
11
|
+
*/
|
|
12
|
+
export interface CalibrationRecord {
|
|
13
|
+
agentId: string;
|
|
14
|
+
/** EMA of success rate (0-1) */
|
|
15
|
+
emaAccuracy: number;
|
|
16
|
+
/** EMA of quality score (0-1) */
|
|
17
|
+
emaQuality: number;
|
|
18
|
+
/** Derived voting weight (0.2-2.0) */
|
|
19
|
+
calibratedWeight: number;
|
|
20
|
+
/** Total outcomes recorded */
|
|
21
|
+
totalOutcomes: number;
|
|
22
|
+
/** Last update timestamp */
|
|
23
|
+
lastUpdated: Date;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Configuration for the EMA calibrator
|
|
27
|
+
*/
|
|
28
|
+
export interface EMAConfig {
|
|
29
|
+
/** Smoothing factor for EMA (default: 0.1) */
|
|
30
|
+
alpha: number;
|
|
31
|
+
/** Minimum outcomes before applying calibrated weight (default: 10) */
|
|
32
|
+
minOutcomes: number;
|
|
33
|
+
/** Minimum allowed weight (default: 0.2) */
|
|
34
|
+
weightFloor: number;
|
|
35
|
+
/** Maximum allowed weight (default: 2.0) */
|
|
36
|
+
weightCeiling: number;
|
|
37
|
+
}
|
|
38
|
+
export declare const DEFAULT_EMA_CONFIG: EMAConfig;
|
|
39
|
+
/**
|
|
40
|
+
* Calibrates per-agent voting weights using Exponential Moving Average.
|
|
41
|
+
*
|
|
42
|
+
* Agents that consistently produce successful, high-quality outcomes
|
|
43
|
+
* receive higher voting weights in multi-agent consensus decisions.
|
|
44
|
+
* New agents (below minOutcomes) receive a neutral weight of 1.0.
|
|
45
|
+
*/
|
|
46
|
+
export declare class EMACalibrator {
|
|
47
|
+
private records;
|
|
48
|
+
private readonly config;
|
|
49
|
+
constructor(config?: Partial<EMAConfig>);
|
|
50
|
+
/**
|
|
51
|
+
* Record an outcome for an agent and update its EMA calibration.
|
|
52
|
+
*
|
|
53
|
+
* @param agentId - The agent identifier
|
|
54
|
+
* @param success - Whether the task succeeded
|
|
55
|
+
* @param qualityScore - Quality score (0-1)
|
|
56
|
+
* @returns Updated calibration record
|
|
57
|
+
*/
|
|
58
|
+
recordOutcome(agentId: string, success: boolean, qualityScore: number): CalibrationRecord;
|
|
59
|
+
/**
|
|
60
|
+
* Get the calibration record for an agent.
|
|
61
|
+
*
|
|
62
|
+
* @param agentId - The agent identifier
|
|
63
|
+
* @returns Calibration record or null if not found
|
|
64
|
+
*/
|
|
65
|
+
getCalibration(agentId: string): CalibrationRecord | null;
|
|
66
|
+
/**
|
|
67
|
+
* Get the calibrated weight for an agent.
|
|
68
|
+
* Returns 1.0 (neutral) for unknown agents or those below minOutcomes.
|
|
69
|
+
*
|
|
70
|
+
* @param agentId - The agent identifier
|
|
71
|
+
* @returns Calibrated voting weight (0.2-2.0, or 1.0 if uncalibrated)
|
|
72
|
+
*/
|
|
73
|
+
getCalibratedWeight(agentId: string): number;
|
|
74
|
+
/**
|
|
75
|
+
* Get all calibration records.
|
|
76
|
+
*/
|
|
77
|
+
getAllCalibrations(): CalibrationRecord[];
|
|
78
|
+
/**
|
|
79
|
+
* Reset calibration data.
|
|
80
|
+
*
|
|
81
|
+
* @param agentId - If provided, reset only this agent. Otherwise reset all.
|
|
82
|
+
*/
|
|
83
|
+
reset(agentId?: string): void;
|
|
84
|
+
/**
|
|
85
|
+
* Serialize all records for persistence.
|
|
86
|
+
*/
|
|
87
|
+
serialize(): Record<string, CalibrationRecord>;
|
|
88
|
+
/**
|
|
89
|
+
* Load previously serialized records.
|
|
90
|
+
*/
|
|
91
|
+
deserialize(data: Record<string, CalibrationRecord>): void;
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=ema-calibrator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ema-calibrator.d.ts","sourceRoot":"","sources":["../../../src/routing/calibration/ema-calibrator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,gBAAgB,EAAE,MAAM,CAAC;IACzB,8BAA8B;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,4BAA4B;IAC5B,WAAW,EAAE,IAAI,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,WAAW,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,kBAAkB,EAAE,SAKhC,CAAC;AAMF;;;;;;GAMG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAA6C;IAC5D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;gBAEvB,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC;IAIvC;;;;;;;OAOG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,iBAAiB;IA0CzF;;;;;OAKG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI;IAIzD;;;;;;OAMG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAQ5C;;OAEG;IACH,kBAAkB,IAAI,iBAAiB,EAAE;IAIzC;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAQ7B;;OAEG;IACH,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAQ9C;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,IAAI;CAS3D"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EMA-based Reviewer Calibration
|
|
3
|
+
* Inspired by loki-mode reviewer calibration
|
|
4
|
+
*
|
|
5
|
+
* Tracks per-agent accuracy using Exponential Moving Average (alpha=0.1),
|
|
6
|
+
* derives dynamic voting weights for multi-agent consensus.
|
|
7
|
+
* Agents with consistent accuracy get higher influence.
|
|
8
|
+
*/
|
|
9
|
+
export const DEFAULT_EMA_CONFIG = {
|
|
10
|
+
alpha: 0.1,
|
|
11
|
+
minOutcomes: 10,
|
|
12
|
+
weightFloor: 0.2,
|
|
13
|
+
weightCeiling: 2.0,
|
|
14
|
+
};
|
|
15
|
+
// ============================================================================
|
|
16
|
+
// EMA Calibrator
|
|
17
|
+
// ============================================================================
|
|
18
|
+
/**
|
|
19
|
+
* Calibrates per-agent voting weights using Exponential Moving Average.
|
|
20
|
+
*
|
|
21
|
+
* Agents that consistently produce successful, high-quality outcomes
|
|
22
|
+
* receive higher voting weights in multi-agent consensus decisions.
|
|
23
|
+
* New agents (below minOutcomes) receive a neutral weight of 1.0.
|
|
24
|
+
*/
|
|
25
|
+
export class EMACalibrator {
|
|
26
|
+
records = new Map();
|
|
27
|
+
config;
|
|
28
|
+
constructor(config) {
|
|
29
|
+
this.config = { ...DEFAULT_EMA_CONFIG, ...config };
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Record an outcome for an agent and update its EMA calibration.
|
|
33
|
+
*
|
|
34
|
+
* @param agentId - The agent identifier
|
|
35
|
+
* @param success - Whether the task succeeded
|
|
36
|
+
* @param qualityScore - Quality score (0-1)
|
|
37
|
+
* @returns Updated calibration record
|
|
38
|
+
*/
|
|
39
|
+
recordOutcome(agentId, success, qualityScore) {
|
|
40
|
+
const { alpha, minOutcomes, weightFloor, weightCeiling } = this.config;
|
|
41
|
+
const existing = this.records.get(agentId);
|
|
42
|
+
const successValue = success ? 1 : 0;
|
|
43
|
+
const clampedQuality = Math.max(0, Math.min(1, qualityScore));
|
|
44
|
+
let emaAccuracy;
|
|
45
|
+
let emaQuality;
|
|
46
|
+
if (existing) {
|
|
47
|
+
emaAccuracy = alpha * successValue + (1 - alpha) * existing.emaAccuracy;
|
|
48
|
+
emaQuality = alpha * clampedQuality + (1 - alpha) * existing.emaQuality;
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
// First outcome: initialize directly
|
|
52
|
+
emaAccuracy = successValue;
|
|
53
|
+
emaQuality = clampedQuality;
|
|
54
|
+
}
|
|
55
|
+
const totalOutcomes = (existing?.totalOutcomes ?? 0) + 1;
|
|
56
|
+
// Only apply calibrated weight after sufficient outcomes
|
|
57
|
+
let calibratedWeight;
|
|
58
|
+
if (totalOutcomes >= minOutcomes) {
|
|
59
|
+
calibratedWeight = Math.max(weightFloor, Math.min(weightCeiling, emaAccuracy * 2));
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
calibratedWeight = 1.0;
|
|
63
|
+
}
|
|
64
|
+
const record = {
|
|
65
|
+
agentId,
|
|
66
|
+
emaAccuracy,
|
|
67
|
+
emaQuality,
|
|
68
|
+
calibratedWeight,
|
|
69
|
+
totalOutcomes,
|
|
70
|
+
lastUpdated: new Date(),
|
|
71
|
+
};
|
|
72
|
+
this.records.set(agentId, record);
|
|
73
|
+
return record;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Get the calibration record for an agent.
|
|
77
|
+
*
|
|
78
|
+
* @param agentId - The agent identifier
|
|
79
|
+
* @returns Calibration record or null if not found
|
|
80
|
+
*/
|
|
81
|
+
getCalibration(agentId) {
|
|
82
|
+
return this.records.get(agentId) ?? null;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Get the calibrated weight for an agent.
|
|
86
|
+
* Returns 1.0 (neutral) for unknown agents or those below minOutcomes.
|
|
87
|
+
*
|
|
88
|
+
* @param agentId - The agent identifier
|
|
89
|
+
* @returns Calibrated voting weight (0.2-2.0, or 1.0 if uncalibrated)
|
|
90
|
+
*/
|
|
91
|
+
getCalibratedWeight(agentId) {
|
|
92
|
+
const record = this.records.get(agentId);
|
|
93
|
+
if (!record || record.totalOutcomes < this.config.minOutcomes) {
|
|
94
|
+
return 1.0;
|
|
95
|
+
}
|
|
96
|
+
return record.calibratedWeight;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Get all calibration records.
|
|
100
|
+
*/
|
|
101
|
+
getAllCalibrations() {
|
|
102
|
+
return Array.from(this.records.values());
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Reset calibration data.
|
|
106
|
+
*
|
|
107
|
+
* @param agentId - If provided, reset only this agent. Otherwise reset all.
|
|
108
|
+
*/
|
|
109
|
+
reset(agentId) {
|
|
110
|
+
if (agentId !== undefined) {
|
|
111
|
+
this.records.delete(agentId);
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
this.records.clear();
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Serialize all records for persistence.
|
|
119
|
+
*/
|
|
120
|
+
serialize() {
|
|
121
|
+
const result = {};
|
|
122
|
+
for (const [key, record] of this.records) {
|
|
123
|
+
result[key] = { ...record };
|
|
124
|
+
}
|
|
125
|
+
return result;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Load previously serialized records.
|
|
129
|
+
*/
|
|
130
|
+
deserialize(data) {
|
|
131
|
+
this.records.clear();
|
|
132
|
+
for (const [key, record] of Object.entries(data)) {
|
|
133
|
+
this.records.set(key, {
|
|
134
|
+
...record,
|
|
135
|
+
lastUpdated: new Date(record.lastUpdated),
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=ema-calibrator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ema-calibrator.js","sourceRoot":"","sources":["../../../src/routing/calibration/ema-calibrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routing/calibration/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,iBAAiB,EAAE,KAAK,SAAS,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/routing/calibration/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA0C,kBAAkB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auto-Escalation Tracker
|
|
3
|
+
* Inspired by loki-mode model selection with automatic escalation
|
|
4
|
+
*
|
|
5
|
+
* Tracks consecutive failures/successes per agent and recommends
|
|
6
|
+
* tier escalation (after N failures) or de-escalation (after M successes).
|
|
7
|
+
* Uses existing AgentTier and FallbackConfig.chain for tier ordering.
|
|
8
|
+
*/
|
|
9
|
+
import type { AgentTier } from '../routing-config.js';
|
|
10
|
+
export interface EscalationConfig {
|
|
11
|
+
/** Consecutive failures before escalation (default: 2) */
|
|
12
|
+
escalateAfterFailures: number;
|
|
13
|
+
/** Consecutive successes before de-escalation (default: 5) */
|
|
14
|
+
deEscalateAfterSuccesses: number;
|
|
15
|
+
/** Maximum tier to escalate to (default: 'opus') */
|
|
16
|
+
maxTier: AgentTier;
|
|
17
|
+
/** Minimum tier to de-escalate to (default: 'haiku') */
|
|
18
|
+
minTier: AgentTier;
|
|
19
|
+
}
|
|
20
|
+
export declare const DEFAULT_ESCALATION_CONFIG: EscalationConfig;
|
|
21
|
+
export interface EscalationState {
|
|
22
|
+
agentId: string;
|
|
23
|
+
currentTier: AgentTier;
|
|
24
|
+
baseTier: AgentTier;
|
|
25
|
+
consecutiveFailures: number;
|
|
26
|
+
consecutiveSuccesses: number;
|
|
27
|
+
escalationCount: number;
|
|
28
|
+
deEscalationCount: number;
|
|
29
|
+
lastAction: 'escalate' | 'de-escalate' | 'none';
|
|
30
|
+
lastActionTimestamp: Date;
|
|
31
|
+
}
|
|
32
|
+
export type EscalationAction = {
|
|
33
|
+
action: 'escalate' | 'de-escalate' | 'none';
|
|
34
|
+
previousTier: AgentTier;
|
|
35
|
+
newTier: AgentTier;
|
|
36
|
+
};
|
|
37
|
+
export declare class AutoEscalationTracker {
|
|
38
|
+
private readonly config;
|
|
39
|
+
private states;
|
|
40
|
+
constructor(config?: Partial<EscalationConfig>);
|
|
41
|
+
/**
|
|
42
|
+
* Record an outcome for an agent and determine escalation action.
|
|
43
|
+
*/
|
|
44
|
+
recordOutcome(agentId: string, success: boolean, baseTier: AgentTier): EscalationAction;
|
|
45
|
+
/**
|
|
46
|
+
* Get the current tier for an agent, or null if not tracked.
|
|
47
|
+
*/
|
|
48
|
+
getCurrentTier(agentId: string): AgentTier | null;
|
|
49
|
+
/**
|
|
50
|
+
* Get full escalation state for an agent, or null if not tracked.
|
|
51
|
+
*/
|
|
52
|
+
getState(agentId: string): EscalationState | null;
|
|
53
|
+
/**
|
|
54
|
+
* Get all tracked escalation states.
|
|
55
|
+
*/
|
|
56
|
+
getAllStates(): EscalationState[];
|
|
57
|
+
/**
|
|
58
|
+
* Reset state for a specific agent, or all agents if no ID provided.
|
|
59
|
+
*/
|
|
60
|
+
reset(agentId?: string): void;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=auto-escalation-tracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-escalation-tracker.d.ts","sourceRoot":"","sources":["../../../src/routing/escalation/auto-escalation-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAMtD,MAAM,WAAW,gBAAgB;IAC/B,0DAA0D;IAC1D,qBAAqB,EAAE,MAAM,CAAC;IAC9B,8DAA8D;IAC9D,wBAAwB,EAAE,MAAM,CAAC;IACjC,oDAAoD;IACpD,OAAO,EAAE,SAAS,CAAC;IACnB,wDAAwD;IACxD,OAAO,EAAE,SAAS,CAAC;CACpB;AAED,eAAO,MAAM,yBAAyB,EAAE,gBAKvC,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,SAAS,CAAC;IACvB,QAAQ,EAAE,SAAS,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,UAAU,GAAG,aAAa,GAAG,MAAM,CAAC;IAChD,mBAAmB,EAAE,IAAI,CAAC;CAC3B;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,UAAU,GAAG,aAAa,GAAG,MAAM,CAAC;IAC5C,YAAY,EAAE,SAAS,CAAC;IACxB,OAAO,EAAE,SAAS,CAAC;CACpB,CAAC;AAiBF,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,MAAM,CAA2C;gBAE7C,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC;IAI9C;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,GAAG,gBAAgB;IA0DvF;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAIjD;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IAIjD;;OAEG;IACH,YAAY,IAAI,eAAe,EAAE;IAIjC;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;CAO9B"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auto-Escalation Tracker
|
|
3
|
+
* Inspired by loki-mode model selection with automatic escalation
|
|
4
|
+
*
|
|
5
|
+
* Tracks consecutive failures/successes per agent and recommends
|
|
6
|
+
* tier escalation (after N failures) or de-escalation (after M successes).
|
|
7
|
+
* Uses existing AgentTier and FallbackConfig.chain for tier ordering.
|
|
8
|
+
*/
|
|
9
|
+
export const DEFAULT_ESCALATION_CONFIG = {
|
|
10
|
+
escalateAfterFailures: 2,
|
|
11
|
+
deEscalateAfterSuccesses: 5,
|
|
12
|
+
maxTier: 'opus',
|
|
13
|
+
minTier: 'haiku',
|
|
14
|
+
};
|
|
15
|
+
// ============================================================================
|
|
16
|
+
// Tier Ordering
|
|
17
|
+
// ============================================================================
|
|
18
|
+
/** Tiers in ascending order of capability/cost */
|
|
19
|
+
const TIER_ORDER = ['booster', 'haiku', 'sonnet', 'opus'];
|
|
20
|
+
function tierIndex(tier) {
|
|
21
|
+
return TIER_ORDER.indexOf(tier);
|
|
22
|
+
}
|
|
23
|
+
// ============================================================================
|
|
24
|
+
// Auto-Escalation Tracker
|
|
25
|
+
// ============================================================================
|
|
26
|
+
export class AutoEscalationTracker {
|
|
27
|
+
config;
|
|
28
|
+
states = new Map();
|
|
29
|
+
constructor(config) {
|
|
30
|
+
this.config = { ...DEFAULT_ESCALATION_CONFIG, ...config };
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Record an outcome for an agent and determine escalation action.
|
|
34
|
+
*/
|
|
35
|
+
recordOutcome(agentId, success, baseTier) {
|
|
36
|
+
let state = this.states.get(agentId);
|
|
37
|
+
if (!state) {
|
|
38
|
+
state = {
|
|
39
|
+
agentId,
|
|
40
|
+
currentTier: baseTier,
|
|
41
|
+
baseTier,
|
|
42
|
+
consecutiveFailures: 0,
|
|
43
|
+
consecutiveSuccesses: 0,
|
|
44
|
+
escalationCount: 0,
|
|
45
|
+
deEscalationCount: 0,
|
|
46
|
+
lastAction: 'none',
|
|
47
|
+
lastActionTimestamp: new Date(),
|
|
48
|
+
};
|
|
49
|
+
this.states.set(agentId, state);
|
|
50
|
+
}
|
|
51
|
+
const previousTier = state.currentTier;
|
|
52
|
+
if (!success) {
|
|
53
|
+
state.consecutiveFailures++;
|
|
54
|
+
state.consecutiveSuccesses = 0;
|
|
55
|
+
if (state.consecutiveFailures >= this.config.escalateAfterFailures) {
|
|
56
|
+
const currentIdx = tierIndex(state.currentTier);
|
|
57
|
+
const maxIdx = tierIndex(this.config.maxTier);
|
|
58
|
+
if (currentIdx < maxIdx) {
|
|
59
|
+
state.currentTier = TIER_ORDER[currentIdx + 1];
|
|
60
|
+
state.escalationCount++;
|
|
61
|
+
state.consecutiveFailures = 0;
|
|
62
|
+
state.lastAction = 'escalate';
|
|
63
|
+
state.lastActionTimestamp = new Date();
|
|
64
|
+
return { action: 'escalate', previousTier, newTier: state.currentTier };
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
state.consecutiveSuccesses++;
|
|
70
|
+
state.consecutiveFailures = 0;
|
|
71
|
+
if (state.consecutiveSuccesses >= this.config.deEscalateAfterSuccesses) {
|
|
72
|
+
const currentIdx = tierIndex(state.currentTier);
|
|
73
|
+
const minIdx = tierIndex(this.config.minTier);
|
|
74
|
+
if (currentIdx > minIdx) {
|
|
75
|
+
state.currentTier = TIER_ORDER[currentIdx - 1];
|
|
76
|
+
state.deEscalationCount++;
|
|
77
|
+
state.consecutiveSuccesses = 0;
|
|
78
|
+
state.lastAction = 'de-escalate';
|
|
79
|
+
state.lastActionTimestamp = new Date();
|
|
80
|
+
return { action: 'de-escalate', previousTier, newTier: state.currentTier };
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return { action: 'none', previousTier, newTier: state.currentTier };
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Get the current tier for an agent, or null if not tracked.
|
|
88
|
+
*/
|
|
89
|
+
getCurrentTier(agentId) {
|
|
90
|
+
return this.states.get(agentId)?.currentTier ?? null;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Get full escalation state for an agent, or null if not tracked.
|
|
94
|
+
*/
|
|
95
|
+
getState(agentId) {
|
|
96
|
+
return this.states.get(agentId) ?? null;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Get all tracked escalation states.
|
|
100
|
+
*/
|
|
101
|
+
getAllStates() {
|
|
102
|
+
return Array.from(this.states.values());
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Reset state for a specific agent, or all agents if no ID provided.
|
|
106
|
+
*/
|
|
107
|
+
reset(agentId) {
|
|
108
|
+
if (agentId) {
|
|
109
|
+
this.states.delete(agentId);
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
this.states.clear();
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=auto-escalation-tracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-escalation-tracker.js","sourceRoot":"","sources":["../../../src/routing/escalation/auto-escalation-tracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routing/escalation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/routing/escalation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAsE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC"}
|
package/dist/routing/index.d.ts
CHANGED
|
@@ -18,6 +18,10 @@ export { TinyDancerRouter, createTinyDancerRouter, } from './tiny-dancer-router.
|
|
|
18
18
|
export type { RouteResult, TinyDancerConfig, RoutingOutcome as TinyDancerRoutingOutcome, RouterStats, } from './tiny-dancer-router.js';
|
|
19
19
|
export { DEFAULT_ROUTING_CONFIG, DEFAULT_CONFIDENCE_THRESHOLDS, DEFAULT_TIER_MAPPING, DEFAULT_COST_OPTIMIZATION, DEFAULT_FALLBACK_CONFIG, loadRoutingConfigFromEnv, mapComplexityToTier, getNextFallbackTier, tierToModel, estimateTaskCost, validateRoutingConfig, } from './routing-config.js';
|
|
20
20
|
export type { AgentTier, ConfidenceThresholds, ComplexityTierMapping, CostOptimizationConfig, FallbackConfig, RoutingConfig, } from './routing-config.js';
|
|
21
|
+
export { EMACalibrator, DEFAULT_EMA_CONFIG, } from './calibration/index.js';
|
|
22
|
+
export type { CalibrationRecord, EMAConfig, } from './calibration/index.js';
|
|
23
|
+
export { AutoEscalationTracker, DEFAULT_ESCALATION_CONFIG, } from './escalation/index.js';
|
|
24
|
+
export type { EscalationConfig, EscalationState, EscalationAction, } from './escalation/index.js';
|
|
21
25
|
export { QueenRouterAdapter, createQueenRouterAdapter, } from './queen-integration.js';
|
|
22
26
|
export type { QueenRouteDecision, TaskOutcome, CostStats, QueenRouterConfig, } from './queen-integration.js';
|
|
23
27
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/routing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,YAAY,EACV,cAAc,EACd,MAAM,EACN,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,uBAAuB,EACvB,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAGnD,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,YAAY,EACZ,cAAc,GACf,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,YAAY,EACZ,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACV,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AAEjC,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,cAAc,IAAI,wBAAwB,EAC1C,WAAW,GACZ,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,sBAAsB,EACtB,6BAA6B,EAC7B,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACV,SAAS,EACT,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACd,aAAa,GACd,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,kBAAkB,EAClB,WAAW,EACX,SAAS,EACT,iBAAiB,GAClB,MAAM,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/routing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,YAAY,EACV,cAAc,EACd,MAAM,EACN,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,uBAAuB,EACvB,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAGnD,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,YAAY,EACZ,cAAc,GACf,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,YAAY,EACZ,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACV,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AAEjC,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,cAAc,IAAI,wBAAwB,EAC1C,WAAW,GACZ,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,sBAAsB,EACtB,6BAA6B,EAC7B,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACV,SAAS,EACT,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACd,aAAa,GACd,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,aAAa,EACb,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,iBAAiB,EACjB,SAAS,GACV,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,kBAAkB,EAClB,WAAW,EACX,SAAS,EACT,iBAAiB,GAClB,MAAM,wBAAwB,CAAC"}
|
package/dist/routing/index.js
CHANGED
|
@@ -20,6 +20,10 @@ export { classifyTask, isSimpleTask, requiresOpus, getRecommendedModel, getCompl
|
|
|
20
20
|
export { TinyDancerRouter, createTinyDancerRouter, } from './tiny-dancer-router.js';
|
|
21
21
|
// Routing Configuration (TD-004)
|
|
22
22
|
export { DEFAULT_ROUTING_CONFIG, DEFAULT_CONFIDENCE_THRESHOLDS, DEFAULT_TIER_MAPPING, DEFAULT_COST_OPTIMIZATION, DEFAULT_FALLBACK_CONFIG, loadRoutingConfigFromEnv, mapComplexityToTier, getNextFallbackTier, tierToModel, estimateTaskCost, validateRoutingConfig, } from './routing-config.js';
|
|
23
|
+
// EMA Calibration (loki-mode inspired)
|
|
24
|
+
export { EMACalibrator, DEFAULT_EMA_CONFIG, } from './calibration/index.js';
|
|
25
|
+
// Auto-Escalation Tracker (loki-mode inspired)
|
|
26
|
+
export { AutoEscalationTracker, DEFAULT_ESCALATION_CONFIG, } from './escalation/index.js';
|
|
23
27
|
// Queen Integration (TD-005)
|
|
24
28
|
export { QueenRouterAdapter, createQueenRouterAdapter, } from './queen-integration.js';
|
|
25
29
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/routing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAkBH,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD,WAAW;AACX,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,YAAY,EACZ,cAAc,GACf,MAAM,wBAAwB,CAAC;AAEhC,SAAS;AACT,OAAO,EACL,YAAY,EACZ,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAE7B,WAAW;AACX,OAAO,EACL,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,uBAAuB,CAAC;AAE/B,2BAA2B;AAC3B,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAU9B,6BAA6B;AAC7B,OAAO,EACL,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AASjC,iCAAiC;AACjC,OAAO,EACL,sBAAsB,EACtB,6BAA6B,EAC7B,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAW7B,6BAA6B;AAC7B,OAAO,EACL,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/routing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAkBH,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD,WAAW;AACX,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,YAAY,EACZ,cAAc,GACf,MAAM,wBAAwB,CAAC;AAEhC,SAAS;AACT,OAAO,EACL,YAAY,EACZ,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAE7B,WAAW;AACX,OAAO,EACL,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,uBAAuB,CAAC;AAE/B,2BAA2B;AAC3B,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAU9B,6BAA6B;AAC7B,OAAO,EACL,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AASjC,iCAAiC;AACjC,OAAO,EACL,sBAAsB,EACtB,6BAA6B,EAC7B,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAW7B,uCAAuC;AACvC,OAAO,EACL,aAAa,EACb,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAOhC,+CAA+C;AAC/C,OAAO,EACL,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAQ/B,6BAA6B;AAC7B,OAAO,EACL,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,wBAAwB,CAAC"}
|
|
@@ -60,7 +60,7 @@ const v3QEAgents = [
|
|
|
60
60
|
domains: ['test-generation'],
|
|
61
61
|
capabilities: ['test-generation', 'test-orchestration', 'unit-test', 'integration-test', 'e2e-test'],
|
|
62
62
|
languages: ['typescript', 'javascript', 'python', 'java', 'go'],
|
|
63
|
-
frameworks: ['jest', 'vitest', 'pytest', '
|
|
63
|
+
frameworks: ['jest', 'vitest', 'pytest', 'junit5', 'playwright', 'cypress'],
|
|
64
64
|
complexity: { min: 'medium', max: 'complex' },
|
|
65
65
|
tags: ['v3', 'architect', 'strategy'],
|
|
66
66
|
}),
|
|
@@ -72,7 +72,7 @@ const v3QEAgents = [
|
|
|
72
72
|
domains: ['test-execution'],
|
|
73
73
|
capabilities: ['test-orchestration', 'retry', 'flaky-detection'],
|
|
74
74
|
languages: ['typescript', 'javascript', 'python', 'java', 'go'],
|
|
75
|
-
frameworks: ['jest', 'vitest', 'pytest', '
|
|
75
|
+
frameworks: ['jest', 'vitest', 'pytest', 'junit5', 'go-test', 'playwright', 'cypress'],
|
|
76
76
|
complexity: { min: 'medium', max: 'complex' },
|
|
77
77
|
tags: ['v3', 'parallel', 'retry', 'sharding'],
|
|
78
78
|
}),
|
|
@@ -194,7 +194,7 @@ const v3QEAgents = [
|
|
|
194
194
|
domains: ['contract-testing'],
|
|
195
195
|
capabilities: ['integration-test', 'api-testing', 'contract-testing'],
|
|
196
196
|
languages: ['typescript', 'javascript', 'python', 'java'],
|
|
197
|
-
frameworks: ['jest', 'vitest', 'pytest', '
|
|
197
|
+
frameworks: ['jest', 'vitest', 'pytest', 'junit5'],
|
|
198
198
|
complexity: { min: 'medium', max: 'complex' },
|
|
199
199
|
tags: ['v3', 'integration', 'component'],
|
|
200
200
|
}),
|
|
@@ -714,7 +714,7 @@ const generalAgents = [
|
|
|
714
714
|
domains: ['test-generation', 'test-execution'],
|
|
715
715
|
capabilities: ['test-generation', 'unit-test', 'integration-test', 'e2e-test'],
|
|
716
716
|
languages: ['typescript', 'javascript', 'python', 'java', 'go', 'rust'],
|
|
717
|
-
frameworks: ['jest', 'vitest', 'mocha', 'pytest', '
|
|
717
|
+
frameworks: ['jest', 'vitest', 'mocha', 'pytest', 'junit5', 'go-test', 'rust-test', 'playwright', 'cypress'],
|
|
718
718
|
complexity: { min: 'simple', max: 'complex' },
|
|
719
719
|
tags: ['general', 'versatile'],
|
|
720
720
|
}),
|