UNPKG

@assistant-ui/react

Version:

TypeScript/React library for AI Chat

51 lines (50 loc) 1.45 kB
"use client"; // src/context/providers/TextMessagePartProvider.tsx import { AssistantProvider, useExtendedAssistantApi } from "../react/AssistantApiContext.js"; import { resource, tapMemo } from "@assistant-ui/tap"; import { useResource } from "@assistant-ui/tap/react"; import { asStore, tapApi } from "../../utils/tap-store/index.js"; import { DerivedScope } from "../../utils/tap-store/derived-scopes.js"; import { jsx } from "react/jsx-runtime"; var TextMessagePartClient = resource( ({ text, isRunning }) => { const state = tapMemo( () => ({ type: "text", text, status: isRunning ? { type: "running" } : { type: "complete" } }), [text, isRunning] ); return tapApi({ getState: () => state, addToolResult: () => { throw new Error("Not supported"); }, resumeToolCall: () => { throw new Error("Not supported"); } }); } ); var TextMessagePartProvider = ({ text, isRunning = false, children }) => { const store = useResource( asStore(TextMessagePartClient({ text, isRunning })) ); const api = useExtendedAssistantApi({ part: DerivedScope({ source: "root", query: {}, get: () => store.getState().api }), subscribe: store.subscribe }); return /* @__PURE__ */ jsx(AssistantProvider, { api, children }); }; export { TextMessagePartProvider }; //# sourceMappingURL=TextMessagePartProvider.js.map