@hasna/todos 0.9.74 → 0.9.75
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 +812 -1
- package/dist/db/database.d.ts.map +1 -1
- package/dist/db/handoffs.d.ts +25 -0
- package/dist/db/handoffs.d.ts.map +1 -0
- package/dist/db/projects.d.ts +5 -1
- package/dist/db/projects.d.ts.map +1 -1
- package/dist/db/tasks.d.ts +1 -0
- package/dist/db/tasks.d.ts.map +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +168 -0
- package/dist/mcp/index.js +306 -0
- package/dist/server/index.js +105 -16
- package/dist/types/index.d.ts +31 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/mcp/index.js
CHANGED
|
@@ -1,6 +1,23 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
2
|
// @bun
|
|
3
3
|
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __moduleCache = /* @__PURE__ */ new WeakMap;
|
|
8
|
+
var __toCommonJS = (from) => {
|
|
9
|
+
var entry = __moduleCache.get(from), desc;
|
|
10
|
+
if (entry)
|
|
11
|
+
return entry;
|
|
12
|
+
entry = __defProp({}, "__esModule", { value: true });
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function")
|
|
14
|
+
__getOwnPropNames(from).map((key) => !__hasOwnProp.call(entry, key) && __defProp(entry, key, {
|
|
15
|
+
get: () => from[key],
|
|
16
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
17
|
+
}));
|
|
18
|
+
__moduleCache.set(from, entry);
|
|
19
|
+
return entry;
|
|
20
|
+
};
|
|
4
21
|
var __export = (target, all) => {
|
|
5
22
|
for (var name in all)
|
|
6
23
|
__defProp(target, name, {
|
|
@@ -181,6 +198,18 @@ function ensureSchema(db) {
|
|
|
181
198
|
metadata TEXT DEFAULT '{}',
|
|
182
199
|
created_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
183
200
|
)`);
|
|
201
|
+
ensureTable("project_sources", `
|
|
202
|
+
CREATE TABLE project_sources (
|
|
203
|
+
id TEXT PRIMARY KEY,
|
|
204
|
+
project_id TEXT NOT NULL REFERENCES projects(id) ON DELETE CASCADE,
|
|
205
|
+
type TEXT NOT NULL,
|
|
206
|
+
name TEXT NOT NULL,
|
|
207
|
+
uri TEXT NOT NULL,
|
|
208
|
+
description TEXT,
|
|
209
|
+
metadata TEXT DEFAULT '{}',
|
|
210
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
211
|
+
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
212
|
+
)`);
|
|
184
213
|
ensureColumn("projects", "task_list_id", "TEXT");
|
|
185
214
|
ensureColumn("projects", "task_prefix", "TEXT");
|
|
186
215
|
ensureColumn("projects", "task_counter", "INTEGER NOT NULL DEFAULT 0");
|
|
@@ -225,6 +254,8 @@ function ensureSchema(db) {
|
|
|
225
254
|
ensureIndex("CREATE INDEX IF NOT EXISTS idx_task_history_agent ON task_history(agent_id)");
|
|
226
255
|
ensureIndex("CREATE INDEX IF NOT EXISTS idx_tasks_recurrence_parent ON tasks(recurrence_parent_id)");
|
|
227
256
|
ensureIndex("CREATE INDEX IF NOT EXISTS idx_tasks_recurrence_rule ON tasks(recurrence_rule) WHERE recurrence_rule IS NOT NULL");
|
|
257
|
+
ensureIndex("CREATE INDEX IF NOT EXISTS idx_project_sources_project ON project_sources(project_id)");
|
|
258
|
+
ensureIndex("CREATE INDEX IF NOT EXISTS idx_project_sources_type ON project_sources(type)");
|
|
228
259
|
}
|
|
229
260
|
function backfillTaskTags(db) {
|
|
230
261
|
try {
|
|
@@ -602,6 +633,36 @@ var init_database = __esm(() => {
|
|
|
602
633
|
ALTER TABLE tasks ADD COLUMN reason TEXT;
|
|
603
634
|
ALTER TABLE tasks ADD COLUMN spawned_from_session TEXT;
|
|
604
635
|
INSERT OR IGNORE INTO _migrations (id) VALUES (19);
|
|
636
|
+
`,
|
|
637
|
+
`
|
|
638
|
+
CREATE TABLE IF NOT EXISTS handoffs (
|
|
639
|
+
id TEXT PRIMARY KEY,
|
|
640
|
+
agent_id TEXT,
|
|
641
|
+
project_id TEXT REFERENCES projects(id) ON DELETE SET NULL,
|
|
642
|
+
summary TEXT NOT NULL,
|
|
643
|
+
completed TEXT,
|
|
644
|
+
in_progress TEXT,
|
|
645
|
+
blockers TEXT,
|
|
646
|
+
next_steps TEXT,
|
|
647
|
+
created_at TEXT NOT NULL
|
|
648
|
+
);
|
|
649
|
+
INSERT OR IGNORE INTO _migrations (id) VALUES (20);
|
|
650
|
+
`,
|
|
651
|
+
`
|
|
652
|
+
CREATE TABLE IF NOT EXISTS project_sources (
|
|
653
|
+
id TEXT PRIMARY KEY,
|
|
654
|
+
project_id TEXT NOT NULL REFERENCES projects(id) ON DELETE CASCADE,
|
|
655
|
+
type TEXT NOT NULL,
|
|
656
|
+
name TEXT NOT NULL,
|
|
657
|
+
uri TEXT NOT NULL,
|
|
658
|
+
description TEXT,
|
|
659
|
+
metadata TEXT DEFAULT '{}',
|
|
660
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
661
|
+
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
662
|
+
);
|
|
663
|
+
CREATE INDEX IF NOT EXISTS idx_project_sources_project ON project_sources(project_id);
|
|
664
|
+
CREATE INDEX IF NOT EXISTS idx_project_sources_type ON project_sources(type);
|
|
665
|
+
INSERT OR IGNORE INTO _migrations (id) VALUES (21);
|
|
605
666
|
`
|
|
606
667
|
];
|
|
607
668
|
});
|
|
@@ -933,6 +994,77 @@ var init_agents = __esm(() => {
|
|
|
933
994
|
AGENT_ACTIVE_WINDOW_MS = 30 * 60 * 1000;
|
|
934
995
|
});
|
|
935
996
|
|
|
997
|
+
// src/db/handoffs.ts
|
|
998
|
+
var exports_handoffs = {};
|
|
999
|
+
__export(exports_handoffs, {
|
|
1000
|
+
listHandoffs: () => listHandoffs,
|
|
1001
|
+
getLatestHandoff: () => getLatestHandoff,
|
|
1002
|
+
createHandoff: () => createHandoff
|
|
1003
|
+
});
|
|
1004
|
+
function createHandoff(input, db) {
|
|
1005
|
+
const d = db || getDatabase();
|
|
1006
|
+
const id = uuid();
|
|
1007
|
+
const timestamp = now();
|
|
1008
|
+
d.run(`INSERT INTO handoffs (id, agent_id, project_id, summary, completed, in_progress, blockers, next_steps, created_at)
|
|
1009
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`, [
|
|
1010
|
+
id,
|
|
1011
|
+
input.agent_id || null,
|
|
1012
|
+
input.project_id || null,
|
|
1013
|
+
input.summary,
|
|
1014
|
+
input.completed ? JSON.stringify(input.completed) : null,
|
|
1015
|
+
input.in_progress ? JSON.stringify(input.in_progress) : null,
|
|
1016
|
+
input.blockers ? JSON.stringify(input.blockers) : null,
|
|
1017
|
+
input.next_steps ? JSON.stringify(input.next_steps) : null,
|
|
1018
|
+
timestamp
|
|
1019
|
+
]);
|
|
1020
|
+
return {
|
|
1021
|
+
id,
|
|
1022
|
+
agent_id: input.agent_id || null,
|
|
1023
|
+
project_id: input.project_id || null,
|
|
1024
|
+
summary: input.summary,
|
|
1025
|
+
completed: input.completed || null,
|
|
1026
|
+
in_progress: input.in_progress || null,
|
|
1027
|
+
blockers: input.blockers || null,
|
|
1028
|
+
next_steps: input.next_steps || null,
|
|
1029
|
+
created_at: timestamp
|
|
1030
|
+
};
|
|
1031
|
+
}
|
|
1032
|
+
function rowToHandoff(row) {
|
|
1033
|
+
return {
|
|
1034
|
+
...row,
|
|
1035
|
+
completed: row.completed ? JSON.parse(row.completed) : null,
|
|
1036
|
+
in_progress: row.in_progress ? JSON.parse(row.in_progress) : null,
|
|
1037
|
+
blockers: row.blockers ? JSON.parse(row.blockers) : null,
|
|
1038
|
+
next_steps: row.next_steps ? JSON.parse(row.next_steps) : null
|
|
1039
|
+
};
|
|
1040
|
+
}
|
|
1041
|
+
function listHandoffs(projectId, limit = 10, db) {
|
|
1042
|
+
const d = db || getDatabase();
|
|
1043
|
+
if (projectId) {
|
|
1044
|
+
return d.query("SELECT * FROM handoffs WHERE project_id = ? ORDER BY rowid DESC LIMIT ?").all(projectId, limit).map(rowToHandoff);
|
|
1045
|
+
}
|
|
1046
|
+
return d.query("SELECT * FROM handoffs ORDER BY rowid DESC LIMIT ?").all(limit).map(rowToHandoff);
|
|
1047
|
+
}
|
|
1048
|
+
function getLatestHandoff(agentId, projectId, db) {
|
|
1049
|
+
const d = db || getDatabase();
|
|
1050
|
+
let query = "SELECT * FROM handoffs WHERE 1=1";
|
|
1051
|
+
const params = [];
|
|
1052
|
+
if (agentId) {
|
|
1053
|
+
query += " AND agent_id = ?";
|
|
1054
|
+
params.push(agentId);
|
|
1055
|
+
}
|
|
1056
|
+
if (projectId) {
|
|
1057
|
+
query += " AND project_id = ?";
|
|
1058
|
+
params.push(projectId);
|
|
1059
|
+
}
|
|
1060
|
+
query += " ORDER BY rowid DESC LIMIT 1";
|
|
1061
|
+
const row = d.query(query).get(...params);
|
|
1062
|
+
return row ? rowToHandoff(row) : null;
|
|
1063
|
+
}
|
|
1064
|
+
var init_handoffs = __esm(() => {
|
|
1065
|
+
init_database();
|
|
1066
|
+
});
|
|
1067
|
+
|
|
936
1068
|
// src/mcp/index.ts
|
|
937
1069
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
938
1070
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
@@ -5067,6 +5199,40 @@ function listProjects(db) {
|
|
|
5067
5199
|
const d = db || getDatabase();
|
|
5068
5200
|
return d.query("SELECT * FROM projects ORDER BY name").all();
|
|
5069
5201
|
}
|
|
5202
|
+
function rowToSource(row) {
|
|
5203
|
+
return {
|
|
5204
|
+
...row,
|
|
5205
|
+
metadata: row.metadata ? JSON.parse(row.metadata) : {}
|
|
5206
|
+
};
|
|
5207
|
+
}
|
|
5208
|
+
function addProjectSource(input, db) {
|
|
5209
|
+
const d = db || getDatabase();
|
|
5210
|
+
const id = uuid();
|
|
5211
|
+
const timestamp = now();
|
|
5212
|
+
d.run(`INSERT INTO project_sources (id, project_id, type, name, uri, description, metadata, created_at, updated_at)
|
|
5213
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`, [
|
|
5214
|
+
id,
|
|
5215
|
+
input.project_id,
|
|
5216
|
+
input.type,
|
|
5217
|
+
input.name,
|
|
5218
|
+
input.uri,
|
|
5219
|
+
input.description || null,
|
|
5220
|
+
JSON.stringify(input.metadata || {}),
|
|
5221
|
+
timestamp,
|
|
5222
|
+
timestamp
|
|
5223
|
+
]);
|
|
5224
|
+
return rowToSource(d.query("SELECT * FROM project_sources WHERE id = ?").get(id));
|
|
5225
|
+
}
|
|
5226
|
+
function removeProjectSource(id, db) {
|
|
5227
|
+
const d = db || getDatabase();
|
|
5228
|
+
const result = d.run("DELETE FROM project_sources WHERE id = ?", [id]);
|
|
5229
|
+
return result.changes > 0;
|
|
5230
|
+
}
|
|
5231
|
+
function listProjectSources(projectId, db) {
|
|
5232
|
+
const d = db || getDatabase();
|
|
5233
|
+
const rows = d.query("SELECT * FROM project_sources WHERE project_id = ? ORDER BY name").all(projectId);
|
|
5234
|
+
return rows.map(rowToSource);
|
|
5235
|
+
}
|
|
5070
5236
|
function nextTaskShortId(projectId, db) {
|
|
5071
5237
|
const d = db || getDatabase();
|
|
5072
5238
|
const project = getProject(projectId, d);
|
|
@@ -7679,6 +7845,65 @@ if (shouldRegisterTool("create_project")) {
|
|
|
7679
7845
|
}
|
|
7680
7846
|
});
|
|
7681
7847
|
}
|
|
7848
|
+
if (shouldRegisterTool("add_project_source")) {
|
|
7849
|
+
server.tool("add_project_source", "Add a data source to a project (S3 bucket, Google Drive folder, local path, GitHub repo, Notion page, etc.). Sources are revealed to agents when they load the project.", {
|
|
7850
|
+
project_id: exports_external.string().describe("Project ID"),
|
|
7851
|
+
type: exports_external.string().describe("Source type: 's3', 'gdrive', 'local', 'github', 'notion', 'http', or any custom label"),
|
|
7852
|
+
name: exports_external.string().describe("Human-readable label for this source"),
|
|
7853
|
+
uri: exports_external.string().describe("The source URI (bucket path, folder URL, local path, repo URL, etc.)"),
|
|
7854
|
+
description: exports_external.string().optional().describe("What this source contains or how agents should use it"),
|
|
7855
|
+
metadata: exports_external.record(exports_external.unknown()).optional().describe("Extra config (e.g. region, access role, subfolder)")
|
|
7856
|
+
}, async (params) => {
|
|
7857
|
+
try {
|
|
7858
|
+
const resolvedProjectId = resolveId(params.project_id, "projects");
|
|
7859
|
+
const source = addProjectSource({ ...params, project_id: resolvedProjectId });
|
|
7860
|
+
return {
|
|
7861
|
+
content: [{
|
|
7862
|
+
type: "text",
|
|
7863
|
+
text: `Source added: ${source.id.slice(0, 8)} | [${source.type}] ${source.name} \u2192 ${source.uri}`
|
|
7864
|
+
}]
|
|
7865
|
+
};
|
|
7866
|
+
} catch (e) {
|
|
7867
|
+
return { content: [{ type: "text", text: formatError(e) }], isError: true };
|
|
7868
|
+
}
|
|
7869
|
+
});
|
|
7870
|
+
}
|
|
7871
|
+
if (shouldRegisterTool("remove_project_source")) {
|
|
7872
|
+
server.tool("remove_project_source", "Remove a data source from a project by source ID.", {
|
|
7873
|
+
source_id: exports_external.string().describe("Source ID to remove")
|
|
7874
|
+
}, async ({ source_id }) => {
|
|
7875
|
+
try {
|
|
7876
|
+
const db = getDatabase();
|
|
7877
|
+
const row = db.query("SELECT * FROM project_sources WHERE id LIKE ?").get(`${source_id}%`);
|
|
7878
|
+
if (!row)
|
|
7879
|
+
return { content: [{ type: "text", text: `Source not found: ${source_id}` }], isError: true };
|
|
7880
|
+
removeProjectSource(row.id);
|
|
7881
|
+
return { content: [{ type: "text", text: `Source removed: ${row.name}` }] };
|
|
7882
|
+
} catch (e) {
|
|
7883
|
+
return { content: [{ type: "text", text: formatError(e) }], isError: true };
|
|
7884
|
+
}
|
|
7885
|
+
});
|
|
7886
|
+
}
|
|
7887
|
+
if (shouldRegisterTool("list_project_sources")) {
|
|
7888
|
+
server.tool("list_project_sources", "List all data sources attached to a project.", {
|
|
7889
|
+
project_id: exports_external.string().describe("Project ID")
|
|
7890
|
+
}, async ({ project_id }) => {
|
|
7891
|
+
try {
|
|
7892
|
+
const resolvedId = resolveId(project_id, "projects");
|
|
7893
|
+
const sources = listProjectSources(resolvedId);
|
|
7894
|
+
if (sources.length === 0) {
|
|
7895
|
+
return { content: [{ type: "text", text: "No sources configured for this project." }] };
|
|
7896
|
+
}
|
|
7897
|
+
const lines = sources.map((s) => `${s.id.slice(0, 8)} | [${s.type}] ${s.name} \u2192 ${s.uri}${s.description ? `
|
|
7898
|
+
${s.description}` : ""}`);
|
|
7899
|
+
return { content: [{ type: "text", text: `${sources.length} source(s):
|
|
7900
|
+
${lines.join(`
|
|
7901
|
+
`)}` }] };
|
|
7902
|
+
} catch (e) {
|
|
7903
|
+
return { content: [{ type: "text", text: formatError(e) }], isError: true };
|
|
7904
|
+
}
|
|
7905
|
+
});
|
|
7906
|
+
}
|
|
7682
7907
|
if (shouldRegisterTool("create_plan")) {
|
|
7683
7908
|
server.tool("create_plan", "Create a plan to group related tasks.", {
|
|
7684
7909
|
name: exports_external.string(),
|
|
@@ -8995,6 +9220,19 @@ if (shouldRegisterTool("bootstrap")) {
|
|
|
8995
9220
|
lines.push(`Other agents active: ${others.slice(0, 3).map((w) => `${w.short_id || w.id.slice(0, 8)} (${w.assigned_to || "?"})`).join(", ")}`);
|
|
8996
9221
|
}
|
|
8997
9222
|
}
|
|
9223
|
+
if (project_id) {
|
|
9224
|
+
const resolvedId = resolveId(project_id, "projects");
|
|
9225
|
+
const sources = listProjectSources(resolvedId);
|
|
9226
|
+
if (sources.length > 0) {
|
|
9227
|
+
lines.push("");
|
|
9228
|
+
lines.push(`## Data Sources`);
|
|
9229
|
+
for (const s of sources) {
|
|
9230
|
+
lines.push(`[${s.type}] ${s.name}: ${s.uri}${s.description ? ` \u2014 ${s.description}` : ""}`);
|
|
9231
|
+
}
|
|
9232
|
+
}
|
|
9233
|
+
}
|
|
9234
|
+
lines.push(`
|
|
9235
|
+
as_of: ${new Date().toISOString()}`);
|
|
8998
9236
|
return { content: [{ type: "text", text: lines.join(`
|
|
8999
9237
|
`) }] };
|
|
9000
9238
|
} catch (e) {
|
|
@@ -9045,6 +9283,9 @@ if (shouldRegisterTool("search_tools")) {
|
|
|
9045
9283
|
"log_progress",
|
|
9046
9284
|
"create_project",
|
|
9047
9285
|
"list_projects",
|
|
9286
|
+
"add_project_source",
|
|
9287
|
+
"remove_project_source",
|
|
9288
|
+
"list_project_sources",
|
|
9048
9289
|
"create_plan",
|
|
9049
9290
|
"list_plans",
|
|
9050
9291
|
"get_plan",
|
|
@@ -9153,6 +9394,15 @@ if (shouldRegisterTool("describe_tools")) {
|
|
|
9153
9394
|
Params: name(string, req), path(string, req \u2014 unique absolute path), description(string), task_list_id(string)
|
|
9154
9395
|
Example: {name: 'my-app', path: '/Users/dev/my-app'}`,
|
|
9155
9396
|
list_projects: "List all registered projects. No params.",
|
|
9397
|
+
add_project_source: `Add a data source to a project (S3, GDrive, local path, GitHub, Notion, HTTP, etc.).
|
|
9398
|
+
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
|
+
Example: {project_id: 'a1b2c3d4', type: 's3', name: 'Assets bucket', uri: 's3://my-bucket/assets/', description: 'Project media files'}`,
|
|
9400
|
+
remove_project_source: `Remove a data source from a project.
|
|
9401
|
+
Params: source_id(string, req \u2014 source ID or prefix)
|
|
9402
|
+
Example: {source_id: 'abc12345'}`,
|
|
9403
|
+
list_project_sources: `List all data sources for a project.
|
|
9404
|
+
Params: project_id(string, req)
|
|
9405
|
+
Example: {project_id: 'a1b2c3d4'}`,
|
|
9156
9406
|
create_plan: `Create a plan to group related tasks.
|
|
9157
9407
|
Params: name(string, req), project_id(string), description(string), status(active|completed|archived, default:active), task_list_id(string), agent_id(string)
|
|
9158
9408
|
Example: {name: 'Sprint 1', project_id: 'a1b2c3d4'}`,
|
|
@@ -9313,6 +9563,62 @@ server.resource("agents", "todos://agents", { description: "All registered agent
|
|
|
9313
9563
|
const agents = listAgents();
|
|
9314
9564
|
return { contents: [{ uri: "todos://agents", text: JSON.stringify(agents, null, 2), mimeType: "application/json" }] };
|
|
9315
9565
|
});
|
|
9566
|
+
if (shouldRegisterTool("create_handoff")) {
|
|
9567
|
+
server.tool("create_handoff", "Create a session handoff note for agent coordination.", {
|
|
9568
|
+
agent_id: exports_external.string().optional().describe("Agent creating the handoff"),
|
|
9569
|
+
project_id: exports_external.string().optional().describe("Project ID"),
|
|
9570
|
+
summary: exports_external.string().describe("What was accomplished this session"),
|
|
9571
|
+
completed: exports_external.array(exports_external.string()).optional().describe("Items completed"),
|
|
9572
|
+
in_progress: exports_external.array(exports_external.string()).optional().describe("Items still in progress"),
|
|
9573
|
+
blockers: exports_external.array(exports_external.string()).optional().describe("Blocking issues"),
|
|
9574
|
+
next_steps: exports_external.array(exports_external.string()).optional().describe("Recommended next actions")
|
|
9575
|
+
}, async ({ agent_id, project_id, summary, completed, in_progress, blockers, next_steps }) => {
|
|
9576
|
+
try {
|
|
9577
|
+
const { createHandoff: createHandoff2 } = (init_handoffs(), __toCommonJS(exports_handoffs));
|
|
9578
|
+
const handoff = createHandoff2({
|
|
9579
|
+
agent_id,
|
|
9580
|
+
project_id: project_id ? resolveId(project_id, "projects") : undefined,
|
|
9581
|
+
summary,
|
|
9582
|
+
completed,
|
|
9583
|
+
in_progress,
|
|
9584
|
+
blockers,
|
|
9585
|
+
next_steps
|
|
9586
|
+
});
|
|
9587
|
+
return { content: [{ type: "text", text: `Handoff created: ${handoff.id.slice(0, 8)} by ${handoff.agent_id || "unknown"}` }] };
|
|
9588
|
+
} catch (e) {
|
|
9589
|
+
return { content: [{ type: "text", text: formatError(e) }], isError: true };
|
|
9590
|
+
}
|
|
9591
|
+
});
|
|
9592
|
+
}
|
|
9593
|
+
if (shouldRegisterTool("get_latest_handoff")) {
|
|
9594
|
+
server.tool("get_latest_handoff", "Get the most recent handoff for an agent or project.", {
|
|
9595
|
+
agent_id: exports_external.string().optional().describe("Filter by agent"),
|
|
9596
|
+
project_id: exports_external.string().optional().describe("Filter by project")
|
|
9597
|
+
}, async ({ agent_id, project_id }) => {
|
|
9598
|
+
try {
|
|
9599
|
+
const { getLatestHandoff: getLatestHandoff2 } = (init_handoffs(), __toCommonJS(exports_handoffs));
|
|
9600
|
+
const handoff = getLatestHandoff2(agent_id, project_id ? resolveId(project_id, "projects") : undefined);
|
|
9601
|
+
if (!handoff)
|
|
9602
|
+
return { content: [{ type: "text", text: "No handoffs found." }] };
|
|
9603
|
+
const lines = [
|
|
9604
|
+
`${handoff.created_at.slice(0, 16)} ${handoff.agent_id || "unknown"}`,
|
|
9605
|
+
handoff.summary
|
|
9606
|
+
];
|
|
9607
|
+
if (handoff.completed?.length)
|
|
9608
|
+
lines.push(`Done: ${handoff.completed.join(", ")}`);
|
|
9609
|
+
if (handoff.in_progress?.length)
|
|
9610
|
+
lines.push(`In progress: ${handoff.in_progress.join(", ")}`);
|
|
9611
|
+
if (handoff.blockers?.length)
|
|
9612
|
+
lines.push(`Blocked: ${handoff.blockers.join(", ")}`);
|
|
9613
|
+
if (handoff.next_steps?.length)
|
|
9614
|
+
lines.push(`Next: ${handoff.next_steps.join(", ")}`);
|
|
9615
|
+
return { content: [{ type: "text", text: lines.join(`
|
|
9616
|
+
`) }] };
|
|
9617
|
+
} catch (e) {
|
|
9618
|
+
return { content: [{ type: "text", text: formatError(e) }], isError: true };
|
|
9619
|
+
}
|
|
9620
|
+
});
|
|
9621
|
+
}
|
|
9316
9622
|
server.resource("task-lists", "todos://task-lists", { description: "All task lists", mimeType: "application/json" }, async () => {
|
|
9317
9623
|
const lists = listTaskLists();
|
|
9318
9624
|
return { contents: [{ uri: "todos://task-lists", text: JSON.stringify(lists, null, 2), mimeType: "application/json" }] };
|
package/dist/server/index.js
CHANGED
|
@@ -1,21 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
2
|
// @bun
|
|
3
|
-
var __create = Object.create;
|
|
4
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
5
3
|
var __defProp = Object.defineProperty;
|
|
6
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __toESM = (mod, isNodeMode, target) => {
|
|
9
|
-
target = mod != null ? __create(__getProtoOf(mod)) : {};
|
|
10
|
-
const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
|
|
11
|
-
for (let key of __getOwnPropNames(mod))
|
|
12
|
-
if (!__hasOwnProp.call(to, key))
|
|
13
|
-
__defProp(to, key, {
|
|
14
|
-
get: () => mod[key],
|
|
15
|
-
enumerable: true
|
|
16
|
-
});
|
|
17
|
-
return to;
|
|
18
|
-
};
|
|
19
4
|
var __export = (target, all) => {
|
|
20
5
|
for (var name in all)
|
|
21
6
|
__defProp(target, name, {
|
|
@@ -282,6 +267,18 @@ function ensureSchema(db) {
|
|
|
282
267
|
metadata TEXT DEFAULT '{}',
|
|
283
268
|
created_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
284
269
|
)`);
|
|
270
|
+
ensureTable("project_sources", `
|
|
271
|
+
CREATE TABLE project_sources (
|
|
272
|
+
id TEXT PRIMARY KEY,
|
|
273
|
+
project_id TEXT NOT NULL REFERENCES projects(id) ON DELETE CASCADE,
|
|
274
|
+
type TEXT NOT NULL,
|
|
275
|
+
name TEXT NOT NULL,
|
|
276
|
+
uri TEXT NOT NULL,
|
|
277
|
+
description TEXT,
|
|
278
|
+
metadata TEXT DEFAULT '{}',
|
|
279
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
280
|
+
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
281
|
+
)`);
|
|
285
282
|
ensureColumn("projects", "task_list_id", "TEXT");
|
|
286
283
|
ensureColumn("projects", "task_prefix", "TEXT");
|
|
287
284
|
ensureColumn("projects", "task_counter", "INTEGER NOT NULL DEFAULT 0");
|
|
@@ -326,6 +323,8 @@ function ensureSchema(db) {
|
|
|
326
323
|
ensureIndex("CREATE INDEX IF NOT EXISTS idx_task_history_agent ON task_history(agent_id)");
|
|
327
324
|
ensureIndex("CREATE INDEX IF NOT EXISTS idx_tasks_recurrence_parent ON tasks(recurrence_parent_id)");
|
|
328
325
|
ensureIndex("CREATE INDEX IF NOT EXISTS idx_tasks_recurrence_rule ON tasks(recurrence_rule) WHERE recurrence_rule IS NOT NULL");
|
|
326
|
+
ensureIndex("CREATE INDEX IF NOT EXISTS idx_project_sources_project ON project_sources(project_id)");
|
|
327
|
+
ensureIndex("CREATE INDEX IF NOT EXISTS idx_project_sources_type ON project_sources(type)");
|
|
329
328
|
}
|
|
330
329
|
function backfillTaskTags(db) {
|
|
331
330
|
try {
|
|
@@ -683,6 +682,36 @@ var init_database = __esm(() => {
|
|
|
683
682
|
ALTER TABLE tasks ADD COLUMN reason TEXT;
|
|
684
683
|
ALTER TABLE tasks ADD COLUMN spawned_from_session TEXT;
|
|
685
684
|
INSERT OR IGNORE INTO _migrations (id) VALUES (19);
|
|
685
|
+
`,
|
|
686
|
+
`
|
|
687
|
+
CREATE TABLE IF NOT EXISTS handoffs (
|
|
688
|
+
id TEXT PRIMARY KEY,
|
|
689
|
+
agent_id TEXT,
|
|
690
|
+
project_id TEXT REFERENCES projects(id) ON DELETE SET NULL,
|
|
691
|
+
summary TEXT NOT NULL,
|
|
692
|
+
completed TEXT,
|
|
693
|
+
in_progress TEXT,
|
|
694
|
+
blockers TEXT,
|
|
695
|
+
next_steps TEXT,
|
|
696
|
+
created_at TEXT NOT NULL
|
|
697
|
+
);
|
|
698
|
+
INSERT OR IGNORE INTO _migrations (id) VALUES (20);
|
|
699
|
+
`,
|
|
700
|
+
`
|
|
701
|
+
CREATE TABLE IF NOT EXISTS project_sources (
|
|
702
|
+
id TEXT PRIMARY KEY,
|
|
703
|
+
project_id TEXT NOT NULL REFERENCES projects(id) ON DELETE CASCADE,
|
|
704
|
+
type TEXT NOT NULL,
|
|
705
|
+
name TEXT NOT NULL,
|
|
706
|
+
uri TEXT NOT NULL,
|
|
707
|
+
description TEXT,
|
|
708
|
+
metadata TEXT DEFAULT '{}',
|
|
709
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
710
|
+
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
711
|
+
);
|
|
712
|
+
CREATE INDEX IF NOT EXISTS idx_project_sources_project ON project_sources(project_id);
|
|
713
|
+
CREATE INDEX IF NOT EXISTS idx_project_sources_type ON project_sources(type);
|
|
714
|
+
INSERT OR IGNORE INTO _migrations (id) VALUES (21);
|
|
686
715
|
`
|
|
687
716
|
];
|
|
688
717
|
});
|
|
@@ -692,13 +721,17 @@ var exports_projects = {};
|
|
|
692
721
|
__export(exports_projects, {
|
|
693
722
|
updateProject: () => updateProject,
|
|
694
723
|
slugify: () => slugify,
|
|
724
|
+
removeProjectSource: () => removeProjectSource,
|
|
695
725
|
nextTaskShortId: () => nextTaskShortId,
|
|
696
726
|
listProjects: () => listProjects,
|
|
727
|
+
listProjectSources: () => listProjectSources,
|
|
728
|
+
getProjectWithSources: () => getProjectWithSources,
|
|
697
729
|
getProjectByPath: () => getProjectByPath,
|
|
698
730
|
getProject: () => getProject,
|
|
699
731
|
ensureProject: () => ensureProject,
|
|
700
732
|
deleteProject: () => deleteProject,
|
|
701
|
-
createProject: () => createProject
|
|
733
|
+
createProject: () => createProject,
|
|
734
|
+
addProjectSource: () => addProjectSource
|
|
702
735
|
});
|
|
703
736
|
function slugify(name) {
|
|
704
737
|
return name.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "");
|
|
@@ -775,6 +808,48 @@ function deleteProject(id, db) {
|
|
|
775
808
|
const result = d.run("DELETE FROM projects WHERE id = ?", [id]);
|
|
776
809
|
return result.changes > 0;
|
|
777
810
|
}
|
|
811
|
+
function rowToSource(row) {
|
|
812
|
+
return {
|
|
813
|
+
...row,
|
|
814
|
+
metadata: row.metadata ? JSON.parse(row.metadata) : {}
|
|
815
|
+
};
|
|
816
|
+
}
|
|
817
|
+
function addProjectSource(input, db) {
|
|
818
|
+
const d = db || getDatabase();
|
|
819
|
+
const id = uuid();
|
|
820
|
+
const timestamp = now();
|
|
821
|
+
d.run(`INSERT INTO project_sources (id, project_id, type, name, uri, description, metadata, created_at, updated_at)
|
|
822
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`, [
|
|
823
|
+
id,
|
|
824
|
+
input.project_id,
|
|
825
|
+
input.type,
|
|
826
|
+
input.name,
|
|
827
|
+
input.uri,
|
|
828
|
+
input.description || null,
|
|
829
|
+
JSON.stringify(input.metadata || {}),
|
|
830
|
+
timestamp,
|
|
831
|
+
timestamp
|
|
832
|
+
]);
|
|
833
|
+
return rowToSource(d.query("SELECT * FROM project_sources WHERE id = ?").get(id));
|
|
834
|
+
}
|
|
835
|
+
function removeProjectSource(id, db) {
|
|
836
|
+
const d = db || getDatabase();
|
|
837
|
+
const result = d.run("DELETE FROM project_sources WHERE id = ?", [id]);
|
|
838
|
+
return result.changes > 0;
|
|
839
|
+
}
|
|
840
|
+
function listProjectSources(projectId, db) {
|
|
841
|
+
const d = db || getDatabase();
|
|
842
|
+
const rows = d.query("SELECT * FROM project_sources WHERE project_id = ? ORDER BY name").all(projectId);
|
|
843
|
+
return rows.map(rowToSource);
|
|
844
|
+
}
|
|
845
|
+
function getProjectWithSources(id, db) {
|
|
846
|
+
const d = db || getDatabase();
|
|
847
|
+
const project = getProject(id, d);
|
|
848
|
+
if (!project)
|
|
849
|
+
return null;
|
|
850
|
+
project.sources = listProjectSources(id, d);
|
|
851
|
+
return project;
|
|
852
|
+
}
|
|
778
853
|
function nextTaskShortId(projectId, db) {
|
|
779
854
|
const d = db || getDatabase();
|
|
780
855
|
const project = getProject(projectId, d);
|
|
@@ -1163,6 +1238,7 @@ __export(exports_tasks, {
|
|
|
1163
1238
|
getTask: () => getTask,
|
|
1164
1239
|
getStatus: () => getStatus,
|
|
1165
1240
|
getStaleTasks: () => getStaleTasks,
|
|
1241
|
+
getOverdueTasks: () => getOverdueTasks,
|
|
1166
1242
|
getNextTask: () => getNextTask,
|
|
1167
1243
|
getBlockingDeps: () => getBlockingDeps,
|
|
1168
1244
|
getActiveWork: () => getActiveWork,
|
|
@@ -2201,6 +2277,19 @@ function bulkUpdateTasks(taskIds, updates, db) {
|
|
|
2201
2277
|
tx();
|
|
2202
2278
|
return { updated, failed };
|
|
2203
2279
|
}
|
|
2280
|
+
function getOverdueTasks(projectId, db) {
|
|
2281
|
+
const d = db || getDatabase();
|
|
2282
|
+
const nowStr = new Date().toISOString();
|
|
2283
|
+
let query = `SELECT * FROM tasks WHERE due_at IS NOT NULL AND due_at < ? AND status NOT IN ('completed', 'cancelled', 'failed')`;
|
|
2284
|
+
const params = [nowStr];
|
|
2285
|
+
if (projectId) {
|
|
2286
|
+
query += ` AND project_id = ?`;
|
|
2287
|
+
params.push(projectId);
|
|
2288
|
+
}
|
|
2289
|
+
query += ` ORDER BY due_at ASC`;
|
|
2290
|
+
const rows = d.query(query).all(...params);
|
|
2291
|
+
return rows.map(rowToTask);
|
|
2292
|
+
}
|
|
2204
2293
|
var init_tasks = __esm(() => {
|
|
2205
2294
|
init_types();
|
|
2206
2295
|
init_database();
|
package/dist/types/index.d.ts
CHANGED
|
@@ -4,6 +4,36 @@ export declare const TASK_PRIORITIES: readonly ["low", "medium", "high", "critic
|
|
|
4
4
|
export type TaskPriority = (typeof TASK_PRIORITIES)[number];
|
|
5
5
|
export declare const PLAN_STATUSES: readonly ["active", "completed", "archived"];
|
|
6
6
|
export type PlanStatus = (typeof PLAN_STATUSES)[number];
|
|
7
|
+
export interface ProjectSource {
|
|
8
|
+
id: string;
|
|
9
|
+
project_id: string;
|
|
10
|
+
type: string;
|
|
11
|
+
name: string;
|
|
12
|
+
uri: string;
|
|
13
|
+
description: string | null;
|
|
14
|
+
metadata: Record<string, unknown>;
|
|
15
|
+
created_at: string;
|
|
16
|
+
updated_at: string;
|
|
17
|
+
}
|
|
18
|
+
export interface ProjectSourceRow {
|
|
19
|
+
id: string;
|
|
20
|
+
project_id: string;
|
|
21
|
+
type: string;
|
|
22
|
+
name: string;
|
|
23
|
+
uri: string;
|
|
24
|
+
description: string | null;
|
|
25
|
+
metadata: string | null;
|
|
26
|
+
created_at: string;
|
|
27
|
+
updated_at: string;
|
|
28
|
+
}
|
|
29
|
+
export interface CreateProjectSourceInput {
|
|
30
|
+
project_id: string;
|
|
31
|
+
type: string;
|
|
32
|
+
name: string;
|
|
33
|
+
uri: string;
|
|
34
|
+
description?: string;
|
|
35
|
+
metadata?: Record<string, unknown>;
|
|
36
|
+
}
|
|
7
37
|
export interface Project {
|
|
8
38
|
id: string;
|
|
9
39
|
name: string;
|
|
@@ -14,6 +44,7 @@ export interface Project {
|
|
|
14
44
|
task_counter: number;
|
|
15
45
|
created_at: string;
|
|
16
46
|
updated_at: string;
|
|
47
|
+
sources?: ProjectSource[];
|
|
17
48
|
}
|
|
18
49
|
export interface CreateProjectInput {
|
|
19
50
|
name: 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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"}
|