@moqtap/codec 0.2.3 → 0.3.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 (299) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +100 -99
  3. package/dist/{chunk-RZHAPEXO.js → chunk-2A57DRXV.js} +36 -10
  4. package/dist/{chunk-73MWUKSJ.js → chunk-2UTVXWFF.js} +190 -102
  5. package/dist/{chunk-JTVCOMBI.cjs → chunk-3XKO6PCR.cjs} +290 -183
  6. package/dist/{chunk-ACQ4CUJP.cjs → chunk-4BDEU3D4.cjs} +237 -158
  7. package/dist/{chunk-4N4INRE7.cjs → chunk-4HBKHNU2.cjs} +144 -110
  8. package/dist/{chunk-2ZT6CVSE.js → chunk-4IVZZOY3.js} +269 -162
  9. package/dist/{chunk-GLBQDG4L.cjs → chunk-5O764MBD.cjs} +508 -117
  10. package/dist/chunk-7KBAWOBA.js +1212 -0
  11. package/dist/{chunk-JSQM2MG3.js → chunk-7QOPNSDF.js} +44 -12
  12. package/dist/{chunk-SYHW3FLI.cjs → chunk-7RE6KSIY.cjs} +28 -8
  13. package/dist/{chunk-YG5KJESI.js → chunk-AY6IAHUM.js} +28 -8
  14. package/dist/{chunk-EFM5T7OM.js → chunk-BLQDWOSG.js} +36 -10
  15. package/dist/{chunk-UYXTY6ZQ.cjs → chunk-E65QKRSN.cjs} +20 -12
  16. package/dist/{chunk-BISI45MN.cjs → chunk-EAHE3IOG.cjs} +44 -12
  17. package/dist/{chunk-PZBPH2D7.js → chunk-GCBFHZW6.js} +216 -137
  18. package/dist/{chunk-GXEW4COZ.cjs → chunk-H5NSL4MO.cjs} +36 -10
  19. package/dist/chunk-HZHSO7EW.cjs +1212 -0
  20. package/dist/{chunk-KZCYQ7ED.cjs → chunk-IILNSDEQ.cjs} +69 -41
  21. package/dist/{chunk-4XYGE53S.cjs → chunk-J3XCPBW3.cjs} +36 -10
  22. package/dist/{chunk-6AEHWULA.cjs → chunk-JKOEJZ5B.cjs} +28 -8
  23. package/dist/{chunk-RUPCJTC3.cjs → chunk-JL3NEW3O.cjs} +23 -1
  24. package/dist/{chunk-G7GI7LJA.js → chunk-LORZMJJB.js} +36 -10
  25. package/dist/{chunk-DUBCL3WF.cjs → chunk-LV5C6MEC.cjs} +36 -10
  26. package/dist/{chunk-ENURAVHI.cjs → chunk-MYXAD5JC.cjs} +44 -12
  27. package/dist/{chunk-FXZ2MYKJ.js → chunk-MZ7HUCGJ.js} +20 -12
  28. package/dist/{chunk-S74DWJE2.cjs → chunk-OKG2HT25.cjs} +277 -88
  29. package/dist/{chunk-BGWGVINJ.cjs → chunk-PKEOQSSZ.cjs} +144 -110
  30. package/dist/{chunk-2GODRVT5.js → chunk-Q46ZURKX.js} +325 -48
  31. package/dist/{chunk-UR6JKS56.js → chunk-Q7IGWV3P.js} +41 -9
  32. package/dist/{chunk-XSNX2IUJ.js → chunk-RW4UG7CN.js} +121 -87
  33. package/dist/{chunk-DWK5ZQZ4.js → chunk-RZTLQAKF.js} +28 -8
  34. package/dist/{chunk-UNS34PTA.cjs → chunk-S6IPIN66.cjs} +44 -12
  35. package/dist/{chunk-YIG2C3LF.cjs → chunk-SDWRXXOO.cjs} +214 -126
  36. package/dist/{chunk-CEH7ESNC.js → chunk-SHMA4PBY.js} +121 -87
  37. package/dist/{chunk-MC7W6PMI.js → chunk-U3ZVLT5L.js} +483 -135
  38. package/dist/{chunk-VJUUZ4W2.cjs → chunk-UJU63EFY.cjs} +374 -97
  39. package/dist/{chunk-7L43FE6P.js → chunk-VOU7PNHI.js} +23 -1
  40. package/dist/{chunk-E6E3NQYU.js → chunk-WRHGCVYN.js} +44 -12
  41. package/dist/{chunk-FPISPJ5N.cjs → chunk-XNWYLVGU.cjs} +529 -181
  42. package/dist/{chunk-U3IPZYPX.js → chunk-XS77RBY7.js} +228 -39
  43. package/dist/{chunk-JGG7CMSZ.cjs → chunk-XZE5R57R.cjs} +144 -110
  44. package/dist/{chunk-77MNXX3M.js → chunk-Y6KCSM3V.js} +121 -87
  45. package/dist/{chunk-TLYNOOQP.cjs → chunk-YTPZZI2M.cjs} +41 -9
  46. package/dist/{chunk-7DUBLRXC.js → chunk-YWRCSQBA.js} +44 -12
  47. package/dist/{chunk-MRJWLGYH.js → chunk-Z3VKP3PJ.js} +69 -41
  48. package/dist/{chunk-E6P74GDT.js → chunk-Z6U26IRI.js} +464 -73
  49. package/dist/{codec-FvGCxIhr.d.ts → codec-25u4_1HS.d.ts} +4 -4
  50. package/dist/{codec-DRcsBCsb.d.ts → codec-3Ppy_5Gd.d.ts} +4 -4
  51. package/dist/{codec-BdVMRMOI.d.ts → codec-BB0U8MF2.d.cts} +4 -4
  52. package/dist/{codec-B2cH-f5V.d.cts → codec-BHHfBTnV.d.ts} +4 -4
  53. package/dist/{codec-B5K73Bdj.d.ts → codec-BN6jk0Td.d.cts} +4 -4
  54. package/dist/{codec-R8GrCPt2.d.ts → codec-BU0gaSZm.d.ts} +4 -4
  55. package/dist/{codec-Bq-tLtfP.d.ts → codec-C-Yk2RNa.d.ts} +4 -4
  56. package/dist/codec-CFWQY9Lj.d.cts +18 -0
  57. package/dist/{codec-CPlK3Pi5.d.ts → codec-COy4uuPO.d.cts} +4 -4
  58. package/dist/codec-CewFCsEy.d.ts +18 -0
  59. package/dist/{codec-KXHvXZVb.d.cts → codec-Ck7ZwFF1.d.cts} +4 -4
  60. package/dist/{codec-DZhZSIii.d.cts → codec-D2QVSH9D.d.ts} +4 -4
  61. package/dist/{codec-BwFgpeQu.d.ts → codec-DDUBJGn0.d.cts} +4 -4
  62. package/dist/{codec-BFeliJFc.d.ts → codec-DNfml-se.d.ts} +4 -4
  63. package/dist/{codec-C4n1PS09.d.cts → codec-DoOGjjDq.d.cts} +4 -4
  64. package/dist/{codec-Bap882Fh.d.cts → codec-J7ekOSMc.d.ts} +4 -4
  65. package/dist/{codec-SKBeHQk7.d.ts → codec-R9TJCq-E.d.cts} +4 -4
  66. package/dist/{codec-DNUIgLqc.d.cts → codec-ZwV-Njt6.d.ts} +4 -4
  67. package/dist/{codec-HgBgHkFI.d.cts → codec-j819z_hL.d.cts} +4 -4
  68. package/dist/{codec-DY4QH364.d.cts → codec-w8z2j_uo.d.cts} +4 -4
  69. package/dist/{codec-CPvPq0sb.d.cts → codec-wtt6WF1K.d.ts} +4 -4
  70. package/dist/{codec-BUMjz0J4.d.cts → codec-z6_2PSzi.d.cts} +4 -4
  71. package/dist/draft10-session.cjs +2 -2
  72. package/dist/draft10-session.d.cts +6 -6
  73. package/dist/draft10-session.d.ts +6 -6
  74. package/dist/draft10-session.js +1 -1
  75. package/dist/draft10.cjs +8 -5
  76. package/dist/draft10.d.cts +14 -12
  77. package/dist/draft10.d.ts +14 -12
  78. package/dist/draft10.js +16 -13
  79. package/dist/draft11-session.cjs +2 -2
  80. package/dist/draft11-session.d.cts +6 -6
  81. package/dist/draft11-session.d.ts +6 -6
  82. package/dist/draft11-session.js +1 -1
  83. package/dist/draft11.cjs +8 -5
  84. package/dist/draft11.d.cts +14 -12
  85. package/dist/draft11.d.ts +14 -12
  86. package/dist/draft11.js +16 -13
  87. package/dist/draft12-session.cjs +2 -2
  88. package/dist/draft12-session.d.cts +6 -6
  89. package/dist/draft12-session.d.ts +6 -6
  90. package/dist/draft12-session.js +1 -1
  91. package/dist/draft12.cjs +8 -5
  92. package/dist/draft12.d.cts +16 -14
  93. package/dist/draft12.d.ts +16 -14
  94. package/dist/draft12.js +16 -13
  95. package/dist/draft13-session.cjs +2 -2
  96. package/dist/draft13-session.d.cts +6 -6
  97. package/dist/draft13-session.d.ts +6 -6
  98. package/dist/draft13-session.js +1 -1
  99. package/dist/draft13.cjs +8 -5
  100. package/dist/draft13.d.cts +16 -14
  101. package/dist/draft13.d.ts +16 -14
  102. package/dist/draft13.js +16 -13
  103. package/dist/draft14-session.cjs +2 -2
  104. package/dist/draft14-session.d.cts +6 -6
  105. package/dist/draft14-session.d.ts +6 -6
  106. package/dist/draft14-session.js +1 -1
  107. package/dist/draft14.cjs +14 -5
  108. package/dist/draft14.d.cts +14 -12
  109. package/dist/draft14.d.ts +14 -12
  110. package/dist/draft14.js +13 -4
  111. package/dist/draft15-session.cjs +2 -2
  112. package/dist/draft15-session.d.cts +6 -6
  113. package/dist/draft15-session.d.ts +6 -6
  114. package/dist/draft15-session.js +1 -1
  115. package/dist/draft15.cjs +8 -5
  116. package/dist/draft15.d.cts +14 -12
  117. package/dist/draft15.d.ts +14 -12
  118. package/dist/draft15.js +16 -13
  119. package/dist/draft16-session.cjs +2 -2
  120. package/dist/draft16-session.d.cts +6 -6
  121. package/dist/draft16-session.d.ts +6 -6
  122. package/dist/draft16-session.js +1 -1
  123. package/dist/draft16.cjs +8 -5
  124. package/dist/draft16.d.cts +14 -12
  125. package/dist/draft16.d.ts +14 -12
  126. package/dist/draft16.js +16 -13
  127. package/dist/draft17-session.cjs +2 -2
  128. package/dist/draft17-session.d.cts +7 -7
  129. package/dist/draft17-session.d.ts +7 -7
  130. package/dist/draft17-session.js +1 -1
  131. package/dist/draft17.cjs +8 -5
  132. package/dist/draft17.d.cts +11 -9
  133. package/dist/draft17.d.ts +11 -9
  134. package/dist/draft17.js +16 -13
  135. package/dist/draft7-session.cjs +2 -2
  136. package/dist/draft7-session.d.cts +6 -5
  137. package/dist/draft7-session.d.ts +6 -5
  138. package/dist/draft7-session.js +1 -1
  139. package/dist/draft7.cjs +71 -14
  140. package/dist/draft7.d.cts +53 -134
  141. package/dist/draft7.d.ts +53 -134
  142. package/dist/draft7.js +76 -19
  143. package/dist/draft8-session.cjs +2 -2
  144. package/dist/draft8-session.d.cts +6 -6
  145. package/dist/draft8-session.d.ts +6 -6
  146. package/dist/draft8-session.js +1 -1
  147. package/dist/draft8.cjs +8 -5
  148. package/dist/draft8.d.cts +14 -12
  149. package/dist/draft8.d.ts +14 -12
  150. package/dist/draft8.js +7 -4
  151. package/dist/draft9-session.cjs +2 -2
  152. package/dist/draft9-session.d.cts +6 -6
  153. package/dist/draft9-session.d.ts +6 -6
  154. package/dist/draft9-session.js +1 -1
  155. package/dist/draft9.cjs +8 -5
  156. package/dist/draft9.d.cts +14 -12
  157. package/dist/draft9.d.ts +14 -12
  158. package/dist/draft9.js +7 -4
  159. package/dist/index.cjs +52 -74
  160. package/dist/index.d.cts +41 -60
  161. package/dist/index.d.ts +41 -60
  162. package/dist/index.js +40 -62
  163. package/dist/{session-types-CJIFbTPd.d.ts → session-types-C7UONex5.d.cts} +28 -27
  164. package/dist/{session-types-Cbq8IGCP.d.cts → session-types-X-IYEGoG.d.ts} +28 -27
  165. package/dist/session.cjs +46 -13
  166. package/dist/session.d.cts +28 -9
  167. package/dist/session.d.ts +28 -9
  168. package/dist/session.js +46 -13
  169. package/dist/{types-DxSFvL2b.d.cts → types--Q7_DcvP.d.cts} +43 -39
  170. package/dist/{types-DxSFvL2b.d.ts → types--Q7_DcvP.d.ts} +43 -39
  171. package/dist/{types-B0FT5Qs2.d.ts → types-0IWbU9Z_.d.cts} +36 -36
  172. package/dist/{types-B0FT5Qs2.d.cts → types-0IWbU9Z_.d.ts} +36 -36
  173. package/dist/{types-gQsr0AAA.d.cts → types-B3g5G9KP.d.cts} +36 -36
  174. package/dist/{types-gQsr0AAA.d.ts → types-B3g5G9KP.d.ts} +36 -36
  175. package/dist/{types-Pme7sua0.d.cts → types-BFpFNM_m.d.cts} +57 -32
  176. package/dist/{types-Pme7sua0.d.ts → types-BFpFNM_m.d.ts} +57 -32
  177. package/dist/{types-8gUGeMgs.d.ts → types-Br7fm2mf.d.cts} +48 -26
  178. package/dist/{types-8gUGeMgs.d.cts → types-Br7fm2mf.d.ts} +48 -26
  179. package/dist/{types-BeAVNU-F.d.cts → types-C2qKTRR_.d.cts} +50 -45
  180. package/dist/{types-BeAVNU-F.d.ts → types-C2qKTRR_.d.ts} +50 -45
  181. package/dist/{types-DKpsfD3i.d.cts → types-DEaypVsD.d.cts} +115 -55
  182. package/dist/{types-DKpsfD3i.d.ts → types-DEaypVsD.d.ts} +115 -55
  183. package/dist/types-Dl4IaAHR.d.cts +282 -0
  184. package/dist/types-Dl4IaAHR.d.ts +282 -0
  185. package/dist/{types-CDa7F5ct.d.cts → types-DrQpTW1G.d.cts} +58 -50
  186. package/dist/{types-CDa7F5ct.d.ts → types-DrQpTW1G.d.ts} +58 -50
  187. package/dist/types-DuIO7cWK.d.cts +25 -0
  188. package/dist/types-DuIO7cWK.d.ts +25 -0
  189. package/dist/{types-B9A2g05r.d.cts → types-DuxfOYiO.d.cts} +47 -31
  190. package/dist/{types-B9A2g05r.d.ts → types-DuxfOYiO.d.ts} +47 -31
  191. package/dist/{types-D1dI_oTX.d.cts → types-jV1yDDBA.d.cts} +36 -36
  192. package/dist/{types-D1dI_oTX.d.ts → types-jV1yDDBA.d.ts} +36 -36
  193. package/package.json +192 -192
  194. package/src/core/buffer-reader.ts +130 -130
  195. package/src/core/buffer-writer.ts +100 -100
  196. package/src/core/errors.ts +1 -1
  197. package/src/core/hex.ts +21 -21
  198. package/src/core/session-types.ts +61 -59
  199. package/src/core/types.ts +18 -361
  200. package/src/drafts/draft07/codec.ts +1058 -938
  201. package/src/drafts/draft07/data-streams.ts +240 -240
  202. package/src/drafts/draft07/index.ts +124 -89
  203. package/src/drafts/draft07/messages.ts +76 -42
  204. package/src/drafts/draft07/rules.ts +107 -101
  205. package/src/drafts/draft07/session-fsm.ts +315 -287
  206. package/src/drafts/draft07/session.ts +8 -6
  207. package/src/drafts/draft07/types.ts +406 -72
  208. package/src/drafts/draft07/varint.ts +51 -51
  209. package/src/drafts/draft08/codec.ts +985 -953
  210. package/src/drafts/draft08/data-streams.ts +363 -359
  211. package/src/drafts/draft08/index.ts +10 -9
  212. package/src/drafts/draft08/messages.ts +59 -59
  213. package/src/drafts/draft08/rules.ts +73 -73
  214. package/src/drafts/draft08/session-fsm.ts +335 -303
  215. package/src/drafts/draft08/session.ts +6 -7
  216. package/src/drafts/draft08/types.ts +380 -384
  217. package/src/drafts/draft09/codec.ts +977 -945
  218. package/src/drafts/draft09/data-streams.ts +336 -332
  219. package/src/drafts/draft09/index.ts +10 -9
  220. package/src/drafts/draft09/messages.ts +59 -59
  221. package/src/drafts/draft09/rules.ts +73 -73
  222. package/src/drafts/draft09/session-fsm.ts +335 -303
  223. package/src/drafts/draft09/session.ts +6 -7
  224. package/src/drafts/draft09/types.ts +380 -384
  225. package/src/drafts/draft10/codec.ts +977 -945
  226. package/src/drafts/draft10/data-streams.ts +336 -332
  227. package/src/drafts/draft10/index.ts +10 -9
  228. package/src/drafts/draft10/messages.ts +59 -59
  229. package/src/drafts/draft10/rules.ts +73 -73
  230. package/src/drafts/draft10/session-fsm.ts +335 -303
  231. package/src/drafts/draft10/session.ts +6 -7
  232. package/src/drafts/draft10/types.ts +380 -384
  233. package/src/drafts/draft11/codec.ts +1054 -988
  234. package/src/drafts/draft11/data-streams.ts +316 -269
  235. package/src/drafts/draft11/index.ts +10 -9
  236. package/src/drafts/draft11/messages.ts +60 -59
  237. package/src/drafts/draft11/rules.ts +73 -73
  238. package/src/drafts/draft11/session-fsm.ts +359 -333
  239. package/src/drafts/draft11/session.ts +6 -7
  240. package/src/drafts/draft11/types.ts +385 -381
  241. package/src/drafts/draft12/codec.ts +1178 -1122
  242. package/src/drafts/draft12/data-streams.ts +324 -275
  243. package/src/drafts/draft12/index.ts +10 -9
  244. package/src/drafts/draft12/messages.ts +67 -66
  245. package/src/drafts/draft12/rules.ts +79 -79
  246. package/src/drafts/draft12/session-fsm.ts +384 -358
  247. package/src/drafts/draft12/session.ts +6 -7
  248. package/src/drafts/draft12/types.ts +424 -419
  249. package/src/drafts/draft13/codec.ts +1296 -1206
  250. package/src/drafts/draft13/data-streams.ts +326 -275
  251. package/src/drafts/draft13/index.ts +10 -9
  252. package/src/drafts/draft13/messages.ts +73 -68
  253. package/src/drafts/draft13/rules.ts +81 -81
  254. package/src/drafts/draft13/session-fsm.ts +392 -366
  255. package/src/drafts/draft13/session.ts +6 -7
  256. package/src/drafts/draft13/types.ts +447 -438
  257. package/src/drafts/draft14/codec.ts +1347 -1043
  258. package/src/drafts/draft14/data-streams.ts +831 -813
  259. package/src/drafts/draft14/index.ts +17 -9
  260. package/src/drafts/draft14/messages.ts +65 -65
  261. package/src/drafts/draft14/rules.ts +81 -81
  262. package/src/drafts/draft14/session-fsm.ts +415 -405
  263. package/src/drafts/draft14/session.ts +6 -7
  264. package/src/drafts/draft14/types.ts +451 -381
  265. package/src/drafts/draft15/codec.ts +1138 -978
  266. package/src/drafts/draft15/data-streams.ts +842 -794
  267. package/src/drafts/draft15/index.ts +10 -9
  268. package/src/drafts/draft15/messages.ts +54 -53
  269. package/src/drafts/draft15/rules.ts +67 -67
  270. package/src/drafts/draft15/session-fsm.ts +319 -299
  271. package/src/drafts/draft15/session.ts +6 -7
  272. package/src/drafts/draft15/types.ts +357 -339
  273. package/src/drafts/draft16/codec.ts +1242 -966
  274. package/src/drafts/draft16/data-streams.ts +835 -789
  275. package/src/drafts/draft16/index.ts +10 -9
  276. package/src/drafts/draft16/messages.ts +56 -55
  277. package/src/drafts/draft16/rules.ts +69 -69
  278. package/src/drafts/draft16/session-fsm.ts +319 -299
  279. package/src/drafts/draft16/session.ts +6 -7
  280. package/src/drafts/draft16/types.ts +386 -357
  281. package/src/drafts/draft17/codec.ts +1209 -971
  282. package/src/drafts/draft17/data-streams.ts +969 -758
  283. package/src/drafts/draft17/index.ts +9 -7
  284. package/src/drafts/draft17/messages.ts +43 -42
  285. package/src/drafts/draft17/rules.ts +58 -58
  286. package/src/drafts/draft17/session-fsm.ts +248 -216
  287. package/src/drafts/draft17/session.ts +5 -5
  288. package/src/drafts/draft17/types.ts +337 -313
  289. package/src/index.ts +85 -274
  290. package/src/session.ts +62 -23
  291. package/dist/chunk-FZDIEHQL.cjs +0 -1042
  292. package/dist/chunk-HDWJ2GDE.js +0 -24
  293. package/dist/chunk-KNDYS3DK.cjs +0 -24
  294. package/dist/chunk-N2KBF5Q2.js +0 -1042
  295. package/dist/types-QNXoxC9Y.d.cts +0 -236
  296. package/dist/types-QNXoxC9Y.d.ts +0 -236
  297. package/src/drafts/draft07/announce-fsm.ts +0 -2
  298. package/src/drafts/draft07/parameters.ts +0 -12
  299. package/src/drafts/draft07/subscription-fsm.ts +0 -3
@@ -1,88 +1,10 @@
1
- import {
2
- bytesToHex,
3
- hexToBytes
4
- } from "./chunk-HDWJ2GDE.js";
5
1
  import {
6
2
  BufferReader,
7
3
  BufferWriter,
8
- DecodeError
9
- } from "./chunk-7L43FE6P.js";
10
-
11
- // src/drafts/draft13/messages.ts
12
- var MSG_SUBSCRIBE_UPDATE = 0x02n;
13
- var MSG_SUBSCRIBE = 0x03n;
14
- var MSG_SUBSCRIBE_OK = 0x04n;
15
- var MSG_SUBSCRIBE_ERROR = 0x05n;
16
- var MSG_ANNOUNCE = 0x06n;
17
- var MSG_ANNOUNCE_OK = 0x07n;
18
- var MSG_ANNOUNCE_ERROR = 0x08n;
19
- var MSG_UNANNOUNCE = 0x09n;
20
- var MSG_UNSUBSCRIBE = 0x0an;
21
- var MSG_SUBSCRIBE_DONE = 0x0bn;
22
- var MSG_ANNOUNCE_CANCEL = 0x0cn;
23
- var MSG_TRACK_STATUS = 0x0dn;
24
- var MSG_TRACK_STATUS_OK = 0x0en;
25
- var MSG_TRACK_STATUS_ERROR = 0x0fn;
26
- var MSG_GOAWAY = 0x10n;
27
- var MSG_SUBSCRIBE_NAMESPACE = 0x11n;
28
- var MSG_SUBSCRIBE_NAMESPACE_OK = 0x12n;
29
- var MSG_SUBSCRIBE_NAMESPACE_ERROR = 0x13n;
30
- var MSG_UNSUBSCRIBE_NAMESPACE = 0x14n;
31
- var MSG_MAX_REQUEST_ID = 0x15n;
32
- var MSG_FETCH = 0x16n;
33
- var MSG_FETCH_CANCEL = 0x17n;
34
- var MSG_FETCH_OK = 0x18n;
35
- var MSG_FETCH_ERROR = 0x19n;
36
- var MSG_REQUESTS_BLOCKED = 0x1an;
37
- var MSG_PUBLISH = 0x1dn;
38
- var MSG_PUBLISH_OK = 0x1en;
39
- var MSG_PUBLISH_ERROR = 0x1fn;
40
- var MSG_CLIENT_SETUP = 0x20n;
41
- var MSG_SERVER_SETUP = 0x21n;
42
- var SETUP_PARAM_PATH = 0x01n;
43
- var SETUP_PARAM_MAX_REQUEST_ID = 0x02n;
44
- var PARAM_AUTHORIZATION_TOKEN = 0x01n;
45
- var PARAM_DELIVERY_TIMEOUT = 0x03n;
46
- var VARINT_FRAMED_MESSAGES = /* @__PURE__ */ new Set([
47
- MSG_PUBLISH,
48
- MSG_PUBLISH_OK,
49
- MSG_PUBLISH_ERROR
50
- ]);
51
- var MESSAGE_TYPE_MAP = /* @__PURE__ */ new Map([
52
- [MSG_CLIENT_SETUP, "client_setup"],
53
- [MSG_SERVER_SETUP, "server_setup"],
54
- [MSG_SUBSCRIBE, "subscribe"],
55
- [MSG_SUBSCRIBE_OK, "subscribe_ok"],
56
- [MSG_SUBSCRIBE_ERROR, "subscribe_error"],
57
- [MSG_SUBSCRIBE_UPDATE, "subscribe_update"],
58
- [MSG_SUBSCRIBE_DONE, "subscribe_done"],
59
- [MSG_UNSUBSCRIBE, "unsubscribe"],
60
- [MSG_ANNOUNCE, "announce"],
61
- [MSG_ANNOUNCE_OK, "announce_ok"],
62
- [MSG_ANNOUNCE_ERROR, "announce_error"],
63
- [MSG_UNANNOUNCE, "unannounce"],
64
- [MSG_ANNOUNCE_CANCEL, "announce_cancel"],
65
- [MSG_SUBSCRIBE_NAMESPACE, "subscribe_namespace"],
66
- [MSG_SUBSCRIBE_NAMESPACE_OK, "subscribe_namespace_ok"],
67
- [MSG_SUBSCRIBE_NAMESPACE_ERROR, "subscribe_namespace_error"],
68
- [MSG_UNSUBSCRIBE_NAMESPACE, "unsubscribe_namespace"],
69
- [MSG_FETCH, "fetch"],
70
- [MSG_FETCH_OK, "fetch_ok"],
71
- [MSG_FETCH_ERROR, "fetch_error"],
72
- [MSG_FETCH_CANCEL, "fetch_cancel"],
73
- [MSG_PUBLISH, "publish"],
74
- [MSG_PUBLISH_OK, "publish_ok"],
75
- [MSG_PUBLISH_ERROR, "publish_error"],
76
- [MSG_TRACK_STATUS, "track_status"],
77
- [MSG_TRACK_STATUS_OK, "track_status_ok"],
78
- [MSG_TRACK_STATUS_ERROR, "track_status_error"],
79
- [MSG_GOAWAY, "goaway"],
80
- [MSG_MAX_REQUEST_ID, "max_request_id"],
81
- [MSG_REQUESTS_BLOCKED, "requests_blocked"]
82
- ]);
83
- var MESSAGE_ID_MAP = new Map(
84
- [...MESSAGE_TYPE_MAP.entries()].map(([id, name]) => [name, id])
85
- );
4
+ DecodeError,
5
+ bytesToHex,
6
+ hexToBytes
7
+ } from "./chunk-VOU7PNHI.js";
86
8
 
87
9
  // src/drafts/draft13/data-streams.ts
88
10
  var FETCH_STREAM_TYPE = 0x05n;
@@ -118,7 +40,14 @@ function encodeDatagram(dg) {
118
40
  w.writeVarInt(dg.groupId);
119
41
  w.writeVarInt(dg.objectId);
120
42
  w.writeUint8(dg.publisherPriority);
121
- if (dg.streamTypeId === 2) {
43
+ const extensionsPresent = (dg.streamTypeId & 1) !== 0;
44
+ if (extensionsPresent) {
45
+ const extData = dg.extensionData ?? new Uint8Array(0);
46
+ w.writeVarInt(extData.byteLength);
47
+ if (extData.byteLength > 0) w.writeBytes(extData);
48
+ }
49
+ const isStatus = dg.streamTypeId >= 4;
50
+ if (isStatus) {
122
51
  w.writeVarInt(dg.objectStatus ?? 0n);
123
52
  } else {
124
53
  w.writeBytes(dg.payload);
@@ -137,7 +66,12 @@ function encodeFetchStream(stream) {
137
66
  w.writeVarInt(BigInt(obj.extensionData.length));
138
67
  if (obj.extensionData.length > 0) w.writeBytes(obj.extensionData);
139
68
  w.writeVarInt(obj.payloadLength);
140
- w.writeBytes(obj.payload);
69
+ if (obj.payloadLength === 0) {
70
+ const status = obj.objectStatus;
71
+ w.writeVarInt(status ?? 0n);
72
+ } else {
73
+ w.writeBytes(obj.payload);
74
+ }
141
75
  }
142
76
  return w.finish();
143
77
  }
@@ -175,9 +109,10 @@ function decodeSubgroupStream(bytes) {
175
109
  }
176
110
  firstObject = false;
177
111
  let extensionData = new Uint8Array(0);
112
+ let extensionHeadersLength;
178
113
  if (extensionsPresent) {
179
- const extLen = Number(r.readVarInt());
180
- extensionData = extLen > 0 ? r.readBytesView(extLen) : new Uint8Array(0);
114
+ extensionHeadersLength = r.readVarInt();
115
+ extensionData = extensionHeadersLength > 0n ? r.readBytesView(Number(extensionHeadersLength)) : new Uint8Array(0);
181
116
  }
182
117
  const payloadLength = Number(r.readVarInt());
183
118
  let payload;
@@ -191,7 +126,17 @@ function decodeSubgroupStream(bytes) {
191
126
  payloadByteOffset = r.offset;
192
127
  payload = r.readBytesView(payloadLength);
193
128
  }
194
- const obj = { type: "object", byteOffset, payloadByteOffset, objectId, payloadLength, extensionData, payload };
129
+ const obj = {
130
+ type: "object",
131
+ byteOffset,
132
+ payloadByteOffset,
133
+ objectId,
134
+ payloadLength,
135
+ extensionData,
136
+ payload
137
+ };
138
+ if (extensionHeadersLength !== void 0)
139
+ obj.extensionHeadersLength = extensionHeadersLength;
195
140
  if (status !== void 0) obj.status = status;
196
141
  objects.push(obj);
197
142
  }
@@ -217,23 +162,32 @@ function decodeDatagram(bytes) {
217
162
  try {
218
163
  const r = new BufferReader(bytes);
219
164
  const streamTypeId = Number(r.readVarInt());
220
- if (streamTypeId !== 0 && streamTypeId !== 2) {
165
+ if (streamTypeId < 0 || streamTypeId > 5) {
221
166
  return {
222
167
  ok: false,
223
168
  error: new DecodeError(
224
169
  "CONSTRAINT_VIOLATION",
225
- `Expected datagram type 0x00 or 0x02, got 0x${streamTypeId.toString(16)}`,
170
+ `Expected datagram type 0x00-0x05, got 0x${streamTypeId.toString(16)}`,
226
171
  0
227
172
  )
228
173
  };
229
174
  }
175
+ const extensionsPresent = (streamTypeId & 1) !== 0;
176
+ const endOfGroup = (streamTypeId & 2) !== 0 && streamTypeId < 4;
177
+ const isStatus = streamTypeId >= 4;
230
178
  const trackAlias = r.readVarInt();
231
179
  const groupId = r.readVarInt();
232
180
  const objectId = r.readVarInt();
233
181
  const publisherPriority = r.readUint8();
182
+ let extensionHeadersLength;
183
+ let extensionData;
184
+ if (extensionsPresent) {
185
+ extensionHeadersLength = r.readVarInt();
186
+ extensionData = extensionHeadersLength > 0n ? r.readBytesView(Number(extensionHeadersLength)) : new Uint8Array(0);
187
+ }
234
188
  let objectStatus;
235
189
  let payload;
236
- if (streamTypeId === 2) {
190
+ if (isStatus) {
237
191
  objectStatus = r.readVarInt();
238
192
  payload = new Uint8Array(0);
239
193
  } else {
@@ -249,6 +203,11 @@ function decodeDatagram(bytes) {
249
203
  payloadLength: payload.byteLength,
250
204
  payload
251
205
  };
206
+ if (endOfGroup) result.endOfGroup = true;
207
+ if (extensionHeadersLength !== void 0)
208
+ result.extensionHeadersLength = extensionHeadersLength;
209
+ if (extensionData !== void 0)
210
+ result.extensionData = extensionData;
252
211
  if (objectStatus !== void 0)
253
212
  result.objectStatus = objectStatus;
254
213
  return { ok: true, value: result, bytesRead: r.offset };
@@ -301,6 +260,7 @@ function decodeFetchStream(bytes) {
301
260
  subgroupId,
302
261
  objectId,
303
262
  publisherPriority,
263
+ extensionHeadersLength,
304
264
  extensionData,
305
265
  payloadLength,
306
266
  payload
@@ -309,7 +269,11 @@ function decodeFetchStream(bytes) {
309
269
  obj.objectStatus = objectStatus;
310
270
  objects.push(obj);
311
271
  }
312
- return { ok: true, value: { type: "fetch", requestId, objects }, bytesRead: r.offset };
272
+ return {
273
+ ok: true,
274
+ value: { type: "fetch", requestId, objects },
275
+ bytesRead: r.offset
276
+ };
313
277
  } catch (e) {
314
278
  if (e instanceof DecodeError) return { ok: false, error: e };
315
279
  throw e;
@@ -330,13 +294,126 @@ function decodeDataStream(streamType, bytes) {
330
294
  }
331
295
  }
332
296
 
297
+ // src/drafts/draft13/messages.ts
298
+ var MSG_SUBSCRIBE_UPDATE = 0x02n;
299
+ var MSG_SUBSCRIBE = 0x03n;
300
+ var MSG_SUBSCRIBE_OK = 0x04n;
301
+ var MSG_SUBSCRIBE_ERROR = 0x05n;
302
+ var MSG_ANNOUNCE = 0x06n;
303
+ var MSG_ANNOUNCE_OK = 0x07n;
304
+ var MSG_ANNOUNCE_ERROR = 0x08n;
305
+ var MSG_UNANNOUNCE = 0x09n;
306
+ var MSG_UNSUBSCRIBE = 0x0an;
307
+ var MSG_SUBSCRIBE_DONE = 0x0bn;
308
+ var MSG_ANNOUNCE_CANCEL = 0x0cn;
309
+ var MSG_TRACK_STATUS = 0x0dn;
310
+ var MSG_TRACK_STATUS_OK = 0x0en;
311
+ var MSG_TRACK_STATUS_ERROR = 0x0fn;
312
+ var MSG_GOAWAY = 0x10n;
313
+ var MSG_SUBSCRIBE_NAMESPACE = 0x11n;
314
+ var MSG_SUBSCRIBE_NAMESPACE_OK = 0x12n;
315
+ var MSG_SUBSCRIBE_NAMESPACE_ERROR = 0x13n;
316
+ var MSG_UNSUBSCRIBE_NAMESPACE = 0x14n;
317
+ var MSG_MAX_REQUEST_ID = 0x15n;
318
+ var MSG_FETCH = 0x16n;
319
+ var MSG_FETCH_CANCEL = 0x17n;
320
+ var MSG_FETCH_OK = 0x18n;
321
+ var MSG_FETCH_ERROR = 0x19n;
322
+ var MSG_REQUESTS_BLOCKED = 0x1an;
323
+ var MSG_PUBLISH = 0x1dn;
324
+ var MSG_PUBLISH_OK = 0x1en;
325
+ var MSG_PUBLISH_ERROR = 0x1fn;
326
+ var MSG_CLIENT_SETUP = 0x20n;
327
+ var MSG_SERVER_SETUP = 0x21n;
328
+ var SETUP_PARAM_PATH = 0x01n;
329
+ var SETUP_PARAM_MAX_REQUEST_ID = 0x02n;
330
+ var PARAM_DELIVERY_TIMEOUT = 0x02n;
331
+ var PARAM_AUTHORIZATION_TOKEN = 0x03n;
332
+ var PARAM_MAX_CACHE_DURATION = 0x04n;
333
+ var SETUP_PARAM_AUTHORIZATION_TOKEN = 0x03n;
334
+ var SETUP_PARAM_MAX_AUTH_TOKEN_CACHE_SIZE = 0x04n;
335
+ var VARINT_FRAMED_MESSAGES = /* @__PURE__ */ new Set([
336
+ MSG_PUBLISH,
337
+ MSG_PUBLISH_OK,
338
+ MSG_PUBLISH_ERROR
339
+ ]);
340
+ var MESSAGE_TYPE_MAP = /* @__PURE__ */ new Map([
341
+ [MSG_CLIENT_SETUP, "client_setup"],
342
+ [MSG_SERVER_SETUP, "server_setup"],
343
+ [MSG_SUBSCRIBE, "subscribe"],
344
+ [MSG_SUBSCRIBE_OK, "subscribe_ok"],
345
+ [MSG_SUBSCRIBE_ERROR, "subscribe_error"],
346
+ [MSG_SUBSCRIBE_UPDATE, "subscribe_update"],
347
+ [MSG_SUBSCRIBE_DONE, "subscribe_done"],
348
+ [MSG_UNSUBSCRIBE, "unsubscribe"],
349
+ [MSG_ANNOUNCE, "announce"],
350
+ [MSG_ANNOUNCE_OK, "announce_ok"],
351
+ [MSG_ANNOUNCE_ERROR, "announce_error"],
352
+ [MSG_UNANNOUNCE, "unannounce"],
353
+ [MSG_ANNOUNCE_CANCEL, "announce_cancel"],
354
+ [MSG_SUBSCRIBE_NAMESPACE, "subscribe_namespace"],
355
+ [MSG_SUBSCRIBE_NAMESPACE_OK, "subscribe_namespace_ok"],
356
+ [MSG_SUBSCRIBE_NAMESPACE_ERROR, "subscribe_namespace_error"],
357
+ [MSG_UNSUBSCRIBE_NAMESPACE, "unsubscribe_namespace"],
358
+ [MSG_FETCH, "fetch"],
359
+ [MSG_FETCH_OK, "fetch_ok"],
360
+ [MSG_FETCH_ERROR, "fetch_error"],
361
+ [MSG_FETCH_CANCEL, "fetch_cancel"],
362
+ [MSG_PUBLISH, "publish"],
363
+ [MSG_PUBLISH_OK, "publish_ok"],
364
+ [MSG_PUBLISH_ERROR, "publish_error"],
365
+ [MSG_TRACK_STATUS, "track_status"],
366
+ [MSG_TRACK_STATUS_OK, "track_status_ok"],
367
+ [MSG_TRACK_STATUS_ERROR, "track_status_error"],
368
+ [MSG_GOAWAY, "goaway"],
369
+ [MSG_MAX_REQUEST_ID, "max_request_id"],
370
+ [MSG_REQUESTS_BLOCKED, "requests_blocked"]
371
+ ]);
372
+ var MESSAGE_ID_MAP = new Map(
373
+ [...MESSAGE_TYPE_MAP.entries()].map(([id, name]) => [name, id])
374
+ );
375
+
333
376
  // src/drafts/draft13/codec.ts
334
377
  var textEncoder = /* @__PURE__ */ new TextEncoder();
335
378
  var textDecoder = /* @__PURE__ */ new TextDecoder();
379
+ function encodeAuthorizationToken(at, w) {
380
+ const tmpW = new BufferWriter(64);
381
+ tmpW.writeVarInt(at.alias_type);
382
+ const aliasType = Number(at.alias_type);
383
+ if (aliasType === 0 || aliasType === 1 || aliasType === 2) {
384
+ tmpW.writeVarInt(at.token_alias ?? 0n);
385
+ }
386
+ if (aliasType === 1 || aliasType === 3) {
387
+ tmpW.writeVarInt(at.token_type ?? 0n);
388
+ const tokenBytes = textEncoder.encode(at.token_value ?? "");
389
+ tmpW.writeBytes(tokenBytes);
390
+ }
391
+ const raw = tmpW.finish();
392
+ w.writeVarInt(raw.byteLength);
393
+ w.writeBytes(raw);
394
+ }
395
+ function decodeAuthorizationToken(r, length) {
396
+ const startOff = r.offset;
397
+ const alias_type = r.readVarInt();
398
+ const aliasType = Number(alias_type);
399
+ const result = { alias_type };
400
+ if (aliasType === 0 || aliasType === 1 || aliasType === 2) {
401
+ result.token_alias = r.readVarInt();
402
+ }
403
+ if (aliasType === 1 || aliasType === 3) {
404
+ result.token_type = r.readVarInt();
405
+ const tokenBytesLen = length - (r.offset - startOff);
406
+ const tokenBytes = r.readBytes(tokenBytesLen);
407
+ result.token_value = textDecoder.decode(tokenBytes);
408
+ }
409
+ return result;
410
+ }
336
411
  function encodeSetupParams(params, w) {
337
412
  let count = 0;
338
413
  if (params.path !== void 0) count++;
339
414
  if (params.max_request_id !== void 0) count++;
415
+ if (params.authorization_token !== void 0) count++;
416
+ if (params.max_auth_token_cache_size !== void 0) count++;
340
417
  if (params.unknown) count += params.unknown.length;
341
418
  w.writeVarInt(count);
342
419
  if (params.path !== void 0) {
@@ -349,6 +426,14 @@ function encodeSetupParams(params, w) {
349
426
  w.writeVarInt(SETUP_PARAM_MAX_REQUEST_ID);
350
427
  w.writeVarInt(params.max_request_id);
351
428
  }
429
+ if (params.authorization_token !== void 0) {
430
+ w.writeVarInt(SETUP_PARAM_AUTHORIZATION_TOKEN);
431
+ encodeAuthorizationToken(params.authorization_token, w);
432
+ }
433
+ if (params.max_auth_token_cache_size !== void 0) {
434
+ w.writeVarInt(SETUP_PARAM_MAX_AUTH_TOKEN_CACHE_SIZE);
435
+ w.writeVarInt(params.max_auth_token_cache_size);
436
+ }
352
437
  if (params.unknown) {
353
438
  for (const u of params.unknown) {
354
439
  const id = BigInt(u.id);
@@ -375,6 +460,8 @@ function decodeSetupParams(r) {
375
460
  const value = r.readVarInt();
376
461
  if (paramType === SETUP_PARAM_MAX_REQUEST_ID) {
377
462
  result.max_request_id = value;
463
+ } else if (paramType === SETUP_PARAM_MAX_AUTH_TOKEN_CACHE_SIZE) {
464
+ result.max_auth_token_cache_size = value;
378
465
  } else {
379
466
  const tmpW = new BufferWriter(16);
380
467
  tmpW.writeVarInt(value);
@@ -387,11 +474,18 @@ function decodeSetupParams(r) {
387
474
  }
388
475
  } else {
389
476
  const length = Number(r.readVarInt());
390
- const bytes = r.readBytes(length);
391
477
  if (paramType === SETUP_PARAM_PATH) {
478
+ const bytes = r.readBytes(length);
392
479
  result.path = textDecoder.decode(bytes);
480
+ } else if (paramType === SETUP_PARAM_AUTHORIZATION_TOKEN) {
481
+ result.authorization_token = decodeAuthorizationToken(r, length);
393
482
  } else {
394
- unknown.push({ id: `0x${paramType.toString(16)}`, length, raw_hex: bytesToHex(bytes) });
483
+ const bytes = r.readBytes(length);
484
+ unknown.push({
485
+ id: `0x${paramType.toString(16)}`,
486
+ length,
487
+ raw_hex: bytesToHex(bytes)
488
+ });
395
489
  }
396
490
  }
397
491
  }
@@ -400,28 +494,21 @@ function decodeSetupParams(r) {
400
494
  }
401
495
  function encodeParams(params, w) {
402
496
  let count = params.unknown ? params.unknown.length : 0;
403
- if (params.authorization_token !== void 0) count++;
404
497
  if (params.delivery_timeout !== void 0) count++;
498
+ if (params.authorization_token !== void 0) count++;
499
+ if (params.max_cache_duration !== void 0) count++;
405
500
  w.writeVarInt(count);
501
+ if (params.delivery_timeout !== void 0) {
502
+ w.writeVarInt(PARAM_DELIVERY_TIMEOUT);
503
+ w.writeVarInt(params.delivery_timeout);
504
+ }
406
505
  if (params.authorization_token !== void 0) {
407
506
  w.writeVarInt(PARAM_AUTHORIZATION_TOKEN);
408
- const at = params.authorization_token;
409
- const tmpW = new BufferWriter(64);
410
- tmpW.writeVarInt(at.alias_type);
411
- tmpW.writeVarInt(at.token_type);
412
- const tokenBytes = textEncoder.encode(at.token_value);
413
- tmpW.writeBytes(tokenBytes);
414
- const raw = tmpW.finish();
415
- w.writeVarInt(raw.byteLength);
416
- w.writeBytes(raw);
507
+ encodeAuthorizationToken(params.authorization_token, w);
417
508
  }
418
- if (params.delivery_timeout !== void 0) {
419
- w.writeVarInt(PARAM_DELIVERY_TIMEOUT);
420
- const tmpW = new BufferWriter(16);
421
- tmpW.writeVarInt(params.delivery_timeout);
422
- const raw = tmpW.finish();
423
- w.writeVarInt(raw.byteLength);
424
- w.writeBytes(raw);
509
+ if (params.max_cache_duration !== void 0) {
510
+ w.writeVarInt(PARAM_MAX_CACHE_DURATION);
511
+ w.writeVarInt(params.max_cache_duration);
425
512
  }
426
513
  if (params.unknown) {
427
514
  for (const u of params.unknown) {
@@ -447,34 +534,31 @@ function decodeParams(r) {
447
534
  const paramType = r.readVarInt();
448
535
  if (paramType % 2n === 0n) {
449
536
  const value = r.readVarInt();
450
- const tmpW = new BufferWriter(16);
451
- tmpW.writeVarInt(value);
452
- const raw = tmpW.finish();
453
- unknown.push({
454
- id: `0x${paramType.toString(16)}`,
455
- length: raw.byteLength,
456
- raw_hex: bytesToHex(raw)
457
- });
537
+ if (paramType === PARAM_DELIVERY_TIMEOUT) {
538
+ result.delivery_timeout = value;
539
+ } else if (paramType === PARAM_MAX_CACHE_DURATION) {
540
+ result.max_cache_duration = value;
541
+ } else {
542
+ const tmpW = new BufferWriter(16);
543
+ tmpW.writeVarInt(value);
544
+ const raw = tmpW.finish();
545
+ unknown.push({
546
+ id: `0x${paramType.toString(16)}`,
547
+ length: raw.byteLength,
548
+ raw_hex: bytesToHex(raw)
549
+ });
550
+ }
458
551
  } else {
459
552
  const length = Number(r.readVarInt());
460
- const startOff = r.offset;
461
553
  if (paramType === PARAM_AUTHORIZATION_TOKEN) {
462
- const alias_type = r.readVarInt();
463
- const token_type = r.readVarInt();
464
- const tokenBytesLen = length - (r.offset - startOff);
465
- const tokenBytes = r.readBytes(tokenBytesLen);
466
- result.authorization_token = {
467
- alias_type,
468
- token_type,
469
- token_value: textDecoder.decode(tokenBytes)
470
- };
471
- } else if (paramType === PARAM_DELIVERY_TIMEOUT) {
472
- const blob = r.readBytes(length);
473
- const tmpReader = new BufferReader(blob);
474
- result.delivery_timeout = tmpReader.readVarInt();
554
+ result.authorization_token = decodeAuthorizationToken(r, length);
475
555
  } else {
476
556
  const bytes = r.readBytes(length);
477
- unknown.push({ id: `0x${paramType.toString(16)}`, length, raw_hex: bytesToHex(bytes) });
557
+ unknown.push({
558
+ id: `0x${paramType.toString(16)}`,
559
+ length,
560
+ raw_hex: bytesToHex(bytes)
561
+ });
478
562
  }
479
563
  }
480
564
  }
@@ -495,7 +579,7 @@ function encodeSubscribePayload(msg, w) {
495
579
  w.writeTuple(msg.track_namespace);
496
580
  w.writeString(msg.track_name);
497
581
  w.writeUint8(msg.subscriber_priority);
498
- w.writeVarInt(msg.group_order);
582
+ w.writeUint8(msg.group_order);
499
583
  w.writeVarInt(msg.forward);
500
584
  w.writeVarInt(msg.filter_type);
501
585
  const ft = Number(msg.filter_type);
@@ -512,7 +596,7 @@ function encodeSubscribeOkPayload(msg, w) {
512
596
  w.writeVarInt(msg.request_id);
513
597
  w.writeVarInt(msg.track_alias);
514
598
  w.writeVarInt(msg.expires);
515
- w.writeVarInt(msg.group_order);
599
+ w.writeUint8(msg.group_order);
516
600
  w.writeVarInt(msg.content_exists);
517
601
  if (msg.content_exists === 1n && msg.largest_location) {
518
602
  w.writeVarInt(msg.largest_location.group);
@@ -585,7 +669,7 @@ function encodePublishPayload(msg, w) {
585
669
  w.writeTuple(msg.track_namespace);
586
670
  w.writeString(msg.track_name);
587
671
  w.writeVarInt(msg.track_alias);
588
- w.writeVarInt(msg.group_order);
672
+ w.writeUint8(msg.group_order);
589
673
  w.writeVarInt(msg.content_exists);
590
674
  if (msg.content_exists === 1n && msg.largest_location) {
591
675
  w.writeVarInt(msg.largest_location.group);
@@ -598,7 +682,7 @@ function encodePublishOkPayload(msg, w) {
598
682
  w.writeVarInt(msg.request_id);
599
683
  w.writeVarInt(msg.forward);
600
684
  w.writeUint8(msg.subscriber_priority);
601
- w.writeVarInt(msg.group_order);
685
+ w.writeUint8(msg.group_order);
602
686
  w.writeVarInt(msg.filter_type);
603
687
  const ft = Number(msg.filter_type);
604
688
  if (ft === 3 || ft === 4) {
@@ -618,7 +702,7 @@ function encodePublishErrorPayload(msg, w) {
618
702
  function encodeFetchPayload(msg, w) {
619
703
  w.writeVarInt(msg.request_id);
620
704
  w.writeUint8(msg.subscriber_priority);
621
- w.writeVarInt(msg.group_order);
705
+ w.writeUint8(msg.group_order);
622
706
  w.writeVarInt(msg.fetch_type);
623
707
  const ft = Number(msg.fetch_type);
624
708
  if (ft === 1 && msg.standalone) {
@@ -636,7 +720,7 @@ function encodeFetchPayload(msg, w) {
636
720
  }
637
721
  function encodeFetchOkPayload(msg, w) {
638
722
  w.writeVarInt(msg.request_id);
639
- w.writeVarInt(msg.group_order);
723
+ w.writeUint8(msg.group_order);
640
724
  w.writeVarInt(msg.end_of_track);
641
725
  w.writeVarInt(msg.end_location.group);
642
726
  w.writeVarInt(msg.end_location.object);
@@ -655,7 +739,7 @@ function encodeTrackStatusPayload(msg, w) {
655
739
  w.writeTuple(msg.track_namespace);
656
740
  w.writeString(msg.track_name);
657
741
  w.writeUint8(msg.subscriber_priority);
658
- w.writeVarInt(msg.group_order);
742
+ w.writeUint8(msg.group_order);
659
743
  w.writeVarInt(msg.forward);
660
744
  w.writeVarInt(msg.filter_type);
661
745
  const ft = Number(msg.filter_type);
@@ -672,7 +756,7 @@ function encodeTrackStatusOkPayload(msg, w) {
672
756
  w.writeVarInt(msg.request_id);
673
757
  w.writeVarInt(msg.track_alias);
674
758
  w.writeVarInt(msg.expires);
675
- w.writeVarInt(msg.group_order);
759
+ w.writeUint8(msg.group_order);
676
760
  w.writeVarInt(msg.content_exists);
677
761
  if (msg.content_exists === 1n && msg.largest_location) {
678
762
  w.writeVarInt(msg.largest_location.group);
@@ -714,7 +798,7 @@ function decodeSubscribePayload(r) {
714
798
  const track_namespace = r.readTuple();
715
799
  const track_name = r.readString();
716
800
  const subscriber_priority = r.readUint8();
717
- const group_order = r.readVarInt();
801
+ const group_order = r.readUint8();
718
802
  const forward = r.readVarInt();
719
803
  const filter_type = r.readVarInt();
720
804
  const ft = Number(filter_type);
@@ -752,7 +836,7 @@ function decodeSubscribeOkPayload(r) {
752
836
  const request_id = r.readVarInt();
753
837
  const track_alias = r.readVarInt();
754
838
  const expires = r.readVarInt();
755
- const group_order = r.readVarInt();
839
+ const group_order = r.readUint8();
756
840
  const content_exists = r.readVarInt();
757
841
  let largest_location;
758
842
  if (content_exists === 1n) {
@@ -803,7 +887,13 @@ function decodeSubscribeDonePayload(r) {
803
887
  const status_code = r.readVarInt();
804
888
  const stream_count = r.readVarInt();
805
889
  const reason_phrase = r.readString();
806
- return { type: "subscribe_done", request_id, status_code, stream_count, reason_phrase };
890
+ return {
891
+ type: "subscribe_done",
892
+ request_id,
893
+ status_code,
894
+ stream_count,
895
+ reason_phrase
896
+ };
807
897
  }
808
898
  function decodeUnsubscribePayload(r) {
809
899
  const request_id = r.readVarInt();
@@ -839,7 +929,12 @@ function decodeSubscribeNamespacePayload(r) {
839
929
  const request_id = r.readVarInt();
840
930
  const track_namespace_prefix = r.readTuple();
841
931
  const parameters = decodeParams(r);
842
- return { type: "subscribe_namespace", request_id, track_namespace_prefix, parameters };
932
+ return {
933
+ type: "subscribe_namespace",
934
+ request_id,
935
+ track_namespace_prefix,
936
+ parameters
937
+ };
843
938
  }
844
939
  function decodeSubscribeNamespaceOkPayload(r) {
845
940
  const request_id = r.readVarInt();
@@ -849,7 +944,12 @@ function decodeSubscribeNamespaceErrorPayload(r) {
849
944
  const request_id = r.readVarInt();
850
945
  const error_code = r.readVarInt();
851
946
  const reason_phrase = r.readString();
852
- return { type: "subscribe_namespace_error", request_id, error_code, reason_phrase };
947
+ return {
948
+ type: "subscribe_namespace_error",
949
+ request_id,
950
+ error_code,
951
+ reason_phrase
952
+ };
853
953
  }
854
954
  function decodeUnsubscribeNamespacePayload(r) {
855
955
  const track_namespace_prefix = r.readTuple();
@@ -860,7 +960,7 @@ function decodePublishPayload(r) {
860
960
  const track_namespace = r.readTuple();
861
961
  const track_name = r.readString();
862
962
  const track_alias = r.readVarInt();
863
- const group_order = r.readVarInt();
963
+ const group_order = r.readUint8();
864
964
  const content_exists = r.readVarInt();
865
965
  let largest_location;
866
966
  if (content_exists === 1n) {
@@ -888,7 +988,7 @@ function decodePublishOkPayload(r) {
888
988
  const request_id = r.readVarInt();
889
989
  const forward = r.readVarInt();
890
990
  const subscriber_priority = r.readUint8();
891
- const group_order = r.readVarInt();
991
+ const group_order = r.readUint8();
892
992
  const filter_type = r.readVarInt();
893
993
  const ft = Number(filter_type);
894
994
  let start_group;
@@ -925,7 +1025,7 @@ function decodePublishErrorPayload(r) {
925
1025
  function decodeFetchPayload(r) {
926
1026
  const request_id = r.readVarInt();
927
1027
  const subscriber_priority = r.readUint8();
928
- const group_order = r.readVarInt();
1028
+ const group_order = r.readUint8();
929
1029
  const fetch_type = r.readVarInt();
930
1030
  const ft = Number(fetch_type);
931
1031
  if (ft < 1 || ft > 3) {
@@ -940,7 +1040,14 @@ function decodeFetchPayload(r) {
940
1040
  const start_object = r.readVarInt();
941
1041
  const end_group = r.readVarInt();
942
1042
  const end_object = r.readVarInt();
943
- standalone = { track_namespace, track_name, start_group, start_object, end_group, end_object };
1043
+ standalone = {
1044
+ track_namespace,
1045
+ track_name,
1046
+ start_group,
1047
+ start_object,
1048
+ end_group,
1049
+ end_object
1050
+ };
944
1051
  } else {
945
1052
  const joining_subscribe_id = r.readVarInt();
946
1053
  const joining_start = r.readVarInt();
@@ -960,7 +1067,7 @@ function decodeFetchPayload(r) {
960
1067
  }
961
1068
  function decodeFetchOkPayload(r) {
962
1069
  const request_id = r.readVarInt();
963
- const group_order = r.readVarInt();
1070
+ const group_order = r.readUint8();
964
1071
  const end_of_track = r.readVarInt();
965
1072
  const group = r.readVarInt();
966
1073
  const object = r.readVarInt();
@@ -989,7 +1096,7 @@ function decodeTrackStatusPayload(r) {
989
1096
  const track_namespace = r.readTuple();
990
1097
  const track_name = r.readString();
991
1098
  const subscriber_priority = r.readUint8();
992
- const group_order = r.readVarInt();
1099
+ const group_order = r.readUint8();
993
1100
  const forward = r.readVarInt();
994
1101
  const filter_type = r.readVarInt();
995
1102
  const ft = Number(filter_type);
@@ -1027,7 +1134,7 @@ function decodeTrackStatusOkPayload(r) {
1027
1134
  const request_id = r.readVarInt();
1028
1135
  const track_alias = r.readVarInt();
1029
1136
  const expires = r.readVarInt();
1030
- const group_order = r.readVarInt();
1137
+ const group_order = r.readUint8();
1031
1138
  const content_exists = r.readVarInt();
1032
1139
  let largest_location;
1033
1140
  if (content_exists === 1n) {
@@ -1241,7 +1348,7 @@ function createStreamDecoder() {
1241
1348
  }
1242
1349
  function createDraft13Codec() {
1243
1350
  return {
1244
- draft: "draft-ietf-moq-transport-13",
1351
+ draft: "13",
1245
1352
  encodeMessage,
1246
1353
  decodeMessage,
1247
1354
  encodeSubgroupStream,
@@ -1256,6 +1363,13 @@ function createDraft13Codec() {
1256
1363
  }
1257
1364
 
1258
1365
  export {
1366
+ encodeSubgroupStream,
1367
+ encodeDatagram,
1368
+ encodeFetchStream,
1369
+ decodeSubgroupStream,
1370
+ decodeDatagram,
1371
+ decodeFetchStream,
1372
+ decodeDataStream,
1259
1373
  MSG_SUBSCRIBE_UPDATE,
1260
1374
  MSG_SUBSCRIBE,
1261
1375
  MSG_SUBSCRIBE_OK,
@@ -1288,18 +1402,11 @@ export {
1288
1402
  MSG_SERVER_SETUP,
1289
1403
  SETUP_PARAM_PATH,
1290
1404
  SETUP_PARAM_MAX_REQUEST_ID,
1291
- PARAM_AUTHORIZATION_TOKEN,
1292
1405
  PARAM_DELIVERY_TIMEOUT,
1406
+ PARAM_AUTHORIZATION_TOKEN,
1293
1407
  VARINT_FRAMED_MESSAGES,
1294
1408
  MESSAGE_TYPE_MAP,
1295
1409
  MESSAGE_ID_MAP,
1296
- encodeSubgroupStream,
1297
- encodeDatagram,
1298
- encodeFetchStream,
1299
- decodeSubgroupStream,
1300
- decodeDatagram,
1301
- decodeFetchStream,
1302
- decodeDataStream,
1303
1410
  encodeMessage,
1304
1411
  decodeMessage,
1305
1412
  createStreamDecoder,