@projectcor/maia-components 2.51.1 → 2.52.1-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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/ContextCompactedNotice/ContextCompactedNotice.spec.js +107 -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 +123 -99
- package/lib/components/atoms/MAIAInput/MAIAInput.spec.js +719 -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 +780 -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.js +95 -3
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.helpers.spec.js +967 -0
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +136 -53
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.spec.js +646 -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 +1395 -0
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +23 -8
- package/lib/components/molecules/ChatAIModal/ChatAIModal.spec.js +1434 -0
- package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +3 -3
- 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/ChatAIMultipleChoice/ChatAIMultipleChoice.js +108 -0
- package/lib/components/molecules/ChatAIMultipleChoice/ChatAIMultipleChoice.spec.js +102 -0
- package/lib/components/molecules/ChatAIMultipleChoice/ChatAIMultipleChoice.styles.js +77 -0
- package/lib/components/molecules/ChatAIMultipleChoice/ChatAIMultipleChoiceAnswer.js +62 -0
- package/lib/components/molecules/ChatAIMultipleChoice/ChatAIMultipleChoiceAnswer.spec.js +49 -0
- package/lib/components/molecules/ChatAIMultipleChoice/ChatAIMultipleChoiceAnswer.styles.js +26 -0
- package/lib/components/molecules/ChatAIMultipleChoice/index.js +3 -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 +91 -5
- package/lib/components/molecules/ChatFooter/ChatFooter.spec.js +548 -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 +526 -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 +217 -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 +291 -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 +343 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHome.styles.js +197 -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 +15 -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 +8 -5
- package/lib/hooks/useChatManager/useChatManager.helpers.spec.js +2027 -0
- package/lib/hooks/useChatManager/useChatManager.js +53 -35
- package/lib/hooks/useChatManager/useChatManager.spec.js +2467 -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/useContinueLegacyContextInNewChat/useContinueLegacyContextInNewChat.spec.js +257 -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.js +3 -1
- package/lib/hooks/useEvent.spec.js +45 -0
- package/lib/hooks/useFrequentlyAskedQuestions.spec.js +222 -0
- package/lib/hooks/useFrequentlyUsedActions.js +61 -22
- package/lib/hooks/useFrequentlyUsedActions.spec.js +293 -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/useLatestRef.js +15 -0
- package/lib/hooks/useLatestRef.spec.js +50 -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.js +4 -2
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.helpers.spec.js +138 -0
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.interface.js +1 -1
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +3 -3
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.spec.js +485 -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 +32 -1
- package/lib/lang/en/index.js +32 -1
- package/lib/lang/es/index.js +32 -1
- package/lib/lang/fr/index.js +32 -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 +121 -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 +181 -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.js +11 -6
- package/lib/services/maia/Orchestrator/orchestrator.helpers.spec.js +261 -0
- package/lib/services/maia/Orchestrator/orchestrator.js +5 -4
- 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.js +6 -3
- package/lib/services/utils/mapChatMessages.helpers.spec.js +336 -0
- package/lib/services/utils/mapChatMessages.multipleChoice.spec.js +87 -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.js +7 -1
- 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.js +1 -1
- 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 +690 -0
- package/lib/store/useFaqsStore.spec.js +57 -0
- package/lib/store/useMultipleChoiceStore.js +47 -0
- package/lib/store/useMultipleChoiceStore.spec.js +44 -0
- package/lib/styles/cascade.js +29 -3
- package/lib/styles/transitions.js +3 -1
- package/lib/types/Chat.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 +116 -1
- package/lib/utils/hoursPlannerQuickActionType.spec.js +124 -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.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
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
2
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
3
|
+
import { act, renderHook, waitFor } from '@testing-library/react';
|
|
4
|
+
import { getFrequentlyUsedActions } from '../services/maia/Actions/getFrequentlyUsedActions';
|
|
5
|
+
import { mapMaiaSectionToFuasApiSection, useFrequentlyUsedActions } from './useFrequentlyUsedActions';
|
|
6
|
+
import { buildFrequentlyUsedActionsCacheKey, clearFrequentlyUsedActionsCache, setCachedFrequentlyUsedActions } from './frequentlyUsedActionsCache';
|
|
7
|
+
jest.mock('../services/maia/Actions/getFrequentlyUsedActions', function () {
|
|
8
|
+
return {
|
|
9
|
+
getFrequentlyUsedActions: jest.fn()
|
|
10
|
+
};
|
|
11
|
+
});
|
|
12
|
+
jest.mock('./useT', function () {
|
|
13
|
+
return {
|
|
14
|
+
useT: function useT() {
|
|
15
|
+
return {
|
|
16
|
+
i18n: {
|
|
17
|
+
language: 'es'
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
});
|
|
23
|
+
var getFrequentlyUsedActionsMock = getFrequentlyUsedActions;
|
|
24
|
+
describe('mapMaiaSectionToFuasApiSection', function () {
|
|
25
|
+
it('maps maia sections to API section names', function () {
|
|
26
|
+
expect(mapMaiaSectionToFuasApiSection('home_with_hours')).toBe('home_with_hours');
|
|
27
|
+
expect(mapMaiaSectionToFuasApiSection('home_collaborator')).toBe('home_collaborator');
|
|
28
|
+
expect(mapMaiaSectionToFuasApiSection('task')).toBe('tasks');
|
|
29
|
+
expect(mapMaiaSectionToFuasApiSection('planner')).toBe('planner');
|
|
30
|
+
expect(mapMaiaSectionToFuasApiSection('header')).toBe('home');
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
describe('useFrequentlyUsedActions', function () {
|
|
34
|
+
beforeEach(function () {
|
|
35
|
+
jest.clearAllMocks();
|
|
36
|
+
clearFrequentlyUsedActionsCache();
|
|
37
|
+
getFrequentlyUsedActionsMock.mockResolvedValue({
|
|
38
|
+
data: [{
|
|
39
|
+
id: 'action-1',
|
|
40
|
+
name: 'Summarize'
|
|
41
|
+
}]
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
it('loads actions when agentId is provided', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
45
|
+
var _renderHook, result;
|
|
46
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
47
|
+
while (1) switch (_context.prev = _context.next) {
|
|
48
|
+
case 0:
|
|
49
|
+
_renderHook = renderHook(function () {
|
|
50
|
+
return useFrequentlyUsedActions('agent-1', 'task', 'project');
|
|
51
|
+
}), result = _renderHook.result;
|
|
52
|
+
_context.next = 1;
|
|
53
|
+
return waitFor(function () {
|
|
54
|
+
return expect(result.current.loading).toBe(false);
|
|
55
|
+
});
|
|
56
|
+
case 1:
|
|
57
|
+
expect(getFrequentlyUsedActionsMock).toHaveBeenCalledWith({
|
|
58
|
+
agentId: 'agent-1',
|
|
59
|
+
lang: 'es',
|
|
60
|
+
section: 'tasks',
|
|
61
|
+
entityType: 'project'
|
|
62
|
+
});
|
|
63
|
+
expect(result.current.actions).toEqual([{
|
|
64
|
+
id: 'action-1',
|
|
65
|
+
name: 'Summarize'
|
|
66
|
+
}]);
|
|
67
|
+
case 2:
|
|
68
|
+
case "end":
|
|
69
|
+
return _context.stop();
|
|
70
|
+
}
|
|
71
|
+
}, _callee);
|
|
72
|
+
})));
|
|
73
|
+
it('does not fetch without an agent id', function () {
|
|
74
|
+
renderHook(function () {
|
|
75
|
+
return useFrequentlyUsedActions(undefined, 'header');
|
|
76
|
+
});
|
|
77
|
+
expect(getFrequentlyUsedActionsMock).not.toHaveBeenCalled();
|
|
78
|
+
});
|
|
79
|
+
it('sets error when the response is invalid', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
80
|
+
var _renderHook2, result;
|
|
81
|
+
return _regeneratorRuntime.wrap(function (_context2) {
|
|
82
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
83
|
+
case 0:
|
|
84
|
+
getFrequentlyUsedActionsMock.mockResolvedValue({
|
|
85
|
+
data: null
|
|
86
|
+
});
|
|
87
|
+
_renderHook2 = renderHook(function () {
|
|
88
|
+
return useFrequentlyUsedActions('agent-2', 'header');
|
|
89
|
+
}), result = _renderHook2.result;
|
|
90
|
+
_context2.next = 1;
|
|
91
|
+
return waitFor(function () {
|
|
92
|
+
return expect(result.current.error).toBeTruthy();
|
|
93
|
+
});
|
|
94
|
+
case 1:
|
|
95
|
+
expect(result.current.error).toBe('Invalid response format from server');
|
|
96
|
+
expect(result.current.actions).toEqual([]);
|
|
97
|
+
case 2:
|
|
98
|
+
case "end":
|
|
99
|
+
return _context2.stop();
|
|
100
|
+
}
|
|
101
|
+
}, _callee2);
|
|
102
|
+
})));
|
|
103
|
+
it('supports manual refetch', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
|
|
104
|
+
var _renderHook3, result;
|
|
105
|
+
return _regeneratorRuntime.wrap(function (_context4) {
|
|
106
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
107
|
+
case 0:
|
|
108
|
+
_renderHook3 = renderHook(function () {
|
|
109
|
+
return useFrequentlyUsedActions(undefined, 'planner');
|
|
110
|
+
}), result = _renderHook3.result;
|
|
111
|
+
_context4.next = 1;
|
|
112
|
+
return act(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
|
|
113
|
+
return _regeneratorRuntime.wrap(function (_context3) {
|
|
114
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
115
|
+
case 0:
|
|
116
|
+
_context3.next = 1;
|
|
117
|
+
return result.current.handleGetFrequentlyUsedActions('agent-3');
|
|
118
|
+
case 1:
|
|
119
|
+
case "end":
|
|
120
|
+
return _context3.stop();
|
|
121
|
+
}
|
|
122
|
+
}, _callee3);
|
|
123
|
+
})));
|
|
124
|
+
case 1:
|
|
125
|
+
expect(getFrequentlyUsedActionsMock).toHaveBeenCalledWith({
|
|
126
|
+
agentId: 'agent-3',
|
|
127
|
+
lang: 'es',
|
|
128
|
+
section: 'planner',
|
|
129
|
+
entityType: undefined
|
|
130
|
+
});
|
|
131
|
+
case 2:
|
|
132
|
+
case "end":
|
|
133
|
+
return _context4.stop();
|
|
134
|
+
}
|
|
135
|
+
}, _callee4);
|
|
136
|
+
})));
|
|
137
|
+
it('defaults to the home section when no maia section is given', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee5() {
|
|
138
|
+
var _renderHook4, result;
|
|
139
|
+
return _regeneratorRuntime.wrap(function (_context5) {
|
|
140
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
141
|
+
case 0:
|
|
142
|
+
_renderHook4 = renderHook(function () {
|
|
143
|
+
return useFrequentlyUsedActions('agent-4');
|
|
144
|
+
}), result = _renderHook4.result;
|
|
145
|
+
_context5.next = 1;
|
|
146
|
+
return waitFor(function () {
|
|
147
|
+
return expect(result.current.loading).toBe(false);
|
|
148
|
+
});
|
|
149
|
+
case 1:
|
|
150
|
+
expect(getFrequentlyUsedActionsMock).toHaveBeenCalledWith(expect.objectContaining({
|
|
151
|
+
section: 'home'
|
|
152
|
+
}));
|
|
153
|
+
case 2:
|
|
154
|
+
case "end":
|
|
155
|
+
return _context5.stop();
|
|
156
|
+
}
|
|
157
|
+
}, _callee5);
|
|
158
|
+
})));
|
|
159
|
+
it('shows cached actions right away and refreshes them in the background', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee6() {
|
|
160
|
+
var cached, _renderHook5, result;
|
|
161
|
+
return _regeneratorRuntime.wrap(function (_context6) {
|
|
162
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
163
|
+
case 0:
|
|
164
|
+
cached = [{
|
|
165
|
+
id: 'cached',
|
|
166
|
+
title: 'Cached'
|
|
167
|
+
}];
|
|
168
|
+
setCachedFrequentlyUsedActions(buildFrequentlyUsedActionsCacheKey('agent-5', 'home'), cached);
|
|
169
|
+
_renderHook5 = renderHook(function () {
|
|
170
|
+
return useFrequentlyUsedActions('agent-5', 'header');
|
|
171
|
+
}), result = _renderHook5.result;
|
|
172
|
+
expect(result.current.actions).toEqual(cached);
|
|
173
|
+
expect(result.current.loading).toBe(false);
|
|
174
|
+
_context6.next = 1;
|
|
175
|
+
return waitFor(function () {
|
|
176
|
+
return expect(result.current.actions).toEqual([{
|
|
177
|
+
id: 'action-1',
|
|
178
|
+
name: 'Summarize'
|
|
179
|
+
}]);
|
|
180
|
+
});
|
|
181
|
+
case 1:
|
|
182
|
+
case "end":
|
|
183
|
+
return _context6.stop();
|
|
184
|
+
}
|
|
185
|
+
}, _callee6);
|
|
186
|
+
})));
|
|
187
|
+
it('reports a generic message when a non Error value is thrown', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee7() {
|
|
188
|
+
var _renderHook6, result;
|
|
189
|
+
return _regeneratorRuntime.wrap(function (_context7) {
|
|
190
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
191
|
+
case 0:
|
|
192
|
+
getFrequentlyUsedActionsMock.mockRejectedValue('boom');
|
|
193
|
+
jest.spyOn(console, 'error').mockImplementation(function () {
|
|
194
|
+
return undefined;
|
|
195
|
+
});
|
|
196
|
+
_renderHook6 = renderHook(function () {
|
|
197
|
+
return useFrequentlyUsedActions('agent-6', 'header');
|
|
198
|
+
}), result = _renderHook6.result;
|
|
199
|
+
_context7.next = 1;
|
|
200
|
+
return waitFor(function () {
|
|
201
|
+
return expect(result.current.error).toBe('An unknown error occurred');
|
|
202
|
+
});
|
|
203
|
+
case 1:
|
|
204
|
+
case "end":
|
|
205
|
+
return _context7.stop();
|
|
206
|
+
}
|
|
207
|
+
}, _callee7);
|
|
208
|
+
})));
|
|
209
|
+
it('ignores responses and errors from superseded requests', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee0() {
|
|
210
|
+
var resolveFirst, rejectSecond, _renderHook7, result, first, second;
|
|
211
|
+
return _regeneratorRuntime.wrap(function (_context0) {
|
|
212
|
+
while (1) switch (_context0.prev = _context0.next) {
|
|
213
|
+
case 0:
|
|
214
|
+
resolveFirst = function resolveFirst() {
|
|
215
|
+
return undefined;
|
|
216
|
+
};
|
|
217
|
+
rejectSecond = function rejectSecond() {
|
|
218
|
+
return undefined;
|
|
219
|
+
};
|
|
220
|
+
getFrequentlyUsedActionsMock.mockImplementationOnce(function () {
|
|
221
|
+
return new Promise(function (resolve) {
|
|
222
|
+
resolveFirst = resolve;
|
|
223
|
+
});
|
|
224
|
+
}).mockImplementationOnce(function () {
|
|
225
|
+
return new Promise(function (_, reject) {
|
|
226
|
+
rejectSecond = reject;
|
|
227
|
+
});
|
|
228
|
+
}).mockResolvedValue({
|
|
229
|
+
data: [{
|
|
230
|
+
id: 'latest',
|
|
231
|
+
title: 'Latest'
|
|
232
|
+
}]
|
|
233
|
+
});
|
|
234
|
+
_renderHook7 = renderHook(function () {
|
|
235
|
+
return useFrequentlyUsedActions(undefined, 'header');
|
|
236
|
+
}), result = _renderHook7.result;
|
|
237
|
+
first = Promise.resolve();
|
|
238
|
+
second = Promise.resolve();
|
|
239
|
+
act(function () {
|
|
240
|
+
first = result.current.handleGetFrequentlyUsedActions('agent-7');
|
|
241
|
+
second = result.current.handleGetFrequentlyUsedActions('agent-7');
|
|
242
|
+
});
|
|
243
|
+
_context0.next = 1;
|
|
244
|
+
return act(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee8() {
|
|
245
|
+
return _regeneratorRuntime.wrap(function (_context8) {
|
|
246
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
247
|
+
case 0:
|
|
248
|
+
_context8.next = 1;
|
|
249
|
+
return result.current.handleGetFrequentlyUsedActions('agent-7');
|
|
250
|
+
case 1:
|
|
251
|
+
case "end":
|
|
252
|
+
return _context8.stop();
|
|
253
|
+
}
|
|
254
|
+
}, _callee8);
|
|
255
|
+
})));
|
|
256
|
+
case 1:
|
|
257
|
+
_context0.next = 2;
|
|
258
|
+
return act(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee9() {
|
|
259
|
+
return _regeneratorRuntime.wrap(function (_context9) {
|
|
260
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
261
|
+
case 0:
|
|
262
|
+
resolveFirst({
|
|
263
|
+
data: [{
|
|
264
|
+
id: 'stale',
|
|
265
|
+
title: 'Stale'
|
|
266
|
+
}]
|
|
267
|
+
});
|
|
268
|
+
rejectSecond(new Error('stale error'));
|
|
269
|
+
_context9.next = 1;
|
|
270
|
+
return first;
|
|
271
|
+
case 1:
|
|
272
|
+
_context9.next = 2;
|
|
273
|
+
return second;
|
|
274
|
+
case 2:
|
|
275
|
+
case "end":
|
|
276
|
+
return _context9.stop();
|
|
277
|
+
}
|
|
278
|
+
}, _callee9);
|
|
279
|
+
})));
|
|
280
|
+
case 2:
|
|
281
|
+
expect(result.current.actions).toEqual([{
|
|
282
|
+
id: 'latest',
|
|
283
|
+
title: 'Latest'
|
|
284
|
+
}]);
|
|
285
|
+
expect(result.current.error).toBeNull();
|
|
286
|
+
case 3:
|
|
287
|
+
case "end":
|
|
288
|
+
return _context0.stop();
|
|
289
|
+
}
|
|
290
|
+
}, _callee0);
|
|
291
|
+
})));
|
|
292
|
+
});
|
|
293
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhY3QiLCJyZW5kZXJIb29rIiwid2FpdEZvciIsImdldEZyZXF1ZW50bHlVc2VkQWN0aW9ucyIsIm1hcE1haWFTZWN0aW9uVG9GdWFzQXBpU2VjdGlvbiIsInVzZUZyZXF1ZW50bHlVc2VkQWN0aW9ucyIsImJ1aWxkRnJlcXVlbnRseVVzZWRBY3Rpb25zQ2FjaGVLZXkiLCJjbGVhckZyZXF1ZW50bHlVc2VkQWN0aW9uc0NhY2hlIiwic2V0Q2FjaGVkRnJlcXVlbnRseVVzZWRBY3Rpb25zIiwiamVzdCIsIm1vY2siLCJmbiIsInVzZVQiLCJpMThuIiwibGFuZ3VhZ2UiLCJnZXRGcmVxdWVudGx5VXNlZEFjdGlvbnNNb2NrIiwiZGVzY3JpYmUiLCJpdCIsImV4cGVjdCIsInRvQmUiLCJiZWZvcmVFYWNoIiwiY2xlYXJBbGxNb2NrcyIsIm1vY2tSZXNvbHZlZFZhbHVlIiwiZGF0YSIsImlkIiwibmFtZSIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwiX3JlbmRlckhvb2siLCJyZXN1bHQiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImN1cnJlbnQiLCJsb2FkaW5nIiwidG9IYXZlQmVlbkNhbGxlZFdpdGgiLCJhZ2VudElkIiwibGFuZyIsInNlY3Rpb24iLCJlbnRpdHlUeXBlIiwiYWN0aW9ucyIsInRvRXF1YWwiLCJzdG9wIiwidW5kZWZpbmVkIiwibm90IiwidG9IYXZlQmVlbkNhbGxlZCIsIl9jYWxsZWUyIiwiX3JlbmRlckhvb2syIiwiX2NvbnRleHQyIiwiZXJyb3IiLCJ0b0JlVHJ1dGh5IiwiX2NhbGxlZTQiLCJfcmVuZGVySG9vazMiLCJfY29udGV4dDQiLCJfY2FsbGVlMyIsIl9jb250ZXh0MyIsImhhbmRsZUdldEZyZXF1ZW50bHlVc2VkQWN0aW9ucyIsIl9jYWxsZWU1IiwiX3JlbmRlckhvb2s0IiwiX2NvbnRleHQ1Iiwib2JqZWN0Q29udGFpbmluZyIsIl9jYWxsZWU2IiwiY2FjaGVkIiwiX3JlbmRlckhvb2s1IiwiX2NvbnRleHQ2IiwidGl0bGUiLCJfY2FsbGVlNyIsIl9yZW5kZXJIb29rNiIsIl9jb250ZXh0NyIsIm1vY2tSZWplY3RlZFZhbHVlIiwic3B5T24iLCJjb25zb2xlIiwibW9ja0ltcGxlbWVudGF0aW9uIiwiX2NhbGxlZTAiLCJyZXNvbHZlRmlyc3QiLCJyZWplY3RTZWNvbmQiLCJfcmVuZGVySG9vazciLCJmaXJzdCIsInNlY29uZCIsIl9jb250ZXh0MCIsIm1vY2tJbXBsZW1lbnRhdGlvbk9uY2UiLCJQcm9taXNlIiwicmVzb2x2ZSIsIl8iLCJyZWplY3QiLCJfY2FsbGVlOCIsIl9jb250ZXh0OCIsIl9jYWxsZWU5IiwiX2NvbnRleHQ5IiwiRXJyb3IiLCJ0b0JlTnVsbCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VGcmVxdWVudGx5VXNlZEFjdGlvbnMuc3BlYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhY3QsIHJlbmRlckhvb2ssIHdhaXRGb3IgfSBmcm9tICdAdGVzdGluZy1saWJyYXJ5L3JlYWN0J1xuaW1wb3J0IHsgZ2V0RnJlcXVlbnRseVVzZWRBY3Rpb25zIH0gZnJvbSAnLi4vc2VydmljZXMvbWFpYS9BY3Rpb25zL2dldEZyZXF1ZW50bHlVc2VkQWN0aW9ucydcbmltcG9ydCB7IG1hcE1haWFTZWN0aW9uVG9GdWFzQXBpU2VjdGlvbiwgdXNlRnJlcXVlbnRseVVzZWRBY3Rpb25zIH0gZnJvbSAnLi91c2VGcmVxdWVudGx5VXNlZEFjdGlvbnMnXG5pbXBvcnQge1xuICBidWlsZEZyZXF1ZW50bHlVc2VkQWN0aW9uc0NhY2hlS2V5LFxuICBjbGVhckZyZXF1ZW50bHlVc2VkQWN0aW9uc0NhY2hlLFxuICBzZXRDYWNoZWRGcmVxdWVudGx5VXNlZEFjdGlvbnMsXG59IGZyb20gJy4vZnJlcXVlbnRseVVzZWRBY3Rpb25zQ2FjaGUnXG5pbXBvcnQgdHlwZSB7IEFjdGlvbiB9IGZyb20gJy4uL3R5cGVzL0FjdGlvbidcblxuamVzdC5tb2NrKCcuLi9zZXJ2aWNlcy9tYWlhL0FjdGlvbnMvZ2V0RnJlcXVlbnRseVVzZWRBY3Rpb25zJywgKCkgPT4gKHtcbiAgZ2V0RnJlcXVlbnRseVVzZWRBY3Rpb25zOiBqZXN0LmZuKCksXG59KSlcblxuamVzdC5tb2NrKCcuL3VzZVQnLCAoKSA9PiAoe1xuICB1c2VUOiAoKSA9PiAoeyBpMThuOiB7IGxhbmd1YWdlOiAnZXMnIH0gfSksXG59KSlcblxuY29uc3QgZ2V0RnJlcXVlbnRseVVzZWRBY3Rpb25zTW9jayA9IGdldEZyZXF1ZW50bHlVc2VkQWN0aW9ucyBhcyBqZXN0Lk1vY2tlZEZ1bmN0aW9uPHR5cGVvZiBnZXRGcmVxdWVudGx5VXNlZEFjdGlvbnM+XG5cbmRlc2NyaWJlKCdtYXBNYWlhU2VjdGlvblRvRnVhc0FwaVNlY3Rpb24nLCAoKSA9PiB7XG4gIGl0KCdtYXBzIG1haWEgc2VjdGlvbnMgdG8gQVBJIHNlY3Rpb24gbmFtZXMnLCAoKSA9PiB7XG4gICAgZXhwZWN0KG1hcE1haWFTZWN0aW9uVG9GdWFzQXBpU2VjdGlvbignaG9tZV93aXRoX2hvdXJzJykpLnRvQmUoJ2hvbWVfd2l0aF9ob3VycycpXG4gICAgZXhwZWN0KG1hcE1haWFTZWN0aW9uVG9GdWFzQXBpU2VjdGlvbignaG9tZV9jb2xsYWJvcmF0b3InKSkudG9CZSgnaG9tZV9jb2xsYWJvcmF0b3InKVxuICAgIGV4cGVjdChtYXBNYWlhU2VjdGlvblRvRnVhc0FwaVNlY3Rpb24oJ3Rhc2snKSkudG9CZSgndGFza3MnKVxuICAgIGV4cGVjdChtYXBNYWlhU2VjdGlvblRvRnVhc0FwaVNlY3Rpb24oJ3BsYW5uZXInKSkudG9CZSgncGxhbm5lcicpXG4gICAgZXhwZWN0KG1hcE1haWFTZWN0aW9uVG9GdWFzQXBpU2VjdGlvbignaGVhZGVyJykpLnRvQmUoJ2hvbWUnKVxuICB9KVxufSlcblxuZGVzY3JpYmUoJ3VzZUZyZXF1ZW50bHlVc2VkQWN0aW9ucycsICgpID0+IHtcbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgamVzdC5jbGVhckFsbE1vY2tzKClcbiAgICBjbGVhckZyZXF1ZW50bHlVc2VkQWN0aW9uc0NhY2hlKClcbiAgICBnZXRGcmVxdWVudGx5VXNlZEFjdGlvbnNNb2NrLm1vY2tSZXNvbHZlZFZhbHVlKHtcbiAgICAgIGRhdGE6IFt7IGlkOiAnYWN0aW9uLTEnLCBuYW1lOiAnU3VtbWFyaXplJyB9XSxcbiAgICB9IGFzIG5ldmVyKVxuICB9KVxuXG4gIGl0KCdsb2FkcyBhY3Rpb25zIHdoZW4gYWdlbnRJZCBpcyBwcm92aWRlZCcsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB7IHJlc3VsdCB9ID0gcmVuZGVySG9vaygoKSA9PiB1c2VGcmVxdWVudGx5VXNlZEFjdGlvbnMoJ2FnZW50LTEnLCAndGFzaycsICdwcm9qZWN0JykpXG5cbiAgICBhd2FpdCB3YWl0Rm9yKCgpID0+IGV4cGVjdChyZXN1bHQuY3VycmVudC5sb2FkaW5nKS50b0JlKGZhbHNlKSlcblxuICAgIGV4cGVjdChnZXRGcmVxdWVudGx5VXNlZEFjdGlvbnNNb2NrKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh7XG4gICAgICBhZ2VudElkOiAnYWdlbnQtMScsXG4gICAgICBsYW5nOiAnZXMnLFxuICAgICAgc2VjdGlvbjogJ3Rhc2tzJyxcbiAgICAgIGVudGl0eVR5cGU6ICdwcm9qZWN0JyxcbiAgICB9KVxuICAgIGV4cGVjdChyZXN1bHQuY3VycmVudC5hY3Rpb25zKS50b0VxdWFsKFt7IGlkOiAnYWN0aW9uLTEnLCBuYW1lOiAnU3VtbWFyaXplJyB9XSlcbiAgfSlcblxuICBpdCgnZG9lcyBub3QgZmV0Y2ggd2l0aG91dCBhbiBhZ2VudCBpZCcsICgpID0+IHtcbiAgICByZW5kZXJIb29rKCgpID0+IHVzZUZyZXF1ZW50bHlVc2VkQWN0aW9ucyh1bmRlZmluZWQsICdoZWFkZXInKSlcblxuICAgIGV4cGVjdChnZXRGcmVxdWVudGx5VXNlZEFjdGlvbnNNb2NrKS5ub3QudG9IYXZlQmVlbkNhbGxlZCgpXG4gIH0pXG5cbiAgaXQoJ3NldHMgZXJyb3Igd2hlbiB0aGUgcmVzcG9uc2UgaXMgaW52YWxpZCcsIGFzeW5jICgpID0+IHtcbiAgICBnZXRGcmVxdWVudGx5VXNlZEFjdGlvbnNNb2NrLm1vY2tSZXNvbHZlZFZhbHVlKHsgZGF0YTogbnVsbCB9IGFzIG5ldmVyKVxuICAgIGNvbnN0IHsgcmVzdWx0IH0gPSByZW5kZXJIb29rKCgpID0+IHVzZUZyZXF1ZW50bHlVc2VkQWN0aW9ucygnYWdlbnQtMicsICdoZWFkZXInKSlcblxuICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4gZXhwZWN0KHJlc3VsdC5jdXJyZW50LmVycm9yKS50b0JlVHJ1dGh5KCkpXG5cbiAgICBleHBlY3QocmVzdWx0LmN1cnJlbnQuZXJyb3IpLnRvQmUoJ0ludmFsaWQgcmVzcG9uc2UgZm9ybWF0IGZyb20gc2VydmVyJylcbiAgICBleHBlY3QocmVzdWx0LmN1cnJlbnQuYWN0aW9ucykudG9FcXVhbChbXSlcbiAgfSlcblxuICBpdCgnc3VwcG9ydHMgbWFudWFsIHJlZmV0Y2gnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgeyByZXN1bHQgfSA9IHJlbmRlckhvb2soKCkgPT4gdXNlRnJlcXVlbnRseVVzZWRBY3Rpb25zKHVuZGVmaW5lZCwgJ3BsYW5uZXInKSlcblxuICAgIGF3YWl0IGFjdChhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCByZXN1bHQuY3VycmVudC5oYW5kbGVHZXRGcmVxdWVudGx5VXNlZEFjdGlvbnMoJ2FnZW50LTMnKVxuICAgIH0pXG5cbiAgICBleHBlY3QoZ2V0RnJlcXVlbnRseVVzZWRBY3Rpb25zTW9jaykudG9IYXZlQmVlbkNhbGxlZFdpdGgoe1xuICAgICAgYWdlbnRJZDogJ2FnZW50LTMnLFxuICAgICAgbGFuZzogJ2VzJyxcbiAgICAgIHNlY3Rpb246ICdwbGFubmVyJyxcbiAgICAgIGVudGl0eVR5cGU6IHVuZGVmaW5lZCxcbiAgICB9KVxuICB9KVxuXG4gIGl0KCdkZWZhdWx0cyB0byB0aGUgaG9tZSBzZWN0aW9uIHdoZW4gbm8gbWFpYSBzZWN0aW9uIGlzIGdpdmVuJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgcmVzdWx0IH0gPSByZW5kZXJIb29rKCgpID0+IHVzZUZyZXF1ZW50bHlVc2VkQWN0aW9ucygnYWdlbnQtNCcpKVxuXG4gICAgYXdhaXQgd2FpdEZvcigoKSA9PiBleHBlY3QocmVzdWx0LmN1cnJlbnQubG9hZGluZykudG9CZShmYWxzZSkpXG5cbiAgICBleHBlY3QoZ2V0RnJlcXVlbnRseVVzZWRBY3Rpb25zTW9jaykudG9IYXZlQmVlbkNhbGxlZFdpdGgoZXhwZWN0Lm9iamVjdENvbnRhaW5pbmcoeyBzZWN0aW9uOiAnaG9tZScgfSkpXG4gIH0pXG5cbiAgaXQoJ3Nob3dzIGNhY2hlZCBhY3Rpb25zIHJpZ2h0IGF3YXkgYW5kIHJlZnJlc2hlcyB0aGVtIGluIHRoZSBiYWNrZ3JvdW5kJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGNhY2hlZCA9IFt7IGlkOiAnY2FjaGVkJywgdGl0bGU6ICdDYWNoZWQnIH1dIGFzIEFjdGlvbltdXG4gICAgc2V0Q2FjaGVkRnJlcXVlbnRseVVzZWRBY3Rpb25zKGJ1aWxkRnJlcXVlbnRseVVzZWRBY3Rpb25zQ2FjaGVLZXkoJ2FnZW50LTUnLCAnaG9tZScpLCBjYWNoZWQpXG5cbiAgICBjb25zdCB7IHJlc3VsdCB9ID0gcmVuZGVySG9vaygoKSA9PiB1c2VGcmVxdWVudGx5VXNlZEFjdGlvbnMoJ2FnZW50LTUnLCAnaGVhZGVyJykpXG5cbiAgICBleHBlY3QocmVzdWx0LmN1cnJlbnQuYWN0aW9ucykudG9FcXVhbChjYWNoZWQpXG4gICAgZXhwZWN0KHJlc3VsdC5jdXJyZW50LmxvYWRpbmcpLnRvQmUoZmFsc2UpXG4gICAgYXdhaXQgd2FpdEZvcigoKSA9PiBleHBlY3QocmVzdWx0LmN1cnJlbnQuYWN0aW9ucykudG9FcXVhbChbeyBpZDogJ2FjdGlvbi0xJywgbmFtZTogJ1N1bW1hcml6ZScgfV0pKVxuICB9KVxuXG4gIGl0KCdyZXBvcnRzIGEgZ2VuZXJpYyBtZXNzYWdlIHdoZW4gYSBub24gRXJyb3IgdmFsdWUgaXMgdGhyb3duJywgYXN5bmMgKCkgPT4ge1xuICAgIGdldEZyZXF1ZW50bHlVc2VkQWN0aW9uc01vY2subW9ja1JlamVjdGVkVmFsdWUoJ2Jvb20nKVxuICAgIGplc3Quc3B5T24oY29uc29sZSwgJ2Vycm9yJykubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IHVuZGVmaW5lZClcbiAgICBjb25zdCB7IHJlc3VsdCB9ID0gcmVuZGVySG9vaygoKSA9PiB1c2VGcmVxdWVudGx5VXNlZEFjdGlvbnMoJ2FnZW50LTYnLCAnaGVhZGVyJykpXG5cbiAgICBhd2FpdCB3YWl0Rm9yKCgpID0+IGV4cGVjdChyZXN1bHQuY3VycmVudC5lcnJvcikudG9CZSgnQW4gdW5rbm93biBlcnJvciBvY2N1cnJlZCcpKVxuICB9KVxuXG4gIGl0KCdpZ25vcmVzIHJlc3BvbnNlcyBhbmQgZXJyb3JzIGZyb20gc3VwZXJzZWRlZCByZXF1ZXN0cycsIGFzeW5jICgpID0+IHtcbiAgICBsZXQgcmVzb2x2ZUZpcnN0OiAodmFsdWU6IHVua25vd24pID0+IHZvaWQgPSAoKSA9PiB1bmRlZmluZWRcbiAgICBsZXQgcmVqZWN0U2Vjb25kOiAocmVhc29uOiB1bmtub3duKSA9PiB2b2lkID0gKCkgPT4gdW5kZWZpbmVkXG4gICAgZ2V0RnJlcXVlbnRseVVzZWRBY3Rpb25zTW9ja1xuICAgICAgLm1vY2tJbXBsZW1lbnRhdGlvbk9uY2UoXG4gICAgICAgICgpID0+XG4gICAgICAgICAgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XG4gICAgICAgICAgICByZXNvbHZlRmlyc3QgPSByZXNvbHZlXG4gICAgICAgICAgfSkgYXMgbmV2ZXJcbiAgICAgIClcbiAgICAgIC5tb2NrSW1wbGVtZW50YXRpb25PbmNlKFxuICAgICAgICAoKSA9PlxuICAgICAgICAgIG5ldyBQcm9taXNlKChfLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIHJlamVjdFNlY29uZCA9IHJlamVjdFxuICAgICAgICAgIH0pIGFzIG5ldmVyXG4gICAgICApXG4gICAgICAubW9ja1Jlc29sdmVkVmFsdWUoeyBkYXRhOiBbeyBpZDogJ2xhdGVzdCcsIHRpdGxlOiAnTGF0ZXN0JyB9XSB9IGFzIG5ldmVyKVxuXG4gICAgY29uc3QgeyByZXN1bHQgfSA9IHJlbmRlckhvb2soKCkgPT4gdXNlRnJlcXVlbnRseVVzZWRBY3Rpb25zKHVuZGVmaW5lZCwgJ2hlYWRlcicpKVxuXG4gICAgbGV0IGZpcnN0OiBQcm9taXNlPHZvaWQ+ID0gUHJvbWlzZS5yZXNvbHZlKClcbiAgICBsZXQgc2Vjb25kOiBQcm9taXNlPHZvaWQ+ID0gUHJvbWlzZS5yZXNvbHZlKClcbiAgICBhY3QoKCkgPT4ge1xuICAgICAgZmlyc3QgPSByZXN1bHQuY3VycmVudC5oYW5kbGVHZXRGcmVxdWVudGx5VXNlZEFjdGlvbnMoJ2FnZW50LTcnKVxuICAgICAgc2Vjb25kID0gcmVzdWx0LmN1cnJlbnQuaGFuZGxlR2V0RnJlcXVlbnRseVVzZWRBY3Rpb25zKCdhZ2VudC03JylcbiAgICB9KVxuICAgIGF3YWl0IGFjdChhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCByZXN1bHQuY3VycmVudC5oYW5kbGVHZXRGcmVxdWVudGx5VXNlZEFjdGlvbnMoJ2FnZW50LTcnKVxuICAgIH0pXG4gICAgYXdhaXQgYWN0KGFzeW5jICgpID0+IHtcbiAgICAgIHJlc29sdmVGaXJzdCh7IGRhdGE6IFt7IGlkOiAnc3RhbGUnLCB0aXRsZTogJ1N0YWxlJyB9XSB9KVxuICAgICAgcmVqZWN0U2Vjb25kKG5ldyBFcnJvcignc3RhbGUgZXJyb3InKSlcbiAgICAgIGF3YWl0IGZpcnN0XG4gICAgICBhd2FpdCBzZWNvbmRcbiAgICB9KVxuXG4gICAgZXhwZWN0KHJlc3VsdC5jdXJyZW50LmFjdGlvbnMpLnRvRXF1YWwoW3sgaWQ6ICdsYXRlc3QnLCB0aXRsZTogJ0xhdGVzdCcgfV0pXG4gICAgZXhwZWN0KHJlc3VsdC5jdXJyZW50LmVycm9yKS50b0JlTnVsbCgpXG4gIH0pXG59KVxuIl0s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
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { act, renderHook } from '@testing-library/react';
|
|
2
|
+
import { useIsMaiaPageRoute } from './useIsMaiaPageRoute';
|
|
3
|
+
import { MAIA_PAGE_ROOT_ATTR, setMaiaPagePresence } from '../utils/maiaPageRoute';
|
|
4
|
+
describe('useIsMaiaPageRoute', function () {
|
|
5
|
+
afterEach(function () {
|
|
6
|
+
document.documentElement.removeAttribute(MAIA_PAGE_ROOT_ATTR);
|
|
7
|
+
window.history.replaceState({}, '', '/');
|
|
8
|
+
});
|
|
9
|
+
it('follows the maia page presence without changing other state', function () {
|
|
10
|
+
window.history.replaceState({}, '', '/tasks');
|
|
11
|
+
var _renderHook = renderHook(function () {
|
|
12
|
+
return useIsMaiaPageRoute();
|
|
13
|
+
}),
|
|
14
|
+
result = _renderHook.result;
|
|
15
|
+
expect(result.current).toBe(false);
|
|
16
|
+
act(function () {
|
|
17
|
+
setMaiaPagePresence(true);
|
|
18
|
+
});
|
|
19
|
+
expect(result.current).toBe(true);
|
|
20
|
+
act(function () {
|
|
21
|
+
setMaiaPagePresence(false);
|
|
22
|
+
});
|
|
23
|
+
expect(result.current).toBe(false);
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhY3QiLCJyZW5kZXJIb29rIiwidXNlSXNNYWlhUGFnZVJvdXRlIiwiTUFJQV9QQUdFX1JPT1RfQVRUUiIsInNldE1haWFQYWdlUHJlc2VuY2UiLCJkZXNjcmliZSIsImFmdGVyRWFjaCIsImRvY3VtZW50IiwiZG9jdW1lbnRFbGVtZW50IiwicmVtb3ZlQXR0cmlidXRlIiwid2luZG93IiwiaGlzdG9yeSIsInJlcGxhY2VTdGF0ZSIsIml0IiwiX3JlbmRlckhvb2siLCJyZXN1bHQiLCJleHBlY3QiLCJjdXJyZW50IiwidG9CZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VJc01haWFQYWdlUm91dGUuc3BlYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhY3QsIHJlbmRlckhvb2sgfSBmcm9tICdAdGVzdGluZy1saWJyYXJ5L3JlYWN0J1xuaW1wb3J0IHsgdXNlSXNNYWlhUGFnZVJvdXRlIH0gZnJvbSAnLi91c2VJc01haWFQYWdlUm91dGUnXG5pbXBvcnQgeyBNQUlBX1BBR0VfUk9PVF9BVFRSLCBzZXRNYWlhUGFnZVByZXNlbmNlIH0gZnJvbSAnLi4vdXRpbHMvbWFpYVBhZ2VSb3V0ZSdcblxuZGVzY3JpYmUoJ3VzZUlzTWFpYVBhZ2VSb3V0ZScsICgpID0+IHtcbiAgYWZ0ZXJFYWNoKCgpID0+IHtcbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKE1BSUFfUEFHRV9ST09UX0FUVFIpXG4gICAgd2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKHt9LCAnJywgJy8nKVxuICB9KVxuXG4gIGl0KCdmb2xsb3dzIHRoZSBtYWlhIHBhZ2UgcHJlc2VuY2Ugd2l0aG91dCBjaGFuZ2luZyBvdGhlciBzdGF0ZScsICgpID0+IHtcbiAgICB3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUoe30sICcnLCAnL3Rhc2tzJylcbiAgICBjb25zdCB7IHJlc3VsdCB9ID0gcmVuZGVySG9vaygoKSA9PiB1c2VJc01haWFQYWdlUm91dGUoKSlcbiAgICBleHBlY3QocmVzdWx0LmN1cnJlbnQpLnRvQmUoZmFsc2UpXG5cbiAgICBhY3QoKCkgPT4ge1xuICAgICAgc2V0TWFpYVBhZ2VQcmVzZW5jZSh0cnVlKVxuICAgIH0pXG4gICAgZXhwZWN0KHJlc3VsdC5jdXJyZW50KS50b0JlKHRydWUpXG5cbiAgICBhY3QoKCkgPT4ge1xuICAgICAgc2V0TWFpYVBhZ2VQcmVzZW5jZShmYWxzZSlcbiAgICB9KVxuICAgIGV4cGVjdChyZXN1bHQuY3VycmVudCkudG9CZShmYWxzZSlcbiAgfSlcbn0pXG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLEdBQUcsRUFBRUMsVUFBVSxRQUFRLHdCQUF3QjtBQUN4RCxTQUFTQyxrQkFBa0IsUUFBUSxzQkFBc0I7QUFDekQsU0FBU0MsbUJBQW1CLEVBQUVDLG1CQUFtQixRQUFRLHdCQUF3QjtBQUVqRkMsUUFBUSxDQUFDLG9CQUFvQixFQUFFLFlBQU07RUFDbkNDLFNBQVMsQ0FBQyxZQUFNO0lBQ2RDLFFBQVEsQ0FBQ0MsZUFBZSxDQUFDQyxlQUFlLENBQUNOLG1CQUFtQixDQUFDO0lBQzdETyxNQUFNLENBQUNDLE9BQU8sQ0FBQ0MsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUM7RUFDMUMsQ0FBQyxDQUFDO0VBRUZDLEVBQUUsQ0FBQyw2REFBNkQsRUFBRSxZQUFNO0lBQ3RFSCxNQUFNLENBQUNDLE9BQU8sQ0FBQ0MsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxRQUFRLENBQUM7SUFDN0MsSUFBQUUsV0FBQSxHQUFtQmIsVUFBVSxDQUFDO1FBQUEsT0FBTUMsa0JBQWtCLENBQUMsQ0FBQztNQUFBLEVBQUM7TUFBakRhLE1BQU0sR0FBQUQsV0FBQSxDQUFOQyxNQUFNO0lBQ2RDLE1BQU0sQ0FBQ0QsTUFBTSxDQUFDRSxPQUFPLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUVsQ2xCLEdBQUcsQ0FBQyxZQUFNO01BQ1JJLG1CQUFtQixDQUFDLElBQUksQ0FBQztJQUMzQixDQUFDLENBQUM7SUFDRlksTUFBTSxDQUFDRCxNQUFNLENBQUNFLE9BQU8sQ0FBQyxDQUFDQyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBRWpDbEIsR0FBRyxDQUFDLFlBQU07TUFDUkksbUJBQW1CLENBQUMsS0FBSyxDQUFDO0lBQzVCLENBQUMsQ0FBQztJQUNGWSxNQUFNLENBQUNELE1BQU0sQ0FBQ0UsT0FBTyxDQUFDLENBQUNDLElBQUksQ0FBQyxLQUFLLENBQUM7RUFDcEMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
2
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
3
|
+
import { act, renderHook } from '@testing-library/react';
|
|
4
|
+
import { deleteKnowledge } from '../../services/maia/Knowledge';
|
|
5
|
+
import { useDeleteKnowledge } from './deleteKnowledge';
|
|
6
|
+
jest.mock('../../services/maia/Knowledge', function () {
|
|
7
|
+
return {
|
|
8
|
+
deleteKnowledge: jest.fn()
|
|
9
|
+
};
|
|
10
|
+
});
|
|
11
|
+
var handleSnackbarError = jest.fn();
|
|
12
|
+
jest.mock('../useSnackBarManager/useSnackBarManager', function () {
|
|
13
|
+
return {
|
|
14
|
+
useSnackBarManager: function useSnackBarManager() {
|
|
15
|
+
return {
|
|
16
|
+
handleSnackbarError: handleSnackbarError
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
});
|
|
21
|
+
var deleteKnowledgeMock = deleteKnowledge;
|
|
22
|
+
describe('useDeleteKnowledge', function () {
|
|
23
|
+
beforeEach(function () {
|
|
24
|
+
jest.clearAllMocks();
|
|
25
|
+
deleteKnowledgeMock.mockResolvedValue(true);
|
|
26
|
+
});
|
|
27
|
+
it('deletes knowledge and marks success', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
28
|
+
var _renderHook, result;
|
|
29
|
+
return _regeneratorRuntime.wrap(function (_context2) {
|
|
30
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
31
|
+
case 0:
|
|
32
|
+
_renderHook = renderHook(function () {
|
|
33
|
+
return useDeleteKnowledge();
|
|
34
|
+
}), result = _renderHook.result;
|
|
35
|
+
_context2.next = 1;
|
|
36
|
+
return act(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
37
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
38
|
+
while (1) switch (_context.prev = _context.next) {
|
|
39
|
+
case 0:
|
|
40
|
+
_context.next = 1;
|
|
41
|
+
return result.current.handleDeleteKnowledge(['kb-1', 'kb-2'], 'agent-1');
|
|
42
|
+
case 1:
|
|
43
|
+
case "end":
|
|
44
|
+
return _context.stop();
|
|
45
|
+
}
|
|
46
|
+
}, _callee);
|
|
47
|
+
})));
|
|
48
|
+
case 1:
|
|
49
|
+
expect(deleteKnowledgeMock).toHaveBeenCalledWith(['kb-1', 'kb-2'], 'agent-1');
|
|
50
|
+
expect(result.current.success).toBe(true);
|
|
51
|
+
expect(result.current.error).toBeNull();
|
|
52
|
+
case 2:
|
|
53
|
+
case "end":
|
|
54
|
+
return _context2.stop();
|
|
55
|
+
}
|
|
56
|
+
}, _callee2);
|
|
57
|
+
})));
|
|
58
|
+
it('sets error and rethrows when delete fails', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
|
|
59
|
+
var _renderHook2, result;
|
|
60
|
+
return _regeneratorRuntime.wrap(function (_context4) {
|
|
61
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
62
|
+
case 0:
|
|
63
|
+
deleteKnowledgeMock.mockRejectedValue(new Error('Delete failed'));
|
|
64
|
+
_renderHook2 = renderHook(function () {
|
|
65
|
+
return useDeleteKnowledge();
|
|
66
|
+
}), result = _renderHook2.result;
|
|
67
|
+
_context4.next = 1;
|
|
68
|
+
return act(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
|
|
69
|
+
return _regeneratorRuntime.wrap(function (_context3) {
|
|
70
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
71
|
+
case 0:
|
|
72
|
+
_context3.next = 1;
|
|
73
|
+
return expect(result.current.handleDeleteKnowledge(['kb-1'], 'agent-1')).rejects.toThrow('Delete failed');
|
|
74
|
+
case 1:
|
|
75
|
+
case "end":
|
|
76
|
+
return _context3.stop();
|
|
77
|
+
}
|
|
78
|
+
}, _callee3);
|
|
79
|
+
})));
|
|
80
|
+
case 1:
|
|
81
|
+
expect(result.current.error).toBe('Delete failed');
|
|
82
|
+
expect(handleSnackbarError).toHaveBeenCalledWith('deleteKnowledge');
|
|
83
|
+
case 2:
|
|
84
|
+
case "end":
|
|
85
|
+
return _context4.stop();
|
|
86
|
+
}
|
|
87
|
+
}, _callee4);
|
|
88
|
+
})));
|
|
89
|
+
it('resetSuccess clears the success flag', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee6() {
|
|
90
|
+
var _renderHook3, result;
|
|
91
|
+
return _regeneratorRuntime.wrap(function (_context6) {
|
|
92
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
93
|
+
case 0:
|
|
94
|
+
_renderHook3 = renderHook(function () {
|
|
95
|
+
return useDeleteKnowledge();
|
|
96
|
+
}), result = _renderHook3.result;
|
|
97
|
+
_context6.next = 1;
|
|
98
|
+
return act(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee5() {
|
|
99
|
+
return _regeneratorRuntime.wrap(function (_context5) {
|
|
100
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
101
|
+
case 0:
|
|
102
|
+
_context5.next = 1;
|
|
103
|
+
return result.current.handleDeleteKnowledge(['kb-1'], 'agent-1');
|
|
104
|
+
case 1:
|
|
105
|
+
case "end":
|
|
106
|
+
return _context5.stop();
|
|
107
|
+
}
|
|
108
|
+
}, _callee5);
|
|
109
|
+
})));
|
|
110
|
+
case 1:
|
|
111
|
+
act(function () {
|
|
112
|
+
result.current.handleResetSuccess();
|
|
113
|
+
});
|
|
114
|
+
expect(result.current.success).toBe(false);
|
|
115
|
+
case 2:
|
|
116
|
+
case "end":
|
|
117
|
+
return _context6.stop();
|
|
118
|
+
}
|
|
119
|
+
}, _callee6);
|
|
120
|
+
})));
|
|
121
|
+
});
|
|
122
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhY3QiLCJyZW5kZXJIb29rIiwiZGVsZXRlS25vd2xlZGdlIiwidXNlRGVsZXRlS25vd2xlZGdlIiwiamVzdCIsIm1vY2siLCJmbiIsImhhbmRsZVNuYWNrYmFyRXJyb3IiLCJ1c2VTbmFja0Jhck1hbmFnZXIiLCJkZWxldGVLbm93bGVkZ2VNb2NrIiwiZGVzY3JpYmUiLCJiZWZvcmVFYWNoIiwiY2xlYXJBbGxNb2NrcyIsIm1vY2tSZXNvbHZlZFZhbHVlIiwiaXQiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZTIiLCJfcmVuZGVySG9vayIsInJlc3VsdCIsIndyYXAiLCJfY29udGV4dDIiLCJwcmV2IiwibmV4dCIsIl9jYWxsZWUiLCJfY29udGV4dCIsImN1cnJlbnQiLCJoYW5kbGVEZWxldGVLbm93bGVkZ2UiLCJzdG9wIiwiZXhwZWN0IiwidG9IYXZlQmVlbkNhbGxlZFdpdGgiLCJzdWNjZXNzIiwidG9CZSIsImVycm9yIiwidG9CZU51bGwiLCJfY2FsbGVlNCIsIl9yZW5kZXJIb29rMiIsIl9jb250ZXh0NCIsIm1vY2tSZWplY3RlZFZhbHVlIiwiRXJyb3IiLCJfY2FsbGVlMyIsIl9jb250ZXh0MyIsInJlamVjdHMiLCJ0b1Rocm93IiwiX2NhbGxlZTYiLCJfcmVuZGVySG9vazMiLCJfY29udGV4dDYiLCJfY2FsbGVlNSIsIl9jb250ZXh0NSIsImhhbmRsZVJlc2V0U3VjY2VzcyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy91c2VLbm93bGVkZ2UvZGVsZXRlS25vd2xlZGdlLnNwZWMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWN0LCByZW5kZXJIb29rIH0gZnJvbSAnQHRlc3RpbmctbGlicmFyeS9yZWFjdCdcbmltcG9ydCB7IGRlbGV0ZUtub3dsZWRnZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21haWEvS25vd2xlZGdlJ1xuaW1wb3J0IHsgdXNlRGVsZXRlS25vd2xlZGdlIH0gZnJvbSAnLi9kZWxldGVLbm93bGVkZ2UnXG5cbmplc3QubW9jaygnLi4vLi4vc2VydmljZXMvbWFpYS9Lbm93bGVkZ2UnLCAoKSA9PiAoe1xuICBkZWxldGVLbm93bGVkZ2U6IGplc3QuZm4oKSxcbn0pKVxuXG5jb25zdCBoYW5kbGVTbmFja2JhckVycm9yID0gamVzdC5mbigpXG5cbmplc3QubW9jaygnLi4vdXNlU25hY2tCYXJNYW5hZ2VyL3VzZVNuYWNrQmFyTWFuYWdlcicsICgpID0+ICh7XG4gIHVzZVNuYWNrQmFyTWFuYWdlcjogKCkgPT4gKHsgaGFuZGxlU25hY2tiYXJFcnJvciB9KSxcbn0pKVxuXG5jb25zdCBkZWxldGVLbm93bGVkZ2VNb2NrID0gZGVsZXRlS25vd2xlZGdlIGFzIGplc3QuTW9ja2VkRnVuY3Rpb248dHlwZW9mIGRlbGV0ZUtub3dsZWRnZT5cblxuZGVzY3JpYmUoJ3VzZURlbGV0ZUtub3dsZWRnZScsICgpID0+IHtcbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgamVzdC5jbGVhckFsbE1vY2tzKClcbiAgICBkZWxldGVLbm93bGVkZ2VNb2NrLm1vY2tSZXNvbHZlZFZhbHVlKHRydWUpXG4gIH0pXG5cbiAgaXQoJ2RlbGV0ZXMga25vd2xlZGdlIGFuZCBtYXJrcyBzdWNjZXNzJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgcmVzdWx0IH0gPSByZW5kZXJIb29rKCgpID0+IHVzZURlbGV0ZUtub3dsZWRnZSgpKVxuXG4gICAgYXdhaXQgYWN0KGFzeW5jICgpID0+IHtcbiAgICAgIGF3YWl0IHJlc3VsdC5jdXJyZW50LmhhbmRsZURlbGV0ZUtub3dsZWRnZShbJ2tiLTEnLCAna2ItMiddLCAnYWdlbnQtMScpXG4gICAgfSlcblxuICAgIGV4cGVjdChkZWxldGVLbm93bGVkZ2VNb2NrKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChbJ2tiLTEnLCAna2ItMiddLCAnYWdlbnQtMScpXG4gICAgZXhwZWN0KHJlc3VsdC5jdXJyZW50LnN1Y2Nlc3MpLnRvQmUodHJ1ZSlcbiAgICBleHBlY3QocmVzdWx0LmN1cnJlbnQuZXJyb3IpLnRvQmVOdWxsKClcbiAgfSlcblxuICBpdCgnc2V0cyBlcnJvciBhbmQgcmV0aHJvd3Mgd2hlbiBkZWxldGUgZmFpbHMnLCBhc3luYyAoKSA9PiB7XG4gICAgZGVsZXRlS25vd2xlZGdlTW9jay5tb2NrUmVqZWN0ZWRWYWx1ZShuZXcgRXJyb3IoJ0RlbGV0ZSBmYWlsZWQnKSlcbiAgICBjb25zdCB7IHJlc3VsdCB9ID0gcmVuZGVySG9vaygoKSA9PiB1c2VEZWxldGVLbm93bGVkZ2UoKSlcblxuICAgIGF3YWl0IGFjdChhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCBleHBlY3QocmVzdWx0LmN1cnJlbnQuaGFuZGxlRGVsZXRlS25vd2xlZGdlKFsna2ItMSddLCAnYWdlbnQtMScpKS5yZWplY3RzLnRvVGhyb3coJ0RlbGV0ZSBmYWlsZWQnKVxuICAgIH0pXG5cbiAgICBleHBlY3QocmVzdWx0LmN1cnJlbnQuZXJyb3IpLnRvQmUoJ0RlbGV0ZSBmYWlsZWQnKVxuICAgIGV4cGVjdChoYW5kbGVTbmFja2JhckVycm9yKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCgnZGVsZXRlS25vd2xlZGdlJylcbiAgfSlcblxuICBpdCgncmVzZXRTdWNjZXNzIGNsZWFycyB0aGUgc3VjY2VzcyBmbGFnJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgcmVzdWx0IH0gPSByZW5kZXJIb29rKCgpID0+IHVzZURlbGV0ZUtub3dsZWRnZSgpKVxuXG4gICAgYXdhaXQgYWN0KGFzeW5jICgpID0+IHtcbiAgICAgIGF3YWl0IHJlc3VsdC5jdXJyZW50LmhhbmRsZURlbGV0ZUtub3dsZWRnZShbJ2tiLTEnXSwgJ2FnZW50LTEnKVxuICAgIH0pXG5cbiAgICBhY3QoKCkgPT4ge1xuICAgICAgcmVzdWx0LmN1cnJlbnQuaGFuZGxlUmVzZXRTdWNjZXNzKClcbiAgICB9KVxuXG4gICAgZXhwZWN0KHJlc3VsdC5jdXJyZW50LnN1Y2Nlc3MpLnRvQmUoZmFsc2Up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
|
|
@@ -2,7 +2,7 @@ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
|
2
2
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
3
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
4
4
|
/* eslint-disable consistent-return */
|
|
5
|
-
import { useState } from 'react';
|
|
5
|
+
import { useCallback, useState } from 'react';
|
|
6
6
|
import { useTranslation } from 'react-i18next';
|
|
7
7
|
import { downloadKnowledge } from '../../services/maia/Knowledge/download';
|
|
8
8
|
import { useSnackBarManager } from '../useSnackBarManager/useSnackBarManager';
|
|
@@ -65,11 +65,11 @@ export var useDownloadKnowledge = function useDownloadKnowledge() {
|
|
|
65
65
|
return _ref2.apply(this, arguments);
|
|
66
66
|
};
|
|
67
67
|
}();
|
|
68
|
-
var handleResetStates = function
|
|
68
|
+
var handleResetStates = useCallback(function () {
|
|
69
69
|
setIsLoading(false);
|
|
70
70
|
setError(null);
|
|
71
71
|
setSuccess(null);
|
|
72
|
-
};
|
|
72
|
+
}, []);
|
|
73
73
|
return {
|
|
74
74
|
isLoading: isLoading,
|
|
75
75
|
error: error,
|
|
@@ -78,4 +78,4 @@ export var useDownloadKnowledge = function useDownloadKnowledge() {
|
|
|
78
78
|
handleResetStates: handleResetStates
|
|
79
79
|
};
|
|
80
80
|
};
|
|
81
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZVN0YXRlIiwidXNlVHJhbnNsYXRpb24iLCJkb3dubG9hZEtub3dsZWRnZSIsInVzZVNuYWNrQmFyTWFuYWdlciIsInVzZURvd25sb2FkS25vd2xlZGdlIiwiX3VzZVRyYW5zbGF0aW9uIiwidCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImlzTG9hZGluZyIsInNldElzTG9hZGluZyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiZXJyb3IiLCJzZXRFcnJvciIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2Iiwic3VjY2VzcyIsInNldFN1Y2Nlc3MiLCJfdXNlU25hY2tCYXJNYW5hZ2VyIiwiaGFuZGxlU25hY2tiYXJFcnJvciIsImhhbmRsZURvd25sb2FkS25vd2xlZGdlIiwiX3JlZjIiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsIl9yZWYiLCJhZ2VudElkIiwia25vd2xlZGdlSWQiLCJyZXNwb25zZSIsImVycm9yTWVzc2FnZSIsIl90Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJzZW50IiwiYWJydXB0IiwiRXJyb3IiLCJtZXNzYWdlIiwiY29uc29sZSIsImZpbmlzaCIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwiaGFuZGxlUmVzZXRTdGF0ZXMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvdXNlS25vd2xlZGdlL2Rvd25sb2FkS25vd2xlZGdlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGNvbnNpc3RlbnQtcmV0dXJuICovXG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCB7IGRvd25sb2FkS25vd2xlZGdlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWFpYS9Lbm93bGVkZ2UvZG93bmxvYWQnXG5pbXBvcnQgeyB1c2VTbmFja0Jhck1hbmFnZXIgfSBmcm9tICcuLi91c2VTbmFja0Jhck1hbmFnZXIvdXNlU25hY2tCYXJNYW5hZ2VyJ1xuXG5leHBvcnQgY29uc3QgdXNlRG93bmxvYWRLbm93bGVkZ2UgPSAoKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oJ2FibV9hZ2VudF9zZWN0aW9uJylcbiAgY29uc3QgW2lzTG9hZGluZywgc2V0SXNMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFtzdWNjZXNzLCBzZXRTdWNjZXNzXSA9IHVzZVN0YXRlPHtcbiAgICBibG9iOiBCbG9iXG4gICAgZmlsZW5hbWU6IHN0cmluZ1xuICAgIGNvbnRlbnRUeXBlOiBzdHJpbmdcbiAgICBzaXplOiBudW1iZXJcbiAgfSB8IG51bGw+KG51bGwpXG4gIGNvbnN0IHsgaGFuZGxlU25hY2tiYXJFcnJvciB9ID0gdXNlU25hY2tCYXJNYW5hZ2VyKClcblxuICBjb25zdCBoYW5kbGVEb3dubG9hZEtub3dsZWRnZSA9IGFzeW5jICh7IGFnZW50SWQsIGtub3dsZWRnZUlkIH06IHsgYWdlbnRJZDogc3RyaW5nOyBrbm93bGVkZ2VJZDogc3RyaW5nIH0pID0+IHtcbiAgICBzZXRJc0xvYWRpbmcodHJ1ZSlcbiAgICBzZXRFcnJvcihudWxsKVxuICAgIHNldFN1Y2Nlc3MobnVsbClcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGRvd25sb2FkS25vd2xlZGdlKHsgYWdlbnRJZCwga25vd2xlZGdlSWQgfSlcbiAgICAgIHNldFN1Y2Nlc3MocmVzcG9uc2UpXG4gICAgICByZXR1cm4gcmVzcG9uc2VcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLm1lc3NhZ2UgOiB0KCdlcnJvckFnZW50Q3JlYXRlZCcpXG4gICAgICBzZXRFcnJvcihlcnJvck1lc3NhZ2UpXG4gICAgICBoYW5kbGVTbmFja2JhckVycm9yKHQoJ2Vycm9yQWdlbnRDcmVhdGVkJykpXG4gICAgICBjb25zb2xlLmVycm9yKHQoJ2Vycm9yQWdlbnRDcmVhdGVkJyksIGVycilcbiAgICAgIHJldHVybiBudWxsXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldElzTG9hZGluZyhmYWxzZSlcbiAgICB9XG4gIH1cblxuICBjb25zdCBoYW5kbGVSZXNldFN0YXRlcyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRJc0xvYWRpbmcoZmFsc2UpXG4gICAgc2V0RXJyb3IobnVsbClcbiAgICBzZXRTdWNjZXNzKG51bGwpXG4gIH0sIFtdKVxuXG4gIHJldHVybiB7XG4gICAgaXNMb2FkaW5nLFxuICAgIGVycm9yLFxuICAgIHN1Y2Nlc3MsXG4gICAgaGFuZGxlRG93bmxvYWRLbm93bGVkZ2UsXG4gICAgaGFuZGxlUmVzZXRTdGF0ZXMsXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDQSxTQUFTQSxXQUFXLEVBQUVDLFFBQVEsUUFBUSxPQUFPO0FBQzdDLFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBQzlDLFNBQVNDLGlCQUFpQixRQUFRLHdDQUF3QztBQUMxRSxTQUFTQyxrQkFBa0IsUUFBUSwwQ0FBMEM7QUFFN0UsT0FBTyxJQUFNQyxvQkFBb0IsR0FBRyxTQUF2QkEsb0JBQW9CQSxDQUFBLEVBQVM7RUFDeEMsSUFBQUMsZUFBQSxHQUFjSixjQUFjLENBQUMsbUJBQW1CLENBQUM7SUFBekNLLENBQUMsR0FBQUQsZUFBQSxDQUFEQyxDQUFDO0VBQ1QsSUFBQUMsU0FBQSxHQUFrQ1AsUUFBUSxDQUFDLEtBQUssQ0FBQztJQUFBUSxVQUFBLEdBQUFDLGNBQUEsQ0FBQUYsU0FBQTtJQUExQ0csU0FBUyxHQUFBRixVQUFB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
|