@liveblocks/react 2.25.0-aiprivatebeta9 → 3.1.0-alpha1

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.
@@ -1,10 +1,60 @@
1
+ import * as react from 'react';
2
+ import { ComponentType, Context, PropsWithChildren, ReactNode } from 'react';
3
+ import { BaseUserMeta, Client, JsonObject, LsonObject, LiveObject, User, Json, RoomSubscriptionSettings, Room, Status, BroadcastOptions, OthersEvent, LostConnectionEvent, History, BaseMetadata as BaseMetadata$1, ClientOptions, ThreadData as ThreadData$1, CommentData as CommentData$1 } from '@liveblocks/client';
1
4
  import * as _liveblocks_core from '@liveblocks/core';
2
- import { BaseMetadata, StorageStatus, QueryMetadata, AsyncResult, DRI, AsyncSuccess, Resolve, CommentBody, CommentAttachment, PartialUnless, Patchable, InboxNotificationData, NotificationSettings, Relax, ToImmutable, PartialNotificationSettings, AsyncLoading, AsyncError, ThreadData, HistoryVersion, AiChat, UiChatMessage, Client, LiveblocksError, SyncStatus, RoomEventMessage, CommentData, MutableSignal, ThreadDataWithDeleteInfo, ThreadDeleteInfo, DerivedSignal, DefaultMap, MessageId, OpaqueClient, SubscriptionData, SubscriptionKey, CommentUserReaction, InboxNotificationDeleteInfo, SubscriptionDeleteInfo, RoomSubscriptionSettings as RoomSubscriptionSettings$1, ISignal, Permission, BaseUserMeta as BaseUserMeta$1, DistributiveOmit, DU, DM, TextEditorType, IYjsProvider, DP, DS, DE } from '@liveblocks/core';
5
+ import { OpaqueClient, OpaqueRoom, AiKnowledgeSource, AiOpaqueToolDefinition, BaseMetadata, QueryMetadata, AsyncResult, DRI, AsyncSuccess, Resolve, CommentBody, CommentAttachment, PartialUnless, Patchable, InboxNotificationData, NotificationSettings, Relax, ToImmutable, PartialNotificationSettings, AsyncLoading, AsyncError, ThreadData, HistoryVersion, AiChat, Client as Client$1, LiveblocksError, SyncStatus, RoomEventMessage, CommentData, WithNavigation, AiChatMessage, MutableSignal, ThreadDataWithDeleteInfo, ThreadDeleteInfo, DerivedSignal, DefaultMap, MessageId, SubscriptionData, SubscriptionKey, CommentUserReaction, InboxNotificationDeleteInfo, SubscriptionDeleteInfo, RoomSubscriptionSettings as RoomSubscriptionSettings$1, ISignal, Permission, BaseUserMeta as BaseUserMeta$1, DistributiveOmit, DU, DM, TextEditorType, IYjsProvider, DP, DS, DE } from '@liveblocks/core';
3
6
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
- import * as react from 'react';
5
- import { Context, PropsWithChildren, ReactNode } from 'react';
6
- import { JsonObject, LsonObject, BaseUserMeta, LiveObject, User, Json, RoomSubscriptionSettings, Room, Status, BroadcastOptions, OthersEvent, LostConnectionEvent, History, BaseMetadata as BaseMetadata$1, Client as Client$1, ClientOptions, StorageStatus as StorageStatus$1, ThreadData as ThreadData$1, CommentData as CommentData$1 } from '@liveblocks/client';
7
7
 
8
+ /**
9
+ * Raw access to the React context where the LiveblocksProvider stores the
10
+ * current client. Exposed for advanced use cases only.
11
+ *
12
+ * @private This is a private/advanced API. Do not rely on it.
13
+ */
14
+ declare const ClientContext: react.Context<OpaqueClient | null>;
15
+ /**
16
+ * @private This is an internal API.
17
+ */
18
+ declare function useClientOrNull<U extends BaseUserMeta>(): Client<U> | null;
19
+ /**
20
+ * Obtains a reference to the current Liveblocks client.
21
+ */
22
+ declare function useClient<U extends BaseUserMeta>(): Client<U>;
23
+ /**
24
+ * Raw access to the React context where the RoomProvider stores the current
25
+ * room. Exposed for advanced use cases only.
26
+ *
27
+ * @private This is a private/advanced API. Do not rely on it.
28
+ */
29
+ declare const RoomContext: react.Context<OpaqueRoom | null>;
30
+
31
+ type RegisterAiKnowledgeProps = AiKnowledgeSource & {
32
+ /**
33
+ * An optional unique key for this knowledge source. If multiple components
34
+ * register knowledge under the same key, the last one to mount takes
35
+ * precedence.
36
+ */
37
+ id?: string;
38
+ };
39
+ type RegisterAiToolProps = {
40
+ name: string;
41
+ tool: AiOpaqueToolDefinition;
42
+ /**
43
+ * When provided, the tool will only be available for this chatId. If not
44
+ * provided, this tool will globally be made available to any AiChat
45
+ * instance.
46
+ */
47
+ chatId?: string;
48
+ /**
49
+ * Whether this tool should be enabled. When set to `false`, the tool will
50
+ * not be made available to the AI copilot for any new/future chat messages,
51
+ * but will still allow existing tool invocations to be rendered that are
52
+ * part of the historic chat record. Defaults to true.
53
+ */
54
+ enabled?: boolean;
55
+ };
56
+
57
+ type UiChatMessage = WithNavigation<AiChatMessage>;
8
58
  type UseSyncStatusOptions = {
9
59
  /**
10
60
  * When setting smooth, the hook will not update immediately as status
@@ -14,8 +64,16 @@ type UseSyncStatusOptions = {
14
64
  */
15
65
  smooth?: boolean;
16
66
  };
17
- type UseStorageStatusOptions = UseSyncStatusOptions;
18
- type StorageStatusSuccess = Exclude<StorageStatus, "not-loaded" | "loading">;
67
+ type UseSendAiMessageOptions = {
68
+ /**
69
+ * The id of the copilot to use to send the message.
70
+ */
71
+ copilotId?: string;
72
+ /** Stream the response as it is being generated. Defaults to true. */
73
+ stream?: boolean;
74
+ /** The maximum timeout for the answer to be generated. */
75
+ timeout?: number;
76
+ };
19
77
  type ThreadsQuery<M extends BaseMetadata> = {
20
78
  /**
21
79
  * Whether to only return threads marked as resolved or unresolved. If not provided,
@@ -172,7 +230,7 @@ type SharedContextBundle<U extends BaseUserMeta> = {
172
230
  /**
173
231
  * Obtains a reference to the current Liveblocks client.
174
232
  */
175
- useClient(): Client<U>;
233
+ useClient(): Client$1<U>;
176
234
  /**
177
235
  * Returns user info from a given user ID.
178
236
  *
@@ -216,12 +274,32 @@ type SharedContextBundle<U extends BaseUserMeta> = {
216
274
  * const syncStatus = useSyncStatus({ smooth: true });
217
275
  */
218
276
  useSyncStatus(options?: UseSyncStatusOptions): SyncStatus;
277
+ /**
278
+ * Make knowledge about your application state available to any AI used in
279
+ * a chat or a one-off request.
280
+ *
281
+ * For example:
282
+ *
283
+ * <RegisterAiKnowledge
284
+ * description="The current mode of my application"
285
+ * value="dark" />
286
+ *
287
+ * <RegisterAiKnowledge
288
+ * description="The current list of todos"
289
+ * value={todos} />
290
+ *
291
+ * By mounting this component, the AI will get access to this knwoledge.
292
+ * By unmounting this component, the AI will no longer have access to it.
293
+ * It can choose to use or ignore this knowledge in its responses.
294
+ */
295
+ RegisterAiKnowledge: ComponentType<RegisterAiKnowledgeProps>;
296
+ RegisterAiTool: ComponentType<RegisterAiToolProps>;
219
297
  };
220
298
  suspense: {
221
299
  /**
222
300
  * Obtains a reference to the current Liveblocks client.
223
301
  */
224
- useClient(): Client<U>;
302
+ useClient(): Client$1<U>;
225
303
  /**
226
304
  * Returns user info from a given user ID.
227
305
  *
@@ -265,6 +343,26 @@ type SharedContextBundle<U extends BaseUserMeta> = {
265
343
  * const syncStatus = useSyncStatus({ smooth: true });
266
344
  */
267
345
  useSyncStatus(options?: UseSyncStatusOptions): SyncStatus;
346
+ /**
347
+ * Make knowledge about your application state available to any AI used in
348
+ * a chat or a one-off request.
349
+ *
350
+ * For example:
351
+ *
352
+ * <RegisterAiKnowledge
353
+ * description="The current mode of my application"
354
+ * value="dark" />
355
+ *
356
+ * <RegisterAiKnowledge
357
+ * description="The current list of todos"
358
+ * value={todos} />
359
+ *
360
+ * By mounting this component, the AI will get access to this knwoledge.
361
+ * By unmounting this component, the AI will no longer have access to it.
362
+ * It can choose to use or ignore this knowledge in its responses.
363
+ */
364
+ RegisterAiKnowledge: ComponentType<RegisterAiKnowledgeProps>;
365
+ RegisterAiTool: ComponentType<RegisterAiToolProps>;
268
366
  };
269
367
  };
270
368
  /**
@@ -298,16 +396,6 @@ type RoomContextBundleCommon<P extends JsonObject, S extends LsonObject, U exten
298
396
  * a re-render whenever it changes. Can be used to render a status badge.
299
397
  */
300
398
  useStatus(): Status;
301
- /**
302
- * @deprecated It's recommended to use `useMutation` for writing to Storage,
303
- * which will automatically batch all mutations.
304
- *
305
- * Returns a function that batches modifications made during the given function.
306
- * All the modifications are sent to other clients in a single message.
307
- * All the modifications are merged in a single history item (undo/redo).
308
- * All the subscribers are called only after the batch is over.
309
- */
310
- useBatch<T>(): (callback: () => T) => T;
311
399
  /**
312
400
  * Returns a callback that lets you broadcast custom events to other users in the room
313
401
  *
@@ -665,13 +753,6 @@ type RoomContextBundleCommon<P extends JsonObject, S extends LsonObject, U exten
665
753
  * removeReaction({ threadId: "th_xxx", commentId: "cm_xxx", emoji: "👍" })
666
754
  */
667
755
  useRemoveReaction(): (options: CommentReactionOptions) => void;
668
- /**
669
- * @deprecated Renamed to `useUpdateRoomSubscriptionSettings`
670
- *
671
- * Returns a function that updates the user's subscription settings
672
- * for the current room.
673
- */
674
- useUpdateRoomNotificationSettings(): (settings: Partial<RoomSubscriptionSettings>) => void;
675
756
  /**
676
757
  * Returns a function that updates the user's subscription settings
677
758
  * for the current room.
@@ -699,14 +780,6 @@ type RoomContextBundleCommon<P extends JsonObject, S extends LsonObject, U exten
699
780
  useThreadSubscription(threadId: string): ThreadSubscription;
700
781
  };
701
782
  type RoomContextBundle<P extends JsonObject, S extends LsonObject, U extends BaseUserMeta, E extends Json, M extends BaseMetadata> = Resolve<RoomContextBundleCommon<P, S, U, E, M> & SharedContextBundle<U>["classic"] & {
702
- /**
703
- * Returns the current storage status for the Room, and triggers
704
- * a re-render whenever it changes. Can be used to render a "Saving..."
705
- * indicator.
706
- *
707
- * @deprecated Prefer useSyncStatus()
708
- */
709
- useStorageStatus(options?: UseStorageStatusOptions): StorageStatus;
710
783
  /**
711
784
  * Extract arbitrary data from the Liveblocks Storage state, using an
712
785
  * arbitrary selector function.
@@ -768,16 +841,6 @@ type RoomContextBundle<P extends JsonObject, S extends LsonObject, U extends Bas
768
841
  * const { threads, error, isLoading } = useThreads();
769
842
  */
770
843
  useThreads(options?: UseThreadsOptions<M>): ThreadsAsyncResult<M>;
771
- /**
772
- * @deprecated Renamed to `useRoomSubscriptionSettings`
773
- *
774
- * Returns the user's notification settings for the current room
775
- * and a function to update them.
776
- */
777
- useRoomNotificationSettings(): [
778
- RoomSubscriptionSettingsAsyncResult,
779
- (settings: Partial<RoomSubscriptionSettings>) => void
780
- ];
781
844
  /**
782
845
  * Returns the user's subscription settings for the current room
783
846
  * and a function to update them.
@@ -811,14 +874,6 @@ type RoomContextBundle<P extends JsonObject, S extends LsonObject, U extends Bas
811
874
  */
812
875
  useHistoryVersionData(id: string): HistoryVersionDataAsyncResult;
813
876
  suspense: Resolve<RoomContextBundleCommon<P, S, U, E, M> & SharedContextBundle<U>["suspense"] & {
814
- /**
815
- * Returns the current storage status for the Room, and triggers
816
- * a re-render whenever it changes. Can be used to render a "Saving..."
817
- * indicator.
818
- *
819
- * @deprecated Prefer useSyncStatus()
820
- */
821
- useStorageStatus(options?: UseStorageStatusOptions): StorageStatusSuccess;
822
877
  /**
823
878
  * Extract arbitrary data from the Liveblocks Storage state, using an
824
879
  * arbitrary selector function.
@@ -881,16 +936,6 @@ type RoomContextBundle<P extends JsonObject, S extends LsonObject, U extends Bas
881
936
  * const { versions } = useHistoryVersions();
882
937
  */
883
938
  useHistoryVersions(): HistoryVersionsAsyncSuccess;
884
- /**
885
- * @deprecated Renamed to `useRoomSubscriptionSettings`
886
- *
887
- * Returns the user's notification settings for the current room
888
- * and a function to update them.
889
- */
890
- useRoomNotificationSettings(): [
891
- RoomSubscriptionSettingsAsyncSuccess,
892
- (settings: Partial<RoomSubscriptionSettings>) => void
893
- ];
894
939
  /**
895
940
  * Returns the user's subscription settings for the current room
896
941
  * and a function to update them.
@@ -1020,6 +1065,14 @@ type LiveblocksContextBundleCommon<M extends BaseMetadata> = {
1020
1065
  * deleteAiChat("ai-chat-id");
1021
1066
  */
1022
1067
  useDeleteAiChat(): (chatId: string) => void;
1068
+ /**
1069
+ * Returns a function to send a message in an AI chat.
1070
+ *
1071
+ * @example
1072
+ * const sendMessage = useSendAiMessage(chatId);
1073
+ * sendMessage("Hello, Liveblocks AI!");
1074
+ */
1075
+ useSendAiMessage(chatId: string, options?: UseSendAiMessageOptions): (message: string) => void;
1023
1076
  };
1024
1077
  type LiveblocksContextBundle<U extends BaseUserMeta, M extends BaseMetadata> = Resolve<LiveblocksContextBundleCommon<M> & SharedContextBundle<U>["classic"] & {
1025
1078
  /**
@@ -1407,7 +1460,7 @@ declare function createStore_forNotificationSettings(updates: ISignal<readonly O
1407
1460
  signal: DerivedSignal<NotificationSettings>;
1408
1461
  update: (settings: NotificationSettings) => void;
1409
1462
  };
1410
- declare function createStore_forOptimistic<M extends BaseMetadata>(client: Client<BaseUserMeta$1, M>): {
1463
+ declare function createStore_forOptimistic<M extends BaseMetadata>(client: Client$1<BaseUserMeta$1, M>): {
1411
1464
  signal: ISignal<readonly OptimisticUpdate<M>[]>;
1412
1465
  add: (optimisticUpdate: DistributiveOmit<OptimisticUpdate<M>, "id">) => string;
1413
1466
  remove: (optimisticId: string) => void;
@@ -1514,33 +1567,43 @@ declare class UmbrellaStore<M extends BaseMetadata> {
1514
1567
  updateNotificationSettings_confirmOptimisticUpdate(settings: NotificationSettings, optimisticUpdateId: string): void;
1515
1568
  }
1516
1569
 
1517
- /**
1518
- * Raw access to the React context where the LiveblocksProvider stores the
1519
- * current client. Exposed for advanced use cases only.
1520
- *
1521
- * @private This is a private/advanced API. Do not rely on it.
1522
- */
1523
- declare const ClientContext: react.Context<OpaqueClient | null>;
1524
1570
  /**
1525
1571
  * Gets or creates a unique Umbrella store for each unique client instance.
1526
1572
  *
1527
1573
  * @private
1528
1574
  */
1529
1575
  declare function getUmbrellaStoreForClient<M extends BaseMetadata$1>(client: OpaqueClient): UmbrellaStore<M>;
1576
+ /**
1577
+ * Returns a function that creates an AI chat.
1578
+ *
1579
+ * If you do not pass a title for the chat, it will be automatically computed
1580
+ * after the first AI response.
1581
+ *
1582
+ * @example
1583
+ * const createAiChat = useCreateAiChat();
1584
+ * createAiChat({ id: "ai-chat-id", title: "My AI chat" });
1585
+ */
1530
1586
  declare function useCreateAiChat(): (options: {
1531
1587
  id: string;
1532
1588
  title?: string;
1533
1589
  metadata?: Record<string, string | string[]>;
1534
1590
  }) => void;
1535
- declare function useDeleteAiChat(): (chatId: string) => void;
1536
1591
  /**
1537
- * @private This is an internal API.
1592
+ * Returns a function that deletes the AI chat with the specified id.
1593
+ *
1594
+ * @example
1595
+ * const deleteAiChat = useDeleteAiChat();
1596
+ * deleteAiChat("ai-chat-id");
1538
1597
  */
1539
- declare function useClientOrNull<U extends BaseUserMeta>(): Client$1<U> | null;
1598
+ declare function useDeleteAiChat(): (chatId: string) => void;
1540
1599
  /**
1541
- * Obtains a reference to the current Liveblocks client.
1600
+ * Returns a function to send a message in an AI chat.
1601
+ *
1602
+ * @example
1603
+ * const sendMessage = useSendAiMessage(chatId);
1604
+ * sendMessage("Hello, Liveblocks AI!");
1542
1605
  */
1543
- declare function useClient<U extends BaseUserMeta>(): Client$1<U>;
1606
+ declare function useSendAiMessage(chatId: string, options?: UseSendAiMessageOptions): (message: string) => void;
1544
1607
  /**
1545
1608
  * Sets up a client for connecting to Liveblocks, and is the recommended way to do
1546
1609
  * this for React apps. You must define either `authEndpoint` or `publicApiKey`.
@@ -1745,6 +1808,13 @@ declare const _useAiChats: TypedBundle$1["useAiChats"];
1745
1808
  * const { chats, error, isLoading } = useAiChats();
1746
1809
  */
1747
1810
  declare const _useAiChatsSuspense: TypedBundle$1["suspense"]["useAiChats"];
1811
+ /**
1812
+ * (Private beta) Returns the information of the given chat.
1813
+ *
1814
+ * @example
1815
+ * const { chat, error, isLoading } = useAiChat("my-chat");
1816
+ */
1817
+ declare const _useAiChat: TypedBundle$1["useAiChat"];
1748
1818
  /**
1749
1819
  * (Private beta) Returns the information of the given chat.
1750
1820
  *
@@ -1803,27 +1873,12 @@ declare function useCreateTextMention(): (userId: string, mentionId: string) =>
1803
1873
  /** @private - Internal API, do not rely on it. */
1804
1874
  declare function useDeleteTextMention(): (mentionId: string) => void;
1805
1875
  /** @private - Internal API, do not rely on it. */
1806
- declare function useResolveMentionSuggestions(): ((args: _liveblocks_core.ResolveMentionSuggestionsArgs) => _liveblocks_core.Awaitable<string[]>) | undefined;
1876
+ declare function useResolveMentionSuggestions(): ((args: _liveblocks_core.ResolveMentionSuggestionsArgs) => _liveblocks_core.Awaitable<string[] | _liveblocks_core.MentionData[]>) | undefined;
1807
1877
  /** @private - Internal API, do not rely on it. */
1808
- declare function useMentionSuggestionsCache(): Map<string, string[]>;
1809
- /**
1810
- * Returns the current storage status for the Room, and triggers
1811
- * a re-render whenever it changes. Can be used to render a "Saving..."
1812
- * indicator.
1813
- *
1814
- * @deprecated Prefer useSyncStatus()
1815
- */
1816
- declare function useStorageStatus(options?: UseStorageStatusOptions): StorageStatus$1;
1817
- /**
1818
- * @deprecated It's recommended to use `useMutation` for writing to Storage,
1819
- * which will automatically batch all mutations.
1820
- *
1821
- * Returns a function that batches modifications made during the given function.
1822
- * All the modifications are sent to other clients in a single message.
1823
- * All the modifications are merged in a single history item (undo/redo).
1824
- * All the subscribers are called only after the batch is over.
1825
- */
1826
- declare function useBatch<T>(): (callback: () => T) => T;
1878
+ declare function useMentionSuggestionsCache(): Map<string, {
1879
+ kind: "user";
1880
+ id: string;
1881
+ }[]>;
1827
1882
  /**
1828
1883
  * Get informed when reconnecting to the Liveblocks servers is taking
1829
1884
  * longer than usual. This typically is a sign of a client that has lost
@@ -2012,13 +2067,6 @@ declare function useRoomThreadSubscription(roomId: string, threadId: string): Th
2012
2067
  * const {data} = useHistoryVersionData(versionId);
2013
2068
  */
2014
2069
  declare function useHistoryVersionData(versionId: string): HistoryVersionDataAsyncResult;
2015
- /**
2016
- * @deprecated Renamed to `useUpdateRoomSubscriptionSettings`
2017
- *
2018
- * Returns a function that updates the user's subscription settings
2019
- * for the current room.
2020
- */
2021
- declare function useUpdateRoomNotificationSettings(): (settings: Partial<RoomSubscriptionSettings$1>) => void;
2022
2070
  /**
2023
2071
  * Returns a function that updates the user's subscription settings
2024
2072
  * for the current room.
@@ -2043,14 +2091,6 @@ declare function useUpdateRoomSubscriptionSettings(): (settings: Partial<RoomSub
2043
2091
  * // [2, 4, 7]
2044
2092
  */
2045
2093
  declare function useOthersConnectionIdsSuspense(): readonly number[];
2046
- /**
2047
- * Returns the current storage status for the Room, and triggers
2048
- * a re-render whenever it changes. Can be used to render a "Saving..."
2049
- * indicator.
2050
- *
2051
- * @deprecated Prefer useSyncStatus()
2052
- */
2053
- declare function useStorageStatusSuspense(options?: UseStorageStatusOptions): StorageStatusSuccess;
2054
2094
  /**
2055
2095
  * Returns a presigned URL for an attachment by its ID.
2056
2096
  *
@@ -2296,13 +2336,6 @@ declare const _useThreads: TypedBundle["useThreads"];
2296
2336
  * const { threads } = useThreads();
2297
2337
  */
2298
2338
  declare const _useThreadsSuspense: TypedBundle["suspense"]["useThreads"];
2299
- /**
2300
- * @deprecated Renamed to `useRoomSubscriptionSettings`
2301
- *
2302
- * Returns the user's subscription settings for the current room
2303
- * and a function to update them.
2304
- */
2305
- declare const _useRoomNotificationSettings: TypedBundle["useRoomNotificationSettings"];
2306
2339
  /**
2307
2340
  * Returns the user's subscription settings for the current room
2308
2341
  * and a function to update them.
@@ -2311,13 +2344,6 @@ declare const _useRoomNotificationSettings: TypedBundle["useRoomNotificationSett
2311
2344
  * const [{ settings }, updateSettings] = useRoomSubscriptionSettings();
2312
2345
  */
2313
2346
  declare const _useRoomSubscriptionSettings: TypedBundle["useRoomSubscriptionSettings"];
2314
- /**
2315
- * @deprecated Renamed to `useRoomSubscriptionSettings`
2316
- *
2317
- * Returns the user's subscription settings for the current room
2318
- * and a function to update them.
2319
- */
2320
- declare const _useRoomNotificationSettingsSuspense: TypedBundle["suspense"]["useRoomNotificationSettings"];
2321
2347
  /**
2322
2348
  * Returns the user's subscription settings for the current room
2323
2349
  * and a function to update them.
@@ -2567,4 +2593,4 @@ declare const _useStorageRoot: TypedBundle["useStorageRoot"];
2567
2593
  */
2568
2594
  declare const _useUpdateMyPresence: TypedBundle["useUpdateMyPresence"];
2569
2595
 
2570
- export { _useEventListener as $, useDeleteInboxNotification as A, useErrorListener as B, ClientContext as C, useMarkAllInboxNotificationsAsRead as D, useMarkInboxNotificationAsRead as E, useSyncStatus as F, createRoomContext as G, _RoomProvider as H, _useAddReaction as I, useBatch as J, _useBroadcastEvent as K, LiveblocksProvider as L, type MutationContext as M, useCanRedo as N, useCanUndo as O, useCreateComment as P, _useCreateThread as Q, useDeleteComment as R, _useDeleteThread as S, useEditComment as T, type UseStorageStatusOptions as U, _useEditThreadMetadata as V, useMarkThreadAsResolved as W, useMarkThreadAsUnresolved as X, useSubscribeToThread as Y, useUnsubscribeFromThread as Z, _useInboxNotificationThread as _, useAddRoomCommentReaction as a, useHistory as a0, _useIsInsideRoom as a1, useLostConnectionListener as a2, useMarkThreadAsRead as a3, _useMutation as a4, _useMyPresence as a5, _useOthersListener as a6, useRedo as a7, useRemoveReaction as a8, _useRoom as a9, useRoomInfo as aA, useUnreadInboxNotificationsCount as aB, _useUser as aC, _useAiChats as aD, _useAiChatMessages as aE, _useOtherSuspense as aF, _useOthersSuspense as aG, useOthersConnectionIdsSuspense as aH, _useOthersMappedSuspense as aI, _useSelfSuspense as aJ, _useStorageSuspense as aK, useStorageStatusSuspense as aL, _useThreadsSuspense as aM, useAttachmentUrlSuspense as aN, _useHistoryVersionsSuspense as aO, _useRoomNotificationSettingsSuspense as aP, _useRoomSubscriptionSettingsSuspense as aQ, useInboxNotificationsSuspense as aR, useNotificationSettingsSuspense as aS, useRoomInfoSuspense as aT, useUnreadInboxNotificationsCountSuspense as aU, _useUserSuspense as aV, _useUserThreadsSuspense_experimental as aW, _useAiChatsSuspense as aX, _useAiChatMessagesSuspense as aY, _useAiChatSuspense as aZ, useStatus as aa, _useStorageRoot as ab, useThreadSubscription as ac, useUndo as ad, _useUpdateMyPresence as ae, useUpdateRoomNotificationSettings as af, useUpdateRoomSubscriptionSettings as ag, useHistoryVersionData as ah, _useOther as ai, _useOthers as aj, useOthersConnectionIds as ak, _useOthersMapped as al, _useSelf as am, _useStorage as an, useStorageStatus as ao, _useThreads as ap, useAttachmentUrl as aq, _useHistoryVersions as ar, _useRoomNotificationSettings as as, _useRoomSubscriptionSettings as at, useInboxNotifications as au, useNotificationSettings as av, useUpdateNotificationSettings as aw, useCreateAiChat as ax, useDeleteAiChat as ay, _useUserThreads_experimental as az, useCreateRoomComment as b, useCreateRoomThread as c, useCreateTextMention as d, useDeleteRoomComment as e, useDeleteRoomThread as f, getUmbrellaStoreForClient as g, useDeleteTextMention as h, useEditRoomComment as i, useEditRoomThreadMetadata as j, useMarkRoomThreadAsRead as k, useMarkRoomThreadAsResolved as l, useMarkRoomThreadAsUnresolved as m, useMentionSuggestionsCache as n, useRemoveRoomCommentReaction as o, useReportTextEditor as p, useResolveMentionSuggestions as q, useRoomAttachmentUrl as r, useRoomPermissions as s, useRoomThreadSubscription as t, useClientOrNull as u, useYjsProvider as v, type UseThreadsOptions as w, createLiveblocksContext as x, useClient as y, useDeleteAllInboxNotifications as z };
2596
+ export { useSubscribeToThread as $, createLiveblocksContext as A, useDeleteAllInboxNotifications as B, ClientContext as C, useDeleteInboxNotification as D, useErrorListener as E, useMarkAllInboxNotificationsAsRead as F, useMarkInboxNotificationAsRead as G, useSyncStatus as H, createRoomContext as I, _RoomProvider as J, _useAddReaction as K, LiveblocksProvider as L, type MutationContext as M, _useBroadcastEvent as N, useCanRedo as O, useCanUndo as P, useCreateComment as Q, type RegisterAiKnowledgeProps as R, _useCreateThread as S, useDeleteComment as T, type UseSendAiMessageOptions as U, _useDeleteThread as V, useEditComment as W, _useEditThreadMetadata as X, useMarkThreadAsResolved as Y, useMarkThreadAsUnresolved as Z, _useInboxNotificationThread as _, useAddRoomCommentReaction as a, useUnsubscribeFromThread as a0, _useEventListener as a1, useHistory as a2, _useIsInsideRoom as a3, useLostConnectionListener as a4, useMarkThreadAsRead as a5, _useMutation as a6, _useMyPresence as a7, _useOthersListener as a8, useRedo as a9, useRoomInfo as aA, useUnreadInboxNotificationsCount as aB, _useUser as aC, _useAiChat as aD, _useAiChats as aE, _useAiChatMessages as aF, _useOtherSuspense as aG, _useOthersSuspense as aH, useOthersConnectionIdsSuspense as aI, _useOthersMappedSuspense as aJ, _useSelfSuspense as aK, _useStorageSuspense as aL, _useThreadsSuspense as aM, useAttachmentUrlSuspense as aN, _useHistoryVersionsSuspense as aO, _useRoomSubscriptionSettingsSuspense as aP, useInboxNotificationsSuspense as aQ, useNotificationSettingsSuspense as aR, useRoomInfoSuspense as aS, useUnreadInboxNotificationsCountSuspense as aT, _useUserSuspense as aU, _useUserThreadsSuspense_experimental as aV, _useAiChatsSuspense as aW, _useAiChatMessagesSuspense as aX, _useAiChatSuspense as aY, useRemoveReaction as aa, _useRoom as ab, useStatus as ac, _useStorageRoot as ad, useThreadSubscription as ae, useUndo as af, _useUpdateMyPresence as ag, useUpdateRoomSubscriptionSettings as ah, useHistoryVersionData as ai, _useOther as aj, _useOthers as ak, useOthersConnectionIds as al, _useOthersMapped as am, _useSelf as an, _useStorage as ao, _useThreads as ap, useAttachmentUrl as aq, _useHistoryVersions as ar, _useRoomSubscriptionSettings as as, useInboxNotifications as at, useNotificationSettings as au, useUpdateNotificationSettings as av, useCreateAiChat as aw, useDeleteAiChat as ax, useSendAiMessage as ay, _useUserThreads_experimental as az, useCreateRoomComment as b, useCreateRoomThread as c, useCreateTextMention as d, useDeleteRoomComment as e, useDeleteRoomThread as f, getUmbrellaStoreForClient as g, useDeleteTextMention as h, useEditRoomComment as i, useEditRoomThreadMetadata as j, useMarkRoomThreadAsRead as k, useMarkRoomThreadAsResolved as l, useMarkRoomThreadAsUnresolved as m, useMentionSuggestionsCache as n, useRemoveRoomCommentReaction as o, useReportTextEditor as p, useResolveMentionSuggestions as q, useRoomAttachmentUrl as r, useRoomPermissions as s, useRoomThreadSubscription as t, useClientOrNull as u, useYjsProvider as v, type RegisterAiToolProps as w, type UseThreadsOptions as x, RoomContext as y, useClient as z };