brainfile 0.19.0 → 0.20.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-UOCQBEEW.mjs} +1486 -992
- package/dist/cli.mjs +916 -776
- 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 +31 -0
- package/dist/commands/brief.d.ts.map +1 -0
- package/dist/commands/brief.js +151 -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/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 +28 -17
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/migrate.js +10 -12
- package/dist/commands/migrate.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 +58 -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 +37 -13
- 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 +47 -13
- 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 +7 -2
- 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 +34 -6
- 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 +7 -2
- 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 +15 -6
- 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 +18 -6
- 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-H3RI22S4.mjs} +1593 -1934
- 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
|
@@ -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;AAY9D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAmMhF"}
|
|
@@ -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 registerSubtaskTool(server, defaultFile) {
|
|
9
10
|
server.registerTool('subtask', {
|
|
10
11
|
title: 'Subtask',
|
|
@@ -19,7 +20,8 @@ function registerSubtaskTool(server, defaultFile) {
|
|
|
19
20
|
titles: zod_1.z.array(zod_1.z.string()).optional().describe('Optional titles for batch update action'),
|
|
20
21
|
completed: zod_1.z.boolean().optional().describe('For toggle action: set explicit completed state (true/false) instead of flipping'),
|
|
21
22
|
all: zod_1.z.boolean().optional().describe('For toggle/delete action: target all subtasks in the task'),
|
|
22
|
-
})
|
|
23
|
+
}),
|
|
24
|
+
outputSchema: schemas_1.subtaskOutputSchema
|
|
23
25
|
}, async ({ action, file, task, subtask, subtasks, title, titles, completed, all }) => {
|
|
24
26
|
const filePath = file || defaultFile;
|
|
25
27
|
const listParam = subtasks ?? (subtask ? [subtask] : []);
|
|
@@ -56,10 +58,19 @@ function registerSubtaskTool(server, defaultFile) {
|
|
|
56
58
|
return { content: [{ type: 'text', text: `Error: ${result.error || 'Failed to add subtasks'}` }], isError: true };
|
|
57
59
|
}
|
|
58
60
|
const added = result.affected.map(st => ({ id: st.id, title: st.title }));
|
|
61
|
+
// Plural shape regardless of count: item count must not change the
|
|
62
|
+
// structure agents parse. Only the text keeps its singular phrasing.
|
|
63
|
+
const output = { action: 'add', added, count: added.length };
|
|
59
64
|
if (added.length === 1) {
|
|
60
|
-
return {
|
|
61
|
-
|
|
62
|
-
|
|
65
|
+
return {
|
|
66
|
+
content: [{ type: 'text', text: `Subtask added: ${added[0].id} - ${added[0].title}` }],
|
|
67
|
+
structuredContent: output,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
return {
|
|
71
|
+
content: [{ type: 'text', text: JSON.stringify(output, null, 2) }],
|
|
72
|
+
structuredContent: output,
|
|
73
|
+
};
|
|
63
74
|
}
|
|
64
75
|
// ── delete ─────────────────────────────────────────────────────────────
|
|
65
76
|
if (action === 'delete') {
|
|
@@ -81,10 +92,17 @@ function registerSubtaskTool(server, defaultFile) {
|
|
|
81
92
|
}
|
|
82
93
|
const deleted = result.affected.map(st => st.id);
|
|
83
94
|
const missing = result.missing ?? [];
|
|
95
|
+
const output = { action: 'delete', deleted, missing, count: deleted.length };
|
|
84
96
|
if (!useAll && deleted.length === 1 && missing.length === 0) {
|
|
85
|
-
return {
|
|
86
|
-
|
|
87
|
-
|
|
97
|
+
return {
|
|
98
|
+
content: [{ type: 'text', text: `Subtask ${deleted[0]} deleted successfully` }],
|
|
99
|
+
structuredContent: output,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
return {
|
|
103
|
+
content: [{ type: 'text', text: JSON.stringify(output, null, 2) }],
|
|
104
|
+
structuredContent: output,
|
|
105
|
+
};
|
|
88
106
|
}
|
|
89
107
|
// ── toggle ─────────────────────────────────────────────────────────────
|
|
90
108
|
if (action === 'toggle') {
|
|
@@ -105,11 +123,20 @@ function registerSubtaskTool(server, defaultFile) {
|
|
|
105
123
|
return { content: [{ type: 'text', text: `Error: ${result.error || 'Failed to toggle subtasks'}` }], isError: true };
|
|
106
124
|
}
|
|
107
125
|
const updated = result.affected.map(st => ({ id: st.id, completed: st.completed }));
|
|
126
|
+
// `toggle` and `update` both key their payload `updated` but carry
|
|
127
|
+
// different item shapes, so the action tag is what tells them apart.
|
|
128
|
+
const output = { action: 'toggle', updated, count: updated.length };
|
|
108
129
|
if (!useAll && updated.length === 1) {
|
|
109
130
|
const status = updated[0].completed ? 'completed' : 'incomplete';
|
|
110
|
-
return {
|
|
111
|
-
|
|
112
|
-
|
|
131
|
+
return {
|
|
132
|
+
content: [{ type: 'text', text: `Subtask ${updated[0].id} marked as ${status}` }],
|
|
133
|
+
structuredContent: output,
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
return {
|
|
137
|
+
content: [{ type: 'text', text: JSON.stringify(output, null, 2) }],
|
|
138
|
+
structuredContent: output,
|
|
139
|
+
};
|
|
113
140
|
}
|
|
114
141
|
// ── update ─────────────────────────────────────────────────────────────
|
|
115
142
|
if (action === 'update') {
|
|
@@ -135,10 +162,17 @@ function registerSubtaskTool(server, defaultFile) {
|
|
|
135
162
|
return { content: [{ type: 'text', text: `Error: ${result.error || 'Failed to update subtasks'}` }], isError: true };
|
|
136
163
|
}
|
|
137
164
|
const updated = result.affected.map(st => ({ id: st.id, title: st.title }));
|
|
165
|
+
const output = { action: 'update', updated, count: updated.length };
|
|
138
166
|
if (updated.length === 1) {
|
|
139
|
-
return {
|
|
140
|
-
|
|
141
|
-
|
|
167
|
+
return {
|
|
168
|
+
content: [{ type: 'text', text: `Subtask ${updated[0].id} updated to "${updated[0].title}"` }],
|
|
169
|
+
structuredContent: output,
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
return {
|
|
173
|
+
content: [{ type: 'text', text: JSON.stringify(output, null, 2) }],
|
|
174
|
+
structuredContent: output,
|
|
175
|
+
};
|
|
142
176
|
}
|
|
143
177
|
return { content: [{ type: 'text', text: `Error: Unknown action: ${action}` }], isError: true };
|
|
144
178
|
});
|
|
@@ -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":"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"}
|
|
@@ -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;AAY9D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAqIhF"}
|
|
@@ -7,6 +7,7 @@ const v2_detect_1 = require("../../utils/v2-detect");
|
|
|
7
7
|
const core_2 = require("@brainfile/core");
|
|
8
8
|
const core_3 = require("@brainfile/core");
|
|
9
9
|
const helpers_1 = require("../helpers");
|
|
10
|
+
const schemas_1 = require("../schemas");
|
|
10
11
|
function registerTaskAddTool(server, defaultFile) {
|
|
11
12
|
server.registerTool('task_add', {
|
|
12
13
|
title: 'Add Task',
|
|
@@ -34,7 +35,8 @@ function registerTaskAddTool(server, defaultFile) {
|
|
|
34
35
|
// Aliases (some clients prefer camelCase)
|
|
35
36
|
withContract: zod_1.z.boolean().optional().describe('Alias of with_contract'),
|
|
36
37
|
validationCommands: zod_1.z.array(zod_1.z.string()).optional().describe('Alias of validation_commands'),
|
|
37
|
-
})
|
|
38
|
+
}),
|
|
39
|
+
outputSchema: schemas_1.taskAddOutputSchema
|
|
38
40
|
}, 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
41
|
const filePath = file || defaultFile;
|
|
40
42
|
const guard = (0, helpers_1.requireV2)(filePath);
|
|
@@ -90,7 +92,10 @@ function registerTaskAddTool(server, defaultFile) {
|
|
|
90
92
|
if (!result.success || !result.task) {
|
|
91
93
|
return { content: [{ type: 'text', text: `Error: ${result.error || 'Failed to add task'}` }], isError: true };
|
|
92
94
|
}
|
|
93
|
-
return {
|
|
95
|
+
return {
|
|
96
|
+
content: [{ type: 'text', text: `Task added successfully: ${result.task.id} - ${title}` }],
|
|
97
|
+
structuredContent: { id: result.task.id, title },
|
|
98
|
+
};
|
|
94
99
|
}
|
|
95
100
|
catch (e) {
|
|
96
101
|
return { content: [{ type: 'text', text: `Error: ${e.message}` }], isError: true };
|
|
@@ -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":"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"}
|
|
@@ -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;AAiB9D,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CA4JrF"}
|
|
@@ -43,6 +43,7 @@ const linear_auth_1 = require("../../utils/linear-auth");
|
|
|
43
43
|
const config_1 = require("../../utils/config");
|
|
44
44
|
const complete_1 = require("../../commands/complete");
|
|
45
45
|
const helpers_1 = require("../helpers");
|
|
46
|
+
const schemas_1 = require("../schemas");
|
|
46
47
|
function registerTaskCompleteTool(server, defaultFile) {
|
|
47
48
|
server.registerTool('task_complete', {
|
|
48
49
|
title: 'Complete Task',
|
|
@@ -51,7 +52,8 @@ function registerTaskCompleteTool(server, defaultFile) {
|
|
|
51
52
|
file: zod_1.z.string().optional().describe('Path to brainfile.md (default: brainfile.md)'),
|
|
52
53
|
task: zod_1.z.string().describe('Task ID to complete'),
|
|
53
54
|
destination: zod_1.z.enum(['local', 'github', 'linear']).optional().describe('Optional archive destination. If omitted, performs normal completion flow.'),
|
|
54
|
-
})
|
|
55
|
+
}),
|
|
56
|
+
outputSchema: schemas_1.taskCompleteOutputSchema
|
|
55
57
|
}, async ({ file, task, destination }) => {
|
|
56
58
|
const filePath = file || defaultFile;
|
|
57
59
|
try {
|
|
@@ -61,8 +63,15 @@ function registerTaskCompleteTool(server, defaultFile) {
|
|
|
61
63
|
// Default behavior: normal complete flow (task moves to logs/)
|
|
62
64
|
if (!destination) {
|
|
63
65
|
const result = (0, complete_1.completeCommand)({ file: filePath, task }, { log: () => { }, warn: () => { }, error: () => { }, info: () => { } });
|
|
66
|
+
// `completedAt` was previously only interpolated into the message.
|
|
64
67
|
return {
|
|
65
|
-
content: [{ type: 'text', text: `Task ${task} completed at ${result.completedAt}` }]
|
|
68
|
+
content: [{ type: 'text', text: `Task ${task} completed at ${result.completedAt}` }],
|
|
69
|
+
structuredContent: {
|
|
70
|
+
destination: 'local',
|
|
71
|
+
taskId: task,
|
|
72
|
+
completedAt: result.completedAt,
|
|
73
|
+
archived: false,
|
|
74
|
+
},
|
|
66
75
|
};
|
|
67
76
|
}
|
|
68
77
|
// Local archive: move the task file into logs/
|
|
@@ -72,7 +81,7 @@ function registerTaskCompleteTool(server, defaultFile) {
|
|
|
72
81
|
if (!found) {
|
|
73
82
|
return { content: [{ type: 'text', text: `Error: Task not found: ${task}` }], isError: true };
|
|
74
83
|
}
|
|
75
|
-
const result = (0, core_1.completeTaskFile)(found.filePath, dirs.logsDir, {
|
|
84
|
+
const result = (0, core_1.completeTaskFile)(found.filePath, dirs.logsDir, {});
|
|
76
85
|
if (!result.success) {
|
|
77
86
|
const detail = result.incompleteChildren?.length
|
|
78
87
|
? `\nIncomplete children:\n${result.incompleteChildren.map(c => ` - ${c.id}: ${c.title}`).join('\n')}`
|
|
@@ -82,7 +91,10 @@ function registerTaskCompleteTool(server, defaultFile) {
|
|
|
82
91
|
isError: true,
|
|
83
92
|
};
|
|
84
93
|
}
|
|
85
|
-
return {
|
|
94
|
+
return {
|
|
95
|
+
content: [{ type: 'text', text: `Task ${task} archived to logs/` }],
|
|
96
|
+
structuredContent: { destination: 'local', taskId: task, archived: true },
|
|
97
|
+
};
|
|
86
98
|
}
|
|
87
99
|
// External archive destinations
|
|
88
100
|
const dirs = (0, v2_detect_1.getV2Dirs)(filePath);
|
|
@@ -119,7 +131,15 @@ function registerTaskCompleteTool(server, defaultFile) {
|
|
|
119
131
|
return { content: [{ type: 'text', text: `Error creating GitHub issue: ${ghResult.error}` }], isError: true };
|
|
120
132
|
}
|
|
121
133
|
fs.unlinkSync(found.filePath);
|
|
122
|
-
return {
|
|
134
|
+
return {
|
|
135
|
+
content: [{ type: 'text', text: `Task ${task} archived to GitHub Issue #${ghResult.issueNumber} (closed)\n\nView: ${ghResult.issueUrl}` }],
|
|
136
|
+
structuredContent: {
|
|
137
|
+
destination: 'github',
|
|
138
|
+
taskId: task,
|
|
139
|
+
issueNumber: ghResult.issueNumber,
|
|
140
|
+
issueUrl: ghResult.issueUrl,
|
|
141
|
+
},
|
|
142
|
+
};
|
|
123
143
|
}
|
|
124
144
|
if (!(await (0, linear_auth_1.isLinearAuthenticated)())) {
|
|
125
145
|
return { content: [{ type: 'text', text: 'Error: Not authenticated with Linear.' }], isError: true };
|
|
@@ -159,7 +179,15 @@ function registerTaskCompleteTool(server, defaultFile) {
|
|
|
159
179
|
return { content: [{ type: 'text', text: `Error creating Linear issue: ${linearResult.error}` }], isError: true };
|
|
160
180
|
}
|
|
161
181
|
fs.unlinkSync(found.filePath);
|
|
162
|
-
return {
|
|
182
|
+
return {
|
|
183
|
+
content: [{ type: 'text', text: `Task ${task} archived to Linear Issue ${linearResult.issueId} (Done)\n\nView: ${linearResult.issueUrl}` }],
|
|
184
|
+
structuredContent: {
|
|
185
|
+
destination: 'linear',
|
|
186
|
+
taskId: task,
|
|
187
|
+
issueId: linearResult.issueId,
|
|
188
|
+
issueUrl: linearResult.issueUrl,
|
|
189
|
+
},
|
|
190
|
+
};
|
|
163
191
|
}
|
|
164
192
|
catch (e) {
|
|
165
193
|
return { content: [{ type: 'text', text: `Error: ${e.message}` }], isError: true };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task_complete_tool.js","sourceRoot":"","sources":["../../../src/mcp/tools/task_complete_tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"task_complete_tool.js","sourceRoot":"","sources":["../../../src/mcp/tools/task_complete_tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task_delete_tool.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/task_delete_tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"task_delete_tool.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/task_delete_tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAO9D,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAmCnF"}
|
|
@@ -38,6 +38,7 @@ const zod_1 = require("zod");
|
|
|
38
38
|
const fs = __importStar(require("fs"));
|
|
39
39
|
const v2_detect_1 = require("../../utils/v2-detect");
|
|
40
40
|
const helpers_1 = require("../helpers");
|
|
41
|
+
const schemas_1 = require("../schemas");
|
|
41
42
|
function registerTaskDeleteTool(server, defaultFile) {
|
|
42
43
|
server.registerTool('task_delete', {
|
|
43
44
|
title: 'Delete Task',
|
|
@@ -45,7 +46,8 @@ function registerTaskDeleteTool(server, defaultFile) {
|
|
|
45
46
|
inputSchema: zod_1.z.object({
|
|
46
47
|
file: zod_1.z.string().optional().describe('Path to brainfile.md (default: brainfile.md)'),
|
|
47
48
|
task: zod_1.z.string().describe('Task ID to delete')
|
|
48
|
-
})
|
|
49
|
+
}),
|
|
50
|
+
outputSchema: schemas_1.taskDeleteOutputSchema
|
|
49
51
|
}, async ({ file, task }) => {
|
|
50
52
|
const filePath = file || defaultFile;
|
|
51
53
|
const guard = (0, helpers_1.requireV2)(filePath);
|
|
@@ -58,7 +60,10 @@ function registerTaskDeleteTool(server, defaultFile) {
|
|
|
58
60
|
}
|
|
59
61
|
try {
|
|
60
62
|
fs.unlinkSync(found.filePath);
|
|
61
|
-
return {
|
|
63
|
+
return {
|
|
64
|
+
content: [{ type: 'text', text: `Task ${task} deleted successfully` }],
|
|
65
|
+
structuredContent: { id: task, deleted: true },
|
|
66
|
+
};
|
|
62
67
|
}
|
|
63
68
|
catch (e) {
|
|
64
69
|
return { content: [{ type: 'text', text: `Error: ${e.message}` }], isError: true };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task_delete_tool.js","sourceRoot":"","sources":["../../../src/mcp/tools/task_delete_tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"task_delete_tool.js","sourceRoot":"","sources":["../../../src/mcp/tools/task_delete_tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,wDAmCC;AAzCD,6BAAwB;AACxB,uCAAyB;AACzB,qDAA8D;AAC9D,wCAAuC;AACvC,wCAAoD;AAEpD,SAAgB,sBAAsB,CAAC,MAAiB,EAAE,WAAmB;IAC3E,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;QACE,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,8CAA8C;QAC3D,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,mBAAmB,CAAC;SAC/C,CAAC;QACR,YAAY,EAAE,gCAAsB;KACrC,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;QAED,IAAI,CAAC;YACH,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,QAAQ,IAAI,uBAAuB,EAAE,CAAC;gBAC/E,iBAAiB,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAa,EAAE;aACxD,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;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task_move_tool.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/task_move_tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"task_move_tool.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/task_move_tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAc9D,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CA2FjF"}
|
|
@@ -7,6 +7,7 @@ const v2_detect_1 = require("../../utils/v2-detect");
|
|
|
7
7
|
const core_2 = require("@brainfile/core");
|
|
8
8
|
const errorHandler_1 = require("../../utils/errorHandler");
|
|
9
9
|
const helpers_1 = require("../helpers");
|
|
10
|
+
const schemas_1 = require("../schemas");
|
|
10
11
|
function registerTaskMoveTool(server, defaultFile) {
|
|
11
12
|
server.registerTool('task_move', {
|
|
12
13
|
title: 'Move Task',
|
|
@@ -16,7 +17,8 @@ function registerTaskMoveTool(server, defaultFile) {
|
|
|
16
17
|
taskId: zod_1.z.union([zod_1.z.string(), zod_1.z.array(zod_1.z.string())]).optional().describe('Task ID or array of task IDs to move'),
|
|
17
18
|
task: zod_1.z.string().optional().describe('Alias of taskId for single task move'),
|
|
18
19
|
column: zod_1.z.string().describe('Target column ID or name')
|
|
19
|
-
})
|
|
20
|
+
}),
|
|
21
|
+
outputSchema: schemas_1.taskMoveOutputSchema
|
|
20
22
|
}, async ({ file, taskId, task, column }) => {
|
|
21
23
|
const filePath = file || defaultFile;
|
|
22
24
|
const rawTaskIds = taskId ?? task;
|
|
@@ -59,21 +61,28 @@ function registerTaskMoveTool(server, defaultFile) {
|
|
|
59
61
|
}
|
|
60
62
|
results.push({ taskId: id, success: true, message, warning: warning?.warning });
|
|
61
63
|
}
|
|
64
|
+
const successCount = results.filter(r => r.success).length;
|
|
65
|
+
const failureCount = results.length - successCount;
|
|
66
|
+
// The structured payload is always the batch shape, so agents parse one
|
|
67
|
+
// shape whether they moved one task or ten. Only the text branches.
|
|
68
|
+
const output = { success: failureCount === 0, successCount, failureCount, results };
|
|
62
69
|
if (!isBatch) {
|
|
63
70
|
const single = results[0];
|
|
64
71
|
if (!single?.success) {
|
|
65
|
-
return {
|
|
72
|
+
return {
|
|
73
|
+
content: [{ type: 'text', text: `Error: ${single?.error || 'Move failed'}` }],
|
|
74
|
+
structuredContent: output,
|
|
75
|
+
isError: true,
|
|
76
|
+
};
|
|
66
77
|
}
|
|
67
78
|
let text = single.message || `Task ${taskIds[0]} moved`;
|
|
68
79
|
if (single.warning)
|
|
69
80
|
text += `\n\n${single.warning}`;
|
|
70
|
-
return { content: [{ type: 'text', text }] };
|
|
81
|
+
return { content: [{ type: 'text', text }], structuredContent: output };
|
|
71
82
|
}
|
|
72
|
-
const successCount = results.filter(r => r.success).length;
|
|
73
|
-
const failureCount = results.length - successCount;
|
|
74
|
-
const output = { success: failureCount === 0, successCount, failureCount, results };
|
|
75
83
|
return {
|
|
76
84
|
content: [{ type: 'text', text: JSON.stringify(output, null, 2) }],
|
|
85
|
+
structuredContent: output,
|
|
77
86
|
isError: failureCount > 0 && successCount === 0,
|
|
78
87
|
};
|
|
79
88
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task_move_tool.js","sourceRoot":"","sources":["../../../src/mcp/tools/task_move_tool.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"task_move_tool.js","sourceRoot":"","sources":["../../../src/mcp/tools/task_move_tool.ts"],"names":[],"mappings":"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"}
|