@atlassian-dc-mcp/bitbucket 0.6.0 → 0.7.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 (37) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/build/__tests__/bitbucket-service.test.d.ts +2 -0
  3. package/build/__tests__/bitbucket-service.test.d.ts.map +1 -0
  4. package/build/__tests__/bitbucket-service.test.js +269 -0
  5. package/build/__tests__/bitbucket-service.test.js.map +1 -0
  6. package/build/__tests__/pr-changes-mapper.test.d.ts +2 -0
  7. package/build/__tests__/pr-changes-mapper.test.d.ts.map +1 -0
  8. package/build/__tests__/pr-changes-mapper.test.js +396 -0
  9. package/build/__tests__/pr-changes-mapper.test.js.map +1 -0
  10. package/build/__tests__/pr-comment-mapper.test.d.ts +2 -0
  11. package/build/__tests__/pr-comment-mapper.test.d.ts.map +1 -0
  12. package/build/__tests__/pr-comment-mapper.test.js +210 -0
  13. package/build/__tests__/pr-comment-mapper.test.js.map +1 -0
  14. package/build/bitbucket-service.d.ts +84 -1
  15. package/build/bitbucket-service.d.ts.map +1 -1
  16. package/build/bitbucket-service.js +148 -1
  17. package/build/bitbucket-service.js.map +1 -1
  18. package/build/index.js +13 -1
  19. package/build/index.js.map +1 -1
  20. package/build/pr-changes-mapper.d.ts +32 -0
  21. package/build/pr-changes-mapper.d.ts.map +1 -0
  22. package/build/pr-changes-mapper.js +111 -0
  23. package/build/pr-changes-mapper.js.map +1 -0
  24. package/build/pr-comment-mapper.d.ts +48 -0
  25. package/build/pr-comment-mapper.d.ts.map +1 -0
  26. package/build/pr-comment-mapper.js +128 -0
  27. package/build/pr-comment-mapper.js.map +1 -0
  28. package/jest.config.js +23 -0
  29. package/package.json +5 -3
  30. package/src/__tests__/bitbucket-service.test.ts +419 -0
  31. package/src/__tests__/pr-changes-mapper.test.ts +420 -0
  32. package/src/__tests__/pr-comment-mapper.test.ts +230 -0
  33. package/src/bitbucket-service.ts +215 -2
  34. package/src/index.ts +33 -2
  35. package/src/pr-changes-mapper.ts +216 -0
  36. package/src/pr-comment-mapper.ts +318 -0
  37. package/tsconfig.tsbuildinfo +1 -1
@@ -70,7 +70,57 @@ export declare class BitbucketService {
70
70
  size?: number;
71
71
  start?: number;
72
72
  values?: Array<import("./bitbucket-client/index.js").RestPullRequestActivity>;
73
- }>>;
73
+ }> | {
74
+ success: boolean;
75
+ data: import("./pr-comment-mapper.js").BitbucketPRApiResponse | import("./pr-comment-mapper.js").SimplifiedPRResponse;
76
+ }>;
77
+ /**
78
+ * Get pull request changes
79
+ * @param projectKey The project key
80
+ * @param repositorySlug The repository slug
81
+ * @param pullRequestId The pull request ID
82
+ * @param sinceId Optional since commit hash to stream changes for a RANGE arbitrary change scope
83
+ * @param changeScope Optional scope: 'UNREVIEWED' for unreviewed changes, 'RANGE' for changes between commits, 'ALL' for all changes (default)
84
+ * @param untilId Optional until commit hash to stream changes for a RANGE arbitrary change scope
85
+ * @param withComments Optional flag to include comment counts (default: true)
86
+ * @param start Optional pagination start
87
+ * @param limit Optional pagination limit (default: 25)
88
+ * @returns Promise with PR changes data
89
+ */
90
+ getPullRequestChanges(projectKey: string, repositorySlug: string, pullRequestId: string, sinceId?: string, changeScope?: string, untilId?: string, withComments?: string, start?: number, limit?: number): Promise<import("@atlassian-dc-mcp/common").ApiErrorResponse<import("./bitbucket-client/index.js").RestChange> | {
91
+ data: any;
92
+ success: boolean;
93
+ error?: string;
94
+ details?: any;
95
+ }>;
96
+ /**
97
+ * Post a comment to a pull request
98
+ * @param projectKey The project key
99
+ * @param repositorySlug The repository slug
100
+ * @param pullRequestId The pull request ID
101
+ * @param text The comment text
102
+ * @param parentId Optional parent comment ID for replies
103
+ * @param filePath Optional file path for file-specific comments
104
+ * @param line Optional line number for line-specific comments
105
+ * @param lineType Optional line type ('ADDED', 'REMOVED', 'CONTEXT') for line comments
106
+ * @returns Promise with created comment data
107
+ */
108
+ postPullRequestComment(projectKey: string, repositorySlug: string, pullRequestId: string, text: string, parentId?: number, filePath?: string, line?: number, lineType?: 'ADDED' | 'REMOVED' | 'CONTEXT'): Promise<import("@atlassian-dc-mcp/common").ApiErrorResponse<import("./bitbucket-client/index.js").RestComment>>;
109
+ /**
110
+ * Get text diff for a specific file in a pull request
111
+ * @param projectKey The project key
112
+ * @param repositorySlug The repository slug
113
+ * @param pullRequestId The pull request ID
114
+ * @param path The path to the file which should be diffed
115
+ * @param contextLines Optional number of context lines to include around added/removed lines
116
+ * @param sinceId Optional since commit hash to stream a diff between two arbitrary hashes
117
+ * @param srcPath Optional previous path to the file, if the file has been copied, moved or renamed
118
+ * @param diffType Optional type of diff being requested
119
+ * @param untilId Optional until commit hash to stream a diff between two arbitrary hashes
120
+ * @param whitespace Optional whitespace flag which can be set to 'ignore-all'
121
+ * @returns Promise with text diff data
122
+ */
123
+ getPullRequestDiff(projectKey: string, repositorySlug: string, pullRequestId: string, path: string, contextLines?: string, sinceId?: string, srcPath?: string, diffType?: string, untilId?: string, whitespace?: string): Promise<import("@atlassian-dc-mcp/common").ApiErrorResponse<unknown>>;
74
124
  static validateConfig(): string[];
75
125
  }
76
126
  export declare const bitbucketToolSchemas: {
@@ -107,5 +157,38 @@ export declare const bitbucketToolSchemas: {
107
157
  start: z.ZodOptional<z.ZodNumber>;
108
158
  limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
109
159
  };
160
+ getPullRequestChanges: {
161
+ projectKey: z.ZodString;
162
+ repositorySlug: z.ZodString;
163
+ pullRequestId: z.ZodString;
164
+ sinceId: z.ZodOptional<z.ZodString>;
165
+ changeScope: z.ZodOptional<z.ZodString>;
166
+ untilId: z.ZodOptional<z.ZodString>;
167
+ withComments: z.ZodOptional<z.ZodString>;
168
+ start: z.ZodOptional<z.ZodNumber>;
169
+ limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
170
+ };
171
+ postPullRequestComment: {
172
+ projectKey: z.ZodString;
173
+ repositorySlug: z.ZodString;
174
+ pullRequestId: z.ZodString;
175
+ text: z.ZodString;
176
+ parentId: z.ZodOptional<z.ZodNumber>;
177
+ filePath: z.ZodOptional<z.ZodString>;
178
+ line: z.ZodOptional<z.ZodNumber>;
179
+ lineType: z.ZodOptional<z.ZodEnum<["ADDED", "REMOVED", "CONTEXT"]>>;
180
+ };
181
+ getPullRequestDiff: {
182
+ projectKey: z.ZodString;
183
+ repositorySlug: z.ZodString;
184
+ pullRequestId: z.ZodString;
185
+ path: z.ZodString;
186
+ contextLines: z.ZodOptional<z.ZodString>;
187
+ sinceId: z.ZodOptional<z.ZodString>;
188
+ srcPath: z.ZodOptional<z.ZodString>;
189
+ diffType: z.ZodOptional<z.ZodString>;
190
+ untilId: z.ZodOptional<z.ZodString>;
191
+ whitespace: z.ZodOptional<z.ZodString>;
192
+ };
110
193
  };
111
194
  //# sourceMappingURL=bitbucket-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bitbucket-service.d.ts","sourceRoot":"","sources":["../src/bitbucket-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,qBAAa,gBAAgB;gBACf,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;IAM7D;;;;;;;;;OASG;IACG,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EACxG,KAAK,GAAE,MAAW;;;;;;;;IAsBpB;;;;;;;OAOG;IACG,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW;;;;;;;;IAOxF;;;;OAIG;IACG,UAAU,CAAC,UAAU,EAAE,MAAM;IAOnC;;;;;;OAMG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW;;;;;;;;IAO5E;;;;;OAKG;IACG,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;IAOxD,gCAAgC,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EACtH,KAAK,GAAE,MAAW;;;;;;;;IAgBpB,MAAM,CAAC,cAAc,IAAI,MAAM,EAAE;CAYlC;AAED,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkChC,CAAC"}
1
+ {"version":3,"file":"bitbucket-service.d.ts","sourceRoot":"","sources":["../src/bitbucket-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,qBAAa,gBAAgB;gBACf,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;IAM7D;;;;;;;;;OASG;IACG,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EACxG,KAAK,GAAE,MAAW;;;;;;;;IAsBpB;;;;;;;OAOG;IACG,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW;;;;;;;;IAOxF;;;;OAIG;IACG,UAAU,CAAC,UAAU,EAAE,MAAM;IAOnC;;;;;;OAMG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW;;;;;;;;IAO5E;;;;;OAKG;IACG,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;IAOxD,gCAAgC,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EACtH,KAAK,GAAE,MAAW;;;;;;;;;;;IA2BpB;;;;;;;;;;;;OAYG;IACG,qBAAqB,CACzB,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,MAAM,EACrB,KAAK,CAAC,EAAE,MAAM,EACd,KAAK,GAAE,MAAW;;;;;;IA6BpB;;;;;;;;;;;OAWG;IACG,sBAAsB,CAC1B,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS;IAsC5C;;;;;;;;;;;;;OAaG;IACG,kBAAkB,CACtB,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM;IAiCrB,MAAM,CAAC,cAAc,IAAI,MAAM,EAAE;CAYlC;AAED,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmEhC,CAAC"}
@@ -1,6 +1,9 @@
1
1
  import { z } from 'zod';
2
2
  import { OpenAPI, ProjectService, PullRequestsService, RepositoryService } from './bitbucket-client/index.js';
3
+ import { request as __request } from './bitbucket-client/core/request.js';
3
4
  import { handleApiOperation } from '@atlassian-dc-mcp/common';
5
+ import { simplifyBitbucketPRComments } from './pr-comment-mapper.js';
6
+ import { simplifyBitbucketPRChanges } from './pr-changes-mapper.js';
4
7
  export class BitbucketService {
5
8
  constructor(host, token, fullBaseUrl) {
6
9
  OpenAPI.BASE = fullBaseUrl ?? `https://${host}/rest`;
@@ -66,7 +69,118 @@ export class BitbucketService {
66
69
  return handleApiOperation(() => ProjectService.getRepository(projectKey, repositorySlug), 'Error fetching repository');
67
70
  }
68
71
  async getPullRequestCommentsAndActions(projectKey, repositorySlug, pullRequestId, start, limit = 25) {
69
- return handleApiOperation(() => PullRequestsService.getActivities(projectKey, pullRequestId, repositorySlug, undefined, undefined, start, limit), 'Error fetching pull request comments');
72
+ const result = await handleApiOperation(() => PullRequestsService.getActivities(projectKey, pullRequestId, repositorySlug, undefined, undefined, start, limit), 'Error fetching pull request comments');
73
+ // Apply simplification if the API call was successful
74
+ if (result.success && result.data) {
75
+ const simplifiedData = simplifyBitbucketPRComments(result.data);
76
+ return {
77
+ success: true,
78
+ data: simplifiedData
79
+ };
80
+ }
81
+ return result;
82
+ }
83
+ /**
84
+ * Get pull request changes
85
+ * @param projectKey The project key
86
+ * @param repositorySlug The repository slug
87
+ * @param pullRequestId The pull request ID
88
+ * @param sinceId Optional since commit hash to stream changes for a RANGE arbitrary change scope
89
+ * @param changeScope Optional scope: 'UNREVIEWED' for unreviewed changes, 'RANGE' for changes between commits, 'ALL' for all changes (default)
90
+ * @param untilId Optional until commit hash to stream changes for a RANGE arbitrary change scope
91
+ * @param withComments Optional flag to include comment counts (default: true)
92
+ * @param start Optional pagination start
93
+ * @param limit Optional pagination limit (default: 25)
94
+ * @returns Promise with PR changes data
95
+ */
96
+ async getPullRequestChanges(projectKey, repositorySlug, pullRequestId, sinceId, changeScope, untilId, withComments, start, limit = 25) {
97
+ const result = await handleApiOperation(() => PullRequestsService.streamChanges1(projectKey, pullRequestId, repositorySlug, sinceId, changeScope, untilId, withComments, start, limit), 'Error fetching pull request changes');
98
+ // Apply simplification if the API call was successful
99
+ if (result.success && result.data) {
100
+ const simplifiedData = simplifyBitbucketPRChanges(result.data);
101
+ return {
102
+ ...result,
103
+ data: simplifiedData
104
+ };
105
+ }
106
+ return result;
107
+ }
108
+ /**
109
+ * Post a comment to a pull request
110
+ * @param projectKey The project key
111
+ * @param repositorySlug The repository slug
112
+ * @param pullRequestId The pull request ID
113
+ * @param text The comment text
114
+ * @param parentId Optional parent comment ID for replies
115
+ * @param filePath Optional file path for file-specific comments
116
+ * @param line Optional line number for line-specific comments
117
+ * @param lineType Optional line type ('ADDED', 'REMOVED', 'CONTEXT') for line comments
118
+ * @returns Promise with created comment data
119
+ */
120
+ async postPullRequestComment(projectKey, repositorySlug, pullRequestId, text, parentId, filePath, line, lineType) {
121
+ const comment = {
122
+ text
123
+ };
124
+ // Add parent reference for replies
125
+ if (parentId) {
126
+ comment.parent = { id: parentId };
127
+ }
128
+ // Add anchor for file/line comments
129
+ if (filePath) {
130
+ comment.anchor = {
131
+ path: filePath,
132
+ diffType: 'EFFECTIVE'
133
+ };
134
+ // Add line-specific anchor properties
135
+ if (line !== undefined && lineType) {
136
+ comment.anchor.line = line;
137
+ comment.anchor.lineType = lineType;
138
+ comment.anchor.fileType = 'TO'; // Default to destination file
139
+ }
140
+ }
141
+ return handleApiOperation(() => PullRequestsService.createComment2(projectKey, pullRequestId, repositorySlug, comment), 'Error posting pull request comment');
142
+ }
143
+ /**
144
+ * Get text diff for a specific file in a pull request
145
+ * @param projectKey The project key
146
+ * @param repositorySlug The repository slug
147
+ * @param pullRequestId The pull request ID
148
+ * @param path The path to the file which should be diffed
149
+ * @param contextLines Optional number of context lines to include around added/removed lines
150
+ * @param sinceId Optional since commit hash to stream a diff between two arbitrary hashes
151
+ * @param srcPath Optional previous path to the file, if the file has been copied, moved or renamed
152
+ * @param diffType Optional type of diff being requested
153
+ * @param untilId Optional until commit hash to stream a diff between two arbitrary hashes
154
+ * @param whitespace Optional whitespace flag which can be set to 'ignore-all'
155
+ * @returns Promise with text diff data
156
+ */
157
+ async getPullRequestDiff(projectKey, repositorySlug, pullRequestId, path, contextLines, sinceId, srcPath, diffType, untilId, whitespace) {
158
+ return handleApiOperation(() => __request(OpenAPI, {
159
+ method: 'GET',
160
+ url: '/api/latest/projects/{projectKey}/repos/{repositorySlug}/pull-requests/{pullRequestId}/diff/{path}',
161
+ path: {
162
+ 'path': path,
163
+ 'projectKey': projectKey,
164
+ 'pullRequestId': pullRequestId,
165
+ 'repositorySlug': repositorySlug,
166
+ },
167
+ query: {
168
+ 'contextLines': contextLines,
169
+ 'sinceId': sinceId,
170
+ 'srcPath': srcPath,
171
+ 'diffType': diffType,
172
+ 'untilId': untilId,
173
+ 'whitespace': whitespace,
174
+ },
175
+ headers: {
176
+ 'Accept': 'text/plain'
177
+ },
178
+ errors: {
179
+ 400: `If the request was malformed.`,
180
+ 401: `The currently authenticated user has insufficient permissions to view the repository or pull request.`,
181
+ 404: `The repository or pull request does not exist.`,
182
+ },
183
+ }), 'Error fetching pull request diff');
70
184
  }
71
185
  static validateConfig() {
72
186
  // Check for BITBUCKET_HOST or its alternative BITBUCKET_API_BASE_PATH
@@ -112,6 +226,39 @@ export const bitbucketToolSchemas = {
112
226
  pullRequestId: z.string().describe("The pull request ID"),
113
227
  start: z.number().optional().describe("Start number for pagination"),
114
228
  limit: z.number().optional().default(25).describe("Number of items to return")
229
+ },
230
+ getPullRequestChanges: {
231
+ projectKey: z.string().describe("The project key"),
232
+ repositorySlug: z.string().describe("The repository slug"),
233
+ pullRequestId: z.string().describe("The pull request ID"),
234
+ sinceId: z.string().optional().describe("The since commit hash to stream changes for a RANGE arbitrary change scope"),
235
+ changeScope: z.string().optional().describe("UNREVIEWED for unreviewed changes, RANGE for changes between commits, ALL for all changes (default)"),
236
+ untilId: z.string().optional().describe("The until commit hash to stream changes for a RANGE arbitrary change scope"),
237
+ withComments: z.string().optional().describe("true to apply comment counts in the changes (default), false to stream changes without comment counts"),
238
+ start: z.number().optional().describe("Start number for pagination"),
239
+ limit: z.number().optional().default(25).describe("Number of items to return")
240
+ },
241
+ postPullRequestComment: {
242
+ projectKey: z.string().describe("The project key"),
243
+ repositorySlug: z.string().describe("The repository slug"),
244
+ pullRequestId: z.string().describe("The pull request ID"),
245
+ text: z.string().describe("The comment text"),
246
+ parentId: z.number().optional().describe("Parent comment ID for replies"),
247
+ filePath: z.string().optional().describe("File path for file-specific comments"),
248
+ line: z.number().optional().describe("Line number for line-specific comments"),
249
+ lineType: z.enum(['ADDED', 'REMOVED', 'CONTEXT']).optional().describe("Line type for line comments")
250
+ },
251
+ getPullRequestDiff: {
252
+ projectKey: z.string().describe("The project key"),
253
+ repositorySlug: z.string().describe("The repository slug"),
254
+ pullRequestId: z.string().describe("The pull request ID"),
255
+ path: z.string().describe("The path to the file which should be diffed. Note: Before getting diff, use getPullRequestChanges to understand what files were changed in the PR"),
256
+ contextLines: z.string().optional().describe("Number of context lines to include around added/removed lines in the diff"),
257
+ sinceId: z.string().optional().describe("The since commit hash to stream a diff between two arbitrary hashes"),
258
+ srcPath: z.string().optional().describe("The previous path to the file, if the file has been copied, moved or renamed"),
259
+ diffType: z.string().optional().describe("The type of diff being requested"),
260
+ untilId: z.string().optional().describe("The until commit hash to stream a diff between two arbitrary hashes"),
261
+ whitespace: z.string().optional().describe("Optional whitespace flag which can be set to 'ignore-all'")
115
262
  }
116
263
  };
117
264
  //# sourceMappingURL=bitbucket-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bitbucket-service.js","sourceRoot":"","sources":["../src/bitbucket-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bitbucket-service.js","sourceRoot":"","sources":["../src/bitbucket-service.ts"],"names":[],"mappings":"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"}
package/build/index.js CHANGED
@@ -33,9 +33,21 @@ server.tool("bitbucket_getCommits", "Get commits for a Bitbucket repository", bi
33
33
  const result = await bitbucketService.getCommits(projectKey, repositorySlug, path, since, until, limit);
34
34
  return formatToolResponse(result);
35
35
  });
36
- server.tool("bitbucket_getPullRequestCommentsAndAction", "Get comments for a Bitbucket pull request and other actions, like approvals", bitbucketToolSchemas.getPullRequestComments, async ({ projectKey, repositorySlug, pullRequestId, start, limit }) => {
36
+ server.tool("bitbucket_getPR_CommentsAndAction", "Get comments for a Bitbucket pull request and other actions, like approvals", bitbucketToolSchemas.getPullRequestComments, async ({ projectKey, repositorySlug, pullRequestId, start, limit }) => {
37
37
  const result = await bitbucketService.getPullRequestCommentsAndActions(projectKey, repositorySlug, pullRequestId, start, limit);
38
38
  return formatToolResponse(result);
39
39
  });
40
+ server.tool("bitbucket_getPullRequestChanges", "Get the changes for a Bitbucket pull request", bitbucketToolSchemas.getPullRequestChanges, async ({ projectKey, repositorySlug, pullRequestId, sinceId, changeScope, untilId, withComments, start, limit }) => {
41
+ const result = await bitbucketService.getPullRequestChanges(projectKey, repositorySlug, pullRequestId, sinceId, changeScope, untilId, withComments, start, limit);
42
+ return formatToolResponse(result);
43
+ });
44
+ server.tool("bitbucket_postPullRequestComment", "Post a comment to a Bitbucket pull request", bitbucketToolSchemas.postPullRequestComment, async ({ projectKey, repositorySlug, pullRequestId, text, parentId, filePath, line, lineType }) => {
45
+ const result = await bitbucketService.postPullRequestComment(projectKey, repositorySlug, pullRequestId, text, parentId, filePath, line, lineType);
46
+ return formatToolResponse(result);
47
+ });
48
+ server.tool("bitbucket_getPullRequestDiff", "Get text diff for a specific file in a Bitbucket pull request. Returns plain text diff format. Note: Before getting diff, use getPullRequestChanges to understand what files were changed in the PR", bitbucketToolSchemas.getPullRequestDiff, async ({ projectKey, repositorySlug, pullRequestId, path, contextLines, sinceId, srcPath, diffType, untilId, whitespace }) => {
49
+ const result = await bitbucketService.getPullRequestDiff(projectKey, repositorySlug, pullRequestId, path, contextLines, sinceId, srcPath, diffType, untilId, whitespace);
50
+ return formatToolResponse(result);
51
+ });
40
52
  await connectServer(server);
41
53
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ interface SimplifiedPath {
2
+ name: string;
3
+ path: string;
4
+ extension?: string;
5
+ }
6
+ interface SimplifiedChange {
7
+ contentId: string;
8
+ path: SimplifiedPath;
9
+ srcPath?: SimplifiedPath;
10
+ type: string;
11
+ gitChangeType: string;
12
+ comments?: number;
13
+ }
14
+ interface SimplifiedPRChangesResponse {
15
+ fromHash: string;
16
+ toHash: string;
17
+ changeScope: string;
18
+ changes: SimplifiedChange[];
19
+ summary: {
20
+ totalChanges: number;
21
+ additions: number;
22
+ deletions: number;
23
+ modifications: number;
24
+ moves: number;
25
+ filesWithComments: number;
26
+ };
27
+ isLastPage: boolean;
28
+ }
29
+ export declare function simplifyBitbucketPRChanges(response: any): SimplifiedPRChangesResponse | any;
30
+ export declare function getChangesSummary(response: any): string[];
31
+ export {};
32
+ //# sourceMappingURL=pr-changes-mapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pr-changes-mapper.d.ts","sourceRoot":"","sources":["../src/pr-changes-mapper.ts"],"names":[],"mappings":"AAiDA,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,gBAAgB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,2BAA2B;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,OAAO,EAAE;QACP,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,UAAU,EAAE,OAAO,CAAC;CACrB;AAmED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,GAAG,GAAG,2BAA2B,GAAG,GAAG,CA0C3F;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,GAAG,GAAG,MAAM,EAAE,CA0BzD"}
@@ -0,0 +1,111 @@
1
+ // Type guards
2
+ function isPathInfo(obj) {
3
+ return (typeof obj === 'object' &&
4
+ obj !== null &&
5
+ Array.isArray(obj.components) &&
6
+ typeof obj.name === 'string' &&
7
+ typeof obj.toString === 'string');
8
+ }
9
+ function isPRChange(obj) {
10
+ return (typeof obj === 'object' &&
11
+ obj !== null &&
12
+ typeof obj.contentId === 'string' &&
13
+ typeof obj.type === 'string' &&
14
+ isPathInfo(obj.path) &&
15
+ typeof obj.properties === 'object' &&
16
+ typeof obj.properties.gitChangeType === 'string');
17
+ }
18
+ function isPRChangesResponse(obj) {
19
+ return (typeof obj === 'object' &&
20
+ obj !== null &&
21
+ typeof obj.fromHash === 'string' &&
22
+ typeof obj.toHash === 'string' &&
23
+ Array.isArray(obj.values) &&
24
+ typeof obj.isLastPage === 'boolean');
25
+ }
26
+ // Transformation functions
27
+ function simplifyPath(path) {
28
+ return {
29
+ name: path.name,
30
+ path: path.toString,
31
+ ...(path.extension && { extension: path.extension })
32
+ };
33
+ }
34
+ function simplifyChange(change) {
35
+ const result = {
36
+ contentId: change.contentId,
37
+ path: simplifyPath(change.path),
38
+ type: change.type,
39
+ gitChangeType: change.properties.gitChangeType
40
+ };
41
+ // Add source path for moves/renames
42
+ if (change.srcPath) {
43
+ result.srcPath = simplifyPath(change.srcPath);
44
+ }
45
+ // Add comment count if present
46
+ const commentCount = (change.properties.orphanedComments || 0) + (change.properties.activeComments || 0);
47
+ if (commentCount > 0) {
48
+ result.comments = commentCount;
49
+ }
50
+ return result;
51
+ }
52
+ export function simplifyBitbucketPRChanges(response) {
53
+ // Validate response structure
54
+ if (!isPRChangesResponse(response)) {
55
+ return response;
56
+ }
57
+ const changes = [];
58
+ // Process each change with type guard validation
59
+ for (const change of response.values || []) {
60
+ if (isPRChange(change)) {
61
+ changes.push(simplifyChange(change));
62
+ }
63
+ }
64
+ // If no valid changes were found, return the original response
65
+ if (changes.length === 0 && (response.values || []).length > 0) {
66
+ return response;
67
+ }
68
+ // Calculate summary statistics
69
+ const additions = changes.filter(c => c.type === 'ADD').length;
70
+ const deletions = changes.filter(c => c.type === 'DELETE').length;
71
+ const modifications = changes.filter(c => c.type === 'MODIFY').length;
72
+ const moves = changes.filter(c => c.type === 'MOVE').length;
73
+ const filesWithComments = changes.filter(c => c.comments && c.comments > 0).length;
74
+ return {
75
+ fromHash: response.fromHash,
76
+ toHash: response.toHash,
77
+ changeScope: response.properties.changeScope,
78
+ changes,
79
+ summary: {
80
+ totalChanges: changes.length,
81
+ additions,
82
+ deletions,
83
+ modifications,
84
+ moves,
85
+ filesWithComments
86
+ },
87
+ isLastPage: response.isLastPage
88
+ };
89
+ }
90
+ export function getChangesSummary(response) {
91
+ const changeSummaries = [];
92
+ for (const change of response.values || []) {
93
+ if (isPRChange(change)) {
94
+ const action = change.type === 'ADD' ? 'Added' :
95
+ change.type === 'DELETE' ? 'Deleted' :
96
+ change.type === 'MODIFY' ? 'Modified' :
97
+ change.type === 'MOVE' ? 'Moved' : change.type;
98
+ let summary = `${action}: ${change.path.toString}`;
99
+ if (change.srcPath && change.type === 'MOVE') {
100
+ summary += ` (from ${change.srcPath.toString})`;
101
+ }
102
+ const commentCount = (change.properties.orphanedComments || 0) + (change.properties.activeComments || 0);
103
+ if (commentCount > 0) {
104
+ summary += ` [${commentCount} comment${commentCount > 1 ? 's' : ''}]`;
105
+ }
106
+ changeSummaries.push(summary);
107
+ }
108
+ }
109
+ return changeSummaries;
110
+ }
111
+ //# sourceMappingURL=pr-changes-mapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pr-changes-mapper.js","sourceRoot":"","sources":["../src/pr-changes-mapper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ export interface BitbucketPRApiResponse {
2
+ size?: number;
3
+ limit?: number;
4
+ isLastPage?: boolean;
5
+ values?: unknown[];
6
+ start?: number;
7
+ nextPageStart?: number;
8
+ }
9
+ interface SimplifiedUser {
10
+ name: string;
11
+ displayName: string;
12
+ }
13
+ interface SimplifiedAnchor {
14
+ line: number;
15
+ path: string;
16
+ fileType?: string;
17
+ }
18
+ interface SimplifiedComment {
19
+ id: number;
20
+ text: string;
21
+ author: SimplifiedUser;
22
+ createdDate: number;
23
+ anchor?: SimplifiedAnchor;
24
+ threadResolved: boolean;
25
+ state: string;
26
+ }
27
+ interface SimplifiedActivity {
28
+ id: number;
29
+ createdDate: number;
30
+ user: SimplifiedUser;
31
+ action: string;
32
+ commentAction?: string;
33
+ comment?: SimplifiedComment;
34
+ }
35
+ export interface SimplifiedPRResponse {
36
+ isLastPage: boolean;
37
+ activities: SimplifiedActivity[];
38
+ summary: {
39
+ totalActivities: number;
40
+ prAuthor?: SimplifiedUser;
41
+ commentCount: number;
42
+ unresolvedCount: number;
43
+ };
44
+ }
45
+ export declare function simplifyBitbucketPRComments(response: BitbucketPRApiResponse): SimplifiedPRResponse | BitbucketPRApiResponse;
46
+ export declare function getCommentSummary(response: BitbucketPRApiResponse): string[];
47
+ export {};
48
+ //# sourceMappingURL=pr-comment-mapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pr-comment-mapper.d.ts","sourceRoot":"","sources":["../src/pr-comment-mapper.ts"],"names":[],"mappings":"AAkHA,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAGD,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,iBAAiB;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,cAAc,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,kBAAkB;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,OAAO,EAAE;QACP,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,cAAc,CAAC;QAC1B,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AAqGD,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,sBAAsB,GAAG,oBAAoB,GAAG,sBAAsB,CAiC3H;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,MAAM,EAAE,CAkB5E"}