@moqtap/codec 0.2.0 → 0.2.2

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 (439) hide show
  1. package/dist/core/buffer-reader.d.ts +15 -0
  2. package/dist/core/buffer-reader.d.ts.map +1 -0
  3. package/dist/core/buffer-reader.js +98 -0
  4. package/dist/core/buffer-reader.js.map +1 -0
  5. package/dist/core/buffer-writer.d.ts +16 -0
  6. package/dist/core/buffer-writer.d.ts.map +1 -0
  7. package/dist/core/buffer-writer.js +86 -0
  8. package/dist/core/buffer-writer.js.map +1 -0
  9. package/dist/core/errors.d.ts +2 -0
  10. package/dist/core/errors.d.ts.map +1 -0
  11. package/dist/core/errors.js +2 -0
  12. package/dist/core/errors.js.map +1 -0
  13. package/dist/core/hex.d.ts +5 -0
  14. package/dist/core/hex.d.ts.map +1 -0
  15. package/dist/core/hex.js +17 -0
  16. package/dist/core/hex.js.map +1 -0
  17. package/dist/core/session-types.d.ts +99 -0
  18. package/dist/core/session-types.d.ts.map +1 -0
  19. package/dist/core/session-types.js +2 -0
  20. package/dist/core/session-types.js.map +1 -0
  21. package/dist/core/types.d.ts +235 -0
  22. package/dist/core/types.d.ts.map +1 -0
  23. package/dist/core/types.js +11 -0
  24. package/dist/core/types.js.map +1 -0
  25. package/dist/drafts/draft07/announce-fsm.d.ts +2 -0
  26. package/dist/drafts/draft07/announce-fsm.d.ts.map +1 -0
  27. package/dist/drafts/draft07/announce-fsm.js +2 -0
  28. package/dist/drafts/draft07/announce-fsm.js.map +1 -0
  29. package/dist/drafts/draft07/codec.d.ts +17 -0
  30. package/dist/drafts/draft07/codec.d.ts.map +1 -0
  31. package/dist/drafts/draft07/codec.js +722 -0
  32. package/dist/drafts/draft07/codec.js.map +1 -0
  33. package/dist/drafts/draft07/data-streams.d.ts +9 -0
  34. package/dist/drafts/draft07/data-streams.d.ts.map +1 -0
  35. package/dist/drafts/draft07/data-streams.js +228 -0
  36. package/dist/drafts/draft07/data-streams.js.map +1 -0
  37. package/dist/drafts/draft07/index.d.ts +14 -0
  38. package/dist/drafts/draft07/index.d.ts.map +1 -0
  39. package/dist/drafts/draft07/index.js +18 -0
  40. package/dist/drafts/draft07/index.js.map +1 -0
  41. package/dist/drafts/draft07/messages.d.ts +32 -0
  42. package/dist/drafts/draft07/messages.d.ts.map +1 -0
  43. package/dist/drafts/draft07/messages.js +42 -0
  44. package/dist/drafts/draft07/messages.js.map +1 -0
  45. package/dist/drafts/draft07/parameters.d.ts +4 -0
  46. package/dist/drafts/draft07/parameters.d.ts.map +1 -0
  47. package/dist/drafts/draft07/parameters.js +10 -0
  48. package/dist/drafts/draft07/parameters.js.map +1 -0
  49. package/dist/drafts/draft07/rules.d.ts +8 -0
  50. package/dist/drafts/draft07/rules.d.ts.map +1 -0
  51. package/dist/drafts/draft07/rules.js +95 -0
  52. package/dist/drafts/draft07/rules.js.map +1 -0
  53. package/dist/drafts/draft07/session-fsm.d.ts +38 -0
  54. package/dist/drafts/draft07/session-fsm.d.ts.map +1 -0
  55. package/dist/drafts/draft07/session-fsm.js +354 -0
  56. package/dist/drafts/draft07/session-fsm.js.map +1 -0
  57. package/dist/drafts/draft07/session.d.ts +4 -0
  58. package/dist/drafts/draft07/session.d.ts.map +1 -0
  59. package/dist/drafts/draft07/session.js +5 -0
  60. package/dist/drafts/draft07/session.js.map +1 -0
  61. package/dist/drafts/draft07/subscription-fsm.d.ts +2 -0
  62. package/dist/drafts/draft07/subscription-fsm.d.ts.map +1 -0
  63. package/dist/drafts/draft07/subscription-fsm.js +2 -0
  64. package/dist/drafts/draft07/subscription-fsm.js.map +1 -0
  65. package/dist/drafts/draft07/types.d.ts +61 -0
  66. package/dist/drafts/draft07/types.d.ts.map +1 -0
  67. package/dist/drafts/draft07/types.js +4 -0
  68. package/dist/drafts/draft07/types.js.map +1 -0
  69. package/dist/drafts/draft07/varint.d.ts +4 -0
  70. package/dist/drafts/draft07/varint.d.ts.map +1 -0
  71. package/dist/drafts/draft07/varint.js +22 -0
  72. package/dist/drafts/draft07/varint.js.map +1 -0
  73. package/dist/drafts/draft08/codec.d.ts +29 -0
  74. package/dist/drafts/draft08/codec.d.ts.map +1 -0
  75. package/dist/drafts/draft08/codec.js +729 -0
  76. package/dist/drafts/draft08/codec.js.map +1 -0
  77. package/dist/drafts/draft08/data-streams.d.ts +12 -0
  78. package/dist/drafts/draft08/data-streams.d.ts.map +1 -0
  79. package/dist/drafts/draft08/data-streams.js +345 -0
  80. package/dist/drafts/draft08/data-streams.js.map +1 -0
  81. package/dist/drafts/draft08/index.d.ts +9 -0
  82. package/dist/drafts/draft08/index.d.ts.map +1 -0
  83. package/dist/drafts/draft08/index.js +7 -0
  84. package/dist/drafts/draft08/index.js.map +1 -0
  85. package/dist/drafts/draft08/messages.d.ts +34 -0
  86. package/dist/drafts/draft08/messages.d.ts.map +1 -0
  87. package/dist/drafts/draft08/messages.js +66 -0
  88. package/dist/drafts/draft08/messages.js.map +1 -0
  89. package/dist/drafts/draft08/rules.d.ts +8 -0
  90. package/dist/drafts/draft08/rules.d.ts.map +1 -0
  91. package/dist/drafts/draft08/rules.js +83 -0
  92. package/dist/drafts/draft08/rules.js.map +1 -0
  93. package/dist/drafts/draft08/session-fsm.d.ts +47 -0
  94. package/dist/drafts/draft08/session-fsm.d.ts.map +1 -0
  95. package/dist/drafts/draft08/session-fsm.js +483 -0
  96. package/dist/drafts/draft08/session-fsm.js.map +1 -0
  97. package/dist/drafts/draft08/session.d.ts +5 -0
  98. package/dist/drafts/draft08/session.d.ts.map +1 -0
  99. package/dist/drafts/draft08/session.js +5 -0
  100. package/dist/drafts/draft08/session.js.map +1 -0
  101. package/dist/drafts/draft08/types.d.ts +268 -0
  102. package/dist/drafts/draft08/types.d.ts.map +1 -0
  103. package/dist/drafts/draft08/types.js +4 -0
  104. package/dist/drafts/draft08/types.js.map +1 -0
  105. package/dist/drafts/draft09/codec.d.ts +21 -0
  106. package/dist/drafts/draft09/codec.d.ts.map +1 -0
  107. package/dist/drafts/draft09/codec.js +721 -0
  108. package/dist/drafts/draft09/codec.js.map +1 -0
  109. package/dist/drafts/draft09/data-streams.d.ts +12 -0
  110. package/dist/drafts/draft09/data-streams.d.ts.map +1 -0
  111. package/dist/drafts/draft09/data-streams.js +307 -0
  112. package/dist/drafts/draft09/data-streams.js.map +1 -0
  113. package/dist/drafts/draft09/index.d.ts +9 -0
  114. package/dist/drafts/draft09/index.d.ts.map +1 -0
  115. package/dist/drafts/draft09/index.js +7 -0
  116. package/dist/drafts/draft09/index.js.map +1 -0
  117. package/dist/drafts/draft09/messages.d.ts +34 -0
  118. package/dist/drafts/draft09/messages.d.ts.map +1 -0
  119. package/dist/drafts/draft09/messages.js +66 -0
  120. package/dist/drafts/draft09/messages.js.map +1 -0
  121. package/dist/drafts/draft09/rules.d.ts +8 -0
  122. package/dist/drafts/draft09/rules.d.ts.map +1 -0
  123. package/dist/drafts/draft09/rules.js +83 -0
  124. package/dist/drafts/draft09/rules.js.map +1 -0
  125. package/dist/drafts/draft09/session-fsm.d.ts +47 -0
  126. package/dist/drafts/draft09/session-fsm.d.ts.map +1 -0
  127. package/dist/drafts/draft09/session-fsm.js +483 -0
  128. package/dist/drafts/draft09/session-fsm.js.map +1 -0
  129. package/dist/drafts/draft09/session.d.ts +5 -0
  130. package/dist/drafts/draft09/session.d.ts.map +1 -0
  131. package/dist/drafts/draft09/session.js +5 -0
  132. package/dist/drafts/draft09/session.js.map +1 -0
  133. package/dist/drafts/draft09/types.d.ts +268 -0
  134. package/dist/drafts/draft09/types.d.ts.map +1 -0
  135. package/dist/drafts/draft09/types.js +4 -0
  136. package/dist/drafts/draft09/types.js.map +1 -0
  137. package/dist/drafts/draft10/codec.d.ts +21 -0
  138. package/dist/drafts/draft10/codec.d.ts.map +1 -0
  139. package/dist/drafts/draft10/codec.js +721 -0
  140. package/dist/drafts/draft10/codec.js.map +1 -0
  141. package/dist/drafts/draft10/data-streams.d.ts +12 -0
  142. package/dist/drafts/draft10/data-streams.d.ts.map +1 -0
  143. package/dist/drafts/draft10/data-streams.js +307 -0
  144. package/dist/drafts/draft10/data-streams.js.map +1 -0
  145. package/dist/drafts/draft10/index.d.ts +9 -0
  146. package/dist/drafts/draft10/index.d.ts.map +1 -0
  147. package/dist/drafts/draft10/index.js +7 -0
  148. package/dist/drafts/draft10/index.js.map +1 -0
  149. package/dist/drafts/draft10/messages.d.ts +34 -0
  150. package/dist/drafts/draft10/messages.d.ts.map +1 -0
  151. package/dist/drafts/draft10/messages.js +66 -0
  152. package/dist/drafts/draft10/messages.js.map +1 -0
  153. package/dist/drafts/draft10/rules.d.ts +8 -0
  154. package/dist/drafts/draft10/rules.d.ts.map +1 -0
  155. package/dist/drafts/draft10/rules.js +83 -0
  156. package/dist/drafts/draft10/rules.js.map +1 -0
  157. package/dist/drafts/draft10/session-fsm.d.ts +47 -0
  158. package/dist/drafts/draft10/session-fsm.d.ts.map +1 -0
  159. package/dist/drafts/draft10/session-fsm.js +483 -0
  160. package/dist/drafts/draft10/session-fsm.js.map +1 -0
  161. package/dist/drafts/draft10/session.d.ts +5 -0
  162. package/dist/drafts/draft10/session.d.ts.map +1 -0
  163. package/dist/drafts/draft10/session.js +5 -0
  164. package/dist/drafts/draft10/session.js.map +1 -0
  165. package/dist/drafts/draft10/types.d.ts +268 -0
  166. package/dist/drafts/draft10/types.d.ts.map +1 -0
  167. package/dist/drafts/draft10/types.js +4 -0
  168. package/dist/drafts/draft10/types.js.map +1 -0
  169. package/dist/drafts/draft11/codec.d.ts +25 -0
  170. package/dist/drafts/draft11/codec.d.ts.map +1 -0
  171. package/dist/drafts/draft11/codec.js +775 -0
  172. package/dist/drafts/draft11/codec.js.map +1 -0
  173. package/dist/drafts/draft11/data-streams.d.ts +10 -0
  174. package/dist/drafts/draft11/data-streams.d.ts.map +1 -0
  175. package/dist/drafts/draft11/data-streams.js +253 -0
  176. package/dist/drafts/draft11/data-streams.js.map +1 -0
  177. package/dist/drafts/draft11/index.d.ts +9 -0
  178. package/dist/drafts/draft11/index.d.ts.map +1 -0
  179. package/dist/drafts/draft11/index.js +7 -0
  180. package/dist/drafts/draft11/index.js.map +1 -0
  181. package/dist/drafts/draft11/messages.d.ts +33 -0
  182. package/dist/drafts/draft11/messages.d.ts.map +1 -0
  183. package/dist/drafts/draft11/messages.js +65 -0
  184. package/dist/drafts/draft11/messages.js.map +1 -0
  185. package/dist/drafts/draft11/rules.d.ts +8 -0
  186. package/dist/drafts/draft11/rules.d.ts.map +1 -0
  187. package/dist/drafts/draft11/rules.js +88 -0
  188. package/dist/drafts/draft11/rules.js.map +1 -0
  189. package/dist/drafts/draft11/session-fsm.d.ts +52 -0
  190. package/dist/drafts/draft11/session-fsm.d.ts.map +1 -0
  191. package/dist/drafts/draft11/session-fsm.js +530 -0
  192. package/dist/drafts/draft11/session-fsm.js.map +1 -0
  193. package/dist/drafts/draft11/session.d.ts +5 -0
  194. package/dist/drafts/draft11/session.d.ts.map +1 -0
  195. package/dist/drafts/draft11/session.js +5 -0
  196. package/dist/drafts/draft11/session.js.map +1 -0
  197. package/dist/drafts/draft11/types.d.ts +266 -0
  198. package/dist/drafts/draft11/types.d.ts.map +1 -0
  199. package/dist/drafts/draft11/types.js +4 -0
  200. package/dist/drafts/draft11/types.js.map +1 -0
  201. package/dist/drafts/draft12/codec.d.ts +27 -0
  202. package/dist/drafts/draft12/codec.d.ts.map +1 -0
  203. package/dist/drafts/draft12/codec.js +918 -0
  204. package/dist/drafts/draft12/codec.js.map +1 -0
  205. package/dist/drafts/draft12/data-streams.d.ts +10 -0
  206. package/dist/drafts/draft12/data-streams.d.ts.map +1 -0
  207. package/dist/drafts/draft12/data-streams.js +254 -0
  208. package/dist/drafts/draft12/data-streams.js.map +1 -0
  209. package/dist/drafts/draft12/index.d.ts +9 -0
  210. package/dist/drafts/draft12/index.d.ts.map +1 -0
  211. package/dist/drafts/draft12/index.js +7 -0
  212. package/dist/drafts/draft12/index.js.map +1 -0
  213. package/dist/drafts/draft12/messages.d.ts +37 -0
  214. package/dist/drafts/draft12/messages.d.ts.map +1 -0
  215. package/dist/drafts/draft12/messages.js +77 -0
  216. package/dist/drafts/draft12/messages.js.map +1 -0
  217. package/dist/drafts/draft12/rules.d.ts +8 -0
  218. package/dist/drafts/draft12/rules.d.ts.map +1 -0
  219. package/dist/drafts/draft12/rules.js +94 -0
  220. package/dist/drafts/draft12/rules.js.map +1 -0
  221. package/dist/drafts/draft12/session-fsm.d.ts +55 -0
  222. package/dist/drafts/draft12/session-fsm.d.ts.map +1 -0
  223. package/dist/drafts/draft12/session-fsm.js +569 -0
  224. package/dist/drafts/draft12/session-fsm.js.map +1 -0
  225. package/dist/drafts/draft12/session.d.ts +5 -0
  226. package/dist/drafts/draft12/session.d.ts.map +1 -0
  227. package/dist/drafts/draft12/session.js +5 -0
  228. package/dist/drafts/draft12/session.js.map +1 -0
  229. package/dist/drafts/draft12/types.d.ts +294 -0
  230. package/dist/drafts/draft12/types.d.ts.map +1 -0
  231. package/dist/drafts/draft12/types.js +4 -0
  232. package/dist/drafts/draft12/types.js.map +1 -0
  233. package/dist/drafts/draft13/codec.d.ts +27 -0
  234. package/dist/drafts/draft13/codec.d.ts.map +1 -0
  235. package/dist/drafts/draft13/codec.js +1000 -0
  236. package/dist/drafts/draft13/codec.js.map +1 -0
  237. package/dist/drafts/draft13/data-streams.d.ts +10 -0
  238. package/dist/drafts/draft13/data-streams.d.ts.map +1 -0
  239. package/dist/drafts/draft13/data-streams.js +254 -0
  240. package/dist/drafts/draft13/data-streams.js.map +1 -0
  241. package/dist/drafts/draft13/index.d.ts +9 -0
  242. package/dist/drafts/draft13/index.d.ts.map +1 -0
  243. package/dist/drafts/draft13/index.js +7 -0
  244. package/dist/drafts/draft13/index.js.map +1 -0
  245. package/dist/drafts/draft13/messages.d.ts +38 -0
  246. package/dist/drafts/draft13/messages.d.ts.map +1 -0
  247. package/dist/drafts/draft13/messages.js +79 -0
  248. package/dist/drafts/draft13/messages.js.map +1 -0
  249. package/dist/drafts/draft13/rules.d.ts +8 -0
  250. package/dist/drafts/draft13/rules.d.ts.map +1 -0
  251. package/dist/drafts/draft13/rules.js +96 -0
  252. package/dist/drafts/draft13/rules.js.map +1 -0
  253. package/dist/drafts/draft13/session-fsm.d.ts +56 -0
  254. package/dist/drafts/draft13/session-fsm.d.ts.map +1 -0
  255. package/dist/drafts/draft13/session-fsm.js +581 -0
  256. package/dist/drafts/draft13/session-fsm.js.map +1 -0
  257. package/dist/drafts/draft13/session.d.ts +5 -0
  258. package/dist/drafts/draft13/session.d.ts.map +1 -0
  259. package/dist/drafts/draft13/session.js +5 -0
  260. package/dist/drafts/draft13/session.js.map +1 -0
  261. package/dist/drafts/draft13/types.d.ts +310 -0
  262. package/dist/drafts/draft13/types.d.ts.map +1 -0
  263. package/dist/drafts/draft13/types.js +4 -0
  264. package/dist/drafts/draft13/types.js.map +1 -0
  265. package/dist/drafts/draft14/codec.d.ts +34 -0
  266. package/dist/drafts/draft14/codec.d.ts.map +1 -0
  267. package/dist/drafts/draft14/codec.js +752 -0
  268. package/dist/drafts/draft14/codec.js.map +1 -0
  269. package/dist/drafts/draft14/data-streams.d.ts +56 -0
  270. package/dist/drafts/draft14/data-streams.d.ts.map +1 -0
  271. package/dist/drafts/draft14/data-streams.js +729 -0
  272. package/dist/drafts/draft14/data-streams.js.map +1 -0
  273. package/dist/drafts/draft14/index.d.ts +9 -0
  274. package/dist/drafts/draft14/index.d.ts.map +1 -0
  275. package/dist/drafts/draft14/index.js +7 -0
  276. package/dist/drafts/draft14/index.js.map +1 -0
  277. package/dist/drafts/draft14/messages.d.ts +36 -0
  278. package/dist/drafts/draft14/messages.d.ts.map +1 -0
  279. package/dist/drafts/draft14/messages.js +71 -0
  280. package/dist/drafts/draft14/messages.js.map +1 -0
  281. package/dist/drafts/draft14/rules.d.ts +8 -0
  282. package/dist/drafts/draft14/rules.d.ts.map +1 -0
  283. package/dist/drafts/draft14/rules.js +101 -0
  284. package/dist/drafts/draft14/rules.js.map +1 -0
  285. package/dist/drafts/draft14/session-fsm.d.ts +58 -0
  286. package/dist/drafts/draft14/session-fsm.d.ts.map +1 -0
  287. package/dist/drafts/draft14/session-fsm.js +648 -0
  288. package/dist/drafts/draft14/session-fsm.js.map +1 -0
  289. package/dist/drafts/draft14/session.d.ts +5 -0
  290. package/dist/drafts/draft14/session.d.ts.map +1 -0
  291. package/dist/drafts/draft14/session.js +5 -0
  292. package/dist/drafts/draft14/session.js.map +1 -0
  293. package/dist/drafts/draft14/types.d.ts +263 -0
  294. package/dist/drafts/draft14/types.d.ts.map +1 -0
  295. package/dist/drafts/draft14/types.js +4 -0
  296. package/dist/drafts/draft14/types.js.map +1 -0
  297. package/dist/drafts/draft15/codec.d.ts +33 -0
  298. package/dist/drafts/draft15/codec.d.ts.map +1 -0
  299. package/dist/drafts/draft15/codec.js +742 -0
  300. package/dist/drafts/draft15/codec.js.map +1 -0
  301. package/dist/drafts/draft15/data-streams.d.ts +45 -0
  302. package/dist/drafts/draft15/data-streams.d.ts.map +1 -0
  303. package/dist/drafts/draft15/data-streams.js +675 -0
  304. package/dist/drafts/draft15/data-streams.js.map +1 -0
  305. package/dist/drafts/draft15/index.d.ts +9 -0
  306. package/dist/drafts/draft15/index.d.ts.map +1 -0
  307. package/dist/drafts/draft15/index.js +7 -0
  308. package/dist/drafts/draft15/index.js.map +1 -0
  309. package/dist/drafts/draft15/messages.d.ts +31 -0
  310. package/dist/drafts/draft15/messages.d.ts.map +1 -0
  311. package/dist/drafts/draft15/messages.js +59 -0
  312. package/dist/drafts/draft15/messages.js.map +1 -0
  313. package/dist/drafts/draft15/rules.d.ts +8 -0
  314. package/dist/drafts/draft15/rules.d.ts.map +1 -0
  315. package/dist/drafts/draft15/rules.js +83 -0
  316. package/dist/drafts/draft15/rules.js.map +1 -0
  317. package/dist/drafts/draft15/session-fsm.d.ts +48 -0
  318. package/dist/drafts/draft15/session-fsm.d.ts.map +1 -0
  319. package/dist/drafts/draft15/session-fsm.js +479 -0
  320. package/dist/drafts/draft15/session-fsm.js.map +1 -0
  321. package/dist/drafts/draft15/session.d.ts +5 -0
  322. package/dist/drafts/draft15/session.d.ts.map +1 -0
  323. package/dist/drafts/draft15/session.js +5 -0
  324. package/dist/drafts/draft15/session.js.map +1 -0
  325. package/dist/drafts/draft15/types.d.ts +232 -0
  326. package/dist/drafts/draft15/types.d.ts.map +1 -0
  327. package/dist/drafts/draft15/types.js +4 -0
  328. package/dist/drafts/draft15/types.js.map +1 -0
  329. package/dist/drafts/draft16/codec.d.ts +29 -0
  330. package/dist/drafts/draft16/codec.d.ts.map +1 -0
  331. package/dist/drafts/draft16/codec.js +747 -0
  332. package/dist/drafts/draft16/codec.js.map +1 -0
  333. package/dist/drafts/draft16/data-streams.d.ts +34 -0
  334. package/dist/drafts/draft16/data-streams.d.ts.map +1 -0
  335. package/dist/drafts/draft16/data-streams.js +667 -0
  336. package/dist/drafts/draft16/data-streams.js.map +1 -0
  337. package/dist/drafts/draft16/index.d.ts +9 -0
  338. package/dist/drafts/draft16/index.d.ts.map +1 -0
  339. package/dist/drafts/draft16/index.js +7 -0
  340. package/dist/drafts/draft16/index.js.map +1 -0
  341. package/dist/drafts/draft16/messages.d.ts +32 -0
  342. package/dist/drafts/draft16/messages.d.ts.map +1 -0
  343. package/dist/drafts/draft16/messages.js +62 -0
  344. package/dist/drafts/draft16/messages.js.map +1 -0
  345. package/dist/drafts/draft16/rules.d.ts +8 -0
  346. package/dist/drafts/draft16/rules.d.ts.map +1 -0
  347. package/dist/drafts/draft16/rules.js +84 -0
  348. package/dist/drafts/draft16/rules.js.map +1 -0
  349. package/dist/drafts/draft16/session-fsm.d.ts +48 -0
  350. package/dist/drafts/draft16/session-fsm.d.ts.map +1 -0
  351. package/dist/drafts/draft16/session-fsm.js +474 -0
  352. package/dist/drafts/draft16/session-fsm.js.map +1 -0
  353. package/dist/drafts/draft16/session.d.ts +5 -0
  354. package/dist/drafts/draft16/session.d.ts.map +1 -0
  355. package/dist/drafts/draft16/session.js +5 -0
  356. package/dist/drafts/draft16/session.js.map +1 -0
  357. package/dist/drafts/draft16/types.d.ts +238 -0
  358. package/dist/drafts/draft16/types.d.ts.map +1 -0
  359. package/dist/drafts/draft16/types.js +4 -0
  360. package/dist/drafts/draft16/types.js.map +1 -0
  361. package/dist/drafts/draft17/codec.d.ts +29 -0
  362. package/dist/drafts/draft17/codec.d.ts.map +1 -0
  363. package/dist/drafts/draft17/codec.js +799 -0
  364. package/dist/drafts/draft17/codec.js.map +1 -0
  365. package/dist/drafts/draft17/data-streams.d.ts +13 -0
  366. package/dist/drafts/draft17/data-streams.d.ts.map +1 -0
  367. package/dist/drafts/draft17/data-streams.js +633 -0
  368. package/dist/drafts/draft17/data-streams.js.map +1 -0
  369. package/dist/drafts/draft17/index.d.ts +8 -0
  370. package/dist/drafts/draft17/index.d.ts.map +1 -0
  371. package/dist/drafts/draft17/index.js +6 -0
  372. package/dist/drafts/draft17/index.js.map +1 -0
  373. package/dist/drafts/draft17/messages.d.ts +25 -0
  374. package/dist/drafts/draft17/messages.d.ts.map +1 -0
  375. package/dist/drafts/draft17/messages.js +48 -0
  376. package/dist/drafts/draft17/messages.js.map +1 -0
  377. package/dist/drafts/draft17/rules.d.ts +8 -0
  378. package/dist/drafts/draft17/rules.d.ts.map +1 -0
  379. package/dist/drafts/draft17/rules.js +71 -0
  380. package/dist/drafts/draft17/rules.js.map +1 -0
  381. package/dist/drafts/draft17/session-fsm.d.ts +45 -0
  382. package/dist/drafts/draft17/session-fsm.d.ts.map +1 -0
  383. package/dist/drafts/draft17/session-fsm.js +328 -0
  384. package/dist/drafts/draft17/session-fsm.js.map +1 -0
  385. package/dist/drafts/draft17/session.d.ts +5 -0
  386. package/dist/drafts/draft17/session.d.ts.map +1 -0
  387. package/dist/drafts/draft17/session.js +6 -0
  388. package/dist/drafts/draft17/session.js.map +1 -0
  389. package/dist/drafts/draft17/types.d.ts +219 -0
  390. package/dist/drafts/draft17/types.d.ts.map +1 -0
  391. package/dist/drafts/draft17/types.js +3 -0
  392. package/dist/drafts/draft17/types.js.map +1 -0
  393. package/dist/index.d.ts +46 -38
  394. package/dist/index.d.ts.map +1 -0
  395. package/dist/index.js +93 -110
  396. package/dist/index.js.map +1 -0
  397. package/dist/session.d.ts +4 -8
  398. package/dist/session.d.ts.map +1 -0
  399. package/dist/session.js +32 -26
  400. package/dist/session.js.map +1 -0
  401. package/package.json +2 -2
  402. package/src/core/buffer-reader.ts +1 -1
  403. package/src/core/hex.ts +17 -0
  404. package/src/drafts/draft07/codec.ts +933 -991
  405. package/src/drafts/draft07/data-streams.ts +240 -0
  406. package/src/drafts/draft07/index.ts +89 -69
  407. package/src/drafts/draft07/messages.ts +42 -44
  408. package/src/drafts/draft07/rules.ts +101 -104
  409. package/src/drafts/draft07/types.ts +72 -0
  410. package/src/drafts/draft08/codec.ts +944 -1254
  411. package/src/drafts/draft08/data-streams.ts +359 -0
  412. package/src/drafts/draft08/types.ts +384 -377
  413. package/src/drafts/draft09/codec.ts +936 -1235
  414. package/src/drafts/draft09/data-streams.ts +332 -0
  415. package/src/drafts/draft09/types.ts +384 -376
  416. package/src/drafts/draft10/codec.ts +936 -1235
  417. package/src/drafts/draft10/data-streams.ts +332 -0
  418. package/src/drafts/draft10/types.ts +384 -376
  419. package/src/drafts/draft11/codec.ts +979 -1198
  420. package/src/drafts/draft11/data-streams.ts +269 -0
  421. package/src/drafts/draft11/types.ts +381 -375
  422. package/src/drafts/draft12/codec.ts +1113 -1354
  423. package/src/drafts/draft12/data-streams.ts +275 -0
  424. package/src/drafts/draft12/types.ts +419 -414
  425. package/src/drafts/draft13/codec.ts +1197 -1438
  426. package/src/drafts/draft13/data-streams.ts +275 -0
  427. package/src/drafts/draft13/types.ts +438 -433
  428. package/src/drafts/draft14/codec.ts +1034 -1480
  429. package/src/drafts/draft14/data-streams.ts +798 -0
  430. package/src/drafts/draft14/types.ts +381 -365
  431. package/src/drafts/draft15/codec.ts +969 -1661
  432. package/src/drafts/draft15/data-streams.ts +778 -0
  433. package/src/drafts/draft15/types.ts +339 -336
  434. package/src/drafts/draft16/codec.ts +957 -1623
  435. package/src/drafts/draft16/data-streams.ts +773 -0
  436. package/src/drafts/draft16/types.ts +357 -354
  437. package/src/drafts/draft17/codec.ts +962 -1621
  438. package/src/drafts/draft17/data-streams.ts +742 -0
  439. package/src/drafts/draft17/types.ts +313 -310
@@ -1,433 +1,438 @@
1
- // Draft-13 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 Draft13SetupParams {
20
- path?: string; // 0x01 odd
21
- max_request_id?: bigint; // 0x02 even
22
- unknown?: UnknownParam[];
23
- }
24
-
25
- // Version-specific parameters — both odd (length-prefixed)
26
- export interface Draft13Params {
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-13 message type tag union
39
- export type Draft13MessageType =
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_namespace"
54
- | "subscribe_namespace_ok"
55
- | "subscribe_namespace_error"
56
- | "unsubscribe_namespace"
57
- | "fetch"
58
- | "fetch_ok"
59
- | "fetch_error"
60
- | "fetch_cancel"
61
- | "publish"
62
- | "publish_ok"
63
- | "publish_error"
64
- | "track_status"
65
- | "track_status_ok"
66
- | "track_status_error"
67
- | "goaway"
68
- | "max_request_id"
69
- | "requests_blocked";
70
-
71
- // Base
72
- export interface Draft13BaseMessage {
73
- readonly type: Draft13MessageType;
74
- }
75
-
76
- // Setup — versions negotiated in messages
77
- export interface Draft13ClientSetup extends Draft13BaseMessage {
78
- readonly type: "client_setup";
79
- readonly supported_versions: bigint[];
80
- readonly parameters: Draft13SetupParams;
81
- }
82
-
83
- export interface Draft13ServerSetup extends Draft13BaseMessage {
84
- readonly type: "server_setup";
85
- readonly selected_version: bigint;
86
- readonly parameters: Draft13SetupParams;
87
- }
88
-
89
- // Subscribe — no track_alias in subscribe (moved to subscribe_ok)
90
- export interface Draft13Subscribe extends Draft13BaseMessage {
91
- readonly type: "subscribe";
92
- readonly request_id: bigint;
93
- readonly track_namespace: string[];
94
- readonly track_name: string;
95
- readonly subscriber_priority: number; // uint8
96
- readonly group_order: bigint;
97
- readonly forward: bigint;
98
- readonly filter_type: bigint;
99
- readonly start_group?: bigint;
100
- readonly start_object?: bigint;
101
- readonly end_group?: bigint;
102
- readonly parameters: Draft13Params;
103
- }
104
-
105
- export interface Draft13SubscribeOk extends Draft13BaseMessage {
106
- readonly type: "subscribe_ok";
107
- readonly request_id: bigint;
108
- readonly track_alias: bigint;
109
- readonly expires: bigint;
110
- readonly group_order: bigint;
111
- readonly content_exists: bigint;
112
- readonly largest_location?: LargestLocation;
113
- readonly parameters: Draft13Params;
114
- }
115
-
116
- export interface Draft13SubscribeError extends Draft13BaseMessage {
117
- readonly type: "subscribe_error";
118
- readonly request_id: bigint;
119
- readonly error_code: bigint;
120
- readonly reason_phrase: string;
121
- }
122
-
123
- export interface Draft13SubscribeUpdate extends Draft13BaseMessage {
124
- readonly type: "subscribe_update";
125
- readonly request_id: bigint;
126
- readonly start_group: bigint;
127
- readonly start_object: bigint;
128
- readonly end_group: bigint;
129
- readonly subscriber_priority: number; // uint8
130
- readonly forward: bigint;
131
- readonly parameters: Draft13Params;
132
- }
133
-
134
- export interface Draft13SubscribeDone extends Draft13BaseMessage {
135
- readonly type: "subscribe_done";
136
- readonly request_id: bigint;
137
- readonly status_code: bigint;
138
- readonly stream_count: bigint;
139
- readonly reason_phrase: string;
140
- }
141
-
142
- export interface Draft13Unsubscribe extends Draft13BaseMessage {
143
- readonly type: "unsubscribe";
144
- readonly request_id: bigint;
145
- }
146
-
147
- // Announce
148
- export interface Draft13Announce extends Draft13BaseMessage {
149
- readonly type: "announce";
150
- readonly request_id: bigint;
151
- readonly track_namespace: string[];
152
- readonly parameters: Draft13Params;
153
- }
154
-
155
- export interface Draft13AnnounceOk extends Draft13BaseMessage {
156
- readonly type: "announce_ok";
157
- readonly request_id: bigint;
158
- }
159
-
160
- export interface Draft13AnnounceError extends Draft13BaseMessage {
161
- readonly type: "announce_error";
162
- readonly request_id: bigint;
163
- readonly error_code: bigint;
164
- readonly reason_phrase: string;
165
- }
166
-
167
- export interface Draft13Unannounce extends Draft13BaseMessage {
168
- readonly type: "unannounce";
169
- readonly track_namespace: string[];
170
- }
171
-
172
- export interface Draft13AnnounceCancel extends Draft13BaseMessage {
173
- readonly type: "announce_cancel";
174
- readonly track_namespace: string[];
175
- readonly error_code: bigint;
176
- readonly reason_phrase: string;
177
- }
178
-
179
- // Subscribe Namespace (renamed from subscribe_announces in draft-12)
180
- export interface Draft13SubscribeNamespace extends Draft13BaseMessage {
181
- readonly type: "subscribe_namespace";
182
- readonly request_id: bigint;
183
- readonly track_namespace_prefix: string[];
184
- readonly parameters: Draft13Params;
185
- }
186
-
187
- export interface Draft13SubscribeNamespaceOk extends Draft13BaseMessage {
188
- readonly type: "subscribe_namespace_ok";
189
- readonly request_id: bigint;
190
- }
191
-
192
- export interface Draft13SubscribeNamespaceError extends Draft13BaseMessage {
193
- readonly type: "subscribe_namespace_error";
194
- readonly request_id: bigint;
195
- readonly error_code: bigint;
196
- readonly reason_phrase: string;
197
- }
198
-
199
- export interface Draft13UnsubscribeNamespace extends Draft13BaseMessage {
200
- readonly type: "unsubscribe_namespace";
201
- readonly track_namespace_prefix: string[];
202
- }
203
-
204
- // Publish (same as draft-12)
205
- export interface Draft13Publish extends Draft13BaseMessage {
206
- readonly type: "publish";
207
- readonly request_id: bigint;
208
- readonly track_namespace: string[];
209
- readonly track_name: string;
210
- readonly track_alias: bigint;
211
- readonly group_order: bigint;
212
- readonly content_exists: bigint;
213
- readonly largest_location?: LargestLocation;
214
- readonly forward: bigint;
215
- readonly parameters: Draft13Params;
216
- }
217
-
218
- export interface Draft13PublishOk extends Draft13BaseMessage {
219
- readonly type: "publish_ok";
220
- readonly request_id: bigint;
221
- readonly forward: bigint;
222
- readonly subscriber_priority: number; // uint8
223
- readonly group_order: bigint;
224
- readonly filter_type: bigint;
225
- readonly start_group?: bigint;
226
- readonly start_object?: bigint;
227
- readonly end_group?: bigint;
228
- readonly parameters: Draft13Params;
229
- }
230
-
231
- export interface Draft13PublishError extends Draft13BaseMessage {
232
- readonly type: "publish_error";
233
- readonly request_id: bigint;
234
- readonly error_code: bigint;
235
- readonly reason_phrase: string;
236
- }
237
-
238
- // Fetch
239
- export interface StandaloneFetch {
240
- readonly track_namespace: string[];
241
- readonly track_name: string;
242
- readonly start_group: bigint;
243
- readonly start_object: bigint;
244
- readonly end_group: bigint;
245
- readonly end_object: bigint;
246
- }
247
-
248
- export interface JoiningFetch {
249
- readonly joining_subscribe_id: bigint;
250
- readonly joining_start: bigint;
251
- }
252
-
253
- export interface Draft13Fetch extends Draft13BaseMessage {
254
- readonly type: "fetch";
255
- readonly request_id: bigint;
256
- readonly subscriber_priority: number; // uint8
257
- readonly group_order: bigint;
258
- readonly fetch_type: bigint;
259
- readonly standalone?: StandaloneFetch;
260
- readonly joining?: JoiningFetch;
261
- readonly parameters: Draft13Params;
262
- }
263
-
264
- export interface Draft13FetchOk extends Draft13BaseMessage {
265
- readonly type: "fetch_ok";
266
- readonly request_id: bigint;
267
- readonly group_order: bigint;
268
- readonly end_of_track: bigint;
269
- readonly end_location: LargestLocation;
270
- readonly parameters: Draft13Params;
271
- }
272
-
273
- export interface Draft13FetchError extends Draft13BaseMessage {
274
- readonly type: "fetch_error";
275
- readonly request_id: bigint;
276
- readonly error_code: bigint;
277
- readonly reason_phrase: string;
278
- }
279
-
280
- export interface Draft13FetchCancel extends Draft13BaseMessage {
281
- readonly type: "fetch_cancel";
282
- readonly request_id: bigint;
283
- }
284
-
285
- // Track Status (restructured in draft-13: request is SUBSCRIBE-like)
286
- export interface Draft13TrackStatus extends Draft13BaseMessage {
287
- readonly type: "track_status";
288
- readonly request_id: bigint;
289
- readonly track_namespace: string[];
290
- readonly track_name: string;
291
- readonly subscriber_priority: number; // uint8
292
- readonly group_order: bigint;
293
- readonly forward: bigint;
294
- readonly filter_type: bigint;
295
- readonly start_group?: bigint;
296
- readonly start_object?: bigint;
297
- readonly end_group?: bigint;
298
- readonly parameters: Draft13Params;
299
- }
300
-
301
- export interface Draft13TrackStatusOk extends Draft13BaseMessage {
302
- readonly type: "track_status_ok";
303
- readonly request_id: bigint;
304
- readonly track_alias: bigint;
305
- readonly expires: bigint;
306
- readonly group_order: bigint;
307
- readonly content_exists: bigint;
308
- readonly largest_location?: LargestLocation;
309
- readonly parameters: Draft13Params;
310
- }
311
-
312
- export interface Draft13TrackStatusError extends Draft13BaseMessage {
313
- readonly type: "track_status_error";
314
- readonly request_id: bigint;
315
- readonly error_code: bigint;
316
- readonly reason_phrase: string;
317
- }
318
-
319
- // Session Control
320
- export interface Draft13GoAway extends Draft13BaseMessage {
321
- readonly type: "goaway";
322
- readonly new_session_uri: string;
323
- }
324
-
325
- export interface Draft13MaxRequestId extends Draft13BaseMessage {
326
- readonly type: "max_request_id";
327
- readonly request_id: bigint;
328
- }
329
-
330
- export interface Draft13RequestsBlocked extends Draft13BaseMessage {
331
- readonly type: "requests_blocked";
332
- readonly maximum_request_id: bigint;
333
- }
334
-
335
- // Union of all draft-13 control messages
336
- export type Draft13Message =
337
- | Draft13ClientSetup
338
- | Draft13ServerSetup
339
- | Draft13Subscribe
340
- | Draft13SubscribeOk
341
- | Draft13SubscribeError
342
- | Draft13SubscribeUpdate
343
- | Draft13SubscribeDone
344
- | Draft13Unsubscribe
345
- | Draft13Announce
346
- | Draft13AnnounceOk
347
- | Draft13AnnounceError
348
- | Draft13Unannounce
349
- | Draft13AnnounceCancel
350
- | Draft13SubscribeNamespace
351
- | Draft13SubscribeNamespaceOk
352
- | Draft13SubscribeNamespaceError
353
- | Draft13UnsubscribeNamespace
354
- | Draft13Publish
355
- | Draft13PublishOk
356
- | Draft13PublishError
357
- | Draft13Fetch
358
- | Draft13FetchOk
359
- | Draft13FetchError
360
- | Draft13FetchCancel
361
- | Draft13TrackStatus
362
- | Draft13TrackStatusOk
363
- | Draft13TrackStatusError
364
- | Draft13GoAway
365
- | Draft13MaxRequestId
366
- | Draft13RequestsBlocked;
367
-
368
- // Data stream types
369
- export interface ObjectPayload {
370
- readonly type: "object";
371
- readonly objectId: bigint;
372
- readonly payloadLength: number;
373
- readonly status?: bigint;
374
- readonly payload: Uint8Array;
375
- }
376
-
377
- export interface SubgroupStream {
378
- readonly type: "subgroup";
379
- readonly streamTypeId: number; // 0x08 or 0x0C
380
- readonly trackAlias: bigint;
381
- readonly groupId: bigint;
382
- readonly subgroupId: bigint;
383
- readonly publisherPriority: number;
384
- readonly objects: ObjectPayload[];
385
- }
386
-
387
- export interface DatagramObject {
388
- readonly type: "datagram";
389
- readonly streamTypeId: number; // 0x00 or 0x02
390
- readonly trackAlias: bigint;
391
- readonly groupId: bigint;
392
- readonly objectId: bigint;
393
- readonly publisherPriority: number;
394
- readonly objectStatus?: bigint;
395
- readonly payloadLength: number;
396
- readonly payload: Uint8Array;
397
- }
398
-
399
- export interface FetchObjectPayload {
400
- readonly type: "object";
401
- readonly groupId: bigint;
402
- readonly subgroupId: bigint;
403
- readonly objectId: bigint;
404
- readonly publisherPriority: number;
405
- readonly extensionHeadersLength: bigint;
406
- readonly payloadLength: number;
407
- readonly payload: Uint8Array;
408
- }
409
-
410
- export interface FetchStream {
411
- readonly type: "fetch";
412
- readonly requestId: bigint;
413
- readonly objects: FetchObjectPayload[];
414
- }
415
-
416
- export type Draft13DataStream = SubgroupStream | DatagramObject | FetchStream;
417
-
418
- // Streaming data stream decoder types
419
- export interface SubgroupStreamHeader {
420
- readonly type: "subgroup_header";
421
- readonly trackAlias: bigint;
422
- readonly groupId: bigint;
423
- readonly subgroupId: bigint;
424
- readonly publisherPriority: number;
425
- }
426
-
427
- export interface FetchStreamHeader {
428
- readonly type: "fetch_header";
429
- readonly requestId: bigint;
430
- }
431
-
432
- export type DataStreamHeader = SubgroupStreamHeader | FetchStreamHeader;
433
- export type DataStreamEvent = DataStreamHeader | ObjectPayload;
1
+ // Draft-13 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 Draft13SetupParams {
20
+ path?: string; // 0x01 odd
21
+ max_request_id?: bigint; // 0x02 even
22
+ unknown?: UnknownParam[];
23
+ }
24
+
25
+ // Version-specific parameters — both odd (length-prefixed)
26
+ export interface Draft13Params {
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-13 message type tag union
39
+ export type Draft13MessageType =
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_namespace"
54
+ | "subscribe_namespace_ok"
55
+ | "subscribe_namespace_error"
56
+ | "unsubscribe_namespace"
57
+ | "fetch"
58
+ | "fetch_ok"
59
+ | "fetch_error"
60
+ | "fetch_cancel"
61
+ | "publish"
62
+ | "publish_ok"
63
+ | "publish_error"
64
+ | "track_status"
65
+ | "track_status_ok"
66
+ | "track_status_error"
67
+ | "goaway"
68
+ | "max_request_id"
69
+ | "requests_blocked";
70
+
71
+ // Base
72
+ export interface Draft13BaseMessage {
73
+ readonly type: Draft13MessageType;
74
+ }
75
+
76
+ // Setup — versions negotiated in messages
77
+ export interface Draft13ClientSetup extends Draft13BaseMessage {
78
+ readonly type: "client_setup";
79
+ readonly supported_versions: bigint[];
80
+ readonly parameters: Draft13SetupParams;
81
+ }
82
+
83
+ export interface Draft13ServerSetup extends Draft13BaseMessage {
84
+ readonly type: "server_setup";
85
+ readonly selected_version: bigint;
86
+ readonly parameters: Draft13SetupParams;
87
+ }
88
+
89
+ // Subscribe — no track_alias in subscribe (moved to subscribe_ok)
90
+ export interface Draft13Subscribe extends Draft13BaseMessage {
91
+ readonly type: "subscribe";
92
+ readonly request_id: bigint;
93
+ readonly track_namespace: string[];
94
+ readonly track_name: string;
95
+ readonly subscriber_priority: number; // uint8
96
+ readonly group_order: bigint;
97
+ readonly forward: bigint;
98
+ readonly filter_type: bigint;
99
+ readonly start_group?: bigint;
100
+ readonly start_object?: bigint;
101
+ readonly end_group?: bigint;
102
+ readonly parameters: Draft13Params;
103
+ }
104
+
105
+ export interface Draft13SubscribeOk extends Draft13BaseMessage {
106
+ readonly type: "subscribe_ok";
107
+ readonly request_id: bigint;
108
+ readonly track_alias: bigint;
109
+ readonly expires: bigint;
110
+ readonly group_order: bigint;
111
+ readonly content_exists: bigint;
112
+ readonly largest_location?: LargestLocation;
113
+ readonly parameters: Draft13Params;
114
+ }
115
+
116
+ export interface Draft13SubscribeError extends Draft13BaseMessage {
117
+ readonly type: "subscribe_error";
118
+ readonly request_id: bigint;
119
+ readonly error_code: bigint;
120
+ readonly reason_phrase: string;
121
+ }
122
+
123
+ export interface Draft13SubscribeUpdate extends Draft13BaseMessage {
124
+ readonly type: "subscribe_update";
125
+ readonly request_id: bigint;
126
+ readonly start_group: bigint;
127
+ readonly start_object: bigint;
128
+ readonly end_group: bigint;
129
+ readonly subscriber_priority: number; // uint8
130
+ readonly forward: bigint;
131
+ readonly parameters: Draft13Params;
132
+ }
133
+
134
+ export interface Draft13SubscribeDone extends Draft13BaseMessage {
135
+ readonly type: "subscribe_done";
136
+ readonly request_id: bigint;
137
+ readonly status_code: bigint;
138
+ readonly stream_count: bigint;
139
+ readonly reason_phrase: string;
140
+ }
141
+
142
+ export interface Draft13Unsubscribe extends Draft13BaseMessage {
143
+ readonly type: "unsubscribe";
144
+ readonly request_id: bigint;
145
+ }
146
+
147
+ // Announce
148
+ export interface Draft13Announce extends Draft13BaseMessage {
149
+ readonly type: "announce";
150
+ readonly request_id: bigint;
151
+ readonly track_namespace: string[];
152
+ readonly parameters: Draft13Params;
153
+ }
154
+
155
+ export interface Draft13AnnounceOk extends Draft13BaseMessage {
156
+ readonly type: "announce_ok";
157
+ readonly request_id: bigint;
158
+ }
159
+
160
+ export interface Draft13AnnounceError extends Draft13BaseMessage {
161
+ readonly type: "announce_error";
162
+ readonly request_id: bigint;
163
+ readonly error_code: bigint;
164
+ readonly reason_phrase: string;
165
+ }
166
+
167
+ export interface Draft13Unannounce extends Draft13BaseMessage {
168
+ readonly type: "unannounce";
169
+ readonly track_namespace: string[];
170
+ }
171
+
172
+ export interface Draft13AnnounceCancel extends Draft13BaseMessage {
173
+ readonly type: "announce_cancel";
174
+ readonly track_namespace: string[];
175
+ readonly error_code: bigint;
176
+ readonly reason_phrase: string;
177
+ }
178
+
179
+ // Subscribe Namespace (renamed from subscribe_announces in draft-12)
180
+ export interface Draft13SubscribeNamespace extends Draft13BaseMessage {
181
+ readonly type: "subscribe_namespace";
182
+ readonly request_id: bigint;
183
+ readonly track_namespace_prefix: string[];
184
+ readonly parameters: Draft13Params;
185
+ }
186
+
187
+ export interface Draft13SubscribeNamespaceOk extends Draft13BaseMessage {
188
+ readonly type: "subscribe_namespace_ok";
189
+ readonly request_id: bigint;
190
+ }
191
+
192
+ export interface Draft13SubscribeNamespaceError extends Draft13BaseMessage {
193
+ readonly type: "subscribe_namespace_error";
194
+ readonly request_id: bigint;
195
+ readonly error_code: bigint;
196
+ readonly reason_phrase: string;
197
+ }
198
+
199
+ export interface Draft13UnsubscribeNamespace extends Draft13BaseMessage {
200
+ readonly type: "unsubscribe_namespace";
201
+ readonly track_namespace_prefix: string[];
202
+ }
203
+
204
+ // Publish (same as draft-12)
205
+ export interface Draft13Publish extends Draft13BaseMessage {
206
+ readonly type: "publish";
207
+ readonly request_id: bigint;
208
+ readonly track_namespace: string[];
209
+ readonly track_name: string;
210
+ readonly track_alias: bigint;
211
+ readonly group_order: bigint;
212
+ readonly content_exists: bigint;
213
+ readonly largest_location?: LargestLocation;
214
+ readonly forward: bigint;
215
+ readonly parameters: Draft13Params;
216
+ }
217
+
218
+ export interface Draft13PublishOk extends Draft13BaseMessage {
219
+ readonly type: "publish_ok";
220
+ readonly request_id: bigint;
221
+ readonly forward: bigint;
222
+ readonly subscriber_priority: number; // uint8
223
+ readonly group_order: bigint;
224
+ readonly filter_type: bigint;
225
+ readonly start_group?: bigint;
226
+ readonly start_object?: bigint;
227
+ readonly end_group?: bigint;
228
+ readonly parameters: Draft13Params;
229
+ }
230
+
231
+ export interface Draft13PublishError extends Draft13BaseMessage {
232
+ readonly type: "publish_error";
233
+ readonly request_id: bigint;
234
+ readonly error_code: bigint;
235
+ readonly reason_phrase: string;
236
+ }
237
+
238
+ // Fetch
239
+ export interface StandaloneFetch {
240
+ readonly track_namespace: string[];
241
+ readonly track_name: string;
242
+ readonly start_group: bigint;
243
+ readonly start_object: bigint;
244
+ readonly end_group: bigint;
245
+ readonly end_object: bigint;
246
+ }
247
+
248
+ export interface JoiningFetch {
249
+ readonly joining_subscribe_id: bigint;
250
+ readonly joining_start: bigint;
251
+ }
252
+
253
+ export interface Draft13Fetch extends Draft13BaseMessage {
254
+ readonly type: "fetch";
255
+ readonly request_id: bigint;
256
+ readonly subscriber_priority: number; // uint8
257
+ readonly group_order: bigint;
258
+ readonly fetch_type: bigint;
259
+ readonly standalone?: StandaloneFetch;
260
+ readonly joining?: JoiningFetch;
261
+ readonly parameters: Draft13Params;
262
+ }
263
+
264
+ export interface Draft13FetchOk extends Draft13BaseMessage {
265
+ readonly type: "fetch_ok";
266
+ readonly request_id: bigint;
267
+ readonly group_order: bigint;
268
+ readonly end_of_track: bigint;
269
+ readonly end_location: LargestLocation;
270
+ readonly parameters: Draft13Params;
271
+ }
272
+
273
+ export interface Draft13FetchError extends Draft13BaseMessage {
274
+ readonly type: "fetch_error";
275
+ readonly request_id: bigint;
276
+ readonly error_code: bigint;
277
+ readonly reason_phrase: string;
278
+ }
279
+
280
+ export interface Draft13FetchCancel extends Draft13BaseMessage {
281
+ readonly type: "fetch_cancel";
282
+ readonly request_id: bigint;
283
+ }
284
+
285
+ // Track Status (restructured in draft-13: request is SUBSCRIBE-like)
286
+ export interface Draft13TrackStatus extends Draft13BaseMessage {
287
+ readonly type: "track_status";
288
+ readonly request_id: bigint;
289
+ readonly track_namespace: string[];
290
+ readonly track_name: string;
291
+ readonly subscriber_priority: number; // uint8
292
+ readonly group_order: bigint;
293
+ readonly forward: bigint;
294
+ readonly filter_type: bigint;
295
+ readonly start_group?: bigint;
296
+ readonly start_object?: bigint;
297
+ readonly end_group?: bigint;
298
+ readonly parameters: Draft13Params;
299
+ }
300
+
301
+ export interface Draft13TrackStatusOk extends Draft13BaseMessage {
302
+ readonly type: "track_status_ok";
303
+ readonly request_id: bigint;
304
+ readonly track_alias: bigint;
305
+ readonly expires: bigint;
306
+ readonly group_order: bigint;
307
+ readonly content_exists: bigint;
308
+ readonly largest_location?: LargestLocation;
309
+ readonly parameters: Draft13Params;
310
+ }
311
+
312
+ export interface Draft13TrackStatusError extends Draft13BaseMessage {
313
+ readonly type: "track_status_error";
314
+ readonly request_id: bigint;
315
+ readonly error_code: bigint;
316
+ readonly reason_phrase: string;
317
+ }
318
+
319
+ // Session Control
320
+ export interface Draft13GoAway extends Draft13BaseMessage {
321
+ readonly type: "goaway";
322
+ readonly new_session_uri: string;
323
+ }
324
+
325
+ export interface Draft13MaxRequestId extends Draft13BaseMessage {
326
+ readonly type: "max_request_id";
327
+ readonly request_id: bigint;
328
+ }
329
+
330
+ export interface Draft13RequestsBlocked extends Draft13BaseMessage {
331
+ readonly type: "requests_blocked";
332
+ readonly maximum_request_id: bigint;
333
+ }
334
+
335
+ // Union of all draft-13 control messages
336
+ export type Draft13Message =
337
+ | Draft13ClientSetup
338
+ | Draft13ServerSetup
339
+ | Draft13Subscribe
340
+ | Draft13SubscribeOk
341
+ | Draft13SubscribeError
342
+ | Draft13SubscribeUpdate
343
+ | Draft13SubscribeDone
344
+ | Draft13Unsubscribe
345
+ | Draft13Announce
346
+ | Draft13AnnounceOk
347
+ | Draft13AnnounceError
348
+ | Draft13Unannounce
349
+ | Draft13AnnounceCancel
350
+ | Draft13SubscribeNamespace
351
+ | Draft13SubscribeNamespaceOk
352
+ | Draft13SubscribeNamespaceError
353
+ | Draft13UnsubscribeNamespace
354
+ | Draft13Publish
355
+ | Draft13PublishOk
356
+ | Draft13PublishError
357
+ | Draft13Fetch
358
+ | Draft13FetchOk
359
+ | Draft13FetchError
360
+ | Draft13FetchCancel
361
+ | Draft13TrackStatus
362
+ | Draft13TrackStatusOk
363
+ | Draft13TrackStatusError
364
+ | Draft13GoAway
365
+ | Draft13MaxRequestId
366
+ | Draft13RequestsBlocked;
367
+
368
+ // Data stream types
369
+ export interface ObjectPayload {
370
+ readonly type: "object";
371
+ readonly byteOffset: number;
372
+ readonly payloadByteOffset: number;
373
+ readonly objectId: bigint;
374
+ readonly payloadLength: number;
375
+ readonly status?: bigint;
376
+ readonly extensionData: Uint8Array;
377
+ readonly payload: Uint8Array;
378
+ }
379
+
380
+ export interface SubgroupStream {
381
+ readonly type: "subgroup";
382
+ readonly streamTypeId: number; // 0x10-0x15, 0x18-0x1D
383
+ readonly trackAlias: bigint;
384
+ readonly groupId: bigint;
385
+ readonly subgroupId: bigint;
386
+ readonly publisherPriority: number;
387
+ readonly objects: ObjectPayload[];
388
+ }
389
+
390
+ export interface DatagramObject {
391
+ readonly type: "datagram";
392
+ readonly streamTypeId: number; // 0x00 or 0x02
393
+ readonly trackAlias: bigint;
394
+ readonly groupId: bigint;
395
+ readonly objectId: bigint;
396
+ readonly publisherPriority: number;
397
+ readonly objectStatus?: bigint;
398
+ readonly payloadLength: number;
399
+ readonly payload: Uint8Array;
400
+ }
401
+
402
+ export interface FetchObjectPayload {
403
+ readonly type: "object";
404
+ readonly byteOffset: number;
405
+ readonly payloadByteOffset: number;
406
+ readonly groupId: bigint;
407
+ readonly subgroupId: bigint;
408
+ readonly objectId: bigint;
409
+ readonly publisherPriority: number;
410
+ readonly extensionData: Uint8Array;
411
+ readonly payloadLength: number;
412
+ readonly payload: Uint8Array;
413
+ }
414
+
415
+ export interface FetchStream {
416
+ readonly type: "fetch";
417
+ readonly requestId: bigint;
418
+ readonly objects: FetchObjectPayload[];
419
+ }
420
+
421
+ export type Draft13DataStream = SubgroupStream | DatagramObject | FetchStream;
422
+
423
+ // Streaming data stream decoder types
424
+ export interface SubgroupStreamHeader {
425
+ readonly type: "subgroup_header";
426
+ readonly trackAlias: bigint;
427
+ readonly groupId: bigint;
428
+ readonly subgroupId: bigint;
429
+ readonly publisherPriority: number;
430
+ }
431
+
432
+ export interface FetchStreamHeader {
433
+ readonly type: "fetch_header";
434
+ readonly requestId: bigint;
435
+ }
436
+
437
+ export type DataStreamHeader = SubgroupStreamHeader | FetchStreamHeader;
438
+ export type DataStreamEvent = DataStreamHeader | ObjectPayload;