@knpkv/codecommit-web 0.11.4 → 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.
Files changed (94) hide show
  1. package/dist/client/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2 +0 -0
  2. package/dist/client/assets/index-DQUoxciG.js +90 -0
  3. package/dist/client/assets/index-NJaNHeOS.css +1 -0
  4. package/dist/client/assets/pr-review-workspace-C0TVEp1y.js +22 -0
  5. package/dist/client/assets/pr-review-workspace-mH4SV5xO.css +1 -0
  6. package/dist/client/index.html +2 -2
  7. package/dist/main.js +9 -3
  8. package/dist/main.js.map +1 -1
  9. package/dist/server/Api.d.ts +1333 -114
  10. package/dist/server/Api.d.ts.map +1 -1
  11. package/dist/server/Api.js +251 -6
  12. package/dist/server/Api.js.map +1 -1
  13. package/dist/server/Server.d.ts +13 -7
  14. package/dist/server/Server.d.ts.map +1 -1
  15. package/dist/server/Server.js +45 -13
  16. package/dist/server/Server.js.map +1 -1
  17. package/dist/server/handlers/accounts-live.d.ts +1 -1
  18. package/dist/server/handlers/accounts-live.d.ts.map +1 -1
  19. package/dist/server/handlers/audit-live.d.ts +1 -1
  20. package/dist/server/handlers/audit-live.d.ts.map +1 -1
  21. package/dist/server/handlers/config-live.d.ts +9 -1
  22. package/dist/server/handlers/config-live.d.ts.map +1 -1
  23. package/dist/server/handlers/config-live.js +33 -10
  24. package/dist/server/handlers/config-live.js.map +1 -1
  25. package/dist/server/handlers/events-live.d.ts +1 -1
  26. package/dist/server/handlers/events-live.d.ts.map +1 -1
  27. package/dist/server/handlers/notifications-live.d.ts +1 -1
  28. package/dist/server/handlers/notifications-live.d.ts.map +1 -1
  29. package/dist/server/handlers/notifications-live.js +3 -3
  30. package/dist/server/handlers/notifications-live.js.map +1 -1
  31. package/dist/server/handlers/permissions-live.d.ts +1 -1
  32. package/dist/server/handlers/permissions-live.d.ts.map +1 -1
  33. package/dist/server/handlers/prs-live.d.ts +79 -2
  34. package/dist/server/handlers/prs-live.d.ts.map +1 -1
  35. package/dist/server/handlers/prs-live.js +117 -7
  36. package/dist/server/handlers/prs-live.js.map +1 -1
  37. package/dist/server/handlers/sandbox-live.d.ts +1 -1
  38. package/dist/server/handlers/sandbox-live.d.ts.map +1 -1
  39. package/dist/server/handlers/sandbox-live.js +5 -1
  40. package/dist/server/handlers/sandbox-live.js.map +1 -1
  41. package/dist/server/handlers/stats-live.d.ts +1 -1
  42. package/dist/server/handlers/stats-live.d.ts.map +1 -1
  43. package/dist/server/handlers/subscriptions-live.d.ts +1 -1
  44. package/dist/server/handlers/subscriptions-live.d.ts.map +1 -1
  45. package/dist/server/internal/BackgroundWorkers.d.ts +1 -1
  46. package/dist/server/internal/BackgroundWorkers.d.ts.map +1 -1
  47. package/dist/server/internal/BackgroundWorkers.js +43 -5
  48. package/dist/server/internal/BackgroundWorkers.js.map +1 -1
  49. package/dist/server/internal/OwnerSessionSecurity.d.ts +46 -0
  50. package/dist/server/internal/OwnerSessionSecurity.d.ts.map +1 -0
  51. package/dist/server/internal/OwnerSessionSecurity.js +143 -0
  52. package/dist/server/internal/OwnerSessionSecurity.js.map +1 -0
  53. package/dist/server/internal/PermissionedReadClient.d.ts +27 -0
  54. package/dist/server/internal/PermissionedReadClient.d.ts.map +1 -0
  55. package/dist/server/internal/PermissionedReadClient.js +132 -0
  56. package/dist/server/internal/PermissionedReadClient.js.map +1 -0
  57. package/dist/server/review/PullRequestReview.d.ts +394 -0
  58. package/dist/server/review/PullRequestReview.d.ts.map +1 -0
  59. package/dist/server/review/PullRequestReview.js +714 -0
  60. package/dist/server/review/PullRequestReview.js.map +1 -0
  61. package/dist/server/review/RelayFindingPublisher.d.ts +39 -0
  62. package/dist/server/review/RelayFindingPublisher.d.ts.map +1 -0
  63. package/dist/server/review/RelayFindingPublisher.js +78 -0
  64. package/dist/server/review/RelayFindingPublisher.js.map +1 -0
  65. package/dist/server/review/ReviewPromptBudget.d.ts +10 -0
  66. package/dist/server/review/ReviewPromptBudget.d.ts.map +1 -0
  67. package/dist/server/review/ReviewPromptBudget.js +11 -0
  68. package/dist/server/review/ReviewPromptBudget.js.map +1 -0
  69. package/dist/server/review/ReviewSkillCatalog.d.ts +34 -0
  70. package/dist/server/review/ReviewSkillCatalog.d.ts.map +1 -0
  71. package/dist/server/review/ReviewSkillCatalog.js +204 -0
  72. package/dist/server/review/ReviewSkillCatalog.js.map +1 -0
  73. package/dist/tooling/authenticated-dev-proxy.d.ts +15 -0
  74. package/dist/tooling/authenticated-dev-proxy.d.ts.map +1 -0
  75. package/dist/tooling/authenticated-dev-proxy.js +19 -0
  76. package/dist/tooling/authenticated-dev-proxy.js.map +1 -0
  77. package/dist/tooling/authenticated-dev-proxy.test.d.ts +2 -0
  78. package/dist/tooling/authenticated-dev-proxy.test.d.ts.map +1 -0
  79. package/dist/tooling/authenticated-dev-proxy.test.js +26 -0
  80. package/dist/tooling/authenticated-dev-proxy.test.js.map +1 -0
  81. package/dist/tooling/production-prototype-boundary.d.ts.map +1 -1
  82. package/package.json +31 -24
  83. package/dist/client/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2 +0 -0
  84. package/dist/client/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2 +0 -0
  85. package/dist/client/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2 +0 -0
  86. package/dist/client/assets/geist-mono-cyrillic-ext-wght-normal-I4S5GZfc.woff2 +0 -0
  87. package/dist/client/assets/geist-mono-cyrillic-wght-normal-BmXc_FBt.woff2 +0 -0
  88. package/dist/client/assets/geist-mono-latin-ext-wght-normal-DrnZ1wKl.woff2 +0 -0
  89. package/dist/client/assets/geist-mono-latin-wght-normal-B_7UjwxQ.woff2 +0 -0
  90. package/dist/client/assets/geist-mono-symbols2-wght-normal-GZpp1pK2.woff2 +0 -0
  91. package/dist/client/assets/geist-mono-vietnamese-wght-normal-D8KDMBhC.woff2 +0 -0
  92. package/dist/client/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2 +0 -0
  93. package/dist/client/assets/index-DHUFjL8d.css +0 -1
  94. package/dist/client/assets/index-DvOqBYkk.js +0 -90
@@ -1 +1 @@
1
- {"version":3,"file":"Api.d.ts","sourceRoot":"","sources":["../../src/server/Api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EACL,OAAO,EAIP,WAAW,EAIZ,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,oDAAoD,CAAA;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;;;;AAGhF,qBAAa,QAAS,SAAQ,aAE5B;CAAG;AAGL,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;EAmBpC,CAAA;AAGF,eAAO,MAAM,oBAAoB;;;;;;;;;;EAU/B,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGF,qBAAa,QAAS,SAAQ,aA0GT;CACnB;;AAGF,qBAAa,WAAY,SAAQ,gBAET;CACtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuEF,qBAAa,WAAY,SAAQ,gBAOT;CACtB;;AAGF,qBAAa,aAAc,SAAQ,kBAET;CACxB;;;;;;;;;;;AAaF,qBAAa,kBAAmB,SAAQ,uBAkBT;CAC7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQF,qBAAa,kBAAmB,SAAQ,uBA0CT;CAC7B;AAGF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;EAc1B,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaF,qBAAa,YAAa,SAAQ,iBAuCT;CACvB;AAGF,OAAO,EAAE,WAAW,EAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEtB,qBAAa,UAAW,SAAQ,eAoBT;CACrB;AAYF,eAAO,MAAM,qBAAqB;;;;;;;;;EAShC,CAAA;;;;;;;;;;;;;;;;;;;AAEF,qBAAa,gBAAiB,SAAQ,qBA6CT;CAC3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGF,qBAAa,UAAW,SAAQ,eAuCT;CACrB;;AAGF,qBAAa,aAAc,SAAQ,kBAUjB;CAChB"}
1
+ {"version":3,"file":"Api.d.ts","sourceRoot":"","sources":["../../src/server/Api.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGF,qBAAa,aAAc,SAAQ,kBAWJ;CAC7B"}
@@ -17,14 +17,29 @@
17
17
  * @module
18
18
  */
19
19
  import { Account, AwsProfileName, AwsRegion, PRCommentLocationJson, PullRequest, PullRequestId, SandboxId, SandboxStatus } from "@knpkv/codecommit-core/Domain.js";
20
+ import { ReviewKind, ReviewProfileConfig, reviewProfileSkillLimit } from "@knpkv/codecommit-core/ReviewProfile.js";
20
21
  import { WeeklyStats } from "@knpkv/codecommit-core/StatsService/WeeklyStats.js";
21
22
  import { Schema } from "effect";
22
- import { HttpApi, HttpApiEndpoint, HttpApiGroup } from "effect/unstable/httpapi";
23
+ import { HttpApi, HttpApiEndpoint, HttpApiGroup, HttpApiMiddleware, HttpApiSecurity } from "effect/unstable/httpapi";
24
+ import { MAXIMUM_RELAY_REVIEW_MESSAGE_BYTES, MAXIMUM_RELAY_REVIEW_RESULT_BYTES, MAXIMUM_RELAY_REVIEW_TURNS_BYTES } from "./review/ReviewPromptBudget.js";
25
+ const jsonByteEncoder = new TextEncoder();
23
26
  // API error returned to clients for AWS failures
24
- export class ApiError extends Schema.TaggedErrorClass()("ApiError", {
27
+ export class ApiError extends Schema.TaggedError()("ApiError", {
25
28
  message: Schema.String
26
29
  }) {
27
30
  }
31
+ export class UnauthorizedApiError extends Schema.TaggedError()("UnauthorizedApiError", { message: Schema.String }, { httpApiStatus: 401 }) {
32
+ }
33
+ export class ForbiddenApiError extends Schema.TaggedError()("ForbiddenApiError", { message: Schema.String }, { httpApiStatus: 403 }) {
34
+ }
35
+ /** Process-scoped owner session required by every CodeCommit API endpoint. */
36
+ export class OwnerSessionAuth extends HttpApiMiddleware.Service()("@knpkv/codecommit-web/OwnerSessionAuth", {
37
+ error: [UnauthorizedApiError, ForbiddenApiError],
38
+ security: {
39
+ ownerCookie: HttpApiSecurity.apiKey({ in: "cookie", key: "cc_owner" })
40
+ }
41
+ }) {
42
+ }
28
43
  // Cached PR schema (flat row from SQLite)
29
44
  export const CachedPullRequestResponse = Schema.Struct({
30
45
  id: Schema.String,
@@ -46,6 +61,151 @@ export const CachedPullRequestResponse = Schema.Struct({
46
61
  link: Schema.String,
47
62
  fetchedAt: Schema.String
48
63
  });
64
+ const PullRequestDiffFileResponse = Schema.Struct({
65
+ index: Schema.Int.pipe(Schema.check(Schema.isGreaterThanOrEqualTo(0))),
66
+ status: Schema.Literals(["added", "modified", "deleted", "renamed"]),
67
+ path: Schema.String,
68
+ previousPath: Schema.NullOr(Schema.String),
69
+ beforeMode: Schema.NullOr(Schema.String),
70
+ afterMode: Schema.NullOr(Schema.String)
71
+ });
72
+ /** Complete changed-file inventory bound to one immutable CodeCommit revision. */
73
+ export const PullRequestDiffResponse = Schema.Struct({
74
+ pullRequestId: PullRequestId,
75
+ revisionId: Schema.String,
76
+ baseCommit: Schema.String,
77
+ headCommit: Schema.String,
78
+ files: Schema.Array(PullRequestDiffFileResponse)
79
+ });
80
+ /** Exact provider revision observed by a completed single-PR refresh. */
81
+ export const PullRequestRefreshResponse = Schema.Struct({
82
+ revisionId: Schema.String,
83
+ headCommit: Schema.String
84
+ });
85
+ /** Bounded text for one inventory entry; exceptional content remains explicit. */
86
+ export const PullRequestDiffContentResponse = Schema.Struct({
87
+ fileIndex: Schema.Int.pipe(Schema.check(Schema.isGreaterThanOrEqualTo(0))),
88
+ revisionId: Schema.String,
89
+ state: Schema.Literals(["text", "binary", "oversized"]),
90
+ before: Schema.NullOr(Schema.String),
91
+ after: Schema.NullOr(Schema.String)
92
+ });
93
+ export const RelayReviewKind = ReviewKind;
94
+ const RelayReviewFindingId = Schema.String.check(Schema.isPattern(/^F[1-9][0-9]{0,5}$/u));
95
+ export const RelayReviewSkillId = Schema.String.check(Schema.isTrimmed(), Schema.isNonEmpty(), Schema.isMaxLength(256));
96
+ export const RelayReviewSkillIds = Schema.Array(RelayReviewSkillId).check(Schema.isMaxLength(reviewProfileSkillLimit), Schema.isUnique());
97
+ /** Complete server-validated execution configuration owned by one saved profile. */
98
+ export const RelayReviewProfile = ReviewProfileConfig;
99
+ const RelayReviewLocation = Schema.Union([
100
+ Schema.Struct({ scope: Schema.Literal("general") }),
101
+ Schema.Struct({
102
+ scope: Schema.Literal("file"),
103
+ filePath: Schema.String.check(Schema.isNonEmpty(), Schema.isMaxLength(1_024))
104
+ }),
105
+ Schema.Struct({
106
+ scope: Schema.Literal("line"),
107
+ filePath: Schema.String.check(Schema.isNonEmpty(), Schema.isMaxLength(1_024)),
108
+ line: Schema.Int.pipe(Schema.check(Schema.isGreaterThanOrEqualTo(1))),
109
+ side: Schema.Literals(["before", "after"])
110
+ })
111
+ ]);
112
+ export const RelayReviewFinding = Schema.Struct({
113
+ id: RelayReviewFindingId,
114
+ priority: Schema.Literals(["P1", "P2", "P3", "P4"]),
115
+ title: Schema.String.check(Schema.isTrimmed(), Schema.isNonEmpty(), Schema.isMaxLength(200)),
116
+ summary: Schema.String.check(Schema.isTrimmed(), Schema.isNonEmpty(), Schema.isMaxLength(500)),
117
+ details: Schema.String.check(Schema.isTrimmed(), Schema.isNonEmpty(), Schema.isMaxLength(4_000)),
118
+ recommendation: Schema.String.check(Schema.isTrimmed(), Schema.isNonEmpty(), Schema.isMaxLength(2_000)),
119
+ verification: Schema.String.check(Schema.isTrimmed(), Schema.isNonEmpty(), Schema.isMaxLength(1_000)),
120
+ publicationTarget: Schema.Literals(["pr-comment", "line-comment"]),
121
+ location: RelayReviewLocation
122
+ }).check(Schema.makeFilter((finding) => (finding.location.scope === "line") === (finding.publicationTarget === "line-comment"), { expected: "line-comment paired with a line location and pr-comment paired with a general or file location" }));
123
+ const RelayReviewVerdict = Schema.String.check(Schema.isTrimmed(), Schema.isNonEmpty(), Schema.isMaxLength(8_000));
124
+ const RelayReviewExplanation = Schema.String.check(Schema.isTrimmed(), Schema.isNonEmpty(), Schema.isMaxLength(12_000));
125
+ const RelayReviewFindings = Schema.Array(RelayReviewFinding).check(Schema.isMaxLength(50), Schema.makeFilter((findings) => new Set(findings.map((finding) => finding.id)).size === findings.length, {
126
+ expected: "unique Relay finding ids"
127
+ }));
128
+ /** Native non-Explain output excludes Explain's required explanation field. */
129
+ export const RelayNativeReviewResult = Schema.Struct({
130
+ findings: RelayReviewFindings,
131
+ verdict: RelayReviewVerdict
132
+ });
133
+ export const RelayReviewResult = Schema.Struct({
134
+ ...RelayNativeReviewResult.fields,
135
+ explanation: Schema.optional(RelayReviewExplanation)
136
+ }).check(Schema.makeFilter((result) => jsonByteEncoder.encode(JSON.stringify(result)).byteLength <= MAXIMUM_RELAY_REVIEW_RESULT_BYTES, { expected: `a Relay review result no larger than ${String(MAXIMUM_RELAY_REVIEW_RESULT_BYTES)} UTF-8 bytes` }));
137
+ /** Explain-mode native schema makes a findings-shaped response impossible. */
138
+ export const RelayExplainResult = Schema.Struct({
139
+ findings: Schema.Array(RelayReviewFinding).check(Schema.isMaxLength(0)),
140
+ verdict: RelayReviewVerdict,
141
+ explanation: RelayReviewExplanation
142
+ }).check(Schema.makeFilter((result) => jsonByteEncoder.encode(JSON.stringify(result)).byteLength <= MAXIMUM_RELAY_REVIEW_RESULT_BYTES, { expected: `an Explain result no larger than ${String(MAXIMUM_RELAY_REVIEW_RESULT_BYTES)} UTF-8 bytes` }));
143
+ /** One ephemeral Relay result bound to the exact diff that was reviewed. */
144
+ export const PullRequestRelayReviewResponse = Schema.Struct({
145
+ pullRequestId: PullRequestId,
146
+ revisionId: Schema.String,
147
+ baseCommit: Schema.String,
148
+ headCommit: Schema.String,
149
+ kind: RelayReviewKind,
150
+ profile: RelayReviewProfile,
151
+ result: RelayReviewResult
152
+ }).check(Schema.makeFilter((response) => response.kind === response.profile.kind &&
153
+ (response.kind !== "explain" ||
154
+ (response.result.explanation !== undefined && response.result.findings.length === 0)), { expected: "a response matching its profile and Explain output contract" }));
155
+ export const RelayReviewMessage = Schema.String.check(Schema.isTrimmed(), Schema.isNonEmpty(), Schema.isMaxLength(8_000), Schema.makeFilter((message) => jsonByteEncoder.encode(message).byteLength <= MAXIMUM_RELAY_REVIEW_MESSAGE_BYTES, {
156
+ expected: `a Relay conversation message no larger than ${String(MAXIMUM_RELAY_REVIEW_MESSAGE_BYTES)} UTF-8 bytes`
157
+ }), Schema.makeFilter((message) => jsonByteEncoder.encode(JSON.stringify(message)).byteLength <=
158
+ Math.floor((MAXIMUM_RELAY_REVIEW_TURNS_BYTES - 128) / 2), { expected: "a Relay conversation message retainable as one half of a completed exchange" }));
159
+ export const RelayReviewConversationTurn = Schema.Struct({
160
+ findingId: RelayReviewFindingId,
161
+ role: Schema.Literals(["user", "assistant"]),
162
+ message: RelayReviewMessage
163
+ });
164
+ export const RelayReviewProgressPhase = Schema.Literals([
165
+ "revision",
166
+ "files",
167
+ "patch",
168
+ "agent",
169
+ "validation",
170
+ "posting"
171
+ ]);
172
+ export const RelayReviewStreamEvent = Schema.Union([
173
+ Schema.Struct({
174
+ type: Schema.Literal("progress"),
175
+ phase: RelayReviewProgressPhase,
176
+ message: Schema.String,
177
+ detail: Schema.optional(Schema.String)
178
+ }),
179
+ Schema.Struct({
180
+ type: Schema.Literal("complete"),
181
+ review: PullRequestRelayReviewResponse,
182
+ reply: Schema.optional(RelayReviewMessage)
183
+ }),
184
+ Schema.Struct({
185
+ type: Schema.Literal("error"),
186
+ message: Schema.String
187
+ })
188
+ ]);
189
+ export const RelayFindingPostResponse = Schema.Struct({
190
+ findingId: RelayReviewFindingId,
191
+ operationId: Schema.String,
192
+ summary: Schema.String
193
+ });
194
+ export const RelayReviewStreamRequest = Schema.Struct({
195
+ revisionId: Schema.String,
196
+ baseCommit: Schema.String,
197
+ headCommit: Schema.String,
198
+ profile: RelayReviewProfile
199
+ });
200
+ export const MAXIMUM_RELAY_REVIEW_TURNS = 40;
201
+ export const RelayReviewConversationTurns = Schema.Array(RelayReviewConversationTurn).check(Schema.isMaxLength(MAXIMUM_RELAY_REVIEW_TURNS), Schema.makeFilter((turns) => jsonByteEncoder.encode(JSON.stringify(turns)).byteLength <= MAXIMUM_RELAY_REVIEW_TURNS_BYTES, { expected: `Relay conversation turns no larger than ${String(MAXIMUM_RELAY_REVIEW_TURNS_BYTES)} UTF-8 bytes` }));
202
+ export const RelayReviewContinueStreamRequest = Schema.Struct({
203
+ ...RelayReviewStreamRequest.fields,
204
+ currentReview: RelayReviewResult,
205
+ turns: RelayReviewConversationTurns,
206
+ findingId: RelayReviewFindingId,
207
+ message: RelayReviewMessage
208
+ }).check(Schema.makeFilter(({ findingId, message }) => Schema.is(RelayReviewConversationTurn)({ findingId, role: "user", message }), { expected: "a continuation message retainable as its user conversation turn" }));
49
209
  // Notification schema (unified)
50
210
  export const NotificationResponse = Schema.Struct({
51
211
  id: Schema.Number,
@@ -77,7 +237,7 @@ export class PrsGroup extends HttpApiGroup.make("prs")
77
237
  }))
78
238
  .add(HttpApiEndpoint.post("refreshSingle", "/:awsAccountId/:prId/refresh", {
79
239
  params: Schema.Struct({ awsAccountId: Schema.String, prId: PullRequestId }),
80
- success: Schema.String,
240
+ success: PullRequestRefreshResponse,
81
241
  error: ApiError
82
242
  }))
83
243
  .add(HttpApiEndpoint.post("create", "/", {
@@ -109,6 +269,59 @@ export class PrsGroup extends HttpApiGroup.make("prs")
109
269
  }),
110
270
  success: Schema.Array(PRCommentLocationJson),
111
271
  error: ApiError
272
+ }))
273
+ .add(HttpApiEndpoint.get("diff", "/:awsAccountId/:prId/diff", {
274
+ params: Schema.Struct({ awsAccountId: Schema.String, prId: PullRequestId }),
275
+ success: PullRequestDiffResponse,
276
+ error: ApiError
277
+ }))
278
+ .add(HttpApiEndpoint.get("diffContent", "/:awsAccountId/:prId/diff/:fileIndex", {
279
+ params: Schema.Struct({
280
+ awsAccountId: Schema.String,
281
+ prId: PullRequestId,
282
+ fileIndex: Schema.NumberFromString.pipe(Schema.check(Schema.isInt(), Schema.isGreaterThanOrEqualTo(0)))
283
+ }),
284
+ query: Schema.Struct({
285
+ revisionId: Schema.String,
286
+ baseCommit: Schema.String,
287
+ headCommit: Schema.String
288
+ }),
289
+ success: PullRequestDiffContentResponse,
290
+ error: ApiError
291
+ }))
292
+ .add(HttpApiEndpoint.post("relayReview", "/:awsAccountId/:prId/relay-review", {
293
+ params: Schema.Struct({ awsAccountId: Schema.String, prId: PullRequestId }),
294
+ payload: Schema.Struct({
295
+ revisionId: Schema.String,
296
+ baseCommit: Schema.String,
297
+ headCommit: Schema.String,
298
+ profile: RelayReviewProfile
299
+ }),
300
+ success: PullRequestRelayReviewResponse,
301
+ error: ApiError
302
+ }))
303
+ .add(HttpApiEndpoint.post("relayReviewStream", "/:awsAccountId/:prId/relay-review/stream", {
304
+ params: Schema.Struct({ awsAccountId: Schema.String, prId: PullRequestId }),
305
+ payload: RelayReviewStreamRequest,
306
+ success: Schema.String,
307
+ error: ApiError
308
+ }))
309
+ .add(HttpApiEndpoint.post("relayReviewContinueStream", "/:awsAccountId/:prId/relay-review/continue", {
310
+ params: Schema.Struct({ awsAccountId: Schema.String, prId: PullRequestId }),
311
+ payload: RelayReviewContinueStreamRequest,
312
+ success: Schema.String,
313
+ error: ApiError
314
+ }))
315
+ .add(HttpApiEndpoint.post("postRelayFinding", "/:awsAccountId/:prId/relay-review/findings/:findingId/post", {
316
+ params: Schema.Struct({ awsAccountId: Schema.String, prId: PullRequestId, findingId: RelayReviewFindingId }),
317
+ payload: Schema.Struct({
318
+ revisionId: Schema.String,
319
+ baseCommit: Schema.String,
320
+ headCommit: Schema.String,
321
+ finding: RelayReviewFinding
322
+ }),
323
+ success: RelayFindingPostResponse,
324
+ error: ApiError
112
325
  }))
113
326
  .add(HttpApiEndpoint.post("createApprovalRule", "/approval-rules", {
114
327
  payload: Schema.Struct({
@@ -162,6 +375,17 @@ const SandboxSettingsResponse = Schema.Struct({
162
375
  volumeMounts: Schema.Array(VolumeMount),
163
376
  cloneDepth: Schema.Number
164
377
  });
378
+ const ReviewProfileResponse = RelayReviewProfile;
379
+ const ReviewSettingsResponse = Schema.Struct({
380
+ defaultProfileId: Schema.String,
381
+ profiles: Schema.Array(ReviewProfileResponse)
382
+ });
383
+ export const ReviewSkillResponse = Schema.Struct({
384
+ id: RelayReviewSkillId,
385
+ name: Schema.String,
386
+ description: Schema.String,
387
+ source: Schema.String
388
+ });
165
389
  const ConfigResponse = Schema.Struct({
166
390
  accounts: Schema.Array(Schema.Struct({
167
391
  profile: Schema.String,
@@ -172,6 +396,7 @@ const ConfigResponse = Schema.Struct({
172
396
  autoRefresh: Schema.Boolean,
173
397
  refreshIntervalSeconds: Schema.Number,
174
398
  currentUser: Schema.optional(Schema.String),
399
+ review: ReviewSettingsResponse,
175
400
  sandbox: Schema.optional(SandboxSettingsResponse)
176
401
  });
177
402
  const ConfigPathResponse = Schema.Struct({
@@ -199,18 +424,29 @@ const ConfigSavePayload = Schema.Struct({
199
424
  autoDetect: Schema.Boolean,
200
425
  autoRefresh: Schema.Boolean,
201
426
  refreshIntervalSeconds: Schema.Number,
427
+ review: Schema.optional(ReviewSettingsResponse),
202
428
  sandbox: Schema.optional(SandboxSettingsResponse)
203
429
  });
430
+ const ConfigRefreshStatus = Schema.Literals(["refreshed", "failed"]);
204
431
  const ConfigResetResponse = Schema.Struct({
205
432
  backupPath: Schema.optional(Schema.String),
206
- config: ConfigResponse
433
+ config: ConfigResponse,
434
+ refreshStatus: ConfigRefreshStatus
207
435
  });
208
436
  export class ConfigGroup extends HttpApiGroup.make("config")
209
437
  .add(HttpApiEndpoint.get("list", "/", { success: ConfigResponse }))
210
438
  .add(HttpApiEndpoint.get("path", "/path", { success: ConfigPathResponse, error: ApiError }))
211
439
  .add(HttpApiEndpoint.get("database", "/database", { success: DatabaseInfoResponse, error: ApiError }))
212
440
  .add(HttpApiEndpoint.get("validate", "/validate", { success: ConfigValidationResponse, error: ApiError }))
213
- .add(HttpApiEndpoint.post("save", "/save", { payload: ConfigSavePayload, success: Schema.String, error: ApiError }))
441
+ .add(HttpApiEndpoint.get("reviewSkills", "/review-skills", {
442
+ success: Schema.Array(ReviewSkillResponse),
443
+ error: ApiError
444
+ }))
445
+ .add(HttpApiEndpoint.post("save", "/save", {
446
+ payload: ConfigSavePayload,
447
+ success: Schema.Literals(["saved", "saved-refresh-failed"]),
448
+ error: ApiError
449
+ }))
214
450
  .add(HttpApiEndpoint.post("reset", "/reset", { success: ConfigResetResponse, error: ApiError }))
215
451
  .prefix("/api/config") {
216
452
  }
@@ -291,6 +527,9 @@ export const SandboxResponse = Schema.Struct({
291
527
  createdAt: Schema.String,
292
528
  lastActivityAt: Schema.String
293
529
  });
530
+ export const SandboxCredentialsResponse = Schema.Struct({
531
+ password: Schema.String
532
+ });
294
533
  const CreateSandboxPayload = Schema.Struct({
295
534
  pullRequestId: PullRequestId,
296
535
  awsAccountId: Schema.String,
@@ -311,6 +550,11 @@ export class SandboxGroup extends HttpApiGroup.make("sandbox")
311
550
  params: SandboxIdPath,
312
551
  success: SandboxResponse,
313
552
  error: ApiError
553
+ }))
554
+ .add(HttpApiEndpoint.get("credentials", "/:sandboxId/credentials", {
555
+ params: SandboxIdPath,
556
+ success: SandboxCredentialsResponse,
557
+ error: ApiError
314
558
  }))
315
559
  .add(HttpApiEndpoint.post("stop", "/:sandboxId/stop", {
316
560
  params: SandboxIdPath,
@@ -447,6 +691,7 @@ export class CodeCommitApi extends HttpApi.make("CodeCommitApi")
447
691
  .add(SandboxGroup)
448
692
  .add(StatsGroup)
449
693
  .add(PermissionsGroup)
450
- .add(AuditGroup) {
694
+ .add(AuditGroup)
695
+ .middleware(OwnerSessionAuth) {
451
696
  }
452
697
  //# sourceMappingURL=Api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Api.js","sourceRoot":"","sources":["../../src/server/Api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Api.js","sourceRoot":"","sources":["../../src/server/Api.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,15 @@
1
- import { Config, Effect, Layer } from "effect";
2
- export declare const makeServer: (options: {
3
- port: number;
4
- hostname?: string;
5
- }) => Layer.Layer<never, never, never>;
6
- export declare const makeCodeCommitServer: (port: number) => Layer.Layer<never, never, never>;
1
+ import { Config, Deferred, Effect, Layer } from "effect";
2
+ import * as Stdio from "effect/Stdio";
3
+ import { type OwnerSessionSecretsContract } from "./internal/OwnerSessionSecurity.js";
4
+ export { makeOwnerSessionSecrets, ownerSessionOrigin, OwnerSessionSecrets, type OwnerSessionSecretsContract, ownerSessionUrl, ownerSessionUrlForOrigin, requireLoopbackHostname, requireLoopbackOrigin } from "./internal/OwnerSessionSecurity.js";
5
+ export interface CodeCommitServerOptions {
6
+ readonly hostname?: string;
7
+ readonly port: number;
8
+ readonly ready?: Deferred.Deferred<void>;
9
+ readonly security: OwnerSessionSecretsContract;
10
+ }
11
+ export declare const makeServer: (options: CodeCommitServerOptions) => Layer.Layer<never, import("./internal/OwnerSessionSecurity.js").UnsafeServerHostnameError, import("@knpkv/codecommit-core/ChildEnv.js").HostEnvironment>;
12
+ export declare const makeCodeCommitServer: (port: number, security: OwnerSessionSecretsContract) => Layer.Layer<never, import("./internal/OwnerSessionSecurity.js").UnsafeServerHostnameError, import("@knpkv/codecommit-core/ChildEnv.js").HostEnvironment>;
7
13
  export declare const Port: Config.Config<number>;
8
- export declare const CodeCommitServerLive: Effect.Effect<never, never, never>;
14
+ export declare const CodeCommitServerLive: Effect.Effect<never, import("effect/PlatformError").PlatformError | import("./internal/OwnerSessionSecurity.js").UnsafeServerHostnameError, import("effect/Crypto").Crypto | import("@knpkv/codecommit-core/ChildEnv.js").HostEnvironment | Stdio.Stdio>;
9
15
  //# sourceMappingURL=Server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Server.d.ts","sourceRoot":"","sources":["../../src/server/Server.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAkB,MAAM,QAAQ,CAAA;AAoQ9D,eAAO,MAAM,UAAU,GAAI,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,qCAMpE,CAAA;AAEH,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,qCAAyB,CAAA;AAE1E,eAAO,MAAM,IAAI,uBAAoD,CAAA;AAoBrE,eAAO,MAAM,oBAAoB,oCAW/B,CAAA"}
1
+ {"version":3,"file":"Server.d.ts","sourceRoot":"","sources":["../../src/server/Server.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAS,KAAK,EAAkC,MAAM,QAAQ,CAAA;AAG/F,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAyBrC,OAAO,EAOL,KAAK,2BAA2B,EAIjC,MAAM,oCAAoC,CAAA;AAI3C,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,KAAK,2BAA2B,EAChC,eAAe,EACf,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,oCAAoC,CAAA;AAqR3C,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IACxC,QAAQ,CAAC,QAAQ,EAAE,2BAA2B,CAAA;CAC/C;AAED,eAAO,MAAM,UAAU,YAAa,uBAAuB,6JA0B1D,CAAA;AAED,eAAO,MAAM,oBAAoB,SAAU,MAAM,YAAY,2BAA2B,6JACxD,CAAA;AAEhC,eAAO,MAAM,IAAI,uBAAoD,CAAA;AAqBrE,eAAO,MAAM,oBAAoB,0PA4B/B,CAAA"}
@@ -1,18 +1,22 @@
1
1
  import { BunFileSystem, BunHttpServer, BunServices } from "@effect/platform-bun";
2
- import { AwsClient, AwsClientConfig, CacheService, ConfigService, PermissionService, PRService, SandboxService, StatsService } from "@knpkv/codecommit-core";
2
+ import { AwsClient, AwsClientConfig, CacheService, ConfigService, PermissionService, PRService, ReadClient, ReviewClient, SandboxService, StatsService } from "@knpkv/codecommit-core";
3
3
  import { AwsClientGatedLive, InnerAwsClient } from "@knpkv/codecommit-core/AwsClient/AwsClientGated.js";
4
4
  import { AuditLogRepo } from "@knpkv/codecommit-core/PermissionService/AuditLog.js";
5
5
  import { PermissionGateLiveLayer, PermissionGateLiveTag } from "@knpkv/codecommit-core/PermissionService/PermissionGateLive.js";
6
- import { Config, Effect, Layer, Predicate, Ref } from "effect";
6
+ import { Config, Deferred, Effect, Fiber, Layer, Option, Predicate, Ref, Stream } from "effect";
7
7
  import * as FileSystem from "effect/FileSystem";
8
8
  import * as Path from "effect/Path";
9
+ import * as Stdio from "effect/Stdio";
9
10
  import { Etag, FetchHttpClient, HttpPlatform, HttpRouter, HttpServerRequest, HttpServerResponse } from "effect/unstable/http";
10
11
  import { HttpApiBuilder } from "effect/unstable/httpapi";
11
12
  import { CodeCommitApi } from "./Api.js";
12
13
  import { AccountsLive, AuditLive, ConfigLive, EventsLive, NotificationsLive, PermissionsLive, PrsLive, SandboxLive, StatsLive, SubscriptionsLive } from "./handlers/index.js";
13
14
  import { BackgroundScopeLive } from "./internal/BackgroundScope.js";
14
15
  import { autoRefreshLayer, sandboxStartupLayer } from "./internal/BackgroundWorkers.js";
15
- // MIME types for common files
16
+ import { activateOwnerSessionBootstrap, makeOwnerSessionSecrets, ownerSessionAuthLayer, OwnerSessionBootstrapRouter, ownerSessionOrigin, OwnerSessionSecrets, ownerSessionUrlForOrigin, requireLoopbackHostname, requireLoopbackOrigin } from "./internal/OwnerSessionSecurity.js";
17
+ import { InnerCodeCommitReadClient, makePermissionedReadClient } from "./internal/PermissionedReadClient.js";
18
+ import { makeRelayFindingPublisher, RelayFindingPublisher } from "./review/RelayFindingPublisher.js";
19
+ export { makeOwnerSessionSecrets, ownerSessionOrigin, OwnerSessionSecrets, ownerSessionUrl, ownerSessionUrlForOrigin, requireLoopbackHostname, requireLoopbackOrigin } from "./internal/OwnerSessionSecurity.js";
16
20
  const mimeTypes = {
17
21
  ".html": "text/html",
18
22
  ".js": "application/javascript",
@@ -95,13 +99,21 @@ const PRServiceDeps = Layer.mergeAll(GatedAwsClientLive, ReposLive).pipe(Layer.p
95
99
  const PRServiceLive_ = PRService.PRServiceLive.pipe(Layer.provideMerge(PRServiceDeps));
96
100
  // AwsClient for handlers that call AWS directly (e.g., createPR)
97
101
  const AwsClientLive_ = GatedAwsClientLive;
102
+ // Immutable diff and Relay reads use the Schema-decoded provider boundary
103
+ // wrapped by the same permission and audit policy as the legacy AWS client.
104
+ const InnerReadClientLive = Layer.effect(InnerCodeCommitReadClient, ReadClient.CodeCommitReadClient).pipe(Layer.provide(ReadClient.CodeCommitReadClient.live), Layer.provide(FetchHttpClient.layer), Layer.provide(AwsClientConfig.Default));
105
+ const ReadClientLive = Layer.effect(ReadClient.CodeCommitReadClient, Effect.flatMap(InnerCodeCommitReadClient, makePermissionedReadClient)).pipe(Layer.provide(InnerReadClientLive), Layer.provide(PermissionLive), Layer.provide(PermissionGateLive_));
106
+ // The full core review client stays private to this layer. HTTP handlers receive
107
+ // only the permission-gated Relay comment capability, never approval or merge.
108
+ const CoreReviewClientLive = ReviewClient.CodeCommitReviewClient.layer.pipe(Layer.provide(ReviewClient.CodeCommitReviewProviderLive), Layer.provide(ReadClientLive), Layer.provide(FetchHttpClient.layer), Layer.provide(AwsClientConfig.Default));
109
+ const RelayFindingPublisherLive = Layer.effect(RelayFindingPublisher, makeRelayFindingPublisher()).pipe(Layer.provide(CoreReviewClientLive), Layer.provide(PermissionLive), Layer.provide(PermissionGateLive_));
98
110
  // Sandbox services — DockerService uses the `docker` CLI, no HttpClient needed
99
111
  // SandboxService reads ConfigService at runtime for sandbox settings
100
112
  const SandboxServicesLive = Layer.mergeAll(SandboxService.SandboxService.Default, SandboxService.DockerService.Default, CacheService.SandboxRepo.Default).pipe(Layer.provide(ConfigLive_), Layer.provide(ReposLive), Layer.provide(PlatformLive));
101
113
  // Stats service — StatsRepo provided first, then rest via PRServiceDeps
102
114
  const StatsServiceLive = StatsService.StatsService.Default.pipe(Layer.provide(CacheService.StatsRepo.Default), Layer.provide(PRServiceDeps));
103
115
  // All services needed by handlers
104
- const AllServicesLive = Layer.mergeAll(PRServiceLive_, ConfigLive_, AwsClientLive_, SandboxServicesLive, StatsServiceLive, PermissionLive);
116
+ const AllServicesLive = Layer.mergeAll(PRServiceLive_, ConfigLive_, AwsClientLive_, ReadClientLive, SandboxServicesLive, StatsServiceLive, PermissionLive, PlatformLive);
105
117
  // Prune old audit log entries on startup
106
118
  const AuditPrune = Layer.effectDiscard(Effect.gen(function* () {
107
119
  const auditLog = yield* AuditLogRepo;
@@ -112,7 +124,7 @@ const AuditPrune = Layer.effectDiscard(Effect.gen(function* () {
112
124
  yield* Effect.logInfo(`Pruned ${deleted} audit log entries older than ${retentionDays} days`);
113
125
  }));
114
126
  // API router with handlers — AutoRefresh shares AllServicesLive with handlers
115
- const ApiLive = Layer.mergeAll(HttpApiBuilder.layer(CodeCommitApi).pipe(Layer.provide(HandlersLive)), autoRefreshLayer, AuditPrune, sandboxStartupLayer).pipe(Layer.provide(AllServicesLive), Layer.provide(FetchHttpClient.layer));
127
+ const ApiLive = Layer.mergeAll(HttpApiBuilder.layer(CodeCommitApi).pipe(Layer.provide(HandlersLive.pipe(Layer.provide(RelayFindingPublisherLive)))), autoRefreshLayer, AuditPrune, sandboxStartupLayer).pipe(Layer.provide(ownerSessionAuthLayer), Layer.provide(AllServicesLive), Layer.provide(FetchHttpClient.layer));
116
128
  // Static file router - catches all non-API routes
117
129
  const StaticRouter = HttpRouter.use((router) => router.add("GET", "/*", serveStatic));
118
130
  const AllowedOrigins = Config.string("ALLOWED_ORIGINS").pipe(Config.map((s) => s.split(",")), Config.withDefault(["http://localhost:3000", "http://127.0.0.1:3000"]));
@@ -120,17 +132,26 @@ const AllowedOrigins = Config.string("ALLOWED_ORIGINS").pipe(Config.map((s) => s
120
132
  const CorsLive = Layer.unwrap(Effect.map(AllowedOrigins, (allowedOrigins) => HttpRouter.cors({
121
133
  allowedOrigins,
122
134
  allowedMethods: ["GET", "POST", "PUT", "DELETE", "PATCH", "OPTIONS"],
123
- allowedHeaders: ["Content-Type", "Authorization"]
135
+ allowedHeaders: ["Content-Type", "Authorization", "X-CSRF-Token"]
124
136
  })));
125
137
  // Combined routes with CORS — orDie for remaining service construction errors
126
- const AllRoutes = Layer.mergeAll(ApiLive, StaticRouter).pipe(Layer.provide(CorsLive), Layer.orDie);
138
+ const AllRoutes = Layer.mergeAll(ApiLive, OwnerSessionBootstrapRouter, StaticRouter).pipe(Layer.provide(CorsLive), Layer.orDie);
127
139
  // HttpPlatform + Etag — required by addHttpApi for OpenAPI/multipart support
128
140
  const HttpPlatformLive = HttpPlatform.layer.pipe(Layer.provide(BunFileSystem.layer));
129
- export const makeServer = (options) => HttpRouter.serve(AllRoutes).pipe(
130
- // idleTimeout: 0 disables idle detection — required for long-lived SSE connections
131
- Layer.provide(BunHttpServer.layer({ ...options, idleTimeout: 0 })), Layer.provide(Etag.layer), Layer.provide(HttpPlatformLive));
132
- export const makeCodeCommitServer = (port) => makeServer({ port });
141
+ export const makeServer = (options) => {
142
+ const hostname = options.hostname ?? "127.0.0.1";
143
+ return Layer.unwrap(requireLoopbackHostname(hostname).pipe(Effect.map(() => {
144
+ const server = HttpRouter.serve(AllRoutes).pipe(
145
+ // idleTimeout: 0 disables idle detection — required for long-lived SSE connections
146
+ Layer.provide(BunHttpServer.layer({ hostname, port: options.port, idleTimeout: 0 })), Layer.provide(Etag.layer), Layer.provide(HttpPlatformLive), Layer.provide(Layer.succeed(OwnerSessionSecrets, options.security)));
147
+ return server.pipe(Layer.tap(() => activateOwnerSessionBootstrap(options.security).pipe(Effect.andThen(options.ready === undefined
148
+ ? Effect.void
149
+ : Deferred.succeed(options.ready, undefined)))));
150
+ })));
151
+ };
152
+ export const makeCodeCommitServer = (port, security) => makeServer({ port, security });
133
153
  export const Port = Config.int("PORT").pipe(Config.withDefault(3000));
154
+ const PublicOrigin = Config.option(Config.string("CODECOMMIT_WEB_PUBLIC_ORIGIN"));
134
155
  const updatePortOnConflict = (portRef, retriesRef) => (self) => self.pipe(Effect.catchDefect((defect) => Predicate.isError(defect) && defect.message.includes("port")
135
156
  ? Effect.gen(function* () {
136
157
  const remaining = yield* Ref.getAndUpdate(retriesRef, (r) => r - 1);
@@ -141,12 +162,23 @@ const updatePortOnConflict = (portRef, retriesRef) => (self) => self.pipe(Effect
141
162
  })
142
163
  : Effect.die(defect)));
143
164
  export const CodeCommitServerLive = Effect.gen(function* () {
165
+ const stdio = yield* Stdio.Stdio;
144
166
  const portRef = yield* Ref.make(yield* Port.pipe(Effect.orDie));
145
167
  const retriesRef = yield* Ref.make(10);
168
+ const publicOriginOverride = yield* PublicOrigin.pipe(Effect.orDie);
146
169
  return yield* Effect.forever(Effect.gen(function* () {
147
170
  const p = yield* Ref.get(portRef);
148
- yield* Effect.logInfo(`Starting server on http://localhost:${p}`);
149
- return yield* Layer.launch(makeCodeCommitServer(p));
171
+ // Rotate every authority-bearing secret on each bind attempt so a URL
172
+ // emitted for an occupied port cannot authenticate to a later retry.
173
+ const security = yield* makeOwnerSessionSecrets();
174
+ const ready = yield* Deferred.make();
175
+ const directOrigin = ownerSessionOrigin("127.0.0.1", p);
176
+ const publicOrigin = yield* requireLoopbackOrigin(Option.getOrElse(publicOriginOverride, () => directOrigin));
177
+ const serverFiber = yield* Layer.launch(makeServer({ port: p, ready, security })).pipe(Effect.forkChild({ startImmediately: true }));
178
+ yield* Effect.raceFirst(Deferred.await(ready), Fiber.join(serverFiber));
179
+ yield* Effect.logInfo(`Authenticated server ready at ${ownerSessionOrigin("127.0.0.1", p)}`);
180
+ yield* Stream.make(`Authenticated bootstrap URL: ${ownerSessionUrlForOrigin(publicOrigin, security)}\n`).pipe(Stream.run(stdio.stdout()));
181
+ return yield* Fiber.join(serverFiber);
150
182
  }).pipe(updatePortOnConflict(portRef, retriesRef)));
151
183
  });
152
184
  //# sourceMappingURL=Server.js.map