@moqtap/codec 0.2.3 → 0.3.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.
- package/LICENSE +21 -21
- package/README.md +100 -99
- package/dist/{chunk-RZHAPEXO.js → chunk-2A57DRXV.js} +36 -10
- package/dist/{chunk-73MWUKSJ.js → chunk-2UTVXWFF.js} +190 -102
- package/dist/{chunk-JTVCOMBI.cjs → chunk-3XKO6PCR.cjs} +290 -183
- package/dist/{chunk-ACQ4CUJP.cjs → chunk-4BDEU3D4.cjs} +237 -158
- package/dist/{chunk-4N4INRE7.cjs → chunk-4HBKHNU2.cjs} +144 -110
- package/dist/{chunk-2ZT6CVSE.js → chunk-4IVZZOY3.js} +269 -162
- package/dist/{chunk-GLBQDG4L.cjs → chunk-5O764MBD.cjs} +508 -117
- package/dist/chunk-7KBAWOBA.js +1212 -0
- package/dist/{chunk-JSQM2MG3.js → chunk-7QOPNSDF.js} +44 -12
- package/dist/{chunk-SYHW3FLI.cjs → chunk-7RE6KSIY.cjs} +28 -8
- package/dist/{chunk-YG5KJESI.js → chunk-AY6IAHUM.js} +28 -8
- package/dist/{chunk-EFM5T7OM.js → chunk-BLQDWOSG.js} +36 -10
- package/dist/{chunk-UYXTY6ZQ.cjs → chunk-E65QKRSN.cjs} +20 -12
- package/dist/{chunk-BISI45MN.cjs → chunk-EAHE3IOG.cjs} +44 -12
- package/dist/{chunk-PZBPH2D7.js → chunk-GCBFHZW6.js} +216 -137
- package/dist/{chunk-GXEW4COZ.cjs → chunk-H5NSL4MO.cjs} +36 -10
- package/dist/chunk-HZHSO7EW.cjs +1212 -0
- package/dist/{chunk-KZCYQ7ED.cjs → chunk-IILNSDEQ.cjs} +69 -41
- package/dist/{chunk-4XYGE53S.cjs → chunk-J3XCPBW3.cjs} +36 -10
- package/dist/{chunk-6AEHWULA.cjs → chunk-JKOEJZ5B.cjs} +28 -8
- package/dist/{chunk-RUPCJTC3.cjs → chunk-JL3NEW3O.cjs} +23 -1
- package/dist/{chunk-G7GI7LJA.js → chunk-LORZMJJB.js} +36 -10
- package/dist/{chunk-DUBCL3WF.cjs → chunk-LV5C6MEC.cjs} +36 -10
- package/dist/{chunk-ENURAVHI.cjs → chunk-MYXAD5JC.cjs} +44 -12
- package/dist/{chunk-FXZ2MYKJ.js → chunk-MZ7HUCGJ.js} +20 -12
- package/dist/{chunk-S74DWJE2.cjs → chunk-OKG2HT25.cjs} +277 -88
- package/dist/{chunk-BGWGVINJ.cjs → chunk-PKEOQSSZ.cjs} +144 -110
- package/dist/{chunk-2GODRVT5.js → chunk-Q46ZURKX.js} +325 -48
- package/dist/{chunk-UR6JKS56.js → chunk-Q7IGWV3P.js} +41 -9
- package/dist/{chunk-XSNX2IUJ.js → chunk-RW4UG7CN.js} +121 -87
- package/dist/{chunk-DWK5ZQZ4.js → chunk-RZTLQAKF.js} +28 -8
- package/dist/{chunk-UNS34PTA.cjs → chunk-S6IPIN66.cjs} +44 -12
- package/dist/{chunk-YIG2C3LF.cjs → chunk-SDWRXXOO.cjs} +214 -126
- package/dist/{chunk-CEH7ESNC.js → chunk-SHMA4PBY.js} +121 -87
- package/dist/{chunk-MC7W6PMI.js → chunk-U3ZVLT5L.js} +483 -135
- package/dist/{chunk-VJUUZ4W2.cjs → chunk-UJU63EFY.cjs} +374 -97
- package/dist/{chunk-7L43FE6P.js → chunk-VOU7PNHI.js} +23 -1
- package/dist/{chunk-E6E3NQYU.js → chunk-WRHGCVYN.js} +44 -12
- package/dist/{chunk-FPISPJ5N.cjs → chunk-XNWYLVGU.cjs} +529 -181
- package/dist/{chunk-U3IPZYPX.js → chunk-XS77RBY7.js} +228 -39
- package/dist/{chunk-JGG7CMSZ.cjs → chunk-XZE5R57R.cjs} +144 -110
- package/dist/{chunk-77MNXX3M.js → chunk-Y6KCSM3V.js} +121 -87
- package/dist/{chunk-TLYNOOQP.cjs → chunk-YTPZZI2M.cjs} +41 -9
- package/dist/{chunk-7DUBLRXC.js → chunk-YWRCSQBA.js} +44 -12
- package/dist/{chunk-MRJWLGYH.js → chunk-Z3VKP3PJ.js} +69 -41
- package/dist/{chunk-E6P74GDT.js → chunk-Z6U26IRI.js} +464 -73
- package/dist/{codec-FvGCxIhr.d.ts → codec-25u4_1HS.d.ts} +4 -4
- package/dist/{codec-DRcsBCsb.d.ts → codec-3Ppy_5Gd.d.ts} +4 -4
- package/dist/{codec-BdVMRMOI.d.ts → codec-BB0U8MF2.d.cts} +4 -4
- package/dist/{codec-B2cH-f5V.d.cts → codec-BHHfBTnV.d.ts} +4 -4
- package/dist/{codec-B5K73Bdj.d.ts → codec-BN6jk0Td.d.cts} +4 -4
- package/dist/{codec-R8GrCPt2.d.ts → codec-BU0gaSZm.d.ts} +4 -4
- package/dist/{codec-Bq-tLtfP.d.ts → codec-C-Yk2RNa.d.ts} +4 -4
- package/dist/codec-CFWQY9Lj.d.cts +18 -0
- package/dist/{codec-CPlK3Pi5.d.ts → codec-COy4uuPO.d.cts} +4 -4
- package/dist/codec-CewFCsEy.d.ts +18 -0
- package/dist/{codec-KXHvXZVb.d.cts → codec-Ck7ZwFF1.d.cts} +4 -4
- package/dist/{codec-DZhZSIii.d.cts → codec-D2QVSH9D.d.ts} +4 -4
- package/dist/{codec-BwFgpeQu.d.ts → codec-DDUBJGn0.d.cts} +4 -4
- package/dist/{codec-BFeliJFc.d.ts → codec-DNfml-se.d.ts} +4 -4
- package/dist/{codec-C4n1PS09.d.cts → codec-DoOGjjDq.d.cts} +4 -4
- package/dist/{codec-Bap882Fh.d.cts → codec-J7ekOSMc.d.ts} +4 -4
- package/dist/{codec-SKBeHQk7.d.ts → codec-R9TJCq-E.d.cts} +4 -4
- package/dist/{codec-DNUIgLqc.d.cts → codec-ZwV-Njt6.d.ts} +4 -4
- package/dist/{codec-HgBgHkFI.d.cts → codec-j819z_hL.d.cts} +4 -4
- package/dist/{codec-DY4QH364.d.cts → codec-w8z2j_uo.d.cts} +4 -4
- package/dist/{codec-CPvPq0sb.d.cts → codec-wtt6WF1K.d.ts} +4 -4
- package/dist/{codec-BUMjz0J4.d.cts → codec-z6_2PSzi.d.cts} +4 -4
- package/dist/draft10-session.cjs +2 -2
- package/dist/draft10-session.d.cts +6 -6
- package/dist/draft10-session.d.ts +6 -6
- package/dist/draft10-session.js +1 -1
- package/dist/draft10.cjs +8 -5
- package/dist/draft10.d.cts +14 -12
- package/dist/draft10.d.ts +14 -12
- package/dist/draft10.js +16 -13
- package/dist/draft11-session.cjs +2 -2
- package/dist/draft11-session.d.cts +6 -6
- package/dist/draft11-session.d.ts +6 -6
- package/dist/draft11-session.js +1 -1
- package/dist/draft11.cjs +8 -5
- package/dist/draft11.d.cts +14 -12
- package/dist/draft11.d.ts +14 -12
- package/dist/draft11.js +16 -13
- package/dist/draft12-session.cjs +2 -2
- package/dist/draft12-session.d.cts +6 -6
- package/dist/draft12-session.d.ts +6 -6
- package/dist/draft12-session.js +1 -1
- package/dist/draft12.cjs +8 -5
- package/dist/draft12.d.cts +16 -14
- package/dist/draft12.d.ts +16 -14
- package/dist/draft12.js +16 -13
- package/dist/draft13-session.cjs +2 -2
- package/dist/draft13-session.d.cts +6 -6
- package/dist/draft13-session.d.ts +6 -6
- package/dist/draft13-session.js +1 -1
- package/dist/draft13.cjs +8 -5
- package/dist/draft13.d.cts +16 -14
- package/dist/draft13.d.ts +16 -14
- package/dist/draft13.js +16 -13
- package/dist/draft14-session.cjs +2 -2
- package/dist/draft14-session.d.cts +6 -6
- package/dist/draft14-session.d.ts +6 -6
- package/dist/draft14-session.js +1 -1
- package/dist/draft14.cjs +14 -5
- package/dist/draft14.d.cts +14 -12
- package/dist/draft14.d.ts +14 -12
- package/dist/draft14.js +13 -4
- package/dist/draft15-session.cjs +2 -2
- package/dist/draft15-session.d.cts +6 -6
- package/dist/draft15-session.d.ts +6 -6
- package/dist/draft15-session.js +1 -1
- package/dist/draft15.cjs +8 -5
- package/dist/draft15.d.cts +14 -12
- package/dist/draft15.d.ts +14 -12
- package/dist/draft15.js +16 -13
- package/dist/draft16-session.cjs +2 -2
- package/dist/draft16-session.d.cts +6 -6
- package/dist/draft16-session.d.ts +6 -6
- package/dist/draft16-session.js +1 -1
- package/dist/draft16.cjs +8 -5
- package/dist/draft16.d.cts +14 -12
- package/dist/draft16.d.ts +14 -12
- package/dist/draft16.js +16 -13
- package/dist/draft17-session.cjs +2 -2
- package/dist/draft17-session.d.cts +7 -7
- package/dist/draft17-session.d.ts +7 -7
- package/dist/draft17-session.js +1 -1
- package/dist/draft17.cjs +8 -5
- package/dist/draft17.d.cts +11 -9
- package/dist/draft17.d.ts +11 -9
- package/dist/draft17.js +16 -13
- package/dist/draft7-session.cjs +2 -2
- package/dist/draft7-session.d.cts +6 -5
- package/dist/draft7-session.d.ts +6 -5
- package/dist/draft7-session.js +1 -1
- package/dist/draft7.cjs +71 -14
- package/dist/draft7.d.cts +53 -134
- package/dist/draft7.d.ts +53 -134
- package/dist/draft7.js +76 -19
- package/dist/draft8-session.cjs +2 -2
- package/dist/draft8-session.d.cts +6 -6
- package/dist/draft8-session.d.ts +6 -6
- package/dist/draft8-session.js +1 -1
- package/dist/draft8.cjs +8 -5
- package/dist/draft8.d.cts +14 -12
- package/dist/draft8.d.ts +14 -12
- package/dist/draft8.js +7 -4
- package/dist/draft9-session.cjs +2 -2
- package/dist/draft9-session.d.cts +6 -6
- package/dist/draft9-session.d.ts +6 -6
- package/dist/draft9-session.js +1 -1
- package/dist/draft9.cjs +8 -5
- package/dist/draft9.d.cts +14 -12
- package/dist/draft9.d.ts +14 -12
- package/dist/draft9.js +7 -4
- package/dist/index.cjs +52 -74
- package/dist/index.d.cts +41 -60
- package/dist/index.d.ts +41 -60
- package/dist/index.js +40 -62
- package/dist/{session-types-CJIFbTPd.d.ts → session-types-C7UONex5.d.cts} +28 -27
- package/dist/{session-types-Cbq8IGCP.d.cts → session-types-X-IYEGoG.d.ts} +28 -27
- package/dist/session.cjs +46 -13
- package/dist/session.d.cts +28 -9
- package/dist/session.d.ts +28 -9
- package/dist/session.js +46 -13
- package/dist/{types-DxSFvL2b.d.cts → types--Q7_DcvP.d.cts} +43 -39
- package/dist/{types-DxSFvL2b.d.ts → types--Q7_DcvP.d.ts} +43 -39
- package/dist/{types-B0FT5Qs2.d.ts → types-0IWbU9Z_.d.cts} +36 -36
- package/dist/{types-B0FT5Qs2.d.cts → types-0IWbU9Z_.d.ts} +36 -36
- package/dist/{types-gQsr0AAA.d.cts → types-B3g5G9KP.d.cts} +36 -36
- package/dist/{types-gQsr0AAA.d.ts → types-B3g5G9KP.d.ts} +36 -36
- package/dist/{types-Pme7sua0.d.cts → types-BFpFNM_m.d.cts} +57 -32
- package/dist/{types-Pme7sua0.d.ts → types-BFpFNM_m.d.ts} +57 -32
- package/dist/{types-8gUGeMgs.d.ts → types-Br7fm2mf.d.cts} +48 -26
- package/dist/{types-8gUGeMgs.d.cts → types-Br7fm2mf.d.ts} +48 -26
- package/dist/{types-BeAVNU-F.d.cts → types-C2qKTRR_.d.cts} +50 -45
- package/dist/{types-BeAVNU-F.d.ts → types-C2qKTRR_.d.ts} +50 -45
- package/dist/{types-DKpsfD3i.d.cts → types-DEaypVsD.d.cts} +115 -55
- package/dist/{types-DKpsfD3i.d.ts → types-DEaypVsD.d.ts} +115 -55
- package/dist/types-Dl4IaAHR.d.cts +282 -0
- package/dist/types-Dl4IaAHR.d.ts +282 -0
- package/dist/{types-CDa7F5ct.d.cts → types-DrQpTW1G.d.cts} +58 -50
- package/dist/{types-CDa7F5ct.d.ts → types-DrQpTW1G.d.ts} +58 -50
- package/dist/types-DuIO7cWK.d.cts +25 -0
- package/dist/types-DuIO7cWK.d.ts +25 -0
- package/dist/{types-B9A2g05r.d.cts → types-DuxfOYiO.d.cts} +47 -31
- package/dist/{types-B9A2g05r.d.ts → types-DuxfOYiO.d.ts} +47 -31
- package/dist/{types-D1dI_oTX.d.cts → types-jV1yDDBA.d.cts} +36 -36
- package/dist/{types-D1dI_oTX.d.ts → types-jV1yDDBA.d.ts} +36 -36
- package/package.json +192 -192
- package/src/core/buffer-reader.ts +130 -130
- package/src/core/buffer-writer.ts +100 -100
- package/src/core/errors.ts +1 -1
- package/src/core/hex.ts +21 -21
- package/src/core/session-types.ts +61 -59
- package/src/core/types.ts +18 -361
- package/src/drafts/draft07/codec.ts +1058 -938
- package/src/drafts/draft07/data-streams.ts +240 -240
- package/src/drafts/draft07/index.ts +124 -89
- package/src/drafts/draft07/messages.ts +76 -42
- package/src/drafts/draft07/rules.ts +107 -101
- package/src/drafts/draft07/session-fsm.ts +315 -287
- package/src/drafts/draft07/session.ts +8 -6
- package/src/drafts/draft07/types.ts +406 -72
- package/src/drafts/draft07/varint.ts +51 -51
- package/src/drafts/draft08/codec.ts +985 -953
- package/src/drafts/draft08/data-streams.ts +363 -359
- package/src/drafts/draft08/index.ts +10 -9
- package/src/drafts/draft08/messages.ts +59 -59
- package/src/drafts/draft08/rules.ts +73 -73
- package/src/drafts/draft08/session-fsm.ts +335 -303
- package/src/drafts/draft08/session.ts +6 -7
- package/src/drafts/draft08/types.ts +380 -384
- package/src/drafts/draft09/codec.ts +977 -945
- package/src/drafts/draft09/data-streams.ts +336 -332
- package/src/drafts/draft09/index.ts +10 -9
- package/src/drafts/draft09/messages.ts +59 -59
- package/src/drafts/draft09/rules.ts +73 -73
- package/src/drafts/draft09/session-fsm.ts +335 -303
- package/src/drafts/draft09/session.ts +6 -7
- package/src/drafts/draft09/types.ts +380 -384
- package/src/drafts/draft10/codec.ts +977 -945
- package/src/drafts/draft10/data-streams.ts +336 -332
- package/src/drafts/draft10/index.ts +10 -9
- package/src/drafts/draft10/messages.ts +59 -59
- package/src/drafts/draft10/rules.ts +73 -73
- package/src/drafts/draft10/session-fsm.ts +335 -303
- package/src/drafts/draft10/session.ts +6 -7
- package/src/drafts/draft10/types.ts +380 -384
- package/src/drafts/draft11/codec.ts +1054 -988
- package/src/drafts/draft11/data-streams.ts +316 -269
- package/src/drafts/draft11/index.ts +10 -9
- package/src/drafts/draft11/messages.ts +60 -59
- package/src/drafts/draft11/rules.ts +73 -73
- package/src/drafts/draft11/session-fsm.ts +359 -333
- package/src/drafts/draft11/session.ts +6 -7
- package/src/drafts/draft11/types.ts +385 -381
- package/src/drafts/draft12/codec.ts +1178 -1122
- package/src/drafts/draft12/data-streams.ts +324 -275
- package/src/drafts/draft12/index.ts +10 -9
- package/src/drafts/draft12/messages.ts +67 -66
- package/src/drafts/draft12/rules.ts +79 -79
- package/src/drafts/draft12/session-fsm.ts +384 -358
- package/src/drafts/draft12/session.ts +6 -7
- package/src/drafts/draft12/types.ts +424 -419
- package/src/drafts/draft13/codec.ts +1296 -1206
- package/src/drafts/draft13/data-streams.ts +326 -275
- package/src/drafts/draft13/index.ts +10 -9
- package/src/drafts/draft13/messages.ts +73 -68
- package/src/drafts/draft13/rules.ts +81 -81
- package/src/drafts/draft13/session-fsm.ts +392 -366
- package/src/drafts/draft13/session.ts +6 -7
- package/src/drafts/draft13/types.ts +447 -438
- package/src/drafts/draft14/codec.ts +1347 -1043
- package/src/drafts/draft14/data-streams.ts +831 -813
- package/src/drafts/draft14/index.ts +17 -9
- package/src/drafts/draft14/messages.ts +65 -65
- package/src/drafts/draft14/rules.ts +81 -81
- package/src/drafts/draft14/session-fsm.ts +415 -405
- package/src/drafts/draft14/session.ts +6 -7
- package/src/drafts/draft14/types.ts +451 -381
- package/src/drafts/draft15/codec.ts +1138 -978
- package/src/drafts/draft15/data-streams.ts +842 -794
- package/src/drafts/draft15/index.ts +10 -9
- package/src/drafts/draft15/messages.ts +54 -53
- package/src/drafts/draft15/rules.ts +67 -67
- package/src/drafts/draft15/session-fsm.ts +319 -299
- package/src/drafts/draft15/session.ts +6 -7
- package/src/drafts/draft15/types.ts +357 -339
- package/src/drafts/draft16/codec.ts +1242 -966
- package/src/drafts/draft16/data-streams.ts +835 -789
- package/src/drafts/draft16/index.ts +10 -9
- package/src/drafts/draft16/messages.ts +56 -55
- package/src/drafts/draft16/rules.ts +69 -69
- package/src/drafts/draft16/session-fsm.ts +319 -299
- package/src/drafts/draft16/session.ts +6 -7
- package/src/drafts/draft16/types.ts +386 -357
- package/src/drafts/draft17/codec.ts +1209 -971
- package/src/drafts/draft17/data-streams.ts +969 -758
- package/src/drafts/draft17/index.ts +9 -7
- package/src/drafts/draft17/messages.ts +43 -42
- package/src/drafts/draft17/rules.ts +58 -58
- package/src/drafts/draft17/session-fsm.ts +248 -216
- package/src/drafts/draft17/session.ts +5 -5
- package/src/drafts/draft17/types.ts +337 -313
- package/src/index.ts +85 -274
- package/src/session.ts +62 -23
- package/dist/chunk-FZDIEHQL.cjs +0 -1042
- package/dist/chunk-HDWJ2GDE.js +0 -24
- package/dist/chunk-KNDYS3DK.cjs +0 -24
- package/dist/chunk-N2KBF5Q2.js +0 -1042
- package/dist/types-QNXoxC9Y.d.cts +0 -236
- package/dist/types-QNXoxC9Y.d.ts +0 -236
- package/src/drafts/draft07/announce-fsm.ts +0 -2
- package/src/drafts/draft07/parameters.ts +0 -12
- package/src/drafts/draft07/subscription-fsm.ts +0 -3
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { c as Draft } from './types-DuIO7cWK.cjs';
|
|
2
2
|
|
|
3
|
-
type SessionPhase =
|
|
4
|
-
type SubscriptionPhase =
|
|
5
|
-
type AnnouncePhase =
|
|
6
|
-
type PublishPhase =
|
|
7
|
-
type FetchPhase =
|
|
3
|
+
type SessionPhase = 'idle' | 'setup' | 'ready' | 'draining' | 'closed' | 'error';
|
|
4
|
+
type SubscriptionPhase = 'pending' | 'active' | 'error' | 'done';
|
|
5
|
+
type AnnouncePhase = 'pending' | 'active' | 'error';
|
|
6
|
+
type PublishPhase = 'pending' | 'active' | 'error' | 'done';
|
|
7
|
+
type FetchPhase = 'pending' | 'active' | 'error' | 'cancelled';
|
|
8
8
|
interface SubscriptionState {
|
|
9
9
|
readonly subscribeId: bigint;
|
|
10
10
|
readonly phase: SubscriptionPhase;
|
|
@@ -23,15 +23,16 @@ interface FetchState {
|
|
|
23
23
|
readonly requestId: bigint;
|
|
24
24
|
readonly phase: FetchPhase;
|
|
25
25
|
}
|
|
26
|
-
|
|
26
|
+
type SessionStateOptionsRole = 'client' | 'server';
|
|
27
|
+
interface SessionStateOptions<T extends Draft> {
|
|
27
28
|
codec: {
|
|
28
|
-
draft:
|
|
29
|
+
draft: T;
|
|
29
30
|
};
|
|
30
|
-
role:
|
|
31
|
+
role: SessionStateOptionsRole;
|
|
31
32
|
}
|
|
32
|
-
interface SessionState<M
|
|
33
|
+
interface SessionState<M, T extends string> {
|
|
33
34
|
readonly phase: SessionPhase;
|
|
34
|
-
readonly role:
|
|
35
|
+
readonly role: 'client' | 'server';
|
|
35
36
|
receive(message: M): TransitionResult<T>;
|
|
36
37
|
validateOutgoing(message: M): ValidationResult<T>;
|
|
37
38
|
send(message: M): TransitionResult<T>;
|
|
@@ -41,7 +42,7 @@ interface SessionState<M = MoqtMessage, T extends string = MoqtMessageType> {
|
|
|
41
42
|
readonly legalIncoming: ReadonlySet<T>;
|
|
42
43
|
reset(): void;
|
|
43
44
|
}
|
|
44
|
-
type TransitionResult<T extends string
|
|
45
|
+
type TransitionResult<T extends string> = {
|
|
45
46
|
ok: true;
|
|
46
47
|
phase: SessionPhase;
|
|
47
48
|
sideEffects: SideEffect[];
|
|
@@ -49,53 +50,53 @@ type TransitionResult<T extends string = MoqtMessageType> = {
|
|
|
49
50
|
ok: false;
|
|
50
51
|
violation: ProtocolViolation<T>;
|
|
51
52
|
};
|
|
52
|
-
type ValidationResult<T extends string
|
|
53
|
+
type ValidationResult<T extends string> = {
|
|
53
54
|
ok: true;
|
|
54
55
|
} | {
|
|
55
56
|
ok: false;
|
|
56
57
|
violation: ProtocolViolation<T>;
|
|
57
58
|
};
|
|
58
|
-
interface ProtocolViolation<T extends string
|
|
59
|
+
interface ProtocolViolation<T extends string> {
|
|
59
60
|
readonly code: ProtocolViolationCode;
|
|
60
61
|
readonly message: string;
|
|
61
62
|
readonly currentPhase: SessionPhase;
|
|
62
63
|
readonly offendingMessage: T;
|
|
63
64
|
}
|
|
64
|
-
type ProtocolViolationCode =
|
|
65
|
+
type ProtocolViolationCode = 'MESSAGE_BEFORE_SETUP' | 'UNEXPECTED_MESSAGE' | 'DUPLICATE_SUBSCRIBE_ID' | 'UNKNOWN_SUBSCRIBE_ID' | 'DUPLICATE_REQUEST_ID' | 'UNKNOWN_REQUEST_ID' | 'ROLE_VIOLATION' | 'STATE_VIOLATION' | 'SETUP_VIOLATION';
|
|
65
66
|
type SideEffect = {
|
|
66
|
-
type:
|
|
67
|
+
type: 'subscription-activated';
|
|
67
68
|
subscribeId: bigint;
|
|
68
69
|
} | {
|
|
69
|
-
type:
|
|
70
|
+
type: 'subscription-ended';
|
|
70
71
|
subscribeId: bigint;
|
|
71
72
|
reason: string;
|
|
72
73
|
} | {
|
|
73
|
-
type:
|
|
74
|
+
type: 'announce-activated';
|
|
74
75
|
namespace: string[];
|
|
75
76
|
} | {
|
|
76
|
-
type:
|
|
77
|
+
type: 'announce-ended';
|
|
77
78
|
namespace: string[];
|
|
78
79
|
} | {
|
|
79
|
-
type:
|
|
80
|
+
type: 'publish-activated';
|
|
80
81
|
requestId: bigint;
|
|
81
82
|
} | {
|
|
82
|
-
type:
|
|
83
|
+
type: 'publish-ended';
|
|
83
84
|
requestId: bigint;
|
|
84
85
|
reason: string;
|
|
85
86
|
} | {
|
|
86
|
-
type:
|
|
87
|
+
type: 'fetch-activated';
|
|
87
88
|
requestId: bigint;
|
|
88
89
|
} | {
|
|
89
|
-
type:
|
|
90
|
+
type: 'fetch-ended';
|
|
90
91
|
requestId: bigint;
|
|
91
92
|
reason: string;
|
|
92
93
|
} | {
|
|
93
|
-
type:
|
|
94
|
+
type: 'session-ready';
|
|
94
95
|
} | {
|
|
95
|
-
type:
|
|
96
|
+
type: 'session-draining';
|
|
96
97
|
goAwayUri: string;
|
|
97
98
|
} | {
|
|
98
|
-
type:
|
|
99
|
+
type: 'session-closed';
|
|
99
100
|
};
|
|
100
101
|
|
|
101
|
-
export type { AnnouncePhase as A, FetchPhase as F, ProtocolViolation as P, SessionStateOptions as S, TransitionResult as T, ValidationResult as V, SessionState as a, AnnounceState as b, FetchState as c, ProtocolViolationCode as d, PublishPhase as e, PublishState as f, SessionPhase as g, SideEffect as h, SubscriptionPhase as i, SubscriptionState as j };
|
|
102
|
+
export type { AnnouncePhase as A, FetchPhase as F, ProtocolViolation as P, SessionStateOptions as S, TransitionResult as T, ValidationResult as V, SessionState as a, AnnounceState as b, FetchState as c, ProtocolViolationCode as d, PublishPhase as e, PublishState as f, SessionPhase as g, SideEffect as h, SubscriptionPhase as i, SubscriptionState as j, SessionStateOptionsRole as k };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { c as Draft } from './types-DuIO7cWK.js';
|
|
2
2
|
|
|
3
|
-
type SessionPhase =
|
|
4
|
-
type SubscriptionPhase =
|
|
5
|
-
type AnnouncePhase =
|
|
6
|
-
type PublishPhase =
|
|
7
|
-
type FetchPhase =
|
|
3
|
+
type SessionPhase = 'idle' | 'setup' | 'ready' | 'draining' | 'closed' | 'error';
|
|
4
|
+
type SubscriptionPhase = 'pending' | 'active' | 'error' | 'done';
|
|
5
|
+
type AnnouncePhase = 'pending' | 'active' | 'error';
|
|
6
|
+
type PublishPhase = 'pending' | 'active' | 'error' | 'done';
|
|
7
|
+
type FetchPhase = 'pending' | 'active' | 'error' | 'cancelled';
|
|
8
8
|
interface SubscriptionState {
|
|
9
9
|
readonly subscribeId: bigint;
|
|
10
10
|
readonly phase: SubscriptionPhase;
|
|
@@ -23,15 +23,16 @@ interface FetchState {
|
|
|
23
23
|
readonly requestId: bigint;
|
|
24
24
|
readonly phase: FetchPhase;
|
|
25
25
|
}
|
|
26
|
-
|
|
26
|
+
type SessionStateOptionsRole = 'client' | 'server';
|
|
27
|
+
interface SessionStateOptions<T extends Draft> {
|
|
27
28
|
codec: {
|
|
28
|
-
draft:
|
|
29
|
+
draft: T;
|
|
29
30
|
};
|
|
30
|
-
role:
|
|
31
|
+
role: SessionStateOptionsRole;
|
|
31
32
|
}
|
|
32
|
-
interface SessionState<M
|
|
33
|
+
interface SessionState<M, T extends string> {
|
|
33
34
|
readonly phase: SessionPhase;
|
|
34
|
-
readonly role:
|
|
35
|
+
readonly role: 'client' | 'server';
|
|
35
36
|
receive(message: M): TransitionResult<T>;
|
|
36
37
|
validateOutgoing(message: M): ValidationResult<T>;
|
|
37
38
|
send(message: M): TransitionResult<T>;
|
|
@@ -41,7 +42,7 @@ interface SessionState<M = MoqtMessage, T extends string = MoqtMessageType> {
|
|
|
41
42
|
readonly legalIncoming: ReadonlySet<T>;
|
|
42
43
|
reset(): void;
|
|
43
44
|
}
|
|
44
|
-
type TransitionResult<T extends string
|
|
45
|
+
type TransitionResult<T extends string> = {
|
|
45
46
|
ok: true;
|
|
46
47
|
phase: SessionPhase;
|
|
47
48
|
sideEffects: SideEffect[];
|
|
@@ -49,53 +50,53 @@ type TransitionResult<T extends string = MoqtMessageType> = {
|
|
|
49
50
|
ok: false;
|
|
50
51
|
violation: ProtocolViolation<T>;
|
|
51
52
|
};
|
|
52
|
-
type ValidationResult<T extends string
|
|
53
|
+
type ValidationResult<T extends string> = {
|
|
53
54
|
ok: true;
|
|
54
55
|
} | {
|
|
55
56
|
ok: false;
|
|
56
57
|
violation: ProtocolViolation<T>;
|
|
57
58
|
};
|
|
58
|
-
interface ProtocolViolation<T extends string
|
|
59
|
+
interface ProtocolViolation<T extends string> {
|
|
59
60
|
readonly code: ProtocolViolationCode;
|
|
60
61
|
readonly message: string;
|
|
61
62
|
readonly currentPhase: SessionPhase;
|
|
62
63
|
readonly offendingMessage: T;
|
|
63
64
|
}
|
|
64
|
-
type ProtocolViolationCode =
|
|
65
|
+
type ProtocolViolationCode = 'MESSAGE_BEFORE_SETUP' | 'UNEXPECTED_MESSAGE' | 'DUPLICATE_SUBSCRIBE_ID' | 'UNKNOWN_SUBSCRIBE_ID' | 'DUPLICATE_REQUEST_ID' | 'UNKNOWN_REQUEST_ID' | 'ROLE_VIOLATION' | 'STATE_VIOLATION' | 'SETUP_VIOLATION';
|
|
65
66
|
type SideEffect = {
|
|
66
|
-
type:
|
|
67
|
+
type: 'subscription-activated';
|
|
67
68
|
subscribeId: bigint;
|
|
68
69
|
} | {
|
|
69
|
-
type:
|
|
70
|
+
type: 'subscription-ended';
|
|
70
71
|
subscribeId: bigint;
|
|
71
72
|
reason: string;
|
|
72
73
|
} | {
|
|
73
|
-
type:
|
|
74
|
+
type: 'announce-activated';
|
|
74
75
|
namespace: string[];
|
|
75
76
|
} | {
|
|
76
|
-
type:
|
|
77
|
+
type: 'announce-ended';
|
|
77
78
|
namespace: string[];
|
|
78
79
|
} | {
|
|
79
|
-
type:
|
|
80
|
+
type: 'publish-activated';
|
|
80
81
|
requestId: bigint;
|
|
81
82
|
} | {
|
|
82
|
-
type:
|
|
83
|
+
type: 'publish-ended';
|
|
83
84
|
requestId: bigint;
|
|
84
85
|
reason: string;
|
|
85
86
|
} | {
|
|
86
|
-
type:
|
|
87
|
+
type: 'fetch-activated';
|
|
87
88
|
requestId: bigint;
|
|
88
89
|
} | {
|
|
89
|
-
type:
|
|
90
|
+
type: 'fetch-ended';
|
|
90
91
|
requestId: bigint;
|
|
91
92
|
reason: string;
|
|
92
93
|
} | {
|
|
93
|
-
type:
|
|
94
|
+
type: 'session-ready';
|
|
94
95
|
} | {
|
|
95
|
-
type:
|
|
96
|
+
type: 'session-draining';
|
|
96
97
|
goAwayUri: string;
|
|
97
98
|
} | {
|
|
98
|
-
type:
|
|
99
|
+
type: 'session-closed';
|
|
99
100
|
};
|
|
100
101
|
|
|
101
|
-
export type { AnnouncePhase as A, FetchPhase as F, ProtocolViolation as P, SessionStateOptions as S, TransitionResult as T, ValidationResult as V, SessionState as a, AnnounceState as b, FetchState as c, ProtocolViolationCode as d, PublishPhase as e, PublishState as f, SessionPhase as g, SideEffect as h, SubscriptionPhase as i, SubscriptionState as j };
|
|
102
|
+
export type { AnnouncePhase as A, FetchPhase as F, ProtocolViolation as P, SessionStateOptions as S, TransitionResult as T, ValidationResult as V, SessionState as a, AnnounceState as b, FetchState as c, ProtocolViolationCode as d, PublishPhase as e, PublishState as f, SessionPhase as g, SideEffect as h, SubscriptionPhase as i, SubscriptionState as j, SessionStateOptionsRole as k };
|
package/dist/session.cjs
CHANGED
|
@@ -1,26 +1,59 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkE65QKRSNcjs = require('./chunk-E65QKRSN.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkJKOEJZ5Bcjs = require('./chunk-JKOEJZ5B.cjs');
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
var _chunk7RE6KSIYcjs = require('./chunk-7RE6KSIY.cjs');
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
var _chunkYTPZZI2Mcjs = require('./chunk-YTPZZI2M.cjs');
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
var _chunkEAHE3IOGcjs = require('./chunk-EAHE3IOG.cjs');
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
var _chunkJ3XCPBW3cjs = require('./chunk-J3XCPBW3.cjs');
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
var _chunkH5NSL4MOcjs = require('./chunk-H5NSL4MO.cjs');
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
var _chunkLV5C6MECcjs = require('./chunk-LV5C6MEC.cjs');
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
var _chunkIILNSDEQcjs = require('./chunk-IILNSDEQ.cjs');
|
|
7
28
|
require('./chunk-MZ7VU52O.cjs');
|
|
8
29
|
|
|
30
|
+
|
|
31
|
+
var _chunkMYXAD5JCcjs = require('./chunk-MYXAD5JC.cjs');
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
var _chunkS6IPIN66cjs = require('./chunk-S6IPIN66.cjs');
|
|
35
|
+
|
|
9
36
|
// src/session.ts
|
|
10
37
|
function createSessionState(options) {
|
|
11
38
|
const draft = options.codec.draft;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
39
|
+
const factories = {
|
|
40
|
+
"07": _chunkIILNSDEQcjs.createDraft07SessionState,
|
|
41
|
+
"08": _chunkMYXAD5JCcjs.createDraft08SessionState,
|
|
42
|
+
"09": _chunkS6IPIN66cjs.createDraft09SessionState,
|
|
43
|
+
"10": _chunkEAHE3IOGcjs.createDraft10SessionState,
|
|
44
|
+
"11": _chunkJ3XCPBW3cjs.createDraft11SessionState,
|
|
45
|
+
"12": _chunkH5NSL4MOcjs.createDraft12SessionState,
|
|
46
|
+
"13": _chunkLV5C6MECcjs.createDraft13SessionState,
|
|
47
|
+
"14": _chunkE65QKRSNcjs.createDraft14SessionState,
|
|
48
|
+
"15": _chunkJKOEJZ5Bcjs.createDraft15SessionState,
|
|
49
|
+
"16": _chunk7RE6KSIYcjs.createDraft16SessionState,
|
|
50
|
+
"17": _chunkYTPZZI2Mcjs.createDraft17SessionState
|
|
51
|
+
};
|
|
52
|
+
const factory = factories[draft];
|
|
53
|
+
if (!factory) {
|
|
54
|
+
throw new Error(`Unsupported draft for session: "${draft}". Use a draft-scoped import instead.`);
|
|
23
55
|
}
|
|
56
|
+
return factory(options.role);
|
|
24
57
|
}
|
|
25
58
|
|
|
26
59
|
|
package/dist/session.d.cts
CHANGED
|
@@ -1,6 +1,17 @@
|
|
|
1
|
-
import { S as SessionStateOptions, a as SessionState } from './session-types-
|
|
2
|
-
export { A as AnnouncePhase, b as AnnounceState, F as FetchPhase, c as FetchState, P as ProtocolViolation, d as ProtocolViolationCode, e as PublishPhase, f as PublishState, g as SessionPhase, h as SideEffect, i as SubscriptionPhase, j as SubscriptionState, T as TransitionResult, V as ValidationResult } from './session-types-
|
|
3
|
-
import './types-
|
|
1
|
+
import { S as SessionStateOptions, a as SessionState } from './session-types-C7UONex5.cjs';
|
|
2
|
+
export { A as AnnouncePhase, b as AnnounceState, F as FetchPhase, c as FetchState, P as ProtocolViolation, d as ProtocolViolationCode, e as PublishPhase, f as PublishState, g as SessionPhase, h as SideEffect, i as SubscriptionPhase, j as SubscriptionState, T as TransitionResult, V as ValidationResult } from './session-types-C7UONex5.cjs';
|
|
3
|
+
import { c as Draft } from './types-DuIO7cWK.cjs';
|
|
4
|
+
import { D as Draft07Message, a as Draft07MessageType } from './types-Dl4IaAHR.cjs';
|
|
5
|
+
import { D as Draft08Message, a as Draft08MessageType } from './types-jV1yDDBA.cjs';
|
|
6
|
+
import { D as Draft09Message, a as Draft09MessageType } from './types-B3g5G9KP.cjs';
|
|
7
|
+
import { D as Draft10Message, a as Draft10MessageType } from './types-0IWbU9Z_.cjs';
|
|
8
|
+
import { D as Draft11Message, a as Draft11MessageType } from './types--Q7_DcvP.cjs';
|
|
9
|
+
import { D as Draft12Message, a as Draft12MessageType } from './types-C2qKTRR_.cjs';
|
|
10
|
+
import { D as Draft13Message, a as Draft13MessageType } from './types-DrQpTW1G.cjs';
|
|
11
|
+
import { D as Draft14Message, a as Draft14MessageType } from './types-DEaypVsD.cjs';
|
|
12
|
+
import { D as Draft15Message, a as Draft15MessageType } from './types-DuxfOYiO.cjs';
|
|
13
|
+
import { D as Draft16Message, a as Draft16MessageType } from './types-BFpFNM_m.cjs';
|
|
14
|
+
import { D as Draft17Message, a as Draft17MessageType } from './types-Br7fm2mf.cjs';
|
|
4
15
|
|
|
5
16
|
/**
|
|
6
17
|
* @moqtap/codec/session — MoQT session state machine
|
|
@@ -11,14 +22,22 @@ import './types-QNXoxC9Y.cjs';
|
|
|
11
22
|
* import { createDraft14SessionState } from '@moqtap/codec/draft14/session';
|
|
12
23
|
*/
|
|
13
24
|
|
|
25
|
+
type DraftSessionStateMap = {
|
|
26
|
+
'07': SessionState<Draft07Message, Draft07MessageType>;
|
|
27
|
+
'08': SessionState<Draft08Message, Draft08MessageType>;
|
|
28
|
+
'09': SessionState<Draft09Message, Draft09MessageType>;
|
|
29
|
+
'10': SessionState<Draft10Message, Draft10MessageType>;
|
|
30
|
+
'11': SessionState<Draft11Message, Draft11MessageType>;
|
|
31
|
+
'12': SessionState<Draft12Message, Draft12MessageType>;
|
|
32
|
+
'13': SessionState<Draft13Message, Draft13MessageType>;
|
|
33
|
+
'14': SessionState<Draft14Message, Draft14MessageType>;
|
|
34
|
+
'15': SessionState<Draft15Message, Draft15MessageType>;
|
|
35
|
+
'16': SessionState<Draft16Message, Draft16MessageType>;
|
|
36
|
+
'17': SessionState<Draft17Message, Draft17MessageType>;
|
|
37
|
+
};
|
|
14
38
|
/**
|
|
15
39
|
* Create a session state machine for the given draft version.
|
|
16
|
-
*
|
|
17
|
-
* For type-safe access with draft-specific message types, use the
|
|
18
|
-
* draft-scoped factory functions directly:
|
|
19
|
-
* import { createDraft07SessionState } from '@moqtap/codec/draft7/session';
|
|
20
|
-
* import { createDraft14SessionState } from '@moqtap/codec/draft14/session';
|
|
21
40
|
*/
|
|
22
|
-
declare function createSessionState(options: SessionStateOptions):
|
|
41
|
+
declare function createSessionState<T extends Draft>(options: SessionStateOptions<T>): DraftSessionStateMap[T];
|
|
23
42
|
|
|
24
43
|
export { SessionState, SessionStateOptions, createSessionState };
|
package/dist/session.d.ts
CHANGED
|
@@ -1,6 +1,17 @@
|
|
|
1
|
-
import { S as SessionStateOptions, a as SessionState } from './session-types-
|
|
2
|
-
export { A as AnnouncePhase, b as AnnounceState, F as FetchPhase, c as FetchState, P as ProtocolViolation, d as ProtocolViolationCode, e as PublishPhase, f as PublishState, g as SessionPhase, h as SideEffect, i as SubscriptionPhase, j as SubscriptionState, T as TransitionResult, V as ValidationResult } from './session-types-
|
|
3
|
-
import './types-
|
|
1
|
+
import { S as SessionStateOptions, a as SessionState } from './session-types-X-IYEGoG.js';
|
|
2
|
+
export { A as AnnouncePhase, b as AnnounceState, F as FetchPhase, c as FetchState, P as ProtocolViolation, d as ProtocolViolationCode, e as PublishPhase, f as PublishState, g as SessionPhase, h as SideEffect, i as SubscriptionPhase, j as SubscriptionState, T as TransitionResult, V as ValidationResult } from './session-types-X-IYEGoG.js';
|
|
3
|
+
import { c as Draft } from './types-DuIO7cWK.js';
|
|
4
|
+
import { D as Draft07Message, a as Draft07MessageType } from './types-Dl4IaAHR.js';
|
|
5
|
+
import { D as Draft08Message, a as Draft08MessageType } from './types-jV1yDDBA.js';
|
|
6
|
+
import { D as Draft09Message, a as Draft09MessageType } from './types-B3g5G9KP.js';
|
|
7
|
+
import { D as Draft10Message, a as Draft10MessageType } from './types-0IWbU9Z_.js';
|
|
8
|
+
import { D as Draft11Message, a as Draft11MessageType } from './types--Q7_DcvP.js';
|
|
9
|
+
import { D as Draft12Message, a as Draft12MessageType } from './types-C2qKTRR_.js';
|
|
10
|
+
import { D as Draft13Message, a as Draft13MessageType } from './types-DrQpTW1G.js';
|
|
11
|
+
import { D as Draft14Message, a as Draft14MessageType } from './types-DEaypVsD.js';
|
|
12
|
+
import { D as Draft15Message, a as Draft15MessageType } from './types-DuxfOYiO.js';
|
|
13
|
+
import { D as Draft16Message, a as Draft16MessageType } from './types-BFpFNM_m.js';
|
|
14
|
+
import { D as Draft17Message, a as Draft17MessageType } from './types-Br7fm2mf.js';
|
|
4
15
|
|
|
5
16
|
/**
|
|
6
17
|
* @moqtap/codec/session — MoQT session state machine
|
|
@@ -11,14 +22,22 @@ import './types-QNXoxC9Y.js';
|
|
|
11
22
|
* import { createDraft14SessionState } from '@moqtap/codec/draft14/session';
|
|
12
23
|
*/
|
|
13
24
|
|
|
25
|
+
type DraftSessionStateMap = {
|
|
26
|
+
'07': SessionState<Draft07Message, Draft07MessageType>;
|
|
27
|
+
'08': SessionState<Draft08Message, Draft08MessageType>;
|
|
28
|
+
'09': SessionState<Draft09Message, Draft09MessageType>;
|
|
29
|
+
'10': SessionState<Draft10Message, Draft10MessageType>;
|
|
30
|
+
'11': SessionState<Draft11Message, Draft11MessageType>;
|
|
31
|
+
'12': SessionState<Draft12Message, Draft12MessageType>;
|
|
32
|
+
'13': SessionState<Draft13Message, Draft13MessageType>;
|
|
33
|
+
'14': SessionState<Draft14Message, Draft14MessageType>;
|
|
34
|
+
'15': SessionState<Draft15Message, Draft15MessageType>;
|
|
35
|
+
'16': SessionState<Draft16Message, Draft16MessageType>;
|
|
36
|
+
'17': SessionState<Draft17Message, Draft17MessageType>;
|
|
37
|
+
};
|
|
14
38
|
/**
|
|
15
39
|
* Create a session state machine for the given draft version.
|
|
16
|
-
*
|
|
17
|
-
* For type-safe access with draft-specific message types, use the
|
|
18
|
-
* draft-scoped factory functions directly:
|
|
19
|
-
* import { createDraft07SessionState } from '@moqtap/codec/draft7/session';
|
|
20
|
-
* import { createDraft14SessionState } from '@moqtap/codec/draft14/session';
|
|
21
40
|
*/
|
|
22
|
-
declare function createSessionState(options: SessionStateOptions):
|
|
41
|
+
declare function createSessionState<T extends Draft>(options: SessionStateOptions<T>): DraftSessionStateMap[T];
|
|
23
42
|
|
|
24
43
|
export { SessionState, SessionStateOptions, createSessionState };
|
package/dist/session.js
CHANGED
|
@@ -1,26 +1,59 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createDraft14SessionState
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-MZ7HUCGJ.js";
|
|
4
|
+
import {
|
|
5
|
+
createDraft15SessionState
|
|
6
|
+
} from "./chunk-AY6IAHUM.js";
|
|
7
|
+
import {
|
|
8
|
+
createDraft16SessionState
|
|
9
|
+
} from "./chunk-RZTLQAKF.js";
|
|
10
|
+
import {
|
|
11
|
+
createDraft17SessionState
|
|
12
|
+
} from "./chunk-Q7IGWV3P.js";
|
|
13
|
+
import {
|
|
14
|
+
createDraft10SessionState
|
|
15
|
+
} from "./chunk-WRHGCVYN.js";
|
|
16
|
+
import {
|
|
17
|
+
createDraft11SessionState
|
|
18
|
+
} from "./chunk-BLQDWOSG.js";
|
|
19
|
+
import {
|
|
20
|
+
createDraft12SessionState
|
|
21
|
+
} from "./chunk-LORZMJJB.js";
|
|
22
|
+
import {
|
|
23
|
+
createDraft13SessionState
|
|
24
|
+
} from "./chunk-2A57DRXV.js";
|
|
4
25
|
import {
|
|
5
26
|
createDraft07SessionState
|
|
6
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-Z3VKP3PJ.js";
|
|
7
28
|
import "./chunk-C6KUWLQC.js";
|
|
29
|
+
import {
|
|
30
|
+
createDraft08SessionState
|
|
31
|
+
} from "./chunk-7QOPNSDF.js";
|
|
32
|
+
import {
|
|
33
|
+
createDraft09SessionState
|
|
34
|
+
} from "./chunk-YWRCSQBA.js";
|
|
8
35
|
|
|
9
36
|
// src/session.ts
|
|
10
37
|
function createSessionState(options) {
|
|
11
38
|
const draft = options.codec.draft;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
39
|
+
const factories = {
|
|
40
|
+
"07": createDraft07SessionState,
|
|
41
|
+
"08": createDraft08SessionState,
|
|
42
|
+
"09": createDraft09SessionState,
|
|
43
|
+
"10": createDraft10SessionState,
|
|
44
|
+
"11": createDraft11SessionState,
|
|
45
|
+
"12": createDraft12SessionState,
|
|
46
|
+
"13": createDraft13SessionState,
|
|
47
|
+
"14": createDraft14SessionState,
|
|
48
|
+
"15": createDraft15SessionState,
|
|
49
|
+
"16": createDraft16SessionState,
|
|
50
|
+
"17": createDraft17SessionState
|
|
51
|
+
};
|
|
52
|
+
const factory = factories[draft];
|
|
53
|
+
if (!factory) {
|
|
54
|
+
throw new Error(`Unsupported draft for session: "${draft}". Use a draft-scoped import instead.`);
|
|
23
55
|
}
|
|
56
|
+
return factory(options.role);
|
|
24
57
|
}
|
|
25
58
|
export {
|
|
26
59
|
createSessionState
|