@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,381 +1,385 @@
1
- // Draft-11 specific message types
2
- // Field names use snake_case to match test vector JSON
3
-
4
- // Unknown parameter for passthrough
5
- export interface UnknownParam {
6
- readonly id: string; // e.g. "0x21"
7
- readonly length: number;
8
- readonly raw_hex: string;
9
- }
10
-
11
- // Authorization token parameter
12
- export interface AuthorizationToken {
13
- readonly alias_type: bigint;
14
- readonly token_type: bigint;
15
- readonly token_value: string;
16
- }
17
-
18
- // Setup parameters (PATH, MAX_REQUEST_ID) — same even/odd encoding as later drafts
19
- export interface Draft11SetupParams {
20
- path?: string; // 0x01 odd
21
- max_request_id?: bigint; // 0x02 even
22
- unknown?: UnknownParam[];
23
- }
24
-
25
- // Version-specific parameters — all use length-prefixed encoding
26
- export interface Draft11Params {
27
- authorization_token?: AuthorizationToken; // 0x01 odd
28
- delivery_timeout?: bigint; // 0x03 odd
29
- unknown?: UnknownParam[];
30
- }
31
-
32
- // Largest object location
33
- export interface LargestLocation {
34
- readonly group: bigint;
35
- readonly object: bigint;
36
- }
37
-
38
- // Draft-11 message type tag union
39
- export type Draft11MessageType =
40
- | "client_setup"
41
- | "server_setup"
42
- | "subscribe"
43
- | "subscribe_ok"
44
- | "subscribe_error"
45
- | "subscribe_update"
46
- | "subscribe_done"
47
- | "unsubscribe"
48
- | "announce"
49
- | "announce_ok"
50
- | "announce_error"
51
- | "unannounce"
52
- | "announce_cancel"
53
- | "subscribe_announces"
54
- | "subscribe_announces_ok"
55
- | "subscribe_announces_error"
56
- | "unsubscribe_announces"
57
- | "fetch"
58
- | "fetch_ok"
59
- | "fetch_error"
60
- | "fetch_cancel"
61
- | "track_status_request"
62
- | "track_status"
63
- | "goaway"
64
- | "max_request_id"
65
- | "requests_blocked";
66
-
67
- // Base
68
- export interface Draft11BaseMessage {
69
- readonly type: Draft11MessageType;
70
- }
71
-
72
- // Setup — versions negotiated in messages
73
- export interface Draft11ClientSetup extends Draft11BaseMessage {
74
- readonly type: "client_setup";
75
- readonly supported_versions: bigint[];
76
- readonly parameters: Draft11SetupParams;
77
- }
78
-
79
- export interface Draft11ServerSetup extends Draft11BaseMessage {
80
- readonly type: "server_setup";
81
- readonly selected_version: bigint;
82
- readonly parameters: Draft11SetupParams;
83
- }
84
-
85
- // Subscribe
86
- export interface Draft11Subscribe extends Draft11BaseMessage {
87
- readonly type: "subscribe";
88
- readonly request_id: bigint;
89
- readonly track_alias: bigint;
90
- readonly track_namespace: string[];
91
- readonly track_name: string;
92
- readonly subscriber_priority: number; // uint8
93
- readonly group_order: bigint;
94
- readonly forward: bigint;
95
- readonly filter_type: bigint;
96
- readonly start_group?: bigint;
97
- readonly start_object?: bigint;
98
- readonly end_group?: bigint;
99
- readonly parameters: Draft11Params;
100
- }
101
-
102
- export interface Draft11SubscribeOk extends Draft11BaseMessage {
103
- readonly type: "subscribe_ok";
104
- readonly request_id: bigint;
105
- readonly expires: bigint;
106
- readonly group_order: bigint;
107
- readonly content_exists: bigint;
108
- readonly largest_location?: LargestLocation;
109
- readonly parameters: Draft11Params;
110
- }
111
-
112
- export interface Draft11SubscribeError extends Draft11BaseMessage {
113
- readonly type: "subscribe_error";
114
- readonly request_id: bigint;
115
- readonly error_code: bigint;
116
- readonly reason_phrase: string;
117
- readonly track_alias: bigint;
118
- }
119
-
120
- export interface Draft11SubscribeUpdate extends Draft11BaseMessage {
121
- readonly type: "subscribe_update";
122
- readonly request_id: bigint;
123
- readonly start_group: bigint;
124
- readonly start_object: bigint;
125
- readonly end_group: bigint;
126
- readonly subscriber_priority: number; // uint8
127
- readonly forward: bigint;
128
- readonly parameters: Draft11Params;
129
- }
130
-
131
- export interface Draft11SubscribeDone extends Draft11BaseMessage {
132
- readonly type: "subscribe_done";
133
- readonly request_id: bigint;
134
- readonly status_code: bigint;
135
- readonly stream_count: bigint;
136
- readonly reason_phrase: string;
137
- }
138
-
139
- export interface Draft11Unsubscribe extends Draft11BaseMessage {
140
- readonly type: "unsubscribe";
141
- readonly request_id: bigint;
142
- }
143
-
144
- // Announce
145
- export interface Draft11Announce extends Draft11BaseMessage {
146
- readonly type: "announce";
147
- readonly request_id: bigint;
148
- readonly track_namespace: string[];
149
- readonly parameters: Draft11Params;
150
- }
151
-
152
- export interface Draft11AnnounceOk extends Draft11BaseMessage {
153
- readonly type: "announce_ok";
154
- readonly request_id: bigint;
155
- }
156
-
157
- export interface Draft11AnnounceError extends Draft11BaseMessage {
158
- readonly type: "announce_error";
159
- readonly request_id: bigint;
160
- readonly error_code: bigint;
161
- readonly reason_phrase: string;
162
- }
163
-
164
- export interface Draft11Unannounce extends Draft11BaseMessage {
165
- readonly type: "unannounce";
166
- readonly track_namespace: string[];
167
- }
168
-
169
- export interface Draft11AnnounceCancel extends Draft11BaseMessage {
170
- readonly type: "announce_cancel";
171
- readonly track_namespace: string[];
172
- readonly error_code: bigint;
173
- readonly reason_phrase: string;
174
- }
175
-
176
- // Subscribe Announces
177
- export interface Draft11SubscribeAnnounces extends Draft11BaseMessage {
178
- readonly type: "subscribe_announces";
179
- readonly request_id: bigint;
180
- readonly track_namespace_prefix: string[];
181
- readonly parameters: Draft11Params;
182
- }
183
-
184
- export interface Draft11SubscribeAnnouncesOk extends Draft11BaseMessage {
185
- readonly type: "subscribe_announces_ok";
186
- readonly request_id: bigint;
187
- }
188
-
189
- export interface Draft11SubscribeAnnouncesError extends Draft11BaseMessage {
190
- readonly type: "subscribe_announces_error";
191
- readonly request_id: bigint;
192
- readonly error_code: bigint;
193
- readonly reason_phrase: string;
194
- }
195
-
196
- export interface Draft11UnsubscribeAnnounces extends Draft11BaseMessage {
197
- readonly type: "unsubscribe_announces";
198
- readonly track_namespace_prefix: string[];
199
- }
200
-
201
- // Fetch
202
- export interface StandaloneFetch {
203
- readonly track_namespace: string[];
204
- readonly track_name: string;
205
- readonly start_group: bigint;
206
- readonly start_object: bigint;
207
- readonly end_group: bigint;
208
- readonly end_object: bigint;
209
- }
210
-
211
- export interface JoiningFetch {
212
- readonly joining_subscribe_id: bigint;
213
- readonly joining_start: bigint;
214
- }
215
-
216
- export interface Draft11Fetch extends Draft11BaseMessage {
217
- readonly type: "fetch";
218
- readonly request_id: bigint;
219
- readonly subscriber_priority: number; // uint8
220
- readonly group_order: bigint;
221
- readonly fetch_type: bigint;
222
- readonly standalone?: StandaloneFetch;
223
- readonly joining?: JoiningFetch;
224
- readonly parameters: Draft11Params;
225
- }
226
-
227
- export interface Draft11FetchOk extends Draft11BaseMessage {
228
- readonly type: "fetch_ok";
229
- readonly request_id: bigint;
230
- readonly group_order: bigint;
231
- readonly end_of_track: bigint;
232
- readonly end_location: LargestLocation;
233
- readonly parameters: Draft11Params;
234
- }
235
-
236
- export interface Draft11FetchError extends Draft11BaseMessage {
237
- readonly type: "fetch_error";
238
- readonly request_id: bigint;
239
- readonly error_code: bigint;
240
- readonly reason_phrase: string;
241
- }
242
-
243
- export interface Draft11FetchCancel extends Draft11BaseMessage {
244
- readonly type: "fetch_cancel";
245
- readonly request_id: bigint;
246
- }
247
-
248
- // Track Status
249
- export interface Draft11TrackStatusRequest extends Draft11BaseMessage {
250
- readonly type: "track_status_request";
251
- readonly request_id: bigint;
252
- readonly track_namespace: string[];
253
- readonly track_name: string;
254
- readonly parameters: Draft11Params;
255
- }
256
-
257
- export interface Draft11TrackStatus extends Draft11BaseMessage {
258
- readonly type: "track_status";
259
- readonly request_id: bigint;
260
- readonly status_code: bigint;
261
- readonly largest_location: LargestLocation;
262
- readonly parameters: Draft11Params;
263
- }
264
-
265
- // Session Control
266
- export interface Draft11GoAway extends Draft11BaseMessage {
267
- readonly type: "goaway";
268
- readonly new_session_uri: string;
269
- }
270
-
271
- export interface Draft11MaxRequestId extends Draft11BaseMessage {
272
- readonly type: "max_request_id";
273
- readonly request_id: bigint;
274
- }
275
-
276
- export interface Draft11RequestsBlocked extends Draft11BaseMessage {
277
- readonly type: "requests_blocked";
278
- readonly maximum_request_id: bigint;
279
- }
280
-
281
- // Union of all draft-11 control messages
282
- export type Draft11Message =
283
- | Draft11ClientSetup
284
- | Draft11ServerSetup
285
- | Draft11Subscribe
286
- | Draft11SubscribeOk
287
- | Draft11SubscribeError
288
- | Draft11SubscribeUpdate
289
- | Draft11SubscribeDone
290
- | Draft11Unsubscribe
291
- | Draft11Announce
292
- | Draft11AnnounceOk
293
- | Draft11AnnounceError
294
- | Draft11Unannounce
295
- | Draft11AnnounceCancel
296
- | Draft11SubscribeAnnounces
297
- | Draft11SubscribeAnnouncesOk
298
- | Draft11SubscribeAnnouncesError
299
- | Draft11UnsubscribeAnnounces
300
- | Draft11Fetch
301
- | Draft11FetchOk
302
- | Draft11FetchError
303
- | Draft11FetchCancel
304
- | Draft11TrackStatusRequest
305
- | Draft11TrackStatus
306
- | Draft11GoAway
307
- | Draft11MaxRequestId
308
- | Draft11RequestsBlocked;
309
-
310
- // Data stream types
311
- export interface ObjectPayload {
312
- readonly type: "object";
313
- readonly byteOffset: number;
314
- readonly payloadByteOffset: number;
315
- readonly objectId: bigint;
316
- readonly extensionData: Uint8Array;
317
- readonly payloadLength: number;
318
- readonly status?: bigint;
319
- readonly payload: Uint8Array;
320
- }
321
-
322
- export interface SubgroupStream {
323
- readonly type: "subgroup";
324
- readonly streamTypeId: number; // 0x08-0x0D
325
- readonly trackAlias: bigint;
326
- readonly groupId: bigint;
327
- readonly subgroupId: bigint;
328
- readonly publisherPriority: number;
329
- readonly objects: ObjectPayload[];
330
- }
331
-
332
- export interface DatagramObject {
333
- readonly type: "datagram";
334
- readonly streamTypeId: number; // 0x00 or 0x02
335
- readonly trackAlias: bigint;
336
- readonly groupId: bigint;
337
- readonly objectId: bigint;
338
- readonly publisherPriority: number;
339
- readonly objectStatus?: bigint;
340
- readonly payloadLength: number;
341
- readonly payload: Uint8Array;
342
- }
343
-
344
- export interface FetchObjectPayload {
345
- readonly type: "object";
346
- readonly byteOffset: number;
347
- readonly payloadByteOffset: number;
348
- readonly groupId: bigint;
349
- readonly subgroupId: bigint;
350
- readonly objectId: bigint;
351
- readonly publisherPriority: number;
352
- readonly extensionHeadersLength: bigint;
353
- readonly extensionData: Uint8Array;
354
- readonly payloadLength: number;
355
- readonly payload: Uint8Array;
356
- }
357
-
358
- export interface FetchStream {
359
- readonly type: "fetch";
360
- readonly requestId: bigint;
361
- readonly objects: FetchObjectPayload[];
362
- }
363
-
364
- export type Draft11DataStream = SubgroupStream | DatagramObject | FetchStream;
365
-
366
- // Streaming data stream decoder types
367
- export interface SubgroupStreamHeader {
368
- readonly type: "subgroup_header";
369
- readonly trackAlias: bigint;
370
- readonly groupId: bigint;
371
- readonly subgroupId: bigint;
372
- readonly publisherPriority: number;
373
- }
374
-
375
- export interface FetchStreamHeader {
376
- readonly type: "fetch_header";
377
- readonly requestId: bigint;
378
- }
379
-
380
- export type DataStreamHeader = SubgroupStreamHeader | FetchStreamHeader;
381
- export type DataStreamEvent = DataStreamHeader | ObjectPayload;
1
+ // Draft-11 specific message types
2
+ // Field names use snake_case to match test vector JSON
3
+
4
+ // Unknown parameter for passthrough
5
+ export interface UnknownParam {
6
+ readonly id: string // e.g. "0x21"
7
+ readonly length: number
8
+ readonly raw_hex: string
9
+ }
10
+
11
+ // Authorization token parameter
12
+ export interface AuthorizationToken {
13
+ readonly alias_type: bigint
14
+ readonly token_type: bigint
15
+ readonly token_value: string
16
+ }
17
+
18
+ // Setup parameters (PATH, MAX_REQUEST_ID) — same even/odd encoding as later drafts
19
+ export interface Draft11SetupParams {
20
+ path?: string // 0x01 odd
21
+ max_request_id?: bigint // 0x02 even
22
+ unknown?: UnknownParam[]
23
+ }
24
+
25
+ // Version-specific parameters — even/odd convention
26
+ export interface Draft11Params {
27
+ authorization_token?: AuthorizationToken // 0x01 odd
28
+ delivery_timeout?: bigint // 0x02 even
29
+ max_cache_duration?: bigint // 0x04 even
30
+ unknown?: UnknownParam[]
31
+ }
32
+
33
+ // Largest object location
34
+ export interface LargestLocation {
35
+ readonly group: bigint
36
+ readonly object: bigint
37
+ }
38
+
39
+ // Draft-11 message type tag union
40
+ export type Draft11MessageType =
41
+ | 'client_setup'
42
+ | 'server_setup'
43
+ | 'subscribe'
44
+ | 'subscribe_ok'
45
+ | 'subscribe_error'
46
+ | 'subscribe_update'
47
+ | 'subscribe_done'
48
+ | 'unsubscribe'
49
+ | 'announce'
50
+ | 'announce_ok'
51
+ | 'announce_error'
52
+ | 'unannounce'
53
+ | 'announce_cancel'
54
+ | 'subscribe_announces'
55
+ | 'subscribe_announces_ok'
56
+ | 'subscribe_announces_error'
57
+ | 'unsubscribe_announces'
58
+ | 'fetch'
59
+ | 'fetch_ok'
60
+ | 'fetch_error'
61
+ | 'fetch_cancel'
62
+ | 'track_status_request'
63
+ | 'track_status'
64
+ | 'goaway'
65
+ | 'max_request_id'
66
+ | 'requests_blocked'
67
+
68
+ // Base
69
+ export interface Draft11BaseMessage {
70
+ readonly type: Draft11MessageType
71
+ }
72
+
73
+ // Setup versions negotiated in messages
74
+ export interface Draft11ClientSetup extends Draft11BaseMessage {
75
+ readonly type: 'client_setup'
76
+ readonly supported_versions: bigint[]
77
+ readonly parameters: Draft11SetupParams
78
+ }
79
+
80
+ export interface Draft11ServerSetup extends Draft11BaseMessage {
81
+ readonly type: 'server_setup'
82
+ readonly selected_version: bigint
83
+ readonly parameters: Draft11SetupParams
84
+ }
85
+
86
+ // Subscribe
87
+ export interface Draft11Subscribe extends Draft11BaseMessage {
88
+ readonly type: 'subscribe'
89
+ readonly request_id: bigint
90
+ readonly track_alias: bigint
91
+ readonly track_namespace: string[]
92
+ readonly track_name: string
93
+ readonly subscriber_priority: number // uint8
94
+ readonly group_order: number // uint8
95
+ readonly forward: bigint
96
+ readonly filter_type: bigint
97
+ readonly start_group?: bigint
98
+ readonly start_object?: bigint
99
+ readonly end_group?: bigint
100
+ readonly parameters: Draft11Params
101
+ }
102
+
103
+ export interface Draft11SubscribeOk extends Draft11BaseMessage {
104
+ readonly type: 'subscribe_ok'
105
+ readonly request_id: bigint
106
+ readonly expires: bigint
107
+ readonly group_order: number // uint8
108
+ readonly content_exists: bigint
109
+ readonly largest_location?: LargestLocation
110
+ readonly parameters: Draft11Params
111
+ }
112
+
113
+ export interface Draft11SubscribeError extends Draft11BaseMessage {
114
+ readonly type: 'subscribe_error'
115
+ readonly request_id: bigint
116
+ readonly error_code: bigint
117
+ readonly reason_phrase: string
118
+ readonly track_alias: bigint
119
+ }
120
+
121
+ export interface Draft11SubscribeUpdate extends Draft11BaseMessage {
122
+ readonly type: 'subscribe_update'
123
+ readonly request_id: bigint
124
+ readonly start_group: bigint
125
+ readonly start_object: bigint
126
+ readonly end_group: bigint
127
+ readonly subscriber_priority: number // uint8
128
+ readonly forward: bigint
129
+ readonly parameters: Draft11Params
130
+ }
131
+
132
+ export interface Draft11SubscribeDone extends Draft11BaseMessage {
133
+ readonly type: 'subscribe_done'
134
+ readonly request_id: bigint
135
+ readonly status_code: bigint
136
+ readonly stream_count: bigint
137
+ readonly reason_phrase: string
138
+ }
139
+
140
+ export interface Draft11Unsubscribe extends Draft11BaseMessage {
141
+ readonly type: 'unsubscribe'
142
+ readonly request_id: bigint
143
+ }
144
+
145
+ // Announce
146
+ export interface Draft11Announce extends Draft11BaseMessage {
147
+ readonly type: 'announce'
148
+ readonly request_id: bigint
149
+ readonly track_namespace: string[]
150
+ readonly parameters: Draft11Params
151
+ }
152
+
153
+ export interface Draft11AnnounceOk extends Draft11BaseMessage {
154
+ readonly type: 'announce_ok'
155
+ readonly request_id: bigint
156
+ }
157
+
158
+ export interface Draft11AnnounceError extends Draft11BaseMessage {
159
+ readonly type: 'announce_error'
160
+ readonly request_id: bigint
161
+ readonly error_code: bigint
162
+ readonly reason_phrase: string
163
+ }
164
+
165
+ export interface Draft11Unannounce extends Draft11BaseMessage {
166
+ readonly type: 'unannounce'
167
+ readonly track_namespace: string[]
168
+ }
169
+
170
+ export interface Draft11AnnounceCancel extends Draft11BaseMessage {
171
+ readonly type: 'announce_cancel'
172
+ readonly track_namespace: string[]
173
+ readonly error_code: bigint
174
+ readonly reason_phrase: string
175
+ }
176
+
177
+ // Subscribe Announces
178
+ export interface Draft11SubscribeAnnounces extends Draft11BaseMessage {
179
+ readonly type: 'subscribe_announces'
180
+ readonly request_id: bigint
181
+ readonly track_namespace_prefix: string[]
182
+ readonly parameters: Draft11Params
183
+ }
184
+
185
+ export interface Draft11SubscribeAnnouncesOk extends Draft11BaseMessage {
186
+ readonly type: 'subscribe_announces_ok'
187
+ readonly request_id: bigint
188
+ }
189
+
190
+ export interface Draft11SubscribeAnnouncesError extends Draft11BaseMessage {
191
+ readonly type: 'subscribe_announces_error'
192
+ readonly request_id: bigint
193
+ readonly error_code: bigint
194
+ readonly reason_phrase: string
195
+ }
196
+
197
+ export interface Draft11UnsubscribeAnnounces extends Draft11BaseMessage {
198
+ readonly type: 'unsubscribe_announces'
199
+ readonly track_namespace_prefix: string[]
200
+ }
201
+
202
+ // Fetch
203
+ export interface StandaloneFetch {
204
+ readonly track_namespace: string[]
205
+ readonly track_name: string
206
+ readonly start_group: bigint
207
+ readonly start_object: bigint
208
+ readonly end_group: bigint
209
+ readonly end_object: bigint
210
+ }
211
+
212
+ export interface JoiningFetch {
213
+ readonly joining_subscribe_id: bigint
214
+ readonly joining_start: bigint
215
+ }
216
+
217
+ export interface Draft11Fetch extends Draft11BaseMessage {
218
+ readonly type: 'fetch'
219
+ readonly request_id: bigint
220
+ readonly subscriber_priority: number // uint8
221
+ readonly group_order: number // uint8
222
+ readonly fetch_type: bigint
223
+ readonly standalone?: StandaloneFetch
224
+ readonly joining?: JoiningFetch
225
+ readonly parameters: Draft11Params
226
+ }
227
+
228
+ export interface Draft11FetchOk extends Draft11BaseMessage {
229
+ readonly type: 'fetch_ok'
230
+ readonly request_id: bigint
231
+ readonly group_order: number // uint8
232
+ readonly end_of_track: bigint
233
+ readonly end_location: LargestLocation
234
+ readonly parameters: Draft11Params
235
+ }
236
+
237
+ export interface Draft11FetchError extends Draft11BaseMessage {
238
+ readonly type: 'fetch_error'
239
+ readonly request_id: bigint
240
+ readonly error_code: bigint
241
+ readonly reason_phrase: string
242
+ }
243
+
244
+ export interface Draft11FetchCancel extends Draft11BaseMessage {
245
+ readonly type: 'fetch_cancel'
246
+ readonly request_id: bigint
247
+ }
248
+
249
+ // Track Status
250
+ export interface Draft11TrackStatusRequest extends Draft11BaseMessage {
251
+ readonly type: 'track_status_request'
252
+ readonly request_id: bigint
253
+ readonly track_namespace: string[]
254
+ readonly track_name: string
255
+ readonly parameters: Draft11Params
256
+ }
257
+
258
+ export interface Draft11TrackStatus extends Draft11BaseMessage {
259
+ readonly type: 'track_status'
260
+ readonly request_id: bigint
261
+ readonly status_code: bigint
262
+ readonly largest_location: LargestLocation
263
+ readonly parameters: Draft11Params
264
+ }
265
+
266
+ // Session Control
267
+ export interface Draft11GoAway extends Draft11BaseMessage {
268
+ readonly type: 'goaway'
269
+ readonly new_session_uri: string
270
+ }
271
+
272
+ export interface Draft11MaxRequestId extends Draft11BaseMessage {
273
+ readonly type: 'max_request_id'
274
+ readonly request_id: bigint
275
+ }
276
+
277
+ export interface Draft11RequestsBlocked extends Draft11BaseMessage {
278
+ readonly type: 'requests_blocked'
279
+ readonly maximum_request_id: bigint
280
+ }
281
+
282
+ // Union of all draft-11 control messages
283
+ export type Draft11Message =
284
+ | Draft11ClientSetup
285
+ | Draft11ServerSetup
286
+ | Draft11Subscribe
287
+ | Draft11SubscribeOk
288
+ | Draft11SubscribeError
289
+ | Draft11SubscribeUpdate
290
+ | Draft11SubscribeDone
291
+ | Draft11Unsubscribe
292
+ | Draft11Announce
293
+ | Draft11AnnounceOk
294
+ | Draft11AnnounceError
295
+ | Draft11Unannounce
296
+ | Draft11AnnounceCancel
297
+ | Draft11SubscribeAnnounces
298
+ | Draft11SubscribeAnnouncesOk
299
+ | Draft11SubscribeAnnouncesError
300
+ | Draft11UnsubscribeAnnounces
301
+ | Draft11Fetch
302
+ | Draft11FetchOk
303
+ | Draft11FetchError
304
+ | Draft11FetchCancel
305
+ | Draft11TrackStatusRequest
306
+ | Draft11TrackStatus
307
+ | Draft11GoAway
308
+ | Draft11MaxRequestId
309
+ | Draft11RequestsBlocked
310
+
311
+ // Data stream types
312
+ export interface ObjectPayload {
313
+ readonly type: 'object'
314
+ readonly byteOffset: number
315
+ readonly payloadByteOffset: number
316
+ readonly objectId: bigint
317
+ readonly extensionHeadersLength?: bigint
318
+ readonly extensionData: Uint8Array
319
+ readonly payloadLength: number
320
+ readonly status?: bigint
321
+ readonly payload: Uint8Array
322
+ }
323
+
324
+ export interface SubgroupStream {
325
+ readonly type: 'subgroup'
326
+ readonly streamTypeId: number // 0x08-0x0D
327
+ readonly trackAlias: bigint
328
+ readonly groupId: bigint
329
+ readonly subgroupId: bigint
330
+ readonly publisherPriority: number
331
+ readonly objects: ObjectPayload[]
332
+ }
333
+
334
+ export interface DatagramObject {
335
+ readonly type: 'datagram'
336
+ readonly streamTypeId: number // 0x00-0x03
337
+ readonly trackAlias: bigint
338
+ readonly groupId: bigint
339
+ readonly objectId: bigint
340
+ readonly publisherPriority: number
341
+ readonly extensionHeadersLength?: bigint
342
+ readonly extensionData?: Uint8Array
343
+ readonly objectStatus?: bigint
344
+ readonly payloadLength: number
345
+ readonly payload: Uint8Array
346
+ }
347
+
348
+ export interface FetchObjectPayload {
349
+ readonly type: 'object'
350
+ readonly byteOffset: number
351
+ readonly payloadByteOffset: number
352
+ readonly groupId: bigint
353
+ readonly subgroupId: bigint
354
+ readonly objectId: bigint
355
+ readonly publisherPriority: number
356
+ readonly extensionHeadersLength: bigint
357
+ readonly extensionData: Uint8Array
358
+ readonly payloadLength: number
359
+ readonly payload: Uint8Array
360
+ }
361
+
362
+ export interface FetchStream {
363
+ readonly type: 'fetch'
364
+ readonly requestId: bigint
365
+ readonly objects: FetchObjectPayload[]
366
+ }
367
+
368
+ export type Draft11DataStream = SubgroupStream | DatagramObject | FetchStream
369
+
370
+ // Streaming data stream decoder types
371
+ export interface SubgroupStreamHeader {
372
+ readonly type: 'subgroup_header'
373
+ readonly trackAlias: bigint
374
+ readonly groupId: bigint
375
+ readonly subgroupId: bigint
376
+ readonly publisherPriority: number
377
+ }
378
+
379
+ export interface FetchStreamHeader {
380
+ readonly type: 'fetch_header'
381
+ readonly requestId: bigint
382
+ }
383
+
384
+ export type DataStreamHeader = SubgroupStreamHeader | FetchStreamHeader
385
+ export type DataStreamEvent = DataStreamHeader | ObjectPayload