@anastops/mcp-server 0.1.0 → 1.1.0
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/dist/formatters.d.ts.map +1 -1
- package/dist/formatters.js +12 -3
- package/dist/formatters.js.map +1 -1
- package/dist/handlers/agent-handlers.d.ts +8 -0
- package/dist/handlers/agent-handlers.d.ts.map +1 -0
- package/dist/handlers/agent-handlers.js +184 -0
- package/dist/handlers/agent-handlers.js.map +1 -0
- package/dist/handlers/artifact-handlers.d.ts +8 -0
- package/dist/handlers/artifact-handlers.d.ts.map +1 -0
- package/dist/handlers/artifact-handlers.js +122 -0
- package/dist/handlers/artifact-handlers.js.map +1 -0
- package/dist/handlers/cost-handlers.d.ts +8 -0
- package/dist/handlers/cost-handlers.d.ts.map +1 -0
- package/dist/handlers/cost-handlers.js +140 -0
- package/dist/handlers/cost-handlers.js.map +1 -0
- package/dist/handlers/handlers.agent.d.ts +10 -0
- package/dist/handlers/handlers.agent.d.ts.map +1 -0
- package/dist/handlers/handlers.agent.js +99 -0
- package/dist/handlers/handlers.agent.js.map +1 -0
- package/dist/handlers/handlers.base.d.ts +83 -0
- package/dist/handlers/handlers.base.d.ts.map +1 -0
- package/dist/handlers/handlers.base.js +351 -0
- package/dist/handlers/handlers.base.js.map +1 -0
- package/dist/handlers/handlers.lock.d.ts +8 -0
- package/dist/handlers/handlers.lock.d.ts.map +1 -0
- package/dist/handlers/handlers.lock.js +111 -0
- package/dist/handlers/handlers.lock.js.map +1 -0
- package/dist/handlers/handlers.memory.d.ts +11 -0
- package/dist/handlers/handlers.memory.d.ts.map +1 -0
- package/dist/handlers/handlers.memory.js +122 -0
- package/dist/handlers/handlers.memory.js.map +1 -0
- package/dist/handlers/handlers.monitoring.d.ts +8 -0
- package/dist/handlers/handlers.monitoring.d.ts.map +1 -0
- package/dist/handlers/handlers.monitoring.js +99 -0
- package/dist/handlers/handlers.monitoring.js.map +1 -0
- package/dist/handlers/handlers.orchestration.d.ts +9 -0
- package/dist/handlers/handlers.orchestration.d.ts.map +1 -0
- package/dist/handlers/handlers.orchestration.js +128 -0
- package/dist/handlers/handlers.orchestration.js.map +1 -0
- package/dist/handlers/handlers.session.d.ts +18 -0
- package/dist/handlers/handlers.session.d.ts.map +1 -0
- package/dist/handlers/handlers.session.js +286 -0
- package/dist/handlers/handlers.session.js.map +1 -0
- package/dist/handlers/handlers.task.d.ts +15 -0
- package/dist/handlers/handlers.task.d.ts.map +1 -0
- package/dist/handlers/handlers.task.js +762 -0
- package/dist/handlers/handlers.task.js.map +1 -0
- package/dist/handlers/handlers.utility.d.ts +10 -0
- package/dist/handlers/handlers.utility.d.ts.map +1 -0
- package/dist/handlers/handlers.utility.js +59 -0
- package/dist/handlers/handlers.utility.js.map +1 -0
- package/dist/handlers/index.d.ts +18 -0
- package/dist/handlers/index.d.ts.map +1 -0
- package/dist/handlers/index.js +209 -0
- package/dist/handlers/index.js.map +1 -0
- package/dist/handlers/lock-handlers.d.ts +8 -0
- package/dist/handlers/lock-handlers.d.ts.map +1 -0
- package/dist/handlers/lock-handlers.js +154 -0
- package/dist/handlers/lock-handlers.js.map +1 -0
- package/dist/handlers/memory-handlers.d.ts +8 -0
- package/dist/handlers/memory-handlers.d.ts.map +1 -0
- package/dist/handlers/memory-handlers.js +76 -0
- package/dist/handlers/memory-handlers.js.map +1 -0
- package/dist/handlers/orchestration-handlers.d.ts +8 -0
- package/dist/handlers/orchestration-handlers.d.ts.map +1 -0
- package/dist/handlers/orchestration-handlers.js +113 -0
- package/dist/handlers/orchestration-handlers.js.map +1 -0
- package/dist/handlers/session-handlers.d.ts +8 -0
- package/dist/handlers/session-handlers.d.ts.map +1 -0
- package/dist/handlers/session-handlers.js +558 -0
- package/dist/handlers/session-handlers.js.map +1 -0
- package/dist/handlers/task-handlers.d.ts +8 -0
- package/dist/handlers/task-handlers.d.ts.map +1 -0
- package/dist/handlers/task-handlers.js +677 -0
- package/dist/handlers/task-handlers.js.map +1 -0
- package/dist/handlers/tool-definitions.d.ts +2626 -0
- package/dist/handlers/tool-definitions.d.ts.map +1 -0
- package/dist/handlers/tool-definitions.js +641 -0
- package/dist/handlers/tool-definitions.js.map +1 -0
- package/dist/handlers/types.d.ts +90 -0
- package/dist/handlers/types.d.ts.map +1 -0
- package/dist/handlers/types.js +5 -0
- package/dist/handlers/types.js.map +1 -0
- package/dist/handlers/utility-handlers.d.ts +8 -0
- package/dist/handlers/utility-handlers.d.ts.map +1 -0
- package/dist/handlers/utility-handlers.js +113 -0
- package/dist/handlers/utility-handlers.js.map +1 -0
- package/dist/handlers/utils.d.ts +30 -0
- package/dist/handlers/utils.d.ts.map +1 -0
- package/dist/handlers/utils.js +95 -0
- package/dist/handlers/utils.js.map +1 -0
- package/dist/handlers.d.ts +17 -2260
- package/dist/handlers.d.ts.map +1 -1
- package/dist/handlers.js +17 -1836
- package/dist/handlers.js.map +1 -1
- package/dist/index.js +41 -7
- package/dist/index.js.map +1 -1
- package/dist/persistence.d.ts +18 -1
- package/dist/persistence.d.ts.map +1 -1
- package/dist/persistence.js +159 -99
- package/dist/persistence.js.map +1 -1
- package/dist/schemas.d.ts +299 -0
- package/dist/schemas.d.ts.map +1 -0
- package/dist/schemas.js +334 -0
- package/dist/schemas.js.map +1 -0
- package/package.json +11 -8
package/dist/persistence.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* MongoDB persistence layer for MCP Server
|
|
3
3
|
* Stores sessions, tasks, agents, and artifacts for durability
|
|
4
4
|
*/
|
|
5
|
+
import { getLogger } from '@anastops/core';
|
|
5
6
|
import { MongoClient } from 'mongodb';
|
|
6
7
|
/**
|
|
7
8
|
* Persistence service for MongoDB
|
|
@@ -13,14 +14,21 @@ export class PersistenceService {
|
|
|
13
14
|
connectionPromise = null;
|
|
14
15
|
mongoUrl;
|
|
15
16
|
constructor(mongoUrl) {
|
|
16
|
-
|
|
17
|
+
const url = mongoUrl ?? process.env['MONGODB_URL'];
|
|
18
|
+
if (url === undefined || url === '') {
|
|
19
|
+
throw new Error('MONGODB_URL is required. Set the MONGODB_URL environment variable or pass mongoUrl to the constructor.\n' +
|
|
20
|
+
'Example: mongodb://user:password@localhost:27018/anastops?authSource=admin\n' +
|
|
21
|
+
'Run "scripts/init-dev.sh" to generate secure credentials for development.');
|
|
22
|
+
}
|
|
23
|
+
this.mongoUrl = url;
|
|
17
24
|
}
|
|
18
25
|
/**
|
|
19
26
|
* Connect to MongoDB (lazy, only when needed)
|
|
27
|
+
* Throws on connection failure
|
|
20
28
|
*/
|
|
21
29
|
async connect() {
|
|
22
30
|
if (this.connected && this.db)
|
|
23
|
-
return
|
|
31
|
+
return;
|
|
24
32
|
// Reuse existing connection attempt
|
|
25
33
|
if (this.connectionPromise) {
|
|
26
34
|
return this.connectionPromise;
|
|
@@ -39,12 +47,17 @@ export class PersistenceService {
|
|
|
39
47
|
this.connected = true;
|
|
40
48
|
// Create indexes for efficient queries
|
|
41
49
|
await this.createIndexes();
|
|
42
|
-
return true;
|
|
43
50
|
}
|
|
44
51
|
catch (error) {
|
|
45
|
-
|
|
52
|
+
const logger = getLogger();
|
|
53
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
54
|
+
logger.error({
|
|
55
|
+
error: errorMessage,
|
|
56
|
+
mongoUrl: this.mongoUrl.split('@')[1] ?? 'unknown', // Hide credentials
|
|
57
|
+
}, 'MongoDB connection failed');
|
|
46
58
|
this.connected = false;
|
|
47
|
-
|
|
59
|
+
this.connectionPromise = null; // Allow retry on next call
|
|
60
|
+
throw new Error(`MongoDB connection failed: ${errorMessage}`);
|
|
48
61
|
}
|
|
49
62
|
}
|
|
50
63
|
/**
|
|
@@ -87,28 +100,32 @@ export class PersistenceService {
|
|
|
87
100
|
// ============ Sessions ============
|
|
88
101
|
/**
|
|
89
102
|
* Save a session
|
|
103
|
+
* Throws on connection or save failure
|
|
90
104
|
*/
|
|
91
105
|
async saveSession(session) {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
106
|
+
await this.connect();
|
|
107
|
+
if (!this.db) {
|
|
108
|
+
throw new Error('MongoDB database not initialized');
|
|
109
|
+
}
|
|
96
110
|
const doc = {
|
|
97
111
|
...session,
|
|
98
112
|
_id: session.id,
|
|
99
113
|
created_at: new Date(session.created_at),
|
|
100
114
|
updated_at: new Date(session.updated_at),
|
|
101
115
|
};
|
|
102
|
-
await this.db
|
|
116
|
+
await this.db
|
|
117
|
+
.collection('sessions')
|
|
118
|
+
.replaceOne({ _id: session.id }, doc, { upsert: true });
|
|
103
119
|
}
|
|
104
120
|
/**
|
|
105
121
|
* Get a session by ID
|
|
122
|
+
* Throws on connection failure, returns null if session doesn't exist
|
|
106
123
|
*/
|
|
107
124
|
async getSession(sessionId) {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
125
|
+
await this.connect();
|
|
126
|
+
if (!this.db) {
|
|
127
|
+
throw new Error('MongoDB database not initialized');
|
|
128
|
+
}
|
|
112
129
|
const doc = await this.db.collection('sessions').findOne({ _id: sessionId });
|
|
113
130
|
if (!doc)
|
|
114
131
|
return null;
|
|
@@ -116,23 +133,25 @@ export class PersistenceService {
|
|
|
116
133
|
}
|
|
117
134
|
/**
|
|
118
135
|
* List sessions with optional filters
|
|
136
|
+
* Throws on connection failure
|
|
119
137
|
*/
|
|
120
138
|
async listSessions(filters) {
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
139
|
+
await this.connect();
|
|
140
|
+
if (!this.db) {
|
|
141
|
+
throw new Error('MongoDB database not initialized');
|
|
142
|
+
}
|
|
125
143
|
const query = {};
|
|
126
|
-
if (filters?.status)
|
|
144
|
+
if (filters?.status !== undefined && filters.status !== '')
|
|
127
145
|
query['status'] = filters.status;
|
|
128
|
-
if (filters?.user_id)
|
|
146
|
+
if (filters?.user_id !== undefined && filters.user_id !== '')
|
|
129
147
|
query['user_id'] = filters.user_id;
|
|
130
|
-
const docs = await this.db
|
|
148
|
+
const docs = await this.db
|
|
149
|
+
.collection('sessions')
|
|
131
150
|
.find(query)
|
|
132
151
|
.sort({ updated_at: -1 })
|
|
133
152
|
.limit(filters?.limit ?? 100)
|
|
134
153
|
.toArray();
|
|
135
|
-
return docs.map(this.docToSession);
|
|
154
|
+
return docs.map((doc) => this.docToSession(doc));
|
|
136
155
|
}
|
|
137
156
|
docToSession(doc) {
|
|
138
157
|
return {
|
|
@@ -146,17 +165,19 @@ export class PersistenceService {
|
|
|
146
165
|
created_at: new Date(doc.created_at),
|
|
147
166
|
updated_at: new Date(doc.updated_at),
|
|
148
167
|
metadata: doc.metadata,
|
|
168
|
+
queue_config: doc.queue_config ?? { concurrency: 1, auto_execute: false },
|
|
149
169
|
};
|
|
150
170
|
}
|
|
151
171
|
// ============ Tasks ============
|
|
152
172
|
/**
|
|
153
173
|
* Save a task
|
|
174
|
+
* Throws on connection or save failure
|
|
154
175
|
*/
|
|
155
176
|
async saveTask(task) {
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
177
|
+
await this.connect();
|
|
178
|
+
if (!this.db) {
|
|
179
|
+
throw new Error('MongoDB database not initialized');
|
|
180
|
+
}
|
|
160
181
|
const doc = {
|
|
161
182
|
...task,
|
|
162
183
|
_id: task.id,
|
|
@@ -164,16 +185,19 @@ export class PersistenceService {
|
|
|
164
185
|
started_at: task.started_at ? new Date(task.started_at) : null,
|
|
165
186
|
completed_at: task.completed_at ? new Date(task.completed_at) : null,
|
|
166
187
|
};
|
|
167
|
-
await this.db
|
|
188
|
+
await this.db
|
|
189
|
+
.collection('tasks')
|
|
190
|
+
.replaceOne({ _id: task.id }, doc, { upsert: true });
|
|
168
191
|
}
|
|
169
192
|
/**
|
|
170
193
|
* Get a task by ID
|
|
194
|
+
* Throws on connection failure, returns null if task doesn't exist
|
|
171
195
|
*/
|
|
172
196
|
async getTask(taskId) {
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
197
|
+
await this.connect();
|
|
198
|
+
if (!this.db) {
|
|
199
|
+
throw new Error('MongoDB database not initialized');
|
|
200
|
+
}
|
|
177
201
|
const doc = await this.db.collection('tasks').findOne({ _id: taskId });
|
|
178
202
|
if (!doc)
|
|
179
203
|
return null;
|
|
@@ -181,26 +205,28 @@ export class PersistenceService {
|
|
|
181
205
|
}
|
|
182
206
|
/**
|
|
183
207
|
* List tasks with optional filters
|
|
208
|
+
* Throws on connection failure
|
|
184
209
|
*/
|
|
185
210
|
async listTasks(filters) {
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
211
|
+
await this.connect();
|
|
212
|
+
if (!this.db) {
|
|
213
|
+
throw new Error('MongoDB database not initialized');
|
|
214
|
+
}
|
|
190
215
|
const query = {};
|
|
191
|
-
if (filters?.session_id)
|
|
216
|
+
if (filters?.session_id !== undefined && filters.session_id !== '')
|
|
192
217
|
query['session_id'] = filters.session_id;
|
|
193
|
-
if (filters?.status)
|
|
218
|
+
if (filters?.status !== undefined && filters.status !== '')
|
|
194
219
|
query['status'] = filters.status;
|
|
195
|
-
const docs = await this.db
|
|
220
|
+
const docs = await this.db
|
|
221
|
+
.collection('tasks')
|
|
196
222
|
.find(query)
|
|
197
223
|
.sort({ created_at: -1 })
|
|
198
224
|
.limit(filters?.limit ?? 100)
|
|
199
225
|
.toArray();
|
|
200
|
-
return docs.map(this.docToTask);
|
|
226
|
+
return docs.map((doc) => this.docToTask(doc));
|
|
201
227
|
}
|
|
202
228
|
docToTask(doc) {
|
|
203
|
-
|
|
229
|
+
const task = {
|
|
204
230
|
id: doc._id,
|
|
205
231
|
session_id: doc.session_id,
|
|
206
232
|
agent_id: doc.agent_id,
|
|
@@ -222,33 +248,44 @@ export class PersistenceService {
|
|
|
222
248
|
priority: doc.priority,
|
|
223
249
|
retry_count: doc.retry_count,
|
|
224
250
|
max_retries: doc.max_retries,
|
|
251
|
+
failover_history: doc.failover_history ?? [],
|
|
252
|
+
failover_enabled: doc.failover_enabled ?? true,
|
|
225
253
|
};
|
|
254
|
+
// Only add logs if present (optional property)
|
|
255
|
+
if (doc.logs !== undefined) {
|
|
256
|
+
task.logs = doc.logs;
|
|
257
|
+
}
|
|
258
|
+
return task;
|
|
226
259
|
}
|
|
227
260
|
// ============ Agents ============
|
|
228
261
|
/**
|
|
229
262
|
* Save an agent
|
|
263
|
+
* Throws on connection or save failure
|
|
230
264
|
*/
|
|
231
265
|
async saveAgent(agent) {
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
266
|
+
await this.connect();
|
|
267
|
+
if (!this.db) {
|
|
268
|
+
throw new Error('MongoDB database not initialized');
|
|
269
|
+
}
|
|
236
270
|
const doc = {
|
|
237
271
|
...agent,
|
|
238
272
|
_id: agent.id,
|
|
239
273
|
created_at: new Date(agent.created_at),
|
|
240
274
|
last_activity_at: new Date(agent.last_activity_at),
|
|
241
275
|
};
|
|
242
|
-
await this.db
|
|
276
|
+
await this.db
|
|
277
|
+
.collection('agents')
|
|
278
|
+
.replaceOne({ _id: agent.id }, doc, { upsert: true });
|
|
243
279
|
}
|
|
244
280
|
/**
|
|
245
281
|
* Get an agent by ID
|
|
282
|
+
* Throws on connection failure, returns null if agent doesn't exist
|
|
246
283
|
*/
|
|
247
284
|
async getAgent(agentId) {
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
285
|
+
await this.connect();
|
|
286
|
+
if (!this.db) {
|
|
287
|
+
throw new Error('MongoDB database not initialized');
|
|
288
|
+
}
|
|
252
289
|
const doc = await this.db.collection('agents').findOne({ _id: agentId });
|
|
253
290
|
if (!doc)
|
|
254
291
|
return null;
|
|
@@ -256,23 +293,25 @@ export class PersistenceService {
|
|
|
256
293
|
}
|
|
257
294
|
/**
|
|
258
295
|
* List agents with optional filters
|
|
296
|
+
* Throws on connection failure
|
|
259
297
|
*/
|
|
260
298
|
async listAgents(filters) {
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
299
|
+
await this.connect();
|
|
300
|
+
if (!this.db) {
|
|
301
|
+
throw new Error('MongoDB database not initialized');
|
|
302
|
+
}
|
|
265
303
|
const query = {};
|
|
266
|
-
if (filters?.session_id)
|
|
304
|
+
if (filters?.session_id !== undefined && filters.session_id !== '')
|
|
267
305
|
query['session_id'] = filters.session_id;
|
|
268
|
-
if (filters?.status)
|
|
306
|
+
if (filters?.status !== undefined && filters.status !== '')
|
|
269
307
|
query['status'] = filters.status;
|
|
270
|
-
const docs = await this.db
|
|
308
|
+
const docs = await this.db
|
|
309
|
+
.collection('agents')
|
|
271
310
|
.find(query)
|
|
272
311
|
.sort({ created_at: -1 })
|
|
273
312
|
.limit(filters?.limit ?? 100)
|
|
274
313
|
.toArray();
|
|
275
|
-
return docs.map(this.docToAgent);
|
|
314
|
+
return docs.map((doc) => this.docToAgent(doc));
|
|
276
315
|
}
|
|
277
316
|
docToAgent(doc) {
|
|
278
317
|
return {
|
|
@@ -295,26 +334,30 @@ export class PersistenceService {
|
|
|
295
334
|
// ============ Artifacts ============
|
|
296
335
|
/**
|
|
297
336
|
* Save an artifact
|
|
337
|
+
* Throws on connection or save failure
|
|
298
338
|
*/
|
|
299
339
|
async saveArtifact(artifact) {
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
340
|
+
await this.connect();
|
|
341
|
+
if (!this.db) {
|
|
342
|
+
throw new Error('MongoDB database not initialized');
|
|
343
|
+
}
|
|
304
344
|
const doc = {
|
|
305
345
|
...artifact,
|
|
306
346
|
_id: artifact.id,
|
|
307
347
|
};
|
|
308
|
-
await this.db
|
|
348
|
+
await this.db
|
|
349
|
+
.collection('artifacts')
|
|
350
|
+
.replaceOne({ _id: artifact.id }, doc, { upsert: true });
|
|
309
351
|
}
|
|
310
352
|
/**
|
|
311
353
|
* Get an artifact by ID
|
|
354
|
+
* Throws on connection failure, returns null if artifact doesn't exist
|
|
312
355
|
*/
|
|
313
356
|
async getArtifact(artifactId) {
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
357
|
+
await this.connect();
|
|
358
|
+
if (!this.db) {
|
|
359
|
+
throw new Error('MongoDB database not initialized');
|
|
360
|
+
}
|
|
318
361
|
const doc = await this.db.collection('artifacts').findOne({ _id: artifactId });
|
|
319
362
|
if (!doc)
|
|
320
363
|
return null;
|
|
@@ -322,25 +365,27 @@ export class PersistenceService {
|
|
|
322
365
|
}
|
|
323
366
|
/**
|
|
324
367
|
* List artifacts with optional filters
|
|
368
|
+
* Throws on connection failure
|
|
325
369
|
*/
|
|
326
370
|
async listArtifacts(filters) {
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
371
|
+
await this.connect();
|
|
372
|
+
if (!this.db) {
|
|
373
|
+
throw new Error('MongoDB database not initialized');
|
|
374
|
+
}
|
|
331
375
|
const query = {};
|
|
332
|
-
if (filters?.session_id)
|
|
376
|
+
if (filters?.session_id !== undefined && filters.session_id !== '')
|
|
333
377
|
query['session_id'] = filters.session_id;
|
|
334
|
-
if (filters?.task_id)
|
|
378
|
+
if (filters?.task_id !== undefined && filters.task_id !== '')
|
|
335
379
|
query['task_id'] = filters.task_id;
|
|
336
|
-
if (filters?.type)
|
|
380
|
+
if (filters?.type !== undefined && filters.type !== '')
|
|
337
381
|
query['type'] = filters.type;
|
|
338
|
-
const docs = await this.db
|
|
382
|
+
const docs = await this.db
|
|
383
|
+
.collection('artifacts')
|
|
339
384
|
.find(query)
|
|
340
385
|
.sort({ created_at: -1 })
|
|
341
386
|
.limit(filters?.limit ?? 100)
|
|
342
387
|
.toArray();
|
|
343
|
-
return docs.map(this.docToArtifact);
|
|
388
|
+
return docs.map((doc) => this.docToArtifact(doc));
|
|
344
389
|
}
|
|
345
390
|
docToArtifact(doc) {
|
|
346
391
|
return {
|
|
@@ -364,12 +409,13 @@ export class PersistenceService {
|
|
|
364
409
|
// ============ Deletion Methods ============
|
|
365
410
|
/**
|
|
366
411
|
* Delete a session and all its related data
|
|
412
|
+
* Throws on connection failure
|
|
367
413
|
*/
|
|
368
414
|
async deleteSession(sessionId) {
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
415
|
+
await this.connect();
|
|
416
|
+
if (!this.db) {
|
|
417
|
+
throw new Error('MongoDB database not initialized');
|
|
418
|
+
}
|
|
373
419
|
try {
|
|
374
420
|
// Delete session (cast _id to any for string-based IDs)
|
|
375
421
|
await this.db.collection('sessions').deleteOne({ _id: sessionId });
|
|
@@ -382,35 +428,41 @@ export class PersistenceService {
|
|
|
382
428
|
return true;
|
|
383
429
|
}
|
|
384
430
|
catch (error) {
|
|
385
|
-
|
|
431
|
+
const logger = getLogger();
|
|
432
|
+
logger.error({
|
|
433
|
+
sessionId,
|
|
434
|
+
error: error instanceof Error ? error.message : String(error),
|
|
435
|
+
}, 'Failed to delete session');
|
|
386
436
|
return false;
|
|
387
437
|
}
|
|
388
438
|
}
|
|
389
439
|
/**
|
|
390
440
|
* Delete multiple sessions by filter
|
|
441
|
+
* Throws on connection failure
|
|
391
442
|
*/
|
|
392
443
|
async deleteSessions(filters) {
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
444
|
+
await this.connect();
|
|
445
|
+
if (!this.db) {
|
|
446
|
+
throw new Error('MongoDB database not initialized');
|
|
447
|
+
}
|
|
397
448
|
try {
|
|
398
449
|
const query = {};
|
|
399
|
-
if (filters.status) {
|
|
450
|
+
if (filters.status !== undefined && filters.status !== '') {
|
|
400
451
|
query['status'] = filters.status;
|
|
401
452
|
}
|
|
402
|
-
if (filters.older_than) {
|
|
453
|
+
if (filters.older_than !== undefined) {
|
|
403
454
|
query['created_at'] = { $lt: filters.older_than };
|
|
404
455
|
}
|
|
405
|
-
if (filters.session_ids && filters.session_ids.length > 0) {
|
|
456
|
+
if (filters.session_ids !== undefined && filters.session_ids.length > 0) {
|
|
406
457
|
query['_id'] = { $in: filters.session_ids };
|
|
407
458
|
}
|
|
408
459
|
// First get the session IDs that match
|
|
409
|
-
const sessions = await this.db
|
|
460
|
+
const sessions = await this.db
|
|
461
|
+
.collection('sessions')
|
|
410
462
|
.find(query)
|
|
411
463
|
.project({ _id: 1 })
|
|
412
464
|
.toArray();
|
|
413
|
-
const sessionIds = sessions.map(s => s._id);
|
|
465
|
+
const sessionIds = sessions.map((s) => s._id);
|
|
414
466
|
if (sessionIds.length === 0) {
|
|
415
467
|
return { deleted_count: 0, session_ids: [] };
|
|
416
468
|
}
|
|
@@ -419,22 +471,29 @@ export class PersistenceService {
|
|
|
419
471
|
await this.db.collection('agents').deleteMany({ session_id: { $in: sessionIds } });
|
|
420
472
|
await this.db.collection('artifacts').deleteMany({ session_id: { $in: sessionIds } });
|
|
421
473
|
// Delete sessions
|
|
422
|
-
const result = await this.db
|
|
474
|
+
const result = await this.db
|
|
475
|
+
.collection('sessions')
|
|
476
|
+
.deleteMany({ _id: { $in: sessionIds } });
|
|
423
477
|
return { deleted_count: result.deletedCount, session_ids: sessionIds };
|
|
424
478
|
}
|
|
425
479
|
catch (error) {
|
|
426
|
-
|
|
480
|
+
const logger = getLogger();
|
|
481
|
+
logger.error({
|
|
482
|
+
filters,
|
|
483
|
+
error: error instanceof Error ? error.message : String(error),
|
|
484
|
+
}, 'Failed to delete sessions');
|
|
427
485
|
return { deleted_count: 0, session_ids: [] };
|
|
428
486
|
}
|
|
429
487
|
}
|
|
430
488
|
/**
|
|
431
489
|
* Get full session report with all related data
|
|
490
|
+
* Throws on connection failure, returns null if session doesn't exist
|
|
432
491
|
*/
|
|
433
492
|
async getSessionReport(sessionId) {
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
493
|
+
await this.connect();
|
|
494
|
+
if (!this.db) {
|
|
495
|
+
throw new Error('MongoDB database not initialized');
|
|
496
|
+
}
|
|
438
497
|
const session = await this.getSession(sessionId);
|
|
439
498
|
if (!session)
|
|
440
499
|
return null;
|
|
@@ -447,12 +506,13 @@ export class PersistenceService {
|
|
|
447
506
|
}
|
|
448
507
|
/**
|
|
449
508
|
* Get reports for all sessions
|
|
509
|
+
* Throws on connection failure
|
|
450
510
|
*/
|
|
451
511
|
async getAllSessionReports(filters) {
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
512
|
+
await this.connect();
|
|
513
|
+
if (!this.db) {
|
|
514
|
+
throw new Error('MongoDB database not initialized');
|
|
515
|
+
}
|
|
456
516
|
const listFilters = {
|
|
457
517
|
limit: filters?.limit ?? 50,
|
|
458
518
|
};
|
package/dist/persistence.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistence.js","sourceRoot":"","sources":["../src/persistence.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"persistence.js","sourceRoot":"","sources":["../src/persistence.ts"],"names":[],"mappings":"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"}
|