@copilotkit/react-ui 0.0.0-fix-debug-infosys-20251107162427 → 0.0.0-fix-restore-handle-method-node-http-20251222114321
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 +331 -5
- package/dist/{chunk-ZJCHKHE4.mjs → chunk-3W6J75HS.mjs} +13 -10
- package/dist/chunk-3W6J75HS.mjs.map +1 -0
- package/dist/{chunk-RKULVDQO.mjs → chunk-7OURDQZJ.mjs} +9 -2
- package/dist/chunk-7OURDQZJ.mjs.map +1 -0
- package/dist/{chunk-TZNQJ3NA.mjs → chunk-7PR2KJDO.mjs} +6 -6
- package/dist/{chunk-FK3XMHLY.mjs → chunk-ELUJRANC.mjs} +2 -2
- package/dist/{chunk-OWX6YJZH.mjs → chunk-HIW7RXCD.mjs} +9 -5
- package/dist/chunk-HIW7RXCD.mjs.map +1 -0
- package/dist/{chunk-KX44MLR6.mjs → chunk-IHFR6PYG.mjs} +1 -1
- package/dist/chunk-IHFR6PYG.mjs.map +1 -0
- package/dist/{chunk-52RQLNFB.mjs → chunk-LQEFRHRT.mjs} +2 -2
- package/dist/{chunk-2XARU6EY.mjs → chunk-NCIAFFQ2.mjs} +7 -3
- package/dist/chunk-NCIAFFQ2.mjs.map +1 -0
- package/dist/{chunk-W26XFBEG.mjs → chunk-NGJ32FAP.mjs} +3 -3
- package/dist/chunk-NGJ32FAP.mjs.map +1 -0
- package/dist/chunk-QB3GUN2N.mjs +31 -0
- package/dist/chunk-QB3GUN2N.mjs.map +1 -0
- package/dist/{chunk-MJEYL3FK.mjs → chunk-QPQRLXN3.mjs} +25 -255
- package/dist/chunk-QPQRLXN3.mjs.map +1 -0
- package/dist/chunk-RYUCX3ZK.mjs +32 -0
- package/dist/chunk-RYUCX3ZK.mjs.map +1 -0
- package/dist/chunk-Y4FKRAKJ.mjs +12 -0
- package/dist/chunk-Y4FKRAKJ.mjs.map +1 -0
- package/dist/components/chat/Chat.d.ts +3 -140
- package/dist/components/chat/Chat.js +80 -270
- package/dist/components/chat/Chat.js.map +1 -1
- package/dist/components/chat/Chat.mjs +12 -14
- package/dist/components/chat/Input.d.ts +1 -1
- package/dist/components/chat/Input.js +11 -8
- package/dist/components/chat/Input.js.map +1 -1
- package/dist/components/chat/Input.mjs +1 -1
- package/dist/components/chat/Messages.d.ts +3 -3
- package/dist/components/chat/Messages.js +35 -4
- package/dist/components/chat/Messages.js.map +1 -1
- package/dist/components/chat/Messages.mjs +6 -6
- package/dist/components/chat/Modal.d.ts +1 -6
- package/dist/components/chat/Modal.js +86 -274
- package/dist/components/chat/Modal.js.map +1 -1
- package/dist/components/chat/Modal.mjs +11 -11
- package/dist/components/chat/Popup.d.ts +1 -6
- package/dist/components/chat/Popup.js +86 -274
- package/dist/components/chat/Popup.js.map +1 -1
- package/dist/components/chat/Popup.mjs +12 -12
- package/dist/components/chat/Sidebar.d.ts +1 -6
- package/dist/components/chat/Sidebar.js +86 -274
- package/dist/components/chat/Sidebar.js.map +1 -1
- package/dist/components/chat/Sidebar.mjs +12 -12
- package/dist/components/chat/Suggestion.js.map +1 -1
- package/dist/components/chat/Suggestion.mjs +1 -1
- package/dist/components/chat/Suggestions.d.ts +1 -1
- package/dist/components/chat/Suggestions.js +19 -12
- package/dist/components/chat/Suggestions.js.map +1 -1
- package/dist/components/chat/Suggestions.mjs +2 -2
- package/dist/components/chat/index.d.ts +0 -5
- package/dist/components/chat/index.js +86 -274
- package/dist/components/chat/index.js.map +1 -1
- package/dist/components/chat/index.mjs +15 -15
- package/dist/components/chat/messages/AssistantMessage.js.map +1 -1
- package/dist/components/chat/messages/AssistantMessage.mjs +2 -2
- package/dist/components/chat/messages/ErrorMessage.mjs +1 -1
- package/dist/components/chat/messages/LegacyRenderMessage.js +30 -3
- package/dist/components/chat/messages/LegacyRenderMessage.js.map +1 -1
- package/dist/components/chat/messages/LegacyRenderMessage.mjs +5 -5
- package/dist/components/chat/messages/RenderMessage.d.ts +1 -1
- package/dist/components/chat/messages/RenderMessage.js +23 -3
- package/dist/components/chat/messages/RenderMessage.js.map +1 -1
- package/dist/components/chat/messages/RenderMessage.mjs +4 -4
- package/dist/components/chat/messages/UserMessage.js +19 -3
- package/dist/components/chat/messages/UserMessage.js.map +1 -1
- package/dist/components/chat/messages/UserMessage.mjs +1 -1
- package/dist/components/chat/props.d.ts +4 -0
- package/dist/components/chat/props.js.map +1 -1
- package/dist/components/index.d.ts +0 -5
- package/dist/components/index.js +86 -274
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +15 -15
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.js +2 -24
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/index.mjs +1 -1
- package/dist/hooks/use-copilot-chat-suggestions.d.ts +4 -26
- package/dist/hooks/use-copilot-chat-suggestions.js +2 -24
- package/dist/hooks/use-copilot-chat-suggestions.js.map +1 -1
- package/dist/hooks/use-copilot-chat-suggestions.mjs +1 -1
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +0 -5
- package/dist/index.js +89 -299
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +16 -16
- package/dist/types/suggestions.d.ts +1 -0
- package/dist/types/suggestions.js.map +1 -1
- package/dist/v2/index.css +4 -0
- package/dist/v2/index.css.map +1 -0
- package/dist/v2/index.d.ts +2 -0
- package/dist/v2/index.js +2 -0
- package/dist/v2/index.js.map +1 -0
- package/dist/v2/index.mjs +2 -0
- package/dist/v2/index.mjs.map +1 -0
- package/package.json +8 -7
- package/src/components/chat/Chat.tsx +21 -374
- package/src/components/chat/Input.tsx +13 -12
- package/src/components/chat/Messages.tsx +8 -4
- package/src/components/chat/Suggestion.tsx +2 -2
- package/src/components/chat/Suggestions.tsx +6 -2
- package/src/components/chat/messages/AssistantMessage.tsx +1 -0
- package/src/components/chat/messages/LegacyRenderMessage.tsx +7 -0
- package/src/components/chat/messages/RenderMessage.tsx +4 -0
- package/src/components/chat/messages/UserMessage.tsx +32 -6
- package/src/components/chat/props.ts +4 -0
- package/src/css/messages.css +1 -1
- package/src/hooks/use-copilot-chat-suggestions.tsx +6 -57
- package/src/types/suggestions.ts +1 -0
- package/src/v2/index.ts +1 -0
- package/src/v2/styles.css +1 -0
- package/tsup.config.ts +1 -1
- package/dist/chunk-226ZMOE3.mjs +0 -24
- package/dist/chunk-226ZMOE3.mjs.map +0 -1
- package/dist/chunk-2XARU6EY.mjs.map +0 -1
- package/dist/chunk-EYRKZDP5.mjs +0 -32
- package/dist/chunk-EYRKZDP5.mjs.map +0 -1
- package/dist/chunk-KX44MLR6.mjs.map +0 -1
- package/dist/chunk-MJEYL3FK.mjs.map +0 -1
- package/dist/chunk-OWX6YJZH.mjs.map +0 -1
- package/dist/chunk-RKULVDQO.mjs.map +0 -1
- package/dist/chunk-VVL6JFCJ.mjs +0 -16
- package/dist/chunk-VVL6JFCJ.mjs.map +0 -1
- package/dist/chunk-W26XFBEG.mjs.map +0 -1
- package/dist/chunk-ZJCHKHE4.mjs.map +0 -1
- /package/dist/{chunk-TZNQJ3NA.mjs.map → chunk-7PR2KJDO.mjs.map} +0 -0
- /package/dist/{chunk-FK3XMHLY.mjs.map → chunk-ELUJRANC.mjs.map} +0 -0
- /package/dist/{chunk-52RQLNFB.mjs.map → chunk-LQEFRHRT.mjs.map} +0 -0
package/dist/index.js
CHANGED
|
@@ -1043,14 +1043,30 @@ var import_react_core5 = require("@copilotkit/react-core");
|
|
|
1043
1043
|
|
|
1044
1044
|
// src/components/chat/messages/UserMessage.tsx
|
|
1045
1045
|
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
1046
|
+
var getTextContent = (content) => {
|
|
1047
|
+
if (typeof content === "undefined") {
|
|
1048
|
+
return void 0;
|
|
1049
|
+
}
|
|
1050
|
+
if (typeof content === "string") {
|
|
1051
|
+
return content;
|
|
1052
|
+
}
|
|
1053
|
+
return content.map((part) => {
|
|
1054
|
+
if (part.type === "text") {
|
|
1055
|
+
return part.text;
|
|
1056
|
+
}
|
|
1057
|
+
return void 0;
|
|
1058
|
+
}).filter((value) => typeof value === "string" && value.length > 0).join(" ").trim() || void 0;
|
|
1059
|
+
};
|
|
1046
1060
|
var UserMessage = (props) => {
|
|
1047
1061
|
const { message, ImageRenderer: ImageRenderer2 } = props;
|
|
1048
|
-
const isImageMessage = message && "image" in message && message.image;
|
|
1062
|
+
const isImageMessage = message && "image" in message && Boolean(message.image);
|
|
1049
1063
|
if (isImageMessage) {
|
|
1050
1064
|
const imageMessage = message;
|
|
1051
|
-
|
|
1065
|
+
const content2 = getTextContent(imageMessage == null ? void 0 : imageMessage.content);
|
|
1066
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: "copilotKitMessage copilotKitUserMessage", children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(ImageRenderer2, { image: imageMessage.image, content: content2 }) });
|
|
1052
1067
|
}
|
|
1053
|
-
|
|
1068
|
+
const content = getTextContent(message == null ? void 0 : message.content);
|
|
1069
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: "copilotKitMessage copilotKitUserMessage", children: content });
|
|
1054
1070
|
};
|
|
1055
1071
|
|
|
1056
1072
|
// src/components/chat/Markdown.tsx
|
|
@@ -1729,6 +1745,7 @@ function RenderMessage(_a) {
|
|
|
1729
1745
|
var _a2;
|
|
1730
1746
|
const {
|
|
1731
1747
|
message,
|
|
1748
|
+
messages,
|
|
1732
1749
|
inProgress,
|
|
1733
1750
|
index,
|
|
1734
1751
|
isCurrentMessage,
|
|
@@ -1759,6 +1776,7 @@ function RenderMessage(_a) {
|
|
|
1759
1776
|
subComponent: (_a2 = message.generativeUI) == null ? void 0 : _a2.call(message),
|
|
1760
1777
|
rawData: message,
|
|
1761
1778
|
message,
|
|
1779
|
+
messages,
|
|
1762
1780
|
isLoading: inProgress && isCurrentMessage && !message.content,
|
|
1763
1781
|
isGenerating: inProgress && isCurrentMessage && !!message.content,
|
|
1764
1782
|
isCurrentMessage,
|
|
@@ -1772,6 +1790,8 @@ function RenderMessage(_a) {
|
|
|
1772
1790
|
},
|
|
1773
1791
|
index
|
|
1774
1792
|
);
|
|
1793
|
+
default:
|
|
1794
|
+
return null;
|
|
1775
1795
|
}
|
|
1776
1796
|
}
|
|
1777
1797
|
|
|
@@ -1780,6 +1800,7 @@ var import_runtime_client_gql = require("@copilotkit/runtime-client-gql");
|
|
|
1780
1800
|
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
1781
1801
|
var LegacyRenderMessage = ({
|
|
1782
1802
|
message,
|
|
1803
|
+
messages,
|
|
1783
1804
|
inProgress,
|
|
1784
1805
|
index,
|
|
1785
1806
|
isCurrentMessage,
|
|
@@ -1808,6 +1829,7 @@ var LegacyRenderMessage = ({
|
|
|
1808
1829
|
RenderTextMessage,
|
|
1809
1830
|
{
|
|
1810
1831
|
message,
|
|
1832
|
+
messages,
|
|
1811
1833
|
inProgress,
|
|
1812
1834
|
index,
|
|
1813
1835
|
isCurrentMessage,
|
|
@@ -1825,6 +1847,7 @@ var LegacyRenderMessage = ({
|
|
|
1825
1847
|
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1826
1848
|
RenderActionExecutionMessage,
|
|
1827
1849
|
{
|
|
1850
|
+
messages,
|
|
1828
1851
|
message,
|
|
1829
1852
|
inProgress,
|
|
1830
1853
|
index,
|
|
@@ -1839,6 +1862,7 @@ var LegacyRenderMessage = ({
|
|
|
1839
1862
|
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1840
1863
|
RenderAgentStateMessage,
|
|
1841
1864
|
{
|
|
1865
|
+
messages,
|
|
1842
1866
|
message,
|
|
1843
1867
|
inProgress,
|
|
1844
1868
|
index,
|
|
@@ -1852,6 +1876,7 @@ var LegacyRenderMessage = ({
|
|
|
1852
1876
|
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1853
1877
|
RenderResultMessage,
|
|
1854
1878
|
{
|
|
1879
|
+
messages,
|
|
1855
1880
|
message,
|
|
1856
1881
|
inProgress,
|
|
1857
1882
|
index,
|
|
@@ -1865,6 +1890,7 @@ var LegacyRenderMessage = ({
|
|
|
1865
1890
|
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1866
1891
|
RenderImageMessage,
|
|
1867
1892
|
{
|
|
1893
|
+
messages,
|
|
1868
1894
|
message,
|
|
1869
1895
|
inProgress,
|
|
1870
1896
|
index,
|
|
@@ -1877,6 +1903,7 @@ var LegacyRenderMessage = ({
|
|
|
1877
1903
|
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1878
1904
|
RenderMessage,
|
|
1879
1905
|
{
|
|
1906
|
+
messages,
|
|
1880
1907
|
message,
|
|
1881
1908
|
inProgress,
|
|
1882
1909
|
index,
|
|
@@ -1917,7 +1944,8 @@ var Messages = ({
|
|
|
1917
1944
|
RenderResultMessage,
|
|
1918
1945
|
RenderImageMessage
|
|
1919
1946
|
}) => {
|
|
1920
|
-
|
|
1947
|
+
var _a;
|
|
1948
|
+
const { labels, icons } = useChatContext();
|
|
1921
1949
|
const { messages: visibleMessages, interrupt } = (0, import_react_core5.useCopilotChatInternal)();
|
|
1922
1950
|
const initialMessages = (0, import_react10.useMemo)(() => makeInitialMessages(labels.initial), [labels.initial]);
|
|
1923
1951
|
const messages = [...initialMessages, ...visibleMessages];
|
|
@@ -1947,6 +1975,7 @@ var Messages = ({
|
|
|
1947
1975
|
]
|
|
1948
1976
|
);
|
|
1949
1977
|
const MessageRenderer = hasLegacyProps ? (props) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(LegacyRenderMessage, __spreadProps(__spreadValues({}, props), { legacyProps })) : RenderMessage2;
|
|
1978
|
+
const LoadingIcon = () => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { children: icons.activityIcon });
|
|
1950
1979
|
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "copilotKitMessages", ref: messagesContainerRef, children: [
|
|
1951
1980
|
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "copilotKitMessagesContainer", children: [
|
|
1952
1981
|
messages.map((message, index) => {
|
|
@@ -1955,6 +1984,7 @@ var Messages = ({
|
|
|
1955
1984
|
MessageRenderer,
|
|
1956
1985
|
{
|
|
1957
1986
|
message,
|
|
1987
|
+
messages,
|
|
1958
1988
|
inProgress,
|
|
1959
1989
|
index,
|
|
1960
1990
|
isCurrentMessage,
|
|
@@ -1971,6 +2001,7 @@ var Messages = ({
|
|
|
1971
2001
|
index
|
|
1972
2002
|
);
|
|
1973
2003
|
}),
|
|
2004
|
+
((_a = messages[messages.length - 1]) == null ? void 0 : _a.role) === "user" && inProgress && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(LoadingIcon, {}),
|
|
1974
2005
|
interrupt,
|
|
1975
2006
|
chatError && ErrorMessage && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(ErrorMessage, { error: chatError, isCurrentMessage: true })
|
|
1976
2007
|
] }),
|
|
@@ -2264,12 +2295,12 @@ var MAX_NEWLINES = 6;
|
|
|
2264
2295
|
var Input = ({
|
|
2265
2296
|
inProgress,
|
|
2266
2297
|
onSend,
|
|
2267
|
-
|
|
2298
|
+
chatReady = false,
|
|
2268
2299
|
onStop,
|
|
2269
2300
|
onUpload,
|
|
2270
2301
|
hideStopButton = false
|
|
2271
2302
|
}) => {
|
|
2272
|
-
var _a
|
|
2303
|
+
var _a;
|
|
2273
2304
|
const context = useChatContext();
|
|
2274
2305
|
const copilotContext = (0, import_react_core7.useCopilotContext)();
|
|
2275
2306
|
const showPoweredBy = !((_a = copilotContext.copilotApiConfig) == null ? void 0 : _a.publicApiKey);
|
|
@@ -2299,14 +2330,16 @@ var Input = ({
|
|
|
2299
2330
|
inProgress
|
|
2300
2331
|
});
|
|
2301
2332
|
const isInProgress = inProgress || pushToTalkState === "transcribing";
|
|
2302
|
-
const buttonIcon
|
|
2333
|
+
const { buttonIcon, buttonAlt } = (0, import_react14.useMemo)(() => {
|
|
2334
|
+
if (!chatReady)
|
|
2335
|
+
return { buttonIcon: context.icons.spinnerIcon, buttonAlt: "Loading" };
|
|
2336
|
+
return isInProgress && !hideStopButton && chatReady ? { buttonIcon: context.icons.stopIcon, buttonAlt: "Stop" } : { buttonIcon: context.icons.sendIcon, buttonAlt: "Send" };
|
|
2337
|
+
}, [isInProgress, chatReady, hideStopButton, context.icons.stopIcon, context.icons.sendIcon]);
|
|
2303
2338
|
const showPushToTalk = pushToTalkConfigured && (pushToTalkState === "idle" || pushToTalkState === "recording") && !inProgress;
|
|
2339
|
+
const { interrupt } = (0, import_react_core7.useCopilotChatInternal)();
|
|
2304
2340
|
const canSend = (0, import_react14.useMemo)(() => {
|
|
2305
|
-
|
|
2306
|
-
|
|
2307
|
-
const interruptInProgress = (interruptEvent == null ? void 0 : interruptEvent.name) === "LangGraphInterruptEvent" && !(interruptEvent == null ? void 0 : interruptEvent.response);
|
|
2308
|
-
return !isInProgress && text.trim().length > 0 && pushToTalkState === "idle" && !interruptInProgress;
|
|
2309
|
-
}, [(_b = copilotContext.langGraphInterruptAction) == null ? void 0 : _b.event, isInProgress, text, pushToTalkState]);
|
|
2341
|
+
return !isInProgress && text.trim().length > 0 && pushToTalkState === "idle" && !interrupt;
|
|
2342
|
+
}, [interrupt, isInProgress, text, pushToTalkState]);
|
|
2310
2343
|
const canStop = (0, import_react14.useMemo)(() => {
|
|
2311
2344
|
return isInProgress && !hideStopButton;
|
|
2312
2345
|
}, [isInProgress, hideStopButton]);
|
|
@@ -2353,6 +2386,7 @@ var Input = ({
|
|
|
2353
2386
|
"data-copilotkit-in-progress": inProgress,
|
|
2354
2387
|
"data-test-id": inProgress ? "copilot-chat-request-in-progress" : "copilot-chat-ready",
|
|
2355
2388
|
className: "copilotKitInputControlButton",
|
|
2389
|
+
"aria-label": buttonAlt,
|
|
2356
2390
|
children: buttonIcon
|
|
2357
2391
|
}
|
|
2358
2392
|
)
|
|
@@ -2366,8 +2400,6 @@ var Input = ({
|
|
|
2366
2400
|
var import_react15 = __toESM(require("react"));
|
|
2367
2401
|
var import_react_core9 = require("@copilotkit/react-core");
|
|
2368
2402
|
var import_shared3 = require("@copilotkit/shared");
|
|
2369
|
-
var import_shared4 = require("@copilotkit/shared");
|
|
2370
|
-
var import_react_core10 = require("@copilotkit/react-core");
|
|
2371
2403
|
|
|
2372
2404
|
// src/components/chat/ImageUploadQueue.tsx
|
|
2373
2405
|
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
@@ -2471,18 +2503,25 @@ function Suggestion({ title, onClick, partial, className }) {
|
|
|
2471
2503
|
|
|
2472
2504
|
// src/components/chat/Suggestions.tsx
|
|
2473
2505
|
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
2474
|
-
function Suggestions({
|
|
2475
|
-
|
|
2476
|
-
|
|
2477
|
-
|
|
2478
|
-
|
|
2479
|
-
|
|
2480
|
-
|
|
2481
|
-
|
|
2482
|
-
|
|
2483
|
-
|
|
2484
|
-
|
|
2485
|
-
|
|
2506
|
+
function Suggestions({
|
|
2507
|
+
suggestions,
|
|
2508
|
+
onSuggestionClick,
|
|
2509
|
+
isLoading
|
|
2510
|
+
}) {
|
|
2511
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "suggestions", children: suggestions.map((suggestion, index) => {
|
|
2512
|
+
var _a, _b;
|
|
2513
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
2514
|
+
Suggestion,
|
|
2515
|
+
{
|
|
2516
|
+
title: suggestion.title,
|
|
2517
|
+
message: suggestion.message,
|
|
2518
|
+
partial: (_b = (_a = suggestion.isLoading) != null ? _a : suggestion.partial) != null ? _b : isLoading,
|
|
2519
|
+
className: suggestion.className,
|
|
2520
|
+
onClick: () => onSuggestionClick(suggestion.message)
|
|
2521
|
+
},
|
|
2522
|
+
index
|
|
2523
|
+
);
|
|
2524
|
+
}) });
|
|
2486
2525
|
}
|
|
2487
2526
|
|
|
2488
2527
|
// src/components/chat/Chat.tsx
|
|
@@ -2682,16 +2721,16 @@ function CopilotChat({
|
|
|
2682
2721
|
sendMessage,
|
|
2683
2722
|
stopGeneration,
|
|
2684
2723
|
reloadMessages,
|
|
2685
|
-
suggestions: currentSuggestions
|
|
2686
|
-
|
|
2724
|
+
suggestions: currentSuggestions,
|
|
2725
|
+
isLoadingSuggestions,
|
|
2726
|
+
agent
|
|
2727
|
+
} = (0, import_react_core9.useCopilotChatInternal)({
|
|
2687
2728
|
suggestions,
|
|
2688
|
-
makeSystemMessage,
|
|
2689
|
-
disableSystemMessage,
|
|
2690
2729
|
onInProgress,
|
|
2691
2730
|
onSubmitMessage,
|
|
2692
2731
|
onStopGeneration,
|
|
2693
2732
|
onReloadMessages
|
|
2694
|
-
);
|
|
2733
|
+
});
|
|
2695
2734
|
const prevIsLoading = (0, import_react15.useRef)(isLoading);
|
|
2696
2735
|
(0, import_react15.useEffect)(() => {
|
|
2697
2736
|
if (prevIsLoading.current !== isLoading) {
|
|
@@ -2710,7 +2749,11 @@ function CopilotChat({
|
|
|
2710
2749
|
fileInputRef.current.value = "";
|
|
2711
2750
|
}
|
|
2712
2751
|
triggerObservabilityHook("onMessageSent", text);
|
|
2713
|
-
return sendMessage(
|
|
2752
|
+
return sendMessage({
|
|
2753
|
+
id: (0, import_shared3.randomUUID)(),
|
|
2754
|
+
content: text,
|
|
2755
|
+
role: "user"
|
|
2756
|
+
});
|
|
2714
2757
|
};
|
|
2715
2758
|
const chatContext = import_react15.default.useContext(ChatContext);
|
|
2716
2759
|
const isVisible = chatContext ? chatContext.open : true;
|
|
@@ -2813,7 +2856,8 @@ function CopilotChat({
|
|
|
2813
2856
|
RenderSuggestionsList,
|
|
2814
2857
|
{
|
|
2815
2858
|
onSuggestionClick: handleSendMessage,
|
|
2816
|
-
suggestions: currentSuggestions
|
|
2859
|
+
suggestions: currentSuggestions,
|
|
2860
|
+
isLoading: isLoadingSuggestions
|
|
2817
2861
|
}
|
|
2818
2862
|
)
|
|
2819
2863
|
}
|
|
@@ -2836,6 +2880,7 @@ function CopilotChat({
|
|
|
2836
2880
|
Input2,
|
|
2837
2881
|
{
|
|
2838
2882
|
inProgress: isLoading,
|
|
2883
|
+
chatReady: Boolean(agent),
|
|
2839
2884
|
onSend: handleSendMessage,
|
|
2840
2885
|
isVisible,
|
|
2841
2886
|
onStop: stopGeneration,
|
|
@@ -2861,243 +2906,10 @@ function WrappedCopilotChat({
|
|
|
2861
2906
|
}
|
|
2862
2907
|
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_jsx_runtime24.Fragment, { children });
|
|
2863
2908
|
}
|
|
2864
|
-
var useCopilotChatLogic = (chatSuggestions, makeSystemMessage, disableSystemMessage, onInProgress, onSubmitMessage, onStopGeneration, onReloadMessages) => {
|
|
2865
|
-
var _a;
|
|
2866
|
-
const {
|
|
2867
|
-
messages,
|
|
2868
|
-
sendMessage,
|
|
2869
|
-
setMessages,
|
|
2870
|
-
reloadMessages: defaultReloadMessages,
|
|
2871
|
-
stopGeneration: defaultStopGeneration,
|
|
2872
|
-
runChatCompletion,
|
|
2873
|
-
isLoading,
|
|
2874
|
-
suggestions,
|
|
2875
|
-
setSuggestions,
|
|
2876
|
-
generateSuggestions,
|
|
2877
|
-
resetSuggestions: resetSuggestionsFromHook,
|
|
2878
|
-
isLoadingSuggestions
|
|
2879
|
-
} = (0, import_react_core9.useCopilotChatInternal)({
|
|
2880
|
-
makeSystemMessage,
|
|
2881
|
-
disableSystemMessage
|
|
2882
|
-
});
|
|
2883
|
-
const generalContext = (0, import_react_core9.useCopilotContext)();
|
|
2884
|
-
const messagesContext = (0, import_react_core9.useCopilotMessagesContext)();
|
|
2885
|
-
const { actions } = generalContext;
|
|
2886
|
-
const [suggestionsFailed, setSuggestionsFailed] = (0, import_react15.useState)(false);
|
|
2887
|
-
const hasGeneratedInitialSuggestions = (0, import_react15.useRef)(false);
|
|
2888
|
-
(0, import_react15.useEffect)(() => {
|
|
2889
|
-
if (Array.isArray(chatSuggestions)) {
|
|
2890
|
-
setSuggestions(chatSuggestions);
|
|
2891
|
-
hasGeneratedInitialSuggestions.current = true;
|
|
2892
|
-
}
|
|
2893
|
-
}, [JSON.stringify(chatSuggestions), setSuggestions]);
|
|
2894
|
-
const generateSuggestionsWithErrorHandling = (0, import_react15.useCallback)(
|
|
2895
|
-
(context) => __async(void 0, null, function* () {
|
|
2896
|
-
try {
|
|
2897
|
-
yield generateSuggestions();
|
|
2898
|
-
} catch (error) {
|
|
2899
|
-
console.error("Failed to generate suggestions:", error);
|
|
2900
|
-
setSuggestionsFailed(true);
|
|
2901
|
-
}
|
|
2902
|
-
}),
|
|
2903
|
-
[generateSuggestions]
|
|
2904
|
-
);
|
|
2905
|
-
(0, import_react15.useEffect)(() => {
|
|
2906
|
-
if (chatSuggestions !== "auto" || isLoadingSuggestions || suggestionsFailed) {
|
|
2907
|
-
return;
|
|
2908
|
-
}
|
|
2909
|
-
if (isLoading) {
|
|
2910
|
-
return;
|
|
2911
|
-
}
|
|
2912
|
-
if (Object.keys(generalContext.chatSuggestionConfiguration).length === 0) {
|
|
2913
|
-
return;
|
|
2914
|
-
}
|
|
2915
|
-
if (messages.length === 0 && !hasGeneratedInitialSuggestions.current) {
|
|
2916
|
-
hasGeneratedInitialSuggestions.current = true;
|
|
2917
|
-
generateSuggestionsWithErrorHandling("initial");
|
|
2918
|
-
return;
|
|
2919
|
-
}
|
|
2920
|
-
if (messages.length > 0 && suggestions.length === 0) {
|
|
2921
|
-
generateSuggestionsWithErrorHandling("post-message");
|
|
2922
|
-
return;
|
|
2923
|
-
}
|
|
2924
|
-
}, [
|
|
2925
|
-
chatSuggestions,
|
|
2926
|
-
isLoadingSuggestions,
|
|
2927
|
-
suggestionsFailed,
|
|
2928
|
-
messages.length,
|
|
2929
|
-
isLoading,
|
|
2930
|
-
suggestions.length,
|
|
2931
|
-
Object.keys(generalContext.chatSuggestionConfiguration).join(","),
|
|
2932
|
-
// Use stable string instead of object reference
|
|
2933
|
-
generateSuggestionsWithErrorHandling
|
|
2934
|
-
]);
|
|
2935
|
-
(0, import_react15.useEffect)(() => {
|
|
2936
|
-
if (chatSuggestions !== "auto") {
|
|
2937
|
-
hasGeneratedInitialSuggestions.current = false;
|
|
2938
|
-
setSuggestionsFailed(false);
|
|
2939
|
-
}
|
|
2940
|
-
}, [chatSuggestions]);
|
|
2941
|
-
const stableContext = (0, import_react15.useMemo)(
|
|
2942
|
-
() => __spreadValues(__spreadValues({}, generalContext), messagesContext),
|
|
2943
|
-
[
|
|
2944
|
-
// Only include stable dependencies
|
|
2945
|
-
generalContext.actions,
|
|
2946
|
-
messagesContext.messages.length,
|
|
2947
|
-
generalContext.isLoading
|
|
2948
|
-
]
|
|
2949
|
-
);
|
|
2950
|
-
const resetSuggestions = (0, import_react15.useCallback)(() => {
|
|
2951
|
-
resetSuggestionsFromHook();
|
|
2952
|
-
setSuggestionsFailed(false);
|
|
2953
|
-
hasGeneratedInitialSuggestions.current = false;
|
|
2954
|
-
}, [resetSuggestionsFromHook]);
|
|
2955
|
-
(0, import_react15.useEffect)(() => {
|
|
2956
|
-
onInProgress == null ? void 0 : onInProgress(isLoading);
|
|
2957
|
-
}, [onInProgress, isLoading]);
|
|
2958
|
-
const safelySendMessage = (messageContent, imagesToUse) => __async(void 0, null, function* () {
|
|
2959
|
-
const images = imagesToUse || [];
|
|
2960
|
-
if (chatSuggestions === "auto" || chatSuggestions === "manual") {
|
|
2961
|
-
setSuggestions([]);
|
|
2962
|
-
}
|
|
2963
|
-
let firstMessage = null;
|
|
2964
|
-
if (messageContent.trim().length > 0) {
|
|
2965
|
-
const textMessage = {
|
|
2966
|
-
id: (0, import_shared4.randomId)(),
|
|
2967
|
-
role: "user",
|
|
2968
|
-
content: messageContent
|
|
2969
|
-
};
|
|
2970
|
-
if (onSubmitMessage) {
|
|
2971
|
-
try {
|
|
2972
|
-
yield onSubmitMessage(messageContent);
|
|
2973
|
-
} catch (error) {
|
|
2974
|
-
console.error("Error in onSubmitMessage:", error);
|
|
2975
|
-
}
|
|
2976
|
-
}
|
|
2977
|
-
yield sendMessage(textMessage, {
|
|
2978
|
-
followUp: images.length === 0,
|
|
2979
|
-
clearSuggestions: chatSuggestions === "auto" || chatSuggestions === "manual"
|
|
2980
|
-
});
|
|
2981
|
-
if (!firstMessage) {
|
|
2982
|
-
firstMessage = textMessage;
|
|
2983
|
-
}
|
|
2984
|
-
}
|
|
2985
|
-
if (images.length > 0) {
|
|
2986
|
-
for (let i = 0; i < images.length; i++) {
|
|
2987
|
-
const imageMessage = {
|
|
2988
|
-
id: (0, import_shared4.randomId)(),
|
|
2989
|
-
role: "user",
|
|
2990
|
-
image: {
|
|
2991
|
-
format: images[i].contentType.replace("image/", ""),
|
|
2992
|
-
bytes: images[i].bytes
|
|
2993
|
-
}
|
|
2994
|
-
};
|
|
2995
|
-
yield sendMessage(imageMessage, { followUp: i === images.length - 1 });
|
|
2996
|
-
if (!firstMessage) {
|
|
2997
|
-
firstMessage = imageMessage;
|
|
2998
|
-
}
|
|
2999
|
-
}
|
|
3000
|
-
}
|
|
3001
|
-
if (!firstMessage) {
|
|
3002
|
-
return { role: "user", content: "", id: (0, import_shared4.randomId)() };
|
|
3003
|
-
}
|
|
3004
|
-
return firstMessage;
|
|
3005
|
-
});
|
|
3006
|
-
const currentAgentName = (_a = generalContext.agentSession) == null ? void 0 : _a.agentName;
|
|
3007
|
-
const restartCurrentAgent = (hint) => __async(void 0, null, function* () {
|
|
3008
|
-
if (generalContext.agentSession) {
|
|
3009
|
-
generalContext.setAgentSession(__spreadProps(__spreadValues({}, generalContext.agentSession), {
|
|
3010
|
-
nodeName: void 0,
|
|
3011
|
-
threadId: void 0
|
|
3012
|
-
}));
|
|
3013
|
-
generalContext.setCoagentStates((prevAgentStates) => {
|
|
3014
|
-
return __spreadProps(__spreadValues({}, prevAgentStates), {
|
|
3015
|
-
[generalContext.agentSession.agentName]: __spreadProps(__spreadValues({}, prevAgentStates[generalContext.agentSession.agentName]), {
|
|
3016
|
-
threadId: void 0,
|
|
3017
|
-
nodeName: void 0,
|
|
3018
|
-
runId: void 0
|
|
3019
|
-
})
|
|
3020
|
-
});
|
|
3021
|
-
});
|
|
3022
|
-
}
|
|
3023
|
-
});
|
|
3024
|
-
const runCurrentAgent = (hint) => __async(void 0, null, function* () {
|
|
3025
|
-
if (generalContext.agentSession) {
|
|
3026
|
-
yield (0, import_react_core10.runAgent)(
|
|
3027
|
-
generalContext.agentSession.agentName,
|
|
3028
|
-
stableContext,
|
|
3029
|
-
messagesContext.messages,
|
|
3030
|
-
sendMessage,
|
|
3031
|
-
runChatCompletion
|
|
3032
|
-
);
|
|
3033
|
-
}
|
|
3034
|
-
});
|
|
3035
|
-
const stopCurrentAgent = () => {
|
|
3036
|
-
if (generalContext.agentSession) {
|
|
3037
|
-
(0, import_react_core10.stopAgent)(generalContext.agentSession.agentName, stableContext);
|
|
3038
|
-
}
|
|
3039
|
-
};
|
|
3040
|
-
const setCurrentAgentState = (state) => {
|
|
3041
|
-
if (generalContext.agentSession) {
|
|
3042
|
-
generalContext.setCoagentStates((prevAgentStates) => {
|
|
3043
|
-
return __spreadProps(__spreadValues({}, prevAgentStates), {
|
|
3044
|
-
[generalContext.agentSession.agentName]: {
|
|
3045
|
-
state
|
|
3046
|
-
}
|
|
3047
|
-
});
|
|
3048
|
-
});
|
|
3049
|
-
}
|
|
3050
|
-
};
|
|
3051
|
-
function stopGeneration() {
|
|
3052
|
-
setSuggestions([]);
|
|
3053
|
-
if (onStopGeneration) {
|
|
3054
|
-
onStopGeneration({
|
|
3055
|
-
messages,
|
|
3056
|
-
setMessages,
|
|
3057
|
-
stopGeneration: defaultStopGeneration,
|
|
3058
|
-
currentAgentName,
|
|
3059
|
-
restartCurrentAgent,
|
|
3060
|
-
stopCurrentAgent,
|
|
3061
|
-
runCurrentAgent,
|
|
3062
|
-
setCurrentAgentState
|
|
3063
|
-
});
|
|
3064
|
-
} else {
|
|
3065
|
-
defaultStopGeneration();
|
|
3066
|
-
}
|
|
3067
|
-
}
|
|
3068
|
-
function reloadMessages(messageId) {
|
|
3069
|
-
if (onReloadMessages) {
|
|
3070
|
-
onReloadMessages({
|
|
3071
|
-
messages,
|
|
3072
|
-
setMessages,
|
|
3073
|
-
stopGeneration: defaultStopGeneration,
|
|
3074
|
-
currentAgentName,
|
|
3075
|
-
restartCurrentAgent,
|
|
3076
|
-
stopCurrentAgent,
|
|
3077
|
-
runCurrentAgent,
|
|
3078
|
-
setCurrentAgentState,
|
|
3079
|
-
messageId
|
|
3080
|
-
});
|
|
3081
|
-
} else {
|
|
3082
|
-
defaultReloadMessages(messageId);
|
|
3083
|
-
}
|
|
3084
|
-
}
|
|
3085
|
-
return {
|
|
3086
|
-
messages,
|
|
3087
|
-
isLoading,
|
|
3088
|
-
suggestions,
|
|
3089
|
-
sendMessage: safelySendMessage,
|
|
3090
|
-
stopGeneration,
|
|
3091
|
-
reloadMessages,
|
|
3092
|
-
resetSuggestions,
|
|
3093
|
-
context: stableContext,
|
|
3094
|
-
actions
|
|
3095
|
-
};
|
|
3096
|
-
};
|
|
3097
2909
|
|
|
3098
2910
|
// src/components/chat/Modal.tsx
|
|
3099
|
-
var
|
|
3100
|
-
var
|
|
2911
|
+
var import_react_core10 = require("@copilotkit/react-core");
|
|
2912
|
+
var import_shared4 = require("@copilotkit/shared");
|
|
3101
2913
|
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
3102
2914
|
var CopilotModalInner = (_a) => {
|
|
3103
2915
|
var _b = _a, {
|
|
@@ -3123,7 +2935,7 @@ var CopilotModalInner = (_a) => {
|
|
|
3123
2935
|
"Button",
|
|
3124
2936
|
"Header"
|
|
3125
2937
|
]);
|
|
3126
|
-
const { copilotApiConfig, setBannerError } = (0,
|
|
2938
|
+
const { copilotApiConfig, setBannerError } = (0, import_react_core10.useCopilotContext)();
|
|
3127
2939
|
const { publicApiKey } = copilotApiConfig;
|
|
3128
2940
|
const triggerObservabilityHook = (0, import_react16.useCallback)(
|
|
3129
2941
|
(hookName, ...args) => {
|
|
@@ -3132,14 +2944,14 @@ var CopilotModalInner = (_a) => {
|
|
|
3132
2944
|
}
|
|
3133
2945
|
if ((observabilityHooks == null ? void 0 : observabilityHooks[hookName]) && !publicApiKey) {
|
|
3134
2946
|
setBannerError(
|
|
3135
|
-
new
|
|
2947
|
+
new import_shared4.CopilotKitError({
|
|
3136
2948
|
message: "observabilityHooks requires a publicApiKey to function.",
|
|
3137
|
-
code:
|
|
3138
|
-
severity:
|
|
3139
|
-
visibility:
|
|
2949
|
+
code: import_shared4.CopilotKitErrorCode.MISSING_PUBLIC_API_KEY_ERROR,
|
|
2950
|
+
severity: import_shared4.Severity.CRITICAL,
|
|
2951
|
+
visibility: import_shared4.ErrorVisibility.BANNER
|
|
3140
2952
|
})
|
|
3141
2953
|
);
|
|
3142
|
-
|
|
2954
|
+
import_shared4.styledConsole.publicApiKeyRequired("observabilityHooks");
|
|
3143
2955
|
}
|
|
3144
2956
|
},
|
|
3145
2957
|
[publicApiKey, observabilityHooks, setBannerError]
|
|
@@ -3300,31 +3112,9 @@ function CopilotSidebar(props) {
|
|
|
3300
3112
|
}
|
|
3301
3113
|
|
|
3302
3114
|
// src/hooks/use-copilot-chat-suggestions.tsx
|
|
3303
|
-
var
|
|
3304
|
-
|
|
3305
|
-
|
|
3306
|
-
function useCopilotChatSuggestions({
|
|
3307
|
-
available = "enabled",
|
|
3308
|
-
instructions,
|
|
3309
|
-
className,
|
|
3310
|
-
minSuggestions = 1,
|
|
3311
|
-
maxSuggestions = 3
|
|
3312
|
-
}, dependencies = []) {
|
|
3313
|
-
const context = (0, import_react_core12.useCopilotContext)();
|
|
3314
|
-
(0, import_react18.useEffect)(() => {
|
|
3315
|
-
if (available === "disabled")
|
|
3316
|
-
return;
|
|
3317
|
-
const id = (0, import_shared6.randomId)();
|
|
3318
|
-
context.addChatSuggestionConfiguration(id, {
|
|
3319
|
-
instructions,
|
|
3320
|
-
minSuggestions,
|
|
3321
|
-
maxSuggestions,
|
|
3322
|
-
className
|
|
3323
|
-
});
|
|
3324
|
-
return () => {
|
|
3325
|
-
context.removeChatSuggestionConfiguration(id);
|
|
3326
|
-
};
|
|
3327
|
-
}, [...dependencies, instructions, minSuggestions, maxSuggestions, className, available]);
|
|
3115
|
+
var import_react_core11 = require("@copilotkit/react-core");
|
|
3116
|
+
function useCopilotChatSuggestions(config, dependencies = []) {
|
|
3117
|
+
(0, import_react_core11.useCopilotChatSuggestions)(config, dependencies);
|
|
3328
3118
|
}
|
|
3329
3119
|
// Annotate the CommonJS export names for ESM import in node:
|
|
3330
3120
|
0 && (module.exports = {
|