UNPKG

@assistant-ui/react

Version:

Typescript/React library for AI Chat

23 lines (22 loc) 894 B
"use client"; // src/runtimes/external-store/useExternalStoreRuntime.tsx import { useEffect, useMemo, useState } from "react"; import { ExternalStoreRuntimeCore } from "./ExternalStoreRuntimeCore.mjs"; import { AssistantRuntimeImpl } from "../../api/AssistantRuntime.mjs"; import { useRuntimeAdapters } from "../adapters/RuntimeAdapterProvider.mjs"; var useExternalStoreRuntime = (store) => { const [runtime] = useState(() => new ExternalStoreRuntimeCore(store)); useEffect(() => { runtime.setAdapter(store); }); const { modelContext } = useRuntimeAdapters() ?? {}; useEffect(() => { if (!modelContext) return void 0; return runtime.registerModelContextProvider(modelContext); }, [modelContext, runtime]); return useMemo(() => new AssistantRuntimeImpl(runtime), [runtime]); }; export { useExternalStoreRuntime }; //# sourceMappingURL=useExternalStoreRuntime.mjs.map