@fkn/lib 0.9.53 → 0.9.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/{account-generation-BgiEc3fw.js → account-generation-CTB1J33G.js} +4 -3
  2. package/account-generation-DOuApHq5.cjs +1 -0
  3. package/{account-storage-IAVrRXTF.cjs → account-storage-CL0wLuQw.cjs} +1 -1
  4. package/{account-storage-DHl6bXdb.d.ts → account-storage-Co9IvkPr.d.ts} +3 -3
  5. package/{account-storage-DptsMWKl.js → account-storage-D1RiskV6.js} +2 -2
  6. package/account.cjs +1 -1
  7. package/account.d.ts +21 -11
  8. package/account.js +2 -2
  9. package/{api-mHRuM_Sd.d.ts → api-BSpQkgnM.d.ts} +1198 -30
  10. package/{api-CX9w35R2.js → api-BYtMzj8u.js} +1 -1
  11. package/{api-6wTec7WK.cjs → api-Csb5b8dE.cjs} +1 -1
  12. package/api.cjs +1 -1
  13. package/api.d.ts +2 -2
  14. package/api.js +1 -1
  15. package/cloud/dns.d.ts +1 -1
  16. package/cloud/fetch.cjs +1 -1
  17. package/cloud/fetch.d.ts +1 -1
  18. package/cloud/fetch.js +1 -1
  19. package/cloud/fs/promises.d.ts +1 -1
  20. package/cloud/fs.cjs +1 -1
  21. package/cloud/fs.d.ts +2 -2
  22. package/cloud/fs.js +1 -1
  23. package/cloud/net.d.ts +1 -1
  24. package/{cloud-CMEnCSBw.js → cloud-8sJ1Sg8n.js} +3 -3
  25. package/{cloud-Dykm74YZ.d.ts → cloud-BslRIoKs.d.ts} +3 -3
  26. package/{cloud-kg1hOpPJ.cjs → cloud-CI6WMBPa.cjs} +1 -1
  27. package/cloud.cjs +1 -1
  28. package/cloud.d.ts +4 -4
  29. package/cloud.js +2 -2
  30. package/{contract-BN0cD-Oq.d.ts → contract-DFycgFJK.d.ts} +160 -8
  31. package/contract.d.ts +2 -2
  32. package/dgram.cjs +1 -1
  33. package/dgram.d.ts +2 -2
  34. package/dgram.js +1 -1
  35. package/dns.cjs +1 -1
  36. package/dns.d.ts +1 -1
  37. package/dns.js +1 -1
  38. package/{extension-BdAR-wQ0.cjs → extension-BXI3MVXw.cjs} +1 -1
  39. package/{extension-DiyykwoW.js → extension-BmqjgSIQ.js} +3 -3
  40. package/extension.cjs +1 -1
  41. package/extension.js +2 -2
  42. package/fs/promises.cjs +1 -1
  43. package/fs/promises.d.ts +1 -1
  44. package/fs/promises.js +1 -1
  45. package/{fs-CPsnX6ti.cjs → fs-CPU00CI3.cjs} +1 -1
  46. package/{fs-BZv2djbS.d.ts → fs-DCJAYoYy.d.ts} +1 -1
  47. package/{fs-Cd1HK3C3.js → fs-ohcMNiu2.js} +2 -2
  48. package/fs.cjs +1 -1
  49. package/fs.d.ts +2 -2
  50. package/fs.js +2 -2
  51. package/http.d.ts +1 -1
  52. package/{index-DawD_N1P.d.ts → index-57lTXnoe.d.ts} +1 -1
  53. package/index.cjs +1 -1
  54. package/index.d.ts +4 -4
  55. package/index.js +5 -5
  56. package/{lib-C5N2rmbj.js → lib-BGAmzIcU.js} +1 -1
  57. package/{lib-C0xyv8BQ.cjs → lib-BiQ6cOZ7.cjs} +1 -1
  58. package/{net-Dq1KyRP0.d.ts → net-eEjhJ0AE.d.ts} +2 -2
  59. package/net.cjs +1 -1
  60. package/net.d.ts +1 -1
  61. package/net.js +1 -1
  62. package/package.json +1 -1
  63. package/packages.cjs +1 -1
  64. package/packages.d.ts +15 -2
  65. package/packages.js +114 -113
  66. package/{proxy-Cer0Iarp.d.ts → proxy-8hIHeEHD.d.ts} +2 -2
  67. package/{proxy-DhalpZoN.cjs → proxy-CL8j00ao.cjs} +1 -1
  68. package/{proxy-v_Z5aPh2.js → proxy-vAsYHMIa.js} +1 -1
  69. package/rooms.cjs +1 -1
  70. package/rooms.d.ts +43 -9
  71. package/rooms.js +167 -94
  72. package/storage.cjs +1 -1
  73. package/storage.d.ts +1 -1
  74. package/storage.js +3 -3
  75. package/account-generation-C5rMCyt1.cjs +0 -1
@@ -1,4 +1,4 @@
1
- import { D as IpFamily, Ft as UdpDatagram, H as ProxyFetchInput, Ht as WriteData, I as PackagesErrorCode, It as UdpSocketOptions, J as RoomClaimOptions, K as Resolvers, N as OverlayState, Nt as TcpSocketOptions, P as PackageQuery, Q as RoomEvent, R as PickOptions, T as InstallOptions, Tt as StoragePutWire, V as ProxyFetchInit, a as AccountChange, at as RoomPermission, b as FrameConsentAnswer, c as AdoptRequest, d as ConflictRequest, et as RoomJoinOptions, it as RoomOpenOptions, jt as TcpSocketListenerOptions, l as AdoptState, m as ConnectOptions, o as AccountPinOptions, p as ConnectAvailability, st as RoomsErrorCode, tt as RoomMailbox, u as ConflictChoice, x as FrameConsentRequest, xt as StorageErrorCode, z as Placement } from "./contract-BN0cD-Oq.js";
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
- send: (text: string) => Promise<{
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<{
332
350
  error: RoomsErrorCode;
333
351
  message: string;
334
352
  } | {
335
353
  ok: true;
336
354
  }>;
337
- edit: (seq: number, text: string) => Promise<{
355
+ edit: (seq: number, text: string, envelope?: string | undefined) => Promise<{
356
+ error: RoomsErrorCode;
357
+ message: string;
358
+ } | {
359
+ ok: true;
360
+ }>;
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
- send: (text: string) => Promise<{
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<{
470
516
  error: RoomsErrorCode;
471
517
  message: string;
472
518
  } | {
473
519
  ok: true;
474
520
  }>;
475
- edit: (seq: number, text: string) => Promise<{
521
+ edit: (seq: number, text: string, envelope?: string | undefined) => Promise<{
522
+ error: RoomsErrorCode;
523
+ message: string;
524
+ } | {
525
+ ok: true;
526
+ }>;
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
- send: (text: string) => Promise<{
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
- edit: (seq: number, text: string) => Promise<{
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
  } | {
@@ -687,26 +771,526 @@ declare const onApiEpoch: (listener: EpochListener<{
687
771
  error: RoomsErrorCode;
688
772
  message: string;
689
773
  } | {
690
- ok: true;
691
- }>;
692
- usage: () => Promise<{
774
+ ok: true;
775
+ }>;
776
+ usage: () => Promise<{
777
+ error: RoomsErrorCode;
778
+ message: string;
779
+ } | {
780
+ messages: number;
781
+ bytes: number;
782
+ cap: number;
783
+ archived: boolean;
784
+ } | null>;
785
+ on: (listener: (event: RoomEvent) => void) => Promise<() => Promise<void>>;
786
+ leave: () => Promise<void>;
787
+ closed: Promise<{
788
+ reason: 'left' | 'removed' | 'blocked' | 'ended' | 'unavailable';
789
+ }>;
790
+ } | {
791
+ error: RoomsErrorCode;
792
+ message: string;
793
+ }>;
794
+ guest: {
795
+ open: (name: string, options?: RoomOpenOptions | undefined) => Promise<{
796
+ id: string;
797
+ name: string;
798
+ key: string;
799
+ invite: string;
800
+ self: {
801
+ id: string;
802
+ permissions: {
803
+ readonly block: boolean;
804
+ readonly receive: boolean;
805
+ readonly remove: boolean;
806
+ readonly send: boolean;
807
+ };
808
+ maxMessageBytes: number;
809
+ };
810
+ owner: string;
811
+ claimed: boolean;
812
+ mailbox: RoomMailbox | null;
813
+ temporaryClaims?: true;
814
+ mailboxSwitch?: true;
815
+ schemas?: true;
816
+ defaults: () => Promise<{
817
+ readonly send: boolean;
818
+ readonly receive: boolean;
819
+ readonly maxMessageBytes: number;
820
+ }>;
821
+ members: () => Promise<{
822
+ id: string;
823
+ permissions: {
824
+ readonly block: boolean;
825
+ readonly receive: boolean;
826
+ readonly remove: boolean;
827
+ readonly send: boolean;
828
+ };
829
+ maxMessageBytes: number;
830
+ }[]>;
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<{
849
+ error: RoomsErrorCode;
850
+ message: string;
851
+ } | {
852
+ ok: true;
853
+ }>;
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<{
865
+ error: RoomsErrorCode;
866
+ message: string;
867
+ } | {
868
+ ok: true;
869
+ }>;
870
+ delete: (from: number, to?: number | undefined) => Promise<{
871
+ error: RoomsErrorCode;
872
+ message: string;
873
+ } | {
874
+ ok: true;
875
+ }>;
876
+ backlog: (after: number, limit?: number | undefined) => Promise<{
877
+ error: RoomsErrorCode;
878
+ message: string;
879
+ } | {
880
+ last: number;
881
+ more: boolean;
882
+ }>;
883
+ setDefault: (permission: "receive" | "send", value: boolean) => Promise<{
884
+ error: RoomsErrorCode;
885
+ message: string;
886
+ } | {
887
+ ok: true;
888
+ }>;
889
+ limit: (maxMessageBytes: number | null, id?: string | undefined) => Promise<{
890
+ error: RoomsErrorCode;
891
+ message: string;
892
+ } | {
893
+ ok: true;
894
+ }>;
895
+ grant: (id: string, permission: RoomPermission) => Promise<{
896
+ error: RoomsErrorCode;
897
+ message: string;
898
+ } | {
899
+ ok: true;
900
+ }>;
901
+ revoke: (id: string, permission: RoomPermission) => Promise<{
902
+ error: RoomsErrorCode;
903
+ message: string;
904
+ } | {
905
+ ok: true;
906
+ }>;
907
+ remove: (id: string) => Promise<{
908
+ error: RoomsErrorCode;
909
+ message: string;
910
+ } | {
911
+ ok: true;
912
+ }>;
913
+ block: (id: string) => Promise<{
914
+ error: RoomsErrorCode;
915
+ message: string;
916
+ } | {
917
+ ok: true;
918
+ }>;
919
+ unblock: (id: string) => Promise<{
920
+ error: RoomsErrorCode;
921
+ message: string;
922
+ } | {
923
+ ok: true;
924
+ }>;
925
+ claim: (options?: RoomClaimOptions | undefined) => Promise<{
926
+ error: RoomsErrorCode;
927
+ message: string;
928
+ } | {
929
+ ok: true;
930
+ }>;
931
+ setMailbox: (on: boolean) => Promise<{
932
+ error: RoomsErrorCode;
933
+ message: string;
934
+ } | {
935
+ ok: true;
936
+ }>;
937
+ release: () => Promise<{
938
+ error: RoomsErrorCode;
939
+ message: string;
940
+ } | {
941
+ ok: true;
942
+ }>;
943
+ usage: () => Promise<{
944
+ error: RoomsErrorCode;
945
+ message: string;
946
+ } | {
947
+ messages: number;
948
+ bytes: number;
949
+ cap: number;
950
+ archived: boolean;
951
+ } | null>;
952
+ on: (listener: (event: RoomEvent) => void) => Promise<() => Promise<void>>;
953
+ leave: () => Promise<void>;
954
+ closed: Promise<{
955
+ reason: 'left' | 'removed' | 'blocked' | 'ended' | 'unavailable';
956
+ }>;
957
+ } | {
958
+ error: RoomsErrorCode;
959
+ message: string;
960
+ }>;
961
+ create: (options?: RoomOpenOptions | undefined) => Promise<{
962
+ id: string;
963
+ name: string;
964
+ key: string;
965
+ invite: string;
966
+ self: {
967
+ id: string;
968
+ permissions: {
969
+ readonly block: boolean;
970
+ readonly receive: boolean;
971
+ readonly remove: boolean;
972
+ readonly send: boolean;
973
+ };
974
+ maxMessageBytes: number;
975
+ };
976
+ owner: string;
977
+ claimed: boolean;
978
+ mailbox: RoomMailbox | null;
979
+ temporaryClaims?: true;
980
+ mailboxSwitch?: true;
981
+ schemas?: true;
982
+ defaults: () => Promise<{
983
+ readonly send: boolean;
984
+ readonly receive: boolean;
985
+ readonly maxMessageBytes: number;
986
+ }>;
987
+ members: () => Promise<{
988
+ id: string;
989
+ permissions: {
990
+ readonly block: boolean;
991
+ readonly receive: boolean;
992
+ readonly remove: boolean;
993
+ readonly send: boolean;
994
+ };
995
+ maxMessageBytes: number;
996
+ }[]>;
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<{
1021
+ error: RoomsErrorCode;
1022
+ message: string;
1023
+ } | {
1024
+ ok: true;
1025
+ }>;
1026
+ setSchema: (schema: Readonly<{
1027
+ version: number;
1028
+ types: Readonly<Record<string, RoomType>>;
1029
+ maxStoredBytes?: number;
1030
+ }>) => Promise<{
1031
+ error: RoomsErrorCode;
1032
+ message: string;
1033
+ } | {
1034
+ ok: true;
1035
+ }>;
1036
+ delete: (from: number, to?: number | undefined) => Promise<{
1037
+ error: RoomsErrorCode;
1038
+ message: string;
1039
+ } | {
1040
+ ok: true;
1041
+ }>;
1042
+ backlog: (after: number, limit?: number | undefined) => Promise<{
1043
+ error: RoomsErrorCode;
1044
+ message: string;
1045
+ } | {
1046
+ last: number;
1047
+ more: boolean;
1048
+ }>;
1049
+ setDefault: (permission: "receive" | "send", value: boolean) => Promise<{
1050
+ error: RoomsErrorCode;
1051
+ message: string;
1052
+ } | {
1053
+ ok: true;
1054
+ }>;
1055
+ limit: (maxMessageBytes: number | null, id?: string | undefined) => Promise<{
1056
+ error: RoomsErrorCode;
1057
+ message: string;
1058
+ } | {
1059
+ ok: true;
1060
+ }>;
1061
+ grant: (id: string, permission: RoomPermission) => Promise<{
1062
+ error: RoomsErrorCode;
1063
+ message: string;
1064
+ } | {
1065
+ ok: true;
1066
+ }>;
1067
+ revoke: (id: string, permission: RoomPermission) => Promise<{
1068
+ error: RoomsErrorCode;
1069
+ message: string;
1070
+ } | {
1071
+ ok: true;
1072
+ }>;
1073
+ remove: (id: string) => Promise<{
1074
+ error: RoomsErrorCode;
1075
+ message: string;
1076
+ } | {
1077
+ ok: true;
1078
+ }>;
1079
+ block: (id: string) => Promise<{
1080
+ error: RoomsErrorCode;
1081
+ message: string;
1082
+ } | {
1083
+ ok: true;
1084
+ }>;
1085
+ unblock: (id: string) => Promise<{
1086
+ error: RoomsErrorCode;
1087
+ message: string;
1088
+ } | {
1089
+ ok: true;
1090
+ }>;
1091
+ claim: (options?: RoomClaimOptions | undefined) => Promise<{
1092
+ error: RoomsErrorCode;
1093
+ message: string;
1094
+ } | {
1095
+ ok: true;
1096
+ }>;
1097
+ setMailbox: (on: boolean) => Promise<{
1098
+ error: RoomsErrorCode;
1099
+ message: string;
1100
+ } | {
1101
+ ok: true;
1102
+ }>;
1103
+ release: () => Promise<{
1104
+ error: RoomsErrorCode;
1105
+ message: string;
1106
+ } | {
1107
+ ok: true;
1108
+ }>;
1109
+ usage: () => Promise<{
1110
+ error: RoomsErrorCode;
1111
+ message: string;
1112
+ } | {
1113
+ messages: number;
1114
+ bytes: number;
1115
+ cap: number;
1116
+ archived: boolean;
1117
+ } | null>;
1118
+ on: (listener: (event: RoomEvent) => void) => Promise<() => Promise<void>>;
1119
+ leave: () => Promise<void>;
1120
+ closed: Promise<{
1121
+ reason: 'left' | 'removed' | 'blocked' | 'ended' | 'unavailable';
1122
+ }>;
1123
+ } | {
1124
+ error: RoomsErrorCode;
1125
+ message: string;
1126
+ }>;
1127
+ join: (invite: string, options?: RoomJoinOptions | undefined) => Promise<{
1128
+ id: string;
1129
+ name: string;
1130
+ key: string;
1131
+ invite: string;
1132
+ self: {
1133
+ id: string;
1134
+ permissions: {
1135
+ readonly block: boolean;
1136
+ readonly receive: boolean;
1137
+ readonly remove: boolean;
1138
+ readonly send: boolean;
1139
+ };
1140
+ maxMessageBytes: number;
1141
+ };
1142
+ owner: string;
1143
+ claimed: boolean;
1144
+ mailbox: RoomMailbox | null;
1145
+ temporaryClaims?: true;
1146
+ mailboxSwitch?: true;
1147
+ schemas?: true;
1148
+ defaults: () => Promise<{
1149
+ readonly send: boolean;
1150
+ readonly receive: boolean;
1151
+ readonly maxMessageBytes: number;
1152
+ }>;
1153
+ members: () => Promise<{
1154
+ id: string;
1155
+ permissions: {
1156
+ readonly block: boolean;
1157
+ readonly receive: boolean;
1158
+ readonly remove: boolean;
1159
+ readonly send: boolean;
1160
+ };
1161
+ maxMessageBytes: number;
1162
+ }[]>;
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<{
1187
+ error: RoomsErrorCode;
1188
+ message: string;
1189
+ } | {
1190
+ ok: true;
1191
+ }>;
1192
+ setSchema: (schema: Readonly<{
1193
+ version: number;
1194
+ types: Readonly<Record<string, RoomType>>;
1195
+ maxStoredBytes?: number;
1196
+ }>) => Promise<{
1197
+ error: RoomsErrorCode;
1198
+ message: string;
1199
+ } | {
1200
+ ok: true;
1201
+ }>;
1202
+ delete: (from: number, to?: number | undefined) => Promise<{
1203
+ error: RoomsErrorCode;
1204
+ message: string;
1205
+ } | {
1206
+ ok: true;
1207
+ }>;
1208
+ backlog: (after: number, limit?: number | undefined) => Promise<{
1209
+ error: RoomsErrorCode;
1210
+ message: string;
1211
+ } | {
1212
+ last: number;
1213
+ more: boolean;
1214
+ }>;
1215
+ setDefault: (permission: "receive" | "send", value: boolean) => Promise<{
1216
+ error: RoomsErrorCode;
1217
+ message: string;
1218
+ } | {
1219
+ ok: true;
1220
+ }>;
1221
+ limit: (maxMessageBytes: number | null, id?: string | undefined) => Promise<{
1222
+ error: RoomsErrorCode;
1223
+ message: string;
1224
+ } | {
1225
+ ok: true;
1226
+ }>;
1227
+ grant: (id: string, permission: RoomPermission) => Promise<{
1228
+ error: RoomsErrorCode;
1229
+ message: string;
1230
+ } | {
1231
+ ok: true;
1232
+ }>;
1233
+ revoke: (id: string, permission: RoomPermission) => Promise<{
1234
+ error: RoomsErrorCode;
1235
+ message: string;
1236
+ } | {
1237
+ ok: true;
1238
+ }>;
1239
+ remove: (id: string) => Promise<{
1240
+ error: RoomsErrorCode;
1241
+ message: string;
1242
+ } | {
1243
+ ok: true;
1244
+ }>;
1245
+ block: (id: string) => Promise<{
1246
+ error: RoomsErrorCode;
1247
+ message: string;
1248
+ } | {
1249
+ ok: true;
1250
+ }>;
1251
+ unblock: (id: string) => Promise<{
1252
+ error: RoomsErrorCode;
1253
+ message: string;
1254
+ } | {
1255
+ ok: true;
1256
+ }>;
1257
+ claim: (options?: RoomClaimOptions | undefined) => Promise<{
1258
+ error: RoomsErrorCode;
1259
+ message: string;
1260
+ } | {
1261
+ ok: true;
1262
+ }>;
1263
+ setMailbox: (on: boolean) => Promise<{
1264
+ error: RoomsErrorCode;
1265
+ message: string;
1266
+ } | {
1267
+ ok: true;
1268
+ }>;
1269
+ release: () => Promise<{
1270
+ error: RoomsErrorCode;
1271
+ message: string;
1272
+ } | {
1273
+ ok: true;
1274
+ }>;
1275
+ usage: () => Promise<{
1276
+ error: RoomsErrorCode;
1277
+ message: string;
1278
+ } | {
1279
+ messages: number;
1280
+ bytes: number;
1281
+ cap: number;
1282
+ archived: boolean;
1283
+ } | null>;
1284
+ on: (listener: (event: RoomEvent) => void) => Promise<() => Promise<void>>;
1285
+ leave: () => Promise<void>;
1286
+ closed: Promise<{
1287
+ reason: 'left' | 'removed' | 'blocked' | 'ended' | 'unavailable';
1288
+ }>;
1289
+ } | {
693
1290
  error: RoomsErrorCode;
694
1291
  message: string;
695
- } | {
696
- messages: number;
697
- bytes: number;
698
- cap: number;
699
- archived: boolean;
700
- } | null>;
701
- on: (listener: (event: RoomEvent) => void) => Promise<() => Promise<void>>;
702
- leave: () => Promise<void>;
703
- closed: Promise<{
704
- reason: 'left' | 'removed' | 'blocked' | 'ended' | 'unavailable';
705
1292
  }>;
706
- } | {
707
- error: RoomsErrorCode;
708
- message: string;
709
- }>;
1293
+ };
710
1294
  };
711
1295
  storage: {
712
1296
  available: () => Promise<boolean>;
@@ -1100,6 +1684,7 @@ declare const currentApiEpoch: () => {
1100
1684
  mailbox: RoomMailbox | null;
1101
1685
  temporaryClaims?: true;
1102
1686
  mailboxSwitch?: true;
1687
+ schemas?: true;
1103
1688
  defaults: () => Promise<{
1104
1689
  readonly send: boolean;
1105
1690
  readonly receive: boolean;
@@ -1115,13 +1700,40 @@ declare const currentApiEpoch: () => {
1115
1700
  };
1116
1701
  maxMessageBytes: number;
1117
1702
  }[]>;
1118
- send: (text: string) => Promise<{
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<{
1721
+ error: RoomsErrorCode;
1722
+ message: string;
1723
+ } | {
1724
+ ok: true;
1725
+ }>;
1726
+ edit: (seq: number, text: string, envelope?: string | undefined) => Promise<{
1119
1727
  error: RoomsErrorCode;
1120
1728
  message: string;
1121
1729
  } | {
1122
1730
  ok: true;
1123
1731
  }>;
1124
- edit: (seq: number, text: string) => Promise<{
1732
+ setSchema: (schema: Readonly<{
1733
+ version: number;
1734
+ types: Readonly<Record<string, RoomType>>;
1735
+ maxStoredBytes?: number;
1736
+ }>) => Promise<{
1125
1737
  error: RoomsErrorCode;
1126
1738
  message: string;
1127
1739
  } | {
@@ -1238,6 +1850,7 @@ declare const currentApiEpoch: () => {
1238
1850
  mailbox: RoomMailbox | null;
1239
1851
  temporaryClaims?: true;
1240
1852
  mailboxSwitch?: true;
1853
+ schemas?: true;
1241
1854
  defaults: () => Promise<{
1242
1855
  readonly send: boolean;
1243
1856
  readonly receive: boolean;
@@ -1253,13 +1866,40 @@ declare const currentApiEpoch: () => {
1253
1866
  };
1254
1867
  maxMessageBytes: number;
1255
1868
  }[]>;
1256
- send: (text: string) => Promise<{
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<{
1257
1893
  error: RoomsErrorCode;
1258
1894
  message: string;
1259
1895
  } | {
1260
1896
  ok: true;
1261
1897
  }>;
1262
- edit: (seq: number, text: string) => Promise<{
1898
+ setSchema: (schema: Readonly<{
1899
+ version: number;
1900
+ types: Readonly<Record<string, RoomType>>;
1901
+ maxStoredBytes?: number;
1902
+ }>) => Promise<{
1263
1903
  error: RoomsErrorCode;
1264
1904
  message: string;
1265
1905
  } | {
@@ -1376,6 +2016,7 @@ declare const currentApiEpoch: () => {
1376
2016
  mailbox: RoomMailbox | null;
1377
2017
  temporaryClaims?: true;
1378
2018
  mailboxSwitch?: true;
2019
+ schemas?: true;
1379
2020
  defaults: () => Promise<{
1380
2021
  readonly send: boolean;
1381
2022
  readonly receive: boolean;
@@ -1391,13 +2032,40 @@ declare const currentApiEpoch: () => {
1391
2032
  };
1392
2033
  maxMessageBytes: number;
1393
2034
  }[]>;
1394
- send: (text: string) => Promise<{
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<{
1395
2059
  error: RoomsErrorCode;
1396
2060
  message: string;
1397
2061
  } | {
1398
2062
  ok: true;
1399
2063
  }>;
1400
- edit: (seq: number, text: string) => Promise<{
2064
+ setSchema: (schema: Readonly<{
2065
+ version: number;
2066
+ types: Readonly<Record<string, RoomType>>;
2067
+ maxStoredBytes?: number;
2068
+ }>) => Promise<{
1401
2069
  error: RoomsErrorCode;
1402
2070
  message: string;
1403
2071
  } | {
@@ -1494,6 +2162,506 @@ declare const currentApiEpoch: () => {
1494
2162
  error: RoomsErrorCode;
1495
2163
  message: string;
1496
2164
  }>;
2165
+ guest: {
2166
+ open: (name: string, options?: RoomOpenOptions | undefined) => Promise<{
2167
+ id: string;
2168
+ name: string;
2169
+ key: string;
2170
+ invite: string;
2171
+ self: {
2172
+ id: string;
2173
+ permissions: {
2174
+ readonly block: boolean;
2175
+ readonly receive: boolean;
2176
+ readonly remove: boolean;
2177
+ readonly send: boolean;
2178
+ };
2179
+ maxMessageBytes: number;
2180
+ };
2181
+ owner: string;
2182
+ claimed: boolean;
2183
+ mailbox: RoomMailbox | null;
2184
+ temporaryClaims?: true;
2185
+ mailboxSwitch?: true;
2186
+ schemas?: true;
2187
+ defaults: () => Promise<{
2188
+ readonly send: boolean;
2189
+ readonly receive: boolean;
2190
+ readonly maxMessageBytes: number;
2191
+ }>;
2192
+ members: () => Promise<{
2193
+ id: string;
2194
+ permissions: {
2195
+ readonly block: boolean;
2196
+ readonly receive: boolean;
2197
+ readonly remove: boolean;
2198
+ readonly send: boolean;
2199
+ };
2200
+ maxMessageBytes: number;
2201
+ }[]>;
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<{
2226
+ error: RoomsErrorCode;
2227
+ message: string;
2228
+ } | {
2229
+ ok: true;
2230
+ }>;
2231
+ setSchema: (schema: Readonly<{
2232
+ version: number;
2233
+ types: Readonly<Record<string, RoomType>>;
2234
+ maxStoredBytes?: number;
2235
+ }>) => Promise<{
2236
+ error: RoomsErrorCode;
2237
+ message: string;
2238
+ } | {
2239
+ ok: true;
2240
+ }>;
2241
+ delete: (from: number, to?: number | undefined) => Promise<{
2242
+ error: RoomsErrorCode;
2243
+ message: string;
2244
+ } | {
2245
+ ok: true;
2246
+ }>;
2247
+ backlog: (after: number, limit?: number | undefined) => Promise<{
2248
+ error: RoomsErrorCode;
2249
+ message: string;
2250
+ } | {
2251
+ last: number;
2252
+ more: boolean;
2253
+ }>;
2254
+ setDefault: (permission: "receive" | "send", value: boolean) => Promise<{
2255
+ error: RoomsErrorCode;
2256
+ message: string;
2257
+ } | {
2258
+ ok: true;
2259
+ }>;
2260
+ limit: (maxMessageBytes: number | null, id?: string | undefined) => Promise<{
2261
+ error: RoomsErrorCode;
2262
+ message: string;
2263
+ } | {
2264
+ ok: true;
2265
+ }>;
2266
+ grant: (id: string, permission: RoomPermission) => Promise<{
2267
+ error: RoomsErrorCode;
2268
+ message: string;
2269
+ } | {
2270
+ ok: true;
2271
+ }>;
2272
+ revoke: (id: string, permission: RoomPermission) => Promise<{
2273
+ error: RoomsErrorCode;
2274
+ message: string;
2275
+ } | {
2276
+ ok: true;
2277
+ }>;
2278
+ remove: (id: string) => Promise<{
2279
+ error: RoomsErrorCode;
2280
+ message: string;
2281
+ } | {
2282
+ ok: true;
2283
+ }>;
2284
+ block: (id: string) => Promise<{
2285
+ error: RoomsErrorCode;
2286
+ message: string;
2287
+ } | {
2288
+ ok: true;
2289
+ }>;
2290
+ unblock: (id: string) => Promise<{
2291
+ error: RoomsErrorCode;
2292
+ message: string;
2293
+ } | {
2294
+ ok: true;
2295
+ }>;
2296
+ claim: (options?: RoomClaimOptions | undefined) => Promise<{
2297
+ error: RoomsErrorCode;
2298
+ message: string;
2299
+ } | {
2300
+ ok: true;
2301
+ }>;
2302
+ setMailbox: (on: boolean) => Promise<{
2303
+ error: RoomsErrorCode;
2304
+ message: string;
2305
+ } | {
2306
+ ok: true;
2307
+ }>;
2308
+ release: () => Promise<{
2309
+ error: RoomsErrorCode;
2310
+ message: string;
2311
+ } | {
2312
+ ok: true;
2313
+ }>;
2314
+ usage: () => Promise<{
2315
+ error: RoomsErrorCode;
2316
+ message: string;
2317
+ } | {
2318
+ messages: number;
2319
+ bytes: number;
2320
+ cap: number;
2321
+ archived: boolean;
2322
+ } | null>;
2323
+ on: (listener: (event: RoomEvent) => void) => Promise<() => Promise<void>>;
2324
+ leave: () => Promise<void>;
2325
+ closed: Promise<{
2326
+ reason: 'left' | 'removed' | 'blocked' | 'ended' | 'unavailable';
2327
+ }>;
2328
+ } | {
2329
+ error: RoomsErrorCode;
2330
+ message: string;
2331
+ }>;
2332
+ create: (options?: RoomOpenOptions | undefined) => Promise<{
2333
+ id: string;
2334
+ name: string;
2335
+ key: string;
2336
+ invite: string;
2337
+ self: {
2338
+ id: string;
2339
+ permissions: {
2340
+ readonly block: boolean;
2341
+ readonly receive: boolean;
2342
+ readonly remove: boolean;
2343
+ readonly send: boolean;
2344
+ };
2345
+ maxMessageBytes: number;
2346
+ };
2347
+ owner: string;
2348
+ claimed: boolean;
2349
+ mailbox: RoomMailbox | null;
2350
+ temporaryClaims?: true;
2351
+ mailboxSwitch?: true;
2352
+ schemas?: true;
2353
+ defaults: () => Promise<{
2354
+ readonly send: boolean;
2355
+ readonly receive: boolean;
2356
+ readonly maxMessageBytes: number;
2357
+ }>;
2358
+ members: () => Promise<{
2359
+ id: string;
2360
+ permissions: {
2361
+ readonly block: boolean;
2362
+ readonly receive: boolean;
2363
+ readonly remove: boolean;
2364
+ readonly send: boolean;
2365
+ };
2366
+ maxMessageBytes: number;
2367
+ }[]>;
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<{
2386
+ error: RoomsErrorCode;
2387
+ message: string;
2388
+ } | {
2389
+ ok: true;
2390
+ }>;
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<{
2402
+ error: RoomsErrorCode;
2403
+ message: string;
2404
+ } | {
2405
+ ok: true;
2406
+ }>;
2407
+ delete: (from: number, to?: number | undefined) => Promise<{
2408
+ error: RoomsErrorCode;
2409
+ message: string;
2410
+ } | {
2411
+ ok: true;
2412
+ }>;
2413
+ backlog: (after: number, limit?: number | undefined) => Promise<{
2414
+ error: RoomsErrorCode;
2415
+ message: string;
2416
+ } | {
2417
+ last: number;
2418
+ more: boolean;
2419
+ }>;
2420
+ setDefault: (permission: "receive" | "send", value: boolean) => Promise<{
2421
+ error: RoomsErrorCode;
2422
+ message: string;
2423
+ } | {
2424
+ ok: true;
2425
+ }>;
2426
+ limit: (maxMessageBytes: number | null, id?: string | undefined) => Promise<{
2427
+ error: RoomsErrorCode;
2428
+ message: string;
2429
+ } | {
2430
+ ok: true;
2431
+ }>;
2432
+ grant: (id: string, permission: RoomPermission) => Promise<{
2433
+ error: RoomsErrorCode;
2434
+ message: string;
2435
+ } | {
2436
+ ok: true;
2437
+ }>;
2438
+ revoke: (id: string, permission: RoomPermission) => Promise<{
2439
+ error: RoomsErrorCode;
2440
+ message: string;
2441
+ } | {
2442
+ ok: true;
2443
+ }>;
2444
+ remove: (id: string) => Promise<{
2445
+ error: RoomsErrorCode;
2446
+ message: string;
2447
+ } | {
2448
+ ok: true;
2449
+ }>;
2450
+ block: (id: string) => Promise<{
2451
+ error: RoomsErrorCode;
2452
+ message: string;
2453
+ } | {
2454
+ ok: true;
2455
+ }>;
2456
+ unblock: (id: string) => Promise<{
2457
+ error: RoomsErrorCode;
2458
+ message: string;
2459
+ } | {
2460
+ ok: true;
2461
+ }>;
2462
+ claim: (options?: RoomClaimOptions | undefined) => Promise<{
2463
+ error: RoomsErrorCode;
2464
+ message: string;
2465
+ } | {
2466
+ ok: true;
2467
+ }>;
2468
+ setMailbox: (on: boolean) => Promise<{
2469
+ error: RoomsErrorCode;
2470
+ message: string;
2471
+ } | {
2472
+ ok: true;
2473
+ }>;
2474
+ release: () => Promise<{
2475
+ error: RoomsErrorCode;
2476
+ message: string;
2477
+ } | {
2478
+ ok: true;
2479
+ }>;
2480
+ usage: () => Promise<{
2481
+ error: RoomsErrorCode;
2482
+ message: string;
2483
+ } | {
2484
+ messages: number;
2485
+ bytes: number;
2486
+ cap: number;
2487
+ archived: boolean;
2488
+ } | null>;
2489
+ on: (listener: (event: RoomEvent) => void) => Promise<() => Promise<void>>;
2490
+ leave: () => Promise<void>;
2491
+ closed: Promise<{
2492
+ reason: 'left' | 'removed' | 'blocked' | 'ended' | 'unavailable';
2493
+ }>;
2494
+ } | {
2495
+ error: RoomsErrorCode;
2496
+ message: string;
2497
+ }>;
2498
+ join: (invite: string, options?: RoomJoinOptions | undefined) => Promise<{
2499
+ id: string;
2500
+ name: string;
2501
+ key: string;
2502
+ invite: string;
2503
+ self: {
2504
+ id: string;
2505
+ permissions: {
2506
+ readonly block: boolean;
2507
+ readonly receive: boolean;
2508
+ readonly remove: boolean;
2509
+ readonly send: boolean;
2510
+ };
2511
+ maxMessageBytes: number;
2512
+ };
2513
+ owner: string;
2514
+ claimed: boolean;
2515
+ mailbox: RoomMailbox | null;
2516
+ temporaryClaims?: true;
2517
+ mailboxSwitch?: true;
2518
+ schemas?: true;
2519
+ defaults: () => Promise<{
2520
+ readonly send: boolean;
2521
+ readonly receive: boolean;
2522
+ readonly maxMessageBytes: number;
2523
+ }>;
2524
+ members: () => Promise<{
2525
+ id: string;
2526
+ permissions: {
2527
+ readonly block: boolean;
2528
+ readonly receive: boolean;
2529
+ readonly remove: boolean;
2530
+ readonly send: boolean;
2531
+ };
2532
+ maxMessageBytes: number;
2533
+ }[]>;
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<{
2558
+ error: RoomsErrorCode;
2559
+ message: string;
2560
+ } | {
2561
+ ok: true;
2562
+ }>;
2563
+ setSchema: (schema: Readonly<{
2564
+ version: number;
2565
+ types: Readonly<Record<string, RoomType>>;
2566
+ maxStoredBytes?: number;
2567
+ }>) => Promise<{
2568
+ error: RoomsErrorCode;
2569
+ message: string;
2570
+ } | {
2571
+ ok: true;
2572
+ }>;
2573
+ delete: (from: number, to?: number | undefined) => Promise<{
2574
+ error: RoomsErrorCode;
2575
+ message: string;
2576
+ } | {
2577
+ ok: true;
2578
+ }>;
2579
+ backlog: (after: number, limit?: number | undefined) => Promise<{
2580
+ error: RoomsErrorCode;
2581
+ message: string;
2582
+ } | {
2583
+ last: number;
2584
+ more: boolean;
2585
+ }>;
2586
+ setDefault: (permission: "receive" | "send", value: boolean) => Promise<{
2587
+ error: RoomsErrorCode;
2588
+ message: string;
2589
+ } | {
2590
+ ok: true;
2591
+ }>;
2592
+ limit: (maxMessageBytes: number | null, id?: string | undefined) => Promise<{
2593
+ error: RoomsErrorCode;
2594
+ message: string;
2595
+ } | {
2596
+ ok: true;
2597
+ }>;
2598
+ grant: (id: string, permission: RoomPermission) => Promise<{
2599
+ error: RoomsErrorCode;
2600
+ message: string;
2601
+ } | {
2602
+ ok: true;
2603
+ }>;
2604
+ revoke: (id: string, permission: RoomPermission) => Promise<{
2605
+ error: RoomsErrorCode;
2606
+ message: string;
2607
+ } | {
2608
+ ok: true;
2609
+ }>;
2610
+ remove: (id: string) => Promise<{
2611
+ error: RoomsErrorCode;
2612
+ message: string;
2613
+ } | {
2614
+ ok: true;
2615
+ }>;
2616
+ block: (id: string) => Promise<{
2617
+ error: RoomsErrorCode;
2618
+ message: string;
2619
+ } | {
2620
+ ok: true;
2621
+ }>;
2622
+ unblock: (id: string) => Promise<{
2623
+ error: RoomsErrorCode;
2624
+ message: string;
2625
+ } | {
2626
+ ok: true;
2627
+ }>;
2628
+ claim: (options?: RoomClaimOptions | undefined) => Promise<{
2629
+ error: RoomsErrorCode;
2630
+ message: string;
2631
+ } | {
2632
+ ok: true;
2633
+ }>;
2634
+ setMailbox: (on: boolean) => Promise<{
2635
+ error: RoomsErrorCode;
2636
+ message: string;
2637
+ } | {
2638
+ ok: true;
2639
+ }>;
2640
+ release: () => Promise<{
2641
+ error: RoomsErrorCode;
2642
+ message: string;
2643
+ } | {
2644
+ ok: true;
2645
+ }>;
2646
+ usage: () => Promise<{
2647
+ error: RoomsErrorCode;
2648
+ message: string;
2649
+ } | {
2650
+ messages: number;
2651
+ bytes: number;
2652
+ cap: number;
2653
+ archived: boolean;
2654
+ } | null>;
2655
+ on: (listener: (event: RoomEvent) => void) => Promise<() => Promise<void>>;
2656
+ leave: () => Promise<void>;
2657
+ closed: Promise<{
2658
+ reason: 'left' | 'removed' | 'blocked' | 'ended' | 'unavailable';
2659
+ }>;
2660
+ } | {
2661
+ error: RoomsErrorCode;
2662
+ message: string;
2663
+ }>;
2664
+ };
1497
2665
  };
1498
2666
  storage: {
1499
2667
  available: () => Promise<boolean>;