snow-flow 1.1.74 ā 1.1.76
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/queen/queen-memory.db +0 -0
- package/.claude-flow/queen-test/test-memory.db +0 -0
- package/.claude-flow/queen-test/test-memory.db-agents +0 -0
- package/.claude-flow/queen-test/test-memory.db-import +0 -0
- package/.claude-flow/queen-test/test-memory.db-memory +0 -0
- package/.claude-flow/queen-test/test-memory.db-neural +0 -0
- package/CLAUDE.md +111 -8
- package/README.md +117 -50
- package/deploy.sh +366 -0
- package/dist/cli.js +226 -0
- package/dist/cli.js.map +1 -1
- package/dist/mcp/http-transport-wrapper.d.ts +29 -0
- package/dist/mcp/http-transport-wrapper.d.ts.map +1 -0
- package/dist/mcp/http-transport-wrapper.js +318 -0
- package/dist/mcp/http-transport-wrapper.js.map +1 -0
- package/dist/mcp/service-discovery-client.d.ts +83 -0
- package/dist/mcp/service-discovery-client.d.ts.map +1 -0
- package/dist/mcp/service-discovery-client.js +211 -0
- package/dist/mcp/service-discovery-client.js.map +1 -0
- package/dist/mcp/servicenow-deployment-mcp.js +262 -29
- package/dist/mcp/servicenow-deployment-mcp.js.map +1 -1
- package/dist/mcp/servicenow-intelligent-mcp.js +252 -18
- package/dist/mcp/servicenow-intelligent-mcp.js.map +1 -1
- package/dist/mcp/servicenow-operations-mcp.js +274 -46
- package/dist/mcp/servicenow-operations-mcp.js.map +1 -1
- package/dist/orchestration/discovery/service-discovery.d.ts +81 -0
- package/dist/orchestration/discovery/service-discovery.d.ts.map +1 -0
- package/dist/orchestration/discovery/service-discovery.js +808 -0
- package/dist/orchestration/discovery/service-discovery.js.map +1 -0
- package/dist/orchestration/distributed-orchestrator.d.ts +131 -0
- package/dist/orchestration/distributed-orchestrator.d.ts.map +1 -0
- package/dist/orchestration/distributed-orchestrator.js +712 -0
- package/dist/orchestration/distributed-orchestrator.js.map +1 -0
- package/dist/orchestration/distribution/task-distribution-engine.d.ts +53 -0
- package/dist/orchestration/distribution/task-distribution-engine.d.ts.map +1 -0
- package/dist/orchestration/distribution/task-distribution-engine.js +586 -0
- package/dist/orchestration/distribution/task-distribution-engine.js.map +1 -0
- package/dist/orchestration/interfaces/distributed-orchestration.interface.d.ts +606 -0
- package/dist/orchestration/interfaces/distributed-orchestration.interface.d.ts.map +1 -0
- package/dist/orchestration/interfaces/distributed-orchestration.interface.js +65 -0
- package/dist/orchestration/interfaces/distributed-orchestration.interface.js.map +1 -0
- package/dist/orchestration/protocols/mcpx-protocol.d.ts +71 -0
- package/dist/orchestration/protocols/mcpx-protocol.d.ts.map +1 -0
- package/dist/orchestration/protocols/mcpx-protocol.js +668 -0
- package/dist/orchestration/protocols/mcpx-protocol.js.map +1 -0
- package/dist/orchestration/state/distributed-state-manager.d.ts +89 -0
- package/dist/orchestration/state/distributed-state-manager.d.ts.map +1 -0
- package/dist/orchestration/state/distributed-state-manager.js +716 -0
- package/dist/orchestration/state/distributed-state-manager.js.map +1 -0
- package/dist/queen/advanced-integration-test.d.ts +48 -0
- package/dist/queen/advanced-integration-test.d.ts.map +1 -0
- package/dist/queen/advanced-integration-test.js +474 -0
- package/dist/queen/advanced-integration-test.js.map +1 -0
- package/dist/queen/agent-factory.d.ts +40 -0
- package/dist/queen/agent-factory.d.ts.map +1 -0
- package/dist/queen/agent-factory.js +433 -0
- package/dist/queen/agent-factory.js.map +1 -0
- package/dist/queen/index.d.ts +58 -0
- package/dist/queen/index.d.ts.map +1 -0
- package/dist/queen/index.js +79 -0
- package/dist/queen/index.js.map +1 -0
- package/dist/queen/integration-example.d.ts +82 -0
- package/dist/queen/integration-example.d.ts.map +1 -0
- package/dist/queen/integration-example.js +220 -0
- package/dist/queen/integration-example.js.map +1 -0
- package/dist/queen/integration-test.d.ts +72 -0
- package/dist/queen/integration-test.d.ts.map +1 -0
- package/dist/queen/integration-test.js +564 -0
- package/dist/queen/integration-test.js.map +1 -0
- package/dist/queen/mock-mcp-client.d.ts +66 -0
- package/dist/queen/mock-mcp-client.d.ts.map +1 -0
- package/dist/queen/mock-mcp-client.js +297 -0
- package/dist/queen/mock-mcp-client.js.map +1 -0
- package/dist/queen/neural-learning.d.ts +28 -0
- package/dist/queen/neural-learning.d.ts.map +1 -0
- package/dist/queen/neural-learning.js +244 -0
- package/dist/queen/neural-learning.js.map +1 -0
- package/dist/queen/queen-memory.d.ts +25 -0
- package/dist/queen/queen-memory.d.ts.map +1 -0
- package/dist/queen/queen-memory.js +273 -0
- package/dist/queen/queen-memory.js.map +1 -0
- package/dist/queen/run-integration-tests.d.ts +9 -0
- package/dist/queen/run-integration-tests.d.ts.map +1 -0
- package/dist/queen/run-integration-tests.js +28 -0
- package/dist/queen/run-integration-tests.js.map +1 -0
- package/dist/queen/servicenow-queen.d.ts +56 -0
- package/dist/queen/servicenow-queen.d.ts.map +1 -0
- package/dist/queen/servicenow-queen.js +659 -0
- package/dist/queen/servicenow-queen.js.map +1 -0
- package/dist/queen/types.d.ts +58 -0
- package/dist/queen/types.d.ts.map +1 -0
- package/dist/queen/types.js +7 -0
- package/dist/queen/types.js.map +1 -0
- package/dist/version.d.ts +3 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +27 -2
- package/dist/version.js.map +1 -1
- package/docker/base/Dockerfile.base +45 -0
- package/docker/generate-services.js +244 -0
- package/docker/nginx/Dockerfile +71 -0
- package/docker/nginx/consul-template.hcl +64 -0
- package/docker/nginx/healthcheck.sh +178 -0
- package/docker/nginx/nginx.conf +210 -0
- package/docker/nginx/supervisord.conf +57 -0
- package/docker/nginx/templates/upstreams.conf.tpl +48 -0
- package/docker/services/automation-mcp/Dockerfile +32 -0
- package/docker/services/automation-mcp/config/service.json +28 -0
- package/docker/services/automation-mcp/entrypoint.js +51 -0
- package/docker/services/deployment-mcp/Dockerfile +32 -0
- package/docker/services/deployment-mcp/entrypoint.js +51 -0
- package/docker/services/flow-composer-mcp/Dockerfile +32 -0
- package/docker/services/flow-composer-mcp/config/service.json +28 -0
- package/docker/services/flow-composer-mcp/entrypoint.js +51 -0
- package/docker/services/graph-memory-mcp/Dockerfile +32 -0
- package/docker/services/graph-memory-mcp/config/service.json +28 -0
- package/docker/services/graph-memory-mcp/entrypoint.js +51 -0
- package/docker/services/integration-mcp/Dockerfile +32 -0
- package/docker/services/integration-mcp/config/service.json +28 -0
- package/docker/services/integration-mcp/entrypoint.js +51 -0
- package/docker/services/intelligent-mcp/Dockerfile +32 -0
- package/docker/services/intelligent-mcp/config/service.json +28 -0
- package/docker/services/intelligent-mcp/entrypoint.js +51 -0
- package/docker/services/operations-mcp/Dockerfile +32 -0
- package/docker/services/operations-mcp/config/service.json +28 -0
- package/docker/services/operations-mcp/entrypoint.js +51 -0
- package/docker/services/platform-development-mcp/Dockerfile +32 -0
- package/docker/services/platform-development-mcp/config/service.json +28 -0
- package/docker/services/platform-development-mcp/entrypoint.js +51 -0
- package/docker/services/reporting-analytics-mcp/Dockerfile +32 -0
- package/docker/services/reporting-analytics-mcp/config/service.json +28 -0
- package/docker/services/reporting-analytics-mcp/entrypoint.js +51 -0
- package/docker/services/security-compliance-mcp/Dockerfile +32 -0
- package/docker/services/security-compliance-mcp/config/service.json +28 -0
- package/docker/services/security-compliance-mcp/entrypoint.js +51 -0
- package/docker/services/update-set-mcp/Dockerfile +32 -0
- package/docker/services/update-set-mcp/config/service.json +28 -0
- package/docker/services/update-set-mcp/entrypoint.js +51 -0
- package/docker-compose.override.yml +132 -0
- package/docker-compose.prod.yml +340 -0
- package/docker-compose.yml +579 -0
- package/k8s/automation-mcp.yaml +232 -0
- package/k8s/configmap.yaml +237 -0
- package/k8s/deployment-mcp.yaml +232 -0
- package/k8s/flow-composer-mcp.yaml +232 -0
- package/k8s/generate-k8s-manifests.js +453 -0
- package/k8s/graph-memory-mcp.yaml +232 -0
- package/k8s/infrastructure.yaml +456 -0
- package/k8s/ingress.yaml +361 -0
- package/k8s/integration-mcp.yaml +232 -0
- package/k8s/intelligent-mcp.yaml +232 -0
- package/k8s/kustomization.yaml +111 -0
- package/k8s/mcp-services.yaml +2552 -0
- package/k8s/monitoring.yaml +515 -0
- package/k8s/namespace.yaml +80 -0
- package/k8s/operations-mcp.yaml +232 -0
- package/k8s/platform-development-mcp.yaml +232 -0
- package/k8s/rbac.yaml +140 -0
- package/k8s/reporting-analytics-mcp.yaml +232 -0
- package/k8s/security-compliance-mcp.yaml +232 -0
- package/k8s/update-set-mcp.yaml +232 -0
- package/package.json +2 -2
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ServiceNow Queen Memory System
|
|
4
|
+
* Simple SQLite-based persistent storage for the hive-mind
|
|
5
|
+
*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
+
}) : function(o, v) {
|
|
20
|
+
o["default"] = v;
|
|
21
|
+
});
|
|
22
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
23
|
+
var ownKeys = function(o) {
|
|
24
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
25
|
+
var ar = [];
|
|
26
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
27
|
+
return ar;
|
|
28
|
+
};
|
|
29
|
+
return ownKeys(o);
|
|
30
|
+
};
|
|
31
|
+
return function (mod) {
|
|
32
|
+
if (mod && mod.__esModule) return mod;
|
|
33
|
+
var result = {};
|
|
34
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
35
|
+
__setModuleDefault(result, mod);
|
|
36
|
+
return result;
|
|
37
|
+
};
|
|
38
|
+
})();
|
|
39
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
exports.QueenMemorySystem = void 0;
|
|
41
|
+
const path = __importStar(require("path"));
|
|
42
|
+
const fs = __importStar(require("fs"));
|
|
43
|
+
class QueenMemorySystem {
|
|
44
|
+
constructor(dbPath) {
|
|
45
|
+
const memoryDir = path.join(process.cwd(), '.claude-flow', 'queen');
|
|
46
|
+
if (!fs.existsSync(memoryDir)) {
|
|
47
|
+
fs.mkdirSync(memoryDir, { recursive: true });
|
|
48
|
+
}
|
|
49
|
+
this.db = new (require('better-sqlite3'))(dbPath || path.join(memoryDir, 'queen-memory.db'));
|
|
50
|
+
this.initializeDatabase();
|
|
51
|
+
this.memory = this.loadMemory();
|
|
52
|
+
}
|
|
53
|
+
initializeDatabase() {
|
|
54
|
+
// Simple schema - claude-flow philosophy: keep it minimal
|
|
55
|
+
this.db.exec(`
|
|
56
|
+
CREATE TABLE IF NOT EXISTS patterns (
|
|
57
|
+
id INTEGER PRIMARY KEY,
|
|
58
|
+
task_type TEXT NOT NULL,
|
|
59
|
+
success_rate REAL NOT NULL,
|
|
60
|
+
agent_sequence TEXT NOT NULL,
|
|
61
|
+
mcp_sequence TEXT NOT NULL,
|
|
62
|
+
avg_duration INTEGER NOT NULL,
|
|
63
|
+
last_used TEXT NOT NULL,
|
|
64
|
+
use_count INTEGER DEFAULT 0
|
|
65
|
+
);
|
|
66
|
+
|
|
67
|
+
CREATE TABLE IF NOT EXISTS artifacts (
|
|
68
|
+
id TEXT PRIMARY KEY,
|
|
69
|
+
type TEXT NOT NULL,
|
|
70
|
+
name TEXT NOT NULL,
|
|
71
|
+
sys_id TEXT,
|
|
72
|
+
config TEXT NOT NULL,
|
|
73
|
+
dependencies TEXT NOT NULL,
|
|
74
|
+
created_at TEXT NOT NULL
|
|
75
|
+
);
|
|
76
|
+
|
|
77
|
+
CREATE TABLE IF NOT EXISTS learnings (
|
|
78
|
+
key TEXT PRIMARY KEY,
|
|
79
|
+
value TEXT NOT NULL,
|
|
80
|
+
confidence REAL NOT NULL,
|
|
81
|
+
updated_at TEXT NOT NULL
|
|
82
|
+
);
|
|
83
|
+
|
|
84
|
+
CREATE TABLE IF NOT EXISTS task_history (
|
|
85
|
+
id TEXT PRIMARY KEY,
|
|
86
|
+
objective TEXT NOT NULL,
|
|
87
|
+
type TEXT NOT NULL,
|
|
88
|
+
agents_used TEXT NOT NULL,
|
|
89
|
+
success BOOLEAN NOT NULL,
|
|
90
|
+
duration INTEGER NOT NULL,
|
|
91
|
+
completed_at TEXT NOT NULL
|
|
92
|
+
);
|
|
93
|
+
`);
|
|
94
|
+
}
|
|
95
|
+
loadMemory() {
|
|
96
|
+
const patterns = this.db.prepare('SELECT * FROM patterns ORDER BY success_rate DESC, use_count DESC').all()
|
|
97
|
+
.map((row) => ({
|
|
98
|
+
taskType: row.task_type,
|
|
99
|
+
successRate: row.success_rate,
|
|
100
|
+
agentSequence: JSON.parse(row.agent_sequence),
|
|
101
|
+
mcpSequence: JSON.parse(row.mcp_sequence),
|
|
102
|
+
avgDuration: row.avg_duration,
|
|
103
|
+
lastUsed: new Date(row.last_used)
|
|
104
|
+
}));
|
|
105
|
+
const artifacts = new Map();
|
|
106
|
+
this.db.prepare('SELECT * FROM artifacts').all()
|
|
107
|
+
.forEach((row) => {
|
|
108
|
+
artifacts.set(row.id, {
|
|
109
|
+
type: row.type,
|
|
110
|
+
name: row.name,
|
|
111
|
+
sys_id: row.sys_id,
|
|
112
|
+
config: JSON.parse(row.config),
|
|
113
|
+
dependencies: JSON.parse(row.dependencies)
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
const learnings = new Map();
|
|
117
|
+
this.db.prepare('SELECT * FROM learnings').all()
|
|
118
|
+
.forEach((row) => {
|
|
119
|
+
learnings.set(row.key, row.value);
|
|
120
|
+
});
|
|
121
|
+
return {
|
|
122
|
+
patterns,
|
|
123
|
+
artifacts,
|
|
124
|
+
agentHistory: new Map(),
|
|
125
|
+
learnings
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
// Store successful deployment pattern
|
|
129
|
+
storePattern(pattern) {
|
|
130
|
+
const stmt = this.db.prepare(`
|
|
131
|
+
INSERT OR REPLACE INTO patterns
|
|
132
|
+
(task_type, success_rate, agent_sequence, mcp_sequence, avg_duration, last_used, use_count)
|
|
133
|
+
VALUES (?, ?, ?, ?, ?, ?, COALESCE((SELECT use_count FROM patterns WHERE task_type = ?) + 1, 1))
|
|
134
|
+
`);
|
|
135
|
+
stmt.run(pattern.taskType, pattern.successRate, JSON.stringify(pattern.agentSequence), JSON.stringify(pattern.mcpSequence), pattern.avgDuration, pattern.lastUsed.toISOString(), pattern.taskType);
|
|
136
|
+
this.memory.patterns.push(pattern);
|
|
137
|
+
}
|
|
138
|
+
// Get best pattern for task type
|
|
139
|
+
getBestPattern(taskType) {
|
|
140
|
+
return this.memory.patterns.find(p => p.taskType === taskType) || null;
|
|
141
|
+
}
|
|
142
|
+
// Store artifact information
|
|
143
|
+
storeArtifact(artifact) {
|
|
144
|
+
const id = `${artifact.type}_${artifact.name}`;
|
|
145
|
+
const stmt = this.db.prepare(`
|
|
146
|
+
INSERT OR REPLACE INTO artifacts (id, type, name, sys_id, config, dependencies, created_at)
|
|
147
|
+
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
148
|
+
`);
|
|
149
|
+
stmt.run(id, artifact.type, artifact.name, artifact.sys_id || null, JSON.stringify(artifact.config), JSON.stringify(artifact.dependencies), new Date().toISOString());
|
|
150
|
+
this.memory.artifacts.set(id, artifact);
|
|
151
|
+
}
|
|
152
|
+
// Find similar artifacts
|
|
153
|
+
findSimilarArtifacts(type, namePattern) {
|
|
154
|
+
const results = [];
|
|
155
|
+
for (const [id, artifact] of Array.from(this.memory.artifacts.entries())) {
|
|
156
|
+
if (artifact.type === type && artifact.name.toLowerCase().includes(namePattern.toLowerCase())) {
|
|
157
|
+
results.push(artifact);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
return results;
|
|
161
|
+
}
|
|
162
|
+
// Store learning from task execution
|
|
163
|
+
storeLearning(key, value, confidence = 1.0) {
|
|
164
|
+
const stmt = this.db.prepare(`
|
|
165
|
+
INSERT OR REPLACE INTO learnings (key, value, confidence, updated_at)
|
|
166
|
+
VALUES (?, ?, ?, ?)
|
|
167
|
+
`);
|
|
168
|
+
stmt.run(key, value, confidence, new Date().toISOString());
|
|
169
|
+
this.memory.learnings.set(key, value);
|
|
170
|
+
}
|
|
171
|
+
// Get learning
|
|
172
|
+
getLearning(key) {
|
|
173
|
+
return this.memory.learnings.get(key) || null;
|
|
174
|
+
}
|
|
175
|
+
// Record task completion for learning
|
|
176
|
+
recordTaskCompletion(taskId, objective, type, agentsUsed, success, duration) {
|
|
177
|
+
const stmt = this.db.prepare(`
|
|
178
|
+
INSERT INTO task_history (id, objective, type, agents_used, success, duration, completed_at)
|
|
179
|
+
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
180
|
+
`);
|
|
181
|
+
stmt.run(taskId, objective, type, JSON.stringify(agentsUsed), success ? 1 : 0, // Convert boolean to integer for SQLite
|
|
182
|
+
duration, new Date().toISOString());
|
|
183
|
+
}
|
|
184
|
+
// Get success rate for task type
|
|
185
|
+
getSuccessRate(taskType) {
|
|
186
|
+
const result = this.db.prepare(`
|
|
187
|
+
SELECT
|
|
188
|
+
COUNT(CASE WHEN success = 1 THEN 1 END) as successes,
|
|
189
|
+
COUNT(*) as total
|
|
190
|
+
FROM task_history
|
|
191
|
+
WHERE type = ?
|
|
192
|
+
`).get(taskType);
|
|
193
|
+
if (result && result.total > 0) {
|
|
194
|
+
return result.successes / result.total;
|
|
195
|
+
}
|
|
196
|
+
return 0.5; // Default success rate
|
|
197
|
+
}
|
|
198
|
+
// Export memory for backup
|
|
199
|
+
exportMemory() {
|
|
200
|
+
return JSON.stringify({
|
|
201
|
+
patterns: this.memory.patterns,
|
|
202
|
+
artifacts: Array.from(this.memory.artifacts.entries()),
|
|
203
|
+
learnings: Array.from(this.memory.learnings.entries())
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
// Import memory from backup
|
|
207
|
+
importMemory(memoryData) {
|
|
208
|
+
try {
|
|
209
|
+
const data = JSON.parse(memoryData);
|
|
210
|
+
// Clear existing data
|
|
211
|
+
this.clearMemory();
|
|
212
|
+
// Import patterns
|
|
213
|
+
if (data.patterns) {
|
|
214
|
+
data.patterns.forEach((pattern) => {
|
|
215
|
+
const stmt = this.db.prepare(`
|
|
216
|
+
INSERT OR REPLACE INTO patterns
|
|
217
|
+
(task_type, success_rate, agent_sequence, mcp_sequence, avg_duration, last_used, use_count)
|
|
218
|
+
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
219
|
+
`);
|
|
220
|
+
stmt.run(pattern.taskType, pattern.successRate, JSON.stringify(pattern.agentSequence), JSON.stringify(pattern.mcpSequence), pattern.avgDuration, pattern.lastUsed, 1);
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
// Import artifacts
|
|
224
|
+
if (data.artifacts) {
|
|
225
|
+
data.artifacts.forEach(([id, artifact]) => {
|
|
226
|
+
const stmt = this.db.prepare(`
|
|
227
|
+
INSERT OR REPLACE INTO artifacts (id, type, name, sys_id, config, dependencies, created_at)
|
|
228
|
+
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
229
|
+
`);
|
|
230
|
+
stmt.run(id, artifact.type, artifact.name, artifact.sys_id || null, JSON.stringify(artifact.config), JSON.stringify(artifact.dependencies), new Date().toISOString());
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
// Import learnings
|
|
234
|
+
if (data.learnings) {
|
|
235
|
+
data.learnings.forEach(([key, value]) => {
|
|
236
|
+
const stmt = this.db.prepare(`
|
|
237
|
+
INSERT OR REPLACE INTO learnings (key, value, confidence, updated_at)
|
|
238
|
+
VALUES (?, ?, ?, ?)
|
|
239
|
+
`);
|
|
240
|
+
stmt.run(key, value, 1.0, new Date().toISOString());
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
// Reload memory from database
|
|
244
|
+
this.memory = this.loadMemory();
|
|
245
|
+
}
|
|
246
|
+
catch (error) {
|
|
247
|
+
throw new Error(`Failed to import memory: ${error.message}`);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
// Clear all memory (reset learning)
|
|
251
|
+
clearMemory() {
|
|
252
|
+
// Clear database tables
|
|
253
|
+
this.db.exec(`
|
|
254
|
+
DELETE FROM patterns;
|
|
255
|
+
DELETE FROM artifacts;
|
|
256
|
+
DELETE FROM learnings;
|
|
257
|
+
DELETE FROM task_history;
|
|
258
|
+
`);
|
|
259
|
+
// Reset in-memory storage
|
|
260
|
+
this.memory = {
|
|
261
|
+
patterns: [],
|
|
262
|
+
artifacts: new Map(),
|
|
263
|
+
agentHistory: new Map(),
|
|
264
|
+
learnings: new Map()
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
// Close database connection
|
|
268
|
+
close() {
|
|
269
|
+
this.db.close();
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
exports.QueenMemorySystem = QueenMemorySystem;
|
|
273
|
+
//# sourceMappingURL=queen-memory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queen-memory.js","sourceRoot":"","sources":["../../src/queen/queen-memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-integration-tests.d.ts","sourceRoot":"","sources":["../../src/queen/run-integration-tests.ts"],"names":[],"mappings":";AACA;;;;;GAKG"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
/**
|
|
4
|
+
* Queen Agent Integration Test Runner
|
|
5
|
+
*
|
|
6
|
+
* Simplified runner for Queen Agent integration tests
|
|
7
|
+
* Can be called from npm scripts or directly
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
const integration_test_js_1 = require("./integration-test.js");
|
|
11
|
+
async function runTests() {
|
|
12
|
+
console.log('š QUEEN AGENT INTEGRATION TESTER');
|
|
13
|
+
console.log('=================================');
|
|
14
|
+
console.log('Testing Queen Agent with MCP tools...\n');
|
|
15
|
+
const tester = new integration_test_js_1.QueenIntegrationTester();
|
|
16
|
+
try {
|
|
17
|
+
await tester.runAllTests();
|
|
18
|
+
console.log('\nš Integration tests completed!');
|
|
19
|
+
process.exit(0);
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
console.error('\nš„ Integration tests failed:', error);
|
|
23
|
+
process.exit(1);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
// Run tests
|
|
27
|
+
runTests().catch(console.error);
|
|
28
|
+
//# sourceMappingURL=run-integration-tests.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-integration-tests.js","sourceRoot":"","sources":["../../src/queen/run-integration-tests.ts"],"names":[],"mappings":";;AACA;;;;;GAKG;;AAEH,+DAA+D;AAE/D,KAAK,UAAU,QAAQ;IACrB,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IAEvD,MAAM,MAAM,GAAG,IAAI,4CAAsB,EAAE,CAAC;IAE5C,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;QACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,YAAY;AACZ,QAAQ,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ServiceNow Queen Agent
|
|
3
|
+
* Central coordination point for the ServiceNow hive-mind
|
|
4
|
+
*/
|
|
5
|
+
import { ServiceNowTask } from './types';
|
|
6
|
+
export interface QueenConfig {
|
|
7
|
+
memoryPath?: string;
|
|
8
|
+
maxConcurrentAgents?: number;
|
|
9
|
+
learningRate?: number;
|
|
10
|
+
debugMode?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare class ServiceNowQueen {
|
|
13
|
+
private memory;
|
|
14
|
+
private neuralLearning;
|
|
15
|
+
private agentFactory;
|
|
16
|
+
private activeTasks;
|
|
17
|
+
private config;
|
|
18
|
+
constructor(config?: QueenConfig);
|
|
19
|
+
/**
|
|
20
|
+
* Main entry point: Execute ServiceNow objective with full coordination
|
|
21
|
+
*/
|
|
22
|
+
executeObjective(objective: string): Promise<any>;
|
|
23
|
+
private spawnOptimalSwarm;
|
|
24
|
+
private coordinateExecution;
|
|
25
|
+
private shouldExecuteInParallel;
|
|
26
|
+
private executeAgentsInParallel;
|
|
27
|
+
private executeAgentsSequentially;
|
|
28
|
+
private facilitateAgentCoordination;
|
|
29
|
+
private executeFinalDeployment;
|
|
30
|
+
private createDeploymentPlan;
|
|
31
|
+
private extractWidgetConfig;
|
|
32
|
+
private extractScriptConfig;
|
|
33
|
+
private generateArtifactName;
|
|
34
|
+
private generateArtifactTitle;
|
|
35
|
+
private generateWidgetTemplate;
|
|
36
|
+
private generateWidgetCss;
|
|
37
|
+
private generateClientScript;
|
|
38
|
+
private generateServerScript;
|
|
39
|
+
private generateDemoData;
|
|
40
|
+
private generateScriptCode;
|
|
41
|
+
private executeDeploymentPlan;
|
|
42
|
+
private attemptRecovery;
|
|
43
|
+
private learnFromExecution;
|
|
44
|
+
private handleExecutionFailure;
|
|
45
|
+
private cleanupTask;
|
|
46
|
+
private generateTaskId;
|
|
47
|
+
getActiveTaskCount(): number;
|
|
48
|
+
getTaskStatus(taskId: string): ServiceNowTask | null;
|
|
49
|
+
getHiveMindStatus(): any;
|
|
50
|
+
exportMemory(): string;
|
|
51
|
+
importMemory(memoryData: string): void;
|
|
52
|
+
clearMemory(): void;
|
|
53
|
+
getLearningInsights(): any;
|
|
54
|
+
shutdown(): Promise<void>;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=servicenow-queen.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"servicenow-queen.d.ts","sourceRoot":"","sources":["../../src/queen/servicenow-queen.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAkC,MAAM,SAAS,CAAC;AAMzE,MAAM,WAAW,WAAW;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,MAAM,CAAwB;gBAE1B,MAAM,GAAE,WAAgB;IAmBpC;;OAEG;IACG,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAmDvD,OAAO,CAAC,iBAAiB;YAmBX,mBAAmB;IA4BjC,OAAO,CAAC,uBAAuB;YAMjB,uBAAuB;YAYvB,yBAAyB;IAkBvC,OAAO,CAAC,2BAA2B;YAmBrB,sBAAsB;IAoCpC,OAAO,CAAC,oBAAoB;IA2C5B,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,sBAAsB;IA4D9B,OAAO,CAAC,iBAAiB;IAmCzB,OAAO,CAAC,oBAAoB;IAyD5B,OAAO,CAAC,oBAAoB;IAsE5B,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,kBAAkB;YAgBZ,qBAAqB;YAcrB,eAAe;IAiB7B,OAAO,CAAC,kBAAkB;YAkBZ,sBAAsB;IAmBpC,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,cAAc;IAMtB,kBAAkB,IAAI,MAAM;IAI5B,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAIpD,iBAAiB,IAAI,GAAG;IAcxB,YAAY,IAAI,MAAM;IAItB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAOtC,WAAW,IAAI,IAAI;IASnB,mBAAmB,IAAI,GAAG;IAgCpB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAchC"}
|