agentic-qe 1.8.2 → 1.8.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/.claude/agents/qe-test-generator.md +580 -0
- package/.claude/agents/subagents/qe-code-reviewer.md +86 -0
- package/.claude/agents/subagents/qe-coverage-gap-analyzer.md +485 -0
- package/.claude/agents/subagents/qe-data-generator.md +86 -0
- package/.claude/agents/subagents/qe-flaky-investigator.md +416 -0
- package/.claude/agents/subagents/qe-integration-tester.md +87 -0
- package/.claude/agents/subagents/qe-performance-validator.md +98 -0
- package/.claude/agents/subagents/qe-security-auditor.md +86 -0
- package/.claude/agents/subagents/qe-test-data-architect-sub.md +553 -0
- package/.claude/agents/subagents/qe-test-implementer.md +229 -15
- package/.claude/agents/subagents/qe-test-refactorer.md +265 -15
- package/.claude/agents/subagents/qe-test-writer.md +180 -20
- package/.claude/skills/cicd-pipeline-qe-orchestrator/README.md +2 -2
- package/.claude/skills/cicd-pipeline-qe-orchestrator/SKILL.md +6 -6
- package/CHANGELOG.md +294 -0
- package/README.md +83 -52
- package/config/constitution.schema.json +423 -0
- package/config/otel-collector.yaml +234 -0
- package/dist/cli/commands/init-claude-md-template.js +3 -3
- package/dist/constitution/index.d.ts +105 -0
- package/dist/constitution/index.d.ts.map +1 -0
- package/dist/constitution/index.js +207 -0
- package/dist/constitution/index.js.map +1 -0
- package/dist/constitution/loader.d.ts +141 -0
- package/dist/constitution/loader.d.ts.map +1 -0
- package/dist/constitution/loader.js +515 -0
- package/dist/constitution/loader.js.map +1 -0
- package/dist/constitution/schema.d.ts +409 -0
- package/dist/constitution/schema.d.ts.map +1 -0
- package/dist/constitution/schema.js +71 -0
- package/dist/constitution/schema.js.map +1 -0
- package/dist/core/hooks/validators/TDDPhaseValidator.d.ts +110 -0
- package/dist/core/hooks/validators/TDDPhaseValidator.d.ts.map +1 -0
- package/dist/core/hooks/validators/TDDPhaseValidator.js +287 -0
- package/dist/core/hooks/validators/TDDPhaseValidator.js.map +1 -0
- package/dist/core/hooks/validators/index.d.ts +3 -1
- package/dist/core/hooks/validators/index.d.ts.map +1 -1
- package/dist/core/hooks/validators/index.js +4 -2
- package/dist/core/hooks/validators/index.js.map +1 -1
- package/dist/core/memory/MemoryManagerFactory.d.ts +77 -0
- package/dist/core/memory/MemoryManagerFactory.d.ts.map +1 -0
- package/dist/core/memory/MemoryManagerFactory.js +270 -0
- package/dist/core/memory/MemoryManagerFactory.js.map +1 -0
- package/dist/core/memory/SwarmMemoryManager.d.ts +18 -0
- package/dist/core/memory/SwarmMemoryManager.d.ts.map +1 -1
- package/dist/core/memory/SwarmMemoryManager.js +96 -11
- package/dist/core/memory/SwarmMemoryManager.js.map +1 -1
- package/dist/core/memory/index.d.ts +1 -0
- package/dist/core/memory/index.d.ts.map +1 -1
- package/dist/core/memory/index.js +12 -1
- package/dist/core/memory/index.js.map +1 -1
- package/dist/mcp/handlers/memory/memory-backup.js +6 -6
- package/dist/mcp/handlers/memory/memory-backup.js.map +1 -1
- package/dist/mcp/handlers/phase2/Phase2Tools.d.ts.map +1 -1
- package/dist/mcp/handlers/phase2/Phase2Tools.js +4 -2
- package/dist/mcp/handlers/phase2/Phase2Tools.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +4 -38
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/services/AgentRegistry.d.ts.map +1 -1
- package/dist/mcp/services/AgentRegistry.js +4 -4
- package/dist/mcp/services/AgentRegistry.js.map +1 -1
- package/dist/persistence/event-store.d.ts +162 -0
- package/dist/persistence/event-store.d.ts.map +1 -0
- package/dist/persistence/event-store.js +315 -0
- package/dist/persistence/event-store.js.map +1 -0
- package/dist/persistence/index.d.ts +145 -0
- package/dist/persistence/index.d.ts.map +1 -0
- package/dist/persistence/index.js +227 -0
- package/dist/persistence/index.js.map +1 -0
- package/dist/persistence/metrics-aggregator.d.ts +187 -0
- package/dist/persistence/metrics-aggregator.d.ts.map +1 -0
- package/dist/persistence/metrics-aggregator.js +495 -0
- package/dist/persistence/metrics-aggregator.js.map +1 -0
- package/dist/persistence/reasoning-store.d.ts +178 -0
- package/dist/persistence/reasoning-store.d.ts.map +1 -0
- package/dist/persistence/reasoning-store.js +440 -0
- package/dist/persistence/reasoning-store.js.map +1 -0
- package/dist/persistence/schema.d.ts +181 -0
- package/dist/persistence/schema.d.ts.map +1 -0
- package/dist/persistence/schema.js +186 -0
- package/dist/persistence/schema.js.map +1 -0
- package/dist/telemetry/bootstrap.d.ts +67 -0
- package/dist/telemetry/bootstrap.d.ts.map +1 -0
- package/dist/telemetry/bootstrap.js +320 -0
- package/dist/telemetry/bootstrap.js.map +1 -0
- package/dist/telemetry/index.d.ts +16 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +84 -0
- package/dist/telemetry/index.js.map +1 -0
- package/dist/telemetry/metrics/agent-metrics.d.ts +109 -0
- package/dist/telemetry/metrics/agent-metrics.d.ts.map +1 -0
- package/dist/telemetry/metrics/agent-metrics.js +213 -0
- package/dist/telemetry/metrics/agent-metrics.js.map +1 -0
- package/dist/telemetry/metrics/index.d.ts +51 -0
- package/dist/telemetry/metrics/index.d.ts.map +1 -0
- package/dist/telemetry/metrics/index.js +100 -0
- package/dist/telemetry/metrics/index.js.map +1 -0
- package/dist/telemetry/metrics/quality-metrics.d.ts +171 -0
- package/dist/telemetry/metrics/quality-metrics.d.ts.map +1 -0
- package/dist/telemetry/metrics/quality-metrics.js +259 -0
- package/dist/telemetry/metrics/quality-metrics.js.map +1 -0
- package/dist/telemetry/metrics/system-metrics.d.ts +129 -0
- package/dist/telemetry/metrics/system-metrics.d.ts.map +1 -0
- package/dist/telemetry/metrics/system-metrics.js +380 -0
- package/dist/telemetry/metrics/system-metrics.js.map +1 -0
- package/dist/telemetry/types.d.ts +195 -0
- package/dist/telemetry/types.d.ts.map +1 -0
- package/dist/telemetry/types.js +90 -0
- package/dist/telemetry/types.js.map +1 -0
- package/package.json +18 -2
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* MemoryManagerFactory - Singleton Pattern for Shared Memory Management
|
|
4
|
+
*
|
|
5
|
+
* Resolves the persistence issue where multiple SwarmMemoryManager instances
|
|
6
|
+
* cause data fragmentation - data written to one instance is not visible to others.
|
|
7
|
+
*
|
|
8
|
+
* Key Issues Fixed:
|
|
9
|
+
* 1. Multiple isolated instances (MCP server, AgentRegistry, Phase2Tools each created their own)
|
|
10
|
+
* 2. sql.js persistence model requires explicit save()/close() calls
|
|
11
|
+
* 3. Ensures all components share the same database connection
|
|
12
|
+
*
|
|
13
|
+
* @module MemoryManagerFactory
|
|
14
|
+
* @version 1.0.0
|
|
15
|
+
*/
|
|
16
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
19
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
20
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
21
|
+
}
|
|
22
|
+
Object.defineProperty(o, k2, desc);
|
|
23
|
+
}) : (function(o, m, k, k2) {
|
|
24
|
+
if (k2 === undefined) k2 = k;
|
|
25
|
+
o[k2] = m[k];
|
|
26
|
+
}));
|
|
27
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
28
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
29
|
+
}) : function(o, v) {
|
|
30
|
+
o["default"] = v;
|
|
31
|
+
});
|
|
32
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
33
|
+
var ownKeys = function(o) {
|
|
34
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
35
|
+
var ar = [];
|
|
36
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
37
|
+
return ar;
|
|
38
|
+
};
|
|
39
|
+
return ownKeys(o);
|
|
40
|
+
};
|
|
41
|
+
return function (mod) {
|
|
42
|
+
if (mod && mod.__esModule) return mod;
|
|
43
|
+
var result = {};
|
|
44
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
45
|
+
__setModuleDefault(result, mod);
|
|
46
|
+
return result;
|
|
47
|
+
};
|
|
48
|
+
})();
|
|
49
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
|
+
exports.resolveDbPath = resolveDbPath;
|
|
51
|
+
exports.ensureDbDirectoryExists = ensureDbDirectoryExists;
|
|
52
|
+
exports.getSharedMemoryManager = getSharedMemoryManager;
|
|
53
|
+
exports.initializeSharedMemoryManager = initializeSharedMemoryManager;
|
|
54
|
+
exports.hasSharedMemoryManager = hasSharedMemoryManager;
|
|
55
|
+
exports.getSharedMemoryManagerPath = getSharedMemoryManagerPath;
|
|
56
|
+
exports.resetSharedMemoryManager = resetSharedMemoryManager;
|
|
57
|
+
exports.getDbPathInfo = getDbPathInfo;
|
|
58
|
+
exports.setupExitHandlers = setupExitHandlers;
|
|
59
|
+
const path = __importStar(require("path"));
|
|
60
|
+
const fs = __importStar(require("fs-extra"));
|
|
61
|
+
const SwarmMemoryManager_js_1 = require("./SwarmMemoryManager.js");
|
|
62
|
+
// Singleton instances
|
|
63
|
+
let sharedMemoryManager = null;
|
|
64
|
+
let sharedMemoryManagerPath = null;
|
|
65
|
+
let initializationPromise = null;
|
|
66
|
+
/**
|
|
67
|
+
* Resolve database path - ensures we use an absolute path in user's project
|
|
68
|
+
*
|
|
69
|
+
* Database should be in the USER'S project directory (process.cwd()),
|
|
70
|
+
* NOT in the package installation directory.
|
|
71
|
+
*/
|
|
72
|
+
function resolveDbPath(inputPath) {
|
|
73
|
+
// If no path provided, use default in user's project
|
|
74
|
+
if (!inputPath) {
|
|
75
|
+
return path.join(process.cwd(), '.agentic-qe', 'memory.db');
|
|
76
|
+
}
|
|
77
|
+
// Special case: in-memory database
|
|
78
|
+
if (inputPath === ':memory:') {
|
|
79
|
+
return inputPath;
|
|
80
|
+
}
|
|
81
|
+
// Check environment variable override
|
|
82
|
+
const envPath = process.env.AQE_DB_PATH;
|
|
83
|
+
if (envPath) {
|
|
84
|
+
// If absolute, use as-is
|
|
85
|
+
if (path.isAbsolute(envPath)) {
|
|
86
|
+
return envPath;
|
|
87
|
+
}
|
|
88
|
+
// If relative, resolve from cwd
|
|
89
|
+
return path.join(process.cwd(), envPath);
|
|
90
|
+
}
|
|
91
|
+
// If already absolute, return as-is
|
|
92
|
+
if (path.isAbsolute(inputPath)) {
|
|
93
|
+
return inputPath;
|
|
94
|
+
}
|
|
95
|
+
// Convert relative path to absolute using cwd (user's project)
|
|
96
|
+
return path.join(process.cwd(), inputPath);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Ensure the database directory exists
|
|
100
|
+
*/
|
|
101
|
+
function ensureDbDirectoryExists(dbPath) {
|
|
102
|
+
if (dbPath === ':memory:') {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
const dbDir = path.dirname(dbPath);
|
|
106
|
+
if (!fs.existsSync(dbDir)) {
|
|
107
|
+
fs.mkdirSync(dbDir, { recursive: true });
|
|
108
|
+
console.log(`[MemoryManagerFactory] Created database directory: ${dbDir}`);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Get the shared SwarmMemoryManager singleton
|
|
113
|
+
*
|
|
114
|
+
* Ensures all components use the same database connection for consistent
|
|
115
|
+
* persistence across MCP server, AgentRegistry, handlers, and agents.
|
|
116
|
+
*
|
|
117
|
+
* @param dbPath Optional database path (relative paths resolved from cwd)
|
|
118
|
+
* @returns Shared SwarmMemoryManager instance
|
|
119
|
+
*/
|
|
120
|
+
function getSharedMemoryManager(dbPath) {
|
|
121
|
+
const resolvedPath = resolveDbPath(dbPath);
|
|
122
|
+
// If singleton exists with same path, return it
|
|
123
|
+
if (sharedMemoryManager && sharedMemoryManagerPath === resolvedPath) {
|
|
124
|
+
return sharedMemoryManager;
|
|
125
|
+
}
|
|
126
|
+
// If singleton exists with different path, warn but return existing
|
|
127
|
+
// (prevents multiple database connections causing fragmentation)
|
|
128
|
+
if (sharedMemoryManager && sharedMemoryManagerPath !== resolvedPath) {
|
|
129
|
+
console.warn(`[MemoryManagerFactory] Memory manager already initialized with path: ${sharedMemoryManagerPath}. ` +
|
|
130
|
+
`Ignoring new path: ${resolvedPath}. Use resetSharedMemoryManager() to change path.`);
|
|
131
|
+
return sharedMemoryManager;
|
|
132
|
+
}
|
|
133
|
+
// Create new singleton
|
|
134
|
+
ensureDbDirectoryExists(resolvedPath);
|
|
135
|
+
console.log(`[MemoryManagerFactory] Creating shared memory manager at: ${resolvedPath}`);
|
|
136
|
+
sharedMemoryManager = new SwarmMemoryManager_js_1.SwarmMemoryManager(resolvedPath);
|
|
137
|
+
sharedMemoryManagerPath = resolvedPath;
|
|
138
|
+
return sharedMemoryManager;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Initialize the shared memory manager asynchronously
|
|
142
|
+
*
|
|
143
|
+
* This method ensures only ONE initialization happens even if called multiple times.
|
|
144
|
+
* All callers will receive the same initialized instance.
|
|
145
|
+
*
|
|
146
|
+
* @param dbPath Optional database path
|
|
147
|
+
* @returns Promise that resolves to the initialized SwarmMemoryManager
|
|
148
|
+
*/
|
|
149
|
+
async function initializeSharedMemoryManager(dbPath) {
|
|
150
|
+
// If already initializing, return the existing promise
|
|
151
|
+
if (initializationPromise) {
|
|
152
|
+
return initializationPromise;
|
|
153
|
+
}
|
|
154
|
+
// If already initialized, return the instance
|
|
155
|
+
if (sharedMemoryManager) {
|
|
156
|
+
const resolvedPath = resolveDbPath(dbPath);
|
|
157
|
+
if (sharedMemoryManagerPath === resolvedPath) {
|
|
158
|
+
return sharedMemoryManager;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
// Start initialization
|
|
162
|
+
initializationPromise = (async () => {
|
|
163
|
+
const manager = getSharedMemoryManager(dbPath);
|
|
164
|
+
await manager.initialize();
|
|
165
|
+
console.log(`[MemoryManagerFactory] Shared memory manager initialized at: ${sharedMemoryManagerPath}`);
|
|
166
|
+
return manager;
|
|
167
|
+
})();
|
|
168
|
+
try {
|
|
169
|
+
const result = await initializationPromise;
|
|
170
|
+
return result;
|
|
171
|
+
}
|
|
172
|
+
catch (error) {
|
|
173
|
+
// Reset on failure so it can be retried
|
|
174
|
+
initializationPromise = null;
|
|
175
|
+
throw error;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Check if shared memory manager is initialized
|
|
180
|
+
*/
|
|
181
|
+
function hasSharedMemoryManager() {
|
|
182
|
+
return sharedMemoryManager !== null;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Get the path of the current shared memory manager
|
|
186
|
+
*/
|
|
187
|
+
function getSharedMemoryManagerPath() {
|
|
188
|
+
return sharedMemoryManagerPath;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Reset the shared memory manager singleton
|
|
192
|
+
*
|
|
193
|
+
* Use with caution - this should only be called during testing or
|
|
194
|
+
* when explicitly changing database paths.
|
|
195
|
+
*/
|
|
196
|
+
async function resetSharedMemoryManager() {
|
|
197
|
+
if (sharedMemoryManager) {
|
|
198
|
+
try {
|
|
199
|
+
await sharedMemoryManager.close();
|
|
200
|
+
}
|
|
201
|
+
catch (error) {
|
|
202
|
+
console.warn('[MemoryManagerFactory] Error closing memory manager:', error);
|
|
203
|
+
}
|
|
204
|
+
sharedMemoryManager = null;
|
|
205
|
+
sharedMemoryManagerPath = null;
|
|
206
|
+
initializationPromise = null;
|
|
207
|
+
console.log('[MemoryManagerFactory] Shared memory manager reset');
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Get database path info for debugging
|
|
212
|
+
*/
|
|
213
|
+
function getDbPathInfo() {
|
|
214
|
+
return {
|
|
215
|
+
defaultPath: resolveDbPath(),
|
|
216
|
+
currentSharedPath: sharedMemoryManagerPath,
|
|
217
|
+
processCwd: process.cwd(),
|
|
218
|
+
envPath: process.env.AQE_DB_PATH
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Setup process exit handlers to ensure database is properly closed
|
|
223
|
+
*
|
|
224
|
+
* This is critical for sql.js which only persists to disk on close()
|
|
225
|
+
*/
|
|
226
|
+
function setupExitHandlers() {
|
|
227
|
+
const cleanup = async () => {
|
|
228
|
+
if (sharedMemoryManager) {
|
|
229
|
+
console.log('[MemoryManagerFactory] Closing database on process exit...');
|
|
230
|
+
try {
|
|
231
|
+
await sharedMemoryManager.close();
|
|
232
|
+
console.log('[MemoryManagerFactory] Database closed successfully');
|
|
233
|
+
}
|
|
234
|
+
catch (error) {
|
|
235
|
+
console.error('[MemoryManagerFactory] Error closing database:', error);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
};
|
|
239
|
+
// Handle normal exit
|
|
240
|
+
process.on('exit', () => {
|
|
241
|
+
// Can't use async here, but close() should be synchronous for better-sqlite3
|
|
242
|
+
if (sharedMemoryManager) {
|
|
243
|
+
try {
|
|
244
|
+
// SwarmMemoryManager.close() is async but better-sqlite3 close is sync
|
|
245
|
+
sharedMemoryManager.db?.close?.();
|
|
246
|
+
}
|
|
247
|
+
catch (error) {
|
|
248
|
+
console.error('[MemoryManagerFactory] Error on exit:', error);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
});
|
|
252
|
+
// Handle termination signals
|
|
253
|
+
process.on('SIGINT', async () => {
|
|
254
|
+
await cleanup();
|
|
255
|
+
process.exit(0);
|
|
256
|
+
});
|
|
257
|
+
process.on('SIGTERM', async () => {
|
|
258
|
+
await cleanup();
|
|
259
|
+
process.exit(0);
|
|
260
|
+
});
|
|
261
|
+
// Handle uncaught exceptions
|
|
262
|
+
process.on('uncaughtException', async (error) => {
|
|
263
|
+
console.error('[MemoryManagerFactory] Uncaught exception:', error);
|
|
264
|
+
await cleanup();
|
|
265
|
+
process.exit(1);
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
// Setup exit handlers when module is loaded
|
|
269
|
+
setupExitHandlers();
|
|
270
|
+
//# sourceMappingURL=MemoryManagerFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemoryManagerFactory.js","sourceRoot":"","sources":["../../../src/core/memory/MemoryManagerFactory.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBH,sCA6BC;AAKD,0DAWC;AAWD,wDA0BC;AAWD,sEA8BC;AAKD,wDAEC;AAKD,gEAEC;AAQD,4DAYC;AAKD,sCAYC;AAOD,8CA2CC;AA/OD,2CAA6B;AAC7B,6CAA+B;AAC/B,mEAA6D;AAE7D,sBAAsB;AACtB,IAAI,mBAAmB,GAA8B,IAAI,CAAC;AAC1D,IAAI,uBAAuB,GAAkB,IAAI,CAAC;AAClD,IAAI,qBAAqB,GAAuC,IAAI,CAAC;AAErE;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,SAAkB;IAC9C,qDAAqD;IACrD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;IAC9D,CAAC;IAED,mCAAmC;IACnC,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,sCAAsC;IACtC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IACxC,IAAI,OAAO,EAAE,CAAC;QACZ,yBAAyB;QACzB,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,gCAAgC;QAChC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,oCAAoC;IACpC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,+DAA+D;IAC/D,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CAAC,MAAc;IACpD,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,sDAAsD,KAAK,EAAE,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,sBAAsB,CAAC,MAAe;IACpD,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAE3C,gDAAgD;IAChD,IAAI,mBAAmB,IAAI,uBAAuB,KAAK,YAAY,EAAE,CAAC;QACpE,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,oEAAoE;IACpE,iEAAiE;IACjE,IAAI,mBAAmB,IAAI,uBAAuB,KAAK,YAAY,EAAE,CAAC;QACpE,OAAO,CAAC,IAAI,CACV,wEAAwE,uBAAuB,IAAI;YACnG,sBAAsB,YAAY,kDAAkD,CACrF,CAAC;QACF,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,uBAAuB;IACvB,uBAAuB,CAAC,YAAY,CAAC,CAAC;IAEtC,OAAO,CAAC,GAAG,CAAC,6DAA6D,YAAY,EAAE,CAAC,CAAC;IACzF,mBAAmB,GAAG,IAAI,0CAAkB,CAAC,YAAY,CAAC,CAAC;IAC3D,uBAAuB,GAAG,YAAY,CAAC;IAEvC,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,6BAA6B,CAAC,MAAe;IACjE,uDAAuD;IACvD,IAAI,qBAAqB,EAAE,CAAC;QAC1B,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAED,8CAA8C;IAC9C,IAAI,mBAAmB,EAAE,CAAC;QACxB,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,uBAAuB,KAAK,YAAY,EAAE,CAAC;YAC7C,OAAO,mBAAmB,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,qBAAqB,GAAG,CAAC,KAAK,IAAI,EAAE;QAClC,MAAM,OAAO,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,gEAAgE,uBAAuB,EAAE,CAAC,CAAC;QACvG,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,EAAE,CAAC;IAEL,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC;QAC3C,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,wCAAwC;QACxC,qBAAqB,GAAG,IAAI,CAAC;QAC7B,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,sBAAsB;IACpC,OAAO,mBAAmB,KAAK,IAAI,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,SAAgB,0BAA0B;IACxC,OAAO,uBAAuB,CAAC;AACjC,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,wBAAwB;IAC5C,IAAI,mBAAmB,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,mBAAmB,CAAC,KAAK,EAAE,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,sDAAsD,EAAE,KAAK,CAAC,CAAC;QAC9E,CAAC;QACD,mBAAmB,GAAG,IAAI,CAAC;QAC3B,uBAAuB,GAAG,IAAI,CAAC;QAC/B,qBAAqB,GAAG,IAAI,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;IACpE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa;IAM3B,OAAO;QACL,WAAW,EAAE,aAAa,EAAE;QAC5B,iBAAiB,EAAE,uBAAuB;QAC1C,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE;QACzB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW;KACjC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,iBAAiB;IAC/B,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;QACzB,IAAI,mBAAmB,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;YAC1E,IAAI,CAAC;gBACH,MAAM,mBAAmB,CAAC,KAAK,EAAE,CAAC;gBAClC,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;YACrE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,gDAAgD,EAAE,KAAK,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,qBAAqB;IACrB,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QACtB,6EAA6E;QAC7E,IAAI,mBAAmB,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,uEAAuE;gBACtE,mBAA2B,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC;YAC7C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,6BAA6B;IAC7B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QAC9B,MAAM,OAAO,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QAC/B,MAAM,OAAO,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,6BAA6B;IAC7B,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAC9C,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,KAAK,CAAC,CAAC;QACnE,MAAM,OAAO,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,4CAA4C;AAC5C,iBAAiB,EAAE,CAAC"}
|
|
@@ -180,6 +180,7 @@ export declare class SwarmMemoryManager {
|
|
|
180
180
|
private initialized;
|
|
181
181
|
private accessControl;
|
|
182
182
|
private aclCache;
|
|
183
|
+
private patternCache;
|
|
183
184
|
private agentDBManager;
|
|
184
185
|
private lastModifiedTimestamps;
|
|
185
186
|
private readonly TTL_POLICY;
|
|
@@ -239,6 +240,11 @@ export declare class SwarmMemoryManager {
|
|
|
239
240
|
storePattern(pattern: Pattern): Promise<string>;
|
|
240
241
|
getPattern(patternName: string): Promise<Pattern>;
|
|
241
242
|
incrementPatternUsage(patternName: string): Promise<void>;
|
|
243
|
+
/**
|
|
244
|
+
* Invalidate pattern cache for a specific agent
|
|
245
|
+
* Call this after any pattern mutation to maintain cache coherence
|
|
246
|
+
*/
|
|
247
|
+
private invalidatePatternCacheForAgent;
|
|
242
248
|
queryPatternsByConfidence(threshold: number): Promise<Pattern[]>;
|
|
243
249
|
/**
|
|
244
250
|
* Query patterns by agent ID and minimum confidence
|
|
@@ -247,7 +253,19 @@ export declare class SwarmMemoryManager {
|
|
|
247
253
|
* @param minConfidence Minimum confidence threshold (default: 0)
|
|
248
254
|
* @returns Array of patterns belonging to the agent
|
|
249
255
|
*/
|
|
256
|
+
/**
|
|
257
|
+
* Escape special LIKE pattern characters to prevent SQL injection
|
|
258
|
+
*/
|
|
259
|
+
private escapeLikePattern;
|
|
250
260
|
queryPatternsByAgent(agentId: string, minConfidence?: number): Promise<Pattern[]>;
|
|
261
|
+
/**
|
|
262
|
+
* Get pattern cache statistics for monitoring
|
|
263
|
+
*/
|
|
264
|
+
getPatternCacheStats(): import("./PatternCache").CacheStats;
|
|
265
|
+
/**
|
|
266
|
+
* Clear pattern cache (useful after bulk updates)
|
|
267
|
+
*/
|
|
268
|
+
clearPatternCache(): void;
|
|
251
269
|
createConsensusProposal(proposal: ConsensusProposal): Promise<void>;
|
|
252
270
|
getConsensusProposal(id: string): Promise<ConsensusProposal>;
|
|
253
271
|
voteOnConsensus(proposalId: string, agentId: string): Promise<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SwarmMemoryManager.d.ts","sourceRoot":"","sources":["../../../src/core/memory/SwarmMemoryManager.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,aAAa,EACb,WAAW,EACX,UAAU,EACV,GAAG,EACH,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE,kBAAkB,EAAE,CAAC;AAC5D,OAAO,EACL,cAAc,EAEd,KAAK,aAAa,EACnB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,GAAG,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,IAAI;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,GAAG,CAAC;IACX,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,KAAK;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,GAAG,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAGD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC3D,UAAU,EAAE,GAAG,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,OAAO;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,iBAAiB;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,OAAO,GAAG,WAAW,CAAC;IAC5B,KAAK,EAAE,GAAG,CAAC;IACX,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,GAAG,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;CACb;AAGD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,YAAY,CAAC;IACzC,WAAW,EAAE,GAAG,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;IAC/C,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,GAAG,CAAC;CACd;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,EAAE,CAAuC;IACjD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,sBAAsB,CAAsB;IAGpD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAOzB;gBAEU,MAAM,GAAE,MAAmB;IAOvC,OAAO,CAAC,GAAG;IAOX,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,QAAQ;IAOV,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAiT3B,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgE/E;;;OAGG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,GAAE,YAAY,GAAG,MAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtF;;;OAGG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,eAAe,GAAG,MAAW,GAAG,OAAO,CAAC,GAAG,CAAC;IAQtE,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,GAAG,CAAC;IAiDlE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAkD7E,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,GAAE,MAAkB,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAuC9F,KAAK,CAAC,SAAS,GAAE,MAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQnD,QAAQ,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAcxE,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAuB3C,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAwC/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtB,KAAK,IAAI,OAAO,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,EAAE,MAAM,CAAC;QACzB,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACtC,CAAC;IAqDI,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBzC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAwB3C,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IA4BnD,kBAAkB,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAe1D,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IA4BpD,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB/E,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IA4BhE,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IA4B/C,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA4BjD,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAazD,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAyBtE;;;;;;OAMG;IACG,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,GAAE,MAAU,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAoCpF,uBAAuB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BnE,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA8B5D,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA2BtE,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IA8BrE,sBAAsB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAiBlE,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAuBzE,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAuBhE,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAiBrD,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBjD,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IA4B1C,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAwBvD,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IA4BrD,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB9C,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA0BxC,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB9E,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAOvE,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBpD,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBtD,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA2BhD,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAe3F,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAuBjE,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBxE,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAc5C,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAyB1C,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBlD,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IA0B9C,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAc5C,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IA6B1C,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB/C,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IA6B5C,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBrF,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAa9D,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IA2BjE;;OAEG;IACG,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BvC;;OAEG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAmCrD;;OAEG;IACG,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAUzE;;OAEG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAUpG;;OAEG;IACG,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAUrG;;OAEG;IACG,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUpE;;OAEG;IACG,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUtE;;OAEG;IACH,gBAAgB,IAAI,aAAa;IAQjC;;;;OAIG;IACG,aAAa,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBnE;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAYrC;;;;;;OAMG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUjE;;;;OAIG;IACG,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQnD;;;;OAIG;IACH,cAAc,IAAI,GAAG,GAAG,IAAI;IAS5B;;;;OAIG;IACH,YAAY,IAAI,GAAG,EAAE;IASrB;;;;OAIG;IACH,aAAa,IAAI,OAAO;IAIxB;;;;;;OAMG;IACG,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAmCnF;;;;;;OAMG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,GAAE,MAAkB,GAAG,MAAM,GAAG,SAAS;IAK/E;;;;OAIG;IACH,iBAAiB,IAAI,cAAc,GAAG,IAAI;IAQ1C;;;OAGG;IACG,uBAAuB,CAAC,UAAU,EAAE;QACxC,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBjB;;;OAGG;IACG,YAAY,CAChB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IAiBhB;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAClD,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;IAoBH;;OAEG;IACG,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAc7F;;OAEG;IACG,qBAAqB,CAAC,QAAQ,EAAE;QACpC,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,aAAa,GAAG,SAAS,GAAG,SAAS,CAAC;QACpD,OAAO,EAAE,GAAG,CAAC;QACb,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBjB;;OAEG;IACG,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,MAAY,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5E,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,yBAAyB,CAAC,EAAE,MAAM,CAAC;QACnC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;CA2BJ"}
|
|
1
|
+
{"version":3,"file":"SwarmMemoryManager.d.ts","sourceRoot":"","sources":["../../../src/core/memory/SwarmMemoryManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,6 +46,7 @@ Object.defineProperty(exports, "AccessLevel", { enumerable: true, get: function
|
|
|
46
46
|
Object.defineProperty(exports, "Permission", { enumerable: true, get: function () { return AccessControl_1.Permission; } });
|
|
47
47
|
Object.defineProperty(exports, "AccessControlError", { enumerable: true, get: function () { return AccessControl_1.AccessControlError; } });
|
|
48
48
|
const AgentDBManager_1 = require("./AgentDBManager");
|
|
49
|
+
const PatternCache_1 = require("./PatternCache");
|
|
49
50
|
/**
|
|
50
51
|
* SwarmMemoryManager - Manages persistent memory for agent swarm coordination
|
|
51
52
|
*
|
|
@@ -84,6 +85,12 @@ class SwarmMemoryManager {
|
|
|
84
85
|
this.accessControl = new AccessControl_1.AccessControl();
|
|
85
86
|
this.aclCache = new Map();
|
|
86
87
|
this.lastModifiedTimestamps = new Map();
|
|
88
|
+
// Initialize pattern cache with LRU eviction (100 entries, 60s TTL)
|
|
89
|
+
this.patternCache = new PatternCache_1.PatternCache({
|
|
90
|
+
maxSize: 100,
|
|
91
|
+
ttl: 60000,
|
|
92
|
+
enableStats: true
|
|
93
|
+
});
|
|
87
94
|
}
|
|
88
95
|
run(sql, params = []) {
|
|
89
96
|
if (!this.db) {
|
|
@@ -192,8 +199,18 @@ class SwarmMemoryManager {
|
|
|
192
199
|
metadata TEXT,
|
|
193
200
|
ttl INTEGER NOT NULL DEFAULT ${this.TTL_POLICY.patterns},
|
|
194
201
|
expires_at INTEGER,
|
|
195
|
-
created_at INTEGER NOT NULL
|
|
202
|
+
created_at INTEGER NOT NULL,
|
|
203
|
+
agent_id TEXT
|
|
196
204
|
)
|
|
205
|
+
`);
|
|
206
|
+
// Create indexes for O(log n) pattern queries (Issue #57)
|
|
207
|
+
await this.run(`
|
|
208
|
+
CREATE INDEX IF NOT EXISTS idx_patterns_agent_confidence
|
|
209
|
+
ON patterns(agent_id, confidence DESC)
|
|
210
|
+
`);
|
|
211
|
+
await this.run(`
|
|
212
|
+
CREATE INDEX IF NOT EXISTS idx_patterns_agent
|
|
213
|
+
ON patterns(agent_id)
|
|
197
214
|
`);
|
|
198
215
|
// Table 6: Consensus State (TTL: 7 days)
|
|
199
216
|
await this.run(`
|
|
@@ -797,8 +814,10 @@ class SwarmMemoryManager {
|
|
|
797
814
|
const now = Date.now();
|
|
798
815
|
const ttl = pattern.ttl !== undefined ? pattern.ttl : this.TTL_POLICY.patterns;
|
|
799
816
|
const expiresAt = ttl > 0 ? now + (ttl * 1000) : null;
|
|
800
|
-
|
|
801
|
-
|
|
817
|
+
// Extract agent_id from metadata for indexed lookups (O(log n) vs O(n))
|
|
818
|
+
const agentId = pattern.metadata?.agent_id || pattern.metadata?.agentId || null;
|
|
819
|
+
await this.run(`INSERT OR REPLACE INTO patterns (id, pattern, confidence, usage_count, metadata, ttl, expires_at, created_at, agent_id)
|
|
820
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`, [
|
|
802
821
|
id,
|
|
803
822
|
pattern.pattern,
|
|
804
823
|
pattern.confidence,
|
|
@@ -806,8 +825,11 @@ class SwarmMemoryManager {
|
|
|
806
825
|
pattern.metadata ? JSON.stringify(pattern.metadata) : null,
|
|
807
826
|
ttl,
|
|
808
827
|
expiresAt,
|
|
809
|
-
now
|
|
828
|
+
now,
|
|
829
|
+
agentId
|
|
810
830
|
]);
|
|
831
|
+
// Invalidate cache for this agent to ensure consistency
|
|
832
|
+
this.invalidatePatternCacheForAgent(agentId);
|
|
811
833
|
return id;
|
|
812
834
|
}
|
|
813
835
|
async getPattern(patternName) {
|
|
@@ -835,9 +857,31 @@ class SwarmMemoryManager {
|
|
|
835
857
|
if (!this.db) {
|
|
836
858
|
throw new Error('Memory manager not initialized');
|
|
837
859
|
}
|
|
838
|
-
|
|
860
|
+
// Get the agent_id before updating to invalidate correct cache entries
|
|
861
|
+
const pattern = this.queryOne(`SELECT agent_id, metadata FROM patterns WHERE pattern = ?`, [patternName]);
|
|
862
|
+
this.run(`UPDATE patterns
|
|
839
863
|
SET usage_count = usage_count + 1
|
|
840
864
|
WHERE pattern = ?`, [patternName]);
|
|
865
|
+
// Invalidate cache for affected agent
|
|
866
|
+
if (pattern) {
|
|
867
|
+
const agentId = pattern.agent_id ||
|
|
868
|
+
(pattern.metadata ? JSON.parse(pattern.metadata).agent_id || JSON.parse(pattern.metadata).agentId : null);
|
|
869
|
+
this.invalidatePatternCacheForAgent(agentId);
|
|
870
|
+
}
|
|
871
|
+
}
|
|
872
|
+
/**
|
|
873
|
+
* Invalidate pattern cache for a specific agent
|
|
874
|
+
* Call this after any pattern mutation to maintain cache coherence
|
|
875
|
+
*/
|
|
876
|
+
invalidatePatternCacheForAgent(agentId) {
|
|
877
|
+
if (agentId) {
|
|
878
|
+
this.patternCache.invalidate(agentId);
|
|
879
|
+
}
|
|
880
|
+
else {
|
|
881
|
+
// Nuclear option for NULL agent_id - clear entire cache
|
|
882
|
+
// This is expensive but ensures correctness for pre-migration data
|
|
883
|
+
this.patternCache.clear();
|
|
884
|
+
}
|
|
841
885
|
}
|
|
842
886
|
async queryPatternsByConfidence(threshold) {
|
|
843
887
|
if (!this.db) {
|
|
@@ -865,23 +909,49 @@ class SwarmMemoryManager {
|
|
|
865
909
|
* @param minConfidence Minimum confidence threshold (default: 0)
|
|
866
910
|
* @returns Array of patterns belonging to the agent
|
|
867
911
|
*/
|
|
912
|
+
/**
|
|
913
|
+
* Escape special LIKE pattern characters to prevent SQL injection
|
|
914
|
+
*/
|
|
915
|
+
escapeLikePattern(value) {
|
|
916
|
+
return value.replace(/[%_\\]/g, '\\$&');
|
|
917
|
+
}
|
|
868
918
|
async queryPatternsByAgent(agentId, minConfidence = 0) {
|
|
869
919
|
if (!this.db) {
|
|
870
920
|
throw new Error('Memory manager not initialized');
|
|
871
921
|
}
|
|
922
|
+
// Check cache first (O(1) lookup)
|
|
923
|
+
const cacheKey = PatternCache_1.PatternCache.generateKey(agentId, minConfidence);
|
|
924
|
+
const cached = this.patternCache.get(cacheKey);
|
|
925
|
+
if (cached) {
|
|
926
|
+
return cached;
|
|
927
|
+
}
|
|
872
928
|
const now = Date.now();
|
|
873
|
-
const
|
|
929
|
+
const escapedAgentId = this.escapeLikePattern(agentId);
|
|
930
|
+
// Split into two queries to ensure index usage on the fast path
|
|
931
|
+
// Query 1: O(log n) - Use index for agent_id column (post-migration data)
|
|
932
|
+
const indexedRows = this.queryAll(`SELECT id, pattern, confidence, usage_count, metadata, ttl, created_at
|
|
933
|
+
FROM patterns
|
|
934
|
+
WHERE agent_id = ?
|
|
935
|
+
AND confidence >= ?
|
|
936
|
+
AND (expires_at IS NULL OR expires_at > ?)
|
|
937
|
+
ORDER BY confidence DESC`, [agentId, minConfidence, now]);
|
|
938
|
+
// Query 2: O(n) - Fallback LIKE scan for pre-migration data (agent_id IS NULL)
|
|
939
|
+
const nullRows = this.queryAll(`SELECT id, pattern, confidence, usage_count, metadata, ttl, created_at
|
|
874
940
|
FROM patterns
|
|
875
|
-
WHERE
|
|
941
|
+
WHERE agent_id IS NULL
|
|
942
|
+
AND confidence >= ?
|
|
876
943
|
AND (expires_at IS NULL OR expires_at > ?)
|
|
877
|
-
AND (metadata LIKE ? OR metadata LIKE ?)
|
|
944
|
+
AND (metadata LIKE ? ESCAPE '\\' OR metadata LIKE ? ESCAPE '\\')
|
|
878
945
|
ORDER BY confidence DESC`, [
|
|
879
946
|
minConfidence,
|
|
880
947
|
now,
|
|
881
|
-
`%"agent_id":"${
|
|
882
|
-
`%"agentId":"${
|
|
948
|
+
`%"agent_id":"${escapedAgentId}"%`,
|
|
949
|
+
`%"agentId":"${escapedAgentId}"%`
|
|
883
950
|
]);
|
|
884
|
-
|
|
951
|
+
// Combine results and sort by confidence (descending)
|
|
952
|
+
const allRows = [...indexedRows, ...nullRows];
|
|
953
|
+
allRows.sort((a, b) => b.confidence - a.confidence);
|
|
954
|
+
const patterns = allRows.map((row) => ({
|
|
885
955
|
id: row.id,
|
|
886
956
|
pattern: row.pattern,
|
|
887
957
|
confidence: row.confidence,
|
|
@@ -890,6 +960,21 @@ class SwarmMemoryManager {
|
|
|
890
960
|
ttl: row.ttl,
|
|
891
961
|
createdAt: row.created_at
|
|
892
962
|
}));
|
|
963
|
+
// Cache results for subsequent lookups
|
|
964
|
+
this.patternCache.set(cacheKey, patterns);
|
|
965
|
+
return patterns;
|
|
966
|
+
}
|
|
967
|
+
/**
|
|
968
|
+
* Get pattern cache statistics for monitoring
|
|
969
|
+
*/
|
|
970
|
+
getPatternCacheStats() {
|
|
971
|
+
return this.patternCache.getStats();
|
|
972
|
+
}
|
|
973
|
+
/**
|
|
974
|
+
* Clear pattern cache (useful after bulk updates)
|
|
975
|
+
*/
|
|
976
|
+
clearPatternCache() {
|
|
977
|
+
this.patternCache.clear();
|
|
893
978
|
}
|
|
894
979
|
// ============================================================================
|
|
895
980
|
// Table 6: Consensus State (TTL: 7 days)
|