@projectcor/maia-components 2.49.0 → 2.49.1-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/lib/App.js +44 -19
- package/lib/components/atoms/ActionableButton.spec.js +111 -0
- package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.spec.js +52 -0
- package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.utils.spec.js +11 -0
- package/lib/components/atoms/ApprovalBox/ApprovalBox.helpers.spec.js +63 -0
- package/lib/components/atoms/ApprovalBox/ApprovalBox.spec.js +183 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCard.spec.js +123 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.helpers.js +3 -1
- package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.helpers.spec.js +139 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.spec.js +385 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCardImage.js +3 -1
- package/lib/components/atoms/AttachmentCard/AttachmentCardImage.spec.js +78 -0
- package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.helpers.spec.js +94 -0
- package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.js +24 -14
- package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.spec.js +396 -0
- package/lib/components/atoms/AttachmentPreviewModal/ExcelPreview.js +28 -10
- package/lib/components/atoms/AttachmentPreviewModal/ExcelPreview.spec.js +80 -0
- package/lib/components/atoms/AttachmentPreviewModal/PptPreview.helpers.spec.js +526 -0
- package/lib/components/atoms/AttachmentPreviewModal/PptPreview.js +19 -15
- package/lib/components/atoms/AttachmentPreviewModal/PptPreview.spec.js +169 -0
- package/lib/components/atoms/AttachmentPreviewModal/WordPreview.helpers.spec.js +11 -0
- package/lib/components/atoms/AttachmentPreviewModal/WordPreview.js +8 -4
- package/lib/components/atoms/AttachmentPreviewModal/WordPreview.spec.js +77 -0
- package/lib/components/atoms/Backdrop/Backdrop.spec.js +28 -0
- package/lib/components/atoms/CardMenu/CardMenu.spec.js +56 -0
- package/lib/components/atoms/ChatClientSelector/ChatClientSelector.spec.js +67 -0
- package/lib/components/atoms/Checkbox/Checkbox.spec.js +27 -0
- package/lib/components/atoms/Chip/Chip.spec.js +82 -0
- package/lib/components/atoms/ChipLlm/ChipLlm.spec.js +26 -0
- package/lib/components/atoms/ClientSelector/ClientSelector.helpers.spec.js +45 -0
- package/lib/components/atoms/ClientSelector/ClientSelector.js +15 -13
- package/lib/components/atoms/ClientSelector/ClientSelector.spec.js +133 -0
- package/lib/components/atoms/ContextMentionChip/ContextMentionChip.spec.js +29 -0
- package/lib/components/atoms/ContextMentionChip/MentionOverflowLabel.spec.js +46 -0
- package/lib/components/atoms/ContextMentionChip/buildChipElement.helpers.spec.js +109 -0
- package/lib/components/atoms/ContextMentionChip/buildChipElement.spec.js +81 -0
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.helpers.spec.js +92 -0
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.spec.js +319 -0
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.spec.js +107 -0
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.spec.js +136 -0
- package/lib/components/atoms/CopyToClipboard.spec.js +74 -0
- package/lib/components/atoms/EditableLabel/EditableLabel.spec.js +76 -0
- package/lib/components/atoms/EntitySelector/EntitySelector.spec.js +86 -0
- package/lib/components/atoms/Expand/Expand.spec.js +57 -0
- package/lib/components/atoms/Fade/Fade.js +10 -6
- package/lib/components/atoms/Fade/Fade.spec.js +66 -0
- package/lib/components/atoms/FeedbackButton/FeedbackButton.spec.js +75 -0
- package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.spec.js +104 -0
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +3 -1
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.spec.js +91 -0
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +19 -7
- package/lib/components/atoms/HelpButton.spec.js +87 -0
- package/lib/components/atoms/ImagePreview/ImagePreview.spec.js +96 -0
- package/lib/components/atoms/ListMenuOption/ListMenuOption.spec.js +54 -0
- package/lib/components/atoms/LoadingFaqs/LoadingFaqs.spec.js +21 -0
- package/lib/components/atoms/LoadingSearchClients/LoadingSearchClients.spec.js +20 -0
- package/lib/components/atoms/LoadingSearchProjects/LoadingSearchProjects.spec.js +26 -0
- package/lib/components/atoms/LoadingText/LoadingText.spec.js +25 -0
- package/lib/components/atoms/MAIAButton/MAIAButton.spec.js +42 -0
- package/lib/components/atoms/MAIAError/MAIAError.spec.js +27 -0
- package/lib/components/atoms/MAIAInput/MAIAInput.attachments.helpers.js +3 -2
- package/lib/components/atoms/MAIAInput/MAIAInput.attachments.helpers.spec.js +113 -0
- package/lib/components/atoms/MAIAInput/MAIAInput.helpers.js +3 -2
- package/lib/components/atoms/MAIAInput/MAIAInput.helpers.spec.js +381 -0
- package/lib/components/atoms/MAIAInput/MAIAInput.js +14 -7
- package/lib/components/atoms/MAIAInput/MAIAInput.spec.js +641 -0
- package/lib/components/atoms/MAIAInput/MAIAInputEditor.helpers.spec.js +92 -0
- package/lib/components/atoms/MAIAInput/MAIAInputEditor.spec.js +193 -0
- package/lib/components/atoms/MAIAInput/maiaInputLayout.spec.js +32 -0
- package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.spec.js +64 -0
- package/lib/components/atoms/MaiaWrapper/MaiaWrapper.spec.js +43 -0
- package/lib/components/atoms/MaiaWrapper/MaiaWrapperBase.js +9 -4
- package/lib/components/atoms/MaiaWrapper/MaiaWrapperBase.spec.js +114 -0
- package/lib/components/atoms/MaiaWrapper/ModernMaiaWrapper.spec.js +51 -0
- package/lib/components/atoms/ModalClientAccess/ModalClientAccess.spec.js +48 -0
- package/lib/components/atoms/ModalProject/ModalProject.spec.js +66 -0
- package/lib/components/atoms/NextPageLoader.spec.js +37 -0
- package/lib/components/atoms/OnboardingModalButton/OnboardingModal.spec.js +20 -0
- package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.helpers.spec.js +35 -0
- package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.spec.js +47 -0
- package/lib/components/atoms/OptionAccessibility/OptionAccessibility.js +4 -5
- package/lib/components/atoms/OptionAccessibility/OptionAccessibility.spec.js +146 -0
- package/lib/components/atoms/PrimaryButton.spec.js +42 -0
- package/lib/components/atoms/ProjectSelector/ProjectSelector.spec.js +69 -0
- package/lib/components/atoms/ReasoningBlock/ReasoningBlock.js +7 -2
- package/lib/components/atoms/ReasoningBlock/ReasoningBlock.spec.js +69 -0
- package/lib/components/atoms/ReasoningBlock/ReasoningBlock.styles.js +41 -24
- package/lib/components/atoms/ReasoningBlock/ReasoningSteps.js +25 -10
- package/lib/components/atoms/ReasoningBlock/ReasoningSteps.spec.js +59 -0
- package/lib/components/atoms/ReasoningBlock/ReasoningTimeline.js +78 -43
- package/lib/components/atoms/ReasoningBlock/ReasoningTimeline.spec.js +170 -0
- package/lib/components/atoms/ReasoningBlock/groupParallelSteps.js +9 -11
- package/lib/components/atoms/ReasoningBlock/groupParallelSteps.spec.js +199 -0
- package/lib/components/atoms/ReasoningBlock/reasoningLeading.spec.js +70 -0
- package/lib/components/atoms/ReasoningBlock/reasoningLiveNarration.js +37 -15
- package/lib/components/atoms/ReasoningBlock/reasoningLiveNarration.spec.js +120 -0
- package/lib/components/atoms/ReasoningBlock/reasoningMotion.js +8 -0
- package/lib/components/atoms/ReasoningBlock/reasoningTimeline.helpers.spec.js +31 -0
- package/lib/components/atoms/ReasoningBlock/useCollapsibleHeight.js +52 -0
- package/lib/components/atoms/ReasoningBlock/useCollapsibleHeight.spec.js +90 -0
- package/lib/components/atoms/ReasoningBlock/useReasoningMarkerHandoff.js +29 -0
- package/lib/components/atoms/ReasoningBlock/useReasoningMarkerHandoff.spec.js +38 -0
- package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.spec.js +16 -0
- package/lib/components/atoms/SkillsDropdown/SkillsDropdown.spec.js +107 -0
- package/lib/components/atoms/SlashCommandChip/SlashCommandChip.spec.js +24 -0
- package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.helpers.spec.js +71 -0
- package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.spec.js +120 -0
- package/lib/components/atoms/Switch/Switch.spec.js +41 -0
- package/lib/components/atoms/TextArea/CustomTextArea.spec.js +52 -0
- package/lib/components/atoms/TextArea/TextArea.helpers.spec.js +25 -0
- package/lib/components/atoms/TextArea/TextArea.spec.js +126 -0
- package/lib/components/atoms/ThirdButton.spec.js +29 -0
- package/lib/components/atoms/VideoModal/VideoModal.spec.js +68 -0
- package/lib/components/atoms/WithAppCfg.spec.js +82 -0
- package/lib/components/index.js +2 -1
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.helpers.spec.js +53 -0
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.js +3 -2
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.spec.js +742 -0
- package/lib/components/molecules/AbmSection/AbmGeneralSection.helpers.spec.js +107 -0
- package/lib/components/molecules/AbmSection/AbmGeneralSection.spec.js +256 -0
- package/lib/components/molecules/AbmSection/AbmKnowledgeSection.helpers.js +6 -4
- package/lib/components/molecules/AbmSection/AbmKnowledgeSection.helpers.spec.js +175 -0
- package/lib/components/molecules/AbmSection/AbmKnowledgeSection.js +25 -16
- package/lib/components/molecules/AbmSection/AbmKnowledgeSection.spec.js +318 -0
- package/lib/components/molecules/AbmSection/AbmLoaderFiles.helpers.spec.js +50 -0
- package/lib/components/molecules/AbmSection/AbmLoaderFiles.spec.js +94 -0
- package/lib/components/molecules/AgentInputBlock/AgentInputBlockMessage.js +83 -0
- package/lib/components/molecules/AgentInputBlock/AgentInputBlockMessage.styles.js +30 -0
- package/lib/components/molecules/AgentInputBlock/index.js +5 -0
- package/lib/components/molecules/AgentInputBlock/resolveAgentInputBlock.js +52 -0
- package/lib/components/molecules/AgentInputBlock/resolveAgentInputBlock.spec.js +76 -0
- package/lib/components/molecules/AgentInputBlock/resolveLegacyContextSession.js +20 -0
- package/lib/components/molecules/AgentInputBlock/resolveLegacyContextSession.spec.js +34 -0
- package/lib/components/molecules/AgentInputBlock/useAgentChangeModelAction.js +36 -0
- package/lib/components/molecules/ChatAIClientSelector/ChatAIClientSelector.spec.js +66 -0
- package/lib/components/molecules/ChatAIContent/ChatAIContent.js +7 -3
- package/lib/components/molecules/ChatAIContent/ChatAIContent.spec.js +145 -0
- package/lib/components/molecules/ChatAIHistory/ChatAIHistory.spec.js +204 -0
- package/lib/components/molecules/ChatAIHome/ChatAIHome.helpers.spec.js +622 -0
- package/lib/components/molecules/ChatAIHome/ChatAIHome.js +93 -72
- package/lib/components/molecules/ChatAIHome/ChatAIHome.spec.js +264 -0
- package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.spec.js +86 -0
- package/lib/components/molecules/ChatAIHome/styles.js +85 -78
- package/lib/components/molecules/ChatAIMessages/ChatAICreateAgentActions.spec.js +104 -0
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.helpers.spec.js +742 -0
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +30 -14
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.spec.js +541 -0
- package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.spec.js +46 -0
- package/lib/components/molecules/ChatAIMessages/newStyles.js +32 -35
- package/lib/components/molecules/ChatAIModal/ChatAIModal.helpers.js +8 -1
- package/lib/components/molecules/ChatAIModal/ChatAIModal.helpers.spec.js +1394 -0
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +25 -8
- package/lib/components/molecules/ChatAIModal/ChatAIModal.spec.js +1401 -0
- package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +2 -2
- package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.helpers.spec.js +33 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.spec.js +116 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +15 -153
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.spec.js +134 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.styles.js +2 -26
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.helpers.spec.js +142 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +63 -367
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.spec.js +241 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.utils.js +69 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.utils.spec.js +144 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeaderAgentDropdown.js +95 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeaderAgentSelector.js +174 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeaderLayoutMenu.js +99 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeaderLayoutMenu.spec.js +65 -0
- package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.spec.js +37 -0
- package/lib/components/molecules/ChatAIModal/constants.spec.js +16 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.spec.js +22 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/useFloatingPanelDragTilt.spec.js +67 -0
- package/lib/components/molecules/ChatAIModal/layout.spec.js +72 -0
- package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.helpers.spec.js +93 -0
- package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.spec.js +297 -0
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.helpers.spec.js +62 -0
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.spec.js +221 -0
- package/lib/components/molecules/ChatAIProjectSelector/ChatAIProjectSelector.spec.js +66 -0
- package/lib/components/molecules/ChatFooter/ChatFooter.js +10 -4
- package/lib/components/molecules/ChatFooter/ChatFooter.spec.js +369 -0
- package/lib/components/molecules/ChatFooter/ChatFooterCorAccess.spec.js +10 -0
- package/lib/components/molecules/ChatFooter/ChatFooterFaqs.helpers.spec.js +104 -0
- package/lib/components/molecules/ChatFooter/ChatFooterFaqs.js +5 -2
- package/lib/components/molecules/ChatFooter/ChatFooterFaqs.spec.js +139 -0
- package/lib/components/molecules/ContextMentionInput/ContextMentionInput.spec.js +84 -0
- package/lib/components/molecules/MessageFeedback/MessageFeedback.spec.js +116 -0
- package/lib/components/molecules/ProjectSummaryChat/ProjectSummaryChat.spec.js +126 -0
- package/lib/components/molecules/ProjectSummaryConfig/ProjectSummaryConfig.spec.js +115 -0
- package/lib/components/molecules/ProjectSummaryContent/ProjectSummaryContent.spec.js +79 -0
- package/lib/components/molecules/ProjectSummaryModal/ProjectSummaryModal.spec.js +37 -0
- package/lib/components/molecules/Sidebar/Sidebar.helpers.spec.js +119 -0
- package/lib/components/molecules/Sidebar/Sidebar.js +41 -23
- package/lib/components/molecules/Sidebar/Sidebar.spec.js +464 -0
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.helpers.spec.js +1067 -0
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +2 -2
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.spec.js +1236 -0
- package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.spec.js +112 -0
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.helpers.spec.js +77 -0
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.spec.js +503 -0
- package/lib/components/organisms/ChatAI/ChatAI.spec.js +174 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPage.js +525 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPage.spec.js +246 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPage.styles.js +16 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.js +253 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.spec.js +139 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.styles.js +13 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHome.js +284 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHome.spec.js +275 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHome.styles.js +196 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHomeActionCardSlot.js +94 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHomeActionCardSlot.spec.js +69 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHomeActionCards.skeleton.js +38 -0
- package/lib/components/organisms/ChatAIPage/getDaypart.js +9 -0
- package/lib/components/organisms/ChatAIPage/getDaypart.spec.js +19 -0
- package/lib/components/organisms/ChatAIPage/index.js +3 -0
- package/lib/components/organisms/ClientAIButton/ClientAIButton.spec.js +53 -0
- package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.spec.js +59 -0
- package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.spec.js +79 -0
- package/lib/components/organisms/EditQuestionModal/EditQuestionModal.spec.js +86 -0
- package/lib/components/organisms/ModalFileExceeds/ModalFileExceeds.spec.js +49 -0
- package/lib/components/organisms/ProjectAIButton/ProjectAIButton.spec.js +67 -0
- package/lib/components/organisms/ProjectSummary/ProjectSummary.js +11 -7
- package/lib/components/organisms/ProjectSummary/ProjectSummary.spec.js +117 -0
- package/lib/components/organisms/SnackBar/Snackbar.spec.js +66 -0
- package/lib/components/organisms/SourcesInformation/SourceItem.spec.js +19 -0
- package/lib/components/organisms/SourcesInformation/SourcesInformationModal.js +4 -1
- package/lib/components/organisms/SourcesInformation/SourcesInformationModal.spec.js +52 -0
- package/lib/constants/formatExtensions.spec.js +14 -0
- package/lib/constants/maiaExternalConnectorsAccess.spec.js +29 -0
- package/lib/constants/maiaFeatureAccess.spec.js +30 -0
- package/lib/constants/maiaHourAgentAccess.spec.js +30 -0
- package/lib/constants/maiaTaskPanelAccess.spec.js +41 -0
- package/lib/constants/permissions/clientRoleAccess.spec.js +65 -0
- package/lib/constants/permissions/index.js +2 -2
- package/lib/constants/permissions/utils.js +4 -1
- package/lib/constants/permissions/utils.spec.js +128 -0
- package/lib/constants/plannerSyncEvents.spec.js +31 -0
- package/lib/constants/taskUrls.spec.js +9 -0
- package/lib/dev/DevMaiaPage.js +30 -0
- package/lib/dev/DevReasoningTimeline.js +68 -37
- package/lib/dev/Providers.js +5 -3
- package/lib/hooks/frequentlyUsedActionsCache.js +17 -0
- package/lib/hooks/frequentlyUsedActionsCache.spec.js +25 -0
- package/lib/hooks/useAccessClient/useAccessClient.spec.js +149 -0
- package/lib/hooks/useAgentModel/useAgentModel.spec.js +83 -0
- package/lib/hooks/useAgentModel/useCreateAgent.helpers.spec.js +268 -0
- package/lib/hooks/useAgentModel/useCreateAgent.spec.js +314 -0
- package/lib/hooks/useAgentModel/useDeleteAgent.spec.js +183 -0
- package/lib/hooks/useAgentModel/useUpdateAgent.js +7 -6
- package/lib/hooks/useAgentModel/useUpdateAgent.spec.js +374 -0
- package/lib/hooks/useAgentSuggestions.spec.js +89 -0
- package/lib/hooks/useCaretPosition.spec.js +58 -0
- package/lib/hooks/useChatManager/useChatManager.helpers.js +3 -3
- package/lib/hooks/useChatManager/useChatManager.helpers.spec.js +2027 -0
- package/lib/hooks/useChatManager/useChatManager.js +8 -7
- package/lib/hooks/useChatManager/useChatManager.spec.js +2409 -0
- package/lib/hooks/useChatMessages/useChatMessages.helpers.spec.js +491 -0
- package/lib/hooks/useChatMessages/useChatMessages.spec.js +729 -0
- package/lib/hooks/useChats/useChats.spec.js +208 -0
- package/lib/hooks/useClientSearch.helpers.spec.js +52 -0
- package/lib/hooks/useClientSearch.spec.js +86 -0
- package/lib/hooks/useContextMentions.helpers.spec.js +267 -0
- package/lib/hooks/useContextMentions.spec.js +338 -0
- package/lib/hooks/useContextPinPopover.helpers.spec.js +183 -0
- package/lib/hooks/useContextPinPopover.spec.js +159 -0
- package/lib/hooks/useContinueLegacyContextInNewChat/index.js +2 -0
- package/lib/hooks/useContinueLegacyContextInNewChat/useContinueLegacyContextInNewChat.js +93 -0
- package/lib/hooks/useDebounce.spec.js +42 -0
- package/lib/hooks/useEntitySearch.helpers.spec.js +723 -0
- package/lib/hooks/useEntitySearch.js +3 -1
- package/lib/hooks/useEntitySearch.spec.js +718 -0
- package/lib/hooks/useEvent.spec.js +45 -0
- package/lib/hooks/useFrequentlyAskedQuestions.spec.js +222 -0
- package/lib/hooks/useFrequentlyUsedActions.js +60 -22
- package/lib/hooks/useFrequentlyUsedActions.spec.js +135 -0
- package/lib/hooks/useIsMaiaPageRoute.js +26 -0
- package/lib/hooks/useIsMaiaPageRoute.spec.js +26 -0
- package/lib/hooks/useKnowledge/deleteKnowledge.spec.js +122 -0
- package/lib/hooks/useKnowledge/downloadKnowledge.js +4 -4
- package/lib/hooks/useKnowledge/downloadKnowledge.spec.js +148 -0
- package/lib/hooks/useKnowledge/saveKnowledge.spec.js +104 -0
- package/lib/hooks/useKnowledge/useKnowledgeOperations.js +16 -15
- package/lib/hooks/useKnowledge/useKnowledgeOperations.spec.js +178 -0
- package/lib/hooks/useMaiaChatSessionMeta/index.js +2 -0
- package/lib/hooks/useMaiaChatSessionMeta/useMaiaChatSessionMeta.js +24 -0
- package/lib/hooks/useMentionAllowedTypes.spec.js +89 -0
- package/lib/hooks/useMentionPopover.helpers.spec.js +100 -0
- package/lib/hooks/useMentionPopover.spec.js +392 -0
- package/lib/hooks/useMinimizedPillBottomOffset.helpers.spec.js +176 -0
- package/lib/hooks/useMinimizedPillBottomOffset.spec.js +89 -0
- package/lib/hooks/useMinimizedPillNoveltyDot/useMinimizedPillNoveltyDot.spec.js +67 -0
- package/lib/hooks/useModal/useModal.spec.js +73 -0
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.helpers.spec.js +138 -0
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.spec.js +417 -0
- package/lib/hooks/useProjectSearch.helpers.spec.js +89 -0
- package/lib/hooks/useProjectSearch.spec.js +91 -0
- package/lib/hooks/useProjectSummary.spec.js +193 -0
- package/lib/hooks/useProjectSummaryConfig.helpers.spec.js +151 -0
- package/lib/hooks/useProjectSummaryConfig.js +10 -5
- package/lib/hooks/useProjectSummaryConfig.spec.js +133 -0
- package/lib/hooks/useReasoningTrace/reasoningStore.spec.js +112 -0
- package/lib/hooks/useRecentClientsSearch.helpers.spec.js +33 -0
- package/lib/hooks/useRecentClientsSearch.spec.js +85 -0
- package/lib/hooks/useRecentContexts.spec.js +139 -0
- package/lib/hooks/useResize.spec.js +37 -0
- package/lib/hooks/useSkillsCatalog.spec.js +88 -0
- package/lib/hooks/useSlashCommands.spec.js +139 -0
- package/lib/hooks/useSmoothStreamText/useSmoothStreamText.spec.js +101 -0
- package/lib/hooks/useSnackBarManager/useSnackBarManager.spec.js +33 -0
- package/lib/hooks/useStreamResponse.spec.js +199 -0
- package/lib/hooks/useT.spec.js +20 -0
- package/lib/hooks/useToggle.spec.js +33 -0
- package/lib/hooks/useToggleFavorite/useToggleFavorite.spec.js +171 -0
- package/lib/index.js +5 -2
- package/lib/lang/br/index.js +26 -1
- package/lib/lang/en/index.js +26 -1
- package/lib/lang/es/index.js +26 -1
- package/lib/lang/fr/index.js +26 -1
- package/lib/services/appcues.spec.js +37 -0
- package/lib/services/maia/Access/updateAccess.spec.js +137 -0
- package/lib/services/maia/Actions/getFrequentlyUsedActions.js +1 -1
- package/lib/services/maia/Actions/getFrequentlyUsedActions.spec.js +56 -0
- package/lib/services/maia/Actions/getSlashCommands.spec.js +91 -0
- package/lib/services/maia/Agents/connectors.js +3 -1
- package/lib/services/maia/Agents/connectors.spec.js +496 -0
- package/lib/services/maia/Agents/createAgent.spec.js +55 -0
- package/lib/services/maia/Agents/deleteAgent.spec.js +57 -0
- package/lib/services/maia/Agents/fetchAgentDetail.spec.js +108 -0
- package/lib/services/maia/Agents/getAgentById.spec.js +190 -0
- package/lib/services/maia/Agents/getAgentModels.spec.js +190 -0
- package/lib/services/maia/Agents/getAgentSuggestions.spec.js +89 -0
- package/lib/services/maia/Agents/getAgents.helpers.spec.js +325 -0
- package/lib/services/maia/Agents/getAgents.spec.js +1135 -0
- package/lib/services/maia/Agents/setAgentToolGroups.spec.js +45 -0
- package/lib/services/maia/Agents/toggleFavorite.spec.js +59 -0
- package/lib/services/maia/Agents/updateAgent.spec.js +48 -0
- package/lib/services/maia/Chats/deleteChat.spec.js +31 -0
- package/lib/services/maia/Chats/getChatMessages.spec.js +150 -0
- package/lib/services/maia/Chats/getChatsByUserId.spec.js +149 -0
- package/lib/services/maia/Chats/markSessionAsRead.spec.js +30 -0
- package/lib/services/maia/Chats/patchChat.spec.js +41 -0
- package/lib/services/maia/Chats/wasHelpfulChat.spec.js +28 -0
- package/lib/services/maia/Faqs/getFrequentlyAskedQuestions.spec.js +58 -0
- package/lib/services/maia/Knowledge/delete.spec.js +45 -0
- package/lib/services/maia/Knowledge/download.spec.js +78 -0
- package/lib/services/maia/Knowledge/save.spec.js +58 -0
- package/lib/services/maia/Orchestrator/orchestrator.helpers.spec.js +225 -0
- package/lib/services/maia/Orchestrator/orchestrator.spec.js +181 -0
- package/lib/services/maia/RecentClients/getRecentClients.spec.js +52 -0
- package/lib/services/maia/RecentContexts/getRecentContexts.spec.js +103 -0
- package/lib/services/maia/RecentProjects/getRecentProjects.spec.js +82 -0
- package/lib/services/maia/RecentTasks/getRecentTasks.spec.js +63 -0
- package/lib/services/maia/RecentUsers/getRecentUsers.spec.js +82 -0
- package/lib/services/maia/Skills/createSkill.spec.js +68 -0
- package/lib/services/maia/Skills/deleteSkill.spec.js +42 -0
- package/lib/services/maia/Skills/generateSkill.spec.js +48 -0
- package/lib/services/maia/Skills/getSkills.spec.js +152 -0
- package/lib/services/maia/Skills/updateSkill.spec.js +62 -0
- package/lib/services/maia/client.spec.js +56 -0
- package/lib/services/utils/fetchCOR.spec.js +211 -0
- package/lib/services/utils/getCookie.spec.js +20 -0
- package/lib/services/utils/mapChatMessages.helpers.spec.js +336 -0
- package/lib/services/utils/mapChatMessages.spec.js +254 -0
- package/lib/store/chatsSidebarOptimistic.spec.js +145 -0
- package/lib/store/maiaLastChatPersistence.spec.js +22 -0
- package/lib/store/maiaPanelSessionPersistence.spec.js +62 -0
- package/lib/store/sessions/sessionNotificationSound.spec.js +145 -0
- package/lib/store/sessions/sessionNotifications.helpers.spec.js +63 -0
- package/lib/store/sessions/sessionNotifications.spec.js +106 -0
- package/lib/store/sessions/sessionStreamManager.helpers.spec.js +177 -0
- package/lib/store/sessions/sessionStreamManager.js +51 -55
- package/lib/store/sessions/sessionStreamManager.spec.js +939 -0
- package/lib/store/sessions/sessions.types.spec.js +16 -0
- package/lib/store/sessions/useSessionsStore.spec.js +135 -0
- package/lib/store/useChatsStore.js +4 -3
- package/lib/store/useChatsStore.spec.js +619 -0
- package/lib/store/useFaqsStore.spec.js +57 -0
- package/lib/styles/cascade.js +29 -3
- package/lib/styles/transitions.js +3 -1
- package/lib/types/global.d.js +1 -1
- package/lib/utils/actionCategoryMap.spec.js +18 -0
- package/lib/utils/agentDisplayName.spec.js +48 -0
- package/lib/utils/autoApproveStorage.spec.js +25 -0
- package/lib/utils/chatInputFiles.spec.js +39 -0
- package/lib/utils/contextMentionIcons.spec.js +41 -0
- package/lib/utils/contextMentionLabel.spec.js +13 -0
- package/lib/utils/contextMentionTriggers.spec.js +44 -0
- package/lib/utils/contextMentionTypeLabel.spec.js +14 -0
- package/lib/utils/corConnectorMentionTypes.spec.js +23 -0
- package/lib/utils/entityLinkRender.spec.js +72 -0
- package/lib/utils/fileDownloadHelper.spec.js +67 -0
- package/lib/utils/formatQuickActionMessage.spec.js +27 -0
- package/lib/utils/formatUnreadCount.spec.js +12 -0
- package/lib/utils/getUnitFileSize.spec.js +18 -0
- package/lib/utils/hitlAnalytics.spec.js +136 -0
- package/lib/utils/hoursPlannerQuickActionType.js +74 -1
- package/lib/utils/hoursPlannerQuickActionType.spec.js +64 -0
- package/lib/utils/imagePreprocessor.helpers.spec.js +28 -0
- package/lib/utils/imagePreprocessor.js +14 -3
- package/lib/utils/imagePreprocessor.spec.js +112 -0
- package/lib/utils/maiaPageRoute.js +24 -0
- package/lib/utils/maiaPageRoute.spec.js +23 -0
- package/lib/utils/mapBackendLang.spec.js +19 -0
- package/lib/utils/navigateContextEntity.js +2 -2
- package/lib/utils/navigateContextEntity.spec.js +50 -0
- package/lib/utils/normalizeAgentConnectors.spec.js +98 -0
- package/lib/utils/openTaskInCorPanel.js +2 -2
- package/lib/utils/openTaskInCorPanel.spec.js +43 -0
- package/lib/utils/orchestratorSubagents.spec.js +32 -0
- package/lib/utils/reasoningMappers.spec.js +103 -0
- package/lib/utils/recentContextsHomeLimit.spec.js +32 -0
- package/lib/utils/renderContextMentions.helpers.spec.js +87 -0
- package/lib/utils/renderContextMentions.spec.js +268 -0
- package/lib/utils/retryCompletion.spec.js +181 -0
- package/lib/utils/skillContentSize.spec.js +13 -0
- package/lib/utils/slashCommandMarker.spec.js +43 -0
- package/lib/utils/sortManagerHoursHomeFuas.spec.js +51 -0
- package/lib/utils/sseStreamContent.spec.js +31 -0
- package/lib/utils/streamActivityMessages.helpers.js +5 -4
- package/lib/utils/streamActivityMessages.helpers.spec.js +84 -0
- package/lib/utils/streamActivityMessages.js +32 -20
- package/lib/utils/streamActivityMessages.spec.js +336 -0
- package/lib/utils/validateTrimmedFields.spec.js +26 -0
- package/package.json +1 -1
- package/README.md +0 -2
|
@@ -4,7 +4,7 @@ import { MAIA_TASK_PANEL_CHAT_MODAL_Z_INDEX } from '../../../constants/maiaTaskP
|
|
|
4
4
|
export var SCCAIMWrapper = styled.div.withConfig({
|
|
5
5
|
displayName: "ChatAIModalstyles__SCCAIMWrapper",
|
|
6
6
|
componentId: "sc-7bgzxb-0"
|
|
7
|
-
})(["box-sizing:border-box;", " z-index:", ";height:100vh;display:flex;justify-content:flex-end;align-items:center;position:fixed;padding:16px;top:0;right:0;transition:width 0.1s ease-out-in;", " ", ""], function (_ref) {
|
|
7
|
+
})(["box-sizing:border-box;overflow:hidden;", " z-index:", ";height:100vh;display:flex;justify-content:flex-end;align-items:center;position:fixed;padding:16px;top:0;right:0;transition:width 0.1s ease-out-in;", " ", ""], function (_ref) {
|
|
8
8
|
var $minimized = _ref.$minimized;
|
|
9
9
|
return $minimized && css(["pointer-events:none;"]);
|
|
10
10
|
}, function (_ref2) {
|
|
@@ -55,4 +55,4 @@ export var SCCAIMMinimizedHide = styled.div.withConfig({
|
|
|
55
55
|
var $hidden = _ref9.$hidden;
|
|
56
56
|
return $hidden ? 'none' : 'contents';
|
|
57
57
|
});
|
|
58
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfTEFSR0UiLCJNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfWFhMIiwiTUFJQV9GTE9BVElOR19QQU5FTF9IRUlHSFRfUFgiLCJNQUlBX0ZMT0FUSU5HX1BBTkVMX1dJRFRIX1BYIiwiTUFJQV9UQVNLX1BBTkVMX0NIQVRfTU9EQUxfWl9JTkRFWCIsIlNDQ0FJTVdyYXBwZXIiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIl9yZWYiLCIkbWluaW1pemVkIiwiX3JlZjIiLCJlbGV2YXRlZCIsIl9yZWYzIiwiZXhwYW5kZWQiLCJfcmVmNCIsImxheW91dE1vZGUiLCJkcmFnUG9zaXRpb24iLCJ5IiwieCIsIlNDQ0FJTUNvbnRlbnRXcmFwcGVyIiwiX3JlZjUiLCJ3aWR0aCIsIl9yZWY2IiwiZmxvYXRpbmciLCJsYXJnZSIsInh4bCIsIlNDQ0FJTUNvbnRlbnQiLCJfcmVmNyIsIl9yZWY4IiwiU0NDQUlNTWluaW1pemVkSGlkZSIsIl9yZWY5IiwiJGhpZGRlbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNb2RhbC9DaGF0QUlNb2RhbC5zdHlsZXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQsIHsgY3NzIH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5pbXBvcnQgdHlwZSB7IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlIH0gZnJvbSAnLi9sYXlvdXQnXG5pbXBvcnQge1xuICBNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfTEFSR0UsXG4gIE1BSUFfRkxPQVRJTkdfQlJFQUtQT0lOVF9YWEwsXG4gIE1BSUFfRkxPQVRJTkdfUEFORUxfSEVJR0hUX1BYLFxuICBNQUlBX0ZMT0FUSU5HX1BBTkVMX1dJRFRIX1BYLFxufSBmcm9tICcuL2xheW91dCdcbmltcG9ydCB7IE1BSUFfVEFTS19QQU5FTF9DSEFUX01PREFMX1pfSU5ERVggfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvbWFpYVRhc2tQYW5lbFpJbmRleCdcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTVdyYXBwZXIgPSBzdHlsZWQuZGl2PHtcbiAgZXhwYW5kZWQ6IGJvb2xlYW5cbiAgbGF5b3V0TW9kZTogTWFpYUNoYXRNb2RhbExheW91dE1vZGVcbiAgZHJhZ1Bvc2l0aW9uPzogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9IHwgbnVsbFxuICBlbGV2YXRlZD86IGJvb2xlYW5cbiAgJG1pbmltaXplZD86IGJvb2xlYW5cbn0+
|
|
58
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfTEFSR0UiLCJNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfWFhMIiwiTUFJQV9GTE9BVElOR19QQU5FTF9IRUlHSFRfUFgiLCJNQUlBX0ZMT0FUSU5HX1BBTkVMX1dJRFRIX1BYIiwiTUFJQV9UQVNLX1BBTkVMX0NIQVRfTU9EQUxfWl9JTkRFWCIsIlNDQ0FJTVdyYXBwZXIiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIl9yZWYiLCIkbWluaW1pemVkIiwiX3JlZjIiLCJlbGV2YXRlZCIsIl9yZWYzIiwiZXhwYW5kZWQiLCJfcmVmNCIsImxheW91dE1vZGUiLCJkcmFnUG9zaXRpb24iLCJ5IiwieCIsIlNDQ0FJTUNvbnRlbnRXcmFwcGVyIiwiX3JlZjUiLCJ3aWR0aCIsIl9yZWY2IiwiZmxvYXRpbmciLCJsYXJnZSIsInh4bCIsIlNDQ0FJTUNvbnRlbnQiLCJfcmVmNyIsIl9yZWY4IiwiU0NDQUlNTWluaW1pemVkSGlkZSIsIl9yZWY5IiwiJGhpZGRlbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNb2RhbC9DaGF0QUlNb2RhbC5zdHlsZXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQsIHsgY3NzIH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5pbXBvcnQgdHlwZSB7IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlIH0gZnJvbSAnLi9sYXlvdXQnXG5pbXBvcnQge1xuICBNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfTEFSR0UsXG4gIE1BSUFfRkxPQVRJTkdfQlJFQUtQT0lOVF9YWEwsXG4gIE1BSUFfRkxPQVRJTkdfUEFORUxfSEVJR0hUX1BYLFxuICBNQUlBX0ZMT0FUSU5HX1BBTkVMX1dJRFRIX1BYLFxufSBmcm9tICcuL2xheW91dCdcbmltcG9ydCB7IE1BSUFfVEFTS19QQU5FTF9DSEFUX01PREFMX1pfSU5ERVggfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvbWFpYVRhc2tQYW5lbFpJbmRleCdcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTVdyYXBwZXIgPSBzdHlsZWQuZGl2PHtcbiAgZXhwYW5kZWQ6IGJvb2xlYW5cbiAgbGF5b3V0TW9kZTogTWFpYUNoYXRNb2RhbExheW91dE1vZGVcbiAgZHJhZ1Bvc2l0aW9uPzogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9IHwgbnVsbFxuICBlbGV2YXRlZD86IGJvb2xlYW5cbiAgJG1pbmltaXplZD86IGJvb2xlYW5cbn0+YFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAkeyh7ICRtaW5pbWl6ZWQgfSkgPT5cbiAgICAkbWluaW1pemVkICYmXG4gICAgY3NzYFxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYH1cbiAgLyogei1pbmRleCBhbHRvIGN1YW5kbyBzZSBhYnJlIGRlc2RlIGVsIHRhc2sgcGFuZWwgKHotaW5kZXggOTgwMDAwMCk7IGVsIGRlZmF1bHRcbiAgICAgY3VicmUgbG9zIGZsdWpvcyByZXN0YW50ZXMgZGUgTWFpYS4gKi9cbiAgei1pbmRleDogJHsoeyBlbGV2YXRlZCB9KSA9PiAoZWxldmF0ZWQgPyBNQUlBX1RBU0tfUEFORUxfQ0hBVF9NT0RBTF9aX0lOREVYIDogMTA5OSl9O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuMXMgZWFzZS1vdXQtaW47XG4gICR7KHsgZXhwYW5kZWQgfSkgPT5cbiAgICBleHBhbmRlZCAmJlxuICAgIGNzc2BcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgICBgfVxuICAkeyh7IGxheW91dE1vZGUsIGRyYWdQb3NpdGlvbiwgZXhwYW5kZWQgfSkgPT5cbiAgICBsYXlvdXRNb2RlID09PSAnZmxvYXRpbmcnICYmXG4gICAgZHJhZ1Bvc2l0aW9uICYmXG4gICAgIWV4cGFuZGVkICYmXG4gICAgY3NzYFxuICAgICAgdG9wOiAke2RyYWdQb3NpdGlvbi55fXB4O1xuICAgICAgbGVmdDogJHtkcmFnUG9zaXRpb24ueH1weDtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICBgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNQ29udGVudFdyYXBwZXIgPSBzdHlsZWQuZGl2PHtcbiAgZXhwYW5kZWQ6IGJvb2xlYW5cbiAgZmxvYXRpbmc/OiBib29sZWFuXG59PmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm94LXNoYWRvdzogMHB4IDRweCAxNnB4IHJnYmEoMTgsIDE4LCAxOCwgMC4yNCk7XG4gIGZvbnQtZmFtaWx5OiBXb3JrIFNhbnM7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuMXMgZWFzZS1vdXQtaW47XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gICR7KHsgZXhwYW5kZWQgfSkgPT4gKGV4cGFuZGVkID8geyB3aWR0aDogJzEwMCUnIH0gOiB7fSl9XG4gICR7KHsgZmxvYXRpbmcgfSkgPT5cbiAgICBmbG9hdGluZyAmJlxuICAgIGNzc2BcbiAgICAgIGhlaWdodDogJHtNQUlBX0ZMT0FUSU5HX1BBTkVMX0hFSUdIVF9QWC5kZWZhdWx0fXB4O1xuICAgICAgbWF4LWhlaWdodDogODV2aDtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAke01BSUFfRkxPQVRJTkdfQlJFQUtQT0lOVF9MQVJHRX1weCkge1xuICAgICAgICBoZWlnaHQ6ICR7TUFJQV9GTE9BVElOR19QQU5FTF9IRUlHSFRfUFgubGFyZ2V9cHg7XG4gICAgICB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHtNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfWFhMfXB4KSB7XG4gICAgICAgIGhlaWdodDogJHtNQUlBX0ZMT0FUSU5HX1BBTkVMX0hFSUdIVF9QWC54eGx9cHg7XG4gICAgICB9XG4gICAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUNvbnRlbnQgPSBzdHlsZWQuZGl2PHtcbiAgZXhwYW5kZWQ6IGJvb2xlYW5cbiAgZmxvYXRpbmc/OiBib29sZWFuXG59PmBcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQtaW47XG4gICR7KHsgZXhwYW5kZWQsIGZsb2F0aW5nIH0pID0+IHtcbiAgICBpZiAoZXhwYW5kZWQpIHtcbiAgICAgIHJldHVybiBjc3NgXG4gICAgICAgIGZsZXg6IDE7XG4gICAgICBgXG4gICAgfVxuICAgIGlmIChmbG9hdGluZykge1xuICAgICAgcmV0dXJuIGNzc2BcbiAgICAgICAgd2lkdGg6ICR7TUFJQV9GTE9BVElOR19QQU5FTF9XSURUSF9QWC5kZWZhdWx0fXB4O1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHtNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfTEFSR0V9cHgpIHtcbiAgICAgICAgICB3aWR0aDogJHtNQUlBX0ZMT0FUSU5HX1BBTkVMX1dJRFRIX1BYLmxhcmdlfXB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAke01BSUFfRkxPQVRJTkdfQlJFQUtQT0lOVF9YWEx9cHgpIHtcbiAgICAgICAgICB3aWR0aDogJHtNQUlBX0ZMT0FUSU5HX1BBTkVMX1dJRFRIX1BYLnh4bH1weDtcbiAgICAgICAgfVxuICAgICAgYFxuICAgIH1cbiAgICByZXR1cm4gY3NzYFxuICAgICAgd2lkdGg6IDQ4MHB4O1xuICAgIGBcbiAgfX1cbiAgJHsoeyBmbG9hdGluZyB9KSA9PlxuICAgIGZsb2F0aW5nICYmXG4gICAgY3NzYFxuICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogOHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogOHB4O1xuICAgIGB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1NaW5pbWl6ZWRIaWRlID0gc3R5bGVkLmRpdjx7ICRoaWRkZW46IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6ICR7KHsgJGhpZGRlbiB9KSA9PiAoJGhpZGRlbiA/ICdub25lJyA6ICdjb250ZW50cycpfTtcbmBcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBTSxJQUFJQyxHQUFHLFFBQVEsbUJBQW1CO0FBRS9DLFNBQ0VDLDhCQUE4QixFQUM5QkMsNEJBQTRCLEVBQzVCQyw2QkFBNkIsRUFDN0JDLDRCQUE0QixRQUN2QixVQUFVO0FBQ2pCLFNBQVNDLGtDQUFrQyxRQUFRLHdDQUF3QztBQUUzRixPQUFPLElBQU1DLGFBQWEsR0FBR1AsTUFBTSxDQUFDUSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxX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
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { canEditCustomAgentInSelector } from './ChatAiAgentOptions.helpers';
|
|
2
|
+
var customAgent = {
|
|
3
|
+
id: '1',
|
|
4
|
+
name: 'Custom',
|
|
5
|
+
type: 'custom'
|
|
6
|
+
};
|
|
7
|
+
var orchestrator = {
|
|
8
|
+
id: '2',
|
|
9
|
+
name: 'MAIA',
|
|
10
|
+
type: 'orchestrator'
|
|
11
|
+
};
|
|
12
|
+
describe('ChatAiAgentOptions.helpers', function () {
|
|
13
|
+
describe('canEditCustomAgentInSelector', function () {
|
|
14
|
+
it('allows editing custom agents when permissions and feature flag are enabled', function () {
|
|
15
|
+
expect(canEditCustomAgentInSelector(customAgent, {
|
|
16
|
+
edit: true
|
|
17
|
+
}, true)).toBe(true);
|
|
18
|
+
});
|
|
19
|
+
it('blocks maia agents, missing permissions and disabled multi-agent access', function () {
|
|
20
|
+
expect(canEditCustomAgentInSelector(orchestrator, {
|
|
21
|
+
edit: true
|
|
22
|
+
}, true)).toBe(false);
|
|
23
|
+
expect(canEditCustomAgentInSelector(customAgent, {
|
|
24
|
+
edit: false
|
|
25
|
+
}, true)).toBe(false);
|
|
26
|
+
expect(canEditCustomAgentInSelector(customAgent, {
|
|
27
|
+
edit: true
|
|
28
|
+
}, false)).toBe(false);
|
|
29
|
+
expect(canEditCustomAgentInSelector(customAgent, undefined, true)).toBe(false);
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjYW5FZGl0Q3VzdG9tQWdlbnRJblNlbGVjdG9yIiwiY3VzdG9tQWdlbnQiLCJpZCIsIm5hbWUiLCJ0eXBlIiwib3JjaGVzdHJhdG9yIiwiZGVzY3JpYmUiLCJpdCIsImV4cGVjdCIsImVkaXQiLCJ0b0JlIiwidW5kZWZpbmVkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSU1vZGFsL2NvbXBvbmVudHMvQ2hhdEFpQWdlbnRPcHRpb25zL0NoYXRBaUFnZW50T3B0aW9ucy5oZWxwZXJzLnNwZWMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBBZ2VudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3R5cGVzL2FnZW50J1xuaW1wb3J0IHsgY2FuRWRpdEN1c3RvbUFnZW50SW5TZWxlY3RvciB9IGZyb20gJy4vQ2hhdEFpQWdlbnRPcHRpb25zLmhlbHBlcnMnXG5cbmNvbnN0IGN1c3RvbUFnZW50OiBBZ2VudCA9IHsgaWQ6ICcxJywgbmFtZTogJ0N1c3RvbScsIHR5cGU6ICdjdXN0b20nIH1cbmNvbnN0IG9yY2hlc3RyYXRvcjogQWdlbnQgPSB7IGlkOiAnMicsIG5hbWU6ICdNQUlBJywgdHlwZTogJ29yY2hlc3RyYXRvcicgfVxuXG5kZXNjcmliZSgnQ2hhdEFpQWdlbnRPcHRpb25zLmhlbHBlcnMnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdjYW5FZGl0Q3VzdG9tQWdlbnRJblNlbGVjdG9yJywgKCkgPT4ge1xuICAgIGl0KCdhbGxvd3MgZWRpdGluZyBjdXN0b20gYWdlbnRzIHdoZW4gcGVybWlzc2lvbnMgYW5kIGZlYXR1cmUgZmxhZyBhcmUgZW5hYmxlZCcsICgpID0+IHtcbiAgICAgIGV4cGVjdChjYW5FZGl0Q3VzdG9tQWdlbnRJblNlbGVjdG9yKGN1c3RvbUFnZW50LCB7IGVkaXQ6IHRydWUgfSwgdHJ1ZSkpLnRvQmUodHJ1ZSlcbiAgICB9KVxuXG4gICAgaXQoJ2Jsb2NrcyBtYWlhIGFnZW50cywgbWlzc2luZyBwZXJtaXNzaW9ucyBhbmQgZGlzYWJsZWQgbXVsdGktYWdlbnQgYWNjZXNzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KGNhbkVkaXRDdXN0b21BZ2VudEluU2VsZWN0b3Iob3JjaGVzdHJhdG9yLCB7IGVkaXQ6IHRydWUgfSwgdHJ1ZSkpLnRvQmUoZmFsc2UpXG4gICAgICBleHBlY3QoY2FuRWRpdEN1c3RvbUFnZW50SW5TZWxlY3RvcihjdXN0b21BZ2VudCwgeyBlZGl0OiBmYWxzZSB9LCB0cnVlKSkudG9CZShmYWxzZSlcbiAgICAgIGV4cGVjdChjYW5FZGl0Q3VzdG9tQWdlbnRJblNlbGVjdG9yKGN1c3RvbUFnZW50LCB7IGVkaXQ6IHRydWUgfSwgZmFsc2UpKS50b0JlKGZhbHNlKVxuICAgICAgZXhwZWN0KGNhbkVkaXRDdXN0b21BZ2VudEluU2VsZWN0b3IoY3VzdG9tQWdlbnQsIHVuZGVmaW5lZCwgdHJ1ZSkpLnRvQmUoZmFsc2UpXG4gICAgfSlcbiAgfSlcbn0pXG4iXSwibWFwcGluZ3MiOiJBQUNBLFNBQVNBLDRCQUE0QixRQUFRLDhCQUE4QjtBQUUzRSxJQUFNQyxXQUFrQixHQUFHO0VBQUVDLEVBQUUsRUFBRSxHQUFHO0VBQUVDLElBQUksRUFBRSxRQUFRO0VBQUVDLElBQUksRUFBRTtBQUFTLENBQUM7QUFDdEUsSUFBTUMsWUFBbUIsR0FBRztFQUFFSCxFQUFFLEVBQUUsR0FBRztFQUFFQyxJQUFJLEVBQUUsTUFBTTtFQUFFQyxJQUFJLEVBQUU7QUFBZSxDQUFDO0FBRTNFRSxRQUFRLENBQUMsNEJBQTRCLEVBQUUsWUFBTTtFQUMzQ0EsUUFBUSxDQUFDLDhCQUE4QixFQUFFLFlBQU07SUFDN0NDLEVBQUUsQ0FBQyw0RUFBNEUsRUFBRSxZQUFNO01BQ3JGQyxNQUFNLENBQUNSLDRCQUE0QixDQUFDQyxXQUFXLEVBQUU7UUFBRVEsSUFBSSxFQUFFO01BQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUNDLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDcEYsQ0FBQyxDQUFDO0lBRUZILEVBQUUsQ0FBQyx5RUFBeUUsRUFBRSxZQUFNO01BQ2xGQyxNQUFNLENBQUNSLDRCQUE0QixDQUFDSyxZQUFZLEVBQUU7UUFBRUksSUFBSSxFQUFFO01BQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUNDLElBQUksQ0FBQyxLQUFLLENBQUM7TUFDcEZGLE1BQU0sQ0FBQ1IsNEJBQTRCLENBQUNDLFdBQVcsRUFBRTtRQUFFUSxJQUFJLEVBQUU7TUFBTSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLEtBQUssQ0FBQztNQUNwRkYsTUFBTSxDQUFDUiw0QkFBNEIsQ0FBQ0MsV0FBVyxFQUFFO1FBQUVRLElBQUksRUFBRTtNQUFLLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDQyxJQUFJLENBQUMsS0FBSyxDQUFDO01BQ3BGRixNQUFNLENBQUNSLDRCQUE0QixDQUFDQyxXQUFXLEVBQUVVLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ2hGLENBQUMsQ0FBQztFQUNKLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
import { fireEvent, renderWithProviders, screen } from '../../../../../test/test-utils';
|
|
5
|
+
import { ChatAIAgentOption } from './ChatAiAgentOptions';
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
var toggleFavorite = jest.fn(function (_id, onSuccess) {
|
|
8
|
+
onSuccess({
|
|
9
|
+
id: 'agent-1',
|
|
10
|
+
name: 'Custom Bot',
|
|
11
|
+
type: 'custom',
|
|
12
|
+
is_favorite: true
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
var amplitudeEvent = jest.fn();
|
|
16
|
+
jest.mock('../../../../../hooks/useEvent', function () {
|
|
17
|
+
return {
|
|
18
|
+
EVENTS: {
|
|
19
|
+
openModal: 'OPEN_MODAL',
|
|
20
|
+
aiChatFavorite: 'AI_CHAT_FAVORITE'
|
|
21
|
+
},
|
|
22
|
+
useEvent: function useEvent() {
|
|
23
|
+
return amplitudeEvent;
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
});
|
|
27
|
+
jest.mock('../../../../../hooks/useResize', function () {
|
|
28
|
+
return {
|
|
29
|
+
useResizeListener: function useResizeListener() {
|
|
30
|
+
return {
|
|
31
|
+
showTooltip: false
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
});
|
|
36
|
+
jest.mock('../../../../../hooks', function () {
|
|
37
|
+
return {
|
|
38
|
+
useToggleFavorite: function useToggleFavorite() {
|
|
39
|
+
return {
|
|
40
|
+
toggleFavorite: toggleFavorite
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
});
|
|
45
|
+
jest.mock('../../../../../context/cor-user', function () {
|
|
46
|
+
return {
|
|
47
|
+
useUser: function useUser() {
|
|
48
|
+
return {
|
|
49
|
+
permissions: {
|
|
50
|
+
ai_agents: {
|
|
51
|
+
edit: true
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
});
|
|
58
|
+
var customAgent = {
|
|
59
|
+
id: 'agent-1',
|
|
60
|
+
name: 'Custom Bot',
|
|
61
|
+
type: 'custom',
|
|
62
|
+
emoji: '🤖',
|
|
63
|
+
knowledge: []
|
|
64
|
+
};
|
|
65
|
+
var baseProps = {
|
|
66
|
+
agent: customAgent,
|
|
67
|
+
index: 0,
|
|
68
|
+
handleSelectAgent: jest.fn(),
|
|
69
|
+
isSelected: false,
|
|
70
|
+
setIsExpanded: jest.fn()
|
|
71
|
+
};
|
|
72
|
+
describe('ChatAIAgentOption', function () {
|
|
73
|
+
var originalMultiAgents = window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS;
|
|
74
|
+
beforeEach(function () {
|
|
75
|
+
window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS = true;
|
|
76
|
+
baseProps.handleSelectAgent.mockClear();
|
|
77
|
+
baseProps.setIsExpanded.mockClear();
|
|
78
|
+
toggleFavorite.mockClear();
|
|
79
|
+
amplitudeEvent.mockClear();
|
|
80
|
+
});
|
|
81
|
+
afterEach(function () {
|
|
82
|
+
window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS = originalMultiAgents;
|
|
83
|
+
});
|
|
84
|
+
it('selects the agent when the row is clicked', function () {
|
|
85
|
+
renderWithProviders(/*#__PURE__*/_jsx(ChatAIAgentOption, _objectSpread({}, baseProps)));
|
|
86
|
+
fireEvent.click(screen.getByText('Custom Bot'));
|
|
87
|
+
expect(baseProps.handleSelectAgent).toHaveBeenCalledWith(customAgent);
|
|
88
|
+
});
|
|
89
|
+
it('opens edit modal for editable custom agents', function () {
|
|
90
|
+
var onOpen = jest.fn();
|
|
91
|
+
document.addEventListener('abm-agent-modal-set-values', onOpen);
|
|
92
|
+
renderWithProviders(/*#__PURE__*/_jsx(ChatAIAgentOption, _objectSpread({}, baseProps)));
|
|
93
|
+
fireEvent.click(screen.getByTitle('agents.edit').firstElementChild);
|
|
94
|
+
expect(baseProps.setIsExpanded).toHaveBeenCalledWith(false);
|
|
95
|
+
expect(amplitudeEvent).toHaveBeenCalledWith('OPEN_MODAL', {
|
|
96
|
+
option: 'edit_agent'
|
|
97
|
+
});
|
|
98
|
+
expect(onOpen).toHaveBeenCalled();
|
|
99
|
+
document.removeEventListener('abm-agent-modal-set-values', onOpen);
|
|
100
|
+
});
|
|
101
|
+
it('toggles favorite and notifies parent', function () {
|
|
102
|
+
var onFavoriteToggle = jest.fn();
|
|
103
|
+
renderWithProviders(/*#__PURE__*/_jsx(ChatAIAgentOption, _objectSpread(_objectSpread({}, baseProps), {}, {
|
|
104
|
+
onFavoriteToggle: onFavoriteToggle
|
|
105
|
+
})));
|
|
106
|
+
fireEvent.click(screen.getByTitle('agents.addFavorite').firstElementChild);
|
|
107
|
+
expect(toggleFavorite).toHaveBeenCalled();
|
|
108
|
+
expect(onFavoriteToggle).toHaveBeenCalledWith(expect.objectContaining({
|
|
109
|
+
is_favorite: true
|
|
110
|
+
}));
|
|
111
|
+
expect(amplitudeEvent).toHaveBeenCalledWith('AI_CHAT_FAVORITE', {
|
|
112
|
+
option: 'add'
|
|
113
|
+
});
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmaXJlRXZlbnQiLCJyZW5kZXJXaXRoUHJvdmlkZXJzIiwic2NyZWVuIiwiQ2hhdEFJQWdlbnRPcHRpb24iLCJqc3giLCJfanN4IiwidG9nZ2xlRmF2b3JpdGUiLCJqZXN0IiwiZm4iLCJfaWQiLCJvblN1Y2Nlc3MiLCJpZCIsIm5hbWUiLCJ0eXBlIiwiaXNfZmF2b3JpdGUiLCJhbXBsaXR1ZGVFdmVudCIsIm1vY2siLCJFVkVOVFMiLCJvcGVuTW9kYWwiLCJhaUNoYXRGYXZvcml0ZSIsInVzZUV2ZW50IiwidXNlUmVzaXplTGlzdGVuZXIiLCJzaG93VG9vbHRpcCIsInVzZVRvZ2dsZUZhdm9yaXRlIiwidXNlVXNlciIsInBlcm1pc3Npb25zIiwiYWlfYWdlbnRzIiwiZWRpdCIsImN1c3RvbUFnZW50IiwiZW1vamkiLCJrbm93bGVkZ2UiLCJiYXNlUHJvcHMiLCJhZ2VudCIsImluZGV4IiwiaGFuZGxlU2VsZWN0QWdlbnQiLCJpc1NlbGVjdGVkIiwic2V0SXNFeHBhbmRlZCIsImRlc2NyaWJlIiwib3JpZ2luYWxNdWx0aUFnZW50cyIsIndpbmRvdyIsIk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMiLCJiZWZvcmVFYWNoIiwibW9ja0NsZWFyIiwiYWZ0ZXJFYWNoIiwiaXQiLCJfb2JqZWN0U3ByZWFkIiwiY2xpY2siLCJnZXRCeVRleHQiLCJleHBlY3QiLCJ0b0hhdmVCZWVuQ2FsbGVkV2l0aCIsIm9uT3BlbiIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsImdldEJ5VGl0bGUiLCJmaXJzdEVsZW1lbnRDaGlsZCIsIm9wdGlvbiIsInRvSGF2ZUJlZW5DYWxsZWQiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwib25GYXZvcml0ZVRvZ2dsZSIsIm9iamVjdENvbnRhaW5pbmciXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEFJTW9kYWwvY29tcG9uZW50cy9DaGF0QWlBZ2VudE9wdGlvbnMvQ2hhdEFpQWdlbnRPcHRpb25zLnNwZWMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZpcmVFdmVudCwgcmVuZGVyV2l0aFByb3ZpZGVycywgc2NyZWVuIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdGVzdC90ZXN0LXV0aWxzJ1xuaW1wb3J0IHR5cGUgeyBBZ2VudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3R5cGVzL2FnZW50J1xuaW1wb3J0IHsgQ2hhdEFJQWdlbnRPcHRpb24gfSBmcm9tICcuL0NoYXRBaUFnZW50T3B0aW9ucydcblxuY29uc3QgdG9nZ2xlRmF2b3JpdGUgPSBqZXN0LmZuKChfaWQ6IHN0cmluZywgb25TdWNjZXNzOiAoYWdlbnQ6IEFnZW50KSA9PiB2b2lkKSA9PiB7XG4gIG9uU3VjY2Vzcyh7IGlkOiAnYWdlbnQtMScsIG5hbWU6ICdDdXN0b20gQm90JywgdHlwZTogJ2N1c3RvbScsIGlzX2Zhdm9yaXRlOiB0cnVlIH0pXG59KVxuY29uc3QgYW1wbGl0dWRlRXZlbnQgPSBqZXN0LmZuKClcblxuamVzdC5tb2NrKCcuLi8uLi8uLi8uLi8uLi9ob29rcy91c2VFdmVudCcsICgpID0+ICh7XG4gIEVWRU5UUzoge1xuICAgIG9wZW5Nb2RhbDogJ09QRU5fTU9EQUwnLFxuICAgIGFpQ2hhdEZhdm9yaXRlOiAnQUlfQ0hBVF9GQVZPUklURScsXG4gIH0sXG4gIHVzZUV2ZW50OiAoKSA9PiBhbXBsaXR1ZGVFdmVudCxcbn0pKVxuXG5qZXN0Lm1vY2soJy4uLy4uLy4uLy4uLy4uL2hvb2tzL3VzZVJlc2l6ZScsICgpID0+ICh7XG4gIHVzZVJlc2l6ZUxpc3RlbmVyOiAoKSA9PiAoeyBzaG93VG9vbHRpcDogZmFsc2UgfSksXG59KSlcblxuamVzdC5tb2NrKCcuLi8uLi8uLi8uLi8uLi9ob29rcycsICgpID0+ICh7XG4gIHVzZVRvZ2dsZUZhdm9yaXRlOiAoKSA9PiAoeyB0b2dnbGVGYXZvcml0ZSB9KSxcbn0pKVxuXG5qZXN0Lm1vY2soJy4uLy4uLy4uLy4uLy4uL2NvbnRleHQvY29yLXVzZXInLCAoKSA9PiAoe1xuICB1c2VVc2VyOiAoKSA9PiAoe1xuICAgIHBlcm1pc3Npb25zOiB7IGFpX2FnZW50czogeyBlZGl0OiB0cnVlIH0gfSxcbiAgfSksXG59KSlcblxuY29uc3QgY3VzdG9tQWdlbnQ6IEFnZW50ID0ge1xuICBpZDogJ2FnZW50LTEnLFxuICBuYW1lOiAnQ3VzdG9tIEJvdCcsXG4gIHR5cGU6ICdjdXN0b20nLFxuICBlbW9qaTogJ/CfpJYnLFxuICBrbm93bGVkZ2U6IFtdLFxufVxuXG5jb25zdCBiYXNlUHJvcHMgPSB7XG4gIGFnZW50OiBjdXN0b21BZ2VudCxcbiAgaW5kZXg6IDAsXG4gIGhhbmRsZVNlbGVjdEFnZW50OiBqZXN0LmZuKCksXG4gIGlzU2VsZWN0ZWQ6IGZhbHNlLFxuICBzZXRJc0V4cGFuZGVkOiBqZXN0LmZuKCksXG59XG5cbmRlc2NyaWJlKCdDaGF0QUlBZ2VudE9wdGlvbicsICgpID0+IHtcbiAgY29uc3Qgb3JpZ2luYWxNdWx0aUFnZW50cyA9IHdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTXG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMgPSB0cnVlXG4gICAgYmFzZVByb3BzLmhhbmRsZVNlbGVjdEFnZW50Lm1vY2tDbGVhcigpXG4gICAgYmFzZVByb3BzLnNldElzRXhwYW5kZWQubW9ja0NsZWFyKClcbiAgICB0b2dnbGVGYXZvcml0ZS5tb2NrQ2xlYXIoKVxuICAgIGFtcGxpdHVkZUV2ZW50Lm1vY2tDbGVhcigpXG4gIH0pXG5cbiAgYWZ0ZXJFYWNoKCgpID0+IHtcbiAgICB3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyA9IG9yaWdpbmFsTXVsdGlBZ2VudHNcbiAgfSlcblxuICBpdCgnc2VsZWN0cyB0aGUgYWdlbnQgd2hlbiB0aGUgcm93IGlzIGNsaWNrZWQnLCAoKSA9PiB7XG4gICAgcmVuZGVyV2l0aFByb3ZpZGVycyg8Q2hhdEFJQWdlbnRPcHRpb24gey4uLmJhc2VQcm9wc30gLz4pXG5cbiAgICBmaXJlRXZlbnQuY2xpY2soc2NyZWVuLmdldEJ5VGV4dCgnQ3VzdG9tIEJvdCcpKVxuXG4gICAgZXhwZWN0KGJhc2VQcm9wcy5oYW5kbGVTZWxlY3RBZ2VudCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoY3VzdG9tQWdlbnQpXG4gIH0pXG5cbiAgaXQoJ29wZW5zIGVkaXQgbW9kYWwgZm9yIGVkaXRhYmxlIGN1c3RvbSBhZ2VudHMnLCAoKSA9PiB7XG4gICAgY29uc3Qgb25PcGVuID0gamVzdC5mbigpXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignYWJtLWFnZW50LW1vZGFsLXNldC12YWx1ZXMnLCBvbk9wZW4pXG5cbiAgICByZW5kZXJXaXRoUHJvdmlkZXJzKDxDaGF0QUlBZ2VudE9wdGlvbiB7Li4uYmFzZVByb3BzfSAvPilcblxuICAgIGZpcmVFdmVudC5jbGljayhzY3JlZW4uZ2V0QnlUaXRsZSgnYWdlbnRzLmVkaXQnKS5maXJzdEVsZW1lbnRDaGlsZCBhcyBFbGVtZW50KVxuXG4gICAgZXhwZWN0KGJhc2VQcm9wcy5zZXRJc0V4cGFuZGVkKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChmYWxzZSlcbiAgICBleHBlY3QoYW1wbGl0dWRlRXZlbnQpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKCdPUEVOX01PREFMJywgeyBvcHRpb246ICdlZGl0X2FnZW50JyB9KVxuICAgIGV4cGVjdChvbk9wZW4pLnRvSGF2ZUJlZW5DYWxsZWQoKVxuXG4gICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignYWJtLWFnZW50LW1vZGFsLXNldC12YWx1ZXMnLCBvbk9wZW4pXG4gIH0pXG5cbiAgaXQoJ3RvZ2dsZXMgZmF2b3JpdGUgYW5kIG5vdGlmaWVzIHBhcmVudCcsICgpID0+IHtcbiAgICBjb25zdCBvbkZhdm9yaXRlVG9nZ2xlID0gamVzdC5mbigpXG5cbiAgICByZW5kZXJXaXRoUHJvdmlkZXJzKDxDaGF0QUlBZ2VudE9wdGlvbiB7Li4uYmFzZVByb3BzfSBvbkZhdm9yaXRlVG9nZ2xlPXtvbkZhdm9yaXRlVG9nZ2xlfSAvPilcblxuICAgIGZpcmVFdmVudC5jbGljayhzY3JlZW4uZ2V0QnlUaXRsZSgnYWdlbnRzLmFkZEZhdm9yaXRlJykuZmlyc3RFbGVtZW50Q2hpbGQgYXMgRWxlbWVudClcblxuICAgIGV4cGVjdCh0b2dnbGVGYXZvcml0ZSkudG9IYXZlQmVlbkNhbGxlZCgpXG4gICAgZXhwZWN0KG9uRmF2b3JpdGVUb2dnbGUpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGV4cGVjdC5vYmplY3RDb250YWluaW5nKHsgaXNfZmF2b3JpdGU6IHRydWUgfSkpXG4gICAgZXhwZWN0KGFtcGxpdHVkZUV2ZW50KS50b0hhdmVCZWVuQ2FsbGVkV2l0aCgnQUlfQ0hBVF9GQVZPUklURScsIHsgb3B0aW9uOiAnYWRkJyB9KVxuICB9KVxufSlcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsU0FBU0EsU0FBUyxFQUFFQyxtQkFBbUIsRUFBRUMsTUFBTSxRQUFRLGdDQUFnQztBQUV2RixTQUFTQyxpQkFBaUIsUUFBUSxzQkFBc0I7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUE7QUFFeEQsSUFBTUMsY0FBYyxHQUFHQyxJQUFJLENBQUNDLEVBQUUsQ0FBQyxVQUFDQyxHQUFXLEVBQUVDLFNBQWlDLEVBQUs7RUFDakZBLFNBQVMsQ0FBQztJQUFFQyxFQUFFLEVBQUUsU0FBUztJQUFFQyxJQUFJLEVBQUUsWUFBWTtJQUFFQyxJQUFJLEVBQUUsUUFBUTtJQUFFQyxXQUFXLEVBQUU7RUFBSyxDQUFDLENBQUM7QUFDckYsQ0FBQyxDQUFDO0FBQ0YsSUFBTUMsY0FBYyxHQUFHUixJQUFJLENBQUNDLEVBQUUsQ0FBQyxDQUFDO0FBRWhDRCxJQUFJLENBQUNTLElBQUksQ0FBQywrQkFBK0IsRUFBRTtFQUFBLE9BQU87SUFDaERDLE1BQU0sRUFBRTtNQUNOQyxTQUFTLEVB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
|
package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js
CHANGED
|
@@ -1,17 +1,9 @@
|
|
|
1
|
-
import { InformationCircle } from '@projectcor/icons/lib/components/InformationCircle';
|
|
2
|
-
import colors from '@projectcor/theme/lib/base/colors';
|
|
3
|
-
import moment from 'moment';
|
|
4
|
-
import { useTranslation } from 'react-i18next';
|
|
5
1
|
import { ChatFooter } from '../../../ChatFooter/ChatFooter';
|
|
6
|
-
import { SECTIONS } from '../../../../../constants/config';
|
|
7
|
-
import { useUser } from '../../../../../context/cor-user';
|
|
8
|
-
import { validateIsMaia } from '../../../../../services/utils/validateIsMaia';
|
|
9
|
-
import { EVENTS, useEvent } from '../../../../../hooks/useEvent';
|
|
10
2
|
import { useChatsStore } from '../../../../../store/useChatsStore';
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
3
|
+
import { AgentInputBlockMessage, resolveAgentInputBlock, useAgentChangeModelAction } from '../../../AgentInputBlock';
|
|
4
|
+
import { SCCAIMFWrapper } from './ChatAiModalFooter.styles';
|
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
6
|
export var ChatAiModalFooter = function ChatAiModalFooter(_ref) {
|
|
14
|
-
var _user$permissions;
|
|
15
7
|
var agent = _ref.agent,
|
|
16
8
|
handleSendMessage = _ref.handleSendMessage,
|
|
17
9
|
handleStopGeneration = _ref.handleStopGeneration,
|
|
@@ -23,150 +15,20 @@ export var ChatAiModalFooter = function ChatAiModalFooter(_ref) {
|
|
|
23
15
|
legacyContextSession = _ref.legacyContextSession,
|
|
24
16
|
onContinueInNewChat = _ref.onContinueInNewChat,
|
|
25
17
|
layoutMode = _ref.layoutMode;
|
|
26
|
-
var _useTranslation = useTranslation([SECTIONS.abmAgent]),
|
|
27
|
-
t = _useTranslation.t;
|
|
28
|
-
var user = useUser();
|
|
29
|
-
var eventAmplitude = useEvent();
|
|
30
18
|
var markChatAsRead = useChatsStore(function (state) {
|
|
31
19
|
return state.markChatAsRead;
|
|
32
20
|
});
|
|
33
|
-
var
|
|
34
|
-
var
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
isEditing: true,
|
|
45
|
-
knowledge: agent.knowledge || [],
|
|
46
|
-
general: {
|
|
47
|
-
name: agent.name,
|
|
48
|
-
id: agent.id
|
|
49
|
-
}
|
|
50
|
-
},
|
|
51
|
-
isOpen: true
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}));
|
|
55
|
-
};
|
|
56
|
-
if (legacyContextSession) {
|
|
57
|
-
return /*#__PURE__*/_jsx(SCCAIMFWrapper, {
|
|
58
|
-
children: /*#__PURE__*/_jsxs(SCCAIMFWrapperInfoDeletedAgent, {
|
|
59
|
-
children: [/*#__PURE__*/_jsx(SCCAIMFWrapperInfoIcon, {
|
|
60
|
-
children: /*#__PURE__*/_jsx(InformationCircle, {
|
|
61
|
-
width: 20,
|
|
62
|
-
height: 20,
|
|
63
|
-
color: infoIconColor
|
|
64
|
-
})
|
|
65
|
-
}), /*#__PURE__*/_jsxs(SCCAIMFMessageWithAction, {
|
|
66
|
-
children: [/*#__PURE__*/_jsx(SCCAIMFWrapperInfoDeletedAgentText, {
|
|
67
|
-
children: t('legendLegacyContextSession', {
|
|
68
|
-
name: legacyContextSession.contextName
|
|
69
|
-
})
|
|
70
|
-
}), /*#__PURE__*/_jsx(SCCAIMFChangeModelButton, {
|
|
71
|
-
type: "button",
|
|
72
|
-
onClick: onContinueInNewChat,
|
|
73
|
-
children: t('continueInNewChat')
|
|
74
|
-
})]
|
|
75
|
-
})]
|
|
76
|
-
})
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
if (agent !== null && agent !== void 0 && agent.is_deleted) {
|
|
80
|
-
return /*#__PURE__*/_jsx(SCCAIMFWrapper, {
|
|
81
|
-
children: /*#__PURE__*/_jsxs(SCCAIMFWrapperInfoDeletedAgent, {
|
|
82
|
-
children: [/*#__PURE__*/_jsx(SCCAIMFWrapperInfoIcon, {
|
|
83
|
-
children: /*#__PURE__*/_jsx(InformationCircle, {
|
|
84
|
-
width: 20,
|
|
85
|
-
height: 20,
|
|
86
|
-
color: infoIconColor
|
|
87
|
-
})
|
|
88
|
-
}), /*#__PURE__*/_jsxs(SCCAIMFWrapperInfoDeletedAgentText, {
|
|
89
|
-
children: [t('legendDeletedAgent'), " ", moment(agent === null || agent === void 0 ? void 0 : agent.deleted_at).format('DD [de] MMMM, YYYY')]
|
|
90
|
-
})]
|
|
91
|
-
})
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
if (agent !== null && agent !== void 0 && agent.project_deleted) {
|
|
95
|
-
return /*#__PURE__*/_jsx(SCCAIMFWrapper, {
|
|
96
|
-
children: /*#__PURE__*/_jsxs(SCCAIMFWrapperInfoDeletedAgent, {
|
|
97
|
-
children: [/*#__PURE__*/_jsx(SCCAIMFWrapperInfoIcon, {
|
|
98
|
-
children: /*#__PURE__*/_jsx(InformationCircle, {
|
|
99
|
-
width: 20,
|
|
100
|
-
height: 20,
|
|
101
|
-
color: infoIconColor
|
|
102
|
-
})
|
|
103
|
-
}), /*#__PURE__*/_jsx(SCCAIMFWrapperInfoDeletedAgentText, {
|
|
104
|
-
children: t('legendProjectDeleted', {
|
|
105
|
-
name: agent.project_deleted.name
|
|
106
|
-
})
|
|
107
|
-
})]
|
|
108
|
-
})
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
if (agent !== null && agent !== void 0 && agent.has_not_access) {
|
|
112
|
-
return /*#__PURE__*/_jsx(SCCAIMFWrapper, {
|
|
113
|
-
children: /*#__PURE__*/_jsxs(SCCAIMFWrapperInfoDeletedAgent, {
|
|
114
|
-
children: [/*#__PURE__*/_jsx(SCCAIMFWrapperInfoIcon, {
|
|
115
|
-
children: /*#__PURE__*/_jsx(InformationCircle, {
|
|
116
|
-
width: 20,
|
|
117
|
-
height: 20,
|
|
118
|
-
color: infoIconColor
|
|
119
|
-
})
|
|
120
|
-
}), /*#__PURE__*/_jsx(SCCAIMFWrapperInfoDeletedAgentText, {
|
|
121
|
-
children: t('legendNoAccess', {
|
|
122
|
-
name: agent === null || agent === void 0 ? void 0 : agent.name
|
|
123
|
-
})
|
|
124
|
-
})]
|
|
125
|
-
})
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
if (agent !== null && agent !== void 0 && agent.has_not_permissions || !agent) {
|
|
129
|
-
return /*#__PURE__*/_jsx(SCCAIMFWrapper, {
|
|
130
|
-
children: /*#__PURE__*/_jsxs(SCCAIMFWrapperInfoDeletedAgent, {
|
|
131
|
-
children: [/*#__PURE__*/_jsx(SCCAIMFWrapperInfoIcon, {
|
|
132
|
-
children: /*#__PURE__*/_jsx(InformationCircle, {
|
|
133
|
-
width: 20,
|
|
134
|
-
height: 20,
|
|
135
|
-
color: infoIconColor
|
|
136
|
-
})
|
|
137
|
-
}), /*#__PURE__*/_jsx(SCCAIMFWrapperInfoDeletedAgentText, {
|
|
138
|
-
children: t('legendNoPermissions', {
|
|
139
|
-
name: agent === null || agent === void 0 ? void 0 : agent.name
|
|
140
|
-
})
|
|
141
|
-
})]
|
|
142
|
-
})
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
var customAgentWarningKey = null;
|
|
146
|
-
if ((agent === null || agent === void 0 ? void 0 : agent.type) === 'custom' && agent !== null && agent !== void 0 && agent.model_deprecated) {
|
|
147
|
-
customAgentWarningKey = 'legendModelDeprecated';
|
|
148
|
-
} else if ((agent === null || agent === void 0 ? void 0 : agent.type) === 'custom' && ((agent === null || agent === void 0 ? void 0 : agent.provider_status) === 'partial_outage' || (agent === null || agent === void 0 ? void 0 : agent.provider_status) === 'major_outage' || (agent === null || agent === void 0 ? void 0 : agent.provider_status) === 'under_maintenance')) {
|
|
149
|
-
customAgentWarningKey = 'legendProviderStatus';
|
|
150
|
-
}
|
|
151
|
-
if (customAgentWarningKey) {
|
|
152
|
-
return /*#__PURE__*/_jsx(SCCAIMFWrapper, {
|
|
153
|
-
children: /*#__PURE__*/_jsxs(SCCAIMFWrapperInfoDeletedAgent, {
|
|
154
|
-
children: [/*#__PURE__*/_jsx(SCCAIMFWrapperInfoIcon, {
|
|
155
|
-
children: /*#__PURE__*/_jsx(InformationCircle, {
|
|
156
|
-
width: 20,
|
|
157
|
-
height: 20,
|
|
158
|
-
color: infoIconColor
|
|
159
|
-
})
|
|
160
|
-
}), /*#__PURE__*/_jsxs(SCCAIMFMessageWithAction, {
|
|
161
|
-
children: [/*#__PURE__*/_jsx(SCCAIMFWrapperInfoDeletedAgentText, {
|
|
162
|
-
children: t(customAgentWarningKey)
|
|
163
|
-
}), canEditCustomAgent && /*#__PURE__*/_jsx(SCCAIMFChangeModelButton, {
|
|
164
|
-
type: "button",
|
|
165
|
-
onClick: handleOpenChangeModelModal,
|
|
166
|
-
children: t('changeModel')
|
|
167
|
-
})]
|
|
168
|
-
})]
|
|
169
|
-
})
|
|
21
|
+
var inputBlock = resolveAgentInputBlock(agent, legacyContextSession);
|
|
22
|
+
var _useAgentChangeModelA = useAgentChangeModelAction(agent),
|
|
23
|
+
canEditCustomAgent = _useAgentChangeModelA.canEditCustomAgent,
|
|
24
|
+
openChangeModelModal = _useAgentChangeModelA.openChangeModelModal;
|
|
25
|
+
if (inputBlock) {
|
|
26
|
+
return /*#__PURE__*/_jsx(AgentInputBlockMessage, {
|
|
27
|
+
block: inputBlock,
|
|
28
|
+
variant: "footer",
|
|
29
|
+
onContinueInNewChat: onContinueInNewChat,
|
|
30
|
+
onChangeModel: openChangeModelModal,
|
|
31
|
+
showChangeModelButton: inputBlock.kind === 'custom_warning' ? canEditCustomAgent : false
|
|
170
32
|
});
|
|
171
33
|
}
|
|
172
34
|
return /*#__PURE__*/_jsx(SCCAIMFWrapper, {
|
|
@@ -186,4 +48,4 @@ export var ChatAiModalFooter = function ChatAiModalFooter(_ref) {
|
|
|
186
48
|
})
|
|
187
49
|
});
|
|
188
50
|
};
|
|
189
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJJbmZvcm1hdGlvbkNpcmNsZSIsImNvbG9ycyIsIm1vbWVudCIsInVzZVRyYW5zbGF0aW9uIiwiQ2hhdEZvb3RlciIsIlNFQ1RJT05TIiwidXNlVXNlciIsInZhbGlkYXRlSXNNYWlhIiwiRVZFTlRTIiwidXNlRXZlbnQiLCJ1c2VDaGF0c1N0b3JlIiwiU0NDQUlNRldyYXBwZXIiLCJTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnQiLCJTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0IiwiU0NDQUlNRldyYXBwZXJJbmZvSWNvbiIsIlNDQ0FJTUZNZXNzYWdlV2l0aEFjdGlvbiIsIlNDQ0FJTUZDaGFuZ2VNb2RlbEJ1dHRvbiIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJDaGF0QWlNb2RhbEZvb3RlciIsIl9yZWYiLCJfdXNlciRwZXJtaXNzaW9ucyIsImFnZW50IiwiaGFuZGxlU2VuZE1lc3NhZ2UiLCJoYW5kbGVTdG9wR2VuZXJhdGlvbiIsImlzU3RyZWFtaW5nIiwiaXNXcml0aW5nIiwiY2hhdElkIiwibmV3Q2hhdEtleSIsInRvb2x0aXBaSW5kZXgiLCJsZWdhY3lDb250ZXh0U2Vzc2lvbiIsIm9uQ29udGludWVJbk5ld0NoYXQiLCJsYXlvdXRNb2RlIiwiX3VzZVRyYW5zbGF0aW9uIiwiYWJtQWdlbnQiLCJ0IiwidXNlciIsImV2ZW50QW1wbGl0dWRlIiwibWFya0NoYXRBc1JlYWQiLCJzdGF0ZSIsImluZm9JY29uQ29sb3IiLCJ0ZXh0Iiwic2Vjb25kYXJ5IiwiY2FuRWRpdEN1c3RvbUFnZW50IiwicGVybWlzc2lvbnMiLCJhaV9hZ2VudHMiLCJlZGl0IiwidHlwZSIsIndpbmRvdyIsIk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMiLCJoYW5kbGVPcGVuQ2hhbmdlTW9kZWxNb2RhbCIsIm9wZW5Nb2RhbCIsIm9wdGlvbiIsImRvY3VtZW50IiwiZGlzcGF0Y2hFdmVudCIsIkN1c3RvbUV2ZW50IiwiZGV0YWlsIiwiYWdlbnRWYWx1ZXMiLCJ2YWx1ZXMiLCJpc0VkaXRpbmciLCJrbm93bGVkZ2UiLCJnZW5lcmFsIiwibmFtZSIsImlkIiwiaXNPcGVuIiwiY2hpbGRyZW4iLCJ3aWR0aCIsImhlaWdodCIsImNvbG9yIiwiY29udGV4dE5hbWUiLCJvbkNsaWNrIiwiaXNfZGVsZXRlZCIsImRlbGV0ZWRfYXQiLCJmb3JtYXQiLCJwcm9qZWN0X2RlbGV0ZWQiLCJoYXNfbm90X2FjY2VzcyIsImhhc19ub3RfcGVybWlzc2lvbnMiLCJjdXN0b21BZ2VudFdhcm5pbmdLZXkiLCJtb2RlbF9kZXByZWNhdGVkIiwicHJvdmlkZXJfc3RhdHVzIiwib25TZW5kTWVzc2FnZSIsImRpc2FibGVkIiwib25TdG9wR2VuZXJhdGlvbiIsIm9uSW5wdXRGb2N1cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNb2RhbC9jb21wb25lbnRzL0NoYXRBaU1vZGFsRm9vdGVyL0NoYXRBaU1vZGFsRm9vdGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmZvcm1hdGlvbkNpcmNsZSB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0luZm9ybWF0aW9uQ2lyY2xlJ1xuaW1wb3J0IGNvbG9ycyBmcm9tICdAcHJvamVjdGNvci90aGVtZS9saWIvYmFzZS9jb2xvcnMnXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCB7IENoYXRGb290ZXIgfSBmcm9tICcuLi8uLi8uLi9DaGF0Rm9vdGVyL0NoYXRGb290ZXInXG5pbXBvcnQgeyBTRUNUSU9OUyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyB1c2VVc2VyIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29udGV4dC9jb3ItdXNlcidcbmltcG9ydCB7IEFnZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgeyB2YWxpZGF0ZUlzTWFpYSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzL3ZhbGlkYXRlSXNNYWlhJ1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuaW1wb3J0IHsgdXNlQ2hhdHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3N0b3JlL3VzZUNoYXRzU3RvcmUnXG5pbXBvcnQge1xuICBTQ0NBSU1GV3JhcHBlcixcbiAgU0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50LFxuICBTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0LFxuICBTQ0NBSU1GV3JhcHBlckluZm9JY29uLFxuICBTQ0NBSU1GTWVzc2FnZVdpdGhBY3Rpb24sXG4gIFNDQ0FJTUZDaGFuZ2VNb2RlbEJ1dHRvbixcbn0gZnJvbSAnLi9DaGF0QWlNb2RhbEZvb3Rlci5zdHlsZXMnXG5pbXBvcnQgdHlwZSB7IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlIH0gZnJvbSAnLi4vLi4vbGF5b3V0J1xuXG5leHBvcnQgY29uc3QgQ2hhdEFpTW9kYWxGb290ZXIgPSAoe1xuICBhZ2VudCxcbiAgaGFuZGxlU2VuZE1lc3NhZ2UsXG4gIGhhbmRsZVN0b3BHZW5lcmF0aW9uLFxuICBpc1N0cmVhbWluZyxcbiAgaXNXcml0aW5nLFxuICBjaGF0SWQsXG4gIG5ld0NoYXRLZXksXG4gIHRvb2x0aXBaSW5kZXgsXG4gIGxlZ2FjeUNvbnRleHRTZXNzaW9uLFxuICBvbkNvbnRpbnVlSW5OZXdDaGF0LFxuICBsYXlvdXRNb2RlLFxufToge1xuICBhZ2VudD86IEFnZW50IHwgbnVsbFxuICBoYW5kbGVTZW5kTWVzc2FnZTogUGFyYW1ldGVyczx0eXBlb2YgQ2hhdEZvb3Rlcj5bMF1bJ29uU2VuZE1lc3NhZ2UnXVxuICBoYW5kbGVTdG9wR2VuZXJhdGlvbj86ICgoKSA9PiB2b2lkKSB8IG51bGxcbiAgaXNTdHJlYW1pbmc/OiBib29sZWFuXG4gIGlzV3JpdGluZz86IGJvb2xlYW5cbiAgY2hhdElkPzogc3RyaW5nIHwgbnVsbFxuICBuZXdDaGF0S2V5PzogbnVtYmVyXG4gIHRvb2x0aXBaSW5kZXg/OiBudW1iZXJcbiAgLyoqIFNpIGxhIHNlc3Npb24gYWJpZXJ0YSBlcyBkZSB1biBjbG9uZSBsZWdhY3kgKGVudGl0eSBwcm9qZWN0L3Rhc2svY2xpZW50KSwgc2UgbXVlc3RyYSB1biBjYXJ0ZWxcbiAgICogIHBhcmEgY29udGludWFyIGVsIGNvbnRleHRvIGVuIHVuIGNoYXQgbnVldm8gKGNvbiBlbCBvcmNoZXN0cmF0b3IpIGVuIHZleiBkZWwgaW5wdXQuICovXG4gIGxlZ2FjeUNvbnRleHRTZXNzaW9uPzogeyBlbnRpdHlUeXBlOiAncHJvamVjdCcgfCAndGFzaycgfCAnY2xpZW50JzsgY29udGV4dE5hbWU6IHN0cmluZyB9IHwgbnVsbFxuICBvbkNvbnRpbnVlSW5OZXdDaGF0PzogKCkgPT4gdm9pZFxuICBsYXlvdXRNb2RlPzogTWFpYUNoYXRNb2RhbExheW91dE1vZGVcbn0pID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbU0VDVElPTlMuYWJtQWdlbnRdKVxuICBjb25zdCB1c2VyID0gdXNlVXNlcigpXG4gIGNvbnN0IGV2ZW50QW1wbGl0dWRlID0gdXNlRXZlbnQoKVxuICBjb25zdCBtYXJrQ2hhdEFzUmVhZCA9IHVzZUNoYXRzU3RvcmUoc3RhdGUgPT4gc3RhdGUubWFya0NoYXRBc1JlYWQpXG4gIGNvbnN0IGluZm9JY29uQ29sb3IgPSBjb2xvcnMudGV4dC5zZWNvbmRhcnlcblxuICBjb25zdCBjYW5FZGl0Q3VzdG9tQWdlbnQgPVxuICAgICEhYWdlbnQgJiZcbiAgICAhIXVzZXI/LnBlcm1pc3Npb25zPy5haV9hZ2VudHM/LmVkaXQgJiZcbiAgICAhdmFsaWRhdGVJc01haWEoYWdlbnQgYXMgQWdlbnQpICYmXG4gICAgYWdlbnQudHlwZSA9PT0gJ2N1c3RvbScgJiZcbiAgICB3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UU1xuXG4gIGNvbnN0IGhhbmRsZU9wZW5DaGFuZ2VNb2RlbE1vZGFsID0gKCkgPT4ge1xuICAgIGlmICghYWdlbnQgfHwgIWNhbkVkaXRDdXN0b21BZ2VudCkgcmV0dXJuXG5cbiAgICBldmVudEFtcGxpdHVkZShFVkVOVFMub3Blbk1vZGFsLCB7IG9wdGlvbjogJ2VkaXRfYWdlbnQnIH0pXG4gICAgZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChcbiAgICAgIG5ldyBDdXN0b21FdmVudCgnYWJtLWFnZW50LW1vZGFsLXNldC12YWx1ZXMnLCB7XG4gICAgICAgIGRldGFpbDoge1xuICAgICAgICAgIGFnZW50VmFsdWVzOiB7XG4gICAgICAgICAgICB2YWx1ZXM6IHtcbiAgICAgICAgICAgICAgaXNFZGl0aW5nOiB0cnVlLFxuICAgICAgICAgICAgICBrbm93bGVkZ2U6IGFnZW50Lmtub3dsZWRnZSB8fCBbXSxcbiAgICAgICAgICAgICAgZ2VuZXJhbDoge1xuICAgICAgICAgICAgICAgIG5hbWU6IGFnZW50Lm5hbWUsXG4gICAgICAgICAgICAgICAgaWQ6IGFnZW50LmlkLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGlzT3BlbjogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICBpZiAobGVnYWN5Q29udGV4dFNlc3Npb24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ0FJTUZXcmFwcGVyPlxuICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50PlxuICAgICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9JY29uPlxuICAgICAgICAgICAgPEluZm9ybWF0aW9uQ2lyY2xlIHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gY29sb3I9e2luZm9JY29uQ29sb3J9IC8+XG4gICAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9JY29uPlxuICAgICAgICAgIDxTQ0NBSU1GTWVzc2FnZVdpdGhBY3Rpb24+XG4gICAgICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50VGV4dD5cbiAgICAgICAgICAgICAge3QoJ2xlZ2VuZExlZ2FjeUNvbnRleHRTZXNzaW9uJywgeyBuYW1lOiBsZWdhY3lDb250ZXh0U2Vzc2lvbi5jb250ZXh0TmFtZSB9KX1cbiAgICAgICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50VGV4dD5cbiAgICAgICAgICAgIDxTQ0NBSU1GQ2hhbmdlTW9kZWxCdXR0b24gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e29uQ29udGludWVJbk5ld0NoYXR9PlxuICAgICAgICAgICAgICB7dCgnY29udGludWVJbk5ld0NoYXQnKX1cbiAgICAgICAgICAgIDwvU0NDQUlNRkNoYW5nZU1vZGVsQnV0dG9uPlxuICAgICAgICAgIDwvU0NDQUlNRk1lc3NhZ2VXaXRoQWN0aW9uPlxuICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgIDwvU0NDQUlNRldyYXBwZXI+XG4gICAgKVxuICB9XG5cbiAgaWYgKGFnZW50Py5pc19kZWxldGVkKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ0NBSU1GV3JhcHBlcj5cbiAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvSWNvbj5cbiAgICAgICAgICAgIDxJbmZvcm1hdGlvbkNpcmNsZSB3aWR0aD17MjB9IGhlaWdodD17MjB9IGNvbG9yPXtpbmZvSWNvbkNvbG9yfSAvPlxuICAgICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvSWNvbj5cbiAgICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50VGV4dD5cbiAgICAgICAgICAgIHt0KCdsZWdlbmREZWxldGVkQWdlbnQnKX0ge21vbWVudChhZ2VudD8uZGVsZXRlZF9hdCkuZm9ybWF0KCdERCBbZGVdIE1NTU0sIFlZWVknKX1cbiAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50PlxuICAgICAgPC9TQ0NBSU1GV3JhcHBlcj5cbiAgICApXG4gIH1cblxuICBpZiAoYWdlbnQ/LnByb2plY3RfZGVsZXRlZCkge1xuICAgIHJldHVybiAoXG4gICAgICA8U0NDQUlNRldyYXBwZXI+XG4gICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnQ+XG4gICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgICA8SW5mb3JtYXRpb25DaXJjbGUgd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSBjb2xvcj17aW5mb0ljb25Db2xvcn0gLz5cbiAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgICAgICB7dCgnbGVnZW5kUHJvamVjdERlbGV0ZWQnLCB7IG5hbWU6IGFnZW50LnByb2plY3RfZGVsZXRlZC5uYW1lIH0pfVxuICAgICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50VGV4dD5cbiAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnQ+XG4gICAgICA8L1NDQ0FJTUZXcmFwcGVyPlxuICAgIClcbiAgfVxuXG4gIGlmIChhZ2VudD8uaGFzX25vdF9hY2Nlc3MpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ0FJTUZXcmFwcGVyPlxuICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50PlxuICAgICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9JY29uPlxuICAgICAgICAgICAgPEluZm9ybWF0aW9uQ2lyY2xlIHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gY29sb3I9e2luZm9JY29uQ29sb3J9IC8+XG4gICAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9JY29uPlxuICAgICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0PlxuICAgICAgICAgICAge3QoJ2xlZ2VuZE5vQWNjZXNzJywgeyBuYW1lOiBhZ2VudD8ubmFtZSB9KX1cbiAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50PlxuICAgICAgPC9TQ0NBSU1GV3JhcHBlcj5cbiAgICApXG4gIH1cblxuICBpZiAoYWdlbnQ/Lmhhc19ub3RfcGVybWlzc2lvbnMgfHwgIWFnZW50KSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ0NBSU1GV3JhcHBlcj5cbiAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvSWNvbj5cbiAgICAgICAgICAgIDxJbmZvcm1hdGlvbkNpcmNsZSB3aWR0aD17MjB9IGhlaWdodD17MjB9IGNvbG9yPXtpbmZvSWNvbkNvbG9yfSAvPlxuICAgICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvSWNvbj5cbiAgICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50VGV4dD5cbiAgICAgICAgICAgIHt0KCdsZWdlbmROb1Blcm1pc3Npb25zJywgeyBuYW1lOiBhZ2VudD8ubmFtZSB9KX1cbiAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50PlxuICAgICAgPC9TQ0NBSU1GV3JhcHBlcj5cbiAgICApXG4gIH1cblxuICBsZXQgY3VzdG9tQWdlbnRXYXJuaW5nS2V5OiBzdHJpbmcgfCBudWxsID0gbnVsbFxuXG4gIGlmIChhZ2VudD8udHlwZSA9PT0gJ2N1c3RvbScgJiYgYWdlbnQ/Lm1vZGVsX2RlcHJlY2F0ZWQpIHtcbiAgICBjdXN0b21BZ2VudFdhcm5pbmdLZXkgPSAnbGVnZW5kTW9kZWxEZXByZWNhdGVkJ1xuICB9IGVsc2UgaWYgKFxuICAgIGFnZW50Py50eXBlID09PSAnY3VzdG9tJyAmJlxuICAgIChhZ2VudD8ucHJvdmlkZXJfc3RhdHVzID09PSAncGFydGlhbF9vdXRhZ2UnIHx8XG4gICAgICBhZ2VudD8ucHJvdmlkZXJfc3RhdHVzID09PSAnbWFqb3Jfb3V0YWdlJyB8fFxuICAgICAgYWdlbnQ/LnByb3ZpZGVyX3N0YXR1cyA9PT0gJ3VuZGVyX21haW50ZW5hbmNlJylcbiAgKSB7XG4gICAgY3VzdG9tQWdlbnRXYXJuaW5nS2V5ID0gJ2xlZ2VuZFByb3ZpZGVyU3RhdHVzJ1xuICB9XG5cbiAgaWYgKGN1c3RvbUFnZW50V2FybmluZ0tleSkge1xuICAgIHJldHVybiAoXG4gICAgICA8U0NDQUlNRldyYXBwZXI+XG4gICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnQ+XG4gICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgICA8SW5mb3JtYXRpb25DaXJjbGUgd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSBjb2xvcj17aW5mb0ljb25Db2xvcn0gLz5cbiAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgPFNDQ0FJTUZNZXNzYWdlV2l0aEFjdGlvbj5cbiAgICAgICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0Pnt0KGN1c3RvbUFnZW50V2FybmluZ0tleSl9PC9TQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0PlxuICAgICAgICAgICAge2NhbkVkaXRDdXN0b21BZ2VudCAmJiAoXG4gICAgICAgICAgICAgIDxTQ0NBSU1GQ2hhbmdlTW9kZWxCdXR0b24gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e2hhbmRsZU9wZW5DaGFuZ2VNb2RlbE1vZGFsfT5cbiAgICAgICAgICAgICAgICB7dCgnY2hhbmdlTW9kZWwnKX1cbiAgICAgICAgICAgICAgPC9TQ0NBSU1GQ2hhbmdlTW9kZWxCdXR0b24+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvU0NDQUlNRk1lc3NhZ2VXaXRoQWN0aW9uPlxuICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgIDwvU0NDQUlNRldyYXBwZXI+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U0NDQUlNRldyYXBwZXI+XG4gICAgICA8Q2hhdEZvb3RlclxuICAgICAgICBvblNlbmRNZXNzYWdlPXtoYW5kbGVTZW5kTWVzc2FnZX1cbiAgICAgICAgZGlzYWJsZWQ9e2ZhbHNlfVxuICAgICAgICBpc1N0cmVhbWluZz17aXNTdHJlYW1pbmd9XG4gICAgICAgIGlzV3JpdGluZz17aXNXcml0aW5nfVxuICAgICAgICBvblN0b3BHZW5lcmF0aW9uPXtoYW5kbGVTdG9wR2VuZXJhdGlvbn1cbiAgICAgICAgY2hhdElkPXtjaGF0SWR9XG4gICAgICAgIG5ld0NoYXRLZXk9e25ld0NoYXRLZXl9XG4gICAgICAgIHRvb2x0aXBaSW5kZXg9e3Rvb2x0aXBaSW5kZXh9XG4gICAgICAgIGxheW91dE1vZGU9e2xheW91dE1vZGV9XG4gICAgICAgIG9uSW5wdXRGb2N1cz17KCkgPT4gbWFya0NoYXRBc1JlYWQoY2hhdElkKX1cbiAgICAgIC8+XG4gICAgPC9TQ0NBSU1GV3JhcHBlcj5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxpQkFBaUIsUUFBUSxvREFBb0Q7QUFDdEYsT0FBT0MsTUFBTSxNQUFNLG1DQUFtQztBQUN0RCxPQUFPQyxNQUFNLE1BQU0sUUFBUTtBQUMzQixTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQUM5QyxTQUFTQyxVQUFVLFFBQVEsZ0NBQWdDO0FBQzNELFNBQVNDLFFBQVEsUUFB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
|
|
51
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDaGF0Rm9vdGVyIiwidXNlQ2hhdHNTdG9yZSIsIkFnZW50SW5wdXRCbG9ja01lc3NhZ2UiLCJyZXNvbHZlQWdlbnRJbnB1dEJsb2NrIiwidXNlQWdlbnRDaGFuZ2VNb2RlbEFjdGlvbiIsIlNDQ0FJTUZXcmFwcGVyIiwianN4IiwiX2pzeCIsIkNoYXRBaU1vZGFsRm9vdGVyIiwiX3JlZiIsImFnZW50IiwiaGFuZGxlU2VuZE1lc3NhZ2UiLCJoYW5kbGVTdG9wR2VuZXJhdGlvbiIsImlzU3RyZWFtaW5nIiwiaXNXcml0aW5nIiwiY2hhdElkIiwibmV3Q2hhdEtleSIsInRvb2x0aXBaSW5kZXgiLCJsZWdhY3lDb250ZXh0U2Vzc2lvbiIsIm9uQ29udGludWVJbk5ld0NoYXQiLCJsYXlvdXRNb2RlIiwibWFya0NoYXRBc1JlYWQiLCJzdGF0ZSIsImlucHV0QmxvY2siLCJfdXNlQWdlbnRDaGFuZ2VNb2RlbEEiLCJjYW5FZGl0Q3VzdG9tQWdlbnQiLCJvcGVuQ2hhbmdlTW9kZWxNb2RhbCIsImJsb2NrIiwidmFyaWFudCIsIm9uQ2hhbmdlTW9kZWwiLCJzaG93Q2hhbmdlTW9kZWxCdXR0b24iLCJraW5kIiwiY2hpbGRyZW4iLCJvblNlbmRNZXNzYWdlIiwiZGlzYWJsZWQiLCJvblN0b3BHZW5lcmF0aW9uIiwib25JbnB1dEZvY3VzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSU1vZGFsL2NvbXBvbmVudHMvQ2hhdEFpTW9kYWxGb290ZXIvQ2hhdEFpTW9kYWxGb290ZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYXRGb290ZXIgfSBmcm9tICcuLi8uLi8uLi9DaGF0Rm9vdGVyL0NoYXRGb290ZXInXG5pbXBvcnQgeyB1c2VDaGF0c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc3RvcmUvdXNlQ2hhdHNTdG9yZSdcbmltcG9ydCB7IEFnZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgdHlwZSB7IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlIH0gZnJvbSAnLi4vLi4vbGF5b3V0J1xuaW1wb3J0IHtcbiAgQWdlbnRJbnB1dEJsb2NrTWVzc2FnZSxcbiAgcmVzb2x2ZUFnZW50SW5wdXRCbG9jayxcbiAgdXNlQWdlbnRDaGFuZ2VNb2RlbEFjdGlvbixcbiAgdHlwZSBMZWdhY3lDb250ZXh0U2Vzc2lvbixcbn0gZnJvbSAnLi4vLi4vLi4vQWdlbnRJbnB1dEJsb2NrJ1xuaW1wb3J0IHsgU0NDQUlNRldyYXBwZXIgfSBmcm9tICcuL0NoYXRBaU1vZGFsRm9vdGVyLnN0eWxlcydcblxuZXhwb3J0IGNvbnN0IENoYXRBaU1vZGFsRm9vdGVyID0gKHtcbiAgYWdlbnQsXG4gIGhhbmRsZVNlbmRNZXNzYWdlLFxuICBoYW5kbGVTdG9wR2VuZXJhdGlvbixcbiAgaXNTdHJlYW1pbmcsXG4gIGlzV3JpdGluZyxcbiAgY2hhdElkLFxuICBuZXdDaGF0S2V5LFxuICB0b29sdGlwWkluZGV4LFxuICBsZWdhY3lDb250ZXh0U2Vzc2lvbixcbiAgb25Db250aW51ZUluTmV3Q2hhdCxcbiAgbGF5b3V0TW9kZSxcbn06IHtcbiAgYWdlbnQ/OiBBZ2VudCB8IG51bGxcbiAgaGFuZGxlU2VuZE1lc3NhZ2U6IFBhcmFtZXRlcnM8dHlwZW9mIENoYXRGb290ZXI+WzBdWydvblNlbmRNZXNzYWdlJ11cbiAgaGFuZGxlU3RvcEdlbmVyYXRpb24/OiAoKCkgPT4gdm9pZCkgfCBudWxsXG4gIGlzU3RyZWFtaW5nPzogYm9vbGVhblxuICBpc1dyaXRpbmc/OiBib29sZWFuXG4gIGNoYXRJZD86IHN0cmluZyB8IG51bGxcbiAgbmV3Q2hhdEtleT86IG51bWJlclxuICB0b29sdGlwWkluZGV4PzogbnVtYmVyXG4gIGxlZ2FjeUNvbnRleHRTZXNzaW9uPzogTGVnYWN5Q29udGV4dFNlc3Npb24gfCBudWxsXG4gIG9uQ29udGludWVJbk5ld0NoYXQ/OiAoKSA9PiB2b2lkXG4gIGxheW91dE1vZGU/OiBNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZVxufSkgPT4ge1xuICBjb25zdCBtYXJrQ2hhdEFzUmVhZCA9IHVzZUNoYXRzU3RvcmUoc3RhdGUgPT4gc3RhdGUubWFya0NoYXRBc1JlYWQpXG4gIGNvbnN0IGlucHV0QmxvY2sgPSByZXNvbHZlQWdlbnRJbnB1dEJsb2NrKGFnZW50LCBsZWdhY3lDb250ZXh0U2Vzc2lvbilcbiAgY29uc3QgeyBjYW5FZGl0Q3VzdG9tQWdlbnQsIG9wZW5DaGFuZ2VNb2RlbE1vZGFsIH0gPSB1c2VBZ2VudENoYW5nZU1vZGVsQWN0aW9uKGFnZW50KVxuXG4gIGlmIChpbnB1dEJsb2NrKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxBZ2VudElucHV0QmxvY2tNZXNzYWdlXG4gICAgICAgIGJsb2NrPXtpbnB1dEJsb2NrfVxuICAgICAgICB2YXJpYW50PVwiZm9vdGVyXCJcbiAgICAgICAgb25Db250aW51ZUluTmV3Q2hhdD17b25Db250aW51ZUluTmV3Q2hhdH1cbiAgICAgICAgb25DaGFuZ2VNb2RlbD17b3BlbkNoYW5nZU1vZGVsTW9kYWx9XG4gICAgICAgIHNob3dDaGFuZ2VNb2RlbEJ1dHRvbj17aW5wdXRCbG9jay5raW5kID09PSAnY3VzdG9tX3dhcm5pbmcnID8gY2FuRWRpdEN1c3RvbUFnZW50IDogZmFsc2V9XG4gICAgICAvPlxuICAgIClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNDQ0FJTUZXcmFwcGVyPlxuICAgICAgPENoYXRGb290ZXJcbiAgICAgICAgb25TZW5kTWVzc2FnZT17aGFuZGxlU2VuZE1lc3NhZ2V9XG4gICAgICAgIGRpc2FibGVkPXtmYWxzZX1cbiAgICAgICAgaXNTdHJlYW1pbmc9e2lzU3RyZWFtaW5nfVxuICAgICAgICBpc1dyaXRpbmc9e2lzV3JpdGluZ31cbiAgICAgICAgb25TdG9wR2VuZXJhdGlvbj17aGFuZGxlU3RvcEdlbmVyYXRpb259XG4gICAgICAgIGNoYXRJZD17Y2hhdElkfVxuICAgICAgICBuZXdDaGF0S2V5PXtuZXdDaGF0S2V5fVxuICAgICAgICB0b29sdGlwWkluZGV4PXt0b29sdGlwWkluZGV4fVxuICAgICAgICBsYXlvdXRNb2RlPXtsYXlvdXRNb2RlfVxuICAgICAgICBvbklucHV0Rm9jdXM9eygpID0+IG1hcmtDaGF0QXNSZWFkKGNoYXRJZCl9XG4gICAgICAvPlxuICAgIDwvU0NDQUlNRldyYXBwZXI+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsVUFBVSxRQUFRLGdDQUFnQztBQUMzRCxTQUFTQyxhQUFhLFFBQVEsb0NBQW9DO0FBR2xFLFNBQ0VDLHNCQUFzQixFQUN0QkMsc0JBQXNCLEVBQ3RCQyx5QkFBeUIsUUFFcEIsMEJBQTBCO0FBQ2pDLFNBQVNDLGNBQWMsUUFBUSw0QkFBNEI7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUE7QUFFM0QsT0FBTyxJQUFNQyxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQWlCQSxDQUFBQyxJQUFBLEVBd0J4QjtFQUFBLElBdkJKQyxLQUFLLEdBQUFELElBQUEsQ0FBTEMsS0FBSztJQUNMQyxpQkFBaUIsR0FBQUYsSUFBQSxDQUFqQkUsaUJBQWlCO0lBQ2pCQyxvQkFBb0IsR0FBQUgsSUFBQSxDQUFwQkcsb0JBQW9CO0lBQ3BCQyxXQUFXLEdBQUFKLElBQUEsQ0FBWEksV0FBVztJQUNYQyxTQUFTLEdBQUFMLElBQUEsQ0FBVEssU0FBUztJQUNUQyxNQUFNLEdBQUFOLElBQUEsQ0FBTk0sTUFBTTtJQUNOQyxVQUFVLEdBQUFQLElBQUEsQ0FBVk8sVUFBVTtJQUNWQyxhQUFhLEdBQUFSLElBQUEsQ0FBYlEsYUFBYTtJQUNiQyxvQkFBb0IsR0FBQVQsSUFBQSxDQUFwQlMsb0JBQW9CO0lBQ3BCQyxtQkFBbUIsR0FBQVYsSUFBQSxDQUFuQlUsbUJBQW1CO0lBQ25CQyxVQUFVLEdBQUFYLElBQUEsQ0FBVlcsVUFBVTtFQWNWLElBQU1DLGNBQWMsR0FBR3BCLGFBQWEsQ0FBQyxVQUFBcUIsS0FBSztJQUFBLE9BQUlBLEtBQUssQ0FBQ0QsY0FBYztFQUFBLEVBQUM7RUFDbkUsSUFBTUUsVUFBVSxHQUFHcEIsc0JBQXNCLENBQUNPLEtBQUssRUFBRVEsb0JBQW9CLENBQUM7RUFDdEUsSUFBQU0scUJBQUEsR0FBcURwQix5QkFBeUIsQ0FBQ00sS0FBSyxDQUFDO0lBQTdFZSxrQkFBa0IsR0FBQUQscUJBQUEsQ0FBbEJDLGtCQUFrQjtJQUFFQyxvQkFBb0IsR0FBQUYscUJBQUEsQ0FBcEJFLG9CQUFvQjtFQUVoRCxJQUFJSCxVQUFVLEVBQUU7SUFDZCxvQkFDRWhCLElBQUEsQ0FBQ0wsc0JBQXNCO01BQ3JCeUIsS0FBSyxFQUFFSixVQUFXO01BQ2xCSyxPQUFPLEVBQUMsUUFBUTtNQUNoQlQsbUJBQW1CLEVBQUVBLG1CQUFvQjtNQUN6Q1UsYUFBYSxFQUFFSCxvQkFBcUI7TUFDcENJLHFCQUFxQixFQUFFUCxVQUFVLENBQUNRLElBQUksS0FBSyxnQkFBZ0IsR0FBR04sa0JBQWtCLEdBQUc7SUFBTSxDQUMxRixDQUFDO0VBRU47RUFFQSxvQkFDRWxCLElBQUEsQ0FBQ0YsY0FBYztJQUFBMkIsUUFBQSxlQUNiekIsSUFBQSxDQUFDUCxVQUFVO01BQ1RpQyxhQUFhLEVBQUV0QixpQkFBa0I7TUFDakN1QixRQUFRLEVBQUUsS0FBTTtNQUNoQnJCLFdBQVcsRUFBRUEsV0FBWTtNQUN6QkMsU0FBUyxFQUFFQSxTQUFVO01BQ3JCcUIsZ0JBQWdCLEVBQUV2QixvQkFBcUI7TUFDdkNHLE1BQU0sRUFBRUEsTUFBTztNQUNmQyxVQUFVLEVBQUVBLFVBQVc7TUFDdkJDLGFBQWEsRUFBRUEsYUFBYztNQUM3QkcsVUFBVSxFQUFFQSxVQUFXO01BQ3ZCZ0IsWUFBWSxFQUFFLFNBQWRBLFlBQVlBLENBQUE7UUFBQSxPQUFRZixjQUFjLENBQUNOLE1BQU0sQ0FBQztNQUFBO0lBQUMsQ0FDNUM7RUFBQyxDQUNZLENBQUM7QUFFckIsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.spec.js
ADDED
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
import { fireEvent, renderWithProviders, screen } from '../../../../../test/test-utils';
|
|
5
|
+
import { ChatAiModalFooter } from './ChatAiModalFooter';
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
jest.mock('../../../ChatFooter/ChatFooter', function () {
|
|
8
|
+
return {
|
|
9
|
+
ChatFooter: function ChatFooter() {
|
|
10
|
+
return /*#__PURE__*/_jsx("div", {
|
|
11
|
+
"data-testid": "chat-footer"
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
});
|
|
16
|
+
jest.mock('../../../../../hooks/useEvent', function () {
|
|
17
|
+
return {
|
|
18
|
+
EVENTS: {
|
|
19
|
+
openModal: 'OPEN_MODAL'
|
|
20
|
+
},
|
|
21
|
+
useEvent: function useEvent() {
|
|
22
|
+
return jest.fn();
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
jest.mock('../../../../../context/cor-user', function () {
|
|
27
|
+
return {
|
|
28
|
+
useUser: function useUser() {
|
|
29
|
+
return {
|
|
30
|
+
permissions: {
|
|
31
|
+
ai_agents: {
|
|
32
|
+
edit: true
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
});
|
|
39
|
+
jest.mock('../../../../../services/utils/validateIsMaia', function () {
|
|
40
|
+
return {
|
|
41
|
+
validateIsMaia: function validateIsMaia() {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
});
|
|
46
|
+
jest.mock('../../../../../store/useChatsStore', function () {
|
|
47
|
+
return {
|
|
48
|
+
useChatsStore: function useChatsStore(selector) {
|
|
49
|
+
return selector({
|
|
50
|
+
markChatAsRead: jest.fn()
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
});
|
|
55
|
+
var baseProps = {
|
|
56
|
+
handleSendMessage: jest.fn(),
|
|
57
|
+
handleStopGeneration: jest.fn(),
|
|
58
|
+
isStreaming: false,
|
|
59
|
+
isWriting: false,
|
|
60
|
+
chatId: 'chat-1'
|
|
61
|
+
};
|
|
62
|
+
var customAgent = {
|
|
63
|
+
id: 'agent-1',
|
|
64
|
+
name: 'Custom',
|
|
65
|
+
type: 'custom'
|
|
66
|
+
};
|
|
67
|
+
describe('ChatAiModalFooter', function () {
|
|
68
|
+
var originalFlag = window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS;
|
|
69
|
+
beforeEach(function () {
|
|
70
|
+
window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS = true;
|
|
71
|
+
});
|
|
72
|
+
afterEach(function () {
|
|
73
|
+
window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS = originalFlag;
|
|
74
|
+
});
|
|
75
|
+
it('renders ChatFooter for a healthy custom agent', function () {
|
|
76
|
+
renderWithProviders(/*#__PURE__*/_jsx(ChatAiModalFooter, _objectSpread(_objectSpread({}, baseProps), {}, {
|
|
77
|
+
agent: customAgent
|
|
78
|
+
})));
|
|
79
|
+
expect(screen.getByTestId('chat-footer')).toBeInTheDocument();
|
|
80
|
+
});
|
|
81
|
+
it('shows legacy context banner with continue action', function () {
|
|
82
|
+
var onContinueInNewChat = jest.fn();
|
|
83
|
+
renderWithProviders(/*#__PURE__*/_jsx(ChatAiModalFooter, _objectSpread(_objectSpread({}, baseProps), {}, {
|
|
84
|
+
agent: customAgent,
|
|
85
|
+
legacyContextSession: {
|
|
86
|
+
entityType: 'project',
|
|
87
|
+
contextName: 'Proyecto X'
|
|
88
|
+
},
|
|
89
|
+
onContinueInNewChat: onContinueInNewChat
|
|
90
|
+
})));
|
|
91
|
+
expect(screen.getByText('legendLegacyContextSession')).toBeInTheDocument();
|
|
92
|
+
fireEvent.click(screen.getByRole('button', {
|
|
93
|
+
name: 'continueInNewChat'
|
|
94
|
+
}));
|
|
95
|
+
expect(onContinueInNewChat).toHaveBeenCalled();
|
|
96
|
+
});
|
|
97
|
+
it('shows deleted agent legend', function () {
|
|
98
|
+
renderWithProviders(/*#__PURE__*/_jsx(ChatAiModalFooter, _objectSpread(_objectSpread({}, baseProps), {}, {
|
|
99
|
+
agent: _objectSpread(_objectSpread({}, customAgent), {}, {
|
|
100
|
+
is_deleted: true,
|
|
101
|
+
deleted_at: '2026-01-15T00:00:00.000Z'
|
|
102
|
+
})
|
|
103
|
+
})));
|
|
104
|
+
expect(screen.getByText(/legendDeletedAgent/)).toBeInTheDocument();
|
|
105
|
+
});
|
|
106
|
+
it('shows model deprecated warning with change model action', function () {
|
|
107
|
+
renderWithProviders(/*#__PURE__*/_jsx(ChatAiModalFooter, _objectSpread(_objectSpread({}, baseProps), {}, {
|
|
108
|
+
agent: _objectSpread(_objectSpread({}, customAgent), {}, {
|
|
109
|
+
model_deprecated: true
|
|
110
|
+
})
|
|
111
|
+
})));
|
|
112
|
+
expect(screen.getByText('legendModelDeprecated')).toBeInTheDocument();
|
|
113
|
+
fireEvent.click(screen.getByRole('button', {
|
|
114
|
+
name: 'changeModel'
|
|
115
|
+
}));
|
|
116
|
+
expect(screen.queryByTestId('chat-footer')).not.toBeInTheDocument();
|
|
117
|
+
});
|
|
118
|
+
it('renders ChatFooter when agent is not loaded yet', function () {
|
|
119
|
+
renderWithProviders(/*#__PURE__*/_jsx(ChatAiModalFooter, _objectSpread(_objectSpread({}, baseProps), {}, {
|
|
120
|
+
agent: null
|
|
121
|
+
})));
|
|
122
|
+
expect(screen.getByTestId('chat-footer')).toBeInTheDocument();
|
|
123
|
+
});
|
|
124
|
+
it('shows no-permissions legend when the agent is blocked by permissions', function () {
|
|
125
|
+
renderWithProviders(/*#__PURE__*/_jsx(ChatAiModalFooter, _objectSpread(_objectSpread({}, baseProps), {}, {
|
|
126
|
+
agent: _objectSpread(_objectSpread({}, customAgent), {}, {
|
|
127
|
+
has_not_permissions: true
|
|
128
|
+
})
|
|
129
|
+
})));
|
|
130
|
+
expect(screen.getByText('legendNoPermissions')).toBeInTheDocument();
|
|
131
|
+
expect(screen.queryByTestId('chat-footer')).not.toBeInTheDocument();
|
|
132
|
+
});
|
|
133
|
+
});
|
|
134
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmaXJlRXZlbnQiLCJyZW5kZXJXaXRoUHJvdmlkZXJzIiwic2NyZWVuIiwiQ2hhdEFpTW9kYWxGb290ZXIiLCJqc3giLCJfanN4IiwiamVzdCIsIm1vY2siLCJDaGF0Rm9vdGVyIiwiRVZFTlRTIiwib3Blbk1vZGFsIiwidXNlRXZlbnQiLCJmbiIsInVzZVVzZXIiLCJwZXJtaXNzaW9ucyIsImFpX2FnZW50cyIsImVkaXQiLCJ2YWxpZGF0ZUlzTWFpYSIsInVzZUNoYXRzU3RvcmUiLCJzZWxlY3RvciIsIm1hcmtDaGF0QXNSZWFkIiwiYmFzZVByb3BzIiwiaGFuZGxlU2VuZE1lc3NhZ2UiLCJoYW5kbGVTdG9wR2VuZXJhdGlvbiIsImlzU3RyZWFtaW5nIiwiaXNXcml0aW5nIiwiY2hhdElkIiwiY3VzdG9tQWdlbnQiLCJpZCIsIm5hbWUiLCJ0eXBlIiwiZGVzY3JpYmUiLCJvcmlnaW5hbEZsYWciLCJ3aW5kb3ciLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIiwiYmVmb3JlRWFjaCIsImFmdGVyRWFjaCIsIml0IiwiX29iamVjdFNwcmVhZCIsImFnZW50IiwiZXhwZWN0IiwiZ2V0QnlUZXN0SWQiLCJ0b0JlSW5UaGVEb2N1bWVudCIsIm9uQ29udGludWVJbk5ld0NoYXQiLCJsZWdhY3lDb250ZXh0U2Vzc2lvbiIsImVudGl0eVR5cGUiLCJjb250ZXh0TmFtZSIsImdldEJ5VGV4dCIsImNsaWNrIiwiZ2V0QnlSb2xlIiwidG9IYXZlQmVlbkNhbGxlZCIsImlzX2RlbGV0ZWQiLCJkZWxldGVkX2F0IiwibW9kZWxfZGVwcmVjYXRlZCIsInF1ZXJ5QnlUZXN0SWQiLCJub3QiLCJoYXNfbm90X3Blcm1pc3Npb25zIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSU1vZGFsL2NvbXBvbmVudHMvQ2hhdEFpTW9kYWxGb290ZXIvQ2hhdEFpTW9kYWxGb290ZXIuc3BlYy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmlyZUV2ZW50LCByZW5kZXJXaXRoUHJvdmlkZXJzLCBzY3JlZW4gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi90ZXN0L3Rlc3QtdXRpbHMnXG5pbXBvcnQgdHlwZSB7IEFnZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgeyBDaGF0QWlNb2RhbEZvb3RlciB9IGZyb20gJy4vQ2hhdEFpTW9kYWxGb290ZXInXG5cbmplc3QubW9jaygnLi4vLi4vLi4vQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyJywgKCkgPT4gKHtcbiAgQ2hhdEZvb3RlcjogKCkgPT4gPGRpdiBkYXRhLXRlc3RpZD1cImNoYXQtZm9vdGVyXCIgLz4sXG59KSlcblxuamVzdC5tb2NrKCcuLi8uLi8uLi8uLi8uLi9ob29rcy91c2VFdmVudCcsICgpID0+ICh7XG4gIEVWRU5UUzogeyBvcGVuTW9kYWw6ICdPUEVOX01PREFMJyB9LFxuICB1c2VFdmVudDogKCkgPT4gamVzdC5mbigpLFxufSkpXG5cbmplc3QubW9jaygnLi4vLi4vLi4vLi4vLi4vY29udGV4dC9jb3ItdXNlcicsICgpID0+ICh7XG4gIHVzZVVzZXI6ICgpID0+ICh7XG4gICAgcGVybWlzc2lvbnM6IHsgYWlfYWdlbnRzOiB7IGVkaXQ6IHRydWUgfSB9LFxuICB9KSxcbn0pKVxuXG5qZXN0Lm1vY2soJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzL3ZhbGlkYXRlSXNNYWlhJywgKCkgPT4gKHtcbiAgdmFsaWRhdGVJc01haWE6ICgpID0+IGZhbHNlLFxufSkpXG5cbmplc3QubW9jaygnLi4vLi4vLi4vLi4vLi4vc3RvcmUvdXNlQ2hhdHNTdG9yZScsICgpID0+ICh7XG4gIHVzZUNoYXRzU3RvcmU6IChzZWxlY3RvcjogKHN0YXRlOiB7IG1hcmtDaGF0QXNSZWFkOiBqZXN0Lk1vY2sgfSkgPT4gdW5rbm93bikgPT5cbiAgICBzZWxlY3Rvcih7IG1hcmtDaGF0QXNSZWFkOiBqZXN0LmZuKCkgfSksXG59KSlcblxuY29uc3QgYmFzZVByb3BzID0ge1xuICBoYW5kbGVTZW5kTWVzc2FnZTogamVzdC5mbigpLFxuICBoYW5kbGVTdG9wR2VuZXJhdGlvbjogamVzdC5mbigpLFxuICBpc1N0cmVhbWluZzogZmFsc2UsXG4gIGlzV3JpdGluZzogZmFsc2UsXG4gIGNoYXRJZDogJ2NoYXQtMScsXG59XG5cbmNvbnN0IGN1c3RvbUFnZW50OiBBZ2VudCA9IHtcbiAgaWQ6ICdhZ2VudC0xJyxcbiAgbmFtZTogJ0N1c3RvbScsXG4gIHR5cGU6ICdjdXN0b20nLFxufVxuXG5kZXNjcmliZSgnQ2hhdEFpTW9kYWxGb290ZXInLCAoKSA9PiB7XG4gIGNvbnN0IG9yaWdpbmFsRmxhZyA9IHdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTXG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMgPSB0cnVlXG4gIH0pXG5cbiAgYWZ0ZXJFYWNoKCgpID0+IHtcbiAgICB3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyA9IG9yaWdpbmFsRmxhZ1xuICB9KVxuXG4gIGl0KCdyZW5kZXJzIENoYXRGb290ZXIgZm9yIGEgaGVhbHRoeSBjdXN0b20gYWdlbnQnLCAoKSA9PiB7XG4gICAgcmVuZGVyV2l0aFByb3ZpZGVycyg8Q2hhdEFpTW9kYWxGb290ZXIgey4uLmJhc2VQcm9wc30gYWdlbnQ9e2N1c3RvbUFnZW50fSAvPilcblxuICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlUZXN0SWQoJ2NoYXQtZm9vdGVyJykpLnRvQmVJblRoZURvY3VtZW50KClcbiAgfSlcblxuICBpdCgnc2hvd3MgbGVnYWN5IGNvbnRleHQgYmFubmVyIHdpdGggY29udGludWUgYWN0aW9uJywgKCkgPT4ge1xuICAgIGNvbnN0IG9uQ29udGludWVJbk5ld0NoYXQgPSBqZXN0LmZuKClcblxuICAgIHJlbmRlcldpdGhQcm92aWRlcnMoXG4gICAgICA8Q2hhdEFpTW9kYWxGb290ZXJcbiAgICAgICAgey4uLmJhc2VQcm9wc31cbiAgICAgICAgYWdlbnQ9e2N1c3RvbUFnZW50fVxuICAgICAgICBsZWdhY3lDb250ZXh0U2Vzc2lvbj17eyBlbnRpdHlUeXBlOiAncHJvamVjdCcsIGNvbnRleHROYW1lOiAnUHJveWVjdG8gWCcgfX1cbiAgICAgICAgb25Db250aW51ZUluTmV3Q2hhdD17b25Db250aW51ZUluTmV3Q2hhdH1cbiAgICAgIC8+XG4gICAgKVxuXG4gICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRleHQoJ2xlZ2VuZExlZ2FjeUNvbnRleHRTZXNzaW9uJykpLnRvQmVJblRoZURvY3VtZW50KClcbiAgICBmaXJlRXZlbnQuY2xpY2soc2NyZWVuLmdldEJ5Um9sZSgnYnV0dG9uJywgeyBuYW1lOiAnY29udGludWVJbk5ld0NoYXQnIH0pKVxuICAgIGV4cGVjdChvbkNvbnRpbnVlSW5OZXdDaGF0KS50b0hhdmVCZWVuQ2FsbGVkKClcbiAgfSlcblxuICBpdCgnc2hvd3MgZGVsZXRlZCBhZ2VudCBsZWdlbmQnLCAoKSA9PiB7XG4gICAgcmVuZGVyV2l0aFByb3ZpZGVycyhcbiAgICAgIDxDaGF0QWlNb2RhbEZvb3RlclxuICAgICAgICB7Li4uYmFzZVByb3BzfVxuICAgICAgICBhZ2VudD17eyAuLi5jdXN0b21BZ2VudCwgaXNfZGVsZXRlZDogdHJ1ZSwgZGVsZXRlZF9hdDogJzIwMjYtMDEtMTVUMDA6MDA6MDAuMDAwWicgfX1cbiAgICAgIC8+XG4gICAgKVxuXG4gICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRleHQoL2xlZ2VuZERlbGV0ZWRBZ2VudC8pKS50b0JlSW5UaGVEb2N1bWVudCgpXG4gIH0pXG5cbiAgaXQoJ3Nob3dzIG1vZGVsIGRlcHJlY2F0ZWQgd2FybmluZyB3aXRoIGNoYW5nZSBtb2RlbCBhY3Rpb24nLCAoKSA9PiB7XG4gICAgcmVuZGVyV2l0aFByb3ZpZGVycyg8Q2hhdEFpTW9kYWxGb290ZXIgey4uLmJhc2VQcm9wc30gYWdlbnQ9e3sgLi4uY3VzdG9tQWdlbnQsIG1vZGVsX2RlcHJlY2F0ZWQ6IHRydWUgfX0gLz4pXG5cbiAgICBleHBlY3Qoc2NyZWVuLmdldEJ5VGV4dCgnbGVnZW5kTW9kZWxEZXByZWNhdGVkJykpLnRvQmVJblRoZURvY3VtZW50KClcbiAgICBmaXJlRXZlbnQuY2xpY2soc2NyZWVuLmdldEJ5Um9sZSgnYnV0dG9uJywgeyBuYW1lOiAnY2hhbmdlTW9kZWwnIH0pKVxuXG4gICAgZXhwZWN0KHNjcmVlbi5xdWVyeUJ5VGVzdElkKCdjaGF0LWZvb3RlcicpKS5ub3QudG9CZUluVGhlRG9jdW1lbnQoKVxuICB9KVxuXG4gIGl0KCdyZW5kZXJzIENoYXRGb290ZXIgd2hlbiBhZ2VudCBpcyBub3QgbG9hZGVkIHlldCcsICgpID0+IHtcbiAgICByZW5kZXJXaXRoUHJvdmlkZXJzKDxDaGF0QWlNb2RhbEZvb3RlciB7Li4uYmFzZVByb3BzfSBhZ2VudD17bnVsbH0gLz4pXG5cbiAgICBleHBlY3Qoc2NyZWVuLmdldEJ5VGVzdElkKCdjaGF0LWZvb3RlcicpKS50b0JlSW5UaGVEb2N1bWVudCgpXG4gIH0pXG5cbiAgaXQoJ3Nob3dzIG5vLXBlcm1pc3Npb25zIGxlZ2VuZCB3aGVuIHRoZSBhZ2VudCBpcyBibG9ja2VkIGJ5IHBlcm1pc3Npb25zJywgKCkgPT4ge1xuICAgIHJlbmRlcldpdGhQcm92aWRlcnMoPENoYXRBaU1vZGFsRm9vdGVyIHsuLi5iYXNlUHJvcHN9IGFnZW50PXt7IC4uLmN1c3RvbUFnZW50LCBoYXNfbm90X3Blcm1pc3Npb25zOiB0cnVlIH19IC8+KVxuXG4gICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRleHQoJ2xlZ2VuZE5vUGVybWlzc2lvbnMnKSkudG9CZUluVGhlRG9jdW1lbnQoKVxuICAgIGV4cGVjdChzY3JlZW4ucXVlcnlCeVRlc3RJZCgnY2hhdC1mb290ZXInKSkubm90LnRvQmVJblRoZURvY3VtZW50KClcbiAgfSlcbn0pXG4iXSwibWFw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
|