snow-flow 1.1.76 → 1.1.78

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 (234) hide show
  1. package/.claude-flow/queen/queen-memory.db +0 -0
  2. package/CLAUDE.md +34 -5
  3. package/README.md +256 -384
  4. package/dist/agents/base-agent.d.ts +92 -0
  5. package/dist/agents/base-agent.d.ts.map +1 -0
  6. package/dist/agents/base-agent.js +228 -0
  7. package/dist/agents/base-agent.js.map +1 -0
  8. package/dist/agents/coordinator.d.ts +200 -0
  9. package/dist/agents/coordinator.d.ts.map +1 -0
  10. package/dist/agents/coordinator.js +775 -0
  11. package/dist/agents/coordinator.js.map +1 -0
  12. package/dist/agents/flow-builder-agent.d.ts +18 -0
  13. package/dist/agents/flow-builder-agent.d.ts.map +1 -0
  14. package/dist/agents/flow-builder-agent.js +536 -0
  15. package/dist/agents/flow-builder-agent.js.map +1 -0
  16. package/dist/agents/index.d.ts +18 -0
  17. package/dist/agents/index.d.ts.map +1 -0
  18. package/dist/agents/index.js +61 -0
  19. package/dist/agents/index.js.map +1 -0
  20. package/dist/agents/queen-agent-example.d.ts +23 -0
  21. package/dist/agents/queen-agent-example.d.ts.map +1 -0
  22. package/dist/agents/queen-agent-example.js +241 -0
  23. package/dist/agents/queen-agent-example.js.map +1 -0
  24. package/dist/agents/queen-agent.d.ts +180 -0
  25. package/dist/agents/queen-agent.d.ts.map +1 -0
  26. package/dist/agents/queen-agent.js +909 -0
  27. package/dist/agents/queen-agent.js.map +1 -0
  28. package/dist/agents/queen-agent.test.d.ts +6 -0
  29. package/dist/agents/queen-agent.test.d.ts.map +1 -0
  30. package/dist/agents/queen-agent.test.js.map +1 -0
  31. package/dist/agents/script-writer-agent.d.ts +22 -0
  32. package/dist/agents/script-writer-agent.d.ts.map +1 -0
  33. package/dist/agents/script-writer-agent.js +695 -0
  34. package/dist/agents/script-writer-agent.js.map +1 -0
  35. package/dist/agents/security-agent.d.ts +23 -0
  36. package/dist/agents/security-agent.d.ts.map +1 -0
  37. package/dist/agents/security-agent.js +619 -0
  38. package/dist/agents/security-agent.js.map +1 -0
  39. package/dist/agents/test-agent.d.ts +26 -0
  40. package/dist/agents/test-agent.d.ts.map +1 -0
  41. package/dist/agents/test-agent.js +735 -0
  42. package/dist/agents/test-agent.js.map +1 -0
  43. package/dist/agents/test-agents.d.ts +7 -0
  44. package/dist/agents/test-agents.d.ts.map +1 -0
  45. package/dist/agents/test-agents.js +65 -0
  46. package/dist/agents/test-agents.js.map +1 -0
  47. package/dist/agents/widget-creator-agent.d.ts +18 -0
  48. package/dist/agents/widget-creator-agent.d.ts.map +1 -0
  49. package/dist/agents/widget-creator-agent.js +440 -0
  50. package/dist/agents/widget-creator-agent.js.map +1 -0
  51. package/dist/cli/snow-flow-cli-integration.d.ts +30 -0
  52. package/dist/cli/snow-flow-cli-integration.d.ts.map +1 -0
  53. package/dist/cli/snow-flow-cli-integration.js +385 -0
  54. package/dist/cli/snow-flow-cli-integration.js.map +1 -0
  55. package/dist/cli.js +466 -150
  56. package/dist/cli.js.map +1 -1
  57. package/dist/config/snow-flow-config.d.ts +1454 -0
  58. package/dist/config/snow-flow-config.d.ts.map +1 -0
  59. package/dist/config/snow-flow-config.js +403 -0
  60. package/dist/config/snow-flow-config.js.map +1 -0
  61. package/dist/health/system-health.d.ts +123 -0
  62. package/dist/health/system-health.d.ts.map +1 -0
  63. package/dist/health/system-health.js +580 -0
  64. package/dist/health/system-health.js.map +1 -0
  65. package/dist/index.d.ts +12 -1
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +19 -3
  68. package/dist/index.js.map +1 -1
  69. package/dist/mcp/servicenow-deployment-mcp-refactored.d.ts +58 -0
  70. package/dist/mcp/servicenow-deployment-mcp-refactored.d.ts.map +1 -0
  71. package/dist/mcp/servicenow-deployment-mcp-refactored.js +651 -0
  72. package/dist/mcp/servicenow-deployment-mcp-refactored.js.map +1 -0
  73. package/dist/mcp/servicenow-intelligent-mcp-refactored.d.ts +43 -0
  74. package/dist/mcp/servicenow-intelligent-mcp-refactored.d.ts.map +1 -0
  75. package/dist/mcp/servicenow-intelligent-mcp-refactored.js +576 -0
  76. package/dist/mcp/servicenow-intelligent-mcp-refactored.js.map +1 -0
  77. package/dist/mcp/servicenow-intelligent-mcp.d.ts +102 -1
  78. package/dist/mcp/servicenow-intelligent-mcp.d.ts.map +1 -1
  79. package/dist/mcp/servicenow-intelligent-mcp.js +2 -0
  80. package/dist/mcp/servicenow-intelligent-mcp.js.map +1 -1
  81. package/dist/mcp/shared/agent-context-provider.d.ts +77 -0
  82. package/dist/mcp/shared/agent-context-provider.d.ts.map +1 -0
  83. package/dist/mcp/shared/agent-context-provider.js +292 -0
  84. package/dist/mcp/shared/agent-context-provider.js.map +1 -0
  85. package/dist/mcp/shared/base-mcp-server.d.ts +97 -0
  86. package/dist/mcp/shared/base-mcp-server.d.ts.map +1 -0
  87. package/dist/mcp/shared/base-mcp-server.js +216 -0
  88. package/dist/mcp/shared/base-mcp-server.js.map +1 -0
  89. package/dist/mcp/shared/mcp-memory-manager.d.ts +87 -0
  90. package/dist/mcp/shared/mcp-memory-manager.d.ts.map +1 -0
  91. package/dist/mcp/shared/mcp-memory-manager.js +423 -0
  92. package/dist/mcp/shared/mcp-memory-manager.js.map +1 -0
  93. package/dist/memory/index.d.ts +9 -0
  94. package/dist/memory/index.d.ts.map +1 -0
  95. package/dist/memory/index.js +20 -0
  96. package/dist/memory/index.js.map +1 -0
  97. package/dist/memory/mcp-integration-example.d.ts +6 -0
  98. package/dist/memory/mcp-integration-example.d.ts.map +1 -0
  99. package/dist/memory/mcp-integration-example.js +282 -0
  100. package/dist/memory/mcp-integration-example.js.map +1 -0
  101. package/dist/memory/memory-client.d.ts +184 -0
  102. package/dist/memory/memory-client.d.ts.map +1 -0
  103. package/dist/memory/memory-client.js +325 -0
  104. package/dist/memory/memory-client.js.map +1 -0
  105. package/dist/memory/memory-operations.d.ts +170 -0
  106. package/dist/memory/memory-operations.d.ts.map +1 -0
  107. package/dist/memory/memory-operations.js +639 -0
  108. package/dist/memory/memory-operations.js.map +1 -0
  109. package/dist/memory/memory-system.d.ts +118 -0
  110. package/dist/memory/memory-system.d.ts.map +1 -0
  111. package/dist/memory/memory-system.js +477 -0
  112. package/dist/memory/memory-system.js.map +1 -0
  113. package/dist/memory/memory-test.d.ts +6 -0
  114. package/dist/memory/memory-test.d.ts.map +1 -0
  115. package/dist/memory/memory-test.js +162 -0
  116. package/dist/memory/memory-test.js.map +1 -0
  117. package/dist/memory/swarm-memory.d.ts +135 -0
  118. package/dist/memory/swarm-memory.d.ts.map +1 -0
  119. package/dist/memory/swarm-memory.js +378 -0
  120. package/dist/memory/swarm-memory.js.map +1 -0
  121. package/dist/monitoring/performance-tracker.d.ts +157 -0
  122. package/dist/monitoring/performance-tracker.d.ts.map +1 -0
  123. package/dist/monitoring/performance-tracker.js +571 -0
  124. package/dist/monitoring/performance-tracker.js.map +1 -0
  125. package/dist/queen/agent-factory.d.ts +3 -0
  126. package/dist/queen/agent-factory.d.ts.map +1 -1
  127. package/dist/queen/agent-factory.js +52 -0
  128. package/dist/queen/agent-factory.js.map +1 -1
  129. package/dist/queen/queen-memory.d.ts +8 -2
  130. package/dist/queen/queen-memory.d.ts.map +1 -1
  131. package/dist/queen/queen-memory.js +46 -4
  132. package/dist/queen/queen-memory.js.map +1 -1
  133. package/dist/snow-flow-system.d.ts +132 -0
  134. package/dist/snow-flow-system.d.ts.map +1 -0
  135. package/dist/snow-flow-system.js +396 -0
  136. package/dist/snow-flow-system.js.map +1 -0
  137. package/dist/types/todo.types.d.ts +61 -0
  138. package/dist/types/todo.types.d.ts.map +1 -0
  139. package/dist/types/todo.types.js +7 -0
  140. package/dist/types/todo.types.js.map +1 -0
  141. package/dist/utils/error-recovery.d.ts +101 -0
  142. package/dist/utils/error-recovery.d.ts.map +1 -0
  143. package/dist/utils/error-recovery.js +548 -0
  144. package/dist/utils/error-recovery.js.map +1 -0
  145. package/dist/version.d.ts +1 -1
  146. package/dist/version.js +1 -1
  147. package/package.json +7 -2
  148. package/deploy.sh +0 -366
  149. package/docker/base/Dockerfile.base +0 -45
  150. package/docker/generate-services.js +0 -244
  151. package/docker/nginx/Dockerfile +0 -71
  152. package/docker/nginx/consul-template.hcl +0 -64
  153. package/docker/nginx/healthcheck.sh +0 -178
  154. package/docker/nginx/nginx.conf +0 -210
  155. package/docker/nginx/supervisord.conf +0 -57
  156. package/docker/nginx/templates/upstreams.conf.tpl +0 -48
  157. package/docker/services/automation-mcp/Dockerfile +0 -32
  158. package/docker/services/automation-mcp/config/service.json +0 -28
  159. package/docker/services/automation-mcp/entrypoint.js +0 -51
  160. package/docker/services/deployment-mcp/Dockerfile +0 -32
  161. package/docker/services/deployment-mcp/entrypoint.js +0 -51
  162. package/docker/services/flow-composer-mcp/Dockerfile +0 -32
  163. package/docker/services/flow-composer-mcp/config/service.json +0 -28
  164. package/docker/services/flow-composer-mcp/entrypoint.js +0 -51
  165. package/docker/services/graph-memory-mcp/Dockerfile +0 -32
  166. package/docker/services/graph-memory-mcp/config/service.json +0 -28
  167. package/docker/services/graph-memory-mcp/entrypoint.js +0 -51
  168. package/docker/services/integration-mcp/Dockerfile +0 -32
  169. package/docker/services/integration-mcp/config/service.json +0 -28
  170. package/docker/services/integration-mcp/entrypoint.js +0 -51
  171. package/docker/services/intelligent-mcp/Dockerfile +0 -32
  172. package/docker/services/intelligent-mcp/config/service.json +0 -28
  173. package/docker/services/intelligent-mcp/entrypoint.js +0 -51
  174. package/docker/services/operations-mcp/Dockerfile +0 -32
  175. package/docker/services/operations-mcp/config/service.json +0 -28
  176. package/docker/services/operations-mcp/entrypoint.js +0 -51
  177. package/docker/services/platform-development-mcp/Dockerfile +0 -32
  178. package/docker/services/platform-development-mcp/config/service.json +0 -28
  179. package/docker/services/platform-development-mcp/entrypoint.js +0 -51
  180. package/docker/services/reporting-analytics-mcp/Dockerfile +0 -32
  181. package/docker/services/reporting-analytics-mcp/config/service.json +0 -28
  182. package/docker/services/reporting-analytics-mcp/entrypoint.js +0 -51
  183. package/docker/services/security-compliance-mcp/Dockerfile +0 -32
  184. package/docker/services/security-compliance-mcp/config/service.json +0 -28
  185. package/docker/services/security-compliance-mcp/entrypoint.js +0 -51
  186. package/docker/services/update-set-mcp/Dockerfile +0 -32
  187. package/docker/services/update-set-mcp/config/service.json +0 -28
  188. package/docker/services/update-set-mcp/entrypoint.js +0 -51
  189. package/docker-compose.override.yml +0 -132
  190. package/docker-compose.prod.yml +0 -340
  191. package/docker-compose.yml +0 -579
  192. package/k8s/automation-mcp.yaml +0 -232
  193. package/k8s/configmap.yaml +0 -237
  194. package/k8s/deployment-mcp.yaml +0 -232
  195. package/k8s/flow-composer-mcp.yaml +0 -232
  196. package/k8s/generate-k8s-manifests.js +0 -453
  197. package/k8s/graph-memory-mcp.yaml +0 -232
  198. package/k8s/infrastructure.yaml +0 -456
  199. package/k8s/ingress.yaml +0 -361
  200. package/k8s/integration-mcp.yaml +0 -232
  201. package/k8s/intelligent-mcp.yaml +0 -232
  202. package/k8s/kustomization.yaml +0 -111
  203. package/k8s/mcp-services.yaml +0 -2552
  204. package/k8s/monitoring.yaml +0 -515
  205. package/k8s/namespace.yaml +0 -80
  206. package/k8s/operations-mcp.yaml +0 -232
  207. package/k8s/platform-development-mcp.yaml +0 -232
  208. package/k8s/rbac.yaml +0 -140
  209. package/k8s/reporting-analytics-mcp.yaml +0 -232
  210. package/k8s/security-compliance-mcp.yaml +0 -232
  211. package/k8s/update-set-mcp.yaml +0 -232
  212. package/test-clean-install/.claude/config.json +0 -12
  213. package/test-clean-install/.env.example +0 -49
  214. package/test-clean-install/CLAUDE.md +0 -26
  215. package/test-clean-install/README.md +0 -23
  216. package/test-global-install/.claude/config.json +0 -12
  217. package/test-global-install/CLAUDE.md +0 -26
  218. package/test-global-install/README.md +0 -23
  219. package/test-global-install/test-global-install/.claude/config.json +0 -12
  220. package/test-global-install/test-global-install/CLAUDE.md +0 -26
  221. package/test-global-install/test-global-install/README.md +0 -23
  222. package/test-global-install/test-global-install/test-global-install/.claude/config.json +0 -12
  223. package/test-global-install/test-global-install/test-global-install/.env.example +0 -49
  224. package/test-global-install/test-global-install/test-global-install/CLAUDE.md +0 -26
  225. package/test-global-install/test-global-install/test-global-install/README.md +0 -23
  226. package/test-init-debug/.claude/config.json +0 -12
  227. package/test-init-debug/CLAUDE.md +0 -693
  228. package/test-init-debug/README.md +0 -392
  229. package/test-init-real/.claude/config.json +0 -12
  230. package/test-init-real/.claude/mcp-config.json +0 -128
  231. package/test-init-real/.claude/settings.json +0 -37
  232. package/test-init-real/CLAUDE.md +0 -693
  233. package/test-init-real/README.md +0 -392
  234. package/test-init-real/activate-mcp.sh +0 -15
@@ -0,0 +1,118 @@
1
+ /**
2
+ * Snow-Flow Memory System
3
+ * SQLite-based persistent memory with caching for agent coordination
4
+ */
5
+ import { EventEmitter } from 'events';
6
+ export interface MemoryOptions {
7
+ dbPath: string;
8
+ schema?: {
9
+ version: string;
10
+ autoMigrate: boolean;
11
+ };
12
+ cache?: {
13
+ enabled: boolean;
14
+ maxSize: number;
15
+ ttl: number;
16
+ };
17
+ ttl?: {
18
+ default: number;
19
+ session: number;
20
+ artifact: number;
21
+ metric: number;
22
+ };
23
+ }
24
+ export interface MemoryEntry {
25
+ key: string;
26
+ value: any;
27
+ ttl?: number;
28
+ createdAt: Date;
29
+ expiresAt?: Date;
30
+ metadata?: Record<string, any>;
31
+ }
32
+ export interface CacheStats {
33
+ hits: number;
34
+ misses: number;
35
+ size: number;
36
+ evictions: number;
37
+ }
38
+ export interface DatabaseStats {
39
+ size: number;
40
+ tableCount: number;
41
+ rowCounts: Record<string, number>;
42
+ }
43
+ export declare class MemorySystem extends EventEmitter {
44
+ private db?;
45
+ private logger;
46
+ private options;
47
+ private cache;
48
+ private cacheStats;
49
+ private cleanupTimer?;
50
+ private initialized;
51
+ constructor(options: MemoryOptions);
52
+ /**
53
+ * Initialize the memory system
54
+ */
55
+ initialize(): Promise<void>;
56
+ /**
57
+ * Store a value in memory
58
+ */
59
+ store(key: string, value: any, ttl?: number): Promise<void>;
60
+ /**
61
+ * Retrieve a value from memory
62
+ */
63
+ get(key: string): Promise<any | null>;
64
+ /**
65
+ * Delete a value from memory
66
+ */
67
+ delete(key: string): Promise<void>;
68
+ /**
69
+ * Execute a raw SQL query
70
+ */
71
+ execute(sql: string, params?: any[]): Promise<void>;
72
+ /**
73
+ * Query the database
74
+ */
75
+ query<T = any>(sql: string, params?: any[]): Promise<T[]>;
76
+ /**
77
+ * Insert data into a table
78
+ */
79
+ insert(table: string, data: Record<string, any>): Promise<void>;
80
+ /**
81
+ * Upsert data (insert or update)
82
+ */
83
+ upsert(table: string, data: Record<string, any>, uniqueKeys: string[]): Promise<void>;
84
+ /**
85
+ * Create a transaction
86
+ */
87
+ transaction<T>(fn: () => T): T;
88
+ /**
89
+ * Get database statistics
90
+ */
91
+ getDatabaseStats(): Promise<DatabaseStats>;
92
+ /**
93
+ * Get cache statistics
94
+ */
95
+ getCacheStats(): Promise<CacheStats>;
96
+ /**
97
+ * Invalidate cache
98
+ */
99
+ invalidateCache(pattern?: string): Promise<void>;
100
+ /**
101
+ * Create emergency backup
102
+ */
103
+ createEmergencyBackup(): Promise<string>;
104
+ /**
105
+ * Close the memory system
106
+ */
107
+ close(): Promise<void>;
108
+ /**
109
+ * Private helper methods
110
+ */
111
+ private createCoreTables;
112
+ private runMigrations;
113
+ private startCleanupTimer;
114
+ private cleanup;
115
+ private checkCacheSize;
116
+ private estimateCacheSize;
117
+ }
118
+ //# sourceMappingURL=memory-system.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-system.d.ts","sourceRoot":"","sources":["../../src/memory/memory-system.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,477 @@
1
+ "use strict";
2
+ /**
3
+ * Snow-Flow Memory System
4
+ * SQLite-based persistent memory with caching for agent coordination
5
+ */
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.MemorySystem = void 0;
11
+ const better_sqlite3_1 = __importDefault(require("better-sqlite3"));
12
+ const events_1 = require("events");
13
+ const path_1 = __importDefault(require("path"));
14
+ const fs_1 = __importDefault(require("fs"));
15
+ const logger_1 = require("../utils/logger");
16
+ class MemorySystem extends events_1.EventEmitter {
17
+ constructor(options) {
18
+ super();
19
+ this.cache = new Map();
20
+ this.cacheStats = { hits: 0, misses: 0, size: 0, evictions: 0 };
21
+ this.initialized = false;
22
+ this.options = options;
23
+ this.logger = new logger_1.Logger('MemorySystem');
24
+ }
25
+ /**
26
+ * Initialize the memory system
27
+ */
28
+ async initialize() {
29
+ if (this.initialized)
30
+ return;
31
+ this.logger.info('Initializing Memory System...');
32
+ // Ensure directory exists
33
+ const dir = path_1.default.dirname(this.options.dbPath);
34
+ if (!fs_1.default.existsSync(dir)) {
35
+ fs_1.default.mkdirSync(dir, { recursive: true });
36
+ }
37
+ // Open database
38
+ this.db = new better_sqlite3_1.default(this.options.dbPath);
39
+ this.db.pragma('journal_mode = WAL');
40
+ this.db.pragma('synchronous = NORMAL');
41
+ // Create core tables
42
+ await this.createCoreTables();
43
+ // Run migrations if needed
44
+ if (this.options.schema?.autoMigrate) {
45
+ await this.runMigrations();
46
+ }
47
+ // Start cleanup timer
48
+ this.startCleanupTimer();
49
+ this.initialized = true;
50
+ this.logger.info('Memory System initialized');
51
+ }
52
+ /**
53
+ * Store a value in memory
54
+ */
55
+ async store(key, value, ttl) {
56
+ if (!this.db)
57
+ throw new Error('Memory system not initialized');
58
+ const ttlMs = ttl || this.options.ttl?.default || 86400000; // 24 hours default
59
+ const expiresAt = Date.now() + ttlMs;
60
+ // Store in database
61
+ const stmt = this.db.prepare(`
62
+ INSERT OR REPLACE INTO memory_store (key, value, ttl, expires_at)
63
+ VALUES (?, ?, ?, ?)
64
+ `);
65
+ stmt.run(key, JSON.stringify(value), ttlMs, expiresAt);
66
+ // Update cache if enabled
67
+ if (this.options.cache?.enabled) {
68
+ this.cache.set(key, { value, expiresAt });
69
+ this.checkCacheSize();
70
+ }
71
+ this.emit('memory:stored', { key, ttl: ttlMs });
72
+ }
73
+ /**
74
+ * Retrieve a value from memory
75
+ */
76
+ async get(key) {
77
+ if (!this.db)
78
+ throw new Error('Memory system not initialized');
79
+ // Check cache first
80
+ if (this.options.cache?.enabled) {
81
+ const cached = this.cache.get(key);
82
+ if (cached) {
83
+ if (cached.expiresAt > Date.now()) {
84
+ this.cacheStats.hits++;
85
+ return cached.value;
86
+ }
87
+ else {
88
+ this.cache.delete(key);
89
+ }
90
+ }
91
+ this.cacheStats.misses++;
92
+ }
93
+ // Query database
94
+ const stmt = this.db.prepare(`
95
+ SELECT value, expires_at FROM memory_store
96
+ WHERE key = ? AND expires_at > ?
97
+ `);
98
+ const row = stmt.get(key, Date.now());
99
+ if (!row) {
100
+ return null;
101
+ }
102
+ const value = JSON.parse(row.value);
103
+ // Update cache
104
+ if (this.options.cache?.enabled) {
105
+ this.cache.set(key, { value, expiresAt: row.expires_at });
106
+ }
107
+ return value;
108
+ }
109
+ /**
110
+ * Update an existing value
111
+ */
112
+ async update(key, value) {
113
+ const existing = await this.get(key);
114
+ if (!existing) {
115
+ throw new Error(`Key not found: ${key}`);
116
+ }
117
+ await this.store(key, value);
118
+ }
119
+ /**
120
+ * Delete a value from memory
121
+ */
122
+ async delete(key) {
123
+ if (!this.db)
124
+ throw new Error('Memory system not initialized');
125
+ const stmt = this.db.prepare('DELETE FROM memory_store WHERE key = ?');
126
+ stmt.run(key);
127
+ if (this.options.cache?.enabled) {
128
+ this.cache.delete(key);
129
+ }
130
+ this.emit('memory:deleted', { key });
131
+ }
132
+ /**
133
+ * Execute a raw SQL query
134
+ */
135
+ async execute(sql, params = []) {
136
+ if (!this.db)
137
+ throw new Error('Memory system not initialized');
138
+ const stmt = this.db.prepare(sql);
139
+ stmt.run(...params);
140
+ }
141
+ /**
142
+ * Query the database
143
+ */
144
+ async query(sql, params = []) {
145
+ if (!this.db)
146
+ throw new Error('Memory system not initialized');
147
+ const stmt = this.db.prepare(sql);
148
+ return stmt.all(...params);
149
+ }
150
+ /**
151
+ * Insert data into a table
152
+ */
153
+ async insert(table, data) {
154
+ if (!this.db)
155
+ throw new Error('Memory system not initialized');
156
+ const keys = Object.keys(data);
157
+ const values = Object.values(data);
158
+ const placeholders = keys.map(() => '?').join(', ');
159
+ const sql = `INSERT INTO ${table} (${keys.join(', ')}) VALUES (${placeholders})`;
160
+ const stmt = this.db.prepare(sql);
161
+ stmt.run(...values);
162
+ }
163
+ /**
164
+ * Update data in a table
165
+ */
166
+ async update(table, data, where) {
167
+ if (!this.db)
168
+ throw new Error('Memory system not initialized');
169
+ const setClause = Object.keys(data).map(k => `${k} = ?`).join(', ');
170
+ const whereClause = Object.keys(where).map(k => `${k} = ?`).join(' AND ');
171
+ const sql = `UPDATE ${table} SET ${setClause} WHERE ${whereClause}`;
172
+ const stmt = this.db.prepare(sql);
173
+ stmt.run(...Object.values(data), ...Object.values(where));
174
+ }
175
+ /**
176
+ * Upsert data (insert or update)
177
+ */
178
+ async upsert(table, data, uniqueKeys) {
179
+ if (!this.db)
180
+ throw new Error('Memory system not initialized');
181
+ const keys = Object.keys(data);
182
+ const values = Object.values(data);
183
+ const placeholders = keys.map(() => '?').join(', ');
184
+ const updateClause = keys
185
+ .filter(k => !uniqueKeys.includes(k))
186
+ .map(k => `${k} = excluded.${k}`)
187
+ .join(', ');
188
+ const sql = `
189
+ INSERT INTO ${table} (${keys.join(', ')}) VALUES (${placeholders})
190
+ ON CONFLICT (${uniqueKeys.join(', ')}) DO UPDATE SET ${updateClause}
191
+ `;
192
+ const stmt = this.db.prepare(sql);
193
+ stmt.run(...values);
194
+ }
195
+ /**
196
+ * Create a transaction
197
+ */
198
+ transaction(fn) {
199
+ if (!this.db)
200
+ throw new Error('Memory system not initialized');
201
+ return this.db.transaction(fn)();
202
+ }
203
+ /**
204
+ * Get database statistics
205
+ */
206
+ async getDatabaseStats() {
207
+ if (!this.db)
208
+ throw new Error('Memory system not initialized');
209
+ const tables = this.db.prepare(`
210
+ SELECT name FROM sqlite_master WHERE type = 'table'
211
+ `).all();
212
+ const rowCounts = {};
213
+ for (const { name } of tables) {
214
+ const count = this.db.prepare(`SELECT COUNT(*) as count FROM ${name}`).get();
215
+ rowCounts[name] = count.count;
216
+ }
217
+ const dbFile = this.options.dbPath;
218
+ const stats = fs_1.default.statSync(dbFile);
219
+ return {
220
+ size: stats.size,
221
+ tableCount: tables.length,
222
+ rowCounts
223
+ };
224
+ }
225
+ /**
226
+ * Get cache statistics
227
+ */
228
+ async getCacheStats() {
229
+ return {
230
+ ...this.cacheStats,
231
+ size: this.cache.size
232
+ };
233
+ }
234
+ /**
235
+ * Invalidate cache
236
+ */
237
+ async invalidateCache(pattern) {
238
+ if (!pattern) {
239
+ this.cache.clear();
240
+ this.logger.info('Cache cleared');
241
+ }
242
+ else {
243
+ // Pattern-based invalidation
244
+ const keys = Array.from(this.cache.keys());
245
+ const regex = new RegExp(pattern);
246
+ let invalidated = 0;
247
+ for (const key of keys) {
248
+ if (regex.test(key)) {
249
+ this.cache.delete(key);
250
+ invalidated++;
251
+ }
252
+ }
253
+ this.logger.info(`Invalidated ${invalidated} cache entries matching pattern: ${pattern}`);
254
+ }
255
+ }
256
+ /**
257
+ * Create emergency backup
258
+ */
259
+ async createEmergencyBackup() {
260
+ if (!this.db)
261
+ throw new Error('Memory system not initialized');
262
+ const backupPath = `${this.options.dbPath}.backup.${Date.now()}`;
263
+ await this.db.backup(backupPath);
264
+ this.logger.info(`Emergency backup created: ${backupPath}`);
265
+ return backupPath;
266
+ }
267
+ /**
268
+ * Close the memory system
269
+ */
270
+ async close() {
271
+ if (this.cleanupTimer) {
272
+ clearInterval(this.cleanupTimer);
273
+ }
274
+ if (this.db) {
275
+ this.db.close();
276
+ this.db = undefined;
277
+ }
278
+ this.cache.clear();
279
+ this.initialized = false;
280
+ this.logger.info('Memory System closed');
281
+ }
282
+ /**
283
+ * Private helper methods
284
+ */
285
+ async createCoreTables() {
286
+ if (!this.db)
287
+ return;
288
+ // Core memory store
289
+ this.db.exec(`
290
+ CREATE TABLE IF NOT EXISTS memory_store (
291
+ key TEXT PRIMARY KEY,
292
+ value TEXT NOT NULL,
293
+ ttl INTEGER,
294
+ expires_at INTEGER,
295
+ created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
296
+ updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
297
+ );
298
+
299
+ CREATE INDEX IF NOT EXISTS idx_memory_expires ON memory_store(expires_at);
300
+ `);
301
+ // Swarm sessions
302
+ this.db.exec(`
303
+ CREATE TABLE IF NOT EXISTS swarm_sessions (
304
+ id TEXT PRIMARY KEY,
305
+ objective TEXT NOT NULL,
306
+ started_at TIMESTAMP NOT NULL,
307
+ status TEXT NOT NULL,
308
+ queen_agent_id TEXT,
309
+ completed_at TIMESTAMP,
310
+ metadata TEXT
311
+ );
312
+
313
+ CREATE INDEX IF NOT EXISTS idx_swarm_status ON swarm_sessions(status);
314
+ `);
315
+ // Agent coordination
316
+ this.db.exec(`
317
+ CREATE TABLE IF NOT EXISTS agent_coordination (
318
+ session_id TEXT NOT NULL,
319
+ agent_id TEXT NOT NULL,
320
+ agent_type TEXT NOT NULL,
321
+ status TEXT NOT NULL,
322
+ assigned_tasks TEXT,
323
+ progress_percentage INTEGER DEFAULT 0,
324
+ last_activity TIMESTAMP,
325
+ current_tool TEXT,
326
+ error_state TEXT,
327
+ PRIMARY KEY (session_id, agent_id)
328
+ );
329
+
330
+ CREATE INDEX IF NOT EXISTS idx_agent_status ON agent_coordination(status);
331
+ `);
332
+ // ServiceNow artifacts
333
+ this.db.exec(`
334
+ CREATE TABLE IF NOT EXISTS servicenow_artifacts (
335
+ sys_id TEXT PRIMARY KEY,
336
+ artifact_type TEXT NOT NULL,
337
+ name TEXT NOT NULL,
338
+ description TEXT,
339
+ created_by_agent TEXT,
340
+ session_id TEXT,
341
+ deployment_status TEXT,
342
+ update_set_id TEXT,
343
+ dependencies TEXT,
344
+ metadata TEXT,
345
+ created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
346
+ );
347
+
348
+ CREATE INDEX IF NOT EXISTS idx_artifact_session ON servicenow_artifacts(session_id);
349
+ CREATE INDEX IF NOT EXISTS idx_artifact_type ON servicenow_artifacts(artifact_type);
350
+ `);
351
+ // Agent messages
352
+ this.db.exec(`
353
+ CREATE TABLE IF NOT EXISTS agent_messages (
354
+ id TEXT PRIMARY KEY,
355
+ session_id TEXT NOT NULL,
356
+ from_agent TEXT NOT NULL,
357
+ to_agent TEXT NOT NULL,
358
+ message_type TEXT NOT NULL,
359
+ content TEXT,
360
+ artifact_reference TEXT,
361
+ timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
362
+ processed BOOLEAN DEFAULT FALSE
363
+ );
364
+
365
+ CREATE INDEX IF NOT EXISTS idx_message_session ON agent_messages(session_id);
366
+ CREATE INDEX IF NOT EXISTS idx_message_processed ON agent_messages(processed);
367
+ `);
368
+ // Shared context
369
+ this.db.exec(`
370
+ CREATE TABLE IF NOT EXISTS shared_context (
371
+ session_id TEXT NOT NULL,
372
+ context_key TEXT NOT NULL,
373
+ context_value TEXT,
374
+ created_by_agent TEXT,
375
+ expires_at TIMESTAMP,
376
+ access_permissions TEXT,
377
+ created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
378
+ PRIMARY KEY (session_id, context_key)
379
+ );
380
+ `);
381
+ // Performance metrics
382
+ this.db.exec(`
383
+ CREATE TABLE IF NOT EXISTS performance_metrics (
384
+ id TEXT PRIMARY KEY,
385
+ operation TEXT NOT NULL,
386
+ start_time INTEGER NOT NULL,
387
+ end_time INTEGER,
388
+ duration INTEGER,
389
+ success BOOLEAN NOT NULL,
390
+ session_id TEXT,
391
+ agent_id TEXT,
392
+ metadata TEXT,
393
+ resource_usage TEXT,
394
+ error TEXT,
395
+ created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
396
+ );
397
+
398
+ CREATE INDEX IF NOT EXISTS idx_perf_operation ON performance_metrics(operation);
399
+ CREATE INDEX IF NOT EXISTS idx_perf_session ON performance_metrics(session_id);
400
+ CREATE INDEX IF NOT EXISTS idx_perf_time ON performance_metrics(start_time);
401
+ `);
402
+ }
403
+ async runMigrations() {
404
+ // Implement schema migrations if needed
405
+ this.logger.info('Running database migrations...');
406
+ // Check current version
407
+ const versionRow = await this.get('_schema_version');
408
+ const currentVersion = versionRow?.version || '0.0.0';
409
+ const targetVersion = this.options.schema?.version || '1.0.0';
410
+ if (currentVersion === targetVersion) {
411
+ this.logger.info('Database schema is up to date');
412
+ return;
413
+ }
414
+ // Run migrations based on version differences
415
+ // This is a placeholder - implement actual migration logic
416
+ // Update version
417
+ await this.store('_schema_version', { version: targetVersion });
418
+ this.logger.info(`Database migrated to version ${targetVersion}`);
419
+ }
420
+ startCleanupTimer() {
421
+ // Run cleanup every hour
422
+ this.cleanupTimer = setInterval(async () => {
423
+ await this.cleanup();
424
+ }, 3600000);
425
+ }
426
+ async cleanup() {
427
+ if (!this.db)
428
+ return;
429
+ const now = Date.now();
430
+ // Clean expired memory entries
431
+ const stmt = this.db.prepare('DELETE FROM memory_store WHERE expires_at < ?');
432
+ const result = stmt.run(now);
433
+ if (result.changes > 0) {
434
+ this.logger.info(`Cleaned up ${result.changes} expired memory entries`);
435
+ }
436
+ // Clean cache
437
+ for (const [key, entry] of this.cache.entries()) {
438
+ if (entry.expiresAt < now) {
439
+ this.cache.delete(key);
440
+ }
441
+ }
442
+ // Vacuum database periodically
443
+ const lastVacuum = await this.get('_last_vacuum');
444
+ if (!lastVacuum || now - lastVacuum > 86400000) { // 24 hours
445
+ this.db.exec('VACUUM');
446
+ await this.store('_last_vacuum', now);
447
+ this.logger.info('Database vacuumed');
448
+ }
449
+ }
450
+ checkCacheSize() {
451
+ if (!this.options.cache?.enabled)
452
+ return;
453
+ const maxSize = this.options.cache.maxSize || 100;
454
+ const currentSizeMB = this.estimateCacheSize();
455
+ if (currentSizeMB > maxSize) {
456
+ // Evict oldest entries
457
+ const entries = Array.from(this.cache.entries())
458
+ .sort((a, b) => a[1].expiresAt - b[1].expiresAt);
459
+ const toEvict = Math.floor(entries.length * 0.2); // Evict 20%
460
+ for (let i = 0; i < toEvict; i++) {
461
+ this.cache.delete(entries[i][0]);
462
+ this.cacheStats.evictions++;
463
+ }
464
+ this.logger.debug(`Evicted ${toEvict} cache entries due to size limit`);
465
+ }
466
+ }
467
+ estimateCacheSize() {
468
+ // Rough estimate of cache size in MB
469
+ let size = 0;
470
+ for (const [key, entry] of this.cache.entries()) {
471
+ size += key.length + JSON.stringify(entry.value).length;
472
+ }
473
+ return size / 1024 / 1024;
474
+ }
475
+ }
476
+ exports.MemorySystem = MemorySystem;
477
+ //# sourceMappingURL=memory-system.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-system.js","sourceRoot":"","sources":["../../src/memory/memory-system.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;AAEH,oEAAsC;AACtC,mCAAsC;AACtC,gDAAwB;AACxB,4CAAoB;AACpB,4CAAyC;AA2CzC,MAAa,YAAa,SAAQ,qBAAY;IAS5C,YAAY,OAAsB;QAChC,KAAK,EAAE,CAAC;QANF,UAAK,GAAmD,IAAI,GAAG,EAAE,CAAC;QAClE,eAAU,GAAe,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAEvE,gBAAW,GAAG,KAAK,CAAC;QAI1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,cAAc,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAE7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAElD,0BAA0B;QAC1B,MAAM,GAAG,GAAG,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,YAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,CAAC;QAED,gBAAgB;QAChB,IAAI,CAAC,EAAE,GAAG,IAAI,wBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACrC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAEvC,qBAAqB;QACrB,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE9B,2BAA2B;QAC3B,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC7B,CAAC;QAED,sBAAsB;QACtB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,GAAW,EAAE,KAAU,EAAE,GAAY;QAC/C,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAE/D,MAAM,KAAK,GAAG,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,IAAI,QAAQ,CAAC,CAAC,mBAAmB;QAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QAErC,oBAAoB;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;KAG5B,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAEvD,0BAA0B;QAC1B,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAC1C,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAE/D,oBAAoB;QACpB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;oBAClC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;oBACvB,OAAO,MAAM,CAAC,KAAK,CAAC;gBACtB,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QAC3B,CAAC;QAED,iBAAiB;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;KAG5B,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAQ,CAAC;QAE7C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEpC,eAAe;QACf,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,GAAW,EAAE,KAAU;QAClC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAE/D,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;QACvE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEd,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,GAAW,EAAE,SAAgB,EAAE;QAC3C,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAE/D,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAU,GAAW,EAAE,SAAgB,EAAE;QAClD,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAE/D,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAQ,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,IAAyB;QACnD,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAE/D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpD,MAAM,GAAG,GAAG,eAAe,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,YAAY,GAAG,CAAC;QACjF,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,IAAyB,EAAE,KAA0B;QAC/E,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAE/D,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpE,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE1E,MAAM,GAAG,GAAG,UAAU,KAAK,QAAQ,SAAS,UAAU,WAAW,EAAE,CAAC;QACpE,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,IAAyB,EAAE,UAAoB;QACzE,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAE/D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,YAAY,GAAG,IAAI;aACtB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aACpC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;aAChC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,MAAM,GAAG,GAAG;oBACI,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,YAAY;qBACjD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,YAAY;KACpE,CAAC;QAEF,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,WAAW,CAAI,EAAW;QACxB,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAE/D,OAAO,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB;QACpB,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAE/D,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;KAE9B,CAAC,CAAC,GAAG,EAA6B,CAAC;QAEpC,MAAM,SAAS,GAA2B,EAAE,CAAC;QAC7C,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,MAAM,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,iCAAiC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAS,CAAC;YACpF,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;QAChC,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QACnC,MAAM,KAAK,GAAG,YAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAElC,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,UAAU,EAAE,MAAM,CAAC,MAAM;YACzB,SAAS;SACV,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa;QACjB,OAAO;YACL,GAAG,IAAI,CAAC,UAAU;YAClB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;SACtB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,OAAgB;QACpC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,6BAA6B;YAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3C,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;YAClC,IAAI,WAAW,GAAG,CAAC,CAAC;YAEpB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBACpB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACvB,WAAW,EAAE,CAAC;gBAChB,CAAC;YACH,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,WAAW,oCAAoC,OAAO,EAAE,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB;QACzB,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAE/D,MAAM,UAAU,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,WAAW,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAEjE,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAEjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,UAAU,EAAE,CAAC,CAAC;QAC5D,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnC,CAAC;QAED,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC;QACtB,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAEzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB;QAC5B,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO;QAErB,oBAAoB;QACpB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;KAWZ,CAAC,CAAC;QAEH,iBAAiB;QACjB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;KAYZ,CAAC,CAAC;QAEH,qBAAqB;QACrB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;KAeZ,CAAC,CAAC;QAEH,uBAAuB;QACvB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;KAiBZ,CAAC,CAAC;QAEH,iBAAiB;QACjB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;KAeZ,CAAC,CAAC;QAEH,iBAAiB;QACjB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;KAWZ,CAAC,CAAC;QAEH,sBAAsB;QACtB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;KAmBZ,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,aAAa;QACzB,wCAAwC;QACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAEnD,wBAAwB;QACxB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACrD,MAAM,cAAc,GAAG,UAAU,EAAE,OAAO,IAAI,OAAO,CAAC;QACtD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,IAAI,OAAO,CAAC;QAE9D,IAAI,cAAc,KAAK,aAAa,EAAE,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAClD,OAAO;QACT,CAAC;QAED,8CAA8C;QAC9C,2DAA2D;QAE3D,iBAAiB;QACjB,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,aAAa,EAAE,CAAC,CAAC;IACpE,CAAC;IAEO,iBAAiB;QACvB,yBAAyB;QACzB,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;YACzC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC,EAAE,OAAO,CAAC,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,OAAO;QACnB,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO;QAErB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,+BAA+B;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAC;QAC9E,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE7B,IAAI,MAAM,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,OAAO,yBAAyB,CAAC,CAAC;QAC1E,CAAC;QAED,cAAc;QACd,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAChD,IAAI,KAAK,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC;gBAC1B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QAED,+BAA+B;QAC/B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,IAAI,GAAG,GAAG,UAAU,GAAG,QAAQ,EAAE,CAAC,CAAC,WAAW;YAC3D,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvB,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO;YAAE,OAAO;QAEzC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,IAAI,GAAG,CAAC;QAClD,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/C,IAAI,aAAa,GAAG,OAAO,EAAE,CAAC;YAC5B,uBAAuB;YACvB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;iBAC7C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAEnD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,YAAY;YAE9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;gBACjC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YAC9B,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,OAAO,kCAAkC,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAEO,iBAAiB;QACvB,qCAAqC;QACrC,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAChD,IAAI,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;QAC1D,CAAC;QACD,OAAO,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC5B,CAAC;CACF;AAvhBD,oCAuhBC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Snow-Flow Memory System Test
3
+ * Demonstrates and tests the SQLite memory system functionality
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=memory-test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-test.d.ts","sourceRoot":"","sources":["../../src/memory/memory-test.ts"],"names":[],"mappings":"AAAA;;;GAGG"}