@copilotkit/react-ui 1.3.1 → 1.3.2-mme-pre.0

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 (38) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/{chunk-FOZVHL73.mjs → chunk-4K36ATCD.mjs} +27 -14
  3. package/dist/chunk-4K36ATCD.mjs.map +1 -0
  4. package/dist/{chunk-HR36Y2FQ.mjs → chunk-I454U2HM.mjs} +2 -2
  5. package/dist/{chunk-QOEAEMUQ.mjs → chunk-KJQVEUVB.mjs} +2 -2
  6. package/dist/{chunk-FL4ETWFB.mjs → chunk-N6GQ4WV4.mjs} +2 -2
  7. package/dist/{chunk-B2KQEX2R.mjs → chunk-PGJGIYRW.mjs} +3 -3
  8. package/dist/components/chat/Chat.js +26 -13
  9. package/dist/components/chat/Chat.js.map +1 -1
  10. package/dist/components/chat/Chat.mjs +2 -2
  11. package/dist/components/chat/Messages.js +26 -13
  12. package/dist/components/chat/Messages.js.map +1 -1
  13. package/dist/components/chat/Messages.mjs +1 -1
  14. package/dist/components/chat/Modal.js +26 -13
  15. package/dist/components/chat/Modal.js.map +1 -1
  16. package/dist/components/chat/Modal.mjs +3 -3
  17. package/dist/components/chat/Popup.js +26 -13
  18. package/dist/components/chat/Popup.js.map +1 -1
  19. package/dist/components/chat/Popup.mjs +4 -4
  20. package/dist/components/chat/Sidebar.js +26 -13
  21. package/dist/components/chat/Sidebar.js.map +1 -1
  22. package/dist/components/chat/Sidebar.mjs +4 -4
  23. package/dist/components/chat/index.js +26 -13
  24. package/dist/components/chat/index.js.map +1 -1
  25. package/dist/components/chat/index.mjs +5 -5
  26. package/dist/components/index.js +26 -13
  27. package/dist/components/index.js.map +1 -1
  28. package/dist/components/index.mjs +5 -5
  29. package/dist/index.js +26 -13
  30. package/dist/index.js.map +1 -1
  31. package/dist/index.mjs +5 -5
  32. package/package.json +7 -7
  33. package/src/components/chat/Messages.tsx +29 -19
  34. package/dist/chunk-FOZVHL73.mjs.map +0 -1
  35. /package/dist/{chunk-HR36Y2FQ.mjs.map → chunk-I454U2HM.mjs.map} +0 -0
  36. /package/dist/{chunk-QOEAEMUQ.mjs.map → chunk-KJQVEUVB.mjs.map} +0 -0
  37. /package/dist/{chunk-FL4ETWFB.mjs.map → chunk-N6GQ4WV4.mjs.map} +0 -0
  38. /package/dist/{chunk-B2KQEX2R.mjs.map → chunk-PGJGIYRW.mjs.map} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # ui
2
2
 
3
+ ## 1.3.2-mme-pre.0
4
+
5
+ ### Patch Changes
6
+
7
+ - agent Q&A pre
8
+ - Updated dependencies
9
+ - @copilotkit/react-core@1.3.2-mme-pre.0
10
+ - @copilotkit/runtime-client-gql@1.3.2-mme-pre.0
11
+ - @copilotkit/shared@1.3.2-mme-pre.0
12
+
3
13
  ## 1.3.1
4
14
 
5
15
  ### Patch Changes
@@ -76,22 +76,35 @@ var Messages = ({ messages, inProgress, children }) => {
76
76
  } else if (message.status.code !== MessageStatusCode.Pending) {
77
77
  status = "executing";
78
78
  }
79
- const toRender = render({
80
- status,
81
- args,
82
- result: functionResults[message.id]
83
- });
84
- if (!toRender && status === "complete") {
85
- return null;
86
- }
87
- if (typeof toRender === "string") {
79
+ try {
80
+ const toRender = render({
81
+ status,
82
+ args,
83
+ result: functionResults[message.id]
84
+ });
85
+ if (!toRender && status === "complete") {
86
+ return null;
87
+ }
88
+ if (typeof toRender === "string") {
89
+ return /* @__PURE__ */ jsxs("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: [
90
+ isCurrentMessage && inProgress && context.icons.spinnerIcon,
91
+ " ",
92
+ toRender
93
+ ] }, index);
94
+ } else {
95
+ return /* @__PURE__ */ jsx("div", { className: "copilotKitCustomAssistantMessage", children: toRender }, index);
96
+ }
97
+ } catch (e) {
98
+ console.error(`Error executing render function for action ${message.name}: ${e}`);
88
99
  return /* @__PURE__ */ jsxs("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: [
89
100
  isCurrentMessage && inProgress && context.icons.spinnerIcon,
90
- " ",
91
- toRender
101
+ /* @__PURE__ */ jsxs("b", { children: [
102
+ "\u274C Error executing render: ",
103
+ message.name
104
+ ] }),
105
+ /* @__PURE__ */ jsx("br", {}),
106
+ e instanceof Error ? e.message : String(e)
92
107
  ] }, index);
93
- } else {
94
- return /* @__PURE__ */ jsx("div", { className: "copilotKitCustomAssistantMessage", children: toRender }, index);
95
108
  }
96
109
  }
97
110
  } else if (!inProgress || !isCurrentMessage) {
@@ -168,4 +181,4 @@ function makeInitialMessages(initial) {
168
181
  export {
169
182
  Messages
170
183
  };
171
- //# sourceMappingURL=chunk-FOZVHL73.mjs.map
184
+ //# sourceMappingURL=chunk-4K36ATCD.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 try {\n const toRender = render({\n status: status as any,\n args,\n result: functionResults[message.id],\n });\n // No result and complete: stay silent\n if (!toRender && status === \"complete\") {\n return null;\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 } catch (e) {\n console.error(`Error executing render function for action ${message.name}: ${e}`);\n return (\n <div key={index} className={`copilotKitMessage copilotKitAssistantMessage`}>\n {isCurrentMessage && inProgress && context.icons.spinnerIcon}\n <b>❌ Error executing render: {message.name}</b>\n <br />\n {e instanceof Error ? e.message : String(e)}\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":[]}
@@ -10,7 +10,7 @@ import {
10
10
  } from "./chunk-U6J5DGOE.mjs";
11
11
  import {
12
12
  Messages
13
- } from "./chunk-FOZVHL73.mjs";
13
+ } from "./chunk-4K36ATCD.mjs";
14
14
  import {
15
15
  ResponseButton
16
16
  } from "./chunk-XSUSSWDS.mjs";
@@ -164,4 +164,4 @@ export {
164
164
  WrappedCopilotChat,
165
165
  useCopilotChatLogic
166
166
  };
167
- //# sourceMappingURL=chunk-HR36Y2FQ.mjs.map
167
+ //# sourceMappingURL=chunk-I454U2HM.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  CopilotModal
3
- } from "./chunk-B2KQEX2R.mjs";
3
+ } from "./chunk-PGJGIYRW.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-QOEAEMUQ.mjs.map
30
+ //# sourceMappingURL=chunk-KJQVEUVB.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  CopilotModal
3
- } from "./chunk-B2KQEX2R.mjs";
3
+ } from "./chunk-PGJGIYRW.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-FL4ETWFB.mjs.map
21
+ //# sourceMappingURL=chunk-N6GQ4WV4.mjs.map
@@ -9,13 +9,13 @@ import {
9
9
  } from "./chunk-YOH25I6N.mjs";
10
10
  import {
11
11
  CopilotChat
12
- } from "./chunk-HR36Y2FQ.mjs";
12
+ } from "./chunk-I454U2HM.mjs";
13
13
  import {
14
14
  Input
15
15
  } from "./chunk-U6J5DGOE.mjs";
16
16
  import {
17
17
  Messages
18
- } from "./chunk-FOZVHL73.mjs";
18
+ } from "./chunk-4K36ATCD.mjs";
19
19
  import {
20
20
  ResponseButton
21
21
  } from "./chunk-XSUSSWDS.mjs";
@@ -88,4 +88,4 @@ var CopilotModal = ({
88
88
  export {
89
89
  CopilotModal
90
90
  };
91
- //# sourceMappingURL=chunk-B2KQEX2R.mjs.map
91
+ //# sourceMappingURL=chunk-PGJGIYRW.mjs.map
@@ -910,22 +910,35 @@ var Messages = ({ messages, inProgress, children }) => {
910
910
  } else if (message.status.code !== import_runtime_client_gql.MessageStatusCode.Pending) {
911
911
  status = "executing";
912
912
  }
913
- const toRender = render({
914
- status,
915
- args,
916
- result: functionResults[message.id]
917
- });
918
- if (!toRender && status === "complete") {
919
- return null;
920
- }
921
- if (typeof toRender === "string") {
913
+ try {
914
+ const toRender = render({
915
+ status,
916
+ args,
917
+ result: functionResults[message.id]
918
+ });
919
+ if (!toRender && status === "complete") {
920
+ return null;
921
+ }
922
+ if (typeof toRender === "string") {
923
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: [
924
+ isCurrentMessage && inProgress && context.icons.spinnerIcon,
925
+ " ",
926
+ toRender
927
+ ] }, index);
928
+ } else {
929
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "copilotKitCustomAssistantMessage", children: toRender }, index);
930
+ }
931
+ } catch (e) {
932
+ console.error(`Error executing render function for action ${message.name}: ${e}`);
922
933
  return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: [
923
934
  isCurrentMessage && inProgress && context.icons.spinnerIcon,
924
- " ",
925
- toRender
935
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("b", { children: [
936
+ "\u274C Error executing render: ",
937
+ message.name
938
+ ] }),
939
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("br", {}),
940
+ e instanceof Error ? e.message : String(e)
926
941
  ] }, index);
927
- } else {
928
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "copilotKitCustomAssistantMessage", children: toRender }, index);
929
942
  }
930
943
  }
931
944
  } else if (!inProgress || !isCurrentMessage) {