@copilotkit/react-ui 1.1.1-feat-runtime-remote-actions.2 → 1.1.1-feat-runtime-remote-actions.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/dist/{chunk-AAX6U6YB.mjs → chunk-4II7NDKP.mjs} +9 -9
- package/dist/{chunk-I4QG2ZZU.mjs → chunk-DAHXB2SW.mjs} +4 -4
- package/dist/{chunk-MEVD4R3Q.mjs → chunk-G3RCRTQZ.mjs} +2 -2
- package/dist/{chunk-4V6JWNFZ.mjs → chunk-JU7KYJD4.mjs} +10 -10
- package/dist/{chunk-3K4EOAP3.mjs → chunk-LKY2XFK5.mjs} +2 -2
- package/dist/{chunk-2C5JDPHV.mjs → chunk-PDU5NXDS.mjs} +54 -10
- package/dist/chunk-PDU5NXDS.mjs.map +1 -0
- package/dist/components/chat/Chat.js +55 -11
- package/dist/components/chat/Chat.js.map +1 -1
- package/dist/components/chat/Chat.mjs +9 -9
- package/dist/components/chat/Messages.js +53 -9
- package/dist/components/chat/Messages.js.map +1 -1
- package/dist/components/chat/Messages.mjs +2 -2
- package/dist/components/chat/Modal.js +55 -11
- package/dist/components/chat/Modal.js.map +1 -1
- package/dist/components/chat/Modal.mjs +11 -11
- package/dist/components/chat/Popup.js +55 -11
- package/dist/components/chat/Popup.js.map +1 -1
- package/dist/components/chat/Popup.mjs +12 -12
- package/dist/components/chat/Sidebar.js +55 -11
- package/dist/components/chat/Sidebar.js.map +1 -1
- package/dist/components/chat/Sidebar.mjs +12 -12
- package/dist/components/chat/index.js +55 -11
- package/dist/components/chat/index.js.map +1 -1
- package/dist/components/chat/index.mjs +15 -15
- package/dist/components/dev-console/console.mjs +2 -2
- package/dist/components/dev-console/index.mjs +2 -2
- package/dist/components/index.js +55 -11
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +15 -15
- package/dist/index.js +55 -11
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +15 -15
- package/package.json +7 -7
- package/src/components/chat/Messages.tsx +70 -8
- package/dist/chunk-2C5JDPHV.mjs.map +0 -1
- /package/dist/{chunk-AAX6U6YB.mjs.map → chunk-4II7NDKP.mjs.map} +0 -0
- /package/dist/{chunk-I4QG2ZZU.mjs.map → chunk-DAHXB2SW.mjs.map} +0 -0
- /package/dist/{chunk-MEVD4R3Q.mjs.map → chunk-G3RCRTQZ.mjs.map} +0 -0
- /package/dist/{chunk-4V6JWNFZ.mjs.map → chunk-JU7KYJD4.mjs.map} +0 -0
- /package/dist/{chunk-3K4EOAP3.mjs.map → chunk-LKY2XFK5.mjs.map} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# ui
|
|
2
2
|
|
|
3
|
+
## 1.1.1-feat-runtime-remote-actions.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Show agent state in the chat window
|
|
8
|
+
- Updated dependencies
|
|
9
|
+
- @copilotkit/runtime-client-gql@1.1.1-feat-runtime-remote-actions.4
|
|
10
|
+
- @copilotkit/react-core@1.1.1-feat-runtime-remote-actions.4
|
|
11
|
+
- @copilotkit/shared@1.1.1-feat-runtime-remote-actions.4
|
|
12
|
+
|
|
13
|
+
## 1.1.1-feat-runtime-remote-actions.3
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- stream intermediate state
|
|
18
|
+
- Updated dependencies
|
|
19
|
+
- @copilotkit/runtime-client-gql@1.1.1-feat-runtime-remote-actions.3
|
|
20
|
+
- @copilotkit/react-core@1.1.1-feat-runtime-remote-actions.3
|
|
21
|
+
- @copilotkit/shared@1.1.1-feat-runtime-remote-actions.3
|
|
22
|
+
|
|
3
23
|
## 1.1.1-feat-runtime-remote-actions.2
|
|
4
24
|
|
|
5
25
|
### Patch Changes
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Window
|
|
3
3
|
} from "./chunk-LLOSOTAT.mjs";
|
|
4
|
-
import {
|
|
5
|
-
Header
|
|
6
|
-
} from "./chunk-SE6DAYSX.mjs";
|
|
7
4
|
import {
|
|
8
5
|
Button
|
|
9
6
|
} from "./chunk-UC3Y7MWX.mjs";
|
|
10
7
|
import {
|
|
11
8
|
CopilotChat
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import {
|
|
14
|
-
Input
|
|
15
|
-
} from "./chunk-U6J5DGOE.mjs";
|
|
9
|
+
} from "./chunk-JU7KYJD4.mjs";
|
|
16
10
|
import {
|
|
17
11
|
Messages
|
|
18
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-PDU5NXDS.mjs";
|
|
19
13
|
import {
|
|
20
14
|
ResponseButton
|
|
21
15
|
} from "./chunk-XSUSSWDS.mjs";
|
|
16
|
+
import {
|
|
17
|
+
Header
|
|
18
|
+
} from "./chunk-SE6DAYSX.mjs";
|
|
19
|
+
import {
|
|
20
|
+
Input
|
|
21
|
+
} from "./chunk-U6J5DGOE.mjs";
|
|
22
22
|
import {
|
|
23
23
|
ChatContextProvider
|
|
24
24
|
} from "./chunk-BJPGMY3I.mjs";
|
|
@@ -90,4 +90,4 @@ var CopilotModal = ({
|
|
|
90
90
|
export {
|
|
91
91
|
CopilotModal
|
|
92
92
|
};
|
|
93
|
-
//# sourceMappingURL=chunk-
|
|
93
|
+
//# sourceMappingURL=chunk-4II7NDKP.mjs.map
|
|
@@ -5,6 +5,9 @@ import {
|
|
|
5
5
|
logReadables,
|
|
6
6
|
shouldShowDevConsole
|
|
7
7
|
} from "./chunk-H7TM5JE6.mjs";
|
|
8
|
+
import {
|
|
9
|
+
SmallSpinnerIcon
|
|
10
|
+
} from "./chunk-FZC7X5PK.mjs";
|
|
8
11
|
import {
|
|
9
12
|
CheckIcon,
|
|
10
13
|
ChevronDownIcon,
|
|
@@ -12,9 +15,6 @@ import {
|
|
|
12
15
|
ExclamationMarkIcon,
|
|
13
16
|
ExclamationMarkTriangleIcon
|
|
14
17
|
} from "./chunk-OTPAZXVR.mjs";
|
|
15
|
-
import {
|
|
16
|
-
SmallSpinnerIcon
|
|
17
|
-
} from "./chunk-FZC7X5PK.mjs";
|
|
18
18
|
|
|
19
19
|
// src/components/dev-console/console.tsx
|
|
20
20
|
import { useCopilotContext } from "@copilotkit/react-core";
|
|
@@ -217,4 +217,4 @@ export {
|
|
|
217
217
|
CopilotDevConsole,
|
|
218
218
|
DebugMenuButton
|
|
219
219
|
};
|
|
220
|
-
//# sourceMappingURL=chunk-
|
|
220
|
+
//# sourceMappingURL=chunk-DAHXB2SW.mjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CopilotModal
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-4II7NDKP.mjs";
|
|
4
4
|
import {
|
|
5
5
|
__spreadProps,
|
|
6
6
|
__spreadValues
|
|
@@ -27,4 +27,4 @@ function CopilotSidebar(props) {
|
|
|
27
27
|
export {
|
|
28
28
|
CopilotSidebar
|
|
29
29
|
};
|
|
30
|
-
//# sourceMappingURL=chunk-
|
|
30
|
+
//# sourceMappingURL=chunk-G3RCRTQZ.mjs.map
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Messages
|
|
3
|
+
} from "./chunk-PDU5NXDS.mjs";
|
|
4
|
+
import {
|
|
5
|
+
ResponseButton
|
|
6
|
+
} from "./chunk-XSUSSWDS.mjs";
|
|
1
7
|
import {
|
|
2
8
|
Suggestion,
|
|
3
9
|
reloadSuggestions
|
|
4
10
|
} from "./chunk-WCPLXRZX.mjs";
|
|
5
|
-
import {
|
|
6
|
-
CopilotDevConsole
|
|
7
|
-
} from "./chunk-I4QG2ZZU.mjs";
|
|
8
11
|
import {
|
|
9
12
|
Input
|
|
10
13
|
} from "./chunk-U6J5DGOE.mjs";
|
|
11
|
-
import {
|
|
12
|
-
Messages
|
|
13
|
-
} from "./chunk-2C5JDPHV.mjs";
|
|
14
|
-
import {
|
|
15
|
-
ResponseButton
|
|
16
|
-
} from "./chunk-XSUSSWDS.mjs";
|
|
17
14
|
import {
|
|
18
15
|
ChatContext,
|
|
19
16
|
ChatContextProvider
|
|
20
17
|
} from "./chunk-BJPGMY3I.mjs";
|
|
18
|
+
import {
|
|
19
|
+
CopilotDevConsole
|
|
20
|
+
} from "./chunk-DAHXB2SW.mjs";
|
|
21
21
|
import {
|
|
22
22
|
__async
|
|
23
23
|
} from "./chunk-MRXNTQOX.mjs";
|
|
@@ -164,4 +164,4 @@ export {
|
|
|
164
164
|
WrappedCopilotChat,
|
|
165
165
|
useCopilotChatLogic
|
|
166
166
|
};
|
|
167
|
-
//# sourceMappingURL=chunk-
|
|
167
|
+
//# sourceMappingURL=chunk-JU7KYJD4.mjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CopilotModal
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-4II7NDKP.mjs";
|
|
4
4
|
import {
|
|
5
5
|
__spreadProps,
|
|
6
6
|
__spreadValues
|
|
@@ -18,4 +18,4 @@ function CopilotPopup(props) {
|
|
|
18
18
|
export {
|
|
19
19
|
CopilotPopup
|
|
20
20
|
};
|
|
21
|
-
//# sourceMappingURL=chunk-
|
|
21
|
+
//# sourceMappingURL=chunk-LKY2XFK5.mjs.map
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
} from "@copilotkit/runtime-client-gql";
|
|
19
19
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
20
20
|
var Messages = ({ messages, inProgress, children }) => {
|
|
21
|
-
const { chatComponentsCache } = useCopilotContext();
|
|
21
|
+
const { chatComponentsCache, chatUI } = useCopilotContext();
|
|
22
22
|
const context = useChatContext();
|
|
23
23
|
const initialMessages = useMemo(
|
|
24
24
|
() => makeInitialMessages(context.labels.initial),
|
|
@@ -56,8 +56,8 @@ var Messages = ({ messages, inProgress, children }) => {
|
|
|
56
56
|
} else if (message instanceof TextMessage && message.role == "assistant") {
|
|
57
57
|
return /* @__PURE__ */ jsx("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: isCurrentMessage && inProgress && !message.content ? context.icons.spinnerIcon : /* @__PURE__ */ jsx(Markdown, { content: message.content }) }, index);
|
|
58
58
|
} else if (message instanceof ActionExecutionMessage) {
|
|
59
|
-
if (chatComponentsCache.current !== null && chatComponentsCache.current[message.name]) {
|
|
60
|
-
const render = chatComponentsCache.current[message.name];
|
|
59
|
+
if (chatComponentsCache.current !== null && chatComponentsCache.current.actions[message.name]) {
|
|
60
|
+
const render = chatComponentsCache.current.actions[message.name];
|
|
61
61
|
if (typeof render === "string") {
|
|
62
62
|
if (isCurrentMessage && inProgress) {
|
|
63
63
|
return /* @__PURE__ */ jsxs("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: [
|
|
@@ -70,18 +70,18 @@ var Messages = ({ messages, inProgress, children }) => {
|
|
|
70
70
|
}
|
|
71
71
|
} else {
|
|
72
72
|
const args = message.arguments;
|
|
73
|
-
let
|
|
73
|
+
let status2 = "inProgress";
|
|
74
74
|
if (functionResults[message.id] !== void 0) {
|
|
75
|
-
|
|
75
|
+
status2 = "complete";
|
|
76
76
|
} else if (message.status.code !== MessageStatusCode.Pending) {
|
|
77
|
-
|
|
77
|
+
status2 = "executing";
|
|
78
78
|
}
|
|
79
79
|
const toRender = render({
|
|
80
|
-
status,
|
|
80
|
+
status: status2,
|
|
81
81
|
args,
|
|
82
82
|
result: functionResults[message.id]
|
|
83
83
|
});
|
|
84
|
-
if (!toRender &&
|
|
84
|
+
if (!toRender && status2 === "complete") {
|
|
85
85
|
return null;
|
|
86
86
|
}
|
|
87
87
|
if (typeof toRender === "string") {
|
|
@@ -99,7 +99,51 @@ var Messages = ({ messages, inProgress, children }) => {
|
|
|
99
99
|
} else {
|
|
100
100
|
return /* @__PURE__ */ jsx("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: context.icons.spinnerIcon }, index);
|
|
101
101
|
}
|
|
102
|
-
} else if (
|
|
102
|
+
} else if (message instanceof AgentStateMessage) {
|
|
103
|
+
let currentChatUI = chatUI.find(
|
|
104
|
+
(ui) => ui.agentName === message.agentName && ui.nodeName === message.nodeName
|
|
105
|
+
);
|
|
106
|
+
if (!currentChatUI) {
|
|
107
|
+
currentChatUI = chatUI.find(
|
|
108
|
+
(ui) => ui.agentName === message.agentName && ui.nodeName === void 0
|
|
109
|
+
);
|
|
110
|
+
}
|
|
111
|
+
if (!currentChatUI) {
|
|
112
|
+
if (inProgress && isCurrentMessage) {
|
|
113
|
+
return /* @__PURE__ */ jsx("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: context.icons.spinnerIcon }, index);
|
|
114
|
+
} else {
|
|
115
|
+
return null;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
if (typeof currentChatUI.render === "string") {
|
|
119
|
+
if (isCurrentMessage && inProgress) {
|
|
120
|
+
return /* @__PURE__ */ jsxs("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: [
|
|
121
|
+
context.icons.spinnerIcon,
|
|
122
|
+
" ",
|
|
123
|
+
/* @__PURE__ */ jsx("span", { className: "inProgressLabel", children: currentChatUI.render })
|
|
124
|
+
] }, index);
|
|
125
|
+
} else {
|
|
126
|
+
return null;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
const toRender = currentChatUI.render({
|
|
130
|
+
state: message.state,
|
|
131
|
+
agentName: message.agentName,
|
|
132
|
+
nodeName: message.nodeName
|
|
133
|
+
});
|
|
134
|
+
if (!toRender && status === "complete") {
|
|
135
|
+
return null;
|
|
136
|
+
}
|
|
137
|
+
if (typeof toRender === "string") {
|
|
138
|
+
return /* @__PURE__ */ jsxs("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: [
|
|
139
|
+
isCurrentMessage && inProgress && context.icons.spinnerIcon,
|
|
140
|
+
" ",
|
|
141
|
+
toRender
|
|
142
|
+
] }, index);
|
|
143
|
+
} else {
|
|
144
|
+
return /* @__PURE__ */ jsx("div", { className: "copilotKitCustomAssistantMessage", children: toRender }, index);
|
|
145
|
+
}
|
|
146
|
+
} else if (message instanceof ResultMessage && inProgress && isCurrentMessage) {
|
|
103
147
|
return /* @__PURE__ */ jsx("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: context.icons.spinnerIcon }, index);
|
|
104
148
|
}
|
|
105
149
|
}),
|
|
@@ -126,4 +170,4 @@ function makeInitialMessages(initial) {
|
|
|
126
170
|
export {
|
|
127
171
|
Messages
|
|
128
172
|
};
|
|
129
|
-
//# sourceMappingURL=chunk-
|
|
173
|
+
//# sourceMappingURL=chunk-PDU5NXDS.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/chat/Messages.tsx"],"sourcesContent":["import React, { useEffect, useMemo } from \"react\";\nimport { MessagesProps } from \"./props\";\nimport { useChatContext } from \"./ChatContext\";\nimport { Markdown } from \"./Markdown\";\nimport { RenderFunctionStatus, useCopilotContext } from \"@copilotkit/react-core\";\nimport {\n MessageStatusCode,\n ActionExecutionMessage,\n Message,\n ResultMessage,\n TextMessage,\n Role,\n AgentStateMessage,\n} from \"@copilotkit/runtime-client-gql\";\n\nexport const Messages = ({ messages, inProgress, children }: MessagesProps) => {\n const { chatComponentsCache, chatUI } = useCopilotContext();\n\n const context = useChatContext();\n const initialMessages = useMemo(\n () => makeInitialMessages(context.labels.initial),\n [context.labels.initial],\n );\n messages = [...initialMessages, ...messages];\n\n const functionResults: Record<string, string> = {};\n\n for (let i = 0; i < messages.length; i++) {\n if (messages[i] instanceof ActionExecutionMessage) {\n const id = messages[i].id;\n const resultMessage: ResultMessage | undefined = messages.find(\n (message) => message instanceof ResultMessage && message.actionExecutionId === id,\n ) as ResultMessage | undefined;\n\n if (resultMessage) {\n functionResults[id] = ResultMessage.decodeResult(resultMessage.result || \"\");\n }\n }\n }\n\n const messagesEndRef = React.useRef<HTMLDivElement>(null);\n\n const scrollToBottom = () => {\n if (messagesEndRef.current) {\n messagesEndRef.current.scrollIntoView({\n behavior: \"auto\",\n });\n }\n };\n\n useEffect(() => {\n scrollToBottom();\n }, [messages]);\n\n return (\n <div className=\"copilotKitMessages\">\n {messages.map((message, index) => {\n const isCurrentMessage = index === messages.length - 1;\n\n if (message instanceof TextMessage && message.role === \"user\") {\n return (\n <div key={index} className=\"copilotKitMessage copilotKitUserMessage\">\n {message.content}\n </div>\n );\n } else if (message instanceof TextMessage && message.role == \"assistant\") {\n return (\n <div key={index} className={`copilotKitMessage copilotKitAssistantMessage`}>\n {isCurrentMessage && inProgress && !message.content ? (\n context.icons.spinnerIcon\n ) : (\n <Markdown content={message.content} />\n )}\n </div>\n );\n } else if (message instanceof ActionExecutionMessage) {\n if (\n chatComponentsCache.current !== null &&\n chatComponentsCache.current.actions[message.name]\n ) {\n const render = chatComponentsCache.current.actions[message.name];\n // render a static string\n if (typeof render === \"string\") {\n // when render is static, we show it only when in progress\n if (isCurrentMessage && inProgress) {\n return (\n <div key={index} className={`copilotKitMessage copilotKitAssistantMessage`}>\n {context.icons.spinnerIcon} <span className=\"inProgressLabel\">{render}</span>\n </div>\n );\n }\n // Done - silent by default to avoid a series of \"done\" messages\n else {\n return null;\n }\n }\n // render is a function\n else {\n const args = message.arguments;\n\n let status: RenderFunctionStatus = \"inProgress\";\n\n if (functionResults[message.id] !== undefined) {\n status = \"complete\";\n } else if (message.status.code !== MessageStatusCode.Pending) {\n status = \"executing\";\n }\n\n const toRender = render({\n status: status as any,\n args,\n result: functionResults[message.id],\n });\n\n // No result and complete: stay silent\n if (!toRender && status === \"complete\") {\n return null;\n }\n\n if (typeof toRender === \"string\") {\n return (\n <div key={index} className={`copilotKitMessage copilotKitAssistantMessage`}>\n {isCurrentMessage && inProgress && context.icons.spinnerIcon} {toRender}\n </div>\n );\n } else {\n return (\n <div key={index} className=\"copilotKitCustomAssistantMessage\">\n {toRender}\n </div>\n );\n }\n }\n }\n // No render function found- show the default message\n else if (!inProgress || !isCurrentMessage) {\n // Done - silent by default to avoid a series of \"done\" messages\n return null;\n } else {\n // In progress\n return (\n <div key={index} className={`copilotKitMessage copilotKitAssistantMessage`}>\n {context.icons.spinnerIcon}\n </div>\n );\n }\n } else if (message instanceof AgentStateMessage) {\n let currentChatUI = chatUI.find(\n (ui) => ui.agentName === message.agentName && ui.nodeName === message.nodeName,\n );\n\n if (!currentChatUI) {\n currentChatUI = chatUI.find(\n (ui) => ui.agentName === message.agentName && ui.nodeName === undefined,\n );\n }\n\n if (!currentChatUI) {\n if (inProgress && isCurrentMessage) {\n return (\n <div key={index} className={`copilotKitMessage copilotKitAssistantMessage`}>\n {context.icons.spinnerIcon}\n </div>\n );\n } else {\n return null;\n }\n }\n\n if (typeof currentChatUI.render === \"string\") {\n // when render is static, we show it only when in progress\n if (isCurrentMessage && inProgress) {\n return (\n <div key={index} className={`copilotKitMessage copilotKitAssistantMessage`}>\n {context.icons.spinnerIcon}{\" \"}\n <span className=\"inProgressLabel\">{currentChatUI.render}</span>\n </div>\n );\n }\n // Done - silent by default to avoid a series of \"done\" messages\n else {\n return null;\n }\n }\n\n const toRender = currentChatUI.render({\n state: message.state,\n agentName: message.agentName,\n nodeName: message.nodeName,\n });\n\n // No result and complete: stay silent\n if (!toRender && status === \"complete\") {\n return null;\n }\n\n if (typeof toRender === \"string\") {\n return (\n <div key={index} className={`copilotKitMessage copilotKitAssistantMessage`}>\n {isCurrentMessage && inProgress && context.icons.spinnerIcon} {toRender}\n </div>\n );\n } else {\n return (\n <div key={index} className=\"copilotKitCustomAssistantMessage\">\n {toRender}\n </div>\n );\n }\n } else if (message instanceof ResultMessage && inProgress && isCurrentMessage) {\n return (\n <div key={index} className={`copilotKitMessage copilotKitAssistantMessage`}>\n {context.icons.spinnerIcon}\n </div>\n );\n }\n })}\n <footer ref={messagesEndRef}>{children}</footer>\n </div>\n );\n};\n\nfunction makeInitialMessages(initial?: string | string[]): Message[] {\n let initialArray: string[] = [];\n if (initial) {\n if (Array.isArray(initial)) {\n initialArray.push(...initial);\n } else {\n initialArray.push(initial);\n }\n }\n\n return initialArray.map(\n (message) =>\n new TextMessage({\n role: Role.Assistant,\n content: message,\n }),\n );\n}\n"],"mappings":"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","names":["status"]}
|
|
@@ -852,7 +852,7 @@ var import_react_core = require("@copilotkit/react-core");
|
|
|
852
852
|
var import_runtime_client_gql = require("@copilotkit/runtime-client-gql");
|
|
853
853
|
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
854
854
|
var Messages = ({ messages, inProgress, children }) => {
|
|
855
|
-
const { chatComponentsCache } = (0, import_react_core.useCopilotContext)();
|
|
855
|
+
const { chatComponentsCache, chatUI } = (0, import_react_core.useCopilotContext)();
|
|
856
856
|
const context = useChatContext();
|
|
857
857
|
const initialMessages = (0, import_react4.useMemo)(
|
|
858
858
|
() => makeInitialMessages(context.labels.initial),
|
|
@@ -890,8 +890,8 @@ var Messages = ({ messages, inProgress, children }) => {
|
|
|
890
890
|
} else if (message instanceof import_runtime_client_gql.TextMessage && message.role == "assistant") {
|
|
891
891
|
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: isCurrentMessage && inProgress && !message.content ? context.icons.spinnerIcon : /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Markdown, { content: message.content }) }, index);
|
|
892
892
|
} else if (message instanceof import_runtime_client_gql.ActionExecutionMessage) {
|
|
893
|
-
if (chatComponentsCache.current !== null && chatComponentsCache.current[message.name]) {
|
|
894
|
-
const render = chatComponentsCache.current[message.name];
|
|
893
|
+
if (chatComponentsCache.current !== null && chatComponentsCache.current.actions[message.name]) {
|
|
894
|
+
const render = chatComponentsCache.current.actions[message.name];
|
|
895
895
|
if (typeof render === "string") {
|
|
896
896
|
if (isCurrentMessage && inProgress) {
|
|
897
897
|
return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: [
|
|
@@ -904,18 +904,18 @@ var Messages = ({ messages, inProgress, children }) => {
|
|
|
904
904
|
}
|
|
905
905
|
} else {
|
|
906
906
|
const args = message.arguments;
|
|
907
|
-
let
|
|
907
|
+
let status2 = "inProgress";
|
|
908
908
|
if (functionResults[message.id] !== void 0) {
|
|
909
|
-
|
|
909
|
+
status2 = "complete";
|
|
910
910
|
} else if (message.status.code !== import_runtime_client_gql.MessageStatusCode.Pending) {
|
|
911
|
-
|
|
911
|
+
status2 = "executing";
|
|
912
912
|
}
|
|
913
913
|
const toRender = render({
|
|
914
|
-
status,
|
|
914
|
+
status: status2,
|
|
915
915
|
args,
|
|
916
916
|
result: functionResults[message.id]
|
|
917
917
|
});
|
|
918
|
-
if (!toRender &&
|
|
918
|
+
if (!toRender && status2 === "complete") {
|
|
919
919
|
return null;
|
|
920
920
|
}
|
|
921
921
|
if (typeof toRender === "string") {
|
|
@@ -933,7 +933,51 @@ var Messages = ({ messages, inProgress, children }) => {
|
|
|
933
933
|
} else {
|
|
934
934
|
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: context.icons.spinnerIcon }, index);
|
|
935
935
|
}
|
|
936
|
-
} else if (
|
|
936
|
+
} else if (message instanceof import_runtime_client_gql.AgentStateMessage) {
|
|
937
|
+
let currentChatUI = chatUI.find(
|
|
938
|
+
(ui) => ui.agentName === message.agentName && ui.nodeName === message.nodeName
|
|
939
|
+
);
|
|
940
|
+
if (!currentChatUI) {
|
|
941
|
+
currentChatUI = chatUI.find(
|
|
942
|
+
(ui) => ui.agentName === message.agentName && ui.nodeName === void 0
|
|
943
|
+
);
|
|
944
|
+
}
|
|
945
|
+
if (!currentChatUI) {
|
|
946
|
+
if (inProgress && isCurrentMessage) {
|
|
947
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: context.icons.spinnerIcon }, index);
|
|
948
|
+
} else {
|
|
949
|
+
return null;
|
|
950
|
+
}
|
|
951
|
+
}
|
|
952
|
+
if (typeof currentChatUI.render === "string") {
|
|
953
|
+
if (isCurrentMessage && inProgress) {
|
|
954
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: [
|
|
955
|
+
context.icons.spinnerIcon,
|
|
956
|
+
" ",
|
|
957
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { className: "inProgressLabel", children: currentChatUI.render })
|
|
958
|
+
] }, index);
|
|
959
|
+
} else {
|
|
960
|
+
return null;
|
|
961
|
+
}
|
|
962
|
+
}
|
|
963
|
+
const toRender = currentChatUI.render({
|
|
964
|
+
state: message.state,
|
|
965
|
+
agentName: message.agentName,
|
|
966
|
+
nodeName: message.nodeName
|
|
967
|
+
});
|
|
968
|
+
if (!toRender && status === "complete") {
|
|
969
|
+
return null;
|
|
970
|
+
}
|
|
971
|
+
if (typeof toRender === "string") {
|
|
972
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: [
|
|
973
|
+
isCurrentMessage && inProgress && context.icons.spinnerIcon,
|
|
974
|
+
" ",
|
|
975
|
+
toRender
|
|
976
|
+
] }, index);
|
|
977
|
+
} else {
|
|
978
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "copilotKitCustomAssistantMessage", children: toRender }, index);
|
|
979
|
+
}
|
|
980
|
+
} else if (message instanceof import_runtime_client_gql.ResultMessage && inProgress && isCurrentMessage) {
|
|
937
981
|
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: context.icons.spinnerIcon }, index);
|
|
938
982
|
}
|
|
939
983
|
}),
|
|
@@ -1253,7 +1297,7 @@ var reloadSuggestions = (context, chatSuggestionConfiguration, setCurrentSuggest
|
|
|
1253
1297
|
readable: true
|
|
1254
1298
|
},
|
|
1255
1299
|
abortSignal: abortController == null ? void 0 : abortController.signal,
|
|
1256
|
-
stream: ({ status, args }) => {
|
|
1300
|
+
stream: ({ status: status2, args }) => {
|
|
1257
1301
|
const suggestions = args.suggestions || [];
|
|
1258
1302
|
const newSuggestions = [];
|
|
1259
1303
|
for (let i = 0; i < suggestions.length; i++) {
|
|
@@ -1261,7 +1305,7 @@ var reloadSuggestions = (context, chatSuggestionConfiguration, setCurrentSuggest
|
|
|
1261
1305
|
break;
|
|
1262
1306
|
}
|
|
1263
1307
|
const { title, message } = suggestions[i];
|
|
1264
|
-
const partial = i == suggestions.length - 1 &&
|
|
1308
|
+
const partial = i == suggestions.length - 1 && status2 !== "complete";
|
|
1265
1309
|
newSuggestions.push({
|
|
1266
1310
|
title,
|
|
1267
1311
|
message,
|