@moqtap/codec 0.2.3 → 0.4.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 (313) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +100 -99
  3. package/dist/{chunk-RZHAPEXO.js → chunk-2A57DRXV.js} +36 -10
  4. package/dist/{chunk-73MWUKSJ.js → chunk-2UTVXWFF.js} +190 -102
  5. package/dist/{chunk-JTVCOMBI.cjs → chunk-3XKO6PCR.cjs} +290 -183
  6. package/dist/{chunk-ACQ4CUJP.cjs → chunk-4BDEU3D4.cjs} +237 -158
  7. package/dist/{chunk-4N4INRE7.cjs → chunk-4HBKHNU2.cjs} +144 -110
  8. package/dist/{chunk-2ZT6CVSE.js → chunk-4IVZZOY3.js} +269 -162
  9. package/dist/{chunk-GLBQDG4L.cjs → chunk-5O764MBD.cjs} +508 -117
  10. package/dist/chunk-7KBAWOBA.js +1212 -0
  11. package/dist/{chunk-JSQM2MG3.js → chunk-7QOPNSDF.js} +44 -12
  12. package/dist/{chunk-SYHW3FLI.cjs → chunk-7RE6KSIY.cjs} +28 -8
  13. package/dist/{chunk-YG5KJESI.js → chunk-AY6IAHUM.js} +28 -8
  14. package/dist/{chunk-EFM5T7OM.js → chunk-BLQDWOSG.js} +36 -10
  15. package/dist/{chunk-UYXTY6ZQ.cjs → chunk-E65QKRSN.cjs} +20 -12
  16. package/dist/{chunk-BISI45MN.cjs → chunk-EAHE3IOG.cjs} +44 -12
  17. package/dist/{chunk-PZBPH2D7.js → chunk-GCBFHZW6.js} +216 -137
  18. package/dist/{chunk-GXEW4COZ.cjs → chunk-H5NSL4MO.cjs} +36 -10
  19. package/dist/chunk-HZHSO7EW.cjs +1212 -0
  20. package/dist/{chunk-KZCYQ7ED.cjs → chunk-IILNSDEQ.cjs} +69 -41
  21. package/dist/{chunk-4XYGE53S.cjs → chunk-J3XCPBW3.cjs} +36 -10
  22. package/dist/{chunk-6AEHWULA.cjs → chunk-JKOEJZ5B.cjs} +28 -8
  23. package/dist/{chunk-RUPCJTC3.cjs → chunk-JL3NEW3O.cjs} +23 -1
  24. package/dist/{chunk-G7GI7LJA.js → chunk-LORZMJJB.js} +36 -10
  25. package/dist/{chunk-DUBCL3WF.cjs → chunk-LV5C6MEC.cjs} +36 -10
  26. package/dist/{chunk-ENURAVHI.cjs → chunk-MYXAD5JC.cjs} +44 -12
  27. package/dist/{chunk-FXZ2MYKJ.js → chunk-MZ7HUCGJ.js} +20 -12
  28. package/dist/{chunk-S74DWJE2.cjs → chunk-OKG2HT25.cjs} +277 -88
  29. package/dist/{chunk-BGWGVINJ.cjs → chunk-PKEOQSSZ.cjs} +144 -110
  30. package/dist/{chunk-2GODRVT5.js → chunk-Q46ZURKX.js} +325 -48
  31. package/dist/{chunk-UR6JKS56.js → chunk-Q7IGWV3P.js} +41 -9
  32. package/dist/{chunk-XSNX2IUJ.js → chunk-RW4UG7CN.js} +121 -87
  33. package/dist/{chunk-DWK5ZQZ4.js → chunk-RZTLQAKF.js} +28 -8
  34. package/dist/{chunk-UNS34PTA.cjs → chunk-S6IPIN66.cjs} +44 -12
  35. package/dist/{chunk-YIG2C3LF.cjs → chunk-SDWRXXOO.cjs} +214 -126
  36. package/dist/{chunk-CEH7ESNC.js → chunk-SHMA4PBY.js} +121 -87
  37. package/dist/{chunk-MC7W6PMI.js → chunk-U3ZVLT5L.js} +483 -135
  38. package/dist/{chunk-VJUUZ4W2.cjs → chunk-UJU63EFY.cjs} +374 -97
  39. package/dist/{chunk-7L43FE6P.js → chunk-VOU7PNHI.js} +23 -1
  40. package/dist/{chunk-E6E3NQYU.js → chunk-WRHGCVYN.js} +44 -12
  41. package/dist/{chunk-FPISPJ5N.cjs → chunk-XNWYLVGU.cjs} +529 -181
  42. package/dist/{chunk-U3IPZYPX.js → chunk-XS77RBY7.js} +228 -39
  43. package/dist/{chunk-JGG7CMSZ.cjs → chunk-XZE5R57R.cjs} +144 -110
  44. package/dist/{chunk-77MNXX3M.js → chunk-Y6KCSM3V.js} +121 -87
  45. package/dist/{chunk-TLYNOOQP.cjs → chunk-YTPZZI2M.cjs} +41 -9
  46. package/dist/{chunk-7DUBLRXC.js → chunk-YWRCSQBA.js} +44 -12
  47. package/dist/{chunk-MRJWLGYH.js → chunk-Z3VKP3PJ.js} +69 -41
  48. package/dist/{chunk-E6P74GDT.js → chunk-Z6U26IRI.js} +464 -73
  49. package/dist/{codec-FvGCxIhr.d.ts → codec-25u4_1HS.d.ts} +4 -4
  50. package/dist/{codec-DRcsBCsb.d.ts → codec-3Ppy_5Gd.d.ts} +4 -4
  51. package/dist/{codec-BdVMRMOI.d.ts → codec-BB0U8MF2.d.cts} +4 -4
  52. package/dist/{codec-B2cH-f5V.d.cts → codec-BHHfBTnV.d.ts} +4 -4
  53. package/dist/{codec-B5K73Bdj.d.ts → codec-BN6jk0Td.d.cts} +4 -4
  54. package/dist/{codec-R8GrCPt2.d.ts → codec-BU0gaSZm.d.ts} +4 -4
  55. package/dist/{codec-Bq-tLtfP.d.ts → codec-C-Yk2RNa.d.ts} +4 -4
  56. package/dist/codec-CFWQY9Lj.d.cts +18 -0
  57. package/dist/{codec-CPlK3Pi5.d.ts → codec-COy4uuPO.d.cts} +4 -4
  58. package/dist/codec-CewFCsEy.d.ts +18 -0
  59. package/dist/{codec-KXHvXZVb.d.cts → codec-Ck7ZwFF1.d.cts} +4 -4
  60. package/dist/{codec-DZhZSIii.d.cts → codec-D2QVSH9D.d.ts} +4 -4
  61. package/dist/{codec-BwFgpeQu.d.ts → codec-DDUBJGn0.d.cts} +4 -4
  62. package/dist/{codec-BFeliJFc.d.ts → codec-DNfml-se.d.ts} +4 -4
  63. package/dist/{codec-C4n1PS09.d.cts → codec-DoOGjjDq.d.cts} +4 -4
  64. package/dist/{codec-Bap882Fh.d.cts → codec-J7ekOSMc.d.ts} +4 -4
  65. package/dist/{codec-SKBeHQk7.d.ts → codec-R9TJCq-E.d.cts} +4 -4
  66. package/dist/{codec-DNUIgLqc.d.cts → codec-ZwV-Njt6.d.ts} +4 -4
  67. package/dist/{codec-HgBgHkFI.d.cts → codec-j819z_hL.d.cts} +4 -4
  68. package/dist/{codec-DY4QH364.d.cts → codec-w8z2j_uo.d.cts} +4 -4
  69. package/dist/{codec-CPvPq0sb.d.cts → codec-wtt6WF1K.d.ts} +4 -4
  70. package/dist/{codec-BUMjz0J4.d.cts → codec-z6_2PSzi.d.cts} +4 -4
  71. package/dist/{draft7-session.cjs → draft07-session.cjs} +2 -2
  72. package/dist/draft07-session.d.cts +8 -0
  73. package/dist/draft07-session.d.ts +8 -0
  74. package/dist/{draft7-session.js → draft07-session.js} +1 -1
  75. package/dist/draft07.cjs +129 -0
  76. package/dist/draft07.d.cts +67 -0
  77. package/dist/draft07.d.ts +67 -0
  78. package/dist/draft07.js +129 -0
  79. package/dist/draft08-session.cjs +6 -0
  80. package/dist/draft08-session.d.cts +8 -0
  81. package/dist/draft08-session.d.ts +8 -0
  82. package/dist/{draft8-session.js → draft08-session.js} +1 -1
  83. package/dist/draft08.cjs +119 -0
  84. package/dist/{draft8.d.cts → draft08.d.cts} +15 -13
  85. package/dist/{draft8.d.ts → draft08.d.ts} +15 -13
  86. package/dist/{draft8.js → draft08.js} +7 -4
  87. package/dist/draft09-session.cjs +6 -0
  88. package/dist/draft09-session.d.cts +8 -0
  89. package/dist/draft09-session.d.ts +8 -0
  90. package/dist/{draft9-session.js → draft09-session.js} +1 -1
  91. package/dist/draft09.cjs +119 -0
  92. package/dist/{draft9.d.cts → draft09.d.cts} +15 -13
  93. package/dist/{draft9.d.ts → draft09.d.ts} +15 -13
  94. package/dist/{draft9.js → draft09.js} +7 -4
  95. package/dist/draft10-session.cjs +2 -2
  96. package/dist/draft10-session.d.cts +6 -6
  97. package/dist/draft10-session.d.ts +6 -6
  98. package/dist/draft10-session.js +1 -1
  99. package/dist/draft10.cjs +8 -5
  100. package/dist/draft10.d.cts +14 -12
  101. package/dist/draft10.d.ts +14 -12
  102. package/dist/draft10.js +16 -13
  103. package/dist/draft11-session.cjs +2 -2
  104. package/dist/draft11-session.d.cts +6 -6
  105. package/dist/draft11-session.d.ts +6 -6
  106. package/dist/draft11-session.js +1 -1
  107. package/dist/draft11.cjs +8 -5
  108. package/dist/draft11.d.cts +14 -12
  109. package/dist/draft11.d.ts +14 -12
  110. package/dist/draft11.js +16 -13
  111. package/dist/draft12-session.cjs +2 -2
  112. package/dist/draft12-session.d.cts +6 -6
  113. package/dist/draft12-session.d.ts +6 -6
  114. package/dist/draft12-session.js +1 -1
  115. package/dist/draft12.cjs +8 -5
  116. package/dist/draft12.d.cts +16 -14
  117. package/dist/draft12.d.ts +16 -14
  118. package/dist/draft12.js +16 -13
  119. package/dist/draft13-session.cjs +2 -2
  120. package/dist/draft13-session.d.cts +6 -6
  121. package/dist/draft13-session.d.ts +6 -6
  122. package/dist/draft13-session.js +1 -1
  123. package/dist/draft13.cjs +8 -5
  124. package/dist/draft13.d.cts +16 -14
  125. package/dist/draft13.d.ts +16 -14
  126. package/dist/draft13.js +16 -13
  127. package/dist/draft14-session.cjs +2 -2
  128. package/dist/draft14-session.d.cts +6 -6
  129. package/dist/draft14-session.d.ts +6 -6
  130. package/dist/draft14-session.js +1 -1
  131. package/dist/draft14.cjs +14 -5
  132. package/dist/draft14.d.cts +14 -12
  133. package/dist/draft14.d.ts +14 -12
  134. package/dist/draft14.js +13 -4
  135. package/dist/draft15-session.cjs +2 -2
  136. package/dist/draft15-session.d.cts +6 -6
  137. package/dist/draft15-session.d.ts +6 -6
  138. package/dist/draft15-session.js +1 -1
  139. package/dist/draft15.cjs +8 -5
  140. package/dist/draft15.d.cts +14 -12
  141. package/dist/draft15.d.ts +14 -12
  142. package/dist/draft15.js +16 -13
  143. package/dist/draft16-session.cjs +2 -2
  144. package/dist/draft16-session.d.cts +6 -6
  145. package/dist/draft16-session.d.ts +6 -6
  146. package/dist/draft16-session.js +1 -1
  147. package/dist/draft16.cjs +8 -5
  148. package/dist/draft16.d.cts +14 -12
  149. package/dist/draft16.d.ts +14 -12
  150. package/dist/draft16.js +16 -13
  151. package/dist/draft17-session.cjs +2 -2
  152. package/dist/draft17-session.d.cts +7 -7
  153. package/dist/draft17-session.d.ts +7 -7
  154. package/dist/draft17-session.js +1 -1
  155. package/dist/draft17.cjs +8 -5
  156. package/dist/draft17.d.cts +11 -9
  157. package/dist/draft17.d.ts +11 -9
  158. package/dist/draft17.js +16 -13
  159. package/dist/index.cjs +52 -74
  160. package/dist/index.d.cts +41 -60
  161. package/dist/index.d.ts +41 -60
  162. package/dist/index.js +40 -62
  163. package/dist/{session-types-CJIFbTPd.d.ts → session-types-C7UONex5.d.cts} +28 -27
  164. package/dist/{session-types-Cbq8IGCP.d.cts → session-types-X-IYEGoG.d.ts} +28 -27
  165. package/dist/session.cjs +46 -13
  166. package/dist/session.d.cts +29 -11
  167. package/dist/session.d.ts +29 -11
  168. package/dist/session.js +46 -13
  169. package/dist/{types-DxSFvL2b.d.cts → types--Q7_DcvP.d.cts} +43 -39
  170. package/dist/{types-DxSFvL2b.d.ts → types--Q7_DcvP.d.ts} +43 -39
  171. package/dist/{types-B0FT5Qs2.d.cts → types-0IWbU9Z_.d.cts} +36 -36
  172. package/dist/{types-B0FT5Qs2.d.ts → types-0IWbU9Z_.d.ts} +36 -36
  173. package/dist/{types-gQsr0AAA.d.cts → types-B3g5G9KP.d.cts} +36 -36
  174. package/dist/{types-gQsr0AAA.d.ts → types-B3g5G9KP.d.ts} +36 -36
  175. package/dist/{types-Pme7sua0.d.cts → types-BFpFNM_m.d.cts} +57 -32
  176. package/dist/{types-Pme7sua0.d.ts → types-BFpFNM_m.d.ts} +57 -32
  177. package/dist/{types-8gUGeMgs.d.cts → types-Br7fm2mf.d.cts} +48 -26
  178. package/dist/{types-8gUGeMgs.d.ts → types-Br7fm2mf.d.ts} +48 -26
  179. package/dist/{types-BeAVNU-F.d.cts → types-C2qKTRR_.d.cts} +50 -45
  180. package/dist/{types-BeAVNU-F.d.ts → types-C2qKTRR_.d.ts} +50 -45
  181. package/dist/{types-DKpsfD3i.d.cts → types-DEaypVsD.d.cts} +115 -55
  182. package/dist/{types-DKpsfD3i.d.ts → types-DEaypVsD.d.ts} +115 -55
  183. package/dist/types-Dl4IaAHR.d.cts +282 -0
  184. package/dist/types-Dl4IaAHR.d.ts +282 -0
  185. package/dist/{types-CDa7F5ct.d.cts → types-DrQpTW1G.d.cts} +58 -50
  186. package/dist/{types-CDa7F5ct.d.ts → types-DrQpTW1G.d.ts} +58 -50
  187. package/dist/types-DuIO7cWK.d.cts +25 -0
  188. package/dist/types-DuIO7cWK.d.ts +25 -0
  189. package/dist/{types-B9A2g05r.d.cts → types-DuxfOYiO.d.cts} +47 -31
  190. package/dist/{types-B9A2g05r.d.ts → types-DuxfOYiO.d.ts} +47 -31
  191. package/dist/{types-D1dI_oTX.d.cts → types-jV1yDDBA.d.cts} +36 -36
  192. package/dist/{types-D1dI_oTX.d.ts → types-jV1yDDBA.d.ts} +36 -36
  193. package/package.json +192 -192
  194. package/src/core/buffer-reader.ts +130 -130
  195. package/src/core/buffer-writer.ts +100 -100
  196. package/src/core/errors.ts +1 -1
  197. package/src/core/hex.ts +21 -21
  198. package/src/core/session-types.ts +61 -59
  199. package/src/core/types.ts +18 -361
  200. package/src/drafts/draft07/codec.ts +1058 -938
  201. package/src/drafts/draft07/data-streams.ts +240 -240
  202. package/src/drafts/draft07/index.ts +124 -89
  203. package/src/drafts/draft07/messages.ts +76 -42
  204. package/src/drafts/draft07/rules.ts +107 -101
  205. package/src/drafts/draft07/session-fsm.ts +315 -287
  206. package/src/drafts/draft07/session.ts +8 -6
  207. package/src/drafts/draft07/types.ts +406 -72
  208. package/src/drafts/draft07/varint.ts +51 -51
  209. package/src/drafts/draft08/codec.ts +985 -953
  210. package/src/drafts/draft08/data-streams.ts +363 -359
  211. package/src/drafts/draft08/index.ts +10 -9
  212. package/src/drafts/draft08/messages.ts +59 -59
  213. package/src/drafts/draft08/rules.ts +73 -73
  214. package/src/drafts/draft08/session-fsm.ts +335 -303
  215. package/src/drafts/draft08/session.ts +6 -7
  216. package/src/drafts/draft08/types.ts +380 -384
  217. package/src/drafts/draft09/codec.ts +977 -945
  218. package/src/drafts/draft09/data-streams.ts +336 -332
  219. package/src/drafts/draft09/index.ts +10 -9
  220. package/src/drafts/draft09/messages.ts +59 -59
  221. package/src/drafts/draft09/rules.ts +73 -73
  222. package/src/drafts/draft09/session-fsm.ts +335 -303
  223. package/src/drafts/draft09/session.ts +6 -7
  224. package/src/drafts/draft09/types.ts +380 -384
  225. package/src/drafts/draft10/codec.ts +977 -945
  226. package/src/drafts/draft10/data-streams.ts +336 -332
  227. package/src/drafts/draft10/index.ts +10 -9
  228. package/src/drafts/draft10/messages.ts +59 -59
  229. package/src/drafts/draft10/rules.ts +73 -73
  230. package/src/drafts/draft10/session-fsm.ts +335 -303
  231. package/src/drafts/draft10/session.ts +6 -7
  232. package/src/drafts/draft10/types.ts +380 -384
  233. package/src/drafts/draft11/codec.ts +1054 -988
  234. package/src/drafts/draft11/data-streams.ts +316 -269
  235. package/src/drafts/draft11/index.ts +10 -9
  236. package/src/drafts/draft11/messages.ts +60 -59
  237. package/src/drafts/draft11/rules.ts +73 -73
  238. package/src/drafts/draft11/session-fsm.ts +359 -333
  239. package/src/drafts/draft11/session.ts +6 -7
  240. package/src/drafts/draft11/types.ts +385 -381
  241. package/src/drafts/draft12/codec.ts +1178 -1122
  242. package/src/drafts/draft12/data-streams.ts +324 -275
  243. package/src/drafts/draft12/index.ts +10 -9
  244. package/src/drafts/draft12/messages.ts +67 -66
  245. package/src/drafts/draft12/rules.ts +79 -79
  246. package/src/drafts/draft12/session-fsm.ts +384 -358
  247. package/src/drafts/draft12/session.ts +6 -7
  248. package/src/drafts/draft12/types.ts +424 -419
  249. package/src/drafts/draft13/codec.ts +1296 -1206
  250. package/src/drafts/draft13/data-streams.ts +326 -275
  251. package/src/drafts/draft13/index.ts +10 -9
  252. package/src/drafts/draft13/messages.ts +73 -68
  253. package/src/drafts/draft13/rules.ts +81 -81
  254. package/src/drafts/draft13/session-fsm.ts +392 -366
  255. package/src/drafts/draft13/session.ts +6 -7
  256. package/src/drafts/draft13/types.ts +447 -438
  257. package/src/drafts/draft14/codec.ts +1347 -1043
  258. package/src/drafts/draft14/data-streams.ts +831 -813
  259. package/src/drafts/draft14/index.ts +17 -9
  260. package/src/drafts/draft14/messages.ts +65 -65
  261. package/src/drafts/draft14/rules.ts +81 -81
  262. package/src/drafts/draft14/session-fsm.ts +415 -405
  263. package/src/drafts/draft14/session.ts +6 -7
  264. package/src/drafts/draft14/types.ts +451 -381
  265. package/src/drafts/draft15/codec.ts +1138 -978
  266. package/src/drafts/draft15/data-streams.ts +842 -794
  267. package/src/drafts/draft15/index.ts +10 -9
  268. package/src/drafts/draft15/messages.ts +54 -53
  269. package/src/drafts/draft15/rules.ts +67 -67
  270. package/src/drafts/draft15/session-fsm.ts +319 -299
  271. package/src/drafts/draft15/session.ts +6 -7
  272. package/src/drafts/draft15/types.ts +357 -339
  273. package/src/drafts/draft16/codec.ts +1242 -966
  274. package/src/drafts/draft16/data-streams.ts +835 -789
  275. package/src/drafts/draft16/index.ts +10 -9
  276. package/src/drafts/draft16/messages.ts +56 -55
  277. package/src/drafts/draft16/rules.ts +69 -69
  278. package/src/drafts/draft16/session-fsm.ts +319 -299
  279. package/src/drafts/draft16/session.ts +6 -7
  280. package/src/drafts/draft16/types.ts +386 -357
  281. package/src/drafts/draft17/codec.ts +1209 -971
  282. package/src/drafts/draft17/data-streams.ts +969 -758
  283. package/src/drafts/draft17/index.ts +9 -7
  284. package/src/drafts/draft17/messages.ts +43 -42
  285. package/src/drafts/draft17/rules.ts +58 -58
  286. package/src/drafts/draft17/session-fsm.ts +248 -216
  287. package/src/drafts/draft17/session.ts +5 -5
  288. package/src/drafts/draft17/types.ts +337 -313
  289. package/src/index.ts +85 -274
  290. package/src/session.ts +63 -25
  291. package/dist/chunk-FZDIEHQL.cjs +0 -1042
  292. package/dist/chunk-HDWJ2GDE.js +0 -24
  293. package/dist/chunk-KNDYS3DK.cjs +0 -24
  294. package/dist/chunk-N2KBF5Q2.js +0 -1042
  295. package/dist/draft7-session.d.cts +0 -7
  296. package/dist/draft7-session.d.ts +0 -7
  297. package/dist/draft7.cjs +0 -72
  298. package/dist/draft7.d.cts +0 -148
  299. package/dist/draft7.d.ts +0 -148
  300. package/dist/draft7.js +0 -72
  301. package/dist/draft8-session.cjs +0 -6
  302. package/dist/draft8-session.d.cts +0 -8
  303. package/dist/draft8-session.d.ts +0 -8
  304. package/dist/draft8.cjs +0 -116
  305. package/dist/draft9-session.cjs +0 -6
  306. package/dist/draft9-session.d.cts +0 -8
  307. package/dist/draft9-session.d.ts +0 -8
  308. package/dist/draft9.cjs +0 -116
  309. package/dist/types-QNXoxC9Y.d.cts +0 -236
  310. package/dist/types-QNXoxC9Y.d.ts +0 -236
  311. package/src/drafts/draft07/announce-fsm.ts +0 -2
  312. package/src/drafts/draft07/parameters.ts +0 -12
  313. package/src/drafts/draft07/subscription-fsm.ts +0 -3
@@ -1,12 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
2
2
 
3
3
 
4
- var _chunkKNDYS3DKcjs = require('./chunk-KNDYS3DK.cjs');
5
4
 
6
5
 
7
6
 
8
-
9
- var _chunkRUPCJTC3cjs = require('./chunk-RUPCJTC3.cjs');
7
+ var _chunkJL3NEW3Ocjs = require('./chunk-JL3NEW3O.cjs');
10
8
 
11
9
  // src/drafts/draft14/messages.ts
12
10
  var MSG_SUBSCRIBE_UPDATE = 0x02n;
@@ -78,13 +76,31 @@ var MESSAGE_ID_MAP = new Map(
78
76
  [...MESSAGE_TYPE_MAP.entries()].map(([id, name]) => [name, id])
79
77
  );
80
78
 
79
+ // src/drafts/draft14/types.ts
80
+ var FilterType = {
81
+ NextGroupStart: 1n,
82
+ LargestObject: 2n,
83
+ AbsoluteStart: 3n,
84
+ AbsoluteRange: 4n
85
+ };
86
+ var GroupOrder = {
87
+ PublisherChoice: 0n,
88
+ Ascending: 1n,
89
+ Descending: 2n
90
+ };
91
+ var FetchType = {
92
+ Standalone: 1n,
93
+ RelativeJoining: 2n,
94
+ AbsoluteJoining: 3n
95
+ };
96
+
81
97
  // src/drafts/draft14/data-streams.ts
82
98
  var FETCH_STREAM_TYPE = 0x05n;
83
99
  function isValidSubgroupType(t) {
84
100
  return t >= 16 && t <= 21 || t >= 24 && t <= 29;
85
101
  }
86
102
  function encodeSubgroupStream(stream) {
87
- const w = new (0, _chunkRUPCJTC3cjs.BufferWriter)();
103
+ const w = new (0, _chunkJL3NEW3Ocjs.BufferWriter)();
88
104
  w.writeVarInt(BigInt(stream.headerType));
89
105
  w.writeVarInt(stream.trackAlias);
90
106
  w.writeVarInt(stream.groupId);
@@ -116,7 +132,7 @@ function encodeSubgroupStream(stream) {
116
132
  return w.finish();
117
133
  }
118
134
  function encodeDatagram(dg) {
119
- const w = new (0, _chunkRUPCJTC3cjs.BufferWriter)();
135
+ const w = new (0, _chunkJL3NEW3Ocjs.BufferWriter)();
120
136
  w.writeVarInt(BigInt(dg.datagramType));
121
137
  w.writeVarInt(dg.trackAlias);
122
138
  w.writeVarInt(dg.groupId);
@@ -128,7 +144,9 @@ function encodeDatagram(dg) {
128
144
  }
129
145
  w.writeUint8(dg.publisherPriority);
130
146
  if (extensionsPresent) {
131
- w.writeVarInt(0);
147
+ const extData = _nullishCoalesce(dg.extensionData, () => ( new Uint8Array(0)));
148
+ w.writeVarInt(extData.byteLength);
149
+ if (extData.byteLength > 0) w.writeBytes(extData);
132
150
  }
133
151
  if (isStatus) {
134
152
  w.writeVarInt(_nullishCoalesce(dg.objectStatus, () => ( 0n)));
@@ -138,7 +156,7 @@ function encodeDatagram(dg) {
138
156
  return w.finish();
139
157
  }
140
158
  function encodeFetchStream(stream) {
141
- const w = new (0, _chunkRUPCJTC3cjs.BufferWriter)();
159
+ const w = new (0, _chunkJL3NEW3Ocjs.BufferWriter)();
142
160
  w.writeVarInt(FETCH_STREAM_TYPE);
143
161
  w.writeVarInt(stream.requestId);
144
162
  for (const obj of stream.objects) {
@@ -160,12 +178,12 @@ function encodeFetchStream(stream) {
160
178
  }
161
179
  function decodeSubgroupStream(bytes) {
162
180
  try {
163
- const r = new (0, _chunkRUPCJTC3cjs.BufferReader)(bytes);
181
+ const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(bytes);
164
182
  const streamType = Number(r.readVarInt());
165
183
  if (!isValidSubgroupType(streamType)) {
166
184
  return {
167
185
  ok: false,
168
- error: new (0, _chunkRUPCJTC3cjs.DecodeError)(
186
+ error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
169
187
  "CONSTRAINT_VIOLATION",
170
188
  `Expected subgroup stream type 0x10-0x1D, got 0x${streamType.toString(16)}`,
171
189
  0
@@ -215,7 +233,15 @@ function decodeSubgroupStream(bytes) {
215
233
  payloadByteOffset = r.offset;
216
234
  payload = r.readBytesView(payloadLength);
217
235
  }
218
- const obj = { type: "object", byteOffset, payloadByteOffset, objectId, payloadLength, payload, extensionData };
236
+ const obj = {
237
+ type: "object",
238
+ byteOffset,
239
+ payloadByteOffset,
240
+ objectId,
241
+ payloadLength,
242
+ payload,
243
+ extensionData
244
+ };
219
245
  if (status !== void 0) obj.status = status;
220
246
  objects.push(obj);
221
247
  prevObjectId = objectId;
@@ -234,19 +260,19 @@ function decodeSubgroupStream(bytes) {
234
260
  bytesRead: r.offset
235
261
  };
236
262
  } catch (e) {
237
- if (e instanceof _chunkRUPCJTC3cjs.DecodeError) return { ok: false, error: e };
263
+ if (e instanceof _chunkJL3NEW3Ocjs.DecodeError) return { ok: false, error: e };
238
264
  throw e;
239
265
  }
240
266
  }
241
267
  function decodeDatagram(bytes) {
242
268
  try {
243
- const r = new (0, _chunkRUPCJTC3cjs.BufferReader)(bytes);
269
+ const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(bytes);
244
270
  const dgType = Number(r.readVarInt());
245
271
  const validDatagram = dgType >= 0 && dgType <= 7 || dgType === 32 || dgType === 33;
246
272
  if (!validDatagram) {
247
273
  return {
248
274
  ok: false,
249
- error: new (0, _chunkRUPCJTC3cjs.DecodeError)(
275
+ error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
250
276
  "CONSTRAINT_VIOLATION",
251
277
  `Expected datagram type 0x00-0x07 or 0x20-0x21, got 0x${dgType.toString(16)}`,
252
278
  0
@@ -264,11 +290,10 @@ function decodeDatagram(bytes) {
264
290
  objectId = r.readVarInt();
265
291
  }
266
292
  const publisherPriority = r.readUint8();
293
+ let extensionData;
267
294
  if (extensionsPresent) {
268
295
  const extLen = Number(r.readVarInt());
269
- if (extLen > 0) {
270
- r.readBytesView(extLen);
271
- }
296
+ extensionData = extLen > 0 ? r.readBytesView(extLen) : new Uint8Array(0);
272
297
  }
273
298
  let objectStatus;
274
299
  let payload;
@@ -292,20 +317,22 @@ function decodeDatagram(bytes) {
292
317
  if (endOfGroup) result.endOfGroup = true;
293
318
  if (objectStatus !== void 0)
294
319
  result.objectStatus = objectStatus;
320
+ if (extensionData !== void 0)
321
+ result.extensionData = extensionData;
295
322
  return { ok: true, value: result, bytesRead: r.offset };
296
323
  } catch (e) {
297
- if (e instanceof _chunkRUPCJTC3cjs.DecodeError) return { ok: false, error: e };
324
+ if (e instanceof _chunkJL3NEW3Ocjs.DecodeError) return { ok: false, error: e };
298
325
  throw e;
299
326
  }
300
327
  }
301
328
  function decodeFetchStream(bytes) {
302
329
  try {
303
- const r = new (0, _chunkRUPCJTC3cjs.BufferReader)(bytes);
330
+ const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(bytes);
304
331
  const streamType = r.readVarInt();
305
332
  if (streamType !== FETCH_STREAM_TYPE) {
306
333
  return {
307
334
  ok: false,
308
- error: new (0, _chunkRUPCJTC3cjs.DecodeError)(
335
+ error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
309
336
  "CONSTRAINT_VIOLATION",
310
337
  `Expected fetch stream type 0x05, got 0x${streamType.toString(16)}`,
311
338
  0
@@ -355,7 +382,7 @@ function decodeFetchStream(bytes) {
355
382
  bytesRead: r.offset
356
383
  };
357
384
  } catch (e) {
358
- if (e instanceof _chunkRUPCJTC3cjs.DecodeError) return { ok: false, error: e };
385
+ if (e instanceof _chunkJL3NEW3Ocjs.DecodeError) return { ok: false, error: e };
359
386
  throw e;
360
387
  }
361
388
  }
@@ -392,11 +419,11 @@ function createSubgroupStreamDecoder() {
392
419
  buffer = newBuffer;
393
420
  if (!headerEmitted) {
394
421
  try {
395
- const r = new (0, _chunkRUPCJTC3cjs.BufferReader)(buffer.subarray(offset));
422
+ const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(buffer.subarray(offset));
396
423
  const streamType = Number(r.readVarInt());
397
424
  if (!isValidSubgroupType(streamType)) {
398
425
  controller.error(
399
- new (0, _chunkRUPCJTC3cjs.DecodeError)(
426
+ new (0, _chunkJL3NEW3Ocjs.DecodeError)(
400
427
  "CONSTRAINT_VIOLATION",
401
428
  `Expected subgroup stream type 0x10-0x1D, got 0x${streamType.toString(16)}`,
402
429
  0
@@ -424,7 +451,7 @@ function createSubgroupStreamDecoder() {
424
451
  headerEmitted = true;
425
452
  offset += r.offset;
426
453
  } catch (e) {
427
- if (e instanceof _chunkRUPCJTC3cjs.DecodeError && e.code === "UNEXPECTED_END") {
454
+ if (e instanceof _chunkJL3NEW3Ocjs.DecodeError && e.code === "UNEXPECTED_END") {
428
455
  return;
429
456
  }
430
457
  controller.error(e);
@@ -433,7 +460,7 @@ function createSubgroupStreamDecoder() {
433
460
  }
434
461
  while (offset < buffer.length) {
435
462
  try {
436
- const r = new (0, _chunkRUPCJTC3cjs.BufferReader)(buffer.subarray(offset));
463
+ const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(buffer.subarray(offset));
437
464
  const byteOffset = r.offset;
438
465
  const delta = r.readVarInt();
439
466
  const objectId = firstObject ? delta : prevObjectId + 1n + delta;
@@ -455,13 +482,21 @@ function createSubgroupStreamDecoder() {
455
482
  payloadByteOffset = r.offset;
456
483
  payload = r.readBytesView(payloadLength);
457
484
  }
458
- const obj = { type: "object", byteOffset, payloadByteOffset, objectId, payloadLength, payload, extensionData };
485
+ const obj = {
486
+ type: "object",
487
+ byteOffset,
488
+ payloadByteOffset,
489
+ objectId,
490
+ payloadLength,
491
+ payload,
492
+ extensionData
493
+ };
459
494
  if (status !== void 0) obj.status = status;
460
495
  controller.enqueue(obj);
461
496
  prevObjectId = objectId;
462
497
  offset += r.offset;
463
498
  } catch (e) {
464
- if (e instanceof _chunkRUPCJTC3cjs.DecodeError && e.code === "UNEXPECTED_END") {
499
+ if (e instanceof _chunkJL3NEW3Ocjs.DecodeError && e.code === "UNEXPECTED_END") {
465
500
  break;
466
501
  }
467
502
  controller.error(e);
@@ -471,7 +506,7 @@ function createSubgroupStreamDecoder() {
471
506
  },
472
507
  flush(controller) {
473
508
  if (offset < buffer.length) {
474
- controller.error(new (0, _chunkRUPCJTC3cjs.DecodeError)("UNEXPECTED_END", "Stream ended with incomplete data", 0));
509
+ controller.error(new (0, _chunkJL3NEW3Ocjs.DecodeError)("UNEXPECTED_END", "Stream ended with incomplete data", 0));
475
510
  }
476
511
  }
477
512
  });
@@ -492,11 +527,11 @@ function createFetchStreamDecoder() {
492
527
  buffer = newBuffer;
493
528
  if (!headerEmitted) {
494
529
  try {
495
- const r = new (0, _chunkRUPCJTC3cjs.BufferReader)(buffer.subarray(offset));
530
+ const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(buffer.subarray(offset));
496
531
  const streamType = r.readVarInt();
497
532
  if (streamType !== FETCH_STREAM_TYPE) {
498
533
  controller.error(
499
- new (0, _chunkRUPCJTC3cjs.DecodeError)(
534
+ new (0, _chunkJL3NEW3Ocjs.DecodeError)(
500
535
  "CONSTRAINT_VIOLATION",
501
536
  `Expected fetch stream type 0x05, got 0x${streamType.toString(16)}`,
502
537
  0
@@ -509,7 +544,7 @@ function createFetchStreamDecoder() {
509
544
  headerEmitted = true;
510
545
  offset += r.offset;
511
546
  } catch (e) {
512
- if (e instanceof _chunkRUPCJTC3cjs.DecodeError && e.code === "UNEXPECTED_END") {
547
+ if (e instanceof _chunkJL3NEW3Ocjs.DecodeError && e.code === "UNEXPECTED_END") {
513
548
  return;
514
549
  }
515
550
  controller.error(e);
@@ -518,7 +553,7 @@ function createFetchStreamDecoder() {
518
553
  }
519
554
  while (offset < buffer.length) {
520
555
  try {
521
- const r = new (0, _chunkRUPCJTC3cjs.BufferReader)(buffer.subarray(offset));
556
+ const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(buffer.subarray(offset));
522
557
  const byteOffset = r.offset;
523
558
  const groupId = r.readVarInt();
524
559
  const subgroupId = r.readVarInt();
@@ -554,7 +589,7 @@ function createFetchStreamDecoder() {
554
589
  controller.enqueue(obj);
555
590
  offset += r.offset;
556
591
  } catch (e) {
557
- if (e instanceof _chunkRUPCJTC3cjs.DecodeError && e.code === "UNEXPECTED_END") {
592
+ if (e instanceof _chunkJL3NEW3Ocjs.DecodeError && e.code === "UNEXPECTED_END") {
558
593
  break;
559
594
  }
560
595
  controller.error(e);
@@ -564,7 +599,7 @@ function createFetchStreamDecoder() {
564
599
  },
565
600
  flush(controller) {
566
601
  if (offset < buffer.length) {
567
- controller.error(new (0, _chunkRUPCJTC3cjs.DecodeError)("UNEXPECTED_END", "Stream ended with incomplete data", 0));
602
+ controller.error(new (0, _chunkJL3NEW3Ocjs.DecodeError)("UNEXPECTED_END", "Stream ended with incomplete data", 0));
568
603
  }
569
604
  }
570
605
  });
@@ -589,7 +624,7 @@ function createDataStreamDecoder() {
589
624
  buffer = newBuffer;
590
625
  if (detectedType === null) {
591
626
  try {
592
- const r = new (0, _chunkRUPCJTC3cjs.BufferReader)(buffer.subarray(offset));
627
+ const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(buffer.subarray(offset));
593
628
  const streamType = Number(r.readVarInt());
594
629
  if (isValidSubgroupType(streamType)) {
595
630
  detectedType = "subgroup";
@@ -597,7 +632,7 @@ function createDataStreamDecoder() {
597
632
  detectedType = "fetch";
598
633
  } else {
599
634
  controller.error(
600
- new (0, _chunkRUPCJTC3cjs.DecodeError)(
635
+ new (0, _chunkJL3NEW3Ocjs.DecodeError)(
601
636
  "CONSTRAINT_VIOLATION",
602
637
  `Unknown data stream type: 0x${streamType.toString(16)}`,
603
638
  0
@@ -606,7 +641,7 @@ function createDataStreamDecoder() {
606
641
  return;
607
642
  }
608
643
  } catch (e) {
609
- if (e instanceof _chunkRUPCJTC3cjs.DecodeError && e.code === "UNEXPECTED_END") {
644
+ if (e instanceof _chunkJL3NEW3Ocjs.DecodeError && e.code === "UNEXPECTED_END") {
610
645
  return;
611
646
  }
612
647
  controller.error(e);
@@ -616,7 +651,7 @@ function createDataStreamDecoder() {
616
651
  if (detectedType === "subgroup") {
617
652
  if (!headerEmitted) {
618
653
  try {
619
- const r = new (0, _chunkRUPCJTC3cjs.BufferReader)(buffer.subarray(offset));
654
+ const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(buffer.subarray(offset));
620
655
  const streamType = Number(r.readVarInt());
621
656
  extensionsPresent = (streamType & 1) !== 0;
622
657
  const hasSubgroupField = (streamType & 4) !== 0;
@@ -636,14 +671,14 @@ function createDataStreamDecoder() {
636
671
  headerEmitted = true;
637
672
  offset += r.offset;
638
673
  } catch (e) {
639
- if (e instanceof _chunkRUPCJTC3cjs.DecodeError && e.code === "UNEXPECTED_END") return;
674
+ if (e instanceof _chunkJL3NEW3Ocjs.DecodeError && e.code === "UNEXPECTED_END") return;
640
675
  controller.error(e);
641
676
  return;
642
677
  }
643
678
  }
644
679
  while (offset < buffer.length) {
645
680
  try {
646
- const r = new (0, _chunkRUPCJTC3cjs.BufferReader)(buffer.subarray(offset));
681
+ const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(buffer.subarray(offset));
647
682
  const byteOffset = r.offset;
648
683
  const delta = r.readVarInt();
649
684
  const objectId = firstObject ? delta : prevObjectId + 1n + delta;
@@ -665,14 +700,21 @@ function createDataStreamDecoder() {
665
700
  payloadByteOffset = r.offset;
666
701
  payload = r.readBytesView(payloadLength);
667
702
  }
668
- const obj = { type: "object", byteOffset, payloadByteOffset, objectId, payloadLength, payload, extensionData };
669
- if (status !== void 0)
670
- obj.status = status;
703
+ const obj = {
704
+ type: "object",
705
+ byteOffset,
706
+ payloadByteOffset,
707
+ objectId,
708
+ payloadLength,
709
+ payload,
710
+ extensionData
711
+ };
712
+ if (status !== void 0) obj.status = status;
671
713
  controller.enqueue(obj);
672
714
  prevObjectId = objectId;
673
715
  offset += r.offset;
674
716
  } catch (e) {
675
- if (e instanceof _chunkRUPCJTC3cjs.DecodeError && e.code === "UNEXPECTED_END") break;
717
+ if (e instanceof _chunkJL3NEW3Ocjs.DecodeError && e.code === "UNEXPECTED_END") break;
676
718
  controller.error(e);
677
719
  return;
678
720
  }
@@ -680,21 +722,21 @@ function createDataStreamDecoder() {
680
722
  } else {
681
723
  if (!headerEmitted) {
682
724
  try {
683
- const r = new (0, _chunkRUPCJTC3cjs.BufferReader)(buffer.subarray(offset));
725
+ const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(buffer.subarray(offset));
684
726
  r.readVarInt();
685
727
  const requestId = r.readVarInt();
686
728
  controller.enqueue({ type: "fetch_header", requestId });
687
729
  headerEmitted = true;
688
730
  offset += r.offset;
689
731
  } catch (e) {
690
- if (e instanceof _chunkRUPCJTC3cjs.DecodeError && e.code === "UNEXPECTED_END") return;
732
+ if (e instanceof _chunkJL3NEW3Ocjs.DecodeError && e.code === "UNEXPECTED_END") return;
691
733
  controller.error(e);
692
734
  return;
693
735
  }
694
736
  }
695
737
  while (offset < buffer.length) {
696
738
  try {
697
- const r = new (0, _chunkRUPCJTC3cjs.BufferReader)(buffer.subarray(offset));
739
+ const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(buffer.subarray(offset));
698
740
  const byteOffset = r.offset;
699
741
  const groupId = r.readVarInt();
700
742
  const subgroupId = r.readVarInt();
@@ -714,13 +756,23 @@ function createDataStreamDecoder() {
714
756
  payloadByteOffset = r.offset;
715
757
  payload = r.readBytesView(payloadLength);
716
758
  }
717
- const obj = { type: "object", byteOffset, payloadByteOffset, objectId, payloadLength, payload, extensionData };
718
- if (status !== void 0)
719
- obj.status = status;
759
+ const obj = {
760
+ type: "object",
761
+ byteOffset,
762
+ payloadByteOffset,
763
+ groupId,
764
+ subgroupId,
765
+ objectId,
766
+ publisherPriority,
767
+ payloadLength,
768
+ payload,
769
+ extensionData
770
+ };
771
+ if (status !== void 0) obj.status = status;
720
772
  controller.enqueue(obj);
721
773
  offset += r.offset;
722
774
  } catch (e) {
723
- if (e instanceof _chunkRUPCJTC3cjs.DecodeError && e.code === "UNEXPECTED_END") break;
775
+ if (e instanceof _chunkJL3NEW3Ocjs.DecodeError && e.code === "UNEXPECTED_END") break;
724
776
  controller.error(e);
725
777
  return;
726
778
  }
@@ -729,7 +781,7 @@ function createDataStreamDecoder() {
729
781
  },
730
782
  flush(controller) {
731
783
  if (offset < buffer.length) {
732
- controller.error(new (0, _chunkRUPCJTC3cjs.DecodeError)("UNEXPECTED_END", "Stream ended with incomplete data", 0));
784
+ controller.error(new (0, _chunkJL3NEW3Ocjs.DecodeError)("UNEXPECTED_END", "Stream ended with incomplete data", 0));
733
785
  }
734
786
  }
735
787
  });
@@ -738,11 +790,18 @@ function createDataStreamDecoder() {
738
790
  // src/drafts/draft14/codec.ts
739
791
  var textEncoder = /* @__PURE__ */ new TextEncoder();
740
792
  var textDecoder = /* @__PURE__ */ new TextDecoder();
741
- function encodeParams(params, writer) {
793
+ var PARAM_AUTHORITY = 0x05n;
794
+ var PARAM_MAX_AUTH_TOKEN_CACHE_SIZE = 0x04n;
795
+ var PARAM_DELIVERY_TIMEOUT = 0x02n;
796
+ var PARAM_AUTHORIZATION_TOKEN = 0x03n;
797
+ var PARAM_MAX_CACHE_DURATION = 0x04n;
798
+ function encodeSetupParams(params, writer) {
742
799
  let count = 0;
743
800
  if (params.role !== void 0) count++;
744
801
  if (params.path !== void 0) count++;
745
802
  if (params.max_request_id !== void 0) count++;
803
+ if (params.authority !== void 0) count++;
804
+ if (params.max_auth_token_cache_size !== void 0) count++;
746
805
  if (params.unknown) count += params.unknown.length;
747
806
  writer.writeVarInt(count);
748
807
  if (params.role !== void 0) {
@@ -759,17 +818,27 @@ function encodeParams(params, writer) {
759
818
  writer.writeVarInt(PARAM_MAX_REQUEST_ID);
760
819
  writer.writeVarInt(params.max_request_id);
761
820
  }
821
+ if (params.max_auth_token_cache_size !== void 0) {
822
+ writer.writeVarInt(PARAM_MAX_AUTH_TOKEN_CACHE_SIZE);
823
+ writer.writeVarInt(params.max_auth_token_cache_size);
824
+ }
825
+ if (params.authority !== void 0) {
826
+ writer.writeVarInt(PARAM_AUTHORITY);
827
+ const encoded = textEncoder.encode(params.authority);
828
+ writer.writeVarInt(encoded.byteLength);
829
+ writer.writeBytes(encoded);
830
+ }
762
831
  if (params.unknown) {
763
832
  for (const u of params.unknown) {
764
833
  const id = BigInt(u.id);
765
834
  writer.writeVarInt(id);
766
- const raw = _chunkKNDYS3DKcjs.hexToBytes.call(void 0, u.raw_hex);
835
+ const raw = _chunkJL3NEW3Ocjs.hexToBytes.call(void 0, u.raw_hex);
767
836
  writer.writeVarInt(raw.byteLength);
768
837
  writer.writeBytes(raw);
769
838
  }
770
839
  }
771
840
  }
772
- function decodeParams(reader) {
841
+ function decodeSetupParams(reader) {
773
842
  const count = Number(reader.readVarInt());
774
843
  const result = {};
775
844
  const unknown = [];
@@ -781,14 +850,16 @@ function decodeParams(reader) {
781
850
  result.role = value;
782
851
  } else if (paramType === PARAM_MAX_REQUEST_ID) {
783
852
  result.max_request_id = value;
853
+ } else if (paramType === PARAM_MAX_AUTH_TOKEN_CACHE_SIZE) {
854
+ result.max_auth_token_cache_size = value;
784
855
  } else {
785
- const tmpWriter = new (0, _chunkRUPCJTC3cjs.BufferWriter)(16);
856
+ const tmpWriter = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(16);
786
857
  tmpWriter.writeVarInt(value);
787
858
  const raw = tmpWriter.finish();
788
859
  unknown.push({
789
860
  id: `0x${paramType.toString(16)}`,
790
861
  length: raw.byteLength,
791
- raw_hex: _chunkKNDYS3DKcjs.bytesToHex.call(void 0, raw)
862
+ raw_hex: _chunkJL3NEW3Ocjs.bytesToHex.call(void 0, raw)
792
863
  });
793
864
  }
794
865
  } else {
@@ -796,18 +867,110 @@ function decodeParams(reader) {
796
867
  const bytes = reader.readBytes(length);
797
868
  if (paramType === PARAM_PATH) {
798
869
  result.path = textDecoder.decode(bytes);
870
+ } else if (paramType === PARAM_AUTHORITY) {
871
+ result.authority = textDecoder.decode(bytes);
799
872
  } else {
800
873
  unknown.push({
801
874
  id: `0x${paramType.toString(16)}`,
802
875
  length,
803
- raw_hex: _chunkKNDYS3DKcjs.bytesToHex.call(void 0, bytes)
876
+ raw_hex: _chunkJL3NEW3Ocjs.bytesToHex.call(void 0, bytes)
804
877
  });
805
878
  }
806
879
  }
807
880
  }
808
- if (unknown.length > 0) {
809
- result.unknown = unknown;
881
+ if (unknown.length > 0) result.unknown = unknown;
882
+ return result;
883
+ }
884
+ function encodeMessageParams(params, writer) {
885
+ let count = 0;
886
+ if (params.delivery_timeout !== void 0) count++;
887
+ if (params.authorization_token !== void 0) count++;
888
+ if (params.max_cache_duration !== void 0) count++;
889
+ if (params.unknown) count += params.unknown.length;
890
+ writer.writeVarInt(count);
891
+ if (params.delivery_timeout !== void 0) {
892
+ writer.writeVarInt(PARAM_DELIVERY_TIMEOUT);
893
+ writer.writeVarInt(params.delivery_timeout);
894
+ }
895
+ if (params.authorization_token !== void 0) {
896
+ writer.writeVarInt(PARAM_AUTHORIZATION_TOKEN);
897
+ const tok = params.authorization_token;
898
+ const tmpWriter = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(64);
899
+ tmpWriter.writeVarInt(tok.alias_type);
900
+ if (tok.token_type !== void 0) {
901
+ tmpWriter.writeVarInt(tok.token_type);
902
+ }
903
+ if (tok.token_value !== void 0) {
904
+ tmpWriter.writeBytes(_chunkJL3NEW3Ocjs.hexToBytes.call(void 0, tok.token_value));
905
+ }
906
+ if (tok.token_alias !== void 0) {
907
+ tmpWriter.writeVarInt(tok.token_alias);
908
+ }
909
+ const tokenBytes = tmpWriter.finish();
910
+ writer.writeVarInt(tokenBytes.byteLength);
911
+ writer.writeBytes(tokenBytes);
912
+ }
913
+ if (params.max_cache_duration !== void 0) {
914
+ writer.writeVarInt(PARAM_MAX_CACHE_DURATION);
915
+ writer.writeVarInt(params.max_cache_duration);
810
916
  }
917
+ if (params.unknown) {
918
+ for (const u of params.unknown) {
919
+ const id = BigInt(u.id);
920
+ writer.writeVarInt(id);
921
+ const raw = _chunkJL3NEW3Ocjs.hexToBytes.call(void 0, u.raw_hex);
922
+ writer.writeVarInt(raw.byteLength);
923
+ writer.writeBytes(raw);
924
+ }
925
+ }
926
+ }
927
+ function decodeMessageParams(reader) {
928
+ const count = Number(reader.readVarInt());
929
+ const result = {};
930
+ const unknown = [];
931
+ for (let i = 0; i < count; i++) {
932
+ const paramType = reader.readVarInt();
933
+ if (paramType % 2n === 0n) {
934
+ const value = reader.readVarInt();
935
+ if (paramType === PARAM_DELIVERY_TIMEOUT) {
936
+ result.delivery_timeout = value;
937
+ } else if (paramType === PARAM_MAX_CACHE_DURATION) {
938
+ result.max_cache_duration = value;
939
+ } else {
940
+ const tmpWriter = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(16);
941
+ tmpWriter.writeVarInt(value);
942
+ const raw = tmpWriter.finish();
943
+ unknown.push({
944
+ id: `0x${paramType.toString(16)}`,
945
+ length: raw.byteLength,
946
+ raw_hex: _chunkJL3NEW3Ocjs.bytesToHex.call(void 0, raw)
947
+ });
948
+ }
949
+ } else {
950
+ const length = Number(reader.readVarInt());
951
+ const bytes = reader.readBytes(length);
952
+ if (paramType === PARAM_AUTHORIZATION_TOKEN) {
953
+ const tokenReader = new (0, _chunkJL3NEW3Ocjs.BufferReader)(bytes);
954
+ const alias_type = tokenReader.readVarInt();
955
+ const tok = { alias_type };
956
+ if (tokenReader.remaining > 0) {
957
+ tok.token_type = tokenReader.readVarInt();
958
+ if (tokenReader.remaining > 0) {
959
+ const tokenValue = tokenReader.readBytesView(tokenReader.remaining);
960
+ tok.token_value = _chunkJL3NEW3Ocjs.bytesToHex.call(void 0, tokenValue);
961
+ }
962
+ }
963
+ result.authorization_token = tok;
964
+ } else {
965
+ unknown.push({
966
+ id: `0x${paramType.toString(16)}`,
967
+ length,
968
+ raw_hex: _chunkJL3NEW3Ocjs.bytesToHex.call(void 0, bytes)
969
+ });
970
+ }
971
+ }
972
+ }
973
+ if (unknown.length > 0) result.unknown = unknown;
811
974
  return result;
812
975
  }
813
976
  function encodeClientSetupPayload(msg, w) {
@@ -815,50 +978,51 @@ function encodeClientSetupPayload(msg, w) {
815
978
  for (const v of msg.supported_versions) {
816
979
  w.writeVarInt(v);
817
980
  }
818
- encodeParams(msg.parameters, w);
981
+ encodeSetupParams(msg.parameters, w);
819
982
  }
820
983
  function encodeServerSetupPayload(msg, w) {
821
984
  w.writeVarInt(msg.selected_version);
822
- encodeParams(msg.parameters, w);
985
+ encodeSetupParams(msg.parameters, w);
823
986
  }
824
987
  function encodeSubscribePayload(msg, w) {
825
988
  w.writeVarInt(msg.request_id);
826
989
  w.writeTuple(msg.track_namespace);
827
990
  w.writeString(msg.track_name);
828
991
  w.writeUint8(Number(msg.subscriber_priority));
829
- w.writeVarInt(msg.group_order);
992
+ w.writeUint8(Number(msg.group_order));
830
993
  w.writeVarInt(msg.forward);
831
994
  w.writeVarInt(msg.filter_type);
832
- const ft = Number(msg.filter_type);
833
- if (ft >= 3) {
995
+ const ft = msg.filter_type;
996
+ if (ft >= FilterType.AbsoluteStart) {
834
997
  w.writeVarInt(msg.start_group);
835
998
  w.writeVarInt(msg.start_object);
836
999
  }
837
- if (ft === 4) {
1000
+ if (ft === FilterType.AbsoluteRange) {
838
1001
  w.writeVarInt(msg.end_group);
839
1002
  }
840
- encodeParams(msg.parameters, w);
1003
+ encodeMessageParams(msg.parameters, w);
841
1004
  }
842
1005
  function encodeSubscribeOkPayload(msg, w) {
843
1006
  w.writeVarInt(msg.request_id);
844
1007
  w.writeVarInt(msg.track_alias);
845
1008
  w.writeVarInt(msg.expires);
846
- w.writeVarInt(msg.group_order);
1009
+ w.writeUint8(Number(msg.group_order));
847
1010
  w.writeVarInt(msg.content_exists);
848
- if (Number(msg.content_exists) === 1) {
849
- w.writeVarInt(msg.largest_group);
850
- w.writeVarInt(msg.largest_object);
1011
+ if (msg.content_exists === 1n) {
1012
+ w.writeVarInt(msg.largest_location.group);
1013
+ w.writeVarInt(msg.largest_location.object);
851
1014
  }
852
- encodeParams(msg.parameters, w);
1015
+ encodeMessageParams(msg.parameters, w);
853
1016
  }
854
1017
  function encodeSubscribeUpdatePayload(msg, w) {
855
1018
  w.writeVarInt(msg.request_id);
1019
+ w.writeVarInt(msg.subscription_request_id);
856
1020
  w.writeVarInt(msg.start_group);
857
1021
  w.writeVarInt(msg.start_object);
858
1022
  w.writeVarInt(msg.end_group);
859
1023
  w.writeUint8(Number(msg.subscriber_priority));
860
1024
  w.writeVarInt(msg.forward);
861
- encodeParams(msg.parameters, w);
1025
+ encodeMessageParams(msg.parameters, w);
862
1026
  }
863
1027
  function encodeSubscribeErrorPayload(msg, w) {
864
1028
  w.writeVarInt(msg.request_id);
@@ -872,14 +1036,31 @@ function encodePublishPayload(msg, w) {
872
1036
  w.writeVarInt(msg.request_id);
873
1037
  w.writeTuple(msg.track_namespace);
874
1038
  w.writeString(msg.track_name);
1039
+ w.writeVarInt(msg.track_alias);
1040
+ w.writeUint8(Number(msg.group_order));
1041
+ w.writeVarInt(msg.content_exists);
1042
+ if (msg.content_exists === 1n) {
1043
+ w.writeVarInt(msg.largest_location.group);
1044
+ w.writeVarInt(msg.largest_location.object);
1045
+ }
875
1046
  w.writeVarInt(msg.forward);
876
- encodeParams(msg.parameters, w);
1047
+ encodeMessageParams(msg.parameters, w);
877
1048
  }
878
1049
  function encodePublishOkPayload(msg, w) {
879
1050
  w.writeVarInt(msg.request_id);
880
- w.writeVarInt(msg.track_alias);
881
1051
  w.writeVarInt(msg.forward);
882
- encodeParams(msg.parameters, w);
1052
+ w.writeUint8(Number(msg.subscriber_priority));
1053
+ w.writeUint8(Number(msg.group_order));
1054
+ w.writeVarInt(msg.filter_type);
1055
+ const ft = msg.filter_type;
1056
+ if (ft >= FilterType.AbsoluteStart) {
1057
+ w.writeVarInt(msg.start_group);
1058
+ w.writeVarInt(msg.start_object);
1059
+ }
1060
+ if (ft === FilterType.AbsoluteRange) {
1061
+ w.writeVarInt(msg.end_group);
1062
+ }
1063
+ encodeMessageParams(msg.parameters, w);
883
1064
  }
884
1065
  function encodePublishErrorPayload(msg, w) {
885
1066
  w.writeVarInt(msg.request_id);
@@ -889,16 +1070,17 @@ function encodePublishErrorPayload(msg, w) {
889
1070
  function encodePublishDonePayload(msg, w) {
890
1071
  w.writeVarInt(msg.request_id);
891
1072
  w.writeVarInt(msg.status_code);
1073
+ w.writeVarInt(msg.stream_count);
892
1074
  w.writeString(msg.reason_phrase);
893
1075
  }
894
1076
  function encodePublishNamespacePayload(msg, w) {
895
1077
  w.writeVarInt(msg.request_id);
896
1078
  w.writeTuple(msg.track_namespace);
897
- encodeParams(msg.parameters, w);
1079
+ encodeMessageParams(msg.parameters, w);
898
1080
  }
899
1081
  function encodePublishNamespaceOkPayload(msg, w) {
900
1082
  w.writeVarInt(msg.request_id);
901
- encodeParams(msg.parameters, w);
1083
+ encodeMessageParams(msg.parameters, w);
902
1084
  }
903
1085
  function encodePublishNamespaceErrorPayload(msg, w) {
904
1086
  w.writeVarInt(msg.request_id);
@@ -906,21 +1088,21 @@ function encodePublishNamespaceErrorPayload(msg, w) {
906
1088
  w.writeString(msg.reason_phrase);
907
1089
  }
908
1090
  function encodePublishNamespaceDonePayload(msg, w) {
909
- w.writeVarInt(msg.request_id);
910
- w.writeVarInt(msg.status_code);
911
- w.writeString(msg.reason_phrase);
1091
+ w.writeTuple(msg.track_namespace);
912
1092
  }
913
1093
  function encodePublishNamespaceCancelPayload(msg, w) {
914
- w.writeVarInt(msg.request_id);
1094
+ w.writeTuple(msg.track_namespace);
1095
+ w.writeVarInt(msg.error_code);
1096
+ w.writeString(msg.reason_phrase);
915
1097
  }
916
1098
  function encodeSubscribeNamespacePayload(msg, w) {
917
1099
  w.writeVarInt(msg.request_id);
918
1100
  w.writeTuple(msg.namespace_prefix);
919
- encodeParams(msg.parameters, w);
1101
+ encodeMessageParams(msg.parameters, w);
920
1102
  }
921
1103
  function encodeSubscribeNamespaceOkPayload(msg, w) {
922
1104
  w.writeVarInt(msg.request_id);
923
- encodeParams(msg.parameters, w);
1105
+ encodeMessageParams(msg.parameters, w);
924
1106
  }
925
1107
  function encodeSubscribeNamespaceErrorPayload(msg, w) {
926
1108
  w.writeVarInt(msg.request_id);
@@ -928,22 +1110,34 @@ function encodeSubscribeNamespaceErrorPayload(msg, w) {
928
1110
  w.writeString(msg.reason_phrase);
929
1111
  }
930
1112
  function encodeUnsubscribeNamespacePayload(msg, w) {
931
- w.writeVarInt(msg.request_id);
1113
+ w.writeTuple(msg.track_namespace_prefix);
932
1114
  }
933
1115
  function encodeFetchPayload(msg, w) {
934
1116
  w.writeVarInt(msg.request_id);
935
- w.writeTuple(msg.track_namespace);
936
- w.writeString(msg.track_name);
937
- w.writeVarInt(msg.start_group);
938
- w.writeVarInt(msg.start_object);
939
- w.writeVarInt(msg.end_group);
940
- encodeParams(msg.parameters, w);
1117
+ w.writeUint8(Number(msg.subscriber_priority));
1118
+ w.writeUint8(Number(msg.group_order));
1119
+ w.writeVarInt(msg.fetch_type);
1120
+ const ft = msg.fetch_type;
1121
+ if (ft === FetchType.Standalone) {
1122
+ w.writeTuple(msg.track_namespace);
1123
+ w.writeString(msg.track_name);
1124
+ w.writeVarInt(msg.start_group);
1125
+ w.writeVarInt(msg.start_object);
1126
+ w.writeVarInt(msg.end_group);
1127
+ w.writeVarInt(msg.end_object);
1128
+ } else {
1129
+ w.writeVarInt(msg.joining_request_id);
1130
+ w.writeVarInt(msg.joining_start);
1131
+ }
1132
+ encodeMessageParams(msg.parameters, w);
941
1133
  }
942
1134
  function encodeFetchOkPayload(msg, w) {
943
1135
  w.writeVarInt(msg.request_id);
944
- w.writeVarInt(msg.track_alias);
1136
+ w.writeUint8(Number(msg.group_order));
945
1137
  w.writeVarInt(msg.end_of_track);
946
- encodeParams(msg.parameters, w);
1138
+ w.writeVarInt(msg.end_location.group);
1139
+ w.writeVarInt(msg.end_location.object);
1140
+ encodeMessageParams(msg.parameters, w);
947
1141
  }
948
1142
  function encodeFetchErrorPayload(msg, w) {
949
1143
  w.writeVarInt(msg.request_id);
@@ -957,17 +1151,28 @@ function encodeTrackStatusPayload(msg, w) {
957
1151
  w.writeVarInt(msg.request_id);
958
1152
  w.writeTuple(msg.track_namespace);
959
1153
  w.writeString(msg.track_name);
960
- encodeParams(msg.parameters, w);
1154
+ w.writeUint8(Number(msg.subscriber_priority));
1155
+ w.writeUint8(Number(msg.group_order));
1156
+ w.writeVarInt(msg.forward);
1157
+ w.writeVarInt(msg.filter_type);
1158
+ const ft = msg.filter_type;
1159
+ if (ft >= FilterType.AbsoluteStart) {
1160
+ w.writeVarInt(msg.start_group);
1161
+ w.writeVarInt(msg.start_object);
1162
+ }
1163
+ encodeMessageParams(msg.parameters, w);
961
1164
  }
962
1165
  function encodeTrackStatusOkPayload(msg, w) {
963
1166
  w.writeVarInt(msg.request_id);
964
- w.writeVarInt(msg.status_code);
965
- const sc = Number(msg.status_code);
966
- if (sc === 0 || sc === 3) {
967
- w.writeVarInt(msg.largest_group);
968
- w.writeVarInt(msg.largest_object);
1167
+ w.writeVarInt(msg.track_alias);
1168
+ w.writeVarInt(msg.expires);
1169
+ w.writeUint8(Number(msg.group_order));
1170
+ w.writeVarInt(msg.content_exists);
1171
+ if (msg.content_exists === 1n) {
1172
+ w.writeVarInt(msg.largest_location.group);
1173
+ w.writeVarInt(msg.largest_location.object);
969
1174
  }
970
- encodeParams(msg.parameters, w);
1175
+ encodeMessageParams(msg.parameters, w);
971
1176
  }
972
1177
  function encodeTrackStatusErrorPayload(msg, w) {
973
1178
  w.writeVarInt(msg.request_id);
@@ -986,7 +1191,7 @@ function encodeRequestsBlockedPayload(msg, w) {
986
1191
  function decodeClientSetupPayload(r) {
987
1192
  const numVersions = Number(r.readVarInt());
988
1193
  if (numVersions === 0) {
989
- throw new (0, _chunkRUPCJTC3cjs.DecodeError)(
1194
+ throw new (0, _chunkJL3NEW3Ocjs.DecodeError)(
990
1195
  "CONSTRAINT_VIOLATION",
991
1196
  "CLIENT_SETUP must offer at least one version",
992
1197
  r.offset
@@ -996,12 +1201,12 @@ function decodeClientSetupPayload(r) {
996
1201
  for (let i = 0; i < numVersions; i++) {
997
1202
  supported_versions.push(r.readVarInt());
998
1203
  }
999
- const parameters = decodeParams(r);
1204
+ const parameters = decodeSetupParams(r);
1000
1205
  return { type: "client_setup", supported_versions, parameters };
1001
1206
  }
1002
1207
  function decodeServerSetupPayload(r) {
1003
1208
  const selected_version = r.readVarInt();
1004
- const parameters = decodeParams(r);
1209
+ const parameters = decodeSetupParams(r);
1005
1210
  return { type: "server_setup", selected_version, parameters };
1006
1211
  }
1007
1212
  function decodeSubscribePayload(r) {
@@ -1009,24 +1214,23 @@ function decodeSubscribePayload(r) {
1009
1214
  const track_namespace = r.readTuple();
1010
1215
  const track_name = r.readString();
1011
1216
  const subscriber_priority = BigInt(r.readUint8());
1012
- const group_order = r.readVarInt();
1217
+ const group_order = BigInt(r.readUint8());
1013
1218
  const forward = r.readVarInt();
1014
1219
  const filter_type = r.readVarInt();
1015
- const ft = Number(filter_type);
1016
- if (ft < 1 || ft > 4) {
1017
- throw new (0, _chunkRUPCJTC3cjs.DecodeError)("CONSTRAINT_VIOLATION", `Invalid filter_type: ${ft}`, r.offset);
1220
+ if (filter_type < FilterType.NextGroupStart || filter_type > FilterType.AbsoluteRange) {
1221
+ throw new (0, _chunkJL3NEW3Ocjs.DecodeError)("CONSTRAINT_VIOLATION", `Invalid filter_type: ${filter_type}`, r.offset);
1018
1222
  }
1019
1223
  let start_group;
1020
1224
  let start_object;
1021
1225
  let end_group;
1022
- if (ft >= 3) {
1226
+ if (filter_type >= FilterType.AbsoluteStart) {
1023
1227
  start_group = r.readVarInt();
1024
1228
  start_object = r.readVarInt();
1025
1229
  }
1026
- if (ft === 4) {
1230
+ if (filter_type === FilterType.AbsoluteRange) {
1027
1231
  end_group = r.readVarInt();
1028
1232
  }
1029
- const parameters = decodeParams(r);
1233
+ const parameters = decodeMessageParams(r);
1030
1234
  const msg = {
1031
1235
  type: "subscribe",
1032
1236
  request_id,
@@ -1047,16 +1251,17 @@ function decodeSubscribeOkPayload(r) {
1047
1251
  const request_id = r.readVarInt();
1048
1252
  const track_alias = r.readVarInt();
1049
1253
  const expires = r.readVarInt();
1050
- const group_order = r.readVarInt();
1254
+ const group_order = BigInt(r.readUint8());
1051
1255
  const content_exists = r.readVarInt();
1052
- let largest_group;
1053
- let largest_object;
1054
- if (Number(content_exists) === 1) {
1055
- largest_group = r.readVarInt();
1056
- largest_object = r.readVarInt();
1256
+ let largest_location;
1257
+ if (content_exists === 1n) {
1258
+ largest_location = {
1259
+ group: r.readVarInt(),
1260
+ object: r.readVarInt()
1261
+ };
1057
1262
  }
1058
- const parameters = decodeParams(r);
1059
- const msg = {
1263
+ const parameters = decodeMessageParams(r);
1264
+ return {
1060
1265
  type: "subscribe_ok",
1061
1266
  request_id,
1062
1267
  track_alias,
@@ -1064,21 +1269,22 @@ function decodeSubscribeOkPayload(r) {
1064
1269
  group_order,
1065
1270
  content_exists,
1066
1271
  parameters,
1067
- ...largest_group !== void 0 ? { largest_group, largest_object } : {}
1272
+ ...largest_location !== void 0 ? { largest_location } : {}
1068
1273
  };
1069
- return msg;
1070
1274
  }
1071
1275
  function decodeSubscribeUpdatePayload(r) {
1072
1276
  const request_id = r.readVarInt();
1277
+ const subscription_request_id = r.readVarInt();
1073
1278
  const start_group = r.readVarInt();
1074
1279
  const start_object = r.readVarInt();
1075
1280
  const end_group = r.readVarInt();
1076
1281
  const subscriber_priority = BigInt(r.readUint8());
1077
1282
  const forward = r.readVarInt();
1078
- const parameters = decodeParams(r);
1283
+ const parameters = decodeMessageParams(r);
1079
1284
  return {
1080
1285
  type: "subscribe_update",
1081
1286
  request_id,
1287
+ subscription_request_id,
1082
1288
  start_group,
1083
1289
  start_object,
1084
1290
  end_group,
@@ -1101,16 +1307,61 @@ function decodePublishPayload(r) {
1101
1307
  const request_id = r.readVarInt();
1102
1308
  const track_namespace = r.readTuple();
1103
1309
  const track_name = r.readString();
1310
+ const track_alias = r.readVarInt();
1311
+ const group_order = BigInt(r.readUint8());
1312
+ const content_exists = r.readVarInt();
1313
+ let largest_location;
1314
+ if (content_exists === 1n) {
1315
+ largest_location = {
1316
+ group: r.readVarInt(),
1317
+ object: r.readVarInt()
1318
+ };
1319
+ }
1104
1320
  const forward = r.readVarInt();
1105
- const parameters = decodeParams(r);
1106
- return { type: "publish", request_id, track_namespace, track_name, forward, parameters };
1321
+ const parameters = decodeMessageParams(r);
1322
+ return {
1323
+ type: "publish",
1324
+ request_id,
1325
+ track_namespace,
1326
+ track_name,
1327
+ track_alias,
1328
+ group_order,
1329
+ content_exists,
1330
+ forward,
1331
+ parameters,
1332
+ ...largest_location !== void 0 ? { largest_location } : {}
1333
+ };
1107
1334
  }
1108
1335
  function decodePublishOkPayload(r) {
1109
1336
  const request_id = r.readVarInt();
1110
- const track_alias = r.readVarInt();
1111
1337
  const forward = r.readVarInt();
1112
- const parameters = decodeParams(r);
1113
- return { type: "publish_ok", request_id, track_alias, forward, parameters };
1338
+ const subscriber_priority = BigInt(r.readUint8());
1339
+ const group_order = BigInt(r.readUint8());
1340
+ const filter_type = r.readVarInt();
1341
+ let start_group;
1342
+ let start_object;
1343
+ let end_group;
1344
+ if (filter_type >= FilterType.AbsoluteStart) {
1345
+ start_group = r.readVarInt();
1346
+ start_object = r.readVarInt();
1347
+ }
1348
+ if (filter_type === FilterType.AbsoluteRange) {
1349
+ end_group = r.readVarInt();
1350
+ }
1351
+ const parameters = decodeMessageParams(r);
1352
+ const msg = {
1353
+ type: "publish_ok",
1354
+ request_id,
1355
+ forward,
1356
+ subscriber_priority,
1357
+ group_order,
1358
+ filter_type,
1359
+ parameters
1360
+ };
1361
+ if (start_group !== void 0) msg.start_group = start_group;
1362
+ if (start_object !== void 0) msg.start_object = start_object;
1363
+ if (end_group !== void 0) msg.end_group = end_group;
1364
+ return msg;
1114
1365
  }
1115
1366
  function decodePublishErrorPayload(r) {
1116
1367
  const request_id = r.readVarInt();
@@ -1121,82 +1372,147 @@ function decodePublishErrorPayload(r) {
1121
1372
  function decodePublishDonePayload(r) {
1122
1373
  const request_id = r.readVarInt();
1123
1374
  const status_code = r.readVarInt();
1375
+ const stream_count = r.readVarInt();
1124
1376
  const reason_phrase = r.readString();
1125
- return { type: "publish_done", request_id, status_code, reason_phrase };
1377
+ return {
1378
+ type: "publish_done",
1379
+ request_id,
1380
+ status_code,
1381
+ stream_count,
1382
+ reason_phrase
1383
+ };
1126
1384
  }
1127
1385
  function decodePublishNamespacePayload(r) {
1128
1386
  const request_id = r.readVarInt();
1129
1387
  const track_namespace = r.readTuple();
1130
- const parameters = decodeParams(r);
1388
+ const parameters = decodeMessageParams(r);
1131
1389
  return { type: "publish_namespace", request_id, track_namespace, parameters };
1132
1390
  }
1133
1391
  function decodePublishNamespaceOkPayload(r) {
1134
1392
  const request_id = r.readVarInt();
1135
- const parameters = decodeParams(r);
1393
+ const parameters = decodeMessageParams(r);
1136
1394
  return { type: "publish_namespace_ok", request_id, parameters };
1137
1395
  }
1138
1396
  function decodePublishNamespaceErrorPayload(r) {
1139
1397
  const request_id = r.readVarInt();
1140
1398
  const error_code = r.readVarInt();
1141
1399
  const reason_phrase = r.readString();
1142
- return { type: "publish_namespace_error", request_id, error_code, reason_phrase };
1400
+ return {
1401
+ type: "publish_namespace_error",
1402
+ request_id,
1403
+ error_code,
1404
+ reason_phrase
1405
+ };
1143
1406
  }
1144
1407
  function decodePublishNamespaceDonePayload(r) {
1145
- const request_id = r.readVarInt();
1146
- const status_code = r.readVarInt();
1147
- const reason_phrase = r.readString();
1148
- return { type: "publish_namespace_done", request_id, status_code, reason_phrase };
1408
+ const track_namespace = r.readTuple();
1409
+ return { type: "publish_namespace_done", track_namespace };
1149
1410
  }
1150
1411
  function decodePublishNamespaceCancelPayload(r) {
1151
- const request_id = r.readVarInt();
1152
- return { type: "publish_namespace_cancel", request_id };
1412
+ const track_namespace = r.readTuple();
1413
+ const error_code = r.readVarInt();
1414
+ const reason_phrase = r.readString();
1415
+ return {
1416
+ type: "publish_namespace_cancel",
1417
+ track_namespace,
1418
+ error_code,
1419
+ reason_phrase
1420
+ };
1153
1421
  }
1154
1422
  function decodeSubscribeNamespacePayload(r) {
1155
1423
  const request_id = r.readVarInt();
1156
1424
  const namespace_prefix = r.readTuple();
1157
- const parameters = decodeParams(r);
1158
- return { type: "subscribe_namespace", request_id, namespace_prefix, parameters };
1425
+ const parameters = decodeMessageParams(r);
1426
+ return {
1427
+ type: "subscribe_namespace",
1428
+ request_id,
1429
+ namespace_prefix,
1430
+ parameters
1431
+ };
1159
1432
  }
1160
1433
  function decodeSubscribeNamespaceOkPayload(r) {
1161
1434
  const request_id = r.readVarInt();
1162
- const parameters = decodeParams(r);
1435
+ const parameters = decodeMessageParams(r);
1163
1436
  return { type: "subscribe_namespace_ok", request_id, parameters };
1164
1437
  }
1165
1438
  function decodeSubscribeNamespaceErrorPayload(r) {
1166
1439
  const request_id = r.readVarInt();
1167
1440
  const error_code = r.readVarInt();
1168
1441
  const reason_phrase = r.readString();
1169
- return { type: "subscribe_namespace_error", request_id, error_code, reason_phrase };
1442
+ return {
1443
+ type: "subscribe_namespace_error",
1444
+ request_id,
1445
+ error_code,
1446
+ reason_phrase
1447
+ };
1170
1448
  }
1171
1449
  function decodeUnsubscribeNamespacePayload(r) {
1172
- const request_id = r.readVarInt();
1173
- return { type: "unsubscribe_namespace", request_id };
1450
+ const track_namespace_prefix = r.readTuple();
1451
+ return { type: "unsubscribe_namespace", track_namespace_prefix };
1174
1452
  }
1175
1453
  function decodeFetchPayload(r) {
1176
1454
  const request_id = r.readVarInt();
1177
- const track_namespace = r.readTuple();
1178
- const track_name = r.readString();
1179
- const start_group = r.readVarInt();
1180
- const start_object = r.readVarInt();
1181
- const end_group = r.readVarInt();
1182
- const parameters = decodeParams(r);
1183
- return {
1184
- type: "fetch",
1185
- request_id,
1186
- track_namespace,
1187
- track_name,
1188
- start_group,
1189
- start_object,
1190
- end_group,
1191
- parameters
1192
- };
1455
+ const subscriber_priority = BigInt(r.readUint8());
1456
+ const group_order = BigInt(r.readUint8());
1457
+ const fetch_type = r.readVarInt();
1458
+ if (fetch_type < FetchType.Standalone || fetch_type > FetchType.AbsoluteJoining) {
1459
+ throw new (0, _chunkJL3NEW3Ocjs.DecodeError)("CONSTRAINT_VIOLATION", `Invalid fetch_type: ${fetch_type}`, r.offset);
1460
+ }
1461
+ if (fetch_type === FetchType.Standalone) {
1462
+ const track_namespace = r.readTuple();
1463
+ const track_name = r.readString();
1464
+ const start_group = r.readVarInt();
1465
+ const start_object = r.readVarInt();
1466
+ const end_group = r.readVarInt();
1467
+ const end_object = r.readVarInt();
1468
+ const parameters = decodeMessageParams(r);
1469
+ return {
1470
+ type: "fetch",
1471
+ request_id,
1472
+ subscriber_priority,
1473
+ group_order,
1474
+ fetch_type,
1475
+ track_namespace,
1476
+ track_name,
1477
+ start_group,
1478
+ start_object,
1479
+ end_group,
1480
+ end_object,
1481
+ parameters
1482
+ };
1483
+ } else {
1484
+ const joining_request_id = r.readVarInt();
1485
+ const joining_start = r.readVarInt();
1486
+ const parameters = decodeMessageParams(r);
1487
+ return {
1488
+ type: "fetch",
1489
+ request_id,
1490
+ subscriber_priority,
1491
+ group_order,
1492
+ fetch_type,
1493
+ joining_request_id,
1494
+ joining_start,
1495
+ parameters
1496
+ };
1497
+ }
1193
1498
  }
1194
1499
  function decodeFetchOkPayload(r) {
1195
1500
  const request_id = r.readVarInt();
1196
- const track_alias = r.readVarInt();
1501
+ const group_order = BigInt(r.readUint8());
1197
1502
  const end_of_track = r.readVarInt();
1198
- const parameters = decodeParams(r);
1199
- return { type: "fetch_ok", request_id, track_alias, end_of_track, parameters };
1503
+ const end_location = {
1504
+ group: r.readVarInt(),
1505
+ object: r.readVarInt()
1506
+ };
1507
+ const parameters = decodeMessageParams(r);
1508
+ return {
1509
+ type: "fetch_ok",
1510
+ request_id,
1511
+ group_order,
1512
+ end_of_track,
1513
+ end_location,
1514
+ parameters
1515
+ };
1200
1516
  }
1201
1517
  function decodeFetchErrorPayload(r) {
1202
1518
  const request_id = r.readVarInt();
@@ -1212,26 +1528,55 @@ function decodeTrackStatusPayload(r) {
1212
1528
  const request_id = r.readVarInt();
1213
1529
  const track_namespace = r.readTuple();
1214
1530
  const track_name = r.readString();
1215
- const parameters = decodeParams(r);
1216
- return { type: "track_status", request_id, track_namespace, track_name, parameters };
1531
+ const subscriber_priority = BigInt(r.readUint8());
1532
+ const group_order = BigInt(r.readUint8());
1533
+ const forward = r.readVarInt();
1534
+ const filter_type = r.readVarInt();
1535
+ let start_group;
1536
+ let start_object;
1537
+ if (filter_type >= FilterType.AbsoluteStart) {
1538
+ start_group = r.readVarInt();
1539
+ start_object = r.readVarInt();
1540
+ }
1541
+ const parameters = decodeMessageParams(r);
1542
+ const msg = {
1543
+ type: "track_status",
1544
+ request_id,
1545
+ track_namespace,
1546
+ track_name,
1547
+ subscriber_priority,
1548
+ group_order,
1549
+ forward,
1550
+ filter_type,
1551
+ parameters
1552
+ };
1553
+ if (start_group !== void 0) msg.start_group = start_group;
1554
+ if (start_object !== void 0) msg.start_object = start_object;
1555
+ return msg;
1217
1556
  }
1218
1557
  function decodeTrackStatusOkPayload(r) {
1219
1558
  const request_id = r.readVarInt();
1220
- const status_code = r.readVarInt();
1221
- const sc = Number(status_code);
1222
- let largest_group;
1223
- let largest_object;
1224
- if (sc === 0 || sc === 3) {
1225
- largest_group = r.readVarInt();
1226
- largest_object = r.readVarInt();
1559
+ const track_alias = r.readVarInt();
1560
+ const expires = r.readVarInt();
1561
+ const group_order = BigInt(r.readUint8());
1562
+ const content_exists = r.readVarInt();
1563
+ let largest_location;
1564
+ if (content_exists === 1n) {
1565
+ largest_location = {
1566
+ group: r.readVarInt(),
1567
+ object: r.readVarInt()
1568
+ };
1227
1569
  }
1228
- const parameters = decodeParams(r);
1570
+ const parameters = decodeMessageParams(r);
1229
1571
  return {
1230
1572
  type: "track_status_ok",
1231
1573
  request_id,
1232
- status_code,
1574
+ track_alias,
1575
+ expires,
1576
+ group_order,
1577
+ content_exists,
1233
1578
  parameters,
1234
- ...largest_group !== void 0 ? { largest_group, largest_object } : {}
1579
+ ...largest_location !== void 0 ? { largest_location } : {}
1235
1580
  };
1236
1581
  }
1237
1582
  function decodeTrackStatusErrorPayload(r) {
@@ -1289,13 +1634,13 @@ function encodeMessage(message) {
1289
1634
  if (typeId === void 0) {
1290
1635
  throw new Error(`Unknown message type: ${message.type}`);
1291
1636
  }
1292
- const payloadWriter = new (0, _chunkRUPCJTC3cjs.BufferWriter)();
1637
+ const payloadWriter = new (0, _chunkJL3NEW3Ocjs.BufferWriter)();
1293
1638
  encodePayload(message, payloadWriter);
1294
1639
  const payload = payloadWriter.finishView();
1295
1640
  if (payload.byteLength > 65535) {
1296
1641
  throw new Error(`Payload too large for 16-bit length: ${payload.byteLength}`);
1297
1642
  }
1298
- const writer = new (0, _chunkRUPCJTC3cjs.BufferWriter)(payload.byteLength + 16);
1643
+ const writer = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(payload.byteLength + 16);
1299
1644
  writer.writeVarInt(typeId);
1300
1645
  writer.writeUint8(payload.byteLength >> 8 & 255);
1301
1646
  writer.writeUint8(payload.byteLength & 255);
@@ -1372,18 +1717,18 @@ function encodePayload(msg, w) {
1372
1717
  }
1373
1718
  function decodeMessage(bytes) {
1374
1719
  try {
1375
- const reader = new (0, _chunkRUPCJTC3cjs.BufferReader)(bytes);
1720
+ const reader = new (0, _chunkJL3NEW3Ocjs.BufferReader)(bytes);
1376
1721
  const typeId = reader.readVarInt();
1377
1722
  const lenHi = reader.readUint8();
1378
1723
  const lenLo = reader.readUint8();
1379
1724
  const payloadLength = lenHi << 8 | lenLo;
1380
1725
  const payloadBytes = reader.readBytes(payloadLength);
1381
- const payloadReader = new (0, _chunkRUPCJTC3cjs.BufferReader)(payloadBytes);
1726
+ const payloadReader = new (0, _chunkJL3NEW3Ocjs.BufferReader)(payloadBytes);
1382
1727
  const decoder = payloadDecoders.get(typeId);
1383
1728
  if (!decoder) {
1384
1729
  return {
1385
1730
  ok: false,
1386
- error: new (0, _chunkRUPCJTC3cjs.DecodeError)(
1731
+ error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
1387
1732
  "UNKNOWN_MESSAGE_TYPE",
1388
1733
  `Unknown message type ID: 0x${typeId.toString(16)}`,
1389
1734
  0
@@ -1393,7 +1738,7 @@ function decodeMessage(bytes) {
1393
1738
  const message = decoder(payloadReader);
1394
1739
  return { ok: true, value: message, bytesRead: reader.offset };
1395
1740
  } catch (e) {
1396
- if (e instanceof _chunkRUPCJTC3cjs.DecodeError) {
1741
+ if (e instanceof _chunkJL3NEW3Ocjs.DecodeError) {
1397
1742
  return { ok: false, error: e };
1398
1743
  }
1399
1744
  throw e;
@@ -1428,7 +1773,7 @@ function createStreamDecoder() {
1428
1773
  flush(controller) {
1429
1774
  if (offset < buffer.length) {
1430
1775
  controller.error(
1431
- new (0, _chunkRUPCJTC3cjs.DecodeError)("UNEXPECTED_END", "Stream ended with incomplete message data", 0)
1776
+ new (0, _chunkJL3NEW3Ocjs.DecodeError)("UNEXPECTED_END", "Stream ended with incomplete message data", 0)
1432
1777
  );
1433
1778
  }
1434
1779
  }
@@ -1436,7 +1781,7 @@ function createStreamDecoder() {
1436
1781
  }
1437
1782
  function createDraft14Codec() {
1438
1783
  return {
1439
- draft: "draft-ietf-moq-transport-14",
1784
+ draft: "14",
1440
1785
  encodeMessage,
1441
1786
  decodeMessage,
1442
1787
  encodeSubgroupStream,
@@ -1503,4 +1848,7 @@ function createDraft14Codec() {
1503
1848
 
1504
1849
 
1505
1850
 
1506
- exports.MSG_SUBSCRIBE_UPDATE = MSG_SUBSCRIBE_UPDATE; exports.MSG_SUBSCRIBE = MSG_SUBSCRIBE; exports.MSG_SUBSCRIBE_OK = MSG_SUBSCRIBE_OK; exports.MSG_SUBSCRIBE_ERROR = MSG_SUBSCRIBE_ERROR; exports.MSG_PUBLISH_NAMESPACE = MSG_PUBLISH_NAMESPACE; exports.MSG_PUBLISH_NAMESPACE_OK = MSG_PUBLISH_NAMESPACE_OK; exports.MSG_PUBLISH_NAMESPACE_ERROR = MSG_PUBLISH_NAMESPACE_ERROR; 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_TRACK_STATUS_OK = MSG_TRACK_STATUS_OK; exports.MSG_TRACK_STATUS_ERROR = MSG_TRACK_STATUS_ERROR; exports.MSG_GOAWAY = MSG_GOAWAY; exports.MSG_SUBSCRIBE_NAMESPACE = MSG_SUBSCRIBE_NAMESPACE; exports.MSG_SUBSCRIBE_NAMESPACE_OK = MSG_SUBSCRIBE_NAMESPACE_OK; exports.MSG_SUBSCRIBE_NAMESPACE_ERROR = MSG_SUBSCRIBE_NAMESPACE_ERROR; exports.MSG_UNSUBSCRIBE_NAMESPACE = MSG_UNSUBSCRIBE_NAMESPACE; exports.MSG_MAX_REQUEST_ID = MSG_MAX_REQUEST_ID; exports.MSG_FETCH = MSG_FETCH; exports.MSG_FETCH_CANCEL = MSG_FETCH_CANCEL; exports.MSG_FETCH_OK = MSG_FETCH_OK; exports.MSG_FETCH_ERROR = MSG_FETCH_ERROR; exports.MSG_REQUESTS_BLOCKED = MSG_REQUESTS_BLOCKED; exports.MSG_PUBLISH = MSG_PUBLISH; exports.MSG_PUBLISH_OK = MSG_PUBLISH_OK; exports.MSG_PUBLISH_ERROR = MSG_PUBLISH_ERROR; exports.MSG_CLIENT_SETUP = MSG_CLIENT_SETUP; exports.MSG_SERVER_SETUP = MSG_SERVER_SETUP; exports.PARAM_ROLE = PARAM_ROLE; exports.PARAM_PATH = PARAM_PATH; exports.PARAM_MAX_REQUEST_ID = PARAM_MAX_REQUEST_ID; 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.createDraft14Codec = createDraft14Codec;
1851
+
1852
+
1853
+
1854
+ exports.MSG_SUBSCRIBE_UPDATE = MSG_SUBSCRIBE_UPDATE; exports.MSG_SUBSCRIBE = MSG_SUBSCRIBE; exports.MSG_SUBSCRIBE_OK = MSG_SUBSCRIBE_OK; exports.MSG_SUBSCRIBE_ERROR = MSG_SUBSCRIBE_ERROR; exports.MSG_PUBLISH_NAMESPACE = MSG_PUBLISH_NAMESPACE; exports.MSG_PUBLISH_NAMESPACE_OK = MSG_PUBLISH_NAMESPACE_OK; exports.MSG_PUBLISH_NAMESPACE_ERROR = MSG_PUBLISH_NAMESPACE_ERROR; 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_TRACK_STATUS_OK = MSG_TRACK_STATUS_OK; exports.MSG_TRACK_STATUS_ERROR = MSG_TRACK_STATUS_ERROR; exports.MSG_GOAWAY = MSG_GOAWAY; exports.MSG_SUBSCRIBE_NAMESPACE = MSG_SUBSCRIBE_NAMESPACE; exports.MSG_SUBSCRIBE_NAMESPACE_OK = MSG_SUBSCRIBE_NAMESPACE_OK; exports.MSG_SUBSCRIBE_NAMESPACE_ERROR = MSG_SUBSCRIBE_NAMESPACE_ERROR; exports.MSG_UNSUBSCRIBE_NAMESPACE = MSG_UNSUBSCRIBE_NAMESPACE; exports.MSG_MAX_REQUEST_ID = MSG_MAX_REQUEST_ID; exports.MSG_FETCH = MSG_FETCH; exports.MSG_FETCH_CANCEL = MSG_FETCH_CANCEL; exports.MSG_FETCH_OK = MSG_FETCH_OK; exports.MSG_FETCH_ERROR = MSG_FETCH_ERROR; exports.MSG_REQUESTS_BLOCKED = MSG_REQUESTS_BLOCKED; exports.MSG_PUBLISH = MSG_PUBLISH; exports.MSG_PUBLISH_OK = MSG_PUBLISH_OK; exports.MSG_PUBLISH_ERROR = MSG_PUBLISH_ERROR; exports.MSG_CLIENT_SETUP = MSG_CLIENT_SETUP; exports.MSG_SERVER_SETUP = MSG_SERVER_SETUP; exports.PARAM_ROLE = PARAM_ROLE; exports.PARAM_PATH = PARAM_PATH; exports.PARAM_MAX_REQUEST_ID = PARAM_MAX_REQUEST_ID; exports.MESSAGE_TYPE_MAP = MESSAGE_TYPE_MAP; exports.MESSAGE_ID_MAP = MESSAGE_ID_MAP; exports.FilterType = FilterType; exports.GroupOrder = GroupOrder; exports.FetchType = FetchType; 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.createDraft14Codec = createDraft14Codec;