@beignet/core 0.0.49 → 0.0.50

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 (109) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +160 -6
  3. package/dist/events/index.d.ts +54 -5
  4. package/dist/events/index.d.ts.map +1 -1
  5. package/dist/events/index.js +183 -32
  6. package/dist/events/index.js.map +1 -1
  7. package/dist/idempotency/index.d.ts +7 -3
  8. package/dist/idempotency/index.d.ts.map +1 -1
  9. package/dist/idempotency/index.js +45 -12
  10. package/dist/idempotency/index.js.map +1 -1
  11. package/dist/mail/index.d.ts.map +1 -1
  12. package/dist/mail/index.js +6 -3
  13. package/dist/mail/index.js.map +1 -1
  14. package/dist/ports/best-effort-work.d.ts +21 -0
  15. package/dist/ports/best-effort-work.d.ts.map +1 -0
  16. package/dist/ports/best-effort-work.js +2 -0
  17. package/dist/ports/best-effort-work.js.map +1 -0
  18. package/dist/ports/events.d.ts +7 -5
  19. package/dist/ports/events.d.ts.map +1 -1
  20. package/dist/ports/index.d.ts +6 -1
  21. package/dist/ports/index.d.ts.map +1 -1
  22. package/dist/ports/index.js +1 -0
  23. package/dist/ports/index.js.map +1 -1
  24. package/dist/ports/testing.d.ts +15 -0
  25. package/dist/ports/testing.d.ts.map +1 -1
  26. package/dist/ports/testing.js +38 -0
  27. package/dist/ports/testing.js.map +1 -1
  28. package/dist/providers/provider.d.ts +8 -5
  29. package/dist/providers/provider.d.ts.map +1 -1
  30. package/dist/providers/provider.js.map +1 -1
  31. package/dist/server/hooks/cors.d.ts +2 -2
  32. package/dist/server/hooks/cors.d.ts.map +1 -1
  33. package/dist/server/hooks/cors.js +2 -1
  34. package/dist/server/hooks/cors.js.map +1 -1
  35. package/dist/server/hooks/logging.d.ts +2 -2
  36. package/dist/server/hooks/logging.d.ts.map +1 -1
  37. package/dist/server/hooks/logging.js.map +1 -1
  38. package/dist/server/hooks/security.d.ts +2 -2
  39. package/dist/server/hooks/security.d.ts.map +1 -1
  40. package/dist/server/hooks/security.js.map +1 -1
  41. package/dist/server/http.d.ts +21 -2
  42. package/dist/server/http.d.ts.map +1 -1
  43. package/dist/server/index.d.ts +4 -0
  44. package/dist/server/index.d.ts.map +1 -1
  45. package/dist/server/index.js +4 -0
  46. package/dist/server/index.js.map +1 -1
  47. package/dist/server/instrumentation.d.ts.map +1 -1
  48. package/dist/server/instrumentation.js +5 -3
  49. package/dist/server/instrumentation.js.map +1 -1
  50. package/dist/server/request-executor.d.ts.map +1 -1
  51. package/dist/server/request-executor.js +9 -0
  52. package/dist/server/request-executor.js.map +1 -1
  53. package/dist/server/request-preparation.d.ts.map +1 -1
  54. package/dist/server/request-preparation.js +20 -2
  55. package/dist/server/request-preparation.js.map +1 -1
  56. package/dist/server/response-finalization.d.ts +2 -2
  57. package/dist/server/response-finalization.d.ts.map +1 -1
  58. package/dist/server/response-finalization.js +25 -8
  59. package/dist/server/response-finalization.js.map +1 -1
  60. package/dist/server/route-matching.d.ts.map +1 -1
  61. package/dist/server/route-matching.js +12 -1
  62. package/dist/server/route-matching.js.map +1 -1
  63. package/dist/server/server-sent-events.d.ts +94 -0
  64. package/dist/server/server-sent-events.d.ts.map +1 -0
  65. package/dist/server/server-sent-events.js +275 -0
  66. package/dist/server/server-sent-events.js.map +1 -0
  67. package/dist/server/server.d.ts.map +1 -1
  68. package/dist/server/server.js +41 -22
  69. package/dist/server/server.js.map +1 -1
  70. package/dist/server/trusted-proxy-internal.d.ts +4 -0
  71. package/dist/server/trusted-proxy-internal.d.ts.map +1 -1
  72. package/dist/server/trusted-proxy-internal.js +20 -0
  73. package/dist/server/trusted-proxy-internal.js.map +1 -1
  74. package/dist/server/trusted-proxy.d.ts.map +1 -1
  75. package/dist/server/trusted-proxy.js +3 -8
  76. package/dist/server/trusted-proxy.js.map +1 -1
  77. package/dist/testing/index.d.ts +17 -0
  78. package/dist/testing/index.d.ts.map +1 -1
  79. package/dist/testing/index.js +6 -1
  80. package/dist/testing/index.js.map +1 -1
  81. package/package.json +1 -1
  82. package/skills/app-architecture/SKILL.md +23 -3
  83. package/src/events/index.ts +263 -38
  84. package/src/idempotency/index.ts +65 -17
  85. package/src/mail/index.ts +7 -3
  86. package/src/ports/best-effort-work.ts +21 -0
  87. package/src/ports/events.ts +9 -4
  88. package/src/ports/index.ts +9 -0
  89. package/src/ports/testing.ts +45 -0
  90. package/src/providers/provider.ts +8 -5
  91. package/src/server/hooks/cors.ts +11 -5
  92. package/src/server/hooks/logging.ts +6 -2
  93. package/src/server/hooks/security.ts +8 -4
  94. package/src/server/http.ts +23 -2
  95. package/src/server/index.ts +4 -0
  96. package/src/server/instrumentation.ts +12 -4
  97. package/src/server/request-executor.ts +14 -0
  98. package/src/server/request-preparation.ts +23 -3
  99. package/src/server/response-finalization.ts +51 -15
  100. package/src/server/route-matching.ts +24 -1
  101. package/src/server/server-sent-events.ts +415 -0
  102. package/src/server/server.ts +46 -22
  103. package/src/server/trusted-proxy-internal.ts +20 -0
  104. package/src/server/trusted-proxy.ts +6 -7
  105. package/src/testing/index.ts +30 -0
  106. package/dist/query-codec.d.ts +0 -27
  107. package/dist/query-codec.d.ts.map +0 -1
  108. package/dist/query-codec.js +0 -245
  109. package/dist/query-codec.js.map +0 -1
@@ -0,0 +1,275 @@
1
+ const DEFAULT_HEARTBEAT_MS = 25_000;
2
+ const DEFAULT_MAX_BUFFERED_BYTES = 1_048_576;
3
+ const MAX_BUFFERED_BYTES = 2_147_483_647;
4
+ const MAX_TIMER_MS = 2_147_483_647;
5
+ function assertTimerOption(name, value) {
6
+ if (value === false ||
7
+ value === undefined ||
8
+ (Number.isInteger(value) && value >= 1 && value <= MAX_TIMER_MS)) {
9
+ return;
10
+ }
11
+ throw new RangeError(`${name} must be false or an integer between 1 and ${MAX_TIMER_MS} milliseconds.`);
12
+ }
13
+ function assertMaxBufferedBytes(value) {
14
+ if (Number.isInteger(value) && value >= 1 && value <= MAX_BUFFERED_BYTES) {
15
+ return;
16
+ }
17
+ throw new RangeError(`maxBufferedBytes must be an integer between 1 and ${MAX_BUFFERED_BYTES} bytes.`);
18
+ }
19
+ function assertSingleLine(name, value) {
20
+ if (value.includes("\r") || value.includes("\n")) {
21
+ throw new TypeError(`SSE ${name} must not contain line breaks.`);
22
+ }
23
+ if (name === "id" && value.includes("\0")) {
24
+ throw new TypeError("SSE id must not contain null characters.");
25
+ }
26
+ }
27
+ function isPromiseLike(value) {
28
+ return (value !== null &&
29
+ (typeof value === "object" || typeof value === "function") &&
30
+ "then" in value &&
31
+ typeof value.then === "function");
32
+ }
33
+ function isAbortError(error) {
34
+ try {
35
+ return (typeof error === "object" &&
36
+ error !== null &&
37
+ "name" in error &&
38
+ error.name === "AbortError");
39
+ }
40
+ catch {
41
+ return false;
42
+ }
43
+ }
44
+ function encodeMessage(message) {
45
+ if (message.event !== undefined) {
46
+ assertSingleLine("event", message.event);
47
+ }
48
+ if (message.id !== undefined) {
49
+ assertSingleLine("id", message.id);
50
+ }
51
+ if (message.retry !== undefined &&
52
+ (!Number.isInteger(message.retry) ||
53
+ message.retry < 0 ||
54
+ message.retry > MAX_TIMER_MS)) {
55
+ throw new RangeError(`SSE retry must be an integer between 0 and ${MAX_TIMER_MS} milliseconds.`);
56
+ }
57
+ const data = JSON.stringify(message.data);
58
+ if (data === undefined) {
59
+ throw new TypeError("SSE data must be JSON-serializable.");
60
+ }
61
+ const fields = [];
62
+ if (message.event !== undefined)
63
+ fields.push(`event: ${message.event}`);
64
+ if (message.id !== undefined)
65
+ fields.push(`id: ${message.id}`);
66
+ if (message.retry !== undefined)
67
+ fields.push(`retry: ${message.retry}`);
68
+ fields.push(`data: ${data}`);
69
+ return `${fields.join("\n")}\n\n`;
70
+ }
71
+ function encodeComment(value) {
72
+ return `${value
73
+ .split(/\r\n|\r|\n/)
74
+ .map((line) => `: ${line}`)
75
+ .join("\n")}\n\n`;
76
+ }
77
+ function createResponseHeaders(init) {
78
+ const headers = new Headers(init);
79
+ headers.set("Content-Type", "text/event-stream; charset=utf-8");
80
+ headers.set("Cache-Control", "no-store, no-transform");
81
+ headers.set("X-Accel-Buffering", "no");
82
+ headers.delete("Connection");
83
+ headers.delete("Content-Length");
84
+ headers.delete("Transfer-Encoding");
85
+ return headers;
86
+ }
87
+ /**
88
+ * Create a portable Fetch `Response` that safely manages a Server-Sent Events
89
+ * stream.
90
+ *
91
+ * The helper owns SSE framing, JSON encoding, heartbeats, abort handling,
92
+ * bounded unread buffering, maximum lifetime, and cleanup. Authentication,
93
+ * replay, authorization, connection limits, and application reconciliation
94
+ * remain the caller's responsibility.
95
+ */
96
+ export function createServerSentEventResponse(options) {
97
+ const heartbeatMs = options.heartbeatMs ?? DEFAULT_HEARTBEAT_MS;
98
+ const maxBufferedBytes = options.maxBufferedBytes ?? DEFAULT_MAX_BUFFERED_BYTES;
99
+ assertTimerOption("heartbeatMs", heartbeatMs);
100
+ assertTimerOption("maxLifetimeMs", options.maxLifetimeMs);
101
+ assertMaxBufferedBytes(maxBufferedBytes);
102
+ const headers = createResponseHeaders(options.headers);
103
+ const encoder = new TextEncoder();
104
+ const lifecycleController = new AbortController();
105
+ let cleanup;
106
+ let cleanupPromise;
107
+ let closed = false;
108
+ let heartbeatTimer;
109
+ let lifetimeTimer;
110
+ let abortListener;
111
+ let closeStream;
112
+ const reportError = (error) => {
113
+ if (!options.onError)
114
+ return;
115
+ void Promise.resolve()
116
+ .then(() => options.onError?.(error))
117
+ .catch(() => undefined);
118
+ };
119
+ const runCleanup = () => {
120
+ if (cleanupPromise)
121
+ return cleanupPromise;
122
+ if (!cleanup)
123
+ return Promise.resolve();
124
+ const activeCleanup = cleanup;
125
+ cleanupPromise = Promise.resolve()
126
+ .then(() => typeof activeCleanup === "function"
127
+ ? activeCleanup()
128
+ : activeCleanup.close())
129
+ .catch(reportError);
130
+ return cleanupPromise;
131
+ };
132
+ const stream = new ReadableStream({
133
+ start(controller) {
134
+ const clearLifecycle = () => {
135
+ if (heartbeatTimer !== undefined)
136
+ clearInterval(heartbeatTimer);
137
+ if (lifetimeTimer !== undefined)
138
+ clearTimeout(lifetimeTimer);
139
+ if (abortListener) {
140
+ options.signal?.removeEventListener("abort", abortListener);
141
+ }
142
+ };
143
+ const close = () => {
144
+ if (closed)
145
+ return;
146
+ closed = true;
147
+ clearLifecycle();
148
+ lifecycleController.abort();
149
+ void runCleanup();
150
+ try {
151
+ controller.close();
152
+ }
153
+ catch {
154
+ // Cancellation may already have detached the stream controller.
155
+ }
156
+ };
157
+ closeStream = close;
158
+ const enqueue = (value) => {
159
+ if (closed)
160
+ return false;
161
+ try {
162
+ const chunk = encoder.encode(value);
163
+ const availableBytes = controller.desiredSize;
164
+ if (availableBytes === null || chunk.byteLength > availableBytes) {
165
+ reportError(new RangeError(`SSE buffer limit of ${maxBufferedBytes} bytes exceeded.`));
166
+ close();
167
+ return false;
168
+ }
169
+ controller.enqueue(chunk);
170
+ return true;
171
+ }
172
+ catch (error) {
173
+ reportError(error);
174
+ close();
175
+ return false;
176
+ }
177
+ };
178
+ const controls = {
179
+ signal: lifecycleController.signal,
180
+ send(message) {
181
+ if (closed)
182
+ return false;
183
+ try {
184
+ return enqueue(encodeMessage(message));
185
+ }
186
+ catch (error) {
187
+ reportError(error);
188
+ close();
189
+ return false;
190
+ }
191
+ },
192
+ comment(value = "") {
193
+ if (closed)
194
+ return false;
195
+ try {
196
+ return enqueue(encodeComment(value));
197
+ }
198
+ catch (error) {
199
+ reportError(error);
200
+ close();
201
+ return false;
202
+ }
203
+ },
204
+ close,
205
+ };
206
+ if (options.signal?.aborted) {
207
+ close();
208
+ return;
209
+ }
210
+ abortListener = close;
211
+ options.signal?.addEventListener("abort", abortListener, {
212
+ once: true,
213
+ });
214
+ if (heartbeatMs !== false) {
215
+ heartbeatTimer = setInterval(() => {
216
+ controls.comment("heartbeat");
217
+ }, heartbeatMs);
218
+ }
219
+ if (options.maxLifetimeMs !== undefined &&
220
+ options.maxLifetimeMs !== false) {
221
+ lifetimeTimer = setTimeout(close, options.maxLifetimeMs);
222
+ }
223
+ const registerCleanup = (resolvedCleanup) => {
224
+ try {
225
+ if (typeof resolvedCleanup === "function" ||
226
+ (typeof resolvedCleanup === "object" &&
227
+ resolvedCleanup !== null &&
228
+ "close" in resolvedCleanup &&
229
+ typeof resolvedCleanup.close === "function")) {
230
+ cleanup = resolvedCleanup;
231
+ if (closed)
232
+ void runCleanup();
233
+ }
234
+ else if (resolvedCleanup !== undefined) {
235
+ reportError(new TypeError("SSE start must return a cleanup function, a closeable subscription, or nothing."));
236
+ close();
237
+ }
238
+ }
239
+ catch (error) {
240
+ reportError(error);
241
+ close();
242
+ }
243
+ };
244
+ const handleStartError = (error) => {
245
+ if (!(closed && isAbortError(error)))
246
+ reportError(error);
247
+ close();
248
+ };
249
+ try {
250
+ const result = options.start(controls);
251
+ if (isPromiseLike(result)) {
252
+ void Promise.resolve(result).then(registerCleanup, handleStartError);
253
+ }
254
+ else {
255
+ registerCleanup(result);
256
+ }
257
+ }
258
+ catch (error) {
259
+ handleStartError(error);
260
+ }
261
+ },
262
+ cancel() {
263
+ closeStream?.();
264
+ return runCleanup();
265
+ },
266
+ }, {
267
+ highWaterMark: maxBufferedBytes,
268
+ size: (chunk) => chunk?.byteLength ?? 0,
269
+ });
270
+ return new Response(stream, {
271
+ status: 200,
272
+ headers,
273
+ });
274
+ }
275
+ //# sourceMappingURL=server-sent-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-sent-events.js","sourceRoot":"","sources":["../../src/server/server-sent-events.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ import { contractsFromRoutes, createRoutes, defineRoutes, } from "./route-defini
15
15
  import { compareRouteSpecificity, compilePath, } from "./route-matching.js";
16
16
  import { runRuntimeIntegrityCheck } from "./runtime-integrity.js";
17
17
  import { resolveTrustedRequest, } from "./trusted-proxy.js";
18
- import { assertValidTrustedProxyConfig } from "./trusted-proxy-internal.js";
18
+ import { assertValidTrustedProxyConfig, parseHttpRequestUrl, } from "./trusted-proxy-internal.js";
19
19
  import { createUseCaseRouteHandler, isUseCaseRouteDef, } from "./use-case-route.js";
20
20
  export { contractsFromRoutes, createRoutes, defineRoutes };
21
21
  function copyTrustedRequestInfo(requestInfo) {
@@ -144,7 +144,7 @@ export async function createServer(options) {
144
144
  let serviceContextsAvailable = false;
145
145
  const lifecycleCreateServiceContext = async (input) => {
146
146
  if (!serviceContextsAvailable) {
147
- throw new Error("Service contexts are unavailable until providers have started.");
147
+ throw new Error("Service contexts are unavailable during provider setup and after provider shutdown.");
148
148
  }
149
149
  return createServiceContext(...[input]);
150
150
  };
@@ -154,18 +154,23 @@ export async function createServer(options) {
154
154
  return;
155
155
  stopped = true;
156
156
  const errors = [];
157
- for (let i = providerResults.length - 1; i >= 0; i -= 1) {
158
- const result = providerResults[i];
159
- try {
160
- await result?.stop?.({
161
- ports: finalPorts,
162
- createServiceContext: lifecycleCreateServiceContext,
163
- });
164
- }
165
- catch (err) {
166
- errors.push(err);
157
+ try {
158
+ for (let i = providerResults.length - 1; i >= 0; i -= 1) {
159
+ const result = providerResults[i];
160
+ try {
161
+ await result?.stop?.({
162
+ ports: finalPorts,
163
+ createServiceContext: lifecycleCreateServiceContext,
164
+ });
165
+ }
166
+ catch (err) {
167
+ errors.push(err);
168
+ }
167
169
  }
168
170
  }
171
+ finally {
172
+ serviceContextsAvailable = false;
173
+ }
169
174
  if (errors.length) {
170
175
  throw new AggregateError(errors, "Provider shutdown errors");
171
176
  }
@@ -287,15 +292,6 @@ export async function createServer(options) {
287
292
  }
288
293
  providerResults.push(result);
289
294
  }
290
- for (const result of providerResults) {
291
- if (!result.start)
292
- continue;
293
- await result.start({
294
- ports: finalPorts,
295
- createServiceContext: lifecycleCreateServiceContext,
296
- });
297
- }
298
- instrumentation.attachPorts(finalPorts);
299
295
  const onUnboundPorts = options.onUnboundPorts ?? "error";
300
296
  if (onUnboundPorts !== "ignore") {
301
297
  const unboundKeys = Object.keys(finalPorts).filter((key) => isUnboundPort(finalPorts[key]));
@@ -310,7 +306,19 @@ export async function createServer(options) {
310
306
  console.warn(`[beignet] ${message}`);
311
307
  }
312
308
  }
309
+ // Every provider has now contributed its ports and the unbound-port guard
310
+ // has passed. Start hooks may safely build service contexts while they
311
+ // activate consumers such as event listeners.
313
312
  serviceContextsAvailable = true;
313
+ for (const result of providerResults) {
314
+ if (!result.start)
315
+ continue;
316
+ await result.start({
317
+ ports: finalPorts,
318
+ createServiceContext: lifecycleCreateServiceContext,
319
+ });
320
+ }
321
+ instrumentation.attachPorts(finalPorts);
314
322
  }
315
323
  catch (error) {
316
324
  try {
@@ -345,8 +353,19 @@ export async function createServer(options) {
345
353
  registry.sort((a, b) => compareRouteSpecificity(a.compiled, b.compiled));
346
354
  registryNeedsSort = false;
347
355
  }
348
- const url = new URL(req.url);
349
356
  const method = req.method.toUpperCase();
357
+ let url;
358
+ try {
359
+ url = parseHttpRequestUrl(req.url);
360
+ }
361
+ catch (error) {
362
+ return await executeFallback({
363
+ contract: fallbackContract("invalidRequestUrl", method, "/"),
364
+ handler: async () => {
365
+ throw error;
366
+ },
367
+ }, req, {});
368
+ }
350
369
  let pathMatchedMethods;
351
370
  let headCandidate;
352
371
  for (const entry of registry) {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,GACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAUlD,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAE5E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAYrD,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,iBAAiB,EACjB,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,YAAY,GAOb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEL,uBAAuB,EACvB,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EACL,qBAAqB,GAGtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,6BAA6B,EAC7B,mBAAmB,GACpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,yBAAyB,EACzB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAW7B,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;AAoB3D,SAAS,sBAAsB,CAC7B,WAA+B;IAE/B,OAAO;QACL,GAAG,WAAW;QACd,GAAG,EAAE,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC;KAC9B,CAAC;AACJ,CAAC;AA8OD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAQhC,OAAyE;IAWzE,MAAM,QAAQ,GAAsB,EAAE,CAAC;IACvC,2EAA2E;IAC3E,mEAAmE;IACnE,gBAAgB;IAChB,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAE9B,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAkC,CAAC;IAC7E,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC;IAC/C,MAAM,SAAS,GAAG,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;IAC/C,MAAM,eAAe,GAAoC,EAAE,CAAC;IAC5D,MAAM,UAAU,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK,EAAgB,CAAC;IACtD,MAAM,eAAe,GAAG,2BAA2B,CACjD,OAAO,CAAC,eAAe,CACxB,CAAC;IACF,MAAM,KAAK,GAAG;QACZ,GAAG,CAAC,eAAe,CAAC,IAAI;YACtB,CAAC,CAAC,CAAC,eAAe,CAAC,IAAmC,CAAC;YACvD,CAAC,CAAC,EAAE,CAAC;QACP,GAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAmC;KAC5D,CAAC;IACF,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC;IACnD,6BAA6B,CAAC,YAAY,CAAC,CAAC;IAE5C,oEAAoE;IACpE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,eAAe,GAAG,oBAAoB,CAC1C,OAAO,CAAC,OAAO,CAChB,CAAC;IACF,MAAM,eAAe,GAAG,sBAAsB,CAC5C,eAAe,EACf,GAAG,EAAE,CAAC,UAAU,CACjB,CAAC;IACF,MAAM,oBAAoB,GAAG,KAAK,EAChC,GAAoB,EACpB,QAA6B,EAC7B,cAAkC,qBAAqB,CAAC,GAAG,EAAE,YAAY,CAAC,EAC5D,EAAE;QAChB,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,eAAe,CACpB,MAAM,eAAe,CAAC,OAAO,CAAC;YAC5B,GAAG;YACH,WAAW,EAAE,sBAAsB,CAAC,WAAW,CAAC;YAChD,KAAK,EAAE,UAAU;YACjB,QAAQ;YACR,SAAS;YACT,KAAK;SACN,CAAC,CACH,CAAC;IACJ,CAAC,CAAC;IACF,MAAM,oBAAoB,GAAG,KAAK,EAChC,GAAG,IAA2C,EAChC,EAAE;QAChB,MAAM,cAAc,GAAG,eAAe,CAAC,OAAO,CAAC;QAC/C,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC,wBAAwB,EAAE,CAAC;QACxE,yEAAyE;QACzE,yEAAyE;QACzE,0EAA0E;QAC1E,wEAAwE;QACxE,MAAM,OAAO,GAAyB;YACpC,SAAS;YACT,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,WAAW,EAAE,KAAK,CAAC,WAAW;SAC/B,CAAC;QACF,yBAAyB,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,GAAG,GAAG,eAAe,CACzB,MAAM,cAAc,CAAC;YACnB,KAAK,EAAE,UAAU;YACjB,KAAK,EAAE,IAAI,CAAC,CAAC,CAAiB;YAC9B,SAAS;YACT,KAAK;SACN,CAAC,CACH,CAAC;QACF,OAAO,CAAC,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACtC,OAAO,CAAC,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACxC,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IACF,MAAM,iBAAiB,GAAG,KAAK,EAC7B,GAAG,IAGF,EACW,EAAE;QACd,MAAM,cAAc,GAAG,eAAe,CAAC,OAAO,CAAC;QAC/C,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAiC,CAAC;QACjE,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAiB,CAAC;QACtE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC,wBAAwB,EAAE,CAAC;QACxE,MAAM,OAAO,GAAyB;YACpC,SAAS;YACT,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,WAAW,EAAE,KAAK,CAAC,WAAW;SAC/B,CAAC;QACF,0EAA0E;QAC1E,uEAAuE;QACvE,yEAAyE;QACzE,oEAAoE;QACpE,iEAAiE;QACjE,gEAAgE;QAChE,4DAA4D;QAC5D,OAAO,2BAA2B,CAAC,OAAO,EAAE,GAAG,EAAE,CAC/C,gBAAgB,CACd,EAAE,MAAM,EAAE,uBAAuB,CAAC,UAAU,CAAC,EAAE,EAC/C,KAAK,IAAI,EAAE;YACT,MAAM,GAAG,GAAG,eAAe,CACzB,MAAM,cAAc,CAAC;gBACnB,KAAK,EAAE,UAAU;gBACjB,KAAK;gBACL,SAAS;gBACT,KAAK;aACN,CAAC,CACH,CAAC;YACF,OAAO,CAAC,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACtC,OAAO,CAAC,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;YACxC,OAAO,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC,CACF,CACF,CAAC;IACJ,CAAC,CAAC;IACF,MAAM,cAAc,GAAG;QACrB,oBAAoB;QACpB,eAAe;QACf,kBAAkB,EAAE,CAAC,GAAoB,EAAE,EAAE,CAC3C,qBAAqB,CAAC,GAAG,EAAE,YAAY,CAAC;KAC3C,CAAC;IAEF,IAAI,wBAAwB,GAAG,KAAK,CAAC;IACrC,MAAM,6BAA6B,GAAG,KAAK,EACzC,KAAe,EACG,EAAE;QACpB,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACb,qFAAqF,CACtF,CAAC;QACJ,CAAC;QAED,OAAO,oBAAoB,CACzB,GAAI,CAAC,KAAK,CAA2C,CACtD,CAAC;IACJ,CAAC,CAAC;IAEF,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;QACtB,IAAI,OAAO;YAAE,OAAO;QACpB,OAAO,GAAG,IAAI,CAAC;QACf,MAAM,MAAM,GAAc,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,KAAK,IAAI,CAAC,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxD,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;gBAClC,IAAI,CAAC;oBACH,MAAM,MAAM,EAAE,IAAI,EAAE,CAAC;wBACnB,KAAK,EAAE,UAAU;wBACjB,oBAAoB,EAAE,6BAA6B;qBACpD,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACnB,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,wBAAwB,GAAG,KAAK,CAAC;QACnC,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,IAAI,cAAc,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACnD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;IAClD,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEzD,MAAM,aAAa,GAAG,CACpB,QAAW,EACX,OAAwB,EACxB,aAAoD,EAAE,EACtD,8BAAuC,EACjC,EAAE;QACR,4BAA4B,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,QAAQ,CAAC,IAAI,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACjE,MAAM,IAAI,KAAK,CACb,wCAAwC,QAAQ,CAAC,MAAM,kEAAkE,CAC1H,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;QAC/C,MAAM,QAAQ,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,cAAc,EAAE,CAAC;QACtE,IAAI,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACb,oBAAoB,QAAQ,wEAAwE,CACrG,CAAC;QACJ,CAAC;QACD,MAAM,aAAa,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC9E,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC7D,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACb,oBAAoB,QAAQ,mBAAmB,gBAAgB,mGAAmG,CACnK,CAAC;QACJ,CAAC;QACD,MAAM,eAAe,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,6BAA6B,QAAQ,CAAC,IAAI,4BAA4B,eAAe,QAAQ,QAAQ,sGAAsG,CAC5M,CAAC;QACJ,CAAC;QACD,MAAM,WAAW,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QACrD,MAAM,sBAAsB,GAAG,sBAAsB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACvE,IAAI,sBAAsB,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,mCAAmC,WAAW,4BAA4B,sBAAsB,QAAQ,QAAQ,qEAAqE,CACtL,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,oBAAoB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACxD,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,2BAA2B,CAAC;oBAC7D,QAAQ,EAAE,QAAQ,CAAC,IAAI;oBACvB,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;iBAC9B,CAAC,CAAC;gBACH,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACnD,MAAM,OAAO,GAAG,wBAAwB,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;oBACrE,MAAM,IAAI,KAAK,CACb,iCAAiC,QAAQ,CAAC,IAAI,iBAAiB,QAAQ,CAAC,IAAI,MAAM,OAAO,wFAAwF,CAClL,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QACD,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9B,gBAAgB,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC9C,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC7C,sBAAsB,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAElD,MAAM,YAAY,GAAG,YAAY,CAC/B,OAAO,EACP,UAAU,EACV,cAAc,EACd,QAAQ,EACR,OAAO,EACP,KAAK,EACL,UAAU,EACV,SAAS,EACT,8BAA8B,CAC/B,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC;YACZ,QAAQ;YACR,QAAQ;YACR,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE;YACrC,OAAO,EAAE,YAAY;YACrB,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;gBAC1B,IAAI,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;oBAC3D,OAAO,EAAE,OAAO,EAAE,KAAc,EAAE,CAAC;gBACrC,CAAC;gBACD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC9C,IAAI,CAAC,KAAK;oBAAE,OAAO,EAAE,OAAO,EAAE,KAAc,EAAE,CAAC;gBAC/C,OAAO,EAAE,OAAO,EAAE,IAAa,EAAE,CAAC;YACpC,CAAC;SACF,CAAC,CAAC;QACH,iBAAiB,GAAG,IAAI,CAAC;IAC3B,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CACpB,QAAW,EACX,cAAuB,EACD,EAAE,CAAC,CAAC;QAC1B,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE;YACb,MAAM,OAAO,GAAG,YAAY,CAC1B,OAAO,EACP,UAAU,EACV,cAAc,EACd,QAAQ,EACR,EAAE,EACF,KAAK,CACN,CAAC;YACF,IAAI,cAAc;gBAAE,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAChD,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnC,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACjD,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC,MAAM,KAAK,UAAU,CAAC;gBACrD,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBAE5C,IAAI,SAAS,IAAI,UAAU,EAAE,CAAC;oBAC5B,MAAM,IAAI,KAAK,CACb,uBAAuB,QAAQ,CAAC,IAAI,mFAAmF,CACxH,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC;oBAC9B,MAAM,IAAI,KAAK,CACb,uBAAuB,QAAQ,CAAC,IAAI,oGAAoG,CACzI,CAAC;gBACJ,CAAC;gBAED,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC7B,MAAM,EAAE,OAAO,EAAE,8BAA8B,EAAE,GAC/C,yBAAyB,CAAuB,QAAQ,EAAE,KAAK,CAAC,CAAC;oBACnE,aAAa,CACX,QAAQ,EACR,OAAO,EACP,KAAK,CAAC,KAA0D,EAChE,8BAA8B,CAC/B,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,aAAa,CACX,QAAQ,EACR,KAAK,CAAC,MAAuC,EAC7C,KAAK,CAAC,KAA0D,CACjE,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,IAAI,EAAE,CAAC;YACf,CAAC;YAAC,OAAO,YAAY,EAAE,CAAC;gBACtB,MAAM,IAAI,cAAc,CACtB,CAAC,KAAK,EAAE,YAAY,CAAC,EACrB,0DAA0D,CAC3D,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,wBAAwB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAE5C,IAAI,CAAC;QACH,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;YAC/D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC;gBAClC,KAAK,EAAE,UAAU;gBACjB,MAAM,EAAE,GAAG;gBACX,oBAAoB,EAAE,6BAA6B;aACpD,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC;YACD,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QAED,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC;QACzD,IAAI,cAAc,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CACzD,aAAa,CAAE,UAAuB,CAAC,GAAG,CAAC,CAAC,CAC7C,CAAC;YACF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,OAAO,GACX,yCAAyC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;oBACnE,yEAAyE;oBACzE,wEAAwE;oBACxE,kEAAkE,CAAC;gBACrE,IAAI,cAAc,KAAK,OAAO,EAAE,CAAC;oBAC/B,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC3B,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,uEAAuE;QACvE,8CAA8C;QAC9C,wBAAwB,GAAG,IAAI,CAAC;QAEhC,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,KAAK;gBAAE,SAAS;YAC5B,MAAM,MAAM,CAAC,KAAK,CAAC;gBACjB,KAAK,EAAE,UAAU;gBACjB,oBAAoB,EAAE,6BAA6B;aACpD,CAAC,CAAC;QACL,CAAC;QAED,eAAe,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC;YACH,MAAM,IAAI,EAAE,CAAC;QACf,CAAC;QAAC,OAAO,YAAY,EAAE,CAAC;YACtB,MAAM,IAAI,cAAc,CACtB,CAAC,KAAK,EAAE,YAAY,CAAC,EACrB,0DAA0D,CAC3D,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IAED,2EAA2E;IAC3E,2EAA2E;IAC3E,4CAA4C;IAC5C,MAAM,eAAe,GAAG,qBAAqB,CAI3C,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,EAAE;QAChD,oBAAoB,EAAE,IAAI;KAC3B,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,CACvB,IAAY,EACZ,MAAc,EACd,IAAY,EACQ,EAAE,CAAC,CAAC;QACxB,IAAI,EAAE,MAAM;QACZ,IAAI;QACJ,MAAM,EAAE,MAAsC;QAC9C,IAAI;QACJ,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,IAAI;QACX,cAAc,EAAE,IAAI;QACpB,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE,EAAE;KACb,CAAC,CAAC;IAEH,MAAM,eAAe,GAAqC,KAAK,IAAI,EAAE,CACnE,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IAE/C,MAAM,GAAG,GAAG,KAAK,EAAE,GAAoB,EAAE,EAAE;QACzC,IAAI,iBAAiB,EAAE,CAAC;YACtB,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzE,iBAAiB,GAAG,KAAK,CAAC;QAC5B,CAAC;QAED,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACxC,IAAI,GAAQ,CAAC;QACb,IAAI,CAAC;YACH,GAAG,GAAG,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,MAAM,eAAe,CAC1B;gBACE,QAAQ,EAAE,gBAAgB,CAAC,mBAAmB,EAAE,MAAM,EAAE,GAAG,CAAC;gBAC5D,OAAO,EAAE,KAAK,IAAI,EAAE;oBAClB,MAAM,KAAK,CAAC;gBACd,CAAC;aACF,EACD,GAAG,EACH,EAAE,CACH,CAAC;QACJ,CAAC;QAED,IAAI,kBAA2C,CAAC;QAChD,IAAI,aAA0C,CAAC;QAC/C,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,SAAS;YACzD,IAAI,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBACjD,OAAO,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAClC,CAAC;YACD,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,kBAAkB,GAAG,IAAI,GAAG,EAAE,CAAC;YACjC,CAAC;YACD,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACrC,IAAI,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBACjD,IACE,CAAC,aAAa;oBACd,CAAC,aAAa,CAAC,MAAM,KAAK,KAAK;wBAC7B,aAAa,CAAC,QAAQ,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAC9D,CAAC;oBACD,aAAa,GAAG,KAAK,CAAC;gBACxB,CAAC;YACH,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBAC3B,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC/B,IAAI,MAAM,KAAK,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;oBACxC,aAAa,GAAG,KAAK,CAAC;gBACxB,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,MAAM,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC;QAErC,IAAI,kBAAkB,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,CAAC,GAAG,kBAAkB,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExD,OAAO,MAAM,eAAe,CAC1B;gBACE,QAAQ,EAAE,gBAAgB,CAAC,kBAAkB,EAAE,MAAM,EAAE,QAAQ,CAAC;gBAChE,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;oBACpB,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,EAAE,KAAK,EAAE;oBAClB,IAAI,EAAE,uBAAuB,CAAC;wBAC5B,IAAI,EAAE,oBAAoB;wBAC1B,OAAO,EAAE,UAAU,MAAM,uBAAuB,QAAQ,EAAE;qBAC3D,CAAC;iBACH,CAAC;aACH,EACD,GAAG,EACH,EAAE,CACH,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,eAAe,CAC1B;YACE,QAAQ,EAAE,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC;YACxD,OAAO,EAAE,eAAe;SACzB,EACD,GAAG,EACH,EAAE,CACH,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO;QACL,GAAG;QACH,KAAK,EAAE,CAAC,YAAY,EAAE,EAAE;YACtB,MAAM,QAAQ,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;YAC/C,OAAO,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACvC,CAAC;QACD,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACnB,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE;gBACb,MAAM,KAAK,GAAG,YAAY,CACxB,OAAO,EACP,UAAU,EACV,cAAc,EACd,gBAAgB,CAAC,IAAI,CAAC,EACtB,EAAE,EACF,KAAK,EACL,EAAE,EACF,EAAE,QAAQ,EAAE,IAAI,EAAE,CACnB,CAAC;gBACF,mEAAmE;gBACnE,2DAA2D;gBAC3D,4DAA4D;gBAC5D,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACjC,CAAC;SACF,CAAC;QACF,oBAAoB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC;QACxD,oBAAoB;QACpB,iBAAiB;QACjB,SAAS;QACT,IAAI;QACJ,KAAK,EAAE,UAAU;KAClB,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAkB;IAC1C,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,IAAI;QACX,cAAc,EAAE,IAAI;QACpB,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;KAC9B,CAAC;AACJ,CAAC"}
@@ -1,4 +1,8 @@
1
1
  import type { TrustedProxyConfig } from "./trusted-proxy.js";
2
+ export declare class InvalidRequestUrlError extends Error {
3
+ constructor();
4
+ }
5
+ export declare function parseHttpRequestUrl(value: string): URL;
2
6
  export declare function requireTrustedProxyHeaderName(name: string, optionName: string): string;
3
7
  export declare function assertValidTrustedProxyConfig(config: TrustedProxyConfig): void;
4
8
  //# sourceMappingURL=trusted-proxy-internal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"trusted-proxy-internal.d.ts","sourceRoot":"","sources":["../../src/server/trusted-proxy-internal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,GACjB,MAAM,CAaR;AAED,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,kBAAkB,GACzB,IAAI,CAkBN"}
1
+ {"version":3,"file":"trusted-proxy-internal.d.ts","sourceRoot":"","sources":["../../src/server/trusted-proxy-internal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,qBAAa,sBAAuB,SAAQ,KAAK;;CAKhD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAWtD;AAED,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,GACjB,MAAM,CAaR;AAED,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,kBAAkB,GACzB,IAAI,CAkBN"}
@@ -1,3 +1,23 @@
1
+ export class InvalidRequestUrlError extends Error {
2
+ constructor() {
3
+ super("req.url must be an absolute HTTP or HTTPS URL.");
4
+ this.name = "InvalidRequestUrlError";
5
+ }
6
+ }
7
+ export function parseHttpRequestUrl(value) {
8
+ try {
9
+ const url = new URL(value);
10
+ if (url.protocol !== "http:" && url.protocol !== "https:") {
11
+ throw new InvalidRequestUrlError();
12
+ }
13
+ return url;
14
+ }
15
+ catch (error) {
16
+ if (error instanceof InvalidRequestUrlError)
17
+ throw error;
18
+ throw new InvalidRequestUrlError();
19
+ }
20
+ }
1
21
  export function requireTrustedProxyHeaderName(name, optionName) {
2
22
  const header = name.trim();
3
23
  if (!header) {
@@ -1 +1 @@
1
- {"version":3,"file":"trusted-proxy-internal.js","sourceRoot":"","sources":["../../src/server/trusted-proxy-internal.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,6BAA6B,CAC3C,IAAY,EACZ,UAAkB;IAElB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,GAAG,UAAU,mCAAmC,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,CAAC;QACH,IAAI,OAAO,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,GAAG,UAAU,oCAAoC,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,MAA0B;IAE1B,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;QACnE,6BAA6B,CAAC,MAAM,CAAC,UAAU,EAAE,yBAAyB,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,IAAI,MAAM,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;QAC3E,6BAA6B,CAC3B,MAAM,CAAC,cAAc,EACrB,6BAA6B,CAC9B,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACxC,6BAA6B,CAC3B,MAAM,CAAC,QAAQ,CAAC,MAAM,EACtB,8BAA8B,CAC/B,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"trusted-proxy-internal.js","sourceRoot":"","sources":["../../src/server/trusted-proxy-internal.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC/C;QACE,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1D,MAAM,IAAI,sBAAsB,EAAE,CAAC;QACrC,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,sBAAsB;YAAE,MAAM,KAAK,CAAC;QACzD,MAAM,IAAI,sBAAsB,EAAE,CAAC;IACrC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,IAAY,EACZ,UAAkB;IAElB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,GAAG,UAAU,mCAAmC,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,CAAC;QACH,IAAI,OAAO,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,GAAG,UAAU,oCAAoC,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,MAA0B;IAE1B,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;QACnE,6BAA6B,CAAC,MAAM,CAAC,UAAU,EAAE,yBAAyB,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,IAAI,MAAM,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;QAC3E,6BAA6B,CAC3B,MAAM,CAAC,cAAc,EACrB,6BAA6B,CAC9B,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACxC,6BAA6B,CAC3B,MAAM,CAAC,QAAQ,CAAC,MAAM,EACtB,8BAA8B,CAC/B,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"trusted-proxy.d.ts","sourceRoot":"","sources":["../../src/server/trusted-proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAGjD;;;GAGG;AACH,MAAM,MAAM,0BAA0B,GAClC,sBAAsB,GACtB,uBAAuB,GACvB,WAAW,GACX,kBAAkB,GAClB;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAClB,CAAC,CAAC,GAAG,EAAE,eAAe,KAAK,MAAM,GAAG,SAAS,CAAC,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,QAAQ,CAAC,EAAE,0BAA0B,GAAG,KAAK,CAAC;IAC9C;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAChC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,mBAAmB,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC5B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAChC;AA4ED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,0BAA0B,GAAG,KAAK,GAAG,SAAS,GACrD,MAAM,GAAG,SAAS,CA0BpB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,eAAe,EACpB,MAAM,GAAE,kBAAkB,GAAG,SAAiB,GAC7C,kBAAkB,CAsDpB"}
1
+ {"version":3,"file":"trusted-proxy.d.ts","sourceRoot":"","sources":["../../src/server/trusted-proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAMjD;;;GAGG;AACH,MAAM,MAAM,0BAA0B,GAClC,sBAAsB,GACtB,uBAAuB,GACvB,WAAW,GACX,kBAAkB,GAClB;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAClB,CAAC,CAAC,GAAG,EAAE,eAAe,KAAK,MAAM,GAAG,SAAS,CAAC,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,QAAQ,CAAC,EAAE,0BAA0B,GAAG,KAAK,CAAC;IAC9C;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAChC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,mBAAmB,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC5B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAChC;AAwED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,0BAA0B,GAAG,KAAK,GAAG,SAAS,GACrD,MAAM,GAAG,SAAS,CA0BpB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,eAAe,EACpB,MAAM,GAAE,kBAAkB,GAAG,SAAiB,GAC7C,kBAAkB,CAsDpB"}
@@ -1,4 +1,4 @@
1
- import { requireTrustedProxyHeaderName } from "./trusted-proxy-internal.js";
1
+ import { parseHttpRequestUrl, requireTrustedProxyHeaderName, } from "./trusted-proxy-internal.js";
2
2
  const DEFAULT_PROTOCOL_HEADER = "x-forwarded-proto";
3
3
  const DEFAULT_HOST_HEADER = "x-forwarded-host";
4
4
  function splitForwardedHeader(value) {
@@ -47,18 +47,13 @@ function normalizeHost(value, protocol) {
47
47
  }
48
48
  }
49
49
  function baseRequestUrl(req) {
50
- try {
51
- return new URL(req.url);
52
- }
53
- catch {
54
- throw new Error("req.url must be an absolute URL.");
55
- }
50
+ return parseHttpRequestUrl(req.url);
56
51
  }
57
52
  function normalizedBaseProtocol(url) {
58
53
  const protocol = normalizeProtocol(url.protocol);
59
54
  if (protocol)
60
55
  return protocol;
61
- throw new Error("req.url must use http or https.");
56
+ throw new Error("Resolved request URL must use HTTP or HTTPS.");
62
57
  }
63
58
  /**
64
59
  * Resolve a client IP from a configured trusted proxy source.
@@ -1 +1 @@
1
- {"version":3,"file":"trusted-proxy.js","sourceRoot":"","sources":["../../src/server/trusted-proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trusted-proxy.js","sourceRoot":"","sources":["../../src/server/trusted-proxy.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ import { type MemoryNotificationPort } from "../notifications/index.js";
7
7
  import { type MemoryOutboxPort } from "../outbox/index.js";
8
8
  import { type MemoryPaymentsPort } from "../payments/index.js";
9
9
  import { type ActivityActor, type ActivityTenant, type AuditLogPort, type MemoryAuditLogPort } from "../ports/audit.js";
10
+ import type { BestEffortWork, BestEffortWorkPort } from "../ports/best-effort-work.js";
10
11
  import { type CachePort } from "../ports/cache.js";
11
12
  import { type ClockPort } from "../ports/clock.js";
12
13
  import type { EventBusPort, JobDispatcherPort } from "../ports/events.js";
@@ -44,6 +45,10 @@ export interface CommonTestPorts<TxPorts = AnyPorts> {
44
45
  * Recording event bus.
45
46
  */
46
47
  eventBus: EventBusPort;
48
+ /**
49
+ * Recording non-durable best-effort work.
50
+ */
51
+ bestEffortWork: BestEffortWorkPort;
47
52
  /**
48
53
  * In-memory error reporter.
49
54
  */
@@ -126,6 +131,18 @@ export interface TestPortsFixture<Ports extends AnyPorts = CommonTestPorts, TxPo
126
131
  * Recording event bus port.
127
132
  */
128
133
  eventBus: EventBusPort;
134
+ /**
135
+ * Recording best-effort-work port.
136
+ */
137
+ bestEffortWork: BestEffortWorkPort;
138
+ /**
139
+ * Work currently waiting in the recording best-effort-work adapter.
140
+ */
141
+ pendingBestEffortWork: BestEffortWork[];
142
+ /**
143
+ * Run the currently pending best-effort-work batch in FIFO order.
144
+ */
145
+ flushBestEffortWork(): Promise<void>;
129
146
  /**
130
147
  * Recorded events published through `eventBus`.
131
148
  */