@projectcor/maia-components 2.28.0 → 2.30.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 +55 -0
- package/lib/components/atoms/ActionableButton.js +60 -0
- package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.js +89 -0
- package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.styles.js +21 -0
- package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.utils.js +9 -0
- package/lib/components/atoms/AgentActivityIndicator/index.js +2 -0
- package/lib/components/atoms/ApprovalBox/ApprovalBox.js +209 -0
- package/lib/components/atoms/ApprovalBox/ApprovalBox.styles.js +93 -0
- package/lib/components/atoms/ApprovalBox/index.js +2 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCard.js +218 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCard.styles.js +52 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.js +448 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.styles.js +58 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCardImage.js +55 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCardImage.styles.js +14 -0
- package/lib/components/atoms/AttachmentCard/index.js +4 -0
- package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.js +442 -0
- package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.styles.js +119 -0
- package/lib/components/atoms/AttachmentPreviewModal/ExcelPreview.js +222 -0
- package/lib/components/atoms/AttachmentPreviewModal/PptPreview.js +313 -0
- package/lib/components/atoms/AttachmentPreviewModal/WordPreview.js +128 -0
- package/lib/components/atoms/AttachmentPreviewModal/index.js +2 -0
- package/lib/components/atoms/Backdrop/Backdrop.js +17 -0
- package/lib/components/atoms/Backdrop/Backdrop.styles.js +9 -0
- package/lib/components/atoms/Backdrop/index.js +2 -0
- package/lib/components/atoms/CardItem.js +7 -0
- package/lib/components/atoms/CardMenu/CardMenu.js +131 -0
- package/lib/components/atoms/CardMenu/index.js +2 -0
- package/lib/components/atoms/CardMenu/styles.js +21 -0
- package/lib/components/atoms/ChatClientSelector/ChatClientSelector.js +77 -0
- package/lib/components/atoms/ChatClientSelector/index.js +2 -0
- package/lib/components/atoms/ChatDisclaimerMessage/ChatDisclaimerMessage.js +9 -0
- package/lib/components/atoms/ChatDisclaimerMessage/index.js +2 -0
- package/lib/components/atoms/ChatDisclaimerMessage/styles.js +6 -0
- package/lib/components/atoms/Checkbox/Checkbox.js +34 -0
- package/lib/components/atoms/Checkbox/index.js +2 -0
- package/lib/components/atoms/Checkbox/styles.js +39 -0
- package/lib/components/atoms/Chip/Chip.js +150 -0
- package/lib/components/atoms/Chip/index.js +2 -0
- package/lib/components/atoms/Chip/styles.js +43 -0
- package/lib/components/atoms/ChipLlm/ChipLlm.js +45 -0
- package/lib/components/atoms/ChipLlm/ChipLlm.style.js +21 -0
- package/lib/components/atoms/ChipLlm/index.js +2 -0
- package/lib/components/atoms/ChipStatus/ChipStatus.interface.js +2 -0
- package/lib/components/atoms/ChipStatus/ChipStatus.js +14 -0
- package/lib/components/atoms/ChipStatus/ChipStatus.styles.js +27 -0
- package/lib/components/atoms/ChipStatus/index.js +2 -0
- package/lib/components/atoms/ClearButton.js +6 -0
- package/lib/components/atoms/ClientSelector/ClientSelector.js +146 -0
- package/lib/components/atoms/ClientSelector/ClientSelector.styles.js +15 -0
- package/lib/components/atoms/ClientSelector/index.js +2 -0
- package/lib/components/atoms/ContextMentionChip/ContextMentionChip.js +38 -0
- package/lib/components/atoms/ContextMentionChip/ContextMentionChip.styles.js +188 -0
- package/lib/components/atoms/ContextMentionChip/MentionOverflowLabel.js +39 -0
- package/lib/components/atoms/ContextMentionChip/buildChipElement.js +434 -0
- package/lib/components/atoms/ContextMentionChip/index.js +4 -0
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +411 -0
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.styles.js +10 -0
- package/lib/components/atoms/ContextMentionEditor/index.js +2 -0
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +309 -0
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +157 -0
- package/lib/components/atoms/ContextMentionItem/index.js +2 -0
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +307 -0
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.styles.js +108 -0
- package/lib/components/atoms/ContextMentionPopover/index.js +3 -0
- package/lib/components/atoms/CopyToClipboard.js +70 -0
- package/lib/components/atoms/EditableLabel/EditableLabel.js +110 -0
- package/lib/components/atoms/EditableLabel/index.js +2 -0
- package/lib/components/atoms/EditableLabel/styles.js +7 -0
- package/lib/components/atoms/EmptySearchClients/EmptySearchClients.js +22 -0
- package/lib/components/atoms/EmptySearchClients/EmptySearchClients.styles.js +18 -0
- package/lib/components/atoms/EmptySearchClients/index.js +2 -0
- package/lib/components/atoms/EmptySearchProjects/EmptySearchProjects.js +19 -0
- package/lib/components/atoms/EmptySearchProjects/EmptySearchProjects.styles.js +15 -0
- package/lib/components/atoms/EmptySearchProjects/index.js +2 -0
- package/lib/components/atoms/EntitySelector/EntitySelector.js +247 -0
- package/lib/components/atoms/EntitySelector/EntitySelector.skeleton.js +38 -0
- package/lib/components/atoms/EntitySelector/EntitySelector.styles.js +67 -0
- package/lib/components/atoms/EntitySelector/index.js +2 -0
- package/lib/components/atoms/ErrorSearchClients/ErrorSearchClients.js +14 -0
- package/lib/components/atoms/ErrorSearchClients/ErrorSearchClients.styles.js +15 -0
- package/lib/components/atoms/ErrorSearchFaqs/ErrorSearchFaqs.js +14 -0
- package/lib/components/atoms/ErrorSearchFaqs/ErrorSearchFaqs.style.js +15 -0
- package/lib/components/atoms/ErrorSearchFaqs/index.js +2 -0
- package/lib/components/atoms/ErrorSearchProjects/ErrorSearchProjects.js +18 -0
- package/lib/components/atoms/ErrorSearchProjects/ErrorSearchProjects.style.js +15 -0
- package/lib/components/atoms/ErrorSearchProjects/index.js +2 -0
- package/lib/components/atoms/Expand/Expand.js +32 -0
- package/lib/components/atoms/Expand/index.js +2 -0
- package/lib/components/atoms/Fade/Fade.js +56 -0
- package/lib/components/atoms/Fade/index.js +2 -0
- package/lib/components/atoms/FeedbackButton/FeedbackButton.js +59 -0
- package/lib/components/atoms/FeedbackButton/FeedbackButton.styles.js +14 -0
- package/lib/components/atoms/FeedbackButton/index.js +2 -0
- package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.js +138 -0
- package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.skeleton.js +44 -0
- package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.styles.js +43 -0
- package/lib/components/atoms/FrequentlyAskedQuestions/index.js +2 -0
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +122 -0
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.skeleton.js +43 -0
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +62 -0
- package/lib/components/atoms/FrequentlyUsedActions/index.js +2 -0
- package/lib/components/atoms/GoBackButton.js +24 -0
- package/lib/components/atoms/HelpButton.js +44 -0
- package/lib/components/atoms/IconButton.js +56 -0
- package/lib/components/atoms/ImagePreview/ImagePreview.js +96 -0
- package/lib/components/atoms/ImagePreview/ImagePreview.styles.js +70 -0
- package/lib/components/atoms/Input/CustomInput.interface.js +2 -0
- package/lib/components/atoms/Input/CustomInput.js +91 -0
- package/lib/components/atoms/Input/CustomInput.styles.js +39 -0
- package/lib/components/atoms/Input/index.js +2 -0
- package/lib/components/atoms/ListMenuOption/ListMenuOption.js +41 -0
- package/lib/components/atoms/ListMenuOption/index.js +2 -0
- package/lib/components/atoms/ListMenuOption/styles.js +9 -0
- package/lib/components/atoms/Loader.js +41 -0
- package/lib/components/atoms/LoadingFaqs/LoadingFaqs.js +11 -0
- package/lib/components/atoms/LoadingFaqs/LoadingFaqs.style.js +6 -0
- package/lib/components/atoms/LoadingFaqs/index.js +2 -0
- package/lib/components/atoms/LoadingSearchClients/LoadingSearchClients.js +11 -0
- package/lib/components/atoms/LoadingSearchClients/LoadingSearchClients.styles.js +6 -0
- package/lib/components/atoms/LoadingSearchClients/index.js +2 -0
- package/lib/components/atoms/LoadingSearchProjects/LoadingSearchProjects.js +14 -0
- package/lib/components/atoms/LoadingSearchProjects/LoadingSearchProjects.style.js +10 -0
- package/lib/components/atoms/LoadingSearchProjects/index.js +2 -0
- package/lib/components/atoms/LoadingText/LoadingText.js +18 -0
- package/lib/components/atoms/LoadingText/index.js +2 -0
- package/lib/components/atoms/LoadingText/styles.js +7 -0
- package/lib/components/atoms/MAIAButton/MAIAButton.js +33 -0
- package/lib/components/atoms/MAIAButton/index.js +2 -0
- package/lib/components/atoms/MAIAError/MAIAError.js +15 -0
- package/lib/components/atoms/MAIAError/index.js +2 -0
- package/lib/components/atoms/MAIAInput/MAIAInput.js +1058 -0
- package/lib/components/atoms/MAIAInput/MAIAInputEditor.js +266 -0
- package/lib/components/atoms/MAIAInput/index.js +2 -0
- package/lib/components/atoms/MAIAInput/maiaInputLayout.js +25 -0
- package/lib/components/atoms/MAIAInput/styles.js +182 -0
- package/lib/components/atoms/MAIAMessage/MAIAMessage.interfaces.js +2 -0
- package/lib/components/atoms/MAIAMessage/MAIAMessage.js +22 -0
- package/lib/components/atoms/MAIAMessage/index.js +2 -0
- package/lib/components/atoms/MAIAMessage/styles.js +7 -0
- package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.config.js +23 -0
- package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.interfaces.js +2 -0
- package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.js +51 -0
- package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.styles.js +26 -0
- package/lib/components/atoms/MaiaStreamdown/index.js +2 -0
- package/lib/components/atoms/MaiaWrapper/MaiaWrapper.js +18 -0
- package/lib/components/atoms/MaiaWrapper/MaiaWrapperBase.js +84 -0
- package/lib/components/atoms/MaiaWrapper/ModernMaiaWrapper.js +15 -0
- package/lib/components/atoms/MaiaWrapper/index.js +3 -0
- package/lib/components/atoms/MaiaWrapper/styles.js +21 -0
- package/lib/components/atoms/ModalClientAccess/ModalClientAccess.interface.js +2 -0
- package/lib/components/atoms/ModalClientAccess/ModalClientAccess.js +84 -0
- package/lib/components/atoms/ModalClientAccess/ModalClientAccess.styles.js +53 -0
- package/lib/components/atoms/ModalClientAccess/index.js +2 -0
- package/lib/components/atoms/ModalInfo/ModalInfo.js +52 -0
- package/lib/components/atoms/ModalInfo/ModalInfoContent.js +7 -0
- package/lib/components/atoms/ModalInfo/index.js +3 -0
- package/lib/components/atoms/ModalInfo/styles.js +7 -0
- package/lib/components/atoms/ModalProject/ModalProject.interface.js +2 -0
- package/lib/components/atoms/ModalProject/ModalProject.js +112 -0
- package/lib/components/atoms/ModalProject/ModalProject.style.js +59 -0
- package/lib/components/atoms/ModalProject/index.js +2 -0
- package/lib/components/atoms/NextPageLoader.js +33 -0
- package/lib/components/atoms/OnboardingModalButton/OnboardingModal.js +28 -0
- package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.js +180 -0
- package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.styles.js +34 -0
- package/lib/components/atoms/OnboardingModalButton/index.js +3 -0
- package/lib/components/atoms/OptionAccessibility/OptionAccessibility.js +131 -0
- package/lib/components/atoms/OptionAccessibility/OptionAccessibility.styles.js +59 -0
- package/lib/components/atoms/OptionAccessibility/index.js +2 -0
- package/lib/components/atoms/OptionCorPermission/OptionCorPermission.js +27 -0
- package/lib/components/atoms/OptionCorPermission/OptionCorPermission.styles.js +18 -0
- package/lib/components/atoms/OptionCorPermission/index.js +2 -0
- package/lib/components/atoms/PrimaryButton.js +31 -0
- package/lib/components/atoms/ProjectSelector/ProjectSelector.js +77 -0
- package/lib/components/atoms/ProjectSelector/ProjectSelector.styles.js +61 -0
- package/lib/components/atoms/ProjectSelector/index.js +2 -0
- package/lib/components/atoms/SecondaryButton.js +20 -0
- package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.js +20 -0
- package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.styles.js +20 -0
- package/lib/components/atoms/SessionGeneratingDot/index.js +2 -0
- package/lib/components/atoms/Skeleton/Skeleton.js +36 -0
- package/lib/components/atoms/Skeleton/index.js +2 -0
- package/lib/components/atoms/SlashCommandChip/SlashCommandChip.js +16 -0
- package/lib/components/atoms/SlashCommandChip/SlashCommandChip.styles.js +24 -0
- package/lib/components/atoms/SlashCommandChip/buildSlashChipElement.js +18 -0
- package/lib/components/atoms/SlashCommandChip/index.js +4 -0
- package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.js +210 -0
- package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.styles.js +53 -0
- package/lib/components/atoms/SlashCommandDropdown/index.js +2 -0
- package/lib/components/atoms/Switch/Switch.js +27 -0
- package/lib/components/atoms/Switch/Switch.styles.js +22 -0
- package/lib/components/atoms/Switch/index.js +2 -0
- package/lib/components/atoms/TextArea/CustomTextArea.interface.js +2 -0
- package/lib/components/atoms/TextArea/CustomTextArea.js +93 -0
- package/lib/components/atoms/TextArea/CustomTextArea.styles.js +25 -0
- package/lib/components/atoms/TextArea/TextArea.interfaces.js +2 -0
- package/lib/components/atoms/TextArea/TextArea.js +172 -0
- package/lib/components/atoms/TextArea/TextArea.styles.js +16 -0
- package/lib/components/atoms/TextArea/index.js +2 -0
- package/lib/components/atoms/ThirdButton.js +19 -0
- package/lib/components/atoms/VideoModal/VideoModal.js +76 -0
- package/lib/components/atoms/VideoModal/index.js +2 -0
- package/lib/components/atoms/WithAppCfg.js +26 -0
- package/lib/components/atoms/WithFeatureValidation.js +23 -0
- package/lib/components/atoms/WrapperCenterIcon/WrapperCenterIcon.js +9 -0
- package/lib/components/atoms/WrapperCenterIcon/WrapperCenterIcon.styles.js +6 -0
- package/lib/components/atoms/WrapperCenterIcon/index.js +2 -0
- package/lib/components/atoms/icons/AIIcon.js +23 -0
- package/lib/components/atoms/icons/AacFile.js +39 -0
- package/lib/components/atoms/icons/AccessibilityIcon.js +42 -0
- package/lib/components/atoms/icons/ActionAssignIcon.js +111 -0
- package/lib/components/atoms/icons/ActionCalendarIcon.js +112 -0
- package/lib/components/atoms/icons/ActionChargeHoursIcon.js +111 -0
- package/lib/components/atoms/icons/ActionChatIcon.js +71 -0
- package/lib/components/atoms/icons/ActionCreateIcon.js +91 -0
- package/lib/components/atoms/icons/ActionCreateReworkIcon.js +39 -0
- package/lib/components/atoms/icons/ActionCreateSubtaskIcon.js +37 -0
- package/lib/components/atoms/icons/ActionEditIcon.js +39 -0
- package/lib/components/atoms/icons/ActionSummaryMessagesIcon.js +88 -0
- package/lib/components/atoms/icons/ActionSummaryTaskIcon.js +37 -0
- package/lib/components/atoms/icons/ActionTimeBackIcon.js +112 -0
- package/lib/components/atoms/icons/AgentMaiaIcon.js +31 -0
- package/lib/components/atoms/icons/Brain.js +77 -0
- package/lib/components/atoms/icons/CorAccessIcon.js +41 -0
- package/lib/components/atoms/icons/CorLogo.js +76 -0
- package/lib/components/atoms/icons/CsvFile.js +41 -0
- package/lib/components/atoms/icons/DocFile.js +41 -0
- package/lib/components/atoms/icons/DocxFile.js +41 -0
- package/lib/components/atoms/icons/EmptyClientIllustration.js +67 -0
- package/lib/components/atoms/icons/EmptyHistory.js +46 -0
- package/lib/components/atoms/icons/EmptySearchIllustration.js +37 -0
- package/lib/components/atoms/icons/EmptyState.js +84 -0
- package/lib/components/atoms/icons/EmptyStateAgents.js +58 -0
- package/lib/components/atoms/icons/ErrorIcon.js +14 -0
- package/lib/components/atoms/icons/ErrorSearchIllustration.js +52 -0
- package/lib/components/atoms/icons/ErrorState.js +51 -0
- package/lib/components/atoms/icons/FaqChevronIcon.js +39 -0
- package/lib/components/atoms/icons/FaqsIcon.js +51 -0
- package/lib/components/atoms/icons/FlacIcon.js +39 -0
- package/lib/components/atoms/icons/FolderIcon.js +29 -0
- package/lib/components/atoms/icons/HomeIcon.js +30 -0
- package/lib/components/atoms/icons/ImageFile.js +46 -0
- package/lib/components/atoms/icons/M4aFile.js +39 -0
- package/lib/components/atoms/icons/MAIAIcon.js +20 -0
- package/lib/components/atoms/icons/MAIAIsologo.js +65 -0
- package/lib/components/atoms/icons/MDFile.js +41 -0
- package/lib/components/atoms/icons/MaiaChatLayoutFloatingIcon.js +41 -0
- package/lib/components/atoms/icons/MaiaChatLayoutFullscreenIcon.js +41 -0
- package/lib/components/atoms/icons/MaiaChatLayoutMenuIcon.js +33 -0
- package/lib/components/atoms/icons/MaiaChatLayoutSidebarIcon.js +41 -0
- package/lib/components/atoms/icons/MaiaInputAddIcon.js +42 -0
- package/lib/components/atoms/icons/MaiaInputAttachIcon.js +29 -0
- package/lib/components/atoms/icons/MaiaInputAttachmentImageIcon.js +33 -0
- package/lib/components/atoms/icons/MaiaInputDeepSearchIcon.js +35 -0
- package/lib/components/atoms/icons/MaiaInputMentionIcon.js +44 -0
- package/lib/components/atoms/icons/MaiaInputRobotIcon.js +29 -0
- package/lib/components/atoms/icons/MaiaInputSendIcon.js +29 -0
- package/lib/components/atoms/icons/MaiaInputSlashIcon.js +29 -0
- package/lib/components/atoms/icons/MaiaInputWebSearchIcon.js +35 -0
- package/lib/components/atoms/icons/MaiaSettingsProject.js +111 -0
- package/lib/components/atoms/icons/MaiaSettingsProjectV2.js +193 -0
- package/lib/components/atoms/icons/MaiaSparkleIcon.js +75 -0
- package/lib/components/atoms/icons/MaiaStoreIcon.js +31 -0
- package/lib/components/atoms/icons/Mp3File.js +39 -0
- package/lib/components/atoms/icons/Mp4File.js +39 -0
- package/lib/components/atoms/icons/MyAgentsNavIcon.js +51 -0
- package/lib/components/atoms/icons/NewChat.js +29 -0
- package/lib/components/atoms/icons/NotionIcon.js +36 -0
- package/lib/components/atoms/icons/OgaFile.js +39 -0
- package/lib/components/atoms/icons/OggFile.js +39 -0
- package/lib/components/atoms/icons/PdfFile.js +39 -0
- package/lib/components/atoms/icons/PptFile.js +47 -0
- package/lib/components/atoms/icons/PptxFile.js +49 -0
- package/lib/components/atoms/icons/RetryIcon.js +34 -0
- package/lib/components/atoms/icons/SkillIcon.js +30 -0
- package/lib/components/atoms/icons/SkillsNavIcon.js +27 -0
- package/lib/components/atoms/icons/SubtaskIcon.js +36 -0
- package/lib/components/atoms/icons/TaskLinkIcon.js +27 -0
- package/lib/components/atoms/icons/TelescopeIcon.js +60 -0
- package/lib/components/atoms/icons/TemplateGradientIcon.js +42 -0
- package/lib/components/atoms/icons/TextFile.js +41 -0
- package/lib/components/atoms/icons/WavFile.js +39 -0
- package/lib/components/atoms/icons/WebmFile.js +50 -0
- package/lib/components/atoms/icons/XlsFile.js +42 -0
- package/lib/components/atoms/icons/XlsxFile.js +42 -0
- package/lib/components/atoms/icons/index.js +50 -0
- package/lib/components/atoms/index.js +42 -0
- package/lib/components/index.js +11 -0
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.interface.js +2 -0
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.js +149 -0
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.styles.js +53 -0
- package/lib/components/molecules/AbmSection/AbmGeneralSection.js +415 -0
- package/lib/components/molecules/AbmSection/AbmGeneralSection.styles.js +152 -0
- package/lib/components/molecules/AbmSection/AbmKnowledgeSection.js +374 -0
- package/lib/components/molecules/AbmSection/AbmKnowledgeSection.styles.js +106 -0
- package/lib/components/molecules/AbmSection/AbmLoaderFiles.js +92 -0
- package/lib/components/molecules/AbmSection/AbmLoaderFiles.styles.js +57 -0
- package/lib/components/molecules/AbmSection/index.js +4 -0
- package/lib/components/molecules/ChatAIClientSelector/ChatAIClientSelector.js +52 -0
- package/lib/components/molecules/ChatAIClientSelector/index.js +2 -0
- package/lib/components/molecules/ChatAIContent/ChatAIContent.js +117 -0
- package/lib/components/molecules/ChatAIContent/ChatAIContent.skeleton.js +187 -0
- package/lib/components/molecules/ChatAIContent/ChatAIContent.styles.js +6 -0
- package/lib/components/molecules/ChatAIContent/index.js +2 -0
- package/lib/components/molecules/ChatAIHistory/ChatAIHistory.js +241 -0
- package/lib/components/molecules/ChatAIHistory/index.js +2 -0
- package/lib/components/molecules/ChatAIHistory/styles.js +22 -0
- package/lib/components/molecules/ChatAIHome/ChatAIHome.js +649 -0
- package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.js +115 -0
- package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.styles.js +95 -0
- package/lib/components/molecules/ChatAIHome/index.js +2 -0
- package/lib/components/molecules/ChatAIHome/styles.js +335 -0
- package/lib/components/molecules/ChatAIMessages/ChatAICreateAgentActions.js +137 -0
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +853 -0
- package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.js +47 -0
- package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.styles.js +37 -0
- package/lib/components/molecules/ChatAIMessages/README.md +101 -0
- package/lib/components/molecules/ChatAIMessages/index.js +2 -0
- package/lib/components/molecules/ChatAIMessages/newStyles.js +131 -0
- package/lib/components/molecules/ChatAIMessages/styles.js +94 -0
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +1217 -0
- package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +58 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.js +127 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.styles.js +34 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/index.js +2 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +189 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.styles.js +26 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/index.js +2 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +448 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.styles.js +108 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/index.js +2 -0
- package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.js +48 -0
- package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.styles.js +38 -0
- package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/index.js +2 -0
- package/lib/components/molecules/ChatAIModal/constants.js +40 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.js +16 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.styles.js +12 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/constants.js +13 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/index.js +3 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/useFloatingPanelDragTilt.js +57 -0
- package/lib/components/molecules/ChatAIModal/index.js +2 -0
- package/lib/components/molecules/ChatAIModal/layout.js +74 -0
- package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.js +457 -0
- package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.styles.js +218 -0
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +357 -0
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +145 -0
- package/lib/components/molecules/ChatAIMySkills/index.js +2 -0
- package/lib/components/molecules/ChatAIProjectSelector/ChatAIProjectSelector.js +48 -0
- package/lib/components/molecules/ChatAIProjectSelector/ChatAIProjectSelector.styles.js +49 -0
- package/lib/components/molecules/ChatAIProjectSelector/index.js +2 -0
- package/lib/components/molecules/ChatFooter/ChatFooter.js +337 -0
- package/lib/components/molecules/ChatFooter/ChatFooterCorAccess.js +32 -0
- package/lib/components/molecules/ChatFooter/ChatFooterCorAccess.styles.js +14 -0
- package/lib/components/molecules/ChatFooter/ChatFooterFaqs.js +201 -0
- package/lib/components/molecules/ChatFooter/ChatFooterFaqs.styles.js +51 -0
- package/lib/components/molecules/ChatFooter/index.js +2 -0
- package/lib/components/molecules/ChatFooter/styles.js +23 -0
- package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +62 -0
- package/lib/components/molecules/ContextMentionInput/ContextMentionInput.styles.js +6 -0
- package/lib/components/molecules/ContextMentionInput/index.js +2 -0
- package/lib/components/molecules/MessageFeedback/MessageFeedback.js +118 -0
- package/lib/components/molecules/MessageFeedback/index.js +2 -0
- package/lib/components/molecules/MessageFeedback/styles.js +14 -0
- package/lib/components/molecules/ProjectSummaryChat/ProjectSummaryChat.js +127 -0
- package/lib/components/molecules/ProjectSummaryChat/index.js +2 -0
- package/lib/components/molecules/ProjectSummaryChat/styles.js +8 -0
- package/lib/components/molecules/ProjectSummaryConfig/ProjectSummaryConfig.js +152 -0
- package/lib/components/molecules/ProjectSummaryConfig/index.js +2 -0
- package/lib/components/molecules/ProjectSummaryConfig/styles.js +86 -0
- package/lib/components/molecules/ProjectSummaryContent/ProjectSummaryContent.js +49 -0
- package/lib/components/molecules/ProjectSummaryContent/index.js +2 -0
- package/lib/components/molecules/ProjectSummaryModal/ProjectSummaryModal.js +19 -0
- package/lib/components/molecules/ProjectSummaryModal/index.js +2 -0
- package/lib/components/molecules/ProjectSummaryModal/styles.js +2 -0
- package/lib/components/molecules/Sidebar/Sidebar.js +715 -0
- package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +157 -0
- package/lib/components/molecules/Sidebar/Sidebar.skeleton.js +48 -0
- package/lib/components/molecules/Sidebar/Sidebar.styles.js +75 -0
- package/lib/components/molecules/Sidebar/index.js +2 -0
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +1420 -0
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.styles.js +93 -0
- package/lib/components/organisms/AbmAgentModal/index.js +2 -0
- package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +175 -0
- package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.styles.js +34 -0
- package/lib/components/organisms/AbmSkillGenerateModal/index.js +2 -0
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +432 -0
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +98 -0
- package/lib/components/organisms/AbmSkillModal/index.js +2 -0
- package/lib/components/organisms/ChatAI/ChatAI.js +167 -0
- package/lib/components/organisms/ChatAI/index.js +2 -0
- package/lib/components/organisms/ChatAI/styles.js +7 -0
- package/lib/components/organisms/ClientAIButton/ClientAIButton.js +23 -0
- package/lib/components/organisms/ClientAIButton/index.js +2 -0
- package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.js +86 -0
- package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.styles.js +39 -0
- package/lib/components/organisms/DeleteAgentModal/index.js +2 -0
- package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.js +122 -0
- package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.styles.js +47 -0
- package/lib/components/organisms/DeleteQuestionModal/index.js +2 -0
- package/lib/components/organisms/EditQuestionModal/EditQuestionModal.js +138 -0
- package/lib/components/organisms/EditQuestionModal/EditQuestionModal.styles.js +69 -0
- package/lib/components/organisms/EditQuestionModal/index.js +2 -0
- package/lib/components/organisms/ModalFileExceeds/ModalFileExceeds.js +113 -0
- package/lib/components/organisms/ModalFileExceeds/ModalFileExceeds.styles.js +54 -0
- package/lib/components/organisms/ModalFileExceeds/index.js +2 -0
- package/lib/components/organisms/ProjectAIButton/ProjectAIButton.js +26 -0
- package/lib/components/organisms/ProjectAIButton/index.js +2 -0
- package/lib/components/organisms/ProjectSummary/ProjectSummary.js +60 -0
- package/lib/components/organisms/ProjectSummary/index.js +2 -0
- package/lib/components/organisms/ProjectSummary/styles.js +7 -0
- package/lib/components/organisms/SnackBar/Snackbar.interface.js +2 -0
- package/lib/components/organisms/SnackBar/Snackbar.js +73 -0
- package/lib/components/organisms/SnackBar/Snackbar.styles.js +9 -0
- package/lib/components/organisms/SnackBar/index.js +2 -0
- package/lib/components/organisms/SourcesInformation/SourceItem.js +18 -0
- package/lib/components/organisms/SourcesInformation/SourceItem.styles.js +14 -0
- package/lib/components/organisms/SourcesInformation/SourcesInformationModal.js +66 -0
- package/lib/components/organisms/SourcesInformation/SourcesInformationModal.styles.js +27 -0
- package/lib/components/organisms/SourcesInformation/index.js +2 -0
- package/lib/constants/config.js +13 -0
- package/lib/constants/formatExtensions.js +55 -0
- package/lib/constants/gqlClient.js +4 -0
- package/lib/constants/maiaHourAgentAccess.js +15 -0
- package/lib/constants/maiaTaskPanelAccess.js +24 -0
- package/lib/constants/maiaTaskPanelOutsideClick.js +9 -0
- package/lib/constants/maiaTaskPanelZIndex.js +19 -0
- package/lib/constants/permissions/config.js +72 -0
- package/lib/constants/permissions/index.js +3 -0
- package/lib/constants/permissions/types.js +2 -0
- package/lib/constants/permissions/utils.js +18 -0
- package/lib/constants/plannerSyncEvents.js +15 -0
- package/lib/constants/taskLinkIcon.js +15 -0
- package/lib/constants/taskUrls.js +11 -0
- package/lib/context/cor-user.js +31 -0
- package/lib/context/global-context.js +39 -0
- package/lib/dev/DevChatAI.js +101 -0
- package/lib/dev/DevContextMentionInput.js +67 -0
- package/lib/dev/ProjectSummary.js +9 -0
- package/lib/dev/Providers.js +27 -0
- package/lib/exports.js +2 -0
- package/lib/hooks/README.md +192 -0
- package/lib/hooks/index.js +30 -0
- package/lib/hooks/useAccessClient/index.js +2 -0
- package/lib/hooks/useAccessClient/useAccessClient.js +81 -0
- package/lib/hooks/useAgentModel/index.js +2 -0
- package/lib/hooks/useAgentModel/useAgentModel.js +62 -0
- package/lib/hooks/useAgentModel/useCreateAgent.js +128 -0
- package/lib/hooks/useAgentModel/useDeleteAgent.js +88 -0
- package/lib/hooks/useAgentModel/useUpdateAgent.js +129 -0
- package/lib/hooks/useAgentSuggestions.js +60 -0
- package/lib/hooks/useCaretPosition.js +65 -0
- package/lib/hooks/useChatManager/index.js +2 -0
- package/lib/hooks/useChatManager/useChatManager.interface.js +2 -0
- package/lib/hooks/useChatManager/useChatManager.js +1782 -0
- package/lib/hooks/useChatMessages/index.js +2 -0
- package/lib/hooks/useChatMessages/useChatMessages.interface.js +2 -0
- package/lib/hooks/useChatMessages/useChatMessages.js +722 -0
- package/lib/hooks/useChats/index.js +2 -0
- package/lib/hooks/useChats/useChats.interfaces.js +2 -0
- package/lib/hooks/useChats/useChats.js +187 -0
- package/lib/hooks/useClientSearch.js +163 -0
- package/lib/hooks/useContextMentions.js +463 -0
- package/lib/hooks/useContextPinPopover.js +228 -0
- package/lib/hooks/useDebounce.js +18 -0
- package/lib/hooks/useEntitySearch.js +1239 -0
- package/lib/hooks/useEvent.js +93 -0
- package/lib/hooks/useFrequentlyAskedQuestions.js +150 -0
- package/lib/hooks/useFrequentlyUsedActions.js +94 -0
- package/lib/hooks/useKnowledge/deleteKnowledge.js +69 -0
- package/lib/hooks/useKnowledge/downloadKnowledge.js +81 -0
- package/lib/hooks/useKnowledge/index.js +4 -0
- package/lib/hooks/useKnowledge/saveKnowledge.js +107 -0
- package/lib/hooks/useKnowledge/useKnowledgeOperations.js +156 -0
- package/lib/hooks/useMaiaTaskPanelZIndex.js +17 -0
- package/lib/hooks/useMentionAllowedTypes.js +136 -0
- package/lib/hooks/useMentionPopover.js +366 -0
- package/lib/hooks/useMinimizedPillBottomOffset.js +110 -0
- package/lib/hooks/useModal/index.js +2 -0
- package/lib/hooks/useModal/useModal.interfaces.js +2 -0
- package/lib/hooks/useModal/useModal.js +47 -0
- package/lib/hooks/useOnboardingNavigation.js +20 -0
- package/lib/hooks/useOrchestratorStream/index.js +2 -0
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.interface.js +2 -0
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +269 -0
- package/lib/hooks/useProjectSearch.js +183 -0
- package/lib/hooks/useProjectSummary.js +101 -0
- package/lib/hooks/useProjectSummaryConfig.js +211 -0
- package/lib/hooks/useProjects.js +46 -0
- package/lib/hooks/useRecentClientsSearch.js +150 -0
- package/lib/hooks/useRecentContexts.js +86 -0
- package/lib/hooks/useResize.js +29 -0
- package/lib/hooks/useSlashCommands.js +84 -0
- package/lib/hooks/useSmoothStreamText/index.js +2 -0
- package/lib/hooks/useSmoothStreamText/useSmoothStreamText.js +197 -0
- package/lib/hooks/useSnackBarManager/useSnackBarManager.js +41 -0
- package/lib/hooks/useStreamResponse.js +112 -0
- package/lib/hooks/useStreamdownStyles.js +13 -0
- package/lib/hooks/useStreamingMessage/index.js +2 -0
- package/lib/hooks/useStreamingMessage/useStreamingMessage.js +18 -0
- package/lib/hooks/useT.js +17 -0
- package/lib/hooks/useTabTaskDefault.js +33 -0
- package/lib/hooks/useTaskPanel.js +22 -0
- package/lib/hooks/useTextOverflowEllipsisTooltip.js +34 -0
- package/lib/hooks/useToggle.js +19 -0
- package/lib/hooks/useToggleFavorite/index.js +2 -0
- package/lib/hooks/useToggleFavorite/useToggleFavorite.js +83 -0
- package/lib/index.css +76 -0
- package/lib/index.js +30 -0
- package/lib/lang/br/index.js +761 -0
- package/lib/lang/en/index.js +761 -0
- package/lib/lang/es/index.js +762 -0
- package/lib/lang/fr/index.js +582 -0
- package/lib/lang/index.js +24 -0
- package/lib/lang/utils.js +33 -0
- package/lib/mocks/mockChats.js +395 -0
- package/lib/mocks/mockOrchestrator.js +5 -0
- package/lib/mocks/mockProject.js +11 -0
- package/lib/mocks/mockProjectSummary.js +6 -0
- package/lib/mocks/mockedUser.js +169 -0
- package/lib/services/apolloClient.js +3 -0
- package/lib/services/appcues.js +19 -0
- package/lib/services/corpilot/ProjectSummary/getProjectSummary.js +31 -0
- package/lib/services/corpilot/ProjectSummary/index.js +5 -0
- package/lib/services/corpilot/client.js +27 -0
- package/lib/services/corpilot/index.js +5 -0
- package/lib/services/maia/Access/updateAccess.js +59 -0
- package/lib/services/maia/Actions/getFrequentlyUsedActions.js +46 -0
- package/lib/services/maia/Actions/getSlashCommands.js +39 -0
- package/lib/services/maia/Actions/index.js +7 -0
- package/lib/services/maia/Agents/createAgent.js +39 -0
- package/lib/services/maia/Agents/deleteAgent.js +38 -0
- package/lib/services/maia/Agents/fetchAgentDetail.js +122 -0
- package/lib/services/maia/Agents/getAgentById.js +162 -0
- package/lib/services/maia/Agents/getAgentModels.js +112 -0
- package/lib/services/maia/Agents/getAgentSuggestions.js +44 -0
- package/lib/services/maia/Agents/getAgents.js +718 -0
- package/lib/services/maia/Agents/setAgentToolGroups.js +42 -0
- package/lib/services/maia/Agents/toggleFavorite.js +34 -0
- package/lib/services/maia/Agents/updateAgent.js +39 -0
- package/lib/services/maia/Chats/deleteChat.js +32 -0
- package/lib/services/maia/Chats/getChatMessages.js +144 -0
- package/lib/services/maia/Chats/getChatsByUserId.js +82 -0
- package/lib/services/maia/Chats/index.js +15 -0
- package/lib/services/maia/Chats/markSessionAsRead.js +32 -0
- package/lib/services/maia/Chats/patchChat.js +43 -0
- package/lib/services/maia/Chats/wasHelpfulChat.js +31 -0
- package/lib/services/maia/Faqs/getFrequentlyAskedQuestions.js +55 -0
- package/lib/services/maia/Faqs/index.js +5 -0
- package/lib/services/maia/Knowledge/delete.js +41 -0
- package/lib/services/maia/Knowledge/download.js +48 -0
- package/lib/services/maia/Knowledge/index.js +3 -0
- package/lib/services/maia/Knowledge/save.js +43 -0
- package/lib/services/maia/Orchestrator/index.js +7 -0
- package/lib/services/maia/Orchestrator/orchestrator.js +246 -0
- package/lib/services/maia/RecentClients/getRecentClients.js +43 -0
- package/lib/services/maia/RecentClients/index.js +6 -0
- package/lib/services/maia/RecentContexts/getRecentContexts.js +54 -0
- package/lib/services/maia/RecentContexts/index.js +6 -0
- package/lib/services/maia/RecentProjects/getRecentProjects.js +55 -0
- package/lib/services/maia/RecentProjects/index.js +6 -0
- package/lib/services/maia/RecentTasks/getRecentTasks.js +54 -0
- package/lib/services/maia/RecentTasks/index.js +6 -0
- package/lib/services/maia/RecentUsers/getRecentUsers.js +59 -0
- package/lib/services/maia/RecentUsers/index.js +6 -0
- package/lib/services/maia/Skills/createSkill.js +39 -0
- package/lib/services/maia/Skills/deleteSkill.js +38 -0
- package/lib/services/maia/Skills/generateSkill.js +41 -0
- package/lib/services/maia/Skills/getSkills.js +90 -0
- package/lib/services/maia/Skills/updateSkill.js +39 -0
- package/lib/services/maia/client.js +27 -0
- package/lib/services/maia/index.js +17 -0
- package/lib/services/query/ClientSearchQuery.js +5 -0
- package/lib/services/query/entitySearchQuery.js +18 -0
- package/lib/services/query/index.js +2 -0
- package/lib/services/query/projectSearchByValueQuery.js +5 -0
- package/lib/services/query/taskUserTabQuery.js +8 -0
- package/lib/services/query/usersDirectoryQuery.js +19 -0
- package/lib/services/types.js +6 -0
- package/lib/services/utils/fetchCOR.js +117 -0
- package/lib/services/utils/getCookie.js +10 -0
- package/lib/services/utils/index.js +3 -0
- package/lib/services/utils/mapChatMessages.js +287 -0
- package/lib/services/utils/validateIsMaia.js +4 -0
- package/lib/store/chatsSidebarOptimistic.js +92 -0
- package/lib/store/chatsStore.types.js +2 -0
- package/lib/store/chatsStoreLifecycle.js +8 -0
- package/lib/store/faqsStore.types.js +2 -0
- package/lib/store/index.js +4 -0
- package/lib/store/maiaLastChatPersistence.js +35 -0
- package/lib/store/sessions/activeView.js +22 -0
- package/lib/store/sessions/index.js +9 -0
- package/lib/store/sessions/sessionHitlContext.js +15 -0
- package/lib/store/sessions/sessionNotificationSound.js +57 -0
- package/lib/store/sessions/sessionNotifications.js +110 -0
- package/lib/store/sessions/sessionNotifications.types.js +2 -0
- package/lib/store/sessions/sessionStreamManager.js +715 -0
- package/lib/store/sessions/sessionStreamingText.js +80 -0
- package/lib/store/sessions/sessions.types.js +35 -0
- package/lib/store/sessions/useSessionMeta.js +39 -0
- package/lib/store/sessions/useSessionStreamingText.js +18 -0
- package/lib/store/sessions/useSessionsStore.js +197 -0
- package/lib/store/useChatsStore.js +387 -0
- package/lib/store/useFaqsStore.js +27 -0
- package/lib/streamdownStyles.js +9 -0
- package/lib/styles/StyledCleanContainer.js +7 -0
- package/lib/styles/cascade.js +14 -0
- package/lib/styles/config.js +47 -0
- package/lib/styles/shared/scrollable.js +3 -0
- package/lib/styles/transitions.js +21 -0
- package/lib/types/Action.js +2 -0
- package/lib/types/AgentSuggestion.js +2 -0
- package/lib/types/Chat.js +10 -0
- package/lib/types/Client.js +2 -0
- package/lib/types/FrequentlyAskedQuestion.js +2 -0
- package/lib/types/Project.js +2 -0
- package/lib/types/ProjectSummaryConfigKeys.js +9 -0
- package/lib/types/Task.js +2 -0
- package/lib/types/agent.js +2 -0
- package/lib/types/agentModal.js +2 -0
- package/lib/types/contextMention.js +37 -0
- package/lib/types/global.d.js +2 -0
- package/lib/types/skill.js +2 -0
- package/lib/types/streamActivity.js +2 -0
- package/lib/types/userType.d.js +2 -0
- package/lib/utils/actionCategoryMap.js +37 -0
- package/lib/utils/actionIconMap.js +61 -0
- package/lib/utils/agentDisplayName.js +42 -0
- package/lib/utils/chatInputFiles.js +52 -0
- package/lib/utils/contextMentionIcons.js +134 -0
- package/lib/utils/contextMentionLabel.js +4 -0
- package/lib/utils/contextMentionTriggers.js +54 -0
- package/lib/utils/contextMentionTypeLabel.js +17 -0
- package/lib/utils/corConnectorMentionTypes.js +41 -0
- package/lib/utils/ensureStreamdownStyles.js +21 -0
- package/lib/utils/entityLinkRender.js +135 -0
- package/lib/utils/fileDownloadHelper.js +40 -0
- package/lib/utils/formatQuickActionMessage.js +16 -0
- package/lib/utils/formatUnreadCount.js +6 -0
- package/lib/utils/getUnitFileSize.js +13 -0
- package/lib/utils/hitlAnalytics.js +65 -0
- package/lib/utils/hoursPlannerQuickActionType.js +64 -0
- package/lib/utils/imagePreprocessor.js +108 -0
- package/lib/utils/index.js +3 -0
- package/lib/utils/maiaHostOpen.js +19 -0
- package/lib/utils/maiaStreamdownRehypePlugins.js +27 -0
- package/lib/utils/mapBackendLang.js +8 -0
- package/lib/utils/normalizeAgentConnectors.js +70 -0
- package/lib/utils/openTaskInCorPanel.js +22 -0
- package/lib/utils/orchestratorSubagents.js +11 -0
- package/lib/utils/renderContextMentions.js +399 -0
- package/lib/utils/retryCompletion.js +85 -0
- package/lib/utils/slashCommandMarker.js +30 -0
- package/lib/utils/sortManagerHoursHomeFuas.js +14 -0
- package/lib/utils/sseStreamContent.js +17 -0
- package/lib/utils/streamActivityMessages.js +359 -0
- package/lib/utils/validateTrimmedFields.js +8 -0
- package/package.json +1 -1
package/lib/App.js
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
/* eslint-disable react/button-has-type */
|
|
3
|
+
import { useState } from 'react';
|
|
4
|
+
import { DevChatAI } from './dev/DevChatAI';
|
|
5
|
+
import { DevProjectSummary } from './dev/ProjectSummary';
|
|
6
|
+
import { DevContextMentionInput } from './dev/DevContextMentionInput';
|
|
7
|
+
import { Providers } from './dev/Providers';
|
|
8
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
+
var PAGES = {
|
|
10
|
+
'Resumen de proyectos': DevProjectSummary,
|
|
11
|
+
'Chat Agente PM': DevChatAI,
|
|
12
|
+
'Context Mention Input': DevContextMentionInput
|
|
13
|
+
};
|
|
14
|
+
function App() {
|
|
15
|
+
var _useState = useState('Context Mention Input'),
|
|
16
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
17
|
+
page = _useState2[0],
|
|
18
|
+
setPage = _useState2[1];
|
|
19
|
+
var Component = PAGES[page];
|
|
20
|
+
var pages = Object.keys(PAGES);
|
|
21
|
+
return /*#__PURE__*/_jsxs(Providers, {
|
|
22
|
+
children: [/*#__PURE__*/_jsx("div", {
|
|
23
|
+
style: {
|
|
24
|
+
display: 'flex',
|
|
25
|
+
gap: 8,
|
|
26
|
+
padding: 8
|
|
27
|
+
},
|
|
28
|
+
children: pages.map(function (p) {
|
|
29
|
+
return /*#__PURE__*/_jsx("button", {
|
|
30
|
+
onClick: function onClick() {
|
|
31
|
+
return setPage(p);
|
|
32
|
+
},
|
|
33
|
+
style: {
|
|
34
|
+
fontWeight: page === p ? 700 : 400
|
|
35
|
+
},
|
|
36
|
+
children: p
|
|
37
|
+
}, p);
|
|
38
|
+
})
|
|
39
|
+
}), /*#__PURE__*/_jsx("div", {
|
|
40
|
+
id: "modals-portal-maia-chat-agent"
|
|
41
|
+
}), /*#__PURE__*/_jsx("div", {
|
|
42
|
+
id: "abm-agent-modal"
|
|
43
|
+
}), /*#__PURE__*/_jsx("div", {
|
|
44
|
+
id: "snackbar-portal-maia-chat-agent"
|
|
45
|
+
}), /*#__PURE__*/_jsx("div", {
|
|
46
|
+
id: "emoji-picker-container"
|
|
47
|
+
}), /*#__PURE__*/_jsx("div", {
|
|
48
|
+
id: "emoji-picker-container-maia-chat-agent"
|
|
49
|
+
}), /*#__PURE__*/_jsx("div", {
|
|
50
|
+
id: "modal-portal-video-onboarding"
|
|
51
|
+
}), /*#__PURE__*/_jsx(Component, {})]
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
export default App;
|
|
55
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsIkRldkNoYXRBSSIsIkRldlByb2plY3RTdW1tYXJ5IiwiRGV2Q29udGV4dE1lbnRpb25JbnB1dCIsIlByb3ZpZGVycyIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJQQUdFUyIsIkFwcCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsInBhZ2UiLCJzZXRQYWdlIiwiQ29tcG9uZW50IiwicGFnZXMiLCJPYmplY3QiLCJrZXlzIiwiY2hpbGRyZW4iLCJzdHlsZSIsImRpc3BsYXkiLCJnYXAiLCJwYWRkaW5nIiwibWFwIiwicCIsIm9uQ2xpY2siLCJmb250V2VpZ2h0IiwiaWQiXSwic291cmNlcyI6WyIuLi9zcmMvQXBwLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9idXR0b24taGFzLXR5cGUgKi9cbmltcG9ydCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB7IERldkNoYXRBSSB9IGZyb20gJy4vZGV2L0RldkNoYXRBSSdcbmltcG9ydCB7IERldlByb2plY3RTdW1tYXJ5IH0gZnJvbSAnLi9kZXYvUHJvamVjdFN1bW1hcnknXG5pbXBvcnQgeyBEZXZDb250ZXh0TWVudGlvbklucHV0IH0gZnJvbSAnLi9kZXYvRGV2Q29udGV4dE1lbnRpb25JbnB1dCdcbmltcG9ydCB7IFByb3ZpZGVycyB9IGZyb20gJy4vZGV2L1Byb3ZpZGVycydcblxuY29uc3QgUEFHRVMgPSB7XG4gICdSZXN1bWVuIGRlIHByb3llY3Rvcyc6IERldlByb2plY3RTdW1tYXJ5LFxuICAnQ2hhdCBBZ2VudGUgUE0nOiBEZXZDaGF0QUksXG4gICdDb250ZXh0IE1lbnRpb24gSW5wdXQnOiBEZXZDb250ZXh0TWVudGlvbklucHV0LFxufVxuXG50eXBlIFBhZ2UgPSBrZXlvZiB0eXBlb2YgUEFHRVNcblxuZnVuY3Rpb24gQXBwKCkge1xuICBjb25zdCBbcGFnZSwgc2V0UGFnZV0gPSB1c2VTdGF0ZTxQYWdlPignQ29udGV4dCBNZW50aW9uIElucHV0JylcbiAgY29uc3QgQ29tcG9uZW50ID0gUEFHRVNbcGFnZV1cbiAgY29uc3QgcGFnZXMgPSBPYmplY3Qua2V5cyhQQUdFUykgYXMgUGFnZVtdXG5cbiAgcmV0dXJuIChcbiAgICA8UHJvdmlkZXJzPlxuICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGdhcDogOCwgcGFkZGluZzogOCB9fT5cbiAgICAgICAge3BhZ2VzLm1hcChwID0+IChcbiAgICAgICAgICA8YnV0dG9uIGtleT17cH0gb25DbGljaz17KCkgPT4gc2V0UGFnZShwKX0gc3R5bGU9e3sgZm9udFdlaWdodDogcGFnZSA9PT0gcCA/IDcwMCA6IDQwMCB9fT5cbiAgICAgICAgICAgIHtwfVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICApKX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBpZD1cIm1vZGFscy1wb3J0YWwtbWFpYS1jaGF0LWFnZW50XCIgLz5cbiAgICAgIDxkaXYgaWQ9XCJhYm0tYWdlbnQtbW9kYWxcIiAvPlxuICAgICAgPGRpdiBpZD1cInNuYWNrYmFyLXBvcnRhbC1tYWlhLWNoYXQtYWdlbnRcIiAvPlxuICAgICAgPGRpdiBpZD1cImVtb2ppLXBpY2tlci1jb250YWluZXJcIiAvPlxuICAgICAgPGRpdiBpZD1cImVtb2ppLXBpY2tlci1jb250YWluZXItbWFpYS1jaGF0LWFnZW50XCIgLz5cbiAgICAgIDxkaXYgaWQ9XCJtb2RhbC1wb3J0YWwtdmlkZW8tb25ib2FyZGluZ1wiIC8+XG4gICAgICA8Q29tcG9uZW50IC8+XG4gICAgPC9Qcm92aWRlcnM+XG4gIClcbn1cblxuZXhwb3J0IGRlZmF1bHQgQXBwXG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBLFNBQVNBLFFBQVEsUUFBUSxPQUFPO0FBRWhDLFNBQVNDLFNBQVMsUUFBUSxpQkFBaUI7QUFDM0MsU0FBU0MsaUJBQWlCLFFBQVEsc0JBQXNCO0FBQ3hELFNBQVNDLHNCQUFzQixRQUFRLDhCQUE4QjtBQUNyRSxTQUFTQyxTQUFTLFFBQVEsaUJBQWlCO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBLEVBQUFDLElBQUEsSUFBQUMsS0FBQTtBQUUzQyxJQUFNQyxLQUFLLEdBQUc7RUFDWixzQkFBc0IsRUFBRVAsaUJBQWlCO0VBQ3pDLGdCQUFnQixFQUFFRCxTQUFTO0VBQzNCLHVCQUF1QixFQUFFRTtBQUMzQixDQUFDO0FBSUQsU0FBU08sR0FBR0EsQ0FBQSxFQUFHO0VBQ2IsSUFBQUMsU0FBQSxHQUF3QlgsUUFBUSxDQUFPLHVCQUF1QixDQUFDO0lBQUFZLFVBQUEsR0FBQUMsY0FBQSxDQUFBRixTQUFBO0lBQXhERyxJQUFJLEdBQUFGLFVBQUE7SUFBRUcsT0FBTyxHQUFBSCxVQUFBO0VBQ3BCLElBQU1JLFNBQVMsR0FBR1AsS0FBSyxDQUFDSyxJQUFJLENBQUM7RUFDN0IsSUFBTUcsS0FBSyxHQUFHQyxNQUFNLENBQUNDLElBQUksQ0FBQ1YsS0FBSyxDQUFXO0VBRTFDLG9CQUNFRCxLQUFBLENBQUNKLFNBQVM7SUFBQWdCLFFBQUEsZ0JBQ1JkLElBQUE7TUFBS2UsS0FBSyxFQUFFO1FBQUVDLE9BQU8sRUFBRSxNQUFNO1FBQUVDLEdBQUcsRUFBRSxDQUFDO1FBQUVDLE9BQU8sRUFBRTtNQUFFLENBQUU7TUFBQUosUUFBQSxFQUNqREgsS0FBSyxDQUFDUSxHQUFHLENBQUMsVUFBQUMsQ0FBQztRQUFBLG9CQUNWcEIsSUFBQTtVQUFnQnFCLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBO1lBQUEsT0FBUVosT0FBTyxDQUFDVyxDQUFDLENBQUM7VUFBQSxDQUFDO1VBQUNMLEtBQUssRUFBRTtZQUFFTyxVQUFVLEVBQUVkLElBQUksS0FBS1ksQ0FBQyxHQUFHLEdBQUcsR0FBRztVQUFJLENBQUU7VUFBQU4sUUFBQSxFQUN0Rk07UUFBQyxHQURTQSxDQUVMLENBQUM7TUFBQSxDQUNWO0lBQUMsQ0FDQyxDQUFDLGVBQ05wQixJQUFBO01BQUt1QixFQUFFLEVBQUM7SUFBK0IsQ0FBRSxDQUFDLGVBQzFDdkIsSUFBQTtNQUFLdUIsRUFBRSxFQUFDO0lBQWlCLENBQUUsQ0FBQyxlQUM1QnZCLElBQUE7TUFBS3VCLEVBQUUsRUFBQztJQUFpQyxDQUFFLENBQUMsZUFDNUN2QixJQUFBO01BQUt1QixFQUFFLEVBQUM7SUFBd0IsQ0FBRSxDQUFDLGVBQ25DdkIsSUFBQTtNQUFLdUIsRUFBRSxFQUFDO0lBQXdDLENBQUUsQ0FBQyxlQUNuRHZCLElBQUE7TUFBS3VCLEVBQUUsRUFBQztJQUErQixDQUFFLENBQUMsZUFDMUN2QixJQUFBLENBQUNVLFNBQVMsSUFBRSxDQUFDO0VBQUEsQ0FDSixDQUFDO0FBRWhCO0FBRUEsZUFBZU4sR0FBRyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
4
|
+
import { useState } from 'react';
|
|
5
|
+
import { Check } from '@projectcor/icons/lib/components/Check';
|
|
6
|
+
import { IconButton } from './IconButton';
|
|
7
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
+
export var ActionableButton = function ActionableButton(_ref) {
|
|
9
|
+
var handleClick = _ref.handleClick,
|
|
10
|
+
tooltip = _ref.tooltip,
|
|
11
|
+
defaultIcon = _ref.defaultIcon,
|
|
12
|
+
checkTooltip = _ref.checkTooltip,
|
|
13
|
+
disabled = _ref.disabled;
|
|
14
|
+
var _useState = useState(false),
|
|
15
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
16
|
+
showCheck = _useState2[0],
|
|
17
|
+
setShowCheck = _useState2[1];
|
|
18
|
+
var handleAction = /*#__PURE__*/function () {
|
|
19
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
20
|
+
var _t;
|
|
21
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
22
|
+
while (1) switch (_context.prev = _context.next) {
|
|
23
|
+
case 0:
|
|
24
|
+
_context.prev = 0;
|
|
25
|
+
if (!disabled) {
|
|
26
|
+
_context.next = 1;
|
|
27
|
+
break;
|
|
28
|
+
}
|
|
29
|
+
return _context.abrupt("return");
|
|
30
|
+
case 1:
|
|
31
|
+
_context.next = 2;
|
|
32
|
+
return handleClick();
|
|
33
|
+
case 2:
|
|
34
|
+
setShowCheck(true);
|
|
35
|
+
setTimeout(function () {
|
|
36
|
+
setShowCheck(false);
|
|
37
|
+
}, 2000);
|
|
38
|
+
_context.next = 4;
|
|
39
|
+
break;
|
|
40
|
+
case 3:
|
|
41
|
+
_context.prev = 3;
|
|
42
|
+
_t = _context["catch"](0);
|
|
43
|
+
console.error('Failed to perform action: ', _t);
|
|
44
|
+
case 4:
|
|
45
|
+
case "end":
|
|
46
|
+
return _context.stop();
|
|
47
|
+
}
|
|
48
|
+
}, _callee, null, [[0, 3]]);
|
|
49
|
+
}));
|
|
50
|
+
return function handleAction() {
|
|
51
|
+
return _ref2.apply(this, arguments);
|
|
52
|
+
};
|
|
53
|
+
}();
|
|
54
|
+
return /*#__PURE__*/_jsx(IconButton, {
|
|
55
|
+
handleClick: handleAction,
|
|
56
|
+
tooltip: showCheck ? checkTooltip : tooltip,
|
|
57
|
+
children: showCheck ? /*#__PURE__*/_jsx(Check, {}) : defaultIcon
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsIkNoZWNrIiwiSWNvbkJ1dHRvbiIsImpzeCIsIl9qc3giLCJBY3Rpb25hYmxlQnV0dG9uIiwiX3JlZiIsImhhbmRsZUNsaWNrIiwidG9vbHRpcCIsImRlZmF1bHRJY29uIiwiY2hlY2tUb29sdGlwIiwiZGlzYWJsZWQiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJzaG93Q2hlY2siLCJzZXRTaG93Q2hlY2siLCJoYW5kbGVBY3Rpb24iLCJfcmVmMiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwiX3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImFicnVwdCIsInNldFRpbWVvdXQiLCJjb25zb2xlIiwiZXJyb3IiLCJzdG9wIiwiYXBwbHkiLCJhcmd1bWVudHMiLCJjaGlsZHJlbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL0FjdGlvbmFibGVCdXR0b24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlYWN0Tm9kZSwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IENoZWNrIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ2hlY2snXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi9JY29uQnV0dG9uJ1xuXG5pbnRlcmZhY2UgQWN0aW9uYWJsZUJ1dHRvblByb3BzIHtcbiAgaGFuZGxlQ2xpY2s6ICgpID0+IHZvaWRcbiAgdG9vbHRpcDogc3RyaW5nXG4gIGNoZWNrVG9vbHRpcDogc3RyaW5nXG4gIGRlZmF1bHRJY29uOiBSZWFjdE5vZGVcbiAgZGlzYWJsZWQ/OiBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCBBY3Rpb25hYmxlQnV0dG9uID0gKHtcbiAgaGFuZGxlQ2xpY2ssXG4gIHRvb2x0aXAsXG4gIGRlZmF1bHRJY29uLFxuICBjaGVja1Rvb2x0aXAsXG4gIGRpc2FibGVkLFxufTogQWN0aW9uYWJsZUJ1dHRvblByb3BzKSA9PiB7XG4gIGNvbnN0IFtzaG93Q2hlY2ssIHNldFNob3dDaGVja10gPSB1c2VTdGF0ZShmYWxzZSlcblxuICBjb25zdCBoYW5kbGVBY3Rpb24gPSBhc3luYyAoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChkaXNhYmxlZCkgcmV0dXJuXG4gICAgICBhd2FpdCBoYW5kbGVDbGljaygpXG4gICAgICBzZXRTaG93Q2hlY2sodHJ1ZSlcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBzZXRTaG93Q2hlY2soZmFsc2UpXG4gICAgICB9LCAyMDAwKVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHBlcmZvcm0gYWN0aW9uOiAnLCBlcnIpXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8SWNvbkJ1dHRvbiBoYW5kbGVDbGljaz17aGFuZGxlQWN0aW9ufSB0b29sdGlwPXtzaG93Q2hlY2sgPyBjaGVja1Rvb2x0aXAgOiB0b29sdGlwfT5cbiAgICAgIHtzaG93Q2hlY2sgPyA8Q2hlY2sgLz4gOiBkZWZhdWx0SWNvbn1cbiAgICA8L0ljb25CdXR0b24+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsU0FBb0JBLFFBQVEsUUFBUSxPQUFPO0FBQzNDLFNBQVNDLEtBQUssUUFBUSx3Q0FBd0M7QUFDOUQsU0FBU0MsVUFBVSxRQUFRLGNBQWM7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUE7QUFVekMsT0FBTyxJQUFNQyxnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQWdCQSxDQUFBQyxJQUFBLEVBTUE7RUFBQSxJQUwzQkMsV0FBVyxHQUFBRCxJQUFBLENBQVhDLFdBQVc7SUFDWEMsT0FBTyxHQUFBRixJQUFBLENBQVBFLE9BQU87SUFDUEMsV0FBVyxHQUFBSCxJQUFBLENBQVhHLFdBQVc7SUFDWEMsWUFBWSxHQUFBSixJQUFBLENBQVpJLFlBQVk7SUFDWkMsUUFBUSxHQUFBTCxJQUFBLENBQVJLLFFBQVE7RUFFUixJQUFBQyxTQUFBLEdBQWtDWixRQUFRLENBQUMsS0FBSyxDQUFDO0lBQUFhLFVBQUEsR0FBQUMsY0FBQSxDQUFBRixTQUFBO0lBQTFDRyxTQUFTLEdBQUFGLFVBQUE7SUFBRUcsWUFBWSxHQUFBSCxVQUFBO0VBRTlCLElBQU1JLFlBQVk7SUFBQSxJQUFBQyxLQUFBLEdBQUFDLGlCQUFBLGNBQUFDLG1CQUFBLENBQUFDLElBQUEsQ0FBRyxTQUFBQyxRQUFBO01BQUEsSUFBQUMsRUFBQTtNQUFBLE9BQUFILG1CQUFBLENBQUFJLElBQUEsV0FBQUMsUUFBQTtRQUFBLGtCQUFBQSxRQUFBLENBQUFDLElBQUEsR0FBQUQsUUFBQSxDQUFBRSxJQUFBO1VBQUE7WUFBQUYsUUFBQSxDQUFBQyxJQUFBO1lBQUEsS0FFYmYsUUFBUTtjQUFBYyxRQUFBLENBQUFFLElBQUE7Y0FBQTtZQUFBO1lBQUEsT0FBQUYsUUFBQSxDQUFBRyxNQUFBO1VBQUE7WUFBQUgsUUFBQSxDQUFBRSxJQUFBO1lBQUEsT0FDTnBCLFdBQVcsQ0FBQyxDQUFDO1VBQUE7WUFDbkJTLFlBQVksQ0FBQyxJQUFJLENBQUM7WUFDbEJhLFVBQVUsQ0FBQyxZQUFNO2NBQ2ZiLFlBQVksQ0FBQyxLQUFLLENBQUM7WUFDckIsQ0FBQyxFQUFFLElBQUksQ0FBQztZQUFBUyxRQUFBLENBQUFFLElBQUE7WUFBQTtVQUFBO1lBQUFGLFFBQUEsQ0FBQUMsSUFBQTtZQUFBSCxFQUFBLEdBQUFFLFFBQUE7WUFFUkssT0FBTyxDQUFDQyxLQUFLLENBQUMsNEJBQTRCLEVBQUFSLEVBQUssQ0FBQztVQUFBO1VBQUE7WUFBQSxPQUFBRSxRQUFBLENBQUFPLElBQUE7UUFBQTtNQUFBLEdBQUFWLE9BQUE7SUFBQSxDQUVuRDtJQUFBLGdCQVhLTCxZQUFZQSxDQUFBO01BQUEsT0FBQUMsS0FBQSxDQUFBZSxLQUFBLE9BQUFDLFNBQUE7SUFBQTtFQUFBLEdBV2pCO0VBRUQsb0JBQ0U5QixJQUFBLENBQUNGLFVBQVU7SUFBQ0ssV0FBVyxFQUFFVSxZQUFhO0lBQUNULE9BQU8sRUFBRU8sU0FBUyxHQUFHTCxZQUFZLEdBQUdGLE9BQVE7SUFBQTJCLFFBQUEsRUFDaEZwQixTQUFTLGdCQUFHWCxJQUFBLENBQUNILEtBQUssSUFBRSxDQUFDLEdBQUdRO0VBQVcsQ0FDMUIsQ0FBQztBQUVqQixDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
import React, { useEffect, useRef, useState } from 'react';
|
|
3
|
+
import { Loader } from '../Loader';
|
|
4
|
+
import { SCAgentActivityIndicator, SCStreamPendingSkeleton } from './AgentActivityIndicator.styles';
|
|
5
|
+
import { formatActivityElapsed } from './AgentActivityIndicator.utils';
|
|
6
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
|
+
export var AgentActivityIndicator = function AgentActivityIndicator(_ref) {
|
|
8
|
+
var activity = _ref.activity,
|
|
9
|
+
_ref$compact = _ref.compact,
|
|
10
|
+
compact = _ref$compact === void 0 ? false : _ref$compact,
|
|
11
|
+
className = _ref.className;
|
|
12
|
+
var _useState = useState(false),
|
|
13
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
14
|
+
isChanging = _useState2[0],
|
|
15
|
+
setIsChanging = _useState2[1];
|
|
16
|
+
var _useState3 = useState(0),
|
|
17
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
18
|
+
elapsedSeconds = _useState4[0],
|
|
19
|
+
setElapsedSeconds = _useState4[1];
|
|
20
|
+
var prevMessageRef = useRef(activity.message);
|
|
21
|
+
useEffect(function () {
|
|
22
|
+
setElapsedSeconds(0);
|
|
23
|
+
var intervalId = window.setInterval(function () {
|
|
24
|
+
setElapsedSeconds(function (prev) {
|
|
25
|
+
return prev + 1;
|
|
26
|
+
});
|
|
27
|
+
}, 1000);
|
|
28
|
+
return function () {
|
|
29
|
+
return window.clearInterval(intervalId);
|
|
30
|
+
};
|
|
31
|
+
}, [activity.phase]);
|
|
32
|
+
useEffect(function () {
|
|
33
|
+
var timeoutId;
|
|
34
|
+
if (prevMessageRef.current !== activity.message) {
|
|
35
|
+
prevMessageRef.current = activity.message;
|
|
36
|
+
setIsChanging(true);
|
|
37
|
+
timeoutId = window.setTimeout(function () {
|
|
38
|
+
return setIsChanging(false);
|
|
39
|
+
}, 220);
|
|
40
|
+
}
|
|
41
|
+
return function () {
|
|
42
|
+
if (timeoutId != null) {
|
|
43
|
+
window.clearTimeout(timeoutId);
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
}, [activity.message]);
|
|
47
|
+
var elapsedLabel = formatActivityElapsed(elapsedSeconds);
|
|
48
|
+
return /*#__PURE__*/_jsxs(SCAgentActivityIndicator, {
|
|
49
|
+
$compact: compact,
|
|
50
|
+
className: className,
|
|
51
|
+
role: "status",
|
|
52
|
+
"aria-live": "polite",
|
|
53
|
+
"aria-label": "".concat(activity.message, " (").concat(elapsedLabel, ")"),
|
|
54
|
+
children: [/*#__PURE__*/_jsx(Loader, {
|
|
55
|
+
size: "small",
|
|
56
|
+
className: "AgentActivityIndicator-loader"
|
|
57
|
+
}), /*#__PURE__*/_jsxs("p", {
|
|
58
|
+
className: "AgentActivityIndicator-text",
|
|
59
|
+
"data-changing": isChanging ? 'true' : undefined,
|
|
60
|
+
children: [/*#__PURE__*/_jsx("span", {
|
|
61
|
+
className: "AgentActivityIndicator-label",
|
|
62
|
+
children: activity.message
|
|
63
|
+
}), elapsedSeconds >= 3 && /*#__PURE__*/_jsxs(_Fragment, {
|
|
64
|
+
children: [/*#__PURE__*/_jsx("span", {
|
|
65
|
+
className: "AgentActivityIndicator-separator",
|
|
66
|
+
"aria-hidden": true,
|
|
67
|
+
children: "\xB7"
|
|
68
|
+
}), /*#__PURE__*/_jsx("span", {
|
|
69
|
+
className: "AgentActivityIndicator-timer",
|
|
70
|
+
"aria-hidden": true,
|
|
71
|
+
children: elapsedLabel
|
|
72
|
+
})]
|
|
73
|
+
})]
|
|
74
|
+
})]
|
|
75
|
+
});
|
|
76
|
+
};
|
|
77
|
+
export var StreamPendingSkeleton = function StreamPendingSkeleton() {
|
|
78
|
+
return /*#__PURE__*/_jsxs(SCStreamPendingSkeleton, {
|
|
79
|
+
"aria-hidden": true,
|
|
80
|
+
children: [/*#__PURE__*/_jsx("span", {
|
|
81
|
+
className: "StreamPendingSkeleton-line"
|
|
82
|
+
}), /*#__PURE__*/_jsx("span", {
|
|
83
|
+
className: "StreamPendingSkeleton-line"
|
|
84
|
+
}), /*#__PURE__*/_jsx("span", {
|
|
85
|
+
className: "StreamPendingSkeleton-line"
|
|
86
|
+
})]
|
|
87
|
+
});
|
|
88
|
+
};
|
|
89
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUVmZmVjdCIsInVzZVJlZiIsInVzZVN0YXRlIiwiTG9hZGVyIiwiU0NBZ2VudEFjdGl2aXR5SW5kaWNhdG9yIiwiU0NTdHJlYW1QZW5kaW5nU2tlbGV0b24iLCJmb3JtYXRBY3Rpdml0eUVsYXBzZWQiLCJqc3giLCJfanN4IiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJqc3hzIiwiX2pzeHMiLCJBZ2VudEFjdGl2aXR5SW5kaWNhdG9yIiwiX3JlZiIsImFjdGl2aXR5IiwiX3JlZiRjb21wYWN0IiwiY29tcGFjdCIsImNsYXNzTmFtZSIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImlzQ2hhbmdpbmciLCJzZXRJc0NoYW5naW5nIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJlbGFwc2VkU2Vjb25kcyIsInNldEVsYXBzZWRTZWNvbmRzIiwicHJldk1lc3NhZ2VSZWYiLCJtZXNzYWdlIiwiaW50ZXJ2YWxJZCIsIndpbmRvdyIsInNldEludGVydmFsIiwicHJldiIsImNsZWFySW50ZXJ2YWwiLCJwaGFzZSIsInRpbWVvdXRJZCIsImN1cnJlbnQiLCJzZXRUaW1lb3V0IiwiY2xlYXJUaW1lb3V0IiwiZWxhcHNlZExhYmVsIiwiJGNvbXBhY3QiLCJyb2xlIiwiY29uY2F0IiwiY2hpbGRyZW4iLCJzaXplIiwidW5kZWZpbmVkIiwiU3RyZWFtUGVuZGluZ1NrZWxldG9uIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvQWdlbnRBY3Rpdml0eUluZGljYXRvci9BZ2VudEFjdGl2aXR5SW5kaWNhdG9yLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBMb2FkZXIgfSBmcm9tICcuLi9Mb2FkZXInXG5pbXBvcnQgdHlwZSB7IFN0cmVhbUFjdGl2aXR5IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvc3RyZWFtQWN0aXZpdHknXG5pbXBvcnQgeyBTQ0FnZW50QWN0aXZpdHlJbmRpY2F0b3IsIFNDU3RyZWFtUGVuZGluZ1NrZWxldG9uIH0gZnJvbSAnLi9BZ2VudEFjdGl2aXR5SW5kaWNhdG9yLnN0eWxlcydcbmltcG9ydCB7IGZvcm1hdEFjdGl2aXR5RWxhcHNlZCB9IGZyb20gJy4vQWdlbnRBY3Rpdml0eUluZGljYXRvci51dGlscydcblxuZXhwb3J0IGludGVyZmFjZSBBZ2VudEFjdGl2aXR5SW5kaWNhdG9yUHJvcHMge1xuICBhY3Rpdml0eTogU3RyZWFtQWN0aXZpdHlcbiAgY29tcGFjdD86IGJvb2xlYW5cbiAgY2xhc3NOYW1lPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCBBZ2VudEFjdGl2aXR5SW5kaWNhdG9yID0gKHsgYWN0aXZpdHksIGNvbXBhY3QgPSBmYWxzZSwgY2xhc3NOYW1lIH06IEFnZW50QWN0aXZpdHlJbmRpY2F0b3JQcm9wcykgPT4ge1xuICBjb25zdCBbaXNDaGFuZ2luZywgc2V0SXNDaGFuZ2luZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2VsYXBzZWRTZWNvbmRzLCBzZXRFbGFwc2VkU2Vjb25kc10gPSB1c2VTdGF0ZSgwKVxuICBjb25zdCBwcmV2TWVzc2FnZVJlZiA9IHVzZVJlZihhY3Rpdml0eS5tZXNzYWdlKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0RWxhcHNlZFNlY29uZHMoMClcbiAgICBjb25zdCBpbnRlcnZhbElkID0gd2luZG93LnNldEludGVydmFsKCgpID0+IHtcbiAgICAgIHNldEVsYXBzZWRTZWNvbmRzKHByZXYgPT4gcHJldiArIDEpXG4gICAgfSwgMTAwMClcblxuICAgIHJldHVybiAoKSA9PiB3aW5kb3cuY2xlYXJJbnRlcnZhbChpbnRlcnZhbElkKVxuICB9LCBbYWN0aXZpdHkucGhhc2VdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IHRpbWVvdXRJZDogbnVtYmVyIHwgdW5kZWZpbmVkXG5cbiAgICBpZiAocHJldk1lc3NhZ2VSZWYuY3VycmVudCAhPT0gYWN0aXZpdHkubWVzc2FnZSkge1xuICAgICAgcHJldk1lc3NhZ2VSZWYuY3VycmVudCA9IGFjdGl2aXR5Lm1lc3NhZ2VcbiAgICAgIHNldElzQ2hhbmdpbmcodHJ1ZSlcbiAgICAgIHRpbWVvdXRJZCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHNldElzQ2hhbmdpbmcoZmFsc2UpLCAyMjApXG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmICh0aW1lb3V0SWQgIT0gbnVsbCkge1xuICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRpbWVvdXRJZClcbiAgICAgIH1cbiAgICB9XG4gIH0sIFthY3Rpdml0eS5tZXNzYWdlXSlcblxuICBjb25zdCBlbGFwc2VkTGFiZWwgPSBmb3JtYXRBY3Rpdml0eUVsYXBzZWQoZWxhcHNlZFNlY29uZHMpXG5cbiAgcmV0dXJuIChcbiAgICA8U0NBZ2VudEFjdGl2aXR5SW5kaWNhdG9yXG4gICAgICAkY29tcGFjdD17Y29tcGFjdH1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgcm9sZT1cInN0YXR1c1wiXG4gICAgICBhcmlhLWxpdmU9XCJwb2xpdGVcIlxuICAgICAgYXJpYS1sYWJlbD17YCR7YWN0aXZpdHkubWVzc2FnZX0gKCR7ZWxhcHNlZExhYmVsfSlgfVxuICAgID5cbiAgICAgIDxMb2FkZXIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwiQWdlbnRBY3Rpdml0eUluZGljYXRvci1sb2FkZXJcIiAvPlxuICAgICAgPHAgY2xhc3NOYW1lPVwiQWdlbnRBY3Rpdml0eUluZGljYXRvci10ZXh0XCIgZGF0YS1jaGFuZ2luZz17aXNDaGFuZ2luZyA/ICd0cnVlJyA6IHVuZGVmaW5lZH0+XG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIkFnZW50QWN0aXZpdHlJbmRpY2F0b3ItbGFiZWxcIj57YWN0aXZpdHkubWVzc2FnZX08L3NwYW4+XG4gICAgICAgIHtlbGFwc2VkU2Vjb25kcyA+PSAzICYmIChcbiAgICAgICAgICA8PlxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiQWdlbnRBY3Rpdml0eUluZGljYXRvci1zZXBhcmF0b3JcIiBhcmlhLWhpZGRlbj5cbiAgICAgICAgICAgICAgwrdcbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIkFnZW50QWN0aXZpdHlJbmRpY2F0b3ItdGltZXJcIiBhcmlhLWhpZGRlbj5cbiAgICAgICAgICAgICAge2VsYXBzZWRMYWJlbH1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKX1cbiAgICAgIDwvcD5cbiAgICA8L1NDQWdlbnRBY3Rpdml0eUluZGljYXRvcj5cbiAgKVxufVxuXG5leHBvcnQgY29uc3QgU3RyZWFtUGVuZGluZ1NrZWxldG9uID0gKCkgPT4gKFxuICA8U0NTdHJlYW1QZW5kaW5nU2tlbGV0b24gYXJpYS1oaWRkZW4+XG4gICAgPHNwYW4gY2xhc3NOYW1lPVwiU3RyZWFtUGVuZGluZ1NrZWxldG9uLWxpbmVcIiAvPlxuICAgIDxzcGFuIGNsYXNzTmFtZT1cIlN0cmVhbVBlbmRpbmdTa2VsZXRvbi1saW5lXCIgLz5cbiAgICA8c3BhbiBjbGFzc05hbWU9XCJTdHJlYW1QZW5kaW5nU2tlbGV0b24tbGluZVwiIC8+XG4gIDwvU0NTdHJlYW1QZW5kaW5nU2tlbGV0b24+XG4pXG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPQSxLQUFLLElBQUlDLFNBQVMsRUFBRUMsTUFBTSxFQUFFQyxRQUFRLFFBQVEsT0FBTztBQUMxRCxTQUFTQyxNQUFNLFFBQVEsV0FBVztBQUVsQyxTQUFTQyx3QkFBd0IsRUFBRUMsdUJBQXVCLFFBQVEsaUNBQWlDO0FBQ25HLFNBQVNDLHFCQUFxQixRQUFRLGdDQUFnQztBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQSxFQUFBQyxRQUFBLElBQUFDLFNBQUEsRUFBQUMsSUFBQSxJ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
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import styled, { keyframes } from 'styled-components';
|
|
2
|
+
import colors from '@projectcor/theme/lib/base/colors';
|
|
3
|
+
var shimmer = keyframes(["0%{background-position:200% 0;}100%{background-position:-200% 0;}"]);
|
|
4
|
+
export var SCAgentActivityIndicator = styled.div.withConfig({
|
|
5
|
+
displayName: "AgentActivityIndicatorstyles__SCAgentActivityIndicator",
|
|
6
|
+
componentId: "sc-d7fode-0"
|
|
7
|
+
})(["width:100%;display:flex;gap:10px;align-items:center;padding:", ";max-width:600px;.AgentActivityIndicator-text{margin:0;display:flex;align-items:baseline;gap:6px;min-width:0;font-size:", ";line-height:140%;color:", ";transition:opacity 0.25s ease;}.AgentActivityIndicator-text[data-changing='true']{opacity:0.55;}.AgentActivityIndicator-label{min-width:0;}.AgentActivityIndicator-separator{flex-shrink:0;color:", ";opacity:0.72;}.AgentActivityIndicator-timer{flex-shrink:0;font-size:", ";font-variant-numeric:tabular-nums;color:", ";opacity:0.72;letter-spacing:0.02em;}.AgentActivityIndicator-loader{width:min-content;flex-shrink:0;}"], function (_ref) {
|
|
8
|
+
var $compact = _ref.$compact;
|
|
9
|
+
return $compact ? '0 0 10px' : '0 0 16px';
|
|
10
|
+
}, function (_ref2) {
|
|
11
|
+
var $compact = _ref2.$compact;
|
|
12
|
+
return $compact ? '13px' : '12px';
|
|
13
|
+
}, colors.text.mediumGray, colors.text.mediumGray, function (_ref3) {
|
|
14
|
+
var $compact = _ref3.$compact;
|
|
15
|
+
return $compact ? '12px' : '11px';
|
|
16
|
+
}, colors.text.mediumGray);
|
|
17
|
+
export var SCStreamPendingSkeleton = styled.div.withConfig({
|
|
18
|
+
displayName: "AgentActivityIndicatorstyles__SCStreamPendingSkeleton",
|
|
19
|
+
componentId: "sc-d7fode-1"
|
|
20
|
+
})(["display:flex;flex-direction:column;gap:10px;padding:4px 0 8px;min-height:48px;width:100%;max-width:520px;.StreamPendingSkeleton-line{height:10px;border-radius:6px;background:linear-gradient(90deg,rgba(0,0,0,0.04) 0%,rgba(0,0,0,0.08) 50%,rgba(0,0,0,0.04) 100%);background-size:200% 100%;animation:", " 1.8s ease-in-out infinite;}.StreamPendingSkeleton-line:nth-child(1){width:92%;}.StreamPendingSkeleton-line:nth-child(2){width:78%;animation-delay:0.12s;}.StreamPendingSkeleton-line:nth-child(3){width:54%;animation-delay:0.24s;}"], shimmer);
|
|
21
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJrZXlmcmFtZXMiLCJjb2xvcnMiLCJzaGltbWVyIiwiU0NBZ2VudEFjdGl2aXR5SW5kaWNhdG9yIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJfcmVmIiwiJGNvbXBhY3QiLCJfcmVmMiIsInRleHQiLCJtZWRpdW1HcmF5IiwiX3JlZjMiLCJTQ1N0cmVhbVBlbmRpbmdTa2VsZXRvbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL0FnZW50QWN0aXZpdHlJbmRpY2F0b3IvQWdlbnRBY3Rpdml0eUluZGljYXRvci5zdHlsZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCwgeyBrZXlmcmFtZXMgfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cydcbmltcG9ydCBjb2xvcnMgZnJvbSAnQHByb2plY3Rjb3IvdGhlbWUvbGliL2Jhc2UvY29sb3JzJ1xuXG5jb25zdCBzaGltbWVyID0ga2V5ZnJhbWVzYFxuICAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMjAwJSAwO1xuICB9XG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMDAlIDA7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQWdlbnRBY3Rpdml0eUluZGljYXRvciA9IHN0eWxlZC5kaXY8eyAkY29tcGFjdD86IGJvb2xlYW4gfT5gXG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDEwcHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC8qIFNpbiBwYWRkaW5nLXRvcDogZWwgZXNwYWNpbyByZXNwZWN0byBhbCBtZW5zYWplIGFudGVyaW9yIGxvIGNvbnRyb2xhIFNDTG9hZGluZ01lc3NhZ2VzQ29sdW1uICgxMnB4KSAqL1xuICBwYWRkaW5nOiAkeyh7ICRjb21wYWN0IH0pID0+ICgkY29tcGFjdCA/ICcwIDAgMTBweCcgOiAnMCAwIDE2cHgnKX07XG4gIG1heC13aWR0aDogNjAwcHg7XG5cbiAgLkFnZW50QWN0aXZpdHlJbmRpY2F0b3ItdGV4dCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIGdhcDogNnB4O1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBmb250LXNpemU6ICR7KHsgJGNvbXBhY3QgfSkgPT4gKCRjb21wYWN0ID8gJzEzcHgnIDogJzEycHgnKX07XG4gICAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gICAgY29sb3I6ICR7Y29sb3JzLnRleHQubWVkaXVtR3JheX07XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlO1xuICB9XG5cbiAgLkFnZW50QWN0aXZpdHlJbmRpY2F0b3ItdGV4dFtkYXRhLWNoYW5naW5nPSd0cnVlJ10ge1xuICAgIG9wYWNpdHk6IDAuNTU7XG4gIH1cblxuICAuQWdlbnRBY3Rpdml0eUluZGljYXRvci1sYWJlbCB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLkFnZW50QWN0aXZpdHlJbmRpY2F0b3Itc2VwYXJhdG9yIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBjb2xvcjogJHtjb2xvcnMudGV4dC5tZWRpdW1HcmF5fTtcbiAgICBvcGFjaXR5OiAwLjcyO1xuICB9XG5cbiAgLkFnZW50QWN0aXZpdHlJbmRpY2F0b3ItdGltZXIge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGZvbnQtc2l6ZTogJHsoeyAkY29tcGFjdCB9KSA9PiAoJGNvbXBhY3QgPyAnMTJweCcgOiAnMTFweCcpfTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIGNvbG9yOiAke2NvbG9ycy50ZXh0Lm1lZGl1bUdyYXl9O1xuICAgIG9wYWNpdHk6IDAuNzI7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgfVxuXG4gIC5BZ2VudEFjdGl2aXR5SW5kaWNhdG9yLWxvYWRlciB7XG4gICAgd2lkdGg6IG1pbi1jb250ZW50O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1N0cmVhbVBlbmRpbmdTa2VsZXRvbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMTBweDtcbiAgcGFkZGluZzogNHB4IDAgOHB4O1xuICBtaW4taGVpZ2h0OiA0OHB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA1MjBweDtcblxuICAuU3RyZWFtUGVuZGluZ1NrZWxldG9uLWxpbmUge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDAsIDAsIDAsIDAuMDQpIDAlLCByZ2JhKDAsIDAsIDAsIDAuMDgpIDUwJSwgcmdiYSgwLCAwLCAwLCAwLjA0KSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDIwMCUgMTAwJTtcbiAgICBhbmltYXRpb246ICR7c2hpbW1lcn0gMS44cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgfVxuXG4gIC5TdHJlYW1QZW5kaW5nU2tlbGV0b24tbGluZTpudGgtY2hpbGQoMSkge1xuICAgIHdpZHRoOiA5MiU7XG4gIH1cbiAgLlN0cmVhbVBlbmRpbmdTa2VsZXRvbi1saW5lOm50aC1jaGlsZCgyKSB7XG4gICAgd2lkdGg6IDc4JTtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuMTJzO1xuICB9XG4gIC5TdHJlYW1QZW5kaW5nU2tlbGV0b24tbGluZTpudGgtY2hpbGQoMykge1xuICAgIHdpZHRoOiA1NCU7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwLjI0cztcbiAgfVxuYFxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxNQUFNLElBQUlDLFNBQVMsUUFBUSxtQkFBbUI7QUFDckQsT0FBT0MsTUFBTSxNQUFNLG1DQUFtQztBQUV0RCxJQUFNQyxPQUFPLEdBQUdGLFNBQVMsdUVBT3hCO0FBRUQsT0FBTyxJQUFNRyx3QkFBd0IsR0FBR0osTUFBTSxDQUFDSyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsaW9CQU1yQyxVQUFBQyxJQUFBO0VBQUEsSUFBR0MsUUFBUSxHQUFBRCxJQUFBLENBQVJDLFFBQVE7RUFBQSxPQUFRQSxRQUFRLEdBQUcsVUFBVSxHQUFHLFVBQVU7QUFBQSxDQUFDLEVBU2xELFVBQUFDLEtBQUE7RUFBQSxJQUFHRCxRQUFRLEdBQUFDLEtBQUEsQ0FBUkQsUUFBUTtFQUFBLE9BQVFBLFFBQVEsR0FBRyxNQUFNLEdBQUcsTUFBTTtBQUFBLENBQUMsRUFFbERSLE1BQU0sQ0FBQ1UsSUFBSSxDQUFDQyxVQUFVLEVBY3RCWCxNQUFNLENBQUNVLElBQUksQ0FBQ0MsVUFBVSxFQU1sQixVQUFBQyxLQUFBO0VBQUEsSUFBR0osUUFBUSxHQUFBSSxLQUFBLENBQVJKLFFBQVE7RUFBQSxPQUFRQSxRQUFRLEdBQUcsTUFBTSxHQUFHLE1BQU07QUFBQSxDQUFDLEVBRWxEUixNQUFNLENBQUNVLElBQUksQ0FBQ0MsVUFBVSxDQVNsQztBQUVELE9BQU8sSUFBTUUsdUJBQXVCLEdBQUdmLE1BQU0sQ0FBQ0ssR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHloQkFjaENMLE9BQU8sQ0FjdkIiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export var formatActivityElapsed = function formatActivityElapsed(totalSeconds) {
|
|
2
|
+
var minutes = Math.floor(totalSeconds / 60);
|
|
3
|
+
var seconds = totalSeconds % 60;
|
|
4
|
+
if (minutes === 0) {
|
|
5
|
+
return "".concat(seconds, "s");
|
|
6
|
+
}
|
|
7
|
+
return "".concat(minutes, "m ").concat(seconds, "s");
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmb3JtYXRBY3Rpdml0eUVsYXBzZWQiLCJ0b3RhbFNlY29uZHMiLCJtaW51dGVzIiwiTWF0aCIsImZsb29yIiwic2Vjb25kcyIsImNvbmNhdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL0FnZW50QWN0aXZpdHlJbmRpY2F0b3IvQWdlbnRBY3Rpdml0eUluZGljYXRvci51dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZm9ybWF0QWN0aXZpdHlFbGFwc2VkID0gKHRvdGFsU2Vjb25kczogbnVtYmVyKTogc3RyaW5nID0+IHtcbiAgY29uc3QgbWludXRlcyA9IE1hdGguZmxvb3IodG90YWxTZWNvbmRzIC8gNjApXG4gIGNvbnN0IHNlY29uZHMgPSB0b3RhbFNlY29uZHMgJSA2MFxuICBpZiAobWludXRlcyA9PT0gMCkge1xuICAgIHJldHVybiBgJHtzZWNvbmRzfXNgXG4gIH1cbiAgcmV0dXJuIGAke21pbnV0ZXN9bSAke3NlY29uZHN9c2Bcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFNQSxxQkFBcUIsR0FBRyxTQUF4QkEscUJBQXFCQSxDQUFJQyxZQUFvQixFQUFhO0VBQ3JFLElBQU1DLE9BQU8sR0FBR0MsSUFBSSxDQUFDQyxLQUFLLENBQUNILFlBQVksR0FBRyxFQUFFLENBQUM7RUFDN0MsSUFBTUksT0FBTyxHQUFHSixZQUFZLEdBQUcsRUFBRTtFQUNqQyxJQUFJQyxPQUFPLEtBQUssQ0FBQyxFQUFFO0lBQ2pCLFVBQUFJLE1BQUEsQ0FBVUQsT0FBTztFQUNuQjtFQUNBLFVBQUFDLE1BQUEsQ0FBVUosT0FBTyxRQUFBSSxNQUFBLENBQUtELE9BQU87QUFDL0IsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { AgentActivityIndicator, StreamPendingSkeleton } from './AgentActivityIndicator';
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBZ2VudEFjdGl2aXR5SW5kaWNhdG9yIiwiU3RyZWFtUGVuZGluZ1NrZWxldG9uIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvQWdlbnRBY3Rpdml0eUluZGljYXRvci9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBBZ2VudEFjdGl2aXR5SW5kaWNhdG9yLCBTdHJlYW1QZW5kaW5nU2tlbGV0b24gfSBmcm9tICcuL0FnZW50QWN0aXZpdHlJbmRpY2F0b3InXG5leHBvcnQgdHlwZSB7IEFnZW50QWN0aXZpdHlJbmRpY2F0b3JQcm9wcyB9IGZyb20gJy4vQWdlbnRBY3Rpdml0eUluZGljYXRvcidcbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0Esc0JBQXNCLEVBQUVDLHFCQUFxQixRQUFRLDBCQUEwQiIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
+
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; }
|
|
4
|
+
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; }
|
|
5
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
6
|
+
import { useState, useEffect, useRef, useCallback, useMemo } from 'react';
|
|
7
|
+
import { Alert } from '@projectcor/icons/lib/components/Alert';
|
|
8
|
+
import { CheckCircle } from '@projectcor/icons/lib/components/CheckCircle';
|
|
9
|
+
import { CrossCircle } from '@projectcor/icons/lib/components/CrossCircle';
|
|
10
|
+
import { Tooltip } from '@projectcor/tooltipv2/lib/components/Tooltip';
|
|
11
|
+
import { useTranslation } from 'react-i18next';
|
|
12
|
+
import { SCApprovalBox, SCABHeader, SCABTitle, SCABDescription, SCABActionsList, SCABActionItem, SCABActionName, SCABActionDescription, SCABButtonsContainer, SCABButton, SCABStatusBadge, SCABStatusWarningIcon } from './ApprovalBox.styles';
|
|
13
|
+
import { SECTIONS } from '../../../constants/config';
|
|
14
|
+
import { useGlobalContext } from '../../../context/global-context';
|
|
15
|
+
import { EVENTS, useEvent } from '../../../hooks/useEvent';
|
|
16
|
+
import { buildHitlAnalyticsPayload, getHitlAnalyticsAgentType, hitlBatchIncludesCreateAgent, normalizeHitlToolName } from '../../../utils/hitlAnalytics';
|
|
17
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
18
|
+
function formatToolNameFallback(toolName) {
|
|
19
|
+
var normalized = normalizeHitlToolName(toolName || 'unknown');
|
|
20
|
+
var withSpaces = normalized.replace(/_/g, ' ').trim();
|
|
21
|
+
if (!withSpaces) return 'Unknown';
|
|
22
|
+
return withSpaces.charAt(0).toUpperCase() + withSpaces.slice(1);
|
|
23
|
+
}
|
|
24
|
+
function getActionLabel(t, toolName, displayName) {
|
|
25
|
+
var normalizedToolName = normalizeHitlToolName(toolName || 'unknown');
|
|
26
|
+
var translationKey = "approvalBox.actions.".concat(normalizedToolName);
|
|
27
|
+
var translatedLabel = t(translationKey);
|
|
28
|
+
if (translatedLabel !== translationKey) return translatedLabel;
|
|
29
|
+
if (displayName !== null && displayName !== void 0 && displayName.trim()) return displayName;
|
|
30
|
+
return formatToolNameFallback(normalizedToolName);
|
|
31
|
+
}
|
|
32
|
+
function getDeliverableMode(toolArgs) {
|
|
33
|
+
if (!toolArgs || Array.isArray(toolArgs)) return '';
|
|
34
|
+
return String(toolArgs.deliverableType || toolArgs.deliverable_type || '').toLowerCase();
|
|
35
|
+
}
|
|
36
|
+
function getSpecialActionCopy(t, action) {
|
|
37
|
+
var normalizedToolName = normalizeHitlToolName(action.tool_name);
|
|
38
|
+
var deliverableMode = getDeliverableMode(action.tool_args);
|
|
39
|
+
if (normalizedToolName === 'create_rework') {
|
|
40
|
+
return {
|
|
41
|
+
title: t('approvalBox.special.createRework.title'),
|
|
42
|
+
description: t('approvalBox.special.createRework.description')
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
if (normalizedToolName === 'update_deliverable' && ['children', 'checkbox'].includes(deliverableMode)) {
|
|
46
|
+
return {
|
|
47
|
+
title: t('approvalBox.special.updateDeliverableChildren.title'),
|
|
48
|
+
description: t('approvalBox.special.updateDeliverableChildren.description')
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
return {};
|
|
52
|
+
}
|
|
53
|
+
export var ApprovalBox = function ApprovalBox(_ref) {
|
|
54
|
+
var actions = _ref.actions,
|
|
55
|
+
onApprove = _ref.onApprove,
|
|
56
|
+
onReject = _ref.onReject,
|
|
57
|
+
_ref$status = _ref.status,
|
|
58
|
+
status = _ref$status === void 0 ? 'pending' : _ref$status,
|
|
59
|
+
_ref$isLoading = _ref.isLoading,
|
|
60
|
+
isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
|
|
61
|
+
_ref$isProjectDeleted = _ref.isProjectDeleted,
|
|
62
|
+
isProjectDeleted = _ref$isProjectDeleted === void 0 ? false : _ref$isProjectDeleted,
|
|
63
|
+
_ref$isExpanded = _ref.isExpanded,
|
|
64
|
+
isExpanded = _ref$isExpanded === void 0 ? false : _ref$isExpanded,
|
|
65
|
+
hitlInstanceId = _ref.hitlInstanceId,
|
|
66
|
+
warningMessage = _ref.warningMessage,
|
|
67
|
+
_ref$manualApprovalDe = _ref.manualApprovalDetected,
|
|
68
|
+
manualApprovalDetected = _ref$manualApprovalDe === void 0 ? false : _ref$manualApprovalDe;
|
|
69
|
+
var _useTranslation = useTranslation([SECTIONS.chatAI]),
|
|
70
|
+
t = _useTranslation.t;
|
|
71
|
+
var _useState = useState(status),
|
|
72
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
73
|
+
localStatus = _useState2[0],
|
|
74
|
+
setLocalStatus = _useState2[1];
|
|
75
|
+
var _useGlobalContext = useGlobalContext(),
|
|
76
|
+
agent = _useGlobalContext.agent;
|
|
77
|
+
var eventAmplitude = useEvent();
|
|
78
|
+
var lastHitlImpressionKeyRef = useRef(null);
|
|
79
|
+
var userInitiatedHitlDecisionRef = useRef(false);
|
|
80
|
+
var autoResolutionTrackedKeyRef = useRef(null);
|
|
81
|
+
var hitlBatchKey = useMemo(function () {
|
|
82
|
+
return hitlInstanceId !== null && hitlInstanceId !== void 0 ? hitlInstanceId : actions.map(function (a) {
|
|
83
|
+
return "".concat(a.thread_id, ":").concat(a.tool_call_id);
|
|
84
|
+
}).sort().join('|');
|
|
85
|
+
}, [hitlInstanceId, actions]);
|
|
86
|
+
|
|
87
|
+
// Sincronizar localStatus con el prop status cuando cambia desde el padre (solo por value, evita bucles)
|
|
88
|
+
useEffect(function () {
|
|
89
|
+
setLocalStatus(function (prev) {
|
|
90
|
+
return prev !== status ? status : prev;
|
|
91
|
+
});
|
|
92
|
+
}, [status]);
|
|
93
|
+
var hitlAnalyticsAgentType = getHitlAnalyticsAgentType(agent);
|
|
94
|
+
|
|
95
|
+
// CA1: card de confirmación HITL visible (solo pendiente, no histórico ya resuelto)
|
|
96
|
+
useEffect(function () {
|
|
97
|
+
if (localStatus !== 'pending' || !actions.length) return;
|
|
98
|
+
var impressionKey = hitlBatchKey;
|
|
99
|
+
if (lastHitlImpressionKeyRef.current === impressionKey) return;
|
|
100
|
+
lastHitlImpressionKeyRef.current = impressionKey;
|
|
101
|
+
eventAmplitude(EVENTS.aiChatHitl, buildHitlAnalyticsPayload(hitlAnalyticsAgentType, actions));
|
|
102
|
+
}, [eventAmplitude, hitlAnalyticsAgentType, hitlBatchKey, localStatus, actions.length]);
|
|
103
|
+
var trackHitlDecision = useCallback(function (decision) {
|
|
104
|
+
var resolutionSource = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'user';
|
|
105
|
+
eventAmplitude(EVENTS.aiChatHitlOption, _objectSpread(_objectSpread({}, buildHitlAnalyticsPayload(hitlAnalyticsAgentType, actions)), {}, {
|
|
106
|
+
decision: decision,
|
|
107
|
+
resolution_source: resolutionSource
|
|
108
|
+
}));
|
|
109
|
+
}, [actions, hitlAnalyticsAgentType, eventAmplitude]);
|
|
110
|
+
useEffect(function () {
|
|
111
|
+
userInitiatedHitlDecisionRef.current = false;
|
|
112
|
+
autoResolutionTrackedKeyRef.current = null;
|
|
113
|
+
}, [hitlBatchKey]);
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Resolución sin clic (p. ej. backend ejecuta la herramienta sola): hubo impresión HITL
|
|
117
|
+
* para este lote y el padre pasó a approved/rejected sin que el usuario pulsara aprobar/denegar.
|
|
118
|
+
*/
|
|
119
|
+
useEffect(function () {
|
|
120
|
+
if (status === 'pending' || !actions.length) return;
|
|
121
|
+
if (lastHitlImpressionKeyRef.current !== hitlBatchKey) return;
|
|
122
|
+
if (userInitiatedHitlDecisionRef.current) return;
|
|
123
|
+
if (autoResolutionTrackedKeyRef.current === hitlBatchKey) return;
|
|
124
|
+
autoResolutionTrackedKeyRef.current = hitlBatchKey;
|
|
125
|
+
var isAccept = status === 'approved';
|
|
126
|
+
if (isAccept && hitlBatchIncludesCreateAgent(actions)) return;
|
|
127
|
+
trackHitlDecision(isAccept ? 'accept' : 'deny', 'auto');
|
|
128
|
+
}, [actions, hitlBatchKey, status, trackHitlDecision]);
|
|
129
|
+
var handleApprove = function handleApprove() {
|
|
130
|
+
if (isLoading || localStatus !== 'pending') return;
|
|
131
|
+
userInitiatedHitlDecisionRef.current = true;
|
|
132
|
+
if (!hitlBatchIncludesCreateAgent(actions)) {
|
|
133
|
+
trackHitlDecision('accept', 'user');
|
|
134
|
+
}
|
|
135
|
+
setLocalStatus('approved');
|
|
136
|
+
onApprove(actions.map(function (a) {
|
|
137
|
+
return a.thread_id;
|
|
138
|
+
}));
|
|
139
|
+
};
|
|
140
|
+
var handleReject = function handleReject() {
|
|
141
|
+
if (isLoading || localStatus !== 'pending') return;
|
|
142
|
+
userInitiatedHitlDecisionRef.current = true;
|
|
143
|
+
trackHitlDecision('deny', 'user');
|
|
144
|
+
setLocalStatus('rejected');
|
|
145
|
+
onReject(actions.map(function (a) {
|
|
146
|
+
return a.thread_id;
|
|
147
|
+
}));
|
|
148
|
+
};
|
|
149
|
+
return /*#__PURE__*/_jsxs(SCApprovalBox, {
|
|
150
|
+
children: [/*#__PURE__*/_jsx(SCABHeader, {
|
|
151
|
+
children: /*#__PURE__*/_jsx(SCABTitle, {
|
|
152
|
+
children: t('approvalBox.title')
|
|
153
|
+
})
|
|
154
|
+
}), /*#__PURE__*/_jsx(SCABDescription, {
|
|
155
|
+
children: t('approvalBox.description')
|
|
156
|
+
}), /*#__PURE__*/_jsx(SCABActionsList, {
|
|
157
|
+
$expanded: isExpanded,
|
|
158
|
+
children: actions.map(function (action) {
|
|
159
|
+
var specialCopy = getSpecialActionCopy(t, action);
|
|
160
|
+
var label = specialCopy.title || getActionLabel(t, action.tool_name, action.display_name);
|
|
161
|
+
return /*#__PURE__*/_jsxs(SCABActionItem, {
|
|
162
|
+
children: [/*#__PURE__*/_jsx(SCABActionName, {
|
|
163
|
+
children: label
|
|
164
|
+
}), specialCopy.description ? /*#__PURE__*/_jsx(SCABActionDescription, {
|
|
165
|
+
children: specialCopy.description
|
|
166
|
+
}) : null]
|
|
167
|
+
}, action.thread_id);
|
|
168
|
+
})
|
|
169
|
+
}), localStatus === 'pending' && !isProjectDeleted && /*#__PURE__*/_jsxs(SCABButtonsContainer, {
|
|
170
|
+
children: [/*#__PURE__*/_jsx(SCABButton, {
|
|
171
|
+
$variant: "reject",
|
|
172
|
+
onClick: handleReject,
|
|
173
|
+
$disabled: isLoading,
|
|
174
|
+
children: t('approvalBox.deny')
|
|
175
|
+
}), /*#__PURE__*/_jsx(SCABButton, {
|
|
176
|
+
$variant: "approve",
|
|
177
|
+
onClick: handleApprove,
|
|
178
|
+
$disabled: isLoading,
|
|
179
|
+
children: t('approvalBox.approve')
|
|
180
|
+
})]
|
|
181
|
+
}), localStatus !== 'pending' && /*#__PURE__*/_jsx(SCABStatusBadge, {
|
|
182
|
+
$status: localStatus,
|
|
183
|
+
children: localStatus === 'approved' ? /*#__PURE__*/_jsxs(_Fragment, {
|
|
184
|
+
children: [/*#__PURE__*/_jsx(CheckCircle, {
|
|
185
|
+
width: 22,
|
|
186
|
+
height: 22,
|
|
187
|
+
color: "#008400"
|
|
188
|
+
}), t('approvalBox.status.approved'), manualApprovalDetected && /*#__PURE__*/_jsx(Tooltip, {
|
|
189
|
+
title: warningMessage || t('approvalBox.manualApprovalWarning'),
|
|
190
|
+
placement: "right",
|
|
191
|
+
children: /*#__PURE__*/_jsx(SCABStatusWarningIcon, {
|
|
192
|
+
children: /*#__PURE__*/_jsx(Alert, {
|
|
193
|
+
color: "#EAA11A",
|
|
194
|
+
width: "13px",
|
|
195
|
+
height: "13px"
|
|
196
|
+
})
|
|
197
|
+
})
|
|
198
|
+
})]
|
|
199
|
+
}) : /*#__PURE__*/_jsxs(_Fragment, {
|
|
200
|
+
children: [/*#__PURE__*/_jsx(CrossCircle, {
|
|
201
|
+
width: 22,
|
|
202
|
+
height: 22,
|
|
203
|
+
color: "#C70505"
|
|
204
|
+
}), t('approvalBox.status.denied')]
|
|
205
|
+
})
|
|
206
|
+
})]
|
|
207
|
+
});
|
|
208
|
+
};
|
|
209
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInVzZVJlZiIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsIkFsZXJ0IiwiQ2hlY2tDaXJjbGUiLCJDcm9zc0NpcmNsZSIsIlRvb2x0aXAiLCJ1c2VUcmFuc2xhdGlvbiIsIlNDQXBwcm92YWxCb3giLCJTQ0FCSGVhZGVyIiwiU0NBQlRpdGxlIiwiU0NBQkRlc2NyaXB0aW9uIiwiU0NBQkFjdGlvbnNMaXN0IiwiU0NBQkFjdGlvbkl0ZW0iLCJTQ0FCQWN0aW9uTmFtZSIsIlNDQUJBY3Rpb25EZXNjcmlwdGlvbiIsIlNDQUJCdXR0b25zQ29udGFpbmVyIiwiU0NBQkJ1dHRvbiIsIlNDQUJTdGF0dXNCYWRnZSIsIlNDQUJTdGF0dXNXYXJuaW5nSWNvbiIsIlNFQ1RJT05TIiwidXNlR2xvYmFsQ29udGV4dCIsIkVWRU5UUyIsInVzZUV2ZW50IiwiYnVpbGRIaXRsQW5hbHl0aWNzUGF5bG9hZCIsImdldEhpdGxBbmFseXRpY3NBZ2VudFR5cGUiLCJoaXRsQmF0Y2hJbmNsdWRlc0NyZWF0ZUFnZW50Iiwibm9ybWFsaXplSGl0bFRvb2xOYW1lIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZyYWdtZW50IiwiX0ZyYWdtZW50IiwiZm9ybWF0VG9vbE5hbWVGYWxsYmFjayIsInRvb2xOYW1lIiwibm9ybWFsaXplZCIsIndpdGhTcGFjZXMiLCJyZXBsYWNlIiwidHJpbSIsImNoYXJBdCIsInRvVXBwZXJDYXNlIiwic2xpY2UiLCJnZXRBY3Rpb25MYWJlbCIsInQiLCJkaXNwbGF5TmFtZSIsIm5vcm1hbGl6ZWRUb29sTmFtZSIsInRyYW5zbGF0aW9uS2V5IiwiY29uY2F0IiwidHJhbnNsYXRlZExhYmVsIiwiZ2V0RGVsaXZlcmFibGVNb2RlIiwidG9vbEFyZ3MiLCJBcnJheSIsImlzQXJyYXkiLCJTdHJpbmciLCJkZWxpdmVyYWJsZVR5cGUiLCJkZWxpdmVyYWJsZV90eXBlIiwidG9Mb3dlckNhc2UiLCJnZXRTcGVjaWFsQWN0aW9uQ29weSIsImFjdGlvbiIsInRvb2xfbmFtZSIsImRlbGl2ZXJhYmxlTW9kZSIsInRvb2xfYXJncyIsInRpdGxlIiwiZGVzY3JpcHRpb24iLCJpbmNsdWRlcyIsIkFwcHJvdmFsQm94IiwiX3JlZiIsImFjdGlvbnMiLCJvbkFwcHJvdmUiLCJvblJlamVjdCIsIl9yZWYkc3RhdHVzIiwic3RhdHVzIiwiX3JlZiRpc0xvYWRpbmciLCJpc0xvYWRpbmciLCJfcmVmJGlzUHJvamVjdERlbGV0ZWQiLCJpc1Byb2plY3REZWxldGVkIiwiX3JlZiRpc0V4cGFuZGVkIiwiaXNFeHBhbmRlZCIsImhpdGxJbnN0YW5jZUlkIiwid2FybmluZ01lc3NhZ2UiLCJfcmVmJG1hbnVhbEFwcHJvdmFsRGUiLCJtYW51YWxBcHByb3ZhbERldGVjdGVkIiwiX3VzZVRyYW5zbGF0aW9uIiwiY2hhdEFJIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwibG9jYWxTdGF0dXMiLCJzZXRMb2NhbFN0YXR1cyIsIl91c2VHbG9iYWxDb250ZXh0IiwiYWdlbnQiLCJldmVudEFtcGxpdHVkZSIsImxhc3RIaXRsSW1wcmVzc2lvbktleVJlZiIsInVzZXJJbml0aWF0ZWRIaXRsRGVjaXNpb25SZWYiLCJhdXRvUmVzb2x1dGlvblRyYWNrZWRLZXlSZWYiLCJoaXRsQmF0Y2hLZXkiLCJtYXAiLCJhIiwidGhyZWFkX2lkIiwidG9vbF9jYWxsX2lkIiwic29ydCIsImpvaW4iLCJwcmV2IiwiaGl0bEFuYWx5dGljc0FnZW50VHlwZSIsImxlbmd0aCIsImltcHJlc3Npb25LZXkiLCJjdXJyZW50IiwiYWlDaGF0SGl0bCIsInRyYWNrSGl0bERlY2lzaW9uIiwiZGVjaXNpb24iLCJyZXNvbHV0aW9uU291cmNlIiwiYXJndW1lbnRzIiwidW5kZWZpbmVkIiwiYWlDaGF0SGl0bE9wdGlvbiIsIl9vYmplY3RTcHJlYWQiLCJyZXNvbHV0aW9uX3NvdXJjZSIsImlzQWNjZXB0IiwiaGFuZGxlQXBwcm92ZSIsImhhbmRsZVJlamVjdCIsImNoaWxkcmVuIiwiJGV4cGFuZGVkIiwic3BlY2lhbENvcHkiLCJsYWJlbCIsImRpc3BsYXlfbmFtZSIsIiR2YXJpYW50Iiwib25DbGljayIsIiRkaXNhYmxlZCIsIiRzdGF0dXMiLCJ3aWR0aCIsImhlaWdodCIsImNvbG9yIiwicGxhY2VtZW50Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvQXBwcm92YWxCb3gvQXBwcm92YWxCb3gudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlQ2FsbGJhY2ssIHVzZU1lbW8gfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IEFsZXJ0IH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQWxlcnQnXG5pbXBvcnQgeyBDaGVja0NpcmNsZSB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0NoZWNrQ2lyY2xlJ1xuaW1wb3J0IHsgQ3Jvc3NDaXJjbGUgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9Dcm9zc0NpcmNsZSdcbmltcG9ydCB7IFRvb2x0aXAgfSBmcm9tICdAcHJvamVjdGNvci90b29sdGlwdjIvbGliL2NvbXBvbmVudHMvVG9vbHRpcCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCB7IFBlbmRpbmdBY3Rpb24gfSBmcm9tICcuLi8uLi8uLi90eXBlcy9DaGF0J1xuaW1wb3J0IHtcbiAgU0NBcHByb3ZhbEJveCxcbiAgU0NBQkhlYWRlcixcbiAgU0NBQlRpdGxlLFxuICBTQ0FCRGVzY3JpcHRpb24sXG4gIFNDQUJBY3Rpb25zTGlzdCxcbiAgU0NBQkFjdGlvbkl0ZW0sXG4gIFNDQUJBY3Rpb25OYW1lLFxuICBTQ0FCQWN0aW9uRGVzY3JpcHRpb24sXG4gIFNDQUJCdXR0b25zQ29udGFpbmVyLFxuICBTQ0FCQnV0dG9uLFxuICBTQ0FCU3RhdHVzQmFkZ2UsXG4gIFNDQUJTdGF0dXNXYXJuaW5nSWNvbixcbn0gZnJvbSAnLi9BcHByb3ZhbEJveC5zdHlsZXMnXG5pbXBvcnQgeyBTRUNUSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyB1c2VHbG9iYWxDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IEVWRU5UUywgdXNlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VFdmVudCdcbmltcG9ydCB7XG4gIGJ1aWxkSGl0bEFuYWx5dGljc1BheWxvYWQsXG4gIGdldEhpdGxBbmFseXRpY3NBZ2VudFR5cGUsXG4gIGhpdGxCYXRjaEluY2x1ZGVzQ3JlYXRlQWdlbnQsXG4gIG5vcm1hbGl6ZUhpdGxUb29sTmFtZSxcbn0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvaGl0bEFuYWx5dGljcydcblxuZnVuY3Rpb24gZm9ybWF0VG9vbE5hbWVGYWxsYmFjayh0b29sTmFtZT86IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSBub3JtYWxpemVIaXRsVG9vbE5hbWUodG9vbE5hbWUgfHwgJ3Vua25vd24nKVxuICBjb25zdCB3aXRoU3BhY2VzID0gbm9ybWFsaXplZC5yZXBsYWNlKC9fL2csICcgJykudHJpbSgpXG4gIGlmICghd2l0aFNwYWNlcykgcmV0dXJuICdVbmtub3duJ1xuICByZXR1cm4gd2l0aFNwYWNlcy5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHdpdGhTcGFjZXMuc2xpY2UoMSlcbn1cblxuZnVuY3Rpb24gZ2V0QWN0aW9uTGFiZWwodDogKGtleTogc3RyaW5nKSA9PiBzdHJpbmcsIHRvb2xOYW1lPzogc3RyaW5nLCBkaXNwbGF5TmFtZT86IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IG5vcm1hbGl6ZWRUb29sTmFtZSA9IG5vcm1hbGl6ZUhpdGxUb29sTmFtZSh0b29sTmFtZSB8fCAndW5rbm93bicpXG4gIGNvbnN0IHRyYW5zbGF0aW9uS2V5ID0gYGFwcHJvdmFsQm94LmFjdGlvbnMuJHtub3JtYWxpemVkVG9vbE5hbWV9YFxuICBjb25zdCB0cmFuc2xhdGVkTGFiZWwgPSB0KHRyYW5zbGF0aW9uS2V5KVxuXG4gIGlmICh0cmFuc2xhdGVkTGFiZWwgIT09IHRyYW5zbGF0aW9uS2V5KSByZXR1cm4gdHJhbnNsYXRlZExhYmVsXG4gIGlmIChkaXNwbGF5TmFtZT8udHJpbSgpKSByZXR1cm4gZGlzcGxheU5hbWVcbiAgcmV0dXJuIGZvcm1hdFRvb2xOYW1lRmFsbGJhY2sobm9ybWFsaXplZFRvb2xOYW1lKVxufVxuXG5mdW5jdGlvbiBnZXREZWxpdmVyYWJsZU1vZGUodG9vbEFyZ3M6IFBlbmRpbmdBY3Rpb25bJ3Rvb2xfYXJncyddKTogc3RyaW5nIHtcbiAgaWYgKCF0b29sQXJncyB8fCBBcnJheS5pc0FycmF5KHRvb2xBcmdzKSkgcmV0dXJuICcnXG4gIHJldHVybiBTdHJpbmcodG9vbEFyZ3MuZGVsaXZlcmFibGVUeXBlIHx8IHRvb2xBcmdzLmRlbGl2ZXJhYmxlX3R5cGUgfHwgJycpLnRvTG93ZXJDYXNlKClcbn1cblxuZnVuY3Rpb24gZ2V0U3BlY2lhbEFjdGlvbkNvcHkoXG4gIHQ6IChrZXk6IHN0cmluZykgPT4gc3RyaW5nLFxuICBhY3Rpb246IFBlbmRpbmdBY3Rpb25cbik6IHsgdGl0bGU/OiBzdHJpbmc7IGRlc2NyaXB0aW9uPzogc3RyaW5nIH0ge1xuICBjb25zdCBub3JtYWxpemVkVG9vbE5hbWUgPSBub3JtYWxpemVIaXRsVG9vbE5hbWUoYWN0aW9uLnRvb2xfbmFtZSlcbiAgY29uc3QgZGVsaXZlcmFibGVNb2RlID0gZ2V0RGVsaXZlcmFibGVNb2RlKGFjdGlvbi50b29sX2FyZ3MpXG5cbiAgaWYgKG5vcm1hbGl6ZWRUb29sTmFtZSA9PT0gJ2NyZWF0ZV9yZXdvcmsnKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRpdGxlOiB0KCdhcHByb3ZhbEJveC5zcGVjaWFsLmNyZWF0ZVJld29yay50aXRsZScpLFxuICAgICAgZGVzY3JpcHRpb246IHQoJ2FwcHJvdmFsQm94LnNwZWNpYWwuY3JlYXRlUmV3b3JrLmRlc2NyaXB0aW9uJyksXG4gICAgfVxuICB9XG5cbiAgaWYgKG5vcm1hbGl6ZWRUb29sTmFtZSA9PT0gJ3VwZGF0ZV9kZWxpdmVyYWJsZScgJiYgWydjaGlsZHJlbicsICdjaGVja2JveCddLmluY2x1ZGVzKGRlbGl2ZXJhYmxlTW9kZSkpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGl0bGU6IHQoJ2FwcHJvdmFsQm94LnNwZWNpYWwudXBkYXRlRGVsaXZlcmFibGVDaGlsZHJlbi50aXRsZScpLFxuICAgICAgZGVzY3JpcHRpb246IHQoJ2FwcHJvdmFsQm94LnNwZWNpYWwudXBkYXRlRGVsaXZlcmFibGVDaGlsZHJlbi5kZXNjcmlwdGlvbicpLFxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7fVxufVxuXG5pbnRlcmZhY2UgQXBwcm92YWxCb3hQcm9wcyB7XG4gIGFjdGlvbnM6IFBlbmRpbmdBY3Rpb25bXVxuICBvbkFwcHJvdmU6ICh0aHJlYWRJZHM6IHN0cmluZ1tdKSA9PiB2b2lkXG4gIG9uUmVqZWN0OiAodGhyZWFkSWRzOiBzdHJpbmdbXSkgPT4gdm9pZFxuICBzdGF0dXM/OiAncGVuZGluZycgfCAnYXBwcm92ZWQnIHwgJ3JlamVjdGVkJ1xuICBpc0xvYWRpbmc/OiBib29sZWFuXG4gIC8qKiBTaSBlbCBjaGF0L3Byb3llY3RvIGVzdMOhIGVsaW1pbmFkbywgc2Ugb2N1bHRhbiBsb3MgYm90b25lcyBkZSBhcHJvYmFyL3JlY2hhemFyICovXG4gIGlzUHJvamVjdERlbGV0ZWQ/OiBib29sZWFuXG4gIC8qKiBTaSBlbCBjaGF0IGVzdMOhIGV4cGFuZGlkbyAodHJ1ZSkgbyBjb2xhcHNhZG8gKGZhbHNlKS4gQWZlY3RhIGVsIGFuY2hvIGRlbCBjb250ZW5lZG9yLiAqL1xuICBpc0V4cGFuZGVkPzogYm9vbGVhblxuICAvKiogSWQgZXN0YWJsZSBwb3IgbG90ZSBISVRMIChwLiBlai4gb3JpZ2luYWxfdGhyZWFkX2lkKSBwYXJhIGVsIGV2ZW50byBkZSBpbXByZXNpw7NuICovXG4gIGhpdGxJbnN0YW5jZUlkPzogc3RyaW5nXG4gIHdhcm5pbmdNZXNzYWdlPzogc3RyaW5nXG4gIG1hbnVhbEFwcHJvdmFsRGV0ZWN0ZWQ/OiBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCBBcHByb3ZhbEJveCA9ICh7XG4gIGFjdGlvbnMsXG4gIG9uQXBwcm92ZSxcbiAgb25SZWplY3QsXG4gIHN0YXR1cyA9ICdwZW5kaW5nJyxcbiAgaXNMb2FkaW5nID0gZmFsc2UsXG4gIGlzUHJvamVjdERlbGV0ZWQgPSBmYWxzZSxcbiAgaXNFeHBhbmRlZCA9IGZhbHNlLFxuICBoaXRsSW5zdGFuY2VJZCxcbiAgd2FybmluZ01lc3NhZ2UsXG4gIG1hbnVhbEFwcHJvdmFsRGV0ZWN0ZWQgPSBmYWxzZSxcbn06IEFwcHJvdmFsQm94UHJvcHMpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbU0VDVElPTlMuY2hhdEFJXSlcbiAgY29uc3QgW2xvY2FsU3RhdHVzLCBzZXRMb2NhbFN0YXR1c10gPSB1c2VTdGF0ZTwncGVuZGluZycgfCAnYXBwcm92ZWQnIHwgJ3JlamVjdGVkJz4oc3RhdHVzKVxuICBjb25zdCB7IGFnZW50IH0gPSB1c2VHbG9iYWxDb250ZXh0KClcbiAgY29uc3QgZXZlbnRBbXBsaXR1ZGUgPSB1c2VFdmVudCgpXG4gIGNvbnN0IGxhc3RIaXRsSW1wcmVzc2lvbktleVJlZiA9IHVzZVJlZjxzdHJpbmcgfCBudWxsPihudWxsKVxuICBjb25zdCB1c2VySW5pdGlhdGVkSGl0bERlY2lzaW9uUmVmID0gdXNlUmVmKGZhbHNlKVxuICBjb25zdCBhdXRvUmVzb2x1dGlvblRyYWNrZWRLZXlSZWYgPSB1c2VSZWY8c3RyaW5nIHwgbnVsbD4obnVsbClcblxuICBjb25zdCBoaXRsQmF0Y2hLZXkgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBoaXRsSW5zdGFuY2VJZCA/P1xuICAgICAgYWN0aW9uc1xuICAgICAgICAubWFwKGEgPT4gYCR7YS50aHJlYWRfaWR9OiR7YS50b29sX2NhbGxfaWR9YClcbiAgICAgICAgLnNvcnQoKVxuICAgICAgICAuam9pbignfCcpLFxuICAgIFtoaXRsSW5zdGFuY2VJZCwgYWN0aW9uc11cbiAgKVxuXG4gIC8vIFNpbmNyb25pemFyIGxvY2FsU3RhdHVzIGNvbiBlbCBwcm9wIHN0YXR1cyBjdWFuZG8gY2FtYmlhIGRlc2RlIGVsIHBhZHJlIChzb2xvIHBvciB2YWx1ZSwgZXZpdGEgYnVjbGVzKVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldExvY2FsU3RhdHVzKHByZXYgPT4gKHByZXYgIT09IHN0YXR1cyA/IHN0YXR1cyA6IHByZXYpKVxuICB9LCBbc3RhdHVzXSlcblxuICBjb25zdCBoaXRsQW5hbHl0aWNzQWdlbnRUeXBlID0gZ2V0SGl0bEFuYWx5dGljc0FnZW50VHlwZShhZ2VudClcblxuICAvLyBDQTE6IGNhcmQgZGUgY29uZmlybWFjacOzbiBISVRMIHZpc2libGUgKHNvbG8gcGVuZGllbnRlLCBubyBoaXN0w7NyaWNvIHlhIHJlc3VlbHRvKVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChsb2NhbFN0YXR1cyAhPT0gJ3BlbmRpbmcnIHx8ICFhY3Rpb25zLmxlbmd0aCkgcmV0dXJuXG4gICAgY29uc3QgaW1wcmVzc2lvbktleSA9IGhpdGxCYXRjaEtleVxuICAgIGlmIChsYXN0SGl0bEltcHJlc3Npb25LZXlSZWYuY3VycmVudCA9PT0gaW1wcmVzc2lvbktleSkgcmV0dXJuXG4gICAgbGFzdEhpdGxJbXByZXNzaW9uS2V5UmVmLmN1cnJlbnQgPSBpbXByZXNzaW9uS2V5XG4gICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLmFpQ2hhdEhpdGwsIGJ1aWxkSGl0bEFuYWx5dGljc1BheWxvYWQoaGl0bEFuYWx5dGljc0FnZW50VHlwZSwgYWN0aW9ucykpXG4gIH0sIFtldmVudEFtcGxpdHVkZSwgaGl0bEFuYWx5dGljc0FnZW50VHlwZSwgaGl0bEJhdGNoS2V5LCBsb2NhbFN0YXR1cywgYWN0aW9ucy5sZW5ndGhdKVxuXG4gIGNvbnN0IHRyYWNrSGl0bERlY2lzaW9uID0gdXNlQ2FsbGJhY2soXG4gICAgKGRlY2lzaW9uOiAnYWNjZXB0JyB8ICdkZW55JywgcmVzb2x1dGlvblNvdXJjZTogJ3VzZXInIHwgJ2F1dG8nID0gJ3VzZXInKSA9PiB7XG4gICAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0SGl0bE9wdGlvbiwge1xuICAgICAgICAuLi5idWlsZEhpdGxBbmFseXRpY3NQYXlsb2FkKGhpdGxBbmFseXRpY3NBZ2VudFR5cGUsIGFjdGlvbnMpLFxuICAgICAgICBkZWNpc2lvbixcbiAgICAgICAgcmVzb2x1dGlvbl9zb3VyY2U6IHJlc29sdXRpb25Tb3VyY2UsXG4gICAgICB9KVxuICAgIH0sXG4gICAgW2FjdGlvbnMsIGhpdGxBbmFseXRpY3NBZ2VudFR5cGUsIGV2ZW50QW1wbGl0dWRlXVxuICApXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICB1c2VySW5pdGlhdGVkSGl0bERlY2lzaW9uUmVmLmN1cnJlbnQgPSBmYWxzZVxuICAgIGF1dG9SZXNvbHV0aW9uVHJhY2tlZEtleVJlZi5jdXJyZW50ID0gbnVsbFxuICB9LCBbaGl0bEJhdGNoS2V5XSlcblxuICAvKipcbiAgICogUmVzb2x1Y2nDs24gc2luIGNsaWMgKHAuIGVqLiBiYWNrZW5kIGVqZWN1dGEgbGEgaGVycmFtaWVudGEgc29sYSk6IGh1Ym8gaW1wcmVzacOzbiBISVRMXG4gICAqIHBhcmEgZXN0ZSBsb3RlIHkgZWwgcGFkcmUgcGFzw7MgYSBhcHByb3ZlZC9yZWplY3RlZCBzaW4gcXVlIGVsIHVzdWFyaW8gcHVsc2FyYSBhcHJvYmFyL2RlbmVnYXIuXG4gICAqL1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChzdGF0dXMgPT09ICdwZW5kaW5nJyB8fCAhYWN0aW9ucy5sZW5ndGgpIHJldHVyblxuICAgIGlmIChsYXN0SGl0bEltcHJlc3Npb25LZXlSZWYuY3VycmVudCAhPT0gaGl0bEJhdGNoS2V5KSByZXR1cm5cbiAgICBpZiAodXNlckluaXRpYXRlZEhpdGxEZWNpc2lvblJlZi5jdXJyZW50KSByZXR1cm5cbiAgICBpZiAoYXV0b1Jlc29sdXRpb25UcmFja2VkS2V5UmVmLmN1cnJlbnQgPT09IGhpdGxCYXRjaEtleSkgcmV0dXJuXG4gICAgYXV0b1Jlc29sdXRpb25UcmFja2VkS2V5UmVmLmN1cnJlbnQgPSBoaXRsQmF0Y2hLZXlcbiAgICBjb25zdCBpc0FjY2VwdCA9IHN0YXR1cyA9PT0gJ2FwcHJvdmVkJ1xuICAgIGlmIChpc0FjY2VwdCAmJiBoaXRsQmF0Y2hJbmNsdWRlc0NyZWF0ZUFnZW50KGFjdGlvbnMpKSByZXR1cm5cbiAgICB0cmFja0hpdGxEZWNpc2lvbihpc0FjY2VwdCA/ICdhY2NlcHQnIDogJ2RlbnknLCAnYXV0bycpXG4gIH0sIFthY3Rpb25zLCBoaXRsQmF0Y2hLZXksIHN0YXR1cywgdHJhY2tIaXRsRGVjaXNpb25dKVxuXG4gIGNvbnN0IGhhbmRsZUFwcHJvdmUgPSAoKSA9PiB7XG4gICAgaWYgKGlzTG9hZGluZyB8fCBsb2NhbFN0YXR1cyAhPT0gJ3BlbmRpbmcnKSByZXR1cm5cbiAgICB1c2VySW5pdGlhdGVkSGl0bERlY2lzaW9uUmVmLmN1cnJlbnQgPSB0cnVlXG4gICAgaWYgKCFoaXRsQmF0Y2hJbmNsdWRlc0NyZWF0ZUFnZW50KGFjdGlvbnMpKSB7XG4gICAgICB0cmFja0hpdGxEZWNpc2lvbignYWNjZXB0JywgJ3VzZXInKVxuICAgIH1cbiAgICBzZXRMb2NhbFN0YXR1cygnYXBwcm92ZWQnKVxuICAgIG9uQXBwcm92ZShhY3Rpb25zLm1hcChhID0+IGEudGhyZWFkX2lkKSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVJlamVjdCA9ICgpID0+IHtcbiAgICBpZiAoaXNMb2FkaW5nIHx8IGxvY2FsU3RhdHVzICE9PSAncGVuZGluZycpIHJldHVyblxuICAgIHVzZXJJbml0aWF0ZWRIaXRsRGVjaXNpb25SZWYuY3VycmVudCA9IHRydWVcbiAgICB0cmFja0hpdGxEZWNpc2lvbignZGVueScsICd1c2VyJylcbiAgICBzZXRMb2NhbFN0YXR1cygncmVqZWN0ZWQnKVxuICAgIG9uUmVqZWN0KGFjdGlvbnMubWFwKGEgPT4gYS50aHJlYWRfaWQpKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U0NBcHByb3ZhbEJveD5cbiAgICAgIDxTQ0FCSGVhZGVyPlxuICAgICAgICA8U0NBQlRpdGxlPnt0KCdhcHByb3ZhbEJveC50aXRsZScpfTwvU0NBQlRpdGxlPlxuICAgICAgPC9TQ0FCSGVhZGVyPlxuXG4gICAgICA8U0NBQkRlc2NyaXB0aW9uPnt0KCdhcHByb3ZhbEJveC5kZXNjcmlwdGlvbicpfTwvU0NBQkRlc2NyaXB0aW9uPlxuXG4gICAgICA8U0NBQkFjdGlvbnNMaXN0ICRleHBhbmRlZD17aXNFeHBhbmRlZH0+XG4gICAgICAgIHthY3Rpb25zLm1hcChhY3Rpb24gPT4ge1xuICAgICAgICAgIGNvbnN0IHNwZWNpYWxDb3B5ID0gZ2V0U3BlY2lhbEFjdGlvbkNvcHkodCwgYWN0aW9uKVxuICAgICAgICAgIGNvbnN0IGxhYmVsID0gc3BlY2lhbENvcHkudGl0bGUgfHwgZ2V0QWN0aW9uTGFiZWwodCwgYWN0aW9uLnRvb2xfbmFtZSwgKGFjdGlvbiBhcyBhbnkpLmRpc3BsYXlfbmFtZSlcbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPFNDQUJBY3Rpb25JdGVtIGtleT17YWN0aW9uLnRocmVhZF9pZH0+XG4gICAgICAgICAgICAgIDxTQ0FCQWN0aW9uTmFtZT57bGFiZWx9PC9TQ0FCQWN0aW9uTmFtZT5cbiAgICAgICAgICAgICAge3NwZWNpYWxDb3B5LmRlc2NyaXB0aW9uID8gKFxuICAgICAgICAgICAgICAgIDxTQ0FCQWN0aW9uRGVzY3JpcHRpb24+e3NwZWNpYWxDb3B5LmRlc2NyaXB0aW9ufTwvU0NBQkFjdGlvbkRlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDwvU0NBQkFjdGlvbkl0ZW0+XG4gICAgICAgICAgKVxuICAgICAgICB9KX1cbiAgICAgIDwvU0NBQkFjdGlvbnNMaXN0PlxuXG4gICAgICB7bG9jYWxTdGF0dXMgPT09ICdwZW5kaW5nJyAmJiAhaXNQcm9qZWN0RGVsZXRlZCAmJiAoXG4gICAgICAgIDxTQ0FCQnV0dG9uc0NvbnRhaW5lcj5cbiAgICAgICAgICA8U0NBQkJ1dHRvbiAkdmFyaWFudD1cInJlamVjdFwiIG9uQ2xpY2s9e2hhbmRsZVJlamVjdH0gJGRpc2FibGVkPXtpc0xvYWRpbmd9PlxuICAgICAgICAgICAge3QoJ2FwcHJvdmFsQm94LmRlbnknKX1cbiAgICAgICAgICA8L1NDQUJCdXR0b24+XG4gICAgICAgICAgPFNDQUJCdXR0b24gJHZhcmlhbnQ9XCJhcHByb3ZlXCIgb25DbGljaz17aGFuZGxlQXBwcm92ZX0gJGRpc2FibGVkPXtpc0xvYWRpbmd9PlxuICAgICAgICAgICAge3QoJ2FwcHJvdmFsQm94LmFwcHJvdmUnKX1cbiAgICAgICAgICA8L1NDQUJCdXR0b24+XG4gICAgICAgIDwvU0NBQkJ1dHRvbnNDb250YWluZXI+XG4gICAgICApfVxuICAgICAge2xvY2FsU3RhdHVzICE9PSAncGVuZGluZycgJiYgKFxuICAgICAgICA8U0NBQlN0YXR1c0JhZGdlICRzdGF0dXM9e2xvY2FsU3RhdHVzfT5cbiAgICAgICAgICB7bG9jYWxTdGF0dXMgPT09ICdhcHByb3ZlZCcgPyAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICA8Q2hlY2tDaXJjbGUgd2lkdGg9ezIyfSBoZWlnaHQ9ezIyfSBjb2xvcj1cIiMwMDg0MDBcIiAvPlxuICAgICAgICAgICAgICB7dCgnYXBwcm92YWxCb3guc3RhdHVzLmFwcHJvdmVkJyl9XG4gICAgICAgICAgICAgIHttYW51YWxBcHByb3ZhbERldGVjdGVkICYmIChcbiAgICAgICAgICAgICAgICA8VG9vbHRpcCB0aXRsZT17d2FybmluZ01lc3NhZ2UgfHwgdCgnYXBwcm92YWxCb3gubWFudWFsQXBwcm92YWxXYXJuaW5nJyl9IHBsYWNlbWVudD1cInJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICA8U0NBQlN0YXR1c1dhcm5pbmdJY29uPlxuICAgICAgICAgICAgICAgICAgICA8QWxlcnQgY29sb3I9XCIjRUFBMTFBXCIgd2lkdGg9XCIxM3B4XCIgaGVpZ2h0PVwiMTNweFwiIC8+XG4gICAgICAgICAgICAgICAgICA8L1NDQUJTdGF0dXNXYXJuaW5nSWNvbj5cbiAgICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPENyb3NzQ2lyY2xlIHdpZHRoPXsyMn0gaGVpZ2h0PXsyMn0gY29sb3I9XCIjQzcwNTA1XCIgLz5cbiAgICAgICAgICAgICAge3QoJ2FwcHJvdmFsQm94LnN0YXR1cy5kZW5pZWQnKX1cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvU0NBQlN0YXR1c0JhZGdlPlxuICAgICAgKX1cbiAgICA8L1NDQXBwcm92YWxCb3g+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0EsU0FBU0EsUUFBUSxFQUFFQyxTQUFTLEVBQUVDLE1BQU0sRUFBRUMsV0FBVyxFQUFFQyxPQUFPLFFBQVEsT0FBTztBQUN6RSxTQUFTQyxLQUFLLFFBQVEsd0NBQXdDO0FBQzlELFNBQVNDLFdBQVcsUUFBUSw4Q0FBOEM7QUFDMUUsU0FBU0MsV0FBVyxRQUFRLDhDQUE4QztBQUMxRSxTQUFTQyxPQUFPLFFBQVEsOENBQThDO0FBQ3RFLFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBRTlDLFNBQ0VDLGFBQWEsRUFDYkMsVUFBVSxFQUNWQyxTQUFTLEVBQ1RDLGVBQWUsRUFDZkMsZUFBZSxFQUNmQyxjQUFjLEVB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QUFDWixVQUFVO1FBQUM0RyxRQUFRLEVBQUMsUUFBUTtRQUFDQyxPQUFPLEVBQUVQLFlBQWE7UUFBQ1EsU0FBUyxFQUFFckQsU0FBVTtRQUFBOEMsUUFBQSxFQUN2RTVFLENBQUMsQ0FBQyxrQkFBa0I7TUFBQyxDQUNaLENBQUMsZUFDYmYsSUFBQSxDQUFDWixVQUFVO1FBQUM0RyxRQUFRLEVBQUMsU0FBUztRQUFDQyxPQUFPLEVBQUVSLGFBQWM7UUFBQ1MsU0FBUyxFQUFFckQsU0FBVTtRQUFBOEMsUUFBQSxFQUN6RTVFLENBQUMsQ0FBQyxxQkFBcUI7TUFBQyxDQUNmLENBQUM7SUFBQSxDQUNPLENBQ3ZCLEVBQ0E0QyxXQUFXLEtBQUssU0FBUyxpQkFDeEIzRCxJQUFBLENBQUNYLGVBQWU7TUFBQzhHLE9BQU8sRUFBRXhDLFdBQVk7TUFBQWdDLFFBQUEsRUFDbkNoQyxXQUFXLEtBQUssVUFBVSxnQkFDekJ6RCxLQUFBLENBQUFFLFNBQUE7UUFBQXVGLFFBQUEsZ0JBQ0UzRixJQUFBLENBQUN6QixXQUFXO1VBQUM2SCxLQUFLLEVBQUUsRUFBRztVQUFDQyxNQUFNLEVBQUUsRUFBRztVQUFDQyxLQUFLLEVBQUM7UUFBUyxDQUFFLENBQUMsRUFDckR2RixDQUFDLENBQUMsNkJBQTZCLENBQUMsRUFDaENzQyxzQkFBc0IsaUJBQ3JCckQsSUFBQSxDQUFDdkIsT0FBTztVQUFDeUQsS0FBSyxFQUFFaUIsY0FBYyxJQUFJcEMsQ0FBQyxDQUFDLG1DQUFtQyxDQUFFO1VBQUN3RixTQUFTLEVBQUMsT0FBTztVQUFBWixRQUFBLGVBQ3pGM0YsSUFBQSxDQUFDVixxQkFBcUI7WUFBQXFHLFFBQUEsZUFDcEIzRixJQUFBLENBQUMxQixLQUFLO2NBQUNnSSxLQUFLLEVBQUMsU0FBUztjQUFDRixLQUFLLEVBQUMsTUFBTTtjQUFDQyxNQUFNLEVBQUM7WUFBTSxDQUFFO1VBQUMsQ0FDL0I7UUFBQyxDQUNqQixDQUNWO01BQUEsQ0FDRCxDQUFDLGdCQUVIbkcsS0FBQSxDQUFBRSxTQUFBO1FBQUF1RixRQUFBLGdCQUNFM0YsSUFBQSxDQUFDeEIsV0FBVztVQUFDNEgsS0FBSyxFQUFFLEVBQUc7VUFBQ0MsTUFBTSxFQUFFLEVBQUc7VUFBQ0MsS0FBSyxFQUFDO1FBQVMsQ0FBRSxDQUFDLEVBQ3JEdkYsQ0FBQyxDQUFDLDJCQUEyQixDQUFDO01BQUEsQ0FDL0I7SUFDSCxDQUNjLENBQ2xCO0VBQUEsQ0FDWSxDQUFDO0FBRXBCLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|