@nifrajs/core 2.14.1 → 3.1.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 (138) hide show
  1. package/README.md +4 -0
  2. package/dist/assurance.d.ts +16 -8
  3. package/dist/assurance.d.ts.map +1 -1
  4. package/dist/assurance.js +33 -0
  5. package/dist/assurance.js.map +1 -1
  6. package/dist/edge-kit.d.ts +27 -0
  7. package/dist/edge-kit.d.ts.map +1 -0
  8. package/dist/edge-kit.js +24 -0
  9. package/dist/edge-kit.js.map +1 -0
  10. package/dist/errors.d.ts +1 -1
  11. package/dist/errors.d.ts.map +1 -1
  12. package/dist/errors.js.map +1 -1
  13. package/dist/index.d.ts +1 -1
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +1 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/internal/route-execution.d.ts +11 -5
  18. package/dist/internal/route-execution.d.ts.map +1 -1
  19. package/dist/internal/route-execution.js +2 -1
  20. package/dist/internal/route-execution.js.map +1 -1
  21. package/dist/response-observer.d.ts +25 -0
  22. package/dist/response-observer.d.ts.map +1 -0
  23. package/dist/response-observer.js +40 -0
  24. package/dist/response-observer.js.map +1 -0
  25. package/dist/security/baseline.d.ts +68 -0
  26. package/dist/security/baseline.d.ts.map +1 -0
  27. package/dist/security/baseline.js +118 -0
  28. package/dist/security/baseline.js.map +1 -0
  29. package/dist/server/bare-error-lane.d.ts +26 -0
  30. package/dist/server/bare-error-lane.d.ts.map +1 -0
  31. package/dist/server/bare-error-lane.js +60 -0
  32. package/dist/server/bare-error-lane.js.map +1 -0
  33. package/dist/server/body.d.ts +7 -0
  34. package/dist/server/body.d.ts.map +1 -1
  35. package/dist/server/body.js +7 -0
  36. package/dist/server/body.js.map +1 -1
  37. package/dist/server/bridge-markers.d.ts +25 -0
  38. package/dist/server/bridge-markers.d.ts.map +1 -0
  39. package/dist/server/bridge-markers.js +25 -0
  40. package/dist/server/bridge-markers.js.map +1 -0
  41. package/dist/server/context.d.ts +6 -1
  42. package/dist/server/context.d.ts.map +1 -1
  43. package/dist/server/header-case.d.ts.map +1 -1
  44. package/dist/server/header-case.js +2 -1
  45. package/dist/server/header-case.js.map +1 -1
  46. package/dist/server/http.d.ts +36 -3
  47. package/dist/server/http.d.ts.map +1 -1
  48. package/dist/server/http.js +49 -3
  49. package/dist/server/http.js.map +1 -1
  50. package/dist/server/install.d.ts +6 -8
  51. package/dist/server/install.d.ts.map +1 -1
  52. package/dist/server/install.js +7 -0
  53. package/dist/server/install.js.map +1 -1
  54. package/dist/server/node-outcome-hook.d.ts +2 -1
  55. package/dist/server/node-outcome-hook.d.ts.map +1 -1
  56. package/dist/server/node-outcome-hook.js.map +1 -1
  57. package/dist/server/node-outcome.d.ts +17 -2
  58. package/dist/server/node-outcome.d.ts.map +1 -1
  59. package/dist/server/node-outcome.js +37 -3
  60. package/dist/server/node-outcome.js.map +1 -1
  61. package/dist/server/query.d.ts +7 -1
  62. package/dist/server/query.d.ts.map +1 -1
  63. package/dist/server/query.js +8 -3
  64. package/dist/server/query.js.map +1 -1
  65. package/dist/server/request-context.d.ts +17 -4
  66. package/dist/server/request-context.d.ts.map +1 -1
  67. package/dist/server/request-context.js +63 -29
  68. package/dist/server/request-context.js.map +1 -1
  69. package/dist/server/respond.d.ts.map +1 -1
  70. package/dist/server/respond.js +19 -2
  71. package/dist/server/respond.js.map +1 -1
  72. package/dist/server/response-contract-lane.d.ts.map +1 -1
  73. package/dist/server/response-contract-lane.js +5 -2
  74. package/dist/server/response-contract-lane.js.map +1 -1
  75. package/dist/server/response-observer-runtime.d.ts +20 -0
  76. package/dist/server/response-observer-runtime.d.ts.map +1 -0
  77. package/dist/server/response-observer-runtime.js +95 -0
  78. package/dist/server/response-observer-runtime.js.map +1 -0
  79. package/dist/server/runtime-core.d.ts +60 -0
  80. package/dist/server/runtime-core.d.ts.map +1 -1
  81. package/dist/server/runtime-core.js +65 -1
  82. package/dist/server/runtime-core.js.map +1 -1
  83. package/dist/server/server-types.d.ts +3 -1
  84. package/dist/server/server-types.d.ts.map +1 -1
  85. package/dist/server/server.d.ts +52 -39
  86. package/dist/server/server.d.ts.map +1 -1
  87. package/dist/server/server.js +267 -271
  88. package/dist/server/server.js.map +1 -1
  89. package/dist/server/websocket.d.ts +20 -4
  90. package/dist/server/websocket.d.ts.map +1 -1
  91. package/dist/server/websocket.js +81 -11
  92. package/dist/server/websocket.js.map +1 -1
  93. package/dist/server/ws-bun.d.ts +1 -1
  94. package/dist/server/ws-bun.d.ts.map +1 -1
  95. package/dist/server/ws-bun.js +12 -8
  96. package/dist/server/ws-bun.js.map +1 -1
  97. package/dist/server.d.ts +2 -1
  98. package/dist/server.d.ts.map +1 -1
  99. package/dist/server.js +2 -1
  100. package/dist/server.js.map +1 -1
  101. package/dist/single-copy-register.d.ts +2 -0
  102. package/dist/single-copy-register.d.ts.map +1 -0
  103. package/dist/single-copy-register.js +24 -0
  104. package/dist/single-copy-register.js.map +1 -0
  105. package/dist/single-copy.d.ts +156 -0
  106. package/dist/single-copy.d.ts.map +1 -0
  107. package/dist/single-copy.js +470 -0
  108. package/dist/single-copy.js.map +1 -0
  109. package/package.json +24 -2
  110. package/src/assurance.ts +58 -1
  111. package/src/edge-kit.ts +27 -0
  112. package/src/errors.ts +1 -0
  113. package/src/index.ts +1 -1
  114. package/src/internal/route-execution.ts +23 -16
  115. package/src/response-observer.ts +64 -0
  116. package/src/security/baseline.ts +172 -0
  117. package/src/server/bare-error-lane.ts +76 -0
  118. package/src/server/body.ts +8 -0
  119. package/src/server/bridge-markers.ts +24 -0
  120. package/src/server/context.ts +6 -1
  121. package/src/server/header-case.ts +3 -1
  122. package/src/server/http.ts +53 -3
  123. package/src/server/install.ts +14 -0
  124. package/src/server/node-outcome-hook.ts +2 -1
  125. package/src/server/node-outcome.ts +44 -3
  126. package/src/server/query.ts +10 -4
  127. package/src/server/request-context.ts +85 -33
  128. package/src/server/respond.ts +26 -1
  129. package/src/server/response-contract-lane.ts +6 -2
  130. package/src/server/response-observer-runtime.ts +135 -0
  131. package/src/server/runtime-core.ts +98 -1
  132. package/src/server/server-types.ts +3 -1
  133. package/src/server/server.ts +436 -367
  134. package/src/server/websocket.ts +127 -17
  135. package/src/server/ws-bun.ts +26 -7
  136. package/src/server.ts +2 -1
  137. package/src/single-copy-register.ts +24 -0
  138. package/src/single-copy.ts +524 -0
@@ -1,11 +1,11 @@
1
1
  import { applyTransportCap, drainCapped, hasTrustedBodyFraming, parseContentLength, RAW_BODY_READERS, readBoundedBytes, } from "./body.js";
2
2
  import { cookieNamePrefix, parseCookies, serializeCookie } from "./cookies.js";
3
3
  import { headerObjectOf } from "./headers.js";
4
- import { jsonError } from "./http.js";
4
+ import { plainError } from "./http.js";
5
5
  import { guardParsedValue, parseJsonGuarded } from "./proto-guard.js";
6
- import { searchOf } from "./query.js";
6
+ import { isUrlEncodedForm, readBoundedForm, searchOf } from "./query.js";
7
7
  import { responseJsonContentType } from "./respond.js";
8
- import { CONTEXT_SEARCH, CONTEXT_SET, fallbackWaitUntil, getNeverAbortSignal, getUnboundedRequestBudget, headerOf, PRE_DECODED_BODY, requestOf, TEXT_DECODER, } from "./runtime-core.js";
8
+ import { CONTEXT_SEARCH, CONTEXT_SET, fallbackWaitUntil, getNeverAbortSignal, getUnboundedRequestBudget, headerOf, isResponseResult, PRE_DECODED_BODY, requestOf, TEXT_DECODER, } from "./runtime-core.js";
9
9
  /** A fixed past instant for cookie deletion (`Expires`). A literal epoch - deterministic, unlike an
10
10
  * argless `new Date()`. */
11
11
  const EPOCH = new Date(0);
@@ -272,7 +272,7 @@ export class RequestContext {
272
272
  return readBoundedJsonBodyOrThrow(this.source, this.maxBodyBytes, this.protoPoisoning, maxBytes);
273
273
  }
274
274
  }
275
- /** Backs `c.boundedBody`: bounded byte read that throws a flat 413/400 `Response` (caught by
275
+ /** Backs `c.boundedBody`: bounded byte read that throws a flat 413/400 plain render (caught by
276
276
  * `runLifecycle` as control flow, like `throw redirect(...)`), so a handler can't ignore the cap.
277
277
  * The byte-cap itself lives in `./body.ts` (shared with the schema path and `verifyWebhook`). */
278
278
  async function readBoundedBodyOrThrow(req, maxBodyBytes, maxBytes) {
@@ -280,13 +280,15 @@ async function readBoundedBodyOrThrow(req, maxBodyBytes, maxBytes) {
280
280
  if (r.ok)
281
281
  return r.bytes;
282
282
  throw r.status === 413
283
- ? jsonError(413, "payload_too_large")
284
- : jsonError(400, "invalid_content_length");
283
+ ? plainError(413, "payload_too_large")
284
+ : plainError(400, "invalid_content_length");
285
285
  }
286
286
  /** Backs `c.boundedJson`: `readBoundedJsonSource`, throwing its flat 400/413 on failure. */
287
287
  async function readBoundedJsonBodyOrThrow(req, maxBodyBytes, protoPoisoning, maxBytes) {
288
288
  const parsed = await readBoundedJsonSource(req, maxBytes ?? maxBodyBytes, protoPoisoning);
289
- if (parsed instanceof Response)
289
+ // The lane's own failures are the only branded values it can produce: a parsed JSON body is
290
+ // `JSON.parse` output, which carries string keys only and so can never answer to a symbol brand.
291
+ if (isResponseResult(parsed))
290
292
  throw parsed;
291
293
  return parsed;
292
294
  }
@@ -323,12 +325,12 @@ export function readBoundedJsonSource(req, maxBytes, protoPoisoning = "reject",
323
325
  const length = parseContentLength(declared);
324
326
  if (length === undefined)
325
327
  return onResult === undefined
326
- ? Promise.resolve(jsonError(400, "invalid_content_length"))
327
- : Promise.resolve(jsonError(400, "invalid_content_length")).then(onResult);
328
+ ? Promise.resolve(plainError(400, "invalid_content_length"))
329
+ : Promise.resolve(plainError(400, "invalid_content_length")).then(onResult);
328
330
  if (length > maxBytes)
329
331
  return onResult === undefined
330
- ? Promise.resolve(jsonError(413, "payload_too_large"))
331
- : Promise.resolve(jsonError(413, "payload_too_large")).then(onResult);
332
+ ? Promise.resolve(plainError(413, "payload_too_large"))
333
+ : Promise.resolve(plainError(413, "payload_too_large")).then(onResult);
332
334
  // Trusted framing (Bun's native route table, Deno.serve): the runtime's HTTP parser already
333
335
  // delimited the bytes, so the declared length IS the transport frame and chunked routing is
334
336
  // moot - the over-cap 413 above already enforced the byte cap. Take the runtime's fused
@@ -344,8 +346,8 @@ export function readBoundedJsonSource(req, maxBytes, protoPoisoning = "reject",
344
346
  }
345
347
  catch {
346
348
  return onResult === undefined
347
- ? jsonError(400, "invalid_json")
348
- : onResult(jsonError(400, "invalid_json"));
349
+ ? plainError(400, "invalid_json")
350
+ : onResult(plainError(400, "invalid_json"));
349
351
  }
350
352
  return onResult === undefined ? guarded : onResult(guarded);
351
353
  }, () => (onResult === undefined ? INVALID_JSON() : onResult(INVALID_JSON())));
@@ -359,8 +361,8 @@ export function readBoundedJsonSource(req, maxBytes, protoPoisoning = "reject",
359
361
  return jsonWithByteLength.call(raw).then(({ value, byteLength }) => {
360
362
  if (byteLength > length || byteLength > maxBytes) {
361
363
  return onResult === undefined
362
- ? jsonError(413, "payload_too_large")
363
- : onResult(jsonError(413, "payload_too_large"));
364
+ ? plainError(413, "payload_too_large")
365
+ : onResult(plainError(413, "payload_too_large"));
364
366
  }
365
367
  let guarded;
366
368
  try {
@@ -368,8 +370,8 @@ export function readBoundedJsonSource(req, maxBytes, protoPoisoning = "reject",
368
370
  }
369
371
  catch {
370
372
  return onResult === undefined
371
- ? jsonError(400, "invalid_json")
372
- : onResult(jsonError(400, "invalid_json"));
373
+ ? plainError(400, "invalid_json")
374
+ : onResult(plainError(400, "invalid_json"));
373
375
  }
374
376
  return onResult === undefined ? guarded : onResult(guarded);
375
377
  }, () => (onResult === undefined ? INVALID_JSON() : onResult(INVALID_JSON())));
@@ -379,8 +381,8 @@ export function readBoundedJsonSource(req, maxBytes, protoPoisoning = "reject",
379
381
  return bytesReader.call(raw).then((bytes) => {
380
382
  if (bytes.byteLength > length || bytes.byteLength > maxBytes) {
381
383
  return onResult === undefined
382
- ? jsonError(413, "payload_too_large")
383
- : onResult(jsonError(413, "payload_too_large"));
384
+ ? plainError(413, "payload_too_large")
385
+ : onResult(plainError(413, "payload_too_large"));
384
386
  }
385
387
  try {
386
388
  const parsed = parseJsonGuarded(TEXT_DECODER.decode(bytes), protoPoisoning);
@@ -388,8 +390,8 @@ export function readBoundedJsonSource(req, maxBytes, protoPoisoning = "reject",
388
390
  }
389
391
  catch {
390
392
  return onResult === undefined
391
- ? jsonError(400, "invalid_json")
392
- : onResult(jsonError(400, "invalid_json"));
393
+ ? plainError(400, "invalid_json")
394
+ : onResult(plainError(400, "invalid_json"));
393
395
  }
394
396
  }, () => (onResult === undefined ? INVALID_JSON() : onResult(INVALID_JSON())));
395
397
  }
@@ -403,8 +405,8 @@ export function readBoundedJsonSource(req, maxBytes, protoPoisoning = "reject",
403
405
  const bytes = new Uint8Array(buffer);
404
406
  if (bytes.byteLength > length || bytes.byteLength > maxBytes) {
405
407
  return onResult === undefined
406
- ? jsonError(413, "payload_too_large")
407
- : onResult(jsonError(413, "payload_too_large"));
408
+ ? plainError(413, "payload_too_large")
409
+ : onResult(plainError(413, "payload_too_large"));
408
410
  }
409
411
  let parsed;
410
412
  try {
@@ -412,8 +414,8 @@ export function readBoundedJsonSource(req, maxBytes, protoPoisoning = "reject",
412
414
  }
413
415
  catch {
414
416
  return onResult === undefined
415
- ? jsonError(400, "invalid_json")
416
- : onResult(jsonError(400, "invalid_json"));
417
+ ? plainError(400, "invalid_json")
418
+ : onResult(plainError(400, "invalid_json"));
417
419
  }
418
420
  return onResult === undefined ? parsed : onResult(parsed);
419
421
  }, () => (onResult === undefined ? INVALID_JSON() : onResult(INVALID_JSON())));
@@ -425,20 +427,52 @@ export function readBoundedJsonSource(req, maxBytes, protoPoisoning = "reject",
425
427
  /** The shared rejection handler for a body read that never completed (client abort, socket error,
426
428
  * malformed framing): the same flat 400 a syntactically invalid body gets. Hoisted so the framed
427
429
  * lane allocates no per-request closure for it. */
428
- const INVALID_JSON = () => jsonError(400, "invalid_json");
430
+ const INVALID_JSON = () => plainError(400, "invalid_json");
429
431
  /** The chunked / length-less fallback: drain under the streaming byte cap, then parse guarded. */
430
432
  async function readStreamedJsonSource(raw, maxBytes, protoPoisoning) {
431
433
  const body = raw.body;
432
434
  if (body === null)
433
- return jsonError(400, "invalid_json");
435
+ return plainError(400, "invalid_json");
434
436
  const drained = await drainCapped(body, maxBytes);
435
437
  if (!drained.ok)
436
- return jsonError(413, "payload_too_large");
438
+ return plainError(413, "payload_too_large");
437
439
  try {
438
440
  return parseJsonGuarded(TEXT_DECODER.decode(drained.bytes), protoPoisoning);
439
441
  }
440
442
  catch {
441
- return jsonError(400, "invalid_json");
443
+ return plainError(400, "invalid_json");
444
+ }
445
+ }
446
+ /**
447
+ * The shared bounded body framing/parser: the single trust-boundary enforcement point every body
448
+ * lane routes through. Content-type dispatch, the urlencoded-form cap, and the JSON path
449
+ * (`Content-Length` pre-reject -> streaming cap -> prototype-poisoning guard, all inside
450
+ * `readBoundedJsonSource`) live here so the fused body runner, the generic body-only lane, and a
451
+ * compact edge entrypoint all enforce the same boundary from one definition. `protoPoisoning` is a
452
+ * parameter, not read off a server instance, so this stays free of any dependency on the class.
453
+ *
454
+ * `onParsed` receives the decoded, guard-screened value; a framing rejection (`Content-Length` over
455
+ * the cap, a lying length caught mid-stream, malformed JSON, an unsupported media type) is rendered
456
+ * through `wrapResponse`; a read that never completed (client abort, socket error) reaches `onError`.
457
+ */
458
+ export function readBodyFramed(source, maxBodyBytes, protoPoisoning, onParsed, wrapResponse, onError) {
459
+ const contentType = headerOf(source, "content-type") ?? "";
460
+ if (contentType !== "application/json" && !contentType.includes("application/json")) {
461
+ if (isUrlEncodedForm(contentType)) {
462
+ return readBoundedForm(source, maxBodyBytes).then((form) => (isResponseResult(form) ? wrapResponse(form) : onParsed(form)), onError);
463
+ }
464
+ // multipart/form-data (file uploads) stays 415 on the schema path by design - files don't fit a
465
+ // value schema; use a schema-less route + @nifrajs/uploads helpers for those.
466
+ return Promise.resolve(wrapResponse(plainError(415, "unsupported_media_type")));
467
+ }
468
+ // All JSON bodies go through readBoundedJsonSource - the single enforcement point for the framed
469
+ // fast path (post-read byte re-check), the streaming cap, and the prototype-poisoning guard. A
470
+ // separate inlined native-json() fast path here would fork the trust boundary in two.
471
+ try {
472
+ return readBoundedJsonSource(source, maxBodyBytes, protoPoisoning, (parsed) => (isResponseResult(parsed) ? wrapResponse(parsed) : onParsed(parsed)), onError);
473
+ }
474
+ catch (err) {
475
+ return Promise.resolve(onError(err));
442
476
  }
443
477
  }
444
478
  //# sourceMappingURL=request-context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"request-context.js","sourceRoot":"","sources":["../../src/server/request-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request-context.js","sourceRoot":"","sources":["../../src/server/request-context.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,WAAW,CAAA;AAElB,OAAO,EAAsB,gBAAgB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAClG,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,gBAAgB,EAAuB,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAC1F,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,EACL,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAGhB,SAAS,EACT,YAAY,GACb,MAAM,mBAAmB,CAAA;AAG1B;2BAC2B;AAC3B,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAA;AAEzB,MAAM,oBAAoB;IACxB,MAAM,CAAS;IACf,QAAQ,CAAyB;IACjC,QAAQ,CAAW;IAEnB,IAAI,OAAO;QACT,6FAA6F;QAC7F,6FAA6F;QAC7F,+FAA+F;QAC/F,0FAA0F;QAC1F,8FAA8F;QAC9F,sFAAsF;QACtF,iEAAiE;QACjE,IAAI,CAAC,QAAQ,KAAK,EAAE,CAAA;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,MAAM,CAAC,IAAY,EAAE,KAAa,EAAE,OAAuB;QACzD,sFAAsF;QACtF,MAAM,MAAM,GAAkB;YAC5B,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,GAAG;YACT,GAAG,OAAO;SACX,CAAA;QACD,IAAI,CAAC,QAAQ,KAAK,EAAE,CAAA;QACpB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAA;IAC1D,CAAC;IAED,YAAY,CAAC,IAAY,EAAE,OAAgD;QACzE,kGAAkG;QAClG,yFAAyF;QACzF,kFAAkF;QAClF,IAAI,CAAC,QAAQ,KAAK,EAAE,CAAA;QACpB,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;QACjE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChB,eAAe,CACb,IAAI,EACJ,EAAE,EACF,gBAAgB,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CACxE,CACF,CAAA;IACH,CAAC;CACF;AAED,0GAA0G;AAC1G,SAAS,UAAU,CAAC,IAA4B;IAC9C,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AAC3D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,eAAe,GACnB,OAAQ,UAAiC,CAAC,IAAI,KAAK,WAAW;IAC9D,OAAQ,UAAgC,CAAC,GAAG,KAAK,WAAW;IAC5D,OAAQ,UAA8D,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI;QAC5F,QAAQ,CAAA;AAEZ;;;;;;;;;GASG;AACH,MAAM,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;AAErE,IAAI,iBAAgD,CAAA;AACpD,SAAS,oBAAoB;IAC3B,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACpC,iBAAiB,GAAI,UAAuE,CAC1F,sBAAsB,CACvB,CAAA;IACH,CAAC;IACD,OAAO,iBAAiB,CAAA;AAC1B,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe;AACtB,4FAA4F;AAC5F,mFAAmF;AACnF,OAAgB,EAChB,WAAmB;IAEnB,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,CAAA;IACjE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAA;IAC/F,IAAI,OAAO,YAAY,OAAO;QAAE,OAAO,SAAS,CAAA;IAChD,MAAM,MAAM,GAA2B,EAAE,CAAA;IACzC,IAAI,cAAc,GAAG,KAAK,CAAA;IAC1B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;QAChC,IAAI,KAAK,KAAK,cAAc;YAAE,cAAc,GAAG,IAAI,CAAA;QACnD,MAAM,CAAC,KAAK,CAAC,GAAI,OAAkC,CAAC,IAAI,CAAW,CAAA;IACrE,CAAC;IACD,IAAI,CAAC,cAAc;QAAE,MAAM,CAAC,cAAc,CAAC,GAAG,WAAW,CAAA;IACzD,OAAO,MAAM,CAAA;AACf,CAAC;AAED;kGACkG;AAClG,IAAI,qBAAyC,CAAA;AAC7C,SAAS,uBAAuB;IAC9B,qBAAqB;QACnB,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,0BAA0B,CAAA;IAC5E,OAAO,qBAAqB,CAAA;AAC9B,CAAC;AAED;qCACqC;AACrC,MAAM,iBAAiB,GAAG,2BAA2B,CAAA;AAErD,MAAM,OAAO,cAAc;IAqCzB,YACE,MAAqB,EACrB,MAA8B,EAC9B,oBAAiD,EACjD,sBAAqD,EACrD,MAAsB,EACtB,QAAmB,EACnB,YAAqB,EACrB,cAA+B;QAE/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,OAAO,oBAAoB,KAAK,QAAQ,EAAE,CAAC;YAC7C,IAAI,CAAC,YAAY,GAAG,oBAAoB,CAAA;YACxC,IAAI,CAAC,cAAc;gBACjB,OAAO,sBAAsB,KAAK,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,QAAQ,CAAA;YAChF,OAAM;QACR,CAAC;QACD,IAAI,oBAAoB,KAAK,SAAS;YAAE,IAAI,CAAC,WAAW,GAAG,oBAAoB,CAAA;QAC/E,IAAI,CAAC,WAAW,GAAG,sBAAiD,CAAA;QACpE,IAAI,CAAC,WAAW,GAAG,MAAM,CAAA;QACzB,IAAI,QAAQ,KAAK,SAAS;YAAE,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAA;QACzD,IAAI,CAAC,YAAY,GAAG,YAAsB,CAAA;QAC1C,IAAI,CAAC,cAAc,GAAG,cAAc,IAAI,QAAQ,CAAA;IAClD,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CACX,MAAqB,EACrB,MAA8B,EAC9B,MAA0B,EAC1B,YAAoB,EACpB,QAAmB,EACnB,cAA+B;QAE/B,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,CAAC,CAAA;QAChF,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,CAAC,WAAW,GAAG,MAAM,CAAA;QACtD,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,CAAC,aAAa,GAAG,QAAQ,CAAA;QAC5D,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,CAAC,WAAW,CAAC;QACX,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,IAAI,CAAC,cAAc,CAAC;QAClB,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAC9C,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAED,IAAI,GAAG;QACL,IAAI,CAAC,QAAQ,KAAK,IAAI,oBAAoB,EAAE,CAAA;QAC5C,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,WAAW,IAAI,mBAAmB,EAAE,CAAA;IAClD,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,WAAW,IAAI,yBAAyB,EAAE,CAAA;IACxD,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,aAAa,EAAE,GAAG,CAAA;IAChC,CAAC;IAED,IAAI,QAAQ;QACV,kGAAkG;QAClG,uFAAuF;QACvF,OAAO,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAA;IACrC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,aAAa,EAAE,SAAS,IAAI,iBAAiB,CAAA;IAC3D,CAAC;IAED,IAAI,GAAG;QACL,8FAA8F;QAC9F,6FAA6F;QAC7F,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACtC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACvC,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,IAAI,OAAO;QACT,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACtC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACvC,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACpC,CAAC;IAED,IAAI,OAAO;QACT,IAAI,CAAC,YAAY,KAAK,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACzD,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;IAED,IAAI,OAAO,CAAC,KAA6B;QACvC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;IAC3B,CAAC;IAED;;;;;;OAMG;IACH,IAAI,CAAC,IAAa,EAAE,IAA4B;QAC9C,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;QAC1B,IAAI,CAAC,eAAe;YAAE,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QACnD,MAAM,KAAK,GAAG,oBAAoB,EAAE,CAAA;QACpC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QACtD,+FAA+F;QAC/F,kGAAkG;QAClG,6FAA6F;QAC7F,sFAAsF;QACtF,mFAAmF;QACnF,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAuB,CAAA;QACvD,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QACrD,MAAM,OAAO,GAAG,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC,CAAA;QACtE,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QACxD,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,IAAI,GAAG,EAAE,OAAO,CAAC,CAAA;IAC/C,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAC,IAAY,EAAE,IAA4B;QAC7C,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;QAC1B,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,oBAAoB,EAAE,CAAA;YACpC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,0FAA0F;gBAC1F,4FAA4F;gBAC5F,6EAA6E;gBAC7E,MAAM,OAAO,GAAG,eAAe,CAC7B,CAAC,EAAE,OAAO,EACV,CAAC,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,uBAAuB,EAAE,CACzE,CAAA;gBACD,IAAI,OAAO,KAAK,SAAS;oBAAE,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,IAAI,GAAG,EAAE,OAAO,CAAC,CAAA;YAC1E,CAAC;QACH,CAAC;QACD,4FAA4F;QAC5F,IAAI,CAAC,EAAE,OAAO,KAAK,SAAS;YAAE,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QAC1D,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAA;IACrF,CAAC;IAED,IAAI,KAAK;QACP,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAA;YAC3D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;QACxB,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAED,IAAI,KAAK,CAAC,CAAU;QAClB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAA;QACnB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;IACxB,CAAC;IAED,IAAI,OAAO;QACT,IAAI,CAAC,YAAY,KAAK,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;QACnE,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;IAED,WAAW,CAAC,QAAiB;QAC3B,OAAO,sBAAsB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;IACzE,CAAC;IAED,WAAW,CAAc,QAAiB;QACxC,OAAO,0BAA0B,CAC/B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,cAAc,EACnB,QAAQ,CACT,CAAA;IACH,CAAC;CACF;AAED;;iGAEiG;AACjG,KAAK,UAAU,sBAAsB,CACnC,GAAkB,EAClB,YAAoB,EACpB,QAAiB;IAEjB,MAAM,CAAC,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,QAAQ,IAAI,YAAY,CAAC,CAAA;IAC/D,IAAI,CAAC,CAAC,EAAE;QAAE,OAAO,CAAC,CAAC,KAAK,CAAA;IACxB,MAAM,CAAC,CAAC,MAAM,KAAK,GAAG;QACpB,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,mBAAmB,CAAC;QACtC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAA;AAC/C,CAAC;AAED,4FAA4F;AAC5F,KAAK,UAAU,0BAA0B,CACvC,GAAkB,EAClB,YAAoB,EACpB,cAA8B,EAC9B,QAAiB;IAEjB,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,GAAG,EAAE,QAAQ,IAAI,YAAY,EAAE,cAAc,CAAC,CAAA;IACzF,4FAA4F;IAC5F,iGAAiG;IACjG,IAAI,gBAAgB,CAAC,MAAM,CAAC;QAAE,MAAM,MAAM,CAAA;IAC1C,OAAO,MAAW,CAAA;AACpB,CAAC;AAsCD,MAAM,UAAU,qBAAqB,CACnC,GAAkB,EAClB,QAAgB,EAChB,iBAAiC,QAAQ,EACzC,QAAoC,EACpC,OAAkC;IAElC,8FAA8F;IAC9F,6FAA6F;IAC7F,iGAAiG;IACjG,MAAM,UAAU,GAAI,GAA+C,CAAC,gBAAgB,CAAC,CAAA;IACrF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,QAAQ,KAAK,SAAS;YAC3B,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;YACnC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACtD,CAAC;IACD,gGAAgG;IAChG,2FAA2F;IAC3F,8BAA8B;IAC9B,4FAA4F;IAC5F,kGAAkG;IAClG,6FAA6F;IAC7F,mGAAmG;IACnG,MAAM,GAAG,GAAG,CAAE,GAA8C,CAAC,gBAAgB,CAAC;QAC5E,GAAG,CAAqB,CAAA;IAC1B,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAA;IAC/B,MAAM,QAAQ,GACZ,YAAY,KAAK,SAAS;QACxB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;QACnC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAA;IAC9C,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,uFAAuF;QACvF,2FAA2F;QAC3F,4FAA4F;QAC5F,+FAA+F;QAC/F,8FAA8F;QAC9F,gFAAgF;QAChF,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAA;QAC3C,IAAI,MAAM,KAAK,SAAS;YACtB,OAAO,QAAQ,KAAK,SAAS;gBAC3B,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;gBAC5D,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC/E,IAAI,MAAM,GAAG,QAAQ;YACnB,OAAO,QAAQ,KAAK,SAAS;gBAC3B,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;gBACvD,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC1E,4FAA4F;QAC5F,4FAA4F;QAC5F,wFAAwF;QACxF,2FAA2F;QAC3F,wFAAwF;QACxF,gGAAgG;QAChG,gEAAgE;QAChE,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,CACpB,CAAC,MAAM,EAAE,EAAE;gBACT,IAAI,OAAgB,CAAA;gBACpB,IAAI,CAAC;oBACH,OAAO,GAAG,gBAAgB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;gBACpD,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,QAAQ,KAAK,SAAS;wBAC3B,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,cAAc,CAAC;wBACjC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAA;gBAC/C,CAAC;gBACD,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;YAC7D,CAAC,EACD,GAAG,EAAE,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAC3E,CAAA;QACH,CAAC;QACD,MAAM,OAAO,GACX,CAAC,YAAY,KAAK,SAAS;YACzB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;YACtC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC,KAAK,IAAI,CAAA;QAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,kBAAkB,GAAG,GAAG,CAAC,kBAAkB,CAAA;YACjD,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;gBACrC,OAAO,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CACtC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE;oBACxB,IAAI,UAAU,GAAG,MAAM,IAAI,UAAU,GAAG,QAAQ,EAAE,CAAC;wBACjD,OAAO,QAAQ,KAAK,SAAS;4BAC3B,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,mBAAmB,CAAC;4BACtC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC,CAAA;oBACpD,CAAC;oBACD,IAAI,OAAgB,CAAA;oBACpB,IAAI,CAAC;wBACH,OAAO,GAAG,gBAAgB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;oBACnD,CAAC;oBAAC,MAAM,CAAC;wBACP,OAAO,QAAQ,KAAK,SAAS;4BAC3B,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,cAAc,CAAC;4BACjC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAA;oBAC/C,CAAC;oBACD,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;gBAC7D,CAAC,EACD,GAAG,EAAE,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAC3E,CAAA;YACH,CAAC;YACD,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAA;YAC7B,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC9B,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAC/B,CAAC,KAAK,EAAE,EAAE;oBACR,IAAI,KAAK,CAAC,UAAU,GAAG,MAAM,IAAI,KAAK,CAAC,UAAU,GAAG,QAAQ,EAAE,CAAC;wBAC7D,OAAO,QAAQ,KAAK,SAAS;4BAC3B,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,mBAAmB,CAAC;4BACtC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC,CAAA;oBACpD,CAAC;oBACD,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,gBAAgB,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC,CAAA;wBAC3E,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;oBAC3D,CAAC;oBAAC,MAAM,CAAC;wBACP,OAAO,QAAQ,KAAK,SAAS;4BAC3B,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,cAAc,CAAC;4BACjC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAA;oBAC/C,CAAC;gBACH,CAAC,EACD,GAAG,EAAE,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAC3E,CAAA;YACH,CAAC;YACD,uFAAuF;YACvF,2FAA2F;YAC3F,4FAA4F;YAC5F,0FAA0F;YAC1F,+FAA+F;YAC/F,yEAAyE;YACzE,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,CAC3B,CAAC,MAAM,EAAE,EAAE;gBACT,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAA;gBACpC,IAAI,KAAK,CAAC,UAAU,GAAG,MAAM,IAAI,KAAK,CAAC,UAAU,GAAG,QAAQ,EAAE,CAAC;oBAC7D,OAAO,QAAQ,KAAK,SAAS;wBAC3B,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,mBAAmB,CAAC;wBACtC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC,CAAA;gBACpD,CAAC;gBACD,IAAI,MAAe,CAAA;gBACnB,IAAI,CAAC;oBACH,MAAM,GAAG,gBAAgB,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC,CAAA;gBACvE,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,QAAQ,KAAK,SAAS;wBAC3B,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,cAAc,CAAC;wBACjC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAA;gBAC/C,CAAC;gBACD,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;YAC3D,CAAC,EACD,GAAG,EAAE,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAC3E,CAAA;QACH,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,sBAAsB,CAAC,GAAG,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAA;IACtE,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;AAC7E,CAAC;AAED;;mDAEmD;AACnD,MAAM,YAAY,GAAG,GAAmB,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;AAE1E,kGAAkG;AAClG,KAAK,UAAU,sBAAsB,CACnC,GAAkB,EAClB,QAAgB,EAChB,cAA8B;IAE9B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAA;IACrB,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,UAAU,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;IACzD,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACjD,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,UAAU,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAA;IAC5D,IAAI,CAAC;QACH,OAAO,gBAAgB,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC,CAAA;IAC7E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,UAAU,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;IACxC,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAqB,EACrB,YAAoB,EACpB,cAA8B,EAC9B,QAA8C,EAC9C,YAAwD,EACxD,OAA0C;IAE1C,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,CAAA;IAC1D,IAAI,WAAW,KAAK,kBAAkB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACpF,IAAI,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;YAClC,OAAO,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,IAAI,CAC/C,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EACxE,OAAO,CACM,CAAA;QACjB,CAAC;QACD,gGAAgG;QAChG,8EAA8E;QAC9E,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAA;IACjF,CAAC;IACD,iGAAiG;IACjG,+FAA+F;IAC/F,sFAAsF;IACtF,IAAI,CAAC;QACH,OAAO,qBAAqB,CAC1B,MAAM,EACN,YAAY,EACZ,cAAc,EACd,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAChF,OAAO,CACR,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;IACtC,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"respond.d.ts","sourceRoot":"","sources":["../../src/server/respond.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAGL,KAAK,aAAa,EAEnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,EAA2B,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAoBzF;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GACvC,qBAAqB,CAiBvB;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,qBAAqB,GAC7B,QAAQ,CAeV;AAmED,wBAAgB,uBAAuB,IAAI,MAAM,CAKhD;AAkCD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAE7D;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAE7D;AAYD,0FAA0F;AAC1F,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAYtE;AAOD,KAAK,qBAAqB,GAAG,KAAK,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAA;AAE9D,qGAAqG;AACrG,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,QAAQ,EAClB,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAC3B,MAAM,GAAG,UAAU,GAAG,SAAS,CAqBjC;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAO1E;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,GAAG,UAAU,EACzB,KAAK,CAAC,EAAE,MAAM,GACb,QAAQ,CAKV;AAiBD;;gFAEgF;AAChF,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,OAAO,EACf,eAAe,GAAE,qBAA6B,EAC9C,OAAO,CAAC,EAAE,qBAAqB,EAC/B,SAAS,UAAQ,GAChB,QAAQ,CA0EV;AAED;yGACyG;AACzG,wBAAgB,YAAY,CAC1B,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,UAAU,EACf,eAAe,GAAE,qBAA6B,EAC9C,OAAO,CAAC,EAAE,qBAAqB,EAC/B,SAAS,UAAQ,GAChB,QAAQ,CAIV;AAED,wBAAgB,UAAU,CACxB,MAAM,EAAE,aAAa,EACrB,GAAG,EAAE,MAAM,EACX,eAAe,GAAE,qBAA6B,EAC9C,OAAO,CAAC,EAAE,qBAAqB,GAC9B,QAAQ,CAiEV;AAsBD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,CAUjF"}
1
+ {"version":3,"file":"respond.d.ts","sourceRoot":"","sources":["../../src/server/respond.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAGL,KAAK,aAAa,EAInB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,EAA2B,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AA8BzF;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GACvC,qBAAqB,CAiBvB;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,qBAAqB,GAC7B,QAAQ,CAeV;AAmED,wBAAgB,uBAAuB,IAAI,MAAM,CAKhD;AAkCD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAE7D;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAE7D;AAYD,0FAA0F;AAC1F,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAYtE;AAOD,KAAK,qBAAqB,GAAG,KAAK,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAA;AAE9D,qGAAqG;AACrG,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,QAAQ,EAClB,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAC3B,MAAM,GAAG,UAAU,GAAG,SAAS,CAqBjC;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAO1E;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,GAAG,UAAU,EACzB,KAAK,CAAC,EAAE,MAAM,GACb,QAAQ,CAKV;AAiBD;;gFAEgF;AAChF,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,OAAO,EACf,eAAe,GAAE,qBAA6B,EAC9C,OAAO,CAAC,EAAE,qBAAqB,EAC/B,SAAS,UAAQ,GAChB,QAAQ,CA0EV;AAED;yGACyG;AACzG,wBAAgB,YAAY,CAC1B,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,UAAU,EACf,eAAe,GAAE,qBAA6B,EAC9C,OAAO,CAAC,EAAE,qBAAqB,EAC/B,SAAS,UAAQ,GAChB,QAAQ,CAIV;AAED,wBAAgB,UAAU,CACxB,MAAM,EAAE,aAAa,EACrB,GAAG,EAAE,MAAM,EACX,eAAe,GAAE,qBAA6B,EAC9C,OAAO,CAAC,EAAE,qBAAqB,GAC9B,QAAQ,CA6EV;AAsBD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,CAUjF"}
@@ -3,7 +3,8 @@
3
3
  * responders, the fast JSON path, and cookie append. Imports only the runtime-core primitives + the
4
4
  * spine types, so the wire-response format lives in one module distinct from the request engine.
5
5
  */
6
- import { CONTEXT_SET, EMPTY_RESPONSE_CONTROLS, isResponseResult, } from "./runtime-core.js";
6
+ import { NODE_BRIDGE_MARKER_KEYS } from "./bridge-markers.js";
7
+ import { CONTEXT_SET, EMPTY_RESPONSE_CONTROLS, isResponseResult, plainRenderHeaders, } from "./runtime-core.js";
7
8
  import { mergeStaticHeaderRecord } from "./static-headers.js";
8
9
  /** Build the response headers init. The common path (no `c.set`) returns `undefined` so `Response`
9
10
  * gets no `headers` at all. Cookies force a `Headers` object - multiple `Set-Cookie`s can't live in a
@@ -17,6 +18,15 @@ function headersInit(set) {
17
18
  headers.append("set-cookie", cookie);
18
19
  return headers;
19
20
  }
21
+ /** The `c.set` a plain render stands for: its status and headers, carrying over the request's queued
22
+ * cookies so `set.cookie(...)` then an early exit still ships them. */
23
+ function plainRenderSet(plain, set) {
24
+ return {
25
+ status: plain.status,
26
+ _headers: plainRenderHeaders(plain, set),
27
+ _cookies: set._cookies,
28
+ };
29
+ }
20
30
  // Keep the fast JSON respond path byte-identical to `Response.json` without probing it at module
21
31
  // scope: workerd forbids `Response.json()` during startup. A shared `Headers` is safe to reuse
22
32
  // across responses: the Response constructor copies `init.headers` into its own list.
@@ -141,7 +151,7 @@ function denoResponseWithJsonBody(body, status, headers, defaultContentType = re
141
151
  // The framework-buffered-body marker shared with the Node adapter: a Response carrying it exposes
142
152
  // its already-serialized bytes without draining. On the Web serving paths it exists ONLY when a
143
153
  // registered body/raw hook needs it, so hook-less apps pay nothing.
144
- const RESPONSE_BODY = Symbol.for("nifra.response.body");
154
+ const RESPONSE_BODY = Symbol.for(NODE_BRIDGE_MARKER_KEYS.responseBody);
145
155
  /**
146
156
  * Headers objects the framework itself constructed - guaranteed mutable, no guard. Response
147
157
  * middleware adapters consult this before falling back to a mutability probe, so the hot path
@@ -288,6 +298,13 @@ export function fusedRespond(result, ctx, tagResponseBody = false, statics, unst
288
298
  }
289
299
  export function toResponse(result, set, tagResponseBody = false, statics) {
290
300
  if (isResponseResult(result)) {
301
+ const plain = result.plain;
302
+ if (plain !== undefined) {
303
+ // Rendered as the value it is, on the branches below, rather than through `toResponse()`: the
304
+ // status and headers fold into a `set` and the body takes the ordinary JSON lane. One level
305
+ // only - a plain render's body is a user value, never another response carrier.
306
+ return toResponse(plain.body, plainRenderSet(plain, set), tagResponseBody, statics);
307
+ }
291
308
  return withStatics(appendCookiesToResponse(normalizeBodylessResponse(result.toResponse()), set), statics);
292
309
  }
293
310
  if (result instanceof Response) {
@@ -1 +1 @@
1
- {"version":3,"file":"respond.js","sourceRoot":"","sources":["../../src/server/respond.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"respond.js","sourceRoot":"","sources":["../../src/server/respond.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"response-contract-lane.d.ts","sourceRoot":"","sources":["../../src/server/response-contract-lane.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAGjD;;;;;;;;GAQG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,SAAS,CAAA;AAErD,uFAAuF;AACvF,MAAM,MAAM,uBAAuB;AACjC,yGAAyG;AACvG;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE;AAClD,gGAAgG;GAC9F;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AAC9E,kGAAkG;GAChG;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAW5D;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAQ5D;AA0BD;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAA;IACnC,KAAK,CACH,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,OAAO,GACd,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAA;CAC9D;AAMD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,oBAA6B,GAAG,cAAc,CAUpF"}
1
+ {"version":3,"file":"response-contract-lane.d.ts","sourceRoot":"","sources":["../../src/server/response-contract-lane.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAIjD;;;;;;;;GAQG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,SAAS,CAAA;AAErD,uFAAuF;AACvF,MAAM,MAAM,uBAAuB;AACjC,yGAAyG;AACvG;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE;AAClD,gGAAgG;GAC9F;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AAC9E,kGAAkG;GAChG;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAW5D;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAW5D;AA0BD;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAA;IACnC,KAAK,CACH,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,OAAO,GACd,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAA;CAC9D;AAMD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,oBAA6B,GAAG,cAAc,CAUpF"}
@@ -43,6 +43,7 @@
43
43
  */
44
44
  import { formatStandardIssues, } from "../schema/standard.js";
45
45
  import { INSTALL_RESPONSE_CONTRACT } from "./install.js";
46
+ import { isResponseResult } from "./runtime-core.js";
46
47
  const isPlainObject = (v) => typeof v === "object" && v !== null && !Array.isArray(v);
47
48
  /** Top-level keys present in the handler's result but absent from the validated value. */
48
49
  function droppedKeys(result, value) {
@@ -58,8 +59,10 @@ function droppedKeys(result, value) {
58
59
  */
59
60
  export function checkResponseContract(schema, result, mode) {
60
61
  // A handler may return a raw Response as deliberate control flow (a redirect, a stream). There is no
61
- // JSON payload to hold to the contract, and re-serializing one would corrupt it.
62
- if (result instanceof Response || result === undefined)
62
+ // JSON payload to hold to the contract, and re-serializing one would corrupt it. A `status(...)` is
63
+ // the same control flow in plain-data form: the contract describes the route's SUCCESS payload, so
64
+ // holding an early exit (a 401 body, say) to it would fail every guarded route that declares one.
65
+ if (result instanceof Response || result === undefined || isResponseResult(result))
63
66
  return { kind: "ok", value: result };
64
67
  const settled = schema["~standard"].validate(result);
65
68
  return settled instanceof Promise
@@ -1 +1 @@
1
- {"version":3,"file":"response-contract-lane.js","sourceRoot":"","sources":["../../src/server/response-contract-lane.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"response-contract-lane.js","sourceRoot":"","sources":["../../src/server/response-contract-lane.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { NodeResponseHook, ResponseBodyHook, ResponseHeadersHook } from "./node-outcome-hook.js";
2
+ type MaybePromise<T> = T | Promise<T>;
3
+ type WebResponseHook = (response: Response, req: Request) => MaybePromise<Response>;
4
+ export type { ResponseBodyHook, ResponseHeadersHook } from "./node-outcome-hook.js";
5
+ export interface ResponseObserverHost {
6
+ assertConfigurable(operation: string): void;
7
+ addResponseHook(web: WebResponseHook, node: NodeResponseHook | undefined): void;
8
+ enableResponseBodyTagging(): object;
9
+ responseBodyOwners(): ReadonlySet<object>;
10
+ }
11
+ export interface ResponseObserverMethods {
12
+ onResponseHeaders(fn: ResponseHeadersHook): this;
13
+ onResponseBody(fn: ResponseBodyHook): this;
14
+ onResponseRaw(fn: (response: Response, req: Request) => MaybePromise<Response>): this;
15
+ }
16
+ export interface ResponseObserverRuntime {
17
+ install(host: ResponseObserverHost): ResponseObserverMethods;
18
+ }
19
+ export declare function createResponseObserverRuntime(): ResponseObserverRuntime;
20
+ //# sourceMappingURL=response-observer-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-observer-runtime.d.ts","sourceRoot":"","sources":["../../src/server/response-observer-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EAEpB,MAAM,wBAAwB,CAAA;AAK/B,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;AACrC,KAAK,eAAe,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,KAAK,YAAY,CAAC,QAAQ,CAAC,CAAA;AAEnF,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAEnF,MAAM,WAAW,oBAAoB;IACnC,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3C,eAAe,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,gBAAgB,GAAG,SAAS,GAAG,IAAI,CAAA;IAC/E,yBAAyB,IAAI,MAAM,CAAA;IACnC,kBAAkB,IAAI,WAAW,CAAC,MAAM,CAAC,CAAA;CAC1C;AAED,MAAM,WAAW,uBAAuB;IACtC,iBAAiB,CAAC,EAAE,EAAE,mBAAmB,GAAG,IAAI,CAAA;IAChD,cAAc,CAAC,EAAE,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAC1C,aAAa,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,KAAK,YAAY,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAA;CACtF;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,IAAI,EAAE,oBAAoB,GAAG,uBAAuB,CAAA;CAC7D;AAgDD,wBAAgB,6BAA6B,IAAI,uBAAuB,CAuDvE"}
@@ -0,0 +1,95 @@
1
+ import { recordHeadersView } from "./node-outcome-hook.js";
2
+ import { knownMutableHeaders, rememberMutableHeaders, taggedResponseBody } from "./respond.js";
3
+ import { applyBodyReplacement, withReplacedBody } from "./response-hooks.js";
4
+ const HEADER_MUTABILITY_PROBE = "x-nifra-header-probe";
5
+ const GUARDED_RESPONSE_HEADERS = new WeakSet();
6
+ function hasMutableResponseHeaders(headers) {
7
+ if (knownMutableHeaders(headers))
8
+ return true;
9
+ if (GUARDED_RESPONSE_HEADERS.has(headers))
10
+ return false;
11
+ let previous = null;
12
+ try {
13
+ previous = headers.get(HEADER_MUTABILITY_PROBE);
14
+ headers.set(HEADER_MUTABILITY_PROBE, "1");
15
+ if (previous === null)
16
+ headers.delete(HEADER_MUTABILITY_PROBE);
17
+ else
18
+ headers.set(HEADER_MUTABILITY_PROBE, previous);
19
+ rememberMutableHeaders(headers);
20
+ return true;
21
+ }
22
+ catch {
23
+ try {
24
+ if (previous === null)
25
+ headers.delete(HEADER_MUTABILITY_PROBE);
26
+ else
27
+ headers.set(HEADER_MUTABILITY_PROBE, previous);
28
+ }
29
+ catch {
30
+ // A guarded response rejected the probe and the clone path is authoritative.
31
+ }
32
+ GUARDED_RESPONSE_HEADERS.add(headers);
33
+ return false;
34
+ }
35
+ }
36
+ function webRequestView(req) {
37
+ return { method: req.method, url: req.url, header: (name) => req.headers.get(name) };
38
+ }
39
+ function webHeadersView(response, req) {
40
+ const request = webRequestView(req);
41
+ if (!hasMutableResponseHeaders(response.headers)) {
42
+ const clone = new Response(response.body, response);
43
+ return { response: clone, headers: clone.headers, request };
44
+ }
45
+ return { response, headers: response.headers, request };
46
+ }
47
+ export function createResponseObserverRuntime() {
48
+ return {
49
+ install(host) {
50
+ return {
51
+ onResponseHeaders(fn) {
52
+ host.assertConfigurable("onResponseHeaders()");
53
+ host.addResponseHook((response, req) => {
54
+ const view = webHeadersView(response, req);
55
+ const out = fn(view.headers, view.request, response.status);
56
+ return out instanceof Promise ? out.then(() => view.response) : view.response;
57
+ }, (response, req) => fn(recordHeadersView(response), req, response.status));
58
+ return this;
59
+ },
60
+ onResponseBody(fn) {
61
+ host.assertConfigurable("onResponseBody()");
62
+ host.enableResponseBodyTagging();
63
+ host.addResponseHook((response, req) => {
64
+ const body = taggedResponseBody(response, host.responseBodyOwners());
65
+ if (body === undefined)
66
+ return response;
67
+ const view = webHeadersView(response, req);
68
+ const out = fn(body, view.headers, view.request, response.status);
69
+ return out instanceof Promise
70
+ ? out.then((replaced) => withReplacedBody(response, replaced))
71
+ : withReplacedBody(response, out);
72
+ }, (response, req) => {
73
+ if (response.body === null)
74
+ return undefined;
75
+ const out = fn(response.body, recordHeadersView(response), req, response.status);
76
+ if (out instanceof Promise)
77
+ return out.then((replaced) => applyBodyReplacement(response, replaced));
78
+ applyBodyReplacement(response, out);
79
+ return undefined;
80
+ });
81
+ return this;
82
+ },
83
+ onResponseRaw(fn) {
84
+ host.assertConfigurable("onResponseRaw()");
85
+ host.enableResponseBodyTagging();
86
+ host.addResponseHook((response, req) => taggedResponseBody(response, host.responseBodyOwners()) === undefined
87
+ ? fn(response, req)
88
+ : response, () => undefined);
89
+ return this;
90
+ },
91
+ };
92
+ },
93
+ };
94
+ }
95
+ //# sourceMappingURL=response-observer-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-observer-runtime.js","sourceRoot":"","sources":["../../src/server/response-observer-runtime.ts"],"names":[],"mappings":"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"}