@knpkv/codecommit-core 0.6.0 → 0.7.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.
Files changed (100) hide show
  1. package/dist/AwsClient/AwsClientGated.d.ts +3 -0
  2. package/dist/AwsClient/AwsClientGated.d.ts.map +1 -1
  3. package/dist/AwsClient/AwsClientGated.js +7 -1
  4. package/dist/AwsClient/AwsClientGated.js.map +1 -1
  5. package/dist/AwsClient/createApprovalRule.d.ts +4 -0
  6. package/dist/AwsClient/createApprovalRule.d.ts.map +1 -0
  7. package/dist/AwsClient/createApprovalRule.js +17 -0
  8. package/dist/AwsClient/createApprovalRule.js.map +1 -0
  9. package/dist/AwsClient/deleteApprovalRule.d.ts +4 -0
  10. package/dist/AwsClient/deleteApprovalRule.d.ts.map +1 -0
  11. package/dist/AwsClient/deleteApprovalRule.js +16 -0
  12. package/dist/AwsClient/deleteApprovalRule.js.map +1 -0
  13. package/dist/AwsClient/getPullRequest.d.ts.map +1 -1
  14. package/dist/AwsClient/getPullRequest.js +34 -7
  15. package/dist/AwsClient/getPullRequest.js.map +1 -1
  16. package/dist/AwsClient/getPullRequests.d.ts +85 -1
  17. package/dist/AwsClient/getPullRequests.d.ts.map +1 -1
  18. package/dist/AwsClient/getPullRequests.js +133 -17
  19. package/dist/AwsClient/getPullRequests.js.map +1 -1
  20. package/dist/AwsClient/index.d.ts +13 -1
  21. package/dist/AwsClient/index.d.ts.map +1 -1
  22. package/dist/AwsClient/index.js +16 -1
  23. package/dist/AwsClient/index.js.map +1 -1
  24. package/dist/AwsClient/internal.d.ts +63 -1
  25. package/dist/AwsClient/internal.d.ts.map +1 -1
  26. package/dist/AwsClient/internal.js +37 -3
  27. package/dist/AwsClient/internal.js.map +1 -1
  28. package/dist/AwsClient/updateApprovalRule.d.ts +4 -0
  29. package/dist/AwsClient/updateApprovalRule.d.ts.map +1 -0
  30. package/dist/AwsClient/updateApprovalRule.js +17 -0
  31. package/dist/AwsClient/updateApprovalRule.js.map +1 -0
  32. package/dist/CacheService/Database.d.ts +4 -0
  33. package/dist/CacheService/Database.d.ts.map +1 -1
  34. package/dist/CacheService/Database.js +11 -1
  35. package/dist/CacheService/Database.js.map +1 -1
  36. package/dist/CacheService/diff.d.ts +17 -1
  37. package/dist/CacheService/diff.d.ts.map +1 -1
  38. package/dist/CacheService/diff.js +34 -0
  39. package/dist/CacheService/diff.js.map +1 -1
  40. package/dist/CacheService/index.d.ts +5 -1
  41. package/dist/CacheService/index.d.ts.map +1 -1
  42. package/dist/CacheService/index.js +5 -1
  43. package/dist/CacheService/index.js.map +1 -1
  44. package/dist/CacheService/migrations/0013_approval_rules.d.ts +5 -0
  45. package/dist/CacheService/migrations/0013_approval_rules.d.ts.map +1 -0
  46. package/dist/CacheService/migrations/0013_approval_rules.js +4 -0
  47. package/dist/CacheService/migrations/0013_approval_rules.js.map +1 -0
  48. package/dist/CacheService/migrations/0014_approved_by_arns.d.ts +5 -0
  49. package/dist/CacheService/migrations/0014_approved_by_arns.d.ts.map +1 -0
  50. package/dist/CacheService/migrations/0014_approved_by_arns.js +4 -0
  51. package/dist/CacheService/migrations/0014_approved_by_arns.js.map +1 -0
  52. package/dist/CacheService/migrations/0015_repo_account_id.d.ts +5 -0
  53. package/dist/CacheService/migrations/0015_repo_account_id.d.ts.map +1 -0
  54. package/dist/CacheService/migrations/0015_repo_account_id.js +4 -0
  55. package/dist/CacheService/migrations/0015_repo_account_id.js.map +1 -0
  56. package/dist/CacheService/repos/NotificationRepo.d.ts.map +1 -1
  57. package/dist/CacheService/repos/NotificationRepo.js +2 -2
  58. package/dist/CacheService/repos/NotificationRepo.js.map +1 -1
  59. package/dist/CacheService/repos/PullRequestRepo/index.d.ts +10 -0
  60. package/dist/CacheService/repos/PullRequestRepo/index.d.ts.map +1 -1
  61. package/dist/CacheService/repos/PullRequestRepo/internal.d.ts +15 -0
  62. package/dist/CacheService/repos/PullRequestRepo/internal.d.ts.map +1 -1
  63. package/dist/CacheService/repos/PullRequestRepo/internal.js +30 -4
  64. package/dist/CacheService/repos/PullRequestRepo/internal.js.map +1 -1
  65. package/dist/CacheService/repos/PullRequestRepo/mutations.d.ts +12 -2
  66. package/dist/CacheService/repos/PullRequestRepo/mutations.d.ts.map +1 -1
  67. package/dist/CacheService/repos/PullRequestRepo/mutations.js +21 -5
  68. package/dist/CacheService/repos/PullRequestRepo/mutations.js.map +1 -1
  69. package/dist/CacheService/repos/PullRequestRepo/queries.d.ts +9 -0
  70. package/dist/CacheService/repos/PullRequestRepo/queries.d.ts.map +1 -1
  71. package/dist/CacheService/repos/StatsRepo/internal.d.ts.map +1 -1
  72. package/dist/CacheService/repos/StatsRepo/internal.js +5 -4
  73. package/dist/CacheService/repos/StatsRepo/internal.js.map +1 -1
  74. package/dist/Domain.d.ts +106 -7
  75. package/dist/Domain.d.ts.map +1 -1
  76. package/dist/Domain.js +66 -6
  77. package/dist/Domain.js.map +1 -1
  78. package/dist/PRService/internal.d.ts +23 -0
  79. package/dist/PRService/internal.d.ts.map +1 -1
  80. package/dist/PRService/internal.js +20 -5
  81. package/dist/PRService/internal.js.map +1 -1
  82. package/dist/PRService/refreshFetch.d.ts +5 -1
  83. package/dist/PRService/refreshFetch.d.ts.map +1 -1
  84. package/dist/PRService/refreshFetch.js +15 -4
  85. package/dist/PRService/refreshFetch.js.map +1 -1
  86. package/dist/PRService/refreshSinglePR.d.ts +7 -0
  87. package/dist/PRService/refreshSinglePR.d.ts.map +1 -1
  88. package/dist/PRService/refreshSinglePR.js +16 -3
  89. package/dist/PRService/refreshSinglePR.js.map +1 -1
  90. package/dist/PermissionService/AuditLog.d.ts +1 -0
  91. package/dist/PermissionService/AuditLog.d.ts.map +1 -1
  92. package/dist/PermissionService/AuditLog.js +34 -20
  93. package/dist/PermissionService/AuditLog.js.map +1 -1
  94. package/dist/PermissionService/index.js +1 -1
  95. package/dist/PermissionService/index.js.map +1 -1
  96. package/dist/PermissionService/operations.d.ts +14 -1
  97. package/dist/PermissionService/operations.d.ts.map +1 -1
  98. package/dist/PermissionService/operations.js +15 -2
  99. package/dist/PermissionService/operations.js.map +1 -1
  100. package/package.json +1 -1
@@ -12,6 +12,9 @@
12
12
  * PermissionDeniedError → AwsApiError at the boundary for type transparency.
13
13
  * The actual PermissionDeniedError is preserved as the AwsApiError's `cause`.
14
14
  *
15
+ * All operations — reads, writes, and approval rule CRUD — are gated with
16
+ * the appropriate category for UI badge color and prompt behavior.
17
+ *
15
18
  * @module
16
19
  */
17
20
  import { Context, Layer } from "effect";
@@ -1 +1 @@
1
- {"version":3,"file":"AwsClientGated.d.ts","sourceRoot":"","sources":["../../src/AwsClient/AwsClientGated.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,OAAO,EAAU,KAAK,EAAiB,MAAM,QAAQ,CAAA;AAG9D,OAAO,EAAE,YAAY,EAAyB,MAAM,kCAAkC,CAAA;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AACvE,OAAO,EAAE,SAAS,EAAuB,MAAM,YAAY,CAAA;;AAG3D,qBAAa,cAAe,SAAQ,mBAGjC;CAAG;AAiBN,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,KAAK,CAC1C,SAAS,EACT,KAAK,EACL,cAAc,GAAG,iBAAiB,GAAG,cAAc,GAAG,YAAY,CAmKnE,CAAA"}
1
+ {"version":3,"file":"AwsClientGated.d.ts","sourceRoot":"","sources":["../../src/AwsClient/AwsClientGated.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,OAAO,EAAU,KAAK,EAAiB,MAAM,QAAQ,CAAA;AAG9D,OAAO,EAAE,YAAY,EAAyB,MAAM,kCAAkC,CAAA;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AACvE,OAAO,EAAE,SAAS,EAAuB,MAAM,YAAY,CAAA;;AAG3D,qBAAa,cAAe,SAAQ,mBAGjC;CAAG;AAiBN,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,KAAK,CAC1C,SAAS,EACT,KAAK,EACL,cAAc,GAAG,iBAAiB,GAAG,cAAc,GAAG,YAAY,CAqLnE,CAAA"}
@@ -12,6 +12,9 @@
12
12
  * PermissionDeniedError → AwsApiError at the boundary for type transparency.
13
13
  * The actual PermissionDeniedError is preserved as the AwsApiError's `cause`.
14
14
  *
15
+ * All operations — reads, writes, and approval rule CRUD — are gated with
16
+ * the appropriate category for UI badge color and prompt behavior.
17
+ *
15
18
  * @module
16
19
  */
17
20
  import { Context, Effect, Layer, Match, Stream } from "effect";
@@ -99,7 +102,10 @@ export const AwsClientGatedLive = Layer.effect(AwsClient, Effect.gen(function* (
99
102
  updatePullRequestTitle: gated("updatePullRequestTitle", (p) => `Edit title of PR #${p.pullRequestId}`, nested, inner.updatePullRequestTitle),
100
103
  updatePullRequestDescription: gated("updatePullRequestDescription", (p) => `Edit desc of PR #${p.pullRequestId}`, nested, inner.updatePullRequestDescription),
101
104
  getPullRequest: gated("getPullRequest", (p) => `Fetch PR #${p.pullRequestId}`, nested, inner.getPullRequest),
102
- getDifferences: gated("getDifferences", (p) => `Diff for ${p.repositoryName}`, nested, inner.getDifferences)
105
+ getDifferences: gated("getDifferences", (p) => `Diff for ${p.repositoryName}`, nested, inner.getDifferences),
106
+ createApprovalRule: gated("createApprovalRule", (p) => `Create rule "${p.approvalRuleName}" on PR #${p.pullRequestId}`, nested, inner.createApprovalRule),
107
+ updateApprovalRule: gated("updateApprovalRule", (p) => `Update rule "${p.approvalRuleName}" on PR #${p.pullRequestId}`, nested, inner.updateApprovalRule),
108
+ deleteApprovalRule: gated("deleteApprovalRule", (p) => `Delete rule "${p.approvalRuleName}" on PR #${p.pullRequestId}`, nested, inner.deleteApprovalRule)
103
109
  };
104
110
  }));
105
111
  //# sourceMappingURL=AwsClientGated.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AwsClientGated.js","sourceRoot":"","sources":["../../src/AwsClient/AwsClientGated.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AwsClientGated.js","sourceRoot":"","sources":["../../src/AwsClient/AwsClientGated.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Effect } from "effect";
2
+ import { type CreateApprovalRuleParams } from "./internal.js";
3
+ export declare const createApprovalRule: (params: CreateApprovalRuleParams) => Effect.Effect<void, import("./internal.js").AwsCredentialError | import("./internal.js").AwsApiError, import("../AwsClientConfig.ts").AwsClientConfig | import("@effect/platform/HttpClient").HttpClient>;
4
+ //# sourceMappingURL=createApprovalRule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createApprovalRule.d.ts","sourceRoot":"","sources":["../../src/AwsClient/createApprovalRule.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,KAAK,wBAAwB,EAAgC,MAAM,eAAe,CAAA;AAY3F,eAAO,MAAM,kBAAkB,GAAI,QAAQ,wBAAwB,8MACmB,CAAA"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Creates an approval rule on a pull request via
3
+ * `distilled-aws/codecommit.createPullRequestApprovalRule`, wrapped with
4
+ * {@link withAwsContext} for credential acquisition and retry.
5
+ *
6
+ * @internal
7
+ */
8
+ import * as codecommit from "distilled-aws/codecommit";
9
+ import { Effect } from "effect";
10
+ import { makeApiError, withAwsContext } from "./internal.js";
11
+ const callCreateApprovalRule = (params) => codecommit.createPullRequestApprovalRule({
12
+ pullRequestId: params.pullRequestId,
13
+ approvalRuleName: params.approvalRuleName,
14
+ approvalRuleContent: params.approvalRuleContent
15
+ }).pipe(Effect.asVoid, Effect.mapError((cause) => makeApiError("createApprovalRule", params.account.profile, params.account.region, cause)));
16
+ export const createApprovalRule = (params) => withAwsContext("createApprovalRule", params.account, callCreateApprovalRule(params));
17
+ //# sourceMappingURL=createApprovalRule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createApprovalRule.js","sourceRoot":"","sources":["../../src/AwsClient/createApprovalRule.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,UAAU,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAiC,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAE3F,MAAM,sBAAsB,GAAG,CAAC,MAAgC,EAAE,EAAE,CAClE,UAAU,CAAC,6BAA6B,CAAC;IACvC,aAAa,EAAE,MAAM,CAAC,aAAa;IACnC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;IACzC,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;CAChD,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,oBAAoB,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CACrH,CAAA;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAgC,EAAE,EAAE,CACrE,cAAc,CAAC,oBAAoB,EAAE,MAAM,CAAC,OAAO,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { Effect } from "effect";
2
+ import { type DeleteApprovalRuleParams } from "./internal.js";
3
+ export declare const deleteApprovalRule: (params: DeleteApprovalRuleParams) => Effect.Effect<void, import("./internal.js").AwsCredentialError | import("./internal.js").AwsApiError, import("../AwsClientConfig.ts").AwsClientConfig | import("@effect/platform/HttpClient").HttpClient>;
4
+ //# sourceMappingURL=deleteApprovalRule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deleteApprovalRule.d.ts","sourceRoot":"","sources":["../../src/AwsClient/deleteApprovalRule.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,KAAK,wBAAwB,EAAgC,MAAM,eAAe,CAAA;AAW3F,eAAO,MAAM,kBAAkB,GAAI,QAAQ,wBAAwB,8MACmB,CAAA"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Deletes an approval rule from a pull request via
3
+ * `distilled-aws/codecommit.deletePullRequestApprovalRule`, wrapped with
4
+ * {@link withAwsContext} for credential acquisition and retry.
5
+ *
6
+ * @internal
7
+ */
8
+ import * as codecommit from "distilled-aws/codecommit";
9
+ import { Effect } from "effect";
10
+ import { makeApiError, withAwsContext } from "./internal.js";
11
+ const callDeleteApprovalRule = (params) => codecommit.deletePullRequestApprovalRule({
12
+ pullRequestId: params.pullRequestId,
13
+ approvalRuleName: params.approvalRuleName
14
+ }).pipe(Effect.asVoid, Effect.mapError((cause) => makeApiError("deleteApprovalRule", params.account.profile, params.account.region, cause)));
15
+ export const deleteApprovalRule = (params) => withAwsContext("deleteApprovalRule", params.account, callDeleteApprovalRule(params));
16
+ //# sourceMappingURL=deleteApprovalRule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deleteApprovalRule.js","sourceRoot":"","sources":["../../src/AwsClient/deleteApprovalRule.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,UAAU,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAiC,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAE3F,MAAM,sBAAsB,GAAG,CAAC,MAAgC,EAAE,EAAE,CAClE,UAAU,CAAC,6BAA6B,CAAC;IACvC,aAAa,EAAE,MAAM,CAAC,aAAa;IACnC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;CAC1C,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,oBAAoB,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CACrH,CAAA;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAgC,EAAE,EAAE,CACrE,cAAc,CAAC,oBAAoB,EAAE,MAAM,CAAC,OAAO,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getPullRequest.d.ts","sourceRoot":"","sources":["../../src/AwsClient/getPullRequest.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAA;AACvC,OAAO,EACL,KAAK,oBAAoB,EAGzB,iBAAiB,EAElB,MAAM,eAAe,CAAA;AA+FtB,eAAO,MAAM,cAAc,GAAI,QAAQ,oBAAoB,2NACmB,CAAA"}
1
+ {"version":3,"file":"getPullRequest.d.ts","sourceRoot":"","sources":["../../src/AwsClient/getPullRequest.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAA;AAEvC,OAAO,EACL,KAAK,oBAAoB,EAGzB,iBAAiB,EAElB,MAAM,eAAe,CAAA;AA4FtB,eAAO,MAAM,cAAc,GAAI,QAAQ,oBAAoB,2NACmB,CAAA"}
@@ -1,8 +1,31 @@
1
1
  /**
2
+ * Fetches a single PR's full detail — metadata, approvers, approval rules,
3
+ * and repo account ID in parallel. Returns a {@link PullRequestDetail}
4
+ * transport object.
5
+ *
6
+ * **Mental model**
7
+ *
8
+ * ```
9
+ * codecommit.getPullRequest ─┬─► decodePullRequestDetail
10
+ * ├─► fetchApprovers → { names, arns }
11
+ * ├─► fetchApprovalEvaluation → satisfiedNames
12
+ * └─► fetchRepoAccountId → repo account ID
13
+ * ```
14
+ *
15
+ * - Shared: {@link buildApprovalRules}, {@link fetchApprovalEvaluation},
16
+ * {@link fetchRepoAccountId} from getPullRequests.ts
17
+ * - Runs inside {@link withAwsContext} (Credentials + Region + AwsClientConfig)
18
+ *
19
+ * **Gotchas**
20
+ *
21
+ * - `PullRequestDetail.approvalRules` uses inline struct, not Schema.Class —
22
+ * class constructors reject plain objects from `buildApprovalRules`
23
+ *
2
24
  * @internal
3
25
  */
4
26
  import * as codecommit from "distilled-aws/codecommit";
5
27
  import { Effect, Schema } from "effect";
28
+ import { buildApprovalRules, fetchApprovalEvaluation, fetchApprovers, fetchRepoAccountId } from "./getPullRequests.js";
6
29
  import { makeApiError, normalizeAuthor, PullRequestDetail, withAwsContext } from "./internal.js";
7
30
  const EpochFallback = new Date(0);
8
31
  // Bidirectional Schema: raw AWS GetPullRequest response ↔ PullRequestDetail
@@ -63,19 +86,23 @@ const RawToPullRequestDetail = Schema.transform(RawGetPullRequestResponse, PullR
63
86
  });
64
87
  // Effectful decode — ParseError in error channel instead of thrown defect
65
88
  const decodePullRequestDetail = (raw) => Schema.decodeUnknown(RawToPullRequestDetail)(raw);
66
- const fetchApprovers = (pullRequestId, revisionId) => codecommit.getPullRequestApprovalStates({ pullRequestId, revisionId }).pipe(Effect.map((r) => (r.approvals ?? [])
67
- .filter((a) => a.approvalState === "APPROVE" && a.userArn)
68
- .map((a) => normalizeAuthor(a.userArn))), Effect.catchAll(() => Effect.succeed([])));
69
89
  const callGetPullRequest = (params) => Effect.gen(function* () {
70
90
  const resp = yield* codecommit.getPullRequest({ pullRequestId: params.pullRequestId });
71
91
  const revisionId = resp.pullRequest?.revisionId ?? "";
72
- const [detail, approvers] = yield* Effect.all([
92
+ const repoName = resp.pullRequest?.pullRequestTargets?.[0]?.repositoryName ?? "";
93
+ const [detail, approvers, evaluation, repoAccountId] = yield* Effect.all([
73
94
  decodePullRequestDetail(resp),
74
- fetchApprovers(params.pullRequestId, revisionId)
75
- ], { concurrency: 2 });
95
+ fetchApprovers(params.pullRequestId, revisionId),
96
+ fetchApprovalEvaluation(params.pullRequestId, revisionId),
97
+ fetchRepoAccountId(repoName)
98
+ ], { concurrency: 4 });
99
+ const approvalRules = yield* buildApprovalRules(resp.pullRequest?.approvalRules ?? [], evaluation.satisfiedNames);
76
100
  return new PullRequestDetail({
77
101
  ...detail,
78
- approvedBy: approvers
102
+ approvedBy: approvers.names,
103
+ approvedByArns: approvers.arns,
104
+ approvalRules,
105
+ repoAccountId: repoAccountId || undefined
79
106
  });
80
107
  }).pipe(Effect.mapError((cause) => makeApiError("getPullRequest", params.account.profile, params.account.region, cause)));
81
108
  export const getPullRequest = (params) => withAwsContext("getPullRequest", params.account, callGetPullRequest(params));
@@ -1 +1 @@
1
- {"version":3,"file":"getPullRequest.js","sourceRoot":"","sources":["../../src/AwsClient/getPullRequest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getPullRequest.js","sourceRoot":"","sources":["../../src/AwsClient/getPullRequest.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,97 @@
1
1
  /**
2
+ * Bulk PR fetch — streams all open PRs across repos for one account.
3
+ *
4
+ * Lists all repositories, discovers PR IDs per repo, then fetches full
5
+ * details (approval rules, evaluation state, merge conflicts, approvers,
6
+ * repo account ID) per PR and decodes into {@link PullRequest} domain objects.
7
+ *
8
+ * **Mental model**
9
+ *
10
+ * ```
11
+ * listRepos → listPRIds → fetchPRDetails → getRepoAccount → decodePullRequest
12
+ * │ │
13
+ * evaluateApprovalRules getRepository
14
+ * getPullRequest (cached per repo)
15
+ * getApprovalStates
16
+ * ```
17
+ *
18
+ * - Two API responses merged per PR: `getPullRequest.approvalRules` (rule defs)
19
+ * + `evaluateApprovalRules` (satisfied names). Cross-ref via {@link buildApprovalRules}.
20
+ * - {@link parseRuleContent}: AWS JSON `{Version, Statements[{ApprovalPoolMembers}]}`
21
+ * → `poolMembers` (normalized) + `poolMemberArns` (raw ARNs).
22
+ * - {@link fetchRepoAccountId}: `getRepository` once per repo (cached). Needed for
23
+ * cross-account SSO where `getCallerIdentity` ≠ CodeCommit account.
24
+ *
25
+ * **Gotchas**
26
+ *
27
+ * - `evaluateApprovalRules.approvalRulesSatisfied` is `string[]` of rule NAMES, not full objects
28
+ * - `parseRuleContent` falls back silently on malformed JSON (warns if content truthy)
29
+ * - `fetchApprovalEvaluation` uses `throttleRetry` — needs `AwsClientConfig` in context
30
+ *
2
31
  * @internal
3
32
  */
4
33
  import { HttpClient } from "@effect/platform";
5
- import { Stream } from "effect";
34
+ import { Credentials, Region } from "distilled-aws";
35
+ import { Effect, Stream } from "effect";
6
36
  import { AwsClientConfig } from "../AwsClientConfig.js";
7
37
  import { PullRequest } from "../Domain.js";
8
38
  import type { AwsClientError } from "../Errors.js";
9
39
  import { type AccountParams } from "./internal.js";
40
+ interface ParsedRule {
41
+ readonly requiredApprovals: number;
42
+ readonly poolMembers: Array<string>;
43
+ readonly poolMemberArns: Array<string>;
44
+ }
45
+ /**
46
+ * Parse AWS approval rule content JSON into pool members + required count.
47
+ * Format: {"Version":"2018-11-08","Statements":[{"Type":"Approvers","NumberOfApprovalsNeeded":N,"ApprovalPoolMembers":["arn:..."]}]}
48
+ *
49
+ * Falls back to defaults on malformed JSON; logs a warning when content was provided.
50
+ */
51
+ export declare const parseRuleContent: (content?: string) => Effect.Effect<ParsedRule>;
52
+ /**
53
+ * Evaluate which approval rules are satisfied/not, returning just the boolean + satisfied rule names.
54
+ */
55
+ export declare const fetchApprovalEvaluation: (pullRequestId: string, revisionId: string) => Effect.Effect<{
56
+ isApproved: boolean;
57
+ satisfiedNames: Set<string>;
58
+ } | {
59
+ isApproved: boolean;
60
+ satisfiedNames: Set<string>;
61
+ }, never, AwsClientConfig | HttpClient.HttpClient | Region.Region | Credentials.Credentials>;
62
+ /** Plain data shape matching ApprovalRule — avoids Schema.Class branding. */
63
+ export interface ApprovalRuleData {
64
+ readonly ruleName: string;
65
+ readonly satisfied: boolean;
66
+ readonly requiredApprovals: number;
67
+ readonly poolMembers: Array<string>;
68
+ readonly poolMemberArns: Array<string>;
69
+ readonly fromTemplate?: string;
70
+ }
71
+ /**
72
+ * Build ApprovalRule data from getPullRequest's raw rules + evaluation satisfaction state.
73
+ * Filters out rules with empty names (phantom rules from missing AWS data).
74
+ */
75
+ export declare const buildApprovalRules: (rawRules: ReadonlyArray<{
76
+ approvalRuleName?: string;
77
+ approvalRuleContent?: string;
78
+ originApprovalRuleTemplate?: {
79
+ approvalRuleTemplateName?: string;
80
+ };
81
+ }>, satisfiedNames: Set<string>) => Effect.Effect<Array<ApprovalRuleData>>;
82
+ /**
83
+ * Fetch who approved a PR (ARN list of approvers with APPROVE state).
84
+ */
85
+ export declare const fetchApprovers: (pullRequestId: string, revisionId: string) => Effect.Effect<{
86
+ names: string[];
87
+ arns: string[];
88
+ } | {
89
+ names: Array<string>;
90
+ arns: Array<string>;
91
+ }, never, AwsClientConfig | HttpClient.HttpClient | Region.Region | Credentials.Credentials>;
92
+ export declare const fetchRepoAccountId: (repoName: string) => Effect.Effect<string, never, HttpClient.HttpClient | Region.Region | Credentials.Credentials>;
10
93
  export declare const getPullRequests: (account: AccountParams, options?: {
11
94
  status?: "OPEN" | "CLOSED";
12
95
  }) => Stream.Stream<PullRequest, AwsClientError, AwsClientConfig | HttpClient.HttpClient>;
96
+ export {};
13
97
  //# sourceMappingURL=getPullRequests.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getPullRequests.d.ts","sourceRoot":"","sources":["../../src/AwsClient/getPullRequests.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAG7C,OAAO,EAAwB,MAAM,EAAE,MAAM,QAAQ,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAA4D,WAAW,EAAE,MAAM,cAAc,CAAA;AACpG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,KAAK,aAAa,EAAoE,MAAM,eAAe,CAAA;AAqLpH,eAAO,MAAM,eAAe,GAC1B,SAAS,aAAa,EACtB,UAAU;IAAE,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,KACvC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,EAAE,eAAe,GAAG,UAAU,CAAC,UAAU,CA2BlF,CAAA"}
1
+ {"version":3,"file":"getPullRequests.d.ts","sourceRoot":"","sources":["../../src/AwsClient/getPullRequests.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAEnD,OAAO,EAAQ,MAAM,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAA0E,WAAW,EAAE,MAAM,cAAc,CAAA;AAClH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,KAAK,aAAa,EAAoE,MAAM,eAAe,CAAA;AA6BpH,UAAU,UAAU;IAClB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IACnC,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;CACvC;AASD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,UAAU,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAmBzE,CAAA;AAEH;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAAI,eAAe,MAAM,EAAE,YAAY,MAAM;;;;;;4FAU9E,CAAA;AAEH,6EAA6E;AAC7E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IACnC,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAC/B;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAC7B,UAAU,aAAa,CACrB;IACE,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,0BAA0B,CAAC,EAAE;QAAE,wBAAwB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACnE,CACF,EACD,gBAAgB,GAAG,CAAC,MAAM,CAAC,KAC1B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAcrC,CAAA;AA8BH;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,eAAe,MAAM,EAAE,YAAY,MAAM;;;;WAYhB,KAAK,CAAC,MAAM,CAAC;UAAc,KAAK,CAAC,MAAM,CAAC;4FAC7F,CAAA;AA2HH,eAAO,MAAM,kBAAkB,GAAI,UAAU,MAAM,kGAKhD,CAAA;AAYH,eAAO,MAAM,eAAe,GAC1B,SAAS,aAAa,EACtB,UAAU;IAAE,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,KACvC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,EAAE,eAAe,GAAG,UAAU,CAAC,UAAU,CA6ClF,CAAA"}
@@ -1,4 +1,33 @@
1
1
  /**
2
+ * Bulk PR fetch — streams all open PRs across repos for one account.
3
+ *
4
+ * Lists all repositories, discovers PR IDs per repo, then fetches full
5
+ * details (approval rules, evaluation state, merge conflicts, approvers,
6
+ * repo account ID) per PR and decodes into {@link PullRequest} domain objects.
7
+ *
8
+ * **Mental model**
9
+ *
10
+ * ```
11
+ * listRepos → listPRIds → fetchPRDetails → getRepoAccount → decodePullRequest
12
+ * │ │
13
+ * evaluateApprovalRules getRepository
14
+ * getPullRequest (cached per repo)
15
+ * getApprovalStates
16
+ * ```
17
+ *
18
+ * - Two API responses merged per PR: `getPullRequest.approvalRules` (rule defs)
19
+ * + `evaluateApprovalRules` (satisfied names). Cross-ref via {@link buildApprovalRules}.
20
+ * - {@link parseRuleContent}: AWS JSON `{Version, Statements[{ApprovalPoolMembers}]}`
21
+ * → `poolMembers` (normalized) + `poolMemberArns` (raw ARNs).
22
+ * - {@link fetchRepoAccountId}: `getRepository` once per repo (cached). Needed for
23
+ * cross-account SSO where `getCallerIdentity` ≠ CodeCommit account.
24
+ *
25
+ * **Gotchas**
26
+ *
27
+ * - `evaluateApprovalRules.approvalRulesSatisfied` is `string[]` of rule NAMES, not full objects
28
+ * - `parseRuleContent` falls back silently on malformed JSON (warns if content truthy)
29
+ * - `fetchApprovalEvaluation` uses `throttleRetry` — needs `AwsClientConfig` in context
30
+ *
2
31
  * @internal
3
32
  */
4
33
  import { HttpClient } from "@effect/platform";
@@ -6,7 +35,7 @@ import { Credentials, Region } from "distilled-aws";
6
35
  import * as codecommit from "distilled-aws/codecommit";
7
36
  import { Data, Effect, Schema, Stream } from "effect";
8
37
  import { AwsClientConfig } from "../AwsClientConfig.js";
9
- import { Account, AwsProfileName, AwsRegion, codecommitConsoleUrl, PullRequest } from "../Domain.js";
38
+ import { Account, ApprovalRule, AwsProfileName, AwsRegion, codecommitConsoleUrl, PullRequest } from "../Domain.js";
10
39
  import { acquireCredentials, makeApiError, normalizeAuthor, throttleRetry } from "./internal.js";
11
40
  // ---------------------------------------------------------------------------
12
41
  // Sub-helpers
@@ -15,6 +44,60 @@ class MissingPullRequestResponse extends Data.TaggedError("MissingPullRequestRes
15
44
  }
16
45
  const decodeAccount = Schema.decodeSync(Account);
17
46
  const EpochFallback = new Date(0);
47
+ // Schema is permissive on NumberOfApprovalsNeeded: AWS returns it as number or
48
+ // string, and a malformed value must NOT discard ApprovalPoolMembers — the count
49
+ // is coerced (with fallback) in the mapper below.
50
+ const RuleStatement = Schema.Struct({
51
+ NumberOfApprovalsNeeded: Schema.optional(Schema.Unknown),
52
+ ApprovalPoolMembers: Schema.optional(Schema.Array(Schema.String))
53
+ });
54
+ const RuleContent = Schema.Struct({
55
+ Statements: Schema.optional(Schema.Array(RuleStatement))
56
+ });
57
+ const RuleContentFromJson = Schema.parseJson(RuleContent);
58
+ const decodeRuleContent = Schema.decodeUnknownEither(RuleContentFromJson);
59
+ const ruleDefaults = { requiredApprovals: 1, poolMembers: [], poolMemberArns: [] };
60
+ const coerceApprovalCount = (raw) => {
61
+ const n = Number(raw ?? 1);
62
+ return Number.isFinite(n) ? n : 1;
63
+ };
64
+ /**
65
+ * Parse AWS approval rule content JSON into pool members + required count.
66
+ * Format: {"Version":"2018-11-08","Statements":[{"Type":"Approvers","NumberOfApprovalsNeeded":N,"ApprovalPoolMembers":["arn:..."]}]}
67
+ *
68
+ * Falls back to defaults on malformed JSON; logs a warning when content was provided.
69
+ */
70
+ export const parseRuleContent = (content) => decodeRuleContent(content ?? "{}").pipe(Effect.map((parsed) => {
71
+ // Only first statement parsed — AWS rules typically have one statement per rule
72
+ const stmt = parsed.Statements?.[0];
73
+ const rawArns = stmt?.ApprovalPoolMembers ?? [];
74
+ return {
75
+ requiredApprovals: coerceApprovalCount(stmt?.NumberOfApprovalsNeeded),
76
+ poolMembers: rawArns.map(normalizeAuthor),
77
+ poolMemberArns: [...rawArns]
78
+ };
79
+ }), Effect.catchAll((e) => content
80
+ ? Effect.logWarning("Failed to parse approval rule content", { content, error: e }).pipe(Effect.as(ruleDefaults))
81
+ : Effect.succeed(ruleDefaults)));
82
+ /**
83
+ * Evaluate which approval rules are satisfied/not, returning just the boolean + satisfied rule names.
84
+ */
85
+ export const fetchApprovalEvaluation = (pullRequestId, revisionId) => throttleRetry(codecommit.evaluatePullRequestApprovalRules({ pullRequestId, revisionId })).pipe(Effect.map((r) => ({
86
+ isApproved: r.evaluation?.approved ?? false,
87
+ satisfiedNames: new Set(r.evaluation?.approvalRulesSatisfied ?? [])
88
+ })), Effect.tapError((e) => Effect.logWarning("fetchApprovalEvaluation failed", e)), Effect.catchAll(() => Effect.succeed({ isApproved: false, satisfiedNames: new Set() })));
89
+ /**
90
+ * Build ApprovalRule data from getPullRequest's raw rules + evaluation satisfaction state.
91
+ * Filters out rules with empty names (phantom rules from missing AWS data).
92
+ */
93
+ export const buildApprovalRules = (rawRules, satisfiedNames) => Effect.forEach(rawRules.filter((rule) => rule.approvalRuleName), (rule) => parseRuleContent(rule.approvalRuleContent).pipe(Effect.map((parsed) => ({
94
+ ruleName: rule.approvalRuleName ?? "",
95
+ satisfied: satisfiedNames.has(rule.approvalRuleName ?? ""),
96
+ ...parsed,
97
+ ...(rule.originApprovalRuleTemplate?.approvalRuleTemplateName
98
+ ? { fromTemplate: rule.originApprovalRuleTemplate.approvalRuleTemplateName }
99
+ : {})
100
+ }))));
18
101
  /**
19
102
  * Fetch approval + merge status for a single PR.
20
103
  */
@@ -24,23 +107,33 @@ const fetchPRDetails = (id, repoName) => Effect.gen(function* () {
24
107
  if (!pr)
25
108
  return yield* new MissingPullRequestResponse({ pullRequestId: id });
26
109
  const revisionId = pr.revisionId ?? "";
27
- const [isApproved, isMergeable, approvers] = yield* Effect.all([
28
- fetchApprovalStatus(id, revisionId),
110
+ const [evaluation, isMergeable, approvers] = yield* Effect.all([
111
+ fetchApprovalEvaluation(id, revisionId),
29
112
  fetchMergeStatus(repoName, pr.pullRequestTargets?.[0]),
30
113
  fetchApprovers(id, revisionId)
31
114
  ]);
32
- return { ...pr, repoName, isApproved, isMergeable, approvers };
115
+ const approvalRules = yield* buildApprovalRules(pr.approvalRules ?? [], evaluation.satisfiedNames);
116
+ return {
117
+ ...pr,
118
+ repoName,
119
+ isApproved: evaluation.isApproved,
120
+ isMergeable,
121
+ approvers: approvers.names,
122
+ approverArns: approvers.arns,
123
+ approvalRules
124
+ };
33
125
  });
34
- /**
35
- * Check PR approval status.
36
- */
37
- const fetchApprovalStatus = (pullRequestId, revisionId) => throttleRetry(codecommit.evaluatePullRequestApprovalRules({ pullRequestId, revisionId })).pipe(Effect.map((r) => r.evaluation?.approved ?? false), Effect.catchAll(() => Effect.succeed(false)));
38
126
  /**
39
127
  * Fetch who approved a PR (ARN list of approvers with APPROVE state).
40
128
  */
41
- const fetchApprovers = (pullRequestId, revisionId) => throttleRetry(codecommit.getPullRequestApprovalStates({ pullRequestId, revisionId })).pipe(Effect.map((r) => (r.approvals ?? [])
42
- .filter((a) => a.approvalState === "APPROVE" && a.userArn)
43
- .map((a) => normalizeAuthor(a.userArn))), Effect.catchAll(() => Effect.succeed([])));
129
+ export const fetchApprovers = (pullRequestId, revisionId) => throttleRetry(codecommit.getPullRequestApprovalStates({ pullRequestId, revisionId })).pipe(Effect.map((r) => {
130
+ const approved = (r.approvals ?? [])
131
+ .filter((a) => a.approvalState === "APPROVE" && !!a.userArn);
132
+ return {
133
+ names: approved.map((a) => normalizeAuthor(a.userArn)),
134
+ arns: approved.map((a) => a.userArn)
135
+ };
136
+ }), Effect.catchAll(() => Effect.succeed({ names: [], arns: [] })));
44
137
  /**
45
138
  * Check PR merge status.
46
139
  */
@@ -74,8 +167,11 @@ const RawPullRequest = Schema.Struct({
74
167
  isApproved: Schema.Boolean,
75
168
  isMergeable: Schema.Boolean,
76
169
  approvers: Schema.Array(Schema.String),
170
+ approverArns: Schema.optionalWith(Schema.Array(Schema.String), { default: () => [] }),
171
+ approvalRules: Schema.optionalWith(Schema.Array(ApprovalRule), { default: () => [] }),
77
172
  accountProfile: AwsProfileName,
78
- accountRegion: AwsRegion
173
+ accountRegion: AwsRegion,
174
+ repoAccountId: Schema.optional(Schema.String)
79
175
  });
80
176
  const RawToPullRequest = Schema.transform(RawPullRequest, PullRequest, {
81
177
  strict: false,
@@ -93,14 +189,20 @@ const RawToPullRequest = Schema.transform(RawPullRequest, PullRequest, {
93
189
  creationDate: raw.creationDate ?? EpochFallback,
94
190
  lastModifiedDate: raw.lastActivityDate ?? EpochFallback,
95
191
  link: codecommitConsoleUrl(raw.accountRegion, raw.repoName, raw.pullRequestId ?? ""),
96
- account: decodeAccount({ profile: raw.accountProfile, region: raw.accountRegion }),
192
+ account: decodeAccount({
193
+ profile: raw.accountProfile,
194
+ region: raw.accountRegion,
195
+ repoAccountId: raw.repoAccountId
196
+ }),
97
197
  status: isMerged ? "MERGED" : raw.pullRequestStatus === "OPEN" ? "OPEN" : "CLOSED",
98
198
  sourceBranch,
99
199
  destinationBranch,
100
200
  isMergeable: raw.isMergeable,
101
201
  isApproved: raw.isApproved,
102
202
  approvedBy: raw.approvers,
103
- commentedBy: []
203
+ approvedByArns: raw.approverArns,
204
+ commentedBy: [],
205
+ approvalRules: raw.approvalRules
104
206
  };
105
207
  },
106
208
  encode: (pr) => ({
@@ -119,16 +221,20 @@ const RawToPullRequest = Schema.transform(RawPullRequest, PullRequest, {
119
221
  isApproved: pr.isApproved,
120
222
  isMergeable: pr.isMergeable,
121
223
  approvers: pr.approvedBy ?? [],
224
+ approverArns: pr.approvedByArns ?? [],
225
+ approvalRules: pr.approvalRules ?? [],
122
226
  accountProfile: pr.account.profile,
123
- accountRegion: pr.account.region
227
+ accountRegion: pr.account.region,
228
+ repoAccountId: pr.account.repoAccountId
124
229
  })
125
230
  });
126
231
  // Effectful decode — ParseError in error channel instead of thrown defect
127
- const decodePullRequest = (raw) => Schema.decodeUnknown(RawToPullRequest)(raw).pipe(Effect.map((result) => result));
232
+ const decodePullRequest = (raw) => Schema.decodeUnknown(RawToPullRequest)(raw);
128
233
  // ---------------------------------------------------------------------------
129
234
  // Stream builders
130
235
  // ---------------------------------------------------------------------------
131
236
  const listAllRepositories = () => codecommit.listRepositories.pages({}).pipe(Stream.flatMap((page) => Stream.fromIterable(page.repositories ?? [])), Stream.map((repo) => repo.repositoryName ?? ""));
237
+ export const fetchRepoAccountId = (repoName) => codecommit.getRepository({ repositoryName: repoName }).pipe(Effect.map((r) => r.repositoryMetadata?.accountId ?? ""), Effect.tapError((e) => Effect.logWarning("fetchRepoAccountId failed", e)), Effect.catchAll(() => Effect.succeed("")));
132
238
  const listPullRequestIds = (repoName, status) => codecommit.listPullRequests.pages({ repositoryName: repoName, pullRequestStatus: status }).pipe(Stream.flatMap((page) => Stream.fromIterable(page.pullRequestIds ?? [])), Stream.map((id) => ({ id, repoName })));
133
239
  // ---------------------------------------------------------------------------
134
240
  // Main
@@ -138,7 +244,17 @@ export const getPullRequests = (account, options) => Stream.unwrap(Effect.gen(fu
138
244
  const httpClient = yield* HttpClient.HttpClient;
139
245
  const credentials = yield* acquireCredentials(account.profile, account.region);
140
246
  const status = options?.status ?? "OPEN";
141
- const stream = listAllRepositories().pipe(Stream.flatMap((repoName) => listPullRequestIds(repoName, status), { concurrency: 2 }), Stream.mapEffect(({ id, repoName }) => throttleRetry(fetchPRDetails(id, repoName)), { concurrency: 3 }), Stream.mapEffect((pr) => decodePullRequest({ ...pr, accountProfile: account.profile, accountRegion: account.region })), Stream.mapError((cause) => makeApiError("getPullRequests", account.profile, account.region, cause)));
247
+ // Cache repo account IDs (one getRepository call per repo, not per PR)
248
+ const repoAccountCache = new Map();
249
+ const getRepoAccount = (repoName) => repoAccountCache.has(repoName)
250
+ ? Effect.succeed(repoAccountCache.get(repoName))
251
+ : fetchRepoAccountId(repoName).pipe(Effect.tap((id) => Effect.sync(() => repoAccountCache.set(repoName, id))));
252
+ const stream = listAllRepositories().pipe(Stream.flatMap((repoName) => listPullRequestIds(repoName, status), { concurrency: 2 }), Stream.mapEffect(({ id, repoName }) => throttleRetry(fetchPRDetails(id, repoName)), { concurrency: 3 }), Stream.mapEffect((pr) => getRepoAccount(pr.repoName).pipe(Effect.flatMap((repoAcct) => decodePullRequest({
253
+ ...pr,
254
+ accountProfile: account.profile,
255
+ accountRegion: account.region,
256
+ repoAccountId: repoAcct
257
+ })))), Stream.mapError((cause) => makeApiError("getPullRequests", account.profile, account.region, cause)));
142
258
  return stream.pipe(Stream.provideService(HttpClient.HttpClient, httpClient), Stream.provideService(Region.Region, account.region), Stream.provideService(Credentials.Credentials, credentials), Stream.timeout(config.streamTimeout));
143
259
  }));
144
260
  //# sourceMappingURL=getPullRequests.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getPullRequests.js","sourceRoot":"","sources":["../../src/AwsClient/getPullRequests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getPullRequests.js","sourceRoot":"","sources":["../../src/AwsClient/getPullRequests.ts"],"names":[],"mappings":"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"}