agentic-qe 2.3.3 → 2.3.5
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 +122 -0
- package/README.md +1 -1
- package/dist/agents/ApiContractValidatorAgent.d.ts +5 -0
- package/dist/agents/ApiContractValidatorAgent.d.ts.map +1 -1
- package/dist/agents/ApiContractValidatorAgent.js +41 -0
- package/dist/agents/ApiContractValidatorAgent.js.map +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/CodeComplexityAnalyzerAgent.d.ts +5 -0
- package/dist/agents/CodeComplexityAnalyzerAgent.d.ts.map +1 -1
- package/dist/agents/CodeComplexityAnalyzerAgent.js +47 -0
- package/dist/agents/CodeComplexityAnalyzerAgent.js.map +1 -1
- package/dist/agents/CoverageAnalyzerAgent.d.ts +26 -0
- package/dist/agents/CoverageAnalyzerAgent.d.ts.map +1 -1
- package/dist/agents/CoverageAnalyzerAgent.js +149 -1
- package/dist/agents/CoverageAnalyzerAgent.js.map +1 -1
- package/dist/agents/DeploymentReadinessAgent.d.ts +5 -0
- package/dist/agents/DeploymentReadinessAgent.d.ts.map +1 -1
- package/dist/agents/DeploymentReadinessAgent.js +41 -0
- package/dist/agents/DeploymentReadinessAgent.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 +40 -0
- package/dist/agents/FlakyTestHunterAgent.js.map +1 -1
- package/dist/agents/FleetCommanderAgent.d.ts +5 -0
- package/dist/agents/FleetCommanderAgent.d.ts.map +1 -1
- package/dist/agents/FleetCommanderAgent.js +51 -0
- package/dist/agents/FleetCommanderAgent.js.map +1 -1
- package/dist/agents/PerformanceTesterAgent.d.ts +5 -0
- package/dist/agents/PerformanceTesterAgent.d.ts.map +1 -1
- package/dist/agents/PerformanceTesterAgent.js +44 -0
- package/dist/agents/PerformanceTesterAgent.js.map +1 -1
- package/dist/agents/ProductionIntelligenceAgent.d.ts +5 -0
- package/dist/agents/ProductionIntelligenceAgent.d.ts.map +1 -1
- package/dist/agents/ProductionIntelligenceAgent.js +46 -0
- package/dist/agents/ProductionIntelligenceAgent.js.map +1 -1
- package/dist/agents/QXPartnerAgent.js +52 -0
- package/dist/agents/QXPartnerAgent.js.map +1 -1
- package/dist/agents/QualityAnalyzerAgent.d.ts +5 -0
- package/dist/agents/QualityAnalyzerAgent.d.ts.map +1 -1
- package/dist/agents/QualityAnalyzerAgent.js +45 -0
- package/dist/agents/QualityAnalyzerAgent.js.map +1 -1
- package/dist/agents/QualityGateAgent.d.ts +40 -0
- package/dist/agents/QualityGateAgent.d.ts.map +1 -1
- package/dist/agents/QualityGateAgent.js +227 -1
- package/dist/agents/QualityGateAgent.js.map +1 -1
- package/dist/agents/RegressionRiskAnalyzerAgent.d.ts +5 -0
- package/dist/agents/RegressionRiskAnalyzerAgent.d.ts.map +1 -1
- package/dist/agents/RegressionRiskAnalyzerAgent.js +46 -0
- package/dist/agents/RegressionRiskAnalyzerAgent.js.map +1 -1
- package/dist/agents/RequirementsValidatorAgent.d.ts +5 -0
- package/dist/agents/RequirementsValidatorAgent.d.ts.map +1 -1
- package/dist/agents/RequirementsValidatorAgent.js +42 -0
- package/dist/agents/RequirementsValidatorAgent.js.map +1 -1
- package/dist/agents/SecurityScannerAgent.d.ts +5 -0
- package/dist/agents/SecurityScannerAgent.d.ts.map +1 -1
- package/dist/agents/SecurityScannerAgent.js +39 -0
- package/dist/agents/SecurityScannerAgent.js.map +1 -1
- package/dist/agents/TestDataArchitectAgent.d.ts +5 -0
- package/dist/agents/TestDataArchitectAgent.d.ts.map +1 -1
- package/dist/agents/TestDataArchitectAgent.js +46 -0
- package/dist/agents/TestDataArchitectAgent.js.map +1 -1
- package/dist/agents/TestExecutorAgent.d.ts +5 -0
- package/dist/agents/TestExecutorAgent.d.ts.map +1 -1
- package/dist/agents/TestExecutorAgent.js +48 -0
- package/dist/agents/TestExecutorAgent.js.map +1 -1
- package/dist/agents/TestGeneratorAgent.d.ts +5 -0
- package/dist/agents/TestGeneratorAgent.d.ts.map +1 -1
- package/dist/agents/TestGeneratorAgent.js +36 -0
- package/dist/agents/TestGeneratorAgent.js.map +1 -1
- package/dist/agents/lifecycle/AgentLifecycleManager.d.ts.map +1 -1
- package/dist/agents/lifecycle/AgentLifecycleManager.js +5 -2
- package/dist/agents/lifecycle/AgentLifecycleManager.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 +224 -3
- package/dist/cli/index.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/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/ExperienceExtractor.d.ts +219 -0
- package/dist/learning/capture/ExperienceExtractor.d.ts.map +1 -0
- package/dist/learning/capture/ExperienceExtractor.js +536 -0
- package/dist/learning/capture/ExperienceExtractor.js.map +1 -0
- package/dist/learning/capture/ExperienceStore.d.ts +196 -0
- package/dist/learning/capture/ExperienceStore.d.ts.map +1 -0
- package/dist/learning/capture/ExperienceStore.js +453 -0
- package/dist/learning/capture/ExperienceStore.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 +133 -0
- package/dist/learning/scheduler/SleepScheduler.d.ts.map +1 -0
- package/dist/learning/scheduler/SleepScheduler.js +301 -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/ClusteringEngine.d.ts +122 -0
- package/dist/learning/synthesis/ClusteringEngine.d.ts.map +1 -0
- package/dist/learning/synthesis/ClusteringEngine.js +356 -0
- package/dist/learning/synthesis/ClusteringEngine.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/TransferRegistry.d.ts +245 -0
- package/dist/learning/transfer/TransferRegistry.d.ts.map +1 -0
- package/dist/learning/transfer/TransferRegistry.js +410 -0
- package/dist/learning/transfer/TransferRegistry.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/task-orchestrate.d.ts +11 -0
- package/dist/mcp/handlers/task-orchestrate.d.ts.map +1 -1
- package/dist/mcp/handlers/task-orchestrate.js +297 -4
- package/dist/mcp/handlers/task-orchestrate.js.map +1 -1
- 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/dist/mcp/services/AgentRegistry.d.ts +6 -1
- package/dist/mcp/services/AgentRegistry.d.ts.map +1 -1
- package/dist/mcp/services/AgentRegistry.js +34 -3
- package/dist/mcp/services/AgentRegistry.js.map +1 -1
- package/package.json +5 -2
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Experience Capture Module
|
|
4
|
+
*
|
|
5
|
+
* Provides experience capture infrastructure for the Nightly-Learner system:
|
|
6
|
+
* - ExperienceCapture: Store agent execution experiences
|
|
7
|
+
* - ExecutionRecorder: Hook into agent execution pipeline
|
|
8
|
+
*
|
|
9
|
+
* @module src/learning/capture
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ExecutionRecorder = exports.ExperienceCapture = void 0;
|
|
13
|
+
var ExperienceCapture_1 = require("./ExperienceCapture");
|
|
14
|
+
Object.defineProperty(exports, "ExperienceCapture", { enumerable: true, get: function () { return ExperienceCapture_1.ExperienceCapture; } });
|
|
15
|
+
var ExecutionRecorder_1 = require("./ExecutionRecorder");
|
|
16
|
+
Object.defineProperty(exports, "ExecutionRecorder", { enumerable: true, get: function () { return ExecutionRecorder_1.ExecutionRecorder; } });
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/learning/capture/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH,yDAM6B;AAL3B,sHAAA,iBAAiB,OAAA;AAOnB,yDAI6B;AAH3B,sHAAA,iBAAiB,OAAA"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MetricsDashboard - Phase 3 Dashboard Utilities
|
|
3
|
+
*
|
|
4
|
+
* Provides utilities for displaying metrics in CLI dashboard format.
|
|
5
|
+
*/
|
|
6
|
+
import { AggregatedMetrics } from '../metrics/MetricsCollector';
|
|
7
|
+
import { TrendAnalysis } from '../metrics/TrendAnalyzer';
|
|
8
|
+
import { Alert } from '../metrics/AlertManager';
|
|
9
|
+
/**
|
|
10
|
+
* Dashboard display options
|
|
11
|
+
*/
|
|
12
|
+
export interface DashboardOptions {
|
|
13
|
+
detailed?: boolean;
|
|
14
|
+
format?: 'table' | 'json';
|
|
15
|
+
showTrends?: boolean;
|
|
16
|
+
showAlerts?: boolean;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* MetricsDashboard - Formats and displays learning metrics
|
|
20
|
+
*/
|
|
21
|
+
export declare class MetricsDashboard {
|
|
22
|
+
/**
|
|
23
|
+
* Display complete metrics dashboard
|
|
24
|
+
*/
|
|
25
|
+
static displayMetrics(metrics: AggregatedMetrics, options?: DashboardOptions): void;
|
|
26
|
+
/**
|
|
27
|
+
* Display trend analysis
|
|
28
|
+
*/
|
|
29
|
+
static displayTrends(trends: TrendAnalysis[], options?: DashboardOptions): void;
|
|
30
|
+
/**
|
|
31
|
+
* Display alerts
|
|
32
|
+
*/
|
|
33
|
+
static displayAlerts(alerts: Alert[], options?: DashboardOptions): void;
|
|
34
|
+
/**
|
|
35
|
+
* Display a metrics section
|
|
36
|
+
*/
|
|
37
|
+
private static displaySection;
|
|
38
|
+
/**
|
|
39
|
+
* Display trend section
|
|
40
|
+
*/
|
|
41
|
+
private static displayTrendSection;
|
|
42
|
+
/**
|
|
43
|
+
* Format percentage
|
|
44
|
+
*/
|
|
45
|
+
private static formatPercentage;
|
|
46
|
+
/**
|
|
47
|
+
* Get color for trend direction
|
|
48
|
+
*/
|
|
49
|
+
private static getTrendColor;
|
|
50
|
+
/**
|
|
51
|
+
* Get color for alert severity
|
|
52
|
+
*/
|
|
53
|
+
private static getAlertColor;
|
|
54
|
+
/**
|
|
55
|
+
* Format metric name for display
|
|
56
|
+
*/
|
|
57
|
+
private static formatMetricName;
|
|
58
|
+
/**
|
|
59
|
+
* Create summary table
|
|
60
|
+
*/
|
|
61
|
+
static createSummaryTable(metrics: AggregatedMetrics): string;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=MetricsDashboard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MetricsDashboard.d.ts","sourceRoot":"","sources":["../../../src/learning/dashboard/MetricsDashboard.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAkB,aAAa,EAAiB,MAAM,0BAA0B,CAAC;AACxF,OAAO,EAAE,KAAK,EAA+B,MAAM,yBAAyB,CAAC;AAE7E;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,iBAAiB,EAAE,OAAO,GAAE,gBAAqB,GAAG,IAAI;IAoDvF;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,OAAO,GAAE,gBAAqB,GAAG,IAAI;IAwBnF;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,GAAE,gBAAqB,GAAG,IAAI;IA0B3E;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAU7B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAoBlC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAgB/B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAW5B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAW5B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAO/B;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM;CA2C9D"}
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* MetricsDashboard - Phase 3 Dashboard Utilities
|
|
4
|
+
*
|
|
5
|
+
* Provides utilities for displaying metrics in CLI dashboard format.
|
|
6
|
+
*/
|
|
7
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
8
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
9
|
+
};
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.MetricsDashboard = void 0;
|
|
12
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
13
|
+
const TrendAnalyzer_1 = require("../metrics/TrendAnalyzer");
|
|
14
|
+
const AlertManager_1 = require("../metrics/AlertManager");
|
|
15
|
+
/**
|
|
16
|
+
* MetricsDashboard - Formats and displays learning metrics
|
|
17
|
+
*/
|
|
18
|
+
class MetricsDashboard {
|
|
19
|
+
/**
|
|
20
|
+
* Display complete metrics dashboard
|
|
21
|
+
*/
|
|
22
|
+
static displayMetrics(metrics, options = {}) {
|
|
23
|
+
if (options.format === 'json') {
|
|
24
|
+
console.log(JSON.stringify(metrics, null, 2));
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const periodDays = Math.round((metrics.period.end.getTime() - metrics.period.start.getTime()) / (1000 * 60 * 60 * 24));
|
|
28
|
+
console.log(chalk_1.default.blue(`\n📊 Learning Metrics (Last ${periodDays} Days)\n`));
|
|
29
|
+
// Discovery Metrics
|
|
30
|
+
this.displaySection('🔍 Discovery Metrics', {
|
|
31
|
+
'Patterns Discovered': metrics.discovery.patternsDiscovered.toString(),
|
|
32
|
+
'Discovery Rate': `${metrics.discovery.discoveryRate.toFixed(2)} patterns/day`,
|
|
33
|
+
'Unique Patterns': metrics.discovery.uniquePatterns.toString()
|
|
34
|
+
});
|
|
35
|
+
// Quality Metrics
|
|
36
|
+
this.displaySection('✨ Quality Metrics', {
|
|
37
|
+
'Avg Accuracy': this.formatPercentage(metrics.quality.avgAccuracy),
|
|
38
|
+
'Avg Actionability': this.formatPercentage(metrics.quality.avgActionability),
|
|
39
|
+
'High Confidence Rate': this.formatPercentage(metrics.quality.highConfidenceRate)
|
|
40
|
+
});
|
|
41
|
+
// Transfer Metrics
|
|
42
|
+
this.displaySection('📤 Transfer Metrics', {
|
|
43
|
+
'Success Rate': this.formatPercentage(metrics.transfer.successRate),
|
|
44
|
+
'Adoption Rate': this.formatPercentage(metrics.transfer.adoptionRate),
|
|
45
|
+
'Transfers Attempted': metrics.transfer.transfersAttempted.toString(),
|
|
46
|
+
'Transfers Succeeded': metrics.transfer.transfersSucceeded.toString()
|
|
47
|
+
});
|
|
48
|
+
// Impact Metrics
|
|
49
|
+
this.displaySection('💥 Impact Metrics', {
|
|
50
|
+
'Avg Time Reduction': this.formatPercentage(metrics.impact.avgTimeReduction / 100),
|
|
51
|
+
'Avg Coverage Improvement': this.formatPercentage(metrics.impact.avgCoverageImprovement / 100),
|
|
52
|
+
'Tasks Optimized': metrics.impact.tasksOptimized.toString()
|
|
53
|
+
});
|
|
54
|
+
// System Health
|
|
55
|
+
this.displaySection('🏥 System Health', {
|
|
56
|
+
'Cycle Completion Rate': this.formatPercentage(metrics.system.cycleCompletionRate),
|
|
57
|
+
'Avg Cycle Duration': `${(metrics.system.avgCycleDuration / 1000).toFixed(1)}s`,
|
|
58
|
+
'Error Rate': this.formatPercentage(metrics.system.errorRate, true),
|
|
59
|
+
'Uptime': this.formatPercentage(metrics.system.uptime)
|
|
60
|
+
});
|
|
61
|
+
console.log();
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Display trend analysis
|
|
65
|
+
*/
|
|
66
|
+
static displayTrends(trends, options = {}) {
|
|
67
|
+
if (options.format === 'json') {
|
|
68
|
+
console.log(JSON.stringify(trends, null, 2));
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
console.log(chalk_1.default.blue('\n📈 Trend Analysis\n'));
|
|
72
|
+
// Group by category
|
|
73
|
+
const discovery = trends.filter(t => ['patternsDiscovered', 'discoveryRate'].includes(t.metric));
|
|
74
|
+
const quality = trends.filter(t => ['avgAccuracy', 'avgActionability'].includes(t.metric));
|
|
75
|
+
const transfer = trends.filter(t => t.metric === 'transferSuccessRate');
|
|
76
|
+
const impact = trends.filter(t => ['avgTimeReduction', 'avgCoverageImprovement'].includes(t.metric));
|
|
77
|
+
const system = trends.filter(t => ['cycleCompletionRate', 'errorRate'].includes(t.metric));
|
|
78
|
+
if (discovery.length > 0)
|
|
79
|
+
this.displayTrendSection('🔍 Discovery', discovery);
|
|
80
|
+
if (quality.length > 0)
|
|
81
|
+
this.displayTrendSection('✨ Quality', quality);
|
|
82
|
+
if (transfer.length > 0)
|
|
83
|
+
this.displayTrendSection('📤 Transfer', transfer);
|
|
84
|
+
if (impact.length > 0)
|
|
85
|
+
this.displayTrendSection('💥 Impact', impact);
|
|
86
|
+
if (system.length > 0)
|
|
87
|
+
this.displayTrendSection('🏥 System', system);
|
|
88
|
+
console.log();
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Display alerts
|
|
92
|
+
*/
|
|
93
|
+
static displayAlerts(alerts, options = {}) {
|
|
94
|
+
if (options.format === 'json') {
|
|
95
|
+
console.log(JSON.stringify(alerts, null, 2));
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
console.log(chalk_1.default.blue('\n🚨 Active Alerts\n'));
|
|
99
|
+
if (alerts.length === 0) {
|
|
100
|
+
console.log(chalk_1.default.green('✅ No active alerts\n'));
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
alerts.forEach((alert, index) => {
|
|
104
|
+
const prefix = index === alerts.length - 1 ? '└─' : '├─';
|
|
105
|
+
const icon = AlertManager_1.AlertManager.getAlertIcon(alert.severity);
|
|
106
|
+
const severityColor = this.getAlertColor(alert.severity);
|
|
107
|
+
console.log(`${prefix} ${icon} ${severityColor(alert.message)}`);
|
|
108
|
+
console.log(` ${chalk_1.default.gray(`ID: ${alert.id}`)}`);
|
|
109
|
+
console.log(` ${chalk_1.default.gray(`Current: ${this.formatPercentage(alert.currentValue)} | Threshold: ${this.formatPercentage(alert.threshold)}`)}`);
|
|
110
|
+
console.log(` ${chalk_1.default.gray(`Created: ${alert.createdAt.toLocaleString()}`)}`);
|
|
111
|
+
console.log();
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Display a metrics section
|
|
116
|
+
*/
|
|
117
|
+
static displaySection(title, metrics) {
|
|
118
|
+
console.log(chalk_1.default.cyan(title));
|
|
119
|
+
const entries = Object.entries(metrics);
|
|
120
|
+
entries.forEach(([key, value], index) => {
|
|
121
|
+
const prefix = index === entries.length - 1 ? '└─' : '├─';
|
|
122
|
+
console.log(`${prefix} ${key}: ${chalk_1.default.yellow(value)}`);
|
|
123
|
+
});
|
|
124
|
+
console.log();
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Display trend section
|
|
128
|
+
*/
|
|
129
|
+
static displayTrendSection(title, trends) {
|
|
130
|
+
console.log(chalk_1.default.cyan(title));
|
|
131
|
+
trends.forEach((trend, index) => {
|
|
132
|
+
const prefix = index === trends.length - 1 ? '└─' : '├─';
|
|
133
|
+
const indicator = TrendAnalyzer_1.TrendAnalyzer.getTrendIndicator(trend.direction);
|
|
134
|
+
const directionColor = this.getTrendColor(trend.direction);
|
|
135
|
+
const metricName = this.formatMetricName(trend.metric);
|
|
136
|
+
const change = trend.changePercentage >= 0
|
|
137
|
+
? `+${trend.changePercentage.toFixed(1)}%`
|
|
138
|
+
: `${trend.changePercentage.toFixed(1)}%`;
|
|
139
|
+
console.log(`${prefix} ${metricName}: ${directionColor(indicator)} ${directionColor(change)} ` +
|
|
140
|
+
chalk_1.default.gray(`(confidence: ${(trend.confidence * 100).toFixed(0)}%)`));
|
|
141
|
+
});
|
|
142
|
+
console.log();
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Format percentage
|
|
146
|
+
*/
|
|
147
|
+
static formatPercentage(value, isError = false) {
|
|
148
|
+
const percentage = (value * 100).toFixed(1) + '%';
|
|
149
|
+
if (isError) {
|
|
150
|
+
// For error rates, lower is better
|
|
151
|
+
if (value < 0.05)
|
|
152
|
+
return chalk_1.default.green(percentage);
|
|
153
|
+
if (value < 0.15)
|
|
154
|
+
return chalk_1.default.yellow(percentage);
|
|
155
|
+
return chalk_1.default.red(percentage);
|
|
156
|
+
}
|
|
157
|
+
// For normal metrics, higher is better
|
|
158
|
+
if (value > 0.8)
|
|
159
|
+
return chalk_1.default.green(percentage);
|
|
160
|
+
if (value > 0.6)
|
|
161
|
+
return chalk_1.default.yellow(percentage);
|
|
162
|
+
return chalk_1.default.red(percentage);
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Get color for trend direction
|
|
166
|
+
*/
|
|
167
|
+
static getTrendColor(direction) {
|
|
168
|
+
switch (direction) {
|
|
169
|
+
case TrendAnalyzer_1.TrendDirection.IMPROVING:
|
|
170
|
+
return chalk_1.default.green;
|
|
171
|
+
case TrendAnalyzer_1.TrendDirection.STABLE:
|
|
172
|
+
return chalk_1.default.yellow;
|
|
173
|
+
case TrendAnalyzer_1.TrendDirection.DECLINING:
|
|
174
|
+
return chalk_1.default.red;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Get color for alert severity
|
|
179
|
+
*/
|
|
180
|
+
static getAlertColor(severity) {
|
|
181
|
+
switch (severity) {
|
|
182
|
+
case AlertManager_1.AlertSeverity.ERROR:
|
|
183
|
+
return chalk_1.default.red;
|
|
184
|
+
case AlertManager_1.AlertSeverity.WARNING:
|
|
185
|
+
return chalk_1.default.yellow;
|
|
186
|
+
case AlertManager_1.AlertSeverity.INFO:
|
|
187
|
+
return chalk_1.default.blue;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Format metric name for display
|
|
192
|
+
*/
|
|
193
|
+
static formatMetricName(metric) {
|
|
194
|
+
return metric
|
|
195
|
+
.replace(/([A-Z])/g, ' $1')
|
|
196
|
+
.replace(/^./, str => str.toUpperCase())
|
|
197
|
+
.trim();
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Create summary table
|
|
201
|
+
*/
|
|
202
|
+
static createSummaryTable(metrics) {
|
|
203
|
+
const table = [];
|
|
204
|
+
table.push(chalk_1.default.cyan('Category'.padEnd(20)) + chalk_1.default.cyan('Key Metric'.padEnd(30)) + chalk_1.default.cyan('Value'));
|
|
205
|
+
table.push('─'.repeat(70));
|
|
206
|
+
// Discovery
|
|
207
|
+
table.push('Discovery'.padEnd(20) +
|
|
208
|
+
'Discovery Rate'.padEnd(30) +
|
|
209
|
+
chalk_1.default.yellow(`${metrics.discovery.discoveryRate.toFixed(2)} patterns/day`));
|
|
210
|
+
// Quality
|
|
211
|
+
table.push('Quality'.padEnd(20) +
|
|
212
|
+
'Avg Accuracy'.padEnd(30) +
|
|
213
|
+
this.formatPercentage(metrics.quality.avgAccuracy));
|
|
214
|
+
// Transfer
|
|
215
|
+
table.push('Transfer'.padEnd(20) +
|
|
216
|
+
'Success Rate'.padEnd(30) +
|
|
217
|
+
this.formatPercentage(metrics.transfer.successRate));
|
|
218
|
+
// Impact
|
|
219
|
+
table.push('Impact'.padEnd(20) +
|
|
220
|
+
'Avg Time Reduction'.padEnd(30) +
|
|
221
|
+
this.formatPercentage(metrics.impact.avgTimeReduction / 100));
|
|
222
|
+
// System
|
|
223
|
+
table.push('System'.padEnd(20) +
|
|
224
|
+
'Cycle Completion'.padEnd(30) +
|
|
225
|
+
this.formatPercentage(metrics.system.cycleCompletionRate));
|
|
226
|
+
return table.join('\n');
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
exports.MetricsDashboard = MetricsDashboard;
|
|
230
|
+
//# sourceMappingURL=MetricsDashboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MetricsDashboard.js","sourceRoot":"","sources":["../../../src/learning/dashboard/MetricsDashboard.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/learning/dashboard/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Learning Dashboard - Phase 3
|
|
4
|
+
*
|
|
5
|
+
* Exports dashboard utilities for metrics visualization.
|
|
6
|
+
*/
|
|
7
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
+
if (k2 === undefined) k2 = k;
|
|
9
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
+
}
|
|
13
|
+
Object.defineProperty(o, k2, desc);
|
|
14
|
+
}) : (function(o, m, k, k2) {
|
|
15
|
+
if (k2 === undefined) k2 = k;
|
|
16
|
+
o[k2] = m[k];
|
|
17
|
+
}));
|
|
18
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
19
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
__exportStar(require("./MetricsDashboard"), exports);
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/learning/dashboard/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;AAEH,qDAAmC"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ConceptGraph - Graph-based concept storage for Dream Engine
|
|
3
|
+
*
|
|
4
|
+
* Stores concepts (patterns, techniques, domains, outcomes) as nodes
|
|
5
|
+
* with weighted edges representing associations between them.
|
|
6
|
+
*
|
|
7
|
+
* Part of the Nightly-Learner Phase 2 implementation.
|
|
8
|
+
*
|
|
9
|
+
* @version 1.0.0
|
|
10
|
+
* @module src/learning/dream/ConceptGraph
|
|
11
|
+
*/
|
|
12
|
+
import { EventEmitter } from 'events';
|
|
13
|
+
export type ConceptType = 'pattern' | 'technique' | 'domain' | 'outcome' | 'error';
|
|
14
|
+
export type EdgeType = 'similarity' | 'causation' | 'co_occurrence' | 'sequence' | 'uses_pattern' | 'made_decision' | 'encountered_error';
|
|
15
|
+
export interface ConceptNode {
|
|
16
|
+
id: string;
|
|
17
|
+
type: ConceptType;
|
|
18
|
+
content: string;
|
|
19
|
+
embedding?: number[];
|
|
20
|
+
activationLevel: number;
|
|
21
|
+
lastActivated: Date;
|
|
22
|
+
metadata: Record<string, unknown>;
|
|
23
|
+
}
|
|
24
|
+
export interface ConceptEdge {
|
|
25
|
+
id: string;
|
|
26
|
+
source: string;
|
|
27
|
+
target: string;
|
|
28
|
+
weight: number;
|
|
29
|
+
type: EdgeType;
|
|
30
|
+
evidence: number;
|
|
31
|
+
createdAt: Date;
|
|
32
|
+
updatedAt: Date;
|
|
33
|
+
}
|
|
34
|
+
export interface ConceptGraphConfig {
|
|
35
|
+
/** Database path. Default: .agentic-qe/memory.db */
|
|
36
|
+
dbPath?: string;
|
|
37
|
+
/** Similarity threshold for auto edge discovery. Default: 0.5 */
|
|
38
|
+
similarityThreshold?: number;
|
|
39
|
+
/** Maximum edges per node. Default: 20 */
|
|
40
|
+
maxEdgesPerNode?: number;
|
|
41
|
+
/** Enable debug logging */
|
|
42
|
+
debug?: boolean;
|
|
43
|
+
}
|
|
44
|
+
export interface GraphStats {
|
|
45
|
+
nodeCount: number;
|
|
46
|
+
edgeCount: number;
|
|
47
|
+
byType: Record<ConceptType, number>;
|
|
48
|
+
avgEdgesPerNode: number;
|
|
49
|
+
avgActivation: number;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* ConceptGraph stores and manages concept associations
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* ```typescript
|
|
56
|
+
* const graph = new ConceptGraph();
|
|
57
|
+
* await graph.initialize();
|
|
58
|
+
*
|
|
59
|
+
* await graph.addConcept({
|
|
60
|
+
* id: 'pattern-1',
|
|
61
|
+
* type: 'pattern',
|
|
62
|
+
* content: 'Use mocks for external dependencies',
|
|
63
|
+
* metadata: { framework: 'jest' },
|
|
64
|
+
* });
|
|
65
|
+
*
|
|
66
|
+
* graph.addEdge({
|
|
67
|
+
* source: 'pattern-1',
|
|
68
|
+
* target: 'technique-2',
|
|
69
|
+
* weight: 0.8,
|
|
70
|
+
* type: 'causation',
|
|
71
|
+
* });
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
export declare class ConceptGraph extends EventEmitter {
|
|
75
|
+
private config;
|
|
76
|
+
private db;
|
|
77
|
+
private logger;
|
|
78
|
+
private nodes;
|
|
79
|
+
private edges;
|
|
80
|
+
private initialized;
|
|
81
|
+
constructor(config?: ConceptGraphConfig);
|
|
82
|
+
/**
|
|
83
|
+
* Initialize the concept graph
|
|
84
|
+
*/
|
|
85
|
+
initialize(): Promise<void>;
|
|
86
|
+
/**
|
|
87
|
+
* Initialize database schema
|
|
88
|
+
*/
|
|
89
|
+
private initializeSchema;
|
|
90
|
+
/**
|
|
91
|
+
* Load graph from database
|
|
92
|
+
*/
|
|
93
|
+
private loadFromDatabase;
|
|
94
|
+
/**
|
|
95
|
+
* Add a concept node to the graph
|
|
96
|
+
*/
|
|
97
|
+
addConcept(concept: Omit<ConceptNode, 'activationLevel' | 'lastActivated'>): Promise<ConceptNode>;
|
|
98
|
+
/**
|
|
99
|
+
* Get a concept by ID
|
|
100
|
+
*/
|
|
101
|
+
getConcept(id: string): ConceptNode | undefined;
|
|
102
|
+
/**
|
|
103
|
+
* Get all concepts of a specific type
|
|
104
|
+
*/
|
|
105
|
+
getConceptsByType(type: ConceptType): ConceptNode[];
|
|
106
|
+
/**
|
|
107
|
+
* Get all concepts (optionally filtered by activation threshold)
|
|
108
|
+
*/
|
|
109
|
+
getAllConcepts(minActivation?: number): ConceptNode[];
|
|
110
|
+
/**
|
|
111
|
+
* Get nodes above activation threshold
|
|
112
|
+
*/
|
|
113
|
+
getActiveNodes(threshold?: number): ConceptNode[];
|
|
114
|
+
/**
|
|
115
|
+
* Discover edges by finding similar concepts
|
|
116
|
+
*/
|
|
117
|
+
private discoverEdges;
|
|
118
|
+
/**
|
|
119
|
+
* Calculate similarity between two concepts
|
|
120
|
+
*/
|
|
121
|
+
private calculateSimilarity;
|
|
122
|
+
/**
|
|
123
|
+
* Calculate cosine similarity between two vectors
|
|
124
|
+
*/
|
|
125
|
+
private cosineSimilarity;
|
|
126
|
+
/**
|
|
127
|
+
* Add or strengthen an edge
|
|
128
|
+
*/
|
|
129
|
+
addEdge(edge: Omit<ConceptEdge, 'id' | 'evidence' | 'createdAt' | 'updatedAt'>): ConceptEdge;
|
|
130
|
+
/**
|
|
131
|
+
* Get all edges from a node
|
|
132
|
+
*/
|
|
133
|
+
getEdges(nodeId: string): ConceptEdge[];
|
|
134
|
+
/**
|
|
135
|
+
* Get specific edge between two nodes
|
|
136
|
+
*/
|
|
137
|
+
getEdge(source: string, target: string): ConceptEdge | undefined;
|
|
138
|
+
/**
|
|
139
|
+
* Set activation level for a concept
|
|
140
|
+
*/
|
|
141
|
+
setActivation(nodeId: string, level: number): void;
|
|
142
|
+
/**
|
|
143
|
+
* Decay activation levels over time
|
|
144
|
+
*/
|
|
145
|
+
decayActivations(factor?: number): void;
|
|
146
|
+
/**
|
|
147
|
+
* Get graph statistics
|
|
148
|
+
*/
|
|
149
|
+
getStats(): GraphStats;
|
|
150
|
+
/**
|
|
151
|
+
* Remove a concept and its edges
|
|
152
|
+
*/
|
|
153
|
+
removeConcept(id: string): void;
|
|
154
|
+
/**
|
|
155
|
+
* Close database connection
|
|
156
|
+
*/
|
|
157
|
+
close(): void;
|
|
158
|
+
}
|
|
159
|
+
export default ConceptGraph;
|
|
160
|
+
//# sourceMappingURL=ConceptGraph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConceptGraph.d.ts","sourceRoot":"","sources":["../../../src/learning/dream/ConceptGraph.ts"],"names":[],"mappings":"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"}
|