brainfile 0.21.2 → 0.22.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/__tests__/helpers/mcp-wire.d.ts +2 -0
- package/dist/__tests__/helpers/mcp-wire.d.ts.map +1 -1
- package/dist/__tests__/helpers/mcp-wire.js +4 -2
- package/dist/__tests__/helpers/mcp-wire.js.map +1 -1
- package/dist/chunk-CWUTU5VV.mjs +5585 -0
- package/dist/chunk-L4WSDMK3.mjs +1973 -0
- package/dist/{chunk-7KU2R7QC.mjs → chunk-XFDTTLSW.mjs} +3230 -4322
- package/dist/cli.js +7 -1
- package/dist/cli.mjs +8078 -5357
- package/dist/commands/add.d.ts +4 -0
- package/dist/commands/add.d.ts.map +1 -1
- package/dist/commands/add.js +68 -72
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/boards.d.ts +18 -0
- package/dist/commands/boards.d.ts.map +1 -0
- package/dist/commands/boards.js +166 -0
- package/dist/commands/boards.js.map +1 -0
- package/dist/commands/brief.d.ts +17 -11
- package/dist/commands/brief.d.ts.map +1 -1
- package/dist/commands/brief.js +38 -35
- package/dist/commands/brief.js.map +1 -1
- package/dist/commands/check.d.ts +47 -0
- package/dist/commands/check.d.ts.map +1 -0
- package/dist/commands/check.js +134 -0
- package/dist/commands/check.js.map +1 -0
- package/dist/commands/columns.d.ts +48 -0
- package/dist/commands/columns.d.ts.map +1 -0
- package/dist/commands/columns.js +132 -0
- package/dist/commands/columns.js.map +1 -0
- package/dist/commands/complete.js +9 -4
- package/dist/commands/complete.js.map +1 -1
- package/dist/commands/decide.d.ts +72 -0
- package/dist/commands/decide.d.ts.map +1 -0
- package/dist/commands/decide.js +264 -0
- package/dist/commands/decide.js.map +1 -0
- package/dist/commands/hooks.d.ts +5 -1
- package/dist/commands/hooks.d.ts.map +1 -1
- package/dist/commands/hooks.js +10 -11
- package/dist/commands/hooks.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +8 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/lint.d.ts +27 -0
- package/dist/commands/lint.d.ts.map +1 -1
- package/dist/commands/lint.js +127 -20
- package/dist/commands/lint.js.map +1 -1
- package/dist/commands/list.d.ts +6 -0
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +216 -7
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/log.d.ts +51 -0
- package/dist/commands/log.d.ts.map +1 -1
- package/dist/commands/log.js +113 -84
- package/dist/commands/log.js.map +1 -1
- package/dist/commands/mcp.d.ts +5 -2
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +44 -9
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/memory-index.d.ts +34 -0
- package/dist/commands/memory-index.d.ts.map +1 -0
- package/dist/commands/memory-index.js +135 -0
- package/dist/commands/memory-index.js.map +1 -0
- package/dist/commands/merge-driver.d.ts +1 -15
- package/dist/commands/merge-driver.d.ts.map +1 -1
- package/dist/commands/merge-driver.js +8 -134
- package/dist/commands/merge-driver.js.map +1 -1
- package/dist/commands/migrate-tracked.d.ts +1 -1
- package/dist/commands/migrate-tracked.d.ts.map +1 -1
- package/dist/commands/migrate-tracked.js +21 -10
- package/dist/commands/migrate-tracked.js.map +1 -1
- package/dist/commands/patch.d.ts +23 -4
- package/dist/commands/patch.d.ts.map +1 -1
- package/dist/commands/patch.js +149 -91
- package/dist/commands/patch.js.map +1 -1
- package/dist/commands/plan.d.ts.map +1 -1
- package/dist/commands/plan.js +11 -5
- package/dist/commands/plan.js.map +1 -1
- package/dist/commands/schema.d.ts +12 -0
- package/dist/commands/schema.d.ts.map +1 -1
- package/dist/commands/schema.js +28 -10
- package/dist/commands/schema.js.map +1 -1
- package/dist/commands/search.d.ts +46 -12
- package/dist/commands/search.d.ts.map +1 -1
- package/dist/commands/search.js +89 -44
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/show.d.ts.map +1 -1
- package/dist/commands/show.js +175 -10
- package/dist/commands/show.js.map +1 -1
- package/dist/commands/template.d.ts +2 -0
- package/dist/commands/template.d.ts.map +1 -1
- package/dist/commands/template.js +2 -1
- package/dist/commands/template.js.map +1 -1
- package/dist/commands/types.d.ts +31 -1
- package/dist/commands/types.d.ts.map +1 -1
- package/dist/commands/types.js +122 -22
- package/dist/commands/types.js.map +1 -1
- package/dist/commands/where.d.ts +20 -1
- package/dist/commands/where.d.ts.map +1 -1
- package/dist/commands/where.js +56 -6
- package/dist/commands/where.js.map +1 -1
- package/dist/hook.mjs +15 -0
- package/dist/hooks/session-start.d.ts +39 -0
- package/dist/hooks/session-start.d.ts.map +1 -0
- package/dist/hooks/session-start.js +181 -0
- package/dist/hooks/session-start.js.map +1 -0
- package/dist/lib/contractRunner.d.ts.map +1 -1
- package/dist/lib/contractRunner.js +8 -0
- package/dist/lib/contractRunner.js.map +1 -1
- package/dist/mcp/helpers.d.ts +29 -1
- package/dist/mcp/helpers.d.ts.map +1 -1
- package/dist/mcp/helpers.js +57 -2
- package/dist/mcp/helpers.js.map +1 -1
- package/dist/mcp/instructions.d.ts +5 -0
- package/dist/mcp/instructions.d.ts.map +1 -0
- package/dist/mcp/instructions.js +57 -0
- package/dist/mcp/instructions.js.map +1 -0
- package/dist/mcp/resources.d.ts +9 -0
- package/dist/mcp/resources.d.ts.map +1 -0
- package/dist/mcp/resources.js +29 -0
- package/dist/mcp/resources.js.map +1 -0
- package/dist/mcp/schemas.d.ts +600 -9
- package/dist/mcp/schemas.d.ts.map +1 -1
- package/dist/mcp/schemas.js +374 -12
- package/dist/mcp/schemas.js.map +1 -1
- package/dist/mcp/tools/adr_promote_tool.d.ts +7 -0
- package/dist/mcp/tools/adr_promote_tool.d.ts.map +1 -0
- package/dist/mcp/tools/adr_promote_tool.js +37 -0
- package/dist/mcp/tools/adr_promote_tool.js.map +1 -0
- package/dist/mcp/tools/board_tool.d.ts +7 -0
- package/dist/mcp/tools/board_tool.d.ts.map +1 -0
- package/dist/mcp/tools/board_tool.js +61 -0
- package/dist/mcp/tools/board_tool.js.map +1 -0
- package/dist/mcp/tools/brief_tool.d.ts.map +1 -1
- package/dist/mcp/tools/brief_tool.js +13 -5
- package/dist/mcp/tools/brief_tool.js.map +1 -1
- package/dist/mcp/tools/check_tool.d.ts +6 -0
- package/dist/mcp/tools/check_tool.d.ts.map +1 -0
- package/dist/mcp/tools/check_tool.js +54 -0
- package/dist/mcp/tools/check_tool.js.map +1 -0
- package/dist/mcp/tools/columns_tool.d.ts +7 -0
- package/dist/mcp/tools/columns_tool.d.ts.map +1 -0
- package/dist/mcp/tools/columns_tool.js +94 -0
- package/dist/mcp/tools/columns_tool.js.map +1 -0
- package/dist/mcp/tools/decide_tool.d.ts +91 -0
- package/dist/mcp/tools/decide_tool.d.ts.map +1 -0
- package/dist/mcp/tools/decide_tool.js +141 -0
- package/dist/mcp/tools/decide_tool.js.map +1 -0
- package/dist/mcp/tools/get_task_tool.d.ts.map +1 -1
- package/dist/mcp/tools/get_task_tool.js +62 -4
- package/dist/mcp/tools/get_task_tool.js.map +1 -1
- package/dist/mcp/tools/lint_tool.d.ts +7 -0
- package/dist/mcp/tools/lint_tool.d.ts.map +1 -0
- package/dist/mcp/tools/lint_tool.js +48 -0
- package/dist/mcp/tools/lint_tool.js.map +1 -0
- package/dist/mcp/tools/list_tasks_tool.d.ts.map +1 -1
- package/dist/mcp/tools/list_tasks_tool.js +132 -15
- package/dist/mcp/tools/list_tasks_tool.js.map +1 -1
- package/dist/mcp/tools/log_tool.d.ts +4 -0
- package/dist/mcp/tools/log_tool.d.ts.map +1 -0
- package/dist/mcp/tools/log_tool.js +52 -0
- package/dist/mcp/tools/log_tool.js.map +1 -0
- package/dist/mcp/tools/note_tool.d.ts +7 -0
- package/dist/mcp/tools/note_tool.d.ts.map +1 -0
- package/dist/mcp/tools/note_tool.js +39 -0
- package/dist/mcp/tools/note_tool.js.map +1 -0
- package/dist/mcp/tools/retire_tool.d.ts +4 -0
- package/dist/mcp/tools/retire_tool.d.ts.map +1 -0
- package/dist/mcp/tools/retire_tool.js +81 -0
- package/dist/mcp/tools/retire_tool.js.map +1 -0
- package/dist/mcp/tools/search_tool.d.ts.map +1 -1
- package/dist/mcp/tools/search_tool.js +36 -19
- package/dist/mcp/tools/search_tool.js.map +1 -1
- package/dist/mcp/tools/supersede_tool.d.ts +4 -0
- package/dist/mcp/tools/supersede_tool.d.ts.map +1 -0
- package/dist/mcp/tools/supersede_tool.js +72 -0
- package/dist/mcp/tools/supersede_tool.js.map +1 -0
- package/dist/mcp/tools/sync_tool.d.ts +9 -0
- package/dist/mcp/tools/sync_tool.d.ts.map +1 -0
- package/dist/mcp/tools/sync_tool.js +87 -0
- package/dist/mcp/tools/sync_tool.js.map +1 -0
- package/dist/mcp/tools/task_add_tool.d.ts.map +1 -1
- package/dist/mcp/tools/task_add_tool.js +39 -17
- 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 +3 -2
- package/dist/mcp/tools/task_complete_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 +30 -5
- package/dist/mcp/tools/task_patch_tool.js.map +1 -1
- package/dist/mcp/tools/template_tool.d.ts +4 -0
- package/dist/mcp/tools/template_tool.d.ts.map +1 -0
- package/dist/mcp/tools/template_tool.js +70 -0
- package/dist/mcp/tools/template_tool.js.map +1 -0
- package/dist/mcp/tools/types_tool.d.ts +4 -0
- package/dist/mcp/tools/types_tool.d.ts.map +1 -0
- package/dist/mcp/tools/types_tool.js +61 -0
- package/dist/mcp/tools/types_tool.js.map +1 -0
- package/dist/mcp/tools/where_tool.d.ts +4 -0
- package/dist/mcp/tools/where_tool.d.ts.map +1 -0
- package/dist/mcp/tools/where_tool.js +73 -0
- package/dist/mcp/tools/where_tool.js.map +1 -0
- package/dist/schemas/board.json +29 -8
- package/dist/{tui-3Z7ZJV7M.mjs → tui-D6RMFL6X.mjs} +994 -315
- package/dist/utils/board-autosync.d.ts +1 -10
- package/dist/utils/board-autosync.d.ts.map +1 -1
- package/dist/utils/board-autosync.js +11 -29
- package/dist/utils/board-autosync.js.map +1 -1
- package/dist/utils/board-commit-hooks.d.ts +8 -0
- package/dist/utils/board-commit-hooks.d.ts.map +1 -1
- package/dist/utils/board-commit-hooks.js +45 -1
- package/dist/utils/board-commit-hooks.js.map +1 -1
- package/dist/utils/board-repo.d.ts +1 -119
- package/dist/utils/board-repo.d.ts.map +1 -1
- package/dist/utils/board-repo.js +43 -571
- package/dist/utils/board-repo.js.map +1 -1
- package/dist/utils/board-sync.d.ts +3 -123
- package/dist/utils/board-sync.d.ts.map +1 -1
- package/dist/utils/board-sync.js +34 -551
- package/dist/utils/board-sync.js.map +1 -1
- package/dist/utils/graph.d.ts +20 -0
- package/dist/utils/graph.d.ts.map +1 -0
- package/dist/utils/graph.js +61 -0
- package/dist/utils/graph.js.map +1 -0
- package/dist/utils/related.d.ts +21 -0
- package/dist/utils/related.d.ts.map +1 -0
- package/dist/utils/related.js +36 -0
- package/dist/utils/related.js.map +1 -0
- package/package.json +2 -2
- package/dist/tui/theme.d.ts +0 -98
- package/dist/tui/theme.d.ts.map +0 -1
- package/dist/tui/theme.js +0 -141
- package/dist/tui/theme.js.map +0 -1
|
@@ -3,24 +3,28 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.registerSearchTool = registerSearchTool;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const core_1 = require("@brainfile/core");
|
|
6
|
+
const memory_1 = require("@brainfile/core/memory");
|
|
6
7
|
const v2_detect_1 = require("../../utils/v2-detect");
|
|
7
8
|
const helpers_1 = require("../helpers");
|
|
8
9
|
const schemas_1 = require("../schemas");
|
|
9
10
|
function registerSearchTool(server, defaultFile) {
|
|
10
11
|
server.registerTool('search', {
|
|
11
12
|
title: 'Search',
|
|
12
|
-
description: 'Search
|
|
13
|
+
description: 'Search by query, list recent logs, or view one task/log entry. With the local index (Node 22.13+) a query searches board and logs documents, the ledger, plans/ and the project\'s own docs (README, AGENTS.md, docs/…); otherwise board and logs. Current results come first, history (completed work, superseded or rejected decisions) after, each with lane, path and line range; a doc hit\'s id is path:start-end. Filter tokens work in the query (p:high #tag @user type:spec due:week contract:ready). type filters by document type (aliases work: adr finds decisions).',
|
|
13
14
|
inputSchema: zod_1.z.object({
|
|
14
15
|
file: zod_1.z.string().optional().describe('Path to brainfile.md (default: brainfile.md)'),
|
|
15
16
|
query: zod_1.z.string().optional().describe('Search query (matches title, description, tags, and log text in v2)'),
|
|
16
17
|
column: zod_1.z.string().optional().describe('Filter by column ID or name'),
|
|
17
18
|
priority: zod_1.z.enum(['low', 'medium', 'high', 'critical']).optional().describe('Filter by priority'),
|
|
18
19
|
assignee: zod_1.z.string().optional().describe('Filter by assignee'),
|
|
20
|
+
type: zod_1.z.string().optional().describe('Filter by document type (epic, spec, plan, task, decision, or the board\'s own; issue and adr are aliases)'),
|
|
19
21
|
recent: zod_1.z.boolean().optional().describe('List recently completed tasks (v2 only)'),
|
|
20
22
|
task: zod_1.z.string().optional().describe('View a specific task/log entry (v2 only)'),
|
|
23
|
+
limit: zod_1.z.number().int().positive().optional().describe('Most results per lane (default 20)'),
|
|
24
|
+
history: zod_1.z.boolean().optional().describe('Include history (completed work, superseded decisions); default true'),
|
|
21
25
|
}),
|
|
22
26
|
outputSchema: schemas_1.searchOutputSchema
|
|
23
|
-
}, async ({ file, query, column, priority, assignee, recent, task }) => {
|
|
27
|
+
}, async ({ file, query, column, priority, assignee, type, recent, task, limit, history }) => {
|
|
24
28
|
const filePath = file || defaultFile;
|
|
25
29
|
const guard = (0, helpers_1.requireV2)(filePath);
|
|
26
30
|
if (guard)
|
|
@@ -46,7 +50,9 @@ function registerSearchTool(server, defaultFile) {
|
|
|
46
50
|
}
|
|
47
51
|
if (recent) {
|
|
48
52
|
const dirs = (0, v2_detect_1.getV2Dirs)(filePath);
|
|
49
|
-
|
|
53
|
+
// A decision retired to logs/ was never completed: it is not a recent completion.
|
|
54
|
+
const logDocs = (0, core_1.readTasksDir)(dirs.logsDir)
|
|
55
|
+
.filter((doc) => doc.task.completedAt || (0, core_1.resolveDocType)(doc.task.type).role !== 'decision');
|
|
50
56
|
logDocs.sort((a, b) => (b.task.completedAt || '').localeCompare(a.task.completedAt || ''));
|
|
51
57
|
const logs = logDocs.slice(0, 20).map(doc => ({
|
|
52
58
|
id: doc.task.id,
|
|
@@ -62,22 +68,33 @@ function registerSearchTool(server, defaultFile) {
|
|
|
62
68
|
if (!query) {
|
|
63
69
|
return { content: [{ type: 'text', text: 'Error: query is required unless recent or task is provided' }], isError: true };
|
|
64
70
|
}
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
71
|
+
const found = (0, memory_1.searchMemory)(filePath, query, {
|
|
72
|
+
filters: { column, priority, assignee, type },
|
|
73
|
+
...(limit ? { limit } : {}),
|
|
74
|
+
});
|
|
75
|
+
const hits = history === false ? found.current : found.results;
|
|
76
|
+
const matches = hits.map((hit) => ({
|
|
77
|
+
id: hit.id,
|
|
78
|
+
title: hit.title,
|
|
79
|
+
// Older clients read column 'Completed' for a log entry.
|
|
80
|
+
...(hit.column ? { column: hit.column } : hit.source === 'logs' && hit.status === 'completed' ? { column: 'Completed' } : {}),
|
|
81
|
+
...(hit.priority ? { priority: hit.priority } : {}),
|
|
82
|
+
...(hit.tags ? { tags: hit.tags } : {}),
|
|
83
|
+
...(hit.assignee ? { assignee: hit.assignee } : {}),
|
|
84
|
+
score: hit.score,
|
|
85
|
+
...(hit.isLog ? { isLog: true } : {}),
|
|
86
|
+
lane: hit.lane,
|
|
87
|
+
source: hit.source,
|
|
88
|
+
path: hit.path,
|
|
89
|
+
startLine: hit.startLine,
|
|
90
|
+
endLine: hit.endLine,
|
|
91
|
+
...(hit.snippet ? { snippet: hit.snippet } : {}),
|
|
92
|
+
...(hit.type ? { type: hit.type } : {}),
|
|
93
|
+
...(hit.status ? { status: hit.status } : {}),
|
|
94
|
+
...(hit.claimKey ? { claimKey: hit.claimKey } : {}),
|
|
95
|
+
...(hit.completedAt ? { completedAt: hit.completedAt } : {}),
|
|
96
|
+
}));
|
|
97
|
+
const output = { results: matches, count: matches.length, mode: found.mode };
|
|
81
98
|
return {
|
|
82
99
|
content: [{ type: 'text', text: JSON.stringify(output, null, 2) }],
|
|
83
100
|
structuredContent: output,
|
|
@@ -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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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { McpServer } from "@modelcontextprotocol/server";
|
|
2
|
+
/** `supersede`: replace one decision by hand with a new one in its family. */
|
|
3
|
+
export declare function registerSupersedeTool(server: McpServer, defaultFile: string): void;
|
|
4
|
+
//# sourceMappingURL=supersede_tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supersede_tool.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/supersede_tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAU9D,8EAA8E;AAC9E,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CA4BlF"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.registerSupersedeTool = registerSupersedeTool;
|
|
37
|
+
const path = __importStar(require("path"));
|
|
38
|
+
const zod_1 = require("zod");
|
|
39
|
+
const core_1 = require("@brainfile/core");
|
|
40
|
+
const v2_detect_1 = require("../../utils/v2-detect");
|
|
41
|
+
const actor_1 = require("../../utils/actor");
|
|
42
|
+
const helpers_1 = require("../helpers");
|
|
43
|
+
const schemas_1 = require("../schemas");
|
|
44
|
+
const decide_tool_1 = require("./decide_tool");
|
|
45
|
+
/** `supersede`: replace one decision by hand with a new one in its family. */
|
|
46
|
+
function registerSupersedeTool(server, defaultFile) {
|
|
47
|
+
server.registerTool('supersede', {
|
|
48
|
+
title: 'Supersede Decision',
|
|
49
|
+
description: 'Replace a decision by hand: a new decision in the same claim family (claimKey and kind default to the old one\'s) and the old one marked superseded, linked both ways and moved to logs/. Refuses a decision that is already superseded, rejected or stale.',
|
|
50
|
+
inputSchema: zod_1.z.object({
|
|
51
|
+
taskId: zod_1.z.string().describe('The decision to supersede, e.g. decision-3'),
|
|
52
|
+
claimKey: zod_1.z.string().optional().describe('Claim family for the new decision (default: the old one\'s)'),
|
|
53
|
+
...decide_tool_1.decisionInputShape,
|
|
54
|
+
}),
|
|
55
|
+
outputSchema: schemas_1.decideOutputSchema,
|
|
56
|
+
}, (0, helpers_1.withBoardCommit)('supersede', defaultFile, async (input) => {
|
|
57
|
+
const filePath = input.file || defaultFile;
|
|
58
|
+
const guard = (0, helpers_1.requireV2)(filePath);
|
|
59
|
+
if (guard)
|
|
60
|
+
return guard;
|
|
61
|
+
const resolved = (0, helpers_1.resolveBrainfile)(filePath);
|
|
62
|
+
const projectRoot = path.dirname(path.dirname(resolved));
|
|
63
|
+
const agent = (0, actor_1.detectAgent)()?.name;
|
|
64
|
+
const result = (0, core_1.supersedeDecisionFile)((0, v2_detect_1.ensureV2Dirs)(resolved), input.taskId, (0, decide_tool_1.decideInputFrom)(input, projectRoot), {
|
|
65
|
+
types: (0, core_1.readBoardConfig)(resolved)?.config.types,
|
|
66
|
+
...(agent ? { agent } : {}),
|
|
67
|
+
});
|
|
68
|
+
const out = (0, decide_tool_1.decideToolResult)(result, `Superseded ${input.taskId} with`);
|
|
69
|
+
return 'structuredContent' in out ? { content: out.content, structuredContent: out.structuredContent } : out;
|
|
70
|
+
}));
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=supersede_tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supersede_tool.js","sourceRoot":"","sources":["../../../src/mcp/tools/supersede_tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,sDA4BC;AAtCD,2CAA6B;AAC7B,6BAAwB;AACxB,0CAAyE;AACzE,qDAAqD;AACrD,6CAAgD;AAChD,wCAA0E;AAC1E,wCAAgD;AAChD,+CAAsF;AAEtF,8EAA8E;AAC9E,SAAgB,qBAAqB,CAAC,MAAiB,EAAE,WAAmB;IAC1E,MAAM,CAAC,YAAY,CACjB,WAAW,EACX;QACE,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,6PAA6P;QAC1Q,WAAW,EAAE,OAAC,CAAC,MAAM,CAAC;YACpB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;YACzE,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6DAA6D,CAAC;YACvG,GAAG,gCAAkB;SACtB,CAAC;QACF,YAAY,EAAE,4BAAkB;KACjC,EACD,IAAA,yBAAe,EAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACxD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,IAAI,WAAW,CAAC;QAC3C,MAAM,KAAK,GAAG,IAAA,mBAAS,EAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;QACxB,MAAM,QAAQ,GAAG,IAAA,0BAAgB,EAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,IAAA,mBAAW,GAAE,EAAE,IAAI,CAAC;QAClC,MAAM,MAAM,GAAG,IAAA,4BAAqB,EAAC,IAAA,wBAAY,EAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,IAAA,6BAAe,EAAC,KAAK,EAAE,WAAW,CAAC,EAAE;YAC9G,KAAK,EAAE,IAAA,sBAAe,EAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,KAAK;YAC9C,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5B,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,IAAA,8BAAgB,EAAC,MAAM,EAAE,cAAc,KAAK,CAAC,MAAM,OAAO,CAAC,CAAC;QACxE,OAAO,mBAAmB,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IAC/G,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { McpServer } from "@modelcontextprotocol/server";
|
|
2
|
+
/**
|
|
3
|
+
* `sync`: fetch, merge and push a shared board now, like `brainfile sync`.
|
|
4
|
+
* It commits nothing itself (merges are their own commits), as the CLI's sync
|
|
5
|
+
* runs outside the per-command board commit. Choosing a remote or the
|
|
6
|
+
* autosync mode stays with the person: they decide who can read the board.
|
|
7
|
+
*/
|
|
8
|
+
export declare function registerSyncTool(server: McpServer, defaultFile: string): void;
|
|
9
|
+
//# sourceMappingURL=sync_tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync_tool.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/sync_tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAQ9D;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAuC7E"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.registerSyncTool = registerSyncTool;
|
|
37
|
+
const path = __importStar(require("path"));
|
|
38
|
+
const zod_1 = require("zod");
|
|
39
|
+
const helpers_1 = require("../helpers");
|
|
40
|
+
const board_sync_1 = require("../../utils/board-sync");
|
|
41
|
+
const board_repo_1 = require("../../utils/board-repo");
|
|
42
|
+
const schemas_1 = require("../schemas");
|
|
43
|
+
/**
|
|
44
|
+
* `sync`: fetch, merge and push a shared board now, like `brainfile sync`.
|
|
45
|
+
* It commits nothing itself (merges are their own commits), as the CLI's sync
|
|
46
|
+
* runs outside the per-command board commit. Choosing a remote or the
|
|
47
|
+
* autosync mode stays with the person: they decide who can read the board.
|
|
48
|
+
*/
|
|
49
|
+
function registerSyncTool(server, defaultFile) {
|
|
50
|
+
server.registerTool('sync', {
|
|
51
|
+
title: 'Sync Board',
|
|
52
|
+
description: 'Share the board now: fetch, merge (the board-aware merge driver) and push through its git remote. pull or push alone for one direction. A plain board, or one with no remote, is skipped with a reason (skipped). conflicts lists files left for a person. Setting the remote or autosync is the person\'s call: brainfile sync --set-remote / --autosync.',
|
|
53
|
+
inputSchema: zod_1.z.object({
|
|
54
|
+
file: zod_1.z.string().optional().describe('Path to brainfile.md (default: brainfile.md)'),
|
|
55
|
+
pull: zod_1.z.boolean().optional().describe('Fetch and merge only'),
|
|
56
|
+
push: zod_1.z.boolean().optional().describe('Push only'),
|
|
57
|
+
}),
|
|
58
|
+
outputSchema: schemas_1.syncOutputSchema,
|
|
59
|
+
}, async ({ file, pull, push }) => {
|
|
60
|
+
const filePath = file || defaultFile;
|
|
61
|
+
const guard = (0, helpers_1.requireV2)(filePath);
|
|
62
|
+
if (guard)
|
|
63
|
+
return guard;
|
|
64
|
+
if (pull === true && push === true)
|
|
65
|
+
return (0, helpers_1.mcpError)('give pull or push, or neither for both');
|
|
66
|
+
const dotDir = path.dirname((0, helpers_1.resolveBrainfile)(filePath));
|
|
67
|
+
const result = (0, board_sync_1.syncBoard)(dotDir, { pull: push !== true, push: pull !== true });
|
|
68
|
+
const tracked = (0, board_repo_1.isTrackedBoard)(dotDir);
|
|
69
|
+
const message = (0, board_sync_1.syncMessage)(result);
|
|
70
|
+
const output = {
|
|
71
|
+
ok: result.ok,
|
|
72
|
+
...(result.skipped ? { skipped: result.skipped } : {}),
|
|
73
|
+
remote: result.remote ?? (tracked ? (0, board_sync_1.boardRemote)(dotDir) : null),
|
|
74
|
+
remoteRef: result.remoteRef ?? (tracked && (0, board_sync_1.boardRemote)(dotDir) ? (0, board_sync_1.boardRemoteRef)(dotDir) : null),
|
|
75
|
+
pulled: result.pulled,
|
|
76
|
+
pushed: result.pushed,
|
|
77
|
+
conflicts: result.conflicts,
|
|
78
|
+
...(result.warning ? { warning: result.warning } : {}),
|
|
79
|
+
...(result.failure ? { failure: result.failure } : {}),
|
|
80
|
+
...(result.movedFromBranch ? { movedFromBranch: result.movedFromBranch } : {}),
|
|
81
|
+
autosync: tracked ? (0, board_sync_1.boardAutosync)(dotDir) : null,
|
|
82
|
+
message: message.detail ? `${message.text} (${message.detail})` : message.text,
|
|
83
|
+
};
|
|
84
|
+
return (0, helpers_1.mcpResult)(`${output.message}\n\n${JSON.stringify(output, null, 2)}`, output);
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=sync_tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync_tool.js","sourceRoot":"","sources":["../../../src/mcp/tools/sync_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;AAa9D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,
|
|
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,CA+JhF"}
|
|
@@ -12,10 +12,10 @@ const schemas_1 = require("../schemas");
|
|
|
12
12
|
function registerTaskAddTool(server, defaultFile) {
|
|
13
13
|
server.registerTool('task_add', {
|
|
14
14
|
title: 'Add Task',
|
|
15
|
-
description: 'Add a
|
|
15
|
+
description: 'Add a board document. Types: epic, spec, plan, task (alias issue) and decision (alias adr) are built in, plus the board\'s own. parentId must fit (epic holds spec, plan, task; spec holds plan, task; plan holds task; task holds task); an off-pattern parent is a warning, refused on a strict board. A decision has no column. decisions: lists the decisions a piece of work rests on.',
|
|
16
16
|
inputSchema: zod_1.z.object({
|
|
17
17
|
file: zod_1.z.string().optional().describe('Path to brainfile.md (default: brainfile.md)'),
|
|
18
|
-
column: zod_1.z.string().describe('Column ID or name to add
|
|
18
|
+
column: zod_1.z.string().optional().describe('Column ID or name to add the document to. Required for work; ignored for a decision, which has no column'),
|
|
19
19
|
title: zod_1.z.string().describe('Task title'),
|
|
20
20
|
description: zod_1.z.string().optional().describe('Task description'),
|
|
21
21
|
priority: zod_1.z.enum(['low', 'medium', 'high', 'critical']).optional().describe('Task priority'),
|
|
@@ -24,7 +24,7 @@ function registerTaskAddTool(server, defaultFile) {
|
|
|
24
24
|
dueDate: zod_1.z.string().optional().describe('Due date (YYYY-MM-DD)'),
|
|
25
25
|
subtasks: zod_1.z.array(zod_1.z.string()).optional().describe('Subtask titles (IDs auto-generated)'),
|
|
26
26
|
relatedFiles: zod_1.z.array(zod_1.z.string()).optional().describe('Related file paths'),
|
|
27
|
-
type: zod_1.z.string().optional().describe('Document type
|
|
27
|
+
type: zod_1.z.string().optional().describe('Document type: epic, spec, plan, task (alias issue), decision (alias adr) or one of the board\'s types. Aliases are written canonically. Determines ID prefix. Default: task'),
|
|
28
28
|
status: zod_1.z.string().optional().describe('Free-form status, e.g. draft/active/superseded for plan documents'),
|
|
29
29
|
// Contract creation (optional)
|
|
30
30
|
with_contract: zod_1.z.boolean().optional().describe('Attach a contract to the new task (default status=draft; use ready:true to make immediately dispatchable)'),
|
|
@@ -32,35 +32,49 @@ function registerTaskAddTool(server, defaultFile) {
|
|
|
32
32
|
deliverables: zod_1.z.array(zod_1.z.string()).optional().describe('Contract deliverables: type:path:description'),
|
|
33
33
|
validation_commands: zod_1.z.array(zod_1.z.string()).optional().describe('Contract validation commands'),
|
|
34
34
|
constraints: zod_1.z.array(zod_1.z.string()).optional().describe('Contract constraints'),
|
|
35
|
-
parentId: zod_1.z.string().optional().describe('Parent task
|
|
35
|
+
parentId: zod_1.z.string().optional().describe('Parent ID (parentId). Must fit the type: a spec under an epic, a plan under an epic or spec, a task under any of those or a task'),
|
|
36
|
+
dependsOn: zod_1.z.array(zod_1.z.string()).optional().describe('IDs of tasks that come first; alias:task-id for a task on a related board'),
|
|
37
|
+
decisions: zod_1.z.array(zod_1.z.string()).optional().describe('IDs of the decisions this work rests on'),
|
|
36
38
|
// Aliases (some clients prefer camelCase)
|
|
37
39
|
withContract: zod_1.z.boolean().optional().describe('Alias of with_contract'),
|
|
38
40
|
validationCommands: zod_1.z.array(zod_1.z.string()).optional().describe('Alias of validation_commands'),
|
|
39
41
|
}),
|
|
40
42
|
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, }) => {
|
|
43
|
+
}, (0, helpers_1.withBoardCommit)('task_add', defaultFile, async ({ file, column, title, description, priority, tags, assignee, dueDate, subtasks, relatedFiles, type: docType, status, parentId, dependsOn, decisions, with_contract, ready: contractReady, deliverables, validation_commands, constraints, withContract, validationCommands, }) => {
|
|
42
44
|
const filePath = file || defaultFile;
|
|
43
45
|
const guard = (0, helpers_2.requireV2)(filePath);
|
|
44
46
|
if (guard)
|
|
45
47
|
return guard;
|
|
46
48
|
try {
|
|
47
49
|
const dirs = (0, v2_detect_1.ensureV2Dirs)(filePath);
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
+
const boardGraph = (0, core_1.readBoardGraph)(filePath);
|
|
51
|
+
const board = boardGraph.config;
|
|
52
|
+
if (!board) {
|
|
50
53
|
return { content: [{ type: 'text', text: `Error: Failed to parse brainfile: ${filePath}` }], isError: true };
|
|
51
54
|
}
|
|
52
|
-
const board = boardFile.config;
|
|
53
55
|
const typePrefix = docType || 'task';
|
|
54
56
|
const typeValidation = (0, core_3.validateType)(board, typePrefix);
|
|
55
57
|
if (!typeValidation.valid) {
|
|
56
58
|
return (0, helpers_2.mcpStructuredError)(typeValidation.error || `Invalid type: ${typePrefix}`, 'type', typePrefix);
|
|
57
59
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
+
const isDecision = (0, core_1.resolveDocType)(typePrefix, board.types).role === 'decision';
|
|
61
|
+
// A decision has no column (spec-12); work needs one.
|
|
62
|
+
let targetColumn = isDecision || !column ? undefined : board.columns.find(c => c.id === column);
|
|
63
|
+
if (!isDecision && column && !targetColumn)
|
|
60
64
|
targetColumn = board.columns.find(c => c.title.toLowerCase() === column.toLowerCase());
|
|
61
|
-
if (!targetColumn) {
|
|
65
|
+
if (!isDecision && !targetColumn) {
|
|
62
66
|
const available = board.columns.map(c => `${c.id} (${c.title})`).join(', ');
|
|
63
|
-
|
|
67
|
+
const message = column ? `Column not found: ${column}` : 'column is required for work (only a decision has none)';
|
|
68
|
+
return { content: [{ type: 'text', text: `Error: ${message}. Available: ${available}` }], isError: true };
|
|
69
|
+
}
|
|
70
|
+
const links = (0, core_1.checkDocumentLinks)(boardGraph.graph, {
|
|
71
|
+
type: typePrefix,
|
|
72
|
+
...(parentId && { parentId }),
|
|
73
|
+
...(dependsOn && dependsOn.length > 0 && { dependsOn }),
|
|
74
|
+
...(decisions && decisions.length > 0 && { decisions }),
|
|
75
|
+
}, { strict: board.strict === true });
|
|
76
|
+
if (links.errors.length > 0) {
|
|
77
|
+
return { content: [{ type: 'text', text: `Error: ${links.errors.join('\n')}` }], isError: true };
|
|
64
78
|
}
|
|
65
79
|
const wantsContract = Boolean(with_contract ?? withContract) ||
|
|
66
80
|
Boolean(deliverables && deliverables.length > 0) ||
|
|
@@ -77,8 +91,8 @@ function registerTaskAddTool(server, defaultFile) {
|
|
|
77
91
|
: undefined;
|
|
78
92
|
const result = (0, core_1.addTaskFile)(dirs.boardDir, {
|
|
79
93
|
title,
|
|
80
|
-
column: targetColumn
|
|
81
|
-
...(docType &&
|
|
94
|
+
column: targetColumn?.id,
|
|
95
|
+
...(docType && { type: docType }),
|
|
82
96
|
description,
|
|
83
97
|
priority,
|
|
84
98
|
tags,
|
|
@@ -87,15 +101,23 @@ function registerTaskAddTool(server, defaultFile) {
|
|
|
87
101
|
relatedFiles,
|
|
88
102
|
subtasks,
|
|
89
103
|
parentId,
|
|
104
|
+
dependsOn,
|
|
105
|
+
decisions,
|
|
90
106
|
status,
|
|
91
107
|
contract,
|
|
92
|
-
}, description ? (0, v2_detect_1.composeBody)(description) : '', dirs.logsDir);
|
|
108
|
+
}, description ? (0, v2_detect_1.composeBody)(description) : '', dirs.logsDir, { types: board.types });
|
|
93
109
|
if (!result.success || !result.task) {
|
|
94
110
|
return { content: [{ type: 'text', text: `Error: ${result.error || 'Failed to add task'}` }], isError: true };
|
|
95
111
|
}
|
|
112
|
+
const warnings = links.warnings.length > 0 ? `\nWarning: ${links.warnings.join('\nWarning: ')}` : '';
|
|
96
113
|
return {
|
|
97
|
-
content: [{ type: 'text', text: `Task added successfully: ${result.task.id} - ${title}` }],
|
|
98
|
-
structuredContent: {
|
|
114
|
+
content: [{ type: 'text', text: `Task added successfully: ${result.task.id} - ${title}${warnings}` }],
|
|
115
|
+
structuredContent: {
|
|
116
|
+
id: result.task.id,
|
|
117
|
+
title,
|
|
118
|
+
...(result.task.type ? { type: result.task.type } : {}),
|
|
119
|
+
...(links.warnings.length > 0 ? { warnings: links.warnings } : {}),
|
|
120
|
+
},
|
|
99
121
|
};
|
|
100
122
|
}
|
|
101
123
|
catch (e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task_add_tool.js","sourceRoot":"","sources":["../../../src/mcp/tools/task_add_tool.ts"],"names":[],"mappings":";;AAaA,
|
|
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;AAmB9D,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CA6JrF"}
|
|
@@ -48,7 +48,7 @@ const schemas_1 = require("../schemas");
|
|
|
48
48
|
function registerTaskCompleteTool(server, defaultFile) {
|
|
49
49
|
server.registerTool('task_complete', {
|
|
50
50
|
title: 'Complete Task',
|
|
51
|
-
description: 'Complete a task or archive it to local/GitHub/Linear destination',
|
|
51
|
+
description: 'Complete a task or archive it to local/GitHub/Linear destination. A parent with open children refuses (any container, not only an epic); a decision is never completed.',
|
|
52
52
|
inputSchema: zod_1.z.object({
|
|
53
53
|
file: zod_1.z.string().optional().describe('Path to brainfile.md (default: brainfile.md)'),
|
|
54
54
|
task: zod_1.z.string().describe('Task ID to complete'),
|
|
@@ -82,7 +82,8 @@ function registerTaskCompleteTool(server, defaultFile) {
|
|
|
82
82
|
if (!found) {
|
|
83
83
|
return { content: [{ type: 'text', text: `Error: Task not found: ${task}` }], isError: true };
|
|
84
84
|
}
|
|
85
|
-
const
|
|
85
|
+
const types = (0, v2_detect_1.readV2BoardConfig)(filePath).types;
|
|
86
|
+
const result = (0, core_1.completeTaskFile)(found.filePath, dirs.logsDir, { types });
|
|
86
87
|
if (!result.success) {
|
|
87
88
|
const detail = result.incompleteChildren?.length
|
|
88
89
|
? `\nIncomplete children:\n${result.incompleteChildren.map(c => ` - ${c.id}: ${c.title}`).join('\n')}`
|
|
@@ -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_patch_tool.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/task_patch_tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"task_patch_tool.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/task_patch_tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAgB9D,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAwHlF"}
|