@moqtap/codec 0.2.0 → 0.2.1

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 +192 -192
  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 +969 -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 +1126 -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 +1210 -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,414 +1,419 @@
1
- // Draft-12 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 Draft12SetupParams {
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 Draft12Params {
27
- authorization_token?: AuthorizationToken; // 0x01 odd
28
- delivery_timeout?: bigint; // 0x02 even
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-12 message type tag union
39
- export type Draft12MessageType =
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
- | "publish"
62
- | "publish_ok"
63
- | "publish_error"
64
- | "track_status_request"
65
- | "track_status"
66
- | "goaway"
67
- | "max_request_id"
68
- | "requests_blocked";
69
-
70
- // Base
71
- export interface Draft12BaseMessage {
72
- readonly type: Draft12MessageType;
73
- }
74
-
75
- // Setup — versions negotiated in messages
76
- export interface Draft12ClientSetup extends Draft12BaseMessage {
77
- readonly type: "client_setup";
78
- readonly supported_versions: bigint[];
79
- readonly parameters: Draft12SetupParams;
80
- }
81
-
82
- export interface Draft12ServerSetup extends Draft12BaseMessage {
83
- readonly type: "server_setup";
84
- readonly selected_version: bigint;
85
- readonly parameters: Draft12SetupParams;
86
- }
87
-
88
- // Subscribe — no track_alias in subscribe (moved to subscribe_ok)
89
- export interface Draft12Subscribe extends Draft12BaseMessage {
90
- readonly type: "subscribe";
91
- readonly request_id: bigint;
92
- readonly track_namespace: string[];
93
- readonly track_name: string;
94
- readonly subscriber_priority: number; // uint8
95
- readonly group_order: bigint;
96
- readonly forward: bigint;
97
- readonly filter_type: bigint;
98
- readonly start_group?: bigint;
99
- readonly start_object?: bigint;
100
- readonly end_group?: bigint;
101
- readonly parameters: Draft12Params;
102
- }
103
-
104
- export interface Draft12SubscribeOk extends Draft12BaseMessage {
105
- readonly type: "subscribe_ok";
106
- readonly request_id: bigint;
107
- readonly track_alias: bigint;
108
- readonly expires: bigint;
109
- readonly group_order: bigint;
110
- readonly content_exists: bigint;
111
- readonly largest_location?: LargestLocation;
112
- readonly parameters: Draft12Params;
113
- }
114
-
115
- export interface Draft12SubscribeError extends Draft12BaseMessage {
116
- readonly type: "subscribe_error";
117
- readonly request_id: bigint;
118
- readonly error_code: bigint;
119
- readonly reason_phrase: string;
120
- }
121
-
122
- export interface Draft12SubscribeUpdate extends Draft12BaseMessage {
123
- readonly type: "subscribe_update";
124
- readonly request_id: bigint;
125
- readonly start_group: bigint;
126
- readonly start_object: bigint;
127
- readonly end_group: bigint;
128
- readonly subscriber_priority: number; // uint8
129
- readonly forward: bigint;
130
- readonly parameters: Draft12Params;
131
- }
132
-
133
- export interface Draft12SubscribeDone extends Draft12BaseMessage {
134
- readonly type: "subscribe_done";
135
- readonly request_id: bigint;
136
- readonly status_code: bigint;
137
- readonly stream_count: bigint;
138
- readonly reason_phrase: string;
139
- }
140
-
141
- export interface Draft12Unsubscribe extends Draft12BaseMessage {
142
- readonly type: "unsubscribe";
143
- readonly request_id: bigint;
144
- }
145
-
146
- // Announce
147
- export interface Draft12Announce extends Draft12BaseMessage {
148
- readonly type: "announce";
149
- readonly request_id: bigint;
150
- readonly track_namespace: string[];
151
- readonly parameters: Draft12Params;
152
- }
153
-
154
- export interface Draft12AnnounceOk extends Draft12BaseMessage {
155
- readonly type: "announce_ok";
156
- readonly request_id: bigint;
157
- }
158
-
159
- export interface Draft12AnnounceError extends Draft12BaseMessage {
160
- readonly type: "announce_error";
161
- readonly request_id: bigint;
162
- readonly error_code: bigint;
163
- readonly reason_phrase: string;
164
- }
165
-
166
- export interface Draft12Unannounce extends Draft12BaseMessage {
167
- readonly type: "unannounce";
168
- readonly track_namespace: string[];
169
- }
170
-
171
- export interface Draft12AnnounceCancel extends Draft12BaseMessage {
172
- readonly type: "announce_cancel";
173
- readonly track_namespace: string[];
174
- readonly error_code: bigint;
175
- readonly reason_phrase: string;
176
- }
177
-
178
- // Subscribe Announces
179
- export interface Draft12SubscribeAnnounces extends Draft12BaseMessage {
180
- readonly type: "subscribe_announces";
181
- readonly request_id: bigint;
182
- readonly track_namespace_prefix: string[];
183
- readonly parameters: Draft12Params;
184
- }
185
-
186
- export interface Draft12SubscribeAnnouncesOk extends Draft12BaseMessage {
187
- readonly type: "subscribe_announces_ok";
188
- readonly request_id: bigint;
189
- }
190
-
191
- export interface Draft12SubscribeAnnouncesError extends Draft12BaseMessage {
192
- readonly type: "subscribe_announces_error";
193
- readonly request_id: bigint;
194
- readonly error_code: bigint;
195
- readonly reason_phrase: string;
196
- }
197
-
198
- export interface Draft12UnsubscribeAnnounces extends Draft12BaseMessage {
199
- readonly type: "unsubscribe_announces";
200
- readonly track_namespace_prefix: string[];
201
- }
202
-
203
- // Publish (new in draft-12)
204
- export interface Draft12Publish extends Draft12BaseMessage {
205
- readonly type: "publish";
206
- readonly request_id: bigint;
207
- readonly track_namespace: string[];
208
- readonly track_name: string;
209
- readonly track_alias: bigint;
210
- readonly group_order: bigint;
211
- readonly content_exists: bigint;
212
- readonly largest_location?: LargestLocation;
213
- readonly forward: bigint;
214
- readonly parameters: Draft12Params;
215
- }
216
-
217
- export interface Draft12PublishOk extends Draft12BaseMessage {
218
- readonly type: "publish_ok";
219
- readonly request_id: bigint;
220
- readonly forward: bigint;
221
- readonly subscriber_priority: number; // uint8
222
- readonly group_order: bigint;
223
- readonly filter_type: bigint;
224
- readonly start_group?: bigint;
225
- readonly start_object?: bigint;
226
- readonly end_group?: bigint;
227
- readonly parameters: Draft12Params;
228
- }
229
-
230
- export interface Draft12PublishError extends Draft12BaseMessage {
231
- readonly type: "publish_error";
232
- readonly request_id: bigint;
233
- readonly error_code: bigint;
234
- readonly reason_phrase: string;
235
- }
236
-
237
- // Fetch
238
- export interface StandaloneFetch {
239
- readonly track_namespace: string[];
240
- readonly track_name: string;
241
- readonly start_group: bigint;
242
- readonly start_object: bigint;
243
- readonly end_group: bigint;
244
- readonly end_object: bigint;
245
- }
246
-
247
- export interface JoiningFetch {
248
- readonly joining_subscribe_id: bigint;
249
- readonly joining_start: bigint;
250
- }
251
-
252
- export interface Draft12Fetch extends Draft12BaseMessage {
253
- readonly type: "fetch";
254
- readonly request_id: bigint;
255
- readonly subscriber_priority: number; // uint8
256
- readonly group_order: bigint;
257
- readonly fetch_type: bigint;
258
- readonly standalone?: StandaloneFetch;
259
- readonly joining?: JoiningFetch;
260
- readonly parameters: Draft12Params;
261
- }
262
-
263
- export interface Draft12FetchOk extends Draft12BaseMessage {
264
- readonly type: "fetch_ok";
265
- readonly request_id: bigint;
266
- readonly group_order: bigint;
267
- readonly end_of_track: bigint;
268
- readonly end_location: LargestLocation;
269
- readonly parameters: Draft12Params;
270
- }
271
-
272
- export interface Draft12FetchError extends Draft12BaseMessage {
273
- readonly type: "fetch_error";
274
- readonly request_id: bigint;
275
- readonly error_code: bigint;
276
- readonly reason_phrase: string;
277
- }
278
-
279
- export interface Draft12FetchCancel extends Draft12BaseMessage {
280
- readonly type: "fetch_cancel";
281
- readonly request_id: bigint;
282
- }
283
-
284
- // Track Status
285
- export interface Draft12TrackStatusRequest extends Draft12BaseMessage {
286
- readonly type: "track_status_request";
287
- readonly request_id: bigint;
288
- readonly track_namespace: string[];
289
- readonly track_name: string;
290
- readonly parameters: Draft12Params;
291
- }
292
-
293
- export interface Draft12TrackStatus extends Draft12BaseMessage {
294
- readonly type: "track_status";
295
- readonly request_id: bigint;
296
- readonly status_code: bigint;
297
- readonly largest_location: LargestLocation;
298
- readonly parameters: Draft12Params;
299
- }
300
-
301
- // Session Control
302
- export interface Draft12GoAway extends Draft12BaseMessage {
303
- readonly type: "goaway";
304
- readonly new_session_uri: string;
305
- }
306
-
307
- export interface Draft12MaxRequestId extends Draft12BaseMessage {
308
- readonly type: "max_request_id";
309
- readonly request_id: bigint;
310
- }
311
-
312
- export interface Draft12RequestsBlocked extends Draft12BaseMessage {
313
- readonly type: "requests_blocked";
314
- readonly maximum_request_id: bigint;
315
- }
316
-
317
- // Union of all draft-12 control messages
318
- export type Draft12Message =
319
- | Draft12ClientSetup
320
- | Draft12ServerSetup
321
- | Draft12Subscribe
322
- | Draft12SubscribeOk
323
- | Draft12SubscribeError
324
- | Draft12SubscribeUpdate
325
- | Draft12SubscribeDone
326
- | Draft12Unsubscribe
327
- | Draft12Announce
328
- | Draft12AnnounceOk
329
- | Draft12AnnounceError
330
- | Draft12Unannounce
331
- | Draft12AnnounceCancel
332
- | Draft12SubscribeAnnounces
333
- | Draft12SubscribeAnnouncesOk
334
- | Draft12SubscribeAnnouncesError
335
- | Draft12UnsubscribeAnnounces
336
- | Draft12Publish
337
- | Draft12PublishOk
338
- | Draft12PublishError
339
- | Draft12Fetch
340
- | Draft12FetchOk
341
- | Draft12FetchError
342
- | Draft12FetchCancel
343
- | Draft12TrackStatusRequest
344
- | Draft12TrackStatus
345
- | Draft12GoAway
346
- | Draft12MaxRequestId
347
- | Draft12RequestsBlocked;
348
-
349
- // Data stream types
350
- export interface ObjectPayload {
351
- readonly type: "object";
352
- readonly objectId: bigint;
353
- readonly payloadLength: number;
354
- readonly status?: bigint;
355
- readonly payload: Uint8Array;
356
- }
357
-
358
- export interface SubgroupStream {
359
- readonly type: "subgroup";
360
- readonly streamTypeId: number; // 0x08 or 0x0C
361
- readonly trackAlias: bigint;
362
- readonly groupId: bigint;
363
- readonly subgroupId: bigint;
364
- readonly publisherPriority: number;
365
- readonly objects: ObjectPayload[];
366
- }
367
-
368
- export interface DatagramObject {
369
- readonly type: "datagram";
370
- readonly streamTypeId: number; // 0x00 or 0x02
371
- readonly trackAlias: bigint;
372
- readonly groupId: bigint;
373
- readonly objectId: bigint;
374
- readonly publisherPriority: number;
375
- readonly objectStatus?: bigint;
376
- readonly payloadLength: number;
377
- readonly payload: Uint8Array;
378
- }
379
-
380
- export interface FetchObjectPayload {
381
- readonly type: "object";
382
- readonly groupId: bigint;
383
- readonly subgroupId: bigint;
384
- readonly objectId: bigint;
385
- readonly publisherPriority: number;
386
- readonly extensionHeadersLength: bigint;
387
- readonly payloadLength: number;
388
- readonly payload: Uint8Array;
389
- }
390
-
391
- export interface FetchStream {
392
- readonly type: "fetch";
393
- readonly requestId: bigint;
394
- readonly objects: FetchObjectPayload[];
395
- }
396
-
397
- export type Draft12DataStream = SubgroupStream | DatagramObject | FetchStream;
398
-
399
- // Streaming data stream decoder types
400
- export interface SubgroupStreamHeader {
401
- readonly type: "subgroup_header";
402
- readonly trackAlias: bigint;
403
- readonly groupId: bigint;
404
- readonly subgroupId: bigint;
405
- readonly publisherPriority: number;
406
- }
407
-
408
- export interface FetchStreamHeader {
409
- readonly type: "fetch_header";
410
- readonly requestId: bigint;
411
- }
412
-
413
- export type DataStreamHeader = SubgroupStreamHeader | FetchStreamHeader;
414
- export type DataStreamEvent = DataStreamHeader | ObjectPayload;
1
+ // Draft-12 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 Draft12SetupParams {
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 Draft12Params {
27
+ authorization_token?: AuthorizationToken; // 0x01 odd
28
+ delivery_timeout?: bigint; // 0x02 even
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-12 message type tag union
39
+ export type Draft12MessageType =
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
+ | "publish"
62
+ | "publish_ok"
63
+ | "publish_error"
64
+ | "track_status_request"
65
+ | "track_status"
66
+ | "goaway"
67
+ | "max_request_id"
68
+ | "requests_blocked";
69
+
70
+ // Base
71
+ export interface Draft12BaseMessage {
72
+ readonly type: Draft12MessageType;
73
+ }
74
+
75
+ // Setup — versions negotiated in messages
76
+ export interface Draft12ClientSetup extends Draft12BaseMessage {
77
+ readonly type: "client_setup";
78
+ readonly supported_versions: bigint[];
79
+ readonly parameters: Draft12SetupParams;
80
+ }
81
+
82
+ export interface Draft12ServerSetup extends Draft12BaseMessage {
83
+ readonly type: "server_setup";
84
+ readonly selected_version: bigint;
85
+ readonly parameters: Draft12SetupParams;
86
+ }
87
+
88
+ // Subscribe — no track_alias in subscribe (moved to subscribe_ok)
89
+ export interface Draft12Subscribe extends Draft12BaseMessage {
90
+ readonly type: "subscribe";
91
+ readonly request_id: bigint;
92
+ readonly track_namespace: string[];
93
+ readonly track_name: string;
94
+ readonly subscriber_priority: number; // uint8
95
+ readonly group_order: bigint;
96
+ readonly forward: bigint;
97
+ readonly filter_type: bigint;
98
+ readonly start_group?: bigint;
99
+ readonly start_object?: bigint;
100
+ readonly end_group?: bigint;
101
+ readonly parameters: Draft12Params;
102
+ }
103
+
104
+ export interface Draft12SubscribeOk extends Draft12BaseMessage {
105
+ readonly type: "subscribe_ok";
106
+ readonly request_id: bigint;
107
+ readonly track_alias: bigint;
108
+ readonly expires: bigint;
109
+ readonly group_order: bigint;
110
+ readonly content_exists: bigint;
111
+ readonly largest_location?: LargestLocation;
112
+ readonly parameters: Draft12Params;
113
+ }
114
+
115
+ export interface Draft12SubscribeError extends Draft12BaseMessage {
116
+ readonly type: "subscribe_error";
117
+ readonly request_id: bigint;
118
+ readonly error_code: bigint;
119
+ readonly reason_phrase: string;
120
+ }
121
+
122
+ export interface Draft12SubscribeUpdate extends Draft12BaseMessage {
123
+ readonly type: "subscribe_update";
124
+ readonly request_id: bigint;
125
+ readonly start_group: bigint;
126
+ readonly start_object: bigint;
127
+ readonly end_group: bigint;
128
+ readonly subscriber_priority: number; // uint8
129
+ readonly forward: bigint;
130
+ readonly parameters: Draft12Params;
131
+ }
132
+
133
+ export interface Draft12SubscribeDone extends Draft12BaseMessage {
134
+ readonly type: "subscribe_done";
135
+ readonly request_id: bigint;
136
+ readonly status_code: bigint;
137
+ readonly stream_count: bigint;
138
+ readonly reason_phrase: string;
139
+ }
140
+
141
+ export interface Draft12Unsubscribe extends Draft12BaseMessage {
142
+ readonly type: "unsubscribe";
143
+ readonly request_id: bigint;
144
+ }
145
+
146
+ // Announce
147
+ export interface Draft12Announce extends Draft12BaseMessage {
148
+ readonly type: "announce";
149
+ readonly request_id: bigint;
150
+ readonly track_namespace: string[];
151
+ readonly parameters: Draft12Params;
152
+ }
153
+
154
+ export interface Draft12AnnounceOk extends Draft12BaseMessage {
155
+ readonly type: "announce_ok";
156
+ readonly request_id: bigint;
157
+ }
158
+
159
+ export interface Draft12AnnounceError extends Draft12BaseMessage {
160
+ readonly type: "announce_error";
161
+ readonly request_id: bigint;
162
+ readonly error_code: bigint;
163
+ readonly reason_phrase: string;
164
+ }
165
+
166
+ export interface Draft12Unannounce extends Draft12BaseMessage {
167
+ readonly type: "unannounce";
168
+ readonly track_namespace: string[];
169
+ }
170
+
171
+ export interface Draft12AnnounceCancel extends Draft12BaseMessage {
172
+ readonly type: "announce_cancel";
173
+ readonly track_namespace: string[];
174
+ readonly error_code: bigint;
175
+ readonly reason_phrase: string;
176
+ }
177
+
178
+ // Subscribe Announces
179
+ export interface Draft12SubscribeAnnounces extends Draft12BaseMessage {
180
+ readonly type: "subscribe_announces";
181
+ readonly request_id: bigint;
182
+ readonly track_namespace_prefix: string[];
183
+ readonly parameters: Draft12Params;
184
+ }
185
+
186
+ export interface Draft12SubscribeAnnouncesOk extends Draft12BaseMessage {
187
+ readonly type: "subscribe_announces_ok";
188
+ readonly request_id: bigint;
189
+ }
190
+
191
+ export interface Draft12SubscribeAnnouncesError extends Draft12BaseMessage {
192
+ readonly type: "subscribe_announces_error";
193
+ readonly request_id: bigint;
194
+ readonly error_code: bigint;
195
+ readonly reason_phrase: string;
196
+ }
197
+
198
+ export interface Draft12UnsubscribeAnnounces extends Draft12BaseMessage {
199
+ readonly type: "unsubscribe_announces";
200
+ readonly track_namespace_prefix: string[];
201
+ }
202
+
203
+ // Publish (new in draft-12)
204
+ export interface Draft12Publish extends Draft12BaseMessage {
205
+ readonly type: "publish";
206
+ readonly request_id: bigint;
207
+ readonly track_namespace: string[];
208
+ readonly track_name: string;
209
+ readonly track_alias: bigint;
210
+ readonly group_order: bigint;
211
+ readonly content_exists: bigint;
212
+ readonly largest_location?: LargestLocation;
213
+ readonly forward: bigint;
214
+ readonly parameters: Draft12Params;
215
+ }
216
+
217
+ export interface Draft12PublishOk extends Draft12BaseMessage {
218
+ readonly type: "publish_ok";
219
+ readonly request_id: bigint;
220
+ readonly forward: bigint;
221
+ readonly subscriber_priority: number; // uint8
222
+ readonly group_order: bigint;
223
+ readonly filter_type: bigint;
224
+ readonly start_group?: bigint;
225
+ readonly start_object?: bigint;
226
+ readonly end_group?: bigint;
227
+ readonly parameters: Draft12Params;
228
+ }
229
+
230
+ export interface Draft12PublishError extends Draft12BaseMessage {
231
+ readonly type: "publish_error";
232
+ readonly request_id: bigint;
233
+ readonly error_code: bigint;
234
+ readonly reason_phrase: string;
235
+ }
236
+
237
+ // Fetch
238
+ export interface StandaloneFetch {
239
+ readonly track_namespace: string[];
240
+ readonly track_name: string;
241
+ readonly start_group: bigint;
242
+ readonly start_object: bigint;
243
+ readonly end_group: bigint;
244
+ readonly end_object: bigint;
245
+ }
246
+
247
+ export interface JoiningFetch {
248
+ readonly joining_subscribe_id: bigint;
249
+ readonly joining_start: bigint;
250
+ }
251
+
252
+ export interface Draft12Fetch extends Draft12BaseMessage {
253
+ readonly type: "fetch";
254
+ readonly request_id: bigint;
255
+ readonly subscriber_priority: number; // uint8
256
+ readonly group_order: bigint;
257
+ readonly fetch_type: bigint;
258
+ readonly standalone?: StandaloneFetch;
259
+ readonly joining?: JoiningFetch;
260
+ readonly parameters: Draft12Params;
261
+ }
262
+
263
+ export interface Draft12FetchOk extends Draft12BaseMessage {
264
+ readonly type: "fetch_ok";
265
+ readonly request_id: bigint;
266
+ readonly group_order: bigint;
267
+ readonly end_of_track: bigint;
268
+ readonly end_location: LargestLocation;
269
+ readonly parameters: Draft12Params;
270
+ }
271
+
272
+ export interface Draft12FetchError extends Draft12BaseMessage {
273
+ readonly type: "fetch_error";
274
+ readonly request_id: bigint;
275
+ readonly error_code: bigint;
276
+ readonly reason_phrase: string;
277
+ }
278
+
279
+ export interface Draft12FetchCancel extends Draft12BaseMessage {
280
+ readonly type: "fetch_cancel";
281
+ readonly request_id: bigint;
282
+ }
283
+
284
+ // Track Status
285
+ export interface Draft12TrackStatusRequest extends Draft12BaseMessage {
286
+ readonly type: "track_status_request";
287
+ readonly request_id: bigint;
288
+ readonly track_namespace: string[];
289
+ readonly track_name: string;
290
+ readonly parameters: Draft12Params;
291
+ }
292
+
293
+ export interface Draft12TrackStatus extends Draft12BaseMessage {
294
+ readonly type: "track_status";
295
+ readonly request_id: bigint;
296
+ readonly status_code: bigint;
297
+ readonly largest_location: LargestLocation;
298
+ readonly parameters: Draft12Params;
299
+ }
300
+
301
+ // Session Control
302
+ export interface Draft12GoAway extends Draft12BaseMessage {
303
+ readonly type: "goaway";
304
+ readonly new_session_uri: string;
305
+ }
306
+
307
+ export interface Draft12MaxRequestId extends Draft12BaseMessage {
308
+ readonly type: "max_request_id";
309
+ readonly request_id: bigint;
310
+ }
311
+
312
+ export interface Draft12RequestsBlocked extends Draft12BaseMessage {
313
+ readonly type: "requests_blocked";
314
+ readonly maximum_request_id: bigint;
315
+ }
316
+
317
+ // Union of all draft-12 control messages
318
+ export type Draft12Message =
319
+ | Draft12ClientSetup
320
+ | Draft12ServerSetup
321
+ | Draft12Subscribe
322
+ | Draft12SubscribeOk
323
+ | Draft12SubscribeError
324
+ | Draft12SubscribeUpdate
325
+ | Draft12SubscribeDone
326
+ | Draft12Unsubscribe
327
+ | Draft12Announce
328
+ | Draft12AnnounceOk
329
+ | Draft12AnnounceError
330
+ | Draft12Unannounce
331
+ | Draft12AnnounceCancel
332
+ | Draft12SubscribeAnnounces
333
+ | Draft12SubscribeAnnouncesOk
334
+ | Draft12SubscribeAnnouncesError
335
+ | Draft12UnsubscribeAnnounces
336
+ | Draft12Publish
337
+ | Draft12PublishOk
338
+ | Draft12PublishError
339
+ | Draft12Fetch
340
+ | Draft12FetchOk
341
+ | Draft12FetchError
342
+ | Draft12FetchCancel
343
+ | Draft12TrackStatusRequest
344
+ | Draft12TrackStatus
345
+ | Draft12GoAway
346
+ | Draft12MaxRequestId
347
+ | Draft12RequestsBlocked;
348
+
349
+ // Data stream types
350
+ export interface ObjectPayload {
351
+ readonly type: "object";
352
+ readonly byteOffset: number;
353
+ readonly payloadByteOffset: number;
354
+ readonly objectId: bigint;
355
+ readonly payloadLength: number;
356
+ readonly status?: bigint;
357
+ readonly extensionData: Uint8Array;
358
+ readonly payload: Uint8Array;
359
+ }
360
+
361
+ export interface SubgroupStream {
362
+ readonly type: "subgroup";
363
+ readonly streamTypeId: number; // 0x10-0x15, 0x18-0x1D
364
+ readonly trackAlias: bigint;
365
+ readonly groupId: bigint;
366
+ readonly subgroupId: bigint;
367
+ readonly publisherPriority: number;
368
+ readonly objects: ObjectPayload[];
369
+ }
370
+
371
+ export interface DatagramObject {
372
+ readonly type: "datagram";
373
+ readonly streamTypeId: number; // 0x00 or 0x02
374
+ readonly trackAlias: bigint;
375
+ readonly groupId: bigint;
376
+ readonly objectId: bigint;
377
+ readonly publisherPriority: number;
378
+ readonly objectStatus?: bigint;
379
+ readonly payloadLength: number;
380
+ readonly payload: Uint8Array;
381
+ }
382
+
383
+ export interface FetchObjectPayload {
384
+ readonly type: "object";
385
+ readonly byteOffset: number;
386
+ readonly payloadByteOffset: number;
387
+ readonly groupId: bigint;
388
+ readonly subgroupId: bigint;
389
+ readonly objectId: bigint;
390
+ readonly publisherPriority: number;
391
+ readonly extensionData: Uint8Array;
392
+ readonly payloadLength: number;
393
+ readonly payload: Uint8Array;
394
+ }
395
+
396
+ export interface FetchStream {
397
+ readonly type: "fetch";
398
+ readonly requestId: bigint;
399
+ readonly objects: FetchObjectPayload[];
400
+ }
401
+
402
+ export type Draft12DataStream = SubgroupStream | DatagramObject | FetchStream;
403
+
404
+ // Streaming data stream decoder types
405
+ export interface SubgroupStreamHeader {
406
+ readonly type: "subgroup_header";
407
+ readonly trackAlias: bigint;
408
+ readonly groupId: bigint;
409
+ readonly subgroupId: bigint;
410
+ readonly publisherPriority: number;
411
+ }
412
+
413
+ export interface FetchStreamHeader {
414
+ readonly type: "fetch_header";
415
+ readonly requestId: bigint;
416
+ }
417
+
418
+ export type DataStreamHeader = SubgroupStreamHeader | FetchStreamHeader;
419
+ export type DataStreamEvent = DataStreamHeader | ObjectPayload;