@knpkv/codecommit-core 0.7.1 → 0.9.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 (359) hide show
  1. package/README.md +36 -0
  2. package/dist/AwsClient/AwsClientGated.d.ts +1 -1
  3. package/dist/AwsClient/AwsClientGated.d.ts.map +1 -1
  4. package/dist/AwsClient/AwsClientGated.js +39 -19
  5. package/dist/AwsClient/AwsClientGated.js.map +1 -1
  6. package/dist/AwsClient/approvalRuleContent.d.ts +15 -0
  7. package/dist/AwsClient/approvalRuleContent.d.ts.map +1 -0
  8. package/dist/AwsClient/approvalRuleContent.js +39 -0
  9. package/dist/AwsClient/approvalRuleContent.js.map +1 -0
  10. package/dist/AwsClient/createApprovalRule.d.ts +1 -1
  11. package/dist/AwsClient/createApprovalRule.d.ts.map +1 -1
  12. package/dist/AwsClient/createApprovalRule.js +2 -2
  13. package/dist/AwsClient/createApprovalRule.js.map +1 -1
  14. package/dist/AwsClient/createPullRequest.d.ts +1 -1
  15. package/dist/AwsClient/createPullRequest.d.ts.map +1 -1
  16. package/dist/AwsClient/createPullRequest.js +1 -1
  17. package/dist/AwsClient/createPullRequest.js.map +1 -1
  18. package/dist/AwsClient/deleteApprovalRule.d.ts +1 -1
  19. package/dist/AwsClient/deleteApprovalRule.d.ts.map +1 -1
  20. package/dist/AwsClient/deleteApprovalRule.js +2 -2
  21. package/dist/AwsClient/deleteApprovalRule.js.map +1 -1
  22. package/dist/AwsClient/getCallerIdentity.d.ts +1 -1
  23. package/dist/AwsClient/getCallerIdentity.d.ts.map +1 -1
  24. package/dist/AwsClient/getCallerIdentity.js +1 -1
  25. package/dist/AwsClient/getCallerIdentity.js.map +1 -1
  26. package/dist/AwsClient/getCommentsForPullRequest.d.ts +2 -1
  27. package/dist/AwsClient/getCommentsForPullRequest.d.ts.map +1 -1
  28. package/dist/AwsClient/getCommentsForPullRequest.js +29 -29
  29. package/dist/AwsClient/getCommentsForPullRequest.js.map +1 -1
  30. package/dist/AwsClient/getDifferences.d.ts +2 -13
  31. package/dist/AwsClient/getDifferences.d.ts.map +1 -1
  32. package/dist/AwsClient/getDifferences.js +1 -1
  33. package/dist/AwsClient/getDifferences.js.map +1 -1
  34. package/dist/AwsClient/getPullRequest.d.ts +1 -1
  35. package/dist/AwsClient/getPullRequest.d.ts.map +1 -1
  36. package/dist/AwsClient/getPullRequest.js +11 -11
  37. package/dist/AwsClient/getPullRequest.js.map +1 -1
  38. package/dist/AwsClient/getPullRequests.d.ts +11 -27
  39. package/dist/AwsClient/getPullRequests.d.ts.map +1 -1
  40. package/dist/AwsClient/getPullRequests.js +60 -109
  41. package/dist/AwsClient/getPullRequests.js.map +1 -1
  42. package/dist/AwsClient/index.d.ts +5 -5
  43. package/dist/AwsClient/index.d.ts.map +1 -1
  44. package/dist/AwsClient/index.js +16 -28
  45. package/dist/AwsClient/index.js.map +1 -1
  46. package/dist/AwsClient/internal.d.ts +38 -105
  47. package/dist/AwsClient/internal.d.ts.map +1 -1
  48. package/dist/AwsClient/internal.js +36 -21
  49. package/dist/AwsClient/internal.js.map +1 -1
  50. package/dist/AwsClient/listBranches.d.ts +2 -1
  51. package/dist/AwsClient/listBranches.d.ts.map +1 -1
  52. package/dist/AwsClient/listBranches.js +6 -11
  53. package/dist/AwsClient/listBranches.js.map +1 -1
  54. package/dist/AwsClient/updateApprovalRule.d.ts +1 -1
  55. package/dist/AwsClient/updateApprovalRule.d.ts.map +1 -1
  56. package/dist/AwsClient/updateApprovalRule.js +2 -2
  57. package/dist/AwsClient/updateApprovalRule.js.map +1 -1
  58. package/dist/AwsClient/updatePullRequestDescription.d.ts +1 -1
  59. package/dist/AwsClient/updatePullRequestDescription.d.ts.map +1 -1
  60. package/dist/AwsClient/updatePullRequestDescription.js +1 -1
  61. package/dist/AwsClient/updatePullRequestDescription.js.map +1 -1
  62. package/dist/AwsClient/updatePullRequestTitle.d.ts +1 -1
  63. package/dist/AwsClient/updatePullRequestTitle.d.ts.map +1 -1
  64. package/dist/AwsClient/updatePullRequestTitle.js +1 -1
  65. package/dist/AwsClient/updatePullRequestTitle.js.map +1 -1
  66. package/dist/AwsClientConfig.d.ts +7 -7
  67. package/dist/AwsClientConfig.d.ts.map +1 -1
  68. package/dist/AwsClientConfig.js +1 -1
  69. package/dist/AwsClientConfig.js.map +1 -1
  70. package/dist/CacheService/CacheError.d.ts +4 -6
  71. package/dist/CacheService/CacheError.d.ts.map +1 -1
  72. package/dist/CacheService/CacheError.js +2 -2
  73. package/dist/CacheService/CacheError.js.map +1 -1
  74. package/dist/CacheService/Database.d.ts +5 -5
  75. package/dist/CacheService/Database.d.ts.map +1 -1
  76. package/dist/CacheService/Database.js +3 -3
  77. package/dist/CacheService/Database.js.map +1 -1
  78. package/dist/CacheService/EventsHub.d.ts +117 -132
  79. package/dist/CacheService/EventsHub.d.ts.map +1 -1
  80. package/dist/CacheService/EventsHub.js +19 -19
  81. package/dist/CacheService/EventsHub.js.map +1 -1
  82. package/dist/CacheService/diff.d.ts.map +1 -1
  83. package/dist/CacheService/migrations/0001_initial.d.ts +2 -2
  84. package/dist/CacheService/migrations/0001_initial.d.ts.map +1 -1
  85. package/dist/CacheService/migrations/0001_initial.js +1 -1
  86. package/dist/CacheService/migrations/0001_initial.js.map +1 -1
  87. package/dist/CacheService/migrations/0002_indexes.d.ts +2 -2
  88. package/dist/CacheService/migrations/0002_indexes.d.ts.map +1 -1
  89. package/dist/CacheService/migrations/0002_indexes.js +1 -1
  90. package/dist/CacheService/migrations/0002_indexes.js.map +1 -1
  91. package/dist/CacheService/migrations/0003_add_health_score.d.ts +2 -2
  92. package/dist/CacheService/migrations/0003_add_health_score.d.ts.map +1 -1
  93. package/dist/CacheService/migrations/0003_add_health_score.js +2 -2
  94. package/dist/CacheService/migrations/0003_add_health_score.js.map +1 -1
  95. package/dist/CacheService/migrations/0004_unify_notifications.d.ts +2 -2
  96. package/dist/CacheService/migrations/0004_unify_notifications.d.ts.map +1 -1
  97. package/dist/CacheService/migrations/0004_unify_notifications.js +3 -3
  98. package/dist/CacheService/migrations/0004_unify_notifications.js.map +1 -1
  99. package/dist/CacheService/migrations/0005_add_sandboxes.d.ts +2 -2
  100. package/dist/CacheService/migrations/0005_add_sandboxes.d.ts.map +1 -1
  101. package/dist/CacheService/migrations/0005_add_sandboxes.js +1 -1
  102. package/dist/CacheService/migrations/0005_add_sandboxes.js.map +1 -1
  103. package/dist/CacheService/migrations/0006_sandbox_logs.d.ts +2 -2
  104. package/dist/CacheService/migrations/0006_sandbox_logs.d.ts.map +1 -1
  105. package/dist/CacheService/migrations/0006_sandbox_logs.js +1 -1
  106. package/dist/CacheService/migrations/0006_sandbox_logs.js.map +1 -1
  107. package/dist/CacheService/migrations/0007_stats_columns.d.ts +2 -2
  108. package/dist/CacheService/migrations/0007_stats_columns.d.ts.map +1 -1
  109. package/dist/CacheService/migrations/0007_stats_columns.js +5 -5
  110. package/dist/CacheService/migrations/0007_stats_columns.js.map +1 -1
  111. package/dist/CacheService/migrations/0008_merged_by.d.ts +2 -2
  112. package/dist/CacheService/migrations/0008_merged_by.d.ts.map +1 -1
  113. package/dist/CacheService/migrations/0008_merged_by.js +2 -2
  114. package/dist/CacheService/migrations/0008_merged_by.js.map +1 -1
  115. package/dist/CacheService/migrations/0009_approved_by.d.ts +2 -2
  116. package/dist/CacheService/migrations/0009_approved_by.d.ts.map +1 -1
  117. package/dist/CacheService/migrations/0009_approved_by.js +2 -2
  118. package/dist/CacheService/migrations/0009_approved_by.js.map +1 -1
  119. package/dist/CacheService/migrations/0010_commented_by.d.ts +2 -2
  120. package/dist/CacheService/migrations/0010_commented_by.d.ts.map +1 -1
  121. package/dist/CacheService/migrations/0010_commented_by.js +2 -2
  122. package/dist/CacheService/migrations/0010_commented_by.js.map +1 -1
  123. package/dist/CacheService/migrations/0011_audit_log.d.ts +2 -2
  124. package/dist/CacheService/migrations/0011_audit_log.d.ts.map +1 -1
  125. package/dist/CacheService/migrations/0011_audit_log.js +2 -2
  126. package/dist/CacheService/migrations/0011_audit_log.js.map +1 -1
  127. package/dist/CacheService/migrations/0012_audit_log_indexes.d.ts +2 -2
  128. package/dist/CacheService/migrations/0012_audit_log_indexes.d.ts.map +1 -1
  129. package/dist/CacheService/migrations/0012_audit_log_indexes.js +2 -2
  130. package/dist/CacheService/migrations/0012_audit_log_indexes.js.map +1 -1
  131. package/dist/CacheService/migrations/0013_approval_rules.d.ts +2 -2
  132. package/dist/CacheService/migrations/0013_approval_rules.d.ts.map +1 -1
  133. package/dist/CacheService/migrations/0013_approval_rules.js +2 -2
  134. package/dist/CacheService/migrations/0013_approval_rules.js.map +1 -1
  135. package/dist/CacheService/migrations/0014_approved_by_arns.d.ts +2 -2
  136. package/dist/CacheService/migrations/0014_approved_by_arns.d.ts.map +1 -1
  137. package/dist/CacheService/migrations/0014_approved_by_arns.js +2 -2
  138. package/dist/CacheService/migrations/0014_approved_by_arns.js.map +1 -1
  139. package/dist/CacheService/migrations/0015_repo_account_id.d.ts +2 -2
  140. package/dist/CacheService/migrations/0015_repo_account_id.d.ts.map +1 -1
  141. package/dist/CacheService/migrations/0015_repo_account_id.js +2 -2
  142. package/dist/CacheService/migrations/0015_repo_account_id.js.map +1 -1
  143. package/dist/CacheService/repos/CommentRepo.d.ts +11 -9
  144. package/dist/CacheService/repos/CommentRepo.d.ts.map +1 -1
  145. package/dist/CacheService/repos/CommentRepo.js +26 -29
  146. package/dist/CacheService/repos/CommentRepo.js.map +1 -1
  147. package/dist/CacheService/repos/NotificationRepo.d.ts +36 -34
  148. package/dist/CacheService/repos/NotificationRepo.d.ts.map +1 -1
  149. package/dist/CacheService/repos/NotificationRepo.js +93 -94
  150. package/dist/CacheService/repos/NotificationRepo.js.map +1 -1
  151. package/dist/CacheService/repos/PullRequestRepo/index.d.ts +129 -127
  152. package/dist/CacheService/repos/PullRequestRepo/index.d.ts.map +1 -1
  153. package/dist/CacheService/repos/PullRequestRepo/index.js +19 -19
  154. package/dist/CacheService/repos/PullRequestRepo/index.js.map +1 -1
  155. package/dist/CacheService/repos/PullRequestRepo/internal.d.ts +51 -54
  156. package/dist/CacheService/repos/PullRequestRepo/internal.d.ts.map +1 -1
  157. package/dist/CacheService/repos/PullRequestRepo/internal.js +22 -19
  158. package/dist/CacheService/repos/PullRequestRepo/internal.js.map +1 -1
  159. package/dist/CacheService/repos/PullRequestRepo/mutations.d.ts +12 -12
  160. package/dist/CacheService/repos/PullRequestRepo/mutations.d.ts.map +1 -1
  161. package/dist/CacheService/repos/PullRequestRepo/mutations.js +22 -5
  162. package/dist/CacheService/repos/PullRequestRepo/mutations.js.map +1 -1
  163. package/dist/CacheService/repos/PullRequestRepo/queries.d.ts +108 -108
  164. package/dist/CacheService/repos/PullRequestRepo/queries.d.ts.map +1 -1
  165. package/dist/CacheService/repos/PullRequestRepo/queries.js +17 -6
  166. package/dist/CacheService/repos/PullRequestRepo/queries.js.map +1 -1
  167. package/dist/CacheService/repos/SandboxRepo.d.ts +97 -95
  168. package/dist/CacheService/repos/SandboxRepo.d.ts.map +1 -1
  169. package/dist/CacheService/repos/SandboxRepo.js +49 -48
  170. package/dist/CacheService/repos/SandboxRepo.js.map +1 -1
  171. package/dist/CacheService/repos/StatsRepo/index.d.ts +65 -63
  172. package/dist/CacheService/repos/StatsRepo/index.d.ts.map +1 -1
  173. package/dist/CacheService/repos/StatsRepo/index.js +25 -25
  174. package/dist/CacheService/repos/StatsRepo/index.js.map +1 -1
  175. package/dist/CacheService/repos/StatsRepo/internal.d.ts +8 -13
  176. package/dist/CacheService/repos/StatsRepo/internal.d.ts.map +1 -1
  177. package/dist/CacheService/repos/StatsRepo/internal.js +11 -4
  178. package/dist/CacheService/repos/StatsRepo/internal.js.map +1 -1
  179. package/dist/CacheService/repos/StatsRepo/queries.d.ts +1 -1
  180. package/dist/CacheService/repos/StatsRepo/queries.d.ts.map +1 -1
  181. package/dist/CacheService/repos/StatsRepo/queries.js +8 -0
  182. package/dist/CacheService/repos/StatsRepo/queries.js.map +1 -1
  183. package/dist/CacheService/repos/StatsRepo/reviewerData.d.ts +2 -2
  184. package/dist/CacheService/repos/StatsRepo/reviewerData.d.ts.map +1 -1
  185. package/dist/CacheService/repos/StatsRepo/reviewerData.js +15 -4
  186. package/dist/CacheService/repos/StatsRepo/reviewerData.js.map +1 -1
  187. package/dist/CacheService/repos/SubscriptionRepo.d.ts +16 -14
  188. package/dist/CacheService/repos/SubscriptionRepo.d.ts.map +1 -1
  189. package/dist/CacheService/repos/SubscriptionRepo.js +38 -37
  190. package/dist/CacheService/repos/SubscriptionRepo.js.map +1 -1
  191. package/dist/CacheService/repos/SyncMetadataRepo.d.ts +11 -9
  192. package/dist/CacheService/repos/SyncMetadataRepo.d.ts.map +1 -1
  193. package/dist/CacheService/repos/SyncMetadataRepo.js +23 -23
  194. package/dist/CacheService/repos/SyncMetadataRepo.js.map +1 -1
  195. package/dist/CacheService/repos/commentLocations.d.ts +7 -0
  196. package/dist/CacheService/repos/commentLocations.d.ts.map +1 -0
  197. package/dist/CacheService/repos/commentLocations.js +105 -0
  198. package/dist/CacheService/repos/commentLocations.js.map +1 -0
  199. package/dist/ConfigService/backup.d.ts +2 -2
  200. package/dist/ConfigService/backup.d.ts.map +1 -1
  201. package/dist/ConfigService/backup.js +1 -1
  202. package/dist/ConfigService/backup.js.map +1 -1
  203. package/dist/ConfigService/detectProfiles.d.ts +6 -3
  204. package/dist/ConfigService/detectProfiles.d.ts.map +1 -1
  205. package/dist/ConfigService/detectProfiles.js +11 -6
  206. package/dist/ConfigService/detectProfiles.js.map +1 -1
  207. package/dist/ConfigService/index.d.ts +12 -12
  208. package/dist/ConfigService/index.d.ts.map +1 -1
  209. package/dist/ConfigService/index.js +14 -6
  210. package/dist/ConfigService/index.js.map +1 -1
  211. package/dist/ConfigService/internal.d.ts +41 -137
  212. package/dist/ConfigService/internal.d.ts.map +1 -1
  213. package/dist/ConfigService/internal.js +40 -20
  214. package/dist/ConfigService/internal.js.map +1 -1
  215. package/dist/ConfigService/load.d.ts +25 -28
  216. package/dist/ConfigService/load.d.ts.map +1 -1
  217. package/dist/ConfigService/load.js +12 -28
  218. package/dist/ConfigService/load.js.map +1 -1
  219. package/dist/ConfigService/reset.d.ts +26 -5
  220. package/dist/ConfigService/reset.d.ts.map +1 -1
  221. package/dist/ConfigService/reset.js +10 -16
  222. package/dist/ConfigService/reset.js.map +1 -1
  223. package/dist/ConfigService/save.d.ts +3 -2
  224. package/dist/ConfigService/save.d.ts.map +1 -1
  225. package/dist/ConfigService/save.js +2 -1
  226. package/dist/ConfigService/save.js.map +1 -1
  227. package/dist/ConfigService/validate.d.ts +7 -21
  228. package/dist/ConfigService/validate.d.ts.map +1 -1
  229. package/dist/ConfigService/validate.js +11 -11
  230. package/dist/ConfigService/validate.js.map +1 -1
  231. package/dist/DateUtils.d.ts.map +1 -1
  232. package/dist/Domain.d.ts +177 -377
  233. package/dist/Domain.d.ts.map +1 -1
  234. package/dist/Domain.js +77 -20
  235. package/dist/Domain.js.map +1 -1
  236. package/dist/Errors.d.ts +45 -65
  237. package/dist/Errors.d.ts.map +1 -1
  238. package/dist/Errors.js +20 -20
  239. package/dist/Errors.js.map +1 -1
  240. package/dist/HealthScore.d.ts.map +1 -1
  241. package/dist/HealthScore.js +4 -1
  242. package/dist/HealthScore.js.map +1 -1
  243. package/dist/PRService/index.d.ts +37 -34
  244. package/dist/PRService/index.d.ts.map +1 -1
  245. package/dist/PRService/index.js +45 -45
  246. package/dist/PRService/index.js.map +1 -1
  247. package/dist/PRService/internal.d.ts +86 -118
  248. package/dist/PRService/internal.d.ts.map +1 -1
  249. package/dist/PRService/internal.js +28 -25
  250. package/dist/PRService/internal.js.map +1 -1
  251. package/dist/PRService/refresh.d.ts +1 -1
  252. package/dist/PRService/refresh.d.ts.map +1 -1
  253. package/dist/PRService/refresh.js +10 -8
  254. package/dist/PRService/refresh.js.map +1 -1
  255. package/dist/PRService/refreshDiffs.d.ts +1 -1
  256. package/dist/PRService/refreshDiffs.d.ts.map +1 -1
  257. package/dist/PRService/refreshDiffs.js +9 -6
  258. package/dist/PRService/refreshDiffs.js.map +1 -1
  259. package/dist/PRService/refreshEnrich.d.ts +1 -1
  260. package/dist/PRService/refreshEnrich.d.ts.map +1 -1
  261. package/dist/PRService/refreshEnrich.js +15 -12
  262. package/dist/PRService/refreshEnrich.js.map +1 -1
  263. package/dist/PRService/refreshFetch.d.ts.map +1 -1
  264. package/dist/PRService/refreshFetch.js +14 -14
  265. package/dist/PRService/refreshFetch.js.map +1 -1
  266. package/dist/PRService/refreshHistory.d.ts +1 -1
  267. package/dist/PRService/refreshHistory.d.ts.map +1 -1
  268. package/dist/PRService/refreshHistory.js +19 -11
  269. package/dist/PRService/refreshHistory.js.map +1 -1
  270. package/dist/PRService/refreshResolve.d.ts +7 -7
  271. package/dist/PRService/refreshResolve.d.ts.map +1 -1
  272. package/dist/PRService/refreshResolve.js +24 -14
  273. package/dist/PRService/refreshResolve.js.map +1 -1
  274. package/dist/PRService/refreshScore.d.ts.map +1 -1
  275. package/dist/PRService/refreshScore.js +5 -5
  276. package/dist/PRService/refreshScore.js.map +1 -1
  277. package/dist/PRService/refreshSinglePR.d.ts +4 -1
  278. package/dist/PRService/refreshSinglePR.d.ts.map +1 -1
  279. package/dist/PRService/refreshSinglePR.js +96 -85
  280. package/dist/PRService/refreshSinglePR.js.map +1 -1
  281. package/dist/PRService/setAllAccounts.d.ts.map +1 -1
  282. package/dist/PRService/setAllAccounts.js +5 -2
  283. package/dist/PRService/setAllAccounts.js.map +1 -1
  284. package/dist/PRService/toggleAccount.d.ts.map +1 -1
  285. package/dist/PRService/toggleAccount.js +5 -2
  286. package/dist/PRService/toggleAccount.js.map +1 -1
  287. package/dist/PermissionService/AuditLog.d.ts +30 -32
  288. package/dist/PermissionService/AuditLog.d.ts.map +1 -1
  289. package/dist/PermissionService/AuditLog.js +93 -90
  290. package/dist/PermissionService/AuditLog.js.map +1 -1
  291. package/dist/PermissionService/PermissionGate.d.ts +8 -21
  292. package/dist/PermissionService/PermissionGate.d.ts.map +1 -1
  293. package/dist/PermissionService/PermissionGate.js +2 -2
  294. package/dist/PermissionService/PermissionGate.js.map +1 -1
  295. package/dist/PermissionService/PermissionGateLive.d.ts +7 -11
  296. package/dist/PermissionService/PermissionGateLive.d.ts.map +1 -1
  297. package/dist/PermissionService/PermissionGateLive.js +49 -49
  298. package/dist/PermissionService/PermissionGateLive.js.map +1 -1
  299. package/dist/PermissionService/index.d.ts +17 -17
  300. package/dist/PermissionService/index.d.ts.map +1 -1
  301. package/dist/PermissionService/index.js +52 -50
  302. package/dist/PermissionService/index.js.map +1 -1
  303. package/dist/PermissionService/operations.d.ts +1 -19
  304. package/dist/PermissionService/operations.d.ts.map +1 -1
  305. package/dist/PermissionService/operations.js.map +1 -1
  306. package/dist/ReadClient/ReadClient.d.ts +31 -0
  307. package/dist/ReadClient/ReadClient.d.ts.map +1 -0
  308. package/dist/ReadClient/ReadClient.js +209 -0
  309. package/dist/ReadClient/ReadClient.js.map +1 -0
  310. package/dist/ReadClient/ReadProvider.d.ts +55 -0
  311. package/dist/ReadClient/ReadProvider.d.ts.map +1 -0
  312. package/dist/ReadClient/ReadProvider.js +51 -0
  313. package/dist/ReadClient/ReadProvider.js.map +1 -0
  314. package/dist/ReadClient/classification.d.ts +13 -0
  315. package/dist/ReadClient/classification.d.ts.map +1 -0
  316. package/dist/ReadClient/classification.js +35 -0
  317. package/dist/ReadClient/classification.js.map +1 -0
  318. package/dist/ReadClient/errors.d.ts +29 -0
  319. package/dist/ReadClient/errors.d.ts.map +1 -0
  320. package/dist/ReadClient/errors.js +21 -0
  321. package/dist/ReadClient/errors.js.map +1 -0
  322. package/dist/ReadClient/index.d.ts +7 -0
  323. package/dist/ReadClient/index.d.ts.map +1 -0
  324. package/dist/ReadClient/index.js +7 -0
  325. package/dist/ReadClient/index.js.map +1 -0
  326. package/dist/ReadClient/models.d.ts +104 -0
  327. package/dist/ReadClient/models.d.ts.map +1 -0
  328. package/dist/ReadClient/models.js +93 -0
  329. package/dist/ReadClient/models.js.map +1 -0
  330. package/dist/SandboxService/DockerService.d.ts +38 -19
  331. package/dist/SandboxService/DockerService.d.ts.map +1 -1
  332. package/dist/SandboxService/DockerService.js +90 -70
  333. package/dist/SandboxService/DockerService.js.map +1 -1
  334. package/dist/SandboxService/PluginService.d.ts +11 -8
  335. package/dist/SandboxService/PluginService.d.ts.map +1 -1
  336. package/dist/SandboxService/PluginService.js +17 -16
  337. package/dist/SandboxService/PluginService.js.map +1 -1
  338. package/dist/SandboxService/SandboxService.d.ts +78 -76
  339. package/dist/SandboxService/SandboxService.d.ts.map +1 -1
  340. package/dist/SandboxService/SandboxService.js +236 -226
  341. package/dist/SandboxService/SandboxService.js.map +1 -1
  342. package/dist/SandboxService/index.d.ts +0 -1
  343. package/dist/SandboxService/index.d.ts.map +1 -1
  344. package/dist/SandboxService/index.js +0 -1
  345. package/dist/SandboxService/index.js.map +1 -1
  346. package/dist/StatsService/WeeklyStats.d.ts +112 -112
  347. package/dist/StatsService/index.d.ts +4 -9
  348. package/dist/StatsService/index.d.ts.map +1 -1
  349. package/dist/StatsService/index.js +113 -112
  350. package/dist/StatsService/index.js.map +1 -1
  351. package/dist/index.d.ts +2 -2
  352. package/dist/index.d.ts.map +1 -1
  353. package/dist/index.js +2 -2
  354. package/dist/index.js.map +1 -1
  355. package/package.json +12 -12
  356. package/dist/SandboxService/plugins/ClaudeCodePlugin.d.ts +0 -18
  357. package/dist/SandboxService/plugins/ClaudeCodePlugin.d.ts.map +0 -1
  358. package/dist/SandboxService/plugins/ClaudeCodePlugin.js +0 -24
  359. package/dist/SandboxService/plugins/ClaudeCodePlugin.js.map +0 -1
@@ -6,21 +6,20 @@
6
6
  *
7
7
  * @module
8
8
  */
9
- import { Command, FileSystem } from "@effect/platform";
10
- import { Cause, Clock, Config, Duration, Effect, Option, Random, Schedule, Stream } from "effect";
9
+ import { Cause, Clock, Config, Context, Duration, Effect, Layer, Option, Predicate, Random, Schedule, Stream } from "effect";
10
+ import * as FileSystem from "effect/FileSystem";
11
+ import { ChildProcess } from "effect/unstable/process";
11
12
  import { SandboxRepo } from "../CacheService/repos/SandboxRepo.js";
12
13
  import { ConfigService, defaultSandboxConfig } from "../ConfigService/index.js";
13
14
  import { PullRequestId, RepositoryName, SandboxId } from "../Domain.js";
14
15
  import { SandboxError } from "../Errors.js";
15
16
  import { DockerService } from "./DockerService.js";
16
- import { makeClaudeCodePlugin } from "./plugins/ClaudeCodePlugin.js";
17
17
  import { PluginService } from "./PluginService.js";
18
18
  const SANDBOX_BASE_PORT = 18080;
19
19
  const homeDir = Config.string("HOME").pipe(Config.orElse(() => Config.string("USERPROFILE")));
20
20
  const sandboxesDir = homeDir.pipe(Config.map((h) => `${h}/.codecommit/sandboxes`));
21
- const anthropicApiKey = Config.string("ANTHROPIC_API_KEY").pipe(Config.option);
22
21
  const expandHome = (p, home) => p.startsWith("~/") ? `${home}${p.slice(1)}` : p;
23
- const makeContainerConfig = (workspacePath, port, sandboxId, pullRequestId, apiKey, sandboxConfig, homePath) => ({
22
+ const makeContainerConfig = (workspacePath, port, sandboxId, pullRequestId, sandboxConfig, homePath) => ({
24
23
  Image: sandboxConfig.image,
25
24
  Cmd: ["--bind-addr", "0.0.0.0:8080", "--auth", "none", "/workspace"],
26
25
  ExposedPorts: { "8080/tcp": {} },
@@ -32,7 +31,6 @@ const makeContainerConfig = (workspacePath, port, sandboxId, pullRequestId, apiK
32
31
  PortBindings: { "8080/tcp": [{ HostPort: String(port) }] }
33
32
  },
34
33
  Env: [
35
- ...(Option.isSome(apiKey) ? [`ANTHROPIC_API_KEY=${apiKey.value}`] : []),
36
34
  ...Object.entries(sandboxConfig.env).map(([k, v]) => `${k}=${v}`)
37
35
  ],
38
36
  Labels: {
@@ -40,233 +38,245 @@ const makeContainerConfig = (workspacePath, port, sandboxId, pullRequestId, apiK
40
38
  "codecommit.sandbox.pr": pullRequestId
41
39
  }
42
40
  });
43
- export class SandboxService extends Effect.Service()("SandboxService", {
44
- dependencies: [SandboxRepo.Default, DockerService.Default, PluginService.Default],
45
- effect: Effect.gen(function* () {
46
- const repo = yield* SandboxRepo;
47
- const docker = yield* DockerService;
48
- const plugins = yield* PluginService;
49
- const configService = yield* ConfigService;
50
- const homePath = yield* homeDir.pipe(Effect.orDie);
51
- const basePath = yield* sandboxesDir.pipe(Effect.orDie);
52
- const apiKey = yield* anthropicApiKey.pipe(Effect.orDie);
53
- const loadSandboxConfig = configService.load.pipe(Effect.map((c) => c.sandbox), Effect.catchAll(() => Effect.succeed(defaultSandboxConfig)));
54
- // Register built-in plugins conditionally based on config
55
- yield* Effect.gen(function* () {
56
- const sandboxCfg = yield* loadSandboxConfig;
57
- if (sandboxCfg.enableClaudeCode) {
58
- yield* plugins.register(makeClaudeCodePlugin((containerId, cmd) => docker.exec(containerId, cmd).pipe(Effect.catchAll(() => Effect.void))));
41
+ const makeSandboxService = Effect.gen(function* () {
42
+ const repo = yield* SandboxRepo;
43
+ const docker = yield* DockerService;
44
+ const plugins = yield* PluginService;
45
+ const configService = yield* ConfigService;
46
+ const homePath = yield* homeDir.pipe(Effect.orDie);
47
+ const basePath = yield* sandboxesDir.pipe(Effect.orDie);
48
+ const loadSandboxConfig = configService.load.pipe(Effect.map((config) => config.sandbox), Effect.catchCause(() => Effect.succeed(defaultSandboxConfig)));
49
+ const updateStatus = (id, status, extra) => repo.updateStatus(id, status, extra);
50
+ const progress = (id, detail) => Clock.currentTimeMillis.pipe(Effect.flatMap((ms) => {
51
+ const ts = new Date(ms).toISOString();
52
+ return repo.updateDetail(id, detail).pipe(Effect.tap(() => repo.appendLog(id, `[${ts}] ${detail}`)), Effect.tap(() => Effect.logInfo(`Sandbox ${id}: ${detail}`)));
53
+ }));
54
+ const allocatePort = () => Random.nextIntBetween(SANDBOX_BASE_PORT, SANDBOX_BASE_PORT + 1000);
55
+ const makeSandboxContext = (row) => ({
56
+ sandboxId: SandboxId.make(row.id),
57
+ containerId: row.containerId ?? "",
58
+ workspacePath: row.workspacePath,
59
+ port: row.port ?? 0,
60
+ pr: {
61
+ id: PullRequestId.make(row.pullRequestId),
62
+ repositoryName: RepositoryName.make(row.repositoryName),
63
+ sourceBranch: row.sourceBranch
64
+ }
65
+ });
66
+ const service = {
67
+ create: (params) => Effect.gen(function* () {
68
+ // Singleton check — one active sandbox per PR
69
+ const existing = yield* repo.findByPr(params.awsAccountId, params.pullRequestId);
70
+ if (Option.isSome(existing)) {
71
+ return existing.value;
59
72
  }
60
- });
61
- const updateStatus = (id, status, extra) => repo.updateStatus(id, status, extra);
62
- const progress = (id, detail) => Clock.currentTimeMillis.pipe(Effect.flatMap((ms) => {
63
- const ts = new Date(ms).toISOString();
64
- return repo.updateDetail(id, detail).pipe(Effect.tap(() => repo.appendLog(id, `[${ts}] ${detail}`)), Effect.tap(() => Effect.logInfo(`Sandbox ${id}: ${detail}`)));
65
- }));
66
- const allocatePort = () => Random.nextIntBetween(SANDBOX_BASE_PORT, SANDBOX_BASE_PORT + 1000);
67
- const makeSandboxContext = (row) => ({
68
- sandboxId: SandboxId.make(row.id),
69
- containerId: row.containerId ?? "",
70
- workspacePath: row.workspacePath,
71
- port: row.port ?? 0,
72
- pr: {
73
- id: PullRequestId.make(row.pullRequestId),
74
- repositoryName: RepositoryName.make(row.repositoryName),
75
- sourceBranch: row.sourceBranch
76
- }
77
- });
78
- return {
79
- create: (params) => Effect.gen(function* () {
80
- // Singleton check — one active sandbox per PR
81
- const existing = yield* repo.findByPr(params.awsAccountId, params.pullRequestId);
82
- if (Option.isSome(existing)) {
83
- return existing.value;
84
- }
85
- const nowMs = yield* Clock.currentTimeMillis;
86
- const rand = yield* Random.nextIntBetween(0, 2176782336);
87
- const id = SandboxId.make(`sbx-${nowMs}-${rand.toString(36).padStart(6, "0")}`);
88
- const port = yield* allocatePort();
89
- const workspacePath = `${basePath}/${id}`;
90
- const now = new Date(nowMs).toISOString();
91
- yield* repo.insert({
92
- id,
93
- pullRequestId: params.pullRequestId,
94
- awsAccountId: params.awsAccountId,
95
- repositoryName: params.repositoryName,
96
- sourceBranch: params.sourceBranch,
97
- workspacePath,
98
- status: "creating",
99
- createdAt: now,
100
- lastActivityAt: now
101
- });
102
- // Fork daemon for async lifecycle
103
- yield* Effect.forkDaemon(Effect.gen(function* () {
104
- const fs = yield* FileSystem.FileSystem;
105
- const log = (detail) => progress(id, detail);
106
- // Load config at creation time
107
- yield* log("Loading sandbox config");
108
- const sandboxCfg = yield* loadSandboxConfig;
109
- // Clone via HTTPS + AWS credential helper
110
- yield* updateStatus(id, "cloning");
111
- yield* fs.makeDirectory(workspacePath, { recursive: true });
112
- const cloneUrl = `https://git-codecommit.${params.region}.amazonaws.com/v1/repos/${params.repositoryName}`;
113
- const branch = params.sourceBranch.replace(/^refs\/heads\//, "");
114
- const depthLabel = sandboxCfg.cloneDepth > 0 ? ` (depth ${sandboxCfg.cloneDepth})` : "";
115
- yield* log(`Cloning ${params.repositoryName}/${branch}${depthLabel}`);
116
- const depthArgs = sandboxCfg.cloneDepth > 0
117
- ? ["--depth", String(sandboxCfg.cloneDepth)]
118
- : [];
119
- const cloneProc = yield* Command.make("git", "-c", "credential.helper=!aws codecommit credential-helper $@", "-c", "credential.UseHttpPath=true", "clone", ...depthArgs, "-b", branch, cloneUrl, workspacePath).pipe(Command.env({ AWS_PROFILE: params.profile, AWS_DEFAULT_REGION: params.region }), Command.stderr("pipe"), Command.start);
73
+ const nowMs = yield* Clock.currentTimeMillis;
74
+ const rand = yield* Random.nextIntBetween(0, 2176782336);
75
+ const id = SandboxId.make(`sbx-${nowMs}-${rand.toString(36).padStart(6, "0")}`);
76
+ const port = yield* allocatePort();
77
+ const workspacePath = `${basePath}/${id}`;
78
+ const now = new Date(nowMs).toISOString();
79
+ yield* repo.insert({
80
+ id,
81
+ pullRequestId: params.pullRequestId,
82
+ awsAccountId: params.awsAccountId,
83
+ repositoryName: params.repositoryName,
84
+ sourceBranch: params.sourceBranch,
85
+ workspacePath,
86
+ status: "creating",
87
+ createdAt: now,
88
+ lastActivityAt: now
89
+ });
90
+ // Fork daemon for async lifecycle
91
+ yield* Effect.forkDetach(Effect.gen(function* () {
92
+ const fs = yield* FileSystem.FileSystem;
93
+ const log = (detail) => progress(id, detail);
94
+ // Load config at creation time
95
+ yield* log("Loading sandbox config");
96
+ const sandboxCfg = yield* loadSandboxConfig;
97
+ // Clone via HTTPS + AWS credential helper
98
+ yield* updateStatus(id, "cloning");
99
+ yield* fs.makeDirectory(workspacePath, { recursive: true });
100
+ const cloneUrl = `https://git-codecommit.${params.region}.amazonaws.com/v1/repos/${params.repositoryName}`;
101
+ const branch = params.sourceBranch.replace(/^refs\/heads\//, "");
102
+ const depthLabel = sandboxCfg.cloneDepth > 0 ? ` (depth ${sandboxCfg.cloneDepth})` : "";
103
+ yield* log(`Cloning ${params.repositoryName}/${branch}${depthLabel}`);
104
+ const depthArgs = sandboxCfg.cloneDepth > 0
105
+ ? ["--depth", String(sandboxCfg.cloneDepth)]
106
+ : [];
107
+ const cloneResult = yield* Effect.gen(function* () {
108
+ const cloneProc = yield* ChildProcess.make("git", [
109
+ "-c",
110
+ "credential.helper=!aws codecommit credential-helper $@",
111
+ "-c",
112
+ "credential.UseHttpPath=true",
113
+ "clone",
114
+ ...depthArgs,
115
+ "-b",
116
+ branch,
117
+ cloneUrl,
118
+ workspacePath
119
+ ], {
120
+ env: { AWS_PROFILE: params.profile, AWS_DEFAULT_REGION: params.region },
121
+ stderr: "pipe"
122
+ });
120
123
  const exitCode = yield* cloneProc.exitCode;
121
- if (exitCode !== 0) {
122
- const stderrChunks = yield* Stream.runCollect(cloneProc.stderr);
123
- const stderrText = Array.from(stderrChunks).map((c) => new TextDecoder().decode(c)).join("").trim();
124
- yield* log(`Clone failed: ${stderrText}`);
125
- yield* updateStatus(id, "error", { error: stderrText || `git clone failed (exit ${exitCode})` });
126
- return;
127
- }
128
- yield* log("Clone complete");
129
- // Pull image
130
- yield* updateStatus(id, "starting");
131
- yield* log(`Pulling image ${sandboxCfg.image}`);
132
- yield* docker.pullImage(sandboxCfg.image).pipe(Effect.tap(() => log("Image ready")), Effect.catchAll(() => log("Image pull skipped (using cached)")));
133
- // Create + start container
134
- yield* log("Creating container");
135
- const containerConfig = makeContainerConfig(workspacePath, port, id, params.pullRequestId, apiKey, sandboxCfg, homePath);
136
- const containerId = yield* docker.createContainer(containerConfig);
137
- const cid = containerId.trim();
138
- yield* log(`Container ${cid.slice(0, 12)} created, starting`);
139
- yield* docker.startContainer(cid);
140
- yield* updateStatus(id, "starting", { containerId: cid, port });
141
- yield* log(`Container started on port ${port}`);
142
- // Fix ownership of dirs that Docker may have created as root (from volume mounts)
143
- yield* docker.exec(cid, [
144
- "sudo",
145
- "chown",
146
- "-R",
147
- "coder:coder",
148
- "/home/coder/.local"
149
- ]).pipe(Effect.catchAll(() => Effect.void));
150
- // Wait for code-server to be ready (poll health)
151
- yield* log("Waiting for code-server health check");
152
- yield* docker.exec(cid, ["curl", "-sf", "http://localhost:8080/healthz"]).pipe(Effect.retry(Schedule.recurs(30).pipe(Schedule.intersect(Schedule.spaced(Duration.seconds(1))))), Effect.tap(() => log("code-server ready")), Effect.tapError((e) => log(`Health check failed: ${String(e)}`)), Effect.catchAll(() => Effect.void));
153
- // Run plugin hooks
154
- const row = yield* repo.findById(id);
155
- const ctx = makeSandboxContext(row);
156
- yield* log("Running plugin hooks");
157
- yield* plugins.executeHook("onSandboxCreate", ctx);
158
- yield* plugins.executeHook("onSandboxReady", ctx);
159
- // Install configured extensions
160
- if (sandboxCfg.extensions.length > 0) {
161
- yield* log(`Installing ${sandboxCfg.extensions.length} extension(s)`);
162
- yield* Effect.forEach(sandboxCfg.extensions, (ext) => log(`Installing extension: ${ext}`).pipe(Effect.zipRight(docker.exec(cid, ["code-server", "--install-extension", ext])), Effect.tap((output) => log(`Extension installed: ${ext}${output ? `\n${output.trim()}` : ""}`)), Effect.tapError((e) => log(`Extension failed: ${ext} — ${String(e)}`)), Effect.catchAll(() => Effect.void)), { discard: true });
163
- }
164
- // Run configured setup commands
165
- if (sandboxCfg.setupCommands.length > 0) {
166
- yield* log(`Running ${sandboxCfg.setupCommands.length} setup command(s)`);
167
- yield* Effect.forEach(sandboxCfg.setupCommands, (cmd, i) => log(`[${i + 1}/${sandboxCfg.setupCommands.length}] ${cmd}`).pipe(Effect.zipRight(docker.exec(cid, ["sh", "-c", cmd])), Effect.tap((output) => log(`Command done: ${cmd.slice(0, 60)}${output ? `\n${output.trim()}` : ""}`)), Effect.tapError((e) => log(`Command failed: ${cmd.slice(0, 60)} — ${String(e)}`)), Effect.catchAll(() => Effect.void)), { discard: true });
168
- }
169
- yield* updateStatus(id, "running");
170
- yield* log("Sandbox ready");
171
- }).pipe(Effect.catchAllCause((cause) => Effect.gen(function* () {
172
- yield* Effect.logError(`Sandbox ${id} creation failed`, cause);
173
- const squashed = Cause.squash(cause);
174
- const errorDetail = squashed instanceof Error ? squashed.message : String(squashed);
175
- yield* updateStatus(id, "error", { error: errorDetail.slice(0, 500) }).pipe(Effect.catchAll((statusErr) => Effect.logError("Failed to update sandbox error status", statusErr)));
176
- }))));
177
- return yield* repo.findById(id);
178
- }).pipe(Effect.mapError((cause) => new SandboxError({ message: "Failed to create sandbox", cause }))),
179
- get: (id) => repo.findById(id).pipe(Effect.mapError((cause) => new SandboxError({ sandboxId: id, message: "Sandbox not found", cause }))),
180
- list: () => repo.findActive(),
181
- listAll: () => repo.findAll(),
182
- stop: (id) => Effect.gen(function* () {
183
- const row = yield* repo.findById(id);
184
- yield* updateStatus(id, "stopping");
185
- if (row.containerId) {
186
- const ctx = makeSandboxContext(row);
187
- yield* plugins.executeHook("onSandboxDestroy", ctx);
188
- yield* docker.stopContainer(row.containerId).pipe(Effect.catchAll(() => Effect.void));
189
- }
190
- yield* updateStatus(id, "stopped");
191
- yield* Effect.logInfo(`Sandbox ${id} stopped`);
192
- }).pipe(Effect.mapError((cause) => new SandboxError({ sandboxId: id, message: "Failed to stop sandbox", cause }))),
193
- restart: (id) => Effect.gen(function* () {
194
- const row = yield* repo.findById(id);
195
- if (!row.containerId) {
196
- return yield* Effect.fail(new SandboxError({ sandboxId: id, message: "No container to restart" }));
124
+ const stderrChunks = yield* Stream.runCollect(cloneProc.stderr);
125
+ const stderrText = Array.from(stderrChunks).map((c) => new TextDecoder().decode(c)).join("").trim();
126
+ return { exitCode, stderrText };
127
+ }).pipe(Effect.scoped);
128
+ if (cloneResult.exitCode !== 0) {
129
+ const stderrText = cloneResult.stderrText;
130
+ yield* log(`Clone failed: ${stderrText}`);
131
+ yield* updateStatus(id, "error", {
132
+ error: stderrText || `git clone failed (exit ${cloneResult.exitCode})`
133
+ });
134
+ return;
197
135
  }
136
+ yield* log("Clone complete");
137
+ // Pull image
198
138
  yield* updateStatus(id, "starting");
199
- yield* progress(id, "Restarting container");
200
- yield* docker.startContainer(row.containerId);
201
- yield* updateStatus(id, "starting", row.port ? { port: row.port } : {});
202
- yield* progress(id, "Waiting for code-server health check");
203
- yield* docker.exec(row.containerId, ["curl", "-sf", "http://localhost:8080/healthz"]).pipe(Effect.retry(Schedule.recurs(30).pipe(Schedule.intersect(Schedule.spaced(Duration.seconds(1))))), Effect.tap(() => progress(id, "code-server ready")), Effect.catchAll(() => Effect.void));
204
- const ctx = makeSandboxContext(yield* repo.findById(id));
139
+ yield* log(`Pulling image ${sandboxCfg.image}`);
140
+ yield* docker.pullImage(sandboxCfg.image).pipe(Effect.tap(() => log("Image ready")), Effect.catchIf(() => true, () => log("Image pull skipped (using cached)")));
141
+ // Create + start container
142
+ yield* log("Creating container");
143
+ const containerConfig = makeContainerConfig(workspacePath, port, id, params.pullRequestId, sandboxCfg, homePath);
144
+ const containerId = yield* docker.createContainer(containerConfig);
145
+ const cid = containerId.trim();
146
+ yield* log(`Container ${cid.slice(0, 12)} created, starting`);
147
+ yield* docker.startContainer(cid);
148
+ yield* updateStatus(id, "starting", { containerId: cid, port });
149
+ yield* log(`Container started on port ${port}`);
150
+ // Fix ownership of dirs that Docker may have created as root (from volume mounts)
151
+ yield* docker.exec(cid, [
152
+ "sudo",
153
+ "chown",
154
+ "-R",
155
+ "coder:coder",
156
+ "/home/coder/.local"
157
+ ]).pipe(Effect.catchIf(() => true, () => Effect.void));
158
+ // Wait for code-server to be ready (poll health)
159
+ yield* log("Waiting for code-server health check");
160
+ yield* docker.exec(cid, ["curl", "-sf", "http://localhost:8080/healthz"]).pipe(Effect.retry(Schedule.max([Schedule.recurs(30), Schedule.spaced(Duration.seconds(1))])), Effect.tap(() => log("code-server ready")), Effect.tapError((e) => log(`Health check failed: ${String(e)}`)), Effect.catchIf(() => true, () => Effect.void));
161
+ // Run plugin hooks
162
+ const row = yield* repo.findById(id);
163
+ const ctx = makeSandboxContext(row);
164
+ yield* log("Running plugin hooks");
165
+ yield* plugins.executeHook("onSandboxCreate", ctx);
205
166
  yield* plugins.executeHook("onSandboxReady", ctx);
167
+ // Install configured extensions
168
+ if (sandboxCfg.extensions.length > 0) {
169
+ yield* log(`Installing ${sandboxCfg.extensions.length} extension(s)`);
170
+ yield* Effect.forEach(sandboxCfg.extensions, (ext) => log(`Installing extension: ${ext}`).pipe(Effect.andThen(docker.exec(cid, ["code-server", "--install-extension", ext])), Effect.tap((output) => log(`Extension installed: ${ext}${output ? `\n${output.trim()}` : ""}`)), Effect.tapError((e) => log(`Extension failed: ${ext} — ${String(e)}`)), Effect.catchIf(() => true, () => Effect.void)), { discard: true });
171
+ }
172
+ // Run configured setup commands
173
+ if (sandboxCfg.setupCommands.length > 0) {
174
+ yield* log(`Running ${sandboxCfg.setupCommands.length} setup command(s)`);
175
+ yield* Effect.forEach(sandboxCfg.setupCommands, (cmd, i) => log(`[${i + 1}/${sandboxCfg.setupCommands.length}] ${cmd}`).pipe(Effect.andThen(docker.exec(cid, ["sh", "-c", cmd])), Effect.tap((output) => log(`Command done: ${cmd.slice(0, 60)}${output ? `\n${output.trim()}` : ""}`)), Effect.tapError((e) => log(`Command failed: ${cmd.slice(0, 60)} — ${String(e)}`)), Effect.catchIf(() => true, () => Effect.void)), { discard: true });
176
+ }
206
177
  yield* updateStatus(id, "running");
207
- yield* progress(id, "Sandbox restarted");
208
- yield* Effect.logInfo(`Sandbox ${id} restarted`);
209
- }).pipe(Effect.mapError((cause) => new SandboxError({ sandboxId: id, message: "Failed to restart sandbox", cause }))),
210
- cleanup: (id) => Effect.gen(function* () {
211
- const row = yield* repo.findById(id);
212
- const fs = yield* FileSystem.FileSystem;
213
- if (row.containerId) {
214
- yield* docker.removeContainer(row.containerId).pipe(Effect.catchAll(() => Effect.void));
178
+ yield* log("Sandbox ready");
179
+ }).pipe(Effect.catchCause((cause) => Effect.gen(function* () {
180
+ yield* Effect.logError(`Sandbox ${id} creation failed`, cause);
181
+ const squashed = Cause.squash(cause);
182
+ const errorDetail = Predicate.isError(squashed) ? squashed.message : String(squashed);
183
+ yield* updateStatus(id, "error", { error: errorDetail.slice(0, 500) }).pipe(Effect.catchIf(() => true, (statusErr) => Effect.logError("Failed to update sandbox error status", statusErr)));
184
+ }))));
185
+ return yield* repo.findById(id);
186
+ }).pipe(Effect.mapError((cause) => new SandboxError({ message: "Failed to create sandbox", cause }))),
187
+ get: (id) => repo.findById(id).pipe(Effect.mapError((cause) => new SandboxError({ sandboxId: id, message: "Sandbox not found", cause }))),
188
+ list: () => repo.findActive(),
189
+ listAll: () => repo.findAll(),
190
+ stop: (id) => Effect.gen(function* () {
191
+ const row = yield* repo.findById(id);
192
+ yield* updateStatus(id, "stopping");
193
+ if (row.containerId) {
194
+ const ctx = makeSandboxContext(row);
195
+ yield* plugins.executeHook("onSandboxDestroy", ctx);
196
+ yield* docker.stopContainer(row.containerId).pipe(Effect.catchIf(() => true, () => Effect.void));
197
+ }
198
+ yield* updateStatus(id, "stopped");
199
+ yield* Effect.logInfo(`Sandbox ${id} stopped`);
200
+ }).pipe(Effect.mapError((cause) => new SandboxError({ sandboxId: id, message: "Failed to stop sandbox", cause }))),
201
+ restart: (id) => Effect.gen(function* () {
202
+ const row = yield* repo.findById(id);
203
+ if (!row.containerId) {
204
+ return yield* Effect.fail(new SandboxError({ sandboxId: id, message: "No container to restart" }));
205
+ }
206
+ yield* updateStatus(id, "starting");
207
+ yield* progress(id, "Restarting container");
208
+ yield* docker.startContainer(row.containerId);
209
+ yield* updateStatus(id, "starting", row.port ? { port: row.port } : {});
210
+ yield* progress(id, "Waiting for code-server health check");
211
+ yield* docker.exec(row.containerId, ["curl", "-sf", "http://localhost:8080/healthz"]).pipe(Effect.retry(Schedule.max([Schedule.recurs(30), Schedule.spaced(Duration.seconds(1))])), Effect.tap(() => progress(id, "code-server ready")), Effect.catchIf(() => true, () => Effect.void));
212
+ const ctx = makeSandboxContext(yield* repo.findById(id));
213
+ yield* plugins.executeHook("onSandboxReady", ctx);
214
+ yield* updateStatus(id, "running");
215
+ yield* progress(id, "Sandbox restarted");
216
+ yield* Effect.logInfo(`Sandbox ${id} restarted`);
217
+ }).pipe(Effect.mapError((cause) => new SandboxError({ sandboxId: id, message: "Failed to restart sandbox", cause }))),
218
+ cleanup: (id) => Effect.gen(function* () {
219
+ const row = yield* repo.findById(id);
220
+ const fs = yield* FileSystem.FileSystem;
221
+ if (row.containerId) {
222
+ yield* docker.removeContainer(row.containerId).pipe(Effect.catchIf(() => true, () => Effect.void));
223
+ }
224
+ yield* fs.remove(row.workspacePath, { recursive: true }).pipe(Effect.catchIf(() => true, () => Effect.void));
225
+ yield* repo.delete(id);
226
+ yield* Effect.logInfo(`Sandbox ${id} cleaned up`);
227
+ }).pipe(Effect.mapError((cause) => new SandboxError({ sandboxId: id, message: "Failed to cleanup sandbox", cause }))),
228
+ reconcile: () => Effect.gen(function* () {
229
+ const active = yield* repo.findActive();
230
+ yield* Effect.forEach(active, (row) => Effect.gen(function* () {
231
+ if (!row.containerId) {
232
+ yield* updateStatus(SandboxId.make(row.id), "error", { error: "Orphaned (no container)" });
233
+ return;
215
234
  }
216
- yield* fs.remove(row.workspacePath, { recursive: true }).pipe(Effect.catchAll(() => Effect.void));
217
- yield* repo.delete(id);
218
- yield* Effect.logInfo(`Sandbox ${id} cleaned up`);
219
- }).pipe(Effect.mapError((cause) => new SandboxError({ sandboxId: id, message: "Failed to cleanup sandbox", cause }))),
220
- reconcile: () => Effect.gen(function* () {
221
- const active = yield* repo.findActive();
222
- yield* Effect.forEach(active, (row) => Effect.gen(function* () {
223
- if (!row.containerId) {
224
- yield* updateStatus(SandboxId.make(row.id), "error", { error: "Orphaned (no container)" });
225
- return;
226
- }
227
- const info = yield* docker.inspectContainer(row.containerId).pipe(Effect.catchAll(() => Effect.succeed(null)));
228
- if (!info || !info.State.Running) {
235
+ const info = yield* docker.inspectContainer(row.containerId).pipe(Effect.catchIf(() => true, () => Effect.succeed(null)));
236
+ if (!info || !info.State.Running) {
237
+ yield* updateStatus(SandboxId.make(row.id), "stopped");
238
+ yield* Effect.logInfo(`Reconciled orphaned sandbox ${row.id}`);
239
+ }
240
+ }), { discard: true });
241
+ }).pipe(Effect.catchCause((cause) => Effect.logWarning("Sandbox reconcile failed", cause))),
242
+ gcIdle: (idleTimeout = Duration.minutes(30), cleanupDelay = Duration.hours(24)) => Effect.gen(function* () {
243
+ const all = yield* repo.findAll();
244
+ const now = yield* Clock.currentTimeMillis;
245
+ // Stop idle running sandboxes
246
+ yield* Effect.forEach(all.filter((r) => r.status === "running"), (row) => {
247
+ const lastActivity = new Date(row.lastActivityAt).getTime();
248
+ if (now - lastActivity > Duration.toMillis(idleTimeout)) {
249
+ return Effect.gen(function* () {
250
+ yield* Effect.logInfo(`GC: stopping idle sandbox ${row.id}`);
251
+ if (row.containerId) {
252
+ yield* docker.stopContainer(row.containerId).pipe(Effect.catchIf(() => true, () => Effect.void));
253
+ }
229
254
  yield* updateStatus(SandboxId.make(row.id), "stopped");
230
- yield* Effect.logInfo(`Reconciled orphaned sandbox ${row.id}`);
231
- }
232
- }), { discard: true });
233
- }).pipe(Effect.catchAllCause((cause) => Effect.logWarning("Sandbox reconcile failed", cause))),
234
- gcIdle: (idleTimeout = Duration.minutes(30), cleanupDelay = Duration.hours(24)) => Effect.gen(function* () {
235
- const all = yield* repo.findAll();
236
- const now = yield* Clock.currentTimeMillis;
237
- // Stop idle running sandboxes
238
- yield* Effect.forEach(all.filter((r) => r.status === "running"), (row) => {
239
- const lastActivity = new Date(row.lastActivityAt).getTime();
240
- if (now - lastActivity > Duration.toMillis(idleTimeout)) {
241
- return Effect.gen(function* () {
242
- yield* Effect.logInfo(`GC: stopping idle sandbox ${row.id}`);
243
- if (row.containerId) {
244
- yield* docker.stopContainer(row.containerId).pipe(Effect.catchAll(() => Effect.void));
245
- }
246
- yield* updateStatus(SandboxId.make(row.id), "stopped");
247
- });
248
- }
249
- return Effect.void;
250
- }, { discard: true });
251
- // Cleanup stopped sandboxes past delay
252
- const fs = yield* FileSystem.FileSystem;
253
- yield* Effect.forEach(all.filter((r) => r.status === "stopped" || r.status === "error"), (row) => {
254
- const lastActivity = new Date(row.lastActivityAt).getTime();
255
- if (now - lastActivity > Duration.toMillis(cleanupDelay)) {
256
- return Effect.gen(function* () {
257
- yield* Effect.logInfo(`GC: cleaning up sandbox ${row.id}`);
258
- if (row.containerId) {
259
- yield* docker.removeContainer(row.containerId).pipe(Effect.catchAll(() => Effect.void));
260
- }
261
- yield* fs.remove(row.workspacePath, { recursive: true }).pipe(Effect.catchAll(() => Effect.void));
262
- yield* repo.delete(SandboxId.make(row.id));
263
- });
264
- }
265
- return Effect.void;
266
- }, { discard: true });
267
- }).pipe(Effect.catchAllCause((cause) => Effect.logWarning("Sandbox GC failed", cause)))
268
- };
269
- })
270
- }) {
255
+ });
256
+ }
257
+ return Effect.void;
258
+ }, { discard: true });
259
+ // Cleanup stopped sandboxes past delay
260
+ const fs = yield* FileSystem.FileSystem;
261
+ yield* Effect.forEach(all.filter((r) => r.status === "stopped" || r.status === "error"), (row) => {
262
+ const lastActivity = new Date(row.lastActivityAt).getTime();
263
+ if (now - lastActivity > Duration.toMillis(cleanupDelay)) {
264
+ return Effect.gen(function* () {
265
+ yield* Effect.logInfo(`GC: cleaning up sandbox ${row.id}`);
266
+ if (row.containerId) {
267
+ yield* docker.removeContainer(row.containerId).pipe(Effect.catchIf(() => true, () => Effect.void));
268
+ }
269
+ yield* fs.remove(row.workspacePath, { recursive: true }).pipe(Effect.catchIf(() => true, () => Effect.void));
270
+ yield* repo.delete(SandboxId.make(row.id));
271
+ });
272
+ }
273
+ return Effect.void;
274
+ }, { discard: true });
275
+ }).pipe(Effect.catchCause((cause) => Effect.logWarning("Sandbox GC failed", cause)))
276
+ };
277
+ return service;
278
+ });
279
+ export class SandboxService extends Context.Service()("SandboxService") {
280
+ static Default = Layer.effect(SandboxService, makeSandboxService).pipe(Layer.provide(Layer.mergeAll(SandboxRepo.Default, DockerService.Default, PluginService.Default)));
271
281
  }
272
282
  //# sourceMappingURL=SandboxService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SandboxService.js","sourceRoot":"","sources":["../../src/SandboxService/SandboxService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SandboxService.js","sourceRoot":"","sources":["../../src/SandboxService/SandboxService.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,6 @@
5
5
  */
6
6
  export { DockerService } from "./DockerService.js";
7
7
  export type { ContainerConfig, ContainerInfo } from "./DockerService.js";
8
- export { makeClaudeCodePlugin } from "./plugins/ClaudeCodePlugin.js";
9
8
  export { PluginService } from "./PluginService.js";
10
9
  export type { SandboxContext, SandboxPlugin } from "./PluginService.js";
11
10
  export { SandboxService } from "./SandboxService.js";