devto-mcp 0.3.0 → 0.4.1
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/README.md +10 -9
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +38 -9
- package/dist/client.js.map +1 -1
- package/dist/index.js +105 -1
- package/dist/index.js.map +1 -1
- package/dist/tools.d.ts +4 -0
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +129 -5
- package/dist/tools.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -91,15 +91,16 @@ To fully remove DevTo: `npm uninstall -g devto-mcp`.
|
|
|
91
91
|
|
|
92
92
|
| Tool | Description |
|
|
93
93
|
|---|---|
|
|
94
|
-
| `get_project_summary` | Lightweight snapshot of active work |
|
|
95
|
-
| `create_plan` |
|
|
96
|
-
| `confirm_plan` | Execute a plan and create all work items |
|
|
97
|
-
| `create_epic` | Create
|
|
98
|
-
| `create_task` | Create a task or story |
|
|
99
|
-
| `create_subtask` | Create a subtask under a parent |
|
|
100
|
-
| `get_tasks` | List open tasks |
|
|
101
|
-
| `update_task` | Update a task's status |
|
|
102
|
-
| `
|
|
94
|
+
| `get_project_summary` | Lightweight snapshot of active work. Called at session start. |
|
|
95
|
+
| `create_plan` | AI-powered plan generation (epic + stories + subtasks). Returns a preview. |
|
|
96
|
+
| `confirm_plan` | Execute a previously previewed plan and create all work items in your tracker. |
|
|
97
|
+
| `create_epic` | Create a single epic in your project. |
|
|
98
|
+
| `create_task` | Create a task or story, optionally linked to an epic. |
|
|
99
|
+
| `create_subtask` | Create a subtask under a parent issue. |
|
|
100
|
+
| `get_tasks` | List open tasks. Optionally filter by epic. |
|
|
101
|
+
| `update_task` | Update a task's status and/or add a comment. Supports natural language references (e.g., "the auth task"). You can: change status only, add a comment only, or both at once. |
|
|
102
|
+
| `get_comments` | Read recent comments on a ticket. Returns the 20 most recent comments. |
|
|
103
|
+
| `get_status` | Aggregate project metrics and current sprint info. |
|
|
103
104
|
|
|
104
105
|
## Project registry
|
|
105
106
|
|
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,CAwEZ"}
|
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,39 @@ 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
|
+
const err = new DevToApiError(data.message ?? `Request failed: ${res.status}`, data.code, res.status);
|
|
49
|
+
// Only retry on transient server errors, not client errors
|
|
50
|
+
if (isRetryable(res.status) && attempt < MAX_RETRIES) {
|
|
51
|
+
lastError = err;
|
|
52
|
+
await new Promise((r) => setTimeout(r, RETRY_DELAY_MS * (attempt + 1)));
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
throw err;
|
|
56
|
+
}
|
|
57
|
+
return data;
|
|
58
|
+
}
|
|
59
|
+
catch (err) {
|
|
60
|
+
// Network errors (fetch itself failed) — retry
|
|
61
|
+
if (err instanceof DevToApiError)
|
|
62
|
+
throw err;
|
|
63
|
+
if (attempt < MAX_RETRIES) {
|
|
64
|
+
lastError = new DevToApiError(err instanceof Error ? err.message : "Network error", "NETWORK_ERROR");
|
|
65
|
+
await new Promise((r) => setTimeout(r, RETRY_DELAY_MS * (attempt + 1)));
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
throw new DevToApiError(err instanceof Error ? err.message : "Network error — check your connection", "NETWORK_ERROR");
|
|
69
|
+
}
|
|
41
70
|
}
|
|
42
|
-
|
|
71
|
+
throw lastError ?? new DevToApiError("Request failed after retries", "NETWORK_ERROR");
|
|
43
72
|
}
|
|
44
73
|
//# 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,8 +44,24 @@ 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
67
|
- When the developer asks to add a comment to a ticket, use update_task with the comment parameter. You do NOT need to change status — comment-only updates are supported.
|
|
@@ -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",
|
|
@@ -206,6 +226,78 @@ server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => ({
|
|
|
206
226
|
required: ["issue_key"],
|
|
207
227
|
},
|
|
208
228
|
},
|
|
229
|
+
{
|
|
230
|
+
name: "list_epics",
|
|
231
|
+
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.",
|
|
232
|
+
inputSchema: {
|
|
233
|
+
type: "object",
|
|
234
|
+
properties: {},
|
|
235
|
+
required: [],
|
|
236
|
+
},
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
name: "update_epic",
|
|
240
|
+
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.",
|
|
241
|
+
inputSchema: {
|
|
242
|
+
type: "object",
|
|
243
|
+
properties: {
|
|
244
|
+
issue_key: {
|
|
245
|
+
type: "string",
|
|
246
|
+
description: "Epic key (e.g. PROJ-1) or natural language description",
|
|
247
|
+
},
|
|
248
|
+
status: {
|
|
249
|
+
type: "string",
|
|
250
|
+
enum: ["todo", "in_progress", "in_review", "done"],
|
|
251
|
+
description: "New status for the epic",
|
|
252
|
+
},
|
|
253
|
+
title: {
|
|
254
|
+
type: "string",
|
|
255
|
+
description: "New title for the epic",
|
|
256
|
+
},
|
|
257
|
+
description: {
|
|
258
|
+
type: "string",
|
|
259
|
+
description: "New description for the epic",
|
|
260
|
+
},
|
|
261
|
+
comment: {
|
|
262
|
+
type: "string",
|
|
263
|
+
description: "Comment to add to the epic",
|
|
264
|
+
},
|
|
265
|
+
},
|
|
266
|
+
required: ["issue_key"],
|
|
267
|
+
},
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
name: "get_epic",
|
|
271
|
+
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.",
|
|
272
|
+
inputSchema: {
|
|
273
|
+
type: "object",
|
|
274
|
+
properties: {
|
|
275
|
+
epic_key: {
|
|
276
|
+
type: "string",
|
|
277
|
+
description: "Epic key (e.g. PROJ-1) or natural language description",
|
|
278
|
+
},
|
|
279
|
+
},
|
|
280
|
+
required: ["epic_key"],
|
|
281
|
+
},
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
name: "delete_comment",
|
|
285
|
+
description: "Delete a comment from a ticket. Use get_comments first to find the comment ID you want to remove.",
|
|
286
|
+
inputSchema: {
|
|
287
|
+
type: "object",
|
|
288
|
+
properties: {
|
|
289
|
+
issue_key: {
|
|
290
|
+
type: "string",
|
|
291
|
+
description: "Issue key (e.g. PROJ-5) or natural language description",
|
|
292
|
+
},
|
|
293
|
+
comment_id: {
|
|
294
|
+
type: "string",
|
|
295
|
+
description: "The comment ID to delete (from get_comments output)",
|
|
296
|
+
},
|
|
297
|
+
},
|
|
298
|
+
required: ["issue_key", "comment_id"],
|
|
299
|
+
},
|
|
300
|
+
},
|
|
209
301
|
{
|
|
210
302
|
name: "get_status",
|
|
211
303
|
description: "Get a summary of your project: task counts and current sprint",
|
|
@@ -276,6 +368,18 @@ server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
|
|
|
276
368
|
case "get_comments":
|
|
277
369
|
result = await (0, tools_1.getComments)(args?.issue_key);
|
|
278
370
|
break;
|
|
371
|
+
case "list_epics":
|
|
372
|
+
result = await (0, tools_1.listEpics)();
|
|
373
|
+
break;
|
|
374
|
+
case "update_epic":
|
|
375
|
+
result = await (0, tools_1.updateEpic)(args?.issue_key, args?.status, args?.title, args?.description, args?.comment);
|
|
376
|
+
break;
|
|
377
|
+
case "get_epic":
|
|
378
|
+
result = await (0, tools_1.getEpic)(args?.epic_key);
|
|
379
|
+
break;
|
|
380
|
+
case "delete_comment":
|
|
381
|
+
result = await (0, tools_1.deleteComment)(args?.issue_key, args?.comment_id);
|
|
382
|
+
break;
|
|
279
383
|
case "get_status":
|
|
280
384
|
result = await (0, tools_1.getStatus)();
|
|
281
385
|
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
|
@@ -23,5 +23,9 @@ export declare function getTasks(epicKey?: string): Promise<string>;
|
|
|
23
23
|
export declare function updateTask(issueKey: string, status?: string, comment?: 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,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAmBrG;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");
|
|
@@ -182,6 +186,10 @@ async function createPlan(featureDescription) {
|
|
|
182
186
|
plan = JSON.parse(textBlock.text);
|
|
183
187
|
}
|
|
184
188
|
catch (err) {
|
|
189
|
+
// Handle JSON parse errors from Anthropic response
|
|
190
|
+
if (err instanceof SyntaxError) {
|
|
191
|
+
return "The AI returned an invalid response. Please try again — this is usually a one-time issue.";
|
|
192
|
+
}
|
|
185
193
|
// Handle Anthropic 429 rate limit errors
|
|
186
194
|
if (err &&
|
|
187
195
|
typeof err === "object" &&
|
|
@@ -197,7 +205,8 @@ async function createPlan(featureDescription) {
|
|
|
197
205
|
}
|
|
198
206
|
// 4. Save the structured plan to the backend
|
|
199
207
|
const res = await (0, client_1.callApi)("POST", "/api/v1/plan", {
|
|
200
|
-
|
|
208
|
+
feature_description: featureDescription,
|
|
209
|
+
structured_plan: plan,
|
|
201
210
|
});
|
|
202
211
|
const { plan_id } = res;
|
|
203
212
|
// 5. Return formatted plan preview
|
|
@@ -225,14 +234,16 @@ async function createPlan(featureDescription) {
|
|
|
225
234
|
return lines.join("\n");
|
|
226
235
|
}
|
|
227
236
|
async function confirmPlan(planId) {
|
|
228
|
-
const res = await (0, client_1.callApi)("POST", `/api/v1/confirm/${planId}`);
|
|
237
|
+
const res = await (0, client_1.callApi)("POST", `/api/v1/plan/confirm/${planId}`);
|
|
238
|
+
const epic = res.issues.find((i) => i.type === "epic");
|
|
239
|
+
const tickets = res.issues.filter((i) => i.type !== "epic");
|
|
229
240
|
const lines = [
|
|
230
241
|
`## Done. Tracked.`,
|
|
231
242
|
``,
|
|
232
|
-
`**Epic:** ${
|
|
243
|
+
`**Epic:** ${epic ? `${epic.key} — ${epic.title}` : "N/A"}`,
|
|
233
244
|
``,
|
|
234
|
-
`**All tickets (${
|
|
235
|
-
...
|
|
245
|
+
`**All tickets (${tickets.length}):**`,
|
|
246
|
+
...tickets.map((t) => `- **${t.key}** ${t.title} — ${t.url}`),
|
|
236
247
|
];
|
|
237
248
|
return lines.join("\n");
|
|
238
249
|
}
|
|
@@ -352,6 +363,17 @@ async function getProjectSummary() {
|
|
|
352
363
|
`## Project Summary — ${res.project} (${res.total} active)`,
|
|
353
364
|
``,
|
|
354
365
|
];
|
|
366
|
+
// Show epic progress if available
|
|
367
|
+
if (res.epics && res.epics.length > 0) {
|
|
368
|
+
lines.push(`### Epics`);
|
|
369
|
+
res.epics.forEach((epic) => {
|
|
370
|
+
const filled = epic.total > 0 ? Math.round((epic.done / epic.total) * 10) : 0;
|
|
371
|
+
const bar = "=".repeat(filled) + "-".repeat(10 - filled);
|
|
372
|
+
lines.push(`**${epic.key}** — ${epic.title} [${bar}] ${epic.done}/${epic.total}${epic.in_progress > 0 ? ` (${epic.in_progress} in progress)` : ""}`);
|
|
373
|
+
});
|
|
374
|
+
lines.push(``);
|
|
375
|
+
}
|
|
376
|
+
lines.push(`### Active Tasks`);
|
|
355
377
|
res.issues.forEach((issue) => {
|
|
356
378
|
const parts = [`**${issue.key}** — ${issue.title} (${issue.status})`];
|
|
357
379
|
if (issue.assignee)
|
|
@@ -363,6 +385,108 @@ async function getProjectSummary() {
|
|
|
363
385
|
});
|
|
364
386
|
return lines.join("\n");
|
|
365
387
|
}
|
|
388
|
+
// ─── Epic & comment management tools ─────────────────────────────────────────
|
|
389
|
+
async function listEpics() {
|
|
390
|
+
const res = await (0, client_1.callApi)("GET", "/api/v1/epics");
|
|
391
|
+
if (res.total === 0) {
|
|
392
|
+
return "No epics found in the project. Use `create_epic` or `create_plan` to get started.";
|
|
393
|
+
}
|
|
394
|
+
const lines = [
|
|
395
|
+
`## Epics (${res.total})`,
|
|
396
|
+
``,
|
|
397
|
+
];
|
|
398
|
+
res.epics.forEach((epic) => {
|
|
399
|
+
const filled = epic.child_count > 0 ? Math.round((epic.done_count / epic.child_count) * 10) : 0;
|
|
400
|
+
const bar = "=".repeat(filled) + "-".repeat(10 - filled);
|
|
401
|
+
lines.push(`**${epic.key}** — ${epic.title}`);
|
|
402
|
+
lines.push(` Status: ${epic.status}${epic.assignee ? ` | Assignee: ${epic.assignee}` : ""}`);
|
|
403
|
+
lines.push(` Progress: [${bar}] ${epic.done_count}/${epic.child_count} done${epic.in_progress_count > 0 ? `, ${epic.in_progress_count} in progress` : ""}`);
|
|
404
|
+
lines.push(` ${epic.url}`);
|
|
405
|
+
lines.push(``);
|
|
406
|
+
});
|
|
407
|
+
return lines.join("\n");
|
|
408
|
+
}
|
|
409
|
+
async function updateEpic(issueKey, status, title, description, comment) {
|
|
410
|
+
const resolved = await resolveIssueKey(issueKey);
|
|
411
|
+
if (!resolved.resolved) {
|
|
412
|
+
return resolved.prompt;
|
|
413
|
+
}
|
|
414
|
+
const body = {};
|
|
415
|
+
if (status)
|
|
416
|
+
body.status = status;
|
|
417
|
+
if (title)
|
|
418
|
+
body.title = title;
|
|
419
|
+
if (description)
|
|
420
|
+
body.description = description;
|
|
421
|
+
if (comment)
|
|
422
|
+
body.comment = comment;
|
|
423
|
+
const res = await (0, client_1.callApi)("PUT", `/api/v1/epic/${resolved.key}`, body);
|
|
424
|
+
const parts = [];
|
|
425
|
+
if (title)
|
|
426
|
+
parts.push(`Renamed **${resolved.key}** to "${title}".`);
|
|
427
|
+
if (status)
|
|
428
|
+
parts.push(`Moved **${resolved.key}** to \`${status}\`.`);
|
|
429
|
+
if (description)
|
|
430
|
+
parts.push(`Updated description for **${resolved.key}**.`);
|
|
431
|
+
if (res.comment)
|
|
432
|
+
parts.push(`Comment added to **${resolved.key}**.`);
|
|
433
|
+
if (parts.length === 0)
|
|
434
|
+
parts.push(`Updated **${resolved.key}**.`);
|
|
435
|
+
return parts.join(" ");
|
|
436
|
+
}
|
|
437
|
+
async function getEpic(epicKey) {
|
|
438
|
+
const resolved = await resolveIssueKey(epicKey);
|
|
439
|
+
if (!resolved.resolved) {
|
|
440
|
+
return resolved.prompt;
|
|
441
|
+
}
|
|
442
|
+
// Fetch child tasks and comments in parallel
|
|
443
|
+
const [tasksRes, commentsRes] = await Promise.all([
|
|
444
|
+
(0, client_1.callApi)("GET", `/api/v1/tasks/${resolved.key}`),
|
|
445
|
+
(0, client_1.callApi)("GET", `/api/v1/issues/${resolved.key}/comments`),
|
|
446
|
+
]);
|
|
447
|
+
const lines = [
|
|
448
|
+
`## ${resolved.key} — Epic Details`,
|
|
449
|
+
``,
|
|
450
|
+
];
|
|
451
|
+
// Tasks
|
|
452
|
+
if (tasksRes.total === 0) {
|
|
453
|
+
lines.push(`### Tasks: None`);
|
|
454
|
+
}
|
|
455
|
+
else {
|
|
456
|
+
const doneCount = tasksRes.tasks.filter((t) => ["done", "closed", "resolved"].some((d) => t.status.toLowerCase().includes(d))).length;
|
|
457
|
+
lines.push(`### Tasks (${tasksRes.total} total, ${doneCount} done)`);
|
|
458
|
+
lines.push(``);
|
|
459
|
+
tasksRes.tasks.forEach((task) => {
|
|
460
|
+
lines.push(`- **${task.key}** — ${task.title} (${task.status})${task.assignee ? ` [${task.assignee}]` : ""}`);
|
|
461
|
+
});
|
|
462
|
+
}
|
|
463
|
+
lines.push(``);
|
|
464
|
+
// Comments
|
|
465
|
+
if (commentsRes.total === 0) {
|
|
466
|
+
lines.push(`### Comments: None`);
|
|
467
|
+
}
|
|
468
|
+
else {
|
|
469
|
+
lines.push(`### Recent Comments (${commentsRes.total})`);
|
|
470
|
+
lines.push(``);
|
|
471
|
+
commentsRes.comments.slice(0, 5).forEach((c) => {
|
|
472
|
+
const date = new Date(c.created).toLocaleDateString();
|
|
473
|
+
lines.push(`**${c.author}** (${date}): ${c.body}`);
|
|
474
|
+
lines.push(``);
|
|
475
|
+
});
|
|
476
|
+
if (commentsRes.total > 5) {
|
|
477
|
+
lines.push(`_...and ${commentsRes.total - 5} more. Use get_comments for the full list._`);
|
|
478
|
+
}
|
|
479
|
+
}
|
|
480
|
+
return lines.join("\n");
|
|
481
|
+
}
|
|
482
|
+
async function deleteComment(issueKey, commentId) {
|
|
483
|
+
const resolved = await resolveIssueKey(issueKey);
|
|
484
|
+
if (!resolved.resolved) {
|
|
485
|
+
return resolved.prompt;
|
|
486
|
+
}
|
|
487
|
+
await (0, client_1.callApi)("DELETE", `/api/v1/issues/${resolved.key}/comments/${commentId}`);
|
|
488
|
+
return `Comment \`${commentId}\` deleted from **${resolved.key}**.`;
|
|
489
|
+
}
|
|
366
490
|
async function getStatus() {
|
|
367
491
|
const res = await (0, client_1.callApi)("GET", "/api/v1/status");
|
|
368
492
|
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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"}
|