snow-flow 3.0.9 → 3.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/claude-flow.bat +0 -0
- package/claude-flow.ps1 +0 -0
- package/dist/mcp/intelligent-reporting-mcp.d.ts +7 -0
- package/dist/mcp/intelligent-reporting-mcp.js +379 -0
- package/dist/mcp/servicenow-automation-mcp.js +0 -0
- package/dist/mcp/servicenow-deployment-mcp.js +0 -0
- package/dist/mcp/servicenow-integration-mcp.js +0 -0
- package/dist/mcp/servicenow-mcp-server.js +0 -0
- package/dist/mcp/servicenow-operations-mcp.js +0 -0
- package/dist/mcp/servicenow-platform-development-mcp.js +0 -0
- package/dist/mcp/servicenow-progressive-indexer.js +0 -0
- package/dist/mcp/servicenow-reporting-analytics-mcp.js +280 -29
- package/dist/mcp/servicenow-security-compliance-mcp.js +0 -0
- package/dist/mcp/servicenow-update-set-mcp.js +0 -0
- package/dist/mcp/start-all-mcp-servers.js +0 -0
- package/dist/mcp/start-servicenow-mcp.js +0 -0
- package/dist/services/widget-deployment-service.d.ts +2 -1
- package/dist/services/widget-deployment-service.js +17 -16
- package/dist/utils/anti-mock-data-validator.d.ts +66 -0
- package/dist/utils/anti-mock-data-validator.js +316 -0
- package/dist/utils/servicenow-eventual-consistency.d.ts +120 -0
- package/dist/utils/servicenow-eventual-consistency.js +220 -0
- package/memory/agents/README.md +1 -1
- package/memory/claude-flow-data.json +1 -1
- package/memory/sessions/README.md +1 -1
- package/package.json +4 -3
- package/.mcp.json +0 -22
- package/claude-flow.config.json +0 -20
- package/dist/agents/app-creator.agent.d.ts +0 -55
- package/dist/agents/app-creator.agent.js +0 -1292
- package/dist/agents/base/base-snow-agent.d.ts +0 -75
- package/dist/agents/base/base-snow-agent.js +0 -169
- package/dist/agents/base-snow-agent.d.ts +0 -63
- package/dist/agents/base-snow-agent.js +0 -296
- package/dist/agents/coordinator.d.ts +0 -200
- package/dist/agents/coordinator.js +0 -777
- package/dist/agents/flow-builder-agent.d.ts +0 -18
- package/dist/agents/flow-builder-agent.js +0 -197
- package/dist/agents/queen-403-handler.d.ts +0 -47
- package/dist/agents/queen-403-handler.js +0 -175
- package/dist/agents/queen-agent-example.d.ts +0 -23
- package/dist/agents/queen-agent-example.js +0 -240
- package/dist/agents/queen-agent.test.d.ts +0 -6
- package/dist/agents/script-generator.agent.d.ts +0 -32
- package/dist/agents/script-generator.agent.js +0 -772
- package/dist/agents/script-writer-agent.d.ts +0 -22
- package/dist/agents/script-writer-agent.js +0 -695
- package/dist/agents/security-agent.d.ts +0 -23
- package/dist/agents/security-agent.js +0 -619
- package/dist/agents/specialists/automation-specialist.agent.d.ts +0 -44
- package/dist/agents/specialists/automation-specialist.agent.js +0 -204
- package/dist/agents/specialists/data-specialist.agent.d.ts +0 -165
- package/dist/agents/specialists/data-specialist.agent.js +0 -484
- package/dist/agents/specialists/integration-specialist.agent.d.ts +0 -227
- package/dist/agents/specialists/integration-specialist.agent.js +0 -725
- package/dist/agents/specialists/reporting-specialist.agent.d.ts +0 -54
- package/dist/agents/specialists/reporting-specialist.agent.js +0 -193
- package/dist/agents/specialists/security-specialist.agent.d.ts +0 -85
- package/dist/agents/specialists/security-specialist.agent.js +0 -309
- package/dist/agents/teams/adaptive/adaptive-coordinator.agent.d.ts +0 -111
- package/dist/agents/teams/adaptive/adaptive-coordinator.agent.js +0 -383
- package/dist/agents/teams/base-team.d.ts +0 -72
- package/dist/agents/teams/base-team.js +0 -253
- package/dist/agents/teams/team-types.d.ts +0 -265
- package/dist/agents/teams/team-types.js +0 -3
- package/dist/agents/teams/widget/widget-architect.agent.d.ts +0 -61
- package/dist/agents/teams/widget/widget-architect.agent.js +0 -436
- package/dist/agents/teams/widget/widget-backend.agent.d.ts +0 -74
- package/dist/agents/teams/widget/widget-backend.agent.js +0 -1531
- package/dist/agents/teams/widget/widget-frontend.agent.d.ts +0 -67
- package/dist/agents/teams/widget/widget-frontend.agent.js +0 -1014
- package/dist/agents/teams/widget/widget-platform.agent.d.ts +0 -90
- package/dist/agents/teams/widget/widget-platform.agent.js +0 -1190
- package/dist/agents/teams/widget/widget-uiux.agent.d.ts +0 -107
- package/dist/agents/teams/widget/widget-uiux.agent.js +0 -1033
- package/dist/agents/test-agent.d.ts +0 -26
- package/dist/agents/test-agent.js +0 -734
- package/dist/agents/test-agents.d.ts +0 -7
- package/dist/agents/test-agents.js +0 -64
- package/dist/agents/ui-builder.agent.d.ts +0 -50
- package/dist/agents/ui-builder.agent.js +0 -1539
- package/dist/agents/widget-builder.agent.d.ts +0 -32
- package/dist/agents/widget-builder.agent.js +0 -439
- package/dist/agents/widget-creator-agent.d.ts +0 -18
- package/dist/agents/widget-creator-agent.js +0 -498
- package/dist/agents/workflow-designer.agent.d.ts +0 -31
- package/dist/agents/workflow-designer.agent.js +0 -583
- package/dist/api/error-handling.d.ts +0 -325
- package/dist/api/error-handling.js +0 -1488
- package/dist/api/flow-designer-api.d.ts +0 -167
- package/dist/api/flow-designer-api.js +0 -554
- package/dist/api/natural-language-mapper.d.ts +0 -124
- package/dist/api/natural-language-mapper.js +0 -501
- package/dist/api/performance-optimizer.d.ts +0 -240
- package/dist/api/performance-optimizer.js +0 -706
- package/dist/api/transaction-manager.d.ts +0 -189
- package/dist/api/transaction-manager.js +0 -576
- package/dist/assembly/team-assembler.d.ts +0 -140
- package/dist/assembly/team-assembler.js +0 -502
- package/dist/benchmark-performance.d.ts +0 -41
- package/dist/benchmark-performance.js +0 -230
- package/dist/cli/snow-flow-cli-integration.d.ts +0 -30
- package/dist/cli/snow-flow-cli-integration.js +0 -396
- package/dist/coordination/coordination-engine.d.ts +0 -41
- package/dist/coordination/coordination-engine.js +0 -324
- package/dist/coordination/coordination.test.d.ts +0 -6
- package/dist/coordination/example.d.ts +0 -31
- package/dist/coordination/example.js +0 -394
- package/dist/coordination/execution-patterns.d.ts +0 -43
- package/dist/coordination/execution-patterns.js +0 -507
- package/dist/coordination/factory.d.ts +0 -94
- package/dist/coordination/factory.js +0 -433
- package/dist/coordination/index.d.ts +0 -71
- package/dist/coordination/index.js +0 -135
- package/dist/coordination/progress-monitor.d.ts +0 -71
- package/dist/coordination/progress-monitor.js +0 -505
- package/dist/coordination/quality-gates.d.ts +0 -124
- package/dist/coordination/quality-gates.js +0 -577
- package/dist/coordination/shared-memory.d.ts +0 -39
- package/dist/coordination/shared-memory.js +0 -289
- package/dist/coordination/task-dependencies.d.ts +0 -50
- package/dist/coordination/task-dependencies.js +0 -407
- package/dist/coordination/team-coordinator.d.ts +0 -59
- package/dist/coordination/team-coordinator.js +0 -550
- package/dist/coordination/types.d.ts +0 -152
- package/dist/coordination/types.js +0 -3
- package/dist/mcp/mcp-wrapper.d.ts +0 -8
- package/dist/mcp/mcp-wrapper.js +0 -77
- package/dist/mcp/servicenow-flow-composer-enhanced.js +0 -396
- package/dist/mcp/servicenow-flow-composer-mcp.d.ts +0 -7
- package/dist/mcp/servicenow-flow-composer-mcp.js +0 -3103
- package/dist/mcp/servicenow-graph-memory-mcp.d.ts +0 -7
- package/dist/mcp/servicenow-intelligent-mcp.d.ts +0 -143
- package/dist/mcp/servicenow-intelligent-mcp.js +0 -4156
- package/dist/mcp/servicenow-xml-flow-mcp.d.ts +0 -53
- package/dist/mcp/servicenow-xml-flow-mcp.js +0 -1704
- package/dist/mcp/singleton-check.js +0 -31
- package/dist/mcp/test-simple-mcp.d.ts +0 -6
- package/dist/mcp/test-simple-mcp.js +0 -63
- package/dist/memory/hierarchical-memory-system.d.ts +0 -90
- package/dist/memory/hierarchical-memory-system.js +0 -400
- package/dist/memory/index.d.ts +0 -9
- package/dist/memory/index.js +0 -20
- package/dist/memory/mcp-integration-example.d.ts +0 -6
- package/dist/memory/mcp-integration-example.js +0 -281
- package/dist/memory/memory-client.d.ts +0 -199
- package/dist/memory/memory-client.js +0 -364
- package/dist/memory/memory-manager.d.ts +0 -29
- package/dist/memory/memory-manager.js +0 -280
- package/dist/memory/memory-operations.d.ts +0 -179
- package/dist/memory/memory-operations.js +0 -691
- package/dist/memory/memory-system.d.ts +0 -153
- package/dist/memory/memory-system.js +0 -651
- package/dist/memory/memory-test.d.ts +0 -6
- package/dist/memory/memory-test.js +0 -161
- package/dist/memory/snow-flow-memory-patterns.d.ts +0 -213
- package/dist/memory/snow-flow-memory-patterns.js +0 -200
- package/dist/memory/snow-memory.d.ts +0 -54
- package/dist/memory/snow-memory.js +0 -301
- package/dist/memory/swarm-memory.d.ts +0 -135
- package/dist/memory/swarm-memory.js +0 -378
- package/dist/optimization/flow-performance-optimizer.js +0 -723
- package/dist/orchestration/discovery/service-discovery.d.ts +0 -81
- package/dist/orchestration/discovery/service-discovery.js +0 -808
- package/dist/orchestration/distributed-orchestrator.d.ts +0 -131
- package/dist/orchestration/distributed-orchestrator.js +0 -712
- package/dist/orchestration/distribution/task-distribution-engine.d.ts +0 -53
- package/dist/orchestration/distribution/task-distribution-engine.js +0 -586
- package/dist/orchestration/flow-update-orchestrator.js +0 -648
- package/dist/orchestration/interfaces/distributed-orchestration.interface.d.ts +0 -606
- package/dist/orchestration/interfaces/distributed-orchestration.interface.js +0 -65
- package/dist/orchestration/protocols/mcpx-protocol.d.ts +0 -71
- package/dist/orchestration/protocols/mcpx-protocol.js +0 -668
- package/dist/orchestration/state/distributed-state-manager.d.ts +0 -89
- package/dist/orchestration/state/distributed-state-manager.js +0 -716
- package/dist/orchestrator/flow-composer.d.ts +0 -105
- package/dist/orchestrator/flow-composer.js +0 -404
- package/dist/orchestrator/flow-pattern-templates.d.ts +0 -260
- package/dist/orchestrator/flow-pattern-templates.js +0 -908
- package/dist/orchestrator/flow-subflow-decision-engine.d.ts +0 -202
- package/dist/orchestrator/flow-subflow-decision-engine.js +0 -769
- package/dist/orchestrator/flow-validation-engine.d.ts +0 -169
- package/dist/orchestrator/flow-validation-engine.js +0 -913
- package/dist/orchestrator/snow-orchestrator.d.ts +0 -49
- package/dist/orchestrator/snow-orchestrator.js +0 -235
- package/dist/orchestrator/subflow-creation-handler.d.ts +0 -230
- package/dist/orchestrator/subflow-creation-handler.js +0 -791
- package/dist/patterns/adaptive-patterns.d.ts +0 -140
- package/dist/patterns/adaptive-patterns.js +0 -549
- package/dist/queen/advanced-integration-test.d.ts +0 -48
- package/dist/queen/advanced-integration-test.js +0 -473
- package/dist/queen/integration-example.d.ts +0 -82
- package/dist/queen/integration-example.js +0 -219
- package/dist/queen/integration-test.d.ts +0 -72
- package/dist/queen/integration-test.js +0 -563
- package/dist/queen/mock-mcp-client.d.ts +0 -71
- package/dist/queen/mock-mcp-client.js +0 -317
- package/dist/queen/run-integration-tests.d.ts +0 -9
- package/dist/queen/run-integration-tests.js +0 -27
- package/dist/sparc/coordinators/adaptive-coordinator.d.ts +0 -54
- package/dist/sparc/coordinators/adaptive-coordinator.js +0 -367
- package/dist/sparc/coordinators/team-coordinator.d.ts +0 -66
- package/dist/sparc/coordinators/team-coordinator.js +0 -402
- package/dist/sparc/modes/team-modes.d.ts +0 -33
- package/dist/sparc/modes/team-modes.js +0 -399
- package/dist/sparc/teams/application-team.d.ts +0 -73
- package/dist/sparc/teams/application-team.js +0 -463
- package/dist/sparc/teams/flow-team.d.ts +0 -67
- package/dist/sparc/teams/flow-team.js +0 -373
- package/dist/sparc/teams/widget-team.d.ts +0 -61
- package/dist/sparc/teams/widget-team.js +0 -280
- package/dist/specialists/app-specialists.d.ts +0 -93
- package/dist/specialists/app-specialists.js +0 -1639
- package/dist/specialists/base-specialist.d.ts +0 -19
- package/dist/specialists/base-specialist.js +0 -54
- package/dist/specialists/flow-specialists.d.ts +0 -113
- package/dist/specialists/flow-specialists.js +0 -1787
- package/dist/specialists/individual-specialists.d.ts +0 -67
- package/dist/specialists/individual-specialists.js +0 -632
- package/dist/specialists/widget-specialists.d.ts +0 -70
- package/dist/specialists/widget-specialists.js +0 -1264
- package/dist/src/utils/agent-detector.js +0 -655
- package/dist/teams/adaptive-team.d.ts +0 -81
- package/dist/teams/adaptive-team.js +0 -1153
- package/dist/teams/application-team.d.ts +0 -30
- package/dist/teams/application-team.js +0 -547
- package/dist/teams/base-team.d.ts +0 -55
- package/dist/teams/base-team.js +0 -243
- package/dist/teams/flow-team.d.ts +0 -28
- package/dist/teams/flow-team.js +0 -525
- package/dist/teams/widget-team.d.ts +0 -26
- package/dist/teams/widget-team.js +0 -459
- package/dist/templates/flow-template-system.js +0 -625
- package/dist/test-fetch-incidents.d.ts +0 -2
- package/dist/test-fetch-incidents.js +0 -84
- package/dist/test-incident-access.d.ts +0 -2
- package/dist/test-incident-access.js +0 -72
- package/dist/test-iphone-flow.js +0 -189
- package/dist/test-limit-problem.d.ts +0 -2
- package/dist/test-limit-problem.js +0 -60
- package/dist/test-ml-batch-fix.d.ts +0 -2
- package/dist/test-ml-batch-fix.js +0 -104
- package/dist/test-ml-batch.d.ts +0 -2
- package/dist/test-ml-batch.js +0 -87
- package/dist/test-ml-query.d.ts +0 -2
- package/dist/test-ml-query.js +0 -100
- package/dist/test-ml-training-fix.d.ts +0 -12
- package/dist/test-ml-training-fix.js +0 -113
- package/dist/test-ml-training.d.ts +0 -2
- package/dist/test-ml-training.js +0 -32
- package/dist/test-operations-query.d.ts +0 -2
- package/dist/test-operations-query.js +0 -84
- package/dist/test-performance-query.d.ts +0 -2
- package/dist/test-performance-query.js +0 -52
- package/dist/test-singleton-protection.d.ts +0 -8
- package/dist/test-singleton-protection.js +0 -110
- package/dist/test-smart-limits.d.ts +0 -13
- package/dist/test-smart-limits.js +0 -100
- package/dist/test-snow-query-incidents.d.ts +0 -2
- package/dist/test-snow-query-incidents.js +0 -66
- package/dist/test-universal-query.d.ts +0 -2
- package/dist/test-universal-query.js +0 -106
- package/dist/testing/flow-testing-automation.js +0 -641
- package/dist/utils/complete-flow-xml-generator.js +0 -1285
- package/dist/utils/file-storage-fallback.d.ts +0 -62
- package/dist/utils/file-storage-fallback.js +0 -289
- package/dist/utils/flow-api-discovery.d.ts +0 -151
- package/dist/utils/flow-api-discovery.js +0 -439
- package/dist/utils/flow-examples.js +0 -720
- package/dist/utils/flow-structure-builder.js +0 -677
- package/dist/utils/flow-xml-generator.d.ts +0 -41
- package/dist/utils/flow-xml-generator.js +0 -258
- package/dist/utils/improved-flow-xml-generator.js +0 -820
- package/dist/utils/mcp-process-manager.backup.d.ts +0 -58
- package/dist/utils/mcp-process-manager.backup.js +0 -220
- package/dist/utils/mcp-singleton-enforcer.d.ts +0 -36
- package/dist/utils/mcp-singleton-enforcer.js +0 -201
- package/dist/utils/mcp-timeout-fix.d.ts +0 -53
- package/dist/utils/mcp-timeout-fix.js +0 -221
- package/dist/utils/migrate-claude-flow.d.ts +0 -22
- package/dist/utils/migrate-claude-flow.js +0 -120
- package/dist/utils/scope-utils.d.ts +0 -72
- package/dist/utils/scope-utils.js +0 -386
- package/dist/utils/snow-oauth-old.d.ts +0 -65
- package/dist/utils/snow-oauth-old.js +0 -345
- package/dist/utils/xml-first-flow-generator.js +0 -513
- package/memory/servicenow_artifacts/000d9224c895221055906c7518aa2d3d.json +0 -30
- package/memory/servicenow_artifacts/0196b66173303010e46b4a2214f6a7a2.json +0 -36
- package/memory/servicenow_artifacts/125e5d1d837e2a102a7ea130ceaad397.json +0 -30
- package/memory/servicenow_artifacts/7637c1f2b7112210a5e5911cde11a972.json +0 -30
- package/memory/servicenow_artifacts/default_documentation_tables_1754056582292.json +0 -55
- package/memory/servicenow_artifacts/default_documentation_tables_1754057477189.json +0 -55
- package/memory/update-set-sessions/01f82af583faea102a7ea130ceaad3d4.json +0 -9
- package/memory/update-set-sessions/27718fb983faea102a7ea130ceaad34b.json +0 -9
- package/memory/update-set-sessions/412e9bf6833e22502a7ea130ceaad30a.json +0 -8
- package/memory/update-set-sessions/66fc5a79837aea102a7ea130ceaad3ab.json +0 -9
- package/memory/update-set-sessions/71a30ff5837eea102a7ea130ceaad37f.json +0 -9
- package/memory/update-set-sessions/74fba27983faea102a7ea130ceaad3bd.json +0 -9
- package/memory/update-set-sessions/a0b147b5837eea102a7ea130ceaad344.json +0 -58
- package/memory/update-set-sessions/b13f5eb983baea102a7ea130ceaad33e.json +0 -9
- package/reports/swarm-auto-centralized-1752649029776.json +0 -13
- package/src/memory/README.md +0 -240
|
@@ -1,378 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Snow-Flow Swarm Memory System
|
|
4
|
-
* Core SQLite database management for agent coordination
|
|
5
|
-
*
|
|
6
|
-
* This module provides the foundation for cross-agent communication,
|
|
7
|
-
* artifact tracking, and performance monitoring.
|
|
8
|
-
*/
|
|
9
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
12
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
13
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
-
}
|
|
15
|
-
Object.defineProperty(o, k2, desc);
|
|
16
|
-
}) : (function(o, m, k, k2) {
|
|
17
|
-
if (k2 === undefined) k2 = k;
|
|
18
|
-
o[k2] = m[k];
|
|
19
|
-
}));
|
|
20
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
-
}) : function(o, v) {
|
|
23
|
-
o["default"] = v;
|
|
24
|
-
});
|
|
25
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
26
|
-
var ownKeys = function(o) {
|
|
27
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
28
|
-
var ar = [];
|
|
29
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
30
|
-
return ar;
|
|
31
|
-
};
|
|
32
|
-
return ownKeys(o);
|
|
33
|
-
};
|
|
34
|
-
return function (mod) {
|
|
35
|
-
if (mod && mod.__esModule) return mod;
|
|
36
|
-
var result = {};
|
|
37
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
38
|
-
__setModuleDefault(result, mod);
|
|
39
|
-
return result;
|
|
40
|
-
};
|
|
41
|
-
})();
|
|
42
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
-
exports.SwarmMemory = void 0;
|
|
44
|
-
const logger_js_1 = require("../utils/logger.js");
|
|
45
|
-
const path = __importStar(require("path"));
|
|
46
|
-
const fs = __importStar(require("fs"));
|
|
47
|
-
let Database;
|
|
48
|
-
try {
|
|
49
|
-
Database = require('better-sqlite3');
|
|
50
|
-
}
|
|
51
|
-
catch (error) {
|
|
52
|
-
console.error('Failed to load better-sqlite3:', error);
|
|
53
|
-
throw new Error('better-sqlite3 module is required. Please run: npm install better-sqlite3');
|
|
54
|
-
}
|
|
55
|
-
class SwarmMemory {
|
|
56
|
-
constructor(config = {}) {
|
|
57
|
-
this.migrationVersion = 1;
|
|
58
|
-
this.logger = new logger_js_1.Logger('SwarmMemory');
|
|
59
|
-
this.config = config;
|
|
60
|
-
// Ensure memory directory exists
|
|
61
|
-
if (!config.inMemory && !config.dbPath) {
|
|
62
|
-
const memoryDir = path.join(process.cwd(), '.snow-flow', 'memory');
|
|
63
|
-
if (!fs.existsSync(memoryDir)) {
|
|
64
|
-
fs.mkdirSync(memoryDir, { recursive: true });
|
|
65
|
-
}
|
|
66
|
-
config.dbPath = path.join(memoryDir, 'swarm-memory.db');
|
|
67
|
-
}
|
|
68
|
-
// Initialize database
|
|
69
|
-
if (config.inMemory) {
|
|
70
|
-
this.db = new Database(':memory:');
|
|
71
|
-
this.logger.info('Initialized in-memory database');
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
this.db = new Database(config.dbPath);
|
|
75
|
-
this.logger.info('Initialized file-based database', { path: config.dbPath });
|
|
76
|
-
}
|
|
77
|
-
// Configure database for performance
|
|
78
|
-
this.configureDatabase();
|
|
79
|
-
// Run migrations
|
|
80
|
-
if (config.autoMigrate !== false) {
|
|
81
|
-
this.migrate();
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
configureDatabase() {
|
|
85
|
-
// Enable foreign keys for data integrity
|
|
86
|
-
this.db.pragma('foreign_keys = ON');
|
|
87
|
-
// Optimize for concurrent reads
|
|
88
|
-
this.db.pragma('journal_mode = WAL');
|
|
89
|
-
// Increase cache size for better performance
|
|
90
|
-
this.db.pragma('cache_size = 10000');
|
|
91
|
-
// Optimize for fast queries
|
|
92
|
-
this.db.pragma('synchronous = NORMAL');
|
|
93
|
-
if (this.config.verbose) {
|
|
94
|
-
this.logger.info('Database configured for optimal performance');
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
migrate() {
|
|
98
|
-
this.logger.info('Running database migrations');
|
|
99
|
-
// Check current migration version
|
|
100
|
-
const userVersion = this.db.pragma('user_version', { simple: true });
|
|
101
|
-
if (userVersion < this.migrationVersion) {
|
|
102
|
-
this.logger.info(`Migrating from version ${userVersion} to ${this.migrationVersion}`);
|
|
103
|
-
try {
|
|
104
|
-
this.db.transaction(() => {
|
|
105
|
-
// Create all tables as specified in MCP_ARCHITECTURE.md
|
|
106
|
-
this.createTables();
|
|
107
|
-
// Create indexes for performance
|
|
108
|
-
this.createIndexes();
|
|
109
|
-
// Update migration version
|
|
110
|
-
this.db.pragma(`user_version = ${this.migrationVersion}`);
|
|
111
|
-
})();
|
|
112
|
-
this.logger.info('Migration completed successfully');
|
|
113
|
-
}
|
|
114
|
-
catch (error) {
|
|
115
|
-
this.logger.error('Migration failed', error);
|
|
116
|
-
throw new Error(`Database migration failed: ${error.message}`);
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
createTables() {
|
|
121
|
-
// Agent coordination and communication
|
|
122
|
-
this.db.exec(`
|
|
123
|
-
CREATE TABLE IF NOT EXISTS agent_coordination (
|
|
124
|
-
session_id TEXT NOT NULL,
|
|
125
|
-
agent_id TEXT NOT NULL,
|
|
126
|
-
agent_type TEXT NOT NULL,
|
|
127
|
-
status TEXT NOT NULL CHECK (status IN ('spawned', 'active', 'blocked', 'completed', 'failed')),
|
|
128
|
-
assigned_tasks TEXT NOT NULL,
|
|
129
|
-
progress_percentage INTEGER DEFAULT 0 CHECK (progress_percentage >= 0 AND progress_percentage <= 100),
|
|
130
|
-
last_activity TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
131
|
-
current_tool TEXT,
|
|
132
|
-
error_state TEXT,
|
|
133
|
-
PRIMARY KEY (session_id, agent_id)
|
|
134
|
-
);
|
|
135
|
-
`);
|
|
136
|
-
// ServiceNow artifact tracking
|
|
137
|
-
this.db.exec(`
|
|
138
|
-
CREATE TABLE IF NOT EXISTS servicenow_artifacts (
|
|
139
|
-
sys_id TEXT PRIMARY KEY,
|
|
140
|
-
artifact_type TEXT NOT NULL CHECK (artifact_type IN ('widget', 'flow', 'script', 'business_rule', 'table', 'catalog_item')),
|
|
141
|
-
name TEXT NOT NULL,
|
|
142
|
-
description TEXT,
|
|
143
|
-
created_by_agent TEXT NOT NULL,
|
|
144
|
-
session_id TEXT NOT NULL,
|
|
145
|
-
deployment_status TEXT NOT NULL CHECK (deployment_status IN ('created', 'tested', 'deployed', 'verified', 'failed')),
|
|
146
|
-
update_set_id TEXT,
|
|
147
|
-
dependencies TEXT, -- JSON array of dependent artifacts
|
|
148
|
-
metadata TEXT, -- JSON blob of artifact-specific data
|
|
149
|
-
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
150
|
-
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
151
|
-
);
|
|
152
|
-
`);
|
|
153
|
-
// Inter-agent communication
|
|
154
|
-
this.db.exec(`
|
|
155
|
-
CREATE TABLE IF NOT EXISTS agent_messages (
|
|
156
|
-
id TEXT PRIMARY KEY,
|
|
157
|
-
session_id TEXT NOT NULL,
|
|
158
|
-
from_agent TEXT NOT NULL,
|
|
159
|
-
to_agent TEXT NOT NULL,
|
|
160
|
-
message_type TEXT NOT NULL CHECK (message_type IN ('handoff', 'dependency_ready', 'error', 'status_update', 'coordination')),
|
|
161
|
-
content TEXT NOT NULL,
|
|
162
|
-
artifact_reference TEXT,
|
|
163
|
-
timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
164
|
-
processed BOOLEAN DEFAULT FALSE
|
|
165
|
-
);
|
|
166
|
-
`);
|
|
167
|
-
// Shared context between agents
|
|
168
|
-
this.db.exec(`
|
|
169
|
-
CREATE TABLE IF NOT EXISTS shared_context (
|
|
170
|
-
session_id TEXT NOT NULL,
|
|
171
|
-
context_key TEXT NOT NULL,
|
|
172
|
-
context_value TEXT NOT NULL,
|
|
173
|
-
created_by_agent TEXT NOT NULL,
|
|
174
|
-
expires_at TIMESTAMP,
|
|
175
|
-
access_permissions TEXT, -- JSON array of agent types that can access
|
|
176
|
-
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
177
|
-
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
178
|
-
PRIMARY KEY (session_id, context_key)
|
|
179
|
-
);
|
|
180
|
-
`);
|
|
181
|
-
// Deployment tracking
|
|
182
|
-
this.db.exec(`
|
|
183
|
-
CREATE TABLE IF NOT EXISTS deployment_history (
|
|
184
|
-
id TEXT PRIMARY KEY,
|
|
185
|
-
session_id TEXT NOT NULL,
|
|
186
|
-
artifact_sys_id TEXT NOT NULL,
|
|
187
|
-
deployment_type TEXT NOT NULL CHECK (deployment_type IN ('create', 'update', 'test', 'verify', 'rollback')),
|
|
188
|
-
success BOOLEAN NOT NULL,
|
|
189
|
-
deployment_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
190
|
-
agent_id TEXT NOT NULL,
|
|
191
|
-
error_details TEXT,
|
|
192
|
-
rollback_available BOOLEAN DEFAULT FALSE
|
|
193
|
-
);
|
|
194
|
-
`);
|
|
195
|
-
// Agent dependencies and handoffs
|
|
196
|
-
this.db.exec(`
|
|
197
|
-
CREATE TABLE IF NOT EXISTS agent_dependencies (
|
|
198
|
-
session_id TEXT NOT NULL,
|
|
199
|
-
agent_id TEXT NOT NULL,
|
|
200
|
-
depends_on_agent TEXT NOT NULL,
|
|
201
|
-
dependency_type TEXT NOT NULL CHECK (dependency_type IN ('artifact_ready', 'approval_needed', 'data_available', 'task_complete')),
|
|
202
|
-
artifact_reference TEXT,
|
|
203
|
-
status TEXT NOT NULL CHECK (status IN ('pending', 'satisfied', 'blocked', 'failed')),
|
|
204
|
-
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
205
|
-
satisfied_at TIMESTAMP,
|
|
206
|
-
PRIMARY KEY (session_id, agent_id, depends_on_agent)
|
|
207
|
-
);
|
|
208
|
-
`);
|
|
209
|
-
// Performance metrics
|
|
210
|
-
this.db.exec(`
|
|
211
|
-
CREATE TABLE IF NOT EXISTS performance_metrics (
|
|
212
|
-
id TEXT PRIMARY KEY,
|
|
213
|
-
session_id TEXT NOT NULL,
|
|
214
|
-
agent_id TEXT NOT NULL,
|
|
215
|
-
operation_name TEXT NOT NULL,
|
|
216
|
-
duration_ms INTEGER NOT NULL CHECK (duration_ms >= 0),
|
|
217
|
-
success BOOLEAN NOT NULL,
|
|
218
|
-
error_message TEXT,
|
|
219
|
-
timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
220
|
-
metadata TEXT -- JSON blob for additional metrics
|
|
221
|
-
);
|
|
222
|
-
`);
|
|
223
|
-
}
|
|
224
|
-
createIndexes() {
|
|
225
|
-
// Indexes for agent_coordination
|
|
226
|
-
this.db.exec(`
|
|
227
|
-
CREATE INDEX IF NOT EXISTS idx_agent_coordination_status
|
|
228
|
-
ON agent_coordination(status);
|
|
229
|
-
|
|
230
|
-
CREATE INDEX IF NOT EXISTS idx_agent_coordination_session
|
|
231
|
-
ON agent_coordination(session_id);
|
|
232
|
-
`);
|
|
233
|
-
// Indexes for servicenow_artifacts
|
|
234
|
-
this.db.exec(`
|
|
235
|
-
CREATE INDEX IF NOT EXISTS idx_artifacts_session
|
|
236
|
-
ON servicenow_artifacts(session_id);
|
|
237
|
-
|
|
238
|
-
CREATE INDEX IF NOT EXISTS idx_artifacts_type
|
|
239
|
-
ON servicenow_artifacts(artifact_type);
|
|
240
|
-
|
|
241
|
-
CREATE INDEX IF NOT EXISTS idx_artifacts_status
|
|
242
|
-
ON servicenow_artifacts(deployment_status);
|
|
243
|
-
`);
|
|
244
|
-
// Indexes for agent_messages
|
|
245
|
-
this.db.exec(`
|
|
246
|
-
CREATE INDEX IF NOT EXISTS idx_messages_session
|
|
247
|
-
ON agent_messages(session_id);
|
|
248
|
-
|
|
249
|
-
CREATE INDEX IF NOT EXISTS idx_messages_to_agent
|
|
250
|
-
ON agent_messages(to_agent, processed);
|
|
251
|
-
|
|
252
|
-
CREATE INDEX IF NOT EXISTS idx_messages_timestamp
|
|
253
|
-
ON agent_messages(timestamp);
|
|
254
|
-
`);
|
|
255
|
-
// Indexes for shared_context
|
|
256
|
-
this.db.exec(`
|
|
257
|
-
CREATE INDEX IF NOT EXISTS idx_context_session
|
|
258
|
-
ON shared_context(session_id);
|
|
259
|
-
|
|
260
|
-
CREATE INDEX IF NOT EXISTS idx_context_expires
|
|
261
|
-
ON shared_context(expires_at);
|
|
262
|
-
`);
|
|
263
|
-
// Indexes for performance_metrics
|
|
264
|
-
this.db.exec(`
|
|
265
|
-
CREATE INDEX IF NOT EXISTS idx_metrics_session
|
|
266
|
-
ON performance_metrics(session_id);
|
|
267
|
-
|
|
268
|
-
CREATE INDEX IF NOT EXISTS idx_metrics_agent
|
|
269
|
-
ON performance_metrics(agent_id);
|
|
270
|
-
|
|
271
|
-
CREATE INDEX IF NOT EXISTS idx_metrics_timestamp
|
|
272
|
-
ON performance_metrics(timestamp);
|
|
273
|
-
`);
|
|
274
|
-
}
|
|
275
|
-
/**
|
|
276
|
-
* Get the underlying database instance for direct queries
|
|
277
|
-
*/
|
|
278
|
-
getDatabase() {
|
|
279
|
-
return this.db;
|
|
280
|
-
}
|
|
281
|
-
/**
|
|
282
|
-
* Prepare a statement for repeated execution
|
|
283
|
-
*/
|
|
284
|
-
prepare(sql) {
|
|
285
|
-
return this.db.prepare(sql);
|
|
286
|
-
}
|
|
287
|
-
/**
|
|
288
|
-
* Execute a query and return all results
|
|
289
|
-
*/
|
|
290
|
-
all(sql, params) {
|
|
291
|
-
const stmt = this.db.prepare(sql);
|
|
292
|
-
return params ? stmt.all(...params) : stmt.all();
|
|
293
|
-
}
|
|
294
|
-
/**
|
|
295
|
-
* Execute a query and return the first result
|
|
296
|
-
*/
|
|
297
|
-
get(sql, params) {
|
|
298
|
-
const stmt = this.db.prepare(sql);
|
|
299
|
-
return params ? stmt.get(...params) : stmt.get();
|
|
300
|
-
}
|
|
301
|
-
/**
|
|
302
|
-
* Execute a statement that doesn't return data
|
|
303
|
-
*/
|
|
304
|
-
run(sql, params) {
|
|
305
|
-
const stmt = this.db.prepare(sql);
|
|
306
|
-
return params ? stmt.run(...params) : stmt.run();
|
|
307
|
-
}
|
|
308
|
-
/**
|
|
309
|
-
* Execute multiple statements in a transaction
|
|
310
|
-
*/
|
|
311
|
-
transaction(fn) {
|
|
312
|
-
const transaction = this.db.transaction(fn);
|
|
313
|
-
return transaction();
|
|
314
|
-
}
|
|
315
|
-
/**
|
|
316
|
-
* Clean up expired data
|
|
317
|
-
*/
|
|
318
|
-
cleanup() {
|
|
319
|
-
this.logger.info('Running memory cleanup');
|
|
320
|
-
this.transaction(() => {
|
|
321
|
-
// Remove expired context
|
|
322
|
-
this.run(`
|
|
323
|
-
DELETE FROM shared_context
|
|
324
|
-
WHERE expires_at IS NOT NULL AND expires_at < datetime('now')
|
|
325
|
-
`);
|
|
326
|
-
// Archive old messages
|
|
327
|
-
const thirtyDaysAgo = new Date();
|
|
328
|
-
thirtyDaysAgo.setDate(thirtyDaysAgo.getDate() - 30);
|
|
329
|
-
this.run(`
|
|
330
|
-
DELETE FROM agent_messages
|
|
331
|
-
WHERE processed = 1 AND timestamp < ?
|
|
332
|
-
`, [thirtyDaysAgo.toISOString()]);
|
|
333
|
-
// Archive old performance metrics
|
|
334
|
-
this.run(`
|
|
335
|
-
DELETE FROM performance_metrics
|
|
336
|
-
WHERE timestamp < ?
|
|
337
|
-
`, [thirtyDaysAgo.toISOString()]);
|
|
338
|
-
});
|
|
339
|
-
// Optimize database
|
|
340
|
-
this.db.pragma('optimize');
|
|
341
|
-
this.logger.info('Memory cleanup completed');
|
|
342
|
-
}
|
|
343
|
-
/**
|
|
344
|
-
* Get database statistics
|
|
345
|
-
*/
|
|
346
|
-
getStats() {
|
|
347
|
-
const stats = {};
|
|
348
|
-
const tables = [
|
|
349
|
-
'agent_coordination',
|
|
350
|
-
'servicenow_artifacts',
|
|
351
|
-
'agent_messages',
|
|
352
|
-
'shared_context',
|
|
353
|
-
'deployment_history',
|
|
354
|
-
'agent_dependencies',
|
|
355
|
-
'performance_metrics'
|
|
356
|
-
];
|
|
357
|
-
for (const table of tables) {
|
|
358
|
-
const count = this.get(`SELECT COUNT(*) as count FROM ${table}`)?.count || 0;
|
|
359
|
-
stats[table] = count;
|
|
360
|
-
}
|
|
361
|
-
// Add database size
|
|
362
|
-
const pageCount = this.db.pragma('page_count', { simple: true });
|
|
363
|
-
const pageSize = this.db.pragma('page_size', { simple: true });
|
|
364
|
-
if (pageCount && pageSize) {
|
|
365
|
-
stats.database_size_bytes = pageCount * pageSize;
|
|
366
|
-
}
|
|
367
|
-
return stats;
|
|
368
|
-
}
|
|
369
|
-
/**
|
|
370
|
-
* Close the database connection
|
|
371
|
-
*/
|
|
372
|
-
close() {
|
|
373
|
-
this.logger.info('Closing database connection');
|
|
374
|
-
this.db.close();
|
|
375
|
-
}
|
|
376
|
-
}
|
|
377
|
-
exports.SwarmMemory = SwarmMemory;
|
|
378
|
-
//# sourceMappingURL=swarm-memory.js.map
|