agentic-qe 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/analysis/code-analyzer.md +209 -0
- package/.claude/agents/analysis/code-review/analyze-code-quality.md +180 -0
- package/.claude/agents/architecture/system-design/arch-system-design.md +156 -0
- package/.claude/agents/base-template-generator.md +42 -0
- package/.claude/agents/consensus/byzantine-coordinator.md +63 -0
- package/.claude/agents/consensus/crdt-synchronizer.md +997 -0
- package/.claude/agents/consensus/gossip-coordinator.md +63 -0
- package/.claude/agents/consensus/performance-benchmarker.md +851 -0
- package/.claude/agents/consensus/quorum-manager.md +823 -0
- package/.claude/agents/consensus/raft-manager.md +63 -0
- package/.claude/agents/consensus/security-manager.md +622 -0
- package/.claude/agents/core/coder.md +266 -0
- package/.claude/agents/core/planner.md +168 -0
- package/.claude/agents/core/researcher.md +190 -0
- package/.claude/agents/core/reviewer.md +326 -0
- package/.claude/agents/core/tester.md +319 -0
- package/.claude/agents/data/ml/data-ml-model.md +193 -0
- package/.claude/agents/development/backend/dev-backend-api.md +142 -0
- package/.claude/agents/devops/ci-cd/ops-cicd-github.md +164 -0
- package/.claude/agents/documentation/api-docs/docs-api-openapi.md +174 -0
- package/.claude/agents/flow-nexus/app-store.md +88 -0
- package/.claude/agents/flow-nexus/authentication.md +69 -0
- package/.claude/agents/flow-nexus/challenges.md +81 -0
- package/.claude/agents/flow-nexus/neural-network.md +88 -0
- package/.claude/agents/flow-nexus/payments.md +83 -0
- package/.claude/agents/flow-nexus/sandbox.md +76 -0
- package/.claude/agents/flow-nexus/swarm.md +76 -0
- package/.claude/agents/flow-nexus/user-tools.md +96 -0
- package/.claude/agents/flow-nexus/workflow.md +84 -0
- package/.claude/agents/github/code-review-swarm.md +538 -0
- package/.claude/agents/github/github-modes.md +173 -0
- package/.claude/agents/github/issue-tracker.md +319 -0
- package/.claude/agents/github/multi-repo-swarm.md +553 -0
- package/.claude/agents/github/pr-manager.md +191 -0
- package/.claude/agents/github/project-board-sync.md +509 -0
- package/.claude/agents/github/release-manager.md +367 -0
- package/.claude/agents/github/release-swarm.md +583 -0
- package/.claude/agents/github/repo-architect.md +398 -0
- package/.claude/agents/github/swarm-issue.md +573 -0
- package/.claude/agents/github/swarm-pr.md +428 -0
- package/.claude/agents/github/sync-coordinator.md +452 -0
- package/.claude/agents/github/workflow-automation.md +635 -0
- package/.claude/agents/goal/code-goal-planner.md +446 -0
- package/.claude/agents/goal/goal-planner.md +168 -0
- package/.claude/agents/hive-mind/collective-intelligence-coordinator.md +130 -0
- package/.claude/agents/hive-mind/queen-coordinator.md +203 -0
- package/.claude/agents/hive-mind/scout-explorer.md +242 -0
- package/.claude/agents/hive-mind/swarm-memory-manager.md +193 -0
- package/.claude/agents/hive-mind/worker-specialist.md +217 -0
- package/.claude/agents/neural/safla-neural.md +74 -0
- package/.claude/agents/optimization/benchmark-suite.md +665 -0
- package/.claude/agents/optimization/load-balancer.md +431 -0
- package/.claude/agents/optimization/performance-monitor.md +672 -0
- package/.claude/agents/optimization/resource-allocator.md +674 -0
- package/.claude/agents/optimization/topology-optimizer.md +808 -0
- package/.claude/agents/qe-api-contract-validator.md +1088 -0
- package/.claude/agents/qe-chaos-engineer.md +736 -0
- package/.claude/agents/qe-coverage-analyzer.md +282 -0
- package/.claude/agents/qe-deployment-readiness.md +1109 -0
- package/.claude/agents/qe-flaky-test-hunter.md +1121 -0
- package/.claude/agents/qe-fleet-commander.md +641 -0
- package/.claude/agents/qe-performance-tester.md +354 -0
- package/.claude/agents/qe-production-intelligence.md +1162 -0
- package/.claude/agents/qe-quality-gate.md +294 -0
- package/.claude/agents/qe-regression-risk-analyzer.md +947 -0
- package/.claude/agents/qe-requirements-validator.md +691 -0
- package/.claude/agents/qe-security-scanner.md +430 -0
- package/.claude/agents/qe-test-data-architect.md +1007 -0
- package/.claude/agents/qe-test-executor.md +365 -0
- package/.claude/agents/qe-test-generator.md +332 -0
- package/.claude/agents/qe-visual-tester.md +754 -0
- package/.claude/agents/sparc/architecture.md +472 -0
- package/.claude/agents/sparc/pseudocode.md +318 -0
- package/.claude/agents/sparc/refinement.md +525 -0
- package/.claude/agents/sparc/specification.md +276 -0
- package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +226 -0
- package/.claude/agents/swarm/adaptive-coordinator.md +396 -0
- package/.claude/agents/swarm/hierarchical-coordinator.md +327 -0
- package/.claude/agents/swarm/mesh-coordinator.md +392 -0
- package/.claude/agents/templates/automation-smart-agent.md +205 -0
- package/.claude/agents/templates/coordinator-swarm-init.md +105 -0
- package/.claude/agents/templates/github-pr-manager.md +177 -0
- package/.claude/agents/templates/implementer-sparc-coder.md +259 -0
- package/.claude/agents/templates/memory-coordinator.md +187 -0
- package/.claude/agents/templates/migration-plan.md +746 -0
- package/.claude/agents/templates/orchestrator-task.md +139 -0
- package/.claude/agents/templates/performance-analyzer.md +199 -0
- package/.claude/agents/templates/sparc-coordinator.md +183 -0
- package/.claude/agents/testing/unit/tdd-london-swarm.md +244 -0
- package/.claude/agents/testing/validation/production-validator.md +395 -0
- package/.claude/aqe-fleet.json +47 -0
- package/.claude/commands/README.md +106 -0
- package/.claude/commands/agents/README.md +10 -0
- package/.claude/commands/agents/agent-capabilities.md +21 -0
- package/.claude/commands/agents/agent-coordination.md +28 -0
- package/.claude/commands/agents/agent-spawning.md +28 -0
- package/.claude/commands/agents/agent-types.md +26 -0
- package/.claude/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +54 -0
- package/.claude/commands/analysis/README.md +9 -0
- package/.claude/commands/analysis/bottleneck-detect.md +162 -0
- package/.claude/commands/analysis/performance-bottlenecks.md +59 -0
- package/.claude/commands/analysis/performance-report.md +25 -0
- package/.claude/commands/analysis/token-efficiency.md +45 -0
- package/.claude/commands/analysis/token-usage.md +25 -0
- package/.claude/commands/aqe-analyze.md +344 -0
- package/.claude/commands/aqe-benchmark.md +466 -0
- package/.claude/commands/aqe-chaos.md +443 -0
- package/.claude/commands/aqe-execute.md +322 -0
- package/.claude/commands/aqe-fleet-status.md +431 -0
- package/.claude/commands/aqe-generate.md +301 -0
- package/.claude/commands/aqe-optimize.md +361 -0
- package/.claude/commands/aqe-report.md +411 -0
- package/.claude/commands/automation/README.md +9 -0
- package/.claude/commands/automation/auto-agent.md +122 -0
- package/.claude/commands/automation/self-healing.md +106 -0
- package/.claude/commands/automation/session-memory.md +90 -0
- package/.claude/commands/automation/smart-agents.md +73 -0
- package/.claude/commands/automation/smart-spawn.md +25 -0
- package/.claude/commands/automation/workflow-select.md +25 -0
- package/.claude/commands/coordination/README.md +9 -0
- package/.claude/commands/coordination/agent-spawn.md +25 -0
- package/.claude/commands/coordination/init.md +44 -0
- package/.claude/commands/coordination/orchestrate.md +43 -0
- package/.claude/commands/coordination/spawn.md +45 -0
- package/.claude/commands/coordination/swarm-init.md +85 -0
- package/.claude/commands/coordination/task-orchestrate.md +25 -0
- package/.claude/commands/flow-nexus/app-store.md +124 -0
- package/.claude/commands/flow-nexus/challenges.md +120 -0
- package/.claude/commands/flow-nexus/login-registration.md +65 -0
- package/.claude/commands/flow-nexus/neural-network.md +134 -0
- package/.claude/commands/flow-nexus/payments.md +116 -0
- package/.claude/commands/flow-nexus/sandbox.md +83 -0
- package/.claude/commands/flow-nexus/swarm.md +87 -0
- package/.claude/commands/flow-nexus/user-tools.md +152 -0
- package/.claude/commands/flow-nexus/workflow.md +115 -0
- package/.claude/commands/github/README.md +11 -0
- package/.claude/commands/github/code-review-swarm.md +514 -0
- package/.claude/commands/github/code-review.md +25 -0
- package/.claude/commands/github/github-modes.md +147 -0
- package/.claude/commands/github/github-swarm.md +121 -0
- package/.claude/commands/github/issue-tracker.md +292 -0
- package/.claude/commands/github/issue-triage.md +25 -0
- package/.claude/commands/github/multi-repo-swarm.md +519 -0
- package/.claude/commands/github/pr-enhance.md +26 -0
- package/.claude/commands/github/pr-manager.md +170 -0
- package/.claude/commands/github/project-board-sync.md +471 -0
- package/.claude/commands/github/release-manager.md +338 -0
- package/.claude/commands/github/release-swarm.md +544 -0
- package/.claude/commands/github/repo-analyze.md +25 -0
- package/.claude/commands/github/repo-architect.md +367 -0
- package/.claude/commands/github/swarm-issue.md +482 -0
- package/.claude/commands/github/swarm-pr.md +285 -0
- package/.claude/commands/github/sync-coordinator.md +301 -0
- package/.claude/commands/github/workflow-automation.md +442 -0
- package/.claude/commands/hive-mind/README.md +17 -0
- package/.claude/commands/hive-mind/hive-mind-consensus.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-init.md +18 -0
- package/.claude/commands/hive-mind/hive-mind-memory.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-metrics.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-resume.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-sessions.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-spawn.md +21 -0
- package/.claude/commands/hive-mind/hive-mind-status.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-stop.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-wizard.md +8 -0
- package/.claude/commands/hive-mind/hive-mind.md +27 -0
- package/.claude/commands/hooks/README.md +11 -0
- package/.claude/commands/hooks/overview.md +132 -0
- package/.claude/commands/hooks/post-edit.md +117 -0
- package/.claude/commands/hooks/post-task.md +112 -0
- package/.claude/commands/hooks/pre-edit.md +113 -0
- package/.claude/commands/hooks/pre-task.md +111 -0
- package/.claude/commands/hooks/session-end.md +118 -0
- package/.claude/commands/hooks/setup.md +103 -0
- package/.claude/commands/memory/README.md +9 -0
- package/.claude/commands/memory/memory-persist.md +25 -0
- package/.claude/commands/memory/memory-search.md +25 -0
- package/.claude/commands/memory/memory-usage.md +25 -0
- package/.claude/commands/memory/neural.md +47 -0
- package/.claude/commands/memory/usage.md +46 -0
- package/.claude/commands/monitoring/README.md +9 -0
- package/.claude/commands/monitoring/agent-metrics.md +25 -0
- package/.claude/commands/monitoring/agents.md +44 -0
- package/.claude/commands/monitoring/real-time-view.md +25 -0
- package/.claude/commands/monitoring/status.md +46 -0
- package/.claude/commands/monitoring/swarm-monitor.md +25 -0
- package/.claude/commands/optimization/README.md +9 -0
- package/.claude/commands/optimization/auto-topology.md +62 -0
- package/.claude/commands/optimization/cache-manage.md +25 -0
- package/.claude/commands/optimization/parallel-execute.md +25 -0
- package/.claude/commands/optimization/parallel-execution.md +50 -0
- package/.claude/commands/optimization/topology-optimize.md +25 -0
- package/.claude/commands/pair/commands.md +546 -0
- package/.claude/commands/pair/config.md +510 -0
- package/.claude/commands/pair/examples.md +512 -0
- package/.claude/commands/pair/modes.md +348 -0
- package/.claude/commands/pair/session.md +407 -0
- package/.claude/commands/pair/start.md +209 -0
- package/.claude/commands/sparc/analyzer.md +52 -0
- package/.claude/commands/sparc/architect.md +53 -0
- package/.claude/commands/sparc/batch-executor.md +54 -0
- package/.claude/commands/sparc/coder.md +54 -0
- package/.claude/commands/sparc/debugger.md +54 -0
- package/.claude/commands/sparc/designer.md +53 -0
- package/.claude/commands/sparc/documenter.md +54 -0
- package/.claude/commands/sparc/innovator.md +54 -0
- package/.claude/commands/sparc/memory-manager.md +54 -0
- package/.claude/commands/sparc/optimizer.md +54 -0
- package/.claude/commands/sparc/orchestrator.md +132 -0
- package/.claude/commands/sparc/researcher.md +54 -0
- package/.claude/commands/sparc/reviewer.md +54 -0
- package/.claude/commands/sparc/sparc-modes.md +174 -0
- package/.claude/commands/sparc/swarm-coordinator.md +54 -0
- package/.claude/commands/sparc/tdd.md +54 -0
- package/.claude/commands/sparc/tester.md +54 -0
- package/.claude/commands/sparc/workflow-manager.md +54 -0
- package/.claude/commands/stream-chain/pipeline.md +121 -0
- package/.claude/commands/stream-chain/run.md +70 -0
- package/.claude/commands/swarm/README.md +15 -0
- package/.claude/commands/swarm/analysis.md +95 -0
- package/.claude/commands/swarm/development.md +96 -0
- package/.claude/commands/swarm/examples.md +168 -0
- package/.claude/commands/swarm/maintenance.md +102 -0
- package/.claude/commands/swarm/optimization.md +117 -0
- package/.claude/commands/swarm/research.md +136 -0
- package/.claude/commands/swarm/swarm-analysis.md +8 -0
- package/.claude/commands/swarm/swarm-background.md +8 -0
- package/.claude/commands/swarm/swarm-init.md +19 -0
- package/.claude/commands/swarm/swarm-modes.md +8 -0
- package/.claude/commands/swarm/swarm-monitor.md +8 -0
- package/.claude/commands/swarm/swarm-spawn.md +19 -0
- package/.claude/commands/swarm/swarm-status.md +8 -0
- package/.claude/commands/swarm/swarm-strategies.md +8 -0
- package/.claude/commands/swarm/swarm.md +27 -0
- package/.claude/commands/swarm/testing.md +131 -0
- package/.claude/commands/training/README.md +9 -0
- package/.claude/commands/training/model-update.md +25 -0
- package/.claude/commands/training/neural-patterns.md +74 -0
- package/.claude/commands/training/neural-train.md +25 -0
- package/.claude/commands/training/pattern-learn.md +25 -0
- package/.claude/commands/training/specialization.md +63 -0
- package/.claude/commands/truth/start.md +143 -0
- package/.claude/commands/verify/check.md +50 -0
- package/.claude/commands/verify/start.md +128 -0
- package/.claude/commands/workflows/README.md +9 -0
- package/.claude/commands/workflows/development.md +78 -0
- package/.claude/commands/workflows/research.md +63 -0
- package/.claude/commands/workflows/workflow-create.md +25 -0
- package/.claude/commands/workflows/workflow-execute.md +25 -0
- package/.claude/commands/workflows/workflow-export.md +25 -0
- package/.claude/helpers/checkpoint-manager.sh +251 -0
- package/.claude/helpers/github-safe.js +106 -0
- package/.claude/helpers/github-setup.sh +28 -0
- package/.claude/helpers/quick-start.sh +19 -0
- package/.claude/helpers/setup-mcp.sh +18 -0
- package/.claude/helpers/standard-checkpoint-hooks.sh +179 -0
- package/.claude/settings.json +114 -0
- package/.claude/settings.local.json +10 -0
- package/CONTRIBUTING.md +897 -0
- package/LICENSE +21 -0
- package/README.md +632 -0
- package/bin/aqe +959 -0
- package/config/fleet.yaml +50 -0
- package/dist/agents/ApiContractValidatorAgent.d.ts +222 -0
- package/dist/agents/ApiContractValidatorAgent.d.ts.map +1 -0
- package/dist/agents/ApiContractValidatorAgent.js +787 -0
- package/dist/agents/ApiContractValidatorAgent.js.map +1 -0
- package/dist/agents/BaseAgent.d.ts +147 -0
- package/dist/agents/BaseAgent.d.ts.map +1 -0
- package/dist/agents/BaseAgent.js +374 -0
- package/dist/agents/BaseAgent.js.map +1 -0
- package/dist/agents/CoverageAnalyzerAgent.d.ts +103 -0
- package/dist/agents/CoverageAnalyzerAgent.d.ts.map +1 -0
- package/dist/agents/CoverageAnalyzerAgent.js +466 -0
- package/dist/agents/CoverageAnalyzerAgent.js.map +1 -0
- package/dist/agents/DeploymentReadinessAgent.d.ts +244 -0
- package/dist/agents/DeploymentReadinessAgent.d.ts.map +1 -0
- package/dist/agents/DeploymentReadinessAgent.js +974 -0
- package/dist/agents/DeploymentReadinessAgent.js.map +1 -0
- package/dist/agents/FlakyTestHunterAgent.d.ts +172 -0
- package/dist/agents/FlakyTestHunterAgent.d.ts.map +1 -0
- package/dist/agents/FlakyTestHunterAgent.js +867 -0
- package/dist/agents/FlakyTestHunterAgent.js.map +1 -0
- package/dist/agents/FleetCommanderAgent.d.ts +154 -0
- package/dist/agents/FleetCommanderAgent.d.ts.map +1 -0
- package/dist/agents/FleetCommanderAgent.js +924 -0
- package/dist/agents/FleetCommanderAgent.js.map +1 -0
- package/dist/agents/PerformanceTesterAgent.d.ts +194 -0
- package/dist/agents/PerformanceTesterAgent.d.ts.map +1 -0
- package/dist/agents/PerformanceTesterAgent.js +972 -0
- package/dist/agents/PerformanceTesterAgent.js.map +1 -0
- package/dist/agents/ProductionIntelligenceAgent.d.ts +224 -0
- package/dist/agents/ProductionIntelligenceAgent.d.ts.map +1 -0
- package/dist/agents/ProductionIntelligenceAgent.js +856 -0
- package/dist/agents/ProductionIntelligenceAgent.js.map +1 -0
- package/dist/agents/QualityAnalyzerAgent.d.ts +67 -0
- package/dist/agents/QualityAnalyzerAgent.d.ts.map +1 -0
- package/dist/agents/QualityAnalyzerAgent.js +453 -0
- package/dist/agents/QualityAnalyzerAgent.js.map +1 -0
- package/dist/agents/QualityGateAgent.d.ts +104 -0
- package/dist/agents/QualityGateAgent.d.ts.map +1 -0
- package/dist/agents/QualityGateAgent.js +522 -0
- package/dist/agents/QualityGateAgent.js.map +1 -0
- package/dist/agents/RegressionRiskAnalyzerAgent.d.ts +274 -0
- package/dist/agents/RegressionRiskAnalyzerAgent.d.ts.map +1 -0
- package/dist/agents/RegressionRiskAnalyzerAgent.js +1076 -0
- package/dist/agents/RegressionRiskAnalyzerAgent.js.map +1 -0
- package/dist/agents/RequirementsValidatorAgent.d.ts +195 -0
- package/dist/agents/RequirementsValidatorAgent.d.ts.map +1 -0
- package/dist/agents/RequirementsValidatorAgent.js +992 -0
- package/dist/agents/RequirementsValidatorAgent.js.map +1 -0
- package/dist/agents/SecurityScannerAgent.d.ts +126 -0
- package/dist/agents/SecurityScannerAgent.d.ts.map +1 -0
- package/dist/agents/SecurityScannerAgent.js +695 -0
- package/dist/agents/SecurityScannerAgent.js.map +1 -0
- package/dist/agents/TestDataArchitectAgent.d.ts +452 -0
- package/dist/agents/TestDataArchitectAgent.d.ts.map +1 -0
- package/dist/agents/TestDataArchitectAgent.js +1346 -0
- package/dist/agents/TestDataArchitectAgent.js.map +1 -0
- package/dist/agents/TestExecutorAgent.d.ts +101 -0
- package/dist/agents/TestExecutorAgent.d.ts.map +1 -0
- package/dist/agents/TestExecutorAgent.js +730 -0
- package/dist/agents/TestExecutorAgent.js.map +1 -0
- package/dist/agents/TestGeneratorAgent.d.ts +109 -0
- package/dist/agents/TestGeneratorAgent.d.ts.map +1 -0
- package/dist/agents/TestGeneratorAgent.js +450 -0
- package/dist/agents/TestGeneratorAgent.js.map +1 -0
- package/dist/agents/index.d.ts +51 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +738 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/cli/commands/analyze.d.ts +32 -0
- package/dist/cli/commands/analyze.d.ts.map +1 -0
- package/dist/cli/commands/analyze.js +764 -0
- package/dist/cli/commands/analyze.js.map +1 -0
- package/dist/cli/commands/fleet.d.ts +36 -0
- package/dist/cli/commands/fleet.d.ts.map +1 -0
- package/dist/cli/commands/fleet.js +745 -0
- package/dist/cli/commands/fleet.js.map +1 -0
- package/dist/cli/commands/generate.d.ts +24 -0
- package/dist/cli/commands/generate.d.ts.map +1 -0
- package/dist/cli/commands/generate.js +424 -0
- package/dist/cli/commands/generate.js.map +1 -0
- package/dist/cli/commands/init.d.ts +17 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +570 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/run.d.ts +25 -0
- package/dist/cli/commands/run.d.ts.map +1 -0
- package/dist/cli/commands/run.js +558 -0
- package/dist/cli/commands/run.js.map +1 -0
- package/dist/cli/index-spec.d.ts +3 -0
- package/dist/cli/index-spec.d.ts.map +1 -0
- package/dist/cli/index-spec.js +154 -0
- package/dist/cli/index-spec.js.map +1 -0
- package/dist/cli/index-working.d.ts +7 -0
- package/dist/cli/index-working.d.ts.map +1 -0
- package/dist/cli/index-working.js +470 -0
- package/dist/cli/index-working.js.map +1 -0
- package/dist/cli/index.d.ts +9 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +174 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/core/Agent.d.ts +189 -0
- package/dist/core/Agent.d.ts.map +1 -0
- package/dist/core/Agent.js +288 -0
- package/dist/core/Agent.js.map +1 -0
- package/dist/core/EventBus.d.ts +40 -0
- package/dist/core/EventBus.d.ts.map +1 -0
- package/dist/core/EventBus.js +114 -0
- package/dist/core/EventBus.js.map +1 -0
- package/dist/core/FleetManager.d.ts +219 -0
- package/dist/core/FleetManager.d.ts.map +1 -0
- package/dist/core/FleetManager.js +354 -0
- package/dist/core/FleetManager.js.map +1 -0
- package/dist/core/MemoryManager.d.ts +119 -0
- package/dist/core/MemoryManager.d.ts.map +1 -0
- package/dist/core/MemoryManager.js +460 -0
- package/dist/core/MemoryManager.js.map +1 -0
- package/dist/core/Task.d.ts +264 -0
- package/dist/core/Task.d.ts.map +1 -0
- package/dist/core/Task.js +397 -0
- package/dist/core/Task.js.map +1 -0
- package/dist/core/coverage-analyzer.d.ts +50 -0
- package/dist/core/coverage-analyzer.d.ts.map +1 -0
- package/dist/core/coverage-analyzer.js +146 -0
- package/dist/core/coverage-analyzer.js.map +1 -0
- package/dist/core/index.d.ts +14 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +20 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/quality-gate.d.ts +81 -0
- package/dist/core/quality-gate.d.ts.map +1 -0
- package/dist/core/quality-gate.js +254 -0
- package/dist/core/quality-gate.js.map +1 -0
- package/dist/coverage/coverage-collector.d.ts +62 -0
- package/dist/coverage/coverage-collector.d.ts.map +1 -0
- package/dist/coverage/coverage-collector.js +61 -0
- package/dist/coverage/coverage-collector.js.map +1 -0
- package/dist/coverage/coverage-reporter.d.ts +42 -0
- package/dist/coverage/coverage-reporter.d.ts.map +1 -0
- package/dist/coverage/coverage-reporter.js +53 -0
- package/dist/coverage/coverage-reporter.js.map +1 -0
- package/dist/index.d.ts +89 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +142 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/handlers/agent-spawn.d.ts +72 -0
- package/dist/mcp/handlers/agent-spawn.d.ts.map +1 -0
- package/dist/mcp/handlers/agent-spawn.js +255 -0
- package/dist/mcp/handlers/agent-spawn.js.map +1 -0
- package/dist/mcp/handlers/base-handler.d.ts +53 -0
- package/dist/mcp/handlers/base-handler.d.ts.map +1 -0
- package/dist/mcp/handlers/base-handler.js +77 -0
- package/dist/mcp/handlers/base-handler.js.map +1 -0
- package/dist/mcp/handlers/fleet-init.d.ts +55 -0
- package/dist/mcp/handlers/fleet-init.d.ts.map +1 -0
- package/dist/mcp/handlers/fleet-init.js +149 -0
- package/dist/mcp/handlers/fleet-init.js.map +1 -0
- package/dist/mcp/handlers/fleet-status.d.ts +103 -0
- package/dist/mcp/handlers/fleet-status.d.ts.map +1 -0
- package/dist/mcp/handlers/fleet-status.js +244 -0
- package/dist/mcp/handlers/fleet-status.js.map +1 -0
- package/dist/mcp/handlers/optimize-tests.d.ts +219 -0
- package/dist/mcp/handlers/optimize-tests.d.ts.map +1 -0
- package/dist/mcp/handlers/optimize-tests.js +532 -0
- package/dist/mcp/handlers/optimize-tests.js.map +1 -0
- package/dist/mcp/handlers/predict-defects.d.ts +194 -0
- package/dist/mcp/handlers/predict-defects.d.ts.map +1 -0
- package/dist/mcp/handlers/predict-defects.js +721 -0
- package/dist/mcp/handlers/predict-defects.js.map +1 -0
- package/dist/mcp/handlers/quality-analyze.d.ts +273 -0
- package/dist/mcp/handlers/quality-analyze.d.ts.map +1 -0
- package/dist/mcp/handlers/quality-analyze.js +702 -0
- package/dist/mcp/handlers/quality-analyze.js.map +1 -0
- package/dist/mcp/handlers/task-orchestrate.d.ts +152 -0
- package/dist/mcp/handlers/task-orchestrate.d.ts.map +1 -0
- package/dist/mcp/handlers/task-orchestrate.js +629 -0
- package/dist/mcp/handlers/task-orchestrate.js.map +1 -0
- package/dist/mcp/handlers/test-execute.d.ts +132 -0
- package/dist/mcp/handlers/test-execute.d.ts.map +1 -0
- package/dist/mcp/handlers/test-execute.js +436 -0
- package/dist/mcp/handlers/test-execute.js.map +1 -0
- package/dist/mcp/handlers/test-generate.d.ts +107 -0
- package/dist/mcp/handlers/test-generate.d.ts.map +1 -0
- package/dist/mcp/handlers/test-generate.js +437 -0
- package/dist/mcp/handlers/test-generate.js.map +1 -0
- package/dist/mcp/server.d.ts +99 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +214 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/services/AgentRegistry.d.ts +191 -0
- package/dist/mcp/services/AgentRegistry.d.ts.map +1 -0
- package/dist/mcp/services/AgentRegistry.js +403 -0
- package/dist/mcp/services/AgentRegistry.js.map +1 -0
- package/dist/mcp/services/HookExecutor.d.ts +165 -0
- package/dist/mcp/services/HookExecutor.d.ts.map +1 -0
- package/dist/mcp/services/HookExecutor.js +327 -0
- package/dist/mcp/services/HookExecutor.js.map +1 -0
- package/dist/mcp/start.d.ts +7 -0
- package/dist/mcp/start.d.ts.map +1 -0
- package/dist/mcp/start.js +35 -0
- package/dist/mcp/start.js.map +1 -0
- package/dist/mcp/tools.d.ts +81 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +471 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/optimization/sublinear-solver.d.ts +72 -0
- package/dist/optimization/sublinear-solver.d.ts.map +1 -0
- package/dist/optimization/sublinear-solver.js +263 -0
- package/dist/optimization/sublinear-solver.js.map +1 -0
- package/dist/scripts/verifyComplexity.d.ts +8 -0
- package/dist/scripts/verifyComplexity.d.ts.map +1 -0
- package/dist/scripts/verifyComplexity.js +56 -0
- package/dist/scripts/verifyComplexity.js.map +1 -0
- package/dist/types/api-contract.types.d.ts +273 -0
- package/dist/types/api-contract.types.d.ts.map +1 -0
- package/dist/types/api-contract.types.js +18 -0
- package/dist/types/api-contract.types.js.map +1 -0
- package/dist/types/errors.d.ts +104 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/errors.js +226 -0
- package/dist/types/errors.js.map +1 -0
- package/dist/types/events.d.ts +101 -0
- package/dist/types/events.d.ts.map +1 -0
- package/dist/types/events.js +6 -0
- package/dist/types/events.js.map +1 -0
- package/dist/types/index.d.ts +570 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +131 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/Config.d.ts +128 -0
- package/dist/utils/Config.d.ts.map +1 -0
- package/dist/utils/Config.js +232 -0
- package/dist/utils/Config.js.map +1 -0
- package/dist/utils/Database.d.ts +112 -0
- package/dist/utils/Database.d.ts.map +1 -0
- package/dist/utils/Database.js +352 -0
- package/dist/utils/Database.js.map +1 -0
- package/dist/utils/Logger.d.ts +58 -0
- package/dist/utils/Logger.d.ts.map +1 -0
- package/dist/utils/Logger.js +125 -0
- package/dist/utils/Logger.js.map +1 -0
- package/dist/utils/index.d.ts +9 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +14 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/sublinear/coverageOptimizer.d.ts +84 -0
- package/dist/utils/sublinear/coverageOptimizer.d.ts.map +1 -0
- package/dist/utils/sublinear/coverageOptimizer.js +415 -0
- package/dist/utils/sublinear/coverageOptimizer.js.map +1 -0
- package/dist/utils/sublinear/index.d.ts +50 -0
- package/dist/utils/sublinear/index.d.ts.map +1 -0
- package/dist/utils/sublinear/index.js +390 -0
- package/dist/utils/sublinear/index.js.map +1 -0
- package/dist/utils/sublinear/matrixSolver.d.ts +132 -0
- package/dist/utils/sublinear/matrixSolver.d.ts.map +1 -0
- package/dist/utils/sublinear/matrixSolver.js +642 -0
- package/dist/utils/sublinear/matrixSolver.js.map +1 -0
- package/dist/utils/sublinear/temporalPredictor.d.ts +195 -0
- package/dist/utils/sublinear/temporalPredictor.d.ts.map +1 -0
- package/dist/utils/sublinear/temporalPredictor.js +474 -0
- package/dist/utils/sublinear/temporalPredictor.js.map +1 -0
- package/dist/utils/sublinear/testSelector.d.ts +81 -0
- package/dist/utils/sublinear/testSelector.d.ts.map +1 -0
- package/dist/utils/sublinear/testSelector.js +303 -0
- package/dist/utils/sublinear/testSelector.js.map +1 -0
- package/package.json +131 -0
|
@@ -0,0 +1,352 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Database - SQLite database management for the AQE Fleet
|
|
4
|
+
*
|
|
5
|
+
* Provides persistent storage for fleet state, agent metrics, task history,
|
|
6
|
+
* and configuration data using SQLite for the MVP implementation.
|
|
7
|
+
*/
|
|
8
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.Database = void 0;
|
|
13
|
+
const sqlite3_1 = __importDefault(require("sqlite3"));
|
|
14
|
+
const path_1 = require("path");
|
|
15
|
+
const fs_1 = require("fs");
|
|
16
|
+
const Logger_1 = require("./Logger");
|
|
17
|
+
class Database {
|
|
18
|
+
constructor(dbPath = './data/fleet.db') {
|
|
19
|
+
this.db = null;
|
|
20
|
+
this.isInitialized = false;
|
|
21
|
+
this.logger = Logger_1.Logger.getInstance();
|
|
22
|
+
this.dbPath = dbPath;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Initialize database connection and create tables
|
|
26
|
+
*/
|
|
27
|
+
async initialize() {
|
|
28
|
+
if (this.isInitialized) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
try {
|
|
32
|
+
// Ensure data directory exists
|
|
33
|
+
const dbDir = (0, path_1.dirname)(this.dbPath);
|
|
34
|
+
if (!(0, fs_1.existsSync)(dbDir)) {
|
|
35
|
+
(0, fs_1.mkdirSync)(dbDir, { recursive: true });
|
|
36
|
+
}
|
|
37
|
+
// Create database connection
|
|
38
|
+
this.db = new sqlite3_1.default.Database(this.dbPath);
|
|
39
|
+
// Enable foreign keys
|
|
40
|
+
await this.exec('PRAGMA foreign_keys = ON');
|
|
41
|
+
// Create tables
|
|
42
|
+
await this.createTables();
|
|
43
|
+
this.isInitialized = true;
|
|
44
|
+
this.logger.info(`Database initialized at ${this.dbPath}`);
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
this.logger.error('Failed to initialize database:', error);
|
|
48
|
+
throw error;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Close database connection
|
|
53
|
+
*/
|
|
54
|
+
async close() {
|
|
55
|
+
return new Promise((resolve, reject) => {
|
|
56
|
+
if (!this.db) {
|
|
57
|
+
resolve();
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
this.db.close((err) => {
|
|
61
|
+
if (err) {
|
|
62
|
+
this.logger.error('Error closing database:', err);
|
|
63
|
+
reject(err);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
this.logger.info('Database connection closed');
|
|
67
|
+
this.db = null;
|
|
68
|
+
this.isInitialized = false;
|
|
69
|
+
resolve();
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Execute SQL query
|
|
76
|
+
*/
|
|
77
|
+
async exec(sql) {
|
|
78
|
+
return new Promise((resolve, reject) => {
|
|
79
|
+
if (!this.db) {
|
|
80
|
+
reject(new Error('Database not initialized'));
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
this.db.exec(sql, (err) => {
|
|
84
|
+
if (err) {
|
|
85
|
+
this.logger.error('SQL exec error:', err);
|
|
86
|
+
reject(err);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
resolve();
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Run SQL query with parameters
|
|
96
|
+
*/
|
|
97
|
+
async run(sql, params = []) {
|
|
98
|
+
return new Promise((resolve, reject) => {
|
|
99
|
+
if (!this.db) {
|
|
100
|
+
reject(new Error('Database not initialized'));
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
this.db.run(sql, params, function (err) {
|
|
104
|
+
if (err) {
|
|
105
|
+
reject(err);
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
resolve({ lastID: this.lastID, changes: this.changes });
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Get single row from database
|
|
115
|
+
*/
|
|
116
|
+
async get(sql, params = []) {
|
|
117
|
+
return new Promise((resolve, reject) => {
|
|
118
|
+
if (!this.db) {
|
|
119
|
+
reject(new Error('Database not initialized'));
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
this.db.get(sql, params, (err, row) => {
|
|
123
|
+
if (err) {
|
|
124
|
+
reject(err);
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
resolve(row);
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Get all rows from database
|
|
134
|
+
*/
|
|
135
|
+
async all(sql, params = []) {
|
|
136
|
+
return new Promise((resolve, reject) => {
|
|
137
|
+
if (!this.db) {
|
|
138
|
+
reject(new Error('Database not initialized'));
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
this.db.all(sql, params, (err, rows) => {
|
|
142
|
+
if (err) {
|
|
143
|
+
reject(err);
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
resolve((rows || []));
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Create database tables
|
|
153
|
+
*/
|
|
154
|
+
async createTables() {
|
|
155
|
+
const tables = [
|
|
156
|
+
// Fleet configuration and status
|
|
157
|
+
`CREATE TABLE IF NOT EXISTS fleets (
|
|
158
|
+
id TEXT PRIMARY KEY,
|
|
159
|
+
name TEXT NOT NULL,
|
|
160
|
+
config TEXT NOT NULL,
|
|
161
|
+
status TEXT NOT NULL,
|
|
162
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
163
|
+
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
164
|
+
)`,
|
|
165
|
+
// Agent registry and status
|
|
166
|
+
`CREATE TABLE IF NOT EXISTS agents (
|
|
167
|
+
id TEXT PRIMARY KEY,
|
|
168
|
+
fleet_id TEXT NOT NULL,
|
|
169
|
+
type TEXT NOT NULL,
|
|
170
|
+
status TEXT NOT NULL,
|
|
171
|
+
config TEXT,
|
|
172
|
+
metrics TEXT,
|
|
173
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
174
|
+
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
175
|
+
FOREIGN KEY (fleet_id) REFERENCES fleets (id)
|
|
176
|
+
)`,
|
|
177
|
+
// Task definitions and status
|
|
178
|
+
`CREATE TABLE IF NOT EXISTS tasks (
|
|
179
|
+
id TEXT PRIMARY KEY,
|
|
180
|
+
fleet_id TEXT NOT NULL,
|
|
181
|
+
agent_id TEXT,
|
|
182
|
+
type TEXT NOT NULL,
|
|
183
|
+
name TEXT NOT NULL,
|
|
184
|
+
data TEXT,
|
|
185
|
+
requirements TEXT,
|
|
186
|
+
status TEXT NOT NULL,
|
|
187
|
+
priority INTEGER DEFAULT 1,
|
|
188
|
+
result TEXT,
|
|
189
|
+
error TEXT,
|
|
190
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
191
|
+
started_at DATETIME,
|
|
192
|
+
completed_at DATETIME,
|
|
193
|
+
FOREIGN KEY (fleet_id) REFERENCES fleets (id),
|
|
194
|
+
FOREIGN KEY (agent_id) REFERENCES agents (id)
|
|
195
|
+
)`,
|
|
196
|
+
// Event log for audit trail
|
|
197
|
+
`CREATE TABLE IF NOT EXISTS events (
|
|
198
|
+
id TEXT PRIMARY KEY,
|
|
199
|
+
fleet_id TEXT,
|
|
200
|
+
agent_id TEXT,
|
|
201
|
+
task_id TEXT,
|
|
202
|
+
type TEXT NOT NULL,
|
|
203
|
+
source TEXT NOT NULL,
|
|
204
|
+
target TEXT,
|
|
205
|
+
data TEXT,
|
|
206
|
+
processed BOOLEAN DEFAULT FALSE,
|
|
207
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
208
|
+
FOREIGN KEY (fleet_id) REFERENCES fleets (id),
|
|
209
|
+
FOREIGN KEY (agent_id) REFERENCES agents (id),
|
|
210
|
+
FOREIGN KEY (task_id) REFERENCES tasks (id)
|
|
211
|
+
)`,
|
|
212
|
+
// Performance metrics
|
|
213
|
+
`CREATE TABLE IF NOT EXISTS metrics (
|
|
214
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
215
|
+
fleet_id TEXT,
|
|
216
|
+
agent_id TEXT,
|
|
217
|
+
task_id TEXT,
|
|
218
|
+
metric_type TEXT NOT NULL,
|
|
219
|
+
metric_name TEXT NOT NULL,
|
|
220
|
+
metric_value REAL NOT NULL,
|
|
221
|
+
unit TEXT,
|
|
222
|
+
tags TEXT,
|
|
223
|
+
timestamp DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
224
|
+
FOREIGN KEY (fleet_id) REFERENCES fleets (id),
|
|
225
|
+
FOREIGN KEY (agent_id) REFERENCES agents (id),
|
|
226
|
+
FOREIGN KEY (task_id) REFERENCES tasks (id)
|
|
227
|
+
)`
|
|
228
|
+
];
|
|
229
|
+
for (const table of tables) {
|
|
230
|
+
await this.exec(table);
|
|
231
|
+
}
|
|
232
|
+
// Create indexes for better performance
|
|
233
|
+
const indexes = [
|
|
234
|
+
'CREATE INDEX IF NOT EXISTS idx_agents_fleet_id ON agents (fleet_id)',
|
|
235
|
+
'CREATE INDEX IF NOT EXISTS idx_agents_type ON agents (type)',
|
|
236
|
+
'CREATE INDEX IF NOT EXISTS idx_agents_status ON agents (status)',
|
|
237
|
+
'CREATE INDEX IF NOT EXISTS idx_tasks_fleet_id ON tasks (fleet_id)',
|
|
238
|
+
'CREATE INDEX IF NOT EXISTS idx_tasks_agent_id ON tasks (agent_id)',
|
|
239
|
+
'CREATE INDEX IF NOT EXISTS idx_tasks_status ON tasks (status)',
|
|
240
|
+
'CREATE INDEX IF NOT EXISTS idx_tasks_type ON tasks (type)',
|
|
241
|
+
'CREATE INDEX IF NOT EXISTS idx_events_fleet_id ON events (fleet_id)',
|
|
242
|
+
'CREATE INDEX IF NOT EXISTS idx_events_type ON events (type)',
|
|
243
|
+
'CREATE INDEX IF NOT EXISTS idx_events_processed ON events (processed)',
|
|
244
|
+
'CREATE INDEX IF NOT EXISTS idx_metrics_fleet_id ON metrics (fleet_id)',
|
|
245
|
+
'CREATE INDEX IF NOT EXISTS idx_metrics_agent_id ON metrics (agent_id)',
|
|
246
|
+
'CREATE INDEX IF NOT EXISTS idx_metrics_type ON metrics (metric_type)'
|
|
247
|
+
];
|
|
248
|
+
for (const index of indexes) {
|
|
249
|
+
await this.exec(index);
|
|
250
|
+
}
|
|
251
|
+
this.logger.info('Database tables and indexes created successfully');
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Insert or update fleet record
|
|
255
|
+
*/
|
|
256
|
+
async upsertFleet(fleet) {
|
|
257
|
+
const sql = `
|
|
258
|
+
INSERT OR REPLACE INTO fleets (id, name, config, status, updated_at)
|
|
259
|
+
VALUES (?, ?, ?, ?, CURRENT_TIMESTAMP)
|
|
260
|
+
`;
|
|
261
|
+
await this.run(sql, [
|
|
262
|
+
fleet.id,
|
|
263
|
+
fleet.name,
|
|
264
|
+
JSON.stringify(fleet.config),
|
|
265
|
+
fleet.status
|
|
266
|
+
]);
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Insert or update agent record
|
|
270
|
+
*/
|
|
271
|
+
async upsertAgent(agent) {
|
|
272
|
+
const sql = `
|
|
273
|
+
INSERT OR REPLACE INTO agents (id, fleet_id, type, status, config, metrics, updated_at)
|
|
274
|
+
VALUES (?, ?, ?, ?, ?, ?, CURRENT_TIMESTAMP)
|
|
275
|
+
`;
|
|
276
|
+
await this.run(sql, [
|
|
277
|
+
agent.id,
|
|
278
|
+
agent.fleetId,
|
|
279
|
+
agent.type,
|
|
280
|
+
agent.status,
|
|
281
|
+
agent.config ? JSON.stringify(agent.config) : null,
|
|
282
|
+
agent.metrics ? JSON.stringify(agent.metrics) : null
|
|
283
|
+
]);
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Insert or update task record
|
|
287
|
+
*/
|
|
288
|
+
async upsertTask(task) {
|
|
289
|
+
const sql = `
|
|
290
|
+
INSERT OR REPLACE INTO tasks (
|
|
291
|
+
id, fleet_id, agent_id, type, name, data, requirements,
|
|
292
|
+
status, priority, result, error, started_at, completed_at
|
|
293
|
+
)
|
|
294
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
295
|
+
`;
|
|
296
|
+
await this.run(sql, [
|
|
297
|
+
task.id,
|
|
298
|
+
task.fleetId,
|
|
299
|
+
task.agentId || null,
|
|
300
|
+
task.type,
|
|
301
|
+
task.name,
|
|
302
|
+
task.data ? JSON.stringify(task.data) : null,
|
|
303
|
+
task.requirements ? JSON.stringify(task.requirements) : null,
|
|
304
|
+
task.status,
|
|
305
|
+
task.priority || 1,
|
|
306
|
+
task.result ? JSON.stringify(task.result) : null,
|
|
307
|
+
task.error || null,
|
|
308
|
+
task.startedAt ? task.startedAt.toISOString() : null,
|
|
309
|
+
task.completedAt ? task.completedAt.toISOString() : null
|
|
310
|
+
]);
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Insert event record
|
|
314
|
+
*/
|
|
315
|
+
async insertEvent(event) {
|
|
316
|
+
const sql = `
|
|
317
|
+
INSERT INTO events (id, fleet_id, agent_id, task_id, type, source, target, data)
|
|
318
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
|
|
319
|
+
`;
|
|
320
|
+
await this.run(sql, [
|
|
321
|
+
event.id,
|
|
322
|
+
event.fleetId || null,
|
|
323
|
+
event.agentId || null,
|
|
324
|
+
event.taskId || null,
|
|
325
|
+
event.type,
|
|
326
|
+
event.source,
|
|
327
|
+
event.target || null,
|
|
328
|
+
JSON.stringify(event.data)
|
|
329
|
+
]);
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* Insert metric record
|
|
333
|
+
*/
|
|
334
|
+
async insertMetric(metric) {
|
|
335
|
+
const sql = `
|
|
336
|
+
INSERT INTO metrics (fleet_id, agent_id, task_id, metric_type, metric_name, metric_value, unit, tags)
|
|
337
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
|
|
338
|
+
`;
|
|
339
|
+
await this.run(sql, [
|
|
340
|
+
metric.fleetId || null,
|
|
341
|
+
metric.agentId || null,
|
|
342
|
+
metric.taskId || null,
|
|
343
|
+
metric.metricType,
|
|
344
|
+
metric.metricName,
|
|
345
|
+
metric.metricValue,
|
|
346
|
+
metric.unit || null,
|
|
347
|
+
metric.tags ? JSON.stringify(metric.tags) : null
|
|
348
|
+
]);
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
exports.Database = Database;
|
|
352
|
+
//# sourceMappingURL=Database.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Database.js","sourceRoot":"","sources":["../../src/utils/Database.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Logger - Centralized logging system for the AQE Fleet
|
|
3
|
+
*
|
|
4
|
+
* Provides structured logging with different levels and output formats
|
|
5
|
+
* for comprehensive fleet monitoring and debugging.
|
|
6
|
+
*/
|
|
7
|
+
export declare enum LogLevel {
|
|
8
|
+
ERROR = "error",
|
|
9
|
+
WARN = "warn",
|
|
10
|
+
INFO = "info",
|
|
11
|
+
DEBUG = "debug"
|
|
12
|
+
}
|
|
13
|
+
export declare class Logger {
|
|
14
|
+
private static instance;
|
|
15
|
+
private logger;
|
|
16
|
+
private constructor();
|
|
17
|
+
/**
|
|
18
|
+
* Get singleton instance
|
|
19
|
+
*/
|
|
20
|
+
static getInstance(): Logger;
|
|
21
|
+
/**
|
|
22
|
+
* Log error message
|
|
23
|
+
*/
|
|
24
|
+
error(message: string, meta?: any): void;
|
|
25
|
+
/**
|
|
26
|
+
* Log warning message
|
|
27
|
+
*/
|
|
28
|
+
warn(message: string, meta?: any): void;
|
|
29
|
+
/**
|
|
30
|
+
* Log info message
|
|
31
|
+
*/
|
|
32
|
+
info(message: string, meta?: any): void;
|
|
33
|
+
/**
|
|
34
|
+
* Log debug message
|
|
35
|
+
*/
|
|
36
|
+
debug(message: string, meta?: any): void;
|
|
37
|
+
/**
|
|
38
|
+
* Log with specific level
|
|
39
|
+
*/
|
|
40
|
+
log(level: LogLevel, message: string, meta?: any): void;
|
|
41
|
+
/**
|
|
42
|
+
* Create child logger with additional context
|
|
43
|
+
*/
|
|
44
|
+
child(meta: any): Logger;
|
|
45
|
+
/**
|
|
46
|
+
* Set log level
|
|
47
|
+
*/
|
|
48
|
+
setLevel(level: LogLevel): void;
|
|
49
|
+
/**
|
|
50
|
+
* Get current log level
|
|
51
|
+
*/
|
|
52
|
+
getLevel(): string;
|
|
53
|
+
/**
|
|
54
|
+
* Ensure logs directory exists
|
|
55
|
+
*/
|
|
56
|
+
private ensureLogsDirectory;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=Logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../src/utils/Logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,oBAAY,QAAQ;IAClB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,UAAU;CAChB;AAED,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAS;IAChC,OAAO,CAAC,MAAM,CAAiB;IAE/B,OAAO;IA2CP;;OAEG;WACW,WAAW,IAAI,MAAM;IAOnC;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI;IAIxC;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI;IAIvC;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI;IAIvC;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI;IAIxC;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI;IAIvD;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM;IAMxB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAI/B;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAQ5B"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Logger - Centralized logging system for the AQE Fleet
|
|
4
|
+
*
|
|
5
|
+
* Provides structured logging with different levels and output formats
|
|
6
|
+
* for comprehensive fleet monitoring and debugging.
|
|
7
|
+
*/
|
|
8
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.Logger = exports.LogLevel = void 0;
|
|
13
|
+
const winston_1 = __importDefault(require("winston"));
|
|
14
|
+
const path_1 = __importDefault(require("path"));
|
|
15
|
+
var LogLevel;
|
|
16
|
+
(function (LogLevel) {
|
|
17
|
+
LogLevel["ERROR"] = "error";
|
|
18
|
+
LogLevel["WARN"] = "warn";
|
|
19
|
+
LogLevel["INFO"] = "info";
|
|
20
|
+
LogLevel["DEBUG"] = "debug";
|
|
21
|
+
})(LogLevel || (exports.LogLevel = LogLevel = {}));
|
|
22
|
+
class Logger {
|
|
23
|
+
constructor() {
|
|
24
|
+
this.logger = winston_1.default.createLogger({
|
|
25
|
+
level: process.env.LOG_LEVEL || 'info',
|
|
26
|
+
format: winston_1.default.format.combine(winston_1.default.format.timestamp(), winston_1.default.format.errors({ stack: true }), winston_1.default.format.json()),
|
|
27
|
+
defaultMeta: { service: 'agentic-qe-fleet' },
|
|
28
|
+
transports: [
|
|
29
|
+
// Write all logs to console
|
|
30
|
+
new winston_1.default.transports.Console({
|
|
31
|
+
format: winston_1.default.format.combine(winston_1.default.format.colorize(), winston_1.default.format.simple(), winston_1.default.format.printf(({ timestamp, level, message, service, ...meta }) => {
|
|
32
|
+
const metaStr = Object.keys(meta).length ? ` ${JSON.stringify(meta)}` : '';
|
|
33
|
+
return `${timestamp} [${service}] ${level}: ${message}${metaStr}`;
|
|
34
|
+
}))
|
|
35
|
+
}),
|
|
36
|
+
// Write error logs to error.log
|
|
37
|
+
new winston_1.default.transports.File({
|
|
38
|
+
filename: path_1.default.join(process.cwd(), 'logs', 'error.log'),
|
|
39
|
+
level: 'error',
|
|
40
|
+
maxsize: 5242880, // 5MB
|
|
41
|
+
maxFiles: 5
|
|
42
|
+
}),
|
|
43
|
+
// Write all logs to combined.log
|
|
44
|
+
new winston_1.default.transports.File({
|
|
45
|
+
filename: path_1.default.join(process.cwd(), 'logs', 'combined.log'),
|
|
46
|
+
maxsize: 5242880, // 5MB
|
|
47
|
+
maxFiles: 5
|
|
48
|
+
})
|
|
49
|
+
]
|
|
50
|
+
});
|
|
51
|
+
// Create logs directory if it doesn't exist
|
|
52
|
+
this.ensureLogsDirectory();
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Get singleton instance
|
|
56
|
+
*/
|
|
57
|
+
static getInstance() {
|
|
58
|
+
if (!Logger.instance) {
|
|
59
|
+
Logger.instance = new Logger();
|
|
60
|
+
}
|
|
61
|
+
return Logger.instance;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Log error message
|
|
65
|
+
*/
|
|
66
|
+
error(message, meta) {
|
|
67
|
+
this.logger.error(message, meta);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Log warning message
|
|
71
|
+
*/
|
|
72
|
+
warn(message, meta) {
|
|
73
|
+
this.logger.warn(message, meta);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Log info message
|
|
77
|
+
*/
|
|
78
|
+
info(message, meta) {
|
|
79
|
+
this.logger.info(message, meta);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Log debug message
|
|
83
|
+
*/
|
|
84
|
+
debug(message, meta) {
|
|
85
|
+
this.logger.debug(message, meta);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Log with specific level
|
|
89
|
+
*/
|
|
90
|
+
log(level, message, meta) {
|
|
91
|
+
this.logger.log(level, message, meta);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Create child logger with additional context
|
|
95
|
+
*/
|
|
96
|
+
child(meta) {
|
|
97
|
+
const childLogger = new Logger();
|
|
98
|
+
childLogger.logger = this.logger.child(meta);
|
|
99
|
+
return childLogger;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Set log level
|
|
103
|
+
*/
|
|
104
|
+
setLevel(level) {
|
|
105
|
+
this.logger.level = level;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Get current log level
|
|
109
|
+
*/
|
|
110
|
+
getLevel() {
|
|
111
|
+
return this.logger.level;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Ensure logs directory exists
|
|
115
|
+
*/
|
|
116
|
+
ensureLogsDirectory() {
|
|
117
|
+
const fs = require('fs');
|
|
118
|
+
const logsDir = path_1.default.join(process.cwd(), 'logs');
|
|
119
|
+
if (!fs.existsSync(logsDir)) {
|
|
120
|
+
fs.mkdirSync(logsDir, { recursive: true });
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
exports.Logger = Logger;
|
|
125
|
+
//# sourceMappingURL=Logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/utils/Logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utils - Export all utility classes
|
|
3
|
+
*/
|
|
4
|
+
export { Logger, LogLevel } from './Logger';
|
|
5
|
+
export { Config } from './Config';
|
|
6
|
+
export { Database } from './Database';
|
|
7
|
+
export type { FleetConfig, AgentConfig, DatabaseConfig } from './Config';
|
|
8
|
+
export type { DatabaseRow } from './Database';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACzE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Utils - Export all utility classes
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Database = exports.Config = exports.LogLevel = exports.Logger = void 0;
|
|
7
|
+
var Logger_1 = require("./Logger");
|
|
8
|
+
Object.defineProperty(exports, "Logger", { enumerable: true, get: function () { return Logger_1.Logger; } });
|
|
9
|
+
Object.defineProperty(exports, "LogLevel", { enumerable: true, get: function () { return Logger_1.LogLevel; } });
|
|
10
|
+
var Config_1 = require("./Config");
|
|
11
|
+
Object.defineProperty(exports, "Config", { enumerable: true, get: function () { return Config_1.Config; } });
|
|
12
|
+
var Database_1 = require("./Database");
|
|
13
|
+
Object.defineProperty(exports, "Database", { enumerable: true, get: function () { return Database_1.Database; } });
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,mCAA4C;AAAnC,gGAAA,MAAM,OAAA;AAAE,kGAAA,QAAQ,OAAA;AACzB,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Coverage Optimization using Sublinear Algorithms
|
|
3
|
+
* Implements SPARC Phase 2 pseudocode for O(log n) coverage optimization
|
|
4
|
+
*/
|
|
5
|
+
export interface CoveragePoint {
|
|
6
|
+
id: string;
|
|
7
|
+
type: 'statement' | 'branch' | 'function' | 'line';
|
|
8
|
+
weight: number;
|
|
9
|
+
difficulty: number;
|
|
10
|
+
}
|
|
11
|
+
export interface CoverageConstraint {
|
|
12
|
+
targetPercentage: number;
|
|
13
|
+
weightedTarget: number;
|
|
14
|
+
maxTests: number;
|
|
15
|
+
timeLimit: number;
|
|
16
|
+
}
|
|
17
|
+
export interface CoverageMatrix {
|
|
18
|
+
matrix: Float64Array;
|
|
19
|
+
rows: number;
|
|
20
|
+
cols: number;
|
|
21
|
+
testIds: string[];
|
|
22
|
+
coveragePointIds: string[];
|
|
23
|
+
}
|
|
24
|
+
export interface OptimizationResult {
|
|
25
|
+
selectedTestIndices: number[];
|
|
26
|
+
coverageAchieved: number;
|
|
27
|
+
weightedCoverageScore: number;
|
|
28
|
+
redundancyReduction: number;
|
|
29
|
+
optimizationTime: number;
|
|
30
|
+
algorithmMetrics: {
|
|
31
|
+
iterationsUsed: number;
|
|
32
|
+
convergenceRate: number;
|
|
33
|
+
dimensionReduction: number;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Sublinear Coverage Optimizer
|
|
38
|
+
*/
|
|
39
|
+
export declare class SublinearCoverageOptimizer {
|
|
40
|
+
private sparsifier;
|
|
41
|
+
private maxIterations;
|
|
42
|
+
constructor(epsilon?: number, maxIterations?: number);
|
|
43
|
+
/**
|
|
44
|
+
* Optimize coverage using sublinear algorithms
|
|
45
|
+
* Implements the pseudocode from SPARC Phase 2: OptimizeCoverageSublinear
|
|
46
|
+
*/
|
|
47
|
+
optimizeCoverage(coverageMatrix: CoverageMatrix, coveragePoints: CoveragePoint[], constraint: CoverageConstraint): Promise<OptimizationResult>;
|
|
48
|
+
/**
|
|
49
|
+
* Create constraint vector based on coverage requirements
|
|
50
|
+
*/
|
|
51
|
+
private createConstraintVector;
|
|
52
|
+
/**
|
|
53
|
+
* Calculate optimal dimension for Johnson-Lindenstrauss reduction
|
|
54
|
+
*/
|
|
55
|
+
private calculateOptimalDimension;
|
|
56
|
+
/**
|
|
57
|
+
* Apply Johnson-Lindenstrauss random projection
|
|
58
|
+
*/
|
|
59
|
+
private applyJLTransform;
|
|
60
|
+
/**
|
|
61
|
+
* Solve optimization problem using sublinear methods
|
|
62
|
+
*/
|
|
63
|
+
private solveTrueSublinear;
|
|
64
|
+
private calculateGradient;
|
|
65
|
+
private calculateObjective;
|
|
66
|
+
private projectOntoSimplex;
|
|
67
|
+
private mapSolutionToOriginalSpace;
|
|
68
|
+
private validateAndAugment;
|
|
69
|
+
private calculateCoverageAchieved;
|
|
70
|
+
private calculateWeightedCoverageScore;
|
|
71
|
+
private calculateRedundancyReduction;
|
|
72
|
+
/**
|
|
73
|
+
* Create a coverage matrix from test and coverage point data
|
|
74
|
+
*/
|
|
75
|
+
static createCoverageMatrix(tests: Array<{
|
|
76
|
+
id: string;
|
|
77
|
+
coveredPoints: string[];
|
|
78
|
+
}>, coveragePoints: CoveragePoint[]): CoverageMatrix;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Factory function for creating coverage optimizer
|
|
82
|
+
*/
|
|
83
|
+
export declare function createCoverageOptimizer(epsilon?: number): SublinearCoverageOptimizer;
|
|
84
|
+
//# sourceMappingURL=coverageOptimizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coverageOptimizer.d.ts","sourceRoot":"","sources":["../../../src/utils/sublinear/coverageOptimizer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,YAAY,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE;QAChB,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,kBAAkB,EAAE,MAAM,CAAC;KAC5B,CAAC;CACH;AA8ED;;GAEG;AACH,qBAAa,0BAA0B;IACrC,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,aAAa,CAAS;gBAElB,OAAO,GAAE,MAAa,EAAE,aAAa,GAAE,MAAa;IAKhE;;;OAGG;IACG,gBAAgB,CACpB,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,aAAa,EAAE,EAC/B,UAAU,EAAE,kBAAkB,GAC7B,OAAO,CAAC,kBAAkB,CAAC;IAqF9B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAe9B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAcjC;;OAEG;YACW,gBAAgB;IAsC9B;;OAEG;YACW,kBAAkB;IAkDhC,OAAO,CAAC,iBAAiB;IA+BzB,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,0BAA0B;YAcpB,kBAAkB;IA4EhC,OAAO,CAAC,yBAAyB;IAkBjC,OAAO,CAAC,8BAA8B;IA4BtC,OAAO,CAAC,4BAA4B;IAmCpC;;OAEG;IACH,MAAM,CAAC,oBAAoB,CACzB,KAAK,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,EACrD,cAAc,EAAE,aAAa,EAAE,GAC9B,cAAc;CAyBlB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,GAAE,MAAa,GAAG,0BAA0B,CAE1F"}
|