@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,23 +1,24 @@
1
- import * as SqlClient from "@effect/sql/SqlClient";
2
- import { Effect, Option, Schema } from "effect";
1
+ import { Context, Effect, Layer, Option, Schema } from "effect";
2
+ import type { Success } from "effect/Effect";
3
+ import * as SqlClient from "effect/unstable/sql/SqlClient";
3
4
  import type { SandboxId, SandboxStatus } from "../../Domain.js";
4
5
  import { CacheError } from "../CacheError.js";
5
6
  import { EventsHub } from "../EventsHub.js";
6
7
  export declare const SandboxRow: Schema.Struct<{
7
- id: typeof Schema.String;
8
- pullRequestId: typeof Schema.String;
9
- awsAccountId: typeof Schema.String;
10
- repositoryName: typeof Schema.String;
11
- sourceBranch: typeof Schema.String;
12
- containerId: Schema.NullOr<typeof Schema.String>;
13
- port: Schema.NullOr<typeof Schema.Number>;
14
- workspacePath: typeof Schema.String;
15
- status: typeof Schema.String;
16
- statusDetail: Schema.NullOr<typeof Schema.String>;
17
- logs: Schema.NullOr<typeof Schema.String>;
18
- error: Schema.NullOr<typeof Schema.String>;
19
- createdAt: typeof Schema.String;
20
- lastActivityAt: typeof Schema.String;
8
+ readonly id: Schema.String;
9
+ readonly pullRequestId: Schema.String;
10
+ readonly awsAccountId: Schema.String;
11
+ readonly repositoryName: Schema.String;
12
+ readonly sourceBranch: Schema.String;
13
+ readonly containerId: Schema.NullOr<Schema.String>;
14
+ readonly port: Schema.NullOr<Schema.Number>;
15
+ readonly workspacePath: Schema.String;
16
+ readonly status: Schema.String;
17
+ readonly statusDetail: Schema.NullOr<Schema.String>;
18
+ readonly logs: Schema.NullOr<Schema.String>;
19
+ readonly error: Schema.NullOr<Schema.String>;
20
+ readonly createdAt: Schema.String;
21
+ readonly lastActivityAt: Schema.String;
21
22
  }>;
22
23
  export type SandboxRow = typeof SandboxRow.Type;
23
24
  export interface InsertSandbox {
@@ -31,86 +32,87 @@ export interface InsertSandbox {
31
32
  readonly createdAt: string;
32
33
  readonly lastActivityAt: string;
33
34
  }
34
- declare const SandboxRepo_base: Effect.Service.Class<SandboxRepo, "SandboxRepo", {
35
- 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>, import("effect/Layer").Layer<EventsHub, never, never>];
36
- readonly effect: Effect.Effect<{
37
- readonly insert: (sandbox: InsertSandbox) => Effect.Effect<readonly import("@effect/sql/SqlConnection").Row[], CacheError, never>;
38
- readonly updateStatus: (id: SandboxId, status: SandboxStatus, extra?: {
39
- containerId?: string;
40
- port?: number;
41
- error?: string;
42
- }) => Effect.Effect<readonly import("@effect/sql/SqlConnection").Row[], CacheError, never>;
43
- readonly findById: (id: SandboxId) => Effect.Effect<{
44
- readonly error: string | null;
45
- readonly awsAccountId: string;
46
- readonly id: string;
47
- readonly repositoryName: string;
48
- readonly status: string;
49
- readonly sourceBranch: string;
50
- readonly pullRequestId: string;
51
- readonly workspacePath: string;
52
- readonly createdAt: string;
53
- readonly lastActivityAt: string;
54
- readonly containerId: string | null;
55
- readonly port: number | null;
56
- readonly statusDetail: string | null;
57
- readonly logs: string | null;
58
- }, import("effect/ParseResult").ParseError | CacheError | import("@effect/sql/SqlError").SqlError, never>;
59
- readonly findByPr: (awsAccountId: string, pullRequestId: string) => Effect.Effect<Option.Option<{
60
- readonly error: string | null;
61
- readonly awsAccountId: string;
62
- readonly id: string;
63
- readonly repositoryName: string;
64
- readonly status: string;
65
- readonly sourceBranch: string;
66
- readonly pullRequestId: string;
67
- readonly workspacePath: string;
68
- readonly createdAt: string;
69
- readonly lastActivityAt: string;
70
- readonly containerId: string | null;
71
- readonly port: number | null;
72
- readonly statusDetail: string | null;
73
- readonly logs: string | null;
74
- }>, CacheError, never>;
75
- readonly findActive: () => Effect.Effect<readonly {
76
- readonly error: string | null;
77
- readonly awsAccountId: string;
78
- readonly id: string;
79
- readonly repositoryName: string;
80
- readonly status: string;
81
- readonly sourceBranch: string;
82
- readonly pullRequestId: string;
83
- readonly workspacePath: string;
84
- readonly createdAt: string;
85
- readonly lastActivityAt: string;
86
- readonly containerId: string | null;
87
- readonly port: number | null;
88
- readonly statusDetail: string | null;
89
- readonly logs: string | null;
90
- }[], CacheError, never>;
91
- readonly findAll: () => Effect.Effect<readonly {
92
- readonly error: string | null;
93
- readonly awsAccountId: string;
94
- readonly id: string;
95
- readonly repositoryName: string;
96
- readonly status: string;
97
- readonly sourceBranch: string;
98
- readonly pullRequestId: string;
99
- readonly workspacePath: string;
100
- readonly createdAt: string;
101
- readonly lastActivityAt: string;
102
- readonly containerId: string | null;
103
- readonly port: number | null;
104
- readonly statusDetail: string | null;
105
- readonly logs: string | null;
106
- }[], CacheError, never>;
107
- readonly delete: (id: SandboxId) => Effect.Effect<readonly import("@effect/sql/SqlConnection").Row[], CacheError, never>;
108
- readonly updateDetail: (id: SandboxId, detail: string) => Effect.Effect<readonly import("@effect/sql/SqlConnection").Row[], CacheError, never>;
109
- readonly appendLog: (id: SandboxId, line: string) => Effect.Effect<readonly import("@effect/sql/SqlConnection").Row[], CacheError, never>;
110
- readonly updateActivity: (id: SandboxId) => Effect.Effect<readonly import("@effect/sql/SqlConnection").Row[], CacheError, never>;
111
- }, never, SqlClient.SqlClient | EventsHub>;
112
- }>;
35
+ declare const makeSandboxRepo: Effect.Effect<{
36
+ readonly insert: (sandbox: InsertSandbox) => Effect.Effect<readonly import("effect/unstable/sql/SqlConnection").Row[], CacheError, never>;
37
+ readonly updateStatus: (id: SandboxId, status: SandboxStatus, extra?: {
38
+ containerId?: string;
39
+ port?: number;
40
+ error?: string;
41
+ }) => Effect.Effect<readonly import("effect/unstable/sql/SqlConnection").Row[], CacheError, never>;
42
+ readonly findById: (id: SandboxId) => Effect.Effect<Schema.Struct.ReadonlySide<{
43
+ readonly id: Schema.String;
44
+ readonly pullRequestId: Schema.String;
45
+ readonly awsAccountId: Schema.String;
46
+ readonly repositoryName: Schema.String;
47
+ readonly sourceBranch: Schema.String;
48
+ readonly containerId: Schema.NullOr<Schema.String>;
49
+ readonly port: Schema.NullOr<Schema.Number>;
50
+ readonly workspacePath: Schema.String;
51
+ readonly status: Schema.String;
52
+ readonly statusDetail: Schema.NullOr<Schema.String>;
53
+ readonly logs: Schema.NullOr<Schema.String>;
54
+ readonly error: Schema.NullOr<Schema.String>;
55
+ readonly createdAt: Schema.String;
56
+ readonly lastActivityAt: Schema.String;
57
+ }, "Type">, Schema.SchemaError | CacheError | import("effect/unstable/sql/SqlError").SqlError, never>;
58
+ readonly findByPr: (awsAccountId: string, pullRequestId: string) => Effect.Effect<Option.Option<Schema.Struct.ReadonlySide<{
59
+ readonly id: Schema.String;
60
+ readonly pullRequestId: Schema.String;
61
+ readonly awsAccountId: Schema.String;
62
+ readonly repositoryName: Schema.String;
63
+ readonly sourceBranch: Schema.String;
64
+ readonly containerId: Schema.NullOr<Schema.String>;
65
+ readonly port: Schema.NullOr<Schema.Number>;
66
+ readonly workspacePath: Schema.String;
67
+ readonly status: Schema.String;
68
+ readonly statusDetail: Schema.NullOr<Schema.String>;
69
+ readonly logs: Schema.NullOr<Schema.String>;
70
+ readonly error: Schema.NullOr<Schema.String>;
71
+ readonly createdAt: Schema.String;
72
+ readonly lastActivityAt: Schema.String;
73
+ }, "Type">>, CacheError, never>;
74
+ readonly findActive: () => Effect.Effect<Schema.Struct.ReadonlySide<{
75
+ readonly id: Schema.String;
76
+ readonly pullRequestId: Schema.String;
77
+ readonly awsAccountId: Schema.String;
78
+ readonly repositoryName: Schema.String;
79
+ readonly sourceBranch: Schema.String;
80
+ readonly containerId: Schema.NullOr<Schema.String>;
81
+ readonly port: Schema.NullOr<Schema.Number>;
82
+ readonly workspacePath: Schema.String;
83
+ readonly status: Schema.String;
84
+ readonly statusDetail: Schema.NullOr<Schema.String>;
85
+ readonly logs: Schema.NullOr<Schema.String>;
86
+ readonly error: Schema.NullOr<Schema.String>;
87
+ readonly createdAt: Schema.String;
88
+ readonly lastActivityAt: Schema.String;
89
+ }, "Type">[], CacheError, never>;
90
+ readonly findAll: () => Effect.Effect<Schema.Struct.ReadonlySide<{
91
+ readonly id: Schema.String;
92
+ readonly pullRequestId: Schema.String;
93
+ readonly awsAccountId: Schema.String;
94
+ readonly repositoryName: Schema.String;
95
+ readonly sourceBranch: Schema.String;
96
+ readonly containerId: Schema.NullOr<Schema.String>;
97
+ readonly port: Schema.NullOr<Schema.Number>;
98
+ readonly workspacePath: Schema.String;
99
+ readonly status: Schema.String;
100
+ readonly statusDetail: Schema.NullOr<Schema.String>;
101
+ readonly logs: Schema.NullOr<Schema.String>;
102
+ readonly error: Schema.NullOr<Schema.String>;
103
+ readonly createdAt: Schema.String;
104
+ readonly lastActivityAt: Schema.String;
105
+ }, "Type">[], CacheError, never>;
106
+ readonly delete: (id: SandboxId) => Effect.Effect<readonly import("effect/unstable/sql/SqlConnection").Row[], CacheError, never>;
107
+ readonly updateDetail: (id: SandboxId, detail: string) => Effect.Effect<readonly import("effect/unstable/sql/SqlConnection").Row[], CacheError, never>;
108
+ readonly appendLog: (id: SandboxId, line: string) => Effect.Effect<readonly import("effect/unstable/sql/SqlConnection").Row[], CacheError, never>;
109
+ readonly updateActivity: (id: SandboxId) => Effect.Effect<readonly import("effect/unstable/sql/SqlConnection").Row[], CacheError, never>;
110
+ }, never, SqlClient.SqlClient | EventsHub>;
111
+ export interface SandboxRepoShape extends Success<typeof makeSandboxRepo> {
112
+ }
113
+ declare const SandboxRepo_base: Context.ServiceClass<SandboxRepo, "SandboxRepo", SandboxRepoShape>;
113
114
  export declare class SandboxRepo extends SandboxRepo_base {
115
+ static readonly Default: Layer.Layer<SandboxRepo, import("effect/PlatformError").PlatformError | import("effect/unstable/sql/SqlError").SqlError | import("effect/Config").ConfigError | import("@effect/sql-libsql/LibsqlMigrator").MigrationError, import("effect/FileSystem").FileSystem>;
114
116
  }
115
117
  export {};
116
118
  //# sourceMappingURL=SandboxRepo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SandboxRepo.d.ts","sourceRoot":"","sources":["../../../src/CacheService/repos/SandboxRepo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAElD,OAAO,EAAS,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,EAAE,SAAS,EAAc,MAAM,iBAAiB,CAAA;AAEvD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;EAerB,CAAA;AAEF,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;AAE/C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;CAChC;;;;mCAkDuB,aAAa;oCASzB,SAAS,UACL,aAAa,UACb;YAAE,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE;gCAiBlD,SAAS;;;;;;;;;;;;;;;;0CAUC,MAAM,iBAAiB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAOzC,SAAS;oCAMH,SAAS,UAAU,MAAM;iCAa5B,SAAS,QAAQ,MAAM;sCAalB,SAAS;;;AArHpC,qBAAa,WAAY,SAAQ,gBA4H/B;CAAG"}
1
+ {"version":3,"file":"SandboxRepo.d.ts","sourceRoot":"","sources":["../../../src/CacheService/repos/SandboxRepo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACtE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAE1D,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,EAAE,SAAS,EAAc,MAAM,iBAAiB,CAAA;AAEvD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;EAerB,CAAA;AAEF,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;AAE/C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;CAChC;AAUD,QAAA,MAAM,eAAe;+BAsCC,aAAa;gCASzB,SAAS,UACL,aAAa,UACb;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;4BAiBlD,SAAS;;;;;;;;;;;;;;;;sCAUC,MAAM,iBAAiB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAOzC,SAAS;gCAMH,SAAS,UAAU,MAAM;6BAa5B,SAAS,QAAQ,MAAM;kCAalB,SAAS;0CAMhC,CAAA;AAEF,MAAM,WAAW,gBAAiB,SAAQ,OAAO,CAAC,OAAO,eAAe,CAAC;CAAG;;AAE5E,qBAAa,WAAY,SAAQ,gBAGf;IAChB,MAAM,CAAC,QAAQ,CAAC,OAAO,sQAEtB;CACF"}
@@ -1,6 +1,6 @@
1
- import * as SqlClient from "@effect/sql/SqlClient";
2
- import * as SqlSchema from "@effect/sql/SqlSchema";
3
- import { Clock, Effect, Option, Schema } from "effect";
1
+ import { Clock, Context, Effect, Layer, Option, Schema } from "effect";
2
+ import * as SqlClient from "effect/unstable/sql/SqlClient";
3
+ import * as SqlSchema from "effect/unstable/sql/SqlSchema";
4
4
  import { CacheError } from "../CacheError.js";
5
5
  import { DatabaseLive } from "../Database.js";
6
6
  import { EventsHub, RepoChange } from "../EventsHub.js";
@@ -20,69 +20,68 @@ export const SandboxRow = Schema.Struct({
20
20
  createdAt: Schema.String,
21
21
  lastActivityAt: Schema.String
22
22
  });
23
- const cacheError = (op) => (effect) => effect.pipe(Effect.mapError((cause) => new CacheError({ operation: `SandboxRepo.${op}`, cause })), Effect.withSpan(`SandboxRepo.${op}`, { captureStackTrace: false }));
23
+ const cacheError = (op) => (effect) => effect.pipe(Effect.mapError((cause) => new CacheError({ operation: `SandboxRepo.${op}`, cause })), Effect.withSpan(`SandboxRepo.${op}`));
24
24
  const isoNow = Clock.currentTimeMillis.pipe(Effect.map((ms) => new Date(ms).toISOString()));
25
- export class SandboxRepo extends Effect.Service()("SandboxRepo", {
26
- dependencies: [DatabaseLive, EventsHub.Default],
27
- effect: Effect.gen(function* () {
28
- const sql = yield* SqlClient.SqlClient;
29
- const hub = yield* EventsHub;
30
- const publish = hub.publish(RepoChange.Sandboxes());
31
- const findById_ = SqlSchema.findOne({
32
- Result: SandboxRow,
33
- Request: Schema.Struct({ id: Schema.String }),
34
- execute: (req) => sql `SELECT * FROM sandboxes WHERE id = ${req.id}`
35
- });
36
- const findByPr_ = SqlSchema.findOne({
37
- Result: SandboxRow,
38
- Request: Schema.Struct({ awsAccountId: Schema.String, pullRequestId: Schema.String }),
39
- execute: (req) => sql `SELECT * FROM sandboxes
25
+ const makeSandboxRepo = Effect.gen(function* () {
26
+ const sql = yield* SqlClient.SqlClient;
27
+ const hub = yield* EventsHub;
28
+ const publish = hub.publish(RepoChange.Sandboxes());
29
+ const findById_ = SqlSchema.findOneOption({
30
+ Result: SandboxRow,
31
+ Request: Schema.Struct({ id: Schema.String }),
32
+ execute: (req) => sql `SELECT * FROM sandboxes WHERE id = ${req.id}`
33
+ });
34
+ const findByPr_ = SqlSchema.findOneOption({
35
+ Result: SandboxRow,
36
+ Request: Schema.Struct({ awsAccountId: Schema.String, pullRequestId: Schema.String }),
37
+ execute: (req) => sql `SELECT * FROM sandboxes
40
38
  WHERE aws_account_id = ${req.awsAccountId}
41
39
  AND pull_request_id = ${req.pullRequestId}
42
40
  AND status NOT IN ('stopped', 'error')`
43
- });
44
- const findActive_ = SqlSchema.findAll({
45
- Result: SandboxRow,
46
- Request: Schema.Void,
47
- execute: () => sql `SELECT * FROM sandboxes
41
+ });
42
+ const findActive_ = SqlSchema.findAll({
43
+ Result: SandboxRow,
44
+ Request: Schema.Void,
45
+ execute: () => sql `SELECT * FROM sandboxes
48
46
  WHERE status IN ('creating', 'cloning', 'starting', 'running')
49
47
  ORDER BY created_at DESC`
50
- });
51
- const findAll_ = SqlSchema.findAll({
52
- Result: SandboxRow,
53
- Request: Schema.Void,
54
- execute: () => sql `SELECT * FROM sandboxes ORDER BY created_at DESC`
55
- });
56
- return {
57
- insert: (sandbox) => sql `INSERT INTO sandboxes (id, pull_request_id, aws_account_id, repository_name, source_branch, workspace_path, status, created_at, last_activity_at)
48
+ });
49
+ const findAll_ = SqlSchema.findAll({
50
+ Result: SandboxRow,
51
+ Request: Schema.Void,
52
+ execute: () => sql `SELECT * FROM sandboxes ORDER BY created_at DESC`
53
+ });
54
+ return {
55
+ insert: (sandbox) => sql `INSERT INTO sandboxes (id, pull_request_id, aws_account_id, repository_name, source_branch, workspace_path, status, created_at, last_activity_at)
58
56
  VALUES (${sandbox.id}, ${sandbox.pullRequestId}, ${sandbox.awsAccountId}, ${sandbox.repositoryName}, ${sandbox.sourceBranch}, ${sandbox.workspacePath}, ${sandbox.status}, ${sandbox.createdAt}, ${sandbox.lastActivityAt})`
59
- .pipe(Effect.tap(() => publish), cacheError("insert")),
60
- updateStatus: (id, status, extra) => isoNow.pipe(Effect.flatMap((now) => sql `UPDATE sandboxes SET
57
+ .pipe(Effect.tap(() => publish), cacheError("insert")),
58
+ updateStatus: (id, status, extra) => isoNow.pipe(Effect.flatMap((now) => sql `UPDATE sandboxes SET
61
59
  status = ${status},
62
60
  last_activity_at = ${now}
63
61
  ${extra?.containerId ? sql `, container_id = ${extra.containerId}` : sql ``}
64
62
  ${extra?.port ? sql `, port = ${extra.port}` : sql ``}
65
63
  ${extra?.error ? sql `, error = ${extra.error}` : sql ``}
66
64
  WHERE id = ${id}`.pipe(Effect.tap(() => publish))), cacheError("updateStatus")),
67
- findById: (id) => findById_({ id }).pipe(Effect.flatMap(Option.match({
68
- onNone: () => Effect.fail(new CacheError({ operation: "SandboxRepo.findById", cause: `Sandbox ${id} not found` })),
69
- onSome: Effect.succeed
70
- })), Effect.withSpan("SandboxRepo.findById", { captureStackTrace: false })),
71
- findByPr: (awsAccountId, pullRequestId) => findByPr_({ awsAccountId, pullRequestId }).pipe(cacheError("findByPr")),
72
- findActive: () => findActive_(undefined).pipe(cacheError("findActive")),
73
- findAll: () => findAll_(undefined).pipe(cacheError("findAll")),
74
- delete: (id) => sql `DELETE FROM sandboxes WHERE id = ${id}`.pipe(Effect.tap(() => publish), cacheError("delete")),
75
- updateDetail: (id, detail) => isoNow.pipe(Effect.flatMap((now) => sql `UPDATE sandboxes SET
65
+ findById: (id) => findById_({ id }).pipe(Effect.flatMap(Option.match({
66
+ onNone: () => Effect.fail(new CacheError({ operation: "SandboxRepo.findById", cause: `Sandbox ${id} not found` })),
67
+ onSome: Effect.succeed
68
+ })), Effect.withSpan("SandboxRepo.findById")),
69
+ findByPr: (awsAccountId, pullRequestId) => findByPr_({ awsAccountId, pullRequestId }).pipe(cacheError("findByPr")),
70
+ findActive: () => findActive_(undefined).pipe(cacheError("findActive")),
71
+ findAll: () => findAll_(undefined).pipe(cacheError("findAll")),
72
+ delete: (id) => sql `DELETE FROM sandboxes WHERE id = ${id}`.pipe(Effect.tap(() => publish), cacheError("delete")),
73
+ updateDetail: (id, detail) => isoNow.pipe(Effect.flatMap((now) => sql `UPDATE sandboxes SET
76
74
  status_detail = ${detail},
77
75
  last_activity_at = ${now}
78
76
  WHERE id = ${id}`.pipe(Effect.tap(() => publish))), cacheError("updateDetail")),
79
- appendLog: (id, line) => isoNow.pipe(Effect.flatMap((now) => sql `UPDATE sandboxes SET
77
+ appendLog: (id, line) => isoNow.pipe(Effect.flatMap((now) => sql `UPDATE sandboxes SET
80
78
  logs = COALESCE(logs, '') || ${line + "\n"},
81
79
  last_activity_at = ${now}
82
80
  WHERE id = ${id}`.pipe(Effect.tap(() => publish))), cacheError("appendLog")),
83
- updateActivity: (id) => isoNow.pipe(Effect.flatMap((now) => sql `UPDATE sandboxes SET last_activity_at = ${now} WHERE id = ${id}`), cacheError("updateActivity"))
84
- };
85
- })
86
- }) {
81
+ updateActivity: (id) => isoNow.pipe(Effect.flatMap((now) => sql `UPDATE sandboxes SET last_activity_at = ${now} WHERE id = ${id}`), cacheError("updateActivity"))
82
+ };
83
+ });
84
+ export class SandboxRepo extends Context.Service()("SandboxRepo") {
85
+ static Default = Layer.effect(SandboxRepo, makeSandboxRepo).pipe(Layer.provide(Layer.mergeAll(DatabaseLive, EventsHub.Default)));
87
86
  }
88
87
  //# sourceMappingURL=SandboxRepo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SandboxRepo.js","sourceRoot":"","sources":["../../../src/CacheService/repos/SandboxRepo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SandboxRepo.js","sourceRoot":"","sources":["../../../src/CacheService/repos/SandboxRepo.ts"],"names":[],"mappings":"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"}
@@ -3,67 +3,45 @@
3
3
  *
4
4
  * Read-only SQL projection layer for the statistics dashboard.
5
5
  * Assembles query methods from `./queries` and `./reviewerData` into
6
- * a single Effect.Service.
6
+ * a single Context.Service.
7
7
  *
8
8
  * @category CacheService
9
9
  */
10
- import * as SqlClient from "@effect/sql/SqlClient";
11
- import { Effect } from "effect";
12
- declare const StatsRepo_base: Effect.Service.Class<StatsRepo, "StatsRepo", {
13
- 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>];
14
- readonly effect: Effect.Effect<{
15
- readonly weeklyVolume: (weekStart: string, weekEnd: string, filters: import("./internal.ts").Filters) => Effect.Effect<import("./internal.ts").VolumeRow, import("../../CacheError.ts").CacheError, never>;
16
- readonly topContributors: (weekStart: string, weekEnd: string, filters: import("./internal.ts").Filters, limit?: number) => Effect.Effect<readonly import("./internal.ts").ContributorRow[], import("../../CacheError.ts").CacheError, never>;
17
- readonly mostActivePRs: (weekStart: string, weekEnd: string, filters: import("./internal.ts").Filters, limit?: number) => Effect.Effect<readonly import("./internal.ts").ActivePRRow[], import("../../CacheError.ts").CacheError, never>;
18
- readonly prSizeDistribution: (weekStart: string, weekEnd: string, filters: import("./internal.ts").Filters) => Effect.Effect<import("./internal.ts").SizeDistributionRow, import("../../CacheError.ts").CacheError, never>;
19
- readonly avgDiffSize: (weekStart: string, weekEnd: string, filters: import("./internal.ts").Filters) => Effect.Effect<{
20
- filesAdded: number;
21
- filesModified: number;
22
- filesDeleted: number;
23
- } | null, import("../../CacheError.ts").CacheError, never>;
24
- readonly diffSizeByContributor: (weekStart: string, weekEnd: string, filters: import("./internal.ts").Filters, limit?: number) => Effect.Effect<readonly import("./internal.ts").DiffByContributorRow[], import("../../CacheError.ts").CacheError, never>;
25
- readonly stalePRs: (nowISO: string, filters: import("./internal.ts").Filters, limit?: number) => Effect.Effect<readonly import("./internal.ts").StalePRRow[], import("../../CacheError.ts").CacheError, never>;
26
- readonly healthIndicators: (weekStart: string, weekEnd: string, filters: import("./internal.ts").Filters) => Effect.Effect<import("./internal.ts").HealthRow, import("../../CacheError.ts").CacheError, never>;
27
- readonly filterOptions: () => Effect.Effect<{
28
- repos: string[];
29
- authors: string[];
30
- accounts: string[];
31
- }, import("../../CacheError.ts").CacheError, never>;
32
- readonly totalComments: (weekStart: string, weekEnd: string, filters: import("./internal.ts").Filters) => Effect.Effect<number, import("../../CacheError.ts").CacheError, never>;
33
- readonly reviewerData: (weekStart: string, weekEnd: string, filters: import("./internal.ts").Filters) => Effect.Effect<{
34
- topReviewers: {
35
- author: string;
36
- commentCount: number;
37
- }[];
38
- topApprovers: {
39
- author: string;
40
- approvalCount: number;
41
- }[];
42
- avgTimeToFirstReview: number | null;
43
- avgTimeToMerge: number | null;
44
- avgTimeToAddressFeedback: number | null;
45
- firstReviewDetails: {
46
- prId: string;
47
- prTitle: string;
48
- author: string;
49
- repositoryName: string;
50
- awsAccountId: string;
51
- durationMs: number;
52
- fromLabel: string;
53
- toLabel: string;
54
- }[];
55
- feedbackDetails: {
56
- prId: string;
57
- prTitle: string;
58
- author: string;
59
- repositoryName: string;
60
- awsAccountId: string;
61
- durationMs: number;
62
- fromLabel: string;
63
- toLabel: string;
64
- }[];
65
- }, import("../../CacheError.ts").CacheError, never>;
66
- readonly mergeTimeDetails: (weekStart: string, weekEnd: string, filters: import("./internal.ts").Filters) => Effect.Effect<{
10
+ import { Context, Effect, Layer } from "effect";
11
+ import type { Success } from "effect/Effect";
12
+ import * as SqlClient from "effect/unstable/sql/SqlClient";
13
+ declare const makeStatsRepo: Effect.Effect<{
14
+ readonly weeklyVolume: (weekStart: string, weekEnd: string, filters: import("./internal.ts").Filters) => Effect.Effect<import("./internal.ts").VolumeRow, import("../../CacheError.ts").CacheError, never>;
15
+ readonly topContributors: (weekStart: string, weekEnd: string, filters: import("./internal.ts").Filters, limit?: number) => Effect.Effect<readonly import("./internal.ts").ContributorRow[], import("../../CacheError.ts").CacheError, never>;
16
+ readonly mostActivePRs: (weekStart: string, weekEnd: string, filters: import("./internal.ts").Filters, limit?: number) => Effect.Effect<readonly import("./internal.ts").ActivePRRow[], import("../../CacheError.ts").CacheError, never>;
17
+ readonly prSizeDistribution: (weekStart: string, weekEnd: string, filters: import("./internal.ts").Filters) => Effect.Effect<import("./internal.ts").SizeDistributionRow, import("../../CacheError.ts").CacheError, never>;
18
+ readonly avgDiffSize: (weekStart: string, weekEnd: string, filters: import("./internal.ts").Filters) => Effect.Effect<{
19
+ filesAdded: number;
20
+ filesModified: number;
21
+ filesDeleted: number;
22
+ } | null, import("../../CacheError.ts").CacheError, never>;
23
+ readonly diffSizeByContributor: (weekStart: string, weekEnd: string, filters: import("./internal.ts").Filters, limit?: number) => Effect.Effect<readonly import("./internal.ts").DiffByContributorRow[], import("../../CacheError.ts").CacheError, never>;
24
+ readonly stalePRs: (nowISO: string, filters: import("./internal.ts").Filters, limit?: number) => Effect.Effect<readonly import("./internal.ts").StalePRRow[], import("../../CacheError.ts").CacheError, never>;
25
+ readonly healthIndicators: (weekStart: string, weekEnd: string, filters: import("./internal.ts").Filters) => Effect.Effect<import("./internal.ts").HealthRow, import("../../CacheError.ts").CacheError, never>;
26
+ readonly filterOptions: () => Effect.Effect<{
27
+ repos: string[];
28
+ authors: string[];
29
+ accounts: string[];
30
+ }, import("../../CacheError.ts").CacheError, never>;
31
+ readonly totalComments: (weekStart: string, weekEnd: string, filters: import("./internal.ts").Filters) => Effect.Effect<number, import("../../CacheError.ts").CacheError, never>;
32
+ readonly reviewerData: (weekStart: string, weekEnd: string, filters: import("./internal.ts").Filters) => Effect.Effect<{
33
+ topReviewers: {
34
+ author: string;
35
+ commentCount: number;
36
+ }[];
37
+ topApprovers: {
38
+ author: string;
39
+ approvalCount: number;
40
+ }[];
41
+ avgTimeToFirstReview: number | null;
42
+ avgTimeToMerge: number | null;
43
+ avgTimeToAddressFeedback: number | null;
44
+ firstReviewDetails: {
67
45
  prId: string;
68
46
  prTitle: string;
69
47
  author: string;
@@ -72,12 +50,36 @@ declare const StatsRepo_base: Effect.Service.Class<StatsRepo, "StatsRepo", {
72
50
  durationMs: number;
73
51
  fromLabel: string;
74
52
  toLabel: string;
75
- }[], import("../../CacheError.ts").CacheError, never>;
76
- readonly avgTimeToMerge: (weekStart: string, weekEnd: string, filters: import("./internal.ts").Filters) => Effect.Effect<number | null, import("../../CacheError.ts").CacheError, never>;
77
- readonly dataAvailableSince: () => Effect.Effect<string | null, import("../../CacheError.ts").CacheError, never>;
78
- }, never, SqlClient.SqlClient>;
79
- }>;
53
+ }[];
54
+ feedbackDetails: {
55
+ prId: string;
56
+ prTitle: string;
57
+ author: string;
58
+ repositoryName: string;
59
+ awsAccountId: string;
60
+ durationMs: number;
61
+ fromLabel: string;
62
+ toLabel: string;
63
+ }[];
64
+ }, import("../../CacheError.ts").CacheError, never>;
65
+ readonly mergeTimeDetails: (weekStart: string, weekEnd: string, filters: import("./internal.ts").Filters) => Effect.Effect<{
66
+ prId: string;
67
+ prTitle: string;
68
+ author: string;
69
+ repositoryName: string;
70
+ awsAccountId: string;
71
+ durationMs: number;
72
+ fromLabel: string;
73
+ toLabel: string;
74
+ }[], import("../../CacheError.ts").CacheError, never>;
75
+ readonly avgTimeToMerge: (weekStart: string, weekEnd: string, filters: import("./internal.ts").Filters) => Effect.Effect<number | null, import("../../CacheError.ts").CacheError, never>;
76
+ readonly dataAvailableSince: () => Effect.Effect<string | null, import("../../CacheError.ts").CacheError, never>;
77
+ }, never, SqlClient.SqlClient>;
78
+ export interface StatsRepoShape extends Success<typeof makeStatsRepo> {
79
+ }
80
+ declare const StatsRepo_base: Context.ServiceClass<StatsRepo, "StatsRepo", StatsRepoShape>;
80
81
  export declare class StatsRepo extends StatsRepo_base {
82
+ static readonly Default: Layer.Layer<StatsRepo, import("effect/PlatformError").PlatformError | import("effect/unstable/sql/SqlError").SqlError | import("effect/Config").ConfigError | import("@effect/sql-libsql/LibsqlMigrator").MigrationError, import("effect/FileSystem").FileSystem>;
81
83
  }
82
84
  export declare namespace StatsRepo {
83
85
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/CacheService/repos/StatsRepo/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAS/B,qBAAa,SAAU,SAAQ,cAsB7B;CAAG;AAEL,MAAM,CAAC,OAAO,WAAW,SAAS,CAAC;IACjC;;OAEG;IACH,UAAiB,OAAO;QACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KACtC;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/CacheService/repos/StatsRepo/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAS1D,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAmBjB,CAAA;AAEF,MAAM,WAAW,cAAe,SAAQ,OAAO,CAAC,OAAO,aAAa,CAAC;CAAG;;AAExE,qBAAa,SAAU,SAAQ,cAGf;IACd,MAAM,CAAC,QAAQ,CAAC,OAAO,oQAEtB;CACF;AAED,MAAM,CAAC,OAAO,WAAW,SAAS,CAAC;IACjC;;OAEG;IACH,UAAiB,OAAO;QACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KACtC;CACF"}
@@ -3,39 +3,38 @@
3
3
  *
4
4
  * Read-only SQL projection layer for the statistics dashboard.
5
5
  * Assembles query methods from `./queries` and `./reviewerData` into
6
- * a single Effect.Service.
6
+ * a single Context.Service.
7
7
  *
8
8
  * @category CacheService
9
9
  */
10
- import * as SqlClient from "@effect/sql/SqlClient";
11
- import { Effect } from "effect";
10
+ import { Context, Effect, Layer } from "effect";
11
+ import * as SqlClient from "effect/unstable/sql/SqlClient";
12
12
  import { DatabaseLive } from "../../Database.js";
13
13
  import * as Q from "./queries.js";
14
14
  import { reviewerData } from "./reviewerData.js";
15
15
  // ---------------------------------------------------------------------------
16
16
  // Service
17
17
  // ---------------------------------------------------------------------------
18
- export class StatsRepo extends Effect.Service()("StatsRepo", {
19
- dependencies: [DatabaseLive],
20
- effect: Effect.gen(function* () {
21
- const sql = yield* SqlClient.SqlClient;
22
- return {
23
- weeklyVolume: Q.weeklyVolume(sql),
24
- topContributors: Q.topContributors(sql),
25
- mostActivePRs: Q.mostActivePRs(sql),
26
- prSizeDistribution: Q.prSizeDistribution(sql),
27
- avgDiffSize: Q.avgDiffSize(sql),
28
- diffSizeByContributor: Q.diffSizeByContributor(sql),
29
- stalePRs: Q.stalePRs(sql),
30
- healthIndicators: Q.healthIndicators(sql),
31
- filterOptions: Q.filterOptions(sql),
32
- totalComments: Q.totalComments(sql),
33
- reviewerData: reviewerData(sql),
34
- mergeTimeDetails: Q.mergeTimeDetails(sql),
35
- avgTimeToMerge: Q.avgTimeToMerge(sql),
36
- dataAvailableSince: Q.dataAvailableSince(sql)
37
- };
38
- })
39
- }) {
18
+ const makeStatsRepo = Effect.gen(function* () {
19
+ const sql = yield* SqlClient.SqlClient;
20
+ return {
21
+ weeklyVolume: Q.weeklyVolume(sql),
22
+ topContributors: Q.topContributors(sql),
23
+ mostActivePRs: Q.mostActivePRs(sql),
24
+ prSizeDistribution: Q.prSizeDistribution(sql),
25
+ avgDiffSize: Q.avgDiffSize(sql),
26
+ diffSizeByContributor: Q.diffSizeByContributor(sql),
27
+ stalePRs: Q.stalePRs(sql),
28
+ healthIndicators: Q.healthIndicators(sql),
29
+ filterOptions: Q.filterOptions(sql),
30
+ totalComments: Q.totalComments(sql),
31
+ reviewerData: reviewerData(sql),
32
+ mergeTimeDetails: Q.mergeTimeDetails(sql),
33
+ avgTimeToMerge: Q.avgTimeToMerge(sql),
34
+ dataAvailableSince: Q.dataAvailableSince(sql)
35
+ };
36
+ });
37
+ export class StatsRepo extends Context.Service()("StatsRepo") {
38
+ static Default = Layer.effect(StatsRepo, makeStatsRepo).pipe(Layer.provide(DatabaseLive));
40
39
  }
41
40
  //# sourceMappingURL=index.js.map