@damper/mcp 0.3.7 → 0.3.8
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.js +13 -3
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -216,7 +216,7 @@ server.registerTool('get_task', {
|
|
|
216
216
|
// Tool: Update task
|
|
217
217
|
server.registerTool('update_task', {
|
|
218
218
|
title: 'Update Task',
|
|
219
|
-
description: 'Update task fields like description, implementation plan, priority, effort, quarter, or
|
|
219
|
+
description: 'Update task fields like description, implementation plan, priority, effort, quarter, labels, or visibility. ' +
|
|
220
220
|
'Useful for refining task details as you learn more about the work.',
|
|
221
221
|
inputSchema: z.object({
|
|
222
222
|
taskId: z.string().describe('Task ID'),
|
|
@@ -226,6 +226,7 @@ server.registerTool('update_task', {
|
|
|
226
226
|
effort: z.enum(['xs', 's', 'm', 'l', 'xl']).nullable().optional().describe('Estimated effort'),
|
|
227
227
|
quarter: z.string().nullable().optional().describe('Target quarter (e.g., "Q1 2025", "Q2 2025")'),
|
|
228
228
|
labels: z.array(z.string()).optional().describe('Labels/tags'),
|
|
229
|
+
isPublic: z.boolean().optional().describe('Whether task is visible on public roadmap'),
|
|
229
230
|
}),
|
|
230
231
|
outputSchema: z.object({
|
|
231
232
|
id: z.string(),
|
|
@@ -236,6 +237,7 @@ server.registerTool('update_task', {
|
|
|
236
237
|
effort: z.string().nullable().optional(),
|
|
237
238
|
quarter: z.string().nullable().optional(),
|
|
238
239
|
labels: z.array(z.string()).optional(),
|
|
240
|
+
isPublic: z.boolean().optional(),
|
|
239
241
|
}),
|
|
240
242
|
annotations: {
|
|
241
243
|
readOnlyHint: false,
|
|
@@ -243,7 +245,7 @@ server.registerTool('update_task', {
|
|
|
243
245
|
idempotentHint: true,
|
|
244
246
|
openWorldHint: false,
|
|
245
247
|
},
|
|
246
|
-
}, async ({ taskId, description, implementationPlan, priority, effort, quarter, labels }) => {
|
|
248
|
+
}, async ({ taskId, description, implementationPlan, priority, effort, quarter, labels, isPublic }) => {
|
|
247
249
|
const body = {};
|
|
248
250
|
if (description !== undefined)
|
|
249
251
|
body.description = description;
|
|
@@ -257,6 +259,8 @@ server.registerTool('update_task', {
|
|
|
257
259
|
body.quarter = quarter;
|
|
258
260
|
if (labels !== undefined)
|
|
259
261
|
body.labels = labels;
|
|
262
|
+
if (isPublic !== undefined)
|
|
263
|
+
body.isPublic = isPublic;
|
|
260
264
|
const result = await api('PATCH', `/api/agent/tasks/${taskId}`, body);
|
|
261
265
|
const updates = [];
|
|
262
266
|
if (description !== undefined)
|
|
@@ -271,6 +275,8 @@ server.registerTool('update_task', {
|
|
|
271
275
|
updates.push(`quarter=${quarter || 'none'}`);
|
|
272
276
|
if (labels !== undefined)
|
|
273
277
|
updates.push(`labels=[${labels.join(', ')}]`);
|
|
278
|
+
if (isPublic !== undefined)
|
|
279
|
+
updates.push(`isPublic=${isPublic}`);
|
|
274
280
|
return {
|
|
275
281
|
content: [{ type: 'text', text: `📝 Updated ${result.title}: ${updates.join(', ')}` }],
|
|
276
282
|
structuredContent: {
|
|
@@ -282,6 +288,7 @@ server.registerTool('update_task', {
|
|
|
282
288
|
effort: result.effort,
|
|
283
289
|
quarter: result.quarter,
|
|
284
290
|
labels: result.labels,
|
|
291
|
+
isPublic: result.isPublic,
|
|
285
292
|
},
|
|
286
293
|
};
|
|
287
294
|
});
|
|
@@ -295,12 +302,14 @@ server.registerTool('create_task', {
|
|
|
295
302
|
type: z.enum(['bug', 'feature', 'improvement', 'task']).optional().describe('Task type (default: feature)'),
|
|
296
303
|
status: z.enum(['planned', 'in_progress']).optional(),
|
|
297
304
|
implementationPlan: z.string().optional(),
|
|
305
|
+
isPublic: z.boolean().optional().describe('Whether task is visible on public roadmap (default: true)'),
|
|
298
306
|
}),
|
|
299
307
|
outputSchema: z.object({
|
|
300
308
|
id: z.string(),
|
|
301
309
|
title: z.string(),
|
|
302
310
|
type: z.string(),
|
|
303
311
|
status: z.string(),
|
|
312
|
+
isPublic: z.boolean().optional(),
|
|
304
313
|
}),
|
|
305
314
|
annotations: {
|
|
306
315
|
readOnlyHint: false,
|
|
@@ -311,8 +320,9 @@ server.registerTool('create_task', {
|
|
|
311
320
|
}, async (args) => {
|
|
312
321
|
const result = await api('POST', '/api/agent/tasks', args);
|
|
313
322
|
const typeIcon = result.type === 'bug' ? '🐛' : result.type === 'feature' ? '✨' : result.type === 'improvement' ? '💡' : '📌';
|
|
323
|
+
const visibilityIcon = result.isPublic ? '' : ' 🔒';
|
|
314
324
|
return {
|
|
315
|
-
content: [{ type: 'text', text: `Created: ${result.id} ${typeIcon} "${result.title}" [${result.status}]` }],
|
|
325
|
+
content: [{ type: 'text', text: `Created: ${result.id} ${typeIcon} "${result.title}" [${result.status}]${visibilityIcon}` }],
|
|
316
326
|
structuredContent: result,
|
|
317
327
|
};
|
|
318
328
|
});
|