@knpkv/codecommit-core 0.21.0 → 0.23.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 (138) hide show
  1. package/dist/AwsClient/AwsClientGated.d.ts.map +1 -1
  2. package/dist/AwsClient/AwsClientGated.js +6 -1
  3. package/dist/AwsClient/AwsClientGated.js.map +1 -1
  4. package/dist/AwsClient/getPullRequest.d.ts.map +1 -1
  5. package/dist/AwsClient/getPullRequest.js +2 -3
  6. package/dist/AwsClient/getPullRequest.js.map +1 -1
  7. package/dist/AwsClient/getPullRequests.d.ts +17 -4
  8. package/dist/AwsClient/getPullRequests.d.ts.map +1 -1
  9. package/dist/AwsClient/getPullRequests.js +28 -13
  10. package/dist/AwsClient/getPullRequests.js.map +1 -1
  11. package/dist/AwsClient/internal.d.ts +2 -0
  12. package/dist/AwsClient/internal.d.ts.map +1 -1
  13. package/dist/AwsClient/internal.js +2 -0
  14. package/dist/AwsClient/internal.js.map +1 -1
  15. package/dist/CacheService/Database.d.ts +1 -1
  16. package/dist/CacheService/Database.d.ts.map +1 -1
  17. package/dist/CacheService/Database.js +4 -2
  18. package/dist/CacheService/Database.js.map +1 -1
  19. package/dist/CacheService/migrations/0003_add_health_score.js +3 -1
  20. package/dist/CacheService/migrations/0003_add_health_score.js.map +1 -1
  21. package/dist/CacheService/migrations/0004_unify_notifications.js +6 -2
  22. package/dist/CacheService/migrations/0004_unify_notifications.js.map +1 -1
  23. package/dist/CacheService/migrations/0007_stats_columns.js +12 -4
  24. package/dist/CacheService/migrations/0007_stats_columns.js.map +1 -1
  25. package/dist/CacheService/migrations/0008_merged_by.js +3 -1
  26. package/dist/CacheService/migrations/0008_merged_by.js.map +1 -1
  27. package/dist/CacheService/migrations/0009_approved_by.js +3 -1
  28. package/dist/CacheService/migrations/0009_approved_by.js.map +1 -1
  29. package/dist/CacheService/migrations/0010_commented_by.js +3 -1
  30. package/dist/CacheService/migrations/0010_commented_by.js.map +1 -1
  31. package/dist/CacheService/migrations/0011_audit_log.js +1 -0
  32. package/dist/CacheService/migrations/0011_audit_log.js.map +1 -1
  33. package/dist/CacheService/migrations/0012_audit_log_indexes.js +1 -0
  34. package/dist/CacheService/migrations/0012_audit_log_indexes.js.map +1 -1
  35. package/dist/CacheService/migrations/0013_approval_rules.js +3 -1
  36. package/dist/CacheService/migrations/0013_approval_rules.js.map +1 -1
  37. package/dist/CacheService/migrations/0014_approved_by_arns.js +3 -1
  38. package/dist/CacheService/migrations/0014_approved_by_arns.js.map +1 -1
  39. package/dist/CacheService/migrations/0015_repo_account_id.js +3 -1
  40. package/dist/CacheService/migrations/0015_repo_account_id.js.map +1 -1
  41. package/dist/CacheService/migrations/0025_pull_request_approvers_unknown.d.ts +11 -0
  42. package/dist/CacheService/migrations/0025_pull_request_approvers_unknown.d.ts.map +1 -0
  43. package/dist/CacheService/migrations/0025_pull_request_approvers_unknown.js +10 -0
  44. package/dist/CacheService/migrations/0025_pull_request_approvers_unknown.js.map +1 -0
  45. package/dist/CacheService/repos/PullRequestRepo/index.d.ts +15 -0
  46. package/dist/CacheService/repos/PullRequestRepo/index.d.ts.map +1 -1
  47. package/dist/CacheService/repos/PullRequestRepo/index.js +1 -0
  48. package/dist/CacheService/repos/PullRequestRepo/index.js.map +1 -1
  49. package/dist/CacheService/repos/PullRequestRepo/internal.d.ts +7 -2
  50. package/dist/CacheService/repos/PullRequestRepo/internal.d.ts.map +1 -1
  51. package/dist/CacheService/repos/PullRequestRepo/internal.js +11 -7
  52. package/dist/CacheService/repos/PullRequestRepo/internal.js.map +1 -1
  53. package/dist/CacheService/repos/PullRequestRepo/queries.d.ts +20 -0
  54. package/dist/CacheService/repos/PullRequestRepo/queries.d.ts.map +1 -1
  55. package/dist/CacheService/repos/PullRequestRepo/queries.js +18 -0
  56. package/dist/CacheService/repos/PullRequestRepo/queries.js.map +1 -1
  57. package/dist/CacheService/repos/PullRequestRepo/rowWrites.d.ts +7 -7
  58. package/dist/CacheService/repos/PullRequestRepo/rowWrites.d.ts.map +1 -1
  59. package/dist/CacheService/repos/PullRequestRepo/rowWrites.js +19 -6
  60. package/dist/CacheService/repos/PullRequestRepo/rowWrites.js.map +1 -1
  61. package/dist/CacheService/repos/StatsRepo/reviewerData.d.ts.map +1 -1
  62. package/dist/CacheService/repos/StatsRepo/reviewerData.js +3 -2
  63. package/dist/CacheService/repos/StatsRepo/reviewerData.js.map +1 -1
  64. package/dist/ConfigService/detectProfiles.d.ts +15 -2
  65. package/dist/ConfigService/detectProfiles.d.ts.map +1 -1
  66. package/dist/ConfigService/detectProfiles.js +24 -6
  67. package/dist/ConfigService/detectProfiles.js.map +1 -1
  68. package/dist/ConfigService/index.d.ts +1 -1
  69. package/dist/ConfigService/index.d.ts.map +1 -1
  70. package/dist/ConfigService/index.js +1 -1
  71. package/dist/ConfigService/index.js.map +1 -1
  72. package/dist/ConfigService/load.d.ts.map +1 -1
  73. package/dist/ConfigService/load.js +6 -2
  74. package/dist/ConfigService/load.js.map +1 -1
  75. package/dist/ConfigService/reset.d.ts.map +1 -1
  76. package/dist/ConfigService/reset.js +6 -2
  77. package/dist/ConfigService/reset.js.map +1 -1
  78. package/dist/Domain.d.ts +30 -0
  79. package/dist/Domain.d.ts.map +1 -1
  80. package/dist/Domain.js +26 -2
  81. package/dist/Domain.js.map +1 -1
  82. package/dist/Errors.d.ts +6 -0
  83. package/dist/Errors.d.ts.map +1 -1
  84. package/dist/Errors.js +21 -1
  85. package/dist/Errors.js.map +1 -1
  86. package/dist/PRService/index.d.ts.map +1 -1
  87. package/dist/PRService/index.js +15 -4
  88. package/dist/PRService/index.js.map +1 -1
  89. package/dist/PRService/internal.d.ts +9 -0
  90. package/dist/PRService/internal.d.ts.map +1 -1
  91. package/dist/PRService/internal.js +10 -0
  92. package/dist/PRService/internal.js.map +1 -1
  93. package/dist/PRService/refresh.d.ts.map +1 -1
  94. package/dist/PRService/refresh.js +3 -1
  95. package/dist/PRService/refresh.js.map +1 -1
  96. package/dist/PRService/refreshDiffs.d.ts.map +1 -1
  97. package/dist/PRService/refreshDiffs.js +6 -2
  98. package/dist/PRService/refreshDiffs.js.map +1 -1
  99. package/dist/PRService/refreshEnrich.d.ts.map +1 -1
  100. package/dist/PRService/refreshEnrich.js +18 -6
  101. package/dist/PRService/refreshEnrich.js.map +1 -1
  102. package/dist/PRService/refreshFetch.d.ts.map +1 -1
  103. package/dist/PRService/refreshFetch.js +40 -7
  104. package/dist/PRService/refreshFetch.js.map +1 -1
  105. package/dist/PRService/refreshHistory.d.ts.map +1 -1
  106. package/dist/PRService/refreshHistory.js +13 -4
  107. package/dist/PRService/refreshHistory.js.map +1 -1
  108. package/dist/PRService/refreshResolve.d.ts +1 -1
  109. package/dist/PRService/refreshResolve.d.ts.map +1 -1
  110. package/dist/PRService/refreshResolve.js +15 -3
  111. package/dist/PRService/refreshResolve.js.map +1 -1
  112. package/dist/PRService/refreshScore.d.ts.map +1 -1
  113. package/dist/PRService/refreshScore.js +3 -1
  114. package/dist/PRService/refreshScore.js.map +1 -1
  115. package/dist/PRService/refreshSinglePR.d.ts.map +1 -1
  116. package/dist/PRService/refreshSinglePR.js +27 -11
  117. package/dist/PRService/refreshSinglePR.js.map +1 -1
  118. package/dist/PRService/visibility.d.ts.map +1 -1
  119. package/dist/PRService/visibility.js +3 -1
  120. package/dist/PRService/visibility.js.map +1 -1
  121. package/dist/PermissionService/PermissionGate.d.ts +9 -1
  122. package/dist/PermissionService/PermissionGate.d.ts.map +1 -1
  123. package/dist/PermissionService/PermissionGate.js.map +1 -1
  124. package/dist/PermissionService/PermissionGateLive.d.ts +17 -2
  125. package/dist/PermissionService/PermissionGateLive.d.ts.map +1 -1
  126. package/dist/PermissionService/PermissionGateLive.js +13 -3
  127. package/dist/PermissionService/PermissionGateLive.js.map +1 -1
  128. package/dist/PermissionService/index.d.ts +9 -0
  129. package/dist/PermissionService/index.d.ts.map +1 -1
  130. package/dist/PermissionService/index.js +31 -5
  131. package/dist/PermissionService/index.js.map +1 -1
  132. package/dist/SandboxService/DockerService.d.ts.map +1 -1
  133. package/dist/SandboxService/DockerService.js +3 -1
  134. package/dist/SandboxService/DockerService.js.map +1 -1
  135. package/dist/SandboxService/SandboxService.d.ts.map +1 -1
  136. package/dist/SandboxService/SandboxService.js +23 -6
  137. package/dist/SandboxService/SandboxService.js.map +1 -1
  138. package/package.json +1 -1
@@ -1,4 +1,6 @@
1
1
  import * as Effect from "effect/Effect";
2
2
  import * as SqlClient from "effect/sql/SqlClient";
3
- export default Effect.flatMap(SqlClient.SqlClient, (sql) => sql `ALTER TABLE pull_requests ADD COLUMN commented_by TEXT`.pipe(Effect.catchIf(() => true, () => Effect.void)));
3
+ export default Effect.flatMap(SqlClient.SqlClient, (sql) => sql `ALTER TABLE pull_requests ADD COLUMN commented_by TEXT`.pipe(
4
+ // ast-grep-ignore: no-silent-catch-all -- follow-up: silent fallback; fail with a typed error, log it, or mark it best-effort
5
+ Effect.catchIf(() => true, () => Effect.void)));
4
6
  //# sourceMappingURL=0010_commented_by.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"0010_commented_by.js","sourceRoot":"","sources":["../../../src/CacheService/migrations/0010_commented_by.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAEjD,eAAe,MAAM,CAAC,OAAO,CAC3B,SAAS,CAAC,SAAS,EACnB,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAA,wDAAwD,CAAC,IAAI,CAC9D,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAC9C,CACJ,CAAA"}
1
+ {"version":3,"file":"0010_commented_by.js","sourceRoot":"","sources":["../../../src/CacheService/migrations/0010_commented_by.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAEjD,eAAe,MAAM,CAAC,OAAO,CAC3B,SAAS,CAAC,SAAS,EACnB,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAA,wDAAwD,CAAC,IAAI;AAC9D,8HAA8H;AAC9H,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAC9C,CACJ,CAAA"}
@@ -15,5 +15,6 @@ export default Effect.flatMap(SqlClient.SqlClient, (sql) => Effect.all([
15
15
  sql `CREATE INDEX IF NOT EXISTS idx_audit_log_operation ON audit_log(operation)`,
16
16
  sql `CREATE INDEX IF NOT EXISTS idx_audit_log_permission_state ON audit_log(permission_state)`,
17
17
  sql `CREATE INDEX IF NOT EXISTS idx_audit_log_account_profile ON audit_log(account_profile)`
18
+ // ast-grep-ignore: no-silent-catch-all -- follow-up: silent fallback; fail with a typed error, log it, or mark it best-effort
18
19
  ]).pipe(Effect.asVoid, Effect.catchIf(() => true, () => Effect.void)));
19
20
  //# sourceMappingURL=0011_audit_log.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"0011_audit_log.js","sourceRoot":"","sources":["../../../src/CacheService/migrations/0011_audit_log.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAEjD,eAAe,MAAM,CAAC,OAAO,CAC3B,SAAS,CAAC,SAAS,EACnB,CAAC,GAAG,EAAE,EAAE,CACN,MAAM,CAAC,GAAG,CAAC;IACT,GAAG,CAAA;;;;;;;;;QASD;IACF,GAAG,CAAA,4EAA4E;IAC/E,GAAG,CAAA,4EAA4E;IAC/E,GAAG,CAAA,0FAA0F;IAC7F,GAAG,CAAA,wFAAwF;CAC5F,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CACxE,CAAA"}
1
+ {"version":3,"file":"0011_audit_log.js","sourceRoot":"","sources":["../../../src/CacheService/migrations/0011_audit_log.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAEjD,eAAe,MAAM,CAAC,OAAO,CAC3B,SAAS,CAAC,SAAS,EACnB,CAAC,GAAG,EAAE,EAAE,CACN,MAAM,CAAC,GAAG,CAAC;IACT,GAAG,CAAA;;;;;;;;;QASD;IACF,GAAG,CAAA,4EAA4E;IAC/E,GAAG,CAAA,4EAA4E;IAC/E,GAAG,CAAA,0FAA0F;IAC7F,GAAG,CAAA,wFAAwF;IAC3F,8HAA8H;CAC/H,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CACxE,CAAA"}
@@ -3,5 +3,6 @@ import * as SqlClient from "effect/sql/SqlClient";
3
3
  export default Effect.flatMap(SqlClient.SqlClient, (sql) => Effect.all([
4
4
  sql `CREATE INDEX IF NOT EXISTS idx_audit_log_permission_state ON audit_log(permission_state)`,
5
5
  sql `CREATE INDEX IF NOT EXISTS idx_audit_log_account_profile ON audit_log(account_profile)`
6
+ // ast-grep-ignore: no-silent-catch-all -- follow-up: silent fallback; fail with a typed error, log it, or mark it best-effort
6
7
  ]).pipe(Effect.asVoid, Effect.catchIf(() => true, () => Effect.void)));
7
8
  //# sourceMappingURL=0012_audit_log_indexes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"0012_audit_log_indexes.js","sourceRoot":"","sources":["../../../src/CacheService/migrations/0012_audit_log_indexes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAEjD,eAAe,MAAM,CAAC,OAAO,CAC3B,SAAS,CAAC,SAAS,EACnB,CAAC,GAAG,EAAE,EAAE,CACN,MAAM,CAAC,GAAG,CAAC;IACT,GAAG,CAAA,0FAA0F;IAC7F,GAAG,CAAA,wFAAwF;CAC5F,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CACxE,CAAA"}
1
+ {"version":3,"file":"0012_audit_log_indexes.js","sourceRoot":"","sources":["../../../src/CacheService/migrations/0012_audit_log_indexes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAEjD,eAAe,MAAM,CAAC,OAAO,CAC3B,SAAS,CAAC,SAAS,EACnB,CAAC,GAAG,EAAE,EAAE,CACN,MAAM,CAAC,GAAG,CAAC;IACT,GAAG,CAAA,0FAA0F;IAC7F,GAAG,CAAA,wFAAwF;IAC3F,8HAA8H;CAC/H,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CACxE,CAAA"}
@@ -1,4 +1,6 @@
1
1
  import * as Effect from "effect/Effect";
2
2
  import * as SqlClient from "effect/sql/SqlClient";
3
- export default Effect.flatMap(SqlClient.SqlClient, (sql) => sql `ALTER TABLE pull_requests ADD COLUMN approval_rules TEXT DEFAULT '[]'`.pipe(Effect.asVoid, Effect.catchIf(() => true, () => Effect.void)));
3
+ export default Effect.flatMap(SqlClient.SqlClient, (sql) => sql `ALTER TABLE pull_requests ADD COLUMN approval_rules TEXT DEFAULT '[]'`.pipe(Effect.asVoid,
4
+ // ast-grep-ignore: no-silent-catch-all -- follow-up: silent fallback; fail with a typed error, log it, or mark it best-effort
5
+ Effect.catchIf(() => true, () => Effect.void)));
4
6
  //# sourceMappingURL=0013_approval_rules.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"0013_approval_rules.js","sourceRoot":"","sources":["../../../src/CacheService/migrations/0013_approval_rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAEjD,eAAe,MAAM,CAAC,OAAO,CAC3B,SAAS,CAAC,SAAS,EACnB,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAA,uEAAuE,CAAC,IAAI,CAC7E,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAC9C,CACJ,CAAA"}
1
+ {"version":3,"file":"0013_approval_rules.js","sourceRoot":"","sources":["../../../src/CacheService/migrations/0013_approval_rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAEjD,eAAe,MAAM,CAAC,OAAO,CAC3B,SAAS,CAAC,SAAS,EACnB,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAA,uEAAuE,CAAC,IAAI,CAC7E,MAAM,CAAC,MAAM;AACb,8HAA8H;AAC9H,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAC9C,CACJ,CAAA"}
@@ -1,4 +1,6 @@
1
1
  import * as Effect from "effect/Effect";
2
2
  import * as SqlClient from "effect/sql/SqlClient";
3
- export default Effect.flatMap(SqlClient.SqlClient, (sql) => sql `ALTER TABLE pull_requests ADD COLUMN approved_by_arns TEXT`.pipe(Effect.asVoid, Effect.catchIf(() => true, () => Effect.void)));
3
+ export default Effect.flatMap(SqlClient.SqlClient, (sql) => sql `ALTER TABLE pull_requests ADD COLUMN approved_by_arns TEXT`.pipe(Effect.asVoid,
4
+ // ast-grep-ignore: no-silent-catch-all -- follow-up: silent fallback; fail with a typed error, log it, or mark it best-effort
5
+ Effect.catchIf(() => true, () => Effect.void)));
4
6
  //# sourceMappingURL=0014_approved_by_arns.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"0014_approved_by_arns.js","sourceRoot":"","sources":["../../../src/CacheService/migrations/0014_approved_by_arns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAEjD,eAAe,MAAM,CAAC,OAAO,CAC3B,SAAS,CAAC,SAAS,EACnB,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAA,4DAA4D,CAAC,IAAI,CAClE,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAC9C,CACJ,CAAA"}
1
+ {"version":3,"file":"0014_approved_by_arns.js","sourceRoot":"","sources":["../../../src/CacheService/migrations/0014_approved_by_arns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAEjD,eAAe,MAAM,CAAC,OAAO,CAC3B,SAAS,CAAC,SAAS,EACnB,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAA,4DAA4D,CAAC,IAAI,CAClE,MAAM,CAAC,MAAM;AACb,8HAA8H;AAC9H,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAC9C,CACJ,CAAA"}
@@ -1,4 +1,6 @@
1
1
  import * as Effect from "effect/Effect";
2
2
  import * as SqlClient from "effect/sql/SqlClient";
3
- export default Effect.flatMap(SqlClient.SqlClient, (sql) => sql `ALTER TABLE pull_requests ADD COLUMN repo_account_id TEXT`.pipe(Effect.asVoid, Effect.catchIf(() => true, () => Effect.void)));
3
+ export default Effect.flatMap(SqlClient.SqlClient, (sql) => sql `ALTER TABLE pull_requests ADD COLUMN repo_account_id TEXT`.pipe(Effect.asVoid,
4
+ // ast-grep-ignore: no-silent-catch-all -- follow-up: silent fallback; fail with a typed error, log it, or mark it best-effort
5
+ Effect.catchIf(() => true, () => Effect.void)));
4
6
  //# sourceMappingURL=0015_repo_account_id.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"0015_repo_account_id.js","sourceRoot":"","sources":["../../../src/CacheService/migrations/0015_repo_account_id.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAEjD,eAAe,MAAM,CAAC,OAAO,CAC3B,SAAS,CAAC,SAAS,EACnB,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAA,2DAA2D,CAAC,IAAI,CACjE,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAC9C,CACJ,CAAA"}
1
+ {"version":3,"file":"0015_repo_account_id.js","sourceRoot":"","sources":["../../../src/CacheService/migrations/0015_repo_account_id.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAEjD,eAAe,MAAM,CAAC,OAAO,CAC3B,SAAS,CAAC,SAAS,EACnB,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAA,2DAA2D,CAAC,IAAI,CACjE,MAAM,CAAC,MAAM;AACb,8HAA8H;AAC9H,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAC9C,CACJ,CAAA"}
@@ -0,0 +1,11 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as SqlClient from "effect/sql/SqlClient";
3
+ /**
4
+ * Whether the last approver read failed (1): `approved_by` then holds only the last known approvers.
5
+ * Before this column a revoked approver was never cleared and a failed read kept the old list, so every
6
+ * existing row starts unknown: an open row until the next refresh re-reads it, a merged or closed one
7
+ * until the refresh's capped repair pass does. Every new write states it.
8
+ */
9
+ declare const _default: Effect.Effect<readonly import("effect/sql/SqlConnection").Row[], import("effect/sql/SqlError").SqlError, SqlClient.SqlClient>;
10
+ export default _default;
11
+ //# sourceMappingURL=0025_pull_request_approvers_unknown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"0025_pull_request_approvers_unknown.d.ts","sourceRoot":"","sources":["../../../src/CacheService/migrations/0025_pull_request_approvers_unknown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAEjD;;;;;GAKG"}
@@ -0,0 +1,10 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as SqlClient from "effect/sql/SqlClient";
3
+ /**
4
+ * Whether the last approver read failed (1): `approved_by` then holds only the last known approvers.
5
+ * Before this column a revoked approver was never cleared and a failed read kept the old list, so every
6
+ * existing row starts unknown: an open row until the next refresh re-reads it, a merged or closed one
7
+ * until the refresh's capped repair pass does. Every new write states it.
8
+ */
9
+ export default Effect.flatMap(SqlClient.SqlClient, (sql) => sql `ALTER TABLE pull_requests ADD COLUMN approvers_unknown INTEGER NOT NULL DEFAULT 0`.pipe(Effect.andThen(sql `UPDATE pull_requests SET approvers_unknown = 1`)));
10
+ //# sourceMappingURL=0025_pull_request_approvers_unknown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"0025_pull_request_approvers_unknown.js","sourceRoot":"","sources":["../../../src/CacheService/migrations/0025_pull_request_approvers_unknown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAEjD;;;;;GAKG;AACH,eAAe,MAAM,CAAC,OAAO,CAC3B,SAAS,CAAC,SAAS,EACnB,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAA,mFAAmF,CAAC,IAAI,CACzF,MAAM,CAAC,OAAO,CAAC,GAAG,CAAA,gDAAgD,CAAC,CACpE,CACJ,CAAA"}
@@ -51,6 +51,7 @@ declare const makePullRequestRepo: Effect.Effect<{
51
51
  readonly isApproved: boolean;
52
52
  readonly approvalUnknownReason: "NotPermitted" | "ProviderFailed" | "Throttled" | null;
53
53
  readonly approvalBaselineKnown: boolean;
54
+ readonly approversUnknown: boolean;
54
55
  readonly commentCount: number | null;
55
56
  readonly healthScore: number | null;
56
57
  readonly link: string;
@@ -87,6 +88,7 @@ declare const makePullRequestRepo: Effect.Effect<{
87
88
  readonly isApproved: boolean;
88
89
  readonly approvalUnknownReason: "NotPermitted" | "ProviderFailed" | "Throttled" | null;
89
90
  readonly approvalBaselineKnown: boolean;
91
+ readonly approversUnknown: boolean;
90
92
  readonly commentCount: number | null;
91
93
  readonly healthScore: number | null;
92
94
  readonly link: string;
@@ -123,6 +125,7 @@ declare const makePullRequestRepo: Effect.Effect<{
123
125
  readonly isApproved: boolean;
124
126
  readonly approvalUnknownReason: "NotPermitted" | "ProviderFailed" | "Throttled" | null;
125
127
  readonly approvalBaselineKnown: boolean;
128
+ readonly approversUnknown: boolean;
126
129
  readonly commentCount: number | null;
127
130
  readonly healthScore: number | null;
128
131
  readonly link: string;
@@ -159,6 +162,7 @@ declare const makePullRequestRepo: Effect.Effect<{
159
162
  readonly isApproved: boolean;
160
163
  readonly approvalUnknownReason: "NotPermitted" | "ProviderFailed" | "Throttled" | null;
161
164
  readonly approvalBaselineKnown: boolean;
165
+ readonly approversUnknown: boolean;
162
166
  readonly commentCount: number | null;
163
167
  readonly healthScore: number | null;
164
168
  readonly link: string;
@@ -199,6 +203,17 @@ declare const makePullRequestRepo: Effect.Effect<{
199
203
  readonly approvalVersion: Date;
200
204
  readonly approvalObservationSeq: number;
201
205
  }[], import("../../CacheError.ts").CacheError, never>;
206
+ findClosedWithUnknownApprovers: (limit: number) => Effect.Effect<{
207
+ readonly id: string;
208
+ readonly awsAccountId: string;
209
+ readonly repositoryName: string;
210
+ readonly accountProfile: string & import("effect/Brand").Brand<"AwsProfileName">;
211
+ readonly accountRegion: string & import("effect/Brand").Brand<"AwsRegion">;
212
+ readonly lastModifiedDate: Date;
213
+ readonly observationSeq: number;
214
+ readonly approvalVersion: Date;
215
+ readonly approvalObservationSeq: number;
216
+ }[], import("../../CacheError.ts").CacheError, never>;
202
217
  }, never, EventsHub | SqlClient.SqlClient>;
203
218
  export interface PullRequestRepoContract extends Success<typeof makePullRequestRepo> {
204
219
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/CacheService/repos/PullRequestRepo/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,SAAS,EAAc,MAAM,oBAAoB,CAAA;AAE1D,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AAEjC,OAAO,EACL,iBAAiB,EACjB,KAAK,YAAY,EACjB,iBAAiB,EACjB,KAAK,YAAY,EACjB,WAAW,EACX,UAAU,EACX,MAAM,eAAe,CAAA;AACtB,YAAY,EAAE,iBAAiB,IAAI,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAC/E,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AACxD,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAErH,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CAgBvB,CAAA;AAEF,MAAM,WAAW,uBAAwB,SAAQ,OAAO,CAAC,OAAO,mBAAmB,CAAC;CAAG;;AAEvF,qBAAa,eAAgB,SAAQ,oBAGf;IACpB,MAAM,CAAC,QAAQ,CAAC,OAAO,8MAEtB;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/CacheService/repos/PullRequestRepo/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,SAAS,EAAc,MAAM,oBAAoB,CAAA;AAE1D,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AAEjC,OAAO,EACL,iBAAiB,EACjB,KAAK,YAAY,EACjB,iBAAiB,EACjB,KAAK,YAAY,EACjB,WAAW,EACX,UAAU,EACX,MAAM,eAAe,CAAA;AACtB,YAAY,EAAE,iBAAiB,IAAI,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAC/E,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AACxD,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAErH,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CAiBvB,CAAA;AAEF,MAAM,WAAW,uBAAwB,SAAQ,OAAO,CAAC,OAAO,mBAAmB,CAAC;CAAG;;AAEvF,qBAAa,eAAgB,SAAQ,oBAGf;IACpB,MAAM,CAAC,QAAQ,CAAC,OAAO,8MAEtB;CACF"}
@@ -27,6 +27,7 @@ const makePullRequestRepo = Effect.gen(function* () {
27
27
  search: Q.search(sql),
28
28
  findStaleOpen: Q.findStaleOpen(sql),
29
29
  findOpenInRange: Q.findOpenInRange(sql),
30
+ findClosedWithUnknownApprovers: Q.findClosedWithUnknownApprovers(sql),
30
31
  ...mutations(sql, publish)
31
32
  };
32
33
  return service;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/CacheService/repos/PullRequestRepo/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAE/C,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AAEjC,OAAO,EACL,iBAAiB,EAEjB,iBAAiB,EAEjB,WAAW,EACX,UAAU,EACX,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AAGxD,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC9C,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC,SAAS,CAAA;IACtC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,SAAS,CAAA;IAC5B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,CAAA;IAEtD,MAAM,OAAO,GAAG;QACd,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;QACvB,oBAAoB,EAAE,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC;QACjD,kBAAkB,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC;QAC7C,iBAAiB,EAAE,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC;QAC3C,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;QACrB,aAAa,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC;QACnC,eAAe,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC;QACvC,GAAG,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC;KAC3B,CAAA;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAC,CAAA;AAIF,MAAM,OAAO,eAAgB,SAAQ,OAAO,CAAC,OAAO,EAGjD,CAAC,iBAAiB,CAAC;IACpB,MAAM,CAAU,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC,IAAI,CAC/E,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAC/D,CAAA;CACF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/CacheService/repos/PullRequestRepo/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAE/C,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AAEjC,OAAO,EACL,iBAAiB,EAEjB,iBAAiB,EAEjB,WAAW,EACX,UAAU,EACX,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AAGxD,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC9C,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC,SAAS,CAAA;IACtC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,SAAS,CAAA;IAC5B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,CAAA;IAEtD,MAAM,OAAO,GAAG;QACd,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;QACvB,oBAAoB,EAAE,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC;QACjD,kBAAkB,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC;QAC7C,iBAAiB,EAAE,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC;QAC3C,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;QACrB,aAAa,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC;QACnC,eAAe,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC;QACvC,8BAA8B,EAAE,CAAC,CAAC,8BAA8B,CAAC,GAAG,CAAC;QACrE,GAAG,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC;KAC3B,CAAA;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAC,CAAA;AAIF,MAAM,OAAO,eAAgB,SAAQ,OAAO,CAAC,OAAO,EAGjD,CAAC,iBAAiB,CAAC;IACpB,MAAM,CAAU,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC,IAAI,CAC/E,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAC/D,CAAA;CACF"}
@@ -46,6 +46,8 @@ export declare const CachedPullRequest: Schema.Struct<{
46
46
  readonly approvalUnknownReason: Schema.NullOr<Schema.Literals<readonly ["NotPermitted", "Throttled", "ProviderFailed"]>>;
47
47
  /** The `approval_baseline_known` column: whether `isApproved` came from a successful evaluation. */
48
48
  readonly approvalBaselineKnown: Schema.decodeTo<Schema.Boolean, Schema.Number, never, never>;
49
+ /** Set when the last approver read failed: `approvedBy` is then only the last known list. */
50
+ readonly approversUnknown: Schema.decodeTo<Schema.Boolean, Schema.Number, never, never>;
49
51
  readonly commentCount: Schema.NullOr<Schema.Number>;
50
52
  readonly healthScore: Schema.NullOr<Schema.Number>;
51
53
  readonly link: Schema.String;
@@ -88,6 +90,8 @@ export declare const UpsertInput: Schema.Struct<{
88
90
  readonly link: Schema.String;
89
91
  readonly approvedBy: Schema.$Array<Schema.String>;
90
92
  readonly approvedByArns: Schema.$Array<Schema.String>;
93
+ /** Set when the read couldn't fetch its approvers: `approvedBy` is then a placeholder, not "none". */
94
+ readonly approversUnknown: Schema.optional<Schema.Boolean>;
91
95
  readonly approvalRules: Schema.withDecodingDefaultTypeKey<Schema.$Array<Schema.Struct<{
92
96
  readonly ruleName: Schema.String;
93
97
  readonly requiredApprovals: Schema.Number;
@@ -106,6 +110,9 @@ export interface ApprovalRead {
106
110
  readonly isApproved: boolean;
107
111
  readonly approvalRules: UpsertInput["approvalRules"];
108
112
  readonly approvalUnknown?: ApprovalUnknownReason | undefined;
113
+ readonly approvedBy: ReadonlyArray<string>;
114
+ readonly approvedByArns: ReadonlyArray<string>;
115
+ readonly approversUnknown?: boolean | undefined;
109
116
  }
110
117
  /** Both groups' versions as a read of the row saw them: what a recomputed write must still find. */
111
118
  export declare const versionsOf: (row: {
@@ -132,8 +139,6 @@ export declare const rowGroupOfRead: (read: {
132
139
  readonly sourceBranch: string;
133
140
  readonly destinationBranch: string;
134
141
  readonly isMergeable: boolean;
135
- readonly approvedBy: ReadonlyArray<string>;
136
- readonly approvedByArns: ReadonlyArray<string>;
137
142
  readonly mergedBy?: string | undefined;
138
143
  }) => RowGroup;
139
144
  /** A provider read's approval group, complete. */
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../../src/CacheService/repos/PullRequestRepo/internal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../../src/CacheService/repos/PullRequestRepo/internal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,MAAM,EAAU,MAAM,EAAgB,MAAM,QAAQ,CAAA;AAC7D,OAAO,EACL,YAAY,EACZ,KAAK,qBAAqB,EAK3B,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE1E,iEAAiE;AACjE,eAAO,MAAM,mBAAmB,2FAK/B,CAAA;AAwBD;;GAEG;AACH,eAAO,MAAM,qBAAqB,0FAAoC,CAAA;AAEtE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;IAY5B,4FAA4F;;IAE5F,mGAAmG;;;;;;;;;IASnG,oGAAoG;;IAEpG,6FAA6F;;;;;;;;;;;;;;;EAe7F,CAAA;AAEF,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAE7D,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B;AAED,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;IAsBtB,sGAAsG;;;;;;;;;;EAOtG,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;AAEjD;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,eAAe,CAAC,CAAA;IACpD,QAAQ,CAAC,eAAe,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAA;IAC5D,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC1C,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC9C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAChD;AAUD,oGAAoG;AACpG,eAAO,MAAM,UAAU,QAAS;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAA;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAA;IAC9B,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAA;CACxC,KAAG,WAGF,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,UAAW,WAAW,KAAG,QAWrD,CAAA;AAEF,wDAAwD;AACxD,eAAO,MAAM,sBAAsB,UAAW,WAAW,KAAG,aAK1D,CAAA;AAEF,uGAAuG;AACvG,eAAO,MAAM,cAAc,SAAU;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAA;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAA;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACvC,KAAG,QAWF,CAAA;AAEF,kDAAkD;AAClD,eAAO,MAAM,mBAAmB,SAAU,YAAY,KAAG,aAKvD,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,SAAU,YAAY;;;CAGlD,CAAA;AAEF,yDAAyD;AACzD,eAAO,MAAM,UAAU,OAAQ,MAAM,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,iFAI/E,CAAA;AAEH,2DAA2D;AAC3D,eAAO,MAAM,cAAc,QAAS,aAAa,CAAC,MAAM,CAAC,kBAA4C,CAAA"}
@@ -11,7 +11,7 @@
11
11
  *
12
12
  * @category CacheService
13
13
  */
14
- import { Effect, Schema, SchemaGetter } from "effect";
14
+ import { Effect, Option, Schema, SchemaGetter } from "effect";
15
15
  import { ApprovalRule, ApprovalUnknownTag, PullRequestId, PullRequestStatus, RepositoryName } from "../../../Domain.js";
16
16
  import { CacheError } from "../../CacheError.js";
17
17
  /** DB column `TEXT` (comma-separated) <-> `readonly string[]` */
@@ -66,6 +66,8 @@ export const CachedPullRequest = Schema.Struct({
66
66
  approvalUnknownReason: ApprovalUnknownColumn,
67
67
  /** The `approval_baseline_known` column: whether `isApproved` came from a successful evaluation. */
68
68
  approvalBaselineKnown: BooleanFromNumber,
69
+ /** Set when the last approver read failed: `approvedBy` is then only the last known list. */
70
+ approversUnknown: BooleanFromNumber,
69
71
  commentCount: Schema.NullOr(Schema.Number),
70
72
  healthScore: Schema.NullOr(Schema.Number),
71
73
  link: Schema.String,
@@ -102,10 +104,14 @@ export const UpsertInput = Schema.Struct({
102
104
  link: Schema.String,
103
105
  approvedBy: Schema.Array(Schema.String),
104
106
  approvedByArns: Schema.Array(Schema.String),
107
+ /** Set when the read couldn't fetch its approvers: `approvedBy` is then a placeholder, not "none". */
108
+ approversUnknown: Schema.optional(Schema.Boolean),
105
109
  // The rule's plain shape, not the class: callers pass the provider's rules as plain objects, and the
106
110
  // cache stores them as JSON either way.
107
111
  approvalRules: Schema.Array(Schema.Struct(ApprovalRule.fields)).pipe(Schema.withDecodingDefaultTypeKey(Effect.succeed([])))
108
112
  });
113
+ /** A read's approvers: who approved now, or none when the read couldn't fetch them. */
114
+ const approversOf = (read) => read.approversUnknown === true ? Option.none() : Option.some({ names: read.approvedBy, arns: read.approvedByArns });
109
115
  /** Both groups' versions as a read of the row saw them: what a recomputed write must still find. */
110
116
  export const versionsOf = (row) => ({
111
117
  row: { lastActivity: row.lastModifiedDate, observation: row.observationSeq },
@@ -124,8 +130,6 @@ export const rowGroupOfListing = (input) => ({
124
130
  sourceBranch: input.sourceBranch,
125
131
  destinationBranch: input.destinationBranch,
126
132
  isMergeable: input.isMergeable === 1,
127
- approvedBy: input.approvedBy,
128
- approvedByArns: input.approvedByArns,
129
133
  mergedBy: null,
130
134
  closedAt: null
131
135
  });
@@ -133,7 +137,8 @@ export const rowGroupOfListing = (input) => ({
133
137
  export const approvalGroupOfListing = (input) => ({
134
138
  isApproved: input.isApproved === 1,
135
139
  approvalRules: input.approvalRules,
136
- unknownReason: input.approvalUnknownReason
140
+ unknownReason: input.approvalUnknownReason,
141
+ approvers: approversOf(input)
137
142
  });
138
143
  /** A provider re-read's row group, complete: a closed or merged read also carries when and by whom. */
139
144
  export const rowGroupOfRead = (read) => ({
@@ -145,8 +150,6 @@ export const rowGroupOfRead = (read) => ({
145
150
  sourceBranch: read.sourceBranch,
146
151
  destinationBranch: read.destinationBranch,
147
152
  isMergeable: read.isMergeable,
148
- approvedBy: read.approvedBy,
149
- approvedByArns: read.approvedByArns,
150
153
  mergedBy: read.mergedBy ?? null,
151
154
  closedAt: read.status === "OPEN" ? null : read.lastActivityDate.toISOString()
152
155
  });
@@ -154,7 +157,8 @@ export const rowGroupOfRead = (read) => ({
154
157
  export const approvalGroupOfRead = (read) => ({
155
158
  isApproved: read.isApproved,
156
159
  approvalRules: read.approvalRules,
157
- unknownReason: read.approvalUnknown?._tag ?? null
160
+ unknownReason: read.approvalUnknown?._tag ?? null,
161
+ approvers: approversOf(read)
158
162
  });
159
163
  /**
160
164
  * The approval columns an upsert input carries for a provider read. While approval is unknown,
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../../src/CacheService/repos/PullRequestRepo/internal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../../src/CacheService/repos/PullRequestRepo/internal.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,7 @@ export declare const findAll: (sql: SqlClient.SqlClient) => () => Effect.Effect<
42
42
  readonly isApproved: boolean;
43
43
  readonly approvalUnknownReason: "NotPermitted" | "ProviderFailed" | "Throttled" | null;
44
44
  readonly approvalBaselineKnown: boolean;
45
+ readonly approversUnknown: boolean;
45
46
  readonly commentCount: number | null;
46
47
  readonly healthScore: number | null;
47
48
  readonly link: string;
@@ -78,6 +79,7 @@ export declare const findMissingDiffStats: (sql: SqlClient.SqlClient) => () => E
78
79
  readonly isApproved: boolean;
79
80
  readonly approvalUnknownReason: "NotPermitted" | "ProviderFailed" | "Throttled" | null;
80
81
  readonly approvalBaselineKnown: boolean;
82
+ readonly approversUnknown: boolean;
81
83
  readonly commentCount: number | null;
82
84
  readonly healthScore: number | null;
83
85
  readonly link: string;
@@ -114,6 +116,7 @@ export declare const findByAccountAndId: (sql: SqlClient.SqlClient) => (awsAccou
114
116
  readonly isApproved: boolean;
115
117
  readonly approvalUnknownReason: "NotPermitted" | "ProviderFailed" | "Throttled" | null;
116
118
  readonly approvalBaselineKnown: boolean;
119
+ readonly approversUnknown: boolean;
117
120
  readonly commentCount: number | null;
118
121
  readonly healthScore: number | null;
119
122
  readonly link: string;
@@ -150,6 +153,7 @@ export declare const findByCoordinates: (sql: SqlClient.SqlClient) => (awsAccoun
150
153
  readonly isApproved: boolean;
151
154
  readonly approvalUnknownReason: "NotPermitted" | "ProviderFailed" | "Throttled" | null;
152
155
  readonly approvalBaselineKnown: boolean;
156
+ readonly approversUnknown: boolean;
153
157
  readonly commentCount: number | null;
154
158
  readonly healthScore: number | null;
155
159
  readonly link: string;
@@ -179,6 +183,22 @@ export declare const findStaleOpen: (sql: SqlClient.SqlClient) => (olderThan: st
179
183
  readonly approvalVersion: Date;
180
184
  readonly approvalObservationSeq: number;
181
185
  }[], CacheError, never>;
186
+ /**
187
+ * Merged or closed pull requests whose approvers couldn't be read, oldest-updated first, at most
188
+ * `limit`. A terminal pull request is never listed again, so the refresh re-reads these in batches
189
+ * until none is left.
190
+ */
191
+ export declare const findClosedWithUnknownApprovers: (sql: SqlClient.SqlClient) => (limit: number) => Effect.Effect<{
192
+ readonly id: string;
193
+ readonly awsAccountId: string;
194
+ readonly repositoryName: string;
195
+ readonly accountProfile: string & import("effect/Brand").Brand<"AwsProfileName">;
196
+ readonly accountRegion: string & import("effect/Brand").Brand<"AwsRegion">;
197
+ readonly lastModifiedDate: Date;
198
+ readonly observationSeq: number;
199
+ readonly approvalVersion: Date;
200
+ readonly approvalObservationSeq: number;
201
+ }[], CacheError, never>;
182
202
  export declare const findOpenInRange: (sql: SqlClient.SqlClient) => (weekStart: string, weekEnd: string) => Effect.Effect<{
183
203
  readonly id: string;
184
204
  readonly awsAccountId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../../src/CacheService/repos/PullRequestRepo/queries.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAQ,MAAM,EAAE,MAAM,EAAqB,MAAM,QAAQ,CAAA;AAChE,OAAO,KAAK,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAGtD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAA4D,KAAK,YAAY,EAAE,MAAM,eAAe,CAAA;;;;AAE3G,sFAAsF;AACtF,qBAAa,yBAA0B,SAAQ,+BAA8C;IAC3F,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB,CAAC;CAAG;AAeL,eAAO,MAAM,OAAO,QAAS,SAAS,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAQ/C,CAAA;AAED,eAAO,MAAM,oBAAoB,QAAS,SAAS,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAQ5D,CAAA;AAED,eAAO,MAAM,kBAAkB,QAAS,SAAS,CAAC,SAAS,oBAQnC,MAAM,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kDA0BzC,CAAA;AAED,eAAO,MAAM,iBAAiB,QAAS,SAAS,CAAC,SAAS,oBAgBlC,MAAM,MAAM,MAAM,kBAAkB,MAAM,iBAAiB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAExF,CAAA;AAED,eAAO,MAAM,MAAM,QAAS,SAAS,CAAC,SAAS,aAsBpC,MAAM,SACN;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,KAC3D,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,EAAE,KAAK,CAqBjD,CAAA;AAED,eAAO,MAAM,aAAa,QAAS,SAAS,CAAC,SAAS,iBAUjC,MAAM;;;;;;;;;;uBAC1B,CAAA;AAED,eAAO,MAAM,eAAe,QAAS,SAAS,CAAC,SAAS,iBAcnC,MAAM,WAAW,MAAM;;;;;;;;;;uBAC3C,CAAA"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../../src/CacheService/repos/PullRequestRepo/queries.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAQ,MAAM,EAAE,MAAM,EAAqB,MAAM,QAAQ,CAAA;AAChE,OAAO,KAAK,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAGtD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAA4D,KAAK,YAAY,EAAE,MAAM,eAAe,CAAA;;;;AAE3G,sFAAsF;AACtF,qBAAa,yBAA0B,SAAQ,+BAA8C;IAC3F,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB,CAAC;CAAG;AAeL,eAAO,MAAM,OAAO,QAAS,SAAS,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAQ/C,CAAA;AAED,eAAO,MAAM,oBAAoB,QAAS,SAAS,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAQ5D,CAAA;AAED,eAAO,MAAM,kBAAkB,QAAS,SAAS,CAAC,SAAS,oBAQnC,MAAM,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kDA0BzC,CAAA;AAED,eAAO,MAAM,iBAAiB,QAAS,SAAS,CAAC,SAAS,oBAgBlC,MAAM,MAAM,MAAM,kBAAkB,MAAM,iBAAiB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAExF,CAAA;AAED,eAAO,MAAM,MAAM,QAAS,SAAS,CAAC,SAAS,aAsBpC,MAAM,SACN;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,KAC3D,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,EAAE,KAAK,CAqBjD,CAAA;AAED,eAAO,MAAM,aAAa,QAAS,SAAS,CAAC,SAAS,iBAUjC,MAAM;;;;;;;;;;uBAC1B,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,QAAS,SAAS,CAAC,SAAS,aAYtD,MAAM;;;;;;;;;;uBACtB,CAAA;AAED,eAAO,MAAM,eAAe,QAAS,SAAS,CAAC,SAAS,iBAcnC,MAAM,WAAW,MAAM;;;;;;;;;;uBAC3C,CAAA"}
@@ -124,6 +124,24 @@ export const findStaleOpen = (sql) => {
124
124
  });
125
125
  return (olderThan) => run({ olderThan }).pipe(cacheError("findStaleOpen"));
126
126
  };
127
+ /**
128
+ * Merged or closed pull requests whose approvers couldn't be read, oldest-updated first, at most
129
+ * `limit`. A terminal pull request is never listed again, so the refresh re-reads these in batches
130
+ * until none is left.
131
+ */
132
+ export const findClosedWithUnknownApprovers = (sql) => {
133
+ const run = SqlSchema.findAll({
134
+ Result: StaleOpenRow,
135
+ Request: Schema.Struct({ limit: Schema.Number }),
136
+ execute: (req) => sql `SELECT id, aws_account_id, repository_name, account_profile, account_region, last_modified_date, observation_seq,
137
+ approval_version, approval_observation_seq
138
+ FROM pull_requests
139
+ WHERE status != 'OPEN' AND approvers_unknown = 1
140
+ ORDER BY last_modified_date ASC
141
+ LIMIT ${req.limit}`
142
+ });
143
+ return (limit) => run({ limit }).pipe(cacheError("findClosedWithUnknownApprovers"));
144
+ };
127
145
  export const findOpenInRange = (sql) => {
128
146
  const run = SqlSchema.findAll({
129
147
  Result: StaleOpenRow,
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../../src/CacheService/repos/PullRequestRepo/queries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../../src/CacheService/repos/PullRequestRepo/queries.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,7 @@
29
29
  *
30
30
  * @category CacheService
31
31
  */
32
- import { Effect } from "effect";
32
+ import { Effect, Option } from "effect";
33
33
  import type * as SqlClient from "effect/sql/SqlClient";
34
34
  import type * as Statement from "effect/sql/Statement";
35
35
  import { type UpsertInput } from "./internal.js";
@@ -52,10 +52,7 @@ export interface RowVersions {
52
52
  readonly row: RowVersion;
53
53
  readonly approval: RowVersion;
54
54
  }
55
- /**
56
- * The row group, complete: a provider read has every column of it. `approvedBy` null keeps the
57
- * approvers already stored (they accumulate across reads).
58
- */
55
+ /** The row group, complete: a provider read has every column of it. */
59
56
  export interface RowGroup {
60
57
  readonly title: string;
61
58
  readonly description: string | null;
@@ -65,8 +62,6 @@ export interface RowGroup {
65
62
  readonly sourceBranch: string;
66
63
  readonly destinationBranch: string;
67
64
  readonly isMergeable: boolean;
68
- readonly approvedBy: ReadonlyArray<string>;
69
- readonly approvedByArns: ReadonlyArray<string>;
70
65
  readonly mergedBy: string | null;
71
66
  readonly closedAt: string | null;
72
67
  }
@@ -78,6 +73,11 @@ export interface ApprovalGroup {
78
73
  readonly isApproved: boolean;
79
74
  readonly approvalRules: UpsertInput["approvalRules"];
80
75
  readonly unknownReason: string | null;
76
+ /** Who approved now, from the same read; none when the read couldn't fetch them (the stored ones stay). */
77
+ readonly approvers: Option.Option<{
78
+ readonly names: ReadonlyArray<string>;
79
+ readonly arns: ReadonlyArray<string>;
80
+ }>;
81
81
  }
82
82
  /** Recomputed columns: any subset, written without a version. */
83
83
  export interface DerivedColumns {
@@ -1 +1 @@
1
- {"version":3,"file":"rowWrites.d.ts","sourceRoot":"","sources":["../../../../src/CacheService/repos/PullRequestRepo/rowWrites.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rowWrites.d.ts","sourceRoot":"","sources":["../../../../src/CacheService/repos/PullRequestRepo/rowWrites.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,7 @@
29
29
  *
30
30
  * @category CacheService
31
31
  */
32
- import { Data, Effect } from "effect";
32
+ import { Data, Effect, Option } from "effect";
33
33
  import { joinApprovedBy } from "./internal.js";
34
34
  /**
35
35
  * The `observation_sequence` row is missing, so no observation number can be taken. Without one, reads
@@ -80,14 +80,22 @@ export const rowWrites = (sql) => {
80
80
  rowSet("source_branch", row.sourceBranch),
81
81
  rowSet("destination_branch", row.destinationBranch),
82
82
  rowSet("is_mergeable", row.isMergeable ? 1 : 0),
83
- rowSet("approved_by", sql `COALESCE(${joinApprovedBy([...row.approvedBy])}, pull_requests.approved_by)`),
84
- rowSet("approved_by_arns", sql `COALESCE(${joinApprovedBy([...row.approvedByArns])}, pull_requests.approved_by_arns)`),
85
83
  rowSet("merged_by", row.mergedBy),
86
84
  rowSet("closed_at", row.closedAt),
87
85
  // An unknown evaluation keeps the last known approval and rules; a successful one replaces both.
88
86
  approvalSet("is_approved", known ? (approval.isApproved ? 1 : 0) : keep("is_approved")),
89
87
  approvalSet("approval_rules", known ? rulesJson(approval.approvalRules) : keep("approval_rules")),
90
88
  approvalSet("approval_unknown_reason", approval.unknownReason),
89
+ // Approvers are who approved now: a read with none clears them; one that couldn't fetch keeps them.
90
+ approvalSet("approved_by", Option.match(approval.approvers, {
91
+ onNone: () => keep("approved_by"),
92
+ onSome: ({ names }) => joinApprovedBy(names)
93
+ })),
94
+ approvalSet("approvers_unknown", Option.isNone(approval.approvers) ? 1 : 0),
95
+ approvalSet("approved_by_arns", Option.match(approval.approvers, {
96
+ onNone: () => keep("approved_by_arns"),
97
+ onSome: ({ arns }) => joinApprovedBy(arns)
98
+ })),
91
99
  // A successful evaluation makes the baseline known; an unknown one keeps whatever it was.
92
100
  approvalSet("approval_baseline_known", known ? 1 : keep("approval_baseline_known")),
93
101
  // SQLite evaluates every SET expression on the row as it was, so each guard sees the old versions.
@@ -112,19 +120,24 @@ export const rowWrites = (sql) => {
112
120
  */
113
121
  upsert: (req, row, approval, observation) => {
114
122
  const version = { lastActivity: new Date(req.lastModifiedDate), observation };
123
+ // A first read that couldn't fetch its approvers stores none; its refresh is reported partial.
124
+ const insertedApprovers = Option.match(approval.approvers, {
125
+ onNone: () => ({ names: null, arns: null }),
126
+ onSome: ({ arns, names }) => ({ names: joinApprovedBy(names), arns: joinApprovedBy(arns) })
127
+ });
115
128
  return sql `INSERT INTO pull_requests
116
129
  (id, aws_account_id, repo_account_id, account_profile, account_region, title, description,
117
130
  author, repository_name, creation_date, last_modified_date, status,
118
131
  source_branch, destination_branch, is_mergeable, is_approved, approval_unknown_reason,
119
- approval_baseline_known, comment_count, link, approved_by, approved_by_arns, approval_rules, merged_by, closed_at, fetched_at,
132
+ approval_baseline_known, approvers_unknown, comment_count, link, approved_by, approved_by_arns, approval_rules, merged_by, closed_at, fetched_at,
120
133
  observation_seq, approval_version, approval_observation_seq)
121
134
  SELECT ${req.id}, ${req.awsAccountId}, ${req.repoAccountId}, ${req.accountProfile}, ${req.accountRegion},
122
135
  ${row.title}, ${row.description}, ${row.author}, ${req.repositoryName},
123
136
  ${row.creationDate}, ${req.lastModifiedDate}, ${row.status},
124
137
  ${row.sourceBranch}, ${row.destinationBranch}, ${row.isMergeable ? 1 : 0},
125
138
  ${approval.isApproved ? 1 : 0}, ${approval.unknownReason},
126
- ${approval.unknownReason === null ? 1 : 0}, ${req.commentCount}, ${req.link}, ${joinApprovedBy([...row.approvedBy])},
127
- ${joinApprovedBy([...row.approvedByArns])}, ${rulesJson(approval.approvalRules)},
139
+ ${approval.unknownReason === null ? 1 : 0}, ${Option.isNone(approval.approvers) ? 1 : 0}, ${req.commentCount}, ${req.link}, ${insertedApprovers.names},
140
+ ${insertedApprovers.arns}, ${rulesJson(approval.approvalRules)},
128
141
  ${row.mergedBy}, ${row.closedAt}, strftime('%Y-%m-%dT%H:%M:%SZ', 'now'),
129
142
  ${observation}, ${req.lastModifiedDate}, ${observation}
130
143
  WHERE NOT EXISTS (