@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.
- package/CHANGELOG.md +175 -0
- package/README.md +3 -2
- package/dist/auth-redaction-B9JJOlIY.d.cts +100 -0
- package/dist/auth-redaction-B9JJOlIY.d.ts +100 -0
- package/dist/{chunk-RYKQXBG6.cjs → chunk-27K5BUAG.cjs} +481 -517
- package/dist/{chunk-WCPENYNE.js → chunk-3RNQMGKA.js} +359 -390
- package/dist/{chunk-TSUZ6GJV.js → chunk-5AWIXOLB.js} +438 -469
- package/dist/{chunk-4XLYCT5Q.cjs → chunk-5IMHJIAZ.cjs} +52 -2
- package/dist/{chunk-KTNERCTZ.cjs → chunk-5JGZCKJO.cjs} +488 -518
- package/dist/{chunk-WCTMPDUX.cjs → chunk-73K4OSAN.cjs} +401 -432
- package/dist/{chunk-N2V7Z37J.js → chunk-7VQKRGRD.js} +19 -3
- package/dist/{chunk-BIBMDTU5.cjs → chunk-A3UCQOIB.cjs} +486 -517
- package/dist/{chunk-K2B3OVFK.js → chunk-A7PDMVXM.js} +24 -3
- package/dist/{chunk-VZHL2U2N.cjs → chunk-A7VQO6YC.cjs} +54 -38
- package/dist/{chunk-AQ445VV7.cjs → chunk-ACQHZLRZ.cjs} +66 -46
- package/dist/{chunk-L5DRACXS.js → chunk-BBICOMW6.js} +25 -3
- package/dist/{chunk-T4VWPKDG.cjs → chunk-BNIUVOCJ.cjs} +529 -599
- package/dist/{chunk-UKKDOOUO.cjs → chunk-CNC6ANS4.cjs} +58 -37
- package/dist/{chunk-OZRK73NQ.js → chunk-FDLQSWHK.js} +433 -469
- package/dist/{chunk-IJAF6PAY.js → chunk-FFNOE4UR.js} +19 -3
- package/dist/{chunk-CZNW3R5E.cjs → chunk-GMENT63T.cjs} +54 -38
- package/dist/{chunk-XCRCAUGI.cjs → chunk-HM7BLRVP.cjs} +291 -297
- package/dist/{chunk-XHAP2YST.js → chunk-HZONHFNO.js} +19 -3
- package/dist/{chunk-SDJTSMOW.cjs → chunk-ILYABWDK.cjs} +60 -38
- package/dist/{chunk-IDV2JYJ6.cjs → chunk-KRSFTZVO.cjs} +56 -40
- package/dist/{chunk-RIIA4ALQ.cjs → chunk-KSPH6KMH.cjs} +54 -38
- package/dist/{chunk-OUNN4IQB.cjs → chunk-KTY4LAUV.cjs} +482 -497
- package/dist/chunk-OBATJBNL.cjs +868 -0
- package/dist/{chunk-RZTLQAKF.js → chunk-OJNLJT5D.js} +0 -1
- package/dist/{chunk-FT3HDNIB.js → chunk-PJK2ZS3I.js} +467 -537
- package/dist/{chunk-G53WYUXL.js → chunk-PSMZKHOC.js} +441 -456
- package/dist/{chunk-7RE6KSIY.cjs → chunk-Q5JQGHWY.cjs} +0 -1
- package/dist/{chunk-BX2N7TZM.js → chunk-SQTUQY5E.js} +31 -11
- package/dist/chunk-T2TCLZZV.js +2304 -0
- package/dist/chunk-WB65UG7G.cjs +2304 -0
- package/dist/{chunk-CF5DDD3Q.js → chunk-WCRLAKDW.js} +239 -245
- package/dist/{chunk-KYVTM5VI.js → chunk-WL2YUEXH.js} +19 -3
- package/dist/chunk-XPCBPACE.js +868 -0
- package/dist/{chunk-KGDVC4O6.js → chunk-YCNIVZS7.js} +439 -469
- package/dist/{chunk-KLPWJU6W.js → chunk-YRZQVNZO.js} +50 -0
- package/dist/{codec-DOmAmFkI.d.ts → codec-B-oUU-cp.d.ts} +21 -2
- package/dist/{codec-DNmiG2e0.d.cts → codec-B3RpCI9k.d.cts} +21 -2
- package/dist/codec-B5pcOS3m.d.cts +38 -0
- package/dist/{codec-BNy5syCU.d.ts → codec-BLjxwK2f.d.ts} +21 -2
- package/dist/{codec-alVA27Uc.d.ts → codec-BV3CL_3m.d.ts} +21 -2
- package/dist/{codec-Czejcmxr.d.cts → codec-BYCDWgED.d.ts} +22 -3
- package/dist/{codec-DaXjRrOV.d.ts → codec-Bwqq7ZQT.d.ts} +22 -3
- package/dist/{codec-CFWu5KVT.d.cts → codec-BzWxOFby.d.cts} +22 -3
- package/dist/codec-C-nJhNNl.d.ts +38 -0
- package/dist/{codec-EvybrBuY.d.cts → codec-C11VEPbQ.d.cts} +21 -2
- package/dist/codec-C9U0Vzy9.d.cts +68 -0
- package/dist/{codec-Cm3D261p.d.ts → codec-CCx22jnd.d.ts} +21 -2
- package/dist/{codec-CwZ6OCPP.d.ts → codec-CP3zkfTv.d.ts} +22 -3
- package/dist/{codec-BxQTybUX.d.cts → codec-CRmOLDpt.d.ts} +22 -3
- package/dist/{codec-DzkdW4kO.d.cts → codec-CUu56DDU.d.cts} +21 -2
- package/dist/codec-Cb8mUre3.d.ts +68 -0
- package/dist/{codec-f7vxeVIS.d.cts → codec-CemqAQdR.d.cts} +22 -3
- package/dist/{codec-gl4_QEva.d.ts → codec-CxMvsVMS.d.ts} +21 -2
- package/dist/{codec-Bd60SGKH.d.cts → codec-DIgMVTi4.d.cts} +21 -2
- package/dist/{codec--CVeqGQv.d.ts → codec-DYzozF68.d.ts} +21 -2
- package/dist/{codec-CWnf8mn_.d.cts → codec-D_O9zxax.d.ts} +22 -3
- package/dist/{codec-08ZOr5wI.d.ts → codec-Ddc-QxV6.d.cts} +22 -3
- package/dist/{codec-CBdOIfMY.d.ts → codec-DoojMl2z.d.cts} +22 -3
- package/dist/{codec-BrTi4K7r.d.cts → codec-DqdjiOQF.d.ts} +22 -3
- package/dist/{codec-CXCjya_G.d.cts → codec-Dstemwrq.d.cts} +21 -2
- package/dist/{codec-Dl_QIXMz.d.ts → codec-Dt6nuejp.d.ts} +21 -2
- package/dist/{codec-Bux_Q40X.d.ts → codec-DuYhd8fP.d.cts} +22 -3
- package/dist/{codec-Cfo_z5ET.d.cts → codec-DwNOFgPU.d.cts} +21 -2
- package/dist/{codec-guzqtfMk.d.cts → codec-l01BpNhF.d.cts} +21 -2
- package/dist/{codec-C3mdsGx3.d.ts → codec-psN2vB6I.d.cts} +22 -3
- package/dist/draft07-session.d.cts +3 -3
- package/dist/draft07-session.d.ts +3 -3
- package/dist/draft07.cjs +48 -4
- package/dist/draft07.d.cts +44 -4
- package/dist/draft07.d.ts +44 -4
- package/dist/draft07.js +49 -5
- package/dist/draft08-session.d.cts +3 -3
- package/dist/draft08-session.d.ts +3 -3
- package/dist/draft08.cjs +76 -3
- package/dist/draft08.d.cts +73 -5
- package/dist/draft08.d.ts +73 -5
- package/dist/draft08.js +77 -4
- package/dist/draft09-session.d.cts +3 -3
- package/dist/draft09-session.d.ts +3 -3
- package/dist/draft09.cjs +76 -3
- package/dist/draft09.d.cts +73 -5
- package/dist/draft09.d.ts +73 -5
- package/dist/draft09.js +77 -4
- package/dist/draft10-session.d.cts +3 -3
- package/dist/draft10-session.d.ts +3 -3
- package/dist/draft10.cjs +76 -3
- package/dist/draft10.d.cts +73 -5
- package/dist/draft10.d.ts +73 -5
- package/dist/draft10.js +77 -4
- package/dist/draft11-session.d.cts +3 -3
- package/dist/draft11-session.d.ts +3 -3
- package/dist/draft11.cjs +104 -3
- package/dist/draft11.d.cts +101 -5
- package/dist/draft11.d.ts +101 -5
- package/dist/draft11.js +105 -4
- package/dist/draft12-session.d.cts +3 -3
- package/dist/draft12-session.d.ts +3 -3
- package/dist/draft12.cjs +113 -3
- package/dist/draft12.d.cts +110 -5
- package/dist/draft12.d.ts +110 -5
- package/dist/draft12.js +114 -4
- package/dist/draft13-session.d.cts +3 -3
- package/dist/draft13-session.d.ts +3 -3
- package/dist/draft13.cjs +105 -3
- package/dist/draft13.d.cts +102 -5
- package/dist/draft13.d.ts +102 -5
- package/dist/draft13.js +106 -4
- package/dist/draft14-session.d.cts +3 -3
- package/dist/draft14-session.d.ts +3 -3
- package/dist/draft14.cjs +107 -3
- package/dist/draft14.d.cts +104 -31
- package/dist/draft14.d.ts +104 -31
- package/dist/draft14.js +108 -4
- package/dist/draft15-session.d.cts +4 -4
- package/dist/draft15-session.d.ts +4 -4
- package/dist/draft15.cjs +69 -3
- package/dist/draft15.d.cts +68 -25
- package/dist/draft15.d.ts +68 -25
- package/dist/draft15.js +70 -4
- package/dist/draft16-session.cjs +2 -2
- package/dist/draft16-session.d.cts +4 -4
- package/dist/draft16-session.d.ts +4 -4
- package/dist/draft16-session.js +1 -1
- package/dist/draft16.cjs +76 -8
- package/dist/draft16.d.cts +70 -16
- package/dist/draft16.d.ts +70 -16
- package/dist/draft16.js +73 -5
- package/dist/draft17-session.d.cts +4 -4
- package/dist/draft17-session.d.ts +4 -4
- package/dist/draft17.cjs +77 -3
- package/dist/draft17.d.cts +75 -6
- package/dist/draft17.d.ts +75 -6
- package/dist/draft17.js +78 -4
- package/dist/draft18-session.d.cts +4 -4
- package/dist/draft18-session.d.ts +4 -4
- package/dist/draft18.cjs +8 -3
- package/dist/draft18.d.cts +6 -5
- package/dist/draft18.d.ts +6 -5
- package/dist/draft18.js +9 -4
- package/dist/draft19-session.d.cts +4 -4
- package/dist/draft19-session.d.ts +4 -4
- package/dist/draft19.cjs +11 -4
- package/dist/draft19.d.cts +6 -5
- package/dist/draft19.d.ts +6 -5
- package/dist/draft19.js +12 -5
- package/dist/draft20-session.d.cts +4 -4
- package/dist/draft20-session.d.ts +4 -4
- package/dist/draft20.cjs +8 -3
- package/dist/draft20.d.cts +6 -5
- package/dist/draft20.d.ts +6 -5
- package/dist/draft20.js +9 -4
- package/dist/draft21-session.cjs +8 -0
- package/dist/draft21-session.d.cts +195 -0
- package/dist/draft21-session.d.ts +195 -0
- package/dist/draft21-session.js +8 -0
- package/dist/draft21.cjs +222 -0
- package/dist/draft21.d.cts +176 -0
- package/dist/draft21.d.ts +176 -0
- package/dist/draft21.js +222 -0
- package/dist/index.cjs +37 -31
- package/dist/index.d.cts +29 -23
- package/dist/index.d.ts +29 -23
- package/dist/index.js +22 -16
- package/dist/{session-types-Dn7b3RZM.d.ts → session-types-Cxx7W8zZ.d.ts} +1 -1
- package/dist/{session-types-B9idsih-.d.cts → session-types-DZkI_qFG.d.cts} +1 -1
- package/dist/session.cjs +7 -3
- package/dist/session.d.cts +11 -9
- package/dist/session.d.ts +11 -9
- package/dist/session.js +6 -2
- package/dist/{types-DG5_iKuv.d.cts → types-2NisMA8_.d.cts} +1 -1
- package/dist/{types-DG5_iKuv.d.ts → types-2NisMA8_.d.ts} +1 -1
- package/dist/{types-C1rxh-id.d.cts → types-Btp416jt.d.cts} +8 -0
- package/dist/{types-C1rxh-id.d.ts → types-Btp416jt.d.ts} +8 -0
- package/dist/{types-CZTzbIzQ.d.cts → types-BxTL1NXw.d.cts} +7 -0
- package/dist/{types-CZTzbIzQ.d.ts → types-BxTL1NXw.d.ts} +7 -0
- package/dist/{types-pShrs3fN.d.cts → types-CuibHYcf.d.cts} +7 -0
- package/dist/{types-pShrs3fN.d.ts → types-CuibHYcf.d.ts} +7 -0
- package/dist/{types-CY-QWxd-.d.cts → types-CwN7AEoL.d.cts} +13 -1
- package/dist/{types-CY-QWxd-.d.ts → types-CwN7AEoL.d.ts} +13 -1
- package/dist/{types-D4bmW8rY.d.cts → types-DAnalt5K.d.cts} +7 -0
- package/dist/{types-D4bmW8rY.d.ts → types-DAnalt5K.d.ts} +7 -0
- package/dist/types-DDwidj2d.d.cts +371 -0
- package/dist/types-DDwidj2d.d.ts +371 -0
- package/dist/{types-Bg86GGVZ.d.cts → types-DxXNP32l.d.cts} +8 -0
- package/dist/{types-Bg86GGVZ.d.ts → types-DxXNP32l.d.ts} +8 -0
- package/package.json +15 -3
- package/src/core/auth-redaction.ts +190 -0
- package/src/core/types.ts +1 -0
- package/src/drafts/draft07/codec.ts +40 -0
- package/src/drafts/draft07/error-codes.ts +44 -0
- package/src/drafts/draft07/index.ts +15 -0
- package/src/drafts/draft08/codec.ts +40 -0
- package/src/drafts/draft08/error-codes.ts +76 -0
- package/src/drafts/draft08/index.ts +21 -0
- package/src/drafts/draft09/codec.ts +40 -0
- package/src/drafts/draft09/error-codes.ts +76 -0
- package/src/drafts/draft09/index.ts +21 -0
- package/src/drafts/draft10/codec.ts +40 -0
- package/src/drafts/draft10/error-codes.ts +76 -0
- package/src/drafts/draft10/index.ts +21 -0
- package/src/drafts/draft11/codec.ts +60 -0
- package/src/drafts/draft11/error-codes.ts +106 -0
- package/src/drafts/draft11/index.ts +23 -0
- package/src/drafts/draft12/codec.ts +61 -0
- package/src/drafts/draft12/error-codes.ts +116 -0
- package/src/drafts/draft12/index.ts +25 -0
- package/src/drafts/draft13/codec.ts +69 -11
- package/src/drafts/draft13/error-codes.ts +107 -0
- package/src/drafts/draft13/index.ts +23 -0
- package/src/drafts/draft13/types.ts +1 -1
- package/src/drafts/draft14/codec.ts +65 -4
- package/src/drafts/draft14/data-streams.ts +331 -259
- package/src/drafts/draft14/error-codes.ts +109 -0
- package/src/drafts/draft14/index.ts +23 -0
- package/src/drafts/draft15/codec.ts +65 -8
- package/src/drafts/draft15/data-streams.ts +489 -444
- package/src/drafts/draft15/error-codes.ts +66 -0
- package/src/drafts/draft15/index.ts +15 -0
- package/src/drafts/draft15/types.ts +7 -0
- package/src/drafts/draft16/codec.ts +146 -52
- package/src/drafts/draft16/data-streams.ts +513 -442
- package/src/drafts/draft16/error-codes.ts +68 -0
- package/src/drafts/draft16/index.ts +15 -0
- package/src/drafts/draft16/messages.ts +4 -4
- package/src/drafts/draft16/session-fsm.ts +0 -1
- package/src/drafts/draft16/types.ts +22 -8
- package/src/drafts/draft17/codec.ts +73 -12
- package/src/drafts/draft17/data-streams.ts +567 -488
- package/src/drafts/draft17/index.ts +15 -0
- package/src/drafts/draft17/types.ts +7 -0
- package/src/drafts/draft18/codec.ts +66 -9
- package/src/drafts/draft18/data-streams.ts +570 -482
- package/src/drafts/draft18/index.ts +3 -0
- package/src/drafts/draft18/types.ts +16 -8
- package/src/drafts/draft19/codec.ts +70 -10
- package/src/drafts/draft19/data-streams.ts +570 -482
- package/src/drafts/draft19/error-codes.ts +3 -1
- package/src/drafts/draft19/index.ts +3 -0
- package/src/drafts/draft19/messages.ts +3 -1
- package/src/drafts/draft19/types.ts +22 -11
- package/src/drafts/draft20/codec.ts +90 -23
- package/src/drafts/draft20/data-streams.ts +610 -563
- package/src/drafts/draft20/index.ts +3 -0
- package/src/drafts/draft20/types.ts +14 -2
- package/src/drafts/draft21/codec.ts +1816 -0
- package/src/drafts/draft21/data-streams.ts +1338 -0
- package/src/drafts/draft21/error-codes.ts +135 -0
- package/src/drafts/draft21/index.ts +168 -0
- package/src/drafts/draft21/messages.ts +68 -0
- package/src/drafts/draft21/rules.ts +107 -0
- package/src/drafts/draft21/session-fsm.ts +1063 -0
- package/src/drafts/draft21/session.ts +21 -0
- package/src/drafts/draft21/types.ts +473 -0
- package/src/index.ts +9 -1
- package/src/session.ts +4 -0
- package/dist/codec-BJ7BHuiZ.d.ts +0 -18
- 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 {
|
|
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 {
|
|
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 {
|
|
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 {
|
|
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 {
|
|
2
|
-
import {
|
|
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 {
|
|
2
|
-
import {
|
|
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 {
|
|
2
|
-
import {
|
|
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 {
|
|
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 {
|
|
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 {
|
|
2
|
-
import {
|
|
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 {
|
|
2
|
-
import {
|
|
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 {
|
|
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 };
|