@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.
- package/dist/_private.cjs +5 -5
- package/dist/_private.d.cts +1 -1
- package/dist/_private.d.ts +1 -1
- package/dist/_private.js +1 -1
- package/dist/{chunk-N6OQQVYV.js → chunk-E6PCFJWE.js} +169 -10
- package/dist/chunk-E6PCFJWE.js.map +1 -0
- package/dist/{chunk-RPHUEUUE.js → chunk-EDEUY3EM.js} +2 -2
- package/dist/{chunk-2C72TPGI.cjs → chunk-GSA4MPRG.cjs} +2 -2
- package/dist/chunk-GSA4MPRG.cjs.map +1 -0
- package/dist/{chunk-32HQP5F6.cjs → chunk-ZGVKI7OM.cjs} +163 -4
- package/dist/chunk-ZGVKI7OM.cjs.map +1 -0
- package/dist/index.cjs +12 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +10 -2
- package/dist/index.js.map +1 -1
- package/dist/{room-CqT08uWZ.d.cts → room-DmsjrDvP.d.cts} +86 -2
- package/dist/{room-CqT08uWZ.d.ts → room-DmsjrDvP.d.ts} +86 -2
- package/dist/suspense.cjs +12 -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 +10 -2
- package/dist/suspense.js.map +1 -1
- package/package.json +3 -3
- package/dist/chunk-2C72TPGI.cjs.map +0 -1
- package/dist/chunk-32HQP5F6.cjs.map +0 -1
- package/dist/chunk-N6OQQVYV.js.map +0 -1
- /package/dist/{chunk-RPHUEUUE.js.map → chunk-EDEUY3EM.js.map} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// src/version.ts
|
|
2
2
|
var PKG_NAME = "@liveblocks/react";
|
|
3
|
-
var PKG_VERSION = "2.
|
|
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-
|
|
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.
|
|
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-
|
|
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
|
-
|
|
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
|
-
|
|
4464
|
-
|
|
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
|