@knpkv/codecommit-core 0.8.0 → 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.map +1 -1
- package/dist/AwsClient/AwsClientGated.js +14 -7
- package/dist/AwsClient/AwsClientGated.js.map +1 -1
- package/dist/AwsClient/approvalRuleContent.d.ts.map +1 -1
- 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 +12 -12
- package/dist/AwsClient/getCommentsForPullRequest.js.map +1 -1
- package/dist/AwsClient/getDifferences.d.ts +1 -1
- 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 -2
- package/dist/AwsClient/getPullRequest.d.ts.map +1 -1
- package/dist/AwsClient/getPullRequest.js +1 -1
- package/dist/AwsClient/getPullRequest.js.map +1 -1
- package/dist/AwsClient/getPullRequests.d.ts +3 -2
- package/dist/AwsClient/getPullRequests.d.ts.map +1 -1
- package/dist/AwsClient/getPullRequests.js +39 -24
- package/dist/AwsClient/getPullRequests.js.map +1 -1
- package/dist/AwsClient/index.d.ts +2 -2
- package/dist/AwsClient/index.js +2 -2
- package/dist/AwsClient/internal.d.ts +4 -3
- package/dist/AwsClient/internal.d.ts.map +1 -1
- package/dist/AwsClient/internal.js +26 -12
- 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.map +1 -1
- package/dist/CacheService/Database.d.ts +3 -3
- package/dist/CacheService/EventsHub.d.ts +104 -122
- package/dist/CacheService/EventsHub.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/CacheService/migrations/0002_indexes.d.ts.map +1 -1
- package/dist/CacheService/migrations/0003_add_health_score.d.ts.map +1 -1
- package/dist/CacheService/migrations/0004_unify_notifications.d.ts.map +1 -1
- package/dist/CacheService/migrations/0005_add_sandboxes.d.ts.map +1 -1
- package/dist/CacheService/migrations/0006_sandbox_logs.d.ts.map +1 -1
- package/dist/CacheService/migrations/0007_stats_columns.d.ts.map +1 -1
- package/dist/CacheService/migrations/0008_merged_by.d.ts.map +1 -1
- package/dist/CacheService/migrations/0009_approved_by.d.ts.map +1 -1
- package/dist/CacheService/migrations/0010_commented_by.d.ts.map +1 -1
- package/dist/CacheService/migrations/0011_audit_log.d.ts.map +1 -1
- package/dist/CacheService/migrations/0012_audit_log_indexes.d.ts.map +1 -1
- package/dist/CacheService/migrations/0013_approval_rules.d.ts.map +1 -1
- package/dist/CacheService/migrations/0014_approved_by_arns.d.ts.map +1 -1
- package/dist/CacheService/migrations/0015_repo_account_id.d.ts.map +1 -1
- package/dist/CacheService/repos/CommentRepo.d.ts +4 -4
- package/dist/CacheService/repos/CommentRepo.d.ts.map +1 -1
- package/dist/CacheService/repos/CommentRepo.js +3 -4
- package/dist/CacheService/repos/CommentRepo.js.map +1 -1
- package/dist/CacheService/repos/NotificationRepo.d.ts +9 -9
- package/dist/CacheService/repos/NotificationRepo.d.ts.map +1 -1
- package/dist/CacheService/repos/NotificationRepo.js +2 -1
- package/dist/CacheService/repos/NotificationRepo.js.map +1 -1
- package/dist/CacheService/repos/PullRequestRepo/index.d.ts +19 -19
- package/dist/CacheService/repos/PullRequestRepo/index.d.ts.map +1 -1
- package/dist/CacheService/repos/PullRequestRepo/index.js +2 -1
- package/dist/CacheService/repos/PullRequestRepo/index.js.map +1 -1
- package/dist/CacheService/repos/PullRequestRepo/internal.d.ts.map +1 -1
- package/dist/CacheService/repos/PullRequestRepo/mutations.d.ts +11 -11
- package/dist/CacheService/repos/PullRequestRepo/mutations.d.ts.map +1 -1
- package/dist/CacheService/repos/PullRequestRepo/mutations.js +4 -3
- package/dist/CacheService/repos/PullRequestRepo/mutations.js.map +1 -1
- package/dist/CacheService/repos/PullRequestRepo/queries.d.ts.map +1 -1
- package/dist/CacheService/repos/PullRequestRepo/queries.js +6 -3
- package/dist/CacheService/repos/PullRequestRepo/queries.js.map +1 -1
- package/dist/CacheService/repos/SandboxRepo.d.ts +13 -13
- package/dist/CacheService/repos/SandboxRepo.d.ts.map +1 -1
- package/dist/CacheService/repos/SandboxRepo.js +5 -3
- package/dist/CacheService/repos/SandboxRepo.js.map +1 -1
- package/dist/CacheService/repos/StatsRepo/index.d.ts +16 -16
- package/dist/CacheService/repos/StatsRepo/index.d.ts.map +1 -1
- package/dist/CacheService/repos/StatsRepo/index.js +2 -1
- package/dist/CacheService/repos/StatsRepo/index.js.map +1 -1
- package/dist/CacheService/repos/StatsRepo/internal.d.ts +1 -1
- package/dist/CacheService/repos/StatsRepo/internal.d.ts.map +1 -1
- package/dist/CacheService/repos/StatsRepo/internal.js +1 -1
- package/dist/CacheService/repos/StatsRepo/internal.js.map +1 -1
- package/dist/CacheService/repos/StatsRepo/queries.d.ts.map +1 -1
- package/dist/CacheService/repos/StatsRepo/reviewerData.d.ts +1 -1
- package/dist/CacheService/repos/StatsRepo/reviewerData.d.ts.map +1 -1
- package/dist/CacheService/repos/StatsRepo/reviewerData.js +4 -3
- package/dist/CacheService/repos/StatsRepo/reviewerData.js.map +1 -1
- package/dist/CacheService/repos/SubscriptionRepo.d.ts +6 -6
- package/dist/CacheService/repos/SubscriptionRepo.d.ts.map +1 -1
- package/dist/CacheService/repos/SubscriptionRepo.js +4 -2
- package/dist/CacheService/repos/SubscriptionRepo.js.map +1 -1
- package/dist/CacheService/repos/SyncMetadataRepo.d.ts +3 -3
- package/dist/CacheService/repos/SyncMetadataRepo.d.ts.map +1 -1
- package/dist/CacheService/repos/SyncMetadataRepo.js +2 -1
- package/dist/CacheService/repos/SyncMetadataRepo.js.map +1 -1
- package/dist/CacheService/repos/commentLocations.d.ts +4 -9
- package/dist/CacheService/repos/commentLocations.d.ts.map +1 -1
- package/dist/CacheService/repos/commentLocations.js +104 -6
- package/dist/CacheService/repos/commentLocations.js.map +1 -1
- package/dist/ConfigService/backup.d.ts +1 -1
- package/dist/ConfigService/detectProfiles.d.ts +4 -2
- package/dist/ConfigService/detectProfiles.d.ts.map +1 -1
- package/dist/ConfigService/detectProfiles.js +8 -4
- package/dist/ConfigService/detectProfiles.js.map +1 -1
- package/dist/ConfigService/index.d.ts +2 -1
- package/dist/ConfigService/index.d.ts.map +1 -1
- package/dist/ConfigService/index.js +1 -0
- package/dist/ConfigService/index.js.map +1 -1
- package/dist/ConfigService/internal.d.ts.map +1 -1
- package/dist/ConfigService/internal.js +10 -5
- package/dist/ConfigService/internal.js.map +1 -1
- package/dist/ConfigService/load.d.ts +1 -1
- package/dist/ConfigService/load.d.ts.map +1 -1
- package/dist/ConfigService/load.js +3 -2
- package/dist/ConfigService/load.js.map +1 -1
- package/dist/ConfigService/reset.d.ts +1 -1
- package/dist/ConfigService/reset.d.ts.map +1 -1
- package/dist/ConfigService/reset.js +2 -1
- package/dist/ConfigService/reset.js.map +1 -1
- package/dist/ConfigService/save.d.ts +1 -1
- package/dist/ConfigService/save.d.ts.map +1 -1
- package/dist/ConfigService/validate.d.ts +1 -1
- package/dist/ConfigService/validate.d.ts.map +1 -1
- package/dist/ConfigService/validate.js +2 -1
- package/dist/ConfigService/validate.js.map +1 -1
- package/dist/DateUtils.d.ts.map +1 -1
- package/dist/Domain.d.ts +55 -61
- package/dist/Domain.d.ts.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 +4 -4
- package/dist/PRService/index.d.ts.map +1 -1
- package/dist/PRService/index.js +2 -1
- package/dist/PRService/index.js.map +1 -1
- package/dist/PRService/internal.d.ts.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 +6 -4
- 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 +6 -3
- package/dist/PRService/refreshDiffs.js.map +1 -1
- package/dist/PRService/refreshEnrich.d.ts +5 -1
- package/dist/PRService/refreshEnrich.d.ts.map +1 -1
- package/dist/PRService/refreshEnrich.js +6 -3
- package/dist/PRService/refreshEnrich.js.map +1 -1
- package/dist/PRService/refreshFetch.d.ts +5 -1
- package/dist/PRService/refreshFetch.d.ts.map +1 -1
- package/dist/PRService/refreshFetch.js +4 -4
- 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 +13 -5
- package/dist/PRService/refreshHistory.js.map +1 -1
- package/dist/PRService/refreshResolve.d.ts +6 -6
- package/dist/PRService/refreshResolve.d.ts.map +1 -1
- package/dist/PRService/refreshResolve.js +19 -9
- package/dist/PRService/refreshResolve.js.map +1 -1
- package/dist/PRService/refreshScore.d.ts +2 -1
- package/dist/PRService/refreshScore.d.ts.map +1 -1
- package/dist/PRService/refreshScore.js.map +1 -1
- package/dist/PRService/refreshSinglePR.d.ts.map +1 -1
- package/dist/PRService/refreshSinglePR.js +14 -13
- 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 +1 -1
- package/dist/PermissionService/AuditLog.d.ts.map +1 -1
- package/dist/PermissionService/AuditLog.js +9 -5
- package/dist/PermissionService/AuditLog.js.map +1 -1
- package/dist/PermissionService/PermissionGateLive.js.map +1 -1
- package/dist/PermissionService/index.d.ts.map +1 -1
- package/dist/PermissionService/index.js +4 -2
- 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 +26 -10
- package/dist/SandboxService/DockerService.d.ts.map +1 -1
- package/dist/SandboxService/DockerService.js +24 -5
- package/dist/SandboxService/DockerService.js.map +1 -1
- package/dist/SandboxService/PluginService.d.ts +3 -3
- package/dist/SandboxService/PluginService.d.ts.map +1 -1
- package/dist/SandboxService/PluginService.js +2 -1
- package/dist/SandboxService/PluginService.js.map +1 -1
- package/dist/SandboxService/SandboxService.d.ts +12 -12
- package/dist/SandboxService/SandboxService.d.ts.map +1 -1
- package/dist/SandboxService/SandboxService.js +6 -5
- package/dist/SandboxService/SandboxService.js.map +1 -1
- package/dist/StatsService/index.d.ts +2 -2
- package/dist/StatsService/index.d.ts.map +1 -1
- package/dist/StatsService/index.js +2 -2
- package/dist/StatsService/index.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +11 -5
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Context, Effect, Layer } from "effect";
|
|
2
|
+
import { HttpClient } from "effect/unstable/http";
|
|
3
|
+
import { AwsClientConfig } from "../AwsClientConfig.js";
|
|
4
|
+
import type { AwsClientError } from "../Errors.js";
|
|
5
|
+
import type { CodeCommitReadAccount } from "./models.js";
|
|
6
|
+
/** Parameters for a bounded provider pull-request listing page. */
|
|
7
|
+
export interface ListPullRequestsProviderPageRequest {
|
|
8
|
+
readonly account: CodeCommitReadAccount;
|
|
9
|
+
readonly repositoryName: string;
|
|
10
|
+
readonly status: "OPEN" | "CLOSED";
|
|
11
|
+
readonly nextToken: string | null;
|
|
12
|
+
readonly maximumResults: number;
|
|
13
|
+
}
|
|
14
|
+
/** Parameters for one raw provider pull-request read. */
|
|
15
|
+
export interface GetPullRequestProviderRequest {
|
|
16
|
+
readonly account: CodeCommitReadAccount;
|
|
17
|
+
readonly pullRequestId: string;
|
|
18
|
+
}
|
|
19
|
+
/** Parameters for one immutable blob read. */
|
|
20
|
+
export interface GetBlobProviderRequest {
|
|
21
|
+
readonly account: CodeCommitReadAccount;
|
|
22
|
+
readonly repositoryName: string;
|
|
23
|
+
readonly blobId: string;
|
|
24
|
+
}
|
|
25
|
+
/** Parameters for a bounded provider changed-file page. */
|
|
26
|
+
export interface GetDifferencesProviderPageRequest {
|
|
27
|
+
readonly account: CodeCommitReadAccount;
|
|
28
|
+
readonly repositoryName: string;
|
|
29
|
+
readonly beforeCommitSpecifier: string;
|
|
30
|
+
readonly afterCommitSpecifier: string;
|
|
31
|
+
readonly nextToken: string | null;
|
|
32
|
+
readonly maximumResults: number;
|
|
33
|
+
}
|
|
34
|
+
/** Parameters for one CodeCommit repository-list page. */
|
|
35
|
+
export interface ListRepositoriesProviderPageRequest {
|
|
36
|
+
readonly account: CodeCommitReadAccount;
|
|
37
|
+
readonly nextToken: string | null;
|
|
38
|
+
}
|
|
39
|
+
/** Raw provider methods consumed only by the Schema-decoding read client. */
|
|
40
|
+
export interface CodeCommitReadProviderService {
|
|
41
|
+
readonly getCallerIdentity: (account: CodeCommitReadAccount) => Effect.Effect<unknown, AwsClientError>;
|
|
42
|
+
readonly getBlob: (request: GetBlobProviderRequest) => Effect.Effect<unknown, AwsClientError>;
|
|
43
|
+
readonly listPullRequestsPage: (request: ListPullRequestsProviderPageRequest) => Effect.Effect<unknown, AwsClientError>;
|
|
44
|
+
readonly getPullRequest: (request: GetPullRequestProviderRequest) => Effect.Effect<unknown, AwsClientError>;
|
|
45
|
+
readonly getDifferencesPage: (request: GetDifferencesProviderPageRequest) => Effect.Effect<unknown, AwsClientError>;
|
|
46
|
+
readonly listRepositoriesPage: (request: ListRepositoriesProviderPageRequest) => Effect.Effect<unknown, AwsClientError>;
|
|
47
|
+
}
|
|
48
|
+
declare const CodeCommitReadProvider_base: Context.ServiceClass<CodeCommitReadProvider, "@knpkv/codecommit-core/CodeCommitReadProvider", CodeCommitReadProviderService>;
|
|
49
|
+
/** Injectable raw provider service for CodeCommit reads. */
|
|
50
|
+
export declare class CodeCommitReadProvider extends CodeCommitReadProvider_base {
|
|
51
|
+
}
|
|
52
|
+
/** Live raw provider layer backed by @distilled.cloud/aws CodeCommit and STS operations. */
|
|
53
|
+
export declare const CodeCommitReadProviderLive: Layer.Layer<CodeCommitReadProvider, never, AwsClientConfig | HttpClient.HttpClient>;
|
|
54
|
+
export {};
|
|
55
|
+
//# sourceMappingURL=ReadProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadProvider.d.ts","sourceRoot":"","sources":["../../src/ReadClient/ReadProvider.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAGjD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAExD,mEAAmE;AACnE,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAA;IACvC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAA;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;CAChC;AAED,yDAAyD;AACzD,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAA;IACvC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;CAC/B;AAED,8CAA8C;AAC9C,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAA;IACvC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,2DAA2D;AAC3D,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAA;IACvC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAA;IACtC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAA;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;CAChC;AAED,0DAA0D;AAC1D,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAA;IACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAClC;AAED,6EAA6E;AAC7E,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,iBAAiB,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;IACtG,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;IAC7F,QAAQ,CAAC,oBAAoB,EAAE,CAC7B,OAAO,EAAE,mCAAmC,KACzC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;IAC3C,QAAQ,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,6BAA6B,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;IAC3G,QAAQ,CAAC,kBAAkB,EAAE,CAC3B,OAAO,EAAE,iCAAiC,KACvC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;IAC3C,QAAQ,CAAC,oBAAoB,EAAE,CAC7B,OAAO,EAAE,mCAAmC,KACzC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;CAC5C;;AAED,4DAA4D;AAC5D,qBAAa,sBAAuB,SAAQ,2BAGQ;CAAG;AAoBvD,4FAA4F;AAC5F,eAAO,MAAM,0BAA0B,qFAyEtC,CAAA"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Injectable raw CodeCommit provider boundary.
|
|
3
|
+
*
|
|
4
|
+
* The live layer performs real @distilled.cloud/aws calls. Responses deliberately
|
|
5
|
+
* remain `unknown` until the read client decodes them with repository-owned
|
|
6
|
+
* Schema contracts; tests can therefore supply provider-shaped fixtures
|
|
7
|
+
* without credentials or network access.
|
|
8
|
+
*
|
|
9
|
+
* @category Read client
|
|
10
|
+
* @module
|
|
11
|
+
*/
|
|
12
|
+
import * as codecommit from "@distilled.cloud/aws/codecommit";
|
|
13
|
+
import * as sts from "@distilled.cloud/aws/sts";
|
|
14
|
+
import { Context, Effect, Layer } from "effect";
|
|
15
|
+
import { HttpClient } from "effect/unstable/http";
|
|
16
|
+
import { makeApiError, withAwsContext } from "../AwsClient/internal.js";
|
|
17
|
+
import { AwsClientConfig } from "../AwsClientConfig.js";
|
|
18
|
+
/** Injectable raw provider service for CodeCommit reads. */
|
|
19
|
+
export class CodeCommitReadProvider extends Context.Service()("@knpkv/codecommit-core/CodeCommitReadProvider") {
|
|
20
|
+
}
|
|
21
|
+
const callProvider = (operation, account, effect) => withAwsContext(operation, account, effect.pipe(Effect.mapError((cause) => makeApiError(operation, account.profile, account.region, cause))), { retry: false });
|
|
22
|
+
/** Live raw provider layer backed by @distilled.cloud/aws CodeCommit and STS operations. */
|
|
23
|
+
export const CodeCommitReadProviderLive = Layer.effect(CodeCommitReadProvider, Effect.gen(function* () {
|
|
24
|
+
const config = yield* AwsClientConfig;
|
|
25
|
+
const httpClient = yield* HttpClient.HttpClient;
|
|
26
|
+
const provideRuntime = (effect) => effect.pipe(Effect.provideService(AwsClientConfig, config), Effect.provideService(HttpClient.HttpClient, httpClient));
|
|
27
|
+
return {
|
|
28
|
+
getCallerIdentity: (account) => provideRuntime(callProvider("getCallerIdentity", account, sts.getCallerIdentity({}))),
|
|
29
|
+
getBlob: (request) => provideRuntime(callProvider("getBlob", request.account, codecommit.getBlob({ repositoryName: request.repositoryName, blobId: request.blobId }))),
|
|
30
|
+
listPullRequestsPage: (request) => provideRuntime(callProvider("listPullRequestsPage", request.account, codecommit.listPullRequests({
|
|
31
|
+
repositoryName: request.repositoryName,
|
|
32
|
+
pullRequestStatus: request.status,
|
|
33
|
+
maxResults: request.maximumResults,
|
|
34
|
+
...(request.nextToken === null ? {} : { nextToken: request.nextToken })
|
|
35
|
+
}))),
|
|
36
|
+
getPullRequest: (request) => provideRuntime(callProvider("getPullRequestRevision", request.account, codecommit.getPullRequest({ pullRequestId: request.pullRequestId }))),
|
|
37
|
+
getDifferencesPage: (request) => provideRuntime(callProvider("getDifferencesPage", request.account, codecommit.getDifferences({
|
|
38
|
+
repositoryName: request.repositoryName,
|
|
39
|
+
beforeCommitSpecifier: request.beforeCommitSpecifier,
|
|
40
|
+
afterCommitSpecifier: request.afterCommitSpecifier,
|
|
41
|
+
MaxResults: request.maximumResults,
|
|
42
|
+
...(request.nextToken === null ? {} : { NextToken: request.nextToken })
|
|
43
|
+
}))),
|
|
44
|
+
listRepositoriesPage: (request) => provideRuntime(callProvider("listRepositoriesPage", request.account, codecommit.listRepositories({
|
|
45
|
+
sortBy: "repositoryName",
|
|
46
|
+
order: "ascending",
|
|
47
|
+
...(request.nextToken === null ? {} : { nextToken: request.nextToken })
|
|
48
|
+
})))
|
|
49
|
+
};
|
|
50
|
+
}));
|
|
51
|
+
//# sourceMappingURL=ReadProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadProvider.js","sourceRoot":"","sources":["../../src/ReadClient/ReadProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** Deterministic classification for bounded CodeCommit file content. @module */
|
|
2
|
+
import * as Schema from "effect/Schema";
|
|
3
|
+
declare const CodeCommitFileClassification_base: Schema.Class<CodeCommitFileClassification, Schema.Struct<{
|
|
4
|
+
readonly binary: Schema.Boolean;
|
|
5
|
+
readonly generated: Schema.Boolean;
|
|
6
|
+
}>, {}>;
|
|
7
|
+
/** Conservative binary/generated facts derived without provider-specific guesses. */
|
|
8
|
+
export declare class CodeCommitFileClassification extends CodeCommitFileClassification_base {
|
|
9
|
+
}
|
|
10
|
+
/** Classify one already-bounded blob using stable, intentionally conservative signals. */
|
|
11
|
+
export declare const classifyCodeCommitFile: (path: string, bytes: Uint8Array<ArrayBufferLike>) => CodeCommitFileClassification;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=classification.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classification.d.ts","sourceRoot":"","sources":["../../src/ReadClient/classification.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;;;;;AAEvC,qFAAqF;AACrF,qBAAa,4BAA6B,SAAQ,iCAKhD;CAAG;AAyBL,0FAA0F;AAC1F,eAAO,MAAM,sBAAsB,SAC3B,MAAM,SACL,UAAU,CAAC,eAAe,CAAC,KACjC,4BAIC,CAAA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/** Deterministic classification for bounded CodeCommit file content. @module */
|
|
2
|
+
import * as Schema from "effect/Schema";
|
|
3
|
+
/** Conservative binary/generated facts derived without provider-specific guesses. */
|
|
4
|
+
export class CodeCommitFileClassification extends Schema.Class("CodeCommitFileClassification")({
|
|
5
|
+
binary: Schema.Boolean,
|
|
6
|
+
generated: Schema.Boolean
|
|
7
|
+
}) {
|
|
8
|
+
}
|
|
9
|
+
const generatedBasenames = new Set([
|
|
10
|
+
"bun.lock",
|
|
11
|
+
"bun.lockb",
|
|
12
|
+
"cargo.lock",
|
|
13
|
+
"composer.lock",
|
|
14
|
+
"package-lock.json",
|
|
15
|
+
"pnpm-lock.yaml",
|
|
16
|
+
"poetry.lock",
|
|
17
|
+
"uv.lock",
|
|
18
|
+
"yarn.lock"
|
|
19
|
+
]);
|
|
20
|
+
const generatedPath = (path) => {
|
|
21
|
+
const normalized = path.replaceAll("\\", "/").toLowerCase();
|
|
22
|
+
const basename = normalized.slice(normalized.lastIndexOf("/") + 1);
|
|
23
|
+
return generatedBasenames.has(basename) ||
|
|
24
|
+
normalized.split("/").includes("generated") ||
|
|
25
|
+
basename.includes(".generated.") ||
|
|
26
|
+
basename.endsWith(".min.css") ||
|
|
27
|
+
basename.endsWith(".min.js") ||
|
|
28
|
+
basename.endsWith(".map");
|
|
29
|
+
};
|
|
30
|
+
/** Classify one already-bounded blob using stable, intentionally conservative signals. */
|
|
31
|
+
export const classifyCodeCommitFile = (path, bytes) => new CodeCommitFileClassification({
|
|
32
|
+
binary: bytes.includes(0),
|
|
33
|
+
generated: generatedPath(path)
|
|
34
|
+
});
|
|
35
|
+
//# sourceMappingURL=classification.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classification.js","sourceRoot":"","sources":["../../src/ReadClient/classification.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,qFAAqF;AACrF,MAAM,OAAO,4BAA6B,SAAQ,MAAM,CAAC,KAAK,CAC5D,8BAA8B,CAC/B,CAAC;IACA,MAAM,EAAE,MAAM,CAAC,OAAO;IACtB,SAAS,EAAE,MAAM,CAAC,OAAO;CAC1B,CAAC;CAAG;AAEL,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACjC,UAAU;IACV,WAAW;IACX,YAAY;IACZ,eAAe;IACf,mBAAmB;IACnB,gBAAgB;IAChB,aAAa;IACb,SAAS;IACT,WAAW;CACZ,CAAC,CAAA;AAEF,MAAM,aAAa,GAAG,CAAC,IAAY,EAAW,EAAE;IAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;IAC3D,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IAClE,OAAO,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC;QACrC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC3C,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC;QAChC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC7B,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC5B,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;AAC7B,CAAC,CAAA;AAED,0FAA0F;AAC1F,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,IAAY,EACZ,KAAkC,EACJ,EAAE,CAChC,IAAI,4BAA4B,CAAC;IAC/B,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzB,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC;CAC/B,CAAC,CAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/** Typed failures produced by the CodeCommit read boundary. @module */
|
|
2
|
+
import { Schema } from "effect";
|
|
3
|
+
import type { AwsApiError, AwsCredentialError, AwsThrottleError } from "../Errors.js";
|
|
4
|
+
declare const CodeCommitMalformedResponseError_base: Schema.Class<CodeCommitMalformedResponseError, Schema.TaggedStruct<"CodeCommitMalformedResponseError", {
|
|
5
|
+
readonly operation: Schema.String;
|
|
6
|
+
readonly diagnosticCode: Schema.String;
|
|
7
|
+
}>, import("effect/Cause").YieldableError>;
|
|
8
|
+
/** Untrusted provider output failed Schema decoding. */
|
|
9
|
+
export declare class CodeCommitMalformedResponseError extends CodeCommitMalformedResponseError_base {
|
|
10
|
+
}
|
|
11
|
+
declare const CodeCommitReadNotFoundError_base: Schema.Class<CodeCommitReadNotFoundError, Schema.TaggedStruct<"CodeCommitReadNotFoundError", {
|
|
12
|
+
readonly operation: Schema.String;
|
|
13
|
+
}>, import("effect/Cause").YieldableError>;
|
|
14
|
+
/** The requested CodeCommit object does not exist in the configured account. */
|
|
15
|
+
export declare class CodeCommitReadNotFoundError extends CodeCommitReadNotFoundError_base {
|
|
16
|
+
}
|
|
17
|
+
declare const CodeCommitBlobTooLargeError_base: Schema.Class<CodeCommitBlobTooLargeError, Schema.TaggedStruct<"CodeCommitBlobTooLargeError", {
|
|
18
|
+
readonly operation: Schema.String;
|
|
19
|
+
readonly maximumBytes: Schema.Int;
|
|
20
|
+
readonly actualBytes: Schema.NullOr<Schema.Int>;
|
|
21
|
+
readonly source: Schema.Literals<readonly ["provider", "read-client"]>;
|
|
22
|
+
}>, import("effect/Cause").YieldableError>;
|
|
23
|
+
/** CodeCommit or the bounded read client refused blob content that was too large. */
|
|
24
|
+
export declare class CodeCommitBlobTooLargeError extends CodeCommitBlobTooLargeError_base {
|
|
25
|
+
}
|
|
26
|
+
/** Closed error union for CodeCommit read operations. */
|
|
27
|
+
export type CodeCommitReadError = AwsCredentialError | AwsThrottleError | AwsApiError | CodeCommitBlobTooLargeError | CodeCommitMalformedResponseError | CodeCommitReadNotFoundError;
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/ReadClient/errors.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;;;;;AAIrF,wDAAwD;AACxD,qBAAa,gCAAiC,SAAQ,qCAMrD;CAAG;;;;AAEJ,gFAAgF;AAChF,qBAAa,2BAA4B,SAAQ,gCAGhD;CAAG;;;;;;;AAEJ,qFAAqF;AACrF,qBAAa,2BAA4B,SAAQ,gCAQhD;CAAG;AAEJ,yDAAyD;AACzD,MAAM,MAAM,mBAAmB,GAC3B,kBAAkB,GAClB,gBAAgB,GAChB,WAAW,GACX,2BAA2B,GAC3B,gCAAgC,GAChC,2BAA2B,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** Typed failures produced by the CodeCommit read boundary. @module */
|
|
2
|
+
import { Schema } from "effect";
|
|
3
|
+
const OperationName = Schema.String.check(Schema.isTrimmed(), Schema.isNonEmpty(), Schema.isMaxLength(100));
|
|
4
|
+
/** Untrusted provider output failed Schema decoding. */
|
|
5
|
+
export class CodeCommitMalformedResponseError extends Schema.TaggedErrorClass()("CodeCommitMalformedResponseError", {
|
|
6
|
+
operation: OperationName,
|
|
7
|
+
diagnosticCode: Schema.String.check(Schema.isTrimmed(), Schema.isNonEmpty(), Schema.isMaxLength(100))
|
|
8
|
+
}) {
|
|
9
|
+
}
|
|
10
|
+
/** The requested CodeCommit object does not exist in the configured account. */
|
|
11
|
+
export class CodeCommitReadNotFoundError extends Schema.TaggedErrorClass()("CodeCommitReadNotFoundError", { operation: OperationName }) {
|
|
12
|
+
}
|
|
13
|
+
/** CodeCommit or the bounded read client refused blob content that was too large. */
|
|
14
|
+
export class CodeCommitBlobTooLargeError extends Schema.TaggedErrorClass()("CodeCommitBlobTooLargeError", {
|
|
15
|
+
operation: OperationName,
|
|
16
|
+
maximumBytes: Schema.Int.check(Schema.isGreaterThan(0)),
|
|
17
|
+
actualBytes: Schema.NullOr(Schema.Int.check(Schema.isGreaterThanOrEqualTo(0))),
|
|
18
|
+
source: Schema.Literals(["provider", "read-client"])
|
|
19
|
+
}) {
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/ReadClient/errors.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAI/B,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAA;AAE3G,wDAAwD;AACxD,MAAM,OAAO,gCAAiC,SAAQ,MAAM,CAAC,gBAAgB,EAAoC,CAC/G,kCAAkC,EAClC;IACE,SAAS,EAAE,aAAa;IACxB,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;CACtG,CACF;CAAG;AAEJ,gFAAgF;AAChF,MAAM,OAAO,2BAA4B,SAAQ,MAAM,CAAC,gBAAgB,EAA+B,CACrG,6BAA6B,EAC7B,EAAE,SAAS,EAAE,aAAa,EAAE,CAC7B;CAAG;AAEJ,qFAAqF;AACrF,MAAM,OAAO,2BAA4B,SAAQ,MAAM,CAAC,gBAAgB,EAA+B,CACrG,6BAA6B,EAC7B;IACE,SAAS,EAAE,aAAa;IACxB,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IACvD,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;CACrD,CACF;CAAG"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Supported CodeCommit production read boundary. @module */
|
|
2
|
+
export * from "./classification.js";
|
|
3
|
+
export * from "./errors.js";
|
|
4
|
+
export * from "./models.js";
|
|
5
|
+
export * from "./ReadClient.js";
|
|
6
|
+
export * from "./ReadProvider.js";
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ReadClient/index.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Supported CodeCommit production read boundary. @module */
|
|
2
|
+
export * from "./classification.js";
|
|
3
|
+
export * from "./errors.js";
|
|
4
|
+
export * from "./models.js";
|
|
5
|
+
export * from "./ReadClient.js";
|
|
6
|
+
export * from "./ReadProvider.js";
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ReadClient/index.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema-decoded read models for immutable CodeCommit pull request revisions
|
|
3
|
+
* and complete changed-file inventory pages.
|
|
4
|
+
*
|
|
5
|
+
* @category Read client
|
|
6
|
+
* @module
|
|
7
|
+
*/
|
|
8
|
+
import { Schema } from "effect";
|
|
9
|
+
/** Maximum blob content retained by one CodeCommit read. */
|
|
10
|
+
export declare const CODECOMMIT_BLOB_MAXIMUM_BYTES = 1048576;
|
|
11
|
+
/** Opaque CodeCommit pagination token. */
|
|
12
|
+
export declare const CodeCommitPageToken: Schema.brand<Schema.String, "CodeCommitPageToken">;
|
|
13
|
+
/** Decoded CodeCommit pagination token. */
|
|
14
|
+
export type CodeCommitPageToken = typeof CodeCommitPageToken.Type;
|
|
15
|
+
/** Stable immutable CodeCommit commit identifier. */
|
|
16
|
+
export declare const CodeCommitCommitId: Schema.brand<Schema.String, "CodeCommitCommitId">;
|
|
17
|
+
/** Decoded immutable CodeCommit commit identifier. */
|
|
18
|
+
export type CodeCommitCommitId = typeof CodeCommitCommitId.Type;
|
|
19
|
+
/** Stable immutable CodeCommit blob identifier. */
|
|
20
|
+
export declare const CodeCommitBlobId: Schema.brand<Schema.String, "CodeCommitBlobId">;
|
|
21
|
+
/** Decoded immutable CodeCommit blob identifier. */
|
|
22
|
+
export type CodeCommitBlobId = typeof CodeCommitBlobId.Type;
|
|
23
|
+
declare const CodeCommitBlobContent_base: Schema.Class<CodeCommitBlobContent, Schema.Struct<{
|
|
24
|
+
readonly blobId: Schema.brand<Schema.String, "CodeCommitBlobId">;
|
|
25
|
+
readonly bytes: Schema.Uint8Array;
|
|
26
|
+
}>, {}>;
|
|
27
|
+
/** Bounded immutable CodeCommit blob content. */
|
|
28
|
+
export declare class CodeCommitBlobContent extends CodeCommitBlobContent_base {
|
|
29
|
+
/** Exact decoded content length without duplicated caller-controlled metadata. */
|
|
30
|
+
get byteLength(): number;
|
|
31
|
+
}
|
|
32
|
+
/** Account coordinates used by CodeCommit provider reads. */
|
|
33
|
+
export declare const CodeCommitReadAccount: Schema.Struct<{
|
|
34
|
+
readonly profile: Schema.brand<Schema.String, "AwsProfileName">;
|
|
35
|
+
readonly region: Schema.brand<Schema.String, "AwsRegion">;
|
|
36
|
+
}>;
|
|
37
|
+
/** Decoded account coordinates used by CodeCommit provider reads. */
|
|
38
|
+
export type CodeCommitReadAccount = typeof CodeCommitReadAccount.Type;
|
|
39
|
+
declare const CodeCommitRepositoryPage_base: Schema.Class<CodeCommitRepositoryPage, Schema.Struct<{
|
|
40
|
+
readonly repositoryNames: Schema.$Array<Schema.brand<Schema.String, "RepositoryName">>;
|
|
41
|
+
readonly nextToken: Schema.NullOr<Schema.brand<Schema.String, "CodeCommitPageToken">>;
|
|
42
|
+
}>, {}>;
|
|
43
|
+
/** One bounded provider page of CodeCommit repository names. */
|
|
44
|
+
export declare class CodeCommitRepositoryPage extends CodeCommitRepositoryPage_base {
|
|
45
|
+
}
|
|
46
|
+
declare const CodeCommitAccountIdentity_base: Schema.Class<CodeCommitAccountIdentity, Schema.Struct<{
|
|
47
|
+
readonly accountId: Schema.String;
|
|
48
|
+
readonly arn: Schema.String;
|
|
49
|
+
}>, {}>;
|
|
50
|
+
/** Secret-free identity returned by AWS STS for a configured account. */
|
|
51
|
+
export declare class CodeCommitAccountIdentity extends CodeCommitAccountIdentity_base {
|
|
52
|
+
}
|
|
53
|
+
declare const CodeCommitPullRequestRevision_base: Schema.Class<CodeCommitPullRequestRevision, Schema.Struct<{
|
|
54
|
+
readonly pullRequestId: Schema.brand<Schema.String, "PullRequestId">;
|
|
55
|
+
readonly revisionId: Schema.String;
|
|
56
|
+
readonly repositoryName: Schema.brand<Schema.String, "RepositoryName">;
|
|
57
|
+
readonly title: Schema.String;
|
|
58
|
+
readonly description: Schema.optional<Schema.String>;
|
|
59
|
+
readonly authorArn: Schema.String;
|
|
60
|
+
readonly status: Schema.Literals<readonly ["OPEN", "CLOSED", "MERGED"]>;
|
|
61
|
+
readonly sourceReference: Schema.String;
|
|
62
|
+
readonly destinationReference: Schema.String;
|
|
63
|
+
readonly sourceCommit: Schema.brand<Schema.String, "CodeCommitCommitId">;
|
|
64
|
+
readonly destinationCommit: Schema.brand<Schema.String, "CodeCommitCommitId">;
|
|
65
|
+
readonly mergeBase: Schema.NullOr<Schema.brand<Schema.String, "CodeCommitCommitId">>;
|
|
66
|
+
readonly creationDate: Schema.Date;
|
|
67
|
+
readonly lastActivityDate: Schema.Date;
|
|
68
|
+
}>, {}>;
|
|
69
|
+
/** Immutable CodeCommit pull request revision and its exact base/head commits. */
|
|
70
|
+
export declare class CodeCommitPullRequestRevision extends CodeCommitPullRequestRevision_base {
|
|
71
|
+
}
|
|
72
|
+
declare const CodeCommitPullRequestPage_base: Schema.Class<CodeCommitPullRequestPage, Schema.Struct<{
|
|
73
|
+
readonly pullRequests: Schema.$Array<typeof CodeCommitPullRequestRevision>;
|
|
74
|
+
readonly nextToken: Schema.NullOr<Schema.brand<Schema.String, "CodeCommitPageToken">>;
|
|
75
|
+
}>, {}>;
|
|
76
|
+
/** One decoded page of pull requests from a repository. */
|
|
77
|
+
export declare class CodeCommitPullRequestPage extends CodeCommitPullRequestPage_base {
|
|
78
|
+
}
|
|
79
|
+
declare const CodeCommitBlobMetadata_base: Schema.Class<CodeCommitBlobMetadata, Schema.Struct<{
|
|
80
|
+
readonly blobId: Schema.brand<Schema.String, "CodeCommitBlobId">;
|
|
81
|
+
readonly path: Schema.String;
|
|
82
|
+
readonly mode: Schema.String;
|
|
83
|
+
}>, {}>;
|
|
84
|
+
/** Immutable blob metadata attached to one side of a changed file. */
|
|
85
|
+
export declare class CodeCommitBlobMetadata extends CodeCommitBlobMetadata_base {
|
|
86
|
+
}
|
|
87
|
+
declare const CodeCommitChangedFile_base: Schema.Class<CodeCommitChangedFile, Schema.Struct<{
|
|
88
|
+
readonly status: Schema.Literals<readonly ["added", "modified", "deleted", "renamed"]>;
|
|
89
|
+
readonly before: Schema.NullOr<typeof CodeCommitBlobMetadata>;
|
|
90
|
+
readonly after: Schema.NullOr<typeof CodeCommitBlobMetadata>;
|
|
91
|
+
}>, {}>;
|
|
92
|
+
/** One changed file with both provider paths, blobs, and modes preserved. */
|
|
93
|
+
export declare class CodeCommitChangedFile extends CodeCommitChangedFile_base {
|
|
94
|
+
}
|
|
95
|
+
declare const CodeCommitChangedFilesPage_base: Schema.Class<CodeCommitChangedFilesPage, Schema.Struct<{
|
|
96
|
+
readonly files: Schema.$Array<typeof CodeCommitChangedFile>;
|
|
97
|
+
readonly nextToken: Schema.NullOr<Schema.brand<Schema.String, "CodeCommitPageToken">>;
|
|
98
|
+
readonly providerPageLimit: Schema.Int;
|
|
99
|
+
}>, {}>;
|
|
100
|
+
/** One bounded provider page from the complete CodeCommit changed-file inventory. */
|
|
101
|
+
export declare class CodeCommitChangedFilesPage extends CodeCommitChangedFilesPage_base {
|
|
102
|
+
}
|
|
103
|
+
export {};
|
|
104
|
+
//# sourceMappingURL=models.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/ReadClient/models.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAM/B,4DAA4D;AAC5D,eAAO,MAAM,6BAA6B,UAAY,CAAA;AAEtD,0CAA0C;AAC1C,eAAO,MAAM,mBAAmB,oDAA2D,CAAA;AAE3F,2CAA2C;AAC3C,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAC,IAAI,CAAA;AAEjE,qDAAqD;AACrD,eAAO,MAAM,kBAAkB,mDAA0D,CAAA;AAEzF,sDAAsD;AACtD,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC,IAAI,CAAA;AAE/D,mDAAmD;AACnD,eAAO,MAAM,gBAAgB,iDAAwD,CAAA;AAErF,oDAAoD;AACpD,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAA;;;;;AAE3D,iDAAiD;AACjD,qBAAa,qBAAsB,SAAQ,0BASzC;IACA,kFAAkF;IAClF,IAAI,UAAU,IAAI,MAAM,CAEvB;CACF;AAED,6DAA6D;AAC7D,eAAO,MAAM,qBAAqB;;;EAGkB,CAAA;AAEpD,qEAAqE;AACrE,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAA;;;;;AAErE,gEAAgE;AAChE,qBAAa,wBAAyB,SAAQ,6BAO5C;CAAG;;;;;AAEL,yEAAyE;AACzE,qBAAa,yBAA0B,SAAQ,8BAK7C;CAAG;;;;;;;;;;;;;;;;;AAEL,kFAAkF;AAClF,qBAAa,6BAA8B,SAAQ,kCAiBjD;CAAG;;;;;AAEL,2DAA2D;AAC3D,qBAAa,yBAA0B,SAAQ,8BAK7C;CAAG;;;;;;AAEL,sEAAsE;AACtE,qBAAa,sBAAuB,SAAQ,2BAM1C;CAAG;;;;;;AAEL,6EAA6E;AAC7E,qBAAa,qBAAsB,SAAQ,0BAMzC;CAAG;;;;;;AAEL,qFAAqF;AACrF,qBAAa,0BAA2B,SAAQ,+BAM9C;CAAG"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema-decoded read models for immutable CodeCommit pull request revisions
|
|
3
|
+
* and complete changed-file inventory pages.
|
|
4
|
+
*
|
|
5
|
+
* @category Read client
|
|
6
|
+
* @module
|
|
7
|
+
*/
|
|
8
|
+
import { Schema } from "effect";
|
|
9
|
+
import { AwsProfileName, AwsRegion, PullRequestId, RepositoryName } from "../Domain.js";
|
|
10
|
+
const NonEmptyString = Schema.String.check(Schema.isTrimmed(), Schema.isNonEmpty());
|
|
11
|
+
/** Maximum blob content retained by one CodeCommit read. */
|
|
12
|
+
export const CODECOMMIT_BLOB_MAXIMUM_BYTES = 1_048_576;
|
|
13
|
+
/** Opaque CodeCommit pagination token. */
|
|
14
|
+
export const CodeCommitPageToken = NonEmptyString.pipe(Schema.brand("CodeCommitPageToken"));
|
|
15
|
+
/** Stable immutable CodeCommit commit identifier. */
|
|
16
|
+
export const CodeCommitCommitId = NonEmptyString.pipe(Schema.brand("CodeCommitCommitId"));
|
|
17
|
+
/** Stable immutable CodeCommit blob identifier. */
|
|
18
|
+
export const CodeCommitBlobId = NonEmptyString.pipe(Schema.brand("CodeCommitBlobId"));
|
|
19
|
+
/** Bounded immutable CodeCommit blob content. */
|
|
20
|
+
export class CodeCommitBlobContent extends Schema.Class("CodeCommitBlobContent")({
|
|
21
|
+
blobId: CodeCommitBlobId,
|
|
22
|
+
bytes: Schema.Uint8Array.check(Schema.makeFilter((bytes) => bytes.byteLength <= CODECOMMIT_BLOB_MAXIMUM_BYTES, {
|
|
23
|
+
expected: `at most ${CODECOMMIT_BLOB_MAXIMUM_BYTES} blob bytes`
|
|
24
|
+
}))
|
|
25
|
+
}) {
|
|
26
|
+
/** Exact decoded content length without duplicated caller-controlled metadata. */
|
|
27
|
+
get byteLength() {
|
|
28
|
+
return this.bytes.byteLength;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/** Account coordinates used by CodeCommit provider reads. */
|
|
32
|
+
export const CodeCommitReadAccount = Schema.Struct({
|
|
33
|
+
profile: AwsProfileName,
|
|
34
|
+
region: AwsRegion
|
|
35
|
+
}).annotate({ identifier: "CodeCommitReadAccount" });
|
|
36
|
+
/** One bounded provider page of CodeCommit repository names. */
|
|
37
|
+
export class CodeCommitRepositoryPage extends Schema.Class("CodeCommitRepositoryPage")({
|
|
38
|
+
repositoryNames: Schema.Array(RepositoryName.check(Schema.isTrimmed(), Schema.isNonEmpty(), Schema.isMaxLength(100))).check(Schema.isMaxLength(1_000)),
|
|
39
|
+
nextToken: Schema.NullOr(CodeCommitPageToken)
|
|
40
|
+
}) {
|
|
41
|
+
}
|
|
42
|
+
/** Secret-free identity returned by AWS STS for a configured account. */
|
|
43
|
+
export class CodeCommitAccountIdentity extends Schema.Class("CodeCommitAccountIdentity")({
|
|
44
|
+
accountId: NonEmptyString,
|
|
45
|
+
arn: NonEmptyString
|
|
46
|
+
}) {
|
|
47
|
+
}
|
|
48
|
+
/** Immutable CodeCommit pull request revision and its exact base/head commits. */
|
|
49
|
+
export class CodeCommitPullRequestRevision extends Schema.Class("CodeCommitPullRequestRevision")({
|
|
50
|
+
pullRequestId: PullRequestId,
|
|
51
|
+
revisionId: NonEmptyString,
|
|
52
|
+
repositoryName: RepositoryName,
|
|
53
|
+
title: NonEmptyString,
|
|
54
|
+
description: Schema.optional(Schema.String),
|
|
55
|
+
authorArn: NonEmptyString,
|
|
56
|
+
status: Schema.Literals(["OPEN", "CLOSED", "MERGED"]),
|
|
57
|
+
sourceReference: NonEmptyString,
|
|
58
|
+
destinationReference: NonEmptyString,
|
|
59
|
+
sourceCommit: CodeCommitCommitId,
|
|
60
|
+
destinationCommit: CodeCommitCommitId,
|
|
61
|
+
mergeBase: Schema.NullOr(CodeCommitCommitId),
|
|
62
|
+
creationDate: Schema.Date,
|
|
63
|
+
lastActivityDate: Schema.Date
|
|
64
|
+
}) {
|
|
65
|
+
}
|
|
66
|
+
/** One decoded page of pull requests from a repository. */
|
|
67
|
+
export class CodeCommitPullRequestPage extends Schema.Class("CodeCommitPullRequestPage")({
|
|
68
|
+
pullRequests: Schema.Array(CodeCommitPullRequestRevision),
|
|
69
|
+
nextToken: Schema.NullOr(CodeCommitPageToken)
|
|
70
|
+
}) {
|
|
71
|
+
}
|
|
72
|
+
/** Immutable blob metadata attached to one side of a changed file. */
|
|
73
|
+
export class CodeCommitBlobMetadata extends Schema.Class("CodeCommitBlobMetadata")({
|
|
74
|
+
blobId: CodeCommitBlobId,
|
|
75
|
+
path: NonEmptyString,
|
|
76
|
+
mode: NonEmptyString
|
|
77
|
+
}) {
|
|
78
|
+
}
|
|
79
|
+
/** One changed file with both provider paths, blobs, and modes preserved. */
|
|
80
|
+
export class CodeCommitChangedFile extends Schema.Class("CodeCommitChangedFile")({
|
|
81
|
+
status: Schema.Literals(["added", "modified", "deleted", "renamed"]),
|
|
82
|
+
before: Schema.NullOr(CodeCommitBlobMetadata),
|
|
83
|
+
after: Schema.NullOr(CodeCommitBlobMetadata)
|
|
84
|
+
}) {
|
|
85
|
+
}
|
|
86
|
+
/** One bounded provider page from the complete CodeCommit changed-file inventory. */
|
|
87
|
+
export class CodeCommitChangedFilesPage extends Schema.Class("CodeCommitChangedFilesPage")({
|
|
88
|
+
files: Schema.Array(CodeCommitChangedFile),
|
|
89
|
+
nextToken: Schema.NullOr(CodeCommitPageToken),
|
|
90
|
+
providerPageLimit: Schema.Int.check(Schema.isBetween({ minimum: 1, maximum: 100 }))
|
|
91
|
+
}) {
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=models.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/ReadClient/models.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAEvF,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAA;AAEnF,4DAA4D;AAC5D,MAAM,CAAC,MAAM,6BAA6B,GAAG,SAAS,CAAA;AAEtD,0CAA0C;AAC1C,MAAM,CAAC,MAAM,mBAAmB,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAA;AAK3F,qDAAqD;AACrD,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAA;AAKzF,mDAAmD;AACnD,MAAM,CAAC,MAAM,gBAAgB,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAA;AAKrF,iDAAiD;AACjD,MAAM,OAAO,qBAAsB,SAAQ,MAAM,CAAC,KAAK,CACrD,uBAAuB,CACxB,CAAC;IACA,MAAM,EAAE,gBAAgB;IACxB,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,CAC5B,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,IAAI,6BAA6B,EAAE;QAC9E,QAAQ,EAAE,WAAW,6BAA6B,aAAa;KAChE,CAAC,CACH;CACF,CAAC;IACA,kFAAkF;IAClF,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAA;IAC9B,CAAC;CACF;AAED,6DAA6D;AAC7D,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC;IACjD,OAAO,EAAE,cAAc;IACvB,MAAM,EAAE,SAAS;CAClB,CAAC,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,uBAAuB,EAAE,CAAC,CAAA;AAKpD,gEAAgE;AAChE,MAAM,OAAO,wBAAyB,SAAQ,MAAM,CAAC,KAAK,CACxD,0BAA0B,CAC3B,CAAC;IACA,eAAe,EAAE,MAAM,CAAC,KAAK,CAC3B,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CACvF,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC;CAC9C,CAAC;CAAG;AAEL,yEAAyE;AACzE,MAAM,OAAO,yBAA0B,SAAQ,MAAM,CAAC,KAAK,CACzD,2BAA2B,CAC5B,CAAC;IACA,SAAS,EAAE,cAAc;IACzB,GAAG,EAAE,cAAc;CACpB,CAAC;CAAG;AAEL,kFAAkF;AAClF,MAAM,OAAO,6BAA8B,SAAQ,MAAM,CAAC,KAAK,CAC7D,+BAA+B,CAChC,CAAC;IACA,aAAa,EAAE,aAAa;IAC5B,UAAU,EAAE,cAAc;IAC1B,cAAc,EAAE,cAAc;IAC9B,KAAK,EAAE,cAAc;IACrB,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IAC3C,SAAS,EAAE,cAAc;IACzB,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACrD,eAAe,EAAE,cAAc;IAC/B,oBAAoB,EAAE,cAAc;IACpC,YAAY,EAAE,kBAAkB;IAChC,iBAAiB,EAAE,kBAAkB;IACrC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC;IAC5C,YAAY,EAAE,MAAM,CAAC,IAAI;IACzB,gBAAgB,EAAE,MAAM,CAAC,IAAI;CAC9B,CAAC;CAAG;AAEL,2DAA2D;AAC3D,MAAM,OAAO,yBAA0B,SAAQ,MAAM,CAAC,KAAK,CACzD,2BAA2B,CAC5B,CAAC;IACA,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC;IACzD,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC;CAC9C,CAAC;CAAG;AAEL,sEAAsE;AACtE,MAAM,OAAO,sBAAuB,SAAQ,MAAM,CAAC,KAAK,CACtD,wBAAwB,CACzB,CAAC;IACA,MAAM,EAAE,gBAAgB;IACxB,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE,cAAc;CACrB,CAAC;CAAG;AAEL,6EAA6E;AAC7E,MAAM,OAAO,qBAAsB,SAAQ,MAAM,CAAC,KAAK,CACrD,uBAAuB,CACxB,CAAC;IACA,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACpE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC;IAC7C,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC;CAC7C,CAAC;CAAG;AAEL,qFAAqF;AACrF,MAAM,OAAO,0BAA2B,SAAQ,MAAM,CAAC,KAAK,CAC1D,4BAA4B,CAC7B,CAAC;IACA,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC;IAC7C,iBAAiB,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;CACpF,CAAC;CAAG"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* @module
|
|
7
7
|
*/
|
|
8
|
-
import { Context, Effect, Layer } from "effect";
|
|
8
|
+
import { Context, Effect, Layer, Schema } from "effect";
|
|
9
9
|
import type { Success } from "effect/Effect";
|
|
10
10
|
import { ChildProcessSpawner } from "effect/unstable/process";
|
|
11
11
|
import { DockerError } from "../Errors.js";
|
|
@@ -35,16 +35,32 @@ export interface ContainerInfo {
|
|
|
35
35
|
}> | null>;
|
|
36
36
|
};
|
|
37
37
|
}
|
|
38
|
+
interface DockerPsContainer {
|
|
39
|
+
readonly Id: string;
|
|
40
|
+
readonly State: string;
|
|
41
|
+
readonly Labels: Record<string, string>;
|
|
42
|
+
}
|
|
38
43
|
declare const makeDockerService: Effect.Effect<{
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
44
|
+
isAvailable: () => Effect.Effect<boolean, import("effect/PlatformError").PlatformError, never>;
|
|
45
|
+
pullImage: (image: string) => Effect.Effect<void, DockerError, never>;
|
|
46
|
+
createContainer: (config: ContainerConfig) => Effect.Effect<string, DockerError, never>;
|
|
47
|
+
startContainer: (containerId: string) => Effect.Effect<void, DockerError, never>;
|
|
48
|
+
stopContainer: (containerId: string, timeout?: number) => Effect.Effect<void, DockerError, never>;
|
|
49
|
+
removeContainer: (containerId: string) => Effect.Effect<void, DockerError, never>;
|
|
50
|
+
inspectContainer: (containerId: string) => Effect.Effect<Schema.Struct.ReadonlySide<{
|
|
51
|
+
readonly Id: Schema.String;
|
|
52
|
+
readonly State: Schema.Struct<{
|
|
53
|
+
readonly Status: Schema.String;
|
|
54
|
+
readonly Running: Schema.Boolean;
|
|
55
|
+
}>;
|
|
56
|
+
readonly NetworkSettings: Schema.Struct<{
|
|
57
|
+
readonly Ports: Schema.$Record<Schema.String, Schema.NullOr<Schema.$Array<Schema.Struct<{
|
|
58
|
+
readonly HostPort: Schema.String;
|
|
59
|
+
}>>>>;
|
|
60
|
+
}>;
|
|
61
|
+
}, "Type">, DockerError, never>;
|
|
62
|
+
exec: (containerId: string, cmd: ReadonlyArray<string>) => Effect.Effect<string, DockerError, never>;
|
|
63
|
+
listContainersByLabel: (label: string, value: string) => Effect.Effect<DockerPsContainer[] | {
|
|
48
64
|
Id: string;
|
|
49
65
|
State: string;
|
|
50
66
|
Labels: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DockerService.d.ts","sourceRoot":"","sources":["../../src/SandboxService/DockerService.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"DockerService.d.ts","sourceRoot":"","sources":["../../src/SandboxService/DockerService.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAgB,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1C,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;IAC5D,QAAQ,CAAC,UAAU,EAAE;QACnB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;QACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC,CAAA;QAC1E,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAC9B,CAAA;IACD,QAAQ,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACzC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;QACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;KAC1B,CAAA;IACD,QAAQ,CAAC,eAAe,EAAE;QACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC,GAAG,IAAI,CAAC,CAAA;KAC3E,CAAA;CACF;AAsBD,UAAU,iBAAiB;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACxC;AAcD,QAAA,MAAM,iBAAiB;;uBAYA,MAAM;8BAEC,eAAe;kCAqCX,MAAM;iCAGP,MAAM;mCAGJ,MAAM;oCAGL,MAAM;;;;;;;;;;;;wBAoBlB,MAAM,OAAO,aAAa,CAAC,MAAM,CAAC;mCAGvB,MAAM,SAAS,MAAM;;;;;kDAsBtD,CAAA;AAEF,MAAM,WAAW,kBAAmB,SAAQ,OAAO,CAAC,OAAO,iBAAiB,CAAC;CAAG;;AAEhF,qBAAa,aAAc,SAAQ,kBAGf;IAClB,MAAM,CAAC,QAAQ,CAAC,OAAO,6EAAiD;CACzE"}
|
|
@@ -5,15 +5,33 @@
|
|
|
5
5
|
*
|
|
6
6
|
* @module
|
|
7
7
|
*/
|
|
8
|
-
import { Context, Effect, Layer } from "effect";
|
|
8
|
+
import { Context, Effect, Layer, Schema } from "effect";
|
|
9
9
|
import { ChildProcess, ChildProcessSpawner } from "effect/unstable/process";
|
|
10
10
|
import { DockerError } from "../Errors.js";
|
|
11
|
+
const ContainerInfoSchema = Schema.Struct({
|
|
12
|
+
Id: Schema.String,
|
|
13
|
+
State: Schema.Struct({
|
|
14
|
+
Status: Schema.String,
|
|
15
|
+
Running: Schema.Boolean
|
|
16
|
+
}),
|
|
17
|
+
NetworkSettings: Schema.Struct({
|
|
18
|
+
Ports: Schema.Record(Schema.String, Schema.NullOr(Schema.Array(Schema.Struct({ HostPort: Schema.String }))))
|
|
19
|
+
})
|
|
20
|
+
});
|
|
21
|
+
const DockerPsRow = Schema.Struct({
|
|
22
|
+
ID: Schema.String,
|
|
23
|
+
State: Schema.String,
|
|
24
|
+
Labels: Schema.String
|
|
25
|
+
});
|
|
26
|
+
const decodeContainerInfoArray = Schema.decodeUnknownSync(Schema.Array(ContainerInfoSchema));
|
|
27
|
+
const decodeDockerPsRow = Schema.decodeUnknownSync(DockerPsRow);
|
|
28
|
+
const emptyDockerPsContainers = () => [];
|
|
11
29
|
const dockerError = (operation) => (effect) => effect.pipe(Effect.mapError((cause) => new DockerError({ operation, cause })), Effect.withSpan(`DockerService.${operation}`));
|
|
12
30
|
const shellEscape = (s) => `'${s.replace(/'/g, "'\\''")}'`;
|
|
13
31
|
const makeDockerService = Effect.gen(function* () {
|
|
14
32
|
const spawner = yield* ChildProcessSpawner.ChildProcessSpawner;
|
|
15
33
|
const docker = (...args) => spawner.string(ChildProcess.make("sh", ["-c", `docker ${args.map(shellEscape).join(" ")} 2>&1`]));
|
|
16
|
-
|
|
34
|
+
const service = {
|
|
17
35
|
isAvailable: () => docker("info").pipe(Effect.map(() => true), Effect.catchIf(() => true, () => Effect.succeed(false))),
|
|
18
36
|
pullImage: (image) => docker("pull", image).pipe(Effect.asVoid, dockerError("pullImage")),
|
|
19
37
|
createContainer: (config) => {
|
|
@@ -51,7 +69,7 @@ const makeDockerService = Effect.gen(function* () {
|
|
|
51
69
|
removeContainer: (containerId) => docker("rm", "-f", containerId).pipe(Effect.asVoid, dockerError("removeContainer")),
|
|
52
70
|
inspectContainer: (containerId) => docker("inspect", containerId).pipe(dockerError("inspectContainer"), Effect.flatMap((output) => Effect.try({
|
|
53
71
|
try: () => {
|
|
54
|
-
const arr = JSON.parse(output);
|
|
72
|
+
const arr = decodeContainerInfoArray(JSON.parse(output));
|
|
55
73
|
if (arr.length === 0)
|
|
56
74
|
return undefined;
|
|
57
75
|
return arr[0];
|
|
@@ -64,9 +82,9 @@ const makeDockerService = Effect.gen(function* () {
|
|
|
64
82
|
listContainersByLabel: (label, value) => docker("ps", "-a", "--filter", `label=${label}=${value}`, "--format", "{{json .}}").pipe(dockerError("listContainersByLabel"), Effect.flatMap((output) => Effect.try({
|
|
65
83
|
try: () => {
|
|
66
84
|
if (!output)
|
|
67
|
-
return
|
|
85
|
+
return emptyDockerPsContainers();
|
|
68
86
|
return output.split("\n").map((line) => {
|
|
69
|
-
const obj = JSON.parse(line);
|
|
87
|
+
const obj = decodeDockerPsRow(JSON.parse(line));
|
|
70
88
|
return {
|
|
71
89
|
Id: obj.ID,
|
|
72
90
|
State: obj.State,
|
|
@@ -77,6 +95,7 @@ const makeDockerService = Effect.gen(function* () {
|
|
|
77
95
|
catch: (cause) => new DockerError({ operation: "listContainersByLabel", cause })
|
|
78
96
|
})))
|
|
79
97
|
};
|
|
98
|
+
return service;
|
|
80
99
|
});
|
|
81
100
|
export class DockerService extends Context.Service()("DockerService") {
|
|
82
101
|
static Default = Layer.effect(DockerService, makeDockerService);
|