@moqtap/codec 0.11.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 (132) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +3 -2
  3. package/dist/{auth-redaction-DsdLq4Qs.d.cts → auth-redaction-B9JJOlIY.d.cts} +0 -2
  4. package/dist/{auth-redaction-DsdLq4Qs.d.ts → auth-redaction-B9JJOlIY.d.ts} +0 -2
  5. package/dist/chunk-OBATJBNL.cjs +868 -0
  6. package/dist/chunk-T2TCLZZV.js +2304 -0
  7. package/dist/chunk-WB65UG7G.cjs +2304 -0
  8. package/dist/chunk-XPCBPACE.js +868 -0
  9. package/dist/{codec-c0YEwwWn.d.ts → codec-B-oUU-cp.d.ts} +2 -2
  10. package/dist/{codec-DHzKAUCa.d.cts → codec-B3RpCI9k.d.cts} +2 -2
  11. package/dist/{codec-Clu_skx8.d.cts → codec-B5pcOS3m.d.cts} +2 -2
  12. package/dist/{codec-DxtgPxJS.d.ts → codec-BLjxwK2f.d.ts} +2 -2
  13. package/dist/{codec-BkheTXO7.d.ts → codec-BV3CL_3m.d.ts} +2 -2
  14. package/dist/{codec-Bb6GKTrv.d.ts → codec-BYCDWgED.d.ts} +2 -2
  15. package/dist/{codec-ejDu-va6.d.ts → codec-Bwqq7ZQT.d.ts} +2 -2
  16. package/dist/{codec-76xzrLTL.d.cts → codec-BzWxOFby.d.cts} +2 -2
  17. package/dist/{codec-CM5yd6n3.d.ts → codec-C-nJhNNl.d.ts} +2 -2
  18. package/dist/{codec-BgpfHoAd.d.cts → codec-C11VEPbQ.d.cts} +2 -2
  19. package/dist/codec-C9U0Vzy9.d.cts +68 -0
  20. package/dist/{codec-yYKGOipj.d.ts → codec-CCx22jnd.d.ts} +2 -2
  21. package/dist/{codec-mVYqkIUF.d.ts → codec-CP3zkfTv.d.ts} +2 -2
  22. package/dist/{codec-qSbO5nOa.d.ts → codec-CRmOLDpt.d.ts} +2 -2
  23. package/dist/{codec-CpOpemR8.d.cts → codec-CUu56DDU.d.cts} +2 -2
  24. package/dist/codec-Cb8mUre3.d.ts +68 -0
  25. package/dist/{codec-DELe00w_.d.cts → codec-CemqAQdR.d.cts} +2 -2
  26. package/dist/{codec-8p40WdLg.d.ts → codec-CxMvsVMS.d.ts} +2 -2
  27. package/dist/{codec-zfzg9uiy.d.cts → codec-DIgMVTi4.d.cts} +2 -2
  28. package/dist/{codec-DdVBtvx7.d.ts → codec-DYzozF68.d.ts} +2 -2
  29. package/dist/{codec-kaBUzdpV.d.ts → codec-D_O9zxax.d.ts} +2 -2
  30. package/dist/{codec-XLrnreeu.d.cts → codec-Ddc-QxV6.d.cts} +2 -2
  31. package/dist/{codec-C5s1eBJX.d.cts → codec-DoojMl2z.d.cts} +2 -2
  32. package/dist/{codec-DlxGuYMv.d.ts → codec-DqdjiOQF.d.ts} +2 -2
  33. package/dist/{codec-Cshdl9Tt.d.cts → codec-Dstemwrq.d.cts} +2 -2
  34. package/dist/{codec-BN2Bu0KI.d.ts → codec-Dt6nuejp.d.ts} +2 -2
  35. package/dist/{codec-BwVDkokh.d.cts → codec-DuYhd8fP.d.cts} +2 -2
  36. package/dist/{codec-I8u2pfS4.d.cts → codec-DwNOFgPU.d.cts} +2 -2
  37. package/dist/{codec-GAY4lybi.d.cts → codec-l01BpNhF.d.cts} +2 -2
  38. package/dist/{codec-Cb8HC3XV.d.cts → codec-psN2vB6I.d.cts} +2 -2
  39. package/dist/draft07-session.d.cts +3 -3
  40. package/dist/draft07-session.d.ts +3 -3
  41. package/dist/draft07.d.cts +4 -4
  42. package/dist/draft07.d.ts +4 -4
  43. package/dist/draft08-session.d.cts +3 -3
  44. package/dist/draft08-session.d.ts +3 -3
  45. package/dist/draft08.d.cts +5 -5
  46. package/dist/draft08.d.ts +5 -5
  47. package/dist/draft09-session.d.cts +3 -3
  48. package/dist/draft09-session.d.ts +3 -3
  49. package/dist/draft09.d.cts +5 -5
  50. package/dist/draft09.d.ts +5 -5
  51. package/dist/draft10-session.d.cts +3 -3
  52. package/dist/draft10-session.d.ts +3 -3
  53. package/dist/draft10.d.cts +5 -5
  54. package/dist/draft10.d.ts +5 -5
  55. package/dist/draft11-session.d.cts +3 -3
  56. package/dist/draft11-session.d.ts +3 -3
  57. package/dist/draft11.d.cts +5 -5
  58. package/dist/draft11.d.ts +5 -5
  59. package/dist/draft12-session.d.cts +3 -3
  60. package/dist/draft12-session.d.ts +3 -3
  61. package/dist/draft12.d.cts +5 -5
  62. package/dist/draft12.d.ts +5 -5
  63. package/dist/draft13-session.d.cts +3 -3
  64. package/dist/draft13-session.d.ts +3 -3
  65. package/dist/draft13.d.cts +5 -5
  66. package/dist/draft13.d.ts +5 -5
  67. package/dist/draft14-session.d.cts +3 -3
  68. package/dist/draft14-session.d.ts +3 -3
  69. package/dist/draft14.d.cts +5 -5
  70. package/dist/draft14.d.ts +5 -5
  71. package/dist/draft15-session.d.cts +3 -3
  72. package/dist/draft15-session.d.ts +3 -3
  73. package/dist/draft15.d.cts +5 -5
  74. package/dist/draft15.d.ts +5 -5
  75. package/dist/draft16-session.d.cts +3 -3
  76. package/dist/draft16-session.d.ts +3 -3
  77. package/dist/draft16.d.cts +5 -5
  78. package/dist/draft16.d.ts +5 -5
  79. package/dist/draft17-session.d.cts +3 -3
  80. package/dist/draft17-session.d.ts +3 -3
  81. package/dist/draft17.d.cts +4 -4
  82. package/dist/draft17.d.ts +4 -4
  83. package/dist/draft18-session.d.cts +3 -3
  84. package/dist/draft18-session.d.ts +3 -3
  85. package/dist/draft18.d.cts +4 -4
  86. package/dist/draft18.d.ts +4 -4
  87. package/dist/draft19-session.d.cts +3 -3
  88. package/dist/draft19-session.d.ts +3 -3
  89. package/dist/draft19.d.cts +4 -4
  90. package/dist/draft19.d.ts +4 -4
  91. package/dist/draft20-session.d.cts +3 -3
  92. package/dist/draft20-session.d.ts +3 -3
  93. package/dist/draft20.d.cts +4 -4
  94. package/dist/draft20.d.ts +4 -4
  95. package/dist/draft21-session.cjs +8 -0
  96. package/dist/draft21-session.d.cts +195 -0
  97. package/dist/draft21-session.d.ts +195 -0
  98. package/dist/draft21-session.js +8 -0
  99. package/dist/draft21.cjs +222 -0
  100. package/dist/draft21.d.cts +176 -0
  101. package/dist/draft21.d.ts +176 -0
  102. package/dist/draft21.js +222 -0
  103. package/dist/index.cjs +7 -1
  104. package/dist/index.d.cts +23 -18
  105. package/dist/index.d.ts +23 -18
  106. package/dist/index.js +7 -1
  107. package/dist/{session-types-Dn7b3RZM.d.ts → session-types-Cxx7W8zZ.d.ts} +1 -1
  108. package/dist/{session-types-B9idsih-.d.cts → session-types-DZkI_qFG.d.cts} +1 -1
  109. package/dist/session.cjs +5 -1
  110. package/dist/session.d.cts +5 -3
  111. package/dist/session.d.ts +5 -3
  112. package/dist/session.js +5 -1
  113. package/dist/{types-DG5_iKuv.d.cts → types-2NisMA8_.d.cts} +1 -1
  114. package/dist/{types-DG5_iKuv.d.ts → types-2NisMA8_.d.ts} +1 -1
  115. package/dist/types-DDwidj2d.d.cts +371 -0
  116. package/dist/types-DDwidj2d.d.ts +371 -0
  117. package/package.json +14 -2
  118. package/src/core/auth-redaction.ts +0 -2
  119. package/src/core/types.ts +1 -0
  120. package/src/drafts/draft19/codec.ts +1 -1
  121. package/src/drafts/draft20/codec.ts +1 -1
  122. package/src/drafts/draft21/codec.ts +1816 -0
  123. package/src/drafts/draft21/data-streams.ts +1338 -0
  124. package/src/drafts/draft21/error-codes.ts +135 -0
  125. package/src/drafts/draft21/index.ts +168 -0
  126. package/src/drafts/draft21/messages.ts +68 -0
  127. package/src/drafts/draft21/rules.ts +107 -0
  128. package/src/drafts/draft21/session-fsm.ts +1063 -0
  129. package/src/drafts/draft21/session.ts +21 -0
  130. package/src/drafts/draft21/types.ts +473 -0
  131. package/src/index.ts +9 -1
  132. package/src/session.ts +4 -0
package/CHANGELOG.md CHANGED
@@ -7,6 +7,34 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  This file starts at 0.9.0. Earlier releases are in the git history.
9
9
 
10
+ ## [0.12.0] - 2026-09-17
11
+
12
+ ### Added
13
+
14
+ - **draft-21, as `@moqtap/codec/draft21` and `createCodec({ draft: '21' })`.**
15
+ Draft-21 restructures draft-20 and changes nothing on the wire: every code
16
+ point, every table row and every wire diagram is identical, so the codec, the
17
+ message and data-stream tables, the wire rules, the error registries and the
18
+ session FSM are draft-20's. The two are told apart only by what they
19
+ negotiate, `moqt-21` against `moqt-20`.
20
+
21
+ `message-type-names.test.ts` records that as a fact rather than a claim:
22
+ `20/21` joins the list of draft pairs whose whole name table coincides, which
23
+ until now held only drafts 08, 09 and 10.
24
+
25
+ What did move is where the draft says things -- 200 numbered sections became
26
+ 214 and only 11 keep both their title and their number -- so every citation
27
+ in the new module is retargeted, two figure references with them. Requires
28
+ `@moqtap/test-vectors` 0.17.0, which adds the draft-21 corpus.
29
+
30
+ ### Fixed
31
+
32
+ - **A private path no longer ships in the package.** Three source files carried
33
+ a "Spec of record" reference to an internal planning document. `files`
34
+ includes `src`, and the generated `dist/*.d.ts` reproduced it, so the path was
35
+ in the published tarball. The comments now say why the code is as it is
36
+ without naming the document.
37
+
10
38
  ## [0.11.0] - 2026-09-17
11
39
 
12
40
  ### Added
package/README.md CHANGED
@@ -71,6 +71,7 @@ Each draft is available as a subpath import with its own codec and session state
71
71
  | `@moqtap/codec/draft18` | Draft-18 codec |
72
72
  | `@moqtap/codec/draft19` | Draft-19 codec |
73
73
  | `@moqtap/codec/draft20` | Draft-20 codec |
74
+ | `@moqtap/codec/draft21` | Draft-21 codec |
74
75
  | `@moqtap/codec/draft{N}/session` | Session state machine for draft N |
75
76
 
76
77
  > **Note:** A default (versionless) codec will be available once the MoQT specification reaches RFC status. Until then, always specify a draft version.
@@ -78,11 +79,11 @@ Each draft is available as a subpath import with its own codec and session state
78
79
  `DRAFT_VERSIONS` is a table of numeric keys, and only the entries up to `'14'` are values a peer
79
80
  ever puts on the wire. From draft-15 the version is negotiated by ALPN (raw QUIC) or
80
81
  `WT-Available-Protocols` (WebTransport) as the string `moqt-NN`, and no version number is sent at
81
- all — so `DRAFT_VERSIONS['20']` is a derived identifier, not something observed. Each draft module
82
+ all — so `DRAFT_VERSIONS['21']` is a derived identifier, not something observed. Each draft module
82
83
  from 15 on exports the real one:
83
84
 
84
85
  ```typescript
85
- import { PROTOCOL_STRING } from '@moqtap/codec/draft20' // 'moqt-20'
86
+ import { PROTOCOL_STRING } from '@moqtap/codec/draft21' // 'moqt-21'
86
87
  ```
87
88
 
88
89
  ## Draft-Specific Imports
@@ -46,8 +46,6 @@
46
46
  * the capture, runs one decode to completion, and closes it in a `finally`.
47
47
  * There is no `await` between those points, so no second capture can interleave
48
48
  * with the first.
49
- *
50
- * Spec of record: `wt-logging-1-collector.md` Section 1.6.
51
49
  */
52
50
  /**
53
51
  * The byte written over a redacted Token Value.
@@ -46,8 +46,6 @@
46
46
  * the capture, runs one decode to completion, and closes it in a `finally`.
47
47
  * There is no `await` between those points, so no second capture can interleave
48
48
  * with the first.
49
- *
50
- * Spec of record: `wt-logging-1-collector.md` Section 1.6.
51
49
  */
52
50
  /**
53
51
  * The byte written over a redacted Token Value.