UNPKG

@assistant-ui/react

Version:

TypeScript/React library for AI Chat

33 lines (32 loc) 1.17 kB
"use client"; // src/legacy-runtime/hooks/ThreadContext.ts import { useState } from "react"; import { createStateHookForRuntime } from "../../context/react/utils/createStateHookForRuntime.js"; import { useAssistantApi, useAssistantEvent } from "../../context/react/index.js"; function useThreadRuntime(options) { const api = useAssistantApi(); const runtime = api.thread.source ? api.thread().__internal_getRuntime() : null; if (!runtime && !options?.optional) { throw new Error("ThreadRuntime is not available"); } return runtime; } var useThread = createStateHookForRuntime(useThreadRuntime); var useThreadComposerRuntime = (opt) => useThreadRuntime(opt)?.composer ?? null; var useThreadComposer = createStateHookForRuntime( useThreadComposerRuntime ); function useThreadModelContext(options) { const [, rerender] = useState({}); const runtime = useThreadRuntime(options); useAssistantEvent("thread.model-context-update", () => rerender({})); if (!runtime) return null; return runtime?.getModelContext(); } export { useThread, useThreadComposer, useThreadModelContext, useThreadRuntime }; //# sourceMappingURL=ThreadContext.js.map