@q9labsai/chalk-client 5.2.6 → 5.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/README.md +1 -1
- package/dist/{chunk-YIDKETOX.js → chunk-3TGVTP6Z.js} +249 -31
- package/dist/{chunk-I7Y4HR2P.js → chunk-DHUHTIU7.js} +149 -28
- package/dist/{chunk-CJVLTSIO.js → chunk-GOSWSXTH.js} +3 -1
- package/dist/{chunk-WFRTUBN6.js → chunk-O26BHHMI.js} +1 -1
- package/dist/{chunk-5YPQNMJE.js → chunk-XSB2GDRW.js} +32 -8
- package/dist/client.d.ts +2 -1
- package/dist/connection/dependencies.d.ts +2 -1
- package/dist/effect.js +4 -4
- package/dist/generated/http-api.d.ts +2 -1
- package/dist/generated/schemas.d.ts +3 -1
- package/dist/generated/sync.d.ts +45 -0
- package/dist/index.js +5 -5
- package/dist/media/client.d.ts +2 -2
- package/dist/media/index.js +1 -1
- package/dist/media/plane.d.ts +4 -2
- package/dist/media/receive-stall.d.ts +43 -0
- package/dist/media/types.d.ts +2 -0
- package/dist/public-invites/index.js +2 -2
- package/dist/server/index.cjs +1 -0
- package/dist/server/index.js +1 -0
- package/dist/server/types.d.cts +2 -0
- package/dist/server/types.d.ts +2 -0
- package/dist/space-client/same-identity.d.ts +6 -0
- package/dist/space-client/types.d.ts +6 -0
- package/dist/sync/index.js +1 -1
- package/dist/sync/v1-types.d.ts +6 -0
- package/package.json +2 -1
package/dist/generated/sync.d.ts
CHANGED
|
@@ -1313,6 +1313,7 @@ export declare const WelcomeSnapshotFrameSchema: Schema.Struct<{
|
|
|
1313
1313
|
readonly protocol: Schema.Literal<1>;
|
|
1314
1314
|
readonly participant_id: Schema.String;
|
|
1315
1315
|
readonly participant_generation: Schema.Number;
|
|
1316
|
+
readonly participant_identity_id: Schema.optionalKey<Schema.String>;
|
|
1316
1317
|
readonly recovery_id: Schema.String;
|
|
1317
1318
|
readonly head: Schema.Struct<{
|
|
1318
1319
|
readonly revision: Schema.Number;
|
|
@@ -1361,6 +1362,7 @@ export declare const WelcomeReplayFrameSchema: Schema.Struct<{
|
|
|
1361
1362
|
readonly protocol: Schema.Literal<1>;
|
|
1362
1363
|
readonly participant_id: Schema.String;
|
|
1363
1364
|
readonly participant_generation: Schema.Number;
|
|
1365
|
+
readonly participant_identity_id: Schema.optionalKey<Schema.String>;
|
|
1364
1366
|
readonly recovery_id: Schema.String;
|
|
1365
1367
|
readonly head: Schema.Struct<{
|
|
1366
1368
|
readonly revision: Schema.Number;
|
|
@@ -1379,6 +1381,7 @@ export declare const WelcomeUpToDateFrameSchema: Schema.Struct<{
|
|
|
1379
1381
|
readonly protocol: Schema.Literal<1>;
|
|
1380
1382
|
readonly participant_id: Schema.String;
|
|
1381
1383
|
readonly participant_generation: Schema.Number;
|
|
1384
|
+
readonly participant_identity_id: Schema.optionalKey<Schema.String>;
|
|
1382
1385
|
readonly recovery_id: Schema.String;
|
|
1383
1386
|
readonly head: Schema.Struct<{
|
|
1384
1387
|
readonly revision: Schema.Number;
|
|
@@ -1397,6 +1400,7 @@ export declare const WelcomeTerminalFrameSchema: Schema.Struct<{
|
|
|
1397
1400
|
readonly protocol: Schema.Literal<1>;
|
|
1398
1401
|
readonly participant_id: Schema.String;
|
|
1399
1402
|
readonly participant_generation: Schema.Number;
|
|
1403
|
+
readonly participant_identity_id: Schema.optionalKey<Schema.String>;
|
|
1400
1404
|
readonly recovery_id: Schema.String;
|
|
1401
1405
|
readonly head: Schema.Struct<{
|
|
1402
1406
|
readonly revision: Schema.Number;
|
|
@@ -1416,6 +1420,7 @@ export declare const ExtendedWelcomeSnapshotFrameSchema: Schema.Struct<{
|
|
|
1416
1420
|
readonly protocol: Schema.Literal<1>;
|
|
1417
1421
|
readonly participant_id: Schema.String;
|
|
1418
1422
|
readonly participant_generation: Schema.Number;
|
|
1423
|
+
readonly participant_identity_id: Schema.optionalKey<Schema.String>;
|
|
1419
1424
|
readonly recovery_id: Schema.String;
|
|
1420
1425
|
readonly head: Schema.Struct<{
|
|
1421
1426
|
readonly revision: Schema.Number;
|
|
@@ -1477,6 +1482,7 @@ export declare const ExtendedWelcomeReplayFrameSchema: Schema.Struct<{
|
|
|
1477
1482
|
readonly protocol: Schema.Literal<1>;
|
|
1478
1483
|
readonly participant_id: Schema.String;
|
|
1479
1484
|
readonly participant_generation: Schema.Number;
|
|
1485
|
+
readonly participant_identity_id: Schema.optionalKey<Schema.String>;
|
|
1480
1486
|
readonly recovery_id: Schema.String;
|
|
1481
1487
|
readonly head: Schema.Struct<{
|
|
1482
1488
|
readonly revision: Schema.Number;
|
|
@@ -1508,6 +1514,7 @@ export declare const ExtendedWelcomeUpToDateFrameSchema: Schema.Struct<{
|
|
|
1508
1514
|
readonly protocol: Schema.Literal<1>;
|
|
1509
1515
|
readonly participant_id: Schema.String;
|
|
1510
1516
|
readonly participant_generation: Schema.Number;
|
|
1517
|
+
readonly participant_identity_id: Schema.optionalKey<Schema.String>;
|
|
1511
1518
|
readonly recovery_id: Schema.String;
|
|
1512
1519
|
readonly head: Schema.Struct<{
|
|
1513
1520
|
readonly revision: Schema.Number;
|
|
@@ -1539,6 +1546,7 @@ export declare const ExtendedWelcomeTerminalFrameSchema: Schema.Struct<{
|
|
|
1539
1546
|
readonly protocol: Schema.Literal<1>;
|
|
1540
1547
|
readonly participant_id: Schema.String;
|
|
1541
1548
|
readonly participant_generation: Schema.Number;
|
|
1549
|
+
readonly participant_identity_id: Schema.optionalKey<Schema.String>;
|
|
1542
1550
|
readonly recovery_id: Schema.String;
|
|
1543
1551
|
readonly head: Schema.Struct<{
|
|
1544
1552
|
readonly revision: Schema.Number;
|
|
@@ -1571,6 +1579,7 @@ export declare const WelcomeFrameSchema: Schema.Union<readonly [Schema.Struct<{
|
|
|
1571
1579
|
readonly protocol: Schema.Literal<1>;
|
|
1572
1580
|
readonly participant_id: Schema.String;
|
|
1573
1581
|
readonly participant_generation: Schema.Number;
|
|
1582
|
+
readonly participant_identity_id: Schema.optionalKey<Schema.String>;
|
|
1574
1583
|
readonly recovery_id: Schema.String;
|
|
1575
1584
|
readonly head: Schema.Struct<{
|
|
1576
1585
|
readonly revision: Schema.Number;
|
|
@@ -1631,6 +1640,7 @@ export declare const WelcomeFrameSchema: Schema.Union<readonly [Schema.Struct<{
|
|
|
1631
1640
|
readonly protocol: Schema.Literal<1>;
|
|
1632
1641
|
readonly participant_id: Schema.String;
|
|
1633
1642
|
readonly participant_generation: Schema.Number;
|
|
1643
|
+
readonly participant_identity_id: Schema.optionalKey<Schema.String>;
|
|
1634
1644
|
readonly recovery_id: Schema.String;
|
|
1635
1645
|
readonly head: Schema.Struct<{
|
|
1636
1646
|
readonly revision: Schema.Number;
|
|
@@ -1661,6 +1671,7 @@ export declare const WelcomeFrameSchema: Schema.Union<readonly [Schema.Struct<{
|
|
|
1661
1671
|
readonly protocol: Schema.Literal<1>;
|
|
1662
1672
|
readonly participant_id: Schema.String;
|
|
1663
1673
|
readonly participant_generation: Schema.Number;
|
|
1674
|
+
readonly participant_identity_id: Schema.optionalKey<Schema.String>;
|
|
1664
1675
|
readonly recovery_id: Schema.String;
|
|
1665
1676
|
readonly head: Schema.Struct<{
|
|
1666
1677
|
readonly revision: Schema.Number;
|
|
@@ -1691,6 +1702,7 @@ export declare const WelcomeFrameSchema: Schema.Union<readonly [Schema.Struct<{
|
|
|
1691
1702
|
readonly protocol: Schema.Literal<1>;
|
|
1692
1703
|
readonly participant_id: Schema.String;
|
|
1693
1704
|
readonly participant_generation: Schema.Number;
|
|
1705
|
+
readonly participant_identity_id: Schema.optionalKey<Schema.String>;
|
|
1694
1706
|
readonly recovery_id: Schema.String;
|
|
1695
1707
|
readonly head: Schema.Struct<{
|
|
1696
1708
|
readonly revision: Schema.Number;
|
|
@@ -1722,6 +1734,7 @@ export declare const WelcomeFrameSchema: Schema.Union<readonly [Schema.Struct<{
|
|
|
1722
1734
|
readonly protocol: Schema.Literal<1>;
|
|
1723
1735
|
readonly participant_id: Schema.String;
|
|
1724
1736
|
readonly participant_generation: Schema.Number;
|
|
1737
|
+
readonly participant_identity_id: Schema.optionalKey<Schema.String>;
|
|
1725
1738
|
readonly recovery_id: Schema.String;
|
|
1726
1739
|
readonly head: Schema.Struct<{
|
|
1727
1740
|
readonly revision: Schema.Number;
|
|
@@ -1769,6 +1782,7 @@ export declare const WelcomeFrameSchema: Schema.Union<readonly [Schema.Struct<{
|
|
|
1769
1782
|
readonly protocol: Schema.Literal<1>;
|
|
1770
1783
|
readonly participant_id: Schema.String;
|
|
1771
1784
|
readonly participant_generation: Schema.Number;
|
|
1785
|
+
readonly participant_identity_id: Schema.optionalKey<Schema.String>;
|
|
1772
1786
|
readonly recovery_id: Schema.String;
|
|
1773
1787
|
readonly head: Schema.Struct<{
|
|
1774
1788
|
readonly revision: Schema.Number;
|
|
@@ -1786,6 +1800,7 @@ export declare const WelcomeFrameSchema: Schema.Union<readonly [Schema.Struct<{
|
|
|
1786
1800
|
readonly protocol: Schema.Literal<1>;
|
|
1787
1801
|
readonly participant_id: Schema.String;
|
|
1788
1802
|
readonly participant_generation: Schema.Number;
|
|
1803
|
+
readonly participant_identity_id: Schema.optionalKey<Schema.String>;
|
|
1789
1804
|
readonly recovery_id: Schema.String;
|
|
1790
1805
|
readonly head: Schema.Struct<{
|
|
1791
1806
|
readonly revision: Schema.Number;
|
|
@@ -1803,6 +1818,7 @@ export declare const WelcomeFrameSchema: Schema.Union<readonly [Schema.Struct<{
|
|
|
1803
1818
|
readonly protocol: Schema.Literal<1>;
|
|
1804
1819
|
readonly participant_id: Schema.String;
|
|
1805
1820
|
readonly participant_generation: Schema.Number;
|
|
1821
|
+
readonly participant_identity_id: Schema.optionalKey<Schema.String>;
|
|
1806
1822
|
readonly recovery_id: Schema.String;
|
|
1807
1823
|
readonly head: Schema.Struct<{
|
|
1808
1824
|
readonly revision: Schema.Number;
|
|
@@ -2176,6 +2192,9 @@ export declare const PresenceProjectionItemSchema: Schema.Struct<{
|
|
|
2176
2192
|
readonly state: Schema.Union<readonly [Schema.Literal<"connected">, Schema.Literal<"disconnected">]>;
|
|
2177
2193
|
readonly speaking: Schema.Boolean;
|
|
2178
2194
|
readonly active_speaker: Schema.Boolean;
|
|
2195
|
+
readonly identity_id: Schema.optional<Schema.String>;
|
|
2196
|
+
readonly device_type: Schema.optional<Schema.Literals<readonly ["phone", "tablet", "computer"]>>;
|
|
2197
|
+
readonly admission_revision: Schema.optional<Schema.Number>;
|
|
2179
2198
|
}>;
|
|
2180
2199
|
export declare const MediaProjectionSnapshotFrameSchema: Schema.Struct<{
|
|
2181
2200
|
readonly journey_id: Schema.optional<Schema.String>;
|
|
@@ -2205,6 +2224,9 @@ export declare const PresenceProjectionSnapshotFrameSchema: Schema.Struct<{
|
|
|
2205
2224
|
readonly state: Schema.Union<readonly [Schema.Literal<"connected">, Schema.Literal<"disconnected">]>;
|
|
2206
2225
|
readonly speaking: Schema.Boolean;
|
|
2207
2226
|
readonly active_speaker: Schema.Boolean;
|
|
2227
|
+
readonly identity_id: Schema.optional<Schema.String>;
|
|
2228
|
+
readonly device_type: Schema.optional<Schema.Literals<readonly ["phone", "tablet", "computer"]>>;
|
|
2229
|
+
readonly admission_revision: Schema.optional<Schema.Number>;
|
|
2208
2230
|
}>>;
|
|
2209
2231
|
}>;
|
|
2210
2232
|
export declare const MediaProjectionEventFrameSchema: Schema.Struct<{
|
|
@@ -2235,6 +2257,9 @@ export declare const PresenceProjectionEventFrameSchema: Schema.Struct<{
|
|
|
2235
2257
|
readonly state: Schema.Union<readonly [Schema.Literal<"connected">, Schema.Literal<"disconnected">]>;
|
|
2236
2258
|
readonly speaking: Schema.Boolean;
|
|
2237
2259
|
readonly active_speaker: Schema.Boolean;
|
|
2260
|
+
readonly identity_id: Schema.optional<Schema.String>;
|
|
2261
|
+
readonly device_type: Schema.optional<Schema.Literals<readonly ["phone", "tablet", "computer"]>>;
|
|
2262
|
+
readonly admission_revision: Schema.optional<Schema.Number>;
|
|
2238
2263
|
}>;
|
|
2239
2264
|
}>;
|
|
2240
2265
|
export declare const ProjectionFrameSchema: Schema.Union<readonly [Schema.Struct<{
|
|
@@ -2264,6 +2289,9 @@ export declare const ProjectionFrameSchema: Schema.Union<readonly [Schema.Struct
|
|
|
2264
2289
|
readonly state: Schema.Union<readonly [Schema.Literal<"connected">, Schema.Literal<"disconnected">]>;
|
|
2265
2290
|
readonly speaking: Schema.Boolean;
|
|
2266
2291
|
readonly active_speaker: Schema.Boolean;
|
|
2292
|
+
readonly identity_id: Schema.optional<Schema.String>;
|
|
2293
|
+
readonly device_type: Schema.optional<Schema.Literals<readonly ["phone", "tablet", "computer"]>>;
|
|
2294
|
+
readonly admission_revision: Schema.optional<Schema.Number>;
|
|
2267
2295
|
}>>;
|
|
2268
2296
|
}>, Schema.Struct<{
|
|
2269
2297
|
readonly journey_id: Schema.optional<Schema.String>;
|
|
@@ -2292,6 +2320,9 @@ export declare const ProjectionFrameSchema: Schema.Union<readonly [Schema.Struct
|
|
|
2292
2320
|
readonly state: Schema.Union<readonly [Schema.Literal<"connected">, Schema.Literal<"disconnected">]>;
|
|
2293
2321
|
readonly speaking: Schema.Boolean;
|
|
2294
2322
|
readonly active_speaker: Schema.Boolean;
|
|
2323
|
+
readonly identity_id: Schema.optional<Schema.String>;
|
|
2324
|
+
readonly device_type: Schema.optional<Schema.Literals<readonly ["phone", "tablet", "computer"]>>;
|
|
2325
|
+
readonly admission_revision: Schema.optional<Schema.Number>;
|
|
2295
2326
|
}>;
|
|
2296
2327
|
}>]>;
|
|
2297
2328
|
export declare const LiveTargetOutcomeSchema: Schema.Union<readonly [Schema.Literal<"confirmed">, Schema.Literal<"satisfied">, Schema.Literal<"retryable_failure">, Schema.Literal<"terminal_failure">, Schema.Literal<"ambiguous">]>;
|
|
@@ -2984,6 +3015,7 @@ export declare const SyncV1ServerFrameSchema: Schema.decodeTo<Schema.Union<reado
|
|
|
2984
3015
|
readonly protocol: Schema.Literal<1>;
|
|
2985
3016
|
readonly participant_id: Schema.String;
|
|
2986
3017
|
readonly participant_generation: Schema.Number;
|
|
3018
|
+
readonly participant_identity_id: Schema.optionalKey<Schema.String>;
|
|
2987
3019
|
readonly recovery_id: Schema.String;
|
|
2988
3020
|
readonly head: Schema.Struct<{
|
|
2989
3021
|
readonly revision: Schema.Number;
|
|
@@ -3044,6 +3076,7 @@ export declare const SyncV1ServerFrameSchema: Schema.decodeTo<Schema.Union<reado
|
|
|
3044
3076
|
readonly protocol: Schema.Literal<1>;
|
|
3045
3077
|
readonly participant_id: Schema.String;
|
|
3046
3078
|
readonly participant_generation: Schema.Number;
|
|
3079
|
+
readonly participant_identity_id: Schema.optionalKey<Schema.String>;
|
|
3047
3080
|
readonly recovery_id: Schema.String;
|
|
3048
3081
|
readonly head: Schema.Struct<{
|
|
3049
3082
|
readonly revision: Schema.Number;
|
|
@@ -3074,6 +3107,7 @@ export declare const SyncV1ServerFrameSchema: Schema.decodeTo<Schema.Union<reado
|
|
|
3074
3107
|
readonly protocol: Schema.Literal<1>;
|
|
3075
3108
|
readonly participant_id: Schema.String;
|
|
3076
3109
|
readonly participant_generation: Schema.Number;
|
|
3110
|
+
readonly participant_identity_id: Schema.optionalKey<Schema.String>;
|
|
3077
3111
|
readonly recovery_id: Schema.String;
|
|
3078
3112
|
readonly head: Schema.Struct<{
|
|
3079
3113
|
readonly revision: Schema.Number;
|
|
@@ -3104,6 +3138,7 @@ export declare const SyncV1ServerFrameSchema: Schema.decodeTo<Schema.Union<reado
|
|
|
3104
3138
|
readonly protocol: Schema.Literal<1>;
|
|
3105
3139
|
readonly participant_id: Schema.String;
|
|
3106
3140
|
readonly participant_generation: Schema.Number;
|
|
3141
|
+
readonly participant_identity_id: Schema.optionalKey<Schema.String>;
|
|
3107
3142
|
readonly recovery_id: Schema.String;
|
|
3108
3143
|
readonly head: Schema.Struct<{
|
|
3109
3144
|
readonly revision: Schema.Number;
|
|
@@ -3135,6 +3170,7 @@ export declare const SyncV1ServerFrameSchema: Schema.decodeTo<Schema.Union<reado
|
|
|
3135
3170
|
readonly protocol: Schema.Literal<1>;
|
|
3136
3171
|
readonly participant_id: Schema.String;
|
|
3137
3172
|
readonly participant_generation: Schema.Number;
|
|
3173
|
+
readonly participant_identity_id: Schema.optionalKey<Schema.String>;
|
|
3138
3174
|
readonly recovery_id: Schema.String;
|
|
3139
3175
|
readonly head: Schema.Struct<{
|
|
3140
3176
|
readonly revision: Schema.Number;
|
|
@@ -3182,6 +3218,7 @@ export declare const SyncV1ServerFrameSchema: Schema.decodeTo<Schema.Union<reado
|
|
|
3182
3218
|
readonly protocol: Schema.Literal<1>;
|
|
3183
3219
|
readonly participant_id: Schema.String;
|
|
3184
3220
|
readonly participant_generation: Schema.Number;
|
|
3221
|
+
readonly participant_identity_id: Schema.optionalKey<Schema.String>;
|
|
3185
3222
|
readonly recovery_id: Schema.String;
|
|
3186
3223
|
readonly head: Schema.Struct<{
|
|
3187
3224
|
readonly revision: Schema.Number;
|
|
@@ -3199,6 +3236,7 @@ export declare const SyncV1ServerFrameSchema: Schema.decodeTo<Schema.Union<reado
|
|
|
3199
3236
|
readonly protocol: Schema.Literal<1>;
|
|
3200
3237
|
readonly participant_id: Schema.String;
|
|
3201
3238
|
readonly participant_generation: Schema.Number;
|
|
3239
|
+
readonly participant_identity_id: Schema.optionalKey<Schema.String>;
|
|
3202
3240
|
readonly recovery_id: Schema.String;
|
|
3203
3241
|
readonly head: Schema.Struct<{
|
|
3204
3242
|
readonly revision: Schema.Number;
|
|
@@ -3216,6 +3254,7 @@ export declare const SyncV1ServerFrameSchema: Schema.decodeTo<Schema.Union<reado
|
|
|
3216
3254
|
readonly protocol: Schema.Literal<1>;
|
|
3217
3255
|
readonly participant_id: Schema.String;
|
|
3218
3256
|
readonly participant_generation: Schema.Number;
|
|
3257
|
+
readonly participant_identity_id: Schema.optionalKey<Schema.String>;
|
|
3219
3258
|
readonly recovery_id: Schema.String;
|
|
3220
3259
|
readonly head: Schema.Struct<{
|
|
3221
3260
|
readonly revision: Schema.Number;
|
|
@@ -3882,6 +3921,9 @@ export declare const SyncV1ServerFrameSchema: Schema.decodeTo<Schema.Union<reado
|
|
|
3882
3921
|
readonly state: Schema.Union<readonly [Schema.Literal<"connected">, Schema.Literal<"disconnected">]>;
|
|
3883
3922
|
readonly speaking: Schema.Boolean;
|
|
3884
3923
|
readonly active_speaker: Schema.Boolean;
|
|
3924
|
+
readonly identity_id: Schema.optional<Schema.String>;
|
|
3925
|
+
readonly device_type: Schema.optional<Schema.Literals<readonly ["phone", "tablet", "computer"]>>;
|
|
3926
|
+
readonly admission_revision: Schema.optional<Schema.Number>;
|
|
3885
3927
|
}>>;
|
|
3886
3928
|
}>, Schema.Struct<{
|
|
3887
3929
|
readonly journey_id: Schema.optional<Schema.String>;
|
|
@@ -3910,6 +3952,9 @@ export declare const SyncV1ServerFrameSchema: Schema.decodeTo<Schema.Union<reado
|
|
|
3910
3952
|
readonly state: Schema.Union<readonly [Schema.Literal<"connected">, Schema.Literal<"disconnected">]>;
|
|
3911
3953
|
readonly speaking: Schema.Boolean;
|
|
3912
3954
|
readonly active_speaker: Schema.Boolean;
|
|
3955
|
+
readonly identity_id: Schema.optional<Schema.String>;
|
|
3956
|
+
readonly device_type: Schema.optional<Schema.Literals<readonly ["phone", "tablet", "computer"]>>;
|
|
3957
|
+
readonly admission_revision: Schema.optional<Schema.Number>;
|
|
3913
3958
|
}>;
|
|
3914
3959
|
}>]>, Schema.Struct<{
|
|
3915
3960
|
readonly journey_id: Schema.optional<Schema.String>;
|
package/dist/index.js
CHANGED
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
createSpaceClient,
|
|
16
16
|
decodeWhiteboardV1ServerFrame,
|
|
17
17
|
encodeWhiteboardV1ClientFrame
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-DHUHTIU7.js";
|
|
19
19
|
import {
|
|
20
20
|
CloudflareSFUClient,
|
|
21
21
|
CloudflareSFUError,
|
|
@@ -28,19 +28,19 @@ import {
|
|
|
28
28
|
requireSFUDescription,
|
|
29
29
|
validatePublicationSnapshot,
|
|
30
30
|
waitFor
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-3TGVTP6Z.js";
|
|
32
32
|
import {
|
|
33
33
|
createChalkPublicClient,
|
|
34
34
|
createChalkPublicInviteClient,
|
|
35
35
|
parseInviteCode
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-O26BHHMI.js";
|
|
37
37
|
import {
|
|
38
38
|
ArrivalInvalidHandleError,
|
|
39
39
|
ArrivalUnavailableError,
|
|
40
40
|
SpacePublicInviteUnavailableError,
|
|
41
41
|
parseParsedAccessGrant,
|
|
42
42
|
requireAccessGrant
|
|
43
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-GOSWSXTH.js";
|
|
44
44
|
import {
|
|
45
45
|
AsyncStorageV1PendingTargetStore,
|
|
46
46
|
InMemoryV1PendingTargetStore,
|
|
@@ -69,7 +69,7 @@ import {
|
|
|
69
69
|
optimisticV1Control,
|
|
70
70
|
reactionFromFrame,
|
|
71
71
|
restoreV1Snapshot
|
|
72
|
-
} from "./chunk-
|
|
72
|
+
} from "./chunk-XSB2GDRW.js";
|
|
73
73
|
|
|
74
74
|
// src/space-client/reload-rejoin.ts
|
|
75
75
|
import { Schema } from "effect";
|
package/dist/media/client.d.ts
CHANGED
|
@@ -7,12 +7,12 @@ export declare class CloudflareSFUClient implements ClientMediaPlane {
|
|
|
7
7
|
subscribe(listener: () => void): () => void;
|
|
8
8
|
remotePublicationResumed(publicationId: string): void;
|
|
9
9
|
remoteParticipantsChanged(participantIds: readonly string[]): void;
|
|
10
|
-
remotePublicationsChanged(): void;
|
|
10
|
+
remotePublicationsChanged(publications?: readonly MediaPublication[], projectionState?: "available" | "unavailable"): void;
|
|
11
11
|
prepareLocalTrack(source: MediaPublicationSource, track: MediaStreamTrack): void;
|
|
12
12
|
clearPreparedLocalTrack(source: MediaPublicationSource, options?: {
|
|
13
13
|
readonly stopTrack?: boolean;
|
|
14
14
|
}): Promise<void>;
|
|
15
|
-
start(localMedia: MediaStream): Promise<void>;
|
|
15
|
+
start(localMedia: MediaStream, beforePublish?: () => Promise<MediaStream>): Promise<void>;
|
|
16
16
|
refreshRemotePublications(): Promise<void>;
|
|
17
17
|
setLocalPublicationTarget(target: MediaPlaneTarget): Promise<MediaPlaneResult>;
|
|
18
18
|
pauseLocalCapture(source: "microphone" | "camera"): Promise<void>;
|
package/dist/media/index.js
CHANGED
package/dist/media/plane.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { operations } from "../generated/openapi-types";
|
|
2
2
|
export type MediaConnectionReplacementCause = NonNullable<NonNullable<operations["addCloudflareSFUTracks"]["parameters"]["query"]>["replacement_cause"]>;
|
|
3
|
-
export type LocalPublicationRetirementCause = Exclude<MediaConnectionReplacementCause, "local_signaling_failure" | "remote_signaling_failure" | "dormant_connection" | "access_refresh">;
|
|
3
|
+
export type LocalPublicationRetirementCause = Exclude<MediaConnectionReplacementCause, "local_signaling_failure" | "remote_signaling_failure" | "dormant_connection" | "access_refresh" | "receive_stalled">;
|
|
4
4
|
export type ScreenShareSurface = "monitor" | "window" | "browser";
|
|
5
5
|
export type ScreenShareOptions = {
|
|
6
6
|
readonly surface?: ScreenShareSurface;
|
|
@@ -27,6 +27,7 @@ export type ConnectionMediaRemoteTrack = Pick<MediaPublication, "participantId"
|
|
|
27
27
|
readonly track: MediaStreamTrack;
|
|
28
28
|
};
|
|
29
29
|
export type ConnectionMediaSnapshot = {
|
|
30
|
+
readonly receiveStalls?: readonly import("./receive-stall").ReceiveStallObservation[];
|
|
30
31
|
readonly connection: {
|
|
31
32
|
readonly phase: ConnectionMediaPhase;
|
|
32
33
|
readonly peerConnectionState: RTCPeerConnectionState | null;
|
|
@@ -62,7 +63,8 @@ export type ClientMediaPlane = {
|
|
|
62
63
|
readonly closeForcedLocalPublication?: (source: MediaSource, cause?: LocalPublicationRetirementCause) => Promise<void>;
|
|
63
64
|
readonly observeLocalPublications: (listener: (publications: readonly MediaPublication[]) => void) => () => void;
|
|
64
65
|
readonly observeRemotePublications: (listener: (publications: readonly MediaPublication[]) => void) => () => void;
|
|
65
|
-
|
|
66
|
+
/** Unavailable suspends receive eligibility without withdrawing publication identities. */
|
|
67
|
+
readonly remotePublicationsChanged?: (publications?: readonly MediaPublication[], projectionState?: "available" | "unavailable") => void;
|
|
66
68
|
readonly remoteParticipantsChanged?: (participantIds: readonly string[]) => void;
|
|
67
69
|
readonly remotePublicationResumed?: (publicationId: string) => void;
|
|
68
70
|
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { MediaPublication } from "./plane";
|
|
2
|
+
import type { CloudflareSFURemoteTrack } from "./types";
|
|
3
|
+
export declare const RECEIVE_STALL_WINDOW_MS = 7000;
|
|
4
|
+
export declare const RECEIVE_STARTUP_GRACE_MS = 20000;
|
|
5
|
+
export type ReceivePacketSample = {
|
|
6
|
+
readonly publicationId: string;
|
|
7
|
+
readonly trackId: string;
|
|
8
|
+
readonly packets: number;
|
|
9
|
+
};
|
|
10
|
+
/** Only consecutive, timely observations of expected media establish a stall. */
|
|
11
|
+
export declare class ReceiveStallDetector {
|
|
12
|
+
#private;
|
|
13
|
+
forget(publicationId: string): void;
|
|
14
|
+
clear(): void;
|
|
15
|
+
sample(now: number, tracks: readonly ReceivePacketSample[]): {
|
|
16
|
+
readonly stalled: readonly string[];
|
|
17
|
+
readonly advanced: readonly string[];
|
|
18
|
+
readonly resumed: readonly string[];
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export type ReceiveStallObservation = {
|
|
22
|
+
readonly event: "receive_stalled";
|
|
23
|
+
readonly scope: "partial" | "all";
|
|
24
|
+
readonly observedAtMs: number;
|
|
25
|
+
readonly expectedTracks: number;
|
|
26
|
+
readonly stalledTracks: number;
|
|
27
|
+
};
|
|
28
|
+
/** Owns eligibility, pending stalls and the budget across replacement peers. */
|
|
29
|
+
export declare class ReceiveStallRecovery {
|
|
30
|
+
#private;
|
|
31
|
+
get observations(): readonly ReceiveStallObservation[];
|
|
32
|
+
expect(publications: readonly MediaPublication[], participantId: string): void;
|
|
33
|
+
suspend(): void;
|
|
34
|
+
isStalled(publicationId: string): boolean;
|
|
35
|
+
canRebuild(): boolean;
|
|
36
|
+
reserveRebuild(): boolean;
|
|
37
|
+
clear(): void;
|
|
38
|
+
sample(now: number, connection: RTCPeerConnection, report: RTCStatsReport, tracks: Iterable<CloudflareSFURemoteTrack>): {
|
|
39
|
+
readonly stalled: readonly string[];
|
|
40
|
+
readonly advanced: readonly string[];
|
|
41
|
+
readonly newlyStalled: readonly string[];
|
|
42
|
+
};
|
|
43
|
+
}
|
package/dist/media/types.d.ts
CHANGED
|
@@ -77,6 +77,8 @@ export type CloudflareSFUFailureCode = CloudflareSFUErrorCode;
|
|
|
77
77
|
export type CloudflareSFUConnectionPhase = "idle" | "connecting" | "live" | "recovering" | "failed" | "stopped";
|
|
78
78
|
export type CloudflareSFUPhase = CloudflareSFUConnectionPhase;
|
|
79
79
|
export type CloudflareSFUSnapshot = {
|
|
80
|
+
/** Omitted by media adapters without receive diagnostics; treat as empty. */
|
|
81
|
+
readonly receiveStalls?: readonly import("./receive-stall").ReceiveStallObservation[];
|
|
80
82
|
readonly connection: {
|
|
81
83
|
readonly phase: CloudflareSFUConnectionPhase;
|
|
82
84
|
readonly peerConnectionState: RTCPeerConnectionState | null;
|
|
@@ -2,12 +2,12 @@ import {
|
|
|
2
2
|
createChalkPublicClient,
|
|
3
3
|
createChalkPublicInviteClient,
|
|
4
4
|
parseInviteCode
|
|
5
|
-
} from "../chunk-
|
|
5
|
+
} from "../chunk-O26BHHMI.js";
|
|
6
6
|
import {
|
|
7
7
|
ArrivalInvalidHandleError,
|
|
8
8
|
ArrivalUnavailableError,
|
|
9
9
|
SpacePublicInviteUnavailableError
|
|
10
|
-
} from "../chunk-
|
|
10
|
+
} from "../chunk-GOSWSXTH.js";
|
|
11
11
|
export {
|
|
12
12
|
ArrivalInvalidHandleError,
|
|
13
13
|
ArrivalUnavailableError,
|
package/dist/server/index.cjs
CHANGED
|
@@ -602,6 +602,7 @@ function participantAdmissionRequest(input) {
|
|
|
602
602
|
name: input.name,
|
|
603
603
|
role: input.role,
|
|
604
604
|
...input.identityId === void 0 ? {} : { identity_id: input.identityId },
|
|
605
|
+
...input.identityExternalId === void 0 ? {} : { identity_external_id: input.identityExternalId },
|
|
605
606
|
...input.metadata === void 0 ? {} : { metadata: input.metadata },
|
|
606
607
|
...input.participantId === void 0 ? {} : { participant_id: input.participantId }
|
|
607
608
|
};
|
package/dist/server/index.js
CHANGED
|
@@ -504,6 +504,7 @@ function participantAdmissionRequest(input) {
|
|
|
504
504
|
name: input.name,
|
|
505
505
|
role: input.role,
|
|
506
506
|
...input.identityId === void 0 ? {} : { identity_id: input.identityId },
|
|
507
|
+
...input.identityExternalId === void 0 ? {} : { identity_external_id: input.identityExternalId },
|
|
507
508
|
...input.metadata === void 0 ? {} : { metadata: input.metadata },
|
|
508
509
|
...input.participantId === void 0 ? {} : { participant_id: input.participantId }
|
|
509
510
|
};
|
package/dist/server/types.d.cts
CHANGED
|
@@ -104,6 +104,8 @@ export type EpisodeEnd = {
|
|
|
104
104
|
readonly status: string;
|
|
105
105
|
};
|
|
106
106
|
export type AdmitParticipantInput = {
|
|
107
|
+
/** Stable person key scoped to this tenant. Mutually exclusive with identityId. */
|
|
108
|
+
readonly identityExternalId?: string;
|
|
107
109
|
readonly identityId?: string;
|
|
108
110
|
readonly metadata?: unknown;
|
|
109
111
|
readonly name: string;
|
package/dist/server/types.d.ts
CHANGED
|
@@ -104,6 +104,8 @@ export type EpisodeEnd = {
|
|
|
104
104
|
readonly status: string;
|
|
105
105
|
};
|
|
106
106
|
export type AdmitParticipantInput = {
|
|
107
|
+
/** Stable person key scoped to this tenant. Mutually exclusive with identityId. */
|
|
108
|
+
readonly identityExternalId?: string;
|
|
107
109
|
readonly identityId?: string;
|
|
108
110
|
readonly metadata?: unknown;
|
|
109
111
|
readonly name: string;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Participant } from "./types";
|
|
2
|
+
import type { V1EpisodeSnapshot } from "../sync/v1-types";
|
|
3
|
+
type PersonSeat = Pick<Participant, "participantId" | "identityId">;
|
|
4
|
+
export declare function otherDevices<Seat extends PersonSeat>(participants: readonly Seat[], participantId: string | null, ownIdentityId?: string): readonly Seat[];
|
|
5
|
+
export declare function otherDeviceHasMicrophone(snapshot: V1EpisodeSnapshot, participants: readonly PersonSeat[]): boolean;
|
|
6
|
+
export {};
|
|
@@ -77,6 +77,8 @@ export type ConnectionSlice = {
|
|
|
77
77
|
};
|
|
78
78
|
export type SelfSlice = {
|
|
79
79
|
readonly participantId: string | null;
|
|
80
|
+
/** Verified person association, including before this seat confirms entry. */
|
|
81
|
+
readonly identityId?: string;
|
|
80
82
|
readonly displayName: string | null;
|
|
81
83
|
readonly role: string | null;
|
|
82
84
|
readonly capabilities: readonly Capability[];
|
|
@@ -89,6 +91,9 @@ export type ParticipantPresence = {
|
|
|
89
91
|
readonly activeSpeaker: boolean;
|
|
90
92
|
};
|
|
91
93
|
export type Participant = {
|
|
94
|
+
/** Stable person identity, independent of the per-device participant ID. */
|
|
95
|
+
readonly identityId?: string;
|
|
96
|
+
readonly deviceType?: "phone" | "tablet" | "computer";
|
|
92
97
|
readonly participantId: string;
|
|
93
98
|
readonly displayName: string;
|
|
94
99
|
readonly role: string;
|
|
@@ -128,6 +133,7 @@ export type RemoteMedia = {
|
|
|
128
133
|
export type IncomingMediaRequest = ChalkIncomingMediaRequest;
|
|
129
134
|
export type { ScreenShareSurface, ScreenShareOptions, ScreenShareCapture } from "../media/plane";
|
|
130
135
|
export type MediaSlice = {
|
|
136
|
+
readonly microphoneMutedByOtherDevice?: boolean;
|
|
131
137
|
readonly devices: {
|
|
132
138
|
readonly microphones: readonly MediaDevice[];
|
|
133
139
|
readonly cameras: readonly MediaDevice[];
|
package/dist/sync/index.js
CHANGED
package/dist/sync/v1-types.d.ts
CHANGED
|
@@ -52,6 +52,10 @@ export type V1ControlState = {
|
|
|
52
52
|
};
|
|
53
53
|
export type V1MediaPublication = MediaPublication;
|
|
54
54
|
export type V1Presence = {
|
|
55
|
+
readonly admissionRevision?: number;
|
|
56
|
+
/** Stable person identity, independent of the per-device participant ID. */
|
|
57
|
+
readonly identityId?: string;
|
|
58
|
+
readonly deviceType?: "phone" | "tablet" | "computer";
|
|
55
59
|
readonly participantId: string;
|
|
56
60
|
readonly state: "connected" | "disconnected";
|
|
57
61
|
readonly speaking: boolean;
|
|
@@ -86,6 +90,8 @@ export type V1EpisodeSnapshot = {
|
|
|
86
90
|
};
|
|
87
91
|
readonly participantId: string | null;
|
|
88
92
|
readonly participantGeneration: number | null;
|
|
93
|
+
/** Verified own-seat identity, available before admission confirmation on negotiated servers. */
|
|
94
|
+
readonly participantIdentityId?: string;
|
|
89
95
|
readonly control: V1ControlState | null;
|
|
90
96
|
readonly optimisticControl: V1ControlState | null;
|
|
91
97
|
readonly media: V1Projection<V1MediaPublication> | null;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@q9labsai/chalk-client",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.3.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -221,6 +221,7 @@
|
|
|
221
221
|
"test": "node ../../../scripts/test/run.mjs pnpm exec vitest run",
|
|
222
222
|
"test:webhooks-package": "pnpm run build && node ./scripts/check-webhook-package.mjs",
|
|
223
223
|
"test:server-package": "pnpm run build && node ./scripts/check-server-package.mjs",
|
|
224
|
+
"test:receive-stall-sfu": "node ./scripts/real-sfu-receive-stall.mjs",
|
|
224
225
|
"test:sync-browser": "pnpm run build && node ./scripts/real-browser-sync.mjs",
|
|
225
226
|
"test:sync-node-restart": "pnpm run build && node ./scripts/real-node-restart-sync.mjs",
|
|
226
227
|
"check-types": "tsc-rs --project tsconfig.check-types.json --noEmit",
|