@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
|
@@ -0,0 +1,86 @@
|
|
|
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 { useCallback, useEffect, useState } from 'react';
|
|
5
|
+
import { getRecentContexts } from '../services/maia/RecentContexts';
|
|
6
|
+
export var useRecentContexts = function useRecentContexts() {
|
|
7
|
+
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
8
|
+
agentId = _ref.agentId,
|
|
9
|
+
_ref$enabled = _ref.enabled,
|
|
10
|
+
enabled = _ref$enabled === void 0 ? true : _ref$enabled,
|
|
11
|
+
_ref$limit = _ref.limit,
|
|
12
|
+
limit = _ref$limit === void 0 ? 9 : _ref$limit;
|
|
13
|
+
var _useState = useState([]),
|
|
14
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
15
|
+
contexts = _useState2[0],
|
|
16
|
+
setContexts = _useState2[1];
|
|
17
|
+
var _useState3 = useState(false),
|
|
18
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
19
|
+
loading = _useState4[0],
|
|
20
|
+
setLoading = _useState4[1];
|
|
21
|
+
var _useState5 = useState(null),
|
|
22
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
23
|
+
error = _useState6[0],
|
|
24
|
+
setError = _useState6[1];
|
|
25
|
+
var _useState7 = useState(false),
|
|
26
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
27
|
+
loaded = _useState8[0],
|
|
28
|
+
setLoaded = _useState8[1];
|
|
29
|
+
var fetchRecentContexts = useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
30
|
+
var data, message, _t;
|
|
31
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
32
|
+
while (1) switch (_context.prev = _context.next) {
|
|
33
|
+
case 0:
|
|
34
|
+
if (enabled) {
|
|
35
|
+
_context.next = 1;
|
|
36
|
+
break;
|
|
37
|
+
}
|
|
38
|
+
setContexts([]);
|
|
39
|
+
setLoading(false);
|
|
40
|
+
setError(null);
|
|
41
|
+
setLoaded(false);
|
|
42
|
+
return _context.abrupt("return");
|
|
43
|
+
case 1:
|
|
44
|
+
setLoading(true);
|
|
45
|
+
setError(null);
|
|
46
|
+
_context.prev = 2;
|
|
47
|
+
_context.next = 3;
|
|
48
|
+
return getRecentContexts({
|
|
49
|
+
agentId: agentId,
|
|
50
|
+
limit: limit
|
|
51
|
+
});
|
|
52
|
+
case 3:
|
|
53
|
+
data = _context.sent;
|
|
54
|
+
setContexts(data);
|
|
55
|
+
_context.next = 5;
|
|
56
|
+
break;
|
|
57
|
+
case 4:
|
|
58
|
+
_context.prev = 4;
|
|
59
|
+
_t = _context["catch"](2);
|
|
60
|
+
message = _t instanceof Error ? _t.message : 'An unknown error occurred';
|
|
61
|
+
setError(message);
|
|
62
|
+
setContexts([]);
|
|
63
|
+
console.error('Error fetching recent contexts:', _t);
|
|
64
|
+
case 5:
|
|
65
|
+
_context.prev = 5;
|
|
66
|
+
setLoading(false);
|
|
67
|
+
setLoaded(true);
|
|
68
|
+
return _context.finish(5);
|
|
69
|
+
case 6:
|
|
70
|
+
case "end":
|
|
71
|
+
return _context.stop();
|
|
72
|
+
}
|
|
73
|
+
}, _callee, null, [[2, 4, 5, 6]]);
|
|
74
|
+
})), [agentId, enabled, limit]);
|
|
75
|
+
useEffect(function () {
|
|
76
|
+
fetchRecentContexts();
|
|
77
|
+
}, [fetchRecentContexts]);
|
|
78
|
+
return {
|
|
79
|
+
contexts: contexts,
|
|
80
|
+
loading: loading,
|
|
81
|
+
loaded: loaded,
|
|
82
|
+
error: error,
|
|
83
|
+
fetchRecentContexts: fetchRecentContexts
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUVmZmVjdCIsInVzZVN0YXRlIiwiZ2V0UmVjZW50Q29udGV4dHMiLCJ1c2VSZWNlbnRDb250ZXh0cyIsIl9yZWYiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJhZ2VudElkIiwiX3JlZiRlbmFibGVkIiwiZW5hYmxlZCIsIl9yZWYkbGltaXQiLCJsaW1pdCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImNvbnRleHRzIiwic2V0Q29udGV4dHMiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImxvYWRpbmciLCJzZXRMb2FkaW5nIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJlcnJvciIsInNldEVycm9yIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJsb2FkZWQiLCJzZXRMb2FkZWQiLCJmZXRjaFJlY2VudENvbnRleHRzIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJkYXRhIiwibWVzc2FnZSIsIl90Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJhYnJ1cHQiLCJzZW50IiwiRXJyb3IiLCJjb25zb2xlIiwiZmluaXNoIiwic3RvcCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VSZWNlbnRDb250ZXh0cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgZ2V0UmVjZW50Q29udGV4dHMsIHR5cGUgUmVjZW50Q29udGV4dEl0ZW0gfSBmcm9tICcuLi9zZXJ2aWNlcy9tYWlhL1JlY2VudENvbnRleHRzJ1xuXG50eXBlIFVzZVJlY2VudENvbnRleHRzT3B0aW9ucyA9IHtcbiAgYWdlbnRJZD86IHN0cmluZyB8IG51bWJlclxuICBlbmFibGVkPzogYm9vbGVhblxuICBsaW1pdD86IG51bWJlclxufVxuXG5leHBvcnQgY29uc3QgdXNlUmVjZW50Q29udGV4dHMgPSAoeyBhZ2VudElkLCBlbmFibGVkID0gdHJ1ZSwgbGltaXQgPSA5IH06IFVzZVJlY2VudENvbnRleHRzT3B0aW9ucyA9IHt9KSA9PiB7XG4gIGNvbnN0IFtjb250ZXh0cywgc2V0Q29udGV4dHNdID0gdXNlU3RhdGU8UmVjZW50Q29udGV4dEl0ZW1bXT4oW10pXG4gIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFtsb2FkZWQsIHNldExvYWRlZF0gPSB1c2VTdGF0ZShmYWxzZSlcblxuICBjb25zdCBmZXRjaFJlY2VudENvbnRleHRzID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIGlmICghZW5hYmxlZCkge1xuICAgICAgc2V0Q29udGV4dHMoW10pXG4gICAgICBzZXRMb2FkaW5nKGZhbHNlKVxuICAgICAgc2V0RXJyb3IobnVsbClcbiAgICAgIHNldExvYWRlZChmYWxzZSlcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHNldExvYWRpbmcodHJ1ZSlcbiAgICBzZXRFcnJvcihudWxsKVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBnZXRSZWNlbnRDb250ZXh0cyh7IGFnZW50SWQsIGxpbWl0IH0pXG4gICAgICBzZXRDb250ZXh0cyhkYXRhKVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLm1lc3NhZ2UgOiAnQW4gdW5rbm93biBlcnJvciBvY2N1cnJlZCdcbiAgICAgIHNldEVycm9yKG1lc3NhZ2UpXG4gICAgICBzZXRDb250ZXh0cyhbXSlcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIHJlY2VudCBjb250ZXh0czonLCBlcnIpXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldExvYWRpbmcoZmFsc2UpXG4gICAgICBzZXRMb2FkZWQodHJ1ZSlcbiAgICB9XG4gIH0sIFthZ2VudElkLCBlbmFibGVkLCBsaW1pdF0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBmZXRjaFJlY2VudENvbnRleHRzKClcbiAgfSwgW2ZldGNoUmVjZW50Q29udGV4dHNdKVxuXG4gIHJldHVybiB7XG4gICAgY29udGV4dHMsXG4gICAgbG9hZGluZyxcbiAgICBsb2FkZWQsXG4gICAgZXJyb3IsXG4gICAgZmV0Y2hSZWNlbnRDb250ZXh0cyxcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7QUFBQSxTQUFTQSxXQUFXLEVBQUVDLFNBQVMsRUFBRUMsUUFBUSxRQUFRLE9BQU87QUFDeEQsU0FBU0MsaUJBQWlCLFFBQWdDLGlDQUFpQztBQVEzRixPQUFPLElBQU1DLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBaUJBLENBQUEsRUFBOEU7RUFBQSxJQUFBQyxJQUFBLEdBQUFDLFNBQUEsQ0FBQUMsTUFBQSxRQUFBRCxTQUFBLFFBQUFFLFNBQUEsR0FBQUYsU0FBQSxNQUFQLENBQUMsQ0FBQztJQUFuRUcsT0FBTyxHQUFBSixJQUFBLENBQVBJLE9BQU87SUFBQUMsWUFBQSxHQUFBTCxJQUFBLENBQUVNLE9BQU87SUFBUEEsT0FBTyxHQUFBRCxZQUFBLGNBQUcsSUFBSSxHQUFBQSxZQUFBO0lBQUFFLFVBQUEsR0FBQVAsSUFBQSxDQUFFUSxLQUFLO0lBQUxBLEtBQUssR0FBQUQsVUFBQSxjQUFHLENBQUMsR0FBQUEsVUFBQTtFQUNwRSxJQUFBRSxTQUFBLEdBQWdDWixRQUFRLENBQXNCLEVBQUUsQ0FBQztJQUFBYSxVQUFBLEdBQUFDLGNBQUEsQ0FBQUYsU0FBQTtJQUExREcsUUFBUSxHQUFBRixVQUFBO0lBQUVHLFdBQVcsR0FBQUgsVUFBQTtFQUM1QixJQUFBSSxVQUFBLEdBQThCakIsUUFBUSxDQUFDLEtBQUssQ0FBQztJQUFBa0Is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
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
|
+
import { useEffect, useState } from 'react';
|
|
4
|
+
export var useResizeListener = function useResizeListener(ref, dependencies) {
|
|
5
|
+
var _useState = useState(false),
|
|
6
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
7
|
+
showTooltip = _useState2[0],
|
|
8
|
+
setShowTooltip = _useState2[1];
|
|
9
|
+
var handleResize = function handleResize() {
|
|
10
|
+
if (ref.current) {
|
|
11
|
+
var textWidth = ref.current.scrollWidth;
|
|
12
|
+
setShowTooltip(textWidth > ref.current.clientWidth);
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
useEffect(function () {
|
|
16
|
+
var resizeListener = function resizeListener() {
|
|
17
|
+
return handleResize();
|
|
18
|
+
};
|
|
19
|
+
handleResize();
|
|
20
|
+
window.addEventListener('resize', resizeListener);
|
|
21
|
+
return function () {
|
|
22
|
+
window.removeEventListener('resize', resizeListener);
|
|
23
|
+
};
|
|
24
|
+
}, dependencies);
|
|
25
|
+
return {
|
|
26
|
+
showTooltip: showTooltip
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsInVzZVJlc2l6ZUxpc3RlbmVyIiwicmVmIiwiZGVwZW5kZW5jaWVzIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5Iiwic2hvd1Rvb2x0aXAiLCJzZXRTaG93VG9vbHRpcCIsImhhbmRsZVJlc2l6ZSIsImN1cnJlbnQiLCJ0ZXh0V2lkdGgiLCJzY3JvbGxXaWR0aCIsImNsaWVudFdpZHRoIiwicmVzaXplTGlzdGVuZXIiLCJ3aW5kb3ciLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VSZXNpemUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgUmVmT2JqZWN0LCB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5cbmV4cG9ydCBjb25zdCB1c2VSZXNpemVMaXN0ZW5lciA9IChcbiAgcmVmOiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQgfCBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFNwYW5FbGVtZW50PixcbiAgZGVwZW5kZW5jaWVzOiBhbnlbXVxuKSA9PiB7XG4gIGNvbnN0IFtzaG93VG9vbHRpcCwgc2V0U2hvd1Rvb2x0aXBdID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgY29uc3QgaGFuZGxlUmVzaXplID0gKCkgPT4ge1xuICAgIGlmIChyZWYuY3VycmVudCkge1xuICAgICAgY29uc3QgdGV4dFdpZHRoID0gcmVmLmN1cnJlbnQuc2Nyb2xsV2lkdGhcbiAgICAgIHNldFNob3dUb29sdGlwKHRleHRXaWR0aCA+IHJlZi5jdXJyZW50LmNsaWVudFdpZHRoKVxuICAgIH1cbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgcmVzaXplTGlzdGVuZXIgPSAoKSA9PiBoYW5kbGVSZXNpemUoKVxuICAgIGhhbmRsZVJlc2l6ZSgpXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHJlc2l6ZUxpc3RlbmVyKVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgcmVzaXplTGlzdGVuZXIpXG4gICAgfVxuICB9LCBkZXBlbmRlbmNpZXMpXG5cbiAgcmV0dXJuIHsgc2hvd1Rvb2x0aXAgfVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQSxTQUFvQkEsU0FBUyxFQUFFQyxRQUFRLFFBQVEsT0FBTztBQUV0RCxPQUFPLElBQU1DLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBaUJBLENBQzVCQyxHQUFtRSxFQUNuRUMsWUFBbUIsRUFDaEI7RUFDSCxJQUFBQyxTQUFBLEdBQXNDSixRQUFRLENBQUMsS0FBSyxDQUFDO0lBQUFLLFVBQUEsR0FBQUMsY0FBQSxDQUFBRixTQUFBO0lBQTlDRyxXQUFXLEdBQUFGLFVBQUE7SUFBRUcsY0FBYyxHQUFBSCxVQUFBO0VBRWxDLElBQU1JLFlBQVksR0FBRyxTQUFmQSxZQUFZQSxDQUFBLEVBQVM7SUFDekIsSUFBSVAsR0FBRyxDQUFDUSxPQUFPLEVBQUU7TUFDZixJQUFNQyxTQUFTLEdBQUdULEdBQUcsQ0FBQ1EsT0FBTyxDQUFDRSxXQUFXO01BQ3pDSixjQUFjLENBQUNHLFNBQVMsR0FBR1QsR0FBRyxDQUFDUSxPQUFPLENBQUNHLFdBQVcsQ0FBQztJQUNyRDtFQUNGLENBQUM7RUFFRGQsU0FBUyxDQUFDLFlBQU07SUFDZCxJQUFNZSxjQUFjLEdBQUcsU0FBakJBLGNBQWNBLENBQUE7TUFBQSxPQUFTTCxZQUFZLENBQUMsQ0FBQztJQUFBO0lBQzNDQSxZQUFZLENBQUMsQ0FBQztJQUNkTSxNQUFNLENBQUNDLGdCQUFnQixDQUFDLFFBQVEsRUFBRUYsY0FBYyxDQUFDO0lBQ2pELE9BQU8sWUFBTTtNQUNYQyxNQUFNLENBQUNFLG1CQUFtQixDQUFDLFFBQVEsRUFBRUgsY0FBYyxDQUFDO0lBQ3RELENBQUM7RUFDSCxDQUFDLEVBQUVYLFlBQVksQ0FBQztFQUVoQixPQUFPO0lBQUVJLFdBQVcsRUFBWEE7RUFBWSxDQUFDO0FBQ3hCLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -0,0 +1,84 @@
|
|
|
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 { useCallback, useEffect, useState } from 'react';
|
|
5
|
+
import { getSlashCommands } from '../services/maia/Actions/getSlashCommands';
|
|
6
|
+
import { filterActionsByHourAgentFeatureAccess } from '../constants/maiaHourAgentAccess';
|
|
7
|
+
import { useT } from './useT';
|
|
8
|
+
import { mapBackendLang } from '../utils/mapBackendLang';
|
|
9
|
+
export var useSlashCommands = function useSlashCommands(agentId) {
|
|
10
|
+
var _useT = useT(),
|
|
11
|
+
i18n = _useT.i18n;
|
|
12
|
+
var lang = mapBackendLang(i18n.language);
|
|
13
|
+
var _useState = useState([]),
|
|
14
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
15
|
+
commands = _useState2[0],
|
|
16
|
+
setCommands = _useState2[1];
|
|
17
|
+
var _useState3 = useState(false),
|
|
18
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
19
|
+
loading = _useState4[0],
|
|
20
|
+
setLoading = _useState4[1];
|
|
21
|
+
var _useState5 = useState(null),
|
|
22
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
23
|
+
error = _useState6[0],
|
|
24
|
+
setError = _useState6[1];
|
|
25
|
+
var handleGetSlashCommands = useCallback(/*#__PURE__*/function () {
|
|
26
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(aid) {
|
|
27
|
+
var response, message, _t;
|
|
28
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
29
|
+
while (1) switch (_context.prev = _context.next) {
|
|
30
|
+
case 0:
|
|
31
|
+
setLoading(true);
|
|
32
|
+
setError(null);
|
|
33
|
+
_context.prev = 1;
|
|
34
|
+
_context.next = 2;
|
|
35
|
+
return getSlashCommands({
|
|
36
|
+
agentId: aid,
|
|
37
|
+
lang: lang
|
|
38
|
+
});
|
|
39
|
+
case 2:
|
|
40
|
+
response = _context.sent;
|
|
41
|
+
if (!(!response || !Array.isArray(response.data))) {
|
|
42
|
+
_context.next = 3;
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
throw new Error('Invalid response format from server');
|
|
46
|
+
case 3:
|
|
47
|
+
setCommands(filterActionsByHourAgentFeatureAccess(response.data));
|
|
48
|
+
_context.next = 5;
|
|
49
|
+
break;
|
|
50
|
+
case 4:
|
|
51
|
+
_context.prev = 4;
|
|
52
|
+
_t = _context["catch"](1);
|
|
53
|
+
message = _t instanceof Error ? _t.message : 'An unknown error occurred';
|
|
54
|
+
setError(message);
|
|
55
|
+
console.error('Error fetching slash commands:', _t);
|
|
56
|
+
case 5:
|
|
57
|
+
_context.prev = 5;
|
|
58
|
+
setLoading(false);
|
|
59
|
+
return _context.finish(5);
|
|
60
|
+
case 6:
|
|
61
|
+
case "end":
|
|
62
|
+
return _context.stop();
|
|
63
|
+
}
|
|
64
|
+
}, _callee, null, [[1, 4, 5, 6]]);
|
|
65
|
+
}));
|
|
66
|
+
return function (_x) {
|
|
67
|
+
return _ref.apply(this, arguments);
|
|
68
|
+
};
|
|
69
|
+
}(), [lang]);
|
|
70
|
+
useEffect(function () {
|
|
71
|
+
setCommands([]);
|
|
72
|
+
setError(null);
|
|
73
|
+
if (agentId) {
|
|
74
|
+
handleGetSlashCommands(agentId);
|
|
75
|
+
}
|
|
76
|
+
}, [agentId, handleGetSlashCommands]);
|
|
77
|
+
return {
|
|
78
|
+
commands: commands,
|
|
79
|
+
loading: loading,
|
|
80
|
+
error: error,
|
|
81
|
+
handleGetSlashCommands: handleGetSlashCommands
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUVmZmVjdCIsInVzZVN0YXRlIiwiZ2V0U2xhc2hDb21tYW5kcyIsImZpbHRlckFjdGlvbnNCeUhvdXJBZ2VudEZlYXR1cmVBY2Nlc3MiLCJ1c2VUIiwibWFwQmFja2VuZExhbmciLCJ1c2VTbGFzaENvbW1hbmRzIiwiYWdlbnRJZCIsIl91c2VUIiwiaTE4biIsImxhbmciLCJsYW5ndWFnZSIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImNvbW1hbmRzIiwic2V0Q29tbWFuZHMiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImxvYWRpbmciLCJzZXRMb2FkaW5nIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJlcnJvciIsInNldEVycm9yIiwiaGFuZGxlR2V0U2xhc2hDb21tYW5kcyIsIl9yZWYiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsImFpZCIsInJlc3BvbnNlIiwibWVzc2FnZSIsIl90Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJzZW50IiwiQXJyYXkiLCJpc0FycmF5IiwiZGF0YSIsIkVycm9yIiwiY29uc29sZSIsImZpbmlzaCIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZVNsYXNoQ29tbWFuZHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB0eXBlIHsgQWN0aW9uIH0gZnJvbSAnLi4vdHlwZXMvQWN0aW9uJ1xuaW1wb3J0IHsgZ2V0U2xhc2hDb21tYW5kcyB9IGZyb20gJy4uL3NlcnZpY2VzL21haWEvQWN0aW9ucy9nZXRTbGFzaENvbW1hbmRzJ1xuaW1wb3J0IHsgZmlsdGVyQWN0aW9uc0J5SG91ckFnZW50RmVhdHVyZUFjY2VzcyB9IGZyb20gJy4uL2NvbnN0YW50cy9tYWlhSG91ckFnZW50QWNjZXNzJ1xuaW1wb3J0IHsgdXNlVCB9IGZyb20gJy4vdXNlVCdcbmltcG9ydCB7IG1hcEJhY2tlbmRMYW5nIH0gZnJvbSAnLi4vdXRpbHMvbWFwQmFja2VuZExhbmcnXG5cbmV4cG9ydCBjb25zdCB1c2VTbGFzaENvbW1hbmRzID0gKGFnZW50SWQ/OiBzdHJpbmcpID0+IHtcbiAgY29uc3QgeyBpMThuIH0gPSB1c2VUKClcbiAgY29uc3QgbGFuZyA9IG1hcEJhY2tlbmRMYW5nKGkxOG4ubGFuZ3VhZ2UpXG4gIGNvbnN0IFtjb21tYW5kcywgc2V0Q29tbWFuZHNdID0gdXNlU3RhdGU8QWN0aW9uW10+KFtdKVxuICBjb25zdCBbbG9hZGluZywgc2V0TG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKVxuXG4gIGNvbnN0IGhhbmRsZUdldFNsYXNoQ29tbWFuZHMgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAoYWlkOiBzdHJpbmcpID0+IHtcbiAgICAgIHNldExvYWRpbmcodHJ1ZSlcbiAgICAgIHNldEVycm9yKG51bGwpXG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGdldFNsYXNoQ29tbWFuZHMoeyBhZ2VudElkOiBhaWQsIGxhbmcgfSlcbiAgICAgICAgaWYgKCFyZXNwb25zZSB8fCAhQXJyYXkuaXNBcnJheShyZXNwb25zZS5kYXRhKSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCByZXNwb25zZSBmb3JtYXQgZnJvbSBzZXJ2ZXInKVxuICAgICAgICB9XG4gICAgICAgIHNldENvbW1hbmRzKGZpbHRlckFjdGlvbnNCeUhvdXJBZ2VudEZlYXR1cmVBY2Nlc3MocmVzcG9uc2UuZGF0YSkpXG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLm1lc3NhZ2UgOiAnQW4gdW5rbm93biBlcnJvciBvY2N1cnJlZCdcbiAgICAgICAgc2V0RXJyb3IobWVzc2FnZSlcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZmV0Y2hpbmcgc2xhc2ggY29tbWFuZHM6JywgZXJyKVxuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgc2V0TG9hZGluZyhmYWxzZSlcbiAgICAgIH1cbiAgICB9LFxuICAgIFtsYW5nXVxuICApXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRDb21tYW5kcyhbXSlcbiAgICBzZXRFcnJvcihudWxsKVxuICAgIGlmIChhZ2VudElkKSB7XG4gICAgICBoYW5kbGVHZXRTbGFzaENvbW1hbmRzKGFnZW50SWQpXG4gICAgfVxuICB9LCBbYWdlbnRJZCwgaGFuZGxlR2V0U2xhc2hDb21tYW5kc10pXG5cbiAgcmV0dXJuIHtcbiAgICBjb21tYW5kcyxcbiAgICBsb2FkaW5nLFxuICAgIGVycm9yLFxuICAgIGhhbmRsZUdldFNsYXNoQ29tbWFuZHMsXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsU0FBU0EsV0FBVyxFQUFFQyxTQUFTLEVBQUVDLFFBQVEsUUFBUSxPQUFPO0FBRXhELFNBQVNDLGdCQUFnQixRQUFRLDJDQUEyQztBQUM1RSxTQUFTQyxxQ0FBcUMsUUFBUSxrQ0FBa0M7QUFDeEYsU0FBU0MsSUFBSSxRQUFRLFFBQVE7QUFDN0IsU0FBU0MsY0FBYyxRQUFRLHlCQUF5QjtBQUV4RCxPQUFPLElBQU1DLGdCQUFnQixHQUFHLFNBQW5CQSxnQkFBZ0JBLENBQUlDLE9BQWdCLEVBQUs7RUFDcEQsSUFBQUMsS0FBQSxHQUFpQkosSUFBSSxDQUFDLENBQUM7SUFBZkssSUFBSSxHQUFBRCxLQUFBLENBQUpDLElBQUk7RUFDWixJQUFNQyxJQUFJLEdBQUdMLGNBQWMsQ0FBQ0ksSUFBSSxDQUFDRSxRQUFRLENBQUM7RUFDMUMsSUFBQUMsU0FBQSxHQUFn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
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { useSmoothStreamText } from './useSmoothStreamText';
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTbW9vdGhTdHJlYW1UZXh0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL3VzZVNtb290aFN0cmVhbVRleHQvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgdXNlU21vb3RoU3RyZWFtVGV4dCB9IGZyb20gJy4vdXNlU21vb3RoU3RyZWFtVGV4dCdcbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsbUJBQW1CLFFBQVEsdUJBQXVCIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
import { useEffect, useRef, useState } from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* Hook que desacopla la cadencia de llegada del texto (stream SSE) de la
|
|
5
|
+
* cadencia de renderizado. Usa un timer corto para liberar chars a ritmo
|
|
6
|
+
* constante hacia el DOM, eliminando los "frenos" que se producen cuando el
|
|
7
|
+
* backend emite ráfagas de tokens.
|
|
8
|
+
*
|
|
9
|
+
* Cuando `enabled` pasa a false (fin de stream), el texto se completa al
|
|
10
|
+
* instante. Durante el streaming, el buffer se vacía dinámicamente apuntando
|
|
11
|
+
* al lag configurado.
|
|
12
|
+
*/
|
|
13
|
+
export var useSmoothStreamText = function useSmoothStreamText(targetText, _ref) {
|
|
14
|
+
var enabled = _ref.enabled,
|
|
15
|
+
_ref$minCharsPerFrame = _ref.minCharsPerFrame,
|
|
16
|
+
minCharsPerFrame = _ref$minCharsPerFrame === void 0 ? 1 : _ref$minCharsPerFrame,
|
|
17
|
+
_ref$maxCharsPerFrame = _ref.maxCharsPerFrame,
|
|
18
|
+
maxCharsPerFrame = _ref$maxCharsPerFrame === void 0 ? 24 : _ref$maxCharsPerFrame,
|
|
19
|
+
_ref$targetLagMs = _ref.targetLagMs,
|
|
20
|
+
targetLagMs = _ref$targetLagMs === void 0 ? 450 : _ref$targetLagMs,
|
|
21
|
+
_ref$snapToWordBounda = _ref.snapToWordBoundary,
|
|
22
|
+
snapToWordBoundary = _ref$snapToWordBounda === void 0 ? false : _ref$snapToWordBounda,
|
|
23
|
+
_ref$adaptToBackendRa = _ref.adaptToBackendRate,
|
|
24
|
+
adaptToBackendRate = _ref$adaptToBackendRa === void 0 ? true : _ref$adaptToBackendRa,
|
|
25
|
+
_ref$backendRateFacto = _ref.backendRateFactor,
|
|
26
|
+
backendRateFactor = _ref$backendRateFacto === void 0 ? 0.95 : _ref$backendRateFacto,
|
|
27
|
+
_ref$targetBufferMs = _ref.targetBufferMs,
|
|
28
|
+
targetBufferMs = _ref$targetBufferMs === void 0 ? 600 : _ref$targetBufferMs,
|
|
29
|
+
_ref$bufferCorrection = _ref.bufferCorrectionMs,
|
|
30
|
+
bufferCorrectionMs = _ref$bufferCorrection === void 0 ? 500 : _ref$bufferCorrection,
|
|
31
|
+
_ref$minBufferChars = _ref.minBufferChars,
|
|
32
|
+
minBufferChars = _ref$minBufferChars === void 0 ? 70 : _ref$minBufferChars,
|
|
33
|
+
_ref$warmupMs = _ref.warmupMs,
|
|
34
|
+
warmupMs = _ref$warmupMs === void 0 ? 400 : _ref$warmupMs;
|
|
35
|
+
var _useState = useState(function () {
|
|
36
|
+
return enabled ? '' : targetText;
|
|
37
|
+
}),
|
|
38
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
39
|
+
displayed = _useState2[0],
|
|
40
|
+
setDisplayed = _useState2[1];
|
|
41
|
+
var targetRef = useRef(targetText);
|
|
42
|
+
var displayedLenRef = useRef(displayed.length);
|
|
43
|
+
var tickTimerRef = useRef(null);
|
|
44
|
+
var lastTickRef = useRef(0);
|
|
45
|
+
|
|
46
|
+
// Medición de la cadencia del backend: se actualiza cuando cambia targetText.
|
|
47
|
+
var lastTargetLenRef = useRef(0);
|
|
48
|
+
var lastTargetUpdateRef = useRef(0);
|
|
49
|
+
// Estimación EMA de chars/ms producidos por el backend.
|
|
50
|
+
var backendCharsPerMsRef = useRef(0);
|
|
51
|
+
// Timestamp del primer chunk recibido (para warmup).
|
|
52
|
+
var firstChunkAtRef = useRef(0);
|
|
53
|
+
// Si el warmup ya terminó (una vez true, no vuelve a activarse en este stream).
|
|
54
|
+
var warmupDoneRef = useRef(false);
|
|
55
|
+
useEffect(function () {
|
|
56
|
+
var now = typeof performance !== 'undefined' ? performance.now() : Date.now();
|
|
57
|
+
var prevTargetLen = lastTargetLenRef.current;
|
|
58
|
+
var deltaChars = targetText.length - prevTargetLen;
|
|
59
|
+
var prevTargetAt = lastTargetUpdateRef.current;
|
|
60
|
+
if (enabled && deltaChars > 0) {
|
|
61
|
+
if (firstChunkAtRef.current === 0) firstChunkAtRef.current = now;
|
|
62
|
+
}
|
|
63
|
+
if (enabled && deltaChars > 0 && prevTargetAt > 0) {
|
|
64
|
+
var dt = Math.max(1, now - prevTargetAt);
|
|
65
|
+
var rate = deltaChars / dt;
|
|
66
|
+
var prevRate = backendCharsPerMsRef.current;
|
|
67
|
+
// EMA suave (alpha = 0.2) para absorber jitter y seguir la tendencia.
|
|
68
|
+
backendCharsPerMsRef.current = prevRate === 0 ? rate : prevRate * 0.8 + rate * 0.2;
|
|
69
|
+
}
|
|
70
|
+
if (enabled && targetText.length !== prevTargetLen) {
|
|
71
|
+
lastTargetLenRef.current = targetText.length;
|
|
72
|
+
lastTargetUpdateRef.current = now;
|
|
73
|
+
}
|
|
74
|
+
targetRef.current = targetText;
|
|
75
|
+
if (!enabled) {
|
|
76
|
+
if (tickTimerRef.current != null) {
|
|
77
|
+
window.clearTimeout(tickTimerRef.current);
|
|
78
|
+
tickTimerRef.current = null;
|
|
79
|
+
}
|
|
80
|
+
lastTickRef.current = 0;
|
|
81
|
+
if (displayedLenRef.current !== targetText.length) {
|
|
82
|
+
displayedLenRef.current = targetText.length;
|
|
83
|
+
setDisplayed(targetText);
|
|
84
|
+
}
|
|
85
|
+
// Reset de cadencia cuando se apaga para no contaminar el próximo stream.
|
|
86
|
+
lastTargetLenRef.current = 0;
|
|
87
|
+
lastTargetUpdateRef.current = 0;
|
|
88
|
+
backendCharsPerMsRef.current = 0;
|
|
89
|
+
firstChunkAtRef.current = 0;
|
|
90
|
+
warmupDoneRef.current = false;
|
|
91
|
+
return undefined;
|
|
92
|
+
}
|
|
93
|
+
if (displayedLenRef.current > targetText.length) {
|
|
94
|
+
displayedLenRef.current = 0;
|
|
95
|
+
setDisplayed('');
|
|
96
|
+
}
|
|
97
|
+
if (tickTimerRef.current != null) return undefined;
|
|
98
|
+
var getNow = function getNow() {
|
|
99
|
+
return typeof performance !== 'undefined' ? performance.now() : Date.now();
|
|
100
|
+
};
|
|
101
|
+
var scheduleTick = function scheduleTick(tick) {
|
|
102
|
+
tickTimerRef.current = window.setTimeout(function () {
|
|
103
|
+
tick(getNow());
|
|
104
|
+
}, 16);
|
|
105
|
+
};
|
|
106
|
+
var _tick = function tick(tickNow) {
|
|
107
|
+
var prev = lastTickRef.current;
|
|
108
|
+
var dt = prev ? Math.min(tickNow - prev, 64) : 16;
|
|
109
|
+
lastTickRef.current = tickNow;
|
|
110
|
+
var target = targetRef.current;
|
|
111
|
+
var currentLen = displayedLenRef.current;
|
|
112
|
+
var remaining = target.length - currentLen;
|
|
113
|
+
if (remaining <= 0) {
|
|
114
|
+
scheduleTick(_tick);
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
// Warmup: al comienzo del stream esperamos `warmupMs` desde el primer
|
|
119
|
+
// chunk antes de empezar a pintar. Esto construye un colchón inicial y
|
|
120
|
+
// evita arrancar rápido para congelarnos acto seguido si el backend
|
|
121
|
+
// tarda mucho en emitir el segundo chunk.
|
|
122
|
+
if (!warmupDoneRef.current) {
|
|
123
|
+
var firstAt = firstChunkAtRef.current;
|
|
124
|
+
var waitedMs = firstAt > 0 ? tickNow - firstAt : 0;
|
|
125
|
+
var warmupComplete = warmupMs <= 0 || waitedMs >= warmupMs || target.length >= minBufferChars * 2;
|
|
126
|
+
if (!warmupComplete) {
|
|
127
|
+
scheduleTick(_tick);
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
warmupDoneRef.current = true;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
// Velocidad base: vaciar el buffer en ~targetLagMs.
|
|
134
|
+
var charsPerMs = remaining / targetLagMs;
|
|
135
|
+
var effectiveCharsPerMs = charsPerMs;
|
|
136
|
+
var backendRate = backendCharsPerMsRef.current;
|
|
137
|
+
if (adaptToBackendRate && backendRate > 0) {
|
|
138
|
+
if (typeof targetBufferMs === 'number') {
|
|
139
|
+
// Control proporcional: mantener el buffer en torno al colchón
|
|
140
|
+
// objetivo. Si bufferMs < target → frenamos por debajo del backend
|
|
141
|
+
// para acumular; si bufferMs > target → aceleramos para descargar.
|
|
142
|
+
// En equilibrio, pintamos al ritmo promedio del backend.
|
|
143
|
+
//
|
|
144
|
+
// El colchón objetivo se calcula sobre la tasa **efectiva** que
|
|
145
|
+
// podemos pintar (capeada por `maxCharsPerFrame` a 60fps), no sobre
|
|
146
|
+
// la del backend pura. Esto evita el caso patológico de ráfagas:
|
|
147
|
+
// si el backend tira a 6500 ch/s, el target NO se vuelve 3900 chars
|
|
148
|
+
// (que el render jamás podría sostener), sino algo razonable que
|
|
149
|
+
// la animación pueda mantener.
|
|
150
|
+
//
|
|
151
|
+
// Piso absoluto: el colchón nunca baja de `minBufferChars` aunque
|
|
152
|
+
// el backend esté mandando lento al inicio del stream.
|
|
153
|
+
var renderRateCap = maxCharsPerFrame * 60 / 1000;
|
|
154
|
+
var effectiveBufferRate = Math.min(backendRate, renderRateCap);
|
|
155
|
+
var targetBufferChars = Math.max(minBufferChars, targetBufferMs * effectiveBufferRate);
|
|
156
|
+
var bufferDelta = remaining - targetBufferChars;
|
|
157
|
+
// Corrección tiene unidades de chars/ms. bufferCorrectionMs controla
|
|
158
|
+
// qué tan rápido el buffer real converge al objetivo.
|
|
159
|
+
var correction = bufferDelta / Math.max(1, bufferCorrectionMs);
|
|
160
|
+
effectiveCharsPerMs = Math.max(0, backendRate + correction);
|
|
161
|
+
// Acotar por la velocidad de "vaciar en targetLagMs" para que si
|
|
162
|
+
// de pronto hay un pico gigante de buffer no salgamos disparados.
|
|
163
|
+
effectiveCharsPerMs = Math.min(effectiveCharsPerMs, charsPerMs);
|
|
164
|
+
} else {
|
|
165
|
+
// Modo simple: cap a la tasa del backend * factor.
|
|
166
|
+
var cap = backendRate * backendRateFactor;
|
|
167
|
+
effectiveCharsPerMs = Math.min(effectiveCharsPerMs, cap);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
var rawStep = Math.ceil(effectiveCharsPerMs * dt);
|
|
171
|
+
var step = Math.max(minCharsPerFrame, Math.min(maxCharsPerFrame, rawStep));
|
|
172
|
+
var nextLen = Math.min(target.length, currentLen + step);
|
|
173
|
+
if (snapToWordBoundary && nextLen < target.length) {
|
|
174
|
+
var slice = target.slice(currentLen, nextLen);
|
|
175
|
+
var lastBoundary = Math.max(slice.lastIndexOf(' '), slice.lastIndexOf('\n'), slice.lastIndexOf('\t'));
|
|
176
|
+
if (lastBoundary >= 0) {
|
|
177
|
+
nextLen = currentLen + lastBoundary + 1;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
if (nextLen !== currentLen) {
|
|
181
|
+
displayedLenRef.current = nextLen;
|
|
182
|
+
setDisplayed(target.slice(0, nextLen));
|
|
183
|
+
}
|
|
184
|
+
scheduleTick(_tick);
|
|
185
|
+
};
|
|
186
|
+
scheduleTick(_tick);
|
|
187
|
+
return function () {
|
|
188
|
+
if (tickTimerRef.current != null) {
|
|
189
|
+
window.clearTimeout(tickTimerRef.current);
|
|
190
|
+
tickTimerRef.current = null;
|
|
191
|
+
}
|
|
192
|
+
lastTickRef.current = 0;
|
|
193
|
+
};
|
|
194
|
+
}, [targetText, enabled, minCharsPerFrame, maxCharsPerFrame, targetLagMs, snapToWordBoundary, adaptToBackendRate, backendRateFactor, targetBufferMs, bufferCorrectionMs, minBufferChars, warmupMs]);
|
|
195
|
+
return displayed;
|
|
196
|
+
};
|
|
197
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZVNtb290aFN0cmVhbVRleHQiLCJ0YXJnZXRUZXh0IiwiX3JlZiIsImVuYWJsZWQiLCJfcmVmJG1pbkNoYXJzUGVyRnJhbWUiLCJtaW5DaGFyc1BlckZyYW1lIiwiX3JlZiRtYXhDaGFyc1BlckZyYW1lIiwibWF4Q2hhcnNQZXJGcmFtZSIsIl9yZWYkdGFyZ2V0TGFnTXMiLCJ0YXJnZXRMYWdNcyIsIl9yZWYkc25hcFRvV29yZEJvdW5kYSIsInNuYXBUb1dvcmRCb3VuZGFyeSIsIl9yZWYkYWRhcHRUb0JhY2tlbmRSYSIsImFkYXB0VG9CYWNrZW5kUmF0ZSIsIl9yZWYkYmFja2VuZFJhdGVGYWN0byIsImJhY2tlbmRSYXRlRmFjdG9yIiwiX3JlZiR0YXJnZXRCdWZmZXJNcyIsInRhcmdldEJ1ZmZlck1zIiwiX3JlZiRidWZmZXJDb3JyZWN0aW9uIiwiYnVmZmVyQ29ycmVjdGlvbk1zIiwiX3JlZiRtaW5CdWZmZXJDaGFycyIsIm1pbkJ1ZmZlckNoYXJzIiwiX3JlZiR3YXJtdXBNcyIsIndhcm11cE1zIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiZGlzcGxheWVkIiwic2V0RGlzcGxheWVkIiwidGFyZ2V0UmVmIiwiZGlzcGxheWVkTGVuUmVmIiwibGVuZ3RoIiwidGlja1RpbWVyUmVmIiwibGFzdFRpY2tSZWYiLCJsYXN0VGFyZ2V0TGVuUmVmIiwibGFzdFRhcmdldFVwZGF0ZVJlZiIsImJhY2tlbmRDaGFyc1Blck1zUmVmIiwiZmlyc3RDaHVua0F0UmVmIiwid2FybXVwRG9uZVJlZiIsIm5vdyIsInBlcmZvcm1hbmNlIiwiRGF0ZSIsInByZXZUYXJnZXRMZW4iLCJjdXJyZW50IiwiZGVsdGFDaGFycyIsInByZXZUYXJnZXRBdCIsImR0IiwiTWF0aCIsIm1heCIsInJhdGUiLCJwcmV2UmF0ZSIsIndpbmRvdyIsImNsZWFyVGltZW91dCIsInVuZGVmaW5lZCIsImdldE5vdyIsInNjaGVkdWxlVGljayIsInRpY2siLCJzZXRUaW1lb3V0IiwidGlja05vdyIsInByZXYiLCJtaW4iLCJ0YXJnZXQiLCJjdXJyZW50TGVuIiwicmVtYWluaW5nIiwiZmlyc3RBdCIsIndhaXRlZE1zIiwid2FybXVwQ29tcGxldGUiLCJjaGFyc1Blck1zIiwiZWZmZWN0aXZlQ2hhcnNQZXJNcyIsImJhY2tlbmRSYXRlIiwicmVuZGVyUmF0ZUNhcCIsImVmZmVjdGl2ZUJ1ZmZlclJhdGUiLCJ0YXJnZXRCdWZmZXJDaGFycyIsImJ1ZmZlckRlbHRhIiwiY29ycmVjdGlvbiIsImNhcCIsInJhd1N0ZXAiLCJjZWlsIiwic3RlcCIsIm5leHRMZW4iLCJzbGljZSIsImxhc3RCb3VuZGFyeSIsImxhc3RJbmRleE9mIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL3VzZVNtb290aFN0cmVhbVRleHQvdXNlU21vb3RoU3RyZWFtVGV4dC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcblxudHlwZSBVc2VTbW9vdGhTdHJlYW1UZXh0T3B0aW9ucyA9IHtcbiAgLyoqIFNpIGVzdMOhIGRlc2hhYmlsaXRhZG8sIGRldnVlbHZlIGVsIHRhcmdldCB0YWwgY3VhbCAoc2luIGFuaW1hY2nDs24pLiAqL1xuICBlbmFibGVkOiBib29sZWFuXG4gIC8qKiBDYW50aWRhZCBtw61uaW1hIGRlIGNoYXJzIGEgbGliZXJhciBwb3IgZnJhbWUgY3VhbmRvIGhheSBidWZmZXIuICovXG4gIG1pbkNoYXJzUGVyRnJhbWU/OiBudW1iZXJcbiAgLyoqIENvdGEgc3VwZXJpb3IgZGUgY2hhcnMgcG9yIGZyYW1lIHBhcmEgZXZpdGFyIHNhbHRvcyBncmFuZGVzLiAqL1xuICBtYXhDaGFyc1BlckZyYW1lPzogbnVtYmVyXG4gIC8qKlxuICAgKiBMYWcgb2JqZXRpdm8gKG1zKSBlbnRyZSBlbCB0ZXh0byByZWNpYmlkbyB5IGVsIG1vc3RyYWRvLiBFbCBob29rIGNhbGN1bGFcbiAgICogZGluw6FtaWNhbWVudGUgZWwgc3RlcCBwb3IgZnJhbWUgcGFyYSB2YWNpYXIgZWwgYnVmZmVyIGVuIH50YXJnZXRMYWdNcy5cbiAgICogVmFsb3JlcyBtw6FzIGJham9zID0gc2UgcG9uZSBhbCBkw61hIG3DoXMgcsOhcGlkbyAobWVub3MgXCJzdWF2ZVwiKS5cbiAgICovXG4gIHRhcmdldExhZ01zPzogbnVtYmVyXG4gIC8qKlxuICAgKiBTaSBlc3TDoSBhY3Rpdm8sIGFsIGF2YW56YXIgc2UgZGV0aWVuZSBlbiBlbCDDumx0aW1vIHNlcGFyYWRvciBkZSBwYWxhYnJhXG4gICAqIChlc3BhY2lvLCBzYWx0byBkZSBsw61uZWEsIHNpZ25vcyBkZSBwdW50dWFjacOzbikgcGFyYSBldml0YXIgcmVuZGVyaXphclxuICAgKiBtYXJrZG93biBcImNvcnRhZG8gYSBsYSBtaXRhZFwiIHkgZGFyIHVuYSBzZW5zYWNpw7NuIG3DoXMgbmF0dXJhbC5cbiAgICovXG4gIHNuYXBUb1dvcmRCb3VuZGFyeT86IGJvb2xlYW5cbiAgLyoqXG4gICAqIFNpIGVzdMOhIGFjdGl2bywgbWlkZSBsYSB0YXNhIHByb21lZGlvIGEgbGEgcXVlIGNyZWNlIGVsIHRhcmdldCAoY2FkZW5jaWFcbiAgICogZGVsIGJhY2tlbmQgZW4gY2hhcnMvbXMpIHkgbGltaXRhIGxhIHZlbG9jaWRhZCBkZSBwaW50YWRvIGEgZXNhIHRhc2FcbiAgICogKG11bHRpcGxpY2FkYSBwb3IgYGJhY2tlbmRSYXRlRmFjdG9yYCkuIEVzdG8gZXZpdGEgZWwgY2FzbyB0w61waWNvIGRlXG4gICAqIFwicGludG8gcsOhcGlkbyBoYXN0YSB2YWNpYXIgZWwgYnVmZmVyIHkgZGVzcHXDqXMgc2UgY29uZ2VsYSBlc3BlcmFuZG9cbiAgICogYWwgcHLDs3hpbW8gY2h1bmsgZGVsIGJhY2tlbmRcIi5cbiAgICovXG4gIGFkYXB0VG9CYWNrZW5kUmF0ZT86IGJvb2xlYW5cbiAgLyoqXG4gICAqIEZhY3RvciBhcGxpY2FkbyBhIGxhIHRhc2EgZGVsIGJhY2tlbmQgY3VhbmRvIGBhZGFwdFRvQmFja2VuZFJhdGVgIGVzdMOhXG4gICAqIGFjdGl2by4gVmFsb3JlcyA8IDEgZGVqYW4gdW4gY29sY2jDs24gY3JlY2llbnRlIChtw6FzIHRvbGVyYW50ZSBhIHBhdXNhcyk7XG4gICAqIHZhbG9yZXMgPiAxIGludGVudGFuIGFsY2FuemFyLiBEZWZhdWx0OiAwLjk1LlxuICAgKi9cbiAgYmFja2VuZFJhdGVGYWN0b3I/OiBudW1iZXJcbiAgLyoqXG4gICAqIENvbGNow7NuIG9iamV0aXZvIGRlIGJ1ZmZlciBleHByZXNhZG8gZW4gbXMgKGN1w6FudG8gdGllbXBvIGRlIHRleHRvIHF1ZXJlbW9zXG4gICAqIHRlbmVyIHNpZW1wcmUgYWRlbGFudGFkbyBhbCBwaW50YWRvKS4gU2kgZXN0w6EgZGVmaW5pZG8ganVudG8gY29uXG4gICAqIGBhZGFwdFRvQmFja2VuZFJhdGVgLCBzZSB1c2EgdW4gY29udHJvbCBwcm9wb3JjaW9uYWw6IGN1YW5kbyBlbCBidWZmZXJcbiAgICogYmFqYSBkZWwgb2JqZXRpdm8sIGxhIHZlbG9jaWRhZCBjYWUgcG9yIGRlYmFqbyBkZSBsYSBkZWwgYmFja2VuZCBwYXJhXG4gICAqIHJlbGxlbmFybG87IGN1YW5kbyBsbyBzdXBlcmEsIHNlIGFjZWxlcmEgcGFyYSBkZXNjYXJnYXJsby4gQXPDrSBsYVxuICAgKiBhbmltYWNpw7NuIGFic29yYmUgcGF1c2FzIGRlbCBiYWNrZW5kIHNpbiBxdWVkYXJzZSBpZGxlLlxuICAgKlxuICAgKiBWYWxvciByZWNvbWVuZGFkbzogMzAw4oCTNjAwbXMgc2Vnw7puIGxhIGVzdGFiaWxpZGFkIGRlbCBiYWNrZW5kLlxuICAgKi9cbiAgdGFyZ2V0QnVmZmVyTXM/OiBudW1iZXJcbiAgLyoqXG4gICAqIENvbnN0YW50ZSBkZSB0aWVtcG8gKG1zKSBkZWwgY29udHJvbGFkb3IgZGVsIGJ1ZmZlci4gQ3VhbnRvIG3DoXMgYmFqbyxcbiAgICogbcOhcyBhZ3Jlc2l2YW1lbnRlIGNvcnJpZ2UgZGVzdsOtb3MuIERlZmF1bHQ6IDUwMC5cbiAgICovXG4gIGJ1ZmZlckNvcnJlY3Rpb25Ncz86IG51bWJlclxuICAvKipcbiAgICogUGlzbyBhYnNvbHV0byBkZWwgY29sY2jDs24gZW4gY2hhcnM6IGVsIGB0YXJnZXRCdWZmZXJDaGFyc2AgY2FsY3VsYWRvIGFcbiAgICogcGFydGlyIGRlIGB0YXJnZXRCdWZmZXJNcyDDlyBiYWNrZW5kUmF0ZWAgbnVuY2EgYmFqYSBkZSBlc3RlIHZhbG9yLiDDmnRpbFxuICAgKiBhbCBjb21pZW56byBkZWwgc3RyZWFtIGN1YW5kbyBsYSB0YXNhIGVzdGltYWRhIGRlbCBiYWNrZW5kIGVzIGJhamEuXG4gICAqIERlZmF1bHQ6IDcwLlxuICAgKi9cbiAgbWluQnVmZmVyQ2hhcnM/OiBudW1iZXJcbiAgLyoqXG4gICAqIFdhcm11cDogbXMgcXVlIGVsIGhvb2sgZXNwZXJhIFwiYWN1bXVsYW5kb1wiIGFudGVzIGRlIGVtcGV6YXIgYSBwaW50YXIsXG4gICAqIGluY2x1c28gc2kgeWEgaGF5IGNoYXJzIGVuIGVsIGJ1ZmZlci4gRXZpdGEgZWwgdMOtcGljbyBcImFycmFucXVlIHLDoXBpZG8sXG4gICAqIGNvbmdlbGFtaWVudG9cIiBjdWFuZG8gZWwgcHJpbWVyIGNodW5rIGxsZWdhIGFudGVzIHF1ZSBlbCBzZWd1bmRvIHNlXG4gICAqIHRhcmRhIG11Y2hvLiBTaSBzZSBkZWZpbmUgY29tbyAwLCBubyBoYXkgd2FybXVwLiBEZWZhdWx0OiA0MDAuXG4gICAqL1xuICB3YXJtdXBNcz86IG51bWJlclxufVxuXG4vKipcbiAqIEhvb2sgcXVlIGRlc2Fjb3BsYSBsYSBjYWRlbmNpYSBkZSBsbGVnYWRhIGRlbCB0ZXh0byAoc3RyZWFtIFNTRSkgZGUgbGFcbiAqIGNhZGVuY2lhIGRlIHJlbmRlcml6YWRvLiBVc2EgdW4gdGltZXIgY29ydG8gcGFyYSBsaWJlcmFyIGNoYXJzIGEgcml0bW9cbiAqIGNvbnN0YW50ZSBoYWNpYSBlbCBET00sIGVsaW1pbmFuZG8gbG9zIFwiZnJlbm9zXCIgcXVlIHNlIHByb2R1Y2VuIGN1YW5kbyBlbFxuICogYmFja2VuZCBlbWl0ZSByw6FmYWdhcyBkZSB0b2tlbnMuXG4gKlxuICogQ3VhbmRvIGBlbmFibGVkYCBwYXNhIGEgZmFsc2UgKGZpbiBkZSBzdHJlYW0pLCBlbCB0ZXh0byBzZSBjb21wbGV0YSBhbFxuICogaW5zdGFudGUuIER1cmFudGUgZWwgc3RyZWFtaW5nLCBlbCBidWZmZXIgc2UgdmFjw61hIGRpbsOhbWljYW1lbnRlIGFwdW50YW5kb1xuICogYWwgbGFnIGNvbmZpZ3VyYWRvLlxuICovXG5leHBvcnQgY29uc3QgdXNlU21vb3RoU3RyZWFtVGV4dCA9IChcbiAgdGFyZ2V0VGV4dDogc3RyaW5nLFxuICB7XG4gICAgZW5hYmxlZCxcbiAgICBtaW5DaGFyc1BlckZyYW1lID0gMSxcbiAgICBtYXhDaGFyc1BlckZyYW1lID0gMjQsXG4gICAgdGFyZ2V0TGFnTXMgPSA0NTAsXG4gICAgc25hcFRvV29yZEJvdW5kYXJ5ID0gZmFsc2UsXG4gICAgYWRhcHRUb0JhY2tlbmRSYXRlID0gdHJ1ZSxcbiAgICBiYWNrZW5kUmF0ZUZhY3RvciA9IDAuOTUsXG4gICAgdGFyZ2V0QnVmZmVyTXMgPSA2MDAsXG4gICAgYnVmZmVyQ29ycmVjdGlvbk1zID0gNTAwLFxuICAgIG1pbkJ1ZmZlckNoYXJzID0gNzAsXG4gICAgd2FybXVwTXMgPSA0MDAsXG4gIH06IFVzZVNtb290aFN0cmVhbVRleHRPcHRpb25zXG4pOiBzdHJpbmcgPT4ge1xuICBjb25zdCBbZGlzcGxheWVkLCBzZXREaXNwbGF5ZWRdID0gdXNlU3RhdGU8c3RyaW5nPigoKSA9PiAoZW5hYmxlZCA/ICcnIDogdGFyZ2V0VGV4dCkpXG5cbiAgY29uc3QgdGFyZ2V0UmVmID0gdXNlUmVmKHRhcmdldFRleHQpXG4gIGNvbnN0IGRpc3BsYXllZExlblJlZiA9IHVzZVJlZihkaXNwbGF5ZWQubGVuZ3RoKVxuICBjb25zdCB0aWNrVGltZXJSZWYgPSB1c2VSZWY8bnVtYmVyIHwgbnVsbD4obnVsbClcbiAgY29uc3QgbGFzdFRpY2tSZWYgPSB1c2VSZWY8bnVtYmVyPigwKVxuXG4gIC8vIE1lZGljacOzbiBkZSBsYSBjYWRlbmNpYSBkZWwgYmFja2VuZDogc2UgYWN0dWFsaXphIGN1YW5kbyBjYW1iaWEgdGFyZ2V0VGV4dC5cbiAgY29uc3QgbGFzdFRhcmdldExlblJlZiA9IHVzZVJlZjxudW1iZXI+KDApXG4gIGNvbnN0IGxhc3RUYXJnZXRVcGRhdGVSZWYgPSB1c2VSZWY8bnVtYmVyPigwKVxuICAvLyBFc3RpbWFjacOzbiBFTUEgZGUgY2hhcnMvbXMgcHJvZHVjaWRvcyBwb3IgZWwgYmFja2VuZC5cbiAgY29uc3QgYmFja2VuZENoYXJzUGVyTXNSZWYgPSB1c2VSZWY8bnVtYmVyPigwKVxuICAvLyBUaW1lc3RhbXAgZGVsIHByaW1lciBjaHVuayByZWNpYmlkbyAocGFyYSB3YXJtdXApLlxuICBjb25zdCBmaXJzdENodW5rQXRSZWYgPSB1c2VSZWY8bnVtYmVyPigwKVxuICAvLyBTaSBlbCB3YXJtdXAgeWEgdGVybWluw7MgKHVuYSB2ZXogdHJ1ZSwgbm8gdnVlbHZlIGEgYWN0aXZhcnNlIGVuIGVzdGUgc3RyZWFtKS5cbiAgY29uc3Qgd2FybXVwRG9uZVJlZiA9IHVzZVJlZjxib29sZWFuPihmYWxzZSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IG5vdyA9IHR5cGVvZiBwZXJmb3JtYW5jZSAhPT0gJ3VuZGVmaW5lZCcgPyBwZXJmb3JtYW5jZS5ub3coKSA6IERhdGUubm93KClcbiAgICBjb25zdCBwcmV2VGFyZ2V0TGVuID0gbGFzdFRhcmdldExlblJlZi5jdXJyZW50XG4gICAgY29uc3QgZGVsdGFDaGFycyA9IHRhcmdldFRleHQubGVuZ3RoIC0gcHJldlRhcmdldExlblxuICAgIGNvbnN0IHByZXZUYXJnZXRBdCA9IGxhc3RUYXJnZXRVcGRhdGVSZWYuY3VycmVudFxuXG4gICAgaWYgKGVuYWJsZWQgJiYgZGVsdGFDaGFycyA+IDApIHtcbiAgICAgIGlmIChmaXJzdENodW5rQXRSZWYuY3VycmVudCA9PT0gMCkgZmlyc3RDaHVua0F0UmVmLmN1cnJlbnQgPSBub3dcbiAgICB9XG5cbiAgICBpZiAoZW5hYmxlZCAmJiBkZWx0YUNoYXJzID4gMCAmJiBwcmV2VGFyZ2V0QXQgPiAwKSB7XG4gICAgICBjb25zdCBkdCA9IE1hdGgubWF4KDEsIG5vdyAtIHByZXZUYXJnZXRBdClcbiAgICAgIGNvbnN0IHJhdGUgPSBkZWx0YUNoYXJzIC8gZHRcbiAgICAgIGNvbnN0IHByZXZSYXRlID0gYmFja2VuZENoYXJzUGVyTXNSZWYuY3VycmVudFxuICAgICAgLy8gRU1BIHN1YXZlIChhbHBoYSA9IDAuMikgcGFyYSBhYnNvcmJlciBqaXR0ZXIgeSBzZWd1aXIgbGEgdGVuZGVuY2lhLlxuICAgICAgYmFja2VuZENoYXJzUGVyTXNSZWYuY3VycmVudCA9IHByZXZSYXRlID09PSAwID8gcmF0ZSA6IHByZXZSYXRlICogMC44ICsgcmF0ZSAqIDAuMlxuICAgIH1cbiAgICBpZiAoZW5hYmxlZCAmJiB0YXJnZXRUZXh0Lmxlbmd0aCAhPT0gcHJldlRhcmdldExlbikge1xuICAgICAgbGFzdFRhcmdldExlblJlZi5jdXJyZW50ID0gdGFyZ2V0VGV4dC5sZW5ndGhcbiAgICAgIGxhc3RUYXJnZXRVcGRhdGVSZWYuY3VycmVudCA9IG5vd1xuICAgIH1cblxuICAgIHRhcmdldFJlZi5jdXJyZW50ID0gdGFyZ2V0VGV4dFxuXG4gICAgaWYgKCFlbmFibGVkKSB7XG4gICAgICBpZiAodGlja1RpbWVyUmVmLmN1cnJlbnQgIT0gbnVsbCkge1xuICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRpY2tUaW1lclJlZi5jdXJyZW50KVxuICAgICAgICB0aWNrVGltZXJSZWYuY3VycmVudCA9IG51bGxcbiAgICAgIH1cbiAgICAgIGxhc3RUaWNrUmVmLmN1cnJlbnQgPSAwXG4gICAgICBpZiAoZGlzcGxheWVkTGVuUmVmLmN1cnJlbnQgIT09IHRhcmdldFRleHQubGVuZ3RoKSB7XG4gICAgICAgIGRpc3BsYXllZExlblJlZi5jdXJyZW50ID0gdGFyZ2V0VGV4dC5sZW5ndGhcbiAgICAgICAgc2V0RGlzcGxheWVkKHRhcmdldFRleHQpXG4gICAgICB9XG4gICAgICAvLyBSZXNldCBkZSBjYWRlbmNpYSBjdWFuZG8gc2UgYXBhZ2EgcGFyYSBubyBjb250YW1pbmFyIGVsIHByw7N4aW1vIHN0cmVhbS5cbiAgICAgIGxhc3RUYXJnZXRMZW5SZWYuY3VycmVudCA9IDBcbiAgICAgIGxhc3RUYXJnZXRVcGRhdGVSZWYuY3VycmVudCA9IDBcbiAgICAgIGJhY2tlbmRDaGFyc1Blck1zUmVmLmN1cnJlbnQgPSAwXG4gICAgICBmaXJzdENodW5rQXRSZWYuY3VycmVudCA9IDBcbiAgICAgIHdhcm11cERvbmVSZWYuY3VycmVudCA9IGZhbHNlXG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgaWYgKGRpc3BsYXllZExlblJlZi5jdXJyZW50ID4gdGFyZ2V0VGV4dC5sZW5ndGgpIHtcbiAgICAgIGRpc3BsYXllZExlblJlZi5jdXJyZW50ID0gMFxuICAgICAgc2V0RGlzcGxheWVkKCcnKVxuICAgIH1cblxuICAgIGlmICh0aWNrVGltZXJSZWYuY3VycmVudCAhPSBudWxsKSByZXR1cm4gdW5kZWZpbmVkXG5cbiAgICBjb25zdCBnZXROb3cgPSAoKSA9PiAodHlwZW9mIHBlcmZvcm1hbmNlICE9PSAndW5kZWZpbmVkJyA/IHBlcmZvcm1hbmNlLm5vdygpIDogRGF0ZS5ub3coKSlcbiAgICBjb25zdCBzY2hlZHVsZVRpY2sgPSAodGljazogKHRpY2tOb3c6IG51bWJlcikgPT4gdm9pZCkgPT4ge1xuICAgICAgdGlja1RpbWVyUmVmLmN1cnJlbnQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRpY2soZ2V0Tm93KCkpXG4gICAgICB9LCAxNilcbiAgICB9XG5cbiAgICBjb25zdCB0aWNrID0gKHRpY2tOb3c6IG51bWJlcikgPT4ge1xuICAgICAgY29uc3QgcHJldiA9IGxhc3RUaWNrUmVmLmN1cnJlbnRcbiAgICAgIGNvbnN0IGR0ID0gcHJldiA/IE1hdGgubWluKHRpY2tOb3cgLSBwcmV2LCA2NCkgOiAxNlxuICAgICAgbGFzdFRpY2tSZWYuY3VycmVudCA9IHRpY2tOb3dcblxuICAgICAgY29uc3QgdGFyZ2V0ID0gdGFyZ2V0UmVmLmN1cnJlbnRcbiAgICAgIGNvbnN0IGN1cnJlbnRMZW4gPSBkaXNwbGF5ZWRMZW5SZWYuY3VycmVudFxuICAgICAgY29uc3QgcmVtYWluaW5nID0gdGFyZ2V0Lmxlbmd0aCAtIGN1cnJlbnRMZW5cblxuICAgICAgaWYgKHJlbWFpbmluZyA8PSAwKSB7XG4gICAgICAgIHNjaGVkdWxlVGljayh0aWNrKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgLy8gV2FybXVwOiBhbCBjb21pZW56byBkZWwgc3RyZWFtIGVzcGVyYW1vcyBgd2FybXVwTXNgIGRlc2RlIGVsIHByaW1lclxuICAgICAgLy8gY2h1bmsgYW50ZXMgZGUgZW1wZXphciBhIHBpbnRhci4gRXN0byBjb25zdHJ1eWUgdW4gY29sY2jDs24gaW5pY2lhbCB5XG4gICAgICAvLyBldml0YSBhcnJhbmNhciByw6FwaWRvIHBhcmEgY29uZ2VsYXJub3MgYWN0byBzZWd1aWRvIHNpIGVsIGJhY2tlbmRcbiAgICAgIC8vIHRhcmRhIG11Y2hvIGVuIGVtaXRpciBlbCBzZWd1bmRvIGNodW5rLlxuICAgICAgaWYgKCF3YXJtdXBEb25lUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgY29uc3QgZmlyc3RBdCA9IGZpcnN0Q2h1bmtBdFJlZi5jdXJyZW50XG4gICAgICAgIGNvbnN0IHdhaXRlZE1zID0gZmlyc3RBdCA+IDAgPyB0aWNrTm93IC0gZmlyc3RBdCA6IDBcbiAgICAgICAgY29uc3Qgd2FybXVwQ29tcGxldGUgPSB3YXJtdXBNcyA8PSAwIHx8IHdhaXRlZE1zID49IHdhcm11cE1zIHx8IHRhcmdldC5sZW5ndGggPj0gbWluQnVmZmVyQ2hhcnMgKiAyXG4gICAgICAgIGlmICghd2FybXVwQ29tcGxldGUpIHtcbiAgICAgICAgICBzY2hlZHVsZVRpY2sodGljaylcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgICB3YXJtdXBEb25lUmVmLmN1cnJlbnQgPSB0cnVlXG4gICAgICB9XG5cbiAgICAgIC8vIFZlbG9jaWRhZCBiYXNlOiB2YWNpYXIgZWwgYnVmZmVyIGVuIH50YXJnZXRMYWdNcy5cbiAgICAgIGNvbnN0IGNoYXJzUGVyTXMgPSByZW1haW5pbmcgLyB0YXJnZXRMYWdNc1xuICAgICAgbGV0IGVmZmVjdGl2ZUNoYXJzUGVyTXMgPSBjaGFyc1Blck1zXG5cbiAgICAgIGNvbnN0IGJhY2tlbmRSYXRlID0gYmFja2VuZENoYXJzUGVyTXNSZWYuY3VycmVudFxuXG4gICAgICBpZiAoYWRhcHRUb0JhY2tlbmRSYXRlICYmIGJhY2tlbmRSYXRlID4gMCkge1xuICAgICAgICBpZiAodHlwZW9mIHRhcmdldEJ1ZmZlck1zID09PSAnbnVtYmVyJykge1xuICAgICAgICAgIC8vIENvbnRyb2wgcHJvcG9yY2lvbmFsOiBtYW50ZW5lciBlbCBidWZmZXIgZW4gdG9ybm8gYWwgY29sY2jDs25cbiAgICAgICAgICAvLyBvYmpldGl2by4gU2kgYnVmZmVyTXMgPCB0YXJnZXQg4oaSIGZyZW5hbW9zIHBvciBkZWJham8gZGVsIGJhY2tlbmRcbiAgICAgICAgICAvLyBwYXJhIGFjdW11bGFyOyBzaSBidWZmZXJNcyA+IHRhcmdldCDihpIgYWNlbGVyYW1vcyBwYXJhIGRlc2Nhcmdhci5cbiAgICAgICAgICAvLyBFbiBlcXVpbGlicmlvLCBwaW50YW1vcyBhbCByaXRtbyBwcm9tZWRpbyBkZWwgYmFja2VuZC5cbiAgICAgICAgICAvL1xuICAgICAgICAgIC8vIEVsIGNvbGNow7NuIG9iamV0aXZvIHNlIGNhbGN1bGEgc29icmUgbGEgdGFzYSAqKmVmZWN0aXZhKiogcXVlXG4gICAgICAgICAgLy8gcG9kZW1vcyBwaW50YXIgKGNhcGVhZGEgcG9yIGBtYXhDaGFyc1BlckZyYW1lYCBhIDYwZnBzKSwgbm8gc29icmVcbiAgICAgICAgICAvLyBsYSBkZWwgYmFja2VuZCBwdXJhLiBFc3RvIGV2aXRhIGVsIGNhc28gcGF0b2zDs2dpY28gZGUgcsOhZmFnYXM6XG4gICAgICAgICAgLy8gc2kgZWwgYmFja2VuZCB0aXJhIGEgNjUwMCBjaC9zLCBlbCB0YXJnZXQgTk8gc2UgdnVlbHZlIDM5MDAgY2hhcnNcbiAgICAgICAgICAvLyAocXVlIGVsIHJlbmRlciBqYW3DoXMgcG9kcsOtYSBzb3N0ZW5lciksIHNpbm8gYWxnbyByYXpvbmFibGUgcXVlXG4gICAgICAgICAgLy8gbGEgYW5pbWFjacOzbiBwdWVkYSBtYW50ZW5lci5cbiAgICAgICAgICAvL1xuICAgICAgICAgIC8vIFBpc28gYWJzb2x1dG86IGVsIGNvbGNow7NuIG51bmNhIGJhamEgZGUgYG1pbkJ1ZmZlckNoYXJzYCBhdW5xdWVcbiAgICAgICAgICAvLyBlbCBiYWNrZW5kIGVzdMOpIG1hbmRhbmRvIGxlbnRvIGFsIGluaWNpbyBkZWwgc3RyZWFtLlxuICAgICAgICAgIGNvbnN0IHJlbmRlclJhdGVDYXAgPSAobWF4Q2hhcnNQZXJGcmFtZSAqIDYwKSAvIDEwMDBcbiAgICAgICAgICBjb25zdCBlZmZlY3RpdmVCdWZmZXJSYXRlID0gTWF0aC5taW4oYmFja2VuZFJhdGUsIHJlbmRlclJhdGVDYXApXG4gICAgICAgICAgY29uc3QgdGFyZ2V0QnVmZmVyQ2hhcnMgPSBNYXRoLm1heChtaW5CdWZmZXJDaGFycywgdGFyZ2V0QnVmZmVyTXMgKiBlZmZlY3RpdmVCdWZmZXJSYXRlKVxuICAgICAgICAgIGNvbnN0IGJ1ZmZlckRlbHRhID0gcmVtYWluaW5nIC0gdGFyZ2V0QnVmZmVyQ2hhcnNcbiAgICAgICAgICAvLyBDb3JyZWNjacOzbiB0aWVuZSB1bmlkYWRlcyBkZSBjaGFycy9tcy4gYnVmZmVyQ29ycmVjdGlvbk1zIGNvbnRyb2xhXG4gICAgICAgICAgLy8gcXXDqSB0YW4gcsOhcGlkbyBlbCBidWZmZXIgcmVhbCBjb252ZXJnZSBhbCBvYmpldGl2by5cbiAgICAgICAgICBjb25zdCBjb3JyZWN0aW9uID0gYnVmZmVyRGVsdGEgLyBNYXRoLm1heCgxLCBidWZmZXJDb3JyZWN0aW9uTXMpXG4gICAgICAgICAgZWZmZWN0aXZlQ2hhcnNQZXJNcyA9IE1hdGgubWF4KDAsIGJhY2tlbmRSYXRlICsgY29ycmVjdGlvbilcbiAgICAgICAgICAvLyBBY290YXIgcG9yIGxhIHZlbG9jaWRhZCBkZSBcInZhY2lhciBlbiB0YXJnZXRMYWdNc1wiIHBhcmEgcXVlIHNpXG4gICAgICAgICAgLy8gZGUgcHJvbnRvIGhheSB1biBwaWNvIGdpZ2FudGUgZGUgYnVmZmVyIG5vIHNhbGdhbW9zIGRpc3BhcmFkb3MuXG4gICAgICAgICAgZWZmZWN0aXZlQ2hhcnNQZXJNcyA9IE1hdGgubWluKGVmZmVjdGl2ZUNoYXJzUGVyTXMsIGNoYXJzUGVyTXMpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gTW9kbyBzaW1wbGU6IGNhcCBhIGxhIHRhc2EgZGVsIGJhY2tlbmQgKiBmYWN0b3IuXG4gICAgICAgICAgY29uc3QgY2FwID0gYmFja2VuZFJhdGUgKiBiYWNrZW5kUmF0ZUZhY3RvclxuICAgICAgICAgIGVmZmVjdGl2ZUNoYXJzUGVyTXMgPSBNYXRoLm1pbihlZmZlY3RpdmVDaGFyc1Blck1zLCBjYXApXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgcmF3U3RlcCA9IE1hdGguY2VpbChlZmZlY3RpdmVDaGFyc1Blck1zICogZHQpXG4gICAgICBjb25zdCBzdGVwID0gTWF0aC5tYXgobWluQ2hhcnNQZXJGcmFtZSwgTWF0aC5taW4obWF4Q2hhcnNQZXJGcmFtZSwgcmF3U3RlcCkpXG5cbiAgICAgIGxldCBuZXh0TGVuID0gTWF0aC5taW4odGFyZ2V0Lmxlbmd0aCwgY3VycmVudExlbiArIHN0ZXApXG5cbiAgICAgIGlmIChzbmFwVG9Xb3JkQm91bmRhcnkgJiYgbmV4dExlbiA8IHRhcmdldC5sZW5ndGgpIHtcbiAgICAgICAgY29uc3Qgc2xpY2UgPSB0YXJnZXQuc2xpY2UoY3VycmVudExlbiwgbmV4dExlbilcbiAgICAgICAgY29uc3QgbGFzdEJvdW5kYXJ5ID0gTWF0aC5tYXgoc2xpY2UubGFzdEluZGV4T2YoJyAnKSwgc2xpY2UubGFzdEluZGV4T2YoJ1xcbicpLCBzbGljZS5sYXN0SW5kZXhPZignXFx0JykpXG4gICAgICAgIGlmIChsYXN0Qm91bmRhcnkgPj0gMCkge1xuICAgICAgICAgIG5leHRMZW4gPSBjdXJyZW50TGVuICsgbGFzdEJvdW5kYXJ5ICsgMVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChuZXh0TGVuICE9PSBjdXJyZW50TGVuKSB7XG4gICAgICAgIGRpc3BsYXllZExlblJlZi5jdXJyZW50ID0gbmV4dExlblxuICAgICAgICBzZXREaXNwbGF5ZWQodGFyZ2V0LnNsaWNlKDAsIG5leHRMZW4pKVxuICAgICAgfVxuXG4gICAgICBzY2hlZHVsZVRpY2sodGljaylcbiAgICB9XG5cbiAgICBzY2hlZHVsZVRpY2sodGljaylcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAodGlja1RpbWVyUmVmLmN1cnJlbnQgIT0gbnVsbCkge1xuICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRpY2tUaW1lclJlZi5jdXJyZW50KVxuICAgICAgICB0aWNrVGltZXJSZWYuY3VycmVudCA9IG51bGxcbiAgICAgIH1cbiAgICAgIGxhc3RUaWNrUmVmLmN1cnJlbnQgPSAwXG4gICAgfVxuICB9LCBbXG4gICAgdGFyZ2V0VGV4dCxcbiAgICBlbmFibGVkLFxuICAgIG1pbkNoYXJzUGVyRnJhbWUsXG4gICAgbWF4Q2hhcnNQZXJGcmFtZSxcbiAgICB0YXJnZXRMYWdNcyxcbiAgICBzbmFwVG9Xb3JkQm91bmRhcnksXG4gICAgYWRhcHRUb0JhY2tlbmRSYXRlLFxuICAgIGJhY2tlbmRSYXRlRmFjdG9yLFxuICAgIHRhcmdldEJ1ZmZlck1zLFxuICAgIGJ1ZmZlckNvcnJlY3Rpb25NcyxcbiAgICBtaW5CdWZmZXJDaGFycyxcbiAgICB3YXJtdXBNcyxcbiAgXSlcblxuICByZXR1cm4gZGlzcGxheWVkXG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxTQUFTQSxTQUFTLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxRQUFRLE9BQU87QUFtRW5EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxJQUFNQyxtQkFBbUIsR0FBRyxTQUF0QkEsbUJBQW1CQSxDQUM5QkMsVUFBa0IsRUFBQUMsSUFBQSxFQWNQO0VBQUEsSUFaVEMsT0FBTyxHQUFBRCxJQUFBLENBQVBDLE9BQU87SUFBQUMscUJBQUEsR0FBQUYsSUFBQSxDQUNQRyxnQkFBZ0I7SUFBaEJBLGdCQUFnQixHQUFBRCxxQkFBQSxjQUFHLENBQUMsR0FBQUEscUJBQUE7SUFBQUUscUJBQUEsR0FBQUosSUFBQSxDQUNwQkssZ0JBQWdCO0lBQWhCQSxnQkFBZ0IsR0FBQUQscUJBQUEsY0FBRyxFQUFFLEdBQUFBLHFCQUFBO0lBQUFFLGdCQUFBLEdBQUFOLElBQUEsQ0FDckJPLFdBQVc7SUFBWEEsV0FBVyxHQUFBRCxnQkFBQSxjQUFHLEdBQUcsR0FBQUEsZ0JBQUE7SUFBQUUscUJBQUEsR0FBQVIsSUFBQSxDQUNqQlMsa0JBQWtCO0lBQWxCQSxrQkFBa0IsR0FBQUQscUJBQUEsY0FBRyxLQUFLLEdBQUFBLHFCQUFBO0lBQUFFLHFCQUFBLEdBQUFWLElBQUEsQ0FDMUJXLGtCQUFrQjtJQUFsQkEsa0JBQWtCLEdBQUFELHFCQUFBLGNBQUcsSUFBSSxHQUFBQSxxQkFBQTtJQUFBRSxxQkFBQSxHQUFBWixJQUFBLENBQ3pCYSxpQkFBaUI7SUFBakJBLGlCQUFpQixHQUFBRCxxQkFBQSxjQUFHLElBQUksR0FBQUEscUJBQUE7SUFBQUUsbUJBQUEsR0FBQWQsSUFBQSxDQUN4QmUsY0FBYztJQUFkQSxjQUFjLEdBQUFELG1CQUFBLGNBQUcsR0FBRyxHQUFBQSxtQkFBQTtJQUFBRSxxQkFBQSxHQUFBaEIsSUFB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
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export var useSnackBarManager = function useSnackBarManager() {
|
|
2
|
+
var handleDispatchSnackbarEvent = function handleDispatchSnackbarEvent(snackbarEvent) {
|
|
3
|
+
document.dispatchEvent(snackbarEvent);
|
|
4
|
+
};
|
|
5
|
+
var handleSnackbarSuccess = function handleSnackbarSuccess(source) {
|
|
6
|
+
var snackbarEvent = new CustomEvent('snackbar-event', {
|
|
7
|
+
detail: {
|
|
8
|
+
show: true,
|
|
9
|
+
severity: 'success',
|
|
10
|
+
message: source
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
handleDispatchSnackbarEvent(snackbarEvent);
|
|
14
|
+
};
|
|
15
|
+
var handleSnackbarError = function handleSnackbarError(source) {
|
|
16
|
+
var snackbarEvent = new CustomEvent('snackbar-event', {
|
|
17
|
+
detail: {
|
|
18
|
+
show: true,
|
|
19
|
+
severity: 'error',
|
|
20
|
+
message: source
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
handleDispatchSnackbarEvent(snackbarEvent);
|
|
24
|
+
};
|
|
25
|
+
var handleSnackbarInfo = function handleSnackbarInfo(source) {
|
|
26
|
+
var snackbarEvent = new CustomEvent('snackbar-event', {
|
|
27
|
+
detail: {
|
|
28
|
+
show: true,
|
|
29
|
+
severity: 'info',
|
|
30
|
+
message: source
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
handleDispatchSnackbarEvent(snackbarEvent);
|
|
34
|
+
};
|
|
35
|
+
return {
|
|
36
|
+
handleSnackbarSuccess: handleSnackbarSuccess,
|
|
37
|
+
handleSnackbarError: handleSnackbarError,
|
|
38
|
+
handleSnackbarInfo: handleSnackbarInfo
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTbmFja0Jhck1hbmFnZXIiLCJoYW5kbGVEaXNwYXRjaFNuYWNrYmFyRXZlbnQiLCJzbmFja2JhckV2ZW50IiwiZG9jdW1lbnQiLCJkaXNwYXRjaEV2ZW50IiwiaGFuZGxlU25hY2tiYXJTdWNjZXNzIiwic291cmNlIiwiQ3VzdG9tRXZlbnQiLCJkZXRhaWwiLCJzaG93Iiwic2V2ZXJpdHkiLCJtZXNzYWdlIiwiaGFuZGxlU25hY2tiYXJFcnJvciIsImhhbmRsZVNuYWNrYmFySW5mbyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy91c2VTbmFja0Jhck1hbmFnZXIvdXNlU25hY2tCYXJNYW5hZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCB1c2VTbmFja0Jhck1hbmFnZXIgPSAoKSA9PiB7XG4gIGNvbnN0IGhhbmRsZURpc3BhdGNoU25hY2tiYXJFdmVudCA9IChzbmFja2JhckV2ZW50OiBDdXN0b21FdmVudCkgPT4ge1xuICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoc25hY2tiYXJFdmVudClcbiAgfVxuICBjb25zdCBoYW5kbGVTbmFja2JhclN1Y2Nlc3MgPSAoc291cmNlOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBzbmFja2JhckV2ZW50ID0gbmV3IEN1c3RvbUV2ZW50KCdzbmFja2Jhci1ldmVudCcsIHtcbiAgICAgIGRldGFpbDoge1xuICAgICAgICBzaG93OiB0cnVlLFxuICAgICAgICBzZXZlcml0eTogJ3N1Y2Nlc3MnLFxuICAgICAgICBtZXNzYWdlOiBzb3VyY2UsXG4gICAgICB9LFxuICAgIH0pXG4gICAgaGFuZGxlRGlzcGF0Y2hTbmFja2JhckV2ZW50KHNuYWNrYmFyRXZlbnQpXG4gIH1cblxuICBjb25zdCBoYW5kbGVTbmFja2JhckVycm9yID0gKHNvdXJjZTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3Qgc25hY2tiYXJFdmVudCA9IG5ldyBDdXN0b21FdmVudCgnc25hY2tiYXItZXZlbnQnLCB7XG4gICAgICBkZXRhaWw6IHtcbiAgICAgICAgc2hvdzogdHJ1ZSxcbiAgICAgICAgc2V2ZXJpdHk6ICdlcnJvcicsXG4gICAgICAgIG1lc3NhZ2U6IHNvdXJjZSxcbiAgICAgIH0sXG4gICAgfSlcbiAgICBoYW5kbGVEaXNwYXRjaFNuYWNrYmFyRXZlbnQoc25hY2tiYXJFdmVudClcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVNuYWNrYmFySW5mbyA9IChzb3VyY2U6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IHNuYWNrYmFyRXZlbnQgPSBuZXcgQ3VzdG9tRXZlbnQoJ3NuYWNrYmFyLWV2ZW50Jywge1xuICAgICAgZGV0YWlsOiB7XG4gICAgICAgIHNob3c6IHRydWUsXG4gICAgICAgIHNldmVyaXR5OiAnaW5mbycsXG4gICAgICAgIG1lc3NhZ2U6IHNvdXJjZSxcbiAgICAgIH0sXG4gICAgfSlcbiAgICBoYW5kbGVEaXNwYXRjaFNuYWNrYmFyRXZlbnQoc25hY2tiYXJFdmVudClcbiAgfVxuXG4gIHJldHVybiB7IGhhbmRsZVNuYWNrYmFyU3VjY2VzcywgaGFuZGxlU25hY2tiYXJFcnJvciwgaGFuZGxlU25hY2tiYXJJbmZvIH1cbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFNQSxrQkFBa0IsR0FBRyxTQUFyQkEsa0JBQWtCQSxDQUFBLEVBQVM7RUFDdEMsSUFBTUMsMkJBQTJCLEdBQUcsU0FBOUJBLDJCQUEyQkEsQ0FBSUMsYUFBMEIsRUFBSztJQUNsRUMsUUFBUSxDQUFDQyxhQUFhLENBQUNGLGFBQWEsQ0FBQztFQUN2QyxDQUFDO0VBQ0QsSUFBTUcscUJBQXFCLEdBQUcsU0FBeEJBLHFCQUFxQkEsQ0FBSUMsTUFBYyxFQUFLO0lBQ2hELElBQU1KLGFBQWEsR0FBRyxJQUFJSyxXQUFXLENBQUMsZ0JBQWdCLEVBQUU7TUFDdERDLE1BQU0sRUFBRTtRQUNOQyxJQUFJLEVBQUUsSUFBSTtRQUNWQyxRQUFRLEVBQUUsU0FBUztRQUNuQkMsT0FBTyxFQUFFTDtNQUNYO0lBQ0YsQ0FBQyxDQUFDO0lBQ0ZMLDJCQUEyQixDQUFDQyxhQUFhLENBQUM7RUFDNUMsQ0FBQztFQUVELElBQU1VLG1CQUFtQixHQUFHLFNBQXRCQSxtQkFBbUJBLENBQUlOLE1BQWMsRUFBSztJQUM5QyxJQUFNSixhQUFhLEdBQUcsSUFBSUssV0FBVyxDQUFDLGdCQUFnQixFQUFFO01BQ3REQyxNQUFNLEVBQUU7UUFDTkMsSUFBSSxFQUFFLElBQUk7UUFDVkMsUUFBUSxFQUFFLE9BQU87UUFDakJDLE9BQU8sRUFBRUw7TUFDWDtJQUNGLENBQUMsQ0FBQztJQUNGTCwyQkFBMkIsQ0FBQ0MsYUFBYSxDQUFDO0VBQzVDLENBQUM7RUFFRCxJQUFNVyxrQkFBa0IsR0FBRyxTQUFyQkEsa0JBQWtCQSxDQUFJUCxNQUFjLEVBQUs7SUFDN0MsSUFBTUosYUFBYSxHQUFHLElBQUlLLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRTtNQUN0REMsTUFBTSxFQUFFO1FBQ05DLElBQUksRUFBRSxJQUFJO1FBQ1ZDLFFBQVEsRUFBRSxNQUFNO1FBQ2hCQyxPQUFPLEVBQUVMO01BQ1g7SUFDRixDQUFDLENBQUM7SUFDRkwsMkJBQTJCLENBQUNDLGFBQWEsQ0FBQztFQUM1QyxDQUFDO0VBRUQsT0FBTztJQUFFRyxxQkFBcUIsRUFBckJBLHFCQUFxQjtJQUFFTyxtQkFBbUIsRUFBbkJBLG1CQUFtQjtJQUFFQyxrQkFBa0IsRUFBbEJBO0VBQW1CLENBQUM7QUFDM0UsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|