@liveblocks/react 2.25.0-aiprivatebeta8 → 2.25.0-aiprivatebeta9

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 CHANGED
@@ -24,7 +24,7 @@
24
24
 
25
25
 
26
26
 
27
- var _chunkG2EOFP6Scjs = require('./chunk-G2EOFP6S.cjs');
27
+ var _chunkRB4LUCGLcjs = require('./chunk-RB4LUCGL.cjs');
28
28
 
29
29
  // src/lib/use-layout-effect.ts
30
30
  var _react = require('react');
@@ -37,8 +37,8 @@ var MENTION_SUGGESTIONS_DEBOUNCE = 500;
37
37
  function useMentionSuggestions(roomId, search) {
38
38
  const [mentionSuggestions, setMentionSuggestions] = _react.useState.call(void 0, );
39
39
  const lastInvokedAt = _react.useRef.call(void 0, );
40
- const resolveMentionSuggestions = _chunkG2EOFP6Scjs.useResolveMentionSuggestions.call(void 0, );
41
- const mentionSuggestionsCache = _chunkG2EOFP6Scjs.useMentionSuggestionsCache.call(void 0, );
40
+ const resolveMentionSuggestions = _chunkRB4LUCGLcjs.useResolveMentionSuggestions.call(void 0, );
41
+ const mentionSuggestionsCache = _chunkRB4LUCGLcjs.useMentionSuggestionsCache.call(void 0, );
42
42
  _react.useEffect.call(void 0, () => {
43
43
  if (search === void 0 || !resolveMentionSuggestions) {
44
44
  return;
@@ -89,7 +89,7 @@ function useMentionSuggestions(roomId, search) {
89
89
 
90
90
 
91
91
  function useSyncSource() {
92
- const client = _chunkG2EOFP6Scjs.useClient.call(void 0, );
92
+ const client = _chunkRB4LUCGLcjs.useClient.call(void 0, );
93
93
  const createSyncSource = client[_core.kInternal].createSyncSource;
94
94
  const [syncSource, setSyncSource] = _react.useState.call(void 0, );
95
95
  _react.useEffect.call(void 0, () => {
@@ -127,5 +127,5 @@ function useSyncSource() {
127
127
 
128
128
 
129
129
 
130
- exports.getUmbrellaStoreForClient = _chunkG2EOFP6Scjs.getUmbrellaStoreForClient; exports.useAddRoomCommentReaction = _chunkG2EOFP6Scjs.useAddRoomCommentReaction; exports.useClientOrNull = _chunkG2EOFP6Scjs.useClientOrNull; exports.useCreateRoomComment = _chunkG2EOFP6Scjs.useCreateRoomComment; exports.useCreateRoomThread = _chunkG2EOFP6Scjs.useCreateRoomThread; exports.useCreateTextMention = _chunkG2EOFP6Scjs.useCreateTextMention; exports.useDeleteRoomComment = _chunkG2EOFP6Scjs.useDeleteRoomComment; exports.useDeleteRoomThread = _chunkG2EOFP6Scjs.useDeleteRoomThread; exports.useDeleteTextMention = _chunkG2EOFP6Scjs.useDeleteTextMention; exports.useEditRoomComment = _chunkG2EOFP6Scjs.useEditRoomComment; exports.useEditRoomThreadMetadata = _chunkG2EOFP6Scjs.useEditRoomThreadMetadata; exports.useLayoutEffect = useLayoutEffect; exports.useMarkRoomThreadAsRead = _chunkG2EOFP6Scjs.useMarkRoomThreadAsRead; exports.useMarkRoomThreadAsResolved = _chunkG2EOFP6Scjs.useMarkRoomThreadAsResolved; exports.useMarkRoomThreadAsUnresolved = _chunkG2EOFP6Scjs.useMarkRoomThreadAsUnresolved; exports.useMentionSuggestions = useMentionSuggestions; exports.useMentionSuggestionsCache = _chunkG2EOFP6Scjs.useMentionSuggestionsCache; exports.useRemoveRoomCommentReaction = _chunkG2EOFP6Scjs.useRemoveRoomCommentReaction; exports.useReportTextEditor = _chunkG2EOFP6Scjs.useReportTextEditor; exports.useResolveMentionSuggestions = _chunkG2EOFP6Scjs.useResolveMentionSuggestions; exports.useRoomAttachmentUrl = _chunkG2EOFP6Scjs.useRoomAttachmentUrl; exports.useRoomPermissions = _chunkG2EOFP6Scjs.useRoomPermissions; exports.useRoomThreadSubscription = _chunkG2EOFP6Scjs.useRoomThreadSubscription; exports.useSignal = _chunkG2EOFP6Scjs.useSignal; exports.useSyncExternalStoreWithSelector = _chunkG2EOFP6Scjs.useSyncExternalStoreWithSelector; exports.useSyncSource = useSyncSource; exports.useYjsProvider = _chunkG2EOFP6Scjs.useYjsProvider;
130
+ exports.getUmbrellaStoreForClient = _chunkRB4LUCGLcjs.getUmbrellaStoreForClient; exports.useAddRoomCommentReaction = _chunkRB4LUCGLcjs.useAddRoomCommentReaction; exports.useClientOrNull = _chunkRB4LUCGLcjs.useClientOrNull; exports.useCreateRoomComment = _chunkRB4LUCGLcjs.useCreateRoomComment; exports.useCreateRoomThread = _chunkRB4LUCGLcjs.useCreateRoomThread; exports.useCreateTextMention = _chunkRB4LUCGLcjs.useCreateTextMention; exports.useDeleteRoomComment = _chunkRB4LUCGLcjs.useDeleteRoomComment; exports.useDeleteRoomThread = _chunkRB4LUCGLcjs.useDeleteRoomThread; exports.useDeleteTextMention = _chunkRB4LUCGLcjs.useDeleteTextMention; exports.useEditRoomComment = _chunkRB4LUCGLcjs.useEditRoomComment; exports.useEditRoomThreadMetadata = _chunkRB4LUCGLcjs.useEditRoomThreadMetadata; exports.useLayoutEffect = useLayoutEffect; exports.useMarkRoomThreadAsRead = _chunkRB4LUCGLcjs.useMarkRoomThreadAsRead; exports.useMarkRoomThreadAsResolved = _chunkRB4LUCGLcjs.useMarkRoomThreadAsResolved; exports.useMarkRoomThreadAsUnresolved = _chunkRB4LUCGLcjs.useMarkRoomThreadAsUnresolved; exports.useMentionSuggestions = useMentionSuggestions; exports.useMentionSuggestionsCache = _chunkRB4LUCGLcjs.useMentionSuggestionsCache; exports.useRemoveRoomCommentReaction = _chunkRB4LUCGLcjs.useRemoveRoomCommentReaction; exports.useReportTextEditor = _chunkRB4LUCGLcjs.useReportTextEditor; exports.useResolveMentionSuggestions = _chunkRB4LUCGLcjs.useResolveMentionSuggestions; exports.useRoomAttachmentUrl = _chunkRB4LUCGLcjs.useRoomAttachmentUrl; exports.useRoomPermissions = _chunkRB4LUCGLcjs.useRoomPermissions; exports.useRoomThreadSubscription = _chunkRB4LUCGLcjs.useRoomThreadSubscription; exports.useSignal = _chunkRB4LUCGLcjs.useSignal; exports.useSyncExternalStoreWithSelector = _chunkRB4LUCGLcjs.useSyncExternalStoreWithSelector; exports.useSyncSource = useSyncSource; exports.useYjsProvider = _chunkRB4LUCGLcjs.useYjsProvider;
131
131
  //# sourceMappingURL=_private.cjs.map
package/dist/_private.js CHANGED
@@ -24,7 +24,7 @@ import {
24
24
  useSignal,
25
25
  useSyncExternalStoreWithSelector,
26
26
  useYjsProvider
27
- } from "./chunk-MT7DJTSL.js";
27
+ } from "./chunk-TMKZ6U2Y.js";
28
28
 
29
29
  // src/lib/use-layout-effect.ts
30
30
  import { useEffect, useLayoutEffect as useOriginalLayoutEffect } from "react";
@@ -1,10 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
2
2
 
3
- var _chunkG2EOFP6Scjs = require('./chunk-G2EOFP6S.cjs');
3
+ var _chunkRB4LUCGLcjs = require('./chunk-RB4LUCGL.cjs');
4
4
 
5
5
  // src/version.ts
6
6
  var PKG_NAME = "@liveblocks/react";
7
- var PKG_VERSION = "2.25.0-aiprivatebeta8";
7
+ var PKG_VERSION = "2.25.0-aiprivatebeta9";
8
8
  var PKG_FORMAT = "cjs";
9
9
 
10
10
  // src/ClientSideSuspense.tsx
@@ -22,7 +22,7 @@ function ClientSideSuspense(props) {
22
22
  var _core = require('@liveblocks/core');
23
23
 
24
24
  function useAi() {
25
- return _chunkG2EOFP6Scjs.useClient.call(void 0, )[_core.kInternal].ai;
25
+ return _chunkRB4LUCGLcjs.useClient.call(void 0, )[_core.kInternal].ai;
26
26
  }
27
27
  function useRandom() {
28
28
  return _react.useState.call(void 0, _core.nanoid)[0];
@@ -57,4 +57,4 @@ var RegisterAiKnowledge = _react.memo.call(void 0, function RegisterAiKnowledge2
57
57
 
58
58
 
59
59
  exports.PKG_NAME = PKG_NAME; exports.PKG_VERSION = PKG_VERSION; exports.PKG_FORMAT = PKG_FORMAT; exports.ClientSideSuspense = ClientSideSuspense; exports.RegisterAiKnowledge = RegisterAiKnowledge;
60
- //# sourceMappingURL=chunk-CP5NPU7C.cjs.map
60
+ //# sourceMappingURL=chunk-M6D2NTTI.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/liveblocks/liveblocks/packages/liveblocks-react/dist/chunk-CP5NPU7C.cjs","../src/version.ts","../src/ClientSideSuspense.tsx","../src/ai.tsx"],"names":["useState","RegisterAiKnowledge","useEffect","layerKey"],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACA;ACDO,IAAM,SAAA,EAAW,mBAAA;AACjB,IAAM,YAAA,EAAiD,uBAAA;AACvD,IAAM,WAAA,EAAgD,KAAA;ADG7D;AACA;AERA,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;AFxBA;AACA;AGnBA,wCAAkC;AAClC;AAIA,SAAS,KAAA,CAAA,EAAQ;AACf,EAAA,OAAO,yCAAA,CAAU,CAAE,eAAS,CAAA,CAAE,EAAA;AAChC;AAEA,SAAS,SAAA,CAAA,EAAY;AACnB,EAAA,OAAOA,6BAAAA,YAAe,CAAA,CAAE,CAAC,CAAA;AAC3B;AAoBO,IAAM,oBAAA,EAAsB,yBAAA,SAAcC,oBAAAA,CAC/C,KAAA,EAQA;AACA,EAAA,MAAM,QAAA,EAAU,0BAAA,CAAM;AACtB,EAAA,MAAM,GAAA,EAAK,KAAA,CAAM,CAAA;AACjB,EAAA,MAAM,EAAE,WAAA,EAAa,MAAM,EAAA,EAAI,KAAA;AAE/B,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,EAAA,EAAID,6BAAAA,CAE9B;AAGF,EAAAE,8BAAAA,CAAU,EAAA,GAAM;AACd,IAAA,MAAMC,UAAAA,EAAW,EAAA,CAAG,sBAAA,CAAuB,OAAO,CAAA;AAClD,IAAA,WAAA,CAAYA,SAAQ,CAAA;AACpB,IAAA,OAAO,CAAA,EAAA,GAAM;AACX,MAAA,EAAA,CAAG,wBAAA,CAAyBA,SAAQ,CAAA;AACpC,MAAA,WAAA,CAAY,KAAA,CAAS,CAAA;AAAA,IACvB,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,EAAA,EAAI,OAAO,CAAC,CAAA;AAGhB,EAAA,MAAM,UAAA,EAAY,SAAA,CAAU,CAAA;AAC5B,EAAA,MAAM,aAAA,mBAAe,KAAA,CAAM,EAAA,UAAM,WAAA;AACjC,EAAAD,8BAAAA,CAAU,EAAA,GAAM;AACd,IAAA,GAAA,CAAI,SAAA,IAAa,KAAA,CAAA,EAAW;AAC1B,MAAA,EAAA,CAAG,eAAA,CAAgB,QAAA,EAAU,EAAE,WAAA,EAAa,MAAM,CAAA,EAAG,YAAY,CAAA;AAAA,IACnE;AAAA,EACF,CAAA,EAAG,CAAC,EAAA,EAAI,QAAA,EAAU,YAAA,EAAc,WAAA,EAAa,KAAK,CAAC,CAAA;AAEnD,EAAA,OAAO,IAAA;AACT,CAAC,CAAA;AHnBD;AACA;AACE;AACA;AACA;AACA;AACA;AACF,oMAAC","file":"/home/runner/work/liveblocks/liveblocks/packages/liveblocks-react/dist/chunk-CP5NPU7C.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","import type { AiKnowledgeSource } from \"@liveblocks/core\";\nimport { kInternal, nanoid } from \"@liveblocks/core\";\nimport { memo, useEffect, useId, useState } from \"react\";\n\nimport { useClient } from \"./liveblocks\";\n\nfunction useAi() {\n return useClient()[kInternal].ai;\n}\n\nfunction useRandom() {\n return useState(nanoid)[0];\n}\n\n/**\n * Make knowledge about your application state available to any AI used in\n * a chat or a one-off request.\n *\n * For example:\n *\n * <RegisterAiKnowledge\n * description=\"The current mode of my application\"\n * value=\"dark\" />\n *\n * <RegisterAiKnowledge\n * description=\"The current list of todos\"\n * value={todos} />\n *\n * By mounting this component, the AI will get access to this knwoledge.\n * By unmounting this component, the AI will no longer have access to it.\n * It can choose to use or ignore this knowledge in its responses.\n */\nexport const RegisterAiKnowledge = memo(function RegisterAiKnowledge(\n props: AiKnowledgeSource & {\n /**\n * An optional unique key for this knowledge source. If multiple components\n * register knowledge under the same key, the last one to mount takes\n * precedence.\n */\n id?: string;\n }\n) {\n const layerId = useId();\n const ai = useAi();\n const { description, value } = props;\n\n const [layerKey, setLayerKey] = useState<\n ReturnType<typeof ai.registerKnowledgeLayer> | undefined\n >();\n\n // Executes at mount / unmount\n useEffect(() => {\n const layerKey = ai.registerKnowledgeLayer(layerId);\n setLayerKey(layerKey);\n return () => {\n ai.deregisterKnowledgeLayer(layerKey);\n setLayerKey(undefined);\n };\n }, [ai, layerId]);\n\n // Executes every render (if the props have changed)\n const randomKey = useRandom();\n const knowledgeKey = props.id ?? randomKey;\n useEffect(() => {\n if (layerKey !== undefined) {\n ai.updateKnowledge(layerKey, { description, value }, knowledgeKey);\n }\n }, [ai, layerKey, knowledgeKey, description, value]);\n\n return null;\n});\n"]}
1
+ {"version":3,"sources":["/home/runner/work/liveblocks/liveblocks/packages/liveblocks-react/dist/chunk-M6D2NTTI.cjs","../src/version.ts","../src/ClientSideSuspense.tsx","../src/ai.tsx"],"names":["useState","RegisterAiKnowledge","useEffect","layerKey"],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACA;ACDO,IAAM,SAAA,EAAW,mBAAA;AACjB,IAAM,YAAA,EAAiD,uBAAA;AACvD,IAAM,WAAA,EAAgD,KAAA;ADG7D;AACA;AERA,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;AFxBA;AACA;AGnBA,wCAAkC;AAClC;AAIA,SAAS,KAAA,CAAA,EAAQ;AACf,EAAA,OAAO,yCAAA,CAAU,CAAE,eAAS,CAAA,CAAE,EAAA;AAChC;AAEA,SAAS,SAAA,CAAA,EAAY;AACnB,EAAA,OAAOA,6BAAAA,YAAe,CAAA,CAAE,CAAC,CAAA;AAC3B;AAoBO,IAAM,oBAAA,EAAsB,yBAAA,SAAcC,oBAAAA,CAC/C,KAAA,EAQA;AACA,EAAA,MAAM,QAAA,EAAU,0BAAA,CAAM;AACtB,EAAA,MAAM,GAAA,EAAK,KAAA,CAAM,CAAA;AACjB,EAAA,MAAM,EAAE,WAAA,EAAa,MAAM,EAAA,EAAI,KAAA;AAE/B,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,EAAA,EAAID,6BAAAA,CAE9B;AAGF,EAAAE,8BAAAA,CAAU,EAAA,GAAM;AACd,IAAA,MAAMC,UAAAA,EAAW,EAAA,CAAG,sBAAA,CAAuB,OAAO,CAAA;AAClD,IAAA,WAAA,CAAYA,SAAQ,CAAA;AACpB,IAAA,OAAO,CAAA,EAAA,GAAM;AACX,MAAA,EAAA,CAAG,wBAAA,CAAyBA,SAAQ,CAAA;AACpC,MAAA,WAAA,CAAY,KAAA,CAAS,CAAA;AAAA,IACvB,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,EAAA,EAAI,OAAO,CAAC,CAAA;AAGhB,EAAA,MAAM,UAAA,EAAY,SAAA,CAAU,CAAA;AAC5B,EAAA,MAAM,aAAA,mBAAe,KAAA,CAAM,EAAA,UAAM,WAAA;AACjC,EAAAD,8BAAAA,CAAU,EAAA,GAAM;AACd,IAAA,GAAA,CAAI,SAAA,IAAa,KAAA,CAAA,EAAW;AAC1B,MAAA,EAAA,CAAG,eAAA,CAAgB,QAAA,EAAU,EAAE,WAAA,EAAa,MAAM,CAAA,EAAG,YAAY,CAAA;AAAA,IACnE;AAAA,EACF,CAAA,EAAG,CAAC,EAAA,EAAI,QAAA,EAAU,YAAA,EAAc,WAAA,EAAa,KAAK,CAAC,CAAA;AAEnD,EAAA,OAAO,IAAA;AACT,CAAC,CAAA;AHnBD;AACA;AACE;AACA;AACA;AACA;AACA;AACF,oMAAC","file":"/home/runner/work/liveblocks/liveblocks/packages/liveblocks-react/dist/chunk-M6D2NTTI.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","import type { AiKnowledgeSource } from \"@liveblocks/core\";\nimport { kInternal, nanoid } from \"@liveblocks/core\";\nimport { memo, useEffect, useId, useState } from \"react\";\n\nimport { useClient } from \"./liveblocks\";\n\nfunction useAi() {\n return useClient()[kInternal].ai;\n}\n\nfunction useRandom() {\n return useState(nanoid)[0];\n}\n\n/**\n * Make knowledge about your application state available to any AI used in\n * a chat or a one-off request.\n *\n * For example:\n *\n * <RegisterAiKnowledge\n * description=\"The current mode of my application\"\n * value=\"dark\" />\n *\n * <RegisterAiKnowledge\n * description=\"The current list of todos\"\n * value={todos} />\n *\n * By mounting this component, the AI will get access to this knwoledge.\n * By unmounting this component, the AI will no longer have access to it.\n * It can choose to use or ignore this knowledge in its responses.\n */\nexport const RegisterAiKnowledge = memo(function RegisterAiKnowledge(\n props: AiKnowledgeSource & {\n /**\n * An optional unique key for this knowledge source. If multiple components\n * register knowledge under the same key, the last one to mount takes\n * precedence.\n */\n id?: string;\n }\n) {\n const layerId = useId();\n const ai = useAi();\n const { description, value } = props;\n\n const [layerKey, setLayerKey] = useState<\n ReturnType<typeof ai.registerKnowledgeLayer> | undefined\n >();\n\n // Executes at mount / unmount\n useEffect(() => {\n const layerKey = ai.registerKnowledgeLayer(layerId);\n setLayerKey(layerKey);\n return () => {\n ai.deregisterKnowledgeLayer(layerKey);\n setLayerKey(undefined);\n };\n }, [ai, layerId]);\n\n // Executes every render (if the props have changed)\n const randomKey = useRandom();\n const knowledgeKey = props.id ?? randomKey;\n useEffect(() => {\n if (layerKey !== undefined) {\n ai.updateKnowledge(layerKey, { description, value }, knowledgeKey);\n }\n }, [ai, layerKey, knowledgeKey, description, value]);\n\n return null;\n});\n"]}
@@ -1162,7 +1162,7 @@ var UmbrellaStore = class {
1162
1162
  await this.#client[_core.kInternal].ai.getOrCreateChat(chatId);
1163
1163
  });
1164
1164
  const signal = _core.DerivedSignal.from(() => {
1165
- const chat = this.#client[_core.kInternal].ai.signals.getChatById(chatId);
1165
+ const chat = this.#client[_core.kInternal].ai.getChatById(chatId);
1166
1166
  if (chat === void 0) {
1167
1167
  const result = resource.get();
1168
1168
  if (result.isLoading || result.error) {
@@ -1170,13 +1170,13 @@ var UmbrellaStore = class {
1170
1170
  } else {
1171
1171
  return ASYNC_OK(
1172
1172
  "chat",
1173
- _core.nn.call(void 0, this.#client[_core.kInternal].ai.signals.getChatById(chatId))
1173
+ _core.nn.call(void 0, this.#client[_core.kInternal].ai.getChatById(chatId))
1174
1174
  );
1175
1175
  }
1176
1176
  } else {
1177
1177
  return ASYNC_OK(
1178
1178
  "chat",
1179
- _core.nn.call(void 0, this.#client[_core.kInternal].ai.signals.getChatById(chatId))
1179
+ _core.nn.call(void 0, this.#client[_core.kInternal].ai.getChatById(chatId))
1180
1180
  );
1181
1181
  }
1182
1182
  }, _core.shallow);
@@ -4677,4 +4677,4 @@ var _useUpdateMyPresence = useUpdateMyPresence;
4677
4677
 
4678
4678
 
4679
4679
  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._useAiChatSuspense = _useAiChatSuspense; 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;
4680
- //# sourceMappingURL=chunk-G2EOFP6S.cjs.map
4680
+ //# sourceMappingURL=chunk-RB4LUCGL.cjs.map