devto-mcp 0.4.0 → 0.4.2
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/client.d.ts.map +1 -1
- package/dist/client.js +55 -9
- package/dist/client.js.map +1 -1
- package/dist/index.js +123 -7
- package/dist/index.js.map +1 -1
- package/dist/tools.d.ts +5 -1
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +132 -3
- package/dist/tools.js.map +1 -1
- package/package.json +1 -1
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAEA,qBAAa,aAAc,SAAQ,KAAK;IAG7B,IAAI,CAAC,EAAE,MAAM;IACb,MAAM,CAAC,EAAE,MAAM;gBAFtB,OAAO,EAAE,MAAM,EACR,IAAI,CAAC,EAAE,MAAM,YAAA,EACb,MAAM,CAAC,EAAE,MAAM,YAAA;CAKzB;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAEA,qBAAa,aAAc,SAAQ,KAAK;IAG7B,IAAI,CAAC,EAAE,MAAM;IACb,MAAM,CAAC,EAAE,MAAM;gBAFtB,OAAO,EAAE,MAAM,EACR,IAAI,CAAC,EAAE,MAAM,YAAA,EACb,MAAM,CAAC,EAAE,MAAM,YAAA;CAKzB;AASD,wBAAsB,OAAO,CAAC,CAAC,EAC7B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,OAAO,GACb,OAAO,CAAC,CAAC,CAAC,CAkFZ"}
|
package/dist/client.js
CHANGED
|
@@ -14,6 +14,11 @@ class DevToApiError extends Error {
|
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
exports.DevToApiError = DevToApiError;
|
|
17
|
+
const MAX_RETRIES = 2;
|
|
18
|
+
const RETRY_DELAY_MS = 1000;
|
|
19
|
+
function isRetryable(status) {
|
|
20
|
+
return status === 502 || status === 503 || status === 504 || status === 429;
|
|
21
|
+
}
|
|
17
22
|
async function callApi(method, path, body) {
|
|
18
23
|
const apiKey = (0, config_1.getApiKey)();
|
|
19
24
|
const apiUrl = (0, config_1.getApiUrl)();
|
|
@@ -30,15 +35,56 @@ async function callApi(method, path, body) {
|
|
|
30
35
|
if (projectJson.config.workspaceId) {
|
|
31
36
|
headers["X-DevTo-Workspace"] = projectJson.config.workspaceId;
|
|
32
37
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
let lastError;
|
|
39
|
+
for (let attempt = 0; attempt <= MAX_RETRIES; attempt++) {
|
|
40
|
+
try {
|
|
41
|
+
const res = await fetch(`${apiUrl}${path}`, {
|
|
42
|
+
method,
|
|
43
|
+
headers,
|
|
44
|
+
body: body ? JSON.stringify(body) : undefined,
|
|
45
|
+
});
|
|
46
|
+
const data = await res.json().catch(() => ({}));
|
|
47
|
+
if (!res.ok) {
|
|
48
|
+
// Build a complete error message including Jira's actual error details
|
|
49
|
+
let msg = data.message ?? `Request failed: ${res.status}`;
|
|
50
|
+
const details = data.details;
|
|
51
|
+
if (details && typeof details === "object") {
|
|
52
|
+
const d = details;
|
|
53
|
+
const extra = [];
|
|
54
|
+
if (d.errorMessages?.length)
|
|
55
|
+
extra.push(...d.errorMessages);
|
|
56
|
+
if (d.errors) {
|
|
57
|
+
for (const [field, m] of Object.entries(d.errors)) {
|
|
58
|
+
if (typeof m === "string" && m.length > 0)
|
|
59
|
+
extra.push(`${field}: ${m}`);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
if (extra.length)
|
|
63
|
+
msg += ` — ${extra.join("; ")}`;
|
|
64
|
+
}
|
|
65
|
+
const err = new DevToApiError(msg, data.code, res.status);
|
|
66
|
+
// Only retry on transient server errors, not client errors
|
|
67
|
+
if (isRetryable(res.status) && attempt < MAX_RETRIES) {
|
|
68
|
+
lastError = err;
|
|
69
|
+
await new Promise((r) => setTimeout(r, RETRY_DELAY_MS * (attempt + 1)));
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
throw err;
|
|
73
|
+
}
|
|
74
|
+
return data;
|
|
75
|
+
}
|
|
76
|
+
catch (err) {
|
|
77
|
+
// Network errors (fetch itself failed) — retry
|
|
78
|
+
if (err instanceof DevToApiError)
|
|
79
|
+
throw err;
|
|
80
|
+
if (attempt < MAX_RETRIES) {
|
|
81
|
+
lastError = new DevToApiError(err instanceof Error ? err.message : "Network error", "NETWORK_ERROR");
|
|
82
|
+
await new Promise((r) => setTimeout(r, RETRY_DELAY_MS * (attempt + 1)));
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
throw new DevToApiError(err instanceof Error ? err.message : "Network error — check your connection", "NETWORK_ERROR");
|
|
86
|
+
}
|
|
41
87
|
}
|
|
42
|
-
|
|
88
|
+
throw lastError ?? new DevToApiError("Request failed after retries", "NETWORK_ERROR");
|
|
43
89
|
}
|
|
44
90
|
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -44,11 +44,27 @@ const INSTRUCTIONS = `DevTo is an AI work manager (devto.ai) — NOT the Dev.to
|
|
|
44
44
|
|
|
45
45
|
DevTo connects to the developer's project tracker (Jira, Linear, etc.) and manages work items through these MCP tools. Use them whenever the user asks about tasks, plans, sprints, or project status.
|
|
46
46
|
|
|
47
|
+
## Session Awareness
|
|
48
|
+
- Call get_project_summary at session start to load project context. Do not announce it — use it silently to understand what the developer is working on.
|
|
49
|
+
- Keep the project summary in mind throughout the session. When the developer mentions work, tasks, or features, cross-reference against the loaded summary before asking clarifying questions.
|
|
50
|
+
- When the developer starts or finishes a piece of work, proactively suggest updating the relevant ticket status or adding a comment — but always wait for confirmation before writing.
|
|
51
|
+
- If the developer describes what they're building, check whether a matching ticket already exists before suggesting to create a new one.
|
|
52
|
+
|
|
53
|
+
## Semantic Matching
|
|
54
|
+
- All write tools (update_task, create_subtask, etc.) accept natural language issue references — you don't need to know the exact ticket key.
|
|
55
|
+
- When the developer says "update the auth task" or "add a comment to the login bug", pass that natural language description as the issue_key. DevTo will fuzzy-match it against existing tickets.
|
|
56
|
+
- If multiple tickets match, DevTo will return a disambiguation prompt — present the options to the developer and let them choose.
|
|
57
|
+
- Prefer natural language references over asking the developer to look up ticket keys. The goal is zero context switching.
|
|
58
|
+
|
|
59
|
+
## Ambient Work Management
|
|
60
|
+
- DevTo is not just a ticket tool — it's an ambient work management layer. The developer should never have to leave their coding flow to manage project state.
|
|
61
|
+
- When status transitions happen (e.g., developer says "I'm done with the auth feature"), use update_task with both the new status and a brief comment summarizing what was done.
|
|
62
|
+
- Auto-comments are real: when the auto_comments workspace setting is enabled AND a status change is made via update_task or update_epic without a manual comment, DevTo automatically posts a "[DevTo] Status changed to X" comment. When this is enabled, you don't need to add redundant status comments — focus your comments on the "why", not the "what".
|
|
63
|
+
|
|
47
64
|
## Behavior
|
|
48
|
-
- Call get_project_summary at session start to load project context. Do not announce it.
|
|
49
65
|
- When the user asks about tasks, status, or work items, use the DevTo tools — do not confuse with Claude Code's built-in task system.
|
|
50
66
|
- Never write to the project tracker without explicit developer confirmation. Show what you intend to do and wait for a yes.
|
|
51
|
-
- When the developer asks to add a comment to
|
|
67
|
+
- IMPORTANT: When the developer asks to add a comment to ANY ticket, ALWAYS use update_task with the comment parameter. You do NOT need to change status — just pass the comment parameter alone. This is NOT optional — update_task IS the comment tool. Do not tell the user you cannot add comments.
|
|
52
68
|
- When the developer asks to read comments on a ticket, use get_comments.
|
|
53
69
|
|
|
54
70
|
## Tools
|
|
@@ -61,6 +77,10 @@ DevTo connects to the developer's project tracker (Jira, Linear, etc.) and manag
|
|
|
61
77
|
- get_tasks — Fetch open tasks. Optionally filter by epic.
|
|
62
78
|
- update_task — Update task status AND/OR add a comment to a ticket. Accepts natural language references. You can: (1) change status only, (2) add a comment only, or (3) do both at once. When the developer says "add a comment to PROJ-5", use this tool with just the comment parameter and no status. When transitioning status, include a brief comment summarizing why.
|
|
63
79
|
- get_comments — Read recent comments on a ticket. Use this when the developer asks to see comments, or before adding your own comment to understand existing context. Returns the 20 most recent comments.
|
|
80
|
+
- list_epics — List all epics with progress breakdown (done/in-progress/todo counts). Use when the developer asks about epics, roadmap, or high-level progress.
|
|
81
|
+
- update_epic — Update an epic's status, title, description, or add a comment. Accepts natural language references.
|
|
82
|
+
- get_epic — Deep dive into a single epic: all child tasks with statuses plus recent comments.
|
|
83
|
+
- delete_comment — Delete a comment by ID. Use get_comments first to find the comment ID you want to remove.
|
|
64
84
|
- get_status — Aggregate project metrics and current sprint.`;
|
|
65
85
|
const server = new index_js_1.Server({
|
|
66
86
|
name: "devto",
|
|
@@ -171,7 +191,7 @@ server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => ({
|
|
|
171
191
|
},
|
|
172
192
|
{
|
|
173
193
|
name: "update_task",
|
|
174
|
-
description: "Update a task's status and/or add a comment. You can
|
|
194
|
+
description: "Update a task's status and/or add a comment to any ticket. This is the PRIMARY way to add comments. You can: (1) change status only, (2) add a comment WITHOUT changing status — just pass comment alone, or (3) do both. Accepts natural language references (e.g. 'the auth task'). At least one of status or comment is required.",
|
|
175
195
|
inputSchema: {
|
|
176
196
|
type: "object",
|
|
177
197
|
properties: {
|
|
@@ -181,12 +201,24 @@ server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => ({
|
|
|
181
201
|
},
|
|
182
202
|
status: {
|
|
183
203
|
type: "string",
|
|
184
|
-
|
|
185
|
-
description: "New status for the task (optional if adding a comment only)",
|
|
204
|
+
description: "New status: 'todo', 'in_progress', 'in_review', 'done', or any custom Jira status name (e.g. 'QA', 'Blocked'). Optional if adding a comment only.",
|
|
186
205
|
},
|
|
187
206
|
comment: {
|
|
188
207
|
type: "string",
|
|
189
|
-
description: "Comment to add to the ticket.
|
|
208
|
+
description: "Comment to add to the ticket. You can pass comment alone without status — this is the primary way to add comments.",
|
|
209
|
+
},
|
|
210
|
+
assignee: {
|
|
211
|
+
type: "string",
|
|
212
|
+
description: "Assign to a person by name (e.g. 'John Doe'). DevTo will look up their Jira account.",
|
|
213
|
+
},
|
|
214
|
+
priority: {
|
|
215
|
+
type: "string",
|
|
216
|
+
description: "Set priority (e.g. 'High', 'Medium', 'Low', 'Critical').",
|
|
217
|
+
},
|
|
218
|
+
labels: {
|
|
219
|
+
type: "array",
|
|
220
|
+
items: { type: "string" },
|
|
221
|
+
description: "Set labels/tags on the ticket (replaces existing labels).",
|
|
190
222
|
},
|
|
191
223
|
},
|
|
192
224
|
required: ["issue_key"],
|
|
@@ -206,6 +238,78 @@ server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => ({
|
|
|
206
238
|
required: ["issue_key"],
|
|
207
239
|
},
|
|
208
240
|
},
|
|
241
|
+
{
|
|
242
|
+
name: "list_epics",
|
|
243
|
+
description: "List all epics in the project with progress breakdown. Shows child task counts (done, in progress, todo) for each epic. Use when the developer asks about epics, roadmap, or high-level project progress.",
|
|
244
|
+
inputSchema: {
|
|
245
|
+
type: "object",
|
|
246
|
+
properties: {},
|
|
247
|
+
required: [],
|
|
248
|
+
},
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
name: "update_epic",
|
|
252
|
+
description: "Update an epic's status, title, description, or add a comment. Accepts natural language references (e.g. 'the auth epic'). At least one field is required.",
|
|
253
|
+
inputSchema: {
|
|
254
|
+
type: "object",
|
|
255
|
+
properties: {
|
|
256
|
+
issue_key: {
|
|
257
|
+
type: "string",
|
|
258
|
+
description: "Epic key (e.g. PROJ-1) or natural language description",
|
|
259
|
+
},
|
|
260
|
+
status: {
|
|
261
|
+
type: "string",
|
|
262
|
+
enum: ["todo", "in_progress", "in_review", "done"],
|
|
263
|
+
description: "New status for the epic",
|
|
264
|
+
},
|
|
265
|
+
title: {
|
|
266
|
+
type: "string",
|
|
267
|
+
description: "New title for the epic",
|
|
268
|
+
},
|
|
269
|
+
description: {
|
|
270
|
+
type: "string",
|
|
271
|
+
description: "New description for the epic",
|
|
272
|
+
},
|
|
273
|
+
comment: {
|
|
274
|
+
type: "string",
|
|
275
|
+
description: "Comment to add to the epic",
|
|
276
|
+
},
|
|
277
|
+
},
|
|
278
|
+
required: ["issue_key"],
|
|
279
|
+
},
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
name: "get_epic",
|
|
283
|
+
description: "Deep dive into a single epic. Returns all child tasks with statuses and recent comments. Use when the developer wants details on a specific epic.",
|
|
284
|
+
inputSchema: {
|
|
285
|
+
type: "object",
|
|
286
|
+
properties: {
|
|
287
|
+
epic_key: {
|
|
288
|
+
type: "string",
|
|
289
|
+
description: "Epic key (e.g. PROJ-1) or natural language description",
|
|
290
|
+
},
|
|
291
|
+
},
|
|
292
|
+
required: ["epic_key"],
|
|
293
|
+
},
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
name: "delete_comment",
|
|
297
|
+
description: "Delete a comment from a ticket. Use get_comments first to find the comment ID you want to remove.",
|
|
298
|
+
inputSchema: {
|
|
299
|
+
type: "object",
|
|
300
|
+
properties: {
|
|
301
|
+
issue_key: {
|
|
302
|
+
type: "string",
|
|
303
|
+
description: "Issue key (e.g. PROJ-5) or natural language description",
|
|
304
|
+
},
|
|
305
|
+
comment_id: {
|
|
306
|
+
type: "string",
|
|
307
|
+
description: "The comment ID to delete (from get_comments output)",
|
|
308
|
+
},
|
|
309
|
+
},
|
|
310
|
+
required: ["issue_key", "comment_id"],
|
|
311
|
+
},
|
|
312
|
+
},
|
|
209
313
|
{
|
|
210
314
|
name: "get_status",
|
|
211
315
|
description: "Get a summary of your project: task counts and current sprint",
|
|
@@ -271,11 +375,23 @@ server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
|
|
|
271
375
|
result = await (0, tools_1.getTasks)(args?.epic_key);
|
|
272
376
|
break;
|
|
273
377
|
case "update_task":
|
|
274
|
-
result = await (0, tools_1.updateTask)(args?.issue_key, args?.status, args?.comment);
|
|
378
|
+
result = await (0, tools_1.updateTask)(args?.issue_key, args?.status, args?.comment, args?.assignee, args?.priority, args?.labels);
|
|
275
379
|
break;
|
|
276
380
|
case "get_comments":
|
|
277
381
|
result = await (0, tools_1.getComments)(args?.issue_key);
|
|
278
382
|
break;
|
|
383
|
+
case "list_epics":
|
|
384
|
+
result = await (0, tools_1.listEpics)();
|
|
385
|
+
break;
|
|
386
|
+
case "update_epic":
|
|
387
|
+
result = await (0, tools_1.updateEpic)(args?.issue_key, args?.status, args?.title, args?.description, args?.comment);
|
|
388
|
+
break;
|
|
389
|
+
case "get_epic":
|
|
390
|
+
result = await (0, tools_1.getEpic)(args?.epic_key);
|
|
391
|
+
break;
|
|
392
|
+
case "delete_comment":
|
|
393
|
+
result = await (0, tools_1.deleteComment)(args?.issue_key, args?.comment_id);
|
|
394
|
+
break;
|
|
279
395
|
case "get_status":
|
|
280
396
|
result = await (0, tools_1.getStatus)();
|
|
281
397
|
break;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,wEAAmE;AACnE,wEAAiF;AACjF,iEAK4C;AAC5C,qCAA+D;AAC/D,qCAAyC;AACzC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.d.ts
CHANGED
|
@@ -20,8 +20,12 @@ export declare function createEpic(title: string, description: string): Promise<
|
|
|
20
20
|
export declare function createTask(title: string, description: string, epicKey?: string): Promise<string>;
|
|
21
21
|
export declare function createSubtask(title: string, description: string, parentKey: string): Promise<string>;
|
|
22
22
|
export declare function getTasks(epicKey?: string): Promise<string>;
|
|
23
|
-
export declare function updateTask(issueKey: string, status?: string, comment?: string): Promise<string>;
|
|
23
|
+
export declare function updateTask(issueKey: string, status?: string, comment?: string, assignee?: string, priority?: string, labels?: string[]): Promise<string>;
|
|
24
24
|
export declare function getComments(issueKey: string): Promise<string>;
|
|
25
25
|
export declare function getProjectSummary(): Promise<string>;
|
|
26
|
+
export declare function listEpics(): Promise<string>;
|
|
27
|
+
export declare function updateEpic(issueKey: string, status?: string, title?: string, description?: string, comment?: string): Promise<string>;
|
|
28
|
+
export declare function getEpic(epicKey: string): Promise<string>;
|
|
29
|
+
export declare function deleteComment(issueKey: string, commentId: string): Promise<string>;
|
|
26
30
|
export declare function getStatus(): Promise<string>;
|
|
27
31
|
//# sourceMappingURL=tools.d.ts.map
|
package/dist/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAmMA;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAgEhF;AAID,wBAAsB,UAAU,CAAC,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAyG5E;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAgBjE;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGpF;AAED,wBAAsB,UAAU,CAC9B,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAkBjB;AAED,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CAajB;AAED,wBAAsB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAmChE;AAED,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,MAAM,CAAC,CAyBjB;AAED,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAyBnE;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAiCzD;AAID,wBAAsB,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAuBjD;AAED,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAsBjB;AAED,wBAAsB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiD9D;AAED,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQxF;AAED,wBAAsB,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAmBjD"}
|
package/dist/tools.js
CHANGED
|
@@ -13,6 +13,10 @@ exports.getTasks = getTasks;
|
|
|
13
13
|
exports.updateTask = updateTask;
|
|
14
14
|
exports.getComments = getComments;
|
|
15
15
|
exports.getProjectSummary = getProjectSummary;
|
|
16
|
+
exports.listEpics = listEpics;
|
|
17
|
+
exports.updateEpic = updateEpic;
|
|
18
|
+
exports.getEpic = getEpic;
|
|
19
|
+
exports.deleteComment = deleteComment;
|
|
16
20
|
exports.getStatus = getStatus;
|
|
17
21
|
const sdk_1 = __importDefault(require("@anthropic-ai/sdk"));
|
|
18
22
|
const client_1 = require("./client");
|
|
@@ -91,8 +95,8 @@ async function resolveIssueKey(input) {
|
|
|
91
95
|
if (ISSUE_KEY_PATTERN.test(input.trim().toUpperCase())) {
|
|
92
96
|
return { resolved: true, key: input.trim().toUpperCase() };
|
|
93
97
|
}
|
|
94
|
-
// Fetch all
|
|
95
|
-
const res = await (0, client_1.callApi)("GET", "/api/v1/tasks");
|
|
98
|
+
// Fetch all tasks (including done/in-review) for matching
|
|
99
|
+
const res = await (0, client_1.callApi)("GET", "/api/v1/tasks?all=true");
|
|
96
100
|
if (res.total === 0) {
|
|
97
101
|
return {
|
|
98
102
|
resolved: false,
|
|
@@ -308,7 +312,7 @@ async function getTasks(epicKey) {
|
|
|
308
312
|
});
|
|
309
313
|
return lines.join("\n");
|
|
310
314
|
}
|
|
311
|
-
async function updateTask(issueKey, status, comment) {
|
|
315
|
+
async function updateTask(issueKey, status, comment, assignee, priority, labels) {
|
|
312
316
|
// Resolve ambiguous references
|
|
313
317
|
const resolved = await resolveIssueKey(issueKey);
|
|
314
318
|
if (!resolved.resolved) {
|
|
@@ -319,12 +323,24 @@ async function updateTask(issueKey, status, comment) {
|
|
|
319
323
|
body.status = status;
|
|
320
324
|
if (comment)
|
|
321
325
|
body.comment = comment;
|
|
326
|
+
if (assignee)
|
|
327
|
+
body.assignee = assignee;
|
|
328
|
+
if (priority)
|
|
329
|
+
body.priority = priority;
|
|
330
|
+
if (labels)
|
|
331
|
+
body.labels = labels;
|
|
322
332
|
const res = await (0, client_1.callApi)("PUT", `/api/v1/task/${resolved.key}`, body);
|
|
323
333
|
const parts = [];
|
|
324
334
|
if (status)
|
|
325
335
|
parts.push(`Moved **${resolved.key}** to \`${status}\`.`);
|
|
326
336
|
if (res.comment)
|
|
327
337
|
parts.push(`Comment added to **${resolved.key}**.`);
|
|
338
|
+
if (assignee)
|
|
339
|
+
parts.push(`Assigned **${resolved.key}** to ${assignee}.`);
|
|
340
|
+
if (priority)
|
|
341
|
+
parts.push(`Set priority to ${priority}.`);
|
|
342
|
+
if (labels)
|
|
343
|
+
parts.push(`Labels set: ${labels.join(", ")}.`);
|
|
328
344
|
if (parts.length === 0)
|
|
329
345
|
parts.push(`Updated **${resolved.key}**.`);
|
|
330
346
|
return parts.join(" ");
|
|
@@ -359,6 +375,17 @@ async function getProjectSummary() {
|
|
|
359
375
|
`## Project Summary — ${res.project} (${res.total} active)`,
|
|
360
376
|
``,
|
|
361
377
|
];
|
|
378
|
+
// Show epic progress if available
|
|
379
|
+
if (res.epics && res.epics.length > 0) {
|
|
380
|
+
lines.push(`### Epics`);
|
|
381
|
+
res.epics.forEach((epic) => {
|
|
382
|
+
const filled = epic.total > 0 ? Math.round((epic.done / epic.total) * 10) : 0;
|
|
383
|
+
const bar = "=".repeat(filled) + "-".repeat(10 - filled);
|
|
384
|
+
lines.push(`**${epic.key}** — ${epic.title} [${bar}] ${epic.done}/${epic.total}${epic.in_progress > 0 ? ` (${epic.in_progress} in progress)` : ""}`);
|
|
385
|
+
});
|
|
386
|
+
lines.push(``);
|
|
387
|
+
}
|
|
388
|
+
lines.push(`### Active Tasks`);
|
|
362
389
|
res.issues.forEach((issue) => {
|
|
363
390
|
const parts = [`**${issue.key}** — ${issue.title} (${issue.status})`];
|
|
364
391
|
if (issue.assignee)
|
|
@@ -370,6 +397,108 @@ async function getProjectSummary() {
|
|
|
370
397
|
});
|
|
371
398
|
return lines.join("\n");
|
|
372
399
|
}
|
|
400
|
+
// ─── Epic & comment management tools ─────────────────────────────────────────
|
|
401
|
+
async function listEpics() {
|
|
402
|
+
const res = await (0, client_1.callApi)("GET", "/api/v1/epics");
|
|
403
|
+
if (res.total === 0) {
|
|
404
|
+
return "No epics found in the project. Use `create_epic` or `create_plan` to get started.";
|
|
405
|
+
}
|
|
406
|
+
const lines = [
|
|
407
|
+
`## Epics (${res.total})`,
|
|
408
|
+
``,
|
|
409
|
+
];
|
|
410
|
+
res.epics.forEach((epic) => {
|
|
411
|
+
const filled = epic.child_count > 0 ? Math.round((epic.done_count / epic.child_count) * 10) : 0;
|
|
412
|
+
const bar = "=".repeat(filled) + "-".repeat(10 - filled);
|
|
413
|
+
lines.push(`**${epic.key}** — ${epic.title}`);
|
|
414
|
+
lines.push(` Status: ${epic.status}${epic.assignee ? ` | Assignee: ${epic.assignee}` : ""}`);
|
|
415
|
+
lines.push(` Progress: [${bar}] ${epic.done_count}/${epic.child_count} done${epic.in_progress_count > 0 ? `, ${epic.in_progress_count} in progress` : ""}`);
|
|
416
|
+
lines.push(` ${epic.url}`);
|
|
417
|
+
lines.push(``);
|
|
418
|
+
});
|
|
419
|
+
return lines.join("\n");
|
|
420
|
+
}
|
|
421
|
+
async function updateEpic(issueKey, status, title, description, comment) {
|
|
422
|
+
const resolved = await resolveIssueKey(issueKey);
|
|
423
|
+
if (!resolved.resolved) {
|
|
424
|
+
return resolved.prompt;
|
|
425
|
+
}
|
|
426
|
+
const body = {};
|
|
427
|
+
if (status)
|
|
428
|
+
body.status = status;
|
|
429
|
+
if (title)
|
|
430
|
+
body.title = title;
|
|
431
|
+
if (description)
|
|
432
|
+
body.description = description;
|
|
433
|
+
if (comment)
|
|
434
|
+
body.comment = comment;
|
|
435
|
+
const res = await (0, client_1.callApi)("PUT", `/api/v1/epic/${resolved.key}`, body);
|
|
436
|
+
const parts = [];
|
|
437
|
+
if (title)
|
|
438
|
+
parts.push(`Renamed **${resolved.key}** to "${title}".`);
|
|
439
|
+
if (status)
|
|
440
|
+
parts.push(`Moved **${resolved.key}** to \`${status}\`.`);
|
|
441
|
+
if (description)
|
|
442
|
+
parts.push(`Updated description for **${resolved.key}**.`);
|
|
443
|
+
if (res.comment)
|
|
444
|
+
parts.push(`Comment added to **${resolved.key}**.`);
|
|
445
|
+
if (parts.length === 0)
|
|
446
|
+
parts.push(`Updated **${resolved.key}**.`);
|
|
447
|
+
return parts.join(" ");
|
|
448
|
+
}
|
|
449
|
+
async function getEpic(epicKey) {
|
|
450
|
+
const resolved = await resolveIssueKey(epicKey);
|
|
451
|
+
if (!resolved.resolved) {
|
|
452
|
+
return resolved.prompt;
|
|
453
|
+
}
|
|
454
|
+
// Fetch child tasks and comments in parallel
|
|
455
|
+
const [tasksRes, commentsRes] = await Promise.all([
|
|
456
|
+
(0, client_1.callApi)("GET", `/api/v1/tasks/${resolved.key}`),
|
|
457
|
+
(0, client_1.callApi)("GET", `/api/v1/issues/${resolved.key}/comments`),
|
|
458
|
+
]);
|
|
459
|
+
const lines = [
|
|
460
|
+
`## ${resolved.key} — Epic Details`,
|
|
461
|
+
``,
|
|
462
|
+
];
|
|
463
|
+
// Tasks
|
|
464
|
+
if (tasksRes.total === 0) {
|
|
465
|
+
lines.push(`### Tasks: None`);
|
|
466
|
+
}
|
|
467
|
+
else {
|
|
468
|
+
const doneCount = tasksRes.tasks.filter((t) => ["done", "closed", "resolved"].some((d) => t.status.toLowerCase().includes(d))).length;
|
|
469
|
+
lines.push(`### Tasks (${tasksRes.total} total, ${doneCount} done)`);
|
|
470
|
+
lines.push(``);
|
|
471
|
+
tasksRes.tasks.forEach((task) => {
|
|
472
|
+
lines.push(`- **${task.key}** — ${task.title} (${task.status})${task.assignee ? ` [${task.assignee}]` : ""}`);
|
|
473
|
+
});
|
|
474
|
+
}
|
|
475
|
+
lines.push(``);
|
|
476
|
+
// Comments
|
|
477
|
+
if (commentsRes.total === 0) {
|
|
478
|
+
lines.push(`### Comments: None`);
|
|
479
|
+
}
|
|
480
|
+
else {
|
|
481
|
+
lines.push(`### Recent Comments (${commentsRes.total})`);
|
|
482
|
+
lines.push(``);
|
|
483
|
+
commentsRes.comments.slice(0, 5).forEach((c) => {
|
|
484
|
+
const date = new Date(c.created).toLocaleDateString();
|
|
485
|
+
lines.push(`**${c.author}** (${date}): ${c.body}`);
|
|
486
|
+
lines.push(``);
|
|
487
|
+
});
|
|
488
|
+
if (commentsRes.total > 5) {
|
|
489
|
+
lines.push(`_...and ${commentsRes.total - 5} more. Use get_comments for the full list._`);
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
return lines.join("\n");
|
|
493
|
+
}
|
|
494
|
+
async function deleteComment(issueKey, commentId) {
|
|
495
|
+
const resolved = await resolveIssueKey(issueKey);
|
|
496
|
+
if (!resolved.resolved) {
|
|
497
|
+
return resolved.prompt;
|
|
498
|
+
}
|
|
499
|
+
await (0, client_1.callApi)("DELETE", `/api/v1/issues/${resolved.key}/comments/${commentId}`);
|
|
500
|
+
return `Comment \`${commentId}\` deleted from **${resolved.key}**.`;
|
|
501
|
+
}
|
|
373
502
|
async function getStatus() {
|
|
374
503
|
const res = await (0, client_1.callApi)("GET", "/api/v1/status");
|
|
375
504
|
const lines = [
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|