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