@assistant-ui/react
Version:
Typescript/React library for AI Chat
23 lines (22 loc) • 894 B
JavaScript
"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