@moqtap/codec 0.2.3 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (313) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +100 -99
  3. package/dist/{chunk-RZHAPEXO.js → chunk-2A57DRXV.js} +36 -10
  4. package/dist/{chunk-73MWUKSJ.js → chunk-2UTVXWFF.js} +190 -102
  5. package/dist/{chunk-JTVCOMBI.cjs → chunk-3XKO6PCR.cjs} +290 -183
  6. package/dist/{chunk-ACQ4CUJP.cjs → chunk-4BDEU3D4.cjs} +237 -158
  7. package/dist/{chunk-4N4INRE7.cjs → chunk-4HBKHNU2.cjs} +144 -110
  8. package/dist/{chunk-2ZT6CVSE.js → chunk-4IVZZOY3.js} +269 -162
  9. package/dist/{chunk-GLBQDG4L.cjs → chunk-5O764MBD.cjs} +508 -117
  10. package/dist/chunk-7KBAWOBA.js +1212 -0
  11. package/dist/{chunk-JSQM2MG3.js → chunk-7QOPNSDF.js} +44 -12
  12. package/dist/{chunk-SYHW3FLI.cjs → chunk-7RE6KSIY.cjs} +28 -8
  13. package/dist/{chunk-YG5KJESI.js → chunk-AY6IAHUM.js} +28 -8
  14. package/dist/{chunk-EFM5T7OM.js → chunk-BLQDWOSG.js} +36 -10
  15. package/dist/{chunk-UYXTY6ZQ.cjs → chunk-E65QKRSN.cjs} +20 -12
  16. package/dist/{chunk-BISI45MN.cjs → chunk-EAHE3IOG.cjs} +44 -12
  17. package/dist/{chunk-PZBPH2D7.js → chunk-GCBFHZW6.js} +216 -137
  18. package/dist/{chunk-GXEW4COZ.cjs → chunk-H5NSL4MO.cjs} +36 -10
  19. package/dist/chunk-HZHSO7EW.cjs +1212 -0
  20. package/dist/{chunk-KZCYQ7ED.cjs → chunk-IILNSDEQ.cjs} +69 -41
  21. package/dist/{chunk-4XYGE53S.cjs → chunk-J3XCPBW3.cjs} +36 -10
  22. package/dist/{chunk-6AEHWULA.cjs → chunk-JKOEJZ5B.cjs} +28 -8
  23. package/dist/{chunk-RUPCJTC3.cjs → chunk-JL3NEW3O.cjs} +23 -1
  24. package/dist/{chunk-G7GI7LJA.js → chunk-LORZMJJB.js} +36 -10
  25. package/dist/{chunk-DUBCL3WF.cjs → chunk-LV5C6MEC.cjs} +36 -10
  26. package/dist/{chunk-ENURAVHI.cjs → chunk-MYXAD5JC.cjs} +44 -12
  27. package/dist/{chunk-FXZ2MYKJ.js → chunk-MZ7HUCGJ.js} +20 -12
  28. package/dist/{chunk-S74DWJE2.cjs → chunk-OKG2HT25.cjs} +277 -88
  29. package/dist/{chunk-BGWGVINJ.cjs → chunk-PKEOQSSZ.cjs} +144 -110
  30. package/dist/{chunk-2GODRVT5.js → chunk-Q46ZURKX.js} +325 -48
  31. package/dist/{chunk-UR6JKS56.js → chunk-Q7IGWV3P.js} +41 -9
  32. package/dist/{chunk-XSNX2IUJ.js → chunk-RW4UG7CN.js} +121 -87
  33. package/dist/{chunk-DWK5ZQZ4.js → chunk-RZTLQAKF.js} +28 -8
  34. package/dist/{chunk-UNS34PTA.cjs → chunk-S6IPIN66.cjs} +44 -12
  35. package/dist/{chunk-YIG2C3LF.cjs → chunk-SDWRXXOO.cjs} +214 -126
  36. package/dist/{chunk-CEH7ESNC.js → chunk-SHMA4PBY.js} +121 -87
  37. package/dist/{chunk-MC7W6PMI.js → chunk-U3ZVLT5L.js} +483 -135
  38. package/dist/{chunk-VJUUZ4W2.cjs → chunk-UJU63EFY.cjs} +374 -97
  39. package/dist/{chunk-7L43FE6P.js → chunk-VOU7PNHI.js} +23 -1
  40. package/dist/{chunk-E6E3NQYU.js → chunk-WRHGCVYN.js} +44 -12
  41. package/dist/{chunk-FPISPJ5N.cjs → chunk-XNWYLVGU.cjs} +529 -181
  42. package/dist/{chunk-U3IPZYPX.js → chunk-XS77RBY7.js} +228 -39
  43. package/dist/{chunk-JGG7CMSZ.cjs → chunk-XZE5R57R.cjs} +144 -110
  44. package/dist/{chunk-77MNXX3M.js → chunk-Y6KCSM3V.js} +121 -87
  45. package/dist/{chunk-TLYNOOQP.cjs → chunk-YTPZZI2M.cjs} +41 -9
  46. package/dist/{chunk-7DUBLRXC.js → chunk-YWRCSQBA.js} +44 -12
  47. package/dist/{chunk-MRJWLGYH.js → chunk-Z3VKP3PJ.js} +69 -41
  48. package/dist/{chunk-E6P74GDT.js → chunk-Z6U26IRI.js} +464 -73
  49. package/dist/{codec-FvGCxIhr.d.ts → codec-25u4_1HS.d.ts} +4 -4
  50. package/dist/{codec-DRcsBCsb.d.ts → codec-3Ppy_5Gd.d.ts} +4 -4
  51. package/dist/{codec-BdVMRMOI.d.ts → codec-BB0U8MF2.d.cts} +4 -4
  52. package/dist/{codec-B2cH-f5V.d.cts → codec-BHHfBTnV.d.ts} +4 -4
  53. package/dist/{codec-B5K73Bdj.d.ts → codec-BN6jk0Td.d.cts} +4 -4
  54. package/dist/{codec-R8GrCPt2.d.ts → codec-BU0gaSZm.d.ts} +4 -4
  55. package/dist/{codec-Bq-tLtfP.d.ts → codec-C-Yk2RNa.d.ts} +4 -4
  56. package/dist/codec-CFWQY9Lj.d.cts +18 -0
  57. package/dist/{codec-CPlK3Pi5.d.ts → codec-COy4uuPO.d.cts} +4 -4
  58. package/dist/codec-CewFCsEy.d.ts +18 -0
  59. package/dist/{codec-KXHvXZVb.d.cts → codec-Ck7ZwFF1.d.cts} +4 -4
  60. package/dist/{codec-DZhZSIii.d.cts → codec-D2QVSH9D.d.ts} +4 -4
  61. package/dist/{codec-BwFgpeQu.d.ts → codec-DDUBJGn0.d.cts} +4 -4
  62. package/dist/{codec-BFeliJFc.d.ts → codec-DNfml-se.d.ts} +4 -4
  63. package/dist/{codec-C4n1PS09.d.cts → codec-DoOGjjDq.d.cts} +4 -4
  64. package/dist/{codec-Bap882Fh.d.cts → codec-J7ekOSMc.d.ts} +4 -4
  65. package/dist/{codec-SKBeHQk7.d.ts → codec-R9TJCq-E.d.cts} +4 -4
  66. package/dist/{codec-DNUIgLqc.d.cts → codec-ZwV-Njt6.d.ts} +4 -4
  67. package/dist/{codec-HgBgHkFI.d.cts → codec-j819z_hL.d.cts} +4 -4
  68. package/dist/{codec-DY4QH364.d.cts → codec-w8z2j_uo.d.cts} +4 -4
  69. package/dist/{codec-CPvPq0sb.d.cts → codec-wtt6WF1K.d.ts} +4 -4
  70. package/dist/{codec-BUMjz0J4.d.cts → codec-z6_2PSzi.d.cts} +4 -4
  71. package/dist/{draft7-session.cjs → draft07-session.cjs} +2 -2
  72. package/dist/draft07-session.d.cts +8 -0
  73. package/dist/draft07-session.d.ts +8 -0
  74. package/dist/{draft7-session.js → draft07-session.js} +1 -1
  75. package/dist/draft07.cjs +129 -0
  76. package/dist/draft07.d.cts +67 -0
  77. package/dist/draft07.d.ts +67 -0
  78. package/dist/draft07.js +129 -0
  79. package/dist/draft08-session.cjs +6 -0
  80. package/dist/draft08-session.d.cts +8 -0
  81. package/dist/draft08-session.d.ts +8 -0
  82. package/dist/{draft8-session.js → draft08-session.js} +1 -1
  83. package/dist/draft08.cjs +119 -0
  84. package/dist/{draft8.d.cts → draft08.d.cts} +15 -13
  85. package/dist/{draft8.d.ts → draft08.d.ts} +15 -13
  86. package/dist/{draft8.js → draft08.js} +7 -4
  87. package/dist/draft09-session.cjs +6 -0
  88. package/dist/draft09-session.d.cts +8 -0
  89. package/dist/draft09-session.d.ts +8 -0
  90. package/dist/{draft9-session.js → draft09-session.js} +1 -1
  91. package/dist/draft09.cjs +119 -0
  92. package/dist/{draft9.d.cts → draft09.d.cts} +15 -13
  93. package/dist/{draft9.d.ts → draft09.d.ts} +15 -13
  94. package/dist/{draft9.js → draft09.js} +7 -4
  95. package/dist/draft10-session.cjs +2 -2
  96. package/dist/draft10-session.d.cts +6 -6
  97. package/dist/draft10-session.d.ts +6 -6
  98. package/dist/draft10-session.js +1 -1
  99. package/dist/draft10.cjs +8 -5
  100. package/dist/draft10.d.cts +14 -12
  101. package/dist/draft10.d.ts +14 -12
  102. package/dist/draft10.js +16 -13
  103. package/dist/draft11-session.cjs +2 -2
  104. package/dist/draft11-session.d.cts +6 -6
  105. package/dist/draft11-session.d.ts +6 -6
  106. package/dist/draft11-session.js +1 -1
  107. package/dist/draft11.cjs +8 -5
  108. package/dist/draft11.d.cts +14 -12
  109. package/dist/draft11.d.ts +14 -12
  110. package/dist/draft11.js +16 -13
  111. package/dist/draft12-session.cjs +2 -2
  112. package/dist/draft12-session.d.cts +6 -6
  113. package/dist/draft12-session.d.ts +6 -6
  114. package/dist/draft12-session.js +1 -1
  115. package/dist/draft12.cjs +8 -5
  116. package/dist/draft12.d.cts +16 -14
  117. package/dist/draft12.d.ts +16 -14
  118. package/dist/draft12.js +16 -13
  119. package/dist/draft13-session.cjs +2 -2
  120. package/dist/draft13-session.d.cts +6 -6
  121. package/dist/draft13-session.d.ts +6 -6
  122. package/dist/draft13-session.js +1 -1
  123. package/dist/draft13.cjs +8 -5
  124. package/dist/draft13.d.cts +16 -14
  125. package/dist/draft13.d.ts +16 -14
  126. package/dist/draft13.js +16 -13
  127. package/dist/draft14-session.cjs +2 -2
  128. package/dist/draft14-session.d.cts +6 -6
  129. package/dist/draft14-session.d.ts +6 -6
  130. package/dist/draft14-session.js +1 -1
  131. package/dist/draft14.cjs +14 -5
  132. package/dist/draft14.d.cts +14 -12
  133. package/dist/draft14.d.ts +14 -12
  134. package/dist/draft14.js +13 -4
  135. package/dist/draft15-session.cjs +2 -2
  136. package/dist/draft15-session.d.cts +6 -6
  137. package/dist/draft15-session.d.ts +6 -6
  138. package/dist/draft15-session.js +1 -1
  139. package/dist/draft15.cjs +8 -5
  140. package/dist/draft15.d.cts +14 -12
  141. package/dist/draft15.d.ts +14 -12
  142. package/dist/draft15.js +16 -13
  143. package/dist/draft16-session.cjs +2 -2
  144. package/dist/draft16-session.d.cts +6 -6
  145. package/dist/draft16-session.d.ts +6 -6
  146. package/dist/draft16-session.js +1 -1
  147. package/dist/draft16.cjs +8 -5
  148. package/dist/draft16.d.cts +14 -12
  149. package/dist/draft16.d.ts +14 -12
  150. package/dist/draft16.js +16 -13
  151. package/dist/draft17-session.cjs +2 -2
  152. package/dist/draft17-session.d.cts +7 -7
  153. package/dist/draft17-session.d.ts +7 -7
  154. package/dist/draft17-session.js +1 -1
  155. package/dist/draft17.cjs +8 -5
  156. package/dist/draft17.d.cts +11 -9
  157. package/dist/draft17.d.ts +11 -9
  158. package/dist/draft17.js +16 -13
  159. package/dist/index.cjs +52 -74
  160. package/dist/index.d.cts +41 -60
  161. package/dist/index.d.ts +41 -60
  162. package/dist/index.js +40 -62
  163. package/dist/{session-types-CJIFbTPd.d.ts → session-types-C7UONex5.d.cts} +28 -27
  164. package/dist/{session-types-Cbq8IGCP.d.cts → session-types-X-IYEGoG.d.ts} +28 -27
  165. package/dist/session.cjs +46 -13
  166. package/dist/session.d.cts +29 -11
  167. package/dist/session.d.ts +29 -11
  168. package/dist/session.js +46 -13
  169. package/dist/{types-DxSFvL2b.d.cts → types--Q7_DcvP.d.cts} +43 -39
  170. package/dist/{types-DxSFvL2b.d.ts → types--Q7_DcvP.d.ts} +43 -39
  171. package/dist/{types-B0FT5Qs2.d.cts → types-0IWbU9Z_.d.cts} +36 -36
  172. package/dist/{types-B0FT5Qs2.d.ts → types-0IWbU9Z_.d.ts} +36 -36
  173. package/dist/{types-gQsr0AAA.d.cts → types-B3g5G9KP.d.cts} +36 -36
  174. package/dist/{types-gQsr0AAA.d.ts → types-B3g5G9KP.d.ts} +36 -36
  175. package/dist/{types-Pme7sua0.d.cts → types-BFpFNM_m.d.cts} +57 -32
  176. package/dist/{types-Pme7sua0.d.ts → types-BFpFNM_m.d.ts} +57 -32
  177. package/dist/{types-8gUGeMgs.d.cts → types-Br7fm2mf.d.cts} +48 -26
  178. package/dist/{types-8gUGeMgs.d.ts → types-Br7fm2mf.d.ts} +48 -26
  179. package/dist/{types-BeAVNU-F.d.cts → types-C2qKTRR_.d.cts} +50 -45
  180. package/dist/{types-BeAVNU-F.d.ts → types-C2qKTRR_.d.ts} +50 -45
  181. package/dist/{types-DKpsfD3i.d.cts → types-DEaypVsD.d.cts} +115 -55
  182. package/dist/{types-DKpsfD3i.d.ts → types-DEaypVsD.d.ts} +115 -55
  183. package/dist/types-Dl4IaAHR.d.cts +282 -0
  184. package/dist/types-Dl4IaAHR.d.ts +282 -0
  185. package/dist/{types-CDa7F5ct.d.cts → types-DrQpTW1G.d.cts} +58 -50
  186. package/dist/{types-CDa7F5ct.d.ts → types-DrQpTW1G.d.ts} +58 -50
  187. package/dist/types-DuIO7cWK.d.cts +25 -0
  188. package/dist/types-DuIO7cWK.d.ts +25 -0
  189. package/dist/{types-B9A2g05r.d.cts → types-DuxfOYiO.d.cts} +47 -31
  190. package/dist/{types-B9A2g05r.d.ts → types-DuxfOYiO.d.ts} +47 -31
  191. package/dist/{types-D1dI_oTX.d.cts → types-jV1yDDBA.d.cts} +36 -36
  192. package/dist/{types-D1dI_oTX.d.ts → types-jV1yDDBA.d.ts} +36 -36
  193. package/package.json +192 -192
  194. package/src/core/buffer-reader.ts +130 -130
  195. package/src/core/buffer-writer.ts +100 -100
  196. package/src/core/errors.ts +1 -1
  197. package/src/core/hex.ts +21 -21
  198. package/src/core/session-types.ts +61 -59
  199. package/src/core/types.ts +18 -361
  200. package/src/drafts/draft07/codec.ts +1058 -938
  201. package/src/drafts/draft07/data-streams.ts +240 -240
  202. package/src/drafts/draft07/index.ts +124 -89
  203. package/src/drafts/draft07/messages.ts +76 -42
  204. package/src/drafts/draft07/rules.ts +107 -101
  205. package/src/drafts/draft07/session-fsm.ts +315 -287
  206. package/src/drafts/draft07/session.ts +8 -6
  207. package/src/drafts/draft07/types.ts +406 -72
  208. package/src/drafts/draft07/varint.ts +51 -51
  209. package/src/drafts/draft08/codec.ts +985 -953
  210. package/src/drafts/draft08/data-streams.ts +363 -359
  211. package/src/drafts/draft08/index.ts +10 -9
  212. package/src/drafts/draft08/messages.ts +59 -59
  213. package/src/drafts/draft08/rules.ts +73 -73
  214. package/src/drafts/draft08/session-fsm.ts +335 -303
  215. package/src/drafts/draft08/session.ts +6 -7
  216. package/src/drafts/draft08/types.ts +380 -384
  217. package/src/drafts/draft09/codec.ts +977 -945
  218. package/src/drafts/draft09/data-streams.ts +336 -332
  219. package/src/drafts/draft09/index.ts +10 -9
  220. package/src/drafts/draft09/messages.ts +59 -59
  221. package/src/drafts/draft09/rules.ts +73 -73
  222. package/src/drafts/draft09/session-fsm.ts +335 -303
  223. package/src/drafts/draft09/session.ts +6 -7
  224. package/src/drafts/draft09/types.ts +380 -384
  225. package/src/drafts/draft10/codec.ts +977 -945
  226. package/src/drafts/draft10/data-streams.ts +336 -332
  227. package/src/drafts/draft10/index.ts +10 -9
  228. package/src/drafts/draft10/messages.ts +59 -59
  229. package/src/drafts/draft10/rules.ts +73 -73
  230. package/src/drafts/draft10/session-fsm.ts +335 -303
  231. package/src/drafts/draft10/session.ts +6 -7
  232. package/src/drafts/draft10/types.ts +380 -384
  233. package/src/drafts/draft11/codec.ts +1054 -988
  234. package/src/drafts/draft11/data-streams.ts +316 -269
  235. package/src/drafts/draft11/index.ts +10 -9
  236. package/src/drafts/draft11/messages.ts +60 -59
  237. package/src/drafts/draft11/rules.ts +73 -73
  238. package/src/drafts/draft11/session-fsm.ts +359 -333
  239. package/src/drafts/draft11/session.ts +6 -7
  240. package/src/drafts/draft11/types.ts +385 -381
  241. package/src/drafts/draft12/codec.ts +1178 -1122
  242. package/src/drafts/draft12/data-streams.ts +324 -275
  243. package/src/drafts/draft12/index.ts +10 -9
  244. package/src/drafts/draft12/messages.ts +67 -66
  245. package/src/drafts/draft12/rules.ts +79 -79
  246. package/src/drafts/draft12/session-fsm.ts +384 -358
  247. package/src/drafts/draft12/session.ts +6 -7
  248. package/src/drafts/draft12/types.ts +424 -419
  249. package/src/drafts/draft13/codec.ts +1296 -1206
  250. package/src/drafts/draft13/data-streams.ts +326 -275
  251. package/src/drafts/draft13/index.ts +10 -9
  252. package/src/drafts/draft13/messages.ts +73 -68
  253. package/src/drafts/draft13/rules.ts +81 -81
  254. package/src/drafts/draft13/session-fsm.ts +392 -366
  255. package/src/drafts/draft13/session.ts +6 -7
  256. package/src/drafts/draft13/types.ts +447 -438
  257. package/src/drafts/draft14/codec.ts +1347 -1043
  258. package/src/drafts/draft14/data-streams.ts +831 -813
  259. package/src/drafts/draft14/index.ts +17 -9
  260. package/src/drafts/draft14/messages.ts +65 -65
  261. package/src/drafts/draft14/rules.ts +81 -81
  262. package/src/drafts/draft14/session-fsm.ts +415 -405
  263. package/src/drafts/draft14/session.ts +6 -7
  264. package/src/drafts/draft14/types.ts +451 -381
  265. package/src/drafts/draft15/codec.ts +1138 -978
  266. package/src/drafts/draft15/data-streams.ts +842 -794
  267. package/src/drafts/draft15/index.ts +10 -9
  268. package/src/drafts/draft15/messages.ts +54 -53
  269. package/src/drafts/draft15/rules.ts +67 -67
  270. package/src/drafts/draft15/session-fsm.ts +319 -299
  271. package/src/drafts/draft15/session.ts +6 -7
  272. package/src/drafts/draft15/types.ts +357 -339
  273. package/src/drafts/draft16/codec.ts +1242 -966
  274. package/src/drafts/draft16/data-streams.ts +835 -789
  275. package/src/drafts/draft16/index.ts +10 -9
  276. package/src/drafts/draft16/messages.ts +56 -55
  277. package/src/drafts/draft16/rules.ts +69 -69
  278. package/src/drafts/draft16/session-fsm.ts +319 -299
  279. package/src/drafts/draft16/session.ts +6 -7
  280. package/src/drafts/draft16/types.ts +386 -357
  281. package/src/drafts/draft17/codec.ts +1209 -971
  282. package/src/drafts/draft17/data-streams.ts +969 -758
  283. package/src/drafts/draft17/index.ts +9 -7
  284. package/src/drafts/draft17/messages.ts +43 -42
  285. package/src/drafts/draft17/rules.ts +58 -58
  286. package/src/drafts/draft17/session-fsm.ts +248 -216
  287. package/src/drafts/draft17/session.ts +5 -5
  288. package/src/drafts/draft17/types.ts +337 -313
  289. package/src/index.ts +85 -274
  290. package/src/session.ts +63 -25
  291. package/dist/chunk-FZDIEHQL.cjs +0 -1042
  292. package/dist/chunk-HDWJ2GDE.js +0 -24
  293. package/dist/chunk-KNDYS3DK.cjs +0 -24
  294. package/dist/chunk-N2KBF5Q2.js +0 -1042
  295. package/dist/draft7-session.d.cts +0 -7
  296. package/dist/draft7-session.d.ts +0 -7
  297. package/dist/draft7.cjs +0 -72
  298. package/dist/draft7.d.cts +0 -148
  299. package/dist/draft7.d.ts +0 -148
  300. package/dist/draft7.js +0 -72
  301. package/dist/draft8-session.cjs +0 -6
  302. package/dist/draft8-session.d.cts +0 -8
  303. package/dist/draft8-session.d.ts +0 -8
  304. package/dist/draft8.cjs +0 -116
  305. package/dist/draft9-session.cjs +0 -6
  306. package/dist/draft9-session.d.cts +0 -8
  307. package/dist/draft9-session.d.ts +0 -8
  308. package/dist/draft9.cjs +0 -116
  309. package/dist/types-QNXoxC9Y.d.cts +0 -236
  310. package/dist/types-QNXoxC9Y.d.ts +0 -236
  311. package/src/drafts/draft07/announce-fsm.ts +0 -2
  312. package/src/drafts/draft07/parameters.ts +0 -12
  313. package/src/drafts/draft07/subscription-fsm.ts +0 -3
@@ -9,7 +9,7 @@ import {
9
9
  function violation(code, message, currentPhase, offendingMessage) {
10
10
  return { code, message, currentPhase, offendingMessage };
11
11
  }
12
- var SessionFSM = class {
12
+ var Draft07SessionFSM = class {
13
13
  _phase = "idle";
14
14
  _role;
15
15
  _subscriptions = /* @__PURE__ */ new Map();
@@ -174,7 +174,11 @@ var SessionFSM = class {
174
174
  };
175
175
  }
176
176
  this._phase = "ready";
177
- return { ok: true, phase: this._phase, sideEffects: [{ type: "session-ready" }] };
177
+ return {
178
+ ok: true,
179
+ phase: this._phase,
180
+ sideEffects: [{ type: "session-ready" }]
181
+ };
178
182
  }
179
183
  handleGoAway(message, _direction, sideEffects) {
180
184
  if (this._phase !== "ready" && this._phase !== "draining") {
@@ -190,7 +194,10 @@ var SessionFSM = class {
190
194
  }
191
195
  this._phase = "draining";
192
196
  const goaway = message;
193
- sideEffects.push({ type: "session-draining", goAwayUri: goaway.newSessionUri });
197
+ sideEffects.push({
198
+ type: "session-draining",
199
+ goAwayUri: goaway.new_session_uri
200
+ });
194
201
  return { ok: true, phase: this._phase, sideEffects };
195
202
  }
196
203
  requireReady(msgType) {
@@ -208,22 +215,22 @@ var SessionFSM = class {
208
215
  const err = this.requireReady(message.type);
209
216
  if (err) return { ok: false, violation: err };
210
217
  const sub = message;
211
- if (this._subscriptions.has(sub.subscribeId)) {
218
+ if (this._subscriptions.has(sub.subscribe_id)) {
212
219
  return {
213
220
  ok: false,
214
221
  violation: violation(
215
222
  "DUPLICATE_SUBSCRIBE_ID",
216
- `Subscribe ID ${sub.subscribeId} already exists`,
223
+ `Subscribe ID ${sub.subscribe_id} already exists`,
217
224
  this._phase,
218
225
  message.type
219
226
  )
220
227
  };
221
228
  }
222
- this._subscriptions.set(sub.subscribeId, {
223
- subscribeId: sub.subscribeId,
229
+ this._subscriptions.set(sub.subscribe_id, {
230
+ subscribeId: sub.subscribe_id,
224
231
  phase: "pending",
225
- trackNamespace: sub.trackNamespace,
226
- trackName: sub.trackName
232
+ trackNamespace: sub.track_namespace,
233
+ trackName: sub.track_name
227
234
  });
228
235
  return { ok: true, phase: this._phase, sideEffects };
229
236
  }
@@ -231,13 +238,13 @@ var SessionFSM = class {
231
238
  const err = this.requireReady(message.type);
232
239
  if (err) return { ok: false, violation: err };
233
240
  const ok = message;
234
- const existing = this._subscriptions.get(ok.subscribeId);
241
+ const existing = this._subscriptions.get(ok.subscribe_id);
235
242
  if (!existing) {
236
243
  return {
237
244
  ok: false,
238
245
  violation: violation(
239
246
  "UNKNOWN_SUBSCRIBE_ID",
240
- `No subscription with ID ${ok.subscribeId}`,
247
+ `No subscription with ID ${ok.subscribe_id}`,
241
248
  this._phase,
242
249
  message.type
243
250
  )
@@ -248,27 +255,30 @@ var SessionFSM = class {
248
255
  ok: false,
249
256
  violation: violation(
250
257
  "STATE_VIOLATION",
251
- `Subscription ${ok.subscribeId} is ${existing.phase}, not pending`,
258
+ `Subscription ${ok.subscribe_id} is ${existing.phase}, not pending`,
252
259
  this._phase,
253
260
  message.type
254
261
  )
255
262
  };
256
263
  }
257
- this._subscriptions.set(ok.subscribeId, { ...existing, phase: "active" });
258
- sideEffects.push({ type: "subscription-activated", subscribeId: ok.subscribeId });
264
+ this._subscriptions.set(ok.subscribe_id, { ...existing, phase: "active" });
265
+ sideEffects.push({
266
+ type: "subscription-activated",
267
+ subscribeId: ok.subscribe_id
268
+ });
259
269
  return { ok: true, phase: this._phase, sideEffects };
260
270
  }
261
271
  handleSubscribeError(message, _direction, sideEffects) {
262
272
  const err = this.requireReady(message.type);
263
273
  if (err) return { ok: false, violation: err };
264
274
  const subErr = message;
265
- const existing = this._subscriptions.get(subErr.subscribeId);
275
+ const existing = this._subscriptions.get(subErr.subscribe_id);
266
276
  if (!existing) {
267
277
  return {
268
278
  ok: false,
269
279
  violation: violation(
270
280
  "UNKNOWN_SUBSCRIBE_ID",
271
- `No subscription with ID ${subErr.subscribeId}`,
281
+ `No subscription with ID ${subErr.subscribe_id}`,
272
282
  this._phase,
273
283
  message.type
274
284
  )
@@ -279,17 +289,20 @@ var SessionFSM = class {
279
289
  ok: false,
280
290
  violation: violation(
281
291
  "STATE_VIOLATION",
282
- `Subscription ${subErr.subscribeId} is ${existing.phase}, not pending`,
292
+ `Subscription ${subErr.subscribe_id} is ${existing.phase}, not pending`,
283
293
  this._phase,
284
294
  message.type
285
295
  )
286
296
  };
287
297
  }
288
- this._subscriptions.set(subErr.subscribeId, { ...existing, phase: "error" });
298
+ this._subscriptions.set(subErr.subscribe_id, {
299
+ ...existing,
300
+ phase: "error"
301
+ });
289
302
  sideEffects.push({
290
303
  type: "subscription-ended",
291
- subscribeId: subErr.subscribeId,
292
- reason: subErr.reasonPhrase
304
+ subscribeId: subErr.subscribe_id,
305
+ reason: subErr.reason_phrase
293
306
  });
294
307
  return { ok: true, phase: this._phase, sideEffects };
295
308
  }
@@ -297,23 +310,23 @@ var SessionFSM = class {
297
310
  const err = this.requireReady(message.type);
298
311
  if (err) return { ok: false, violation: err };
299
312
  const done = message;
300
- const existing = this._subscriptions.get(done.subscribeId);
313
+ const existing = this._subscriptions.get(done.subscribe_id);
301
314
  if (!existing) {
302
315
  return {
303
316
  ok: false,
304
317
  violation: violation(
305
318
  "UNKNOWN_SUBSCRIBE_ID",
306
- `No subscription with ID ${done.subscribeId}`,
319
+ `No subscription with ID ${done.subscribe_id}`,
307
320
  this._phase,
308
321
  message.type
309
322
  )
310
323
  };
311
324
  }
312
- this._subscriptions.set(done.subscribeId, { ...existing, phase: "done" });
325
+ this._subscriptions.set(done.subscribe_id, { ...existing, phase: "done" });
313
326
  sideEffects.push({
314
327
  type: "subscription-ended",
315
- subscribeId: done.subscribeId,
316
- reason: done.reasonPhrase
328
+ subscribeId: done.subscribe_id,
329
+ reason: done.reason_phrase
317
330
  });
318
331
  return { ok: true, phase: this._phase, sideEffects };
319
332
  }
@@ -321,22 +334,22 @@ var SessionFSM = class {
321
334
  const err = this.requireReady(message.type);
322
335
  if (err) return { ok: false, violation: err };
323
336
  const unsub = message;
324
- const existing = this._subscriptions.get(unsub.subscribeId);
337
+ const existing = this._subscriptions.get(unsub.subscribe_id);
325
338
  if (!existing) {
326
339
  return {
327
340
  ok: false,
328
341
  violation: violation(
329
342
  "UNKNOWN_SUBSCRIBE_ID",
330
- `No subscription with ID ${unsub.subscribeId}`,
343
+ `No subscription with ID ${unsub.subscribe_id}`,
331
344
  this._phase,
332
345
  message.type
333
346
  )
334
347
  };
335
348
  }
336
- this._subscriptions.set(unsub.subscribeId, { ...existing, phase: "done" });
349
+ this._subscriptions.set(unsub.subscribe_id, { ...existing, phase: "done" });
337
350
  sideEffects.push({
338
351
  type: "subscription-ended",
339
- subscribeId: unsub.subscribeId,
352
+ subscribeId: unsub.subscribe_id,
340
353
  reason: "unsubscribed"
341
354
  });
342
355
  return { ok: true, phase: this._phase, sideEffects };
@@ -349,15 +362,18 @@ var SessionFSM = class {
349
362
  const err = this.requireReady(message.type);
350
363
  if (err) return { ok: false, violation: err };
351
364
  const ann = message;
352
- const key = this.namespaceKey(ann.trackNamespace);
353
- this._announces.set(key, { namespace: ann.trackNamespace, phase: "pending" });
365
+ const key = this.namespaceKey(ann.track_namespace);
366
+ this._announces.set(key, {
367
+ namespace: ann.track_namespace,
368
+ phase: "pending"
369
+ });
354
370
  return { ok: true, phase: this._phase, sideEffects };
355
371
  }
356
372
  handleAnnounceOk(message, _direction, sideEffects) {
357
373
  const err = this.requireReady(message.type);
358
374
  if (err) return { ok: false, violation: err };
359
375
  const ok = message;
360
- const key = this.namespaceKey(ok.trackNamespace);
376
+ const key = this.namespaceKey(ok.track_namespace);
361
377
  const existing = this._announces.get(key);
362
378
  if (!existing) {
363
379
  return {
@@ -371,14 +387,17 @@ var SessionFSM = class {
371
387
  };
372
388
  }
373
389
  this._announces.set(key, { ...existing, phase: "active" });
374
- sideEffects.push({ type: "announce-activated", namespace: ok.trackNamespace });
390
+ sideEffects.push({
391
+ type: "announce-activated",
392
+ namespace: ok.track_namespace
393
+ });
375
394
  return { ok: true, phase: this._phase, sideEffects };
376
395
  }
377
396
  handleAnnounceError(message, _direction, sideEffects) {
378
397
  const err = this.requireReady(message.type);
379
398
  if (err) return { ok: false, violation: err };
380
399
  const annErr = message;
381
- const key = this.namespaceKey(annErr.trackNamespace);
400
+ const key = this.namespaceKey(annErr.track_namespace);
382
401
  const existing = this._announces.get(key);
383
402
  if (!existing) {
384
403
  return {
@@ -392,18 +411,24 @@ var SessionFSM = class {
392
411
  };
393
412
  }
394
413
  this._announces.set(key, { ...existing, phase: "error" });
395
- sideEffects.push({ type: "announce-ended", namespace: annErr.trackNamespace });
414
+ sideEffects.push({
415
+ type: "announce-ended",
416
+ namespace: annErr.track_namespace
417
+ });
396
418
  return { ok: true, phase: this._phase, sideEffects };
397
419
  }
398
420
  handleAnnounceCancel(message, _direction, sideEffects) {
399
421
  const err = this.requireReady(message.type);
400
422
  if (err) return { ok: false, violation: err };
401
423
  const cancel = message;
402
- const key = this.namespaceKey(cancel.trackNamespace);
424
+ const key = this.namespaceKey(cancel.track_namespace);
403
425
  const existing = this._announces.get(key);
404
426
  if (existing) {
405
427
  this._announces.delete(key);
406
- sideEffects.push({ type: "announce-ended", namespace: cancel.trackNamespace });
428
+ sideEffects.push({
429
+ type: "announce-ended",
430
+ namespace: cancel.track_namespace
431
+ });
407
432
  }
408
433
  return { ok: true, phase: this._phase, sideEffects };
409
434
  }
@@ -411,11 +436,14 @@ var SessionFSM = class {
411
436
  const err = this.requireReady(message.type);
412
437
  if (err) return { ok: false, violation: err };
413
438
  const unann = message;
414
- const key = this.namespaceKey(unann.trackNamespace);
439
+ const key = this.namespaceKey(unann.track_namespace);
415
440
  const existing = this._announces.get(key);
416
441
  if (existing) {
417
442
  this._announces.delete(key);
418
- sideEffects.push({ type: "announce-ended", namespace: unann.trackNamespace });
443
+ sideEffects.push({
444
+ type: "announce-ended",
445
+ namespace: unann.track_namespace
446
+ });
419
447
  }
420
448
  return { ok: true, phase: this._phase, sideEffects };
421
449
  }
@@ -432,8 +460,8 @@ var SessionFSM = class {
432
460
  };
433
461
 
434
462
  // src/drafts/draft07/session.ts
435
- function createDraft07SessionState(options) {
436
- return new SessionFSM(options.role);
463
+ function createDraft07SessionState(role) {
464
+ return new Draft07SessionFSM(role);
437
465
  }
438
466
 
439
467
  export {