@fkn/lib 0.9.54 → 0.9.56
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/{account-generation-CTB1J33G.js → account-generation-D3jlXBbM.js} +1 -1
- package/{account-generation-DOuApHq5.cjs → account-generation-DkrSMafa.cjs} +1 -1
- package/{account-storage-D1RiskV6.js → account-storage-BBL440_m.js} +2 -2
- package/{account-storage-CL0wLuQw.cjs → account-storage-C1VL6fpb.cjs} +1 -1
- package/account.cjs +1 -1
- package/account.d.ts +1 -1
- package/account.js +2 -2
- package/{api-C-VvG5P-.d.ts → api-BSpQkgnM.d.ts} +361 -25
- package/api-BmaUJUUp.cjs +3 -0
- package/{api-BYtMzj8u.js → api-DEfkbHGB.js} +93 -81
- package/api.cjs +1 -1
- package/api.d.ts +2 -2
- package/api.js +1 -1
- package/cloud/dns.d.ts +1 -1
- package/cloud/fetch.cjs +1 -1
- package/cloud/fetch.d.ts +1 -1
- package/cloud/fetch.js +1 -1
- package/cloud/fs.cjs +1 -1
- package/cloud/fs.js +1 -1
- package/cloud/net.d.ts +1 -1
- package/{cloud-S8hQywqV.d.ts → cloud-BslRIoKs.d.ts} +2 -2
- package/{cloud-CI6WMBPa.cjs → cloud-C_EPPfe_.cjs} +1 -1
- package/{cloud-8sJ1Sg8n.js → cloud-DTpFBbBH.js} +2 -2
- package/cloud.cjs +1 -1
- package/cloud.d.ts +3 -3
- package/cloud.js +2 -2
- package/{contract-CMQOic3K.d.ts → contract-DFycgFJK.d.ts} +131 -8
- package/contract.d.ts +2 -2
- package/dgram.cjs +1 -1
- package/dgram.d.ts +2 -2
- package/dgram.js +1 -1
- package/dns.cjs +1 -1
- package/dns.d.ts +1 -1
- package/dns.js +1 -1
- package/{extension-BmqjgSIQ.js → extension-C13d41tq.js} +2 -2
- package/{extension-BXI3MVXw.cjs → extension-DA_Fx3Lx.cjs} +1 -1
- package/extension.cjs +1 -1
- package/extension.js +1 -1
- package/fs/promises.cjs +1 -1
- package/fs/promises.js +1 -1
- package/{fs-CPU00CI3.cjs → fs-C7ByWYF9.cjs} +1 -1
- package/{fs-ohcMNiu2.js → fs-gryDP9qw.js} +2 -2
- package/fs.cjs +1 -1
- package/fs.js +2 -2
- package/http.d.ts +1 -1
- package/index.cjs +1 -1
- package/index.d.ts +2 -2
- package/index.js +4 -4
- package/{net-B8YQuB9E.d.ts → net-eEjhJ0AE.d.ts} +2 -2
- package/net.cjs +1 -1
- package/net.d.ts +1 -1
- package/net.js +1 -1
- package/package.json +1 -1
- package/packages.cjs +1 -1
- package/packages.d.ts +1 -1
- package/packages.js +1 -1
- package/{proxy-ClDBa5il.d.ts → proxy-8hIHeEHD.d.ts} +2 -2
- package/{proxy-CL8j00ao.cjs → proxy-Blzm-Dc1.cjs} +1 -1
- package/{proxy-vAsYHMIa.js → proxy-C2HY5Ybc.js} +1 -1
- package/react.cjs +1 -1
- package/react.js +1 -1
- package/rooms.cjs +1 -1
- package/rooms.d.ts +43 -9
- package/rooms.js +154 -92
- package/storage.cjs +1 -1
- package/storage.d.ts +1 -1
- package/storage.js +3 -3
- package/api-Csb5b8dE.cjs +0 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { $ as RoomEvent, Bt as UdpSocketOptions, D as IpFamily, Ft as TcpSocketListenerOptions, H as ProxyFetchInput, I as PackagesErrorCode, J as RoomClaimOptions, K as Resolvers, Kt as WriteData, Lt as TcpSocketOptions, N as OverlayState, P as PackageQuery, R as PickOptions, T as InstallOptions, Tt as StorageErrorCode, V as ProxyFetchInit, a as AccountChange, b as FrameConsentAnswer, c as AdoptRequest, d as ConflictRequest, dt as RoomsErrorCode, kt as StoragePutWire, l as AdoptState, m as ConnectOptions, o as AccountPinOptions, ot as RoomOpenOptions, p as ConnectAvailability, rt as RoomMailbox, st as RoomPermission, tt as RoomJoinOptions, u as ConflictChoice, ut as RoomType, x as FrameConsentRequest, z as Placement, zt as UdpDatagram } from "./contract-DFycgFJK.js";
|
|
2
2
|
import { o as TcpSocketOption, x as UdpSocketOption } from "./wire-Fk5pJaoy.js";
|
|
3
3
|
import { Remote } from "osra";
|
|
4
4
|
//#region src/api-epochs.d.ts
|
|
@@ -313,6 +313,7 @@ declare const onApiEpoch: (listener: EpochListener<{
|
|
|
313
313
|
mailbox: RoomMailbox | null;
|
|
314
314
|
temporaryClaims?: true;
|
|
315
315
|
mailboxSwitch?: true;
|
|
316
|
+
schemas?: true;
|
|
316
317
|
defaults: () => Promise<{
|
|
317
318
|
readonly send: boolean;
|
|
318
319
|
readonly receive: boolean;
|
|
@@ -328,13 +329,40 @@ declare const onApiEpoch: (listener: EpochListener<{
|
|
|
328
329
|
};
|
|
329
330
|
maxMessageBytes: number;
|
|
330
331
|
}[]>;
|
|
331
|
-
|
|
332
|
+
schema: () => Promise<{
|
|
333
|
+
readonly version: number;
|
|
334
|
+
readonly types: {
|
|
335
|
+
readonly [x: string]: {
|
|
336
|
+
readonly envelope: {
|
|
337
|
+
readonly [x: string]: unknown;
|
|
338
|
+
};
|
|
339
|
+
readonly send?: 'owner' | 'accounts' | 'members';
|
|
340
|
+
readonly maxBytes?: number;
|
|
341
|
+
readonly perAccount?: {
|
|
342
|
+
readonly messages?: number;
|
|
343
|
+
readonly bytes?: number;
|
|
344
|
+
} | undefined;
|
|
345
|
+
};
|
|
346
|
+
};
|
|
347
|
+
readonly maxStoredBytes?: number;
|
|
348
|
+
} | null>;
|
|
349
|
+
send: (text: string, envelope?: string | undefined) => Promise<{
|
|
350
|
+
error: RoomsErrorCode;
|
|
351
|
+
message: string;
|
|
352
|
+
} | {
|
|
353
|
+
ok: true;
|
|
354
|
+
}>;
|
|
355
|
+
edit: (seq: number, text: string, envelope?: string | undefined) => Promise<{
|
|
332
356
|
error: RoomsErrorCode;
|
|
333
357
|
message: string;
|
|
334
358
|
} | {
|
|
335
359
|
ok: true;
|
|
336
360
|
}>;
|
|
337
|
-
|
|
361
|
+
setSchema: (schema: Readonly<{
|
|
362
|
+
version: number;
|
|
363
|
+
types: Readonly<Record<string, RoomType>>;
|
|
364
|
+
maxStoredBytes?: number;
|
|
365
|
+
}>) => Promise<{
|
|
338
366
|
error: RoomsErrorCode;
|
|
339
367
|
message: string;
|
|
340
368
|
} | {
|
|
@@ -451,6 +479,7 @@ declare const onApiEpoch: (listener: EpochListener<{
|
|
|
451
479
|
mailbox: RoomMailbox | null;
|
|
452
480
|
temporaryClaims?: true;
|
|
453
481
|
mailboxSwitch?: true;
|
|
482
|
+
schemas?: true;
|
|
454
483
|
defaults: () => Promise<{
|
|
455
484
|
readonly send: boolean;
|
|
456
485
|
readonly receive: boolean;
|
|
@@ -466,13 +495,40 @@ declare const onApiEpoch: (listener: EpochListener<{
|
|
|
466
495
|
};
|
|
467
496
|
maxMessageBytes: number;
|
|
468
497
|
}[]>;
|
|
469
|
-
|
|
498
|
+
schema: () => Promise<{
|
|
499
|
+
readonly version: number;
|
|
500
|
+
readonly types: {
|
|
501
|
+
readonly [x: string]: {
|
|
502
|
+
readonly envelope: {
|
|
503
|
+
readonly [x: string]: unknown;
|
|
504
|
+
};
|
|
505
|
+
readonly send?: 'owner' | 'accounts' | 'members';
|
|
506
|
+
readonly maxBytes?: number;
|
|
507
|
+
readonly perAccount?: {
|
|
508
|
+
readonly messages?: number;
|
|
509
|
+
readonly bytes?: number;
|
|
510
|
+
} | undefined;
|
|
511
|
+
};
|
|
512
|
+
};
|
|
513
|
+
readonly maxStoredBytes?: number;
|
|
514
|
+
} | null>;
|
|
515
|
+
send: (text: string, envelope?: string | undefined) => Promise<{
|
|
516
|
+
error: RoomsErrorCode;
|
|
517
|
+
message: string;
|
|
518
|
+
} | {
|
|
519
|
+
ok: true;
|
|
520
|
+
}>;
|
|
521
|
+
edit: (seq: number, text: string, envelope?: string | undefined) => Promise<{
|
|
470
522
|
error: RoomsErrorCode;
|
|
471
523
|
message: string;
|
|
472
524
|
} | {
|
|
473
525
|
ok: true;
|
|
474
526
|
}>;
|
|
475
|
-
|
|
527
|
+
setSchema: (schema: Readonly<{
|
|
528
|
+
version: number;
|
|
529
|
+
types: Readonly<Record<string, RoomType>>;
|
|
530
|
+
maxStoredBytes?: number;
|
|
531
|
+
}>) => Promise<{
|
|
476
532
|
error: RoomsErrorCode;
|
|
477
533
|
message: string;
|
|
478
534
|
} | {
|
|
@@ -589,6 +645,7 @@ declare const onApiEpoch: (listener: EpochListener<{
|
|
|
589
645
|
mailbox: RoomMailbox | null;
|
|
590
646
|
temporaryClaims?: true;
|
|
591
647
|
mailboxSwitch?: true;
|
|
648
|
+
schemas?: true;
|
|
592
649
|
defaults: () => Promise<{
|
|
593
650
|
readonly send: boolean;
|
|
594
651
|
readonly receive: boolean;
|
|
@@ -604,13 +661,40 @@ declare const onApiEpoch: (listener: EpochListener<{
|
|
|
604
661
|
};
|
|
605
662
|
maxMessageBytes: number;
|
|
606
663
|
}[]>;
|
|
607
|
-
|
|
664
|
+
schema: () => Promise<{
|
|
665
|
+
readonly version: number;
|
|
666
|
+
readonly types: {
|
|
667
|
+
readonly [x: string]: {
|
|
668
|
+
readonly envelope: {
|
|
669
|
+
readonly [x: string]: unknown;
|
|
670
|
+
};
|
|
671
|
+
readonly send?: 'owner' | 'accounts' | 'members';
|
|
672
|
+
readonly maxBytes?: number;
|
|
673
|
+
readonly perAccount?: {
|
|
674
|
+
readonly messages?: number;
|
|
675
|
+
readonly bytes?: number;
|
|
676
|
+
} | undefined;
|
|
677
|
+
};
|
|
678
|
+
};
|
|
679
|
+
readonly maxStoredBytes?: number;
|
|
680
|
+
} | null>;
|
|
681
|
+
send: (text: string, envelope?: string | undefined) => Promise<{
|
|
682
|
+
error: RoomsErrorCode;
|
|
683
|
+
message: string;
|
|
684
|
+
} | {
|
|
685
|
+
ok: true;
|
|
686
|
+
}>;
|
|
687
|
+
edit: (seq: number, text: string, envelope?: string | undefined) => Promise<{
|
|
608
688
|
error: RoomsErrorCode;
|
|
609
689
|
message: string;
|
|
610
690
|
} | {
|
|
611
691
|
ok: true;
|
|
612
692
|
}>;
|
|
613
|
-
|
|
693
|
+
setSchema: (schema: Readonly<{
|
|
694
|
+
version: number;
|
|
695
|
+
types: Readonly<Record<string, RoomType>>;
|
|
696
|
+
maxStoredBytes?: number;
|
|
697
|
+
}>) => Promise<{
|
|
614
698
|
error: RoomsErrorCode;
|
|
615
699
|
message: string;
|
|
616
700
|
} | {
|
|
@@ -728,6 +812,7 @@ declare const onApiEpoch: (listener: EpochListener<{
|
|
|
728
812
|
mailbox: RoomMailbox | null;
|
|
729
813
|
temporaryClaims?: true;
|
|
730
814
|
mailboxSwitch?: true;
|
|
815
|
+
schemas?: true;
|
|
731
816
|
defaults: () => Promise<{
|
|
732
817
|
readonly send: boolean;
|
|
733
818
|
readonly receive: boolean;
|
|
@@ -743,13 +828,40 @@ declare const onApiEpoch: (listener: EpochListener<{
|
|
|
743
828
|
};
|
|
744
829
|
maxMessageBytes: number;
|
|
745
830
|
}[]>;
|
|
746
|
-
|
|
831
|
+
schema: () => Promise<{
|
|
832
|
+
readonly version: number;
|
|
833
|
+
readonly types: {
|
|
834
|
+
readonly [x: string]: {
|
|
835
|
+
readonly envelope: {
|
|
836
|
+
readonly [x: string]: unknown;
|
|
837
|
+
};
|
|
838
|
+
readonly send?: 'owner' | 'accounts' | 'members';
|
|
839
|
+
readonly maxBytes?: number;
|
|
840
|
+
readonly perAccount?: {
|
|
841
|
+
readonly messages?: number;
|
|
842
|
+
readonly bytes?: number;
|
|
843
|
+
} | undefined;
|
|
844
|
+
};
|
|
845
|
+
};
|
|
846
|
+
readonly maxStoredBytes?: number;
|
|
847
|
+
} | null>;
|
|
848
|
+
send: (text: string, envelope?: string | undefined) => Promise<{
|
|
747
849
|
error: RoomsErrorCode;
|
|
748
850
|
message: string;
|
|
749
851
|
} | {
|
|
750
852
|
ok: true;
|
|
751
853
|
}>;
|
|
752
|
-
edit: (seq: number, text: string) => Promise<{
|
|
854
|
+
edit: (seq: number, text: string, envelope?: string | undefined) => Promise<{
|
|
855
|
+
error: RoomsErrorCode;
|
|
856
|
+
message: string;
|
|
857
|
+
} | {
|
|
858
|
+
ok: true;
|
|
859
|
+
}>;
|
|
860
|
+
setSchema: (schema: Readonly<{
|
|
861
|
+
version: number;
|
|
862
|
+
types: Readonly<Record<string, RoomType>>;
|
|
863
|
+
maxStoredBytes?: number;
|
|
864
|
+
}>) => Promise<{
|
|
753
865
|
error: RoomsErrorCode;
|
|
754
866
|
message: string;
|
|
755
867
|
} | {
|
|
@@ -866,6 +978,7 @@ declare const onApiEpoch: (listener: EpochListener<{
|
|
|
866
978
|
mailbox: RoomMailbox | null;
|
|
867
979
|
temporaryClaims?: true;
|
|
868
980
|
mailboxSwitch?: true;
|
|
981
|
+
schemas?: true;
|
|
869
982
|
defaults: () => Promise<{
|
|
870
983
|
readonly send: boolean;
|
|
871
984
|
readonly receive: boolean;
|
|
@@ -881,13 +994,40 @@ declare const onApiEpoch: (listener: EpochListener<{
|
|
|
881
994
|
};
|
|
882
995
|
maxMessageBytes: number;
|
|
883
996
|
}[]>;
|
|
884
|
-
|
|
997
|
+
schema: () => Promise<{
|
|
998
|
+
readonly version: number;
|
|
999
|
+
readonly types: {
|
|
1000
|
+
readonly [x: string]: {
|
|
1001
|
+
readonly envelope: {
|
|
1002
|
+
readonly [x: string]: unknown;
|
|
1003
|
+
};
|
|
1004
|
+
readonly send?: 'owner' | 'accounts' | 'members';
|
|
1005
|
+
readonly maxBytes?: number;
|
|
1006
|
+
readonly perAccount?: {
|
|
1007
|
+
readonly messages?: number;
|
|
1008
|
+
readonly bytes?: number;
|
|
1009
|
+
} | undefined;
|
|
1010
|
+
};
|
|
1011
|
+
};
|
|
1012
|
+
readonly maxStoredBytes?: number;
|
|
1013
|
+
} | null>;
|
|
1014
|
+
send: (text: string, envelope?: string | undefined) => Promise<{
|
|
1015
|
+
error: RoomsErrorCode;
|
|
1016
|
+
message: string;
|
|
1017
|
+
} | {
|
|
1018
|
+
ok: true;
|
|
1019
|
+
}>;
|
|
1020
|
+
edit: (seq: number, text: string, envelope?: string | undefined) => Promise<{
|
|
885
1021
|
error: RoomsErrorCode;
|
|
886
1022
|
message: string;
|
|
887
1023
|
} | {
|
|
888
1024
|
ok: true;
|
|
889
1025
|
}>;
|
|
890
|
-
|
|
1026
|
+
setSchema: (schema: Readonly<{
|
|
1027
|
+
version: number;
|
|
1028
|
+
types: Readonly<Record<string, RoomType>>;
|
|
1029
|
+
maxStoredBytes?: number;
|
|
1030
|
+
}>) => Promise<{
|
|
891
1031
|
error: RoomsErrorCode;
|
|
892
1032
|
message: string;
|
|
893
1033
|
} | {
|
|
@@ -1004,6 +1144,7 @@ declare const onApiEpoch: (listener: EpochListener<{
|
|
|
1004
1144
|
mailbox: RoomMailbox | null;
|
|
1005
1145
|
temporaryClaims?: true;
|
|
1006
1146
|
mailboxSwitch?: true;
|
|
1147
|
+
schemas?: true;
|
|
1007
1148
|
defaults: () => Promise<{
|
|
1008
1149
|
readonly send: boolean;
|
|
1009
1150
|
readonly receive: boolean;
|
|
@@ -1019,13 +1160,40 @@ declare const onApiEpoch: (listener: EpochListener<{
|
|
|
1019
1160
|
};
|
|
1020
1161
|
maxMessageBytes: number;
|
|
1021
1162
|
}[]>;
|
|
1022
|
-
|
|
1163
|
+
schema: () => Promise<{
|
|
1164
|
+
readonly version: number;
|
|
1165
|
+
readonly types: {
|
|
1166
|
+
readonly [x: string]: {
|
|
1167
|
+
readonly envelope: {
|
|
1168
|
+
readonly [x: string]: unknown;
|
|
1169
|
+
};
|
|
1170
|
+
readonly send?: 'owner' | 'accounts' | 'members';
|
|
1171
|
+
readonly maxBytes?: number;
|
|
1172
|
+
readonly perAccount?: {
|
|
1173
|
+
readonly messages?: number;
|
|
1174
|
+
readonly bytes?: number;
|
|
1175
|
+
} | undefined;
|
|
1176
|
+
};
|
|
1177
|
+
};
|
|
1178
|
+
readonly maxStoredBytes?: number;
|
|
1179
|
+
} | null>;
|
|
1180
|
+
send: (text: string, envelope?: string | undefined) => Promise<{
|
|
1181
|
+
error: RoomsErrorCode;
|
|
1182
|
+
message: string;
|
|
1183
|
+
} | {
|
|
1184
|
+
ok: true;
|
|
1185
|
+
}>;
|
|
1186
|
+
edit: (seq: number, text: string, envelope?: string | undefined) => Promise<{
|
|
1023
1187
|
error: RoomsErrorCode;
|
|
1024
1188
|
message: string;
|
|
1025
1189
|
} | {
|
|
1026
1190
|
ok: true;
|
|
1027
1191
|
}>;
|
|
1028
|
-
|
|
1192
|
+
setSchema: (schema: Readonly<{
|
|
1193
|
+
version: number;
|
|
1194
|
+
types: Readonly<Record<string, RoomType>>;
|
|
1195
|
+
maxStoredBytes?: number;
|
|
1196
|
+
}>) => Promise<{
|
|
1029
1197
|
error: RoomsErrorCode;
|
|
1030
1198
|
message: string;
|
|
1031
1199
|
} | {
|
|
@@ -1516,6 +1684,7 @@ declare const currentApiEpoch: () => {
|
|
|
1516
1684
|
mailbox: RoomMailbox | null;
|
|
1517
1685
|
temporaryClaims?: true;
|
|
1518
1686
|
mailboxSwitch?: true;
|
|
1687
|
+
schemas?: true;
|
|
1519
1688
|
defaults: () => Promise<{
|
|
1520
1689
|
readonly send: boolean;
|
|
1521
1690
|
readonly receive: boolean;
|
|
@@ -1531,13 +1700,40 @@ declare const currentApiEpoch: () => {
|
|
|
1531
1700
|
};
|
|
1532
1701
|
maxMessageBytes: number;
|
|
1533
1702
|
}[]>;
|
|
1534
|
-
|
|
1703
|
+
schema: () => Promise<{
|
|
1704
|
+
readonly version: number;
|
|
1705
|
+
readonly types: {
|
|
1706
|
+
readonly [x: string]: {
|
|
1707
|
+
readonly envelope: {
|
|
1708
|
+
readonly [x: string]: unknown;
|
|
1709
|
+
};
|
|
1710
|
+
readonly send?: 'owner' | 'accounts' | 'members';
|
|
1711
|
+
readonly maxBytes?: number;
|
|
1712
|
+
readonly perAccount?: {
|
|
1713
|
+
readonly messages?: number;
|
|
1714
|
+
readonly bytes?: number;
|
|
1715
|
+
} | undefined;
|
|
1716
|
+
};
|
|
1717
|
+
};
|
|
1718
|
+
readonly maxStoredBytes?: number;
|
|
1719
|
+
} | null>;
|
|
1720
|
+
send: (text: string, envelope?: string | undefined) => Promise<{
|
|
1535
1721
|
error: RoomsErrorCode;
|
|
1536
1722
|
message: string;
|
|
1537
1723
|
} | {
|
|
1538
1724
|
ok: true;
|
|
1539
1725
|
}>;
|
|
1540
|
-
edit: (seq: number, text: string) => Promise<{
|
|
1726
|
+
edit: (seq: number, text: string, envelope?: string | undefined) => Promise<{
|
|
1727
|
+
error: RoomsErrorCode;
|
|
1728
|
+
message: string;
|
|
1729
|
+
} | {
|
|
1730
|
+
ok: true;
|
|
1731
|
+
}>;
|
|
1732
|
+
setSchema: (schema: Readonly<{
|
|
1733
|
+
version: number;
|
|
1734
|
+
types: Readonly<Record<string, RoomType>>;
|
|
1735
|
+
maxStoredBytes?: number;
|
|
1736
|
+
}>) => Promise<{
|
|
1541
1737
|
error: RoomsErrorCode;
|
|
1542
1738
|
message: string;
|
|
1543
1739
|
} | {
|
|
@@ -1654,6 +1850,7 @@ declare const currentApiEpoch: () => {
|
|
|
1654
1850
|
mailbox: RoomMailbox | null;
|
|
1655
1851
|
temporaryClaims?: true;
|
|
1656
1852
|
mailboxSwitch?: true;
|
|
1853
|
+
schemas?: true;
|
|
1657
1854
|
defaults: () => Promise<{
|
|
1658
1855
|
readonly send: boolean;
|
|
1659
1856
|
readonly receive: boolean;
|
|
@@ -1669,13 +1866,40 @@ declare const currentApiEpoch: () => {
|
|
|
1669
1866
|
};
|
|
1670
1867
|
maxMessageBytes: number;
|
|
1671
1868
|
}[]>;
|
|
1672
|
-
|
|
1869
|
+
schema: () => Promise<{
|
|
1870
|
+
readonly version: number;
|
|
1871
|
+
readonly types: {
|
|
1872
|
+
readonly [x: string]: {
|
|
1873
|
+
readonly envelope: {
|
|
1874
|
+
readonly [x: string]: unknown;
|
|
1875
|
+
};
|
|
1876
|
+
readonly send?: 'owner' | 'accounts' | 'members';
|
|
1877
|
+
readonly maxBytes?: number;
|
|
1878
|
+
readonly perAccount?: {
|
|
1879
|
+
readonly messages?: number;
|
|
1880
|
+
readonly bytes?: number;
|
|
1881
|
+
} | undefined;
|
|
1882
|
+
};
|
|
1883
|
+
};
|
|
1884
|
+
readonly maxStoredBytes?: number;
|
|
1885
|
+
} | null>;
|
|
1886
|
+
send: (text: string, envelope?: string | undefined) => Promise<{
|
|
1887
|
+
error: RoomsErrorCode;
|
|
1888
|
+
message: string;
|
|
1889
|
+
} | {
|
|
1890
|
+
ok: true;
|
|
1891
|
+
}>;
|
|
1892
|
+
edit: (seq: number, text: string, envelope?: string | undefined) => Promise<{
|
|
1673
1893
|
error: RoomsErrorCode;
|
|
1674
1894
|
message: string;
|
|
1675
1895
|
} | {
|
|
1676
1896
|
ok: true;
|
|
1677
1897
|
}>;
|
|
1678
|
-
|
|
1898
|
+
setSchema: (schema: Readonly<{
|
|
1899
|
+
version: number;
|
|
1900
|
+
types: Readonly<Record<string, RoomType>>;
|
|
1901
|
+
maxStoredBytes?: number;
|
|
1902
|
+
}>) => Promise<{
|
|
1679
1903
|
error: RoomsErrorCode;
|
|
1680
1904
|
message: string;
|
|
1681
1905
|
} | {
|
|
@@ -1792,6 +2016,7 @@ declare const currentApiEpoch: () => {
|
|
|
1792
2016
|
mailbox: RoomMailbox | null;
|
|
1793
2017
|
temporaryClaims?: true;
|
|
1794
2018
|
mailboxSwitch?: true;
|
|
2019
|
+
schemas?: true;
|
|
1795
2020
|
defaults: () => Promise<{
|
|
1796
2021
|
readonly send: boolean;
|
|
1797
2022
|
readonly receive: boolean;
|
|
@@ -1807,13 +2032,40 @@ declare const currentApiEpoch: () => {
|
|
|
1807
2032
|
};
|
|
1808
2033
|
maxMessageBytes: number;
|
|
1809
2034
|
}[]>;
|
|
1810
|
-
|
|
2035
|
+
schema: () => Promise<{
|
|
2036
|
+
readonly version: number;
|
|
2037
|
+
readonly types: {
|
|
2038
|
+
readonly [x: string]: {
|
|
2039
|
+
readonly envelope: {
|
|
2040
|
+
readonly [x: string]: unknown;
|
|
2041
|
+
};
|
|
2042
|
+
readonly send?: 'owner' | 'accounts' | 'members';
|
|
2043
|
+
readonly maxBytes?: number;
|
|
2044
|
+
readonly perAccount?: {
|
|
2045
|
+
readonly messages?: number;
|
|
2046
|
+
readonly bytes?: number;
|
|
2047
|
+
} | undefined;
|
|
2048
|
+
};
|
|
2049
|
+
};
|
|
2050
|
+
readonly maxStoredBytes?: number;
|
|
2051
|
+
} | null>;
|
|
2052
|
+
send: (text: string, envelope?: string | undefined) => Promise<{
|
|
2053
|
+
error: RoomsErrorCode;
|
|
2054
|
+
message: string;
|
|
2055
|
+
} | {
|
|
2056
|
+
ok: true;
|
|
2057
|
+
}>;
|
|
2058
|
+
edit: (seq: number, text: string, envelope?: string | undefined) => Promise<{
|
|
1811
2059
|
error: RoomsErrorCode;
|
|
1812
2060
|
message: string;
|
|
1813
2061
|
} | {
|
|
1814
2062
|
ok: true;
|
|
1815
2063
|
}>;
|
|
1816
|
-
|
|
2064
|
+
setSchema: (schema: Readonly<{
|
|
2065
|
+
version: number;
|
|
2066
|
+
types: Readonly<Record<string, RoomType>>;
|
|
2067
|
+
maxStoredBytes?: number;
|
|
2068
|
+
}>) => Promise<{
|
|
1817
2069
|
error: RoomsErrorCode;
|
|
1818
2070
|
message: string;
|
|
1819
2071
|
} | {
|
|
@@ -1931,6 +2183,7 @@ declare const currentApiEpoch: () => {
|
|
|
1931
2183
|
mailbox: RoomMailbox | null;
|
|
1932
2184
|
temporaryClaims?: true;
|
|
1933
2185
|
mailboxSwitch?: true;
|
|
2186
|
+
schemas?: true;
|
|
1934
2187
|
defaults: () => Promise<{
|
|
1935
2188
|
readonly send: boolean;
|
|
1936
2189
|
readonly receive: boolean;
|
|
@@ -1946,13 +2199,40 @@ declare const currentApiEpoch: () => {
|
|
|
1946
2199
|
};
|
|
1947
2200
|
maxMessageBytes: number;
|
|
1948
2201
|
}[]>;
|
|
1949
|
-
|
|
2202
|
+
schema: () => Promise<{
|
|
2203
|
+
readonly version: number;
|
|
2204
|
+
readonly types: {
|
|
2205
|
+
readonly [x: string]: {
|
|
2206
|
+
readonly envelope: {
|
|
2207
|
+
readonly [x: string]: unknown;
|
|
2208
|
+
};
|
|
2209
|
+
readonly send?: 'owner' | 'accounts' | 'members';
|
|
2210
|
+
readonly maxBytes?: number;
|
|
2211
|
+
readonly perAccount?: {
|
|
2212
|
+
readonly messages?: number;
|
|
2213
|
+
readonly bytes?: number;
|
|
2214
|
+
} | undefined;
|
|
2215
|
+
};
|
|
2216
|
+
};
|
|
2217
|
+
readonly maxStoredBytes?: number;
|
|
2218
|
+
} | null>;
|
|
2219
|
+
send: (text: string, envelope?: string | undefined) => Promise<{
|
|
2220
|
+
error: RoomsErrorCode;
|
|
2221
|
+
message: string;
|
|
2222
|
+
} | {
|
|
2223
|
+
ok: true;
|
|
2224
|
+
}>;
|
|
2225
|
+
edit: (seq: number, text: string, envelope?: string | undefined) => Promise<{
|
|
1950
2226
|
error: RoomsErrorCode;
|
|
1951
2227
|
message: string;
|
|
1952
2228
|
} | {
|
|
1953
2229
|
ok: true;
|
|
1954
2230
|
}>;
|
|
1955
|
-
|
|
2231
|
+
setSchema: (schema: Readonly<{
|
|
2232
|
+
version: number;
|
|
2233
|
+
types: Readonly<Record<string, RoomType>>;
|
|
2234
|
+
maxStoredBytes?: number;
|
|
2235
|
+
}>) => Promise<{
|
|
1956
2236
|
error: RoomsErrorCode;
|
|
1957
2237
|
message: string;
|
|
1958
2238
|
} | {
|
|
@@ -2069,6 +2349,7 @@ declare const currentApiEpoch: () => {
|
|
|
2069
2349
|
mailbox: RoomMailbox | null;
|
|
2070
2350
|
temporaryClaims?: true;
|
|
2071
2351
|
mailboxSwitch?: true;
|
|
2352
|
+
schemas?: true;
|
|
2072
2353
|
defaults: () => Promise<{
|
|
2073
2354
|
readonly send: boolean;
|
|
2074
2355
|
readonly receive: boolean;
|
|
@@ -2084,13 +2365,40 @@ declare const currentApiEpoch: () => {
|
|
|
2084
2365
|
};
|
|
2085
2366
|
maxMessageBytes: number;
|
|
2086
2367
|
}[]>;
|
|
2087
|
-
|
|
2368
|
+
schema: () => Promise<{
|
|
2369
|
+
readonly version: number;
|
|
2370
|
+
readonly types: {
|
|
2371
|
+
readonly [x: string]: {
|
|
2372
|
+
readonly envelope: {
|
|
2373
|
+
readonly [x: string]: unknown;
|
|
2374
|
+
};
|
|
2375
|
+
readonly send?: 'owner' | 'accounts' | 'members';
|
|
2376
|
+
readonly maxBytes?: number;
|
|
2377
|
+
readonly perAccount?: {
|
|
2378
|
+
readonly messages?: number;
|
|
2379
|
+
readonly bytes?: number;
|
|
2380
|
+
} | undefined;
|
|
2381
|
+
};
|
|
2382
|
+
};
|
|
2383
|
+
readonly maxStoredBytes?: number;
|
|
2384
|
+
} | null>;
|
|
2385
|
+
send: (text: string, envelope?: string | undefined) => Promise<{
|
|
2088
2386
|
error: RoomsErrorCode;
|
|
2089
2387
|
message: string;
|
|
2090
2388
|
} | {
|
|
2091
2389
|
ok: true;
|
|
2092
2390
|
}>;
|
|
2093
|
-
edit: (seq: number, text: string) => Promise<{
|
|
2391
|
+
edit: (seq: number, text: string, envelope?: string | undefined) => Promise<{
|
|
2392
|
+
error: RoomsErrorCode;
|
|
2393
|
+
message: string;
|
|
2394
|
+
} | {
|
|
2395
|
+
ok: true;
|
|
2396
|
+
}>;
|
|
2397
|
+
setSchema: (schema: Readonly<{
|
|
2398
|
+
version: number;
|
|
2399
|
+
types: Readonly<Record<string, RoomType>>;
|
|
2400
|
+
maxStoredBytes?: number;
|
|
2401
|
+
}>) => Promise<{
|
|
2094
2402
|
error: RoomsErrorCode;
|
|
2095
2403
|
message: string;
|
|
2096
2404
|
} | {
|
|
@@ -2207,6 +2515,7 @@ declare const currentApiEpoch: () => {
|
|
|
2207
2515
|
mailbox: RoomMailbox | null;
|
|
2208
2516
|
temporaryClaims?: true;
|
|
2209
2517
|
mailboxSwitch?: true;
|
|
2518
|
+
schemas?: true;
|
|
2210
2519
|
defaults: () => Promise<{
|
|
2211
2520
|
readonly send: boolean;
|
|
2212
2521
|
readonly receive: boolean;
|
|
@@ -2222,13 +2531,40 @@ declare const currentApiEpoch: () => {
|
|
|
2222
2531
|
};
|
|
2223
2532
|
maxMessageBytes: number;
|
|
2224
2533
|
}[]>;
|
|
2225
|
-
|
|
2534
|
+
schema: () => Promise<{
|
|
2535
|
+
readonly version: number;
|
|
2536
|
+
readonly types: {
|
|
2537
|
+
readonly [x: string]: {
|
|
2538
|
+
readonly envelope: {
|
|
2539
|
+
readonly [x: string]: unknown;
|
|
2540
|
+
};
|
|
2541
|
+
readonly send?: 'owner' | 'accounts' | 'members';
|
|
2542
|
+
readonly maxBytes?: number;
|
|
2543
|
+
readonly perAccount?: {
|
|
2544
|
+
readonly messages?: number;
|
|
2545
|
+
readonly bytes?: number;
|
|
2546
|
+
} | undefined;
|
|
2547
|
+
};
|
|
2548
|
+
};
|
|
2549
|
+
readonly maxStoredBytes?: number;
|
|
2550
|
+
} | null>;
|
|
2551
|
+
send: (text: string, envelope?: string | undefined) => Promise<{
|
|
2552
|
+
error: RoomsErrorCode;
|
|
2553
|
+
message: string;
|
|
2554
|
+
} | {
|
|
2555
|
+
ok: true;
|
|
2556
|
+
}>;
|
|
2557
|
+
edit: (seq: number, text: string, envelope?: string | undefined) => Promise<{
|
|
2226
2558
|
error: RoomsErrorCode;
|
|
2227
2559
|
message: string;
|
|
2228
2560
|
} | {
|
|
2229
2561
|
ok: true;
|
|
2230
2562
|
}>;
|
|
2231
|
-
|
|
2563
|
+
setSchema: (schema: Readonly<{
|
|
2564
|
+
version: number;
|
|
2565
|
+
types: Readonly<Record<string, RoomType>>;
|
|
2566
|
+
maxStoredBytes?: number;
|
|
2567
|
+
}>) => Promise<{
|
|
2232
2568
|
error: RoomsErrorCode;
|
|
2233
2569
|
message: string;
|
|
2234
2570
|
} | {
|
package/api-BmaUJUUp.cjs
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
let e=require("osra");var t=1e4,n=16,r=e=>{let t;try{t=e.contentWindow}catch{return!0}if(!t)return!0;try{let e=t.location.href;return e!==``&&e!==`about:blank`}catch{return!0}},i=(e,i=t)=>new Promise(t=>{if(r(e))return t();let a=()=>{clearInterval(o),clearTimeout(s),e.removeEventListener(`load`,a),t()},o=setInterval(()=>{r(e)&&a()},n),s=setTimeout(a,i);e.addEventListener(`load`,a)}),a=5e3,o=(e,t,n)=>{let i=1,o,s=()=>{clearTimeout(o),o=setTimeout(()=>{if(e.isConnected){if(i>=4)return console.error(`FKN @fkn/lib: ${t} did not load in ${i} tries; reload the page`);i+=1,e.contentWindow?.location.replace(t)}},a)},c=t=>{t.source===e.contentWindow&&t.origin===n&&(clearTimeout(o),removeEventListener(`message`,c),e.removeEventListener(`load`,s))};addEventListener(`message`,c),e.addEventListener(`load`,s),r(e)&&s()},s=32,c=8,l=120,u=typeof CSS<`u`&&CSS.supports(`clip-path`,`path('M0 0H1V1H0Z')`),d=typeof CSS<`u`&&CSS.supports(`clip-path`,`polygon(nonzero, 0px 0px, 1px 0px, 1px 1px)`),f=e=>{let t=e.style;t.setProperty(`display`,`block`,`important`),t.setProperty(`position`,`fixed`,`important`),t.setProperty(`top`,`0`,`important`),t.setProperty(`left`,`0`,`important`),t.setProperty(`width`,`100%`,`important`),t.setProperty(`height`,`100%`,`important`),t.setProperty(`border`,`none`,`important`),t.setProperty(`padding`,`0`,`important`),t.setProperty(`box-sizing`,`border-box`,`important`),t.setProperty(`clip-path`,`inset(100%)`,`important`),t.setProperty(`background`,`transparent`),t.setProperty(`color-scheme`,`normal`),t.setProperty(`z-index`,`2147483647`),e.setAttribute(`title`,`FKN`)},p=({x:e,y:t,width:n,height:r,radius:i})=>{if(!i)return`M${e} ${t}h${n}v${r}h${-n}Z`;let a=Math.min(n,r)/2,[o,s,c,l]=i.map(e=>Math.max(0,Math.min(e,a)));return`M${e+o} ${t}h${n-o-s}a${s} ${s} 0 0 1 ${s} ${s}v${r-s-c}a${c} ${c} 0 0 1 ${-c} ${c}h${-(n-c-l)}a${l} ${l} 0 0 1 ${-l} ${-l}v${-(r-l-o)}a${o} ${o} 0 0 1 ${o} ${-o}Z`},m=()=>u&&d,h=({x:e,y:t,width:n,height:r})=>[[e,t],[e+n,t],[e+n,t+r],[e,t+r],[e,t]],g=e=>{let t=e[0];if(!t)return[];let n=h(t)[0],r=[];return e.forEach((t,i)=>{r.push(...h(t)),i>0&&i<e.length-1&&r.push(n)}),r},ee=e=>`polygon(nonzero, ${g(e).map(([e,t])=>`${e}px ${t}px`).join(`, `)})`,te=({x:e,y:t,width:n,height:r,radius:i},a)=>{let o=`${t}px ${a.width-e-n}px ${a.height-t-r}px ${e}px`;return i?`inset(${o} round ${i.map(e=>`${e}px`).join(` `)})`:`inset(${o})`},ne=(e,t,n)=>{if(t)return`none`;if(e.length===0)return`inset(100%)`;let r=e.length===1?e[0]:void 0;return r?te(r,n):d&&e.length<=5&&!e.some(e=>e.radius)?ee(e):`path('${e.map(p).join(``)}')`},re=e=>{if(e.length<2)return null;let t=Math.min(...e.map(e=>e.x)),n=Math.min(...e.map(e=>e.y));return{x:t,y:n,width:Math.max(...e.map(e=>e.x+e.width))-t,height:Math.max(...e.map(e=>e.y+e.height))-n}},ie=(e,t,n)=>t>=e.x&&t<e.x+e.width&&n>=e.y&&n<e.y+e.height,ae=16,_=(e,t,n)=>t===1?e*ae:t===2?e*n:e,oe=(e,t,n)=>{let r=getComputedStyle(e);return n!==0&&/auto|scroll/.test(r.overflowY)&&e.scrollHeight>e.clientHeight?!0:t!==0&&/auto|scroll/.test(r.overflowX)&&e.scrollWidth>e.clientWidth},se=(e,t,n)=>{for(let r=e;r;r=r.parentElement)if(oe(r,t,n))return r;return document.scrollingElement},v=null,y=null,b=e=>({width:e.offsetWidth||window.innerWidth,height:e.offsetHeight||window.innerHeight}),x=e=>{if(!y||!v||!ie(y,e.clientX,e.clientY))return;let t=document.elementFromPoint(e.clientX,e.clientY);if(!t||t===v)return;let n=_(e.deltaX,e.deltaMode,window.innerWidth),r=_(e.deltaY,e.deltaMode,window.innerHeight),i=se(t,n,r);i&&(i.scrollBy({left:n,top:r,behavior:`instant`}),e.cancelable&&e.preventDefault())},ce=e=>{let t=y!==null;y=e,t!==(e!==null)&&(e?window.addEventListener(`wheel`,x,{capture:!0,passive:!1}):window.removeEventListener(`wheel`,x,{capture:!0}))},S=0,le=e=>{if(e===S)return;S=e;let t=document.documentElement.style;e>0?(t.setProperty(`margin-top`,`${e}px`,`important`),t.setProperty(`--fkn-inset-top`,`${e}px`)):(t.removeProperty(`margin-top`),t.removeProperty(`--fkn-inset-top`))},C=(e,{modal:t,rects:n,inset:r},i)=>{if(le(r),!u){let r=t||n.length>0;e.style.setProperty(`pointer-events`,r?`auto`:`none`,`important`),e.style.setProperty(`visibility`,r?`visible`:`hidden`,`important`);return}let a=ne(n,t,i),o=a===`none`||CSS.supports(`clip-path`,a)?a:`inset(100%)`;e.style.setProperty(`clip-path`,o,`important`),ce(t||o!==a?null:re(n))},ue=e=>{if(typeof e!=`object`||!e)return 0;let{top:t}=e;return typeof t!=`number`||!Number.isFinite(t)||t<=0?0:Math.min(Math.round(t),l)},de=e=>{if(Array.isArray(e)&&e.length===4&&e.every(e=>typeof e==`number`&&Number.isFinite(e)&&e>=0))return e.some(e=>e>0)?e:void 0},fe=(e,t)=>{if(typeof e!=`object`||!e)return null;let{x:n,y:r,width:i,height:a}=e;if(![n,r,i,a].every(e=>typeof e==`number`&&Number.isFinite(e)))return null;let o=t.width,s=t.height,c=Math.max(0,Math.min(Math.round(n),o)),l=Math.max(0,Math.min(Math.round(r),s)),u=Math.max(c,Math.min(Math.round(n+i),o)),d=Math.max(l,Math.min(Math.round(r+a),s)),f=de(e.radius);return{x:c,y:l,width:u-c,height:d-l,...f?{radius:f}:{}}},w={"not-rendered":`this page is not painting it at all, so it or an ancestor is display:none, or the frame was moved out of the layout`,clipped:`it is clipped away or positioned outside the viewport`,"not-shown":`it is rendered but would not be seen, so either something is drawn over it, or it or an ancestor has opacity below 1, visibility:hidden, or a filter`},pe=e=>Array.isArray(e)?e.slice(0,c).flatMap(e=>{if(typeof e!=`object`||!e)return[];let{kind:t,cause:n,level:r}=e;return typeof t!=`string`||t.length>40||typeof n!=`string`||!(n in w)||r!==`full`&&r!==`liveness`?[]:[{kind:t,cause:n,level:r}]}):[],T=new Set,me=e=>{for(let{kind:t,cause:n,level:r}of e)T.has(t)||(T.add(t),console.error(`[FKN] The FKN ${JSON.stringify(t)} is not visible on this page: ${w[n]}. Nobody using this page can see or answer it.
|
|
2
|
+
@fkn/lib draws its UI inside <iframe title="FKN"> and sets display, position, top, left, width, height, border, padding, box-sizing, clip-path and z-index on that element. Leave those as they are, then check for an ancestor with opacity, visibility, display or a clipping transform, and for an element stacked above it.`+(r===`liveness`?`
|
|
3
|
+
This browser reports limited detail, so the cause above is a best guess.`:``)))},E=(e,t)=>{if(typeof e!=`object`||!e)return null;let n=e,r=(Array.isArray(n.rects)?n.rects.slice(0,s):[]).map(e=>fe(e,t)).filter(e=>e!==null&&e.width>0&&e.height>0);return{modal:n.modal===!0,rects:r,hidden:pe(n.hidden),inset:ue(n.inset)}},he=()=>v!==null,D=null,O=null,ge=()=>{if(!v||D===null)return;let e=b(v),t=E(D,e);t&&C(v,t,e)},_e=e=>{typeof ResizeObserver<`u`&&(O??=new ResizeObserver(ge),O.disconnect(),O.observe(e))},ve=e=>{f(e),C(e,{modal:!1,rects:[],hidden:[],inset:0},b(e)),v=e,_e(e)},ye=e=>{if(!v)return;let t=b(v),n=E(e,t);n&&(D=e,C(v,n,t),me(n.hidden))},be=`fkn.app,fkn.dev,sdbx.app,horionsoftware.com,webvpn.dev,fknmail.app,clairv.app,fkn.cloudflareaccess.com,me-62e.workers.dev,62e9d4fbf21d90ebd4342e54b4babbd3.r2.cloudflarestorage.com,62e9d4fbf21d90ebd4342e54b4babbd3.eu.r2.cloudflarestorage.com,62e9d4fbf21d90ebd4342e54b4babbd3.fedramp.r2.cloudflarestorage.com,pub-8a3dc68041874c7e9c9a54bde972605a.r2.dev,pub-3d97d79220b94243812e60b0e742f2c5.r2.dev,pub-f8bd4876cc3c4b4a951715da5958e49c.r2.dev,web-b3z.pages.dev,fkn-console.pages.dev,dev-dms.pages.dev,fkn-www.pages.dev,fkn-homepage.pages.dev,fkn-sandbox.pages.dev,internal-3ar.pages.dev,stub-ben.pages.dev,ripple-3t3.pages.dev,media-player-e3s.pages.dev,youtube-3c4.pages.dev,horionsoftware.pages.dev,container-ckf.pages.dev,stub-plugin.pages.dev,social-3n2.pages.dev,plugins.banou.dev`.split(`,`),k=e=>e.toLowerCase().replace(/\.+$/,``),xe=[`79.127.204.69`,`152.233.49.59`],Se=e=>{let t;try{t=new URL(`http://${e.includes(`:`)&&!e.startsWith(`[`)?`[${e}]`:e}/`).hostname}catch{return}let n=/^\[(?:::ffff:|64:ff9b::)([0-9a-f]{1,4}):([0-9a-f]{1,4})\]$/.exec(t);if(n){let e=parseInt(n[1],16),t=parseInt(n[2],16);return[e>>8,e&255,t>>8,t&255].join(`.`)}return/^\d+\.\d+\.\d+\.\d+$/.test(t)?t:void 0},Ce=e=>{let t=k(e);return be.some(e=>t===e||t.endsWith(`.${e}`))},we=e=>{if(Ce(e))return!0;let t=Se(k(e));return t!==void 0&&xe.includes(t)},Te=e=>{let t=typeof e==`string`?e:e instanceof URL?e.href:e.url,n;try{n=new URL(t)}catch{return}if(we(n.hostname))throw Error(`fetch refuses FKN platform domains (${n.hostname})`)},Ee=`autoplay.fullscreen.picture-in-picture.encrypted-media.screen-wake-lock.speaker-selection.captured-surface-control.camera.microphone.display-capture.geolocation.midi.usb.serial.hid.bluetooth.gamepad.keyboard-map.xr-spatial-tracking.accelerometer.gyroscope.magnetometer.ambient-light-sensor.compute-pressure.clipboard-read.clipboard-write.storage-access.window-management.local-fonts.idle-detection.web-share.sync-xhr.unload.payment.publickey-credentials-get.publickey-credentials-create.otp-credentials.identity-credentials-get.digital-credentials-get.local-network.local-network-access.loopback-network`.split(`.`),De=()=>{try{let e=globalThis.document?.featurePolicy?.features?.();return e===void 0?void 0:new Set(e)}catch{return}},A=(e=!0,t=De())=>[...Ee,...e?[`cross-origin-isolated`]:[]].filter(e=>t===void 0||t.has(e)).join(`; `),j=`https://fkn.app`,M=typeof globalThis<`u`&&globalThis.document?globalThis.document:void 0,N=typeof globalThis<`u`&&globalThis.crossOriginIsolated===!0,P=`${j}/api${N?`?coi=1`:``}`,F=`fkn-api-port`,Oe=`fkn-api-port-ack`,ke=2e3,Ae=()=>{if(!M||typeof window>`u`||window.parent===window)return Promise.resolve(void 0);let e;try{e=window.parent}catch{return Promise.resolve(void 0)}let t=new MessageChannel;return new Promise(n=>{let r=e=>{if(clearTimeout(a),t.port1.removeEventListener(`message`,i),!e)try{t.port1.close()}catch{}n(e)},i=e=>{e.data?.type===Oe&&r(t.port1)},a=setTimeout(()=>r(void 0),ke);t.port1.addEventListener(`message`,i),t.port1.start();try{e.postMessage({type:F},j,[t.port2])}catch{r(void 0)}})},I,je=()=>{if(I||!M)return I;let e=M.querySelector(`iframe[src="${P}"]`);if(e)I=e;else{let e=M.createElement(`iframe`);e.setAttribute(`allow`,A(N)),e.src=P,M.body.appendChild(e),I=e}return o(I,P,j),ve(I),I},L=(async()=>{if(!M)return;let e=await Ae();if(e)return{receive:e,emit:e};let t=je();if(!t)return;await i(t);let n=t.contentWindow;return n?{receive:window,emit:n}:void 0})(),Me=(e,{boundRetired:t=e=>e}={})=>{let n,r=0,i=!1,a=()=>{},o=()=>new Promise(e=>{a=e}),s=o(),c=s,l=new Set,u=new Set,d=0,f=0,p=()=>{let e=[...u];u.clear();let t=Error(`FKN: the broker was replaced while this call was pending; retry it`);for(let n of e)try{n(t)}catch{}};(async()=>{for await(let t of e){let e=++r;n={remote:t,epoch:e};let i=a;s=o(),i(t),p();for(let n of[...l])try{n(t,e)}catch{}}})().catch(()=>{});let m=async(e,r)=>{let a=n?.remote??await(i?t(s):s);for(let t of e.slice(0,-1))a=a[t];let o=a[e[e.length-1]??``];d=Date.now(),f+=1;let c=()=>{},l=new Promise((e,t)=>{c=t});u.add(c);try{return await Promise.race([Promise.resolve(o.apply(a,r)),l])}finally{--f,u.delete(c),d=Date.now()}},h=new Map,g=e=>{let t=e.join(`\0`),r=h.get(t);if(r)return r;let i=new Proxy(function(){},{get:(t,r)=>{if(typeof r!=`string`||r===`then`)return;let i=n;if(i){let t=i.remote;for(let n of e)t=t?.[n];if(t?.[r]===void 0)return}return g([...e,r])},apply:(t,n,r)=>m(e,r)});return h.set(t,i),i};return{facade:g([]),first:c.then(()=>{}),current:()=>n,onEpoch:e=>{if(l.add(e),n)try{e(n.remote,n.epoch)}catch{}return()=>{l.delete(e)}},lastCall:()=>d,inFlight:()=>f,routable:()=>n?Promise.resolve():s.then(()=>{}),retire:()=>{i=!0,n=void 0,p()}}},R=!1,z=new Set,B=()=>R,Ne=()=>{if(!R){R=!0;for(let e of[...z])try{e()}catch{}z.clear()}},V=e=>{R?e():z.add(e)},Pe=typeof window<`u`||typeof self<`u`,H=async()=>{if(typeof window<`u`)return L;if(typeof self<`u`)return{receive:self,emit:self}},U=`fkn-api`,Fe=`fkn-api-window`,Ie={async*[Symbol.asyncIterator](){let t=await H();if(!t){await new Promise(()=>{});return}if(!B()){let n=new AbortController;V(()=>n.abort());for await(let r of(0,e.expose)({},{key:U,transport:t,unregisterSignal:n.signal})){if(n.signal.aborted)break;yield r}}yield*(0,e.expose)({},{key:Fe,transport:t})}},W=!1,G=H().then(t=>new Promise(n=>{if(!t)return;let{receive:r}=t,i=t=>{(0,e.checkOsraMessageKey)(t.data,U)&&(r.removeEventListener(`message`,i),W=!0,n())};r.addEventListener(`message`,i)})),K=Me(Ie,{boundRetired:e=>Promise.race([e,G.then(()=>Q(e,()=>new Z))])});V(()=>K.retire());var q=Promise.race([K.first,new Promise(e=>V(e))]).then(()=>K.facade),J=8e3,Le=1e3,Y=!1,X=class extends Error{constructor(e,t){super(`@fkn/lib: no broker connection within ${t}ms, so ${e} could not be requested`),this.name=`BrokerUnreachableError`}},Z=class extends Error{constructor(){super(`FKN @fkn/lib: this page relays its FKN channel to a worker, and the FKN page it reached predates a channel of the page's own; reload`),this.name=`OwnChannelUnavailableError`}},Q=(e,t)=>{let n=Y?Le:J;return Promise.race([e,new Promise((e,r)=>setTimeout(()=>{Y=!0,r(t(n))},n))])},Re=e=>B()?Q(K.routable().then(()=>K.facade),t=>W?new Z:new X(e,t)):Q(q,t=>new X(e,t));V(()=>{G.then(()=>{let e=setTimeout(()=>console.error(new Z),J);K.routable().then(()=>clearTimeout(e))})});var $=K.onEpoch,ze=K.current,Be=K.lastCall,Ve=K.inFlight;$(e=>{he()&&e.overlay.setHost(ye,{exactClips:m()}).catch(()=>{})}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return Be}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return ze}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return Ne}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return Ve}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return Pe}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return Te}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return Re}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return $}});
|