@copilotkit/react-ui 1.1.1-feat-runtime-remote-actions.4 → 1.1.1-feat-runtime-remote-actions.5

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.
Files changed (42) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/{chunk-LKY2XFK5.mjs → chunk-7VK2BBGR.mjs} +2 -2
  3. package/dist/{chunk-JU7KYJD4.mjs → chunk-AQAB5IFH.mjs} +10 -10
  4. package/dist/{chunk-PDU5NXDS.mjs → chunk-FOZVHL73.mjs} +42 -44
  5. package/dist/chunk-FOZVHL73.mjs.map +1 -0
  6. package/dist/{chunk-DAHXB2SW.mjs → chunk-I4QG2ZZU.mjs} +4 -4
  7. package/dist/{chunk-4II7NDKP.mjs → chunk-N2N2OBXB.mjs} +9 -9
  8. package/dist/{chunk-G3RCRTQZ.mjs → chunk-UDXM72KU.mjs} +2 -2
  9. package/dist/components/chat/Chat.js +43 -45
  10. package/dist/components/chat/Chat.js.map +1 -1
  11. package/dist/components/chat/Chat.mjs +9 -9
  12. package/dist/components/chat/Messages.js +41 -43
  13. package/dist/components/chat/Messages.js.map +1 -1
  14. package/dist/components/chat/Messages.mjs +2 -2
  15. package/dist/components/chat/Modal.js +43 -45
  16. package/dist/components/chat/Modal.js.map +1 -1
  17. package/dist/components/chat/Modal.mjs +11 -11
  18. package/dist/components/chat/Popup.js +43 -45
  19. package/dist/components/chat/Popup.js.map +1 -1
  20. package/dist/components/chat/Popup.mjs +12 -12
  21. package/dist/components/chat/Sidebar.js +43 -45
  22. package/dist/components/chat/Sidebar.js.map +1 -1
  23. package/dist/components/chat/Sidebar.mjs +12 -12
  24. package/dist/components/chat/index.js +43 -45
  25. package/dist/components/chat/index.js.map +1 -1
  26. package/dist/components/chat/index.mjs +15 -15
  27. package/dist/components/dev-console/console.mjs +2 -2
  28. package/dist/components/dev-console/index.mjs +2 -2
  29. package/dist/components/index.js +43 -45
  30. package/dist/components/index.js.map +1 -1
  31. package/dist/components/index.mjs +15 -15
  32. package/dist/index.js +43 -45
  33. package/dist/index.js.map +1 -1
  34. package/dist/index.mjs +15 -15
  35. package/package.json +7 -7
  36. package/src/components/chat/Messages.tsx +58 -50
  37. package/dist/chunk-PDU5NXDS.mjs.map +0 -1
  38. /package/dist/{chunk-LKY2XFK5.mjs.map → chunk-7VK2BBGR.mjs.map} +0 -0
  39. /package/dist/{chunk-JU7KYJD4.mjs.map → chunk-AQAB5IFH.mjs.map} +0 -0
  40. /package/dist/{chunk-DAHXB2SW.mjs.map → chunk-I4QG2ZZU.mjs.map} +0 -0
  41. /package/dist/{chunk-4II7NDKP.mjs.map → chunk-N2N2OBXB.mjs.map} +0 -0
  42. /package/dist/{chunk-G3RCRTQZ.mjs.map → chunk-UDXM72KU.mjs.map} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # ui
2
2
 
3
+ ## 1.1.1-feat-runtime-remote-actions.5
4
+
5
+ ### Patch Changes
6
+
7
+ - useCoagent/useCoagentAction
8
+ - Updated dependencies
9
+ - @copilotkit/runtime-client-gql@1.1.1-feat-runtime-remote-actions.5
10
+ - @copilotkit/react-core@1.1.1-feat-runtime-remote-actions.5
11
+ - @copilotkit/shared@1.1.1-feat-runtime-remote-actions.5
12
+
3
13
  ## 1.1.1-feat-runtime-remote-actions.4
4
14
 
5
15
  ### Patch Changes
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  CopilotModal
3
- } from "./chunk-4II7NDKP.mjs";
3
+ } from "./chunk-N2N2OBXB.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-LKY2XFK5.mjs.map
21
+ //# sourceMappingURL=chunk-7VK2BBGR.mjs.map
@@ -1,23 +1,23 @@
1
- import {
2
- Messages
3
- } from "./chunk-PDU5NXDS.mjs";
4
- import {
5
- ResponseButton
6
- } from "./chunk-XSUSSWDS.mjs";
7
1
  import {
8
2
  Suggestion,
9
3
  reloadSuggestions
10
4
  } from "./chunk-WCPLXRZX.mjs";
5
+ import {
6
+ CopilotDevConsole
7
+ } from "./chunk-I4QG2ZZU.mjs";
11
8
  import {
12
9
  Input
13
10
  } from "./chunk-U6J5DGOE.mjs";
11
+ import {
12
+ Messages
13
+ } from "./chunk-FOZVHL73.mjs";
14
+ import {
15
+ ResponseButton
16
+ } from "./chunk-XSUSSWDS.mjs";
14
17
  import {
15
18
  ChatContext,
16
19
  ChatContextProvider
17
20
  } 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-JU7KYJD4.mjs.map
167
+ //# sourceMappingURL=chunk-AQAB5IFH.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, chatUI } = useCopilotContext();
21
+ const { chatComponentsCache } = useCopilotContext();
22
22
  const context = useChatContext();
23
23
  const initialMessages = useMemo(
24
24
  () => makeInitialMessages(context.labels.initial),
@@ -70,18 +70,18 @@ var Messages = ({ messages, inProgress, children }) => {
70
70
  }
71
71
  } else {
72
72
  const args = message.arguments;
73
- let status2 = "inProgress";
73
+ let status = "inProgress";
74
74
  if (functionResults[message.id] !== void 0) {
75
- status2 = "complete";
75
+ status = "complete";
76
76
  } else if (message.status.code !== MessageStatusCode.Pending) {
77
- status2 = "executing";
77
+ status = "executing";
78
78
  }
79
79
  const toRender = render({
80
- status: status2,
80
+ status,
81
81
  args,
82
82
  result: functionResults[message.id]
83
83
  });
84
- if (!toRender && status2 === "complete") {
84
+ if (!toRender && status === "complete") {
85
85
  return null;
86
86
  }
87
87
  if (typeof toRender === "string") {
@@ -100,48 +100,46 @@ var Messages = ({ messages, inProgress, children }) => {
100
100
  return /* @__PURE__ */ jsx("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: context.icons.spinnerIcon }, index);
101
101
  }
102
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
- );
103
+ let render;
104
+ if (chatComponentsCache.current !== null) {
105
+ render = chatComponentsCache.current.coagentActions[`${message.agentName}-${message.nodeName}`] || chatComponentsCache.current.coagentActions[`${message.agentName}-global`];
110
106
  }
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);
107
+ if (render) {
108
+ if (typeof render === "string") {
109
+ if (isCurrentMessage && inProgress) {
110
+ return /* @__PURE__ */ jsxs("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: [
111
+ context.icons.spinnerIcon,
112
+ " ",
113
+ /* @__PURE__ */ jsx("span", { className: "inProgressLabel", children: render })
114
+ ] }, index);
115
+ } else {
116
+ return null;
117
+ }
125
118
  } else {
126
- return null;
119
+ const state = message.state;
120
+ let status = message.active ? "inProgress" : "complete";
121
+ const toRender = render({
122
+ status,
123
+ state,
124
+ nodeName: message.nodeName
125
+ });
126
+ if (!toRender && status === "complete") {
127
+ return null;
128
+ }
129
+ if (typeof toRender === "string") {
130
+ return /* @__PURE__ */ jsxs("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: [
131
+ isCurrentMessage && inProgress && context.icons.spinnerIcon,
132
+ " ",
133
+ toRender
134
+ ] }, index);
135
+ } else {
136
+ return /* @__PURE__ */ jsx("div", { className: "copilotKitCustomAssistantMessage", children: toRender }, index);
137
+ }
127
138
  }
128
- }
129
- const toRender = currentChatUI.render({
130
- state: message.state,
131
- agentName: message.agentName,
132
- nodeName: message.nodeName
133
- });
134
- if (!toRender && status === "complete") {
139
+ } else if (!inProgress || !isCurrentMessage) {
135
140
  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
141
  } else {
144
- return /* @__PURE__ */ jsx("div", { className: "copilotKitCustomAssistantMessage", children: toRender }, index);
142
+ return /* @__PURE__ */ jsx("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: context.icons.spinnerIcon }, index);
145
143
  }
146
144
  } else if (message instanceof ResultMessage && inProgress && isCurrentMessage) {
147
145
  return /* @__PURE__ */ jsx("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: context.icons.spinnerIcon }, index);
@@ -170,4 +168,4 @@ function makeInitialMessages(initial) {
170
168
  export {
171
169
  Messages
172
170
  };
173
- //# sourceMappingURL=chunk-PDU5NXDS.mjs.map
171
+ //# sourceMappingURL=chunk-FOZVHL73.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\";\nimport { CoagentInChatRenderFunction } from \"@copilotkit/react-core/dist/context/copilot-context\";\n\nexport const Messages = ({ messages, inProgress, children }: MessagesProps) => {\n const { chatComponentsCache } = 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 render: string | CoagentInChatRenderFunction | undefined;\n\n if (chatComponentsCache.current !== null) {\n render =\n chatComponentsCache.current.coagentActions[\n `${message.agentName}-${message.nodeName}`\n ] || chatComponentsCache.current.coagentActions[`${message.agentName}-global`];\n }\n\n if (render) {\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 state = message.state;\n\n let status = message.active ? \"inProgress\" : \"complete\";\n\n const toRender = render({\n status: status as any,\n state,\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 }\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 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":[]}
@@ -5,9 +5,6 @@ import {
5
5
  logReadables,
6
6
  shouldShowDevConsole
7
7
  } from "./chunk-H7TM5JE6.mjs";
8
- import {
9
- SmallSpinnerIcon
10
- } from "./chunk-FZC7X5PK.mjs";
11
8
  import {
12
9
  CheckIcon,
13
10
  ChevronDownIcon,
@@ -15,6 +12,9 @@ import {
15
12
  ExclamationMarkIcon,
16
13
  ExclamationMarkTriangleIcon
17
14
  } 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-DAHXB2SW.mjs.map
220
+ //# sourceMappingURL=chunk-I4QG2ZZU.mjs.map
@@ -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";
4
7
  import {
5
8
  Button
6
9
  } from "./chunk-UC3Y7MWX.mjs";
7
10
  import {
8
11
  CopilotChat
9
- } from "./chunk-JU7KYJD4.mjs";
12
+ } from "./chunk-AQAB5IFH.mjs";
13
+ import {
14
+ Input
15
+ } from "./chunk-U6J5DGOE.mjs";
10
16
  import {
11
17
  Messages
12
- } from "./chunk-PDU5NXDS.mjs";
18
+ } from "./chunk-FOZVHL73.mjs";
13
19
  import {
14
20
  ResponseButton
15
21
  } 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-4II7NDKP.mjs.map
93
+ //# sourceMappingURL=chunk-N2N2OBXB.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  CopilotModal
3
- } from "./chunk-4II7NDKP.mjs";
3
+ } from "./chunk-N2N2OBXB.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-G3RCRTQZ.mjs.map
30
+ //# sourceMappingURL=chunk-UDXM72KU.mjs.map
@@ -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, chatUI } = (0, import_react_core.useCopilotContext)();
855
+ const { chatComponentsCache } = (0, import_react_core.useCopilotContext)();
856
856
  const context = useChatContext();
857
857
  const initialMessages = (0, import_react4.useMemo)(
858
858
  () => makeInitialMessages(context.labels.initial),
@@ -904,18 +904,18 @@ var Messages = ({ messages, inProgress, children }) => {
904
904
  }
905
905
  } else {
906
906
  const args = message.arguments;
907
- let status2 = "inProgress";
907
+ let status = "inProgress";
908
908
  if (functionResults[message.id] !== void 0) {
909
- status2 = "complete";
909
+ status = "complete";
910
910
  } else if (message.status.code !== import_runtime_client_gql.MessageStatusCode.Pending) {
911
- status2 = "executing";
911
+ status = "executing";
912
912
  }
913
913
  const toRender = render({
914
- status: status2,
914
+ status,
915
915
  args,
916
916
  result: functionResults[message.id]
917
917
  });
918
- if (!toRender && status2 === "complete") {
918
+ if (!toRender && status === "complete") {
919
919
  return null;
920
920
  }
921
921
  if (typeof toRender === "string") {
@@ -934,48 +934,46 @@ var Messages = ({ messages, inProgress, children }) => {
934
934
  return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: context.icons.spinnerIcon }, index);
935
935
  }
936
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
- }
937
+ let render;
938
+ if (chatComponentsCache.current !== null) {
939
+ render = chatComponentsCache.current.coagentActions[`${message.agentName}-${message.nodeName}`] || chatComponentsCache.current.coagentActions[`${message.agentName}-global`];
951
940
  }
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);
941
+ if (render) {
942
+ if (typeof render === "string") {
943
+ if (isCurrentMessage && inProgress) {
944
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: [
945
+ context.icons.spinnerIcon,
946
+ " ",
947
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { className: "inProgressLabel", children: render })
948
+ ] }, index);
949
+ } else {
950
+ return null;
951
+ }
959
952
  } else {
960
- return null;
953
+ const state = message.state;
954
+ let status = message.active ? "inProgress" : "complete";
955
+ const toRender = render({
956
+ status,
957
+ state,
958
+ nodeName: message.nodeName
959
+ });
960
+ if (!toRender && status === "complete") {
961
+ return null;
962
+ }
963
+ if (typeof toRender === "string") {
964
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: [
965
+ isCurrentMessage && inProgress && context.icons.spinnerIcon,
966
+ " ",
967
+ toRender
968
+ ] }, index);
969
+ } else {
970
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "copilotKitCustomAssistantMessage", children: toRender }, index);
971
+ }
961
972
  }
962
- }
963
- const toRender = currentChatUI.render({
964
- state: message.state,
965
- agentName: message.agentName,
966
- nodeName: message.nodeName
967
- });
968
- if (!toRender && status === "complete") {
973
+ } else if (!inProgress || !isCurrentMessage) {
969
974
  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
975
  } else {
978
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "copilotKitCustomAssistantMessage", children: toRender }, index);
976
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: context.icons.spinnerIcon }, index);
979
977
  }
980
978
  } else if (message instanceof import_runtime_client_gql.ResultMessage && inProgress && isCurrentMessage) {
981
979
  return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: context.icons.spinnerIcon }, index);
@@ -1297,7 +1295,7 @@ var reloadSuggestions = (context, chatSuggestionConfiguration, setCurrentSuggest
1297
1295
  readable: true
1298
1296
  },
1299
1297
  abortSignal: abortController == null ? void 0 : abortController.signal,
1300
- stream: ({ status: status2, args }) => {
1298
+ stream: ({ status, args }) => {
1301
1299
  const suggestions = args.suggestions || [];
1302
1300
  const newSuggestions = [];
1303
1301
  for (let i = 0; i < suggestions.length; i++) {
@@ -1305,7 +1303,7 @@ var reloadSuggestions = (context, chatSuggestionConfiguration, setCurrentSuggest
1305
1303
  break;
1306
1304
  }
1307
1305
  const { title, message } = suggestions[i];
1308
- const partial = i == suggestions.length - 1 && status2 !== "complete";
1306
+ const partial = i == suggestions.length - 1 && status !== "complete";
1309
1307
  newSuggestions.push({
1310
1308
  title,
1311
1309
  message,