brainfile 0.19.0 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -24
- package/dist/__tests__/helpers/mcp-wire.d.ts +45 -0
- package/dist/__tests__/helpers/mcp-wire.d.ts.map +1 -0
- package/dist/__tests__/helpers/mcp-wire.js +133 -0
- package/dist/__tests__/helpers/mcp-wire.js.map +1 -0
- package/dist/{chunk-YTFLC673.mjs → chunk-FOLBAGJS.mjs} +2483 -1075
- package/dist/cli.mjs +2526 -1656
- package/dist/commands/adr.d.ts +1 -9
- package/dist/commands/adr.d.ts.map +1 -1
- package/dist/commands/adr.js +11 -88
- package/dist/commands/adr.js.map +1 -1
- package/dist/commands/archive.d.ts +2 -5
- package/dist/commands/archive.d.ts.map +1 -1
- package/dist/commands/archive.js +43 -11
- package/dist/commands/archive.js.map +1 -1
- package/dist/commands/brief.d.ts +32 -0
- package/dist/commands/brief.d.ts.map +1 -0
- package/dist/commands/brief.js +161 -0
- package/dist/commands/brief.js.map +1 -0
- package/dist/commands/complete.js +1 -1
- package/dist/commands/complete.js.map +1 -1
- package/dist/commands/init.d.ts +14 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +115 -15
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/log.js +31 -18
- package/dist/commands/log.js.map +1 -1
- package/dist/commands/mcp.d.ts +9 -0
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +72 -17
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/merge-driver.d.ts +26 -0
- package/dist/commands/merge-driver.d.ts.map +1 -0
- package/dist/commands/merge-driver.js +195 -0
- package/dist/commands/merge-driver.js.map +1 -0
- package/dist/commands/migrate-tracked.d.ts +8 -0
- package/dist/commands/migrate-tracked.d.ts.map +1 -0
- package/dist/commands/migrate-tracked.js +428 -0
- package/dist/commands/migrate-tracked.js.map +1 -0
- package/dist/commands/migrate.d.ts +6 -0
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +19 -12
- package/dist/commands/migrate.js.map +1 -1
- package/dist/commands/sync.d.ts +16 -0
- package/dist/commands/sync.d.ts.map +1 -0
- package/dist/commands/sync.js +152 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/commands/where.d.ts +21 -0
- package/dist/commands/where.d.ts.map +1 -0
- package/dist/commands/where.js +135 -0
- package/dist/commands/where.js.map +1 -0
- package/dist/mcp/helpers.d.ts +8 -0
- package/dist/mcp/helpers.d.ts.map +1 -1
- package/dist/mcp/helpers.js +44 -0
- package/dist/mcp/helpers.js.map +1 -1
- package/dist/mcp/schemas.d.ts +297 -0
- package/dist/mcp/schemas.d.ts.map +1 -0
- package/dist/mcp/schemas.js +328 -0
- package/dist/mcp/schemas.js.map +1 -0
- package/dist/mcp/tools/brief_tool.d.ts +14 -0
- package/dist/mcp/tools/brief_tool.d.ts.map +1 -0
- package/dist/mcp/tools/brief_tool.js +96 -0
- package/dist/mcp/tools/brief_tool.js.map +1 -0
- package/dist/mcp/tools/contract_tool.d.ts.map +1 -1
- package/dist/mcp/tools/contract_tool.js +43 -18
- package/dist/mcp/tools/contract_tool.js.map +1 -1
- package/dist/mcp/tools/get_task_tool.d.ts.map +1 -1
- package/dist/mcp/tools/get_task_tool.js +7 -2
- package/dist/mcp/tools/get_task_tool.js.map +1 -1
- package/dist/mcp/tools/list_tasks_tool.d.ts.map +1 -1
- package/dist/mcp/tools/list_tasks_tool.js +9 -3
- package/dist/mcp/tools/list_tasks_tool.js.map +1 -1
- package/dist/mcp/tools/search_tool.d.ts.map +1 -1
- package/dist/mcp/tools/search_tool.js +17 -4
- package/dist/mcp/tools/search_tool.js.map +1 -1
- package/dist/mcp/tools/subtask_tool.d.ts.map +1 -1
- package/dist/mcp/tools/subtask_tool.js +52 -17
- package/dist/mcp/tools/subtask_tool.js.map +1 -1
- package/dist/mcp/tools/task_add_tool.d.ts.map +1 -1
- package/dist/mcp/tools/task_add_tool.js +13 -7
- package/dist/mcp/tools/task_add_tool.js.map +1 -1
- package/dist/mcp/tools/task_complete_tool.d.ts.map +1 -1
- package/dist/mcp/tools/task_complete_tool.js +39 -10
- package/dist/mcp/tools/task_complete_tool.js.map +1 -1
- package/dist/mcp/tools/task_delete_tool.d.ts.map +1 -1
- package/dist/mcp/tools/task_delete_tool.js +12 -6
- package/dist/mcp/tools/task_delete_tool.js.map +1 -1
- package/dist/mcp/tools/task_move_tool.d.ts.map +1 -1
- package/dist/mcp/tools/task_move_tool.js +21 -11
- package/dist/mcp/tools/task_move_tool.js.map +1 -1
- package/dist/mcp/tools/task_patch_tool.d.ts.map +1 -1
- package/dist/mcp/tools/task_patch_tool.js +23 -10
- package/dist/mcp/tools/task_patch_tool.js.map +1 -1
- package/dist/schemas/board.json +1 -1
- package/dist/tui/theme.d.ts +98 -0
- package/dist/tui/theme.d.ts.map +1 -0
- package/dist/tui/theme.js +141 -0
- package/dist/tui/theme.js.map +1 -0
- package/dist/{tui-P56H4X7N.mjs → tui-M2KWIG2E.mjs} +1707 -2006
- package/dist/utils/board-autosync.d.ts +22 -0
- package/dist/utils/board-autosync.d.ts.map +1 -0
- package/dist/utils/board-autosync.js +166 -0
- package/dist/utils/board-autosync.js.map +1 -0
- package/dist/utils/board-commit-hooks.d.ts +12 -0
- package/dist/utils/board-commit-hooks.d.ts.map +1 -0
- package/dist/utils/board-commit-hooks.js +51 -0
- package/dist/utils/board-commit-hooks.js.map +1 -0
- package/dist/utils/board-repo.d.ts +108 -0
- package/dist/utils/board-repo.d.ts.map +1 -0
- package/dist/utils/board-repo.js +501 -0
- package/dist/utils/board-repo.js.map +1 -0
- package/dist/utils/board-sync.d.ts +111 -0
- package/dist/utils/board-sync.d.ts.map +1 -0
- package/dist/utils/board-sync.js +469 -0
- package/dist/utils/board-sync.js.map +1 -0
- package/dist/utils/brainfile-path.d.ts +11 -1
- package/dist/utils/brainfile-path.d.ts.map +1 -1
- package/dist/utils/brainfile-path.js +39 -2
- package/dist/utils/brainfile-path.js.map +1 -1
- package/dist/utils/cli-error.d.ts +20 -0
- package/dist/utils/cli-error.d.ts.map +1 -1
- package/dist/utils/cli-error.js +36 -0
- package/dist/utils/cli-error.js.map +1 -1
- package/package.json +3 -3
- package/dist/commands/rules.d.ts +0 -68
- package/dist/commands/rules.d.ts.map +0 -1
- package/dist/commands/rules.js +0 -322
- package/dist/commands/rules.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract_tool.js","sourceRoot":"","sources":["../../../src/mcp/tools/contract_tool.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"contract_tool.js","sourceRoot":"","sources":["../../../src/mcp/tools/contract_tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_task_tool.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/get_task_tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"get_task_tool.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/get_task_tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAM9D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAqChF"}
|
|
@@ -4,6 +4,7 @@ exports.registerGetTaskTool = registerGetTaskTool;
|
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const v2_detect_1 = require("../../utils/v2-detect");
|
|
6
6
|
const helpers_1 = require("../helpers");
|
|
7
|
+
const schemas_1 = require("../schemas");
|
|
7
8
|
function registerGetTaskTool(server, defaultFile) {
|
|
8
9
|
server.registerTool('get_task', {
|
|
9
10
|
title: 'Get Task',
|
|
@@ -11,7 +12,8 @@ function registerGetTaskTool(server, defaultFile) {
|
|
|
11
12
|
inputSchema: zod_1.z.object({
|
|
12
13
|
file: zod_1.z.string().optional().describe('Path to brainfile.md (default: brainfile.md)'),
|
|
13
14
|
task: zod_1.z.string().describe('Task ID to retrieve')
|
|
14
|
-
})
|
|
15
|
+
}),
|
|
16
|
+
outputSchema: schemas_1.getTaskOutputSchema
|
|
15
17
|
}, async ({ file, task }) => {
|
|
16
18
|
const filePath = file || defaultFile;
|
|
17
19
|
const guard = (0, helpers_1.requireV2)(filePath);
|
|
@@ -30,7 +32,10 @@ function registerGetTaskTool(server, defaultFile) {
|
|
|
30
32
|
column: isLog ? 'Completed' : (doc.task.column || 'unknown'),
|
|
31
33
|
...(isLog && { archived: true }),
|
|
32
34
|
};
|
|
33
|
-
return {
|
|
35
|
+
return {
|
|
36
|
+
content: [{ type: 'text', text: JSON.stringify(output, null, 2) }],
|
|
37
|
+
structuredContent: output,
|
|
38
|
+
};
|
|
34
39
|
});
|
|
35
40
|
}
|
|
36
41
|
//# sourceMappingURL=get_task_tool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_task_tool.js","sourceRoot":"","sources":["../../../src/mcp/tools/get_task_tool.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"get_task_tool.js","sourceRoot":"","sources":["../../../src/mcp/tools/get_task_tool.ts"],"names":[],"mappings":";;AAMA,kDAqCC;AA1CD,6BAAwB;AACxB,qDAAkF;AAClF,wCAAuC;AACvC,wCAAiD;AAEjD,SAAgB,mBAAmB,CAAC,MAAiB,EAAE,WAAmB;IACxE,MAAM,CAAC,YAAY,CACjB,UAAU,EACV;QACE,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,sDAAsD;QACnE,WAAW,EAAE,OAAC,CAAC,MAAM,CAAC;YACd,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;YACpF,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;SACjD,CAAC;QACR,YAAY,EAAE,6BAAmB;KAClC,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,IAAI,WAAW,CAAC;QAErC,MAAM,KAAK,GAAG,IAAA,mBAAS,EAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;QAExB,MAAM,IAAI,GAAG,IAAA,qBAAS,EAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,IAAA,sBAAU,EAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,0BAA0B,IAAI,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACzG,CAAC;QACD,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QAC7B,MAAM,WAAW,GAAG,IAAA,8BAAkB,EAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG;YACb,GAAG,GAAG,CAAC,IAAI;YACX,GAAG,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,CAAC;YAC5D,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC;YAC5D,GAAG,CAAC,KAAK,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;SACjC,CAAC;QACF,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YAC3E,iBAAiB,EAAE,MAAM;SAC1B,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list_tasks_tool.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/list_tasks_tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"list_tasks_tool.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/list_tasks_tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAM9D,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CA4ClF"}
|
|
@@ -4,6 +4,7 @@ exports.registerListTasksTool = registerListTasksTool;
|
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const v2_detect_1 = require("../../utils/v2-detect");
|
|
6
6
|
const helpers_1 = require("../helpers");
|
|
7
|
+
const schemas_1 = require("../schemas");
|
|
7
8
|
function registerListTasksTool(server, defaultFile) {
|
|
8
9
|
server.registerTool('list_tasks', {
|
|
9
10
|
title: 'List Tasks',
|
|
@@ -13,7 +14,8 @@ function registerListTasksTool(server, defaultFile) {
|
|
|
13
14
|
column: zod_1.z.string().optional().describe('Filter by column ID or name'),
|
|
14
15
|
tag: zod_1.z.string().optional().describe('Filter by tag'),
|
|
15
16
|
type: zod_1.z.string().optional().describe('Filter by document type (e.g., epic, adr, plan). Only returns tasks matching this type.'),
|
|
16
|
-
})
|
|
17
|
+
}),
|
|
18
|
+
outputSchema: schemas_1.listTasksOutputSchema
|
|
17
19
|
}, async ({ file, column, tag, type: filterType }) => {
|
|
18
20
|
const filePath = file || defaultFile;
|
|
19
21
|
const guard = (0, helpers_1.requireV2)(filePath);
|
|
@@ -36,10 +38,14 @@ function registerListTasksTool(server, defaultFile) {
|
|
|
36
38
|
if (taskType !== filterType)
|
|
37
39
|
continue;
|
|
38
40
|
}
|
|
39
|
-
tasks.push({ id: task.id, title: task.title, column: col.
|
|
41
|
+
tasks.push({ id: task.id, title: task.title, column: col.id, priority: task.priority, tags: task.tags, assignee: task.assignee });
|
|
40
42
|
}
|
|
41
43
|
}
|
|
42
|
-
|
|
44
|
+
const output = { tasks, count: tasks.length };
|
|
45
|
+
return {
|
|
46
|
+
content: [{ type: 'text', text: JSON.stringify(output, null, 2) }],
|
|
47
|
+
structuredContent: output,
|
|
48
|
+
};
|
|
43
49
|
});
|
|
44
50
|
}
|
|
45
51
|
//# sourceMappingURL=list_tasks_tool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list_tasks_tool.js","sourceRoot":"","sources":["../../../src/mcp/tools/list_tasks_tool.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"list_tasks_tool.js","sourceRoot":"","sources":["../../../src/mcp/tools/list_tasks_tool.ts"],"names":[],"mappings":";;AAMA,sDA4CC;AAjDD,6BAAwB;AACxB,qDAAyD;AACzD,wCAAuC;AACvC,wCAAmD;AAEnD,SAAgB,qBAAqB,CAAC,MAAiB,EAAE,WAAmB;IAC1E,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,mJAAmJ;QAChK,WAAW,EAAE,OAAC,CAAC,MAAM,CAAC;YACd,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;YACpF,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;YACrE,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;YACpD,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yFAAyF,CAAC;SAChI,CAAC;QACR,YAAY,EAAE,+BAAqB;KACpC,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;QAChD,MAAM,QAAQ,GAAG,IAAI,IAAI,WAAW,CAAC;QAErC,MAAM,KAAK,GAAG,IAAA,mBAAS,EAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;QAExB,MAAM,KAAK,GAAG,IAAA,4BAAgB,EAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,KAAK,GAAgH,EAAE,CAAC;QAC9H,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAChC,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,SAAS,GAAG,GAAG,CAAC,EAAE,KAAK,MAAM,CAAC;gBACpC,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC;gBACrE,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW;oBAAE,SAAS;YAC3C,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBAC7B,IAAI,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBAAE,SAAS;gBAC9D,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC;oBACrC,IAAI,QAAQ,KAAK,UAAU;wBAAE,SAAS;gBACxC,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACpI,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;QAC9C,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YAC3E,iBAAiB,EAAE,MAAM;SAC1B,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search_tool.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/search_tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"search_tool.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/search_tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAY9D,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAwF/E"}
|
|
@@ -5,6 +5,7 @@ const zod_1 = require("zod");
|
|
|
5
5
|
const core_1 = require("@brainfile/core");
|
|
6
6
|
const v2_detect_1 = require("../../utils/v2-detect");
|
|
7
7
|
const helpers_1 = require("../helpers");
|
|
8
|
+
const schemas_1 = require("../schemas");
|
|
8
9
|
function registerSearchTool(server, defaultFile) {
|
|
9
10
|
server.registerTool('search', {
|
|
10
11
|
title: 'Search',
|
|
@@ -17,7 +18,8 @@ function registerSearchTool(server, defaultFile) {
|
|
|
17
18
|
assignee: zod_1.z.string().optional().describe('Filter by assignee'),
|
|
18
19
|
recent: zod_1.z.boolean().optional().describe('List recently completed tasks (v2 only)'),
|
|
19
20
|
task: zod_1.z.string().optional().describe('View a specific task/log entry (v2 only)'),
|
|
20
|
-
})
|
|
21
|
+
}),
|
|
22
|
+
outputSchema: schemas_1.searchOutputSchema
|
|
21
23
|
}, async ({ file, query, column, priority, assignee, recent, task }) => {
|
|
22
24
|
const filePath = file || defaultFile;
|
|
23
25
|
const guard = (0, helpers_1.requireV2)(filePath);
|
|
@@ -37,7 +39,10 @@ function registerSearchTool(server, defaultFile) {
|
|
|
37
39
|
description: (0, v2_detect_1.extractDescription)(found.doc.body),
|
|
38
40
|
log: (0, v2_detect_1.extractLog)(found.doc.body),
|
|
39
41
|
};
|
|
40
|
-
return {
|
|
42
|
+
return {
|
|
43
|
+
content: [{ type: 'text', text: JSON.stringify(output, null, 2) }],
|
|
44
|
+
structuredContent: output,
|
|
45
|
+
};
|
|
41
46
|
}
|
|
42
47
|
if (recent) {
|
|
43
48
|
const dirs = (0, v2_detect_1.getV2Dirs)(filePath);
|
|
@@ -48,7 +53,11 @@ function registerSearchTool(server, defaultFile) {
|
|
|
48
53
|
title: doc.task.title,
|
|
49
54
|
completedAt: doc.task.completedAt,
|
|
50
55
|
}));
|
|
51
|
-
|
|
56
|
+
const output = { logs, count: logs.length };
|
|
57
|
+
return {
|
|
58
|
+
content: [{ type: 'text', text: JSON.stringify(output, null, 2) }],
|
|
59
|
+
structuredContent: output,
|
|
60
|
+
};
|
|
52
61
|
}
|
|
53
62
|
if (!query) {
|
|
54
63
|
return { content: [{ type: 'text', text: 'Error: query is required unless recent or task is provided' }], isError: true };
|
|
@@ -68,7 +77,11 @@ function registerSearchTool(server, defaultFile) {
|
|
|
68
77
|
}
|
|
69
78
|
}
|
|
70
79
|
matches.sort((a, b) => b.score - a.score);
|
|
71
|
-
|
|
80
|
+
const output = { results: matches, count: matches.length };
|
|
81
|
+
return {
|
|
82
|
+
content: [{ type: 'text', text: JSON.stringify(output, null, 2) }],
|
|
83
|
+
structuredContent: output,
|
|
84
|
+
};
|
|
72
85
|
});
|
|
73
86
|
}
|
|
74
87
|
//# sourceMappingURL=search_tool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search_tool.js","sourceRoot":"","sources":["../../../src/mcp/tools/search_tool.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"search_tool.js","sourceRoot":"","sources":["../../../src/mcp/tools/search_tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subtask_tool.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/subtask_tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"subtask_tool.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/subtask_tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAa9D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAmMhF"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.registerSubtaskTool = registerSubtaskTool;
|
|
4
|
+
const helpers_1 = require("../helpers");
|
|
4
5
|
const zod_1 = require("zod");
|
|
5
6
|
const core_1 = require("@brainfile/core");
|
|
6
7
|
const v2_detect_1 = require("../../utils/v2-detect");
|
|
7
|
-
const
|
|
8
|
+
const helpers_2 = require("../helpers");
|
|
9
|
+
const schemas_1 = require("../schemas");
|
|
8
10
|
function registerSubtaskTool(server, defaultFile) {
|
|
9
11
|
server.registerTool('subtask', {
|
|
10
12
|
title: 'Subtask',
|
|
@@ -19,12 +21,13 @@ function registerSubtaskTool(server, defaultFile) {
|
|
|
19
21
|
titles: zod_1.z.array(zod_1.z.string()).optional().describe('Optional titles for batch update action'),
|
|
20
22
|
completed: zod_1.z.boolean().optional().describe('For toggle action: set explicit completed state (true/false) instead of flipping'),
|
|
21
23
|
all: zod_1.z.boolean().optional().describe('For toggle/delete action: target all subtasks in the task'),
|
|
22
|
-
})
|
|
23
|
-
|
|
24
|
+
}),
|
|
25
|
+
outputSchema: schemas_1.subtaskOutputSchema
|
|
26
|
+
}, (0, helpers_1.withBoardCommit)('subtask', defaultFile, async ({ action, file, task, subtask, subtasks, title, titles, completed, all }) => {
|
|
24
27
|
const filePath = file || defaultFile;
|
|
25
28
|
const listParam = subtasks ?? (subtask ? [subtask] : []);
|
|
26
29
|
const useAll = all === true;
|
|
27
|
-
const guard = (0,
|
|
30
|
+
const guard = (0, helpers_2.requireV2)(filePath);
|
|
28
31
|
if (guard)
|
|
29
32
|
return guard;
|
|
30
33
|
const resolveUpdateTitles = (ids) => {
|
|
@@ -56,10 +59,19 @@ function registerSubtaskTool(server, defaultFile) {
|
|
|
56
59
|
return { content: [{ type: 'text', text: `Error: ${result.error || 'Failed to add subtasks'}` }], isError: true };
|
|
57
60
|
}
|
|
58
61
|
const added = result.affected.map(st => ({ id: st.id, title: st.title }));
|
|
62
|
+
// Plural shape regardless of count: item count must not change the
|
|
63
|
+
// structure agents parse. Only the text keeps its singular phrasing.
|
|
64
|
+
const output = { action: 'add', added, count: added.length };
|
|
59
65
|
if (added.length === 1) {
|
|
60
|
-
return {
|
|
61
|
-
|
|
62
|
-
|
|
66
|
+
return {
|
|
67
|
+
content: [{ type: 'text', text: `Subtask added: ${added[0].id} - ${added[0].title}` }],
|
|
68
|
+
structuredContent: output,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
return {
|
|
72
|
+
content: [{ type: 'text', text: JSON.stringify(output, null, 2) }],
|
|
73
|
+
structuredContent: output,
|
|
74
|
+
};
|
|
63
75
|
}
|
|
64
76
|
// ── delete ─────────────────────────────────────────────────────────────
|
|
65
77
|
if (action === 'delete') {
|
|
@@ -81,10 +93,17 @@ function registerSubtaskTool(server, defaultFile) {
|
|
|
81
93
|
}
|
|
82
94
|
const deleted = result.affected.map(st => st.id);
|
|
83
95
|
const missing = result.missing ?? [];
|
|
96
|
+
const output = { action: 'delete', deleted, missing, count: deleted.length };
|
|
84
97
|
if (!useAll && deleted.length === 1 && missing.length === 0) {
|
|
85
|
-
return {
|
|
86
|
-
|
|
87
|
-
|
|
98
|
+
return {
|
|
99
|
+
content: [{ type: 'text', text: `Subtask ${deleted[0]} deleted successfully` }],
|
|
100
|
+
structuredContent: output,
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
return {
|
|
104
|
+
content: [{ type: 'text', text: JSON.stringify(output, null, 2) }],
|
|
105
|
+
structuredContent: output,
|
|
106
|
+
};
|
|
88
107
|
}
|
|
89
108
|
// ── toggle ─────────────────────────────────────────────────────────────
|
|
90
109
|
if (action === 'toggle') {
|
|
@@ -105,11 +124,20 @@ function registerSubtaskTool(server, defaultFile) {
|
|
|
105
124
|
return { content: [{ type: 'text', text: `Error: ${result.error || 'Failed to toggle subtasks'}` }], isError: true };
|
|
106
125
|
}
|
|
107
126
|
const updated = result.affected.map(st => ({ id: st.id, completed: st.completed }));
|
|
127
|
+
// `toggle` and `update` both key their payload `updated` but carry
|
|
128
|
+
// different item shapes, so the action tag is what tells them apart.
|
|
129
|
+
const output = { action: 'toggle', updated, count: updated.length };
|
|
108
130
|
if (!useAll && updated.length === 1) {
|
|
109
131
|
const status = updated[0].completed ? 'completed' : 'incomplete';
|
|
110
|
-
return {
|
|
111
|
-
|
|
112
|
-
|
|
132
|
+
return {
|
|
133
|
+
content: [{ type: 'text', text: `Subtask ${updated[0].id} marked as ${status}` }],
|
|
134
|
+
structuredContent: output,
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
return {
|
|
138
|
+
content: [{ type: 'text', text: JSON.stringify(output, null, 2) }],
|
|
139
|
+
structuredContent: output,
|
|
140
|
+
};
|
|
113
141
|
}
|
|
114
142
|
// ── update ─────────────────────────────────────────────────────────────
|
|
115
143
|
if (action === 'update') {
|
|
@@ -135,12 +163,19 @@ function registerSubtaskTool(server, defaultFile) {
|
|
|
135
163
|
return { content: [{ type: 'text', text: `Error: ${result.error || 'Failed to update subtasks'}` }], isError: true };
|
|
136
164
|
}
|
|
137
165
|
const updated = result.affected.map(st => ({ id: st.id, title: st.title }));
|
|
166
|
+
const output = { action: 'update', updated, count: updated.length };
|
|
138
167
|
if (updated.length === 1) {
|
|
139
|
-
return {
|
|
140
|
-
|
|
141
|
-
|
|
168
|
+
return {
|
|
169
|
+
content: [{ type: 'text', text: `Subtask ${updated[0].id} updated to "${updated[0].title}"` }],
|
|
170
|
+
structuredContent: output,
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
return {
|
|
174
|
+
content: [{ type: 'text', text: JSON.stringify(output, null, 2) }],
|
|
175
|
+
structuredContent: output,
|
|
176
|
+
};
|
|
142
177
|
}
|
|
143
178
|
return { content: [{ type: 'text', text: `Error: Unknown action: ${action}` }], isError: true };
|
|
144
|
-
});
|
|
179
|
+
}));
|
|
145
180
|
}
|
|
146
181
|
//# sourceMappingURL=subtask_tool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subtask_tool.js","sourceRoot":"","sources":["../../../src/mcp/tools/subtask_tool.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"subtask_tool.js","sourceRoot":"","sources":["../../../src/mcp/tools/subtask_tool.ts"],"names":[],"mappings":";;AAaA,kDAmMC;AA/MD,wCAA6C;AAC7C,6BAAwB;AACxB,0CAKyB;AACzB,qDAA8D;AAC9D,wCAAuC;AACvC,wCAAiD;AAEjD,SAAgB,mBAAmB,CAAC,MAAiB,EAAE,WAAmB;IACxE,MAAM,CAAC,YAAY,CACjB,SAAS,EACT;QACE,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,wFAAwF;QACrG,WAAW,EAAE,OAAC,CAAC,MAAM,CAAC;YACd,MAAM,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAChF,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;YACpF,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAC3C,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;YACtF,QAAQ,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;YAC3F,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;YACpE,MAAM,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;YAC1F,SAAS,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kFAAkF,CAAC;YAC9H,GAAG,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;SAClG,CAAC;QACR,YAAY,EAAE,6BAAmB;KAClC,EACD,IAAA,yBAAe,EAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE;QACzH,MAAM,QAAQ,GAAG,IAAI,IAAI,WAAW,CAAC;QACrC,MAAM,SAAS,GAAG,QAAQ,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,GAAG,KAAK,IAAI,CAAC;QAE5B,MAAM,KAAK,GAAG,IAAA,mBAAS,EAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;QAExB,MAAM,mBAAmB,GAAG,CAAC,GAAa,EAAiE,EAAE;YAC3G,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,sFAAsF,EAAE,CAAC;gBACtH,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBACvE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAC9B,CAAC;YACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACpD,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,+CAA+C,EAAE,CAAC;QAC/E,CAAC,CAAC;QAEF,0EAA0E;QAC1E,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACrB,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACzE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,uDAAuD,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAChI,CAAC;YAED,MAAM,IAAI,GAAG,IAAA,qBAAS,EAAC,QAAQ,CAAC,CAAC;YACjC,MAAM,KAAK,GAAG,IAAA,sBAAU,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,0BAA0B,IAAI,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACzG,CAAC;YAED,MAAM,MAAM,GAAG,IAAA,wBAAiB,EAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC9D,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACxC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,MAAM,CAAC,KAAK,IAAI,wBAAwB,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC7H,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC1E,mEAAmE;YACnE,qEAAqE;YACrE,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,KAAc,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;YAEtE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,kBAAkB,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;oBAC/F,iBAAiB,EAAE,MAAM;iBAC1B,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC3E,iBAAiB,EAAE,MAAM;aAC1B,CAAC;QACJ,CAAC;QAED,0EAA0E;QAC1E,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,IAAA,qBAAS,EAAC,QAAQ,CAAC,CAAC;YACjC,MAAM,KAAK,GAAG,IAAA,sBAAU,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,0BAA0B,IAAI,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACzG,CAAC;YACD,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;YACzB,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACtG,CAAC;YAED,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,4EAA4E,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACrJ,CAAC;YAED,MAAM,MAAM,GAAG,IAAA,6BAAsB,EAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAClF,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACxC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,MAAM,CAAC,KAAK,IAAI,2BAA2B,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAChI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,QAAiB,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;YAEtF,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5D,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,WAAW,OAAO,CAAC,CAAC,CAAC,uBAAuB,EAAE,CAAC;oBACxF,iBAAiB,EAAE,MAAM;iBAC1B,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC3E,iBAAiB,EAAE,MAAM;aAC1B,CAAC;QACJ,CAAC;QAED,0EAA0E;QAC1E,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,IAAA,qBAAS,EAAC,QAAQ,CAAC,CAAC;YACjC,MAAM,KAAK,GAAG,IAAA,sBAAU,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,0BAA0B,IAAI,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACzG,CAAC;YACD,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;YACzB,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACtG,CAAC;YAED,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,4EAA4E,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACrJ,CAAC;YAED,MAAM,MAAM,GAAG,IAAA,2BAAoB,EAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAC3F,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACxC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,MAAM,CAAC,KAAK,IAAI,2BAA2B,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAChI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACpF,mEAAmE;YACnE,qEAAqE;YACrE,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,QAAiB,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;YAE7E,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC;gBACjE,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,WAAW,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,MAAM,EAAE,EAAE,CAAC;oBAC1F,iBAAiB,EAAE,MAAM;iBAC1B,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC3E,iBAAiB,EAAE,MAAM;aAC1B,CAAC;QACJ,CAAC;QAED,0EAA0E;QAC1E,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,SAAS,GAAG,SAAS,CAAC;YAC5B,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,0DAA0D,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACnI,CAAC;YACD,MAAM,cAAc,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;YACtD,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;gBACvB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,cAAc,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACzG,CAAC;YAED,MAAM,IAAI,GAAG,IAAA,qBAAS,EAAC,QAAQ,CAAC,CAAC;YACjC,MAAM,KAAK,GAAG,IAAA,sBAAU,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,0BAA0B,IAAI,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACzG,CAAC;YACD,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;YACzB,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACtG,CAAC;YAED,MAAM,MAAM,GAAG,IAAA,2BAAoB,EACjC,KAAK,CAAC,QAAQ,EACd,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CACpE,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACxC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,MAAM,CAAC,KAAK,IAAI,2BAA2B,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAChI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC5E,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,QAAiB,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;YAE7E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,WAAW,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,gBAAgB,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBACvG,iBAAiB,EAAE,MAAM;iBAC1B,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC3E,iBAAiB,EAAE,MAAM;aAC1B,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,0BAA0B,MAAM,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3G,CAAC,CACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task_add_tool.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/task_add_tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"task_add_tool.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/task_add_tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAa9D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAqIhF"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.registerTaskAddTool = registerTaskAddTool;
|
|
4
|
+
const helpers_1 = require("../helpers");
|
|
4
5
|
const zod_1 = require("zod");
|
|
5
6
|
const core_1 = require("@brainfile/core");
|
|
6
7
|
const v2_detect_1 = require("../../utils/v2-detect");
|
|
7
8
|
const core_2 = require("@brainfile/core");
|
|
8
9
|
const core_3 = require("@brainfile/core");
|
|
9
|
-
const
|
|
10
|
+
const helpers_2 = require("../helpers");
|
|
11
|
+
const schemas_1 = require("../schemas");
|
|
10
12
|
function registerTaskAddTool(server, defaultFile) {
|
|
11
13
|
server.registerTool('task_add', {
|
|
12
14
|
title: 'Add Task',
|
|
@@ -34,10 +36,11 @@ function registerTaskAddTool(server, defaultFile) {
|
|
|
34
36
|
// Aliases (some clients prefer camelCase)
|
|
35
37
|
withContract: zod_1.z.boolean().optional().describe('Alias of with_contract'),
|
|
36
38
|
validationCommands: zod_1.z.array(zod_1.z.string()).optional().describe('Alias of validation_commands'),
|
|
37
|
-
})
|
|
38
|
-
|
|
39
|
+
}),
|
|
40
|
+
outputSchema: schemas_1.taskAddOutputSchema
|
|
41
|
+
}, (0, helpers_1.withBoardCommit)('task_add', defaultFile, async ({ file, column, title, description, priority, tags, assignee, dueDate, subtasks, relatedFiles, type: docType, status, parentId, with_contract, ready: contractReady, deliverables, validation_commands, constraints, withContract, validationCommands, }) => {
|
|
39
42
|
const filePath = file || defaultFile;
|
|
40
|
-
const guard = (0,
|
|
43
|
+
const guard = (0, helpers_2.requireV2)(filePath);
|
|
41
44
|
if (guard)
|
|
42
45
|
return guard;
|
|
43
46
|
try {
|
|
@@ -50,7 +53,7 @@ function registerTaskAddTool(server, defaultFile) {
|
|
|
50
53
|
const typePrefix = docType || 'task';
|
|
51
54
|
const typeValidation = (0, core_3.validateType)(board, typePrefix);
|
|
52
55
|
if (!typeValidation.valid) {
|
|
53
|
-
return (0,
|
|
56
|
+
return (0, helpers_2.mcpStructuredError)(typeValidation.error || `Invalid type: ${typePrefix}`, 'type', typePrefix);
|
|
54
57
|
}
|
|
55
58
|
let targetColumn = board.columns.find(c => c.id === column);
|
|
56
59
|
if (!targetColumn)
|
|
@@ -90,11 +93,14 @@ function registerTaskAddTool(server, defaultFile) {
|
|
|
90
93
|
if (!result.success || !result.task) {
|
|
91
94
|
return { content: [{ type: 'text', text: `Error: ${result.error || 'Failed to add task'}` }], isError: true };
|
|
92
95
|
}
|
|
93
|
-
return {
|
|
96
|
+
return {
|
|
97
|
+
content: [{ type: 'text', text: `Task added successfully: ${result.task.id} - ${title}` }],
|
|
98
|
+
structuredContent: { id: result.task.id, title },
|
|
99
|
+
};
|
|
94
100
|
}
|
|
95
101
|
catch (e) {
|
|
96
102
|
return { content: [{ type: 'text', text: `Error: ${e.message}` }], isError: true };
|
|
97
103
|
}
|
|
98
|
-
});
|
|
104
|
+
}));
|
|
99
105
|
}
|
|
100
106
|
//# sourceMappingURL=task_add_tool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task_add_tool.js","sourceRoot":"","sources":["../../../src/mcp/tools/task_add_tool.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"task_add_tool.js","sourceRoot":"","sources":["../../../src/mcp/tools/task_add_tool.ts"],"names":[],"mappings":";;AAaA,kDAqIC;AAjJD,wCAA6C;AAC7C,6BAAwB;AACxB,0CAA8C;AAC9C,qDAG+B;AAC/B,0CAAgD;AAChD,0CAAgE;AAChE,wCAA2D;AAC3D,wCAAiD;AAEjD,SAAgB,mBAAmB,CAAC,MAAiB,EAAE,WAAmB;IACxE,MAAM,CAAC,YAAY,CACjB,UAAU,EACV;QACE,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,iJAAiJ;QAC9J,WAAW,EAAE,OAAC,CAAC,MAAM,CAAC;YACd,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;YACpF,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;YAC/D,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;YACxC,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAC/D,QAAQ,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;YAC5F,IAAI,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC1D,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;YACzD,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YAChE,QAAQ,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;YACxF,YAAY,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YAC3E,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4EAA4E,CAAC;YAClH,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mEAAmE,CAAC;YAC3G,+BAA+B;YAC/B,aAAa,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2GAA2G,CAAC;YAC3J,KAAK,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6DAA6D,CAAC;YACrG,YAAY,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;YACrG,mBAAmB,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;YAC5F,WAAW,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YAC5E,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;YAC/F,0CAA0C;YAC1C,YAAY,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YACvE,kBAAkB,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;SAC5F,CAAC;QACR,YAAY,EAAE,6BAAmB;KAClC,EACD,IAAA,yBAAe,EAAC,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,EAC9C,IAAI,EACJ,MAAM,EACN,KAAK,EACL,WAAW,EACX,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,IAAI,EAAE,OAAO,EACb,MAAM,EACN,QAAQ,EACR,aAAa,EACb,KAAK,EAAE,aAAa,EACpB,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,kBAAkB,GACnB,EAAE,EAAE;QACH,MAAM,QAAQ,GAAG,IAAI,IAAI,WAAW,CAAC;QAErC,MAAM,KAAK,GAAG,IAAA,mBAAS,EAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;QAExB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAA,wBAAY,EAAC,QAAQ,CAAC,CAAC;YACpC,MAAM,SAAS,GAAG,IAAA,sBAAe,EAAC,QAAQ,CAAC,CAAC;YAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,qCAAqC,QAAQ,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACxH,CAAC;YACD,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC;YAC/B,MAAM,UAAU,GAAG,OAAO,IAAI,MAAM,CAAC;YACrC,MAAM,cAAc,GAAG,IAAA,mBAAY,EAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YACvD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;gBAC1B,OAAO,IAAA,4BAAkB,EACvB,cAAc,CAAC,KAAK,IAAI,iBAAiB,UAAU,EAAE,EACrD,MAAM,EACN,UAAU,CACX,CAAC;YACJ,CAAC;YAED,IAAI,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;YAC5D,IAAI,CAAC,YAAY;gBAAE,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YAC1G,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5E,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,4BAA4B,MAAM,gBAAgB,SAAS,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACtI,CAAC;YAED,MAAM,aAAa,GACjB,OAAO,CAAC,aAAa,IAAI,YAAY,CAAC;gBACtC,OAAO,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;gBAChD,OAAO,CAAC,mBAAmB,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC9D,OAAO,CAAC,kBAAkB,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC5D,OAAO,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAEjD,MAAM,QAAQ,GAAG,aAAa;gBAC5B,CAAC,CAAC,IAAA,oBAAa,EAAC;oBACZ,gBAAgB,EAAE,YAAY;oBAC9B,kBAAkB,EAAE,mBAAmB,IAAI,kBAAkB;oBAC7D,WAAW;oBACX,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;iBAC1C,CAAC;gBACJ,CAAC,CAAC,SAAS,CAAC;YAEd,MAAM,MAAM,GAAG,IAAA,kBAAW,EACxB,IAAI,CAAC,QAAQ,EACb;gBACE,KAAK;gBACL,MAAM,EAAE,YAAY,CAAC,EAAE;gBACvB,GAAG,CAAC,OAAO,IAAI,OAAO,KAAK,MAAM,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gBACvD,WAAW;gBACX,QAAQ;gBACR,IAAI;gBACJ,QAAQ;gBACR,OAAO;gBACP,YAAY;gBACZ,QAAQ;gBACR,QAAQ;gBACR,MAAM;gBACN,QAAQ;aACT,EACD,WAAW,CAAC,CAAC,CAAC,IAAA,uBAAW,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAC3C,IAAI,CAAC,OAAO,CACb,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACpC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,MAAM,CAAC,KAAK,IAAI,oBAAoB,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACzH,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,4BAA4B,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,EAAE,EAAE,CAAC;gBACnG,iBAAiB,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE;aACjD,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAW,CAAW,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACzG,CAAC;IACH,CAAC,CACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task_complete_tool.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/task_complete_tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"task_complete_tool.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/task_complete_tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAkB9D,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CA4JrF"}
|
|
@@ -34,6 +34,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.registerTaskCompleteTool = registerTaskCompleteTool;
|
|
37
|
+
const helpers_1 = require("../helpers");
|
|
37
38
|
const zod_1 = require("zod");
|
|
38
39
|
const fs = __importStar(require("fs"));
|
|
39
40
|
const core_1 = require("@brainfile/core");
|
|
@@ -42,7 +43,8 @@ const github_auth_1 = require("../../utils/github-auth");
|
|
|
42
43
|
const linear_auth_1 = require("../../utils/linear-auth");
|
|
43
44
|
const config_1 = require("../../utils/config");
|
|
44
45
|
const complete_1 = require("../../commands/complete");
|
|
45
|
-
const
|
|
46
|
+
const helpers_2 = require("../helpers");
|
|
47
|
+
const schemas_1 = require("../schemas");
|
|
46
48
|
function registerTaskCompleteTool(server, defaultFile) {
|
|
47
49
|
server.registerTool('task_complete', {
|
|
48
50
|
title: 'Complete Task',
|
|
@@ -51,18 +53,26 @@ function registerTaskCompleteTool(server, defaultFile) {
|
|
|
51
53
|
file: zod_1.z.string().optional().describe('Path to brainfile.md (default: brainfile.md)'),
|
|
52
54
|
task: zod_1.z.string().describe('Task ID to complete'),
|
|
53
55
|
destination: zod_1.z.enum(['local', 'github', 'linear']).optional().describe('Optional archive destination. If omitted, performs normal completion flow.'),
|
|
54
|
-
})
|
|
55
|
-
|
|
56
|
+
}),
|
|
57
|
+
outputSchema: schemas_1.taskCompleteOutputSchema
|
|
58
|
+
}, (0, helpers_1.withBoardCommit)('task_complete', defaultFile, async ({ file, task, destination }) => {
|
|
56
59
|
const filePath = file || defaultFile;
|
|
57
60
|
try {
|
|
58
|
-
const guard = (0,
|
|
61
|
+
const guard = (0, helpers_2.requireV2)(filePath);
|
|
59
62
|
if (guard)
|
|
60
63
|
return guard;
|
|
61
64
|
// Default behavior: normal complete flow (task moves to logs/)
|
|
62
65
|
if (!destination) {
|
|
63
66
|
const result = (0, complete_1.completeCommand)({ file: filePath, task }, { log: () => { }, warn: () => { }, error: () => { }, info: () => { } });
|
|
67
|
+
// `completedAt` was previously only interpolated into the message.
|
|
64
68
|
return {
|
|
65
|
-
content: [{ type: 'text', text: `Task ${task} completed at ${result.completedAt}` }]
|
|
69
|
+
content: [{ type: 'text', text: `Task ${task} completed at ${result.completedAt}` }],
|
|
70
|
+
structuredContent: {
|
|
71
|
+
destination: 'local',
|
|
72
|
+
taskId: task,
|
|
73
|
+
completedAt: result.completedAt,
|
|
74
|
+
archived: false,
|
|
75
|
+
},
|
|
66
76
|
};
|
|
67
77
|
}
|
|
68
78
|
// Local archive: move the task file into logs/
|
|
@@ -72,7 +82,7 @@ function registerTaskCompleteTool(server, defaultFile) {
|
|
|
72
82
|
if (!found) {
|
|
73
83
|
return { content: [{ type: 'text', text: `Error: Task not found: ${task}` }], isError: true };
|
|
74
84
|
}
|
|
75
|
-
const result = (0, core_1.completeTaskFile)(found.filePath, dirs.logsDir, {
|
|
85
|
+
const result = (0, core_1.completeTaskFile)(found.filePath, dirs.logsDir, {});
|
|
76
86
|
if (!result.success) {
|
|
77
87
|
const detail = result.incompleteChildren?.length
|
|
78
88
|
? `\nIncomplete children:\n${result.incompleteChildren.map(c => ` - ${c.id}: ${c.title}`).join('\n')}`
|
|
@@ -82,7 +92,10 @@ function registerTaskCompleteTool(server, defaultFile) {
|
|
|
82
92
|
isError: true,
|
|
83
93
|
};
|
|
84
94
|
}
|
|
85
|
-
return {
|
|
95
|
+
return {
|
|
96
|
+
content: [{ type: 'text', text: `Task ${task} archived to logs/` }],
|
|
97
|
+
structuredContent: { destination: 'local', taskId: task, archived: true },
|
|
98
|
+
};
|
|
86
99
|
}
|
|
87
100
|
// External archive destinations
|
|
88
101
|
const dirs = (0, v2_detect_1.getV2Dirs)(filePath);
|
|
@@ -119,7 +132,15 @@ function registerTaskCompleteTool(server, defaultFile) {
|
|
|
119
132
|
return { content: [{ type: 'text', text: `Error creating GitHub issue: ${ghResult.error}` }], isError: true };
|
|
120
133
|
}
|
|
121
134
|
fs.unlinkSync(found.filePath);
|
|
122
|
-
return {
|
|
135
|
+
return {
|
|
136
|
+
content: [{ type: 'text', text: `Task ${task} archived to GitHub Issue #${ghResult.issueNumber} (closed)\n\nView: ${ghResult.issueUrl}` }],
|
|
137
|
+
structuredContent: {
|
|
138
|
+
destination: 'github',
|
|
139
|
+
taskId: task,
|
|
140
|
+
issueNumber: ghResult.issueNumber,
|
|
141
|
+
issueUrl: ghResult.issueUrl,
|
|
142
|
+
},
|
|
143
|
+
};
|
|
123
144
|
}
|
|
124
145
|
if (!(await (0, linear_auth_1.isLinearAuthenticated)())) {
|
|
125
146
|
return { content: [{ type: 'text', text: 'Error: Not authenticated with Linear.' }], isError: true };
|
|
@@ -159,11 +180,19 @@ function registerTaskCompleteTool(server, defaultFile) {
|
|
|
159
180
|
return { content: [{ type: 'text', text: `Error creating Linear issue: ${linearResult.error}` }], isError: true };
|
|
160
181
|
}
|
|
161
182
|
fs.unlinkSync(found.filePath);
|
|
162
|
-
return {
|
|
183
|
+
return {
|
|
184
|
+
content: [{ type: 'text', text: `Task ${task} archived to Linear Issue ${linearResult.issueId} (Done)\n\nView: ${linearResult.issueUrl}` }],
|
|
185
|
+
structuredContent: {
|
|
186
|
+
destination: 'linear',
|
|
187
|
+
taskId: task,
|
|
188
|
+
issueId: linearResult.issueId,
|
|
189
|
+
issueUrl: linearResult.issueUrl,
|
|
190
|
+
},
|
|
191
|
+
};
|
|
163
192
|
}
|
|
164
193
|
catch (e) {
|
|
165
194
|
return { content: [{ type: 'text', text: `Error: ${e.message}` }], isError: true };
|
|
166
195
|
}
|
|
167
|
-
});
|
|
196
|
+
}));
|
|
168
197
|
}
|
|
169
198
|
//# sourceMappingURL=task_complete_tool.js.map
|