@liveblocks/react 2.25.0-aiprivatebeta8 → 3.0.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.
@@ -1,10 +1,53 @@
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
+
50
+ type UiChatMessage = WithNavigation<AiChatMessage>;
8
51
  type UseSyncStatusOptions = {
9
52
  /**
10
53
  * When setting smooth, the hook will not update immediately as status
@@ -14,8 +57,16 @@ type UseSyncStatusOptions = {
14
57
  */
15
58
  smooth?: boolean;
16
59
  };
17
- type UseStorageStatusOptions = UseSyncStatusOptions;
18
- type StorageStatusSuccess = Exclude<StorageStatus, "not-loaded" | "loading">;
60
+ type UseSendAiMessageOptions = {
61
+ /**
62
+ * The id of the copilot to use to send the message.
63
+ */
64
+ copilotId?: string;
65
+ /** Stream the response as it is being generated. Defaults to true. */
66
+ stream?: boolean;
67
+ /** The maximum timeout for the answer to be generated. */
68
+ timeout?: number;
69
+ };
19
70
  type ThreadsQuery<M extends BaseMetadata> = {
20
71
  /**
21
72
  * Whether to only return threads marked as resolved or unresolved. If not provided,
@@ -172,7 +223,7 @@ type SharedContextBundle<U extends BaseUserMeta> = {
172
223
  /**
173
224
  * Obtains a reference to the current Liveblocks client.
174
225
  */
175
- useClient(): Client<U>;
226
+ useClient(): Client$1<U>;
176
227
  /**
177
228
  * Returns user info from a given user ID.
178
229
  *
@@ -216,12 +267,32 @@ type SharedContextBundle<U extends BaseUserMeta> = {
216
267
  * const syncStatus = useSyncStatus({ smooth: true });
217
268
  */
218
269
  useSyncStatus(options?: UseSyncStatusOptions): SyncStatus;
270
+ /**
271
+ * Make knowledge about your application state available to any AI used in
272
+ * a chat or a one-off request.
273
+ *
274
+ * For example:
275
+ *
276
+ * <RegisterAiKnowledge
277
+ * description="The current mode of my application"
278
+ * value="dark" />
279
+ *
280
+ * <RegisterAiKnowledge
281
+ * description="The current list of todos"
282
+ * value={todos} />
283
+ *
284
+ * By mounting this component, the AI will get access to this knwoledge.
285
+ * By unmounting this component, the AI will no longer have access to it.
286
+ * It can choose to use or ignore this knowledge in its responses.
287
+ */
288
+ RegisterAiKnowledge: ComponentType<RegisterAiKnowledgeProps>;
289
+ RegisterAiTool: ComponentType<RegisterAiToolProps>;
219
290
  };
220
291
  suspense: {
221
292
  /**
222
293
  * Obtains a reference to the current Liveblocks client.
223
294
  */
224
- useClient(): Client<U>;
295
+ useClient(): Client$1<U>;
225
296
  /**
226
297
  * Returns user info from a given user ID.
227
298
  *
@@ -265,6 +336,26 @@ type SharedContextBundle<U extends BaseUserMeta> = {
265
336
  * const syncStatus = useSyncStatus({ smooth: true });
266
337
  */
267
338
  useSyncStatus(options?: UseSyncStatusOptions): SyncStatus;
339
+ /**
340
+ * Make knowledge about your application state available to any AI used in
341
+ * a chat or a one-off request.
342
+ *
343
+ * For example:
344
+ *
345
+ * <RegisterAiKnowledge
346
+ * description="The current mode of my application"
347
+ * value="dark" />
348
+ *
349
+ * <RegisterAiKnowledge
350
+ * description="The current list of todos"
351
+ * value={todos} />
352
+ *
353
+ * By mounting this component, the AI will get access to this knwoledge.
354
+ * By unmounting this component, the AI will no longer have access to it.
355
+ * It can choose to use or ignore this knowledge in its responses.
356
+ */
357
+ RegisterAiKnowledge: ComponentType<RegisterAiKnowledgeProps>;
358
+ RegisterAiTool: ComponentType<RegisterAiToolProps>;
268
359
  };
269
360
  };
270
361
  /**
@@ -298,16 +389,6 @@ type RoomContextBundleCommon<P extends JsonObject, S extends LsonObject, U exten
298
389
  * a re-render whenever it changes. Can be used to render a status badge.
299
390
  */
300
391
  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
392
  /**
312
393
  * Returns a callback that lets you broadcast custom events to other users in the room
313
394
  *
@@ -665,13 +746,6 @@ type RoomContextBundleCommon<P extends JsonObject, S extends LsonObject, U exten
665
746
  * removeReaction({ threadId: "th_xxx", commentId: "cm_xxx", emoji: "👍" })
666
747
  */
667
748
  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
749
  /**
676
750
  * Returns a function that updates the user's subscription settings
677
751
  * for the current room.
@@ -699,14 +773,6 @@ type RoomContextBundleCommon<P extends JsonObject, S extends LsonObject, U exten
699
773
  useThreadSubscription(threadId: string): ThreadSubscription;
700
774
  };
701
775
  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
776
  /**
711
777
  * Extract arbitrary data from the Liveblocks Storage state, using an
712
778
  * arbitrary selector function.
@@ -768,16 +834,6 @@ type RoomContextBundle<P extends JsonObject, S extends LsonObject, U extends Bas
768
834
  * const { threads, error, isLoading } = useThreads();
769
835
  */
770
836
  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
837
  /**
782
838
  * Returns the user's subscription settings for the current room
783
839
  * and a function to update them.
@@ -811,14 +867,6 @@ type RoomContextBundle<P extends JsonObject, S extends LsonObject, U extends Bas
811
867
  */
812
868
  useHistoryVersionData(id: string): HistoryVersionDataAsyncResult;
813
869
  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
870
  /**
823
871
  * Extract arbitrary data from the Liveblocks Storage state, using an
824
872
  * arbitrary selector function.
@@ -881,16 +929,6 @@ type RoomContextBundle<P extends JsonObject, S extends LsonObject, U extends Bas
881
929
  * const { versions } = useHistoryVersions();
882
930
  */
883
931
  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
932
  /**
895
933
  * Returns the user's subscription settings for the current room
896
934
  * and a function to update them.
@@ -1020,6 +1058,14 @@ type LiveblocksContextBundleCommon<M extends BaseMetadata> = {
1020
1058
  * deleteAiChat("ai-chat-id");
1021
1059
  */
1022
1060
  useDeleteAiChat(): (chatId: string) => void;
1061
+ /**
1062
+ * Returns a function to send a message in an AI chat.
1063
+ *
1064
+ * @example
1065
+ * const sendMessage = useSendAiMessage(chatId);
1066
+ * sendMessage("Hello, Liveblocks AI!");
1067
+ */
1068
+ useSendAiMessage(chatId: string, options?: UseSendAiMessageOptions): (message: string) => void;
1023
1069
  };
1024
1070
  type LiveblocksContextBundle<U extends BaseUserMeta, M extends BaseMetadata> = Resolve<LiveblocksContextBundleCommon<M> & SharedContextBundle<U>["classic"] & {
1025
1071
  /**
@@ -1407,7 +1453,7 @@ declare function createStore_forNotificationSettings(updates: ISignal<readonly O
1407
1453
  signal: DerivedSignal<NotificationSettings>;
1408
1454
  update: (settings: NotificationSettings) => void;
1409
1455
  };
1410
- declare function createStore_forOptimistic<M extends BaseMetadata>(client: Client<BaseUserMeta$1, M>): {
1456
+ declare function createStore_forOptimistic<M extends BaseMetadata>(client: Client$1<BaseUserMeta$1, M>): {
1411
1457
  signal: ISignal<readonly OptimisticUpdate<M>[]>;
1412
1458
  add: (optimisticUpdate: DistributiveOmit<OptimisticUpdate<M>, "id">) => string;
1413
1459
  remove: (optimisticId: string) => void;
@@ -1514,33 +1560,43 @@ declare class UmbrellaStore<M extends BaseMetadata> {
1514
1560
  updateNotificationSettings_confirmOptimisticUpdate(settings: NotificationSettings, optimisticUpdateId: string): void;
1515
1561
  }
1516
1562
 
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
1563
  /**
1525
1564
  * Gets or creates a unique Umbrella store for each unique client instance.
1526
1565
  *
1527
1566
  * @private
1528
1567
  */
1529
1568
  declare function getUmbrellaStoreForClient<M extends BaseMetadata$1>(client: OpaqueClient): UmbrellaStore<M>;
1569
+ /**
1570
+ * Returns a function that creates an AI chat.
1571
+ *
1572
+ * If you do not pass a title for the chat, it will be automatically computed
1573
+ * after the first AI response.
1574
+ *
1575
+ * @example
1576
+ * const createAiChat = useCreateAiChat();
1577
+ * createAiChat({ id: "ai-chat-id", title: "My AI chat" });
1578
+ */
1530
1579
  declare function useCreateAiChat(): (options: {
1531
1580
  id: string;
1532
1581
  title?: string;
1533
1582
  metadata?: Record<string, string | string[]>;
1534
1583
  }) => void;
1535
- declare function useDeleteAiChat(): (chatId: string) => void;
1536
1584
  /**
1537
- * @private This is an internal API.
1585
+ * Returns a function that deletes the AI chat with the specified id.
1586
+ *
1587
+ * @example
1588
+ * const deleteAiChat = useDeleteAiChat();
1589
+ * deleteAiChat("ai-chat-id");
1538
1590
  */
1539
- declare function useClientOrNull<U extends BaseUserMeta>(): Client$1<U> | null;
1591
+ declare function useDeleteAiChat(): (chatId: string) => void;
1540
1592
  /**
1541
- * Obtains a reference to the current Liveblocks client.
1593
+ * Returns a function to send a message in an AI chat.
1594
+ *
1595
+ * @example
1596
+ * const sendMessage = useSendAiMessage(chatId);
1597
+ * sendMessage("Hello, Liveblocks AI!");
1542
1598
  */
1543
- declare function useClient<U extends BaseUserMeta>(): Client$1<U>;
1599
+ declare function useSendAiMessage(chatId: string, options?: UseSendAiMessageOptions): (message: string) => void;
1544
1600
  /**
1545
1601
  * Sets up a client for connecting to Liveblocks, and is the recommended way to do
1546
1602
  * this for React apps. You must define either `authEndpoint` or `publicApiKey`.
@@ -1745,6 +1801,13 @@ declare const _useAiChats: TypedBundle$1["useAiChats"];
1745
1801
  * const { chats, error, isLoading } = useAiChats();
1746
1802
  */
1747
1803
  declare const _useAiChatsSuspense: TypedBundle$1["suspense"]["useAiChats"];
1804
+ /**
1805
+ * (Private beta) Returns the information of the given chat.
1806
+ *
1807
+ * @example
1808
+ * const { chat, error, isLoading } = useAiChat("my-chat");
1809
+ */
1810
+ declare const _useAiChat: TypedBundle$1["useAiChat"];
1748
1811
  /**
1749
1812
  * (Private beta) Returns the information of the given chat.
1750
1813
  *
@@ -1803,27 +1866,12 @@ declare function useCreateTextMention(): (userId: string, mentionId: string) =>
1803
1866
  /** @private - Internal API, do not rely on it. */
1804
1867
  declare function useDeleteTextMention(): (mentionId: string) => void;
1805
1868
  /** @private - Internal API, do not rely on it. */
1806
- declare function useResolveMentionSuggestions(): ((args: _liveblocks_core.ResolveMentionSuggestionsArgs) => _liveblocks_core.Awaitable<string[]>) | undefined;
1869
+ declare function useResolveMentionSuggestions(): ((args: _liveblocks_core.ResolveMentionSuggestionsArgs) => _liveblocks_core.Awaitable<string[] | _liveblocks_core.MentionData[]>) | undefined;
1807
1870
  /** @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;
1871
+ declare function useMentionSuggestionsCache(): Map<string, {
1872
+ kind: "user";
1873
+ id: string;
1874
+ }[]>;
1827
1875
  /**
1828
1876
  * Get informed when reconnecting to the Liveblocks servers is taking
1829
1877
  * longer than usual. This typically is a sign of a client that has lost
@@ -2012,13 +2060,6 @@ declare function useRoomThreadSubscription(roomId: string, threadId: string): Th
2012
2060
  * const {data} = useHistoryVersionData(versionId);
2013
2061
  */
2014
2062
  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
2063
  /**
2023
2064
  * Returns a function that updates the user's subscription settings
2024
2065
  * for the current room.
@@ -2043,14 +2084,6 @@ declare function useUpdateRoomSubscriptionSettings(): (settings: Partial<RoomSub
2043
2084
  * // [2, 4, 7]
2044
2085
  */
2045
2086
  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
2087
  /**
2055
2088
  * Returns a presigned URL for an attachment by its ID.
2056
2089
  *
@@ -2296,13 +2329,6 @@ declare const _useThreads: TypedBundle["useThreads"];
2296
2329
  * const { threads } = useThreads();
2297
2330
  */
2298
2331
  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
2332
  /**
2307
2333
  * Returns the user's subscription settings for the current room
2308
2334
  * and a function to update them.
@@ -2311,13 +2337,6 @@ declare const _useRoomNotificationSettings: TypedBundle["useRoomNotificationSett
2311
2337
  * const [{ settings }, updateSettings] = useRoomSubscriptionSettings();
2312
2338
  */
2313
2339
  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
2340
  /**
2322
2341
  * Returns the user's subscription settings for the current room
2323
2342
  * and a function to update them.
@@ -2567,4 +2586,4 @@ declare const _useStorageRoot: TypedBundle["useStorageRoot"];
2567
2586
  */
2568
2587
  declare const _useUpdateMyPresence: TypedBundle["useUpdateMyPresence"];
2569
2588
 
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 };
2589
+ 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 };