@moqtap/codec 0.1.0 → 0.2.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 (277) hide show
  1. package/README.md +99 -95
  2. package/dist/chunk-4RIXXEII.js +1275 -0
  3. package/dist/chunk-4XYGE53S.cjs +698 -0
  4. package/dist/chunk-4YJANAXU.cjs +1109 -0
  5. package/dist/chunk-6AEHWULA.cjs +641 -0
  6. package/dist/chunk-7DUBLRXC.js +680 -0
  7. package/dist/{chunk-WNTXF3DE.cjs → chunk-7IVGHMKJ.cjs} +164 -62
  8. package/dist/{chunk-YBSEOSSP.js → chunk-A27S7HW7.js} +5 -1
  9. package/dist/chunk-BISI45MN.cjs +680 -0
  10. package/dist/{chunk-3BSZ55L3.cjs → chunk-BPNL5YFQ.cjs} +158 -24
  11. package/dist/chunk-CXDHOMHG.js +1097 -0
  12. package/dist/chunk-DUBCL3WF.cjs +749 -0
  13. package/dist/chunk-DWK5ZQZ4.js +642 -0
  14. package/dist/chunk-E6E3NQYU.js +680 -0
  15. package/dist/chunk-EFM5T7OM.js +698 -0
  16. package/dist/chunk-ENURAVHI.cjs +680 -0
  17. package/dist/{chunk-5WFXFLL4.cjs → chunk-FUFTMAQD.cjs} +96 -63
  18. package/dist/{chunk-2NARXGVA.cjs → chunk-FWISIR26.cjs} +5 -1
  19. package/dist/{chunk-YPXLV5YK.js → chunk-FXZ2MYKJ.js} +376 -38
  20. package/dist/chunk-G26SJ6XS.cjs +1341 -0
  21. package/dist/chunk-G7GI7LJA.js +737 -0
  22. package/dist/chunk-GXEW4COZ.cjs +737 -0
  23. package/dist/chunk-HSVYF6XX.cjs +1361 -0
  24. package/dist/chunk-IBVM4DMJ.cjs +1097 -0
  25. package/dist/chunk-IV2H5CFI.cjs +1275 -0
  26. package/dist/chunk-IV2HRJVT.js +1198 -0
  27. package/dist/chunk-JSQM2MG3.js +680 -0
  28. package/dist/chunk-K4OLITS2.cjs +1055 -0
  29. package/dist/{chunk-UOBWHJA5.js → chunk-KFTCU2P6.js} +2 -3
  30. package/dist/chunk-LH4NTURO.js +1361 -0
  31. package/dist/{chunk-DC4L6ZIT.js → chunk-MFAP7R6L.js} +154 -20
  32. package/dist/chunk-NGVE2RZT.js +1097 -0
  33. package/dist/chunk-NUX5BHWO.js +1341 -0
  34. package/dist/chunk-PJRA2TQ5.js +1055 -0
  35. package/dist/chunk-RVJAGE4S.cjs +1198 -0
  36. package/dist/{chunk-QYG6KGOV.cjs → chunk-RWQ43Z4F.cjs} +2 -3
  37. package/dist/chunk-RZHAPEXO.js +749 -0
  38. package/dist/chunk-ST24APEO.js +1109 -0
  39. package/dist/chunk-SYHW3FLI.cjs +642 -0
  40. package/dist/chunk-TLYNOOQP.cjs +432 -0
  41. package/dist/{chunk-23YG7F46.js → chunk-TMNGRIPL.js} +153 -51
  42. package/dist/{chunk-IQPDRQVC.js → chunk-U2B3B42P.js} +62 -29
  43. package/dist/chunk-UNS34PTA.cjs +680 -0
  44. package/dist/chunk-UR6JKS56.js +432 -0
  45. package/dist/{chunk-GDRGWFEK.cjs → chunk-UYXTY6ZQ.cjs} +376 -38
  46. package/dist/chunk-XUUCOLWU.cjs +1097 -0
  47. package/dist/chunk-YG5KJESI.js +641 -0
  48. package/dist/chunk-ZBKE2QRQ.js +1401 -0
  49. package/dist/chunk-ZSPO2GF2.cjs +1401 -0
  50. package/dist/codec-95k8CAu5.d.cts +35 -0
  51. package/dist/codec-AFuOxfsO.d.ts +60 -0
  52. package/dist/codec-B-UJ5Iow.d.cts +75 -0
  53. package/dist/codec-BC5jfvMb.d.ts +35 -0
  54. package/dist/codec-BECYPfY8.d.ts +35 -0
  55. package/dist/codec-BsPU1vNC.d.ts +39 -0
  56. package/dist/codec-BvpuF-6u.d.cts +39 -0
  57. package/dist/codec-C8jZI5Cx.d.cts +39 -0
  58. package/dist/codec-CAevkgf5.d.cts +33 -0
  59. package/dist/codec-CSUqCrRs.d.ts +39 -0
  60. package/dist/codec-C_HMXNK_.d.ts +33 -0
  61. package/dist/{codec-CTvFtQQI.d.cts → codec-CpuvYTSV.d.cts} +5 -5
  62. package/dist/codec-D0x8-SCw.d.cts +35 -0
  63. package/dist/codec-D7ARhpG1.d.ts +75 -0
  64. package/dist/codec-DNAUGshO.d.cts +60 -0
  65. package/dist/codec-DPx_QNn0.d.ts +31 -0
  66. package/dist/{codec-qPzfmLNu.d.ts → codec-DRhCx_hw.d.ts} +5 -5
  67. package/dist/codec-Db7YPe3l.d.ts +31 -0
  68. package/dist/codec-axkJpb7D.d.cts +31 -0
  69. package/dist/codec-ujAbFaep.d.cts +31 -0
  70. package/dist/draft10-session.cjs +6 -0
  71. package/dist/draft10-session.d.cts +8 -0
  72. package/dist/draft10-session.d.ts +8 -0
  73. package/dist/draft10-session.js +6 -0
  74. package/dist/draft10.cjs +115 -0
  75. package/dist/draft10.d.cts +95 -0
  76. package/dist/draft10.d.ts +95 -0
  77. package/dist/draft10.js +115 -0
  78. package/dist/draft11-session.cjs +6 -0
  79. package/dist/draft11-session.d.cts +8 -0
  80. package/dist/draft11-session.d.ts +8 -0
  81. package/dist/draft11-session.js +6 -0
  82. package/dist/draft11.cjs +109 -0
  83. package/dist/draft11.d.cts +99 -0
  84. package/dist/draft11.d.ts +99 -0
  85. package/dist/draft11.js +109 -0
  86. package/dist/draft12-session.cjs +6 -0
  87. package/dist/draft12-session.d.cts +8 -0
  88. package/dist/draft12-session.d.ts +8 -0
  89. package/dist/draft12-session.js +6 -0
  90. package/dist/draft12.cjs +117 -0
  91. package/dist/draft12.d.cts +106 -0
  92. package/dist/draft12.d.ts +106 -0
  93. package/dist/draft12.js +117 -0
  94. package/dist/draft13-session.cjs +6 -0
  95. package/dist/draft13-session.d.cts +8 -0
  96. package/dist/draft13-session.d.ts +8 -0
  97. package/dist/draft13-session.js +6 -0
  98. package/dist/draft13.cjs +119 -0
  99. package/dist/draft13.d.cts +108 -0
  100. package/dist/draft13.d.ts +108 -0
  101. package/dist/draft13.js +119 -0
  102. package/dist/draft14-session.cjs +2 -2
  103. package/dist/draft14-session.d.cts +4 -4
  104. package/dist/draft14-session.d.ts +4 -4
  105. package/dist/draft14-session.js +1 -1
  106. package/dist/draft14.cjs +4 -4
  107. package/dist/draft14.d.cts +27 -15
  108. package/dist/draft14.d.ts +27 -15
  109. package/dist/draft14.js +3 -3
  110. package/dist/draft15-session.cjs +6 -0
  111. package/dist/draft15-session.d.cts +8 -0
  112. package/dist/draft15-session.d.ts +8 -0
  113. package/dist/draft15-session.js +6 -0
  114. package/dist/draft15.cjs +111 -0
  115. package/dist/draft15.d.cts +93 -0
  116. package/dist/draft15.d.ts +93 -0
  117. package/dist/draft15.js +111 -0
  118. package/dist/draft16-session.cjs +6 -0
  119. package/dist/draft16-session.d.cts +8 -0
  120. package/dist/draft16-session.d.ts +8 -0
  121. package/dist/draft16-session.js +6 -0
  122. package/dist/draft16.cjs +113 -0
  123. package/dist/draft16.d.cts +94 -0
  124. package/dist/draft16.d.ts +94 -0
  125. package/dist/draft16.js +113 -0
  126. package/dist/draft17-session.cjs +8 -0
  127. package/dist/draft17-session.d.cts +51 -0
  128. package/dist/draft17-session.d.ts +51 -0
  129. package/dist/draft17-session.js +8 -0
  130. package/dist/draft17.cjs +99 -0
  131. package/dist/draft17.d.cts +40 -0
  132. package/dist/draft17.d.ts +40 -0
  133. package/dist/draft17.js +99 -0
  134. package/dist/draft7-session.cjs +3 -3
  135. package/dist/draft7-session.d.cts +3 -3
  136. package/dist/draft7-session.d.ts +3 -3
  137. package/dist/draft7-session.js +2 -2
  138. package/dist/draft7.cjs +6 -6
  139. package/dist/draft7.d.cts +10 -10
  140. package/dist/draft7.d.ts +10 -10
  141. package/dist/draft7.js +3 -3
  142. package/dist/draft8-session.cjs +6 -0
  143. package/dist/draft8-session.d.cts +8 -0
  144. package/dist/draft8-session.d.ts +8 -0
  145. package/dist/draft8-session.js +6 -0
  146. package/dist/draft8.cjs +115 -0
  147. package/dist/draft8.d.cts +95 -0
  148. package/dist/draft8.d.ts +95 -0
  149. package/dist/draft8.js +115 -0
  150. package/dist/draft9-session.cjs +6 -0
  151. package/dist/draft9-session.d.cts +8 -0
  152. package/dist/draft9-session.d.ts +8 -0
  153. package/dist/draft9-session.js +6 -0
  154. package/dist/draft9.cjs +115 -0
  155. package/dist/draft9.d.cts +95 -0
  156. package/dist/draft9.d.ts +95 -0
  157. package/dist/draft9.js +115 -0
  158. package/dist/index.cjs +79 -7
  159. package/dist/index.d.cts +71 -8
  160. package/dist/index.d.ts +71 -8
  161. package/dist/index.js +77 -5
  162. package/dist/{session-types-B9NIf7_F.d.ts → session-types-CJIFbTPd.d.ts} +20 -20
  163. package/dist/{session-types-CCo-oA-d.d.cts → session-types-Cbq8IGCP.d.cts} +20 -20
  164. package/dist/session.cjs +5 -5
  165. package/dist/session.d.cts +3 -3
  166. package/dist/session.d.ts +3 -3
  167. package/dist/session.js +5 -5
  168. package/dist/types-4VxSL2Ho.d.cts +261 -0
  169. package/dist/types-4VxSL2Ho.d.ts +261 -0
  170. package/dist/types-B2afJZM-.d.cts +236 -0
  171. package/dist/types-B2afJZM-.d.ts +236 -0
  172. package/dist/{types-CIk5W10V.d.ts → types-BTFeKYCb.d.cts} +37 -37
  173. package/dist/{types-CIk5W10V.d.cts → types-BTFeKYCb.d.ts} +37 -37
  174. package/dist/types-Bg6QYNVt.d.cts +290 -0
  175. package/dist/types-Bg6QYNVt.d.ts +290 -0
  176. package/dist/types-C_1HrqBl.d.cts +306 -0
  177. package/dist/types-C_1HrqBl.d.ts +306 -0
  178. package/dist/types-Cw4WE9dh.d.cts +261 -0
  179. package/dist/types-Cw4WE9dh.d.ts +261 -0
  180. package/dist/types-D5gNQiDj.d.cts +261 -0
  181. package/dist/types-D5gNQiDj.d.ts +261 -0
  182. package/dist/types-DqCDFqgB.d.cts +230 -0
  183. package/dist/types-DqCDFqgB.d.ts +230 -0
  184. package/dist/types-ERexTpT8.d.cts +217 -0
  185. package/dist/types-ERexTpT8.d.ts +217 -0
  186. package/dist/{types-ClXELFGN.d.cts → types-QNXoxC9Y.d.cts} +36 -41
  187. package/dist/{types-ClXELFGN.d.ts → types-QNXoxC9Y.d.ts} +36 -41
  188. package/dist/types-r-CasCf1.d.cts +262 -0
  189. package/dist/types-r-CasCf1.d.ts +262 -0
  190. package/package.json +116 -8
  191. package/src/core/buffer-reader.ts +16 -9
  192. package/src/core/buffer-writer.ts +2 -2
  193. package/src/core/errors.ts +1 -1
  194. package/src/core/session-types.ts +28 -41
  195. package/src/core/types.ts +92 -75
  196. package/src/drafts/draft07/announce-fsm.ts +1 -1
  197. package/src/drafts/draft07/codec.ts +235 -118
  198. package/src/drafts/draft07/index.ts +43 -44
  199. package/src/drafts/draft07/messages.ts +1 -1
  200. package/src/drafts/draft07/parameters.ts +2 -2
  201. package/src/drafts/draft07/rules.ts +67 -38
  202. package/src/drafts/draft07/session-fsm.ts +330 -117
  203. package/src/drafts/draft07/session.ts +10 -10
  204. package/src/drafts/draft07/subscription-fsm.ts +1 -1
  205. package/src/drafts/draft07/varint.ts +4 -4
  206. package/src/drafts/draft08/codec.ts +1254 -0
  207. package/src/drafts/draft08/index.ts +125 -0
  208. package/src/drafts/draft08/messages.ts +72 -0
  209. package/src/drafts/draft08/rules.ts +91 -0
  210. package/src/drafts/draft08/session-fsm.ts +718 -0
  211. package/src/drafts/draft08/session.ts +26 -0
  212. package/src/drafts/draft08/types.ts +377 -0
  213. package/src/drafts/draft09/codec.ts +1235 -0
  214. package/src/drafts/draft09/index.ts +125 -0
  215. package/src/drafts/draft09/messages.ts +72 -0
  216. package/src/drafts/draft09/rules.ts +91 -0
  217. package/src/drafts/draft09/session-fsm.ts +718 -0
  218. package/src/drafts/draft09/session.ts +26 -0
  219. package/src/drafts/draft09/types.ts +376 -0
  220. package/src/drafts/draft10/codec.ts +1235 -0
  221. package/src/drafts/draft10/index.ts +125 -0
  222. package/src/drafts/draft10/messages.ts +72 -0
  223. package/src/drafts/draft10/rules.ts +91 -0
  224. package/src/drafts/draft10/session-fsm.ts +718 -0
  225. package/src/drafts/draft10/session.ts +26 -0
  226. package/src/drafts/draft10/types.ts +376 -0
  227. package/src/drafts/draft11/codec.ts +1198 -0
  228. package/src/drafts/draft11/index.ts +123 -0
  229. package/src/drafts/draft11/messages.ts +71 -0
  230. package/src/drafts/draft11/rules.ts +100 -0
  231. package/src/drafts/draft11/session-fsm.ts +758 -0
  232. package/src/drafts/draft11/session.ts +26 -0
  233. package/src/drafts/draft11/types.ts +375 -0
  234. package/src/drafts/draft12/codec.ts +1354 -0
  235. package/src/drafts/draft12/index.ts +130 -0
  236. package/src/drafts/draft12/messages.ts +84 -0
  237. package/src/drafts/draft12/rules.ts +106 -0
  238. package/src/drafts/draft12/session-fsm.ts +805 -0
  239. package/src/drafts/draft12/session.ts +26 -0
  240. package/src/drafts/draft12/types.ts +414 -0
  241. package/src/drafts/draft13/codec.ts +1438 -0
  242. package/src/drafts/draft13/index.ts +132 -0
  243. package/src/drafts/draft13/messages.ts +86 -0
  244. package/src/drafts/draft13/rules.ts +108 -0
  245. package/src/drafts/draft13/session-fsm.ts +819 -0
  246. package/src/drafts/draft13/session.ts +26 -0
  247. package/src/drafts/draft13/types.ts +433 -0
  248. package/src/drafts/draft14/codec.ts +339 -189
  249. package/src/drafts/draft14/index.ts +103 -108
  250. package/src/drafts/draft14/messages.ts +61 -61
  251. package/src/drafts/draft14/rules.ts +77 -34
  252. package/src/drafts/draft14/session-fsm.ts +640 -147
  253. package/src/drafts/draft14/session.ts +13 -13
  254. package/src/drafts/draft14/types.ts +68 -68
  255. package/src/drafts/draft15/codec.ts +1661 -0
  256. package/src/drafts/draft15/index.ts +121 -0
  257. package/src/drafts/draft15/messages.ts +64 -0
  258. package/src/drafts/draft15/rules.ts +95 -0
  259. package/src/drafts/draft15/session-fsm.ts +687 -0
  260. package/src/drafts/draft15/session.ts +26 -0
  261. package/src/drafts/draft15/types.ts +336 -0
  262. package/src/drafts/draft16/codec.ts +1623 -0
  263. package/src/drafts/draft16/index.ts +123 -0
  264. package/src/drafts/draft16/messages.ts +67 -0
  265. package/src/drafts/draft16/rules.ts +96 -0
  266. package/src/drafts/draft16/session-fsm.ts +682 -0
  267. package/src/drafts/draft16/session.ts +26 -0
  268. package/src/drafts/draft16/types.ts +354 -0
  269. package/src/drafts/draft17/codec.ts +1621 -0
  270. package/src/drafts/draft17/index.ts +105 -0
  271. package/src/drafts/draft17/messages.ts +53 -0
  272. package/src/drafts/draft17/rules.ts +85 -0
  273. package/src/drafts/draft17/session-fsm.ts +437 -0
  274. package/src/drafts/draft17/session.ts +15 -0
  275. package/src/drafts/draft17/types.ts +310 -0
  276. package/src/index.ts +283 -33
  277. package/src/session.ts +20 -20
@@ -3,7 +3,7 @@
3
3
 
4
4
 
5
5
 
6
- var _chunkQYG6KGOVcjs = require('./chunk-QYG6KGOV.cjs');
6
+ var _chunkRWQ43Z4Fcjs = require('./chunk-RWQ43Z4F.cjs');
7
7
 
8
8
  // src/drafts/draft07/session-fsm.ts
9
9
  function violation(code, message, currentPhase, offendingMessage) {
@@ -30,19 +30,29 @@ var SessionFSM = (_class = class {
30
30
  return this._announces;
31
31
  }
32
32
  get legalOutgoing() {
33
- return _chunkQYG6KGOVcjs.getLegalOutgoing.call(void 0, this._phase, this._role);
33
+ return _chunkRWQ43Z4Fcjs.getLegalOutgoing.call(void 0, this._phase, this._role);
34
34
  }
35
35
  get legalIncoming() {
36
- return _chunkQYG6KGOVcjs.getLegalIncoming.call(void 0, this._phase, this._role);
36
+ return _chunkRWQ43Z4Fcjs.getLegalIncoming.call(void 0, this._phase, this._role);
37
37
  }
38
38
  // Validate role constraints
39
39
  checkRole(message, direction) {
40
40
  const senderRole = direction === "outbound" ? this._role : this._role === "client" ? "server" : "client";
41
- if (_chunkQYG6KGOVcjs.CLIENT_ONLY_MESSAGES.has(message.type) && senderRole !== "client") {
42
- return violation("ROLE_VIOLATION", `${message.type} can only be sent by client`, this._phase, message.type);
41
+ if (_chunkRWQ43Z4Fcjs.CLIENT_ONLY_MESSAGES.has(message.type) && senderRole !== "client") {
42
+ return violation(
43
+ "ROLE_VIOLATION",
44
+ `${message.type} can only be sent by client`,
45
+ this._phase,
46
+ message.type
47
+ );
43
48
  }
44
- if (_chunkQYG6KGOVcjs.SERVER_ONLY_MESSAGES.has(message.type) && senderRole !== "server") {
45
- return violation("ROLE_VIOLATION", `${message.type} can only be sent by server`, this._phase, message.type);
49
+ if (_chunkRWQ43Z4Fcjs.SERVER_ONLY_MESSAGES.has(message.type) && senderRole !== "server") {
50
+ return violation(
51
+ "ROLE_VIOLATION",
52
+ `${message.type} can only be sent by server`,
53
+ this._phase,
54
+ message.type
55
+ );
46
56
  }
47
57
  return null;
48
58
  }
@@ -116,27 +126,67 @@ var SessionFSM = (_class = class {
116
126
  }
117
127
  handleClientSetup(_message, direction) {
118
128
  if (this._phase !== "idle") {
119
- return { ok: false, violation: violation("SETUP_VIOLATION", "CLIENT_SETUP already sent/received", this._phase, "client_setup") };
129
+ return {
130
+ ok: false,
131
+ violation: violation(
132
+ "SETUP_VIOLATION",
133
+ "CLIENT_SETUP already sent/received",
134
+ this._phase,
135
+ "client_setup"
136
+ )
137
+ };
120
138
  }
121
139
  if (direction === "outbound" && this._role !== "client") {
122
- return { ok: false, violation: violation("ROLE_VIOLATION", "Only client can send CLIENT_SETUP", this._phase, "client_setup") };
140
+ return {
141
+ ok: false,
142
+ violation: violation(
143
+ "ROLE_VIOLATION",
144
+ "Only client can send CLIENT_SETUP",
145
+ this._phase,
146
+ "client_setup"
147
+ )
148
+ };
123
149
  }
124
150
  this._phase = "setup";
125
151
  return { ok: true, phase: this._phase, sideEffects: [] };
126
152
  }
127
153
  handleServerSetup(_message, direction) {
128
154
  if (this._phase !== "setup") {
129
- return { ok: false, violation: violation("SETUP_VIOLATION", "SERVER_SETUP before CLIENT_SETUP", this._phase, "server_setup") };
155
+ return {
156
+ ok: false,
157
+ violation: violation(
158
+ "SETUP_VIOLATION",
159
+ "SERVER_SETUP before CLIENT_SETUP",
160
+ this._phase,
161
+ "server_setup"
162
+ )
163
+ };
130
164
  }
131
165
  if (direction === "outbound" && this._role !== "server") {
132
- return { ok: false, violation: violation("ROLE_VIOLATION", "Only server can send SERVER_SETUP", this._phase, "server_setup") };
166
+ return {
167
+ ok: false,
168
+ violation: violation(
169
+ "ROLE_VIOLATION",
170
+ "Only server can send SERVER_SETUP",
171
+ this._phase,
172
+ "server_setup"
173
+ )
174
+ };
133
175
  }
134
176
  this._phase = "ready";
135
177
  return { ok: true, phase: this._phase, sideEffects: [{ type: "session-ready" }] };
136
178
  }
137
179
  handleGoAway(message, _direction, sideEffects) {
138
180
  if (this._phase !== "ready" && this._phase !== "draining") {
139
- return { ok: false, violation: violation("UNEXPECTED_MESSAGE", `GOAWAY not valid in phase ${this._phase}`, this._phase, "goaway") };
181
+ return {
182
+ ok: false,
183
+ violation: violation(
184
+ "UNEXPECTED_MESSAGE",
185
+ `GOAWAY not valid in phase ${this._phase}`,
186
+ this._phase,
187
+ "goaway"
188
+ )
189
+ };
140
190
  }
141
191
  this._phase = "draining";
142
192
  const goaway = message;
@@ -159,7 +209,15 @@ var SessionFSM = (_class = class {
159
209
  if (err) return { ok: false, violation: err };
160
210
  const sub = message;
161
211
  if (this._subscriptions.has(sub.subscribeId)) {
162
- return { ok: false, violation: violation("DUPLICATE_SUBSCRIBE_ID", `Subscribe ID ${sub.subscribeId} already exists`, this._phase, message.type) };
212
+ return {
213
+ ok: false,
214
+ violation: violation(
215
+ "DUPLICATE_SUBSCRIBE_ID",
216
+ `Subscribe ID ${sub.subscribeId} already exists`,
217
+ this._phase,
218
+ message.type
219
+ )
220
+ };
163
221
  }
164
222
  this._subscriptions.set(sub.subscribeId, {
165
223
  subscribeId: sub.subscribeId,
@@ -175,10 +233,26 @@ var SessionFSM = (_class = class {
175
233
  const ok = message;
176
234
  const existing = this._subscriptions.get(ok.subscribeId);
177
235
  if (!existing) {
178
- return { ok: false, violation: violation("UNKNOWN_SUBSCRIBE_ID", `No subscription with ID ${ok.subscribeId}`, this._phase, message.type) };
236
+ return {
237
+ ok: false,
238
+ violation: violation(
239
+ "UNKNOWN_SUBSCRIBE_ID",
240
+ `No subscription with ID ${ok.subscribeId}`,
241
+ this._phase,
242
+ message.type
243
+ )
244
+ };
179
245
  }
180
246
  if (existing.phase !== "pending") {
181
- return { ok: false, violation: violation("STATE_VIOLATION", `Subscription ${ok.subscribeId} is ${existing.phase}, not pending`, this._phase, message.type) };
247
+ return {
248
+ ok: false,
249
+ violation: violation(
250
+ "STATE_VIOLATION",
251
+ `Subscription ${ok.subscribeId} is ${existing.phase}, not pending`,
252
+ this._phase,
253
+ message.type
254
+ )
255
+ };
182
256
  }
183
257
  this._subscriptions.set(ok.subscribeId, { ...existing, phase: "active" });
184
258
  sideEffects.push({ type: "subscription-activated", subscribeId: ok.subscribeId });
@@ -190,13 +264,33 @@ var SessionFSM = (_class = class {
190
264
  const subErr = message;
191
265
  const existing = this._subscriptions.get(subErr.subscribeId);
192
266
  if (!existing) {
193
- return { ok: false, violation: violation("UNKNOWN_SUBSCRIBE_ID", `No subscription with ID ${subErr.subscribeId}`, this._phase, message.type) };
267
+ return {
268
+ ok: false,
269
+ violation: violation(
270
+ "UNKNOWN_SUBSCRIBE_ID",
271
+ `No subscription with ID ${subErr.subscribeId}`,
272
+ this._phase,
273
+ message.type
274
+ )
275
+ };
194
276
  }
195
277
  if (existing.phase !== "pending") {
196
- return { ok: false, violation: violation("STATE_VIOLATION", `Subscription ${subErr.subscribeId} is ${existing.phase}, not pending`, this._phase, message.type) };
278
+ return {
279
+ ok: false,
280
+ violation: violation(
281
+ "STATE_VIOLATION",
282
+ `Subscription ${subErr.subscribeId} is ${existing.phase}, not pending`,
283
+ this._phase,
284
+ message.type
285
+ )
286
+ };
197
287
  }
198
288
  this._subscriptions.set(subErr.subscribeId, { ...existing, phase: "error" });
199
- sideEffects.push({ type: "subscription-ended", subscribeId: subErr.subscribeId, reason: subErr.reasonPhrase });
289
+ sideEffects.push({
290
+ type: "subscription-ended",
291
+ subscribeId: subErr.subscribeId,
292
+ reason: subErr.reasonPhrase
293
+ });
200
294
  return { ok: true, phase: this._phase, sideEffects };
201
295
  }
202
296
  handleSubscribeDone(message, _direction, sideEffects) {
@@ -205,10 +299,22 @@ var SessionFSM = (_class = class {
205
299
  const done = message;
206
300
  const existing = this._subscriptions.get(done.subscribeId);
207
301
  if (!existing) {
208
- return { ok: false, violation: violation("UNKNOWN_SUBSCRIBE_ID", `No subscription with ID ${done.subscribeId}`, this._phase, message.type) };
302
+ return {
303
+ ok: false,
304
+ violation: violation(
305
+ "UNKNOWN_SUBSCRIBE_ID",
306
+ `No subscription with ID ${done.subscribeId}`,
307
+ this._phase,
308
+ message.type
309
+ )
310
+ };
209
311
  }
210
312
  this._subscriptions.set(done.subscribeId, { ...existing, phase: "done" });
211
- sideEffects.push({ type: "subscription-ended", subscribeId: done.subscribeId, reason: done.reasonPhrase });
313
+ sideEffects.push({
314
+ type: "subscription-ended",
315
+ subscribeId: done.subscribeId,
316
+ reason: done.reasonPhrase
317
+ });
212
318
  return { ok: true, phase: this._phase, sideEffects };
213
319
  }
214
320
  handleUnsubscribe(message, _direction, sideEffects) {
@@ -217,10 +323,22 @@ var SessionFSM = (_class = class {
217
323
  const unsub = message;
218
324
  const existing = this._subscriptions.get(unsub.subscribeId);
219
325
  if (!existing) {
220
- return { ok: false, violation: violation("UNKNOWN_SUBSCRIBE_ID", `No subscription with ID ${unsub.subscribeId}`, this._phase, message.type) };
326
+ return {
327
+ ok: false,
328
+ violation: violation(
329
+ "UNKNOWN_SUBSCRIBE_ID",
330
+ `No subscription with ID ${unsub.subscribeId}`,
331
+ this._phase,
332
+ message.type
333
+ )
334
+ };
221
335
  }
222
336
  this._subscriptions.set(unsub.subscribeId, { ...existing, phase: "done" });
223
- sideEffects.push({ type: "subscription-ended", subscribeId: unsub.subscribeId, reason: "unsubscribed" });
337
+ sideEffects.push({
338
+ type: "subscription-ended",
339
+ subscribeId: unsub.subscribeId,
340
+ reason: "unsubscribed"
341
+ });
224
342
  return { ok: true, phase: this._phase, sideEffects };
225
343
  }
226
344
  // Announce handlers
@@ -242,7 +360,15 @@ var SessionFSM = (_class = class {
242
360
  const key = this.namespaceKey(ok.trackNamespace);
243
361
  const existing = this._announces.get(key);
244
362
  if (!existing) {
245
- return { ok: false, violation: violation("UNEXPECTED_MESSAGE", `No announce for namespace ${key}`, this._phase, message.type) };
363
+ return {
364
+ ok: false,
365
+ violation: violation(
366
+ "UNEXPECTED_MESSAGE",
367
+ `No announce for namespace ${key}`,
368
+ this._phase,
369
+ message.type
370
+ )
371
+ };
246
372
  }
247
373
  this._announces.set(key, { ...existing, phase: "active" });
248
374
  sideEffects.push({ type: "announce-activated", namespace: ok.trackNamespace });
@@ -255,7 +381,15 @@ var SessionFSM = (_class = class {
255
381
  const key = this.namespaceKey(annErr.trackNamespace);
256
382
  const existing = this._announces.get(key);
257
383
  if (!existing) {
258
- return { ok: false, violation: violation("UNEXPECTED_MESSAGE", `No announce for namespace ${key}`, this._phase, message.type) };
384
+ return {
385
+ ok: false,
386
+ violation: violation(
387
+ "UNEXPECTED_MESSAGE",
388
+ `No announce for namespace ${key}`,
389
+ this._phase,
390
+ message.type
391
+ )
392
+ };
259
393
  }
260
394
  this._announces.set(key, { ...existing, phase: "error" });
261
395
  sideEffects.push({ type: "announce-ended", namespace: annErr.trackNamespace });