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,445 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ConceptGraph - Graph-based concept storage for Dream Engine
|
|
4
|
+
*
|
|
5
|
+
* Stores concepts (patterns, techniques, domains, outcomes) as nodes
|
|
6
|
+
* with weighted edges representing associations between them.
|
|
7
|
+
*
|
|
8
|
+
* Part of the Nightly-Learner Phase 2 implementation.
|
|
9
|
+
*
|
|
10
|
+
* @version 1.0.0
|
|
11
|
+
* @module src/learning/dream/ConceptGraph
|
|
12
|
+
*/
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
30
|
+
var ownKeys = function(o) {
|
|
31
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
32
|
+
var ar = [];
|
|
33
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
34
|
+
return ar;
|
|
35
|
+
};
|
|
36
|
+
return ownKeys(o);
|
|
37
|
+
};
|
|
38
|
+
return function (mod) {
|
|
39
|
+
if (mod && mod.__esModule) return mod;
|
|
40
|
+
var result = {};
|
|
41
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
42
|
+
__setModuleDefault(result, mod);
|
|
43
|
+
return result;
|
|
44
|
+
};
|
|
45
|
+
})();
|
|
46
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
47
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
48
|
+
};
|
|
49
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
|
+
exports.ConceptGraph = void 0;
|
|
51
|
+
const events_1 = require("events");
|
|
52
|
+
const better_sqlite3_1 = __importDefault(require("better-sqlite3"));
|
|
53
|
+
const path = __importStar(require("path"));
|
|
54
|
+
const Logger_1 = require("../../utils/Logger");
|
|
55
|
+
const SecureRandom_1 = require("../../utils/SecureRandom");
|
|
56
|
+
/**
|
|
57
|
+
* ConceptGraph stores and manages concept associations
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```typescript
|
|
61
|
+
* const graph = new ConceptGraph();
|
|
62
|
+
* await graph.initialize();
|
|
63
|
+
*
|
|
64
|
+
* await graph.addConcept({
|
|
65
|
+
* id: 'pattern-1',
|
|
66
|
+
* type: 'pattern',
|
|
67
|
+
* content: 'Use mocks for external dependencies',
|
|
68
|
+
* metadata: { framework: 'jest' },
|
|
69
|
+
* });
|
|
70
|
+
*
|
|
71
|
+
* graph.addEdge({
|
|
72
|
+
* source: 'pattern-1',
|
|
73
|
+
* target: 'technique-2',
|
|
74
|
+
* weight: 0.8,
|
|
75
|
+
* type: 'causation',
|
|
76
|
+
* });
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
79
|
+
class ConceptGraph extends events_1.EventEmitter {
|
|
80
|
+
constructor(config) {
|
|
81
|
+
super();
|
|
82
|
+
this.nodes = new Map();
|
|
83
|
+
this.edges = new Map();
|
|
84
|
+
this.initialized = false;
|
|
85
|
+
this.logger = Logger_1.Logger.getInstance();
|
|
86
|
+
this.config = {
|
|
87
|
+
dbPath: config?.dbPath || path.join(process.cwd(), '.agentic-qe', 'memory.db'),
|
|
88
|
+
similarityThreshold: config?.similarityThreshold ?? 0.5,
|
|
89
|
+
maxEdgesPerNode: config?.maxEdgesPerNode ?? 20,
|
|
90
|
+
debug: config?.debug ?? false,
|
|
91
|
+
};
|
|
92
|
+
this.db = new better_sqlite3_1.default(this.config.dbPath);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Initialize the concept graph
|
|
96
|
+
*/
|
|
97
|
+
async initialize() {
|
|
98
|
+
if (this.initialized)
|
|
99
|
+
return;
|
|
100
|
+
this.initializeSchema();
|
|
101
|
+
await this.loadFromDatabase();
|
|
102
|
+
this.initialized = true;
|
|
103
|
+
this.logger.info('[ConceptGraph] Initialized', {
|
|
104
|
+
nodes: this.nodes.size,
|
|
105
|
+
edges: Array.from(this.edges.values()).flat().length,
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Initialize database schema
|
|
110
|
+
*/
|
|
111
|
+
initializeSchema() {
|
|
112
|
+
this.db.exec(`
|
|
113
|
+
CREATE TABLE IF NOT EXISTS concept_nodes (
|
|
114
|
+
id TEXT PRIMARY KEY,
|
|
115
|
+
type TEXT NOT NULL,
|
|
116
|
+
content TEXT NOT NULL,
|
|
117
|
+
embedding BLOB,
|
|
118
|
+
activation_level REAL DEFAULT 0,
|
|
119
|
+
last_activated INTEGER,
|
|
120
|
+
metadata TEXT,
|
|
121
|
+
created_at INTEGER NOT NULL
|
|
122
|
+
);
|
|
123
|
+
|
|
124
|
+
CREATE TABLE IF NOT EXISTS concept_edges (
|
|
125
|
+
id TEXT PRIMARY KEY,
|
|
126
|
+
source TEXT NOT NULL,
|
|
127
|
+
target TEXT NOT NULL,
|
|
128
|
+
weight REAL NOT NULL,
|
|
129
|
+
type TEXT NOT NULL,
|
|
130
|
+
evidence INTEGER DEFAULT 1,
|
|
131
|
+
created_at INTEGER NOT NULL,
|
|
132
|
+
updated_at INTEGER NOT NULL,
|
|
133
|
+
FOREIGN KEY (source) REFERENCES concept_nodes(id),
|
|
134
|
+
FOREIGN KEY (target) REFERENCES concept_nodes(id)
|
|
135
|
+
);
|
|
136
|
+
|
|
137
|
+
CREATE INDEX IF NOT EXISTS idx_concept_type ON concept_nodes(type);
|
|
138
|
+
CREATE INDEX IF NOT EXISTS idx_concept_activation ON concept_nodes(activation_level);
|
|
139
|
+
CREATE INDEX IF NOT EXISTS idx_edge_source ON concept_edges(source);
|
|
140
|
+
CREATE INDEX IF NOT EXISTS idx_edge_target ON concept_edges(target);
|
|
141
|
+
CREATE INDEX IF NOT EXISTS idx_edge_weight ON concept_edges(weight);
|
|
142
|
+
`);
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Load graph from database
|
|
146
|
+
*/
|
|
147
|
+
async loadFromDatabase() {
|
|
148
|
+
// Load nodes
|
|
149
|
+
const nodeRows = this.db.prepare('SELECT * FROM concept_nodes').all();
|
|
150
|
+
for (const row of nodeRows) {
|
|
151
|
+
const node = {
|
|
152
|
+
id: row.id,
|
|
153
|
+
type: row.type,
|
|
154
|
+
content: row.content,
|
|
155
|
+
embedding: row.embedding ? Array.from(new Float32Array(row.embedding)) : undefined,
|
|
156
|
+
activationLevel: row.activation_level || 0,
|
|
157
|
+
lastActivated: new Date(row.last_activated || Date.now()),
|
|
158
|
+
metadata: row.metadata ? JSON.parse(row.metadata) : {},
|
|
159
|
+
};
|
|
160
|
+
this.nodes.set(node.id, node);
|
|
161
|
+
}
|
|
162
|
+
// Load edges
|
|
163
|
+
const edgeRows = this.db.prepare('SELECT * FROM concept_edges').all();
|
|
164
|
+
for (const row of edgeRows) {
|
|
165
|
+
const edge = {
|
|
166
|
+
id: row.id,
|
|
167
|
+
source: row.source,
|
|
168
|
+
target: row.target,
|
|
169
|
+
weight: row.weight,
|
|
170
|
+
type: row.type,
|
|
171
|
+
evidence: row.evidence,
|
|
172
|
+
createdAt: new Date(row.created_at),
|
|
173
|
+
updatedAt: new Date(row.updated_at),
|
|
174
|
+
};
|
|
175
|
+
const sourceEdges = this.edges.get(edge.source) || [];
|
|
176
|
+
sourceEdges.push(edge);
|
|
177
|
+
this.edges.set(edge.source, sourceEdges);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Add a concept node to the graph
|
|
182
|
+
*/
|
|
183
|
+
async addConcept(concept) {
|
|
184
|
+
const now = new Date();
|
|
185
|
+
const node = {
|
|
186
|
+
...concept,
|
|
187
|
+
activationLevel: 0,
|
|
188
|
+
lastActivated: now,
|
|
189
|
+
};
|
|
190
|
+
// Store in memory
|
|
191
|
+
this.nodes.set(concept.id, node);
|
|
192
|
+
// Persist to database
|
|
193
|
+
this.db.prepare(`
|
|
194
|
+
INSERT OR REPLACE INTO concept_nodes
|
|
195
|
+
(id, type, content, embedding, activation_level, last_activated, metadata, created_at)
|
|
196
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
|
|
197
|
+
`).run(node.id, node.type, node.content, node.embedding ? Buffer.from(new Float32Array(node.embedding).buffer) : null, node.activationLevel, now.getTime(), JSON.stringify(node.metadata), now.getTime());
|
|
198
|
+
// Auto-discover edges based on similarity
|
|
199
|
+
await this.discoverEdges(concept.id);
|
|
200
|
+
this.emit('concept:added', node);
|
|
201
|
+
if (this.config.debug) {
|
|
202
|
+
this.logger.debug('[ConceptGraph] Added concept', { id: node.id, type: node.type });
|
|
203
|
+
}
|
|
204
|
+
return node;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Get a concept by ID
|
|
208
|
+
*/
|
|
209
|
+
getConcept(id) {
|
|
210
|
+
return this.nodes.get(id);
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Get all concepts of a specific type
|
|
214
|
+
*/
|
|
215
|
+
getConceptsByType(type) {
|
|
216
|
+
return Array.from(this.nodes.values()).filter(n => n.type === type);
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Get all concepts (optionally filtered by activation threshold)
|
|
220
|
+
*/
|
|
221
|
+
getAllConcepts(minActivation = 0) {
|
|
222
|
+
return Array.from(this.nodes.values())
|
|
223
|
+
.filter(n => n.activationLevel >= minActivation);
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Get nodes above activation threshold
|
|
227
|
+
*/
|
|
228
|
+
getActiveNodes(threshold = 0.3) {
|
|
229
|
+
return Array.from(this.nodes.values())
|
|
230
|
+
.filter(n => n.activationLevel >= threshold);
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Discover edges by finding similar concepts
|
|
234
|
+
*/
|
|
235
|
+
async discoverEdges(conceptId) {
|
|
236
|
+
const concept = this.nodes.get(conceptId);
|
|
237
|
+
if (!concept || !concept.embedding)
|
|
238
|
+
return;
|
|
239
|
+
// Find similar concepts based on content/type
|
|
240
|
+
for (const [otherId, other] of this.nodes) {
|
|
241
|
+
if (otherId === conceptId)
|
|
242
|
+
continue;
|
|
243
|
+
// Calculate similarity
|
|
244
|
+
const similarity = this.calculateSimilarity(concept, other);
|
|
245
|
+
if (similarity >= this.config.similarityThreshold) {
|
|
246
|
+
this.addEdge({
|
|
247
|
+
source: conceptId,
|
|
248
|
+
target: otherId,
|
|
249
|
+
weight: similarity,
|
|
250
|
+
type: 'similarity',
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Calculate similarity between two concepts
|
|
257
|
+
*/
|
|
258
|
+
calculateSimilarity(a, b) {
|
|
259
|
+
let similarity = 0;
|
|
260
|
+
// Type similarity (same type = bonus)
|
|
261
|
+
if (a.type === b.type) {
|
|
262
|
+
similarity += 0.3;
|
|
263
|
+
}
|
|
264
|
+
// Content similarity (simple word overlap)
|
|
265
|
+
const wordsA = new Set(a.content.toLowerCase().split(/\s+/));
|
|
266
|
+
const wordsB = new Set(b.content.toLowerCase().split(/\s+/));
|
|
267
|
+
const intersection = [...wordsA].filter(w => wordsB.has(w));
|
|
268
|
+
const union = new Set([...wordsA, ...wordsB]);
|
|
269
|
+
const jaccardSimilarity = intersection.length / union.size;
|
|
270
|
+
similarity += jaccardSimilarity * 0.4;
|
|
271
|
+
// Embedding similarity (if both have embeddings)
|
|
272
|
+
if (a.embedding && b.embedding) {
|
|
273
|
+
const cosineSim = this.cosineSimilarity(a.embedding, b.embedding);
|
|
274
|
+
similarity += cosineSim * 0.3;
|
|
275
|
+
}
|
|
276
|
+
else {
|
|
277
|
+
// No embeddings, add base similarity
|
|
278
|
+
similarity += 0.15;
|
|
279
|
+
}
|
|
280
|
+
return Math.min(1, similarity);
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Calculate cosine similarity between two vectors
|
|
284
|
+
*/
|
|
285
|
+
cosineSimilarity(a, b) {
|
|
286
|
+
if (a.length !== b.length)
|
|
287
|
+
return 0;
|
|
288
|
+
let dotProduct = 0;
|
|
289
|
+
let normA = 0;
|
|
290
|
+
let normB = 0;
|
|
291
|
+
for (let i = 0; i < a.length; i++) {
|
|
292
|
+
dotProduct += a[i] * b[i];
|
|
293
|
+
normA += a[i] * a[i];
|
|
294
|
+
normB += b[i] * b[i];
|
|
295
|
+
}
|
|
296
|
+
if (normA === 0 || normB === 0)
|
|
297
|
+
return 0;
|
|
298
|
+
return dotProduct / (Math.sqrt(normA) * Math.sqrt(normB));
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
301
|
+
* Add or strengthen an edge
|
|
302
|
+
*/
|
|
303
|
+
addEdge(edge) {
|
|
304
|
+
const existing = this.getEdge(edge.source, edge.target);
|
|
305
|
+
const now = new Date();
|
|
306
|
+
if (existing) {
|
|
307
|
+
// Strengthen existing edge
|
|
308
|
+
existing.weight = Math.min(1, existing.weight + 0.1);
|
|
309
|
+
existing.evidence++;
|
|
310
|
+
existing.updatedAt = now;
|
|
311
|
+
// Update in database
|
|
312
|
+
this.db.prepare(`
|
|
313
|
+
UPDATE concept_edges
|
|
314
|
+
SET weight = ?, evidence = ?, updated_at = ?
|
|
315
|
+
WHERE id = ?
|
|
316
|
+
`).run(existing.weight, existing.evidence, now.getTime(), existing.id);
|
|
317
|
+
this.emit('edge:strengthened', existing);
|
|
318
|
+
return existing;
|
|
319
|
+
}
|
|
320
|
+
// Create new edge
|
|
321
|
+
const newEdge = {
|
|
322
|
+
id: `edge-${Date.now()}-${SecureRandom_1.SecureRandom.randomString(6, 'alphanumeric')}`,
|
|
323
|
+
source: edge.source,
|
|
324
|
+
target: edge.target,
|
|
325
|
+
weight: edge.weight,
|
|
326
|
+
type: edge.type,
|
|
327
|
+
evidence: 1,
|
|
328
|
+
createdAt: now,
|
|
329
|
+
updatedAt: now,
|
|
330
|
+
};
|
|
331
|
+
// Store in memory
|
|
332
|
+
const sourceEdges = this.edges.get(edge.source) || [];
|
|
333
|
+
// Enforce max edges limit
|
|
334
|
+
if (sourceEdges.length >= this.config.maxEdgesPerNode) {
|
|
335
|
+
// Remove weakest edge
|
|
336
|
+
sourceEdges.sort((a, b) => a.weight - b.weight);
|
|
337
|
+
const removed = sourceEdges.shift();
|
|
338
|
+
if (removed) {
|
|
339
|
+
this.db.prepare('DELETE FROM concept_edges WHERE id = ?').run(removed.id);
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
sourceEdges.push(newEdge);
|
|
343
|
+
this.edges.set(edge.source, sourceEdges);
|
|
344
|
+
// Persist to database
|
|
345
|
+
this.db.prepare(`
|
|
346
|
+
INSERT INTO concept_edges
|
|
347
|
+
(id, source, target, weight, type, evidence, created_at, updated_at)
|
|
348
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
|
|
349
|
+
`).run(newEdge.id, newEdge.source, newEdge.target, newEdge.weight, newEdge.type, newEdge.evidence, now.getTime(), now.getTime());
|
|
350
|
+
this.emit('edge:added', newEdge);
|
|
351
|
+
return newEdge;
|
|
352
|
+
}
|
|
353
|
+
/**
|
|
354
|
+
* Get all edges from a node
|
|
355
|
+
*/
|
|
356
|
+
getEdges(nodeId) {
|
|
357
|
+
return this.edges.get(nodeId) || [];
|
|
358
|
+
}
|
|
359
|
+
/**
|
|
360
|
+
* Get specific edge between two nodes
|
|
361
|
+
*/
|
|
362
|
+
getEdge(source, target) {
|
|
363
|
+
return this.getEdges(source).find(e => e.target === target);
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* Set activation level for a concept
|
|
367
|
+
*/
|
|
368
|
+
setActivation(nodeId, level) {
|
|
369
|
+
const node = this.nodes.get(nodeId);
|
|
370
|
+
if (!node)
|
|
371
|
+
return;
|
|
372
|
+
node.activationLevel = Math.max(0, Math.min(1, level));
|
|
373
|
+
node.lastActivated = new Date();
|
|
374
|
+
// Update in database
|
|
375
|
+
this.db.prepare(`
|
|
376
|
+
UPDATE concept_nodes
|
|
377
|
+
SET activation_level = ?, last_activated = ?
|
|
378
|
+
WHERE id = ?
|
|
379
|
+
`).run(node.activationLevel, node.lastActivated.getTime(), nodeId);
|
|
380
|
+
}
|
|
381
|
+
/**
|
|
382
|
+
* Decay activation levels over time
|
|
383
|
+
*/
|
|
384
|
+
decayActivations(factor = 0.9) {
|
|
385
|
+
for (const node of this.nodes.values()) {
|
|
386
|
+
node.activationLevel *= factor;
|
|
387
|
+
}
|
|
388
|
+
// Batch update in database
|
|
389
|
+
this.db.prepare(`
|
|
390
|
+
UPDATE concept_nodes
|
|
391
|
+
SET activation_level = activation_level * ?
|
|
392
|
+
`).run(factor);
|
|
393
|
+
}
|
|
394
|
+
/**
|
|
395
|
+
* Get graph statistics
|
|
396
|
+
*/
|
|
397
|
+
getStats() {
|
|
398
|
+
const nodes = Array.from(this.nodes.values());
|
|
399
|
+
const allEdges = Array.from(this.edges.values()).flat();
|
|
400
|
+
const byType = {
|
|
401
|
+
pattern: 0,
|
|
402
|
+
technique: 0,
|
|
403
|
+
domain: 0,
|
|
404
|
+
outcome: 0,
|
|
405
|
+
error: 0,
|
|
406
|
+
};
|
|
407
|
+
for (const node of nodes) {
|
|
408
|
+
byType[node.type]++;
|
|
409
|
+
}
|
|
410
|
+
const avgActivation = nodes.length > 0
|
|
411
|
+
? nodes.reduce((sum, n) => sum + n.activationLevel, 0) / nodes.length
|
|
412
|
+
: 0;
|
|
413
|
+
return {
|
|
414
|
+
nodeCount: nodes.length,
|
|
415
|
+
edgeCount: allEdges.length,
|
|
416
|
+
byType,
|
|
417
|
+
avgEdgesPerNode: nodes.length > 0 ? allEdges.length / nodes.length : 0,
|
|
418
|
+
avgActivation,
|
|
419
|
+
};
|
|
420
|
+
}
|
|
421
|
+
/**
|
|
422
|
+
* Remove a concept and its edges
|
|
423
|
+
*/
|
|
424
|
+
removeConcept(id) {
|
|
425
|
+
this.nodes.delete(id);
|
|
426
|
+
this.edges.delete(id);
|
|
427
|
+
// Remove edges pointing to this node
|
|
428
|
+
for (const [source, edges] of this.edges) {
|
|
429
|
+
const filtered = edges.filter(e => e.target !== id);
|
|
430
|
+
this.edges.set(source, filtered);
|
|
431
|
+
}
|
|
432
|
+
// Remove from database
|
|
433
|
+
this.db.prepare('DELETE FROM concept_nodes WHERE id = ?').run(id);
|
|
434
|
+
this.db.prepare('DELETE FROM concept_edges WHERE source = ? OR target = ?').run(id, id);
|
|
435
|
+
}
|
|
436
|
+
/**
|
|
437
|
+
* Close database connection
|
|
438
|
+
*/
|
|
439
|
+
close() {
|
|
440
|
+
this.db.close();
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
exports.ConceptGraph = ConceptGraph;
|
|
444
|
+
exports.default = ConceptGraph;
|
|
445
|
+
//# sourceMappingURL=ConceptGraph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConceptGraph.js","sourceRoot":"","sources":["../../../src/learning/dream/ConceptGraph.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DreamEngine - Main orchestrator for dream-based pattern discovery
|
|
3
|
+
*
|
|
4
|
+
* Coordinates ConceptGraph, SpreadingActivation, and InsightGenerator
|
|
5
|
+
* to discover novel patterns through simulated "dreaming".
|
|
6
|
+
*
|
|
7
|
+
* Part of the Nightly-Learner Phase 2 implementation.
|
|
8
|
+
*
|
|
9
|
+
* @version 1.0.0
|
|
10
|
+
* @module src/learning/dream/DreamEngine
|
|
11
|
+
*/
|
|
12
|
+
import { EventEmitter } from 'events';
|
|
13
|
+
import { ConceptNode } from './ConceptGraph';
|
|
14
|
+
import { DreamResult } from './SpreadingActivation';
|
|
15
|
+
import { DreamInsight, InsightType } from './InsightGenerator';
|
|
16
|
+
export interface DreamEngineConfig {
|
|
17
|
+
/** Database path. Default: .agentic-qe/memory.db */
|
|
18
|
+
dbPath?: string;
|
|
19
|
+
/** Duration of dream cycle in ms. Default: 20 * 60 * 1000 (20 minutes) */
|
|
20
|
+
cycleDuration?: number;
|
|
21
|
+
/** Minimum insights to generate per cycle. Default: 5 */
|
|
22
|
+
targetInsights?: number;
|
|
23
|
+
/** Novelty threshold for insights. Default: 0.5 */
|
|
24
|
+
noveltyThreshold?: number;
|
|
25
|
+
/** Noise level for dreaming. Default: 0.2 */
|
|
26
|
+
dreamNoise?: number;
|
|
27
|
+
/** Auto-load patterns from existing patterns table. Default: true */
|
|
28
|
+
autoLoadPatterns?: boolean;
|
|
29
|
+
/** Enable debug logging */
|
|
30
|
+
debug?: boolean;
|
|
31
|
+
}
|
|
32
|
+
export interface DreamCycleResult {
|
|
33
|
+
cycleId: string;
|
|
34
|
+
startTime: Date;
|
|
35
|
+
endTime: Date;
|
|
36
|
+
duration: number;
|
|
37
|
+
conceptsProcessed: number;
|
|
38
|
+
associationsFound: number;
|
|
39
|
+
insightsGenerated: number;
|
|
40
|
+
insights: DreamInsight[];
|
|
41
|
+
dreamResult: DreamResult;
|
|
42
|
+
status: 'completed' | 'interrupted' | 'failed';
|
|
43
|
+
error?: string;
|
|
44
|
+
}
|
|
45
|
+
export interface DreamEngineState {
|
|
46
|
+
isRunning: boolean;
|
|
47
|
+
currentCycleId?: string;
|
|
48
|
+
cyclesCompleted: number;
|
|
49
|
+
totalInsightsGenerated: number;
|
|
50
|
+
lastCycleTime?: Date;
|
|
51
|
+
averageInsightsPerCycle: number;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* DreamEngine orchestrates dream-based pattern discovery
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```typescript
|
|
58
|
+
* const engine = new DreamEngine({ cycleDuration: 30000 }); // 30 second cycles for testing
|
|
59
|
+
* await engine.initialize();
|
|
60
|
+
*
|
|
61
|
+
* // Run a dream cycle
|
|
62
|
+
* const result = await engine.dream();
|
|
63
|
+
* console.log(`Generated ${result.insightsGenerated} insights`);
|
|
64
|
+
*
|
|
65
|
+
* // Get pending insights
|
|
66
|
+
* const insights = engine.getPendingInsights();
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
69
|
+
export declare class DreamEngine extends EventEmitter {
|
|
70
|
+
private config;
|
|
71
|
+
private graph;
|
|
72
|
+
private activation;
|
|
73
|
+
private generator;
|
|
74
|
+
private db;
|
|
75
|
+
private logger;
|
|
76
|
+
private state;
|
|
77
|
+
private abortController?;
|
|
78
|
+
constructor(config?: DreamEngineConfig);
|
|
79
|
+
/**
|
|
80
|
+
* Initialize the dream engine
|
|
81
|
+
*/
|
|
82
|
+
initialize(): Promise<void>;
|
|
83
|
+
/**
|
|
84
|
+
* Initialize database schema for dream cycles
|
|
85
|
+
*/
|
|
86
|
+
private initializeSchema;
|
|
87
|
+
/**
|
|
88
|
+
* Load existing patterns as concepts
|
|
89
|
+
*/
|
|
90
|
+
private loadPatternsAsConcepts;
|
|
91
|
+
/**
|
|
92
|
+
* Load captured experiences as concepts for dream processing
|
|
93
|
+
* This connects real agent execution data to the concept graph
|
|
94
|
+
*/
|
|
95
|
+
private loadExperiencesAsConcepts;
|
|
96
|
+
/**
|
|
97
|
+
* Build descriptive content for an experience concept
|
|
98
|
+
*/
|
|
99
|
+
private buildExperienceContent;
|
|
100
|
+
/**
|
|
101
|
+
* Map pattern type to concept type
|
|
102
|
+
*/
|
|
103
|
+
private mapPatternType;
|
|
104
|
+
/**
|
|
105
|
+
* Run a dream cycle
|
|
106
|
+
*/
|
|
107
|
+
dream(): Promise<DreamCycleResult>;
|
|
108
|
+
/**
|
|
109
|
+
* Abort current dream cycle
|
|
110
|
+
*/
|
|
111
|
+
abort(): void;
|
|
112
|
+
/**
|
|
113
|
+
* Add a concept to the graph
|
|
114
|
+
*/
|
|
115
|
+
addConcept(concept: Omit<ConceptNode, 'activationLevel' | 'lastActivated'>): Promise<ConceptNode>;
|
|
116
|
+
/**
|
|
117
|
+
* Get pending insights
|
|
118
|
+
*/
|
|
119
|
+
getPendingInsights(limit?: number): DreamInsight[];
|
|
120
|
+
/**
|
|
121
|
+
* Get insights by type
|
|
122
|
+
*/
|
|
123
|
+
getInsightsByType(type: InsightType, limit?: number): DreamInsight[];
|
|
124
|
+
/**
|
|
125
|
+
* Apply an insight
|
|
126
|
+
*/
|
|
127
|
+
applyInsight(insightId: string, feedback?: string): Promise<void>;
|
|
128
|
+
/**
|
|
129
|
+
* Get engine state
|
|
130
|
+
*/
|
|
131
|
+
getState(): DreamEngineState;
|
|
132
|
+
/**
|
|
133
|
+
* Get graph statistics
|
|
134
|
+
*/
|
|
135
|
+
getGraphStats(): import("./ConceptGraph").GraphStats;
|
|
136
|
+
/**
|
|
137
|
+
* Get recent dream cycles
|
|
138
|
+
*/
|
|
139
|
+
getRecentCycles(limit?: number): any[];
|
|
140
|
+
/**
|
|
141
|
+
* Reset activation levels
|
|
142
|
+
*/
|
|
143
|
+
resetActivations(): void;
|
|
144
|
+
/**
|
|
145
|
+
* Close all connections
|
|
146
|
+
*/
|
|
147
|
+
close(): void;
|
|
148
|
+
}
|
|
149
|
+
export default DreamEngine;
|
|
150
|
+
//# sourceMappingURL=DreamEngine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DreamEngine.d.ts","sourceRoot":"","sources":["../../../src/learning/dream/DreamEngine.ts"],"names":[],"mappings":"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"}
|