@liveblocks/core 3.6.2 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -225,7 +225,9 @@ declare function makeEventSource<T>(): EventSource<T>;
225
225
  type BatchStore<O, I> = {
226
226
  subscribe: (callback: Callback<void>) => UnsubscribeCallback;
227
227
  enqueue: (input: I) => Promise<void>;
228
+ setData: (entries: [I, O][]) => void;
228
229
  getItemState: (input: I) => AsyncResult<O> | undefined;
230
+ getData: (input: I) => O | undefined;
229
231
  invalidate: (inputs?: I[]) => void;
230
232
  };
231
233
 
@@ -1030,6 +1032,17 @@ type DateToString<T> = {
1030
1032
  [P in keyof T]: T[P] extends Date ? string : T[P] extends Date | null ? string | null : T[P] extends Date | undefined ? string | undefined : T[P];
1031
1033
  };
1032
1034
 
1035
+ type MentionData = Relax<UserMentionData | GroupMentionData>;
1036
+ type UserMentionData = {
1037
+ kind: "user";
1038
+ id: string;
1039
+ };
1040
+ type GroupMentionData = {
1041
+ kind: "group";
1042
+ id: string;
1043
+ userIds?: string[];
1044
+ };
1045
+
1033
1046
  type InboxNotificationThreadData = {
1034
1047
  kind: "thread";
1035
1048
  id: string;
@@ -1046,6 +1059,7 @@ type InboxNotificationTextMentionData = {
1046
1059
  readAt: Date | null;
1047
1060
  createdBy: string;
1048
1061
  mentionId: string;
1062
+ mention: MentionData;
1049
1063
  };
1050
1064
  type InboxNotificationTextMentionDataPlain = DateToString<InboxNotificationTextMentionData>;
1051
1065
  type ActivityData = Record<string, string | boolean | number | undefined>;
@@ -1080,6 +1094,22 @@ type BaseActivitiesData = {
1080
1094
  [key: `$${string}`]: ActivityData;
1081
1095
  };
1082
1096
 
1097
+ type BaseGroupInfo = {
1098
+ [key: string]: Json | undefined;
1099
+ /**
1100
+ * The name of the group.
1101
+ */
1102
+ name?: string;
1103
+ /**
1104
+ * The avatar of the group.
1105
+ */
1106
+ avatar?: string;
1107
+ /**
1108
+ * The description of the group.
1109
+ */
1110
+ description?: string;
1111
+ };
1112
+
1083
1113
  type BaseRoomInfo = {
1084
1114
  [key: string]: Json | undefined;
1085
1115
  /**
@@ -1100,7 +1130,7 @@ declare global {
1100
1130
  [key: string]: unknown;
1101
1131
  }
1102
1132
  }
1103
- type ExtendableTypes = "Presence" | "Storage" | "UserMeta" | "RoomEvent" | "ThreadMetadata" | "RoomInfo" | "ActivitiesData";
1133
+ type ExtendableTypes = "Presence" | "Storage" | "UserMeta" | "RoomEvent" | "ThreadMetadata" | "RoomInfo" | "GroupInfo" | "ActivitiesData";
1104
1134
  type MakeErrorString<K extends ExtendableTypes, Reason extends string = "does not match its requirements"> = `The type you provided for '${K}' ${Reason}. To learn how to fix this, see https://liveblocks.io/docs/errors/${K}`;
1105
1135
  type GetOverride<K extends ExtendableTypes, B, Reason extends string = "does not match its requirements"> = GetOverrideOrErrorValue<K, B, MakeErrorString<K, Reason>>;
1106
1136
  type GetOverrideOrErrorValue<K extends ExtendableTypes, B, ErrorType> = unknown extends Liveblocks[K] ? B : Liveblocks[K] extends B ? Liveblocks[K] : ErrorType;
@@ -1110,6 +1140,7 @@ type DU = GetOverrideOrErrorValue<"UserMeta", BaseUserMeta, Record<"id" | "info"
1110
1140
  type DE = GetOverride<"RoomEvent", Json, "is not a valid JSON value">;
1111
1141
  type DM = GetOverride<"ThreadMetadata", BaseMetadata>;
1112
1142
  type DRI = GetOverride<"RoomInfo", BaseRoomInfo>;
1143
+ type DGI = GetOverride<"GroupInfo", BaseGroupInfo>;
1113
1144
  type DAD = GetOverrideOrErrorValue<"ActivitiesData", BaseActivitiesData, {
1114
1145
  [K in keyof Liveblocks["ActivitiesData"]]: "At least one of the custom notification kinds you provided for 'ActivitiesData' does not match its requirements. To learn how to fix this, see https://liveblocks.io/docs/errors/ActivitiesData";
1115
1146
  }>;
@@ -1201,12 +1232,18 @@ type CommentBodyParagraph = {
1201
1232
  type: "paragraph";
1202
1233
  children: CommentBodyInlineElement[];
1203
1234
  };
1204
- type CommentBodyMention = Relax<CommentBodyUserMention>;
1235
+ type CommentBodyMention = Relax<CommentBodyUserMention | CommentBodyGroupMention>;
1205
1236
  type CommentBodyUserMention = {
1206
1237
  type: "mention";
1207
1238
  kind: "user";
1208
1239
  id: string;
1209
1240
  };
1241
+ type CommentBodyGroupMention = {
1242
+ type: "mention";
1243
+ kind: "group";
1244
+ id: string;
1245
+ userIds?: string[];
1246
+ };
1210
1247
  type CommentBodyLink = {
1211
1248
  type: "link";
1212
1249
  url: string;
@@ -1270,6 +1307,26 @@ type QueryMetadata<M extends BaseMetadata> = {
1270
1307
  [K in keyof M]: (string extends M[K] ? StringOperators<M[K]> : M[K]) | null;
1271
1308
  };
1272
1309
 
1310
+ type GroupMemberData = {
1311
+ id: string;
1312
+ addedAt: Date;
1313
+ };
1314
+ type GroupScopes = Partial<{
1315
+ mention: true;
1316
+ }>;
1317
+ type GroupData = {
1318
+ type: "group";
1319
+ id: string;
1320
+ tenantId: string;
1321
+ createdAt: Date;
1322
+ updatedAt: Date;
1323
+ scopes: GroupScopes;
1324
+ members: GroupMemberData[];
1325
+ };
1326
+ type GroupDataPlain = Omit<DateToString<GroupData>, "members"> & {
1327
+ members: DateToString<GroupMemberData>[];
1328
+ };
1329
+
1273
1330
  /**
1274
1331
  * Pre-defined notification channels support list.
1275
1332
  */
@@ -1593,10 +1650,10 @@ interface RoomHttpApi<M extends BaseMetadata> {
1593
1650
  getChatAttachmentUrl(options: {
1594
1651
  attachmentId: string;
1595
1652
  }): Promise<string>;
1596
- createTextMention({ roomId, userId, mentionId, }: {
1653
+ createTextMention({ roomId, mentionId, mention, }: {
1597
1654
  roomId: string;
1598
- userId: string;
1599
1655
  mentionId: string;
1656
+ mention: MentionData;
1600
1657
  }): Promise<void>;
1601
1658
  deleteTextMention({ roomId, mentionId, }: {
1602
1659
  roomId: string;
@@ -1666,6 +1723,10 @@ interface RoomHttpApi<M extends BaseMetadata> {
1666
1723
  interface NotificationHttpApi<M extends BaseMetadata> {
1667
1724
  getInboxNotifications(options?: {
1668
1725
  cursor?: string;
1726
+ query?: {
1727
+ roomId?: string;
1728
+ kind?: string;
1729
+ };
1669
1730
  }): Promise<{
1670
1731
  inboxNotifications: InboxNotificationData[];
1671
1732
  threads: ThreadData<M>[];
@@ -1675,6 +1736,10 @@ interface NotificationHttpApi<M extends BaseMetadata> {
1675
1736
  }>;
1676
1737
  getInboxNotificationsSince(options: {
1677
1738
  since: Date;
1739
+ query?: {
1740
+ roomId?: string;
1741
+ kind?: string;
1742
+ };
1678
1743
  signal?: AbortSignal;
1679
1744
  }): Promise<{
1680
1745
  inboxNotifications: {
@@ -1735,6 +1800,8 @@ interface LiveblocksHttpApi<M extends BaseMetadata> extends RoomHttpApi<M>, Noti
1735
1800
  requestedAt: Date;
1736
1801
  permissionHints: Record<string, Permission[]>;
1737
1802
  }>;
1803
+ groupsStore: BatchStore<GroupData | undefined, string>;
1804
+ getGroup(groupId: string): Promise<GroupData | undefined>;
1738
1805
  }
1739
1806
 
1740
1807
  /**
@@ -1841,12 +1908,6 @@ declare class LiveblocksError extends Error {
1841
1908
  static from(context: LiveblocksErrorContext, cause?: Error): LiveblocksError;
1842
1909
  }
1843
1910
 
1844
- type MentionData = Relax<UserMentionData>;
1845
- type UserMentionData = {
1846
- kind: "user";
1847
- id: string;
1848
- };
1849
-
1850
1911
  type ResolveMentionSuggestionsArgs = {
1851
1912
  /**
1852
1913
  * The ID of the current room.
@@ -1869,6 +1930,12 @@ type ResolveRoomsInfoArgs = {
1869
1930
  */
1870
1931
  roomIds: string[];
1871
1932
  };
1933
+ type ResolveGroupsInfoArgs = {
1934
+ /**
1935
+ * The IDs of the groups to resolve.
1936
+ */
1937
+ groupIds: string[];
1938
+ };
1872
1939
  type EnterOptions<P extends JsonObject = DP, S extends LsonObject = DS> = Resolve<{
1873
1940
  /**
1874
1941
  * Whether or not the room automatically connects to Liveblock servers.
@@ -1912,6 +1979,7 @@ type PrivateClientApi<U extends BaseUserMeta, M extends BaseMetadata> = {
1912
1979
  readonly resolveMentionSuggestions: ClientOptions<U>["resolveMentionSuggestions"];
1913
1980
  readonly usersStore: BatchStore<U["info"] | undefined, string>;
1914
1981
  readonly roomsInfoStore: BatchStore<DRI | undefined, string>;
1982
+ readonly groupsInfoStore: BatchStore<DGI | undefined, string>;
1915
1983
  readonly getRoomIds: () => string[];
1916
1984
  readonly httpClient: LiveblocksHttpApi<M>;
1917
1985
  as<M2 extends BaseMetadata>(): Client<U, M2>;
@@ -1940,6 +2008,10 @@ type NotificationsApi<M extends BaseMetadata> = {
1940
2008
  */
1941
2009
  getInboxNotifications(options?: {
1942
2010
  cursor?: string;
2011
+ query?: {
2012
+ roomId?: string;
2013
+ kind?: string;
2014
+ };
1943
2015
  }): Promise<{
1944
2016
  inboxNotifications: InboxNotificationData[];
1945
2017
  threads: ThreadData<M>[];
@@ -1972,6 +2044,10 @@ type NotificationsApi<M extends BaseMetadata> = {
1972
2044
  */
1973
2045
  getInboxNotificationsSince(options: {
1974
2046
  since: Date;
2047
+ query?: {
2048
+ roomId?: string;
2049
+ kind?: string;
2050
+ };
1975
2051
  signal?: AbortSignal;
1976
2052
  }): Promise<{
1977
2053
  inboxNotifications: {
@@ -2107,6 +2183,18 @@ type Client<U extends BaseUserMeta = DU, M extends BaseMetadata = DM> = {
2107
2183
  * client.resolvers.invalidateRoomsInfo(["room-1", "room-2"]);
2108
2184
  */
2109
2185
  invalidateRoomsInfo(roomIds?: string[]): void;
2186
+ /**
2187
+ * Invalidate some or all groups info that were previously cached by `resolveGroupsInfo`.
2188
+ *
2189
+ * @example
2190
+ * // Invalidate all groups
2191
+ * client.resolvers.invalidateGroupsInfo();
2192
+ *
2193
+ * @example
2194
+ * // Invalidate specific groups
2195
+ * client.resolvers.invalidateGroupsInfo(["group-1", "group-2"]);
2196
+ */
2197
+ invalidateGroupsInfo(groupIds?: string[]): void;
2110
2198
  /**
2111
2199
  * Invalidate all mention suggestions cached by `resolveMentionSuggestions`.
2112
2200
  *
@@ -2174,6 +2262,11 @@ type ClientOptions<U extends BaseUserMeta = DU> = {
2174
2262
  * You should return a list of room info objects of the same size, in the same order.
2175
2263
  */
2176
2264
  resolveRoomsInfo?: (args: ResolveRoomsInfoArgs) => Awaitable<(DRI | undefined)[] | undefined>;
2265
+ /**
2266
+ * A function that returns group info from group IDs.
2267
+ * You should return a list of group info objects of the same size, in the same order.
2268
+ */
2269
+ resolveGroupsInfo?: (args: ResolveGroupsInfoArgs) => Awaitable<(DGI | undefined)[] | undefined>;
2177
2270
  /**
2178
2271
  * Prevent the current browser tab from being closed if there are any locally
2179
2272
  * pending Liveblocks changes that haven't been submitted to or confirmed by
@@ -3376,7 +3469,7 @@ type PrivateRoomApi = {
3376
3469
  getSelf_forDevTools(): UserTreeNode | null;
3377
3470
  getOthers_forDevTools(): readonly UserTreeNode[];
3378
3471
  reportTextEditor(editor: TextEditorType, rootKey: string): Promise<void>;
3379
- createTextMention(userId: string, mentionId: string): Promise<void>;
3472
+ createTextMention(mentionId: string, mention: MentionData): Promise<void>;
3380
3473
  deleteTextMention(mentionId: string): Promise<void>;
3381
3474
  listTextVersions(): Promise<{
3382
3475
  versions: HistoryVersion[];
@@ -4151,9 +4244,13 @@ type CommentBodyMentionElementArgs<U extends BaseUserMeta = DU> = {
4151
4244
  */
4152
4245
  element: CommentBodyMention;
4153
4246
  /**
4154
- * The mention's user info, if the `resolvedUsers` option was provided.
4247
+ * The mention's user info, if the mention is a user mention and the `resolveUsers` option was provided.
4155
4248
  */
4156
4249
  user?: U["info"];
4250
+ /**
4251
+ * The mention's group info, if the mention is a group mention and the `resolveGroupsInfo` option was provided.
4252
+ */
4253
+ group?: DGI;
4157
4254
  };
4158
4255
  type StringifyCommentBodyElements<U extends BaseUserMeta = DU> = {
4159
4256
  /**
@@ -4192,6 +4289,11 @@ type StringifyCommentBodyOptions<U extends BaseUserMeta = DU> = {
4192
4289
  * You should return a list of user objects of the same size, in the same order.
4193
4290
  */
4194
4291
  resolveUsers?: (args: ResolveUsersArgs) => Awaitable<(U["info"] | undefined)[] | undefined>;
4292
+ /**
4293
+ * A function that returns group info from group IDs.
4294
+ * You should return a list of group info objects of the same size, in the same order.
4295
+ */
4296
+ resolveGroupsInfo?: (args: ResolveGroupsInfoArgs) => Awaitable<(DGI | undefined)[] | undefined>;
4195
4297
  };
4196
4298
  declare function isCommentBodyText(element: CommentBodyElement): element is CommentBodyText;
4197
4299
  declare function isCommentBodyMention(element: CommentBodyElement): element is CommentBodyMention;
@@ -4203,7 +4305,10 @@ declare function isCommentBodyLink(element: CommentBodyElement): element is Comm
4203
4305
  * `(mention) => mention.kind === "user"` to only get user mentions.
4204
4306
  */
4205
4307
  declare function getMentionsFromCommentBody(body: CommentBody, predicate?: (mention: CommentBodyMention) => boolean): CommentBodyMention[];
4206
- declare function resolveUsersInCommentBody<U extends BaseUserMeta>(body: CommentBody, resolveUsers?: (args: ResolveUsersArgs) => Awaitable<(U["info"] | undefined)[] | undefined>): Promise<Map<string, U["info"]>>;
4308
+ declare function resolveMentionsInCommentBody<U extends BaseUserMeta>(body: CommentBody, resolveUsers?: (args: ResolveUsersArgs) => Awaitable<(U["info"] | undefined)[] | undefined>, resolveGroupsInfo?: (args: ResolveGroupsInfoArgs) => Awaitable<(DGI | undefined)[] | undefined>): Promise<{
4309
+ users: Map<string, U["info"]>;
4310
+ groups: Map<string, DGI>;
4311
+ }>;
4207
4312
  declare function htmlSafe(value: string): HtmlSafeString;
4208
4313
  declare class HtmlSafeString {
4209
4314
  #private;
@@ -4221,6 +4326,8 @@ declare function html(strings: TemplateStringsArray, ...values: (string | string
4221
4326
  */
4222
4327
  declare function stringifyCommentBody(body: CommentBody, options?: StringifyCommentBodyOptions<BaseUserMeta>): Promise<string>;
4223
4328
 
4329
+ declare const MENTION_CHARACTER = "@";
4330
+
4224
4331
  /**
4225
4332
  * Converts a plain comment data object (usually returned by the API) to a comment data object that can be used by the client.
4226
4333
  * This is necessary because the plain data object stores dates as ISO strings, but the client expects them as Date objects.
@@ -4263,6 +4370,7 @@ declare function convertToSubscriptionData(data: SubscriptionDataPlain): Subscri
4263
4370
  * @returns The rich user subscription data object that can be used by the client.
4264
4371
  */
4265
4372
  declare function convertToUserSubscriptionData(data: UserSubscriptionDataPlain): UserSubscriptionData;
4373
+ declare function convertToGroupData(data: GroupDataPlain): GroupData;
4266
4374
 
4267
4375
  /**
4268
4376
  * Lookup table for nodes (= SerializedCrdt values) by their IDs.
@@ -4779,6 +4887,19 @@ declare function sanitizeUrl(url: string): string | null;
4779
4887
  declare function generateUrl(url: string, params?: Record<string, string | number | undefined>, hash?: string): string;
4780
4888
  declare function isUrl(string: string): boolean;
4781
4889
 
4890
+ /**
4891
+ * Emit a warning only once.
4892
+ *
4893
+ * Only has effect in dev mode. In production, this is a no-op.
4894
+ */
4895
+ declare function warnOnce(message: string, key?: string): void;
4896
+ /**
4897
+ * Emit a warning only once if a condition is met.
4898
+ *
4899
+ * Only has effect in dev mode. In production, this is a no-op.
4900
+ */
4901
+ declare function warnOnceIf(condition: boolean | (() => boolean), message: string, key?: string): void;
4902
+
4782
4903
  /**
4783
4904
  * Definition of all messages the Panel can send to the Client.
4784
4905
  */
@@ -4911,4 +5032,4 @@ type EnsureJson<T> = T extends Json ? T : T extends Array<infer I> ? (EnsureJson
4911
5032
  [K in keyof T as EnsureJson<T[K]> extends never ? never : K]: EnsureJson<T[K]>;
4912
5033
  };
4913
5034
 
4914
- export { type AckOp, type ActivityData, type AiAssistantContentPart, type AiAssistantMessage, type AiChat, type AiChatMessage, type AiChatsQuery, type AiKnowledgeSource, type AiOpaqueToolDefinition, type AiOpaqueToolInvocationProps, type AiReasoningPart, type AiRetrievalPart, type AiTextPart, type AiToolDefinition, type AiToolExecuteCallback, type AiToolExecuteContext, type AiToolInvocationPart, type AiToolInvocationProps, type AiToolTypePack, type AiUserMessage, type AsyncError, type AsyncLoading, type AsyncResult, type AsyncSuccess, type Awaitable, 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, type CommentsEventServerMsg, type ContextualPromptContext, type ContextualPromptResponse, type CopilotId, CrdtType, type CreateListOp, type CreateManagedPoolOptions, type CreateMapOp, type CreateObjectOp, type CreateOp, type CreateRegisterOp, type Cursor, type CustomAuthenticationResult, type DAD, type DE, type DM, type DP, type DRI, type DS, type DU, DefaultMap, type Delegates, type DeleteCrdtOp, type DeleteObjectKeyOp, Deque, 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 InferFromSchema, 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, type ManagedPool, type MentionData, type MessageId, MutableSignal, type NoInfr, type NodeMap, type NotificationChannel, type NotificationChannelSettings, type NotificationKind, type NotificationSettings, type NotificationSettingsPlain, type Observable, type Op, OpCode, type OpaqueClient, type OpaqueRoom, type OptionalTupleUnless, type OthersEvent, type ParentToChildNodeMap, type PartialNotificationSettings, 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 RenderableToolResultResponse, type Resolve, type ResolveMentionSuggestionsArgs, type ResolveRoomsInfoArgs, type ResolveUsersArgs, type Room, type RoomEventMessage, type RoomStateServerMsg, type RoomSubscriptionSettings, 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 SubscriptionData, type SubscriptionDataPlain, type SubscriptionDeleteInfo, type SubscriptionDeleteInfoPlain, type SubscriptionKey, type SyncSource, type SyncStatus, TextEditorType, type ThreadData, type ThreadDataPlain, type ThreadDataWithDeleteInfo, type ThreadDeleteInfo, type ToImmutable, type ToJson, type ToolResultResponse, type URLSafeString, type UnsubscribeCallback, type UpdateObjectOp, type UpdatePresenceClientMsg, type UpdatePresenceServerMsg, type UpdateStorageClientMsg, type UpdateStorageServerMsg, type UpdateYDocClientMsg, type UploadAttachmentOptions, type User, type UserJoinServerMsg, type UserLeftServerMsg, type UserMentionData, type UserRoomSubscriptionSettings, type UserSubscriptionData, type UserSubscriptionDataPlain, WebsocketCloseCodes, type WithNavigation, type WithOptional, type WithRequired, type YDocUpdateServerMsg, type YjsSyncStatus, ackOp, asPos, assert, assertNever, autoRetry, b64decode, batch, checkBounds, chunk, cloneLson, compactObject, fancyConsole as console, convertToCommentData, convertToCommentUserReaction, convertToInboxNotificationData, convertToSubscriptionData, convertToThreadData, convertToUserSubscriptionData, createClient, createCommentAttachmentId, createCommentId, createInboxNotificationId, createManagedPool, createNotificationSettings, createThreadId, defineAiTool, deprecate, deprecateIf, detectDupes, entries, errorIf, findLastIndex, freeze, generateUrl, getMentionsFromCommentBody, getSubscriptionKey, html, htmlSafe, isChildCrdt, isCommentBodyLink, isCommentBodyMention, isCommentBodyText, isJsonArray, isJsonObject, isJsonScalar, isLiveNode, isNotificationChannelEnabled, isPlainObject, isRootCrdt, isStartsWithOperator, isUrl, kInternal, keys, legacy_patchImmutableObject, lsonToJson, makeAbortController, makeEventSource, makePoller, makePosition, mapValues, memoizeOnSuccess, nanoid, nn, objectToQuery, patchLiveObjectKey, patchNotificationSettings, raise, resolveUsersInCommentBody, sanitizeUrl, shallow, shallow2, stableStringify, stringifyCommentBody, throwUsageError, toPlainLson, tryParseJson, url, urljoin, wait, withTimeout };
5035
+ export { type AckOp, type ActivityData, type AiAssistantContentPart, type AiAssistantMessage, type AiChat, type AiChatMessage, type AiChatsQuery, type AiKnowledgeSource, type AiOpaqueToolDefinition, type AiOpaqueToolInvocationProps, type AiReasoningPart, type AiRetrievalPart, type AiTextPart, type AiToolDefinition, type AiToolExecuteCallback, type AiToolExecuteContext, type AiToolInvocationPart, type AiToolInvocationProps, type AiToolTypePack, type AiUserMessage, type AsyncError, type AsyncLoading, type AsyncResult, type AsyncSuccess, type Awaitable, type BaseActivitiesData, type BaseAuthResult, type BaseGroupInfo, 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, type CommentsEventServerMsg, type ContextualPromptContext, type ContextualPromptResponse, type CopilotId, CrdtType, type CreateListOp, type CreateManagedPoolOptions, type CreateMapOp, type CreateObjectOp, type CreateOp, type CreateRegisterOp, type Cursor, type CustomAuthenticationResult, type DAD, type DE, type DGI, type DM, type DP, type DRI, type DS, type DU, DefaultMap, type Delegates, type DeleteCrdtOp, type DeleteObjectKeyOp, Deque, DerivedSignal, DevToolsTreeNode as DevTools, protocol as DevToolsMsg, type DistributiveOmit, type EnsureJson, type EnterOptions, type EventSource, type FetchStorageClientMsg, type FetchYDocClientMsg, type GetThreadsOptions, type GroupData, type GroupDataPlain, type GroupMemberData, type GroupMentionData, type GroupScopes, 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 InferFromSchema, 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, MENTION_CHARACTER, type ManagedPool, type MentionData, type MessageId, MutableSignal, type NoInfr, type NodeMap, type NotificationChannel, type NotificationChannelSettings, type NotificationKind, type NotificationSettings, type NotificationSettingsPlain, type Observable, type Op, OpCode, type OpaqueClient, type OpaqueRoom, type OptionalTupleUnless, type OthersEvent, type ParentToChildNodeMap, type PartialNotificationSettings, 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 RenderableToolResultResponse, type Resolve, type ResolveGroupsInfoArgs, type ResolveMentionSuggestionsArgs, type ResolveRoomsInfoArgs, type ResolveUsersArgs, type Room, type RoomEventMessage, type RoomStateServerMsg, type RoomSubscriptionSettings, 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 SubscriptionData, type SubscriptionDataPlain, type SubscriptionDeleteInfo, type SubscriptionDeleteInfoPlain, type SubscriptionKey, type SyncSource, type SyncStatus, TextEditorType, type ThreadData, type ThreadDataPlain, type ThreadDataWithDeleteInfo, type ThreadDeleteInfo, type ToImmutable, type ToJson, type ToolResultResponse, type URLSafeString, type UnsubscribeCallback, type UpdateObjectOp, type UpdatePresenceClientMsg, type UpdatePresenceServerMsg, type UpdateStorageClientMsg, type UpdateStorageServerMsg, type UpdateYDocClientMsg, type UploadAttachmentOptions, type User, type UserJoinServerMsg, type UserLeftServerMsg, type UserMentionData, type UserRoomSubscriptionSettings, type UserSubscriptionData, type UserSubscriptionDataPlain, WebsocketCloseCodes, type WithNavigation, type WithOptional, type WithRequired, type YDocUpdateServerMsg, type YjsSyncStatus, ackOp, asPos, assert, assertNever, autoRetry, b64decode, batch, checkBounds, chunk, cloneLson, compactObject, fancyConsole as console, convertToCommentData, convertToCommentUserReaction, convertToGroupData, convertToInboxNotificationData, convertToSubscriptionData, convertToThreadData, convertToUserSubscriptionData, createClient, createCommentAttachmentId, createCommentId, createInboxNotificationId, createManagedPool, createNotificationSettings, createThreadId, defineAiTool, deprecate, deprecateIf, detectDupes, entries, errorIf, findLastIndex, freeze, generateUrl, getMentionsFromCommentBody, getSubscriptionKey, html, htmlSafe, isChildCrdt, isCommentBodyLink, isCommentBodyMention, isCommentBodyText, isJsonArray, isJsonObject, isJsonScalar, isLiveNode, isNotificationChannelEnabled, isPlainObject, isRootCrdt, isStartsWithOperator, isUrl, kInternal, keys, legacy_patchImmutableObject, lsonToJson, makeAbortController, makeEventSource, makePoller, makePosition, mapValues, memoizeOnSuccess, nanoid, nn, objectToQuery, patchLiveObjectKey, patchNotificationSettings, raise, resolveMentionsInCommentBody, sanitizeUrl, shallow, shallow2, stableStringify, stringifyCommentBody, throwUsageError, toPlainLson, tryParseJson, url, urljoin, wait, warnOnce, warnOnceIf, withTimeout };