@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,7 +1,7 @@
1
1
  /**
2
2
  * @title PermissionGate — abstract "ask the user" interface
3
3
  *
4
- * Context.Tag (not Effect.Service) so different environments can
4
+ * Context.Service so different environments can
5
5
  * provide different implementations:
6
6
  * - Web: Deferred + SSE push (PermissionGateLive.ts)
7
7
  * - TUI: stdin prompt (future)
@@ -16,29 +16,16 @@
16
16
  import type { Effect } from "effect";
17
17
  import { Context, Schema } from "effect";
18
18
  import type { PermissionDeniedError } from "../Errors.js";
19
- declare const PermissionPrompt_base: Schema.Class<PermissionPrompt, {
20
- id: typeof Schema.String;
21
- operation: typeof Schema.String;
22
- category: Schema.Literal<["read", "write"]>;
23
- context: typeof Schema.String;
24
- }, Schema.Struct.Encoded<{
25
- id: typeof Schema.String;
26
- operation: typeof Schema.String;
27
- category: Schema.Literal<["read", "write"]>;
28
- context: typeof Schema.String;
29
- }>, never, {
30
- readonly id: string;
31
- } & {
32
- readonly operation: string;
33
- } & {
34
- readonly context: string;
35
- } & {
36
- readonly category: "read" | "write";
37
- }, {}, {}>;
19
+ declare const PermissionPrompt_base: Schema.Class<PermissionPrompt, Schema.Struct<{
20
+ readonly id: Schema.String;
21
+ readonly operation: Schema.String;
22
+ readonly category: Schema.Literals<readonly ["read", "write"]>;
23
+ readonly context: Schema.String;
24
+ }>, {}>;
38
25
  export declare class PermissionPrompt extends PermissionPrompt_base {
39
26
  }
40
27
  export type PermissionResponse = "allow_once" | "always_allow" | "deny";
41
- declare const PermissionGate_base: Context.TagClass<PermissionGate, "@knpkv/codecommit-core/PermissionGate", {
28
+ declare const PermissionGate_base: Context.ServiceClass<PermissionGate, "@knpkv/codecommit-core/PermissionGate", {
42
29
  readonly request: (prompt: PermissionPrompt) => Effect.Effect<PermissionResponse, PermissionDeniedError>;
43
30
  }>;
44
31
  export declare class PermissionGate extends PermissionGate_base {
@@ -1 +1 @@
1
- {"version":3,"file":"PermissionGate.d.ts","sourceRoot":"","sources":["../../src/PermissionService/PermissionGate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACxC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;;;;;;;;;;;;;;;;;;;;AAGzD,qBAAa,gBAAiB,SAAQ,qBAKpC;CAAG;AAEL,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,cAAc,GAAG,MAAM,CAAA;;sBAOjD,CAAC,MAAM,EAAE,gBAAgB,KAAK,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;;AAH5G,qBAAa,cAAe,SAAQ,mBAKjC;CAAG"}
1
+ {"version":3,"file":"PermissionGate.d.ts","sourceRoot":"","sources":["../../src/PermissionService/PermissionGate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACxC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;;;;;;;AAGzD,qBAAa,gBAAiB,SAAQ,qBAKpC;CAAG;AAEL,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,cAAc,GAAG,MAAM,CAAA;;sBAOjD,CAAC,MAAM,EAAE,gBAAgB,KAAK,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;;AAH5G,qBAAa,cAAe,SAAQ,mBAKQ;CAAG"}
@@ -3,12 +3,12 @@ import { Context, Schema } from "effect";
3
3
  export class PermissionPrompt extends Schema.Class("PermissionPrompt")({
4
4
  id: Schema.String,
5
5
  operation: Schema.String,
6
- category: Schema.Literal("read", "write"),
6
+ category: Schema.Literals(["read", "write"]),
7
7
  context: Schema.String
8
8
  }) {
9
9
  }
10
10
  // Blocks the calling fiber until user responds or 30s timeout.
11
11
  // Returns the response, or fails with PermissionDeniedError.
12
- export class PermissionGate extends Context.Tag("@knpkv/codecommit-core/PermissionGate")() {
12
+ export class PermissionGate extends Context.Service()("@knpkv/codecommit-core/PermissionGate") {
13
13
  }
14
14
  //# sourceMappingURL=PermissionGate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PermissionGate.js","sourceRoot":"","sources":["../../src/PermissionService/PermissionGate.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAGxC,gEAAgE;AAChE,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC,KAAK,CAAmB,kBAAkB,CAAC,CAAC;IACvF,EAAE,EAAE,MAAM,CAAC,MAAM;IACjB,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC;CAAG;AAIL,+DAA+D;AAC/D,6DAA6D;AAC7D,MAAM,OAAO,cAAe,SAAQ,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,EAKrF;CAAG"}
1
+ {"version":3,"file":"PermissionGate.js","sourceRoot":"","sources":["../../src/PermissionService/PermissionGate.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAGxC,gEAAgE;AAChE,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC,KAAK,CAAmB,kBAAkB,CAAC,CAAC;IACvF,EAAE,EAAE,MAAM,CAAC,MAAM;IACjB,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC;CAAG;AAIL,+DAA+D;AAC/D,6DAA6D;AAC7D,MAAM,OAAO,cAAe,SAAQ,OAAO,CAAC,OAAO,EAKhD,CAAC,uCAAuC,CAAC;CAAG"}
@@ -20,8 +20,7 @@
20
20
  *
21
21
  * @module
22
22
  */
23
- import { Effect, Layer } from "effect";
24
- import { EventsHub } from "../CacheService/EventsHub.js";
23
+ import { Context, Effect, Layer } from "effect";
25
24
  import { PermissionDeniedError } from "../Errors.js";
26
25
  import { PermissionGate, type PermissionPrompt, type PermissionResponse } from "./PermissionGate.js";
27
26
  export interface PermissionGateLive {
@@ -29,13 +28,10 @@ export interface PermissionGateLive {
29
28
  readonly resolve: (promptId: string, response: PermissionResponse) => Effect.Effect<void>;
30
29
  readonly getFirstPending: () => Effect.Effect<PermissionPrompt | undefined>;
31
30
  }
32
- export declare const PermissionGateLiveTag: Effect.Service.Class<PermissionGateLive, "PermissionGateLive", {
33
- readonly dependencies: readonly [Layer.Layer<EventsHub, never, never>];
34
- readonly effect: Effect.Effect<{
35
- request: (prompt: PermissionPrompt) => Effect.Effect<PermissionResponse, PermissionDeniedError>;
36
- resolve: (promptId: string, response: PermissionResponse) => Effect.Effect<void>;
37
- getFirstPending: () => Effect.Effect<PermissionPrompt | undefined>;
38
- }, never, EventsHub>;
39
- }>;
40
- export declare const PermissionGateLiveLayer: Layer.Layer<PermissionGate, never, PermissionGateLive>;
31
+ declare const PermissionGateLiveTag_base: Context.ServiceClass<PermissionGateLiveTag, "PermissionGateLive", PermissionGateLive>;
32
+ export declare class PermissionGateLiveTag extends PermissionGateLiveTag_base {
33
+ static readonly Default: Layer.Layer<PermissionGateLiveTag, never, never>;
34
+ }
35
+ export declare const PermissionGateLiveLayer: Layer.Layer<PermissionGate, never, PermissionGateLiveTag>;
36
+ export {};
41
37
  //# sourceMappingURL=PermissionGateLive.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PermissionGateLive.d.ts","sourceRoot":"","sources":["../../src/PermissionService/PermissionGateLive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAY,MAAM,EAAE,KAAK,EAAO,MAAM,QAAQ,CAAA;AACrD,OAAO,EAAE,SAAS,EAAc,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,KAAK,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAOpG,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,CAAA;IACxG,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACzF,QAAQ,CAAC,eAAe,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAA;CAC5E;AAED,eAAO,MAAM,qBAAqB;;;0BAWL,gBAAgB,KAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;4BAqCzE,MAAM,YAAY,kBAAkB,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;+BAUzD,MAAM,CAAC,MAAM,CAAC,gBAAgB,GAAG,SAAS,CAAC;;EAUzE,CAAA;AAKF,eAAO,MAAM,uBAAuB,wDAGnC,CAAA"}
1
+ {"version":3,"file":"PermissionGateLive.d.ts","sourceRoot":"","sources":["../../src/PermissionService/PermissionGateLive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,OAAO,EAAY,MAAM,EAAE,KAAK,EAAO,MAAM,QAAQ,CAAA;AAE9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,KAAK,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAOpG,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,CAAA;IACxG,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACzF,QAAQ,CAAC,eAAe,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAA;CAC5E;;AAmED,qBAAa,qBAAsB,SAAQ,0BAGlB;IAGvB,MAAM,CAAC,QAAQ,CAAC,OAAO,mDAEtB;CACF;AAKD,eAAO,MAAM,uBAAuB,2DAGnC,CAAA"}
@@ -20,62 +20,62 @@
20
20
  *
21
21
  * @module
22
22
  */
23
- import { Deferred, Effect, Layer, Ref } from "effect";
23
+ import { Context, Deferred, Effect, Layer, Ref } from "effect";
24
24
  import { EventsHub, RepoChange } from "../CacheService/EventsHub.js";
25
25
  import { PermissionDeniedError } from "../Errors.js";
26
26
  import { PermissionGate } from "./PermissionGate.js";
27
- export const PermissionGateLiveTag = Effect.Service()("PermissionGateLive", {
28
- // EventsHub needed to publish PermissionRequired/Resolved events
29
- // that trigger SSE payload rebuilds
30
- dependencies: [EventsHub.Default],
31
- effect: Effect.gen(function* () {
32
- const hub = yield* EventsHub;
33
- // Map<promptId, { deferred, prompt }>. Concurrent-safe via Ref.
34
- // Multiple prompts can be pending simultaneously (e.g. initial
35
- // refresh triggers getCallerIdentity + listRepositories at once).
36
- const pending = yield* Ref.make(new Map());
37
- const request = (prompt) => Effect.gen(function* () {
38
- const deferred = yield* Deferred.make();
39
- yield* Ref.update(pending, (m) => new Map(m).set(prompt.id, { deferred, prompt }));
40
- yield* hub.publish(RepoChange.PermissionRequired());
41
- const response = yield* Deferred.await(deferred).pipe(Effect.timeout("30 seconds"), Effect.catchTag("TimeoutException", () => {
42
- return Effect.gen(function* () {
43
- yield* Ref.update(pending, (m) => {
44
- const n = new Map(m);
45
- n.delete(prompt.id);
46
- return n;
47
- });
48
- yield* hub.publish(RepoChange.PermissionResolved());
49
- return yield* new PermissionDeniedError({ operation: prompt.operation, reason: "timeout" });
27
+ const makePermissionGateLive = Effect.gen(function* () {
28
+ const hub = yield* EventsHub;
29
+ // Map<promptId, { deferred, prompt }>. Concurrent-safe via Ref.
30
+ // Multiple prompts can be pending simultaneously (e.g. initial
31
+ // refresh triggers getCallerIdentity + listRepositories at once).
32
+ const pending = yield* Ref.make(new Map());
33
+ const request = (prompt) => Effect.gen(function* () {
34
+ const deferred = yield* Deferred.make();
35
+ yield* Ref.update(pending, (m) => new Map(m).set(prompt.id, { deferred, prompt }));
36
+ yield* hub.publish(RepoChange.PermissionRequired());
37
+ const response = yield* Deferred.await(deferred).pipe(Effect.timeout("30 seconds"), Effect.catchTag("TimeoutError", () => {
38
+ return Effect.gen(function* () {
39
+ yield* Ref.update(pending, (m) => {
40
+ const n = new Map(m);
41
+ n.delete(prompt.id);
42
+ return n;
50
43
  });
51
- }));
52
- yield* Ref.update(pending, (m) => {
53
- const n = new Map(m);
54
- n.delete(prompt.id);
55
- return n;
44
+ yield* hub.publish(RepoChange.PermissionResolved());
45
+ return yield* Effect.fail(new PermissionDeniedError({ operation: prompt.operation, reason: "timeout" }));
56
46
  });
57
- yield* hub.publish(RepoChange.PermissionResolved());
58
- if (response === "deny") {
59
- return yield* new PermissionDeniedError({ operation: prompt.operation, reason: "denied" });
60
- }
61
- return response;
62
- });
63
- // Called by POST /api/permissions/respond handler.
64
- // Deferred.succeed is idempotent — second call is a no-op.
65
- // This is how multi-tab "first responder wins" works.
66
- const resolve = (promptId, response) => Ref.get(pending).pipe(Effect.flatMap((m) => {
67
- const entry = m.get(promptId);
68
- return entry ? Deferred.succeed(entry.deferred, response) : Effect.void;
69
- }));
70
- // For SSE payload builder — shows one prompt at a time (FIFO).
71
- // Remaining prompts queue behind; they'll surface as each resolves.
72
- const getFirstPending = () => Ref.get(pending).pipe(Effect.map((m) => {
73
- const first = m.values().next();
74
- return first.done ? undefined : first.value.prompt;
75
47
  }));
76
- return { request, resolve, getFirstPending };
77
- })
48
+ yield* Ref.update(pending, (m) => {
49
+ const n = new Map(m);
50
+ n.delete(prompt.id);
51
+ return n;
52
+ });
53
+ yield* hub.publish(RepoChange.PermissionResolved());
54
+ if (response === "deny") {
55
+ return yield* Effect.fail(new PermissionDeniedError({ operation: prompt.operation, reason: "denied" }));
56
+ }
57
+ return response;
58
+ });
59
+ // Called by POST /api/permissions/respond handler.
60
+ // Deferred.succeed is idempotent — second call is a no-op.
61
+ // This is how multi-tab "first responder wins" works.
62
+ const resolve = (promptId, response) => Ref.get(pending).pipe(Effect.flatMap((m) => {
63
+ const entry = m.get(promptId);
64
+ return entry ? Deferred.succeed(entry.deferred, response) : Effect.void;
65
+ }));
66
+ // For SSE payload builder — shows one prompt at a time (FIFO).
67
+ // Remaining prompts queue behind; they'll surface as each resolves.
68
+ const getFirstPending = () => Ref.get(pending).pipe(Effect.map((m) => {
69
+ const first = m.values().next();
70
+ return first.done ? undefined : first.value.prompt;
71
+ }));
72
+ return { request, resolve, getFirstPending };
78
73
  });
74
+ export class PermissionGateLiveTag extends Context.Service()("PermissionGateLive") {
75
+ // EventsHub needed to publish PermissionRequired/Resolved events
76
+ // that trigger SSE payload rebuilds.
77
+ static Default = Layer.effect(PermissionGateLiveTag, makePermissionGateLive).pipe(Layer.provide(EventsHub.Default));
78
+ }
79
79
  // Bridge: concrete service → abstract Context.Tag.
80
80
  // Handlers use PermissionGateLiveTag (for resolve/getFirstPending),
81
81
  // AwsClientGated uses PermissionGate (for request only).
@@ -1 +1 @@
1
- {"version":3,"file":"PermissionGateLive.js","sourceRoot":"","sources":["../../src/PermissionService/PermissionGateLive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,cAAc,EAAkD,MAAM,qBAAqB,CAAA;AAapG,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,EAAsB,CAAC,oBAAoB,EAAE;IAC9F,iEAAiE;IACjE,oCAAoC;IACpC,YAAY,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC1B,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,SAAS,CAAA;QAC5B,gEAAgE;QAChE,+DAA+D;QAC/D,kEAAkE;QAClE,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,EAAwB,CAAC,CAAA;QAEhE,MAAM,OAAO,GAAG,CAAC,MAAwB,EAA4D,EAAE,CACrG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAsB,CAAA;YAC3D,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;YAClF,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAA;YAEnD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CACnD,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAC5B,MAAM,CAAC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;gBACvC,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;oBACzB,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;wBAC/B,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAA;wBACpB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;wBACnB,OAAO,CAAC,CAAA;oBACV,CAAC,CAAC,CAAA;oBACF,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAA;oBACnD,OAAO,KAAK,CAAC,CAAC,IAAI,qBAAqB,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;gBAC7F,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CACH,CAAA;YAED,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;gBAC/B,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAA;gBACpB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBACnB,OAAO,CAAC,CAAA;YACV,CAAC,CAAC,CAAA;YACF,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAA;YAEnD,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACxB,OAAO,KAAK,CAAC,CAAC,IAAI,qBAAqB,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;YAC5F,CAAC;YACD,OAAO,QAAQ,CAAA;QACjB,CAAC,CAAC,CAAA;QAEJ,mDAAmD;QACnD,2DAA2D;QAC3D,sDAAsD;QACtD,MAAM,OAAO,GAAG,CAAC,QAAgB,EAAE,QAA4B,EAAuB,EAAE,CACtF,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CACnB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACnB,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAC7B,OAAO,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAA;QACzE,CAAC,CAAC,CACH,CAAA;QAEH,+DAA+D;QAC/D,oEAAoE;QACpE,MAAM,eAAe,GAAG,GAAgD,EAAE,CACxE,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CACnB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACf,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAA;YAC/B,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAA;QACpD,CAAC,CAAC,CACH,CAAA;QAEH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAA+B,CAAA;IAC3E,CAAC,CAAC;CACH,CAAC,CAAA;AAEF,mDAAmD;AACnD,oEAAoE;AACpE,yDAAyD;AACzD,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAC,MAAM,CACjD,cAAc,EACd,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CACzE,CAAA"}
1
+ {"version":3,"file":"PermissionGateLive.js","sourceRoot":"","sources":["../../src/PermissionService/PermissionGateLive.ts"],"names":[],"mappings":"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"}
@@ -13,27 +13,27 @@
13
13
  *
14
14
  * @module
15
15
  */
16
- import { FileSystem } from "@effect/platform";
17
- import { Effect, Schema } from "effect";
16
+ import { Context, Effect, Layer, Schema } from "effect";
17
+ import * as FileSystem from "effect/FileSystem";
18
18
  import { allOperations, getOperationMeta, type OperationName, registerOperation } from "./operations.js";
19
19
  export type { BuiltinOperation, OperationMeta, OperationName } from "./operations.js";
20
20
  export { allOperations, getOperationMeta, registerOperation };
21
- export declare const PermissionState: Schema.Literal<["always_allow", "allow", "deny"]>;
21
+ export declare const PermissionState: Schema.Literals<readonly ["always_allow", "allow", "deny"]>;
22
22
  export type PermissionState = typeof PermissionState.Type;
23
- declare const PermissionService_base: Effect.Service.Class<PermissionService, "PermissionService", {
24
- readonly effect: Effect.Effect<{
25
- check: (operation: OperationName) => Effect.Effect<PermissionState>;
26
- set: (operation: OperationName, state: PermissionState) => Effect.Effect<void>;
27
- getAll: () => Effect.Effect<Record<string, PermissionState>>;
28
- resetAll: () => Effect.Effect<void>;
29
- isAuditEnabled: () => Effect.Effect<boolean>;
30
- getAuditRetention: () => Effect.Effect<number>;
31
- setAudit: (opts: {
32
- enabled?: boolean | undefined;
33
- retentionDays?: number | undefined;
34
- }) => Effect.Effect<void>;
35
- }, never, FileSystem.FileSystem>;
36
- }>;
23
+ export interface PermissionServiceShape {
24
+ readonly check: (operation: OperationName) => Effect.Effect<PermissionState>;
25
+ readonly set: (operation: OperationName, state: PermissionState) => Effect.Effect<void>;
26
+ readonly getAll: () => Effect.Effect<Record<string, PermissionState>>;
27
+ readonly resetAll: () => Effect.Effect<void>;
28
+ readonly isAuditEnabled: () => Effect.Effect<boolean>;
29
+ readonly getAuditRetention: () => Effect.Effect<number>;
30
+ readonly setAudit: (opts: {
31
+ enabled?: boolean | undefined;
32
+ retentionDays?: number | undefined;
33
+ }) => Effect.Effect<void>;
34
+ }
35
+ declare const PermissionService_base: Context.ServiceClass<PermissionService, "PermissionService", PermissionServiceShape>;
37
36
  export declare class PermissionService extends PermissionService_base {
37
+ static readonly Default: Layer.Layer<PermissionService, never, FileSystem.FileSystem>;
38
38
  }
39
39
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/PermissionService/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAU,MAAM,EAAO,MAAM,EAAE,MAAM,QAAQ,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,KAAK,aAAa,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAExG,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACrF,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAA;AAK7D,eAAO,MAAM,eAAe,mDAAkD,CAAA;AAC9E,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;;;2BA6D3B,aAAa,KAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC;yBAGhD,aAAa,SAAS,eAAe,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;sBAShE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;wBAG5C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;8BAMb,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;iCAEnB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;yBAI3C;YAAE,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;YAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;SAAE,KAC1E,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;;;AAzC1B,qBAAa,iBAAkB,SAAQ,sBAuDrC;CAAG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/PermissionService/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAU,OAAO,EAAE,MAAM,EAAE,KAAK,EAAO,MAAM,EAAE,MAAM,QAAQ,CAAA;AACpE,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,KAAK,aAAa,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAExG,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACrF,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAA;AAK7D,eAAO,MAAM,eAAe,6DAAqD,CAAA;AACjF,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AA4CzD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,aAAa,KAAK,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;IAC5E,QAAQ,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACvF,QAAQ,CAAC,MAAM,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAA;IACrE,QAAQ,CAAC,QAAQ,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC5C,QAAQ,CAAC,cAAc,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACrD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACvD,QAAQ,CAAC,QAAQ,EAAE,CACjB,IAAI,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,KACxE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CACzB;;AA4DD,qBAAa,iBAAkB,SAAQ,sBAGf;IACtB,MAAM,CAAC,QAAQ,CAAC,OAAO,+DAAyD;CACjF"}
@@ -13,75 +13,75 @@
13
13
  *
14
14
  * @module
15
15
  */
16
- import { FileSystem } from "@effect/platform";
17
- import { Config, Effect, Ref, Schema } from "effect";
16
+ import { Config, Context, Effect, Layer, Ref, Schema } from "effect";
17
+ import * as FileSystem from "effect/FileSystem";
18
18
  import { allOperations, getOperationMeta, registerOperation } from "./operations.js";
19
19
  export { allOperations, getOperationMeta, registerOperation };
20
20
  // On-disk format. Schema.decodeUnknownSync with defaults means
21
21
  // corrupt or missing files gracefully degrade to empty state (everything prompts).
22
- export const PermissionState = Schema.Literal("always_allow", "allow", "deny");
22
+ export const PermissionState = Schema.Literals(["always_allow", "allow", "deny"]);
23
23
  const AuditConfig = Schema.Struct({
24
- enabled: Schema.Boolean.pipe(Schema.optionalWith({ default: () => false })),
25
- retentionDays: Schema.Number.pipe(Schema.optionalWith({ default: () => 30 }))
24
+ enabled: Schema.Boolean.pipe(Schema.withDecodingDefaultTypeKey(Effect.succeed(false))),
25
+ retentionDays: Schema.Number.pipe(Schema.withDecodingDefaultTypeKey(Effect.succeed(30)))
26
26
  });
27
27
  const PermissionsConfig = Schema.Struct({
28
- permissions: Schema.Record({ key: Schema.String, value: PermissionState }).pipe(Schema.optionalWith({ default: () => ({}) })),
29
- audit: AuditConfig.pipe(Schema.optionalWith({ default: () => Schema.decodeSync(AuditConfig)({}) }))
28
+ permissions: Schema.Record(Schema.String, PermissionState).pipe(Schema.withDecodingDefaultTypeKey(Effect.succeed({}))),
29
+ audit: AuditConfig.pipe(Schema.withDecodingDefaultTypeKey(Effect.succeed(Schema.decodeSync(AuditConfig)({}))))
30
30
  });
31
31
  const decodeConfig = Schema.decodeUnknownSync(PermissionsConfig);
32
- // Uses @effect/platform FileSystem — works in Bun, Node, tests.
32
+ // Uses Effect FileSystem — works in Bun, Node, tests.
33
33
  // Atomic write: write to .tmp, then rename. Prevents corruption on crash.
34
34
  const resolvePermissionsPath = Config.string("HOME").pipe(Config.orElse(() => Config.string("USERPROFILE")), Config.map((h) => `${h}/.codecommit/permissions.json`));
35
35
  const loadFromDisk = (fs, path) => fs.readFileString(path).pipe(Effect.map((content) => decodeConfig(JSON.parse(content))),
36
36
  // Any failure → empty config → everything prompts
37
- Effect.catchAll(() => Effect.succeed(decodeConfig({}))));
37
+ Effect.catchCause(() => Effect.succeed(decodeConfig({}))));
38
38
  const saveToDisk = (fs, path, config) => Effect.gen(function* () {
39
39
  const dir = path.replace(/\/[^/]+$/, "");
40
- yield* fs.makeDirectory(dir, { recursive: true }).pipe(Effect.catchAll(() => Effect.void));
40
+ yield* fs.makeDirectory(dir, { recursive: true }).pipe(Effect.catchCause(() => Effect.void));
41
41
  const tmpPath = `${path}.tmp`;
42
42
  yield* fs.writeFileString(tmpPath, JSON.stringify(config, null, 2));
43
43
  yield* fs.rename(tmpPath, path);
44
- }).pipe(Effect.catchAll(() => Effect.void));
45
- // Effect.Service (not Context.Tag) — auto-generates `.Default` layer.
44
+ }).pipe(Effect.catchCause(() => Effect.void));
45
+ const makePermissionService = Effect.gen(function* () {
46
+ const fs = yield* FileSystem.FileSystem;
47
+ const permPath = yield* resolvePermissionsPath.pipe(Effect.catchCause(() => Effect.succeed("/tmp/.codecommit/permissions.json")));
48
+ // In-memory state. All check() calls read from here.
49
+ // Only set() mutates it AND writes to disk.
50
+ const initial = yield* loadFromDisk(fs, permPath);
51
+ const configRef = yield* Ref.make(initial);
52
+ // O(1) — Ref.get + property lookup. The "allow" default is the key invariant:
53
+ // missing operation → prompt the user.
54
+ const check = (operation) => Ref.get(configRef).pipe(Effect.map((c) => c.permissions[operation] ?? "allow"));
55
+ const set = (operation, state) => Effect.gen(function* () {
56
+ yield* Ref.update(configRef, (c) => ({
57
+ ...c,
58
+ permissions: { ...c.permissions, [operation]: state }
59
+ }));
60
+ yield* saveToDisk(fs, permPath, yield* Ref.get(configRef));
61
+ });
62
+ const getAll = () => Ref.get(configRef).pipe(Effect.map((c) => c.permissions));
63
+ const resetAll = () => Effect.gen(function* () {
64
+ yield* Ref.update(configRef, (c) => ({ ...c, permissions: {} }));
65
+ yield* saveToDisk(fs, permPath, yield* Ref.get(configRef));
66
+ });
67
+ const isAuditEnabled = () => Ref.get(configRef).pipe(Effect.map((c) => c.audit.enabled));
68
+ const getAuditRetention = () => Ref.get(configRef).pipe(Effect.map((c) => c.audit.retentionDays));
69
+ const setAudit = (opts) => Effect.gen(function* () {
70
+ yield* Ref.update(configRef, (c) => ({
71
+ ...c,
72
+ audit: {
73
+ enabled: opts.enabled ?? c.audit.enabled,
74
+ retentionDays: opts.retentionDays ?? c.audit.retentionDays
75
+ }
76
+ }));
77
+ yield* saveToDisk(fs, permPath, yield* Ref.get(configRef));
78
+ });
79
+ return { check, set, getAll, resetAll, isAuditEnabled, getAuditRetention, setAudit };
80
+ });
81
+ // Context.Service key with an explicit live layer for v4 beta.
46
82
  // The effect block runs once at Layer construction: reads file, creates Ref.
47
83
  // FileSystem comes from the providing layer (PlatformLive in Server.ts).
48
- export class PermissionService extends Effect.Service()("PermissionService", {
49
- effect: Effect.gen(function* () {
50
- const fs = yield* FileSystem.FileSystem;
51
- const permPath = yield* Effect.configProviderWith((p) => p.load(resolvePermissionsPath)).pipe(Effect.catchAll(() => Effect.succeed("/tmp/.codecommit/permissions.json")));
52
- // In-memory state. All check() calls read from here.
53
- // Only set() mutates it AND writes to disk.
54
- const initial = yield* loadFromDisk(fs, permPath);
55
- const configRef = yield* Ref.make(initial);
56
- // O(1) — Ref.get + property lookup. The "allow" default is the key invariant:
57
- // missing operation → prompt the user.
58
- const check = (operation) => Ref.get(configRef).pipe(Effect.map((c) => c.permissions[operation] ?? "allow"));
59
- const set = (operation, state) => Effect.gen(function* () {
60
- yield* Ref.update(configRef, (c) => ({
61
- ...c,
62
- permissions: { ...c.permissions, [operation]: state }
63
- }));
64
- yield* saveToDisk(fs, permPath, yield* Ref.get(configRef));
65
- });
66
- const getAll = () => Ref.get(configRef).pipe(Effect.map((c) => c.permissions));
67
- const resetAll = () => Effect.gen(function* () {
68
- yield* Ref.update(configRef, (c) => ({ ...c, permissions: {} }));
69
- yield* saveToDisk(fs, permPath, yield* Ref.get(configRef));
70
- });
71
- const isAuditEnabled = () => Ref.get(configRef).pipe(Effect.map((c) => c.audit.enabled));
72
- const getAuditRetention = () => Ref.get(configRef).pipe(Effect.map((c) => c.audit.retentionDays));
73
- const setAudit = (opts) => Effect.gen(function* () {
74
- yield* Ref.update(configRef, (c) => ({
75
- ...c,
76
- audit: {
77
- enabled: opts.enabled ?? c.audit.enabled,
78
- retentionDays: opts.retentionDays ?? c.audit.retentionDays
79
- }
80
- }));
81
- yield* saveToDisk(fs, permPath, yield* Ref.get(configRef));
82
- });
83
- return { check, set, getAll, resetAll, isAuditEnabled, getAuditRetention, setAudit };
84
- })
85
- }) {
84
+ export class PermissionService extends Context.Service()("PermissionService") {
85
+ static Default = Layer.effect(PermissionService, makePermissionService);
86
86
  }
87
87
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/PermissionService/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/PermissionService/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACpE,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAsB,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAGxG,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAA;AAE7D,+DAA+D;AAC/D,mFAAmF;AAEnF,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;AAGjF,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,0BAA0B,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACtF,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,0BAA0B,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;CACzF,CAAC,CAAA;AAEF,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IACtC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,IAAI,CAC7D,MAAM,CAAC,0BAA0B,CAAC,MAAM,CAAC,OAAO,CAAC,EAAqC,CAAC,CAAC,CACzF;IACD,KAAK,EAAE,WAAW,CAAC,IAAI,CACrB,MAAM,CAAC,0BAA0B,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CACtF;CACF,CAAC,CAAA;AAIF,MAAM,YAAY,GAAG,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAA;AAEhE,sDAAsD;AACtD,0EAA0E;AAE1E,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CACvD,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,EACjD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,+BAA+B,CAAC,CACvD,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,EAAyB,EAAE,IAAY,EAAoC,EAAE,CACjG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAC1D,kDAAkD;AAClD,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAC1D,CAAA;AAEH,MAAM,UAAU,GAAG,CAAC,EAAyB,EAAE,IAAY,EAAE,MAAyB,EAAuB,EAAE,CAC7G,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;IACxC,KAAK,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;IAC5F,MAAM,OAAO,GAAG,GAAG,IAAI,MAAM,CAAA;IAC7B,KAAK,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IACnE,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;AACjC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;AAc/C,MAAM,qBAAqB,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAChD,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,UAAU,CAAA;IACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,sBAAsB,CAAC,IAAI,CACjD,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,CAC7E,CAAA;IACD,qDAAqD;IACrD,4CAA4C;IAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;IACjD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAoB,OAAO,CAAC,CAAA;IAE7D,8EAA8E;IAC9E,uCAAuC;IACvC,MAAM,KAAK,GAAG,CAAC,SAAwB,EAAkC,EAAE,CACzE,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,IAAK,OAAiB,CAAC,CAAC,CAAA;IAE5F,MAAM,GAAG,GAAG,CAAC,SAAwB,EAAE,KAAsB,EAAuB,EAAE,CACpF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACnC,GAAG,CAAC;YACJ,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE;SACtD,CAAC,CAAC,CAAA;QACH,KAAK,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAA;IAC5D,CAAC,CAAC,CAAA;IAEJ,MAAM,MAAM,GAAG,GAAmD,EAAE,CAClE,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;IAE3D,MAAM,QAAQ,GAAG,GAAwB,EAAE,CACzC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QAChE,KAAK,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAA;IAC5D,CAAC,CAAC,CAAA;IAEJ,MAAM,cAAc,GAAG,GAA2B,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;IAEhH,MAAM,iBAAiB,GAAG,GAA0B,EAAE,CACpD,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAA;IAEnE,MAAM,QAAQ,GAAG,CACf,IAA2E,EACtD,EAAE,CACvB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACnC,GAAG,CAAC;YACJ,KAAK,EAAE;gBACL,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO;gBACxC,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,KAAK,CAAC,aAAa;aAC3D;SACF,CAAC,CAAC,CAAA;QACH,KAAK,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAA;IAC5D,CAAC,CAAC,CAAA;IAEJ,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,iBAAiB,EAAE,QAAQ,EAAmC,CAAA;AACvH,CAAC,CAAC,CAAA;AAEF,+DAA+D;AAC/D,6EAA6E;AAC7E,yEAAyE;AACzE,MAAM,OAAO,iBAAkB,SAAQ,OAAO,CAAC,OAAO,EAGnD,CAAC,mBAAmB,CAAC;IACtB,MAAM,CAAU,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAA"}
@@ -5,8 +5,9 @@
5
5
  *
6
6
  * @module
7
7
  */
8
- import { CommandExecutor } from "@effect/platform";
9
- import { Effect } from "effect";
8
+ import { Context, Effect, Layer } from "effect";
9
+ import type { Success } from "effect/Effect";
10
+ import { ChildProcessSpawner } from "effect/unstable/process";
10
11
  import { DockerError } from "../Errors.js";
11
12
  export interface ContainerConfig {
12
13
  readonly Image: string;
@@ -34,24 +35,26 @@ export interface ContainerInfo {
34
35
  }> | null>;
35
36
  };
36
37
  }
37
- declare const DockerService_base: Effect.Service.Class<DockerService, "DockerService", {
38
- readonly effect: Effect.Effect<{
39
- readonly isAvailable: () => Effect.Effect<boolean, never, never>;
40
- readonly pullImage: (image: string) => Effect.Effect<void, DockerError, never>;
41
- readonly createContainer: (config: ContainerConfig) => Effect.Effect<string, DockerError, never>;
42
- readonly startContainer: (containerId: string) => Effect.Effect<void, DockerError, never>;
43
- readonly stopContainer: (containerId: string, timeout?: number) => Effect.Effect<void, DockerError, never>;
44
- readonly removeContainer: (containerId: string) => Effect.Effect<void, DockerError, never>;
45
- readonly inspectContainer: (containerId: string) => Effect.Effect<ContainerInfo, DockerError, never>;
46
- readonly exec: (containerId: string, cmd: ReadonlyArray<string>) => Effect.Effect<string, DockerError, never>;
47
- readonly listContainersByLabel: (label: string, value: string) => Effect.Effect<{
48
- Id: string;
49
- State: string;
50
- Labels: any;
51
- }[], DockerError, never>;
52
- }, never, CommandExecutor.CommandExecutor>;
53
- }>;
38
+ declare const makeDockerService: Effect.Effect<{
39
+ readonly isAvailable: () => Effect.Effect<boolean, import("effect/PlatformError").PlatformError, never>;
40
+ readonly pullImage: (image: string) => Effect.Effect<void, DockerError, never>;
41
+ readonly createContainer: (config: ContainerConfig) => Effect.Effect<string, DockerError, never>;
42
+ readonly startContainer: (containerId: string) => Effect.Effect<void, DockerError, never>;
43
+ readonly stopContainer: (containerId: string, timeout?: number) => Effect.Effect<void, DockerError, never>;
44
+ readonly removeContainer: (containerId: string) => Effect.Effect<void, DockerError, never>;
45
+ readonly inspectContainer: (containerId: string) => Effect.Effect<ContainerInfo, DockerError, never>;
46
+ readonly exec: (containerId: string, cmd: ReadonlyArray<string>) => Effect.Effect<string, DockerError, never>;
47
+ readonly listContainersByLabel: (label: string, value: string) => Effect.Effect<{
48
+ Id: string;
49
+ State: string;
50
+ Labels: any;
51
+ }[], DockerError, never>;
52
+ }, never, ChildProcessSpawner.ChildProcessSpawner>;
53
+ export interface DockerServiceShape extends Success<typeof makeDockerService> {
54
+ }
55
+ declare const DockerService_base: Context.ServiceClass<DockerService, "DockerService", DockerServiceShape>;
54
56
  export declare class DockerService extends DockerService_base {
57
+ static readonly Default: Layer.Layer<DockerService, never, ChildProcessSpawner.ChildProcessSpawner>;
55
58
  }
56
59
  export {};
57
60
  //# sourceMappingURL=DockerService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DockerService.d.ts","sourceRoot":"","sources":["../../src/SandboxService/DockerService.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAW,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1C,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;IAC5D,QAAQ,CAAC,UAAU,EAAE;QACnB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;QACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC,CAAA;QAC1E,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAC9B,CAAA;IACD,QAAQ,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACzC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;QACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;KAC1B,CAAA;IACD,QAAQ,CAAC,eAAe,EAAE;QACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC,GAAG,IAAI,CAAC,CAAA;KAC3E,CAAA;CACF;;;;oCA4BwB,MAAM;2CAEC,eAAe;+CAqCX,MAAM;8CAGP,MAAM;gDAGJ,MAAM;iDAGL,MAAM;qCAelB,MAAM,OAAO,aAAa,CAAC,MAAM,CAAC;gDAGvB,MAAM,SAAS,MAAM;;;;;;;AA/E1D,qBAAa,aAAc,SAAQ,kBAqGjC;CAAG"}
1
+ {"version":3,"file":"DockerService.d.ts","sourceRoot":"","sources":["../../src/SandboxService/DockerService.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAgB,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1C,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;IAC5D,QAAQ,CAAC,UAAU,EAAE;QACnB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;QACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC,CAAA;QAC1E,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAC9B,CAAA;IACD,QAAQ,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACzC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;QACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;KAC1B,CAAA;IACD,QAAQ,CAAC,eAAe,EAAE;QACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC,GAAG,IAAI,CAAC,CAAA;KAC3E,CAAA;CACF;AAUD,QAAA,MAAM,iBAAiB;;gCAYA,MAAM;uCAEC,eAAe;2CAqCX,MAAM;0CAGP,MAAM;4CAGJ,MAAM;6CAGL,MAAM;iCAoBlB,MAAM,OAAO,aAAa,CAAC,MAAM,CAAC;4CAGvB,MAAM,SAAS,MAAM;;;;;kDAqBtD,CAAA;AAEF,MAAM,WAAW,kBAAmB,SAAQ,OAAO,CAAC,OAAO,iBAAiB,CAAC;CAAG;;AAEhF,qBAAa,aAAc,SAAQ,kBAGf;IAClB,MAAM,CAAC,QAAQ,CAAC,OAAO,6EAAiD;CACzE"}