@liveblocks/react 2.24.1 → 2.25.0-aiprivatebeta1

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 = "2.24.1";
3
+ var PKG_VERSION = "2.25.0-aiprivatebeta1";
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-RPHUEUUE.js.map
23
+ //# sourceMappingURL=chunk-EDEUY3EM.js.map
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/version.ts
2
2
  var PKG_NAME = "@liveblocks/react";
3
- var PKG_VERSION = "2.24.1";
3
+ var PKG_VERSION = "2.25.0-aiprivatebeta1";
4
4
  var PKG_FORMAT = "cjs";
5
5
 
6
6
  // src/ClientSideSuspense.tsx
@@ -20,4 +20,4 @@ function ClientSideSuspense(props) {
20
20
 
21
21
 
22
22
  exports.PKG_NAME = PKG_NAME; exports.PKG_VERSION = PKG_VERSION; exports.PKG_FORMAT = PKG_FORMAT; exports.ClientSideSuspense = ClientSideSuspense;
23
- //# sourceMappingURL=chunk-2C72TPGI.cjs.map
23
+ //# sourceMappingURL=chunk-GSA4MPRG.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/liveblocks/liveblocks/packages/liveblocks-react/dist/chunk-GSA4MPRG.cjs","../src/version.ts","../src/ClientSideSuspense.tsx"],"names":[],"mappings":"AAAA;ACGO,IAAM,SAAA,EAAW,mBAAA;AACjB,IAAM,YAAA,EAAiD,uBAAA;AACvD,IAAM,WAAA,EAAgD,KAAA;ADD7D;AACA;AEJA,8BAA8C;AAkC1C,+CAAA;AAVG,SAAS,kBAAA,CAAmB,KAAA,EAAc;AAC/C,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,EAAA,EAAI,6BAAA,KAAc,CAAA;AAE5C,EAAA,8BAAA,CAAU,EAAA,GAAM;AAGd,IAAA,UAAA,CAAW,IAAI,CAAA;AAAA,EACjB,CAAA,EAAG,CAAC,CAAC,CAAA;AAEL,EAAA,uBACE,6BAAA,eAAC,EAAA,EAAS,QAAA,EAAU,KAAA,CAAM,QAAA,EACvB,QAAA,EAAA,QAAA,EACG,OAAO,KAAA,CAAM,SAAA,IAAa,WAAA,EACxB,KAAA,CAAM,QAAA,CAAS,EAAA,EACf,KAAA,CAAM,SAAA,EACR,KAAA,CAAM,SAAA,CACZ,CAAA;AAEJ;AF5BA;AACA;AACE;AACA;AACA;AACA;AACF,iJAAC","file":"/home/runner/work/liveblocks/liveblocks/packages/liveblocks-react/dist/chunk-GSA4MPRG.cjs","sourcesContent":[null,"declare const __VERSION__: string;\ndeclare const TSUP_FORMAT: string;\n\nexport const PKG_NAME = \"@liveblocks/react\";\nexport const PKG_VERSION = typeof __VERSION__ === \"string\" && __VERSION__;\nexport const PKG_FORMAT = typeof TSUP_FORMAT === \"string\" && TSUP_FORMAT;\n","import type { ReactNode } from \"react\";\nimport { Suspense, useEffect, useState } from \"react\";\n\ntype Props = {\n fallback: ReactNode;\n children: (() => ReactNode | undefined) | ReactNode | undefined;\n};\n\n/**\n * Almost like a normal <Suspense> component, except that for server-side\n * renders, the fallback will be used.\n *\n * The child props will have to be provided in a function, i.e. change:\n *\n * <Suspense fallback={<Loading />}>\n * <MyRealComponent a={1} />\n * </Suspense>\n *\n * To:\n *\n * <ClientSideSuspense fallback={<Loading />}>\n * <MyRealComponent a={1} />\n * </ClientSideSuspense>\n *\n */\nexport function ClientSideSuspense(props: Props) {\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => {\n // Effects are never executed on the server side. The point of this is to\n // delay the flipping of this boolean until after hydration has happened.\n setMounted(true);\n }, []);\n\n return (\n <Suspense fallback={props.fallback}>\n {mounted\n ? typeof props.children === \"function\"\n ? props.children()\n : props.children\n : props.fallback}\n </Suspense>\n );\n}\n"]}
@@ -86,8 +86,14 @@ function useSyncExternalStoreWithSelector(subscribe, getSnapshot, getServerSnaps
86
86
  }
87
87
 
88
88
  // src/use-signal.ts
89
+ var _core = require('@liveblocks/core');
89
90
  var identity = (value) => value;
90
91
  function useSignal(signal, selector, isEqual) {
92
+ if (signal instanceof _core.MutableSignal) {
93
+ throw new Error(
94
+ "Using a mutable Signal with useSignal will likely not work as expected."
95
+ );
96
+ }
91
97
  return useSyncExternalStoreWithSelector(
92
98
  signal.subscribe,
93
99
  signal.get,
@@ -100,7 +106,7 @@ function useSignal(signal, selector, isEqual) {
100
106
  // src/liveblocks.tsx
101
107
 
102
108
 
103
- var _core = require('@liveblocks/core');
109
+
104
110
 
105
111
 
106
112
 
@@ -866,6 +872,8 @@ var UmbrellaStore = class {
866
872
  #roomVersionsLastRequestedAtByRoom = /* @__PURE__ */ new Map();
867
873
  // Notification Settings
868
874
  #notificationSettings;
875
+ // Copilot chats
876
+ #aiChats;
869
877
  constructor(client) {
870
878
  this.#client = client[_core.kInternal].as();
871
879
  this.optimisticUpdates = createStore_forOptimistic(this.#client);
@@ -895,6 +903,12 @@ var UmbrellaStore = class {
895
903
  this.#notificationSettings = new SinglePageResource(
896
904
  notificationSettingsFetcher
897
905
  );
906
+ this.#aiChats = new PaginatedResource(async (cursor) => {
907
+ const result = await this.#client[_core.kInternal].ai.getChats({
908
+ cursor
909
+ });
910
+ return result.nextCursor;
911
+ });
898
912
  this.threads = new ThreadDB();
899
913
  this.subscriptions = createStore_forSubscriptions(
900
914
  this.optimisticUpdates.signal,
@@ -1101,6 +1115,43 @@ var UmbrellaStore = class {
1101
1115
  }, _core.shallow),
1102
1116
  waitUntilLoaded: this.#notificationSettings.waitUntilLoaded
1103
1117
  };
1118
+ const aiChats = {
1119
+ signal: _core.DerivedSignal.from(() => {
1120
+ const result = this.#aiChats.get();
1121
+ if (result.isLoading || result.error) {
1122
+ return result;
1123
+ }
1124
+ return {
1125
+ isLoading: false,
1126
+ chats: this.#client[_core.kInternal].ai.signals.chats\u03A3.get(),
1127
+ hasFetchedAll: result.data.hasFetchedAll,
1128
+ isFetchingMore: result.data.isFetchingMore,
1129
+ fetchMore: result.data.fetchMore,
1130
+ fetchMoreError: result.data.fetchMoreError
1131
+ };
1132
+ }, _core.shallow),
1133
+ waitUntilLoaded: this.#aiChats.waitUntilLoaded
1134
+ };
1135
+ const messagesByChatId = new (0, _core.DefaultMap)((chatId) => {
1136
+ const resource\u03A3 = new SinglePageResource(async () => {
1137
+ await this.#client[_core.kInternal].ai.getMessageTree(chatId);
1138
+ });
1139
+ return new (0, _core.DefaultMap)(
1140
+ (branch) => {
1141
+ const signal = _core.DerivedSignal.from(() => {
1142
+ const result = resource\u03A3.get();
1143
+ if (result.isLoading || result.error) {
1144
+ return result;
1145
+ }
1146
+ return ASYNC_OK(
1147
+ "messages",
1148
+ this.#client[_core.kInternal].ai.signals.getChatMessagesForBranch\u03A3(chatId, _nullishCoalesce(branch, () => ( void 0))).get()
1149
+ );
1150
+ });
1151
+ return { signal, waitUntilLoaded: resource\u03A3.waitUntilLoaded };
1152
+ }
1153
+ );
1154
+ });
1104
1155
  this.outputs = {
1105
1156
  threadifications,
1106
1157
  threads,
@@ -1111,7 +1162,9 @@ var UmbrellaStore = class {
1111
1162
  roomSubscriptionSettingsByRoomId,
1112
1163
  versionsByRoomId,
1113
1164
  notificationSettings,
1114
- threadSubscriptions
1165
+ threadSubscriptions,
1166
+ aiChats,
1167
+ messagesByChatId
1115
1168
  };
1116
1169
  autobind(this);
1117
1170
  }
@@ -1990,6 +2043,10 @@ function makeLiveblocksContextBundle(client) {
1990
2043
  useUpdateNotificationSettings: useUpdateNotificationSettings2,
1991
2044
  useInboxNotificationThread: useInboxNotificationThread2,
1992
2045
  useUserThreads_experimental,
2046
+ useAiChats,
2047
+ useAiChatMessages,
2048
+ useCreateAiChat,
2049
+ useDeleteAiChat,
1993
2050
  ...shared.classic,
1994
2051
  suspense: {
1995
2052
  LiveblocksProvider: LiveblocksProvider2,
@@ -2003,6 +2060,10 @@ function makeLiveblocksContextBundle(client) {
2003
2060
  useNotificationSettings: () => useNotificationSettingsSuspense_withClient(client),
2004
2061
  useUpdateNotificationSettings: useUpdateNotificationSettings2,
2005
2062
  useUserThreads_experimental: useUserThreadsSuspense_experimental,
2063
+ useAiChats: useAiChatsSuspense,
2064
+ useAiChatMessages: useAiChatMessagesSuspense,
2065
+ useCreateAiChat,
2066
+ useDeleteAiChat,
2006
2067
  ...shared.suspense
2007
2068
  }
2008
2069
  };
@@ -2375,6 +2436,88 @@ function useRoomInfoSuspense_withClient(client, roomId) {
2375
2436
  error: void 0
2376
2437
  };
2377
2438
  }
2439
+ function useAiChats() {
2440
+ const client = useClient();
2441
+ const store = getUmbrellaStoreForClient(client);
2442
+ _react.useEffect.call(void 0,
2443
+ () => void store.outputs.aiChats.waitUntilLoaded()
2444
+ // NOTE: Deliberately *not* using a dependency array here!
2445
+ //
2446
+ // It is important to call waitUntil on *every* render.
2447
+ // This is harmless though, on most renders, except:
2448
+ // 1. The very first render, in which case we'll want to trigger the initial page fetch.
2449
+ // 2. All other subsequent renders now "just" return the same promise (a quick operation).
2450
+ // 3. If ever the promise would fail, then after 5 seconds it would reset, and on the very
2451
+ // *next* render after that, a *new* fetch/promise will get created.
2452
+ );
2453
+ return useSignal(store.outputs.aiChats.signal, identity2, _core.shallow);
2454
+ }
2455
+ function useAiChatsSuspense() {
2456
+ ensureNotServerSide();
2457
+ const client = useClient();
2458
+ const store = getUmbrellaStoreForClient(client);
2459
+ use(store.outputs.aiChats.waitUntilLoaded());
2460
+ const result = useAiChats();
2461
+ _core.assert.call(void 0, !result.error, "Did not expect error");
2462
+ _core.assert.call(void 0, !result.isLoading, "Did not expect loading");
2463
+ return result;
2464
+ }
2465
+ function useAiChatMessages(chatId, branch) {
2466
+ const client = useClient();
2467
+ const store = getUmbrellaStoreForClient(client);
2468
+ _react.useEffect.call(void 0,
2469
+ () => void store.outputs.messagesByChatId.getOrCreate(chatId).getOrCreate(_nullishCoalesce(branch, () => ( null))).waitUntilLoaded()
2470
+ // NOTE: Deliberately *not* using a dependency array here!
2471
+ //
2472
+ // It is important to call waitUntil on *every* render.
2473
+ // This is harmless though, on most renders, except:
2474
+ // 1. The very first render, in which case we'll want to trigger the initial page fetch.
2475
+ // 2. All other subsequent renders now "just" return the same promise (a quick operation).
2476
+ // 3. If ever the promise would fail, then after 5 seconds it would reset, and on the very
2477
+ // *next* render after that, a *new* fetch/promise will get created.
2478
+ );
2479
+ return useSignal(
2480
+ store.outputs.messagesByChatId.getOrCreate(chatId).getOrCreate(_nullishCoalesce(branch, () => ( null))).signal
2481
+ );
2482
+ }
2483
+ function useAiChatMessagesSuspense(chatId, branch) {
2484
+ ensureNotServerSide();
2485
+ const client = useClient();
2486
+ const store = getUmbrellaStoreForClient(client);
2487
+ use(
2488
+ store.outputs.messagesByChatId.getOrCreate(chatId).getOrCreate(_nullishCoalesce(branch, () => ( null))).waitUntilLoaded()
2489
+ );
2490
+ const result = useAiChatMessages(chatId, branch);
2491
+ _core.assert.call(void 0, !result.error, "Did not expect error");
2492
+ _core.assert.call(void 0, !result.isLoading, "Did not expect loading");
2493
+ return result;
2494
+ }
2495
+ function useCreateAiChat() {
2496
+ const client = useClient();
2497
+ return _react.useCallback.call(void 0,
2498
+ (options) => {
2499
+ client[_core.kInternal].ai.createChat(options.id).catch((err) => {
2500
+ console.error(
2501
+ `Failed to create chat with ID "${options.id}": ${String(err)}`
2502
+ );
2503
+ });
2504
+ },
2505
+ [client]
2506
+ );
2507
+ }
2508
+ function useDeleteAiChat() {
2509
+ const client = useClient();
2510
+ return _react.useCallback.call(void 0,
2511
+ (chatId) => {
2512
+ client[_core.kInternal].ai.deleteChat(chatId).catch((err) => {
2513
+ console.error(
2514
+ `Failed to delete chat with ID "${chatId}": ${String(err)}`
2515
+ );
2516
+ });
2517
+ },
2518
+ [client]
2519
+ );
2520
+ }
2378
2521
  function createSharedContext(client) {
2379
2522
  const useClient2 = () => client;
2380
2523
  function useSyncStatus2(options) {
@@ -2445,6 +2588,12 @@ function LiveblocksProvider(props) {
2445
2588
  )
2446
2589
  };
2447
2590
  const client = _react.useMemo.call(void 0, () => _core.createClient.call(void 0, options), []);
2591
+ _react.useEffect.call(void 0, () => {
2592
+ client[_core.kInternal].ai.connect();
2593
+ return () => {
2594
+ client[_core.kInternal].ai.disconnect();
2595
+ };
2596
+ }, [client]);
2448
2597
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LiveblocksProviderWithClient, { client, children });
2449
2598
  }
2450
2599
  function createLiveblocksContext(client) {
@@ -2545,6 +2694,10 @@ var _useUser = useUser;
2545
2694
  var _useUserSuspense = useUserSuspense;
2546
2695
  var _useUserThreads_experimental = useUserThreads_experimental;
2547
2696
  var _useUserThreadsSuspense_experimental = useUserThreadsSuspense_experimental;
2697
+ var _useAiChats = useAiChats;
2698
+ var _useAiChatsSuspense = useAiChatsSuspense;
2699
+ var _useAiChatMessages = useAiChatMessages;
2700
+ var _useAiChatMessagesSuspense = useAiChatMessagesSuspense;
2548
2701
  function useSyncStatus_withClient(client, options) {
2549
2702
  const smooth = useInitial(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _17 => _17.smooth]), () => ( false)));
2550
2703
  if (smooth) {
@@ -4460,5 +4613,11 @@ var _useUpdateMyPresence = useUpdateMyPresence;
4460
4613
 
4461
4614
 
4462
4615
 
4463
- exports.RoomContext = RoomContext; exports.useSyncExternalStoreWithSelector = useSyncExternalStoreWithSelector; exports.useSignal = useSignal; exports.ClientContext = ClientContext; exports.getUmbrellaStoreForClient = getUmbrellaStoreForClient; exports.useClientOrNull = useClientOrNull; exports.useClient = useClient; exports.LiveblocksProvider = LiveblocksProvider; exports.createLiveblocksContext = createLiveblocksContext; exports.useInboxNotifications = useInboxNotifications; exports.useInboxNotificationsSuspense = useInboxNotificationsSuspense; exports.useMarkAllInboxNotificationsAsRead = useMarkAllInboxNotificationsAsRead; exports.useMarkInboxNotificationAsRead = useMarkInboxNotificationAsRead; exports.useDeleteAllInboxNotifications = useDeleteAllInboxNotifications; exports.useDeleteInboxNotification = useDeleteInboxNotification; exports.useUnreadInboxNotificationsCount = useUnreadInboxNotificationsCount; exports.useUnreadInboxNotificationsCountSuspense = useUnreadInboxNotificationsCountSuspense; exports.useNotificationSettings = useNotificationSettings; exports.useNotificationSettingsSuspense = useNotificationSettingsSuspense; exports.useUpdateNotificationSettings = useUpdateNotificationSettings; exports.useRoomInfo = useRoomInfo; exports.useRoomInfoSuspense = useRoomInfoSuspense; exports._useInboxNotificationThread = _useInboxNotificationThread; exports._useUser = _useUser; exports._useUserSuspense = _useUserSuspense; exports._useUserThreads_experimental = _useUserThreads_experimental; exports._useUserThreadsSuspense_experimental = _useUserThreadsSuspense_experimental; exports.useSyncStatus = useSyncStatus; exports.useErrorListener = useErrorListener; exports.useStatus = useStatus; exports.useReportTextEditor = useReportTextEditor; exports.useYjsProvider = useYjsProvider; exports.useCreateTextMention = useCreateTextMention; exports.useDeleteTextMention = useDeleteTextMention; exports.useResolveMentionSuggestions = useResolveMentionSuggestions; exports.useMentionSuggestionsCache = useMentionSuggestionsCache; exports.useStorageStatus = useStorageStatus; exports.useBatch = useBatch; exports.useLostConnectionListener = useLostConnectionListener; exports.useHistory = useHistory; exports.useUndo = useUndo; exports.useRedo = useRedo; exports.useCanUndo = useCanUndo; exports.useCanRedo = useCanRedo; exports.useOthersConnectionIds = useOthersConnectionIds; exports.useCreateRoomThread = useCreateRoomThread; exports.useDeleteRoomThread = useDeleteRoomThread; exports.useEditRoomThreadMetadata = useEditRoomThreadMetadata; exports.useCreateComment = useCreateComment; exports.useCreateRoomComment = useCreateRoomComment; exports.useEditComment = useEditComment; exports.useEditRoomComment = useEditRoomComment; exports.useDeleteComment = useDeleteComment; exports.useDeleteRoomComment = useDeleteRoomComment; exports.useAddRoomCommentReaction = useAddRoomCommentReaction; exports.useRemoveReaction = useRemoveReaction; exports.useRemoveRoomCommentReaction = useRemoveRoomCommentReaction; exports.useMarkThreadAsRead = useMarkThreadAsRead; exports.useMarkRoomThreadAsRead = useMarkRoomThreadAsRead; exports.useMarkThreadAsResolved = useMarkThreadAsResolved; exports.useMarkRoomThreadAsResolved = useMarkRoomThreadAsResolved; exports.useMarkThreadAsUnresolved = useMarkThreadAsUnresolved; exports.useMarkRoomThreadAsUnresolved = useMarkRoomThreadAsUnresolved; exports.useSubscribeToThread = useSubscribeToThread; exports.useUnsubscribeFromThread = useUnsubscribeFromThread; exports.useThreadSubscription = useThreadSubscription; exports.useRoomThreadSubscription = useRoomThreadSubscription; exports.useHistoryVersionData = useHistoryVersionData; exports.useUpdateRoomNotificationSettings = useUpdateRoomNotificationSettings; exports.useUpdateRoomSubscriptionSettings = useUpdateRoomSubscriptionSettings; exports.useOthersConnectionIdsSuspense = useOthersConnectionIdsSuspense; exports.useStorageStatusSuspense = useStorageStatusSuspense; exports.useAttachmentUrl = useAttachmentUrl; exports.useRoomAttachmentUrl = useRoomAttachmentUrl; exports.useAttachmentUrlSuspense = useAttachmentUrlSuspense; exports.useRoomPermissions = useRoomPermissions; exports.createRoomContext = createRoomContext; exports._RoomProvider = _RoomProvider; exports._useBroadcastEvent = _useBroadcastEvent; exports._useOthersListener = _useOthersListener; exports._useRoom = _useRoom; exports._useIsInsideRoom = _useIsInsideRoom; exports._useAddReaction = _useAddReaction; exports._useMutation = _useMutation; exports._useCreateThread = _useCreateThread; exports._useDeleteThread = _useDeleteThread; exports._useEditThreadMetadata = _useEditThreadMetadata; exports._useEventListener = _useEventListener; exports._useMyPresence = _useMyPresence; exports._useOthersMapped = _useOthersMapped; exports._useOthersMappedSuspense = _useOthersMappedSuspense; exports._useThreads = _useThreads; exports._useThreadsSuspense = _useThreadsSuspense; exports._useRoomNotificationSettings = _useRoomNotificationSettings; exports._useRoomSubscriptionSettings = _useRoomSubscriptionSettings; exports._useRoomNotificationSettingsSuspense = _useRoomNotificationSettingsSuspense; exports._useRoomSubscriptionSettingsSuspense = _useRoomSubscriptionSettingsSuspense; exports._useHistoryVersions = _useHistoryVersions; exports._useHistoryVersionsSuspense = _useHistoryVersionsSuspense; exports._useOther = _useOther; exports._useOthers = _useOthers; exports._useOtherSuspense = _useOtherSuspense; exports._useOthersSuspense = _useOthersSuspense; exports._useStorage = _useStorage; exports._useStorageSuspense = _useStorageSuspense; exports._useSelf = _useSelf; exports._useSelfSuspense = _useSelfSuspense; exports._useStorageRoot = _useStorageRoot; exports._useUpdateMyPresence = _useUpdateMyPresence;
4464
- //# sourceMappingURL=chunk-32HQP5F6.cjs.map
4616
+
4617
+
4618
+
4619
+
4620
+
4621
+
4622
+ exports.RoomContext = RoomContext; exports.useSyncExternalStoreWithSelector = useSyncExternalStoreWithSelector; exports.useSignal = useSignal; exports.ClientContext = ClientContext; exports.getUmbrellaStoreForClient = getUmbrellaStoreForClient; exports.useCreateAiChat = useCreateAiChat; exports.useDeleteAiChat = useDeleteAiChat; exports.useClientOrNull = useClientOrNull; exports.useClient = useClient; exports.LiveblocksProvider = LiveblocksProvider; exports.createLiveblocksContext = createLiveblocksContext; exports.useInboxNotifications = useInboxNotifications; exports.useInboxNotificationsSuspense = useInboxNotificationsSuspense; exports.useMarkAllInboxNotificationsAsRead = useMarkAllInboxNotificationsAsRead; exports.useMarkInboxNotificationAsRead = useMarkInboxNotificationAsRead; exports.useDeleteAllInboxNotifications = useDeleteAllInboxNotifications; exports.useDeleteInboxNotification = useDeleteInboxNotification; exports.useUnreadInboxNotificationsCount = useUnreadInboxNotificationsCount; exports.useUnreadInboxNotificationsCountSuspense = useUnreadInboxNotificationsCountSuspense; exports.useNotificationSettings = useNotificationSettings; exports.useNotificationSettingsSuspense = useNotificationSettingsSuspense; exports.useUpdateNotificationSettings = useUpdateNotificationSettings; exports.useRoomInfo = useRoomInfo; exports.useRoomInfoSuspense = useRoomInfoSuspense; exports._useInboxNotificationThread = _useInboxNotificationThread; exports._useUser = _useUser; exports._useUserSuspense = _useUserSuspense; exports._useUserThreads_experimental = _useUserThreads_experimental; exports._useUserThreadsSuspense_experimental = _useUserThreadsSuspense_experimental; exports._useAiChats = _useAiChats; exports._useAiChatsSuspense = _useAiChatsSuspense; exports._useAiChatMessages = _useAiChatMessages; exports._useAiChatMessagesSuspense = _useAiChatMessagesSuspense; exports.useSyncStatus = useSyncStatus; exports.useErrorListener = useErrorListener; exports.useStatus = useStatus; exports.useReportTextEditor = useReportTextEditor; exports.useYjsProvider = useYjsProvider; exports.useCreateTextMention = useCreateTextMention; exports.useDeleteTextMention = useDeleteTextMention; exports.useResolveMentionSuggestions = useResolveMentionSuggestions; exports.useMentionSuggestionsCache = useMentionSuggestionsCache; exports.useStorageStatus = useStorageStatus; exports.useBatch = useBatch; exports.useLostConnectionListener = useLostConnectionListener; exports.useHistory = useHistory; exports.useUndo = useUndo; exports.useRedo = useRedo; exports.useCanUndo = useCanUndo; exports.useCanRedo = useCanRedo; exports.useOthersConnectionIds = useOthersConnectionIds; exports.useCreateRoomThread = useCreateRoomThread; exports.useDeleteRoomThread = useDeleteRoomThread; exports.useEditRoomThreadMetadata = useEditRoomThreadMetadata; exports.useCreateComment = useCreateComment; exports.useCreateRoomComment = useCreateRoomComment; exports.useEditComment = useEditComment; exports.useEditRoomComment = useEditRoomComment; exports.useDeleteComment = useDeleteComment; exports.useDeleteRoomComment = useDeleteRoomComment; exports.useAddRoomCommentReaction = useAddRoomCommentReaction; exports.useRemoveReaction = useRemoveReaction; exports.useRemoveRoomCommentReaction = useRemoveRoomCommentReaction; exports.useMarkThreadAsRead = useMarkThreadAsRead; exports.useMarkRoomThreadAsRead = useMarkRoomThreadAsRead; exports.useMarkThreadAsResolved = useMarkThreadAsResolved; exports.useMarkRoomThreadAsResolved = useMarkRoomThreadAsResolved; exports.useMarkThreadAsUnresolved = useMarkThreadAsUnresolved; exports.useMarkRoomThreadAsUnresolved = useMarkRoomThreadAsUnresolved; exports.useSubscribeToThread = useSubscribeToThread; exports.useUnsubscribeFromThread = useUnsubscribeFromThread; exports.useThreadSubscription = useThreadSubscription; exports.useRoomThreadSubscription = useRoomThreadSubscription; exports.useHistoryVersionData = useHistoryVersionData; exports.useUpdateRoomNotificationSettings = useUpdateRoomNotificationSettings; exports.useUpdateRoomSubscriptionSettings = useUpdateRoomSubscriptionSettings; exports.useOthersConnectionIdsSuspense = useOthersConnectionIdsSuspense; exports.useStorageStatusSuspense = useStorageStatusSuspense; exports.useAttachmentUrl = useAttachmentUrl; exports.useRoomAttachmentUrl = useRoomAttachmentUrl; exports.useAttachmentUrlSuspense = useAttachmentUrlSuspense; exports.useRoomPermissions = useRoomPermissions; exports.createRoomContext = createRoomContext; exports._RoomProvider = _RoomProvider; exports._useBroadcastEvent = _useBroadcastEvent; exports._useOthersListener = _useOthersListener; exports._useRoom = _useRoom; exports._useIsInsideRoom = _useIsInsideRoom; exports._useAddReaction = _useAddReaction; exports._useMutation = _useMutation; exports._useCreateThread = _useCreateThread; exports._useDeleteThread = _useDeleteThread; exports._useEditThreadMetadata = _useEditThreadMetadata; exports._useEventListener = _useEventListener; exports._useMyPresence = _useMyPresence; exports._useOthersMapped = _useOthersMapped; exports._useOthersMappedSuspense = _useOthersMappedSuspense; exports._useThreads = _useThreads; exports._useThreadsSuspense = _useThreadsSuspense; exports._useRoomNotificationSettings = _useRoomNotificationSettings; exports._useRoomSubscriptionSettings = _useRoomSubscriptionSettings; exports._useRoomNotificationSettingsSuspense = _useRoomNotificationSettingsSuspense; exports._useRoomSubscriptionSettingsSuspense = _useRoomSubscriptionSettingsSuspense; exports._useHistoryVersions = _useHistoryVersions; exports._useHistoryVersionsSuspense = _useHistoryVersionsSuspense; exports._useOther = _useOther; exports._useOthers = _useOthers; exports._useOtherSuspense = _useOtherSuspense; exports._useOthersSuspense = _useOthersSuspense; exports._useStorage = _useStorage; exports._useStorageSuspense = _useStorageSuspense; exports._useSelf = _useSelf; exports._useSelfSuspense = _useSelfSuspense; exports._useStorageRoot = _useStorageRoot; exports._useUpdateMyPresence = _useUpdateMyPresence;
4623
+ //# sourceMappingURL=chunk-ZGVKI7OM.cjs.map