agentic-qe 2.3.2 → 2.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +140 -0
- package/README.md +1 -1
- package/dist/agents/BaseAgent.d.ts +10 -0
- package/dist/agents/BaseAgent.d.ts.map +1 -1
- package/dist/agents/BaseAgent.js +113 -0
- package/dist/agents/BaseAgent.js.map +1 -1
- package/dist/agents/CoverageAnalyzerAgent.d.ts.map +1 -1
- package/dist/agents/CoverageAnalyzerAgent.js +53 -27
- package/dist/agents/CoverageAnalyzerAgent.js.map +1 -1
- package/dist/agents/FlakyTestHunterAgent.d.ts +5 -0
- package/dist/agents/FlakyTestHunterAgent.d.ts.map +1 -1
- package/dist/agents/FlakyTestHunterAgent.js +20 -5
- package/dist/agents/FlakyTestHunterAgent.js.map +1 -1
- package/dist/agents/QualityGateAgent.js +44 -6
- package/dist/agents/QualityGateAgent.js.map +1 -1
- package/dist/cli/commands/dream/index.d.ts +50 -0
- package/dist/cli/commands/dream/index.d.ts.map +1 -0
- package/dist/cli/commands/dream/index.js +282 -0
- package/dist/cli/commands/dream/index.js.map +1 -0
- package/dist/cli/commands/learn/index.d.ts +31 -5
- package/dist/cli/commands/learn/index.d.ts.map +1 -1
- package/dist/cli/commands/learn/index.js +183 -50
- package/dist/cli/commands/learn/index.js.map +1 -1
- package/dist/cli/commands/transfer/index.d.ts +55 -0
- package/dist/cli/commands/transfer/index.d.ts.map +1 -0
- package/dist/cli/commands/transfer/index.js +317 -0
- package/dist/cli/commands/transfer/index.js.map +1 -0
- package/dist/cli/index.js +156 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init/database-init.js +5 -0
- package/dist/cli/init/database-init.js.map +1 -1
- package/dist/cli/init/index.d.ts.map +1 -1
- package/dist/cli/init/index.js +12 -4
- package/dist/cli/init/index.js.map +1 -1
- package/dist/cli/init/learning-init.d.ts +39 -0
- package/dist/cli/init/learning-init.d.ts.map +1 -0
- package/dist/cli/init/learning-init.js +239 -0
- package/dist/cli/init/learning-init.js.map +1 -0
- package/dist/core/memory/HNSWVectorMemory.js +1 -1
- package/dist/learning/PerformanceTracker.d.ts +9 -0
- package/dist/learning/PerformanceTracker.d.ts.map +1 -1
- package/dist/learning/PerformanceTracker.js +26 -2
- package/dist/learning/PerformanceTracker.js.map +1 -1
- package/dist/learning/baselines/BaselineCollector.d.ts +178 -0
- package/dist/learning/baselines/BaselineCollector.d.ts.map +1 -0
- package/dist/learning/baselines/BaselineCollector.js +398 -0
- package/dist/learning/baselines/BaselineCollector.js.map +1 -0
- package/dist/learning/baselines/StandardTaskSuite.d.ts +88 -0
- package/dist/learning/baselines/StandardTaskSuite.d.ts.map +1 -0
- package/dist/learning/baselines/StandardTaskSuite.js +801 -0
- package/dist/learning/baselines/StandardTaskSuite.js.map +1 -0
- package/dist/learning/baselines/index.d.ts +10 -0
- package/dist/learning/baselines/index.d.ts.map +1 -0
- package/dist/learning/baselines/index.js +15 -0
- package/dist/learning/baselines/index.js.map +1 -0
- package/dist/learning/capture/ExecutionRecorder.d.ts +97 -0
- package/dist/learning/capture/ExecutionRecorder.d.ts.map +1 -0
- package/dist/learning/capture/ExecutionRecorder.js +195 -0
- package/dist/learning/capture/ExecutionRecorder.js.map +1 -0
- package/dist/learning/capture/ExperienceCapture.d.ts +177 -0
- package/dist/learning/capture/ExperienceCapture.d.ts.map +1 -0
- package/dist/learning/capture/ExperienceCapture.js +432 -0
- package/dist/learning/capture/ExperienceCapture.js.map +1 -0
- package/dist/learning/capture/index.d.ts +12 -0
- package/dist/learning/capture/index.d.ts.map +1 -0
- package/dist/learning/capture/index.js +17 -0
- package/dist/learning/capture/index.js.map +1 -0
- package/dist/learning/dashboard/MetricsDashboard.d.ts +63 -0
- package/dist/learning/dashboard/MetricsDashboard.d.ts.map +1 -0
- package/dist/learning/dashboard/MetricsDashboard.js +230 -0
- package/dist/learning/dashboard/MetricsDashboard.js.map +1 -0
- package/dist/learning/dashboard/index.d.ts +7 -0
- package/dist/learning/dashboard/index.d.ts.map +1 -0
- package/dist/learning/dashboard/index.js +23 -0
- package/dist/learning/dashboard/index.js.map +1 -0
- package/dist/learning/dream/ConceptGraph.d.ts +160 -0
- package/dist/learning/dream/ConceptGraph.d.ts.map +1 -0
- package/dist/learning/dream/ConceptGraph.js +445 -0
- package/dist/learning/dream/ConceptGraph.js.map +1 -0
- package/dist/learning/dream/DreamEngine.d.ts +150 -0
- package/dist/learning/dream/DreamEngine.d.ts.map +1 -0
- package/dist/learning/dream/DreamEngine.js +551 -0
- package/dist/learning/dream/DreamEngine.js.map +1 -0
- package/dist/learning/dream/InsightGenerator.d.ts +152 -0
- package/dist/learning/dream/InsightGenerator.d.ts.map +1 -0
- package/dist/learning/dream/InsightGenerator.js +463 -0
- package/dist/learning/dream/InsightGenerator.js.map +1 -0
- package/dist/learning/dream/SpreadingActivation.d.ts +138 -0
- package/dist/learning/dream/SpreadingActivation.d.ts.map +1 -0
- package/dist/learning/dream/SpreadingActivation.js +320 -0
- package/dist/learning/dream/SpreadingActivation.js.map +1 -0
- package/dist/learning/dream/index.d.ts +14 -0
- package/dist/learning/dream/index.d.ts.map +1 -0
- package/dist/learning/dream/index.js +22 -0
- package/dist/learning/dream/index.js.map +1 -0
- package/dist/learning/metrics/AlertManager.d.ts +107 -0
- package/dist/learning/metrics/AlertManager.d.ts.map +1 -0
- package/dist/learning/metrics/AlertManager.js +246 -0
- package/dist/learning/metrics/AlertManager.js.map +1 -0
- package/dist/learning/metrics/LearningMetrics.d.ts +184 -0
- package/dist/learning/metrics/LearningMetrics.d.ts.map +1 -0
- package/dist/learning/metrics/LearningMetrics.js +754 -0
- package/dist/learning/metrics/LearningMetrics.js.map +1 -0
- package/dist/learning/metrics/MetricsCollector.d.ts +108 -0
- package/dist/learning/metrics/MetricsCollector.d.ts.map +1 -0
- package/dist/learning/metrics/MetricsCollector.js +240 -0
- package/dist/learning/metrics/MetricsCollector.js.map +1 -0
- package/dist/learning/metrics/MetricsStore.d.ts +149 -0
- package/dist/learning/metrics/MetricsStore.d.ts.map +1 -0
- package/dist/learning/metrics/MetricsStore.js +502 -0
- package/dist/learning/metrics/MetricsStore.js.map +1 -0
- package/dist/learning/metrics/TrendAnalyzer.d.ts +85 -0
- package/dist/learning/metrics/TrendAnalyzer.d.ts.map +1 -0
- package/dist/learning/metrics/TrendAnalyzer.js +210 -0
- package/dist/learning/metrics/TrendAnalyzer.js.map +1 -0
- package/dist/learning/metrics/index.d.ts +13 -0
- package/dist/learning/metrics/index.d.ts.map +1 -0
- package/dist/learning/metrics/index.js +39 -0
- package/dist/learning/metrics/index.js.map +1 -0
- package/dist/learning/scheduler/IdleDetector.d.ts +126 -0
- package/dist/learning/scheduler/IdleDetector.d.ts.map +1 -0
- package/dist/learning/scheduler/IdleDetector.js +281 -0
- package/dist/learning/scheduler/IdleDetector.js.map +1 -0
- package/dist/learning/scheduler/SleepCycle.d.ts +150 -0
- package/dist/learning/scheduler/SleepCycle.d.ts.map +1 -0
- package/dist/learning/scheduler/SleepCycle.js +506 -0
- package/dist/learning/scheduler/SleepCycle.js.map +1 -0
- package/dist/learning/scheduler/SleepScheduler.d.ts +131 -0
- package/dist/learning/scheduler/SleepScheduler.d.ts.map +1 -0
- package/dist/learning/scheduler/SleepScheduler.js +299 -0
- package/dist/learning/scheduler/SleepScheduler.js.map +1 -0
- package/dist/learning/scheduler/TimeBasedTrigger.d.ts +108 -0
- package/dist/learning/scheduler/TimeBasedTrigger.d.ts.map +1 -0
- package/dist/learning/scheduler/TimeBasedTrigger.js +222 -0
- package/dist/learning/scheduler/TimeBasedTrigger.js.map +1 -0
- package/dist/learning/scheduler/index.d.ts +16 -0
- package/dist/learning/scheduler/index.d.ts.map +1 -0
- package/dist/learning/scheduler/index.js +23 -0
- package/dist/learning/scheduler/index.js.map +1 -0
- package/dist/learning/synthesis/PatternSynthesis.d.ts +162 -0
- package/dist/learning/synthesis/PatternSynthesis.d.ts.map +1 -0
- package/dist/learning/synthesis/PatternSynthesis.js +479 -0
- package/dist/learning/synthesis/PatternSynthesis.js.map +1 -0
- package/dist/learning/synthesis/index.d.ts +10 -0
- package/dist/learning/synthesis/index.d.ts.map +1 -0
- package/dist/learning/synthesis/index.js +14 -0
- package/dist/learning/synthesis/index.js.map +1 -0
- package/dist/learning/transfer/CompatibilityScorer.d.ts +115 -0
- package/dist/learning/transfer/CompatibilityScorer.d.ts.map +1 -0
- package/dist/learning/transfer/CompatibilityScorer.js +319 -0
- package/dist/learning/transfer/CompatibilityScorer.js.map +1 -0
- package/dist/learning/transfer/TransferProtocol.d.ts +172 -0
- package/dist/learning/transfer/TransferProtocol.d.ts.map +1 -0
- package/dist/learning/transfer/TransferProtocol.js +611 -0
- package/dist/learning/transfer/TransferProtocol.js.map +1 -0
- package/dist/learning/transfer/TransferPrototype.d.ts +93 -0
- package/dist/learning/transfer/TransferPrototype.d.ts.map +1 -0
- package/dist/learning/transfer/TransferPrototype.js +433 -0
- package/dist/learning/transfer/TransferPrototype.js.map +1 -0
- package/dist/learning/transfer/TransferValidator.d.ts +140 -0
- package/dist/learning/transfer/TransferValidator.d.ts.map +1 -0
- package/dist/learning/transfer/TransferValidator.js +413 -0
- package/dist/learning/transfer/TransferValidator.js.map +1 -0
- package/dist/learning/transfer/index.d.ts +14 -0
- package/dist/learning/transfer/index.d.ts.map +1 -0
- package/dist/learning/transfer/index.js +22 -0
- package/dist/learning/transfer/index.js.map +1 -0
- package/dist/mcp/handlers/test/test-generate-enhanced.d.ts +26 -2
- package/dist/mcp/handlers/test/test-generate-enhanced.d.ts.map +1 -1
- package/dist/mcp/handlers/test/test-generate-enhanced.js +159 -27
- package/dist/mcp/handlers/test/test-generate-enhanced.js.map +1 -1
- package/dist/mcp/server-instructions.d.ts +1 -1
- package/dist/mcp/server-instructions.js +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +2 -1
- package/dist/mcp/server.js.map +1 -1
- package/package.json +7 -2
- package/scripts/README.md +352 -0
- package/scripts/hooks/capture-task-learning.js +191 -0
- package/scripts/hooks/emit-task-complete.sh +35 -0
- package/scripts/hooks/emit-task-spawn.sh +27 -0
- package/.claude/agents/failing-agent.json +0 -9
- package/.claude/agents/test-agent.json +0 -9
- package/dist/App.d.ts +0 -5
- package/dist/App.d.ts.map +0 -1
- package/dist/App.js +0 -15
- package/dist/App.js.map +0 -1
- package/dist/cli/init/utils.d.ts +0 -183
- package/dist/cli/init/utils.d.ts.map +0 -1
- package/dist/cli/init/utils.js +0 -354
- package/dist/cli/init/utils.js.map +0 -1
- package/dist/components/Dashboard/Dashboard.d.ts +0 -4
- package/dist/components/Dashboard/Dashboard.d.ts.map +0 -1
- package/dist/components/Dashboard/Dashboard.js +0 -148
- package/dist/components/Dashboard/Dashboard.js.map +0 -1
- package/dist/components/Dashboard/DashboardHeader.d.ts +0 -4
- package/dist/components/Dashboard/DashboardHeader.d.ts.map +0 -1
- package/dist/components/Dashboard/DashboardHeader.js +0 -138
- package/dist/components/Dashboard/DashboardHeader.js.map +0 -1
- package/dist/contexts/DashboardContext.d.ts +0 -41
- package/dist/contexts/DashboardContext.d.ts.map +0 -1
- package/dist/contexts/DashboardContext.js +0 -187
- package/dist/contexts/DashboardContext.js.map +0 -1
- package/dist/core/transport/QUICTransport.d.ts +0 -320
- package/dist/core/transport/QUICTransport.d.ts.map +0 -1
- package/dist/core/transport/QUICTransport.js +0 -711
- package/dist/core/transport/QUICTransport.js.map +0 -1
- package/dist/learning/LearningPersistenceAdapter.d.ts +0 -84
- package/dist/learning/LearningPersistenceAdapter.d.ts.map +0 -1
- package/dist/learning/LearningPersistenceAdapter.js +0 -202
- package/dist/learning/LearningPersistenceAdapter.js.map +0 -1
- package/dist/learning/algorithms/QLearning.d.ts +0 -68
- package/dist/learning/algorithms/QLearning.d.ts.map +0 -1
- package/dist/learning/algorithms/QLearning.js +0 -116
- package/dist/learning/algorithms/QLearning.js.map +0 -1
- package/dist/mcp/handlers/advanced/requirements-generate-bdd.d.ts +0 -7
- package/dist/mcp/handlers/advanced/requirements-generate-bdd.d.ts.map +0 -1
- package/dist/mcp/handlers/advanced/requirements-generate-bdd.js +0 -267
- package/dist/mcp/handlers/advanced/requirements-generate-bdd.js.map +0 -1
- package/dist/mcp/handlers/advanced/requirements-validate.d.ts +0 -7
- package/dist/mcp/handlers/advanced/requirements-validate.d.ts.map +0 -1
- package/dist/mcp/handlers/advanced/requirements-validate.js +0 -175
- package/dist/mcp/handlers/advanced/requirements-validate.js.map +0 -1
- package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.d.ts +0 -15
- package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.d.ts.map +0 -1
- package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.js +0 -43
- package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.js.map +0 -1
- package/dist/mcp/handlers/analysis/performanceBenchmarkRun.d.ts +0 -58
- package/dist/mcp/handlers/analysis/performanceBenchmarkRun.d.ts.map +0 -1
- package/dist/mcp/handlers/analysis/performanceBenchmarkRun.js +0 -188
- package/dist/mcp/handlers/analysis/performanceBenchmarkRun.js.map +0 -1
- package/dist/mcp/handlers/optimize-tests.d.ts +0 -219
- package/dist/mcp/handlers/optimize-tests.d.ts.map +0 -1
- package/dist/mcp/handlers/optimize-tests.js +0 -533
- package/dist/mcp/handlers/optimize-tests.js.map +0 -1
- package/dist/mcp/handlers/predict-defects.d.ts +0 -194
- package/dist/mcp/handlers/predict-defects.d.ts.map +0 -1
- package/dist/mcp/handlers/predict-defects.js +0 -722
- package/dist/mcp/handlers/predict-defects.js.map +0 -1
- package/dist/mcp/handlers/prediction/regression-risk-analyze.d.ts +0 -199
- package/dist/mcp/handlers/prediction/regression-risk-analyze.d.ts.map +0 -1
- package/dist/mcp/handlers/prediction/regression-risk-analyze.js +0 -471
- package/dist/mcp/handlers/prediction/regression-risk-analyze.js.map +0 -1
- package/dist/mcp/handlers/quality/quality-decision-make.d.ts +0 -104
- package/dist/mcp/handlers/quality/quality-decision-make.d.ts.map +0 -1
- package/dist/mcp/handlers/quality/quality-decision-make.js +0 -408
- package/dist/mcp/handlers/quality/quality-decision-make.js.map +0 -1
- package/dist/mcp/handlers/quality/quality-gate-execute.d.ts +0 -160
- package/dist/mcp/handlers/quality/quality-gate-execute.d.ts.map +0 -1
- package/dist/mcp/handlers/quality/quality-gate-execute.js +0 -412
- package/dist/mcp/handlers/quality/quality-gate-execute.js.map +0 -1
- package/dist/mcp/handlers/quality/quality-policy-check.d.ts +0 -163
- package/dist/mcp/handlers/quality/quality-policy-check.d.ts.map +0 -1
- package/dist/mcp/handlers/quality/quality-policy-check.js +0 -455
- package/dist/mcp/handlers/quality/quality-policy-check.js.map +0 -1
- package/dist/mcp/handlers/quality/quality-risk-assess.d.ts +0 -123
- package/dist/mcp/handlers/quality/quality-risk-assess.d.ts.map +0 -1
- package/dist/mcp/handlers/quality/quality-risk-assess.js +0 -522
- package/dist/mcp/handlers/quality/quality-risk-assess.js.map +0 -1
- package/dist/mcp/handlers/quality/quality-validate-metrics.d.ts +0 -117
- package/dist/mcp/handlers/quality/quality-validate-metrics.d.ts.map +0 -1
- package/dist/mcp/handlers/quality/quality-validate-metrics.js +0 -288
- package/dist/mcp/handlers/quality/quality-validate-metrics.js.map +0 -1
- package/dist/mcp/handlers/quality-analyze.d.ts +0 -279
- package/dist/mcp/handlers/quality-analyze.d.ts.map +0 -1
- package/dist/mcp/handlers/quality-analyze.js +0 -720
- package/dist/mcp/handlers/quality-analyze.js.map +0 -1
- package/dist/mcp/handlers/security/check-authz.d.ts +0 -152
- package/dist/mcp/handlers/security/check-authz.d.ts.map +0 -1
- package/dist/mcp/handlers/security/check-authz.js +0 -434
- package/dist/mcp/handlers/security/check-authz.js.map +0 -1
- package/dist/mcp/handlers/security/scan-dependencies.d.ts +0 -148
- package/dist/mcp/handlers/security/scan-dependencies.d.ts.map +0 -1
- package/dist/mcp/handlers/security/scan-dependencies.js +0 -354
- package/dist/mcp/handlers/security/scan-dependencies.js.map +0 -1
- package/dist/mcp/handlers/security/validate-auth.d.ts +0 -128
- package/dist/mcp/handlers/security/validate-auth.d.ts.map +0 -1
- package/dist/mcp/handlers/security/validate-auth.js +0 -294
- package/dist/mcp/handlers/security/validate-auth.js.map +0 -1
- package/dist/mcp/handlers/test-generate.d.ts +0 -107
- package/dist/mcp/handlers/test-generate.d.ts.map +0 -1
- package/dist/mcp/handlers/test-generate.js +0 -454
- package/dist/mcp/handlers/test-generate.js.map +0 -1
|
@@ -0,0 +1,398 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* BaselineCollector - Phase 0 of Nightly-Learner System
|
|
4
|
+
*
|
|
5
|
+
* Collects performance baselines for all 19 QE agents to establish
|
|
6
|
+
* quantitative improvement targets (10-20% above baseline).
|
|
7
|
+
*
|
|
8
|
+
* Architecture:
|
|
9
|
+
* - Uses shared memory database (.agentic-qe/memory.db)
|
|
10
|
+
* - Stores baselines in dedicated `learning_baselines` table
|
|
11
|
+
* - Integrates with StandardTaskSuite for consistent benchmarking
|
|
12
|
+
* - Provides baseline queries for improvement tracking
|
|
13
|
+
*
|
|
14
|
+
* @version 1.0.0
|
|
15
|
+
* @module src/learning/baselines/BaselineCollector
|
|
16
|
+
*/
|
|
17
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
18
|
+
if (k2 === undefined) k2 = k;
|
|
19
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
20
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
21
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
22
|
+
}
|
|
23
|
+
Object.defineProperty(o, k2, desc);
|
|
24
|
+
}) : (function(o, m, k, k2) {
|
|
25
|
+
if (k2 === undefined) k2 = k;
|
|
26
|
+
o[k2] = m[k];
|
|
27
|
+
}));
|
|
28
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
29
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
30
|
+
}) : function(o, v) {
|
|
31
|
+
o["default"] = v;
|
|
32
|
+
});
|
|
33
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
34
|
+
var ownKeys = function(o) {
|
|
35
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
36
|
+
var ar = [];
|
|
37
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
38
|
+
return ar;
|
|
39
|
+
};
|
|
40
|
+
return ownKeys(o);
|
|
41
|
+
};
|
|
42
|
+
return function (mod) {
|
|
43
|
+
if (mod && mod.__esModule) return mod;
|
|
44
|
+
var result = {};
|
|
45
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
46
|
+
__setModuleDefault(result, mod);
|
|
47
|
+
return result;
|
|
48
|
+
};
|
|
49
|
+
})();
|
|
50
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
51
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
52
|
+
};
|
|
53
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
54
|
+
exports.BaselineCollector = void 0;
|
|
55
|
+
const better_sqlite3_1 = __importDefault(require("better-sqlite3"));
|
|
56
|
+
const path = __importStar(require("path"));
|
|
57
|
+
const Logger_1 = require("../../utils/Logger");
|
|
58
|
+
const SecureRandom_1 = require("../../utils/SecureRandom");
|
|
59
|
+
const types_1 = require("../../types");
|
|
60
|
+
const StandardTaskSuite_1 = require("./StandardTaskSuite");
|
|
61
|
+
/**
|
|
62
|
+
* BaselineCollector collects and manages performance baselines
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* ```typescript
|
|
66
|
+
* const collector = new BaselineCollector();
|
|
67
|
+
* await collector.initialize();
|
|
68
|
+
*
|
|
69
|
+
* // Collect baseline for test-generator
|
|
70
|
+
* const baseline = await collector.collectBaseline(
|
|
71
|
+
* 'test-gen-001',
|
|
72
|
+
* QEAgentType.TEST_GENERATOR,
|
|
73
|
+
* 'unit-test-generation'
|
|
74
|
+
* );
|
|
75
|
+
*
|
|
76
|
+
* // Get improvement targets
|
|
77
|
+
* const targets = collector.getImprovementTarget(baseline);
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
80
|
+
class BaselineCollector {
|
|
81
|
+
constructor(config) {
|
|
82
|
+
this.isInitialized = false;
|
|
83
|
+
this.logger = Logger_1.Logger.getInstance();
|
|
84
|
+
this.config = {
|
|
85
|
+
dbPath: config?.dbPath || path.join(process.cwd(), '.agentic-qe', 'memory.db'),
|
|
86
|
+
sampleSize: config?.sampleSize ?? 10,
|
|
87
|
+
taskTimeout: config?.taskTimeout ?? 30000,
|
|
88
|
+
debug: config?.debug ?? false,
|
|
89
|
+
};
|
|
90
|
+
this.db = new better_sqlite3_1.default(this.config.dbPath);
|
|
91
|
+
this.taskSuite = new StandardTaskSuite_1.StandardTaskSuite();
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Initialize the baseline collector and database schema
|
|
95
|
+
*/
|
|
96
|
+
async initialize() {
|
|
97
|
+
if (this.isInitialized) {
|
|
98
|
+
this.logger.warn('[BaselineCollector] Already initialized');
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
this.logger.info('[BaselineCollector] Initializing...');
|
|
102
|
+
this.initializeSchema();
|
|
103
|
+
this.isInitialized = true;
|
|
104
|
+
this.logger.info('[BaselineCollector] Initialized successfully');
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Initialize database schema for baselines
|
|
108
|
+
*/
|
|
109
|
+
initializeSchema() {
|
|
110
|
+
this.db.exec(`
|
|
111
|
+
CREATE TABLE IF NOT EXISTS learning_baselines (
|
|
112
|
+
id TEXT PRIMARY KEY,
|
|
113
|
+
agent_id TEXT NOT NULL,
|
|
114
|
+
agent_type TEXT NOT NULL,
|
|
115
|
+
task_type TEXT NOT NULL,
|
|
116
|
+
avg_completion_time REAL NOT NULL,
|
|
117
|
+
success_rate REAL NOT NULL,
|
|
118
|
+
pattern_recall_accuracy REAL NOT NULL,
|
|
119
|
+
coverage_achieved REAL NOT NULL,
|
|
120
|
+
sample_size INTEGER NOT NULL,
|
|
121
|
+
collected_at INTEGER NOT NULL,
|
|
122
|
+
updated_at INTEGER,
|
|
123
|
+
UNIQUE(agent_id, agent_type, task_type)
|
|
124
|
+
);
|
|
125
|
+
|
|
126
|
+
CREATE INDEX IF NOT EXISTS idx_baselines_agent_type ON learning_baselines(agent_type);
|
|
127
|
+
CREATE INDEX IF NOT EXISTS idx_baselines_task_type ON learning_baselines(task_type);
|
|
128
|
+
CREATE INDEX IF NOT EXISTS idx_baselines_collected_at ON learning_baselines(collected_at);
|
|
129
|
+
`);
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Collect baseline for a specific agent and task type
|
|
133
|
+
*
|
|
134
|
+
* Runs the standard task suite multiple times and calculates average metrics.
|
|
135
|
+
*
|
|
136
|
+
* @param agentId - Agent identifier
|
|
137
|
+
* @param agentType - QE agent type
|
|
138
|
+
* @param taskType - Task type to baseline
|
|
139
|
+
* @returns Collected baseline
|
|
140
|
+
*/
|
|
141
|
+
async collectBaseline(agentId, agentType, taskType) {
|
|
142
|
+
if (!this.isInitialized) {
|
|
143
|
+
throw new Error('BaselineCollector not initialized');
|
|
144
|
+
}
|
|
145
|
+
this.logger.info(`[BaselineCollector] Collecting baseline for ${agentType} - ${taskType}`, {
|
|
146
|
+
agentId,
|
|
147
|
+
sampleSize: this.config.sampleSize,
|
|
148
|
+
});
|
|
149
|
+
// Get standard tasks for this agent type and task type
|
|
150
|
+
const tasks = this.taskSuite.getTasksForAgent(agentType, taskType);
|
|
151
|
+
if (tasks.length === 0) {
|
|
152
|
+
throw new Error(`No standard tasks found for ${agentType} - ${taskType}`);
|
|
153
|
+
}
|
|
154
|
+
// Run tasks and collect metrics
|
|
155
|
+
const results = [];
|
|
156
|
+
for (let i = 0; i < this.config.sampleSize; i++) {
|
|
157
|
+
const task = tasks[i % tasks.length]; // Cycle through tasks
|
|
158
|
+
const result = await this.executeStandardTask(task);
|
|
159
|
+
results.push(result);
|
|
160
|
+
if (this.config.debug) {
|
|
161
|
+
this.logger.debug(`[BaselineCollector] Sample ${i + 1}/${this.config.sampleSize}`, result);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
// Calculate aggregate metrics
|
|
165
|
+
const metrics = this.calculateMetrics(results);
|
|
166
|
+
const baseline = {
|
|
167
|
+
id: `baseline-${Date.now()}-${SecureRandom_1.SecureRandom.randomString(8, 'alphanumeric')}`,
|
|
168
|
+
agentId,
|
|
169
|
+
agentType,
|
|
170
|
+
taskType,
|
|
171
|
+
metrics,
|
|
172
|
+
sampleSize: results.length,
|
|
173
|
+
collectedAt: new Date(),
|
|
174
|
+
};
|
|
175
|
+
// Store baseline in database
|
|
176
|
+
await this.storeBaseline(baseline);
|
|
177
|
+
this.logger.info(`[BaselineCollector] Baseline collected for ${agentType} - ${taskType}`, {
|
|
178
|
+
metrics,
|
|
179
|
+
});
|
|
180
|
+
return baseline;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Collect baselines for all 19 QE agent types
|
|
184
|
+
*
|
|
185
|
+
* Runs comprehensive baseline collection across all agents.
|
|
186
|
+
* This is typically run once during Phase 0 setup.
|
|
187
|
+
*
|
|
188
|
+
* @returns Array of collected baselines
|
|
189
|
+
*/
|
|
190
|
+
async collectAllBaselines() {
|
|
191
|
+
const allAgentTypes = Object.values(types_1.QEAgentType);
|
|
192
|
+
const baselines = [];
|
|
193
|
+
this.logger.info(`[BaselineCollector] Collecting baselines for ${allAgentTypes.length} agent types`);
|
|
194
|
+
for (const agentType of allAgentTypes) {
|
|
195
|
+
// Get task types for this agent
|
|
196
|
+
const taskTypes = this.taskSuite.getTaskTypesForAgent(agentType);
|
|
197
|
+
for (const taskType of taskTypes) {
|
|
198
|
+
try {
|
|
199
|
+
const agentId = `baseline-agent-${agentType}`;
|
|
200
|
+
const baseline = await this.collectBaseline(agentId, agentType, taskType);
|
|
201
|
+
baselines.push(baseline);
|
|
202
|
+
}
|
|
203
|
+
catch (error) {
|
|
204
|
+
this.logger.warn(`[BaselineCollector] Failed to collect baseline for ${agentType} - ${taskType}`, error);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
this.logger.info(`[BaselineCollector] Collected ${baselines.length} baselines`);
|
|
209
|
+
return baselines;
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Execute a standard task and measure performance
|
|
213
|
+
*/
|
|
214
|
+
async executeStandardTask(task) {
|
|
215
|
+
const startTime = Date.now();
|
|
216
|
+
// Simulate task execution
|
|
217
|
+
// In production, this would call the actual agent
|
|
218
|
+
const success = Math.random() > 0.2; // 80% success rate baseline
|
|
219
|
+
const coverage = 60 + Math.random() * 30; // 60-90% coverage
|
|
220
|
+
const patternsRecalled = Math.floor(Math.random() * 5);
|
|
221
|
+
const totalPatterns = 5;
|
|
222
|
+
// Simulate variable completion time based on task complexity
|
|
223
|
+
const baseTime = task.expectedDuration || 1000;
|
|
224
|
+
const variance = baseTime * 0.2; // 20% variance
|
|
225
|
+
const completionTime = baseTime + (Math.random() * variance * 2 - variance);
|
|
226
|
+
// Wait for simulated execution time
|
|
227
|
+
await new Promise(resolve => setTimeout(resolve, Math.min(100, completionTime / 10)));
|
|
228
|
+
return {
|
|
229
|
+
completionTime: Date.now() - startTime,
|
|
230
|
+
success,
|
|
231
|
+
coverage,
|
|
232
|
+
patternsRecalled,
|
|
233
|
+
totalPatterns,
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Calculate aggregate metrics from task results
|
|
238
|
+
*/
|
|
239
|
+
calculateMetrics(results) {
|
|
240
|
+
const totalResults = results.length;
|
|
241
|
+
const avgCompletionTime = results.reduce((sum, r) => sum + r.completionTime, 0) / totalResults;
|
|
242
|
+
const successRate = results.filter(r => r.success).length / totalResults;
|
|
243
|
+
const avgCoverage = results.reduce((sum, r) => sum + r.coverage, 0) / totalResults;
|
|
244
|
+
// Calculate pattern recall accuracy
|
|
245
|
+
const totalRecalled = results.reduce((sum, r) => sum + r.patternsRecalled, 0);
|
|
246
|
+
const totalPatterns = results.reduce((sum, r) => sum + r.totalPatterns, 0);
|
|
247
|
+
const patternRecallAccuracy = totalPatterns > 0 ? totalRecalled / totalPatterns : 0;
|
|
248
|
+
return {
|
|
249
|
+
avgCompletionTime,
|
|
250
|
+
successRate,
|
|
251
|
+
patternRecallAccuracy,
|
|
252
|
+
coverageAchieved: avgCoverage,
|
|
253
|
+
};
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Store baseline in database
|
|
257
|
+
*/
|
|
258
|
+
async storeBaseline(baseline) {
|
|
259
|
+
const stmt = this.db.prepare(`
|
|
260
|
+
INSERT OR REPLACE INTO learning_baselines
|
|
261
|
+
(id, agent_id, agent_type, task_type, avg_completion_time, success_rate,
|
|
262
|
+
pattern_recall_accuracy, coverage_achieved, sample_size, collected_at, updated_at)
|
|
263
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
264
|
+
`);
|
|
265
|
+
stmt.run(baseline.id, baseline.agentId, baseline.agentType, baseline.taskType, baseline.metrics.avgCompletionTime, baseline.metrics.successRate, baseline.metrics.patternRecallAccuracy, baseline.metrics.coverageAchieved, baseline.sampleSize, baseline.collectedAt.getTime(), Date.now());
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Get baseline for specific agent type and task type
|
|
269
|
+
*/
|
|
270
|
+
getBaseline(agentType, taskType) {
|
|
271
|
+
const row = this.db.prepare(`
|
|
272
|
+
SELECT * FROM learning_baselines
|
|
273
|
+
WHERE agent_type = ? AND task_type = ?
|
|
274
|
+
ORDER BY collected_at DESC
|
|
275
|
+
LIMIT 1
|
|
276
|
+
`).get(agentType, taskType);
|
|
277
|
+
return row ? this.rowToBaseline(row) : null;
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Get all baselines for an agent type
|
|
281
|
+
*/
|
|
282
|
+
getBaselinesForAgent(agentType) {
|
|
283
|
+
const rows = this.db.prepare(`
|
|
284
|
+
SELECT * FROM learning_baselines
|
|
285
|
+
WHERE agent_type = ?
|
|
286
|
+
ORDER BY task_type, collected_at DESC
|
|
287
|
+
`).all(agentType);
|
|
288
|
+
return rows.map(row => this.rowToBaseline(row));
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Get baseline statistics for an agent type
|
|
292
|
+
*/
|
|
293
|
+
getBaselineStats(agentType) {
|
|
294
|
+
const baselines = this.getBaselinesForAgent(agentType);
|
|
295
|
+
if (baselines.length === 0) {
|
|
296
|
+
return null;
|
|
297
|
+
}
|
|
298
|
+
const avgSuccessRate = baselines.reduce((sum, b) => sum + b.metrics.successRate, 0) / baselines.length;
|
|
299
|
+
const avgCompletionTime = baselines.reduce((sum, b) => sum + b.metrics.avgCompletionTime, 0) / baselines.length;
|
|
300
|
+
const avgCoverage = baselines.reduce((sum, b) => sum + b.metrics.coverageAchieved, 0) / baselines.length;
|
|
301
|
+
const lastCollected = baselines.reduce((latest, b) => b.collectedAt > latest ? b.collectedAt : latest, baselines[0].collectedAt);
|
|
302
|
+
return {
|
|
303
|
+
agentType,
|
|
304
|
+
totalBaselines: baselines.length,
|
|
305
|
+
avgSuccessRate,
|
|
306
|
+
avgCompletionTime,
|
|
307
|
+
avgCoverage,
|
|
308
|
+
lastCollected,
|
|
309
|
+
};
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* Get improvement target from baseline
|
|
313
|
+
*
|
|
314
|
+
* Calculates 10-20% improvement targets above baseline metrics.
|
|
315
|
+
*/
|
|
316
|
+
getImprovementTarget(baseline) {
|
|
317
|
+
const minImprovement = 0.1; // 10%
|
|
318
|
+
const aspirationalImprovement = 0.2; // 20%
|
|
319
|
+
// For completion time, faster is better (reduce by 10-20%)
|
|
320
|
+
const targetCompletionTime = baseline.metrics.avgCompletionTime * (1 - aspirationalImprovement);
|
|
321
|
+
// For success rate and coverage, higher is better (increase by 10-20%)
|
|
322
|
+
const targetSuccessRate = Math.min(1.0, baseline.metrics.successRate * (1 + aspirationalImprovement));
|
|
323
|
+
const targetCoverage = Math.min(100, baseline.metrics.coverageAchieved * (1 + aspirationalImprovement));
|
|
324
|
+
return {
|
|
325
|
+
agentType: baseline.agentType,
|
|
326
|
+
taskType: baseline.taskType,
|
|
327
|
+
baseline,
|
|
328
|
+
targets: {
|
|
329
|
+
targetCompletionTime,
|
|
330
|
+
targetSuccessRate,
|
|
331
|
+
targetCoverage,
|
|
332
|
+
},
|
|
333
|
+
minImprovementThreshold: minImprovement,
|
|
334
|
+
aspirationalThreshold: aspirationalImprovement,
|
|
335
|
+
};
|
|
336
|
+
}
|
|
337
|
+
/**
|
|
338
|
+
* Check if current performance meets improvement target
|
|
339
|
+
*/
|
|
340
|
+
meetsImprovementTarget(baseline, currentMetrics) {
|
|
341
|
+
const target = this.getImprovementTarget(baseline);
|
|
342
|
+
const minThreshold = target.minImprovementThreshold;
|
|
343
|
+
// Calculate improvements
|
|
344
|
+
const completionTimeImprovement = (baseline.metrics.avgCompletionTime - currentMetrics.avgCompletionTime) /
|
|
345
|
+
baseline.metrics.avgCompletionTime;
|
|
346
|
+
const successRateImprovement = (currentMetrics.successRate - baseline.metrics.successRate) /
|
|
347
|
+
baseline.metrics.successRate;
|
|
348
|
+
const coverageImprovement = (currentMetrics.coverageAchieved - baseline.metrics.coverageAchieved) /
|
|
349
|
+
baseline.metrics.coverageAchieved;
|
|
350
|
+
const improvements = {
|
|
351
|
+
completionTime: {
|
|
352
|
+
met: completionTimeImprovement >= minThreshold,
|
|
353
|
+
improvement: completionTimeImprovement,
|
|
354
|
+
},
|
|
355
|
+
successRate: {
|
|
356
|
+
met: successRateImprovement >= minThreshold,
|
|
357
|
+
improvement: successRateImprovement,
|
|
358
|
+
},
|
|
359
|
+
coverage: {
|
|
360
|
+
met: coverageImprovement >= minThreshold,
|
|
361
|
+
improvement: coverageImprovement,
|
|
362
|
+
},
|
|
363
|
+
};
|
|
364
|
+
// Meets target if at least 2 out of 3 metrics improved by minimum threshold
|
|
365
|
+
const meetsTarget = Object.values(improvements).filter(i => i.met).length >= 2;
|
|
366
|
+
return { meetsTarget, improvements };
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* Convert database row to LearningBaseline
|
|
370
|
+
*/
|
|
371
|
+
rowToBaseline(row) {
|
|
372
|
+
return {
|
|
373
|
+
id: row.id,
|
|
374
|
+
agentId: row.agent_id,
|
|
375
|
+
agentType: row.agent_type,
|
|
376
|
+
taskType: row.task_type,
|
|
377
|
+
metrics: {
|
|
378
|
+
avgCompletionTime: row.avg_completion_time,
|
|
379
|
+
successRate: row.success_rate,
|
|
380
|
+
patternRecallAccuracy: row.pattern_recall_accuracy,
|
|
381
|
+
coverageAchieved: row.coverage_achieved,
|
|
382
|
+
},
|
|
383
|
+
sampleSize: row.sample_size,
|
|
384
|
+
collectedAt: new Date(row.collected_at),
|
|
385
|
+
updatedAt: row.updated_at ? new Date(row.updated_at) : undefined,
|
|
386
|
+
};
|
|
387
|
+
}
|
|
388
|
+
/**
|
|
389
|
+
* Close database connection
|
|
390
|
+
*/
|
|
391
|
+
close() {
|
|
392
|
+
this.db.close();
|
|
393
|
+
this.isInitialized = false;
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
exports.BaselineCollector = BaselineCollector;
|
|
397
|
+
exports.default = BaselineCollector;
|
|
398
|
+
//# sourceMappingURL=BaselineCollector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaselineCollector.js","sourceRoot":"","sources":["../../../src/learning/baselines/BaselineCollector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* StandardTaskSuite - Standard tasks for baseline measurement
|
|
3
|
+
*
|
|
4
|
+
* Defines representative tasks for each of the 19 QE agents to ensure
|
|
5
|
+
* consistent and reproducible baseline measurements.
|
|
6
|
+
*
|
|
7
|
+
* Each agent type has 10 standard tasks covering typical workloads.
|
|
8
|
+
*
|
|
9
|
+
* @version 1.0.0
|
|
10
|
+
* @module src/learning/baselines/StandardTaskSuite
|
|
11
|
+
*/
|
|
12
|
+
import { QEAgentType } from '../../types';
|
|
13
|
+
/**
|
|
14
|
+
* Standard task definition
|
|
15
|
+
*/
|
|
16
|
+
export interface StandardTask {
|
|
17
|
+
id: string;
|
|
18
|
+
agentType: QEAgentType;
|
|
19
|
+
taskType: string;
|
|
20
|
+
name: string;
|
|
21
|
+
description: string;
|
|
22
|
+
complexity: 'low' | 'medium' | 'high';
|
|
23
|
+
expectedDuration: number;
|
|
24
|
+
input: Record<string, any>;
|
|
25
|
+
expectedOutput?: Record<string, any>;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* StandardTaskSuite provides standard tasks for baseline measurement
|
|
29
|
+
*/
|
|
30
|
+
export declare class StandardTaskSuite {
|
|
31
|
+
private tasks;
|
|
32
|
+
constructor();
|
|
33
|
+
/**
|
|
34
|
+
* Initialize standard tasks for all agent types
|
|
35
|
+
*/
|
|
36
|
+
private initializeTasks;
|
|
37
|
+
/**
|
|
38
|
+
* Create tasks for Test Generator
|
|
39
|
+
*/
|
|
40
|
+
private createTestGeneratorTasks;
|
|
41
|
+
/**
|
|
42
|
+
* Initialize other agent types
|
|
43
|
+
*/
|
|
44
|
+
private initializeOtherAgents;
|
|
45
|
+
/**
|
|
46
|
+
* Helper to create a standard task (for use with currentAgentType)
|
|
47
|
+
*/
|
|
48
|
+
private createTask;
|
|
49
|
+
/**
|
|
50
|
+
* Helper to create a standard task directly with agent type
|
|
51
|
+
*/
|
|
52
|
+
private createTaskDirect;
|
|
53
|
+
/**
|
|
54
|
+
* Track current agent type being initialized
|
|
55
|
+
*/
|
|
56
|
+
private currentAgentType;
|
|
57
|
+
private getCurrentAgentType;
|
|
58
|
+
/**
|
|
59
|
+
* Add tasks for an agent type
|
|
60
|
+
*/
|
|
61
|
+
private addTasks;
|
|
62
|
+
/**
|
|
63
|
+
* Get all tasks for an agent type
|
|
64
|
+
*/
|
|
65
|
+
getTasksForAgent(agentType: QEAgentType, taskType?: string): StandardTask[];
|
|
66
|
+
/**
|
|
67
|
+
* Get all task types for an agent
|
|
68
|
+
*/
|
|
69
|
+
getTaskTypesForAgent(agentType: QEAgentType): string[];
|
|
70
|
+
/**
|
|
71
|
+
* Get a specific task by ID
|
|
72
|
+
*/
|
|
73
|
+
getTask(taskId: string): StandardTask | undefined;
|
|
74
|
+
/**
|
|
75
|
+
* Get all tasks across all agents
|
|
76
|
+
*/
|
|
77
|
+
getAllTasks(): StandardTask[];
|
|
78
|
+
/**
|
|
79
|
+
* Get task count by agent type
|
|
80
|
+
*/
|
|
81
|
+
getTaskCount(agentType: QEAgentType): number;
|
|
82
|
+
/**
|
|
83
|
+
* Get total task count
|
|
84
|
+
*/
|
|
85
|
+
getTotalTaskCount(): number;
|
|
86
|
+
}
|
|
87
|
+
export default StandardTaskSuite;
|
|
88
|
+
//# sourceMappingURL=StandardTaskSuite.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StandardTaskSuite.d.ts","sourceRoot":"","sources":["../../../src/learning/baselines/StandardTaskSuite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,WAAW,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACtC,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACtC;AAWD;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,KAAK,CAAmC;;IAOhD;;OAEG;IACH,OAAO,CAAC,eAAe;IAMvB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA6ChC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAynB7B;;OAEG;IACH,OAAO,CAAC,UAAU;IAUlB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAmBxB;;OAEG;IACH,OAAO,CAAC,gBAAgB,CAA4B;IAEpD,OAAO,CAAC,mBAAmB;IAO3B;;OAEG;IACH,OAAO,CAAC,QAAQ;IAIhB;;OAEG;IACH,gBAAgB,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE;IAU3E;;OAEG;IACH,oBAAoB,CAAC,SAAS,EAAE,WAAW,GAAG,MAAM,EAAE;IAKtD;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAQjD;;OAEG;IACH,WAAW,IAAI,YAAY,EAAE;IAQ7B;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,WAAW,GAAG,MAAM;IAI5C;;OAEG;IACH,iBAAiB,IAAI,MAAM;CAO5B;AAED,eAAe,iBAAiB,CAAC"}
|