@liveblocks/react 3.8.0-tiptap1 → 3.8.1

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,6 +1,6 @@
1
1
  // src/version.ts
2
2
  var PKG_NAME = "@liveblocks/react";
3
- var PKG_VERSION = "3.8.0-tiptap1";
3
+ var PKG_VERSION = "3.8.1";
4
4
  var PKG_FORMAT = "esm";
5
5
 
6
6
  // src/ClientSideSuspense.tsx
@@ -20,4 +20,4 @@ export {
20
20
  PKG_FORMAT,
21
21
  ClientSideSuspense
22
22
  };
23
- //# sourceMappingURL=chunk-RCYYHORY.js.map
23
+ //# sourceMappingURL=chunk-WMCNV6XL.js.map
package/dist/index.cjs CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
 
5
5
 
6
- var _chunkZU7C6DJEcjs = require('./chunk-ZU7C6DJE.cjs');
6
+ var _chunkBXCA7DCZcjs = require('./chunk-BXCA7DCZ.cjs');
7
7
 
8
8
 
9
9
 
@@ -77,12 +77,14 @@ var _chunkZU7C6DJEcjs = require('./chunk-ZU7C6DJE.cjs');
77
77
 
78
78
 
79
79
 
80
- var _chunk4GCS3365cjs = require('./chunk-4GCS3365.cjs');
80
+
81
+ var _chunk2YWY7TUQcjs = require('./chunk-2YWY7TUQ.cjs');
81
82
 
82
83
  // src/index.ts
83
84
  var _core = require('@liveblocks/core');
84
85
  var _client = require('@liveblocks/client');
85
- _core.detectDupes.call(void 0, _chunkZU7C6DJEcjs.PKG_NAME, _chunkZU7C6DJEcjs.PKG_VERSION, _chunkZU7C6DJEcjs.PKG_FORMAT);
86
+ _core.detectDupes.call(void 0, _chunkBXCA7DCZcjs.PKG_NAME, _chunkBXCA7DCZcjs.PKG_VERSION, _chunkBXCA7DCZcjs.PKG_FORMAT);
87
+
86
88
 
87
89
 
88
90
 
@@ -159,5 +161,5 @@ _core.detectDupes.call(void 0, _chunkZU7C6DJEcjs.PKG_NAME, _chunkZU7C6DJEcjs.PKG
159
161
 
160
162
 
161
163
 
162
- exports.ClientContext = _chunk4GCS3365cjs.ClientContext; exports.ClientSideSuspense = _chunkZU7C6DJEcjs.ClientSideSuspense; exports.LiveblocksProvider = _chunk4GCS3365cjs.LiveblocksProvider; exports.RegisterAiKnowledge = _chunk4GCS3365cjs.RegisterAiKnowledge; exports.RegisterAiTool = _chunk4GCS3365cjs.RegisterAiTool; exports.RoomContext = _chunk4GCS3365cjs.RoomContext; exports.RoomProvider = _chunk4GCS3365cjs._RoomProvider; exports.createLiveblocksContext = _chunk4GCS3365cjs.createLiveblocksContext; exports.createRoomContext = _chunk4GCS3365cjs.createRoomContext; exports.isNotificationChannelEnabled = _client.isNotificationChannelEnabled; exports.shallow = _client.shallow; exports.useAddReaction = _chunk4GCS3365cjs._useAddReaction; exports.useAiChat = _chunk4GCS3365cjs._useAiChat; exports.useAiChatMessages = _chunk4GCS3365cjs._useAiChatMessages; exports.useAiChats = _chunk4GCS3365cjs._useAiChats; exports.useAttachmentUrl = _chunk4GCS3365cjs.useAttachmentUrl; exports.useBroadcastEvent = _chunk4GCS3365cjs._useBroadcastEvent; exports.useCanRedo = _chunk4GCS3365cjs.useCanRedo; exports.useCanUndo = _chunk4GCS3365cjs.useCanUndo; exports.useClient = _chunk4GCS3365cjs.useClient; exports.useCreateAiChat = _chunk4GCS3365cjs.useCreateAiChat; exports.useCreateComment = _chunk4GCS3365cjs.useCreateComment; exports.useCreateThread = _chunk4GCS3365cjs._useCreateThread; exports.useDeleteAiChat = _chunk4GCS3365cjs.useDeleteAiChat; exports.useDeleteAllInboxNotifications = _chunk4GCS3365cjs.useDeleteAllInboxNotifications; exports.useDeleteComment = _chunk4GCS3365cjs.useDeleteComment; exports.useDeleteInboxNotification = _chunk4GCS3365cjs.useDeleteInboxNotification; exports.useDeleteThread = _chunk4GCS3365cjs._useDeleteThread; exports.useEditComment = _chunk4GCS3365cjs.useEditComment; exports.useEditThreadMetadata = _chunk4GCS3365cjs._useEditThreadMetadata; exports.useErrorListener = _chunk4GCS3365cjs.useErrorListener; exports.useEventListener = _chunk4GCS3365cjs._useEventListener; exports.useGroupInfo = _chunk4GCS3365cjs.useGroupInfo; exports.useHistory = _chunk4GCS3365cjs.useHistory; exports.useHistoryVersionData = _chunk4GCS3365cjs.useHistoryVersionData; exports.useHistoryVersions = _chunk4GCS3365cjs._useHistoryVersions; exports.useInboxNotificationThread = _chunk4GCS3365cjs._useInboxNotificationThread; exports.useInboxNotifications = _chunk4GCS3365cjs.useInboxNotifications; exports.useIsInsideRoom = _chunk4GCS3365cjs._useIsInsideRoom; exports.useLostConnectionListener = _chunk4GCS3365cjs.useLostConnectionListener; exports.useMarkAllInboxNotificationsAsRead = _chunk4GCS3365cjs.useMarkAllInboxNotificationsAsRead; exports.useMarkInboxNotificationAsRead = _chunk4GCS3365cjs.useMarkInboxNotificationAsRead; exports.useMarkThreadAsRead = _chunk4GCS3365cjs.useMarkThreadAsRead; exports.useMarkThreadAsResolved = _chunk4GCS3365cjs.useMarkThreadAsResolved; exports.useMarkThreadAsUnresolved = _chunk4GCS3365cjs.useMarkThreadAsUnresolved; exports.useMutation = _chunk4GCS3365cjs._useMutation; exports.useMyPresence = _chunk4GCS3365cjs._useMyPresence; exports.useNotificationSettings = _chunk4GCS3365cjs.useNotificationSettings; exports.useOther = _chunk4GCS3365cjs._useOther; exports.useOthers = _chunk4GCS3365cjs._useOthers; exports.useOthersConnectionIds = _chunk4GCS3365cjs.useOthersConnectionIds; exports.useOthersListener = _chunk4GCS3365cjs._useOthersListener; exports.useOthersMapped = _chunk4GCS3365cjs._useOthersMapped; exports.useRedo = _chunk4GCS3365cjs.useRedo; exports.useRemoveReaction = _chunk4GCS3365cjs.useRemoveReaction; exports.useRoom = _chunk4GCS3365cjs._useRoom; exports.useRoomInfo = _chunk4GCS3365cjs.useRoomInfo; exports.useRoomSubscriptionSettings = _chunk4GCS3365cjs._useRoomSubscriptionSettings; exports.useSelf = _chunk4GCS3365cjs._useSelf; exports.useSendAiMessage = _chunk4GCS3365cjs.useSendAiMessage; exports.useStatus = _chunk4GCS3365cjs.useStatus; exports.useStorage = _chunk4GCS3365cjs._useStorage; exports.useStorageRoot = _chunk4GCS3365cjs._useStorageRoot; exports.useSubscribeToThread = _chunk4GCS3365cjs.useSubscribeToThread; exports.useSyncStatus = _chunk4GCS3365cjs.useSyncStatus; exports.useThreadSubscription = _chunk4GCS3365cjs.useThreadSubscription; exports.useThreads = _chunk4GCS3365cjs._useThreads; exports.useUndo = _chunk4GCS3365cjs.useUndo; exports.useUnreadInboxNotificationsCount = _chunk4GCS3365cjs.useUnreadInboxNotificationsCount; exports.useUnsubscribeFromThread = _chunk4GCS3365cjs.useUnsubscribeFromThread; exports.useUpdateMyPresence = _chunk4GCS3365cjs._useUpdateMyPresence; exports.useUpdateNotificationSettings = _chunk4GCS3365cjs.useUpdateNotificationSettings; exports.useUpdateRoomSubscriptionSettings = _chunk4GCS3365cjs.useUpdateRoomSubscriptionSettings; exports.useUser = _chunk4GCS3365cjs._useUser; exports.useUserThreads_experimental = _chunk4GCS3365cjs._useUserThreads_experimental;
164
+ exports.ClientContext = _chunk2YWY7TUQcjs.ClientContext; exports.ClientSideSuspense = _chunkBXCA7DCZcjs.ClientSideSuspense; exports.LiveblocksProvider = _chunk2YWY7TUQcjs.LiveblocksProvider; exports.RegisterAiKnowledge = _chunk2YWY7TUQcjs.RegisterAiKnowledge; exports.RegisterAiTool = _chunk2YWY7TUQcjs.RegisterAiTool; exports.RoomContext = _chunk2YWY7TUQcjs.RoomContext; exports.RoomProvider = _chunk2YWY7TUQcjs._RoomProvider; exports.createLiveblocksContext = _chunk2YWY7TUQcjs.createLiveblocksContext; exports.createRoomContext = _chunk2YWY7TUQcjs.createRoomContext; exports.isNotificationChannelEnabled = _client.isNotificationChannelEnabled; exports.shallow = _client.shallow; exports.useAddReaction = _chunk2YWY7TUQcjs._useAddReaction; exports.useAiChat = _chunk2YWY7TUQcjs._useAiChat; exports.useAiChatMessages = _chunk2YWY7TUQcjs._useAiChatMessages; exports.useAiChatStatus = _chunk2YWY7TUQcjs.useAiChatStatus; exports.useAiChats = _chunk2YWY7TUQcjs._useAiChats; exports.useAttachmentUrl = _chunk2YWY7TUQcjs.useAttachmentUrl; exports.useBroadcastEvent = _chunk2YWY7TUQcjs._useBroadcastEvent; exports.useCanRedo = _chunk2YWY7TUQcjs.useCanRedo; exports.useCanUndo = _chunk2YWY7TUQcjs.useCanUndo; exports.useClient = _chunk2YWY7TUQcjs.useClient; exports.useCreateAiChat = _chunk2YWY7TUQcjs.useCreateAiChat; exports.useCreateComment = _chunk2YWY7TUQcjs.useCreateComment; exports.useCreateThread = _chunk2YWY7TUQcjs._useCreateThread; exports.useDeleteAiChat = _chunk2YWY7TUQcjs.useDeleteAiChat; exports.useDeleteAllInboxNotifications = _chunk2YWY7TUQcjs.useDeleteAllInboxNotifications; exports.useDeleteComment = _chunk2YWY7TUQcjs.useDeleteComment; exports.useDeleteInboxNotification = _chunk2YWY7TUQcjs.useDeleteInboxNotification; exports.useDeleteThread = _chunk2YWY7TUQcjs._useDeleteThread; exports.useEditComment = _chunk2YWY7TUQcjs.useEditComment; exports.useEditThreadMetadata = _chunk2YWY7TUQcjs._useEditThreadMetadata; exports.useErrorListener = _chunk2YWY7TUQcjs.useErrorListener; exports.useEventListener = _chunk2YWY7TUQcjs._useEventListener; exports.useGroupInfo = _chunk2YWY7TUQcjs.useGroupInfo; exports.useHistory = _chunk2YWY7TUQcjs.useHistory; exports.useHistoryVersionData = _chunk2YWY7TUQcjs.useHistoryVersionData; exports.useHistoryVersions = _chunk2YWY7TUQcjs._useHistoryVersions; exports.useInboxNotificationThread = _chunk2YWY7TUQcjs._useInboxNotificationThread; exports.useInboxNotifications = _chunk2YWY7TUQcjs.useInboxNotifications; exports.useIsInsideRoom = _chunk2YWY7TUQcjs._useIsInsideRoom; exports.useLostConnectionListener = _chunk2YWY7TUQcjs.useLostConnectionListener; exports.useMarkAllInboxNotificationsAsRead = _chunk2YWY7TUQcjs.useMarkAllInboxNotificationsAsRead; exports.useMarkInboxNotificationAsRead = _chunk2YWY7TUQcjs.useMarkInboxNotificationAsRead; exports.useMarkThreadAsRead = _chunk2YWY7TUQcjs.useMarkThreadAsRead; exports.useMarkThreadAsResolved = _chunk2YWY7TUQcjs.useMarkThreadAsResolved; exports.useMarkThreadAsUnresolved = _chunk2YWY7TUQcjs.useMarkThreadAsUnresolved; exports.useMutation = _chunk2YWY7TUQcjs._useMutation; exports.useMyPresence = _chunk2YWY7TUQcjs._useMyPresence; exports.useNotificationSettings = _chunk2YWY7TUQcjs.useNotificationSettings; exports.useOther = _chunk2YWY7TUQcjs._useOther; exports.useOthers = _chunk2YWY7TUQcjs._useOthers; exports.useOthersConnectionIds = _chunk2YWY7TUQcjs.useOthersConnectionIds; exports.useOthersListener = _chunk2YWY7TUQcjs._useOthersListener; exports.useOthersMapped = _chunk2YWY7TUQcjs._useOthersMapped; exports.useRedo = _chunk2YWY7TUQcjs.useRedo; exports.useRemoveReaction = _chunk2YWY7TUQcjs.useRemoveReaction; exports.useRoom = _chunk2YWY7TUQcjs._useRoom; exports.useRoomInfo = _chunk2YWY7TUQcjs.useRoomInfo; exports.useRoomSubscriptionSettings = _chunk2YWY7TUQcjs._useRoomSubscriptionSettings; exports.useSelf = _chunk2YWY7TUQcjs._useSelf; exports.useSendAiMessage = _chunk2YWY7TUQcjs.useSendAiMessage; exports.useStatus = _chunk2YWY7TUQcjs.useStatus; exports.useStorage = _chunk2YWY7TUQcjs._useStorage; exports.useStorageRoot = _chunk2YWY7TUQcjs._useStorageRoot; exports.useSubscribeToThread = _chunk2YWY7TUQcjs.useSubscribeToThread; exports.useSyncStatus = _chunk2YWY7TUQcjs.useSyncStatus; exports.useThreadSubscription = _chunk2YWY7TUQcjs.useThreadSubscription; exports.useThreads = _chunk2YWY7TUQcjs._useThreads; exports.useUndo = _chunk2YWY7TUQcjs.useUndo; exports.useUnreadInboxNotificationsCount = _chunk2YWY7TUQcjs.useUnreadInboxNotificationsCount; exports.useUnsubscribeFromThread = _chunk2YWY7TUQcjs.useUnsubscribeFromThread; exports.useUpdateMyPresence = _chunk2YWY7TUQcjs._useUpdateMyPresence; exports.useUpdateNotificationSettings = _chunk2YWY7TUQcjs.useUpdateNotificationSettings; exports.useUpdateRoomSubscriptionSettings = _chunk2YWY7TUQcjs.useUpdateRoomSubscriptionSettings; exports.useUser = _chunk2YWY7TUQcjs._useUser; exports.useUserThreads_experimental = _chunk2YWY7TUQcjs._useUserThreads_experimental;
163
165
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/liveblocks/liveblocks/packages/liveblocks-react/dist/index.cjs","../src/index.ts"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACA;AChFA,wCAA4B;AAe5B,4CAAsD;AAZtD,+BAAA,0BAAY,EAAU,6BAAA,EAAa,4BAAU,CAAA;ADiF7C;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,0wJAAC","file":"/home/runner/work/liveblocks/liveblocks/packages/liveblocks-react/dist/index.cjs","sourcesContent":[null,"/* eslint-disable simple-import-sort/exports */\nimport { detectDupes } from \"@liveblocks/core\";\n\nimport { PKG_FORMAT, PKG_NAME, PKG_VERSION } from \"./version\";\ndetectDupes(PKG_NAME, PKG_VERSION, PKG_FORMAT);\n\nexport { ClientSideSuspense } from \"./ClientSideSuspense\";\nexport type {\n MutationContext,\n UseSendAiMessageOptions,\n UseThreadsOptions,\n SendAiMessageOptions,\n} from \"./types\";\n\n// Re-exports from @liveblocks/client, for convenience\nexport type { Json, JsonObject } from \"@liveblocks/client\";\nexport { shallow, isNotificationChannelEnabled } from \"@liveblocks/client\";\n\n// Export all the top-level hooks\nexport { RegisterAiKnowledge, RegisterAiTool } from \"./ai\";\nexport type { RegisterAiKnowledgeProps, RegisterAiToolProps } from \"./types/ai\";\nexport { ClientContext, RoomContext, useClient } from \"./contexts\";\nexport {\n createLiveblocksContext,\n LiveblocksProvider,\n useDeleteAllInboxNotifications,\n useDeleteInboxNotification,\n useErrorListener,\n useInboxNotificationThread,\n useMarkAllInboxNotificationsAsRead,\n useMarkInboxNotificationAsRead,\n useSyncStatus,\n} from \"./liveblocks\";\nexport {\n createRoomContext,\n RoomProvider,\n useAddReaction,\n useBroadcastEvent,\n useCanRedo,\n useCanUndo,\n useCreateComment,\n useCreateThread,\n useDeleteComment,\n useDeleteThread,\n useEditComment,\n useEditThreadMetadata,\n useMarkThreadAsResolved,\n useMarkThreadAsUnresolved,\n useSubscribeToThread,\n useUnsubscribeFromThread,\n useEventListener,\n useHistory,\n useIsInsideRoom,\n useLostConnectionListener,\n useMarkThreadAsRead,\n useMutation,\n useMyPresence,\n useOthersListener,\n useRedo,\n useRemoveReaction,\n useRoom,\n useStatus,\n useStorageRoot,\n useThreadSubscription,\n useUndo,\n useUpdateMyPresence,\n useUpdateRoomSubscriptionSettings,\n useHistoryVersionData,\n} from \"./room\";\n\n// Export the classic (non-Suspense) versions of our hooks\n// (This part differs from src/suspense.ts)\nexport {\n useOther,\n useOthers,\n useOthersConnectionIds,\n useOthersMapped,\n useSelf,\n useStorage,\n useThreads,\n useAttachmentUrl,\n useHistoryVersions,\n useRoomSubscriptionSettings,\n} from \"./room\";\nexport {\n useInboxNotifications,\n useNotificationSettings,\n useUpdateNotificationSettings,\n useCreateAiChat,\n useDeleteAiChat,\n useSendAiMessage,\n useUserThreads_experimental as useUserThreads_experimental,\n useRoomInfo,\n useGroupInfo,\n useUnreadInboxNotificationsCount,\n useUser,\n useAiChat,\n useAiChats,\n useAiChatMessages,\n} from \"./liveblocks\";\n"]}
1
+ {"version":3,"sources":["/home/runner/work/liveblocks/liveblocks/packages/liveblocks-react/dist/index.cjs","../src/index.ts"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACA;ACjFA,wCAA4B;AAe5B,4CAAsD;AAZtD,+BAAA,0BAAY,EAAU,6BAAA,EAAa,4BAAU,CAAA;ADkF7C;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,u0JAAC","file":"/home/runner/work/liveblocks/liveblocks/packages/liveblocks-react/dist/index.cjs","sourcesContent":[null,"/* eslint-disable simple-import-sort/exports */\nimport { detectDupes } from \"@liveblocks/core\";\n\nimport { PKG_FORMAT, PKG_NAME, PKG_VERSION } from \"./version\";\ndetectDupes(PKG_NAME, PKG_VERSION, PKG_FORMAT);\n\nexport { ClientSideSuspense } from \"./ClientSideSuspense\";\nexport type {\n MutationContext,\n UseSendAiMessageOptions,\n UseThreadsOptions,\n SendAiMessageOptions,\n} from \"./types\";\n\n// Re-exports from @liveblocks/client, for convenience\nexport type { Json, JsonObject } from \"@liveblocks/client\";\nexport { shallow, isNotificationChannelEnabled } from \"@liveblocks/client\";\n\n// Export all the top-level hooks\nexport { RegisterAiKnowledge, RegisterAiTool } from \"./ai\";\nexport type {\n AiChatStatus,\n RegisterAiKnowledgeProps,\n RegisterAiToolProps,\n} from \"./types/ai\";\nexport { ClientContext, RoomContext, useClient } from \"./contexts\";\nexport {\n createLiveblocksContext,\n LiveblocksProvider,\n useDeleteAllInboxNotifications,\n useDeleteInboxNotification,\n useErrorListener,\n useInboxNotificationThread,\n useMarkAllInboxNotificationsAsRead,\n useMarkInboxNotificationAsRead,\n useSyncStatus,\n} from \"./liveblocks\";\nexport {\n createRoomContext,\n RoomProvider,\n useAddReaction,\n useBroadcastEvent,\n useCanRedo,\n useCanUndo,\n useCreateComment,\n useCreateThread,\n useDeleteComment,\n useDeleteThread,\n useEditComment,\n useEditThreadMetadata,\n useMarkThreadAsResolved,\n useMarkThreadAsUnresolved,\n useSubscribeToThread,\n useUnsubscribeFromThread,\n useEventListener,\n useHistory,\n useIsInsideRoom,\n useLostConnectionListener,\n useMarkThreadAsRead,\n useMutation,\n useMyPresence,\n useOthersListener,\n useRedo,\n useRemoveReaction,\n useRoom,\n useStatus,\n useStorageRoot,\n useThreadSubscription,\n useUndo,\n useUpdateMyPresence,\n useUpdateRoomSubscriptionSettings,\n useHistoryVersionData,\n} from \"./room\";\n\n// Export the classic (non-Suspense) versions of our hooks\n// (This part differs from src/suspense.ts)\nexport {\n useOther,\n useOthers,\n useOthersConnectionIds,\n useOthersMapped,\n useSelf,\n useStorage,\n useThreads,\n useAttachmentUrl,\n useHistoryVersions,\n useRoomSubscriptionSettings,\n} from \"./room\";\nexport {\n useInboxNotifications,\n useNotificationSettings,\n useUpdateNotificationSettings,\n useCreateAiChat,\n useDeleteAiChat,\n useSendAiMessage,\n useUserThreads_experimental as useUserThreads_experimental,\n useRoomInfo,\n useGroupInfo,\n useUnreadInboxNotificationsCount,\n useUser,\n useAiChat,\n useAiChats,\n useAiChatMessages,\n useAiChatStatus,\n} from \"./liveblocks\";\n"]}
package/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- import { R as RegisterAiKnowledgeProps, w as RegisterAiToolProps } from './room-BtcL74U0.cjs';
2
- export { C as ClientContext, L as LiveblocksProvider, M as MutationContext, y as RoomContext, K as RoomProvider, S as SendAiMessageOptions, U as UseSendAiMessageOptions, x as UseThreadsOptions, A as createLiveblocksContext, J as createRoomContext, N as useAddReaction, aG as useAiChat, aI as useAiChatMessages, aH as useAiChats, as as useAttachmentUrl, O as useBroadcastEvent, P as useCanRedo, Q as useCanUndo, z as useClient, ay as useCreateAiChat, T as useCreateComment, V as useCreateThread, az as useDeleteAiChat, B as useDeleteAllInboxNotifications, W as useDeleteComment, D as useDeleteInboxNotification, X as useDeleteThread, Y as useEditComment, Z as useEditThreadMetadata, E as useErrorListener, a3 as useEventListener, aD as useGroupInfo, a4 as useHistory, ak as useHistoryVersionData, at as useHistoryVersions, _ as useInboxNotificationThread, av as useInboxNotifications, a5 as useIsInsideRoom, a6 as useLostConnectionListener, F as useMarkAllInboxNotificationsAsRead, H as useMarkInboxNotificationAsRead, a7 as useMarkThreadAsRead, $ as useMarkThreadAsResolved, a0 as useMarkThreadAsUnresolved, a8 as useMutation, a9 as useMyPresence, aw as useNotificationSettings, al as useOther, am as useOthers, an as useOthersConnectionIds, aa as useOthersListener, ao as useOthersMapped, ab as useRedo, ac as useRemoveReaction, ad as useRoom, aC as useRoomInfo, au as useRoomSubscriptionSettings, ap as useSelf, aA as useSendAiMessage, ae as useStatus, aq as useStorage, af as useStorageRoot, a1 as useSubscribeToThread, I as useSyncStatus, ag as useThreadSubscription, ar as useThreads, ah as useUndo, aE as useUnreadInboxNotificationsCount, a2 as useUnsubscribeFromThread, ai as useUpdateMyPresence, ax as useUpdateNotificationSettings, aj as useUpdateRoomSubscriptionSettings, aF as useUser, aB as useUserThreads_experimental } from './room-BtcL74U0.cjs';
1
+ import { R as RegisterAiKnowledgeProps, w as RegisterAiToolProps } from './room-DkyB1sbB.cjs';
2
+ export { A as AiChatStatus, C as ClientContext, L as LiveblocksProvider, M as MutationContext, y as RoomContext, N as RoomProvider, S as SendAiMessageOptions, U as UseSendAiMessageOptions, x as UseThreadsOptions, B as createLiveblocksContext, K as createRoomContext, O as useAddReaction, aH as useAiChat, aJ as useAiChatMessages, aK as useAiChatStatus, aI as useAiChats, at as useAttachmentUrl, P as useBroadcastEvent, Q as useCanRedo, T as useCanUndo, z as useClient, az as useCreateAiChat, V as useCreateComment, W as useCreateThread, aA as useDeleteAiChat, D as useDeleteAllInboxNotifications, X as useDeleteComment, E as useDeleteInboxNotification, Y as useDeleteThread, Z as useEditComment, $ as useEditThreadMetadata, F as useErrorListener, a4 as useEventListener, aE as useGroupInfo, a5 as useHistory, al as useHistoryVersionData, au as useHistoryVersions, _ as useInboxNotificationThread, aw as useInboxNotifications, a6 as useIsInsideRoom, a7 as useLostConnectionListener, H as useMarkAllInboxNotificationsAsRead, I as useMarkInboxNotificationAsRead, a8 as useMarkThreadAsRead, a0 as useMarkThreadAsResolved, a1 as useMarkThreadAsUnresolved, a9 as useMutation, aa as useMyPresence, ax as useNotificationSettings, am as useOther, an as useOthers, ao as useOthersConnectionIds, ab as useOthersListener, ap as useOthersMapped, ac as useRedo, ad as useRemoveReaction, ae as useRoom, aD as useRoomInfo, av as useRoomSubscriptionSettings, aq as useSelf, aB as useSendAiMessage, af as useStatus, ar as useStorage, ag as useStorageRoot, a2 as useSubscribeToThread, J as useSyncStatus, ah as useThreadSubscription, as as useThreads, ai as useUndo, aF as useUnreadInboxNotificationsCount, a3 as useUnsubscribeFromThread, aj as useUpdateMyPresence, ay as useUpdateNotificationSettings, ak as useUpdateRoomSubscriptionSettings, aG as useUser, aC as useUserThreads_experimental } from './room-DkyB1sbB.cjs';
3
3
  export { Json, JsonObject, isNotificationChannelEnabled, shallow } from '@liveblocks/client';
4
4
  import * as react_jsx_runtime from 'react/jsx-runtime';
5
5
  import * as react from 'react';
@@ -39,9 +39,12 @@ declare function ClientSideSuspense(props: Props): react_jsx_runtime.JSX.Element
39
39
  * description="The current mode of my application"
40
40
  * value="dark" />
41
41
  *
42
+ * Or scoped to a specific chat:
43
+ *
42
44
  * <RegisterAiKnowledge
43
45
  * description="The current list of todos"
44
- * value={todos} />
46
+ * value={todos}
47
+ * chatId="chat-1234" />
45
48
  *
46
49
  * By mounting this component, the AI will get access to this knwoledge.
47
50
  * By unmounting this component, the AI will no longer have access to it.
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { R as RegisterAiKnowledgeProps, w as RegisterAiToolProps } from './room-BtcL74U0.js';
2
- export { C as ClientContext, L as LiveblocksProvider, M as MutationContext, y as RoomContext, K as RoomProvider, S as SendAiMessageOptions, U as UseSendAiMessageOptions, x as UseThreadsOptions, A as createLiveblocksContext, J as createRoomContext, N as useAddReaction, aG as useAiChat, aI as useAiChatMessages, aH as useAiChats, as as useAttachmentUrl, O as useBroadcastEvent, P as useCanRedo, Q as useCanUndo, z as useClient, ay as useCreateAiChat, T as useCreateComment, V as useCreateThread, az as useDeleteAiChat, B as useDeleteAllInboxNotifications, W as useDeleteComment, D as useDeleteInboxNotification, X as useDeleteThread, Y as useEditComment, Z as useEditThreadMetadata, E as useErrorListener, a3 as useEventListener, aD as useGroupInfo, a4 as useHistory, ak as useHistoryVersionData, at as useHistoryVersions, _ as useInboxNotificationThread, av as useInboxNotifications, a5 as useIsInsideRoom, a6 as useLostConnectionListener, F as useMarkAllInboxNotificationsAsRead, H as useMarkInboxNotificationAsRead, a7 as useMarkThreadAsRead, $ as useMarkThreadAsResolved, a0 as useMarkThreadAsUnresolved, a8 as useMutation, a9 as useMyPresence, aw as useNotificationSettings, al as useOther, am as useOthers, an as useOthersConnectionIds, aa as useOthersListener, ao as useOthersMapped, ab as useRedo, ac as useRemoveReaction, ad as useRoom, aC as useRoomInfo, au as useRoomSubscriptionSettings, ap as useSelf, aA as useSendAiMessage, ae as useStatus, aq as useStorage, af as useStorageRoot, a1 as useSubscribeToThread, I as useSyncStatus, ag as useThreadSubscription, ar as useThreads, ah as useUndo, aE as useUnreadInboxNotificationsCount, a2 as useUnsubscribeFromThread, ai as useUpdateMyPresence, ax as useUpdateNotificationSettings, aj as useUpdateRoomSubscriptionSettings, aF as useUser, aB as useUserThreads_experimental } from './room-BtcL74U0.js';
1
+ import { R as RegisterAiKnowledgeProps, w as RegisterAiToolProps } from './room-DkyB1sbB.js';
2
+ export { A as AiChatStatus, C as ClientContext, L as LiveblocksProvider, M as MutationContext, y as RoomContext, N as RoomProvider, S as SendAiMessageOptions, U as UseSendAiMessageOptions, x as UseThreadsOptions, B as createLiveblocksContext, K as createRoomContext, O as useAddReaction, aH as useAiChat, aJ as useAiChatMessages, aK as useAiChatStatus, aI as useAiChats, at as useAttachmentUrl, P as useBroadcastEvent, Q as useCanRedo, T as useCanUndo, z as useClient, az as useCreateAiChat, V as useCreateComment, W as useCreateThread, aA as useDeleteAiChat, D as useDeleteAllInboxNotifications, X as useDeleteComment, E as useDeleteInboxNotification, Y as useDeleteThread, Z as useEditComment, $ as useEditThreadMetadata, F as useErrorListener, a4 as useEventListener, aE as useGroupInfo, a5 as useHistory, al as useHistoryVersionData, au as useHistoryVersions, _ as useInboxNotificationThread, aw as useInboxNotifications, a6 as useIsInsideRoom, a7 as useLostConnectionListener, H as useMarkAllInboxNotificationsAsRead, I as useMarkInboxNotificationAsRead, a8 as useMarkThreadAsRead, a0 as useMarkThreadAsResolved, a1 as useMarkThreadAsUnresolved, a9 as useMutation, aa as useMyPresence, ax as useNotificationSettings, am as useOther, an as useOthers, ao as useOthersConnectionIds, ab as useOthersListener, ap as useOthersMapped, ac as useRedo, ad as useRemoveReaction, ae as useRoom, aD as useRoomInfo, av as useRoomSubscriptionSettings, aq as useSelf, aB as useSendAiMessage, af as useStatus, ar as useStorage, ag as useStorageRoot, a2 as useSubscribeToThread, J as useSyncStatus, ah as useThreadSubscription, as as useThreads, ai as useUndo, aF as useUnreadInboxNotificationsCount, a3 as useUnsubscribeFromThread, aj as useUpdateMyPresence, ay as useUpdateNotificationSettings, ak as useUpdateRoomSubscriptionSettings, aG as useUser, aC as useUserThreads_experimental } from './room-DkyB1sbB.js';
3
3
  export { Json, JsonObject, isNotificationChannelEnabled, shallow } from '@liveblocks/client';
4
4
  import * as react_jsx_runtime from 'react/jsx-runtime';
5
5
  import * as react from 'react';
@@ -39,9 +39,12 @@ declare function ClientSideSuspense(props: Props): react_jsx_runtime.JSX.Element
39
39
  * description="The current mode of my application"
40
40
  * value="dark" />
41
41
  *
42
+ * Or scoped to a specific chat:
43
+ *
42
44
  * <RegisterAiKnowledge
43
45
  * description="The current list of todos"
44
- * value={todos} />
46
+ * value={todos}
47
+ * chatId="chat-1234" />
45
48
  *
46
49
  * By mounting this component, the AI will get access to this knwoledge.
47
50
  * By unmounting this component, the AI will no longer have access to it.
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ import {
3
3
  PKG_FORMAT,
4
4
  PKG_NAME,
5
5
  PKG_VERSION
6
- } from "./chunk-RCYYHORY.js";
6
+ } from "./chunk-WMCNV6XL.js";
7
7
  import {
8
8
  ClientContext,
9
9
  LiveblocksProvider,
@@ -40,6 +40,7 @@ import {
40
40
  _useUserThreads_experimental,
41
41
  createLiveblocksContext,
42
42
  createRoomContext,
43
+ useAiChatStatus,
43
44
  useAttachmentUrl,
44
45
  useCanRedo,
45
46
  useCanUndo,
@@ -77,7 +78,7 @@ import {
77
78
  useUnsubscribeFromThread,
78
79
  useUpdateNotificationSettings,
79
80
  useUpdateRoomSubscriptionSettings
80
- } from "./chunk-OKYUUXNY.js";
81
+ } from "./chunk-QY4EJ7GZ.js";
81
82
 
82
83
  // src/index.ts
83
84
  import { detectDupes } from "@liveblocks/core";
@@ -98,6 +99,7 @@ export {
98
99
  _useAddReaction as useAddReaction,
99
100
  _useAiChat as useAiChat,
100
101
  _useAiChatMessages as useAiChatMessages,
102
+ useAiChatStatus,
101
103
  _useAiChats as useAiChats,
102
104
  useAttachmentUrl,
103
105
  _useBroadcastEvent as useBroadcastEvent,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable simple-import-sort/exports */\nimport { detectDupes } from \"@liveblocks/core\";\n\nimport { PKG_FORMAT, PKG_NAME, PKG_VERSION } from \"./version\";\ndetectDupes(PKG_NAME, PKG_VERSION, PKG_FORMAT);\n\nexport { ClientSideSuspense } from \"./ClientSideSuspense\";\nexport type {\n MutationContext,\n UseSendAiMessageOptions,\n UseThreadsOptions,\n SendAiMessageOptions,\n} from \"./types\";\n\n// Re-exports from @liveblocks/client, for convenience\nexport type { Json, JsonObject } from \"@liveblocks/client\";\nexport { shallow, isNotificationChannelEnabled } from \"@liveblocks/client\";\n\n// Export all the top-level hooks\nexport { RegisterAiKnowledge, RegisterAiTool } from \"./ai\";\nexport type { RegisterAiKnowledgeProps, RegisterAiToolProps } from \"./types/ai\";\nexport { ClientContext, RoomContext, useClient } from \"./contexts\";\nexport {\n createLiveblocksContext,\n LiveblocksProvider,\n useDeleteAllInboxNotifications,\n useDeleteInboxNotification,\n useErrorListener,\n useInboxNotificationThread,\n useMarkAllInboxNotificationsAsRead,\n useMarkInboxNotificationAsRead,\n useSyncStatus,\n} from \"./liveblocks\";\nexport {\n createRoomContext,\n RoomProvider,\n useAddReaction,\n useBroadcastEvent,\n useCanRedo,\n useCanUndo,\n useCreateComment,\n useCreateThread,\n useDeleteComment,\n useDeleteThread,\n useEditComment,\n useEditThreadMetadata,\n useMarkThreadAsResolved,\n useMarkThreadAsUnresolved,\n useSubscribeToThread,\n useUnsubscribeFromThread,\n useEventListener,\n useHistory,\n useIsInsideRoom,\n useLostConnectionListener,\n useMarkThreadAsRead,\n useMutation,\n useMyPresence,\n useOthersListener,\n useRedo,\n useRemoveReaction,\n useRoom,\n useStatus,\n useStorageRoot,\n useThreadSubscription,\n useUndo,\n useUpdateMyPresence,\n useUpdateRoomSubscriptionSettings,\n useHistoryVersionData,\n} from \"./room\";\n\n// Export the classic (non-Suspense) versions of our hooks\n// (This part differs from src/suspense.ts)\nexport {\n useOther,\n useOthers,\n useOthersConnectionIds,\n useOthersMapped,\n useSelf,\n useStorage,\n useThreads,\n useAttachmentUrl,\n useHistoryVersions,\n useRoomSubscriptionSettings,\n} from \"./room\";\nexport {\n useInboxNotifications,\n useNotificationSettings,\n useUpdateNotificationSettings,\n useCreateAiChat,\n useDeleteAiChat,\n useSendAiMessage,\n useUserThreads_experimental as useUserThreads_experimental,\n useRoomInfo,\n useGroupInfo,\n useUnreadInboxNotificationsCount,\n useUser,\n useAiChat,\n useAiChats,\n useAiChatMessages,\n} from \"./liveblocks\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,SAAS,mBAAmB;AAe5B,SAAS,SAAS,oCAAoC;AAZtD,YAAY,UAAU,aAAa,UAAU;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable simple-import-sort/exports */\nimport { detectDupes } from \"@liveblocks/core\";\n\nimport { PKG_FORMAT, PKG_NAME, PKG_VERSION } from \"./version\";\ndetectDupes(PKG_NAME, PKG_VERSION, PKG_FORMAT);\n\nexport { ClientSideSuspense } from \"./ClientSideSuspense\";\nexport type {\n MutationContext,\n UseSendAiMessageOptions,\n UseThreadsOptions,\n SendAiMessageOptions,\n} from \"./types\";\n\n// Re-exports from @liveblocks/client, for convenience\nexport type { Json, JsonObject } from \"@liveblocks/client\";\nexport { shallow, isNotificationChannelEnabled } from \"@liveblocks/client\";\n\n// Export all the top-level hooks\nexport { RegisterAiKnowledge, RegisterAiTool } from \"./ai\";\nexport type {\n AiChatStatus,\n RegisterAiKnowledgeProps,\n RegisterAiToolProps,\n} from \"./types/ai\";\nexport { ClientContext, RoomContext, useClient } from \"./contexts\";\nexport {\n createLiveblocksContext,\n LiveblocksProvider,\n useDeleteAllInboxNotifications,\n useDeleteInboxNotification,\n useErrorListener,\n useInboxNotificationThread,\n useMarkAllInboxNotificationsAsRead,\n useMarkInboxNotificationAsRead,\n useSyncStatus,\n} from \"./liveblocks\";\nexport {\n createRoomContext,\n RoomProvider,\n useAddReaction,\n useBroadcastEvent,\n useCanRedo,\n useCanUndo,\n useCreateComment,\n useCreateThread,\n useDeleteComment,\n useDeleteThread,\n useEditComment,\n useEditThreadMetadata,\n useMarkThreadAsResolved,\n useMarkThreadAsUnresolved,\n useSubscribeToThread,\n useUnsubscribeFromThread,\n useEventListener,\n useHistory,\n useIsInsideRoom,\n useLostConnectionListener,\n useMarkThreadAsRead,\n useMutation,\n useMyPresence,\n useOthersListener,\n useRedo,\n useRemoveReaction,\n useRoom,\n useStatus,\n useStorageRoot,\n useThreadSubscription,\n useUndo,\n useUpdateMyPresence,\n useUpdateRoomSubscriptionSettings,\n useHistoryVersionData,\n} from \"./room\";\n\n// Export the classic (non-Suspense) versions of our hooks\n// (This part differs from src/suspense.ts)\nexport {\n useOther,\n useOthers,\n useOthersConnectionIds,\n useOthersMapped,\n useSelf,\n useStorage,\n useThreads,\n useAttachmentUrl,\n useHistoryVersions,\n useRoomSubscriptionSettings,\n} from \"./room\";\nexport {\n useInboxNotifications,\n useNotificationSettings,\n useUpdateNotificationSettings,\n useCreateAiChat,\n useDeleteAiChat,\n useSendAiMessage,\n useUserThreads_experimental as useUserThreads_experimental,\n useRoomInfo,\n useGroupInfo,\n useUnreadInboxNotificationsCount,\n useUser,\n useAiChat,\n useAiChats,\n useAiChatMessages,\n useAiChatStatus,\n} from \"./liveblocks\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,SAAS,mBAAmB;AAe5B,SAAS,SAAS,oCAAoC;AAZtD,YAAY,UAAU,aAAa,UAAU;","names":[]}
@@ -2,7 +2,7 @@ import * as react from 'react';
2
2
  import { ComponentType, Context, PropsWithChildren, ReactNode } from 'react';
3
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';
4
4
  import * as _liveblocks_core from '@liveblocks/core';
5
- import { OpaqueClient, OpaqueRoom, AiKnowledgeSource, AiOpaqueToolDefinition, BaseMetadata, QueryMetadata, AsyncResult, DRI, AsyncSuccess, DGI, GroupData, Resolve, CommentBody, CommentAttachment, PartialUnless, Patchable, InboxNotificationData, NotificationSettings, Relax, ToImmutable, PartialNotificationSettings, AiChatsQuery, AsyncLoading, AsyncError, ThreadData, HistoryVersion, AiChat, Client as Client$1, LiveblocksError, SyncStatus, RoomEventMessage, CommentData, AiUserMessage, WithRequired, AiChatMessage, WithNavigation, 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, MentionData, DP, DS, DE } from '@liveblocks/core';
5
+ import { OpaqueClient, OpaqueRoom, AiKnowledgeSource, AiOpaqueToolDefinition, Relax, AiAssistantContentPart, BaseMetadata, QueryMetadata, AsyncResult, DRI, AsyncSuccess, DGI, GroupData, Resolve, CommentBody, CommentAttachment, PartialUnless, Patchable, InboxNotificationData, NotificationSettings, ToImmutable, MessageId, PartialNotificationSettings, AiChatsQuery, AsyncLoading, AsyncError, ThreadData, HistoryVersion, AiChat, Client as Client$1, LiveblocksError, SyncStatus, RoomEventMessage, CommentData, AiUserMessage, WithRequired, AiChatMessage, WithNavigation, MutableSignal, ThreadDataWithDeleteInfo, ThreadDeleteInfo, DerivedSignal, DefaultMap, SubscriptionData, SubscriptionKey, CommentUserReaction, InboxNotificationDeleteInfo, SubscriptionDeleteInfo, RoomSubscriptionSettings as RoomSubscriptionSettings$1, ISignal, Permission, BaseUserMeta as BaseUserMeta$1, DistributiveOmit, DU, DM, TextEditorType, IYjsProvider, MentionData, DP, DS, DE } from '@liveblocks/core';
6
6
  import * as react_jsx_runtime from 'react/jsx-runtime';
7
7
 
8
8
  /**
@@ -35,14 +35,18 @@ type RegisterAiKnowledgeProps = AiKnowledgeSource & {
35
35
  * precedence.
36
36
  */
37
37
  id?: string;
38
+ /**
39
+ * When provided, the knowledge source will only be available for this chatId.
40
+ * If not provided, this knowledge source will be available globally.
41
+ */
42
+ chatId?: string;
38
43
  };
39
44
  type RegisterAiToolProps = {
40
45
  name: string;
41
46
  tool: AiOpaqueToolDefinition;
42
47
  /**
43
48
  * 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.
49
+ * provided, this tool will be available globally.
46
50
  */
47
51
  chatId?: string;
48
52
  /**
@@ -53,6 +57,25 @@ type RegisterAiToolProps = {
53
57
  */
54
58
  enabled?: boolean;
55
59
  };
60
+ /**
61
+ * Simplified status for the requested chat.
62
+ * This hook offers a convenient way to update the UI while an AI chat
63
+ * generation is in progress.
64
+ */
65
+ type AiChatStatus = Relax<{
66
+ status: "loading";
67
+ } | {
68
+ status: "idle";
69
+ } | {
70
+ status: "generating";
71
+ } | {
72
+ status: "generating";
73
+ partType: Exclude<AiAssistantContentPart["type"], "tool-invocation">;
74
+ } | {
75
+ status: "generating";
76
+ partType: "tool-invocation";
77
+ toolName: string;
78
+ }>;
56
79
 
57
80
  type UiChatMessage = WithNavigation<AiChatMessage>;
58
81
  type UseSyncStatusOptions = {
@@ -216,6 +239,7 @@ type AiChatAsyncSuccess = AsyncSuccess<AiChat, "chat">;
216
239
  type AiChatAsyncResult = AsyncResult<AiChat, "chat">;
217
240
  type AiChatMessagesAsyncSuccess = AsyncSuccess<readonly UiChatMessage[], "messages">;
218
241
  type AiChatMessagesAsyncResult = AsyncResult<readonly UiChatMessage[], "messages">;
242
+
219
243
  type RoomProviderProps<P extends JsonObject, S extends LsonObject> = Resolve<{
220
244
  /**
221
245
  * The id of the room you want to connect to
@@ -1236,6 +1260,29 @@ type LiveblocksContextBundle<U extends BaseUserMeta, M extends BaseMetadata> = R
1236
1260
  * const { chat, error, isLoading } = useAiChat("my-chat");
1237
1261
  */
1238
1262
  useAiChat(chatId: string): AiChatAsyncResult;
1263
+ /**
1264
+ * Returns the status of an AI chat, indicating whether it's idle or actively
1265
+ * generating content. This is a convenience hook that derives its state from
1266
+ * the latest assistant message in the chat.
1267
+ *
1268
+ * Re-renders whenever any of the relevant fields change.
1269
+ *
1270
+ * @param chatId - The ID of the chat to monitor
1271
+ * @returns The current status of the AI chat
1272
+ *
1273
+ * @example
1274
+ * ```tsx
1275
+ * import { useAiChatStatus } from "@liveblocks/react";
1276
+ *
1277
+ * function ChatStatus() {
1278
+ * const { status, partType, toolName } = useAiChatStatus("my-chat");
1279
+ * console.log(status); // "loading" | "idle" | "generating"
1280
+ * console.log(status.partType); // "text" | "tool-invocation" | ...
1281
+ * console.log(status.toolName); // string | undefined
1282
+ * }
1283
+ * ```
1284
+ */
1285
+ useAiChatStatus(chatId: string, branchId?: MessageId): AiChatStatus;
1239
1286
  suspense: Resolve<LiveblocksContextBundleCommon<M> & SharedContextBundle<U>["suspense"] & {
1240
1287
  /**
1241
1288
  * Returns the inbox notifications for the current user.
@@ -1289,6 +1336,29 @@ type LiveblocksContextBundle<U extends BaseUserMeta, M extends BaseMetadata> = R
1289
1336
  * const { chat, error, isLoading } = useAiChat("my-chat");
1290
1337
  */
1291
1338
  useAiChat(chatId: string): AiChatAsyncSuccess;
1339
+ /**
1340
+ * Returns the status of an AI chat, indicating whether it's idle or actively
1341
+ * generating content. This is a convenience hook that derives its state from
1342
+ * the latest assistant message in the chat.
1343
+ *
1344
+ * Re-renders whenever any of the relevant fields change.
1345
+ *
1346
+ * @param chatId - The ID of the chat to monitor
1347
+ * @returns The current status of the AI chat
1348
+ *
1349
+ * @example
1350
+ * ```tsx
1351
+ * import { useAiChatStatus } from "@liveblocks/react";
1352
+ *
1353
+ * function ChatStatus() {
1354
+ * const { status, partType, toolName } = useAiChatStatus("my-chat");
1355
+ * console.log(status); // "loading" | "idle" | "generating"
1356
+ * console.log(status.partType); // "text" | "tool-invocation" | ...
1357
+ * console.log(status.toolName); // string | undefined
1358
+ * }
1359
+ * ```
1360
+ */
1361
+ useAiChatStatus(chatId: string, branchId?: MessageId): AiChatStatus;
1292
1362
  }>;
1293
1363
  }>;
1294
1364
 
@@ -1537,6 +1607,12 @@ declare function createStore_forNotifications(): {
1537
1607
  updateAssociatedNotification: (newComment: CommentData) => void;
1538
1608
  upsert: (notification: InboxNotificationData) => void;
1539
1609
  };
1610
+ declare function createStore_forUnreadNotificationsCount(): {
1611
+ signal: DerivedSignal<{
1612
+ [k: string]: number;
1613
+ }>;
1614
+ update: (queryKey: InboxNotificationsQueryKey, count: number) => void;
1615
+ };
1540
1616
  declare function createStore_forSubscriptions(updates: ISignal<readonly OptimisticUpdate<BaseMetadata>[]>, threads: ReadonlyThreadDB<BaseMetadata>): {
1541
1617
  signal: DerivedSignal<SubscriptionsByKey>;
1542
1618
  applyDelta: (newSubscriptions: SubscriptionData[], deletedSubscriptions: SubscriptionDeleteInfo[]) => void;
@@ -1593,6 +1669,7 @@ declare class UmbrellaStore<M extends BaseMetadata> {
1593
1669
  readonly subscriptions: ReturnType<typeof createStore_forSubscriptions>;
1594
1670
  readonly roomSubscriptionSettings: ReturnType<typeof createStore_forRoomSubscriptionSettings>;
1595
1671
  readonly historyVersions: ReturnType<typeof createStore_forHistoryVersions>;
1672
+ readonly unreadNotificationsCount: ReturnType<typeof createStore_forUnreadNotificationsCount>;
1596
1673
  readonly permissionHints: ReturnType<typeof createStore_forPermissionHints>;
1597
1674
  readonly notificationSettings: ReturnType<typeof createStore_forNotificationSettings>;
1598
1675
  readonly optimisticUpdates: ReturnType<typeof createStore_forOptimistic<M>>;
@@ -1604,6 +1681,7 @@ declare class UmbrellaStore<M extends BaseMetadata> {
1604
1681
  readonly notifications: DerivedSignal<CleanNotifications>;
1605
1682
  readonly threadSubscriptions: DerivedSignal<CleanThreadSubscriptions>;
1606
1683
  readonly loadingNotifications: DefaultMap<InboxNotificationsQueryKey, LoadableResource<InboxNotificationsAsyncResult>>;
1684
+ readonly unreadNotificationsCount: DefaultMap<InboxNotificationsQueryKey, LoadableResource<UnreadInboxNotificationsCountAsyncResult>>;
1607
1685
  readonly roomSubscriptionSettingsByRoomId: DefaultMap<RoomId, LoadableResource<RoomSubscriptionSettingsAsyncResult>>;
1608
1686
  readonly versionsByRoomId: DefaultMap<RoomId, LoadableResource<HistoryVersionsAsyncResult>>;
1609
1687
  readonly notificationSettings: LoadableResource<NotificationSettingsAsyncResult>;
@@ -1673,6 +1751,7 @@ declare class UmbrellaStore<M extends BaseMetadata> {
1673
1751
  */
1674
1752
  updateRoomSubscriptionSettings(roomId: string, optimisticId: string, settings: Readonly<RoomSubscriptionSettings$1>): void;
1675
1753
  fetchNotificationsDeltaUpdate(signal: AbortSignal): Promise<void>;
1754
+ fetchUnreadNotificationsCount(queryKey: InboxNotificationsQueryKey, signal: AbortSignal): Promise<void>;
1676
1755
  fetchRoomThreadsDeltaUpdate(roomId: string, signal: AbortSignal): Promise<void>;
1677
1756
  fetchUserThreadsDeltaUpdate(signal: AbortSignal): Promise<void>;
1678
1757
  fetchRoomVersionsDeltaUpdate(roomId: string, signal: AbortSignal): Promise<void>;
@@ -1721,6 +1800,31 @@ declare function useCreateAiChat(): {
1721
1800
  * deleteAiChat("ai-chat-id");
1722
1801
  */
1723
1802
  declare function useDeleteAiChat(): (chatId: string) => void;
1803
+ /**
1804
+ * Returns the status of an AI chat, indicating whether it's idle or actively
1805
+ * generating content. This is a convenience hook that derives its state from
1806
+ * the latest assistant message in the chat.
1807
+ *
1808
+ * Re-renders whenever any of the relevant fields change.
1809
+ *
1810
+ * @param chatId - The ID of the chat to monitor
1811
+ * @returns The current status of the AI chat
1812
+ *
1813
+ * @example
1814
+ * ```tsx
1815
+ * import { useAiChatStatus } from "@liveblocks/react";
1816
+ *
1817
+ * function ChatStatus() {
1818
+ * const { status, partType, toolName } = useAiChatStatus("my-chat");
1819
+ * console.log(status); // "loading" | "idle" | "generating"
1820
+ * console.log(status.partType); // "text" | "tool-invocation" | ...
1821
+ * console.log(status.toolName); // string | undefined
1822
+ * }
1823
+ * ```
1824
+ */
1825
+ declare function useAiChatStatus(chatId: string,
1826
+ /** @internal */
1827
+ branchId?: MessageId): AiChatStatus;
1724
1828
  /**
1725
1829
  * Returns a function to send a message in an AI chat.
1726
1830
  *
@@ -2756,4 +2860,4 @@ declare const _useStorageRoot: TypedBundle["useStorageRoot"];
2756
2860
  */
2757
2861
  declare const _useUpdateMyPresence: TypedBundle["useUpdateMyPresence"];
2758
2862
 
2759
- export { useMarkThreadAsResolved as $, createLiveblocksContext as A, useDeleteAllInboxNotifications as B, ClientContext as C, useDeleteInboxNotification as D, useErrorListener as E, useMarkAllInboxNotificationsAsRead as F, type GroupAsyncResult as G, useMarkInboxNotificationAsRead as H, useSyncStatus as I, createRoomContext as J, _RoomProvider as K, LiveblocksProvider as L, type MutationContext as M, _useAddReaction as N, _useBroadcastEvent as O, useCanRedo as P, useCanUndo as Q, type RegisterAiKnowledgeProps as R, type SendAiMessageOptions as S, useCreateComment as T, type UseSendAiMessageOptions as U, _useCreateThread as V, useDeleteComment as W, _useDeleteThread as X, useEditComment as Y, _useEditThreadMetadata as Z, _useInboxNotificationThread as _, useAddRoomCommentReaction as a, _useAiChatMessagesSuspense as a$, useMarkThreadAsUnresolved as a0, useSubscribeToThread as a1, useUnsubscribeFromThread as a2, _useEventListener as a3, useHistory as a4, _useIsInsideRoom as a5, useLostConnectionListener as a6, useMarkThreadAsRead as a7, _useMutation as a8, _useMyPresence as a9, useSendAiMessage as aA, _useUserThreads_experimental as aB, useRoomInfo as aC, useGroupInfo as aD, useUnreadInboxNotificationsCount as aE, _useUser as aF, _useAiChat as aG, _useAiChats as aH, _useAiChatMessages as aI, _useOtherSuspense as aJ, _useOthersSuspense as aK, useOthersConnectionIdsSuspense as aL, _useOthersMappedSuspense as aM, _useSelfSuspense as aN, _useStorageSuspense as aO, _useThreadsSuspense as aP, useAttachmentUrlSuspense as aQ, _useHistoryVersionsSuspense as aR, _useRoomSubscriptionSettingsSuspense as aS, useInboxNotificationsSuspense as aT, useNotificationSettingsSuspense as aU, useRoomInfoSuspense as aV, useGroupInfoSuspense as aW, useUnreadInboxNotificationsCountSuspense as aX, _useUserSuspense as aY, _useUserThreadsSuspense_experimental as aZ, _useAiChatsSuspense as a_, _useOthersListener as aa, useRedo as ab, useRemoveReaction as ac, _useRoom as ad, useStatus as ae, _useStorageRoot as af, useThreadSubscription as ag, useUndo as ah, _useUpdateMyPresence as ai, useUpdateRoomSubscriptionSettings as aj, useHistoryVersionData as ak, _useOther as al, _useOthers as am, useOthersConnectionIds as an, _useOthersMapped as ao, _useSelf as ap, _useStorage as aq, _useThreads as ar, useAttachmentUrl as as, _useHistoryVersions as at, _useRoomSubscriptionSettings as au, useInboxNotifications as av, useNotificationSettings as aw, useUpdateNotificationSettings as ax, useCreateAiChat as ay, useDeleteAiChat as az, useCreateRoomComment as b, _useAiChatSuspense as b0, 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 };
2863
+ export { _useEditThreadMetadata as $, type AiChatStatus as A, createLiveblocksContext as B, ClientContext as C, useDeleteAllInboxNotifications as D, useDeleteInboxNotification as E, useErrorListener as F, type GroupAsyncResult as G, useMarkAllInboxNotificationsAsRead as H, useMarkInboxNotificationAsRead as I, useSyncStatus as J, createRoomContext as K, LiveblocksProvider as L, type MutationContext as M, _RoomProvider as N, _useAddReaction as O, _useBroadcastEvent as P, useCanRedo as Q, type RegisterAiKnowledgeProps as R, type SendAiMessageOptions as S, useCanUndo as T, type UseSendAiMessageOptions as U, useCreateComment as V, _useCreateThread as W, useDeleteComment as X, _useDeleteThread as Y, useEditComment as Z, _useInboxNotificationThread as _, useAddRoomCommentReaction as a, _useUserThreadsSuspense_experimental as a$, useMarkThreadAsResolved as a0, useMarkThreadAsUnresolved as a1, useSubscribeToThread as a2, useUnsubscribeFromThread as a3, _useEventListener as a4, useHistory as a5, _useIsInsideRoom as a6, useLostConnectionListener as a7, useMarkThreadAsRead as a8, _useMutation as a9, useDeleteAiChat as aA, useSendAiMessage as aB, _useUserThreads_experimental as aC, useRoomInfo as aD, useGroupInfo as aE, useUnreadInboxNotificationsCount as aF, _useUser as aG, _useAiChat as aH, _useAiChats as aI, _useAiChatMessages as aJ, useAiChatStatus as aK, _useOtherSuspense as aL, _useOthersSuspense as aM, useOthersConnectionIdsSuspense as aN, _useOthersMappedSuspense as aO, _useSelfSuspense as aP, _useStorageSuspense as aQ, _useThreadsSuspense as aR, useAttachmentUrlSuspense as aS, _useHistoryVersionsSuspense as aT, _useRoomSubscriptionSettingsSuspense as aU, useInboxNotificationsSuspense as aV, useNotificationSettingsSuspense as aW, useRoomInfoSuspense as aX, useGroupInfoSuspense as aY, useUnreadInboxNotificationsCountSuspense as aZ, _useUserSuspense as a_, _useMyPresence as aa, _useOthersListener as ab, useRedo as ac, useRemoveReaction as ad, _useRoom as ae, useStatus as af, _useStorageRoot as ag, useThreadSubscription as ah, useUndo as ai, _useUpdateMyPresence as aj, useUpdateRoomSubscriptionSettings as ak, useHistoryVersionData as al, _useOther as am, _useOthers as an, useOthersConnectionIds as ao, _useOthersMapped as ap, _useSelf as aq, _useStorage as ar, _useThreads as as, useAttachmentUrl as at, _useHistoryVersions as au, _useRoomSubscriptionSettings as av, useInboxNotifications as aw, useNotificationSettings as ax, useUpdateNotificationSettings as ay, useCreateAiChat as az, useCreateRoomComment as b, _useAiChatsSuspense as b0, _useAiChatMessagesSuspense as b1, _useAiChatSuspense as b2, 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 };
@@ -2,7 +2,7 @@ import * as react from 'react';
2
2
  import { ComponentType, Context, PropsWithChildren, ReactNode } from 'react';
3
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';
4
4
  import * as _liveblocks_core from '@liveblocks/core';
5
- import { OpaqueClient, OpaqueRoom, AiKnowledgeSource, AiOpaqueToolDefinition, BaseMetadata, QueryMetadata, AsyncResult, DRI, AsyncSuccess, DGI, GroupData, Resolve, CommentBody, CommentAttachment, PartialUnless, Patchable, InboxNotificationData, NotificationSettings, Relax, ToImmutable, PartialNotificationSettings, AiChatsQuery, AsyncLoading, AsyncError, ThreadData, HistoryVersion, AiChat, Client as Client$1, LiveblocksError, SyncStatus, RoomEventMessage, CommentData, AiUserMessage, WithRequired, AiChatMessage, WithNavigation, 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, MentionData, DP, DS, DE } from '@liveblocks/core';
5
+ import { OpaqueClient, OpaqueRoom, AiKnowledgeSource, AiOpaqueToolDefinition, Relax, AiAssistantContentPart, BaseMetadata, QueryMetadata, AsyncResult, DRI, AsyncSuccess, DGI, GroupData, Resolve, CommentBody, CommentAttachment, PartialUnless, Patchable, InboxNotificationData, NotificationSettings, ToImmutable, MessageId, PartialNotificationSettings, AiChatsQuery, AsyncLoading, AsyncError, ThreadData, HistoryVersion, AiChat, Client as Client$1, LiveblocksError, SyncStatus, RoomEventMessage, CommentData, AiUserMessage, WithRequired, AiChatMessage, WithNavigation, MutableSignal, ThreadDataWithDeleteInfo, ThreadDeleteInfo, DerivedSignal, DefaultMap, SubscriptionData, SubscriptionKey, CommentUserReaction, InboxNotificationDeleteInfo, SubscriptionDeleteInfo, RoomSubscriptionSettings as RoomSubscriptionSettings$1, ISignal, Permission, BaseUserMeta as BaseUserMeta$1, DistributiveOmit, DU, DM, TextEditorType, IYjsProvider, MentionData, DP, DS, DE } from '@liveblocks/core';
6
6
  import * as react_jsx_runtime from 'react/jsx-runtime';
7
7
 
8
8
  /**
@@ -35,14 +35,18 @@ type RegisterAiKnowledgeProps = AiKnowledgeSource & {
35
35
  * precedence.
36
36
  */
37
37
  id?: string;
38
+ /**
39
+ * When provided, the knowledge source will only be available for this chatId.
40
+ * If not provided, this knowledge source will be available globally.
41
+ */
42
+ chatId?: string;
38
43
  };
39
44
  type RegisterAiToolProps = {
40
45
  name: string;
41
46
  tool: AiOpaqueToolDefinition;
42
47
  /**
43
48
  * 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.
49
+ * provided, this tool will be available globally.
46
50
  */
47
51
  chatId?: string;
48
52
  /**
@@ -53,6 +57,25 @@ type RegisterAiToolProps = {
53
57
  */
54
58
  enabled?: boolean;
55
59
  };
60
+ /**
61
+ * Simplified status for the requested chat.
62
+ * This hook offers a convenient way to update the UI while an AI chat
63
+ * generation is in progress.
64
+ */
65
+ type AiChatStatus = Relax<{
66
+ status: "loading";
67
+ } | {
68
+ status: "idle";
69
+ } | {
70
+ status: "generating";
71
+ } | {
72
+ status: "generating";
73
+ partType: Exclude<AiAssistantContentPart["type"], "tool-invocation">;
74
+ } | {
75
+ status: "generating";
76
+ partType: "tool-invocation";
77
+ toolName: string;
78
+ }>;
56
79
 
57
80
  type UiChatMessage = WithNavigation<AiChatMessage>;
58
81
  type UseSyncStatusOptions = {
@@ -216,6 +239,7 @@ type AiChatAsyncSuccess = AsyncSuccess<AiChat, "chat">;
216
239
  type AiChatAsyncResult = AsyncResult<AiChat, "chat">;
217
240
  type AiChatMessagesAsyncSuccess = AsyncSuccess<readonly UiChatMessage[], "messages">;
218
241
  type AiChatMessagesAsyncResult = AsyncResult<readonly UiChatMessage[], "messages">;
242
+
219
243
  type RoomProviderProps<P extends JsonObject, S extends LsonObject> = Resolve<{
220
244
  /**
221
245
  * The id of the room you want to connect to
@@ -1236,6 +1260,29 @@ type LiveblocksContextBundle<U extends BaseUserMeta, M extends BaseMetadata> = R
1236
1260
  * const { chat, error, isLoading } = useAiChat("my-chat");
1237
1261
  */
1238
1262
  useAiChat(chatId: string): AiChatAsyncResult;
1263
+ /**
1264
+ * Returns the status of an AI chat, indicating whether it's idle or actively
1265
+ * generating content. This is a convenience hook that derives its state from
1266
+ * the latest assistant message in the chat.
1267
+ *
1268
+ * Re-renders whenever any of the relevant fields change.
1269
+ *
1270
+ * @param chatId - The ID of the chat to monitor
1271
+ * @returns The current status of the AI chat
1272
+ *
1273
+ * @example
1274
+ * ```tsx
1275
+ * import { useAiChatStatus } from "@liveblocks/react";
1276
+ *
1277
+ * function ChatStatus() {
1278
+ * const { status, partType, toolName } = useAiChatStatus("my-chat");
1279
+ * console.log(status); // "loading" | "idle" | "generating"
1280
+ * console.log(status.partType); // "text" | "tool-invocation" | ...
1281
+ * console.log(status.toolName); // string | undefined
1282
+ * }
1283
+ * ```
1284
+ */
1285
+ useAiChatStatus(chatId: string, branchId?: MessageId): AiChatStatus;
1239
1286
  suspense: Resolve<LiveblocksContextBundleCommon<M> & SharedContextBundle<U>["suspense"] & {
1240
1287
  /**
1241
1288
  * Returns the inbox notifications for the current user.
@@ -1289,6 +1336,29 @@ type LiveblocksContextBundle<U extends BaseUserMeta, M extends BaseMetadata> = R
1289
1336
  * const { chat, error, isLoading } = useAiChat("my-chat");
1290
1337
  */
1291
1338
  useAiChat(chatId: string): AiChatAsyncSuccess;
1339
+ /**
1340
+ * Returns the status of an AI chat, indicating whether it's idle or actively
1341
+ * generating content. This is a convenience hook that derives its state from
1342
+ * the latest assistant message in the chat.
1343
+ *
1344
+ * Re-renders whenever any of the relevant fields change.
1345
+ *
1346
+ * @param chatId - The ID of the chat to monitor
1347
+ * @returns The current status of the AI chat
1348
+ *
1349
+ * @example
1350
+ * ```tsx
1351
+ * import { useAiChatStatus } from "@liveblocks/react";
1352
+ *
1353
+ * function ChatStatus() {
1354
+ * const { status, partType, toolName } = useAiChatStatus("my-chat");
1355
+ * console.log(status); // "loading" | "idle" | "generating"
1356
+ * console.log(status.partType); // "text" | "tool-invocation" | ...
1357
+ * console.log(status.toolName); // string | undefined
1358
+ * }
1359
+ * ```
1360
+ */
1361
+ useAiChatStatus(chatId: string, branchId?: MessageId): AiChatStatus;
1292
1362
  }>;
1293
1363
  }>;
1294
1364
 
@@ -1537,6 +1607,12 @@ declare function createStore_forNotifications(): {
1537
1607
  updateAssociatedNotification: (newComment: CommentData) => void;
1538
1608
  upsert: (notification: InboxNotificationData) => void;
1539
1609
  };
1610
+ declare function createStore_forUnreadNotificationsCount(): {
1611
+ signal: DerivedSignal<{
1612
+ [k: string]: number;
1613
+ }>;
1614
+ update: (queryKey: InboxNotificationsQueryKey, count: number) => void;
1615
+ };
1540
1616
  declare function createStore_forSubscriptions(updates: ISignal<readonly OptimisticUpdate<BaseMetadata>[]>, threads: ReadonlyThreadDB<BaseMetadata>): {
1541
1617
  signal: DerivedSignal<SubscriptionsByKey>;
1542
1618
  applyDelta: (newSubscriptions: SubscriptionData[], deletedSubscriptions: SubscriptionDeleteInfo[]) => void;
@@ -1593,6 +1669,7 @@ declare class UmbrellaStore<M extends BaseMetadata> {
1593
1669
  readonly subscriptions: ReturnType<typeof createStore_forSubscriptions>;
1594
1670
  readonly roomSubscriptionSettings: ReturnType<typeof createStore_forRoomSubscriptionSettings>;
1595
1671
  readonly historyVersions: ReturnType<typeof createStore_forHistoryVersions>;
1672
+ readonly unreadNotificationsCount: ReturnType<typeof createStore_forUnreadNotificationsCount>;
1596
1673
  readonly permissionHints: ReturnType<typeof createStore_forPermissionHints>;
1597
1674
  readonly notificationSettings: ReturnType<typeof createStore_forNotificationSettings>;
1598
1675
  readonly optimisticUpdates: ReturnType<typeof createStore_forOptimistic<M>>;
@@ -1604,6 +1681,7 @@ declare class UmbrellaStore<M extends BaseMetadata> {
1604
1681
  readonly notifications: DerivedSignal<CleanNotifications>;
1605
1682
  readonly threadSubscriptions: DerivedSignal<CleanThreadSubscriptions>;
1606
1683
  readonly loadingNotifications: DefaultMap<InboxNotificationsQueryKey, LoadableResource<InboxNotificationsAsyncResult>>;
1684
+ readonly unreadNotificationsCount: DefaultMap<InboxNotificationsQueryKey, LoadableResource<UnreadInboxNotificationsCountAsyncResult>>;
1607
1685
  readonly roomSubscriptionSettingsByRoomId: DefaultMap<RoomId, LoadableResource<RoomSubscriptionSettingsAsyncResult>>;
1608
1686
  readonly versionsByRoomId: DefaultMap<RoomId, LoadableResource<HistoryVersionsAsyncResult>>;
1609
1687
  readonly notificationSettings: LoadableResource<NotificationSettingsAsyncResult>;
@@ -1673,6 +1751,7 @@ declare class UmbrellaStore<M extends BaseMetadata> {
1673
1751
  */
1674
1752
  updateRoomSubscriptionSettings(roomId: string, optimisticId: string, settings: Readonly<RoomSubscriptionSettings$1>): void;
1675
1753
  fetchNotificationsDeltaUpdate(signal: AbortSignal): Promise<void>;
1754
+ fetchUnreadNotificationsCount(queryKey: InboxNotificationsQueryKey, signal: AbortSignal): Promise<void>;
1676
1755
  fetchRoomThreadsDeltaUpdate(roomId: string, signal: AbortSignal): Promise<void>;
1677
1756
  fetchUserThreadsDeltaUpdate(signal: AbortSignal): Promise<void>;
1678
1757
  fetchRoomVersionsDeltaUpdate(roomId: string, signal: AbortSignal): Promise<void>;
@@ -1721,6 +1800,31 @@ declare function useCreateAiChat(): {
1721
1800
  * deleteAiChat("ai-chat-id");
1722
1801
  */
1723
1802
  declare function useDeleteAiChat(): (chatId: string) => void;
1803
+ /**
1804
+ * Returns the status of an AI chat, indicating whether it's idle or actively
1805
+ * generating content. This is a convenience hook that derives its state from
1806
+ * the latest assistant message in the chat.
1807
+ *
1808
+ * Re-renders whenever any of the relevant fields change.
1809
+ *
1810
+ * @param chatId - The ID of the chat to monitor
1811
+ * @returns The current status of the AI chat
1812
+ *
1813
+ * @example
1814
+ * ```tsx
1815
+ * import { useAiChatStatus } from "@liveblocks/react";
1816
+ *
1817
+ * function ChatStatus() {
1818
+ * const { status, partType, toolName } = useAiChatStatus("my-chat");
1819
+ * console.log(status); // "loading" | "idle" | "generating"
1820
+ * console.log(status.partType); // "text" | "tool-invocation" | ...
1821
+ * console.log(status.toolName); // string | undefined
1822
+ * }
1823
+ * ```
1824
+ */
1825
+ declare function useAiChatStatus(chatId: string,
1826
+ /** @internal */
1827
+ branchId?: MessageId): AiChatStatus;
1724
1828
  /**
1725
1829
  * Returns a function to send a message in an AI chat.
1726
1830
  *
@@ -2756,4 +2860,4 @@ declare const _useStorageRoot: TypedBundle["useStorageRoot"];
2756
2860
  */
2757
2861
  declare const _useUpdateMyPresence: TypedBundle["useUpdateMyPresence"];
2758
2862
 
2759
- export { useMarkThreadAsResolved as $, createLiveblocksContext as A, useDeleteAllInboxNotifications as B, ClientContext as C, useDeleteInboxNotification as D, useErrorListener as E, useMarkAllInboxNotificationsAsRead as F, type GroupAsyncResult as G, useMarkInboxNotificationAsRead as H, useSyncStatus as I, createRoomContext as J, _RoomProvider as K, LiveblocksProvider as L, type MutationContext as M, _useAddReaction as N, _useBroadcastEvent as O, useCanRedo as P, useCanUndo as Q, type RegisterAiKnowledgeProps as R, type SendAiMessageOptions as S, useCreateComment as T, type UseSendAiMessageOptions as U, _useCreateThread as V, useDeleteComment as W, _useDeleteThread as X, useEditComment as Y, _useEditThreadMetadata as Z, _useInboxNotificationThread as _, useAddRoomCommentReaction as a, _useAiChatMessagesSuspense as a$, useMarkThreadAsUnresolved as a0, useSubscribeToThread as a1, useUnsubscribeFromThread as a2, _useEventListener as a3, useHistory as a4, _useIsInsideRoom as a5, useLostConnectionListener as a6, useMarkThreadAsRead as a7, _useMutation as a8, _useMyPresence as a9, useSendAiMessage as aA, _useUserThreads_experimental as aB, useRoomInfo as aC, useGroupInfo as aD, useUnreadInboxNotificationsCount as aE, _useUser as aF, _useAiChat as aG, _useAiChats as aH, _useAiChatMessages as aI, _useOtherSuspense as aJ, _useOthersSuspense as aK, useOthersConnectionIdsSuspense as aL, _useOthersMappedSuspense as aM, _useSelfSuspense as aN, _useStorageSuspense as aO, _useThreadsSuspense as aP, useAttachmentUrlSuspense as aQ, _useHistoryVersionsSuspense as aR, _useRoomSubscriptionSettingsSuspense as aS, useInboxNotificationsSuspense as aT, useNotificationSettingsSuspense as aU, useRoomInfoSuspense as aV, useGroupInfoSuspense as aW, useUnreadInboxNotificationsCountSuspense as aX, _useUserSuspense as aY, _useUserThreadsSuspense_experimental as aZ, _useAiChatsSuspense as a_, _useOthersListener as aa, useRedo as ab, useRemoveReaction as ac, _useRoom as ad, useStatus as ae, _useStorageRoot as af, useThreadSubscription as ag, useUndo as ah, _useUpdateMyPresence as ai, useUpdateRoomSubscriptionSettings as aj, useHistoryVersionData as ak, _useOther as al, _useOthers as am, useOthersConnectionIds as an, _useOthersMapped as ao, _useSelf as ap, _useStorage as aq, _useThreads as ar, useAttachmentUrl as as, _useHistoryVersions as at, _useRoomSubscriptionSettings as au, useInboxNotifications as av, useNotificationSettings as aw, useUpdateNotificationSettings as ax, useCreateAiChat as ay, useDeleteAiChat as az, useCreateRoomComment as b, _useAiChatSuspense as b0, 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 };
2863
+ export { _useEditThreadMetadata as $, type AiChatStatus as A, createLiveblocksContext as B, ClientContext as C, useDeleteAllInboxNotifications as D, useDeleteInboxNotification as E, useErrorListener as F, type GroupAsyncResult as G, useMarkAllInboxNotificationsAsRead as H, useMarkInboxNotificationAsRead as I, useSyncStatus as J, createRoomContext as K, LiveblocksProvider as L, type MutationContext as M, _RoomProvider as N, _useAddReaction as O, _useBroadcastEvent as P, useCanRedo as Q, type RegisterAiKnowledgeProps as R, type SendAiMessageOptions as S, useCanUndo as T, type UseSendAiMessageOptions as U, useCreateComment as V, _useCreateThread as W, useDeleteComment as X, _useDeleteThread as Y, useEditComment as Z, _useInboxNotificationThread as _, useAddRoomCommentReaction as a, _useUserThreadsSuspense_experimental as a$, useMarkThreadAsResolved as a0, useMarkThreadAsUnresolved as a1, useSubscribeToThread as a2, useUnsubscribeFromThread as a3, _useEventListener as a4, useHistory as a5, _useIsInsideRoom as a6, useLostConnectionListener as a7, useMarkThreadAsRead as a8, _useMutation as a9, useDeleteAiChat as aA, useSendAiMessage as aB, _useUserThreads_experimental as aC, useRoomInfo as aD, useGroupInfo as aE, useUnreadInboxNotificationsCount as aF, _useUser as aG, _useAiChat as aH, _useAiChats as aI, _useAiChatMessages as aJ, useAiChatStatus as aK, _useOtherSuspense as aL, _useOthersSuspense as aM, useOthersConnectionIdsSuspense as aN, _useOthersMappedSuspense as aO, _useSelfSuspense as aP, _useStorageSuspense as aQ, _useThreadsSuspense as aR, useAttachmentUrlSuspense as aS, _useHistoryVersionsSuspense as aT, _useRoomSubscriptionSettingsSuspense as aU, useInboxNotificationsSuspense as aV, useNotificationSettingsSuspense as aW, useRoomInfoSuspense as aX, useGroupInfoSuspense as aY, useUnreadInboxNotificationsCountSuspense as aZ, _useUserSuspense as a_, _useMyPresence as aa, _useOthersListener as ab, useRedo as ac, useRemoveReaction as ad, _useRoom as ae, useStatus as af, _useStorageRoot as ag, useThreadSubscription as ah, useUndo as ai, _useUpdateMyPresence as aj, useUpdateRoomSubscriptionSettings as ak, useHistoryVersionData as al, _useOther as am, _useOthers as an, useOthersConnectionIds as ao, _useOthersMapped as ap, _useSelf as aq, _useStorage as ar, _useThreads as as, useAttachmentUrl as at, _useHistoryVersions as au, _useRoomSubscriptionSettings as av, useInboxNotifications as aw, useNotificationSettings as ax, useUpdateNotificationSettings as ay, useCreateAiChat as az, useCreateRoomComment as b, _useAiChatsSuspense as b0, _useAiChatMessagesSuspense as b1, _useAiChatSuspense as b2, 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 };