@brxce/mcp-server 1.1.12 → 1.1.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -27
- package/dist/index.js.map +1 -1
- package/dist/services/api-client.d.ts +32 -12
- package/dist/services/api-client.d.ts.map +1 -1
- package/dist/services/api-client.js +117 -75
- package/dist/services/api-client.js.map +1 -1
- package/dist/services/workspace-context.d.ts +27 -24
- package/dist/services/workspace-context.d.ts.map +1 -1
- package/dist/services/workspace-context.js +46 -45
- package/dist/services/workspace-context.js.map +1 -1
- package/dist/tools/comment-tool.d.ts.map +1 -1
- package/dist/tools/comment-tool.js +3 -0
- package/dist/tools/comment-tool.js.map +1 -1
- package/dist/tools/criteria-tool.d.ts.map +1 -1
- package/dist/tools/criteria-tool.js +3 -0
- package/dist/tools/criteria-tool.js.map +1 -1
- package/dist/tools/meeting-agenda-notes-tool.js +22 -22
- package/dist/tools/meeting-agenda-notes-tool.js.map +1 -1
- package/dist/tools/meeting-agenda-tool.js +29 -29
- package/dist/tools/meeting-agenda-tool.js.map +1 -1
- package/dist/tools/meeting-decisions-tool.js +28 -28
- package/dist/tools/meeting-decisions-tool.js.map +1 -1
- package/dist/tools/meeting-notes-tool.js +22 -22
- package/dist/tools/meeting-notes-tool.js.map +1 -1
- package/dist/tools/tag-category-tool.js +13 -13
- package/dist/tools/tag-category-tool.js.map +1 -1
- package/dist/tools/tag-search-tool.js +38 -38
- package/dist/tools/tag-search-tool.js.map +1 -1
- package/dist/tools/tag-tool.js +40 -40
- package/dist/tools/tag-tool.js.map +1 -1
- package/dist/tools/worknode-batch-tool.d.ts.map +1 -1
- package/dist/tools/worknode-batch-tool.js +7 -0
- package/dist/tools/worknode-batch-tool.js.map +1 -1
- package/dist/tools/worknode-create-tool.d.ts.map +1 -1
- package/dist/tools/worknode-create-tool.js +18 -2
- package/dist/tools/worknode-create-tool.js.map +1 -1
- package/dist/tools/worknode-delete-tool.d.ts.map +1 -1
- package/dist/tools/worknode-delete-tool.js +7 -0
- package/dist/tools/worknode-delete-tool.js.map +1 -1
- package/dist/tools/worknode-detail-tool.d.ts.map +1 -1
- package/dist/tools/worknode-detail-tool.js +19 -17
- package/dist/tools/worknode-detail-tool.js.map +1 -1
- package/dist/tools/worknode-history-tool.d.ts.map +1 -1
- package/dist/tools/worknode-history-tool.js +3 -1
- package/dist/tools/worknode-history-tool.js.map +1 -1
- package/dist/tools/worknode-move-tool.d.ts.map +1 -1
- package/dist/tools/worknode-move-tool.js +4 -1
- package/dist/tools/worknode-move-tool.js.map +1 -1
- package/dist/tools/worknode-permanent-delete-tool.d.ts.map +1 -1
- package/dist/tools/worknode-permanent-delete-tool.js +7 -0
- package/dist/tools/worknode-permanent-delete-tool.js.map +1 -1
- package/dist/tools/worknode-read-tool.d.ts.map +1 -1
- package/dist/tools/worknode-read-tool.js +18 -1
- package/dist/tools/worknode-read-tool.js.map +1 -1
- package/dist/tools/worknode-subtree-tool.js +19 -19
- package/dist/tools/worknode-subtree-tool.js.map +1 -1
- package/dist/tools/worknode-tag-relations-tool.d.ts.map +1 -1
- package/dist/tools/worknode-tag-relations-tool.js +3 -1
- package/dist/tools/worknode-tag-relations-tool.js.map +1 -1
- package/dist/tools/worknode-tag-tool.d.ts.map +1 -1
- package/dist/tools/worknode-tag-tool.js +43 -31
- package/dist/tools/worknode-tag-tool.js.map +1 -1
- package/dist/tools/worknode-update-tool.d.ts.map +1 -1
- package/dist/tools/worknode-update-tool.js +20 -3
- package/dist/tools/worknode-update-tool.js.map +1 -1
- package/dist/tools/workspace-tree-tool.d.ts.map +1 -1
- package/dist/tools/workspace-tree-tool.js +29 -22
- package/dist/tools/workspace-tree-tool.js.map +1 -1
- package/dist/utils/error-utils.d.ts +6 -4
- package/dist/utils/error-utils.d.ts.map +1 -1
- package/dist/utils/error-utils.js +13 -16
- package/dist/utils/error-utils.js.map +1 -1
- package/dist/utils/index.d.ts +0 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +0 -1
- package/dist/utils/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worknode-permanent-delete-tool.js","sourceRoot":"","sources":["../../src/tools/worknode-permanent-delete-tool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,UAAU,mCAAmC,CAAC,MAAiB,EAAE,SAAoB;IACzF,MAAM,CAAC,YAAY,CACjB,iCAAiC,EACjC;QACE,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;yFA2BsE;
|
|
1
|
+
{"version":3,"file":"worknode-permanent-delete-tool.js","sourceRoot":"","sources":["../../src/tools/worknode-permanent-delete-tool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,UAAU,mCAAmC,CAAC,MAAiB,EAAE,SAAoB;IACzF,MAAM,CAAC,YAAY,CACjB,iCAAiC,EACjC;QACE,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;yFA2BsE;QACnF,WAAW,EAAE;YACX,KAAK,EAAE,6BAA6B;YACpC,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,IAAI;YACrB,cAAc,EAAE,KAAK;YACrB,aAAa,EAAE,KAAK;SACrB;QACD,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iEAAiE,CAAC;YAC9F,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+DAA+D,CAAC;YACnH,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,mGAAmG,CAAC;SACnI;KACF,EACD,KAAK,EAAE,IAA6B,EAAE,EAAE;QACtC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,IAIxC,CAAC;QAEF,qCAAqC;QACrC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE;;;;;gGAK4E,MAAM;;;uCAG/D;qBAC1B;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,sDAAsD;YACtD,IAAI,GAAG,GAAG,kBAAkB,kBAAkB,CAAC,MAAM,CAAC,YAAY,CAAC;YACnE,IAAI,WAAW,EAAE,CAAC;gBAChB,GAAG,IAAI,gBAAgB,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3D,CAAC;YAED,6EAA6E;YAC7E,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,MAAM,CAQpC,GAAG,EAAE,EAAE,YAAY,EAAE,oBAAoB,EAAE,CAAC,CAAC;YAEhD,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtB,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE;;aAET,QAAQ,CAAC,OAAO,IAAI,eAAe;;;;;;8BAMlB;yBACf;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;YAC1B,MAAM,SAAS,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAExD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE;;cAEN,IAAI,EAAE,MAAM,IAAI,MAAM,GAAG,SAAS;;oBAE5B,IAAI,EAAE,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;;;4GAG6C;qBAC/F;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE;;aAEP,eAAe,CAAC,KAAK,CAAC;;;;;6BAKN;qBAChB;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worknode-read-tool.d.ts","sourceRoot":"","sources":["../../src/tools/worknode-read-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"worknode-read-tool.d.ts","sourceRoot":"","sources":["../../src/tools/worknode-read-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAItD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QAgT/E"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { getErrorMessage } from '../utils/error-utils.js';
|
|
3
|
+
import { workspaceContext } from '../services/workspace-context.js';
|
|
3
4
|
export function registerWorknodeReadTool(server, apiClient) {
|
|
4
5
|
const userIdentifierSchema = z.union([z.literal('me'), z.string().min(1)]);
|
|
5
6
|
const createdByFilterSchema = z.object({
|
|
@@ -40,6 +41,13 @@ Params: query, workspaceId, nodeTypes[], statuses[], priorities[], assignee, lim
|
|
|
40
41
|
Filters: createdBy, createdByFilter, assigneeFilter (has/notHas/isEmpty/hasOnly/anyOf)
|
|
41
42
|
|
|
42
43
|
Returns: nodes (11 fields), total, pagination info. Dates in UTC.`,
|
|
44
|
+
annotations: {
|
|
45
|
+
title: 'Search WorkNodes',
|
|
46
|
+
readOnlyHint: true,
|
|
47
|
+
destructiveHint: false,
|
|
48
|
+
idempotentHint: true,
|
|
49
|
+
openWorldHint: false,
|
|
50
|
+
},
|
|
43
51
|
inputSchema: {
|
|
44
52
|
query: z.string().optional().describe('Search keyword for title/description (case-insensitive). Also accepts displayId format: "#123", "123", "WS-123"'),
|
|
45
53
|
displayId: z.union([z.string(), z.number()]).optional().describe('Lookup by displayId directly (e.g., 5362, "#5362"). Converted to query internally.'),
|
|
@@ -74,8 +82,9 @@ Returns: nodes (11 fields), total, pagination info. Dates in UTC.`,
|
|
|
74
82
|
const effectiveWorknodeIds = worknodeIds && worknodeIds.length > 0 ? worknodeIds : nodeIds;
|
|
75
83
|
if (effectiveWorknodeIds && effectiveWorknodeIds.length > 0)
|
|
76
84
|
requestBody.worknodeIds = effectiveWorknodeIds;
|
|
77
|
-
if (workspaceId !== undefined)
|
|
85
|
+
if (workspaceId !== undefined) {
|
|
78
86
|
requestBody.workspaceId = workspaceId;
|
|
87
|
+
}
|
|
79
88
|
if (nodeTypes && nodeTypes.length > 0)
|
|
80
89
|
requestBody.nodeTypes = nodeTypes;
|
|
81
90
|
if (statuses && statuses.length > 0)
|
|
@@ -102,6 +111,14 @@ Returns: nodes (11 fields), total, pagination info. Dates in UTC.`,
|
|
|
102
111
|
isError: true,
|
|
103
112
|
};
|
|
104
113
|
}
|
|
114
|
+
// Persist workspace context only after a successful call so follow-up
|
|
115
|
+
// displayId-based tool calls (update/move/comment/...) can resolve
|
|
116
|
+
// without re-passing workspaceId. Intentionally NOT set before the
|
|
117
|
+
// request — a 403 on a misaddressed workspaceId would otherwise
|
|
118
|
+
// poison the context and cascade into subsequent tool calls.
|
|
119
|
+
if (workspaceId !== undefined) {
|
|
120
|
+
workspaceContext.setWorkspace(workspaceId);
|
|
121
|
+
}
|
|
105
122
|
const { nodes, total } = response.data;
|
|
106
123
|
let resultText = `## WorkNode Read Results\n\n`;
|
|
107
124
|
// Search criteria
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worknode-read-tool.js","sourceRoot":"","sources":["../../src/tools/worknode-read-tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"worknode-read-tool.js","sourceRoot":"","sources":["../../src/tools/worknode-read-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -154,35 +154,35 @@ Returns: Markdown formatted tree with statistics. Dates in UTC.`,
|
|
|
154
154
|
const { node, children, stats } = response.data;
|
|
155
155
|
// Build Markdown formatted response
|
|
156
156
|
const rootDisplayId = node.displayId ?? node.id;
|
|
157
|
-
let resultText = `## WorkNode Subtree (#${rootDisplayId})
|
|
157
|
+
let resultText = `## WorkNode Subtree (#${rootDisplayId})\n\n`;
|
|
158
158
|
// Statistics summary
|
|
159
|
-
resultText += `**Statistics
|
|
160
|
-
resultText += `- Total descendants: ${stats.totalDescendants}
|
|
161
|
-
resultText += `- Max depth: ${stats.maxDepth}
|
|
162
|
-
resultText +=
|
|
159
|
+
resultText += `**Statistics:**\n`;
|
|
160
|
+
resultText += `- Total descendants: ${stats.totalDescendants}\n`;
|
|
161
|
+
resultText += `- Max depth: ${stats.maxDepth}\n`;
|
|
162
|
+
resultText += `\n`;
|
|
163
163
|
if (Object.keys(stats.byStatus).length > 0) {
|
|
164
|
-
resultText += `**By Status
|
|
164
|
+
resultText += `**By Status:**\n`;
|
|
165
165
|
Object.entries(stats.byStatus).forEach(([status, count]) => {
|
|
166
166
|
const emoji = STATUS_EMOJI[status] || '';
|
|
167
|
-
resultText += `- ${emoji} ${status}: ${count}
|
|
167
|
+
resultText += `- ${emoji} ${status}: ${count}\n`;
|
|
168
168
|
});
|
|
169
|
-
resultText +=
|
|
169
|
+
resultText += `\n`;
|
|
170
170
|
}
|
|
171
171
|
if (Object.keys(stats.byNodeType).length > 0) {
|
|
172
|
-
resultText += `**By Type
|
|
172
|
+
resultText += `**By Type:**\n`;
|
|
173
173
|
Object.entries(stats.byNodeType).forEach(([type, count]) => {
|
|
174
174
|
const emoji = NODE_TYPE_EMOJI[type] || '';
|
|
175
|
-
resultText += `- ${emoji} ${type}: ${count}
|
|
175
|
+
resultText += `- ${emoji} ${type}: ${count}\n`;
|
|
176
176
|
});
|
|
177
|
-
resultText +=
|
|
177
|
+
resultText += `\n`;
|
|
178
178
|
}
|
|
179
179
|
if (Object.keys(stats.byPriority).length > 0) {
|
|
180
|
-
resultText += `**By Priority
|
|
180
|
+
resultText += `**By Priority:**\n`;
|
|
181
181
|
Object.entries(stats.byPriority).forEach(([priority, count]) => {
|
|
182
182
|
const emoji = PRIORITY_EMOJI[priority] || '';
|
|
183
|
-
resultText += `- ${emoji} ${priority}: ${count}
|
|
183
|
+
resultText += `- ${emoji} ${priority}: ${count}\n`;
|
|
184
184
|
});
|
|
185
|
-
resultText +=
|
|
185
|
+
resultText += `\n`;
|
|
186
186
|
}
|
|
187
187
|
// Tree structure
|
|
188
188
|
resultText += `**Subtree Structure:**\n\n`;
|
|
@@ -192,15 +192,15 @@ Returns: Markdown formatted tree with statistics. Dates in UTC.`,
|
|
|
192
192
|
if (children.length > 0) {
|
|
193
193
|
resultText += buildTreeByDepth(children, node.id);
|
|
194
194
|
}
|
|
195
|
-
resultText +=
|
|
196
|
-
resultText += `**Note:** This subtree shows the node and all its descendants
|
|
197
|
-
resultText += `Each node shows: type, title, ID, status, priority, progress, assignees, and due date
|
|
195
|
+
resultText += `\n---\n`;
|
|
196
|
+
resultText += `**Note:** This subtree shows the node and all its descendants.\n`;
|
|
197
|
+
resultText += `Each node shows: type, title, ID, status, priority, progress, assignees, and due date.\n`;
|
|
198
198
|
// Add workspaceId hint for displayId usage
|
|
199
199
|
if (resolvedWorkspaceId) {
|
|
200
|
-
resultText +=
|
|
200
|
+
resultText += `\n**Important:** When using displayId (e.g., #123) for operations, include \`workspaceId: "${resolvedWorkspaceId}"\`\n`;
|
|
201
201
|
}
|
|
202
202
|
else if (node.workspaceId) {
|
|
203
|
-
resultText +=
|
|
203
|
+
resultText += `\n**Important:** When using displayId (e.g., #123) for operations, include \`workspaceId: "${node.workspaceId}"\`\n`;
|
|
204
204
|
}
|
|
205
205
|
return {
|
|
206
206
|
content: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worknode-subtree-tool.js","sourceRoot":"","sources":["../../src/tools/worknode-subtree-tool.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"worknode-subtree-tool.js","sourceRoot":"","sources":["../../src/tools/worknode-subtree-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worknode-tag-relations-tool.d.ts","sourceRoot":"","sources":["../../src/tools/worknode-tag-relations-tool.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"worknode-tag-relations-tool.d.ts","sourceRoot":"","sources":["../../src/tools/worknode-tag-relations-tool.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AA0G3D,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QAiGvF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { getErrorMessage, isNotFoundError } from '../utils/error-utils.js';
|
|
3
|
+
import { workspaceContext } from '../services/workspace-context.js';
|
|
3
4
|
function formatTagRelationsAsMarkdown(worknodeId, workspaceId, tagRelations) {
|
|
4
5
|
const lines = [];
|
|
5
6
|
lines.push(`## Tags for WorkNode`);
|
|
@@ -87,11 +88,12 @@ Returns: workNodeId, workspaceId, tagRelations[]`,
|
|
|
87
88
|
},
|
|
88
89
|
}, async (args) => {
|
|
89
90
|
const resolvedWorknodeId = (args.worknodeId || args.nodeId);
|
|
90
|
-
const workspaceId = args.workspaceId;
|
|
91
91
|
const worknodeId = resolvedWorknodeId;
|
|
92
92
|
if (!worknodeId) {
|
|
93
93
|
throw new Error('worknodeId or nodeId is required');
|
|
94
94
|
}
|
|
95
|
+
const { workspaceId: resolvedWs } = workspaceContext.resolve(typeof args.workspaceId === 'string' ? args.workspaceId : undefined, [worknodeId]);
|
|
96
|
+
const workspaceId = resolvedWs ?? args.workspaceId;
|
|
95
97
|
try {
|
|
96
98
|
// Build URL with query params if needed
|
|
97
99
|
const encodedWorknodeId = encodeURIComponent(worknodeId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worknode-tag-relations-tool.js","sourceRoot":"","sources":["../../src/tools/worknode-tag-relations-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AA+
|
|
1
|
+
{"version":3,"file":"worknode-tag-relations-tool.js","sourceRoot":"","sources":["../../src/tools/worknode-tag-relations-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worknode-tag-tool.d.ts","sourceRoot":"","sources":["../../src/tools/worknode-tag-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"worknode-tag-tool.d.ts","sourceRoot":"","sources":["../../src/tools/worknode-tag-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAOtD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QAof/E"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { getErrorMessage } from '../utils/error-utils.js';
|
|
3
|
+
import { workspaceContext } from '../services/workspace-context.js';
|
|
4
|
+
const WORKSPACE_REQUIRED_ERROR = 'Error: workspaceId is required (no context available — call brxce_workspace_overview first or pass workspaceId explicitly)';
|
|
3
5
|
export function registerWorknodeTagTools(server, apiClient) {
|
|
4
6
|
/**
|
|
5
7
|
* Add tags to WorkNode
|
|
@@ -29,7 +31,7 @@ Assistant: Add "high-priority" and "backend" tags
|
|
|
29
31
|
- Number skipped (if already tagged)
|
|
30
32
|
- List of all current tags on the WorkNode`,
|
|
31
33
|
inputSchema: {
|
|
32
|
-
workspaceId: z.string().uuid().describe('The workspace ID'),
|
|
34
|
+
workspaceId: z.string().uuid().optional().describe('The workspace ID (resolved from context if omitted and worknodeId is a displayId)'),
|
|
33
35
|
worknodeId: z.string().optional().describe('WorkNode ID (UUID or displayId like #123). Alias: "nodeId" also accepted.'),
|
|
34
36
|
nodeId: z.string().optional().describe('Alias for worknodeId. Use worknodeId or nodeId (either works).'),
|
|
35
37
|
tagIds: z.array(z.string().uuid()).describe('Array of tag IDs to add')
|
|
@@ -40,8 +42,12 @@ Assistant: Add "high-priority" and "backend" tags
|
|
|
40
42
|
if (!resolvedWorknodeId) {
|
|
41
43
|
return { content: [{ type: 'text', text: 'Error: worknodeId or nodeId is required' }], isError: true };
|
|
42
44
|
}
|
|
43
|
-
const {
|
|
45
|
+
const { tagIds } = args;
|
|
44
46
|
const worknodeId = resolvedWorknodeId;
|
|
47
|
+
const { workspaceId } = workspaceContext.resolve(args.workspaceId, [worknodeId]);
|
|
48
|
+
if (!workspaceId) {
|
|
49
|
+
return { content: [{ type: 'text', text: WORKSPACE_REQUIRED_ERROR }], isError: true };
|
|
50
|
+
}
|
|
45
51
|
const url = `/mcp/workspaces/${workspaceId}/worknodes/${encodeURIComponent(worknodeId)}/tags`;
|
|
46
52
|
const response = await apiClient.post(url, { tagIds });
|
|
47
53
|
if (!response.success) {
|
|
@@ -56,11 +62,11 @@ Assistant: Add "high-priority" and "backend" tags
|
|
|
56
62
|
};
|
|
57
63
|
}
|
|
58
64
|
const { added, skipped, tags } = response.data;
|
|
59
|
-
let resultText = `Tags added to WorkNode #${worknodeId}
|
|
60
|
-
resultText += `Added: ${added} tag(s)
|
|
65
|
+
let resultText = `Tags added to WorkNode #${worknodeId}:\n\n`;
|
|
66
|
+
resultText += `Added: ${added} tag(s)\n`;
|
|
61
67
|
if (skipped > 0)
|
|
62
|
-
resultText += `Skipped: ${skipped} (already tagged)
|
|
63
|
-
resultText +=
|
|
68
|
+
resultText += `Skipped: ${skipped} (already tagged)\n`;
|
|
69
|
+
resultText += `\n**Current tags:**\n`;
|
|
64
70
|
// Group by category
|
|
65
71
|
const byCategory = tags.reduce((acc, wnt) => {
|
|
66
72
|
const catName = wnt.tag.category.name;
|
|
@@ -70,7 +76,7 @@ Assistant: Add "high-priority" and "backend" tags
|
|
|
70
76
|
return acc;
|
|
71
77
|
}, {});
|
|
72
78
|
Object.entries(byCategory).forEach(([catName, tagNames]) => {
|
|
73
|
-
resultText += `- ${catName}: ${tagNames.join(', ')}
|
|
79
|
+
resultText += `- ${catName}: ${tagNames.join(', ')}\n`;
|
|
74
80
|
});
|
|
75
81
|
return {
|
|
76
82
|
content: [
|
|
@@ -113,7 +119,7 @@ Assistant: Add "high-priority" and "backend" tags
|
|
|
113
119
|
User: "What tags does task #142 have?"
|
|
114
120
|
Assistant calls: brxce_get_worknode_tags(workspaceId: 4, worknodeId: 142)`,
|
|
115
121
|
inputSchema: {
|
|
116
|
-
workspaceId: z.string().uuid().describe('The workspace ID'),
|
|
122
|
+
workspaceId: z.string().uuid().optional().describe('The workspace ID (resolved from context if omitted and worknodeId is a displayId)'),
|
|
117
123
|
worknodeId: z.string().optional().describe('WorkNode ID (UUID or displayId like #123). Alias: "nodeId" also accepted.'),
|
|
118
124
|
nodeId: z.string().optional().describe('Alias for worknodeId. Use worknodeId or nodeId (either works).')
|
|
119
125
|
}
|
|
@@ -123,8 +129,11 @@ Assistant calls: brxce_get_worknode_tags(workspaceId: 4, worknodeId: 142)`,
|
|
|
123
129
|
if (!resolvedWorknodeId) {
|
|
124
130
|
return { content: [{ type: 'text', text: 'Error: worknodeId or nodeId is required' }], isError: true };
|
|
125
131
|
}
|
|
126
|
-
const workspaceId = args.workspaceId;
|
|
127
132
|
const worknodeId = resolvedWorknodeId;
|
|
133
|
+
const { workspaceId } = workspaceContext.resolve(args.workspaceId, [worknodeId]);
|
|
134
|
+
if (!workspaceId) {
|
|
135
|
+
return { content: [{ type: 'text', text: WORKSPACE_REQUIRED_ERROR }], isError: true };
|
|
136
|
+
}
|
|
128
137
|
const url = `/mcp/workspaces/${workspaceId}/worknodes/${encodeURIComponent(worknodeId)}/tags`;
|
|
129
138
|
const response = await apiClient.get(url);
|
|
130
139
|
if (!response.success) {
|
|
@@ -139,10 +148,10 @@ Assistant calls: brxce_get_worknode_tags(workspaceId: 4, worknodeId: 142)`,
|
|
|
139
148
|
};
|
|
140
149
|
}
|
|
141
150
|
const { tags, total } = response.data;
|
|
142
|
-
let resultText = `## Tags for WorkNode #${worknodeId}
|
|
143
|
-
resultText += `Total tags: ${total}
|
|
151
|
+
let resultText = `## Tags for WorkNode #${worknodeId}\n\n`;
|
|
152
|
+
resultText += `Total tags: ${total}\n\n`;
|
|
144
153
|
if (tags.length === 0) {
|
|
145
|
-
resultText += `No tags attached
|
|
154
|
+
resultText += `No tags attached.\n`;
|
|
146
155
|
}
|
|
147
156
|
else {
|
|
148
157
|
// Group by category
|
|
@@ -154,20 +163,20 @@ Assistant calls: brxce_get_worknode_tags(workspaceId: 4, worknodeId: 142)`,
|
|
|
154
163
|
return acc;
|
|
155
164
|
}, {});
|
|
156
165
|
Object.entries(byCategory).forEach(([catName, catTags]) => {
|
|
157
|
-
resultText += `### ${catName}
|
|
166
|
+
resultText += `### ${catName}\n`;
|
|
158
167
|
catTags.forEach((wnt) => {
|
|
159
|
-
resultText += `- **${wnt.tag.name}** (ID: ${wnt.tag.id})
|
|
168
|
+
resultText += `- **${wnt.tag.name}** (ID: ${wnt.tag.id})\n`;
|
|
160
169
|
if (wnt.tag.description)
|
|
161
|
-
resultText += ` ${wnt.tag.description}
|
|
170
|
+
resultText += ` ${wnt.tag.description}\n`;
|
|
162
171
|
if (wnt.tag.parentTag)
|
|
163
|
-
resultText += ` Parent: ${wnt.tag.parentTag.name}
|
|
172
|
+
resultText += ` Parent: ${wnt.tag.parentTag.name}\n`;
|
|
164
173
|
const addedDate = new Date(wnt.addedAt).toISOString().split('T')[0];
|
|
165
174
|
resultText += ` Added: ${addedDate}`;
|
|
166
175
|
if (wnt.user)
|
|
167
176
|
resultText += ` by ${wnt.user.name || wnt.user.email}`;
|
|
168
|
-
resultText +=
|
|
177
|
+
resultText += `\n`;
|
|
169
178
|
});
|
|
170
|
-
resultText +=
|
|
179
|
+
resultText += `\n`;
|
|
171
180
|
});
|
|
172
181
|
}
|
|
173
182
|
return {
|
|
@@ -283,22 +292,22 @@ Assistant calls: brxce_get_worknode_tags(workspaceId: 4, worknodeId: 142)`,
|
|
|
283
292
|
};
|
|
284
293
|
}
|
|
285
294
|
const { totalWorknodes, totalTags, totalAssignments, added, skipped, failed } = response.data;
|
|
286
|
-
let resultText = `## Batch Tag Assignment Results
|
|
287
|
-
resultText += `**Summary
|
|
288
|
-
resultText += `- WorkNodes: ${totalWorknodes}
|
|
289
|
-
resultText += `- Tags: ${totalTags}
|
|
290
|
-
resultText += `- Total assignments attempted: ${totalAssignments}
|
|
291
|
-
resultText += `- ✅ Added: ${added}
|
|
292
|
-
resultText += `- ⏭️ Skipped (duplicates): ${skipped}
|
|
293
|
-
resultText += `- ❌ Failed: ${failed.length}
|
|
295
|
+
let resultText = `## Batch Tag Assignment Results\n\n`;
|
|
296
|
+
resultText += `**Summary:**\n`;
|
|
297
|
+
resultText += `- WorkNodes: ${totalWorknodes}\n`;
|
|
298
|
+
resultText += `- Tags: ${totalTags}\n`;
|
|
299
|
+
resultText += `- Total assignments attempted: ${totalAssignments}\n`;
|
|
300
|
+
resultText += `- ✅ Added: ${added}\n`;
|
|
301
|
+
resultText += `- ⏭️ Skipped (duplicates): ${skipped}\n`;
|
|
302
|
+
resultText += `- ❌ Failed: ${failed.length}\n\n`;
|
|
294
303
|
if (failed.length > 0) {
|
|
295
|
-
resultText += `**Failures
|
|
304
|
+
resultText += `**Failures:**\n`;
|
|
296
305
|
failed.forEach((f) => {
|
|
297
|
-
resultText += `- WorkNode #${f.worknodeId}, Tag #${f.tagId}: ${f.reason}
|
|
306
|
+
resultText += `- WorkNode #${f.worknodeId}, Tag #${f.tagId}: ${f.reason}\n`;
|
|
298
307
|
});
|
|
299
308
|
}
|
|
300
309
|
if (added > 0) {
|
|
301
|
-
resultText +=
|
|
310
|
+
resultText += `\n✅ Successfully assigned ${added} tag-worknode relationships!`;
|
|
302
311
|
}
|
|
303
312
|
return {
|
|
304
313
|
content: [
|
|
@@ -340,7 +349,7 @@ User: "Remove the React tag from task #142"
|
|
|
340
349
|
Assistant: Get React tag ID, then call:
|
|
341
350
|
brxce_remove_tag_from_worknode(workspaceId: 4, worknodeId: 142, tagId: 25)`,
|
|
342
351
|
inputSchema: {
|
|
343
|
-
workspaceId: z.string().uuid().describe('The workspace ID'),
|
|
352
|
+
workspaceId: z.string().uuid().optional().describe('The workspace ID (resolved from context if omitted and worknodeId is a displayId)'),
|
|
344
353
|
worknodeId: z.string().optional().describe('WorkNode ID (UUID or displayId like #123). Alias: "nodeId" also accepted.'),
|
|
345
354
|
nodeId: z.string().optional().describe('Alias for worknodeId. Use worknodeId or nodeId (either works).'),
|
|
346
355
|
tagId: z.string().uuid().describe('Tag ID to remove')
|
|
@@ -351,9 +360,12 @@ brxce_remove_tag_from_worknode(workspaceId: 4, worknodeId: 142, tagId: 25)`,
|
|
|
351
360
|
if (!resolvedWorknodeId) {
|
|
352
361
|
return { content: [{ type: 'text', text: 'Error: worknodeId or nodeId is required' }], isError: true };
|
|
353
362
|
}
|
|
354
|
-
const workspaceId = args.workspaceId;
|
|
355
363
|
const worknodeId = resolvedWorknodeId;
|
|
356
364
|
const tagId = args.tagId;
|
|
365
|
+
const { workspaceId } = workspaceContext.resolve(args.workspaceId, [worknodeId]);
|
|
366
|
+
if (!workspaceId) {
|
|
367
|
+
return { content: [{ type: 'text', text: WORKSPACE_REQUIRED_ERROR }], isError: true };
|
|
368
|
+
}
|
|
357
369
|
const url = `/mcp/workspaces/${workspaceId}/worknodes/${encodeURIComponent(worknodeId)}/tags/${tagId}`;
|
|
358
370
|
const response = await apiClient.delete(url);
|
|
359
371
|
if (!response.success) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worknode-tag-tool.js","sourceRoot":"","sources":["../../src/tools/worknode-tag-tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"worknode-tag-tool.js","sourceRoot":"","sources":["../../src/tools/worknode-tag-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worknode-update-tool.d.ts","sourceRoot":"","sources":["../../src/tools/worknode-update-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"worknode-update-tool.d.ts","sourceRoot":"","sources":["../../src/tools/worknode-update-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AA2GtD,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QA4UjF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { getErrorMessage } from '../utils/error-utils.js';
|
|
3
|
+
import { workspaceContext, inferredWorkspaceNotice } from '../services/workspace-context.js';
|
|
3
4
|
const WorknodeTypeSchema = z.enum(['goal', 'project', 'subproject', 'task', 'subtask', 'note', 'milestone']);
|
|
4
5
|
const WorkNodeStatusSchema = z.enum(['backlog', 'not_started', 'in_progress', 'completed', 'pause', 'archived', 'static']);
|
|
5
6
|
const WorkNodePrioritySchema = z.enum(['critical', 'urgent', 'high', 'medium', 'low']);
|
|
@@ -69,27 +70,38 @@ Changes: title, description, status, priority, parentNodeId, nodeType, startDate
|
|
|
69
70
|
Options: cascade (complete all descendants when status→completed)
|
|
70
71
|
|
|
71
72
|
Dates: ISO 8601 (e.g., 2025-01-20T09:00:00Z), null to clear`,
|
|
73
|
+
annotations: {
|
|
74
|
+
title: 'Update WorkNodes',
|
|
75
|
+
readOnlyHint: false,
|
|
76
|
+
destructiveHint: false,
|
|
77
|
+
idempotentHint: true,
|
|
78
|
+
openWorldHint: false,
|
|
79
|
+
},
|
|
72
80
|
inputSchema: {
|
|
73
81
|
updates: z.array(UpdateWorknodeSchema).min(1).describe('Array of update operations'),
|
|
74
82
|
workspaceId: z.string().uuid().optional().describe('Workspace ID (required when using displayId format in nodeId or parentNodeId)'),
|
|
75
83
|
preview: z.boolean().optional().describe('If true, validate but do not update (dry run). ALWAYS use preview: true first!')
|
|
76
84
|
}
|
|
77
85
|
}, async (args) => {
|
|
78
|
-
// Normalize parameter aliases and detect unknown fields
|
|
79
86
|
const KNOWN_CHANGE_FIELDS = [
|
|
80
87
|
'title', 'description', 'status', 'priority', 'parentNodeId',
|
|
81
88
|
'nodeType', 'startDate', 'dueDate', 'tags', 'assignee', 'assigneeId', 'progress',
|
|
82
89
|
];
|
|
83
90
|
const unknownFieldWarnings = [];
|
|
91
|
+
const allNodeIds = [];
|
|
84
92
|
if (Array.isArray(args.updates)) {
|
|
85
93
|
for (const update of args.updates) {
|
|
94
|
+
if (typeof update?.nodeId === 'string')
|
|
95
|
+
allNodeIds.push(update.nodeId);
|
|
86
96
|
if (update.changes) {
|
|
87
97
|
// Normalize assigneeId → assignee
|
|
88
98
|
if (update.changes.assigneeId !== undefined && update.changes.assignee === undefined) {
|
|
89
99
|
const val = update.changes.assigneeId;
|
|
90
100
|
update.changes.assignee = typeof val === 'string' ? [val] : val;
|
|
91
101
|
}
|
|
92
|
-
|
|
102
|
+
if (typeof update.changes.parentNodeId === 'string') {
|
|
103
|
+
allNodeIds.push(update.changes.parentNodeId);
|
|
104
|
+
}
|
|
93
105
|
const unknown = Object.keys(update.changes).filter((k) => !KNOWN_CHANGE_FIELDS.includes(k) && k !== 'assigneeId');
|
|
94
106
|
if (unknown.length > 0) {
|
|
95
107
|
unknownFieldWarnings.push(`Node ${update.nodeId}: unknown fields ignored: ${unknown.join(', ')}`);
|
|
@@ -98,8 +110,11 @@ Dates: ISO 8601 (e.g., 2025-01-20T09:00:00Z), null to clear`,
|
|
|
98
110
|
}
|
|
99
111
|
}
|
|
100
112
|
const request = args;
|
|
113
|
+
const resolved = workspaceContext.resolveInto(args, allNodeIds);
|
|
101
114
|
// Default to preview mode for safety
|
|
102
|
-
|
|
115
|
+
if (request.preview === undefined) {
|
|
116
|
+
request.preview = true;
|
|
117
|
+
}
|
|
103
118
|
try {
|
|
104
119
|
const response = await apiClient.patch('/mcp/worknodes/update', request);
|
|
105
120
|
if (!response.success) {
|
|
@@ -122,6 +137,7 @@ Dates: ISO 8601 (e.g., 2025-01-20T09:00:00Z), null to clear`,
|
|
|
122
137
|
unknownFieldWarnings.forEach((w) => (resultText += `- ${w}\n`));
|
|
123
138
|
resultText += '\n';
|
|
124
139
|
}
|
|
140
|
+
resultText += inferredWorkspaceNotice(resolved, 'preview');
|
|
125
141
|
resultText += '## WorkNode Update Preview\n\n';
|
|
126
142
|
if (!data.previews || data.previews.length === 0) {
|
|
127
143
|
resultText += '⚠️ No preview data available.\n';
|
|
@@ -242,6 +258,7 @@ Dates: ISO 8601 (e.g., 2025-01-20T09:00:00Z), null to clear`,
|
|
|
242
258
|
unknownFieldWarnings.forEach((w) => (resultText += `- ${w}\n`));
|
|
243
259
|
resultText += '\n';
|
|
244
260
|
}
|
|
261
|
+
resultText += inferredWorkspaceNotice(resolved, 'result');
|
|
245
262
|
resultText += '## WorkNode Update Result\n\n';
|
|
246
263
|
resultText += `**Updated**: ${updatedCount}/${totalCount}\n`;
|
|
247
264
|
if (failedCount > 0) {
|