@knpkv/codecommit-web 0.13.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/client/assets/index-Ds8Muxxv.css +1 -0
  2. package/dist/client/assets/index-eLkbewLN.js +90 -0
  3. package/dist/client/assets/pr-review-workspace-CgczAXj_.js +22 -0
  4. package/dist/client/index.html +2 -2
  5. package/dist/pull-request-coordinates.d.ts +22 -0
  6. package/dist/pull-request-coordinates.d.ts.map +1 -0
  7. package/dist/pull-request-coordinates.js +88 -0
  8. package/dist/pull-request-coordinates.js.map +1 -0
  9. package/dist/server/Api.d.ts +420 -186
  10. package/dist/server/Api.d.ts.map +1 -1
  11. package/dist/server/Api.js +66 -27
  12. package/dist/server/Api.js.map +1 -1
  13. package/dist/server/Server.d.ts.map +1 -1
  14. package/dist/server/Server.js +6 -1
  15. package/dist/server/Server.js.map +1 -1
  16. package/dist/server/handlers/prs-live.d.ts +75 -5
  17. package/dist/server/handlers/prs-live.d.ts.map +1 -1
  18. package/dist/server/handlers/prs-live.js +129 -28
  19. package/dist/server/handlers/prs-live.js.map +1 -1
  20. package/dist/server/handlers/sandbox-live.d.ts.map +1 -1
  21. package/dist/server/handlers/sandbox-live.js +1 -0
  22. package/dist/server/handlers/sandbox-live.js.map +1 -1
  23. package/dist/server/handlers/subscriptions-live.d.ts +2 -2
  24. package/dist/server/handlers/subscriptions-live.d.ts.map +1 -1
  25. package/dist/server/handlers/subscriptions-live.js +25 -4
  26. package/dist/server/handlers/subscriptions-live.js.map +1 -1
  27. package/dist/server/review/PullRequestReview.d.ts +89 -5
  28. package/dist/server/review/PullRequestReview.d.ts.map +1 -1
  29. package/dist/server/review/PullRequestReview.js +31 -14
  30. package/dist/server/review/PullRequestReview.js.map +1 -1
  31. package/package.json +8 -5
  32. package/dist/client/assets/index-DJ8wO4ny.js +0 -90
  33. package/dist/client/assets/index-KjRfV-r_.css +0 -1
  34. package/dist/client/assets/pr-review-workspace-DPsfemKB.js +0 -22
@@ -10,13 +10,15 @@
10
10
  *
11
11
  * @module
12
12
  */
13
- import { AwsClient, CacheService, ChildEnv, PRService, ReadClient } from "@knpkv/codecommit-core";
13
+ import { AwsClient, CacheService, ChildEnv, ConfigService, PRService, ReadClient } from "@knpkv/codecommit-core";
14
+ import * as Domain from "@knpkv/codecommit-core/Domain.js";
14
15
  import { encodeCommentLocations } from "@knpkv/codecommit-core/Domain.js";
15
- import { Chunk, Effect, Predicate, Schema, Semaphore, Stream, SubscriptionRef } from "effect";
16
+ import { Chunk, Effect, Option, Predicate, Schema, Semaphore, Stream, SubscriptionRef } from "effect";
16
17
  import * as FileSystem from "effect/FileSystem";
17
18
  import { HttpServerRequest, HttpServerResponse } from "effect/unstable/http";
18
19
  import { HttpApiBuilder } from "effect/unstable/httpapi";
19
20
  import { ChildProcess, ChildProcessSpawner } from "effect/unstable/process";
21
+ import { decodePullRequestCoordinates } from "../../pull-request-coordinates.js";
20
22
  import { ApiError, CodeCommitApi, RelayReviewContinueStreamRequest, RelayReviewStreamEvent, RelayReviewStreamRequest } from "../Api.js";
21
23
  import { BackgroundScope } from "../internal/BackgroundScope.js";
22
24
  import { loadPullRequestDiff, loadPullRequestDiffContent, makePullRequestChangedFilesSource, postPullRequestRelayFinding, runPullRequestRelayReview, streamPullRequestRelayConversation, streamPullRequestRelayReview, withRelayReviewPermit, withRelayReviewStreamPermit } from "../review/PullRequestReview.js";
@@ -60,6 +62,22 @@ const buildApprovalRuleContent = (requiredApprovals, poolMembers) => JSON.string
60
62
  const relayEventEncoder = new TextEncoder();
61
63
  const encodeRelayStreamEvent = Schema.encodeSync(Schema.fromJsonString(RelayReviewStreamEvent));
62
64
  const relayReviewMarker = /\n\n<!-- knpkv-codecommit-review:[0-9a-f]{64} -->$/u;
65
+ const sameReviewProfile = Schema.toEquivalence(ConfigService.ReviewProfileConfig);
66
+ /** Resolve only an exact saved profile snapshot; stale or forged execution fields fail closed. */
67
+ export const resolveRelayReviewProfile = Effect.fn("PrsLive.resolveRelayReviewProfile")(function* (configService, requested) {
68
+ const config = yield* configService.load.pipe(Effect.mapError(() => new ApiError({ message: "Relay profiles are unavailable" })));
69
+ const configured = config.review.profiles.find(({ id }) => id === requested.id);
70
+ if (configured === undefined || !sameReviewProfile(configured, requested)) {
71
+ return yield* new ApiError({ message: "The selected Relay profile is unknown or has changed; reload settings" });
72
+ }
73
+ return configured;
74
+ });
75
+ /** Resolve one server-owned profile and its catalog-owned prompt as one execution configuration. */
76
+ export const resolveRelayReviewExecution = Effect.fn("PrsLive.resolveRelayReviewExecution")(function* (configService, requested, skills) {
77
+ const profile = yield* resolveRelayReviewProfile(configService, requested);
78
+ const skillPrompt = yield* selectedReviewSkillPrompt(skills, profile.skillIds);
79
+ return { profile, skillPrompt };
80
+ });
63
81
  const stripRelayReviewMarker = (content) => content.replace(relayReviewMarker, "");
64
82
  const sanitizeCommentThread = (thread) => ({
65
83
  root: { ...thread.root, content: stripRelayReviewMarker(thread.root.content) },
@@ -77,23 +95,100 @@ const relayStreamResponse = (stream) => HttpServerResponse.stream(stream.pipe(St
77
95
  "x-content-type-options": "nosniff"
78
96
  }
79
97
  });
80
- export const selectedPullRequest = (pullRequests, awsAccountId, pullRequestId) => {
81
- const pullRequest = pullRequests.find((candidate) => candidate.id === pullRequestId &&
82
- (candidate.account.awsAccountId === awsAccountId ||
83
- candidate.account.repoAccountId === awsAccountId ||
84
- candidate.account.profile === awsAccountId));
85
- return pullRequest === undefined
86
- ? Effect.fail(new ApiError({ message: "The selected pull request is not available in the local workspace" }))
87
- : Effect.succeed(pullRequest);
98
+ export const selectedPullRequest = (pullRequests, awsAccountId, pullRequestId, coordinates) => {
99
+ const routeAccountId = coordinates?.accountId ?? awsAccountId;
100
+ const accountMatches = (candidate) => coordinates === undefined
101
+ ? candidate.account.awsAccountId === routeAccountId
102
+ || candidate.account.repoAccountId === routeAccountId
103
+ || candidate.account.profile === routeAccountId
104
+ : coordinates.accountIdSource === "coordinate-token"
105
+ ? candidate.account.awsAccountId !== undefined && candidate.account.awsAccountId !== ""
106
+ && candidate.account.awsAccountId === routeAccountId
107
+ : candidate.account.awsAccountId === routeAccountId
108
+ || candidate.account.repoAccountId === routeAccountId
109
+ || candidate.account.profile === routeAccountId;
110
+ const matches = pullRequests.filter((candidate) => candidate.id === pullRequestId &&
111
+ accountMatches(candidate) &&
112
+ (coordinates === undefined ||
113
+ (candidate.repositoryName === coordinates.repositoryName && candidate.account.region === coordinates.region)));
114
+ if (matches.length === 1) {
115
+ const pullRequest = matches[0];
116
+ return pullRequest === undefined
117
+ ? Effect.fail(new ApiError({ message: "The selected pull request is not available in the local workspace" }))
118
+ : Effect.succeed(pullRequest);
119
+ }
120
+ return Effect.fail(new ApiError({
121
+ message: matches.length === 0
122
+ ? "The selected pull request is not available in the local workspace"
123
+ : "The selected pull request is ambiguous; repository and region coordinates are required"
124
+ }));
88
125
  };
89
126
  /** Resolve the same durable PR row used by SSE before enforcing the route account boundary. */
90
- export const cachedPullRequest = (pullRequestRepo, awsAccountId, pullRequestId) => pullRequestRepo.findAll().pipe(Effect.map((rows) => rows.map((row) => PRService.decodeCachedPR(row))), Effect.mapError(() => new ApiError({ message: "The selected pull request is not available in the local workspace" })), Effect.flatMap((pullRequests) => selectedPullRequest(pullRequests, awsAccountId, pullRequestId)));
127
+ export const cachedPullRequest = (pullRequestRepo, awsAccountId, pullRequestId, directCoordinates) => {
128
+ const coordinatesEffect = decodePullRequestCoordinates(awsAccountId).pipe(Effect.mapError((error) => new ApiError({ message: error.message })), Effect.flatMap((token) => {
129
+ if (Option.isSome(token)) {
130
+ if (token.value.pullRequestId !== pullRequestId) {
131
+ return Effect.fail(new ApiError({ message: "The pull-request coordinate token does not match its route" }));
132
+ }
133
+ if (directCoordinates !== undefined &&
134
+ (token.value.repositoryName !== directCoordinates.repositoryName ||
135
+ token.value.region !== directCoordinates.region)) {
136
+ return Effect.fail(new ApiError({ message: "The pull-request coordinates do not match its route" }));
137
+ }
138
+ return Effect.succeed(Option.some({
139
+ ...token.value,
140
+ accountIdSource: "coordinate-token"
141
+ }));
142
+ }
143
+ return directCoordinates === undefined
144
+ ? Effect.succeed(Option.none())
145
+ : Effect.succeed(Option.some({
146
+ accountId: awsAccountId,
147
+ pullRequestId,
148
+ repositoryName: Domain.RepositoryName.make(directCoordinates.repositoryName),
149
+ region: Domain.AwsRegion.make(directCoordinates.region)
150
+ }));
151
+ }));
152
+ return coordinatesEffect.pipe(Effect.flatMap((coordinatesOption) => {
153
+ const coordinates = Option.getOrUndefined(coordinatesOption);
154
+ return pullRequestRepo.findAll().pipe(Effect.map((rows) => rows.map((row) => PRService.decodeCachedPR(row))), Effect.mapError(() => new ApiError({ message: "The selected pull request is not available in the local workspace" })), Effect.flatMap((pullRequests) => selectedPullRequest(pullRequests, coordinates?.accountId ?? awsAccountId, pullRequestId, coordinates)));
155
+ }));
156
+ };
91
157
  /** Keep proprietary source revisions out of browser and intermediary caches. */
92
158
  export const makeDiffContentResponse = (content) => HttpServerResponse.json(content, {
93
159
  headers: { "cache-control": "no-store" }
94
160
  }).pipe(Effect.mapError((error) => new ApiError({ message: error.message })));
95
161
  /** Complete a durable single-PR refresh and return its immutable provider revision identity. */
96
162
  export const completeSinglePullRequestRefresh = (refresh) => refresh.pipe(Effect.map(({ revisionId, sourceCommit }) => ({ revisionId, headCommit: sourceCommit })));
163
+ export const refreshRouteCoordinates = (accountId, pullRequestId, query) => Effect.gen(function* () {
164
+ const token = yield* decodePullRequestCoordinates(accountId).pipe(Effect.mapError((error) => new ApiError({ message: error.message })));
165
+ if (Option.isSome(token)) {
166
+ if (token.value.pullRequestId !== pullRequestId) {
167
+ return yield* new ApiError({ message: "The pull-request coordinate token does not match its route" });
168
+ }
169
+ return {
170
+ accountId: token.value.accountId,
171
+ coordinates: {
172
+ repositoryName: token.value.repositoryName,
173
+ region: token.value.region,
174
+ accountIdSource: "coordinate-token"
175
+ }
176
+ };
177
+ }
178
+ if (query.repositoryName === undefined && query.region === undefined)
179
+ return { accountId };
180
+ if (query.repositoryName === undefined || query.region === undefined) {
181
+ return yield* new ApiError({ message: "Pull-request refresh coordinates require repository and region together" });
182
+ }
183
+ const repositoryName = yield* Schema.decodeUnknownEffect(Domain.RepositoryName)(query.repositoryName).pipe(Effect.mapError(() => new ApiError({ message: "Invalid pull-request repository coordinate" })));
184
+ return {
185
+ accountId,
186
+ coordinates: {
187
+ repositoryName,
188
+ region: query.region
189
+ }
190
+ };
191
+ });
97
192
  export const PrsLive = HttpApiBuilder.group(CodeCommitApi, "prs", (handlers) => Effect.gen(function* () {
98
193
  const prService = yield* PRService.PRService;
99
194
  const awsClient = yield* AwsClient.AwsClient;
@@ -110,6 +205,7 @@ export const PrsLive = HttpApiBuilder.group(CodeCommitApi, "prs", (handlers) =>
110
205
  const fileSystem = yield* FileSystem.FileSystem;
111
206
  const childProcessSpawner = yield* ChildProcessSpawner.ChildProcessSpawner;
112
207
  const relayFindingPublisher = yield* RelayFindingPublisher;
208
+ const configService = yield* ConfigService.ConfigService;
113
209
  return handlers
114
210
  .handle("list", () => SubscriptionRef.get(prService.state).pipe(Effect.map((state) => Chunk.fromIterable(state.pullRequests))))
115
211
  .handle("refresh", () => prService.refresh.pipe(Effect.forkIn(ownerScope), Effect.map(() => "ok")))
@@ -121,7 +217,10 @@ export const PrsLive = HttpApiBuilder.group(CodeCommitApi, "prs", (handlers) =>
121
217
  const items = yield* Effect.forEach(result.items, (row) => Schema.encodeEffect(CacheService.CachedPullRequest)(row));
122
218
  return { items, total: result.total, hasMore: result.hasMore };
123
219
  }).pipe(Effect.mapError((e) => new ApiError({ message: String(e) }))))
124
- .handle("refreshSingle", ({ params }) => completeSinglePullRequestRefresh(prService.refreshSinglePR(params.awsAccountId, params.prId)).pipe(Effect.mapError((error) => new ApiError({ message: extractAwsMessage(error) }))))
220
+ .handle("refreshSingle", ({ params, query }) => Effect.gen(function* () {
221
+ const route = yield* refreshRouteCoordinates(params.awsAccountId, params.prId, query);
222
+ return yield* completeSinglePullRequestRefresh(prService.refreshSinglePR(route.accountId, params.prId, route.coordinates));
223
+ }).pipe(Effect.mapError((error) => Predicate.isTagged(error, "ApiError") ? error : new ApiError({ message: extractAwsMessage(error) }))))
125
224
  .handle("create", ({ payload }) => awsClient.createPullRequest({
126
225
  account: { profile: payload.account.profile, region: payload.account.region },
127
226
  repositoryName: payload.repositoryName,
@@ -135,40 +234,42 @@ export const PrsLive = HttpApiBuilder.group(CodeCommitApi, "prs", (handlers) =>
135
234
  pullRequestId: query.pullRequestId,
136
235
  repositoryName: query.repositoryName
137
236
  }).pipe(Effect.map(encodeClientVisibleCommentLocations), Effect.mapError((e) => new ApiError({ message: e.message }))))
138
- .handle("diff", ({ params }) => Effect.gen(function* () {
139
- const pullRequest = yield* cachedPullRequest(pullRequestRepo, params.awsAccountId, params.prId);
237
+ .handle("diff", ({ params, query }) => Effect.gen(function* () {
238
+ const pullRequest = yield* cachedPullRequest(pullRequestRepo, params.awsAccountId, params.prId, query);
140
239
  return yield* loadPullRequestDiff(readClient, pullRequest, changedFiles);
141
240
  }).pipe(Effect.mapError((error) => new ApiError({ message: error.message }))))
142
241
  .handleRaw("diffContent", ({ params, query }) => Effect.gen(function* () {
143
- const pullRequest = yield* cachedPullRequest(pullRequestRepo, params.awsAccountId, params.prId);
242
+ const pullRequest = yield* cachedPullRequest(pullRequestRepo, params.awsAccountId, params.prId, query);
144
243
  const content = yield* loadPullRequestDiffContent(readClient, pullRequest, query, params.fileIndex, changedFiles);
145
244
  return yield* makeDiffContentResponse(content);
146
245
  }).pipe(Effect.mapError((error) => new ApiError({ message: error.message }))))
147
- .handle("relayReview", ({ params, payload }) => Effect.gen(function* () {
148
- const pullRequest = yield* cachedPullRequest(pullRequestRepo, params.awsAccountId, params.prId);
149
- return yield* withRelayReviewPermit(relaySemaphore, runPullRequestRelayReview(readClient, pullRequest, payload, payload.kind, changedFiles));
246
+ .handle("relayReview", ({ params, payload, query }) => Effect.gen(function* () {
247
+ const skills = yield* discoverReviewSkills();
248
+ const { profile, skillPrompt } = yield* resolveRelayReviewExecution(configService, payload.profile, skills);
249
+ const pullRequest = yield* cachedPullRequest(pullRequestRepo, params.awsAccountId, params.prId, query);
250
+ return yield* withRelayReviewPermit(relaySemaphore, runPullRequestRelayReview(readClient, pullRequest, payload, profile, changedFiles, skillPrompt));
150
251
  }).pipe(Effect.mapError((error) => new ApiError({ message: error.message }))))
151
- .handleRaw("relayReviewStream", ({ params }) => Effect.gen(function* () {
252
+ .handleRaw("relayReviewStream", ({ params, query }) => Effect.gen(function* () {
152
253
  const payload = yield* HttpServerRequest.schemaBodyJson(RelayReviewStreamRequest);
153
- const pullRequest = yield* cachedPullRequest(pullRequestRepo, params.awsAccountId, params.prId);
154
254
  const skills = yield* discoverReviewSkills();
155
- const skillPrompt = yield* selectedReviewSkillPrompt(skills, payload.skillIds);
156
- const stream = withRelayReviewStreamPermit(relaySemaphore, streamPullRequestRelayReview(readClient, pullRequest, payload, payload.kind, changedFiles, skillPrompt)).pipe(Stream.catch((error) => Stream.make({ type: "error", message: error.message })));
255
+ const { profile, skillPrompt } = yield* resolveRelayReviewExecution(configService, payload.profile, skills);
256
+ const pullRequest = yield* cachedPullRequest(pullRequestRepo, params.awsAccountId, params.prId, query);
257
+ const stream = withRelayReviewStreamPermit(relaySemaphore, streamPullRequestRelayReview(readClient, pullRequest, payload, profile, changedFiles, skillPrompt)).pipe(Stream.catch((error) => Stream.make({ type: "error", message: error.message })));
157
258
  return relayStreamResponse(stream.pipe(Stream.provideService(FileSystem.FileSystem, fileSystem), Stream.provideService(ChildProcessSpawner.ChildProcessSpawner, childProcessSpawner)));
158
259
  }).pipe(Effect.mapError((error) => new ApiError({ message: Predicate.isError(error) ? error.message : String(error) }))))
159
- .handleRaw("relayReviewContinueStream", ({ params }) => Effect.gen(function* () {
260
+ .handleRaw("relayReviewContinueStream", ({ params, query }) => Effect.gen(function* () {
160
261
  const payload = yield* HttpServerRequest.schemaBodyJson(RelayReviewContinueStreamRequest);
161
- const pullRequest = yield* cachedPullRequest(pullRequestRepo, params.awsAccountId, params.prId);
162
262
  const skills = yield* discoverReviewSkills();
163
- const skillPrompt = yield* selectedReviewSkillPrompt(skills, payload.skillIds);
164
- const stream = withRelayReviewStreamPermit(relaySemaphore, streamPullRequestRelayConversation(readClient, pullRequest, payload, payload.kind, payload.currentReview, payload.turns, payload.findingId, payload.message, changedFiles, skillPrompt)).pipe(Stream.catch((error) => Stream.make({ type: "error", message: error.message })));
263
+ const { profile, skillPrompt } = yield* resolveRelayReviewExecution(configService, payload.profile, skills);
264
+ const pullRequest = yield* cachedPullRequest(pullRequestRepo, params.awsAccountId, params.prId, query);
265
+ const stream = withRelayReviewStreamPermit(relaySemaphore, streamPullRequestRelayConversation(readClient, pullRequest, payload, profile, payload.currentReview, payload.turns, payload.findingId, payload.message, changedFiles, skillPrompt)).pipe(Stream.catch((error) => Stream.make({ type: "error", message: error.message })));
165
266
  return relayStreamResponse(stream.pipe(Stream.provideService(FileSystem.FileSystem, fileSystem), Stream.provideService(ChildProcessSpawner.ChildProcessSpawner, childProcessSpawner)));
166
267
  }).pipe(Effect.mapError((error) => new ApiError({ message: Predicate.isError(error) ? error.message : String(error) }))))
167
- .handle("postRelayFinding", ({ params, payload }) => Effect.gen(function* () {
268
+ .handle("postRelayFinding", ({ params, payload, query }) => Effect.gen(function* () {
168
269
  if (payload.finding.id !== params.findingId) {
169
270
  return yield* new ApiError({ message: "The finding route does not match the submitted finding" });
170
271
  }
171
- const pullRequest = yield* cachedPullRequest(pullRequestRepo, params.awsAccountId, params.prId);
272
+ const pullRequest = yield* cachedPullRequest(pullRequestRepo, params.awsAccountId, params.prId, query);
172
273
  return yield* postPullRequestRelayFinding(readClient, relayFindingPublisher, pullRequest, payload, payload.finding, changedFiles);
173
274
  }).pipe(Effect.mapError((error) => Predicate.isTagged(error, "ApiError")
174
275
  ? error
@@ -1 +1 @@
1
- {"version":3,"file":"prs-live.js","sourceRoot":"","sources":["../../../src/server/handlers/prs-live.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prs-live.js","sourceRoot":"","sources":["../../../src/server/handlers/prs-live.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox-live.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/sandbox-live.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAA;AAKxE,OAAO,EAA2B,KAAK,eAAe,EAAE,MAAM,WAAW,CAAA;AAIzE,eAAO,MAAM,aAAa,QAAS,UAAU,KAAG,OAAO,eAAe,CAAC,IAcrE,CAAA;AAEF,eAAO,MAAM,WAAW,4oBA+CnB,CAAA"}
1
+ {"version":3,"file":"sandbox-live.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/sandbox-live.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAA;AAKxE,OAAO,EAA2B,KAAK,eAAe,EAAE,MAAM,WAAW,CAAA;AAIzE,eAAO,MAAM,aAAa,QAAS,UAAU,KAAG,OAAO,eAAe,CAAC,IAerE,CAAA;AAEF,eAAO,MAAM,WAAW,4oBA+CnB,CAAA"}
@@ -11,6 +11,7 @@ export const encodeSandbox = (row) => ({
11
11
  pullRequestId: row.pullRequestId,
12
12
  awsAccountId: row.awsAccountId,
13
13
  repositoryName: row.repositoryName,
14
+ region: row.region ?? null,
14
15
  sourceBranch: row.sourceBranch,
15
16
  containerId: row.containerId,
16
17
  port: row.port,
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox-live.js","sourceRoot":"","sources":["../../../src/server/handlers/sandbox-live.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sandbox-live.js","sourceRoot":"","sources":["../../../src/server/handlers/sandbox-live.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { PRService } from "@knpkv/codecommit-core";
2
- export declare const SubscriptionsLive: import("effect/Layer").Layer<import("effect/unstable/httpapi/HttpApiGroup").Service<"CodeCommitApi", "subscriptions">, never, import("../Api.js").OwnerSessionAuth | PRService.PRService>;
1
+ import { CacheService, PRService } from "@knpkv/codecommit-core";
2
+ export declare const SubscriptionsLive: import("effect/Layer").Layer<import("effect/unstable/httpapi/HttpApiGroup").Service<"CodeCommitApi", "subscriptions">, never, import("../Api.js").OwnerSessionAuth | PRService.PRService | CacheService.PullRequestRepo | CacheService.SubscriptionRepo>;
3
3
  //# sourceMappingURL=subscriptions-live.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscriptions-live.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/subscriptions-live.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAKlD,eAAO,MAAM,iBAAiB,2LAoB7B,CAAA"}
1
+ {"version":3,"file":"subscriptions-live.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/subscriptions-live.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAKhE,eAAO,MAAM,iBAAiB,0PA2D7B,CAAA"}
@@ -1,12 +1,33 @@
1
- import { PRService } from "@knpkv/codecommit-core";
2
- import { Effect } from "effect";
1
+ import { CacheService, PRService } from "@knpkv/codecommit-core";
2
+ import { Effect, Option, Predicate } from "effect";
3
3
  import { HttpApiBuilder } from "effect/unstable/httpapi";
4
4
  import { ApiError, CodeCommitApi } from "../Api.js";
5
5
  export const SubscriptionsLive = HttpApiBuilder.group(CodeCommitApi, "subscriptions", (handlers) => Effect.gen(function* () {
6
6
  const prService = yield* PRService.PRService;
7
+ const pullRequestRepo = yield* CacheService.PullRequestRepo;
8
+ const subscriptionRepo = yield* CacheService.SubscriptionRepo;
9
+ const exactCoordinates = (payload) => {
10
+ if (payload.repositoryName !== undefined && payload.region !== undefined) {
11
+ return Effect.succeed({
12
+ repositoryName: String(payload.repositoryName),
13
+ accountRegion: String(payload.region)
14
+ });
15
+ }
16
+ return pullRequestRepo.findByAccountAndId(payload.awsAccountId, payload.pullRequestId).pipe(Effect.flatMap(Option.match({
17
+ onNone: () => Effect.fail(new ApiError({ message: "The pull request is not available for subscription" })),
18
+ onSome: (row) => Effect.succeed({
19
+ repositoryName: String(row.repositoryName),
20
+ accountRegion: String(row.accountRegion)
21
+ })
22
+ })), Effect.mapError((error) => Predicate.isTagged(error, "ApiError")
23
+ ? error
24
+ : Predicate.isTagged(error, "PullRequestAmbiguityError")
25
+ ? new ApiError({ message: "Subscription coordinates are required for an ambiguous pull request" })
26
+ : new ApiError({ message: `Subscription lookup failed: ${String(error)}` })));
27
+ };
7
28
  return handlers
8
- .handle("subscribe", ({ payload }) => prService.subscribe(payload.awsAccountId, payload.pullRequestId).pipe(Effect.map(() => "ok"), Effect.mapError((e) => new ApiError({ message: `Subscription failed: ${String(e)}` }))))
9
- .handle("unsubscribe", ({ payload }) => prService.unsubscribe(payload.awsAccountId, payload.pullRequestId).pipe(Effect.map(() => "ok"), Effect.mapError((e) => new ApiError({ message: `Subscription failed: ${String(e)}` }))))
29
+ .handle("subscribe", ({ payload }) => exactCoordinates(payload).pipe(Effect.flatMap((coordinates) => subscriptionRepo.subscribe(payload.awsAccountId, payload.pullRequestId, coordinates)), Effect.map(() => "ok"), Effect.mapError((e) => new ApiError({ message: `Subscription failed: ${String(e)}` }))))
30
+ .handle("unsubscribe", ({ payload }) => exactCoordinates(payload).pipe(Effect.flatMap((coordinates) => subscriptionRepo.unsubscribe(payload.awsAccountId, payload.pullRequestId, coordinates)), Effect.map(() => "ok"), Effect.mapError((e) => new ApiError({ message: `Subscription failed: ${String(e)}` }))))
10
31
  .handle("list", () => prService.getSubscriptions());
11
32
  }));
12
33
  //# sourceMappingURL=subscriptions-live.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscriptions-live.js","sourceRoot":"","sources":["../../../src/server/handlers/subscriptions-live.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAEnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAC,KAAK,CACnD,aAAa,EACb,eAAe,EACf,CAAC,QAAQ,EAAE,EAAE,CACX,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC,SAAS,CAAA;IAE5C,OAAO,QAAQ;SACZ,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACnC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CACnE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EACtB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,OAAO,EAAE,wBAAwB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CACvF,CAAC;SACH,MAAM,CAAC,aAAa,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACrC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CACrE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EACtB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,OAAO,EAAE,wBAAwB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CACvF,CAAC;SACH,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAA;AACvD,CAAC,CAAC,CACL,CAAA"}
1
+ {"version":3,"file":"subscriptions-live.js","sourceRoot":"","sources":["../../../src/server/handlers/subscriptions-live.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import * as Crypto from "effect/Crypto";
6
6
  import * as FileSystem from "effect/FileSystem";
7
7
  import type * as Semaphore from "effect/Semaphore";
8
8
  import type * as ChildProcessSpawner from "effect/unstable/process/ChildProcessSpawner";
9
- import { type PullRequestRelayReviewResponse, type RelayReviewConversationTurn, type RelayReviewKind, type RelayReviewProgressPhase, RelayReviewResult, type RelayReviewStreamEvent } from "../Api.js";
9
+ import { type PullRequestRelayReviewResponse, type RelayReviewConversationTurn, type RelayReviewKind, type RelayReviewProfile, type RelayReviewProgressPhase, RelayReviewResult, type RelayReviewStreamEvent } from "../Api.js";
10
10
  import type { RelayFindingPublisherService } from "./RelayFindingPublisher.js";
11
11
  declare const PullRequestReviewError_base: Schema.Class<PullRequestReviewError, Schema.TaggedStruct<"PullRequestReviewError", {
12
12
  readonly operation: Schema.String;
@@ -87,14 +87,33 @@ export declare const withRelayReviewPermit: <A, E, R>(semaphore: Semaphore.Semap
87
87
  export declare const withRelayReviewStreamPermit: <A, E, R>(semaphore: Semaphore.Semaphore, stream: Stream.Stream<A, E, R>) => Stream.Stream<A, E | PullRequestReviewError, R>;
88
88
  /** Host-authored Relay prompt; repository content is isolated as untrusted evidence. */
89
89
  export declare const makeRelayReviewPrompt: (scope: ExactReviewScope, kind: RelayReviewKind, patch: string, skillPrompt?: string) => string;
90
+ /** Exact native output contract selected before the provider process starts. */
91
+ export declare const relayReviewOutputSchema: (kind: RelayReviewKind) => Schema.Top;
90
92
  export declare const parseRelayReviewResult: (message: string, kind: RelayReviewKind) => Option.Option<RelayReviewResult>;
91
93
  /** Execute one ephemeral, read-only Relay pass over the exact provider patch. */
92
- export declare const runPullRequestRelayReview: (client: ReadClient.CodeCommitReadClientService, pullRequest: Domain.PullRequest, expectedRevision: ExpectedReviewRevision, kind: "explain" | "review" | "security" | "tests", changedFiles?: PullRequestChangedFilesSource | undefined, skillPrompt?: string | undefined, reportProgress?: RelayReviewProgressReporter | undefined) => Effect.Effect<{
94
+ export declare const runPullRequestRelayReview: (client: ReadClient.CodeCommitReadClientService, pullRequest: Domain.PullRequest, expectedRevision: ExpectedReviewRevision, profile: {
95
+ readonly id: string;
96
+ readonly name: string;
97
+ readonly kind: "explain" | "review" | "security" | "tests";
98
+ readonly provider: "codex";
99
+ readonly harness: "native-codex";
100
+ readonly model: "configured-default" | "gpt-5.6-luna" | "gpt-5.6-sol" | "gpt-5.6-terra";
101
+ readonly skillIds: readonly string[];
102
+ }, changedFiles?: PullRequestChangedFilesSource | undefined, skillPrompt?: string | undefined, reportProgress?: RelayReviewProgressReporter | undefined) => Effect.Effect<{
93
103
  readonly pullRequestId: string & import("effect/Brand").Brand<"PullRequestId">;
94
104
  readonly revisionId: string;
95
105
  readonly baseCommit: string;
96
106
  readonly headCommit: string;
97
107
  readonly kind: "explain" | "review" | "security" | "tests";
108
+ readonly profile: {
109
+ readonly id: string;
110
+ readonly name: string;
111
+ readonly kind: "explain" | "review" | "security" | "tests";
112
+ readonly provider: "codex";
113
+ readonly harness: "native-codex";
114
+ readonly model: "configured-default" | "gpt-5.6-luna" | "gpt-5.6-sol" | "gpt-5.6-terra";
115
+ readonly skillIds: readonly string[];
116
+ };
98
117
  readonly result: {
99
118
  readonly findings: readonly {
100
119
  readonly id: string;
@@ -121,9 +140,46 @@ export declare const runPullRequestRelayReview: (client: ReadClient.CodeCommitRe
121
140
  readonly explanation?: string | undefined;
122
141
  };
123
142
  }, PullRequestReviewError, ChildProcessSpawner.ChildProcessSpawner | FileSystem.FileSystem>;
143
+ export declare const relayConversationOutputSchema: (kind: RelayReviewKind) => Schema.Top;
144
+ /** Decode a conversation against the selected review kind without changing its wire shape. */
145
+ export declare const parseRelayConversationResult: (message: string, kind: RelayReviewKind) => Option.Option<{
146
+ readonly reply: string;
147
+ readonly review: {
148
+ readonly findings: readonly {
149
+ readonly id: string;
150
+ readonly priority: "P1" | "P2" | "P3" | "P4";
151
+ readonly title: string;
152
+ readonly summary: string;
153
+ readonly details: string;
154
+ readonly recommendation: string;
155
+ readonly verification: string;
156
+ readonly publicationTarget: "line-comment" | "pr-comment";
157
+ readonly location: {
158
+ readonly scope: "general";
159
+ } | {
160
+ readonly scope: "file";
161
+ readonly filePath: string;
162
+ } | {
163
+ readonly scope: "line";
164
+ readonly filePath: string;
165
+ readonly line: number;
166
+ readonly side: "after" | "before";
167
+ };
168
+ }[];
169
+ readonly verdict: string;
170
+ };
171
+ }>;
124
172
  export declare const makeRelayConversationPrompt: (scope: ExactReviewScope, kind: RelayReviewKind, patch: string, skillPrompt: string, currentReview: typeof RelayReviewResult.Type, turns: ReadonlyArray<RelayReviewConversationTurn>, findingId: string, message: string) => string;
125
173
  /** Continue a finding conversation while reconciling the complete deck against one exact revision. */
126
- export declare const continuePullRequestRelayReview: (client: ReadClient.CodeCommitReadClientService, pullRequest: Domain.PullRequest, expectedRevision: ExpectedReviewRevision, kind: "explain" | "review" | "security" | "tests", currentReview: {
174
+ export declare const continuePullRequestRelayReview: (client: ReadClient.CodeCommitReadClientService, pullRequest: Domain.PullRequest, expectedRevision: ExpectedReviewRevision, profile: {
175
+ readonly id: string;
176
+ readonly name: string;
177
+ readonly kind: "explain" | "review" | "security" | "tests";
178
+ readonly provider: "codex";
179
+ readonly harness: "native-codex";
180
+ readonly model: "configured-default" | "gpt-5.6-luna" | "gpt-5.6-sol" | "gpt-5.6-terra";
181
+ readonly skillIds: readonly string[];
182
+ }, currentReview: {
127
183
  readonly findings: readonly {
128
184
  readonly id: string;
129
185
  readonly priority: "P1" | "P2" | "P3" | "P4";
@@ -148,6 +204,7 @@ export declare const continuePullRequestRelayReview: (client: ReadClient.CodeCom
148
204
  readonly verdict: string;
149
205
  readonly explanation?: string | undefined;
150
206
  }, turns: readonly {
207
+ readonly id?: string | undefined;
151
208
  readonly findingId: string;
152
209
  readonly role: "assistant" | "user";
153
210
  readonly message: string;
@@ -158,6 +215,15 @@ export declare const continuePullRequestRelayReview: (client: ReadClient.CodeCom
158
215
  baseCommit: string & import("effect/Brand").Brand<"CodeCommitCommitId">;
159
216
  headCommit: string & import("effect/Brand").Brand<"CodeCommitCommitId">;
160
217
  kind: "explain" | "review" | "security" | "tests";
218
+ profile: {
219
+ readonly id: string;
220
+ readonly name: string;
221
+ readonly kind: "explain" | "review" | "security" | "tests";
222
+ readonly provider: "codex";
223
+ readonly harness: "native-codex";
224
+ readonly model: "configured-default" | "gpt-5.6-luna" | "gpt-5.6-sol" | "gpt-5.6-terra";
225
+ readonly skillIds: readonly string[];
226
+ };
161
227
  result: {
162
228
  readonly findings: readonly {
163
229
  readonly id: string;
@@ -192,7 +258,7 @@ export declare const streamRelayReviewEventsFrom: <E, R>(run: (report: RelayRevi
192
258
  readonly reply?: string;
193
259
  }, E, R>) => Stream.Stream<RelayReviewStreamEvent, never, R>;
194
260
  /** Stream sanitized progress and one terminal review event. */
195
- export declare const streamPullRequestRelayReview: (client: ReadClient.CodeCommitReadClientService, pullRequest: Domain.PullRequest, expectedRevision: ExpectedReviewRevision, kind: RelayReviewKind, changedFiles: PullRequestChangedFilesSource | undefined, skillPrompt: string) => Stream.Stream<{
261
+ export declare const streamPullRequestRelayReview: (client: ReadClient.CodeCommitReadClientService, pullRequest: Domain.PullRequest, expectedRevision: ExpectedReviewRevision, profile: RelayReviewProfile, changedFiles: PullRequestChangedFilesSource | undefined, skillPrompt: string) => Stream.Stream<{
196
262
  readonly type: "progress";
197
263
  readonly phase: "agent" | "files" | "patch" | "posting" | "revision" | "validation";
198
264
  readonly message: string;
@@ -205,6 +271,15 @@ export declare const streamPullRequestRelayReview: (client: ReadClient.CodeCommi
205
271
  readonly baseCommit: string;
206
272
  readonly headCommit: string;
207
273
  readonly kind: "explain" | "review" | "security" | "tests";
274
+ readonly profile: {
275
+ readonly id: string;
276
+ readonly name: string;
277
+ readonly kind: "explain" | "review" | "security" | "tests";
278
+ readonly provider: "codex";
279
+ readonly harness: "native-codex";
280
+ readonly model: "configured-default" | "gpt-5.6-luna" | "gpt-5.6-sol" | "gpt-5.6-terra";
281
+ readonly skillIds: readonly string[];
282
+ };
208
283
  readonly result: {
209
284
  readonly findings: readonly {
210
285
  readonly id: string;
@@ -237,7 +312,7 @@ export declare const streamPullRequestRelayReview: (client: ReadClient.CodeCommi
237
312
  readonly message: string;
238
313
  }, never, ChildProcessSpawner.ChildProcessSpawner | FileSystem.FileSystem>;
239
314
  /** Stream sanitized progress and one terminal reconciled conversation event. */
240
- export declare const streamPullRequestRelayConversation: (client: ReadClient.CodeCommitReadClientService, pullRequest: Domain.PullRequest, expectedRevision: ExpectedReviewRevision, kind: RelayReviewKind, currentReview: typeof RelayReviewResult.Type, turns: ReadonlyArray<RelayReviewConversationTurn>, findingId: string, message: string, changedFiles: PullRequestChangedFilesSource | undefined, skillPrompt: string) => Stream.Stream<{
315
+ export declare const streamPullRequestRelayConversation: (client: ReadClient.CodeCommitReadClientService, pullRequest: Domain.PullRequest, expectedRevision: ExpectedReviewRevision, profile: RelayReviewProfile, currentReview: typeof RelayReviewResult.Type, turns: ReadonlyArray<RelayReviewConversationTurn>, findingId: string, message: string, changedFiles: PullRequestChangedFilesSource | undefined, skillPrompt: string) => Stream.Stream<{
241
316
  readonly type: "progress";
242
317
  readonly phase: "agent" | "files" | "patch" | "posting" | "revision" | "validation";
243
318
  readonly message: string;
@@ -250,6 +325,15 @@ export declare const streamPullRequestRelayConversation: (client: ReadClient.Cod
250
325
  readonly baseCommit: string;
251
326
  readonly headCommit: string;
252
327
  readonly kind: "explain" | "review" | "security" | "tests";
328
+ readonly profile: {
329
+ readonly id: string;
330
+ readonly name: string;
331
+ readonly kind: "explain" | "review" | "security" | "tests";
332
+ readonly provider: "codex";
333
+ readonly harness: "native-codex";
334
+ readonly model: "configured-default" | "gpt-5.6-luna" | "gpt-5.6-sol" | "gpt-5.6-terra";
335
+ readonly skillIds: readonly string[];
336
+ };
253
337
  readonly result: {
254
338
  readonly findings: readonly {
255
339
  readonly id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"PullRequestReview.d.ts","sourceRoot":"","sources":["../../../src/server/review/PullRequestReview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PullRequestReview.d.ts","sourceRoot":"","sources":["../../../src/server/review/PullRequestReview.ts"],"names":[],"mappings":"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"}