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