@copilotkit/react-ui 1.3.16-mme-reset-chat.10 → 1.3.16-mme-revert-rxjs-changes.10
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 +9 -53
- package/dist/{chunk-H7LLXN6X.mjs → chunk-H5CXJBR5.mjs} +3 -7
- package/dist/chunk-H5CXJBR5.mjs.map +1 -0
- package/dist/{chunk-P54DK2TL.mjs → chunk-M2NVAJQA.mjs} +2 -2
- package/dist/{chunk-3QOICFXX.mjs → chunk-ORHE7FYT.mjs} +8 -104
- package/dist/chunk-ORHE7FYT.mjs.map +1 -0
- package/dist/{chunk-SEY3XSCD.mjs → chunk-PY7YBFPA.mjs} +2 -2
- package/dist/{chunk-CPMIEVKK.mjs → chunk-RKPANT3F.mjs} +65 -15
- package/dist/chunk-RKPANT3F.mjs.map +1 -0
- package/dist/components/chat/Chat.d.ts +5 -50
- package/dist/components/chat/Chat.js +68 -114
- package/dist/components/chat/Chat.js.map +1 -1
- package/dist/components/chat/Chat.mjs +2 -2
- package/dist/components/chat/Messages.d.ts +6 -1
- package/dist/components/chat/Messages.js +66 -15
- package/dist/components/chat/Messages.js.map +1 -1
- package/dist/components/chat/Messages.mjs +5 -3
- package/dist/components/chat/Modal.d.ts +1 -1
- package/dist/components/chat/Modal.js +68 -118
- package/dist/components/chat/Modal.js.map +1 -1
- package/dist/components/chat/Modal.mjs +3 -3
- package/dist/components/chat/Popup.js +68 -118
- package/dist/components/chat/Popup.js.map +1 -1
- package/dist/components/chat/Popup.mjs +4 -4
- package/dist/components/chat/Sidebar.js +68 -118
- package/dist/components/chat/Sidebar.js.map +1 -1
- package/dist/components/chat/Sidebar.mjs +4 -4
- package/dist/components/chat/index.js +68 -118
- package/dist/components/chat/index.js.map +1 -1
- package/dist/components/chat/index.mjs +5 -5
- package/dist/components/index.js +68 -118
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +5 -5
- package/dist/index.js +70 -120
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +5 -5
- package/package.json +7 -7
- package/src/components/chat/Chat.tsx +7 -166
- package/src/components/chat/Messages.tsx +72 -15
- package/src/components/chat/Modal.tsx +0 -4
- package/dist/chunk-3QOICFXX.mjs.map +0 -1
- package/dist/chunk-CPMIEVKK.mjs.map +0 -1
- package/dist/chunk-H7LLXN6X.mjs.map +0 -1
- /package/dist/{chunk-P54DK2TL.mjs.map → chunk-M2NVAJQA.mjs.map} +0 -0
- /package/dist/{chunk-SEY3XSCD.mjs.map → chunk-PY7YBFPA.mjs.map} +0 -0
|
@@ -388,7 +388,7 @@ var ChatContextProvider = ({
|
|
|
388
388
|
};
|
|
389
389
|
|
|
390
390
|
// src/components/chat/Messages.tsx
|
|
391
|
-
var import_react2 =
|
|
391
|
+
var import_react2 = require("react");
|
|
392
392
|
var import_runtime_client_gql = require("@copilotkit/runtime-client-gql");
|
|
393
393
|
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
394
394
|
var Messages = ({
|
|
@@ -418,18 +418,8 @@ var Messages = ({
|
|
|
418
418
|
}
|
|
419
419
|
}
|
|
420
420
|
}
|
|
421
|
-
const messagesEndRef =
|
|
422
|
-
|
|
423
|
-
if (messagesEndRef.current) {
|
|
424
|
-
messagesEndRef.current.scrollIntoView({
|
|
425
|
-
behavior: "auto"
|
|
426
|
-
});
|
|
427
|
-
}
|
|
428
|
-
};
|
|
429
|
-
(0, import_react2.useEffect)(() => {
|
|
430
|
-
scrollToBottom();
|
|
431
|
-
}, [messages]);
|
|
432
|
-
return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: "copilotKitMessages", children: [
|
|
421
|
+
const { messagesEndRef, messagesContainerRef } = useScrollToBottom(messages);
|
|
422
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: "copilotKitMessages", ref: messagesContainerRef, children: [
|
|
433
423
|
messages.map((message, index) => {
|
|
434
424
|
const isCurrentMessage = index === messages.length - 1;
|
|
435
425
|
if (message.isTextMessage()) {
|
|
@@ -498,6 +488,65 @@ function makeInitialMessages(initial) {
|
|
|
498
488
|
})
|
|
499
489
|
);
|
|
500
490
|
}
|
|
491
|
+
function useScrollToBottom(messages) {
|
|
492
|
+
const messagesEndRef = (0, import_react2.useRef)(null);
|
|
493
|
+
const messagesContainerRef = (0, import_react2.useRef)(null);
|
|
494
|
+
const isProgrammaticScrollRef = (0, import_react2.useRef)(false);
|
|
495
|
+
const isUserScrollUpRef = (0, import_react2.useRef)(false);
|
|
496
|
+
const scrollToBottom = () => {
|
|
497
|
+
if (messagesEndRef.current) {
|
|
498
|
+
isProgrammaticScrollRef.current = true;
|
|
499
|
+
messagesEndRef.current.scrollIntoView({
|
|
500
|
+
behavior: "auto"
|
|
501
|
+
});
|
|
502
|
+
}
|
|
503
|
+
};
|
|
504
|
+
const handleScroll = () => {
|
|
505
|
+
if (isProgrammaticScrollRef.current) {
|
|
506
|
+
isProgrammaticScrollRef.current = false;
|
|
507
|
+
return;
|
|
508
|
+
}
|
|
509
|
+
if (messagesContainerRef.current) {
|
|
510
|
+
const { scrollTop, scrollHeight, clientHeight } = messagesContainerRef.current;
|
|
511
|
+
isUserScrollUpRef.current = scrollTop + clientHeight < scrollHeight;
|
|
512
|
+
}
|
|
513
|
+
};
|
|
514
|
+
(0, import_react2.useEffect)(() => {
|
|
515
|
+
const container = messagesContainerRef.current;
|
|
516
|
+
if (container) {
|
|
517
|
+
container.addEventListener("scroll", handleScroll);
|
|
518
|
+
}
|
|
519
|
+
return () => {
|
|
520
|
+
if (container) {
|
|
521
|
+
container.removeEventListener("scroll", handleScroll);
|
|
522
|
+
}
|
|
523
|
+
};
|
|
524
|
+
}, []);
|
|
525
|
+
(0, import_react2.useEffect)(() => {
|
|
526
|
+
const container = messagesContainerRef.current;
|
|
527
|
+
if (!container) {
|
|
528
|
+
return;
|
|
529
|
+
}
|
|
530
|
+
const mutationObserver = new MutationObserver(() => {
|
|
531
|
+
if (!isUserScrollUpRef.current) {
|
|
532
|
+
scrollToBottom();
|
|
533
|
+
}
|
|
534
|
+
});
|
|
535
|
+
mutationObserver.observe(container, {
|
|
536
|
+
childList: true,
|
|
537
|
+
subtree: true,
|
|
538
|
+
characterData: true
|
|
539
|
+
});
|
|
540
|
+
return () => {
|
|
541
|
+
mutationObserver.disconnect();
|
|
542
|
+
};
|
|
543
|
+
}, []);
|
|
544
|
+
(0, import_react2.useEffect)(() => {
|
|
545
|
+
isUserScrollUpRef.current = false;
|
|
546
|
+
scrollToBottom();
|
|
547
|
+
}, [messages.filter((m) => m.isTextMessage() && m.role === import_runtime_client_gql.Role.User).length]);
|
|
548
|
+
return { messagesEndRef, messagesContainerRef };
|
|
549
|
+
}
|
|
501
550
|
|
|
502
551
|
// src/components/chat/Input.tsx
|
|
503
552
|
var import_react5 = require("react");
|
|
@@ -1905,7 +1954,6 @@ function DebugMenuButton({
|
|
|
1905
1954
|
}
|
|
1906
1955
|
|
|
1907
1956
|
// src/components/chat/Chat.tsx
|
|
1908
|
-
var import_react_core9 = require("@copilotkit/react-core");
|
|
1909
1957
|
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
1910
1958
|
function CopilotChat({
|
|
1911
1959
|
instructions,
|
|
@@ -1913,8 +1961,6 @@ function CopilotChat({
|
|
|
1913
1961
|
makeSystemMessage,
|
|
1914
1962
|
showResponseButton = true,
|
|
1915
1963
|
onInProgress,
|
|
1916
|
-
onStopGeneration,
|
|
1917
|
-
onReloadMessages,
|
|
1918
1964
|
Messages: Messages2 = Messages,
|
|
1919
1965
|
RenderTextMessage: RenderTextMessage2 = RenderTextMessage,
|
|
1920
1966
|
RenderActionExecutionMessage: RenderActionExecutionMessage2 = RenderActionExecutionMessage,
|
|
@@ -1937,13 +1983,7 @@ function CopilotChat({
|
|
|
1937
1983
|
sendMessage,
|
|
1938
1984
|
stopGeneration,
|
|
1939
1985
|
reloadMessages
|
|
1940
|
-
} = useCopilotChatLogic(
|
|
1941
|
-
makeSystemMessage,
|
|
1942
|
-
onInProgress,
|
|
1943
|
-
onSubmitMessage,
|
|
1944
|
-
onStopGeneration,
|
|
1945
|
-
onReloadMessages
|
|
1946
|
-
);
|
|
1986
|
+
} = useCopilotChatLogic(makeSystemMessage, onInProgress, onSubmitMessage);
|
|
1947
1987
|
const chatContext = import_react10.default.useContext(ChatContext);
|
|
1948
1988
|
const isVisible = chatContext ? chatContext.open : true;
|
|
1949
1989
|
return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(WrappedCopilotChat, { icons, labels, className, children: [
|
|
@@ -1999,15 +2039,8 @@ function WrappedCopilotChat({
|
|
|
1999
2039
|
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_jsx_runtime16.Fragment, { children });
|
|
2000
2040
|
}
|
|
2001
2041
|
var SUGGESTIONS_DEBOUNCE_TIMEOUT = 1e3;
|
|
2002
|
-
var useCopilotChatLogic = (makeSystemMessage, onInProgress, onSubmitMessage
|
|
2003
|
-
|
|
2004
|
-
const {
|
|
2005
|
-
visibleMessages,
|
|
2006
|
-
appendMessage,
|
|
2007
|
-
reloadMessages: defaultReloadMessages,
|
|
2008
|
-
stopGeneration: defaultStopGeneration,
|
|
2009
|
-
isLoading
|
|
2010
|
-
} = (0, import_react_core8.useCopilotChat)({
|
|
2042
|
+
var useCopilotChatLogic = (makeSystemMessage, onInProgress, onSubmitMessage) => {
|
|
2043
|
+
const { visibleMessages, appendMessage, reloadMessages, stopGeneration, isLoading } = (0, import_react_core8.useCopilotChat)({
|
|
2011
2044
|
id: (0, import_shared3.randomId)(),
|
|
2012
2045
|
makeSystemMessage
|
|
2013
2046
|
});
|
|
@@ -2015,8 +2048,8 @@ var useCopilotChatLogic = (makeSystemMessage, onInProgress, onSubmitMessage, onS
|
|
|
2015
2048
|
const suggestionsAbortControllerRef = (0, import_react10.useRef)(null);
|
|
2016
2049
|
const debounceTimerRef = (0, import_react10.useRef)();
|
|
2017
2050
|
const abortSuggestions = () => {
|
|
2018
|
-
var
|
|
2019
|
-
(
|
|
2051
|
+
var _a;
|
|
2052
|
+
(_a = suggestionsAbortControllerRef.current) == null ? void 0 : _a.abort();
|
|
2020
2053
|
suggestionsAbortControllerRef.current = null;
|
|
2021
2054
|
};
|
|
2022
2055
|
const generalContext = (0, import_react_core8.useCopilotContext)();
|
|
@@ -2042,13 +2075,7 @@ var useCopilotChatLogic = (makeSystemMessage, onInProgress, onSubmitMessage, onS
|
|
|
2042
2075
|
return () => {
|
|
2043
2076
|
clearTimeout(debounceTimerRef.current);
|
|
2044
2077
|
};
|
|
2045
|
-
}, [
|
|
2046
|
-
isLoading,
|
|
2047
|
-
context.chatSuggestionConfiguration,
|
|
2048
|
-
// hackish way to trigger suggestions reload on reset, but better than moving suggestions to the
|
|
2049
|
-
// global context
|
|
2050
|
-
visibleMessages.length == 0
|
|
2051
|
-
]);
|
|
2078
|
+
}, [isLoading, context.chatSuggestionConfiguration]);
|
|
2052
2079
|
const sendMessage = (messageContent) => __async(void 0, null, function* () {
|
|
2053
2080
|
abortSuggestions();
|
|
2054
2081
|
setCurrentSuggestions([]);
|
|
@@ -2066,79 +2093,6 @@ var useCopilotChatLogic = (makeSystemMessage, onInProgress, onSubmitMessage, onS
|
|
|
2066
2093
|
appendMessage(message);
|
|
2067
2094
|
return message;
|
|
2068
2095
|
});
|
|
2069
|
-
const messages = visibleMessages;
|
|
2070
|
-
const { setMessages } = messagesContext;
|
|
2071
|
-
const currentAgentName = (_a = generalContext.agentSession) == null ? void 0 : _a.agentName;
|
|
2072
|
-
const restartCurrentAgent = (hint) => __async(void 0, null, function* () {
|
|
2073
|
-
if (generalContext.agentSession) {
|
|
2074
|
-
generalContext.setAgentSession(__spreadProps(__spreadValues({}, generalContext.agentSession), {
|
|
2075
|
-
nodeName: void 0,
|
|
2076
|
-
threadId: void 0
|
|
2077
|
-
}));
|
|
2078
|
-
generalContext.setCoagentStates((prevAgentStates) => {
|
|
2079
|
-
return __spreadProps(__spreadValues({}, prevAgentStates), {
|
|
2080
|
-
[generalContext.agentSession.agentName]: __spreadProps(__spreadValues({}, prevAgentStates[generalContext.agentSession.agentName]), {
|
|
2081
|
-
threadId: void 0,
|
|
2082
|
-
nodeName: void 0,
|
|
2083
|
-
runId: void 0
|
|
2084
|
-
})
|
|
2085
|
-
});
|
|
2086
|
-
});
|
|
2087
|
-
}
|
|
2088
|
-
});
|
|
2089
|
-
const runCurrentAgent = (hint) => __async(void 0, null, function* () {
|
|
2090
|
-
if (generalContext.agentSession) {
|
|
2091
|
-
yield (0, import_react_core9.runAgent)(generalContext.agentSession.agentName, context, appendMessage, hint);
|
|
2092
|
-
}
|
|
2093
|
-
});
|
|
2094
|
-
const stopCurrentAgent = () => {
|
|
2095
|
-
if (generalContext.agentSession) {
|
|
2096
|
-
(0, import_react_core9.stopAgent)(generalContext.agentSession.agentName, context);
|
|
2097
|
-
}
|
|
2098
|
-
};
|
|
2099
|
-
const setCurrentAgentState = (state) => {
|
|
2100
|
-
if (generalContext.agentSession) {
|
|
2101
|
-
generalContext.setCoagentStates((prevAgentStates) => {
|
|
2102
|
-
return __spreadProps(__spreadValues({}, prevAgentStates), {
|
|
2103
|
-
[generalContext.agentSession.agentName]: {
|
|
2104
|
-
state
|
|
2105
|
-
}
|
|
2106
|
-
});
|
|
2107
|
-
});
|
|
2108
|
-
}
|
|
2109
|
-
};
|
|
2110
|
-
function stopGeneration() {
|
|
2111
|
-
if (onStopGeneration) {
|
|
2112
|
-
onStopGeneration({
|
|
2113
|
-
messages,
|
|
2114
|
-
setMessages,
|
|
2115
|
-
stopGeneration: defaultStopGeneration,
|
|
2116
|
-
currentAgentName,
|
|
2117
|
-
restartCurrentAgent,
|
|
2118
|
-
stopCurrentAgent,
|
|
2119
|
-
runCurrentAgent,
|
|
2120
|
-
setCurrentAgentState
|
|
2121
|
-
});
|
|
2122
|
-
} else {
|
|
2123
|
-
defaultStopGeneration();
|
|
2124
|
-
}
|
|
2125
|
-
}
|
|
2126
|
-
function reloadMessages() {
|
|
2127
|
-
if (onReloadMessages) {
|
|
2128
|
-
onReloadMessages({
|
|
2129
|
-
messages,
|
|
2130
|
-
setMessages,
|
|
2131
|
-
stopGeneration: defaultStopGeneration,
|
|
2132
|
-
currentAgentName,
|
|
2133
|
-
restartCurrentAgent,
|
|
2134
|
-
stopCurrentAgent,
|
|
2135
|
-
runCurrentAgent,
|
|
2136
|
-
setCurrentAgentState
|
|
2137
|
-
});
|
|
2138
|
-
} else {
|
|
2139
|
-
defaultReloadMessages();
|
|
2140
|
-
}
|
|
2141
|
-
}
|
|
2142
2096
|
return {
|
|
2143
2097
|
visibleMessages,
|
|
2144
2098
|
isLoading,
|