@knpkv/codecommit-core 0.9.1 → 0.10.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 +23 -1
- package/dist/ChildEnv.d.ts +36 -0
- package/dist/ChildEnv.d.ts.map +1 -0
- package/dist/ChildEnv.js +91 -0
- package/dist/ChildEnv.js.map +1 -0
- package/dist/ReadClient/ReadClient.d.ts.map +1 -1
- package/dist/ReadClient/ReadClient.js +24 -6
- package/dist/ReadClient/ReadClient.js.map +1 -1
- package/dist/ReadClient/models.d.ts +1 -1
- package/dist/ReadClient/models.js +1 -1
- package/dist/ReadClient/models.js.map +1 -1
- package/dist/ReviewClient/ReviewClient.d.ts +28 -0
- package/dist/ReviewClient/ReviewClient.d.ts.map +1 -0
- package/dist/ReviewClient/ReviewClient.js +232 -0
- package/dist/ReviewClient/ReviewClient.js.map +1 -0
- package/dist/ReviewClient/ReviewProvider.d.ts +41 -0
- package/dist/ReviewClient/ReviewProvider.d.ts.map +1 -0
- package/dist/ReviewClient/ReviewProvider.js +54 -0
- package/dist/ReviewClient/ReviewProvider.js.map +1 -0
- package/dist/ReviewClient/errors.d.ts +15 -0
- package/dist/ReviewClient/errors.d.ts.map +1 -0
- package/dist/ReviewClient/errors.js +20 -0
- package/dist/ReviewClient/errors.js.map +1 -0
- package/dist/ReviewClient/index.d.ts +6 -0
- package/dist/ReviewClient/index.d.ts.map +1 -0
- package/dist/ReviewClient/index.js +6 -0
- package/dist/ReviewClient/index.js.map +1 -0
- package/dist/ReviewClient/models.d.ts +123 -0
- package/dist/ReviewClient/models.d.ts.map +1 -0
- package/dist/ReviewClient/models.js +63 -0
- package/dist/ReviewClient/models.js.map +1 -0
- package/dist/SandboxService/SandboxService.d.ts.map +1 -1
- package/dist/SandboxService/SandboxService.js +10 -1
- package/dist/SandboxService/SandboxService.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -46,7 +46,28 @@ const program = Effect.gen(function* () {
|
|
|
46
46
|
|
|
47
47
|
The models preserve the exact pull request revision, base/head commits, merge base, old/new paths, blob IDs, modes, provider cursor, and requested provider page limit. `getBlob` reads one immutable blob through the same injectable provider and Schema boundary, retains at most 1 MiB, and distinguishes the provider's file limit from the read client's exact observed byte limit. Streams and blob reads inherit Effect interruption, so cancellation stops an in-flight provider call. Provider authentication/API failures, missing objects, malformed responses, and blob size limits remain typed.
|
|
48
48
|
|
|
49
|
-
`classifyCodeCommitFile` derives conservative binary/generated facts from bounded bytes and stable path signals. Binary detection requires a NUL byte; generated detection recognizes an explicit `generated` path segment, `.generated.`, minified/source-map suffixes, and common lockfiles. It deliberately avoids broad directory guesses such as `dist` or `vendor`.
|
|
49
|
+
`classifyCodeCommitFile` derives conservative binary/generated facts from bounded bytes and stable path signals. Binary detection requires a NUL byte; generated detection recognizes an explicit `generated` path segment, `.generated.`, minified/source-map suffixes, and common lockfiles. It deliberately avoids broad directory guesses such as `dist` or `vendor`. General ReadClient commit-history and comment queries remain later I01 slices; the ReviewClient uses a bounded internal comment read only for reconciliation. Callers must not infer classification merely from a successful inventory read without content.
|
|
50
|
+
|
|
51
|
+
### ReviewClient
|
|
52
|
+
|
|
53
|
+
The supported `@knpkv/codecommit-core/ReviewClient.js` entry exposes immutable pull-request review actions for server integrations. Every action carries the exact repository, pull request revision, base commit, and head commit that a caller authorized. `preflight` rejects a changed or closed target before a write, `execute` returns a secret-free provider receipt, and `reconcile` inspects provider state without replaying an ambiguous mutation.
|
|
54
|
+
|
|
55
|
+
```typescript
|
|
56
|
+
import { ReviewClient } from "@knpkv/codecommit-core"
|
|
57
|
+
import { Effect } from "effect"
|
|
58
|
+
|
|
59
|
+
declare const action: ReviewClient.CodeCommitReviewAction
|
|
60
|
+
|
|
61
|
+
const program = Effect.gen(function* () {
|
|
62
|
+
const client = yield* ReviewClient.CodeCommitReviewClient
|
|
63
|
+
yield* client.preflight(action)
|
|
64
|
+
return yield* client.execute(action)
|
|
65
|
+
})
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
`CodeCommitReviewClient.live` supplies the raw mutation provider and still requires a `CodeCommitReadClient`, `AwsClientConfig`, and `HttpClient` when layers are composed. CodeCommit natively supports approve and revoke approval. It has no request-review or request-changes state mutation, so those actions are target-bound idempotent comments attached to the authorized base/head commits. Comment reconciliation searches by AWS client request token; approval reconciliation reads the signed-in identity’s state and treats an absent caller as a completed revoke.
|
|
69
|
+
|
|
70
|
+
Governed merge is deliberately not exposed. CodeCommit’s pull-request merge operation enforces provider approval rules but cannot compare-and-set the authorized destination commit, while its branch fast-forward operation can compare-and-set the destination but bypasses pull-request approval rules. Until the provider offers one atomic operation with both guarantees, callers must not model either endpoint as a governed PR merge.
|
|
50
71
|
|
|
51
72
|
### CacheService (SQLite)
|
|
52
73
|
|
|
@@ -93,6 +114,7 @@ Client-side code must use deep imports to avoid pulling in server-only deps:
|
|
|
93
114
|
import { PullRequest } from "@knpkv/codecommit-core/Domain.js"
|
|
94
115
|
import { AppStatus } from "@knpkv/codecommit-core/Domain.js"
|
|
95
116
|
import { CodeCommitReadClient } from "@knpkv/codecommit-core/ReadClient.js"
|
|
117
|
+
import { CodeCommitReviewClient } from "@knpkv/codecommit-core/ReviewClient.js"
|
|
96
118
|
```
|
|
97
119
|
|
|
98
120
|
The `.js` suffix is required — see package.json exports field.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Environment construction for profile-scoped child processes.
|
|
3
|
+
*
|
|
4
|
+
* Tools we spawn (`git` with the `aws codecommit credential-helper`, and
|
|
5
|
+
* `assume`) are told which AWS profile to use explicitly. They still need the
|
|
6
|
+
* caller's `PATH`, so they run with `extendEnv: true` — which also inherits any
|
|
7
|
+
* ambient AWS credentials the caller happens to export.
|
|
8
|
+
*
|
|
9
|
+
* That inheritance is not benign. The AWS credential chain resolves environment
|
|
10
|
+
* variables *above* profile configuration, so an ambient `AWS_ACCESS_KEY_ID`
|
|
11
|
+
* silently wins over the profile we asked for and the command authenticates as
|
|
12
|
+
* the wrong identity. Both region variables override the profile's configured
|
|
13
|
+
* region the same way.
|
|
14
|
+
*
|
|
15
|
+
* `profileScopedEnv` removes those variables so the named profile is the only
|
|
16
|
+
* credential and region source, and callers reintroduce a region only by passing
|
|
17
|
+
* it explicitly. Mapping a name to `undefined` drops it from the child
|
|
18
|
+
* environment rather than setting it to the string `"undefined"` — verified on
|
|
19
|
+
* both Node and Bun, the two runtimes this CLI ships on.
|
|
20
|
+
*/
|
|
21
|
+
/**
|
|
22
|
+
* Builds a child environment where `overrides` are the only AWS credential and
|
|
23
|
+
* region inputs, dropping any ambient values that would outrank them.
|
|
24
|
+
*
|
|
25
|
+
* Must be paired with `extendEnv: true`; on its own it does not carry `PATH`.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```ts
|
|
29
|
+
* ChildProcess.make("git", args, {
|
|
30
|
+
* env: ChildEnv.profileScopedEnv({ AWS_PROFILE: profile }),
|
|
31
|
+
* extendEnv: true
|
|
32
|
+
* })
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export declare const profileScopedEnv: (overrides: Record<string, string | undefined>) => Record<string, string | undefined>;
|
|
36
|
+
//# sourceMappingURL=ChildEnv.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChildEnv.d.ts","sourceRoot":"","sources":["../src/ChildEnv.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAoDH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gBAAgB,cAChB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,KAC5C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAMnC,CAAA"}
|
package/dist/ChildEnv.js
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Environment construction for profile-scoped child processes.
|
|
3
|
+
*
|
|
4
|
+
* Tools we spawn (`git` with the `aws codecommit credential-helper`, and
|
|
5
|
+
* `assume`) are told which AWS profile to use explicitly. They still need the
|
|
6
|
+
* caller's `PATH`, so they run with `extendEnv: true` — which also inherits any
|
|
7
|
+
* ambient AWS credentials the caller happens to export.
|
|
8
|
+
*
|
|
9
|
+
* That inheritance is not benign. The AWS credential chain resolves environment
|
|
10
|
+
* variables *above* profile configuration, so an ambient `AWS_ACCESS_KEY_ID`
|
|
11
|
+
* silently wins over the profile we asked for and the command authenticates as
|
|
12
|
+
* the wrong identity. Both region variables override the profile's configured
|
|
13
|
+
* region the same way.
|
|
14
|
+
*
|
|
15
|
+
* `profileScopedEnv` removes those variables so the named profile is the only
|
|
16
|
+
* credential and region source, and callers reintroduce a region only by passing
|
|
17
|
+
* it explicitly. Mapping a name to `undefined` drops it from the child
|
|
18
|
+
* environment rather than setting it to the string `"undefined"` — verified on
|
|
19
|
+
* both Node and Bun, the two runtimes this CLI ships on.
|
|
20
|
+
*/
|
|
21
|
+
/**
|
|
22
|
+
* Credential and region variables that outrank profile configuration.
|
|
23
|
+
*
|
|
24
|
+
* Two environment credential providers sit above the profile in the chain, so
|
|
25
|
+
* both have to be cleared:
|
|
26
|
+
*
|
|
27
|
+
* - Static credentials, including `AWS_SECURITY_TOKEN` — the legacy alias for
|
|
28
|
+
* `AWS_SESSION_TOKEN`, still honoured by the CLI.
|
|
29
|
+
* - Web identity, which activates from `AWS_ROLE_ARN` plus
|
|
30
|
+
* `AWS_WEB_IDENTITY_TOKEN_FILE` and would otherwise assume an ambient role.
|
|
31
|
+
*
|
|
32
|
+
* Both `AWS_REGION` and `AWS_DEFAULT_REGION` are cleared. Clearing only one is
|
|
33
|
+
* worse than clearing neither, because which variable leaks through then depends
|
|
34
|
+
* on the caller's shell rather than on anything this module states.
|
|
35
|
+
*
|
|
36
|
+
* Deliberately *not* cleared:
|
|
37
|
+
*
|
|
38
|
+
* - `AWS_CONTAINER_CREDENTIALS_*` and IMDS resolve *below* the shared config
|
|
39
|
+
* file, so they cannot outrank an explicit profile.
|
|
40
|
+
* - `AWS_CONFIG_FILE` and `AWS_SHARED_CREDENTIALS_FILE` select which file the
|
|
41
|
+
* profile is read from. The parent resolved the profile name against those
|
|
42
|
+
* same paths, so clearing them would point the child at a different file and
|
|
43
|
+
* break legitimate custom config locations.
|
|
44
|
+
*
|
|
45
|
+
* KNOWN LIMITATION — Windows casing. Clearing works by mapping each name to
|
|
46
|
+
* `undefined` in an object merged over the inherited environment, which matches
|
|
47
|
+
* keys exactly. Windows environment names are case-insensitive, so a host
|
|
48
|
+
* exporting `Aws_Access_Key_Id` keeps that entry alongside the `AWS_ACCESS_KEY_ID`
|
|
49
|
+
* tombstone and the AWS CLI can still read it. Closing this means filtering the
|
|
50
|
+
* inherited keys case-insensitively, which requires enumerating the parent
|
|
51
|
+
* environment; no Effect service exposes that here, and `globalThis.process` is
|
|
52
|
+
* not available to this code. The two `assume` call sites are POSIX-only in
|
|
53
|
+
* practice — their clipboard step has only `pbcopy` and `xclip` — so the exposed
|
|
54
|
+
* path is the SandboxService clone on a Windows host. Tracked rather than
|
|
55
|
+
* silently accepted; the exact-case behaviour these tests cover is correct on
|
|
56
|
+
* POSIX.
|
|
57
|
+
*/
|
|
58
|
+
const OVERRIDING_AWS_VARIABLES = [
|
|
59
|
+
"AWS_ACCESS_KEY_ID",
|
|
60
|
+
"AWS_SECRET_ACCESS_KEY",
|
|
61
|
+
"AWS_SESSION_TOKEN",
|
|
62
|
+
"AWS_SECURITY_TOKEN",
|
|
63
|
+
"AWS_CREDENTIAL_EXPIRATION",
|
|
64
|
+
"AWS_ROLE_ARN",
|
|
65
|
+
"AWS_WEB_IDENTITY_TOKEN_FILE",
|
|
66
|
+
"AWS_ROLE_SESSION_NAME",
|
|
67
|
+
"AWS_REGION",
|
|
68
|
+
"AWS_DEFAULT_REGION"
|
|
69
|
+
];
|
|
70
|
+
/**
|
|
71
|
+
* Builds a child environment where `overrides` are the only AWS credential and
|
|
72
|
+
* region inputs, dropping any ambient values that would outrank them.
|
|
73
|
+
*
|
|
74
|
+
* Must be paired with `extendEnv: true`; on its own it does not carry `PATH`.
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* ```ts
|
|
78
|
+
* ChildProcess.make("git", args, {
|
|
79
|
+
* env: ChildEnv.profileScopedEnv({ AWS_PROFILE: profile }),
|
|
80
|
+
* extendEnv: true
|
|
81
|
+
* })
|
|
82
|
+
* ```
|
|
83
|
+
*/
|
|
84
|
+
export const profileScopedEnv = (overrides) => {
|
|
85
|
+
const cleared = {};
|
|
86
|
+
for (const name of OVERRIDING_AWS_VARIABLES) {
|
|
87
|
+
cleared[name] = undefined;
|
|
88
|
+
}
|
|
89
|
+
return { ...cleared, ...overrides };
|
|
90
|
+
};
|
|
91
|
+
//# sourceMappingURL=ChildEnv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChildEnv.js","sourceRoot":"","sources":["../src/ChildEnv.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,wBAAwB,GAA0B;IACtD,mBAAmB;IACnB,uBAAuB;IACvB,mBAAmB;IACnB,oBAAoB;IACpB,2BAA2B;IAC3B,cAAc;IACd,6BAA6B;IAC7B,uBAAuB;IACvB,YAAY;IACZ,oBAAoB;CACrB,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,SAA6C,EACT,EAAE;IACtC,MAAM,OAAO,GAAuC,EAAE,CAAA;IACtD,KAAK,MAAM,IAAI,IAAI,wBAAwB,EAAE,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAA;IAC3B,CAAC;IACD,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,SAAS,EAAE,CAAA;AACrC,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadClient.d.ts","sourceRoot":"","sources":["../../src/ReadClient/ReadClient.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAA6B,MAAM,EAAE,MAAM,QAAQ,CAAA;AAGlF,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,aAAa,CAAA;AACpB,OAAO,EAEL,yBAAyB,EACzB,qBAAqB,EAGrB,qBAAqB,EACrB,0BAA0B,EAE1B,yBAAyB,EACzB,6BAA6B,EAC7B,KAAK,qBAAqB,EAC1B,wBAAwB,EACzB,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,sBAAsB,EAEtB,KAAK,sBAAsB,EAC3B,KAAK,iCAAiC,EACtC,KAAK,6BAA6B,EAClC,KAAK,mCAAmC,EACxC,KAAK,mCAAmC,EACzC,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"ReadClient.d.ts","sourceRoot":"","sources":["../../src/ReadClient/ReadClient.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAA6B,MAAM,EAAE,MAAM,QAAQ,CAAA;AAGlF,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,aAAa,CAAA;AACpB,OAAO,EAEL,yBAAyB,EACzB,qBAAqB,EAGrB,qBAAqB,EACrB,0BAA0B,EAE1B,yBAAyB,EACzB,6BAA6B,EAC7B,KAAK,qBAAqB,EAC1B,wBAAwB,EACzB,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,sBAAsB,EAEtB,KAAK,sBAAsB,EAC3B,KAAK,iCAAiC,EACtC,KAAK,6BAA6B,EAClC,KAAK,mCAAmC,EACxC,KAAK,mCAAmC,EACzC,MAAM,mBAAmB,CAAA;AA+K1B,0EAA0E;AAC1E,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,eAAe,EAAE,CACxB,OAAO,EAAE,qBAAqB,KAC3B,MAAM,CAAC,MAAM,CAAC,yBAAyB,EAAE,mBAAmB,CAAC,CAAA;IAClE,QAAQ,CAAC,oBAAoB,EAAE,CAC7B,OAAO,EAAE,mCAAmC,KACzC,MAAM,CAAC,MAAM,CAAC,wBAAwB,EAAE,mBAAmB,CAAC,CAAA;IACjE,QAAQ,CAAC,OAAO,EAAE,CAChB,OAAO,EAAE,sBAAsB,KAC5B,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,CAAA;IAC9D,QAAQ,CAAC,oBAAoB,EAAE,CAC7B,OAAO,EAAE,IAAI,CAAC,mCAAmC,EAAE,gBAAgB,CAAC,KACjE,MAAM,CAAC,MAAM,CAAC,yBAAyB,EAAE,mBAAmB,CAAC,CAAA;IAClE,QAAQ,CAAC,kBAAkB,EAAE,CAC3B,OAAO,EAAE,IAAI,CAAC,mCAAmC,EAAE,gBAAgB,GAAG,WAAW,CAAC,KAC/E,MAAM,CAAC,MAAM,CAAC,6BAA6B,EAAE,mBAAmB,CAAC,CAAA;IACtE,QAAQ,CAAC,cAAc,EAAE,CACvB,OAAO,EAAE,6BAA6B,KACnC,MAAM,CAAC,MAAM,CAAC,6BAA6B,EAAE,mBAAmB,CAAC,CAAA;IACtE,QAAQ,CAAC,mBAAmB,EAAE,CAC5B,OAAO,EAAE,IAAI,CAAC,iCAAiC,EAAE,gBAAgB,CAAC,KAC/D,MAAM,CAAC,MAAM,CAAC,0BAA0B,EAAE,mBAAmB,CAAC,CAAA;IACnE,QAAQ,CAAC,kBAAkB,EAAE,CAC3B,OAAO,EAAE,IAAI,CAAC,iCAAiC,EAAE,gBAAgB,GAAG,WAAW,CAAC,KAC7E,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,CAAA;CAC/D;;AAED,8CAA8C;AAC9C,qBAAa,oBAAqB,SAAQ,yBAEzC;IACC,oEAAoE;IACpE,MAAM,CAAC,QAAQ,CAAC,KAAK,mEA2HpB;IAED,8DAA8D;IAC9D,MAAM,CAAC,QAAQ,CAAC,IAAI,mJAA6E;CAClG"}
|
|
@@ -9,6 +9,14 @@ import { CodeCommitBlobTooLargeError, CodeCommitMalformedResponseError, CodeComm
|
|
|
9
9
|
import { CODECOMMIT_BLOB_MAXIMUM_BYTES, CodeCommitAccountIdentity, CodeCommitBlobContent, CodeCommitBlobId, CodeCommitBlobMetadata, CodeCommitChangedFile, CodeCommitChangedFilesPage, CodeCommitPageToken, CodeCommitPullRequestPage, CodeCommitPullRequestRevision, CodeCommitRepositoryPage } from "./models.js";
|
|
10
10
|
import { CodeCommitReadProvider, CodeCommitReadProviderLive } from "./ReadProvider.js";
|
|
11
11
|
const PROVIDER_PAGE_LIMIT = 100;
|
|
12
|
+
/**
|
|
13
|
+
* Concurrency for hydrating a listed page's pull requests via GetPullRequest.
|
|
14
|
+
*
|
|
15
|
+
* CodeCommit's GetPullRequest throttle ceiling is low; a wide fan-out bursts it
|
|
16
|
+
* and surfaces ThrottlingException even for small repositories. Kept low so a
|
|
17
|
+
* single sync stays under the limit, trading a little latency for reliability.
|
|
18
|
+
*/
|
|
19
|
+
const PULL_REQUEST_HYDRATION_CONCURRENCY = 2;
|
|
12
20
|
const RawCallerIdentity = Schema.Struct({
|
|
13
21
|
Account: Schema.String.check(Schema.isTrimmed(), Schema.isNonEmpty()),
|
|
14
22
|
Arn: Schema.String.check(Schema.isTrimmed(), Schema.isNonEmpty())
|
|
@@ -29,9 +37,13 @@ const RawPullRequestResponse = Schema.Struct({
|
|
|
29
37
|
pullRequest: Schema.Struct({
|
|
30
38
|
pullRequestId: Schema.String.check(Schema.isTrimmed(), Schema.isNonEmpty()),
|
|
31
39
|
revisionId: Schema.String.check(Schema.isTrimmed(), Schema.isNonEmpty()),
|
|
32
|
-
|
|
40
|
+
// Provider-supplied free text: CodeCommit does not guarantee a trimmed
|
|
41
|
+
// title (observed trailing "\n"), so normalize on decode instead of rejecting.
|
|
42
|
+
title: Schema.String.check(Schema.isNonEmpty()),
|
|
33
43
|
description: Schema.optional(Schema.String),
|
|
34
|
-
authorArn
|
|
44
|
+
// CodeCommit omits authorArn for deleted/system identities (observed "Missing
|
|
45
|
+
// key"); the sibling AwsClient read paths already model it as optional.
|
|
46
|
+
authorArn: Schema.optional(Schema.NullOr(Schema.String.check(Schema.isTrimmed(), Schema.isNonEmpty()))),
|
|
35
47
|
pullRequestStatus: Schema.Literals(["OPEN", "CLOSED"]),
|
|
36
48
|
pullRequestTargets: Schema.Array(RawPullRequestTarget).check(Schema.isLengthBetween(1, 1)),
|
|
37
49
|
creationDate: Schema.Date,
|
|
@@ -85,7 +97,13 @@ const mapProviderError = (operation) => (error) => {
|
|
|
85
97
|
})
|
|
86
98
|
: error;
|
|
87
99
|
};
|
|
88
|
-
|
|
100
|
+
// Effect Schema error messages embed the rejected value. That is a useful
|
|
101
|
+
// field-level diagnostic for metadata operations, but get-blob carries raw
|
|
102
|
+
// repository file bytes, so its message must never reach the logs.
|
|
103
|
+
const operationLogsRejectedValue = (operation) => operation !== "get-blob";
|
|
104
|
+
const decodeProvider = (operation, schema, value) => Schema.decodeUnknownEffect(Schema.toType(schema))(value).pipe(Effect.tapError((error) => Effect.logError(operationLogsRejectedValue(operation)
|
|
105
|
+
? `CodeCommit provider response failed schema decode (${operation}): ${error.message}`
|
|
106
|
+
: `CodeCommit provider response failed schema decode (${operation})`)), Effect.mapError(() => malformed(operation)));
|
|
89
107
|
const decodePullRequest = Effect.fn("CodeCommitReadClient.decodePullRequest")(function* (value) {
|
|
90
108
|
const raw = yield* decodeProvider("get-pull-request", RawPullRequestResponse, value);
|
|
91
109
|
const pullRequest = raw.pullRequest;
|
|
@@ -96,9 +114,9 @@ const decodePullRequest = Effect.fn("CodeCommitReadClient.decodePullRequest")(fu
|
|
|
96
114
|
pullRequestId: pullRequest.pullRequestId,
|
|
97
115
|
revisionId: pullRequest.revisionId,
|
|
98
116
|
repositoryName: target.repositoryName,
|
|
99
|
-
title: pullRequest.title,
|
|
117
|
+
title: pullRequest.title.trim(),
|
|
100
118
|
description: pullRequest.description,
|
|
101
|
-
authorArn: pullRequest.authorArn,
|
|
119
|
+
authorArn: pullRequest.authorArn ?? null,
|
|
102
120
|
status: target.mergeMetadata?.isMerged === true ? "MERGED" : pullRequest.pullRequestStatus,
|
|
103
121
|
sourceReference: target.sourceReference,
|
|
104
122
|
destinationReference: target.destinationReference,
|
|
@@ -169,7 +187,7 @@ export class CodeCommitReadClient extends Context.Service()("@knpkv/codecommit-c
|
|
|
169
187
|
const listPullRequestsPage = Effect.fn("CodeCommitReadClient.listPullRequestsPage")(function* (request) {
|
|
170
188
|
const raw = yield* provider.listPullRequestsPage({ ...request, maximumResults: PROVIDER_PAGE_LIMIT }).pipe(Effect.mapError(mapProviderError("list-pull-requests")));
|
|
171
189
|
const page = yield* decodeProvider("list-pull-requests", RawPullRequestPage, raw);
|
|
172
|
-
const pullRequests = yield* Effect.forEach(page.pullRequestIds, (pullRequestId) => getPullRequest({ account: request.account, pullRequestId }), { concurrency:
|
|
190
|
+
const pullRequests = yield* Effect.forEach(page.pullRequestIds, (pullRequestId) => getPullRequest({ account: request.account, pullRequestId }), { concurrency: PULL_REQUEST_HYDRATION_CONCURRENCY });
|
|
173
191
|
return new CodeCommitPullRequestPage({
|
|
174
192
|
pullRequests,
|
|
175
193
|
nextToken: page.nextToken === undefined ? null : CodeCommitPageToken.make(page.nextToken)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadClient.js","sourceRoot":"","sources":["../../src/ReadClient/ReadClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ReadClient.js","sourceRoot":"","sources":["../../src/ReadClient/ReadClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -56,7 +56,7 @@ declare const CodeCommitPullRequestRevision_base: Schema.Class<CodeCommitPullReq
|
|
|
56
56
|
readonly repositoryName: Schema.brand<Schema.String, "RepositoryName">;
|
|
57
57
|
readonly title: Schema.String;
|
|
58
58
|
readonly description: Schema.optional<Schema.String>;
|
|
59
|
-
readonly authorArn: Schema.String
|
|
59
|
+
readonly authorArn: Schema.NullOr<Schema.String>;
|
|
60
60
|
readonly status: Schema.Literals<readonly ["OPEN", "CLOSED", "MERGED"]>;
|
|
61
61
|
readonly sourceReference: Schema.String;
|
|
62
62
|
readonly destinationReference: Schema.String;
|
|
@@ -52,7 +52,7 @@ export class CodeCommitPullRequestRevision extends Schema.Class("CodeCommitPullR
|
|
|
52
52
|
repositoryName: RepositoryName,
|
|
53
53
|
title: NonEmptyString,
|
|
54
54
|
description: Schema.optional(Schema.String),
|
|
55
|
-
authorArn: NonEmptyString,
|
|
55
|
+
authorArn: Schema.NullOr(NonEmptyString),
|
|
56
56
|
status: Schema.Literals(["OPEN", "CLOSED", "MERGED"]),
|
|
57
57
|
sourceReference: NonEmptyString,
|
|
58
58
|
destinationReference: NonEmptyString,
|
|
@@ -1 +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;
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/ReadClient/models.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema-decoded CodeCommit review actions with immutable-head preflight and read-only reconciliation.
|
|
3
|
+
*
|
|
4
|
+
* @category Review client
|
|
5
|
+
* @module
|
|
6
|
+
*/
|
|
7
|
+
import { Context, Effect, Layer } from "effect";
|
|
8
|
+
import type { CodeCommitPullRequestRevision } from "../ReadClient/models.js";
|
|
9
|
+
import { CodeCommitReadClient } from "../ReadClient/ReadClient.js";
|
|
10
|
+
import { type CodeCommitReviewError } from "./errors.js";
|
|
11
|
+
import { type CodeCommitReviewAction, CodeCommitReviewReceipt, type CodeCommitReviewReconciliation } from "./models.js";
|
|
12
|
+
import { CodeCommitReviewProvider } from "./ReviewProvider.js";
|
|
13
|
+
/** Public review operations implemented over injectable read and raw-provider boundaries. */
|
|
14
|
+
export interface CodeCommitReviewClientService {
|
|
15
|
+
readonly preflight: (action: CodeCommitReviewAction) => Effect.Effect<CodeCommitPullRequestRevision, CodeCommitReviewError>;
|
|
16
|
+
readonly execute: (action: CodeCommitReviewAction) => Effect.Effect<CodeCommitReviewReceipt, CodeCommitReviewError>;
|
|
17
|
+
readonly reconcile: (action: CodeCommitReviewAction) => Effect.Effect<CodeCommitReviewReconciliation, CodeCommitReviewError>;
|
|
18
|
+
}
|
|
19
|
+
declare const CodeCommitReviewClient_base: Context.ServiceClass<CodeCommitReviewClient, "@knpkv/codecommit-core/CodeCommitReviewClient", CodeCommitReviewClientService>;
|
|
20
|
+
/** Schema-decoded CodeCommit review service. */
|
|
21
|
+
export declare class CodeCommitReviewClient extends CodeCommitReviewClient_base {
|
|
22
|
+
/** Review client implementation requiring read and raw mutation providers. */
|
|
23
|
+
static readonly layer: Layer.Layer<CodeCommitReviewClient, never, CodeCommitReadClient | CodeCommitReviewProvider>;
|
|
24
|
+
/** Live review client backed by production read and mutation providers. */
|
|
25
|
+
static readonly live: Layer.Layer<CodeCommitReviewClient, never, import("../AwsClientConfig.ts").AwsClientConfig | CodeCommitReadClient | import("effect/unstable/http/HttpClient").HttpClient>;
|
|
26
|
+
}
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=ReviewClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReviewClient.d.ts","sourceRoot":"","sources":["../../src/ReviewClient/ReviewClient.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAqB,MAAM,QAAQ,CAAA;AAKlE,OAAO,KAAK,EAA6B,6BAA6B,EAAE,MAAM,yBAAyB,CAAA;AACvG,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAiC,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACvF,OAAO,EACL,KAAK,sBAAsB,EAC3B,uBAAuB,EACvB,KAAK,8BAA8B,EAEpC,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,wBAAwB,EAAgC,MAAM,qBAAqB,CAAA;AA2J5F,6FAA6F;AAC7F,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,SAAS,EAAE,CAClB,MAAM,EAAE,sBAAsB,KAC3B,MAAM,CAAC,MAAM,CAAC,6BAA6B,EAAE,qBAAqB,CAAC,CAAA;IACxE,QAAQ,CAAC,OAAO,EAAE,CAChB,MAAM,EAAE,sBAAsB,KAC3B,MAAM,CAAC,MAAM,CAAC,uBAAuB,EAAE,qBAAqB,CAAC,CAAA;IAClE,QAAQ,CAAC,SAAS,EAAE,CAClB,MAAM,EAAE,sBAAsB,KAC3B,MAAM,CAAC,MAAM,CAAC,8BAA8B,EAAE,qBAAqB,CAAC,CAAA;CAC1E;;AAED,gDAAgD;AAChD,qBAAa,sBAAuB,SAAQ,2BAGQ;IAClD,8EAA8E;IAC9E,MAAM,CAAC,QAAQ,CAAC,KAAK,8FA4GpB;IAED,2EAA2E;IAC3E,MAAM,CAAC,QAAQ,CAAC,IAAI,4KAEnB;CACF"}
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema-decoded CodeCommit review actions with immutable-head preflight and read-only reconciliation.
|
|
3
|
+
*
|
|
4
|
+
* @category Review client
|
|
5
|
+
* @module
|
|
6
|
+
*/
|
|
7
|
+
import { Context, Effect, Layer, Predicate, Schema } from "effect";
|
|
8
|
+
import { identityMatches } from "../Domain.js";
|
|
9
|
+
import { CodeCommitMalformedResponseError, CodeCommitReadNotFoundError } from "../ReadClient/errors.js";
|
|
10
|
+
import { CodeCommitReadClient } from "../ReadClient/ReadClient.js";
|
|
11
|
+
import { CodeCommitReviewConflictError } from "./errors.js";
|
|
12
|
+
import { CodeCommitReviewReceipt } from "./models.js";
|
|
13
|
+
import { CodeCommitReviewProvider, CodeCommitReviewProviderLive } from "./ReviewProvider.js";
|
|
14
|
+
const MAXIMUM_COMMENT_PAGES = 20;
|
|
15
|
+
const COMMENT_MARKER_PREFIX = "<!-- knpkv-codecommit-review:";
|
|
16
|
+
const COMMENT_MARKER_SUFFIX = " -->";
|
|
17
|
+
const RawCommentResponse = Schema.Struct({
|
|
18
|
+
comment: Schema.Struct({
|
|
19
|
+
commentId: Schema.String.check(Schema.isTrimmed(), Schema.isNonEmpty()),
|
|
20
|
+
clientRequestToken: Schema.optional(Schema.String)
|
|
21
|
+
})
|
|
22
|
+
});
|
|
23
|
+
const RawApprovalStates = Schema.Struct({
|
|
24
|
+
approvals: Schema.optional(Schema.Array(Schema.Struct({
|
|
25
|
+
userArn: Schema.optional(Schema.String.check(Schema.isTrimmed(), Schema.isNonEmpty())),
|
|
26
|
+
approvalState: Schema.optional(Schema.Literals(["APPROVE", "REVOKE"]))
|
|
27
|
+
})))
|
|
28
|
+
});
|
|
29
|
+
const RawCommentsPage = Schema.Struct({
|
|
30
|
+
commentsForPullRequestData: Schema.optional(Schema.Array(Schema.Struct({
|
|
31
|
+
comments: Schema.optional(Schema.Array(Schema.Struct({
|
|
32
|
+
commentId: Schema.optional(Schema.String.check(Schema.isTrimmed(), Schema.isNonEmpty())),
|
|
33
|
+
clientRequestToken: Schema.optional(Schema.String),
|
|
34
|
+
content: Schema.optional(Schema.String)
|
|
35
|
+
})))
|
|
36
|
+
}))),
|
|
37
|
+
nextToken: Schema.optional(Schema.String.check(Schema.isTrimmed(), Schema.isNonEmpty()))
|
|
38
|
+
});
|
|
39
|
+
const malformed = (operation) => new CodeCommitMalformedResponseError({
|
|
40
|
+
operation,
|
|
41
|
+
diagnosticCode: "provider-response-schema-invalid"
|
|
42
|
+
});
|
|
43
|
+
const decodeProvider = (operation, schema, value) => Schema.decodeUnknownEffect(Schema.toType(schema))(value).pipe(Effect.mapError(() => malformed(operation)));
|
|
44
|
+
const conflictReason = (cause) => {
|
|
45
|
+
if (Predicate.isTagged(cause, "RevisionNotCurrentException"))
|
|
46
|
+
return "revision-changed";
|
|
47
|
+
if (Predicate.isTagged(cause, "TipOfSourceReferenceIsDifferentException"))
|
|
48
|
+
return "source-commit-changed";
|
|
49
|
+
if (Predicate.isTagged(cause, "PullRequestAlreadyClosedException"))
|
|
50
|
+
return "pull-request-closed";
|
|
51
|
+
if (Predicate.isTagged(cause, "PullRequestCannotBeApprovedByAuthorException"))
|
|
52
|
+
return "approval-by-author";
|
|
53
|
+
if (Predicate.isTagged(cause, "MaximumNumberOfApprovalsExceededException")) {
|
|
54
|
+
return "approval-rules-unsatisfied";
|
|
55
|
+
}
|
|
56
|
+
if (Predicate.isTagged(cause, "PullRequestApprovalRulesNotSatisfiedException")) {
|
|
57
|
+
return "approval-rules-unsatisfied";
|
|
58
|
+
}
|
|
59
|
+
if (Predicate.isTagged(cause, "RepositoryNotAssociatedWithPullRequestException"))
|
|
60
|
+
return "repository-changed";
|
|
61
|
+
if (Predicate.isTagged(cause, "CommitDoesNotExistException"))
|
|
62
|
+
return "source-commit-changed";
|
|
63
|
+
if (Predicate.isTagged(cause, "CommentContentSizeLimitExceededException") ||
|
|
64
|
+
Predicate.isTagged(cause, "InvalidClientRequestTokenException") ||
|
|
65
|
+
Predicate.isTagged(cause, "InvalidFileLocationException") ||
|
|
66
|
+
Predicate.isTagged(cause, "InvalidFilePositionException") ||
|
|
67
|
+
Predicate.isTagged(cause, "InvalidPathException") ||
|
|
68
|
+
Predicate.isTagged(cause, "PathDoesNotExistException") ||
|
|
69
|
+
Predicate.isTagged(cause, "InvalidRelativeFileVersionEnumException"))
|
|
70
|
+
return "revision-changed";
|
|
71
|
+
if (Predicate.isTagged(cause, "ConcurrentReferenceUpdateException") ||
|
|
72
|
+
Predicate.isTagged(cause, "ManualMergeRequiredException"))
|
|
73
|
+
return "merge-conflict";
|
|
74
|
+
return null;
|
|
75
|
+
};
|
|
76
|
+
const mapProviderError = (operation) => (error) => {
|
|
77
|
+
if (error._tag !== "AwsApiError")
|
|
78
|
+
return error;
|
|
79
|
+
const reason = conflictReason(error.cause);
|
|
80
|
+
if (reason !== null)
|
|
81
|
+
return new CodeCommitReviewConflictError({ operation, reason });
|
|
82
|
+
if (Predicate.isTagged(error.cause, "PullRequestDoesNotExistException") ||
|
|
83
|
+
Predicate.isTagged(error.cause, "RepositoryDoesNotExistException"))
|
|
84
|
+
return new CodeCommitReadNotFoundError({ operation });
|
|
85
|
+
return error;
|
|
86
|
+
};
|
|
87
|
+
const targetConflict = (target, pullRequest) => {
|
|
88
|
+
if (pullRequest.repositoryName !== target.repositoryName)
|
|
89
|
+
return "repository-changed";
|
|
90
|
+
if (pullRequest.status !== "OPEN")
|
|
91
|
+
return "pull-request-closed";
|
|
92
|
+
if (pullRequest.revisionId !== target.revisionId)
|
|
93
|
+
return "revision-changed";
|
|
94
|
+
if (pullRequest.sourceCommit !== target.sourceCommit)
|
|
95
|
+
return "source-commit-changed";
|
|
96
|
+
if (pullRequest.destinationCommit !== target.destinationCommit)
|
|
97
|
+
return "destination-commit-changed";
|
|
98
|
+
if (pullRequest.destinationReference !== target.destinationReference)
|
|
99
|
+
return "destination-reference-changed";
|
|
100
|
+
return null;
|
|
101
|
+
};
|
|
102
|
+
const arnAccountId = (arn) => {
|
|
103
|
+
const fields = arn.trim().split(":");
|
|
104
|
+
const accountId = fields[4];
|
|
105
|
+
return fields[0]?.toLowerCase() === "arn" && accountId !== undefined && /^[0-9]{12}$/u.test(accountId)
|
|
106
|
+
? accountId
|
|
107
|
+
: null;
|
|
108
|
+
};
|
|
109
|
+
const approvalIdentityMatches = (identity, approvalArn) => {
|
|
110
|
+
const caller = identity.arn.trim().toLowerCase();
|
|
111
|
+
const approver = approvalArn.trim().toLowerCase();
|
|
112
|
+
if (caller === approver)
|
|
113
|
+
return true;
|
|
114
|
+
return arnAccountId(approvalArn) === identity.accountId && identityMatches(identity.arn, approvalArn);
|
|
115
|
+
};
|
|
116
|
+
const preflightTarget = Effect.fn("CodeCommitReviewClient.preflightTarget")(function* (readClient, target) {
|
|
117
|
+
const pullRequest = yield* readClient.getPullRequest({
|
|
118
|
+
account: target.account,
|
|
119
|
+
pullRequestId: target.pullRequestId
|
|
120
|
+
});
|
|
121
|
+
const reason = targetConflict(target, pullRequest);
|
|
122
|
+
if (reason !== null)
|
|
123
|
+
return yield* new CodeCommitReviewConflictError({ operation: "preflight", reason });
|
|
124
|
+
return pullRequest;
|
|
125
|
+
});
|
|
126
|
+
const commentSummary = (tag) => {
|
|
127
|
+
switch (tag) {
|
|
128
|
+
case "request-review":
|
|
129
|
+
return "Review request posted to the pull request";
|
|
130
|
+
case "request-changes":
|
|
131
|
+
return "Change request posted to the pull request";
|
|
132
|
+
case "comment":
|
|
133
|
+
return "Comment posted to the pull request";
|
|
134
|
+
case "approve":
|
|
135
|
+
return "Pull request revision approved";
|
|
136
|
+
case "revoke-approval":
|
|
137
|
+
return "Pull request approval revoked";
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
const commentMarker = (clientRequestToken) => `${COMMENT_MARKER_PREFIX}${clientRequestToken}${COMMENT_MARKER_SUFFIX}`;
|
|
141
|
+
const withCommentMarker = (action) => ({
|
|
142
|
+
...action,
|
|
143
|
+
content: `${action.content}\n\n${commentMarker(action.clientRequestToken)}`
|
|
144
|
+
});
|
|
145
|
+
/** Schema-decoded CodeCommit review service. */
|
|
146
|
+
export class CodeCommitReviewClient extends Context.Service()("@knpkv/codecommit-core/CodeCommitReviewClient") {
|
|
147
|
+
/** Review client implementation requiring read and raw mutation providers. */
|
|
148
|
+
static layer = Layer.effect(CodeCommitReviewClient, Effect.gen(function* () {
|
|
149
|
+
const provider = yield* CodeCommitReviewProvider;
|
|
150
|
+
const readClient = yield* CodeCommitReadClient;
|
|
151
|
+
const preflight = (action) => preflightTarget(readClient, action.target);
|
|
152
|
+
const execute = Effect.fn("CodeCommitReviewClient.execute")(function* (action) {
|
|
153
|
+
switch (action._tag) {
|
|
154
|
+
case "request-review":
|
|
155
|
+
case "request-changes":
|
|
156
|
+
case "comment": {
|
|
157
|
+
yield* preflightTarget(readClient, action.target);
|
|
158
|
+
const raw = yield* provider.postComment(withCommentMarker(action)).pipe(Effect.mapError(mapProviderError("post-comment")));
|
|
159
|
+
const response = yield* decodeProvider("post-comment", RawCommentResponse, raw);
|
|
160
|
+
return new CodeCommitReviewReceipt({
|
|
161
|
+
operationId: `comment:${response.comment.commentId}`,
|
|
162
|
+
summary: commentSummary(action._tag)
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
case "approve":
|
|
166
|
+
case "revoke-approval": {
|
|
167
|
+
yield* preflightTarget(readClient, action.target);
|
|
168
|
+
yield* provider.updateApprovalState(action).pipe(Effect.mapError(mapProviderError("update-approval")));
|
|
169
|
+
return new CodeCommitReviewReceipt({
|
|
170
|
+
operationId: `approval:${action._tag}:${action.target.pullRequestId}:${action.target.revisionId}`,
|
|
171
|
+
summary: commentSummary(action._tag)
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
const reconcileComment = Effect.fn("CodeCommitReviewClient.reconcileComment")(function* (action) {
|
|
177
|
+
let nextToken = null;
|
|
178
|
+
for (let pageIndex = 0; pageIndex < MAXIMUM_COMMENT_PAGES; pageIndex += 1) {
|
|
179
|
+
const raw = yield* provider.getCommentsPage({ target: action.target, nextToken }).pipe(Effect.mapError(mapProviderError("reconcile-comment")));
|
|
180
|
+
const page = yield* decodeProvider("reconcile-comment", RawCommentsPage, raw);
|
|
181
|
+
const comment = (page.commentsForPullRequestData ?? [])
|
|
182
|
+
.flatMap(({ comments }) => comments ?? [])
|
|
183
|
+
.find(({ clientRequestToken, content }) => clientRequestToken === action.clientRequestToken ||
|
|
184
|
+
content?.includes(commentMarker(action.clientRequestToken)) === true);
|
|
185
|
+
if (comment?.commentId !== undefined) {
|
|
186
|
+
return {
|
|
187
|
+
_tag: "succeeded",
|
|
188
|
+
receipt: new CodeCommitReviewReceipt({
|
|
189
|
+
operationId: `comment:${comment.commentId}`,
|
|
190
|
+
summary: commentSummary(action._tag)
|
|
191
|
+
})
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
nextToken = page.nextToken ?? null;
|
|
195
|
+
if (nextToken === null)
|
|
196
|
+
return { _tag: "pending" };
|
|
197
|
+
}
|
|
198
|
+
return { _tag: "pending" };
|
|
199
|
+
});
|
|
200
|
+
const reconcile = Effect.fn("CodeCommitReviewClient.reconcile")(function* (action) {
|
|
201
|
+
switch (action._tag) {
|
|
202
|
+
case "request-review":
|
|
203
|
+
case "request-changes":
|
|
204
|
+
case "comment":
|
|
205
|
+
return yield* reconcileComment(action);
|
|
206
|
+
case "approve":
|
|
207
|
+
case "revoke-approval": {
|
|
208
|
+
const identity = yield* readClient.discoverAccount(action.target.account);
|
|
209
|
+
const raw = yield* provider.getApprovalStates(action.target).pipe(Effect.mapError(mapProviderError("reconcile-approval")));
|
|
210
|
+
const states = yield* decodeProvider("reconcile-approval", RawApprovalStates, raw);
|
|
211
|
+
const caller = (states.approvals ?? []).find(({ userArn }) => userArn !== undefined && approvalIdentityMatches(identity, userArn));
|
|
212
|
+
const reconciled = action._tag === "approve"
|
|
213
|
+
? caller?.approvalState === "APPROVE"
|
|
214
|
+
: caller === undefined || caller.approvalState === "REVOKE";
|
|
215
|
+
return reconciled
|
|
216
|
+
? {
|
|
217
|
+
_tag: "succeeded",
|
|
218
|
+
receipt: new CodeCommitReviewReceipt({
|
|
219
|
+
operationId: `approval:${action._tag}:${action.target.pullRequestId}:${action.target.revisionId}`,
|
|
220
|
+
summary: commentSummary(action._tag)
|
|
221
|
+
})
|
|
222
|
+
}
|
|
223
|
+
: { _tag: "pending" };
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
});
|
|
227
|
+
return { execute, preflight, reconcile };
|
|
228
|
+
}));
|
|
229
|
+
/** Live review client backed by production read and mutation providers. */
|
|
230
|
+
static live = CodeCommitReviewClient.layer.pipe(Layer.provide(CodeCommitReviewProviderLive));
|
|
231
|
+
}
|
|
232
|
+
//# sourceMappingURL=ReviewClient.js.map
|