@red-hat-developer-hub/backstage-plugin-lightspeed 2.5.1 → 2.6.1
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 +13 -0
- package/README.md +1 -1
- package/dist/alpha/LightspeedFAB.esm.js.map +1 -1
- package/dist/alpha/LightspeedProvider.esm.js.map +1 -1
- package/dist/alpha.esm.js +1 -1
- package/dist/alpha.esm.js.map +1 -1
- package/dist/api/LightspeedApiClient.esm.js +1 -1
- package/dist/api/LightspeedApiClient.esm.js.map +1 -1
- package/dist/api/NotebooksApiClient.esm.js.map +1 -1
- package/dist/api/api.esm.js.map +1 -1
- package/dist/api/notebooksApi.esm.js.map +1 -1
- package/dist/components/Attachment.esm.js +2 -2
- package/dist/components/Attachment.esm.js.map +1 -1
- package/dist/components/AttachmentContext.esm.js +1 -1
- package/dist/components/AttachmentContext.esm.js.map +1 -1
- package/dist/components/DeleteModal.esm.js.map +1 -1
- package/dist/components/FilePreview.esm.js.map +1 -1
- package/dist/components/LightSpeedChat.esm.js +25 -19
- package/dist/components/LightSpeedChat.esm.js.map +1 -1
- package/dist/components/LightspeedChatBox.esm.js +5 -5
- package/dist/components/LightspeedChatBox.esm.js.map +1 -1
- package/dist/components/LightspeedChatBoxHeader.esm.js +1 -1
- package/dist/components/LightspeedChatBoxHeader.esm.js.map +1 -1
- package/dist/components/LightspeedChatContainer.esm.js.map +1 -1
- package/dist/components/LightspeedChatModelsState.esm.js.map +1 -1
- package/dist/components/LightspeedDrawerContext.esm.js +1 -1
- package/dist/components/LightspeedDrawerContext.esm.js.map +1 -1
- package/dist/components/LightspeedDrawerProvider.esm.js.map +1 -1
- package/dist/components/LightspeedDrawerStateExposer.esm.js.map +1 -1
- package/dist/components/LightspeedFAB.esm.js.map +1 -1
- package/dist/components/LightspeedIcon.esm.js.map +1 -1
- package/dist/components/LightspeedPage.esm.js.map +1 -1
- package/dist/components/McpServersSettings.esm.js +3 -3
- package/dist/components/McpServersSettings.esm.js.map +1 -1
- package/dist/components/McpSettingsIcon.esm.js.map +1 -1
- package/dist/components/PermissionRequiredIcon.esm.js.map +1 -1
- package/dist/components/PermissionRequiredState.esm.js.map +1 -1
- package/dist/components/RenameConversationModal.esm.js.map +1 -1
- package/dist/components/Router.esm.js.map +1 -1
- package/dist/components/ToolCallContent.esm.js +3 -3
- package/dist/components/ToolCallContent.esm.js.map +1 -1
- package/dist/components/Trans.esm.js.map +1 -1
- package/dist/components/notebooks/AddDocumentModal.esm.js.map +1 -1
- package/dist/components/notebooks/DeleteNotebookModal.esm.js.map +1 -1
- package/dist/components/notebooks/DocumentSidebar.esm.js +2 -2
- package/dist/components/notebooks/DocumentSidebar.esm.js.map +1 -1
- package/dist/components/notebooks/FileListItem.esm.js.map +1 -1
- package/dist/components/notebooks/FileTypeIcon.esm.js.map +1 -1
- package/dist/components/notebooks/NotebookCard.esm.js +1 -1
- package/dist/components/notebooks/NotebookCard.esm.js.map +1 -1
- package/dist/components/notebooks/NotebookView.esm.js +3 -3
- package/dist/components/notebooks/NotebookView.esm.js.map +1 -1
- package/dist/components/notebooks/NotebooksTab.esm.js.map +1 -1
- package/dist/components/notebooks/OverwriteConfirmModal.esm.js.map +1 -1
- package/dist/components/notebooks/RenameNotebookModal.esm.js.map +1 -1
- package/dist/components/notebooks/SidebarCollapseIcon.esm.js.map +1 -1
- package/dist/components/notebooks/UploadResourceScreen.esm.js +1 -1
- package/dist/components/notebooks/UploadResourceScreen.esm.js.map +1 -1
- package/dist/const.esm.js.map +1 -1
- package/dist/dev.esm.js.map +1 -1
- package/dist/hooks/notebooks/useCreateNotebook.esm.js.map +1 -1
- package/dist/hooks/notebooks/useCreateNotebookMessage.esm.js.map +1 -1
- package/dist/hooks/notebooks/useDeleteNotebook.esm.js.map +1 -1
- package/dist/hooks/notebooks/useDocumentStatusPolling.esm.js.map +1 -1
- package/dist/hooks/notebooks/useLightspeedNotebooksPermission.esm.js.map +1 -1
- package/dist/hooks/notebooks/useNotebookDocuments.esm.js.map +1 -1
- package/dist/hooks/notebooks/useNotebookSession.esm.js.map +1 -1
- package/dist/hooks/notebooks/useNotebookSessions.esm.js.map +1 -1
- package/dist/hooks/notebooks/useRenameNotebook.esm.js.map +1 -1
- package/dist/hooks/notebooks/useUploadDocument.esm.js.map +1 -1
- package/dist/hooks/toolCallsCacheStore.esm.js +1 -1
- package/dist/hooks/toolCallsCacheStore.esm.js.map +1 -1
- package/dist/hooks/useAllModels.esm.js.map +1 -1
- package/dist/hooks/useAutoScroll.esm.js +1 -1
- package/dist/hooks/useAutoScroll.esm.js.map +1 -1
- package/dist/hooks/useBackstageUserIdentity.esm.js.map +1 -1
- package/dist/hooks/useBufferedMessages.esm.js.map +1 -1
- package/dist/hooks/useCaptureFeedback.esm.js.map +1 -1
- package/dist/hooks/useConversationMessages.esm.js +353 -323
- package/dist/hooks/useConversationMessages.esm.js.map +1 -1
- package/dist/hooks/useConversations.esm.js.map +1 -1
- package/dist/hooks/useCreateCoversationMessage.esm.js.map +1 -1
- package/dist/hooks/useDeleteConversation.esm.js.map +1 -1
- package/dist/hooks/useDisplayModeSettings.esm.js +1 -1
- package/dist/hooks/useDisplayModeSettings.esm.js.map +1 -1
- package/dist/hooks/useFeedbackActions.esm.js +3 -3
- package/dist/hooks/useFeedbackActions.esm.js.map +1 -1
- package/dist/hooks/useFeedbackState.esm.js.map +1 -1
- package/dist/hooks/useFeedbackStatus.esm.js.map +1 -1
- package/dist/hooks/useIsMobile.esm.js.map +1 -1
- package/dist/hooks/useLastOpenedConversation.esm.js.map +1 -1
- package/dist/hooks/useLightspeedDeletePermission.esm.js.map +1 -1
- package/dist/hooks/useLightspeedDrawerContext.esm.js +1 -1
- package/dist/hooks/useLightspeedDrawerContext.esm.js.map +1 -1
- package/dist/hooks/useLightspeedProviderState.esm.js +2 -2
- package/dist/hooks/useLightspeedProviderState.esm.js.map +1 -1
- package/dist/hooks/useLightspeedUpdatePermission.esm.js.map +1 -1
- package/dist/hooks/useLightspeedViewPermission.esm.js.map +1 -1
- package/dist/hooks/usePinnedChatsSettings.esm.js +2 -2
- package/dist/hooks/usePinnedChatsSettings.esm.js.map +1 -1
- package/dist/hooks/useQuestionValidation.esm.js.map +1 -1
- package/dist/hooks/useRenameConversation.esm.js.map +1 -1
- package/dist/hooks/useSortSettings.esm.js +2 -2
- package/dist/hooks/useSortSettings.esm.js.map +1 -1
- package/dist/hooks/useStopConversation.esm.js.map +1 -1
- package/dist/hooks/useTranslation.esm.js.map +1 -1
- package/dist/hooks/useWelcomePrompts.esm.js.map +1 -1
- package/dist/plugin.esm.js +2 -2
- package/dist/plugin.esm.js.map +1 -1
- package/dist/routes.esm.js.map +1 -1
- package/dist/translations/de.esm.js.map +1 -1
- package/dist/translations/es.esm.js.map +1 -1
- package/dist/translations/fr.esm.js.map +1 -1
- package/dist/translations/index.esm.js.map +1 -1
- package/dist/translations/it.esm.js.map +1 -1
- package/dist/translations/ja.esm.js.map +1 -1
- package/dist/translations/ref.esm.js.map +1 -1
- package/dist/types.esm.js.map +1 -1
- package/dist/utils/attachment-utils.esm.js.map +1 -1
- package/dist/utils/formatToolResponseForMarkdown.esm.js.map +1 -1
- package/dist/utils/lightspeed-chatbox-utils.esm.js +4 -4
- package/dist/utils/lightspeed-chatbox-utils.esm.js.map +1 -1
- package/dist/utils/notebook-upload-utils.esm.js +1 -1
- package/dist/utils/notebook-upload-utils.esm.js.map +1 -1
- package/dist/utils/notebooks-utils.esm.js +1 -1
- package/dist/utils/notebooks-utils.esm.js.map +1 -1
- package/dist/utils/prompt-utils.esm.js.map +1 -1
- package/dist/utils/queryClient.esm.js.map +1 -1
- package/dist/utils/reasoningParser.esm.js.map +1 -1
- package/dist/utils/toolCallMapper.esm.js +2 -2
- package/dist/utils/toolCallMapper.esm.js.map +1 -1
- package/dist/utils/user-utils.esm.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { useState, useEffect, useRef, useCallback, useLayoutEffect, useMemo } from 'react';
|
|
3
3
|
import { useNavigate, useMatch } from 'react-router-dom';
|
|
4
|
-
import {
|
|
4
|
+
import { Button, makeStyles } from '@material-ui/core';
|
|
5
5
|
import { ChatbotDisplayMode, ChatbotContent, ChatbotFooter, MessageBar, ChatbotFootnote, Settings, Chatbot, ChatbotHeader, ChatbotHeaderMain, ChatbotHeaderMenu, ChatbotHeaderTitle, FileDropZone, ChatbotAlert } from '@patternfly/chatbot';
|
|
6
6
|
import ChatbotConversationHistoryNav from '@patternfly/chatbot/dist/dynamic/ChatbotConversationHistoryNav';
|
|
7
7
|
import { DropdownItem, Tooltip, MenuToggle, Select, SelectList, SelectOption, AlertGroup, Alert, AlertVariant, AlertActionCloseButton, Title, Tabs, Tab } from '@patternfly/react-core';
|
|
8
|
-
import { SortAmountDownAltIcon, SortAmountDownIcon,
|
|
8
|
+
import { SortAmountDownAltIcon, SortAmountDownIcon, SearchIcon, PlusIcon } from '@patternfly/react-icons';
|
|
9
9
|
import { useQueryClient } from '@tanstack/react-query';
|
|
10
10
|
import { UNTITLED_NOTEBOOK_NAME, TEMP_CONVERSATION_ID, supportedFileTypes } from '../const.esm.js';
|
|
11
11
|
import '@backstage/core-plugin-api';
|
|
@@ -605,7 +605,7 @@ const LightspeedChat = ({
|
|
|
605
605
|
clearLastOpenedId();
|
|
606
606
|
setConversationId(TEMP_CONVERSATION_ID);
|
|
607
607
|
setNewChatCreated(true);
|
|
608
|
-
setCurrentConversationId(
|
|
608
|
+
setCurrentConversationId(void 0);
|
|
609
609
|
}
|
|
610
610
|
}, [
|
|
611
611
|
isLoading,
|
|
@@ -623,7 +623,7 @@ const LightspeedChat = ({
|
|
|
623
623
|
if (!conversationExists) {
|
|
624
624
|
if (routeConversationId !== conversationId) {
|
|
625
625
|
setConversationId(TEMP_CONVERSATION_ID);
|
|
626
|
-
setCurrentConversationId(
|
|
626
|
+
setCurrentConversationId(void 0);
|
|
627
627
|
setNewChatCreated(true);
|
|
628
628
|
}
|
|
629
629
|
} else if (conversationId !== routeConversationId) {
|
|
@@ -670,7 +670,12 @@ const LightspeedChat = ({
|
|
|
670
670
|
});
|
|
671
671
|
setNewChatCreated(false);
|
|
672
672
|
};
|
|
673
|
-
const {
|
|
673
|
+
const {
|
|
674
|
+
conversationMessages,
|
|
675
|
+
handleInputPrompt,
|
|
676
|
+
scrollToBottomRef,
|
|
677
|
+
streamingConversationId
|
|
678
|
+
} = useConversationMessages(
|
|
674
679
|
viewConversationId,
|
|
675
680
|
userName,
|
|
676
681
|
selectedModel,
|
|
@@ -678,9 +683,10 @@ const LightspeedChat = ({
|
|
|
678
683
|
avatar,
|
|
679
684
|
onComplete,
|
|
680
685
|
onStart,
|
|
681
|
-
|
|
686
|
+
void 0,
|
|
682
687
|
onRequestIdReady
|
|
683
688
|
);
|
|
689
|
+
const streamingUiMatchesView = isSendButtonDisabled && streamingConversationId !== null && viewConversationId === streamingConversationId;
|
|
684
690
|
const [messages, setMessages] = useState(conversationMessages);
|
|
685
691
|
const sendMessage = (message) => {
|
|
686
692
|
if (!message.toString().trim()) return;
|
|
@@ -708,7 +714,7 @@ const LightspeedChat = ({
|
|
|
708
714
|
setDraftMessage("");
|
|
709
715
|
setConversationId(TEMP_CONVERSATION_ID);
|
|
710
716
|
setNewChatCreated(true);
|
|
711
|
-
setCurrentConversationId(
|
|
717
|
+
setCurrentConversationId(void 0);
|
|
712
718
|
if (!isFullscreenMode) {
|
|
713
719
|
setIsChatHistoryDrawerOpen(false);
|
|
714
720
|
}
|
|
@@ -926,10 +932,10 @@ const LightspeedChat = ({
|
|
|
926
932
|
};
|
|
927
933
|
}) : [];
|
|
928
934
|
useLayoutEffect(() => {
|
|
929
|
-
if (welcomePrompts.length === 0) return
|
|
935
|
+
if (welcomePrompts.length === 0) return void 0;
|
|
930
936
|
const el = contentScrollRef.current;
|
|
931
937
|
const sentinel = bottomSentinelRef.current;
|
|
932
|
-
if (!el) return
|
|
938
|
+
if (!el) return void 0;
|
|
933
939
|
const scrollToBottom = () => {
|
|
934
940
|
if (sentinel && typeof sentinel.scrollIntoView === "function") {
|
|
935
941
|
sentinel.scrollIntoView({ block: "end", behavior: "auto" });
|
|
@@ -939,7 +945,7 @@ const LightspeedChat = ({
|
|
|
939
945
|
};
|
|
940
946
|
const rafId = typeof requestAnimationFrame !== "undefined" ? requestAnimationFrame(() => scrollToBottom()) : null;
|
|
941
947
|
if (rafId === null) scrollToBottom();
|
|
942
|
-
const resizeObserver = typeof ResizeObserver !== "undefined" ? new ResizeObserver(() => scrollToBottom()) :
|
|
948
|
+
const resizeObserver = typeof ResizeObserver !== "undefined" ? new ResizeObserver(() => scrollToBottom()) : void 0;
|
|
943
949
|
resizeObserver?.observe(el);
|
|
944
950
|
return () => {
|
|
945
951
|
if (rafId !== null && typeof cancelAnimationFrame !== "undefined") {
|
|
@@ -952,7 +958,7 @@ const LightspeedChat = ({
|
|
|
952
958
|
const scrollContainer = contentScrollRef.current;
|
|
953
959
|
if (!scrollContainer) {
|
|
954
960
|
setHasChatContentOverflow(false);
|
|
955
|
-
return
|
|
961
|
+
return void 0;
|
|
956
962
|
}
|
|
957
963
|
const getMessageBox = () => scrollContainer.querySelector(
|
|
958
964
|
".pf-chatbot__messagebox"
|
|
@@ -997,7 +1003,7 @@ const LightspeedChat = ({
|
|
|
997
1003
|
passive: true,
|
|
998
1004
|
capture: true
|
|
999
1005
|
});
|
|
1000
|
-
const resizeObserver = typeof ResizeObserver !== "undefined" ? new ResizeObserver(() => scheduleOverflowUpdate()) :
|
|
1006
|
+
const resizeObserver = typeof ResizeObserver !== "undefined" ? new ResizeObserver(() => scheduleOverflowUpdate()) : void 0;
|
|
1001
1007
|
resizeObserver?.observe(scrollContainer);
|
|
1002
1008
|
if (observedScrollTarget !== scrollContainer) {
|
|
1003
1009
|
resizeObserver?.observe(observedScrollTarget);
|
|
@@ -1018,7 +1024,7 @@ const LightspeedChat = ({
|
|
|
1018
1024
|
const mutationObserver = typeof MutationObserver !== "undefined" ? new MutationObserver(() => {
|
|
1019
1025
|
syncObservedScrollTarget();
|
|
1020
1026
|
scheduleOverflowUpdate();
|
|
1021
|
-
}) :
|
|
1027
|
+
}) : void 0;
|
|
1022
1028
|
mutationObserver?.observe(scrollContainer, {
|
|
1023
1029
|
childList: true,
|
|
1024
1030
|
subtree: true,
|
|
@@ -1176,7 +1182,7 @@ const LightspeedChat = ({
|
|
|
1176
1182
|
ref: scrollToBottomRef,
|
|
1177
1183
|
welcomePrompts,
|
|
1178
1184
|
conversationId,
|
|
1179
|
-
isStreaming:
|
|
1185
|
+
isStreaming: streamingUiMatchesView,
|
|
1180
1186
|
topicRestrictionEnabled,
|
|
1181
1187
|
displayMode
|
|
1182
1188
|
}
|
|
@@ -1204,8 +1210,8 @@ const LightspeedChat = ({
|
|
|
1204
1210
|
hasMicrophoneButton: true,
|
|
1205
1211
|
value: draftMessage,
|
|
1206
1212
|
onChange: handleDraftMessage,
|
|
1207
|
-
hasStopButton:
|
|
1208
|
-
handleStopButton:
|
|
1213
|
+
hasStopButton: streamingUiMatchesView,
|
|
1214
|
+
handleStopButton: streamingUiMatchesView ? handleStopButton : void 0,
|
|
1209
1215
|
buttonProps: {
|
|
1210
1216
|
attach: {
|
|
1211
1217
|
inputTestId: "attachment-input",
|
|
@@ -1409,7 +1415,7 @@ const LightspeedChat = ({
|
|
|
1409
1415
|
activeItemId: viewConversationId,
|
|
1410
1416
|
onSelectActiveItem,
|
|
1411
1417
|
conversations: filterConversations(filterValue),
|
|
1412
|
-
onNewChat: newChatCreated ?
|
|
1418
|
+
onNewChat: newChatCreated ? void 0 : onNewChat,
|
|
1413
1419
|
newChatButtonText: t("button.newChat"),
|
|
1414
1420
|
newChatButtonProps: {
|
|
1415
1421
|
icon: /* @__PURE__ */ jsx(PlusIcon, {})
|
|
@@ -1428,7 +1434,7 @@ const LightspeedChat = ({
|
|
|
1428
1434
|
bodyText: t("chatbox.emptyState.noResults.body"),
|
|
1429
1435
|
titleText: t("chatbox.emptyState.noResults.title"),
|
|
1430
1436
|
icon: SearchIcon
|
|
1431
|
-
} :
|
|
1437
|
+
} : void 0,
|
|
1432
1438
|
drawerContent: /* @__PURE__ */ jsxs(
|
|
1433
1439
|
FileDropZone,
|
|
1434
1440
|
{
|
|
@@ -1465,7 +1471,7 @@ const LightspeedChat = ({
|
|
|
1465
1471
|
metadata: activeNotebook.metadata,
|
|
1466
1472
|
topicSummary: conversations.find(
|
|
1467
1473
|
(c) => c.conversation_id === activeNotebook.metadata?.conversation_id
|
|
1468
|
-
)?.topic_summary ??
|
|
1474
|
+
)?.topic_summary ?? void 0,
|
|
1469
1475
|
userName,
|
|
1470
1476
|
avatar,
|
|
1471
1477
|
profileLoading,
|