@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.
- package/CHANGELOG.md +9 -0
- package/dist/{chunk-LGMQR7XG.mjs → chunk-4LA24FID.mjs} +2 -2
- package/dist/{chunk-QTD2KREC.mjs → chunk-6YTN3554.mjs} +2 -2
- package/dist/{chunk-6F2ZAK7T.mjs → chunk-AENUXMIK.mjs} +2 -2
- package/dist/{chunk-7RIBDD4K.mjs → chunk-GOJ36LAI.mjs} +21 -6
- package/dist/chunk-GOJ36LAI.mjs.map +1 -0
- package/dist/{chunk-XB6QCUPB.mjs → chunk-NMNC4ROZ.mjs} +20 -8
- package/dist/chunk-NMNC4ROZ.mjs.map +1 -0
- package/dist/{chunk-UWWMAJ7R.mjs → chunk-Q2YY2NX3.mjs} +20 -8
- package/dist/chunk-Q2YY2NX3.mjs.map +1 -0
- package/dist/{chunk-7EDMOLGH.mjs → chunk-T2MTGCY3.mjs} +8 -8
- package/dist/{chunk-WEYDZBT7.mjs → chunk-WNC6OCIB.mjs} +16 -4
- package/dist/chunk-WNC6OCIB.mjs.map +1 -0
- package/dist/components/chat/Chat.js +320 -300
- package/dist/components/chat/Chat.js.map +1 -1
- package/dist/components/chat/Chat.mjs +5 -5
- package/dist/components/chat/Modal.js +320 -300
- package/dist/components/chat/Modal.js.map +1 -1
- package/dist/components/chat/Modal.mjs +6 -6
- package/dist/components/chat/Popup.js +320 -300
- package/dist/components/chat/Popup.js.map +1 -1
- package/dist/components/chat/Popup.mjs +7 -7
- package/dist/components/chat/Sidebar.js +320 -300
- package/dist/components/chat/Sidebar.js.map +1 -1
- package/dist/components/chat/Sidebar.mjs +7 -7
- package/dist/components/chat/index.js +320 -300
- package/dist/components/chat/index.js.map +1 -1
- package/dist/components/chat/index.mjs +8 -8
- package/dist/components/chat/messages/RenderActionExecutionMessage.d.ts +1 -1
- package/dist/components/chat/messages/RenderActionExecutionMessage.js +696 -15
- package/dist/components/chat/messages/RenderActionExecutionMessage.js.map +1 -1
- package/dist/components/chat/messages/RenderActionExecutionMessage.mjs +7 -1
- package/dist/components/chat/messages/RenderAgentStateMessage.d.ts +1 -1
- package/dist/components/chat/messages/RenderAgentStateMessage.js +693 -12
- package/dist/components/chat/messages/RenderAgentStateMessage.js.map +1 -1
- package/dist/components/chat/messages/RenderAgentStateMessage.mjs +7 -1
- package/dist/components/chat/messages/RenderResultMessage.d.ts +1 -1
- package/dist/components/chat/messages/RenderResultMessage.js +685 -4
- package/dist/components/chat/messages/RenderResultMessage.js.map +1 -1
- package/dist/components/chat/messages/RenderResultMessage.mjs +7 -1
- package/dist/components/chat/messages/RenderTextMessage.d.ts +1 -1
- package/dist/components/chat/messages/RenderTextMessage.js +694 -7
- package/dist/components/chat/messages/RenderTextMessage.js.map +1 -1
- package/dist/components/chat/messages/RenderTextMessage.mjs +8 -1
- package/dist/components/chat/props.d.ts +2 -2
- package/dist/components/chat/props.js.map +1 -1
- package/dist/components/index.js +320 -300
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +8 -8
- package/dist/index.js +320 -300
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +8 -8
- package/package.json +6 -6
- package/src/components/chat/messages/RenderActionExecutionMessage.tsx +6 -2
- package/src/components/chat/messages/RenderAgentStateMessage.tsx +6 -2
- package/src/components/chat/messages/RenderResultMessage.tsx +6 -2
- package/src/components/chat/messages/RenderTextMessage.tsx +7 -3
- package/src/components/chat/props.ts +2 -2
- package/dist/chunk-7RIBDD4K.mjs.map +0 -1
- package/dist/chunk-UWWMAJ7R.mjs.map +0 -1
- package/dist/chunk-WEYDZBT7.mjs.map +0 -1
- package/dist/chunk-XB6QCUPB.mjs.map +0 -1
- /package/dist/{chunk-LGMQR7XG.mjs.map → chunk-4LA24FID.mjs.map} +0 -0
- /package/dist/{chunk-QTD2KREC.mjs.map → chunk-6YTN3554.mjs.map} +0 -0
- /package/dist/{chunk-6F2ZAK7T.mjs.map → chunk-AENUXMIK.mjs.map} +0 -0
- /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/
|
|
814
|
+
// src/components/chat/messages/UserMessage.tsx
|
|
815
815
|
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
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
|
|
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,
|
|
1180
|
-
/* @__PURE__ */ (0,
|
|
1181
|
-
/* @__PURE__ */ (0,
|
|
1182
|
-
/* @__PURE__ */ (0,
|
|
1183
|
-
/* @__PURE__ */ (0,
|
|
1184
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
1266
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("code", __spreadProps(__spreadValues({ className }, props), { children }));
|
|
1532
1267
|
}
|
|
1533
|
-
return /* @__PURE__ */ (0,
|
|
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
|
|
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,
|
|
1588
|
-
return /* @__PURE__ */ (0,
|
|
1589
|
-
(message || isLoading) && /* @__PURE__ */ (0,
|
|
1590
|
-
message && /* @__PURE__ */ (0,
|
|
1591
|
-
isLoading && /* @__PURE__ */ (0,
|
|
1592
|
-
message && !isLoading && /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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/
|
|
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
|
-
|
|
1648
|
-
|
|
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");
|