@atlassian-dc-mcp/bitbucket 0.34.0 → 0.36.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 (64) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +55 -2
  3. package/build/__tests__/bitbucket-service.test.js +41 -2
  4. package/build/__tests__/bitbucket-service.test.js.map +1 -1
  5. package/build/__tests__/config.test.js +2 -1
  6. package/build/__tests__/config.test.js.map +1 -1
  7. package/build/__tests__/pr-builds.test.d.ts +2 -0
  8. package/build/__tests__/pr-builds.test.d.ts.map +1 -0
  9. package/build/__tests__/pr-builds.test.js +74 -0
  10. package/build/__tests__/pr-builds.test.js.map +1 -0
  11. package/build/__tests__/pr-merge.test.js +5 -4
  12. package/build/__tests__/pr-merge.test.js.map +1 -1
  13. package/build/__tests__/pr-state.test.d.ts +2 -0
  14. package/build/__tests__/pr-state.test.d.ts.map +1 -0
  15. package/build/__tests__/pr-state.test.js +118 -0
  16. package/build/__tests__/pr-state.test.js.map +1 -0
  17. package/build/__tests__/repo-gateway.test.d.ts +2 -0
  18. package/build/__tests__/repo-gateway.test.d.ts.map +1 -0
  19. package/build/__tests__/{merge-gateway.test.js → repo-gateway.test.js} +70 -10
  20. package/build/__tests__/repo-gateway.test.js.map +1 -0
  21. package/build/bitbucket-service.d.ts +44 -0
  22. package/build/bitbucket-service.d.ts.map +1 -1
  23. package/build/bitbucket-service.js +59 -0
  24. package/build/bitbucket-service.js.map +1 -1
  25. package/build/index.js +33 -1
  26. package/build/index.js.map +1 -1
  27. package/build/pr-builds.d.ts +36 -0
  28. package/build/pr-builds.d.ts.map +1 -0
  29. package/build/pr-builds.js +40 -0
  30. package/build/pr-builds.js.map +1 -0
  31. package/build/pr-merge.d.ts +2 -2
  32. package/build/pr-merge.d.ts.map +1 -1
  33. package/build/pr-merge.js +2 -2
  34. package/build/pr-merge.js.map +1 -1
  35. package/build/pr-state.d.ts +33 -0
  36. package/build/pr-state.d.ts.map +1 -0
  37. package/build/pr-state.js +37 -0
  38. package/build/pr-state.js.map +1 -0
  39. package/build/repo-gateway.d.ts +57 -0
  40. package/build/repo-gateway.d.ts.map +1 -0
  41. package/build/repo-gateway.js +122 -0
  42. package/build/repo-gateway.js.map +1 -0
  43. package/package.json +3 -3
  44. package/src/__tests__/bitbucket-service.test.ts +50 -2
  45. package/src/__tests__/config.test.ts +2 -1
  46. package/src/__tests__/pr-builds.test.ts +93 -0
  47. package/src/__tests__/pr-merge.test.ts +5 -5
  48. package/src/__tests__/pr-state.test.ts +150 -0
  49. package/src/__tests__/{merge-gateway.test.ts → repo-gateway.test.ts} +83 -11
  50. package/src/bitbucket-service.ts +67 -0
  51. package/src/index.ts +52 -1
  52. package/src/pr-builds.ts +74 -0
  53. package/src/pr-merge.ts +3 -3
  54. package/src/pr-state.ts +68 -0
  55. package/src/repo-gateway.ts +183 -0
  56. package/tsconfig.tsbuildinfo +1 -1
  57. package/build/__tests__/merge-gateway.test.d.ts +0 -2
  58. package/build/__tests__/merge-gateway.test.d.ts.map +0 -1
  59. package/build/__tests__/merge-gateway.test.js.map +0 -1
  60. package/build/merge-gateway.d.ts +0 -34
  61. package/build/merge-gateway.d.ts.map +0 -1
  62. package/build/merge-gateway.js +0 -86
  63. package/build/merge-gateway.js.map +0 -1
  64. package/src/merge-gateway.ts +0 -132
@@ -0,0 +1,74 @@
1
+ import { DeprecatedService, PullRequestsService } from '../bitbucket-client/index.js';
2
+ import { fetchPullRequestBuilds } from '../pr-builds.js';
3
+ jest.mock('../bitbucket-client/index.js', () => ({
4
+ PullRequestsService: {
5
+ get3: jest.fn(),
6
+ },
7
+ DeprecatedService: {
8
+ getBuildStatus: jest.fn(),
9
+ },
10
+ OpenAPI: { BASE: '', TOKEN: '', VERSION: '' },
11
+ }));
12
+ const getPullRequest = PullRequestsService.get3;
13
+ const getBuildStatus = DeprecatedService.getBuildStatus;
14
+ const HEAD = '0780e1428c06abf1c96ab9cb995d129255511c93';
15
+ const OPEN_PR = { id: 42, fromRef: { id: 'refs/heads/feature', latestCommit: HEAD } };
16
+ const BUILD = {
17
+ key: 'a1',
18
+ name: 'Builds » demo » PR-42 #1',
19
+ state: 'SUCCESSFUL',
20
+ url: 'https://ci.example.com/job/demo/job/PR-42/1/',
21
+ description: 'This commit looks good.',
22
+ dateAdded: 1791464936354,
23
+ };
24
+ const E2E = { ...BUILD, key: 'b2', name: 'E2E » demo » PR-42 #1', state: 'FAILED' };
25
+ const REVIEW = { ...BUILD, key: 'c3', name: 'AI Code Review » demo » PR-42 #1', state: 'INPROGRESS' };
26
+ describe('fetchPullRequestBuilds', () => {
27
+ beforeEach(() => jest.clearAllMocks());
28
+ it('lists the build statuses of the latest source commit with per-state counts', async () => {
29
+ getPullRequest.mockResolvedValue(OPEN_PR);
30
+ getBuildStatus.mockResolvedValue({ size: 3, isLastPage: true, values: [BUILD, E2E, REVIEW] });
31
+ const result = await fetchPullRequestBuilds('PROJ', 'demo', '42');
32
+ expect(getPullRequest).toHaveBeenCalledWith('PROJ', '42', 'demo');
33
+ expect(getBuildStatus).toHaveBeenCalledWith(HEAD, 'NEWEST', 0, 100);
34
+ expect(result).toEqual({
35
+ success: true,
36
+ data: {
37
+ commitId: HEAD,
38
+ counts: { successful: 1, failed: 1, inProgress: 1, cancelled: 0, unknown: 0 },
39
+ builds: [BUILD, E2E, REVIEW],
40
+ },
41
+ });
42
+ });
43
+ it('counts a build without a recognised state as unknown', async () => {
44
+ getPullRequest.mockResolvedValue(OPEN_PR);
45
+ getBuildStatus.mockResolvedValue({ values: [{ key: 'x' }, { key: 'y', state: 'QUEUED' }] });
46
+ const result = await fetchPullRequestBuilds('PROJ', 'demo', '42');
47
+ expect(result.data?.counts).toEqual({ successful: 0, failed: 0, inProgress: 0, cancelled: 0, unknown: 2 });
48
+ });
49
+ it('returns empty builds when no CI has reported on the commit', async () => {
50
+ getPullRequest.mockResolvedValue(OPEN_PR);
51
+ getBuildStatus.mockResolvedValue({ size: 0, isLastPage: true, values: [] });
52
+ const result = await fetchPullRequestBuilds('PROJ', 'demo', '42');
53
+ expect(result.data).toEqual({
54
+ commitId: HEAD,
55
+ counts: { successful: 0, failed: 0, inProgress: 0, cancelled: 0, unknown: 0 },
56
+ builds: [],
57
+ });
58
+ });
59
+ it('fails without querying builds when the pull request has no source commit', async () => {
60
+ getPullRequest.mockResolvedValue({ id: 42, fromRef: { id: 'refs/heads/feature' } });
61
+ const result = await fetchPullRequestBuilds('PROJ', 'demo', '42');
62
+ expect(result.success).toBe(false);
63
+ expect(result.error).toBe('Pull request 42 has no source commit');
64
+ expect(getBuildStatus).not.toHaveBeenCalled();
65
+ });
66
+ it('reports an API error with the status line', async () => {
67
+ getPullRequest.mockRejectedValue({ status: 404, statusText: 'Not Found', body: { errors: [] } });
68
+ const result = await fetchPullRequestBuilds('PROJ', 'demo', '42');
69
+ expect(result.success).toBe(false);
70
+ expect(result.error).toBe('Error fetching pull request builds: 404 Not Found');
71
+ expect(getBuildStatus).not.toHaveBeenCalled();
72
+ });
73
+ });
74
+ //# sourceMappingURL=pr-builds.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pr-builds.test.js","sourceRoot":"","sources":["../../src/__tests__/pr-builds.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,IAAI,CAAC,IAAI,CAAC,8BAA8B,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/C,mBAAmB,EAAE;QACnB,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;KAChB;IACD,iBAAiB,EAAE;QACjB,cAAc,EAAE,IAAI,CAAC,EAAE,EAAE;KAC1B;IACD,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;CAC9C,CAAC,CAAC,CAAC;AAEJ,MAAM,cAAc,GAAG,mBAAmB,CAAC,IAAiB,CAAC;AAC7D,MAAM,cAAc,GAAG,iBAAiB,CAAC,cAA2B,CAAC;AAErE,MAAM,IAAI,GAAG,0CAA0C,CAAC;AACxD,MAAM,OAAO,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,oBAAoB,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC;AAEtF,MAAM,KAAK,GAAG;IACZ,GAAG,EAAE,IAAI;IACT,IAAI,EAAE,0BAA0B;IAChC,KAAK,EAAE,YAAY;IACnB,GAAG,EAAE,8CAA8C;IACnD,WAAW,EAAE,yBAAyB;IACtC,SAAS,EAAE,aAAa;CACzB,CAAC;AACF,MAAM,GAAG,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACpF,MAAM,MAAM,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,kCAAkC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;AAEtG,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IAEvC,EAAE,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;QAC1F,cAAc,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC1C,cAAc,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAE9F,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAElE,MAAM,CAAC,cAAc,CAAC,CAAC,oBAAoB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAClE,MAAM,CAAC,cAAc,CAAC,CAAC,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QACpE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB,OAAO,EAAE,IAAI;YACb,IAAI,EAAE;gBACJ,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;gBAC7E,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC;aAC7B;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,cAAc,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC1C,cAAc,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;QAE5F,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAElE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7G,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,cAAc,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC1C,cAAc,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QAE5E,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAElE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;YAC1B,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;YAC7E,MAAM,EAAE,EAAE;SACX,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;QACxF,cAAc,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAC;QAEpF,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAElE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QAClE,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,cAAc,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAEjG,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAElE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;QAC/E,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { PullRequestsService } from '../bitbucket-client/index.js';
2
2
  import { fetchMergeability, mergePullRequest } from '../pr-merge.js';
3
+ import { MERGE_POLICY } from '../repo-gateway.js';
3
4
  jest.mock('../bitbucket-client/index.js', () => ({
4
5
  PullRequestsService: {
5
6
  canMerge: jest.fn(),
@@ -11,7 +12,7 @@ jest.mock('../bitbucket-client/index.js', () => ({
11
12
  const canMerge = PullRequestsService.canMerge;
12
13
  const merge = PullRequestsService.merge;
13
14
  const getPullRequest = PullRequestsService.get3;
14
- const OPEN_GATEWAY = { enabled: true, repos: ['PROJ/demo'], targetRefs: [] };
15
+ const OPEN_GATEWAY = { enabled: true, repos: ['PROJ/demo'], targetRefs: [], policy: MERGE_POLICY };
15
16
  const CLEAN = { canMerge: true, conflicted: false, outcome: 'CLEAN', vetoes: [] };
16
17
  const MERGED_PR = {
17
18
  id: 42,
@@ -91,7 +92,7 @@ describe('mergePullRequest', () => {
91
92
  it('refuses without any request when merging is disabled', async () => {
92
93
  const result = await mergePullRequest({
93
94
  ...baseParams,
94
- gateway: { enabled: false, repos: [], targetRefs: [] },
95
+ gateway: { enabled: false, repos: [], targetRefs: [], policy: MERGE_POLICY },
95
96
  });
96
97
  expect(result.success).toBe(false);
97
98
  expect(result.error).toMatch(/disabled on this server/);
@@ -112,7 +113,7 @@ describe('mergePullRequest', () => {
112
113
  getPullRequest.mockResolvedValue({ toRef: { id: 'refs/heads/master' } });
113
114
  const result = await mergePullRequest({
114
115
  ...baseParams,
115
- gateway: { enabled: true, repos: ['PROJ/demo'], targetRefs: ['refs/heads/develop'] },
116
+ gateway: { enabled: true, repos: ['PROJ/demo'], targetRefs: ['refs/heads/develop'], policy: MERGE_POLICY },
116
117
  });
117
118
  expect(result.success).toBe(false);
118
119
  expect(result.error).toMatch(/refs\/heads\/master is not allowed/);
@@ -125,7 +126,7 @@ describe('mergePullRequest', () => {
125
126
  merge.mockResolvedValue(MERGED_PR);
126
127
  const result = await mergePullRequest({
127
128
  ...baseParams,
128
- gateway: { enabled: true, repos: ['PROJ/demo'], targetRefs: ['refs/heads/release/*'] },
129
+ gateway: { enabled: true, repos: ['PROJ/demo'], targetRefs: ['refs/heads/release/*'], policy: MERGE_POLICY },
129
130
  });
130
131
  expect(result.success).toBe(true);
131
132
  expect(merge).toHaveBeenCalled();
@@ -1 +1 @@
1
- {"version":3,"file":"pr-merge.test.js","sourceRoot":"","sources":["../../src/__tests__/pr-merge.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pr-merge.test.js","sourceRoot":"","sources":["../../src/__tests__/pr-merge.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pr-state.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pr-state.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/pr-state.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,118 @@
1
+ import { PullRequestsService } from '../bitbucket-client/index.js';
2
+ import { declinePullRequest, reopenPullRequest } from '../pr-state.js';
3
+ import { DECLINE_POLICY } from '../repo-gateway.js';
4
+ jest.mock('../bitbucket-client/index.js', () => ({
5
+ PullRequestsService: {
6
+ decline: jest.fn(),
7
+ reopen: jest.fn(),
8
+ },
9
+ OpenAPI: { BASE: '', TOKEN: '', VERSION: '' },
10
+ }));
11
+ const decline = PullRequestsService.decline;
12
+ const reopen = PullRequestsService.reopen;
13
+ const OPEN_GATEWAY = {
14
+ enabled: true,
15
+ repos: ['PROJ/demo'],
16
+ targetRefs: [],
17
+ policy: DECLINE_POLICY,
18
+ };
19
+ const DECLINED_PR = {
20
+ id: 42,
21
+ version: 3,
22
+ title: 'Add decline tool',
23
+ state: 'DECLINED',
24
+ fromRef: { id: 'refs/heads/feature' },
25
+ toRef: { id: 'refs/heads/develop' },
26
+ reviewers: [],
27
+ };
28
+ const REOPENED_PR = { ...DECLINED_PR, version: 4, state: 'OPEN' };
29
+ const baseParams = {
30
+ projectKey: 'PROJ',
31
+ repositorySlug: 'demo',
32
+ pullRequestId: '42',
33
+ version: 2,
34
+ };
35
+ describe('declinePullRequest', () => {
36
+ beforeEach(() => jest.clearAllMocks());
37
+ it('declines with the version as an optimistic lock and returns a compact ack', async () => {
38
+ decline.mockResolvedValue(DECLINED_PR);
39
+ const result = await declinePullRequest({ ...baseParams, gateway: OPEN_GATEWAY });
40
+ expect(decline).toHaveBeenCalledWith('PROJ', '42', 'demo', '2', { version: 2 });
41
+ expect(result.success).toBe(true);
42
+ expect(result.data).toEqual({
43
+ id: 42,
44
+ version: 3,
45
+ title: 'Add decline tool',
46
+ state: 'DECLINED',
47
+ fromRefId: 'refs/heads/feature',
48
+ toRefId: 'refs/heads/develop',
49
+ reviewerCount: 0,
50
+ });
51
+ });
52
+ it('posts the reason atomically with the decline when a comment is given', async () => {
53
+ decline.mockResolvedValue(DECLINED_PR);
54
+ await declinePullRequest({
55
+ ...baseParams,
56
+ gateway: OPEN_GATEWAY,
57
+ comment: 'Superseded by PR 99.',
58
+ });
59
+ expect(decline).toHaveBeenCalledWith('PROJ', '42', 'demo', '2', {
60
+ version: 2,
61
+ comment: 'Superseded by PR 99.',
62
+ });
63
+ });
64
+ it('can return the full payload', async () => {
65
+ decline.mockResolvedValue(DECLINED_PR);
66
+ const result = await declinePullRequest({ ...baseParams, gateway: OPEN_GATEWAY, output: 'full' });
67
+ expect(result.data).toBe(DECLINED_PR);
68
+ });
69
+ it('refuses without any request when declining is disabled', async () => {
70
+ const result = await declinePullRequest({
71
+ ...baseParams,
72
+ gateway: { enabled: false, repos: [], targetRefs: [], policy: DECLINE_POLICY },
73
+ });
74
+ expect(result.success).toBe(false);
75
+ expect(result.error).toMatch(/Declining pull requests is disabled on this server/);
76
+ expect(decline).not.toHaveBeenCalled();
77
+ });
78
+ it('refuses a repository outside the allowed list without any request', async () => {
79
+ const result = await declinePullRequest({
80
+ ...baseParams,
81
+ repositorySlug: 'other-repo',
82
+ gateway: OPEN_GATEWAY,
83
+ });
84
+ expect(result.success).toBe(false);
85
+ expect(result.error).toMatch(/Declining is not allowed in PROJ\/other-repo/);
86
+ expect(decline).not.toHaveBeenCalled();
87
+ });
88
+ it('surfaces a server-side failure such as a stale version', async () => {
89
+ decline.mockRejectedValue({ status: 409, statusText: 'Conflict', body: { errors: [{ message: 'stale' }] } });
90
+ const result = await declinePullRequest({ ...baseParams, gateway: OPEN_GATEWAY });
91
+ expect(result.success).toBe(false);
92
+ expect(result.error).toBe('Error declining pull request: 409 Conflict');
93
+ expect(result.details).toEqual({ errors: [{ message: 'stale' }] });
94
+ });
95
+ });
96
+ describe('reopenPullRequest', () => {
97
+ beforeEach(() => jest.clearAllMocks());
98
+ it('reopens with the version as an optimistic lock and returns a compact ack', async () => {
99
+ reopen.mockResolvedValue(REOPENED_PR);
100
+ const result = await reopenPullRequest(baseParams);
101
+ expect(reopen).toHaveBeenCalledWith('PROJ', '42', 'demo', '2', { version: 2 });
102
+ expect(result.success).toBe(true);
103
+ expect(result.data).toMatchObject({ id: 42, version: 4, state: 'OPEN' });
104
+ });
105
+ it('can return the full payload', async () => {
106
+ reopen.mockResolvedValue(REOPENED_PR);
107
+ const result = await reopenPullRequest({ ...baseParams, output: 'full' });
108
+ expect(result.data).toBe(REOPENED_PR);
109
+ });
110
+ it('surfaces a server-side failure such as a pull request that is not declined', async () => {
111
+ reopen.mockRejectedValue({ status: 409, statusText: 'Conflict', body: { errors: [{ message: 'not declined' }] } });
112
+ const result = await reopenPullRequest(baseParams);
113
+ expect(result.success).toBe(false);
114
+ expect(result.error).toBe('Error reopening pull request: 409 Conflict');
115
+ expect(result.details).toEqual({ errors: [{ message: 'not declined' }] });
116
+ });
117
+ });
118
+ //# sourceMappingURL=pr-state.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pr-state.test.js","sourceRoot":"","sources":["../../src/__tests__/pr-state.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAoB,MAAM,oBAAoB,CAAC;AAEtE,IAAI,CAAC,IAAI,CAAC,8BAA8B,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/C,mBAAmB,EAAE;QACnB,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;QAClB,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;KAClB;IACD,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;CAC9C,CAAC,CAAC,CAAC;AAEJ,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAoB,CAAC;AACzD,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAmB,CAAC;AAEvD,MAAM,YAAY,GAAgB;IAChC,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,CAAC,WAAW,CAAC;IACpB,UAAU,EAAE,EAAE;IACd,MAAM,EAAE,cAAc;CACvB,CAAC;AAEF,MAAM,WAAW,GAAG;IAClB,EAAE,EAAE,EAAE;IACN,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,kBAAkB;IACzB,KAAK,EAAE,UAAU;IACjB,OAAO,EAAE,EAAE,EAAE,EAAE,oBAAoB,EAAE;IACrC,KAAK,EAAE,EAAE,EAAE,EAAE,oBAAoB,EAAE;IACnC,SAAS,EAAE,EAAE;CACd,CAAC;AAEF,MAAM,WAAW,GAAG,EAAE,GAAG,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAElE,MAAM,UAAU,GAAG;IACjB,UAAU,EAAE,MAAM;IAClB,cAAc,EAAE,MAAM;IACtB,aAAa,EAAE,IAAI;IACnB,OAAO,EAAE,CAAC;CACX,CAAC;AAEF,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IAEvC,EAAE,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;QACzF,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAEvC,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,EAAE,GAAG,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;QAElF,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAChF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;YAC1B,EAAE,EAAE,EAAE;YACN,OAAO,EAAE,CAAC;YACV,KAAK,EAAE,kBAAkB;YACzB,KAAK,EAAE,UAAU;YACjB,SAAS,EAAE,oBAAoB;YAC/B,OAAO,EAAE,oBAAoB;YAC7B,aAAa,EAAE,CAAC;SACjB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACpF,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAEvC,MAAM,kBAAkB,CAAC;YACvB,GAAG,UAAU;YACb,OAAO,EAAE,YAAY;YACrB,OAAO,EAAE,sBAAsB;SAChC,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;YAC9D,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,sBAAsB;SAChC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAEvC,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,EAAE,GAAG,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAElG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;YACtC,GAAG,UAAU;YACb,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE;SAC/E,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC;QACnF,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;QACjF,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;YACtC,GAAG,UAAU;YACb,cAAc,EAAE,YAAY;YAC5B,OAAO,EAAE,YAAY;SACtB,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC;QAC7E,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,OAAO,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAE7G,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,EAAE,GAAG,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;QAElF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QACxE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IAEvC,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;QACxF,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAEtC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAEnD,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/E,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAEtC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,EAAE,GAAG,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAE1E,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;QAC1F,MAAM,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAEnH,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAEnD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QACxE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=repo-gateway.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repo-gateway.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/repo-gateway.test.ts"],"names":[],"mappings":""}
@@ -1,5 +1,11 @@
1
- import { assertRepoMergeAllowed, assertTargetRefMergeAllowed, resolveMergeGateway, } from '../merge-gateway.js';
1
+ import { DECLINE_POLICY, MERGE_POLICY, assertRepoOperationAllowed, assertTargetRefMergeAllowed, resolveDeclineGateway, resolveMergeGateway, } from '../repo-gateway.js';
2
2
  const silentWarn = () => undefined;
3
+ const disabled = (policy = MERGE_POLICY) => ({
4
+ enabled: false,
5
+ repos: [],
6
+ targetRefs: [],
7
+ policy,
8
+ });
3
9
  describe('resolveMergeGateway', () => {
4
10
  it('is disabled by default', () => {
5
11
  const gateway = resolveMergeGateway({ env: {}, warn: silentWarn });
@@ -51,34 +57,88 @@ describe('resolveMergeGateway', () => {
51
57
  expect(warnings[1]).toContain('stay disabled');
52
58
  });
53
59
  });
54
- describe('assertRepoMergeAllowed', () => {
60
+ describe('resolveDeclineGateway', () => {
61
+ it('is disabled by default', () => {
62
+ const gateway = resolveDeclineGateway({ env: {}, warn: silentWarn });
63
+ expect(gateway.enabled).toBe(false);
64
+ });
65
+ it('reads its own environment variables rather than the merge ones', () => {
66
+ const gateway = resolveDeclineGateway({
67
+ env: {
68
+ BITBUCKET_DECLINE_ENABLED: 'true',
69
+ BITBUCKET_DECLINE_ALLOWED_REPOS: 'proj/Demo, OTHER/*',
70
+ },
71
+ warn: silentWarn,
72
+ });
73
+ expect(gateway.enabled).toBe(true);
74
+ expect(gateway.repos).toEqual(['PROJ/demo', 'OTHER/*']);
75
+ });
76
+ it('stays disabled when only merging was enabled', () => {
77
+ const gateway = resolveDeclineGateway({
78
+ env: { BITBUCKET_MERGE_ENABLED: 'true', BITBUCKET_MERGE_ALLOWED_REPOS: 'PROJ/demo' },
79
+ warn: silentWarn,
80
+ });
81
+ expect(gateway.enabled).toBe(false);
82
+ });
83
+ it('never restricts target refs, even when the merge target refs are configured', () => {
84
+ const gateway = resolveDeclineGateway({
85
+ env: {
86
+ BITBUCKET_DECLINE_ENABLED: 'true',
87
+ BITBUCKET_DECLINE_ALLOWED_REPOS: 'PROJ/demo',
88
+ BITBUCKET_MERGE_ALLOWED_TARGET_REFS: 'develop',
89
+ },
90
+ warn: silentWarn,
91
+ });
92
+ expect(gateway.targetRefs).toEqual([]);
93
+ });
94
+ it('names the decline environment variables when enabled with no valid repository', () => {
95
+ const warnings = [];
96
+ resolveDeclineGateway({ env: { BITBUCKET_DECLINE_ENABLED: 'true' }, warn: message => warnings.push(message) });
97
+ expect(warnings).toHaveLength(1);
98
+ expect(warnings[0]).toContain('BITBUCKET_DECLINE_ALLOWED_REPOS');
99
+ });
100
+ });
101
+ describe('assertRepoOperationAllowed', () => {
55
102
  const gateway = resolveMergeGateway({
56
103
  env: { BITBUCKET_MERGE_ENABLED: 'true', BITBUCKET_MERGE_ALLOWED_REPOS: 'PROJ/demo, OTHER/*' },
57
104
  warn: silentWarn,
58
105
  });
59
- it('refuses everything when merging is disabled', () => {
60
- expect(() => assertRepoMergeAllowed({ enabled: false, repos: [], targetRefs: [] }, 'PROJ', 'demo'))
106
+ it('refuses everything when the operation is disabled', () => {
107
+ expect(() => assertRepoOperationAllowed(disabled(), 'PROJ', 'demo'))
61
108
  .toThrow(/disabled on this server/);
62
109
  });
110
+ it('names the environment variables of its own operation when disabled', () => {
111
+ expect(() => assertRepoOperationAllowed(disabled(DECLINE_POLICY), 'PROJ', 'demo'))
112
+ .toThrow(/Declining pull requests is disabled on this server\. Enable it with BITBUCKET_DECLINE_ENABLED and list the allowed repositories in BITBUCKET_DECLINE_ALLOWED_REPOS\./);
113
+ });
63
114
  it('allows an exact repository regardless of the casing used by the caller', () => {
64
- expect(() => assertRepoMergeAllowed(gateway, 'proj', 'DEMO')).not.toThrow();
115
+ expect(() => assertRepoOperationAllowed(gateway, 'proj', 'DEMO')).not.toThrow();
65
116
  });
66
117
  it('allows any repository in a wildcard project', () => {
67
- expect(() => assertRepoMergeAllowed(gateway, 'OTHER', 'anything')).not.toThrow();
118
+ expect(() => assertRepoOperationAllowed(gateway, 'OTHER', 'anything')).not.toThrow();
68
119
  });
69
120
  it('refuses a repository outside the allowed list', () => {
70
- expect(() => assertRepoMergeAllowed(gateway, 'PROJ', 'other-repo')).toThrow(/not allowed in PROJ\/other-repo/);
121
+ expect(() => assertRepoOperationAllowed(gateway, 'PROJ', 'other-repo')).toThrow(/Merging is not allowed in PROJ\/other-repo/);
122
+ });
123
+ it('names the refused operation in the message', () => {
124
+ const declineGateway = resolveDeclineGateway({
125
+ env: { BITBUCKET_DECLINE_ENABLED: 'true', BITBUCKET_DECLINE_ALLOWED_REPOS: 'PROJ/demo' },
126
+ warn: silentWarn,
127
+ });
128
+ expect(() => assertRepoOperationAllowed(declineGateway, 'PROJ', 'other-repo'))
129
+ .toThrow(/Declining is not allowed in PROJ\/other-repo/);
71
130
  });
72
131
  it('does not treat a wildcard project as a prefix of another project', () => {
73
- expect(() => assertRepoMergeAllowed(gateway, 'OTHERS', 'demo')).toThrow(/not allowed/);
132
+ expect(() => assertRepoOperationAllowed(gateway, 'OTHERS', 'demo')).toThrow(/not allowed/);
74
133
  });
75
134
  });
76
135
  describe('assertTargetRefMergeAllowed', () => {
77
- const unrestricted = { enabled: true, repos: ['PROJ/demo'], targetRefs: [] };
136
+ const unrestricted = { enabled: true, repos: ['PROJ/demo'], targetRefs: [], policy: MERGE_POLICY };
78
137
  const restricted = {
79
138
  enabled: true,
80
139
  repos: ['PROJ/demo'],
81
140
  targetRefs: ['refs/heads/develop', 'refs/heads/release/*'],
141
+ policy: MERGE_POLICY,
82
142
  };
83
143
  it('allows any ref when no target-ref restriction is configured', () => {
84
144
  expect(() => assertTargetRefMergeAllowed(unrestricted, 'refs/heads/master')).not.toThrow();
@@ -95,4 +155,4 @@ describe('assertTargetRefMergeAllowed', () => {
95
155
  expect(() => assertTargetRefMergeAllowed(restricted, undefined)).toThrow(/Could not determine the target branch/);
96
156
  });
97
157
  });
98
- //# sourceMappingURL=merge-gateway.test.js.map
158
+ //# sourceMappingURL=repo-gateway.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repo-gateway.test.js","sourceRoot":"","sources":["../../src/__tests__/repo-gateway.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  import { CompareDiffResponse } from './compare-diff-mapper.js';
3
3
  import { type MergePullRequestParams } from './pr-merge.js';
4
+ import { type DeclinePullRequestParams, type ReopenPullRequestParams } from './pr-state.js';
4
5
  import { BitbucketMutationOutputMode, BitbucketOutputMode } from './bitbucket-response-mapper.js';
5
6
  type BranchDiffOutputMode = 'unified' | 'full';
6
7
  export declare class BitbucketService {
@@ -195,6 +196,14 @@ export declare class BitbucketService {
195
196
  * @returns Promise with the mergeability status
196
197
  */
197
198
  getPullRequestMergeability(projectKey: string, repositorySlug: string, pullRequestId: string): Promise<import("@atlassian-dc-mcp/common").ApiErrorResponse<import("./bitbucket-client/index.js").RestPullRequestMergeability>>;
199
+ /**
200
+ * Get the CI build statuses reported on a pull request's latest source commit. Read-only.
201
+ * @param projectKey The project key
202
+ * @param repositorySlug The repository slug
203
+ * @param pullRequestId The pull request ID
204
+ * @returns Promise with the commit id, per-state counts and the build statuses
205
+ */
206
+ getPullRequestBuilds(projectKey: string, repositorySlug: string, pullRequestId: string): Promise<import("@atlassian-dc-mcp/common").ApiErrorResponse<import("./pr-builds.js").PullRequestBuilds>>;
198
207
  /**
199
208
  * Merge a pull request. Only permitted for repositories (and target branches) the operator
200
209
  * allowed through the merge gateway; see merge-gateway.ts. A conflicted or vetoed pull
@@ -206,6 +215,21 @@ export declare class BitbucketService {
206
215
  * @returns Promise with the merged pull request
207
216
  */
208
217
  mergePullRequest(params: MergePullRequestParams): Promise<import("@atlassian-dc-mcp/common").ApiErrorResponse<import("./bitbucket-client/index.js").RestPullRequest>>;
218
+ /**
219
+ * Decline a pull request. Only permitted for repositories the operator allowed through the
220
+ * decline gateway; see repo-gateway.ts.
221
+ * @param params.version The current pull request version, required for optimistic locking
222
+ * @param params.comment Optional reason, posted as a pull request comment by the same request
223
+ * @param params.gateway The resolved operator decline policy
224
+ * @returns Promise with the declined pull request
225
+ */
226
+ declinePullRequest(params: DeclinePullRequestParams): Promise<import("@atlassian-dc-mcp/common").ApiErrorResponse<import("./bitbucket-client/index.js").RestPullRequest>>;
227
+ /**
228
+ * Reopen a declined pull request. Not gated: it restores the state a decline removed.
229
+ * @param params.version The current pull request version, required for optimistic locking
230
+ * @returns Promise with the reopened pull request
231
+ */
232
+ reopenPullRequest(params: ReopenPullRequestParams): Promise<import("@atlassian-dc-mcp/common").ApiErrorResponse<import("./bitbucket-client/index.js").RestPullRequest>>;
209
233
  /**
210
234
  * Get a user by slug, or search for users by name/email filter
211
235
  * @param userSlug Optional exact slug to look up a specific user
@@ -511,6 +535,11 @@ export declare const bitbucketToolSchemas: {
511
535
  repositorySlug: z.ZodString;
512
536
  pullRequestId: z.ZodString;
513
537
  };
538
+ getPullRequestBuilds: {
539
+ projectKey: z.ZodString;
540
+ repositorySlug: z.ZodString;
541
+ pullRequestId: z.ZodString;
542
+ };
514
543
  mergePullRequest: {
515
544
  projectKey: z.ZodString;
516
545
  repositorySlug: z.ZodString;
@@ -520,6 +549,21 @@ export declare const bitbucketToolSchemas: {
520
549
  message: z.ZodOptional<z.ZodString>;
521
550
  output: z.ZodOptional<z.ZodEnum<["ack", "full"]>>;
522
551
  };
552
+ declinePullRequest: {
553
+ projectKey: z.ZodString;
554
+ repositorySlug: z.ZodString;
555
+ pullRequestId: z.ZodString;
556
+ version: z.ZodNumber;
557
+ comment: z.ZodOptional<z.ZodString>;
558
+ output: z.ZodOptional<z.ZodEnum<["ack", "full"]>>;
559
+ };
560
+ reopenPullRequest: {
561
+ projectKey: z.ZodString;
562
+ repositorySlug: z.ZodString;
563
+ pullRequestId: z.ZodString;
564
+ version: z.ZodNumber;
565
+ output: z.ZodOptional<z.ZodEnum<["ack", "full"]>>;
566
+ };
523
567
  getRequiredReviewers: {
524
568
  projectKey: z.ZodString;
525
569
  repositorySlug: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"bitbucket-service.d.ts","sourceRoot":"","sources":["../src/bitbucket-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bitbucket-service.d.ts","sourceRoot":"","sources":["../src/bitbucket-service.ts"],"names":[],"mappings":"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"}