UNPKG

@assistant-ui/react

Version:

TypeScript/React library for AI Chat

47 lines (46 loc) 1.43 kB
"use client"; // src/context/providers/MessageProvider.tsx import { useMemo } from "react"; import { AssistantProvider, useAssistantApi, createAssistantApiField } from "../react/AssistantApiContext.js"; import { checkEventScope, normalizeEventSelector } from "../../types/EventTypes.js"; import { jsx } from "react/jsx-runtime"; var MessageByIndexProvider = ({ index, children }) => { const api = useAssistantApi(); const api2 = useMemo(() => { const getMessage = () => api.thread().message({ index }); return { message: createAssistantApiField({ source: "thread", query: { type: "index", index }, get: () => getMessage() }), composer: createAssistantApiField({ source: "message", query: {}, get: () => getMessage().composer }), on(selector, callback) { const { event, scope } = normalizeEventSelector(selector); if (!checkEventScope("composer", scope, event) && !checkEventScope("message", scope, event)) return api.on(selector, callback); return api.on({ scope: "thread", event }, (e) => { if (e.messageId === getMessage().getState().id) { callback(e); } }); } }; }, [api, index]); return /* @__PURE__ */ jsx(AssistantProvider, { api: api2, children }); }; export { MessageByIndexProvider }; //# sourceMappingURL=MessageProvider.js.map