@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.
- package/dist/_private.cjs +7 -7
- package/dist/_private.d.cts +2 -2
- package/dist/_private.d.ts +2 -2
- package/dist/_private.js +1 -1
- package/dist/{chunk-4GCS3365.cjs → chunk-2YWY7TUQ.cjs} +211 -73
- package/dist/chunk-2YWY7TUQ.cjs.map +1 -0
- package/dist/{chunk-ZU7C6DJE.cjs → chunk-BXCA7DCZ.cjs} +2 -2
- package/dist/{chunk-ZU7C6DJE.cjs.map → chunk-BXCA7DCZ.cjs.map} +1 -1
- package/dist/{chunk-OKYUUXNY.js → chunk-QY4EJ7GZ.js} +193 -55
- package/dist/chunk-QY4EJ7GZ.js.map +1 -0
- package/dist/{chunk-RCYYHORY.js → chunk-WMCNV6XL.js} +2 -2
- package/dist/index.cjs +6 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +6 -3
- package/dist/index.d.ts +6 -3
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/{room-BtcL74U0.d.cts → room-DkyB1sbB.d.cts} +108 -4
- package/dist/{room-BtcL74U0.d.ts → room-DkyB1sbB.d.ts} +108 -4
- package/dist/suspense.cjs +6 -4
- package/dist/suspense.cjs.map +1 -1
- package/dist/suspense.d.cts +1 -1
- package/dist/suspense.d.ts +1 -1
- package/dist/suspense.js +4 -2
- package/dist/suspense.js.map +1 -1
- package/package.json +3 -3
- package/dist/chunk-4GCS3365.cjs.map +0 -1
- package/dist/chunk-OKYUUXNY.js.map +0 -1
- /package/dist/{chunk-RCYYHORY.js.map → chunk-WMCNV6XL.js.map} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// src/version.ts
|
|
2
2
|
var PKG_NAME = "@liveblocks/react";
|
|
3
|
-
var PKG_VERSION = "3.8.
|
|
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-
|
|
23
|
+
//# sourceMappingURL=chunk-WMCNV6XL.js.map
|
package/dist/index.cjs
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
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
|
-
|
|
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,
|
|
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 =
|
|
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
|
package/dist/index.cjs.map
CHANGED
|
@@ -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;
|
|
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-
|
|
2
|
-
export { C as ClientContext, L as LiveblocksProvider, M as MutationContext, y as RoomContext,
|
|
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-
|
|
2
|
-
export { C as ClientContext, L as LiveblocksProvider, M as MutationContext, y as RoomContext,
|
|
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-
|
|
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-
|
|
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 {
|
|
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,
|
|
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
|
|
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 {
|
|
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,
|
|
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
|
|
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 {
|
|
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 };
|