@copilotkit/react-ui
Version:
<img src="https://github.com/user-attachments/assets/0a6b64d9-e193-4940-a3f6-60334ac34084" alt="banner" style="border-radius: 12px; border: 2px solid #d6d4fa;" />
112 lines (110 loc) • 3.16 kB
JavaScript
import {
AssistantMessage
} from "./chunk-L3GZ7TXC.mjs";
import {
__objRest
} from "./chunk-MRXNTQOX.mjs";
// src/components/chat/messages/RenderAgentStateMessage.tsx
import { useCopilotContext } from "@copilotkit/react-core";
import { jsx } from "react/jsx-runtime";
function RenderAgentStateMessage(_a) {
var _b = _a, {
AssistantMessage: AssistantMessage2 = AssistantMessage
} = _b, props = __objRest(_b, [
"AssistantMessage"
]);
const { chatComponentsCache } = useCopilotContext();
const { message, inProgress, index, isCurrentMessage } = props;
if (message.isAgentStateMessage()) {
let render;
if (chatComponentsCache.current !== null) {
render = chatComponentsCache.current.coAgentStateRenders[`${message.agentName}-${message.nodeName}`] || chatComponentsCache.current.coAgentStateRenders[`${message.agentName}-global`];
}
if (render) {
if (typeof render === "string") {
if (isCurrentMessage && inProgress) {
return /* @__PURE__ */ jsx(
AssistantMessage2,
{
rawData: message,
message: render,
"data-message-role": "assistant",
isLoading: true,
isGenerating: true
},
index
);
} else {
return null;
}
} else {
const state = message.state;
let status = message.active ? "inProgress" : "complete";
const toRender = render({
status,
state,
nodeName: message.nodeName
});
if (!toRender && status === "complete") {
return null;
}
if (!toRender && isCurrentMessage && inProgress) {
return /* @__PURE__ */ jsx(
AssistantMessage2,
{
"data-message-role": "assistant",
rawData: message,
isLoading: true,
isGenerating: true
},
index
);
} else if (!toRender) {
return null;
}
if (typeof toRender === "string") {
return /* @__PURE__ */ jsx(
AssistantMessage2,
{
rawData: message,
message: toRender,
isLoading: true,
isGenerating: true,
"data-message-role": "assistant"
},
index
);
} else {
return /* @__PURE__ */ jsx(
AssistantMessage2,
{
rawData: message,
"data-message-role": "agent-state-render",
isLoading: false,
isGenerating: false,
subComponent: toRender
},
index
);
}
}
} else if (!inProgress || !isCurrentMessage) {
return null;
} else {
return /* @__PURE__ */ jsx(
AssistantMessage2,
{
rawData: message,
isLoading: true,
isGenerating: true,
"data-message-role": "assistant"
},
index
);
}
}
}
export {
RenderAgentStateMessage
};
//# sourceMappingURL=chunk-2II3Q27P.mjs.map