@knpkv/codecommit-core 0.7.1 → 0.8.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 (307) hide show
  1. package/dist/AwsClient/AwsClientGated.d.ts +1 -1
  2. package/dist/AwsClient/AwsClientGated.d.ts.map +1 -1
  3. package/dist/AwsClient/AwsClientGated.js +29 -16
  4. package/dist/AwsClient/AwsClientGated.js.map +1 -1
  5. package/dist/AwsClient/approvalRuleContent.d.ts +15 -0
  6. package/dist/AwsClient/approvalRuleContent.d.ts.map +1 -0
  7. package/dist/AwsClient/approvalRuleContent.js +39 -0
  8. package/dist/AwsClient/approvalRuleContent.js.map +1 -0
  9. package/dist/AwsClient/createApprovalRule.d.ts +1 -1
  10. package/dist/AwsClient/createApprovalRule.d.ts.map +1 -1
  11. package/dist/AwsClient/createPullRequest.d.ts +1 -1
  12. package/dist/AwsClient/createPullRequest.d.ts.map +1 -1
  13. package/dist/AwsClient/deleteApprovalRule.d.ts +1 -1
  14. package/dist/AwsClient/deleteApprovalRule.d.ts.map +1 -1
  15. package/dist/AwsClient/getCallerIdentity.d.ts +1 -1
  16. package/dist/AwsClient/getCallerIdentity.d.ts.map +1 -1
  17. package/dist/AwsClient/getCommentsForPullRequest.d.ts +1 -1
  18. package/dist/AwsClient/getCommentsForPullRequest.d.ts.map +1 -1
  19. package/dist/AwsClient/getCommentsForPullRequest.js +20 -20
  20. package/dist/AwsClient/getCommentsForPullRequest.js.map +1 -1
  21. package/dist/AwsClient/getDifferences.d.ts +1 -12
  22. package/dist/AwsClient/getDifferences.d.ts.map +1 -1
  23. package/dist/AwsClient/getDifferences.js.map +1 -1
  24. package/dist/AwsClient/getPullRequest.d.ts +2 -1
  25. package/dist/AwsClient/getPullRequest.d.ts.map +1 -1
  26. package/dist/AwsClient/getPullRequest.js +10 -10
  27. package/dist/AwsClient/getPullRequest.js.map +1 -1
  28. package/dist/AwsClient/getPullRequests.d.ts +10 -27
  29. package/dist/AwsClient/getPullRequests.d.ts.map +1 -1
  30. package/dist/AwsClient/getPullRequests.js +28 -92
  31. package/dist/AwsClient/getPullRequests.js.map +1 -1
  32. package/dist/AwsClient/index.d.ts +3 -3
  33. package/dist/AwsClient/index.d.ts.map +1 -1
  34. package/dist/AwsClient/index.js +14 -26
  35. package/dist/AwsClient/index.js.map +1 -1
  36. package/dist/AwsClient/internal.d.ts +36 -104
  37. package/dist/AwsClient/internal.d.ts.map +1 -1
  38. package/dist/AwsClient/internal.js +15 -14
  39. package/dist/AwsClient/internal.js.map +1 -1
  40. package/dist/AwsClient/listBranches.d.ts +1 -1
  41. package/dist/AwsClient/listBranches.d.ts.map +1 -1
  42. package/dist/AwsClient/listBranches.js +1 -1
  43. package/dist/AwsClient/listBranches.js.map +1 -1
  44. package/dist/AwsClient/updateApprovalRule.d.ts +1 -1
  45. package/dist/AwsClient/updateApprovalRule.d.ts.map +1 -1
  46. package/dist/AwsClient/updatePullRequestDescription.d.ts +1 -1
  47. package/dist/AwsClient/updatePullRequestDescription.d.ts.map +1 -1
  48. package/dist/AwsClient/updatePullRequestTitle.d.ts +1 -1
  49. package/dist/AwsClient/updatePullRequestTitle.d.ts.map +1 -1
  50. package/dist/AwsClientConfig.d.ts +7 -7
  51. package/dist/AwsClientConfig.d.ts.map +1 -1
  52. package/dist/AwsClientConfig.js +1 -1
  53. package/dist/AwsClientConfig.js.map +1 -1
  54. package/dist/CacheService/CacheError.d.ts +4 -6
  55. package/dist/CacheService/CacheError.d.ts.map +1 -1
  56. package/dist/CacheService/CacheError.js +2 -2
  57. package/dist/CacheService/CacheError.js.map +1 -1
  58. package/dist/CacheService/Database.d.ts +5 -5
  59. package/dist/CacheService/Database.d.ts.map +1 -1
  60. package/dist/CacheService/Database.js +3 -3
  61. package/dist/CacheService/Database.js.map +1 -1
  62. package/dist/CacheService/EventsHub.d.ts +44 -41
  63. package/dist/CacheService/EventsHub.d.ts.map +1 -1
  64. package/dist/CacheService/EventsHub.js +19 -19
  65. package/dist/CacheService/EventsHub.js.map +1 -1
  66. package/dist/CacheService/migrations/0001_initial.d.ts +2 -2
  67. package/dist/CacheService/migrations/0001_initial.d.ts.map +1 -1
  68. package/dist/CacheService/migrations/0001_initial.js +1 -1
  69. package/dist/CacheService/migrations/0001_initial.js.map +1 -1
  70. package/dist/CacheService/migrations/0002_indexes.d.ts +2 -2
  71. package/dist/CacheService/migrations/0002_indexes.d.ts.map +1 -1
  72. package/dist/CacheService/migrations/0002_indexes.js +1 -1
  73. package/dist/CacheService/migrations/0002_indexes.js.map +1 -1
  74. package/dist/CacheService/migrations/0003_add_health_score.d.ts +2 -2
  75. package/dist/CacheService/migrations/0003_add_health_score.d.ts.map +1 -1
  76. package/dist/CacheService/migrations/0003_add_health_score.js +2 -2
  77. package/dist/CacheService/migrations/0003_add_health_score.js.map +1 -1
  78. package/dist/CacheService/migrations/0004_unify_notifications.d.ts +2 -2
  79. package/dist/CacheService/migrations/0004_unify_notifications.d.ts.map +1 -1
  80. package/dist/CacheService/migrations/0004_unify_notifications.js +3 -3
  81. package/dist/CacheService/migrations/0004_unify_notifications.js.map +1 -1
  82. package/dist/CacheService/migrations/0005_add_sandboxes.d.ts +2 -2
  83. package/dist/CacheService/migrations/0005_add_sandboxes.d.ts.map +1 -1
  84. package/dist/CacheService/migrations/0005_add_sandboxes.js +1 -1
  85. package/dist/CacheService/migrations/0005_add_sandboxes.js.map +1 -1
  86. package/dist/CacheService/migrations/0006_sandbox_logs.d.ts +2 -2
  87. package/dist/CacheService/migrations/0006_sandbox_logs.d.ts.map +1 -1
  88. package/dist/CacheService/migrations/0006_sandbox_logs.js +1 -1
  89. package/dist/CacheService/migrations/0006_sandbox_logs.js.map +1 -1
  90. package/dist/CacheService/migrations/0007_stats_columns.d.ts +2 -2
  91. package/dist/CacheService/migrations/0007_stats_columns.d.ts.map +1 -1
  92. package/dist/CacheService/migrations/0007_stats_columns.js +5 -5
  93. package/dist/CacheService/migrations/0007_stats_columns.js.map +1 -1
  94. package/dist/CacheService/migrations/0008_merged_by.d.ts +2 -2
  95. package/dist/CacheService/migrations/0008_merged_by.d.ts.map +1 -1
  96. package/dist/CacheService/migrations/0008_merged_by.js +2 -2
  97. package/dist/CacheService/migrations/0008_merged_by.js.map +1 -1
  98. package/dist/CacheService/migrations/0009_approved_by.d.ts +2 -2
  99. package/dist/CacheService/migrations/0009_approved_by.d.ts.map +1 -1
  100. package/dist/CacheService/migrations/0009_approved_by.js +2 -2
  101. package/dist/CacheService/migrations/0009_approved_by.js.map +1 -1
  102. package/dist/CacheService/migrations/0010_commented_by.d.ts +2 -2
  103. package/dist/CacheService/migrations/0010_commented_by.d.ts.map +1 -1
  104. package/dist/CacheService/migrations/0010_commented_by.js +2 -2
  105. package/dist/CacheService/migrations/0010_commented_by.js.map +1 -1
  106. package/dist/CacheService/migrations/0011_audit_log.d.ts +2 -2
  107. package/dist/CacheService/migrations/0011_audit_log.d.ts.map +1 -1
  108. package/dist/CacheService/migrations/0011_audit_log.js +2 -2
  109. package/dist/CacheService/migrations/0011_audit_log.js.map +1 -1
  110. package/dist/CacheService/migrations/0012_audit_log_indexes.d.ts +2 -2
  111. package/dist/CacheService/migrations/0012_audit_log_indexes.d.ts.map +1 -1
  112. package/dist/CacheService/migrations/0012_audit_log_indexes.js +2 -2
  113. package/dist/CacheService/migrations/0012_audit_log_indexes.js.map +1 -1
  114. package/dist/CacheService/migrations/0013_approval_rules.d.ts +2 -2
  115. package/dist/CacheService/migrations/0013_approval_rules.d.ts.map +1 -1
  116. package/dist/CacheService/migrations/0013_approval_rules.js +2 -2
  117. package/dist/CacheService/migrations/0013_approval_rules.js.map +1 -1
  118. package/dist/CacheService/migrations/0014_approved_by_arns.d.ts +2 -2
  119. package/dist/CacheService/migrations/0014_approved_by_arns.d.ts.map +1 -1
  120. package/dist/CacheService/migrations/0014_approved_by_arns.js +2 -2
  121. package/dist/CacheService/migrations/0014_approved_by_arns.js.map +1 -1
  122. package/dist/CacheService/migrations/0015_repo_account_id.d.ts +2 -2
  123. package/dist/CacheService/migrations/0015_repo_account_id.d.ts.map +1 -1
  124. package/dist/CacheService/migrations/0015_repo_account_id.js +2 -2
  125. package/dist/CacheService/migrations/0015_repo_account_id.js.map +1 -1
  126. package/dist/CacheService/repos/CommentRepo.d.ts +11 -9
  127. package/dist/CacheService/repos/CommentRepo.d.ts.map +1 -1
  128. package/dist/CacheService/repos/CommentRepo.js +27 -29
  129. package/dist/CacheService/repos/CommentRepo.js.map +1 -1
  130. package/dist/CacheService/repos/NotificationRepo.d.ts +36 -34
  131. package/dist/CacheService/repos/NotificationRepo.d.ts.map +1 -1
  132. package/dist/CacheService/repos/NotificationRepo.js +92 -94
  133. package/dist/CacheService/repos/NotificationRepo.js.map +1 -1
  134. package/dist/CacheService/repos/PullRequestRepo/index.d.ts +129 -127
  135. package/dist/CacheService/repos/PullRequestRepo/index.d.ts.map +1 -1
  136. package/dist/CacheService/repos/PullRequestRepo/index.js +18 -19
  137. package/dist/CacheService/repos/PullRequestRepo/index.js.map +1 -1
  138. package/dist/CacheService/repos/PullRequestRepo/internal.d.ts +51 -54
  139. package/dist/CacheService/repos/PullRequestRepo/internal.d.ts.map +1 -1
  140. package/dist/CacheService/repos/PullRequestRepo/internal.js +22 -19
  141. package/dist/CacheService/repos/PullRequestRepo/internal.js.map +1 -1
  142. package/dist/CacheService/repos/PullRequestRepo/mutations.d.ts +1 -1
  143. package/dist/CacheService/repos/PullRequestRepo/mutations.d.ts.map +1 -1
  144. package/dist/CacheService/repos/PullRequestRepo/mutations.js +20 -4
  145. package/dist/CacheService/repos/PullRequestRepo/mutations.js.map +1 -1
  146. package/dist/CacheService/repos/PullRequestRepo/queries.d.ts +108 -108
  147. package/dist/CacheService/repos/PullRequestRepo/queries.d.ts.map +1 -1
  148. package/dist/CacheService/repos/PullRequestRepo/queries.js +11 -3
  149. package/dist/CacheService/repos/PullRequestRepo/queries.js.map +1 -1
  150. package/dist/CacheService/repos/SandboxRepo.d.ts +97 -95
  151. package/dist/CacheService/repos/SandboxRepo.d.ts.map +1 -1
  152. package/dist/CacheService/repos/SandboxRepo.js +47 -48
  153. package/dist/CacheService/repos/SandboxRepo.js.map +1 -1
  154. package/dist/CacheService/repos/StatsRepo/index.d.ts +65 -63
  155. package/dist/CacheService/repos/StatsRepo/index.d.ts.map +1 -1
  156. package/dist/CacheService/repos/StatsRepo/index.js +24 -25
  157. package/dist/CacheService/repos/StatsRepo/index.js.map +1 -1
  158. package/dist/CacheService/repos/StatsRepo/internal.d.ts +8 -13
  159. package/dist/CacheService/repos/StatsRepo/internal.d.ts.map +1 -1
  160. package/dist/CacheService/repos/StatsRepo/internal.js +11 -4
  161. package/dist/CacheService/repos/StatsRepo/internal.js.map +1 -1
  162. package/dist/CacheService/repos/StatsRepo/queries.d.ts +1 -1
  163. package/dist/CacheService/repos/StatsRepo/queries.d.ts.map +1 -1
  164. package/dist/CacheService/repos/StatsRepo/queries.js +8 -0
  165. package/dist/CacheService/repos/StatsRepo/queries.js.map +1 -1
  166. package/dist/CacheService/repos/StatsRepo/reviewerData.d.ts +1 -1
  167. package/dist/CacheService/repos/StatsRepo/reviewerData.d.ts.map +1 -1
  168. package/dist/CacheService/repos/StatsRepo/reviewerData.js +13 -3
  169. package/dist/CacheService/repos/StatsRepo/reviewerData.js.map +1 -1
  170. package/dist/CacheService/repos/SubscriptionRepo.d.ts +16 -14
  171. package/dist/CacheService/repos/SubscriptionRepo.d.ts.map +1 -1
  172. package/dist/CacheService/repos/SubscriptionRepo.js +36 -37
  173. package/dist/CacheService/repos/SubscriptionRepo.js.map +1 -1
  174. package/dist/CacheService/repos/SyncMetadataRepo.d.ts +11 -9
  175. package/dist/CacheService/repos/SyncMetadataRepo.d.ts.map +1 -1
  176. package/dist/CacheService/repos/SyncMetadataRepo.js +22 -23
  177. package/dist/CacheService/repos/SyncMetadataRepo.js.map +1 -1
  178. package/dist/CacheService/repos/commentLocations.d.ts +12 -0
  179. package/dist/CacheService/repos/commentLocations.d.ts.map +1 -0
  180. package/dist/CacheService/repos/commentLocations.js +7 -0
  181. package/dist/CacheService/repos/commentLocations.js.map +1 -0
  182. package/dist/ConfigService/backup.d.ts +1 -1
  183. package/dist/ConfigService/backup.d.ts.map +1 -1
  184. package/dist/ConfigService/backup.js +1 -1
  185. package/dist/ConfigService/backup.js.map +1 -1
  186. package/dist/ConfigService/detectProfiles.d.ts +2 -1
  187. package/dist/ConfigService/detectProfiles.d.ts.map +1 -1
  188. package/dist/ConfigService/detectProfiles.js +3 -2
  189. package/dist/ConfigService/detectProfiles.js.map +1 -1
  190. package/dist/ConfigService/index.d.ts +10 -11
  191. package/dist/ConfigService/index.d.ts.map +1 -1
  192. package/dist/ConfigService/index.js +13 -6
  193. package/dist/ConfigService/index.js.map +1 -1
  194. package/dist/ConfigService/internal.d.ts +41 -137
  195. package/dist/ConfigService/internal.d.ts.map +1 -1
  196. package/dist/ConfigService/internal.js +35 -20
  197. package/dist/ConfigService/internal.js.map +1 -1
  198. package/dist/ConfigService/load.d.ts +25 -28
  199. package/dist/ConfigService/load.d.ts.map +1 -1
  200. package/dist/ConfigService/load.js +11 -28
  201. package/dist/ConfigService/load.js.map +1 -1
  202. package/dist/ConfigService/reset.d.ts +26 -5
  203. package/dist/ConfigService/reset.d.ts.map +1 -1
  204. package/dist/ConfigService/reset.js +9 -16
  205. package/dist/ConfigService/reset.js.map +1 -1
  206. package/dist/ConfigService/save.d.ts +2 -1
  207. package/dist/ConfigService/save.d.ts.map +1 -1
  208. package/dist/ConfigService/save.js +2 -1
  209. package/dist/ConfigService/save.js.map +1 -1
  210. package/dist/ConfigService/validate.d.ts +6 -20
  211. package/dist/ConfigService/validate.d.ts.map +1 -1
  212. package/dist/ConfigService/validate.js +10 -11
  213. package/dist/ConfigService/validate.js.map +1 -1
  214. package/dist/Domain.d.ts +130 -324
  215. package/dist/Domain.d.ts.map +1 -1
  216. package/dist/Domain.js +77 -20
  217. package/dist/Domain.js.map +1 -1
  218. package/dist/Errors.d.ts +45 -65
  219. package/dist/Errors.d.ts.map +1 -1
  220. package/dist/Errors.js +20 -20
  221. package/dist/Errors.js.map +1 -1
  222. package/dist/PRService/index.d.ts +36 -33
  223. package/dist/PRService/index.d.ts.map +1 -1
  224. package/dist/PRService/index.js +44 -45
  225. package/dist/PRService/index.js.map +1 -1
  226. package/dist/PRService/internal.d.ts +86 -118
  227. package/dist/PRService/internal.d.ts.map +1 -1
  228. package/dist/PRService/internal.js +28 -25
  229. package/dist/PRService/internal.js.map +1 -1
  230. package/dist/PRService/refresh.d.ts +1 -1
  231. package/dist/PRService/refresh.d.ts.map +1 -1
  232. package/dist/PRService/refresh.js +4 -4
  233. package/dist/PRService/refresh.js.map +1 -1
  234. package/dist/PRService/refreshDiffs.d.ts +1 -1
  235. package/dist/PRService/refreshDiffs.d.ts.map +1 -1
  236. package/dist/PRService/refreshDiffs.js +3 -3
  237. package/dist/PRService/refreshDiffs.js.map +1 -1
  238. package/dist/PRService/refreshEnrich.d.ts +1 -5
  239. package/dist/PRService/refreshEnrich.d.ts.map +1 -1
  240. package/dist/PRService/refreshEnrich.js +9 -9
  241. package/dist/PRService/refreshEnrich.js.map +1 -1
  242. package/dist/PRService/refreshFetch.d.ts +1 -5
  243. package/dist/PRService/refreshFetch.d.ts.map +1 -1
  244. package/dist/PRService/refreshFetch.js +10 -10
  245. package/dist/PRService/refreshFetch.js.map +1 -1
  246. package/dist/PRService/refreshHistory.d.ts +1 -1
  247. package/dist/PRService/refreshHistory.d.ts.map +1 -1
  248. package/dist/PRService/refreshHistory.js +8 -8
  249. package/dist/PRService/refreshHistory.js.map +1 -1
  250. package/dist/PRService/refreshResolve.d.ts +6 -6
  251. package/dist/PRService/refreshResolve.d.ts.map +1 -1
  252. package/dist/PRService/refreshResolve.js +6 -6
  253. package/dist/PRService/refreshResolve.js.map +1 -1
  254. package/dist/PRService/refreshScore.d.ts +1 -2
  255. package/dist/PRService/refreshScore.d.ts.map +1 -1
  256. package/dist/PRService/refreshScore.js +5 -5
  257. package/dist/PRService/refreshScore.js.map +1 -1
  258. package/dist/PRService/refreshSinglePR.d.ts +4 -1
  259. package/dist/PRService/refreshSinglePR.d.ts.map +1 -1
  260. package/dist/PRService/refreshSinglePR.js +92 -82
  261. package/dist/PRService/refreshSinglePR.js.map +1 -1
  262. package/dist/PermissionService/AuditLog.d.ts +30 -32
  263. package/dist/PermissionService/AuditLog.d.ts.map +1 -1
  264. package/dist/PermissionService/AuditLog.js +89 -90
  265. package/dist/PermissionService/AuditLog.js.map +1 -1
  266. package/dist/PermissionService/PermissionGate.d.ts +8 -21
  267. package/dist/PermissionService/PermissionGate.d.ts.map +1 -1
  268. package/dist/PermissionService/PermissionGate.js +2 -2
  269. package/dist/PermissionService/PermissionGate.js.map +1 -1
  270. package/dist/PermissionService/PermissionGateLive.d.ts +7 -11
  271. package/dist/PermissionService/PermissionGateLive.d.ts.map +1 -1
  272. package/dist/PermissionService/PermissionGateLive.js +49 -49
  273. package/dist/PermissionService/PermissionGateLive.js.map +1 -1
  274. package/dist/PermissionService/index.d.ts +17 -17
  275. package/dist/PermissionService/index.d.ts.map +1 -1
  276. package/dist/PermissionService/index.js +50 -50
  277. package/dist/PermissionService/index.js.map +1 -1
  278. package/dist/SandboxService/DockerService.d.ts +22 -19
  279. package/dist/SandboxService/DockerService.d.ts.map +1 -1
  280. package/dist/SandboxService/DockerService.js +71 -70
  281. package/dist/SandboxService/DockerService.js.map +1 -1
  282. package/dist/SandboxService/PluginService.d.ts +11 -8
  283. package/dist/SandboxService/PluginService.d.ts.map +1 -1
  284. package/dist/SandboxService/PluginService.js +16 -16
  285. package/dist/SandboxService/PluginService.js.map +1 -1
  286. package/dist/SandboxService/SandboxService.d.ts +78 -76
  287. package/dist/SandboxService/SandboxService.d.ts.map +1 -1
  288. package/dist/SandboxService/SandboxService.js +235 -226
  289. package/dist/SandboxService/SandboxService.js.map +1 -1
  290. package/dist/SandboxService/index.d.ts +0 -1
  291. package/dist/SandboxService/index.d.ts.map +1 -1
  292. package/dist/SandboxService/index.js +0 -1
  293. package/dist/SandboxService/index.js.map +1 -1
  294. package/dist/StatsService/WeeklyStats.d.ts +112 -112
  295. package/dist/StatsService/index.d.ts +3 -8
  296. package/dist/StatsService/index.d.ts.map +1 -1
  297. package/dist/StatsService/index.js +113 -112
  298. package/dist/StatsService/index.js.map +1 -1
  299. package/dist/index.d.ts +1 -2
  300. package/dist/index.d.ts.map +1 -1
  301. package/dist/index.js +1 -2
  302. package/dist/index.js.map +1 -1
  303. package/package.json +6 -12
  304. package/dist/SandboxService/plugins/ClaudeCodePlugin.d.ts +0 -18
  305. package/dist/SandboxService/plugins/ClaudeCodePlugin.d.ts.map +0 -1
  306. package/dist/SandboxService/plugins/ClaudeCodePlugin.js +0 -24
  307. package/dist/SandboxService/plugins/ClaudeCodePlugin.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"refreshScore.js","sourceRoot":"","sources":["../../src/PRService/refreshScore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAA;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAgB,MAAM,eAAe,CAAA;AAE5D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,KAAc,EAC+B,EAAE,CAC/C,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,eAAe,CAAA;IAErC,KAAK,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3C,GAAG,CAAC;QACJ,YAAY,EAAE,2BAA2B;KAC1C,CAAC,CAAC,CAAA;IAEH,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACzF,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAA;IACjD,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAA;IACjE,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CACnB,SAAS,EACT,CAAC,GAAG,EAAE,EAAE;QACN,MAAM,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,CAAA;QAC9B,MAAM,KAAK,GAAG,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;QAC3C,OAAO,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,IAAI,CACnE,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CACnC,CAAA;IACH,CAAC,EACD,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAA;AACH,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"refreshScore.js","sourceRoot":"","sources":["../../src/PRService/refreshScore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAA;AACjE,OAAO,EAA0B,eAAe,EAAE,MAAM,gDAAgD,CAAA;AACxG,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAgB,MAAM,eAAe,CAAA;AAE5D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,KAAc,EACyB,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC/D,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,eAAe,CAAA;IAErC,KAAK,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3C,GAAG,CAAC;QACJ,YAAY,EAAE,2BAA2B;KAC1C,CAAC,CAAC,CAAA;IAEH,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAA2B,EAAE,CAAC,CAAC,CAAC,CAAA;IACrH,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAA;IACjD,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAA;IACjE,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CACnB,SAAS,EACT,CAAC,GAAG,EAAE,EAAE;QACN,MAAM,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,CAAA;QAC9B,MAAM,KAAK,GAAG,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;QAC3C,OAAO,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,IAAI,CACnE,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CACrC,CAAA;IACH,CAAC,EACD,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAA;AACH,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC,CACvF,CAAC,CAAA"}
@@ -15,6 +15,9 @@ import { NotificationRepo } from "../CacheService/repos/NotificationRepo.js";
15
15
  import { PullRequestRepo } from "../CacheService/repos/PullRequestRepo/index.js";
16
16
  import { SubscriptionRepo } from "../CacheService/repos/SubscriptionRepo.js";
17
17
  import { ConfigService } from "../ConfigService/index.js";
18
+ import { type PullRequestId } from "../Domain.js";
18
19
  import { type PRState } from "./internal.js";
19
- export declare const makeRefreshSinglePR: (state: PRState) => (awsAccountId: string, prId: string & import("effect/Brand").Brand<"PullRequestId">) => Effect.Effect<void, never, AwsClient | CommentRepo | NotificationRepo | PullRequestRepo | SubscriptionRepo | ConfigService>;
20
+ type RefreshSinglePREnv = AwsClient | PullRequestRepo | CommentRepo | NotificationRepo | SubscriptionRepo | ConfigService;
21
+ export declare const makeRefreshSinglePR: (state: PRState) => (awsAccountId: string, prId: PullRequestId) => Effect.Effect<void, never, RefreshSinglePREnv>;
22
+ export {};
20
23
  //# sourceMappingURL=refreshSinglePR.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"refreshSinglePR.d.ts","sourceRoot":"","sources":["../../src/PRService/refreshSinglePR.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAS,MAAM,EAA2B,MAAM,QAAQ,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAA;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAE5E,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAA;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAEzD,OAAO,EAAoB,KAAK,OAAO,EAAE,MAAM,eAAe,CAAA;AAqB9D,eAAO,MAAM,mBAAmB,GAC9B,OAAO,OAAO,wNAoHV,CAAA"}
1
+ {"version":3,"file":"refreshSinglePR.d.ts","sourceRoot":"","sources":["../../src/PRService/refreshSinglePR.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAS,MAAM,EAA2B,MAAM,QAAQ,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAA;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAM5E,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAA;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAKL,KAAK,aAAa,EAEnB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAoB,KAAK,OAAO,EAAE,MAAM,eAAe,CAAA;AAO9D,KAAK,kBAAkB,GACnB,SAAS,GACT,eAAe,GACf,WAAW,GACX,gBAAgB,GAChB,gBAAgB,GAChB,aAAa,CAAA;AA4BjB,eAAO,MAAM,mBAAmB,GAC9B,OAAO,OAAO,MA0HN,cAAc,MAAM,EAAE,MAAM,aAAa,KACR,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,kBAAkB,CACvF,CAAA"}
@@ -21,96 +21,106 @@ import { countAllComments } from "./internal.js";
21
21
  /** Resolve profile/region from any cached PR with matching awsAccountId, or from config */
22
22
  const resolveAccountFromCache = (prRepo, awsAccountId) => Effect.gen(function* () {
23
23
  // Check other cached PRs from the same AWS account
24
- const allCached = yield* prRepo.findAll().pipe(Effect.catchAll(() => Effect.succeed([])));
24
+ const allCached = yield* prRepo.findAll().pipe(Effect.catchCause(() => Effect.succeed([])));
25
25
  const sibling = allCached.find((p) => p.awsAccountId === awsAccountId);
26
- if (sibling)
27
- return { profile: sibling.accountProfile, region: sibling.accountRegion };
26
+ if (sibling) {
27
+ return {
28
+ profile: sibling.accountProfile,
29
+ region: sibling.accountRegion
30
+ };
31
+ }
28
32
  // Fall back to config — match by profile name (awsAccountId might be the profile name from URL)
29
33
  const configService = yield* ConfigService;
30
- const config = yield* configService.load.pipe(Effect.catchAll(() => Effect.succeed({ accounts: [] })));
34
+ const config = yield* configService.load.pipe(Effect.catchCause(() => Effect.succeed({ accounts: [] })));
31
35
  const configAccount = config.accounts.find((a) => a.profile === awsAccountId && a.enabled);
32
36
  if (configAccount && configAccount.regions?.[0]) {
33
37
  return { profile: configAccount.profile, region: configAccount.regions[0] };
34
38
  }
35
39
  return undefined;
36
40
  });
37
- export const makeRefreshSinglePR = (state) => Effect.fn("PRService.refreshSinglePR")(function* (awsAccountId, prId) {
38
- const awsClient = yield* AwsClient;
39
- const prRepo = yield* PullRequestRepo;
40
- const commentRepo = yield* CommentRepo;
41
- const notificationRepo = yield* NotificationRepo;
42
- const subscriptionRepo = yield* SubscriptionRepo;
43
- // Find PR in state to get account info
44
- const currentState = yield* SubscriptionRef.get(state);
45
- const pr = currentState.pullRequests.find((p) => p.id === prId && p.account.awsAccountId === awsAccountId);
46
- // Also check cache
47
- const cachedPR = yield* prRepo.findByAccountAndId(awsAccountId, prId).pipe(Effect.catchAll(() => Effect.succeed(Option.none())));
48
- // Resolve account: from state PR → cached PR → any cached PR with same awsAccountId → config
49
- const account = pr
50
- ? { profile: pr.account.profile, region: pr.account.region }
51
- : Option.isSome(cachedPR)
52
- ? { profile: cachedPR.value.accountProfile, region: cachedPR.value.accountRegion }
53
- : yield* resolveAccountFromCache(prRepo, awsAccountId);
54
- if (!account)
55
- return;
56
- // Fetch fresh PR details
57
- const detail = yield* awsClient.getPullRequest({
58
- account,
59
- pullRequestId: prId
60
- }).pipe(Effect.catchAll(() => Effect.succeed(undefined)));
61
- if (!detail)
62
- return;
63
- // Fetch fresh comments
64
- const locs = yield* awsClient.getCommentsForPullRequest({
65
- account,
66
- pullRequestId: prId,
67
- repositoryName: detail.repositoryName
68
- }).pipe(Effect.catchAll(() => Effect.succeed([])));
69
- // Build fresh upsert — PullRequestDetail lacks some fields, fall back to cache
70
- const cached = Option.isSome(cachedPR) ? cachedPR.value : undefined;
71
- const freshUpsert = {
72
- id: prId,
73
- awsAccountId,
74
- repoAccountId: detail.repoAccountId ?? cached?.repoAccountId ?? null,
75
- accountProfile: account.profile,
76
- accountRegion: account.region,
77
- title: detail.title,
78
- description: detail.description ?? null,
79
- author: detail.author,
80
- repositoryName: detail.repositoryName,
81
- creationDate: detail.creationDate.toISOString(),
82
- lastModifiedDate: cached?.lastModifiedDate.toISOString() ?? new Date().toISOString(),
83
- status: detail.status,
84
- sourceBranch: detail.sourceBranch,
85
- destinationBranch: detail.destinationBranch,
86
- isMergeable: cached ? (cached.isMergeable ? 1 : 0) : detail.status === "MERGED" ? 1 : 0,
87
- isApproved: cached ? (cached.isApproved ? 1 : 0) : detail.status === "MERGED" ? 1 : 0,
88
- commentCount: countAllComments(locs),
89
- link: cached?.link ?? pr?.link ?? codecommitConsoleUrl(account.region, detail.repositoryName, prId),
90
- approvedBy: detail.approvedBy,
91
- approvedByArns: detail.approvedByArns,
92
- approvalRules: detail.approvalRules
93
- };
94
- // Diff for subscribed PRs
95
- const isSubscribed = yield* subscriptionRepo.isSubscribed(awsAccountId, prId).pipe(Effect.catchAll(() => Effect.succeed(false)));
96
- if (isSubscribed && Option.isSome(cachedPR)) {
97
- const prNotifications = diffPR(cachedPR.value, freshUpsert, awsAccountId);
98
- const poolNotifications = diffApprovalPools(cachedPR.value.approvalRules ?? [], freshUpsert.approvalRules, currentState.currentUser, prId, awsAccountId, detail.title, account.profile);
99
- yield* Effect.forEach([...prNotifications, ...poolNotifications], (n) => notificationRepo.add(n), {
100
- discard: true
101
- }).pipe(Effect.catchAll(() => Effect.void));
102
- // Diff comments
103
- const cachedComments = yield* commentRepo.find(awsAccountId, prId).pipe(Effect.catchAll(() => Effect.succeed(Option.none())));
104
- if (Option.isSome(cachedComments)) {
105
- const commentNotifications = diffComments(cachedComments.value, locs, prId, awsAccountId);
106
- yield* Effect.forEach(commentNotifications, (n) => notificationRepo.add(n), { discard: true }).pipe(Effect.catchAll(() => Effect.void));
41
+ export const makeRefreshSinglePR = (state) => {
42
+ const refreshSinglePR = Effect.fn("PRService.refreshSinglePR")(function* (awsAccountId, prId) {
43
+ const awsClient = yield* AwsClient;
44
+ const prRepo = yield* PullRequestRepo;
45
+ const commentRepo = yield* CommentRepo;
46
+ const notificationRepo = yield* NotificationRepo;
47
+ const subscriptionRepo = yield* SubscriptionRepo;
48
+ // Find PR in state to get account info
49
+ const currentState = yield* SubscriptionRef.get(state);
50
+ const pr = currentState.pullRequests.find((p) => p.id === prId && p.account.awsAccountId === awsAccountId);
51
+ // Also check cache
52
+ const cachedPR = yield* prRepo.findByAccountAndId(awsAccountId, prId).pipe(Effect.map((row) => Option.some(row)), Effect.catchCause(() => Effect.succeed(Option.none())));
53
+ // Resolve account: from state PR → cached PR → any cached PR with same awsAccountId → config
54
+ const account = pr
55
+ ? { profile: pr.account.profile, region: pr.account.region }
56
+ : Option.isSome(cachedPR)
57
+ ? {
58
+ profile: cachedPR.value.accountProfile,
59
+ region: cachedPR.value.accountRegion
60
+ }
61
+ : yield* resolveAccountFromCache(prRepo, awsAccountId);
62
+ if (!account)
63
+ return;
64
+ // Fetch fresh PR details
65
+ const detail = yield* awsClient.getPullRequest({
66
+ account,
67
+ pullRequestId: prId
68
+ }).pipe(Effect.catchCause(() => Effect.succeed(undefined)));
69
+ if (!detail)
70
+ return;
71
+ // Fetch fresh comments
72
+ const locs = yield* awsClient.getCommentsForPullRequest({
73
+ account,
74
+ pullRequestId: prId,
75
+ repositoryName: detail.repositoryName
76
+ }).pipe(Effect.catchCause(() => Effect.succeed([])));
77
+ // Build fresh upsert — PullRequestDetail lacks some fields, fall back to cache
78
+ const cached = Option.isSome(cachedPR) ? cachedPR.value : undefined;
79
+ const freshUpsert = {
80
+ id: prId,
81
+ awsAccountId,
82
+ repoAccountId: detail.repoAccountId ?? cached?.repoAccountId ?? null,
83
+ accountProfile: account.profile,
84
+ accountRegion: account.region,
85
+ title: detail.title,
86
+ description: detail.description ?? null,
87
+ author: detail.author,
88
+ repositoryName: detail.repositoryName,
89
+ creationDate: detail.creationDate.toISOString(),
90
+ lastModifiedDate: cached?.lastModifiedDate.toISOString() ?? new Date().toISOString(),
91
+ status: detail.status,
92
+ sourceBranch: detail.sourceBranch,
93
+ destinationBranch: detail.destinationBranch,
94
+ isMergeable: cached ? (cached.isMergeable ? 1 : 0) : detail.status === "MERGED" ? 1 : 0,
95
+ isApproved: cached ? (cached.isApproved ? 1 : 0) : detail.status === "MERGED" ? 1 : 0,
96
+ commentCount: countAllComments(locs),
97
+ link: cached?.link ?? pr?.link ?? codecommitConsoleUrl(account.region, detail.repositoryName, prId),
98
+ approvedBy: detail.approvedBy,
99
+ approvedByArns: detail.approvedByArns,
100
+ approvalRules: detail.approvalRules
101
+ };
102
+ // Diff for subscribed PRs
103
+ const isSubscribed = yield* subscriptionRepo.isSubscribed(awsAccountId, prId).pipe(Effect.catchCause(() => Effect.succeed(false)));
104
+ if (isSubscribed && Option.isSome(cachedPR)) {
105
+ const prNotifications = diffPR(cachedPR.value, freshUpsert, awsAccountId);
106
+ const poolNotifications = diffApprovalPools(cachedPR.value.approvalRules ?? [], freshUpsert.approvalRules, currentState.currentUser, prId, awsAccountId, detail.title, account.profile);
107
+ yield* Effect.forEach([...prNotifications, ...poolNotifications], (n) => notificationRepo.add(n), {
108
+ discard: true
109
+ }).pipe(Effect.catchCause(() => Effect.void));
110
+ // Diff comments
111
+ const cachedComments = yield* commentRepo.find(awsAccountId, prId).pipe(Effect.catchCause(() => Effect.succeed(Option.none())));
112
+ if (Option.isSome(cachedComments)) {
113
+ const commentNotifications = diffComments(cachedComments.value, locs, prId, awsAccountId);
114
+ yield* Effect.forEach(commentNotifications, (n) => notificationRepo.add(n), { discard: true }).pipe(Effect.catchCause(() => Effect.void));
115
+ }
107
116
  }
108
- }
109
- // Cache comments
110
- yield* commentRepo.upsert(awsAccountId, prId, JSON.stringify(locs)).pipe(Effect.catchAll(() => Effect.void));
111
- // Always upsert fresh data to cache
112
- yield* prRepo.upsert(freshUpsert).pipe(Effect.catchAll(() => Effect.void));
113
- }, (effect) => effect.pipe(Effect.catchAllCause((cause) => Cause.isInterruptedOnly(cause)
114
- ? Effect.interrupt
115
- : Effect.logWarning("refreshSinglePR failed", cause))));
117
+ // Cache comments
118
+ yield* commentRepo.upsert(awsAccountId, prId, JSON.stringify(locs)).pipe(Effect.catchCause(() => Effect.void));
119
+ // Always upsert fresh data to cache
120
+ yield* prRepo.upsert(freshUpsert).pipe(Effect.catchCause(() => Effect.void));
121
+ }, (effect) => effect.pipe(Effect.catchCause((cause) => Cause.hasInterruptsOnly(cause)
122
+ ? Effect.interrupt
123
+ : Effect.logWarning("refreshSinglePR failed", cause))));
124
+ return (awsAccountId, prId) => refreshSinglePR(awsAccountId, prId);
125
+ };
116
126
  //# sourceMappingURL=refreshSinglePR.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"refreshSinglePR.js","sourceRoot":"","sources":["../../src/PRService/refreshSinglePR.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"refreshSinglePR.js","sourceRoot":"","sources":["../../src/PRService/refreshSinglePR.ts"],"names":[],"mappings":"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"}
@@ -15,18 +15,17 @@
15
15
  *
16
16
  * @module
17
17
  */
18
- import * as SqlClient from "@effect/sql/SqlClient";
19
- import { Effect, Schema } from "effect";
18
+ import { Context, Effect, Layer, Schema } from "effect";
20
19
  import { CacheError } from "../CacheService/CacheError.js";
21
20
  export declare const AuditLogEntry: Schema.Struct<{
22
- id: typeof Schema.Number;
23
- timestamp: typeof Schema.String;
24
- operation: typeof Schema.String;
25
- accountProfile: typeof Schema.String;
26
- region: typeof Schema.String;
27
- permissionState: Schema.Literal<["allowed", "always_allowed", "denied", "timed_out"]>;
28
- context: typeof Schema.String;
29
- durationMs: Schema.NullOr<typeof Schema.Number>;
21
+ readonly id: Schema.Number;
22
+ readonly timestamp: Schema.String;
23
+ readonly operation: Schema.String;
24
+ readonly accountProfile: Schema.String;
25
+ readonly region: Schema.String;
26
+ readonly permissionState: Schema.Literals<readonly ["allowed", "always_allowed", "denied", "timed_out"]>;
27
+ readonly context: Schema.String;
28
+ readonly durationMs: Schema.NullOr<Schema.Number>;
30
29
  }>;
31
30
  export type AuditLogEntry = typeof AuditLogEntry.Type;
32
31
  export type NewAuditLogEntry = Omit<AuditLogEntry, "id">;
@@ -35,29 +34,28 @@ export interface PaginatedAuditLog {
35
34
  readonly total: number;
36
35
  readonly nextCursor?: number;
37
36
  }
38
- declare const AuditLogRepo_base: Effect.Service.Class<AuditLogRepo, "AuditLogRepo", {
39
- readonly dependencies: readonly [import("effect/Layer").Layer<SqlClient.SqlClient | import("@effect/sql-libsql/LibsqlClient").LibsqlClient, import("@effect/sql/SqlError").SqlError | import("effect/ConfigError").ConfigError | import("@effect/sql/Migrator").MigrationError, import("@effect/platform/FileSystem").FileSystem>];
40
- readonly effect: Effect.Effect<{
41
- log: (entry: NewAuditLogEntry) => Effect.Effect<void, CacheError, never>;
42
- findAll: (opts?: {
43
- readonly limit?: number | undefined;
44
- readonly offset?: number | undefined;
45
- readonly operation?: string | undefined;
46
- readonly accountProfile?: string | undefined;
47
- readonly permissionState?: string | undefined;
48
- readonly from?: string | undefined;
49
- readonly to?: string | undefined;
50
- readonly search?: string | undefined;
51
- }) => Effect.Effect<PaginatedAuditLog, CacheError>;
52
- prune: (retentionDays: number) => Effect.Effect<number, CacheError>;
53
- clearAll: () => Effect.Effect<number, CacheError>;
54
- exportAll: (opts?: {
55
- readonly from?: string | undefined;
56
- readonly to?: string | undefined;
57
- }) => Effect.Effect<ReadonlyArray<AuditLogEntry>, CacheError>;
58
- }, never, SqlClient.SqlClient>;
59
- }>;
37
+ export interface AuditLogRepoShape {
38
+ readonly log: (entry: NewAuditLogEntry) => Effect.Effect<void, CacheError>;
39
+ readonly findAll: (opts?: {
40
+ readonly limit?: number | undefined;
41
+ readonly offset?: number | undefined;
42
+ readonly operation?: string | undefined;
43
+ readonly accountProfile?: string | undefined;
44
+ readonly permissionState?: string | undefined;
45
+ readonly from?: string | undefined;
46
+ readonly to?: string | undefined;
47
+ readonly search?: string | undefined;
48
+ }) => Effect.Effect<PaginatedAuditLog, CacheError, never>;
49
+ readonly prune: (retentionDays: number) => Effect.Effect<number, CacheError>;
50
+ readonly clearAll: () => Effect.Effect<number, CacheError>;
51
+ readonly exportAll: (opts?: {
52
+ readonly from?: string | undefined;
53
+ readonly to?: string | undefined;
54
+ }) => Effect.Effect<ReadonlyArray<AuditLogEntry>, CacheError>;
55
+ }
56
+ declare const AuditLogRepo_base: Context.ServiceClass<AuditLogRepo, "AuditLogRepo", AuditLogRepoShape>;
60
57
  export declare class AuditLogRepo extends AuditLogRepo_base {
58
+ static readonly Default: Layer.Layer<AuditLogRepo, import("effect/PlatformError").PlatformError | import("effect/unstable/sql/SqlError").SqlError | import("effect/Config").ConfigError | import("@effect/sql-libsql/LibsqlMigrator").MigrationError, import("effect/FileSystem").FileSystem>;
61
59
  }
62
60
  export {};
63
61
  //# sourceMappingURL=AuditLog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AuditLog.d.ts","sourceRoot":"","sources":["../../src/PermissionService/AuditLog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAGlD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAG1D,eAAO,MAAM,aAAa;;;;;;;;;EASxB,CAAA;AAEF,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAA;AAErD,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;AAExD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,CAAA;IAC5C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAC7B;;;;qBAmCkB,gBAAgB;yBAQZ;YACf,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;YACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;YACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;YACvC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;YAC5C,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;YAC7C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;YAClC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;YAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;SACrC,KAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAAC;+BAmDzB,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;wBAWnD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;2BAO5B;YACjB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;YAClC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;SACjC,KAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC;;;AApHjE,qBAAa,YAAa,SAAQ,iBAmIhC;CAAG"}
1
+ {"version":3,"file":"AuditLog.d.ts","sourceRoot":"","sources":["../../src/PermissionService/AuditLog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAIvD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAG1D,eAAO,MAAM,aAAa;;;;;;;;;EASxB,CAAA;AAEF,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAA;AAErD,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;AAExD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,CAAA;IAC5C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAC7B;AAOD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IAC1E,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE;QACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACvC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC5C,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC7C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAClC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KACrC,KAAK,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,UAAU,EAAE,KAAK,CAAC,CAAA;IACzD,QAAQ,CAAC,KAAK,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAC5E,QAAQ,CAAC,QAAQ,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAC1D,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE;QAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAClC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KACjC,KAAK,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,CAAA;CAC9D;;AA0ID,qBAAa,YAAa,SAAQ,iBAGf;IACjB,MAAM,CAAC,QAAQ,CAAC,OAAO,uQAEtB;CACF"}
@@ -15,10 +15,10 @@
15
15
  *
16
16
  * @module
17
17
  */
18
- import * as SqlClient from "@effect/sql/SqlClient";
19
- import * as SqlSchema from "@effect/sql/SqlSchema";
20
- import * as Statement from "@effect/sql/Statement";
21
- import { Effect, Schema } from "effect";
18
+ import { Context, Effect, Layer, Schema } from "effect";
19
+ import * as SqlClient from "effect/unstable/sql/SqlClient";
20
+ import * as SqlSchema from "effect/unstable/sql/SqlSchema";
21
+ import * as Statement from "effect/unstable/sql/Statement";
22
22
  import { CacheError } from "../CacheService/CacheError.js";
23
23
  import { DatabaseLive } from "../CacheService/Database.js";
24
24
  export const AuditLogEntry = Schema.Struct({
@@ -27,101 +27,100 @@ export const AuditLogEntry = Schema.Struct({
27
27
  operation: Schema.String,
28
28
  accountProfile: Schema.String,
29
29
  region: Schema.String,
30
- permissionState: Schema.Literal("allowed", "always_allowed", "denied", "timed_out"),
30
+ permissionState: Schema.Literals(["allowed", "always_allowed", "denied", "timed_out"]),
31
31
  context: Schema.String,
32
32
  durationMs: Schema.NullOr(Schema.Number)
33
33
  });
34
- const cacheError = (op) => (effect) => effect.pipe(Effect.mapError((cause) => new CacheError({ operation: `AuditLogRepo.${op}`, cause })), Effect.withSpan(`AuditLogRepo.${op}`, { captureStackTrace: false }));
35
- export class AuditLogRepo extends Effect.Service()("AuditLogRepo", {
36
- dependencies: [DatabaseLive],
37
- effect: Effect.gen(function* () {
38
- const sql = yield* SqlClient.SqlClient;
39
- const findAll_ = SqlSchema.findAll({
40
- Result: AuditLogEntry,
41
- Request: Schema.Struct({
42
- limit: Schema.Number,
43
- offset: Schema.Number
44
- }),
45
- execute: (req) => sql `SELECT * FROM audit_log ORDER BY id DESC LIMIT ${req.limit} OFFSET ${req.offset}`
46
- });
47
- const countAll = SqlSchema.single({
48
- Result: Schema.Struct({ count: Schema.Number }),
49
- Request: Schema.Void,
50
- execute: () => sql `SELECT count(*) as count FROM audit_log`
51
- });
52
- const exportAllQuery = SqlSchema.findAll({
53
- Result: AuditLogEntry,
54
- Request: Schema.Void,
55
- execute: () => sql `SELECT * FROM audit_log ORDER BY id DESC`
56
- });
57
- return {
58
- log: (entry) => sql `INSERT INTO audit_log (timestamp, operation, account_profile, region, permission_state, context, duration_ms)
34
+ const cacheError = (op) => (effect) => effect.pipe(Effect.mapError((cause) => new CacheError({ operation: `AuditLogRepo.${op}`, cause })), Effect.withSpan(`AuditLogRepo.${op}`));
35
+ const makeAuditLogRepo = Effect.gen(function* () {
36
+ const sql = yield* SqlClient.SqlClient;
37
+ const findAll_ = SqlSchema.findAll({
38
+ Result: AuditLogEntry,
39
+ Request: Schema.Struct({
40
+ limit: Schema.Number,
41
+ offset: Schema.Number
42
+ }),
43
+ execute: (req) => sql `SELECT * FROM audit_log ORDER BY id DESC LIMIT ${req.limit} OFFSET ${req.offset}`
44
+ });
45
+ const countAll = SqlSchema.findOne({
46
+ Result: Schema.Struct({ count: Schema.Number }),
47
+ Request: Schema.Void,
48
+ execute: () => sql `SELECT count(*) as count FROM audit_log`
49
+ });
50
+ const exportAllQuery = SqlSchema.findAll({
51
+ Result: AuditLogEntry,
52
+ Request: Schema.Void,
53
+ execute: () => sql `SELECT * FROM audit_log ORDER BY id DESC`
54
+ });
55
+ return {
56
+ log: (entry) => sql `INSERT INTO audit_log (timestamp, operation, account_profile, region, permission_state, context, duration_ms)
59
57
  VALUES (${entry.timestamp}, ${entry.operation}, ${entry.accountProfile}, ${entry.region}, ${entry.permissionState}, ${entry.context}, ${entry.durationMs})`
60
- .pipe(Effect.asVoid, cacheError("log")),
61
- findAll: (opts) => {
62
- // Clamp numeric params
63
- const limit = Math.max(1, Math.min(200, Math.floor(opts?.limit ?? 50)));
64
- const offset = Math.max(0, Math.floor(opts?.offset ?? 0));
65
- // Compose parameterized WHERE using Statement.and
66
- const hasFilter = opts?.operation || opts?.accountProfile || opts?.permissionState
67
- || opts?.from || opts?.to || opts?.search;
68
- if (hasFilter) {
69
- const conditions = [];
70
- if (opts?.operation)
71
- conditions.push(sql `operation = ${opts.operation}`);
72
- if (opts?.accountProfile)
73
- conditions.push(sql `account_profile = ${opts.accountProfile}`);
74
- if (opts?.permissionState)
75
- conditions.push(sql `permission_state = ${opts.permissionState}`);
76
- if (opts?.from)
77
- conditions.push(sql `timestamp >= ${opts.from}`);
78
- if (opts?.to)
79
- conditions.push(sql `timestamp <= ${opts.to}`);
80
- if (opts?.search) {
81
- const pattern = `%${opts.search}%`;
82
- conditions.push(sql `(operation LIKE ${pattern} OR context LIKE ${pattern})`);
83
- }
84
- const where = Statement.and(conditions);
85
- return Effect.all([
86
- sql `SELECT * FROM audit_log WHERE ${where} ORDER BY id DESC LIMIT ${limit} OFFSET ${offset}`.pipe(Effect.map((rows) => rows.map((r) => Schema.decodeUnknownSync(AuditLogEntry)(r)))),
87
- sql `SELECT count(*) as count FROM audit_log WHERE ${where}`.pipe(Effect.map((rows) => rows[0]?.count ?? 0))
88
- ]).pipe(Effect.map(([items, total]) => ({
89
- items,
90
- total,
91
- ...(items.length === limit ? { nextCursor: offset + limit } : {})
92
- })), cacheError("findAll"));
58
+ .pipe(Effect.asVoid, cacheError("log")),
59
+ findAll: (opts) => {
60
+ // Clamp numeric params
61
+ const limit = Math.max(1, Math.min(200, Math.floor(opts?.limit ?? 50)));
62
+ const offset = Math.max(0, Math.floor(opts?.offset ?? 0));
63
+ // Compose parameterized WHERE using Statement.and
64
+ const hasFilter = opts?.operation || opts?.accountProfile || opts?.permissionState
65
+ || opts?.from || opts?.to || opts?.search;
66
+ if (hasFilter) {
67
+ const conditions = [];
68
+ if (opts?.operation)
69
+ conditions.push(sql `operation = ${opts.operation}`);
70
+ if (opts?.accountProfile)
71
+ conditions.push(sql `account_profile = ${opts.accountProfile}`);
72
+ if (opts?.permissionState)
73
+ conditions.push(sql `permission_state = ${opts.permissionState}`);
74
+ if (opts?.from)
75
+ conditions.push(sql `timestamp >= ${opts.from}`);
76
+ if (opts?.to)
77
+ conditions.push(sql `timestamp <= ${opts.to}`);
78
+ if (opts?.search) {
79
+ const pattern = `%${opts.search}%`;
80
+ conditions.push(sql `(operation LIKE ${pattern} OR context LIKE ${pattern})`);
93
81
  }
82
+ const where = Statement.and(conditions);
94
83
  return Effect.all([
95
- findAll_({ limit, offset }),
96
- countAll(undefined)
97
- ]).pipe(Effect.map(([items, { count }]) => ({
84
+ sql `SELECT * FROM audit_log WHERE ${where} ORDER BY id DESC LIMIT ${limit} OFFSET ${offset}`.pipe(Effect.map((rows) => rows.map((r) => Schema.decodeUnknownSync(AuditLogEntry)(r)))),
85
+ sql `SELECT count(*) as count FROM audit_log WHERE ${where}`.pipe(Effect.map((rows) => rows[0]?.count ?? 0))
86
+ ]).pipe(Effect.map(([items, total]) => ({
98
87
  items,
99
- total: count,
88
+ total,
100
89
  ...(items.length === limit ? { nextCursor: offset + limit } : {})
101
90
  })), cacheError("findAll"));
102
- },
103
- prune: (retentionDays) => {
104
- const days = Math.max(1, Math.floor(retentionDays));
105
- const modifier = `-${days} days`;
106
- return sql `DELETE FROM audit_log WHERE timestamp < datetime('now', ${modifier})`.pipe(
107
- // DELETE returns no rows — use changes() to get actual deleted count
108
- Effect.flatMap(() => sql `SELECT changes() as n`), Effect.map((rows) => rows[0]?.n ?? 0), cacheError("prune"));
109
- },
110
- clearAll: () => sql `DELETE FROM audit_log`.pipe(Effect.flatMap(() => sql `SELECT changes() as n`), Effect.map((rows) => rows[0]?.n ?? 0), cacheError("clearAll")),
111
- exportAll: (opts) => {
112
- if (opts?.from && opts?.to) {
113
- const exportFiltered = SqlSchema.findAll({
114
- Result: AuditLogEntry,
115
- Request: Schema.Void,
116
- execute: () => sql `SELECT * FROM audit_log WHERE timestamp >= ${opts.from} AND timestamp <= ${opts
117
- .to} ORDER BY id DESC`
118
- });
119
- return exportFiltered(undefined).pipe(cacheError("exportAll"));
120
- }
121
- return exportAllQuery(undefined).pipe(cacheError("exportAll"));
122
91
  }
123
- };
124
- })
125
- }) {
92
+ return Effect.all([
93
+ findAll_({ limit, offset }),
94
+ countAll(undefined)
95
+ ]).pipe(Effect.map(([items, { count }]) => ({
96
+ items,
97
+ total: count,
98
+ ...(items.length === limit ? { nextCursor: offset + limit } : {})
99
+ })), cacheError("findAll"));
100
+ },
101
+ prune: (retentionDays) => {
102
+ const days = Math.max(1, Math.floor(retentionDays));
103
+ const modifier = `-${days} days`;
104
+ return sql `DELETE FROM audit_log WHERE timestamp < datetime('now', ${modifier})`.pipe(
105
+ // DELETE returns no rows — use changes() to get actual deleted count
106
+ Effect.flatMap(() => sql `SELECT changes() as n`), Effect.map((rows) => rows[0]?.n ?? 0), cacheError("prune"));
107
+ },
108
+ clearAll: () => sql `DELETE FROM audit_log`.pipe(Effect.flatMap(() => sql `SELECT changes() as n`), Effect.map((rows) => rows[0]?.n ?? 0), cacheError("clearAll")),
109
+ exportAll: (opts) => {
110
+ if (opts?.from && opts?.to) {
111
+ const exportFiltered = SqlSchema.findAll({
112
+ Result: AuditLogEntry,
113
+ Request: Schema.Void,
114
+ execute: () => sql `SELECT * FROM audit_log WHERE timestamp >= ${opts.from} AND timestamp <= ${opts
115
+ .to} ORDER BY id DESC`
116
+ });
117
+ return exportFiltered(undefined).pipe(cacheError("exportAll"));
118
+ }
119
+ return exportAllQuery(undefined).pipe(cacheError("exportAll"));
120
+ }
121
+ };
122
+ });
123
+ export class AuditLogRepo extends Context.Service()("AuditLogRepo") {
124
+ static Default = Layer.effect(AuditLogRepo, makeAuditLogRepo).pipe(Layer.provide(DatabaseLive));
126
125
  }
127
126
  //# sourceMappingURL=AuditLog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AuditLog.js","sourceRoot":"","sources":["../../src/PermissionService/AuditLog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AuditLog.js","sourceRoot":"","sources":["../../src/PermissionService/AuditLog.ts"],"names":[],"mappings":"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"}