@atercates/bitbucket-mcp 1.0.0

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.
Files changed (77) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +347 -0
  3. package/dist/client.d.ts +16 -0
  4. package/dist/client.js +35 -0
  5. package/dist/client.js.map +1 -0
  6. package/dist/config.d.ts +11 -0
  7. package/dist/config.js +54 -0
  8. package/dist/config.js.map +1 -0
  9. package/dist/handlers/branching-model.d.ts +2 -0
  10. package/dist/handlers/branching-model.js +324 -0
  11. package/dist/handlers/branching-model.js.map +1 -0
  12. package/dist/handlers/commits.d.ts +2 -0
  13. package/dist/handlers/commits.js +78 -0
  14. package/dist/handlers/commits.js.map +1 -0
  15. package/dist/handlers/index.d.ts +17 -0
  16. package/dist/handlers/index.js +29 -0
  17. package/dist/handlers/index.js.map +1 -0
  18. package/dist/handlers/pipelines.d.ts +2 -0
  19. package/dist/handlers/pipelines.js +538 -0
  20. package/dist/handlers/pipelines.js.map +1 -0
  21. package/dist/handlers/pr-comments.d.ts +2 -0
  22. package/dist/handlers/pr-comments.js +509 -0
  23. package/dist/handlers/pr-comments.js.map +1 -0
  24. package/dist/handlers/pr-content.d.ts +2 -0
  25. package/dist/handlers/pr-content.js +332 -0
  26. package/dist/handlers/pr-content.js.map +1 -0
  27. package/dist/handlers/pr-tasks.d.ts +2 -0
  28. package/dist/handlers/pr-tasks.js +275 -0
  29. package/dist/handlers/pr-tasks.js.map +1 -0
  30. package/dist/handlers/pull-requests.d.ts +2 -0
  31. package/dist/handlers/pull-requests.js +902 -0
  32. package/dist/handlers/pull-requests.js.map +1 -0
  33. package/dist/handlers/refs.d.ts +2 -0
  34. package/dist/handlers/refs.js +225 -0
  35. package/dist/handlers/refs.js.map +1 -0
  36. package/dist/handlers/repositories.d.ts +2 -0
  37. package/dist/handlers/repositories.js +131 -0
  38. package/dist/handlers/repositories.js.map +1 -0
  39. package/dist/handlers/source.d.ts +2 -0
  40. package/dist/handlers/source.js +35 -0
  41. package/dist/handlers/source.js.map +1 -0
  42. package/dist/handlers/types.d.ts +42 -0
  43. package/dist/handlers/types.js +2 -0
  44. package/dist/handlers/types.js.map +1 -0
  45. package/dist/handlers/users.d.ts +2 -0
  46. package/dist/handlers/users.js +38 -0
  47. package/dist/handlers/users.js.map +1 -0
  48. package/dist/index.d.ts +2 -0
  49. package/dist/index.js +4 -0
  50. package/dist/index.js.map +1 -0
  51. package/dist/logger.d.ts +3 -0
  52. package/dist/logger.js +60 -0
  53. package/dist/logger.js.map +1 -0
  54. package/dist/pagination.d.ts +32 -0
  55. package/dist/pagination.js +116 -0
  56. package/dist/pagination.js.map +1 -0
  57. package/dist/schemas.d.ts +21 -0
  58. package/dist/schemas.js +23 -0
  59. package/dist/schemas.js.map +1 -0
  60. package/dist/server.d.ts +33 -0
  61. package/dist/server.js +124 -0
  62. package/dist/server.js.map +1 -0
  63. package/dist/types.d.ts +296 -0
  64. package/dist/types.js +3 -0
  65. package/dist/types.js.map +1 -0
  66. package/dist/utils.d.ts +18 -0
  67. package/dist/utils.js +17 -0
  68. package/dist/utils.js.map +1 -0
  69. package/docs/README.md +216 -0
  70. package/docs/TOOLS.md +464 -0
  71. package/docs/architecture/ARCHITECTURE.md +302 -0
  72. package/docs/guides/ENVIRONMENT_VARIABLES.md +306 -0
  73. package/docs/guides/GETTING_STARTED.md +267 -0
  74. package/docs/guides/GITHUB_ACTIONS_SETUP.md +148 -0
  75. package/docs/guides/NPM_DEPLOYMENT.md +266 -0
  76. package/docs/guides/PROJECT_STRUCTURE.md +317 -0
  77. package/package.json +84 -0
@@ -0,0 +1,332 @@
1
+ import { PAGINATION_BASE_SCHEMA, PAGINATION_ALL_SCHEMA } from "../schemas.js";
2
+ import { jsonResponse, textResponse } from "../utils.js";
3
+ import { logger } from "../logger.js";
4
+ import { ErrorCode, McpError } from "@modelcontextprotocol/sdk/types.js";
5
+ export const prContentModule = {
6
+ tools: [
7
+ {
8
+ name: "getPullRequestDiff",
9
+ description: "Get diff for a pull request",
10
+ inputSchema: {
11
+ type: "object",
12
+ properties: {
13
+ workspace: {
14
+ type: "string",
15
+ description: "Bitbucket workspace name",
16
+ },
17
+ repo_slug: { type: "string", description: "Repository slug" },
18
+ pull_request_id: {
19
+ type: "string",
20
+ description: "Pull request ID",
21
+ },
22
+ },
23
+ required: ["workspace", "repo_slug", "pull_request_id"],
24
+ },
25
+ },
26
+ {
27
+ name: "getPullRequestDiffStat",
28
+ description: "Get diff statistics for a pull request",
29
+ inputSchema: {
30
+ type: "object",
31
+ properties: {
32
+ workspace: {
33
+ type: "string",
34
+ description: "Bitbucket workspace name",
35
+ },
36
+ repo_slug: { type: "string", description: "Repository slug" },
37
+ pull_request_id: {
38
+ type: "string",
39
+ description: "Pull request ID",
40
+ },
41
+ ...PAGINATION_BASE_SCHEMA,
42
+ all: PAGINATION_ALL_SCHEMA,
43
+ },
44
+ required: ["workspace", "repo_slug", "pull_request_id"],
45
+ },
46
+ },
47
+ {
48
+ name: "getPullRequestPatch",
49
+ description: "Get patch for a pull request",
50
+ inputSchema: {
51
+ type: "object",
52
+ properties: {
53
+ workspace: {
54
+ type: "string",
55
+ description: "Bitbucket workspace name",
56
+ },
57
+ repo_slug: { type: "string", description: "Repository slug" },
58
+ pull_request_id: {
59
+ type: "string",
60
+ description: "Pull request ID",
61
+ },
62
+ },
63
+ required: ["workspace", "repo_slug", "pull_request_id"],
64
+ },
65
+ },
66
+ {
67
+ name: "getPullRequestCommits",
68
+ description: "Get commits on a pull request",
69
+ inputSchema: {
70
+ type: "object",
71
+ properties: {
72
+ workspace: {
73
+ type: "string",
74
+ description: "Bitbucket workspace name",
75
+ },
76
+ repo_slug: { type: "string", description: "Repository slug" },
77
+ pull_request_id: {
78
+ type: "string",
79
+ description: "Pull request ID",
80
+ },
81
+ ...PAGINATION_BASE_SCHEMA,
82
+ all: PAGINATION_ALL_SCHEMA,
83
+ },
84
+ required: ["workspace", "repo_slug", "pull_request_id"],
85
+ },
86
+ },
87
+ {
88
+ name: "getPullRequestActivity",
89
+ description: "Get activity log for a pull request",
90
+ inputSchema: {
91
+ type: "object",
92
+ properties: {
93
+ workspace: {
94
+ type: "string",
95
+ description: "Bitbucket workspace name",
96
+ },
97
+ repo_slug: { type: "string", description: "Repository slug" },
98
+ pull_request_id: {
99
+ type: "string",
100
+ description: "Pull request ID",
101
+ },
102
+ ...PAGINATION_BASE_SCHEMA,
103
+ all: PAGINATION_ALL_SCHEMA,
104
+ },
105
+ required: ["workspace", "repo_slug", "pull_request_id"],
106
+ },
107
+ },
108
+ {
109
+ name: "getPullRequestStatuses",
110
+ description: "List commit statuses associated with a pull request",
111
+ inputSchema: {
112
+ type: "object",
113
+ properties: {
114
+ workspace: {
115
+ type: "string",
116
+ description: "Bitbucket workspace name",
117
+ },
118
+ repo_slug: { type: "string", description: "Repository slug" },
119
+ pull_request_id: {
120
+ type: "string",
121
+ description: "Pull request ID",
122
+ },
123
+ ...PAGINATION_BASE_SCHEMA,
124
+ all: PAGINATION_ALL_SCHEMA,
125
+ },
126
+ required: ["workspace", "repo_slug", "pull_request_id"],
127
+ },
128
+ },
129
+ ],
130
+ createHandlers: (client) => ({
131
+ getPullRequestDiff: async (args) => {
132
+ const workspace = args.workspace;
133
+ const repo_slug = args.repo_slug;
134
+ const pull_request_id = args.pull_request_id;
135
+ try {
136
+ logger.info("Getting Bitbucket pull request diff", {
137
+ workspace,
138
+ repo_slug,
139
+ pull_request_id,
140
+ });
141
+ const response = await client.api.get(`/repositories/${workspace}/${repo_slug}/pullrequests/${pull_request_id}/diff`, {
142
+ headers: { Accept: "text/plain" },
143
+ responseType: "text",
144
+ maxRedirects: 5,
145
+ });
146
+ return textResponse(response.data);
147
+ }
148
+ catch (error) {
149
+ logger.error("Error getting pull request diff", {
150
+ error,
151
+ workspace,
152
+ repo_slug,
153
+ pull_request_id,
154
+ });
155
+ throw new McpError(ErrorCode.InternalError, `Failed to get pull request diff: ${error instanceof Error ? error.message : String(error)}`);
156
+ }
157
+ },
158
+ getPullRequestDiffStat: async (args) => {
159
+ const workspace = args.workspace;
160
+ const repo_slug = args.repo_slug;
161
+ const pull_request_id = args.pull_request_id;
162
+ const pagelen = args.pagelen;
163
+ const page = args.page;
164
+ const all = args.all;
165
+ try {
166
+ logger.info("Getting pull request diffstat", {
167
+ workspace,
168
+ repo_slug,
169
+ pull_request_id,
170
+ pagelen,
171
+ page,
172
+ all,
173
+ });
174
+ const result = await client.paginator.fetchValues(`/repositories/${workspace}/${repo_slug}/pullrequests/${pull_request_id}/diffstat`, {
175
+ pagelen,
176
+ page,
177
+ all,
178
+ description: "getPullRequestDiffStat",
179
+ });
180
+ return jsonResponse(result.values);
181
+ }
182
+ catch (error) {
183
+ logger.error("Error getting pull request diffstat", {
184
+ error,
185
+ workspace,
186
+ repo_slug,
187
+ pull_request_id,
188
+ });
189
+ throw new McpError(ErrorCode.InternalError, `Failed to get pull request diffstat: ${error instanceof Error ? error.message : String(error)}`);
190
+ }
191
+ },
192
+ getPullRequestPatch: async (args) => {
193
+ const workspace = args.workspace;
194
+ const repo_slug = args.repo_slug;
195
+ const pull_request_id = args.pull_request_id;
196
+ try {
197
+ logger.info("Getting pull request patch", {
198
+ workspace,
199
+ repo_slug,
200
+ pull_request_id,
201
+ });
202
+ const response = await client.api.get(`/repositories/${workspace}/${repo_slug}/pullrequests/${pull_request_id}/patch`, {
203
+ headers: { Accept: "text/plain" },
204
+ responseType: "text",
205
+ maxRedirects: 5,
206
+ });
207
+ return textResponse(response.data);
208
+ }
209
+ catch (error) {
210
+ logger.error("Error getting pull request patch", {
211
+ error,
212
+ workspace,
213
+ repo_slug,
214
+ pull_request_id,
215
+ });
216
+ throw new McpError(ErrorCode.InternalError, `Failed to get pull request patch: ${error instanceof Error ? error.message : String(error)}`);
217
+ }
218
+ },
219
+ getPullRequestCommits: async (args) => {
220
+ const workspace = args.workspace;
221
+ const repo_slug = args.repo_slug;
222
+ const pull_request_id = args.pull_request_id;
223
+ const pagelen = args.pagelen;
224
+ const page = args.page;
225
+ const all = args.all;
226
+ try {
227
+ logger.info("Getting Bitbucket pull request commits", {
228
+ workspace,
229
+ repo_slug,
230
+ pull_request_id,
231
+ pagelen,
232
+ page,
233
+ all,
234
+ });
235
+ const result = await client.paginator.fetchValues(`/repositories/${workspace}/${repo_slug}/pullrequests/${pull_request_id}/commits`, {
236
+ pagelen,
237
+ page,
238
+ all,
239
+ description: "getPullRequestCommits",
240
+ });
241
+ return jsonResponse(result.values);
242
+ }
243
+ catch (error) {
244
+ logger.error("Error getting pull request commits", {
245
+ error,
246
+ workspace,
247
+ repo_slug,
248
+ pull_request_id,
249
+ });
250
+ throw new McpError(ErrorCode.InternalError, `Failed to get pull request commits: ${error instanceof Error ? error.message : String(error)}`);
251
+ }
252
+ },
253
+ getPullRequestActivity: async (args) => {
254
+ const workspace = args.workspace;
255
+ const repo_slug = args.repo_slug;
256
+ const pull_request_id = args.pull_request_id;
257
+ const pagelen = args.pagelen;
258
+ const page = args.page;
259
+ const all = args.all;
260
+ try {
261
+ logger.info("Getting Bitbucket pull request activity", {
262
+ workspace,
263
+ repo_slug,
264
+ pull_request_id,
265
+ pagelen,
266
+ page,
267
+ all,
268
+ });
269
+ const result = await client.paginator.fetchValues(`/repositories/${workspace}/${repo_slug}/pullrequests/${pull_request_id}/activity`, {
270
+ pagelen,
271
+ page,
272
+ all,
273
+ description: "getPullRequestActivity",
274
+ });
275
+ return jsonResponse(result.values);
276
+ }
277
+ catch (error) {
278
+ logger.error("Error getting pull request activity", {
279
+ error,
280
+ workspace,
281
+ repo_slug,
282
+ pull_request_id,
283
+ });
284
+ throw new McpError(ErrorCode.InternalError, `Failed to get pull request activity: ${error instanceof Error ? error.message : String(error)}`);
285
+ }
286
+ },
287
+ getPullRequestStatuses: async (args) => {
288
+ const workspace = args.workspace;
289
+ const repo_slug = args.repo_slug;
290
+ const pull_request_id = args.pull_request_id;
291
+ const pagelen = args.pagelen;
292
+ const page = args.page;
293
+ const all = args.all;
294
+ try {
295
+ logger.info("Getting pull request statuses", {
296
+ workspace,
297
+ repo_slug,
298
+ pull_request_id,
299
+ pagelen,
300
+ page,
301
+ all,
302
+ });
303
+ const result = await client.paginator.fetchValues(`/repositories/${workspace}/${repo_slug}/pullrequests/${pull_request_id}/statuses`, {
304
+ pagelen,
305
+ page,
306
+ all,
307
+ description: "getPullRequestStatuses",
308
+ });
309
+ const payload = {
310
+ values: result.values,
311
+ page: result.page,
312
+ pagelen: result.pagelen,
313
+ next: result.next,
314
+ previous: result.previous,
315
+ fetchedPages: result.fetchedPages,
316
+ totalFetched: result.totalFetched,
317
+ };
318
+ return jsonResponse(payload);
319
+ }
320
+ catch (error) {
321
+ logger.error("Error getting pull request statuses", {
322
+ error,
323
+ workspace,
324
+ repo_slug,
325
+ pull_request_id,
326
+ });
327
+ throw new McpError(ErrorCode.InternalError, `Failed to get pull request statuses: ${error instanceof Error ? error.message : String(error)}`);
328
+ }
329
+ },
330
+ }),
331
+ };
332
+ //# sourceMappingURL=pr-content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pr-content.js","sourceRoot":"","sources":["../../src/handlers/pr-content.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { HandlerModule } from "./types.js";
2
+ export declare const prTasksModule: HandlerModule;
@@ -0,0 +1,275 @@
1
+ import { jsonResponse, textResponse } from "../utils.js";
2
+ import { logger } from "../logger.js";
3
+ import { ErrorCode, McpError } from "@modelcontextprotocol/sdk/types.js";
4
+ export const prTasksModule = {
5
+ tools: [
6
+ {
7
+ name: "getPullRequestTasks",
8
+ description: "List tasks on a pull request",
9
+ inputSchema: {
10
+ type: "object",
11
+ properties: {
12
+ workspace: {
13
+ type: "string",
14
+ description: "Bitbucket workspace name",
15
+ },
16
+ repo_slug: { type: "string", description: "Repository slug" },
17
+ pull_request_id: {
18
+ type: "string",
19
+ description: "Pull request ID",
20
+ },
21
+ },
22
+ required: ["workspace", "repo_slug", "pull_request_id"],
23
+ },
24
+ },
25
+ {
26
+ name: "createPullRequestTask",
27
+ description: "Create a task on a pull request",
28
+ inputSchema: {
29
+ type: "object",
30
+ properties: {
31
+ workspace: {
32
+ type: "string",
33
+ description: "Bitbucket workspace name",
34
+ },
35
+ repo_slug: { type: "string", description: "Repository slug" },
36
+ pull_request_id: {
37
+ type: "string",
38
+ description: "Pull request ID",
39
+ },
40
+ content: { type: "string", description: "Task content" },
41
+ comment: {
42
+ type: "number",
43
+ description: "Optional comment ID to attach the task",
44
+ },
45
+ state: {
46
+ type: "string",
47
+ enum: ["UNRESOLVED", "RESOLVED"],
48
+ description: "Initial task state",
49
+ },
50
+ },
51
+ required: ["workspace", "repo_slug", "pull_request_id", "content"],
52
+ },
53
+ },
54
+ {
55
+ name: "getPullRequestTask",
56
+ description: "Get a specific task on a pull request",
57
+ inputSchema: {
58
+ type: "object",
59
+ properties: {
60
+ workspace: {
61
+ type: "string",
62
+ description: "Bitbucket workspace name",
63
+ },
64
+ repo_slug: { type: "string", description: "Repository slug" },
65
+ pull_request_id: {
66
+ type: "string",
67
+ description: "Pull request ID",
68
+ },
69
+ task_id: { type: "string", description: "Task ID" },
70
+ },
71
+ required: ["workspace", "repo_slug", "pull_request_id", "task_id"],
72
+ },
73
+ },
74
+ {
75
+ name: "updatePullRequestTask",
76
+ description: "Update a task on a pull request",
77
+ inputSchema: {
78
+ type: "object",
79
+ properties: {
80
+ workspace: {
81
+ type: "string",
82
+ description: "Bitbucket workspace name",
83
+ },
84
+ repo_slug: { type: "string", description: "Repository slug" },
85
+ pull_request_id: {
86
+ type: "string",
87
+ description: "Pull request ID",
88
+ },
89
+ task_id: { type: "string", description: "Task ID" },
90
+ content: { type: "string", description: "Updated task content" },
91
+ state: {
92
+ type: "string",
93
+ enum: ["UNRESOLVED", "RESOLVED"],
94
+ description: "Updated task state",
95
+ },
96
+ },
97
+ required: ["workspace", "repo_slug", "pull_request_id", "task_id"],
98
+ },
99
+ },
100
+ {
101
+ name: "deletePullRequestTask",
102
+ description: "Delete a task from a pull request",
103
+ inputSchema: {
104
+ type: "object",
105
+ properties: {
106
+ workspace: {
107
+ type: "string",
108
+ description: "Bitbucket workspace name",
109
+ },
110
+ repo_slug: { type: "string", description: "Repository slug" },
111
+ pull_request_id: {
112
+ type: "string",
113
+ description: "Pull request ID",
114
+ },
115
+ task_id: { type: "string", description: "Task ID" },
116
+ },
117
+ required: ["workspace", "repo_slug", "pull_request_id", "task_id"],
118
+ },
119
+ },
120
+ ],
121
+ dangerousTools: ["deletePullRequestTask"],
122
+ createHandlers: (client) => ({
123
+ getPullRequestTasks: async (args) => {
124
+ const workspace = args.workspace;
125
+ const repo_slug = args.repo_slug;
126
+ const pull_request_id = args.pull_request_id;
127
+ const pagelen = args.pagelen;
128
+ const page = args.page;
129
+ const all = args.all;
130
+ try {
131
+ logger.info("Getting pull request tasks", {
132
+ workspace,
133
+ repo_slug,
134
+ pull_request_id,
135
+ pagelen,
136
+ page,
137
+ all,
138
+ });
139
+ const result = await client.paginator.fetchValues(`/repositories/${workspace}/${repo_slug}/pullrequests/${pull_request_id}/tasks`, {
140
+ pagelen,
141
+ page,
142
+ all,
143
+ description: "getPullRequestTasks",
144
+ });
145
+ return jsonResponse(result.values);
146
+ }
147
+ catch (error) {
148
+ logger.error("Error getting pull request tasks", {
149
+ error,
150
+ workspace,
151
+ repo_slug,
152
+ pull_request_id,
153
+ });
154
+ throw new McpError(ErrorCode.InternalError, `Failed to get pull request tasks: ${error instanceof Error ? error.message : String(error)}`);
155
+ }
156
+ },
157
+ createPullRequestTask: async (args) => {
158
+ const workspace = args.workspace;
159
+ const repo_slug = args.repo_slug;
160
+ const pull_request_id = args.pull_request_id;
161
+ const content = args.content;
162
+ const commentId = args.comment;
163
+ const state = args.state;
164
+ try {
165
+ logger.info("Creating pull request task", {
166
+ workspace,
167
+ repo_slug,
168
+ pull_request_id,
169
+ });
170
+ const data = { content: { raw: content } };
171
+ if (commentId)
172
+ data.comment = { id: commentId };
173
+ if (state)
174
+ data.state = state;
175
+ const response = await client.api.post(`/repositories/${workspace}/${repo_slug}/pullrequests/${pull_request_id}/tasks`, data);
176
+ return jsonResponse(response.data);
177
+ }
178
+ catch (error) {
179
+ logger.error("Error creating pull request task", {
180
+ error,
181
+ workspace,
182
+ repo_slug,
183
+ pull_request_id,
184
+ });
185
+ throw new McpError(ErrorCode.InternalError, `Failed to create pull request task: ${error instanceof Error ? error.message : String(error)}`);
186
+ }
187
+ },
188
+ getPullRequestTask: async (args) => {
189
+ const workspace = args.workspace;
190
+ const repo_slug = args.repo_slug;
191
+ const pull_request_id = args.pull_request_id;
192
+ const task_id = args.task_id;
193
+ try {
194
+ logger.info("Getting pull request task", {
195
+ workspace,
196
+ repo_slug,
197
+ pull_request_id,
198
+ task_id,
199
+ });
200
+ const response = await client.api.get(`/repositories/${workspace}/${repo_slug}/pullrequests/${pull_request_id}/tasks/${task_id}`);
201
+ return jsonResponse(response.data);
202
+ }
203
+ catch (error) {
204
+ logger.error("Error getting pull request task", {
205
+ error,
206
+ workspace,
207
+ repo_slug,
208
+ pull_request_id,
209
+ task_id,
210
+ });
211
+ throw new McpError(ErrorCode.InternalError, `Failed to get pull request task: ${error instanceof Error ? error.message : String(error)}`);
212
+ }
213
+ },
214
+ updatePullRequestTask: async (args) => {
215
+ const workspace = args.workspace;
216
+ const repo_slug = args.repo_slug;
217
+ const pull_request_id = args.pull_request_id;
218
+ const task_id = args.task_id;
219
+ const content = args.content;
220
+ const state = args.state;
221
+ try {
222
+ logger.info("Updating pull request task", {
223
+ workspace,
224
+ repo_slug,
225
+ pull_request_id,
226
+ task_id,
227
+ });
228
+ const data = {};
229
+ if (content !== undefined)
230
+ data.content = { raw: content };
231
+ if (state !== undefined)
232
+ data.state = state;
233
+ const response = await client.api.put(`/repositories/${workspace}/${repo_slug}/pullrequests/${pull_request_id}/tasks/${task_id}`, data);
234
+ return jsonResponse(response.data);
235
+ }
236
+ catch (error) {
237
+ logger.error("Error updating pull request task", {
238
+ error,
239
+ workspace,
240
+ repo_slug,
241
+ pull_request_id,
242
+ task_id,
243
+ });
244
+ throw new McpError(ErrorCode.InternalError, `Failed to update pull request task: ${error instanceof Error ? error.message : String(error)}`);
245
+ }
246
+ },
247
+ deletePullRequestTask: async (args) => {
248
+ const workspace = args.workspace;
249
+ const repo_slug = args.repo_slug;
250
+ const pull_request_id = args.pull_request_id;
251
+ const task_id = args.task_id;
252
+ try {
253
+ logger.info("Deleting pull request task", {
254
+ workspace,
255
+ repo_slug,
256
+ pull_request_id,
257
+ task_id,
258
+ });
259
+ await client.api.delete(`/repositories/${workspace}/${repo_slug}/pullrequests/${pull_request_id}/tasks/${task_id}`);
260
+ return textResponse("Task deleted successfully.");
261
+ }
262
+ catch (error) {
263
+ logger.error("Error deleting pull request task", {
264
+ error,
265
+ workspace,
266
+ repo_slug,
267
+ pull_request_id,
268
+ task_id,
269
+ });
270
+ throw new McpError(ErrorCode.InternalError, `Failed to delete pull request task: ${error instanceof Error ? error.message : String(error)}`);
271
+ }
272
+ },
273
+ }),
274
+ };
275
+ //# sourceMappingURL=pr-tasks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pr-tasks.js","sourceRoot":"","sources":["../../src/handlers/pr-tasks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { HandlerModule } from "./types.js";
2
+ export declare const pullRequestsModule: HandlerModule;