agent-task-manager-mcp 1.0.0 → 1.0.1

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 (81) hide show
  1. package/README.md +187 -22
  2. package/dist/certs.d.ts +11 -0
  3. package/dist/certs.d.ts.map +1 -0
  4. package/dist/certs.js +56 -0
  5. package/dist/certs.js.map +1 -0
  6. package/dist/cli.d.ts +14 -0
  7. package/dist/cli.d.ts.map +1 -0
  8. package/dist/cli.js +35 -0
  9. package/dist/cli.js.map +1 -0
  10. package/dist/hostValidation.d.ts +3 -0
  11. package/dist/hostValidation.d.ts.map +1 -0
  12. package/dist/hostValidation.js +58 -0
  13. package/dist/hostValidation.js.map +1 -0
  14. package/dist/http.server.d.ts +13 -0
  15. package/dist/http.server.d.ts.map +1 -0
  16. package/dist/http.server.js +188 -0
  17. package/dist/http.server.js.map +1 -0
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +19 -62
  20. package/dist/index.js.map +1 -1
  21. package/dist/server.d.ts +36 -0
  22. package/dist/server.d.ts.map +1 -0
  23. package/dist/server.js +64 -0
  24. package/dist/server.js.map +1 -0
  25. package/dist/storage/adapters/json.adapter.d.ts +3 -0
  26. package/dist/storage/adapters/json.adapter.d.ts.map +1 -0
  27. package/dist/storage/adapters/json.adapter.js +314 -0
  28. package/dist/storage/adapters/json.adapter.js.map +1 -0
  29. package/dist/storage/adapters/mongodb.adapter.d.ts +3 -0
  30. package/dist/storage/adapters/mongodb.adapter.d.ts.map +1 -0
  31. package/dist/storage/adapters/mongodb.adapter.js +232 -0
  32. package/dist/storage/adapters/mongodb.adapter.js.map +1 -0
  33. package/dist/storage/adapters/postgres.adapter.d.ts +3 -0
  34. package/dist/storage/adapters/postgres.adapter.d.ts.map +1 -0
  35. package/dist/storage/adapters/postgres.adapter.js +440 -0
  36. package/dist/storage/adapters/postgres.adapter.js.map +1 -0
  37. package/dist/storage/adapters/sqlite.adapter.d.ts +3 -0
  38. package/dist/storage/adapters/sqlite.adapter.d.ts.map +1 -0
  39. package/dist/storage/adapters/sqlite.adapter.js +437 -0
  40. package/dist/storage/adapters/sqlite.adapter.js.map +1 -0
  41. package/dist/storage/index.d.ts +17 -0
  42. package/dist/storage/index.d.ts.map +1 -0
  43. package/dist/storage/index.js +22 -0
  44. package/dist/storage/index.js.map +1 -0
  45. package/dist/storage/interface.d.ts +72 -0
  46. package/dist/storage/interface.d.ts.map +1 -0
  47. package/dist/storage/interface.js +3 -0
  48. package/dist/storage/interface.js.map +1 -0
  49. package/dist/storage/json.adapter.d.ts +3 -0
  50. package/dist/storage/json.adapter.d.ts.map +1 -0
  51. package/dist/storage/json.adapter.js +314 -0
  52. package/dist/storage/json.adapter.js.map +1 -0
  53. package/dist/storage/mongodb.adapter.d.ts +3 -0
  54. package/dist/storage/mongodb.adapter.d.ts.map +1 -0
  55. package/dist/storage/mongodb.adapter.js +232 -0
  56. package/dist/storage/mongodb.adapter.js.map +1 -0
  57. package/dist/storage/router.d.ts +30 -0
  58. package/dist/storage/router.d.ts.map +1 -0
  59. package/dist/storage/router.js +100 -0
  60. package/dist/storage/router.js.map +1 -0
  61. package/dist/storage/sqlite.adapter.d.ts +3 -0
  62. package/dist/storage/sqlite.adapter.d.ts.map +1 -0
  63. package/dist/storage/sqlite.adapter.js +437 -0
  64. package/dist/storage/sqlite.adapter.js.map +1 -0
  65. package/dist/storage/types.d.ts +80 -0
  66. package/dist/storage/types.d.ts.map +1 -0
  67. package/dist/storage/types.js +7 -0
  68. package/dist/storage/types.js.map +1 -0
  69. package/dist/tools/checkpoint.tools.d.ts.map +1 -1
  70. package/dist/tools/checkpoint.tools.js +8 -21
  71. package/dist/tools/checkpoint.tools.js.map +1 -1
  72. package/dist/tools/session.tools.d.ts.map +1 -1
  73. package/dist/tools/session.tools.js +21 -30
  74. package/dist/tools/session.tools.js.map +1 -1
  75. package/dist/tools/subtask.tools.d.ts.map +1 -1
  76. package/dist/tools/subtask.tools.js +9 -32
  77. package/dist/tools/subtask.tools.js.map +1 -1
  78. package/dist/tools/task.tools.d.ts.map +1 -1
  79. package/dist/tools/task.tools.js +23 -50
  80. package/dist/tools/task.tools.js.map +1 -1
  81. package/package.json +18 -4
@@ -0,0 +1,314 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createJsonAdapter = void 0;
4
+ const node_fs_1 = require("node:fs");
5
+ const node_path_1 = require("node:path");
6
+ const types_js_1 = require("../types.js");
7
+ const defaultContext = { workingDirectory: '/tmp', initScript: null, repoUrl: null, environmentVars: {} };
8
+ const emptyStore = () => ({
9
+ tasks: [],
10
+ subtasks: [],
11
+ sessions: [],
12
+ checkpoints: [],
13
+ });
14
+ const createJsonAdapter = (filePath) => {
15
+ const reviveDates = (obj) => {
16
+ if (obj === null || typeof obj !== 'object')
17
+ return obj;
18
+ if (Array.isArray(obj))
19
+ return obj.map(reviveDates);
20
+ if (obj instanceof Date)
21
+ return obj;
22
+ const out = {};
23
+ for (const [k, v] of Object.entries(obj)) {
24
+ if (typeof v === 'string' && /^\d{4}-\d{2}-\d{2}T/.test(v))
25
+ out[k] = new Date(v);
26
+ else
27
+ out[k] = reviveDates(v);
28
+ }
29
+ return out;
30
+ };
31
+ const load = () => {
32
+ if (!(0, node_fs_1.existsSync)(filePath))
33
+ return emptyStore();
34
+ const raw = (0, node_fs_1.readFileSync)(filePath, 'utf-8');
35
+ try {
36
+ const data = JSON.parse(raw);
37
+ return {
38
+ tasks: (data.tasks ?? []).map((t) => reviveDates(t)),
39
+ subtasks: (data.subtasks ?? []).map((s) => reviveDates(s)),
40
+ sessions: (data.sessions ?? []).map((s) => reviveDates(s)),
41
+ checkpoints: (data.checkpoints ?? []).map((c) => reviveDates(c)),
42
+ };
43
+ }
44
+ catch {
45
+ return emptyStore();
46
+ }
47
+ };
48
+ const save = (store) => {
49
+ const dir = (0, node_path_1.dirname)(filePath);
50
+ if (!(0, node_fs_1.existsSync)(dir))
51
+ (0, node_fs_1.mkdirSync)(dir, { recursive: true });
52
+ (0, node_fs_1.writeFileSync)(filePath, JSON.stringify(store, null, 2), 'utf-8');
53
+ };
54
+ return {
55
+ connect: async () => {
56
+ const dir = (0, node_path_1.dirname)(filePath);
57
+ if (!(0, node_fs_1.existsSync)(dir))
58
+ (0, node_fs_1.mkdirSync)(dir, { recursive: true });
59
+ if (!(0, node_fs_1.existsSync)(filePath))
60
+ save(emptyStore());
61
+ console.error('[DB] Connected to JSON file:', filePath);
62
+ },
63
+ taskCreate: async (input) => {
64
+ const store = load();
65
+ const id = (0, types_js_1.generateId)();
66
+ const now = new Date();
67
+ const task = {
68
+ id,
69
+ title: input.title,
70
+ description: input.description,
71
+ status: 'pending',
72
+ phase: 'init',
73
+ priority: input.priority ?? 5,
74
+ tags: input.tags ?? [],
75
+ agentId: null,
76
+ lockedAt: null,
77
+ context: { ...defaultContext, ...input.context },
78
+ metadata: input.metadata ?? {},
79
+ completedAt: null,
80
+ deadline: input.deadline ? new Date(input.deadline) : null,
81
+ createdAt: now,
82
+ updatedAt: now,
83
+ };
84
+ store.tasks.push(task);
85
+ save(store);
86
+ return task;
87
+ },
88
+ taskFindById: async (id) => {
89
+ const store = load();
90
+ return store.tasks.find((t) => t.id === id) ?? null;
91
+ },
92
+ taskList: async (filter) => {
93
+ const store = load();
94
+ let list = store.tasks;
95
+ if (filter.status)
96
+ list = list.filter((t) => t.status === filter.status);
97
+ if (filter.phase)
98
+ list = list.filter((t) => t.phase === filter.phase);
99
+ if (filter.tags?.length)
100
+ list = list.filter((t) => filter.tags.some((tag) => t.tags.includes(tag)));
101
+ const total = list.length;
102
+ list = list.sort((a, b) => b.priority - a.priority || b.createdAt.getTime() - a.createdAt.getTime());
103
+ list = list.slice(filter.skip, filter.skip + filter.limit);
104
+ return { tasks: list, total };
105
+ },
106
+ taskUpdate: async (id, input) => {
107
+ const store = load();
108
+ const idx = store.tasks.findIndex((t) => t.id === id);
109
+ if (idx < 0)
110
+ return null;
111
+ const t = store.tasks[idx];
112
+ if (input.title !== undefined)
113
+ t.title = input.title;
114
+ if (input.description !== undefined)
115
+ t.description = input.description;
116
+ if (input.status !== undefined)
117
+ t.status = input.status;
118
+ if (input.phase !== undefined)
119
+ t.phase = input.phase;
120
+ if (input.priority !== undefined)
121
+ t.priority = input.priority;
122
+ if (input.tags !== undefined)
123
+ t.tags = input.tags;
124
+ if (input.context !== undefined)
125
+ t.context = { ...t.context, ...input.context };
126
+ if (input.metadata !== undefined)
127
+ t.metadata = input.metadata;
128
+ if (input.deadline !== undefined)
129
+ t.deadline = input.deadline ? new Date(input.deadline) : null;
130
+ t.updatedAt = new Date();
131
+ save(store);
132
+ return t;
133
+ },
134
+ taskDelete: async (id) => {
135
+ const store = load();
136
+ store.tasks = store.tasks.filter((t) => t.id !== id);
137
+ store.subtasks = store.subtasks.filter((s) => s.taskId !== id);
138
+ store.sessions = store.sessions.filter((s) => s.taskId !== id);
139
+ store.checkpoints = store.checkpoints.filter((c) => c.taskId !== id);
140
+ save(store);
141
+ },
142
+ taskLock: async (id, agentId) => {
143
+ const store = load();
144
+ const t = store.tasks.find((x) => x.id === id);
145
+ if (!t)
146
+ return null;
147
+ if (t.agentId !== null && t.agentId !== agentId)
148
+ return null;
149
+ t.agentId = agentId;
150
+ t.lockedAt = new Date();
151
+ t.updatedAt = new Date();
152
+ save(store);
153
+ return t;
154
+ },
155
+ taskUnlock: async (id, agentId) => {
156
+ const store = load();
157
+ const t = store.tasks.find((x) => x.id === id && x.agentId === agentId);
158
+ if (!t)
159
+ return null;
160
+ t.agentId = null;
161
+ t.lockedAt = null;
162
+ t.updatedAt = new Date();
163
+ save(store);
164
+ return t;
165
+ },
166
+ subtaskCountByTask: async (taskId, status) => {
167
+ const store = load();
168
+ let list = store.subtasks.filter((s) => s.taskId === taskId);
169
+ if (status !== undefined) {
170
+ list = Array.isArray(status) ? list.filter((s) => status.includes(s.status)) : list.filter((s) => s.status === status);
171
+ }
172
+ return list.length;
173
+ },
174
+ subtaskCreateBulk: async (taskId, items) => {
175
+ const store = load();
176
+ const now = new Date();
177
+ const created = items.map((s) => ({
178
+ id: (0, types_js_1.generateId)(),
179
+ taskId,
180
+ title: s.title,
181
+ description: s.description,
182
+ category: s.category ?? 'functional',
183
+ steps: s.steps ?? [],
184
+ status: 'pending',
185
+ priority: s.priority ?? 5,
186
+ dependsOn: s.dependsOn ?? [],
187
+ agentId: null,
188
+ attempts: 0,
189
+ lastError: null,
190
+ evidence: null,
191
+ createdAt: now,
192
+ updatedAt: now,
193
+ }));
194
+ store.subtasks.push(...created);
195
+ save(store);
196
+ return created;
197
+ },
198
+ subtaskGetNext: async (taskId, agentId) => {
199
+ const store = load();
200
+ const passed = new Set(store.subtasks.filter((s) => s.taskId === taskId && s.status === 'passed').map((s) => s.id));
201
+ const pending = store.subtasks
202
+ .filter((s) => s.taskId === taskId && s.status === 'pending')
203
+ .sort((a, b) => b.priority - a.priority || a.createdAt.getTime() - b.createdAt.getTime());
204
+ for (const s of pending) {
205
+ if (!s.dependsOn.every((d) => passed.has(d)))
206
+ continue;
207
+ s.status = 'in_progress';
208
+ s.agentId = agentId;
209
+ s.attempts += 1;
210
+ s.updatedAt = new Date();
211
+ save(store);
212
+ return s;
213
+ }
214
+ return null;
215
+ },
216
+ subtaskUpdateStatus: async (id, agentId, data) => {
217
+ const store = load();
218
+ const s = store.subtasks.find((x) => x.id === id && x.agentId === agentId);
219
+ if (!s)
220
+ return null;
221
+ s.status = data.status;
222
+ if (data.evidence !== undefined)
223
+ s.evidence = data.evidence;
224
+ if (data.lastError !== undefined)
225
+ s.lastError = data.lastError;
226
+ s.updatedAt = new Date();
227
+ save(store);
228
+ return s;
229
+ },
230
+ sessionCreate: async (data) => {
231
+ const store = load();
232
+ const now = new Date();
233
+ const session = {
234
+ id: (0, types_js_1.generateId)(),
235
+ taskId: data.taskId,
236
+ agentId: data.agentId,
237
+ phase: data.phase,
238
+ startedAt: now,
239
+ endedAt: null,
240
+ subtasksAttempted: [],
241
+ subtasksCompleted: [],
242
+ progressNote: '',
243
+ gitCommit: null,
244
+ tokenCount: null,
245
+ status: 'active',
246
+ createdAt: now,
247
+ updatedAt: now,
248
+ };
249
+ store.sessions.push(session);
250
+ save(store);
251
+ return session;
252
+ },
253
+ sessionFindLatestByTask: async (taskId, status) => {
254
+ const store = load();
255
+ let list = store.sessions.filter((s) => s.taskId === taskId);
256
+ if (status)
257
+ list = list.filter((s) => s.status === status);
258
+ return list.sort((a, b) => (b.endedAt?.getTime() ?? 0) - (a.endedAt?.getTime() ?? 0))[0] ?? null;
259
+ },
260
+ sessionUpdate: async (id, agentId, data) => {
261
+ const store = load();
262
+ const s = store.sessions.find((x) => x.id === id && x.agentId === agentId);
263
+ if (!s)
264
+ return null;
265
+ if (data.progressNote !== undefined)
266
+ s.progressNote = data.progressNote;
267
+ if (data.gitCommit !== undefined)
268
+ s.gitCommit = data.gitCommit;
269
+ if (data.tokenCount !== undefined)
270
+ s.tokenCount = data.tokenCount;
271
+ if (data.status !== undefined)
272
+ s.status = data.status;
273
+ if (data.endedAt !== undefined)
274
+ s.endedAt = data.endedAt;
275
+ if (data.subtasksAttempted)
276
+ s.subtasksAttempted = data.subtasksAttempted;
277
+ if (data.subtasksCompleted)
278
+ s.subtasksCompleted = data.subtasksCompleted;
279
+ s.updatedAt = new Date();
280
+ save(store);
281
+ return s;
282
+ },
283
+ checkpointCreate: async (data) => {
284
+ const store = load();
285
+ const now = new Date();
286
+ const cp = {
287
+ id: (0, types_js_1.generateId)(),
288
+ taskId: data.taskId,
289
+ sessionId: data.sessionId,
290
+ label: data.label,
291
+ snapshot: data.snapshot,
292
+ createdAt: now,
293
+ updatedAt: now,
294
+ };
295
+ store.checkpoints.push(cp);
296
+ save(store);
297
+ return cp;
298
+ },
299
+ checkpointFindByTaskAndLabel: async (taskId, label) => {
300
+ const store = load();
301
+ const list = store.checkpoints.filter((c) => c.taskId === taskId && c.label === label);
302
+ return list.sort((a, b) => b.createdAt.getTime() - a.createdAt.getTime())[0] ?? null;
303
+ },
304
+ checkpointFindAllByTask: async (taskId) => {
305
+ const store = load();
306
+ return store.checkpoints
307
+ .filter((c) => c.taskId === taskId)
308
+ .sort((a, b) => b.createdAt.getTime() - a.createdAt.getTime())
309
+ .map((c) => ({ id: c.id, label: c.label, createdAt: c.createdAt, sessionId: c.sessionId }));
310
+ },
311
+ };
312
+ };
313
+ exports.createJsonAdapter = createJsonAdapter;
314
+ //# sourceMappingURL=json.adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.adapter.js","sourceRoot":"","sources":["../../../src/storage/adapters/json.adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { StorageAdapter } from '../interface.js';
2
+ export declare const createMongoAdapter: () => StorageAdapter;
3
+ //# sourceMappingURL=mongodb.adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongodb.adapter.d.ts","sourceRoot":"","sources":["../../../src/storage/adapters/mongodb.adapter.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAoFrD,eAAO,MAAM,kBAAkB,QAAO,cA4KpC,CAAA"}
@@ -0,0 +1,232 @@
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.createMongoAdapter = void 0;
7
+ const mongoose_1 = __importDefault(require("mongoose"));
8
+ const Task_js_1 = require("../../models/Task.js");
9
+ const Subtask_js_1 = require("../../models/Subtask.js");
10
+ const Session_js_1 = require("../../models/Session.js");
11
+ const Checkpoint_js_1 = require("../../models/Checkpoint.js");
12
+ const db_js_1 = __importDefault(require("../../db.js"));
13
+ const toId = (oid) => oid?.toString() ?? '';
14
+ const toOid = (id) => new mongoose_1.default.Types.ObjectId(id);
15
+ const mapTask = (doc) => {
16
+ const d = doc;
17
+ return {
18
+ id: toId(d._id),
19
+ title: d.title,
20
+ description: d.description,
21
+ status: d.status,
22
+ phase: d.phase,
23
+ priority: d.priority,
24
+ tags: d.tags ?? [],
25
+ agentId: d.agentId ?? null,
26
+ lockedAt: d.lockedAt ?? null,
27
+ context: d.context ?? { workingDirectory: '/tmp', initScript: null, repoUrl: null, environmentVars: {} },
28
+ metadata: d.metadata ?? {},
29
+ completedAt: d.completedAt ?? null,
30
+ deadline: d.deadline ?? null,
31
+ createdAt: d.createdAt,
32
+ updatedAt: d.updatedAt,
33
+ };
34
+ };
35
+ const mapSubtask = (doc) => {
36
+ const d = doc;
37
+ return {
38
+ id: toId(d._id),
39
+ taskId: toId(d.taskId),
40
+ title: d.title,
41
+ description: d.description,
42
+ category: d.category,
43
+ steps: d.steps ?? [],
44
+ status: d.status,
45
+ priority: d.priority,
46
+ dependsOn: (d.dependsOn ?? []).map(toId),
47
+ agentId: d.agentId ?? null,
48
+ attempts: d.attempts ?? 0,
49
+ lastError: d.lastError ?? null,
50
+ evidence: d.evidence ?? null,
51
+ createdAt: d.createdAt,
52
+ updatedAt: d.updatedAt,
53
+ };
54
+ };
55
+ const mapSession = (doc) => {
56
+ const d = doc;
57
+ return {
58
+ id: toId(d._id),
59
+ taskId: toId(d.taskId),
60
+ agentId: d.agentId,
61
+ phase: d.phase,
62
+ startedAt: d.startedAt,
63
+ endedAt: d.endedAt ?? null,
64
+ subtasksAttempted: (d.subtasksAttempted ?? []).map(toId),
65
+ subtasksCompleted: (d.subtasksCompleted ?? []).map(toId),
66
+ progressNote: d.progressNote ?? '',
67
+ gitCommit: d.gitCommit ?? null,
68
+ tokenCount: d.tokenCount ?? null,
69
+ status: d.status,
70
+ createdAt: d.createdAt,
71
+ updatedAt: d.updatedAt,
72
+ };
73
+ };
74
+ const mapCheckpoint = (doc) => {
75
+ const d = doc;
76
+ return {
77
+ id: toId(d._id),
78
+ taskId: toId(d.taskId),
79
+ sessionId: toId(d.sessionId),
80
+ label: d.label,
81
+ snapshot: d.snapshot,
82
+ createdAt: d.createdAt,
83
+ updatedAt: d.updatedAt,
84
+ };
85
+ };
86
+ const defaultContext = { workingDirectory: '/tmp', initScript: null, repoUrl: null, environmentVars: {} };
87
+ const createMongoAdapter = () => ({
88
+ connect: db_js_1.default,
89
+ taskCreate: async (input) => {
90
+ const task = await Task_js_1.Task.create({
91
+ ...input,
92
+ context: { ...defaultContext, ...input.context },
93
+ deadline: input.deadline ? new Date(input.deadline) : null,
94
+ });
95
+ return mapTask(task.toObject());
96
+ },
97
+ taskFindById: async (id) => {
98
+ const doc = await Task_js_1.Task.findById(id).lean();
99
+ return doc ? mapTask(doc) : null;
100
+ },
101
+ taskList: async (filter) => {
102
+ const q = {};
103
+ if (filter.status)
104
+ q.status = filter.status;
105
+ if (filter.phase)
106
+ q.phase = filter.phase;
107
+ if (filter.tags?.length)
108
+ q.tags = { $in: filter.tags };
109
+ const [tasks, total] = await Promise.all([
110
+ Task_js_1.Task.find(q).sort({ priority: -1, createdAt: -1 }).limit(filter.limit).skip(filter.skip).lean(),
111
+ Task_js_1.Task.countDocuments(q),
112
+ ]);
113
+ return { tasks: tasks.map(mapTask), total };
114
+ },
115
+ taskUpdate: async (id, input) => {
116
+ const update = { ...input };
117
+ if (input.context) {
118
+ Object.entries(input.context).forEach(([k, v]) => { update[`context.${k}`] = v; });
119
+ }
120
+ if (input.deadline !== undefined)
121
+ update.deadline = input.deadline ? new Date(input.deadline) : null;
122
+ const doc = await Task_js_1.Task.findByIdAndUpdate(id, { $set: update }, { new: true }).lean();
123
+ return doc ? mapTask(doc) : null;
124
+ },
125
+ taskDelete: async (id) => {
126
+ const oid = toOid(id);
127
+ await Promise.all([
128
+ Task_js_1.Task.findByIdAndDelete(id),
129
+ Subtask_js_1.Subtask.deleteMany({ taskId: oid }),
130
+ Session_js_1.Session.deleteMany({ taskId: oid }),
131
+ Checkpoint_js_1.Checkpoint.deleteMany({ taskId: oid }),
132
+ ]);
133
+ },
134
+ taskLock: async (id, agentId) => {
135
+ const doc = await Task_js_1.Task.findOneAndUpdate({ _id: id, $or: [{ agentId: null }, { agentId }] }, { $set: { agentId, lockedAt: new Date() } }, { new: true }).lean();
136
+ return doc ? mapTask(doc) : null;
137
+ },
138
+ taskUnlock: async (id, agentId) => {
139
+ const doc = await Task_js_1.Task.findOneAndUpdate({ _id: id, agentId }, { $set: { agentId: null, lockedAt: null } }, { new: true }).lean();
140
+ return doc ? mapTask(doc) : null;
141
+ },
142
+ subtaskCountByTask: async (taskId, status) => {
143
+ const q = { taskId: toOid(taskId) };
144
+ if (status !== undefined) {
145
+ q.status = Array.isArray(status) ? { $in: status } : status;
146
+ }
147
+ return Subtask_js_1.Subtask.countDocuments(q);
148
+ },
149
+ subtaskCreateBulk: async (taskId, items) => {
150
+ const taskOid = toOid(taskId);
151
+ const docs = items.map((s) => ({
152
+ taskId: taskOid,
153
+ title: s.title,
154
+ description: s.description,
155
+ category: s.category ?? 'functional',
156
+ steps: s.steps ?? [],
157
+ priority: s.priority ?? 5,
158
+ dependsOn: (s.dependsOn ?? []).map(toOid),
159
+ }));
160
+ const created = await Subtask_js_1.Subtask.insertMany(docs);
161
+ return created.map((c) => mapSubtask(c.toObject()));
162
+ },
163
+ subtaskGetNext: async (taskId, agentId) => {
164
+ const taskOid = toOid(taskId);
165
+ const passedIds = await Subtask_js_1.Subtask.find({ taskId: taskOid, status: 'passed' }).distinct('_id');
166
+ const doc = await Subtask_js_1.Subtask.findOneAndUpdate({
167
+ taskId: taskOid,
168
+ status: 'pending',
169
+ $or: [{ dependsOn: { $size: 0 } }, { dependsOn: { $not: { $elemMatch: { $nin: passedIds } } } }],
170
+ }, { $set: { status: 'in_progress', agentId }, $inc: { attempts: 1 } }, { new: true, sort: { priority: -1, createdAt: 1 } }).lean();
171
+ return doc ? mapSubtask(doc) : null;
172
+ },
173
+ subtaskUpdateStatus: async (id, agentId, data) => {
174
+ const doc = await Subtask_js_1.Subtask.findOneAndUpdate({ _id: id, agentId }, { $set: data }, { new: true }).lean();
175
+ return doc ? mapSubtask(doc) : null;
176
+ },
177
+ sessionCreate: async (data) => {
178
+ const session = await Session_js_1.Session.create({
179
+ taskId: toOid(data.taskId),
180
+ agentId: data.agentId,
181
+ phase: data.phase,
182
+ });
183
+ return mapSession(session.toObject());
184
+ },
185
+ sessionFindLatestByTask: async (taskId, status) => {
186
+ const q = { taskId: toOid(taskId) };
187
+ if (status)
188
+ q.status = status;
189
+ const doc = await Session_js_1.Session.findOne(q).sort({ endedAt: -1 }).lean();
190
+ return doc ? mapSession(doc) : null;
191
+ },
192
+ sessionUpdate: async (id, agentId, data) => {
193
+ const update = { ...data };
194
+ if (data.subtasksAttempted)
195
+ update.subtasksAttempted = data.subtasksAttempted.map(toOid);
196
+ if (data.subtasksCompleted)
197
+ update.subtasksCompleted = data.subtasksCompleted.map(toOid);
198
+ if (data.endedAt !== undefined)
199
+ update.endedAt = data.endedAt;
200
+ const doc = await Session_js_1.Session.findOneAndUpdate({ _id: id, agentId }, { $set: update }, { new: true }).lean();
201
+ return doc ? mapSession(doc) : null;
202
+ },
203
+ checkpointCreate: async (data) => {
204
+ const cp = await Checkpoint_js_1.Checkpoint.create({
205
+ taskId: toOid(data.taskId),
206
+ sessionId: toOid(data.sessionId),
207
+ label: data.label,
208
+ snapshot: data.snapshot,
209
+ });
210
+ return mapCheckpoint(cp.toObject());
211
+ },
212
+ checkpointFindByTaskAndLabel: async (taskId, label) => {
213
+ const doc = await Checkpoint_js_1.Checkpoint.findOne({ taskId: toOid(taskId), label })
214
+ .sort({ createdAt: -1 })
215
+ .lean();
216
+ return doc ? mapCheckpoint(doc) : null;
217
+ },
218
+ checkpointFindAllByTask: async (taskId) => {
219
+ const docs = await Checkpoint_js_1.Checkpoint.find({ taskId: toOid(taskId) })
220
+ .sort({ createdAt: -1 })
221
+ .select('label createdAt sessionId')
222
+ .lean();
223
+ return docs.map((d) => ({
224
+ id: toId(d._id),
225
+ label: d.label,
226
+ createdAt: d.createdAt,
227
+ sessionId: toId(d.sessionId),
228
+ }));
229
+ },
230
+ });
231
+ exports.createMongoAdapter = createMongoAdapter;
232
+ //# sourceMappingURL=mongodb.adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongodb.adapter.js","sourceRoot":"","sources":["../../../src/storage/adapters/mongodb.adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { StorageAdapter } from '../interface.js';
2
+ export declare const createPostgresAdapter: (connectionUrl: string) => StorageAdapter;
3
+ //# sourceMappingURL=postgres.adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgres.adapter.d.ts","sourceRoot":"","sources":["../../../src/storage/adapters/postgres.adapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAgJrD,eAAO,MAAM,qBAAqB,GAAI,eAAe,MAAM,KAAG,cAsR7D,CAAA"}