@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
|
@@ -1028,14 +1028,30 @@ var import_react_core5 = require("@copilotkit/react-core");
|
|
|
1028
1028
|
|
|
1029
1029
|
// src/components/chat/messages/UserMessage.tsx
|
|
1030
1030
|
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
1031
|
+
var getTextContent = (content) => {
|
|
1032
|
+
if (typeof content === "undefined") {
|
|
1033
|
+
return void 0;
|
|
1034
|
+
}
|
|
1035
|
+
if (typeof content === "string") {
|
|
1036
|
+
return content;
|
|
1037
|
+
}
|
|
1038
|
+
return content.map((part) => {
|
|
1039
|
+
if (part.type === "text") {
|
|
1040
|
+
return part.text;
|
|
1041
|
+
}
|
|
1042
|
+
return void 0;
|
|
1043
|
+
}).filter((value) => typeof value === "string" && value.length > 0).join(" ").trim() || void 0;
|
|
1044
|
+
};
|
|
1031
1045
|
var UserMessage = (props) => {
|
|
1032
1046
|
const { message, ImageRenderer: ImageRenderer2 } = props;
|
|
1033
|
-
const isImageMessage = message && "image" in message && message.image;
|
|
1047
|
+
const isImageMessage = message && "image" in message && Boolean(message.image);
|
|
1034
1048
|
if (isImageMessage) {
|
|
1035
1049
|
const imageMessage = message;
|
|
1036
|
-
|
|
1050
|
+
const content2 = getTextContent(imageMessage == null ? void 0 : imageMessage.content);
|
|
1051
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: "copilotKitMessage copilotKitUserMessage", children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(ImageRenderer2, { image: imageMessage.image, content: content2 }) });
|
|
1037
1052
|
}
|
|
1038
|
-
|
|
1053
|
+
const content = getTextContent(message == null ? void 0 : message.content);
|
|
1054
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: "copilotKitMessage copilotKitUserMessage", children: content });
|
|
1039
1055
|
};
|
|
1040
1056
|
|
|
1041
1057
|
// src/components/chat/Markdown.tsx
|
|
@@ -1714,6 +1730,7 @@ function RenderMessage(_a) {
|
|
|
1714
1730
|
var _a2;
|
|
1715
1731
|
const {
|
|
1716
1732
|
message,
|
|
1733
|
+
messages,
|
|
1717
1734
|
inProgress,
|
|
1718
1735
|
index,
|
|
1719
1736
|
isCurrentMessage,
|
|
@@ -1744,6 +1761,7 @@ function RenderMessage(_a) {
|
|
|
1744
1761
|
subComponent: (_a2 = message.generativeUI) == null ? void 0 : _a2.call(message),
|
|
1745
1762
|
rawData: message,
|
|
1746
1763
|
message,
|
|
1764
|
+
messages,
|
|
1747
1765
|
isLoading: inProgress && isCurrentMessage && !message.content,
|
|
1748
1766
|
isGenerating: inProgress && isCurrentMessage && !!message.content,
|
|
1749
1767
|
isCurrentMessage,
|
|
@@ -1757,6 +1775,8 @@ function RenderMessage(_a) {
|
|
|
1757
1775
|
},
|
|
1758
1776
|
index
|
|
1759
1777
|
);
|
|
1778
|
+
default:
|
|
1779
|
+
return null;
|
|
1760
1780
|
}
|
|
1761
1781
|
}
|
|
1762
1782
|
|
|
@@ -1765,6 +1785,7 @@ var import_runtime_client_gql = require("@copilotkit/runtime-client-gql");
|
|
|
1765
1785
|
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
1766
1786
|
var LegacyRenderMessage = ({
|
|
1767
1787
|
message,
|
|
1788
|
+
messages,
|
|
1768
1789
|
inProgress,
|
|
1769
1790
|
index,
|
|
1770
1791
|
isCurrentMessage,
|
|
@@ -1793,6 +1814,7 @@ var LegacyRenderMessage = ({
|
|
|
1793
1814
|
RenderTextMessage,
|
|
1794
1815
|
{
|
|
1795
1816
|
message,
|
|
1817
|
+
messages,
|
|
1796
1818
|
inProgress,
|
|
1797
1819
|
index,
|
|
1798
1820
|
isCurrentMessage,
|
|
@@ -1810,6 +1832,7 @@ var LegacyRenderMessage = ({
|
|
|
1810
1832
|
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1811
1833
|
RenderActionExecutionMessage,
|
|
1812
1834
|
{
|
|
1835
|
+
messages,
|
|
1813
1836
|
message,
|
|
1814
1837
|
inProgress,
|
|
1815
1838
|
index,
|
|
@@ -1824,6 +1847,7 @@ var LegacyRenderMessage = ({
|
|
|
1824
1847
|
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1825
1848
|
RenderAgentStateMessage,
|
|
1826
1849
|
{
|
|
1850
|
+
messages,
|
|
1827
1851
|
message,
|
|
1828
1852
|
inProgress,
|
|
1829
1853
|
index,
|
|
@@ -1837,6 +1861,7 @@ var LegacyRenderMessage = ({
|
|
|
1837
1861
|
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1838
1862
|
RenderResultMessage,
|
|
1839
1863
|
{
|
|
1864
|
+
messages,
|
|
1840
1865
|
message,
|
|
1841
1866
|
inProgress,
|
|
1842
1867
|
index,
|
|
@@ -1850,6 +1875,7 @@ var LegacyRenderMessage = ({
|
|
|
1850
1875
|
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1851
1876
|
RenderImageMessage,
|
|
1852
1877
|
{
|
|
1878
|
+
messages,
|
|
1853
1879
|
message,
|
|
1854
1880
|
inProgress,
|
|
1855
1881
|
index,
|
|
@@ -1862,6 +1888,7 @@ var LegacyRenderMessage = ({
|
|
|
1862
1888
|
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1863
1889
|
RenderMessage,
|
|
1864
1890
|
{
|
|
1891
|
+
messages,
|
|
1865
1892
|
message,
|
|
1866
1893
|
inProgress,
|
|
1867
1894
|
index,
|
|
@@ -1902,7 +1929,8 @@ var Messages = ({
|
|
|
1902
1929
|
RenderResultMessage,
|
|
1903
1930
|
RenderImageMessage
|
|
1904
1931
|
}) => {
|
|
1905
|
-
|
|
1932
|
+
var _a;
|
|
1933
|
+
const { labels, icons } = useChatContext();
|
|
1906
1934
|
const { messages: visibleMessages, interrupt } = (0, import_react_core5.useCopilotChatInternal)();
|
|
1907
1935
|
const initialMessages = (0, import_react10.useMemo)(() => makeInitialMessages(labels.initial), [labels.initial]);
|
|
1908
1936
|
const messages = [...initialMessages, ...visibleMessages];
|
|
@@ -1932,6 +1960,7 @@ var Messages = ({
|
|
|
1932
1960
|
]
|
|
1933
1961
|
);
|
|
1934
1962
|
const MessageRenderer = hasLegacyProps ? (props) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(LegacyRenderMessage, __spreadProps(__spreadValues({}, props), { legacyProps })) : RenderMessage2;
|
|
1963
|
+
const LoadingIcon = () => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { children: icons.activityIcon });
|
|
1935
1964
|
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "copilotKitMessages", ref: messagesContainerRef, children: [
|
|
1936
1965
|
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "copilotKitMessagesContainer", children: [
|
|
1937
1966
|
messages.map((message, index) => {
|
|
@@ -1940,6 +1969,7 @@ var Messages = ({
|
|
|
1940
1969
|
MessageRenderer,
|
|
1941
1970
|
{
|
|
1942
1971
|
message,
|
|
1972
|
+
messages,
|
|
1943
1973
|
inProgress,
|
|
1944
1974
|
index,
|
|
1945
1975
|
isCurrentMessage,
|
|
@@ -1956,6 +1986,7 @@ var Messages = ({
|
|
|
1956
1986
|
index
|
|
1957
1987
|
);
|
|
1958
1988
|
}),
|
|
1989
|
+
((_a = messages[messages.length - 1]) == null ? void 0 : _a.role) === "user" && inProgress && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(LoadingIcon, {}),
|
|
1959
1990
|
interrupt,
|
|
1960
1991
|
chatError && ErrorMessage && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(ErrorMessage, { error: chatError, isCurrentMessage: true })
|
|
1961
1992
|
] }),
|
|
@@ -2249,12 +2280,12 @@ var MAX_NEWLINES = 6;
|
|
|
2249
2280
|
var Input = ({
|
|
2250
2281
|
inProgress,
|
|
2251
2282
|
onSend,
|
|
2252
|
-
|
|
2283
|
+
chatReady = false,
|
|
2253
2284
|
onStop,
|
|
2254
2285
|
onUpload,
|
|
2255
2286
|
hideStopButton = false
|
|
2256
2287
|
}) => {
|
|
2257
|
-
var _a
|
|
2288
|
+
var _a;
|
|
2258
2289
|
const context = useChatContext();
|
|
2259
2290
|
const copilotContext = (0, import_react_core7.useCopilotContext)();
|
|
2260
2291
|
const showPoweredBy = !((_a = copilotContext.copilotApiConfig) == null ? void 0 : _a.publicApiKey);
|
|
@@ -2284,14 +2315,16 @@ var Input = ({
|
|
|
2284
2315
|
inProgress
|
|
2285
2316
|
});
|
|
2286
2317
|
const isInProgress = inProgress || pushToTalkState === "transcribing";
|
|
2287
|
-
const buttonIcon
|
|
2318
|
+
const { buttonIcon, buttonAlt } = (0, import_react14.useMemo)(() => {
|
|
2319
|
+
if (!chatReady)
|
|
2320
|
+
return { buttonIcon: context.icons.spinnerIcon, buttonAlt: "Loading" };
|
|
2321
|
+
return isInProgress && !hideStopButton && chatReady ? { buttonIcon: context.icons.stopIcon, buttonAlt: "Stop" } : { buttonIcon: context.icons.sendIcon, buttonAlt: "Send" };
|
|
2322
|
+
}, [isInProgress, chatReady, hideStopButton, context.icons.stopIcon, context.icons.sendIcon]);
|
|
2288
2323
|
const showPushToTalk = pushToTalkConfigured && (pushToTalkState === "idle" || pushToTalkState === "recording") && !inProgress;
|
|
2324
|
+
const { interrupt } = (0, import_react_core7.useCopilotChatInternal)();
|
|
2289
2325
|
const canSend = (0, import_react14.useMemo)(() => {
|
|
2290
|
-
|
|
2291
|
-
|
|
2292
|
-
const interruptInProgress = (interruptEvent == null ? void 0 : interruptEvent.name) === "LangGraphInterruptEvent" && !(interruptEvent == null ? void 0 : interruptEvent.response);
|
|
2293
|
-
return !isInProgress && text.trim().length > 0 && pushToTalkState === "idle" && !interruptInProgress;
|
|
2294
|
-
}, [(_b = copilotContext.langGraphInterruptAction) == null ? void 0 : _b.event, isInProgress, text, pushToTalkState]);
|
|
2326
|
+
return !isInProgress && text.trim().length > 0 && pushToTalkState === "idle" && !interrupt;
|
|
2327
|
+
}, [interrupt, isInProgress, text, pushToTalkState]);
|
|
2295
2328
|
const canStop = (0, import_react14.useMemo)(() => {
|
|
2296
2329
|
return isInProgress && !hideStopButton;
|
|
2297
2330
|
}, [isInProgress, hideStopButton]);
|
|
@@ -2338,6 +2371,7 @@ var Input = ({
|
|
|
2338
2371
|
"data-copilotkit-in-progress": inProgress,
|
|
2339
2372
|
"data-test-id": inProgress ? "copilot-chat-request-in-progress" : "copilot-chat-ready",
|
|
2340
2373
|
className: "copilotKitInputControlButton",
|
|
2374
|
+
"aria-label": buttonAlt,
|
|
2341
2375
|
children: buttonIcon
|
|
2342
2376
|
}
|
|
2343
2377
|
)
|
|
@@ -2351,8 +2385,6 @@ var Input = ({
|
|
|
2351
2385
|
var import_react15 = __toESM(require("react"));
|
|
2352
2386
|
var import_react_core9 = require("@copilotkit/react-core");
|
|
2353
2387
|
var import_shared3 = require("@copilotkit/shared");
|
|
2354
|
-
var import_shared4 = require("@copilotkit/shared");
|
|
2355
|
-
var import_react_core10 = require("@copilotkit/react-core");
|
|
2356
2388
|
|
|
2357
2389
|
// src/components/chat/ImageUploadQueue.tsx
|
|
2358
2390
|
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
@@ -2456,18 +2488,25 @@ function Suggestion({ title, onClick, partial, className }) {
|
|
|
2456
2488
|
|
|
2457
2489
|
// src/components/chat/Suggestions.tsx
|
|
2458
2490
|
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
2459
|
-
function Suggestions({
|
|
2460
|
-
|
|
2461
|
-
|
|
2462
|
-
|
|
2463
|
-
|
|
2464
|
-
|
|
2465
|
-
|
|
2466
|
-
|
|
2467
|
-
|
|
2468
|
-
|
|
2469
|
-
|
|
2470
|
-
|
|
2491
|
+
function Suggestions({
|
|
2492
|
+
suggestions,
|
|
2493
|
+
onSuggestionClick,
|
|
2494
|
+
isLoading
|
|
2495
|
+
}) {
|
|
2496
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "suggestions", children: suggestions.map((suggestion, index) => {
|
|
2497
|
+
var _a, _b;
|
|
2498
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
2499
|
+
Suggestion,
|
|
2500
|
+
{
|
|
2501
|
+
title: suggestion.title,
|
|
2502
|
+
message: suggestion.message,
|
|
2503
|
+
partial: (_b = (_a = suggestion.isLoading) != null ? _a : suggestion.partial) != null ? _b : isLoading,
|
|
2504
|
+
className: suggestion.className,
|
|
2505
|
+
onClick: () => onSuggestionClick(suggestion.message)
|
|
2506
|
+
},
|
|
2507
|
+
index
|
|
2508
|
+
);
|
|
2509
|
+
}) });
|
|
2471
2510
|
}
|
|
2472
2511
|
|
|
2473
2512
|
// src/components/chat/Chat.tsx
|
|
@@ -2667,16 +2706,16 @@ function CopilotChat({
|
|
|
2667
2706
|
sendMessage,
|
|
2668
2707
|
stopGeneration,
|
|
2669
2708
|
reloadMessages,
|
|
2670
|
-
suggestions: currentSuggestions
|
|
2671
|
-
|
|
2709
|
+
suggestions: currentSuggestions,
|
|
2710
|
+
isLoadingSuggestions,
|
|
2711
|
+
agent
|
|
2712
|
+
} = (0, import_react_core9.useCopilotChatInternal)({
|
|
2672
2713
|
suggestions,
|
|
2673
|
-
makeSystemMessage,
|
|
2674
|
-
disableSystemMessage,
|
|
2675
2714
|
onInProgress,
|
|
2676
2715
|
onSubmitMessage,
|
|
2677
2716
|
onStopGeneration,
|
|
2678
2717
|
onReloadMessages
|
|
2679
|
-
);
|
|
2718
|
+
});
|
|
2680
2719
|
const prevIsLoading = (0, import_react15.useRef)(isLoading);
|
|
2681
2720
|
(0, import_react15.useEffect)(() => {
|
|
2682
2721
|
if (prevIsLoading.current !== isLoading) {
|
|
@@ -2695,7 +2734,11 @@ function CopilotChat({
|
|
|
2695
2734
|
fileInputRef.current.value = "";
|
|
2696
2735
|
}
|
|
2697
2736
|
triggerObservabilityHook("onMessageSent", text);
|
|
2698
|
-
return sendMessage(
|
|
2737
|
+
return sendMessage({
|
|
2738
|
+
id: (0, import_shared3.randomUUID)(),
|
|
2739
|
+
content: text,
|
|
2740
|
+
role: "user"
|
|
2741
|
+
});
|
|
2699
2742
|
};
|
|
2700
2743
|
const chatContext = import_react15.default.useContext(ChatContext);
|
|
2701
2744
|
const isVisible = chatContext ? chatContext.open : true;
|
|
@@ -2798,7 +2841,8 @@ function CopilotChat({
|
|
|
2798
2841
|
RenderSuggestionsList,
|
|
2799
2842
|
{
|
|
2800
2843
|
onSuggestionClick: handleSendMessage,
|
|
2801
|
-
suggestions: currentSuggestions
|
|
2844
|
+
suggestions: currentSuggestions,
|
|
2845
|
+
isLoading: isLoadingSuggestions
|
|
2802
2846
|
}
|
|
2803
2847
|
)
|
|
2804
2848
|
}
|
|
@@ -2821,6 +2865,7 @@ function CopilotChat({
|
|
|
2821
2865
|
Input2,
|
|
2822
2866
|
{
|
|
2823
2867
|
inProgress: isLoading,
|
|
2868
|
+
chatReady: Boolean(agent),
|
|
2824
2869
|
onSend: handleSendMessage,
|
|
2825
2870
|
isVisible,
|
|
2826
2871
|
onStop: stopGeneration,
|
|
@@ -2846,243 +2891,10 @@ function WrappedCopilotChat({
|
|
|
2846
2891
|
}
|
|
2847
2892
|
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_jsx_runtime24.Fragment, { children });
|
|
2848
2893
|
}
|
|
2849
|
-
var useCopilotChatLogic = (chatSuggestions, makeSystemMessage, disableSystemMessage, onInProgress, onSubmitMessage, onStopGeneration, onReloadMessages) => {
|
|
2850
|
-
var _a;
|
|
2851
|
-
const {
|
|
2852
|
-
messages,
|
|
2853
|
-
sendMessage,
|
|
2854
|
-
setMessages,
|
|
2855
|
-
reloadMessages: defaultReloadMessages,
|
|
2856
|
-
stopGeneration: defaultStopGeneration,
|
|
2857
|
-
runChatCompletion,
|
|
2858
|
-
isLoading,
|
|
2859
|
-
suggestions,
|
|
2860
|
-
setSuggestions,
|
|
2861
|
-
generateSuggestions,
|
|
2862
|
-
resetSuggestions: resetSuggestionsFromHook,
|
|
2863
|
-
isLoadingSuggestions
|
|
2864
|
-
} = (0, import_react_core9.useCopilotChatInternal)({
|
|
2865
|
-
makeSystemMessage,
|
|
2866
|
-
disableSystemMessage
|
|
2867
|
-
});
|
|
2868
|
-
const generalContext = (0, import_react_core9.useCopilotContext)();
|
|
2869
|
-
const messagesContext = (0, import_react_core9.useCopilotMessagesContext)();
|
|
2870
|
-
const { actions } = generalContext;
|
|
2871
|
-
const [suggestionsFailed, setSuggestionsFailed] = (0, import_react15.useState)(false);
|
|
2872
|
-
const hasGeneratedInitialSuggestions = (0, import_react15.useRef)(false);
|
|
2873
|
-
(0, import_react15.useEffect)(() => {
|
|
2874
|
-
if (Array.isArray(chatSuggestions)) {
|
|
2875
|
-
setSuggestions(chatSuggestions);
|
|
2876
|
-
hasGeneratedInitialSuggestions.current = true;
|
|
2877
|
-
}
|
|
2878
|
-
}, [JSON.stringify(chatSuggestions), setSuggestions]);
|
|
2879
|
-
const generateSuggestionsWithErrorHandling = (0, import_react15.useCallback)(
|
|
2880
|
-
(context) => __async(void 0, null, function* () {
|
|
2881
|
-
try {
|
|
2882
|
-
yield generateSuggestions();
|
|
2883
|
-
} catch (error) {
|
|
2884
|
-
console.error("Failed to generate suggestions:", error);
|
|
2885
|
-
setSuggestionsFailed(true);
|
|
2886
|
-
}
|
|
2887
|
-
}),
|
|
2888
|
-
[generateSuggestions]
|
|
2889
|
-
);
|
|
2890
|
-
(0, import_react15.useEffect)(() => {
|
|
2891
|
-
if (chatSuggestions !== "auto" || isLoadingSuggestions || suggestionsFailed) {
|
|
2892
|
-
return;
|
|
2893
|
-
}
|
|
2894
|
-
if (isLoading) {
|
|
2895
|
-
return;
|
|
2896
|
-
}
|
|
2897
|
-
if (Object.keys(generalContext.chatSuggestionConfiguration).length === 0) {
|
|
2898
|
-
return;
|
|
2899
|
-
}
|
|
2900
|
-
if (messages.length === 0 && !hasGeneratedInitialSuggestions.current) {
|
|
2901
|
-
hasGeneratedInitialSuggestions.current = true;
|
|
2902
|
-
generateSuggestionsWithErrorHandling("initial");
|
|
2903
|
-
return;
|
|
2904
|
-
}
|
|
2905
|
-
if (messages.length > 0 && suggestions.length === 0) {
|
|
2906
|
-
generateSuggestionsWithErrorHandling("post-message");
|
|
2907
|
-
return;
|
|
2908
|
-
}
|
|
2909
|
-
}, [
|
|
2910
|
-
chatSuggestions,
|
|
2911
|
-
isLoadingSuggestions,
|
|
2912
|
-
suggestionsFailed,
|
|
2913
|
-
messages.length,
|
|
2914
|
-
isLoading,
|
|
2915
|
-
suggestions.length,
|
|
2916
|
-
Object.keys(generalContext.chatSuggestionConfiguration).join(","),
|
|
2917
|
-
// Use stable string instead of object reference
|
|
2918
|
-
generateSuggestionsWithErrorHandling
|
|
2919
|
-
]);
|
|
2920
|
-
(0, import_react15.useEffect)(() => {
|
|
2921
|
-
if (chatSuggestions !== "auto") {
|
|
2922
|
-
hasGeneratedInitialSuggestions.current = false;
|
|
2923
|
-
setSuggestionsFailed(false);
|
|
2924
|
-
}
|
|
2925
|
-
}, [chatSuggestions]);
|
|
2926
|
-
const stableContext = (0, import_react15.useMemo)(
|
|
2927
|
-
() => __spreadValues(__spreadValues({}, generalContext), messagesContext),
|
|
2928
|
-
[
|
|
2929
|
-
// Only include stable dependencies
|
|
2930
|
-
generalContext.actions,
|
|
2931
|
-
messagesContext.messages.length,
|
|
2932
|
-
generalContext.isLoading
|
|
2933
|
-
]
|
|
2934
|
-
);
|
|
2935
|
-
const resetSuggestions = (0, import_react15.useCallback)(() => {
|
|
2936
|
-
resetSuggestionsFromHook();
|
|
2937
|
-
setSuggestionsFailed(false);
|
|
2938
|
-
hasGeneratedInitialSuggestions.current = false;
|
|
2939
|
-
}, [resetSuggestionsFromHook]);
|
|
2940
|
-
(0, import_react15.useEffect)(() => {
|
|
2941
|
-
onInProgress == null ? void 0 : onInProgress(isLoading);
|
|
2942
|
-
}, [onInProgress, isLoading]);
|
|
2943
|
-
const safelySendMessage = (messageContent, imagesToUse) => __async(void 0, null, function* () {
|
|
2944
|
-
const images = imagesToUse || [];
|
|
2945
|
-
if (chatSuggestions === "auto" || chatSuggestions === "manual") {
|
|
2946
|
-
setSuggestions([]);
|
|
2947
|
-
}
|
|
2948
|
-
let firstMessage = null;
|
|
2949
|
-
if (messageContent.trim().length > 0) {
|
|
2950
|
-
const textMessage = {
|
|
2951
|
-
id: (0, import_shared4.randomId)(),
|
|
2952
|
-
role: "user",
|
|
2953
|
-
content: messageContent
|
|
2954
|
-
};
|
|
2955
|
-
if (onSubmitMessage) {
|
|
2956
|
-
try {
|
|
2957
|
-
yield onSubmitMessage(messageContent);
|
|
2958
|
-
} catch (error) {
|
|
2959
|
-
console.error("Error in onSubmitMessage:", error);
|
|
2960
|
-
}
|
|
2961
|
-
}
|
|
2962
|
-
yield sendMessage(textMessage, {
|
|
2963
|
-
followUp: images.length === 0,
|
|
2964
|
-
clearSuggestions: chatSuggestions === "auto" || chatSuggestions === "manual"
|
|
2965
|
-
});
|
|
2966
|
-
if (!firstMessage) {
|
|
2967
|
-
firstMessage = textMessage;
|
|
2968
|
-
}
|
|
2969
|
-
}
|
|
2970
|
-
if (images.length > 0) {
|
|
2971
|
-
for (let i = 0; i < images.length; i++) {
|
|
2972
|
-
const imageMessage = {
|
|
2973
|
-
id: (0, import_shared4.randomId)(),
|
|
2974
|
-
role: "user",
|
|
2975
|
-
image: {
|
|
2976
|
-
format: images[i].contentType.replace("image/", ""),
|
|
2977
|
-
bytes: images[i].bytes
|
|
2978
|
-
}
|
|
2979
|
-
};
|
|
2980
|
-
yield sendMessage(imageMessage, { followUp: i === images.length - 1 });
|
|
2981
|
-
if (!firstMessage) {
|
|
2982
|
-
firstMessage = imageMessage;
|
|
2983
|
-
}
|
|
2984
|
-
}
|
|
2985
|
-
}
|
|
2986
|
-
if (!firstMessage) {
|
|
2987
|
-
return { role: "user", content: "", id: (0, import_shared4.randomId)() };
|
|
2988
|
-
}
|
|
2989
|
-
return firstMessage;
|
|
2990
|
-
});
|
|
2991
|
-
const currentAgentName = (_a = generalContext.agentSession) == null ? void 0 : _a.agentName;
|
|
2992
|
-
const restartCurrentAgent = (hint) => __async(void 0, null, function* () {
|
|
2993
|
-
if (generalContext.agentSession) {
|
|
2994
|
-
generalContext.setAgentSession(__spreadProps(__spreadValues({}, generalContext.agentSession), {
|
|
2995
|
-
nodeName: void 0,
|
|
2996
|
-
threadId: void 0
|
|
2997
|
-
}));
|
|
2998
|
-
generalContext.setCoagentStates((prevAgentStates) => {
|
|
2999
|
-
return __spreadProps(__spreadValues({}, prevAgentStates), {
|
|
3000
|
-
[generalContext.agentSession.agentName]: __spreadProps(__spreadValues({}, prevAgentStates[generalContext.agentSession.agentName]), {
|
|
3001
|
-
threadId: void 0,
|
|
3002
|
-
nodeName: void 0,
|
|
3003
|
-
runId: void 0
|
|
3004
|
-
})
|
|
3005
|
-
});
|
|
3006
|
-
});
|
|
3007
|
-
}
|
|
3008
|
-
});
|
|
3009
|
-
const runCurrentAgent = (hint) => __async(void 0, null, function* () {
|
|
3010
|
-
if (generalContext.agentSession) {
|
|
3011
|
-
yield (0, import_react_core10.runAgent)(
|
|
3012
|
-
generalContext.agentSession.agentName,
|
|
3013
|
-
stableContext,
|
|
3014
|
-
messagesContext.messages,
|
|
3015
|
-
sendMessage,
|
|
3016
|
-
runChatCompletion
|
|
3017
|
-
);
|
|
3018
|
-
}
|
|
3019
|
-
});
|
|
3020
|
-
const stopCurrentAgent = () => {
|
|
3021
|
-
if (generalContext.agentSession) {
|
|
3022
|
-
(0, import_react_core10.stopAgent)(generalContext.agentSession.agentName, stableContext);
|
|
3023
|
-
}
|
|
3024
|
-
};
|
|
3025
|
-
const setCurrentAgentState = (state) => {
|
|
3026
|
-
if (generalContext.agentSession) {
|
|
3027
|
-
generalContext.setCoagentStates((prevAgentStates) => {
|
|
3028
|
-
return __spreadProps(__spreadValues({}, prevAgentStates), {
|
|
3029
|
-
[generalContext.agentSession.agentName]: {
|
|
3030
|
-
state
|
|
3031
|
-
}
|
|
3032
|
-
});
|
|
3033
|
-
});
|
|
3034
|
-
}
|
|
3035
|
-
};
|
|
3036
|
-
function stopGeneration() {
|
|
3037
|
-
setSuggestions([]);
|
|
3038
|
-
if (onStopGeneration) {
|
|
3039
|
-
onStopGeneration({
|
|
3040
|
-
messages,
|
|
3041
|
-
setMessages,
|
|
3042
|
-
stopGeneration: defaultStopGeneration,
|
|
3043
|
-
currentAgentName,
|
|
3044
|
-
restartCurrentAgent,
|
|
3045
|
-
stopCurrentAgent,
|
|
3046
|
-
runCurrentAgent,
|
|
3047
|
-
setCurrentAgentState
|
|
3048
|
-
});
|
|
3049
|
-
} else {
|
|
3050
|
-
defaultStopGeneration();
|
|
3051
|
-
}
|
|
3052
|
-
}
|
|
3053
|
-
function reloadMessages(messageId) {
|
|
3054
|
-
if (onReloadMessages) {
|
|
3055
|
-
onReloadMessages({
|
|
3056
|
-
messages,
|
|
3057
|
-
setMessages,
|
|
3058
|
-
stopGeneration: defaultStopGeneration,
|
|
3059
|
-
currentAgentName,
|
|
3060
|
-
restartCurrentAgent,
|
|
3061
|
-
stopCurrentAgent,
|
|
3062
|
-
runCurrentAgent,
|
|
3063
|
-
setCurrentAgentState,
|
|
3064
|
-
messageId
|
|
3065
|
-
});
|
|
3066
|
-
} else {
|
|
3067
|
-
defaultReloadMessages(messageId);
|
|
3068
|
-
}
|
|
3069
|
-
}
|
|
3070
|
-
return {
|
|
3071
|
-
messages,
|
|
3072
|
-
isLoading,
|
|
3073
|
-
suggestions,
|
|
3074
|
-
sendMessage: safelySendMessage,
|
|
3075
|
-
stopGeneration,
|
|
3076
|
-
reloadMessages,
|
|
3077
|
-
resetSuggestions,
|
|
3078
|
-
context: stableContext,
|
|
3079
|
-
actions
|
|
3080
|
-
};
|
|
3081
|
-
};
|
|
3082
2894
|
|
|
3083
2895
|
// src/components/chat/Modal.tsx
|
|
3084
|
-
var
|
|
3085
|
-
var
|
|
2896
|
+
var import_react_core10 = require("@copilotkit/react-core");
|
|
2897
|
+
var import_shared4 = require("@copilotkit/shared");
|
|
3086
2898
|
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
3087
2899
|
var CopilotModalInner = (_a) => {
|
|
3088
2900
|
var _b = _a, {
|
|
@@ -3108,7 +2920,7 @@ var CopilotModalInner = (_a) => {
|
|
|
3108
2920
|
"Button",
|
|
3109
2921
|
"Header"
|
|
3110
2922
|
]);
|
|
3111
|
-
const { copilotApiConfig, setBannerError } = (0,
|
|
2923
|
+
const { copilotApiConfig, setBannerError } = (0, import_react_core10.useCopilotContext)();
|
|
3112
2924
|
const { publicApiKey } = copilotApiConfig;
|
|
3113
2925
|
const triggerObservabilityHook = (0, import_react16.useCallback)(
|
|
3114
2926
|
(hookName, ...args) => {
|
|
@@ -3117,14 +2929,14 @@ var CopilotModalInner = (_a) => {
|
|
|
3117
2929
|
}
|
|
3118
2930
|
if ((observabilityHooks == null ? void 0 : observabilityHooks[hookName]) && !publicApiKey) {
|
|
3119
2931
|
setBannerError(
|
|
3120
|
-
new
|
|
2932
|
+
new import_shared4.CopilotKitError({
|
|
3121
2933
|
message: "observabilityHooks requires a publicApiKey to function.",
|
|
3122
|
-
code:
|
|
3123
|
-
severity:
|
|
3124
|
-
visibility:
|
|
2934
|
+
code: import_shared4.CopilotKitErrorCode.MISSING_PUBLIC_API_KEY_ERROR,
|
|
2935
|
+
severity: import_shared4.Severity.CRITICAL,
|
|
2936
|
+
visibility: import_shared4.ErrorVisibility.BANNER
|
|
3125
2937
|
})
|
|
3126
2938
|
);
|
|
3127
|
-
|
|
2939
|
+
import_shared4.styledConsole.publicApiKeyRequired("observabilityHooks");
|
|
3128
2940
|
}
|
|
3129
2941
|
},
|
|
3130
2942
|
[publicApiKey, observabilityHooks, setBannerError]
|