@moqtap/codec 0.10.0 → 0.12.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 (262) hide show
  1. package/CHANGELOG.md +175 -0
  2. package/README.md +3 -2
  3. package/dist/auth-redaction-B9JJOlIY.d.cts +100 -0
  4. package/dist/auth-redaction-B9JJOlIY.d.ts +100 -0
  5. package/dist/{chunk-RYKQXBG6.cjs → chunk-27K5BUAG.cjs} +481 -517
  6. package/dist/{chunk-WCPENYNE.js → chunk-3RNQMGKA.js} +359 -390
  7. package/dist/{chunk-TSUZ6GJV.js → chunk-5AWIXOLB.js} +438 -469
  8. package/dist/{chunk-4XLYCT5Q.cjs → chunk-5IMHJIAZ.cjs} +52 -2
  9. package/dist/{chunk-KTNERCTZ.cjs → chunk-5JGZCKJO.cjs} +488 -518
  10. package/dist/{chunk-WCTMPDUX.cjs → chunk-73K4OSAN.cjs} +401 -432
  11. package/dist/{chunk-N2V7Z37J.js → chunk-7VQKRGRD.js} +19 -3
  12. package/dist/{chunk-BIBMDTU5.cjs → chunk-A3UCQOIB.cjs} +486 -517
  13. package/dist/{chunk-K2B3OVFK.js → chunk-A7PDMVXM.js} +24 -3
  14. package/dist/{chunk-VZHL2U2N.cjs → chunk-A7VQO6YC.cjs} +54 -38
  15. package/dist/{chunk-AQ445VV7.cjs → chunk-ACQHZLRZ.cjs} +66 -46
  16. package/dist/{chunk-L5DRACXS.js → chunk-BBICOMW6.js} +25 -3
  17. package/dist/{chunk-T4VWPKDG.cjs → chunk-BNIUVOCJ.cjs} +529 -599
  18. package/dist/{chunk-UKKDOOUO.cjs → chunk-CNC6ANS4.cjs} +58 -37
  19. package/dist/{chunk-OZRK73NQ.js → chunk-FDLQSWHK.js} +433 -469
  20. package/dist/{chunk-IJAF6PAY.js → chunk-FFNOE4UR.js} +19 -3
  21. package/dist/{chunk-CZNW3R5E.cjs → chunk-GMENT63T.cjs} +54 -38
  22. package/dist/{chunk-XCRCAUGI.cjs → chunk-HM7BLRVP.cjs} +291 -297
  23. package/dist/{chunk-XHAP2YST.js → chunk-HZONHFNO.js} +19 -3
  24. package/dist/{chunk-SDJTSMOW.cjs → chunk-ILYABWDK.cjs} +60 -38
  25. package/dist/{chunk-IDV2JYJ6.cjs → chunk-KRSFTZVO.cjs} +56 -40
  26. package/dist/{chunk-RIIA4ALQ.cjs → chunk-KSPH6KMH.cjs} +54 -38
  27. package/dist/{chunk-OUNN4IQB.cjs → chunk-KTY4LAUV.cjs} +482 -497
  28. package/dist/chunk-OBATJBNL.cjs +868 -0
  29. package/dist/{chunk-RZTLQAKF.js → chunk-OJNLJT5D.js} +0 -1
  30. package/dist/{chunk-FT3HDNIB.js → chunk-PJK2ZS3I.js} +467 -537
  31. package/dist/{chunk-G53WYUXL.js → chunk-PSMZKHOC.js} +441 -456
  32. package/dist/{chunk-7RE6KSIY.cjs → chunk-Q5JQGHWY.cjs} +0 -1
  33. package/dist/{chunk-BX2N7TZM.js → chunk-SQTUQY5E.js} +31 -11
  34. package/dist/chunk-T2TCLZZV.js +2304 -0
  35. package/dist/chunk-WB65UG7G.cjs +2304 -0
  36. package/dist/{chunk-CF5DDD3Q.js → chunk-WCRLAKDW.js} +239 -245
  37. package/dist/{chunk-KYVTM5VI.js → chunk-WL2YUEXH.js} +19 -3
  38. package/dist/chunk-XPCBPACE.js +868 -0
  39. package/dist/{chunk-KGDVC4O6.js → chunk-YCNIVZS7.js} +439 -469
  40. package/dist/{chunk-KLPWJU6W.js → chunk-YRZQVNZO.js} +50 -0
  41. package/dist/{codec-DOmAmFkI.d.ts → codec-B-oUU-cp.d.ts} +21 -2
  42. package/dist/{codec-DNmiG2e0.d.cts → codec-B3RpCI9k.d.cts} +21 -2
  43. package/dist/codec-B5pcOS3m.d.cts +38 -0
  44. package/dist/{codec-BNy5syCU.d.ts → codec-BLjxwK2f.d.ts} +21 -2
  45. package/dist/{codec-alVA27Uc.d.ts → codec-BV3CL_3m.d.ts} +21 -2
  46. package/dist/{codec-Czejcmxr.d.cts → codec-BYCDWgED.d.ts} +22 -3
  47. package/dist/{codec-DaXjRrOV.d.ts → codec-Bwqq7ZQT.d.ts} +22 -3
  48. package/dist/{codec-CFWu5KVT.d.cts → codec-BzWxOFby.d.cts} +22 -3
  49. package/dist/codec-C-nJhNNl.d.ts +38 -0
  50. package/dist/{codec-EvybrBuY.d.cts → codec-C11VEPbQ.d.cts} +21 -2
  51. package/dist/codec-C9U0Vzy9.d.cts +68 -0
  52. package/dist/{codec-Cm3D261p.d.ts → codec-CCx22jnd.d.ts} +21 -2
  53. package/dist/{codec-CwZ6OCPP.d.ts → codec-CP3zkfTv.d.ts} +22 -3
  54. package/dist/{codec-BxQTybUX.d.cts → codec-CRmOLDpt.d.ts} +22 -3
  55. package/dist/{codec-DzkdW4kO.d.cts → codec-CUu56DDU.d.cts} +21 -2
  56. package/dist/codec-Cb8mUre3.d.ts +68 -0
  57. package/dist/{codec-f7vxeVIS.d.cts → codec-CemqAQdR.d.cts} +22 -3
  58. package/dist/{codec-gl4_QEva.d.ts → codec-CxMvsVMS.d.ts} +21 -2
  59. package/dist/{codec-Bd60SGKH.d.cts → codec-DIgMVTi4.d.cts} +21 -2
  60. package/dist/{codec--CVeqGQv.d.ts → codec-DYzozF68.d.ts} +21 -2
  61. package/dist/{codec-CWnf8mn_.d.cts → codec-D_O9zxax.d.ts} +22 -3
  62. package/dist/{codec-08ZOr5wI.d.ts → codec-Ddc-QxV6.d.cts} +22 -3
  63. package/dist/{codec-CBdOIfMY.d.ts → codec-DoojMl2z.d.cts} +22 -3
  64. package/dist/{codec-BrTi4K7r.d.cts → codec-DqdjiOQF.d.ts} +22 -3
  65. package/dist/{codec-CXCjya_G.d.cts → codec-Dstemwrq.d.cts} +21 -2
  66. package/dist/{codec-Dl_QIXMz.d.ts → codec-Dt6nuejp.d.ts} +21 -2
  67. package/dist/{codec-Bux_Q40X.d.ts → codec-DuYhd8fP.d.cts} +22 -3
  68. package/dist/{codec-Cfo_z5ET.d.cts → codec-DwNOFgPU.d.cts} +21 -2
  69. package/dist/{codec-guzqtfMk.d.cts → codec-l01BpNhF.d.cts} +21 -2
  70. package/dist/{codec-C3mdsGx3.d.ts → codec-psN2vB6I.d.cts} +22 -3
  71. package/dist/draft07-session.d.cts +3 -3
  72. package/dist/draft07-session.d.ts +3 -3
  73. package/dist/draft07.cjs +48 -4
  74. package/dist/draft07.d.cts +44 -4
  75. package/dist/draft07.d.ts +44 -4
  76. package/dist/draft07.js +49 -5
  77. package/dist/draft08-session.d.cts +3 -3
  78. package/dist/draft08-session.d.ts +3 -3
  79. package/dist/draft08.cjs +76 -3
  80. package/dist/draft08.d.cts +73 -5
  81. package/dist/draft08.d.ts +73 -5
  82. package/dist/draft08.js +77 -4
  83. package/dist/draft09-session.d.cts +3 -3
  84. package/dist/draft09-session.d.ts +3 -3
  85. package/dist/draft09.cjs +76 -3
  86. package/dist/draft09.d.cts +73 -5
  87. package/dist/draft09.d.ts +73 -5
  88. package/dist/draft09.js +77 -4
  89. package/dist/draft10-session.d.cts +3 -3
  90. package/dist/draft10-session.d.ts +3 -3
  91. package/dist/draft10.cjs +76 -3
  92. package/dist/draft10.d.cts +73 -5
  93. package/dist/draft10.d.ts +73 -5
  94. package/dist/draft10.js +77 -4
  95. package/dist/draft11-session.d.cts +3 -3
  96. package/dist/draft11-session.d.ts +3 -3
  97. package/dist/draft11.cjs +104 -3
  98. package/dist/draft11.d.cts +101 -5
  99. package/dist/draft11.d.ts +101 -5
  100. package/dist/draft11.js +105 -4
  101. package/dist/draft12-session.d.cts +3 -3
  102. package/dist/draft12-session.d.ts +3 -3
  103. package/dist/draft12.cjs +113 -3
  104. package/dist/draft12.d.cts +110 -5
  105. package/dist/draft12.d.ts +110 -5
  106. package/dist/draft12.js +114 -4
  107. package/dist/draft13-session.d.cts +3 -3
  108. package/dist/draft13-session.d.ts +3 -3
  109. package/dist/draft13.cjs +105 -3
  110. package/dist/draft13.d.cts +102 -5
  111. package/dist/draft13.d.ts +102 -5
  112. package/dist/draft13.js +106 -4
  113. package/dist/draft14-session.d.cts +3 -3
  114. package/dist/draft14-session.d.ts +3 -3
  115. package/dist/draft14.cjs +107 -3
  116. package/dist/draft14.d.cts +104 -31
  117. package/dist/draft14.d.ts +104 -31
  118. package/dist/draft14.js +108 -4
  119. package/dist/draft15-session.d.cts +4 -4
  120. package/dist/draft15-session.d.ts +4 -4
  121. package/dist/draft15.cjs +69 -3
  122. package/dist/draft15.d.cts +68 -25
  123. package/dist/draft15.d.ts +68 -25
  124. package/dist/draft15.js +70 -4
  125. package/dist/draft16-session.cjs +2 -2
  126. package/dist/draft16-session.d.cts +4 -4
  127. package/dist/draft16-session.d.ts +4 -4
  128. package/dist/draft16-session.js +1 -1
  129. package/dist/draft16.cjs +76 -8
  130. package/dist/draft16.d.cts +70 -16
  131. package/dist/draft16.d.ts +70 -16
  132. package/dist/draft16.js +73 -5
  133. package/dist/draft17-session.d.cts +4 -4
  134. package/dist/draft17-session.d.ts +4 -4
  135. package/dist/draft17.cjs +77 -3
  136. package/dist/draft17.d.cts +75 -6
  137. package/dist/draft17.d.ts +75 -6
  138. package/dist/draft17.js +78 -4
  139. package/dist/draft18-session.d.cts +4 -4
  140. package/dist/draft18-session.d.ts +4 -4
  141. package/dist/draft18.cjs +8 -3
  142. package/dist/draft18.d.cts +6 -5
  143. package/dist/draft18.d.ts +6 -5
  144. package/dist/draft18.js +9 -4
  145. package/dist/draft19-session.d.cts +4 -4
  146. package/dist/draft19-session.d.ts +4 -4
  147. package/dist/draft19.cjs +11 -4
  148. package/dist/draft19.d.cts +6 -5
  149. package/dist/draft19.d.ts +6 -5
  150. package/dist/draft19.js +12 -5
  151. package/dist/draft20-session.d.cts +4 -4
  152. package/dist/draft20-session.d.ts +4 -4
  153. package/dist/draft20.cjs +8 -3
  154. package/dist/draft20.d.cts +6 -5
  155. package/dist/draft20.d.ts +6 -5
  156. package/dist/draft20.js +9 -4
  157. package/dist/draft21-session.cjs +8 -0
  158. package/dist/draft21-session.d.cts +195 -0
  159. package/dist/draft21-session.d.ts +195 -0
  160. package/dist/draft21-session.js +8 -0
  161. package/dist/draft21.cjs +222 -0
  162. package/dist/draft21.d.cts +176 -0
  163. package/dist/draft21.d.ts +176 -0
  164. package/dist/draft21.js +222 -0
  165. package/dist/index.cjs +37 -31
  166. package/dist/index.d.cts +29 -23
  167. package/dist/index.d.ts +29 -23
  168. package/dist/index.js +22 -16
  169. package/dist/{session-types-Dn7b3RZM.d.ts → session-types-Cxx7W8zZ.d.ts} +1 -1
  170. package/dist/{session-types-B9idsih-.d.cts → session-types-DZkI_qFG.d.cts} +1 -1
  171. package/dist/session.cjs +7 -3
  172. package/dist/session.d.cts +11 -9
  173. package/dist/session.d.ts +11 -9
  174. package/dist/session.js +6 -2
  175. package/dist/{types-DG5_iKuv.d.cts → types-2NisMA8_.d.cts} +1 -1
  176. package/dist/{types-DG5_iKuv.d.ts → types-2NisMA8_.d.ts} +1 -1
  177. package/dist/{types-C1rxh-id.d.cts → types-Btp416jt.d.cts} +8 -0
  178. package/dist/{types-C1rxh-id.d.ts → types-Btp416jt.d.ts} +8 -0
  179. package/dist/{types-CZTzbIzQ.d.cts → types-BxTL1NXw.d.cts} +7 -0
  180. package/dist/{types-CZTzbIzQ.d.ts → types-BxTL1NXw.d.ts} +7 -0
  181. package/dist/{types-pShrs3fN.d.cts → types-CuibHYcf.d.cts} +7 -0
  182. package/dist/{types-pShrs3fN.d.ts → types-CuibHYcf.d.ts} +7 -0
  183. package/dist/{types-CY-QWxd-.d.cts → types-CwN7AEoL.d.cts} +13 -1
  184. package/dist/{types-CY-QWxd-.d.ts → types-CwN7AEoL.d.ts} +13 -1
  185. package/dist/{types-D4bmW8rY.d.cts → types-DAnalt5K.d.cts} +7 -0
  186. package/dist/{types-D4bmW8rY.d.ts → types-DAnalt5K.d.ts} +7 -0
  187. package/dist/types-DDwidj2d.d.cts +371 -0
  188. package/dist/types-DDwidj2d.d.ts +371 -0
  189. package/dist/{types-Bg86GGVZ.d.cts → types-DxXNP32l.d.cts} +8 -0
  190. package/dist/{types-Bg86GGVZ.d.ts → types-DxXNP32l.d.ts} +8 -0
  191. package/package.json +15 -3
  192. package/src/core/auth-redaction.ts +190 -0
  193. package/src/core/types.ts +1 -0
  194. package/src/drafts/draft07/codec.ts +40 -0
  195. package/src/drafts/draft07/error-codes.ts +44 -0
  196. package/src/drafts/draft07/index.ts +15 -0
  197. package/src/drafts/draft08/codec.ts +40 -0
  198. package/src/drafts/draft08/error-codes.ts +76 -0
  199. package/src/drafts/draft08/index.ts +21 -0
  200. package/src/drafts/draft09/codec.ts +40 -0
  201. package/src/drafts/draft09/error-codes.ts +76 -0
  202. package/src/drafts/draft09/index.ts +21 -0
  203. package/src/drafts/draft10/codec.ts +40 -0
  204. package/src/drafts/draft10/error-codes.ts +76 -0
  205. package/src/drafts/draft10/index.ts +21 -0
  206. package/src/drafts/draft11/codec.ts +60 -0
  207. package/src/drafts/draft11/error-codes.ts +106 -0
  208. package/src/drafts/draft11/index.ts +23 -0
  209. package/src/drafts/draft12/codec.ts +61 -0
  210. package/src/drafts/draft12/error-codes.ts +116 -0
  211. package/src/drafts/draft12/index.ts +25 -0
  212. package/src/drafts/draft13/codec.ts +69 -11
  213. package/src/drafts/draft13/error-codes.ts +107 -0
  214. package/src/drafts/draft13/index.ts +23 -0
  215. package/src/drafts/draft13/types.ts +1 -1
  216. package/src/drafts/draft14/codec.ts +65 -4
  217. package/src/drafts/draft14/data-streams.ts +331 -259
  218. package/src/drafts/draft14/error-codes.ts +109 -0
  219. package/src/drafts/draft14/index.ts +23 -0
  220. package/src/drafts/draft15/codec.ts +65 -8
  221. package/src/drafts/draft15/data-streams.ts +489 -444
  222. package/src/drafts/draft15/error-codes.ts +66 -0
  223. package/src/drafts/draft15/index.ts +15 -0
  224. package/src/drafts/draft15/types.ts +7 -0
  225. package/src/drafts/draft16/codec.ts +146 -52
  226. package/src/drafts/draft16/data-streams.ts +513 -442
  227. package/src/drafts/draft16/error-codes.ts +68 -0
  228. package/src/drafts/draft16/index.ts +15 -0
  229. package/src/drafts/draft16/messages.ts +4 -4
  230. package/src/drafts/draft16/session-fsm.ts +0 -1
  231. package/src/drafts/draft16/types.ts +22 -8
  232. package/src/drafts/draft17/codec.ts +73 -12
  233. package/src/drafts/draft17/data-streams.ts +567 -488
  234. package/src/drafts/draft17/index.ts +15 -0
  235. package/src/drafts/draft17/types.ts +7 -0
  236. package/src/drafts/draft18/codec.ts +66 -9
  237. package/src/drafts/draft18/data-streams.ts +570 -482
  238. package/src/drafts/draft18/index.ts +3 -0
  239. package/src/drafts/draft18/types.ts +16 -8
  240. package/src/drafts/draft19/codec.ts +70 -10
  241. package/src/drafts/draft19/data-streams.ts +570 -482
  242. package/src/drafts/draft19/error-codes.ts +3 -1
  243. package/src/drafts/draft19/index.ts +3 -0
  244. package/src/drafts/draft19/messages.ts +3 -1
  245. package/src/drafts/draft19/types.ts +22 -11
  246. package/src/drafts/draft20/codec.ts +90 -23
  247. package/src/drafts/draft20/data-streams.ts +610 -563
  248. package/src/drafts/draft20/index.ts +3 -0
  249. package/src/drafts/draft20/types.ts +14 -2
  250. package/src/drafts/draft21/codec.ts +1816 -0
  251. package/src/drafts/draft21/data-streams.ts +1338 -0
  252. package/src/drafts/draft21/error-codes.ts +135 -0
  253. package/src/drafts/draft21/index.ts +168 -0
  254. package/src/drafts/draft21/messages.ts +68 -0
  255. package/src/drafts/draft21/rules.ts +107 -0
  256. package/src/drafts/draft21/session-fsm.ts +1063 -0
  257. package/src/drafts/draft21/session.ts +21 -0
  258. package/src/drafts/draft21/types.ts +473 -0
  259. package/src/index.ts +9 -1
  260. package/src/session.ts +4 -0
  261. package/dist/codec-BJ7BHuiZ.d.ts +0 -18
  262. package/dist/codec-C6Mx4bwz.d.cts +0 -18
@@ -1,3 +1,49 @@
1
+ // src/core/auth-redaction.ts
2
+ var REDACTION_FILL = 0;
3
+ var spans = null;
4
+ function recordAuthValueSpan(start, length) {
5
+ if (spans === null || length <= 0) return;
6
+ spans.push(start, length);
7
+ }
8
+ function withoutAuthValueSpans(decode) {
9
+ const saved = spans;
10
+ spans = null;
11
+ try {
12
+ return decode();
13
+ } finally {
14
+ spans = saved;
15
+ }
16
+ }
17
+ function redactWith(frame, payloadStart, decode) {
18
+ const outer = spans;
19
+ spans = [];
20
+ let captured;
21
+ let decoded = false;
22
+ try {
23
+ decoded = decode();
24
+ } catch {
25
+ } finally {
26
+ captured = spans;
27
+ spans = outer;
28
+ }
29
+ if (captured.length === 0) return { bytes: frame, redacted: 0, incomplete: false, decoded };
30
+ let out = null;
31
+ let redacted = 0;
32
+ let incomplete = false;
33
+ for (let i = 0; i < captured.length; i += 2) {
34
+ const start = payloadStart + captured[i];
35
+ const length = captured[i + 1];
36
+ if (payloadStart < 0 || start < 0 || start + length > frame.length) {
37
+ incomplete = true;
38
+ continue;
39
+ }
40
+ if (out === null) out = frame.slice();
41
+ out.fill(REDACTION_FILL, start, start + length);
42
+ redacted++;
43
+ }
44
+ return { bytes: out ?? frame, redacted, incomplete, decoded };
45
+ }
46
+
1
47
  // src/core/types.ts
2
48
  var DecodeError = class extends Error {
3
49
  code;
@@ -318,6 +364,10 @@ function hexToBytes(hex) {
318
364
  }
319
365
 
320
366
  export {
367
+ REDACTION_FILL,
368
+ recordAuthValueSpan,
369
+ withoutAuthValueSpans,
370
+ redactWith,
321
371
  DecodeError,
322
372
  BufferReader,
323
373
  MoqtBufferReader,
@@ -1,4 +1,5 @@
1
- import { B as BaseCodec, b as DecodeResult } from './types-DG5_iKuv.js';
1
+ import { A as AuthRedaction } from './auth-redaction-B9JJOlIY.js';
2
+ import { B as BaseCodec, b as DecodeResult } from './types-2NisMA8_.js';
2
3
  import { D as Draft13Message, S as SubgroupStream, c as DatagramObject, F as FetchStream, b as Draft13DataStream } from './types-DjxexghA.js';
3
4
 
4
5
  /**
@@ -25,5 +26,23 @@ interface Draft13Codec extends BaseCodec<Draft13Message> {
25
26
  createStreamDecoder(): TransformStream<Uint8Array, Draft13Message>;
26
27
  }
27
28
  declare function createDraft13Codec(): Draft13Codec;
29
+ /**
30
+ * Overwrite every Authorization Token value in a draft-13 control frame.
31
+ *
32
+ * One decode, whose *output is discarded*: the point is not to read the
33
+ * message, it is to learn where the credentials were so the caller never has to
34
+ * hold a frame that contains one. A caller that also wants the message should
35
+ * decode the **redacted** frame with {@link decodeMessage}, which then cannot
36
+ * produce a value because there is no longer one in the bytes.
37
+ *
38
+ * A frame that fails to decode is still redacted as far as the decode got. That
39
+ * is the useful direction to fail in: a value that was read is a value that was
40
+ * exposed, whatever went wrong after it.
41
+ *
42
+ * See {@link AuthRedaction.incomplete} for the one result a caller must not
43
+ * treat as clean, and {@link AuthRedaction.decoded} for the residual it cannot
44
+ * close.
45
+ */
46
+ declare function redactAuthTokens(bytes: Uint8Array): AuthRedaction;
28
47
 
29
- export { type Draft13Codec as D, createStreamDecoder as a, createDraft13Codec as c, decodeMessage as d, encodeMessage as e };
48
+ export { type Draft13Codec as D, createStreamDecoder as a, createDraft13Codec as c, decodeMessage as d, encodeMessage as e, redactAuthTokens as r };
@@ -1,4 +1,5 @@
1
- import { B as BaseCodec, b as DecodeResult } from './types-DG5_iKuv.cjs';
1
+ import { A as AuthRedaction } from './auth-redaction-B9JJOlIY.cjs';
2
+ import { B as BaseCodec, b as DecodeResult } from './types-2NisMA8_.cjs';
2
3
  import { D as Draft13Message, S as SubgroupStream, c as DatagramObject, F as FetchStream, b as Draft13DataStream } from './types-DjxexghA.cjs';
3
4
 
4
5
  /**
@@ -25,5 +26,23 @@ interface Draft13Codec extends BaseCodec<Draft13Message> {
25
26
  createStreamDecoder(): TransformStream<Uint8Array, Draft13Message>;
26
27
  }
27
28
  declare function createDraft13Codec(): Draft13Codec;
29
+ /**
30
+ * Overwrite every Authorization Token value in a draft-13 control frame.
31
+ *
32
+ * One decode, whose *output is discarded*: the point is not to read the
33
+ * message, it is to learn where the credentials were so the caller never has to
34
+ * hold a frame that contains one. A caller that also wants the message should
35
+ * decode the **redacted** frame with {@link decodeMessage}, which then cannot
36
+ * produce a value because there is no longer one in the bytes.
37
+ *
38
+ * A frame that fails to decode is still redacted as far as the decode got. That
39
+ * is the useful direction to fail in: a value that was read is a value that was
40
+ * exposed, whatever went wrong after it.
41
+ *
42
+ * See {@link AuthRedaction.incomplete} for the one result a caller must not
43
+ * treat as clean, and {@link AuthRedaction.decoded} for the residual it cannot
44
+ * close.
45
+ */
46
+ declare function redactAuthTokens(bytes: Uint8Array): AuthRedaction;
28
47
 
29
- export { type Draft13Codec as D, createStreamDecoder as a, createDraft13Codec as c, decodeMessage as d, encodeMessage as e };
48
+ export { type Draft13Codec as D, createStreamDecoder as a, createDraft13Codec as c, decodeMessage as d, encodeMessage as e, redactAuthTokens as r };
@@ -0,0 +1,38 @@
1
+ import { A as AuthRedaction } from './auth-redaction-B9JJOlIY.cjs';
2
+ import { B as BaseCodec, b as DecodeResult } from './types-2NisMA8_.cjs';
3
+ import { D as Draft07Message, S as SubgroupStream, b as DatagramObject, F as FetchStream } from './types-Dl4IaAHR.cjs';
4
+
5
+ interface Draft07Codec extends BaseCodec<Draft07Message> {
6
+ readonly draft: '07';
7
+ encodeVarInt(value: number | bigint): Uint8Array;
8
+ decodeVarInt(bytes: Uint8Array, offset?: number): DecodeResult<bigint>;
9
+ encodeSubgroupStream(stream: SubgroupStream): Uint8Array;
10
+ decodeSubgroupStream(bytes: Uint8Array): DecodeResult<SubgroupStream>;
11
+ encodeDatagram(dg: DatagramObject): Uint8Array;
12
+ decodeDatagram(bytes: Uint8Array): DecodeResult<DatagramObject>;
13
+ encodeFetchStream(stream: FetchStream): Uint8Array;
14
+ decodeFetchStream(bytes: Uint8Array): DecodeResult<FetchStream>;
15
+ createStreamDecoder(): TransformStream<Uint8Array, Draft07Message>;
16
+ }
17
+ declare function createDraft07Codec(): Draft07Codec;
18
+
19
+ /**
20
+ * Overwrite every AUTHORIZATION_INFO value in a draft-07 control frame.
21
+ *
22
+ * One decode, whose *output is discarded*: the point is not to read the
23
+ * message, it is to learn where the credentials were so the caller never has to
24
+ * hold a frame that contains one. A caller that also wants the message should
25
+ * decode the **redacted** frame with {@link decodeMessage}, which then cannot
26
+ * produce a value because there is no longer one in the bytes.
27
+ *
28
+ * A frame that fails to decode is still redacted as far as the decode got. That
29
+ * is the useful direction to fail in: a value that was read is a value that was
30
+ * exposed, whatever went wrong after it.
31
+ *
32
+ * See {@link AuthRedaction.incomplete} for the one result a caller must not
33
+ * treat as clean, and {@link AuthRedaction.decoded} for the residual it cannot
34
+ * close.
35
+ */
36
+ declare function redactAuthTokens(bytes: Uint8Array): AuthRedaction;
37
+
38
+ export { type Draft07Codec as D, createDraft07Codec as c, redactAuthTokens as r };
@@ -1,4 +1,5 @@
1
- import { B as BaseCodec, b as DecodeResult } from './types-DG5_iKuv.js';
1
+ import { A as AuthRedaction } from './auth-redaction-B9JJOlIY.js';
2
+ import { B as BaseCodec, b as DecodeResult } from './types-2NisMA8_.js';
2
3
  import { D as Draft09Message, S as SubgroupStream, c as DatagramObject, d as DatagramStatusObject, F as FetchStream, b as Draft09DataStream } from './types-B3g5G9KP.js';
3
4
 
4
5
  declare function encodeMessage(message: Draft09Message): Uint8Array;
@@ -19,5 +20,23 @@ interface Draft09Codec extends BaseCodec<Draft09Message> {
19
20
  createStreamDecoder(): TransformStream<Uint8Array, Draft09Message>;
20
21
  }
21
22
  declare function createDraft09Codec(): Draft09Codec;
23
+ /**
24
+ * Overwrite every AUTHORIZATION_INFO value in a draft-09 control frame.
25
+ *
26
+ * One decode, whose *output is discarded*: the point is not to read the
27
+ * message, it is to learn where the credentials were so the caller never has to
28
+ * hold a frame that contains one. A caller that also wants the message should
29
+ * decode the **redacted** frame with {@link decodeMessage}, which then cannot
30
+ * produce a value because there is no longer one in the bytes.
31
+ *
32
+ * A frame that fails to decode is still redacted as far as the decode got. That
33
+ * is the useful direction to fail in: a value that was read is a value that was
34
+ * exposed, whatever went wrong after it.
35
+ *
36
+ * See {@link AuthRedaction.incomplete} for the one result a caller must not
37
+ * treat as clean, and {@link AuthRedaction.decoded} for the residual it cannot
38
+ * close.
39
+ */
40
+ declare function redactAuthTokens(bytes: Uint8Array): AuthRedaction;
22
41
 
23
- export { type Draft09Codec as D, createStreamDecoder as a, createDraft09Codec as c, decodeMessage as d, encodeMessage as e };
42
+ export { type Draft09Codec as D, createStreamDecoder as a, createDraft09Codec as c, decodeMessage as d, encodeMessage as e, redactAuthTokens as r };
@@ -1,4 +1,5 @@
1
- import { B as BaseCodec, b as DecodeResult } from './types-DG5_iKuv.js';
1
+ import { A as AuthRedaction } from './auth-redaction-B9JJOlIY.js';
2
+ import { B as BaseCodec, b as DecodeResult } from './types-2NisMA8_.js';
2
3
  import { D as Draft11Message, S as SubgroupStream, c as DatagramObject, F as FetchStream, b as Draft11DataStream } from './types-D0kTgUuL.js';
3
4
 
4
5
  /**
@@ -23,5 +24,23 @@ interface Draft11Codec extends BaseCodec<Draft11Message> {
23
24
  createStreamDecoder(): TransformStream<Uint8Array, Draft11Message>;
24
25
  }
25
26
  declare function createDraft11Codec(): Draft11Codec;
27
+ /**
28
+ * Overwrite every Authorization Token value in a draft-11 control frame.
29
+ *
30
+ * One decode, whose *output is discarded*: the point is not to read the
31
+ * message, it is to learn where the credentials were so the caller never has to
32
+ * hold a frame that contains one. A caller that also wants the message should
33
+ * decode the **redacted** frame with {@link decodeMessage}, which then cannot
34
+ * produce a value because there is no longer one in the bytes.
35
+ *
36
+ * A frame that fails to decode is still redacted as far as the decode got. That
37
+ * is the useful direction to fail in: a value that was read is a value that was
38
+ * exposed, whatever went wrong after it.
39
+ *
40
+ * See {@link AuthRedaction.incomplete} for the one result a caller must not
41
+ * treat as clean, and {@link AuthRedaction.decoded} for the residual it cannot
42
+ * close.
43
+ */
44
+ declare function redactAuthTokens(bytes: Uint8Array): AuthRedaction;
26
45
 
27
- export { type Draft11Codec as D, createStreamDecoder as a, createDraft11Codec as c, decodeMessage as d, encodeMessage as e };
46
+ export { type Draft11Codec as D, createStreamDecoder as a, createDraft11Codec as c, decodeMessage as d, encodeMessage as e, redactAuthTokens as r };
@@ -1,5 +1,6 @@
1
- import { B as BaseCodec, b as DecodeResult } from './types-DG5_iKuv.cjs';
2
- import { D as Draft17Message, f as SubgroupStream, d as DatagramObject, e as FetchStream, c as Draft17DataStream, S as SubgroupStreamHeader, O as ObjectPayload, F as FetchStreamHeader, b as DataStreamEvent } from './types-D4bmW8rY.cjs';
1
+ import { A as AuthRedaction } from './auth-redaction-B9JJOlIY.js';
2
+ import { B as BaseCodec, b as DecodeResult } from './types-2NisMA8_.js';
3
+ import { D as Draft17Message, f as SubgroupStream, d as DatagramObject, e as FetchStream, c as Draft17DataStream, S as SubgroupStreamHeader, O as ObjectPayload, F as FetchStreamHeader, b as DataStreamEvent } from './types-DAnalt5K.js';
3
4
 
4
5
  /**
5
6
  * Encode a draft-17 control message with type(varint) + length(uint16 BE) + payload.
@@ -26,5 +27,23 @@ interface Draft17Codec extends BaseCodec<Draft17Message> {
26
27
  createDataStreamDecoder(): TransformStream<Uint8Array, DataStreamEvent>;
27
28
  }
28
29
  declare function createDraft17Codec(): Draft17Codec;
30
+ /**
31
+ * Overwrite every Authorization Token value in a draft-17 control frame.
32
+ *
33
+ * One decode, whose *output is discarded*: the point is not to read the
34
+ * message, it is to learn where the credentials were so the caller never has to
35
+ * hold a frame that contains one. A caller that also wants the message should
36
+ * decode the **redacted** frame with {@link decodeMessage}, which then cannot
37
+ * produce a value because there is no longer one in the bytes.
38
+ *
39
+ * A frame that fails to decode is still redacted as far as the decode got. That
40
+ * is the useful direction to fail in: a value that was read is a value that was
41
+ * exposed, whatever went wrong after it.
42
+ *
43
+ * See {@link AuthRedaction.incomplete} for the one result a caller must not
44
+ * treat as clean, and {@link AuthRedaction.decoded} for the residual it cannot
45
+ * close.
46
+ */
47
+ declare function redactAuthTokens(bytes: Uint8Array): AuthRedaction;
29
48
 
30
- export { type Draft17Codec as D, createStreamDecoder as a, createDraft17Codec as c, decodeMessage as d, encodeMessage as e };
49
+ export { type Draft17Codec as D, createStreamDecoder as a, createDraft17Codec as c, decodeMessage as d, encodeMessage as e, redactAuthTokens as r };
@@ -1,5 +1,6 @@
1
- import { B as BaseCodec, b as DecodeResult } from './types-DG5_iKuv.js';
2
- import { D as Draft18Message, f as SubgroupStream, d as DatagramObject, e as FetchStream, c as Draft18DataStream, S as SubgroupStreamHeader, O as ObjectPayload, F as FetchStreamHeader, b as DataStreamEvent } from './types-Bg86GGVZ.js';
1
+ import { A as AuthRedaction } from './auth-redaction-B9JJOlIY.js';
2
+ import { B as BaseCodec, b as DecodeResult } from './types-2NisMA8_.js';
3
+ import { D as Draft18Message, f as SubgroupStream, d as DatagramObject, e as FetchStream, c as Draft18DataStream, S as SubgroupStreamHeader, O as ObjectPayload, F as FetchStreamHeader, b as DataStreamEvent } from './types-DxXNP32l.js';
3
4
 
4
5
  /**
5
6
  * Encode a draft-18 control message with type(varint) + length(uint16 BE) + payload.
@@ -26,5 +27,23 @@ interface Draft18Codec extends BaseCodec<Draft18Message> {
26
27
  createDataStreamDecoder(): TransformStream<Uint8Array, DataStreamEvent>;
27
28
  }
28
29
  declare function createDraft18Codec(): Draft18Codec;
30
+ /**
31
+ * Overwrite every Authorization Token value in a draft-18 control frame.
32
+ *
33
+ * One decode, whose *output is discarded*: the point is not to read the
34
+ * message, it is to learn where the credentials were so the caller never has to
35
+ * hold a frame that contains one. A caller that also wants the message should
36
+ * decode the **redacted** frame with {@link decodeMessage}, which then cannot
37
+ * produce a value because there is no longer one in the bytes.
38
+ *
39
+ * A frame that fails to decode is still redacted as far as the decode got. That
40
+ * is the useful direction to fail in: a value that was read is a value that was
41
+ * exposed, whatever went wrong after it.
42
+ *
43
+ * See {@link AuthRedaction.incomplete} for the one result a caller must not
44
+ * treat as clean, and {@link AuthRedaction.decoded} for the residual it cannot
45
+ * close.
46
+ */
47
+ declare function redactAuthTokens(bytes: Uint8Array): AuthRedaction;
29
48
 
30
- export { type Draft18Codec as D, createStreamDecoder as a, createDraft18Codec as c, decodeMessage as d, encodeMessage as e };
49
+ export { type Draft18Codec as D, createStreamDecoder as a, createDraft18Codec as c, decodeMessage as d, encodeMessage as e, redactAuthTokens as r };
@@ -1,5 +1,6 @@
1
- import { B as BaseCodec, b as DecodeResult } from './types-DG5_iKuv.cjs';
2
- import { D as Draft20Message, f as SubgroupStream, d as DatagramObject, e as FetchStream, c as Draft20DataStream, S as SubgroupStreamHeader, O as ObjectPayload, F as FetchStreamHeader, b as DataStreamEvent } from './types-CY-QWxd-.cjs';
1
+ import { A as AuthRedaction } from './auth-redaction-B9JJOlIY.cjs';
2
+ import { B as BaseCodec, b as DecodeResult } from './types-2NisMA8_.cjs';
3
+ import { D as Draft20Message, f as SubgroupStream, d as DatagramObject, e as FetchStream, c as Draft20DataStream, S as SubgroupStreamHeader, O as ObjectPayload, F as FetchStreamHeader, b as DataStreamEvent } from './types-CwN7AEoL.cjs';
3
4
 
4
5
  /**
5
6
  * `PUBLISH_DONE.Stream Count` "unknown" sentinel — draft-20 Section 10.12.
@@ -45,5 +46,23 @@ interface Draft20Codec extends BaseCodec<Draft20Message> {
45
46
  createDataStreamDecoder(): TransformStream<Uint8Array, DataStreamEvent>;
46
47
  }
47
48
  declare function createDraft20Codec(): Draft20Codec;
49
+ /**
50
+ * Overwrite every Authorization Token value in a draft-20 control frame.
51
+ *
52
+ * One decode, whose *output is discarded*: the point is not to read the
53
+ * message, it is to learn where the tokens were so the caller never has to hold
54
+ * a frame that contains one. A caller that also wants the message should decode
55
+ * the **redacted** frame with {@link decodeMessage}, which then cannot produce a
56
+ * token value because there is no longer one in the bytes.
57
+ *
58
+ * A frame that fails to decode is still redacted as far as the decode got. That
59
+ * is the useful direction to fail in: a value that was read is a value that was
60
+ * exposed, whatever went wrong after it.
61
+ *
62
+ * See {@link AuthRedaction.incomplete} for the one result a caller must not
63
+ * treat as clean, and {@link AuthRedaction.decoded} for the residual it cannot
64
+ * close.
65
+ */
66
+ declare function redactAuthTokens(bytes: Uint8Array): AuthRedaction;
48
67
 
49
- export { type Draft20Codec as D, UNKNOWN_STREAM_COUNT as U, createStreamDecoder as a, createDraft20Codec as c, decodeMessage as d, encodeMessage as e };
68
+ export { type Draft20Codec as D, UNKNOWN_STREAM_COUNT as U, createStreamDecoder as a, createDraft20Codec as c, decodeMessage as d, encodeMessage as e, redactAuthTokens as r };
@@ -0,0 +1,38 @@
1
+ import { A as AuthRedaction } from './auth-redaction-B9JJOlIY.js';
2
+ import { B as BaseCodec, b as DecodeResult } from './types-2NisMA8_.js';
3
+ import { D as Draft07Message, S as SubgroupStream, b as DatagramObject, F as FetchStream } from './types-Dl4IaAHR.js';
4
+
5
+ interface Draft07Codec extends BaseCodec<Draft07Message> {
6
+ readonly draft: '07';
7
+ encodeVarInt(value: number | bigint): Uint8Array;
8
+ decodeVarInt(bytes: Uint8Array, offset?: number): DecodeResult<bigint>;
9
+ encodeSubgroupStream(stream: SubgroupStream): Uint8Array;
10
+ decodeSubgroupStream(bytes: Uint8Array): DecodeResult<SubgroupStream>;
11
+ encodeDatagram(dg: DatagramObject): Uint8Array;
12
+ decodeDatagram(bytes: Uint8Array): DecodeResult<DatagramObject>;
13
+ encodeFetchStream(stream: FetchStream): Uint8Array;
14
+ decodeFetchStream(bytes: Uint8Array): DecodeResult<FetchStream>;
15
+ createStreamDecoder(): TransformStream<Uint8Array, Draft07Message>;
16
+ }
17
+ declare function createDraft07Codec(): Draft07Codec;
18
+
19
+ /**
20
+ * Overwrite every AUTHORIZATION_INFO value in a draft-07 control frame.
21
+ *
22
+ * One decode, whose *output is discarded*: the point is not to read the
23
+ * message, it is to learn where the credentials were so the caller never has to
24
+ * hold a frame that contains one. A caller that also wants the message should
25
+ * decode the **redacted** frame with {@link decodeMessage}, which then cannot
26
+ * produce a value because there is no longer one in the bytes.
27
+ *
28
+ * A frame that fails to decode is still redacted as far as the decode got. That
29
+ * is the useful direction to fail in: a value that was read is a value that was
30
+ * exposed, whatever went wrong after it.
31
+ *
32
+ * See {@link AuthRedaction.incomplete} for the one result a caller must not
33
+ * treat as clean, and {@link AuthRedaction.decoded} for the residual it cannot
34
+ * close.
35
+ */
36
+ declare function redactAuthTokens(bytes: Uint8Array): AuthRedaction;
37
+
38
+ export { type Draft07Codec as D, createDraft07Codec as c, redactAuthTokens as r };
@@ -1,4 +1,5 @@
1
- import { B as BaseCodec, b as DecodeResult } from './types-DG5_iKuv.cjs';
1
+ import { A as AuthRedaction } from './auth-redaction-B9JJOlIY.cjs';
2
+ import { B as BaseCodec, b as DecodeResult } from './types-2NisMA8_.cjs';
2
3
  import { D as Draft11Message, S as SubgroupStream, c as DatagramObject, F as FetchStream, b as Draft11DataStream } from './types-D0kTgUuL.cjs';
3
4
 
4
5
  /**
@@ -23,5 +24,23 @@ interface Draft11Codec extends BaseCodec<Draft11Message> {
23
24
  createStreamDecoder(): TransformStream<Uint8Array, Draft11Message>;
24
25
  }
25
26
  declare function createDraft11Codec(): Draft11Codec;
27
+ /**
28
+ * Overwrite every Authorization Token value in a draft-11 control frame.
29
+ *
30
+ * One decode, whose *output is discarded*: the point is not to read the
31
+ * message, it is to learn where the credentials were so the caller never has to
32
+ * hold a frame that contains one. A caller that also wants the message should
33
+ * decode the **redacted** frame with {@link decodeMessage}, which then cannot
34
+ * produce a value because there is no longer one in the bytes.
35
+ *
36
+ * A frame that fails to decode is still redacted as far as the decode got. That
37
+ * is the useful direction to fail in: a value that was read is a value that was
38
+ * exposed, whatever went wrong after it.
39
+ *
40
+ * See {@link AuthRedaction.incomplete} for the one result a caller must not
41
+ * treat as clean, and {@link AuthRedaction.decoded} for the residual it cannot
42
+ * close.
43
+ */
44
+ declare function redactAuthTokens(bytes: Uint8Array): AuthRedaction;
26
45
 
27
- export { type Draft11Codec as D, createStreamDecoder as a, createDraft11Codec as c, decodeMessage as d, encodeMessage as e };
46
+ export { type Draft11Codec as D, createStreamDecoder as a, createDraft11Codec as c, decodeMessage as d, encodeMessage as e, redactAuthTokens as r };
@@ -0,0 +1,68 @@
1
+ import { A as AuthRedaction } from './auth-redaction-B9JJOlIY.cjs';
2
+ import { B as BaseCodec, b as DecodeResult } from './types-2NisMA8_.cjs';
3
+ import { D as Draft21Message, f as SubgroupStream, d as DatagramObject, e as FetchStream, c as Draft21DataStream, S as SubgroupStreamHeader, O as ObjectPayload, F as FetchStreamHeader, b as DataStreamEvent } from './types-DDwidj2d.cjs';
4
+
5
+ /**
6
+ * `PUBLISH_DONE.Stream Count` "unknown" sentinel — draft-21 Section 9.9.
7
+ *
8
+ * draft-19 used `2^62 - 1`; draft-20 raised it to `2^64 - 1`. Both are
9
+ * encodable because MOQT's vi64 (Section 8.1) is a leading-ones-length
10
+ * prefix reaching a full 64 bits in nine bytes — it is NOT the QUIC varint and
11
+ * has no `2^62 - 1` ceiling. On the wire this is `ff` followed by eight `ff`
12
+ * bytes.
13
+ *
14
+ * JS `bigint` is required: `2^64 - 1` does not fit a `number`, and comparing a
15
+ * `Number(stream_count)` against this sentinel would be wrong for every value
16
+ * above `2^53`.
17
+ *
18
+ * Note (SPEC-DELTA Section 11 Q14): unlike the old `2^62 - 1` marker, this
19
+ * value is also a well-formed exact count. There is no longer any headroom
20
+ * that separates "unknown" from "absurdly many streams"; the draft does not
21
+ * acknowledge the collision.
22
+ */
23
+ declare const UNKNOWN_STREAM_COUNT = 18446744073709551615n;
24
+ /**
25
+ * Encode a draft-21 control message: type (vi64) + length (uint16 BE) + payload.
26
+ */
27
+ declare function encodeMessage(message: Draft21Message): Uint8Array;
28
+ /**
29
+ * Decode a draft-21 control message from bytes (type + uint16 length + payload).
30
+ */
31
+ declare function decodeMessage(bytes: Uint8Array): DecodeResult<Draft21Message>;
32
+
33
+ declare function createStreamDecoder(): TransformStream<Uint8Array, Draft21Message>;
34
+ interface Draft21Codec extends BaseCodec<Draft21Message> {
35
+ readonly draft: '21';
36
+ encodeSubgroupStream(stream: SubgroupStream): Uint8Array;
37
+ encodeDatagram(dg: DatagramObject): Uint8Array;
38
+ encodeFetchStream(stream: FetchStream): Uint8Array;
39
+ decodeSubgroupStream(bytes: Uint8Array): DecodeResult<SubgroupStream>;
40
+ decodeDatagram(bytes: Uint8Array): DecodeResult<DatagramObject>;
41
+ decodeFetchStream(bytes: Uint8Array): DecodeResult<FetchStream>;
42
+ decodeDataStream(streamType: 'subgroup' | 'datagram' | 'fetch', bytes: Uint8Array): DecodeResult<Draft21DataStream>;
43
+ createStreamDecoder(): TransformStream<Uint8Array, Draft21Message>;
44
+ createSubgroupStreamDecoder(): TransformStream<Uint8Array, SubgroupStreamHeader | ObjectPayload>;
45
+ createFetchStreamDecoder(): TransformStream<Uint8Array, FetchStreamHeader | ObjectPayload>;
46
+ createDataStreamDecoder(): TransformStream<Uint8Array, DataStreamEvent>;
47
+ }
48
+ declare function createDraft21Codec(): Draft21Codec;
49
+ /**
50
+ * Overwrite every Authorization Token value in a draft-21 control frame.
51
+ *
52
+ * One decode, whose *output is discarded*: the point is not to read the
53
+ * message, it is to learn where the tokens were so the caller never has to hold
54
+ * a frame that contains one. A caller that also wants the message should decode
55
+ * the **redacted** frame with {@link decodeMessage}, which then cannot produce a
56
+ * token value because there is no longer one in the bytes.
57
+ *
58
+ * A frame that fails to decode is still redacted as far as the decode got. That
59
+ * is the useful direction to fail in: a value that was read is a value that was
60
+ * exposed, whatever went wrong after it.
61
+ *
62
+ * See {@link AuthRedaction.incomplete} for the one result a caller must not
63
+ * treat as clean, and {@link AuthRedaction.decoded} for the residual it cannot
64
+ * close.
65
+ */
66
+ declare function redactAuthTokens(bytes: Uint8Array): AuthRedaction;
67
+
68
+ export { type Draft21Codec as D, UNKNOWN_STREAM_COUNT as U, createStreamDecoder as a, createDraft21Codec as c, decodeMessage as d, encodeMessage as e, redactAuthTokens as r };
@@ -1,4 +1,5 @@
1
- import { B as BaseCodec, b as DecodeResult } from './types-DG5_iKuv.js';
1
+ import { A as AuthRedaction } from './auth-redaction-B9JJOlIY.js';
2
+ import { B as BaseCodec, b as DecodeResult } from './types-2NisMA8_.js';
2
3
  import { D as Draft14Message, f as SubgroupStream, d as DatagramObject, e as FetchStream, c as Draft14DataStream, S as SubgroupStreamHeader, O as ObjectPayload, F as FetchStreamHeader, b as DataStreamEvent } from './types-CmqT0jUf.js';
3
4
 
4
5
  /**
@@ -31,5 +32,23 @@ interface Draft14Codec extends BaseCodec<Draft14Message> {
31
32
  createDataStreamDecoder(): TransformStream<Uint8Array, DataStreamEvent>;
32
33
  }
33
34
  declare function createDraft14Codec(): Draft14Codec;
35
+ /**
36
+ * Overwrite every Authorization Token value in a draft-14 control frame.
37
+ *
38
+ * One decode, whose *output is discarded*: the point is not to read the
39
+ * message, it is to learn where the credentials were so the caller never has to
40
+ * hold a frame that contains one. A caller that also wants the message should
41
+ * decode the **redacted** frame with {@link decodeMessage}, which then cannot
42
+ * produce a value because there is no longer one in the bytes.
43
+ *
44
+ * A frame that fails to decode is still redacted as far as the decode got. That
45
+ * is the useful direction to fail in: a value that was read is a value that was
46
+ * exposed, whatever went wrong after it.
47
+ *
48
+ * See {@link AuthRedaction.incomplete} for the one result a caller must not
49
+ * treat as clean, and {@link AuthRedaction.decoded} for the residual it cannot
50
+ * close.
51
+ */
52
+ declare function redactAuthTokens(bytes: Uint8Array): AuthRedaction;
34
53
 
35
- export { type Draft14Codec as D, createStreamDecoder as a, createDraft14Codec as c, decodeMessage as d, encodeMessage as e };
54
+ export { type Draft14Codec as D, createStreamDecoder as a, createDraft14Codec as c, decodeMessage as d, encodeMessage as e, redactAuthTokens as r };
@@ -1,5 +1,6 @@
1
- import { B as BaseCodec, b as DecodeResult } from './types-DG5_iKuv.js';
2
- import { D as Draft20Message, f as SubgroupStream, d as DatagramObject, e as FetchStream, c as Draft20DataStream, S as SubgroupStreamHeader, O as ObjectPayload, F as FetchStreamHeader, b as DataStreamEvent } from './types-CY-QWxd-.js';
1
+ import { A as AuthRedaction } from './auth-redaction-B9JJOlIY.js';
2
+ import { B as BaseCodec, b as DecodeResult } from './types-2NisMA8_.js';
3
+ import { D as Draft20Message, f as SubgroupStream, d as DatagramObject, e as FetchStream, c as Draft20DataStream, S as SubgroupStreamHeader, O as ObjectPayload, F as FetchStreamHeader, b as DataStreamEvent } from './types-CwN7AEoL.js';
3
4
 
4
5
  /**
5
6
  * `PUBLISH_DONE.Stream Count` "unknown" sentinel — draft-20 Section 10.12.
@@ -45,5 +46,23 @@ interface Draft20Codec extends BaseCodec<Draft20Message> {
45
46
  createDataStreamDecoder(): TransformStream<Uint8Array, DataStreamEvent>;
46
47
  }
47
48
  declare function createDraft20Codec(): Draft20Codec;
49
+ /**
50
+ * Overwrite every Authorization Token value in a draft-20 control frame.
51
+ *
52
+ * One decode, whose *output is discarded*: the point is not to read the
53
+ * message, it is to learn where the tokens were so the caller never has to hold
54
+ * a frame that contains one. A caller that also wants the message should decode
55
+ * the **redacted** frame with {@link decodeMessage}, which then cannot produce a
56
+ * token value because there is no longer one in the bytes.
57
+ *
58
+ * A frame that fails to decode is still redacted as far as the decode got. That
59
+ * is the useful direction to fail in: a value that was read is a value that was
60
+ * exposed, whatever went wrong after it.
61
+ *
62
+ * See {@link AuthRedaction.incomplete} for the one result a caller must not
63
+ * treat as clean, and {@link AuthRedaction.decoded} for the residual it cannot
64
+ * close.
65
+ */
66
+ declare function redactAuthTokens(bytes: Uint8Array): AuthRedaction;
48
67
 
49
- export { type Draft20Codec as D, UNKNOWN_STREAM_COUNT as U, createStreamDecoder as a, createDraft20Codec as c, decodeMessage as d, encodeMessage as e };
68
+ export { type Draft20Codec as D, UNKNOWN_STREAM_COUNT as U, createStreamDecoder as a, createDraft20Codec as c, decodeMessage as d, encodeMessage as e, redactAuthTokens as r };
@@ -1,5 +1,6 @@
1
- import { B as BaseCodec, b as DecodeResult } from './types-DG5_iKuv.cjs';
2
- import { D as Draft15Message, f as SubgroupStream, d as DatagramObject, e as FetchStream, c as Draft15DataStream, S as SubgroupStreamHeader, O as ObjectPayload, F as FetchStreamHeader, b as DataStreamEvent } from './types-pShrs3fN.cjs';
1
+ import { A as AuthRedaction } from './auth-redaction-B9JJOlIY.js';
2
+ import { B as BaseCodec, b as DecodeResult } from './types-2NisMA8_.js';
3
+ import { D as Draft15Message, f as SubgroupStream, d as DatagramObject, e as FetchStream, c as Draft15DataStream, S as SubgroupStreamHeader, O as ObjectPayload, F as FetchStreamHeader, b as DataStreamEvent } from './types-CuibHYcf.js';
3
4
 
4
5
  /**
5
6
  * Encode a draft-15 control message with type(varint) + length(uint16 BE) + payload.
@@ -30,5 +31,23 @@ interface Draft15Codec extends BaseCodec<Draft15Message> {
30
31
  createDataStreamDecoder(): TransformStream<Uint8Array, DataStreamEvent>;
31
32
  }
32
33
  declare function createDraft15Codec(): Draft15Codec;
34
+ /**
35
+ * Overwrite every Authorization Token value in a draft-15 control frame.
36
+ *
37
+ * One decode, whose *output is discarded*: the point is not to read the
38
+ * message, it is to learn where the credentials were so the caller never has to
39
+ * hold a frame that contains one. A caller that also wants the message should
40
+ * decode the **redacted** frame with {@link decodeMessage}, which then cannot
41
+ * produce a value because there is no longer one in the bytes.
42
+ *
43
+ * A frame that fails to decode is still redacted as far as the decode got. That
44
+ * is the useful direction to fail in: a value that was read is a value that was
45
+ * exposed, whatever went wrong after it.
46
+ *
47
+ * See {@link AuthRedaction.incomplete} for the one result a caller must not
48
+ * treat as clean, and {@link AuthRedaction.decoded} for the residual it cannot
49
+ * close.
50
+ */
51
+ declare function redactAuthTokens(bytes: Uint8Array): AuthRedaction;
33
52
 
34
- export { type Draft15Codec as D, createStreamDecoder as a, createDraft15Codec as c, decodeMessage as d, encodeMessage as e };
53
+ export { type Draft15Codec as D, createStreamDecoder as a, createDraft15Codec as c, decodeMessage as d, encodeMessage as e, redactAuthTokens as r };
@@ -1,4 +1,5 @@
1
- import { B as BaseCodec, b as DecodeResult } from './types-DG5_iKuv.cjs';
1
+ import { A as AuthRedaction } from './auth-redaction-B9JJOlIY.cjs';
2
+ import { B as BaseCodec, b as DecodeResult } from './types-2NisMA8_.cjs';
2
3
  import { D as Draft08Message, S as SubgroupStream, c as DatagramObject, d as DatagramStatusObject, F as FetchStream, b as Draft08DataStream } from './types-jV1yDDBA.cjs';
3
4
 
4
5
  /**
@@ -27,5 +28,23 @@ interface Draft08Codec extends BaseCodec<Draft08Message> {
27
28
  createStreamDecoder(): TransformStream<Uint8Array, Draft08Message>;
28
29
  }
29
30
  declare function createDraft08Codec(): Draft08Codec;
31
+ /**
32
+ * Overwrite every AUTHORIZATION_INFO value in a draft-08 control frame.
33
+ *
34
+ * One decode, whose *output is discarded*: the point is not to read the
35
+ * message, it is to learn where the credentials were so the caller never has to
36
+ * hold a frame that contains one. A caller that also wants the message should
37
+ * decode the **redacted** frame with {@link decodeMessage}, which then cannot
38
+ * produce a value because there is no longer one in the bytes.
39
+ *
40
+ * A frame that fails to decode is still redacted as far as the decode got. That
41
+ * is the useful direction to fail in: a value that was read is a value that was
42
+ * exposed, whatever went wrong after it.
43
+ *
44
+ * See {@link AuthRedaction.incomplete} for the one result a caller must not
45
+ * treat as clean, and {@link AuthRedaction.decoded} for the residual it cannot
46
+ * close.
47
+ */
48
+ declare function redactAuthTokens(bytes: Uint8Array): AuthRedaction;
30
49
 
31
- export { type Draft08Codec as D, createStreamDecoder as a, createDraft08Codec as c, decodeMessage as d, encodeMessage as e };
50
+ export { type Draft08Codec as D, createStreamDecoder as a, createDraft08Codec as c, decodeMessage as d, encodeMessage as e, redactAuthTokens as r };