@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>
136 lines (135 loc) • 5.12 kB
JavaScript
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/components/chat/messages/RenderActionExecutionMessage.tsx
var RenderActionExecutionMessage_exports = {};
__export(RenderActionExecutionMessage_exports, {
RenderActionExecutionMessage: () => RenderActionExecutionMessage
});
module.exports = __toCommonJS(RenderActionExecutionMessage_exports);
var import_runtime_client_gql = require("@copilotkit/runtime-client-gql");
var import_react_core = require("@copilotkit/react-core");
var import_jsx_runtime = require("react/jsx-runtime");
function RenderActionExecutionMessage(props) {
const { chatComponentsCache } = (0, import_react_core.useCopilotContext)();
const { message, inProgress, index, isCurrentMessage, actionResult, AssistantMessage } = 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__ */ (0, import_jsx_runtime.jsx)(
AssistantMessage,
{
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 !== import_runtime_client_gql.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__ */ (0, import_jsx_runtime.jsx)(
AssistantMessage,
{
rawData: message,
"data-message-role": "assistant",
isLoading: false,
isGenerating: false,
message: toRender
},
index
);
} else {
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
AssistantMessage,
{
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__ */ (0, import_jsx_runtime.jsx)(
AssistantMessage,
{
rawData: message,
"data-message-role": "assistant",
isLoading: false,
isGenerating: false,
subComponent: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "copilotKitMessage copilotKitAssistantMessage", children: [
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("b", { children: [
"\u274C Error executing render function for action ",
message.name,
":"
] }),
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("pre", { children: e instanceof Error ? e.message : String(e) })
] })
},
index
);
}
}
} else if (!inProgress || !isCurrentMessage) {
return null;
} else {
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
AssistantMessage,
{
rawData: message,
"data-message-role": "assistant",
isLoading: true,
isGenerating: true
},
index
);
}
}
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
RenderActionExecutionMessage
});
//# sourceMappingURL=RenderActionExecutionMessage.js.map
;