@damper/mcp 0.3.18 → 0.3.19
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 +49 -9
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -244,6 +244,7 @@ server.registerTool('update_task', {
|
|
|
244
244
|
'Useful for refining task details as you learn more about the work.',
|
|
245
245
|
inputSchema: z.object({
|
|
246
246
|
taskId: z.string().describe('Task ID'),
|
|
247
|
+
title: z.string().optional().describe('Task title'),
|
|
247
248
|
description: z.string().optional().describe('Task description'),
|
|
248
249
|
implementationPlan: z.string().optional().describe('Implementation plan (markdown)'),
|
|
249
250
|
priority: z.enum(['high', 'medium', 'low']).nullable().optional().describe('Task priority'),
|
|
@@ -269,8 +270,10 @@ server.registerTool('update_task', {
|
|
|
269
270
|
idempotentHint: true,
|
|
270
271
|
openWorldHint: false,
|
|
271
272
|
},
|
|
272
|
-
}, async ({ taskId, description, implementationPlan, priority, effort, quarter, labels, isPublic }) => {
|
|
273
|
+
}, async ({ taskId, title, description, implementationPlan, priority, effort, quarter, labels, isPublic }) => {
|
|
273
274
|
const body = {};
|
|
275
|
+
if (title !== undefined)
|
|
276
|
+
body.title = title;
|
|
274
277
|
if (description !== undefined)
|
|
275
278
|
body.description = description;
|
|
276
279
|
if (implementationPlan !== undefined)
|
|
@@ -287,6 +290,8 @@ server.registerTool('update_task', {
|
|
|
287
290
|
body.isPublic = isPublic;
|
|
288
291
|
const result = await api('PATCH', `/api/agent/tasks/${taskId}`, body);
|
|
289
292
|
const updates = [];
|
|
293
|
+
if (title !== undefined)
|
|
294
|
+
updates.push(`title="${title}"`);
|
|
290
295
|
if (description !== undefined)
|
|
291
296
|
updates.push('description');
|
|
292
297
|
if (implementationPlan !== undefined)
|
|
@@ -324,7 +329,8 @@ server.registerTool('create_task', {
|
|
|
324
329
|
title: z.string(),
|
|
325
330
|
description: z.string().optional(),
|
|
326
331
|
type: z.enum(['bug', 'feature', 'improvement', 'task']).optional().describe('Task type (default: feature)'),
|
|
327
|
-
status: z.enum(['planned', 'in_progress']).optional(),
|
|
332
|
+
status: z.enum(['planned', 'in_progress', 'done']).optional(),
|
|
333
|
+
priority: z.enum(['high', 'medium', 'low']).optional().describe('Task priority'),
|
|
328
334
|
implementationPlan: z.string().optional(),
|
|
329
335
|
isPublic: z.boolean().optional().describe('Whether task is visible on public roadmap (default: true)'),
|
|
330
336
|
}),
|
|
@@ -1160,6 +1166,40 @@ server.registerTool('get_feedback', {
|
|
|
1160
1166
|
structuredContent: f,
|
|
1161
1167
|
};
|
|
1162
1168
|
});
|
|
1169
|
+
// Tool: Update feedback
|
|
1170
|
+
server.registerTool('update_feedback', {
|
|
1171
|
+
title: 'Update Feedback',
|
|
1172
|
+
description: 'Update feedback status. Use to triage, close, or mark feedback as done.',
|
|
1173
|
+
inputSchema: z.object({
|
|
1174
|
+
feedbackId: z.string().describe('Feedback ID'),
|
|
1175
|
+
status: z
|
|
1176
|
+
.enum(['new', 'under_review', 'planned', 'in_progress', 'done', 'closed'])
|
|
1177
|
+
.describe('New status'),
|
|
1178
|
+
}),
|
|
1179
|
+
outputSchema: z.object({
|
|
1180
|
+
id: z.string(),
|
|
1181
|
+
title: z.string(),
|
|
1182
|
+
status: z.string(),
|
|
1183
|
+
type: z.string(),
|
|
1184
|
+
}),
|
|
1185
|
+
annotations: {
|
|
1186
|
+
readOnlyHint: false,
|
|
1187
|
+
destructiveHint: false,
|
|
1188
|
+
idempotentHint: true,
|
|
1189
|
+
openWorldHint: false,
|
|
1190
|
+
},
|
|
1191
|
+
}, async ({ feedbackId, status }) => {
|
|
1192
|
+
const result = await api('PATCH', `/api/agent/feedback/${feedbackId}`, { status });
|
|
1193
|
+
return {
|
|
1194
|
+
content: [
|
|
1195
|
+
{
|
|
1196
|
+
type: 'text',
|
|
1197
|
+
text: `Updated feedback "${result.title}" → ${result.status}`,
|
|
1198
|
+
},
|
|
1199
|
+
],
|
|
1200
|
+
structuredContent: result,
|
|
1201
|
+
};
|
|
1202
|
+
});
|
|
1163
1203
|
// ==================== Issue Reporting ====================
|
|
1164
1204
|
// Tool: Report issue
|
|
1165
1205
|
server.registerTool('report_issue', {
|
|
@@ -1658,16 +1698,16 @@ server.registerTool('update_changelog', {
|
|
|
1658
1698
|
structuredContent: result,
|
|
1659
1699
|
};
|
|
1660
1700
|
});
|
|
1661
|
-
// Tool: Add
|
|
1701
|
+
// Tool: Add tasks to changelog
|
|
1662
1702
|
server.registerTool('add_to_changelog', {
|
|
1663
1703
|
title: 'Add to Changelog',
|
|
1664
|
-
description: 'Add completed
|
|
1704
|
+
description: 'Add completed tasks to a changelog. Links the tasks and appends formatted entries to content.\n\n' +
|
|
1665
1705
|
'**When to use:**\n' +
|
|
1666
|
-
'- After completing multiple
|
|
1667
|
-
'- To manually add
|
|
1706
|
+
'- After completing multiple tasks that should be in one release\n' +
|
|
1707
|
+
'- To manually add tasks to a draft changelog',
|
|
1668
1708
|
inputSchema: z.object({
|
|
1669
1709
|
changelogId: z.string().describe('Changelog ID'),
|
|
1670
|
-
|
|
1710
|
+
taskIds: z.array(z.string()).describe('Task IDs to add'),
|
|
1671
1711
|
}),
|
|
1672
1712
|
outputSchema: z.object({
|
|
1673
1713
|
id: z.string(),
|
|
@@ -1684,8 +1724,8 @@ server.registerTool('add_to_changelog', {
|
|
|
1684
1724
|
idempotentHint: true,
|
|
1685
1725
|
openWorldHint: false,
|
|
1686
1726
|
},
|
|
1687
|
-
}, async ({ changelogId,
|
|
1688
|
-
const result = await api('POST', `/api/agent/changelogs/${changelogId}/items`, { roadmapItemIds });
|
|
1727
|
+
}, async ({ changelogId, taskIds }) => {
|
|
1728
|
+
const result = await api('POST', `/api/agent/changelogs/${changelogId}/items`, { roadmapItemIds: taskIds });
|
|
1689
1729
|
const addedTitles = result.addedItems.map((i) => i.title).join(', ');
|
|
1690
1730
|
return {
|
|
1691
1731
|
content: [{ type: 'text', text: `📋 Added ${result.addedItems.length} items to "${result.title}": ${addedTitles}` }],
|