@copilotkit/react-ui 1.8.4 → 1.8.5-next.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 (66) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/{chunk-LGMQR7XG.mjs → chunk-4LA24FID.mjs} +2 -2
  3. package/dist/{chunk-QTD2KREC.mjs → chunk-6YTN3554.mjs} +2 -2
  4. package/dist/{chunk-6F2ZAK7T.mjs → chunk-AENUXMIK.mjs} +2 -2
  5. package/dist/{chunk-7RIBDD4K.mjs → chunk-GOJ36LAI.mjs} +21 -6
  6. package/dist/chunk-GOJ36LAI.mjs.map +1 -0
  7. package/dist/{chunk-XB6QCUPB.mjs → chunk-NMNC4ROZ.mjs} +20 -8
  8. package/dist/chunk-NMNC4ROZ.mjs.map +1 -0
  9. package/dist/{chunk-UWWMAJ7R.mjs → chunk-Q2YY2NX3.mjs} +20 -8
  10. package/dist/chunk-Q2YY2NX3.mjs.map +1 -0
  11. package/dist/{chunk-7EDMOLGH.mjs → chunk-T2MTGCY3.mjs} +8 -8
  12. package/dist/{chunk-WEYDZBT7.mjs → chunk-WNC6OCIB.mjs} +16 -4
  13. package/dist/chunk-WNC6OCIB.mjs.map +1 -0
  14. package/dist/components/chat/Chat.js +320 -300
  15. package/dist/components/chat/Chat.js.map +1 -1
  16. package/dist/components/chat/Chat.mjs +5 -5
  17. package/dist/components/chat/Modal.js +320 -300
  18. package/dist/components/chat/Modal.js.map +1 -1
  19. package/dist/components/chat/Modal.mjs +6 -6
  20. package/dist/components/chat/Popup.js +320 -300
  21. package/dist/components/chat/Popup.js.map +1 -1
  22. package/dist/components/chat/Popup.mjs +7 -7
  23. package/dist/components/chat/Sidebar.js +320 -300
  24. package/dist/components/chat/Sidebar.js.map +1 -1
  25. package/dist/components/chat/Sidebar.mjs +7 -7
  26. package/dist/components/chat/index.js +320 -300
  27. package/dist/components/chat/index.js.map +1 -1
  28. package/dist/components/chat/index.mjs +8 -8
  29. package/dist/components/chat/messages/RenderActionExecutionMessage.d.ts +1 -1
  30. package/dist/components/chat/messages/RenderActionExecutionMessage.js +696 -15
  31. package/dist/components/chat/messages/RenderActionExecutionMessage.js.map +1 -1
  32. package/dist/components/chat/messages/RenderActionExecutionMessage.mjs +7 -1
  33. package/dist/components/chat/messages/RenderAgentStateMessage.d.ts +1 -1
  34. package/dist/components/chat/messages/RenderAgentStateMessage.js +693 -12
  35. package/dist/components/chat/messages/RenderAgentStateMessage.js.map +1 -1
  36. package/dist/components/chat/messages/RenderAgentStateMessage.mjs +7 -1
  37. package/dist/components/chat/messages/RenderResultMessage.d.ts +1 -1
  38. package/dist/components/chat/messages/RenderResultMessage.js +685 -4
  39. package/dist/components/chat/messages/RenderResultMessage.js.map +1 -1
  40. package/dist/components/chat/messages/RenderResultMessage.mjs +7 -1
  41. package/dist/components/chat/messages/RenderTextMessage.d.ts +1 -1
  42. package/dist/components/chat/messages/RenderTextMessage.js +694 -7
  43. package/dist/components/chat/messages/RenderTextMessage.js.map +1 -1
  44. package/dist/components/chat/messages/RenderTextMessage.mjs +8 -1
  45. package/dist/components/chat/props.d.ts +2 -2
  46. package/dist/components/chat/props.js.map +1 -1
  47. package/dist/components/index.js +320 -300
  48. package/dist/components/index.js.map +1 -1
  49. package/dist/components/index.mjs +8 -8
  50. package/dist/index.js +320 -300
  51. package/dist/index.js.map +1 -1
  52. package/dist/index.mjs +8 -8
  53. package/package.json +6 -6
  54. package/src/components/chat/messages/RenderActionExecutionMessage.tsx +6 -2
  55. package/src/components/chat/messages/RenderAgentStateMessage.tsx +6 -2
  56. package/src/components/chat/messages/RenderResultMessage.tsx +6 -2
  57. package/src/components/chat/messages/RenderTextMessage.tsx +7 -3
  58. package/src/components/chat/props.ts +2 -2
  59. package/dist/chunk-7RIBDD4K.mjs.map +0 -1
  60. package/dist/chunk-UWWMAJ7R.mjs.map +0 -1
  61. package/dist/chunk-WEYDZBT7.mjs.map +0 -1
  62. package/dist/chunk-XB6QCUPB.mjs.map +0 -1
  63. /package/dist/{chunk-LGMQR7XG.mjs.map → chunk-4LA24FID.mjs.map} +0 -0
  64. /package/dist/{chunk-QTD2KREC.mjs.map → chunk-6YTN3554.mjs.map} +0 -0
  65. /package/dist/{chunk-6F2ZAK7T.mjs.map → chunk-AENUXMIK.mjs.map} +0 -0
  66. /package/dist/{chunk-7EDMOLGH.mjs.map → chunk-T2MTGCY3.mjs.map} +0 -0
@@ -811,276 +811,11 @@ var Input = ({ inProgress, onSend, isVisible = false, onStop }) => {
811
811
  ] }) });
812
812
  };
813
813
 
814
- // src/components/chat/messages/RenderTextMessage.tsx
814
+ // src/components/chat/messages/UserMessage.tsx
815
815
  var import_jsx_runtime6 = require("react/jsx-runtime");
816
- function RenderTextMessage(props) {
817
- const {
818
- message,
819
- inProgress,
820
- index,
821
- isCurrentMessage,
822
- UserMessage: UserMessage2,
823
- AssistantMessage: AssistantMessage2,
824
- onRegenerate,
825
- onCopy,
826
- onThumbsUp,
827
- onThumbsDown
828
- } = props;
829
- if (message.isTextMessage()) {
830
- if (message.role === "user") {
831
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
832
- UserMessage2,
833
- {
834
- "data-message-role": "user",
835
- message: message.content,
836
- rawData: message
837
- },
838
- index
839
- );
840
- } else if (message.role == "assistant") {
841
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
842
- AssistantMessage2,
843
- {
844
- "data-message-role": "assistant",
845
- message: message.content,
846
- rawData: message,
847
- isLoading: inProgress && isCurrentMessage && !message.content,
848
- isGenerating: inProgress && isCurrentMessage && !!message.content,
849
- isCurrentMessage,
850
- onRegenerate,
851
- onCopy,
852
- onThumbsUp,
853
- onThumbsDown
854
- },
855
- index
856
- );
857
- }
858
- }
859
- }
860
-
861
- // src/components/chat/messages/RenderActionExecutionMessage.tsx
862
- var import_runtime_client_gql2 = require("@copilotkit/runtime-client-gql");
863
- var import_react_core4 = require("@copilotkit/react-core");
864
- var import_jsx_runtime7 = require("react/jsx-runtime");
865
- function RenderActionExecutionMessage(props) {
866
- const { chatComponentsCache } = (0, import_react_core4.useCopilotContext)();
867
- const { message, inProgress, index, isCurrentMessage, actionResult, AssistantMessage: AssistantMessage2 } = props;
868
- if (message.isActionExecutionMessage()) {
869
- if (chatComponentsCache.current !== null && (chatComponentsCache.current.actions[message.name] || chatComponentsCache.current.actions["*"])) {
870
- const render = chatComponentsCache.current.actions[message.name] || chatComponentsCache.current.actions["*"];
871
- if (typeof render === "string") {
872
- if (isCurrentMessage && inProgress) {
873
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
874
- AssistantMessage2,
875
- {
876
- rawData: message,
877
- "data-message-role": "assistant",
878
- isLoading: false,
879
- isGenerating: true,
880
- message: render
881
- },
882
- index
883
- );
884
- } else {
885
- return null;
886
- }
887
- } else {
888
- const args = message.arguments;
889
- let status = "inProgress";
890
- if (actionResult !== void 0) {
891
- status = "complete";
892
- } else if (message.status.code !== import_runtime_client_gql2.MessageStatusCode.Pending) {
893
- status = "executing";
894
- }
895
- try {
896
- const toRender = render({
897
- status,
898
- args,
899
- result: actionResult,
900
- name: message.name
901
- });
902
- if (!toRender && status === "complete") {
903
- return null;
904
- }
905
- if (typeof toRender === "string") {
906
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
907
- AssistantMessage2,
908
- {
909
- rawData: message,
910
- "data-message-role": "assistant",
911
- isLoading: false,
912
- isGenerating: false,
913
- message: toRender
914
- },
915
- index
916
- );
917
- } else {
918
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
919
- AssistantMessage2,
920
- {
921
- rawData: message,
922
- "data-message-role": "action-render",
923
- isLoading: false,
924
- isGenerating: false,
925
- subComponent: toRender
926
- },
927
- index
928
- );
929
- }
930
- } catch (e) {
931
- console.error(`Error executing render function for action ${message.name}: ${e}`);
932
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
933
- AssistantMessage2,
934
- {
935
- rawData: message,
936
- "data-message-role": "assistant",
937
- isLoading: false,
938
- isGenerating: false,
939
- subComponent: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "copilotKitMessage copilotKitAssistantMessage", children: [
940
- /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("b", { children: [
941
- "\u274C Error executing render function for action ",
942
- message.name,
943
- ":"
944
- ] }),
945
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("pre", { children: e instanceof Error ? e.message : String(e) })
946
- ] })
947
- },
948
- index
949
- );
950
- }
951
- }
952
- } else if (!inProgress || !isCurrentMessage) {
953
- return null;
954
- } else {
955
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
956
- AssistantMessage2,
957
- {
958
- rawData: message,
959
- "data-message-role": "assistant",
960
- isLoading: true,
961
- isGenerating: true
962
- },
963
- index
964
- );
965
- }
966
- }
967
- }
968
-
969
- // src/components/chat/messages/RenderResultMessage.tsx
970
- var import_jsx_runtime8 = require("react/jsx-runtime");
971
- function RenderResultMessage(props) {
972
- const { message, inProgress, index, isCurrentMessage, AssistantMessage: AssistantMessage2 } = props;
973
- if (message.isResultMessage() && inProgress && isCurrentMessage) {
974
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
975
- AssistantMessage2,
976
- {
977
- "data-message-role": "assistant",
978
- rawData: message,
979
- isLoading: true,
980
- isGenerating: true
981
- },
982
- index
983
- );
984
- } else {
985
- return null;
986
- }
987
- }
988
-
989
- // src/components/chat/messages/RenderAgentStateMessage.tsx
990
- var import_react_core5 = require("@copilotkit/react-core");
991
- var import_jsx_runtime9 = require("react/jsx-runtime");
992
- function RenderAgentStateMessage(props) {
993
- const { chatComponentsCache } = (0, import_react_core5.useCopilotContext)();
994
- const { message, inProgress, index, isCurrentMessage, AssistantMessage: AssistantMessage2 } = props;
995
- if (message.isAgentStateMessage()) {
996
- let render;
997
- if (chatComponentsCache.current !== null) {
998
- render = chatComponentsCache.current.coAgentStateRenders[`${message.agentName}-${message.nodeName}`] || chatComponentsCache.current.coAgentStateRenders[`${message.agentName}-global`];
999
- }
1000
- if (render) {
1001
- if (typeof render === "string") {
1002
- if (isCurrentMessage && inProgress) {
1003
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1004
- AssistantMessage2,
1005
- {
1006
- rawData: message,
1007
- message: render,
1008
- "data-message-role": "assistant",
1009
- isLoading: true,
1010
- isGenerating: true
1011
- },
1012
- index
1013
- );
1014
- } else {
1015
- return null;
1016
- }
1017
- } else {
1018
- const state = message.state;
1019
- let status = message.active ? "inProgress" : "complete";
1020
- const toRender = render({
1021
- status,
1022
- state,
1023
- nodeName: message.nodeName
1024
- });
1025
- if (!toRender && status === "complete") {
1026
- return null;
1027
- }
1028
- if (!toRender && isCurrentMessage && inProgress) {
1029
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1030
- AssistantMessage2,
1031
- {
1032
- "data-message-role": "assistant",
1033
- rawData: message,
1034
- isLoading: true,
1035
- isGenerating: true
1036
- },
1037
- index
1038
- );
1039
- } else if (!toRender) {
1040
- return null;
1041
- }
1042
- if (typeof toRender === "string") {
1043
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1044
- AssistantMessage2,
1045
- {
1046
- rawData: message,
1047
- message: toRender,
1048
- isLoading: true,
1049
- isGenerating: true,
1050
- "data-message-role": "assistant"
1051
- },
1052
- index
1053
- );
1054
- } else {
1055
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1056
- AssistantMessage2,
1057
- {
1058
- rawData: message,
1059
- "data-message-role": "agent-state-render",
1060
- isLoading: false,
1061
- isGenerating: false,
1062
- subComponent: toRender
1063
- },
1064
- index
1065
- );
1066
- }
1067
- }
1068
- } else if (!inProgress || !isCurrentMessage) {
1069
- return null;
1070
- } else {
1071
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1072
- AssistantMessage2,
1073
- {
1074
- rawData: message,
1075
- isLoading: true,
1076
- isGenerating: true,
1077
- "data-message-role": "assistant"
1078
- },
1079
- index
1080
- );
1081
- }
1082
- }
1083
- }
816
+ var UserMessage = (props) => {
817
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: "copilotKitMessage copilotKitUserMessage", children: props.message });
818
+ };
1084
819
 
1085
820
  // src/components/chat/Markdown.tsx
1086
821
  var import_react7 = require("react");
@@ -1113,7 +848,7 @@ function useCopyToClipboard({ timeout = 2e3 }) {
1113
848
  }
1114
849
 
1115
850
  // src/components/chat/CodeBlock.tsx
1116
- var import_jsx_runtime10 = require("react/jsx-runtime");
851
+ var import_jsx_runtime7 = require("react/jsx-runtime");
1117
852
  var programmingLanguages = {
1118
853
  javascript: ".js",
1119
854
  python: ".py",
@@ -1176,15 +911,15 @@ var CodeBlock = (0, import_react6.memo)(({ language, value }) => {
1176
911
  return;
1177
912
  copyToClipboard(value);
1178
913
  };
1179
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "copilotKitCodeBlock", children: [
1180
- /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "copilotKitCodeBlockToolbar", children: [
1181
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { className: "copilotKitCodeBlockToolbarLanguage", children: language }),
1182
- /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "copilotKitCodeBlockToolbarButtons", children: [
1183
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("button", { className: "copilotKitCodeBlockToolbarButton", onClick: downloadAsFile, children: DownloadIcon }),
1184
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("button", { className: "copilotKitCodeBlockToolbarButton", onClick: onCopy, children: isCopied ? CheckIcon : CopyIcon })
914
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "copilotKitCodeBlock", children: [
915
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "copilotKitCodeBlockToolbar", children: [
916
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: "copilotKitCodeBlockToolbarLanguage", children: language }),
917
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "copilotKitCodeBlockToolbarButtons", children: [
918
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("button", { className: "copilotKitCodeBlockToolbarButton", onClick: downloadAsFile, children: DownloadIcon }),
919
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("button", { className: "copilotKitCodeBlockToolbarButton", onClick: onCopy, children: isCopied ? CheckIcon : CopyIcon })
1185
920
  ] })
1186
921
  ] }),
1187
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
922
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
1188
923
  import_react_syntax_highlighter.Prism,
1189
924
  {
1190
925
  language,
@@ -1487,18 +1222,18 @@ var highlightStyle = {
1487
1222
  // src/components/chat/Markdown.tsx
1488
1223
  var import_remark_gfm = __toESM(require("remark-gfm"));
1489
1224
  var import_remark_math = __toESM(require("remark-math"));
1490
- var import_jsx_runtime11 = require("react/jsx-runtime");
1225
+ var import_jsx_runtime8 = require("react/jsx-runtime");
1491
1226
  var MemoizedReactMarkdown = (0, import_react7.memo)(
1492
1227
  import_react_markdown.default,
1493
1228
  (prevProps, nextProps) => prevProps.children === nextProps.children && prevProps.className === nextProps.className
1494
1229
  );
1495
1230
  var Markdown = ({ content }) => {
1496
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "copilotKitMarkdown", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(MemoizedReactMarkdown, { components, remarkPlugins: [import_remark_gfm.default, import_remark_math.default], children: content }) });
1231
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "copilotKitMarkdown", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(MemoizedReactMarkdown, { components, remarkPlugins: [import_remark_gfm.default, import_remark_math.default], children: content }) });
1497
1232
  };
1498
1233
  var components = {
1499
1234
  a(_a) {
1500
1235
  var _b = _a, { children } = _b, props = __objRest(_b, ["children"]);
1501
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1236
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
1502
1237
  "a",
1503
1238
  __spreadProps(__spreadValues({
1504
1239
  style: { color: "blue", textDecoration: "underline" }
@@ -1513,7 +1248,7 @@ var components = {
1513
1248
  var _d = _c, { children, className, inline } = _d, props = __objRest(_d, ["children", "className", "inline"]);
1514
1249
  if (children.length) {
1515
1250
  if (children[0] == "\u258D") {
1516
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1251
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
1517
1252
  "span",
1518
1253
  {
1519
1254
  style: {
@@ -1528,9 +1263,9 @@ var components = {
1528
1263
  }
1529
1264
  const match = /language-(\w+)/.exec(className || "");
1530
1265
  if (inline) {
1531
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("code", __spreadProps(__spreadValues({ className }, props), { children }));
1266
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("code", __spreadProps(__spreadValues({ className }, props), { children }));
1532
1267
  }
1533
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1268
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
1534
1269
  CodeBlock,
1535
1270
  __spreadValues({
1536
1271
  language: match && match[1] || "",
@@ -1543,7 +1278,7 @@ var components = {
1543
1278
 
1544
1279
  // src/components/chat/messages/AssistantMessage.tsx
1545
1280
  var import_react8 = require("react");
1546
- var import_jsx_runtime12 = require("react/jsx-runtime");
1281
+ var import_jsx_runtime9 = require("react/jsx-runtime");
1547
1282
  var AssistantMessage = (props) => {
1548
1283
  const { icons, labels } = useChatContext();
1549
1284
  const {
@@ -1584,17 +1319,17 @@ var AssistantMessage = (props) => {
1584
1319
  onThumbsDown(message);
1585
1320
  }
1586
1321
  };
1587
- const LoadingIcon = () => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { children: icons.activityIcon });
1588
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
1589
- (message || isLoading) && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "copilotKitMessage copilotKitAssistantMessage", children: [
1590
- message && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Markdown, { content: message || "" }),
1591
- isLoading && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(LoadingIcon, {}),
1592
- message && !isLoading && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
1322
+ const LoadingIcon = () => /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { children: icons.activityIcon });
1323
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_jsx_runtime9.Fragment, { children: [
1324
+ (message || isLoading) && /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className: "copilotKitMessage copilotKitAssistantMessage", children: [
1325
+ message && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Markdown, { content: message || "" }),
1326
+ isLoading && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(LoadingIcon, {}),
1327
+ message && !isLoading && /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
1593
1328
  "div",
1594
1329
  {
1595
1330
  className: `copilotKitMessageControls ${isCurrentMessage ? "currentMessage" : ""}`,
1596
1331
  children: [
1597
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1332
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1598
1333
  "button",
1599
1334
  {
1600
1335
  className: "copilotKitMessageControlButton",
@@ -1604,17 +1339,17 @@ var AssistantMessage = (props) => {
1604
1339
  children: icons.regenerateIcon
1605
1340
  }
1606
1341
  ),
1607
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1342
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1608
1343
  "button",
1609
1344
  {
1610
1345
  className: "copilotKitMessageControlButton",
1611
1346
  onClick: handleCopy,
1612
1347
  "aria-label": labels.copyToClipboard,
1613
1348
  title: labels.copyToClipboard,
1614
- children: copied ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { style: { fontSize: "10px", fontWeight: "bold" }, children: "\u2713" }) : icons.copyIcon
1349
+ children: copied ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { style: { fontSize: "10px", fontWeight: "bold" }, children: "\u2713" }) : icons.copyIcon
1615
1350
  }
1616
1351
  ),
1617
- onThumbsUp && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1352
+ onThumbsUp && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1618
1353
  "button",
1619
1354
  {
1620
1355
  className: "copilotKitMessageControlButton",
@@ -1624,7 +1359,7 @@ var AssistantMessage = (props) => {
1624
1359
  children: icons.thumbsUpIcon
1625
1360
  }
1626
1361
  ),
1627
- onThumbsDown && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1362
+ onThumbsDown && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1628
1363
  "button",
1629
1364
  {
1630
1365
  className: "copilotKitMessageControlButton",
@@ -1638,15 +1373,300 @@ var AssistantMessage = (props) => {
1638
1373
  }
1639
1374
  )
1640
1375
  ] }),
1641
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { style: { marginBottom: "0.5rem" }, children: subComponent })
1376
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { style: { marginBottom: "0.5rem" }, children: subComponent })
1642
1377
  ] });
1643
1378
  };
1644
1379
 
1645
- // src/components/chat/messages/UserMessage.tsx
1380
+ // src/components/chat/messages/RenderTextMessage.tsx
1381
+ var import_jsx_runtime10 = require("react/jsx-runtime");
1382
+ function RenderTextMessage(_a) {
1383
+ var _b = _a, {
1384
+ UserMessage: UserMessage2 = UserMessage,
1385
+ AssistantMessage: AssistantMessage2 = AssistantMessage
1386
+ } = _b, props = __objRest(_b, [
1387
+ "UserMessage",
1388
+ "AssistantMessage"
1389
+ ]);
1390
+ const {
1391
+ message,
1392
+ inProgress,
1393
+ index,
1394
+ isCurrentMessage,
1395
+ onRegenerate,
1396
+ onCopy,
1397
+ onThumbsUp,
1398
+ onThumbsDown
1399
+ } = props;
1400
+ if (message.isTextMessage()) {
1401
+ if (message.role === "user") {
1402
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1403
+ UserMessage2,
1404
+ {
1405
+ "data-message-role": "user",
1406
+ message: message.content,
1407
+ rawData: message
1408
+ },
1409
+ index
1410
+ );
1411
+ } else if (message.role == "assistant") {
1412
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1413
+ AssistantMessage2,
1414
+ {
1415
+ "data-message-role": "assistant",
1416
+ message: message.content,
1417
+ rawData: message,
1418
+ isLoading: inProgress && isCurrentMessage && !message.content,
1419
+ isGenerating: inProgress && isCurrentMessage && !!message.content,
1420
+ isCurrentMessage,
1421
+ onRegenerate,
1422
+ onCopy,
1423
+ onThumbsUp,
1424
+ onThumbsDown
1425
+ },
1426
+ index
1427
+ );
1428
+ }
1429
+ }
1430
+ }
1431
+
1432
+ // src/components/chat/messages/RenderActionExecutionMessage.tsx
1433
+ var import_runtime_client_gql2 = require("@copilotkit/runtime-client-gql");
1434
+ var import_react_core4 = require("@copilotkit/react-core");
1435
+ var import_jsx_runtime11 = require("react/jsx-runtime");
1436
+ function RenderActionExecutionMessage(_a) {
1437
+ var _b = _a, {
1438
+ AssistantMessage: AssistantMessage2 = AssistantMessage
1439
+ } = _b, props = __objRest(_b, [
1440
+ "AssistantMessage"
1441
+ ]);
1442
+ const { chatComponentsCache } = (0, import_react_core4.useCopilotContext)();
1443
+ const { message, inProgress, index, isCurrentMessage, actionResult } = props;
1444
+ if (message.isActionExecutionMessage()) {
1445
+ if (chatComponentsCache.current !== null && (chatComponentsCache.current.actions[message.name] || chatComponentsCache.current.actions["*"])) {
1446
+ const render = chatComponentsCache.current.actions[message.name] || chatComponentsCache.current.actions["*"];
1447
+ if (typeof render === "string") {
1448
+ if (isCurrentMessage && inProgress) {
1449
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1450
+ AssistantMessage2,
1451
+ {
1452
+ rawData: message,
1453
+ "data-message-role": "assistant",
1454
+ isLoading: false,
1455
+ isGenerating: true,
1456
+ message: render
1457
+ },
1458
+ index
1459
+ );
1460
+ } else {
1461
+ return null;
1462
+ }
1463
+ } else {
1464
+ const args = message.arguments;
1465
+ let status = "inProgress";
1466
+ if (actionResult !== void 0) {
1467
+ status = "complete";
1468
+ } else if (message.status.code !== import_runtime_client_gql2.MessageStatusCode.Pending) {
1469
+ status = "executing";
1470
+ }
1471
+ try {
1472
+ const toRender = render({
1473
+ status,
1474
+ args,
1475
+ result: actionResult,
1476
+ name: message.name
1477
+ });
1478
+ if (!toRender && status === "complete") {
1479
+ return null;
1480
+ }
1481
+ if (typeof toRender === "string") {
1482
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1483
+ AssistantMessage2,
1484
+ {
1485
+ rawData: message,
1486
+ "data-message-role": "assistant",
1487
+ isLoading: false,
1488
+ isGenerating: false,
1489
+ message: toRender
1490
+ },
1491
+ index
1492
+ );
1493
+ } else {
1494
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1495
+ AssistantMessage2,
1496
+ {
1497
+ rawData: message,
1498
+ "data-message-role": "action-render",
1499
+ isLoading: false,
1500
+ isGenerating: false,
1501
+ subComponent: toRender
1502
+ },
1503
+ index
1504
+ );
1505
+ }
1506
+ } catch (e) {
1507
+ console.error(`Error executing render function for action ${message.name}: ${e}`);
1508
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1509
+ AssistantMessage2,
1510
+ {
1511
+ rawData: message,
1512
+ "data-message-role": "assistant",
1513
+ isLoading: false,
1514
+ isGenerating: false,
1515
+ subComponent: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "copilotKitMessage copilotKitAssistantMessage", children: [
1516
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("b", { children: [
1517
+ "\u274C Error executing render function for action ",
1518
+ message.name,
1519
+ ":"
1520
+ ] }),
1521
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("pre", { children: e instanceof Error ? e.message : String(e) })
1522
+ ] })
1523
+ },
1524
+ index
1525
+ );
1526
+ }
1527
+ }
1528
+ } else if (!inProgress || !isCurrentMessage) {
1529
+ return null;
1530
+ } else {
1531
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1532
+ AssistantMessage2,
1533
+ {
1534
+ rawData: message,
1535
+ "data-message-role": "assistant",
1536
+ isLoading: true,
1537
+ isGenerating: true
1538
+ },
1539
+ index
1540
+ );
1541
+ }
1542
+ }
1543
+ }
1544
+
1545
+ // src/components/chat/messages/RenderResultMessage.tsx
1546
+ var import_jsx_runtime12 = require("react/jsx-runtime");
1547
+ function RenderResultMessage(_a) {
1548
+ var _b = _a, {
1549
+ AssistantMessage: AssistantMessage2 = AssistantMessage
1550
+ } = _b, props = __objRest(_b, [
1551
+ "AssistantMessage"
1552
+ ]);
1553
+ const { message, inProgress, index, isCurrentMessage } = props;
1554
+ if (message.isResultMessage() && inProgress && isCurrentMessage) {
1555
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1556
+ AssistantMessage2,
1557
+ {
1558
+ "data-message-role": "assistant",
1559
+ rawData: message,
1560
+ isLoading: true,
1561
+ isGenerating: true
1562
+ },
1563
+ index
1564
+ );
1565
+ } else {
1566
+ return null;
1567
+ }
1568
+ }
1569
+
1570
+ // src/components/chat/messages/RenderAgentStateMessage.tsx
1571
+ var import_react_core5 = require("@copilotkit/react-core");
1646
1572
  var import_jsx_runtime13 = require("react/jsx-runtime");
1647
- var UserMessage = (props) => {
1648
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "copilotKitMessage copilotKitUserMessage", children: props.message });
1649
- };
1573
+ function RenderAgentStateMessage(_a) {
1574
+ var _b = _a, {
1575
+ AssistantMessage: AssistantMessage2 = AssistantMessage
1576
+ } = _b, props = __objRest(_b, [
1577
+ "AssistantMessage"
1578
+ ]);
1579
+ const { chatComponentsCache } = (0, import_react_core5.useCopilotContext)();
1580
+ const { message, inProgress, index, isCurrentMessage } = props;
1581
+ if (message.isAgentStateMessage()) {
1582
+ let render;
1583
+ if (chatComponentsCache.current !== null) {
1584
+ render = chatComponentsCache.current.coAgentStateRenders[`${message.agentName}-${message.nodeName}`] || chatComponentsCache.current.coAgentStateRenders[`${message.agentName}-global`];
1585
+ }
1586
+ if (render) {
1587
+ if (typeof render === "string") {
1588
+ if (isCurrentMessage && inProgress) {
1589
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1590
+ AssistantMessage2,
1591
+ {
1592
+ rawData: message,
1593
+ message: render,
1594
+ "data-message-role": "assistant",
1595
+ isLoading: true,
1596
+ isGenerating: true
1597
+ },
1598
+ index
1599
+ );
1600
+ } else {
1601
+ return null;
1602
+ }
1603
+ } else {
1604
+ const state = message.state;
1605
+ let status = message.active ? "inProgress" : "complete";
1606
+ const toRender = render({
1607
+ status,
1608
+ state,
1609
+ nodeName: message.nodeName
1610
+ });
1611
+ if (!toRender && status === "complete") {
1612
+ return null;
1613
+ }
1614
+ if (!toRender && isCurrentMessage && inProgress) {
1615
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1616
+ AssistantMessage2,
1617
+ {
1618
+ "data-message-role": "assistant",
1619
+ rawData: message,
1620
+ isLoading: true,
1621
+ isGenerating: true
1622
+ },
1623
+ index
1624
+ );
1625
+ } else if (!toRender) {
1626
+ return null;
1627
+ }
1628
+ if (typeof toRender === "string") {
1629
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1630
+ AssistantMessage2,
1631
+ {
1632
+ rawData: message,
1633
+ message: toRender,
1634
+ isLoading: true,
1635
+ isGenerating: true,
1636
+ "data-message-role": "assistant"
1637
+ },
1638
+ index
1639
+ );
1640
+ } else {
1641
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1642
+ AssistantMessage2,
1643
+ {
1644
+ rawData: message,
1645
+ "data-message-role": "agent-state-render",
1646
+ isLoading: false,
1647
+ isGenerating: false,
1648
+ subComponent: toRender
1649
+ },
1650
+ index
1651
+ );
1652
+ }
1653
+ }
1654
+ } else if (!inProgress || !isCurrentMessage) {
1655
+ return null;
1656
+ } else {
1657
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1658
+ AssistantMessage2,
1659
+ {
1660
+ rawData: message,
1661
+ isLoading: true,
1662
+ isGenerating: true,
1663
+ "data-message-role": "assistant"
1664
+ },
1665
+ index
1666
+ );
1667
+ }
1668
+ }
1669
+ }
1650
1670
 
1651
1671
  // src/components/chat/Suggestion.tsx
1652
1672
  var import_react_core6 = require("@copilotkit/react-core");