@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
package/src/core/types.ts CHANGED
@@ -1,39 +1,61 @@
1
1
  // Draft identifiers
2
- export type Draft = 'draft-ietf-moq-transport-07' | 'draft-ietf-moq-transport-14';
3
- export type DraftShorthand = '07' | '14';
2
+ export type Draft =
3
+ | "draft-ietf-moq-transport-07"
4
+ | "draft-ietf-moq-transport-08"
5
+ | "draft-ietf-moq-transport-09"
6
+ | "draft-ietf-moq-transport-10"
7
+ | "draft-ietf-moq-transport-11"
8
+ | "draft-ietf-moq-transport-12"
9
+ | "draft-ietf-moq-transport-13"
10
+ | "draft-ietf-moq-transport-14"
11
+ | "draft-ietf-moq-transport-15"
12
+ | "draft-ietf-moq-transport-16"
13
+ | "draft-ietf-moq-transport-17";
14
+ export type DraftShorthand =
15
+ | "07"
16
+ | "08"
17
+ | "09"
18
+ | "10"
19
+ | "11"
20
+ | "12"
21
+ | "13"
22
+ | "14"
23
+ | "15"
24
+ | "16"
25
+ | "17";
4
26
 
5
27
  // All MoQT message type tags
6
28
  export type MoqtMessageType =
7
- | 'client_setup'
8
- | 'server_setup'
9
- | 'subscribe'
10
- | 'subscribe_ok'
11
- | 'subscribe_error'
12
- | 'subscribe_done'
13
- | 'subscribe_update'
14
- | 'unsubscribe'
15
- | 'announce'
16
- | 'announce_ok'
17
- | 'announce_error'
18
- | 'announce_cancel'
19
- | 'unannounce'
20
- | 'track_status_request'
21
- | 'track_status'
22
- | 'object_stream'
23
- | 'object_datagram'
24
- | 'stream_header_track'
25
- | 'stream_header_group'
26
- | 'stream_header_subgroup'
27
- | 'goaway'
28
- | 'subscribe_announces'
29
- | 'subscribe_announces_ok'
30
- | 'subscribe_announces_error'
31
- | 'unsubscribe_announces'
32
- | 'max_subscribe_id'
33
- | 'fetch'
34
- | 'fetch_ok'
35
- | 'fetch_error'
36
- | 'fetch_cancel';
29
+ | "client_setup"
30
+ | "server_setup"
31
+ | "subscribe"
32
+ | "subscribe_ok"
33
+ | "subscribe_error"
34
+ | "subscribe_done"
35
+ | "subscribe_update"
36
+ | "unsubscribe"
37
+ | "announce"
38
+ | "announce_ok"
39
+ | "announce_error"
40
+ | "announce_cancel"
41
+ | "unannounce"
42
+ | "track_status_request"
43
+ | "track_status"
44
+ | "object_stream"
45
+ | "object_datagram"
46
+ | "stream_header_track"
47
+ | "stream_header_group"
48
+ | "stream_header_subgroup"
49
+ | "goaway"
50
+ | "subscribe_announces"
51
+ | "subscribe_announces_ok"
52
+ | "subscribe_announces_error"
53
+ | "unsubscribe_announces"
54
+ | "max_subscribe_id"
55
+ | "fetch"
56
+ | "fetch_ok"
57
+ | "fetch_error"
58
+ | "fetch_cancel";
37
59
 
38
60
  // Base message interface
39
61
  export interface BaseMessage {
@@ -42,20 +64,20 @@ export interface BaseMessage {
42
64
 
43
65
  // Setup messages
44
66
  export interface ClientSetup extends BaseMessage {
45
- readonly type: 'client_setup';
67
+ readonly type: "client_setup";
46
68
  readonly supportedVersions: bigint[];
47
69
  readonly parameters: Map<bigint, Uint8Array>;
48
70
  }
49
71
 
50
72
  export interface ServerSetup extends BaseMessage {
51
- readonly type: 'server_setup';
73
+ readonly type: "server_setup";
52
74
  readonly selectedVersion: bigint;
53
75
  readonly parameters: Map<bigint, Uint8Array>;
54
76
  }
55
77
 
56
78
  // Subscribe messages
57
79
  export interface Subscribe extends BaseMessage {
58
- readonly type: 'subscribe';
80
+ readonly type: "subscribe";
59
81
  readonly subscribeId: bigint;
60
82
  readonly trackAlias: bigint;
61
83
  readonly trackNamespace: string[];
@@ -70,10 +92,10 @@ export interface Subscribe extends BaseMessage {
70
92
  readonly parameters: Map<bigint, Uint8Array>;
71
93
  }
72
94
 
73
- export type FilterType = 'latest_group' | 'latest_object' | 'absolute_start' | 'absolute_range';
95
+ export type FilterType = "latest_group" | "latest_object" | "absolute_start" | "absolute_range";
74
96
 
75
97
  export interface SubscribeOk extends BaseMessage {
76
- readonly type: 'subscribe_ok';
98
+ readonly type: "subscribe_ok";
77
99
  readonly subscribeId: bigint;
78
100
  readonly expires: bigint;
79
101
  readonly groupOrder: GroupOrderValue;
@@ -83,10 +105,10 @@ export interface SubscribeOk extends BaseMessage {
83
105
  readonly parameters: Map<bigint, Uint8Array>;
84
106
  }
85
107
 
86
- export type GroupOrderValue = 'ascending' | 'descending' | 'original';
108
+ export type GroupOrderValue = "ascending" | "descending" | "original";
87
109
 
88
110
  export interface SubscribeError extends BaseMessage {
89
- readonly type: 'subscribe_error';
111
+ readonly type: "subscribe_error";
90
112
  readonly subscribeId: bigint;
91
113
  readonly errorCode: bigint;
92
114
  readonly reasonPhrase: string;
@@ -94,7 +116,7 @@ export interface SubscribeError extends BaseMessage {
94
116
  }
95
117
 
96
118
  export interface SubscribeDone extends BaseMessage {
97
- readonly type: 'subscribe_done';
119
+ readonly type: "subscribe_done";
98
120
  readonly subscribeId: bigint;
99
121
  readonly statusCode: bigint;
100
122
  readonly reasonPhrase: string;
@@ -104,7 +126,7 @@ export interface SubscribeDone extends BaseMessage {
104
126
  }
105
127
 
106
128
  export interface SubscribeUpdate extends BaseMessage {
107
- readonly type: 'subscribe_update';
129
+ readonly type: "subscribe_update";
108
130
  readonly subscribeId: bigint;
109
131
  readonly startGroup: bigint;
110
132
  readonly startObject: bigint;
@@ -115,50 +137,50 @@ export interface SubscribeUpdate extends BaseMessage {
115
137
  }
116
138
 
117
139
  export interface Unsubscribe extends BaseMessage {
118
- readonly type: 'unsubscribe';
140
+ readonly type: "unsubscribe";
119
141
  readonly subscribeId: bigint;
120
142
  }
121
143
 
122
144
  // Announce messages
123
145
  export interface Announce extends BaseMessage {
124
- readonly type: 'announce';
146
+ readonly type: "announce";
125
147
  readonly trackNamespace: string[];
126
148
  readonly parameters: Map<bigint, Uint8Array>;
127
149
  }
128
150
 
129
151
  export interface AnnounceOk extends BaseMessage {
130
- readonly type: 'announce_ok';
152
+ readonly type: "announce_ok";
131
153
  readonly trackNamespace: string[];
132
154
  }
133
155
 
134
156
  export interface AnnounceError extends BaseMessage {
135
- readonly type: 'announce_error';
157
+ readonly type: "announce_error";
136
158
  readonly trackNamespace: string[];
137
159
  readonly errorCode: bigint;
138
160
  readonly reasonPhrase: string;
139
161
  }
140
162
 
141
163
  export interface AnnounceCancel extends BaseMessage {
142
- readonly type: 'announce_cancel';
164
+ readonly type: "announce_cancel";
143
165
  readonly trackNamespace: string[];
144
166
  readonly errorCode: bigint;
145
167
  readonly reasonPhrase: string;
146
168
  }
147
169
 
148
170
  export interface Unannounce extends BaseMessage {
149
- readonly type: 'unannounce';
171
+ readonly type: "unannounce";
150
172
  readonly trackNamespace: string[];
151
173
  }
152
174
 
153
175
  // Track status
154
176
  export interface TrackStatusRequest extends BaseMessage {
155
- readonly type: 'track_status_request';
177
+ readonly type: "track_status_request";
156
178
  readonly trackNamespace: string[];
157
179
  readonly trackName: string;
158
180
  }
159
181
 
160
182
  export interface TrackStatus extends BaseMessage {
161
- readonly type: 'track_status';
183
+ readonly type: "track_status";
162
184
  readonly trackNamespace: string[];
163
185
  readonly trackName: string;
164
186
  readonly statusCode: bigint;
@@ -168,8 +190,7 @@ export interface TrackStatus extends BaseMessage {
168
190
 
169
191
  // Object/stream messages
170
192
  export interface ObjectStream extends BaseMessage {
171
- readonly type: 'object_stream';
172
- readonly subscribeId: bigint;
193
+ readonly type: "object_stream";
173
194
  readonly trackAlias: bigint;
174
195
  readonly groupId: bigint;
175
196
  readonly objectId: bigint;
@@ -179,8 +200,7 @@ export interface ObjectStream extends BaseMessage {
179
200
  }
180
201
 
181
202
  export interface ObjectDatagram extends BaseMessage {
182
- readonly type: 'object_datagram';
183
- readonly subscribeId: bigint;
203
+ readonly type: "object_datagram";
184
204
  readonly trackAlias: bigint;
185
205
  readonly groupId: bigint;
186
206
  readonly objectId: bigint;
@@ -190,23 +210,20 @@ export interface ObjectDatagram extends BaseMessage {
190
210
  }
191
211
 
192
212
  export interface StreamHeaderTrack extends BaseMessage {
193
- readonly type: 'stream_header_track';
194
- readonly subscribeId: bigint;
213
+ readonly type: "stream_header_track";
195
214
  readonly trackAlias: bigint;
196
215
  readonly publisherPriority: number;
197
216
  }
198
217
 
199
218
  export interface StreamHeaderGroup extends BaseMessage {
200
- readonly type: 'stream_header_group';
201
- readonly subscribeId: bigint;
219
+ readonly type: "stream_header_group";
202
220
  readonly trackAlias: bigint;
203
221
  readonly groupId: bigint;
204
222
  readonly publisherPriority: number;
205
223
  }
206
224
 
207
225
  export interface StreamHeaderSubgroup extends BaseMessage {
208
- readonly type: 'stream_header_subgroup';
209
- readonly subscribeId: bigint;
226
+ readonly type: "stream_header_subgroup";
210
227
  readonly trackAlias: bigint;
211
228
  readonly groupId: bigint;
212
229
  readonly subgroupId: bigint;
@@ -215,24 +232,24 @@ export interface StreamHeaderSubgroup extends BaseMessage {
215
232
 
216
233
  // GoAway
217
234
  export interface GoAway extends BaseMessage {
218
- readonly type: 'goaway';
235
+ readonly type: "goaway";
219
236
  readonly newSessionUri: string;
220
237
  }
221
238
 
222
239
  // Subscribe Announces
223
240
  export interface SubscribeAnnounces extends BaseMessage {
224
- readonly type: 'subscribe_announces';
241
+ readonly type: "subscribe_announces";
225
242
  readonly trackNamespace: string[];
226
243
  readonly parameters: Map<bigint, Uint8Array>;
227
244
  }
228
245
 
229
246
  export interface SubscribeAnnouncesOk extends BaseMessage {
230
- readonly type: 'subscribe_announces_ok';
247
+ readonly type: "subscribe_announces_ok";
231
248
  readonly trackNamespace: string[];
232
249
  }
233
250
 
234
251
  export interface SubscribeAnnouncesError extends BaseMessage {
235
- readonly type: 'subscribe_announces_error';
252
+ readonly type: "subscribe_announces_error";
236
253
  readonly trackNamespace: string[];
237
254
  readonly errorCode: bigint;
238
255
  readonly reasonPhrase: string;
@@ -240,19 +257,19 @@ export interface SubscribeAnnouncesError extends BaseMessage {
240
257
 
241
258
  // Unsubscribe Announces
242
259
  export interface UnsubscribeAnnounces extends BaseMessage {
243
- readonly type: 'unsubscribe_announces';
260
+ readonly type: "unsubscribe_announces";
244
261
  readonly trackNamespace: string[];
245
262
  }
246
263
 
247
264
  // Max Subscribe ID
248
265
  export interface MaxSubscribeId extends BaseMessage {
249
- readonly type: 'max_subscribe_id';
266
+ readonly type: "max_subscribe_id";
250
267
  readonly subscribeId: bigint;
251
268
  }
252
269
 
253
270
  // Fetch
254
271
  export interface Fetch extends BaseMessage {
255
- readonly type: 'fetch';
272
+ readonly type: "fetch";
256
273
  readonly subscribeId: bigint;
257
274
  readonly trackNamespace: string[];
258
275
  readonly trackName: string;
@@ -266,7 +283,7 @@ export interface Fetch extends BaseMessage {
266
283
  }
267
284
 
268
285
  export interface FetchOk extends BaseMessage {
269
- readonly type: 'fetch_ok';
286
+ readonly type: "fetch_ok";
270
287
  readonly subscribeId: bigint;
271
288
  readonly groupOrder: GroupOrderValue;
272
289
  readonly endOfTrack: boolean;
@@ -276,14 +293,14 @@ export interface FetchOk extends BaseMessage {
276
293
  }
277
294
 
278
295
  export interface FetchError extends BaseMessage {
279
- readonly type: 'fetch_error';
296
+ readonly type: "fetch_error";
280
297
  readonly subscribeId: bigint;
281
298
  readonly errorCode: bigint;
282
299
  readonly reasonPhrase: string;
283
300
  }
284
301
 
285
302
  export interface FetchCancel extends BaseMessage {
286
- readonly type: 'fetch_cancel';
303
+ readonly type: "fetch_cancel";
287
304
  readonly subscribeId: bigint;
288
305
  }
289
306
 
@@ -344,11 +361,11 @@ export type DecodeResult<T> =
344
361
  | { ok: false; error: DecodeError };
345
362
 
346
363
  export type DecodeErrorCode =
347
- | 'UNEXPECTED_END'
348
- | 'INVALID_VARINT'
349
- | 'UNKNOWN_MESSAGE_TYPE'
350
- | 'INVALID_PARAMETER'
351
- | 'CONSTRAINT_VIOLATION';
364
+ | "UNEXPECTED_END"
365
+ | "INVALID_VARINT"
366
+ | "UNKNOWN_MESSAGE_TYPE"
367
+ | "INVALID_PARAMETER"
368
+ | "CONSTRAINT_VIOLATION";
352
369
 
353
370
  export class DecodeError extends Error {
354
371
  readonly code: DecodeErrorCode;
@@ -356,7 +373,7 @@ export class DecodeError extends Error {
356
373
 
357
374
  constructor(code: DecodeErrorCode, message: string, offset: number) {
358
375
  super(message);
359
- this.name = 'DecodeError';
376
+ this.name = "DecodeError";
360
377
  this.code = code;
361
378
  this.offset = offset;
362
379
  }
@@ -1,2 +1,2 @@
1
1
  // Announce state tracking is integrated into SessionFSM.
2
- export type { AnnounceState, AnnouncePhase } from '../../core/session-types.js';
2
+ export type { AnnouncePhase, AnnounceState } from "../../core/session-types.js";