@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/draft16/messages.ts
8
10
  var MSG_REQUEST_UPDATE = 0x02n;
@@ -31,6 +33,7 @@ var MSG_CLIENT_SETUP = 0x20n;
31
33
  var MSG_SERVER_SETUP = 0x21n;
32
34
  var SETUP_PARAM_PATH = 0x01n;
33
35
  var SETUP_PARAM_MAX_REQUEST_ID = 0x02n;
36
+ var SETUP_PARAM_AUTHORIZATION_TOKEN = 0x03n;
34
37
  var SETUP_PARAM_MAX_AUTH_TOKEN_CACHE_SIZE = 0x04n;
35
38
  var SETUP_PARAM_AUTHORITY = 0x05n;
36
39
  var SETUP_PARAM_MOQT_IMPLEMENTATION = 0x07n;
@@ -64,978 +67,1599 @@ var MESSAGE_ID_MAP = new Map(
64
67
  [...MESSAGE_TYPE_MAP.entries()].map(([id, name]) => [name, id])
65
68
  );
66
69
 
67
- // src/drafts/draft16/codec.ts
68
- function bytesToHex(bytes) {
69
- let hex = "";
70
- for (let i = 0; i < bytes.byteLength; i++) {
71
- hex += bytes[i].toString(16).padStart(2, "0");
72
- }
73
- return hex;
74
- }
75
- function hexToBytes(hex) {
76
- const bytes = new Uint8Array(hex.length / 2);
77
- for (let i = 0; i < hex.length; i += 2) {
78
- bytes[i / 2] = parseInt(hex.substring(i, i + 2), 16);
70
+ // src/drafts/draft16/data-streams.ts
71
+ var FETCH_STREAM_TYPE = 0x05n;
72
+ function encodeSubgroupStream(stream) {
73
+ const w = new (0, _chunkJL3NEW3Ocjs.BufferWriter)();
74
+ const streamType = stream.headerType;
75
+ w.writeVarInt(BigInt(streamType));
76
+ const extensionsPresent = (streamType & 1) !== 0;
77
+ const hasSubgroupField = (streamType & 4) !== 0;
78
+ const hasPriority = streamType < 48;
79
+ w.writeVarInt(stream.trackAlias);
80
+ w.writeVarInt(stream.groupId);
81
+ if (hasSubgroupField) {
82
+ w.writeVarInt(stream.subgroupId);
79
83
  }
80
- return bytes;
81
- }
82
- function encodeSetupParams(params, writer) {
83
- let count = 0;
84
- if (params.path !== void 0) count++;
85
- if (params.max_request_id !== void 0) count++;
86
- if (params.max_auth_token_cache_size !== void 0) count++;
87
- if (params.authority !== void 0) count++;
88
- if (params.moqt_implementation !== void 0) count++;
89
- if (params.unknown) count += params.unknown.length;
90
- writer.writeVarInt(count);
91
- if (params.path !== void 0) {
92
- writer.writeVarInt(SETUP_PARAM_PATH);
93
- const encoded = new TextEncoder().encode(params.path);
94
- writer.writeVarInt(encoded.byteLength);
95
- writer.writeBytes(encoded);
84
+ if (hasPriority) {
85
+ w.writeUint8(stream.publisherPriority);
96
86
  }
97
- if (params.max_request_id !== void 0) {
98
- writer.writeVarInt(SETUP_PARAM_MAX_REQUEST_ID);
99
- writer.writeVarInt(params.max_request_id);
87
+ let prevObjectId = -1n;
88
+ for (const obj of stream.objects) {
89
+ const delta = prevObjectId < 0n ? obj.objectId : obj.objectId - prevObjectId - 1n;
90
+ w.writeVarInt(delta);
91
+ if (extensionsPresent) {
92
+ w.writeVarInt(BigInt(obj.extensionData.length));
93
+ if (obj.extensionData.length > 0) w.writeBytes(obj.extensionData);
94
+ }
95
+ w.writeVarInt(obj.payloadLength);
96
+ if (obj.payloadLength === 0) {
97
+ w.writeVarInt(_nullishCoalesce(obj.status, () => ( 0n)));
98
+ } else {
99
+ w.writeBytes(obj.payload);
100
+ }
101
+ prevObjectId = obj.objectId;
100
102
  }
101
- if (params.max_auth_token_cache_size !== void 0) {
102
- writer.writeVarInt(SETUP_PARAM_MAX_AUTH_TOKEN_CACHE_SIZE);
103
- writer.writeVarInt(params.max_auth_token_cache_size);
103
+ return w.finish();
104
+ }
105
+ function encodeDatagram(dg) {
106
+ const w = new (0, _chunkJL3NEW3Ocjs.BufferWriter)();
107
+ const dgType = dg.datagramType;
108
+ w.writeVarInt(BigInt(dgType));
109
+ w.writeVarInt(dg.trackAlias);
110
+ w.writeVarInt(dg.groupId);
111
+ const extensionsPresent = (dgType & 1) !== 0;
112
+ const objectIdAbsent = (dgType & 4) !== 0;
113
+ const defaultPriority = (dgType & 8) !== 0;
114
+ const isStatus = (dgType & 32) !== 0;
115
+ if (!objectIdAbsent) {
116
+ w.writeVarInt(dg.objectId);
104
117
  }
105
- if (params.authority !== void 0) {
106
- writer.writeVarInt(SETUP_PARAM_AUTHORITY);
107
- const encoded = new TextEncoder().encode(params.authority);
108
- writer.writeVarInt(encoded.byteLength);
109
- writer.writeBytes(encoded);
118
+ if (!defaultPriority) {
119
+ w.writeUint8(dg.publisherPriority);
110
120
  }
111
- if (params.moqt_implementation !== void 0) {
112
- writer.writeVarInt(SETUP_PARAM_MOQT_IMPLEMENTATION);
113
- const encoded = new TextEncoder().encode(params.moqt_implementation);
114
- writer.writeVarInt(encoded.byteLength);
115
- writer.writeBytes(encoded);
121
+ if (extensionsPresent) {
122
+ const extData = _nullishCoalesce(dg.extensionData, () => ( new Uint8Array(0)));
123
+ w.writeVarInt(BigInt(extData.length));
124
+ if (extData.length > 0) w.writeBytes(extData);
116
125
  }
117
- if (params.unknown) {
118
- for (const u of params.unknown) {
119
- const id = BigInt(u.id);
120
- writer.writeVarInt(id);
121
- if (id % 2n === 0n) {
122
- const raw = hexToBytes(u.raw_hex);
123
- const tmpReader = new (0, _chunkFWISIR26cjs.BufferReader)(raw);
124
- const value = tmpReader.readVarInt();
125
- writer.writeVarInt(value);
126
- } else {
127
- const raw = hexToBytes(u.raw_hex);
128
- writer.writeVarInt(raw.byteLength);
129
- writer.writeBytes(raw);
130
- }
131
- }
126
+ if (isStatus) {
127
+ w.writeVarInt(_nullishCoalesce(dg.objectStatus, () => ( 0n)));
128
+ } else {
129
+ w.writeBytes(dg.payload);
132
130
  }
131
+ return w.finish();
133
132
  }
134
- function decodeSetupParams(reader) {
135
- const count = Number(reader.readVarInt());
136
- const result = {};
137
- const unknown = [];
138
- for (let i = 0; i < count; i++) {
139
- const paramType = reader.readVarInt();
140
- if (paramType % 2n === 0n) {
141
- const value = reader.readVarInt();
142
- if (paramType === SETUP_PARAM_MAX_REQUEST_ID) {
143
- result.max_request_id = value;
144
- } else if (paramType === SETUP_PARAM_MAX_AUTH_TOKEN_CACHE_SIZE) {
145
- result.max_auth_token_cache_size = value;
146
- } else {
147
- const tmpWriter = new (0, _chunkFWISIR26cjs.BufferWriter)(16);
148
- tmpWriter.writeVarInt(value);
149
- const raw = tmpWriter.finish();
150
- unknown.push({
151
- id: `0x${paramType.toString(16)}`,
152
- length: raw.byteLength,
153
- raw_hex: bytesToHex(raw)
154
- });
155
- }
133
+ function encodeFetchStream(stream) {
134
+ const w = new (0, _chunkJL3NEW3Ocjs.BufferWriter)();
135
+ w.writeVarInt(FETCH_STREAM_TYPE);
136
+ w.writeVarInt(stream.requestId);
137
+ for (const obj of stream.objects) {
138
+ w.writeVarInt(BigInt(obj.serializationFlags));
139
+ const flags = obj.serializationFlags;
140
+ if (flags >= 128) {
141
+ w.writeVarInt(obj.groupId);
142
+ w.writeVarInt(obj.objectId);
143
+ w.writeVarInt(BigInt(obj.payloadLength));
156
144
  } else {
157
- const length = Number(reader.readVarInt());
158
- const bytes = reader.readBytes(length);
159
- if (paramType === SETUP_PARAM_PATH) {
160
- result.path = new TextDecoder().decode(bytes);
161
- } else if (paramType === SETUP_PARAM_AUTHORITY) {
162
- result.authority = new TextDecoder().decode(bytes);
163
- } else if (paramType === SETUP_PARAM_MOQT_IMPLEMENTATION) {
164
- result.moqt_implementation = new TextDecoder().decode(bytes);
165
- } else {
166
- unknown.push({
167
- id: `0x${paramType.toString(16)}`,
168
- length,
169
- raw_hex: bytesToHex(bytes)
170
- });
145
+ if (flags & 8) w.writeVarInt(obj.groupId);
146
+ const subgroupEncoding = flags & 3;
147
+ if (subgroupEncoding === 3) w.writeVarInt(obj.subgroupId);
148
+ if (flags & 4) w.writeVarInt(obj.objectId);
149
+ if (flags & 16) w.writeUint8(obj.publisherPriority);
150
+ if (flags & 32) {
151
+ w.writeVarInt(BigInt(obj.extensionData.length));
152
+ if (obj.extensionData.length > 0) w.writeBytes(obj.extensionData);
153
+ }
154
+ w.writeVarInt(BigInt(obj.payloadLength));
155
+ if (obj.payloadLength > 0) {
156
+ w.writeBytes(obj.payload);
171
157
  }
172
158
  }
173
159
  }
174
- if (unknown.length > 0) {
175
- result.unknown = unknown;
176
- }
177
- return result;
160
+ return w.finish();
178
161
  }
179
- var PARAM_EXPIRES = 0x08n;
180
- var PARAM_LARGEST_OBJECT = 0x09n;
181
- var PARAM_SUBSCRIBER_PRIORITY = 0x20n;
182
- var PARAM_SUBSCRIPTION_FILTER = 0x21n;
183
- var PARAM_GROUP_ORDER = 0x22n;
184
- function encodeParams(params, writer) {
185
- let count = params.unknown ? params.unknown.length : 0;
186
- if (params.expires !== void 0) count++;
187
- if (params.largest_object !== void 0) count++;
188
- if (params.subscriber_priority !== void 0) count++;
189
- if (params.subscription_filter !== void 0) count++;
190
- if (params.group_order !== void 0) count++;
191
- writer.writeVarInt(count);
192
- if (params.expires !== void 0) {
193
- writer.writeVarInt(PARAM_EXPIRES);
194
- writer.writeVarInt(params.expires);
195
- }
196
- if (params.largest_object !== void 0) {
197
- writer.writeVarInt(PARAM_LARGEST_OBJECT);
198
- const tmpW = new (0, _chunkFWISIR26cjs.BufferWriter)(16);
199
- tmpW.writeVarInt(params.largest_object.group);
200
- tmpW.writeVarInt(params.largest_object.object);
201
- const raw = tmpW.finish();
202
- writer.writeVarInt(raw.byteLength);
203
- writer.writeBytes(raw);
204
- }
205
- if (params.subscriber_priority !== void 0) {
206
- writer.writeVarInt(PARAM_SUBSCRIBER_PRIORITY);
207
- writer.writeVarInt(params.subscriber_priority);
208
- }
209
- if (params.subscription_filter !== void 0) {
210
- writer.writeVarInt(PARAM_SUBSCRIPTION_FILTER);
211
- const tmpW = new (0, _chunkFWISIR26cjs.BufferWriter)(32);
212
- const f = params.subscription_filter;
213
- tmpW.writeVarInt(f.filter_type);
214
- if (f.filter_type === 3n || f.filter_type === 4n) {
215
- tmpW.writeVarInt(f.start_group);
216
- tmpW.writeVarInt(f.start_object);
162
+ function decodeSubgroupStream(bytes) {
163
+ try {
164
+ const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(bytes);
165
+ const streamType = Number(r.readVarInt());
166
+ if (!(streamType >= 16 && streamType <= 31 || streamType >= 48 && streamType <= 63) || (streamType & 6) === 6) {
167
+ return {
168
+ ok: false,
169
+ error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
170
+ "CONSTRAINT_VIOLATION",
171
+ `Expected subgroup stream type 0x10-0x1F/0x30-0x3F, got 0x${streamType.toString(16)}`,
172
+ 0
173
+ )
174
+ };
217
175
  }
218
- if (f.filter_type === 4n) {
219
- tmpW.writeVarInt(f.end_group);
176
+ const extensionsPresent = (streamType & 1) !== 0;
177
+ const hasSubgroupField = (streamType & 4) !== 0;
178
+ const subgroupIsFirstObjId = (streamType & 2) !== 0 && !hasSubgroupField;
179
+ const endOfGroup = (streamType & 8) !== 0;
180
+ const hasPriority = streamType < 48;
181
+ const trackAlias = r.readVarInt();
182
+ const groupId = r.readVarInt();
183
+ let subgroupId = 0n;
184
+ if (hasSubgroupField) {
185
+ subgroupId = r.readVarInt();
220
186
  }
221
- const raw = tmpW.finish();
222
- writer.writeVarInt(raw.byteLength);
223
- writer.writeBytes(raw);
224
- }
225
- if (params.group_order !== void 0) {
226
- writer.writeVarInt(PARAM_GROUP_ORDER);
227
- writer.writeVarInt(params.group_order);
228
- }
229
- if (params.unknown) {
230
- for (const u of params.unknown) {
231
- const id = BigInt(u.id);
232
- writer.writeVarInt(id);
233
- if (id % 2n === 0n) {
234
- const raw = hexToBytes(u.raw_hex);
235
- const tmpReader = new (0, _chunkFWISIR26cjs.BufferReader)(raw);
236
- const value = tmpReader.readVarInt();
237
- writer.writeVarInt(value);
187
+ let publisherPriority = 128;
188
+ if (hasPriority) {
189
+ publisherPriority = r.readUint8();
190
+ }
191
+ const objects = [];
192
+ let prevObjectId = -1n;
193
+ let firstObject = true;
194
+ while (r.remaining > 0) {
195
+ const byteOffset = r.offset;
196
+ const delta = r.readVarInt();
197
+ let objectId;
198
+ if (firstObject) {
199
+ objectId = delta;
200
+ if (subgroupIsFirstObjId && firstObject) {
201
+ subgroupId = objectId;
202
+ }
203
+ firstObject = false;
238
204
  } else {
239
- const raw = hexToBytes(u.raw_hex);
240
- writer.writeVarInt(raw.byteLength);
241
- writer.writeBytes(raw);
205
+ objectId = prevObjectId + 1n + delta;
206
+ }
207
+ let extensionData = new Uint8Array(0);
208
+ if (extensionsPresent) {
209
+ const extLen = Number(r.readVarInt());
210
+ extensionData = extLen > 0 ? r.readBytesView(extLen) : new Uint8Array(0);
211
+ }
212
+ const payloadLength = Number(r.readVarInt());
213
+ let payload;
214
+ let status;
215
+ let payloadByteOffset;
216
+ if (payloadLength === 0) {
217
+ status = r.readVarInt();
218
+ payloadByteOffset = r.offset;
219
+ payload = new Uint8Array(0);
220
+ } else {
221
+ payloadByteOffset = r.offset;
222
+ payload = r.readBytesView(payloadLength);
242
223
  }
224
+ const obj = {
225
+ type: "object",
226
+ byteOffset,
227
+ payloadByteOffset,
228
+ objectId,
229
+ payloadLength,
230
+ extensionData,
231
+ payload
232
+ };
233
+ if (status !== void 0) obj.status = status;
234
+ objects.push(obj);
235
+ prevObjectId = objectId;
243
236
  }
237
+ const result = {
238
+ type: "subgroup",
239
+ headerType: streamType,
240
+ trackAlias,
241
+ groupId,
242
+ subgroupId,
243
+ publisherPriority,
244
+ objects
245
+ };
246
+ if (endOfGroup) result.endOfGroup = true;
247
+ return {
248
+ ok: true,
249
+ value: result,
250
+ bytesRead: r.offset
251
+ };
252
+ } catch (e) {
253
+ if (e instanceof _chunkJL3NEW3Ocjs.DecodeError) return { ok: false, error: e };
254
+ throw e;
244
255
  }
245
256
  }
246
- function decodeParams(reader) {
247
- const count = Number(reader.readVarInt());
248
- const result = {};
249
- const unknown = [];
250
- for (let i = 0; i < count; i++) {
251
- const paramType = reader.readVarInt();
252
- if (paramType === PARAM_EXPIRES) {
253
- result.expires = reader.readVarInt();
254
- } else if (paramType === PARAM_SUBSCRIBER_PRIORITY) {
255
- result.subscriber_priority = reader.readVarInt();
256
- } else if (paramType === PARAM_GROUP_ORDER) {
257
- result.group_order = reader.readVarInt();
258
- } else if (paramType === PARAM_LARGEST_OBJECT) {
259
- const length = Number(reader.readVarInt());
260
- const startOff = reader.offset;
261
- const group = reader.readVarInt();
262
- const object = reader.readVarInt();
263
- const consumed = reader.offset - startOff;
264
- if (consumed < length) reader.readBytes(length - consumed);
265
- result.largest_object = { group, object };
266
- } else if (paramType === PARAM_SUBSCRIPTION_FILTER) {
267
- const length = Number(reader.readVarInt());
268
- const startOff = reader.offset;
269
- const filter_type = reader.readVarInt();
270
- const filter = { filter_type };
271
- if (filter_type === 3n || filter_type === 4n) {
272
- filter.start_group = reader.readVarInt();
273
- filter.start_object = reader.readVarInt();
274
- }
275
- if (filter_type === 4n) {
276
- filter.end_group = reader.readVarInt();
277
- }
278
- const consumed = reader.offset - startOff;
279
- if (consumed < length) reader.readBytes(length - consumed);
280
- result.subscription_filter = filter;
281
- } else if (paramType % 2n === 0n) {
282
- const value = reader.readVarInt();
283
- const tmpWriter = new (0, _chunkFWISIR26cjs.BufferWriter)(16);
284
- tmpWriter.writeVarInt(value);
285
- const raw = tmpWriter.finish();
286
- unknown.push({
287
- id: `0x${paramType.toString(16)}`,
288
- length: raw.byteLength,
289
- raw_hex: bytesToHex(raw)
290
- });
257
+ function decodeDatagram(bytes) {
258
+ try {
259
+ const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(bytes);
260
+ const dgType = Number(r.readVarInt());
261
+ const extensionsPresent = (dgType & 1) !== 0;
262
+ const objectIdAbsent = (dgType & 4) !== 0;
263
+ const endOfGroup = (dgType & 2) !== 0;
264
+ const defaultPriority = (dgType & 8) !== 0;
265
+ const isStatus = (dgType & 32) !== 0;
266
+ const trackAlias = r.readVarInt();
267
+ const groupId = r.readVarInt();
268
+ let objectId = 0n;
269
+ if (!objectIdAbsent) {
270
+ objectId = r.readVarInt();
271
+ }
272
+ let publisherPriority = 128;
273
+ if (!defaultPriority) {
274
+ publisherPriority = r.readUint8();
275
+ }
276
+ let extensionData;
277
+ if (extensionsPresent) {
278
+ const extLen = Number(r.readVarInt());
279
+ extensionData = extLen > 0 ? r.readBytesView(extLen) : new Uint8Array(0);
280
+ }
281
+ let objectStatus;
282
+ let payload;
283
+ if (isStatus) {
284
+ objectStatus = r.readVarInt();
285
+ payload = new Uint8Array(0);
291
286
  } else {
292
- const length = Number(reader.readVarInt());
293
- const bytes = reader.readBytes(length);
294
- unknown.push({
295
- id: `0x${paramType.toString(16)}`,
296
- length,
297
- raw_hex: bytesToHex(bytes)
298
- });
287
+ payload = r.readBytesView(r.remaining);
299
288
  }
289
+ const payloadLength = payload.byteLength;
290
+ const result = {
291
+ type: "datagram",
292
+ datagramType: dgType,
293
+ trackAlias,
294
+ groupId,
295
+ objectId,
296
+ publisherPriority,
297
+ payloadLength,
298
+ payload
299
+ };
300
+ if (endOfGroup) result.endOfGroup = true;
301
+ if (objectStatus !== void 0)
302
+ result.objectStatus = objectStatus;
303
+ if (extensionData !== void 0)
304
+ result.extensionData = extensionData;
305
+ return { ok: true, value: result, bytesRead: r.offset };
306
+ } catch (e) {
307
+ if (e instanceof _chunkJL3NEW3Ocjs.DecodeError) return { ok: false, error: e };
308
+ throw e;
300
309
  }
301
- if (unknown.length > 0) {
302
- result.unknown = unknown;
303
- }
304
- return result;
305
- }
306
- function encodeClientSetupPayload(msg, w) {
307
- encodeSetupParams(msg.parameters, w);
308
- }
309
- function encodeServerSetupPayload(msg, w) {
310
- encodeSetupParams(msg.parameters, w);
311
- }
312
- function encodeSubscribePayload(msg, w) {
313
- w.writeVarInt(msg.request_id);
314
- w.writeTuple(msg.track_namespace);
315
- w.writeString(msg.track_name);
316
- encodeParams(msg.parameters, w);
317
- }
318
- function encodeSubscribeOkPayload(msg, w) {
319
- w.writeVarInt(msg.request_id);
320
- w.writeVarInt(msg.track_alias);
321
- encodeParams(msg.parameters, w);
322
- }
323
- function encodeRequestUpdatePayload(msg, w) {
324
- w.writeVarInt(msg.request_id);
325
- w.writeVarInt(msg.existing_request_id);
326
- encodeParams(msg.parameters, w);
327
- }
328
- function encodeUnsubscribePayload(msg, w) {
329
- w.writeVarInt(msg.request_id);
330
- }
331
- function encodePublishPayload(msg, w) {
332
- w.writeVarInt(msg.request_id);
333
- w.writeTuple(msg.track_namespace);
334
- w.writeString(msg.track_name);
335
- w.writeVarInt(msg.track_alias);
336
- encodeParams(msg.parameters, w);
337
- }
338
- function encodePublishOkPayload(msg, w) {
339
- w.writeVarInt(msg.request_id);
340
- encodeParams(msg.parameters, w);
341
- }
342
- function encodePublishDonePayload(msg, w) {
343
- w.writeVarInt(msg.request_id);
344
- w.writeVarInt(msg.status_code);
345
- w.writeVarInt(msg.stream_count);
346
- w.writeString(msg.reason_phrase);
347
- }
348
- function encodePublishNamespacePayload(msg, w) {
349
- w.writeVarInt(msg.request_id);
350
- w.writeTuple(msg.track_namespace);
351
- encodeParams(msg.parameters, w);
352
- }
353
- function encodePublishNamespaceDonePayload(msg, w) {
354
- w.writeVarInt(msg.request_id);
355
- }
356
- function encodePublishNamespaceCancelPayload(msg, w) {
357
- w.writeVarInt(msg.request_id);
358
- w.writeVarInt(msg.error_code);
359
- w.writeString(msg.reason_phrase);
360
- }
361
- function encodeSubscribeNamespacePayload(msg, w) {
362
- w.writeVarInt(msg.request_id);
363
- w.writeTuple(msg.namespace_prefix);
364
- w.writeVarInt(msg.subscribe_options);
365
- encodeParams(msg.parameters, w);
366
- }
367
- function encodeNamespacePayload(msg, w) {
368
- w.writeTuple(msg.namespace_suffix);
369
- }
370
- function encodeNamespaceDonePayload(msg, w) {
371
- w.writeTuple(msg.namespace_suffix);
372
310
  }
373
- function encodeFetchPayload(msg, w) {
374
- w.writeVarInt(msg.request_id);
375
- w.writeVarInt(msg.fetch_type);
376
- const ft = Number(msg.fetch_type);
377
- if (ft === 1 && msg.standalone) {
378
- w.writeTuple(msg.standalone.track_namespace);
379
- w.writeString(msg.standalone.track_name);
380
- w.writeVarInt(msg.standalone.start_group);
381
- w.writeVarInt(msg.standalone.start_object);
382
- w.writeVarInt(msg.standalone.end_group);
383
- w.writeVarInt(msg.standalone.end_object);
384
- } else if ((ft === 2 || ft === 3) && msg.joining) {
385
- w.writeVarInt(msg.joining.joining_request_id);
386
- w.writeVarInt(msg.joining.joining_start);
311
+ function decodeFetchStream(bytes) {
312
+ try {
313
+ const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(bytes);
314
+ const streamType = r.readVarInt();
315
+ if (streamType !== FETCH_STREAM_TYPE) {
316
+ return {
317
+ ok: false,
318
+ error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
319
+ "CONSTRAINT_VIOLATION",
320
+ `Expected fetch stream type 0x05, got 0x${streamType.toString(16)}`,
321
+ 0
322
+ )
323
+ };
324
+ }
325
+ const requestId = r.readVarInt();
326
+ const objects = [];
327
+ let prevGroupId = 0n;
328
+ let prevSubgroupId = 0n;
329
+ let prevObjectId = 0n;
330
+ let prevPriority = 128;
331
+ let first = true;
332
+ while (r.remaining > 0) {
333
+ const byteOffset = r.offset;
334
+ const flags = Number(r.readVarInt());
335
+ let groupId = prevGroupId;
336
+ let subgroupId = prevSubgroupId;
337
+ let objectId = prevObjectId + 1n;
338
+ let payloadLength;
339
+ let payload;
340
+ if (flags >= 128) {
341
+ if (flags !== 140 && flags !== 268) {
342
+ return {
343
+ ok: false,
344
+ error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
345
+ "CONSTRAINT_VIOLATION",
346
+ `Unknown serialization flags value: 0x${flags.toString(16)}`,
347
+ r.offset
348
+ )
349
+ };
350
+ }
351
+ groupId = r.readVarInt();
352
+ objectId = r.readVarInt();
353
+ payloadLength = Number(r.readVarInt());
354
+ const payloadByteOffset = r.offset;
355
+ payload = payloadLength > 0 ? r.readBytesView(payloadLength) : new Uint8Array(0);
356
+ objects.push({
357
+ type: "object",
358
+ byteOffset,
359
+ payloadByteOffset,
360
+ serializationFlags: flags,
361
+ groupId,
362
+ subgroupId,
363
+ objectId,
364
+ publisherPriority: prevPriority,
365
+ payloadLength,
366
+ extensionData: new Uint8Array(0),
367
+ payload
368
+ });
369
+ } else {
370
+ const datagramForwarding = (flags & 64) !== 0;
371
+ const subgroupEncoding = datagramForwarding ? -1 : flags & 3;
372
+ const objectIdPresent = (flags & 4) !== 0;
373
+ const groupIdPresent = (flags & 8) !== 0;
374
+ const priorityPresent = (flags & 16) !== 0;
375
+ const extensionsPresent = (flags & 32) !== 0;
376
+ if (groupIdPresent) {
377
+ groupId = r.readVarInt();
378
+ } else if (first) {
379
+ return {
380
+ ok: false,
381
+ error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
382
+ "CONSTRAINT_VIOLATION",
383
+ "First fetch object must include groupId",
384
+ r.offset
385
+ )
386
+ };
387
+ }
388
+ if (datagramForwarding) {
389
+ } else if (subgroupEncoding === 0) {
390
+ subgroupId = 0n;
391
+ } else if (subgroupEncoding === 1) {
392
+ if (first) {
393
+ return {
394
+ ok: false,
395
+ error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
396
+ "CONSTRAINT_VIOLATION",
397
+ "First fetch object cannot reference prior subgroupId",
398
+ r.offset
399
+ )
400
+ };
401
+ }
402
+ } else if (subgroupEncoding === 2) {
403
+ if (first) {
404
+ return {
405
+ ok: false,
406
+ error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
407
+ "CONSTRAINT_VIOLATION",
408
+ "First fetch object cannot reference prior subgroupId",
409
+ r.offset
410
+ )
411
+ };
412
+ }
413
+ subgroupId = prevSubgroupId + 1n;
414
+ } else {
415
+ subgroupId = r.readVarInt();
416
+ }
417
+ if (objectIdPresent) {
418
+ objectId = r.readVarInt();
419
+ } else if (first) {
420
+ return {
421
+ ok: false,
422
+ error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
423
+ "CONSTRAINT_VIOLATION",
424
+ "First fetch object must include objectId",
425
+ r.offset
426
+ )
427
+ };
428
+ }
429
+ if (priorityPresent) {
430
+ prevPriority = r.readUint8();
431
+ }
432
+ let extensionData = new Uint8Array(0);
433
+ if (extensionsPresent) {
434
+ const extLen = Number(r.readVarInt());
435
+ extensionData = extLen > 0 ? r.readBytesView(extLen) : new Uint8Array(0);
436
+ }
437
+ payloadLength = Number(r.readVarInt());
438
+ const payloadByteOffset = r.offset;
439
+ payload = payloadLength > 0 ? r.readBytesView(payloadLength) : new Uint8Array(0);
440
+ objects.push({
441
+ type: "object",
442
+ byteOffset,
443
+ payloadByteOffset,
444
+ serializationFlags: flags,
445
+ groupId,
446
+ subgroupId,
447
+ objectId,
448
+ publisherPriority: prevPriority,
449
+ payloadLength,
450
+ extensionData,
451
+ payload
452
+ });
453
+ }
454
+ prevGroupId = groupId;
455
+ prevSubgroupId = subgroupId;
456
+ prevObjectId = objectId;
457
+ first = false;
458
+ }
459
+ return {
460
+ ok: true,
461
+ value: { type: "fetch", requestId, objects },
462
+ bytesRead: r.offset
463
+ };
464
+ } catch (e) {
465
+ if (e instanceof _chunkJL3NEW3Ocjs.DecodeError) return { ok: false, error: e };
466
+ throw e;
387
467
  }
388
- encodeParams(msg.parameters, w);
389
- }
390
- function encodeFetchOkPayload(msg, w) {
391
- w.writeVarInt(msg.request_id);
392
- w.writeUint8(msg.end_of_track);
393
- w.writeVarInt(msg.end_group);
394
- w.writeVarInt(msg.end_object);
395
- encodeParams(msg.parameters, w);
396
468
  }
397
- function encodeFetchCancelPayload(msg, w) {
398
- w.writeVarInt(msg.request_id);
399
- }
400
- function encodeTrackStatusPayload(msg, w) {
401
- w.writeVarInt(msg.request_id);
402
- w.writeTuple(msg.track_namespace);
403
- w.writeString(msg.track_name);
404
- encodeParams(msg.parameters, w);
469
+ function decodeDataStream(streamType, bytes) {
470
+ switch (streamType) {
471
+ case "subgroup":
472
+ return decodeSubgroupStream(bytes);
473
+ case "datagram":
474
+ return decodeDatagram(bytes);
475
+ case "fetch":
476
+ return decodeFetchStream(bytes);
477
+ default: {
478
+ const _exhaustive = streamType;
479
+ throw new Error(`Unknown stream type: ${_exhaustive}`);
480
+ }
481
+ }
405
482
  }
406
- function encodeRequestOkPayload(msg, w) {
407
- w.writeVarInt(msg.request_id);
408
- encodeParams(msg.parameters, w);
409
- }
410
- function encodeRequestErrorPayload(msg, w) {
411
- w.writeVarInt(msg.request_id);
412
- w.writeVarInt(msg.error_code);
413
- w.writeVarInt(msg.retry_interval);
414
- w.writeString(msg.reason_phrase);
415
- }
416
- function encodeGoAwayPayload(msg, w) {
417
- w.writeString(msg.new_session_uri);
418
- }
419
- function encodeMaxRequestIdPayload(msg, w) {
420
- w.writeVarInt(msg.max_request_id);
421
- }
422
- function encodeRequestsBlockedPayload(msg, w) {
423
- w.writeVarInt(msg.maximum_request_id);
424
- }
425
- function decodeClientSetupPayload(r) {
426
- const parameters = decodeSetupParams(r);
427
- return { type: "client_setup", parameters };
428
- }
429
- function decodeServerSetupPayload(r) {
430
- const parameters = decodeSetupParams(r);
431
- return { type: "server_setup", parameters };
483
+ function createSubgroupStreamDecoder() {
484
+ let buffer = new Uint8Array(0);
485
+ let offset = 0;
486
+ let headerEmitted = false;
487
+ let prevObjectId = -1n;
488
+ let firstObject = true;
489
+ let _subgroupIsFirstObjId = false;
490
+ let _extensionsPresent = false;
491
+ return new TransformStream({
492
+ transform(chunk, controller) {
493
+ if (offset > 0) {
494
+ buffer = buffer.subarray(offset);
495
+ offset = 0;
496
+ }
497
+ const newBuffer = new Uint8Array(buffer.length + chunk.length);
498
+ newBuffer.set(buffer, 0);
499
+ newBuffer.set(chunk, buffer.length);
500
+ buffer = newBuffer;
501
+ if (!headerEmitted) {
502
+ try {
503
+ const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(buffer.subarray(offset));
504
+ const streamType = Number(r.readVarInt());
505
+ if (!(streamType >= 16 && streamType <= 31 || streamType >= 48 && streamType <= 63)) {
506
+ controller.error(
507
+ new (0, _chunkJL3NEW3Ocjs.DecodeError)(
508
+ "CONSTRAINT_VIOLATION",
509
+ `Expected subgroup stream type, got 0x${streamType.toString(16)}`,
510
+ 0
511
+ )
512
+ );
513
+ return;
514
+ }
515
+ _extensionsPresent = (streamType & 1) !== 0;
516
+ const hasSubgroupField = (streamType & 4) !== 0;
517
+ _subgroupIsFirstObjId = (streamType & 2) !== 0 && !hasSubgroupField;
518
+ const hasPriority = streamType < 48;
519
+ const trackAlias = r.readVarInt();
520
+ const groupId = r.readVarInt();
521
+ let subgroupId = 0n;
522
+ if (hasSubgroupField) {
523
+ subgroupId = r.readVarInt();
524
+ }
525
+ let publisherPriority = 128;
526
+ if (hasPriority) {
527
+ publisherPriority = r.readUint8();
528
+ }
529
+ controller.enqueue({
530
+ type: "subgroup_header",
531
+ trackAlias,
532
+ groupId,
533
+ subgroupId,
534
+ publisherPriority
535
+ });
536
+ headerEmitted = true;
537
+ offset += r.offset;
538
+ } catch (e) {
539
+ if (e instanceof _chunkJL3NEW3Ocjs.DecodeError && e.code === "UNEXPECTED_END") {
540
+ return;
541
+ }
542
+ controller.error(e);
543
+ return;
544
+ }
545
+ }
546
+ while (offset < buffer.length) {
547
+ try {
548
+ const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(buffer.subarray(offset));
549
+ const delta = r.readVarInt();
550
+ let objectId;
551
+ if (firstObject) {
552
+ objectId = delta;
553
+ firstObject = false;
554
+ } else {
555
+ objectId = prevObjectId + 1n + delta;
556
+ }
557
+ let extensionData = new Uint8Array(0);
558
+ if (_extensionsPresent) {
559
+ const extLen = Number(r.readVarInt());
560
+ extensionData = extLen > 0 ? r.readBytesView(extLen) : new Uint8Array(0);
561
+ }
562
+ const payloadLength = Number(r.readVarInt());
563
+ let payloadByteOffset;
564
+ let status;
565
+ if (payloadLength === 0) {
566
+ status = r.readVarInt();
567
+ payloadByteOffset = r.offset;
568
+ } else {
569
+ payloadByteOffset = r.offset;
570
+ }
571
+ const payload = payloadLength > 0 ? r.readBytesView(payloadLength) : new Uint8Array(0);
572
+ const obj = {
573
+ type: "object",
574
+ byteOffset: 0,
575
+ payloadByteOffset,
576
+ objectId,
577
+ payloadLength,
578
+ payload,
579
+ extensionData
580
+ };
581
+ if (status !== void 0) obj.status = status;
582
+ controller.enqueue(obj);
583
+ offset += r.offset;
584
+ prevObjectId = objectId;
585
+ } catch (e) {
586
+ if (e instanceof _chunkJL3NEW3Ocjs.DecodeError && e.code === "UNEXPECTED_END") {
587
+ break;
588
+ }
589
+ controller.error(e);
590
+ return;
591
+ }
592
+ }
593
+ },
594
+ flush(controller) {
595
+ if (offset < buffer.length) {
596
+ controller.error(new (0, _chunkJL3NEW3Ocjs.DecodeError)("UNEXPECTED_END", "Stream ended with incomplete data", 0));
597
+ }
598
+ }
599
+ });
432
600
  }
433
- function decodeSubscribePayload(r) {
434
- const request_id = r.readVarInt();
435
- const track_namespace = r.readTuple();
436
- const track_name = r.readString();
437
- const parameters = decodeParams(r);
438
- return { type: "subscribe", request_id, track_namespace, track_name, parameters };
601
+ function createFetchStreamDecoder() {
602
+ let buffer = new Uint8Array(0);
603
+ let offset = 0;
604
+ let headerEmitted = false;
605
+ return new TransformStream({
606
+ transform(chunk, controller) {
607
+ if (offset > 0) {
608
+ buffer = buffer.subarray(offset);
609
+ offset = 0;
610
+ }
611
+ const newBuffer = new Uint8Array(buffer.length + chunk.length);
612
+ newBuffer.set(buffer, 0);
613
+ newBuffer.set(chunk, buffer.length);
614
+ buffer = newBuffer;
615
+ if (!headerEmitted) {
616
+ try {
617
+ const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(buffer.subarray(offset));
618
+ const streamType = r.readVarInt();
619
+ if (streamType !== FETCH_STREAM_TYPE) {
620
+ controller.error(
621
+ new (0, _chunkJL3NEW3Ocjs.DecodeError)(
622
+ "CONSTRAINT_VIOLATION",
623
+ `Expected fetch stream type 0x05, got 0x${streamType.toString(16)}`,
624
+ 0
625
+ )
626
+ );
627
+ return;
628
+ }
629
+ const requestId = r.readVarInt();
630
+ controller.enqueue({ type: "fetch_header", requestId });
631
+ headerEmitted = true;
632
+ offset += r.offset;
633
+ } catch (e) {
634
+ if (e instanceof _chunkJL3NEW3Ocjs.DecodeError && e.code === "UNEXPECTED_END") {
635
+ return;
636
+ }
637
+ controller.error(e);
638
+ return;
639
+ }
640
+ }
641
+ while (offset < buffer.length) {
642
+ try {
643
+ const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(buffer.subarray(offset));
644
+ const flags = Number(r.readVarInt());
645
+ const objectIdPresent = (flags & 4) !== 0;
646
+ const groupIdPresent = (flags & 8) !== 0;
647
+ const priorityPresent = (flags & 16) !== 0;
648
+ const extensionsPresent = (flags & 32) !== 0;
649
+ const subgroupEncoding = flags & 3;
650
+ if (groupIdPresent) r.readVarInt();
651
+ if (subgroupEncoding === 3) r.readVarInt();
652
+ let objectId = 0n;
653
+ if (objectIdPresent) objectId = r.readVarInt();
654
+ if (priorityPresent) r.readUint8();
655
+ let extensionData = new Uint8Array(0);
656
+ if (extensionsPresent) {
657
+ const extLen = Number(r.readVarInt());
658
+ extensionData = extLen > 0 ? r.readBytesView(extLen) : new Uint8Array(0);
659
+ }
660
+ const payloadLength = Number(r.readVarInt());
661
+ const payloadByteOffset = r.offset;
662
+ const payload = payloadLength > 0 ? r.readBytesView(payloadLength) : new Uint8Array(0);
663
+ controller.enqueue({
664
+ type: "object",
665
+ byteOffset: 0,
666
+ payloadByteOffset,
667
+ objectId,
668
+ payloadLength,
669
+ payload,
670
+ extensionData
671
+ });
672
+ offset += r.offset;
673
+ } catch (e) {
674
+ if (e instanceof _chunkJL3NEW3Ocjs.DecodeError && e.code === "UNEXPECTED_END") {
675
+ break;
676
+ }
677
+ controller.error(e);
678
+ return;
679
+ }
680
+ }
681
+ },
682
+ flush(controller) {
683
+ if (offset < buffer.length) {
684
+ controller.error(new (0, _chunkJL3NEW3Ocjs.DecodeError)("UNEXPECTED_END", "Stream ended with incomplete data", 0));
685
+ }
686
+ }
687
+ });
439
688
  }
440
- function decodeSubscribeOkPayload(r) {
441
- const request_id = r.readVarInt();
442
- const track_alias = r.readVarInt();
443
- const parameters = decodeParams(r);
444
- return { type: "subscribe_ok", request_id, track_alias, parameters };
689
+ function createDataStreamDecoder() {
690
+ let buffer = new Uint8Array(0);
691
+ let offset = 0;
692
+ let inner = null;
693
+ return new TransformStream({
694
+ transform(chunk, controller) {
695
+ if (offset > 0) {
696
+ buffer = buffer.subarray(offset);
697
+ offset = 0;
698
+ }
699
+ const newBuffer = new Uint8Array(buffer.length + chunk.length);
700
+ newBuffer.set(buffer, 0);
701
+ newBuffer.set(chunk, buffer.length);
702
+ buffer = newBuffer;
703
+ if (inner === null) {
704
+ if (offset >= buffer.length) return;
705
+ const firstByte = buffer[offset];
706
+ if (firstByte >= 16 && firstByte <= 31 || firstByte >= 48 && firstByte <= 63) {
707
+ const decoder = createSubgroupStreamDecoder();
708
+ inner = decoder;
709
+ } else if (firstByte === 5) {
710
+ const decoder = createFetchStreamDecoder();
711
+ inner = decoder;
712
+ } else {
713
+ controller.error(
714
+ new (0, _chunkJL3NEW3Ocjs.DecodeError)(
715
+ "CONSTRAINT_VIOLATION",
716
+ `Unknown data stream type: 0x${firstByte.toString(16)}`,
717
+ 0
718
+ )
719
+ );
720
+ return;
721
+ }
722
+ }
723
+ },
724
+ flush(controller) {
725
+ if (offset >= buffer.length) return;
726
+ const view = buffer.subarray(offset);
727
+ const firstByte = view[0];
728
+ let result;
729
+ if (firstByte >= 16 && firstByte <= 31 || firstByte >= 48 && firstByte <= 63) {
730
+ result = decodeSubgroupStream(view);
731
+ } else if (firstByte === 5) {
732
+ result = decodeFetchStream(view);
733
+ } else {
734
+ controller.error(
735
+ new (0, _chunkJL3NEW3Ocjs.DecodeError)(
736
+ "CONSTRAINT_VIOLATION",
737
+ `Unknown data stream type: 0x${firstByte.toString(16)}`,
738
+ 0
739
+ )
740
+ );
741
+ return;
742
+ }
743
+ if (!result.ok) {
744
+ controller.error(result.error);
745
+ return;
746
+ }
747
+ const stream = result.value;
748
+ if (stream.type === "subgroup") {
749
+ controller.enqueue({
750
+ type: "subgroup_header",
751
+ trackAlias: stream.trackAlias,
752
+ groupId: stream.groupId,
753
+ subgroupId: stream.subgroupId,
754
+ publisherPriority: stream.publisherPriority
755
+ });
756
+ for (const obj of stream.objects) {
757
+ controller.enqueue(obj);
758
+ }
759
+ } else if (stream.type === "fetch") {
760
+ controller.enqueue({
761
+ type: "fetch_header",
762
+ requestId: stream.requestId
763
+ });
764
+ for (const obj of stream.objects) {
765
+ controller.enqueue(obj);
766
+ }
767
+ }
768
+ }
769
+ });
445
770
  }
446
- function decodeRequestUpdatePayload(r) {
447
- const request_id = r.readVarInt();
448
- const existing_request_id = r.readVarInt();
449
- const parameters = decodeParams(r);
450
- return { type: "request_update", request_id, existing_request_id, parameters };
771
+
772
+ // src/drafts/draft16/codec.ts
773
+ var textEncoder = /* @__PURE__ */ new TextEncoder();
774
+ var textDecoder = /* @__PURE__ */ new TextDecoder();
775
+ function encodeSetupParams(params, writer) {
776
+ let count = 0;
777
+ if (params.path !== void 0) count++;
778
+ if (params.max_request_id !== void 0) count++;
779
+ if (params.authorization_token !== void 0) count++;
780
+ if (params.max_auth_token_cache_size !== void 0) count++;
781
+ if (params.authority !== void 0) count++;
782
+ if (params.moqt_implementation !== void 0) count++;
783
+ if (params.unknown) count += params.unknown.length;
784
+ writer.writeVarInt(count);
785
+ if (params.path !== void 0) {
786
+ writer.writeVarInt(SETUP_PARAM_PATH);
787
+ const encoded = textEncoder.encode(params.path);
788
+ writer.writeVarInt(encoded.byteLength);
789
+ writer.writeBytes(encoded);
790
+ }
791
+ if (params.max_request_id !== void 0) {
792
+ writer.writeVarInt(SETUP_PARAM_MAX_REQUEST_ID);
793
+ writer.writeVarInt(params.max_request_id);
794
+ }
795
+ if (params.authorization_token !== void 0) {
796
+ writer.writeVarInt(SETUP_PARAM_AUTHORIZATION_TOKEN);
797
+ const tmpW = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(64);
798
+ encodeAuthorizationToken(params.authorization_token, tmpW);
799
+ const raw = tmpW.finish();
800
+ writer.writeVarInt(raw.byteLength);
801
+ writer.writeBytes(raw);
802
+ }
803
+ if (params.max_auth_token_cache_size !== void 0) {
804
+ writer.writeVarInt(SETUP_PARAM_MAX_AUTH_TOKEN_CACHE_SIZE);
805
+ writer.writeVarInt(params.max_auth_token_cache_size);
806
+ }
807
+ if (params.authority !== void 0) {
808
+ writer.writeVarInt(SETUP_PARAM_AUTHORITY);
809
+ const encoded = textEncoder.encode(params.authority);
810
+ writer.writeVarInt(encoded.byteLength);
811
+ writer.writeBytes(encoded);
812
+ }
813
+ if (params.moqt_implementation !== void 0) {
814
+ writer.writeVarInt(SETUP_PARAM_MOQT_IMPLEMENTATION);
815
+ const encoded = textEncoder.encode(params.moqt_implementation);
816
+ writer.writeVarInt(encoded.byteLength);
817
+ writer.writeBytes(encoded);
818
+ }
819
+ if (params.unknown) {
820
+ for (const u of params.unknown) {
821
+ const id = BigInt(u.id);
822
+ writer.writeVarInt(id);
823
+ if (id % 2n === 0n) {
824
+ const raw = _chunkJL3NEW3Ocjs.hexToBytes.call(void 0, u.raw_hex);
825
+ const tmpReader = new (0, _chunkJL3NEW3Ocjs.BufferReader)(raw);
826
+ const value = tmpReader.readVarInt();
827
+ writer.writeVarInt(value);
828
+ } else {
829
+ const raw = _chunkJL3NEW3Ocjs.hexToBytes.call(void 0, u.raw_hex);
830
+ writer.writeVarInt(raw.byteLength);
831
+ writer.writeBytes(raw);
832
+ }
833
+ }
834
+ }
451
835
  }
452
- function decodeUnsubscribePayload(r) {
453
- const request_id = r.readVarInt();
454
- return { type: "unsubscribe", request_id };
836
+ function decodeSetupParams(reader) {
837
+ const count = Number(reader.readVarInt());
838
+ const result = {};
839
+ const unknown = [];
840
+ for (let i = 0; i < count; i++) {
841
+ const paramType = reader.readVarInt();
842
+ if (paramType % 2n === 0n) {
843
+ const value = reader.readVarInt();
844
+ if (paramType === SETUP_PARAM_MAX_REQUEST_ID) {
845
+ result.max_request_id = value;
846
+ } else if (paramType === SETUP_PARAM_MAX_AUTH_TOKEN_CACHE_SIZE) {
847
+ result.max_auth_token_cache_size = value;
848
+ } else {
849
+ const tmpWriter = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(16);
850
+ tmpWriter.writeVarInt(value);
851
+ const raw = tmpWriter.finish();
852
+ unknown.push({
853
+ id: `0x${paramType.toString(16)}`,
854
+ length: raw.byteLength,
855
+ raw_hex: _chunkJL3NEW3Ocjs.bytesToHex.call(void 0, raw)
856
+ });
857
+ }
858
+ } else {
859
+ const length = Number(reader.readVarInt());
860
+ const bytes = reader.readBytes(length);
861
+ if (paramType === SETUP_PARAM_PATH) {
862
+ result.path = textDecoder.decode(bytes);
863
+ } else if (paramType === SETUP_PARAM_AUTHORIZATION_TOKEN) {
864
+ result.authorization_token = decodeAuthorizationToken(new (0, _chunkJL3NEW3Ocjs.BufferReader)(bytes));
865
+ } else if (paramType === SETUP_PARAM_AUTHORITY) {
866
+ result.authority = textDecoder.decode(bytes);
867
+ } else if (paramType === SETUP_PARAM_MOQT_IMPLEMENTATION) {
868
+ result.moqt_implementation = textDecoder.decode(bytes);
869
+ } else {
870
+ unknown.push({
871
+ id: `0x${paramType.toString(16)}`,
872
+ length,
873
+ raw_hex: _chunkJL3NEW3Ocjs.bytesToHex.call(void 0, bytes)
874
+ });
875
+ }
876
+ }
877
+ }
878
+ if (unknown.length > 0) {
879
+ result.unknown = unknown;
880
+ }
881
+ return result;
455
882
  }
456
- function decodePublishPayload(r) {
457
- const request_id = r.readVarInt();
458
- const track_namespace = r.readTuple();
459
- const track_name = r.readString();
460
- const track_alias = r.readVarInt();
461
- const parameters = decodeParams(r);
462
- return { type: "publish", request_id, track_namespace, track_name, track_alias, parameters };
883
+ function encodeAuthorizationToken(token, w) {
884
+ w.writeVarInt(token.alias_type);
885
+ const aliasType = Number(token.alias_type);
886
+ if (aliasType === 0 || aliasType === 1) {
887
+ w.writeVarInt(token.token_alias);
888
+ }
889
+ if (aliasType === 1 || aliasType === 3) {
890
+ w.writeVarInt(token.token_type);
891
+ const tokenBytes = _chunkJL3NEW3Ocjs.hexToBytes.call(void 0, token.token_value_hex);
892
+ w.writeBytes(tokenBytes);
893
+ }
463
894
  }
464
- function decodePublishOkPayload(r) {
465
- const request_id = r.readVarInt();
466
- const parameters = decodeParams(r);
467
- return { type: "publish_ok", request_id, parameters };
895
+ function decodeAuthorizationToken(r) {
896
+ const alias_type = r.readVarInt();
897
+ const aliasType = Number(alias_type);
898
+ const result = { alias_type };
899
+ if (aliasType === 0 || aliasType === 1) {
900
+ result.token_alias = r.readVarInt();
901
+ }
902
+ if (aliasType === 1 || aliasType === 3) {
903
+ result.token_type = r.readVarInt();
904
+ const tokenBytes = r.readBytesView(r.remaining);
905
+ result.token_value_hex = _chunkJL3NEW3Ocjs.bytesToHex.call(void 0, tokenBytes);
906
+ }
907
+ return result;
468
908
  }
469
- function decodePublishDonePayload(r) {
470
- const request_id = r.readVarInt();
471
- const status_code = r.readVarInt();
472
- const stream_count = r.readVarInt();
473
- const reason_phrase = r.readString();
474
- return { type: "publish_done", request_id, status_code, stream_count, reason_phrase };
909
+ var PARAM_DELIVERY_TIMEOUT = 0x02n;
910
+ var PARAM_AUTHORIZATION_TOKEN = 0x03n;
911
+ var PARAM_MAX_CACHE_DURATION = 0x04n;
912
+ var PARAM_EXPIRES = 0x08n;
913
+ var PARAM_LARGEST_OBJECT = 0x09n;
914
+ var PARAM_PUBLISHER_PRIORITY = 0x0en;
915
+ var PARAM_FORWARD = 0x10n;
916
+ var PARAM_SUBSCRIBER_PRIORITY = 0x20n;
917
+ var PARAM_SUBSCRIPTION_FILTER = 0x21n;
918
+ var PARAM_GROUP_ORDER = 0x22n;
919
+ var PARAM_DYNAMIC_GROUPS = 0x30n;
920
+ var PARAM_NEW_GROUP_REQUEST = 0x32n;
921
+ var TRACK_EXT_DELIVERY_TIMEOUT = 0x02n;
922
+ var TRACK_EXT_MAX_CACHE_DURATION = 0x04n;
923
+ var TRACK_EXT_DEFAULT_PUBLISHER_PRIORITY = 0x0en;
924
+ function encodeTrackExtensions(ext, writer) {
925
+ if (ext.delivery_timeout !== void 0) {
926
+ writer.writeVarInt(TRACK_EXT_DELIVERY_TIMEOUT);
927
+ writer.writeVarInt(ext.delivery_timeout);
928
+ }
929
+ if (ext.max_cache_duration !== void 0) {
930
+ writer.writeVarInt(TRACK_EXT_MAX_CACHE_DURATION);
931
+ writer.writeVarInt(ext.max_cache_duration);
932
+ }
933
+ if (ext.default_publisher_priority !== void 0) {
934
+ writer.writeVarInt(TRACK_EXT_DEFAULT_PUBLISHER_PRIORITY);
935
+ writer.writeVarInt(ext.default_publisher_priority);
936
+ }
937
+ if (ext.unknown) {
938
+ for (const u of ext.unknown) {
939
+ const id = BigInt(u.id);
940
+ writer.writeVarInt(id);
941
+ if (id % 2n === 0n) {
942
+ const raw = _chunkJL3NEW3Ocjs.hexToBytes.call(void 0, u.raw_hex);
943
+ const tmpReader = new (0, _chunkJL3NEW3Ocjs.BufferReader)(raw);
944
+ const value = tmpReader.readVarInt();
945
+ writer.writeVarInt(value);
946
+ } else {
947
+ const raw = _chunkJL3NEW3Ocjs.hexToBytes.call(void 0, u.raw_hex);
948
+ writer.writeVarInt(raw.byteLength);
949
+ writer.writeBytes(raw);
950
+ }
951
+ }
952
+ }
475
953
  }
476
- function decodePublishNamespacePayload(r) {
477
- const request_id = r.readVarInt();
478
- const track_namespace = r.readTuple();
479
- const parameters = decodeParams(r);
480
- return { type: "publish_namespace", request_id, track_namespace, parameters };
954
+ function decodeTrackExtensions(reader) {
955
+ const result = {};
956
+ const unknown = [];
957
+ while (reader.remaining > 0) {
958
+ const extType = reader.readVarInt();
959
+ if (extType === TRACK_EXT_DELIVERY_TIMEOUT) {
960
+ result.delivery_timeout = reader.readVarInt();
961
+ } else if (extType === TRACK_EXT_MAX_CACHE_DURATION) {
962
+ result.max_cache_duration = reader.readVarInt();
963
+ } else if (extType === TRACK_EXT_DEFAULT_PUBLISHER_PRIORITY) {
964
+ result.default_publisher_priority = reader.readVarInt();
965
+ } else if (extType % 2n === 0n) {
966
+ const value = reader.readVarInt();
967
+ const tmpWriter = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(16);
968
+ tmpWriter.writeVarInt(value);
969
+ const raw = tmpWriter.finish();
970
+ unknown.push({
971
+ id: `0x${extType.toString(16)}`,
972
+ length: raw.byteLength,
973
+ raw_hex: _chunkJL3NEW3Ocjs.bytesToHex.call(void 0, raw)
974
+ });
975
+ } else {
976
+ const length = Number(reader.readVarInt());
977
+ const bytes = reader.readBytes(length);
978
+ unknown.push({
979
+ id: `0x${extType.toString(16)}`,
980
+ length,
981
+ raw_hex: _chunkJL3NEW3Ocjs.bytesToHex.call(void 0, bytes)
982
+ });
983
+ }
984
+ }
985
+ if (unknown.length > 0) {
986
+ result.unknown = unknown;
987
+ }
988
+ return result;
481
989
  }
482
- function decodePublishNamespaceDonePayload(r) {
483
- const request_id = r.readVarInt();
484
- return { type: "publish_namespace_done", request_id };
990
+ function encodeParams(params, writer) {
991
+ let count = params.unknown ? params.unknown.length : 0;
992
+ if (params.delivery_timeout !== void 0) count++;
993
+ if (params.authorization_token !== void 0) count++;
994
+ if (params.max_cache_duration !== void 0) count++;
995
+ if (params.expires !== void 0) count++;
996
+ if (params.largest_object !== void 0) count++;
997
+ if (params.publisher_priority !== void 0) count++;
998
+ if (params.forward !== void 0) count++;
999
+ if (params.subscriber_priority !== void 0) count++;
1000
+ if (params.subscription_filter !== void 0) count++;
1001
+ if (params.group_order !== void 0) count++;
1002
+ if (params.dynamic_groups !== void 0) count++;
1003
+ if (params.new_group_request !== void 0) count++;
1004
+ writer.writeVarInt(count);
1005
+ if (params.delivery_timeout !== void 0) {
1006
+ writer.writeVarInt(PARAM_DELIVERY_TIMEOUT);
1007
+ writer.writeVarInt(params.delivery_timeout);
1008
+ }
1009
+ if (params.authorization_token !== void 0) {
1010
+ writer.writeVarInt(PARAM_AUTHORIZATION_TOKEN);
1011
+ const tmpW = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(64);
1012
+ encodeAuthorizationToken(params.authorization_token, tmpW);
1013
+ const raw = tmpW.finish();
1014
+ writer.writeVarInt(raw.byteLength);
1015
+ writer.writeBytes(raw);
1016
+ }
1017
+ if (params.max_cache_duration !== void 0) {
1018
+ writer.writeVarInt(PARAM_MAX_CACHE_DURATION);
1019
+ writer.writeVarInt(params.max_cache_duration);
1020
+ }
1021
+ if (params.expires !== void 0) {
1022
+ writer.writeVarInt(PARAM_EXPIRES);
1023
+ writer.writeVarInt(params.expires);
1024
+ }
1025
+ if (params.largest_object !== void 0) {
1026
+ writer.writeVarInt(PARAM_LARGEST_OBJECT);
1027
+ const tmpW = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(16);
1028
+ tmpW.writeVarInt(params.largest_object.group);
1029
+ tmpW.writeVarInt(params.largest_object.object);
1030
+ const raw = tmpW.finish();
1031
+ writer.writeVarInt(raw.byteLength);
1032
+ writer.writeBytes(raw);
1033
+ }
1034
+ if (params.publisher_priority !== void 0) {
1035
+ writer.writeVarInt(PARAM_PUBLISHER_PRIORITY);
1036
+ writer.writeVarInt(params.publisher_priority);
1037
+ }
1038
+ if (params.forward !== void 0) {
1039
+ writer.writeVarInt(PARAM_FORWARD);
1040
+ writer.writeVarInt(params.forward);
1041
+ }
1042
+ if (params.subscriber_priority !== void 0) {
1043
+ writer.writeVarInt(PARAM_SUBSCRIBER_PRIORITY);
1044
+ writer.writeVarInt(params.subscriber_priority);
1045
+ }
1046
+ if (params.subscription_filter !== void 0) {
1047
+ writer.writeVarInt(PARAM_SUBSCRIPTION_FILTER);
1048
+ const tmpW = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(32);
1049
+ const f = params.subscription_filter;
1050
+ tmpW.writeVarInt(f.filter_type);
1051
+ if (f.filter_type === 3n || f.filter_type === 4n) {
1052
+ tmpW.writeVarInt(f.start_group);
1053
+ tmpW.writeVarInt(f.start_object);
1054
+ }
1055
+ if (f.filter_type === 4n) {
1056
+ tmpW.writeVarInt(f.end_group);
1057
+ }
1058
+ const raw = tmpW.finish();
1059
+ writer.writeVarInt(raw.byteLength);
1060
+ writer.writeBytes(raw);
1061
+ }
1062
+ if (params.group_order !== void 0) {
1063
+ writer.writeVarInt(PARAM_GROUP_ORDER);
1064
+ writer.writeVarInt(params.group_order);
1065
+ }
1066
+ if (params.dynamic_groups !== void 0) {
1067
+ writer.writeVarInt(PARAM_DYNAMIC_GROUPS);
1068
+ writer.writeVarInt(params.dynamic_groups);
1069
+ }
1070
+ if (params.new_group_request !== void 0) {
1071
+ writer.writeVarInt(PARAM_NEW_GROUP_REQUEST);
1072
+ writer.writeVarInt(params.new_group_request);
1073
+ }
1074
+ if (params.unknown) {
1075
+ for (const u of params.unknown) {
1076
+ const id = BigInt(u.id);
1077
+ writer.writeVarInt(id);
1078
+ if (id % 2n === 0n) {
1079
+ const raw = _chunkJL3NEW3Ocjs.hexToBytes.call(void 0, u.raw_hex);
1080
+ const tmpReader = new (0, _chunkJL3NEW3Ocjs.BufferReader)(raw);
1081
+ const value = tmpReader.readVarInt();
1082
+ writer.writeVarInt(value);
1083
+ } else {
1084
+ const raw = _chunkJL3NEW3Ocjs.hexToBytes.call(void 0, u.raw_hex);
1085
+ writer.writeVarInt(raw.byteLength);
1086
+ writer.writeBytes(raw);
1087
+ }
1088
+ }
1089
+ }
485
1090
  }
486
- function decodePublishNamespaceCancelPayload(r) {
487
- const request_id = r.readVarInt();
488
- const error_code = r.readVarInt();
489
- const reason_phrase = r.readString();
490
- return { type: "publish_namespace_cancel", request_id, error_code, reason_phrase };
1091
+ function decodeParams(reader) {
1092
+ const count = Number(reader.readVarInt());
1093
+ const result = {};
1094
+ const unknown = [];
1095
+ for (let i = 0; i < count; i++) {
1096
+ const paramType = reader.readVarInt();
1097
+ if (paramType === PARAM_DELIVERY_TIMEOUT) {
1098
+ result.delivery_timeout = reader.readVarInt();
1099
+ } else if (paramType === PARAM_AUTHORIZATION_TOKEN) {
1100
+ const length = Number(reader.readVarInt());
1101
+ const tokenBytes = reader.readBytes(length);
1102
+ result.authorization_token = decodeAuthorizationToken(new (0, _chunkJL3NEW3Ocjs.BufferReader)(tokenBytes));
1103
+ } else if (paramType === PARAM_MAX_CACHE_DURATION) {
1104
+ result.max_cache_duration = reader.readVarInt();
1105
+ } else if (paramType === PARAM_EXPIRES) {
1106
+ result.expires = reader.readVarInt();
1107
+ } else if (paramType === PARAM_PUBLISHER_PRIORITY) {
1108
+ result.publisher_priority = reader.readVarInt();
1109
+ } else if (paramType === PARAM_FORWARD) {
1110
+ result.forward = reader.readVarInt();
1111
+ } else if (paramType === PARAM_SUBSCRIBER_PRIORITY) {
1112
+ result.subscriber_priority = reader.readVarInt();
1113
+ } else if (paramType === PARAM_GROUP_ORDER) {
1114
+ result.group_order = reader.readVarInt();
1115
+ } else if (paramType === PARAM_DYNAMIC_GROUPS) {
1116
+ result.dynamic_groups = reader.readVarInt();
1117
+ } else if (paramType === PARAM_NEW_GROUP_REQUEST) {
1118
+ result.new_group_request = reader.readVarInt();
1119
+ } else if (paramType === PARAM_LARGEST_OBJECT) {
1120
+ const length = Number(reader.readVarInt());
1121
+ const startOff = reader.offset;
1122
+ const group = reader.readVarInt();
1123
+ const object = reader.readVarInt();
1124
+ const consumed = reader.offset - startOff;
1125
+ if (consumed < length) reader.readBytes(length - consumed);
1126
+ result.largest_object = { group, object };
1127
+ } else if (paramType === PARAM_SUBSCRIPTION_FILTER) {
1128
+ const length = Number(reader.readVarInt());
1129
+ const startOff = reader.offset;
1130
+ const filter_type = reader.readVarInt();
1131
+ const filter = { filter_type };
1132
+ if (filter_type === 3n || filter_type === 4n) {
1133
+ filter.start_group = reader.readVarInt();
1134
+ filter.start_object = reader.readVarInt();
1135
+ }
1136
+ if (filter_type === 4n) {
1137
+ filter.end_group = reader.readVarInt();
1138
+ }
1139
+ const consumed = reader.offset - startOff;
1140
+ if (consumed < length) reader.readBytes(length - consumed);
1141
+ result.subscription_filter = filter;
1142
+ } else if (paramType % 2n === 0n) {
1143
+ const value = reader.readVarInt();
1144
+ const tmpWriter = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(16);
1145
+ tmpWriter.writeVarInt(value);
1146
+ const raw = tmpWriter.finish();
1147
+ unknown.push({
1148
+ id: `0x${paramType.toString(16)}`,
1149
+ length: raw.byteLength,
1150
+ raw_hex: _chunkJL3NEW3Ocjs.bytesToHex.call(void 0, raw)
1151
+ });
1152
+ } else {
1153
+ const length = Number(reader.readVarInt());
1154
+ const bytes = reader.readBytes(length);
1155
+ unknown.push({
1156
+ id: `0x${paramType.toString(16)}`,
1157
+ length,
1158
+ raw_hex: _chunkJL3NEW3Ocjs.bytesToHex.call(void 0, bytes)
1159
+ });
1160
+ }
1161
+ }
1162
+ if (unknown.length > 0) {
1163
+ result.unknown = unknown;
1164
+ }
1165
+ return result;
491
1166
  }
492
- function decodeSubscribeNamespacePayload(r) {
493
- const request_id = r.readVarInt();
494
- const namespace_prefix = r.readTuple();
495
- const subscribe_options = r.readVarInt();
496
- const parameters = decodeParams(r);
497
- return {
498
- type: "subscribe_namespace",
499
- request_id,
500
- namespace_prefix,
501
- subscribe_options,
502
- parameters
503
- };
1167
+ function encodeClientSetupPayload(msg, w) {
1168
+ encodeSetupParams(msg.parameters, w);
504
1169
  }
505
- function decodeNamespacePayload(r) {
506
- const namespace_suffix = r.readTuple();
507
- return { type: "namespace", namespace_suffix };
1170
+ function encodeServerSetupPayload(msg, w) {
1171
+ encodeSetupParams(msg.parameters, w);
508
1172
  }
509
- function decodeNamespaceDonePayload(r) {
510
- const namespace_suffix = r.readTuple();
511
- return { type: "namespace_done", namespace_suffix };
1173
+ function encodeSubscribePayload(msg, w) {
1174
+ w.writeVarInt(msg.request_id);
1175
+ w.writeTuple(msg.track_namespace);
1176
+ w.writeString(msg.track_name);
1177
+ encodeParams(msg.parameters, w);
512
1178
  }
513
- function decodeFetchPayload(r) {
514
- const request_id = r.readVarInt();
515
- const fetch_type = r.readVarInt();
516
- const ft = Number(fetch_type);
517
- if (ft < 1 || ft > 3) {
518
- throw new (0, _chunkFWISIR26cjs.DecodeError)("CONSTRAINT_VIOLATION", `Invalid fetch_type: ${ft}`, r.offset);
519
- }
520
- let standalone;
521
- let joining;
522
- if (ft === 1) {
523
- const track_namespace = r.readTuple();
524
- const track_name = r.readString();
525
- const start_group = r.readVarInt();
526
- const start_object = r.readVarInt();
527
- const end_group = r.readVarInt();
528
- const end_object = r.readVarInt();
529
- standalone = { track_namespace, track_name, start_group, start_object, end_group, end_object };
530
- } else {
531
- const joining_request_id = r.readVarInt();
532
- const joining_start = r.readVarInt();
533
- joining = { joining_request_id, joining_start };
534
- }
535
- const parameters = decodeParams(r);
536
- return {
537
- type: "fetch",
538
- request_id,
539
- fetch_type,
540
- standalone,
541
- joining,
542
- parameters
543
- };
1179
+ function encodeSubscribeOkPayload(msg, w) {
1180
+ w.writeVarInt(msg.request_id);
1181
+ w.writeVarInt(msg.track_alias);
1182
+ encodeParams(msg.parameters, w);
1183
+ if (msg.track_extensions) encodeTrackExtensions(msg.track_extensions, w);
544
1184
  }
545
- function decodeFetchOkPayload(r) {
546
- const request_id = r.readVarInt();
547
- const end_of_track = r.readUint8();
548
- const end_group = r.readVarInt();
549
- const end_object = r.readVarInt();
550
- const parameters = decodeParams(r);
551
- return { type: "fetch_ok", request_id, end_of_track, end_group, end_object, parameters };
1185
+ function encodeRequestUpdatePayload(msg, w) {
1186
+ w.writeVarInt(msg.request_id);
1187
+ w.writeVarInt(msg.existing_request_id);
1188
+ encodeParams(msg.parameters, w);
552
1189
  }
553
- function decodeFetchCancelPayload(r) {
554
- const request_id = r.readVarInt();
555
- return { type: "fetch_cancel", request_id };
1190
+ function encodeUnsubscribePayload(msg, w) {
1191
+ w.writeVarInt(msg.request_id);
556
1192
  }
557
- function decodeTrackStatusPayload(r) {
558
- const request_id = r.readVarInt();
559
- const track_namespace = r.readTuple();
560
- const track_name = r.readString();
561
- const parameters = decodeParams(r);
562
- return { type: "track_status", request_id, track_namespace, track_name, parameters };
1193
+ function encodePublishPayload(msg, w) {
1194
+ w.writeVarInt(msg.request_id);
1195
+ w.writeTuple(msg.track_namespace);
1196
+ w.writeString(msg.track_name);
1197
+ w.writeVarInt(msg.track_alias);
1198
+ encodeParams(msg.parameters, w);
1199
+ if (msg.track_extensions) encodeTrackExtensions(msg.track_extensions, w);
563
1200
  }
564
- function decodeRequestOkPayload(r) {
565
- const request_id = r.readVarInt();
566
- const parameters = decodeParams(r);
567
- return { type: "request_ok", request_id, parameters };
1201
+ function encodePublishOkPayload(msg, w) {
1202
+ w.writeVarInt(msg.request_id);
1203
+ encodeParams(msg.parameters, w);
568
1204
  }
569
- function decodeRequestErrorPayload(r) {
570
- const request_id = r.readVarInt();
571
- const error_code = r.readVarInt();
572
- const retry_interval = r.readVarInt();
573
- const reason_phrase = r.readString();
574
- return { type: "request_error", request_id, error_code, retry_interval, reason_phrase };
1205
+ function encodePublishDonePayload(msg, w) {
1206
+ w.writeVarInt(msg.request_id);
1207
+ w.writeVarInt(msg.status_code);
1208
+ w.writeVarInt(msg.stream_count);
1209
+ w.writeString(msg.reason_phrase);
575
1210
  }
576
- function decodeGoAwayPayload(r) {
577
- const new_session_uri = r.readString();
578
- return { type: "goaway", new_session_uri };
1211
+ function encodePublishNamespacePayload(msg, w) {
1212
+ w.writeVarInt(msg.request_id);
1213
+ w.writeTuple(msg.track_namespace);
1214
+ encodeParams(msg.parameters, w);
579
1215
  }
580
- function decodeMaxRequestIdPayload(r) {
581
- const max_request_id = r.readVarInt();
582
- return { type: "max_request_id", max_request_id };
1216
+ function encodePublishNamespaceDonePayload(msg, w) {
1217
+ w.writeVarInt(msg.request_id);
583
1218
  }
584
- function decodeRequestsBlockedPayload(r) {
585
- const maximum_request_id = r.readVarInt();
586
- return { type: "requests_blocked", maximum_request_id };
1219
+ function encodePublishNamespaceCancelPayload(msg, w) {
1220
+ w.writeVarInt(msg.request_id);
1221
+ w.writeVarInt(msg.error_code);
1222
+ w.writeString(msg.reason_phrase);
587
1223
  }
588
- var payloadDecoders = /* @__PURE__ */ new Map([
589
- [MSG_CLIENT_SETUP, decodeClientSetupPayload],
590
- [MSG_SERVER_SETUP, decodeServerSetupPayload],
591
- [MSG_SUBSCRIBE, decodeSubscribePayload],
592
- [MSG_SUBSCRIBE_OK, decodeSubscribeOkPayload],
593
- [MSG_REQUEST_UPDATE, decodeRequestUpdatePayload],
594
- [MSG_UNSUBSCRIBE, decodeUnsubscribePayload],
595
- [MSG_PUBLISH, decodePublishPayload],
596
- [MSG_PUBLISH_OK, decodePublishOkPayload],
597
- [MSG_PUBLISH_DONE, decodePublishDonePayload],
598
- [MSG_PUBLISH_NAMESPACE, decodePublishNamespacePayload],
599
- [MSG_PUBLISH_NAMESPACE_DONE, decodePublishNamespaceDonePayload],
600
- [MSG_PUBLISH_NAMESPACE_CANCEL, decodePublishNamespaceCancelPayload],
601
- [MSG_SUBSCRIBE_NAMESPACE, decodeSubscribeNamespacePayload],
602
- [MSG_NAMESPACE, decodeNamespacePayload],
603
- [MSG_NAMESPACE_DONE, decodeNamespaceDonePayload],
604
- [MSG_FETCH, decodeFetchPayload],
605
- [MSG_FETCH_OK, decodeFetchOkPayload],
606
- [MSG_FETCH_CANCEL, decodeFetchCancelPayload],
607
- [MSG_TRACK_STATUS, decodeTrackStatusPayload],
608
- [MSG_REQUEST_OK, decodeRequestOkPayload],
609
- [MSG_REQUEST_ERROR, decodeRequestErrorPayload],
610
- [MSG_GOAWAY, decodeGoAwayPayload],
611
- [MSG_MAX_REQUEST_ID, decodeMaxRequestIdPayload],
612
- [MSG_REQUESTS_BLOCKED, decodeRequestsBlockedPayload]
613
- ]);
614
- function encodeMessage(message) {
615
- const typeId = MESSAGE_ID_MAP.get(message.type);
616
- if (typeId === void 0) {
617
- throw new Error(`Unknown message type: ${message.type}`);
618
- }
619
- const payloadWriter = new (0, _chunkFWISIR26cjs.BufferWriter)();
620
- encodePayload(message, payloadWriter);
621
- const payload = payloadWriter.finish();
622
- if (payload.byteLength > 65535) {
623
- throw new Error(`Payload too large for 16-bit length: ${payload.byteLength}`);
624
- }
625
- const writer = new (0, _chunkFWISIR26cjs.BufferWriter)();
626
- writer.writeVarInt(typeId);
627
- writer.writeUint8(payload.byteLength >> 8 & 255);
628
- writer.writeUint8(payload.byteLength & 255);
629
- writer.writeBytes(payload);
630
- return writer.finish();
1224
+ function encodeSubscribeNamespacePayload(msg, w) {
1225
+ w.writeVarInt(msg.request_id);
1226
+ w.writeTuple(msg.namespace_prefix);
1227
+ w.writeVarInt(msg.subscribe_options);
1228
+ encodeParams(msg.parameters, w);
631
1229
  }
632
- function encodePayload(msg, w) {
633
- switch (msg.type) {
634
- case "client_setup":
635
- return encodeClientSetupPayload(msg, w);
636
- case "server_setup":
637
- return encodeServerSetupPayload(msg, w);
638
- case "subscribe":
639
- return encodeSubscribePayload(msg, w);
640
- case "subscribe_ok":
641
- return encodeSubscribeOkPayload(msg, w);
642
- case "request_update":
643
- return encodeRequestUpdatePayload(msg, w);
644
- case "unsubscribe":
645
- return encodeUnsubscribePayload(msg, w);
646
- case "publish":
647
- return encodePublishPayload(msg, w);
648
- case "publish_ok":
649
- return encodePublishOkPayload(msg, w);
650
- case "publish_done":
651
- return encodePublishDonePayload(msg, w);
652
- case "publish_namespace":
653
- return encodePublishNamespacePayload(msg, w);
654
- case "publish_namespace_done":
655
- return encodePublishNamespaceDonePayload(msg, w);
656
- case "publish_namespace_cancel":
657
- return encodePublishNamespaceCancelPayload(msg, w);
658
- case "subscribe_namespace":
659
- return encodeSubscribeNamespacePayload(msg, w);
660
- case "namespace":
661
- return encodeNamespacePayload(msg, w);
662
- case "namespace_done":
663
- return encodeNamespaceDonePayload(msg, w);
664
- case "fetch":
665
- return encodeFetchPayload(msg, w);
666
- case "fetch_ok":
667
- return encodeFetchOkPayload(msg, w);
668
- case "fetch_cancel":
669
- return encodeFetchCancelPayload(msg, w);
670
- case "track_status":
671
- return encodeTrackStatusPayload(msg, w);
672
- case "request_ok":
673
- return encodeRequestOkPayload(msg, w);
674
- case "request_error":
675
- return encodeRequestErrorPayload(msg, w);
676
- case "goaway":
677
- return encodeGoAwayPayload(msg, w);
678
- case "max_request_id":
679
- return encodeMaxRequestIdPayload(msg, w);
680
- case "requests_blocked":
681
- return encodeRequestsBlockedPayload(msg, w);
682
- default: {
683
- const _exhaustive = msg;
684
- throw new Error(`Unhandled message type: ${_exhaustive.type}`);
685
- }
686
- }
1230
+ function encodeNamespacePayload(msg, w) {
1231
+ w.writeTuple(msg.namespace_suffix);
687
1232
  }
688
- function decodeMessage(bytes) {
689
- try {
690
- const reader = new (0, _chunkFWISIR26cjs.BufferReader)(bytes);
691
- const typeId = reader.readVarInt();
692
- const lenHi = reader.readUint8();
693
- const lenLo = reader.readUint8();
694
- const payloadLength = lenHi << 8 | lenLo;
695
- const payloadBytes = reader.readBytes(payloadLength);
696
- const payloadReader = new (0, _chunkFWISIR26cjs.BufferReader)(payloadBytes);
697
- const decoder = payloadDecoders.get(typeId);
698
- if (!decoder) {
699
- return {
700
- ok: false,
701
- error: new (0, _chunkFWISIR26cjs.DecodeError)(
702
- "UNKNOWN_MESSAGE_TYPE",
703
- `Unknown message type ID: 0x${typeId.toString(16)}`,
704
- 0
705
- )
706
- };
707
- }
708
- const message = decoder(payloadReader);
709
- return { ok: true, value: message, bytesRead: reader.offset };
710
- } catch (e) {
711
- if (e instanceof _chunkFWISIR26cjs.DecodeError) {
712
- return { ok: false, error: e };
713
- }
714
- throw e;
715
- }
1233
+ function encodeNamespaceDonePayload(msg, w) {
1234
+ w.writeTuple(msg.namespace_suffix);
716
1235
  }
717
- var FETCH_STREAM_TYPE = 0x05n;
718
- function encodeSubgroupStream(stream) {
719
- const w = new (0, _chunkFWISIR26cjs.BufferWriter)();
720
- const streamType = stream.headerType;
721
- w.writeVarInt(BigInt(streamType));
722
- const hasSubgroupField = (streamType & 4) !== 0;
723
- const hasPriority = streamType < 48;
724
- w.writeVarInt(stream.trackAlias);
725
- w.writeVarInt(stream.groupId);
726
- if (hasSubgroupField) {
727
- w.writeVarInt(stream.subgroupId);
728
- }
729
- if (hasPriority) {
730
- w.writeUint8(stream.publisherPriority);
731
- }
732
- let prevObjectId = -1n;
733
- for (const obj of stream.objects) {
734
- const delta = prevObjectId < 0n ? obj.objectId : obj.objectId - prevObjectId - 1n;
735
- w.writeVarInt(delta);
736
- w.writeVarInt(obj.payloadLength);
737
- if (obj.payloadLength === 0) {
738
- w.writeVarInt(_nullishCoalesce(obj.status, () => ( 0n)));
739
- } else {
740
- w.writeBytes(obj.payload);
741
- }
742
- prevObjectId = obj.objectId;
1236
+ function encodeFetchPayload(msg, w) {
1237
+ w.writeVarInt(msg.request_id);
1238
+ w.writeVarInt(msg.fetch_type);
1239
+ const ft = Number(msg.fetch_type);
1240
+ if (ft === 1 && msg.standalone) {
1241
+ w.writeTuple(msg.standalone.track_namespace);
1242
+ w.writeString(msg.standalone.track_name);
1243
+ w.writeVarInt(msg.standalone.start_group);
1244
+ w.writeVarInt(msg.standalone.start_object);
1245
+ w.writeVarInt(msg.standalone.end_group);
1246
+ w.writeVarInt(msg.standalone.end_object);
1247
+ } else if ((ft === 2 || ft === 3) && msg.joining) {
1248
+ w.writeVarInt(msg.joining.joining_request_id);
1249
+ w.writeVarInt(msg.joining.joining_start);
743
1250
  }
744
- return w.finish();
1251
+ encodeParams(msg.parameters, w);
745
1252
  }
746
- function encodeDatagram(dg) {
747
- const w = new (0, _chunkFWISIR26cjs.BufferWriter)();
748
- const dgType = dg.datagramType;
749
- w.writeVarInt(BigInt(dgType));
750
- w.writeVarInt(dg.trackAlias);
751
- w.writeVarInt(dg.groupId);
752
- const objectIdAbsent = (dgType & 4) !== 0;
753
- const isStatus = (dgType & 32) !== 0;
754
- if (!objectIdAbsent) {
755
- w.writeVarInt(dg.objectId);
756
- }
757
- w.writeUint8(dg.publisherPriority);
758
- if (isStatus) {
759
- w.writeVarInt(_nullishCoalesce(dg.objectStatus, () => ( 0n)));
760
- } else {
761
- w.writeBytes(dg.payload);
1253
+ function encodeFetchOkPayload(msg, w) {
1254
+ w.writeVarInt(msg.request_id);
1255
+ w.writeUint8(msg.end_of_track);
1256
+ w.writeVarInt(msg.end_group);
1257
+ w.writeVarInt(msg.end_object);
1258
+ encodeParams(msg.parameters, w);
1259
+ if (msg.track_extensions) encodeTrackExtensions(msg.track_extensions, w);
1260
+ }
1261
+ function encodeFetchCancelPayload(msg, w) {
1262
+ w.writeVarInt(msg.request_id);
1263
+ }
1264
+ function encodeTrackStatusPayload(msg, w) {
1265
+ w.writeVarInt(msg.request_id);
1266
+ w.writeTuple(msg.track_namespace);
1267
+ w.writeString(msg.track_name);
1268
+ encodeParams(msg.parameters, w);
1269
+ }
1270
+ function encodeRequestOkPayload(msg, w) {
1271
+ w.writeVarInt(msg.request_id);
1272
+ encodeParams(msg.parameters, w);
1273
+ }
1274
+ function encodeRequestErrorPayload(msg, w) {
1275
+ w.writeVarInt(msg.request_id);
1276
+ w.writeVarInt(msg.error_code);
1277
+ w.writeVarInt(msg.retry_interval);
1278
+ w.writeString(msg.reason_phrase);
1279
+ }
1280
+ function encodeGoAwayPayload(msg, w) {
1281
+ w.writeString(msg.new_session_uri);
1282
+ }
1283
+ function encodeMaxRequestIdPayload(msg, w) {
1284
+ w.writeVarInt(msg.max_request_id);
1285
+ }
1286
+ function encodeRequestsBlockedPayload(msg, w) {
1287
+ w.writeVarInt(msg.maximum_request_id);
1288
+ }
1289
+ function decodeClientSetupPayload(r) {
1290
+ const parameters = decodeSetupParams(r);
1291
+ return { type: "client_setup", parameters };
1292
+ }
1293
+ function decodeServerSetupPayload(r) {
1294
+ const parameters = decodeSetupParams(r);
1295
+ return { type: "server_setup", parameters };
1296
+ }
1297
+ function decodeSubscribePayload(r) {
1298
+ const request_id = r.readVarInt();
1299
+ const track_namespace = r.readTuple();
1300
+ const track_name = r.readString();
1301
+ const parameters = decodeParams(r);
1302
+ return {
1303
+ type: "subscribe",
1304
+ request_id,
1305
+ track_namespace,
1306
+ track_name,
1307
+ parameters
1308
+ };
1309
+ }
1310
+ function decodeSubscribeOkPayload(r) {
1311
+ const request_id = r.readVarInt();
1312
+ const track_alias = r.readVarInt();
1313
+ const parameters = decodeParams(r);
1314
+ const result = {
1315
+ type: "subscribe_ok",
1316
+ request_id,
1317
+ track_alias,
1318
+ parameters
1319
+ };
1320
+ if (r.remaining > 0) {
1321
+ result.track_extensions = decodeTrackExtensions(r);
762
1322
  }
763
- return w.finish();
1323
+ return result;
764
1324
  }
765
- function encodeFetchStream(stream) {
766
- const w = new (0, _chunkFWISIR26cjs.BufferWriter)();
767
- w.writeVarInt(FETCH_STREAM_TYPE);
768
- w.writeVarInt(stream.requestId);
769
- for (const obj of stream.objects) {
770
- w.writeUint8(obj.serializationFlags);
771
- const flags = obj.serializationFlags;
772
- if (flags & 8) w.writeVarInt(obj.groupId);
773
- const subgroupEncoding = flags & 3;
774
- if (subgroupEncoding === 3) w.writeVarInt(obj.subgroupId);
775
- if (flags & 4) w.writeVarInt(obj.objectId);
776
- if (flags & 16) w.writeUint8(obj.publisherPriority);
777
- w.writeVarInt(obj.payloadLength);
778
- if (obj.payloadLength === 0) {
779
- w.writeVarInt(_nullishCoalesce(obj.status, () => ( 0n)));
780
- } else {
781
- w.writeBytes(obj.payload);
782
- }
1325
+ function decodeRequestUpdatePayload(r) {
1326
+ const request_id = r.readVarInt();
1327
+ const existing_request_id = r.readVarInt();
1328
+ const parameters = decodeParams(r);
1329
+ return { type: "request_update", request_id, existing_request_id, parameters };
1330
+ }
1331
+ function decodeUnsubscribePayload(r) {
1332
+ const request_id = r.readVarInt();
1333
+ return { type: "unsubscribe", request_id };
1334
+ }
1335
+ function decodePublishPayload(r) {
1336
+ const request_id = r.readVarInt();
1337
+ const track_namespace = r.readTuple();
1338
+ const track_name = r.readString();
1339
+ const track_alias = r.readVarInt();
1340
+ const parameters = decodeParams(r);
1341
+ const result = {
1342
+ type: "publish",
1343
+ request_id,
1344
+ track_namespace,
1345
+ track_name,
1346
+ track_alias,
1347
+ parameters
1348
+ };
1349
+ if (r.remaining > 0) {
1350
+ result.track_extensions = decodeTrackExtensions(r);
783
1351
  }
784
- return w.finish();
1352
+ return result;
785
1353
  }
786
- function decodeSubgroupStream(bytes) {
787
- try {
788
- const r = new (0, _chunkFWISIR26cjs.BufferReader)(bytes);
789
- const streamType = Number(r.readVarInt());
790
- if (!(streamType >= 16 && streamType <= 29 || streamType >= 48 && streamType <= 61)) {
791
- return {
792
- ok: false,
793
- error: new (0, _chunkFWISIR26cjs.DecodeError)(
794
- "CONSTRAINT_VIOLATION",
795
- `Expected subgroup stream type 0x10-0x1D or 0x30-0x3D, got 0x${streamType.toString(16)}`,
796
- 0
797
- )
798
- };
799
- }
800
- const hasSubgroupField = (streamType & 4) !== 0;
801
- const subgroupIsFirstObjId = (streamType & 2) !== 0 && !hasSubgroupField;
802
- const hasPriority = streamType < 48;
803
- const trackAlias = r.readVarInt();
804
- const groupId = r.readVarInt();
805
- let subgroupId = 0n;
806
- if (hasSubgroupField) {
807
- subgroupId = r.readVarInt();
808
- }
809
- let publisherPriority = 128;
810
- if (hasPriority) {
811
- publisherPriority = r.readUint8();
812
- }
813
- const objects = [];
814
- let prevObjectId = -1n;
815
- let firstObject = true;
816
- while (r.remaining > 0) {
817
- const delta = r.readVarInt();
818
- let objectId;
819
- if (firstObject) {
820
- objectId = delta;
821
- if (subgroupIsFirstObjId && firstObject) {
822
- subgroupId = objectId;
823
- }
824
- firstObject = false;
825
- } else {
826
- objectId = prevObjectId + 1n + delta;
827
- }
828
- const payloadLength = Number(r.readVarInt());
829
- let payload;
830
- let status;
831
- if (payloadLength === 0) {
832
- status = r.readVarInt();
833
- payload = new Uint8Array(0);
834
- } else {
835
- payload = r.readBytes(payloadLength);
836
- }
837
- const obj = { type: "object", objectId, payloadLength, payload };
838
- if (status !== void 0) obj.status = status;
839
- objects.push(obj);
840
- prevObjectId = objectId;
841
- }
842
- return {
843
- ok: true,
844
- value: {
845
- type: "subgroup",
846
- headerType: streamType,
847
- trackAlias,
848
- groupId,
849
- subgroupId,
850
- publisherPriority,
851
- objects
852
- },
853
- bytesRead: r.offset
1354
+ function decodePublishOkPayload(r) {
1355
+ const request_id = r.readVarInt();
1356
+ const parameters = decodeParams(r);
1357
+ return { type: "publish_ok", request_id, parameters };
1358
+ }
1359
+ function decodePublishDonePayload(r) {
1360
+ const request_id = r.readVarInt();
1361
+ const status_code = r.readVarInt();
1362
+ const stream_count = r.readVarInt();
1363
+ const reason_phrase = r.readString();
1364
+ return {
1365
+ type: "publish_done",
1366
+ request_id,
1367
+ status_code,
1368
+ stream_count,
1369
+ reason_phrase
1370
+ };
1371
+ }
1372
+ function decodePublishNamespacePayload(r) {
1373
+ const request_id = r.readVarInt();
1374
+ const track_namespace = r.readTuple();
1375
+ const parameters = decodeParams(r);
1376
+ return { type: "publish_namespace", request_id, track_namespace, parameters };
1377
+ }
1378
+ function decodePublishNamespaceDonePayload(r) {
1379
+ const request_id = r.readVarInt();
1380
+ return { type: "publish_namespace_done", request_id };
1381
+ }
1382
+ function decodePublishNamespaceCancelPayload(r) {
1383
+ const request_id = r.readVarInt();
1384
+ const error_code = r.readVarInt();
1385
+ const reason_phrase = r.readString();
1386
+ return {
1387
+ type: "publish_namespace_cancel",
1388
+ request_id,
1389
+ error_code,
1390
+ reason_phrase
1391
+ };
1392
+ }
1393
+ function decodeSubscribeNamespacePayload(r) {
1394
+ const request_id = r.readVarInt();
1395
+ const namespace_prefix = r.readTuple();
1396
+ const subscribe_options = r.readVarInt();
1397
+ const parameters = decodeParams(r);
1398
+ return {
1399
+ type: "subscribe_namespace",
1400
+ request_id,
1401
+ namespace_prefix,
1402
+ subscribe_options,
1403
+ parameters
1404
+ };
1405
+ }
1406
+ function decodeNamespacePayload(r) {
1407
+ const namespace_suffix = r.readTuple();
1408
+ return { type: "namespace", namespace_suffix };
1409
+ }
1410
+ function decodeNamespaceDonePayload(r) {
1411
+ const namespace_suffix = r.readTuple();
1412
+ return { type: "namespace_done", namespace_suffix };
1413
+ }
1414
+ function decodeFetchPayload(r) {
1415
+ const request_id = r.readVarInt();
1416
+ const fetch_type = r.readVarInt();
1417
+ const ft = Number(fetch_type);
1418
+ if (ft < 1 || ft > 3) {
1419
+ throw new (0, _chunkJL3NEW3Ocjs.DecodeError)("CONSTRAINT_VIOLATION", `Invalid fetch_type: ${ft}`, r.offset);
1420
+ }
1421
+ let standalone;
1422
+ let joining;
1423
+ if (ft === 1) {
1424
+ const track_namespace = r.readTuple();
1425
+ const track_name = r.readString();
1426
+ const start_group = r.readVarInt();
1427
+ const start_object = r.readVarInt();
1428
+ const end_group = r.readVarInt();
1429
+ const end_object = r.readVarInt();
1430
+ standalone = {
1431
+ track_namespace,
1432
+ track_name,
1433
+ start_group,
1434
+ start_object,
1435
+ end_group,
1436
+ end_object
854
1437
  };
855
- } catch (e) {
856
- if (e instanceof _chunkFWISIR26cjs.DecodeError) return { ok: false, error: e };
857
- throw e;
1438
+ } else {
1439
+ const joining_request_id = r.readVarInt();
1440
+ const joining_start = r.readVarInt();
1441
+ joining = { joining_request_id, joining_start };
858
1442
  }
1443
+ const parameters = decodeParams(r);
1444
+ return {
1445
+ type: "fetch",
1446
+ request_id,
1447
+ fetch_type,
1448
+ standalone,
1449
+ joining,
1450
+ parameters
1451
+ };
859
1452
  }
860
- function decodeDatagram(bytes) {
861
- try {
862
- const r = new (0, _chunkFWISIR26cjs.BufferReader)(bytes);
863
- const dgType = Number(r.readVarInt());
864
- const objectIdAbsent = (dgType & 4) !== 0;
865
- const endOfGroup = (dgType & 2) !== 0;
866
- const isStatus = (dgType & 32) !== 0;
867
- const trackAlias = r.readVarInt();
868
- const groupId = r.readVarInt();
869
- let objectId = 0n;
870
- if (!objectIdAbsent) {
871
- objectId = r.readVarInt();
872
- }
873
- const publisherPriority = r.readUint8();
874
- let objectStatus;
875
- let payload;
876
- if (isStatus) {
877
- objectStatus = r.readVarInt();
878
- payload = new Uint8Array(0);
879
- } else {
880
- payload = r.readBytes(r.remaining);
881
- }
882
- const payloadLength = payload.byteLength;
883
- const result = {
884
- type: "datagram",
885
- datagramType: dgType,
886
- trackAlias,
887
- groupId,
888
- objectId,
889
- publisherPriority,
890
- payloadLength,
891
- payload
892
- };
893
- if (endOfGroup) result.endOfGroup = true;
894
- if (objectStatus !== void 0)
895
- result.objectStatus = objectStatus;
896
- return { ok: true, value: result, bytesRead: r.offset };
897
- } catch (e) {
898
- if (e instanceof _chunkFWISIR26cjs.DecodeError) return { ok: false, error: e };
899
- throw e;
1453
+ function decodeFetchOkPayload(r) {
1454
+ const request_id = r.readVarInt();
1455
+ const end_of_track = r.readUint8();
1456
+ const end_group = r.readVarInt();
1457
+ const end_object = r.readVarInt();
1458
+ const parameters = decodeParams(r);
1459
+ const result = {
1460
+ type: "fetch_ok",
1461
+ request_id,
1462
+ end_of_track,
1463
+ end_group,
1464
+ end_object,
1465
+ parameters
1466
+ };
1467
+ if (r.remaining > 0) {
1468
+ result.track_extensions = decodeTrackExtensions(r);
900
1469
  }
1470
+ return result;
901
1471
  }
902
- function decodeFetchStream(bytes) {
903
- try {
904
- const r = new (0, _chunkFWISIR26cjs.BufferReader)(bytes);
905
- const streamType = r.readVarInt();
906
- if (streamType !== FETCH_STREAM_TYPE) {
907
- return {
908
- ok: false,
909
- error: new (0, _chunkFWISIR26cjs.DecodeError)(
910
- "CONSTRAINT_VIOLATION",
911
- `Expected fetch stream type 0x05, got 0x${streamType.toString(16)}`,
912
- 0
913
- )
914
- };
915
- }
916
- const requestId = r.readVarInt();
917
- const objects = [];
918
- let prevGroupId = 0n;
919
- let prevSubgroupId = 0n;
920
- let prevObjectId = 0n;
921
- let prevPriority = 128;
922
- let first = true;
923
- while (r.remaining > 0) {
924
- const flags = r.readUint8();
925
- const subgroupEncoding = flags & 3;
926
- const objectIdPresent = (flags & 4) !== 0;
927
- const groupIdPresent = (flags & 8) !== 0;
928
- const priorityPresent = (flags & 16) !== 0;
929
- const extensionsPresent = (flags & 32) !== 0;
930
- if (flags & 192) {
931
- return {
932
- ok: false,
933
- error: new (0, _chunkFWISIR26cjs.DecodeError)(
934
- "CONSTRAINT_VIOLATION",
935
- "Reserved bits set in fetch object flags",
936
- r.offset
937
- )
938
- };
939
- }
940
- let groupId = prevGroupId;
941
- if (groupIdPresent) {
942
- groupId = r.readVarInt();
943
- } else if (first) {
944
- return {
945
- ok: false,
946
- error: new (0, _chunkFWISIR26cjs.DecodeError)(
947
- "CONSTRAINT_VIOLATION",
948
- "First fetch object must include groupId",
949
- r.offset
950
- )
951
- };
952
- }
953
- let subgroupId = prevSubgroupId;
954
- if (subgroupEncoding === 3) {
955
- subgroupId = r.readVarInt();
956
- }
957
- let objectId = prevObjectId + 1n;
958
- if (objectIdPresent) {
959
- objectId = r.readVarInt();
960
- } else if (first) {
961
- return {
962
- ok: false,
963
- error: new (0, _chunkFWISIR26cjs.DecodeError)(
964
- "CONSTRAINT_VIOLATION",
965
- "First fetch object must include objectId",
966
- r.offset
967
- )
968
- };
969
- }
970
- if (priorityPresent) {
971
- prevPriority = r.readUint8();
972
- }
973
- if (extensionsPresent) {
974
- const extLen = Number(r.readVarInt());
975
- if (extLen > 0) {
976
- r.readBytes(extLen);
977
- }
978
- }
979
- const payloadLength = Number(r.readVarInt());
980
- let payload;
981
- let status;
982
- if (payloadLength > 0) {
983
- payload = r.readBytes(payloadLength);
984
- } else {
985
- status = r.readVarInt();
986
- payload = new Uint8Array(0);
987
- }
988
- const obj = {
989
- type: "object",
990
- serializationFlags: flags,
991
- groupId,
992
- subgroupId,
993
- objectId,
994
- publisherPriority: prevPriority,
995
- payloadLength,
996
- payload
997
- };
998
- if (status !== void 0) obj.status = status;
999
- objects.push(obj);
1000
- prevGroupId = groupId;
1001
- prevSubgroupId = subgroupId;
1002
- prevObjectId = objectId;
1003
- first = false;
1472
+ function decodeFetchCancelPayload(r) {
1473
+ const request_id = r.readVarInt();
1474
+ return { type: "fetch_cancel", request_id };
1475
+ }
1476
+ function decodeTrackStatusPayload(r) {
1477
+ const request_id = r.readVarInt();
1478
+ const track_namespace = r.readTuple();
1479
+ const track_name = r.readString();
1480
+ const parameters = decodeParams(r);
1481
+ return {
1482
+ type: "track_status",
1483
+ request_id,
1484
+ track_namespace,
1485
+ track_name,
1486
+ parameters
1487
+ };
1488
+ }
1489
+ function decodeRequestOkPayload(r) {
1490
+ const request_id = r.readVarInt();
1491
+ const parameters = decodeParams(r);
1492
+ return { type: "request_ok", request_id, parameters };
1493
+ }
1494
+ function decodeRequestErrorPayload(r) {
1495
+ const request_id = r.readVarInt();
1496
+ const error_code = r.readVarInt();
1497
+ const retry_interval = r.readVarInt();
1498
+ const reason_phrase = r.readString();
1499
+ return {
1500
+ type: "request_error",
1501
+ request_id,
1502
+ error_code,
1503
+ retry_interval,
1504
+ reason_phrase
1505
+ };
1506
+ }
1507
+ function decodeGoAwayPayload(r) {
1508
+ const new_session_uri = r.readString();
1509
+ return { type: "goaway", new_session_uri };
1510
+ }
1511
+ function decodeMaxRequestIdPayload(r) {
1512
+ const max_request_id = r.readVarInt();
1513
+ return { type: "max_request_id", max_request_id };
1514
+ }
1515
+ function decodeRequestsBlockedPayload(r) {
1516
+ const maximum_request_id = r.readVarInt();
1517
+ return { type: "requests_blocked", maximum_request_id };
1518
+ }
1519
+ var payloadDecoders = /* @__PURE__ */ new Map([
1520
+ [MSG_CLIENT_SETUP, decodeClientSetupPayload],
1521
+ [MSG_SERVER_SETUP, decodeServerSetupPayload],
1522
+ [MSG_SUBSCRIBE, decodeSubscribePayload],
1523
+ [MSG_SUBSCRIBE_OK, decodeSubscribeOkPayload],
1524
+ [MSG_REQUEST_UPDATE, decodeRequestUpdatePayload],
1525
+ [MSG_UNSUBSCRIBE, decodeUnsubscribePayload],
1526
+ [MSG_PUBLISH, decodePublishPayload],
1527
+ [MSG_PUBLISH_OK, decodePublishOkPayload],
1528
+ [MSG_PUBLISH_DONE, decodePublishDonePayload],
1529
+ [MSG_PUBLISH_NAMESPACE, decodePublishNamespacePayload],
1530
+ [MSG_PUBLISH_NAMESPACE_DONE, decodePublishNamespaceDonePayload],
1531
+ [MSG_PUBLISH_NAMESPACE_CANCEL, decodePublishNamespaceCancelPayload],
1532
+ [MSG_SUBSCRIBE_NAMESPACE, decodeSubscribeNamespacePayload],
1533
+ [MSG_NAMESPACE, decodeNamespacePayload],
1534
+ [MSG_NAMESPACE_DONE, decodeNamespaceDonePayload],
1535
+ [MSG_FETCH, decodeFetchPayload],
1536
+ [MSG_FETCH_OK, decodeFetchOkPayload],
1537
+ [MSG_FETCH_CANCEL, decodeFetchCancelPayload],
1538
+ [MSG_TRACK_STATUS, decodeTrackStatusPayload],
1539
+ [MSG_REQUEST_OK, decodeRequestOkPayload],
1540
+ [MSG_REQUEST_ERROR, decodeRequestErrorPayload],
1541
+ [MSG_GOAWAY, decodeGoAwayPayload],
1542
+ [MSG_MAX_REQUEST_ID, decodeMaxRequestIdPayload],
1543
+ [MSG_REQUESTS_BLOCKED, decodeRequestsBlockedPayload]
1544
+ ]);
1545
+ function encodeMessage(message) {
1546
+ const typeId = MESSAGE_ID_MAP.get(message.type);
1547
+ if (typeId === void 0) {
1548
+ throw new Error(`Unknown message type: ${message.type}`);
1549
+ }
1550
+ const payloadWriter = new (0, _chunkJL3NEW3Ocjs.BufferWriter)();
1551
+ encodePayload(message, payloadWriter);
1552
+ const payload = payloadWriter.finishView();
1553
+ if (payload.byteLength > 65535) {
1554
+ throw new Error(`Payload too large for 16-bit length: ${payload.byteLength}`);
1555
+ }
1556
+ const writer = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(payload.byteLength + 16);
1557
+ writer.writeVarInt(typeId);
1558
+ writer.writeUint8(payload.byteLength >> 8 & 255);
1559
+ writer.writeUint8(payload.byteLength & 255);
1560
+ writer.writeBytes(payload);
1561
+ return writer.finish();
1562
+ }
1563
+ function encodePayload(msg, w) {
1564
+ switch (msg.type) {
1565
+ case "client_setup":
1566
+ return encodeClientSetupPayload(msg, w);
1567
+ case "server_setup":
1568
+ return encodeServerSetupPayload(msg, w);
1569
+ case "subscribe":
1570
+ return encodeSubscribePayload(msg, w);
1571
+ case "subscribe_ok":
1572
+ return encodeSubscribeOkPayload(msg, w);
1573
+ case "request_update":
1574
+ return encodeRequestUpdatePayload(msg, w);
1575
+ case "unsubscribe":
1576
+ return encodeUnsubscribePayload(msg, w);
1577
+ case "publish":
1578
+ return encodePublishPayload(msg, w);
1579
+ case "publish_ok":
1580
+ return encodePublishOkPayload(msg, w);
1581
+ case "publish_done":
1582
+ return encodePublishDonePayload(msg, w);
1583
+ case "publish_namespace":
1584
+ return encodePublishNamespacePayload(msg, w);
1585
+ case "publish_namespace_done":
1586
+ return encodePublishNamespaceDonePayload(msg, w);
1587
+ case "publish_namespace_cancel":
1588
+ return encodePublishNamespaceCancelPayload(msg, w);
1589
+ case "subscribe_namespace":
1590
+ return encodeSubscribeNamespacePayload(msg, w);
1591
+ case "namespace":
1592
+ return encodeNamespacePayload(msg, w);
1593
+ case "namespace_done":
1594
+ return encodeNamespaceDonePayload(msg, w);
1595
+ case "fetch":
1596
+ return encodeFetchPayload(msg, w);
1597
+ case "fetch_ok":
1598
+ return encodeFetchOkPayload(msg, w);
1599
+ case "fetch_cancel":
1600
+ return encodeFetchCancelPayload(msg, w);
1601
+ case "track_status":
1602
+ return encodeTrackStatusPayload(msg, w);
1603
+ case "request_ok":
1604
+ return encodeRequestOkPayload(msg, w);
1605
+ case "request_error":
1606
+ return encodeRequestErrorPayload(msg, w);
1607
+ case "goaway":
1608
+ return encodeGoAwayPayload(msg, w);
1609
+ case "max_request_id":
1610
+ return encodeMaxRequestIdPayload(msg, w);
1611
+ case "requests_blocked":
1612
+ return encodeRequestsBlockedPayload(msg, w);
1613
+ default: {
1614
+ const _exhaustive = msg;
1615
+ throw new Error(`Unhandled message type: ${_exhaustive.type}`);
1004
1616
  }
1005
- return {
1006
- ok: true,
1007
- value: { type: "fetch", requestId, objects },
1008
- bytesRead: r.offset
1009
- };
1010
- } catch (e) {
1011
- if (e instanceof _chunkFWISIR26cjs.DecodeError) return { ok: false, error: e };
1012
- throw e;
1013
1617
  }
1014
1618
  }
1015
- function decodeDataStream(streamType, bytes) {
1016
- switch (streamType) {
1017
- case "subgroup":
1018
- return decodeSubgroupStream(bytes);
1019
- case "datagram":
1020
- return decodeDatagram(bytes);
1021
- case "fetch":
1022
- return decodeFetchStream(bytes);
1023
- default: {
1024
- const _exhaustive = streamType;
1025
- throw new Error(`Unknown stream type: ${_exhaustive}`);
1619
+ function decodeMessage(bytes) {
1620
+ try {
1621
+ const reader = new (0, _chunkJL3NEW3Ocjs.BufferReader)(bytes);
1622
+ const typeId = reader.readVarInt();
1623
+ const lenHi = reader.readUint8();
1624
+ const lenLo = reader.readUint8();
1625
+ const payloadLength = lenHi << 8 | lenLo;
1626
+ const payloadBytes = reader.readBytes(payloadLength);
1627
+ const payloadReader = new (0, _chunkJL3NEW3Ocjs.BufferReader)(payloadBytes);
1628
+ const decoder = payloadDecoders.get(typeId);
1629
+ if (!decoder) {
1630
+ return {
1631
+ ok: false,
1632
+ error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
1633
+ "UNKNOWN_MESSAGE_TYPE",
1634
+ `Unknown message type ID: 0x${typeId.toString(16)}`,
1635
+ 0
1636
+ )
1637
+ };
1638
+ }
1639
+ const message = decoder(payloadReader);
1640
+ return { ok: true, value: message, bytesRead: reader.offset };
1641
+ } catch (e) {
1642
+ if (e instanceof _chunkJL3NEW3Ocjs.DecodeError) {
1643
+ return { ok: false, error: e };
1026
1644
  }
1645
+ throw e;
1027
1646
  }
1028
1647
  }
1029
1648
  function createStreamDecoder() {
1030
1649
  let buffer = new Uint8Array(0);
1650
+ let offset = 0;
1031
1651
  return new TransformStream({
1032
1652
  transform(chunk, controller) {
1653
+ if (offset > 0) {
1654
+ buffer = buffer.subarray(offset);
1655
+ offset = 0;
1656
+ }
1033
1657
  const newBuffer = new Uint8Array(buffer.length + chunk.length);
1034
1658
  newBuffer.set(buffer, 0);
1035
1659
  newBuffer.set(chunk, buffer.length);
1036
1660
  buffer = newBuffer;
1037
- while (buffer.length > 0) {
1038
- const result = decodeMessage(buffer);
1661
+ while (offset < buffer.length) {
1662
+ const result = decodeMessage(buffer.subarray(offset));
1039
1663
  if (!result.ok) {
1040
1664
  if (result.error.code === "UNEXPECTED_END") {
1041
1665
  break;
@@ -1044,258 +1668,21 @@ function createStreamDecoder() {
1044
1668
  return;
1045
1669
  }
1046
1670
  controller.enqueue(result.value);
1047
- buffer = buffer.slice(result.bytesRead);
1048
- }
1049
- },
1050
- flush(controller) {
1051
- if (buffer.length > 0) {
1052
- controller.error(
1053
- new (0, _chunkFWISIR26cjs.DecodeError)("UNEXPECTED_END", "Stream ended with incomplete message data", 0)
1054
- );
1055
- }
1056
- }
1057
- });
1058
- }
1059
- function createSubgroupStreamDecoder() {
1060
- let buffer = new Uint8Array(0);
1061
- let headerEmitted = false;
1062
- let prevObjectId = -1n;
1063
- let firstObject = true;
1064
- let _subgroupIsFirstObjId = false;
1065
- return new TransformStream({
1066
- transform(chunk, controller) {
1067
- const newBuffer = new Uint8Array(buffer.length + chunk.length);
1068
- newBuffer.set(buffer, 0);
1069
- newBuffer.set(chunk, buffer.length);
1070
- buffer = newBuffer;
1071
- if (!headerEmitted) {
1072
- try {
1073
- const r = new (0, _chunkFWISIR26cjs.BufferReader)(buffer);
1074
- const streamType = Number(r.readVarInt());
1075
- if (!(streamType >= 16 && streamType <= 29 || streamType >= 48 && streamType <= 61)) {
1076
- controller.error(
1077
- new (0, _chunkFWISIR26cjs.DecodeError)(
1078
- "CONSTRAINT_VIOLATION",
1079
- `Expected subgroup stream type, got 0x${streamType.toString(16)}`,
1080
- 0
1081
- )
1082
- );
1083
- return;
1084
- }
1085
- const hasSubgroupField = (streamType & 4) !== 0;
1086
- _subgroupIsFirstObjId = (streamType & 2) !== 0 && !hasSubgroupField;
1087
- const hasPriority = streamType < 48;
1088
- const trackAlias = r.readVarInt();
1089
- const groupId = r.readVarInt();
1090
- let subgroupId = 0n;
1091
- if (hasSubgroupField) {
1092
- subgroupId = r.readVarInt();
1093
- }
1094
- let publisherPriority = 128;
1095
- if (hasPriority) {
1096
- publisherPriority = r.readUint8();
1097
- }
1098
- controller.enqueue({
1099
- type: "subgroup_header",
1100
- trackAlias,
1101
- groupId,
1102
- subgroupId,
1103
- publisherPriority
1104
- });
1105
- headerEmitted = true;
1106
- buffer = buffer.slice(r.offset);
1107
- } catch (e) {
1108
- if (e instanceof _chunkFWISIR26cjs.DecodeError && e.code === "UNEXPECTED_END") {
1109
- return;
1110
- }
1111
- controller.error(e);
1112
- return;
1113
- }
1114
- }
1115
- while (buffer.length > 0) {
1116
- try {
1117
- const r = new (0, _chunkFWISIR26cjs.BufferReader)(buffer);
1118
- const delta = r.readVarInt();
1119
- let objectId;
1120
- if (firstObject) {
1121
- objectId = delta;
1122
- firstObject = false;
1123
- } else {
1124
- objectId = prevObjectId + 1n + delta;
1125
- }
1126
- const payloadLength = Number(r.readVarInt());
1127
- const payload = payloadLength > 0 ? r.readBytes(payloadLength) : new Uint8Array(0);
1128
- controller.enqueue({ type: "object", objectId, payloadLength, payload });
1129
- buffer = buffer.slice(r.offset);
1130
- prevObjectId = objectId;
1131
- } catch (e) {
1132
- if (e instanceof _chunkFWISIR26cjs.DecodeError && e.code === "UNEXPECTED_END") {
1133
- break;
1134
- }
1135
- controller.error(e);
1136
- return;
1137
- }
1138
- }
1139
- },
1140
- flush(controller) {
1141
- if (buffer.length > 0) {
1142
- controller.error(new (0, _chunkFWISIR26cjs.DecodeError)("UNEXPECTED_END", "Stream ended with incomplete data", 0));
1143
- }
1144
- }
1145
- });
1146
- }
1147
- function createFetchStreamDecoder() {
1148
- let buffer = new Uint8Array(0);
1149
- let headerEmitted = false;
1150
- return new TransformStream({
1151
- transform(chunk, controller) {
1152
- const newBuffer = new Uint8Array(buffer.length + chunk.length);
1153
- newBuffer.set(buffer, 0);
1154
- newBuffer.set(chunk, buffer.length);
1155
- buffer = newBuffer;
1156
- if (!headerEmitted) {
1157
- try {
1158
- const r = new (0, _chunkFWISIR26cjs.BufferReader)(buffer);
1159
- const streamType = r.readVarInt();
1160
- if (streamType !== FETCH_STREAM_TYPE) {
1161
- controller.error(
1162
- new (0, _chunkFWISIR26cjs.DecodeError)(
1163
- "CONSTRAINT_VIOLATION",
1164
- `Expected fetch stream type 0x05, got 0x${streamType.toString(16)}`,
1165
- 0
1166
- )
1167
- );
1168
- return;
1169
- }
1170
- const requestId = r.readVarInt();
1171
- controller.enqueue({ type: "fetch_header", requestId });
1172
- headerEmitted = true;
1173
- buffer = buffer.slice(r.offset);
1174
- } catch (e) {
1175
- if (e instanceof _chunkFWISIR26cjs.DecodeError && e.code === "UNEXPECTED_END") {
1176
- return;
1177
- }
1178
- controller.error(e);
1179
- return;
1180
- }
1181
- }
1182
- while (buffer.length > 0) {
1183
- try {
1184
- const r = new (0, _chunkFWISIR26cjs.BufferReader)(buffer);
1185
- const flags = r.readUint8();
1186
- const objectIdPresent = (flags & 4) !== 0;
1187
- const groupIdPresent = (flags & 8) !== 0;
1188
- const priorityPresent = (flags & 16) !== 0;
1189
- const extensionsPresent = (flags & 32) !== 0;
1190
- const subgroupEncoding = flags & 3;
1191
- if (groupIdPresent) r.readVarInt();
1192
- if (subgroupEncoding === 3) r.readVarInt();
1193
- let objectId = 0n;
1194
- if (objectIdPresent) objectId = r.readVarInt();
1195
- if (priorityPresent) r.readUint8();
1196
- if (extensionsPresent) {
1197
- const extLen = Number(r.readVarInt());
1198
- if (extLen > 0) r.readBytes(extLen);
1199
- }
1200
- const payloadLength = Number(r.readVarInt());
1201
- const payload = payloadLength > 0 ? r.readBytes(payloadLength) : new Uint8Array(0);
1202
- controller.enqueue({ type: "object", objectId, payloadLength, payload });
1203
- buffer = buffer.slice(r.offset);
1204
- } catch (e) {
1205
- if (e instanceof _chunkFWISIR26cjs.DecodeError && e.code === "UNEXPECTED_END") {
1206
- break;
1207
- }
1208
- controller.error(e);
1209
- return;
1210
- }
1671
+ offset += result.bytesRead;
1211
1672
  }
1212
1673
  },
1213
1674
  flush(controller) {
1214
- if (buffer.length > 0) {
1215
- controller.error(new (0, _chunkFWISIR26cjs.DecodeError)("UNEXPECTED_END", "Stream ended with incomplete data", 0));
1216
- }
1217
- }
1218
- });
1219
- }
1220
- function createDataStreamDecoder() {
1221
- let buffer = new Uint8Array(0);
1222
- let inner = null;
1223
- return new TransformStream({
1224
- transform(chunk, controller) {
1225
- const newBuffer = new Uint8Array(buffer.length + chunk.length);
1226
- newBuffer.set(buffer, 0);
1227
- newBuffer.set(chunk, buffer.length);
1228
- buffer = newBuffer;
1229
- if (inner === null) {
1230
- if (buffer.length === 0) return;
1231
- const firstByte = buffer[0];
1232
- if (firstByte >= 16 && firstByte <= 29 || firstByte >= 48 && firstByte <= 61) {
1233
- const decoder = createSubgroupStreamDecoder();
1234
- inner = decoder;
1235
- } else if (firstByte === 5) {
1236
- const decoder = createFetchStreamDecoder();
1237
- inner = decoder;
1238
- } else {
1239
- controller.error(
1240
- new (0, _chunkFWISIR26cjs.DecodeError)(
1241
- "CONSTRAINT_VIOLATION",
1242
- `Unknown data stream type: 0x${firstByte.toString(16)}`,
1243
- 0
1244
- )
1245
- );
1246
- return;
1247
- }
1248
- }
1249
- },
1250
- flush(controller) {
1251
- if (buffer.length === 0) return;
1252
- const firstByte = buffer[0];
1253
- let result;
1254
- if (firstByte >= 16 && firstByte <= 29 || firstByte >= 48 && firstByte <= 61) {
1255
- result = decodeSubgroupStream(buffer);
1256
- } else if (firstByte === 5) {
1257
- result = decodeFetchStream(buffer);
1258
- } else {
1675
+ if (offset < buffer.length) {
1259
1676
  controller.error(
1260
- new (0, _chunkFWISIR26cjs.DecodeError)(
1261
- "CONSTRAINT_VIOLATION",
1262
- `Unknown data stream type: 0x${firstByte.toString(16)}`,
1263
- 0
1264
- )
1677
+ new (0, _chunkJL3NEW3Ocjs.DecodeError)("UNEXPECTED_END", "Stream ended with incomplete message data", 0)
1265
1678
  );
1266
- return;
1267
- }
1268
- if (!result.ok) {
1269
- controller.error(result.error);
1270
- return;
1271
- }
1272
- const stream = result.value;
1273
- if (stream.type === "subgroup") {
1274
- controller.enqueue({
1275
- type: "subgroup_header",
1276
- trackAlias: stream.trackAlias,
1277
- groupId: stream.groupId,
1278
- subgroupId: stream.subgroupId,
1279
- publisherPriority: stream.publisherPriority
1280
- });
1281
- for (const obj of stream.objects) {
1282
- controller.enqueue(obj);
1283
- }
1284
- } else if (stream.type === "fetch") {
1285
- controller.enqueue({
1286
- type: "fetch_header",
1287
- requestId: stream.requestId
1288
- });
1289
- for (const obj of stream.objects) {
1290
- controller.enqueue(obj);
1291
- }
1292
1679
  }
1293
1680
  }
1294
1681
  });
1295
1682
  }
1296
1683
  function createDraft16Codec() {
1297
1684
  return {
1298
- draft: "draft-ietf-moq-transport-16",
1685
+ draft: "16",
1299
1686
  encodeMessage,
1300
1687
  decodeMessage,
1301
1688
  encodeSubgroupStream,
@@ -1358,4 +1745,4 @@ function createDraft16Codec() {
1358
1745
 
1359
1746
 
1360
1747
 
1361
- exports.MSG_REQUEST_UPDATE = MSG_REQUEST_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_NAMESPACE = MSG_NAMESPACE; 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_NAMESPACE_DONE = MSG_NAMESPACE_DONE; exports.MSG_GOAWAY = MSG_GOAWAY; exports.MSG_SUBSCRIBE_NAMESPACE = MSG_SUBSCRIBE_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.createDraft16Codec = createDraft16Codec;
1748
+ exports.MSG_REQUEST_UPDATE = MSG_REQUEST_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_NAMESPACE = MSG_NAMESPACE; 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_NAMESPACE_DONE = MSG_NAMESPACE_DONE; exports.MSG_GOAWAY = MSG_GOAWAY; exports.MSG_SUBSCRIBE_NAMESPACE = MSG_SUBSCRIBE_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.createDraft16Codec = createDraft16Codec;