@knpkv/codecommit-core 0.19.0 → 0.20.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 (99) hide show
  1. package/dist/AwsClient/AwsClientGated.d.ts.map +1 -1
  2. package/dist/AwsClient/AwsClientGated.js +0 -2
  3. package/dist/AwsClient/AwsClientGated.js.map +1 -1
  4. package/dist/AwsClient/approvalRuleContent.d.ts +2 -1
  5. package/dist/AwsClient/approvalRuleContent.d.ts.map +1 -1
  6. package/dist/AwsClient/approvalRuleContent.js +25 -18
  7. package/dist/AwsClient/approvalRuleContent.js.map +1 -1
  8. package/dist/AwsClient/getPullRequest.d.ts.map +1 -1
  9. package/dist/AwsClient/getPullRequest.js +19 -10
  10. package/dist/AwsClient/getPullRequest.js.map +1 -1
  11. package/dist/AwsClient/getPullRequests.d.ts +30 -23
  12. package/dist/AwsClient/getPullRequests.d.ts.map +1 -1
  13. package/dist/AwsClient/getPullRequests.js +47 -32
  14. package/dist/AwsClient/getPullRequests.js.map +1 -1
  15. package/dist/AwsClient/index.d.ts +1 -10
  16. package/dist/AwsClient/index.d.ts.map +1 -1
  17. package/dist/AwsClient/index.js +0 -1
  18. package/dist/AwsClient/index.js.map +1 -1
  19. package/dist/AwsClient/internal.d.ts +11 -1
  20. package/dist/AwsClient/internal.d.ts.map +1 -1
  21. package/dist/AwsClient/internal.js +7 -0
  22. package/dist/AwsClient/internal.js.map +1 -1
  23. package/dist/CacheService/Database.d.ts +1 -1
  24. package/dist/CacheService/Database.d.ts.map +1 -1
  25. package/dist/CacheService/Database.js +6 -2
  26. package/dist/CacheService/Database.js.map +1 -1
  27. package/dist/CacheService/diff.d.ts +10 -0
  28. package/dist/CacheService/diff.d.ts.map +1 -1
  29. package/dist/CacheService/diff.js +12 -1
  30. package/dist/CacheService/diff.js.map +1 -1
  31. package/dist/CacheService/migrations/0022_pull_request_approval_unknown.d.ts +9 -0
  32. package/dist/CacheService/migrations/0022_pull_request_approval_unknown.d.ts.map +1 -0
  33. package/dist/CacheService/migrations/0022_pull_request_approval_unknown.js +8 -0
  34. package/dist/CacheService/migrations/0022_pull_request_approval_unknown.js.map +1 -0
  35. package/dist/CacheService/migrations/0023_pull_request_row_versions.d.ts +17 -0
  36. package/dist/CacheService/migrations/0023_pull_request_row_versions.d.ts.map +1 -0
  37. package/dist/CacheService/migrations/0023_pull_request_row_versions.js +37 -0
  38. package/dist/CacheService/migrations/0023_pull_request_row_versions.js.map +1 -0
  39. package/dist/CacheService/repos/PullRequestRepo/index.d.ts +34 -8
  40. package/dist/CacheService/repos/PullRequestRepo/index.d.ts.map +1 -1
  41. package/dist/CacheService/repos/PullRequestRepo/index.js +1 -1
  42. package/dist/CacheService/repos/PullRequestRepo/index.js.map +1 -1
  43. package/dist/CacheService/repos/PullRequestRepo/internal.d.ts +69 -2
  44. package/dist/CacheService/repos/PullRequestRepo/internal.d.ts.map +1 -1
  45. package/dist/CacheService/repos/PullRequestRepo/internal.js +73 -2
  46. package/dist/CacheService/repos/PullRequestRepo/internal.js.map +1 -1
  47. package/dist/CacheService/repos/PullRequestRepo/mutations.d.ts +39 -16
  48. package/dist/CacheService/repos/PullRequestRepo/mutations.d.ts.map +1 -1
  49. package/dist/CacheService/repos/PullRequestRepo/mutations.js +61 -92
  50. package/dist/CacheService/repos/PullRequestRepo/mutations.js.map +1 -1
  51. package/dist/CacheService/repos/PullRequestRepo/queries.d.ts +24 -0
  52. package/dist/CacheService/repos/PullRequestRepo/queries.d.ts.map +1 -1
  53. package/dist/CacheService/repos/PullRequestRepo/queries.js +10 -3
  54. package/dist/CacheService/repos/PullRequestRepo/queries.js.map +1 -1
  55. package/dist/CacheService/repos/PullRequestRepo/rowWrites.d.ts +131 -0
  56. package/dist/CacheService/repos/PullRequestRepo/rowWrites.d.ts.map +1 -0
  57. package/dist/CacheService/repos/PullRequestRepo/rowWrites.js +214 -0
  58. package/dist/CacheService/repos/PullRequestRepo/rowWrites.js.map +1 -0
  59. package/dist/CacheService/repos/StatsRepo/internal.d.ts +0 -1
  60. package/dist/CacheService/repos/StatsRepo/internal.d.ts.map +1 -1
  61. package/dist/CacheService/repos/StatsRepo/internal.js.map +1 -1
  62. package/dist/CacheService/repos/StatsRepo/queries.d.ts.map +1 -1
  63. package/dist/CacheService/repos/StatsRepo/queries.js +2 -1
  64. package/dist/CacheService/repos/StatsRepo/queries.js.map +1 -1
  65. package/dist/CacheService/repos/StatsRepo/reviewerData.d.ts.map +1 -1
  66. package/dist/CacheService/repos/StatsRepo/reviewerData.js +1 -2
  67. package/dist/CacheService/repos/StatsRepo/reviewerData.js.map +1 -1
  68. package/dist/Domain.d.ts +70 -0
  69. package/dist/Domain.d.ts.map +1 -1
  70. package/dist/Domain.js +55 -1
  71. package/dist/Domain.js.map +1 -1
  72. package/dist/HealthScore.d.ts +1 -1
  73. package/dist/HealthScore.d.ts.map +1 -1
  74. package/dist/HealthScore.js +20 -5
  75. package/dist/HealthScore.js.map +1 -1
  76. package/dist/PRService/internal.d.ts +17 -1
  77. package/dist/PRService/internal.d.ts.map +1 -1
  78. package/dist/PRService/internal.js +8 -0
  79. package/dist/PRService/internal.js.map +1 -1
  80. package/dist/PRService/refreshDiffs.d.ts.map +1 -1
  81. package/dist/PRService/refreshDiffs.js +8 -5
  82. package/dist/PRService/refreshDiffs.js.map +1 -1
  83. package/dist/PRService/refreshEnrich.d.ts.map +1 -1
  84. package/dist/PRService/refreshEnrich.js +26 -45
  85. package/dist/PRService/refreshEnrich.js.map +1 -1
  86. package/dist/PRService/refreshFetch.d.ts +1 -1
  87. package/dist/PRService/refreshFetch.d.ts.map +1 -1
  88. package/dist/PRService/refreshFetch.js +89 -74
  89. package/dist/PRService/refreshFetch.js.map +1 -1
  90. package/dist/PRService/refreshHistory.d.ts.map +1 -1
  91. package/dist/PRService/refreshHistory.js +17 -10
  92. package/dist/PRService/refreshHistory.js.map +1 -1
  93. package/dist/PRService/refreshScore.d.ts.map +1 -1
  94. package/dist/PRService/refreshScore.js +4 -2
  95. package/dist/PRService/refreshScore.js.map +1 -1
  96. package/dist/PRService/refreshSinglePR.d.ts.map +1 -1
  97. package/dist/PRService/refreshSinglePR.js +44 -25
  98. package/dist/PRService/refreshSinglePR.js.map +1 -1
  99. package/package.json +1 -1
@@ -32,11 +32,15 @@ export declare const findAll: (sql: SqlClient.SqlClient) => () => Effect.Effect<
32
32
  readonly repositoryName: string & import("effect/Brand").Brand<"RepositoryName">;
33
33
  readonly creationDate: Date;
34
34
  readonly lastModifiedDate: Date;
35
+ readonly observationSeq: number;
36
+ readonly approvalVersion: Date;
37
+ readonly approvalObservationSeq: number;
35
38
  readonly status: "CLOSED" | "MERGED" | "OPEN";
36
39
  readonly sourceBranch: string;
37
40
  readonly destinationBranch: string;
38
41
  readonly isMergeable: boolean;
39
42
  readonly isApproved: boolean;
43
+ readonly approvalUnknownReason: "NotPermitted" | "ProviderFailed" | "Throttled" | null;
40
44
  readonly commentCount: number | null;
41
45
  readonly healthScore: number | null;
42
46
  readonly link: string;
@@ -63,11 +67,15 @@ export declare const findMissingDiffStats: (sql: SqlClient.SqlClient) => () => E
63
67
  readonly repositoryName: string & import("effect/Brand").Brand<"RepositoryName">;
64
68
  readonly creationDate: Date;
65
69
  readonly lastModifiedDate: Date;
70
+ readonly observationSeq: number;
71
+ readonly approvalVersion: Date;
72
+ readonly approvalObservationSeq: number;
66
73
  readonly status: "CLOSED" | "MERGED" | "OPEN";
67
74
  readonly sourceBranch: string;
68
75
  readonly destinationBranch: string;
69
76
  readonly isMergeable: boolean;
70
77
  readonly isApproved: boolean;
78
+ readonly approvalUnknownReason: "NotPermitted" | "ProviderFailed" | "Throttled" | null;
71
79
  readonly commentCount: number | null;
72
80
  readonly healthScore: number | null;
73
81
  readonly link: string;
@@ -94,11 +102,15 @@ export declare const findByAccountAndId: (sql: SqlClient.SqlClient) => (awsAccou
94
102
  readonly repositoryName: string & import("effect/Brand").Brand<"RepositoryName">;
95
103
  readonly creationDate: Date;
96
104
  readonly lastModifiedDate: Date;
105
+ readonly observationSeq: number;
106
+ readonly approvalVersion: Date;
107
+ readonly approvalObservationSeq: number;
97
108
  readonly status: "CLOSED" | "MERGED" | "OPEN";
98
109
  readonly sourceBranch: string;
99
110
  readonly destinationBranch: string;
100
111
  readonly isMergeable: boolean;
101
112
  readonly isApproved: boolean;
113
+ readonly approvalUnknownReason: "NotPermitted" | "ProviderFailed" | "Throttled" | null;
102
114
  readonly commentCount: number | null;
103
115
  readonly healthScore: number | null;
104
116
  readonly link: string;
@@ -125,11 +137,15 @@ export declare const findByCoordinates: (sql: SqlClient.SqlClient) => (awsAccoun
125
137
  readonly repositoryName: string & import("effect/Brand").Brand<"RepositoryName">;
126
138
  readonly creationDate: Date;
127
139
  readonly lastModifiedDate: Date;
140
+ readonly observationSeq: number;
141
+ readonly approvalVersion: Date;
142
+ readonly approvalObservationSeq: number;
128
143
  readonly status: "CLOSED" | "MERGED" | "OPEN";
129
144
  readonly sourceBranch: string;
130
145
  readonly destinationBranch: string;
131
146
  readonly isMergeable: boolean;
132
147
  readonly isApproved: boolean;
148
+ readonly approvalUnknownReason: "NotPermitted" | "ProviderFailed" | "Throttled" | null;
133
149
  readonly commentCount: number | null;
134
150
  readonly healthScore: number | null;
135
151
  readonly link: string;
@@ -154,6 +170,10 @@ export declare const findStaleOpen: (sql: SqlClient.SqlClient) => (olderThan: st
154
170
  readonly repositoryName: string;
155
171
  readonly accountProfile: string & import("effect/Brand").Brand<"AwsProfileName">;
156
172
  readonly accountRegion: string & import("effect/Brand").Brand<"AwsRegion">;
173
+ readonly lastModifiedDate: Date;
174
+ readonly observationSeq: number;
175
+ readonly approvalVersion: Date;
176
+ readonly approvalObservationSeq: number;
157
177
  }[], CacheError, never>;
158
178
  export declare const findOpenInRange: (sql: SqlClient.SqlClient) => (weekStart: string, weekEnd: string) => Effect.Effect<{
159
179
  readonly id: string;
@@ -161,6 +181,10 @@ export declare const findOpenInRange: (sql: SqlClient.SqlClient) => (weekStart:
161
181
  readonly repositoryName: string;
162
182
  readonly accountProfile: string & import("effect/Brand").Brand<"AwsProfileName">;
163
183
  readonly accountRegion: string & import("effect/Brand").Brand<"AwsRegion">;
184
+ readonly lastModifiedDate: Date;
185
+ readonly observationSeq: number;
186
+ readonly approvalVersion: Date;
187
+ readonly approvalObservationSeq: number;
164
188
  }[], CacheError, never>;
165
189
  export {};
166
190
  //# sourceMappingURL=queries.d.ts.map
@@ -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;AAUL,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,iBASjC,MAAM;;;;;;uBAC1B,CAAA;AAED,eAAO,MAAM,eAAe,QAAS,SAAS,CAAC,SAAS,iBAanC,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,eAAO,MAAM,eAAe,QAAS,SAAS,CAAC,SAAS,iBAcnC,MAAM,WAAW,MAAM;;;;;;;;;;uBAC3C,CAAA"}
@@ -19,7 +19,12 @@ const StaleOpenRow = Schema.Struct({
19
19
  awsAccountId: Schema.String,
20
20
  repositoryName: Schema.String,
21
21
  accountProfile: AwsProfileName,
22
- accountRegion: AwsRegion
22
+ accountRegion: AwsRegion,
23
+ /** The row's version when read (with `observationSeq`); a write based on this read compares against it. */
24
+ lastModifiedDate: Schema.DateFromString,
25
+ observationSeq: Schema.Number,
26
+ approvalVersion: Schema.DateFromString,
27
+ approvalObservationSeq: Schema.Number
23
28
  });
24
29
  export const findAll = (sql) => {
25
30
  const run = SqlSchema.findAll({
@@ -112,7 +117,8 @@ export const findStaleOpen = (sql) => {
112
117
  const run = SqlSchema.findAll({
113
118
  Result: StaleOpenRow,
114
119
  Request: Schema.Struct({ olderThan: Schema.String }),
115
- execute: (req) => sql `SELECT id, aws_account_id, repository_name, account_profile, account_region
120
+ execute: (req) => sql `SELECT id, aws_account_id, repository_name, account_profile, account_region, last_modified_date, observation_seq,
121
+ approval_version, approval_observation_seq
116
122
  FROM pull_requests
117
123
  WHERE status = 'OPEN' AND fetched_at < ${req.olderThan}`
118
124
  });
@@ -122,7 +128,8 @@ export const findOpenInRange = (sql) => {
122
128
  const run = SqlSchema.findAll({
123
129
  Result: StaleOpenRow,
124
130
  Request: Schema.Struct({ weekStart: Schema.String, weekEnd: Schema.String }),
125
- execute: (req) => sql `SELECT id, aws_account_id, repository_name, account_profile, account_region
131
+ execute: (req) => sql `SELECT id, aws_account_id, repository_name, account_profile, account_region, last_modified_date, observation_seq,
132
+ approval_version, approval_observation_seq
126
133
  FROM pull_requests
127
134
  WHERE status = 'OPEN'
128
135
  AND (
@@ -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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"}
@@ -0,0 +1,131 @@
1
+ /**
2
+ * @module PullRequestRepo/rowWrites
3
+ *
4
+ * The only writers of `pull_requests` rows. A row has two versioned column groups and some
5
+ * recomputed columns:
6
+ *
7
+ * - the row group (title, description, author, status, branches, mergeability, approvers, merge and
8
+ * close details), versioned by `last_modified_date`/`observation_seq`;
9
+ * - the approval group (`is_approved`, `approval_unknown_reason`, `approval_rules`), versioned by
10
+ * `approval_version`/`approval_observation_seq`;
11
+ * - recomputed columns (diff stats, comment count, health score, commenters), which carry no version.
12
+ *
13
+ * A version is (provider last activity, observation number), compared in that order. `observe` takes
14
+ * the observation from the database in one statement, before the provider call, so two reads of the
15
+ * same revision are ordered by when they began.
16
+ *
17
+ * Three rules close the class of "an older read overwrites a newer one":
18
+ *
19
+ * 1. A provider read writes whole groups only: `upsert` and `writeRead` take a complete `RowGroup`
20
+ * and `ApprovalGroup`, and each group is written unless its version is newer than the read's.
21
+ * 2. A recomputed write never moves a version: `writeDerived` applies only while both groups still
22
+ * hold exactly the versions it read, so a value computed from an older row is dropped.
23
+ * 3. A tombstone keeps the later of the two groups' versions, so a deletion forgets neither.
24
+ *
25
+ * Two set-based writes carry no version: filling a NULL `repo_account_id` (it never replaces a value),
26
+ * and deleting rows not fetched since a cutoff (cache expiry, not a provider observation).
27
+ * `ast-grep/rules/typescript/no-direct-pull-request-row-write.yml` keeps every other path out.
28
+ *
29
+ * @category CacheService
30
+ */
31
+ import { Effect } from "effect";
32
+ import type * as SqlClient from "effect/sql/SqlClient";
33
+ import type * as Statement from "effect/sql/Statement";
34
+ import { type UpsertInput } from "./internal.js";
35
+ declare const ObservationSequenceMissing_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
36
+ readonly _tag: "ObservationSequenceMissing";
37
+ } & Readonly<A>;
38
+ /**
39
+ * The `observation_sequence` row is missing, so no observation number can be taken. Without one, reads
40
+ * of the same revision can't be ordered; callers skip the read instead.
41
+ */
42
+ export declare class ObservationSequenceMissing extends ObservationSequenceMissing_base<{}> {
43
+ }
44
+ /** A version: the provider last activity a read saw, and the observation it came from. */
45
+ export interface RowVersion {
46
+ readonly lastActivity: Date;
47
+ readonly observation: number;
48
+ }
49
+ /** Both groups' versions, as a read of the row saw them. */
50
+ export interface RowVersions {
51
+ readonly row: RowVersion;
52
+ readonly approval: RowVersion;
53
+ }
54
+ /**
55
+ * The row group, complete: a provider read has every column of it. `approvedBy` null keeps the
56
+ * approvers already stored (they accumulate across reads).
57
+ */
58
+ export interface RowGroup {
59
+ readonly title: string;
60
+ readonly description: string | null;
61
+ readonly author: string;
62
+ readonly status: string;
63
+ readonly creationDate: string;
64
+ readonly sourceBranch: string;
65
+ readonly destinationBranch: string;
66
+ readonly isMergeable: boolean;
67
+ readonly approvedBy: ReadonlyArray<string>;
68
+ readonly approvedByArns: ReadonlyArray<string>;
69
+ readonly mergedBy: string | null;
70
+ readonly closedAt: string | null;
71
+ }
72
+ /**
73
+ * The approval group, complete. While `unknownReason` is set, the stored approval and rules are kept
74
+ * as the last known value and only the reason is written.
75
+ */
76
+ export interface ApprovalGroup {
77
+ readonly isApproved: boolean;
78
+ readonly approvalRules: UpsertInput["approvalRules"];
79
+ readonly unknownReason: string | null;
80
+ }
81
+ /** Recomputed columns: any subset, written without a version. */
82
+ export interface DerivedColumns {
83
+ readonly filesAdded?: number;
84
+ readonly filesModified?: number;
85
+ readonly filesDeleted?: number;
86
+ readonly commentCount?: number | null;
87
+ readonly healthScore?: number | null;
88
+ readonly commentedBy?: string | null;
89
+ }
90
+ /** Which column groups a provider read wrote, and the versions the row now holds. */
91
+ export interface GroupsWritten {
92
+ readonly row: boolean;
93
+ readonly approval: boolean;
94
+ /** The row's versions after the write; absent when the row doesn't exist (a tombstone kept it out). */
95
+ readonly versions: RowVersions | undefined;
96
+ }
97
+ export declare const rowWrites: (sql: SqlClient.SqlClient) => {
98
+ /** The next observation number, taken before a provider read. Fails when the sequence row is missing. */
99
+ observe: () => Effect.Effect<number, ObservationSequenceMissing | import("effect/sql/SqlError").SqlError, never>;
100
+ /**
101
+ * Insert a listed pull request, or write each of its groups unless that group is newer. A deleted
102
+ * pull request comes back only from a read that began after the deletion, of a revision no older
103
+ * than the deleted row's. Recomputed columns are set only on insert; afterwards only
104
+ * `writeDerived` changes them.
105
+ */
106
+ upsert: (req: typeof UpsertInput.Encoded, row: RowGroup, approval: ApprovalGroup, observation: number) => Effect.Effect<GroupsWritten, import("effect/sql/SqlError").SqlError, never>;
107
+ /** Write a provider re-read of an existing row: each group unless that group is newer. */
108
+ writeRead: (where: Statement.Fragment, version: RowVersion, row: RowGroup, approval: ApprovalGroup) => Effect.Effect<GroupsWritten, import("effect/sql/SqlError").SqlError, never>;
109
+ /**
110
+ * Write recomputed columns, only while both groups hold exactly the versions `observed` saw: a value
111
+ * computed from an older row is dropped. Moves no version. True when the row was written.
112
+ */
113
+ writeDerived: (where: Statement.Fragment, observed: RowVersions, columns: DerivedColumns) => Effect.Effect<boolean, import("effect/sql/SqlError").SqlError, never>;
114
+ /**
115
+ * Delete the row matched by `where` for a not-found read begun at `observation`, unless a read that
116
+ * began later has written either group since. A not-found answer carries no revision, so only its
117
+ * observation orders it. The tombstone keeps the later of the two groups' versions and
118
+ * `observation`. True when the row was deleted.
119
+ */
120
+ deleteIfNotNewer: (where: Statement.Fragment, observation: number) => Effect.Effect<boolean, import("effect/sql/SqlError").SqlError, never>;
121
+ /**
122
+ * Cache expiry: delete rows (only OPEN ones with `openOnly`) not fetched since `olderThan`, and
123
+ * tombstones of deletions made before it (both on the cache clock), which no read in flight can
124
+ * still be behind.
125
+ */
126
+ deleteFetchedBefore: (olderThan: string, openOnly: boolean) => Effect.Effect<readonly import("effect/sql/SqlConnection").Row[], import("effect/sql/SqlError").SqlError, never>;
127
+ /** Fill a NULL `repo_account_id` from another row of the same repository; an existing value is kept. */
128
+ fillRepoAccountIds: () => Statement.Statement<import("effect/sql/SqlConnection").Row>;
129
+ };
130
+ export {};
131
+ //# sourceMappingURL=rowWrites.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rowWrites.d.ts","sourceRoot":"","sources":["../../../../src/CacheService/repos/PullRequestRepo/rowWrites.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,214 @@
1
+ /**
2
+ * @module PullRequestRepo/rowWrites
3
+ *
4
+ * The only writers of `pull_requests` rows. A row has two versioned column groups and some
5
+ * recomputed columns:
6
+ *
7
+ * - the row group (title, description, author, status, branches, mergeability, approvers, merge and
8
+ * close details), versioned by `last_modified_date`/`observation_seq`;
9
+ * - the approval group (`is_approved`, `approval_unknown_reason`, `approval_rules`), versioned by
10
+ * `approval_version`/`approval_observation_seq`;
11
+ * - recomputed columns (diff stats, comment count, health score, commenters), which carry no version.
12
+ *
13
+ * A version is (provider last activity, observation number), compared in that order. `observe` takes
14
+ * the observation from the database in one statement, before the provider call, so two reads of the
15
+ * same revision are ordered by when they began.
16
+ *
17
+ * Three rules close the class of "an older read overwrites a newer one":
18
+ *
19
+ * 1. A provider read writes whole groups only: `upsert` and `writeRead` take a complete `RowGroup`
20
+ * and `ApprovalGroup`, and each group is written unless its version is newer than the read's.
21
+ * 2. A recomputed write never moves a version: `writeDerived` applies only while both groups still
22
+ * hold exactly the versions it read, so a value computed from an older row is dropped.
23
+ * 3. A tombstone keeps the later of the two groups' versions, so a deletion forgets neither.
24
+ *
25
+ * Two set-based writes carry no version: filling a NULL `repo_account_id` (it never replaces a value),
26
+ * and deleting rows not fetched since a cutoff (cache expiry, not a provider observation).
27
+ * `ast-grep/rules/typescript/no-direct-pull-request-row-write.yml` keeps every other path out.
28
+ *
29
+ * @category CacheService
30
+ */
31
+ import { Data, Effect } from "effect";
32
+ import { joinApprovedBy } from "./internal.js";
33
+ /**
34
+ * The `observation_sequence` row is missing, so no observation number can be taken. Without one, reads
35
+ * of the same revision can't be ordered; callers skip the read instead.
36
+ */
37
+ export class ObservationSequenceMissing extends Data.TaggedError("ObservationSequenceMissing") {
38
+ }
39
+ const written = (rows, version) => {
40
+ const after = rows[0];
41
+ if (after === undefined)
42
+ return { row: false, approval: false, versions: undefined };
43
+ const at = version.lastActivity.toISOString();
44
+ return {
45
+ row: after.rowAt === at && after.rowSeq === version.observation,
46
+ approval: after.approvalAt === at && after.approvalSeq === version.observation,
47
+ versions: {
48
+ row: { lastActivity: new Date(after.rowAt), observation: after.rowSeq },
49
+ approval: { lastActivity: new Date(after.approvalAt), observation: after.approvalSeq }
50
+ }
51
+ };
52
+ };
53
+ const rulesJson = (rules) => rules.length > 0 ? JSON.stringify(rules) : "[]";
54
+ export const rowWrites = (sql) => {
55
+ /** The group whose version is in `at`/`seq` is not newer than `version`. */
56
+ const notNewer = (at, seq, version) => {
57
+ const lastActivity = version.lastActivity.toISOString();
58
+ return sql `(${at} < ${lastActivity} OR (${at} = ${lastActivity} AND ${seq} <= ${version.observation}))`;
59
+ };
60
+ const rowNotNewer = (version) => notNewer(sql `pull_requests.last_modified_date`, sql `pull_requests.observation_seq`, version);
61
+ const approvalNotNewer = (version) => notNewer(sql `pull_requests.approval_version`, sql `pull_requests.approval_observation_seq`, version);
62
+ const returningVersions = sql `RETURNING last_modified_date AS rowAt, observation_seq AS rowSeq,
63
+ approval_version AS approvalAt, approval_observation_seq AS approvalSeq`;
64
+ /** Each group's assignments, guarded by that group's version. */
65
+ const groupAssignments = (version, row, approval) => {
66
+ const rowFresh = rowNotNewer(version);
67
+ const approvalFresh = approvalNotNewer(version);
68
+ const at = version.lastActivity.toISOString();
69
+ const keep = (column) => sql.literal(`pull_requests.${column}`);
70
+ const rowSet = (column, value) => sql `${sql.literal(column)} = CASE WHEN ${rowFresh} THEN ${value} ELSE ${keep(column)} END`;
71
+ const approvalSet = (column, value) => sql `${sql.literal(column)} = CASE WHEN ${approvalFresh} THEN ${value} ELSE ${keep(column)} END`;
72
+ const known = approval.unknownReason === null;
73
+ return sql.join(", ", false)([
74
+ rowSet("title", row.title),
75
+ rowSet("description", row.description),
76
+ rowSet("author", row.author),
77
+ rowSet("status", row.status),
78
+ rowSet("creation_date", row.creationDate),
79
+ rowSet("source_branch", row.sourceBranch),
80
+ rowSet("destination_branch", row.destinationBranch),
81
+ rowSet("is_mergeable", row.isMergeable ? 1 : 0),
82
+ rowSet("approved_by", sql `COALESCE(${joinApprovedBy([...row.approvedBy])}, pull_requests.approved_by)`),
83
+ rowSet("approved_by_arns", sql `COALESCE(${joinApprovedBy([...row.approvedByArns])}, pull_requests.approved_by_arns)`),
84
+ rowSet("merged_by", row.mergedBy),
85
+ rowSet("closed_at", row.closedAt),
86
+ // An unknown evaluation keeps the last known approval and rules; a successful one replaces both.
87
+ approvalSet("is_approved", known ? (approval.isApproved ? 1 : 0) : keep("is_approved")),
88
+ approvalSet("approval_rules", known ? rulesJson(approval.approvalRules) : keep("approval_rules")),
89
+ approvalSet("approval_unknown_reason", approval.unknownReason),
90
+ // SQLite evaluates every SET expression on the row as it was, so each guard sees the old versions.
91
+ approvalSet("approval_version", at),
92
+ approvalSet("approval_observation_seq", version.observation),
93
+ rowSet("last_modified_date", at),
94
+ rowSet("observation_seq", version.observation)
95
+ ]);
96
+ };
97
+ return {
98
+ /** The next observation number, taken before a provider read. Fails when the sequence row is missing. */
99
+ observe: () => sql `UPDATE observation_sequence SET value = value + 1 WHERE id = 1 RETURNING value`
100
+ .pipe(Effect.flatMap((rows) => {
101
+ const next = rows[0];
102
+ return next === undefined ? Effect.fail(new ObservationSequenceMissing()) : Effect.succeed(next.value);
103
+ })),
104
+ /**
105
+ * Insert a listed pull request, or write each of its groups unless that group is newer. A deleted
106
+ * pull request comes back only from a read that began after the deletion, of a revision no older
107
+ * than the deleted row's. Recomputed columns are set only on insert; afterwards only
108
+ * `writeDerived` changes them.
109
+ */
110
+ upsert: (req, row, approval, observation) => {
111
+ const version = { lastActivity: new Date(req.lastModifiedDate), observation };
112
+ return sql `INSERT INTO pull_requests
113
+ (id, aws_account_id, repo_account_id, account_profile, account_region, title, description,
114
+ author, repository_name, creation_date, last_modified_date, status,
115
+ source_branch, destination_branch, is_mergeable, is_approved, approval_unknown_reason,
116
+ comment_count, link, approved_by, approved_by_arns, approval_rules, merged_by, closed_at, fetched_at,
117
+ observation_seq, approval_version, approval_observation_seq)
118
+ SELECT ${req.id}, ${req.awsAccountId}, ${req.repoAccountId}, ${req.accountProfile}, ${req.accountRegion},
119
+ ${row.title}, ${row.description}, ${row.author}, ${req.repositoryName},
120
+ ${row.creationDate}, ${req.lastModifiedDate}, ${row.status},
121
+ ${row.sourceBranch}, ${row.destinationBranch}, ${row.isMergeable ? 1 : 0},
122
+ ${approval.isApproved ? 1 : 0}, ${approval.unknownReason},
123
+ ${req.commentCount}, ${req.link}, ${joinApprovedBy([...row.approvedBy])},
124
+ ${joinApprovedBy([...row.approvedByArns])}, ${rulesJson(approval.approvalRules)},
125
+ ${row.mergedBy}, ${row.closedAt}, strftime('%Y-%m-%dT%H:%M:%SZ', 'now'),
126
+ ${observation}, ${req.lastModifiedDate}, ${observation}
127
+ WHERE NOT EXISTS (
128
+ SELECT 1 FROM pull_request_tombstones t
129
+ WHERE t.aws_account_id = ${req.awsAccountId} AND t.id = ${req.id}
130
+ AND t.repository_name = ${req.repositoryName} AND t.account_region = ${req.accountRegion}
131
+ AND (t.observation_seq >= ${observation} OR t.version > ${req.lastModifiedDate})
132
+ )
133
+ ON CONFLICT (aws_account_id, id, repository_name, account_region) DO UPDATE SET
134
+ account_profile = excluded.account_profile,
135
+ link = excluded.link,
136
+ repo_account_id = COALESCE(excluded.repo_account_id, pull_requests.repo_account_id),
137
+ fetched_at = excluded.fetched_at,
138
+ ${groupAssignments(version, row, approval)}
139
+ WHERE ${rowNotNewer(version)} OR ${approvalNotNewer(version)}
140
+ ${returningVersions}`.pipe(Effect.map((rows) => written(rows, version)));
141
+ },
142
+ /** Write a provider re-read of an existing row: each group unless that group is newer. */
143
+ writeRead: (where, version, row, approval) => sql `UPDATE pull_requests SET ${groupAssignments(version, row, approval)}, fetched_at = strftime('%Y-%m-%dT%H:%M:%SZ', 'now')
144
+ WHERE ${where} AND (${rowNotNewer(version)} OR ${approvalNotNewer(version)})
145
+ ${returningVersions}`.pipe(Effect.map((rows) => written(rows, version))),
146
+ /**
147
+ * Write recomputed columns, only while both groups hold exactly the versions `observed` saw: a value
148
+ * computed from an older row is dropped. Moves no version. True when the row was written.
149
+ */
150
+ writeDerived: (where, observed, columns) => {
151
+ const assignments = [
152
+ columns.filesAdded !== undefined ? sql `files_added = ${columns.filesAdded}` : undefined,
153
+ columns.filesModified !== undefined ? sql `files_modified = ${columns.filesModified}` : undefined,
154
+ columns.filesDeleted !== undefined ? sql `files_deleted = ${columns.filesDeleted}` : undefined,
155
+ columns.commentCount !== undefined ? sql `comment_count = ${columns.commentCount}` : undefined,
156
+ columns.healthScore !== undefined ? sql `health_score = ${columns.healthScore}` : undefined,
157
+ columns.commentedBy !== undefined ? sql `commented_by = ${columns.commentedBy}` : undefined
158
+ ].filter((assignment) => assignment !== undefined);
159
+ if (assignments.length === 0)
160
+ return Effect.succeed(false);
161
+ return sql `UPDATE pull_requests SET ${sql.join(", ", false)(assignments)}
162
+ WHERE ${where}
163
+ AND last_modified_date = ${observed.row.lastActivity.toISOString()}
164
+ AND observation_seq = ${observed.row.observation}
165
+ AND approval_version = ${observed.approval.lastActivity.toISOString()}
166
+ AND approval_observation_seq = ${observed.approval.observation}
167
+ RETURNING 1 AS applied`.pipe(Effect.map((rows) => rows.length > 0));
168
+ },
169
+ /**
170
+ * Delete the row matched by `where` for a not-found read begun at `observation`, unless a read that
171
+ * began later has written either group since. A not-found answer carries no revision, so only its
172
+ * observation orders it. The tombstone keeps the later of the two groups' versions and
173
+ * `observation`. True when the row was deleted.
174
+ */
175
+ deleteIfNotNewer: (where, observation) => {
176
+ const unwritten = sql `observation_seq <= ${observation} AND approval_observation_seq <= ${observation}`;
177
+ return sql.withTransaction(sql `INSERT INTO pull_request_tombstones
178
+ (aws_account_id, id, repository_name, account_region, version, observation_seq)
179
+ SELECT aws_account_id, id, repository_name, account_region,
180
+ MAX(last_modified_date, approval_version), ${observation}
181
+ FROM pull_requests WHERE ${where} AND ${unwritten}
182
+ ON CONFLICT (aws_account_id, id, repository_name, account_region) DO UPDATE SET
183
+ version = excluded.version, observation_seq = excluded.observation_seq,
184
+ deleted_at = excluded.deleted_at`.pipe(Effect.andThen(sql `DELETE FROM pull_requests WHERE ${where} AND ${unwritten}
185
+ RETURNING 1 AS applied`),
186
+ // A row already gone: a later not-found read still advances its tombstone (never lowers it),
187
+ // so a read that began between the two deletions can't bring it back.
188
+ Effect.tap(() => sql `UPDATE pull_request_tombstones
189
+ SET observation_seq = ${observation}, deleted_at = strftime('%Y-%m-%dT%H:%M:%SZ', 'now')
190
+ WHERE ${where} AND observation_seq < ${observation}
191
+ AND NOT EXISTS (SELECT 1 FROM pull_requests WHERE ${where})`), Effect.map((rows) => rows.length > 0)));
192
+ },
193
+ /**
194
+ * Cache expiry: delete rows (only OPEN ones with `openOnly`) not fetched since `olderThan`, and
195
+ * tombstones of deletions made before it (both on the cache clock), which no read in flight can
196
+ * still be behind.
197
+ */
198
+ deleteFetchedBefore: (olderThan, openOnly) => (openOnly
199
+ ? sql `DELETE FROM pull_requests WHERE status = 'OPEN' AND fetched_at < ${olderThan}`
200
+ : sql `DELETE FROM pull_requests WHERE fetched_at < ${olderThan}`).pipe(Effect.andThen(sql `DELETE FROM pull_request_tombstones WHERE deleted_at < ${olderThan}`)),
201
+ /** Fill a NULL `repo_account_id` from another row of the same repository; an existing value is kept. */
202
+ fillRepoAccountIds: () => sql `UPDATE pull_requests
203
+ SET repo_account_id = (
204
+ SELECT p2.repo_account_id FROM pull_requests p2
205
+ WHERE p2.repo_account_id IS NOT NULL
206
+ AND p2.aws_account_id = pull_requests.aws_account_id
207
+ AND p2.repository_name = pull_requests.repository_name
208
+ AND p2.account_region = pull_requests.account_region
209
+ LIMIT 1
210
+ )
211
+ WHERE repo_account_id IS NULL`
212
+ };
213
+ };
214
+ //# sourceMappingURL=rowWrites.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rowWrites.js","sourceRoot":"","sources":["../../../../src/CacheService/repos/PullRequestRepo/rowWrites.ts"],"names":[],"mappings":"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"}
@@ -81,7 +81,6 @@ export interface PRForReviewRow {
81
81
  readonly creationDate: string;
82
82
  readonly closedAt: string | null;
83
83
  readonly lastModifiedDate: string;
84
- readonly isApproved: number;
85
84
  readonly mergedBy: string | null;
86
85
  readonly repositoryName: string;
87
86
  readonly status: string;
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../../src/CacheService/repos/StatsRepo/internal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../../src/CacheService/repos/StatsRepo/internal.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../../src/CacheService/repos/StatsRepo/internal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../../src/CacheService/repos/StatsRepo/internal.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../../src/CacheService/repos/StatsRepo/queries.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,KAAK,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACtD,OAAO,EACL,KAAK,WAAW,EAGhB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EAGzB,KAAK,OAAO,EACZ,KAAK,SAAS,EAEd,KAAK,mBAAmB,EACxB,KAAK,UAAU,EACf,KAAK,SAAS,EAEf,MAAM,eAAe,CAAA;AAItB,eAAO,MAAM,YAAY,QAAS,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO,8EAc9G,CAAA;AAED,eAAO,MAAM,eAAe,QACpB,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO,8GAYlF,CAAA;AAEH,eAAO,MAAM,aAAa,QAClB,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO,2GAYlF,CAAA;AAEH,eAAO,MAAM,kBAAkB,QACvB,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO,wFAiBlF,CAAA;AAEH,eAAO,MAAM,WAAW,QAAS,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO;;;;0DAoB7G,CAAA;AAED,eAAO,MAAM,qBAAqB,QAC1B,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO,oHAgBlF,CAAA;AAEH,eAAO,MAAM,QAAQ,QAAS,SAAS,CAAC,SAAS,cAAc,MAAM,WAAW,OAAO,0GAatF,CAAA;AAED,eAAO,MAAM,gBAAgB,QACrB,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO,8EAelF,CAAA;AAEH,eAAO,MAAM,aAAa,QAAS,SAAS,CAAC,SAAS;;;;mDAkBnD,CAAA;AAEH,eAAO,MAAM,aAAa,QAAS,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO,2EAY/G,CAAA;AAED,eAAO,MAAM,gBAAgB,QACrB,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO;;;;;;;;;;qDA2BlF,CAAA;AAEH,eAAO,MAAM,cAAc,QAAS,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO,kFAchH,CAAA;AAED,eAAO,MAAM,kBAAkB,QAAS,SAAS,CAAC,SAAS,wFAMxD,CAAA"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../../src/CacheService/repos/StatsRepo/queries.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,KAAK,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACtD,OAAO,EACL,KAAK,WAAW,EAGhB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EAGzB,KAAK,OAAO,EACZ,KAAK,SAAS,EAEd,KAAK,mBAAmB,EACxB,KAAK,UAAU,EACf,KAAK,SAAS,EAEf,MAAM,eAAe,CAAA;AAItB,eAAO,MAAM,YAAY,QAAS,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO,8EAc9G,CAAA;AAED,eAAO,MAAM,eAAe,QACpB,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO,8GAYlF,CAAA;AAEH,eAAO,MAAM,aAAa,QAClB,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO,2GAYlF,CAAA;AAEH,eAAO,MAAM,kBAAkB,QACvB,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO,wFAiBlF,CAAA;AAEH,eAAO,MAAM,WAAW,QAAS,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO;;;;0DAoB7G,CAAA;AAED,eAAO,MAAM,qBAAqB,QAC1B,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO,oHAgBlF,CAAA;AAEH,eAAO,MAAM,QAAQ,QAAS,SAAS,CAAC,SAAS,cAAc,MAAM,WAAW,OAAO,0GAatF,CAAA;AAED,eAAO,MAAM,gBAAgB,QACrB,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO,8EAgBlF,CAAA;AAEH,eAAO,MAAM,aAAa,QAAS,SAAS,CAAC,SAAS;;;;mDAkBnD,CAAA;AAEH,eAAO,MAAM,aAAa,QAAS,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO,2EAY/G,CAAA;AAED,eAAO,MAAM,gBAAgB,QACrB,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO;;;;;;;;;;qDA2BlF,CAAA;AAEH,eAAO,MAAM,cAAc,QAAS,SAAS,CAAC,SAAS,iBAAiB,MAAM,WAAW,MAAM,WAAW,OAAO,kFAchH,CAAA;AAED,eAAO,MAAM,kBAAkB,QAAS,SAAS,CAAC,SAAS,wFAMxD,CAAA"}
@@ -118,7 +118,8 @@ export const healthIndicators = (sql) => (weekStart, weekEnd, filters) => {
118
118
  SELECT
119
119
  COUNT(*) as total,
120
120
  COUNT(CASE WHEN comment_count > 0 THEN 1 END) as with_comments,
121
- COUNT(CASE WHEN is_approved = 1 THEN 1 END) as approved
121
+ -- A row whose last evaluation failed has only a last known approval, so it is not counted.
122
+ COUNT(CASE WHEN is_approved = 1 AND approval_unknown_reason IS NULL THEN 1 END) as approved
122
123
  FROM pull_requests
123
124
  WHERE creation_date >= ${weekStart} AND creation_date < ${weekEnd}
124
125
  AND status != 'CLOSED'