@moqtap/codec 0.2.2 → 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 (716) 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-PJRA2TQ5.js → chunk-2UTVXWFF.js} +388 -254
  5. package/dist/{chunk-IV2H5CFI.cjs → chunk-3XKO6PCR.cjs} +461 -322
  6. package/dist/{chunk-RVJAGE4S.cjs → chunk-4BDEU3D4.cjs} +415 -304
  7. package/dist/{chunk-XUUCOLWU.cjs → chunk-4HBKHNU2.cjs} +374 -329
  8. package/dist/{chunk-4RIXXEII.js → chunk-4IVZZOY3.js} +451 -312
  9. package/dist/{chunk-ZSPO2GF2.cjs → chunk-5O764MBD.cjs} +1320 -842
  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-KFTCU2P6.js → chunk-C6KUWLQC.js} +0 -3
  16. package/dist/{chunk-UYXTY6ZQ.cjs → chunk-E65QKRSN.cjs} +20 -12
  17. package/dist/{chunk-BISI45MN.cjs → chunk-EAHE3IOG.cjs} +44 -12
  18. package/dist/{chunk-IV2HRJVT.js → chunk-GCBFHZW6.js} +405 -294
  19. package/dist/{chunk-GXEW4COZ.cjs → chunk-H5NSL4MO.cjs} +36 -10
  20. package/dist/chunk-HZHSO7EW.cjs +1212 -0
  21. package/dist/{chunk-BPNL5YFQ.cjs → chunk-IILNSDEQ.cjs} +74 -46
  22. package/dist/{chunk-4XYGE53S.cjs → chunk-J3XCPBW3.cjs} +36 -10
  23. package/dist/{chunk-6AEHWULA.cjs → chunk-JKOEJZ5B.cjs} +28 -8
  24. package/dist/{chunk-FWISIR26.cjs → chunk-JL3NEW3O.cjs} +47 -4
  25. package/dist/{chunk-G7GI7LJA.js → chunk-LORZMJJB.js} +36 -10
  26. package/dist/{chunk-DUBCL3WF.cjs → chunk-LV5C6MEC.cjs} +36 -10
  27. package/dist/{chunk-ENURAVHI.cjs → chunk-MYXAD5JC.cjs} +44 -12
  28. package/dist/{chunk-FXZ2MYKJ.js → chunk-MZ7HUCGJ.js} +20 -12
  29. package/dist/{chunk-RWQ43Z4F.cjs → chunk-MZ7VU52O.cjs} +0 -3
  30. package/dist/{chunk-G26SJ6XS.cjs → chunk-OKG2HT25.cjs} +1193 -928
  31. package/dist/{chunk-IBVM4DMJ.cjs → chunk-PKEOQSSZ.cjs} +374 -329
  32. package/dist/{chunk-LH4NTURO.js → chunk-Q46ZURKX.js} +989 -602
  33. package/dist/{chunk-UR6JKS56.js → chunk-Q7IGWV3P.js} +41 -9
  34. package/dist/{chunk-ST24APEO.js → chunk-RW4UG7CN.js} +751 -682
  35. package/dist/{chunk-DWK5ZQZ4.js → chunk-RZTLQAKF.js} +28 -8
  36. package/dist/{chunk-UNS34PTA.cjs → chunk-S6IPIN66.cjs} +44 -12
  37. package/dist/{chunk-K4OLITS2.cjs → chunk-SDWRXXOO.cjs} +401 -267
  38. package/dist/{chunk-CXDHOMHG.js → chunk-SHMA4PBY.js} +476 -431
  39. package/dist/{chunk-U2B3B42P.js → chunk-U3ZVLT5L.js} +1176 -540
  40. package/dist/{chunk-HSVYF6XX.cjs → chunk-UJU63EFY.cjs} +1524 -1137
  41. package/dist/{chunk-A27S7HW7.js → chunk-VOU7PNHI.js} +47 -4
  42. package/dist/{chunk-E6E3NQYU.js → chunk-WRHGCVYN.js} +44 -12
  43. package/dist/chunk-XNWYLVGU.cjs +1854 -0
  44. package/dist/{chunk-NUX5BHWO.js → chunk-XS77RBY7.js} +1160 -895
  45. package/dist/{chunk-4YJANAXU.cjs → chunk-XZE5R57R.cjs} +829 -760
  46. package/dist/{chunk-NGVE2RZT.js → chunk-Y6KCSM3V.js} +476 -431
  47. package/dist/{chunk-TLYNOOQP.cjs → chunk-YTPZZI2M.cjs} +41 -9
  48. package/dist/{chunk-7DUBLRXC.js → chunk-YWRCSQBA.js} +44 -12
  49. package/dist/{chunk-MFAP7R6L.js → chunk-Z3VKP3PJ.js} +70 -42
  50. package/dist/{chunk-ZBKE2QRQ.js → chunk-Z6U26IRI.js} +1107 -629
  51. package/dist/codec-25u4_1HS.d.ts +35 -0
  52. package/dist/codec-3Ppy_5Gd.d.ts +23 -0
  53. package/dist/codec-BB0U8MF2.d.cts +34 -0
  54. package/dist/codec-BHHfBTnV.d.ts +34 -0
  55. package/dist/codec-BN6jk0Td.d.cts +30 -0
  56. package/dist/codec-BU0gaSZm.d.ts +29 -0
  57. package/dist/codec-C-Yk2RNa.d.ts +30 -0
  58. package/dist/codec-CFWQY9Lj.d.cts +18 -0
  59. package/dist/codec-COy4uuPO.d.cts +29 -0
  60. package/dist/codec-CewFCsEy.d.ts +18 -0
  61. package/dist/codec-Ck7ZwFF1.d.cts +35 -0
  62. package/dist/codec-D2QVSH9D.d.ts +30 -0
  63. package/dist/codec-DDUBJGn0.d.cts +23 -0
  64. package/dist/codec-DNfml-se.d.ts +27 -0
  65. package/dist/codec-DoOGjjDq.d.cts +29 -0
  66. package/dist/codec-J7ekOSMc.d.ts +29 -0
  67. package/dist/codec-R9TJCq-E.d.cts +31 -0
  68. package/dist/codec-ZwV-Njt6.d.ts +23 -0
  69. package/dist/codec-j819z_hL.d.cts +23 -0
  70. package/dist/codec-w8z2j_uo.d.cts +27 -0
  71. package/dist/codec-wtt6WF1K.d.ts +31 -0
  72. package/dist/codec-z6_2PSzi.d.cts +30 -0
  73. package/dist/draft10-session.cjs +2 -2
  74. package/dist/draft10-session.d.cts +6 -6
  75. package/dist/draft10-session.d.ts +6 -6
  76. package/dist/draft10-session.js +1 -1
  77. package/dist/draft10.cjs +8 -4
  78. package/dist/draft10.d.cts +23 -11
  79. package/dist/draft10.d.ts +23 -11
  80. package/dist/draft10.js +16 -12
  81. package/dist/draft11-session.cjs +2 -2
  82. package/dist/draft11-session.d.cts +6 -6
  83. package/dist/draft11-session.d.ts +6 -6
  84. package/dist/draft11-session.js +1 -1
  85. package/dist/draft11.cjs +8 -4
  86. package/dist/draft11.d.cts +21 -11
  87. package/dist/draft11.d.ts +21 -11
  88. package/dist/draft11.js +16 -12
  89. package/dist/draft12-session.cjs +2 -2
  90. package/dist/draft12-session.d.cts +6 -6
  91. package/dist/draft12-session.d.ts +6 -6
  92. package/dist/draft12-session.js +1 -1
  93. package/dist/draft12.cjs +8 -4
  94. package/dist/draft12.d.cts +23 -13
  95. package/dist/draft12.d.ts +23 -13
  96. package/dist/draft12.js +16 -12
  97. package/dist/draft13-session.cjs +2 -2
  98. package/dist/draft13-session.d.cts +6 -6
  99. package/dist/draft13-session.d.ts +6 -6
  100. package/dist/draft13-session.js +1 -1
  101. package/dist/draft13.cjs +8 -4
  102. package/dist/draft13.d.cts +23 -13
  103. package/dist/draft13.d.ts +23 -13
  104. package/dist/draft13.js +16 -12
  105. package/dist/draft14-session.cjs +2 -2
  106. package/dist/draft14-session.d.cts +6 -6
  107. package/dist/draft14-session.d.ts +6 -6
  108. package/dist/draft14-session.js +1 -1
  109. package/dist/draft14.cjs +14 -4
  110. package/dist/draft14.d.cts +67 -11
  111. package/dist/draft14.d.ts +67 -11
  112. package/dist/draft14.js +13 -3
  113. package/dist/draft15-session.cjs +2 -2
  114. package/dist/draft15-session.d.cts +6 -6
  115. package/dist/draft15-session.d.ts +6 -6
  116. package/dist/draft15-session.js +1 -1
  117. package/dist/draft15.cjs +8 -4
  118. package/dist/draft15.d.cts +56 -11
  119. package/dist/draft15.d.ts +56 -11
  120. package/dist/draft15.js +16 -12
  121. package/dist/draft16-session.cjs +2 -2
  122. package/dist/draft16-session.d.cts +6 -6
  123. package/dist/draft16-session.d.ts +6 -6
  124. package/dist/draft16-session.js +1 -1
  125. package/dist/draft16.cjs +8 -4
  126. package/dist/draft16.d.cts +45 -11
  127. package/dist/draft16.d.ts +45 -11
  128. package/dist/draft16.js +16 -12
  129. package/dist/draft17-session.cjs +2 -2
  130. package/dist/draft17-session.d.cts +7 -7
  131. package/dist/draft17-session.d.ts +7 -7
  132. package/dist/draft17-session.js +1 -1
  133. package/dist/draft17.cjs +8 -4
  134. package/dist/draft17.d.cts +21 -8
  135. package/dist/draft17.d.ts +21 -8
  136. package/dist/draft17.js +16 -12
  137. package/dist/draft7-session.cjs +3 -3
  138. package/dist/draft7-session.d.cts +6 -5
  139. package/dist/draft7-session.d.ts +6 -5
  140. package/dist/draft7-session.js +2 -2
  141. package/dist/draft7.cjs +83 -14
  142. package/dist/draft7.d.cts +59 -64
  143. package/dist/draft7.d.ts +59 -64
  144. package/dist/draft7.js +89 -20
  145. package/dist/draft8-session.cjs +2 -2
  146. package/dist/draft8-session.d.cts +6 -6
  147. package/dist/draft8-session.d.ts +6 -6
  148. package/dist/draft8-session.js +1 -1
  149. package/dist/draft8.cjs +8 -4
  150. package/dist/draft8.d.cts +23 -11
  151. package/dist/draft8.d.ts +23 -11
  152. package/dist/draft8.js +7 -3
  153. package/dist/draft9-session.cjs +2 -2
  154. package/dist/draft9-session.d.cts +6 -6
  155. package/dist/draft9-session.d.ts +6 -6
  156. package/dist/draft9-session.js +1 -1
  157. package/dist/draft9.cjs +8 -4
  158. package/dist/draft9.d.cts +23 -11
  159. package/dist/draft9.d.ts +23 -11
  160. package/dist/draft9.js +7 -3
  161. package/dist/index.cjs +52 -73
  162. package/dist/index.d.cts +41 -60
  163. package/dist/index.d.ts +55 -82
  164. package/dist/index.js +89 -93
  165. package/dist/{session-types-CJIFbTPd.d.ts → session-types-C7UONex5.d.cts} +28 -27
  166. package/dist/{session-types-Cbq8IGCP.d.cts → session-types-X-IYEGoG.d.ts} +28 -27
  167. package/dist/session.cjs +47 -14
  168. package/dist/session.d.cts +28 -9
  169. package/dist/session.d.ts +32 -9
  170. package/dist/session.js +59 -32
  171. package/dist/{types-4VxSL2Ho.d.ts → types--Q7_DcvP.d.cts} +49 -39
  172. package/dist/{types-4VxSL2Ho.d.cts → types--Q7_DcvP.d.ts} +49 -39
  173. package/dist/{types-Cw4WE9dh.d.ts → types-0IWbU9Z_.d.cts} +44 -36
  174. package/dist/{types-Cw4WE9dh.d.cts → types-0IWbU9Z_.d.ts} +44 -36
  175. package/dist/{types-D5gNQiDj.d.ts → types-B3g5G9KP.d.cts} +44 -36
  176. package/dist/{types-D5gNQiDj.d.cts → types-B3g5G9KP.d.ts} +44 -36
  177. package/dist/{types-B2afJZM-.d.cts → types-BFpFNM_m.d.cts} +60 -32
  178. package/dist/{types-B2afJZM-.d.ts → types-BFpFNM_m.d.ts} +60 -32
  179. package/dist/{types-ERexTpT8.d.ts → types-Br7fm2mf.d.cts} +51 -26
  180. package/dist/{types-ERexTpT8.d.cts → types-Br7fm2mf.d.ts} +51 -26
  181. package/dist/{types-Bg6QYNVt.d.cts → types-C2qKTRR_.d.cts} +55 -45
  182. package/dist/{types-Bg6QYNVt.d.ts → types-C2qKTRR_.d.ts} +55 -45
  183. package/dist/{types-BTFeKYCb.d.ts → types-DEaypVsD.d.cts} +133 -58
  184. package/dist/{types-BTFeKYCb.d.cts → types-DEaypVsD.d.ts} +133 -58
  185. package/dist/types-Dl4IaAHR.d.cts +282 -0
  186. package/dist/types-Dl4IaAHR.d.ts +282 -0
  187. package/dist/{types-C_1HrqBl.d.cts → types-DrQpTW1G.d.cts} +63 -50
  188. package/dist/{types-C_1HrqBl.d.ts → types-DrQpTW1G.d.ts} +63 -50
  189. package/dist/types-DuIO7cWK.d.cts +25 -0
  190. package/dist/types-DuIO7cWK.d.ts +25 -0
  191. package/dist/{types-DqCDFqgB.d.ts → types-DuxfOYiO.d.cts} +50 -31
  192. package/dist/{types-DqCDFqgB.d.cts → types-DuxfOYiO.d.ts} +50 -31
  193. package/dist/{types-r-CasCf1.d.cts → types-jV1yDDBA.d.cts} +43 -36
  194. package/dist/{types-r-CasCf1.d.ts → types-jV1yDDBA.d.ts} +43 -36
  195. package/package.json +15 -15
  196. package/src/core/buffer-reader.ts +69 -53
  197. package/src/core/buffer-writer.ts +55 -46
  198. package/src/core/errors.ts +1 -1
  199. package/src/core/hex.ts +21 -17
  200. package/src/core/session-types.ts +61 -59
  201. package/src/core/types.ts +18 -361
  202. package/src/drafts/draft07/codec.ts +1058 -933
  203. package/src/drafts/draft07/data-streams.ts +116 -116
  204. package/src/drafts/draft07/index.ts +124 -89
  205. package/src/drafts/draft07/messages.ts +76 -42
  206. package/src/drafts/draft07/rules.ts +107 -101
  207. package/src/drafts/draft07/session-fsm.ts +315 -287
  208. package/src/drafts/draft07/session.ts +8 -6
  209. package/src/drafts/draft07/types.ts +406 -72
  210. package/src/drafts/draft07/varint.ts +40 -12
  211. package/src/drafts/draft08/codec.ts +985 -944
  212. package/src/drafts/draft08/data-streams.ts +178 -174
  213. package/src/drafts/draft08/index.ts +10 -9
  214. package/src/drafts/draft08/messages.ts +59 -59
  215. package/src/drafts/draft08/rules.ts +73 -73
  216. package/src/drafts/draft08/session-fsm.ts +335 -303
  217. package/src/drafts/draft08/session.ts +6 -7
  218. package/src/drafts/draft08/types.ts +380 -384
  219. package/src/drafts/draft09/codec.ts +977 -936
  220. package/src/drafts/draft09/data-streams.ts +163 -159
  221. package/src/drafts/draft09/index.ts +10 -9
  222. package/src/drafts/draft09/messages.ts +59 -59
  223. package/src/drafts/draft09/rules.ts +73 -73
  224. package/src/drafts/draft09/session-fsm.ts +335 -303
  225. package/src/drafts/draft09/session.ts +6 -7
  226. package/src/drafts/draft09/types.ts +380 -384
  227. package/src/drafts/draft10/codec.ts +977 -936
  228. package/src/drafts/draft10/data-streams.ts +163 -159
  229. package/src/drafts/draft10/index.ts +10 -9
  230. package/src/drafts/draft10/messages.ts +59 -59
  231. package/src/drafts/draft10/rules.ts +73 -73
  232. package/src/drafts/draft10/session-fsm.ts +335 -303
  233. package/src/drafts/draft10/session.ts +6 -7
  234. package/src/drafts/draft10/types.ts +380 -384
  235. package/src/drafts/draft11/codec.ts +1054 -979
  236. package/src/drafts/draft11/data-streams.ts +189 -142
  237. package/src/drafts/draft11/index.ts +10 -9
  238. package/src/drafts/draft11/messages.ts +60 -59
  239. package/src/drafts/draft11/rules.ts +73 -73
  240. package/src/drafts/draft11/session-fsm.ts +359 -333
  241. package/src/drafts/draft11/session.ts +6 -7
  242. package/src/drafts/draft11/types.ts +385 -381
  243. package/src/drafts/draft12/codec.ts +1178 -1113
  244. package/src/drafts/draft12/data-streams.ts +192 -143
  245. package/src/drafts/draft12/index.ts +10 -9
  246. package/src/drafts/draft12/messages.ts +67 -66
  247. package/src/drafts/draft12/rules.ts +79 -79
  248. package/src/drafts/draft12/session-fsm.ts +384 -358
  249. package/src/drafts/draft12/session.ts +6 -7
  250. package/src/drafts/draft12/types.ts +424 -419
  251. package/src/drafts/draft13/codec.ts +1296 -1197
  252. package/src/drafts/draft13/data-streams.ts +194 -143
  253. package/src/drafts/draft13/index.ts +10 -9
  254. package/src/drafts/draft13/messages.ts +73 -68
  255. package/src/drafts/draft13/rules.ts +81 -81
  256. package/src/drafts/draft13/session-fsm.ts +392 -366
  257. package/src/drafts/draft13/session.ts +6 -7
  258. package/src/drafts/draft13/types.ts +447 -438
  259. package/src/drafts/draft14/codec.ts +1347 -1034
  260. package/src/drafts/draft14/data-streams.ts +429 -396
  261. package/src/drafts/draft14/index.ts +17 -9
  262. package/src/drafts/draft14/messages.ts +65 -65
  263. package/src/drafts/draft14/rules.ts +81 -81
  264. package/src/drafts/draft14/session-fsm.ts +415 -405
  265. package/src/drafts/draft14/session.ts +6 -7
  266. package/src/drafts/draft14/types.ts +451 -381
  267. package/src/drafts/draft15/codec.ts +1138 -969
  268. package/src/drafts/draft15/data-streams.ts +428 -364
  269. package/src/drafts/draft15/index.ts +10 -9
  270. package/src/drafts/draft15/messages.ts +54 -53
  271. package/src/drafts/draft15/rules.ts +67 -67
  272. package/src/drafts/draft15/session-fsm.ts +319 -299
  273. package/src/drafts/draft15/session.ts +6 -7
  274. package/src/drafts/draft15/types.ts +357 -339
  275. package/src/drafts/draft16/codec.ts +1242 -957
  276. package/src/drafts/draft16/data-streams.ts +433 -371
  277. package/src/drafts/draft16/index.ts +10 -9
  278. package/src/drafts/draft16/messages.ts +56 -55
  279. package/src/drafts/draft16/rules.ts +69 -69
  280. package/src/drafts/draft16/session-fsm.ts +319 -299
  281. package/src/drafts/draft16/session.ts +6 -7
  282. package/src/drafts/draft16/types.ts +386 -357
  283. package/src/drafts/draft17/codec.ts +1209 -962
  284. package/src/drafts/draft17/data-streams.ts +593 -366
  285. package/src/drafts/draft17/index.ts +9 -7
  286. package/src/drafts/draft17/messages.ts +43 -42
  287. package/src/drafts/draft17/rules.ts +58 -58
  288. package/src/drafts/draft17/session-fsm.ts +248 -216
  289. package/src/drafts/draft17/session.ts +5 -5
  290. package/src/drafts/draft17/types.ts +337 -313
  291. package/src/index.ts +85 -274
  292. package/src/session.ts +62 -23
  293. package/dist/chunk-7IVGHMKJ.cjs +0 -866
  294. package/dist/chunk-FUFTMAQD.cjs +0 -1218
  295. package/dist/chunk-TMNGRIPL.js +0 -866
  296. package/dist/codec-95k8CAu5.d.cts +0 -35
  297. package/dist/codec-AFuOxfsO.d.ts +0 -60
  298. package/dist/codec-B-UJ5Iow.d.cts +0 -75
  299. package/dist/codec-BC5jfvMb.d.ts +0 -35
  300. package/dist/codec-BECYPfY8.d.ts +0 -35
  301. package/dist/codec-BsPU1vNC.d.ts +0 -39
  302. package/dist/codec-BvpuF-6u.d.cts +0 -39
  303. package/dist/codec-C8jZI5Cx.d.cts +0 -39
  304. package/dist/codec-CAevkgf5.d.cts +0 -33
  305. package/dist/codec-CSUqCrRs.d.ts +0 -39
  306. package/dist/codec-C_HMXNK_.d.ts +0 -33
  307. package/dist/codec-CpuvYTSV.d.cts +0 -86
  308. package/dist/codec-D0x8-SCw.d.cts +0 -35
  309. package/dist/codec-D7ARhpG1.d.ts +0 -75
  310. package/dist/codec-DNAUGshO.d.cts +0 -60
  311. package/dist/codec-DPx_QNn0.d.ts +0 -31
  312. package/dist/codec-DRhCx_hw.d.ts +0 -86
  313. package/dist/codec-Db7YPe3l.d.ts +0 -31
  314. package/dist/codec-axkJpb7D.d.cts +0 -31
  315. package/dist/codec-ujAbFaep.d.cts +0 -31
  316. package/dist/core/buffer-reader.d.ts +0 -15
  317. package/dist/core/buffer-reader.d.ts.map +0 -1
  318. package/dist/core/buffer-reader.js +0 -98
  319. package/dist/core/buffer-reader.js.map +0 -1
  320. package/dist/core/buffer-writer.d.ts +0 -16
  321. package/dist/core/buffer-writer.d.ts.map +0 -1
  322. package/dist/core/buffer-writer.js +0 -86
  323. package/dist/core/buffer-writer.js.map +0 -1
  324. package/dist/core/errors.d.ts +0 -2
  325. package/dist/core/errors.d.ts.map +0 -1
  326. package/dist/core/errors.js +0 -2
  327. package/dist/core/errors.js.map +0 -1
  328. package/dist/core/hex.d.ts +0 -5
  329. package/dist/core/hex.d.ts.map +0 -1
  330. package/dist/core/hex.js +0 -17
  331. package/dist/core/hex.js.map +0 -1
  332. package/dist/core/session-types.d.ts +0 -99
  333. package/dist/core/session-types.d.ts.map +0 -1
  334. package/dist/core/session-types.js +0 -2
  335. package/dist/core/session-types.js.map +0 -1
  336. package/dist/core/types.d.ts +0 -235
  337. package/dist/core/types.d.ts.map +0 -1
  338. package/dist/core/types.js +0 -11
  339. package/dist/core/types.js.map +0 -1
  340. package/dist/drafts/draft07/announce-fsm.d.ts +0 -2
  341. package/dist/drafts/draft07/announce-fsm.d.ts.map +0 -1
  342. package/dist/drafts/draft07/announce-fsm.js +0 -2
  343. package/dist/drafts/draft07/announce-fsm.js.map +0 -1
  344. package/dist/drafts/draft07/codec.d.ts +0 -17
  345. package/dist/drafts/draft07/codec.d.ts.map +0 -1
  346. package/dist/drafts/draft07/codec.js +0 -722
  347. package/dist/drafts/draft07/codec.js.map +0 -1
  348. package/dist/drafts/draft07/data-streams.d.ts +0 -9
  349. package/dist/drafts/draft07/data-streams.d.ts.map +0 -1
  350. package/dist/drafts/draft07/data-streams.js +0 -228
  351. package/dist/drafts/draft07/data-streams.js.map +0 -1
  352. package/dist/drafts/draft07/index.d.ts +0 -14
  353. package/dist/drafts/draft07/index.d.ts.map +0 -1
  354. package/dist/drafts/draft07/index.js +0 -18
  355. package/dist/drafts/draft07/index.js.map +0 -1
  356. package/dist/drafts/draft07/messages.d.ts +0 -32
  357. package/dist/drafts/draft07/messages.d.ts.map +0 -1
  358. package/dist/drafts/draft07/messages.js +0 -42
  359. package/dist/drafts/draft07/messages.js.map +0 -1
  360. package/dist/drafts/draft07/parameters.d.ts +0 -4
  361. package/dist/drafts/draft07/parameters.d.ts.map +0 -1
  362. package/dist/drafts/draft07/parameters.js +0 -10
  363. package/dist/drafts/draft07/parameters.js.map +0 -1
  364. package/dist/drafts/draft07/rules.d.ts +0 -8
  365. package/dist/drafts/draft07/rules.d.ts.map +0 -1
  366. package/dist/drafts/draft07/rules.js +0 -95
  367. package/dist/drafts/draft07/rules.js.map +0 -1
  368. package/dist/drafts/draft07/session-fsm.d.ts +0 -38
  369. package/dist/drafts/draft07/session-fsm.d.ts.map +0 -1
  370. package/dist/drafts/draft07/session-fsm.js +0 -354
  371. package/dist/drafts/draft07/session-fsm.js.map +0 -1
  372. package/dist/drafts/draft07/session.d.ts +0 -4
  373. package/dist/drafts/draft07/session.d.ts.map +0 -1
  374. package/dist/drafts/draft07/session.js +0 -5
  375. package/dist/drafts/draft07/session.js.map +0 -1
  376. package/dist/drafts/draft07/subscription-fsm.d.ts +0 -2
  377. package/dist/drafts/draft07/subscription-fsm.d.ts.map +0 -1
  378. package/dist/drafts/draft07/subscription-fsm.js +0 -2
  379. package/dist/drafts/draft07/subscription-fsm.js.map +0 -1
  380. package/dist/drafts/draft07/types.d.ts +0 -61
  381. package/dist/drafts/draft07/types.d.ts.map +0 -1
  382. package/dist/drafts/draft07/types.js +0 -4
  383. package/dist/drafts/draft07/types.js.map +0 -1
  384. package/dist/drafts/draft07/varint.d.ts +0 -4
  385. package/dist/drafts/draft07/varint.d.ts.map +0 -1
  386. package/dist/drafts/draft07/varint.js +0 -22
  387. package/dist/drafts/draft07/varint.js.map +0 -1
  388. package/dist/drafts/draft08/codec.d.ts +0 -29
  389. package/dist/drafts/draft08/codec.d.ts.map +0 -1
  390. package/dist/drafts/draft08/codec.js +0 -729
  391. package/dist/drafts/draft08/codec.js.map +0 -1
  392. package/dist/drafts/draft08/data-streams.d.ts +0 -12
  393. package/dist/drafts/draft08/data-streams.d.ts.map +0 -1
  394. package/dist/drafts/draft08/data-streams.js +0 -345
  395. package/dist/drafts/draft08/data-streams.js.map +0 -1
  396. package/dist/drafts/draft08/index.d.ts +0 -9
  397. package/dist/drafts/draft08/index.d.ts.map +0 -1
  398. package/dist/drafts/draft08/index.js +0 -7
  399. package/dist/drafts/draft08/index.js.map +0 -1
  400. package/dist/drafts/draft08/messages.d.ts +0 -34
  401. package/dist/drafts/draft08/messages.d.ts.map +0 -1
  402. package/dist/drafts/draft08/messages.js +0 -66
  403. package/dist/drafts/draft08/messages.js.map +0 -1
  404. package/dist/drafts/draft08/rules.d.ts +0 -8
  405. package/dist/drafts/draft08/rules.d.ts.map +0 -1
  406. package/dist/drafts/draft08/rules.js +0 -83
  407. package/dist/drafts/draft08/rules.js.map +0 -1
  408. package/dist/drafts/draft08/session-fsm.d.ts +0 -47
  409. package/dist/drafts/draft08/session-fsm.d.ts.map +0 -1
  410. package/dist/drafts/draft08/session-fsm.js +0 -483
  411. package/dist/drafts/draft08/session-fsm.js.map +0 -1
  412. package/dist/drafts/draft08/session.d.ts +0 -5
  413. package/dist/drafts/draft08/session.d.ts.map +0 -1
  414. package/dist/drafts/draft08/session.js +0 -5
  415. package/dist/drafts/draft08/session.js.map +0 -1
  416. package/dist/drafts/draft08/types.d.ts +0 -268
  417. package/dist/drafts/draft08/types.d.ts.map +0 -1
  418. package/dist/drafts/draft08/types.js +0 -4
  419. package/dist/drafts/draft08/types.js.map +0 -1
  420. package/dist/drafts/draft09/codec.d.ts +0 -21
  421. package/dist/drafts/draft09/codec.d.ts.map +0 -1
  422. package/dist/drafts/draft09/codec.js +0 -721
  423. package/dist/drafts/draft09/codec.js.map +0 -1
  424. package/dist/drafts/draft09/data-streams.d.ts +0 -12
  425. package/dist/drafts/draft09/data-streams.d.ts.map +0 -1
  426. package/dist/drafts/draft09/data-streams.js +0 -307
  427. package/dist/drafts/draft09/data-streams.js.map +0 -1
  428. package/dist/drafts/draft09/index.d.ts +0 -9
  429. package/dist/drafts/draft09/index.d.ts.map +0 -1
  430. package/dist/drafts/draft09/index.js +0 -7
  431. package/dist/drafts/draft09/index.js.map +0 -1
  432. package/dist/drafts/draft09/messages.d.ts +0 -34
  433. package/dist/drafts/draft09/messages.d.ts.map +0 -1
  434. package/dist/drafts/draft09/messages.js +0 -66
  435. package/dist/drafts/draft09/messages.js.map +0 -1
  436. package/dist/drafts/draft09/rules.d.ts +0 -8
  437. package/dist/drafts/draft09/rules.d.ts.map +0 -1
  438. package/dist/drafts/draft09/rules.js +0 -83
  439. package/dist/drafts/draft09/rules.js.map +0 -1
  440. package/dist/drafts/draft09/session-fsm.d.ts +0 -47
  441. package/dist/drafts/draft09/session-fsm.d.ts.map +0 -1
  442. package/dist/drafts/draft09/session-fsm.js +0 -483
  443. package/dist/drafts/draft09/session-fsm.js.map +0 -1
  444. package/dist/drafts/draft09/session.d.ts +0 -5
  445. package/dist/drafts/draft09/session.d.ts.map +0 -1
  446. package/dist/drafts/draft09/session.js +0 -5
  447. package/dist/drafts/draft09/session.js.map +0 -1
  448. package/dist/drafts/draft09/types.d.ts +0 -268
  449. package/dist/drafts/draft09/types.d.ts.map +0 -1
  450. package/dist/drafts/draft09/types.js +0 -4
  451. package/dist/drafts/draft09/types.js.map +0 -1
  452. package/dist/drafts/draft10/codec.d.ts +0 -21
  453. package/dist/drafts/draft10/codec.d.ts.map +0 -1
  454. package/dist/drafts/draft10/codec.js +0 -721
  455. package/dist/drafts/draft10/codec.js.map +0 -1
  456. package/dist/drafts/draft10/data-streams.d.ts +0 -12
  457. package/dist/drafts/draft10/data-streams.d.ts.map +0 -1
  458. package/dist/drafts/draft10/data-streams.js +0 -307
  459. package/dist/drafts/draft10/data-streams.js.map +0 -1
  460. package/dist/drafts/draft10/index.d.ts +0 -9
  461. package/dist/drafts/draft10/index.d.ts.map +0 -1
  462. package/dist/drafts/draft10/index.js +0 -7
  463. package/dist/drafts/draft10/index.js.map +0 -1
  464. package/dist/drafts/draft10/messages.d.ts +0 -34
  465. package/dist/drafts/draft10/messages.d.ts.map +0 -1
  466. package/dist/drafts/draft10/messages.js +0 -66
  467. package/dist/drafts/draft10/messages.js.map +0 -1
  468. package/dist/drafts/draft10/rules.d.ts +0 -8
  469. package/dist/drafts/draft10/rules.d.ts.map +0 -1
  470. package/dist/drafts/draft10/rules.js +0 -83
  471. package/dist/drafts/draft10/rules.js.map +0 -1
  472. package/dist/drafts/draft10/session-fsm.d.ts +0 -47
  473. package/dist/drafts/draft10/session-fsm.d.ts.map +0 -1
  474. package/dist/drafts/draft10/session-fsm.js +0 -483
  475. package/dist/drafts/draft10/session-fsm.js.map +0 -1
  476. package/dist/drafts/draft10/session.d.ts +0 -5
  477. package/dist/drafts/draft10/session.d.ts.map +0 -1
  478. package/dist/drafts/draft10/session.js +0 -5
  479. package/dist/drafts/draft10/session.js.map +0 -1
  480. package/dist/drafts/draft10/types.d.ts +0 -268
  481. package/dist/drafts/draft10/types.d.ts.map +0 -1
  482. package/dist/drafts/draft10/types.js +0 -4
  483. package/dist/drafts/draft10/types.js.map +0 -1
  484. package/dist/drafts/draft11/codec.d.ts +0 -25
  485. package/dist/drafts/draft11/codec.d.ts.map +0 -1
  486. package/dist/drafts/draft11/codec.js +0 -775
  487. package/dist/drafts/draft11/codec.js.map +0 -1
  488. package/dist/drafts/draft11/data-streams.d.ts +0 -10
  489. package/dist/drafts/draft11/data-streams.d.ts.map +0 -1
  490. package/dist/drafts/draft11/data-streams.js +0 -253
  491. package/dist/drafts/draft11/data-streams.js.map +0 -1
  492. package/dist/drafts/draft11/index.d.ts +0 -9
  493. package/dist/drafts/draft11/index.d.ts.map +0 -1
  494. package/dist/drafts/draft11/index.js +0 -7
  495. package/dist/drafts/draft11/index.js.map +0 -1
  496. package/dist/drafts/draft11/messages.d.ts +0 -33
  497. package/dist/drafts/draft11/messages.d.ts.map +0 -1
  498. package/dist/drafts/draft11/messages.js +0 -65
  499. package/dist/drafts/draft11/messages.js.map +0 -1
  500. package/dist/drafts/draft11/rules.d.ts +0 -8
  501. package/dist/drafts/draft11/rules.d.ts.map +0 -1
  502. package/dist/drafts/draft11/rules.js +0 -88
  503. package/dist/drafts/draft11/rules.js.map +0 -1
  504. package/dist/drafts/draft11/session-fsm.d.ts +0 -52
  505. package/dist/drafts/draft11/session-fsm.d.ts.map +0 -1
  506. package/dist/drafts/draft11/session-fsm.js +0 -530
  507. package/dist/drafts/draft11/session-fsm.js.map +0 -1
  508. package/dist/drafts/draft11/session.d.ts +0 -5
  509. package/dist/drafts/draft11/session.d.ts.map +0 -1
  510. package/dist/drafts/draft11/session.js +0 -5
  511. package/dist/drafts/draft11/session.js.map +0 -1
  512. package/dist/drafts/draft11/types.d.ts +0 -266
  513. package/dist/drafts/draft11/types.d.ts.map +0 -1
  514. package/dist/drafts/draft11/types.js +0 -4
  515. package/dist/drafts/draft11/types.js.map +0 -1
  516. package/dist/drafts/draft12/codec.d.ts +0 -27
  517. package/dist/drafts/draft12/codec.d.ts.map +0 -1
  518. package/dist/drafts/draft12/codec.js +0 -918
  519. package/dist/drafts/draft12/codec.js.map +0 -1
  520. package/dist/drafts/draft12/data-streams.d.ts +0 -10
  521. package/dist/drafts/draft12/data-streams.d.ts.map +0 -1
  522. package/dist/drafts/draft12/data-streams.js +0 -254
  523. package/dist/drafts/draft12/data-streams.js.map +0 -1
  524. package/dist/drafts/draft12/index.d.ts +0 -9
  525. package/dist/drafts/draft12/index.d.ts.map +0 -1
  526. package/dist/drafts/draft12/index.js +0 -7
  527. package/dist/drafts/draft12/index.js.map +0 -1
  528. package/dist/drafts/draft12/messages.d.ts +0 -37
  529. package/dist/drafts/draft12/messages.d.ts.map +0 -1
  530. package/dist/drafts/draft12/messages.js +0 -77
  531. package/dist/drafts/draft12/messages.js.map +0 -1
  532. package/dist/drafts/draft12/rules.d.ts +0 -8
  533. package/dist/drafts/draft12/rules.d.ts.map +0 -1
  534. package/dist/drafts/draft12/rules.js +0 -94
  535. package/dist/drafts/draft12/rules.js.map +0 -1
  536. package/dist/drafts/draft12/session-fsm.d.ts +0 -55
  537. package/dist/drafts/draft12/session-fsm.d.ts.map +0 -1
  538. package/dist/drafts/draft12/session-fsm.js +0 -569
  539. package/dist/drafts/draft12/session-fsm.js.map +0 -1
  540. package/dist/drafts/draft12/session.d.ts +0 -5
  541. package/dist/drafts/draft12/session.d.ts.map +0 -1
  542. package/dist/drafts/draft12/session.js +0 -5
  543. package/dist/drafts/draft12/session.js.map +0 -1
  544. package/dist/drafts/draft12/types.d.ts +0 -294
  545. package/dist/drafts/draft12/types.d.ts.map +0 -1
  546. package/dist/drafts/draft12/types.js +0 -4
  547. package/dist/drafts/draft12/types.js.map +0 -1
  548. package/dist/drafts/draft13/codec.d.ts +0 -27
  549. package/dist/drafts/draft13/codec.d.ts.map +0 -1
  550. package/dist/drafts/draft13/codec.js +0 -1000
  551. package/dist/drafts/draft13/codec.js.map +0 -1
  552. package/dist/drafts/draft13/data-streams.d.ts +0 -10
  553. package/dist/drafts/draft13/data-streams.d.ts.map +0 -1
  554. package/dist/drafts/draft13/data-streams.js +0 -254
  555. package/dist/drafts/draft13/data-streams.js.map +0 -1
  556. package/dist/drafts/draft13/index.d.ts +0 -9
  557. package/dist/drafts/draft13/index.d.ts.map +0 -1
  558. package/dist/drafts/draft13/index.js +0 -7
  559. package/dist/drafts/draft13/index.js.map +0 -1
  560. package/dist/drafts/draft13/messages.d.ts +0 -38
  561. package/dist/drafts/draft13/messages.d.ts.map +0 -1
  562. package/dist/drafts/draft13/messages.js +0 -79
  563. package/dist/drafts/draft13/messages.js.map +0 -1
  564. package/dist/drafts/draft13/rules.d.ts +0 -8
  565. package/dist/drafts/draft13/rules.d.ts.map +0 -1
  566. package/dist/drafts/draft13/rules.js +0 -96
  567. package/dist/drafts/draft13/rules.js.map +0 -1
  568. package/dist/drafts/draft13/session-fsm.d.ts +0 -56
  569. package/dist/drafts/draft13/session-fsm.d.ts.map +0 -1
  570. package/dist/drafts/draft13/session-fsm.js +0 -581
  571. package/dist/drafts/draft13/session-fsm.js.map +0 -1
  572. package/dist/drafts/draft13/session.d.ts +0 -5
  573. package/dist/drafts/draft13/session.d.ts.map +0 -1
  574. package/dist/drafts/draft13/session.js +0 -5
  575. package/dist/drafts/draft13/session.js.map +0 -1
  576. package/dist/drafts/draft13/types.d.ts +0 -310
  577. package/dist/drafts/draft13/types.d.ts.map +0 -1
  578. package/dist/drafts/draft13/types.js +0 -4
  579. package/dist/drafts/draft13/types.js.map +0 -1
  580. package/dist/drafts/draft14/codec.d.ts +0 -34
  581. package/dist/drafts/draft14/codec.d.ts.map +0 -1
  582. package/dist/drafts/draft14/codec.js +0 -752
  583. package/dist/drafts/draft14/codec.js.map +0 -1
  584. package/dist/drafts/draft14/data-streams.d.ts +0 -56
  585. package/dist/drafts/draft14/data-streams.d.ts.map +0 -1
  586. package/dist/drafts/draft14/data-streams.js +0 -729
  587. package/dist/drafts/draft14/data-streams.js.map +0 -1
  588. package/dist/drafts/draft14/index.d.ts +0 -9
  589. package/dist/drafts/draft14/index.d.ts.map +0 -1
  590. package/dist/drafts/draft14/index.js +0 -7
  591. package/dist/drafts/draft14/index.js.map +0 -1
  592. package/dist/drafts/draft14/messages.d.ts +0 -36
  593. package/dist/drafts/draft14/messages.d.ts.map +0 -1
  594. package/dist/drafts/draft14/messages.js +0 -71
  595. package/dist/drafts/draft14/messages.js.map +0 -1
  596. package/dist/drafts/draft14/rules.d.ts +0 -8
  597. package/dist/drafts/draft14/rules.d.ts.map +0 -1
  598. package/dist/drafts/draft14/rules.js +0 -101
  599. package/dist/drafts/draft14/rules.js.map +0 -1
  600. package/dist/drafts/draft14/session-fsm.d.ts +0 -58
  601. package/dist/drafts/draft14/session-fsm.d.ts.map +0 -1
  602. package/dist/drafts/draft14/session-fsm.js +0 -648
  603. package/dist/drafts/draft14/session-fsm.js.map +0 -1
  604. package/dist/drafts/draft14/session.d.ts +0 -5
  605. package/dist/drafts/draft14/session.d.ts.map +0 -1
  606. package/dist/drafts/draft14/session.js +0 -5
  607. package/dist/drafts/draft14/session.js.map +0 -1
  608. package/dist/drafts/draft14/types.d.ts +0 -263
  609. package/dist/drafts/draft14/types.d.ts.map +0 -1
  610. package/dist/drafts/draft14/types.js +0 -4
  611. package/dist/drafts/draft14/types.js.map +0 -1
  612. package/dist/drafts/draft15/codec.d.ts +0 -33
  613. package/dist/drafts/draft15/codec.d.ts.map +0 -1
  614. package/dist/drafts/draft15/codec.js +0 -742
  615. package/dist/drafts/draft15/codec.js.map +0 -1
  616. package/dist/drafts/draft15/data-streams.d.ts +0 -45
  617. package/dist/drafts/draft15/data-streams.d.ts.map +0 -1
  618. package/dist/drafts/draft15/data-streams.js +0 -675
  619. package/dist/drafts/draft15/data-streams.js.map +0 -1
  620. package/dist/drafts/draft15/index.d.ts +0 -9
  621. package/dist/drafts/draft15/index.d.ts.map +0 -1
  622. package/dist/drafts/draft15/index.js +0 -7
  623. package/dist/drafts/draft15/index.js.map +0 -1
  624. package/dist/drafts/draft15/messages.d.ts +0 -31
  625. package/dist/drafts/draft15/messages.d.ts.map +0 -1
  626. package/dist/drafts/draft15/messages.js +0 -59
  627. package/dist/drafts/draft15/messages.js.map +0 -1
  628. package/dist/drafts/draft15/rules.d.ts +0 -8
  629. package/dist/drafts/draft15/rules.d.ts.map +0 -1
  630. package/dist/drafts/draft15/rules.js +0 -83
  631. package/dist/drafts/draft15/rules.js.map +0 -1
  632. package/dist/drafts/draft15/session-fsm.d.ts +0 -48
  633. package/dist/drafts/draft15/session-fsm.d.ts.map +0 -1
  634. package/dist/drafts/draft15/session-fsm.js +0 -479
  635. package/dist/drafts/draft15/session-fsm.js.map +0 -1
  636. package/dist/drafts/draft15/session.d.ts +0 -5
  637. package/dist/drafts/draft15/session.d.ts.map +0 -1
  638. package/dist/drafts/draft15/session.js +0 -5
  639. package/dist/drafts/draft15/session.js.map +0 -1
  640. package/dist/drafts/draft15/types.d.ts +0 -232
  641. package/dist/drafts/draft15/types.d.ts.map +0 -1
  642. package/dist/drafts/draft15/types.js +0 -4
  643. package/dist/drafts/draft15/types.js.map +0 -1
  644. package/dist/drafts/draft16/codec.d.ts +0 -29
  645. package/dist/drafts/draft16/codec.d.ts.map +0 -1
  646. package/dist/drafts/draft16/codec.js +0 -747
  647. package/dist/drafts/draft16/codec.js.map +0 -1
  648. package/dist/drafts/draft16/data-streams.d.ts +0 -34
  649. package/dist/drafts/draft16/data-streams.d.ts.map +0 -1
  650. package/dist/drafts/draft16/data-streams.js +0 -667
  651. package/dist/drafts/draft16/data-streams.js.map +0 -1
  652. package/dist/drafts/draft16/index.d.ts +0 -9
  653. package/dist/drafts/draft16/index.d.ts.map +0 -1
  654. package/dist/drafts/draft16/index.js +0 -7
  655. package/dist/drafts/draft16/index.js.map +0 -1
  656. package/dist/drafts/draft16/messages.d.ts +0 -32
  657. package/dist/drafts/draft16/messages.d.ts.map +0 -1
  658. package/dist/drafts/draft16/messages.js +0 -62
  659. package/dist/drafts/draft16/messages.js.map +0 -1
  660. package/dist/drafts/draft16/rules.d.ts +0 -8
  661. package/dist/drafts/draft16/rules.d.ts.map +0 -1
  662. package/dist/drafts/draft16/rules.js +0 -84
  663. package/dist/drafts/draft16/rules.js.map +0 -1
  664. package/dist/drafts/draft16/session-fsm.d.ts +0 -48
  665. package/dist/drafts/draft16/session-fsm.d.ts.map +0 -1
  666. package/dist/drafts/draft16/session-fsm.js +0 -474
  667. package/dist/drafts/draft16/session-fsm.js.map +0 -1
  668. package/dist/drafts/draft16/session.d.ts +0 -5
  669. package/dist/drafts/draft16/session.d.ts.map +0 -1
  670. package/dist/drafts/draft16/session.js +0 -5
  671. package/dist/drafts/draft16/session.js.map +0 -1
  672. package/dist/drafts/draft16/types.d.ts +0 -238
  673. package/dist/drafts/draft16/types.d.ts.map +0 -1
  674. package/dist/drafts/draft16/types.js +0 -4
  675. package/dist/drafts/draft16/types.js.map +0 -1
  676. package/dist/drafts/draft17/codec.d.ts +0 -29
  677. package/dist/drafts/draft17/codec.d.ts.map +0 -1
  678. package/dist/drafts/draft17/codec.js +0 -799
  679. package/dist/drafts/draft17/codec.js.map +0 -1
  680. package/dist/drafts/draft17/data-streams.d.ts +0 -13
  681. package/dist/drafts/draft17/data-streams.d.ts.map +0 -1
  682. package/dist/drafts/draft17/data-streams.js +0 -633
  683. package/dist/drafts/draft17/data-streams.js.map +0 -1
  684. package/dist/drafts/draft17/index.d.ts +0 -8
  685. package/dist/drafts/draft17/index.d.ts.map +0 -1
  686. package/dist/drafts/draft17/index.js +0 -6
  687. package/dist/drafts/draft17/index.js.map +0 -1
  688. package/dist/drafts/draft17/messages.d.ts +0 -25
  689. package/dist/drafts/draft17/messages.d.ts.map +0 -1
  690. package/dist/drafts/draft17/messages.js +0 -48
  691. package/dist/drafts/draft17/messages.js.map +0 -1
  692. package/dist/drafts/draft17/rules.d.ts +0 -8
  693. package/dist/drafts/draft17/rules.d.ts.map +0 -1
  694. package/dist/drafts/draft17/rules.js +0 -71
  695. package/dist/drafts/draft17/rules.js.map +0 -1
  696. package/dist/drafts/draft17/session-fsm.d.ts +0 -45
  697. package/dist/drafts/draft17/session-fsm.d.ts.map +0 -1
  698. package/dist/drafts/draft17/session-fsm.js +0 -328
  699. package/dist/drafts/draft17/session-fsm.js.map +0 -1
  700. package/dist/drafts/draft17/session.d.ts +0 -5
  701. package/dist/drafts/draft17/session.d.ts.map +0 -1
  702. package/dist/drafts/draft17/session.js +0 -6
  703. package/dist/drafts/draft17/session.js.map +0 -1
  704. package/dist/drafts/draft17/types.d.ts +0 -219
  705. package/dist/drafts/draft17/types.d.ts.map +0 -1
  706. package/dist/drafts/draft17/types.js +0 -3
  707. package/dist/drafts/draft17/types.js.map +0 -1
  708. package/dist/index.d.ts.map +0 -1
  709. package/dist/index.js.map +0 -1
  710. package/dist/session.d.ts.map +0 -1
  711. package/dist/session.js.map +0 -1
  712. package/dist/types-QNXoxC9Y.d.cts +0 -236
  713. package/dist/types-QNXoxC9Y.d.ts +0 -236
  714. package/src/drafts/draft07/announce-fsm.ts +0 -2
  715. package/src/drafts/draft07/parameters.ts +0 -12
  716. package/src/drafts/draft07/subscription-fsm.ts +0 -3
@@ -2,7 +2,9 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkFWISIR26cjs = require('./chunk-FWISIR26.cjs');
5
+
6
+
7
+ var _chunkJL3NEW3Ocjs = require('./chunk-JL3NEW3O.cjs');
6
8
 
7
9
  // src/drafts/draft15/messages.ts
8
10
  var MSG_SUBSCRIBE_UPDATE = 0x02n;
@@ -30,6 +32,7 @@ var MSG_CLIENT_SETUP = 0x20n;
30
32
  var MSG_SERVER_SETUP = 0x21n;
31
33
  var SETUP_PARAM_PATH = 0x01n;
32
34
  var SETUP_PARAM_MAX_REQUEST_ID = 0x02n;
35
+ var SETUP_PARAM_AUTHORIZATION_TOKEN = 0x03n;
33
36
  var SETUP_PARAM_MAX_AUTH_TOKEN_CACHE_SIZE = 0x04n;
34
37
  var SETUP_PARAM_AUTHORITY = 0x05n;
35
38
  var SETUP_PARAM_MOQT_IMPLEMENTATION = 0x07n;
@@ -62,365 +65,1120 @@ var MESSAGE_ID_MAP = new Map(
62
65
  [...MESSAGE_TYPE_MAP.entries()].map(([id, name]) => [name, id])
63
66
  );
64
67
 
65
- // src/drafts/draft15/codec.ts
66
- function bytesToHex(bytes) {
67
- let hex = "";
68
- for (let i = 0; i < bytes.byteLength; i++) {
69
- hex += bytes[i].toString(16).padStart(2, "0");
70
- }
71
- return hex;
72
- }
73
- function hexToBytes(hex) {
74
- const bytes = new Uint8Array(hex.length / 2);
75
- for (let i = 0; i < hex.length; i += 2) {
76
- bytes[i / 2] = parseInt(hex.substring(i, i + 2), 16);
77
- }
78
- return bytes;
79
- }
80
- function encodeSetupParams(params, writer) {
81
- let count = 0;
82
- if (params.path !== void 0) count++;
83
- if (params.max_request_id !== void 0) count++;
84
- if (params.max_auth_token_cache_size !== void 0) count++;
85
- if (params.authority !== void 0) count++;
86
- if (params.moqt_implementation !== void 0) count++;
87
- if (params.unknown) count += params.unknown.length;
88
- writer.writeVarInt(count);
89
- if (params.path !== void 0) {
90
- writer.writeVarInt(SETUP_PARAM_PATH);
91
- const encoded = new TextEncoder().encode(params.path);
92
- writer.writeVarInt(encoded.byteLength);
93
- writer.writeBytes(encoded);
94
- }
95
- if (params.max_request_id !== void 0) {
96
- writer.writeVarInt(SETUP_PARAM_MAX_REQUEST_ID);
97
- writer.writeVarInt(params.max_request_id);
98
- }
99
- if (params.max_auth_token_cache_size !== void 0) {
100
- writer.writeVarInt(SETUP_PARAM_MAX_AUTH_TOKEN_CACHE_SIZE);
101
- writer.writeVarInt(params.max_auth_token_cache_size);
102
- }
103
- if (params.authority !== void 0) {
104
- writer.writeVarInt(SETUP_PARAM_AUTHORITY);
105
- const encoded = new TextEncoder().encode(params.authority);
106
- writer.writeVarInt(encoded.byteLength);
107
- writer.writeBytes(encoded);
68
+ // src/drafts/draft15/data-streams.ts
69
+ var FETCH_STREAM_TYPE = 0x05n;
70
+ function encodeSubgroupStream(stream) {
71
+ const w = new (0, _chunkJL3NEW3Ocjs.BufferWriter)();
72
+ const streamType = stream.headerType;
73
+ w.writeVarInt(BigInt(streamType));
74
+ const extensionsPresent = (streamType & 1) !== 0;
75
+ const hasSubgroupField = (streamType & 4) !== 0;
76
+ const hasPriority = streamType < 48;
77
+ w.writeVarInt(stream.trackAlias);
78
+ w.writeVarInt(stream.groupId);
79
+ if (hasSubgroupField) {
80
+ w.writeVarInt(stream.subgroupId);
108
81
  }
109
- if (params.moqt_implementation !== void 0) {
110
- writer.writeVarInt(SETUP_PARAM_MOQT_IMPLEMENTATION);
111
- const encoded = new TextEncoder().encode(params.moqt_implementation);
112
- writer.writeVarInt(encoded.byteLength);
113
- writer.writeBytes(encoded);
82
+ if (hasPriority) {
83
+ w.writeUint8(stream.publisherPriority);
114
84
  }
115
- if (params.unknown) {
116
- for (const u of params.unknown) {
117
- const id = BigInt(u.id);
118
- writer.writeVarInt(id);
119
- if (id % 2n === 0n) {
120
- const raw = hexToBytes(u.raw_hex);
121
- const tmpReader = new (0, _chunkFWISIR26cjs.BufferReader)(raw);
122
- const value = tmpReader.readVarInt();
123
- writer.writeVarInt(value);
124
- } else {
125
- const raw = hexToBytes(u.raw_hex);
126
- writer.writeVarInt(raw.byteLength);
127
- writer.writeBytes(raw);
128
- }
85
+ let prevObjectId = -1n;
86
+ for (const obj of stream.objects) {
87
+ const delta = prevObjectId < 0n ? obj.objectId : obj.objectId - prevObjectId - 1n;
88
+ w.writeVarInt(delta);
89
+ if (extensionsPresent) {
90
+ w.writeVarInt(BigInt(obj.extensionData.length));
91
+ if (obj.extensionData.length > 0) w.writeBytes(obj.extensionData);
129
92
  }
130
- }
131
- }
132
- function decodeSetupParams(reader) {
133
- const count = Number(reader.readVarInt());
134
- const result = {};
135
- const unknown = [];
136
- for (let i = 0; i < count; i++) {
137
- const paramType = reader.readVarInt();
138
- if (paramType % 2n === 0n) {
139
- const value = reader.readVarInt();
140
- if (paramType === SETUP_PARAM_MAX_REQUEST_ID) {
141
- result.max_request_id = value;
142
- } else if (paramType === SETUP_PARAM_MAX_AUTH_TOKEN_CACHE_SIZE) {
143
- result.max_auth_token_cache_size = value;
144
- } else {
145
- const tmpWriter = new (0, _chunkFWISIR26cjs.BufferWriter)(16);
146
- tmpWriter.writeVarInt(value);
147
- const raw = tmpWriter.finish();
148
- unknown.push({
149
- id: `0x${paramType.toString(16)}`,
150
- length: raw.byteLength,
151
- raw_hex: bytesToHex(raw)
152
- });
153
- }
93
+ w.writeVarInt(obj.payloadLength);
94
+ if (obj.payloadLength === 0) {
95
+ w.writeVarInt(_nullishCoalesce(obj.status, () => ( 0n)));
154
96
  } else {
155
- const length = Number(reader.readVarInt());
156
- const bytes = reader.readBytes(length);
157
- if (paramType === SETUP_PARAM_PATH) {
158
- result.path = new TextDecoder().decode(bytes);
159
- } else if (paramType === SETUP_PARAM_AUTHORITY) {
160
- result.authority = new TextDecoder().decode(bytes);
161
- } else if (paramType === SETUP_PARAM_MOQT_IMPLEMENTATION) {
162
- result.moqt_implementation = new TextDecoder().decode(bytes);
163
- } else {
164
- unknown.push({
165
- id: `0x${paramType.toString(16)}`,
166
- length,
167
- raw_hex: bytesToHex(bytes)
168
- });
169
- }
97
+ w.writeBytes(obj.payload);
170
98
  }
99
+ prevObjectId = obj.objectId;
171
100
  }
172
- if (unknown.length > 0) {
173
- result.unknown = unknown;
174
- }
175
- return result;
101
+ return w.finish();
176
102
  }
177
- var PARAM_EXPIRES = 0x08n;
178
- var PARAM_LARGEST_OBJECT = 0x09n;
179
- var PARAM_SUBSCRIBER_PRIORITY = 0x20n;
180
- var PARAM_SUBSCRIPTION_FILTER = 0x21n;
181
- var PARAM_GROUP_ORDER = 0x22n;
182
- function encodeParams(params, writer) {
183
- let count = params.unknown ? params.unknown.length : 0;
184
- if (params.expires !== void 0) count++;
185
- if (params.largest_object !== void 0) count++;
186
- if (params.subscriber_priority !== void 0) count++;
187
- if (params.subscription_filter !== void 0) count++;
188
- if (params.group_order !== void 0) count++;
189
- writer.writeVarInt(count);
190
- if (params.expires !== void 0) {
191
- writer.writeVarInt(PARAM_EXPIRES);
192
- writer.writeVarInt(params.expires);
103
+ function encodeDatagram(dg) {
104
+ const w = new (0, _chunkJL3NEW3Ocjs.BufferWriter)();
105
+ const dgType = dg.datagramType;
106
+ w.writeVarInt(BigInt(dgType));
107
+ w.writeVarInt(dg.trackAlias);
108
+ w.writeVarInt(dg.groupId);
109
+ const extensionsPresent = (dgType & 1) !== 0;
110
+ const objectIdAbsent = (dgType & 4) !== 0;
111
+ const isStatus = (dgType & 32) !== 0;
112
+ if (!objectIdAbsent) {
113
+ w.writeVarInt(dg.objectId);
193
114
  }
194
- if (params.largest_object !== void 0) {
195
- writer.writeVarInt(PARAM_LARGEST_OBJECT);
196
- const tmpW = new (0, _chunkFWISIR26cjs.BufferWriter)(16);
197
- tmpW.writeVarInt(params.largest_object.group);
198
- tmpW.writeVarInt(params.largest_object.object);
199
- const raw = tmpW.finish();
200
- writer.writeVarInt(raw.byteLength);
201
- writer.writeBytes(raw);
115
+ w.writeUint8(dg.publisherPriority);
116
+ if (extensionsPresent) {
117
+ const extData = _nullishCoalesce(dg.extensionData, () => ( new Uint8Array(0)));
118
+ w.writeVarInt(BigInt(extData.length));
119
+ if (extData.length > 0) w.writeBytes(extData);
202
120
  }
203
- if (params.subscriber_priority !== void 0) {
204
- writer.writeVarInt(PARAM_SUBSCRIBER_PRIORITY);
205
- writer.writeVarInt(params.subscriber_priority);
121
+ if (isStatus) {
122
+ w.writeVarInt(_nullishCoalesce(dg.objectStatus, () => ( 0n)));
123
+ } else {
124
+ w.writeBytes(dg.payload);
206
125
  }
207
- if (params.subscription_filter !== void 0) {
208
- writer.writeVarInt(PARAM_SUBSCRIPTION_FILTER);
209
- const tmpW = new (0, _chunkFWISIR26cjs.BufferWriter)(32);
210
- const f = params.subscription_filter;
211
- tmpW.writeVarInt(f.filter_type);
212
- if (f.filter_type === 3n || f.filter_type === 4n) {
213
- tmpW.writeVarInt(f.start_group);
214
- tmpW.writeVarInt(f.start_object);
126
+ return w.finish();
127
+ }
128
+ function encodeFetchStream(stream) {
129
+ const w = new (0, _chunkJL3NEW3Ocjs.BufferWriter)();
130
+ w.writeVarInt(FETCH_STREAM_TYPE);
131
+ w.writeVarInt(stream.requestId);
132
+ for (const obj of stream.objects) {
133
+ w.writeUint8(obj.serializationFlags);
134
+ const flags = obj.serializationFlags;
135
+ if (flags & 8) w.writeVarInt(obj.groupId);
136
+ const subgroupEncoding = flags & 3;
137
+ if (subgroupEncoding === 3) w.writeVarInt(obj.subgroupId);
138
+ if (flags & 4) w.writeVarInt(obj.objectId);
139
+ if (flags & 16) w.writeUint8(obj.publisherPriority);
140
+ if (flags & 32) {
141
+ w.writeVarInt(BigInt(obj.extensionData.length));
142
+ if (obj.extensionData.length > 0) w.writeBytes(obj.extensionData);
215
143
  }
216
- if (f.filter_type === 4n) {
217
- tmpW.writeVarInt(f.end_group);
144
+ w.writeVarInt(obj.payloadLength);
145
+ if (obj.payloadLength === 0) {
146
+ w.writeVarInt(_nullishCoalesce(obj.status, () => ( 0n)));
147
+ } else {
148
+ w.writeBytes(obj.payload);
218
149
  }
219
- const raw = tmpW.finish();
220
- writer.writeVarInt(raw.byteLength);
221
- writer.writeBytes(raw);
222
- }
223
- if (params.group_order !== void 0) {
224
- writer.writeVarInt(PARAM_GROUP_ORDER);
225
- writer.writeVarInt(params.group_order);
226
150
  }
227
- if (params.unknown) {
228
- for (const u of params.unknown) {
229
- const id = BigInt(u.id);
230
- writer.writeVarInt(id);
231
- if (id % 2n === 0n) {
232
- const raw = hexToBytes(u.raw_hex);
233
- const tmpReader = new (0, _chunkFWISIR26cjs.BufferReader)(raw);
234
- const value = tmpReader.readVarInt();
235
- writer.writeVarInt(value);
151
+ return w.finish();
152
+ }
153
+ function decodeSubgroupStream(bytes) {
154
+ try {
155
+ const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(bytes);
156
+ const streamType = Number(r.readVarInt());
157
+ if (!(streamType >= 16 && streamType <= 23 || streamType >= 48 && streamType <= 55)) {
158
+ return {
159
+ ok: false,
160
+ error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
161
+ "CONSTRAINT_VIOLATION",
162
+ `Expected subgroup stream type 0x10-0x17/0x30-0x37, got 0x${streamType.toString(16)}`,
163
+ 0
164
+ )
165
+ };
166
+ }
167
+ const extensionsPresent = (streamType & 1) !== 0;
168
+ const endOfGroup = (streamType & 2) !== 0;
169
+ const hasSubgroupField = (streamType & 4) !== 0;
170
+ const hasPriority = streamType < 48;
171
+ const trackAlias = r.readVarInt();
172
+ const groupId = r.readVarInt();
173
+ let subgroupId = 0n;
174
+ if (hasSubgroupField) {
175
+ subgroupId = r.readVarInt();
176
+ }
177
+ let publisherPriority = 128;
178
+ if (hasPriority) {
179
+ publisherPriority = r.readUint8();
180
+ }
181
+ const objects = [];
182
+ let prevObjectId = -1n;
183
+ let firstObject = true;
184
+ while (r.remaining > 0) {
185
+ const byteOffset = r.offset;
186
+ const delta = r.readVarInt();
187
+ let objectId;
188
+ if (firstObject) {
189
+ objectId = delta;
190
+ firstObject = false;
236
191
  } else {
237
- const raw = hexToBytes(u.raw_hex);
238
- writer.writeVarInt(raw.byteLength);
239
- writer.writeBytes(raw);
192
+ objectId = prevObjectId + 1n + delta;
240
193
  }
194
+ let extensionData = new Uint8Array(0);
195
+ if (extensionsPresent) {
196
+ const extLen = Number(r.readVarInt());
197
+ extensionData = extLen > 0 ? r.readBytesView(extLen) : new Uint8Array(0);
198
+ }
199
+ const payloadLength = Number(r.readVarInt());
200
+ let payload;
201
+ let status;
202
+ let payloadByteOffset;
203
+ if (payloadLength === 0) {
204
+ status = r.readVarInt();
205
+ payloadByteOffset = r.offset;
206
+ payload = new Uint8Array(0);
207
+ } else {
208
+ payloadByteOffset = r.offset;
209
+ payload = r.readBytesView(payloadLength);
210
+ }
211
+ const obj = {
212
+ type: "object",
213
+ byteOffset,
214
+ payloadByteOffset,
215
+ objectId,
216
+ payloadLength,
217
+ extensionData,
218
+ payload
219
+ };
220
+ if (status !== void 0) obj.status = status;
221
+ objects.push(obj);
222
+ prevObjectId = objectId;
241
223
  }
224
+ const result = {
225
+ type: "subgroup",
226
+ headerType: streamType,
227
+ trackAlias,
228
+ groupId,
229
+ subgroupId,
230
+ publisherPriority,
231
+ objects
232
+ };
233
+ if (endOfGroup) result.endOfGroup = true;
234
+ return {
235
+ ok: true,
236
+ value: result,
237
+ bytesRead: r.offset
238
+ };
239
+ } catch (e) {
240
+ if (e instanceof _chunkJL3NEW3Ocjs.DecodeError) return { ok: false, error: e };
241
+ throw e;
242
242
  }
243
243
  }
244
- function decodeParams(reader) {
245
- const count = Number(reader.readVarInt());
246
- const result = {};
247
- const unknown = [];
248
- for (let i = 0; i < count; i++) {
249
- const paramType = reader.readVarInt();
250
- if (paramType === PARAM_EXPIRES) {
251
- result.expires = reader.readVarInt();
252
- } else if (paramType === PARAM_SUBSCRIBER_PRIORITY) {
253
- result.subscriber_priority = reader.readVarInt();
254
- } else if (paramType === PARAM_GROUP_ORDER) {
255
- result.group_order = reader.readVarInt();
256
- } else if (paramType === PARAM_LARGEST_OBJECT) {
257
- const length = Number(reader.readVarInt());
258
- const startOff = reader.offset;
259
- const group = reader.readVarInt();
260
- const object = reader.readVarInt();
261
- const consumed = reader.offset - startOff;
262
- if (consumed < length) reader.readBytes(length - consumed);
263
- result.largest_object = { group, object };
264
- } else if (paramType === PARAM_SUBSCRIPTION_FILTER) {
265
- const length = Number(reader.readVarInt());
266
- const startOff = reader.offset;
267
- const filter_type = reader.readVarInt();
268
- const filter = { filter_type };
269
- if (filter_type === 3n || filter_type === 4n) {
270
- filter.start_group = reader.readVarInt();
271
- filter.start_object = reader.readVarInt();
272
- }
273
- if (filter_type === 4n) {
274
- filter.end_group = reader.readVarInt();
275
- }
276
- const consumed = reader.offset - startOff;
277
- if (consumed < length) reader.readBytes(length - consumed);
278
- result.subscription_filter = filter;
279
- } else if (paramType % 2n === 0n) {
280
- const value = reader.readVarInt();
281
- const tmpWriter = new (0, _chunkFWISIR26cjs.BufferWriter)(16);
282
- tmpWriter.writeVarInt(value);
283
- const raw = tmpWriter.finish();
284
- unknown.push({
285
- id: `0x${paramType.toString(16)}`,
286
- length: raw.byteLength,
287
- raw_hex: bytesToHex(raw)
288
- });
244
+ function decodeDatagram(bytes) {
245
+ try {
246
+ const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(bytes);
247
+ const dgType = Number(r.readVarInt());
248
+ const extensionsPresent = (dgType & 1) !== 0;
249
+ const objectIdAbsent = (dgType & 4) !== 0;
250
+ const endOfGroup = (dgType & 2) !== 0;
251
+ const isStatus = (dgType & 32) !== 0;
252
+ const trackAlias = r.readVarInt();
253
+ const groupId = r.readVarInt();
254
+ let objectId = 0n;
255
+ if (!objectIdAbsent) {
256
+ objectId = r.readVarInt();
257
+ }
258
+ const publisherPriority = r.readUint8();
259
+ let extensionData;
260
+ if (extensionsPresent) {
261
+ const extLen = Number(r.readVarInt());
262
+ extensionData = extLen > 0 ? r.readBytesView(extLen) : new Uint8Array(0);
263
+ }
264
+ let objectStatus;
265
+ let payload;
266
+ if (isStatus) {
267
+ objectStatus = r.readVarInt();
268
+ payload = new Uint8Array(0);
289
269
  } else {
290
- const length = Number(reader.readVarInt());
291
- const bytes = reader.readBytes(length);
292
- unknown.push({
293
- id: `0x${paramType.toString(16)}`,
294
- length,
295
- raw_hex: bytesToHex(bytes)
296
- });
270
+ payload = r.readBytesView(r.remaining);
297
271
  }
272
+ const payloadLength = payload.byteLength;
273
+ const result = {
274
+ type: "datagram",
275
+ datagramType: dgType,
276
+ trackAlias,
277
+ groupId,
278
+ objectId,
279
+ publisherPriority,
280
+ payloadLength,
281
+ payload
282
+ };
283
+ if (endOfGroup) result.endOfGroup = true;
284
+ if (objectStatus !== void 0)
285
+ result.objectStatus = objectStatus;
286
+ if (extensionData !== void 0)
287
+ result.extensionData = extensionData;
288
+ return { ok: true, value: result, bytesRead: r.offset };
289
+ } catch (e) {
290
+ if (e instanceof _chunkJL3NEW3Ocjs.DecodeError) return { ok: false, error: e };
291
+ throw e;
298
292
  }
299
- if (unknown.length > 0) {
300
- result.unknown = unknown;
301
- }
302
- return result;
303
- }
304
- function encodeClientSetupPayload(msg, w) {
305
- encodeSetupParams(msg.parameters, w);
306
- }
307
- function encodeServerSetupPayload(msg, w) {
308
- encodeSetupParams(msg.parameters, w);
309
- }
310
- function encodeSubscribePayload(msg, w) {
311
- w.writeVarInt(msg.request_id);
312
- w.writeTuple(msg.track_namespace);
313
- w.writeString(msg.track_name);
314
- encodeParams(msg.parameters, w);
315
- }
316
- function encodeSubscribeOkPayload(msg, w) {
317
- w.writeVarInt(msg.request_id);
318
- w.writeVarInt(msg.track_alias);
319
- encodeParams(msg.parameters, w);
320
- }
321
- function encodeSubscribeUpdatePayload(msg, w) {
322
- w.writeVarInt(msg.request_id);
323
- w.writeVarInt(msg.subscription_request_id);
324
- encodeParams(msg.parameters, w);
325
- }
326
- function encodeUnsubscribePayload(msg, w) {
327
- w.writeVarInt(msg.request_id);
328
- }
329
- function encodePublishPayload(msg, w) {
330
- w.writeVarInt(msg.request_id);
331
- w.writeTuple(msg.track_namespace);
332
- w.writeString(msg.track_name);
333
- w.writeVarInt(msg.track_alias);
334
- encodeParams(msg.parameters, w);
335
- }
336
- function encodePublishOkPayload(msg, w) {
337
- w.writeVarInt(msg.request_id);
338
- encodeParams(msg.parameters, w);
339
- }
340
- function encodePublishDonePayload(msg, w) {
341
- w.writeVarInt(msg.request_id);
342
- w.writeVarInt(msg.status_code);
343
- w.writeVarInt(msg.stream_count);
344
- w.writeString(msg.reason_phrase);
345
293
  }
346
- function encodePublishNamespacePayload(msg, w) {
347
- w.writeVarInt(msg.request_id);
348
- w.writeTuple(msg.track_namespace);
349
- encodeParams(msg.parameters, w);
294
+ function decodeFetchStream(bytes) {
295
+ try {
296
+ const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(bytes);
297
+ const streamType = r.readVarInt();
298
+ if (streamType !== FETCH_STREAM_TYPE) {
299
+ return {
300
+ ok: false,
301
+ error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
302
+ "CONSTRAINT_VIOLATION",
303
+ `Expected fetch stream type 0x05, got 0x${streamType.toString(16)}`,
304
+ 0
305
+ )
306
+ };
307
+ }
308
+ const requestId = r.readVarInt();
309
+ const objects = [];
310
+ let prevGroupId = 0n;
311
+ let prevSubgroupId = 0n;
312
+ let prevObjectId = 0n;
313
+ let prevPriority = 128;
314
+ let first = true;
315
+ while (r.remaining > 0) {
316
+ const byteOffset = r.offset;
317
+ const flags = r.readUint8();
318
+ const subgroupEncoding = flags & 3;
319
+ const objectIdPresent = (flags & 4) !== 0;
320
+ const groupIdPresent = (flags & 8) !== 0;
321
+ const priorityPresent = (flags & 16) !== 0;
322
+ const extensionsPresent = (flags & 32) !== 0;
323
+ if (flags & 192) {
324
+ return {
325
+ ok: false,
326
+ error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
327
+ "CONSTRAINT_VIOLATION",
328
+ "Reserved bits set in fetch object flags",
329
+ r.offset
330
+ )
331
+ };
332
+ }
333
+ let groupId = prevGroupId;
334
+ if (groupIdPresent) {
335
+ groupId = r.readVarInt();
336
+ } else if (first) {
337
+ return {
338
+ ok: false,
339
+ error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
340
+ "CONSTRAINT_VIOLATION",
341
+ "First fetch object must include groupId",
342
+ r.offset
343
+ )
344
+ };
345
+ }
346
+ let subgroupId;
347
+ if (subgroupEncoding === 0) {
348
+ subgroupId = 0n;
349
+ } else if (subgroupEncoding === 1) {
350
+ if (first) {
351
+ return {
352
+ ok: false,
353
+ error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
354
+ "CONSTRAINT_VIOLATION",
355
+ "First fetch object cannot reference prior subgroupId",
356
+ r.offset
357
+ )
358
+ };
359
+ }
360
+ subgroupId = prevSubgroupId;
361
+ } else if (subgroupEncoding === 2) {
362
+ if (first) {
363
+ return {
364
+ ok: false,
365
+ error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
366
+ "CONSTRAINT_VIOLATION",
367
+ "First fetch object cannot reference prior subgroupId",
368
+ r.offset
369
+ )
370
+ };
371
+ }
372
+ subgroupId = prevSubgroupId + 1n;
373
+ } else {
374
+ subgroupId = r.readVarInt();
375
+ }
376
+ let objectId = prevObjectId + 1n;
377
+ if (objectIdPresent) {
378
+ objectId = r.readVarInt();
379
+ } else if (first) {
380
+ return {
381
+ ok: false,
382
+ error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
383
+ "CONSTRAINT_VIOLATION",
384
+ "First fetch object must include objectId",
385
+ r.offset
386
+ )
387
+ };
388
+ }
389
+ if (priorityPresent) {
390
+ prevPriority = r.readUint8();
391
+ }
392
+ let extensionData = new Uint8Array(0);
393
+ if (extensionsPresent) {
394
+ const extLen = Number(r.readVarInt());
395
+ extensionData = extLen > 0 ? r.readBytesView(extLen) : new Uint8Array(0);
396
+ }
397
+ const payloadLength = Number(r.readVarInt());
398
+ let payload;
399
+ let status;
400
+ let payloadByteOffset;
401
+ if (payloadLength > 0) {
402
+ payloadByteOffset = r.offset;
403
+ payload = r.readBytesView(payloadLength);
404
+ } else {
405
+ status = r.readVarInt();
406
+ payloadByteOffset = r.offset;
407
+ payload = new Uint8Array(0);
408
+ }
409
+ const obj = {
410
+ type: "object",
411
+ byteOffset,
412
+ payloadByteOffset,
413
+ serializationFlags: flags,
414
+ groupId,
415
+ subgroupId,
416
+ objectId,
417
+ publisherPriority: prevPriority,
418
+ payloadLength,
419
+ extensionData,
420
+ payload
421
+ };
422
+ if (status !== void 0) obj.status = status;
423
+ objects.push(obj);
424
+ prevGroupId = groupId;
425
+ prevSubgroupId = subgroupId;
426
+ prevObjectId = objectId;
427
+ first = false;
428
+ }
429
+ return {
430
+ ok: true,
431
+ value: { type: "fetch", requestId, objects },
432
+ bytesRead: r.offset
433
+ };
434
+ } catch (e) {
435
+ if (e instanceof _chunkJL3NEW3Ocjs.DecodeError) return { ok: false, error: e };
436
+ throw e;
437
+ }
350
438
  }
351
- function encodePublishNamespaceDonePayload(msg, w) {
352
- w.writeTuple(msg.track_namespace);
439
+ function decodeDataStream(streamType, bytes) {
440
+ switch (streamType) {
441
+ case "subgroup":
442
+ return decodeSubgroupStream(bytes);
443
+ case "datagram":
444
+ return decodeDatagram(bytes);
445
+ case "fetch":
446
+ return decodeFetchStream(bytes);
447
+ default: {
448
+ const _exhaustive = streamType;
449
+ throw new Error(`Unknown stream type: ${_exhaustive}`);
450
+ }
451
+ }
353
452
  }
354
- function encodePublishNamespaceCancelPayload(msg, w) {
355
- w.writeTuple(msg.track_namespace);
356
- w.writeVarInt(msg.error_code);
357
- w.writeString(msg.reason_phrase);
453
+ function createSubgroupStreamDecoder() {
454
+ let buffer = new Uint8Array(0);
455
+ let offset = 0;
456
+ let headerEmitted = false;
457
+ let prevObjectId = -1n;
458
+ let firstObject = true;
459
+ let _subgroupIsFirstObjId = false;
460
+ let _extensionsPresent = false;
461
+ return new TransformStream({
462
+ transform(chunk, controller) {
463
+ if (offset > 0) {
464
+ buffer = buffer.subarray(offset);
465
+ offset = 0;
466
+ }
467
+ const newBuffer = new Uint8Array(buffer.length + chunk.length);
468
+ newBuffer.set(buffer, 0);
469
+ newBuffer.set(chunk, buffer.length);
470
+ buffer = newBuffer;
471
+ if (!headerEmitted) {
472
+ try {
473
+ const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(buffer.subarray(offset));
474
+ const streamType = Number(r.readVarInt());
475
+ if (!(streamType >= 16 && streamType <= 23 || streamType >= 48 && streamType <= 55)) {
476
+ controller.error(
477
+ new (0, _chunkJL3NEW3Ocjs.DecodeError)(
478
+ "CONSTRAINT_VIOLATION",
479
+ `Expected subgroup stream type, got 0x${streamType.toString(16)}`,
480
+ 0
481
+ )
482
+ );
483
+ return;
484
+ }
485
+ _extensionsPresent = (streamType & 1) !== 0;
486
+ const hasSubgroupField = (streamType & 4) !== 0;
487
+ _subgroupIsFirstObjId = false;
488
+ const hasPriority = streamType < 48;
489
+ const trackAlias = r.readVarInt();
490
+ const groupId = r.readVarInt();
491
+ let subgroupId = 0n;
492
+ if (hasSubgroupField) {
493
+ subgroupId = r.readVarInt();
494
+ }
495
+ let publisherPriority = 128;
496
+ if (hasPriority) {
497
+ publisherPriority = r.readUint8();
498
+ }
499
+ controller.enqueue({
500
+ type: "subgroup_header",
501
+ trackAlias,
502
+ groupId,
503
+ subgroupId,
504
+ publisherPriority
505
+ });
506
+ headerEmitted = true;
507
+ offset += r.offset;
508
+ } catch (e) {
509
+ if (e instanceof _chunkJL3NEW3Ocjs.DecodeError && e.code === "UNEXPECTED_END") {
510
+ return;
511
+ }
512
+ controller.error(e);
513
+ return;
514
+ }
515
+ }
516
+ while (offset < buffer.length) {
517
+ try {
518
+ const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(buffer.subarray(offset));
519
+ const byteOffset = r.offset;
520
+ const delta = r.readVarInt();
521
+ let objectId;
522
+ if (firstObject) {
523
+ objectId = delta;
524
+ firstObject = false;
525
+ } else {
526
+ objectId = prevObjectId + 1n + delta;
527
+ }
528
+ let extensionData = new Uint8Array(0);
529
+ if (_extensionsPresent) {
530
+ const extLen = Number(r.readVarInt());
531
+ extensionData = extLen > 0 ? r.readBytesView(extLen) : new Uint8Array(0);
532
+ }
533
+ const payloadLength = Number(r.readVarInt());
534
+ const payloadByteOffset = r.offset;
535
+ const payload = payloadLength > 0 ? r.readBytesView(payloadLength) : new Uint8Array(0);
536
+ controller.enqueue({
537
+ type: "object",
538
+ byteOffset,
539
+ payloadByteOffset,
540
+ objectId,
541
+ payloadLength,
542
+ extensionData,
543
+ payload
544
+ });
545
+ offset += r.offset;
546
+ prevObjectId = objectId;
547
+ } catch (e) {
548
+ if (e instanceof _chunkJL3NEW3Ocjs.DecodeError && e.code === "UNEXPECTED_END") {
549
+ break;
550
+ }
551
+ controller.error(e);
552
+ return;
553
+ }
554
+ }
555
+ },
556
+ flush(controller) {
557
+ if (offset < buffer.length) {
558
+ controller.error(new (0, _chunkJL3NEW3Ocjs.DecodeError)("UNEXPECTED_END", "Stream ended with incomplete data", 0));
559
+ }
560
+ }
561
+ });
358
562
  }
359
- function encodeSubscribeNamespacePayload(msg, w) {
360
- w.writeVarInt(msg.request_id);
361
- w.writeTuple(msg.namespace_prefix);
362
- encodeParams(msg.parameters, w);
563
+ function createFetchStreamDecoder() {
564
+ let buffer = new Uint8Array(0);
565
+ let offset = 0;
566
+ let headerEmitted = false;
567
+ return new TransformStream({
568
+ transform(chunk, controller) {
569
+ if (offset > 0) {
570
+ buffer = buffer.subarray(offset);
571
+ offset = 0;
572
+ }
573
+ const newBuffer = new Uint8Array(buffer.length + chunk.length);
574
+ newBuffer.set(buffer, 0);
575
+ newBuffer.set(chunk, buffer.length);
576
+ buffer = newBuffer;
577
+ if (!headerEmitted) {
578
+ try {
579
+ const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(buffer.subarray(offset));
580
+ const streamType = r.readVarInt();
581
+ if (streamType !== FETCH_STREAM_TYPE) {
582
+ controller.error(
583
+ new (0, _chunkJL3NEW3Ocjs.DecodeError)(
584
+ "CONSTRAINT_VIOLATION",
585
+ `Expected fetch stream type 0x05, got 0x${streamType.toString(16)}`,
586
+ 0
587
+ )
588
+ );
589
+ return;
590
+ }
591
+ const requestId = r.readVarInt();
592
+ controller.enqueue({ type: "fetch_header", requestId });
593
+ headerEmitted = true;
594
+ offset += r.offset;
595
+ } catch (e) {
596
+ if (e instanceof _chunkJL3NEW3Ocjs.DecodeError && e.code === "UNEXPECTED_END") {
597
+ return;
598
+ }
599
+ controller.error(e);
600
+ return;
601
+ }
602
+ }
603
+ while (offset < buffer.length) {
604
+ try {
605
+ const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(buffer.subarray(offset));
606
+ const flags = r.readUint8();
607
+ const objectIdPresent = (flags & 4) !== 0;
608
+ const groupIdPresent = (flags & 8) !== 0;
609
+ const priorityPresent = (flags & 16) !== 0;
610
+ const extensionsPresent = (flags & 32) !== 0;
611
+ const subgroupEncoding = flags & 3;
612
+ if (groupIdPresent) r.readVarInt();
613
+ if (subgroupEncoding === 3) r.readVarInt();
614
+ let objectId = 0n;
615
+ if (objectIdPresent) objectId = r.readVarInt();
616
+ if (priorityPresent) r.readUint8();
617
+ let extensionData = new Uint8Array(0);
618
+ if (extensionsPresent) {
619
+ const extLen = Number(r.readVarInt());
620
+ extensionData = extLen > 0 ? r.readBytesView(extLen) : new Uint8Array(0);
621
+ }
622
+ const payloadLength = Number(r.readVarInt());
623
+ const payloadByteOffset = r.offset;
624
+ const payload = payloadLength > 0 ? r.readBytesView(payloadLength) : new Uint8Array(0);
625
+ controller.enqueue({
626
+ type: "object",
627
+ objectId,
628
+ payloadLength,
629
+ extensionData,
630
+ payload,
631
+ byteOffset: 0,
632
+ payloadByteOffset
633
+ });
634
+ offset += r.offset;
635
+ } catch (e) {
636
+ if (e instanceof _chunkJL3NEW3Ocjs.DecodeError && e.code === "UNEXPECTED_END") {
637
+ break;
638
+ }
639
+ controller.error(e);
640
+ return;
641
+ }
642
+ }
643
+ },
644
+ flush(controller) {
645
+ if (offset < buffer.length) {
646
+ controller.error(new (0, _chunkJL3NEW3Ocjs.DecodeError)("UNEXPECTED_END", "Stream ended with incomplete data", 0));
647
+ }
648
+ }
649
+ });
363
650
  }
364
- function encodeUnsubscribeNamespacePayload(msg, w) {
365
- w.writeVarInt(msg.request_id);
651
+ function createDataStreamDecoder() {
652
+ let buffer = new Uint8Array(0);
653
+ let offset = 0;
654
+ let inner = null;
655
+ const _innerWriter = null;
656
+ const _innerReader = null;
657
+ return new TransformStream({
658
+ transform(chunk, controller) {
659
+ if (offset > 0) {
660
+ buffer = buffer.subarray(offset);
661
+ offset = 0;
662
+ }
663
+ const newBuffer = new Uint8Array(buffer.length + chunk.length);
664
+ newBuffer.set(buffer, 0);
665
+ newBuffer.set(chunk, buffer.length);
666
+ buffer = newBuffer;
667
+ if (inner === null) {
668
+ if (offset >= buffer.length) return;
669
+ const firstByte = buffer[offset];
670
+ if (firstByte >= 16 && firstByte <= 23 || firstByte >= 48 && firstByte <= 55) {
671
+ const decoder = createSubgroupStreamDecoder();
672
+ inner = decoder;
673
+ } else if (firstByte === 5) {
674
+ const decoder = createFetchStreamDecoder();
675
+ inner = decoder;
676
+ } else {
677
+ controller.error(
678
+ new (0, _chunkJL3NEW3Ocjs.DecodeError)(
679
+ "CONSTRAINT_VIOLATION",
680
+ `Unknown data stream type: 0x${firstByte.toString(16)}`,
681
+ 0
682
+ )
683
+ );
684
+ return;
685
+ }
686
+ }
687
+ },
688
+ flush(controller) {
689
+ if (offset >= buffer.length) return;
690
+ const view = buffer.subarray(offset);
691
+ const firstByte = view[0];
692
+ let result;
693
+ if (firstByte >= 16 && firstByte <= 23 || firstByte >= 48 && firstByte <= 55) {
694
+ result = decodeSubgroupStream(view);
695
+ } else if (firstByte === 5) {
696
+ result = decodeFetchStream(view);
697
+ } else {
698
+ controller.error(
699
+ new (0, _chunkJL3NEW3Ocjs.DecodeError)(
700
+ "CONSTRAINT_VIOLATION",
701
+ `Unknown data stream type: 0x${firstByte.toString(16)}`,
702
+ 0
703
+ )
704
+ );
705
+ return;
706
+ }
707
+ if (!result.ok) {
708
+ controller.error(result.error);
709
+ return;
710
+ }
711
+ const stream = result.value;
712
+ if (stream.type === "subgroup") {
713
+ controller.enqueue({
714
+ type: "subgroup_header",
715
+ trackAlias: stream.trackAlias,
716
+ groupId: stream.groupId,
717
+ subgroupId: stream.subgroupId,
718
+ publisherPriority: stream.publisherPriority
719
+ });
720
+ for (const obj of stream.objects) {
721
+ controller.enqueue(obj);
722
+ }
723
+ } else if (stream.type === "fetch") {
724
+ controller.enqueue({
725
+ type: "fetch_header",
726
+ requestId: stream.requestId
727
+ });
728
+ for (const obj of stream.objects) {
729
+ controller.enqueue(obj);
730
+ }
731
+ }
732
+ }
733
+ });
366
734
  }
367
- function encodeFetchPayload(msg, w) {
368
- w.writeVarInt(msg.request_id);
369
- w.writeVarInt(msg.fetch_type);
370
- const ft = Number(msg.fetch_type);
371
- if (ft === 1 && msg.standalone) {
372
- w.writeTuple(msg.standalone.track_namespace);
373
- w.writeString(msg.standalone.track_name);
374
- w.writeVarInt(msg.standalone.start_group);
375
- w.writeVarInt(msg.standalone.start_object);
376
- w.writeVarInt(msg.standalone.end_group);
377
- w.writeVarInt(msg.standalone.end_object);
378
- } else if ((ft === 2 || ft === 3) && msg.joining) {
379
- w.writeVarInt(msg.joining.joining_request_id);
380
- w.writeVarInt(msg.joining.joining_start);
735
+
736
+ // src/drafts/draft15/codec.ts
737
+ var textEncoder = /* @__PURE__ */ new TextEncoder();
738
+ var textDecoder = /* @__PURE__ */ new TextDecoder();
739
+ function encodeSetupParams(params, writer) {
740
+ let count = 0;
741
+ if (params.path !== void 0) count++;
742
+ if (params.max_request_id !== void 0) count++;
743
+ if (params.authorization_token !== void 0) count++;
744
+ if (params.max_auth_token_cache_size !== void 0) count++;
745
+ if (params.authority !== void 0) count++;
746
+ if (params.moqt_implementation !== void 0) count++;
747
+ if (params.unknown) count += params.unknown.length;
748
+ writer.writeVarInt(count);
749
+ if (params.path !== void 0) {
750
+ writer.writeVarInt(SETUP_PARAM_PATH);
751
+ const encoded = textEncoder.encode(params.path);
752
+ writer.writeVarInt(encoded.byteLength);
753
+ writer.writeBytes(encoded);
754
+ }
755
+ if (params.max_request_id !== void 0) {
756
+ writer.writeVarInt(SETUP_PARAM_MAX_REQUEST_ID);
757
+ writer.writeVarInt(params.max_request_id);
758
+ }
759
+ if (params.authorization_token !== void 0) {
760
+ writer.writeVarInt(SETUP_PARAM_AUTHORIZATION_TOKEN);
761
+ const tmpW = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(64);
762
+ encodeAuthorizationToken(params.authorization_token, tmpW);
763
+ const raw = tmpW.finish();
764
+ writer.writeVarInt(raw.byteLength);
765
+ writer.writeBytes(raw);
766
+ }
767
+ if (params.max_auth_token_cache_size !== void 0) {
768
+ writer.writeVarInt(SETUP_PARAM_MAX_AUTH_TOKEN_CACHE_SIZE);
769
+ writer.writeVarInt(params.max_auth_token_cache_size);
770
+ }
771
+ if (params.authority !== void 0) {
772
+ writer.writeVarInt(SETUP_PARAM_AUTHORITY);
773
+ const encoded = textEncoder.encode(params.authority);
774
+ writer.writeVarInt(encoded.byteLength);
775
+ writer.writeBytes(encoded);
776
+ }
777
+ if (params.moqt_implementation !== void 0) {
778
+ writer.writeVarInt(SETUP_PARAM_MOQT_IMPLEMENTATION);
779
+ const encoded = textEncoder.encode(params.moqt_implementation);
780
+ writer.writeVarInt(encoded.byteLength);
781
+ writer.writeBytes(encoded);
782
+ }
783
+ if (params.unknown) {
784
+ for (const u of params.unknown) {
785
+ const id = BigInt(u.id);
786
+ writer.writeVarInt(id);
787
+ if (id % 2n === 0n) {
788
+ const raw = _chunkJL3NEW3Ocjs.hexToBytes.call(void 0, u.raw_hex);
789
+ const tmpReader = new (0, _chunkJL3NEW3Ocjs.BufferReader)(raw);
790
+ const value = tmpReader.readVarInt();
791
+ writer.writeVarInt(value);
792
+ } else {
793
+ const raw = _chunkJL3NEW3Ocjs.hexToBytes.call(void 0, u.raw_hex);
794
+ writer.writeVarInt(raw.byteLength);
795
+ writer.writeBytes(raw);
796
+ }
797
+ }
381
798
  }
382
- encodeParams(msg.parameters, w);
383
- }
384
- function encodeFetchOkPayload(msg, w) {
385
- w.writeVarInt(msg.request_id);
386
- w.writeUint8(msg.end_of_track);
387
- w.writeVarInt(msg.end_group);
388
- w.writeVarInt(msg.end_object);
389
- encodeParams(msg.parameters, w);
390
- }
391
- function encodeFetchCancelPayload(msg, w) {
392
- w.writeVarInt(msg.request_id);
393
799
  }
394
- function encodeTrackStatusPayload(msg, w) {
800
+ function decodeSetupParams(reader) {
801
+ const count = Number(reader.readVarInt());
802
+ const result = {};
803
+ const unknown = [];
804
+ for (let i = 0; i < count; i++) {
805
+ const paramType = reader.readVarInt();
806
+ if (paramType % 2n === 0n) {
807
+ const value = reader.readVarInt();
808
+ if (paramType === SETUP_PARAM_MAX_REQUEST_ID) {
809
+ result.max_request_id = value;
810
+ } else if (paramType === SETUP_PARAM_MAX_AUTH_TOKEN_CACHE_SIZE) {
811
+ result.max_auth_token_cache_size = value;
812
+ } else {
813
+ const tmpWriter = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(16);
814
+ tmpWriter.writeVarInt(value);
815
+ const raw = tmpWriter.finish();
816
+ unknown.push({
817
+ id: `0x${paramType.toString(16)}`,
818
+ length: raw.byteLength,
819
+ raw_hex: _chunkJL3NEW3Ocjs.bytesToHex.call(void 0, raw)
820
+ });
821
+ }
822
+ } else {
823
+ const length = Number(reader.readVarInt());
824
+ const bytes = reader.readBytes(length);
825
+ if (paramType === SETUP_PARAM_PATH) {
826
+ result.path = textDecoder.decode(bytes);
827
+ } else if (paramType === SETUP_PARAM_AUTHORIZATION_TOKEN) {
828
+ result.authorization_token = decodeAuthorizationToken(new (0, _chunkJL3NEW3Ocjs.BufferReader)(bytes));
829
+ } else if (paramType === SETUP_PARAM_AUTHORITY) {
830
+ result.authority = textDecoder.decode(bytes);
831
+ } else if (paramType === SETUP_PARAM_MOQT_IMPLEMENTATION) {
832
+ result.moqt_implementation = textDecoder.decode(bytes);
833
+ } else {
834
+ unknown.push({
835
+ id: `0x${paramType.toString(16)}`,
836
+ length,
837
+ raw_hex: _chunkJL3NEW3Ocjs.bytesToHex.call(void 0, bytes)
838
+ });
839
+ }
840
+ }
841
+ }
842
+ if (unknown.length > 0) {
843
+ result.unknown = unknown;
844
+ }
845
+ return result;
846
+ }
847
+ function encodeAuthorizationToken(token, w) {
848
+ w.writeVarInt(token.alias_type);
849
+ const aliasType = Number(token.alias_type);
850
+ if (aliasType === 0 || aliasType === 1) {
851
+ w.writeVarInt(token.token_alias);
852
+ }
853
+ if (aliasType === 1 || aliasType === 3) {
854
+ w.writeVarInt(token.token_type);
855
+ const tokenBytes = _chunkJL3NEW3Ocjs.hexToBytes.call(void 0, token.token_value_hex);
856
+ w.writeBytes(tokenBytes);
857
+ }
858
+ }
859
+ function decodeAuthorizationToken(r) {
860
+ const alias_type = r.readVarInt();
861
+ const aliasType = Number(alias_type);
862
+ const result = { alias_type };
863
+ if (aliasType === 0 || aliasType === 1) {
864
+ result.token_alias = r.readVarInt();
865
+ }
866
+ if (aliasType === 1 || aliasType === 3) {
867
+ result.token_type = r.readVarInt();
868
+ const tokenBytes = r.readBytesView(r.remaining);
869
+ result.token_value_hex = _chunkJL3NEW3Ocjs.bytesToHex.call(void 0, tokenBytes);
870
+ }
871
+ return result;
872
+ }
873
+ var PARAM_DELIVERY_TIMEOUT = 0x02n;
874
+ var PARAM_AUTHORIZATION_TOKEN = 0x03n;
875
+ var PARAM_MAX_CACHE_DURATION = 0x04n;
876
+ var PARAM_EXPIRES = 0x08n;
877
+ var PARAM_LARGEST_OBJECT = 0x09n;
878
+ var PARAM_PUBLISHER_PRIORITY = 0x0en;
879
+ var PARAM_FORWARD = 0x10n;
880
+ var PARAM_SUBSCRIBER_PRIORITY = 0x20n;
881
+ var PARAM_SUBSCRIPTION_FILTER = 0x21n;
882
+ var PARAM_GROUP_ORDER = 0x22n;
883
+ var PARAM_DYNAMIC_GROUPS = 0x30n;
884
+ var PARAM_NEW_GROUP_REQUEST = 0x32n;
885
+ function encodeParams(params, writer) {
886
+ let count = params.unknown ? params.unknown.length : 0;
887
+ if (params.delivery_timeout !== void 0) count++;
888
+ if (params.authorization_token !== void 0) count++;
889
+ if (params.max_cache_duration !== void 0) count++;
890
+ if (params.expires !== void 0) count++;
891
+ if (params.largest_object !== void 0) count++;
892
+ if (params.publisher_priority !== void 0) count++;
893
+ if (params.forward !== void 0) count++;
894
+ if (params.subscriber_priority !== void 0) count++;
895
+ if (params.subscription_filter !== void 0) count++;
896
+ if (params.group_order !== void 0) count++;
897
+ if (params.dynamic_groups !== void 0) count++;
898
+ if (params.new_group_request !== void 0) count++;
899
+ writer.writeVarInt(count);
900
+ if (params.delivery_timeout !== void 0) {
901
+ writer.writeVarInt(PARAM_DELIVERY_TIMEOUT);
902
+ writer.writeVarInt(params.delivery_timeout);
903
+ }
904
+ if (params.authorization_token !== void 0) {
905
+ writer.writeVarInt(PARAM_AUTHORIZATION_TOKEN);
906
+ const tmpW = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(64);
907
+ encodeAuthorizationToken(params.authorization_token, tmpW);
908
+ const raw = tmpW.finish();
909
+ writer.writeVarInt(raw.byteLength);
910
+ writer.writeBytes(raw);
911
+ }
912
+ if (params.max_cache_duration !== void 0) {
913
+ writer.writeVarInt(PARAM_MAX_CACHE_DURATION);
914
+ writer.writeVarInt(params.max_cache_duration);
915
+ }
916
+ if (params.expires !== void 0) {
917
+ writer.writeVarInt(PARAM_EXPIRES);
918
+ writer.writeVarInt(params.expires);
919
+ }
920
+ if (params.largest_object !== void 0) {
921
+ writer.writeVarInt(PARAM_LARGEST_OBJECT);
922
+ const tmpW = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(16);
923
+ tmpW.writeVarInt(params.largest_object.group);
924
+ tmpW.writeVarInt(params.largest_object.object);
925
+ const raw = tmpW.finish();
926
+ writer.writeVarInt(raw.byteLength);
927
+ writer.writeBytes(raw);
928
+ }
929
+ if (params.publisher_priority !== void 0) {
930
+ writer.writeVarInt(PARAM_PUBLISHER_PRIORITY);
931
+ writer.writeVarInt(params.publisher_priority);
932
+ }
933
+ if (params.forward !== void 0) {
934
+ writer.writeVarInt(PARAM_FORWARD);
935
+ writer.writeVarInt(params.forward);
936
+ }
937
+ if (params.subscriber_priority !== void 0) {
938
+ writer.writeVarInt(PARAM_SUBSCRIBER_PRIORITY);
939
+ writer.writeVarInt(params.subscriber_priority);
940
+ }
941
+ if (params.subscription_filter !== void 0) {
942
+ writer.writeVarInt(PARAM_SUBSCRIPTION_FILTER);
943
+ const tmpW = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(32);
944
+ const f = params.subscription_filter;
945
+ tmpW.writeVarInt(f.filter_type);
946
+ if (f.filter_type === 3n || f.filter_type === 4n) {
947
+ tmpW.writeVarInt(f.start_group);
948
+ tmpW.writeVarInt(f.start_object);
949
+ }
950
+ if (f.filter_type === 4n) {
951
+ tmpW.writeVarInt(f.end_group);
952
+ }
953
+ const raw = tmpW.finish();
954
+ writer.writeVarInt(raw.byteLength);
955
+ writer.writeBytes(raw);
956
+ }
957
+ if (params.group_order !== void 0) {
958
+ writer.writeVarInt(PARAM_GROUP_ORDER);
959
+ writer.writeVarInt(params.group_order);
960
+ }
961
+ if (params.dynamic_groups !== void 0) {
962
+ writer.writeVarInt(PARAM_DYNAMIC_GROUPS);
963
+ writer.writeVarInt(params.dynamic_groups);
964
+ }
965
+ if (params.new_group_request !== void 0) {
966
+ writer.writeVarInt(PARAM_NEW_GROUP_REQUEST);
967
+ writer.writeVarInt(params.new_group_request);
968
+ }
969
+ if (params.unknown) {
970
+ for (const u of params.unknown) {
971
+ const id = BigInt(u.id);
972
+ writer.writeVarInt(id);
973
+ if (id % 2n === 0n) {
974
+ const raw = _chunkJL3NEW3Ocjs.hexToBytes.call(void 0, u.raw_hex);
975
+ const tmpReader = new (0, _chunkJL3NEW3Ocjs.BufferReader)(raw);
976
+ const value = tmpReader.readVarInt();
977
+ writer.writeVarInt(value);
978
+ } else {
979
+ const raw = _chunkJL3NEW3Ocjs.hexToBytes.call(void 0, u.raw_hex);
980
+ writer.writeVarInt(raw.byteLength);
981
+ writer.writeBytes(raw);
982
+ }
983
+ }
984
+ }
985
+ }
986
+ function decodeParams(reader) {
987
+ const count = Number(reader.readVarInt());
988
+ const result = {};
989
+ const unknown = [];
990
+ for (let i = 0; i < count; i++) {
991
+ const paramType = reader.readVarInt();
992
+ if (paramType === PARAM_DELIVERY_TIMEOUT) {
993
+ result.delivery_timeout = reader.readVarInt();
994
+ } else if (paramType === PARAM_AUTHORIZATION_TOKEN) {
995
+ const length = Number(reader.readVarInt());
996
+ const tokenBytes = reader.readBytes(length);
997
+ result.authorization_token = decodeAuthorizationToken(new (0, _chunkJL3NEW3Ocjs.BufferReader)(tokenBytes));
998
+ } else if (paramType === PARAM_MAX_CACHE_DURATION) {
999
+ result.max_cache_duration = reader.readVarInt();
1000
+ } else if (paramType === PARAM_EXPIRES) {
1001
+ result.expires = reader.readVarInt();
1002
+ } else if (paramType === PARAM_PUBLISHER_PRIORITY) {
1003
+ result.publisher_priority = reader.readVarInt();
1004
+ } else if (paramType === PARAM_FORWARD) {
1005
+ result.forward = reader.readVarInt();
1006
+ } else if (paramType === PARAM_SUBSCRIBER_PRIORITY) {
1007
+ result.subscriber_priority = reader.readVarInt();
1008
+ } else if (paramType === PARAM_GROUP_ORDER) {
1009
+ result.group_order = reader.readVarInt();
1010
+ } else if (paramType === PARAM_DYNAMIC_GROUPS) {
1011
+ result.dynamic_groups = reader.readVarInt();
1012
+ } else if (paramType === PARAM_NEW_GROUP_REQUEST) {
1013
+ result.new_group_request = reader.readVarInt();
1014
+ } else if (paramType === PARAM_LARGEST_OBJECT) {
1015
+ const length = Number(reader.readVarInt());
1016
+ const startOff = reader.offset;
1017
+ const group = reader.readVarInt();
1018
+ const object = reader.readVarInt();
1019
+ const consumed = reader.offset - startOff;
1020
+ if (consumed < length) reader.readBytes(length - consumed);
1021
+ result.largest_object = { group, object };
1022
+ } else if (paramType === PARAM_SUBSCRIPTION_FILTER) {
1023
+ const length = Number(reader.readVarInt());
1024
+ const startOff = reader.offset;
1025
+ const filter_type = reader.readVarInt();
1026
+ const filter = { filter_type };
1027
+ if (filter_type === 3n || filter_type === 4n) {
1028
+ filter.start_group = reader.readVarInt();
1029
+ filter.start_object = reader.readVarInt();
1030
+ }
1031
+ if (filter_type === 4n) {
1032
+ filter.end_group = reader.readVarInt();
1033
+ }
1034
+ const consumed = reader.offset - startOff;
1035
+ if (consumed < length) reader.readBytes(length - consumed);
1036
+ result.subscription_filter = filter;
1037
+ } else if (paramType % 2n === 0n) {
1038
+ const value = reader.readVarInt();
1039
+ const tmpWriter = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(16);
1040
+ tmpWriter.writeVarInt(value);
1041
+ const raw = tmpWriter.finish();
1042
+ unknown.push({
1043
+ id: `0x${paramType.toString(16)}`,
1044
+ length: raw.byteLength,
1045
+ raw_hex: _chunkJL3NEW3Ocjs.bytesToHex.call(void 0, raw)
1046
+ });
1047
+ } else {
1048
+ const length = Number(reader.readVarInt());
1049
+ const bytes = reader.readBytes(length);
1050
+ unknown.push({
1051
+ id: `0x${paramType.toString(16)}`,
1052
+ length,
1053
+ raw_hex: _chunkJL3NEW3Ocjs.bytesToHex.call(void 0, bytes)
1054
+ });
1055
+ }
1056
+ }
1057
+ if (unknown.length > 0) {
1058
+ result.unknown = unknown;
1059
+ }
1060
+ return result;
1061
+ }
1062
+ function encodeClientSetupPayload(msg, w) {
1063
+ encodeSetupParams(msg.parameters, w);
1064
+ }
1065
+ function encodeServerSetupPayload(msg, w) {
1066
+ encodeSetupParams(msg.parameters, w);
1067
+ }
1068
+ function encodeSubscribePayload(msg, w) {
395
1069
  w.writeVarInt(msg.request_id);
396
1070
  w.writeTuple(msg.track_namespace);
397
1071
  w.writeString(msg.track_name);
398
1072
  encodeParams(msg.parameters, w);
399
1073
  }
400
- function encodeRequestOkPayload(msg, w) {
1074
+ function encodeSubscribeOkPayload(msg, w) {
401
1075
  w.writeVarInt(msg.request_id);
1076
+ w.writeVarInt(msg.track_alias);
402
1077
  encodeParams(msg.parameters, w);
403
1078
  }
404
- function encodeRequestErrorPayload(msg, w) {
1079
+ function encodeSubscribeUpdatePayload(msg, w) {
405
1080
  w.writeVarInt(msg.request_id);
406
- w.writeVarInt(msg.error_code);
407
- w.writeString(msg.reason_phrase);
1081
+ w.writeVarInt(msg.subscription_request_id);
1082
+ encodeParams(msg.parameters, w);
408
1083
  }
409
- function encodeGoAwayPayload(msg, w) {
410
- w.writeString(msg.new_session_uri);
1084
+ function encodeUnsubscribePayload(msg, w) {
1085
+ w.writeVarInt(msg.request_id);
411
1086
  }
412
- function encodeMaxRequestIdPayload(msg, w) {
413
- w.writeVarInt(msg.max_request_id);
1087
+ function encodePublishPayload(msg, w) {
1088
+ w.writeVarInt(msg.request_id);
1089
+ w.writeTuple(msg.track_namespace);
1090
+ w.writeString(msg.track_name);
1091
+ w.writeVarInt(msg.track_alias);
1092
+ encodeParams(msg.parameters, w);
414
1093
  }
415
- function encodeRequestsBlockedPayload(msg, w) {
416
- w.writeVarInt(msg.maximum_request_id);
1094
+ function encodePublishOkPayload(msg, w) {
1095
+ w.writeVarInt(msg.request_id);
1096
+ encodeParams(msg.parameters, w);
417
1097
  }
418
- function decodeClientSetupPayload(r) {
419
- const parameters = decodeSetupParams(r);
420
- return { type: "client_setup", parameters };
1098
+ function encodePublishDonePayload(msg, w) {
1099
+ w.writeVarInt(msg.request_id);
1100
+ w.writeVarInt(msg.status_code);
1101
+ w.writeVarInt(msg.stream_count);
1102
+ w.writeString(msg.reason_phrase);
421
1103
  }
422
- function decodeServerSetupPayload(r) {
423
- const parameters = decodeSetupParams(r);
1104
+ function encodePublishNamespacePayload(msg, w) {
1105
+ w.writeVarInt(msg.request_id);
1106
+ w.writeTuple(msg.track_namespace);
1107
+ encodeParams(msg.parameters, w);
1108
+ }
1109
+ function encodePublishNamespaceDonePayload(msg, w) {
1110
+ w.writeTuple(msg.track_namespace);
1111
+ }
1112
+ function encodePublishNamespaceCancelPayload(msg, w) {
1113
+ w.writeTuple(msg.track_namespace);
1114
+ w.writeVarInt(msg.error_code);
1115
+ w.writeString(msg.reason_phrase);
1116
+ }
1117
+ function encodeSubscribeNamespacePayload(msg, w) {
1118
+ w.writeVarInt(msg.request_id);
1119
+ w.writeTuple(msg.namespace_prefix);
1120
+ encodeParams(msg.parameters, w);
1121
+ }
1122
+ function encodeUnsubscribeNamespacePayload(msg, w) {
1123
+ w.writeVarInt(msg.request_id);
1124
+ }
1125
+ function encodeFetchPayload(msg, w) {
1126
+ w.writeVarInt(msg.request_id);
1127
+ w.writeVarInt(msg.fetch_type);
1128
+ const ft = Number(msg.fetch_type);
1129
+ if (ft === 1 && msg.standalone) {
1130
+ w.writeTuple(msg.standalone.track_namespace);
1131
+ w.writeString(msg.standalone.track_name);
1132
+ w.writeVarInt(msg.standalone.start_group);
1133
+ w.writeVarInt(msg.standalone.start_object);
1134
+ w.writeVarInt(msg.standalone.end_group);
1135
+ w.writeVarInt(msg.standalone.end_object);
1136
+ } else if ((ft === 2 || ft === 3) && msg.joining) {
1137
+ w.writeVarInt(msg.joining.joining_request_id);
1138
+ w.writeVarInt(msg.joining.joining_start);
1139
+ }
1140
+ encodeParams(msg.parameters, w);
1141
+ }
1142
+ function encodeFetchOkPayload(msg, w) {
1143
+ w.writeVarInt(msg.request_id);
1144
+ w.writeUint8(msg.end_of_track);
1145
+ w.writeVarInt(msg.end_group);
1146
+ w.writeVarInt(msg.end_object);
1147
+ encodeParams(msg.parameters, w);
1148
+ }
1149
+ function encodeFetchCancelPayload(msg, w) {
1150
+ w.writeVarInt(msg.request_id);
1151
+ }
1152
+ function encodeTrackStatusPayload(msg, w) {
1153
+ w.writeVarInt(msg.request_id);
1154
+ w.writeTuple(msg.track_namespace);
1155
+ w.writeString(msg.track_name);
1156
+ encodeParams(msg.parameters, w);
1157
+ }
1158
+ function encodeRequestOkPayload(msg, w) {
1159
+ w.writeVarInt(msg.request_id);
1160
+ encodeParams(msg.parameters, w);
1161
+ }
1162
+ function encodeRequestErrorPayload(msg, w) {
1163
+ w.writeVarInt(msg.request_id);
1164
+ w.writeVarInt(msg.error_code);
1165
+ w.writeString(msg.reason_phrase);
1166
+ }
1167
+ function encodeGoAwayPayload(msg, w) {
1168
+ w.writeString(msg.new_session_uri);
1169
+ }
1170
+ function encodeMaxRequestIdPayload(msg, w) {
1171
+ w.writeVarInt(msg.max_request_id);
1172
+ }
1173
+ function encodeRequestsBlockedPayload(msg, w) {
1174
+ w.writeVarInt(msg.maximum_request_id);
1175
+ }
1176
+ function decodeClientSetupPayload(r) {
1177
+ const parameters = decodeSetupParams(r);
1178
+ return { type: "client_setup", parameters };
1179
+ }
1180
+ function decodeServerSetupPayload(r) {
1181
+ const parameters = decodeSetupParams(r);
424
1182
  return { type: "server_setup", parameters };
425
1183
  }
426
1184
  function decodeSubscribePayload(r) {
@@ -428,7 +1186,13 @@ function decodeSubscribePayload(r) {
428
1186
  const track_namespace = r.readTuple();
429
1187
  const track_name = r.readString();
430
1188
  const parameters = decodeParams(r);
431
- return { type: "subscribe", request_id, track_namespace, track_name, parameters };
1189
+ return {
1190
+ type: "subscribe",
1191
+ request_id,
1192
+ track_namespace,
1193
+ track_name,
1194
+ parameters
1195
+ };
432
1196
  }
433
1197
  function decodeSubscribeOkPayload(r) {
434
1198
  const request_id = r.readVarInt();
@@ -440,7 +1204,12 @@ function decodeSubscribeUpdatePayload(r) {
440
1204
  const request_id = r.readVarInt();
441
1205
  const subscription_request_id = r.readVarInt();
442
1206
  const parameters = decodeParams(r);
443
- return { type: "subscribe_update", request_id, subscription_request_id, parameters };
1207
+ return {
1208
+ type: "subscribe_update",
1209
+ request_id,
1210
+ subscription_request_id,
1211
+ parameters
1212
+ };
444
1213
  }
445
1214
  function decodeUnsubscribePayload(r) {
446
1215
  const request_id = r.readVarInt();
@@ -452,7 +1221,14 @@ function decodePublishPayload(r) {
452
1221
  const track_name = r.readString();
453
1222
  const track_alias = r.readVarInt();
454
1223
  const parameters = decodeParams(r);
455
- return { type: "publish", request_id, track_namespace, track_name, track_alias, parameters };
1224
+ return {
1225
+ type: "publish",
1226
+ request_id,
1227
+ track_namespace,
1228
+ track_name,
1229
+ track_alias,
1230
+ parameters
1231
+ };
456
1232
  }
457
1233
  function decodePublishOkPayload(r) {
458
1234
  const request_id = r.readVarInt();
@@ -464,7 +1240,13 @@ function decodePublishDonePayload(r) {
464
1240
  const status_code = r.readVarInt();
465
1241
  const stream_count = r.readVarInt();
466
1242
  const reason_phrase = r.readString();
467
- return { type: "publish_done", request_id, status_code, stream_count, reason_phrase };
1243
+ return {
1244
+ type: "publish_done",
1245
+ request_id,
1246
+ status_code,
1247
+ stream_count,
1248
+ reason_phrase
1249
+ };
468
1250
  }
469
1251
  function decodePublishNamespacePayload(r) {
470
1252
  const request_id = r.readVarInt();
@@ -480,13 +1262,23 @@ function decodePublishNamespaceCancelPayload(r) {
480
1262
  const track_namespace = r.readTuple();
481
1263
  const error_code = r.readVarInt();
482
1264
  const reason_phrase = r.readString();
483
- return { type: "publish_namespace_cancel", track_namespace, error_code, reason_phrase };
1265
+ return {
1266
+ type: "publish_namespace_cancel",
1267
+ track_namespace,
1268
+ error_code,
1269
+ reason_phrase
1270
+ };
484
1271
  }
485
1272
  function decodeSubscribeNamespacePayload(r) {
486
1273
  const request_id = r.readVarInt();
487
1274
  const namespace_prefix = r.readTuple();
488
1275
  const parameters = decodeParams(r);
489
- return { type: "subscribe_namespace", request_id, namespace_prefix, parameters };
1276
+ return {
1277
+ type: "subscribe_namespace",
1278
+ request_id,
1279
+ namespace_prefix,
1280
+ parameters
1281
+ };
490
1282
  }
491
1283
  function decodeUnsubscribeNamespacePayload(r) {
492
1284
  const request_id = r.readVarInt();
@@ -497,7 +1289,7 @@ function decodeFetchPayload(r) {
497
1289
  const fetch_type = r.readVarInt();
498
1290
  const ft = Number(fetch_type);
499
1291
  if (ft < 1 || ft > 3) {
500
- throw new (0, _chunkFWISIR26cjs.DecodeError)("CONSTRAINT_VIOLATION", `Invalid fetch_type: ${ft}`, r.offset);
1292
+ throw new (0, _chunkJL3NEW3Ocjs.DecodeError)("CONSTRAINT_VIOLATION", `Invalid fetch_type: ${ft}`, r.offset);
501
1293
  }
502
1294
  let standalone;
503
1295
  let joining;
@@ -508,7 +1300,14 @@ function decodeFetchPayload(r) {
508
1300
  const start_object = r.readVarInt();
509
1301
  const end_group = r.readVarInt();
510
1302
  const end_object = r.readVarInt();
511
- standalone = { track_namespace, track_name, start_group, start_object, end_group, end_object };
1303
+ standalone = {
1304
+ track_namespace,
1305
+ track_name,
1306
+ start_group,
1307
+ start_object,
1308
+ end_group,
1309
+ end_object
1310
+ };
512
1311
  } else {
513
1312
  const joining_request_id = r.readVarInt();
514
1313
  const joining_start = r.readVarInt();
@@ -530,7 +1329,14 @@ function decodeFetchOkPayload(r) {
530
1329
  const end_group = r.readVarInt();
531
1330
  const end_object = r.readVarInt();
532
1331
  const parameters = decodeParams(r);
533
- return { type: "fetch_ok", request_id, end_of_track, end_group, end_object, parameters };
1332
+ return {
1333
+ type: "fetch_ok",
1334
+ request_id,
1335
+ end_of_track,
1336
+ end_group,
1337
+ end_object,
1338
+ parameters
1339
+ };
534
1340
  }
535
1341
  function decodeFetchCancelPayload(r) {
536
1342
  const request_id = r.readVarInt();
@@ -541,7 +1347,13 @@ function decodeTrackStatusPayload(r) {
541
1347
  const track_namespace = r.readTuple();
542
1348
  const track_name = r.readString();
543
1349
  const parameters = decodeParams(r);
544
- return { type: "track_status", request_id, track_namespace, track_name, parameters };
1350
+ return {
1351
+ type: "track_status",
1352
+ request_id,
1353
+ track_namespace,
1354
+ track_name,
1355
+ parameters
1356
+ };
545
1357
  }
546
1358
  function decodeRequestOkPayload(r) {
547
1359
  const request_id = r.readVarInt();
@@ -596,13 +1408,13 @@ function encodeMessage(message) {
596
1408
  if (typeId === void 0) {
597
1409
  throw new Error(`Unknown message type: ${message.type}`);
598
1410
  }
599
- const payloadWriter = new (0, _chunkFWISIR26cjs.BufferWriter)();
1411
+ const payloadWriter = new (0, _chunkJL3NEW3Ocjs.BufferWriter)();
600
1412
  encodePayload(message, payloadWriter);
601
- const payload = payloadWriter.finish();
1413
+ const payload = payloadWriter.finishView();
602
1414
  if (payload.byteLength > 65535) {
603
1415
  throw new Error(`Payload too large for 16-bit length: ${payload.byteLength}`);
604
1416
  }
605
- const writer = new (0, _chunkFWISIR26cjs.BufferWriter)();
1417
+ const writer = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(payload.byteLength + 16);
606
1418
  writer.writeVarInt(typeId);
607
1419
  writer.writeUint8(payload.byteLength >> 8 & 255);
608
1420
  writer.writeUint8(payload.byteLength & 255);
@@ -647,374 +1459,66 @@ function encodePayload(msg, w) {
647
1459
  return encodeFetchCancelPayload(msg, w);
648
1460
  case "track_status":
649
1461
  return encodeTrackStatusPayload(msg, w);
650
- case "request_ok":
651
- return encodeRequestOkPayload(msg, w);
652
- case "request_error":
653
- return encodeRequestErrorPayload(msg, w);
654
- case "goaway":
655
- return encodeGoAwayPayload(msg, w);
656
- case "max_request_id":
657
- return encodeMaxRequestIdPayload(msg, w);
658
- case "requests_blocked":
659
- return encodeRequestsBlockedPayload(msg, w);
660
- default: {
661
- const _exhaustive = msg;
662
- throw new Error(`Unhandled message type: ${_exhaustive.type}`);
663
- }
664
- }
665
- }
666
- function decodeMessage(bytes) {
667
- try {
668
- const reader = new (0, _chunkFWISIR26cjs.BufferReader)(bytes);
669
- const typeId = reader.readVarInt();
670
- const lenHi = reader.readUint8();
671
- const lenLo = reader.readUint8();
672
- const payloadLength = lenHi << 8 | lenLo;
673
- const payloadBytes = reader.readBytes(payloadLength);
674
- const payloadReader = new (0, _chunkFWISIR26cjs.BufferReader)(payloadBytes);
675
- const decoder = payloadDecoders.get(typeId);
676
- if (!decoder) {
677
- return {
678
- ok: false,
679
- error: new (0, _chunkFWISIR26cjs.DecodeError)(
680
- "UNKNOWN_MESSAGE_TYPE",
681
- `Unknown message type ID: 0x${typeId.toString(16)}`,
682
- 0
683
- )
684
- };
685
- }
686
- const message = decoder(payloadReader);
687
- return { ok: true, value: message, bytesRead: reader.offset };
688
- } catch (e) {
689
- if (e instanceof _chunkFWISIR26cjs.DecodeError) {
690
- return { ok: false, error: e };
691
- }
692
- throw e;
693
- }
694
- }
695
- var FETCH_STREAM_TYPE = 0x05n;
696
- function encodeSubgroupStream(stream) {
697
- const w = new (0, _chunkFWISIR26cjs.BufferWriter)();
698
- const streamType = stream.headerType;
699
- w.writeVarInt(BigInt(streamType));
700
- const hasSubgroupField = (streamType & 4) !== 0;
701
- const hasPriority = streamType < 48;
702
- w.writeVarInt(stream.trackAlias);
703
- w.writeVarInt(stream.groupId);
704
- if (hasSubgroupField) {
705
- w.writeVarInt(stream.subgroupId);
706
- }
707
- if (hasPriority) {
708
- w.writeUint8(stream.publisherPriority);
709
- }
710
- let prevObjectId = -1n;
711
- for (const obj of stream.objects) {
712
- const delta = prevObjectId < 0n ? obj.objectId : obj.objectId - prevObjectId - 1n;
713
- w.writeVarInt(delta);
714
- w.writeVarInt(obj.payloadLength);
715
- if (obj.payloadLength === 0) {
716
- w.writeVarInt(_nullishCoalesce(obj.status, () => ( 0n)));
717
- } else {
718
- w.writeBytes(obj.payload);
719
- }
720
- prevObjectId = obj.objectId;
721
- }
722
- return w.finish();
723
- }
724
- function encodeDatagram(dg) {
725
- const w = new (0, _chunkFWISIR26cjs.BufferWriter)();
726
- const dgType = dg.datagramType;
727
- w.writeVarInt(BigInt(dgType));
728
- w.writeVarInt(dg.trackAlias);
729
- w.writeVarInt(dg.groupId);
730
- const objectIdAbsent = (dgType & 4) !== 0;
731
- const isStatus = (dgType & 32) !== 0;
732
- if (!objectIdAbsent) {
733
- w.writeVarInt(dg.objectId);
734
- }
735
- w.writeUint8(dg.publisherPriority);
736
- if (isStatus) {
737
- w.writeVarInt(_nullishCoalesce(dg.objectStatus, () => ( 0n)));
738
- } else {
739
- w.writeBytes(dg.payload);
740
- }
741
- return w.finish();
742
- }
743
- function encodeFetchStream(stream) {
744
- const w = new (0, _chunkFWISIR26cjs.BufferWriter)();
745
- w.writeVarInt(FETCH_STREAM_TYPE);
746
- w.writeVarInt(stream.requestId);
747
- for (const obj of stream.objects) {
748
- w.writeUint8(obj.serializationFlags);
749
- const flags = obj.serializationFlags;
750
- if (flags & 8) w.writeVarInt(obj.groupId);
751
- const subgroupEncoding = flags & 3;
752
- if (subgroupEncoding === 3) w.writeVarInt(obj.subgroupId);
753
- if (flags & 4) w.writeVarInt(obj.objectId);
754
- if (flags & 16) w.writeUint8(obj.publisherPriority);
755
- w.writeVarInt(obj.payloadLength);
756
- if (obj.payloadLength === 0) {
757
- w.writeVarInt(_nullishCoalesce(obj.status, () => ( 0n)));
758
- } else {
759
- w.writeBytes(obj.payload);
760
- }
761
- }
762
- return w.finish();
763
- }
764
- function decodeSubgroupStream(bytes) {
765
- try {
766
- const r = new (0, _chunkFWISIR26cjs.BufferReader)(bytes);
767
- const streamType = Number(r.readVarInt());
768
- if (!(streamType >= 16 && streamType <= 29 || streamType >= 48 && streamType <= 61)) {
769
- return {
770
- ok: false,
771
- error: new (0, _chunkFWISIR26cjs.DecodeError)(
772
- "CONSTRAINT_VIOLATION",
773
- `Expected subgroup stream type 0x10-0x1D or 0x30-0x3D, got 0x${streamType.toString(16)}`,
774
- 0
775
- )
776
- };
777
- }
778
- const hasSubgroupField = (streamType & 4) !== 0;
779
- const subgroupIsFirstObjId = (streamType & 2) !== 0 && !hasSubgroupField;
780
- const hasPriority = streamType < 48;
781
- const trackAlias = r.readVarInt();
782
- const groupId = r.readVarInt();
783
- let subgroupId = 0n;
784
- if (hasSubgroupField) {
785
- subgroupId = r.readVarInt();
786
- }
787
- let publisherPriority = 128;
788
- if (hasPriority) {
789
- publisherPriority = r.readUint8();
790
- }
791
- const objects = [];
792
- let prevObjectId = -1n;
793
- let firstObject = true;
794
- while (r.remaining > 0) {
795
- const delta = r.readVarInt();
796
- let objectId;
797
- if (firstObject) {
798
- objectId = delta;
799
- if (subgroupIsFirstObjId && firstObject) {
800
- subgroupId = objectId;
801
- }
802
- firstObject = false;
803
- } else {
804
- objectId = prevObjectId + 1n + delta;
805
- }
806
- const payloadLength = Number(r.readVarInt());
807
- let payload;
808
- let status;
809
- if (payloadLength === 0) {
810
- status = r.readVarInt();
811
- payload = new Uint8Array(0);
812
- } else {
813
- payload = r.readBytes(payloadLength);
814
- }
815
- const obj = { type: "object", objectId, payloadLength, payload };
816
- if (status !== void 0) obj.status = status;
817
- objects.push(obj);
818
- prevObjectId = objectId;
819
- }
820
- return {
821
- ok: true,
822
- value: {
823
- type: "subgroup",
824
- headerType: streamType,
825
- trackAlias,
826
- groupId,
827
- subgroupId,
828
- publisherPriority,
829
- objects
830
- },
831
- bytesRead: r.offset
832
- };
833
- } catch (e) {
834
- if (e instanceof _chunkFWISIR26cjs.DecodeError) return { ok: false, error: e };
835
- throw e;
836
- }
837
- }
838
- function decodeDatagram(bytes) {
839
- try {
840
- const r = new (0, _chunkFWISIR26cjs.BufferReader)(bytes);
841
- const dgType = Number(r.readVarInt());
842
- const objectIdAbsent = (dgType & 4) !== 0;
843
- const endOfGroup = (dgType & 2) !== 0;
844
- const isStatus = (dgType & 32) !== 0;
845
- const trackAlias = r.readVarInt();
846
- const groupId = r.readVarInt();
847
- let objectId = 0n;
848
- if (!objectIdAbsent) {
849
- objectId = r.readVarInt();
850
- }
851
- const publisherPriority = r.readUint8();
852
- let objectStatus;
853
- let payload;
854
- if (isStatus) {
855
- objectStatus = r.readVarInt();
856
- payload = new Uint8Array(0);
857
- } else {
858
- payload = r.readBytes(r.remaining);
859
- }
860
- const payloadLength = payload.byteLength;
861
- const result = {
862
- type: "datagram",
863
- datagramType: dgType,
864
- trackAlias,
865
- groupId,
866
- objectId,
867
- publisherPriority,
868
- payloadLength,
869
- payload
870
- };
871
- if (endOfGroup) result.endOfGroup = true;
872
- if (objectStatus !== void 0)
873
- result.objectStatus = objectStatus;
874
- return { ok: true, value: result, bytesRead: r.offset };
875
- } catch (e) {
876
- if (e instanceof _chunkFWISIR26cjs.DecodeError) return { ok: false, error: e };
877
- throw e;
878
- }
879
- }
880
- function decodeFetchStream(bytes) {
881
- try {
882
- const r = new (0, _chunkFWISIR26cjs.BufferReader)(bytes);
883
- const streamType = r.readVarInt();
884
- if (streamType !== FETCH_STREAM_TYPE) {
885
- return {
886
- ok: false,
887
- error: new (0, _chunkFWISIR26cjs.DecodeError)(
888
- "CONSTRAINT_VIOLATION",
889
- `Expected fetch stream type 0x05, got 0x${streamType.toString(16)}`,
890
- 0
891
- )
892
- };
893
- }
894
- const requestId = r.readVarInt();
895
- const objects = [];
896
- let prevGroupId = 0n;
897
- let prevSubgroupId = 0n;
898
- let prevObjectId = 0n;
899
- let prevPriority = 128;
900
- let first = true;
901
- while (r.remaining > 0) {
902
- const flags = r.readUint8();
903
- const subgroupEncoding = flags & 3;
904
- const objectIdPresent = (flags & 4) !== 0;
905
- const groupIdPresent = (flags & 8) !== 0;
906
- const priorityPresent = (flags & 16) !== 0;
907
- const extensionsPresent = (flags & 32) !== 0;
908
- if (flags & 192) {
909
- return {
910
- ok: false,
911
- error: new (0, _chunkFWISIR26cjs.DecodeError)(
912
- "CONSTRAINT_VIOLATION",
913
- "Reserved bits set in fetch object flags",
914
- r.offset
915
- )
916
- };
917
- }
918
- let groupId = prevGroupId;
919
- if (groupIdPresent) {
920
- groupId = r.readVarInt();
921
- } else if (first) {
922
- return {
923
- ok: false,
924
- error: new (0, _chunkFWISIR26cjs.DecodeError)(
925
- "CONSTRAINT_VIOLATION",
926
- "First fetch object must include groupId",
927
- r.offset
928
- )
929
- };
930
- }
931
- let subgroupId = prevSubgroupId;
932
- if (subgroupEncoding === 3) {
933
- subgroupId = r.readVarInt();
934
- } else if (subgroupEncoding === 0) {
935
- }
936
- let objectId = prevObjectId + 1n;
937
- if (objectIdPresent) {
938
- objectId = r.readVarInt();
939
- } else if (first) {
940
- return {
941
- ok: false,
942
- error: new (0, _chunkFWISIR26cjs.DecodeError)(
943
- "CONSTRAINT_VIOLATION",
944
- "First fetch object must include objectId",
945
- r.offset
946
- )
947
- };
948
- }
949
- if (priorityPresent) {
950
- prevPriority = r.readUint8();
951
- }
952
- if (extensionsPresent) {
953
- const extLen = Number(r.readVarInt());
954
- if (extLen > 0) {
955
- r.readBytes(extLen);
956
- }
957
- }
958
- const payloadLength = Number(r.readVarInt());
959
- let payload;
960
- let status;
961
- if (payloadLength > 0) {
962
- payload = r.readBytes(payloadLength);
963
- } else {
964
- status = r.readVarInt();
965
- payload = new Uint8Array(0);
966
- }
967
- const obj = {
968
- type: "object",
969
- serializationFlags: flags,
970
- groupId,
971
- subgroupId,
972
- objectId,
973
- publisherPriority: prevPriority,
974
- payloadLength,
975
- payload
976
- };
977
- if (status !== void 0) obj.status = status;
978
- objects.push(obj);
979
- prevGroupId = groupId;
980
- prevSubgroupId = subgroupId;
981
- prevObjectId = objectId;
982
- first = false;
1462
+ case "request_ok":
1463
+ return encodeRequestOkPayload(msg, w);
1464
+ case "request_error":
1465
+ return encodeRequestErrorPayload(msg, w);
1466
+ case "goaway":
1467
+ return encodeGoAwayPayload(msg, w);
1468
+ case "max_request_id":
1469
+ return encodeMaxRequestIdPayload(msg, w);
1470
+ case "requests_blocked":
1471
+ return encodeRequestsBlockedPayload(msg, w);
1472
+ default: {
1473
+ const _exhaustive = msg;
1474
+ throw new Error(`Unhandled message type: ${_exhaustive.type}`);
983
1475
  }
984
- return {
985
- ok: true,
986
- value: { type: "fetch", requestId, objects },
987
- bytesRead: r.offset
988
- };
989
- } catch (e) {
990
- if (e instanceof _chunkFWISIR26cjs.DecodeError) return { ok: false, error: e };
991
- throw e;
992
1476
  }
993
1477
  }
994
- function decodeDataStream(streamType, bytes) {
995
- switch (streamType) {
996
- case "subgroup":
997
- return decodeSubgroupStream(bytes);
998
- case "datagram":
999
- return decodeDatagram(bytes);
1000
- case "fetch":
1001
- return decodeFetchStream(bytes);
1002
- default: {
1003
- const _exhaustive = streamType;
1004
- throw new Error(`Unknown stream type: ${_exhaustive}`);
1478
+ function decodeMessage(bytes) {
1479
+ try {
1480
+ const reader = new (0, _chunkJL3NEW3Ocjs.BufferReader)(bytes);
1481
+ const typeId = reader.readVarInt();
1482
+ const lenHi = reader.readUint8();
1483
+ const lenLo = reader.readUint8();
1484
+ const payloadLength = lenHi << 8 | lenLo;
1485
+ const payloadBytes = reader.readBytes(payloadLength);
1486
+ const payloadReader = new (0, _chunkJL3NEW3Ocjs.BufferReader)(payloadBytes);
1487
+ const decoder = payloadDecoders.get(typeId);
1488
+ if (!decoder) {
1489
+ return {
1490
+ ok: false,
1491
+ error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
1492
+ "UNKNOWN_MESSAGE_TYPE",
1493
+ `Unknown message type ID: 0x${typeId.toString(16)}`,
1494
+ 0
1495
+ )
1496
+ };
1497
+ }
1498
+ const message = decoder(payloadReader);
1499
+ return { ok: true, value: message, bytesRead: reader.offset };
1500
+ } catch (e) {
1501
+ if (e instanceof _chunkJL3NEW3Ocjs.DecodeError) {
1502
+ return { ok: false, error: e };
1005
1503
  }
1504
+ throw e;
1006
1505
  }
1007
1506
  }
1008
1507
  function createStreamDecoder() {
1009
1508
  let buffer = new Uint8Array(0);
1509
+ let offset = 0;
1010
1510
  return new TransformStream({
1011
1511
  transform(chunk, controller) {
1512
+ if (offset > 0) {
1513
+ buffer = buffer.subarray(offset);
1514
+ offset = 0;
1515
+ }
1012
1516
  const newBuffer = new Uint8Array(buffer.length + chunk.length);
1013
1517
  newBuffer.set(buffer, 0);
1014
1518
  newBuffer.set(chunk, buffer.length);
1015
1519
  buffer = newBuffer;
1016
- while (buffer.length > 0) {
1017
- const result = decodeMessage(buffer);
1520
+ while (offset < buffer.length) {
1521
+ const result = decodeMessage(buffer.subarray(offset));
1018
1522
  if (!result.ok) {
1019
1523
  if (result.error.code === "UNEXPECTED_END") {
1020
1524
  break;
@@ -1023,260 +1527,21 @@ function createStreamDecoder() {
1023
1527
  return;
1024
1528
  }
1025
1529
  controller.enqueue(result.value);
1026
- buffer = buffer.slice(result.bytesRead);
1027
- }
1028
- },
1029
- flush(controller) {
1030
- if (buffer.length > 0) {
1031
- controller.error(
1032
- new (0, _chunkFWISIR26cjs.DecodeError)("UNEXPECTED_END", "Stream ended with incomplete message data", 0)
1033
- );
1034
- }
1035
- }
1036
- });
1037
- }
1038
- function createSubgroupStreamDecoder() {
1039
- let buffer = new Uint8Array(0);
1040
- let headerEmitted = false;
1041
- let prevObjectId = -1n;
1042
- let firstObject = true;
1043
- let _subgroupIsFirstObjId = false;
1044
- return new TransformStream({
1045
- transform(chunk, controller) {
1046
- const newBuffer = new Uint8Array(buffer.length + chunk.length);
1047
- newBuffer.set(buffer, 0);
1048
- newBuffer.set(chunk, buffer.length);
1049
- buffer = newBuffer;
1050
- if (!headerEmitted) {
1051
- try {
1052
- const r = new (0, _chunkFWISIR26cjs.BufferReader)(buffer);
1053
- const streamType = Number(r.readVarInt());
1054
- if (!(streamType >= 16 && streamType <= 29 || streamType >= 48 && streamType <= 61)) {
1055
- controller.error(
1056
- new (0, _chunkFWISIR26cjs.DecodeError)(
1057
- "CONSTRAINT_VIOLATION",
1058
- `Expected subgroup stream type, got 0x${streamType.toString(16)}`,
1059
- 0
1060
- )
1061
- );
1062
- return;
1063
- }
1064
- const hasSubgroupField = (streamType & 4) !== 0;
1065
- _subgroupIsFirstObjId = (streamType & 2) !== 0 && !hasSubgroupField;
1066
- const hasPriority = streamType < 48;
1067
- const trackAlias = r.readVarInt();
1068
- const groupId = r.readVarInt();
1069
- let subgroupId = 0n;
1070
- if (hasSubgroupField) {
1071
- subgroupId = r.readVarInt();
1072
- }
1073
- let publisherPriority = 128;
1074
- if (hasPriority) {
1075
- publisherPriority = r.readUint8();
1076
- }
1077
- controller.enqueue({
1078
- type: "subgroup_header",
1079
- trackAlias,
1080
- groupId,
1081
- subgroupId,
1082
- publisherPriority
1083
- });
1084
- headerEmitted = true;
1085
- buffer = buffer.slice(r.offset);
1086
- } catch (e) {
1087
- if (e instanceof _chunkFWISIR26cjs.DecodeError && e.code === "UNEXPECTED_END") {
1088
- return;
1089
- }
1090
- controller.error(e);
1091
- return;
1092
- }
1093
- }
1094
- while (buffer.length > 0) {
1095
- try {
1096
- const r = new (0, _chunkFWISIR26cjs.BufferReader)(buffer);
1097
- const delta = r.readVarInt();
1098
- let objectId;
1099
- if (firstObject) {
1100
- objectId = delta;
1101
- firstObject = false;
1102
- } else {
1103
- objectId = prevObjectId + 1n + delta;
1104
- }
1105
- const payloadLength = Number(r.readVarInt());
1106
- const payload = payloadLength > 0 ? r.readBytes(payloadLength) : new Uint8Array(0);
1107
- controller.enqueue({ type: "object", objectId, payloadLength, payload });
1108
- buffer = buffer.slice(r.offset);
1109
- prevObjectId = objectId;
1110
- } catch (e) {
1111
- if (e instanceof _chunkFWISIR26cjs.DecodeError && e.code === "UNEXPECTED_END") {
1112
- break;
1113
- }
1114
- controller.error(e);
1115
- return;
1116
- }
1117
- }
1118
- },
1119
- flush(controller) {
1120
- if (buffer.length > 0) {
1121
- controller.error(new (0, _chunkFWISIR26cjs.DecodeError)("UNEXPECTED_END", "Stream ended with incomplete data", 0));
1122
- }
1123
- }
1124
- });
1125
- }
1126
- function createFetchStreamDecoder() {
1127
- let buffer = new Uint8Array(0);
1128
- let headerEmitted = false;
1129
- return new TransformStream({
1130
- transform(chunk, controller) {
1131
- const newBuffer = new Uint8Array(buffer.length + chunk.length);
1132
- newBuffer.set(buffer, 0);
1133
- newBuffer.set(chunk, buffer.length);
1134
- buffer = newBuffer;
1135
- if (!headerEmitted) {
1136
- try {
1137
- const r = new (0, _chunkFWISIR26cjs.BufferReader)(buffer);
1138
- const streamType = r.readVarInt();
1139
- if (streamType !== FETCH_STREAM_TYPE) {
1140
- controller.error(
1141
- new (0, _chunkFWISIR26cjs.DecodeError)(
1142
- "CONSTRAINT_VIOLATION",
1143
- `Expected fetch stream type 0x05, got 0x${streamType.toString(16)}`,
1144
- 0
1145
- )
1146
- );
1147
- return;
1148
- }
1149
- const requestId = r.readVarInt();
1150
- controller.enqueue({ type: "fetch_header", requestId });
1151
- headerEmitted = true;
1152
- buffer = buffer.slice(r.offset);
1153
- } catch (e) {
1154
- if (e instanceof _chunkFWISIR26cjs.DecodeError && e.code === "UNEXPECTED_END") {
1155
- return;
1156
- }
1157
- controller.error(e);
1158
- return;
1159
- }
1160
- }
1161
- while (buffer.length > 0) {
1162
- try {
1163
- const r = new (0, _chunkFWISIR26cjs.BufferReader)(buffer);
1164
- const flags = r.readUint8();
1165
- const objectIdPresent = (flags & 4) !== 0;
1166
- const groupIdPresent = (flags & 8) !== 0;
1167
- const priorityPresent = (flags & 16) !== 0;
1168
- const extensionsPresent = (flags & 32) !== 0;
1169
- const subgroupEncoding = flags & 3;
1170
- if (groupIdPresent) r.readVarInt();
1171
- if (subgroupEncoding === 3) r.readVarInt();
1172
- let objectId = 0n;
1173
- if (objectIdPresent) objectId = r.readVarInt();
1174
- if (priorityPresent) r.readUint8();
1175
- if (extensionsPresent) {
1176
- const extLen = Number(r.readVarInt());
1177
- if (extLen > 0) r.readBytes(extLen);
1178
- }
1179
- const payloadLength = Number(r.readVarInt());
1180
- const payload = payloadLength > 0 ? r.readBytes(payloadLength) : new Uint8Array(0);
1181
- controller.enqueue({ type: "object", objectId, payloadLength, payload });
1182
- buffer = buffer.slice(r.offset);
1183
- } catch (e) {
1184
- if (e instanceof _chunkFWISIR26cjs.DecodeError && e.code === "UNEXPECTED_END") {
1185
- break;
1186
- }
1187
- controller.error(e);
1188
- return;
1189
- }
1190
- }
1191
- },
1192
- flush(controller) {
1193
- if (buffer.length > 0) {
1194
- controller.error(new (0, _chunkFWISIR26cjs.DecodeError)("UNEXPECTED_END", "Stream ended with incomplete data", 0));
1195
- }
1196
- }
1197
- });
1198
- }
1199
- function createDataStreamDecoder() {
1200
- let buffer = new Uint8Array(0);
1201
- let inner = null;
1202
- const _innerWriter = null;
1203
- const _innerReader = null;
1204
- return new TransformStream({
1205
- transform(chunk, controller) {
1206
- const newBuffer = new Uint8Array(buffer.length + chunk.length);
1207
- newBuffer.set(buffer, 0);
1208
- newBuffer.set(chunk, buffer.length);
1209
- buffer = newBuffer;
1210
- if (inner === null) {
1211
- if (buffer.length === 0) return;
1212
- const firstByte = buffer[0];
1213
- if (firstByte >= 16 && firstByte <= 29 || firstByte >= 48 && firstByte <= 61) {
1214
- const decoder = createSubgroupStreamDecoder();
1215
- inner = decoder;
1216
- } else if (firstByte === 5) {
1217
- const decoder = createFetchStreamDecoder();
1218
- inner = decoder;
1219
- } else {
1220
- controller.error(
1221
- new (0, _chunkFWISIR26cjs.DecodeError)(
1222
- "CONSTRAINT_VIOLATION",
1223
- `Unknown data stream type: 0x${firstByte.toString(16)}`,
1224
- 0
1225
- )
1226
- );
1227
- return;
1228
- }
1530
+ offset += result.bytesRead;
1229
1531
  }
1230
1532
  },
1231
1533
  flush(controller) {
1232
- if (buffer.length === 0) return;
1233
- const firstByte = buffer[0];
1234
- let result;
1235
- if (firstByte >= 16 && firstByte <= 29 || firstByte >= 48 && firstByte <= 61) {
1236
- result = decodeSubgroupStream(buffer);
1237
- } else if (firstByte === 5) {
1238
- result = decodeFetchStream(buffer);
1239
- } else {
1534
+ if (offset < buffer.length) {
1240
1535
  controller.error(
1241
- new (0, _chunkFWISIR26cjs.DecodeError)(
1242
- "CONSTRAINT_VIOLATION",
1243
- `Unknown data stream type: 0x${firstByte.toString(16)}`,
1244
- 0
1245
- )
1536
+ new (0, _chunkJL3NEW3Ocjs.DecodeError)("UNEXPECTED_END", "Stream ended with incomplete message data", 0)
1246
1537
  );
1247
- return;
1248
- }
1249
- if (!result.ok) {
1250
- controller.error(result.error);
1251
- return;
1252
- }
1253
- const stream = result.value;
1254
- if (stream.type === "subgroup") {
1255
- controller.enqueue({
1256
- type: "subgroup_header",
1257
- trackAlias: stream.trackAlias,
1258
- groupId: stream.groupId,
1259
- subgroupId: stream.subgroupId,
1260
- publisherPriority: stream.publisherPriority
1261
- });
1262
- for (const obj of stream.objects) {
1263
- controller.enqueue(obj);
1264
- }
1265
- } else if (stream.type === "fetch") {
1266
- controller.enqueue({
1267
- type: "fetch_header",
1268
- requestId: stream.requestId
1269
- });
1270
- for (const obj of stream.objects) {
1271
- controller.enqueue(obj);
1272
- }
1273
1538
  }
1274
1539
  }
1275
1540
  });
1276
1541
  }
1277
1542
  function createDraft15Codec() {
1278
1543
  return {
1279
- draft: "draft-ietf-moq-transport-15",
1544
+ draft: "15",
1280
1545
  encodeMessage,
1281
1546
  decodeMessage,
1282
1547
  encodeSubgroupStream,
@@ -1338,4 +1603,4 @@ function createDraft15Codec() {
1338
1603
 
1339
1604
 
1340
1605
 
1341
- exports.MSG_SUBSCRIBE_UPDATE = MSG_SUBSCRIBE_UPDATE; exports.MSG_SUBSCRIBE = MSG_SUBSCRIBE; exports.MSG_SUBSCRIBE_OK = MSG_SUBSCRIBE_OK; exports.MSG_REQUEST_ERROR = MSG_REQUEST_ERROR; exports.MSG_PUBLISH_NAMESPACE = MSG_PUBLISH_NAMESPACE; exports.MSG_REQUEST_OK = MSG_REQUEST_OK; exports.MSG_PUBLISH_NAMESPACE_DONE = MSG_PUBLISH_NAMESPACE_DONE; exports.MSG_UNSUBSCRIBE = MSG_UNSUBSCRIBE; exports.MSG_PUBLISH_DONE = MSG_PUBLISH_DONE; exports.MSG_PUBLISH_NAMESPACE_CANCEL = MSG_PUBLISH_NAMESPACE_CANCEL; exports.MSG_TRACK_STATUS = MSG_TRACK_STATUS; exports.MSG_GOAWAY = MSG_GOAWAY; exports.MSG_SUBSCRIBE_NAMESPACE = MSG_SUBSCRIBE_NAMESPACE; exports.MSG_UNSUBSCRIBE_NAMESPACE = MSG_UNSUBSCRIBE_NAMESPACE; exports.MSG_MAX_REQUEST_ID = MSG_MAX_REQUEST_ID; exports.MSG_FETCH = MSG_FETCH; exports.MSG_FETCH_CANCEL = MSG_FETCH_CANCEL; exports.MSG_FETCH_OK = MSG_FETCH_OK; exports.MSG_REQUESTS_BLOCKED = MSG_REQUESTS_BLOCKED; exports.MSG_PUBLISH = MSG_PUBLISH; exports.MSG_PUBLISH_OK = MSG_PUBLISH_OK; exports.MSG_CLIENT_SETUP = MSG_CLIENT_SETUP; exports.MSG_SERVER_SETUP = MSG_SERVER_SETUP; exports.SETUP_PARAM_PATH = SETUP_PARAM_PATH; exports.SETUP_PARAM_MAX_REQUEST_ID = SETUP_PARAM_MAX_REQUEST_ID; exports.SETUP_PARAM_MAX_AUTH_TOKEN_CACHE_SIZE = SETUP_PARAM_MAX_AUTH_TOKEN_CACHE_SIZE; exports.SETUP_PARAM_AUTHORITY = SETUP_PARAM_AUTHORITY; exports.SETUP_PARAM_MOQT_IMPLEMENTATION = SETUP_PARAM_MOQT_IMPLEMENTATION; exports.MESSAGE_TYPE_MAP = MESSAGE_TYPE_MAP; exports.MESSAGE_ID_MAP = MESSAGE_ID_MAP; exports.encodeMessage = encodeMessage; exports.decodeMessage = decodeMessage; exports.encodeSubgroupStream = encodeSubgroupStream; exports.encodeDatagram = encodeDatagram; exports.encodeFetchStream = encodeFetchStream; exports.decodeSubgroupStream = decodeSubgroupStream; exports.decodeDatagram = decodeDatagram; exports.decodeFetchStream = decodeFetchStream; exports.decodeDataStream = decodeDataStream; exports.createStreamDecoder = createStreamDecoder; exports.createSubgroupStreamDecoder = createSubgroupStreamDecoder; exports.createFetchStreamDecoder = createFetchStreamDecoder; exports.createDataStreamDecoder = createDataStreamDecoder; exports.createDraft15Codec = createDraft15Codec;
1606
+ exports.MSG_SUBSCRIBE_UPDATE = MSG_SUBSCRIBE_UPDATE; exports.MSG_SUBSCRIBE = MSG_SUBSCRIBE; exports.MSG_SUBSCRIBE_OK = MSG_SUBSCRIBE_OK; exports.MSG_REQUEST_ERROR = MSG_REQUEST_ERROR; exports.MSG_PUBLISH_NAMESPACE = MSG_PUBLISH_NAMESPACE; exports.MSG_REQUEST_OK = MSG_REQUEST_OK; exports.MSG_PUBLISH_NAMESPACE_DONE = MSG_PUBLISH_NAMESPACE_DONE; exports.MSG_UNSUBSCRIBE = MSG_UNSUBSCRIBE; exports.MSG_PUBLISH_DONE = MSG_PUBLISH_DONE; exports.MSG_PUBLISH_NAMESPACE_CANCEL = MSG_PUBLISH_NAMESPACE_CANCEL; exports.MSG_TRACK_STATUS = MSG_TRACK_STATUS; exports.MSG_GOAWAY = MSG_GOAWAY; exports.MSG_SUBSCRIBE_NAMESPACE = MSG_SUBSCRIBE_NAMESPACE; exports.MSG_UNSUBSCRIBE_NAMESPACE = MSG_UNSUBSCRIBE_NAMESPACE; exports.MSG_MAX_REQUEST_ID = MSG_MAX_REQUEST_ID; exports.MSG_FETCH = MSG_FETCH; exports.MSG_FETCH_CANCEL = MSG_FETCH_CANCEL; exports.MSG_FETCH_OK = MSG_FETCH_OK; exports.MSG_REQUESTS_BLOCKED = MSG_REQUESTS_BLOCKED; exports.MSG_PUBLISH = MSG_PUBLISH; exports.MSG_PUBLISH_OK = MSG_PUBLISH_OK; exports.MSG_CLIENT_SETUP = MSG_CLIENT_SETUP; exports.MSG_SERVER_SETUP = MSG_SERVER_SETUP; exports.SETUP_PARAM_PATH = SETUP_PARAM_PATH; exports.SETUP_PARAM_MAX_REQUEST_ID = SETUP_PARAM_MAX_REQUEST_ID; exports.SETUP_PARAM_MAX_AUTH_TOKEN_CACHE_SIZE = SETUP_PARAM_MAX_AUTH_TOKEN_CACHE_SIZE; exports.SETUP_PARAM_AUTHORITY = SETUP_PARAM_AUTHORITY; exports.SETUP_PARAM_MOQT_IMPLEMENTATION = SETUP_PARAM_MOQT_IMPLEMENTATION; exports.MESSAGE_TYPE_MAP = MESSAGE_TYPE_MAP; exports.MESSAGE_ID_MAP = MESSAGE_ID_MAP; exports.encodeSubgroupStream = encodeSubgroupStream; exports.encodeDatagram = encodeDatagram; exports.encodeFetchStream = encodeFetchStream; exports.decodeSubgroupStream = decodeSubgroupStream; exports.decodeDatagram = decodeDatagram; exports.decodeFetchStream = decodeFetchStream; exports.decodeDataStream = decodeDataStream; exports.createSubgroupStreamDecoder = createSubgroupStreamDecoder; exports.createFetchStreamDecoder = createFetchStreamDecoder; exports.createDataStreamDecoder = createDataStreamDecoder; exports.encodeMessage = encodeMessage; exports.decodeMessage = decodeMessage; exports.createStreamDecoder = createStreamDecoder; exports.createDraft15Codec = createDraft15Codec;