@copilotkit/react-ui 1.10.6 → 1.50.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-H5Y4W7DM.mjs → chunk-3JYVJHL5.mjs} +6 -6
- package/dist/chunk-3YWFGNSM.mjs +32 -0
- package/dist/chunk-3YWFGNSM.mjs.map +1 -0
- package/dist/{chunk-BAD2NFZ7.mjs → chunk-CQ2WALZ7.mjs} +2 -2
- package/dist/{chunk-W7ONZTSW.mjs → chunk-E6WVAOQA.mjs} +11 -5
- package/dist/chunk-E6WVAOQA.mjs.map +1 -0
- package/dist/{chunk-ME2WM7IP.mjs → chunk-G35HUUDA.mjs} +36 -260
- package/dist/chunk-G35HUUDA.mjs.map +1 -0
- package/dist/{chunk-EZQA3UPQ.mjs → chunk-HBZW7E5Z.mjs} +16 -13
- package/dist/chunk-HBZW7E5Z.mjs.map +1 -0
- package/dist/{chunk-3QYTKBWC.mjs → chunk-IHFR6PYG.mjs} +8 -5
- package/dist/chunk-IHFR6PYG.mjs.map +1 -0
- package/dist/{chunk-5XLGXUQI.mjs → chunk-MPF6BJUF.mjs} +7 -3
- package/dist/chunk-MPF6BJUF.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-2LIO4Z3E.mjs → chunk-ODEHR7KI.mjs} +9 -2
- package/dist/chunk-ODEHR7KI.mjs.map +1 -0
- package/dist/chunk-OYRZ4VLU.mjs +12 -0
- package/dist/chunk-OYRZ4VLU.mjs.map +1 -0
- package/dist/chunk-QB3GUN2N.mjs +31 -0
- package/dist/chunk-QB3GUN2N.mjs.map +1 -0
- package/dist/{chunk-7RDGZ5JL.mjs → chunk-SOB5EIL7.mjs} +2 -2
- package/dist/components/chat/Chat.d.ts +3 -98
- package/dist/components/chat/Chat.js +100 -279
- 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 +2 -2
- package/dist/components/chat/Messages.d.ts +4 -4
- package/dist/components/chat/Messages.js +44 -8
- package/dist/components/chat/Messages.js.map +1 -1
- package/dist/components/chat/Messages.mjs +5 -5
- package/dist/components/chat/Modal.d.ts +1 -6
- package/dist/components/chat/Modal.js +106 -283
- 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 +106 -283
- 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 +106 -283
- 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 +106 -283
- package/dist/components/chat/index.js.map +1 -1
- package/dist/components/chat/index.mjs +13 -13
- package/dist/components/chat/messages/AssistantMessage.js +7 -4
- package/dist/components/chat/messages/AssistantMessage.js.map +1 -1
- package/dist/components/chat/messages/AssistantMessage.mjs +1 -1
- package/dist/components/chat/messages/LegacyRenderMessage.js +37 -7
- package/dist/components/chat/messages/LegacyRenderMessage.js.map +1 -1
- package/dist/components/chat/messages/LegacyRenderMessage.mjs +4 -4
- package/dist/components/chat/messages/RenderMessage.js +30 -7
- package/dist/components/chat/messages/RenderMessage.js.map +1 -1
- package/dist/components/chat/messages/RenderMessage.mjs +3 -3
- 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 +16 -0
- package/dist/components/chat/props.js.map +1 -1
- package/dist/components/index.d.ts +0 -5
- package/dist/components/index.js +106 -283
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +13 -13
- 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 +8 -1
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +0 -5
- package/dist/index.js +109 -308
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +14 -14
- package/dist/types/suggestions.d.ts +1 -0
- package/dist/types/suggestions.js.map +1 -1
- package/package.json +23 -22
- package/src/components/chat/Chat.tsx +40 -325
- package/src/components/chat/Input.tsx +13 -12
- package/src/components/chat/Messages.tsx +10 -4
- package/src/components/chat/Suggestion.tsx +2 -2
- package/src/components/chat/Suggestions.tsx +6 -2
- package/src/components/chat/messages/AssistantMessage.tsx +14 -4
- 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 +30 -6
- package/src/components/chat/props.ts +19 -0
- package/src/css/messages.css +10 -1
- package/src/hooks/use-copilot-chat-suggestions.tsx +6 -57
- package/src/types/suggestions.ts +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-2LIO4Z3E.mjs.map +0 -1
- package/dist/chunk-3QYTKBWC.mjs.map +0 -1
- package/dist/chunk-5XLGXUQI.mjs.map +0 -1
- package/dist/chunk-EYRKZDP5.mjs +0 -32
- package/dist/chunk-EYRKZDP5.mjs.map +0 -1
- package/dist/chunk-EZQA3UPQ.mjs.map +0 -1
- package/dist/chunk-ME2WM7IP.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-W7ONZTSW.mjs.map +0 -1
- /package/dist/{chunk-H5Y4W7DM.mjs.map → chunk-3JYVJHL5.mjs.map} +0 -0
- /package/dist/{chunk-BAD2NFZ7.mjs.map → chunk-CQ2WALZ7.mjs.map} +0 -0
- /package/dist/{chunk-7RDGZ5JL.mjs.map → chunk-SOB5EIL7.mjs.map} +0 -0
package/dist/index.js
CHANGED
|
@@ -1043,14 +1043,30 @@ var import_react_core5 = require("@copilotkit/react-core");
|
|
|
1043
1043
|
|
|
1044
1044
|
// src/components/chat/messages/UserMessage.tsx
|
|
1045
1045
|
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
1046
|
+
var getTextContent = (content) => {
|
|
1047
|
+
if (typeof content === "undefined") {
|
|
1048
|
+
return void 0;
|
|
1049
|
+
}
|
|
1050
|
+
if (typeof content === "string") {
|
|
1051
|
+
return content;
|
|
1052
|
+
}
|
|
1053
|
+
return content.map((part) => {
|
|
1054
|
+
if (part.type === "text") {
|
|
1055
|
+
return part.text;
|
|
1056
|
+
}
|
|
1057
|
+
return void 0;
|
|
1058
|
+
}).filter((value) => typeof value === "string" && value.length > 0).join(" ").trim() || void 0;
|
|
1059
|
+
};
|
|
1046
1060
|
var UserMessage = (props) => {
|
|
1047
1061
|
const { message, ImageRenderer: ImageRenderer2 } = props;
|
|
1048
|
-
const isImageMessage = message && "image" in message && message.image;
|
|
1062
|
+
const isImageMessage = message && "image" in message && Boolean(message.image);
|
|
1049
1063
|
if (isImageMessage) {
|
|
1050
1064
|
const imageMessage = message;
|
|
1051
|
-
|
|
1065
|
+
const content2 = getTextContent(imageMessage == null ? void 0 : imageMessage.content);
|
|
1066
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: "copilotKitMessage copilotKitUserMessage", children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(ImageRenderer2, { image: imageMessage.image, content: content2 }) });
|
|
1052
1067
|
}
|
|
1053
|
-
|
|
1068
|
+
const content = getTextContent(message == null ? void 0 : message.content);
|
|
1069
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: "copilotKitMessage copilotKitUserMessage", children: content });
|
|
1054
1070
|
};
|
|
1055
1071
|
|
|
1056
1072
|
// src/components/chat/Markdown.tsx
|
|
@@ -1593,6 +1609,7 @@ var AssistantMessage = (props) => {
|
|
|
1593
1609
|
onThumbsUp,
|
|
1594
1610
|
onThumbsDown,
|
|
1595
1611
|
isCurrentMessage,
|
|
1612
|
+
feedback,
|
|
1596
1613
|
markdownTagRenderers
|
|
1597
1614
|
} = props;
|
|
1598
1615
|
const [copied, setCopied] = (0, import_react8.useState)(false);
|
|
@@ -1614,12 +1631,14 @@ var AssistantMessage = (props) => {
|
|
|
1614
1631
|
onRegenerate();
|
|
1615
1632
|
};
|
|
1616
1633
|
const handleThumbsUp = () => {
|
|
1617
|
-
if (onThumbsUp && message)
|
|
1634
|
+
if (onThumbsUp && message) {
|
|
1618
1635
|
onThumbsUp(message);
|
|
1636
|
+
}
|
|
1619
1637
|
};
|
|
1620
1638
|
const handleThumbsDown = () => {
|
|
1621
|
-
if (onThumbsDown && message)
|
|
1639
|
+
if (onThumbsDown && message) {
|
|
1622
1640
|
onThumbsDown(message);
|
|
1641
|
+
}
|
|
1623
1642
|
};
|
|
1624
1643
|
const LoadingIcon = () => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { children: icons.activityIcon });
|
|
1625
1644
|
const content = (message == null ? void 0 : message.content) || "";
|
|
@@ -1655,7 +1674,7 @@ var AssistantMessage = (props) => {
|
|
|
1655
1674
|
onThumbsUp && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
1656
1675
|
"button",
|
|
1657
1676
|
{
|
|
1658
|
-
className:
|
|
1677
|
+
className: `copilotKitMessageControlButton ${feedback === "thumbsUp" ? "active" : ""}`,
|
|
1659
1678
|
onClick: handleThumbsUp,
|
|
1660
1679
|
"aria-label": labels.thumbsUp,
|
|
1661
1680
|
title: labels.thumbsUp,
|
|
@@ -1665,7 +1684,7 @@ var AssistantMessage = (props) => {
|
|
|
1665
1684
|
onThumbsDown && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
1666
1685
|
"button",
|
|
1667
1686
|
{
|
|
1668
|
-
className:
|
|
1687
|
+
className: `copilotKitMessageControlButton ${feedback === "thumbsDown" ? "active" : ""}`,
|
|
1669
1688
|
onClick: handleThumbsDown,
|
|
1670
1689
|
"aria-label": labels.thumbsDown,
|
|
1671
1690
|
title: labels.thumbsDown,
|
|
@@ -1726,6 +1745,7 @@ function RenderMessage(_a) {
|
|
|
1726
1745
|
var _a2;
|
|
1727
1746
|
const {
|
|
1728
1747
|
message,
|
|
1748
|
+
messages,
|
|
1729
1749
|
inProgress,
|
|
1730
1750
|
index,
|
|
1731
1751
|
isCurrentMessage,
|
|
@@ -1733,6 +1753,7 @@ function RenderMessage(_a) {
|
|
|
1733
1753
|
onCopy,
|
|
1734
1754
|
onThumbsUp,
|
|
1735
1755
|
onThumbsDown,
|
|
1756
|
+
messageFeedback,
|
|
1736
1757
|
markdownTagRenderers
|
|
1737
1758
|
} = props;
|
|
1738
1759
|
switch (message.role) {
|
|
@@ -1755,6 +1776,7 @@ function RenderMessage(_a) {
|
|
|
1755
1776
|
subComponent: (_a2 = message.generativeUI) == null ? void 0 : _a2.call(message),
|
|
1756
1777
|
rawData: message,
|
|
1757
1778
|
message,
|
|
1779
|
+
messages,
|
|
1758
1780
|
isLoading: inProgress && isCurrentMessage && !message.content,
|
|
1759
1781
|
isGenerating: inProgress && isCurrentMessage && !!message.content,
|
|
1760
1782
|
isCurrentMessage,
|
|
@@ -1762,6 +1784,7 @@ function RenderMessage(_a) {
|
|
|
1762
1784
|
onCopy,
|
|
1763
1785
|
onThumbsUp,
|
|
1764
1786
|
onThumbsDown,
|
|
1787
|
+
feedback: (messageFeedback == null ? void 0 : messageFeedback[message.id]) || null,
|
|
1765
1788
|
markdownTagRenderers,
|
|
1766
1789
|
ImageRenderer: ImageRenderer2
|
|
1767
1790
|
},
|
|
@@ -1775,6 +1798,7 @@ var import_runtime_client_gql = require("@copilotkit/runtime-client-gql");
|
|
|
1775
1798
|
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
1776
1799
|
var LegacyRenderMessage = ({
|
|
1777
1800
|
message,
|
|
1801
|
+
messages,
|
|
1778
1802
|
inProgress,
|
|
1779
1803
|
index,
|
|
1780
1804
|
isCurrentMessage,
|
|
@@ -1803,6 +1827,7 @@ var LegacyRenderMessage = ({
|
|
|
1803
1827
|
RenderTextMessage,
|
|
1804
1828
|
{
|
|
1805
1829
|
message,
|
|
1830
|
+
messages,
|
|
1806
1831
|
inProgress,
|
|
1807
1832
|
index,
|
|
1808
1833
|
isCurrentMessage,
|
|
@@ -1820,6 +1845,7 @@ var LegacyRenderMessage = ({
|
|
|
1820
1845
|
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1821
1846
|
RenderActionExecutionMessage,
|
|
1822
1847
|
{
|
|
1848
|
+
messages,
|
|
1823
1849
|
message,
|
|
1824
1850
|
inProgress,
|
|
1825
1851
|
index,
|
|
@@ -1834,6 +1860,7 @@ var LegacyRenderMessage = ({
|
|
|
1834
1860
|
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1835
1861
|
RenderAgentStateMessage,
|
|
1836
1862
|
{
|
|
1863
|
+
messages,
|
|
1837
1864
|
message,
|
|
1838
1865
|
inProgress,
|
|
1839
1866
|
index,
|
|
@@ -1847,6 +1874,7 @@ var LegacyRenderMessage = ({
|
|
|
1847
1874
|
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1848
1875
|
RenderResultMessage,
|
|
1849
1876
|
{
|
|
1877
|
+
messages,
|
|
1850
1878
|
message,
|
|
1851
1879
|
inProgress,
|
|
1852
1880
|
index,
|
|
@@ -1860,6 +1888,7 @@ var LegacyRenderMessage = ({
|
|
|
1860
1888
|
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1861
1889
|
RenderImageMessage,
|
|
1862
1890
|
{
|
|
1891
|
+
messages,
|
|
1863
1892
|
message,
|
|
1864
1893
|
inProgress,
|
|
1865
1894
|
index,
|
|
@@ -1872,6 +1901,7 @@ var LegacyRenderMessage = ({
|
|
|
1872
1901
|
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1873
1902
|
RenderMessage,
|
|
1874
1903
|
{
|
|
1904
|
+
messages,
|
|
1875
1905
|
message,
|
|
1876
1906
|
inProgress,
|
|
1877
1907
|
index,
|
|
@@ -1902,6 +1932,7 @@ var Messages = ({
|
|
|
1902
1932
|
onCopy,
|
|
1903
1933
|
onThumbsUp,
|
|
1904
1934
|
onThumbsDown,
|
|
1935
|
+
messageFeedback,
|
|
1905
1936
|
markdownTagRenderers,
|
|
1906
1937
|
chatError,
|
|
1907
1938
|
// Legacy props
|
|
@@ -1911,7 +1942,8 @@ var Messages = ({
|
|
|
1911
1942
|
RenderResultMessage,
|
|
1912
1943
|
RenderImageMessage
|
|
1913
1944
|
}) => {
|
|
1914
|
-
|
|
1945
|
+
var _a;
|
|
1946
|
+
const { labels, icons } = useChatContext();
|
|
1915
1947
|
const { messages: visibleMessages, interrupt } = (0, import_react_core5.useCopilotChatInternal)();
|
|
1916
1948
|
const initialMessages = (0, import_react10.useMemo)(() => makeInitialMessages(labels.initial), [labels.initial]);
|
|
1917
1949
|
const messages = [...initialMessages, ...visibleMessages];
|
|
@@ -1941,6 +1973,7 @@ var Messages = ({
|
|
|
1941
1973
|
]
|
|
1942
1974
|
);
|
|
1943
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 });
|
|
1944
1977
|
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "copilotKitMessages", ref: messagesContainerRef, children: [
|
|
1945
1978
|
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "copilotKitMessagesContainer", children: [
|
|
1946
1979
|
messages.map((message, index) => {
|
|
@@ -1949,6 +1982,7 @@ var Messages = ({
|
|
|
1949
1982
|
MessageRenderer,
|
|
1950
1983
|
{
|
|
1951
1984
|
message,
|
|
1985
|
+
messages,
|
|
1952
1986
|
inProgress,
|
|
1953
1987
|
index,
|
|
1954
1988
|
isCurrentMessage,
|
|
@@ -1959,11 +1993,13 @@ var Messages = ({
|
|
|
1959
1993
|
onCopy,
|
|
1960
1994
|
onThumbsUp,
|
|
1961
1995
|
onThumbsDown,
|
|
1996
|
+
messageFeedback,
|
|
1962
1997
|
markdownTagRenderers
|
|
1963
1998
|
},
|
|
1964
1999
|
index
|
|
1965
2000
|
);
|
|
1966
2001
|
}),
|
|
2002
|
+
((_a = messages[messages.length - 1]) == null ? void 0 : _a.role) === "user" && inProgress && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(LoadingIcon, {}),
|
|
1967
2003
|
interrupt,
|
|
1968
2004
|
chatError && ErrorMessage && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(ErrorMessage, { error: chatError, isCurrentMessage: true })
|
|
1969
2005
|
] }),
|
|
@@ -2257,12 +2293,12 @@ var MAX_NEWLINES = 6;
|
|
|
2257
2293
|
var Input = ({
|
|
2258
2294
|
inProgress,
|
|
2259
2295
|
onSend,
|
|
2260
|
-
|
|
2296
|
+
chatReady = true,
|
|
2261
2297
|
onStop,
|
|
2262
2298
|
onUpload,
|
|
2263
2299
|
hideStopButton = false
|
|
2264
2300
|
}) => {
|
|
2265
|
-
var _a
|
|
2301
|
+
var _a;
|
|
2266
2302
|
const context = useChatContext();
|
|
2267
2303
|
const copilotContext = (0, import_react_core7.useCopilotContext)();
|
|
2268
2304
|
const showPoweredBy = !((_a = copilotContext.copilotApiConfig) == null ? void 0 : _a.publicApiKey);
|
|
@@ -2292,14 +2328,16 @@ var Input = ({
|
|
|
2292
2328
|
inProgress
|
|
2293
2329
|
});
|
|
2294
2330
|
const isInProgress = inProgress || pushToTalkState === "transcribing";
|
|
2295
|
-
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 ? { buttonIcon: context.icons.stopIcon, buttonAlt: "Stop" } : { buttonIcon: context.icons.sendIcon, buttonAlt: "Send" };
|
|
2335
|
+
}, [isInProgress, chatReady, hideStopButton, context.icons.stopIcon, context.icons.sendIcon]);
|
|
2296
2336
|
const showPushToTalk = pushToTalkConfigured && (pushToTalkState === "idle" || pushToTalkState === "recording") && !inProgress;
|
|
2337
|
+
const { interrupt } = (0, import_react_core7.useCopilotChatInternal)();
|
|
2297
2338
|
const canSend = (0, import_react14.useMemo)(() => {
|
|
2298
|
-
|
|
2299
|
-
|
|
2300
|
-
const interruptInProgress = (interruptEvent == null ? void 0 : interruptEvent.name) === "LangGraphInterruptEvent" && !(interruptEvent == null ? void 0 : interruptEvent.response);
|
|
2301
|
-
return !isInProgress && text.trim().length > 0 && pushToTalkState === "idle" && !interruptInProgress;
|
|
2302
|
-
}, [(_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]);
|
|
2303
2341
|
const canStop = (0, import_react14.useMemo)(() => {
|
|
2304
2342
|
return isInProgress && !hideStopButton;
|
|
2305
2343
|
}, [isInProgress, hideStopButton]);
|
|
@@ -2346,6 +2384,7 @@ var Input = ({
|
|
|
2346
2384
|
"data-copilotkit-in-progress": inProgress,
|
|
2347
2385
|
"data-test-id": inProgress ? "copilot-chat-request-in-progress" : "copilot-chat-ready",
|
|
2348
2386
|
className: "copilotKitInputControlButton",
|
|
2387
|
+
"aria-label": buttonAlt,
|
|
2349
2388
|
children: buttonIcon
|
|
2350
2389
|
}
|
|
2351
2390
|
)
|
|
@@ -2359,8 +2398,6 @@ var Input = ({
|
|
|
2359
2398
|
var import_react15 = __toESM(require("react"));
|
|
2360
2399
|
var import_react_core9 = require("@copilotkit/react-core");
|
|
2361
2400
|
var import_shared3 = require("@copilotkit/shared");
|
|
2362
|
-
var import_shared4 = require("@copilotkit/shared");
|
|
2363
|
-
var import_react_core10 = require("@copilotkit/react-core");
|
|
2364
2401
|
|
|
2365
2402
|
// src/components/chat/ImageUploadQueue.tsx
|
|
2366
2403
|
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
@@ -2464,18 +2501,25 @@ function Suggestion({ title, onClick, partial, className }) {
|
|
|
2464
2501
|
|
|
2465
2502
|
// src/components/chat/Suggestions.tsx
|
|
2466
2503
|
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
2467
|
-
function Suggestions({
|
|
2468
|
-
|
|
2469
|
-
|
|
2470
|
-
|
|
2471
|
-
|
|
2472
|
-
|
|
2473
|
-
|
|
2474
|
-
|
|
2475
|
-
|
|
2476
|
-
|
|
2477
|
-
|
|
2478
|
-
|
|
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
|
+
}) });
|
|
2479
2523
|
}
|
|
2480
2524
|
|
|
2481
2525
|
// src/components/chat/Chat.tsx
|
|
@@ -2529,6 +2573,9 @@ function CopilotChat({
|
|
|
2529
2573
|
const { publicApiKey, chatApiEndpoint } = copilotApiConfig;
|
|
2530
2574
|
const [selectedImages, setSelectedImages] = (0, import_react15.useState)([]);
|
|
2531
2575
|
const [chatError, setChatError] = (0, import_react15.useState)(null);
|
|
2576
|
+
const [messageFeedback, setMessageFeedback] = (0, import_react15.useState)(
|
|
2577
|
+
{}
|
|
2578
|
+
);
|
|
2532
2579
|
const fileInputRef = (0, import_react15.useRef)(null);
|
|
2533
2580
|
const triggerObservabilityHook = (0, import_react15.useCallback)(
|
|
2534
2581
|
(hookName, ...args) => {
|
|
@@ -2672,16 +2719,12 @@ function CopilotChat({
|
|
|
2672
2719
|
sendMessage,
|
|
2673
2720
|
stopGeneration,
|
|
2674
2721
|
reloadMessages,
|
|
2675
|
-
suggestions: currentSuggestions
|
|
2676
|
-
|
|
2677
|
-
|
|
2678
|
-
|
|
2679
|
-
|
|
2680
|
-
|
|
2681
|
-
onSubmitMessage,
|
|
2682
|
-
onStopGeneration,
|
|
2683
|
-
onReloadMessages
|
|
2684
|
-
);
|
|
2722
|
+
suggestions: currentSuggestions,
|
|
2723
|
+
isLoadingSuggestions,
|
|
2724
|
+
agent
|
|
2725
|
+
} = (0, import_react_core9.useCopilotChatInternal)({
|
|
2726
|
+
suggestions
|
|
2727
|
+
});
|
|
2685
2728
|
const prevIsLoading = (0, import_react15.useRef)(isLoading);
|
|
2686
2729
|
(0, import_react15.useEffect)(() => {
|
|
2687
2730
|
if (prevIsLoading.current !== isLoading) {
|
|
@@ -2700,7 +2743,11 @@ function CopilotChat({
|
|
|
2700
2743
|
fileInputRef.current.value = "";
|
|
2701
2744
|
}
|
|
2702
2745
|
triggerObservabilityHook("onMessageSent", text);
|
|
2703
|
-
return sendMessage(
|
|
2746
|
+
return sendMessage({
|
|
2747
|
+
id: (0, import_shared3.randomUUID)(),
|
|
2748
|
+
content: text,
|
|
2749
|
+
role: "user"
|
|
2750
|
+
});
|
|
2704
2751
|
};
|
|
2705
2752
|
const chatContext = import_react15.default.useContext(ChatContext);
|
|
2706
2753
|
const isVisible = chatContext ? chatContext.open : true;
|
|
@@ -2756,12 +2803,18 @@ function CopilotChat({
|
|
|
2756
2803
|
if (onThumbsUp) {
|
|
2757
2804
|
onThumbsUp(message);
|
|
2758
2805
|
}
|
|
2806
|
+
setMessageFeedback((prev) => __spreadProps(__spreadValues({}, prev), {
|
|
2807
|
+
[message.id]: "thumbsUp"
|
|
2808
|
+
}));
|
|
2759
2809
|
triggerObservabilityHook("onFeedbackGiven", message.id, "thumbsUp");
|
|
2760
2810
|
};
|
|
2761
2811
|
const handleThumbsDown = (message) => {
|
|
2762
2812
|
if (onThumbsDown) {
|
|
2763
2813
|
onThumbsDown(message);
|
|
2764
2814
|
}
|
|
2815
|
+
setMessageFeedback((prev) => __spreadProps(__spreadValues({}, prev), {
|
|
2816
|
+
[message.id]: "thumbsDown"
|
|
2817
|
+
}));
|
|
2765
2818
|
triggerObservabilityHook("onFeedbackGiven", message.id, "thumbsDown");
|
|
2766
2819
|
};
|
|
2767
2820
|
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(WrappedCopilotChat, { icons, labels, className, children: [
|
|
@@ -2783,6 +2836,7 @@ function CopilotChat({
|
|
|
2783
2836
|
onCopy: handleCopy,
|
|
2784
2837
|
onThumbsUp: handleThumbsUp,
|
|
2785
2838
|
onThumbsDown: handleThumbsDown,
|
|
2839
|
+
messageFeedback,
|
|
2786
2840
|
markdownTagRenderers,
|
|
2787
2841
|
ImageRenderer: ImageRenderer2,
|
|
2788
2842
|
ErrorMessage,
|
|
@@ -2796,7 +2850,8 @@ function CopilotChat({
|
|
|
2796
2850
|
RenderSuggestionsList,
|
|
2797
2851
|
{
|
|
2798
2852
|
onSuggestionClick: handleSendMessage,
|
|
2799
|
-
suggestions: currentSuggestions
|
|
2853
|
+
suggestions: currentSuggestions,
|
|
2854
|
+
isLoading: isLoadingSuggestions
|
|
2800
2855
|
}
|
|
2801
2856
|
)
|
|
2802
2857
|
}
|
|
@@ -2819,6 +2874,7 @@ function CopilotChat({
|
|
|
2819
2874
|
Input2,
|
|
2820
2875
|
{
|
|
2821
2876
|
inProgress: isLoading,
|
|
2877
|
+
chatReady: Boolean(agent),
|
|
2822
2878
|
onSend: handleSendMessage,
|
|
2823
2879
|
isVisible,
|
|
2824
2880
|
onStop: stopGeneration,
|
|
@@ -2844,243 +2900,10 @@ function WrappedCopilotChat({
|
|
|
2844
2900
|
}
|
|
2845
2901
|
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_jsx_runtime24.Fragment, { children });
|
|
2846
2902
|
}
|
|
2847
|
-
var useCopilotChatLogic = (chatSuggestions, makeSystemMessage, disableSystemMessage, onInProgress, onSubmitMessage, onStopGeneration, onReloadMessages) => {
|
|
2848
|
-
var _a;
|
|
2849
|
-
const {
|
|
2850
|
-
messages,
|
|
2851
|
-
sendMessage,
|
|
2852
|
-
setMessages,
|
|
2853
|
-
reloadMessages: defaultReloadMessages,
|
|
2854
|
-
stopGeneration: defaultStopGeneration,
|
|
2855
|
-
runChatCompletion,
|
|
2856
|
-
isLoading,
|
|
2857
|
-
suggestions,
|
|
2858
|
-
setSuggestions,
|
|
2859
|
-
generateSuggestions,
|
|
2860
|
-
resetSuggestions: resetSuggestionsFromHook,
|
|
2861
|
-
isLoadingSuggestions
|
|
2862
|
-
} = (0, import_react_core9.useCopilotChatInternal)({
|
|
2863
|
-
makeSystemMessage,
|
|
2864
|
-
disableSystemMessage
|
|
2865
|
-
});
|
|
2866
|
-
const generalContext = (0, import_react_core9.useCopilotContext)();
|
|
2867
|
-
const messagesContext = (0, import_react_core9.useCopilotMessagesContext)();
|
|
2868
|
-
const { actions } = generalContext;
|
|
2869
|
-
const [suggestionsFailed, setSuggestionsFailed] = (0, import_react15.useState)(false);
|
|
2870
|
-
const hasGeneratedInitialSuggestions = (0, import_react15.useRef)(false);
|
|
2871
|
-
(0, import_react15.useEffect)(() => {
|
|
2872
|
-
if (Array.isArray(chatSuggestions)) {
|
|
2873
|
-
setSuggestions(chatSuggestions);
|
|
2874
|
-
hasGeneratedInitialSuggestions.current = true;
|
|
2875
|
-
}
|
|
2876
|
-
}, [JSON.stringify(chatSuggestions), setSuggestions]);
|
|
2877
|
-
const generateSuggestionsWithErrorHandling = (0, import_react15.useCallback)(
|
|
2878
|
-
(context) => __async(void 0, null, function* () {
|
|
2879
|
-
try {
|
|
2880
|
-
yield generateSuggestions();
|
|
2881
|
-
} catch (error) {
|
|
2882
|
-
console.error("Failed to generate suggestions:", error);
|
|
2883
|
-
setSuggestionsFailed(true);
|
|
2884
|
-
}
|
|
2885
|
-
}),
|
|
2886
|
-
[generateSuggestions]
|
|
2887
|
-
);
|
|
2888
|
-
(0, import_react15.useEffect)(() => {
|
|
2889
|
-
if (chatSuggestions !== "auto" || isLoadingSuggestions || suggestionsFailed) {
|
|
2890
|
-
return;
|
|
2891
|
-
}
|
|
2892
|
-
if (isLoading) {
|
|
2893
|
-
return;
|
|
2894
|
-
}
|
|
2895
|
-
if (Object.keys(generalContext.chatSuggestionConfiguration).length === 0) {
|
|
2896
|
-
return;
|
|
2897
|
-
}
|
|
2898
|
-
if (messages.length === 0 && !hasGeneratedInitialSuggestions.current) {
|
|
2899
|
-
hasGeneratedInitialSuggestions.current = true;
|
|
2900
|
-
generateSuggestionsWithErrorHandling("initial");
|
|
2901
|
-
return;
|
|
2902
|
-
}
|
|
2903
|
-
if (messages.length > 0 && suggestions.length === 0) {
|
|
2904
|
-
generateSuggestionsWithErrorHandling("post-message");
|
|
2905
|
-
return;
|
|
2906
|
-
}
|
|
2907
|
-
}, [
|
|
2908
|
-
chatSuggestions,
|
|
2909
|
-
isLoadingSuggestions,
|
|
2910
|
-
suggestionsFailed,
|
|
2911
|
-
messages.length,
|
|
2912
|
-
isLoading,
|
|
2913
|
-
suggestions.length,
|
|
2914
|
-
Object.keys(generalContext.chatSuggestionConfiguration).join(","),
|
|
2915
|
-
// Use stable string instead of object reference
|
|
2916
|
-
generateSuggestionsWithErrorHandling
|
|
2917
|
-
]);
|
|
2918
|
-
(0, import_react15.useEffect)(() => {
|
|
2919
|
-
if (chatSuggestions !== "auto") {
|
|
2920
|
-
hasGeneratedInitialSuggestions.current = false;
|
|
2921
|
-
setSuggestionsFailed(false);
|
|
2922
|
-
}
|
|
2923
|
-
}, [chatSuggestions]);
|
|
2924
|
-
const stableContext = (0, import_react15.useMemo)(
|
|
2925
|
-
() => __spreadValues(__spreadValues({}, generalContext), messagesContext),
|
|
2926
|
-
[
|
|
2927
|
-
// Only include stable dependencies
|
|
2928
|
-
generalContext.actions,
|
|
2929
|
-
messagesContext.messages.length,
|
|
2930
|
-
generalContext.isLoading
|
|
2931
|
-
]
|
|
2932
|
-
);
|
|
2933
|
-
const resetSuggestions = (0, import_react15.useCallback)(() => {
|
|
2934
|
-
resetSuggestionsFromHook();
|
|
2935
|
-
setSuggestionsFailed(false);
|
|
2936
|
-
hasGeneratedInitialSuggestions.current = false;
|
|
2937
|
-
}, [resetSuggestionsFromHook]);
|
|
2938
|
-
(0, import_react15.useEffect)(() => {
|
|
2939
|
-
onInProgress == null ? void 0 : onInProgress(isLoading);
|
|
2940
|
-
}, [onInProgress, isLoading]);
|
|
2941
|
-
const safelySendMessage = (messageContent, imagesToUse) => __async(void 0, null, function* () {
|
|
2942
|
-
const images = imagesToUse || [];
|
|
2943
|
-
if (chatSuggestions === "auto" || chatSuggestions === "manual") {
|
|
2944
|
-
setSuggestions([]);
|
|
2945
|
-
}
|
|
2946
|
-
let firstMessage = null;
|
|
2947
|
-
if (messageContent.trim().length > 0) {
|
|
2948
|
-
const textMessage = {
|
|
2949
|
-
id: (0, import_shared4.randomId)(),
|
|
2950
|
-
role: "user",
|
|
2951
|
-
content: messageContent
|
|
2952
|
-
};
|
|
2953
|
-
if (onSubmitMessage) {
|
|
2954
|
-
try {
|
|
2955
|
-
yield onSubmitMessage(messageContent);
|
|
2956
|
-
} catch (error) {
|
|
2957
|
-
console.error("Error in onSubmitMessage:", error);
|
|
2958
|
-
}
|
|
2959
|
-
}
|
|
2960
|
-
yield sendMessage(textMessage, {
|
|
2961
|
-
followUp: images.length === 0,
|
|
2962
|
-
clearSuggestions: chatSuggestions === "auto" || chatSuggestions === "manual"
|
|
2963
|
-
});
|
|
2964
|
-
if (!firstMessage) {
|
|
2965
|
-
firstMessage = textMessage;
|
|
2966
|
-
}
|
|
2967
|
-
}
|
|
2968
|
-
if (images.length > 0) {
|
|
2969
|
-
for (let i = 0; i < images.length; i++) {
|
|
2970
|
-
const imageMessage = {
|
|
2971
|
-
id: (0, import_shared4.randomId)(),
|
|
2972
|
-
role: "user",
|
|
2973
|
-
image: {
|
|
2974
|
-
format: images[i].contentType.replace("image/", ""),
|
|
2975
|
-
bytes: images[i].bytes
|
|
2976
|
-
}
|
|
2977
|
-
};
|
|
2978
|
-
yield sendMessage(imageMessage, { followUp: i === images.length - 1 });
|
|
2979
|
-
if (!firstMessage) {
|
|
2980
|
-
firstMessage = imageMessage;
|
|
2981
|
-
}
|
|
2982
|
-
}
|
|
2983
|
-
}
|
|
2984
|
-
if (!firstMessage) {
|
|
2985
|
-
return { role: "user", content: "", id: (0, import_shared4.randomId)() };
|
|
2986
|
-
}
|
|
2987
|
-
return firstMessage;
|
|
2988
|
-
});
|
|
2989
|
-
const currentAgentName = (_a = generalContext.agentSession) == null ? void 0 : _a.agentName;
|
|
2990
|
-
const restartCurrentAgent = (hint) => __async(void 0, null, function* () {
|
|
2991
|
-
if (generalContext.agentSession) {
|
|
2992
|
-
generalContext.setAgentSession(__spreadProps(__spreadValues({}, generalContext.agentSession), {
|
|
2993
|
-
nodeName: void 0,
|
|
2994
|
-
threadId: void 0
|
|
2995
|
-
}));
|
|
2996
|
-
generalContext.setCoagentStates((prevAgentStates) => {
|
|
2997
|
-
return __spreadProps(__spreadValues({}, prevAgentStates), {
|
|
2998
|
-
[generalContext.agentSession.agentName]: __spreadProps(__spreadValues({}, prevAgentStates[generalContext.agentSession.agentName]), {
|
|
2999
|
-
threadId: void 0,
|
|
3000
|
-
nodeName: void 0,
|
|
3001
|
-
runId: void 0
|
|
3002
|
-
})
|
|
3003
|
-
});
|
|
3004
|
-
});
|
|
3005
|
-
}
|
|
3006
|
-
});
|
|
3007
|
-
const runCurrentAgent = (hint) => __async(void 0, null, function* () {
|
|
3008
|
-
if (generalContext.agentSession) {
|
|
3009
|
-
yield (0, import_react_core10.runAgent)(
|
|
3010
|
-
generalContext.agentSession.agentName,
|
|
3011
|
-
stableContext,
|
|
3012
|
-
messagesContext.messages,
|
|
3013
|
-
sendMessage,
|
|
3014
|
-
runChatCompletion
|
|
3015
|
-
);
|
|
3016
|
-
}
|
|
3017
|
-
});
|
|
3018
|
-
const stopCurrentAgent = () => {
|
|
3019
|
-
if (generalContext.agentSession) {
|
|
3020
|
-
(0, import_react_core10.stopAgent)(generalContext.agentSession.agentName, stableContext);
|
|
3021
|
-
}
|
|
3022
|
-
};
|
|
3023
|
-
const setCurrentAgentState = (state) => {
|
|
3024
|
-
if (generalContext.agentSession) {
|
|
3025
|
-
generalContext.setCoagentStates((prevAgentStates) => {
|
|
3026
|
-
return __spreadProps(__spreadValues({}, prevAgentStates), {
|
|
3027
|
-
[generalContext.agentSession.agentName]: {
|
|
3028
|
-
state
|
|
3029
|
-
}
|
|
3030
|
-
});
|
|
3031
|
-
});
|
|
3032
|
-
}
|
|
3033
|
-
};
|
|
3034
|
-
function stopGeneration() {
|
|
3035
|
-
setSuggestions([]);
|
|
3036
|
-
if (onStopGeneration) {
|
|
3037
|
-
onStopGeneration({
|
|
3038
|
-
messages,
|
|
3039
|
-
setMessages,
|
|
3040
|
-
stopGeneration: defaultStopGeneration,
|
|
3041
|
-
currentAgentName,
|
|
3042
|
-
restartCurrentAgent,
|
|
3043
|
-
stopCurrentAgent,
|
|
3044
|
-
runCurrentAgent,
|
|
3045
|
-
setCurrentAgentState
|
|
3046
|
-
});
|
|
3047
|
-
} else {
|
|
3048
|
-
defaultStopGeneration();
|
|
3049
|
-
}
|
|
3050
|
-
}
|
|
3051
|
-
function reloadMessages(messageId) {
|
|
3052
|
-
if (onReloadMessages) {
|
|
3053
|
-
onReloadMessages({
|
|
3054
|
-
messages,
|
|
3055
|
-
setMessages,
|
|
3056
|
-
stopGeneration: defaultStopGeneration,
|
|
3057
|
-
currentAgentName,
|
|
3058
|
-
restartCurrentAgent,
|
|
3059
|
-
stopCurrentAgent,
|
|
3060
|
-
runCurrentAgent,
|
|
3061
|
-
setCurrentAgentState,
|
|
3062
|
-
messageId
|
|
3063
|
-
});
|
|
3064
|
-
} else {
|
|
3065
|
-
defaultReloadMessages(messageId);
|
|
3066
|
-
}
|
|
3067
|
-
}
|
|
3068
|
-
return {
|
|
3069
|
-
messages,
|
|
3070
|
-
isLoading,
|
|
3071
|
-
suggestions,
|
|
3072
|
-
sendMessage: safelySendMessage,
|
|
3073
|
-
stopGeneration,
|
|
3074
|
-
reloadMessages,
|
|
3075
|
-
resetSuggestions,
|
|
3076
|
-
context: stableContext,
|
|
3077
|
-
actions
|
|
3078
|
-
};
|
|
3079
|
-
};
|
|
3080
2903
|
|
|
3081
2904
|
// src/components/chat/Modal.tsx
|
|
3082
|
-
var
|
|
3083
|
-
var
|
|
2905
|
+
var import_react_core10 = require("@copilotkit/react-core");
|
|
2906
|
+
var import_shared4 = require("@copilotkit/shared");
|
|
3084
2907
|
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
3085
2908
|
var CopilotModalInner = (_a) => {
|
|
3086
2909
|
var _b = _a, {
|
|
@@ -3106,7 +2929,7 @@ var CopilotModalInner = (_a) => {
|
|
|
3106
2929
|
"Button",
|
|
3107
2930
|
"Header"
|
|
3108
2931
|
]);
|
|
3109
|
-
const { copilotApiConfig, setBannerError } = (0,
|
|
2932
|
+
const { copilotApiConfig, setBannerError } = (0, import_react_core10.useCopilotContext)();
|
|
3110
2933
|
const { publicApiKey } = copilotApiConfig;
|
|
3111
2934
|
const triggerObservabilityHook = (0, import_react16.useCallback)(
|
|
3112
2935
|
(hookName, ...args) => {
|
|
@@ -3115,14 +2938,14 @@ var CopilotModalInner = (_a) => {
|
|
|
3115
2938
|
}
|
|
3116
2939
|
if ((observabilityHooks == null ? void 0 : observabilityHooks[hookName]) && !publicApiKey) {
|
|
3117
2940
|
setBannerError(
|
|
3118
|
-
new
|
|
2941
|
+
new import_shared4.CopilotKitError({
|
|
3119
2942
|
message: "observabilityHooks requires a publicApiKey to function.",
|
|
3120
|
-
code:
|
|
3121
|
-
severity:
|
|
3122
|
-
visibility:
|
|
2943
|
+
code: import_shared4.CopilotKitErrorCode.MISSING_PUBLIC_API_KEY_ERROR,
|
|
2944
|
+
severity: import_shared4.Severity.CRITICAL,
|
|
2945
|
+
visibility: import_shared4.ErrorVisibility.BANNER
|
|
3123
2946
|
})
|
|
3124
2947
|
);
|
|
3125
|
-
|
|
2948
|
+
import_shared4.styledConsole.publicApiKeyRequired("observabilityHooks");
|
|
3126
2949
|
}
|
|
3127
2950
|
},
|
|
3128
2951
|
[publicApiKey, observabilityHooks, setBannerError]
|
|
@@ -3283,31 +3106,9 @@ function CopilotSidebar(props) {
|
|
|
3283
3106
|
}
|
|
3284
3107
|
|
|
3285
3108
|
// src/hooks/use-copilot-chat-suggestions.tsx
|
|
3286
|
-
var
|
|
3287
|
-
|
|
3288
|
-
|
|
3289
|
-
function useCopilotChatSuggestions({
|
|
3290
|
-
available = "enabled",
|
|
3291
|
-
instructions,
|
|
3292
|
-
className,
|
|
3293
|
-
minSuggestions = 1,
|
|
3294
|
-
maxSuggestions = 3
|
|
3295
|
-
}, dependencies = []) {
|
|
3296
|
-
const context = (0, import_react_core12.useCopilotContext)();
|
|
3297
|
-
(0, import_react18.useEffect)(() => {
|
|
3298
|
-
if (available === "disabled")
|
|
3299
|
-
return;
|
|
3300
|
-
const id = (0, import_shared6.randomId)();
|
|
3301
|
-
context.addChatSuggestionConfiguration(id, {
|
|
3302
|
-
instructions,
|
|
3303
|
-
minSuggestions,
|
|
3304
|
-
maxSuggestions,
|
|
3305
|
-
className
|
|
3306
|
-
});
|
|
3307
|
-
return () => {
|
|
3308
|
-
context.removeChatSuggestionConfiguration(id);
|
|
3309
|
-
};
|
|
3310
|
-
}, [...dependencies, instructions, minSuggestions, maxSuggestions, className, available]);
|
|
3109
|
+
var import_react_core11 = require("@copilotkit/react-core");
|
|
3110
|
+
function useCopilotChatSuggestions(config, dependencies = []) {
|
|
3111
|
+
(0, import_react_core11.useConfigureChatSuggestions)(config, dependencies);
|
|
3311
3112
|
}
|
|
3312
3113
|
// Annotate the CommonJS export names for ESM import in node:
|
|
3313
3114
|
0 && (module.exports = {
|