@knpkv/codecommit-core 0.18.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 (128) 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/getCallerIdentity.d.ts +2 -0
  9. package/dist/AwsClient/getCallerIdentity.d.ts.map +1 -1
  10. package/dist/AwsClient/getCallerIdentity.js +8 -4
  11. package/dist/AwsClient/getCallerIdentity.js.map +1 -1
  12. package/dist/AwsClient/getPullRequest.d.ts.map +1 -1
  13. package/dist/AwsClient/getPullRequest.js +19 -10
  14. package/dist/AwsClient/getPullRequest.js.map +1 -1
  15. package/dist/AwsClient/getPullRequests.d.ts +30 -23
  16. package/dist/AwsClient/getPullRequests.d.ts.map +1 -1
  17. package/dist/AwsClient/getPullRequests.js +47 -32
  18. package/dist/AwsClient/getPullRequests.js.map +1 -1
  19. package/dist/AwsClient/index.d.ts +1 -10
  20. package/dist/AwsClient/index.d.ts.map +1 -1
  21. package/dist/AwsClient/index.js +0 -1
  22. package/dist/AwsClient/index.js.map +1 -1
  23. package/dist/AwsClient/internal.d.ts +11 -1
  24. package/dist/AwsClient/internal.d.ts.map +1 -1
  25. package/dist/AwsClient/internal.js +7 -0
  26. package/dist/AwsClient/internal.js.map +1 -1
  27. package/dist/AwsClientConfig/internal/ProfileCredentialProvider.d.ts +2 -17
  28. package/dist/AwsClientConfig/internal/ProfileCredentialProvider.d.ts.map +1 -1
  29. package/dist/AwsClientConfig/internal/ProfileCredentialProvider.js +2 -6
  30. package/dist/AwsClientConfig/internal/ProfileCredentialProvider.js.map +1 -1
  31. package/dist/AwsClientConfig.js +1 -1
  32. package/dist/AwsClientConfig.js.map +1 -1
  33. package/dist/AwsCredentialErrors.d.ts +8 -0
  34. package/dist/AwsCredentialErrors.d.ts.map +1 -0
  35. package/dist/AwsCredentialErrors.js +40 -0
  36. package/dist/AwsCredentialErrors.js.map +1 -0
  37. package/dist/AwsProfileCredentials.d.ts +23 -0
  38. package/dist/AwsProfileCredentials.d.ts.map +1 -0
  39. package/dist/AwsProfileCredentials.js +29 -0
  40. package/dist/AwsProfileCredentials.js.map +1 -0
  41. package/dist/CacheService/Database.d.ts +1 -1
  42. package/dist/CacheService/Database.d.ts.map +1 -1
  43. package/dist/CacheService/Database.js +6 -2
  44. package/dist/CacheService/Database.js.map +1 -1
  45. package/dist/CacheService/diff.d.ts +10 -0
  46. package/dist/CacheService/diff.d.ts.map +1 -1
  47. package/dist/CacheService/diff.js +12 -1
  48. package/dist/CacheService/diff.js.map +1 -1
  49. package/dist/CacheService/migrations/0022_pull_request_approval_unknown.d.ts +9 -0
  50. package/dist/CacheService/migrations/0022_pull_request_approval_unknown.d.ts.map +1 -0
  51. package/dist/CacheService/migrations/0022_pull_request_approval_unknown.js +8 -0
  52. package/dist/CacheService/migrations/0022_pull_request_approval_unknown.js.map +1 -0
  53. package/dist/CacheService/migrations/0023_pull_request_row_versions.d.ts +17 -0
  54. package/dist/CacheService/migrations/0023_pull_request_row_versions.d.ts.map +1 -0
  55. package/dist/CacheService/migrations/0023_pull_request_row_versions.js +37 -0
  56. package/dist/CacheService/migrations/0023_pull_request_row_versions.js.map +1 -0
  57. package/dist/CacheService/repos/PullRequestRepo/index.d.ts +34 -8
  58. package/dist/CacheService/repos/PullRequestRepo/index.d.ts.map +1 -1
  59. package/dist/CacheService/repos/PullRequestRepo/index.js +1 -1
  60. package/dist/CacheService/repos/PullRequestRepo/index.js.map +1 -1
  61. package/dist/CacheService/repos/PullRequestRepo/internal.d.ts +69 -2
  62. package/dist/CacheService/repos/PullRequestRepo/internal.d.ts.map +1 -1
  63. package/dist/CacheService/repos/PullRequestRepo/internal.js +73 -2
  64. package/dist/CacheService/repos/PullRequestRepo/internal.js.map +1 -1
  65. package/dist/CacheService/repos/PullRequestRepo/mutations.d.ts +39 -16
  66. package/dist/CacheService/repos/PullRequestRepo/mutations.d.ts.map +1 -1
  67. package/dist/CacheService/repos/PullRequestRepo/mutations.js +61 -92
  68. package/dist/CacheService/repos/PullRequestRepo/mutations.js.map +1 -1
  69. package/dist/CacheService/repos/PullRequestRepo/queries.d.ts +24 -0
  70. package/dist/CacheService/repos/PullRequestRepo/queries.d.ts.map +1 -1
  71. package/dist/CacheService/repos/PullRequestRepo/queries.js +10 -3
  72. package/dist/CacheService/repos/PullRequestRepo/queries.js.map +1 -1
  73. package/dist/CacheService/repos/PullRequestRepo/rowWrites.d.ts +131 -0
  74. package/dist/CacheService/repos/PullRequestRepo/rowWrites.d.ts.map +1 -0
  75. package/dist/CacheService/repos/PullRequestRepo/rowWrites.js +214 -0
  76. package/dist/CacheService/repos/PullRequestRepo/rowWrites.js.map +1 -0
  77. package/dist/CacheService/repos/StatsRepo/internal.d.ts +0 -1
  78. package/dist/CacheService/repos/StatsRepo/internal.d.ts.map +1 -1
  79. package/dist/CacheService/repos/StatsRepo/internal.js.map +1 -1
  80. package/dist/CacheService/repos/StatsRepo/queries.d.ts.map +1 -1
  81. package/dist/CacheService/repos/StatsRepo/queries.js +2 -1
  82. package/dist/CacheService/repos/StatsRepo/queries.js.map +1 -1
  83. package/dist/CacheService/repos/StatsRepo/reviewerData.d.ts.map +1 -1
  84. package/dist/CacheService/repos/StatsRepo/reviewerData.js +1 -2
  85. package/dist/CacheService/repos/StatsRepo/reviewerData.js.map +1 -1
  86. package/dist/Domain.d.ts +153 -7
  87. package/dist/Domain.d.ts.map +1 -1
  88. package/dist/Domain.js +107 -1
  89. package/dist/Domain.js.map +1 -1
  90. package/dist/HealthScore.d.ts +1 -1
  91. package/dist/HealthScore.d.ts.map +1 -1
  92. package/dist/HealthScore.js +20 -5
  93. package/dist/HealthScore.js.map +1 -1
  94. package/dist/IdentityLifecycle.d.ts +288 -0
  95. package/dist/IdentityLifecycle.d.ts.map +1 -0
  96. package/dist/IdentityLifecycle.js +125 -0
  97. package/dist/IdentityLifecycle.js.map +1 -0
  98. package/dist/PRService/internal.d.ts +17 -1
  99. package/dist/PRService/internal.d.ts.map +1 -1
  100. package/dist/PRService/internal.js +8 -0
  101. package/dist/PRService/internal.js.map +1 -1
  102. package/dist/PRService/refresh.d.ts.map +1 -1
  103. package/dist/PRService/refresh.js +2 -1
  104. package/dist/PRService/refresh.js.map +1 -1
  105. package/dist/PRService/refreshDiffs.d.ts.map +1 -1
  106. package/dist/PRService/refreshDiffs.js +8 -5
  107. package/dist/PRService/refreshDiffs.js.map +1 -1
  108. package/dist/PRService/refreshEnrich.d.ts.map +1 -1
  109. package/dist/PRService/refreshEnrich.js +26 -45
  110. package/dist/PRService/refreshEnrich.js.map +1 -1
  111. package/dist/PRService/refreshFetch.d.ts +3 -1
  112. package/dist/PRService/refreshFetch.d.ts.map +1 -1
  113. package/dist/PRService/refreshFetch.js +108 -74
  114. package/dist/PRService/refreshFetch.js.map +1 -1
  115. package/dist/PRService/refreshHistory.d.ts.map +1 -1
  116. package/dist/PRService/refreshHistory.js +19 -11
  117. package/dist/PRService/refreshHistory.js.map +1 -1
  118. package/dist/PRService/refreshResolve.d.ts +10 -0
  119. package/dist/PRService/refreshResolve.d.ts.map +1 -1
  120. package/dist/PRService/refreshResolve.js +43 -28
  121. package/dist/PRService/refreshResolve.js.map +1 -1
  122. package/dist/PRService/refreshScore.d.ts.map +1 -1
  123. package/dist/PRService/refreshScore.js +4 -2
  124. package/dist/PRService/refreshScore.js.map +1 -1
  125. package/dist/PRService/refreshSinglePR.d.ts.map +1 -1
  126. package/dist/PRService/refreshSinglePR.js +44 -25
  127. package/dist/PRService/refreshSinglePR.js.map +1 -1
  128. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Domain.d.ts","sourceRoot":"","sources":["../src/Domain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Domain.d.ts","sourceRoot":"","sources":["../src/Domain.ts"],"names":[],"mappings":"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"}
package/dist/Domain.js CHANGED
@@ -40,7 +40,7 @@
40
40
  * @category Domain
41
41
  * @module
42
42
  */
43
- import { Data, Effect, Schema, SchemaGetter, SchemaIssue } from "effect";
43
+ import { Data, Effect, Match, Schema, SchemaGetter, SchemaIssue } from "effect";
44
44
  // ---------------------------------------------------------------------------
45
45
  // Branded Types
46
46
  // ---------------------------------------------------------------------------
@@ -149,6 +149,27 @@ export class ApprovalRule extends Schema.Class("ApprovalRule")({
149
149
  fromTemplate: Schema.optional(Schema.String)
150
150
  }) {
151
151
  }
152
+ /**
153
+ * Why CodeCommit could not say whether a pull request's approval rules are satisfied. Reasons carry
154
+ * no provider text, which can include account paths; the account's notification keeps that.
155
+ *
156
+ * @category Domain
157
+ */
158
+ export const ApprovalUnknownReason = Schema.TaggedUnion({
159
+ /** `codecommit:EvaluatePullRequestApprovalRules` is denied, typically a missing IAM grant. */
160
+ NotPermitted: {},
161
+ /** AWS was still throttling the evaluation after retries. */
162
+ Throttled: {},
163
+ /** Any other failure the provider returned; the provider's error is logged, not stored. */
164
+ ProviderFailed: {}
165
+ });
166
+ /**
167
+ * An {@link ApprovalUnknownReason} as its bare tag, for flat representations: the cache column and the
168
+ * cached-row API response.
169
+ *
170
+ * @category Domain
171
+ */
172
+ export const ApprovalUnknownTag = Schema.Literals(["NotPermitted", "Throttled", "ProviderFailed"]);
152
173
  /**
153
174
  * CodeCommit pull request.
154
175
  *
@@ -168,7 +189,10 @@ export class PullRequest extends Schema.Class("PullRequest")({
168
189
  sourceBranch: Schema.String,
169
190
  destinationBranch: Schema.String,
170
191
  isMergeable: Schema.Boolean,
192
+ /** The last known approval. Read approval through {@link approvalOf}, which accounts for `approvalUnknown`. */
171
193
  isApproved: Schema.Boolean,
194
+ /** Set when the last evaluation failed: `isApproved` is then only the last known value. */
195
+ approvalUnknown: Schema.optionalKey(ApprovalUnknownReason),
172
196
  commentCount: Schema.optional(Schema.Number),
173
197
  healthScore: Schema.optional(Schema.Number),
174
198
  fetchedAt: Schema.optional(Schema.Date),
@@ -182,6 +206,33 @@ export class PullRequest extends Schema.Class("PullRequest")({
182
206
  return codecommitConsoleUrl(this.account.region, this.repositoryName, this.id);
183
207
  }
184
208
  }
209
+ /**
210
+ * The single read path for approval. Works with domain instances, cache rows mapped to them, and plain
211
+ * wire objects.
212
+ *
213
+ * @category Domain
214
+ */
215
+ export const approvalOf = (pr) => pr.approvalUnknown !== undefined
216
+ ? { _tag: "Unknown", reason: pr.approvalUnknown }
217
+ : pr.isApproved
218
+ ? { _tag: "Approved" }
219
+ : { _tag: "Pending" };
220
+ /**
221
+ * The label every surface shows for an {@link Approval} of `Unknown`.
222
+ *
223
+ * @category Domain
224
+ */
225
+ export const approvalUnknownLabel = "Approval unknown";
226
+ /**
227
+ * The sentence every surface shows to explain an unknown approval.
228
+ *
229
+ * @category Domain
230
+ */
231
+ export const approvalUnknownReasonText = Match.valueTags({
232
+ NotPermitted: () => "Not allowed to check approval rules (codecommit:EvaluatePullRequestApprovalRules).",
233
+ Throttled: () => "AWS throttled the approval check; it is retried on the next refresh.",
234
+ ProviderFailed: () => "AWS could not evaluate the approval rules; refresh to retry. The provider error is in the log."
235
+ });
185
236
  /**
186
237
  * Robust identity comparison for matching a caller against an author or
187
238
  * approval-pool member.
@@ -225,6 +276,9 @@ export const identityMatches = (callerUsername, prAuthor) => {
225
276
  export const needsMyReview = (pr, currentUser) => {
226
277
  if (currentUser === undefined || currentUser.length === 0)
227
278
  return false;
279
+ // While approval is unknown, which rules are satisfied is only last known, so review is not certain.
280
+ if (pr.approvalUnknown !== undefined)
281
+ return false;
228
282
  if (pr.approvedBy.some((approver) => identityMatches(currentUser, approver)))
229
283
  return false;
230
284
  return pr.approvalRules.some((rule) => !rule.satisfied && rule.poolMembers.some((member) => identityMatches(currentUser, member)));
@@ -453,4 +507,56 @@ export class NotificationItem extends Schema.Class("NotificationItem")({
453
507
  profile: Schema.optionalKey(Schema.String)
454
508
  }) {
455
509
  }
510
+ /**
511
+ * Why the caller is unknown in one account: only the failures core can tell apart. An expired
512
+ * SSO login reaches core as a credential failure, with no expiry marker, so it is
513
+ * `CredentialsUnavailable`; `ExpiredToken` from STS itself is `StsRejected`. Reasons carry no
514
+ * message, because provider text can include profile paths; the account's notification explains.
515
+ *
516
+ * @category Domain
517
+ */
518
+ export const CallerIdentityUnresolvedReason = Schema.TaggedUnion({
519
+ /** Credentials could not be acquired: profile missing, SSO login expired, provider timed out. */
520
+ CredentialsUnavailable: {},
521
+ /** STS answered GetCallerIdentity with an error, e.g. ExpiredToken or AccessDenied. */
522
+ StsRejected: {},
523
+ /** STS was still throttling after retries. */
524
+ Throttled: {},
525
+ /** The pull-request refresh hit an authentication error after the identity had resolved. */
526
+ RefreshAuthFailed: {},
527
+ /** `aws sso logout` succeeded and nothing has resolved since. */
528
+ SignedOut: {}
529
+ });
530
+ /**
531
+ * Who the caller is in one configured account, from STS GetCallerIdentity on its primary region.
532
+ * `arn` is the raw STS Arn: for an SSO session its last segment is usually the person's email, so it
533
+ * is a client-visible identifier that only travels to its owner over the authenticated event stream.
534
+ *
535
+ * @category Domain
536
+ */
537
+ export const CallerIdentityState = Schema.TaggedUnion({
538
+ Resolved: { accountId: Schema.String, arn: Schema.String, username: Schema.String },
539
+ Unresolved: { reason: CallerIdentityUnresolvedReason }
540
+ });
541
+ /**
542
+ * The caller's identity per configured account, keyed by AWS profile (the same value as
543
+ * `PullRequest.account.profile`). A profile with no key is not enabled, or not resolved yet.
544
+ *
545
+ * @category Domain
546
+ */
547
+ export const CallerIdentities = Schema.Record(Schema.String, CallerIdentityState);
548
+ /**
549
+ * A pull request the last refresh read but could not re-evaluate: its approval rules failed to
550
+ * evaluate, so its cached row is kept as it was and its account's refresh counts as partial.
551
+ *
552
+ * @category Domain
553
+ */
554
+ export const UnevaluatedPullRequest = Schema.Struct({
555
+ profile: AwsProfileName,
556
+ region: AwsRegion,
557
+ pullRequestId: Schema.String,
558
+ repositoryName: Schema.String,
559
+ /** Names the failed operation and the provider's reason. */
560
+ message: Schema.String
561
+ });
456
562
  //# sourceMappingURL=Domain.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Domain.js","sourceRoot":"","sources":["../src/Domain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Domain.js","sourceRoot":"","sources":["../src/Domain.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Option } from "effect";
2
- import type { PullRequest } from "./Domain.js";
2
+ import { type PullRequest } from "./Domain.js";
3
3
  export interface HealthScoreBreakdown {
4
4
  readonly label: string;
5
5
  readonly value: number;
@@ -1 +1 @@
1
- {"version":3,"file":"HealthScore.d.ts","sourceRoot":"","sources":["../src/HealthScore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAA;AAEhE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAA;IACvD,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAA;CACxD;AAED,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAA;AAexD,eAAO,MAAM,oBAAoB,OAAQ,WAAW,OAAO,IAAI,KAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAkG1F,CAAA;AAED,eAAO,MAAM,YAAY,OAAQ,WAAW,OAAO,IAAI,YAAY,MAAM,KAAG,MACqB,CAAA;AAEjG,eAAO,MAAM,YAAY,UAAW,MAAM,KAAG,eAK1C,CAAA"}
1
+ {"version":3,"file":"HealthScore.d.ts","sourceRoot":"","sources":["../src/HealthScore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,EAA+D,KAAK,WAAW,EAAE,MAAM,aAAa,CAAA;AAE3G,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAA;AAEhE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAA;IACvD,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAA;CACxD;AAED,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAA;AAiBxD,eAAO,MAAM,oBAAoB,OAAQ,WAAW,OAAO,IAAI,KAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAgH1F,CAAA;AAED,eAAO,MAAM,YAAY,OAAQ,WAAW,OAAO,IAAI,YAAY,MAAM,KAAG,MACqB,CAAA;AAEjG,eAAO,MAAM,YAAY,UAAW,MAAM,KAAG,eAK1C,CAAA"}
@@ -1,4 +1,5 @@
1
1
  import { Match, Option } from "effect";
2
+ import { approvalOf, approvalUnknownLabel, approvalUnknownReasonText } from "./Domain.js";
2
3
  const MS_PER_DAY = 86_400_000;
3
4
  const greenTier = "green";
4
5
  const yellowTier = "yellow";
@@ -16,7 +17,8 @@ export const calculateHealthScore = (pr, now) => {
16
17
  const timeDecay = -(daysSinceLastActivity * 1.0);
17
18
  const agePenalty = -(daysSinceCreation * 0.5);
18
19
  const commentBonus = commentCount * 1.0;
19
- const approvalBonus = pr.isApproved ? 2 : 0;
20
+ const approval = approvalOf(pr);
21
+ const approvalBonus = approval._tag === "Approved" ? 2 : 0;
20
22
  const conflictPenalty = pr.isMergeable ? 0 : -3;
21
23
  const scopeBonus = scopeDetected ? 0.5 : 0;
22
24
  const descriptionBonus = hasDescription ? 0.5 : 0;
@@ -66,11 +68,24 @@ export const calculateHealthScore = (pr, now) => {
66
68
  },
67
69
  {
68
70
  label: "Approval",
69
- description: pr.isApproved ? "+2 bonus for approval" : "No approval yet (+2 when approved)",
70
71
  value: approvalBonus,
71
- ...pr.isApproved
72
- ? { status: "positive", statusLabel: "APPROVED" }
73
- : { status: "neutral", statusLabel: "PENDING" }
72
+ ...Match.valueTags(approval, {
73
+ Approved: () => ({
74
+ description: "+2 bonus for approval",
75
+ status: "positive",
76
+ statusLabel: "APPROVED"
77
+ }),
78
+ Pending: () => ({
79
+ description: "No approval yet (+2 when approved)",
80
+ status: "neutral",
81
+ statusLabel: "PENDING"
82
+ }),
83
+ Unknown: ({ reason }) => ({
84
+ description: `${approvalUnknownLabel}: ${approvalUnknownReasonText(reason)}`,
85
+ status: "neutral",
86
+ statusLabel: "UNKNOWN"
87
+ })
88
+ })
74
89
  },
75
90
  {
76
91
  label: "Mergeable",
@@ -1 +1 @@
1
- {"version":3,"file":"HealthScore.js","sourceRoot":"","sources":["../src/HealthScore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HealthScore.js","sourceRoot":"","sources":["../src/HealthScore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,288 @@
1
+ /**
2
+ * The caller-identity lifecycle as one state machine: the only writer of `AppState.callerIdentities`
3
+ * and `AppState.currentUser`. Services and handlers emit {@link IdentityEvent}s through
4
+ * {@link applyIdentityEvent}; nothing else writes those fields.
5
+ *
6
+ * Per profile, the state is a {@link CallerIdentityState}: Resolved, or Unresolved with a lookup reason
7
+ * (`CredentialsUnavailable`, `StsRejected`, `Throttled`), `RefreshAuthFailed` or `SignedOut`. A
8
+ * profile with no entry is absent: not enabled, or not looked up yet.
9
+ *
10
+ * **Generation rule.** `RefreshStarted`, `SignedIn` and `SignedOut` bump the generation. Every other
11
+ * event carries the generation of the refresh that produced it and applies only while that generation
12
+ * is current and its profile is enabled, so a newer refresh, login or logout makes older in-flight
13
+ * work a no-op.
14
+ *
15
+ * **Invariants**, after every event:
16
+ * - a profile with an entry is in the enabled set;
17
+ * - `currentUser` is the owner's (first enabled profile's) username when it is Resolved, else unset.
18
+ *
19
+ * @category Domain
20
+ * @module
21
+ */
22
+ import { Data } from "effect";
23
+ import type { AppState, CallerIdentityState, CallerIdentityUnresolvedReason } from "./Domain.js";
24
+ /** The identity facts STS returns for a caller. */
25
+ export interface ResolvedIdentity {
26
+ readonly accountId: string;
27
+ readonly arn: string;
28
+ readonly username: string;
29
+ }
30
+ /** Why a caller-identity lookup itself failed. */
31
+ export type LookupFailureReason = Extract<CallerIdentityUnresolvedReason, {
32
+ readonly _tag: "CredentialsUnavailable" | "StsRejected" | "Throttled";
33
+ }>;
34
+ /** The identity slice of application state that {@link transition} owns. */
35
+ export interface IdentityLifecycle {
36
+ readonly generation: number;
37
+ /** Enabled profiles in config order, as of the latest refresh. The first one is the owner. */
38
+ readonly enabled: ReadonlyArray<string>;
39
+ readonly profiles: Readonly<Record<string, CallerIdentityState>>;
40
+ /** Whether a resolution pass has finished since start; until then the wire field is absent. */
41
+ readonly firstRefreshDone: boolean;
42
+ }
43
+ /** Every event that changes caller identity. */
44
+ export type IdentityEvent = Data.TaggedEnum<{
45
+ /** A refresh read the enabled profiles from config; it bumps the generation and returns the new one. */
46
+ RefreshStarted: {
47
+ readonly enabled: ReadonlyArray<string>;
48
+ };
49
+ LookupSucceeded: {
50
+ readonly generation: number;
51
+ readonly profile: string;
52
+ readonly identity: ResolvedIdentity;
53
+ };
54
+ LookupFailed: {
55
+ readonly generation: number;
56
+ readonly profile: string;
57
+ readonly reason: LookupFailureReason;
58
+ };
59
+ /** A refresh call for this profile hit an error saying its credentials are invalid. */
60
+ RefreshAuthFailed: {
61
+ readonly generation: number;
62
+ readonly profile: string;
63
+ };
64
+ ResolutionFinished: {
65
+ readonly generation: number;
66
+ };
67
+ /**
68
+ * `aws sso login` succeeded. Without an identity (its lookup failed) the session still changed, maybe
69
+ * to another principal: in-flight work goes stale and the profile is absent until the next refresh.
70
+ */
71
+ SignedIn: {
72
+ readonly profile: string;
73
+ readonly identity: ResolvedIdentity | undefined;
74
+ };
75
+ /** `aws sso logout` succeeded. */
76
+ SignedOut: {};
77
+ }>;
78
+ export declare const IdentityEvent: {
79
+ readonly $is: <Tag extends "LookupFailed" | "LookupSucceeded" | "RefreshAuthFailed" | "RefreshStarted" | "ResolutionFinished" | "SignedIn" | "SignedOut">(tag: Tag) => (u: unknown) => u is Extract<{
80
+ readonly _tag: "LookupFailed";
81
+ readonly generation: number;
82
+ readonly profile: string;
83
+ readonly reason: LookupFailureReason;
84
+ }, {
85
+ readonly _tag: Tag;
86
+ }> | Extract<{
87
+ readonly _tag: "LookupSucceeded";
88
+ readonly generation: number;
89
+ readonly profile: string;
90
+ readonly identity: ResolvedIdentity;
91
+ }, {
92
+ readonly _tag: Tag;
93
+ }> | Extract<{
94
+ readonly _tag: "RefreshAuthFailed";
95
+ readonly generation: number;
96
+ readonly profile: string;
97
+ }, {
98
+ readonly _tag: Tag;
99
+ }> | Extract<{
100
+ readonly _tag: "RefreshStarted";
101
+ readonly enabled: ReadonlyArray<string>;
102
+ }, {
103
+ readonly _tag: Tag;
104
+ }> | Extract<{
105
+ readonly _tag: "ResolutionFinished";
106
+ readonly generation: number;
107
+ }, {
108
+ readonly _tag: Tag;
109
+ }> | Extract<{
110
+ readonly _tag: "SignedIn";
111
+ readonly profile: string;
112
+ readonly identity: ResolvedIdentity | undefined;
113
+ }, {
114
+ readonly _tag: Tag;
115
+ }> | Extract<{
116
+ readonly _tag: "SignedOut";
117
+ }, {
118
+ readonly _tag: Tag;
119
+ }>;
120
+ readonly $match: {
121
+ <Cases extends { readonly [Tag in "LookupFailed" | "LookupSucceeded" | "RefreshAuthFailed" | "RefreshStarted" | "ResolutionFinished" | "SignedIn" | "SignedOut"]: (args: Extract<{
122
+ readonly _tag: "LookupFailed";
123
+ readonly generation: number;
124
+ readonly profile: string;
125
+ readonly reason: LookupFailureReason;
126
+ } | {
127
+ readonly _tag: "LookupSucceeded";
128
+ readonly generation: number;
129
+ readonly profile: string;
130
+ readonly identity: ResolvedIdentity;
131
+ } | {
132
+ readonly _tag: "RefreshAuthFailed";
133
+ readonly generation: number;
134
+ readonly profile: string;
135
+ } | {
136
+ readonly _tag: "RefreshStarted";
137
+ readonly enabled: ReadonlyArray<string>;
138
+ } | {
139
+ readonly _tag: "ResolutionFinished";
140
+ readonly generation: number;
141
+ } | {
142
+ readonly _tag: "SignedIn";
143
+ readonly profile: string;
144
+ readonly identity: ResolvedIdentity | undefined;
145
+ } | {
146
+ readonly _tag: "SignedOut";
147
+ }, {
148
+ readonly _tag: Tag;
149
+ }>) => any; }>(cases: Cases): (value: {
150
+ readonly _tag: "LookupFailed";
151
+ readonly generation: number;
152
+ readonly profile: string;
153
+ readonly reason: LookupFailureReason;
154
+ } | {
155
+ readonly _tag: "LookupSucceeded";
156
+ readonly generation: number;
157
+ readonly profile: string;
158
+ readonly identity: ResolvedIdentity;
159
+ } | {
160
+ readonly _tag: "RefreshAuthFailed";
161
+ readonly generation: number;
162
+ readonly profile: string;
163
+ } | {
164
+ readonly _tag: "RefreshStarted";
165
+ readonly enabled: ReadonlyArray<string>;
166
+ } | {
167
+ readonly _tag: "ResolutionFinished";
168
+ readonly generation: number;
169
+ } | {
170
+ readonly _tag: "SignedIn";
171
+ readonly profile: string;
172
+ readonly identity: ResolvedIdentity | undefined;
173
+ } | {
174
+ readonly _tag: "SignedOut";
175
+ }) => import("effect/Unify").Unify<ReturnType<Cases["LookupFailed" | "LookupSucceeded" | "RefreshAuthFailed" | "RefreshStarted" | "ResolutionFinished" | "SignedIn" | "SignedOut"]>>;
176
+ <Cases extends { readonly [Tag in "LookupFailed" | "LookupSucceeded" | "RefreshAuthFailed" | "RefreshStarted" | "ResolutionFinished" | "SignedIn" | "SignedOut"]: (args: Extract<{
177
+ readonly _tag: "LookupFailed";
178
+ readonly generation: number;
179
+ readonly profile: string;
180
+ readonly reason: LookupFailureReason;
181
+ } | {
182
+ readonly _tag: "LookupSucceeded";
183
+ readonly generation: number;
184
+ readonly profile: string;
185
+ readonly identity: ResolvedIdentity;
186
+ } | {
187
+ readonly _tag: "RefreshAuthFailed";
188
+ readonly generation: number;
189
+ readonly profile: string;
190
+ } | {
191
+ readonly _tag: "RefreshStarted";
192
+ readonly enabled: ReadonlyArray<string>;
193
+ } | {
194
+ readonly _tag: "ResolutionFinished";
195
+ readonly generation: number;
196
+ } | {
197
+ readonly _tag: "SignedIn";
198
+ readonly profile: string;
199
+ readonly identity: ResolvedIdentity | undefined;
200
+ } | {
201
+ readonly _tag: "SignedOut";
202
+ }, {
203
+ readonly _tag: Tag;
204
+ }>) => any; }>(value: {
205
+ readonly _tag: "LookupFailed";
206
+ readonly generation: number;
207
+ readonly profile: string;
208
+ readonly reason: LookupFailureReason;
209
+ } | {
210
+ readonly _tag: "LookupSucceeded";
211
+ readonly generation: number;
212
+ readonly profile: string;
213
+ readonly identity: ResolvedIdentity;
214
+ } | {
215
+ readonly _tag: "RefreshAuthFailed";
216
+ readonly generation: number;
217
+ readonly profile: string;
218
+ } | {
219
+ readonly _tag: "RefreshStarted";
220
+ readonly enabled: ReadonlyArray<string>;
221
+ } | {
222
+ readonly _tag: "ResolutionFinished";
223
+ readonly generation: number;
224
+ } | {
225
+ readonly _tag: "SignedIn";
226
+ readonly profile: string;
227
+ readonly identity: ResolvedIdentity | undefined;
228
+ } | {
229
+ readonly _tag: "SignedOut";
230
+ }, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["LookupFailed" | "LookupSucceeded" | "RefreshAuthFailed" | "RefreshStarted" | "ResolutionFinished" | "SignedIn" | "SignedOut"]>>;
231
+ };
232
+ readonly LookupFailed: Data.TaggedEnum.ConstructorFrom<{
233
+ readonly _tag: "LookupFailed";
234
+ readonly generation: number;
235
+ readonly profile: string;
236
+ readonly reason: LookupFailureReason;
237
+ }, "_tag">;
238
+ readonly LookupSucceeded: Data.TaggedEnum.ConstructorFrom<{
239
+ readonly _tag: "LookupSucceeded";
240
+ readonly generation: number;
241
+ readonly profile: string;
242
+ readonly identity: ResolvedIdentity;
243
+ }, "_tag">;
244
+ readonly RefreshAuthFailed: Data.TaggedEnum.ConstructorFrom<{
245
+ readonly _tag: "RefreshAuthFailed";
246
+ readonly generation: number;
247
+ readonly profile: string;
248
+ }, "_tag">;
249
+ readonly RefreshStarted: Data.TaggedEnum.ConstructorFrom<{
250
+ readonly _tag: "RefreshStarted";
251
+ readonly enabled: ReadonlyArray<string>;
252
+ }, "_tag">;
253
+ readonly ResolutionFinished: Data.TaggedEnum.ConstructorFrom<{
254
+ readonly _tag: "ResolutionFinished";
255
+ readonly generation: number;
256
+ }, "_tag">;
257
+ readonly SignedIn: Data.TaggedEnum.ConstructorFrom<{
258
+ readonly _tag: "SignedIn";
259
+ readonly profile: string;
260
+ readonly identity: ResolvedIdentity | undefined;
261
+ }, "_tag">;
262
+ readonly SignedOut: Data.TaggedEnum.ConstructorFrom<{
263
+ readonly _tag: "SignedOut";
264
+ }, "_tag">;
265
+ };
266
+ export declare const initialIdentityLifecycle: IdentityLifecycle;
267
+ /** The single transition function over the lifecycle table. */
268
+ export declare const transition: (s: IdentityLifecycle, event: IdentityEvent) => IdentityLifecycle;
269
+ /** The owner's username when its identity is resolved: the only source of `currentUser`. */
270
+ export declare const currentUserOf: (s: IdentityLifecycle) => string | undefined;
271
+ /** Apply one event and project the identity slice onto the application state it owns. */
272
+ export declare const applyIdentityEvent: (state: AppState, event: IdentityEvent) => AppState;
273
+ /**
274
+ * Start a refresh over the enabled profiles: apply `RefreshStarted` and return the new generation,
275
+ * which every event this refresh produces must carry. For use with `SubscriptionRef.modify`.
276
+ */
277
+ export declare const startRefresh: (state: AppState, enabled: ReadonlyArray<string>) => readonly [number, AppState];
278
+ /**
279
+ * A login that just succeeded, before its identity is known: apply `SignedIn` without an identity and
280
+ * return the new generation. The identity found afterwards is applied as a `LookupSucceeded` of that
281
+ * generation, so a logout during the lookup still wins. For use with `SubscriptionRef.modify`.
282
+ */
283
+ export declare const beginSignIn: (state: AppState, profile: string) => readonly [number, AppState];
284
+ /** The state after a successful SSO login to one account, with its identity when the lookup found it. */
285
+ export declare const signInState: (state: AppState, profile: string, identity: ResolvedIdentity | undefined) => AppState;
286
+ /** The state after a successful SSO logout, which ends every SSO session. */
287
+ export declare const signOutState: (state: AppState) => AppState;
288
+ //# sourceMappingURL=IdentityLifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IdentityLifecycle.d.ts","sourceRoot":"","sources":["../src/IdentityLifecycle.ts"],"names":[],"mappings":"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"}