@knpkv/codecommit-core 0.2.0 → 0.4.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 (181) hide show
  1. package/README.md +66 -0
  2. package/dist/AwsClient/createPullRequest.d.ts +1 -6
  3. package/dist/AwsClient/createPullRequest.d.ts.map +1 -1
  4. package/dist/AwsClient/createPullRequest.js +3 -11
  5. package/dist/AwsClient/createPullRequest.js.map +1 -1
  6. package/dist/AwsClient/getCallerIdentity.d.ts +5 -6
  7. package/dist/AwsClient/getCallerIdentity.d.ts.map +1 -1
  8. package/dist/AwsClient/getCallerIdentity.js +7 -12
  9. package/dist/AwsClient/getCallerIdentity.js.map +1 -1
  10. package/dist/AwsClient/getCommentsForPullRequest.d.ts +1 -6
  11. package/dist/AwsClient/getCommentsForPullRequest.d.ts.map +1 -1
  12. package/dist/AwsClient/getCommentsForPullRequest.js +9 -16
  13. package/dist/AwsClient/getCommentsForPullRequest.js.map +1 -1
  14. package/dist/AwsClient/getPullRequest.d.ts +2 -7
  15. package/dist/AwsClient/getPullRequest.d.ts.map +1 -1
  16. package/dist/AwsClient/getPullRequest.js +13 -26
  17. package/dist/AwsClient/getPullRequest.js.map +1 -1
  18. package/dist/AwsClient/getPullRequests.d.ts.map +1 -1
  19. package/dist/AwsClient/getPullRequests.js +16 -13
  20. package/dist/AwsClient/getPullRequests.js.map +1 -1
  21. package/dist/AwsClient/index.d.ts +3 -2
  22. package/dist/AwsClient/index.d.ts.map +1 -1
  23. package/dist/AwsClient/index.js.map +1 -1
  24. package/dist/AwsClient/internal.d.ts +47 -11
  25. package/dist/AwsClient/internal.d.ts.map +1 -1
  26. package/dist/AwsClient/internal.js +38 -9
  27. package/dist/AwsClient/internal.js.map +1 -1
  28. package/dist/AwsClient/listBranches.d.ts +1 -6
  29. package/dist/AwsClient/listBranches.d.ts.map +1 -1
  30. package/dist/AwsClient/listBranches.js +3 -11
  31. package/dist/AwsClient/listBranches.js.map +1 -1
  32. package/dist/AwsClient/updatePullRequestDescription.d.ts +1 -6
  33. package/dist/AwsClient/updatePullRequestDescription.d.ts.map +1 -1
  34. package/dist/AwsClient/updatePullRequestDescription.js +3 -11
  35. package/dist/AwsClient/updatePullRequestDescription.js.map +1 -1
  36. package/dist/AwsClient/updatePullRequestTitle.d.ts +1 -6
  37. package/dist/AwsClient/updatePullRequestTitle.d.ts.map +1 -1
  38. package/dist/AwsClient/updatePullRequestTitle.js +3 -11
  39. package/dist/AwsClient/updatePullRequestTitle.js.map +1 -1
  40. package/dist/CacheService/CacheError.d.ts +21 -0
  41. package/dist/CacheService/CacheError.d.ts.map +1 -0
  42. package/dist/CacheService/CacheError.js +17 -0
  43. package/dist/CacheService/CacheError.js.map +1 -0
  44. package/dist/CacheService/Database.d.ts +13 -0
  45. package/dist/CacheService/Database.d.ts.map +1 -0
  46. package/dist/CacheService/Database.js +34 -0
  47. package/dist/CacheService/Database.js.map +1 -0
  48. package/dist/CacheService/EventsHub.d.ts +163 -0
  49. package/dist/CacheService/EventsHub.d.ts.map +1 -0
  50. package/dist/CacheService/EventsHub.js +22 -0
  51. package/dist/CacheService/EventsHub.js.map +1 -0
  52. package/dist/CacheService/diff.d.ts +28 -0
  53. package/dist/CacheService/diff.d.ts.map +1 -0
  54. package/dist/CacheService/diff.js +102 -0
  55. package/dist/CacheService/diff.js.map +1 -0
  56. package/dist/CacheService/index.d.ts +17 -0
  57. package/dist/CacheService/index.d.ts.map +1 -0
  58. package/dist/CacheService/index.js +15 -0
  59. package/dist/CacheService/index.js.map +1 -0
  60. package/dist/CacheService/migrations/0001_initial.d.ts +5 -0
  61. package/dist/CacheService/migrations/0001_initial.d.ts.map +1 -0
  62. package/dist/CacheService/migrations/0001_initial.js +72 -0
  63. package/dist/CacheService/migrations/0001_initial.js.map +1 -0
  64. package/dist/CacheService/migrations/0002_indexes.d.ts +5 -0
  65. package/dist/CacheService/migrations/0002_indexes.d.ts.map +1 -0
  66. package/dist/CacheService/migrations/0002_indexes.js +7 -0
  67. package/dist/CacheService/migrations/0002_indexes.js.map +1 -0
  68. package/dist/CacheService/migrations/0003_add_health_score.d.ts +5 -0
  69. package/dist/CacheService/migrations/0003_add_health_score.d.ts.map +1 -0
  70. package/dist/CacheService/migrations/0003_add_health_score.js +4 -0
  71. package/dist/CacheService/migrations/0003_add_health_score.js.map +1 -0
  72. package/dist/CacheService/migrations/0004_unify_notifications.d.ts +5 -0
  73. package/dist/CacheService/migrations/0004_unify_notifications.d.ts.map +1 -0
  74. package/dist/CacheService/migrations/0004_unify_notifications.js +7 -0
  75. package/dist/CacheService/migrations/0004_unify_notifications.js.map +1 -0
  76. package/dist/CacheService/repos/CommentRepo.d.ts +16 -0
  77. package/dist/CacheService/repos/CommentRepo.d.ts.map +1 -0
  78. package/dist/CacheService/repos/CommentRepo.js +42 -0
  79. package/dist/CacheService/repos/CommentRepo.js.map +1 -0
  80. package/dist/CacheService/repos/NotificationRepo.d.ts +48 -0
  81. package/dist/CacheService/repos/NotificationRepo.d.ts.map +1 -0
  82. package/dist/CacheService/repos/NotificationRepo.js +128 -0
  83. package/dist/CacheService/repos/NotificationRepo.js.map +1 -0
  84. package/dist/CacheService/repos/PullRequestRepo.d.ts +112 -0
  85. package/dist/CacheService/repos/PullRequestRepo.d.ts.map +1 -0
  86. package/dist/CacheService/repos/PullRequestRepo.js +146 -0
  87. package/dist/CacheService/repos/PullRequestRepo.js.map +1 -0
  88. package/dist/CacheService/repos/SubscriptionRepo.d.ts +20 -0
  89. package/dist/CacheService/repos/SubscriptionRepo.d.ts.map +1 -0
  90. package/dist/CacheService/repos/SubscriptionRepo.js +49 -0
  91. package/dist/CacheService/repos/SubscriptionRepo.js.map +1 -0
  92. package/dist/CacheService/repos/SyncMetadataRepo.d.ts +14 -0
  93. package/dist/CacheService/repos/SyncMetadataRepo.d.ts.map +1 -0
  94. package/dist/CacheService/repos/SyncMetadataRepo.js +36 -0
  95. package/dist/CacheService/repos/SyncMetadataRepo.js.map +1 -0
  96. package/dist/ConfigService/backup.d.ts +9 -0
  97. package/dist/ConfigService/backup.d.ts.map +1 -0
  98. package/dist/ConfigService/backup.js +22 -0
  99. package/dist/ConfigService/backup.js.map +1 -0
  100. package/dist/ConfigService/detectProfiles.d.ts +1 -1
  101. package/dist/ConfigService/index.d.ts +8 -1
  102. package/dist/ConfigService/index.d.ts.map +1 -1
  103. package/dist/ConfigService/index.js +13 -2
  104. package/dist/ConfigService/index.js.map +1 -1
  105. package/dist/ConfigService/internal.d.ts +6 -0
  106. package/dist/ConfigService/internal.d.ts.map +1 -1
  107. package/dist/ConfigService/internal.js +3 -1
  108. package/dist/ConfigService/internal.js.map +1 -1
  109. package/dist/ConfigService/load.d.ts +3 -1
  110. package/dist/ConfigService/load.d.ts.map +1 -1
  111. package/dist/ConfigService/load.js +6 -4
  112. package/dist/ConfigService/load.js.map +1 -1
  113. package/dist/ConfigService/reset.d.ts +10 -0
  114. package/dist/ConfigService/reset.d.ts.map +1 -0
  115. package/dist/ConfigService/reset.js +28 -0
  116. package/dist/ConfigService/reset.js.map +1 -0
  117. package/dist/ConfigService/save.d.ts +1 -1
  118. package/dist/ConfigService/validate.d.ts +31 -0
  119. package/dist/ConfigService/validate.d.ts.map +1 -0
  120. package/dist/ConfigService/validate.js +33 -0
  121. package/dist/ConfigService/validate.js.map +1 -0
  122. package/dist/DateUtils.d.ts +1 -1
  123. package/dist/DateUtils.d.ts.map +1 -1
  124. package/dist/DateUtils.js +2 -2
  125. package/dist/DateUtils.js.map +1 -1
  126. package/dist/Domain.d.ts +185 -8
  127. package/dist/Domain.d.ts.map +1 -1
  128. package/dist/Domain.js +25 -6
  129. package/dist/Domain.js.map +1 -1
  130. package/dist/HealthScore.d.ts.map +1 -1
  131. package/dist/HealthScore.js +1 -3
  132. package/dist/HealthScore.js.map +1 -1
  133. package/dist/PRService/index.d.ts +46 -18
  134. package/dist/PRService/index.d.ts.map +1 -1
  135. package/dist/PRService/index.js +58 -27
  136. package/dist/PRService/index.js.map +1 -1
  137. package/dist/PRService/internal.d.ts +86 -1
  138. package/dist/PRService/internal.d.ts.map +1 -1
  139. package/dist/PRService/internal.js +106 -1
  140. package/dist/PRService/internal.js.map +1 -1
  141. package/dist/PRService/refresh.d.ts +10 -4
  142. package/dist/PRService/refresh.d.ts.map +1 -1
  143. package/dist/PRService/refresh.js +30 -88
  144. package/dist/PRService/refresh.js.map +1 -1
  145. package/dist/PRService/refreshEnrich.d.ts +15 -0
  146. package/dist/PRService/refreshEnrich.d.ts.map +1 -0
  147. package/dist/PRService/refreshEnrich.js +72 -0
  148. package/dist/PRService/refreshEnrich.js.map +1 -0
  149. package/dist/PRService/refreshFetch.d.ts +20 -0
  150. package/dist/PRService/refreshFetch.d.ts.map +1 -0
  151. package/dist/PRService/refreshFetch.js +78 -0
  152. package/dist/PRService/refreshFetch.js.map +1 -0
  153. package/dist/PRService/refreshResolve.d.ts +29 -0
  154. package/dist/PRService/refreshResolve.d.ts.map +1 -0
  155. package/dist/PRService/refreshResolve.js +84 -0
  156. package/dist/PRService/refreshResolve.js.map +1 -0
  157. package/dist/PRService/refreshScore.d.ts +9 -0
  158. package/dist/PRService/refreshScore.d.ts.map +1 -0
  159. package/dist/PRService/refreshScore.js +24 -0
  160. package/dist/PRService/refreshScore.js.map +1 -0
  161. package/dist/PRService/refreshSinglePR.d.ts +13 -0
  162. package/dist/PRService/refreshSinglePR.d.ts.map +1 -0
  163. package/dist/PRService/refreshSinglePR.js +102 -0
  164. package/dist/PRService/refreshSinglePR.js.map +1 -0
  165. package/dist/PRService/setAllAccounts.d.ts +1 -3
  166. package/dist/PRService/setAllAccounts.d.ts.map +1 -1
  167. package/dist/PRService/setAllAccounts.js +2 -2
  168. package/dist/PRService/setAllAccounts.js.map +1 -1
  169. package/dist/PRService/toggleAccount.d.ts +1 -3
  170. package/dist/PRService/toggleAccount.d.ts.map +1 -1
  171. package/dist/PRService/toggleAccount.js +2 -2
  172. package/dist/PRService/toggleAccount.js.map +1 -1
  173. package/dist/index.d.ts +1 -1
  174. package/dist/index.d.ts.map +1 -1
  175. package/dist/index.js +1 -1
  176. package/dist/index.js.map +1 -1
  177. package/package.json +4 -1
  178. package/dist/NotificationsService.d.ts +0 -45
  179. package/dist/NotificationsService.d.ts.map +0 -1
  180. package/dist/NotificationsService.js +0 -57
  181. package/dist/NotificationsService.js.map +0 -1
package/dist/Domain.d.ts CHANGED
@@ -8,7 +8,7 @@
8
8
  * @category Domain
9
9
  * @module
10
10
  */
11
- import { Schema } from "effect";
11
+ import { Data, Schema } from "effect";
12
12
  /**
13
13
  * Branded pull request identifier.
14
14
  *
@@ -49,7 +49,7 @@ export type CommentId = typeof CommentId.Type;
49
49
  *
50
50
  * @category Domain
51
51
  */
52
- export declare const PullRequestStatus: Schema.Literal<["OPEN", "CLOSED"]>;
52
+ export declare const PullRequestStatus: Schema.Literal<["OPEN", "CLOSED", "MERGED"]>;
53
53
  export type PullRequestStatus = typeof PullRequestStatus.Type;
54
54
  /**
55
55
  * Notification severity type.
@@ -66,15 +66,19 @@ export type NotificationType = typeof NotificationType.Type;
66
66
  export declare const AppStatus: Schema.Literal<["idle", "loading", "error"]>;
67
67
  export type AppStatus = typeof AppStatus.Type;
68
68
  declare const Account_base: Schema.Class<Account, {
69
- id: Schema.brand<typeof Schema.String, "AwsProfileName">;
69
+ profile: Schema.brand<typeof Schema.String, "AwsProfileName">;
70
70
  region: Schema.brand<typeof Schema.String, "AwsRegion">;
71
+ awsAccountId: Schema.optional<typeof Schema.String>;
71
72
  }, Schema.Struct.Encoded<{
72
- id: Schema.brand<typeof Schema.String, "AwsProfileName">;
73
+ profile: Schema.brand<typeof Schema.String, "AwsProfileName">;
73
74
  region: Schema.brand<typeof Schema.String, "AwsRegion">;
75
+ awsAccountId: Schema.optional<typeof Schema.String>;
74
76
  }>, never, {
75
- readonly id: string & import("effect/Brand").Brand<"AwsProfileName">;
77
+ readonly profile: string & import("effect/Brand").Brand<"AwsProfileName">;
76
78
  } & {
77
79
  readonly region: string & import("effect/Brand").Brand<"AwsRegion">;
80
+ } & {
81
+ readonly awsAccountId?: string | undefined;
78
82
  }, {}, {}>;
79
83
  /**
80
84
  * AWS account reference (profile + region).
@@ -93,12 +97,14 @@ declare const PullRequest_base: Schema.Class<PullRequest, {
93
97
  lastModifiedDate: typeof Schema.DateFromSelf;
94
98
  link: typeof Schema.String;
95
99
  account: typeof Account;
96
- status: Schema.Literal<["OPEN", "CLOSED"]>;
100
+ status: Schema.Literal<["OPEN", "CLOSED", "MERGED"]>;
97
101
  sourceBranch: typeof Schema.String;
98
102
  destinationBranch: typeof Schema.String;
99
103
  isMergeable: typeof Schema.Boolean;
100
104
  isApproved: typeof Schema.Boolean;
101
105
  commentCount: Schema.optional<typeof Schema.Number>;
106
+ healthScore: Schema.optional<typeof Schema.Number>;
107
+ fetchedAt: Schema.optional<typeof Schema.DateFromSelf>;
102
108
  }, Schema.Struct.Encoded<{
103
109
  id: Schema.brand<typeof Schema.String, "PullRequestId">;
104
110
  title: typeof Schema.String;
@@ -109,12 +115,14 @@ declare const PullRequest_base: Schema.Class<PullRequest, {
109
115
  lastModifiedDate: typeof Schema.DateFromSelf;
110
116
  link: typeof Schema.String;
111
117
  account: typeof Account;
112
- status: Schema.Literal<["OPEN", "CLOSED"]>;
118
+ status: Schema.Literal<["OPEN", "CLOSED", "MERGED"]>;
113
119
  sourceBranch: typeof Schema.String;
114
120
  destinationBranch: typeof Schema.String;
115
121
  isMergeable: typeof Schema.Boolean;
116
122
  isApproved: typeof Schema.Boolean;
117
123
  commentCount: Schema.optional<typeof Schema.Number>;
124
+ healthScore: Schema.optional<typeof Schema.Number>;
125
+ fetchedAt: Schema.optional<typeof Schema.DateFromSelf>;
118
126
  }>, never, {
119
127
  readonly link: string;
120
128
  } & {
@@ -132,7 +140,7 @@ declare const PullRequest_base: Schema.Class<PullRequest, {
132
140
  } & {
133
141
  readonly account: Account;
134
142
  } & {
135
- readonly status: "OPEN" | "CLOSED";
143
+ readonly status: "OPEN" | "CLOSED" | "MERGED";
136
144
  } & {
137
145
  readonly sourceBranch: string;
138
146
  } & {
@@ -145,6 +153,10 @@ declare const PullRequest_base: Schema.Class<PullRequest, {
145
153
  readonly description?: string | undefined;
146
154
  } & {
147
155
  readonly commentCount?: number | undefined;
156
+ } & {
157
+ readonly healthScore?: number | undefined;
158
+ } & {
159
+ readonly fetchedAt?: Date | undefined;
148
160
  }, {}, {}>;
149
161
  /**
150
162
  * CodeCommit pull request.
@@ -251,17 +263,182 @@ export declare const PRCommentLocationJson: Schema.Struct<{
251
263
  * @category Domain
252
264
  */
253
265
  export declare const encodeCommentLocations: (locations: ReadonlyArray<PRCommentLocation>) => ReadonlyArray<typeof PRCommentLocationJson.Type>;
266
+ export declare const PersistentNotificationType: Schema.Literal<["new_comment", "comment_edited", "comment_deleted", "approval_changed", "merge_changed", "title_changed", "description_changed", "pr_merged", "pr_closed", "pr_reopened"]>;
267
+ export type PersistentNotificationType = typeof PersistentNotificationType.Type;
268
+ declare const PersistentNotification_base: Schema.Class<PersistentNotification, {
269
+ id: typeof Schema.Number;
270
+ pullRequestId: Schema.brand<typeof Schema.String, "PullRequestId">;
271
+ awsAccountId: typeof Schema.String;
272
+ type: Schema.Literal<["new_comment", "comment_edited", "comment_deleted", "approval_changed", "merge_changed", "title_changed", "description_changed", "pr_merged", "pr_closed", "pr_reopened"]>;
273
+ message: typeof Schema.String;
274
+ createdAt: typeof Schema.DateFromSelf;
275
+ read: typeof Schema.Boolean;
276
+ }, Schema.Struct.Encoded<{
277
+ id: typeof Schema.Number;
278
+ pullRequestId: Schema.brand<typeof Schema.String, "PullRequestId">;
279
+ awsAccountId: typeof Schema.String;
280
+ type: Schema.Literal<["new_comment", "comment_edited", "comment_deleted", "approval_changed", "merge_changed", "title_changed", "description_changed", "pr_merged", "pr_closed", "pr_reopened"]>;
281
+ message: typeof Schema.String;
282
+ createdAt: typeof Schema.DateFromSelf;
283
+ read: typeof Schema.Boolean;
284
+ }>, never, {
285
+ readonly awsAccountId: string;
286
+ } & {
287
+ readonly id: number;
288
+ } & {
289
+ readonly pullRequestId: string & import("effect/Brand").Brand<"PullRequestId">;
290
+ } & {
291
+ readonly type: "new_comment" | "comment_edited" | "comment_deleted" | "approval_changed" | "merge_changed" | "title_changed" | "description_changed" | "pr_merged" | "pr_closed" | "pr_reopened";
292
+ } & {
293
+ readonly message: string;
294
+ } & {
295
+ readonly createdAt: Date;
296
+ } & {
297
+ readonly read: boolean;
298
+ }, {}, {}>;
299
+ export declare class PersistentNotification extends PersistentNotification_base {
300
+ }
301
+ export type PRSyncStatus = Data.TaggedEnum<{
302
+ readonly Cached: {
303
+ readonly fetchedAt: Date;
304
+ };
305
+ readonly Syncing: {
306
+ readonly fetchedAt: Date;
307
+ };
308
+ readonly UpToDate: {
309
+ readonly fetchedAt: Date;
310
+ };
311
+ readonly Failed: {
312
+ readonly fetchedAt: Date;
313
+ readonly error: string;
314
+ };
315
+ }>;
316
+ export declare const PRSyncStatus: {
317
+ readonly Cached: Data.Case.Constructor<{
318
+ readonly _tag: "Cached";
319
+ readonly fetchedAt: Date;
320
+ }, "_tag">;
321
+ readonly Syncing: Data.Case.Constructor<{
322
+ readonly _tag: "Syncing";
323
+ readonly fetchedAt: Date;
324
+ }, "_tag">;
325
+ readonly UpToDate: Data.Case.Constructor<{
326
+ readonly _tag: "UpToDate";
327
+ readonly fetchedAt: Date;
328
+ }, "_tag">;
329
+ readonly Failed: Data.Case.Constructor<{
330
+ readonly _tag: "Failed";
331
+ readonly fetchedAt: Date;
332
+ readonly error: string;
333
+ }, "_tag">;
334
+ readonly $is: <Tag extends "Cached" | "Syncing" | "UpToDate" | "Failed">(tag: Tag) => (u: unknown) => u is Extract<{
335
+ readonly _tag: "Cached";
336
+ readonly fetchedAt: Date;
337
+ }, {
338
+ readonly _tag: Tag;
339
+ }> | Extract<{
340
+ readonly _tag: "Syncing";
341
+ readonly fetchedAt: Date;
342
+ }, {
343
+ readonly _tag: Tag;
344
+ }> | Extract<{
345
+ readonly _tag: "UpToDate";
346
+ readonly fetchedAt: Date;
347
+ }, {
348
+ readonly _tag: Tag;
349
+ }> | Extract<{
350
+ readonly _tag: "Failed";
351
+ readonly fetchedAt: Date;
352
+ readonly error: string;
353
+ }, {
354
+ readonly _tag: Tag;
355
+ }>;
356
+ readonly $match: {
357
+ <const Cases extends {
358
+ readonly Cached: (args: {
359
+ readonly _tag: "Cached";
360
+ readonly fetchedAt: Date;
361
+ }) => any;
362
+ readonly Syncing: (args: {
363
+ readonly _tag: "Syncing";
364
+ readonly fetchedAt: Date;
365
+ }) => any;
366
+ readonly UpToDate: (args: {
367
+ readonly _tag: "UpToDate";
368
+ readonly fetchedAt: Date;
369
+ }) => any;
370
+ readonly Failed: (args: {
371
+ readonly _tag: "Failed";
372
+ readonly fetchedAt: Date;
373
+ readonly error: string;
374
+ }) => any;
375
+ }>(cases: Cases & { [K in Exclude<keyof Cases, "Cached" | "Syncing" | "UpToDate" | "Failed">]: never; }): (value: {
376
+ readonly _tag: "Cached";
377
+ readonly fetchedAt: Date;
378
+ } | {
379
+ readonly _tag: "Syncing";
380
+ readonly fetchedAt: Date;
381
+ } | {
382
+ readonly _tag: "UpToDate";
383
+ readonly fetchedAt: Date;
384
+ } | {
385
+ readonly _tag: "Failed";
386
+ readonly fetchedAt: Date;
387
+ readonly error: string;
388
+ }) => import("effect/Unify").Unify<ReturnType<Cases["Cached" | "Syncing" | "UpToDate" | "Failed"]>>;
389
+ <const Cases extends {
390
+ readonly Cached: (args: {
391
+ readonly _tag: "Cached";
392
+ readonly fetchedAt: Date;
393
+ }) => any;
394
+ readonly Syncing: (args: {
395
+ readonly _tag: "Syncing";
396
+ readonly fetchedAt: Date;
397
+ }) => any;
398
+ readonly UpToDate: (args: {
399
+ readonly _tag: "UpToDate";
400
+ readonly fetchedAt: Date;
401
+ }) => any;
402
+ readonly Failed: (args: {
403
+ readonly _tag: "Failed";
404
+ readonly fetchedAt: Date;
405
+ readonly error: string;
406
+ }) => any;
407
+ }>(value: {
408
+ readonly _tag: "Cached";
409
+ readonly fetchedAt: Date;
410
+ } | {
411
+ readonly _tag: "Syncing";
412
+ readonly fetchedAt: Date;
413
+ } | {
414
+ readonly _tag: "UpToDate";
415
+ readonly fetchedAt: Date;
416
+ } | {
417
+ readonly _tag: "Failed";
418
+ readonly fetchedAt: Date;
419
+ readonly error: string;
420
+ }, cases: Cases & { [K in Exclude<keyof Cases, "Cached" | "Syncing" | "UpToDate" | "Failed">]: never; }): import("effect/Unify").Unify<ReturnType<Cases["Cached" | "Syncing" | "UpToDate" | "Failed"]>>;
421
+ };
422
+ };
254
423
  declare const NotificationItem_base: Schema.Class<NotificationItem, {
255
424
  type: Schema.Literal<["error", "info", "warning", "success"]>;
256
425
  title: typeof Schema.String;
257
426
  message: typeof Schema.String;
258
427
  timestamp: typeof Schema.DateFromSelf;
428
+ profile: Schema.optionalWith<typeof Schema.String, {
429
+ exact: true;
430
+ }>;
259
431
  }, Schema.Struct.Encoded<{
260
432
  type: Schema.Literal<["error", "info", "warning", "success"]>;
261
433
  title: typeof Schema.String;
262
434
  message: typeof Schema.String;
263
435
  timestamp: typeof Schema.DateFromSelf;
436
+ profile: Schema.optionalWith<typeof Schema.String, {
437
+ exact: true;
438
+ }>;
264
439
  }>, never, {
440
+ readonly profile?: string;
441
+ } & {
265
442
  readonly title: string;
266
443
  } & {
267
444
  readonly type: "error" | "info" | "warning" | "success";
@@ -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
@@ -8,7 +8,7 @@
8
8
  * @category Domain
9
9
  * @module
10
10
  */
11
- import { Schema } from "effect";
11
+ import { Data, Schema } from "effect";
12
12
  // ---------------------------------------------------------------------------
13
13
  // Branded Types
14
14
  // ---------------------------------------------------------------------------
@@ -50,7 +50,7 @@ export const CommentId = Schema.String.pipe(Schema.brand("CommentId"));
50
50
  *
51
51
  * @category Domain
52
52
  */
53
- export const PullRequestStatus = Schema.Literal("OPEN", "CLOSED");
53
+ export const PullRequestStatus = Schema.Literal("OPEN", "CLOSED", "MERGED");
54
54
  /**
55
55
  * Notification severity type.
56
56
  *
@@ -72,8 +72,9 @@ export const AppStatus = Schema.Literal("idle", "loading", "error");
72
72
  * @category Domain
73
73
  */
74
74
  export class Account extends Schema.Class("Account")({
75
- id: AwsProfileName,
76
- region: AwsRegion
75
+ profile: AwsProfileName,
76
+ region: AwsRegion,
77
+ awsAccountId: Schema.optional(Schema.String)
77
78
  }) {
78
79
  }
79
80
  /**
@@ -96,7 +97,9 @@ export class PullRequest extends Schema.Class("PullRequest")({
96
97
  destinationBranch: Schema.String,
97
98
  isMergeable: Schema.Boolean,
98
99
  isApproved: Schema.Boolean,
99
- commentCount: Schema.optional(Schema.Number)
100
+ commentCount: Schema.optional(Schema.Number),
101
+ healthScore: Schema.optional(Schema.Number),
102
+ fetchedAt: Schema.optional(Schema.DateFromSelf)
100
103
  }) {
101
104
  /**
102
105
  * AWS Console URL for this pull request.
@@ -177,6 +180,21 @@ export const encodeCommentLocations = (locations) => locations.map((loc) => ({
177
180
  comments: loc.comments.map(serializeThread)
178
181
  }));
179
182
  // ---------------------------------------------------------------------------
183
+ // Persistent Notification Types
184
+ // ---------------------------------------------------------------------------
185
+ export const PersistentNotificationType = Schema.Literal("new_comment", "comment_edited", "comment_deleted", "approval_changed", "merge_changed", "title_changed", "description_changed", "pr_merged", "pr_closed", "pr_reopened");
186
+ export class PersistentNotification extends Schema.Class("PersistentNotification")({
187
+ id: Schema.Number,
188
+ pullRequestId: PullRequestId,
189
+ awsAccountId: Schema.String,
190
+ type: PersistentNotificationType,
191
+ message: Schema.String,
192
+ createdAt: Schema.DateFromSelf,
193
+ read: Schema.Boolean
194
+ }) {
195
+ }
196
+ export const PRSyncStatus = Data.taggedEnum();
197
+ // ---------------------------------------------------------------------------
180
198
  // State Models
181
199
  // ---------------------------------------------------------------------------
182
200
  /**
@@ -188,7 +206,8 @@ export class NotificationItem extends Schema.Class("NotificationItem")({
188
206
  type: NotificationType,
189
207
  title: Schema.String,
190
208
  message: Schema.String,
191
- timestamp: Schema.DateFromSelf
209
+ timestamp: Schema.DateFromSelf,
210
+ profile: Schema.optionalWith(Schema.String, { exact: true })
192
211
  }) {
193
212
  }
194
213
  //# 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 +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;AAYxD,eAAO,MAAM,oBAAoB,GAAI,IAAI,WAAW,EAAE,KAAK,IAAI,KAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAoG1F,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,IAAI,WAAW,EAAE,KAAK,IAAI,EAAE,UAAU,MAAM,KAAG,MACqB,CAAA;AAEjG,eAAO,MAAM,YAAY,GAAI,OAAO,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,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;AAYxD,eAAO,MAAM,oBAAoB,GAAI,IAAI,WAAW,EAAE,KAAK,IAAI,KAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAkG1F,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,IAAI,WAAW,EAAE,KAAK,IAAI,EAAE,UAAU,MAAM,KAAG,MACqB,CAAA;AAEjG,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,KAAG,eAK1C,CAAA"}
@@ -5,11 +5,9 @@ const clamp = (min, max, value) => Math.min(max, Math.max(min, value));
5
5
  const daysBetween = (from, to) => Math.max(0, (to.getTime() - from.getTime()) / MS_PER_DAY);
6
6
  const hasScope = (title) => /^\w+(\([^)]+\))?:/.test(title) || /^[A-Z]+-\d+:/.test(title);
7
7
  export const calculateHealthScore = (pr, now) => {
8
- if (pr.commentCount === undefined)
9
- return Option.none();
10
8
  const daysSinceLastActivity = daysBetween(pr.lastModifiedDate, now);
11
9
  const daysSinceCreation = daysBetween(pr.creationDate, now);
12
- const commentCount = pr.commentCount;
10
+ const commentCount = pr.commentCount ?? 0;
13
11
  const scopeDetected = hasScope(pr.title);
14
12
  const hasDescription = !!pr.description && pr.description.trim().length > 0;
15
13
  const timeDecay = -(daysSinceLastActivity * 1.0);
@@ -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":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AA0BtC,MAAM,UAAU,GAAG,UAAU,CAAA;AAE7B,MAAM,MAAM,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAA;AAE7D,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,GAAW,EAAE,KAAa,EAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;AAEtG,MAAM,WAAW,GAAG,CAAC,IAAU,EAAE,EAAQ,EAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC,CAAA;AAE/G,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAW,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAE1G,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EAAe,EAAE,GAAS,EAA8B,EAAE;IAC7F,MAAM,qBAAqB,GAAG,WAAW,CAAC,EAAE,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAA;IACnE,MAAM,iBAAiB,GAAG,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,CAAC,CAAA;IAC3D,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,IAAI,CAAC,CAAA;IACzC,MAAM,aAAa,GAAG,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;IACxC,MAAM,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAA;IAE3E,MAAM,SAAS,GAAG,CAAC,CAAC,qBAAqB,GAAG,GAAG,CAAC,CAAA;IAChD,MAAM,UAAU,GAAG,CAAC,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAA;IAC7C,MAAM,YAAY,GAAG,YAAY,GAAG,GAAG,CAAA;IACvC,MAAM,aAAa,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3C,MAAM,eAAe,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/C,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1C,MAAM,gBAAgB,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAEjD,MAAM,GAAG,GAAG,EAAE,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,GAAG,aAAa,GAAG,eAAe,GAAG,UAAU;QACnG,gBAAgB,CAAA;IAClB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAA;IAEvC,MAAM,SAAS,GAAgC;QAC7C,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;QAC5B,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE;QACjD,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE;QAC3C,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE;QAClD,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE;QAC3C,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE;QAC9C,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE;QACrC,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,gBAAgB,EAAE;KAClD,CAAA;IAED,MAAM,UAAU,GAA+B;QAC7C;YACE,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,iCAAiC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,QAAQ;YACvF,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC;YACxB,GAAG,qBAAqB,GAAG,CAAC;gBAC1B,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE;gBAC/C,CAAC,CAAC,qBAAqB,IAAI,CAAC;oBAC5B,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE;oBAC/C,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE;SACjD;QACD;YACE,KAAK,EAAE,KAAK;YACZ,WAAW,EAAE,gCAAgC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,QAAQ;YAClF,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC;YACzB,GAAG,iBAAiB,GAAG,CAAC;gBACtB,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE;gBAC9C,CAAC,CAAC,iBAAiB,IAAI,EAAE;oBACzB,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE;oBAC7C,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE;SAC/C;QACD;YACE,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,mBAAmB,YAAY,YAAY;YACxD,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC;YAC3B,GAAG,YAAY,IAAI,CAAC;gBAClB,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE;gBAC/C,CAAC,CAAC,YAAY,IAAI,CAAC;oBACnB,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE;oBAC7C,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE;SAClD;QACD;YACE,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,oCAAoC;YAC3F,KAAK,EAAE,aAAa;YACpB,GAAG,EAAE,CAAC,UAAU;gBACd,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE;gBACjD,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE;SAClD;QACD;YACE,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,gCAAgC;YACrF,KAAK,EAAE,eAAe;YACtB,GAAG,EAAE,CAAC,WAAW;gBACf,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE;gBAC9C,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE;SACpD;QACD;YACE,KAAK,EAAE,OAAO;YACd,WAAW,EAAE,aAAa;gBACxB,CAAC,CAAC,4DAA4D;gBAC9D,CAAC,CAAC,uDAAuD;YAC3D,KAAK,EAAE,UAAU;YACjB,GAAG,aAAa;gBACd,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE;gBACjD,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE;SACnD;QACD;YACE,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,4BAA4B;YACnG,KAAK,EAAE,gBAAgB;YACvB,GAAG,cAAc;gBACf,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE;gBACjD,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE;SACnD;KACF,CAAA;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAA;AACtD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAe,EAAE,GAAS,EAAE,QAAgB,EAAU,EAAE,CACnF,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;AAEjG,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAa,EAAmB,EAAE,CAC7D,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CACrB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,OAAgB,CAAC,EACjD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,QAAiB,CAAC,EAClD,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,KAAc,CAAC,CACnC,CAAA"}
@@ -4,25 +4,53 @@
4
4
  * @category Service
5
5
  * @module
6
6
  */
7
- import { Context, Effect, Layer, SubscriptionRef } from "effect";
8
- import type { AwsClient } from "../AwsClient/index.js";
9
- import type { ConfigService } from "../ConfigService/index.js";
10
- import type { AppState, AwsProfileName, NotificationType } from "../Domain.js";
11
- import { NotificationsService } from "../NotificationsService.js";
12
- declare const PRService_base: Context.TagClass<PRService, "@knpkv/codecommit-core/PRService", {
13
- readonly state: SubscriptionRef.SubscriptionRef<AppState>;
14
- readonly refresh: Effect.Effect<void>;
15
- readonly toggleAccount: (profile: AwsProfileName) => Effect.Effect<void>;
16
- readonly setAllAccounts: (enabled: boolean, profiles?: Array<AwsProfileName>) => Effect.Effect<void>;
17
- readonly clearNotifications: Effect.Effect<void>;
18
- readonly addNotification: (item: {
19
- readonly type: NotificationType;
20
- readonly title: string;
21
- readonly message: string;
22
- }) => Effect.Effect<void>;
7
+ import { Effect, Layer, Option, SubscriptionRef } from "effect";
8
+ import { AwsClient } from "../AwsClient/index.js";
9
+ import { EventsHub } from "../CacheService/EventsHub.js";
10
+ import { CommentRepo } from "../CacheService/repos/CommentRepo.js";
11
+ import { NotificationRepo } from "../CacheService/repos/NotificationRepo.js";
12
+ import type { PaginatedNotifications } from "../CacheService/repos/NotificationRepo.js";
13
+ import type { SearchResult } from "../CacheService/repos/PullRequestRepo.js";
14
+ import { PullRequestRepo } from "../CacheService/repos/PullRequestRepo.js";
15
+ import { SubscriptionRepo } from "../CacheService/repos/SubscriptionRepo.js";
16
+ import { SyncMetadataRepo } from "../CacheService/repos/SyncMetadataRepo.js";
17
+ import { ConfigService } from "../ConfigService/index.js";
18
+ import type { AppState, AwsProfileName, PRCommentLocation, PullRequestId } from "../Domain.js";
19
+ export type { SearchResult } from "../CacheService/repos/PullRequestRepo.js";
20
+ export { CachedPRToPullRequest, decodeCachedPR, PullRequestToUpsertInput } from "./internal.js";
21
+ declare const PRService_base: Effect.Service.Class<PRService, "@knpkv/codecommit-core/PRService", {
22
+ readonly effect: Effect.Effect<{
23
+ state: SubscriptionRef.SubscriptionRef<AppState>;
24
+ refresh: Effect.Effect<void, never, never>;
25
+ toggleAccount: (profile: AwsProfileName) => Effect.Effect<void, never, never>;
26
+ setAllAccounts: (enabled: boolean, profiles?: Array<AwsProfileName>) => Effect.Effect<void, never, never>;
27
+ searchPullRequests: (query: string, opts?: {
28
+ readonly limit?: number;
29
+ readonly offset?: number;
30
+ }) => Effect.Effect<SearchResult, never, never>;
31
+ subscribe: (awsAccountId: string, prId: PullRequestId) => Effect.Effect<void, never, never>;
32
+ unsubscribe: (awsAccountId: string, prId: PullRequestId) => Effect.Effect<void, never, never>;
33
+ getSubscriptions: () => Effect.Effect<readonly {
34
+ readonly awsAccountId: string;
35
+ readonly pullRequestId: string;
36
+ }[] | readonly {
37
+ awsAccountId: string;
38
+ pullRequestId: string;
39
+ }[], never, never>;
40
+ isSubscribed: (awsAccountId: string, prId: PullRequestId) => Effect.Effect<boolean, never, never>;
41
+ getPersistentNotifications: (opts?: {
42
+ readonly unreadOnly?: boolean;
43
+ readonly limit?: number;
44
+ readonly cursor?: number;
45
+ }) => Effect.Effect<PaginatedNotifications, never, never>;
46
+ markNotificationRead: (id: number) => Effect.Effect<void, never, never>;
47
+ markAllNotificationsRead: () => Effect.Effect<void, never, never>;
48
+ getUnreadNotificationCount: () => Effect.Effect<number, never, never>;
49
+ getCachedComments: (awsAccountId: string, prId: PullRequestId) => Effect.Effect<Option.Option<readonly PRCommentLocation[]>, never, never>;
50
+ refreshSinglePR: (awsAccountId: string, prId: PullRequestId) => Effect.Effect<void, never, never>;
51
+ }, never, AwsClient | EventsHub | CommentRepo | NotificationRepo | PullRequestRepo | SubscriptionRepo | SyncMetadataRepo | ConfigService>;
23
52
  }>;
24
53
  export declare class PRService extends PRService_base {
25
54
  }
26
- export declare const PRServiceLive: Layer.Layer<PRService, never, NotificationsService | AwsClient | ConfigService>;
27
- export {};
55
+ export declare const PRServiceLive: Layer.Layer<PRService, never, AwsClient | EventsHub | CommentRepo | NotificationRepo | PullRequestRepo | SubscriptionRepo | SyncMetadataRepo | ConfigService>;
28
56
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/PRService/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAA;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;;oBAY7C,eAAe,CAAC,eAAe,CAAC,QAAQ,CAAC;sBACvC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;4BACb,CAAC,OAAO,EAAE,cAAc,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;6BAC/C,CACvB,OAAO,EAAE,OAAO,EAChB,QAAQ,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,KAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;iCACK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;8BACtB,CAAC,IAAI,EAAE;QAC/B,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAA;QAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;QACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KACzB,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;;AAf7B,qBAAa,SAAU,SAAQ,cAiB5B;CAAG;AAMN,eAAO,MAAM,aAAa,iFA4BzB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/PRService/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAA;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAA;AACvF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAA;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAA;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAO9F,YAAY,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAA;AAC5E,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAA;;;;;iCAgDhE,cAAc;kCACb,OAAO,aAAa,KAAK,CAAC,cAAc,CAAC;oCAI1D,MAAM,SACN;YAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE;kCAMpC,MAAM,QAAQ,aAAa;oCAEzB,MAAM,QAAQ,aAAa;;;;;0BAIgB,MAAM;2BAAiB,MAAM;;qCAEvE,MAAM,QAAQ,aAAa;4CAG/C;YAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;YAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE;mCAKlE,MAAM;;;0CAGC,MAAM,QAAQ,aAAa;wCAI7B,MAAM,QAAQ,aAAa;;;AA7EjE,qBAAa,SAAU,SAAQ,cAgF7B;CAAG;AAGL,eAAO,MAAM,aAAa,+JAAoB,CAAA"}
@@ -4,38 +4,69 @@
4
4
  * @category Service
5
5
  * @module
6
6
  */
7
- import { Context, Effect, Layer, SubscriptionRef } from "effect";
8
- import { NotificationsService } from "../NotificationsService.js";
7
+ import { Effect, Layer, Option, SubscriptionRef } from "effect";
8
+ import { AwsClient } from "../AwsClient/index.js";
9
+ import { EventsHub } from "../CacheService/EventsHub.js";
10
+ import { CommentRepo } from "../CacheService/repos/CommentRepo.js";
11
+ import { NotificationRepo } from "../CacheService/repos/NotificationRepo.js";
12
+ import { PullRequestRepo } from "../CacheService/repos/PullRequestRepo.js";
13
+ import { SubscriptionRepo } from "../CacheService/repos/SubscriptionRepo.js";
14
+ import { SyncMetadataRepo } from "../CacheService/repos/SyncMetadataRepo.js";
15
+ import { ConfigService } from "../ConfigService/index.js";
16
+ import { decodeCachedPR } from "./internal.js";
9
17
  import { makeRefresh } from "./refresh.js";
18
+ import { makeRefreshSinglePR } from "./refreshSinglePR.js";
10
19
  import { makeSetAllAccounts } from "./setAllAccounts.js";
11
20
  import { makeToggleAccount } from "./toggleAccount.js";
21
+ export { CachedPRToPullRequest, decodeCachedPR, PullRequestToUpsertInput } from "./internal.js";
12
22
  // ---------------------------------------------------------------------------
13
23
  // Service Definition
14
24
  // ---------------------------------------------------------------------------
15
- export class PRService extends Context.Tag("@knpkv/codecommit-core/PRService")() {
25
+ export class PRService extends Effect.Service()("@knpkv/codecommit-core/PRService", {
26
+ effect: Effect.gen(function* () {
27
+ const configService = yield* ConfigService;
28
+ const awsClient = yield* AwsClient;
29
+ const prRepo = yield* PullRequestRepo;
30
+ const commentRepo = yield* CommentRepo;
31
+ const notificationRepo = yield* NotificationRepo;
32
+ const subscriptionRepo = yield* SubscriptionRepo;
33
+ const syncMetadataRepo = yield* SyncMetadataRepo;
34
+ const eventsHub = yield* EventsHub;
35
+ const depsLayer = Layer.mergeAll(Layer.succeed(ConfigService, configService), Layer.succeed(AwsClient, awsClient), Layer.succeed(PullRequestRepo, prRepo), Layer.succeed(CommentRepo, commentRepo), Layer.succeed(NotificationRepo, notificationRepo), Layer.succeed(SubscriptionRepo, subscriptionRepo), Layer.succeed(SyncMetadataRepo, syncMetadataRepo), Layer.succeed(EventsHub, eventsHub));
36
+ const provide = (effect) => Effect.provide(effect, depsLayer);
37
+ // Load cached PRs to show immediately
38
+ const cachedPRs = yield* prRepo.findAll().pipe(Effect.catchAll(() => Effect.succeed([])));
39
+ const state = yield* SubscriptionRef.make({
40
+ pullRequests: cachedPRs.map(decodeCachedPR),
41
+ accounts: [],
42
+ status: "idle"
43
+ });
44
+ const refreshSem = yield* Effect.makeSemaphore(1);
45
+ const refresh = refreshSem.withPermits(1)(provide(makeRefresh(state)));
46
+ const toggleAccount = makeToggleAccount(refresh);
47
+ const setAllAccounts = makeSetAllAccounts(refresh);
48
+ const refreshSinglePR = makeRefreshSinglePR(state);
49
+ return {
50
+ state,
51
+ refresh,
52
+ toggleAccount: (profile) => provide(toggleAccount(profile)),
53
+ setAllAccounts: (enabled, profiles) => provide(setAllAccounts(enabled, profiles)),
54
+ // Cache delegates – absorb CacheError at the PRService boundary
55
+ searchPullRequests: (query, opts) => prRepo.search(query, opts).pipe(Effect.tapError((e) => Effect.logWarning("PRService.searchPullRequests", e)), Effect.catchAll(() => Effect.succeed({ items: [], total: 0, hasMore: false }))),
56
+ subscribe: (awsAccountId, prId) => subscriptionRepo.subscribe(awsAccountId, prId).pipe(Effect.catchAll(() => Effect.void)),
57
+ unsubscribe: (awsAccountId, prId) => subscriptionRepo.unsubscribe(awsAccountId, prId).pipe(Effect.catchAll(() => Effect.void)),
58
+ getSubscriptions: () => subscriptionRepo.findAll().pipe(Effect.catchAll(() => Effect.succeed([]))),
59
+ isSubscribed: (awsAccountId, prId) => subscriptionRepo.isSubscribed(awsAccountId, prId).pipe(Effect.catchAll(() => Effect.succeed(false))),
60
+ getPersistentNotifications: (opts) => notificationRepo.findAll(opts).pipe(Effect.catchAll(() => Effect.succeed({ items: [] }))),
61
+ markNotificationRead: (id) => notificationRepo.markRead(id).pipe(Effect.catchAll(() => Effect.void)),
62
+ markAllNotificationsRead: () => notificationRepo.markAllRead().pipe(Effect.catchAll(() => Effect.void)),
63
+ getUnreadNotificationCount: () => notificationRepo.unreadCount().pipe(Effect.catchAll(() => Effect.succeed(0))),
64
+ getCachedComments: (awsAccountId, prId) => commentRepo.find(awsAccountId, prId).pipe(Effect.catchAll(() => Effect.succeed(Option.none()))),
65
+ refreshSinglePR: (awsAccountId, prId) => provide(refreshSinglePR(awsAccountId, prId))
66
+ };
67
+ })
68
+ }) {
16
69
  }
17
- // ---------------------------------------------------------------------------
18
- // Live Implementation
19
- // ---------------------------------------------------------------------------
20
- export const PRServiceLive = Layer.effect(PRService, Effect.gen(function* () {
21
- const notificationsService = yield* NotificationsService;
22
- const ctx = yield* Effect.context();
23
- const state = yield* SubscriptionRef.make({
24
- pullRequests: [],
25
- accounts: [],
26
- status: "idle"
27
- });
28
- const provide = (effect) => Effect.provide(effect, ctx);
29
- const refresh = provide(makeRefresh(state));
30
- const toggleAccount = makeToggleAccount(state, refresh);
31
- const setAllAccounts = makeSetAllAccounts(state, refresh);
32
- return {
33
- state,
34
- refresh,
35
- toggleAccount: (p) => provide(toggleAccount(p)),
36
- setAllAccounts: (e, ps) => provide(setAllAccounts(e, ps)),
37
- clearNotifications: notificationsService.clear,
38
- addNotification: notificationsService.add
39
- };
40
- }));
70
+ // Module-level alias for namespace consumers (barrel uses `export * as PRService`)
71
+ export const PRServiceLive = PRService.Default;
41
72
  //# sourceMappingURL=index.js.map