@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
|
@@ -510,8 +510,6 @@ var Header = ({ setOpen }) => {
|
|
|
510
510
|
|
|
511
511
|
// src/components/chat/Messages.tsx
|
|
512
512
|
var import_react5 = __toESM(require("react"));
|
|
513
|
-
var import_nanoid = require("nanoid");
|
|
514
|
-
var import_shared = require("@copilotkit/shared");
|
|
515
513
|
|
|
516
514
|
// src/components/chat/Markdown.tsx
|
|
517
515
|
var import_react4 = require("react");
|
|
@@ -983,6 +981,7 @@ var components = {
|
|
|
983
981
|
|
|
984
982
|
// src/components/chat/Messages.tsx
|
|
985
983
|
var import_react_core = require("@copilotkit/react-core");
|
|
984
|
+
var import_runtime_client_gql = require("@copilotkit/runtime-client-gql");
|
|
986
985
|
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
987
986
|
var Messages = ({ messages, inProgress, children }) => {
|
|
988
987
|
const { chatComponentsCache } = (0, import_react_core.useCopilotContext)();
|
|
@@ -994,10 +993,13 @@ var Messages = ({ messages, inProgress, children }) => {
|
|
|
994
993
|
messages = [...initialMessages, ...messages];
|
|
995
994
|
const functionResults = {};
|
|
996
995
|
for (let i = 0; i < messages.length; i++) {
|
|
997
|
-
if (messages[i]
|
|
996
|
+
if (messages[i] instanceof import_runtime_client_gql.ActionExecutionMessage) {
|
|
998
997
|
const id = messages[i].id;
|
|
999
|
-
|
|
1000
|
-
|
|
998
|
+
const resultMessage = messages.find(
|
|
999
|
+
(message) => message instanceof import_runtime_client_gql.ResultMessage && message.actionExecutionId === id
|
|
1000
|
+
);
|
|
1001
|
+
if (resultMessage) {
|
|
1002
|
+
functionResults[id] = import_runtime_client_gql.ResultMessage.decodeResult(resultMessage.result || "");
|
|
1001
1003
|
}
|
|
1002
1004
|
}
|
|
1003
1005
|
}
|
|
@@ -1014,60 +1016,55 @@ var Messages = ({ messages, inProgress, children }) => {
|
|
|
1014
1016
|
}, [messages]);
|
|
1015
1017
|
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "copilotKitMessages", children: [
|
|
1016
1018
|
messages.map((message, index) => {
|
|
1017
|
-
var _a, _b, _c;
|
|
1018
1019
|
const isCurrentMessage = index === messages.length - 1;
|
|
1019
|
-
if (message.role === "user") {
|
|
1020
|
+
if (message instanceof import_runtime_client_gql.TextMessage && message.role === "user") {
|
|
1020
1021
|
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "copilotKitMessage copilotKitUserMessage", children: message.content }, index);
|
|
1021
|
-
} else if (message.role == "assistant") {
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
const
|
|
1026
|
-
if (
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: "inProgressLabel", children: render })
|
|
1034
|
-
] }, index);
|
|
1035
|
-
} else {
|
|
1036
|
-
return null;
|
|
1037
|
-
}
|
|
1022
|
+
} else if (message instanceof import_runtime_client_gql.TextMessage && message.role == "assistant") {
|
|
1023
|
+
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);
|
|
1024
|
+
} else if (message instanceof import_runtime_client_gql.ActionExecutionMessage) {
|
|
1025
|
+
if (chatComponentsCache.current !== null && chatComponentsCache.current[message.name]) {
|
|
1026
|
+
const render = chatComponentsCache.current[message.name];
|
|
1027
|
+
if (typeof render === "string") {
|
|
1028
|
+
if (isCurrentMessage && inProgress) {
|
|
1029
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: [
|
|
1030
|
+
context.icons.spinnerIcon,
|
|
1031
|
+
" ",
|
|
1032
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: "inProgressLabel", children: render })
|
|
1033
|
+
] }, index);
|
|
1038
1034
|
} else {
|
|
1039
|
-
|
|
1040
|
-
let status = "inProgress";
|
|
1041
|
-
if (functionResults[message.id] !== void 0) {
|
|
1042
|
-
status = "complete";
|
|
1043
|
-
} else if (message.function_call) {
|
|
1044
|
-
status = "executing";
|
|
1045
|
-
}
|
|
1046
|
-
const toRender = render({
|
|
1047
|
-
status,
|
|
1048
|
-
args,
|
|
1049
|
-
result: functionResults[message.id]
|
|
1050
|
-
});
|
|
1051
|
-
if (!toRender && status === "complete") {
|
|
1052
|
-
return null;
|
|
1053
|
-
}
|
|
1054
|
-
if (typeof toRender === "string") {
|
|
1055
|
-
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: [
|
|
1056
|
-
isCurrentMessage && inProgress && context.icons.spinnerIcon,
|
|
1057
|
-
" ",
|
|
1058
|
-
toRender
|
|
1059
|
-
] }, index);
|
|
1060
|
-
} else {
|
|
1061
|
-
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "copilotKitCustomAssistantMessage", children: toRender }, index);
|
|
1062
|
-
}
|
|
1035
|
+
return null;
|
|
1063
1036
|
}
|
|
1064
|
-
} else if ((!inProgress || !isCurrentMessage) && message.function_call) {
|
|
1065
|
-
return null;
|
|
1066
1037
|
} else {
|
|
1067
|
-
|
|
1038
|
+
const args = message.arguments;
|
|
1039
|
+
let status = "inProgress";
|
|
1040
|
+
if (functionResults[message.id] !== void 0) {
|
|
1041
|
+
status = "complete";
|
|
1042
|
+
} else if (message.status.code !== import_runtime_client_gql.MessageStatusCode.Pending) {
|
|
1043
|
+
status = "executing";
|
|
1044
|
+
}
|
|
1045
|
+
const toRender = render({
|
|
1046
|
+
status,
|
|
1047
|
+
args,
|
|
1048
|
+
result: functionResults[message.id]
|
|
1049
|
+
});
|
|
1050
|
+
if (!toRender && status === "complete") {
|
|
1051
|
+
return null;
|
|
1052
|
+
}
|
|
1053
|
+
if (typeof toRender === "string") {
|
|
1054
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: [
|
|
1055
|
+
isCurrentMessage && inProgress && context.icons.spinnerIcon,
|
|
1056
|
+
" ",
|
|
1057
|
+
toRender
|
|
1058
|
+
] }, index);
|
|
1059
|
+
} else {
|
|
1060
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "copilotKitCustomAssistantMessage", children: toRender }, index);
|
|
1061
|
+
}
|
|
1068
1062
|
}
|
|
1063
|
+
} else if (!inProgress || !isCurrentMessage) {
|
|
1064
|
+
return null;
|
|
1065
|
+
} else {
|
|
1066
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: context.icons.spinnerIcon }, index);
|
|
1069
1067
|
}
|
|
1070
|
-
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Markdown, { content: message.content }) }, index);
|
|
1071
1068
|
}
|
|
1072
1069
|
}),
|
|
1073
1070
|
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("footer", { ref: messagesEndRef, children })
|
|
@@ -1082,11 +1079,12 @@ function makeInitialMessages(initial) {
|
|
|
1082
1079
|
initialArray.push(initial);
|
|
1083
1080
|
}
|
|
1084
1081
|
}
|
|
1085
|
-
return initialArray.map(
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1082
|
+
return initialArray.map(
|
|
1083
|
+
(message) => new import_runtime_client_gql.TextMessage({
|
|
1084
|
+
role: import_runtime_client_gql.Role.Assistant,
|
|
1085
|
+
content: message
|
|
1086
|
+
})
|
|
1087
|
+
);
|
|
1090
1088
|
}
|
|
1091
1089
|
|
|
1092
1090
|
// src/components/chat/Input.tsx
|
|
@@ -1143,6 +1141,7 @@ var Textarea_default = AutoResizingTextarea;
|
|
|
1143
1141
|
|
|
1144
1142
|
// src/hooks/use-push-to-talk.tsx
|
|
1145
1143
|
var import_react_core2 = require("@copilotkit/react-core");
|
|
1144
|
+
var import_runtime_client_gql2 = require("@copilotkit/runtime-client-gql");
|
|
1146
1145
|
var import_react7 = require("react");
|
|
1147
1146
|
var startRecording = (mediaStreamRef, mediaRecorderRef, audioContextRef, recordedChunks, onStop) => __async(void 0, null, function* () {
|
|
1148
1147
|
if (!mediaStreamRef.current || !audioContextRef.current) {
|
|
@@ -1232,7 +1231,9 @@ var usePushToTalk = ({
|
|
|
1232
1231
|
const lastMessageIndex = context.messages.findIndex(
|
|
1233
1232
|
(message) => message.id === startReadingFromMessageId
|
|
1234
1233
|
);
|
|
1235
|
-
const messagesAfterLast = context.messages.slice(lastMessageIndex + 1).filter(
|
|
1234
|
+
const messagesAfterLast = context.messages.slice(lastMessageIndex + 1).filter(
|
|
1235
|
+
(message) => message instanceof import_runtime_client_gql2.TextMessage && message.role === "assistant"
|
|
1236
|
+
);
|
|
1236
1237
|
const text = messagesAfterLast.map((message) => message.content).join("\n");
|
|
1237
1238
|
playAudioResponse(text, context.copilotApiConfig.textToSpeechUrl, audioContextRef.current);
|
|
1238
1239
|
setStartReadingFromMessageId(null);
|
|
@@ -1321,6 +1322,7 @@ var ResponseButton = ({ onClick, inProgress }) => {
|
|
|
1321
1322
|
|
|
1322
1323
|
// src/components/chat/Suggestion.tsx
|
|
1323
1324
|
var import_react_core4 = require("@copilotkit/react-core");
|
|
1325
|
+
var import_shared = require("@copilotkit/shared");
|
|
1324
1326
|
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
1325
1327
|
function Suggestion({ title, message, onClick, partial, className }) {
|
|
1326
1328
|
return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
@@ -1341,7 +1343,13 @@ function Suggestion({ title, message, onClick, partial, className }) {
|
|
|
1341
1343
|
}
|
|
1342
1344
|
var reloadSuggestions = (context, chatSuggestionConfiguration, setCurrentSuggestions, abortControllerRef) => __async(void 0, null, function* () {
|
|
1343
1345
|
const abortController = abortControllerRef.current;
|
|
1344
|
-
const tools = JSON.stringify(
|
|
1346
|
+
const tools = JSON.stringify(
|
|
1347
|
+
Object.values(context.actions).map((action) => ({
|
|
1348
|
+
name: action.name,
|
|
1349
|
+
description: action.description,
|
|
1350
|
+
jsonSchema: JSON.stringify((0, import_shared.actionParametersToJsonSchema)(action.parameters))
|
|
1351
|
+
}))
|
|
1352
|
+
);
|
|
1345
1353
|
const allSuggestions = [];
|
|
1346
1354
|
for (const config of Object.values(chatSuggestionConfiguration)) {
|
|
1347
1355
|
try {
|
|
@@ -1405,7 +1413,8 @@ var reloadSuggestions = (context, chatSuggestionConfiguration, setCurrentSuggest
|
|
|
1405
1413
|
// src/components/chat/Chat.tsx
|
|
1406
1414
|
var import_react9 = __toESM(require("react"));
|
|
1407
1415
|
var import_react_core5 = require("@copilotkit/react-core");
|
|
1408
|
-
var
|
|
1416
|
+
var import_nanoid = require("nanoid");
|
|
1417
|
+
var import_runtime_client_gql3 = require("@copilotkit/runtime-client-gql");
|
|
1409
1418
|
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
1410
1419
|
function CopilotChat({
|
|
1411
1420
|
instructions,
|
|
@@ -1477,7 +1486,7 @@ function WrappedCopilotChat({
|
|
|
1477
1486
|
var SUGGESTIONS_DEBOUNCE_TIMEOUT = 1e3;
|
|
1478
1487
|
var useCopilotChatLogic = (makeSystemMessage, onInProgress, onSubmitMessage) => {
|
|
1479
1488
|
const { visibleMessages, appendMessage, reloadMessages, stopGeneration, isLoading } = (0, import_react_core5.useCopilotChat)({
|
|
1480
|
-
id: (0,
|
|
1489
|
+
id: (0, import_nanoid.nanoid)(),
|
|
1481
1490
|
makeSystemMessage
|
|
1482
1491
|
});
|
|
1483
1492
|
const [currentSuggestions, setCurrentSuggestions] = (0, import_react9.useState)([]);
|
|
@@ -1514,11 +1523,10 @@ var useCopilotChatLogic = (makeSystemMessage, onInProgress, onSubmitMessage) =>
|
|
|
1514
1523
|
abortSuggestions();
|
|
1515
1524
|
setCurrentSuggestions([]);
|
|
1516
1525
|
onSubmitMessage == null ? void 0 : onSubmitMessage(messageContent);
|
|
1517
|
-
const message = {
|
|
1518
|
-
id: (0, import_nanoid2.nanoid)(),
|
|
1526
|
+
const message = new import_runtime_client_gql3.TextMessage({
|
|
1519
1527
|
content: messageContent,
|
|
1520
|
-
role:
|
|
1521
|
-
};
|
|
1528
|
+
role: import_runtime_client_gql3.Role.User
|
|
1529
|
+
});
|
|
1522
1530
|
appendMessage(message);
|
|
1523
1531
|
return message;
|
|
1524
1532
|
});
|