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
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.Dashboard = void 0;
|
|
37
|
-
const react_1 = __importStar(require("react"));
|
|
38
|
-
const DashboardContext_1 = require("../../contexts/DashboardContext");
|
|
39
|
-
const DashboardHeader_1 = require("./DashboardHeader");
|
|
40
|
-
const MindMap_1 = require("../MindMap/MindMap");
|
|
41
|
-
const QualityMetrics_1 = require("../QualityMetrics/QualityMetrics");
|
|
42
|
-
const EventTimeline_1 = require("../EventTimeline/EventTimeline");
|
|
43
|
-
require("./Dashboard.css");
|
|
44
|
-
const TABS = [
|
|
45
|
-
{ id: 'overview', label: 'Overview', icon: '📊' },
|
|
46
|
-
{ id: 'mindmap', label: 'Mind Map', icon: '🗺️' },
|
|
47
|
-
{ id: 'metrics', label: 'Metrics', icon: '📈' },
|
|
48
|
-
{ id: 'timeline', label: 'Timeline', icon: '⏱️' },
|
|
49
|
-
];
|
|
50
|
-
const Dashboard = () => {
|
|
51
|
-
const { activeView, setActiveView, exportData, refreshData, filters } = (0, DashboardContext_1.useDashboard)();
|
|
52
|
-
// Keyboard shortcuts
|
|
53
|
-
(0, react_1.useEffect)(() => {
|
|
54
|
-
const handleKeyboard = (e) => {
|
|
55
|
-
if (e.ctrlKey || e.metaKey) {
|
|
56
|
-
switch (e.key) {
|
|
57
|
-
case 'e':
|
|
58
|
-
e.preventDefault();
|
|
59
|
-
exportData();
|
|
60
|
-
break;
|
|
61
|
-
case 'r':
|
|
62
|
-
e.preventDefault();
|
|
63
|
-
refreshData();
|
|
64
|
-
break;
|
|
65
|
-
case 'f':
|
|
66
|
-
e.preventDefault();
|
|
67
|
-
// Focus search input
|
|
68
|
-
const searchInput = document.querySelector('.search-input');
|
|
69
|
-
if (searchInput)
|
|
70
|
-
searchInput.focus();
|
|
71
|
-
break;
|
|
72
|
-
case '1':
|
|
73
|
-
e.preventDefault();
|
|
74
|
-
setActiveView('overview');
|
|
75
|
-
break;
|
|
76
|
-
case '2':
|
|
77
|
-
e.preventDefault();
|
|
78
|
-
setActiveView('mindmap');
|
|
79
|
-
break;
|
|
80
|
-
case '3':
|
|
81
|
-
e.preventDefault();
|
|
82
|
-
setActiveView('metrics');
|
|
83
|
-
break;
|
|
84
|
-
case '4':
|
|
85
|
-
e.preventDefault();
|
|
86
|
-
setActiveView('timeline');
|
|
87
|
-
break;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
};
|
|
91
|
-
window.addEventListener('keydown', handleKeyboard);
|
|
92
|
-
return () => window.removeEventListener('keydown', handleKeyboard);
|
|
93
|
-
}, [exportData, refreshData, setActiveView]);
|
|
94
|
-
const renderContent = () => {
|
|
95
|
-
switch (activeView) {
|
|
96
|
-
case 'overview':
|
|
97
|
-
return (react_1.default.createElement("div", { className: "overview-grid" },
|
|
98
|
-
react_1.default.createElement("div", { className: "overview-section" },
|
|
99
|
-
react_1.default.createElement("h2", null, "Key Metrics"),
|
|
100
|
-
react_1.default.createElement(QualityMetrics_1.QualityMetrics, { compact: true })),
|
|
101
|
-
react_1.default.createElement("div", { className: "overview-section" },
|
|
102
|
-
react_1.default.createElement("h2", null, "Recent Events"),
|
|
103
|
-
react_1.default.createElement(EventTimeline_1.EventTimeline, { compact: true, maxItems: 10 })),
|
|
104
|
-
react_1.default.createElement("div", { className: "overview-section full-width" },
|
|
105
|
-
react_1.default.createElement("h2", null, "Agent Network"),
|
|
106
|
-
react_1.default.createElement(MindMap_1.MindMap, { compact: true }))));
|
|
107
|
-
case 'mindmap':
|
|
108
|
-
return (react_1.default.createElement("div", { className: "full-view" },
|
|
109
|
-
react_1.default.createElement(MindMap_1.MindMap, null)));
|
|
110
|
-
case 'metrics':
|
|
111
|
-
return (react_1.default.createElement("div", { className: "full-view" },
|
|
112
|
-
react_1.default.createElement(QualityMetrics_1.QualityMetrics, null)));
|
|
113
|
-
case 'timeline':
|
|
114
|
-
return (react_1.default.createElement("div", { className: "full-view" },
|
|
115
|
-
react_1.default.createElement(EventTimeline_1.EventTimeline, null)));
|
|
116
|
-
default:
|
|
117
|
-
return null;
|
|
118
|
-
}
|
|
119
|
-
};
|
|
120
|
-
return (react_1.default.createElement("div", { className: "dashboard" },
|
|
121
|
-
react_1.default.createElement(DashboardHeader_1.DashboardHeader, null),
|
|
122
|
-
react_1.default.createElement("div", { className: "dashboard-tabs" }, TABS.map((tab) => (react_1.default.createElement("button", { key: tab.id, className: `tab-button ${activeView === tab.id ? 'active' : ''}`, onClick: () => setActiveView(tab.id) },
|
|
123
|
-
react_1.default.createElement("span", { className: "tab-icon" }, tab.icon),
|
|
124
|
-
react_1.default.createElement("span", { className: "tab-label" }, tab.label))))),
|
|
125
|
-
react_1.default.createElement("div", { className: "dashboard-content" }, renderContent()),
|
|
126
|
-
react_1.default.createElement("div", { className: "dashboard-footer" },
|
|
127
|
-
react_1.default.createElement("div", { className: "footer-info" },
|
|
128
|
-
react_1.default.createElement("span", null,
|
|
129
|
-
"Filters: ",
|
|
130
|
-
filters.sessionId ? '1 session' : 'All sessions',
|
|
131
|
-
" \u2022",
|
|
132
|
-
' ',
|
|
133
|
-
filters.agents.length > 0 ? `${filters.agents.length} agents` : 'All agents')),
|
|
134
|
-
react_1.default.createElement("div", { className: "footer-shortcuts" },
|
|
135
|
-
react_1.default.createElement("kbd", null, "Ctrl+E"),
|
|
136
|
-
" Export \u2022",
|
|
137
|
-
' ',
|
|
138
|
-
react_1.default.createElement("kbd", null, "Ctrl+R"),
|
|
139
|
-
" Refresh \u2022",
|
|
140
|
-
' ',
|
|
141
|
-
react_1.default.createElement("kbd", null, "Ctrl+F"),
|
|
142
|
-
" Search \u2022",
|
|
143
|
-
' ',
|
|
144
|
-
react_1.default.createElement("kbd", null, "Ctrl+1-4"),
|
|
145
|
-
" Switch View"))));
|
|
146
|
-
};
|
|
147
|
-
exports.Dashboard = Dashboard;
|
|
148
|
-
//# sourceMappingURL=Dashboard.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Dashboard.js","sourceRoot":"","sources":["../../../src/components/Dashboard/Dashboard.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAyC;AACzC,sEAA+D;AAC/D,uDAAoD;AACpD,gDAA6C;AAC7C,qEAAkE;AAClE,kEAA+D;AAC/D,2BAAyB;AAQzB,MAAM,IAAI,GAAgB;IACxB,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;IACjD,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;IACjD,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;IAC/C,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;CAClD,CAAC;AAEK,MAAM,SAAS,GAAa,GAAG,EAAE;IACtC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,IAAA,+BAAY,GAAE,CAAC;IAEvF,qBAAqB;IACrB,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,cAAc,GAAG,CAAC,CAAgB,EAAE,EAAE;YAC1C,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC3B,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;oBACd,KAAK,GAAG;wBACN,CAAC,CAAC,cAAc,EAAE,CAAC;wBACnB,UAAU,EAAE,CAAC;wBACb,MAAM;oBACR,KAAK,GAAG;wBACN,CAAC,CAAC,cAAc,EAAE,CAAC;wBACnB,WAAW,EAAE,CAAC;wBACd,MAAM;oBACR,KAAK,GAAG;wBACN,CAAC,CAAC,cAAc,EAAE,CAAC;wBACnB,qBAAqB;wBACrB,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAqB,CAAC;wBAChF,IAAI,WAAW;4BAAE,WAAW,CAAC,KAAK,EAAE,CAAC;wBACrC,MAAM;oBACR,KAAK,GAAG;wBACN,CAAC,CAAC,cAAc,EAAE,CAAC;wBACnB,aAAa,CAAC,UAAU,CAAC,CAAC;wBAC1B,MAAM;oBACR,KAAK,GAAG;wBACN,CAAC,CAAC,cAAc,EAAE,CAAC;wBACnB,aAAa,CAAC,SAAS,CAAC,CAAC;wBACzB,MAAM;oBACR,KAAK,GAAG;wBACN,CAAC,CAAC,cAAc,EAAE,CAAC;wBACnB,aAAa,CAAC,SAAS,CAAC,CAAC;wBACzB,MAAM;oBACR,KAAK,GAAG;wBACN,CAAC,CAAC,cAAc,EAAE,CAAC;wBACnB,aAAa,CAAC,UAAU,CAAC,CAAC;wBAC1B,MAAM;gBACV,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QACnD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IACrE,CAAC,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;IAE7C,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,UAAU;gBACb,OAAO,CACL,uCAAK,SAAS,EAAC,eAAe;oBAC5B,uCAAK,SAAS,EAAC,kBAAkB;wBAC/B,wDAAoB;wBACpB,8BAAC,+BAAc,IAAC,OAAO,SAAG,CACtB;oBACN,uCAAK,SAAS,EAAC,kBAAkB;wBAC/B,0DAAsB;wBACtB,8BAAC,6BAAa,IAAC,OAAO,QAAC,QAAQ,EAAE,EAAE,GAAI,CACnC;oBACN,uCAAK,SAAS,EAAC,6BAA6B;wBAC1C,0DAAsB;wBACtB,8BAAC,iBAAO,IAAC,OAAO,SAAG,CACf,CACF,CACP,CAAC;YAEJ,KAAK,SAAS;gBACZ,OAAO,CACL,uCAAK,SAAS,EAAC,WAAW;oBACxB,8BAAC,iBAAO,OAAG,CACP,CACP,CAAC;YAEJ,KAAK,SAAS;gBACZ,OAAO,CACL,uCAAK,SAAS,EAAC,WAAW;oBACxB,8BAAC,+BAAc,OAAG,CACd,CACP,CAAC;YAEJ,KAAK,UAAU;gBACb,OAAO,CACL,uCAAK,SAAS,EAAC,WAAW;oBACxB,8BAAC,6BAAa,OAAG,CACb,CACP,CAAC;YAEJ;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,uCAAK,SAAS,EAAC,WAAW;QACxB,8BAAC,iCAAe,OAAG;QAEnB,uCAAK,SAAS,EAAC,gBAAgB,IAC5B,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACjB,0CACE,GAAG,EAAE,GAAG,CAAC,EAAE,EACX,SAAS,EAAE,cAAc,UAAU,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAChE,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;YAEpC,wCAAM,SAAS,EAAC,UAAU,IAAE,GAAG,CAAC,IAAI,CAAQ;YAC5C,wCAAM,SAAS,EAAC,WAAW,IAAE,GAAG,CAAC,KAAK,CAAQ,CACvC,CACV,CAAC,CACE;QAEN,uCAAK,SAAS,EAAC,mBAAmB,IAC/B,aAAa,EAAE,CACZ;QAEN,uCAAK,SAAS,EAAC,kBAAkB;YAC/B,uCAAK,SAAS,EAAC,aAAa;gBAC1B;;oBACY,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc;;oBAAI,GAAG;oBAChE,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,YAAY,CACxE,CACH;YACN,uCAAK,SAAS,EAAC,kBAAkB;gBAC/B,oDAAiB;;gBAAU,GAAG;gBAC9B,oDAAiB;;gBAAW,GAAG;gBAC/B,oDAAiB;;gBAAU,GAAG;gBAC9B,sDAAmB;+BACf,CACF,CACF,CACP,CAAC;AACJ,CAAC,CAAC;AAjIW,QAAA,SAAS,aAiIpB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardHeader.d.ts","sourceRoot":"","sources":["../../../src/components/Dashboard/DashboardHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAEnD,OAAO,uBAAuB,CAAC;AAS/B,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAuNnC,CAAC"}
|
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.DashboardHeader = void 0;
|
|
37
|
-
const react_1 = __importStar(require("react"));
|
|
38
|
-
const DashboardContext_1 = require("../../contexts/DashboardContext");
|
|
39
|
-
require("./DashboardHeader.css");
|
|
40
|
-
const DashboardHeader = () => {
|
|
41
|
-
const { filters, updateFilters, resetFilters, wsConnected, exportData, refreshData, notifications, } = (0, DashboardContext_1.useDashboard)();
|
|
42
|
-
const [sessions, setSessions] = (0, react_1.useState)([]);
|
|
43
|
-
const [agents, setAgents] = (0, react_1.useState)([]);
|
|
44
|
-
const [showFilters, setShowFilters] = (0, react_1.useState)(false);
|
|
45
|
-
const [showNotifications, setShowNotifications] = (0, react_1.useState)(false);
|
|
46
|
-
// Mock data - in real app, fetch from API
|
|
47
|
-
(0, react_1.useEffect)(() => {
|
|
48
|
-
setSessions([
|
|
49
|
-
{ id: 'session-1', name: 'Test Run #1', startTime: new Date('2025-11-21T10:00:00') },
|
|
50
|
-
{ id: 'session-2', name: 'Test Run #2', startTime: new Date('2025-11-21T11:00:00') },
|
|
51
|
-
{ id: 'session-3', name: 'Test Run #3', startTime: new Date('2025-11-21T12:00:00') },
|
|
52
|
-
]);
|
|
53
|
-
setAgents(['test-generator', 'coverage-analyzer', 'performance-tester', 'security-scanner']);
|
|
54
|
-
}, []);
|
|
55
|
-
const unreadCount = notifications.filter((n) => !n.read).length;
|
|
56
|
-
const handleTimeRangeChange = (range) => {
|
|
57
|
-
const now = new Date();
|
|
58
|
-
let start = null;
|
|
59
|
-
switch (range) {
|
|
60
|
-
case 'today':
|
|
61
|
-
start = new Date(now.setHours(0, 0, 0, 0));
|
|
62
|
-
break;
|
|
63
|
-
case 'week':
|
|
64
|
-
start = new Date(now.setDate(now.getDate() - 7));
|
|
65
|
-
break;
|
|
66
|
-
case 'month':
|
|
67
|
-
start = new Date(now.setMonth(now.getMonth() - 1));
|
|
68
|
-
break;
|
|
69
|
-
}
|
|
70
|
-
updateFilters({
|
|
71
|
-
timeRange: { start, end: new Date() },
|
|
72
|
-
});
|
|
73
|
-
};
|
|
74
|
-
const toggleAgent = (agent) => {
|
|
75
|
-
const currentAgents = filters.agents;
|
|
76
|
-
const newAgents = currentAgents.includes(agent)
|
|
77
|
-
? currentAgents.filter((a) => a !== agent)
|
|
78
|
-
: [...currentAgents, agent];
|
|
79
|
-
updateFilters({ agents: newAgents });
|
|
80
|
-
};
|
|
81
|
-
return (react_1.default.createElement("header", { className: "dashboard-header" },
|
|
82
|
-
react_1.default.createElement("div", { className: "header-left" },
|
|
83
|
-
react_1.default.createElement("h1", null, "AQE Dashboard"),
|
|
84
|
-
react_1.default.createElement("div", { className: `ws-status ${wsConnected ? 'connected' : 'disconnected'}` },
|
|
85
|
-
react_1.default.createElement("span", { className: "status-indicator" }),
|
|
86
|
-
react_1.default.createElement("span", { className: "status-text" }, wsConnected ? 'Connected' : 'Disconnected'))),
|
|
87
|
-
react_1.default.createElement("div", { className: "header-center" },
|
|
88
|
-
react_1.default.createElement("div", { className: "filter-group" },
|
|
89
|
-
react_1.default.createElement("label", null, "Session:"),
|
|
90
|
-
react_1.default.createElement("select", { value: filters.sessionId || '', onChange: (e) => updateFilters({ sessionId: e.target.value || null }), className: "filter-select" },
|
|
91
|
-
react_1.default.createElement("option", { value: "" }, "All Sessions"),
|
|
92
|
-
sessions.map((session) => (react_1.default.createElement("option", { key: session.id, value: session.id }, session.name))))),
|
|
93
|
-
react_1.default.createElement("div", { className: "filter-group" },
|
|
94
|
-
react_1.default.createElement("label", null, "Time Range:"),
|
|
95
|
-
react_1.default.createElement("select", { onChange: (e) => handleTimeRangeChange(e.target.value), className: "filter-select" },
|
|
96
|
-
react_1.default.createElement("option", { value: "" }, "All Time"),
|
|
97
|
-
react_1.default.createElement("option", { value: "today" }, "Today"),
|
|
98
|
-
react_1.default.createElement("option", { value: "week" }, "Last 7 Days"),
|
|
99
|
-
react_1.default.createElement("option", { value: "month" }, "Last 30 Days"),
|
|
100
|
-
react_1.default.createElement("option", { value: "custom" }, "Custom Range"))),
|
|
101
|
-
react_1.default.createElement("button", { className: "filter-toggle-btn", onClick: () => setShowFilters(!showFilters), title: "Toggle Filters (Ctrl+F)" },
|
|
102
|
-
react_1.default.createElement("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "currentColor" },
|
|
103
|
-
react_1.default.createElement("path", { d: "M3 4h14M6 8h8M8 12h4M10 16h0", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" })),
|
|
104
|
-
"Filters")),
|
|
105
|
-
react_1.default.createElement("div", { className: "header-right" },
|
|
106
|
-
react_1.default.createElement("div", { className: "notification-container" },
|
|
107
|
-
react_1.default.createElement("button", { className: "notification-btn", onClick: () => setShowNotifications(!showNotifications) },
|
|
108
|
-
react_1.default.createElement("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "currentColor" },
|
|
109
|
-
react_1.default.createElement("path", { d: "M10 2a6 6 0 016 6v3.586l1.707 1.707A1 1 0 0117 15h-4a3 3 0 01-6 0H3a1 1 0 01-.707-1.707L4 11.586V8a6 6 0 016-6z" })),
|
|
110
|
-
unreadCount > 0 && react_1.default.createElement("span", { className: "notification-badge" }, unreadCount)),
|
|
111
|
-
showNotifications && (react_1.default.createElement("div", { className: "notification-dropdown" },
|
|
112
|
-
react_1.default.createElement("div", { className: "notification-header" },
|
|
113
|
-
react_1.default.createElement("h3", null, "Notifications"),
|
|
114
|
-
react_1.default.createElement("button", { onClick: () => setShowNotifications(false) }, "\u2715")),
|
|
115
|
-
react_1.default.createElement("div", { className: "notification-list" }, notifications.length === 0 ? (react_1.default.createElement("div", { className: "notification-empty" }, "No notifications")) : (notifications.slice(0, 10).map((notif) => (react_1.default.createElement("div", { key: notif.id, className: `notification-item ${notif.type} ${notif.read ? 'read' : 'unread'}` },
|
|
116
|
-
react_1.default.createElement("div", { className: "notification-content" },
|
|
117
|
-
react_1.default.createElement("strong", null, notif.title),
|
|
118
|
-
react_1.default.createElement("p", null, notif.message),
|
|
119
|
-
react_1.default.createElement("span", { className: "notification-time" }, notif.timestamp.toLocaleTimeString())))))))))),
|
|
120
|
-
react_1.default.createElement("button", { className: "action-btn", onClick: refreshData, title: "Refresh Data (Ctrl+R)" },
|
|
121
|
-
react_1.default.createElement("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "currentColor" },
|
|
122
|
-
react_1.default.createElement("path", { d: "M4 2a1 1 0 011 1v2.101a7.002 7.002 0 0111.601 2.566 1 1 0 11-1.885.666A5.002 5.002 0 005.999 7H9a1 1 0 010 2H4a1 1 0 01-1-1V3a1 1 0 011-1zm.008 9.057a1 1 0 011.276.61A5.002 5.002 0 0014.001 13H11a1 1 0 110-2h5a1 1 0 011 1v5a1 1 0 11-2 0v-2.101a7.002 7.002 0 01-11.601-2.566 1 1 0 01.61-1.276z" })),
|
|
123
|
-
"Refresh"),
|
|
124
|
-
react_1.default.createElement("button", { className: "action-btn", onClick: exportData, title: "Export Data (Ctrl+E)" },
|
|
125
|
-
react_1.default.createElement("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "currentColor" },
|
|
126
|
-
react_1.default.createElement("path", { d: "M3 17a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm3.293-7.707a1 1 0 011.414 0L9 10.586V3a1 1 0 112 0v7.586l1.293-1.293a1 1 0 111.414 1.414l-3 3a1 1 0 01-1.414 0l-3-3a1 1 0 010-1.414z" })),
|
|
127
|
-
"Export"),
|
|
128
|
-
react_1.default.createElement("button", { className: "action-btn secondary", onClick: resetFilters, title: "Reset Filters" }, "Reset")),
|
|
129
|
-
showFilters && (react_1.default.createElement("div", { className: "filters-panel" },
|
|
130
|
-
react_1.default.createElement("h3", null, "Agent Filter"),
|
|
131
|
-
react_1.default.createElement("div", { className: "agent-checkboxes" }, agents.map((agent) => (react_1.default.createElement("label", { key: agent, className: "agent-checkbox" },
|
|
132
|
-
react_1.default.createElement("input", { type: "checkbox", checked: filters.agents.includes(agent), onChange: () => toggleAgent(agent) }),
|
|
133
|
-
react_1.default.createElement("span", null, agent))))),
|
|
134
|
-
react_1.default.createElement("h3", null, "Search"),
|
|
135
|
-
react_1.default.createElement("input", { type: "text", placeholder: "Search events, metrics...", value: filters.searchTerm, onChange: (e) => updateFilters({ searchTerm: e.target.value }), className: "search-input" })))));
|
|
136
|
-
};
|
|
137
|
-
exports.DashboardHeader = DashboardHeader;
|
|
138
|
-
//# sourceMappingURL=DashboardHeader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardHeader.js","sourceRoot":"","sources":["../../../src/components/Dashboard/DashboardHeader.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { WebSocketClient } from '../services/websocket/WebSocketClient';
|
|
3
|
-
export interface DashboardFilters {
|
|
4
|
-
sessionId: string | null;
|
|
5
|
-
timeRange: {
|
|
6
|
-
start: Date | null;
|
|
7
|
-
end: Date | null;
|
|
8
|
-
};
|
|
9
|
-
agents: string[];
|
|
10
|
-
searchTerm: string;
|
|
11
|
-
}
|
|
12
|
-
export interface Notification {
|
|
13
|
-
id: string;
|
|
14
|
-
type: 'info' | 'success' | 'warning' | 'error';
|
|
15
|
-
title: string;
|
|
16
|
-
message: string;
|
|
17
|
-
timestamp: Date;
|
|
18
|
-
read: boolean;
|
|
19
|
-
}
|
|
20
|
-
interface DashboardContextValue {
|
|
21
|
-
filters: DashboardFilters;
|
|
22
|
-
updateFilters: (filters: Partial<DashboardFilters>) => void;
|
|
23
|
-
resetFilters: () => void;
|
|
24
|
-
wsClient: WebSocketClient | null;
|
|
25
|
-
wsConnected: boolean;
|
|
26
|
-
wsError: string | null;
|
|
27
|
-
notifications: Notification[];
|
|
28
|
-
addNotification: (notification: Omit<Notification, 'id' | 'timestamp' | 'read'>) => void;
|
|
29
|
-
markNotificationRead: (id: string) => void;
|
|
30
|
-
clearNotifications: () => void;
|
|
31
|
-
activeView: 'overview' | 'mindmap' | 'metrics' | 'timeline';
|
|
32
|
-
setActiveView: (view: 'overview' | 'mindmap' | 'metrics' | 'timeline') => void;
|
|
33
|
-
exportData: () => void;
|
|
34
|
-
refreshData: () => void;
|
|
35
|
-
}
|
|
36
|
-
export declare const DashboardProvider: React.FC<{
|
|
37
|
-
children: React.ReactNode;
|
|
38
|
-
}>;
|
|
39
|
-
export declare const useDashboard: () => DashboardContextValue;
|
|
40
|
-
export {};
|
|
41
|
-
//# sourceMappingURL=DashboardContext.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardContext.d.ts","sourceRoot":"","sources":["../../src/contexts/DashboardContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsE,MAAM,OAAO,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAExE,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE;QACT,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;QACnB,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC;KAClB,CAAC;IACF,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,UAAU,qBAAqB;IAE7B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,aAAa,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAC5D,YAAY,EAAE,MAAM,IAAI,CAAC;IAGzB,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAC;IACjC,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAGvB,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,eAAe,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,WAAW,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC;IACzF,oBAAoB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAG/B,UAAU,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;IAC5D,aAAa,EAAE,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,KAAK,IAAI,CAAC;IAG/E,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAcD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAqJrE,CAAC;AAEF,eAAO,MAAM,YAAY,QAAO,qBAM/B,CAAC"}
|
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.useDashboard = exports.DashboardProvider = void 0;
|
|
37
|
-
const react_1 = __importStar(require("react"));
|
|
38
|
-
const WebSocketClient_1 = require("../services/websocket/WebSocketClient");
|
|
39
|
-
const DashboardContext = (0, react_1.createContext)(undefined);
|
|
40
|
-
const DEFAULT_FILTERS = {
|
|
41
|
-
sessionId: null,
|
|
42
|
-
timeRange: {
|
|
43
|
-
start: null,
|
|
44
|
-
end: null,
|
|
45
|
-
},
|
|
46
|
-
agents: [],
|
|
47
|
-
searchTerm: '',
|
|
48
|
-
};
|
|
49
|
-
const DashboardProvider = ({ children }) => {
|
|
50
|
-
const [filters, setFilters] = (0, react_1.useState)(DEFAULT_FILTERS);
|
|
51
|
-
const [wsClient, setWsClient] = (0, react_1.useState)(null);
|
|
52
|
-
const [wsConnected, setWsConnected] = (0, react_1.useState)(false);
|
|
53
|
-
const [wsError, setWsError] = (0, react_1.useState)(null);
|
|
54
|
-
const [notifications, setNotifications] = (0, react_1.useState)([]);
|
|
55
|
-
const [activeView, setActiveView] = (0, react_1.useState)('overview');
|
|
56
|
-
// Initialize WebSocket connection
|
|
57
|
-
(0, react_1.useEffect)(() => {
|
|
58
|
-
const client = new WebSocketClient_1.WebSocketClient({
|
|
59
|
-
url: process.env.REACT_APP_WS_URL || 'ws://localhost:8081',
|
|
60
|
-
reconnectInterval: 3000,
|
|
61
|
-
maxReconnectAttempts: 5,
|
|
62
|
-
});
|
|
63
|
-
client.on('connect', () => {
|
|
64
|
-
setWsConnected(true);
|
|
65
|
-
setWsError(null);
|
|
66
|
-
addNotification({
|
|
67
|
-
type: 'success',
|
|
68
|
-
title: 'Connected',
|
|
69
|
-
message: 'WebSocket connection established',
|
|
70
|
-
});
|
|
71
|
-
});
|
|
72
|
-
client.on('disconnect', () => {
|
|
73
|
-
setWsConnected(false);
|
|
74
|
-
addNotification({
|
|
75
|
-
type: 'warning',
|
|
76
|
-
title: 'Disconnected',
|
|
77
|
-
message: 'WebSocket connection lost',
|
|
78
|
-
});
|
|
79
|
-
});
|
|
80
|
-
client.on('error', (error) => {
|
|
81
|
-
setWsError(error.message);
|
|
82
|
-
addNotification({
|
|
83
|
-
type: 'error',
|
|
84
|
-
title: 'Connection Error',
|
|
85
|
-
message: error.message,
|
|
86
|
-
});
|
|
87
|
-
});
|
|
88
|
-
client.on('event', (event) => {
|
|
89
|
-
// Notify on important events
|
|
90
|
-
if (event.metadata?.severity === 'high' || event.metadata?.quality_gate_failed) {
|
|
91
|
-
addNotification({
|
|
92
|
-
type: event.metadata.quality_gate_failed ? 'error' : 'warning',
|
|
93
|
-
title: `Event: ${event.type}`,
|
|
94
|
-
message: event.metadata.quality_gate_failed
|
|
95
|
-
? `Quality gate violation: ${event.metadata.quality_gate_name}`
|
|
96
|
-
: event.description || 'New event received',
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
});
|
|
100
|
-
client.connect();
|
|
101
|
-
setWsClient(client);
|
|
102
|
-
return () => {
|
|
103
|
-
client.disconnect();
|
|
104
|
-
};
|
|
105
|
-
}, []);
|
|
106
|
-
const updateFilters = (0, react_1.useCallback)((newFilters) => {
|
|
107
|
-
setFilters((prev) => ({ ...prev, ...newFilters }));
|
|
108
|
-
}, []);
|
|
109
|
-
const resetFilters = (0, react_1.useCallback)(() => {
|
|
110
|
-
setFilters(DEFAULT_FILTERS);
|
|
111
|
-
}, []);
|
|
112
|
-
const addNotification = (0, react_1.useCallback)((notification) => {
|
|
113
|
-
const newNotification = {
|
|
114
|
-
...notification,
|
|
115
|
-
id: `notif-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,
|
|
116
|
-
timestamp: new Date(),
|
|
117
|
-
read: false,
|
|
118
|
-
};
|
|
119
|
-
setNotifications((prev) => [newNotification, ...prev].slice(0, 50)); // Keep last 50
|
|
120
|
-
}, []);
|
|
121
|
-
const markNotificationRead = (0, react_1.useCallback)((id) => {
|
|
122
|
-
setNotifications((prev) => prev.map((notif) => (notif.id === id ? { ...notif, read: true } : notif)));
|
|
123
|
-
}, []);
|
|
124
|
-
const clearNotifications = (0, react_1.useCallback)(() => {
|
|
125
|
-
setNotifications([]);
|
|
126
|
-
}, []);
|
|
127
|
-
const exportData = (0, react_1.useCallback)(() => {
|
|
128
|
-
// Export all data to JSON
|
|
129
|
-
const data = {
|
|
130
|
-
filters,
|
|
131
|
-
notifications,
|
|
132
|
-
timestamp: new Date().toISOString(),
|
|
133
|
-
};
|
|
134
|
-
const blob = new Blob([JSON.stringify(data, null, 2)], { type: 'application/json' });
|
|
135
|
-
const url = URL.createObjectURL(blob);
|
|
136
|
-
const a = document.createElement('a');
|
|
137
|
-
a.href = url;
|
|
138
|
-
a.download = `dashboard-export-${new Date().toISOString()}.json`;
|
|
139
|
-
document.body.appendChild(a);
|
|
140
|
-
a.click();
|
|
141
|
-
document.body.removeChild(a);
|
|
142
|
-
URL.revokeObjectURL(url);
|
|
143
|
-
addNotification({
|
|
144
|
-
type: 'success',
|
|
145
|
-
title: 'Export Complete',
|
|
146
|
-
message: 'Dashboard data exported successfully',
|
|
147
|
-
});
|
|
148
|
-
}, [filters, notifications, addNotification]);
|
|
149
|
-
const refreshData = (0, react_1.useCallback)(() => {
|
|
150
|
-
// Trigger refresh event
|
|
151
|
-
if (wsClient && wsConnected) {
|
|
152
|
-
wsClient.send({ type: 'refresh', timestamp: new Date().toISOString() });
|
|
153
|
-
}
|
|
154
|
-
addNotification({
|
|
155
|
-
type: 'info',
|
|
156
|
-
title: 'Refreshing',
|
|
157
|
-
message: 'Data refresh requested',
|
|
158
|
-
});
|
|
159
|
-
}, [wsClient, wsConnected, addNotification]);
|
|
160
|
-
const value = {
|
|
161
|
-
filters,
|
|
162
|
-
updateFilters,
|
|
163
|
-
resetFilters,
|
|
164
|
-
wsClient,
|
|
165
|
-
wsConnected,
|
|
166
|
-
wsError,
|
|
167
|
-
notifications,
|
|
168
|
-
addNotification,
|
|
169
|
-
markNotificationRead,
|
|
170
|
-
clearNotifications,
|
|
171
|
-
activeView,
|
|
172
|
-
setActiveView,
|
|
173
|
-
exportData,
|
|
174
|
-
refreshData,
|
|
175
|
-
};
|
|
176
|
-
return react_1.default.createElement(DashboardContext.Provider, { value: value }, children);
|
|
177
|
-
};
|
|
178
|
-
exports.DashboardProvider = DashboardProvider;
|
|
179
|
-
const useDashboard = () => {
|
|
180
|
-
const context = (0, react_1.useContext)(DashboardContext);
|
|
181
|
-
if (context === undefined) {
|
|
182
|
-
throw new Error('useDashboard must be used within a DashboardProvider');
|
|
183
|
-
}
|
|
184
|
-
return context;
|
|
185
|
-
};
|
|
186
|
-
exports.useDashboard = useDashboard;
|
|
187
|
-
//# sourceMappingURL=DashboardContext.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardContext.js","sourceRoot":"","sources":["../../src/contexts/DashboardContext.tsx"],"names":[],"mappings":"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"}
|