@edicarlos.lds/businessmap-mcp 1.7.0 → 2.1.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 +11 -7
- package/dist/client/businessmap-client.d.ts +18 -1
- package/dist/client/businessmap-client.d.ts.map +1 -1
- package/dist/client/businessmap-client.js +52 -0
- package/dist/client/businessmap-client.js.map +1 -1
- package/dist/client/modules/board-client.d.ts +13 -1
- package/dist/client/modules/board-client.d.ts.map +1 -1
- package/dist/client/modules/board-client.js +23 -0
- package/dist/client/modules/board-client.js.map +1 -1
- package/dist/client/modules/card-client.d.ts +52 -1
- package/dist/client/modules/card-client.d.ts.map +1 -1
- package/dist/client/modules/card-client.js +94 -0
- package/dist/client/modules/card-client.js.map +1 -1
- package/dist/client/modules/index.d.ts +4 -2
- package/dist/client/modules/index.d.ts.map +1 -1
- package/dist/client/modules/index.js.map +1 -1
- package/dist/client/modules/user-client.d.ts +5 -1
- package/dist/client/modules/user-client.d.ts.map +1 -1
- package/dist/client/modules/user-client.js +8 -0
- package/dist/client/modules/user-client.js.map +1 -1
- package/dist/config/environment.d.ts +3 -1
- package/dist/config/environment.d.ts.map +1 -1
- package/dist/config/environment.js +37 -6
- package/dist/config/environment.js.map +1 -1
- package/dist/index.js +40 -32
- package/dist/index.js.map +1 -1
- package/dist/schemas/board-schemas.d.ts +110 -1
- package/dist/schemas/board-schemas.d.ts.map +1 -1
- package/dist/schemas/board-schemas.js +65 -1
- package/dist/schemas/board-schemas.js.map +1 -1
- package/dist/schemas/card-schemas.d.ts +140 -7
- package/dist/schemas/card-schemas.d.ts.map +1 -1
- package/dist/schemas/card-schemas.js +80 -1
- package/dist/schemas/card-schemas.js.map +1 -1
- package/dist/schemas/common-schemas.d.ts +1 -1
- package/dist/schemas/common-schemas.d.ts.map +1 -1
- package/dist/schemas/common-schemas.js +1 -1
- package/dist/schemas/common-schemas.js.map +1 -1
- package/dist/schemas/custom-field-schemas.d.ts +1 -1
- package/dist/schemas/custom-field-schemas.d.ts.map +1 -1
- package/dist/schemas/custom-field-schemas.js +1 -1
- package/dist/schemas/custom-field-schemas.js.map +1 -1
- package/dist/schemas/user-schemas.d.ts +11 -1
- package/dist/schemas/user-schemas.d.ts.map +1 -1
- package/dist/schemas/user-schemas.js +11 -1
- package/dist/schemas/user-schemas.js.map +1 -1
- package/dist/schemas/utility-schemas.d.ts +1 -1
- package/dist/schemas/utility-schemas.d.ts.map +1 -1
- package/dist/schemas/utility-schemas.js +1 -1
- package/dist/schemas/utility-schemas.js.map +1 -1
- package/dist/schemas/workflow-schemas.d.ts +1 -1
- package/dist/schemas/workflow-schemas.d.ts.map +1 -1
- package/dist/schemas/workflow-schemas.js +1 -1
- package/dist/schemas/workflow-schemas.js.map +1 -1
- package/dist/schemas/workspace-schemas.d.ts +1 -1
- package/dist/schemas/workspace-schemas.d.ts.map +1 -1
- package/dist/schemas/workspace-schemas.js +1 -1
- package/dist/schemas/workspace-schemas.js.map +1 -1
- package/dist/server/http.d.ts +1 -2
- package/dist/server/http.d.ts.map +1 -1
- package/dist/server/http.js +82 -42
- package/dist/server/http.js.map +1 -1
- package/dist/server/mcp-server.d.ts +3 -2
- package/dist/server/mcp-server.d.ts.map +1 -1
- package/dist/server/mcp-server.js +21 -2
- package/dist/server/mcp-server.js.map +1 -1
- package/dist/server/prompts/base-prompt.d.ts +14 -0
- package/dist/server/prompts/base-prompt.d.ts.map +1 -0
- package/dist/server/prompts/base-prompt.js +2 -0
- package/dist/server/prompts/base-prompt.js.map +1 -0
- package/dist/server/prompts/board-prompts.d.ts +9 -0
- package/dist/server/prompts/board-prompts.d.ts.map +1 -0
- package/dist/server/prompts/board-prompts.js +101 -0
- package/dist/server/prompts/board-prompts.js.map +1 -0
- package/dist/server/prompts/card-prompts.d.ts +8 -0
- package/dist/server/prompts/card-prompts.d.ts.map +1 -0
- package/dist/server/prompts/card-prompts.js +47 -0
- package/dist/server/prompts/card-prompts.js.map +1 -0
- package/dist/server/prompts/index.d.ts +5 -0
- package/dist/server/prompts/index.d.ts.map +1 -0
- package/dist/server/prompts/index.js +4 -0
- package/dist/server/prompts/index.js.map +1 -0
- package/dist/server/prompts/workspace-prompts.d.ts +8 -0
- package/dist/server/prompts/workspace-prompts.d.ts.map +1 -0
- package/dist/server/prompts/workspace-prompts.js +59 -0
- package/dist/server/prompts/workspace-prompts.js.map +1 -0
- package/dist/server/resources/base-resource.d.ts +18 -0
- package/dist/server/resources/base-resource.d.ts.map +1 -0
- package/dist/server/resources/base-resource.js +10 -0
- package/dist/server/resources/base-resource.js.map +1 -0
- package/dist/server/resources/board-resources.d.ts +7 -0
- package/dist/server/resources/board-resources.d.ts.map +1 -0
- package/dist/server/resources/board-resources.js +31 -0
- package/dist/server/resources/board-resources.js.map +1 -0
- package/dist/server/resources/card-resources.d.ts +7 -0
- package/dist/server/resources/card-resources.d.ts.map +1 -0
- package/dist/server/resources/card-resources.js +34 -0
- package/dist/server/resources/card-resources.js.map +1 -0
- package/dist/server/resources/index.d.ts +5 -0
- package/dist/server/resources/index.d.ts.map +1 -0
- package/dist/server/resources/index.js +5 -0
- package/dist/server/resources/index.js.map +1 -0
- package/dist/server/resources/workspace-resources.d.ts +7 -0
- package/dist/server/resources/workspace-resources.d.ts.map +1 -0
- package/dist/server/resources/workspace-resources.js +17 -0
- package/dist/server/resources/workspace-resources.js.map +1 -0
- package/dist/server/tools/base-tool.d.ts +1 -1
- package/dist/server/tools/base-tool.d.ts.map +1 -1
- package/dist/server/tools/base-tool.js.map +1 -1
- package/dist/server/tools/board-tools.d.ts +3 -0
- package/dist/server/tools/board-tools.d.ts.map +1 -1
- package/dist/server/tools/board-tools.js +72 -1
- package/dist/server/tools/board-tools.js.map +1 -1
- package/dist/server/tools/card-tools.d.ts +13 -0
- package/dist/server/tools/card-tools.d.ts.map +1 -1
- package/dist/server/tools/card-tools.js +249 -1
- package/dist/server/tools/card-tools.js.map +1 -1
- package/dist/server/tools/custom-field-tools.d.ts.map +1 -1
- package/dist/server/tools/custom-field-tools.js +1 -0
- package/dist/server/tools/custom-field-tools.js.map +1 -1
- package/dist/server/tools/index.d.ts +2 -1
- package/dist/server/tools/index.d.ts.map +1 -1
- package/dist/server/tools/index.js.map +1 -1
- package/dist/server/tools/user-tools.d.ts +1 -0
- package/dist/server/tools/user-tools.d.ts.map +1 -1
- package/dist/server/tools/user-tools.js +26 -1
- package/dist/server/tools/user-tools.js.map +1 -1
- package/dist/server/tools/utility-tools.d.ts.map +1 -1
- package/dist/server/tools/utility-tools.js +2 -0
- package/dist/server/tools/utility-tools.js.map +1 -1
- package/dist/server/tools/workflow-tools.d.ts.map +1 -1
- package/dist/server/tools/workflow-tools.js +2 -0
- package/dist/server/tools/workflow-tools.js.map +1 -1
- package/dist/server/tools/workspace-tools.d.ts.map +1 -1
- package/dist/server/tools/workspace-tools.js +3 -0
- package/dist/server/tools/workspace-tools.js.map +1 -1
- package/dist/types/board.d.ts +16 -0
- package/dist/types/board.d.ts.map +1 -1
- package/dist/types/card.d.ts +47 -0
- package/dist/types/card.d.ts.map +1 -1
- package/dist/types/user.d.ts +8 -0
- package/dist/types/user.d.ts.map +1 -1
- package/dist/utils/logger.d.ts +5 -5
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js.map +1 -1
- package/package.json +4 -5
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createBoardSchema, createLaneSchema, getBoardSchema, getCurrentBoardStructureSchema, getLaneSchema, listBoardsSchema, searchBoardSchema, } from '../../schemas/index.js';
|
|
1
|
+
import { createBoardSchema, createColumnSchema, createColumnInputSchema, createLaneSchema, deleteColumnSchema, getBoardSchema, getCurrentBoardStructureSchema, getLaneSchema, listBoardsSchema, searchBoardSchema, updateColumnSchema, } from '../../schemas/index.js';
|
|
2
2
|
import { logger } from '../../utils/logger.js';
|
|
3
3
|
import { createErrorResponse, createSuccessResponse } from './base-tool.js';
|
|
4
4
|
export class BoardToolHandler {
|
|
@@ -12,6 +12,9 @@ export class BoardToolHandler {
|
|
|
12
12
|
if (!readOnlyMode) {
|
|
13
13
|
this.registerCreateBoard(server, client);
|
|
14
14
|
this.registerCreateLane(server, client);
|
|
15
|
+
this.registerCreateColumn(server, client);
|
|
16
|
+
this.registerUpdateColumn(server, client);
|
|
17
|
+
this.registerDeleteColumn(server, client);
|
|
15
18
|
}
|
|
16
19
|
}
|
|
17
20
|
registerListBoards(server, client) {
|
|
@@ -19,6 +22,7 @@ export class BoardToolHandler {
|
|
|
19
22
|
title: 'List Boards',
|
|
20
23
|
description: 'Get a list of boards with optional filters',
|
|
21
24
|
inputSchema: listBoardsSchema.shape,
|
|
25
|
+
annotations: { readOnlyHint: true, idempotentHint: true },
|
|
22
26
|
}, async (params) => {
|
|
23
27
|
try {
|
|
24
28
|
const boards = await client.getBoards(params);
|
|
@@ -34,6 +38,7 @@ export class BoardToolHandler {
|
|
|
34
38
|
title: 'Search Board',
|
|
35
39
|
description: 'Search for a board by ID or name, with intelligent fallback to list all boards if direct search fails',
|
|
36
40
|
inputSchema: searchBoardSchema.shape,
|
|
41
|
+
annotations: { readOnlyHint: true, idempotentHint: true },
|
|
37
42
|
}, async ({ board_id, board_name, workspace_id }) => {
|
|
38
43
|
try {
|
|
39
44
|
if (board_id) {
|
|
@@ -112,6 +117,7 @@ export class BoardToolHandler {
|
|
|
112
117
|
title: 'Get Board Columns',
|
|
113
118
|
description: 'Get all columns for a board (válido na API oficial)',
|
|
114
119
|
inputSchema: getBoardSchema.shape,
|
|
120
|
+
annotations: { readOnlyHint: true, idempotentHint: true },
|
|
115
121
|
}, async ({ board_id }) => {
|
|
116
122
|
try {
|
|
117
123
|
const columns = await client.getColumns(board_id);
|
|
@@ -127,6 +133,7 @@ export class BoardToolHandler {
|
|
|
127
133
|
title: 'Get Board Lanes',
|
|
128
134
|
description: 'Get all lanes/swimlanes for a board (válido na API oficial)',
|
|
129
135
|
inputSchema: getBoardSchema.shape,
|
|
136
|
+
annotations: { readOnlyHint: true, idempotentHint: true },
|
|
130
137
|
}, async ({ board_id }) => {
|
|
131
138
|
try {
|
|
132
139
|
const lanes = await client.getLanes(board_id);
|
|
@@ -142,6 +149,7 @@ export class BoardToolHandler {
|
|
|
142
149
|
title: 'Get Lane Details',
|
|
143
150
|
description: 'Get details of a specific lane/swimlane (válido na API oficial)',
|
|
144
151
|
inputSchema: getLaneSchema.shape,
|
|
152
|
+
annotations: { readOnlyHint: true, idempotentHint: true },
|
|
145
153
|
}, async ({ lane_id }) => {
|
|
146
154
|
try {
|
|
147
155
|
const lane = await client.getLane(lane_id);
|
|
@@ -157,6 +165,7 @@ export class BoardToolHandler {
|
|
|
157
165
|
title: 'Create Board',
|
|
158
166
|
description: 'Create a new board in a workspace',
|
|
159
167
|
inputSchema: createBoardSchema.shape,
|
|
168
|
+
annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false },
|
|
160
169
|
}, async ({ name, workspace_id, description }) => {
|
|
161
170
|
try {
|
|
162
171
|
const board = await client.createBoard({
|
|
@@ -176,6 +185,7 @@ export class BoardToolHandler {
|
|
|
176
185
|
title: 'Create Lane',
|
|
177
186
|
description: 'Create a new lane/swimlane in a board (válido na API oficial)',
|
|
178
187
|
inputSchema: createLaneSchema.shape,
|
|
188
|
+
annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false },
|
|
179
189
|
}, async ({ workflow_id, name, description, color, position }) => {
|
|
180
190
|
try {
|
|
181
191
|
const lane = await client.createLane({
|
|
@@ -197,6 +207,7 @@ export class BoardToolHandler {
|
|
|
197
207
|
title: 'Get Current Board Structure',
|
|
198
208
|
description: 'Get the complete current structure of a board including workflows, columns, lanes, and configurations',
|
|
199
209
|
inputSchema: getCurrentBoardStructureSchema.shape,
|
|
210
|
+
annotations: { readOnlyHint: true, idempotentHint: true },
|
|
200
211
|
}, async ({ board_id }) => {
|
|
201
212
|
try {
|
|
202
213
|
const structure = await client.getCurrentBoardStructure(board_id);
|
|
@@ -207,5 +218,65 @@ export class BoardToolHandler {
|
|
|
207
218
|
}
|
|
208
219
|
});
|
|
209
220
|
}
|
|
221
|
+
registerCreateColumn(server, client) {
|
|
222
|
+
server.registerTool('create_column', {
|
|
223
|
+
title: 'Create Column',
|
|
224
|
+
description: 'Create a new column on a board. Supports both main columns (requires workflow_id and section) and sub-columns (requires parent_column_id). Section values: 1=Backlog, 2=Requested, 3=Progress, 4=Done.',
|
|
225
|
+
inputSchema: createColumnInputSchema.shape,
|
|
226
|
+
}, async (params) => {
|
|
227
|
+
try {
|
|
228
|
+
const { board_id, workflow_id, section, parent_column_id, position, name, limit, description, } = createColumnSchema.parse(params);
|
|
229
|
+
const columnParams = parent_column_id
|
|
230
|
+
? { parent_column_id, position, name, ...(limit !== undefined && { limit }), ...(description && { description }) }
|
|
231
|
+
: { workflow_id, section, position, name, ...(limit !== undefined && { limit }), ...(description && { description }) };
|
|
232
|
+
const column = await client.createColumn(board_id, columnParams);
|
|
233
|
+
return createSuccessResponse(column, 'Column created successfully:');
|
|
234
|
+
}
|
|
235
|
+
catch (error) {
|
|
236
|
+
return createErrorResponse(error, 'creating column');
|
|
237
|
+
}
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
registerUpdateColumn(server, client) {
|
|
241
|
+
server.registerTool('update_column', {
|
|
242
|
+
title: 'Update Column',
|
|
243
|
+
description: 'Update the details of a specific column on a board',
|
|
244
|
+
inputSchema: updateColumnSchema.shape,
|
|
245
|
+
}, async ({ board_id, column_id, name, limit, section, position, description }) => {
|
|
246
|
+
try {
|
|
247
|
+
const params = {};
|
|
248
|
+
if (name !== undefined)
|
|
249
|
+
params['name'] = name;
|
|
250
|
+
if (limit !== undefined)
|
|
251
|
+
params['limit'] = limit;
|
|
252
|
+
if (section !== undefined)
|
|
253
|
+
params['section'] = section;
|
|
254
|
+
if (position !== undefined)
|
|
255
|
+
params['position'] = position;
|
|
256
|
+
if (description !== undefined)
|
|
257
|
+
params['description'] = description;
|
|
258
|
+
const column = await client.updateColumn(board_id, column_id, params);
|
|
259
|
+
return createSuccessResponse(column, 'Column updated successfully:');
|
|
260
|
+
}
|
|
261
|
+
catch (error) {
|
|
262
|
+
return createErrorResponse(error, 'updating column');
|
|
263
|
+
}
|
|
264
|
+
});
|
|
265
|
+
}
|
|
266
|
+
registerDeleteColumn(server, client) {
|
|
267
|
+
server.registerTool('delete_column', {
|
|
268
|
+
title: 'Delete Column',
|
|
269
|
+
description: 'Delete a column from a board',
|
|
270
|
+
inputSchema: deleteColumnSchema.shape,
|
|
271
|
+
}, async ({ board_id, column_id }) => {
|
|
272
|
+
try {
|
|
273
|
+
await client.deleteColumn(board_id, column_id);
|
|
274
|
+
return createSuccessResponse({ board_id, column_id }, 'Column deleted successfully:');
|
|
275
|
+
}
|
|
276
|
+
catch (error) {
|
|
277
|
+
return createErrorResponse(error, 'deleting column');
|
|
278
|
+
}
|
|
279
|
+
});
|
|
280
|
+
}
|
|
210
281
|
}
|
|
211
282
|
//# sourceMappingURL=board-tools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"board-tools.js","sourceRoot":"","sources":["../../../src/server/tools/board-tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"board-tools.js","sourceRoot":"","sources":["../../../src/server/tools/board-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,5 +26,18 @@ export declare class CardToolHandler implements BaseToolHandler {
|
|
|
26
26
|
private registerRemoveCardParent;
|
|
27
27
|
private registerGetCardParentGraph;
|
|
28
28
|
private registerGetCardChildren;
|
|
29
|
+
private registerBlockCard;
|
|
30
|
+
private registerUnblockCard;
|
|
31
|
+
private registerCreateComment;
|
|
32
|
+
private registerUpdateComment;
|
|
33
|
+
private registerDeleteComment;
|
|
34
|
+
private registerCreateTag;
|
|
35
|
+
private registerAddTagToCard;
|
|
36
|
+
private registerRemoveTagFromCard;
|
|
37
|
+
private registerAddStickerToCard;
|
|
38
|
+
private registerRemoveStickerFromCard;
|
|
39
|
+
private registerDeleteCard;
|
|
40
|
+
private registerAddPredecessor;
|
|
41
|
+
private registerRemovePredecessor;
|
|
29
42
|
}
|
|
30
43
|
//# sourceMappingURL=card-tools.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card-tools.d.ts","sourceRoot":"","sources":["../../../src/server/tools/card-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"card-tools.d.ts","sourceRoot":"","sources":["../../../src/server/tools/card-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAoCvE,OAAO,EAAE,eAAe,EAA8C,MAAM,gBAAgB,CAAC;AAE7F,qBAAa,eAAgB,YAAW,eAAe;IACrD,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,YAAY,EAAE,OAAO,GAAG,IAAI;IA+CxF,OAAO,CAAC,iBAAiB;IAqBzB,OAAO,CAAC,eAAe;IAoBvB,OAAO,CAAC,mBAAmB;IA4B3B,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,gBAAgB;IAoBxB,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,mBAAmB;IA2B3B,OAAO,CAAC,uBAAuB;IAuB/B,OAAO,CAAC,sBAAsB;IAoB9B,OAAO,CAAC,2BAA2B;IAuBnC,OAAO,CAAC,oBAAoB;IAuB5B,OAAO,CAAC,sBAAsB;IAuB9B,OAAO,CAAC,uBAAuB;IAuB/B,OAAO,CAAC,0BAA0B;IAuBlC,OAAO,CAAC,uBAAuB;IAuB/B,OAAO,CAAC,sBAAsB;IAoB9B,OAAO,CAAC,yBAAyB;IAqBjC,OAAO,CAAC,sBAAsB;IAuB9B,OAAO,CAAC,qBAAqB;IAoB7B,OAAO,CAAC,qBAAqB;IAoB7B,OAAO,CAAC,wBAAwB;IAuBhC,OAAO,CAAC,0BAA0B;IAuBlC,OAAO,CAAC,uBAAuB;IAyB/B,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,mBAAmB;IAqB3B,OAAO,CAAC,qBAAqB;IAmB7B,OAAO,CAAC,qBAAqB;IAmB7B,OAAO,CAAC,qBAAqB;IAqB7B,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,yBAAyB;IAwBjC,OAAO,CAAC,wBAAwB;IAmBhC,OAAO,CAAC,6BAA6B;IA0BrC,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,sBAAsB;IA0B9B,OAAO,CAAC,yBAAyB;CAsBlC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { addCardParentSchema, cardSizeSchema, createCardSchema, createCardSubtaskSchema, getCardChildrenSchema, getCardCommentSchema, getCardHistorySchema, getCardLinkedCardsSchema, getCardOutcomesSchema, getCardParentGraphSchema, getCardParentSchema, getCardParentsSchema, getCardSchema, getCardSubtaskSchema, getCardSubtasksSchema, getCardTypesSchema, listCardsSchema, moveCardSchema, removeCardParentSchema, updateCardSchema, } from '../../schemas/index.js';
|
|
1
|
+
import { addCardParentSchema, addPredecessorSchema, addStickerToCardSchema, addTagToCardSchema, blockCardSchema, cardSizeSchema, createCardSchema, createCardSubtaskSchema, createCommentSchema, createTagSchema, deleteCardSchema, deleteCommentSchema, getCardChildrenSchema, getCardCommentSchema, getCardHistorySchema, getCardLinkedCardsSchema, getCardOutcomesSchema, getCardParentGraphSchema, getCardParentSchema, getCardParentsSchema, getCardSchema, getCardSubtaskSchema, getCardSubtasksSchema, getCardTypesSchema, listCardsSchema, moveCardSchema, removeCardParentSchema, removePredecessorSchema, removeStickerFromCardSchema, removeTagFromCardSchema, unblockCardSchema, updateCardSchema, updateCommentSchema, } from '../../schemas/index.js';
|
|
2
2
|
import { createErrorResponse, createSuccessResponse } from './base-tool.js';
|
|
3
3
|
export class CardToolHandler {
|
|
4
4
|
registerTools(server, client, readOnlyMode) {
|
|
@@ -23,9 +23,27 @@ export class CardToolHandler {
|
|
|
23
23
|
this.registerMoveCard(server, client);
|
|
24
24
|
this.registerUpdateCard(server, client);
|
|
25
25
|
this.registerSetCardSize(server, client);
|
|
26
|
+
this.registerDeleteCard(server, client);
|
|
26
27
|
this.registerCreateCardSubtask(server, client);
|
|
27
28
|
this.registerAddCardParent(server, client);
|
|
28
29
|
this.registerRemoveCardParent(server, client);
|
|
30
|
+
// Block / Unblock
|
|
31
|
+
this.registerBlockCard(server, client);
|
|
32
|
+
this.registerUnblockCard(server, client);
|
|
33
|
+
// Comments
|
|
34
|
+
this.registerCreateComment(server, client);
|
|
35
|
+
this.registerUpdateComment(server, client);
|
|
36
|
+
this.registerDeleteComment(server, client);
|
|
37
|
+
// Tags
|
|
38
|
+
this.registerCreateTag(server, client);
|
|
39
|
+
this.registerAddTagToCard(server, client);
|
|
40
|
+
this.registerRemoveTagFromCard(server, client);
|
|
41
|
+
// Stickers
|
|
42
|
+
this.registerAddStickerToCard(server, client);
|
|
43
|
+
this.registerRemoveStickerFromCard(server, client);
|
|
44
|
+
// Predecessors
|
|
45
|
+
this.registerAddPredecessor(server, client);
|
|
46
|
+
this.registerRemovePredecessor(server, client);
|
|
29
47
|
}
|
|
30
48
|
}
|
|
31
49
|
registerListCards(server, client) {
|
|
@@ -33,6 +51,7 @@ export class CardToolHandler {
|
|
|
33
51
|
title: 'List Cards',
|
|
34
52
|
description: 'Get a list of cards from a board with optional filters',
|
|
35
53
|
inputSchema: listCardsSchema.shape,
|
|
54
|
+
annotations: { readOnlyHint: true, idempotentHint: true },
|
|
36
55
|
}, async (params) => {
|
|
37
56
|
try {
|
|
38
57
|
const { board_id, ...filters } = params;
|
|
@@ -49,6 +68,7 @@ export class CardToolHandler {
|
|
|
49
68
|
title: 'Get Card',
|
|
50
69
|
description: 'Get details of a specific card',
|
|
51
70
|
inputSchema: getCardSchema.shape,
|
|
71
|
+
annotations: { readOnlyHint: true, idempotentHint: true },
|
|
52
72
|
}, async ({ card_id }) => {
|
|
53
73
|
try {
|
|
54
74
|
const card = await client.getCard(card_id);
|
|
@@ -64,6 +84,7 @@ export class CardToolHandler {
|
|
|
64
84
|
title: 'Get Card Size',
|
|
65
85
|
description: 'Get the size/points of a specific card',
|
|
66
86
|
inputSchema: getCardSchema.shape,
|
|
87
|
+
annotations: { readOnlyHint: true, idempotentHint: true },
|
|
67
88
|
}, async ({ card_id }) => {
|
|
68
89
|
try {
|
|
69
90
|
const card = await client.getCard(card_id);
|
|
@@ -87,6 +108,7 @@ export class CardToolHandler {
|
|
|
87
108
|
title: 'Create Card',
|
|
88
109
|
description: 'Create a new card in a board',
|
|
89
110
|
inputSchema: createCardSchema.shape,
|
|
111
|
+
annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false },
|
|
90
112
|
}, async (params) => {
|
|
91
113
|
try {
|
|
92
114
|
const card = await client.createCard(params);
|
|
@@ -102,6 +124,7 @@ export class CardToolHandler {
|
|
|
102
124
|
title: 'Move Card',
|
|
103
125
|
description: 'Move a card to a different column or lane',
|
|
104
126
|
inputSchema: moveCardSchema.shape,
|
|
127
|
+
annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false },
|
|
105
128
|
}, async ({ card_id, column_id, lane_id, position }) => {
|
|
106
129
|
try {
|
|
107
130
|
const card = await client.moveCard(card_id, column_id, lane_id, position);
|
|
@@ -117,6 +140,7 @@ export class CardToolHandler {
|
|
|
117
140
|
title: 'Update Card',
|
|
118
141
|
description: "Update a card's properties",
|
|
119
142
|
inputSchema: updateCardSchema.shape,
|
|
143
|
+
annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false },
|
|
120
144
|
}, async (params) => {
|
|
121
145
|
try {
|
|
122
146
|
const card = await client.updateCard(params);
|
|
@@ -132,6 +156,7 @@ export class CardToolHandler {
|
|
|
132
156
|
title: 'Set Card Size',
|
|
133
157
|
description: 'Set the size/points of a specific card',
|
|
134
158
|
inputSchema: cardSizeSchema.shape,
|
|
159
|
+
annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false },
|
|
135
160
|
}, async ({ card_id, size }) => {
|
|
136
161
|
try {
|
|
137
162
|
const card = await client.updateCard({ card_id, size });
|
|
@@ -154,6 +179,7 @@ export class CardToolHandler {
|
|
|
154
179
|
title: 'Get Card Comments',
|
|
155
180
|
description: 'Get all comments for a specific card',
|
|
156
181
|
inputSchema: getCardSchema.shape,
|
|
182
|
+
annotations: { readOnlyHint: true, idempotentHint: true },
|
|
157
183
|
}, async ({ card_id }) => {
|
|
158
184
|
try {
|
|
159
185
|
const comments = await client.getCardComments(card_id);
|
|
@@ -172,6 +198,7 @@ export class CardToolHandler {
|
|
|
172
198
|
title: 'Get Card Comment',
|
|
173
199
|
description: 'Get details of a specific comment from a card',
|
|
174
200
|
inputSchema: getCardCommentSchema.shape,
|
|
201
|
+
annotations: { readOnlyHint: true, idempotentHint: true },
|
|
175
202
|
}, async ({ card_id, comment_id }) => {
|
|
176
203
|
try {
|
|
177
204
|
const comment = await client.getCardComment(card_id, comment_id);
|
|
@@ -187,6 +214,7 @@ export class CardToolHandler {
|
|
|
187
214
|
title: 'Get Card Custom Fields',
|
|
188
215
|
description: 'Get all custom fields for a specific card',
|
|
189
216
|
inputSchema: getCardSchema.shape,
|
|
217
|
+
annotations: { readOnlyHint: true, idempotentHint: true },
|
|
190
218
|
}, async ({ card_id }) => {
|
|
191
219
|
try {
|
|
192
220
|
const customFields = await client.getCardCustomFields(card_id);
|
|
@@ -205,6 +233,7 @@ export class CardToolHandler {
|
|
|
205
233
|
title: 'Get Card Types',
|
|
206
234
|
description: 'Get all available card types',
|
|
207
235
|
inputSchema: getCardTypesSchema.shape,
|
|
236
|
+
annotations: { readOnlyHint: true, idempotentHint: true },
|
|
208
237
|
}, async () => {
|
|
209
238
|
try {
|
|
210
239
|
const cardTypes = await client.getCardTypes();
|
|
@@ -223,6 +252,7 @@ export class CardToolHandler {
|
|
|
223
252
|
title: 'Get Card History',
|
|
224
253
|
description: 'Get the history of a specific card outcome',
|
|
225
254
|
inputSchema: getCardHistorySchema.shape,
|
|
255
|
+
annotations: { readOnlyHint: true, idempotentHint: true },
|
|
226
256
|
}, async ({ card_id, outcome_id }) => {
|
|
227
257
|
try {
|
|
228
258
|
const history = await client.getCardHistory(card_id, outcome_id);
|
|
@@ -241,6 +271,7 @@ export class CardToolHandler {
|
|
|
241
271
|
title: 'Get Card Outcomes',
|
|
242
272
|
description: 'Get all outcomes for a specific card',
|
|
243
273
|
inputSchema: getCardOutcomesSchema.shape,
|
|
274
|
+
annotations: { readOnlyHint: true, idempotentHint: true },
|
|
244
275
|
}, async ({ card_id }) => {
|
|
245
276
|
try {
|
|
246
277
|
const outcomes = await client.getCardOutcomes(card_id);
|
|
@@ -259,6 +290,7 @@ export class CardToolHandler {
|
|
|
259
290
|
title: 'Get Card Linked Cards',
|
|
260
291
|
description: 'Get all linked cards for a specific card',
|
|
261
292
|
inputSchema: getCardLinkedCardsSchema.shape,
|
|
293
|
+
annotations: { readOnlyHint: true, idempotentHint: true },
|
|
262
294
|
}, async ({ card_id }) => {
|
|
263
295
|
try {
|
|
264
296
|
const linkedCards = await client.getCardLinkedCards(card_id);
|
|
@@ -277,6 +309,7 @@ export class CardToolHandler {
|
|
|
277
309
|
title: 'Get Card Subtasks',
|
|
278
310
|
description: 'Get all subtasks for a specific card',
|
|
279
311
|
inputSchema: getCardSubtasksSchema.shape,
|
|
312
|
+
annotations: { readOnlyHint: true, idempotentHint: true },
|
|
280
313
|
}, async ({ card_id }) => {
|
|
281
314
|
try {
|
|
282
315
|
const subtasks = await client.getCardSubtasks(card_id);
|
|
@@ -295,6 +328,7 @@ export class CardToolHandler {
|
|
|
295
328
|
title: 'Get Card Subtask',
|
|
296
329
|
description: 'Get details of a specific subtask from a card',
|
|
297
330
|
inputSchema: getCardSubtaskSchema.shape,
|
|
331
|
+
annotations: { readOnlyHint: true, idempotentHint: true },
|
|
298
332
|
}, async ({ card_id, subtask_id }) => {
|
|
299
333
|
try {
|
|
300
334
|
const subtask = await client.getCardSubtask(card_id, subtask_id);
|
|
@@ -310,6 +344,7 @@ export class CardToolHandler {
|
|
|
310
344
|
title: 'Create Card Subtask',
|
|
311
345
|
description: 'Create a new subtask for a card',
|
|
312
346
|
inputSchema: createCardSubtaskSchema.shape,
|
|
347
|
+
annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false },
|
|
313
348
|
}, async (params) => {
|
|
314
349
|
try {
|
|
315
350
|
const { card_id, ...subtaskData } = params;
|
|
@@ -326,6 +361,7 @@ export class CardToolHandler {
|
|
|
326
361
|
title: 'Get Card Parents',
|
|
327
362
|
description: 'Get a list of parent cards for a specific card',
|
|
328
363
|
inputSchema: getCardParentsSchema.shape,
|
|
364
|
+
annotations: { readOnlyHint: true, idempotentHint: true },
|
|
329
365
|
}, async ({ card_id }) => {
|
|
330
366
|
try {
|
|
331
367
|
const parents = await client.getCardParents(card_id);
|
|
@@ -344,6 +380,7 @@ export class CardToolHandler {
|
|
|
344
380
|
title: 'Get Card Parent',
|
|
345
381
|
description: 'Check if a card is a parent of a given card',
|
|
346
382
|
inputSchema: getCardParentSchema.shape,
|
|
383
|
+
annotations: { readOnlyHint: true, idempotentHint: true },
|
|
347
384
|
}, async ({ card_id, parent_card_id }) => {
|
|
348
385
|
try {
|
|
349
386
|
const parent = await client.getCardParent(card_id, parent_card_id);
|
|
@@ -359,6 +396,7 @@ export class CardToolHandler {
|
|
|
359
396
|
title: 'Add Card Parent',
|
|
360
397
|
description: 'Make a card a parent of a given card',
|
|
361
398
|
inputSchema: addCardParentSchema.shape,
|
|
399
|
+
annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false },
|
|
362
400
|
}, async ({ card_id, parent_card_id }) => {
|
|
363
401
|
try {
|
|
364
402
|
const result = await client.addCardParent(card_id, parent_card_id);
|
|
@@ -374,6 +412,7 @@ export class CardToolHandler {
|
|
|
374
412
|
title: 'Remove Card Parent',
|
|
375
413
|
description: 'Remove the link between a child card and a parent card',
|
|
376
414
|
inputSchema: removeCardParentSchema.shape,
|
|
415
|
+
annotations: { readOnlyHint: false, destructiveHint: true, idempotentHint: false },
|
|
377
416
|
}, async ({ card_id, parent_card_id }) => {
|
|
378
417
|
try {
|
|
379
418
|
await client.removeCardParent(card_id, parent_card_id);
|
|
@@ -389,6 +428,7 @@ export class CardToolHandler {
|
|
|
389
428
|
title: 'Get Card Parent Graph',
|
|
390
429
|
description: 'Get a list of parent cards including their parent cards too',
|
|
391
430
|
inputSchema: getCardParentGraphSchema.shape,
|
|
431
|
+
annotations: { readOnlyHint: true, idempotentHint: true },
|
|
392
432
|
}, async ({ card_id }) => {
|
|
393
433
|
try {
|
|
394
434
|
const parentGraph = await client.getCardParentGraph(card_id);
|
|
@@ -407,6 +447,7 @@ export class CardToolHandler {
|
|
|
407
447
|
title: 'Get Card Children',
|
|
408
448
|
description: 'Get a list of child cards of a specified parent card',
|
|
409
449
|
inputSchema: getCardChildrenSchema.shape,
|
|
450
|
+
annotations: { readOnlyHint: true, idempotentHint: true },
|
|
410
451
|
}, async ({ card_id }) => {
|
|
411
452
|
try {
|
|
412
453
|
const children = await client.getCardChildren(card_id);
|
|
@@ -420,5 +461,212 @@ export class CardToolHandler {
|
|
|
420
461
|
}
|
|
421
462
|
});
|
|
422
463
|
}
|
|
464
|
+
// ─── Block / Unblock ────────────────────────────────────────────────────────
|
|
465
|
+
registerBlockCard(server, client) {
|
|
466
|
+
server.registerTool('block_card', {
|
|
467
|
+
title: 'Block Card',
|
|
468
|
+
description: 'Block a card and set a reason/comment explaining why it is blocked',
|
|
469
|
+
inputSchema: blockCardSchema.shape,
|
|
470
|
+
}, async ({ card_id, reason }) => {
|
|
471
|
+
try {
|
|
472
|
+
await client.blockCard(card_id, reason);
|
|
473
|
+
return createSuccessResponse({ card_id, reason }, 'Card blocked successfully:');
|
|
474
|
+
}
|
|
475
|
+
catch (error) {
|
|
476
|
+
return createErrorResponse(error, 'blocking card');
|
|
477
|
+
}
|
|
478
|
+
});
|
|
479
|
+
}
|
|
480
|
+
registerUnblockCard(server, client) {
|
|
481
|
+
server.registerTool('unblock_card', {
|
|
482
|
+
title: 'Unblock Card',
|
|
483
|
+
description: 'Unblock a card by removing its block reason',
|
|
484
|
+
inputSchema: unblockCardSchema.shape,
|
|
485
|
+
}, async ({ card_id }) => {
|
|
486
|
+
try {
|
|
487
|
+
await client.unblockCard(card_id);
|
|
488
|
+
return createSuccessResponse({ card_id }, 'Card unblocked successfully:');
|
|
489
|
+
}
|
|
490
|
+
catch (error) {
|
|
491
|
+
return createErrorResponse(error, 'unblocking card');
|
|
492
|
+
}
|
|
493
|
+
});
|
|
494
|
+
}
|
|
495
|
+
// ─── Comments ───────────────────────────────────────────────────────────────
|
|
496
|
+
registerCreateComment(server, client) {
|
|
497
|
+
server.registerTool('create_comment', {
|
|
498
|
+
title: 'Create Comment',
|
|
499
|
+
description: 'Add a new comment to a card',
|
|
500
|
+
inputSchema: createCommentSchema.shape,
|
|
501
|
+
}, async ({ card_id, text }) => {
|
|
502
|
+
try {
|
|
503
|
+
const comment = await client.createCardComment(card_id, { text });
|
|
504
|
+
return createSuccessResponse(comment, 'Comment created successfully:');
|
|
505
|
+
}
|
|
506
|
+
catch (error) {
|
|
507
|
+
return createErrorResponse(error, 'creating comment');
|
|
508
|
+
}
|
|
509
|
+
});
|
|
510
|
+
}
|
|
511
|
+
registerUpdateComment(server, client) {
|
|
512
|
+
server.registerTool('update_comment', {
|
|
513
|
+
title: 'Update Comment',
|
|
514
|
+
description: 'Update the text of an existing comment on a card',
|
|
515
|
+
inputSchema: updateCommentSchema.shape,
|
|
516
|
+
}, async ({ card_id, comment_id, text }) => {
|
|
517
|
+
try {
|
|
518
|
+
const comment = await client.updateCardComment(card_id, comment_id, { text });
|
|
519
|
+
return createSuccessResponse(comment, 'Comment updated successfully:');
|
|
520
|
+
}
|
|
521
|
+
catch (error) {
|
|
522
|
+
return createErrorResponse(error, 'updating comment');
|
|
523
|
+
}
|
|
524
|
+
});
|
|
525
|
+
}
|
|
526
|
+
registerDeleteComment(server, client) {
|
|
527
|
+
server.registerTool('delete_comment', {
|
|
528
|
+
title: 'Delete Comment',
|
|
529
|
+
description: 'Delete a comment from a card',
|
|
530
|
+
inputSchema: deleteCommentSchema.shape,
|
|
531
|
+
}, async ({ card_id, comment_id }) => {
|
|
532
|
+
try {
|
|
533
|
+
await client.deleteCardComment(card_id, comment_id);
|
|
534
|
+
return createSuccessResponse({ card_id, comment_id }, 'Comment deleted successfully:');
|
|
535
|
+
}
|
|
536
|
+
catch (error) {
|
|
537
|
+
return createErrorResponse(error, 'deleting comment');
|
|
538
|
+
}
|
|
539
|
+
});
|
|
540
|
+
}
|
|
541
|
+
// ─── Tags ────────────────────────────────────────────────────────────────────
|
|
542
|
+
registerCreateTag(server, client) {
|
|
543
|
+
server.registerTool('create_tag', {
|
|
544
|
+
title: 'Create Tag',
|
|
545
|
+
description: 'Create a new tag in the workspace',
|
|
546
|
+
inputSchema: createTagSchema.shape,
|
|
547
|
+
}, async ({ label, color }) => {
|
|
548
|
+
try {
|
|
549
|
+
const tag = await client.createTag({ label, color });
|
|
550
|
+
return createSuccessResponse(tag, 'Tag created successfully:');
|
|
551
|
+
}
|
|
552
|
+
catch (error) {
|
|
553
|
+
return createErrorResponse(error, 'creating tag');
|
|
554
|
+
}
|
|
555
|
+
});
|
|
556
|
+
}
|
|
557
|
+
registerAddTagToCard(server, client) {
|
|
558
|
+
server.registerTool('add_tag_to_card', {
|
|
559
|
+
title: 'Add Tag to Card',
|
|
560
|
+
description: 'Add an existing tag to a card',
|
|
561
|
+
inputSchema: addTagToCardSchema.shape,
|
|
562
|
+
}, async ({ card_id, tag_id }) => {
|
|
563
|
+
try {
|
|
564
|
+
await client.addTagToCard(card_id, tag_id);
|
|
565
|
+
return createSuccessResponse({ card_id, tag_id }, 'Tag added to card successfully:');
|
|
566
|
+
}
|
|
567
|
+
catch (error) {
|
|
568
|
+
return createErrorResponse(error, 'adding tag to card');
|
|
569
|
+
}
|
|
570
|
+
});
|
|
571
|
+
}
|
|
572
|
+
registerRemoveTagFromCard(server, client) {
|
|
573
|
+
server.registerTool('remove_tag_from_card', {
|
|
574
|
+
title: 'Remove Tag from Card',
|
|
575
|
+
description: 'Remove a tag from a card',
|
|
576
|
+
inputSchema: removeTagFromCardSchema.shape,
|
|
577
|
+
}, async ({ card_id, tag_id }) => {
|
|
578
|
+
try {
|
|
579
|
+
await client.removeTagFromCard(card_id, tag_id);
|
|
580
|
+
return createSuccessResponse({ card_id, tag_id }, 'Tag removed from card successfully:');
|
|
581
|
+
}
|
|
582
|
+
catch (error) {
|
|
583
|
+
return createErrorResponse(error, 'removing tag from card');
|
|
584
|
+
}
|
|
585
|
+
});
|
|
586
|
+
}
|
|
587
|
+
// ─── Stickers ───────────────────────────────────────────────────────────────
|
|
588
|
+
registerAddStickerToCard(server, client) {
|
|
589
|
+
server.registerTool('add_sticker_to_card', {
|
|
590
|
+
title: 'Add Sticker to Card',
|
|
591
|
+
description: 'Add a sticker to a card',
|
|
592
|
+
inputSchema: addStickerToCardSchema.shape,
|
|
593
|
+
}, async ({ card_id, sticker_id }) => {
|
|
594
|
+
try {
|
|
595
|
+
const result = await client.addStickerToCard(card_id, sticker_id);
|
|
596
|
+
return createSuccessResponse(result, 'Sticker added to card successfully:');
|
|
597
|
+
}
|
|
598
|
+
catch (error) {
|
|
599
|
+
return createErrorResponse(error, 'adding sticker to card');
|
|
600
|
+
}
|
|
601
|
+
});
|
|
602
|
+
}
|
|
603
|
+
registerRemoveStickerFromCard(server, client) {
|
|
604
|
+
server.registerTool('remove_sticker_from_card', {
|
|
605
|
+
title: 'Remove Sticker from Card',
|
|
606
|
+
description: 'Remove a sticker from a card using the sticker-card association ID ' +
|
|
607
|
+
'(the "id" field returned when listing or adding stickers to a card)',
|
|
608
|
+
inputSchema: removeStickerFromCardSchema.shape,
|
|
609
|
+
}, async ({ card_id, sticker_card_id }) => {
|
|
610
|
+
try {
|
|
611
|
+
await client.removeStickerFromCard(card_id, sticker_card_id);
|
|
612
|
+
return createSuccessResponse({ card_id, sticker_card_id }, 'Sticker removed from card successfully:');
|
|
613
|
+
}
|
|
614
|
+
catch (error) {
|
|
615
|
+
return createErrorResponse(error, 'removing sticker from card');
|
|
616
|
+
}
|
|
617
|
+
});
|
|
618
|
+
}
|
|
619
|
+
// ─── Delete Card ─────────────────────────────────────────────────────────────
|
|
620
|
+
registerDeleteCard(server, client) {
|
|
621
|
+
server.registerTool('delete_card', {
|
|
622
|
+
title: 'Delete Card',
|
|
623
|
+
description: 'Permanently delete a card. This action cannot be undone and the card cannot be recovered.',
|
|
624
|
+
inputSchema: deleteCardSchema.shape,
|
|
625
|
+
}, async ({ card_id }) => {
|
|
626
|
+
try {
|
|
627
|
+
await client.deleteCard(card_id);
|
|
628
|
+
return createSuccessResponse({ card_id }, 'Card deleted successfully:');
|
|
629
|
+
}
|
|
630
|
+
catch (error) {
|
|
631
|
+
return createErrorResponse(error, 'deleting card');
|
|
632
|
+
}
|
|
633
|
+
});
|
|
634
|
+
}
|
|
635
|
+
// ─── Predecessors ─────────────────────────────────────────────────────────────
|
|
636
|
+
registerAddPredecessor(server, client) {
|
|
637
|
+
server.registerTool('add_predecessor', {
|
|
638
|
+
title: 'Add Predecessor',
|
|
639
|
+
description: 'Establish or update a predecessor-successor relationship between two cards. The predecessor_card_id becomes a prerequisite that must be completed before the card.',
|
|
640
|
+
inputSchema: addPredecessorSchema.shape,
|
|
641
|
+
}, async ({ card_id, predecessor_card_id, linked_card_position, card_position }) => {
|
|
642
|
+
try {
|
|
643
|
+
const params = {};
|
|
644
|
+
if (linked_card_position !== undefined)
|
|
645
|
+
params['linked_card_position'] = linked_card_position;
|
|
646
|
+
if (card_position !== undefined)
|
|
647
|
+
params['card_position'] = card_position;
|
|
648
|
+
await client.addPredecessor(card_id, predecessor_card_id, params);
|
|
649
|
+
return createSuccessResponse({ card_id, predecessor_card_id }, 'Predecessor added successfully:');
|
|
650
|
+
}
|
|
651
|
+
catch (error) {
|
|
652
|
+
return createErrorResponse(error, 'adding predecessor');
|
|
653
|
+
}
|
|
654
|
+
});
|
|
655
|
+
}
|
|
656
|
+
registerRemovePredecessor(server, client) {
|
|
657
|
+
server.registerTool('remove_predecessor', {
|
|
658
|
+
title: 'Remove Predecessor',
|
|
659
|
+
description: 'Remove the predecessor-successor relationship between two cards.',
|
|
660
|
+
inputSchema: removePredecessorSchema.shape,
|
|
661
|
+
}, async ({ card_id, predecessor_card_id }) => {
|
|
662
|
+
try {
|
|
663
|
+
await client.removePredecessor(card_id, predecessor_card_id);
|
|
664
|
+
return createSuccessResponse({ card_id, predecessor_card_id }, 'Predecessor removed successfully:');
|
|
665
|
+
}
|
|
666
|
+
catch (error) {
|
|
667
|
+
return createErrorResponse(error, 'removing predecessor');
|
|
668
|
+
}
|
|
669
|
+
});
|
|
670
|
+
}
|
|
423
671
|
}
|
|
424
672
|
//# sourceMappingURL=card-tools.js.map
|