snow-flow 3.0.8 → 3.0.10

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 (295) hide show
  1. package/claude-flow.bat +0 -0
  2. package/claude-flow.ps1 +0 -0
  3. package/dist/mcp/servicenow-automation-mcp.js +0 -0
  4. package/dist/mcp/servicenow-deployment-mcp.js +0 -0
  5. package/dist/mcp/servicenow-integration-mcp.js +0 -0
  6. package/dist/mcp/servicenow-mcp-server.js +0 -0
  7. package/dist/mcp/servicenow-operations-mcp.js +0 -0
  8. package/dist/mcp/servicenow-platform-development-mcp.js +0 -0
  9. package/dist/mcp/servicenow-progressive-indexer.js +0 -0
  10. package/dist/mcp/servicenow-reporting-analytics-mcp.js +133 -19
  11. package/dist/mcp/servicenow-security-compliance-mcp.js +0 -0
  12. package/dist/mcp/servicenow-update-set-mcp.js +0 -0
  13. package/dist/mcp/start-all-mcp-servers.js +0 -0
  14. package/dist/mcp/start-servicenow-mcp.js +0 -0
  15. package/dist/utils/snow-oauth.js +53 -16
  16. package/memory/agents/README.md +1 -1
  17. package/memory/claude-flow-data.json +1 -1
  18. package/memory/sessions/README.md +1 -1
  19. package/package.json +2 -2
  20. package/.mcp.json +0 -22
  21. package/claude-flow.config.json +0 -20
  22. package/dist/agents/app-creator.agent.d.ts +0 -55
  23. package/dist/agents/app-creator.agent.js +0 -1292
  24. package/dist/agents/base/base-snow-agent.d.ts +0 -75
  25. package/dist/agents/base/base-snow-agent.js +0 -169
  26. package/dist/agents/base-snow-agent.d.ts +0 -63
  27. package/dist/agents/base-snow-agent.js +0 -296
  28. package/dist/agents/coordinator.d.ts +0 -200
  29. package/dist/agents/coordinator.js +0 -777
  30. package/dist/agents/flow-builder-agent.d.ts +0 -18
  31. package/dist/agents/flow-builder-agent.js +0 -197
  32. package/dist/agents/queen-403-handler.d.ts +0 -47
  33. package/dist/agents/queen-403-handler.js +0 -175
  34. package/dist/agents/queen-agent-example.d.ts +0 -23
  35. package/dist/agents/queen-agent-example.js +0 -240
  36. package/dist/agents/queen-agent.test.d.ts +0 -6
  37. package/dist/agents/script-generator.agent.d.ts +0 -32
  38. package/dist/agents/script-generator.agent.js +0 -772
  39. package/dist/agents/script-writer-agent.d.ts +0 -22
  40. package/dist/agents/script-writer-agent.js +0 -695
  41. package/dist/agents/security-agent.d.ts +0 -23
  42. package/dist/agents/security-agent.js +0 -619
  43. package/dist/agents/specialists/automation-specialist.agent.d.ts +0 -44
  44. package/dist/agents/specialists/automation-specialist.agent.js +0 -204
  45. package/dist/agents/specialists/data-specialist.agent.d.ts +0 -165
  46. package/dist/agents/specialists/data-specialist.agent.js +0 -484
  47. package/dist/agents/specialists/integration-specialist.agent.d.ts +0 -227
  48. package/dist/agents/specialists/integration-specialist.agent.js +0 -725
  49. package/dist/agents/specialists/reporting-specialist.agent.d.ts +0 -54
  50. package/dist/agents/specialists/reporting-specialist.agent.js +0 -193
  51. package/dist/agents/specialists/security-specialist.agent.d.ts +0 -85
  52. package/dist/agents/specialists/security-specialist.agent.js +0 -309
  53. package/dist/agents/teams/adaptive/adaptive-coordinator.agent.d.ts +0 -111
  54. package/dist/agents/teams/adaptive/adaptive-coordinator.agent.js +0 -383
  55. package/dist/agents/teams/base-team.d.ts +0 -72
  56. package/dist/agents/teams/base-team.js +0 -253
  57. package/dist/agents/teams/team-types.d.ts +0 -265
  58. package/dist/agents/teams/team-types.js +0 -3
  59. package/dist/agents/teams/widget/widget-architect.agent.d.ts +0 -61
  60. package/dist/agents/teams/widget/widget-architect.agent.js +0 -436
  61. package/dist/agents/teams/widget/widget-backend.agent.d.ts +0 -74
  62. package/dist/agents/teams/widget/widget-backend.agent.js +0 -1531
  63. package/dist/agents/teams/widget/widget-frontend.agent.d.ts +0 -67
  64. package/dist/agents/teams/widget/widget-frontend.agent.js +0 -1014
  65. package/dist/agents/teams/widget/widget-platform.agent.d.ts +0 -90
  66. package/dist/agents/teams/widget/widget-platform.agent.js +0 -1190
  67. package/dist/agents/teams/widget/widget-uiux.agent.d.ts +0 -107
  68. package/dist/agents/teams/widget/widget-uiux.agent.js +0 -1033
  69. package/dist/agents/test-agent.d.ts +0 -26
  70. package/dist/agents/test-agent.js +0 -734
  71. package/dist/agents/test-agents.d.ts +0 -7
  72. package/dist/agents/test-agents.js +0 -64
  73. package/dist/agents/ui-builder.agent.d.ts +0 -50
  74. package/dist/agents/ui-builder.agent.js +0 -1539
  75. package/dist/agents/widget-builder.agent.d.ts +0 -32
  76. package/dist/agents/widget-builder.agent.js +0 -439
  77. package/dist/agents/widget-creator-agent.d.ts +0 -18
  78. package/dist/agents/widget-creator-agent.js +0 -498
  79. package/dist/agents/workflow-designer.agent.d.ts +0 -31
  80. package/dist/agents/workflow-designer.agent.js +0 -583
  81. package/dist/api/error-handling.d.ts +0 -325
  82. package/dist/api/error-handling.js +0 -1488
  83. package/dist/api/flow-designer-api.d.ts +0 -167
  84. package/dist/api/flow-designer-api.js +0 -554
  85. package/dist/api/natural-language-mapper.d.ts +0 -124
  86. package/dist/api/natural-language-mapper.js +0 -501
  87. package/dist/api/performance-optimizer.d.ts +0 -240
  88. package/dist/api/performance-optimizer.js +0 -706
  89. package/dist/api/transaction-manager.d.ts +0 -189
  90. package/dist/api/transaction-manager.js +0 -576
  91. package/dist/assembly/team-assembler.d.ts +0 -140
  92. package/dist/assembly/team-assembler.js +0 -502
  93. package/dist/benchmark-performance.d.ts +0 -41
  94. package/dist/benchmark-performance.js +0 -230
  95. package/dist/cli/snow-flow-cli-integration.d.ts +0 -30
  96. package/dist/cli/snow-flow-cli-integration.js +0 -396
  97. package/dist/coordination/coordination-engine.d.ts +0 -41
  98. package/dist/coordination/coordination-engine.js +0 -324
  99. package/dist/coordination/coordination.test.d.ts +0 -6
  100. package/dist/coordination/example.d.ts +0 -31
  101. package/dist/coordination/example.js +0 -394
  102. package/dist/coordination/execution-patterns.d.ts +0 -43
  103. package/dist/coordination/execution-patterns.js +0 -507
  104. package/dist/coordination/factory.d.ts +0 -94
  105. package/dist/coordination/factory.js +0 -433
  106. package/dist/coordination/index.d.ts +0 -71
  107. package/dist/coordination/index.js +0 -135
  108. package/dist/coordination/progress-monitor.d.ts +0 -71
  109. package/dist/coordination/progress-monitor.js +0 -505
  110. package/dist/coordination/quality-gates.d.ts +0 -124
  111. package/dist/coordination/quality-gates.js +0 -577
  112. package/dist/coordination/shared-memory.d.ts +0 -39
  113. package/dist/coordination/shared-memory.js +0 -289
  114. package/dist/coordination/task-dependencies.d.ts +0 -50
  115. package/dist/coordination/task-dependencies.js +0 -407
  116. package/dist/coordination/team-coordinator.d.ts +0 -59
  117. package/dist/coordination/team-coordinator.js +0 -550
  118. package/dist/coordination/types.d.ts +0 -152
  119. package/dist/coordination/types.js +0 -3
  120. package/dist/mcp/mcp-wrapper.d.ts +0 -8
  121. package/dist/mcp/mcp-wrapper.js +0 -77
  122. package/dist/mcp/servicenow-flow-composer-enhanced.js +0 -396
  123. package/dist/mcp/servicenow-flow-composer-mcp.d.ts +0 -7
  124. package/dist/mcp/servicenow-flow-composer-mcp.js +0 -3103
  125. package/dist/mcp/servicenow-graph-memory-mcp.d.ts +0 -7
  126. package/dist/mcp/servicenow-intelligent-mcp.d.ts +0 -143
  127. package/dist/mcp/servicenow-intelligent-mcp.js +0 -4156
  128. package/dist/mcp/servicenow-xml-flow-mcp.d.ts +0 -53
  129. package/dist/mcp/servicenow-xml-flow-mcp.js +0 -1704
  130. package/dist/mcp/singleton-check.js +0 -31
  131. package/dist/mcp/test-simple-mcp.d.ts +0 -6
  132. package/dist/mcp/test-simple-mcp.js +0 -63
  133. package/dist/memory/hierarchical-memory-system.d.ts +0 -90
  134. package/dist/memory/hierarchical-memory-system.js +0 -400
  135. package/dist/memory/index.d.ts +0 -9
  136. package/dist/memory/index.js +0 -20
  137. package/dist/memory/mcp-integration-example.d.ts +0 -6
  138. package/dist/memory/mcp-integration-example.js +0 -281
  139. package/dist/memory/memory-client.d.ts +0 -199
  140. package/dist/memory/memory-client.js +0 -364
  141. package/dist/memory/memory-manager.d.ts +0 -29
  142. package/dist/memory/memory-manager.js +0 -280
  143. package/dist/memory/memory-operations.d.ts +0 -179
  144. package/dist/memory/memory-operations.js +0 -691
  145. package/dist/memory/memory-system.d.ts +0 -153
  146. package/dist/memory/memory-system.js +0 -651
  147. package/dist/memory/memory-test.d.ts +0 -6
  148. package/dist/memory/memory-test.js +0 -161
  149. package/dist/memory/snow-flow-memory-patterns.d.ts +0 -213
  150. package/dist/memory/snow-flow-memory-patterns.js +0 -200
  151. package/dist/memory/snow-memory.d.ts +0 -54
  152. package/dist/memory/snow-memory.js +0 -301
  153. package/dist/memory/swarm-memory.d.ts +0 -135
  154. package/dist/memory/swarm-memory.js +0 -378
  155. package/dist/optimization/flow-performance-optimizer.js +0 -723
  156. package/dist/orchestration/discovery/service-discovery.d.ts +0 -81
  157. package/dist/orchestration/discovery/service-discovery.js +0 -808
  158. package/dist/orchestration/distributed-orchestrator.d.ts +0 -131
  159. package/dist/orchestration/distributed-orchestrator.js +0 -712
  160. package/dist/orchestration/distribution/task-distribution-engine.d.ts +0 -53
  161. package/dist/orchestration/distribution/task-distribution-engine.js +0 -586
  162. package/dist/orchestration/flow-update-orchestrator.js +0 -648
  163. package/dist/orchestration/interfaces/distributed-orchestration.interface.d.ts +0 -606
  164. package/dist/orchestration/interfaces/distributed-orchestration.interface.js +0 -65
  165. package/dist/orchestration/protocols/mcpx-protocol.d.ts +0 -71
  166. package/dist/orchestration/protocols/mcpx-protocol.js +0 -668
  167. package/dist/orchestration/state/distributed-state-manager.d.ts +0 -89
  168. package/dist/orchestration/state/distributed-state-manager.js +0 -716
  169. package/dist/orchestrator/flow-composer.d.ts +0 -105
  170. package/dist/orchestrator/flow-composer.js +0 -404
  171. package/dist/orchestrator/flow-pattern-templates.d.ts +0 -260
  172. package/dist/orchestrator/flow-pattern-templates.js +0 -908
  173. package/dist/orchestrator/flow-subflow-decision-engine.d.ts +0 -202
  174. package/dist/orchestrator/flow-subflow-decision-engine.js +0 -769
  175. package/dist/orchestrator/flow-validation-engine.d.ts +0 -169
  176. package/dist/orchestrator/flow-validation-engine.js +0 -913
  177. package/dist/orchestrator/snow-orchestrator.d.ts +0 -49
  178. package/dist/orchestrator/snow-orchestrator.js +0 -235
  179. package/dist/orchestrator/subflow-creation-handler.d.ts +0 -230
  180. package/dist/orchestrator/subflow-creation-handler.js +0 -791
  181. package/dist/patterns/adaptive-patterns.d.ts +0 -140
  182. package/dist/patterns/adaptive-patterns.js +0 -549
  183. package/dist/queen/advanced-integration-test.d.ts +0 -48
  184. package/dist/queen/advanced-integration-test.js +0 -473
  185. package/dist/queen/integration-example.d.ts +0 -82
  186. package/dist/queen/integration-example.js +0 -219
  187. package/dist/queen/integration-test.d.ts +0 -72
  188. package/dist/queen/integration-test.js +0 -563
  189. package/dist/queen/mock-mcp-client.d.ts +0 -71
  190. package/dist/queen/mock-mcp-client.js +0 -317
  191. package/dist/queen/run-integration-tests.d.ts +0 -9
  192. package/dist/queen/run-integration-tests.js +0 -27
  193. package/dist/sparc/coordinators/adaptive-coordinator.d.ts +0 -54
  194. package/dist/sparc/coordinators/adaptive-coordinator.js +0 -367
  195. package/dist/sparc/coordinators/team-coordinator.d.ts +0 -66
  196. package/dist/sparc/coordinators/team-coordinator.js +0 -402
  197. package/dist/sparc/modes/team-modes.d.ts +0 -33
  198. package/dist/sparc/modes/team-modes.js +0 -399
  199. package/dist/sparc/teams/application-team.d.ts +0 -73
  200. package/dist/sparc/teams/application-team.js +0 -463
  201. package/dist/sparc/teams/flow-team.d.ts +0 -67
  202. package/dist/sparc/teams/flow-team.js +0 -373
  203. package/dist/sparc/teams/widget-team.d.ts +0 -61
  204. package/dist/sparc/teams/widget-team.js +0 -280
  205. package/dist/specialists/app-specialists.d.ts +0 -93
  206. package/dist/specialists/app-specialists.js +0 -1639
  207. package/dist/specialists/base-specialist.d.ts +0 -19
  208. package/dist/specialists/base-specialist.js +0 -54
  209. package/dist/specialists/flow-specialists.d.ts +0 -113
  210. package/dist/specialists/flow-specialists.js +0 -1787
  211. package/dist/specialists/individual-specialists.d.ts +0 -67
  212. package/dist/specialists/individual-specialists.js +0 -632
  213. package/dist/specialists/widget-specialists.d.ts +0 -70
  214. package/dist/specialists/widget-specialists.js +0 -1264
  215. package/dist/src/utils/agent-detector.js +0 -655
  216. package/dist/teams/adaptive-team.d.ts +0 -81
  217. package/dist/teams/adaptive-team.js +0 -1153
  218. package/dist/teams/application-team.d.ts +0 -30
  219. package/dist/teams/application-team.js +0 -547
  220. package/dist/teams/base-team.d.ts +0 -55
  221. package/dist/teams/base-team.js +0 -243
  222. package/dist/teams/flow-team.d.ts +0 -28
  223. package/dist/teams/flow-team.js +0 -525
  224. package/dist/teams/widget-team.d.ts +0 -26
  225. package/dist/teams/widget-team.js +0 -459
  226. package/dist/templates/flow-template-system.js +0 -625
  227. package/dist/test-fetch-incidents.d.ts +0 -2
  228. package/dist/test-fetch-incidents.js +0 -84
  229. package/dist/test-incident-access.d.ts +0 -2
  230. package/dist/test-incident-access.js +0 -72
  231. package/dist/test-iphone-flow.js +0 -189
  232. package/dist/test-limit-problem.d.ts +0 -2
  233. package/dist/test-limit-problem.js +0 -60
  234. package/dist/test-ml-batch-fix.d.ts +0 -2
  235. package/dist/test-ml-batch-fix.js +0 -104
  236. package/dist/test-ml-batch.d.ts +0 -2
  237. package/dist/test-ml-batch.js +0 -87
  238. package/dist/test-ml-query.d.ts +0 -2
  239. package/dist/test-ml-query.js +0 -100
  240. package/dist/test-ml-training-fix.d.ts +0 -12
  241. package/dist/test-ml-training-fix.js +0 -113
  242. package/dist/test-ml-training.d.ts +0 -2
  243. package/dist/test-ml-training.js +0 -32
  244. package/dist/test-operations-query.d.ts +0 -2
  245. package/dist/test-operations-query.js +0 -84
  246. package/dist/test-performance-query.d.ts +0 -2
  247. package/dist/test-performance-query.js +0 -52
  248. package/dist/test-singleton-protection.d.ts +0 -8
  249. package/dist/test-singleton-protection.js +0 -110
  250. package/dist/test-smart-limits.d.ts +0 -13
  251. package/dist/test-smart-limits.js +0 -100
  252. package/dist/test-snow-query-incidents.d.ts +0 -2
  253. package/dist/test-snow-query-incidents.js +0 -66
  254. package/dist/test-universal-query.d.ts +0 -2
  255. package/dist/test-universal-query.js +0 -106
  256. package/dist/testing/flow-testing-automation.js +0 -641
  257. package/dist/utils/complete-flow-xml-generator.js +0 -1285
  258. package/dist/utils/file-storage-fallback.d.ts +0 -62
  259. package/dist/utils/file-storage-fallback.js +0 -289
  260. package/dist/utils/flow-api-discovery.d.ts +0 -151
  261. package/dist/utils/flow-api-discovery.js +0 -439
  262. package/dist/utils/flow-examples.js +0 -720
  263. package/dist/utils/flow-structure-builder.js +0 -677
  264. package/dist/utils/flow-xml-generator.d.ts +0 -41
  265. package/dist/utils/flow-xml-generator.js +0 -258
  266. package/dist/utils/improved-flow-xml-generator.js +0 -820
  267. package/dist/utils/mcp-process-manager.backup.d.ts +0 -58
  268. package/dist/utils/mcp-process-manager.backup.js +0 -220
  269. package/dist/utils/mcp-singleton-enforcer.d.ts +0 -36
  270. package/dist/utils/mcp-singleton-enforcer.js +0 -201
  271. package/dist/utils/mcp-timeout-fix.d.ts +0 -53
  272. package/dist/utils/mcp-timeout-fix.js +0 -221
  273. package/dist/utils/migrate-claude-flow.d.ts +0 -22
  274. package/dist/utils/migrate-claude-flow.js +0 -120
  275. package/dist/utils/scope-utils.d.ts +0 -72
  276. package/dist/utils/scope-utils.js +0 -386
  277. package/dist/utils/snow-oauth-old.d.ts +0 -65
  278. package/dist/utils/snow-oauth-old.js +0 -345
  279. package/dist/utils/xml-first-flow-generator.js +0 -513
  280. package/memory/servicenow_artifacts/000d9224c895221055906c7518aa2d3d.json +0 -30
  281. package/memory/servicenow_artifacts/0196b66173303010e46b4a2214f6a7a2.json +0 -36
  282. package/memory/servicenow_artifacts/125e5d1d837e2a102a7ea130ceaad397.json +0 -30
  283. package/memory/servicenow_artifacts/7637c1f2b7112210a5e5911cde11a972.json +0 -30
  284. package/memory/servicenow_artifacts/default_documentation_tables_1754056582292.json +0 -55
  285. package/memory/servicenow_artifacts/default_documentation_tables_1754057477189.json +0 -55
  286. package/memory/update-set-sessions/01f82af583faea102a7ea130ceaad3d4.json +0 -9
  287. package/memory/update-set-sessions/27718fb983faea102a7ea130ceaad34b.json +0 -9
  288. package/memory/update-set-sessions/412e9bf6833e22502a7ea130ceaad30a.json +0 -8
  289. package/memory/update-set-sessions/66fc5a79837aea102a7ea130ceaad3ab.json +0 -9
  290. package/memory/update-set-sessions/71a30ff5837eea102a7ea130ceaad37f.json +0 -9
  291. package/memory/update-set-sessions/74fba27983faea102a7ea130ceaad3bd.json +0 -9
  292. package/memory/update-set-sessions/a0b147b5837eea102a7ea130ceaad344.json +0 -58
  293. package/memory/update-set-sessions/b13f5eb983baea102a7ea130ceaad33e.json +0 -9
  294. package/reports/swarm-auto-centralized-1752649029776.json +0 -13
  295. package/src/memory/README.md +0 -240
@@ -1,301 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.SnowMemory = void 0;
7
- const sqlite3_1 = require("sqlite3");
8
- const util_1 = require("util");
9
- const path_1 = __importDefault(require("path"));
10
- const promises_1 = __importDefault(require("fs/promises"));
11
- const nanoid_1 = require("nanoid");
12
- class SnowMemory {
13
- constructor(options = {}) {
14
- this.namespace = options.namespace || 'default';
15
- this.dbPath = options.dbPath || path_1.default.join(process.cwd(), 'memory', 'snow-memory.db');
16
- this.options = options;
17
- }
18
- async initialize() {
19
- // Ensure memory directory exists
20
- const memoryDir = path_1.default.dirname(this.dbPath);
21
- await promises_1.default.mkdir(memoryDir, { recursive: true });
22
- // Open database connection
23
- this.db = new sqlite3_1.Database(this.dbPath);
24
- // Promisify database methods
25
- const run = (0, util_1.promisify)(this.db.run.bind(this.db));
26
- const get = (0, util_1.promisify)(this.db.get.bind(this.db));
27
- // Create tables if not exists
28
- await run(`
29
- CREATE TABLE IF NOT EXISTS memory_entries (
30
- id TEXT PRIMARY KEY,
31
- key TEXT NOT NULL,
32
- value TEXT NOT NULL,
33
- namespace TEXT NOT NULL,
34
- ttl INTEGER,
35
- created_at INTEGER NOT NULL,
36
- updated_at INTEGER NOT NULL,
37
- accessed_at INTEGER NOT NULL,
38
- access_count INTEGER DEFAULT 1,
39
- metadata TEXT,
40
- UNIQUE(key, namespace)
41
- )
42
- `);
43
- await run(`
44
- CREATE INDEX IF NOT EXISTS idx_memory_namespace ON memory_entries(namespace);
45
- `);
46
- await run(`
47
- CREATE INDEX IF NOT EXISTS idx_memory_key ON memory_entries(key);
48
- `);
49
- await run(`
50
- CREATE INDEX IF NOT EXISTS idx_memory_ttl ON memory_entries(ttl);
51
- `);
52
- // Start cleanup timer
53
- if (this.options.cleanupInterval) {
54
- this.cleanupTimer = setInterval(() => this.cleanup(), this.options.cleanupInterval);
55
- }
56
- else {
57
- // Default cleanup every 5 minutes
58
- this.cleanupTimer = setInterval(() => this.cleanup(), 300000);
59
- }
60
- }
61
- async store(key, value, options = {}) {
62
- const namespace = options.namespace || this.namespace;
63
- const ttl = options.ttl;
64
- const metadata = options.metadata || {};
65
- const now = Date.now();
66
- const expiresAt = ttl ? now + ttl : null;
67
- const run = (0, util_1.promisify)(this.db.run.bind(this.db));
68
- const id = (0, nanoid_1.nanoid)();
69
- const serializedValue = JSON.stringify(value);
70
- const serializedMetadata = JSON.stringify(metadata);
71
- await run(`
72
- INSERT OR REPLACE INTO memory_entries
73
- (id, key, value, namespace, ttl, created_at, updated_at, accessed_at, access_count, metadata)
74
- VALUES (?, ?, ?, ?, ?, ?, ?, ?,
75
- COALESCE((SELECT access_count FROM memory_entries WHERE key = ? AND namespace = ?), 0) + 1,
76
- ?)
77
- `, [
78
- id,
79
- key,
80
- serializedValue,
81
- namespace,
82
- expiresAt,
83
- now,
84
- now,
85
- now,
86
- key,
87
- namespace,
88
- serializedMetadata
89
- ]);
90
- // Check max entries limit
91
- if (this.options.maxEntries) {
92
- await this.enforceMaxEntries();
93
- }
94
- }
95
- async retrieve(key, namespace) {
96
- const ns = namespace || this.namespace;
97
- const get = (0, util_1.promisify)(this.db.get.bind(this.db));
98
- const run = (0, util_1.promisify)(this.db.run.bind(this.db));
99
- const now = Date.now();
100
- // Get entry and check TTL
101
- const entry = await get(`
102
- SELECT * FROM memory_entries
103
- WHERE key = ? AND namespace = ? AND (ttl IS NULL OR ttl > ?)
104
- `, [key, ns, now]);
105
- if (!entry) {
106
- return null;
107
- }
108
- // Update access time and count
109
- await run(`
110
- UPDATE memory_entries
111
- SET accessed_at = ?, access_count = access_count + 1
112
- WHERE key = ? AND namespace = ?
113
- `, [now, key, ns]);
114
- return JSON.parse(entry.value);
115
- }
116
- async delete(key, namespace) {
117
- const ns = namespace || this.namespace;
118
- const run = (0, util_1.promisify)(this.db.run.bind(this.db));
119
- await run(`
120
- DELETE FROM memory_entries
121
- WHERE key = ? AND namespace = ?
122
- `, [key, ns]);
123
- }
124
- async search(options = {}) {
125
- const all = (0, util_1.promisify)(this.db.all.bind(this.db));
126
- let query = `SELECT * FROM memory_entries WHERE 1=1`;
127
- const params = [];
128
- if (options.namespace) {
129
- query += ` AND namespace = ?`;
130
- params.push(options.namespace);
131
- }
132
- if (options.pattern) {
133
- query += ` AND key LIKE ?`;
134
- params.push(`%${options.pattern}%`);
135
- }
136
- // Filter out expired entries
137
- query += ` AND (ttl IS NULL OR ttl > ?)`;
138
- params.push(Date.now());
139
- // Ordering
140
- const orderBy = options.orderBy || 'updated';
141
- const order = options.order || 'desc';
142
- const orderColumn = {
143
- 'created': 'created_at',
144
- 'updated': 'updated_at',
145
- 'accessed': 'accessed_at'
146
- }[orderBy] || 'updated_at';
147
- query += ` ORDER BY ${orderColumn} ${order.toUpperCase()}`;
148
- // Pagination
149
- const limit = options.limit || 100;
150
- const offset = options.offset || 0;
151
- query += ` LIMIT ? OFFSET ?`;
152
- params.push(limit, offset);
153
- const rows = await all(query, params);
154
- return rows.map(row => ({
155
- key: row.key,
156
- value: JSON.parse(row.value),
157
- namespace: row.namespace,
158
- ttl: row.ttl ? row.ttl - Date.now() : undefined,
159
- createdAt: new Date(row.created_at),
160
- updatedAt: new Date(row.updated_at),
161
- accessCount: row.access_count,
162
- metadata: JSON.parse(row.metadata || '{}')
163
- }));
164
- }
165
- async list(namespace) {
166
- const ns = namespace || this.namespace;
167
- const all = (0, util_1.promisify)(this.db.all.bind(this.db));
168
- const rows = await all(`
169
- SELECT key FROM memory_entries
170
- WHERE namespace = ? AND (ttl IS NULL OR ttl > ?)
171
- ORDER BY updated_at DESC
172
- `, [ns, Date.now()]);
173
- return rows.map(row => row.key);
174
- }
175
- async exists(key, namespace) {
176
- const ns = namespace || this.namespace;
177
- const get = (0, util_1.promisify)(this.db.get.bind(this.db));
178
- const result = await get(`
179
- SELECT 1 FROM memory_entries
180
- WHERE key = ? AND namespace = ? AND (ttl IS NULL OR ttl > ?)
181
- `, [key, ns, Date.now()]);
182
- return !!result;
183
- }
184
- async clear(namespace) {
185
- const run = (0, util_1.promisify)(this.db.run.bind(this.db));
186
- if (namespace) {
187
- await run(`DELETE FROM memory_entries WHERE namespace = ?`, [namespace]);
188
- }
189
- else {
190
- await run(`DELETE FROM memory_entries`);
191
- }
192
- }
193
- async cleanup() {
194
- const run = (0, util_1.promisify)(this.db.run.bind(this.db));
195
- const get = (0, util_1.promisify)(this.db.get.bind(this.db));
196
- // Count expired entries before deletion
197
- const countResult = await get(`
198
- SELECT COUNT(*) as count FROM memory_entries
199
- WHERE ttl IS NOT NULL AND ttl <= ?
200
- `, [Date.now()]);
201
- // Delete expired entries
202
- await run(`
203
- DELETE FROM memory_entries
204
- WHERE ttl IS NOT NULL AND ttl <= ?
205
- `, [Date.now()]);
206
- return countResult?.count || 0;
207
- }
208
- async enforceMaxEntries() {
209
- if (!this.options.maxEntries)
210
- return;
211
- const run = (0, util_1.promisify)(this.db.run.bind(this.db));
212
- const get = (0, util_1.promisify)(this.db.get.bind(this.db));
213
- // Get current count
214
- const countResult = await get(`SELECT COUNT(*) as count FROM memory_entries`);
215
- const count = countResult?.count || 0;
216
- if (count > this.options.maxEntries) {
217
- const toDelete = count - this.options.maxEntries;
218
- // Delete oldest entries based on access time
219
- await run(`
220
- DELETE FROM memory_entries
221
- WHERE id IN (
222
- SELECT id FROM memory_entries
223
- ORDER BY accessed_at ASC
224
- LIMIT ?
225
- )
226
- `, [toDelete]);
227
- }
228
- }
229
- async getStats() {
230
- const get = (0, util_1.promisify)(this.db.get.bind(this.db));
231
- const all = (0, util_1.promisify)(this.db.all.bind(this.db));
232
- const stats = await get(`
233
- SELECT
234
- COUNT(*) as total_entries,
235
- SUM(LENGTH(value)) as total_size,
236
- MIN(created_at) as oldest,
237
- MAX(created_at) as newest
238
- FROM memory_entries
239
- WHERE ttl IS NULL OR ttl > ?
240
- `, [Date.now()]);
241
- const namespaces = await all(`
242
- SELECT DISTINCT namespace FROM memory_entries
243
- `);
244
- const mostAccessed = await get(`
245
- SELECT key, access_count
246
- FROM memory_entries
247
- WHERE ttl IS NULL OR ttl > ?
248
- ORDER BY access_count DESC
249
- LIMIT 1
250
- `, [Date.now()]);
251
- return {
252
- totalEntries: stats?.total_entries || 0,
253
- namespaces: namespaces.map(row => row.namespace),
254
- totalSize: stats?.total_size || 0,
255
- oldestEntry: stats?.oldest ? new Date(stats.oldest) : null,
256
- newestEntry: stats?.newest ? new Date(stats.newest) : null,
257
- mostAccessed: mostAccessed ? {
258
- key: mostAccessed.key,
259
- count: mostAccessed.access_count
260
- } : null
261
- };
262
- }
263
- async export(filePath, namespace) {
264
- const entries = await this.search({ namespace, limit: Number.MAX_SAFE_INTEGER });
265
- const data = {
266
- exported: new Date(),
267
- namespace: namespace || 'all',
268
- entries: entries
269
- };
270
- await promises_1.default.writeFile(filePath, JSON.stringify(data, null, 2), 'utf-8');
271
- }
272
- async import(filePath) {
273
- const content = await promises_1.default.readFile(filePath, 'utf-8');
274
- const data = JSON.parse(content);
275
- let imported = 0;
276
- for (const entry of data.entries) {
277
- await this.store(entry.key, entry.value, {
278
- namespace: entry.namespace,
279
- ttl: entry.ttl,
280
- metadata: entry.metadata
281
- });
282
- imported++;
283
- }
284
- return imported;
285
- }
286
- async close() {
287
- if (this.cleanupTimer) {
288
- clearInterval(this.cleanupTimer);
289
- }
290
- return new Promise((resolve) => {
291
- this.db.close((err) => {
292
- if (err) {
293
- console.error('Error closing database:', err);
294
- }
295
- resolve();
296
- });
297
- });
298
- }
299
- }
300
- exports.SnowMemory = SnowMemory;
301
- //# sourceMappingURL=snow-memory.js.map
@@ -1,135 +0,0 @@
1
- /**
2
- * Snow-Flow Swarm Memory System
3
- * Core SQLite database management for agent coordination
4
- *
5
- * This module provides the foundation for cross-agent communication,
6
- * artifact tracking, and performance monitoring.
7
- */
8
- export interface SwarmMemoryConfig {
9
- dbPath?: string;
10
- inMemory?: boolean;
11
- autoMigrate?: boolean;
12
- verbose?: boolean;
13
- }
14
- export interface AgentCoordination {
15
- session_id: string;
16
- agent_id: string;
17
- agent_type: string;
18
- status: 'spawned' | 'active' | 'blocked' | 'completed' | 'failed';
19
- assigned_tasks: string;
20
- progress_percentage: number;
21
- last_activity: Date;
22
- current_tool?: string;
23
- error_state?: string;
24
- }
25
- export interface ServiceNowArtifactRecord {
26
- sys_id: string;
27
- artifact_type: 'widget' | 'flow' | 'script' | 'business_rule' | 'table' | 'catalog_item';
28
- name: string;
29
- description?: string;
30
- created_by_agent: string;
31
- session_id: string;
32
- deployment_status: 'created' | 'tested' | 'deployed' | 'verified' | 'failed';
33
- update_set_id?: string;
34
- dependencies?: string;
35
- metadata?: string;
36
- }
37
- export interface AgentMessage {
38
- id: string;
39
- session_id: string;
40
- from_agent: string;
41
- to_agent: string;
42
- message_type: 'handoff' | 'dependency_ready' | 'error' | 'status_update' | 'coordination';
43
- content: string;
44
- artifact_reference?: string;
45
- timestamp: Date;
46
- processed: boolean;
47
- }
48
- export interface SharedContext {
49
- session_id: string;
50
- context_key: string;
51
- context_value: string;
52
- created_by_agent: string;
53
- expires_at?: Date;
54
- access_permissions?: string;
55
- }
56
- export interface DeploymentHistory {
57
- id: string;
58
- session_id: string;
59
- artifact_sys_id: string;
60
- deployment_type: 'create' | 'update' | 'test' | 'verify' | 'rollback';
61
- success: boolean;
62
- deployment_time: Date;
63
- agent_id: string;
64
- error_details?: string;
65
- rollback_available: boolean;
66
- }
67
- export interface AgentDependency {
68
- session_id: string;
69
- agent_id: string;
70
- depends_on_agent: string;
71
- dependency_type: 'artifact_ready' | 'approval_needed' | 'data_available' | 'task_complete';
72
- artifact_reference?: string;
73
- status: 'pending' | 'satisfied' | 'blocked' | 'failed';
74
- created_at: Date;
75
- satisfied_at?: Date;
76
- }
77
- export interface PerformanceMetric {
78
- id: string;
79
- session_id: string;
80
- agent_id: string;
81
- operation_name: string;
82
- duration_ms: number;
83
- success: boolean;
84
- error_message?: string;
85
- timestamp: Date;
86
- metadata?: string;
87
- }
88
- export declare class SwarmMemory {
89
- private db;
90
- private logger;
91
- private config;
92
- private migrationVersion;
93
- constructor(config?: SwarmMemoryConfig);
94
- private configureDatabase;
95
- private migrate;
96
- private createTables;
97
- private createIndexes;
98
- /**
99
- * Get the underlying database instance for direct queries
100
- */
101
- getDatabase(): any;
102
- /**
103
- * Prepare a statement for repeated execution
104
- */
105
- prepare(sql: string): any;
106
- /**
107
- * Execute a query and return all results
108
- */
109
- all(sql: string, params?: any[]): any[];
110
- /**
111
- * Execute a query and return the first result
112
- */
113
- get(sql: string, params?: any[]): any;
114
- /**
115
- * Execute a statement that doesn't return data
116
- */
117
- run(sql: string, params?: any[]): any;
118
- /**
119
- * Execute multiple statements in a transaction
120
- */
121
- transaction<T>(fn: () => T): T;
122
- /**
123
- * Clean up expired data
124
- */
125
- cleanup(): void;
126
- /**
127
- * Get database statistics
128
- */
129
- getStats(): Record<string, any>;
130
- /**
131
- * Close the database connection
132
- */
133
- close(): void;
134
- }
135
- //# sourceMappingURL=swarm-memory.d.ts.map