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,437 @@
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.createSqliteAdapter = void 0;
7
+ const better_sqlite3_1 = __importDefault(require("better-sqlite3"));
8
+ const node_fs_1 = require("node:fs");
9
+ const node_path_1 = require("node:path");
10
+ const types_js_1 = require("../types.js");
11
+ const defaultContext = { workingDirectory: '/tmp', initScript: null, repoUrl: null, environmentVars: {} };
12
+ const initSchema = (db) => {
13
+ db.exec(`
14
+ CREATE TABLE IF NOT EXISTS tasks (
15
+ id TEXT PRIMARY KEY,
16
+ title TEXT NOT NULL,
17
+ description TEXT NOT NULL,
18
+ status TEXT DEFAULT 'pending',
19
+ phase TEXT DEFAULT 'init',
20
+ priority INTEGER DEFAULT 5,
21
+ tags TEXT DEFAULT '[]',
22
+ agent_id TEXT,
23
+ locked_at INTEGER,
24
+ context TEXT DEFAULT '{}',
25
+ metadata TEXT DEFAULT '{}',
26
+ completed_at INTEGER,
27
+ deadline INTEGER,
28
+ created_at INTEGER NOT NULL,
29
+ updated_at INTEGER NOT NULL
30
+ );
31
+ CREATE TABLE IF NOT EXISTS subtasks (
32
+ id TEXT PRIMARY KEY,
33
+ task_id TEXT NOT NULL,
34
+ title TEXT NOT NULL,
35
+ description TEXT NOT NULL,
36
+ category TEXT DEFAULT 'functional',
37
+ steps TEXT DEFAULT '[]',
38
+ status TEXT DEFAULT 'pending',
39
+ priority INTEGER DEFAULT 5,
40
+ depends_on TEXT DEFAULT '[]',
41
+ agent_id TEXT,
42
+ attempts INTEGER DEFAULT 0,
43
+ last_error TEXT,
44
+ evidence TEXT,
45
+ created_at INTEGER NOT NULL,
46
+ updated_at INTEGER NOT NULL,
47
+ FOREIGN KEY (task_id) REFERENCES tasks(id)
48
+ );
49
+ CREATE TABLE IF NOT EXISTS sessions (
50
+ id TEXT PRIMARY KEY,
51
+ task_id TEXT NOT NULL,
52
+ agent_id TEXT NOT NULL,
53
+ phase TEXT NOT NULL,
54
+ started_at INTEGER NOT NULL,
55
+ ended_at INTEGER,
56
+ subtasks_attempted TEXT DEFAULT '[]',
57
+ subtasks_completed TEXT DEFAULT '[]',
58
+ progress_note TEXT DEFAULT '',
59
+ git_commit TEXT,
60
+ token_count INTEGER,
61
+ status TEXT DEFAULT 'active',
62
+ created_at INTEGER NOT NULL,
63
+ updated_at INTEGER NOT NULL,
64
+ FOREIGN KEY (task_id) REFERENCES tasks(id)
65
+ );
66
+ CREATE TABLE IF NOT EXISTS checkpoints (
67
+ id TEXT PRIMARY KEY,
68
+ task_id TEXT NOT NULL,
69
+ session_id TEXT NOT NULL,
70
+ label TEXT NOT NULL,
71
+ snapshot TEXT NOT NULL,
72
+ created_at INTEGER NOT NULL,
73
+ updated_at INTEGER NOT NULL,
74
+ FOREIGN KEY (task_id) REFERENCES tasks(id),
75
+ FOREIGN KEY (session_id) REFERENCES sessions(id)
76
+ );
77
+ CREATE INDEX IF NOT EXISTS idx_tasks_status ON tasks(status);
78
+ CREATE INDEX IF NOT EXISTS idx_subtasks_task_status ON subtasks(task_id, status);
79
+ CREATE INDEX IF NOT EXISTS idx_sessions_task ON sessions(task_id);
80
+ CREATE INDEX IF NOT EXISTS idx_checkpoints_task ON checkpoints(task_id);
81
+ `);
82
+ };
83
+ const now = () => Math.floor(Date.now() / 1000);
84
+ const parseJson = (s, fallback) => {
85
+ try {
86
+ return JSON.parse(s);
87
+ }
88
+ catch {
89
+ return fallback;
90
+ }
91
+ };
92
+ const createSqliteAdapter = (dbPath) => {
93
+ let db;
94
+ return {
95
+ connect: async () => {
96
+ const dir = (0, node_path_1.dirname)(dbPath);
97
+ if (!(0, node_fs_1.existsSync)(dir))
98
+ (0, node_fs_1.mkdirSync)(dir, { recursive: true });
99
+ db = new better_sqlite3_1.default(dbPath);
100
+ db.pragma('journal_mode = WAL');
101
+ initSchema(db);
102
+ console.error('[DB] Connected to SQLite:', dbPath);
103
+ },
104
+ taskCreate: async (input) => {
105
+ const id = (0, types_js_1.generateId)();
106
+ const t = now();
107
+ const context = JSON.stringify({ ...defaultContext, ...input.context });
108
+ const tags = JSON.stringify(input.tags ?? []);
109
+ const metadata = JSON.stringify(input.metadata ?? {});
110
+ const deadline = input.deadline ? Math.floor(new Date(input.deadline).getTime() / 1000) : null;
111
+ db.prepare(`
112
+ INSERT INTO tasks (id, title, description, status, phase, priority, tags, context, metadata, deadline, created_at, updated_at)
113
+ VALUES (?, ?, ?, 'pending', 'init', ?, ?, ?, ?, ?, ?, ?)
114
+ `).run(id, input.title, input.description, input.priority ?? 5, tags, context, metadata, deadline, t, t);
115
+ const row = db.prepare('SELECT * FROM tasks WHERE id = ?').get(id);
116
+ return rowToTask(row);
117
+ },
118
+ taskFindById: async (id) => {
119
+ const row = db.prepare('SELECT * FROM tasks WHERE id = ?').get(id);
120
+ return row ? rowToTask(row) : null;
121
+ },
122
+ taskList: async (filter) => {
123
+ const conditions = [];
124
+ const params = [];
125
+ if (filter.status) {
126
+ conditions.push('status = ?');
127
+ params.push(filter.status);
128
+ }
129
+ if (filter.phase) {
130
+ conditions.push('phase = ?');
131
+ params.push(filter.phase);
132
+ }
133
+ if (filter.tags?.length) {
134
+ conditions.push(`EXISTS (SELECT 1 FROM json_each(tags) WHERE value IN (${filter.tags.map(() => '?').join(',')}))`);
135
+ params.push(...filter.tags);
136
+ }
137
+ const where = conditions.length ? `WHERE ${conditions.join(' AND ')}` : '';
138
+ const countRow = db.prepare(`SELECT COUNT(*) as c FROM tasks ${where}`).get(...params);
139
+ const rows = db.prepare(`
140
+ SELECT * FROM tasks ${where}
141
+ ORDER BY priority DESC, created_at DESC
142
+ LIMIT ? OFFSET ?
143
+ `).all(...params, filter.limit, filter.skip);
144
+ return {
145
+ tasks: rows.map(rowToTask),
146
+ total: countRow.c,
147
+ };
148
+ },
149
+ taskUpdate: async (id, input) => {
150
+ const existing = db.prepare('SELECT * FROM tasks WHERE id = ?').get(id);
151
+ if (!existing)
152
+ return null;
153
+ const updates = [];
154
+ const params = [];
155
+ const set = (col, val) => { updates.push(`${col} = ?`); params.push(val); };
156
+ if (input.title !== undefined)
157
+ set('title', input.title);
158
+ if (input.description !== undefined)
159
+ set('description', input.description);
160
+ if (input.status !== undefined)
161
+ set('status', input.status);
162
+ if (input.phase !== undefined)
163
+ set('phase', input.phase);
164
+ if (input.priority !== undefined)
165
+ set('priority', input.priority);
166
+ if (input.tags !== undefined)
167
+ set('tags', JSON.stringify(input.tags));
168
+ if (input.context !== undefined) {
169
+ const ctx = parseJson(existing.context, {});
170
+ set('context', JSON.stringify({ ...ctx, ...input.context }));
171
+ }
172
+ if (input.metadata !== undefined)
173
+ set('metadata', JSON.stringify(input.metadata));
174
+ if (input.deadline !== undefined)
175
+ set('deadline', input.deadline ? Math.floor(new Date(input.deadline).getTime() / 1000) : null);
176
+ if (updates.length === 0)
177
+ return rowToTask(existing);
178
+ set('updated_at', now());
179
+ params.push(id);
180
+ db.prepare(`UPDATE tasks SET ${updates.join(', ')} WHERE id = ?`).run(...params);
181
+ const updated = db.prepare('SELECT * FROM tasks WHERE id = ?').get(id);
182
+ return rowToTask(updated);
183
+ },
184
+ taskDelete: async (id) => {
185
+ db.prepare('DELETE FROM checkpoints WHERE task_id = ?').run(id);
186
+ db.prepare('DELETE FROM sessions WHERE task_id = ?').run(id);
187
+ db.prepare('DELETE FROM subtasks WHERE task_id = ?').run(id);
188
+ db.prepare('DELETE FROM tasks WHERE id = ?').run(id);
189
+ },
190
+ taskLock: async (id, agentId) => {
191
+ const row = db.prepare('SELECT * FROM tasks WHERE id = ?').get(id);
192
+ if (!row)
193
+ return null;
194
+ const currentAgent = row.agent_id;
195
+ if (currentAgent !== null && currentAgent !== agentId)
196
+ return null;
197
+ const t = Math.floor(Date.now() / 1000);
198
+ db.prepare('UPDATE tasks SET agent_id = ?, locked_at = ?, updated_at = ? WHERE id = ?').run(agentId, t, t, id);
199
+ const updated = db.prepare('SELECT * FROM tasks WHERE id = ?').get(id);
200
+ return rowToTask(updated);
201
+ },
202
+ taskUnlock: async (id, agentId) => {
203
+ const row = db.prepare('SELECT * FROM tasks WHERE id = ? AND agent_id = ?').get(id, agentId);
204
+ if (!row)
205
+ return null;
206
+ const t = now();
207
+ db.prepare('UPDATE tasks SET agent_id = NULL, locked_at = NULL, updated_at = ? WHERE id = ?').run(t, id);
208
+ const updated = db.prepare('SELECT * FROM tasks WHERE id = ?').get(id);
209
+ return rowToTask(updated);
210
+ },
211
+ subtaskCountByTask: async (taskId, status) => {
212
+ let sql = 'SELECT COUNT(*) as c FROM subtasks WHERE task_id = ?';
213
+ const params = [taskId];
214
+ if (status !== undefined) {
215
+ if (Array.isArray(status)) {
216
+ sql += ` AND status IN (${status.map(() => '?').join(',')})`;
217
+ params.push(...status);
218
+ }
219
+ else {
220
+ sql += ' AND status = ?';
221
+ params.push(status);
222
+ }
223
+ }
224
+ const row = db.prepare(sql).get(...params);
225
+ return row.c;
226
+ },
227
+ subtaskCreateBulk: async (taskId, items) => {
228
+ const t = now();
229
+ const stmt = db.prepare(`
230
+ INSERT INTO subtasks (id, task_id, title, description, category, steps, priority, depends_on, created_at, updated_at)
231
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
232
+ `);
233
+ const created = [];
234
+ for (const s of items) {
235
+ const id = (0, types_js_1.generateId)();
236
+ const dependsOn = JSON.stringify((s.dependsOn ?? []).map((d) => d));
237
+ stmt.run(id, taskId, s.title, s.description, s.category ?? 'functional', JSON.stringify(s.steps ?? []), s.priority ?? 5, dependsOn, t, t);
238
+ created.push({
239
+ id,
240
+ taskId,
241
+ title: s.title,
242
+ description: s.description,
243
+ category: s.category ?? 'functional',
244
+ steps: s.steps ?? [],
245
+ status: 'pending',
246
+ priority: s.priority ?? 5,
247
+ dependsOn: s.dependsOn ?? [],
248
+ agentId: null,
249
+ attempts: 0,
250
+ lastError: null,
251
+ evidence: null,
252
+ createdAt: new Date(t * 1000),
253
+ updatedAt: new Date(t * 1000),
254
+ });
255
+ }
256
+ return created;
257
+ },
258
+ subtaskGetNext: async (taskId, agentId) => {
259
+ const passed = db.prepare('SELECT id FROM subtasks WHERE task_id = ? AND status = ?').all(taskId, 'passed');
260
+ const passedSet = new Set(passed.map((p) => p.id));
261
+ const pending = db.prepare('SELECT * FROM subtasks WHERE task_id = ? AND status = ? ORDER BY priority DESC, created_at ASC').all(taskId, 'pending');
262
+ for (const row of pending) {
263
+ const deps = parseJson(row.depends_on, []);
264
+ const allPassed = deps.every((d) => passedSet.has(d));
265
+ if (!allPassed)
266
+ continue;
267
+ const id = row.id;
268
+ const t = now();
269
+ db.prepare('UPDATE subtasks SET status = ?, agent_id = ?, attempts = attempts + 1, updated_at = ? WHERE id = ?').run('in_progress', agentId, t, id);
270
+ return rowToSubtask({ ...row, status: 'in_progress', agent_id: agentId, attempts: (row.attempts ?? 0) + 1, updated_at: t });
271
+ }
272
+ return null;
273
+ },
274
+ subtaskUpdateStatus: async (id, agentId, data) => {
275
+ const row = db.prepare('SELECT * FROM subtasks WHERE id = ? AND agent_id = ?').get(id, agentId);
276
+ if (!row)
277
+ return null;
278
+ const updates = ['status = ?', 'updated_at = ?'];
279
+ const params = [data.status, now()];
280
+ if (data.evidence !== undefined) {
281
+ updates.push('evidence = ?');
282
+ params.push(data.evidence);
283
+ }
284
+ if (data.lastError !== undefined) {
285
+ updates.push('last_error = ?');
286
+ params.push(data.lastError);
287
+ }
288
+ params.push(id);
289
+ db.prepare(`UPDATE subtasks SET ${updates.join(', ')} WHERE id = ?`).run(...params);
290
+ const updated = db.prepare('SELECT * FROM subtasks WHERE id = ?').get(id);
291
+ return rowToSubtask(updated);
292
+ },
293
+ sessionCreate: async (data) => {
294
+ const id = (0, types_js_1.generateId)();
295
+ const t = now();
296
+ db.prepare(`
297
+ INSERT INTO sessions (id, task_id, agent_id, phase, started_at, created_at, updated_at)
298
+ VALUES (?, ?, ?, ?, ?, ?, ?)
299
+ `).run(id, data.taskId, data.agentId, data.phase, t, t, t);
300
+ const row = db.prepare('SELECT * FROM sessions WHERE id = ?').get(id);
301
+ return rowToSession(row);
302
+ },
303
+ sessionFindLatestByTask: async (taskId, status) => {
304
+ let sql = 'SELECT * FROM sessions WHERE task_id = ?';
305
+ const params = [taskId];
306
+ if (status) {
307
+ sql += ' AND status = ?';
308
+ params.push(status);
309
+ }
310
+ sql += ' ORDER BY ended_at IS NULL, ended_at DESC, created_at DESC LIMIT 1';
311
+ const row = db.prepare(sql).get(...params);
312
+ return row ? rowToSession(row) : null;
313
+ },
314
+ sessionUpdate: async (id, agentId, data) => {
315
+ const row = db.prepare('SELECT * FROM sessions WHERE id = ? AND agent_id = ?').get(id, agentId);
316
+ if (!row)
317
+ return null;
318
+ const updates = ['progress_note = ?', 'updated_at = ?'];
319
+ const params = [data.progressNote ?? row.progress_note, now()];
320
+ if (data.gitCommit !== undefined) {
321
+ updates.push('git_commit = ?');
322
+ params.push(data.gitCommit);
323
+ }
324
+ if (data.tokenCount !== undefined) {
325
+ updates.push('token_count = ?');
326
+ params.push(data.tokenCount);
327
+ }
328
+ if (data.status !== undefined) {
329
+ updates.push('status = ?');
330
+ params.push(data.status);
331
+ }
332
+ if (data.endedAt !== undefined) {
333
+ updates.push('ended_at = ?');
334
+ params.push(Math.floor(data.endedAt.getTime() / 1000));
335
+ }
336
+ if (data.subtasksAttempted) {
337
+ updates.push('subtasks_attempted = ?');
338
+ params.push(JSON.stringify(data.subtasksAttempted));
339
+ }
340
+ if (data.subtasksCompleted) {
341
+ updates.push('subtasks_completed = ?');
342
+ params.push(JSON.stringify(data.subtasksCompleted));
343
+ }
344
+ params.push(id);
345
+ db.prepare(`UPDATE sessions SET ${updates.join(', ')} WHERE id = ?`).run(...params);
346
+ const updated = db.prepare('SELECT * FROM sessions WHERE id = ?').get(id);
347
+ return rowToSession(updated);
348
+ },
349
+ checkpointCreate: async (data) => {
350
+ const id = (0, types_js_1.generateId)();
351
+ const t = now();
352
+ db.prepare(`
353
+ INSERT INTO checkpoints (id, task_id, session_id, label, snapshot, created_at, updated_at)
354
+ VALUES (?, ?, ?, ?, ?, ?, ?)
355
+ `).run(id, data.taskId, data.sessionId, data.label, JSON.stringify(data.snapshot), t, t);
356
+ const row = db.prepare('SELECT * FROM checkpoints WHERE id = ?').get(id);
357
+ return rowToCheckpoint(row);
358
+ },
359
+ checkpointFindByTaskAndLabel: async (taskId, label) => {
360
+ const row = db.prepare('SELECT * FROM checkpoints WHERE task_id = ? AND label = ? ORDER BY created_at DESC LIMIT 1').get(taskId, label);
361
+ return row ? rowToCheckpoint(row) : null;
362
+ },
363
+ checkpointFindAllByTask: async (taskId) => {
364
+ const rows = db.prepare('SELECT id, label, created_at, session_id FROM checkpoints WHERE task_id = ? ORDER BY created_at DESC').all(taskId);
365
+ return rows.map((r) => ({
366
+ id: r.id,
367
+ label: r.label,
368
+ createdAt: new Date(r.created_at * 1000),
369
+ sessionId: r.session_id,
370
+ }));
371
+ },
372
+ };
373
+ };
374
+ exports.createSqliteAdapter = createSqliteAdapter;
375
+ const rowToTask = (r) => {
376
+ const ctx = parseJson(r.context, defaultContext);
377
+ return {
378
+ id: r.id,
379
+ title: r.title,
380
+ description: r.description,
381
+ status: r.status,
382
+ phase: r.phase,
383
+ priority: r.priority,
384
+ tags: parseJson(r.tags, []),
385
+ agentId: r.agent_id,
386
+ lockedAt: r.locked_at ? new Date(r.locked_at * 1000) : null,
387
+ context: ctx,
388
+ metadata: parseJson(r.metadata, {}),
389
+ completedAt: r.completed_at ? new Date(r.completed_at * 1000) : null,
390
+ deadline: r.deadline ? new Date(r.deadline * 1000) : null,
391
+ createdAt: new Date(r.created_at * 1000),
392
+ updatedAt: new Date(r.updated_at * 1000),
393
+ };
394
+ };
395
+ const rowToSubtask = (r) => ({
396
+ id: r.id,
397
+ taskId: r.task_id,
398
+ title: r.title,
399
+ description: r.description,
400
+ category: r.category,
401
+ steps: parseJson(r.steps, []),
402
+ status: r.status,
403
+ priority: r.priority,
404
+ dependsOn: parseJson(r.depends_on, []),
405
+ agentId: r.agent_id,
406
+ attempts: r.attempts ?? 0,
407
+ lastError: r.last_error,
408
+ evidence: r.evidence,
409
+ createdAt: new Date(r.created_at * 1000),
410
+ updatedAt: new Date(r.updated_at * 1000),
411
+ });
412
+ const rowToSession = (r) => ({
413
+ id: r.id,
414
+ taskId: r.task_id,
415
+ agentId: r.agent_id,
416
+ phase: r.phase,
417
+ startedAt: new Date(r.started_at * 1000),
418
+ endedAt: r.ended_at ? new Date(r.ended_at * 1000) : null,
419
+ subtasksAttempted: parseJson(r.subtasks_attempted, []),
420
+ subtasksCompleted: parseJson(r.subtasks_completed, []),
421
+ progressNote: r.progress_note ?? '',
422
+ gitCommit: r.git_commit,
423
+ tokenCount: r.token_count,
424
+ status: r.status,
425
+ createdAt: new Date(r.created_at * 1000),
426
+ updatedAt: new Date(r.updated_at * 1000),
427
+ });
428
+ const rowToCheckpoint = (r) => ({
429
+ id: r.id,
430
+ taskId: r.task_id,
431
+ sessionId: r.session_id,
432
+ label: r.label,
433
+ snapshot: parseJson(r.snapshot, {}),
434
+ createdAt: new Date(r.created_at * 1000),
435
+ updatedAt: new Date(r.updated_at * 1000),
436
+ });
437
+ //# sourceMappingURL=sqlite.adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite.adapter.js","sourceRoot":"","sources":["../../../src/storage/adapters/sqlite.adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @module storage
3
+ * Storage router and adapters for agent-task-manager-mcp.
4
+ */
5
+ import { getRouter, toAgentJSON } from './router.js';
6
+ import { createMongoAdapter } from './adapters/mongodb.adapter.js';
7
+ import { createPostgresAdapter } from './adapters/postgres.adapter.js';
8
+ import { createSqliteAdapter } from './adapters/sqlite.adapter.js';
9
+ import { createJsonAdapter } from './adapters/json.adapter.js';
10
+ export { getRouter, toAgentJSON };
11
+ export type { StorageRouter, StorageType } from './router.js';
12
+ export type { StorageAdapter } from './interface.js';
13
+ export type { Task, Subtask, Session, Checkpoint } from './types.js';
14
+ /** @deprecated Use getRouter() instead. Kept for backward compatibility. */
15
+ export declare const getStorage: () => import("./interface.js").StorageAdapter;
16
+ export { createMongoAdapter, createPostgresAdapter, createSqliteAdapter, createJsonAdapter };
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAE9D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,CAAA;AACjC,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC7D,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEpE,4EAA4E;AAC5E,eAAO,MAAM,UAAU,+CAAiC,CAAA;AAExD,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,CAAA"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createJsonAdapter = exports.createSqliteAdapter = exports.createPostgresAdapter = exports.createMongoAdapter = exports.getStorage = exports.toAgentJSON = exports.getRouter = void 0;
4
+ /**
5
+ * @module storage
6
+ * Storage router and adapters for agent-task-manager-mcp.
7
+ */
8
+ const router_js_1 = require("./router.js");
9
+ Object.defineProperty(exports, "getRouter", { enumerable: true, get: function () { return router_js_1.getRouter; } });
10
+ Object.defineProperty(exports, "toAgentJSON", { enumerable: true, get: function () { return router_js_1.toAgentJSON; } });
11
+ const mongodb_adapter_js_1 = require("./adapters/mongodb.adapter.js");
12
+ Object.defineProperty(exports, "createMongoAdapter", { enumerable: true, get: function () { return mongodb_adapter_js_1.createMongoAdapter; } });
13
+ const postgres_adapter_js_1 = require("./adapters/postgres.adapter.js");
14
+ Object.defineProperty(exports, "createPostgresAdapter", { enumerable: true, get: function () { return postgres_adapter_js_1.createPostgresAdapter; } });
15
+ const sqlite_adapter_js_1 = require("./adapters/sqlite.adapter.js");
16
+ Object.defineProperty(exports, "createSqliteAdapter", { enumerable: true, get: function () { return sqlite_adapter_js_1.createSqliteAdapter; } });
17
+ const json_adapter_js_1 = require("./adapters/json.adapter.js");
18
+ Object.defineProperty(exports, "createJsonAdapter", { enumerable: true, get: function () { return json_adapter_js_1.createJsonAdapter; } });
19
+ /** @deprecated Use getRouter() instead. Kept for backward compatibility. */
20
+ const getStorage = () => (0, router_js_1.getRouter)().getAdapter();
21
+ exports.getStorage = getStorage;
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,2CAAoD;AAM3C,0FANA,qBAAS,OAMA;AAAE,4FANA,uBAAW,OAMA;AAL/B,sEAAkE;AAazD,mGAbA,uCAAkB,OAaA;AAZ3B,wEAAsE;AAYzC,sGAZpB,2CAAqB,OAYoB;AAXlD,oEAAkE;AAWd,oGAX3C,uCAAmB,OAW2C;AAVvE,gEAA8D;AAUW,kGAVhE,mCAAiB,OAUgE;AAH1F,4EAA4E;AACrE,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,IAAA,qBAAS,GAAE,CAAC,UAAU,EAAE,CAAA;AAA3C,QAAA,UAAU,cAAiC"}
@@ -0,0 +1,72 @@
1
+ import type { Task, Subtask, Session, Checkpoint, TaskListFilter } from './types.js';
2
+ export interface TaskCreateInput {
3
+ title: string;
4
+ description: string;
5
+ priority?: number;
6
+ tags?: string[];
7
+ context?: Partial<{
8
+ workingDirectory: string;
9
+ initScript: string | null;
10
+ repoUrl: string | null;
11
+ environmentVars: Record<string, string>;
12
+ }>;
13
+ metadata?: Record<string, unknown>;
14
+ deadline?: string | null;
15
+ }
16
+ export interface TaskUpdateInput {
17
+ title?: string;
18
+ description?: string;
19
+ status?: Task['status'];
20
+ phase?: Task['phase'];
21
+ priority?: number;
22
+ tags?: string[];
23
+ context?: Partial<Task['context']>;
24
+ metadata?: Record<string, unknown>;
25
+ deadline?: string | null;
26
+ }
27
+ export interface SubtaskCreateItem {
28
+ title: string;
29
+ description: string;
30
+ category?: Subtask['category'];
31
+ steps?: string[];
32
+ priority?: number;
33
+ dependsOn?: string[];
34
+ }
35
+ /** Adapter interface for storage backends (MongoDB, Postgres, SQLite, JSON). */
36
+ export interface StorageAdapter {
37
+ connect(): Promise<void>;
38
+ taskCreate(input: TaskCreateInput): Promise<Task>;
39
+ taskFindById(id: string): Promise<Task | null>;
40
+ taskList(filter: TaskListFilter): Promise<{
41
+ tasks: Task[];
42
+ total: number;
43
+ }>;
44
+ taskUpdate(id: string, input: TaskUpdateInput): Promise<Task | null>;
45
+ taskDelete(id: string): Promise<void>;
46
+ taskLock(id: string, agentId: string): Promise<Task | null>;
47
+ taskUnlock(id: string, agentId: string): Promise<Task | null>;
48
+ subtaskCountByTask(taskId: string, status?: Subtask['status'] | Subtask['status'][]): Promise<number>;
49
+ subtaskCreateBulk(taskId: string, items: SubtaskCreateItem[]): Promise<Subtask[]>;
50
+ subtaskGetNext(taskId: string, agentId: string): Promise<Subtask | null>;
51
+ subtaskUpdateStatus(id: string, agentId: string, data: {
52
+ status: Subtask['status'];
53
+ evidence?: string | null;
54
+ lastError?: string | null;
55
+ }): Promise<Subtask | null>;
56
+ sessionCreate(data: {
57
+ taskId: string;
58
+ agentId: string;
59
+ phase: Session['phase'];
60
+ }): Promise<Session>;
61
+ sessionFindLatestByTask(taskId: string, status?: Session['status']): Promise<Session | null>;
62
+ sessionUpdate(id: string, agentId: string, data: Partial<Pick<Session, 'progressNote' | 'gitCommit' | 'tokenCount' | 'status' | 'endedAt' | 'subtasksAttempted' | 'subtasksCompleted'>>): Promise<Session | null>;
63
+ checkpointCreate(data: {
64
+ taskId: string;
65
+ sessionId: string;
66
+ label: string;
67
+ snapshot: Record<string, unknown>;
68
+ }): Promise<Checkpoint>;
69
+ checkpointFindByTaskAndLabel(taskId: string, label: string): Promise<Checkpoint | null>;
70
+ checkpointFindAllByTask(taskId: string): Promise<Pick<Checkpoint, 'id' | 'label' | 'createdAt' | 'sessionId'>[]>;
71
+ }
72
+ //# sourceMappingURL=interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/storage/interface.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../src/storage/interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import type { StorageAdapter } from './interface.js';
2
+ export declare const createJsonAdapter: (filePath: string) => StorageAdapter;
3
+ //# sourceMappingURL=json.adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.adapter.d.ts","sourceRoot":"","sources":["../../src/storage/json.adapter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAoBpD,eAAO,MAAM,iBAAiB,GAAI,UAAU,MAAM,KAAG,cAuRpD,CAAA"}