@procedures/client 0.41.0 → 0.42.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 (72) hide show
  1. package/CHANGELOG.md +70 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/adapters/http/client/batch.d.ts +98 -0
  4. package/dist/adapters/http/client/batch.d.ts.map +1 -0
  5. package/dist/adapters/http/client/batch.js +414 -0
  6. package/dist/adapters/http/client/batch.js.map +1 -0
  7. package/dist/adapters/http/client/index.d.ts +1 -0
  8. package/dist/adapters/http/client/index.d.ts.map +1 -1
  9. package/dist/adapters/http/client/index.js.map +1 -1
  10. package/dist/adapters/http/client/transport.d.ts +7 -0
  11. package/dist/adapters/http/client/transport.d.ts.map +1 -1
  12. package/dist/adapters/http/client/transport.js +27 -1
  13. package/dist/adapters/http/client/transport.js.map +1 -1
  14. package/dist/adapters/http/client/types.d.ts +9 -0
  15. package/dist/adapters/http/client/types.d.ts.map +1 -1
  16. package/dist/adapters/http/server/addressing.d.ts +5 -0
  17. package/dist/adapters/http/server/addressing.d.ts.map +1 -1
  18. package/dist/adapters/http/server/addressing.js +1 -1
  19. package/dist/adapters/http/server/addressing.js.map +1 -1
  20. package/dist/adapters/http/server/batch.d.ts +105 -0
  21. package/dist/adapters/http/server/batch.d.ts.map +1 -0
  22. package/dist/adapters/http/server/batch.js +172 -0
  23. package/dist/adapters/http/server/batch.js.map +1 -0
  24. package/dist/adapters/http/server/handler.d.ts +8 -0
  25. package/dist/adapters/http/server/handler.d.ts.map +1 -1
  26. package/dist/adapters/http/server/handler.js +103 -16
  27. package/dist/adapters/http/server/handler.js.map +1 -1
  28. package/dist/adapters/http/server/transport.d.ts.map +1 -1
  29. package/dist/adapters/http/server/transport.js +13 -2
  30. package/dist/adapters/http/server/transport.js.map +1 -1
  31. package/dist/adapters/http/server/types.d.ts +7 -0
  32. package/dist/adapters/http/server/types.d.ts.map +1 -1
  33. package/dist/adapters/http/shared/errors.d.ts +7 -0
  34. package/dist/adapters/http/shared/errors.d.ts.map +1 -1
  35. package/dist/adapters/http/shared/errors.js +11 -1
  36. package/dist/adapters/http/shared/errors.js.map +1 -1
  37. package/dist/adapters/http/shared/status-codes.d.ts +19 -3
  38. package/dist/adapters/http/shared/status-codes.d.ts.map +1 -1
  39. package/dist/adapters/http/shared/status-codes.js +27 -10
  40. package/dist/adapters/http/shared/status-codes.js.map +1 -1
  41. package/dist/browser.d.ts +1 -1
  42. package/dist/browser.d.ts.map +1 -1
  43. package/dist/browser.js.map +1 -1
  44. package/dist/client/errors/codes.d.ts +2 -0
  45. package/dist/client/errors/codes.d.ts.map +1 -1
  46. package/dist/client/errors/codes.js +2 -0
  47. package/dist/client/errors/codes.js.map +1 -1
  48. package/dist/client/errors/registry.d.ts.map +1 -1
  49. package/dist/client/errors/registry.js +24 -0
  50. package/dist/client/errors/registry.js.map +1 -1
  51. package/dist/client/index.d.ts +1 -1
  52. package/dist/client/index.d.ts.map +1 -1
  53. package/dist/node.d.ts +1 -0
  54. package/dist/node.d.ts.map +1 -1
  55. package/dist/node.js.map +1 -1
  56. package/package.json +3 -3
  57. package/src/adapters/http/client/batch.ts +463 -0
  58. package/src/adapters/http/client/index.ts +1 -0
  59. package/src/adapters/http/client/transport.ts +31 -1
  60. package/src/adapters/http/client/types.ts +10 -0
  61. package/src/adapters/http/server/addressing.ts +1 -1
  62. package/src/adapters/http/server/batch.ts +237 -0
  63. package/src/adapters/http/server/handler.ts +119 -17
  64. package/src/adapters/http/server/transport.ts +15 -4
  65. package/src/adapters/http/server/types.ts +8 -0
  66. package/src/adapters/http/shared/errors.ts +11 -1
  67. package/src/adapters/http/shared/status-codes.ts +27 -12
  68. package/src/browser.ts +1 -0
  69. package/src/client/errors/codes.ts +2 -0
  70. package/src/client/errors/registry.ts +26 -0
  71. package/src/client/index.ts +1 -1
  72. package/src/node.ts +2 -0
@@ -28,6 +28,7 @@ import { NDJSON_MEDIA_TYPE as NDJSON, defaultNdjsonError as errorOf, keepAliveMs
28
28
  import { applyCors, corsOrigins, corsPolicy } from "./cors.js";
29
29
  import { urlAddressing } from "./addressing.js";
30
30
  import { BodyError, readJsonBody } from "./body.js";
31
+ import { BATCH_HEADER, batchFrames, batchOptionsOf, isBatchRequest, parseBatch } from "./batch.js";
31
32
  import { NARROWING_METADATA_KEY, addNarrowing } from "../../../procedures/narrowing.js";
32
33
  import { retryAfterSeconds } from "@mark1russell7/service/limiter";
33
34
  /** The metadata keys that the transport sets: a query parameter or a header cannot replace them. */
@@ -55,6 +56,24 @@ const STANDARD_HEADERS = new Set([
55
56
  "x-metadata",
56
57
  ]);
57
58
  /** The known custom headers whose metadata key is not the header name (lower case to camel case). */
59
+ /**
60
+ * The headers that a call of a batch cannot give (CLI-32): the headers of the connection, of the
61
+ * body, of the browser and of the protocol stay the headers of the HTTP request.
62
+ */
63
+ const REQUEST_ONLY_HEADERS = new Set([
64
+ "host",
65
+ "connection",
66
+ "content-length",
67
+ "content-type",
68
+ "transfer-encoding",
69
+ "accept",
70
+ "accept-encoding",
71
+ "origin",
72
+ "referer",
73
+ "x-metadata",
74
+ "procedures-protocol",
75
+ "procedures-batch",
76
+ ]);
58
77
  const HEADER_MAPPINGS = { collectionname: "collectionName" };
59
78
  /** This function sets a key as an own property, also the key `__proto__` (the `put` of the query language). */
60
79
  function put(target, key, value) {
@@ -142,6 +161,7 @@ export function createProcedureHandler(server, options, compat = {}) {
142
161
  assertNamedOrigins(compat.face?.name ?? "procedureHandler", ambientMode, guard.allowedOrigins, compat.face?.originOption ?? "cors.origin");
143
162
  const secretHeaders = headerNames(options.secretHeaders);
144
163
  const secretQuery = new Set(options.secretQuery ?? (legacy ? [] : ["token"]));
164
+ const batch = batchOptionsOf(options.batch);
145
165
  // The addressing of a request (CLI-31): the option, or the URL strategy of the shim, or the URL
146
166
  // format of HttpTransport
147
167
  const compatMethodOf = compat.methodOf;
@@ -167,7 +187,14 @@ export function createProcedureHandler(server, options, compat = {}) {
167
187
  if (compat.matchAll === true)
168
188
  return true;
169
189
  const path = pathOf(req);
170
- return path.startsWith(prefix) || (addressing.takesBasePath === true && path === bareBase);
190
+ return path.startsWith(prefix) || (path === bareBase && (addressing.takesBasePath === true || (batch !== undefined && isBatchRequest(req))));
191
+ };
192
+ /** True when the request is a batch at the base path (CLI-32). */
193
+ const isBatch = (req) => {
194
+ if (batch === undefined || !isBatchRequest(req))
195
+ return false;
196
+ const path = pathOf(req);
197
+ return compat.matchAll === true || path === bareBase || path === prefix;
171
198
  };
172
199
  /** The error body of wire v1: the message, the code, the retryable flag and the more fields. */
173
200
  const sendError = (res, status, message, code, retryable = false, more = {}) => {
@@ -188,8 +215,33 @@ export function createProcedureHandler(server, options, compat = {}) {
188
215
  const address = addressing(view, body, req);
189
216
  if (!address)
190
217
  return null;
191
- const method = address.method;
192
218
  const id = req.headers["x-request-id"] ?? `req-${Date.now()}-${Math.random()}`;
219
+ const narrowing = req.headersDistinct?.[NARROWING_METADATA_KEY] ?? req.headers[NARROWING_METADATA_KEY];
220
+ return requestOf(req, { id, method: address.method, payload: address.payload, headers: req.headers, narrowing: [narrowing].flat(), custom: customOf(req.headers) });
221
+ };
222
+ /**
223
+ * The custom metadata of the `X-Metadata` header (deep dive TRN-11): any JSON value, any key.
224
+ * A header above the limit or a header that is not URI-encoded JSON throws a `BodyError`.
225
+ */
226
+ const customOf = (headers) => {
227
+ const encoded = headers["x-metadata"];
228
+ if (typeof encoded !== "string")
229
+ return [];
230
+ if (encoded.length > METADATA_HEADER_LIMIT) {
231
+ throw new BodyError(`The X-Metadata header is longer than ${METADATA_HEADER_LIMIT} characters`, 431);
232
+ }
233
+ const custom = decodeMetadataHeader(encoded);
234
+ if (!custom)
235
+ throw new BodyError("The X-Metadata header is not URI-encoded JSON of an object", 400);
236
+ return [custom];
237
+ };
238
+ /**
239
+ * The `ServerRequest` of one call. A request of one call gives the headers of the HTTP request.
240
+ * A call of a batch gives the headers of the HTTP request with the headers of the call over
241
+ * them (CLI-32). The credentials always come from the HTTP request.
242
+ */
243
+ const requestOf = (req, call) => {
244
+ const { id, method, headers } = call;
193
245
  // The query without its secret parameters: they go into the credentials (CLI-2a)
194
246
  // An own property for each key, also `__proto__`: a key of the request changes no prototype
195
247
  const query = {};
@@ -201,7 +253,7 @@ export function createProcedureHandler(server, options, compat = {}) {
201
253
  // query or params. The secret headers go into the credentials, not into the metadata, so a
202
254
  // handler and a nested call do not see them (roadmap R18)
203
255
  const metadata = {
204
- headers: withoutSecretHeaders(req.headers, secretHeaders),
256
+ headers: withoutSecretHeaders(headers, secretHeaders),
205
257
  query,
206
258
  params,
207
259
  };
@@ -211,7 +263,7 @@ export function createProcedureHandler(server, options, compat = {}) {
211
263
  }
212
264
  // The custom headers at the root of the metadata, as the client's metadataToHeaders() sends
213
265
  // them. A secret header (Cookie too) does not go there.
214
- for (const [key, value] of Object.entries(req.headers)) {
266
+ for (const [key, value] of Object.entries(headers)) {
215
267
  const lower = key.toLowerCase();
216
268
  if (STANDARD_HEADERS.has(lower) || isSecretHeader(lower, secretHeaders) || typeof value !== "string" || lower === NARROWING_METADATA_KEY)
217
269
  continue;
@@ -221,19 +273,11 @@ export function createProcedureHandler(server, options, compat = {}) {
221
273
  }
222
274
  // Each value of the narrowing header is one source, also each line of a repeated header. No
223
275
  // source replaces another: a gateway's header and the client's key of X-Metadata both apply (CLI-30)
224
- const narrowingHeader = req.headersDistinct?.[NARROWING_METADATA_KEY] ?? req.headers[NARROWING_METADATA_KEY];
225
- for (const value of [narrowingHeader].flat())
276
+ for (const value of call.narrowing)
226
277
  if (typeof value === "string")
227
278
  setMetadata(metadata, NARROWING_METADATA_KEY, value);
228
279
  // The custom metadata of the HTTP client: any JSON value, any key (deep dive TRN-11)
229
- const encoded = req.headers["x-metadata"];
230
- if (typeof encoded === "string") {
231
- if (encoded.length > METADATA_HEADER_LIMIT) {
232
- throw new BodyError(`The X-Metadata header is longer than ${METADATA_HEADER_LIMIT} characters`, 431);
233
- }
234
- const custom = decodeMetadataHeader(encoded);
235
- if (!custom)
236
- throw new BodyError("The X-Metadata header is not URI-encoded JSON of an object", 400);
280
+ for (const custom of call.custom) {
237
281
  for (const [key, value] of Object.entries(custom)) {
238
282
  if (!RESERVED_METADATA.has(key) && key !== "auth" && !key.startsWith("__"))
239
283
  setMetadata(metadata, key, value);
@@ -241,7 +285,7 @@ export function createProcedureHandler(server, options, compat = {}) {
241
285
  }
242
286
  // The payload of the addressing (the body, or the id of a RESTful GET). Only an absent payload
243
287
  // becomes {}: 0, false, "" and null stay (deep dive TRN-10)
244
- const payload = address.payload === undefined ? {} : address.payload;
288
+ const payload = call.payload === undefined ? {} : call.payload;
245
289
  return {
246
290
  id,
247
291
  method,
@@ -254,6 +298,34 @@ export function createProcedureHandler(server, options, compat = {}) {
254
298
  credentials: requestCredentials({ headers: req.headers, url: req.url, socket: req.socket }),
255
299
  };
256
300
  };
301
+ /**
302
+ * The runs of a batch (CLI-32). A bad body or a bad `X-Metadata` header throws a `BodyError`, and
303
+ * then no call runs. A header of a call cannot be a secret header, a header of the connection or
304
+ * a header of the body: the credentials and the body are the parts of the HTTP request.
305
+ */
306
+ const batchRuns = (req, body, signal) => {
307
+ const calls = parseBatch(body, batch.maxCalls);
308
+ const outerCustom = customOf(req.headers);
309
+ const outerNarrowing = [req.headersDistinct?.[NARROWING_METADATA_KEY] ?? req.headers[NARROWING_METADATA_KEY]].flat();
310
+ const batchId = req.headers["x-request-id"] ?? `batch-${Date.now()}-${Math.random()}`;
311
+ return calls.map((call) => {
312
+ const headers = {};
313
+ for (const [key, value] of Object.entries(req.headers))
314
+ put(headers, key, value);
315
+ const narrowing = [...outerNarrowing];
316
+ for (const [key, value] of Object.entries(call.headers)) {
317
+ const lower = key.toLowerCase();
318
+ if (lower === NARROWING_METADATA_KEY)
319
+ narrowing.push(value);
320
+ else if (!REQUEST_ONLY_HEADERS.has(lower) && !lower.startsWith("sec-") && !isSecretHeader(lower, secretHeaders))
321
+ put(headers, lower, value);
322
+ }
323
+ const custom = call.metadata ? [...outerCustom, call.metadata] : outerCustom;
324
+ const request = requestOf(req, { id: `${batchId}:${call.id}`, method: call.method, payload: call.input, headers, narrowing, custom });
325
+ request.signal = signal;
326
+ return { call: call.id, request };
327
+ });
328
+ };
257
329
  /** This function converts a `ServerResponse` to the HTTP response. */
258
330
  const toHttp = (serverResponse, res) => {
259
331
  const { status, payload, metadata } = serverResponse;
@@ -364,6 +436,10 @@ export function createProcedureHandler(server, options, compat = {}) {
364
436
  return;
365
437
  // The protocol version of this server, on each response (roadmap R25)
366
438
  res.setHeader(PROTOCOL_HEADER, String(PROTOCOL_VERSION));
439
+ // A server that takes batches says so on each answer to a batch, also on an error. A client
440
+ // sends the calls of a batch alone after an answer without it (CLI-32).
441
+ if (isBatch(req))
442
+ res.setHeader(BATCH_HEADER, "1");
367
443
  const version = protocolVersionOf(req.headers[PROTOCOL_HEADER.toLowerCase()]);
368
444
  if (version !== undefined && version > PROTOCOL_VERSION) {
369
445
  sendJson(res, 400, {
@@ -405,8 +481,13 @@ export function createProcedureHandler(server, options, compat = {}) {
405
481
  });
406
482
  let serverRequest = null;
407
483
  try {
484
+ let runs;
408
485
  try {
409
- serverRequest = toServerRequest(req, await readBody(req));
486
+ const body = await readBody(req);
487
+ if (isBatch(req))
488
+ runs = batchRuns(req, body, controller.signal);
489
+ else
490
+ serverRequest = toServerRequest(req, body);
410
491
  }
411
492
  catch (error) {
412
493
  const status = error instanceof BodyError ? error.httpStatus : 400;
@@ -414,6 +495,12 @@ export function createProcedureHandler(server, options, compat = {}) {
414
495
  sendError(res, status, error.message, status === 413 ? "PAYLOAD_TOO_LARGE" : "INVALID_REQUEST");
415
496
  return;
416
497
  }
498
+ if (runs) {
499
+ // One NDJSON stream for the calls of the batch: the lines, the backpressure and the
500
+ // keep-alive of a stream of one call (CLI-32)
501
+ await writeNdjsonStream(res, batchFrames(server, runs, batch.concurrency, errorOf), { signal: controller.signal, keepAlive, errorOf, clock });
502
+ return;
503
+ }
417
504
  if (!serverRequest) {
418
505
  sendError(res, 400, "Invalid request: could not parse RPC method from URL", "INVALID_REQUEST");
419
506
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../src/adapters/http/server/handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../src/adapters/http/server/handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,gBAAgB,EAA4B,MAAM,kCAAkC,CAAC;AACvI,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAC/I,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC1G,OAAO,EAAE,SAAS,EAA2B,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,EAAE,EAAiB,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,iBAAiB,IAAI,MAAM,EAAE,kBAAkB,IAAI,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC3H,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAqC,MAAM,WAAW,CAAC;AAClG,OAAO,EAAE,aAAa,EAAmB,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAA2C,MAAM,YAAY,CAAC;AAC5I,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AA+InE,oGAAoG;AACpG,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AAElE,6FAA6F;AAC7F,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,MAAM;IACN,YAAY;IACZ,gBAAgB;IAChB,cAAc;IACd,YAAY;IACZ,QAAQ;IACR,iBAAiB;IACjB,iBAAiB;IACjB,eAAe;IACf,QAAQ;IACR,SAAS;IACT,cAAc;IACd,YAAY;IACZ,WAAW;IACX,kBAAkB;IAClB,WAAW;IACX,WAAW;IACX,eAAe;IACf,YAAY;CACb,CAAC,CAAC;AAEH,qGAAqG;AACrG;;;GAGG;AACH,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IACnC,MAAM;IACN,YAAY;IACZ,gBAAgB;IAChB,cAAc;IACd,mBAAmB;IACnB,QAAQ;IACR,iBAAiB;IACjB,QAAQ;IACR,SAAS;IACT,YAAY;IACZ,qBAAqB;IACrB,kBAAkB;CACnB,CAAC,CAAC;AAEH,MAAM,eAAe,GAA0B,EAAE,cAAc,EAAE,gBAAgB,EAAE,CAAC;AAEpF,+GAA+G;AAC/G,SAAS,GAAG,CAAC,MAA+B,EAAE,GAAW,EAAE,KAAc;IACvE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;AACtG,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,QAAkB,EAAE,GAAW,EAAE,KAAc;IAClE,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,sBAAsB,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC9F,CAAC;AAED,gEAAgE;AAChE,SAAS,SAAS,CAAC,GAAiB,EAAE,MAAc,EAAE,IAAa;IACjE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAClC,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC;IACxB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,iCAAiC,CAAC,CAAC;IACjE,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,2FAA2F;AAC3F,SAAS,MAAM,CAAC,GAAoB;IAClC,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;AAChC,CAAC;AAED,2FAA2F;AAC3F,SAAS,OAAO,CAAC,GAAoB;IACnC,MAAM,MAAM,GAAI,GAA2B,CAAC,KAAK,CAAC;IAClD,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAiC,CAAC;IAC5F,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,IAAI,GAAG,EAA6B,CAAC;IACjD,KAAK,MAAM,GAAG,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AACjC,CAAC;AAED,uFAAuF;AACvF,SAAS,QAAQ,CAAC,GAAoB;IACpC,MAAM,MAAM,GAAI,GAA4B,CAAC,MAAM,CAAC;IACpD,OAAO,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAE,MAAiC,CAAC,CAAC,CAAC,EAAE,CAAC;AACjG,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAsB,EAAE,OAAO,GAA4B,EAAE;IAC5F,OAAO,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACjD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAsB,EAAE,OAAgC,EAAE,MAAM,GAAkB,EAAE;IACzH,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC;IACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC;IAC5C,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,CAAC;IAClE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,GAAG,IAAI,CAAC;IACnD,qEAAqE;IACrE,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,SAAS,GAAqB,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC;IACzC,MAAM,WAAW,GAA4B,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IAC5H,uGAAuG;IACvG,6GAA6G;IAC7G,MAAM,IAAI,GACR,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;IACzJ,MAAM,KAAK,GAAwB;QACjC,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,WAAW,CAAC,WAAW,CAAC;QAClE,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC;IACF,qFAAqF;IACrF,MAAM,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC;IAC9C,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,kBAAkB,EAAE,WAAW,EAAE,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,EAAE,YAAY,IAAI,aAAa,CAAC,CAAC;IAC3I,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9E,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5C,gGAAgG;IAChG,0BAA0B;IAC1B,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC;IACvC,MAAM,UAAU,GACd,OAAO,CAAC,UAAU;QAClB,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACxI,mEAAmE;IACnE,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,SAAS,CAAC;IAE9C,0FAA0F;IAC1F,MAAM,YAAY,GAAG,IAAI,GAAG,EAAmB,CAAC;IAChD,wFAAwF;IACxF,IAAI,WAAW,GAAsB,EAAE,CAAC;IACxC,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,MAAM,YAAY,GAAG,CAAC,UAA2B,EAAQ,EAAE;QACzD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC;YAAE,OAAO;QACtE,MAAM,OAAO,GAAG,WAAW,CAAC;QAC5B,WAAW,GAAG,EAAE,CAAC;QACjB,KAAK,MAAM,MAAM,IAAI,OAAO;YAAE,MAAM,EAAE,CAAC;IACzC,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,GAAoB,EAAW,EAAE;QAChD,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,UAAU,CAAC,aAAa,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/I,CAAC,CAAC;IAEF,kEAAkE;IAClE,MAAM,OAAO,GAAG,CAAC,GAAoB,EAAW,EAAE;QAChD,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAC9D,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACzB,OAAO,MAAM,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,MAAM,CAAC;IAC1E,CAAC,CAAC;IAEF,gGAAgG;IAChG,MAAM,SAAS,GAAG,CAAC,GAAiB,EAAE,MAAc,EAAE,OAAe,EAAE,IAAY,EAAE,SAAS,GAAG,KAAK,EAAE,IAAI,GAA4B,EAAE,EAAQ,EAAE;QAClJ,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC,CAAC;IAEF;;;OAGG;IACH,MAAM,QAAQ,GAAG,CAAC,GAAoB,EAAoB,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAE1F;;;OAGG;IACH,MAAM,eAAe,GAAG,CAAC,GAAoB,EAAE,IAAa,EAAwB,EAAE;QACpF,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACpD,MAAM,IAAI,GAAe,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxJ,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAC1B,MAAM,EAAE,GAAI,GAAG,CAAC,OAAO,CAAC,cAAc,CAAwB,IAAI,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QACvG,MAAM,SAAS,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC,sBAAsB,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QACvG,OAAO,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACtK,CAAC,CAAC;IAEF;;;OAGG;IACH,MAAM,QAAQ,GAAG,CAAC,OAA4B,EAA6B,EAAE;QAC3E,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QACtC,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QAC3C,IAAI,OAAO,CAAC,MAAM,GAAG,qBAAqB,EAAE,CAAC;YAC3C,MAAM,IAAI,SAAS,CAAC,wCAAwC,qBAAqB,aAAa,EAAE,GAAG,CAAC,CAAC;QACvG,CAAC;QACD,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,SAAS,CAAC,4DAA4D,EAAE,GAAG,CAAC,CAAC;QACpG,OAAO,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF;;;;OAIG;IACH,MAAM,SAAS,GAAG,CAChB,GAAoB,EACpB,IASC,EACc,EAAE;QACjB,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAErC,iFAAiF;QACjF,4FAA4F;QAC5F,MAAM,KAAK,GAA4B,EAAE,CAAC;QAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAC3G,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAE7B,6FAA6F;QAC7F,2FAA2F;QAC3F,0DAA0D;QAC1D,MAAM,QAAQ,GAAa;YACzB,OAAO,EAAE,oBAAoB,CAAC,OAAkC,EAAE,aAAa,CAAC;YAChF,KAAK;YACL,MAAM;SACP,CAAC;QACF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9F,CAAC;QAED,4FAA4F;QAC5F,wDAAwD;QACxD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACnD,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;YAChC,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,sBAAsB;gBAAE,SAAS;YACnJ,MAAM,aAAa,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC;YACpD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC;QAChH,CAAC;QACD,4FAA4F;QAC5F,qGAAqG;QACrG,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS;YAAE,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,WAAW,CAAC,QAAQ,EAAE,sBAAsB,EAAE,KAAK,CAAC,CAAC;QAExH,qFAAqF;QACrF,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;oBAAE,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAChH,CAAC;QACH,CAAC;QAED,+FAA+F;QAC/F,4DAA4D;QAC5D,MAAM,OAAO,GAAY,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QAExE,OAAO;YACL,EAAE;YACF,MAAM;YACN,OAAO;YACP,QAAQ;YACR,uEAAuE;YACvE,SAAS,EAAE,MAAM;YACjB,4FAA4F;YAC5F,4EAA4E;YAC5E,WAAW,EAAE,kBAAkB,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAkC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;SACvH,CAAC;IACJ,CAAC,CAAC;IAEF;;;;OAIG;IACH,MAAM,SAAS,GAAG,CAAC,GAAoB,EAAE,IAAa,EAAE,MAAmB,EAAc,EAAE;QACzF,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,KAAM,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,cAAc,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,sBAAsB,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACrH,MAAM,OAAO,GAAI,GAAG,CAAC,OAAO,CAAC,cAAc,CAAwB,IAAI,SAAS,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QAC9G,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACxB,MAAM,OAAO,GAAwB,EAAE,CAAC;YACxC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;gBAAE,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YACjF,MAAM,SAAS,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC;YACtC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxD,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;gBAChC,IAAI,KAAK,KAAK,sBAAsB;oBAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;qBACvD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,aAAa,CAAC;oBAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAC9I,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAC7E,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,IAAI,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;YACtI,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;YACxB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,sEAAsE;IACtE,MAAM,MAAM,GAAG,CAAC,cAA8B,EAAE,GAAiB,EAAQ,EAAE;QACzE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC;QAErD,sFAAsF;QACtF,6CAA6C;QAC7C,IAAI,cAAsB,CAAC;QAC3B,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,IAAK,cAA0D,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;YACjI,cAAc,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACrE,CAAC;aAAM,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3C,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,cAAc,GAAG,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACzD,CAAC;QACD,4FAA4F;QAC5F,8FAA8F;QAC9F,6CAA6C;QAC7C,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,cAAc,KAAK,GAAG,IAAI,MAAM,CAAC,SAAS,KAAK,KAAK;YAAE,cAAc,GAAG,GAAG,CAAC;QAE1G,IAAI,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACxB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAAE,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,KAAe,CAAC,CAAC;QACtG,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,iDAAiD;YACjD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;gBACrB,GAAG,CAAC,GAAG,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;YACD,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;QACD,+FAA+F;QAC/F,kGAAkG;QAClG,6EAA6E;QAC7E,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC7C,MAAM,aAAa,GAAG,OAAO,YAAY,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,YAAY,IAAI,CAAC,CAAC;QAC7G,IAAI,aAAa;YAAE,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAChH,qEAAqE;QACrE,MAAM,MAAM,GAAG,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACvF,iEAAiE;QACjE,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3F,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE;YAC5B,KAAK,EAAE,MAAM,CAAC,OAAO;YACrB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1C,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD,CAAC,CAAC;IACL,CAAC,CAAC;IAEF;;;;OAIG;IACH,MAAM,YAAY,GAAG,KAAK,EAAE,QAAwB,EAAE,MAA8B,EAAE,GAAoB,EAAE,GAAiB,EAAE,MAAmB,EAAiB,EAAE;QACnK,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAEjE,IAAI,CAAC,MAAM,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3C,KAAK,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACvF,MAAM,OAAO,GAAG,4EAA4E,MAAM,sBAAsB,CAAC;YACzH,MAAM,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;YAC7H,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,IAAoC,CAAC;YACzC,4FAA4F;YAC5F,4EAA4E;YAC5E,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,CAAC;gBACH,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;oBAChC,KAAK,EAAE,CAAC;oBACR,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;gBACzB,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;gBACpG,OAAO;YACT,CAAC;YACD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,8BAA8B,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;gBACxJ,OAAO;YACT,CAAC;YACD,MAAM,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC;YAC5G,OAAO;QACT,CAAC;QAED,0FAA0F;QAC1F,MAAM,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9E,CAAC,CAAC;IAEF;;;OAGG;IACH,MAAM,cAAc,GAAG,CAAC,GAAiB,EAAE,KAAc,EAAE,OAAkC,EAAE,OAAe,EAAQ,EAAE;QACtH,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/G,uFAAuF;QACvF,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC;QAClC,MAAM,QAAQ,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/G,MAAM,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,SAAS,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,KAAK,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC;IAC1K,CAAC,CAAC;IAEF,4DAA4D;IAC5D,MAAM,KAAK,GAAG,KAAK,EAAE,GAAoB,EAAE,GAAiB,EAAiB,EAAE;QAC7E,IAAI,IAAI,IAAI,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC;YAAE,OAAO;QAC9C,sEAAsE;QACtE,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACzD,4FAA4F;QAC5F,wEAAwE;QACxE,IAAI,OAAO,CAAC,GAAG,CAAC;YAAE,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC9E,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,GAAG,gBAAgB,EAAE,CAAC;YACxD,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;gBACjB,KAAK,EAAE,mCAAmC,gBAAgB,0BAA0B,OAAO,EAAE;gBAC7F,IAAI,EAAE,kBAAkB;gBACxB,SAAS,EAAE,KAAK;gBAChB,QAAQ,EAAE,gBAAgB;aAC3B,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,kGAAkG;QAClG,IAAI,OAAO,EAAE,CAAC;YACZ,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,wBAAwB,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;YACnE,OAAO;QACT,CAAC;QACD,0FAA0F;QAC1F,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACxC,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YACrB,GAAG,CAAC,GAAG,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QACD,+EAA+E;QAC/E,gGAAgG;QAChG,6CAA6C;QAC7C,MAAM,OAAO,GAAG,gBAAgB,CAAC,WAAW,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;QACpE,mEAAmE;QACnE,MAAM,KAAK,GAAG,mBAAmB,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7D,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;YACd,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YACzF,OAAO;QACT,CAAC;QACD,mGAAmG;QACnG,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC7B,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACnB,IAAI,CAAC,GAAG,CAAC,gBAAgB;gBAAE,UAAU,CAAC,KAAK,EAAE,CAAC;YAC9C,YAAY,CAAC,UAAU,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,IAAI,aAAa,GAAyB,IAAI,CAAC;QAC/C,IAAI,CAAC;YACH,IAAI,IAA4B,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACjC,IAAI,OAAO,CAAC,GAAG,CAAC;oBAAE,IAAI,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;;oBAC5D,aAAa,GAAG,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,MAAM,GAAG,KAAK,YAAY,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;gBACnE,kGAAkG;gBAClG,SAAS,CAAC,GAAG,EAAE,MAAM,EAAG,KAAe,CAAC,OAAO,EAAE,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;gBAC3G,OAAO;YACT,CAAC;YACD,IAAI,IAAI,EAAE,CAAC;gBACT,oFAAoF;gBACpF,8CAA8C;gBAC9C,MAAM,iBAAiB,CAAC,GAAG,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,KAAM,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC/I,OAAO;YACT,CAAC;YACD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,sDAAsD,EAAE,iBAAiB,CAAC,CAAC;gBAC/F,OAAO;YACT,CAAC;YACD,aAAa,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;YAEzC,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAC1D,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC1B,MAAM,YAAY,CAAC,cAAc,EAAE,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;gBACvF,OAAO;YACT,CAAC;YACD,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,WAAW;gBAAE,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,aAAa,IAAI,SAAS,EAAG,KAAe,CAAC,OAAO,IAAI,uBAAuB,CAAC,CAAC;QACpI,CAAC;gBAAS,CAAC;YACT,qFAAqF;YACrF,IAAI,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,SAAS;gBAAE,YAAY,CAAC,UAAU,CAAC,CAAC;QACnE,CAAC;IACH,CAAC,CAAC;IAEF,gGAAgG;IAChG,MAAM,MAAM,GAAG,CAAC,GAAoB,EAAE,GAAiB,EAAiB,EAAE,CACxE,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QACvC,IAAI,CAAC,GAAG,CAAC,WAAW;YAAE,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;aAC/G,IAAI,CAAC,GAAG,CAAC,aAAa;YAAE,GAAG,CAAC,OAAO,EAAE,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEL,MAAM,OAAO,GAAG,CAAC,CAAC,GAAoB,EAAE,GAAiB,EAAW,EAAE;QACpE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAChC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC,CAAyB,CAAC;IAE3B,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;QAC5B,QAAQ;QACR,KAAK,CAAC,MAAM,CAAC,GAAoB,EAAE,GAAiB;YAClD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;YAChC,MAAM,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO;QACP,UAAU,CAAC,GAAoB,EAAE,GAAiB,EAAE,IAA+B;YACjF,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;gBAAE,IAAI,EAAE,CAAC;QACjC,CAAC;QACD,KAAK;YACH,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;QACD,UAAU;YACR,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,KAAK,CAAC,QAAgB,EAAE,MAAoB;YAC1C,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,IAAI,MAAM,EAAE,OAAO;gBAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;YACzE,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBACnC,IAAI,KAAyB,CAAC;gBAC9B,MAAM,IAAI,GAAG,GAAS,EAAE;oBACtB,KAAK,EAAE,EAAE,CAAC;oBACV,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;oBAC3C,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBACxC,IAAI,KAAK,IAAI,CAAC;wBAAE,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBAC7C,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC;gBACF,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvB,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBACxD,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;gBAC/D,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;YAClB,CAAC,CAAC,CAAC;QACL,CAAC;QACD,QAAQ;YACN,OAAO,YAAY,CAAC,IAAI,CAAC;QAC3B,CAAC;QACD,KAAK;YACH,KAAK,MAAM,UAAU,IAAI,CAAC,GAAG,YAAY,CAAC;gBAAE,UAAU,CAAC,KAAK,EAAE,CAAC;YAC/D,YAAY,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,OAAO,GAAG,WAAW,CAAC;YAC5B,WAAW,GAAG,EAAE,CAAC;YACjB,KAAK,MAAM,MAAM,IAAI,OAAO;gBAAE,MAAM,EAAE,CAAC;QACzC,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../../src/adapters/http/server/transport.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAK7D;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,GAAG,MAAM,CAK9E;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,mBAAoB,YAAW,eAAe;IACzD,QAAQ,CAAC,IAAI,UAAU;IAEvB,OAAO,CAAC,GAAG,CAAU;IACrB,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,OAAO,CAA8H;IAC7I,uEAAuE;IACvE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,uDAAuD;IACvD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAyB;IAC9C,OAAO,CAAC,OAAO,CAAS;IAExB,YAAY,MAAM,EAAE,cAAc,EAAE,OAAO,GAAE,0BAA+B,EAwD3E;IAED;;OAEG;IACH,OAAO,CAAC,WAAW;IAoBb,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CA4B3B;IAED;;;;;OAKG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAqB1B;IAED,SAAS,IAAI,OAAO,CAEnB;IAED;;;;OAIG;IACH,IAAI,IAAI,MAAM,GAAG,SAAS,CAGzB;CACF"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../../src/adapters/http/server/transport.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAM7D;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,GAAG,MAAM,CAK9E;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,mBAAoB,YAAW,eAAe;IACzD,QAAQ,CAAC,IAAI,UAAU;IAEvB,OAAO,CAAC,GAAG,CAAU;IACrB,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,OAAO,CAA8I;IAC7J,uEAAuE;IACvE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,uDAAuD;IACvD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAyB;IAC9C,OAAO,CAAC,OAAO,CAAS;IAExB,YAAY,MAAM,EAAE,cAAc,EAAE,OAAO,GAAE,0BAA+B,EA2D3E;IAED;;OAEG;IACH,OAAO,CAAC,WAAW;IA2Bb,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CA4B3B;IAED;;;;;OAKG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAqB1B;IAED,SAAS,IAAI,OAAO,CAEnB;IAED;;;;OAIG;IACH,IAAI,IAAI,MAAM,GAAG,SAAS,CAGzB;CACF"}
@@ -11,6 +11,7 @@ import { createServer } from "http";
11
11
  import { createPatternServerUrlStrategy } from "./strategies.js";
12
12
  import { applyCors, corsOrigins, corsPolicy } from "./cors.js";
13
13
  import { createProcedureHandler } from "./handler.js";
14
+ import { isBatchRequest } from "./batch.js";
14
15
  /**
15
16
  * This function gives the route of the procedure handler: each path under the base path. With
16
17
  * `takesBasePath`, the route also matches the base path itself. Each character of the base path
@@ -62,6 +63,8 @@ export class HttpServerTransport {
62
63
  httpServer: options.httpServer,
63
64
  // A single endpoint with the path in the body is the base path itself (CLI-31)
64
65
  takesBasePath: options.addressing?.takesBasePath === true,
66
+ // A batch of calls goes to the base path itself too (CLI-32)
67
+ batch: options.batch !== false,
65
68
  };
66
69
  // Route by URL path so the raw server matches the HTTP client's default URL format instead of
67
70
  // inferring the operation from the verb (BUGS-2026-07 C3, bug 16)
@@ -81,6 +84,7 @@ export class HttpServerTransport {
81
84
  secretHeaders: options.secretHeaders,
82
85
  secretQuery: options.secretQuery,
83
86
  addressing: options.addressing,
87
+ batch: options.batch,
84
88
  }, {
85
89
  legacy: true,
86
90
  matchAll: true,
@@ -115,8 +119,15 @@ export class HttpServerTransport {
115
119
  });
116
120
  }
117
121
  // Catch-all route for RPC - use regex to match any path under basePath, and the base path
118
- // itself for an addressing that takes it
119
- this.app.all(basePathRoute(this.options.basePath, this.options.takesBasePath), async (req, res) => {
122
+ // itself for an addressing that takes it. A batch also goes to the base path itself; another
123
+ // request there goes on to the app (CLI-32).
124
+ const { basePath, takesBasePath, batch } = this.options;
125
+ const bareBase = basePath.replace(/\/$/, "");
126
+ this.app.all(basePathRoute(basePath, takesBasePath || batch), async (req, res, next) => {
127
+ if (!takesBasePath && req.path.replace(/\/$/, "") === bareBase && !isBatchRequest(req)) {
128
+ next();
129
+ return;
130
+ }
120
131
  await this.handler.handle(req, res);
121
132
  });
122
133
  }
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../../src/adapters/http/server/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../../src/adapters/http/server/transport.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ import type { BrowserGuardOptions } from "../../../server/browser-guard.js";
10
10
  import type { Clock } from "../../../clock.js";
11
11
  import type { Duration } from "../../../duration.js";
12
12
  import type { Addressing } from "./addressing.js";
13
+ import type { HandlerBatchOptions } from "./batch.js";
13
14
  import type { UrlStrategyRequest } from "./strategies.js";
14
15
  /**
15
16
  * The URL strategy of `HttpServerTransport`: it gives the method of a request, or null when the URL
@@ -53,6 +54,12 @@ export interface HttpServerTransportOptions extends BrowserGuardOptions {
53
54
  * the route takes the base path itself too.
54
55
  */
55
56
  addressing?: Addressing;
57
+ /**
58
+ * The batches of calls (CLI-32): `POST {base}` with the header `Procedures-Batch: 1` runs many
59
+ * calls and answers with one NDJSON stream. `false` turns batches off.
60
+ * @default true: `{ maxCalls: 64, concurrency: 8 }`
61
+ */
62
+ batch?: boolean | HandlerBatchOptions;
56
63
  /**
57
64
  * Base path for RPC endpoints.
58
65
  * @default "/api"
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/adapters/http/server/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,kBAAkB,KAAK,MAAM,GAAG,IAAI,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,mBAAmB;IACrE;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,WAAW,CAAC,EAAE,eAAe,CAAC;IAE9B;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IAE7B;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd;;;;OAIG;IACH,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAElC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAEhC;;;;;OAKG;IACH,WAAW,CAAC,EAAE;QACZ,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAC3B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;QAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,CAAC;CACH"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/adapters/http/server/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,kBAAkB,KAAK,MAAM,GAAG,IAAI,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,mBAAmB;IACrE;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,WAAW,CAAC,EAAE,eAAe,CAAC;IAE9B;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,mBAAmB,CAAC;IAEtC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IAE7B;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd;;;;OAIG;IACH,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAElC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAEhC;;;;;OAKG;IACH,WAAW,CAAC,EAAE;QACZ,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAC3B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;QAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,CAAC;CACH"}
@@ -43,6 +43,13 @@ export interface HTTPErrorDetails {
43
43
  }
44
44
  /**
45
45
  * Create HTTP error details from status code
46
+ *
47
+ * `HttpTransport` uses these details when the body of an error response has no string code. The
48
+ * code is the code of `ERROR_REGISTRY` that `httpStatusToErrorCode()` gives. Thus 408 gives
49
+ * `TIMEOUT` (retryable), 500 gives `INTERNAL_ERROR` (not retryable) and 599 gives
50
+ * `HTTP_NETWORK_CONNECT_TIMEOUT` (retryable). A status without a code of the registry gives its
51
+ * name from `HTTPStatusToCode`, for example `NOT_MODIFIED` for 304. `isRetryableStatus()` gives the
52
+ * retryable flag.
46
53
  */
47
54
  export declare function createHTTPStatusError(status: HTTPStatus): HTTPErrorDetails;
48
55
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/adapters/http/shared/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG5C;;;;GAIG;AACH,oBAAY,aAAa;IAEvB,aAAa,kBAAkB;IAC/B,kBAAkB,uBAAuB;IACzC,OAAO,YAAY;IACnB,OAAO,YAAY;IAGnB,UAAU,eAAe;IAGzB,gBAAgB,qBAAqB;IACrC,WAAW,gBAAgB;IAC3B,eAAe,oBAAoB;IAGnC,WAAW,gBAAgB;IAC3B,cAAc,mBAAmB;IAGjC,OAAO,YAAY;CACpB;AAED,eAAO,MAAM,gBAAgB,EAAG,MAAM,CAAC,aAAa,EAAE,MAAM,CAYV,CAAC;AAEnD;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0BAA0B;IAC1B,IAAI,EAAE,aAAa,GAAG,MAAM,CAAC;IAE7B,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAEhB,sCAAsC;IACtC,SAAS,EAAE,OAAO,CAAC;IAEnB,gDAAgD;IAChD,MAAM,CAAC,EAAE,UAAU,CAAC;IAEpB,gCAAgC;IAChC,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,UAAU,GAAG,gBAAgB,CAO1E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,KAAK,GACZ,gBAAgB,CAOlB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,CAMtE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,gBAAgB,CAMnD;AAGD,wBAAgB,eAAe,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,gBAAgB,CAO/D;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,aAAa,CA6B3D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,gBAAgB,CASvE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,GAAG,OAAO,CAStE"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/adapters/http/shared/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAK5C;;;;GAIG;AACH,oBAAY,aAAa;IAEvB,aAAa,kBAAkB;IAC/B,kBAAkB,uBAAuB;IACzC,OAAO,YAAY;IACnB,OAAO,YAAY;IAGnB,UAAU,eAAe;IAGzB,gBAAgB,qBAAqB;IACrC,WAAW,gBAAgB;IAC3B,eAAe,oBAAoB;IAGnC,WAAW,gBAAgB;IAC3B,cAAc,mBAAmB;IAGjC,OAAO,YAAY;CACpB;AAED,eAAO,MAAM,gBAAgB,EAAG,MAAM,CAAC,aAAa,EAAE,MAAM,CAYV,CAAC;AAEnD;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0BAA0B;IAC1B,IAAI,EAAE,aAAa,GAAG,MAAM,CAAC;IAE7B,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAEhB,sCAAsC;IACtC,SAAS,EAAE,OAAO,CAAC;IAEnB,gDAAgD;IAChD,MAAM,CAAC,EAAE,UAAU,CAAC;IAEpB,gCAAgC;IAChC,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;CAC3B;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,UAAU,GAAG,gBAAgB,CAQ1E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,KAAK,GACZ,gBAAgB,CAOlB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,CAMtE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,gBAAgB,CAMnD;AAGD,wBAAgB,eAAe,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,gBAAgB,CAO/D;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,aAAa,CA6B3D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,gBAAgB,CASvE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,GAAG,OAAO,CAStE"}
@@ -6,6 +6,8 @@
6
6
  */
7
7
  import { HTTPStatus } from "./constants.js";
8
8
  import { formatHTTPError, getStatusCode, isRetryableStatus } from "./status-codes.js";
9
+ import { ErrorCode } from "../../../client/errors/codes.js";
10
+ import { httpStatusToErrorCode } from "../../../client/errors/http-errors.js";
9
11
  /**
10
12
  * HTTP Error Codes (Type-safe)
11
13
  *
@@ -45,10 +47,18 @@ export const HTTPErrorMessage = {
45
47
  };
46
48
  /**
47
49
  * Create HTTP error details from status code
50
+ *
51
+ * `HttpTransport` uses these details when the body of an error response has no string code. The
52
+ * code is the code of `ERROR_REGISTRY` that `httpStatusToErrorCode()` gives. Thus 408 gives
53
+ * `TIMEOUT` (retryable), 500 gives `INTERNAL_ERROR` (not retryable) and 599 gives
54
+ * `HTTP_NETWORK_CONNECT_TIMEOUT` (retryable). A status without a code of the registry gives its
55
+ * name from `HTTPStatusToCode`, for example `NOT_MODIFIED` for 304. `isRetryableStatus()` gives the
56
+ * retryable flag.
48
57
  */
49
58
  export function createHTTPStatusError(status) {
59
+ const registryCode = httpStatusToErrorCode(status);
50
60
  return {
51
- code: getStatusCode(status),
61
+ code: registryCode === ErrorCode.UNKNOWN ? getStatusCode(status) : registryCode,
52
62
  message: formatHTTPError(status),
53
63
  retryable: isRetryableStatus(status),
54
64
  status,
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/adapters/http/shared/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtF;;;;GAIG;AACH,MAAM,CAAN,IAAY,aAqBX;AArBD,WAAY,aAAa;IACvB,iBAAiB;IACjB,gDAA+B,CAAA;IAC/B,0DAAyC,CAAA;IACzC,oCAAmB,CAAA;IACnB,oCAAmB,CAAA;IAEnB,yCAAyC;IACzC,0CAAyB,CAAA;IAEzB,6BAA6B;IAC7B,sDAAqC,CAAA;IACrC,4CAA2B,CAAA;IAC3B,oDAAmC,CAAA;IAEnC,uBAAuB;IACvB,4CAA2B,CAAA;IAC3B,kDAAiC,CAAA;IAEjC,UAAU;IACV,oCAAmB,CAAA;AACrB,CAAC,EArBW,aAAa,KAAb,aAAa,QAqBxB;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAmC;IAC9D,CAAC,aAAa,CAAC,WAAW,CAAC,EAAG,0BAA0B;IACxD,CAAC,aAAa,CAAC,eAAe,CAAC,EAAG,6BAA6B;IAC/D,CAAC,aAAa,CAAC,aAAa,CAAC,EAAG,wBAAwB;IACxD,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAG,sCAAsC;IAC3E,CAAC,aAAa,CAAC,OAAO,CAAC,EAAG,mBAAmB;IAC7C,CAAC,aAAa,CAAC,OAAO,CAAC,EAAG,qBAAqB;IAC/C,CAAC,aAAa,CAAC,UAAU,CAAC,EAAG,qBAAqB;IAClD,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAG,uCAAuC;IAC1E,CAAC,aAAa,CAAC,WAAW,CAAC,EAAG,6BAA6B;IAC3D,CAAC,aAAa,CAAC,cAAc,CAAC,EAAG,qCAAqC;IACtE,CAAC,aAAa,CAAC,OAAO,CAAC,EAAG,2BAA2B;CACL,CAAC;AAwBnD;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAkB;IACtD,OAAO;QACL,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC;QAC3B,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC;QAChC,SAAS,EAAE,iBAAiB,CAAC,MAAM,CAAC;QACpC,MAAM;KACP,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAe,EACf,KAAa;IAEb,OAAO;QACL,IAAI,EAAE,aAAa,CAAC,aAAa;QACjC,OAAO;QACP,SAAS,EAAE,IAAI;QACf,GAAG,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,CAAC;KACxB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,OAAO;QACL,IAAI,EAAE,aAAa,CAAC,OAAO;QAC3B,OAAO,EAAE,2BAA2B,SAAS,IAAI;QACjD,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,IAAI,EAAE,aAAa,CAAC,OAAO;QAC3B,OAAO,EAAE,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC;QAChD,SAAS,EAAE,KAAK;KACjB,CAAC;AACJ,CAAC;AAED,eAAe;AACf,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,OAAO;QACL,IAAI,EAAE,aAAa,CAAC,UAAU;QAC9B,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,gBAAgB,CAAC,aAAa,CAAC,UAAU,CAAC;QACrE,SAAS,EAAE,KAAK;QAChB,KAAK;KACN,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,KAAY;IAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAC7C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAEnD,IAAI,IAAI,KAAK,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,OAAO,aAAa,CAAC,OAAO,CAAC;IAC/B,CAAC;IAED,IACE,IAAI,KAAK,cAAc;QACvB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAC7B,CAAC;QACD,OAAO,aAAa,CAAC,OAAO,CAAC;IAC/B,CAAC;IAED,IACE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;QACzB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAC9B,CAAC;QACD,OAAO,aAAa,CAAC,aAAa,CAAC;IACrC,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1D,OAAO,aAAa,CAAC,WAAW,CAAC;IACnC,CAAC;IAED,OAAO,aAAa,CAAC,OAAO,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAY;IACnD,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAEpC,OAAO;QACL,IAAI;QACJ,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,SAAS,EAAE,IAAI,KAAK,aAAa,CAAC,aAAa,IAAI,IAAI,KAAK,aAAa,CAAC,OAAO;QACjF,KAAK,EAAE,KAAK;KACb,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAA4B;IAC3D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,aAAa,CAAC,aAAa,CAAC;QACjC,KAAK,aAAa,CAAC,kBAAkB,CAAC;QACtC,KAAK,aAAa,CAAC,OAAO;YACxB,OAAO,IAAI,CAAC;QACd;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/adapters/http/shared/errors.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,17 @@ import { HTTPStatus } from "./constants.js";
8
8
  /**
9
9
  * HTTP Status Code to String Code Mapping
10
10
  *
11
- * Maps numeric status codes to semantic string codes.
11
+ * This table maps numeric status codes to semantic string codes.
12
+ *
13
+ * The table holds the names of the statuses. It does not hold the error codes.
14
+ * `createHTTPStatusError()` gives the code of `ERROR_REGISTRY` for a status. Three names are not
15
+ * error codes:
16
+ *
17
+ * | Status | Name | Error code | Retryable |
18
+ * |---|---|---|---|
19
+ * | 408 | `REQUEST_TIMEOUT` | `TIMEOUT` | true: the server did not read the full request, so the call did not start |
20
+ * | 500 | `INTERNAL_SERVER_ERROR` | `INTERNAL_ERROR` | false, as `ERROR_CODES` gives: the call can have had its effect |
21
+ * | 599 | `HTTP_NETWORK_CONNECT_TIMEOUT_ERROR` | `HTTP_NETWORK_CONNECT_TIMEOUT` | true, as `ERROR_REGISTRY` gives |
12
22
  */
13
23
  export declare const HTTPStatusToCode: Record<HTTPStatus, string>;
14
24
  /**
@@ -49,8 +59,14 @@ export declare function isErrorStatus(status: HTTPStatus): boolean;
49
59
  /**
50
60
  * Check if status code is typically retryable
51
61
  *
52
- * Default policy: server errors and specific client errors (timeout, rate limit) are retryable.
53
- * Can be overridden via retry middleware configuration.
62
+ * The flag of a status is the retryable flag of its entry in `ERROR_REGISTRY`. That entry is the
63
+ * entry of the code from `httpStatusToErrorCode()`, when the entry has this status.
64
+ *
65
+ * - 408 is retryable: the server did not read the full request, so the call did not start. Its
66
+ * code `TIMEOUT` has the status 504 in the registry.
67
+ * - A status without an entry is retryable when it is a server error (5xx).
68
+ *
69
+ * The configuration of the retry middleware can override this policy.
54
70
  */
55
71
  export declare function isRetryableStatus(status: HTTPStatus): boolean;
56
72
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"status-codes.d.ts","sourceRoot":"","sources":["../../../../src/adapters/http/shared/status-codes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAQ,MAAM,gBAAgB,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAqET,CAAC;AAEhD;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,OAAO,gBAAmC,CAAC;AAErE;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAEzB,CAAC;AAEhC;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAE3D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAEjE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAE5D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAE/D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAE/D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAEzD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAe7D;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAExD;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAE1D;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAE1D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,UAAU,CAEtE"}
1
+ {"version":3,"file":"status-codes.d.ts","sourceRoot":"","sources":["../../../../src/adapters/http/shared/status-codes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAQ,MAAM,gBAAgB,CAAC;AAIlD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAqET,CAAC;AAEhD;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,OAAO,gBAAmC,CAAC;AAErE;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAEzB,CAAC;AAEhC;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAE3D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAEjE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAE5D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAE/D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAE/D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAEzD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAY7D;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAExD;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAE1D;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAE1D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,UAAU,CAEtE"}
@@ -5,10 +5,22 @@
5
5
  * and classification helpers.
6
6
  */
7
7
  import { HTTPStatus, HTTP } from "./constants.js";
8
+ import { ERROR_REGISTRY } from "../../../client/errors/registry.js";
9
+ import { httpStatusToErrorCode } from "../../../client/errors/http-errors.js";
8
10
  /**
9
11
  * HTTP Status Code to String Code Mapping
10
12
  *
11
- * Maps numeric status codes to semantic string codes.
13
+ * This table maps numeric status codes to semantic string codes.
14
+ *
15
+ * The table holds the names of the statuses. It does not hold the error codes.
16
+ * `createHTTPStatusError()` gives the code of `ERROR_REGISTRY` for a status. Three names are not
17
+ * error codes:
18
+ *
19
+ * | Status | Name | Error code | Retryable |
20
+ * |---|---|---|---|
21
+ * | 408 | `REQUEST_TIMEOUT` | `TIMEOUT` | true: the server did not read the full request, so the call did not start |
22
+ * | 500 | `INTERNAL_SERVER_ERROR` | `INTERNAL_ERROR` | false, as `ERROR_CODES` gives: the call can have had its effect |
23
+ * | 599 | `HTTP_NETWORK_CONNECT_TIMEOUT_ERROR` | `HTTP_NETWORK_CONNECT_TIMEOUT` | true, as `ERROR_REGISTRY` gives |
12
24
  */
13
25
  export const HTTPStatusToCode = {
14
26
  [HTTPStatus.UNKNOWN]: "UNKNOWN",
@@ -127,20 +139,25 @@ export function isErrorStatus(status) {
127
139
  /**
128
140
  * Check if status code is typically retryable
129
141
  *
130
- * Default policy: server errors and specific client errors (timeout, rate limit) are retryable.
131
- * Can be overridden via retry middleware configuration.
142
+ * The flag of a status is the retryable flag of its entry in `ERROR_REGISTRY`. That entry is the
143
+ * entry of the code from `httpStatusToErrorCode()`, when the entry has this status.
144
+ *
145
+ * - 408 is retryable: the server did not read the full request, so the call did not start. Its
146
+ * code `TIMEOUT` has the status 504 in the registry.
147
+ * - A status without an entry is retryable when it is a server error (5xx).
148
+ *
149
+ * The configuration of the retry middleware can override this policy.
132
150
  */
133
151
  export function isRetryableStatus(status) {
134
- // Server errors are generally retryable
135
- if (isServerErrorStatus(status)) {
152
+ // The deadline of a TIMEOUT (504) passed, but the call of a 408 did not start
153
+ if (status === HTTPStatus.REQUEST_TIMEOUT) {
136
154
  return true;
137
155
  }
138
- // Specific client errors that are retryable
139
- if (status === HTTPStatus.REQUEST_TIMEOUT ||
140
- status === HTTPStatus.TOO_MANY_REQUESTS) {
141
- return true;
156
+ const entry = ERROR_REGISTRY[httpStatusToErrorCode(status)];
157
+ if (entry?.httpStatus === status) {
158
+ return entry.retryable;
142
159
  }
143
- return false;
160
+ return isServerErrorStatus(status);
144
161
  }
145
162
  /**
146
163
  * Get semantic code string for a status