@knpkv/codecommit-core 0.11.0 → 0.14.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 +44 -3
- package/dist/AwsClient/AwsClientGated.d.ts.map +1 -1
- package/dist/AwsClient/AwsClientGated.js +3 -3
- package/dist/AwsClient/AwsClientGated.js.map +1 -1
- package/dist/AwsClient/approvalRuleContent.js.map +1 -1
- package/dist/AwsClient/getCommentsForPullRequest.d.ts +1 -1
- package/dist/AwsClient/getCommentsForPullRequest.d.ts.map +1 -1
- package/dist/AwsClient/getCommentsForPullRequest.js +4 -4
- package/dist/AwsClient/getCommentsForPullRequest.js.map +1 -1
- package/dist/AwsClient/getDifferences.js +1 -1
- package/dist/AwsClient/getDifferences.js.map +1 -1
- package/dist/AwsClient/getPullRequest.d.ts.map +1 -1
- package/dist/AwsClient/getPullRequest.js +7 -1
- package/dist/AwsClient/getPullRequest.js.map +1 -1
- package/dist/AwsClient/getPullRequests.d.ts +2 -1
- package/dist/AwsClient/getPullRequests.d.ts.map +1 -1
- package/dist/AwsClient/getPullRequests.js +14 -12
- package/dist/AwsClient/getPullRequests.js.map +1 -1
- package/dist/AwsClient/index.d.ts +1 -0
- package/dist/AwsClient/index.d.ts.map +1 -1
- package/dist/AwsClient/internal.d.ts +36 -11
- package/dist/AwsClient/internal.d.ts.map +1 -1
- package/dist/AwsClient/internal.js +17 -14
- package/dist/AwsClient/internal.js.map +1 -1
- package/dist/AwsClientConfig/internal/ProfileCredentialProvider.d.ts +18 -0
- package/dist/AwsClientConfig/internal/ProfileCredentialProvider.d.ts.map +1 -0
- package/dist/AwsClientConfig/internal/ProfileCredentialProvider.js +7 -0
- package/dist/AwsClientConfig/internal/ProfileCredentialProvider.js.map +1 -0
- package/dist/AwsClientConfig.d.ts +16 -25
- package/dist/AwsClientConfig.d.ts.map +1 -1
- package/dist/AwsClientConfig.js +37 -0
- package/dist/AwsClientConfig.js.map +1 -1
- package/dist/CacheService/CacheError.js +1 -1
- package/dist/CacheService/CacheError.js.map +1 -1
- package/dist/CacheService/Database.d.ts +5 -4
- package/dist/CacheService/Database.d.ts.map +1 -1
- package/dist/CacheService/Database.js +8 -5
- package/dist/CacheService/Database.js.map +1 -1
- package/dist/CacheService/EventsHub.d.ts +2 -2
- package/dist/CacheService/EventsHub.d.ts.map +1 -1
- package/dist/CacheService/diff.js +2 -2
- package/dist/CacheService/diff.js.map +1 -1
- package/dist/CacheService/internal/PrivateDatabasePathNode.d.ts +34 -0
- package/dist/CacheService/internal/PrivateDatabasePathNode.d.ts.map +1 -0
- package/dist/CacheService/internal/PrivateDatabasePathNode.js +63 -0
- package/dist/CacheService/internal/PrivateDatabasePathNode.js.map +1 -0
- package/dist/CacheService/migrations/0016_sandbox_access_password.d.ts +5 -0
- package/dist/CacheService/migrations/0016_sandbox_access_password.d.ts.map +1 -0
- package/dist/CacheService/migrations/0016_sandbox_access_password.js +4 -0
- package/dist/CacheService/migrations/0016_sandbox_access_password.js.map +1 -0
- package/dist/CacheService/repos/CommentRepo.d.ts +3 -3
- package/dist/CacheService/repos/CommentRepo.d.ts.map +1 -1
- package/dist/CacheService/repos/NotificationRepo.d.ts +3 -3
- package/dist/CacheService/repos/NotificationRepo.d.ts.map +1 -1
- package/dist/CacheService/repos/PullRequestRepo/index.d.ts +108 -108
- package/dist/CacheService/repos/PullRequestRepo/index.d.ts.map +1 -1
- package/dist/CacheService/repos/PullRequestRepo/queries.d.ts +106 -106
- package/dist/CacheService/repos/PullRequestRepo/queries.d.ts.map +1 -1
- package/dist/CacheService/repos/SandboxRepo.d.ts +73 -67
- package/dist/CacheService/repos/SandboxRepo.d.ts.map +1 -1
- package/dist/CacheService/repos/SandboxRepo.js +3 -2
- package/dist/CacheService/repos/SandboxRepo.js.map +1 -1
- package/dist/CacheService/repos/StatsRepo/index.d.ts +3 -3
- package/dist/CacheService/repos/StatsRepo/index.d.ts.map +1 -1
- package/dist/CacheService/repos/SubscriptionRepo.d.ts +8 -8
- package/dist/CacheService/repos/SubscriptionRepo.d.ts.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/commentLocations.d.ts.map +1 -1
- package/dist/CacheService/repos/commentLocations.js +9 -8
- package/dist/CacheService/repos/commentLocations.js.map +1 -1
- package/dist/ChildEnv.d.ts +80 -2
- package/dist/ChildEnv.d.ts.map +1 -1
- package/dist/ChildEnv.js +96 -14
- package/dist/ChildEnv.js.map +1 -1
- package/dist/ConfigService/SandboxPolicy.d.ts +37 -0
- package/dist/ConfigService/SandboxPolicy.d.ts.map +1 -0
- package/dist/ConfigService/SandboxPolicy.js +72 -0
- package/dist/ConfigService/SandboxPolicy.js.map +1 -0
- package/dist/ConfigService/index.d.ts +3 -1
- package/dist/ConfigService/index.d.ts.map +1 -1
- package/dist/ConfigService/index.js +10 -2
- package/dist/ConfigService/index.js.map +1 -1
- package/dist/ConfigService/internal.d.ts +15 -0
- package/dist/ConfigService/internal.d.ts.map +1 -1
- package/dist/ConfigService/internal.js +22 -9
- package/dist/ConfigService/internal.js.map +1 -1
- package/dist/ConfigService/load.d.ts +37 -23
- package/dist/ConfigService/load.d.ts.map +1 -1
- package/dist/ConfigService/load.js +2 -2
- package/dist/ConfigService/load.js.map +1 -1
- package/dist/ConfigService/reset.d.ts +36 -22
- package/dist/ConfigService/reset.d.ts.map +1 -1
- package/dist/ConfigService/save.d.ts +36 -22
- package/dist/ConfigService/save.d.ts.map +1 -1
- package/dist/Domain.d.ts +29 -0
- package/dist/Domain.d.ts.map +1 -1
- package/dist/Domain.js +77 -10
- package/dist/Domain.js.map +1 -1
- package/dist/Errors.d.ts +11 -1
- package/dist/Errors.d.ts.map +1 -1
- package/dist/Errors.js +19 -10
- package/dist/Errors.js.map +1 -1
- package/dist/ManagedReviewProtocol.d.ts +5 -0
- package/dist/ManagedReviewProtocol.d.ts.map +1 -0
- package/dist/ManagedReviewProtocol.js +5 -0
- package/dist/ManagedReviewProtocol.js.map +1 -0
- package/dist/MockTransport.d.ts +24 -0
- package/dist/MockTransport.d.ts.map +1 -0
- package/dist/MockTransport.js +58 -0
- package/dist/MockTransport.js.map +1 -0
- package/dist/PRService/index.d.ts +8 -7
- package/dist/PRService/index.d.ts.map +1 -1
- package/dist/PRService/index.js.map +1 -1
- package/dist/PRService/internal.d.ts +31 -31
- package/dist/PRService/internal.d.ts.map +1 -1
- package/dist/PRService/internal.js +5 -5
- package/dist/PRService/internal.js.map +1 -1
- package/dist/PRService/refresh.d.ts.map +1 -1
- package/dist/PRService/refresh.js +12 -3
- package/dist/PRService/refresh.js.map +1 -1
- package/dist/PRService/refreshFetch.d.ts +2 -1
- package/dist/PRService/refreshFetch.d.ts.map +1 -1
- package/dist/PRService/refreshFetch.js +24 -6
- package/dist/PRService/refreshFetch.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 +3 -1
- package/dist/PRService/refreshResolve.js.map +1 -1
- package/dist/PRService/refreshSinglePR.d.ts +7 -1
- package/dist/PRService/refreshSinglePR.d.ts.map +1 -1
- package/dist/PRService/refreshSinglePR.js +8 -5
- package/dist/PRService/refreshSinglePR.js.map +1 -1
- package/dist/PermissionService/AuditLog.d.ts +3 -3
- package/dist/PermissionService/AuditLog.d.ts.map +1 -1
- package/dist/PermissionService/AuditLog.js +2 -2
- package/dist/PermissionService/AuditLog.js.map +1 -1
- package/dist/PermissionService/PermissionGateLive.d.ts +3 -0
- package/dist/PermissionService/PermissionGateLive.d.ts.map +1 -1
- package/dist/PermissionService/PermissionGateLive.js +9 -20
- package/dist/PermissionService/PermissionGateLive.js.map +1 -1
- package/dist/PermissionService/index.d.ts +2 -2
- package/dist/PermissionService/index.d.ts.map +1 -1
- package/dist/PermissionService/index.js +9 -1
- package/dist/PermissionService/index.js.map +1 -1
- package/dist/PermissionService/operations.d.ts +24 -2
- package/dist/PermissionService/operations.d.ts.map +1 -1
- package/dist/PermissionService/operations.js +18 -0
- package/dist/PermissionService/operations.js.map +1 -1
- package/dist/ReadClient/ReadClient.d.ts +18 -3
- package/dist/ReadClient/ReadClient.d.ts.map +1 -1
- package/dist/ReadClient/ReadClient.js +35 -7
- package/dist/ReadClient/ReadClient.js.map +1 -1
- package/dist/ReadClient/ReadProvider.d.ts +6 -0
- package/dist/ReadClient/ReadProvider.d.ts.map +1 -1
- package/dist/ReadClient/ReadProvider.js +4 -3
- package/dist/ReadClient/ReadProvider.js.map +1 -1
- package/dist/ReadClient/errors.js +3 -3
- package/dist/ReadClient/errors.js.map +1 -1
- package/dist/ReadClient/models.d.ts +15 -1
- package/dist/ReadClient/models.d.ts.map +1 -1
- package/dist/ReadClient/models.js +14 -1
- package/dist/ReadClient/models.js.map +1 -1
- package/dist/ReviewClient/ReviewClient.d.ts.map +1 -1
- package/dist/ReviewClient/ReviewClient.js +57 -4
- package/dist/ReviewClient/ReviewClient.js.map +1 -1
- package/dist/ReviewClient/ReviewProvider.d.ts +30 -0
- package/dist/ReviewClient/ReviewProvider.d.ts.map +1 -1
- package/dist/ReviewClient/ReviewProvider.js +67 -5
- package/dist/ReviewClient/ReviewProvider.js.map +1 -1
- package/dist/ReviewClient/errors.d.ts +3 -1
- package/dist/ReviewClient/errors.d.ts.map +1 -1
- package/dist/ReviewClient/errors.js +73 -2
- package/dist/ReviewClient/errors.js.map +1 -1
- package/dist/ReviewClient/index.d.ts +1 -1
- package/dist/ReviewClient/index.d.ts.map +1 -1
- package/dist/ReviewClient/index.js +1 -1
- package/dist/ReviewClient/index.js.map +1 -1
- package/dist/ReviewClient/models.d.ts +38 -1
- package/dist/ReviewClient/models.d.ts.map +1 -1
- package/dist/ReviewClient/models.js +15 -3
- package/dist/ReviewClient/models.js.map +1 -1
- package/dist/ReviewProfile.d.ts +42 -0
- package/dist/ReviewProfile.d.ts.map +1 -0
- package/dist/ReviewProfile.js +75 -0
- package/dist/ReviewProfile.js.map +1 -0
- package/dist/SandboxService/DockerService.d.ts +24 -15
- package/dist/SandboxService/DockerService.d.ts.map +1 -1
- package/dist/SandboxService/DockerService.js +22 -6
- package/dist/SandboxService/DockerService.js.map +1 -1
- package/dist/SandboxService/PluginService.d.ts +2 -2
- package/dist/SandboxService/PluginService.d.ts.map +1 -1
- package/dist/SandboxService/SandboxService.d.ts +88 -73
- package/dist/SandboxService/SandboxService.d.ts.map +1 -1
- package/dist/SandboxService/SandboxService.js +69 -21
- package/dist/SandboxService/SandboxService.js.map +1 -1
- package/dist/SandboxService/SandboxWorkerScope.d.ts +2 -2
- package/dist/SandboxService/SandboxWorkerScope.d.ts.map +1 -1
- package/dist/SandboxService/SandboxWorkerScope.js.map +1 -1
- package/package.json +8 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/AwsClient/internal.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/AwsClient/internal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,KAAK,oBAAoB,MAAM,kCAAkC,CAAA;AACxE,OAAO,KAAK,eAAe,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAY,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAgC,KAAK,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AACjH,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACtE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAE9D,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAC9D,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAElD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,aAAa,SAAS,aAAa,KAAG,OAevE,CAAA;AAED,KAAK,aAAa,GACd,eAAe,GACf,oBAAoB,CAAC,WAAW,GAChC,eAAe,CAAC,MAAM,GACtB,UAAU,CAAC,UAAU,CAAA;AAYzB;;GAEG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,UAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC7B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,eAAe,CAIpC,CAAA;AAEN;;;;GAIG;AACH,eAAO,MAAM,eAAe,QAAS,MAAM,KAAG,MAK7C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,YACpB,cAAc,UACf,SAAS,KAChB,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,EAAE,eAAe,CAQrE,CAAA;AAEN;;GAEG;AACH,eAAO,MAAM,YAAY,cAAe,MAAM,WAAW,cAAc,UAAU,SAAS,SAAS,OAAO,gBAClD,CAAA;AAExD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAA;AAE/D,kGAAkG;AAClG,eAAO,MAAM,wBAAwB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,aACnC,MAAM,WACR,aAAa,UACd,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,WACrB,QAAQ,CAAC,KAAK,GAAG,IAAI,KAC7B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,CASjC,CAAA;AAEL;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,EAAE,CAAC,aACtB,MAAM,WACR,aAAa,UACd,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,YAChC;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,KAC3E,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,kBAAkB,GAAG,WAAW,EAAE,eAAe,GAAG,UAAU,CAAC,UAAU,CAuB7F,CAAA;AAMJ,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAA;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAA;CACtC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAA;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;CAChC;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAA;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,+IAA+I;IAC/I,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;CAChC;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAA;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAA;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAA;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;CAC/B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAA;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAA;IACtC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAA;CACtC;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAC9B;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAA;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAA;CACrC;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAA;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAA;CACxC;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAA;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;CAClC;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBAAa,iBAAkB,SAAQ,sBA0BrC;CAAG"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Shared helpers, parameter types, and transport schemas for all AwsClient
|
|
3
3
|
* method files.
|
|
4
4
|
*
|
|
5
|
-
* Provides {@link withAwsContext} (credential acquisition +
|
|
5
|
+
* Provides {@link withAwsContext} (credential acquisition + service provision +
|
|
6
6
|
* throttle-retry + timeout), {@link throttleRetry} (exponential backoff on
|
|
7
7
|
* ThrottlingException), {@link normalizeAuthor} (ARN → human name), and
|
|
8
8
|
* {@link PullRequestDetail} (internal transport type for single-PR fetch
|
|
@@ -25,10 +25,9 @@
|
|
|
25
25
|
*
|
|
26
26
|
* @internal
|
|
27
27
|
*/
|
|
28
|
-
import { fromNodeProviderChain } from "@aws-sdk/credential-providers";
|
|
29
28
|
import * as DistilledCredentials from "@distilled.cloud/aws/Credentials";
|
|
30
29
|
import * as DistilledRegion from "@distilled.cloud/aws/Region";
|
|
31
|
-
import { Duration, Effect,
|
|
30
|
+
import { Duration, Effect, Schedule, Schema } from "effect";
|
|
32
31
|
import * as Predicate from "effect/Predicate";
|
|
33
32
|
import { HttpClient } from "effect/unstable/http";
|
|
34
33
|
import { AwsClientConfig } from "../AwsClientConfig.js";
|
|
@@ -54,12 +53,6 @@ export const isThrottlingError = (error) => {
|
|
|
54
53
|
|| message.includes("rate exceed")
|
|
55
54
|
|| message.includes("too many requests");
|
|
56
55
|
};
|
|
57
|
-
const decodeAwsCredentialIdentity = (identity) => ({
|
|
58
|
-
accessKeyId: identity.accessKeyId,
|
|
59
|
-
secretAccessKey: identity.secretAccessKey,
|
|
60
|
-
...(identity.sessionToken === undefined ? {} : { sessionToken: identity.sessionToken }),
|
|
61
|
-
...(identity.expiration === undefined ? {} : { expiration: identity.expiration })
|
|
62
|
-
});
|
|
63
56
|
const makeThrottleSchedule = (config) => Schedule.max([
|
|
64
57
|
Schedule.exponential(config.retryBaseDelay, 2).pipe(Schedule.jittered),
|
|
65
58
|
Schedule.recurs(config.maxRetries)
|
|
@@ -84,27 +77,37 @@ export const normalizeAuthor = (arn) => {
|
|
|
84
77
|
* Reads credential timeout from AwsClientConfig context.
|
|
85
78
|
*/
|
|
86
79
|
export const acquireCredentials = (profile, region) => Effect.flatMap(AwsClientConfig, (config) => Effect.tryPromise({
|
|
87
|
-
try:
|
|
80
|
+
try: () => config.credentialProvider({ profile, region }),
|
|
88
81
|
catch: (cause) => new AwsCredentialError({ profile, region, cause })
|
|
89
82
|
}).pipe(Effect.timeout(config.credentialTimeout), Effect.catchTag("TimeoutError", (cause) => new AwsCredentialError({ profile, region, cause }))));
|
|
90
83
|
/**
|
|
91
84
|
* Create a typed AwsApiError for a specific operation.
|
|
92
85
|
*/
|
|
93
86
|
export const makeApiError = (operation, profile, region, cause) => new AwsApiError({ operation, profile, region, cause });
|
|
87
|
+
/** Applies the interrupting timeout only to operations whose outcome remains safely retryable. */
|
|
88
|
+
export const applyAwsOperationTimeout = (operation, account, effect, timeout) => timeout === null
|
|
89
|
+
? effect
|
|
90
|
+
: effect.pipe(Effect.timeout(timeout), Effect.catchTag("TimeoutError", (cause) => Effect.fail(makeApiError(operation, account.profile, account.region, cause))));
|
|
94
91
|
/**
|
|
95
|
-
* Shared combinator: acquire credentials →
|
|
92
|
+
* Shared combinator: acquire credentials → provide AWS services → optional retry → timeout.
|
|
96
93
|
* Eliminates boilerplate repeated across all AwsClient method files.
|
|
97
94
|
*/
|
|
98
95
|
export const withAwsContext = (operation, account, effect, options) => Effect.gen(function* () {
|
|
99
96
|
const config = yield* AwsClientConfig;
|
|
100
97
|
const httpClient = yield* HttpClient.HttpClient;
|
|
101
98
|
const credentials = yield* acquireCredentials(account.profile, account.region);
|
|
102
|
-
const timeout = options?.timeout === "
|
|
103
|
-
|
|
99
|
+
const timeout = options?.timeout === "none"
|
|
100
|
+
? null
|
|
101
|
+
: options?.timeout === "stream"
|
|
102
|
+
? config.streamTimeout
|
|
103
|
+
: config.operationTimeout;
|
|
104
|
+
const provided = effect.pipe(Effect.provideService(DistilledCredentials.Credentials, Effect.succeed(DistilledCredentials.fromAwsCredentialIdentity(credentials, account.region))), Effect.provideService(HttpClient.HttpClient, httpClient), Effect.provideService(DistilledRegion.Region, Effect.succeed(account.region)), Effect.provideService(AwsClientConfig, config));
|
|
104
105
|
const attempted = options?.retry === false ? provided : throttleRetry(provided);
|
|
105
|
-
return yield*
|
|
106
|
+
return yield* applyAwsOperationTimeout(operation, account, attempted, timeout);
|
|
106
107
|
});
|
|
107
108
|
export class PullRequestDetail extends Schema.Class("PullRequestDetail")({
|
|
109
|
+
revisionId: Schema.String,
|
|
110
|
+
sourceCommit: Schema.String,
|
|
108
111
|
title: Schema.String,
|
|
109
112
|
description: Schema.optional(Schema.String),
|
|
110
113
|
author: Schema.String,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/AwsClient/internal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/AwsClient/internal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,KAAK,oBAAoB,MAAM,kCAAkC,CAAA;AACxE,OAAO,KAAK,eAAe,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC3D,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,eAAe,EAA4D,MAAM,uBAAuB,CAAA;AAEjH,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAE9D,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAG9D;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAgB,KAAoB,EAAW,EAAE;IAChF,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC3E,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IACzF,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;QACtC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE;QAC7B,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC;YACzC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE;YACrC,CAAC,CAAC,EAAE,CAAA;IACN,OAAO,IAAI,KAAK,qBAAqB;WAChC,IAAI,KAAK,0BAA0B;WACnC,IAAI,KAAK,YAAY;WACrB,IAAI,KAAK,sBAAsB;WAC/B,IAAI,KAAK,UAAU;WACnB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;WAC/B,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAA;AAC5C,CAAC,CAAA;AAQD,MAAM,oBAAoB,GAAG,CAAC,MAA+B,EAAE,EAAE,CAC/D,QAAQ,CAAC,GAAG,CAAC;IACX,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACtE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;CACnC,CAAC,CAAC,IAAI,CACL,QAAQ,CAAC,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CACpC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CACvF,CACF,CAAA;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,MAA8B,EACY,EAAE,CAC5C,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE,CACzC,MAAM,CAAC,IAAI,CACT,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,oBAAoB,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CACnF,CAAC,CAAA;AAEN;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAW,EAAU,EAAE;IACrD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC5B,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;IAClD,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACxC,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,GAAG,CAAA;AAC7C,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,OAAuB,EACvB,MAAiB,EAC0D,EAAE,CAC7E,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE,CACzC,MAAM,CAAC,UAAU,CAAC;IAChB,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IACzD,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,kBAAkB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;CACrE,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,EACxC,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,kBAAkB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAC/F,CAAC,CAAA;AAEN;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,SAAiB,EAAE,OAAuB,EAAE,MAAiB,EAAE,KAAc,EAAE,EAAE,CAC5G,IAAI,WAAW,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;AAOxD,kGAAkG;AAClG,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,SAAiB,EACjB,OAAsB,EACtB,MAA8B,EAC9B,OAA8B,EACQ,EAAE,CACxC,OAAO,KAAK,IAAI;IACd,CAAC,CAAC,MAAM;IACR,CAAC,CAAC,MAAM,CAAC,IAAI,CACX,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EACvB,MAAM,CAAC,QAAQ,CACb,cAAc,EACd,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CACxF,CACF,CAAA;AAEL;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,SAAiB,EACjB,OAAsB,EACtB,MAA0C,EAC1C,OAA4E,EACqB,EAAE,CACnG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,eAAe,CAAA;IACrC,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,UAAU,CAAA;IAC/C,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IAC9E,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,KAAK,MAAM;QACzC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,QAAQ;YAC/B,CAAC,CAAC,MAAM,CAAC,aAAa;YACtB,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAA;IAE3B,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAC1B,MAAM,CAAC,cAAc,CACnB,oBAAoB,CAAC,WAAW,EAChC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,yBAAyB,CAAC,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAC5F,EACD,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,EACxD,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAC7E,MAAM,CAAC,cAAc,CAAC,eAAe,EAAE,MAAM,CAAC,CAC/C,CAAA;IACD,MAAM,SAAS,GAAG,OAAO,EAAE,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;IAE/E,OAAO,KAAK,CAAC,CAAC,wBAAwB,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;AAChF,CAAC,CAAC,CAAA;AA6EJ,MAAM,OAAO,iBAAkB,SAAQ,MAAM,CAAC,KAAK,CAAoB,mBAAmB,CAAC,CAAC;IAC1F,UAAU,EAAE,MAAM,CAAC,MAAM;IACzB,YAAY,EAAE,MAAM,CAAC,MAAM;IAC3B,KAAK,EAAE,MAAM,CAAC,MAAM;IACpB,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IAC3C,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,cAAc,EAAE,MAAM,CAAC,MAAM;IAC7B,YAAY,EAAE,MAAM,CAAC,MAAM;IAC3B,iBAAiB,EAAE,MAAM,CAAC,MAAM;IAChC,YAAY,EAAE,MAAM,CAAC,IAAI;IACzB,gBAAgB,EAAE,MAAM,CAAC,IAAI;IAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IACxC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;IACvC,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,0BAA0B,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IACvG,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IAC7C,gGAAgG;IAChG,qGAAqG;IACrG,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;QACxC,QAAQ,EAAE,MAAM,CAAC,MAAM;QACvB,iBAAiB,EAAE,MAAM,CAAC,MAAM;QAChC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;QACxC,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,0BAA0B,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QACvG,SAAS,EAAE,MAAM,CAAC,OAAO;QACzB,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;KAC7C,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,0BAA0B,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;CAChE,CAAC;CAAG"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
interface CredentialIdentity {
|
|
2
|
+
readonly accessKeyId: string;
|
|
3
|
+
readonly secretAccessKey: string;
|
|
4
|
+
readonly sessionToken?: string;
|
|
5
|
+
readonly expiration?: Date;
|
|
6
|
+
}
|
|
7
|
+
type Provider = () => Promise<CredentialIdentity>;
|
|
8
|
+
type ProviderFactory = (options?: {
|
|
9
|
+
readonly profile?: string;
|
|
10
|
+
}) => Provider;
|
|
11
|
+
interface ProfileCredentialProviders {
|
|
12
|
+
readonly sso: ProviderFactory;
|
|
13
|
+
readonly fallback: ProviderFactory;
|
|
14
|
+
}
|
|
15
|
+
/** Prefer an explicitly configured SSO profile without masking SSO failures. */
|
|
16
|
+
export declare const makeProfileCredentialProvider: ({ fallback, sso }: ProfileCredentialProviders) => (profile: string) => Promise<CredentialIdentity>;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=ProfileCredentialProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProfileCredentialProvider.d.ts","sourceRoot":"","sources":["../../../src/AwsClientConfig/internal/ProfileCredentialProvider.ts"],"names":[],"mappings":"AAEA,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,IAAI,CAAA;CAC3B;AAED,KAAK,QAAQ,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAA;AACjD,KAAK,eAAe,GAAG,CAAC,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,KAAK,QAAQ,CAAA;AAE5E,UAAU,0BAA0B;IAClC,QAAQ,CAAC,GAAG,EAAE,eAAe,CAAA;IAC7B,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAA;CACnC;AAED,gFAAgF;AAChF,eAAO,MAAM,6BAA6B,sBACpB,0BAA0B,eAAqB,MAAM,KAAG,OAAO,CAAC,kBAAkB,CAGrG,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { chain } from "@smithy/core/config";
|
|
2
|
+
/** Prefer an explicitly configured SSO profile without masking SSO failures. */
|
|
3
|
+
export const makeProfileCredentialProvider = ({ fallback, sso }) => async (profile) => {
|
|
4
|
+
const options = profile === "default" ? {} : { profile };
|
|
5
|
+
return chain(sso(options), fallback(options))();
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=ProfileCredentialProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProfileCredentialProvider.js","sourceRoot":"","sources":["../../../src/AwsClientConfig/internal/ProfileCredentialProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAiB3C,gFAAgF;AAChF,MAAM,CAAC,MAAM,6BAA6B,GACxC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAA8B,EAAE,EAAE,CAAC,KAAK,EAAE,OAAe,EAA+B,EAAE;IACxG,MAAM,OAAO,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAA;IACxD,OAAO,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAA;AACjD,CAAC,CAAA"}
|
|
@@ -1,33 +1,24 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Centralized configuration for AWS client timeouts and retry behavior.
|
|
3
|
-
*
|
|
4
|
-
* Replaces all hardcoded timeout/retry values scattered across AwsClient.
|
|
5
|
-
*
|
|
6
|
-
* @example
|
|
7
|
-
* ```typescript
|
|
8
|
-
* import { AwsClientConfig } from "@knpkv/codecommit-core"
|
|
9
|
-
*
|
|
10
|
-
* // Use defaults
|
|
11
|
-
* const layer = AwsClientConfig.Default
|
|
12
|
-
*
|
|
13
|
-
* // Custom overrides
|
|
14
|
-
* const layer = AwsClientConfig.layer({
|
|
15
|
-
* credentialTimeout: "10 seconds",
|
|
16
|
-
* maxRetries: 3
|
|
17
|
-
* })
|
|
18
|
-
* ```
|
|
19
|
-
*
|
|
20
|
-
* @category Config
|
|
21
|
-
* @module
|
|
22
|
-
*/
|
|
23
1
|
import type { Duration } from "effect";
|
|
24
2
|
import { Context, Layer } from "effect";
|
|
3
|
+
/** Credential material consumed only by the AWS signing layer. */
|
|
4
|
+
export interface AwsCredentialIdentity {
|
|
5
|
+
readonly accessKeyId: string;
|
|
6
|
+
readonly secretAccessKey: string;
|
|
7
|
+
readonly sessionToken?: string;
|
|
8
|
+
readonly expiration?: Date;
|
|
9
|
+
}
|
|
10
|
+
/** Replaceable credential boundary used by deterministic provider runtimes. */
|
|
11
|
+
export type AwsCredentialProvider = (input: {
|
|
12
|
+
readonly profile: string;
|
|
13
|
+
readonly region: string;
|
|
14
|
+
}) => Promise<AwsCredentialIdentity>;
|
|
25
15
|
/**
|
|
26
16
|
* Shape of the AWS client configuration.
|
|
27
17
|
*
|
|
28
18
|
* @category Config
|
|
29
19
|
*/
|
|
30
|
-
export interface
|
|
20
|
+
export interface AwsClientConfigContract {
|
|
21
|
+
readonly credentialProvider: AwsCredentialProvider;
|
|
31
22
|
readonly credentialTimeout: Duration.Input;
|
|
32
23
|
readonly operationTimeout: Duration.Input;
|
|
33
24
|
readonly streamTimeout: Duration.Input;
|
|
@@ -36,7 +27,7 @@ export interface AwsClientConfigShape {
|
|
|
36
27
|
readonly retryBaseDelay: Duration.Input;
|
|
37
28
|
readonly maxRetryDelay: Duration.Input;
|
|
38
29
|
}
|
|
39
|
-
declare const AwsClientConfig_base: Context.ServiceClass<AwsClientConfig, "@knpkv/codecommit-core/AwsClientConfig",
|
|
30
|
+
declare const AwsClientConfig_base: Context.ServiceClass<AwsClientConfig, "@knpkv/codecommit-core/AwsClientConfig", AwsClientConfigContract>;
|
|
40
31
|
/**
|
|
41
32
|
* AWS client configuration service.
|
|
42
33
|
*
|
|
@@ -53,6 +44,6 @@ export declare const Default: Layer.Layer<AwsClientConfig>;
|
|
|
53
44
|
/**
|
|
54
45
|
* Create a configuration layer with custom overrides.
|
|
55
46
|
*/
|
|
56
|
-
export declare const layer: (overrides: Partial<
|
|
47
|
+
export declare const layer: (overrides: Partial<AwsClientConfigContract>) => Layer.Layer<AwsClientConfig>;
|
|
57
48
|
export {};
|
|
58
49
|
//# sourceMappingURL=AwsClientConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AwsClientConfig.d.ts","sourceRoot":"","sources":["../src/AwsClientConfig.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AwsClientConfig.d.ts","sourceRoot":"","sources":["../src/AwsClientConfig.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAIvC,kEAAkE;AAClE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,IAAI,CAAA;CAC3B;AAED,+EAA+E;AAC/E,MAAM,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE;IAC1C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAA;AAEpC;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,kBAAkB,EAAE,qBAAqB,CAAA;IAClD,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAC,KAAK,CAAA;IAC1C,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC,KAAK,CAAA;IACzC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAA;IACtC,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,KAAK,CAAA;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,KAAK,CAAA;IACvC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAA;CACvC;;AAED;;;;;;GAMG;AACH,qBAAa,eAAgB,SAAQ,oBAGQ;CAAG;AA0BhD;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,eAAe,CAA4C,CAAA;AAE7F;;GAEG;AACH,eAAO,MAAM,KAAK,cAAe,OAAO,CAAC,uBAAuB,CAAC,KAAG,KAAK,CAAC,KAAK,CAAC,eAAe,CAChC,CAAA"}
|
package/dist/AwsClientConfig.js
CHANGED
|
@@ -1,4 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Centralized configuration for AWS client timeouts and retry behavior.
|
|
3
|
+
*
|
|
4
|
+
* Replaces all hardcoded timeout/retry values scattered across AwsClient.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```typescript
|
|
8
|
+
* import { AwsClientConfig } from "@knpkv/codecommit-core"
|
|
9
|
+
*
|
|
10
|
+
* // Use defaults
|
|
11
|
+
* const layer = AwsClientConfig.Default
|
|
12
|
+
*
|
|
13
|
+
* // Custom overrides
|
|
14
|
+
* const layer = AwsClientConfig.layer({
|
|
15
|
+
* credentialTimeout: "10 seconds",
|
|
16
|
+
* maxRetries: 3
|
|
17
|
+
* })
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* @category Config
|
|
21
|
+
* @module
|
|
22
|
+
*/
|
|
23
|
+
import { fromNodeProviderChain, fromSSO } from "@aws-sdk/credential-providers";
|
|
1
24
|
import { Context, Layer } from "effect";
|
|
25
|
+
import { makeProfileCredentialProvider } from "./AwsClientConfig/internal/ProfileCredentialProvider.js";
|
|
2
26
|
/**
|
|
3
27
|
* AWS client configuration service.
|
|
4
28
|
*
|
|
@@ -8,7 +32,20 @@ import { Context, Layer } from "effect";
|
|
|
8
32
|
*/
|
|
9
33
|
export class AwsClientConfig extends Context.Service()("@knpkv/codecommit-core/AwsClientConfig") {
|
|
10
34
|
}
|
|
35
|
+
const profileCredentialProvider = makeProfileCredentialProvider({
|
|
36
|
+
sso: fromSSO,
|
|
37
|
+
fallback: fromNodeProviderChain
|
|
38
|
+
});
|
|
11
39
|
const defaults = {
|
|
40
|
+
credentialProvider: async ({ profile }) => {
|
|
41
|
+
const identity = await profileCredentialProvider(profile);
|
|
42
|
+
return {
|
|
43
|
+
accessKeyId: identity.accessKeyId,
|
|
44
|
+
secretAccessKey: identity.secretAccessKey,
|
|
45
|
+
...(!(identity.sessionToken === undefined) && { sessionToken: identity.sessionToken }),
|
|
46
|
+
...(!(identity.expiration === undefined) && { expiration: identity.expiration })
|
|
47
|
+
};
|
|
48
|
+
},
|
|
12
49
|
credentialTimeout: "5 seconds",
|
|
13
50
|
operationTimeout: "30 seconds",
|
|
14
51
|
streamTimeout: "60 seconds",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AwsClientConfig.js","sourceRoot":"","sources":["../src/AwsClientConfig.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AwsClientConfig.js","sourceRoot":"","sources":["../src/AwsClientConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAA;AAE9E,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAEvC,OAAO,EAAE,6BAA6B,EAAE,MAAM,yDAAyD,CAAA;AAgCvG;;;;;;GAMG;AACH,MAAM,OAAO,eAAgB,SAAQ,OAAO,CAAC,OAAO,EAGjD,CAAC,wCAAwC,CAAC;CAAG;AAEhD,MAAM,yBAAyB,GAAG,6BAA6B,CAAC;IAC9D,GAAG,EAAE,OAAO;IACZ,QAAQ,EAAE,qBAAqB;CAChC,CAAC,CAAA;AAEF,MAAM,QAAQ,GAA4B;IACxC,kBAAkB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACxC,MAAM,QAAQ,GAAG,MAAM,yBAAyB,CAAC,OAAO,CAAC,CAAA;QACzD,OAAO;YACL,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,eAAe,EAAE,QAAQ,CAAC,eAAe;YACzC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,KAAK,SAAS,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC;YACtF,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC;SACjF,CAAA;IACH,CAAC;IACD,iBAAiB,EAAE,WAAW;IAC9B,gBAAgB,EAAE,YAAY;IAC9B,aAAa,EAAE,YAAY;IAC3B,cAAc,EAAE,aAAa;IAC7B,UAAU,EAAE,EAAE;IACd,cAAc,EAAE,WAAW;IAC3B,aAAa,EAAE,YAAY;CAC5B,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAiC,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAA;AAE7F;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,SAA2C,EAAgC,EAAE,CACjG,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,GAAG,QAAQ,EAAE,GAAG,SAAS,EAAE,CAAC,CAAA"}
|
|
@@ -9,7 +9,7 @@ import { Schema } from "effect";
|
|
|
9
9
|
*
|
|
10
10
|
* @category Errors
|
|
11
11
|
*/
|
|
12
|
-
export class CacheError extends Schema.
|
|
12
|
+
export class CacheError extends Schema.TaggedError()("CacheError", {
|
|
13
13
|
operation: Schema.String,
|
|
14
14
|
cause: Schema.Defect()
|
|
15
15
|
}) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CacheError.js","sourceRoot":"","sources":["../../src/CacheService/CacheError.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B;;;;GAIG;AACH,MAAM,OAAO,UAAW,SAAQ,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"CacheError.js","sourceRoot":"","sources":["../../src/CacheService/CacheError.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B;;;;GAIG;AACH,MAAM,OAAO,UAAW,SAAQ,MAAM,CAAC,WAAW,EAAc,CAC9D,YAAY,EACZ;IACE,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;CACvB,CACF;CAAG"}
|
|
@@ -3,15 +3,16 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Manages the `~/.codecommit/cache.db` database lifecycle: directory creation,
|
|
5
5
|
* libsql client configuration (with camelCase column transform), and sequential
|
|
6
|
-
* migration execution (0001 through
|
|
6
|
+
* migration execution (0001 through 0016). The credential-bearing directory
|
|
7
|
+
* and database are created or repaired with owner-only permissions first.
|
|
7
8
|
*
|
|
8
9
|
* @module
|
|
9
10
|
*/
|
|
10
11
|
import * as LibsqlClient from "@effect/sql-libsql/LibsqlClient";
|
|
11
12
|
import * as LibsqlMigrator from "@effect/sql-libsql/LibsqlMigrator";
|
|
12
13
|
import { Config, Layer } from "effect";
|
|
13
|
-
|
|
14
|
-
export declare const LibsqlLive: Layer.Layer<LibsqlClient.LibsqlClient | import("effect/unstable/sql/SqlClient").SqlClient,
|
|
14
|
+
export { ensurePrivateDatabasePath } from "./internal/PrivateDatabasePathNode.js";
|
|
15
|
+
export declare const LibsqlLive: Layer.Layer<LibsqlClient.LibsqlClient | import("effect/unstable/sql/SqlClient").SqlClient, import("./CacheError.ts").CacheError | Config.ConfigError, never>;
|
|
15
16
|
export declare const MigrationsLive: Layer.Layer<never, LibsqlMigrator.MigrationError | import("effect/unstable/sql/SqlError").SqlError, import("effect/unstable/sql/SqlClient").SqlClient>;
|
|
16
|
-
export declare const DatabaseLive: Layer.Layer<LibsqlClient.LibsqlClient | import("effect/unstable/sql/SqlClient").SqlClient, Config.ConfigError | LibsqlMigrator.MigrationError | import("effect/
|
|
17
|
+
export declare const DatabaseLive: Layer.Layer<LibsqlClient.LibsqlClient | import("effect/unstable/sql/SqlClient").SqlClient, import("./CacheError.ts").CacheError | Config.ConfigError | LibsqlMigrator.MigrationError | import("effect/unstable/sql/SqlError").SqlError, never>;
|
|
17
18
|
//# sourceMappingURL=Database.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../src/CacheService/Database.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../src/CacheService/Database.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,YAAY,MAAM,iCAAiC,CAAA;AAC/D,OAAO,KAAK,cAAc,MAAM,mCAAmC,CAAA;AACnE,OAAO,EAAE,MAAM,EAAU,KAAK,EAAE,MAAM,QAAQ,CAAA;AAmB9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAA;AAejF,eAAO,MAAM,UAAU,8JAMW,CAAA;AAElC,eAAO,MAAM,cAAc,wJAmBzB,CAAA;AAEF,eAAO,MAAM,YAAY,gPAAsD,CAAA"}
|
|
@@ -3,14 +3,15 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Manages the `~/.codecommit/cache.db` database lifecycle: directory creation,
|
|
5
5
|
* libsql client configuration (with camelCase column transform), and sequential
|
|
6
|
-
* migration execution (0001 through
|
|
6
|
+
* migration execution (0001 through 0016). The credential-bearing directory
|
|
7
|
+
* and database are created or repaired with owner-only permissions first.
|
|
7
8
|
*
|
|
8
9
|
* @module
|
|
9
10
|
*/
|
|
10
11
|
import * as LibsqlClient from "@effect/sql-libsql/LibsqlClient";
|
|
11
12
|
import * as LibsqlMigrator from "@effect/sql-libsql/LibsqlMigrator";
|
|
12
13
|
import { Config, Effect, Layer } from "effect";
|
|
13
|
-
import
|
|
14
|
+
import { ensurePrivateDatabasePath } from "./internal/PrivateDatabasePathNode.js";
|
|
14
15
|
import migration0001 from "./migrations/0001_initial.js";
|
|
15
16
|
import migration0002 from "./migrations/0002_indexes.js";
|
|
16
17
|
import migration0003 from "./migrations/0003_add_health_score.js";
|
|
@@ -26,12 +27,13 @@ import migration0012 from "./migrations/0012_audit_log_indexes.js";
|
|
|
26
27
|
import migration0013 from "./migrations/0013_approval_rules.js";
|
|
27
28
|
import migration0014 from "./migrations/0014_approved_by_arns.js";
|
|
28
29
|
import migration0015 from "./migrations/0015_repo_account_id.js";
|
|
30
|
+
import migration0016 from "./migrations/0016_sandbox_access_password.js";
|
|
31
|
+
export { ensurePrivateDatabasePath } from "./internal/PrivateDatabasePathNode.js";
|
|
29
32
|
const homeDir = Config.string("HOME").pipe(Config.orElse(() => Config.string("USERPROFILE")));
|
|
30
33
|
const dbUrl = homeDir.pipe(Config.map((h) => `file:${h}/.codecommit/cache.db`));
|
|
31
34
|
const EnsureDbDir = Layer.effectDiscard(Effect.gen(function* () {
|
|
32
|
-
const fs = yield* FileSystem.FileSystem;
|
|
33
35
|
const h = yield* homeDir;
|
|
34
|
-
yield*
|
|
36
|
+
yield* ensurePrivateDatabasePath(`${h}/.codecommit`, `${h}/.codecommit/cache.db`);
|
|
35
37
|
}));
|
|
36
38
|
export const LibsqlLive = Layer.unwrap(Effect.map(dbUrl, (url) => LibsqlClient.layer({
|
|
37
39
|
url,
|
|
@@ -53,7 +55,8 @@ export const MigrationsLive = LibsqlMigrator.layer({
|
|
|
53
55
|
"0012_audit_log_indexes": migration0012,
|
|
54
56
|
"0013_approval_rules": migration0013,
|
|
55
57
|
"0014_approved_by_arns": migration0014,
|
|
56
|
-
"0015_repo_account_id": migration0015
|
|
58
|
+
"0015_repo_account_id": migration0015,
|
|
59
|
+
"0016_sandbox_access_password": migration0016
|
|
57
60
|
})
|
|
58
61
|
});
|
|
59
62
|
export const DatabaseLive = MigrationsLive.pipe(Layer.provideMerge(LibsqlLive));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Database.js","sourceRoot":"","sources":["../../src/CacheService/Database.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"Database.js","sourceRoot":"","sources":["../../src/CacheService/Database.ts"],"names":[],"mappings":"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"}
|
|
@@ -198,9 +198,9 @@ declare const makeEventsHub: Effect.Effect<{
|
|
|
198
198
|
readonly _tag: "SystemNotifications";
|
|
199
199
|
}, never, never>;
|
|
200
200
|
}, never, never>;
|
|
201
|
-
export interface
|
|
201
|
+
export interface EventsHubContract extends Success<typeof makeEventsHub> {
|
|
202
202
|
}
|
|
203
|
-
declare const EventsHub_base: Context.ServiceClass<EventsHub, "EventsHub",
|
|
203
|
+
declare const EventsHub_base: Context.ServiceClass<EventsHub, "EventsHub", EventsHubContract>;
|
|
204
204
|
export declare class EventsHub extends EventsHub_base {
|
|
205
205
|
static readonly Default: Layer.Layer<EventsHub, never, never>;
|
|
206
206
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventsHub.d.ts","sourceRoot":"","sources":["../../src/CacheService/EventsHub.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAA0B,MAAM,EAAE,MAAM,QAAQ,CAAA;AACrF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAE5C,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACvC,YAAY,EAAE,EAAE,CAAA;IAChB,aAAa,EAAE,EAAE,CAAA;IACjB,aAAa,EAAE,EAAE,CAAA;IACjB,QAAQ,EAAE,EAAE,CAAA;IACZ,MAAM,EAAE,EAAE,CAAA;IACV,QAAQ,EAAE,EAAE,CAAA;IACZ,mBAAmB,EAAE,EAAE,CAAA;IACvB,SAAS,EAAE,EAAE,CAAA;IACb,kBAAkB,EAAE,EAAE,CAAA;IACtB,kBAAkB,EAAE,EAAE,CAAA;CACvB,CAAC,CAAA;AAEF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAgC,CAAA;AAEvD,QAAA,MAAM,aAAa;sBAMQ,UAAU,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;YAS1C,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;gBAwB/E,CAAA;AAEF,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"EventsHub.d.ts","sourceRoot":"","sources":["../../src/CacheService/EventsHub.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAA0B,MAAM,EAAE,MAAM,QAAQ,CAAA;AACrF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAE5C,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACvC,YAAY,EAAE,EAAE,CAAA;IAChB,aAAa,EAAE,EAAE,CAAA;IACjB,aAAa,EAAE,EAAE,CAAA;IACjB,QAAQ,EAAE,EAAE,CAAA;IACZ,MAAM,EAAE,EAAE,CAAA;IACV,QAAQ,EAAE,EAAE,CAAA;IACZ,mBAAmB,EAAE,EAAE,CAAA;IACvB,SAAS,EAAE,EAAE,CAAA;IACb,kBAAkB,EAAE,EAAE,CAAA;IACtB,kBAAkB,EAAE,EAAE,CAAA;CACvB,CAAC,CAAA;AAEF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAgC,CAAA;AAEvD,QAAA,MAAM,aAAa;sBAMQ,UAAU,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;YAS1C,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;gBAwB/E,CAAA;AAEF,MAAM,WAAW,iBAAkB,SAAQ,OAAO,CAAC,OAAO,aAAa,CAAC;CAAG;;AAE3E,qBAAa,SAAU,SAAQ,cAGf;IACd,MAAM,CAAC,QAAQ,CAAC,OAAO,uCAAyC;CACjE"}
|
|
@@ -60,8 +60,8 @@ export const diffApprovalPools = (cachedRules, freshRules, currentUser, prId, aw
|
|
|
60
60
|
const nowInPool = freshRules.some((r) => r.poolMembers.includes(currentUser));
|
|
61
61
|
const notifications = [];
|
|
62
62
|
const optional = {
|
|
63
|
-
...(prTitle != null
|
|
64
|
-
...(profile != null
|
|
63
|
+
...((prTitle != null) && { title: prTitle }),
|
|
64
|
+
...((profile != null) && { profile })
|
|
65
65
|
};
|
|
66
66
|
if (!wasInPool && nowInPool) {
|
|
67
67
|
notifications.push({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/CacheService/diff.ts"],"names":[],"mappings":"AAwCA,MAAM,CAAC,MAAM,MAAM,GAAG,CACpB,MAAkB,EAClB,KAAiB,EACjB,YAAoB,EACI,EAAE;IAC1B,MAAM,IAAI,GAAG,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC,cAAc,EAAE,CAAA;IACrF,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,cAAc,GAAG,CAAA;IACrE,MAAM,aAAa,GAA2B,EAAE,CAAA;IAEhD,+FAA+F;IAC/F,IAAI,MAAM,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;QAChC,MAAM,aAAa,GAAG,KAAK,CAAC,YAAY,IAAI,CAAC,CAAA;QAC7C,IAAI,aAAa,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;YACxC,aAAa,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,mBAAmB,KAAK,EAAE,EAAE,CAAC,CAAA;QAC/G,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7D,aAAa,CAAC,IAAI,CAAC;YACjB,GAAG,IAAI;YACP,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,OAAO,EAAE,YAAY,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,OAAO,KAAK,EAAE;SAC5E,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/D,aAAa,CAAC,IAAI,CAAC;YACjB,GAAG,IAAI;YACP,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,OAAO,EAAE,GAAG,KAAK,OAAO,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,qBAAqB,EAAE;SACtF,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC;QACjC,aAAa,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,oBAAoB,KAAK,EAAE,EAAE,CAAC,CAAA;IAClH,CAAC;IAED,IAAI,KAAK,CAAC,WAAW,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC;QAC7C,aAAa,CAAC,IAAI,CAAC;YACjB,GAAG,IAAI;YACP,IAAI,EAAE,qBAAqB;YAC3B,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,OAAO,EAAE,0BAA0B,KAAK,EAAE;SAC3C,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;QACnC,iFAAiF;QACjF,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACpD,aAAa,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,aAAa,EAAE,CAAC,CAAA;QACxG,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACrC,aAAa,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,aAAa,EAAE,CAAC,CAAA;QACxG,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACjE,aAAa,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,eAAe,EAAE,CAAC,CAAA;QAC5G,CAAC;IACH,CAAC;IAED,OAAO,aAAa,CAAA;AACtB,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,WAAwC,EACxC,UAAuC,EACvC,WAA+B,EAC/B,IAAY,EACZ,YAAoB,EACpB,OAAgB,EAChB,OAAgB,EACQ,EAAE;IAC1B,IAAI,CAAC,WAAW;QAAE,OAAO,EAAE,CAAA;IAC3B,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAA;IAC9E,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAA;IAE7E,MAAM,aAAa,GAA2B,EAAE,CAAA;IAChD,MAAM,QAAQ,GAAG;QACf,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/CacheService/diff.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Audited Node filesystem boundary for the credential-bearing cache database.
|
|
3
|
+
*
|
|
4
|
+
* Effect's portable FileSystem currently exposes path-based chmod and string
|
|
5
|
+
* open flags only. This boundary uses O_NOFOLLOW and descriptor-based chmod so
|
|
6
|
+
* a path replacement cannot redirect permission repair to a symlink target.
|
|
7
|
+
*
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
import * as Effect from "effect/Effect";
|
|
11
|
+
import { CacheError } from "../CacheError.js";
|
|
12
|
+
interface PrivatePathInfo {
|
|
13
|
+
readonly dev: bigint;
|
|
14
|
+
readonly ino: bigint;
|
|
15
|
+
readonly isDirectory: () => boolean;
|
|
16
|
+
readonly isFile: () => boolean;
|
|
17
|
+
readonly isSymbolicLink: () => boolean;
|
|
18
|
+
}
|
|
19
|
+
export interface PrivatePathHandle {
|
|
20
|
+
readonly stat: () => Promise<PrivatePathInfo>;
|
|
21
|
+
readonly chmod: (mode: number) => Promise<void>;
|
|
22
|
+
readonly close: () => Promise<void>;
|
|
23
|
+
}
|
|
24
|
+
export interface PrivateDatabasePathOperations {
|
|
25
|
+
readonly makeDirectory: (path: string) => Promise<void>;
|
|
26
|
+
readonly openDirectory: (path: string) => Promise<PrivatePathHandle>;
|
|
27
|
+
readonly openDatabase: (path: string) => Promise<PrivatePathHandle>;
|
|
28
|
+
readonly pathInfo: (path: string) => Promise<PrivatePathInfo>;
|
|
29
|
+
}
|
|
30
|
+
export declare const nodePrivateDatabasePathOperations: PrivateDatabasePathOperations;
|
|
31
|
+
export declare const makeEnsurePrivateDatabasePath: (operations: PrivateDatabasePathOperations) => (directory: string, database: string) => Effect.Effect<undefined, CacheError, never>;
|
|
32
|
+
export declare const ensurePrivateDatabasePath: (directory: string, database: string) => Effect.Effect<undefined, CacheError, never>;
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=PrivateDatabasePathNode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrivateDatabasePathNode.d.ts","sourceRoot":"","sources":["../../../src/CacheService/internal/PrivateDatabasePathNode.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAIvC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,UAAU,eAAe;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,WAAW,EAAE,MAAM,OAAO,CAAA;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,OAAO,CAAA;IAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,OAAO,CAAA;CACvC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,CAAA;IAC7C,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/C,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CACpC;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACvD,QAAQ,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAA;IACpE,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAA;IACnE,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,CAAC,CAAA;CAC9D;AASD,eAAO,MAAM,iCAAiC,EAAE,6BAO/C,CAAA;AA2CD,eAAO,MAAM,6BAA6B,eAAgB,6BAA6B,yFAiDnF,CAAA;AAEJ,eAAO,MAAM,yBAAyB,sFAAmE,CAAA"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Audited Node filesystem boundary for the credential-bearing cache database.
|
|
3
|
+
*
|
|
4
|
+
* Effect's portable FileSystem currently exposes path-based chmod and string
|
|
5
|
+
* open flags only. This boundary uses O_NOFOLLOW and descriptor-based chmod so
|
|
6
|
+
* a path replacement cannot redirect permission repair to a symlink target.
|
|
7
|
+
*
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
import * as Effect from "effect/Effect";
|
|
11
|
+
import { constants } from "node:fs";
|
|
12
|
+
import { lstat, mkdir, open } from "node:fs/promises";
|
|
13
|
+
import { dirname, resolve } from "node:path";
|
|
14
|
+
import { CacheError } from "../CacheError.js";
|
|
15
|
+
const descriptorFlags = constants.O_NOFOLLOW;
|
|
16
|
+
const privatePathHandle = (handle) => ({
|
|
17
|
+
stat: () => handle.stat({ bigint: true }),
|
|
18
|
+
chmod: (mode) => handle.chmod(mode),
|
|
19
|
+
close: () => handle.close()
|
|
20
|
+
});
|
|
21
|
+
export const nodePrivateDatabasePathOperations = {
|
|
22
|
+
makeDirectory: (path) => mkdir(path, { mode: 0o700, recursive: true }).then(() => undefined),
|
|
23
|
+
openDirectory: (path) => open(path, constants.O_RDONLY | constants.O_DIRECTORY | descriptorFlags).then(privatePathHandle),
|
|
24
|
+
openDatabase: (path) => open(path, constants.O_RDWR | constants.O_CREAT | descriptorFlags, 0o600).then(privatePathHandle),
|
|
25
|
+
pathInfo: (path) => lstat(path, { bigint: true })
|
|
26
|
+
};
|
|
27
|
+
const sameIdentity = (left, right) => left.dev === right.dev && left.ino === right.ino;
|
|
28
|
+
const fail = (operation, cause) => new CacheError({ operation, cause });
|
|
29
|
+
const attempt = (operation, evaluate) => Effect.tryPromise({
|
|
30
|
+
try: evaluate,
|
|
31
|
+
catch: (cause) => fail(operation, cause)
|
|
32
|
+
});
|
|
33
|
+
const withHandle = (operation, acquire, use) => Effect.acquireUseRelease(attempt(operation, acquire), use, (handle) => attempt(`${operation}-close`, () => handle.close()).pipe(Effect.orDie));
|
|
34
|
+
const verifyPathIdentity = (operations, path, expected, kind) => attempt("ensure-private-database-path", () => operations.pathInfo(path)).pipe(Effect.flatMap((current) => !current.isSymbolicLink() && sameIdentity(current, expected)
|
|
35
|
+
? Effect.void
|
|
36
|
+
: Effect.fail(fail("ensure-private-database-path", `Refusing replaced ${kind} path: ${path}`))));
|
|
37
|
+
export const makeEnsurePrivateDatabasePath = (operations) => Effect.fn("CacheService.ensurePrivateDatabasePath")(function* (directory, database) {
|
|
38
|
+
if (resolve(dirname(database)) !== resolve(directory)) {
|
|
39
|
+
return yield* fail("ensure-private-database-path", `Database path must be a direct child of its private directory: ${database}`);
|
|
40
|
+
}
|
|
41
|
+
yield* attempt("create-private-database-directory", () => operations.makeDirectory(directory));
|
|
42
|
+
yield* withHandle("open-private-database-directory", () => operations.openDirectory(directory), (directoryHandle) => Effect.gen(function* () {
|
|
43
|
+
const directoryInfo = yield* attempt("inspect-private-database-directory", () => directoryHandle.stat());
|
|
44
|
+
if (!directoryInfo.isDirectory()) {
|
|
45
|
+
return yield* fail("ensure-private-database-path", `Cache directory path is not a directory: ${directory}`);
|
|
46
|
+
}
|
|
47
|
+
yield* verifyPathIdentity(operations, directory, directoryInfo, "directory");
|
|
48
|
+
yield* withHandle("open-private-database", () => operations.openDatabase(database), (databaseHandle) => Effect.gen(function* () {
|
|
49
|
+
const databaseInfo = yield* attempt("inspect-private-database", () => databaseHandle.stat());
|
|
50
|
+
if (!databaseInfo.isFile()) {
|
|
51
|
+
return yield* fail("ensure-private-database-path", `Database path is not a regular file: ${database}`);
|
|
52
|
+
}
|
|
53
|
+
yield* verifyPathIdentity(operations, database, databaseInfo, "database");
|
|
54
|
+
yield* verifyPathIdentity(operations, directory, directoryInfo, "directory");
|
|
55
|
+
yield* attempt("chmod-private-database-directory", () => directoryHandle.chmod(0o700));
|
|
56
|
+
yield* attempt("chmod-private-database", () => databaseHandle.chmod(0o600));
|
|
57
|
+
yield* verifyPathIdentity(operations, database, databaseInfo, "database");
|
|
58
|
+
yield* verifyPathIdentity(operations, directory, directoryInfo, "directory");
|
|
59
|
+
}));
|
|
60
|
+
}));
|
|
61
|
+
});
|
|
62
|
+
export const ensurePrivateDatabasePath = makeEnsurePrivateDatabasePath(nodePrivateDatabasePathOperations);
|
|
63
|
+
//# sourceMappingURL=PrivateDatabasePathNode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrivateDatabasePathNode.js","sourceRoot":"","sources":["../../../src/CacheService/internal/PrivateDatabasePathNode.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import * as SqlClient from "effect/unstable/sql/SqlClient";
|
|
3
|
+
declare const _default: Effect.Effect<readonly import("effect/unstable/sql/SqlConnection").Row[], import("effect/unstable/sql/SqlError").SqlError, SqlClient.SqlClient>;
|
|
4
|
+
export default _default;
|
|
5
|
+
//# sourceMappingURL=0016_sandbox_access_password.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"0016_sandbox_access_password.d.ts","sourceRoot":"","sources":["../../../src/CacheService/migrations/0016_sandbox_access_password.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import * as SqlClient from "effect/unstable/sql/SqlClient";
|
|
3
|
+
export default Effect.flatMap(SqlClient.SqlClient, (sql) => sql `ALTER TABLE sandboxes ADD COLUMN access_password TEXT`);
|
|
4
|
+
//# sourceMappingURL=0016_sandbox_access_password.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"0016_sandbox_access_password.js","sourceRoot":"","sources":["../../../src/CacheService/migrations/0016_sandbox_access_password.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAE1D,eAAe,MAAM,CAAC,OAAO,CAC3B,SAAS,CAAC,SAAS,EACnB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAA,uDAAuD,CACpE,CAAA"}
|