@copilotkit/react-ui 0.37.0 → 0.38.0-beta.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/.turbo/turbo-build.log +72 -77
- package/CHANGELOG.md +13 -0
- package/dist/{chunk-IEV5SYHX.mjs → chunk-5B6K3N4M.mjs} +7 -7
- package/dist/{chunk-GKZ5DRPT.mjs → chunk-B5UDC4YJ.mjs} +2 -2
- package/dist/chunk-DYXI54LF.mjs +126 -0
- package/dist/chunk-DYXI54LF.mjs.map +1 -0
- package/dist/{chunk-F4KCDLRJ.mjs → chunk-GICTFOCR.mjs} +11 -11
- package/dist/chunk-GICTFOCR.mjs.map +1 -0
- package/dist/{chunk-MSSOYSBR.mjs → chunk-U3TLLYFC.mjs} +2 -2
- package/dist/{chunk-4MKP23AD.mjs → chunk-U566UC72.mjs} +9 -2
- package/dist/chunk-U566UC72.mjs.map +1 -0
- package/dist/{chunk-LZHY5L7A.mjs → chunk-U6J5DGOE.mjs} +2 -2
- package/dist/{chunk-ANO23V2M.mjs → chunk-VOBX4JOA.mjs} +5 -2
- package/dist/chunk-VOBX4JOA.mjs.map +1 -0
- package/dist/components/chat/Button.d.ts +1 -1
- package/dist/components/chat/Chat.d.ts +1 -1
- package/dist/components/chat/Chat.js +73 -65
- package/dist/components/chat/Chat.js.map +1 -1
- package/dist/components/chat/Chat.mjs +7 -7
- package/dist/components/chat/Header.d.ts +1 -1
- package/dist/components/chat/Input.d.ts +1 -1
- package/dist/components/chat/Input.js +4 -1
- package/dist/components/chat/Input.js.map +1 -1
- package/dist/components/chat/Input.mjs +2 -2
- package/dist/components/chat/Messages.d.ts +1 -1
- package/dist/components/chat/Messages.js +55 -59
- package/dist/components/chat/Messages.js.map +1 -1
- package/dist/components/chat/Messages.mjs +2 -2
- package/dist/components/chat/Modal.d.ts +1 -1
- package/dist/components/chat/Modal.js +73 -65
- package/dist/components/chat/Modal.js.map +1 -1
- package/dist/components/chat/Modal.mjs +8 -8
- package/dist/components/chat/Popup.d.ts +1 -1
- package/dist/components/chat/Popup.js +73 -65
- package/dist/components/chat/Popup.js.map +1 -1
- package/dist/components/chat/Popup.mjs +9 -9
- package/dist/components/chat/Response.d.ts +1 -1
- package/dist/components/chat/Sidebar.d.ts +1 -1
- package/dist/components/chat/Sidebar.js +73 -65
- package/dist/components/chat/Sidebar.js.map +1 -1
- package/dist/components/chat/Sidebar.mjs +9 -9
- package/dist/components/chat/Suggestion.d.ts +1 -1
- package/dist/components/chat/Suggestion.js +8 -1
- package/dist/components/chat/Suggestion.js.map +1 -1
- package/dist/components/chat/Suggestion.mjs +1 -1
- package/dist/components/chat/Window.d.ts +1 -1
- package/dist/components/chat/index.d.ts +1 -1
- package/dist/components/chat/index.js +73 -65
- package/dist/components/chat/index.js.map +1 -1
- package/dist/components/chat/index.mjs +10 -10
- package/dist/components/chat/props.d.ts +1 -1
- package/dist/components/chat/props.js.map +1 -1
- package/dist/components/index.d.ts +1 -1
- package/dist/components/index.js +73 -65
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +10 -10
- package/dist/hooks/use-push-to-talk.d.ts +1 -1
- package/dist/hooks/use-push-to-talk.js +4 -1
- package/dist/hooks/use-push-to-talk.js.map +1 -1
- package/dist/hooks/use-push-to-talk.mjs +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +75 -67
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +10 -10
- package/package.json +7 -6
- package/src/components/chat/Chat.tsx +4 -5
- package/src/components/chat/Messages.tsx +98 -98
- package/src/components/chat/Suggestion.tsx +9 -1
- package/src/components/chat/props.ts +1 -1
- package/src/hooks/use-push-to-talk.tsx +5 -3
- package/dist/chunk-23PTCJ2T.mjs +0 -122
- package/dist/chunk-23PTCJ2T.mjs.map +0 -1
- package/dist/chunk-4MKP23AD.mjs.map +0 -1
- package/dist/chunk-ANO23V2M.mjs.map +0 -1
- package/dist/chunk-F4KCDLRJ.mjs.map +0 -1
- package/dist/types/types.d.ts +0 -16
- package/dist/types/types.js +0 -19
- package/dist/types/types.js.map +0 -1
- package/dist/types/types.mjs +0 -1
- package/dist/types/types.mjs.map +0 -1
- package/src/types/types.ts +0 -18
- /package/dist/{chunk-IEV5SYHX.mjs.map → chunk-5B6K3N4M.mjs.map} +0 -0
- /package/dist/{chunk-GKZ5DRPT.mjs.map → chunk-B5UDC4YJ.mjs.map} +0 -0
- /package/dist/{chunk-MSSOYSBR.mjs.map → chunk-U3TLLYFC.mjs.map} +0 -0
- /package/dist/{chunk-LZHY5L7A.mjs.map → chunk-U6J5DGOE.mjs.map} +0 -0
|
@@ -512,8 +512,6 @@ var Header = ({ setOpen }) => {
|
|
|
512
512
|
|
|
513
513
|
// src/components/chat/Messages.tsx
|
|
514
514
|
var import_react5 = __toESM(require("react"));
|
|
515
|
-
var import_nanoid = require("nanoid");
|
|
516
|
-
var import_shared = require("@copilotkit/shared");
|
|
517
515
|
|
|
518
516
|
// src/components/chat/Markdown.tsx
|
|
519
517
|
var import_react4 = require("react");
|
|
@@ -985,6 +983,7 @@ var components = {
|
|
|
985
983
|
|
|
986
984
|
// src/components/chat/Messages.tsx
|
|
987
985
|
var import_react_core = require("@copilotkit/react-core");
|
|
986
|
+
var import_runtime_client_gql = require("@copilotkit/runtime-client-gql");
|
|
988
987
|
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
989
988
|
var Messages = ({ messages, inProgress, children }) => {
|
|
990
989
|
const { chatComponentsCache } = (0, import_react_core.useCopilotContext)();
|
|
@@ -996,10 +995,13 @@ var Messages = ({ messages, inProgress, children }) => {
|
|
|
996
995
|
messages = [...initialMessages, ...messages];
|
|
997
996
|
const functionResults = {};
|
|
998
997
|
for (let i = 0; i < messages.length; i++) {
|
|
999
|
-
if (messages[i]
|
|
998
|
+
if (messages[i] instanceof import_runtime_client_gql.ActionExecutionMessage) {
|
|
1000
999
|
const id = messages[i].id;
|
|
1001
|
-
|
|
1002
|
-
|
|
1000
|
+
const resultMessage = messages.find(
|
|
1001
|
+
(message) => message instanceof import_runtime_client_gql.ResultMessage && message.actionExecutionId === id
|
|
1002
|
+
);
|
|
1003
|
+
if (resultMessage) {
|
|
1004
|
+
functionResults[id] = import_runtime_client_gql.ResultMessage.decodeResult(resultMessage.result || "");
|
|
1003
1005
|
}
|
|
1004
1006
|
}
|
|
1005
1007
|
}
|
|
@@ -1016,60 +1018,55 @@ var Messages = ({ messages, inProgress, children }) => {
|
|
|
1016
1018
|
}, [messages]);
|
|
1017
1019
|
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "copilotKitMessages", children: [
|
|
1018
1020
|
messages.map((message, index) => {
|
|
1019
|
-
var _a, _b, _c;
|
|
1020
1021
|
const isCurrentMessage = index === messages.length - 1;
|
|
1021
|
-
if (message.role === "user") {
|
|
1022
|
+
if (message instanceof import_runtime_client_gql.TextMessage && message.role === "user") {
|
|
1022
1023
|
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "copilotKitMessage copilotKitUserMessage", children: message.content }, index);
|
|
1023
|
-
} else if (message.role == "assistant") {
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
const
|
|
1028
|
-
if (
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: "inProgressLabel", children: render })
|
|
1036
|
-
] }, index);
|
|
1037
|
-
} else {
|
|
1038
|
-
return null;
|
|
1039
|
-
}
|
|
1024
|
+
} else if (message instanceof import_runtime_client_gql.TextMessage && message.role == "assistant") {
|
|
1025
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: isCurrentMessage && inProgress && !message.content ? context.icons.spinnerIcon : /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Markdown, { content: message.content }) }, index);
|
|
1026
|
+
} else if (message instanceof import_runtime_client_gql.ActionExecutionMessage) {
|
|
1027
|
+
if (chatComponentsCache.current !== null && chatComponentsCache.current[message.name]) {
|
|
1028
|
+
const render = chatComponentsCache.current[message.name];
|
|
1029
|
+
if (typeof render === "string") {
|
|
1030
|
+
if (isCurrentMessage && inProgress) {
|
|
1031
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: [
|
|
1032
|
+
context.icons.spinnerIcon,
|
|
1033
|
+
" ",
|
|
1034
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: "inProgressLabel", children: render })
|
|
1035
|
+
] }, index);
|
|
1040
1036
|
} else {
|
|
1041
|
-
|
|
1042
|
-
let status = "inProgress";
|
|
1043
|
-
if (functionResults[message.id] !== void 0) {
|
|
1044
|
-
status = "complete";
|
|
1045
|
-
} else if (message.function_call) {
|
|
1046
|
-
status = "executing";
|
|
1047
|
-
}
|
|
1048
|
-
const toRender = render({
|
|
1049
|
-
status,
|
|
1050
|
-
args,
|
|
1051
|
-
result: functionResults[message.id]
|
|
1052
|
-
});
|
|
1053
|
-
if (!toRender && status === "complete") {
|
|
1054
|
-
return null;
|
|
1055
|
-
}
|
|
1056
|
-
if (typeof toRender === "string") {
|
|
1057
|
-
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: [
|
|
1058
|
-
isCurrentMessage && inProgress && context.icons.spinnerIcon,
|
|
1059
|
-
" ",
|
|
1060
|
-
toRender
|
|
1061
|
-
] }, index);
|
|
1062
|
-
} else {
|
|
1063
|
-
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "copilotKitCustomAssistantMessage", children: toRender }, index);
|
|
1064
|
-
}
|
|
1037
|
+
return null;
|
|
1065
1038
|
}
|
|
1066
|
-
} else if ((!inProgress || !isCurrentMessage) && message.function_call) {
|
|
1067
|
-
return null;
|
|
1068
1039
|
} else {
|
|
1069
|
-
|
|
1040
|
+
const args = message.arguments;
|
|
1041
|
+
let status = "inProgress";
|
|
1042
|
+
if (functionResults[message.id] !== void 0) {
|
|
1043
|
+
status = "complete";
|
|
1044
|
+
} else if (message.status.code !== import_runtime_client_gql.MessageStatusCode.Pending) {
|
|
1045
|
+
status = "executing";
|
|
1046
|
+
}
|
|
1047
|
+
const toRender = render({
|
|
1048
|
+
status,
|
|
1049
|
+
args,
|
|
1050
|
+
result: functionResults[message.id]
|
|
1051
|
+
});
|
|
1052
|
+
if (!toRender && status === "complete") {
|
|
1053
|
+
return null;
|
|
1054
|
+
}
|
|
1055
|
+
if (typeof toRender === "string") {
|
|
1056
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: [
|
|
1057
|
+
isCurrentMessage && inProgress && context.icons.spinnerIcon,
|
|
1058
|
+
" ",
|
|
1059
|
+
toRender
|
|
1060
|
+
] }, index);
|
|
1061
|
+
} else {
|
|
1062
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "copilotKitCustomAssistantMessage", children: toRender }, index);
|
|
1063
|
+
}
|
|
1070
1064
|
}
|
|
1065
|
+
} else if (!inProgress || !isCurrentMessage) {
|
|
1066
|
+
return null;
|
|
1067
|
+
} else {
|
|
1068
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: context.icons.spinnerIcon }, index);
|
|
1071
1069
|
}
|
|
1072
|
-
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Markdown, { content: message.content }) }, index);
|
|
1073
1070
|
}
|
|
1074
1071
|
}),
|
|
1075
1072
|
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("footer", { ref: messagesEndRef, children })
|
|
@@ -1084,11 +1081,12 @@ function makeInitialMessages(initial) {
|
|
|
1084
1081
|
initialArray.push(initial);
|
|
1085
1082
|
}
|
|
1086
1083
|
}
|
|
1087
|
-
return initialArray.map(
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1084
|
+
return initialArray.map(
|
|
1085
|
+
(message) => new import_runtime_client_gql.TextMessage({
|
|
1086
|
+
role: import_runtime_client_gql.Role.Assistant,
|
|
1087
|
+
content: message
|
|
1088
|
+
})
|
|
1089
|
+
);
|
|
1092
1090
|
}
|
|
1093
1091
|
|
|
1094
1092
|
// src/components/chat/Input.tsx
|
|
@@ -1145,6 +1143,7 @@ var Textarea_default = AutoResizingTextarea;
|
|
|
1145
1143
|
|
|
1146
1144
|
// src/hooks/use-push-to-talk.tsx
|
|
1147
1145
|
var import_react_core2 = require("@copilotkit/react-core");
|
|
1146
|
+
var import_runtime_client_gql2 = require("@copilotkit/runtime-client-gql");
|
|
1148
1147
|
var import_react7 = require("react");
|
|
1149
1148
|
var startRecording = (mediaStreamRef, mediaRecorderRef, audioContextRef, recordedChunks, onStop) => __async(void 0, null, function* () {
|
|
1150
1149
|
if (!mediaStreamRef.current || !audioContextRef.current) {
|
|
@@ -1234,7 +1233,9 @@ var usePushToTalk = ({
|
|
|
1234
1233
|
const lastMessageIndex = context.messages.findIndex(
|
|
1235
1234
|
(message) => message.id === startReadingFromMessageId
|
|
1236
1235
|
);
|
|
1237
|
-
const messagesAfterLast = context.messages.slice(lastMessageIndex + 1).filter(
|
|
1236
|
+
const messagesAfterLast = context.messages.slice(lastMessageIndex + 1).filter(
|
|
1237
|
+
(message) => message instanceof import_runtime_client_gql2.TextMessage && message.role === "assistant"
|
|
1238
|
+
);
|
|
1238
1239
|
const text = messagesAfterLast.map((message) => message.content).join("\n");
|
|
1239
1240
|
playAudioResponse(text, context.copilotApiConfig.textToSpeechUrl, audioContextRef.current);
|
|
1240
1241
|
setStartReadingFromMessageId(null);
|
|
@@ -1323,6 +1324,7 @@ var ResponseButton = ({ onClick, inProgress }) => {
|
|
|
1323
1324
|
|
|
1324
1325
|
// src/components/chat/Suggestion.tsx
|
|
1325
1326
|
var import_react_core4 = require("@copilotkit/react-core");
|
|
1327
|
+
var import_shared = require("@copilotkit/shared");
|
|
1326
1328
|
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
1327
1329
|
function Suggestion({ title, message, onClick, partial, className }) {
|
|
1328
1330
|
return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
@@ -1343,7 +1345,13 @@ function Suggestion({ title, message, onClick, partial, className }) {
|
|
|
1343
1345
|
}
|
|
1344
1346
|
var reloadSuggestions = (context, chatSuggestionConfiguration, setCurrentSuggestions, abortControllerRef) => __async(void 0, null, function* () {
|
|
1345
1347
|
const abortController = abortControllerRef.current;
|
|
1346
|
-
const tools = JSON.stringify(
|
|
1348
|
+
const tools = JSON.stringify(
|
|
1349
|
+
Object.values(context.actions).map((action) => ({
|
|
1350
|
+
name: action.name,
|
|
1351
|
+
description: action.description,
|
|
1352
|
+
jsonSchema: JSON.stringify((0, import_shared.actionParametersToJsonSchema)(action.parameters))
|
|
1353
|
+
}))
|
|
1354
|
+
);
|
|
1347
1355
|
const allSuggestions = [];
|
|
1348
1356
|
for (const config of Object.values(chatSuggestionConfiguration)) {
|
|
1349
1357
|
try {
|
|
@@ -1407,7 +1415,8 @@ var reloadSuggestions = (context, chatSuggestionConfiguration, setCurrentSuggest
|
|
|
1407
1415
|
// src/components/chat/Chat.tsx
|
|
1408
1416
|
var import_react9 = __toESM(require("react"));
|
|
1409
1417
|
var import_react_core5 = require("@copilotkit/react-core");
|
|
1410
|
-
var
|
|
1418
|
+
var import_nanoid = require("nanoid");
|
|
1419
|
+
var import_runtime_client_gql3 = require("@copilotkit/runtime-client-gql");
|
|
1411
1420
|
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
1412
1421
|
function CopilotChat({
|
|
1413
1422
|
instructions,
|
|
@@ -1479,7 +1488,7 @@ function WrappedCopilotChat({
|
|
|
1479
1488
|
var SUGGESTIONS_DEBOUNCE_TIMEOUT = 1e3;
|
|
1480
1489
|
var useCopilotChatLogic = (makeSystemMessage, onInProgress, onSubmitMessage) => {
|
|
1481
1490
|
const { visibleMessages, appendMessage, reloadMessages, stopGeneration, isLoading } = (0, import_react_core5.useCopilotChat)({
|
|
1482
|
-
id: (0,
|
|
1491
|
+
id: (0, import_nanoid.nanoid)(),
|
|
1483
1492
|
makeSystemMessage
|
|
1484
1493
|
});
|
|
1485
1494
|
const [currentSuggestions, setCurrentSuggestions] = (0, import_react9.useState)([]);
|
|
@@ -1516,11 +1525,10 @@ var useCopilotChatLogic = (makeSystemMessage, onInProgress, onSubmitMessage) =>
|
|
|
1516
1525
|
abortSuggestions();
|
|
1517
1526
|
setCurrentSuggestions([]);
|
|
1518
1527
|
onSubmitMessage == null ? void 0 : onSubmitMessage(messageContent);
|
|
1519
|
-
const message = {
|
|
1520
|
-
id: (0, import_nanoid2.nanoid)(),
|
|
1528
|
+
const message = new import_runtime_client_gql3.TextMessage({
|
|
1521
1529
|
content: messageContent,
|
|
1522
|
-
role:
|
|
1523
|
-
};
|
|
1530
|
+
role: import_runtime_client_gql3.Role.User
|
|
1531
|
+
});
|
|
1524
1532
|
appendMessage(message);
|
|
1525
1533
|
return message;
|
|
1526
1534
|
});
|