@hasna/todos 0.9.75 → 0.9.77
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/cli/index.js +264 -11
- package/dist/db/checklists.d.ts +13 -0
- package/dist/db/checklists.d.ts.map +1 -0
- package/dist/db/database.d.ts.map +1 -1
- package/dist/db/tasks.d.ts.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +88 -2
- package/dist/mcp/index.js +262 -11
- package/dist/server/index.js +42 -2
- package/dist/types/index.d.ts +24 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/cli/index.js
CHANGED
|
@@ -2260,6 +2260,16 @@ function ensureSchema(db) {
|
|
|
2260
2260
|
metadata TEXT DEFAULT '{}',
|
|
2261
2261
|
created_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
2262
2262
|
)`);
|
|
2263
|
+
ensureTable("task_checklists", `
|
|
2264
|
+
CREATE TABLE task_checklists (
|
|
2265
|
+
id TEXT PRIMARY KEY,
|
|
2266
|
+
task_id TEXT NOT NULL REFERENCES tasks(id) ON DELETE CASCADE,
|
|
2267
|
+
position INTEGER NOT NULL DEFAULT 0,
|
|
2268
|
+
text TEXT NOT NULL,
|
|
2269
|
+
checked INTEGER NOT NULL DEFAULT 0,
|
|
2270
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
2271
|
+
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
2272
|
+
)`);
|
|
2263
2273
|
ensureTable("project_sources", `
|
|
2264
2274
|
CREATE TABLE project_sources (
|
|
2265
2275
|
id TEXT PRIMARY KEY,
|
|
@@ -2316,6 +2326,7 @@ function ensureSchema(db) {
|
|
|
2316
2326
|
ensureIndex("CREATE INDEX IF NOT EXISTS idx_task_history_agent ON task_history(agent_id)");
|
|
2317
2327
|
ensureIndex("CREATE INDEX IF NOT EXISTS idx_tasks_recurrence_parent ON tasks(recurrence_parent_id)");
|
|
2318
2328
|
ensureIndex("CREATE INDEX IF NOT EXISTS idx_tasks_recurrence_rule ON tasks(recurrence_rule) WHERE recurrence_rule IS NOT NULL");
|
|
2329
|
+
ensureIndex("CREATE INDEX IF NOT EXISTS idx_task_checklists_task ON task_checklists(task_id)");
|
|
2319
2330
|
ensureIndex("CREATE INDEX IF NOT EXISTS idx_project_sources_project ON project_sources(project_id)");
|
|
2320
2331
|
ensureIndex("CREATE INDEX IF NOT EXISTS idx_project_sources_type ON project_sources(type)");
|
|
2321
2332
|
}
|
|
@@ -2718,6 +2729,19 @@ var init_database = __esm(() => {
|
|
|
2718
2729
|
created_at TEXT NOT NULL
|
|
2719
2730
|
);
|
|
2720
2731
|
INSERT OR IGNORE INTO _migrations (id) VALUES (20);
|
|
2732
|
+
`,
|
|
2733
|
+
`
|
|
2734
|
+
CREATE TABLE IF NOT EXISTS task_checklists (
|
|
2735
|
+
id TEXT PRIMARY KEY,
|
|
2736
|
+
task_id TEXT NOT NULL REFERENCES tasks(id) ON DELETE CASCADE,
|
|
2737
|
+
position INTEGER NOT NULL DEFAULT 0,
|
|
2738
|
+
text TEXT NOT NULL,
|
|
2739
|
+
checked INTEGER NOT NULL DEFAULT 0,
|
|
2740
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
2741
|
+
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
2742
|
+
);
|
|
2743
|
+
CREATE INDEX IF NOT EXISTS idx_task_checklists_task ON task_checklists(task_id);
|
|
2744
|
+
INSERT OR IGNORE INTO _migrations (id) VALUES (21);
|
|
2721
2745
|
`,
|
|
2722
2746
|
`
|
|
2723
2747
|
CREATE TABLE IF NOT EXISTS project_sources (
|
|
@@ -2733,7 +2757,7 @@ var init_database = __esm(() => {
|
|
|
2733
2757
|
);
|
|
2734
2758
|
CREATE INDEX IF NOT EXISTS idx_project_sources_project ON project_sources(project_id);
|
|
2735
2759
|
CREATE INDEX IF NOT EXISTS idx_project_sources_type ON project_sources(type);
|
|
2736
|
-
INSERT OR IGNORE INTO _migrations (id) VALUES (
|
|
2760
|
+
INSERT OR IGNORE INTO _migrations (id) VALUES (22);
|
|
2737
2761
|
`
|
|
2738
2762
|
];
|
|
2739
2763
|
});
|
|
@@ -3432,6 +3456,52 @@ var init_templates = __esm(() => {
|
|
|
3432
3456
|
init_database();
|
|
3433
3457
|
});
|
|
3434
3458
|
|
|
3459
|
+
// src/db/checklists.ts
|
|
3460
|
+
function rowToItem(row) {
|
|
3461
|
+
return { ...row, checked: !!row.checked };
|
|
3462
|
+
}
|
|
3463
|
+
function getChecklist(taskId, db) {
|
|
3464
|
+
const d = db || getDatabase();
|
|
3465
|
+
const rows = d.query("SELECT * FROM task_checklists WHERE task_id = ? ORDER BY position, created_at").all(taskId);
|
|
3466
|
+
return rows.map(rowToItem);
|
|
3467
|
+
}
|
|
3468
|
+
function addChecklistItem(input, db) {
|
|
3469
|
+
const d = db || getDatabase();
|
|
3470
|
+
const id = uuid();
|
|
3471
|
+
const timestamp = now();
|
|
3472
|
+
let position = input.position;
|
|
3473
|
+
if (position === undefined) {
|
|
3474
|
+
const maxRow = d.query("SELECT MAX(position) as max_pos FROM task_checklists WHERE task_id = ?").get(input.task_id);
|
|
3475
|
+
position = (maxRow?.max_pos ?? -1) + 1;
|
|
3476
|
+
}
|
|
3477
|
+
d.run("INSERT INTO task_checklists (id, task_id, position, text, checked, created_at, updated_at) VALUES (?, ?, ?, ?, 0, ?, ?)", [id, input.task_id, position, input.text, timestamp, timestamp]);
|
|
3478
|
+
return rowToItem(d.query("SELECT * FROM task_checklists WHERE id = ?").get(id));
|
|
3479
|
+
}
|
|
3480
|
+
function checkChecklistItem(id, checked, db) {
|
|
3481
|
+
const d = db || getDatabase();
|
|
3482
|
+
const timestamp = now();
|
|
3483
|
+
const result = d.run("UPDATE task_checklists SET checked = ?, updated_at = ? WHERE id = ?", [checked ? 1 : 0, timestamp, id]);
|
|
3484
|
+
if (result.changes === 0)
|
|
3485
|
+
return null;
|
|
3486
|
+
return rowToItem(d.query("SELECT * FROM task_checklists WHERE id = ?").get(id));
|
|
3487
|
+
}
|
|
3488
|
+
function updateChecklistItemText(id, text, db) {
|
|
3489
|
+
const d = db || getDatabase();
|
|
3490
|
+
const timestamp = now();
|
|
3491
|
+
const result = d.run("UPDATE task_checklists SET text = ?, updated_at = ? WHERE id = ?", [text, timestamp, id]);
|
|
3492
|
+
if (result.changes === 0)
|
|
3493
|
+
return null;
|
|
3494
|
+
return rowToItem(d.query("SELECT * FROM task_checklists WHERE id = ?").get(id));
|
|
3495
|
+
}
|
|
3496
|
+
function removeChecklistItem(id, db) {
|
|
3497
|
+
const d = db || getDatabase();
|
|
3498
|
+
const result = d.run("DELETE FROM task_checklists WHERE id = ?", [id]);
|
|
3499
|
+
return result.changes > 0;
|
|
3500
|
+
}
|
|
3501
|
+
var init_checklists = __esm(() => {
|
|
3502
|
+
init_database();
|
|
3503
|
+
});
|
|
3504
|
+
|
|
3435
3505
|
// src/db/tasks.ts
|
|
3436
3506
|
var exports_tasks = {};
|
|
3437
3507
|
__export(exports_tasks, {
|
|
@@ -3562,13 +3632,15 @@ function getTaskWithRelations(id, db) {
|
|
|
3562
3632
|
const blocked_by = blockedByRows.map(rowToTask);
|
|
3563
3633
|
const comments = d.query("SELECT * FROM task_comments WHERE task_id = ? ORDER BY created_at").all(id);
|
|
3564
3634
|
const parent = task.parent_id ? getTask(task.parent_id, d) : null;
|
|
3635
|
+
const checklist = getChecklist(id, d);
|
|
3565
3636
|
return {
|
|
3566
3637
|
...task,
|
|
3567
3638
|
subtasks,
|
|
3568
3639
|
dependencies,
|
|
3569
3640
|
blocked_by,
|
|
3570
3641
|
comments,
|
|
3571
|
-
parent
|
|
3642
|
+
parent,
|
|
3643
|
+
checklist
|
|
3572
3644
|
};
|
|
3573
3645
|
}
|
|
3574
3646
|
function listTasks(filter = {}, db) {
|
|
@@ -4515,6 +4587,7 @@ var init_tasks = __esm(() => {
|
|
|
4515
4587
|
init_recurrence();
|
|
4516
4588
|
init_webhooks();
|
|
4517
4589
|
init_templates();
|
|
4590
|
+
init_checklists();
|
|
4518
4591
|
});
|
|
4519
4592
|
|
|
4520
4593
|
// src/db/agents.ts
|
|
@@ -9699,6 +9772,7 @@ var init_mcp = __esm(() => {
|
|
|
9699
9772
|
init_sync();
|
|
9700
9773
|
init_config();
|
|
9701
9774
|
init_database();
|
|
9775
|
+
init_checklists();
|
|
9702
9776
|
init_types();
|
|
9703
9777
|
server = new McpServer({
|
|
9704
9778
|
name: "todos",
|
|
@@ -9897,6 +9971,14 @@ Comments (${task.comments.length}):`);
|
|
|
9897
9971
|
parts.push(`
|
|
9898
9972
|
Parent: ${task.parent.id.slice(0, 8)} | ${task.parent.title}`);
|
|
9899
9973
|
}
|
|
9974
|
+
if (task.checklist.length > 0) {
|
|
9975
|
+
const done = task.checklist.filter((i) => i.checked).length;
|
|
9976
|
+
parts.push(`
|
|
9977
|
+
Checklist (${done}/${task.checklist.length}):`);
|
|
9978
|
+
for (const item of task.checklist) {
|
|
9979
|
+
parts.push(` ${item.position + 1}. [${item.checked ? "x" : " "}] ${item.text} (${item.id.slice(0, 8)})`);
|
|
9980
|
+
}
|
|
9981
|
+
}
|
|
9900
9982
|
return { content: [{ type: "text", text: parts.join(`
|
|
9901
9983
|
`) }] };
|
|
9902
9984
|
} catch (e) {
|
|
@@ -10185,6 +10267,112 @@ ${lines.join(`
|
|
|
10185
10267
|
}
|
|
10186
10268
|
});
|
|
10187
10269
|
}
|
|
10270
|
+
if (shouldRegisterTool("add_checklist_item")) {
|
|
10271
|
+
server.tool("add_checklist_item", "Add a checklist item to a task. Items are numbered and individually checkable.", {
|
|
10272
|
+
task_id: exports_external.string().describe("Task ID"),
|
|
10273
|
+
text: exports_external.string().describe("Checklist item text"),
|
|
10274
|
+
position: exports_external.number().optional().describe("Position (0-based). Appended to end if omitted.")
|
|
10275
|
+
}, async ({ task_id, text, position }) => {
|
|
10276
|
+
try {
|
|
10277
|
+
const resolvedId = resolveId(task_id, "tasks");
|
|
10278
|
+
const item = addChecklistItem({ task_id: resolvedId, text, position });
|
|
10279
|
+
return {
|
|
10280
|
+
content: [{
|
|
10281
|
+
type: "text",
|
|
10282
|
+
text: `Item added: ${item.position + 1}. [ ] ${item.text} (${item.id.slice(0, 8)})`
|
|
10283
|
+
}]
|
|
10284
|
+
};
|
|
10285
|
+
} catch (e) {
|
|
10286
|
+
return { content: [{ type: "text", text: formatError(e) }], isError: true };
|
|
10287
|
+
}
|
|
10288
|
+
});
|
|
10289
|
+
}
|
|
10290
|
+
if (shouldRegisterTool("check_checklist_item")) {
|
|
10291
|
+
server.tool("check_checklist_item", "Mark a checklist item as checked or unchecked.", {
|
|
10292
|
+
item_id: exports_external.string().describe("Checklist item ID or prefix"),
|
|
10293
|
+
checked: exports_external.boolean().describe("true to check, false to uncheck")
|
|
10294
|
+
}, async ({ item_id, checked }) => {
|
|
10295
|
+
try {
|
|
10296
|
+
const db = getDatabase();
|
|
10297
|
+
const row = db.query("SELECT id FROM task_checklists WHERE id LIKE ?").get(`${item_id}%`);
|
|
10298
|
+
if (!row)
|
|
10299
|
+
return { content: [{ type: "text", text: `Checklist item not found: ${item_id}` }], isError: true };
|
|
10300
|
+
const item = checkChecklistItem(row.id, checked);
|
|
10301
|
+
if (!item)
|
|
10302
|
+
return { content: [{ type: "text", text: "Update failed" }], isError: true };
|
|
10303
|
+
return {
|
|
10304
|
+
content: [{
|
|
10305
|
+
type: "text",
|
|
10306
|
+
text: `${item.position + 1}. [${item.checked ? "x" : " "}] ${item.text}`
|
|
10307
|
+
}]
|
|
10308
|
+
};
|
|
10309
|
+
} catch (e) {
|
|
10310
|
+
return { content: [{ type: "text", text: formatError(e) }], isError: true };
|
|
10311
|
+
}
|
|
10312
|
+
});
|
|
10313
|
+
}
|
|
10314
|
+
if (shouldRegisterTool("update_checklist_item")) {
|
|
10315
|
+
server.tool("update_checklist_item", "Update the text of a checklist item.", {
|
|
10316
|
+
item_id: exports_external.string().describe("Checklist item ID or prefix"),
|
|
10317
|
+
text: exports_external.string().describe("New text")
|
|
10318
|
+
}, async ({ item_id, text }) => {
|
|
10319
|
+
try {
|
|
10320
|
+
const db = getDatabase();
|
|
10321
|
+
const row = db.query("SELECT id FROM task_checklists WHERE id LIKE ?").get(`${item_id}%`);
|
|
10322
|
+
if (!row)
|
|
10323
|
+
return { content: [{ type: "text", text: `Checklist item not found: ${item_id}` }], isError: true };
|
|
10324
|
+
const item = updateChecklistItemText(row.id, text);
|
|
10325
|
+
if (!item)
|
|
10326
|
+
return { content: [{ type: "text", text: "Update failed" }], isError: true };
|
|
10327
|
+
return {
|
|
10328
|
+
content: [{
|
|
10329
|
+
type: "text",
|
|
10330
|
+
text: `Updated: ${item.position + 1}. [${item.checked ? "x" : " "}] ${item.text}`
|
|
10331
|
+
}]
|
|
10332
|
+
};
|
|
10333
|
+
} catch (e) {
|
|
10334
|
+
return { content: [{ type: "text", text: formatError(e) }], isError: true };
|
|
10335
|
+
}
|
|
10336
|
+
});
|
|
10337
|
+
}
|
|
10338
|
+
if (shouldRegisterTool("remove_checklist_item")) {
|
|
10339
|
+
server.tool("remove_checklist_item", "Remove a checklist item from a task.", {
|
|
10340
|
+
item_id: exports_external.string().describe("Checklist item ID or prefix")
|
|
10341
|
+
}, async ({ item_id }) => {
|
|
10342
|
+
try {
|
|
10343
|
+
const db = getDatabase();
|
|
10344
|
+
const row = db.query("SELECT id, text FROM task_checklists WHERE id LIKE ?").get(`${item_id}%`);
|
|
10345
|
+
if (!row)
|
|
10346
|
+
return { content: [{ type: "text", text: `Checklist item not found: ${item_id}` }], isError: true };
|
|
10347
|
+
removeChecklistItem(row.id);
|
|
10348
|
+
return { content: [{ type: "text", text: `Removed: ${row.text}` }] };
|
|
10349
|
+
} catch (e) {
|
|
10350
|
+
return { content: [{ type: "text", text: formatError(e) }], isError: true };
|
|
10351
|
+
}
|
|
10352
|
+
});
|
|
10353
|
+
}
|
|
10354
|
+
if (shouldRegisterTool("get_checklist")) {
|
|
10355
|
+
server.tool("get_checklist", "Get all checklist items for a task with progress summary.", {
|
|
10356
|
+
task_id: exports_external.string().describe("Task ID")
|
|
10357
|
+
}, async ({ task_id }) => {
|
|
10358
|
+
try {
|
|
10359
|
+
const resolvedId = resolveId(task_id, "tasks");
|
|
10360
|
+
const items = getChecklist(resolvedId);
|
|
10361
|
+
if (items.length === 0) {
|
|
10362
|
+
return { content: [{ type: "text", text: "No checklist items." }] };
|
|
10363
|
+
}
|
|
10364
|
+
const done = items.filter((i) => i.checked).length;
|
|
10365
|
+
const lines = [`Checklist (${done}/${items.length} done):`];
|
|
10366
|
+
for (const item of items) {
|
|
10367
|
+
lines.push(` ${item.position + 1}. [${item.checked ? "x" : " "}] ${item.text} (${item.id.slice(0, 8)})`);
|
|
10368
|
+
}
|
|
10369
|
+
return { content: [{ type: "text", text: lines.join(`
|
|
10370
|
+
`) }] };
|
|
10371
|
+
} catch (e) {
|
|
10372
|
+
return { content: [{ type: "text", text: formatError(e) }], isError: true };
|
|
10373
|
+
}
|
|
10374
|
+
});
|
|
10375
|
+
}
|
|
10188
10376
|
if (shouldRegisterTool("create_plan")) {
|
|
10189
10377
|
server.tool("create_plan", "Create a plan to group related tasks.", {
|
|
10190
10378
|
name: exports_external.string(),
|
|
@@ -10947,16 +11135,59 @@ In Progress:`);
|
|
|
10947
11135
|
});
|
|
10948
11136
|
}
|
|
10949
11137
|
if (shouldRegisterTool("bulk_update_tasks")) {
|
|
10950
|
-
server.tool("bulk_update_tasks", "Update multiple tasks at once
|
|
10951
|
-
task_ids: exports_external.array(exports_external.string()),
|
|
11138
|
+
server.tool("bulk_update_tasks", "Update multiple tasks at once. Two modes: (1) task_ids + shared fields \u2014 apply the same changes to all; (2) updates array \u2014 per-task fields, each entry has id plus any fields to update.", {
|
|
11139
|
+
task_ids: exports_external.array(exports_external.string()).optional().describe("Task IDs to update with the same fields (mode 1)"),
|
|
10952
11140
|
status: exports_external.enum(["pending", "in_progress", "completed", "failed", "cancelled"]).optional(),
|
|
10953
11141
|
priority: exports_external.enum(["low", "medium", "high", "critical"]).optional(),
|
|
10954
11142
|
assigned_to: exports_external.string().optional(),
|
|
10955
|
-
tags: exports_external.array(exports_external.string()).optional()
|
|
10956
|
-
|
|
11143
|
+
tags: exports_external.array(exports_external.string()).optional(),
|
|
11144
|
+
updates: exports_external.array(exports_external.object({
|
|
11145
|
+
id: exports_external.string(),
|
|
11146
|
+
status: exports_external.enum(["pending", "in_progress", "completed", "failed", "cancelled"]).optional(),
|
|
11147
|
+
priority: exports_external.enum(["low", "medium", "high", "critical"]).optional(),
|
|
11148
|
+
assigned_to: exports_external.string().optional(),
|
|
11149
|
+
tags: exports_external.array(exports_external.string()).optional(),
|
|
11150
|
+
title: exports_external.string().optional(),
|
|
11151
|
+
description: exports_external.string().optional(),
|
|
11152
|
+
plan_id: exports_external.string().optional(),
|
|
11153
|
+
task_list_id: exports_external.string().optional()
|
|
11154
|
+
})).optional().describe("Per-task updates \u2014 each entry has id plus fields to update (mode 2)")
|
|
11155
|
+
}, async ({ task_ids, updates, ...sharedFields }) => {
|
|
10957
11156
|
try {
|
|
10958
|
-
|
|
10959
|
-
|
|
11157
|
+
let result;
|
|
11158
|
+
if (updates && updates.length > 0) {
|
|
11159
|
+
const d = getDatabase();
|
|
11160
|
+
let updated = 0;
|
|
11161
|
+
const failed = [];
|
|
11162
|
+
const tx = d.transaction(() => {
|
|
11163
|
+
for (const entry of updates) {
|
|
11164
|
+
try {
|
|
11165
|
+
const { id, ...fields } = entry;
|
|
11166
|
+
const resolvedId = resolveId(id);
|
|
11167
|
+
const task = getTask(resolvedId);
|
|
11168
|
+
if (!task) {
|
|
11169
|
+
failed.push({ id, error: "Task not found" });
|
|
11170
|
+
continue;
|
|
11171
|
+
}
|
|
11172
|
+
if (fields.plan_id)
|
|
11173
|
+
fields.plan_id = resolveId(fields.plan_id, "plans");
|
|
11174
|
+
if (fields.task_list_id)
|
|
11175
|
+
fields.task_list_id = resolveId(fields.task_list_id, "task_lists");
|
|
11176
|
+
updateTask(resolvedId, { ...fields, version: task.version }, d);
|
|
11177
|
+
updated++;
|
|
11178
|
+
} catch (e) {
|
|
11179
|
+
failed.push({ id: entry.id, error: e instanceof Error ? e.message : String(e) });
|
|
11180
|
+
}
|
|
11181
|
+
}
|
|
11182
|
+
});
|
|
11183
|
+
tx();
|
|
11184
|
+
result = { updated, failed };
|
|
11185
|
+
} else if (task_ids && task_ids.length > 0) {
|
|
11186
|
+
const resolvedIds = task_ids.map((id) => resolveId(id));
|
|
11187
|
+
result = bulkUpdateTasks(resolvedIds, sharedFields);
|
|
11188
|
+
} else {
|
|
11189
|
+
return { content: [{ type: "text", text: "Provide either task_ids (mode 1) or updates array (mode 2)." }], isError: true };
|
|
11190
|
+
}
|
|
10960
11191
|
const parts = [`Updated ${result.updated} task(s).`];
|
|
10961
11192
|
if (result.failed.length > 0) {
|
|
10962
11193
|
parts.push(`Failed ${result.failed.length}:`);
|
|
@@ -11567,6 +11798,11 @@ Claimed: ${formatTask(result.claimed)}`);
|
|
|
11567
11798
|
"add_project_source",
|
|
11568
11799
|
"remove_project_source",
|
|
11569
11800
|
"list_project_sources",
|
|
11801
|
+
"add_checklist_item",
|
|
11802
|
+
"check_checklist_item",
|
|
11803
|
+
"update_checklist_item",
|
|
11804
|
+
"remove_checklist_item",
|
|
11805
|
+
"get_checklist",
|
|
11570
11806
|
"create_plan",
|
|
11571
11807
|
"list_plans",
|
|
11572
11808
|
"get_plan",
|
|
@@ -11675,6 +11911,21 @@ Claimed: ${formatTask(result.claimed)}`);
|
|
|
11675
11911
|
Params: name(string, req), path(string, req \u2014 unique absolute path), description(string), task_list_id(string)
|
|
11676
11912
|
Example: {name: 'my-app', path: '/Users/dev/my-app'}`,
|
|
11677
11913
|
list_projects: "List all registered projects. No params.",
|
|
11914
|
+
add_checklist_item: `Add a checklist item (numbered sub-step) to a task.
|
|
11915
|
+
Params: task_id(string, req), text(string, req), position(number \u2014 0-based, appended to end if omitted)
|
|
11916
|
+
Example: {task_id: 'a1b2c3d4', text: 'Cancel Slack subscription'}`,
|
|
11917
|
+
check_checklist_item: `Mark a checklist item checked or unchecked.
|
|
11918
|
+
Params: item_id(string, req \u2014 item ID or prefix), checked(boolean, req)
|
|
11919
|
+
Example: {item_id: 'abc12345', checked: true}`,
|
|
11920
|
+
update_checklist_item: `Update the text of a checklist item.
|
|
11921
|
+
Params: item_id(string, req), text(string, req)
|
|
11922
|
+
Example: {item_id: 'abc12345', text: 'Cancel GitHub subscription'}`,
|
|
11923
|
+
remove_checklist_item: `Remove a checklist item permanently.
|
|
11924
|
+
Params: item_id(string, req)
|
|
11925
|
+
Example: {item_id: 'abc12345'}`,
|
|
11926
|
+
get_checklist: `Get all checklist items for a task with progress (done/total).
|
|
11927
|
+
Params: task_id(string, req)
|
|
11928
|
+
Example: {task_id: 'a1b2c3d4'}`,
|
|
11678
11929
|
add_project_source: `Add a data source to a project (S3, GDrive, local path, GitHub, Notion, HTTP, etc.).
|
|
11679
11930
|
Params: project_id(string, req), type(string, req \u2014 e.g. 's3','gdrive','local','github','notion','http'), name(string, req), uri(string, req), description(string), metadata(object)
|
|
11680
11931
|
Example: {project_id: 'a1b2c3d4', type: 's3', name: 'Assets bucket', uri: 's3://my-bucket/assets/', description: 'Project media files'}`,
|
|
@@ -11752,9 +12003,11 @@ Claimed: ${formatTask(result.claimed)}`);
|
|
|
11752
12003
|
move_task: `Move a task to a different list, project, or plan.
|
|
11753
12004
|
Params: task_id(string, req), task_list_id(string|null), project_id(string|null), plan_id(string|null)
|
|
11754
12005
|
Example: {task_id: 'a1b2c3d4', task_list_id: 'e5f6g7h8'}`,
|
|
11755
|
-
bulk_update_tasks: `Update multiple tasks at once
|
|
11756
|
-
|
|
11757
|
-
|
|
12006
|
+
bulk_update_tasks: `Update multiple tasks at once. Two modes:
|
|
12007
|
+
Mode 1 (same fields to all): task_ids(string[], req), status, priority, assigned_to, tags
|
|
12008
|
+
Mode 2 (per-task fields): updates([{id, status?, priority?, assigned_to?, tags?, title?, description?, plan_id?, task_list_id?}], req)
|
|
12009
|
+
Example mode 1: {task_ids: ['abc12345', 'def67890'], assigned_to: 'agent-id'}
|
|
12010
|
+
Example mode 2: {updates: [{id: 'abc12345', assigned_to: 'agent-1'}, {id: 'def67890', status: 'in_progress'}]}`,
|
|
11758
12011
|
bulk_create_tasks: `Create multiple tasks atomically. Supports inter-task dependencies via temp_id references.
|
|
11759
12012
|
Params: tasks(array, req \u2014 [{temp_id, title, description, priority, status, project_id, plan_id, task_list_id, agent_id, assigned_to, tags, estimated_minutes, depends_on_temp_ids}]), project_id(string \u2014 default for all), plan_id(string \u2014 default for all), task_list_id(string \u2014 default for all)
|
|
11760
12013
|
Example: {tasks: [{temp_id: 'a', title: 'First'}, {temp_id: 'b', title: 'Second', depends_on_temp_ids: ['a']}]}`,
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Database } from "bun:sqlite";
|
|
2
|
+
import type { ChecklistItem, CreateChecklistItemInput } from "../types/index.js";
|
|
3
|
+
export declare function getChecklist(taskId: string, db?: Database): ChecklistItem[];
|
|
4
|
+
export declare function addChecklistItem(input: CreateChecklistItemInput, db?: Database): ChecklistItem;
|
|
5
|
+
export declare function checkChecklistItem(id: string, checked: boolean, db?: Database): ChecklistItem | null;
|
|
6
|
+
export declare function updateChecklistItemText(id: string, text: string, db?: Database): ChecklistItem | null;
|
|
7
|
+
export declare function removeChecklistItem(id: string, db?: Database): boolean;
|
|
8
|
+
export declare function clearChecklist(taskId: string, db?: Database): number;
|
|
9
|
+
export declare function getChecklistStats(taskId: string, db?: Database): {
|
|
10
|
+
total: number;
|
|
11
|
+
checked: number;
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=checklists.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checklists.d.ts","sourceRoot":"","sources":["../../src/db/checklists.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAoB,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAOnG,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,aAAa,EAAE,CAM3E;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,wBAAwB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,aAAa,CAoB9F;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,aAAa,GAAG,IAAI,CASpG;AAED,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,aAAa,GAAG,IAAI,CASrG;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAItE;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CAIpE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAMnG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/db/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAItC,eAAO,MAAM,mBAAmB,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/db/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAItC,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAmbtC,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAkBrD;AAgPD,wBAAgB,aAAa,IAAI,IAAI,CAKpC;AAED,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AAED,wBAAgB,GAAG,IAAI,MAAM,CAE5B;AAED,wBAAgB,IAAI,IAAI,MAAM,CAE7B;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAK9D;AAED,wBAAgB,gBAAgB,CAAC,KAAK,SAAa,GAAG,MAAM,CAG3D;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAGpD;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA0B9F"}
|
package/dist/db/tasks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../src/db/tasks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,YAAY,CAAC;AAC7D,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EACV,IAAI,EACJ,cAAc,EACd,UAAU,EACV,YAAY,EAEZ,UAAU,EACV,iBAAiB,EACjB,eAAe,EAChB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../src/db/tasks.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ export { createSession, getSession, listSessions, updateSessionActivity, deleteS
|
|
|
13
13
|
export { logTaskChange, getTaskHistory, getRecentActivity } from "./db/audit.js";
|
|
14
14
|
export { createWebhook, getWebhook, listWebhooks, deleteWebhook, dispatchWebhook } from "./db/webhooks.js";
|
|
15
15
|
export { createTemplate, getTemplate, listTemplates, deleteTemplate, taskFromTemplate } from "./db/templates.js";
|
|
16
|
+
export { getChecklist, addChecklistItem, checkChecklistItem, updateChecklistItemText, removeChecklistItem, clearChecklist, getChecklistStats, } from "./db/checklists.js";
|
|
16
17
|
export { createHandoff, listHandoffs, getLatestHandoff } from "./db/handoffs.js";
|
|
17
18
|
export type { Handoff, CreateHandoffInput } from "./db/handoffs.js";
|
|
18
19
|
export { createOrg, getOrg, getOrgByName, listOrgs, updateOrg, deleteOrg } from "./db/orgs.js";
|
|
@@ -25,6 +26,6 @@ export type { TodosConfig, AgentConfig, CompletionGuardConfig } from "./lib/conf
|
|
|
25
26
|
export { checkCompletionGuard } from "./lib/completion-guard.js";
|
|
26
27
|
export { parseRecurrenceRule, isValidRecurrenceRule, nextOccurrence } from "./lib/recurrence.js";
|
|
27
28
|
export type { ParsedRule } from "./lib/recurrence.js";
|
|
28
|
-
export type { Task, TaskWithRelations, CreateTaskInput, UpdateTaskInput, TaskFilter, TaskStatus, TaskPriority, TaskDependency, TaskComment, CreateCommentInput, Project, CreateProjectInput, ProjectSource, ProjectSourceRow, CreateProjectSourceInput, Plan, CreatePlanInput, UpdatePlanInput, PlanStatus, Session, CreateSessionInput, Agent, AgentRow, RegisterAgentInput, TaskList, TaskListRow, CreateTaskListInput, UpdateTaskListInput, LockResult, TaskRow, SessionRow, TaskHistory, Webhook, CreateWebhookInput, TaskTemplate, CreateTemplateInput, Org, CreateOrgInput, } from "./types/index.js";
|
|
29
|
+
export type { Task, TaskWithRelations, CreateTaskInput, UpdateTaskInput, TaskFilter, TaskStatus, TaskPriority, TaskDependency, TaskComment, CreateCommentInput, Project, CreateProjectInput, ProjectSource, ProjectSourceRow, CreateProjectSourceInput, ChecklistItem, ChecklistItemRow, CreateChecklistItemInput, Plan, CreatePlanInput, UpdatePlanInput, PlanStatus, Session, CreateSessionInput, Agent, AgentRow, RegisterAgentInput, TaskList, TaskListRow, CreateTaskListInput, UpdateTaskListInput, LockResult, TaskRow, SessionRow, TaskHistory, Webhook, CreateWebhookInput, TaskTemplate, CreateTemplateInput, Org, CreateOrgInput, } from "./types/index.js";
|
|
29
30
|
export { TASK_STATUSES, TASK_PRIORITIES, PLAN_STATUSES, VersionConflictError, TaskNotFoundError, ProjectNotFoundError, PlanNotFoundError, LockError, DependencyCycleError, AgentNotFoundError, TaskListNotFoundError, CompletionGuardError, } from "./types/index.js";
|
|
30
31
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACrD,YAAY,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAGnD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAG1G,OAAO,EACL,UAAU,EACV,OAAO,EACP,oBAAoB,EACpB,SAAS,EACT,UAAU,EACV,UAAU,EACV,UAAU,EACV,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,eAAe,EACf,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,aAAa,EACb,aAAa,EACb,QAAQ,EACR,oBAAoB,EACpB,aAAa,EACb,SAAS,EACT,cAAc,EACd,aAAa,EACb,eAAe,EACf,sBAAsB,EACtB,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,mBAAmB,EAAE,cAAc,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAGzI,OAAO,EACL,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,aAAa,EACb,eAAe,EACf,OAAO,EACP,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,UAAU,EACV,OAAO,EACP,SAAS,EACT,UAAU,EACV,UAAU,GACX,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,UAAU,EACV,UAAU,EACV,YAAY,EACZ,aAAa,EACb,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,aAAa,EACb,eAAe,EACf,QAAQ,EACR,cAAc,EACd,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,WAAW,GACZ,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EACL,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,cAAc,EACd,cAAc,GACf,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,aAAa,EACb,UAAU,EACV,YAAY,EACZ,qBAAqB,EACrB,aAAa,GACd,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGjF,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAG3G,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGjH,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACjF,YAAY,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAGpE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG/F,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACjF,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EAAE,UAAU,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AACvE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAGvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGjE,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACjG,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGtD,YAAY,EACV,IAAI,EACJ,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,UAAU,EACV,UAAU,EACV,YAAY,EACZ,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,OAAO,EACP,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,wBAAwB,EACxB,IAAI,EACJ,eAAe,EACf,eAAe,EACf,UAAU,EACV,OAAO,EACP,kBAAkB,EAClB,KAAK,EACL,QAAQ,EACR,kBAAkB,EAClB,QAAQ,EACR,WAAW,EACX,mBAAmB,EACnB,mBAAmB,EACnB,UAAU,EACV,OAAO,EACP,UAAU,EACV,WAAW,EACX,OAAO,EACP,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,GAAG,EACH,cAAc,GACf,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,aAAa,EACb,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,SAAS,EACT,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -592,6 +592,19 @@ var MIGRATIONS = [
|
|
|
592
592
|
INSERT OR IGNORE INTO _migrations (id) VALUES (20);
|
|
593
593
|
`,
|
|
594
594
|
`
|
|
595
|
+
CREATE TABLE IF NOT EXISTS task_checklists (
|
|
596
|
+
id TEXT PRIMARY KEY,
|
|
597
|
+
task_id TEXT NOT NULL REFERENCES tasks(id) ON DELETE CASCADE,
|
|
598
|
+
position INTEGER NOT NULL DEFAULT 0,
|
|
599
|
+
text TEXT NOT NULL,
|
|
600
|
+
checked INTEGER NOT NULL DEFAULT 0,
|
|
601
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
602
|
+
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
603
|
+
);
|
|
604
|
+
CREATE INDEX IF NOT EXISTS idx_task_checklists_task ON task_checklists(task_id);
|
|
605
|
+
INSERT OR IGNORE INTO _migrations (id) VALUES (21);
|
|
606
|
+
`,
|
|
607
|
+
`
|
|
595
608
|
CREATE TABLE IF NOT EXISTS project_sources (
|
|
596
609
|
id TEXT PRIMARY KEY,
|
|
597
610
|
project_id TEXT NOT NULL REFERENCES projects(id) ON DELETE CASCADE,
|
|
@@ -605,7 +618,7 @@ var MIGRATIONS = [
|
|
|
605
618
|
);
|
|
606
619
|
CREATE INDEX IF NOT EXISTS idx_project_sources_project ON project_sources(project_id);
|
|
607
620
|
CREATE INDEX IF NOT EXISTS idx_project_sources_type ON project_sources(type);
|
|
608
|
-
INSERT OR IGNORE INTO _migrations (id) VALUES (
|
|
621
|
+
INSERT OR IGNORE INTO _migrations (id) VALUES (22);
|
|
609
622
|
`
|
|
610
623
|
];
|
|
611
624
|
var _db = null;
|
|
@@ -721,6 +734,16 @@ function ensureSchema(db) {
|
|
|
721
734
|
metadata TEXT DEFAULT '{}',
|
|
722
735
|
created_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
723
736
|
)`);
|
|
737
|
+
ensureTable("task_checklists", `
|
|
738
|
+
CREATE TABLE task_checklists (
|
|
739
|
+
id TEXT PRIMARY KEY,
|
|
740
|
+
task_id TEXT NOT NULL REFERENCES tasks(id) ON DELETE CASCADE,
|
|
741
|
+
position INTEGER NOT NULL DEFAULT 0,
|
|
742
|
+
text TEXT NOT NULL,
|
|
743
|
+
checked INTEGER NOT NULL DEFAULT 0,
|
|
744
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
745
|
+
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
746
|
+
)`);
|
|
724
747
|
ensureTable("project_sources", `
|
|
725
748
|
CREATE TABLE project_sources (
|
|
726
749
|
id TEXT PRIMARY KEY,
|
|
@@ -777,6 +800,7 @@ function ensureSchema(db) {
|
|
|
777
800
|
ensureIndex("CREATE INDEX IF NOT EXISTS idx_task_history_agent ON task_history(agent_id)");
|
|
778
801
|
ensureIndex("CREATE INDEX IF NOT EXISTS idx_tasks_recurrence_parent ON tasks(recurrence_parent_id)");
|
|
779
802
|
ensureIndex("CREATE INDEX IF NOT EXISTS idx_tasks_recurrence_rule ON tasks(recurrence_rule) WHERE recurrence_rule IS NOT NULL");
|
|
803
|
+
ensureIndex("CREATE INDEX IF NOT EXISTS idx_task_checklists_task ON task_checklists(task_id)");
|
|
780
804
|
ensureIndex("CREATE INDEX IF NOT EXISTS idx_project_sources_project ON project_sources(project_id)");
|
|
781
805
|
ensureIndex("CREATE INDEX IF NOT EXISTS idx_project_sources_type ON project_sources(type)");
|
|
782
806
|
}
|
|
@@ -1490,6 +1514,59 @@ function taskFromTemplate(templateId, overrides = {}, db) {
|
|
|
1490
1514
|
};
|
|
1491
1515
|
}
|
|
1492
1516
|
|
|
1517
|
+
// src/db/checklists.ts
|
|
1518
|
+
function rowToItem(row) {
|
|
1519
|
+
return { ...row, checked: !!row.checked };
|
|
1520
|
+
}
|
|
1521
|
+
function getChecklist(taskId, db) {
|
|
1522
|
+
const d = db || getDatabase();
|
|
1523
|
+
const rows = d.query("SELECT * FROM task_checklists WHERE task_id = ? ORDER BY position, created_at").all(taskId);
|
|
1524
|
+
return rows.map(rowToItem);
|
|
1525
|
+
}
|
|
1526
|
+
function addChecklistItem(input, db) {
|
|
1527
|
+
const d = db || getDatabase();
|
|
1528
|
+
const id = uuid();
|
|
1529
|
+
const timestamp = now();
|
|
1530
|
+
let position = input.position;
|
|
1531
|
+
if (position === undefined) {
|
|
1532
|
+
const maxRow = d.query("SELECT MAX(position) as max_pos FROM task_checklists WHERE task_id = ?").get(input.task_id);
|
|
1533
|
+
position = (maxRow?.max_pos ?? -1) + 1;
|
|
1534
|
+
}
|
|
1535
|
+
d.run("INSERT INTO task_checklists (id, task_id, position, text, checked, created_at, updated_at) VALUES (?, ?, ?, ?, 0, ?, ?)", [id, input.task_id, position, input.text, timestamp, timestamp]);
|
|
1536
|
+
return rowToItem(d.query("SELECT * FROM task_checklists WHERE id = ?").get(id));
|
|
1537
|
+
}
|
|
1538
|
+
function checkChecklistItem(id, checked, db) {
|
|
1539
|
+
const d = db || getDatabase();
|
|
1540
|
+
const timestamp = now();
|
|
1541
|
+
const result = d.run("UPDATE task_checklists SET checked = ?, updated_at = ? WHERE id = ?", [checked ? 1 : 0, timestamp, id]);
|
|
1542
|
+
if (result.changes === 0)
|
|
1543
|
+
return null;
|
|
1544
|
+
return rowToItem(d.query("SELECT * FROM task_checklists WHERE id = ?").get(id));
|
|
1545
|
+
}
|
|
1546
|
+
function updateChecklistItemText(id, text, db) {
|
|
1547
|
+
const d = db || getDatabase();
|
|
1548
|
+
const timestamp = now();
|
|
1549
|
+
const result = d.run("UPDATE task_checklists SET text = ?, updated_at = ? WHERE id = ?", [text, timestamp, id]);
|
|
1550
|
+
if (result.changes === 0)
|
|
1551
|
+
return null;
|
|
1552
|
+
return rowToItem(d.query("SELECT * FROM task_checklists WHERE id = ?").get(id));
|
|
1553
|
+
}
|
|
1554
|
+
function removeChecklistItem(id, db) {
|
|
1555
|
+
const d = db || getDatabase();
|
|
1556
|
+
const result = d.run("DELETE FROM task_checklists WHERE id = ?", [id]);
|
|
1557
|
+
return result.changes > 0;
|
|
1558
|
+
}
|
|
1559
|
+
function clearChecklist(taskId, db) {
|
|
1560
|
+
const d = db || getDatabase();
|
|
1561
|
+
const result = d.run("DELETE FROM task_checklists WHERE task_id = ?", [taskId]);
|
|
1562
|
+
return result.changes;
|
|
1563
|
+
}
|
|
1564
|
+
function getChecklistStats(taskId, db) {
|
|
1565
|
+
const d = db || getDatabase();
|
|
1566
|
+
const row = d.query("SELECT COUNT(*) as total, SUM(checked) as checked FROM task_checklists WHERE task_id = ?").get(taskId);
|
|
1567
|
+
return { total: row?.total ?? 0, checked: row?.checked ?? 0 };
|
|
1568
|
+
}
|
|
1569
|
+
|
|
1493
1570
|
// src/db/tasks.ts
|
|
1494
1571
|
function rowToTask(row) {
|
|
1495
1572
|
return {
|
|
@@ -1583,13 +1660,15 @@ function getTaskWithRelations(id, db) {
|
|
|
1583
1660
|
const blocked_by = blockedByRows.map(rowToTask);
|
|
1584
1661
|
const comments = d.query("SELECT * FROM task_comments WHERE task_id = ? ORDER BY created_at").all(id);
|
|
1585
1662
|
const parent = task.parent_id ? getTask(task.parent_id, d) : null;
|
|
1663
|
+
const checklist = getChecklist(id, d);
|
|
1586
1664
|
return {
|
|
1587
1665
|
...task,
|
|
1588
1666
|
subtasks,
|
|
1589
1667
|
dependencies,
|
|
1590
1668
|
blocked_by,
|
|
1591
1669
|
comments,
|
|
1592
|
-
parent
|
|
1670
|
+
parent,
|
|
1671
|
+
checklist
|
|
1593
1672
|
};
|
|
1594
1673
|
}
|
|
1595
1674
|
function listTasks(filter = {}, db) {
|
|
@@ -3657,6 +3736,7 @@ export {
|
|
|
3657
3736
|
updateProject,
|
|
3658
3737
|
updatePlan,
|
|
3659
3738
|
updateOrg,
|
|
3739
|
+
updateChecklistItemText,
|
|
3660
3740
|
updateAgentActivity,
|
|
3661
3741
|
updateAgent,
|
|
3662
3742
|
unlockTask,
|
|
@@ -3672,6 +3752,7 @@ export {
|
|
|
3672
3752
|
resetDatabase,
|
|
3673
3753
|
removeProjectSource,
|
|
3674
3754
|
removeDependency,
|
|
3755
|
+
removeChecklistItem,
|
|
3675
3756
|
registerAgent,
|
|
3676
3757
|
redistributeStaleTasks,
|
|
3677
3758
|
parseRecurrenceRule,
|
|
@@ -3727,6 +3808,8 @@ export {
|
|
|
3727
3808
|
getDatabase,
|
|
3728
3809
|
getCompletionGuardConfig,
|
|
3729
3810
|
getComment,
|
|
3811
|
+
getChecklistStats,
|
|
3812
|
+
getChecklist,
|
|
3730
3813
|
getBlockingDeps,
|
|
3731
3814
|
getAgentByName,
|
|
3732
3815
|
getAgent,
|
|
@@ -3761,13 +3844,16 @@ export {
|
|
|
3761
3844
|
completeTask,
|
|
3762
3845
|
closeDatabase,
|
|
3763
3846
|
cloneTask,
|
|
3847
|
+
clearChecklist,
|
|
3764
3848
|
claimNextTask,
|
|
3765
3849
|
checkCompletionGuard,
|
|
3850
|
+
checkChecklistItem,
|
|
3766
3851
|
bulkUpdateTasks,
|
|
3767
3852
|
bulkCreateTasks,
|
|
3768
3853
|
addProjectSource,
|
|
3769
3854
|
addDependency,
|
|
3770
3855
|
addComment,
|
|
3856
|
+
addChecklistItem,
|
|
3771
3857
|
VersionConflictError,
|
|
3772
3858
|
TodosClient,
|
|
3773
3859
|
TaskNotFoundError,
|
package/dist/mcp/index.js
CHANGED
|
@@ -198,6 +198,16 @@ function ensureSchema(db) {
|
|
|
198
198
|
metadata TEXT DEFAULT '{}',
|
|
199
199
|
created_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
200
200
|
)`);
|
|
201
|
+
ensureTable("task_checklists", `
|
|
202
|
+
CREATE TABLE task_checklists (
|
|
203
|
+
id TEXT PRIMARY KEY,
|
|
204
|
+
task_id TEXT NOT NULL REFERENCES tasks(id) ON DELETE CASCADE,
|
|
205
|
+
position INTEGER NOT NULL DEFAULT 0,
|
|
206
|
+
text TEXT NOT NULL,
|
|
207
|
+
checked INTEGER NOT NULL DEFAULT 0,
|
|
208
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
209
|
+
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
210
|
+
)`);
|
|
201
211
|
ensureTable("project_sources", `
|
|
202
212
|
CREATE TABLE project_sources (
|
|
203
213
|
id TEXT PRIMARY KEY,
|
|
@@ -254,6 +264,7 @@ function ensureSchema(db) {
|
|
|
254
264
|
ensureIndex("CREATE INDEX IF NOT EXISTS idx_task_history_agent ON task_history(agent_id)");
|
|
255
265
|
ensureIndex("CREATE INDEX IF NOT EXISTS idx_tasks_recurrence_parent ON tasks(recurrence_parent_id)");
|
|
256
266
|
ensureIndex("CREATE INDEX IF NOT EXISTS idx_tasks_recurrence_rule ON tasks(recurrence_rule) WHERE recurrence_rule IS NOT NULL");
|
|
267
|
+
ensureIndex("CREATE INDEX IF NOT EXISTS idx_task_checklists_task ON task_checklists(task_id)");
|
|
257
268
|
ensureIndex("CREATE INDEX IF NOT EXISTS idx_project_sources_project ON project_sources(project_id)");
|
|
258
269
|
ensureIndex("CREATE INDEX IF NOT EXISTS idx_project_sources_type ON project_sources(type)");
|
|
259
270
|
}
|
|
@@ -647,6 +658,19 @@ var init_database = __esm(() => {
|
|
|
647
658
|
created_at TEXT NOT NULL
|
|
648
659
|
);
|
|
649
660
|
INSERT OR IGNORE INTO _migrations (id) VALUES (20);
|
|
661
|
+
`,
|
|
662
|
+
`
|
|
663
|
+
CREATE TABLE IF NOT EXISTS task_checklists (
|
|
664
|
+
id TEXT PRIMARY KEY,
|
|
665
|
+
task_id TEXT NOT NULL REFERENCES tasks(id) ON DELETE CASCADE,
|
|
666
|
+
position INTEGER NOT NULL DEFAULT 0,
|
|
667
|
+
text TEXT NOT NULL,
|
|
668
|
+
checked INTEGER NOT NULL DEFAULT 0,
|
|
669
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
670
|
+
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
671
|
+
);
|
|
672
|
+
CREATE INDEX IF NOT EXISTS idx_task_checklists_task ON task_checklists(task_id);
|
|
673
|
+
INSERT OR IGNORE INTO _migrations (id) VALUES (21);
|
|
650
674
|
`,
|
|
651
675
|
`
|
|
652
676
|
CREATE TABLE IF NOT EXISTS project_sources (
|
|
@@ -662,7 +686,7 @@ var init_database = __esm(() => {
|
|
|
662
686
|
);
|
|
663
687
|
CREATE INDEX IF NOT EXISTS idx_project_sources_project ON project_sources(project_id);
|
|
664
688
|
CREATE INDEX IF NOT EXISTS idx_project_sources_type ON project_sources(type);
|
|
665
|
-
INSERT OR IGNORE INTO _migrations (id) VALUES (
|
|
689
|
+
INSERT OR IGNORE INTO _migrations (id) VALUES (22);
|
|
666
690
|
`
|
|
667
691
|
];
|
|
668
692
|
});
|
|
@@ -5497,6 +5521,52 @@ function nextOccurrence(rule, from) {
|
|
|
5497
5521
|
// src/db/tasks.ts
|
|
5498
5522
|
init_webhooks();
|
|
5499
5523
|
init_templates();
|
|
5524
|
+
|
|
5525
|
+
// src/db/checklists.ts
|
|
5526
|
+
init_database();
|
|
5527
|
+
function rowToItem(row) {
|
|
5528
|
+
return { ...row, checked: !!row.checked };
|
|
5529
|
+
}
|
|
5530
|
+
function getChecklist(taskId, db) {
|
|
5531
|
+
const d = db || getDatabase();
|
|
5532
|
+
const rows = d.query("SELECT * FROM task_checklists WHERE task_id = ? ORDER BY position, created_at").all(taskId);
|
|
5533
|
+
return rows.map(rowToItem);
|
|
5534
|
+
}
|
|
5535
|
+
function addChecklistItem(input, db) {
|
|
5536
|
+
const d = db || getDatabase();
|
|
5537
|
+
const id = uuid();
|
|
5538
|
+
const timestamp = now();
|
|
5539
|
+
let position = input.position;
|
|
5540
|
+
if (position === undefined) {
|
|
5541
|
+
const maxRow = d.query("SELECT MAX(position) as max_pos FROM task_checklists WHERE task_id = ?").get(input.task_id);
|
|
5542
|
+
position = (maxRow?.max_pos ?? -1) + 1;
|
|
5543
|
+
}
|
|
5544
|
+
d.run("INSERT INTO task_checklists (id, task_id, position, text, checked, created_at, updated_at) VALUES (?, ?, ?, ?, 0, ?, ?)", [id, input.task_id, position, input.text, timestamp, timestamp]);
|
|
5545
|
+
return rowToItem(d.query("SELECT * FROM task_checklists WHERE id = ?").get(id));
|
|
5546
|
+
}
|
|
5547
|
+
function checkChecklistItem(id, checked, db) {
|
|
5548
|
+
const d = db || getDatabase();
|
|
5549
|
+
const timestamp = now();
|
|
5550
|
+
const result = d.run("UPDATE task_checklists SET checked = ?, updated_at = ? WHERE id = ?", [checked ? 1 : 0, timestamp, id]);
|
|
5551
|
+
if (result.changes === 0)
|
|
5552
|
+
return null;
|
|
5553
|
+
return rowToItem(d.query("SELECT * FROM task_checklists WHERE id = ?").get(id));
|
|
5554
|
+
}
|
|
5555
|
+
function updateChecklistItemText(id, text, db) {
|
|
5556
|
+
const d = db || getDatabase();
|
|
5557
|
+
const timestamp = now();
|
|
5558
|
+
const result = d.run("UPDATE task_checklists SET text = ?, updated_at = ? WHERE id = ?", [text, timestamp, id]);
|
|
5559
|
+
if (result.changes === 0)
|
|
5560
|
+
return null;
|
|
5561
|
+
return rowToItem(d.query("SELECT * FROM task_checklists WHERE id = ?").get(id));
|
|
5562
|
+
}
|
|
5563
|
+
function removeChecklistItem(id, db) {
|
|
5564
|
+
const d = db || getDatabase();
|
|
5565
|
+
const result = d.run("DELETE FROM task_checklists WHERE id = ?", [id]);
|
|
5566
|
+
return result.changes > 0;
|
|
5567
|
+
}
|
|
5568
|
+
|
|
5569
|
+
// src/db/tasks.ts
|
|
5500
5570
|
function rowToTask(row) {
|
|
5501
5571
|
return {
|
|
5502
5572
|
...row,
|
|
@@ -5589,13 +5659,15 @@ function getTaskWithRelations(id, db) {
|
|
|
5589
5659
|
const blocked_by = blockedByRows.map(rowToTask);
|
|
5590
5660
|
const comments = d.query("SELECT * FROM task_comments WHERE task_id = ? ORDER BY created_at").all(id);
|
|
5591
5661
|
const parent = task.parent_id ? getTask(task.parent_id, d) : null;
|
|
5662
|
+
const checklist = getChecklist(id, d);
|
|
5592
5663
|
return {
|
|
5593
5664
|
...task,
|
|
5594
5665
|
subtasks,
|
|
5595
5666
|
dependencies,
|
|
5596
5667
|
blocked_by,
|
|
5597
5668
|
comments,
|
|
5598
|
-
parent
|
|
5669
|
+
parent,
|
|
5670
|
+
checklist
|
|
5599
5671
|
};
|
|
5600
5672
|
}
|
|
5601
5673
|
function listTasks(filter = {}, db) {
|
|
@@ -7616,6 +7688,14 @@ Comments (${task.comments.length}):`);
|
|
|
7616
7688
|
parts.push(`
|
|
7617
7689
|
Parent: ${task.parent.id.slice(0, 8)} | ${task.parent.title}`);
|
|
7618
7690
|
}
|
|
7691
|
+
if (task.checklist.length > 0) {
|
|
7692
|
+
const done = task.checklist.filter((i) => i.checked).length;
|
|
7693
|
+
parts.push(`
|
|
7694
|
+
Checklist (${done}/${task.checklist.length}):`);
|
|
7695
|
+
for (const item of task.checklist) {
|
|
7696
|
+
parts.push(` ${item.position + 1}. [${item.checked ? "x" : " "}] ${item.text} (${item.id.slice(0, 8)})`);
|
|
7697
|
+
}
|
|
7698
|
+
}
|
|
7619
7699
|
return { content: [{ type: "text", text: parts.join(`
|
|
7620
7700
|
`) }] };
|
|
7621
7701
|
} catch (e) {
|
|
@@ -7904,6 +7984,112 @@ ${lines.join(`
|
|
|
7904
7984
|
}
|
|
7905
7985
|
});
|
|
7906
7986
|
}
|
|
7987
|
+
if (shouldRegisterTool("add_checklist_item")) {
|
|
7988
|
+
server.tool("add_checklist_item", "Add a checklist item to a task. Items are numbered and individually checkable.", {
|
|
7989
|
+
task_id: exports_external.string().describe("Task ID"),
|
|
7990
|
+
text: exports_external.string().describe("Checklist item text"),
|
|
7991
|
+
position: exports_external.number().optional().describe("Position (0-based). Appended to end if omitted.")
|
|
7992
|
+
}, async ({ task_id, text, position }) => {
|
|
7993
|
+
try {
|
|
7994
|
+
const resolvedId = resolveId(task_id, "tasks");
|
|
7995
|
+
const item = addChecklistItem({ task_id: resolvedId, text, position });
|
|
7996
|
+
return {
|
|
7997
|
+
content: [{
|
|
7998
|
+
type: "text",
|
|
7999
|
+
text: `Item added: ${item.position + 1}. [ ] ${item.text} (${item.id.slice(0, 8)})`
|
|
8000
|
+
}]
|
|
8001
|
+
};
|
|
8002
|
+
} catch (e) {
|
|
8003
|
+
return { content: [{ type: "text", text: formatError(e) }], isError: true };
|
|
8004
|
+
}
|
|
8005
|
+
});
|
|
8006
|
+
}
|
|
8007
|
+
if (shouldRegisterTool("check_checklist_item")) {
|
|
8008
|
+
server.tool("check_checklist_item", "Mark a checklist item as checked or unchecked.", {
|
|
8009
|
+
item_id: exports_external.string().describe("Checklist item ID or prefix"),
|
|
8010
|
+
checked: exports_external.boolean().describe("true to check, false to uncheck")
|
|
8011
|
+
}, async ({ item_id, checked }) => {
|
|
8012
|
+
try {
|
|
8013
|
+
const db = getDatabase();
|
|
8014
|
+
const row = db.query("SELECT id FROM task_checklists WHERE id LIKE ?").get(`${item_id}%`);
|
|
8015
|
+
if (!row)
|
|
8016
|
+
return { content: [{ type: "text", text: `Checklist item not found: ${item_id}` }], isError: true };
|
|
8017
|
+
const item = checkChecklistItem(row.id, checked);
|
|
8018
|
+
if (!item)
|
|
8019
|
+
return { content: [{ type: "text", text: "Update failed" }], isError: true };
|
|
8020
|
+
return {
|
|
8021
|
+
content: [{
|
|
8022
|
+
type: "text",
|
|
8023
|
+
text: `${item.position + 1}. [${item.checked ? "x" : " "}] ${item.text}`
|
|
8024
|
+
}]
|
|
8025
|
+
};
|
|
8026
|
+
} catch (e) {
|
|
8027
|
+
return { content: [{ type: "text", text: formatError(e) }], isError: true };
|
|
8028
|
+
}
|
|
8029
|
+
});
|
|
8030
|
+
}
|
|
8031
|
+
if (shouldRegisterTool("update_checklist_item")) {
|
|
8032
|
+
server.tool("update_checklist_item", "Update the text of a checklist item.", {
|
|
8033
|
+
item_id: exports_external.string().describe("Checklist item ID or prefix"),
|
|
8034
|
+
text: exports_external.string().describe("New text")
|
|
8035
|
+
}, async ({ item_id, text }) => {
|
|
8036
|
+
try {
|
|
8037
|
+
const db = getDatabase();
|
|
8038
|
+
const row = db.query("SELECT id FROM task_checklists WHERE id LIKE ?").get(`${item_id}%`);
|
|
8039
|
+
if (!row)
|
|
8040
|
+
return { content: [{ type: "text", text: `Checklist item not found: ${item_id}` }], isError: true };
|
|
8041
|
+
const item = updateChecklistItemText(row.id, text);
|
|
8042
|
+
if (!item)
|
|
8043
|
+
return { content: [{ type: "text", text: "Update failed" }], isError: true };
|
|
8044
|
+
return {
|
|
8045
|
+
content: [{
|
|
8046
|
+
type: "text",
|
|
8047
|
+
text: `Updated: ${item.position + 1}. [${item.checked ? "x" : " "}] ${item.text}`
|
|
8048
|
+
}]
|
|
8049
|
+
};
|
|
8050
|
+
} catch (e) {
|
|
8051
|
+
return { content: [{ type: "text", text: formatError(e) }], isError: true };
|
|
8052
|
+
}
|
|
8053
|
+
});
|
|
8054
|
+
}
|
|
8055
|
+
if (shouldRegisterTool("remove_checklist_item")) {
|
|
8056
|
+
server.tool("remove_checklist_item", "Remove a checklist item from a task.", {
|
|
8057
|
+
item_id: exports_external.string().describe("Checklist item ID or prefix")
|
|
8058
|
+
}, async ({ item_id }) => {
|
|
8059
|
+
try {
|
|
8060
|
+
const db = getDatabase();
|
|
8061
|
+
const row = db.query("SELECT id, text FROM task_checklists WHERE id LIKE ?").get(`${item_id}%`);
|
|
8062
|
+
if (!row)
|
|
8063
|
+
return { content: [{ type: "text", text: `Checklist item not found: ${item_id}` }], isError: true };
|
|
8064
|
+
removeChecklistItem(row.id);
|
|
8065
|
+
return { content: [{ type: "text", text: `Removed: ${row.text}` }] };
|
|
8066
|
+
} catch (e) {
|
|
8067
|
+
return { content: [{ type: "text", text: formatError(e) }], isError: true };
|
|
8068
|
+
}
|
|
8069
|
+
});
|
|
8070
|
+
}
|
|
8071
|
+
if (shouldRegisterTool("get_checklist")) {
|
|
8072
|
+
server.tool("get_checklist", "Get all checklist items for a task with progress summary.", {
|
|
8073
|
+
task_id: exports_external.string().describe("Task ID")
|
|
8074
|
+
}, async ({ task_id }) => {
|
|
8075
|
+
try {
|
|
8076
|
+
const resolvedId = resolveId(task_id, "tasks");
|
|
8077
|
+
const items = getChecklist(resolvedId);
|
|
8078
|
+
if (items.length === 0) {
|
|
8079
|
+
return { content: [{ type: "text", text: "No checklist items." }] };
|
|
8080
|
+
}
|
|
8081
|
+
const done = items.filter((i) => i.checked).length;
|
|
8082
|
+
const lines = [`Checklist (${done}/${items.length} done):`];
|
|
8083
|
+
for (const item of items) {
|
|
8084
|
+
lines.push(` ${item.position + 1}. [${item.checked ? "x" : " "}] ${item.text} (${item.id.slice(0, 8)})`);
|
|
8085
|
+
}
|
|
8086
|
+
return { content: [{ type: "text", text: lines.join(`
|
|
8087
|
+
`) }] };
|
|
8088
|
+
} catch (e) {
|
|
8089
|
+
return { content: [{ type: "text", text: formatError(e) }], isError: true };
|
|
8090
|
+
}
|
|
8091
|
+
});
|
|
8092
|
+
}
|
|
7907
8093
|
if (shouldRegisterTool("create_plan")) {
|
|
7908
8094
|
server.tool("create_plan", "Create a plan to group related tasks.", {
|
|
7909
8095
|
name: exports_external.string(),
|
|
@@ -8666,16 +8852,59 @@ if (shouldRegisterTool("set_reports_to")) {
|
|
|
8666
8852
|
});
|
|
8667
8853
|
}
|
|
8668
8854
|
if (shouldRegisterTool("bulk_update_tasks")) {
|
|
8669
|
-
server.tool("bulk_update_tasks", "Update multiple tasks at once
|
|
8670
|
-
task_ids: exports_external.array(exports_external.string()),
|
|
8855
|
+
server.tool("bulk_update_tasks", "Update multiple tasks at once. Two modes: (1) task_ids + shared fields \u2014 apply the same changes to all; (2) updates array \u2014 per-task fields, each entry has id plus any fields to update.", {
|
|
8856
|
+
task_ids: exports_external.array(exports_external.string()).optional().describe("Task IDs to update with the same fields (mode 1)"),
|
|
8671
8857
|
status: exports_external.enum(["pending", "in_progress", "completed", "failed", "cancelled"]).optional(),
|
|
8672
8858
|
priority: exports_external.enum(["low", "medium", "high", "critical"]).optional(),
|
|
8673
8859
|
assigned_to: exports_external.string().optional(),
|
|
8674
|
-
tags: exports_external.array(exports_external.string()).optional()
|
|
8675
|
-
|
|
8860
|
+
tags: exports_external.array(exports_external.string()).optional(),
|
|
8861
|
+
updates: exports_external.array(exports_external.object({
|
|
8862
|
+
id: exports_external.string(),
|
|
8863
|
+
status: exports_external.enum(["pending", "in_progress", "completed", "failed", "cancelled"]).optional(),
|
|
8864
|
+
priority: exports_external.enum(["low", "medium", "high", "critical"]).optional(),
|
|
8865
|
+
assigned_to: exports_external.string().optional(),
|
|
8866
|
+
tags: exports_external.array(exports_external.string()).optional(),
|
|
8867
|
+
title: exports_external.string().optional(),
|
|
8868
|
+
description: exports_external.string().optional(),
|
|
8869
|
+
plan_id: exports_external.string().optional(),
|
|
8870
|
+
task_list_id: exports_external.string().optional()
|
|
8871
|
+
})).optional().describe("Per-task updates \u2014 each entry has id plus fields to update (mode 2)")
|
|
8872
|
+
}, async ({ task_ids, updates, ...sharedFields }) => {
|
|
8676
8873
|
try {
|
|
8677
|
-
|
|
8678
|
-
|
|
8874
|
+
let result;
|
|
8875
|
+
if (updates && updates.length > 0) {
|
|
8876
|
+
const d = getDatabase();
|
|
8877
|
+
let updated = 0;
|
|
8878
|
+
const failed = [];
|
|
8879
|
+
const tx = d.transaction(() => {
|
|
8880
|
+
for (const entry of updates) {
|
|
8881
|
+
try {
|
|
8882
|
+
const { id, ...fields } = entry;
|
|
8883
|
+
const resolvedId = resolveId(id);
|
|
8884
|
+
const task = getTask(resolvedId);
|
|
8885
|
+
if (!task) {
|
|
8886
|
+
failed.push({ id, error: "Task not found" });
|
|
8887
|
+
continue;
|
|
8888
|
+
}
|
|
8889
|
+
if (fields.plan_id)
|
|
8890
|
+
fields.plan_id = resolveId(fields.plan_id, "plans");
|
|
8891
|
+
if (fields.task_list_id)
|
|
8892
|
+
fields.task_list_id = resolveId(fields.task_list_id, "task_lists");
|
|
8893
|
+
updateTask(resolvedId, { ...fields, version: task.version }, d);
|
|
8894
|
+
updated++;
|
|
8895
|
+
} catch (e) {
|
|
8896
|
+
failed.push({ id: entry.id, error: e instanceof Error ? e.message : String(e) });
|
|
8897
|
+
}
|
|
8898
|
+
}
|
|
8899
|
+
});
|
|
8900
|
+
tx();
|
|
8901
|
+
result = { updated, failed };
|
|
8902
|
+
} else if (task_ids && task_ids.length > 0) {
|
|
8903
|
+
const resolvedIds = task_ids.map((id) => resolveId(id));
|
|
8904
|
+
result = bulkUpdateTasks(resolvedIds, sharedFields);
|
|
8905
|
+
} else {
|
|
8906
|
+
return { content: [{ type: "text", text: "Provide either task_ids (mode 1) or updates array (mode 2)." }], isError: true };
|
|
8907
|
+
}
|
|
8679
8908
|
const parts = [`Updated ${result.updated} task(s).`];
|
|
8680
8909
|
if (result.failed.length > 0) {
|
|
8681
8910
|
parts.push(`Failed ${result.failed.length}:`);
|
|
@@ -9286,6 +9515,11 @@ if (shouldRegisterTool("search_tools")) {
|
|
|
9286
9515
|
"add_project_source",
|
|
9287
9516
|
"remove_project_source",
|
|
9288
9517
|
"list_project_sources",
|
|
9518
|
+
"add_checklist_item",
|
|
9519
|
+
"check_checklist_item",
|
|
9520
|
+
"update_checklist_item",
|
|
9521
|
+
"remove_checklist_item",
|
|
9522
|
+
"get_checklist",
|
|
9289
9523
|
"create_plan",
|
|
9290
9524
|
"list_plans",
|
|
9291
9525
|
"get_plan",
|
|
@@ -9394,6 +9628,21 @@ if (shouldRegisterTool("describe_tools")) {
|
|
|
9394
9628
|
Params: name(string, req), path(string, req \u2014 unique absolute path), description(string), task_list_id(string)
|
|
9395
9629
|
Example: {name: 'my-app', path: '/Users/dev/my-app'}`,
|
|
9396
9630
|
list_projects: "List all registered projects. No params.",
|
|
9631
|
+
add_checklist_item: `Add a checklist item (numbered sub-step) to a task.
|
|
9632
|
+
Params: task_id(string, req), text(string, req), position(number \u2014 0-based, appended to end if omitted)
|
|
9633
|
+
Example: {task_id: 'a1b2c3d4', text: 'Cancel Slack subscription'}`,
|
|
9634
|
+
check_checklist_item: `Mark a checklist item checked or unchecked.
|
|
9635
|
+
Params: item_id(string, req \u2014 item ID or prefix), checked(boolean, req)
|
|
9636
|
+
Example: {item_id: 'abc12345', checked: true}`,
|
|
9637
|
+
update_checklist_item: `Update the text of a checklist item.
|
|
9638
|
+
Params: item_id(string, req), text(string, req)
|
|
9639
|
+
Example: {item_id: 'abc12345', text: 'Cancel GitHub subscription'}`,
|
|
9640
|
+
remove_checklist_item: `Remove a checklist item permanently.
|
|
9641
|
+
Params: item_id(string, req)
|
|
9642
|
+
Example: {item_id: 'abc12345'}`,
|
|
9643
|
+
get_checklist: `Get all checklist items for a task with progress (done/total).
|
|
9644
|
+
Params: task_id(string, req)
|
|
9645
|
+
Example: {task_id: 'a1b2c3d4'}`,
|
|
9397
9646
|
add_project_source: `Add a data source to a project (S3, GDrive, local path, GitHub, Notion, HTTP, etc.).
|
|
9398
9647
|
Params: project_id(string, req), type(string, req \u2014 e.g. 's3','gdrive','local','github','notion','http'), name(string, req), uri(string, req), description(string), metadata(object)
|
|
9399
9648
|
Example: {project_id: 'a1b2c3d4', type: 's3', name: 'Assets bucket', uri: 's3://my-bucket/assets/', description: 'Project media files'}`,
|
|
@@ -9471,9 +9720,11 @@ if (shouldRegisterTool("describe_tools")) {
|
|
|
9471
9720
|
move_task: `Move a task to a different list, project, or plan.
|
|
9472
9721
|
Params: task_id(string, req), task_list_id(string|null), project_id(string|null), plan_id(string|null)
|
|
9473
9722
|
Example: {task_id: 'a1b2c3d4', task_list_id: 'e5f6g7h8'}`,
|
|
9474
|
-
bulk_update_tasks: `Update multiple tasks at once
|
|
9475
|
-
|
|
9476
|
-
|
|
9723
|
+
bulk_update_tasks: `Update multiple tasks at once. Two modes:
|
|
9724
|
+
Mode 1 (same fields to all): task_ids(string[], req), status, priority, assigned_to, tags
|
|
9725
|
+
Mode 2 (per-task fields): updates([{id, status?, priority?, assigned_to?, tags?, title?, description?, plan_id?, task_list_id?}], req)
|
|
9726
|
+
Example mode 1: {task_ids: ['abc12345', 'def67890'], assigned_to: 'agent-id'}
|
|
9727
|
+
Example mode 2: {updates: [{id: 'abc12345', assigned_to: 'agent-1'}, {id: 'def67890', status: 'in_progress'}]}`,
|
|
9477
9728
|
bulk_create_tasks: `Create multiple tasks atomically. Supports inter-task dependencies via temp_id references.
|
|
9478
9729
|
Params: tasks(array, req \u2014 [{temp_id, title, description, priority, status, project_id, plan_id, task_list_id, agent_id, assigned_to, tags, estimated_minutes, depends_on_temp_ids}]), project_id(string \u2014 default for all), plan_id(string \u2014 default for all), task_list_id(string \u2014 default for all)
|
|
9479
9730
|
Example: {tasks: [{temp_id: 'a', title: 'First'}, {temp_id: 'b', title: 'Second', depends_on_temp_ids: ['a']}]}`,
|
package/dist/server/index.js
CHANGED
|
@@ -267,6 +267,16 @@ function ensureSchema(db) {
|
|
|
267
267
|
metadata TEXT DEFAULT '{}',
|
|
268
268
|
created_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
269
269
|
)`);
|
|
270
|
+
ensureTable("task_checklists", `
|
|
271
|
+
CREATE TABLE task_checklists (
|
|
272
|
+
id TEXT PRIMARY KEY,
|
|
273
|
+
task_id TEXT NOT NULL REFERENCES tasks(id) ON DELETE CASCADE,
|
|
274
|
+
position INTEGER NOT NULL DEFAULT 0,
|
|
275
|
+
text TEXT NOT NULL,
|
|
276
|
+
checked INTEGER NOT NULL DEFAULT 0,
|
|
277
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
278
|
+
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
279
|
+
)`);
|
|
270
280
|
ensureTable("project_sources", `
|
|
271
281
|
CREATE TABLE project_sources (
|
|
272
282
|
id TEXT PRIMARY KEY,
|
|
@@ -323,6 +333,7 @@ function ensureSchema(db) {
|
|
|
323
333
|
ensureIndex("CREATE INDEX IF NOT EXISTS idx_task_history_agent ON task_history(agent_id)");
|
|
324
334
|
ensureIndex("CREATE INDEX IF NOT EXISTS idx_tasks_recurrence_parent ON tasks(recurrence_parent_id)");
|
|
325
335
|
ensureIndex("CREATE INDEX IF NOT EXISTS idx_tasks_recurrence_rule ON tasks(recurrence_rule) WHERE recurrence_rule IS NOT NULL");
|
|
336
|
+
ensureIndex("CREATE INDEX IF NOT EXISTS idx_task_checklists_task ON task_checklists(task_id)");
|
|
326
337
|
ensureIndex("CREATE INDEX IF NOT EXISTS idx_project_sources_project ON project_sources(project_id)");
|
|
327
338
|
ensureIndex("CREATE INDEX IF NOT EXISTS idx_project_sources_type ON project_sources(type)");
|
|
328
339
|
}
|
|
@@ -696,6 +707,19 @@ var init_database = __esm(() => {
|
|
|
696
707
|
created_at TEXT NOT NULL
|
|
697
708
|
);
|
|
698
709
|
INSERT OR IGNORE INTO _migrations (id) VALUES (20);
|
|
710
|
+
`,
|
|
711
|
+
`
|
|
712
|
+
CREATE TABLE IF NOT EXISTS task_checklists (
|
|
713
|
+
id TEXT PRIMARY KEY,
|
|
714
|
+
task_id TEXT NOT NULL REFERENCES tasks(id) ON DELETE CASCADE,
|
|
715
|
+
position INTEGER NOT NULL DEFAULT 0,
|
|
716
|
+
text TEXT NOT NULL,
|
|
717
|
+
checked INTEGER NOT NULL DEFAULT 0,
|
|
718
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
719
|
+
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
720
|
+
);
|
|
721
|
+
CREATE INDEX IF NOT EXISTS idx_task_checklists_task ON task_checklists(task_id);
|
|
722
|
+
INSERT OR IGNORE INTO _migrations (id) VALUES (21);
|
|
699
723
|
`,
|
|
700
724
|
`
|
|
701
725
|
CREATE TABLE IF NOT EXISTS project_sources (
|
|
@@ -711,7 +735,7 @@ var init_database = __esm(() => {
|
|
|
711
735
|
);
|
|
712
736
|
CREATE INDEX IF NOT EXISTS idx_project_sources_project ON project_sources(project_id);
|
|
713
737
|
CREATE INDEX IF NOT EXISTS idx_project_sources_type ON project_sources(type);
|
|
714
|
-
INSERT OR IGNORE INTO _migrations (id) VALUES (
|
|
738
|
+
INSERT OR IGNORE INTO _migrations (id) VALUES (22);
|
|
715
739
|
`
|
|
716
740
|
];
|
|
717
741
|
});
|
|
@@ -1216,6 +1240,19 @@ var init_templates = __esm(() => {
|
|
|
1216
1240
|
init_database();
|
|
1217
1241
|
});
|
|
1218
1242
|
|
|
1243
|
+
// src/db/checklists.ts
|
|
1244
|
+
function rowToItem(row) {
|
|
1245
|
+
return { ...row, checked: !!row.checked };
|
|
1246
|
+
}
|
|
1247
|
+
function getChecklist(taskId, db) {
|
|
1248
|
+
const d = db || getDatabase();
|
|
1249
|
+
const rows = d.query("SELECT * FROM task_checklists WHERE task_id = ? ORDER BY position, created_at").all(taskId);
|
|
1250
|
+
return rows.map(rowToItem);
|
|
1251
|
+
}
|
|
1252
|
+
var init_checklists = __esm(() => {
|
|
1253
|
+
init_database();
|
|
1254
|
+
});
|
|
1255
|
+
|
|
1219
1256
|
// src/db/tasks.ts
|
|
1220
1257
|
var exports_tasks = {};
|
|
1221
1258
|
__export(exports_tasks, {
|
|
@@ -1346,13 +1383,15 @@ function getTaskWithRelations(id, db) {
|
|
|
1346
1383
|
const blocked_by = blockedByRows.map(rowToTask);
|
|
1347
1384
|
const comments = d.query("SELECT * FROM task_comments WHERE task_id = ? ORDER BY created_at").all(id);
|
|
1348
1385
|
const parent = task.parent_id ? getTask(task.parent_id, d) : null;
|
|
1386
|
+
const checklist = getChecklist(id, d);
|
|
1349
1387
|
return {
|
|
1350
1388
|
...task,
|
|
1351
1389
|
subtasks,
|
|
1352
1390
|
dependencies,
|
|
1353
1391
|
blocked_by,
|
|
1354
1392
|
comments,
|
|
1355
|
-
parent
|
|
1393
|
+
parent,
|
|
1394
|
+
checklist
|
|
1356
1395
|
};
|
|
1357
1396
|
}
|
|
1358
1397
|
function listTasks(filter = {}, db) {
|
|
@@ -2299,6 +2338,7 @@ var init_tasks = __esm(() => {
|
|
|
2299
2338
|
init_recurrence();
|
|
2300
2339
|
init_webhooks();
|
|
2301
2340
|
init_templates();
|
|
2341
|
+
init_checklists();
|
|
2302
2342
|
});
|
|
2303
2343
|
|
|
2304
2344
|
// src/db/agents.ts
|
package/dist/types/index.d.ts
CHANGED
|
@@ -213,12 +213,36 @@ export interface Task {
|
|
|
213
213
|
reason: string | null;
|
|
214
214
|
spawned_from_session: string | null;
|
|
215
215
|
}
|
|
216
|
+
export interface ChecklistItem {
|
|
217
|
+
id: string;
|
|
218
|
+
task_id: string;
|
|
219
|
+
position: number;
|
|
220
|
+
text: string;
|
|
221
|
+
checked: boolean;
|
|
222
|
+
created_at: string;
|
|
223
|
+
updated_at: string;
|
|
224
|
+
}
|
|
225
|
+
export interface ChecklistItemRow {
|
|
226
|
+
id: string;
|
|
227
|
+
task_id: string;
|
|
228
|
+
position: number;
|
|
229
|
+
text: string;
|
|
230
|
+
checked: number;
|
|
231
|
+
created_at: string;
|
|
232
|
+
updated_at: string;
|
|
233
|
+
}
|
|
234
|
+
export interface CreateChecklistItemInput {
|
|
235
|
+
task_id: string;
|
|
236
|
+
text: string;
|
|
237
|
+
position?: number;
|
|
238
|
+
}
|
|
216
239
|
export interface TaskWithRelations extends Task {
|
|
217
240
|
subtasks: Task[];
|
|
218
241
|
dependencies: Task[];
|
|
219
242
|
blocked_by: Task[];
|
|
220
243
|
comments: TaskComment[];
|
|
221
244
|
parent: Task | null;
|
|
245
|
+
checklist: ChecklistItem[];
|
|
222
246
|
}
|
|
223
247
|
export interface CreateTaskInput {
|
|
224
248
|
title: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|