UNPKG

@copilotkit/react-ui

Version:

<div align="center"> <a href="https://copilotkit.ai" target="_blank"> <img src="https://github.com/copilotkit/copilotkit/raw/main/assets/banner.png" alt="CopilotKit Logo"> </a>

124 lines (122 loc) 3.97 kB
import { AssistantMessage } from "./chunk-5M7ODWKH.mjs"; import { __objRest } from "./chunk-MRXNTQOX.mjs"; // src/components/chat/messages/RenderActionExecutionMessage.tsx import { MessageStatusCode } from "@copilotkit/runtime-client-gql"; import { useCopilotContext } from "@copilotkit/react-core"; import { jsx, jsxs } from "react/jsx-runtime"; function RenderActionExecutionMessage(_a) { var _b = _a, { AssistantMessage: AssistantMessage2 = AssistantMessage } = _b, props = __objRest(_b, [ "AssistantMessage" ]); const { chatComponentsCache } = useCopilotContext(); const { message, inProgress, index, isCurrentMessage, actionResult } = props; if (message.isActionExecutionMessage()) { if (chatComponentsCache.current !== null && (chatComponentsCache.current.actions[message.name] || chatComponentsCache.current.actions["*"])) { const render = chatComponentsCache.current.actions[message.name] || chatComponentsCache.current.actions["*"]; if (typeof render === "string") { if (isCurrentMessage && inProgress) { return /* @__PURE__ */ jsx( AssistantMessage2, { rawData: message, "data-message-role": "assistant", isLoading: false, isGenerating: true, message: render }, index ); } else { return null; } } else { const args = message.arguments; let status = "inProgress"; if (actionResult !== void 0) { status = "complete"; } else if (message.status.code !== MessageStatusCode.Pending) { status = "executing"; } try { const toRender = render({ status, args, result: actionResult, name: message.name }); if (!toRender && status === "complete") { return null; } if (typeof toRender === "string") { return /* @__PURE__ */ jsx( AssistantMessage2, { rawData: message, "data-message-role": "assistant", isLoading: false, isGenerating: false, message: toRender }, index ); } else { return /* @__PURE__ */ jsx( AssistantMessage2, { rawData: message, "data-message-role": "action-render", isLoading: false, isGenerating: false, subComponent: toRender }, index ); } } catch (e) { console.error(`Error executing render function for action ${message.name}: ${e}`); return /* @__PURE__ */ jsx( AssistantMessage2, { rawData: message, "data-message-role": "assistant", isLoading: false, isGenerating: false, subComponent: /* @__PURE__ */ jsxs("div", { className: "copilotKitMessage copilotKitAssistantMessage", children: [ /* @__PURE__ */ jsxs("b", { children: [ "\u274C Error executing render function for action ", message.name, ":" ] }), /* @__PURE__ */ jsx("pre", { children: e instanceof Error ? e.message : String(e) }) ] }) }, index ); } } } else if (!inProgress || !isCurrentMessage) { return null; } else { return /* @__PURE__ */ jsx( AssistantMessage2, { rawData: message, "data-message-role": "assistant", isLoading: true, isGenerating: true }, index ); } } } export { RenderActionExecutionMessage }; //# sourceMappingURL=chunk-NMNC4ROZ.mjs.map