@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.
- package/README.md +36 -0
- package/dist/AwsClient/AwsClientGated.d.ts +1 -1
- package/dist/AwsClient/AwsClientGated.d.ts.map +1 -1
- package/dist/AwsClient/AwsClientGated.js +39 -19
- package/dist/AwsClient/AwsClientGated.js.map +1 -1
- package/dist/AwsClient/approvalRuleContent.d.ts +15 -0
- package/dist/AwsClient/approvalRuleContent.d.ts.map +1 -0
- package/dist/AwsClient/approvalRuleContent.js +39 -0
- package/dist/AwsClient/approvalRuleContent.js.map +1 -0
- package/dist/AwsClient/createApprovalRule.d.ts +1 -1
- package/dist/AwsClient/createApprovalRule.d.ts.map +1 -1
- package/dist/AwsClient/createApprovalRule.js +2 -2
- package/dist/AwsClient/createApprovalRule.js.map +1 -1
- package/dist/AwsClient/createPullRequest.d.ts +1 -1
- package/dist/AwsClient/createPullRequest.d.ts.map +1 -1
- package/dist/AwsClient/createPullRequest.js +1 -1
- package/dist/AwsClient/createPullRequest.js.map +1 -1
- package/dist/AwsClient/deleteApprovalRule.d.ts +1 -1
- package/dist/AwsClient/deleteApprovalRule.d.ts.map +1 -1
- package/dist/AwsClient/deleteApprovalRule.js +2 -2
- package/dist/AwsClient/deleteApprovalRule.js.map +1 -1
- package/dist/AwsClient/getCallerIdentity.d.ts +1 -1
- package/dist/AwsClient/getCallerIdentity.d.ts.map +1 -1
- package/dist/AwsClient/getCallerIdentity.js +1 -1
- package/dist/AwsClient/getCallerIdentity.js.map +1 -1
- package/dist/AwsClient/getCommentsForPullRequest.d.ts +2 -1
- package/dist/AwsClient/getCommentsForPullRequest.d.ts.map +1 -1
- package/dist/AwsClient/getCommentsForPullRequest.js +29 -29
- package/dist/AwsClient/getCommentsForPullRequest.js.map +1 -1
- package/dist/AwsClient/getDifferences.d.ts +2 -13
- package/dist/AwsClient/getDifferences.d.ts.map +1 -1
- package/dist/AwsClient/getDifferences.js +1 -1
- package/dist/AwsClient/getDifferences.js.map +1 -1
- package/dist/AwsClient/getPullRequest.d.ts +1 -1
- package/dist/AwsClient/getPullRequest.d.ts.map +1 -1
- package/dist/AwsClient/getPullRequest.js +11 -11
- package/dist/AwsClient/getPullRequest.js.map +1 -1
- package/dist/AwsClient/getPullRequests.d.ts +11 -27
- package/dist/AwsClient/getPullRequests.d.ts.map +1 -1
- package/dist/AwsClient/getPullRequests.js +60 -109
- package/dist/AwsClient/getPullRequests.js.map +1 -1
- package/dist/AwsClient/index.d.ts +5 -5
- package/dist/AwsClient/index.d.ts.map +1 -1
- package/dist/AwsClient/index.js +16 -28
- package/dist/AwsClient/index.js.map +1 -1
- package/dist/AwsClient/internal.d.ts +38 -105
- package/dist/AwsClient/internal.d.ts.map +1 -1
- package/dist/AwsClient/internal.js +36 -21
- package/dist/AwsClient/internal.js.map +1 -1
- package/dist/AwsClient/listBranches.d.ts +2 -1
- package/dist/AwsClient/listBranches.d.ts.map +1 -1
- package/dist/AwsClient/listBranches.js +6 -11
- package/dist/AwsClient/listBranches.js.map +1 -1
- package/dist/AwsClient/updateApprovalRule.d.ts +1 -1
- package/dist/AwsClient/updateApprovalRule.d.ts.map +1 -1
- package/dist/AwsClient/updateApprovalRule.js +2 -2
- package/dist/AwsClient/updateApprovalRule.js.map +1 -1
- package/dist/AwsClient/updatePullRequestDescription.d.ts +1 -1
- package/dist/AwsClient/updatePullRequestDescription.d.ts.map +1 -1
- package/dist/AwsClient/updatePullRequestDescription.js +1 -1
- package/dist/AwsClient/updatePullRequestDescription.js.map +1 -1
- package/dist/AwsClient/updatePullRequestTitle.d.ts +1 -1
- package/dist/AwsClient/updatePullRequestTitle.d.ts.map +1 -1
- package/dist/AwsClient/updatePullRequestTitle.js +1 -1
- package/dist/AwsClient/updatePullRequestTitle.js.map +1 -1
- package/dist/AwsClientConfig.d.ts +7 -7
- package/dist/AwsClientConfig.d.ts.map +1 -1
- package/dist/AwsClientConfig.js +1 -1
- package/dist/AwsClientConfig.js.map +1 -1
- package/dist/CacheService/CacheError.d.ts +4 -6
- package/dist/CacheService/CacheError.d.ts.map +1 -1
- package/dist/CacheService/CacheError.js +2 -2
- package/dist/CacheService/CacheError.js.map +1 -1
- package/dist/CacheService/Database.d.ts +5 -5
- package/dist/CacheService/Database.d.ts.map +1 -1
- package/dist/CacheService/Database.js +3 -3
- package/dist/CacheService/Database.js.map +1 -1
- package/dist/CacheService/EventsHub.d.ts +117 -132
- package/dist/CacheService/EventsHub.d.ts.map +1 -1
- package/dist/CacheService/EventsHub.js +19 -19
- package/dist/CacheService/EventsHub.js.map +1 -1
- package/dist/CacheService/diff.d.ts.map +1 -1
- package/dist/CacheService/migrations/0001_initial.d.ts +2 -2
- package/dist/CacheService/migrations/0001_initial.d.ts.map +1 -1
- package/dist/CacheService/migrations/0001_initial.js +1 -1
- package/dist/CacheService/migrations/0001_initial.js.map +1 -1
- package/dist/CacheService/migrations/0002_indexes.d.ts +2 -2
- package/dist/CacheService/migrations/0002_indexes.d.ts.map +1 -1
- package/dist/CacheService/migrations/0002_indexes.js +1 -1
- package/dist/CacheService/migrations/0002_indexes.js.map +1 -1
- package/dist/CacheService/migrations/0003_add_health_score.d.ts +2 -2
- package/dist/CacheService/migrations/0003_add_health_score.d.ts.map +1 -1
- package/dist/CacheService/migrations/0003_add_health_score.js +2 -2
- package/dist/CacheService/migrations/0003_add_health_score.js.map +1 -1
- package/dist/CacheService/migrations/0004_unify_notifications.d.ts +2 -2
- package/dist/CacheService/migrations/0004_unify_notifications.d.ts.map +1 -1
- package/dist/CacheService/migrations/0004_unify_notifications.js +3 -3
- package/dist/CacheService/migrations/0004_unify_notifications.js.map +1 -1
- package/dist/CacheService/migrations/0005_add_sandboxes.d.ts +2 -2
- package/dist/CacheService/migrations/0005_add_sandboxes.d.ts.map +1 -1
- package/dist/CacheService/migrations/0005_add_sandboxes.js +1 -1
- package/dist/CacheService/migrations/0005_add_sandboxes.js.map +1 -1
- package/dist/CacheService/migrations/0006_sandbox_logs.d.ts +2 -2
- package/dist/CacheService/migrations/0006_sandbox_logs.d.ts.map +1 -1
- package/dist/CacheService/migrations/0006_sandbox_logs.js +1 -1
- package/dist/CacheService/migrations/0006_sandbox_logs.js.map +1 -1
- package/dist/CacheService/migrations/0007_stats_columns.d.ts +2 -2
- package/dist/CacheService/migrations/0007_stats_columns.d.ts.map +1 -1
- package/dist/CacheService/migrations/0007_stats_columns.js +5 -5
- package/dist/CacheService/migrations/0007_stats_columns.js.map +1 -1
- package/dist/CacheService/migrations/0008_merged_by.d.ts +2 -2
- package/dist/CacheService/migrations/0008_merged_by.d.ts.map +1 -1
- package/dist/CacheService/migrations/0008_merged_by.js +2 -2
- package/dist/CacheService/migrations/0008_merged_by.js.map +1 -1
- package/dist/CacheService/migrations/0009_approved_by.d.ts +2 -2
- package/dist/CacheService/migrations/0009_approved_by.d.ts.map +1 -1
- package/dist/CacheService/migrations/0009_approved_by.js +2 -2
- package/dist/CacheService/migrations/0009_approved_by.js.map +1 -1
- package/dist/CacheService/migrations/0010_commented_by.d.ts +2 -2
- package/dist/CacheService/migrations/0010_commented_by.d.ts.map +1 -1
- package/dist/CacheService/migrations/0010_commented_by.js +2 -2
- package/dist/CacheService/migrations/0010_commented_by.js.map +1 -1
- package/dist/CacheService/migrations/0011_audit_log.d.ts +2 -2
- package/dist/CacheService/migrations/0011_audit_log.d.ts.map +1 -1
- package/dist/CacheService/migrations/0011_audit_log.js +2 -2
- package/dist/CacheService/migrations/0011_audit_log.js.map +1 -1
- package/dist/CacheService/migrations/0012_audit_log_indexes.d.ts +2 -2
- package/dist/CacheService/migrations/0012_audit_log_indexes.d.ts.map +1 -1
- package/dist/CacheService/migrations/0012_audit_log_indexes.js +2 -2
- package/dist/CacheService/migrations/0012_audit_log_indexes.js.map +1 -1
- package/dist/CacheService/migrations/0013_approval_rules.d.ts +2 -2
- package/dist/CacheService/migrations/0013_approval_rules.d.ts.map +1 -1
- package/dist/CacheService/migrations/0013_approval_rules.js +2 -2
- package/dist/CacheService/migrations/0013_approval_rules.js.map +1 -1
- package/dist/CacheService/migrations/0014_approved_by_arns.d.ts +2 -2
- package/dist/CacheService/migrations/0014_approved_by_arns.d.ts.map +1 -1
- package/dist/CacheService/migrations/0014_approved_by_arns.js +2 -2
- package/dist/CacheService/migrations/0014_approved_by_arns.js.map +1 -1
- package/dist/CacheService/migrations/0015_repo_account_id.d.ts +2 -2
- package/dist/CacheService/migrations/0015_repo_account_id.d.ts.map +1 -1
- package/dist/CacheService/migrations/0015_repo_account_id.js +2 -2
- package/dist/CacheService/migrations/0015_repo_account_id.js.map +1 -1
- package/dist/CacheService/repos/CommentRepo.d.ts +11 -9
- package/dist/CacheService/repos/CommentRepo.d.ts.map +1 -1
- package/dist/CacheService/repos/CommentRepo.js +26 -29
- package/dist/CacheService/repos/CommentRepo.js.map +1 -1
- package/dist/CacheService/repos/NotificationRepo.d.ts +36 -34
- package/dist/CacheService/repos/NotificationRepo.d.ts.map +1 -1
- package/dist/CacheService/repos/NotificationRepo.js +93 -94
- package/dist/CacheService/repos/NotificationRepo.js.map +1 -1
- package/dist/CacheService/repos/PullRequestRepo/index.d.ts +129 -127
- package/dist/CacheService/repos/PullRequestRepo/index.d.ts.map +1 -1
- package/dist/CacheService/repos/PullRequestRepo/index.js +19 -19
- package/dist/CacheService/repos/PullRequestRepo/index.js.map +1 -1
- package/dist/CacheService/repos/PullRequestRepo/internal.d.ts +51 -54
- package/dist/CacheService/repos/PullRequestRepo/internal.d.ts.map +1 -1
- package/dist/CacheService/repos/PullRequestRepo/internal.js +22 -19
- package/dist/CacheService/repos/PullRequestRepo/internal.js.map +1 -1
- package/dist/CacheService/repos/PullRequestRepo/mutations.d.ts +12 -12
- package/dist/CacheService/repos/PullRequestRepo/mutations.d.ts.map +1 -1
- package/dist/CacheService/repos/PullRequestRepo/mutations.js +22 -5
- package/dist/CacheService/repos/PullRequestRepo/mutations.js.map +1 -1
- package/dist/CacheService/repos/PullRequestRepo/queries.d.ts +108 -108
- package/dist/CacheService/repos/PullRequestRepo/queries.d.ts.map +1 -1
- package/dist/CacheService/repos/PullRequestRepo/queries.js +17 -6
- package/dist/CacheService/repos/PullRequestRepo/queries.js.map +1 -1
- package/dist/CacheService/repos/SandboxRepo.d.ts +97 -95
- package/dist/CacheService/repos/SandboxRepo.d.ts.map +1 -1
- package/dist/CacheService/repos/SandboxRepo.js +49 -48
- package/dist/CacheService/repos/SandboxRepo.js.map +1 -1
- package/dist/CacheService/repos/StatsRepo/index.d.ts +65 -63
- package/dist/CacheService/repos/StatsRepo/index.d.ts.map +1 -1
- package/dist/CacheService/repos/StatsRepo/index.js +25 -25
- package/dist/CacheService/repos/StatsRepo/index.js.map +1 -1
- package/dist/CacheService/repos/StatsRepo/internal.d.ts +8 -13
- package/dist/CacheService/repos/StatsRepo/internal.d.ts.map +1 -1
- package/dist/CacheService/repos/StatsRepo/internal.js +11 -4
- package/dist/CacheService/repos/StatsRepo/internal.js.map +1 -1
- package/dist/CacheService/repos/StatsRepo/queries.d.ts +1 -1
- package/dist/CacheService/repos/StatsRepo/queries.d.ts.map +1 -1
- package/dist/CacheService/repos/StatsRepo/queries.js +8 -0
- package/dist/CacheService/repos/StatsRepo/queries.js.map +1 -1
- package/dist/CacheService/repos/StatsRepo/reviewerData.d.ts +2 -2
- package/dist/CacheService/repos/StatsRepo/reviewerData.d.ts.map +1 -1
- package/dist/CacheService/repos/StatsRepo/reviewerData.js +15 -4
- package/dist/CacheService/repos/StatsRepo/reviewerData.js.map +1 -1
- package/dist/CacheService/repos/SubscriptionRepo.d.ts +16 -14
- package/dist/CacheService/repos/SubscriptionRepo.d.ts.map +1 -1
- package/dist/CacheService/repos/SubscriptionRepo.js +38 -37
- package/dist/CacheService/repos/SubscriptionRepo.js.map +1 -1
- package/dist/CacheService/repos/SyncMetadataRepo.d.ts +11 -9
- package/dist/CacheService/repos/SyncMetadataRepo.d.ts.map +1 -1
- package/dist/CacheService/repos/SyncMetadataRepo.js +23 -23
- package/dist/CacheService/repos/SyncMetadataRepo.js.map +1 -1
- package/dist/CacheService/repos/commentLocations.d.ts +7 -0
- package/dist/CacheService/repos/commentLocations.d.ts.map +1 -0
- package/dist/CacheService/repos/commentLocations.js +105 -0
- package/dist/CacheService/repos/commentLocations.js.map +1 -0
- package/dist/ConfigService/backup.d.ts +2 -2
- package/dist/ConfigService/backup.d.ts.map +1 -1
- package/dist/ConfigService/backup.js +1 -1
- package/dist/ConfigService/backup.js.map +1 -1
- package/dist/ConfigService/detectProfiles.d.ts +6 -3
- package/dist/ConfigService/detectProfiles.d.ts.map +1 -1
- package/dist/ConfigService/detectProfiles.js +11 -6
- package/dist/ConfigService/detectProfiles.js.map +1 -1
- package/dist/ConfigService/index.d.ts +12 -12
- package/dist/ConfigService/index.d.ts.map +1 -1
- package/dist/ConfigService/index.js +14 -6
- package/dist/ConfigService/index.js.map +1 -1
- package/dist/ConfigService/internal.d.ts +41 -137
- package/dist/ConfigService/internal.d.ts.map +1 -1
- package/dist/ConfigService/internal.js +40 -20
- package/dist/ConfigService/internal.js.map +1 -1
- package/dist/ConfigService/load.d.ts +25 -28
- package/dist/ConfigService/load.d.ts.map +1 -1
- package/dist/ConfigService/load.js +12 -28
- package/dist/ConfigService/load.js.map +1 -1
- package/dist/ConfigService/reset.d.ts +26 -5
- package/dist/ConfigService/reset.d.ts.map +1 -1
- package/dist/ConfigService/reset.js +10 -16
- package/dist/ConfigService/reset.js.map +1 -1
- package/dist/ConfigService/save.d.ts +3 -2
- package/dist/ConfigService/save.d.ts.map +1 -1
- package/dist/ConfigService/save.js +2 -1
- package/dist/ConfigService/save.js.map +1 -1
- package/dist/ConfigService/validate.d.ts +7 -21
- package/dist/ConfigService/validate.d.ts.map +1 -1
- package/dist/ConfigService/validate.js +11 -11
- package/dist/ConfigService/validate.js.map +1 -1
- package/dist/DateUtils.d.ts.map +1 -1
- package/dist/Domain.d.ts +177 -377
- package/dist/Domain.d.ts.map +1 -1
- package/dist/Domain.js +77 -20
- package/dist/Domain.js.map +1 -1
- package/dist/Errors.d.ts +45 -65
- package/dist/Errors.d.ts.map +1 -1
- package/dist/Errors.js +20 -20
- package/dist/Errors.js.map +1 -1
- package/dist/HealthScore.d.ts.map +1 -1
- package/dist/HealthScore.js +4 -1
- package/dist/HealthScore.js.map +1 -1
- package/dist/PRService/index.d.ts +37 -34
- package/dist/PRService/index.d.ts.map +1 -1
- package/dist/PRService/index.js +45 -45
- package/dist/PRService/index.js.map +1 -1
- package/dist/PRService/internal.d.ts +86 -118
- package/dist/PRService/internal.d.ts.map +1 -1
- package/dist/PRService/internal.js +28 -25
- package/dist/PRService/internal.js.map +1 -1
- package/dist/PRService/refresh.d.ts +1 -1
- package/dist/PRService/refresh.d.ts.map +1 -1
- package/dist/PRService/refresh.js +10 -8
- package/dist/PRService/refresh.js.map +1 -1
- package/dist/PRService/refreshDiffs.d.ts +1 -1
- package/dist/PRService/refreshDiffs.d.ts.map +1 -1
- package/dist/PRService/refreshDiffs.js +9 -6
- package/dist/PRService/refreshDiffs.js.map +1 -1
- package/dist/PRService/refreshEnrich.d.ts +1 -1
- package/dist/PRService/refreshEnrich.d.ts.map +1 -1
- package/dist/PRService/refreshEnrich.js +15 -12
- package/dist/PRService/refreshEnrich.js.map +1 -1
- package/dist/PRService/refreshFetch.d.ts.map +1 -1
- package/dist/PRService/refreshFetch.js +14 -14
- package/dist/PRService/refreshFetch.js.map +1 -1
- package/dist/PRService/refreshHistory.d.ts +1 -1
- package/dist/PRService/refreshHistory.d.ts.map +1 -1
- package/dist/PRService/refreshHistory.js +19 -11
- package/dist/PRService/refreshHistory.js.map +1 -1
- package/dist/PRService/refreshResolve.d.ts +7 -7
- package/dist/PRService/refreshResolve.d.ts.map +1 -1
- package/dist/PRService/refreshResolve.js +24 -14
- package/dist/PRService/refreshResolve.js.map +1 -1
- package/dist/PRService/refreshScore.d.ts.map +1 -1
- package/dist/PRService/refreshScore.js +5 -5
- package/dist/PRService/refreshScore.js.map +1 -1
- package/dist/PRService/refreshSinglePR.d.ts +4 -1
- package/dist/PRService/refreshSinglePR.d.ts.map +1 -1
- package/dist/PRService/refreshSinglePR.js +96 -85
- package/dist/PRService/refreshSinglePR.js.map +1 -1
- package/dist/PRService/setAllAccounts.d.ts.map +1 -1
- package/dist/PRService/setAllAccounts.js +5 -2
- package/dist/PRService/setAllAccounts.js.map +1 -1
- package/dist/PRService/toggleAccount.d.ts.map +1 -1
- package/dist/PRService/toggleAccount.js +5 -2
- package/dist/PRService/toggleAccount.js.map +1 -1
- package/dist/PermissionService/AuditLog.d.ts +30 -32
- package/dist/PermissionService/AuditLog.d.ts.map +1 -1
- package/dist/PermissionService/AuditLog.js +93 -90
- package/dist/PermissionService/AuditLog.js.map +1 -1
- package/dist/PermissionService/PermissionGate.d.ts +8 -21
- package/dist/PermissionService/PermissionGate.d.ts.map +1 -1
- package/dist/PermissionService/PermissionGate.js +2 -2
- package/dist/PermissionService/PermissionGate.js.map +1 -1
- package/dist/PermissionService/PermissionGateLive.d.ts +7 -11
- package/dist/PermissionService/PermissionGateLive.d.ts.map +1 -1
- package/dist/PermissionService/PermissionGateLive.js +49 -49
- package/dist/PermissionService/PermissionGateLive.js.map +1 -1
- package/dist/PermissionService/index.d.ts +17 -17
- package/dist/PermissionService/index.d.ts.map +1 -1
- package/dist/PermissionService/index.js +52 -50
- package/dist/PermissionService/index.js.map +1 -1
- package/dist/PermissionService/operations.d.ts +1 -19
- package/dist/PermissionService/operations.d.ts.map +1 -1
- package/dist/PermissionService/operations.js.map +1 -1
- package/dist/ReadClient/ReadClient.d.ts +31 -0
- package/dist/ReadClient/ReadClient.d.ts.map +1 -0
- package/dist/ReadClient/ReadClient.js +209 -0
- package/dist/ReadClient/ReadClient.js.map +1 -0
- package/dist/ReadClient/ReadProvider.d.ts +55 -0
- package/dist/ReadClient/ReadProvider.d.ts.map +1 -0
- package/dist/ReadClient/ReadProvider.js +51 -0
- package/dist/ReadClient/ReadProvider.js.map +1 -0
- package/dist/ReadClient/classification.d.ts +13 -0
- package/dist/ReadClient/classification.d.ts.map +1 -0
- package/dist/ReadClient/classification.js +35 -0
- package/dist/ReadClient/classification.js.map +1 -0
- package/dist/ReadClient/errors.d.ts +29 -0
- package/dist/ReadClient/errors.d.ts.map +1 -0
- package/dist/ReadClient/errors.js +21 -0
- package/dist/ReadClient/errors.js.map +1 -0
- package/dist/ReadClient/index.d.ts +7 -0
- package/dist/ReadClient/index.d.ts.map +1 -0
- package/dist/ReadClient/index.js +7 -0
- package/dist/ReadClient/index.js.map +1 -0
- package/dist/ReadClient/models.d.ts +104 -0
- package/dist/ReadClient/models.d.ts.map +1 -0
- package/dist/ReadClient/models.js +93 -0
- package/dist/ReadClient/models.js.map +1 -0
- package/dist/SandboxService/DockerService.d.ts +38 -19
- package/dist/SandboxService/DockerService.d.ts.map +1 -1
- package/dist/SandboxService/DockerService.js +90 -70
- package/dist/SandboxService/DockerService.js.map +1 -1
- package/dist/SandboxService/PluginService.d.ts +11 -8
- package/dist/SandboxService/PluginService.d.ts.map +1 -1
- package/dist/SandboxService/PluginService.js +17 -16
- package/dist/SandboxService/PluginService.js.map +1 -1
- package/dist/SandboxService/SandboxService.d.ts +78 -76
- package/dist/SandboxService/SandboxService.d.ts.map +1 -1
- package/dist/SandboxService/SandboxService.js +236 -226
- package/dist/SandboxService/SandboxService.js.map +1 -1
- package/dist/SandboxService/index.d.ts +0 -1
- package/dist/SandboxService/index.d.ts.map +1 -1
- package/dist/SandboxService/index.js +0 -1
- package/dist/SandboxService/index.js.map +1 -1
- package/dist/StatsService/WeeklyStats.d.ts +112 -112
- package/dist/StatsService/index.d.ts +4 -9
- package/dist/StatsService/index.d.ts.map +1 -1
- package/dist/StatsService/index.js +113 -112
- package/dist/StatsService/index.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +12 -12
- package/dist/SandboxService/plugins/ClaudeCodePlugin.d.ts +0 -18
- package/dist/SandboxService/plugins/ClaudeCodePlugin.d.ts.map +0 -1
- package/dist/SandboxService/plugins/ClaudeCodePlugin.js +0 -24
- package/dist/SandboxService/plugins/ClaudeCodePlugin.js.map +0 -1
|
@@ -6,21 +6,20 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @module
|
|
8
8
|
*/
|
|
9
|
-
import {
|
|
10
|
-
import
|
|
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,
|
|
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
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
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
|
-
|
|
62
|
-
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
const
|
|
88
|
-
const
|
|
89
|
-
const
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
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
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
}
|
|
128
|
-
yield*
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
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*
|
|
200
|
-
yield* docker.
|
|
201
|
-
|
|
202
|
-
yield*
|
|
203
|
-
|
|
204
|
-
const
|
|
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*
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
const
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
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*
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
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
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
yield* Effect.
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
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":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,KAAK,EACL,KAAK,EACL,MAAM,EACN,OAAO,EACP,QAAQ,EACR,MAAM,EACN,KAAK,EACL,MAAM,EACN,SAAS,EACT,MAAM,EACN,QAAQ,EACR,MAAM,EACP,MAAM,QAAQ,CAAA;AAEf,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAmB,MAAM,sCAAsC,CAAA;AACnF,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAsB,MAAM,2BAA2B,CAAA;AACnG,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAsB,MAAM,cAAc,CAAA;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAwB,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACxE,OAAO,EAAE,aAAa,EAAuB,MAAM,oBAAoB,CAAA;AAWvE,MAAM,iBAAiB,GAAG,KAAK,CAAA;AAE/B,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CACxC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAClD,CAAA;AAED,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAC/B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAChD,CAAA;AAED,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,IAAY,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;AAE/F,MAAM,mBAAmB,GAAG,CAC1B,aAAqB,EACrB,IAAY,EACZ,SAAiB,EACjB,aAAqB,EACrB,aAA4B,EAC5B,QAAgB,EACC,EAAE,CAAC,CAAC;IACrB,KAAK,EAAE,aAAa,CAAC,KAAK;IAC1B,GAAG,EAAE,CAAC,aAAa,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC;IACpE,YAAY,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;IAChC,UAAU,EAAE;QACV,KAAK,EAAE;YACL,GAAG,aAAa,aAAa;YAC7B,GAAG,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACtC,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CACnF;SACF;QACD,YAAY,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;KAC3D;IACD,GAAG,EAAE;QACH,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;KAClE;IACD,MAAM,EAAE;QACN,uBAAuB,EAAE,SAAS;QAClC,uBAAuB,EAAE,aAAa;KACvC;CACF,CAAC,CAAA;AAEF,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,WAAW,CAAA;IAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,aAAa,CAAA;IACnC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,aAAa,CAAA;IACpC,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,aAAa,CAAA;IAC1C,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAClD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAEvD,MAAM,iBAAiB,GAAiC,aAAa,CAAC,IAAI,CAAC,IAAI,CAC7E,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EACtC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAC9D,CAAA;IAED,MAAM,YAAY,GAAG,CACnB,EAAa,EACb,MAAqB,EACrB,KAA+D,EAC/D,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;IAEzC,MAAM,QAAQ,GAAG,CAAC,EAAa,EAAE,MAAc,EAAE,EAAE,CACjD,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAC1B,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;QACpB,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;QACrC,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,IAAI,CACvC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC,CAAC,EACzD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC,CAAC,CAC7D,CAAA;IACH,CAAC,CAAC,CACH,CAAA;IAEH,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAC,CAAA;IAE7F,MAAM,kBAAkB,GAAG,CAAC,GAAe,EAAkB,EAAE,CAAC,CAAC;QAC/D,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE;QAClC,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC;QACnB,EAAE,EAAE;YACF,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC;YACzC,cAAc,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC;YACvD,YAAY,EAAE,GAAG,CAAC,YAAY;SAC/B;KACF,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG;QACd,MAAM,EAAE,CAAC,MAA2B,EAAE,EAAE,CACtC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,8CAA8C;YAC9C,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,aAAa,CAAC,CAAA;YAChF,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,OAAO,QAAQ,CAAC,KAAK,CAAA;YACvB,CAAC;YAED,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAA;YAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;YACxD,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;YAC/E,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,YAAY,EAAE,CAAA;YAClC,MAAM,aAAa,GAAG,GAAG,QAAQ,IAAI,EAAE,EAAE,CAAA;YACzC,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAA;YAEzC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;gBACjB,EAAE;gBACF,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,aAAa;gBACb,MAAM,EAAE,UAAU;gBAClB,SAAS,EAAE,GAAG;gBACd,cAAc,EAAE,GAAG;aACpB,CAAC,CAAA;YAEF,kCAAkC;YAClC,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CACtB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAClB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,UAAU,CAAA;gBACvC,MAAM,GAAG,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;gBAEpD,+BAA+B;gBAC/B,KAAK,CAAC,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;gBACpC,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,iBAAiB,CAAA;gBAE3C,0CAA0C;gBAC1C,KAAK,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;gBAClC,KAAK,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;gBAC3D,MAAM,QAAQ,GAAG,0BAA0B,MAAM,CAAC,MAAM,2BAA2B,MAAM,CAAC,cAAc,EAAE,CAAA;gBAC1G,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAA;gBAChE,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,UAAU,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;gBACvF,KAAK,CAAC,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,cAAc,IAAI,MAAM,GAAG,UAAU,EAAE,CAAC,CAAA;gBACrE,MAAM,SAAS,GAAkB,UAAU,CAAC,UAAU,GAAG,CAAC;oBACxD,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;oBAC5C,CAAC,CAAC,EAAE,CAAA;gBACN,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;oBAC7C,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC,IAAI,CACxC,KAAK,EACL;wBACE,IAAI;wBACJ,wDAAwD;wBACxD,IAAI;wBACJ,6BAA6B;wBAC7B,OAAO;wBACP,GAAG,SAAS;wBACZ,IAAI;wBACJ,MAAM;wBACN,QAAQ;wBACR,aAAa;qBACd,EACD;wBACE,GAAG,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE;wBACvE,MAAM,EAAE,MAAM;qBACf,CACF,CAAA;oBACD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAA;oBAC1C,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;oBAC/D,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;oBACnG,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAA;gBACjC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;gBACtB,IAAI,WAAW,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;oBAC/B,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAA;oBACzC,KAAK,CAAC,CAAC,GAAG,CAAC,iBAAiB,UAAU,EAAE,CAAC,CAAA;oBACzC,KAAK,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE;wBAC/B,KAAK,EAAE,UAAU,IAAI,0BAA0B,WAAW,CAAC,QAAQ,GAAG;qBACvE,CAAC,CAAA;oBACF,OAAM;gBACR,CAAC;gBACD,KAAK,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;gBAE5B,aAAa;gBACb,KAAK,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;gBACnC,KAAK,CAAC,CAAC,GAAG,CAAC,iBAAiB,UAAU,CAAC,KAAK,EAAE,CAAC,CAAA;gBAC/C,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,CAC5C,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,EACpC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC,CAC3E,CAAA;gBAED,2BAA2B;gBAC3B,KAAK,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;gBAChC,MAAM,eAAe,GAAG,mBAAmB,CACzC,aAAa,EACb,IAAI,EACJ,EAAE,EACF,MAAM,CAAC,aAAa,EACpB,UAAU,EACV,QAAQ,CACT,CAAA;gBACD,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,eAAe,CAAC,CAAA;gBAClE,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,EAAE,CAAA;gBAC9B,KAAK,CAAC,CAAC,GAAG,CAAC,aAAa,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAA;gBAC7D,KAAK,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;gBACjC,KAAK,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,UAAU,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAA;gBAC/D,KAAK,CAAC,CAAC,GAAG,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAA;gBAE/C,kFAAkF;gBAClF,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;oBACtB,MAAM;oBACN,OAAO;oBACP,IAAI;oBACJ,aAAa;oBACb,oBAAoB;iBACrB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;gBAEtD,iDAAiD;gBACjD,KAAK,CAAC,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAA;gBAClD,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,+BAA+B,CAAC,CAAC,CAAC,IAAI,CAC5E,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACvF,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,EAC1C,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,wBAAwB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAC9C,CAAA;gBAED,mBAAmB;gBACnB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;gBACpC,MAAM,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;gBACnC,KAAK,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;gBAClC,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAA;gBAClD,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAA;gBAEjD,gCAAgC;gBAChC,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrC,KAAK,CAAC,CAAC,GAAG,CAAC,cAAc,UAAU,CAAC,UAAU,CAAC,MAAM,eAAe,CAAC,CAAA;oBACrE,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CACnD,GAAG,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC,IAAI,CACtC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,aAAa,EAAE,qBAAqB,EAAE,GAAG,CAAC,CAAC,CAAC,EAC7E,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,wBAAwB,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAC/F,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,qBAAqB,GAAG,MAAM,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EACtE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAC9C,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;gBACzB,CAAC;gBAED,gCAAgC;gBAChC,IAAI,UAAU,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxC,KAAK,CAAC,CAAC,GAAG,CAAC,WAAW,UAAU,CAAC,aAAa,CAAC,MAAM,mBAAmB,CAAC,CAAA;oBACzE,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CACzD,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,aAAa,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,IAAI,CAC9D,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EACnD,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACpB,GAAG,CAAC,iBAAiB,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAC9E,EACD,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,mBAAmB,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EACjF,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAC9C,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;gBACzB,CAAC;gBAED,KAAK,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;gBAClC,KAAK,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;YAC7B,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE,CAC1B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAClB,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAAA;gBAC9D,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACpC,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;gBACrF,KAAK,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CACzE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAClB,IAAI,EAAE,CAAC,SAAS,EAAE,EAAE,CACpB,MAAM,CAAC,QAAQ,CAAC,uCAAuC,EAAE,SAAS,CAAC,CAAC,CACvE,CAAA;YACH,CAAC,CAAC,CACH,CACF,CACF,CAAA;YAED,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACjC,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,0BAA0B,EAAE,KAAK,EAAE,CAAC,CAAC,CAC7F;QAEH,GAAG,EAAE,CAAC,EAAa,EAAE,EAAE,CACrB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CACpB,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC,CAAC,CACrG;QAEH,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE;QAE7B,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE;QAE7B,IAAI,EAAE,CAAC,EAAa,EAAE,EAAE,CACtB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;YACpC,KAAK,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;YAEnC,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;gBACpB,MAAM,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;gBACnC,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAA;gBACnD,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;YAClG,CAAC;YAED,KAAK,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;YAClC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;QAChD,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE,KAAK,EAAE,CAAC,CAAC,CAC1G;QAEH,OAAO,EAAE,CAAC,EAAa,EAAE,EAAE,CACzB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;YACpC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACrB,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CACvB,IAAI,YAAY,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC,CACxE,CAAA;YACH,CAAC;YAED,KAAK,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;YACnC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,sBAAsB,CAAC,CAAA;YAC3C,KAAK,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;YAC7C,KAAK,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;YACvE,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,sCAAsC,CAAC,CAAA;YAE3D,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,+BAA+B,CAAC,CAAC,CAAC,IAAI,CACxF,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACvF,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,mBAAmB,CAAC,CAAC,EACnD,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAC9C,CAAA;YAED,MAAM,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;YACxD,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAA;YAEjD,KAAK,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;YAClC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,mBAAmB,CAAC,CAAA;YACxC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;QAClD,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,2BAA2B,EAAE,KAAK,EAAE,CAAC,CAAC,CAC7G;QAEH,OAAO,EAAE,CAAC,EAAa,EAAE,EAAE,CACzB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;YACpC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,UAAU,CAAA;YAEvC,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;gBACpB,KAAK,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;YACpG,CAAC;YAED,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;YAC5G,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YACtB,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,aAAa,CAAC,CAAA;QACnD,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,2BAA2B,EAAE,KAAK,EAAE,CAAC,CAAC,CAC7G;QAEH,SAAS,EAAE,GAAG,EAAE,CACd,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAA;YACvC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CACpC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAClB,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;oBACrB,KAAK,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,CAAA;oBAC1F,OAAM;gBACR,CAAC;gBACD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAC/D,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CACvD,CAAA;gBACD,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;oBACjC,KAAK,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAA;oBACtD,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,+BAA+B,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;gBAChE,CAAC;YACH,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC,CAAC;QAE7F,MAAM,EAAE,CAAC,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,CAChF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;YACjC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAA;YAE1C,8BAA8B;YAC9B,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CACnB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,EACzC,CAAC,GAAG,EAAE,EAAE;gBACN,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,CAAA;gBAC3D,IAAI,GAAG,GAAG,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;oBACxD,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;wBACzB,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,6BAA6B,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;wBAC5D,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;4BACpB,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;wBAClG,CAAC;wBACD,KAAK,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAA;oBACxD,CAAC,CAAC,CAAA;gBACJ,CAAC;gBACD,OAAO,MAAM,CAAC,IAAI,CAAA;YACpB,CAAC,EACD,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAA;YAED,uCAAuC;YACvC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,UAAU,CAAA;YACvC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CACnB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,EACjE,CAAC,GAAG,EAAE,EAAE;gBACN,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,CAAA;gBAC3D,IAAI,GAAG,GAAG,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;oBACzD,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;wBACzB,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,2BAA2B,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;wBAC1D,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;4BACpB,KAAK,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;wBACpG,CAAC;wBACD,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAC3D,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAC9C,CAAA;wBACD,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;oBAC5C,CAAC,CAAC,CAAA;gBACJ,CAAC;gBACD,OAAO,MAAM,CAAC,IAAI,CAAA;YACpB,CAAC,EACD,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAA;QACH,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAC;KACvF,CAAA;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAC,CAAA;AAIF,MAAM,OAAO,cAAe,SAAQ,OAAO,CAAC,OAAO,EAGhD,CAAC,gBAAgB,CAAC;IACnB,MAAM,CAAU,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC,IAAI,CAC7E,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CACjG,CAAA;CACF"}
|
|
@@ -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";
|