@copilotkit/react-ui 0.0.0-fix-debug-infosys-20251107151227 → 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
|
@@ -1039,14 +1039,30 @@ var import_react_core5 = require("@copilotkit/react-core");
|
|
|
1039
1039
|
|
|
1040
1040
|
// src/components/chat/messages/UserMessage.tsx
|
|
1041
1041
|
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
1042
|
+
var getTextContent = (content) => {
|
|
1043
|
+
if (typeof content === "undefined") {
|
|
1044
|
+
return void 0;
|
|
1045
|
+
}
|
|
1046
|
+
if (typeof content === "string") {
|
|
1047
|
+
return content;
|
|
1048
|
+
}
|
|
1049
|
+
return content.map((part) => {
|
|
1050
|
+
if (part.type === "text") {
|
|
1051
|
+
return part.text;
|
|
1052
|
+
}
|
|
1053
|
+
return void 0;
|
|
1054
|
+
}).filter((value) => typeof value === "string" && value.length > 0).join(" ").trim() || void 0;
|
|
1055
|
+
};
|
|
1042
1056
|
var UserMessage = (props) => {
|
|
1043
1057
|
const { message, ImageRenderer: ImageRenderer2 } = props;
|
|
1044
|
-
const isImageMessage = message && "image" in message && message.image;
|
|
1058
|
+
const isImageMessage = message && "image" in message && Boolean(message.image);
|
|
1045
1059
|
if (isImageMessage) {
|
|
1046
1060
|
const imageMessage = message;
|
|
1047
|
-
|
|
1061
|
+
const content2 = getTextContent(imageMessage == null ? void 0 : imageMessage.content);
|
|
1062
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: "copilotKitMessage copilotKitUserMessage", children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(ImageRenderer2, { image: imageMessage.image, content: content2 }) });
|
|
1048
1063
|
}
|
|
1049
|
-
|
|
1064
|
+
const content = getTextContent(message == null ? void 0 : message.content);
|
|
1065
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: "copilotKitMessage copilotKitUserMessage", children: content });
|
|
1050
1066
|
};
|
|
1051
1067
|
|
|
1052
1068
|
// src/components/chat/Markdown.tsx
|
|
@@ -1725,6 +1741,7 @@ function RenderMessage(_a) {
|
|
|
1725
1741
|
var _a2;
|
|
1726
1742
|
const {
|
|
1727
1743
|
message,
|
|
1744
|
+
messages,
|
|
1728
1745
|
inProgress,
|
|
1729
1746
|
index,
|
|
1730
1747
|
isCurrentMessage,
|
|
@@ -1755,6 +1772,7 @@ function RenderMessage(_a) {
|
|
|
1755
1772
|
subComponent: (_a2 = message.generativeUI) == null ? void 0 : _a2.call(message),
|
|
1756
1773
|
rawData: message,
|
|
1757
1774
|
message,
|
|
1775
|
+
messages,
|
|
1758
1776
|
isLoading: inProgress && isCurrentMessage && !message.content,
|
|
1759
1777
|
isGenerating: inProgress && isCurrentMessage && !!message.content,
|
|
1760
1778
|
isCurrentMessage,
|
|
@@ -1768,6 +1786,8 @@ function RenderMessage(_a) {
|
|
|
1768
1786
|
},
|
|
1769
1787
|
index
|
|
1770
1788
|
);
|
|
1789
|
+
default:
|
|
1790
|
+
return null;
|
|
1771
1791
|
}
|
|
1772
1792
|
}
|
|
1773
1793
|
|
|
@@ -1776,6 +1796,7 @@ var import_runtime_client_gql = require("@copilotkit/runtime-client-gql");
|
|
|
1776
1796
|
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
1777
1797
|
var LegacyRenderMessage = ({
|
|
1778
1798
|
message,
|
|
1799
|
+
messages,
|
|
1779
1800
|
inProgress,
|
|
1780
1801
|
index,
|
|
1781
1802
|
isCurrentMessage,
|
|
@@ -1804,6 +1825,7 @@ var LegacyRenderMessage = ({
|
|
|
1804
1825
|
RenderTextMessage,
|
|
1805
1826
|
{
|
|
1806
1827
|
message,
|
|
1828
|
+
messages,
|
|
1807
1829
|
inProgress,
|
|
1808
1830
|
index,
|
|
1809
1831
|
isCurrentMessage,
|
|
@@ -1821,6 +1843,7 @@ var LegacyRenderMessage = ({
|
|
|
1821
1843
|
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1822
1844
|
RenderActionExecutionMessage,
|
|
1823
1845
|
{
|
|
1846
|
+
messages,
|
|
1824
1847
|
message,
|
|
1825
1848
|
inProgress,
|
|
1826
1849
|
index,
|
|
@@ -1835,6 +1858,7 @@ var LegacyRenderMessage = ({
|
|
|
1835
1858
|
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1836
1859
|
RenderAgentStateMessage,
|
|
1837
1860
|
{
|
|
1861
|
+
messages,
|
|
1838
1862
|
message,
|
|
1839
1863
|
inProgress,
|
|
1840
1864
|
index,
|
|
@@ -1848,6 +1872,7 @@ var LegacyRenderMessage = ({
|
|
|
1848
1872
|
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1849
1873
|
RenderResultMessage,
|
|
1850
1874
|
{
|
|
1875
|
+
messages,
|
|
1851
1876
|
message,
|
|
1852
1877
|
inProgress,
|
|
1853
1878
|
index,
|
|
@@ -1861,6 +1886,7 @@ var LegacyRenderMessage = ({
|
|
|
1861
1886
|
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1862
1887
|
RenderImageMessage,
|
|
1863
1888
|
{
|
|
1889
|
+
messages,
|
|
1864
1890
|
message,
|
|
1865
1891
|
inProgress,
|
|
1866
1892
|
index,
|
|
@@ -1873,6 +1899,7 @@ var LegacyRenderMessage = ({
|
|
|
1873
1899
|
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1874
1900
|
RenderMessage,
|
|
1875
1901
|
{
|
|
1902
|
+
messages,
|
|
1876
1903
|
message,
|
|
1877
1904
|
inProgress,
|
|
1878
1905
|
index,
|
|
@@ -1913,7 +1940,8 @@ var Messages = ({
|
|
|
1913
1940
|
RenderResultMessage,
|
|
1914
1941
|
RenderImageMessage
|
|
1915
1942
|
}) => {
|
|
1916
|
-
|
|
1943
|
+
var _a;
|
|
1944
|
+
const { labels, icons } = useChatContext();
|
|
1917
1945
|
const { messages: visibleMessages, interrupt } = (0, import_react_core5.useCopilotChatInternal)();
|
|
1918
1946
|
const initialMessages = (0, import_react10.useMemo)(() => makeInitialMessages(labels.initial), [labels.initial]);
|
|
1919
1947
|
const messages = [...initialMessages, ...visibleMessages];
|
|
@@ -1943,6 +1971,7 @@ var Messages = ({
|
|
|
1943
1971
|
]
|
|
1944
1972
|
);
|
|
1945
1973
|
const MessageRenderer = hasLegacyProps ? (props) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(LegacyRenderMessage, __spreadProps(__spreadValues({}, props), { legacyProps })) : RenderMessage2;
|
|
1974
|
+
const LoadingIcon = () => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { children: icons.activityIcon });
|
|
1946
1975
|
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "copilotKitMessages", ref: messagesContainerRef, children: [
|
|
1947
1976
|
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "copilotKitMessagesContainer", children: [
|
|
1948
1977
|
messages.map((message, index) => {
|
|
@@ -1951,6 +1980,7 @@ var Messages = ({
|
|
|
1951
1980
|
MessageRenderer,
|
|
1952
1981
|
{
|
|
1953
1982
|
message,
|
|
1983
|
+
messages,
|
|
1954
1984
|
inProgress,
|
|
1955
1985
|
index,
|
|
1956
1986
|
isCurrentMessage,
|
|
@@ -1967,6 +1997,7 @@ var Messages = ({
|
|
|
1967
1997
|
index
|
|
1968
1998
|
);
|
|
1969
1999
|
}),
|
|
2000
|
+
((_a = messages[messages.length - 1]) == null ? void 0 : _a.role) === "user" && inProgress && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(LoadingIcon, {}),
|
|
1970
2001
|
interrupt,
|
|
1971
2002
|
chatError && ErrorMessage && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(ErrorMessage, { error: chatError, isCurrentMessage: true })
|
|
1972
2003
|
] }),
|
|
@@ -2260,12 +2291,12 @@ var MAX_NEWLINES = 6;
|
|
|
2260
2291
|
var Input = ({
|
|
2261
2292
|
inProgress,
|
|
2262
2293
|
onSend,
|
|
2263
|
-
|
|
2294
|
+
chatReady = false,
|
|
2264
2295
|
onStop,
|
|
2265
2296
|
onUpload,
|
|
2266
2297
|
hideStopButton = false
|
|
2267
2298
|
}) => {
|
|
2268
|
-
var _a
|
|
2299
|
+
var _a;
|
|
2269
2300
|
const context = useChatContext();
|
|
2270
2301
|
const copilotContext = (0, import_react_core7.useCopilotContext)();
|
|
2271
2302
|
const showPoweredBy = !((_a = copilotContext.copilotApiConfig) == null ? void 0 : _a.publicApiKey);
|
|
@@ -2295,14 +2326,16 @@ var Input = ({
|
|
|
2295
2326
|
inProgress
|
|
2296
2327
|
});
|
|
2297
2328
|
const isInProgress = inProgress || pushToTalkState === "transcribing";
|
|
2298
|
-
const buttonIcon
|
|
2329
|
+
const { buttonIcon, buttonAlt } = (0, import_react14.useMemo)(() => {
|
|
2330
|
+
if (!chatReady)
|
|
2331
|
+
return { buttonIcon: context.icons.spinnerIcon, buttonAlt: "Loading" };
|
|
2332
|
+
return isInProgress && !hideStopButton && chatReady ? { buttonIcon: context.icons.stopIcon, buttonAlt: "Stop" } : { buttonIcon: context.icons.sendIcon, buttonAlt: "Send" };
|
|
2333
|
+
}, [isInProgress, chatReady, hideStopButton, context.icons.stopIcon, context.icons.sendIcon]);
|
|
2299
2334
|
const showPushToTalk = pushToTalkConfigured && (pushToTalkState === "idle" || pushToTalkState === "recording") && !inProgress;
|
|
2335
|
+
const { interrupt } = (0, import_react_core7.useCopilotChatInternal)();
|
|
2300
2336
|
const canSend = (0, import_react14.useMemo)(() => {
|
|
2301
|
-
|
|
2302
|
-
|
|
2303
|
-
const interruptInProgress = (interruptEvent == null ? void 0 : interruptEvent.name) === "LangGraphInterruptEvent" && !(interruptEvent == null ? void 0 : interruptEvent.response);
|
|
2304
|
-
return !isInProgress && text.trim().length > 0 && pushToTalkState === "idle" && !interruptInProgress;
|
|
2305
|
-
}, [(_b = copilotContext.langGraphInterruptAction) == null ? void 0 : _b.event, isInProgress, text, pushToTalkState]);
|
|
2337
|
+
return !isInProgress && text.trim().length > 0 && pushToTalkState === "idle" && !interrupt;
|
|
2338
|
+
}, [interrupt, isInProgress, text, pushToTalkState]);
|
|
2306
2339
|
const canStop = (0, import_react14.useMemo)(() => {
|
|
2307
2340
|
return isInProgress && !hideStopButton;
|
|
2308
2341
|
}, [isInProgress, hideStopButton]);
|
|
@@ -2349,6 +2382,7 @@ var Input = ({
|
|
|
2349
2382
|
"data-copilotkit-in-progress": inProgress,
|
|
2350
2383
|
"data-test-id": inProgress ? "copilot-chat-request-in-progress" : "copilot-chat-ready",
|
|
2351
2384
|
className: "copilotKitInputControlButton",
|
|
2385
|
+
"aria-label": buttonAlt,
|
|
2352
2386
|
children: buttonIcon
|
|
2353
2387
|
}
|
|
2354
2388
|
)
|
|
@@ -2362,8 +2396,6 @@ var Input = ({
|
|
|
2362
2396
|
var import_react15 = __toESM(require("react"));
|
|
2363
2397
|
var import_react_core9 = require("@copilotkit/react-core");
|
|
2364
2398
|
var import_shared3 = require("@copilotkit/shared");
|
|
2365
|
-
var import_shared4 = require("@copilotkit/shared");
|
|
2366
|
-
var import_react_core10 = require("@copilotkit/react-core");
|
|
2367
2399
|
|
|
2368
2400
|
// src/components/chat/ImageUploadQueue.tsx
|
|
2369
2401
|
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
@@ -2467,18 +2499,25 @@ function Suggestion({ title, onClick, partial, className }) {
|
|
|
2467
2499
|
|
|
2468
2500
|
// src/components/chat/Suggestions.tsx
|
|
2469
2501
|
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
2470
|
-
function Suggestions({
|
|
2471
|
-
|
|
2472
|
-
|
|
2473
|
-
|
|
2474
|
-
|
|
2475
|
-
|
|
2476
|
-
|
|
2477
|
-
|
|
2478
|
-
|
|
2479
|
-
|
|
2480
|
-
|
|
2481
|
-
|
|
2502
|
+
function Suggestions({
|
|
2503
|
+
suggestions,
|
|
2504
|
+
onSuggestionClick,
|
|
2505
|
+
isLoading
|
|
2506
|
+
}) {
|
|
2507
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "suggestions", children: suggestions.map((suggestion, index) => {
|
|
2508
|
+
var _a, _b;
|
|
2509
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
2510
|
+
Suggestion,
|
|
2511
|
+
{
|
|
2512
|
+
title: suggestion.title,
|
|
2513
|
+
message: suggestion.message,
|
|
2514
|
+
partial: (_b = (_a = suggestion.isLoading) != null ? _a : suggestion.partial) != null ? _b : isLoading,
|
|
2515
|
+
className: suggestion.className,
|
|
2516
|
+
onClick: () => onSuggestionClick(suggestion.message)
|
|
2517
|
+
},
|
|
2518
|
+
index
|
|
2519
|
+
);
|
|
2520
|
+
}) });
|
|
2482
2521
|
}
|
|
2483
2522
|
|
|
2484
2523
|
// src/components/chat/Chat.tsx
|
|
@@ -2678,16 +2717,16 @@ function CopilotChat({
|
|
|
2678
2717
|
sendMessage,
|
|
2679
2718
|
stopGeneration,
|
|
2680
2719
|
reloadMessages,
|
|
2681
|
-
suggestions: currentSuggestions
|
|
2682
|
-
|
|
2720
|
+
suggestions: currentSuggestions,
|
|
2721
|
+
isLoadingSuggestions,
|
|
2722
|
+
agent
|
|
2723
|
+
} = (0, import_react_core9.useCopilotChatInternal)({
|
|
2683
2724
|
suggestions,
|
|
2684
|
-
makeSystemMessage,
|
|
2685
|
-
disableSystemMessage,
|
|
2686
2725
|
onInProgress,
|
|
2687
2726
|
onSubmitMessage,
|
|
2688
2727
|
onStopGeneration,
|
|
2689
2728
|
onReloadMessages
|
|
2690
|
-
);
|
|
2729
|
+
});
|
|
2691
2730
|
const prevIsLoading = (0, import_react15.useRef)(isLoading);
|
|
2692
2731
|
(0, import_react15.useEffect)(() => {
|
|
2693
2732
|
if (prevIsLoading.current !== isLoading) {
|
|
@@ -2706,7 +2745,11 @@ function CopilotChat({
|
|
|
2706
2745
|
fileInputRef.current.value = "";
|
|
2707
2746
|
}
|
|
2708
2747
|
triggerObservabilityHook("onMessageSent", text);
|
|
2709
|
-
return sendMessage(
|
|
2748
|
+
return sendMessage({
|
|
2749
|
+
id: (0, import_shared3.randomUUID)(),
|
|
2750
|
+
content: text,
|
|
2751
|
+
role: "user"
|
|
2752
|
+
});
|
|
2710
2753
|
};
|
|
2711
2754
|
const chatContext = import_react15.default.useContext(ChatContext);
|
|
2712
2755
|
const isVisible = chatContext ? chatContext.open : true;
|
|
@@ -2809,7 +2852,8 @@ function CopilotChat({
|
|
|
2809
2852
|
RenderSuggestionsList,
|
|
2810
2853
|
{
|
|
2811
2854
|
onSuggestionClick: handleSendMessage,
|
|
2812
|
-
suggestions: currentSuggestions
|
|
2855
|
+
suggestions: currentSuggestions,
|
|
2856
|
+
isLoading: isLoadingSuggestions
|
|
2813
2857
|
}
|
|
2814
2858
|
)
|
|
2815
2859
|
}
|
|
@@ -2832,6 +2876,7 @@ function CopilotChat({
|
|
|
2832
2876
|
Input2,
|
|
2833
2877
|
{
|
|
2834
2878
|
inProgress: isLoading,
|
|
2879
|
+
chatReady: Boolean(agent),
|
|
2835
2880
|
onSend: handleSendMessage,
|
|
2836
2881
|
isVisible,
|
|
2837
2882
|
onStop: stopGeneration,
|
|
@@ -2857,243 +2902,10 @@ function WrappedCopilotChat({
|
|
|
2857
2902
|
}
|
|
2858
2903
|
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_jsx_runtime24.Fragment, { children });
|
|
2859
2904
|
}
|
|
2860
|
-
var useCopilotChatLogic = (chatSuggestions, makeSystemMessage, disableSystemMessage, onInProgress, onSubmitMessage, onStopGeneration, onReloadMessages) => {
|
|
2861
|
-
var _a;
|
|
2862
|
-
const {
|
|
2863
|
-
messages,
|
|
2864
|
-
sendMessage,
|
|
2865
|
-
setMessages,
|
|
2866
|
-
reloadMessages: defaultReloadMessages,
|
|
2867
|
-
stopGeneration: defaultStopGeneration,
|
|
2868
|
-
runChatCompletion,
|
|
2869
|
-
isLoading,
|
|
2870
|
-
suggestions,
|
|
2871
|
-
setSuggestions,
|
|
2872
|
-
generateSuggestions,
|
|
2873
|
-
resetSuggestions: resetSuggestionsFromHook,
|
|
2874
|
-
isLoadingSuggestions
|
|
2875
|
-
} = (0, import_react_core9.useCopilotChatInternal)({
|
|
2876
|
-
makeSystemMessage,
|
|
2877
|
-
disableSystemMessage
|
|
2878
|
-
});
|
|
2879
|
-
const generalContext = (0, import_react_core9.useCopilotContext)();
|
|
2880
|
-
const messagesContext = (0, import_react_core9.useCopilotMessagesContext)();
|
|
2881
|
-
const { actions } = generalContext;
|
|
2882
|
-
const [suggestionsFailed, setSuggestionsFailed] = (0, import_react15.useState)(false);
|
|
2883
|
-
const hasGeneratedInitialSuggestions = (0, import_react15.useRef)(false);
|
|
2884
|
-
(0, import_react15.useEffect)(() => {
|
|
2885
|
-
if (Array.isArray(chatSuggestions)) {
|
|
2886
|
-
setSuggestions(chatSuggestions);
|
|
2887
|
-
hasGeneratedInitialSuggestions.current = true;
|
|
2888
|
-
}
|
|
2889
|
-
}, [JSON.stringify(chatSuggestions), setSuggestions]);
|
|
2890
|
-
const generateSuggestionsWithErrorHandling = (0, import_react15.useCallback)(
|
|
2891
|
-
(context) => __async(void 0, null, function* () {
|
|
2892
|
-
try {
|
|
2893
|
-
yield generateSuggestions();
|
|
2894
|
-
} catch (error) {
|
|
2895
|
-
console.error("Failed to generate suggestions:", error);
|
|
2896
|
-
setSuggestionsFailed(true);
|
|
2897
|
-
}
|
|
2898
|
-
}),
|
|
2899
|
-
[generateSuggestions]
|
|
2900
|
-
);
|
|
2901
|
-
(0, import_react15.useEffect)(() => {
|
|
2902
|
-
if (chatSuggestions !== "auto" || isLoadingSuggestions || suggestionsFailed) {
|
|
2903
|
-
return;
|
|
2904
|
-
}
|
|
2905
|
-
if (isLoading) {
|
|
2906
|
-
return;
|
|
2907
|
-
}
|
|
2908
|
-
if (Object.keys(generalContext.chatSuggestionConfiguration).length === 0) {
|
|
2909
|
-
return;
|
|
2910
|
-
}
|
|
2911
|
-
if (messages.length === 0 && !hasGeneratedInitialSuggestions.current) {
|
|
2912
|
-
hasGeneratedInitialSuggestions.current = true;
|
|
2913
|
-
generateSuggestionsWithErrorHandling("initial");
|
|
2914
|
-
return;
|
|
2915
|
-
}
|
|
2916
|
-
if (messages.length > 0 && suggestions.length === 0) {
|
|
2917
|
-
generateSuggestionsWithErrorHandling("post-message");
|
|
2918
|
-
return;
|
|
2919
|
-
}
|
|
2920
|
-
}, [
|
|
2921
|
-
chatSuggestions,
|
|
2922
|
-
isLoadingSuggestions,
|
|
2923
|
-
suggestionsFailed,
|
|
2924
|
-
messages.length,
|
|
2925
|
-
isLoading,
|
|
2926
|
-
suggestions.length,
|
|
2927
|
-
Object.keys(generalContext.chatSuggestionConfiguration).join(","),
|
|
2928
|
-
// Use stable string instead of object reference
|
|
2929
|
-
generateSuggestionsWithErrorHandling
|
|
2930
|
-
]);
|
|
2931
|
-
(0, import_react15.useEffect)(() => {
|
|
2932
|
-
if (chatSuggestions !== "auto") {
|
|
2933
|
-
hasGeneratedInitialSuggestions.current = false;
|
|
2934
|
-
setSuggestionsFailed(false);
|
|
2935
|
-
}
|
|
2936
|
-
}, [chatSuggestions]);
|
|
2937
|
-
const stableContext = (0, import_react15.useMemo)(
|
|
2938
|
-
() => __spreadValues(__spreadValues({}, generalContext), messagesContext),
|
|
2939
|
-
[
|
|
2940
|
-
// Only include stable dependencies
|
|
2941
|
-
generalContext.actions,
|
|
2942
|
-
messagesContext.messages.length,
|
|
2943
|
-
generalContext.isLoading
|
|
2944
|
-
]
|
|
2945
|
-
);
|
|
2946
|
-
const resetSuggestions = (0, import_react15.useCallback)(() => {
|
|
2947
|
-
resetSuggestionsFromHook();
|
|
2948
|
-
setSuggestionsFailed(false);
|
|
2949
|
-
hasGeneratedInitialSuggestions.current = false;
|
|
2950
|
-
}, [resetSuggestionsFromHook]);
|
|
2951
|
-
(0, import_react15.useEffect)(() => {
|
|
2952
|
-
onInProgress == null ? void 0 : onInProgress(isLoading);
|
|
2953
|
-
}, [onInProgress, isLoading]);
|
|
2954
|
-
const safelySendMessage = (messageContent, imagesToUse) => __async(void 0, null, function* () {
|
|
2955
|
-
const images = imagesToUse || [];
|
|
2956
|
-
if (chatSuggestions === "auto" || chatSuggestions === "manual") {
|
|
2957
|
-
setSuggestions([]);
|
|
2958
|
-
}
|
|
2959
|
-
let firstMessage = null;
|
|
2960
|
-
if (messageContent.trim().length > 0) {
|
|
2961
|
-
const textMessage = {
|
|
2962
|
-
id: (0, import_shared4.randomId)(),
|
|
2963
|
-
role: "user",
|
|
2964
|
-
content: messageContent
|
|
2965
|
-
};
|
|
2966
|
-
if (onSubmitMessage) {
|
|
2967
|
-
try {
|
|
2968
|
-
yield onSubmitMessage(messageContent);
|
|
2969
|
-
} catch (error) {
|
|
2970
|
-
console.error("Error in onSubmitMessage:", error);
|
|
2971
|
-
}
|
|
2972
|
-
}
|
|
2973
|
-
yield sendMessage(textMessage, {
|
|
2974
|
-
followUp: images.length === 0,
|
|
2975
|
-
clearSuggestions: chatSuggestions === "auto" || chatSuggestions === "manual"
|
|
2976
|
-
});
|
|
2977
|
-
if (!firstMessage) {
|
|
2978
|
-
firstMessage = textMessage;
|
|
2979
|
-
}
|
|
2980
|
-
}
|
|
2981
|
-
if (images.length > 0) {
|
|
2982
|
-
for (let i = 0; i < images.length; i++) {
|
|
2983
|
-
const imageMessage = {
|
|
2984
|
-
id: (0, import_shared4.randomId)(),
|
|
2985
|
-
role: "user",
|
|
2986
|
-
image: {
|
|
2987
|
-
format: images[i].contentType.replace("image/", ""),
|
|
2988
|
-
bytes: images[i].bytes
|
|
2989
|
-
}
|
|
2990
|
-
};
|
|
2991
|
-
yield sendMessage(imageMessage, { followUp: i === images.length - 1 });
|
|
2992
|
-
if (!firstMessage) {
|
|
2993
|
-
firstMessage = imageMessage;
|
|
2994
|
-
}
|
|
2995
|
-
}
|
|
2996
|
-
}
|
|
2997
|
-
if (!firstMessage) {
|
|
2998
|
-
return { role: "user", content: "", id: (0, import_shared4.randomId)() };
|
|
2999
|
-
}
|
|
3000
|
-
return firstMessage;
|
|
3001
|
-
});
|
|
3002
|
-
const currentAgentName = (_a = generalContext.agentSession) == null ? void 0 : _a.agentName;
|
|
3003
|
-
const restartCurrentAgent = (hint) => __async(void 0, null, function* () {
|
|
3004
|
-
if (generalContext.agentSession) {
|
|
3005
|
-
generalContext.setAgentSession(__spreadProps(__spreadValues({}, generalContext.agentSession), {
|
|
3006
|
-
nodeName: void 0,
|
|
3007
|
-
threadId: void 0
|
|
3008
|
-
}));
|
|
3009
|
-
generalContext.setCoagentStates((prevAgentStates) => {
|
|
3010
|
-
return __spreadProps(__spreadValues({}, prevAgentStates), {
|
|
3011
|
-
[generalContext.agentSession.agentName]: __spreadProps(__spreadValues({}, prevAgentStates[generalContext.agentSession.agentName]), {
|
|
3012
|
-
threadId: void 0,
|
|
3013
|
-
nodeName: void 0,
|
|
3014
|
-
runId: void 0
|
|
3015
|
-
})
|
|
3016
|
-
});
|
|
3017
|
-
});
|
|
3018
|
-
}
|
|
3019
|
-
});
|
|
3020
|
-
const runCurrentAgent = (hint) => __async(void 0, null, function* () {
|
|
3021
|
-
if (generalContext.agentSession) {
|
|
3022
|
-
yield (0, import_react_core10.runAgent)(
|
|
3023
|
-
generalContext.agentSession.agentName,
|
|
3024
|
-
stableContext,
|
|
3025
|
-
messagesContext.messages,
|
|
3026
|
-
sendMessage,
|
|
3027
|
-
runChatCompletion
|
|
3028
|
-
);
|
|
3029
|
-
}
|
|
3030
|
-
});
|
|
3031
|
-
const stopCurrentAgent = () => {
|
|
3032
|
-
if (generalContext.agentSession) {
|
|
3033
|
-
(0, import_react_core10.stopAgent)(generalContext.agentSession.agentName, stableContext);
|
|
3034
|
-
}
|
|
3035
|
-
};
|
|
3036
|
-
const setCurrentAgentState = (state) => {
|
|
3037
|
-
if (generalContext.agentSession) {
|
|
3038
|
-
generalContext.setCoagentStates((prevAgentStates) => {
|
|
3039
|
-
return __spreadProps(__spreadValues({}, prevAgentStates), {
|
|
3040
|
-
[generalContext.agentSession.agentName]: {
|
|
3041
|
-
state
|
|
3042
|
-
}
|
|
3043
|
-
});
|
|
3044
|
-
});
|
|
3045
|
-
}
|
|
3046
|
-
};
|
|
3047
|
-
function stopGeneration() {
|
|
3048
|
-
setSuggestions([]);
|
|
3049
|
-
if (onStopGeneration) {
|
|
3050
|
-
onStopGeneration({
|
|
3051
|
-
messages,
|
|
3052
|
-
setMessages,
|
|
3053
|
-
stopGeneration: defaultStopGeneration,
|
|
3054
|
-
currentAgentName,
|
|
3055
|
-
restartCurrentAgent,
|
|
3056
|
-
stopCurrentAgent,
|
|
3057
|
-
runCurrentAgent,
|
|
3058
|
-
setCurrentAgentState
|
|
3059
|
-
});
|
|
3060
|
-
} else {
|
|
3061
|
-
defaultStopGeneration();
|
|
3062
|
-
}
|
|
3063
|
-
}
|
|
3064
|
-
function reloadMessages(messageId) {
|
|
3065
|
-
if (onReloadMessages) {
|
|
3066
|
-
onReloadMessages({
|
|
3067
|
-
messages,
|
|
3068
|
-
setMessages,
|
|
3069
|
-
stopGeneration: defaultStopGeneration,
|
|
3070
|
-
currentAgentName,
|
|
3071
|
-
restartCurrentAgent,
|
|
3072
|
-
stopCurrentAgent,
|
|
3073
|
-
runCurrentAgent,
|
|
3074
|
-
setCurrentAgentState,
|
|
3075
|
-
messageId
|
|
3076
|
-
});
|
|
3077
|
-
} else {
|
|
3078
|
-
defaultReloadMessages(messageId);
|
|
3079
|
-
}
|
|
3080
|
-
}
|
|
3081
|
-
return {
|
|
3082
|
-
messages,
|
|
3083
|
-
isLoading,
|
|
3084
|
-
suggestions,
|
|
3085
|
-
sendMessage: safelySendMessage,
|
|
3086
|
-
stopGeneration,
|
|
3087
|
-
reloadMessages,
|
|
3088
|
-
resetSuggestions,
|
|
3089
|
-
context: stableContext,
|
|
3090
|
-
actions
|
|
3091
|
-
};
|
|
3092
|
-
};
|
|
3093
2905
|
|
|
3094
2906
|
// src/components/chat/Modal.tsx
|
|
3095
|
-
var
|
|
3096
|
-
var
|
|
2907
|
+
var import_react_core10 = require("@copilotkit/react-core");
|
|
2908
|
+
var import_shared4 = require("@copilotkit/shared");
|
|
3097
2909
|
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
3098
2910
|
var CopilotModalInner = (_a) => {
|
|
3099
2911
|
var _b = _a, {
|
|
@@ -3119,7 +2931,7 @@ var CopilotModalInner = (_a) => {
|
|
|
3119
2931
|
"Button",
|
|
3120
2932
|
"Header"
|
|
3121
2933
|
]);
|
|
3122
|
-
const { copilotApiConfig, setBannerError } = (0,
|
|
2934
|
+
const { copilotApiConfig, setBannerError } = (0, import_react_core10.useCopilotContext)();
|
|
3123
2935
|
const { publicApiKey } = copilotApiConfig;
|
|
3124
2936
|
const triggerObservabilityHook = (0, import_react16.useCallback)(
|
|
3125
2937
|
(hookName, ...args) => {
|
|
@@ -3128,14 +2940,14 @@ var CopilotModalInner = (_a) => {
|
|
|
3128
2940
|
}
|
|
3129
2941
|
if ((observabilityHooks == null ? void 0 : observabilityHooks[hookName]) && !publicApiKey) {
|
|
3130
2942
|
setBannerError(
|
|
3131
|
-
new
|
|
2943
|
+
new import_shared4.CopilotKitError({
|
|
3132
2944
|
message: "observabilityHooks requires a publicApiKey to function.",
|
|
3133
|
-
code:
|
|
3134
|
-
severity:
|
|
3135
|
-
visibility:
|
|
2945
|
+
code: import_shared4.CopilotKitErrorCode.MISSING_PUBLIC_API_KEY_ERROR,
|
|
2946
|
+
severity: import_shared4.Severity.CRITICAL,
|
|
2947
|
+
visibility: import_shared4.ErrorVisibility.BANNER
|
|
3136
2948
|
})
|
|
3137
2949
|
);
|
|
3138
|
-
|
|
2950
|
+
import_shared4.styledConsole.publicApiKeyRequired("observabilityHooks");
|
|
3139
2951
|
}
|
|
3140
2952
|
},
|
|
3141
2953
|
[publicApiKey, observabilityHooks, setBannerError]
|