agentic-qe 2.8.0 → 2.8.1

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.
Files changed (142) hide show
  1. package/CHANGELOG.md +105 -0
  2. package/README.md +1 -1
  3. package/dist/agents/BaseAgent.d.ts +128 -0
  4. package/dist/agents/BaseAgent.d.ts.map +1 -1
  5. package/dist/agents/BaseAgent.js +256 -0
  6. package/dist/agents/BaseAgent.js.map +1 -1
  7. package/dist/cli/commands/supabase/index.d.ts +20 -0
  8. package/dist/cli/commands/supabase/index.d.ts.map +1 -0
  9. package/dist/cli/commands/supabase/index.js +632 -0
  10. package/dist/cli/commands/supabase/index.js.map +1 -0
  11. package/dist/cli/index.js +3 -0
  12. package/dist/cli/index.js.map +1 -1
  13. package/dist/core/memory/HNSWVectorMemory.js +1 -1
  14. package/dist/mcp/handlers/NewDomainToolsHandler.d.ts +8 -8
  15. package/dist/mcp/handlers/NewDomainToolsHandler.d.ts.map +1 -1
  16. package/dist/mcp/handlers/NewDomainToolsHandler.js.map +1 -1
  17. package/dist/mcp/handlers/ruvector/RuVectorHandler.d.ts +54 -0
  18. package/dist/mcp/handlers/ruvector/RuVectorHandler.d.ts.map +1 -0
  19. package/dist/mcp/handlers/ruvector/RuVectorHandler.js +325 -0
  20. package/dist/mcp/handlers/ruvector/RuVectorHandler.js.map +1 -0
  21. package/dist/mcp/handlers/ruvector/index.d.ts +5 -0
  22. package/dist/mcp/handlers/ruvector/index.d.ts.map +1 -0
  23. package/dist/mcp/handlers/ruvector/index.js +9 -0
  24. package/dist/mcp/handlers/ruvector/index.js.map +1 -0
  25. package/dist/mcp/server-instructions.d.ts +1 -1
  26. package/dist/mcp/server-instructions.js +1 -1
  27. package/dist/mcp/server.d.ts.map +1 -1
  28. package/dist/mcp/server.js +100 -22
  29. package/dist/mcp/server.js.map +1 -1
  30. package/dist/nervous-system/adapters/BTSPAdapter.d.ts +342 -0
  31. package/dist/nervous-system/adapters/BTSPAdapter.d.ts.map +1 -0
  32. package/dist/nervous-system/adapters/BTSPAdapter.js +494 -0
  33. package/dist/nervous-system/adapters/BTSPAdapter.js.map +1 -0
  34. package/dist/nervous-system/adapters/CircadianController.d.ts +560 -0
  35. package/dist/nervous-system/adapters/CircadianController.d.ts.map +1 -0
  36. package/dist/nervous-system/adapters/CircadianController.js +882 -0
  37. package/dist/nervous-system/adapters/CircadianController.js.map +1 -0
  38. package/dist/nervous-system/adapters/GlobalWorkspaceAdapter.d.ts +337 -0
  39. package/dist/nervous-system/adapters/GlobalWorkspaceAdapter.d.ts.map +1 -0
  40. package/dist/nervous-system/adapters/GlobalWorkspaceAdapter.js +532 -0
  41. package/dist/nervous-system/adapters/GlobalWorkspaceAdapter.js.map +1 -0
  42. package/dist/nervous-system/adapters/HdcMemoryAdapter.d.ts +444 -0
  43. package/dist/nervous-system/adapters/HdcMemoryAdapter.d.ts.map +1 -0
  44. package/dist/nervous-system/adapters/HdcMemoryAdapter.js +715 -0
  45. package/dist/nervous-system/adapters/HdcMemoryAdapter.js.map +1 -0
  46. package/dist/nervous-system/adapters/ReflexLayer.d.ts +231 -0
  47. package/dist/nervous-system/adapters/ReflexLayer.d.ts.map +1 -0
  48. package/dist/nervous-system/adapters/ReflexLayer.js +309 -0
  49. package/dist/nervous-system/adapters/ReflexLayer.js.map +1 -0
  50. package/dist/nervous-system/index.d.ts +25 -0
  51. package/dist/nervous-system/index.d.ts.map +1 -0
  52. package/dist/nervous-system/index.js +80 -0
  53. package/dist/nervous-system/index.js.map +1 -0
  54. package/dist/nervous-system/integration/BTSPLearningEngine.d.ts +266 -0
  55. package/dist/nervous-system/integration/BTSPLearningEngine.d.ts.map +1 -0
  56. package/dist/nervous-system/integration/BTSPLearningEngine.js +587 -0
  57. package/dist/nervous-system/integration/BTSPLearningEngine.js.map +1 -0
  58. package/dist/nervous-system/integration/CircadianAgent.d.ts +389 -0
  59. package/dist/nervous-system/integration/CircadianAgent.d.ts.map +1 -0
  60. package/dist/nervous-system/integration/CircadianAgent.js +696 -0
  61. package/dist/nervous-system/integration/CircadianAgent.js.map +1 -0
  62. package/dist/nervous-system/integration/HybridPatternStore.d.ts +244 -0
  63. package/dist/nervous-system/integration/HybridPatternStore.d.ts.map +1 -0
  64. package/dist/nervous-system/integration/HybridPatternStore.js +622 -0
  65. package/dist/nervous-system/integration/HybridPatternStore.js.map +1 -0
  66. package/dist/nervous-system/integration/NervousSystemEnhancement.d.ts +459 -0
  67. package/dist/nervous-system/integration/NervousSystemEnhancement.d.ts.map +1 -0
  68. package/dist/nervous-system/integration/NervousSystemEnhancement.js +921 -0
  69. package/dist/nervous-system/integration/NervousSystemEnhancement.js.map +1 -0
  70. package/dist/nervous-system/integration/WorkspaceAgent.d.ts +398 -0
  71. package/dist/nervous-system/integration/WorkspaceAgent.d.ts.map +1 -0
  72. package/dist/nervous-system/integration/WorkspaceAgent.js +722 -0
  73. package/dist/nervous-system/integration/WorkspaceAgent.js.map +1 -0
  74. package/dist/nervous-system/integration/index.d.ts +22 -0
  75. package/dist/nervous-system/integration/index.d.ts.map +1 -0
  76. package/dist/nervous-system/integration/index.js +44 -0
  77. package/dist/nervous-system/integration/index.js.map +1 -0
  78. package/dist/nervous-system/persistence/BTSPSerializer.d.ts +96 -0
  79. package/dist/nervous-system/persistence/BTSPSerializer.d.ts.map +1 -0
  80. package/dist/nervous-system/persistence/BTSPSerializer.js +223 -0
  81. package/dist/nervous-system/persistence/BTSPSerializer.js.map +1 -0
  82. package/dist/nervous-system/persistence/CircadianSerializer.d.ts +90 -0
  83. package/dist/nervous-system/persistence/CircadianSerializer.d.ts.map +1 -0
  84. package/dist/nervous-system/persistence/CircadianSerializer.js +239 -0
  85. package/dist/nervous-system/persistence/CircadianSerializer.js.map +1 -0
  86. package/dist/nervous-system/persistence/HdcSerializer.d.ts +100 -0
  87. package/dist/nervous-system/persistence/HdcSerializer.d.ts.map +1 -0
  88. package/dist/nervous-system/persistence/HdcSerializer.js +259 -0
  89. package/dist/nervous-system/persistence/HdcSerializer.js.map +1 -0
  90. package/dist/nervous-system/persistence/INervousSystemStore.d.ts +208 -0
  91. package/dist/nervous-system/persistence/INervousSystemStore.d.ts.map +1 -0
  92. package/dist/nervous-system/persistence/INervousSystemStore.js +11 -0
  93. package/dist/nervous-system/persistence/INervousSystemStore.js.map +1 -0
  94. package/dist/nervous-system/persistence/NervousSystemPersistenceManager.d.ts +187 -0
  95. package/dist/nervous-system/persistence/NervousSystemPersistenceManager.d.ts.map +1 -0
  96. package/dist/nervous-system/persistence/NervousSystemPersistenceManager.js +411 -0
  97. package/dist/nervous-system/persistence/NervousSystemPersistenceManager.js.map +1 -0
  98. package/dist/nervous-system/persistence/SQLiteNervousSystemStore.d.ts +98 -0
  99. package/dist/nervous-system/persistence/SQLiteNervousSystemStore.d.ts.map +1 -0
  100. package/dist/nervous-system/persistence/SQLiteNervousSystemStore.js +510 -0
  101. package/dist/nervous-system/persistence/SQLiteNervousSystemStore.js.map +1 -0
  102. package/dist/nervous-system/persistence/index.d.ts +22 -0
  103. package/dist/nervous-system/persistence/index.d.ts.map +1 -0
  104. package/dist/nervous-system/persistence/index.js +45 -0
  105. package/dist/nervous-system/persistence/index.js.map +1 -0
  106. package/dist/nervous-system/wasm-loader.d.ts +52 -0
  107. package/dist/nervous-system/wasm-loader.d.ts.map +1 -0
  108. package/dist/nervous-system/wasm-loader.js +188 -0
  109. package/dist/nervous-system/wasm-loader.js.map +1 -0
  110. package/dist/persistence/HybridPersistenceProvider.d.ts +184 -0
  111. package/dist/persistence/HybridPersistenceProvider.d.ts.map +1 -0
  112. package/dist/persistence/HybridPersistenceProvider.js +1086 -0
  113. package/dist/persistence/HybridPersistenceProvider.js.map +1 -0
  114. package/dist/persistence/IPersistenceProvider.d.ts +657 -0
  115. package/dist/persistence/IPersistenceProvider.d.ts.map +1 -0
  116. package/dist/persistence/IPersistenceProvider.js +11 -0
  117. package/dist/persistence/IPersistenceProvider.js.map +1 -0
  118. package/dist/persistence/SupabaseConfig.d.ts +176 -0
  119. package/dist/persistence/SupabaseConfig.d.ts.map +1 -0
  120. package/dist/persistence/SupabaseConfig.js +277 -0
  121. package/dist/persistence/SupabaseConfig.js.map +1 -0
  122. package/dist/persistence/SupabasePersistenceProvider.d.ts +143 -0
  123. package/dist/persistence/SupabasePersistenceProvider.d.ts.map +1 -0
  124. package/dist/persistence/SupabasePersistenceProvider.js +955 -0
  125. package/dist/persistence/SupabasePersistenceProvider.js.map +1 -0
  126. package/dist/persistence/adapters/CodeIntelligenceSyncAdapter.d.ts +213 -0
  127. package/dist/persistence/adapters/CodeIntelligenceSyncAdapter.d.ts.map +1 -0
  128. package/dist/persistence/adapters/CodeIntelligenceSyncAdapter.js +468 -0
  129. package/dist/persistence/adapters/CodeIntelligenceSyncAdapter.js.map +1 -0
  130. package/dist/persistence/adapters/MemorySyncAdapter.d.ts +115 -0
  131. package/dist/persistence/adapters/MemorySyncAdapter.d.ts.map +1 -0
  132. package/dist/persistence/adapters/MemorySyncAdapter.js +291 -0
  133. package/dist/persistence/adapters/MemorySyncAdapter.js.map +1 -0
  134. package/dist/persistence/adapters/index.d.ts +11 -0
  135. package/dist/persistence/adapters/index.d.ts.map +1 -0
  136. package/dist/persistence/adapters/index.js +20 -0
  137. package/dist/persistence/adapters/index.js.map +1 -0
  138. package/dist/persistence/index.d.ts +14 -0
  139. package/dist/persistence/index.d.ts.map +1 -1
  140. package/dist/persistence/index.js +36 -1
  141. package/dist/persistence/index.js.map +1 -1
  142. package/package.json +3 -1
@@ -0,0 +1,411 @@
1
+ "use strict";
2
+ /**
3
+ * Nervous System Persistence Manager
4
+ *
5
+ * Coordinates persistence across all nervous system components.
6
+ * Provides a unified API for saving and restoring agent nervous system state.
7
+ *
8
+ * @module nervous-system/persistence/NervousSystemPersistenceManager
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.NervousSystemPersistenceManager = void 0;
12
+ exports.createNervousSystemPersistenceManager = createNervousSystemPersistenceManager;
13
+ exports.getSharedPersistenceManager = getSharedPersistenceManager;
14
+ exports.resetSharedPersistenceManager = resetSharedPersistenceManager;
15
+ const events_1 = require("events");
16
+ const SQLiteNervousSystemStore_js_1 = require("./SQLiteNervousSystemStore.js");
17
+ const Logger_js_1 = require("../../utils/Logger.js");
18
+ /**
19
+ * Manages persistence of nervous system state across agents
20
+ */
21
+ class NervousSystemPersistenceManager extends events_1.EventEmitter {
22
+ constructor(config = {}) {
23
+ super();
24
+ this.initialized = false;
25
+ this.autoSaveTimer = null;
26
+ // Track pending state changes for auto-save
27
+ this.pendingStates = new Map();
28
+ // Track agents registered for auto-save
29
+ this.registeredAgents = new Set();
30
+ this.logger = Logger_js_1.Logger.getInstance();
31
+ this.config = {
32
+ store: config.store ?? null,
33
+ autoSaveIntervalMs: config.autoSaveIntervalMs ?? 0,
34
+ debug: config.debug ?? false,
35
+ dbPath: config.dbPath ?? '.agentic-qe/memory.db',
36
+ };
37
+ // Create default store if not provided
38
+ if (!this.config.store) {
39
+ this.store = (0, SQLiteNervousSystemStore_js_1.createSQLiteNervousSystemStore)({ dbPath: this.config.dbPath });
40
+ }
41
+ else {
42
+ this.store = this.config.store;
43
+ }
44
+ }
45
+ /**
46
+ * Initialize the persistence manager
47
+ */
48
+ async initialize() {
49
+ if (this.initialized)
50
+ return;
51
+ try {
52
+ await this.store.initialize();
53
+ // Start auto-save timer if configured
54
+ if (this.config.autoSaveIntervalMs > 0) {
55
+ this.startAutoSave();
56
+ }
57
+ this.initialized = true;
58
+ this.logger.info('NervousSystemPersistenceManager initialized', {
59
+ storeType: this.store.getStoreInfo().type,
60
+ autoSaveInterval: this.config.autoSaveIntervalMs,
61
+ });
62
+ }
63
+ catch (error) {
64
+ this.logger.error('Failed to initialize NervousSystemPersistenceManager:', error);
65
+ throw error;
66
+ }
67
+ }
68
+ /**
69
+ * Shutdown the persistence manager
70
+ */
71
+ async shutdown() {
72
+ if (!this.initialized)
73
+ return;
74
+ try {
75
+ // Stop auto-save
76
+ this.stopAutoSave();
77
+ // Flush any pending state
78
+ await this.flushPendingStates();
79
+ // Shutdown store
80
+ await this.store.shutdown();
81
+ this.initialized = false;
82
+ this.logger.info('NervousSystemPersistenceManager shutdown complete');
83
+ }
84
+ catch (error) {
85
+ this.logger.error('Error during NervousSystemPersistenceManager shutdown:', error);
86
+ }
87
+ }
88
+ /**
89
+ * Ensure manager is initialized
90
+ */
91
+ ensureInitialized() {
92
+ if (!this.initialized) {
93
+ throw new Error('NervousSystemPersistenceManager not initialized. Call initialize() first.');
94
+ }
95
+ }
96
+ // ============================================
97
+ // HDC State Operations
98
+ // ============================================
99
+ /**
100
+ * Save HDC memory state
101
+ */
102
+ async saveHdcState(agentId, state) {
103
+ this.ensureInitialized();
104
+ try {
105
+ await this.store.saveHdcState(agentId, state);
106
+ const sizeBytes = JSON.stringify(state).length;
107
+ this.emit('state:saved', { agentId, component: 'hdc', sizeBytes });
108
+ if (this.config.debug) {
109
+ this.logger.debug('Saved HDC state', { agentId, patterns: state.patterns.length });
110
+ }
111
+ }
112
+ catch (error) {
113
+ this.emit('error', { agentId, operation: 'saveHdcState', error: error });
114
+ throw error;
115
+ }
116
+ }
117
+ /**
118
+ * Load HDC memory state
119
+ */
120
+ async loadHdcState(agentId) {
121
+ this.ensureInitialized();
122
+ try {
123
+ const state = await this.store.loadHdcState(agentId);
124
+ if (state) {
125
+ this.emit('state:loaded', { agentId, component: 'hdc' });
126
+ }
127
+ return state;
128
+ }
129
+ catch (error) {
130
+ this.emit('error', { agentId, operation: 'loadHdcState', error: error });
131
+ throw error;
132
+ }
133
+ }
134
+ // ============================================
135
+ // BTSP State Operations
136
+ // ============================================
137
+ /**
138
+ * Save BTSP learner state
139
+ */
140
+ async saveBtspState(agentId, state) {
141
+ this.ensureInitialized();
142
+ try {
143
+ await this.store.saveBtspState(agentId, state);
144
+ const sizeBytes = JSON.stringify(state).length;
145
+ this.emit('state:saved', { agentId, component: 'btsp', sizeBytes });
146
+ if (this.config.debug) {
147
+ this.logger.debug('Saved BTSP state', { agentId, associations: state.associationCount });
148
+ }
149
+ }
150
+ catch (error) {
151
+ this.emit('error', { agentId, operation: 'saveBtspState', error: error });
152
+ throw error;
153
+ }
154
+ }
155
+ /**
156
+ * Load BTSP learner state
157
+ */
158
+ async loadBtspState(agentId) {
159
+ this.ensureInitialized();
160
+ try {
161
+ const state = await this.store.loadBtspState(agentId);
162
+ if (state) {
163
+ this.emit('state:loaded', { agentId, component: 'btsp' });
164
+ }
165
+ return state;
166
+ }
167
+ catch (error) {
168
+ this.emit('error', { agentId, operation: 'loadBtspState', error: error });
169
+ throw error;
170
+ }
171
+ }
172
+ // ============================================
173
+ // Circadian State Operations
174
+ // ============================================
175
+ /**
176
+ * Save circadian controller state
177
+ */
178
+ async saveCircadianState(agentId, state) {
179
+ this.ensureInitialized();
180
+ try {
181
+ await this.store.saveCircadianState(agentId, state);
182
+ const sizeBytes = JSON.stringify(state).length;
183
+ this.emit('state:saved', { agentId, component: 'circadian', sizeBytes });
184
+ if (this.config.debug) {
185
+ this.logger.debug('Saved Circadian state', { agentId, phase: state.state.phase });
186
+ }
187
+ }
188
+ catch (error) {
189
+ this.emit('error', { agentId, operation: 'saveCircadianState', error: error });
190
+ throw error;
191
+ }
192
+ }
193
+ /**
194
+ * Load circadian controller state
195
+ */
196
+ async loadCircadianState(agentId) {
197
+ this.ensureInitialized();
198
+ try {
199
+ const state = await this.store.loadCircadianState(agentId);
200
+ if (state) {
201
+ this.emit('state:loaded', { agentId, component: 'circadian' });
202
+ }
203
+ return state;
204
+ }
205
+ catch (error) {
206
+ this.emit('error', { agentId, operation: 'loadCircadianState', error: error });
207
+ throw error;
208
+ }
209
+ }
210
+ // ============================================
211
+ // Bulk Operations
212
+ // ============================================
213
+ /**
214
+ * Save all nervous system state for an agent
215
+ */
216
+ async saveAllState(agentId, state) {
217
+ this.ensureInitialized();
218
+ const promises = [];
219
+ if (state.hdc) {
220
+ promises.push(this.saveHdcState(agentId, state.hdc));
221
+ }
222
+ if (state.btsp) {
223
+ promises.push(this.saveBtspState(agentId, state.btsp));
224
+ }
225
+ if (state.circadian) {
226
+ promises.push(this.saveCircadianState(agentId, state.circadian));
227
+ }
228
+ await Promise.all(promises);
229
+ }
230
+ /**
231
+ * Load all nervous system state for an agent
232
+ */
233
+ async loadAllState(agentId) {
234
+ this.ensureInitialized();
235
+ const [hdc, btsp, circadian] = await Promise.all([
236
+ this.loadHdcState(agentId),
237
+ this.loadBtspState(agentId),
238
+ this.loadCircadianState(agentId),
239
+ ]);
240
+ return { hdc, btsp, circadian };
241
+ }
242
+ /**
243
+ * Delete all state for an agent
244
+ */
245
+ async deleteAllState(agentId) {
246
+ this.ensureInitialized();
247
+ await this.store.deleteAllState(agentId);
248
+ this.emit('state:deleted', { agentId });
249
+ // Remove from pending and registered
250
+ this.pendingStates.delete(agentId);
251
+ this.registeredAgents.delete(agentId);
252
+ }
253
+ /**
254
+ * List all agents with stored state
255
+ */
256
+ async listAgents() {
257
+ this.ensureInitialized();
258
+ return this.store.listAgents();
259
+ }
260
+ /**
261
+ * Get metadata about stored state
262
+ */
263
+ async getStateMetadata(agentId, component) {
264
+ this.ensureInitialized();
265
+ return this.store.getStateMetadata(agentId, component);
266
+ }
267
+ // ============================================
268
+ // Auto-Save Management
269
+ // ============================================
270
+ /**
271
+ * Register an agent for auto-save
272
+ */
273
+ registerForAutoSave(agentId) {
274
+ this.registeredAgents.add(agentId);
275
+ if (!this.pendingStates.has(agentId)) {
276
+ this.pendingStates.set(agentId, {});
277
+ }
278
+ }
279
+ /**
280
+ * Unregister an agent from auto-save
281
+ */
282
+ unregisterFromAutoSave(agentId) {
283
+ this.registeredAgents.delete(agentId);
284
+ this.pendingStates.delete(agentId);
285
+ }
286
+ /**
287
+ * Queue state for auto-save
288
+ */
289
+ queueStateForAutoSave(agentId, state) {
290
+ if (!this.registeredAgents.has(agentId)) {
291
+ this.registerForAutoSave(agentId);
292
+ }
293
+ const pending = this.pendingStates.get(agentId) || {};
294
+ if (state.hdc)
295
+ pending.hdc = state.hdc;
296
+ if (state.btsp)
297
+ pending.btsp = state.btsp;
298
+ if (state.circadian)
299
+ pending.circadian = state.circadian;
300
+ this.pendingStates.set(agentId, pending);
301
+ }
302
+ /**
303
+ * Start auto-save timer
304
+ */
305
+ startAutoSave() {
306
+ if (this.autoSaveTimer) {
307
+ clearInterval(this.autoSaveTimer);
308
+ }
309
+ this.autoSaveTimer = setInterval(async () => {
310
+ await this.flushPendingStates();
311
+ }, this.config.autoSaveIntervalMs);
312
+ this.logger.debug('Auto-save started', { intervalMs: this.config.autoSaveIntervalMs });
313
+ }
314
+ /**
315
+ * Stop auto-save timer
316
+ */
317
+ stopAutoSave() {
318
+ if (this.autoSaveTimer) {
319
+ clearInterval(this.autoSaveTimer);
320
+ this.autoSaveTimer = null;
321
+ }
322
+ }
323
+ /**
324
+ * Flush all pending state to storage
325
+ */
326
+ async flushPendingStates() {
327
+ for (const [agentId, pending] of this.pendingStates.entries()) {
328
+ const savedComponents = [];
329
+ try {
330
+ if (pending.hdc) {
331
+ await this.store.saveHdcState(agentId, pending.hdc);
332
+ savedComponents.push('hdc');
333
+ delete pending.hdc;
334
+ }
335
+ if (pending.btsp) {
336
+ await this.store.saveBtspState(agentId, pending.btsp);
337
+ savedComponents.push('btsp');
338
+ delete pending.btsp;
339
+ }
340
+ if (pending.circadian) {
341
+ await this.store.saveCircadianState(agentId, pending.circadian);
342
+ savedComponents.push('circadian');
343
+ delete pending.circadian;
344
+ }
345
+ if (savedComponents.length > 0) {
346
+ this.emit('auto-save', { agentId, savedComponents });
347
+ if (this.config.debug) {
348
+ this.logger.debug('Auto-saved state', { agentId, components: savedComponents });
349
+ }
350
+ }
351
+ }
352
+ catch (error) {
353
+ this.logger.error('Auto-save failed', { agentId, error });
354
+ this.emit('error', { agentId, operation: 'autoSave', error: error });
355
+ }
356
+ }
357
+ }
358
+ // ============================================
359
+ // Store Information
360
+ // ============================================
361
+ /**
362
+ * Get information about the underlying store
363
+ */
364
+ getStoreInfo() {
365
+ return this.store.getStoreInfo();
366
+ }
367
+ /**
368
+ * Get statistics about the persistence manager
369
+ */
370
+ getStats() {
371
+ return {
372
+ initialized: this.initialized,
373
+ registeredAgents: this.registeredAgents.size,
374
+ pendingStates: this.pendingStates.size,
375
+ autoSaveEnabled: this.config.autoSaveIntervalMs > 0,
376
+ autoSaveIntervalMs: this.config.autoSaveIntervalMs,
377
+ storeType: this.store.getStoreInfo().type,
378
+ };
379
+ }
380
+ }
381
+ exports.NervousSystemPersistenceManager = NervousSystemPersistenceManager;
382
+ /**
383
+ * Factory function to create persistence manager
384
+ */
385
+ function createNervousSystemPersistenceManager(config) {
386
+ return new NervousSystemPersistenceManager(config);
387
+ }
388
+ /**
389
+ * Singleton instance for shared use
390
+ */
391
+ let sharedManager = null;
392
+ /**
393
+ * Get or create shared persistence manager instance
394
+ */
395
+ async function getSharedPersistenceManager(config) {
396
+ if (!sharedManager) {
397
+ sharedManager = createNervousSystemPersistenceManager(config);
398
+ await sharedManager.initialize();
399
+ }
400
+ return sharedManager;
401
+ }
402
+ /**
403
+ * Reset shared instance (for testing)
404
+ */
405
+ async function resetSharedPersistenceManager() {
406
+ if (sharedManager) {
407
+ await sharedManager.shutdown();
408
+ sharedManager = null;
409
+ }
410
+ }
411
+ //# sourceMappingURL=NervousSystemPersistenceManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NervousSystemPersistenceManager.js","sourceRoot":"","sources":["../../../src/nervous-system/persistence/NervousSystemPersistenceManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * SQLite Nervous System Store
3
+ *
4
+ * Persists nervous system component state to SQLite database.
5
+ * Uses the existing SwarmMemoryManager's database connection.
6
+ *
7
+ * @module nervous-system/persistence/SQLiteNervousSystemStore
8
+ */
9
+ import type Database from 'better-sqlite3';
10
+ import type { INervousSystemStore, NervousSystemComponent, HdcSerializedState, BTSPSerializedState, CircadianSerializedState, StoredStateMetadata } from './INervousSystemStore.js';
11
+ /**
12
+ * Configuration for SQLiteNervousSystemStore
13
+ */
14
+ export interface SQLiteNervousSystemStoreConfig {
15
+ /** Database instance to use (from SwarmMemoryManager) */
16
+ db?: Database.Database;
17
+ /** Path to database file (if db not provided) */
18
+ dbPath?: string;
19
+ /** Table name prefix (default: 'nervous_system') */
20
+ tablePrefix?: string;
21
+ }
22
+ /**
23
+ * SQLite implementation of nervous system state storage
24
+ */
25
+ export declare class SQLiteNervousSystemStore implements INervousSystemStore {
26
+ private readonly logger;
27
+ private db;
28
+ private readonly config;
29
+ private initialized;
30
+ private stmtSaveState;
31
+ private stmtLoadState;
32
+ private stmtDeleteState;
33
+ private stmtDeleteAllState;
34
+ private stmtListAgents;
35
+ private stmtGetMetadata;
36
+ constructor(config?: SQLiteNervousSystemStoreConfig);
37
+ /**
38
+ * Initialize the store - create tables if needed
39
+ */
40
+ initialize(): Promise<void>;
41
+ /**
42
+ * Create required tables
43
+ */
44
+ private createTables;
45
+ /**
46
+ * Prepare SQL statements for reuse
47
+ */
48
+ private prepareStatements;
49
+ /**
50
+ * Ensure store is initialized
51
+ */
52
+ private ensureInitialized;
53
+ /**
54
+ * Shutdown the store
55
+ */
56
+ shutdown(): Promise<void>;
57
+ saveHdcState(agentId: string, state: HdcSerializedState): Promise<void>;
58
+ loadHdcState(agentId: string): Promise<HdcSerializedState | null>;
59
+ deleteHdcState(agentId: string): Promise<void>;
60
+ saveBtspState(agentId: string, state: BTSPSerializedState): Promise<void>;
61
+ loadBtspState(agentId: string): Promise<BTSPSerializedState | null>;
62
+ deleteBtspState(agentId: string): Promise<void>;
63
+ saveCircadianState(agentId: string, state: CircadianSerializedState): Promise<void>;
64
+ loadCircadianState(agentId: string): Promise<CircadianSerializedState | null>;
65
+ deleteCircadianState(agentId: string): Promise<void>;
66
+ deleteAllState(agentId: string): Promise<void>;
67
+ listAgents(): Promise<string[]>;
68
+ getStateMetadata(agentId: string, component?: NervousSystemComponent): Promise<StoredStateMetadata[]>;
69
+ getStoreInfo(): {
70
+ type: 'sqlite' | 'supabase' | 'file' | 'memory';
71
+ version: string;
72
+ location?: string;
73
+ };
74
+ /**
75
+ * Pack HDC state into a single binary buffer
76
+ * Format:
77
+ * [4 bytes: dimension]
78
+ * [4 bytes: num type codebook entries]
79
+ * [... type codebook entries: key length (2) + key + vector (1250)]
80
+ * [4 bytes: num domain codebook entries]
81
+ * [... domain codebook entries]
82
+ * [4 bytes: num framework codebook entries]
83
+ * [... framework codebook entries]
84
+ * [4 × 1250 bytes: role vectors]
85
+ * [4 bytes: num patterns]
86
+ * [... patterns: key length (2) + key + vector (1250)]
87
+ */
88
+ private packHdcBinaryData;
89
+ /**
90
+ * Unpack HDC state from binary buffer
91
+ */
92
+ private unpackHdcBinaryData;
93
+ }
94
+ /**
95
+ * Factory function to create SQLite store
96
+ */
97
+ export declare function createSQLiteNervousSystemStore(config?: SQLiteNervousSystemStoreConfig): SQLiteNervousSystemStore;
98
+ //# sourceMappingURL=SQLiteNervousSystemStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SQLiteNervousSystemStore.d.ts","sourceRoot":"","sources":["../../../src/nervous-system/persistence/SQLiteNervousSystemStore.ts"],"names":[],"mappings":"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"}