@damper/mcp 0.3.17 → 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 +46 -12
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -240,12 +240,11 @@ server.registerTool('get_task', {
|
|
|
240
240
|
// Tool: Update task
|
|
241
241
|
server.registerTool('update_task', {
|
|
242
242
|
title: 'Update Task',
|
|
243
|
-
description: 'Update task fields like
|
|
244
|
-
'Useful for refining task details as you learn more about the work.
|
|
245
|
-
'Use title to set a concise task name after planning (especially for CLI-created tasks with placeholder titles).',
|
|
243
|
+
description: 'Update task fields like description, implementation plan, priority, effort, quarter, labels, or visibility. ' +
|
|
244
|
+
'Useful for refining task details as you learn more about the work.',
|
|
246
245
|
inputSchema: z.object({
|
|
247
246
|
taskId: z.string().describe('Task ID'),
|
|
248
|
-
title: z.string().optional().describe('
|
|
247
|
+
title: z.string().optional().describe('Task title'),
|
|
249
248
|
description: z.string().optional().describe('Task description'),
|
|
250
249
|
implementationPlan: z.string().optional().describe('Implementation plan (markdown)'),
|
|
251
250
|
priority: z.enum(['high', 'medium', 'low']).nullable().optional().describe('Task priority'),
|
|
@@ -330,7 +329,8 @@ server.registerTool('create_task', {
|
|
|
330
329
|
title: z.string(),
|
|
331
330
|
description: z.string().optional(),
|
|
332
331
|
type: z.enum(['bug', 'feature', 'improvement', 'task']).optional().describe('Task type (default: feature)'),
|
|
333
|
-
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'),
|
|
334
334
|
implementationPlan: z.string().optional(),
|
|
335
335
|
isPublic: z.boolean().optional().describe('Whether task is visible on public roadmap (default: true)'),
|
|
336
336
|
}),
|
|
@@ -1166,6 +1166,40 @@ server.registerTool('get_feedback', {
|
|
|
1166
1166
|
structuredContent: f,
|
|
1167
1167
|
};
|
|
1168
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
|
+
});
|
|
1169
1203
|
// ==================== Issue Reporting ====================
|
|
1170
1204
|
// Tool: Report issue
|
|
1171
1205
|
server.registerTool('report_issue', {
|
|
@@ -1664,16 +1698,16 @@ server.registerTool('update_changelog', {
|
|
|
1664
1698
|
structuredContent: result,
|
|
1665
1699
|
};
|
|
1666
1700
|
});
|
|
1667
|
-
// Tool: Add
|
|
1701
|
+
// Tool: Add tasks to changelog
|
|
1668
1702
|
server.registerTool('add_to_changelog', {
|
|
1669
1703
|
title: 'Add to Changelog',
|
|
1670
|
-
description: 'Add completed
|
|
1704
|
+
description: 'Add completed tasks to a changelog. Links the tasks and appends formatted entries to content.\n\n' +
|
|
1671
1705
|
'**When to use:**\n' +
|
|
1672
|
-
'- After completing multiple
|
|
1673
|
-
'- To manually add
|
|
1706
|
+
'- After completing multiple tasks that should be in one release\n' +
|
|
1707
|
+
'- To manually add tasks to a draft changelog',
|
|
1674
1708
|
inputSchema: z.object({
|
|
1675
1709
|
changelogId: z.string().describe('Changelog ID'),
|
|
1676
|
-
|
|
1710
|
+
taskIds: z.array(z.string()).describe('Task IDs to add'),
|
|
1677
1711
|
}),
|
|
1678
1712
|
outputSchema: z.object({
|
|
1679
1713
|
id: z.string(),
|
|
@@ -1690,8 +1724,8 @@ server.registerTool('add_to_changelog', {
|
|
|
1690
1724
|
idempotentHint: true,
|
|
1691
1725
|
openWorldHint: false,
|
|
1692
1726
|
},
|
|
1693
|
-
}, async ({ changelogId,
|
|
1694
|
-
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 });
|
|
1695
1729
|
const addedTitles = result.addedItems.map((i) => i.title).join(', ');
|
|
1696
1730
|
return {
|
|
1697
1731
|
content: [{ type: 'text', text: `📋 Added ${result.addedItems.length} items to "${result.title}": ${addedTitles}` }],
|