@damper/mcp 0.8.5 → 0.8.7
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/formatters.js +4 -1
- package/dist/index.js +30 -1
- package/package.json +1 -1
package/dist/formatters.js
CHANGED
|
@@ -95,7 +95,10 @@ export function formatSelfAssessmentActions(assessment) {
|
|
|
95
95
|
* Format complete_task response
|
|
96
96
|
*/
|
|
97
97
|
export function formatCompleteTaskResponse(result, assessment) {
|
|
98
|
-
const
|
|
98
|
+
const statusMessage = result.status === 'done'
|
|
99
|
+
? `✅ Task ${result.id} marked as done`
|
|
100
|
+
: `✅ Task ${result.id} moved to review`;
|
|
101
|
+
const lines = [statusMessage];
|
|
99
102
|
// Self-assessment follow-up actions (shown first if provided)
|
|
100
103
|
if (assessment) {
|
|
101
104
|
const actions = formatSelfAssessmentActions(assessment);
|
package/dist/index.js
CHANGED
|
@@ -110,6 +110,7 @@ const FeedbackDetailSchema = z.object({
|
|
|
110
110
|
type: z.string(),
|
|
111
111
|
status: z.string(),
|
|
112
112
|
voteScore: z.number(),
|
|
113
|
+
metadata: z.unknown().optional(),
|
|
113
114
|
linkedTaskId: z.string().nullish(),
|
|
114
115
|
voters: z.array(z.object({ email: z.string(), plan: z.string() })),
|
|
115
116
|
comments: z.array(z.object({ author: z.string(), body: z.string() })),
|
|
@@ -608,7 +609,8 @@ const DocumentationSchema = z.object({
|
|
|
608
609
|
// Tool: Complete task
|
|
609
610
|
server.registerTool('complete_task', {
|
|
610
611
|
title: 'Complete Task',
|
|
611
|
-
description: 'Mark task as ready for review (in_review). A human will verify and move it to done
|
|
612
|
+
description: 'Mark task as ready for review (in_review). A human will verify and move it to done. ' +
|
|
613
|
+
'Pass `skipReview: true` to mark as done immediately (use when the human explicitly asks).\n\n' +
|
|
612
614
|
'**Before calling:**\n' +
|
|
613
615
|
'1. Push all commits\n' +
|
|
614
616
|
'2. Check if project context docs need updating\n\n' +
|
|
@@ -1363,6 +1365,33 @@ server.registerTool('get_feedback', {
|
|
|
1363
1365
|
f.linkedTaskId ? `Linked: ${f.linkedTaskId}` : '',
|
|
1364
1366
|
`\n${f.description}`,
|
|
1365
1367
|
].filter(Boolean);
|
|
1368
|
+
if (f.metadata && typeof f.metadata === 'object' && Object.keys(f.metadata).length > 0) {
|
|
1369
|
+
const meta = f.metadata;
|
|
1370
|
+
parts.push(`\n## Debug Info`);
|
|
1371
|
+
if (meta.url)
|
|
1372
|
+
parts.push(`URL: ${meta.url}`);
|
|
1373
|
+
if (meta.userAgent)
|
|
1374
|
+
parts.push(`User Agent: ${meta.userAgent}`);
|
|
1375
|
+
if (meta.viewport)
|
|
1376
|
+
parts.push(`Viewport: ${JSON.stringify(meta.viewport)}`);
|
|
1377
|
+
if (meta.screen)
|
|
1378
|
+
parts.push(`Screen: ${JSON.stringify(meta.screen)}`);
|
|
1379
|
+
if (meta.language)
|
|
1380
|
+
parts.push(`Language: ${meta.language}`);
|
|
1381
|
+
if (meta.referrer)
|
|
1382
|
+
parts.push(`Referrer: ${meta.referrer}`);
|
|
1383
|
+
if (meta.timeOnPage)
|
|
1384
|
+
parts.push(`Time on page: ${meta.timeOnPage}s`);
|
|
1385
|
+
if (meta.debug) {
|
|
1386
|
+
const debug = meta.debug;
|
|
1387
|
+
if (Array.isArray(debug.errors) && debug.errors.length)
|
|
1388
|
+
parts.push(`\n### Errors\n${debug.errors.map((e) => `- ${typeof e === 'string' ? e : JSON.stringify(e)}`).join('\n')}`);
|
|
1389
|
+
if (Array.isArray(debug.networkFailures) && debug.networkFailures.length)
|
|
1390
|
+
parts.push(`\n### Network Failures\n${debug.networkFailures.map((n) => `- ${typeof n === 'string' ? n : JSON.stringify(n)}`).join('\n')}`);
|
|
1391
|
+
if (Array.isArray(debug.breadcrumbs) && debug.breadcrumbs.length)
|
|
1392
|
+
parts.push(`\n### Breadcrumbs\n${debug.breadcrumbs.map((b) => `- ${typeof b === 'string' ? b : JSON.stringify(b)}`).join('\n')}`);
|
|
1393
|
+
}
|
|
1394
|
+
}
|
|
1366
1395
|
if (f.voters.length) {
|
|
1367
1396
|
parts.push(`\n## Voters (${f.voters.length})`);
|
|
1368
1397
|
f.voters.slice(0, 5).forEach((v) => parts.push(`- ${v.email} (${v.plan})`));
|