UNPKG

@assistant-ui/react

Version:

React components for AI chat.

34 lines (33 loc) 1.23 kB
"use client"; // src/ui/thread-config.tsx import { createContext, useContext } from "react"; import { AssistantRuntimeProvider } from "../context/index.mjs"; import { useAssistantRuntime } from "../context/react/AssistantContext.mjs"; import { Fragment, jsx } from "react/jsx-runtime"; var ThreadConfigContext = createContext({}); var useThreadConfig = () => { return useContext(ThreadConfigContext); }; var ThreadConfigProvider = ({ children, config }) => { const hasAssistant = !!useAssistantRuntime({ optional: true }); const configProvider = config && Object.keys(config ?? {}).length > 0 ? /* @__PURE__ */ jsx(ThreadConfigContext.Provider, { value: config, children }) : /* @__PURE__ */ jsx(Fragment, { children }); if (!config?.runtime) return configProvider; if (hasAssistant) { throw new Error( "You provided a runtime to <Thread> while simulataneously using <AssistantRuntimeProvider>. This is not allowed." ); } return /* @__PURE__ */ jsx(AssistantRuntimeProvider, { runtime: config.runtime, children: configProvider }); }; ThreadConfigProvider.displayName = "ThreadConfigProvider"; export { ThreadConfigProvider, useThreadConfig }; //# sourceMappingURL=thread-config.mjs.map