@liveblocks/core 2.17.0-channels1 → 2.17.0-rc1

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/dist/index.d.mts CHANGED
@@ -151,9 +151,11 @@ type Observable<T> = {
151
151
  };
152
152
  type EventSource<T> = Observable<T> & {
153
153
  /**
154
- * Notify all subscribers about the event.
154
+ * Notify all subscribers about the event. Will return `false` if there
155
+ * weren't any subscribers at the time the .notify() was called, or `true` if
156
+ * there was at least one subscriber.
155
157
  */
156
- notify(event: T): void;
158
+ notify(event: T): boolean;
157
159
  /**
158
160
  * Returns the number of active subscribers.
159
161
  */
@@ -300,9 +302,6 @@ type LostConnectionEvent = "lost" | "restored" | "failed";
300
302
  * any value (except null).
301
303
  */
302
304
  type BaseAuthResult = NonNullable<Json>;
303
- declare class LiveblocksError extends Error {
304
- code: number;
305
- }
306
305
  type Delegates<T extends BaseAuthResult> = {
307
306
  authenticate: () => Promise<T>;
308
307
  createSocket: (authValue: T) => IWebSocketInstance;
@@ -1056,7 +1055,7 @@ type StringOperators<T> = T | {
1056
1055
  * - `startsWith` (`^` in query string)
1057
1056
  */
1058
1057
  type QueryMetadata<M extends BaseMetadata> = {
1059
- [K in keyof M]: string extends M[K] ? StringOperators<M[K]> : M[K];
1058
+ [K in keyof M]: (string extends M[K] ? StringOperators<M[K]> : M[K]) | null;
1060
1059
  };
1061
1060
 
1062
1061
  declare global {
@@ -1522,6 +1521,84 @@ declare namespace DevToolsTreeNode {
1522
1521
  export type { DevToolsTreeNode_CustomEventTreeNode as CustomEventTreeNode, DevToolsTreeNode_JsonTreeNode as JsonTreeNode, DevToolsTreeNode_LiveTreeNode as LiveTreeNode, DevToolsTreeNode_LsonTreeNode as LsonTreeNode, DevToolsTreeNode_TreeNode as TreeNode, DevToolsTreeNode_UserTreeNode as UserTreeNode };
1523
1522
  }
1524
1523
 
1524
+ type OptionalKeys<T> = {
1525
+ [K in keyof T]-?: undefined extends T[K] ? K : never;
1526
+ }[keyof T];
1527
+ type MakeOptionalFieldsNullable<T> = {
1528
+ [K in keyof T]: K extends OptionalKeys<T> ? T[K] | null : T[K];
1529
+ };
1530
+ type Patchable<T> = Partial<MakeOptionalFieldsNullable<T>>;
1531
+
1532
+ type RoomConnectionErrorContext = {
1533
+ type: "ROOM_CONNECTION_ERROR";
1534
+ code: -1 | 4001 | 4005 | 4006 | (number & {});
1535
+ roomId: string;
1536
+ };
1537
+ type CommentsOrNotificationsErrorContext = {
1538
+ type: "CREATE_THREAD_ERROR";
1539
+ roomId: string;
1540
+ threadId: string;
1541
+ commentId: string;
1542
+ body: CommentBody;
1543
+ metadata: BaseMetadata;
1544
+ } | {
1545
+ type: "DELETE_THREAD_ERROR";
1546
+ roomId: string;
1547
+ threadId: string;
1548
+ } | {
1549
+ type: "EDIT_THREAD_METADATA_ERROR";
1550
+ roomId: string;
1551
+ threadId: string;
1552
+ metadata: Patchable<BaseMetadata>;
1553
+ } | {
1554
+ type: "MARK_THREAD_AS_RESOLVED_ERROR" | "MARK_THREAD_AS_UNRESOLVED_ERROR";
1555
+ roomId: string;
1556
+ threadId: string;
1557
+ } | {
1558
+ type: "CREATE_COMMENT_ERROR" | "EDIT_COMMENT_ERROR";
1559
+ roomId: string;
1560
+ threadId: string;
1561
+ commentId: string;
1562
+ body: CommentBody;
1563
+ } | {
1564
+ type: "DELETE_COMMENT_ERROR";
1565
+ roomId: string;
1566
+ threadId: string;
1567
+ commentId: string;
1568
+ } | {
1569
+ type: "ADD_REACTION_ERROR" | "REMOVE_REACTION_ERROR";
1570
+ roomId: string;
1571
+ threadId: string;
1572
+ commentId: string;
1573
+ emoji: string;
1574
+ } | {
1575
+ type: "MARK_INBOX_NOTIFICATION_AS_READ_ERROR";
1576
+ inboxNotificationId: string;
1577
+ roomId?: string;
1578
+ } | {
1579
+ type: "DELETE_INBOX_NOTIFICATION_ERROR";
1580
+ inboxNotificationId: string;
1581
+ } | {
1582
+ type: "MARK_ALL_INBOX_NOTIFICATIONS_AS_READ_ERROR" | "DELETE_ALL_INBOX_NOTIFICATIONS_ERROR";
1583
+ } | {
1584
+ type: "UPDATE_NOTIFICATION_SETTINGS_ERROR";
1585
+ roomId: string;
1586
+ };
1587
+ type LiveblocksErrorContext = Relax<RoomConnectionErrorContext | CommentsOrNotificationsErrorContext>;
1588
+ declare class LiveblocksError extends Error {
1589
+ readonly context: LiveblocksErrorContext;
1590
+ constructor(message: string, context: LiveblocksErrorContext, cause?: Error);
1591
+ /** Convenience accessor for error.context.roomId (if available) */
1592
+ get roomId(): LiveblocksErrorContext["roomId"];
1593
+ /** @deprecated Prefer using `context.code` instead, to enable type narrowing */
1594
+ get code(): LiveblocksErrorContext["code"];
1595
+ /**
1596
+ * Creates a LiveblocksError from a generic error, by attaching Liveblocks
1597
+ * contextual information like room ID, thread ID, etc.
1598
+ */
1599
+ static from(context: LiveblocksErrorContext, cause?: Error): LiveblocksError;
1600
+ }
1601
+
1525
1602
  /**
1526
1603
  * Represents a user connected in a room. Treated as immutable.
1527
1604
  */
@@ -1575,14 +1652,6 @@ declare enum TextEditorType {
1575
1652
  TipTap = "tiptap"
1576
1653
  }
1577
1654
 
1578
- type OptionalKeys<T> = {
1579
- [K in keyof T]-?: undefined extends T[K] ? K : never;
1580
- }[keyof T];
1581
- type MakeOptionalFieldsNullable<T> = {
1582
- [K in keyof T]: K extends OptionalKeys<T> ? T[K] | null : T[K];
1583
- };
1584
- type Patchable<T> = Partial<MakeOptionalFieldsNullable<T>>;
1585
-
1586
1655
  type RoomThreadsNotificationSettings = "all" | "replies_and_mentions" | "none";
1587
1656
  type RoomNotificationSettings = {
1588
1657
  threads: RoomThreadsNotificationSettings;
@@ -1987,7 +2056,6 @@ type Room<P extends JsonObject = DP, S extends LsonObject = DS, U extends BaseUs
1987
2056
  readonly self: Observable<User<P, U>>;
1988
2057
  readonly myPresence: Observable<P>;
1989
2058
  readonly others: Observable<OthersEvent<P, U>>;
1990
- readonly error: Observable<LiveblocksError>;
1991
2059
  /**
1992
2060
  * @deprecated Renamed to `storageBatch`. The `storage` event source will
1993
2061
  * soon be replaced by another/incompatible API.
@@ -2373,55 +2441,7 @@ type PartialUnless<C, T> = Record<string, never> extends C ? Partial<T> : [
2373
2441
  type OptionalTupleUnless<C, T extends any[]> = Record<string, never> extends C ? OptionalTuple<T> : [
2374
2442
  C
2375
2443
  ] extends [never] ? OptionalTuple<T> : T;
2376
-
2377
- /**
2378
- * Pre-defined notification channels support list.
2379
- */
2380
- type NotificationChannel = "email" | "slack" | "teams" | "webPush";
2381
- /**
2382
- * `K` represents custom notification kinds
2383
- * defined in the augmentation `ActivitiesData` (e.g `liveblocks.config.ts`).
2384
- * It means the type `NotificationKind` will be shaped like:
2385
- * thread | textMention | $customKind1 | $customKind2 | ...
2386
- */
2387
- type NotificationKind<K extends keyof DAD = keyof DAD> = "thread" | "textMention" | K;
2388
- /**
2389
- * A channel notification setting is a set of notification kinds.
2390
- * One setting can have multiple kinds (+ augmentation)
2391
- */
2392
- type ChannelNotificationSetting = {
2393
- [K in NotificationKind]: boolean;
2394
- };
2395
- /**
2396
- * Channels notification settings are a set of channel notification setting.
2397
- * One channel for one setting.
2398
- */
2399
- type ChannelsNotificationSettings = {
2400
- [C in NotificationChannel]: ChannelNotificationSetting;
2401
- };
2402
- /**
2403
- * It creates a deep partial specific for `ChannelsNotificationSettings`
2404
- * to offer a nice DX when updating the settings (e.g not being forced to define every keys)
2405
- * and at the same the some preserver the augmentation for custom kinds (e.g `liveblocks.config.ts`).
2406
- */
2407
- type DeepPartialWithAugmentation<T> = T extends object ? {
2408
- [P in keyof T]?: T[P] extends {
2409
- [K in NotificationKind]: boolean;
2410
- } ? Partial<T[P]> & {
2411
- [K in keyof DAD]?: boolean;
2412
- } : DeepPartialWithAugmentation<T[P]>;
2413
- } : T;
2414
- /**
2415
- * Partial channels notification settings
2416
- * with augmentation preserved gracefully
2417
- */
2418
- type PartialChannelsNotificationSettings = DeepPartialWithAugmentation<ChannelsNotificationSettings>;
2419
- /**
2420
- *
2421
- * Utility to check if a channel notification setting
2422
- * is enabled for every notification kinds.
2423
- */
2424
- declare function isChannelNotificationSettingEnabled(setting: ChannelNotificationSetting): boolean;
2444
+ type LargeMessageStrategy = "default" | "split" | "experimental-fallback-to-http";
2425
2445
 
2426
2446
  interface RoomHttpApi<M extends BaseMetadata> {
2427
2447
  getThreads(options: {
@@ -2627,8 +2647,6 @@ interface NotificationHttpApi<M extends BaseMetadata> {
2627
2647
  markInboxNotificationAsRead(inboxNotificationId: string): Promise<void>;
2628
2648
  deleteAllInboxNotifications(): Promise<void>;
2629
2649
  deleteInboxNotification(inboxNotificationId: string): Promise<void>;
2630
- getChannelsNotificationSettings(): Promise<ChannelsNotificationSettings>;
2631
- updateChannelsNotificationSettings(settings: PartialChannelsNotificationSettings): Promise<ChannelsNotificationSettings>;
2632
2650
  }
2633
2651
  interface LiveblocksHttpApi<M extends BaseMetadata> extends RoomHttpApi<M>, NotificationHttpApi<M> {
2634
2652
  getUserThreads_experimental(options?: {
@@ -2822,6 +2840,7 @@ type PrivateClientApi<U extends BaseUserMeta, M extends BaseMetadata> = {
2822
2840
  readonly httpClient: LiveblocksHttpApi<M>;
2823
2841
  as<M2 extends BaseMetadata>(): Client<U, M2>;
2824
2842
  createSyncSource(): SyncSource;
2843
+ emitError(context: LiveblocksErrorContext, cause?: Error): void;
2825
2844
  };
2826
2845
  type NotificationsApi<M extends BaseMetadata> = {
2827
2846
  /**
@@ -2917,27 +2936,6 @@ type NotificationsApi<M extends BaseMetadata> = {
2917
2936
  * await client.deleteInboxNotification("in_xxx");
2918
2937
  */
2919
2938
  deleteInboxNotification(inboxNotificationId: string): Promise<void>;
2920
- /**
2921
- * Gets channels notifications settings for a user for a project.
2922
- *
2923
- * @example
2924
- * const channelsNotificationSettings = await client.getChannelsNotificationSettings();
2925
- */
2926
- getChannelsNotificationSettings(options?: {
2927
- signal?: AbortSignal;
2928
- }): Promise<ChannelsNotificationSettings>;
2929
- /**
2930
- * Update channels notifications for a user for a project.
2931
- *
2932
- * @example
2933
- * await client.updateChannelsNotificationSettings({
2934
- * email: {
2935
- * thread: true,
2936
- * textMention: false,
2937
- * }
2938
- * })
2939
- */
2940
- updateChannelsNotificationSettings(settings: PartialChannelsNotificationSettings): Promise<ChannelsNotificationSettings>;
2941
2939
  };
2942
2940
  /**
2943
2941
  * @private Widest-possible Client type, matching _any_ Client instance. Note
@@ -3035,11 +3033,9 @@ type Client<U extends BaseUserMeta = DU, M extends BaseMetadata = DM> = {
3035
3033
  getSyncStatus(): SyncStatus;
3036
3034
  /**
3037
3035
  * All possible client events, subscribable from a single place.
3038
- *
3039
- * @private These event sources are private for now, but will become public
3040
- * once they're stable.
3041
3036
  */
3042
3037
  readonly events: {
3038
+ readonly error: Observable<LiveblocksError>;
3043
3039
  readonly syncStatus: Observable<void>;
3044
3040
  };
3045
3041
  } & NotificationsApi<M>;
@@ -3053,6 +3049,8 @@ type ClientOptions<U extends BaseUserMeta = DU> = {
3053
3049
  lostConnectionTimeout?: number;
3054
3050
  backgroundKeepAliveTimeout?: number;
3055
3051
  polyfills?: Polyfills;
3052
+ largeMessageStrategy?: LargeMessageStrategy;
3053
+ /** @deprecated Use `largeMessageStrategy="experimental-fallback-to-http"` instead. */
3056
3054
  unstable_fallbackToHTTP?: boolean;
3057
3055
  unstable_streamData?: boolean;
3058
3056
  /**
@@ -3310,10 +3308,14 @@ declare function assert(condition: boolean, errmsg: string): asserts condition;
3310
3308
  declare function nn<T>(value: T, errmsg?: string): NonNullable<T>;
3311
3309
 
3312
3310
  declare class HttpError extends Error {
3313
- message: string;
3314
- status: number;
3315
- details?: JsonObject | undefined;
3316
- constructor(message: string, status: number, details?: JsonObject | undefined);
3311
+ response: Response;
3312
+ details?: JsonObject;
3313
+ private constructor();
3314
+ static fromResponse(response: Response): Promise<HttpError>;
3315
+ /**
3316
+ * Convenience accessor for response.status.
3317
+ */
3318
+ get status(): number;
3317
3319
  }
3318
3320
  /**
3319
3321
  * Wraps a promise factory. Will create promises until one succeeds. If
@@ -3453,7 +3455,7 @@ declare const nanoid: (t?: number) => string;
3453
3455
  * // resolved:true AND metadata["status"]:open AND metadata["priority"]:3 AND metadata["org"]^"liveblocks:"
3454
3456
  * ```
3455
3457
  */
3456
- type SimpleFilterValue = string | number | boolean;
3458
+ type SimpleFilterValue = string | number | boolean | null;
3457
3459
  type OperatorFilterValue = {
3458
3460
  startsWith: string;
3459
3461
  };
@@ -3525,18 +3527,6 @@ type DistributiveOmit<T, K extends PropertyKey> = T extends any ? Omit<T, K> : n
3525
3527
  * Throw an error, but as an expression instead of a statement.
3526
3528
  */
3527
3529
  declare function raise(msg: string): never;
3528
- /**
3529
- * Drop-in replacement for Object.entries() that retains better types.
3530
- */
3531
- declare function entries<O extends {
3532
- [key: string]: unknown;
3533
- }, K extends keyof O>(obj: O): [K, O[K]][];
3534
- /**
3535
- * Drop-in replacement for Object.keys() that retains better types.
3536
- */
3537
- declare function keys<O extends {
3538
- [key: string]: unknown;
3539
- }, K extends keyof O>(obj: O): K[];
3540
3530
  /**
3541
3531
  * Creates a new object by mapping a function over all values. Keys remain the
3542
3532
  * same. Think Array.prototype.map(), but for values in an object.
@@ -3700,11 +3690,6 @@ declare class SortedList<T> {
3700
3690
  * nested objects are ordered.
3701
3691
  */
3702
3692
  declare function stringify(value: unknown): string;
3703
- /**
3704
- * Like JSON.stringify(), but returns the same value no matter how keys in any
3705
- * nested objects are ordered.
3706
- */
3707
- declare function unstringify(value: string): unknown;
3708
3693
 
3709
3694
  type QueryParams = Record<string, string | number | null | undefined> | URLSearchParams;
3710
3695
  /**
@@ -3859,4 +3844,4 @@ declare const CommentsApiError: typeof HttpError;
3859
3844
  /** @deprecated Use HttpError instead. */
3860
3845
  declare const NotificationsApiError: typeof HttpError;
3861
3846
 
3862
- export { type AckOp, type ActivityData, type AsyncError, type AsyncLoading, type AsyncResult, type AsyncSuccess, type BaseActivitiesData, type BaseAuthResult, type BaseMetadata, type BaseRoomInfo, type BaseUserMeta, type Brand, type BroadcastEventClientMsg, type BroadcastOptions, type BroadcastedEventServerMsg, type ChannelNotificationSetting, type ChannelsNotificationSettings, type Client, type ClientMsg, ClientMsgCode, type ClientOptions, type CommentAttachment, type CommentBody, type CommentBodyBlockElement, type CommentBodyElement, type CommentBodyInlineElement, type CommentBodyLink, type CommentBodyLinkElementArgs, type CommentBodyMention, type CommentBodyMentionElementArgs, type CommentBodyParagraph, type CommentBodyParagraphElementArgs, type CommentBodyText, type CommentBodyTextElementArgs, type CommentData, type CommentDataPlain, type CommentLocalAttachment, type CommentMixedAttachment, type CommentReaction, type CommentUserReaction, type CommentUserReactionPlain, CommentsApiError, type CommentsEventServerMsg, CrdtType, type CreateListOp, type CreateMapOp, type CreateObjectOp, type CreateOp, type CreateRegisterOp, type CustomAuthenticationResult, type DAD, type DE, type DM, type DP, type DRI, type DS, type DU, DefaultMap, type Delegates, type DeleteCrdtOp, type DeleteObjectKeyOp, DerivedSignal, DevToolsTreeNode as DevTools, protocol as DevToolsMsg, type DistributiveOmit, type EnsureJson, type EnterOptions, type EventSource, type FetchStorageClientMsg, type FetchYDocClientMsg, type GetThreadsOptions, type History, type HistoryVersion, HttpError, type ISignal, type IUserInfo, type IWebSocket, type IWebSocketCloseEvent, type IWebSocketEvent, type IWebSocketInstance, type IWebSocketMessageEvent, type IYjsProvider, type IdTuple, type Immutable, type InboxNotificationCustomData, type InboxNotificationCustomDataPlain, type InboxNotificationData, type InboxNotificationDataPlain, type InboxNotificationDeleteInfo, type InboxNotificationTextMentionData, type InboxNotificationTextMentionDataPlain, type InboxNotificationThreadData, type InboxNotificationThreadDataPlain, type InitialDocumentStateServerMsg, type Json, type JsonArray, type JsonObject, type JsonScalar, type KDAD, LiveList, type LiveListUpdate, LiveMap, type LiveMapUpdate, type LiveNode, LiveObject, type LiveObjectUpdate, type LiveStructure, LiveblocksError, type LostConnectionEvent, type Lson, type LsonObject, MutableSignal, type NoInfr, type NodeMap, type NotificationChannel, type NotificationKind, NotificationsApiError, type Observable, type Op, OpCode, type OpaqueClient, type OpaqueRoom, type OptionalPromise, type OptionalTupleUnless, type OthersEvent, type ParentToChildNodeMap, type PartialChannelsNotificationSettings, type PartialUnless, type Patchable, Permission, type PlainLson, type PlainLsonFields, type PlainLsonList, type PlainLsonMap, type PlainLsonObject, type Poller, type PrivateClientApi, type PrivateRoomApi, Promise_withResolvers, type QueryMetadata, type QueryParams, type RejectedStorageOpServerMsg, type Relax, type Resolve, type ResolveMentionSuggestionsArgs, type ResolveRoomsInfoArgs, type ResolveUsersArgs, type Room, type RoomEventMessage, type RoomNotificationSettings, type RoomStateServerMsg, type SerializedChild, type SerializedCrdt, type SerializedList, type SerializedMap, type SerializedObject, type SerializedRegister, type SerializedRootObject, type ServerMsg, ServerMsgCode, type SetParentKeyOp, Signal, type SignalType, SortedList, type Status, type StorageStatus, type StorageUpdate, type StringifyCommentBodyElements, type StringifyCommentBodyOptions, type SyncSource, type SyncStatus, TextEditorType, type ThreadData, type ThreadDataPlain, type ThreadDataWithDeleteInfo, type ThreadDeleteInfo, type ToImmutable, type ToJson, type URLSafeString, type UnsubscribeCallback, type UpdateObjectOp, type UpdatePresenceClientMsg, type UpdatePresenceServerMsg, type UpdateStorageClientMsg, type UpdateStorageServerMsg, type UpdateYDocClientMsg, type UploadAttachmentOptions, type User, type UserJoinServerMsg, type UserLeftServerMsg, WebsocketCloseCodes, type YDocUpdateServerMsg, type YjsSyncStatus, ackOp, asPos, assert, assertNever, autoRetry, b64decode, batch, chunk, cloneLson, compactObject, fancyConsole as console, convertToCommentData, convertToCommentUserReaction, convertToInboxNotificationData, convertToThreadData, createClient, createCommentAttachmentId, createCommentId, createInboxNotificationId, createThreadId, deprecate, deprecateIf, detectDupes, entries, errorIf, freeze, generateCommentUrl, getMentionedIdsFromCommentBody, html, htmlSafe, isChannelNotificationSettingEnabled, isChildCrdt, isCommentBodyLink, isCommentBodyMention, isCommentBodyText, isJsonArray, isJsonObject, isJsonScalar, isLiveNode, isPlainObject, isRootCrdt, isStartsWithOperator, kInternal, keys, legacy_patchImmutableObject, lsonToJson, makeEventSource, makePoller, makePosition, mapValues, memoizeOnSuccess, nanoid, nn, objectToQuery, patchLiveObjectKey, raise, resolveUsersInCommentBody, shallow, stringify, stringifyCommentBody, throwUsageError, toAbsoluteUrl, toPlainLson, tryParseJson, unstringify, url, urljoin, wait, withTimeout };
3847
+ export { type AckOp, type ActivityData, type AsyncError, type AsyncLoading, type AsyncResult, type AsyncSuccess, type BaseActivitiesData, type BaseAuthResult, type BaseMetadata, type BaseRoomInfo, type BaseUserMeta, type Brand, type BroadcastEventClientMsg, type BroadcastOptions, type BroadcastedEventServerMsg, type Client, type ClientMsg, ClientMsgCode, type ClientOptions, type CommentAttachment, type CommentBody, type CommentBodyBlockElement, type CommentBodyElement, type CommentBodyInlineElement, type CommentBodyLink, type CommentBodyLinkElementArgs, type CommentBodyMention, type CommentBodyMentionElementArgs, type CommentBodyParagraph, type CommentBodyParagraphElementArgs, type CommentBodyText, type CommentBodyTextElementArgs, type CommentData, type CommentDataPlain, type CommentLocalAttachment, type CommentMixedAttachment, type CommentReaction, type CommentUserReaction, type CommentUserReactionPlain, CommentsApiError, type CommentsEventServerMsg, CrdtType, type CreateListOp, type CreateMapOp, type CreateObjectOp, type CreateOp, type CreateRegisterOp, type CustomAuthenticationResult, type DAD, type DE, type DM, type DP, type DRI, type DS, type DU, DefaultMap, type Delegates, type DeleteCrdtOp, type DeleteObjectKeyOp, DerivedSignal, DevToolsTreeNode as DevTools, protocol as DevToolsMsg, type DistributiveOmit, type EnsureJson, type EnterOptions, type EventSource, type FetchStorageClientMsg, type FetchYDocClientMsg, type GetThreadsOptions, type History, type HistoryVersion, HttpError, type ISignal, type IUserInfo, type IWebSocket, type IWebSocketCloseEvent, type IWebSocketEvent, type IWebSocketInstance, type IWebSocketMessageEvent, type IYjsProvider, type IdTuple, type Immutable, type InboxNotificationCustomData, type InboxNotificationCustomDataPlain, type InboxNotificationData, type InboxNotificationDataPlain, type InboxNotificationDeleteInfo, type InboxNotificationTextMentionData, type InboxNotificationTextMentionDataPlain, type InboxNotificationThreadData, type InboxNotificationThreadDataPlain, type InitialDocumentStateServerMsg, type Json, type JsonArray, type JsonObject, type JsonScalar, type KDAD, type LargeMessageStrategy, LiveList, type LiveListUpdate, LiveMap, type LiveMapUpdate, type LiveNode, LiveObject, type LiveObjectUpdate, type LiveStructure, LiveblocksError, type LiveblocksErrorContext, type LostConnectionEvent, type Lson, type LsonObject, MutableSignal, type NoInfr, type NodeMap, NotificationsApiError, type Observable, type Op, OpCode, type OpaqueClient, type OpaqueRoom, type OptionalPromise, type OptionalTupleUnless, type OthersEvent, type ParentToChildNodeMap, type PartialUnless, type Patchable, Permission, type PlainLson, type PlainLsonFields, type PlainLsonList, type PlainLsonMap, type PlainLsonObject, type Poller, type PrivateClientApi, type PrivateRoomApi, Promise_withResolvers, type QueryMetadata, type QueryParams, type RejectedStorageOpServerMsg, type Relax, type Resolve, type ResolveMentionSuggestionsArgs, type ResolveRoomsInfoArgs, type ResolveUsersArgs, type Room, type RoomEventMessage, type RoomNotificationSettings, type RoomStateServerMsg, type SerializedChild, type SerializedCrdt, type SerializedList, type SerializedMap, type SerializedObject, type SerializedRegister, type SerializedRootObject, type ServerMsg, ServerMsgCode, type SetParentKeyOp, Signal, type SignalType, SortedList, type Status, type StorageStatus, type StorageUpdate, type StringifyCommentBodyElements, type StringifyCommentBodyOptions, type SyncSource, type SyncStatus, TextEditorType, type ThreadData, type ThreadDataPlain, type ThreadDataWithDeleteInfo, type ThreadDeleteInfo, type ToImmutable, type ToJson, type URLSafeString, type UnsubscribeCallback, type UpdateObjectOp, type UpdatePresenceClientMsg, type UpdatePresenceServerMsg, type UpdateStorageClientMsg, type UpdateStorageServerMsg, type UpdateYDocClientMsg, type UploadAttachmentOptions, type User, type UserJoinServerMsg, type UserLeftServerMsg, WebsocketCloseCodes, type YDocUpdateServerMsg, type YjsSyncStatus, ackOp, asPos, assert, assertNever, autoRetry, b64decode, batch, chunk, cloneLson, compactObject, fancyConsole as console, convertToCommentData, convertToCommentUserReaction, convertToInboxNotificationData, convertToThreadData, createClient, createCommentAttachmentId, createCommentId, createInboxNotificationId, createThreadId, deprecate, deprecateIf, detectDupes, errorIf, freeze, generateCommentUrl, getMentionedIdsFromCommentBody, html, htmlSafe, isChildCrdt, isCommentBodyLink, isCommentBodyMention, isCommentBodyText, isJsonArray, isJsonObject, isJsonScalar, isLiveNode, isPlainObject, isRootCrdt, isStartsWithOperator, kInternal, legacy_patchImmutableObject, lsonToJson, makeEventSource, makePoller, makePosition, mapValues, memoizeOnSuccess, nanoid, nn, objectToQuery, patchLiveObjectKey, raise, resolveUsersInCommentBody, shallow, stringify, stringifyCommentBody, throwUsageError, toAbsoluteUrl, toPlainLson, tryParseJson, url, urljoin, wait, withTimeout };