@assistant-ui/react
Version:
Typescript/React library for AI Chat
21 lines • 823 B
JavaScript
"use client";
import { useEffect, useMemo, useState } from "react";
import { ExternalStoreRuntimeCore } from "./ExternalStoreRuntimeCore";
import { AssistantRuntimeImpl } from "../../api/AssistantRuntime";
import { useRuntimeAdapters } from "../adapters/RuntimeAdapterProvider";
const 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.js.map