@projectcor/maia-components 2.51.1 → 2.52.1-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (448) hide show
  1. package/lib/App.js +44 -19
  2. package/lib/components/atoms/ActionableButton.spec.js +111 -0
  3. package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.spec.js +52 -0
  4. package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.utils.spec.js +11 -0
  5. package/lib/components/atoms/ApprovalBox/ApprovalBox.helpers.spec.js +63 -0
  6. package/lib/components/atoms/ApprovalBox/ApprovalBox.spec.js +183 -0
  7. package/lib/components/atoms/AttachmentCard/AttachmentCard.spec.js +123 -0
  8. package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.helpers.js +3 -1
  9. package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.helpers.spec.js +139 -0
  10. package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.spec.js +385 -0
  11. package/lib/components/atoms/AttachmentCard/AttachmentCardImage.js +3 -1
  12. package/lib/components/atoms/AttachmentCard/AttachmentCardImage.spec.js +78 -0
  13. package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.helpers.spec.js +94 -0
  14. package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.js +24 -14
  15. package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.spec.js +396 -0
  16. package/lib/components/atoms/AttachmentPreviewModal/ExcelPreview.js +28 -10
  17. package/lib/components/atoms/AttachmentPreviewModal/ExcelPreview.spec.js +80 -0
  18. package/lib/components/atoms/AttachmentPreviewModal/PptPreview.helpers.spec.js +526 -0
  19. package/lib/components/atoms/AttachmentPreviewModal/PptPreview.js +19 -15
  20. package/lib/components/atoms/AttachmentPreviewModal/PptPreview.spec.js +169 -0
  21. package/lib/components/atoms/AttachmentPreviewModal/WordPreview.helpers.spec.js +11 -0
  22. package/lib/components/atoms/AttachmentPreviewModal/WordPreview.js +8 -4
  23. package/lib/components/atoms/AttachmentPreviewModal/WordPreview.spec.js +77 -0
  24. package/lib/components/atoms/Backdrop/Backdrop.spec.js +28 -0
  25. package/lib/components/atoms/CardMenu/CardMenu.spec.js +56 -0
  26. package/lib/components/atoms/ChatClientSelector/ChatClientSelector.spec.js +67 -0
  27. package/lib/components/atoms/Checkbox/Checkbox.spec.js +27 -0
  28. package/lib/components/atoms/Chip/Chip.spec.js +82 -0
  29. package/lib/components/atoms/ChipLlm/ChipLlm.spec.js +26 -0
  30. package/lib/components/atoms/ClientSelector/ClientSelector.helpers.spec.js +45 -0
  31. package/lib/components/atoms/ClientSelector/ClientSelector.js +15 -13
  32. package/lib/components/atoms/ClientSelector/ClientSelector.spec.js +133 -0
  33. package/lib/components/atoms/ContextCompactedNotice/ContextCompactedNotice.spec.js +107 -0
  34. package/lib/components/atoms/ContextMentionChip/ContextMentionChip.spec.js +29 -0
  35. package/lib/components/atoms/ContextMentionChip/MentionOverflowLabel.spec.js +46 -0
  36. package/lib/components/atoms/ContextMentionChip/buildChipElement.helpers.spec.js +109 -0
  37. package/lib/components/atoms/ContextMentionChip/buildChipElement.spec.js +81 -0
  38. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.helpers.spec.js +92 -0
  39. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.spec.js +319 -0
  40. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.spec.js +107 -0
  41. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.spec.js +136 -0
  42. package/lib/components/atoms/CopyToClipboard.spec.js +74 -0
  43. package/lib/components/atoms/EditableLabel/EditableLabel.spec.js +76 -0
  44. package/lib/components/atoms/EntitySelector/EntitySelector.spec.js +86 -0
  45. package/lib/components/atoms/Expand/Expand.spec.js +57 -0
  46. package/lib/components/atoms/Fade/Fade.js +10 -6
  47. package/lib/components/atoms/Fade/Fade.spec.js +66 -0
  48. package/lib/components/atoms/FeedbackButton/FeedbackButton.spec.js +75 -0
  49. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.spec.js +104 -0
  50. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +3 -1
  51. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.spec.js +91 -0
  52. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +19 -7
  53. package/lib/components/atoms/HelpButton.spec.js +87 -0
  54. package/lib/components/atoms/ImagePreview/ImagePreview.spec.js +96 -0
  55. package/lib/components/atoms/ListMenuOption/ListMenuOption.spec.js +54 -0
  56. package/lib/components/atoms/LoadingFaqs/LoadingFaqs.spec.js +21 -0
  57. package/lib/components/atoms/LoadingSearchClients/LoadingSearchClients.spec.js +20 -0
  58. package/lib/components/atoms/LoadingSearchProjects/LoadingSearchProjects.spec.js +26 -0
  59. package/lib/components/atoms/LoadingText/LoadingText.spec.js +25 -0
  60. package/lib/components/atoms/MAIAButton/MAIAButton.spec.js +42 -0
  61. package/lib/components/atoms/MAIAError/MAIAError.spec.js +27 -0
  62. package/lib/components/atoms/MAIAInput/MAIAInput.attachments.helpers.js +3 -2
  63. package/lib/components/atoms/MAIAInput/MAIAInput.attachments.helpers.spec.js +113 -0
  64. package/lib/components/atoms/MAIAInput/MAIAInput.helpers.js +3 -2
  65. package/lib/components/atoms/MAIAInput/MAIAInput.helpers.spec.js +381 -0
  66. package/lib/components/atoms/MAIAInput/MAIAInput.js +123 -99
  67. package/lib/components/atoms/MAIAInput/MAIAInput.spec.js +719 -0
  68. package/lib/components/atoms/MAIAInput/MAIAInputEditor.helpers.spec.js +92 -0
  69. package/lib/components/atoms/MAIAInput/MAIAInputEditor.spec.js +193 -0
  70. package/lib/components/atoms/MAIAInput/maiaInputLayout.spec.js +32 -0
  71. package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.spec.js +64 -0
  72. package/lib/components/atoms/MaiaWrapper/MaiaWrapper.spec.js +43 -0
  73. package/lib/components/atoms/MaiaWrapper/MaiaWrapperBase.js +9 -4
  74. package/lib/components/atoms/MaiaWrapper/MaiaWrapperBase.spec.js +114 -0
  75. package/lib/components/atoms/MaiaWrapper/ModernMaiaWrapper.spec.js +51 -0
  76. package/lib/components/atoms/ModalClientAccess/ModalClientAccess.spec.js +48 -0
  77. package/lib/components/atoms/ModalProject/ModalProject.spec.js +66 -0
  78. package/lib/components/atoms/NextPageLoader.spec.js +37 -0
  79. package/lib/components/atoms/OnboardingModalButton/OnboardingModal.spec.js +20 -0
  80. package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.helpers.spec.js +35 -0
  81. package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.spec.js +47 -0
  82. package/lib/components/atoms/OptionAccessibility/OptionAccessibility.js +4 -5
  83. package/lib/components/atoms/OptionAccessibility/OptionAccessibility.spec.js +146 -0
  84. package/lib/components/atoms/PrimaryButton.spec.js +42 -0
  85. package/lib/components/atoms/ProjectSelector/ProjectSelector.spec.js +69 -0
  86. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.js +7 -2
  87. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.spec.js +69 -0
  88. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.styles.js +41 -24
  89. package/lib/components/atoms/ReasoningBlock/ReasoningSteps.js +25 -10
  90. package/lib/components/atoms/ReasoningBlock/ReasoningSteps.spec.js +59 -0
  91. package/lib/components/atoms/ReasoningBlock/ReasoningTimeline.js +78 -43
  92. package/lib/components/atoms/ReasoningBlock/ReasoningTimeline.spec.js +170 -0
  93. package/lib/components/atoms/ReasoningBlock/groupParallelSteps.js +9 -11
  94. package/lib/components/atoms/ReasoningBlock/groupParallelSteps.spec.js +199 -0
  95. package/lib/components/atoms/ReasoningBlock/reasoningLeading.spec.js +70 -0
  96. package/lib/components/atoms/ReasoningBlock/reasoningLiveNarration.js +37 -15
  97. package/lib/components/atoms/ReasoningBlock/reasoningLiveNarration.spec.js +120 -0
  98. package/lib/components/atoms/ReasoningBlock/reasoningMotion.js +8 -0
  99. package/lib/components/atoms/ReasoningBlock/reasoningTimeline.helpers.spec.js +31 -0
  100. package/lib/components/atoms/ReasoningBlock/useCollapsibleHeight.js +52 -0
  101. package/lib/components/atoms/ReasoningBlock/useCollapsibleHeight.spec.js +90 -0
  102. package/lib/components/atoms/ReasoningBlock/useReasoningMarkerHandoff.js +29 -0
  103. package/lib/components/atoms/ReasoningBlock/useReasoningMarkerHandoff.spec.js +38 -0
  104. package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.spec.js +16 -0
  105. package/lib/components/atoms/SkillsDropdown/SkillsDropdown.spec.js +107 -0
  106. package/lib/components/atoms/SlashCommandChip/SlashCommandChip.spec.js +24 -0
  107. package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.helpers.spec.js +71 -0
  108. package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.spec.js +120 -0
  109. package/lib/components/atoms/Switch/Switch.spec.js +41 -0
  110. package/lib/components/atoms/TextArea/CustomTextArea.spec.js +52 -0
  111. package/lib/components/atoms/TextArea/TextArea.helpers.spec.js +25 -0
  112. package/lib/components/atoms/TextArea/TextArea.spec.js +126 -0
  113. package/lib/components/atoms/ThirdButton.spec.js +29 -0
  114. package/lib/components/atoms/VideoModal/VideoModal.spec.js +68 -0
  115. package/lib/components/atoms/WithAppCfg.spec.js +82 -0
  116. package/lib/components/index.js +2 -1
  117. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.helpers.spec.js +53 -0
  118. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.js +3 -2
  119. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.spec.js +780 -0
  120. package/lib/components/molecules/AbmSection/AbmGeneralSection.helpers.spec.js +107 -0
  121. package/lib/components/molecules/AbmSection/AbmGeneralSection.spec.js +256 -0
  122. package/lib/components/molecules/AbmSection/AbmKnowledgeSection.helpers.js +6 -4
  123. package/lib/components/molecules/AbmSection/AbmKnowledgeSection.helpers.spec.js +175 -0
  124. package/lib/components/molecules/AbmSection/AbmKnowledgeSection.js +25 -16
  125. package/lib/components/molecules/AbmSection/AbmKnowledgeSection.spec.js +318 -0
  126. package/lib/components/molecules/AbmSection/AbmLoaderFiles.helpers.spec.js +50 -0
  127. package/lib/components/molecules/AbmSection/AbmLoaderFiles.spec.js +94 -0
  128. package/lib/components/molecules/AgentInputBlock/AgentInputBlockMessage.js +83 -0
  129. package/lib/components/molecules/AgentInputBlock/AgentInputBlockMessage.styles.js +30 -0
  130. package/lib/components/molecules/AgentInputBlock/index.js +5 -0
  131. package/lib/components/molecules/AgentInputBlock/resolveAgentInputBlock.js +52 -0
  132. package/lib/components/molecules/AgentInputBlock/resolveAgentInputBlock.spec.js +76 -0
  133. package/lib/components/molecules/AgentInputBlock/resolveLegacyContextSession.js +20 -0
  134. package/lib/components/molecules/AgentInputBlock/resolveLegacyContextSession.spec.js +34 -0
  135. package/lib/components/molecules/AgentInputBlock/useAgentChangeModelAction.js +36 -0
  136. package/lib/components/molecules/ChatAIClientSelector/ChatAIClientSelector.spec.js +66 -0
  137. package/lib/components/molecules/ChatAIContent/ChatAIContent.js +7 -3
  138. package/lib/components/molecules/ChatAIContent/ChatAIContent.spec.js +145 -0
  139. package/lib/components/molecules/ChatAIHistory/ChatAIHistory.spec.js +204 -0
  140. package/lib/components/molecules/ChatAIHome/ChatAIHome.helpers.spec.js +622 -0
  141. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +93 -72
  142. package/lib/components/molecules/ChatAIHome/ChatAIHome.spec.js +264 -0
  143. package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.spec.js +86 -0
  144. package/lib/components/molecules/ChatAIHome/styles.js +85 -78
  145. package/lib/components/molecules/ChatAIMessages/ChatAICreateAgentActions.spec.js +104 -0
  146. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.helpers.js +95 -3
  147. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.helpers.spec.js +967 -0
  148. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +136 -53
  149. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.spec.js +646 -0
  150. package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.spec.js +46 -0
  151. package/lib/components/molecules/ChatAIMessages/newStyles.js +32 -35
  152. package/lib/components/molecules/ChatAIModal/ChatAIModal.helpers.js +8 -1
  153. package/lib/components/molecules/ChatAIModal/ChatAIModal.helpers.spec.js +1395 -0
  154. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +23 -8
  155. package/lib/components/molecules/ChatAIModal/ChatAIModal.spec.js +1434 -0
  156. package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +3 -3
  157. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.helpers.spec.js +33 -0
  158. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.spec.js +116 -0
  159. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +15 -153
  160. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.spec.js +134 -0
  161. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.styles.js +2 -26
  162. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.helpers.spec.js +142 -0
  163. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +63 -367
  164. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.spec.js +241 -0
  165. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.utils.js +69 -0
  166. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.utils.spec.js +144 -0
  167. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeaderAgentDropdown.js +95 -0
  168. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeaderAgentSelector.js +174 -0
  169. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeaderLayoutMenu.js +99 -0
  170. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeaderLayoutMenu.spec.js +65 -0
  171. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.spec.js +37 -0
  172. package/lib/components/molecules/ChatAIModal/constants.spec.js +16 -0
  173. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.spec.js +22 -0
  174. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/useFloatingPanelDragTilt.spec.js +67 -0
  175. package/lib/components/molecules/ChatAIModal/layout.spec.js +72 -0
  176. package/lib/components/molecules/ChatAIMultipleChoice/ChatAIMultipleChoice.js +108 -0
  177. package/lib/components/molecules/ChatAIMultipleChoice/ChatAIMultipleChoice.spec.js +102 -0
  178. package/lib/components/molecules/ChatAIMultipleChoice/ChatAIMultipleChoice.styles.js +77 -0
  179. package/lib/components/molecules/ChatAIMultipleChoice/ChatAIMultipleChoiceAnswer.js +62 -0
  180. package/lib/components/molecules/ChatAIMultipleChoice/ChatAIMultipleChoiceAnswer.spec.js +49 -0
  181. package/lib/components/molecules/ChatAIMultipleChoice/ChatAIMultipleChoiceAnswer.styles.js +26 -0
  182. package/lib/components/molecules/ChatAIMultipleChoice/index.js +3 -0
  183. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.helpers.spec.js +93 -0
  184. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.spec.js +297 -0
  185. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.helpers.spec.js +62 -0
  186. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.spec.js +221 -0
  187. package/lib/components/molecules/ChatAIProjectSelector/ChatAIProjectSelector.spec.js +66 -0
  188. package/lib/components/molecules/ChatFooter/ChatFooter.js +91 -5
  189. package/lib/components/molecules/ChatFooter/ChatFooter.spec.js +548 -0
  190. package/lib/components/molecules/ChatFooter/ChatFooterCorAccess.spec.js +10 -0
  191. package/lib/components/molecules/ChatFooter/ChatFooterFaqs.helpers.spec.js +104 -0
  192. package/lib/components/molecules/ChatFooter/ChatFooterFaqs.js +5 -2
  193. package/lib/components/molecules/ChatFooter/ChatFooterFaqs.spec.js +139 -0
  194. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.spec.js +84 -0
  195. package/lib/components/molecules/MessageFeedback/MessageFeedback.spec.js +116 -0
  196. package/lib/components/molecules/ProjectSummaryChat/ProjectSummaryChat.spec.js +126 -0
  197. package/lib/components/molecules/ProjectSummaryConfig/ProjectSummaryConfig.spec.js +115 -0
  198. package/lib/components/molecules/ProjectSummaryContent/ProjectSummaryContent.spec.js +79 -0
  199. package/lib/components/molecules/ProjectSummaryModal/ProjectSummaryModal.spec.js +37 -0
  200. package/lib/components/molecules/Sidebar/Sidebar.helpers.spec.js +119 -0
  201. package/lib/components/molecules/Sidebar/Sidebar.js +41 -23
  202. package/lib/components/molecules/Sidebar/Sidebar.spec.js +526 -0
  203. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.helpers.spec.js +1067 -0
  204. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +2 -2
  205. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.spec.js +1236 -0
  206. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.spec.js +112 -0
  207. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.helpers.spec.js +77 -0
  208. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.spec.js +503 -0
  209. package/lib/components/organisms/ChatAI/ChatAI.spec.js +217 -0
  210. package/lib/components/organisms/ChatAIPage/ChatAIPage.js +525 -0
  211. package/lib/components/organisms/ChatAIPage/ChatAIPage.spec.js +246 -0
  212. package/lib/components/organisms/ChatAIPage/ChatAIPage.styles.js +16 -0
  213. package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.js +253 -0
  214. package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.spec.js +291 -0
  215. package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.styles.js +13 -0
  216. package/lib/components/organisms/ChatAIPage/ChatAIPageHome.js +284 -0
  217. package/lib/components/organisms/ChatAIPage/ChatAIPageHome.spec.js +343 -0
  218. package/lib/components/organisms/ChatAIPage/ChatAIPageHome.styles.js +197 -0
  219. package/lib/components/organisms/ChatAIPage/ChatAIPageHomeActionCardSlot.js +94 -0
  220. package/lib/components/organisms/ChatAIPage/ChatAIPageHomeActionCardSlot.spec.js +69 -0
  221. package/lib/components/organisms/ChatAIPage/ChatAIPageHomeActionCards.skeleton.js +38 -0
  222. package/lib/components/organisms/ChatAIPage/getDaypart.js +9 -0
  223. package/lib/components/organisms/ChatAIPage/getDaypart.spec.js +19 -0
  224. package/lib/components/organisms/ChatAIPage/index.js +3 -0
  225. package/lib/components/organisms/ClientAIButton/ClientAIButton.spec.js +53 -0
  226. package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.spec.js +59 -0
  227. package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.spec.js +79 -0
  228. package/lib/components/organisms/EditQuestionModal/EditQuestionModal.spec.js +86 -0
  229. package/lib/components/organisms/ModalFileExceeds/ModalFileExceeds.spec.js +49 -0
  230. package/lib/components/organisms/ProjectAIButton/ProjectAIButton.spec.js +67 -0
  231. package/lib/components/organisms/ProjectSummary/ProjectSummary.js +11 -7
  232. package/lib/components/organisms/ProjectSummary/ProjectSummary.spec.js +117 -0
  233. package/lib/components/organisms/SnackBar/Snackbar.spec.js +66 -0
  234. package/lib/components/organisms/SourcesInformation/SourceItem.spec.js +19 -0
  235. package/lib/components/organisms/SourcesInformation/SourcesInformationModal.js +4 -1
  236. package/lib/components/organisms/SourcesInformation/SourcesInformationModal.spec.js +52 -0
  237. package/lib/constants/formatExtensions.spec.js +15 -0
  238. package/lib/constants/maiaExternalConnectorsAccess.spec.js +29 -0
  239. package/lib/constants/maiaFeatureAccess.spec.js +30 -0
  240. package/lib/constants/maiaHourAgentAccess.spec.js +30 -0
  241. package/lib/constants/maiaTaskPanelAccess.spec.js +41 -0
  242. package/lib/constants/permissions/clientRoleAccess.spec.js +65 -0
  243. package/lib/constants/permissions/index.js +2 -2
  244. package/lib/constants/permissions/utils.js +4 -1
  245. package/lib/constants/permissions/utils.spec.js +128 -0
  246. package/lib/constants/plannerSyncEvents.spec.js +31 -0
  247. package/lib/constants/taskUrls.spec.js +9 -0
  248. package/lib/dev/DevMaiaPage.js +30 -0
  249. package/lib/dev/DevReasoningTimeline.js +68 -37
  250. package/lib/dev/Providers.js +5 -3
  251. package/lib/hooks/frequentlyUsedActionsCache.js +17 -0
  252. package/lib/hooks/frequentlyUsedActionsCache.spec.js +25 -0
  253. package/lib/hooks/useAccessClient/useAccessClient.spec.js +149 -0
  254. package/lib/hooks/useAgentModel/useAgentModel.spec.js +83 -0
  255. package/lib/hooks/useAgentModel/useCreateAgent.helpers.spec.js +268 -0
  256. package/lib/hooks/useAgentModel/useCreateAgent.spec.js +314 -0
  257. package/lib/hooks/useAgentModel/useDeleteAgent.spec.js +183 -0
  258. package/lib/hooks/useAgentModel/useUpdateAgent.js +7 -6
  259. package/lib/hooks/useAgentModel/useUpdateAgent.spec.js +374 -0
  260. package/lib/hooks/useAgentSuggestions.spec.js +89 -0
  261. package/lib/hooks/useCaretPosition.spec.js +58 -0
  262. package/lib/hooks/useChatManager/useChatManager.helpers.js +8 -5
  263. package/lib/hooks/useChatManager/useChatManager.helpers.spec.js +2027 -0
  264. package/lib/hooks/useChatManager/useChatManager.js +53 -35
  265. package/lib/hooks/useChatManager/useChatManager.spec.js +2467 -0
  266. package/lib/hooks/useChatMessages/useChatMessages.helpers.spec.js +491 -0
  267. package/lib/hooks/useChatMessages/useChatMessages.spec.js +729 -0
  268. package/lib/hooks/useChats/useChats.spec.js +208 -0
  269. package/lib/hooks/useClientSearch.helpers.spec.js +52 -0
  270. package/lib/hooks/useClientSearch.spec.js +86 -0
  271. package/lib/hooks/useContextMentions.helpers.spec.js +267 -0
  272. package/lib/hooks/useContextMentions.spec.js +338 -0
  273. package/lib/hooks/useContextPinPopover.helpers.spec.js +183 -0
  274. package/lib/hooks/useContextPinPopover.spec.js +159 -0
  275. package/lib/hooks/useContinueLegacyContextInNewChat/index.js +2 -0
  276. package/lib/hooks/useContinueLegacyContextInNewChat/useContinueLegacyContextInNewChat.js +93 -0
  277. package/lib/hooks/useContinueLegacyContextInNewChat/useContinueLegacyContextInNewChat.spec.js +257 -0
  278. package/lib/hooks/useDebounce.spec.js +42 -0
  279. package/lib/hooks/useEntitySearch.helpers.spec.js +723 -0
  280. package/lib/hooks/useEntitySearch.js +3 -1
  281. package/lib/hooks/useEntitySearch.spec.js +718 -0
  282. package/lib/hooks/useEvent.js +3 -1
  283. package/lib/hooks/useEvent.spec.js +45 -0
  284. package/lib/hooks/useFrequentlyAskedQuestions.spec.js +222 -0
  285. package/lib/hooks/useFrequentlyUsedActions.js +61 -22
  286. package/lib/hooks/useFrequentlyUsedActions.spec.js +293 -0
  287. package/lib/hooks/useIsMaiaPageRoute.spec.js +26 -0
  288. package/lib/hooks/useKnowledge/deleteKnowledge.spec.js +122 -0
  289. package/lib/hooks/useKnowledge/downloadKnowledge.js +4 -4
  290. package/lib/hooks/useKnowledge/downloadKnowledge.spec.js +148 -0
  291. package/lib/hooks/useKnowledge/saveKnowledge.spec.js +104 -0
  292. package/lib/hooks/useKnowledge/useKnowledgeOperations.js +16 -15
  293. package/lib/hooks/useKnowledge/useKnowledgeOperations.spec.js +178 -0
  294. package/lib/hooks/useLatestRef.js +15 -0
  295. package/lib/hooks/useLatestRef.spec.js +50 -0
  296. package/lib/hooks/useMaiaChatSessionMeta/index.js +2 -0
  297. package/lib/hooks/useMaiaChatSessionMeta/useMaiaChatSessionMeta.js +24 -0
  298. package/lib/hooks/useMentionAllowedTypes.spec.js +89 -0
  299. package/lib/hooks/useMentionPopover.helpers.spec.js +100 -0
  300. package/lib/hooks/useMentionPopover.spec.js +392 -0
  301. package/lib/hooks/useMinimizedPillBottomOffset.helpers.spec.js +176 -0
  302. package/lib/hooks/useMinimizedPillBottomOffset.spec.js +89 -0
  303. package/lib/hooks/useMinimizedPillNoveltyDot/useMinimizedPillNoveltyDot.spec.js +67 -0
  304. package/lib/hooks/useModal/useModal.spec.js +73 -0
  305. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.helpers.js +4 -2
  306. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.helpers.spec.js +138 -0
  307. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.interface.js +1 -1
  308. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +3 -3
  309. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.spec.js +485 -0
  310. package/lib/hooks/useProjectSearch.helpers.spec.js +89 -0
  311. package/lib/hooks/useProjectSearch.spec.js +91 -0
  312. package/lib/hooks/useProjectSummary.spec.js +193 -0
  313. package/lib/hooks/useProjectSummaryConfig.helpers.spec.js +151 -0
  314. package/lib/hooks/useProjectSummaryConfig.js +10 -5
  315. package/lib/hooks/useProjectSummaryConfig.spec.js +133 -0
  316. package/lib/hooks/useReasoningTrace/reasoningStore.spec.js +112 -0
  317. package/lib/hooks/useRecentClientsSearch.helpers.spec.js +33 -0
  318. package/lib/hooks/useRecentClientsSearch.spec.js +85 -0
  319. package/lib/hooks/useRecentContexts.spec.js +139 -0
  320. package/lib/hooks/useResize.spec.js +37 -0
  321. package/lib/hooks/useSkillsCatalog.spec.js +88 -0
  322. package/lib/hooks/useSlashCommands.spec.js +139 -0
  323. package/lib/hooks/useSmoothStreamText/useSmoothStreamText.spec.js +101 -0
  324. package/lib/hooks/useSnackBarManager/useSnackBarManager.spec.js +33 -0
  325. package/lib/hooks/useStreamResponse.spec.js +199 -0
  326. package/lib/hooks/useT.spec.js +20 -0
  327. package/lib/hooks/useToggle.spec.js +33 -0
  328. package/lib/hooks/useToggleFavorite/useToggleFavorite.spec.js +171 -0
  329. package/lib/index.js +5 -2
  330. package/lib/lang/br/index.js +32 -1
  331. package/lib/lang/en/index.js +32 -1
  332. package/lib/lang/es/index.js +32 -1
  333. package/lib/lang/fr/index.js +32 -1
  334. package/lib/services/appcues.spec.js +37 -0
  335. package/lib/services/maia/Access/updateAccess.spec.js +137 -0
  336. package/lib/services/maia/Actions/getFrequentlyUsedActions.js +1 -1
  337. package/lib/services/maia/Actions/getFrequentlyUsedActions.spec.js +121 -0
  338. package/lib/services/maia/Actions/getSlashCommands.spec.js +91 -0
  339. package/lib/services/maia/Agents/connectors.js +3 -1
  340. package/lib/services/maia/Agents/connectors.spec.js +496 -0
  341. package/lib/services/maia/Agents/createAgent.spec.js +55 -0
  342. package/lib/services/maia/Agents/deleteAgent.spec.js +57 -0
  343. package/lib/services/maia/Agents/fetchAgentDetail.spec.js +108 -0
  344. package/lib/services/maia/Agents/getAgentById.spec.js +190 -0
  345. package/lib/services/maia/Agents/getAgentModels.spec.js +190 -0
  346. package/lib/services/maia/Agents/getAgentSuggestions.spec.js +89 -0
  347. package/lib/services/maia/Agents/getAgents.helpers.spec.js +325 -0
  348. package/lib/services/maia/Agents/getAgents.spec.js +1135 -0
  349. package/lib/services/maia/Agents/setAgentToolGroups.spec.js +45 -0
  350. package/lib/services/maia/Agents/toggleFavorite.spec.js +59 -0
  351. package/lib/services/maia/Agents/updateAgent.spec.js +48 -0
  352. package/lib/services/maia/Chats/deleteChat.spec.js +31 -0
  353. package/lib/services/maia/Chats/getChatMessages.spec.js +150 -0
  354. package/lib/services/maia/Chats/getChatsByUserId.spec.js +181 -0
  355. package/lib/services/maia/Chats/markSessionAsRead.spec.js +30 -0
  356. package/lib/services/maia/Chats/patchChat.spec.js +41 -0
  357. package/lib/services/maia/Chats/wasHelpfulChat.spec.js +28 -0
  358. package/lib/services/maia/Faqs/getFrequentlyAskedQuestions.spec.js +58 -0
  359. package/lib/services/maia/Knowledge/delete.spec.js +45 -0
  360. package/lib/services/maia/Knowledge/download.spec.js +78 -0
  361. package/lib/services/maia/Knowledge/save.spec.js +58 -0
  362. package/lib/services/maia/Orchestrator/orchestrator.helpers.js +11 -6
  363. package/lib/services/maia/Orchestrator/orchestrator.helpers.spec.js +261 -0
  364. package/lib/services/maia/Orchestrator/orchestrator.js +5 -4
  365. package/lib/services/maia/Orchestrator/orchestrator.spec.js +181 -0
  366. package/lib/services/maia/RecentClients/getRecentClients.spec.js +52 -0
  367. package/lib/services/maia/RecentContexts/getRecentContexts.spec.js +103 -0
  368. package/lib/services/maia/RecentProjects/getRecentProjects.spec.js +82 -0
  369. package/lib/services/maia/RecentTasks/getRecentTasks.spec.js +63 -0
  370. package/lib/services/maia/RecentUsers/getRecentUsers.spec.js +82 -0
  371. package/lib/services/maia/Skills/createSkill.spec.js +68 -0
  372. package/lib/services/maia/Skills/deleteSkill.spec.js +42 -0
  373. package/lib/services/maia/Skills/generateSkill.spec.js +48 -0
  374. package/lib/services/maia/Skills/getSkills.spec.js +152 -0
  375. package/lib/services/maia/Skills/updateSkill.spec.js +62 -0
  376. package/lib/services/maia/client.spec.js +56 -0
  377. package/lib/services/utils/fetchCOR.spec.js +211 -0
  378. package/lib/services/utils/getCookie.spec.js +20 -0
  379. package/lib/services/utils/mapChatMessages.helpers.js +6 -3
  380. package/lib/services/utils/mapChatMessages.helpers.spec.js +336 -0
  381. package/lib/services/utils/mapChatMessages.multipleChoice.spec.js +87 -0
  382. package/lib/services/utils/mapChatMessages.spec.js +254 -0
  383. package/lib/store/chatsSidebarOptimistic.spec.js +145 -0
  384. package/lib/store/maiaLastChatPersistence.spec.js +22 -0
  385. package/lib/store/maiaPanelSessionPersistence.spec.js +62 -0
  386. package/lib/store/sessions/sessionNotificationSound.spec.js +145 -0
  387. package/lib/store/sessions/sessionNotifications.helpers.spec.js +63 -0
  388. package/lib/store/sessions/sessionNotifications.spec.js +106 -0
  389. package/lib/store/sessions/sessionStreamManager.helpers.js +7 -1
  390. package/lib/store/sessions/sessionStreamManager.helpers.spec.js +177 -0
  391. package/lib/store/sessions/sessionStreamManager.js +51 -55
  392. package/lib/store/sessions/sessionStreamManager.spec.js +939 -0
  393. package/lib/store/sessions/sessions.types.js +1 -1
  394. package/lib/store/sessions/sessions.types.spec.js +16 -0
  395. package/lib/store/sessions/useSessionsStore.spec.js +135 -0
  396. package/lib/store/useChatsStore.js +4 -3
  397. package/lib/store/useChatsStore.spec.js +690 -0
  398. package/lib/store/useFaqsStore.spec.js +57 -0
  399. package/lib/store/useMultipleChoiceStore.js +47 -0
  400. package/lib/store/useMultipleChoiceStore.spec.js +44 -0
  401. package/lib/styles/cascade.js +29 -3
  402. package/lib/styles/transitions.js +3 -1
  403. package/lib/types/Chat.js +3 -1
  404. package/lib/types/global.d.js +1 -1
  405. package/lib/utils/actionCategoryMap.spec.js +18 -0
  406. package/lib/utils/agentDisplayName.spec.js +48 -0
  407. package/lib/utils/autoApproveStorage.spec.js +25 -0
  408. package/lib/utils/chatInputFiles.spec.js +39 -0
  409. package/lib/utils/contextMentionIcons.spec.js +41 -0
  410. package/lib/utils/contextMentionLabel.spec.js +13 -0
  411. package/lib/utils/contextMentionTriggers.spec.js +44 -0
  412. package/lib/utils/contextMentionTypeLabel.spec.js +14 -0
  413. package/lib/utils/corConnectorMentionTypes.spec.js +23 -0
  414. package/lib/utils/entityLinkRender.spec.js +72 -0
  415. package/lib/utils/fileDownloadHelper.spec.js +67 -0
  416. package/lib/utils/formatQuickActionMessage.spec.js +27 -0
  417. package/lib/utils/formatUnreadCount.spec.js +12 -0
  418. package/lib/utils/getUnitFileSize.spec.js +18 -0
  419. package/lib/utils/hitlAnalytics.spec.js +136 -0
  420. package/lib/utils/hoursPlannerQuickActionType.js +116 -1
  421. package/lib/utils/hoursPlannerQuickActionType.spec.js +124 -0
  422. package/lib/utils/imagePreprocessor.helpers.spec.js +28 -0
  423. package/lib/utils/imagePreprocessor.js +14 -3
  424. package/lib/utils/imagePreprocessor.spec.js +112 -0
  425. package/lib/utils/maiaPageRoute.spec.js +23 -0
  426. package/lib/utils/mapBackendLang.spec.js +19 -0
  427. package/lib/utils/navigateContextEntity.js +2 -2
  428. package/lib/utils/navigateContextEntity.spec.js +50 -0
  429. package/lib/utils/normalizeAgentConnectors.spec.js +98 -0
  430. package/lib/utils/openTaskInCorPanel.js +2 -2
  431. package/lib/utils/openTaskInCorPanel.spec.js +43 -0
  432. package/lib/utils/orchestratorSubagents.spec.js +32 -0
  433. package/lib/utils/reasoningMappers.spec.js +103 -0
  434. package/lib/utils/recentContextsHomeLimit.spec.js +32 -0
  435. package/lib/utils/renderContextMentions.helpers.spec.js +87 -0
  436. package/lib/utils/renderContextMentions.spec.js +268 -0
  437. package/lib/utils/retryCompletion.spec.js +181 -0
  438. package/lib/utils/skillContentSize.spec.js +13 -0
  439. package/lib/utils/slashCommandMarker.spec.js +43 -0
  440. package/lib/utils/sortManagerHoursHomeFuas.spec.js +51 -0
  441. package/lib/utils/sseStreamContent.spec.js +31 -0
  442. package/lib/utils/streamActivityMessages.helpers.js +5 -4
  443. package/lib/utils/streamActivityMessages.helpers.spec.js +84 -0
  444. package/lib/utils/streamActivityMessages.js +32 -20
  445. package/lib/utils/streamActivityMessages.spec.js +336 -0
  446. package/lib/utils/validateTrimmedFields.spec.js +26 -0
  447. package/package.json +1 -1
  448. package/README.md +0 -2
@@ -0,0 +1,293 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
+ import { act, renderHook, waitFor } from '@testing-library/react';
4
+ import { getFrequentlyUsedActions } from '../services/maia/Actions/getFrequentlyUsedActions';
5
+ import { mapMaiaSectionToFuasApiSection, useFrequentlyUsedActions } from './useFrequentlyUsedActions';
6
+ import { buildFrequentlyUsedActionsCacheKey, clearFrequentlyUsedActionsCache, setCachedFrequentlyUsedActions } from './frequentlyUsedActionsCache';
7
+ jest.mock('../services/maia/Actions/getFrequentlyUsedActions', function () {
8
+ return {
9
+ getFrequentlyUsedActions: jest.fn()
10
+ };
11
+ });
12
+ jest.mock('./useT', function () {
13
+ return {
14
+ useT: function useT() {
15
+ return {
16
+ i18n: {
17
+ language: 'es'
18
+ }
19
+ };
20
+ }
21
+ };
22
+ });
23
+ var getFrequentlyUsedActionsMock = getFrequentlyUsedActions;
24
+ describe('mapMaiaSectionToFuasApiSection', function () {
25
+ it('maps maia sections to API section names', function () {
26
+ expect(mapMaiaSectionToFuasApiSection('home_with_hours')).toBe('home_with_hours');
27
+ expect(mapMaiaSectionToFuasApiSection('home_collaborator')).toBe('home_collaborator');
28
+ expect(mapMaiaSectionToFuasApiSection('task')).toBe('tasks');
29
+ expect(mapMaiaSectionToFuasApiSection('planner')).toBe('planner');
30
+ expect(mapMaiaSectionToFuasApiSection('header')).toBe('home');
31
+ });
32
+ });
33
+ describe('useFrequentlyUsedActions', function () {
34
+ beforeEach(function () {
35
+ jest.clearAllMocks();
36
+ clearFrequentlyUsedActionsCache();
37
+ getFrequentlyUsedActionsMock.mockResolvedValue({
38
+ data: [{
39
+ id: 'action-1',
40
+ name: 'Summarize'
41
+ }]
42
+ });
43
+ });
44
+ it('loads actions when agentId is provided', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
45
+ var _renderHook, result;
46
+ return _regeneratorRuntime.wrap(function (_context) {
47
+ while (1) switch (_context.prev = _context.next) {
48
+ case 0:
49
+ _renderHook = renderHook(function () {
50
+ return useFrequentlyUsedActions('agent-1', 'task', 'project');
51
+ }), result = _renderHook.result;
52
+ _context.next = 1;
53
+ return waitFor(function () {
54
+ return expect(result.current.loading).toBe(false);
55
+ });
56
+ case 1:
57
+ expect(getFrequentlyUsedActionsMock).toHaveBeenCalledWith({
58
+ agentId: 'agent-1',
59
+ lang: 'es',
60
+ section: 'tasks',
61
+ entityType: 'project'
62
+ });
63
+ expect(result.current.actions).toEqual([{
64
+ id: 'action-1',
65
+ name: 'Summarize'
66
+ }]);
67
+ case 2:
68
+ case "end":
69
+ return _context.stop();
70
+ }
71
+ }, _callee);
72
+ })));
73
+ it('does not fetch without an agent id', function () {
74
+ renderHook(function () {
75
+ return useFrequentlyUsedActions(undefined, 'header');
76
+ });
77
+ expect(getFrequentlyUsedActionsMock).not.toHaveBeenCalled();
78
+ });
79
+ it('sets error when the response is invalid', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
80
+ var _renderHook2, result;
81
+ return _regeneratorRuntime.wrap(function (_context2) {
82
+ while (1) switch (_context2.prev = _context2.next) {
83
+ case 0:
84
+ getFrequentlyUsedActionsMock.mockResolvedValue({
85
+ data: null
86
+ });
87
+ _renderHook2 = renderHook(function () {
88
+ return useFrequentlyUsedActions('agent-2', 'header');
89
+ }), result = _renderHook2.result;
90
+ _context2.next = 1;
91
+ return waitFor(function () {
92
+ return expect(result.current.error).toBeTruthy();
93
+ });
94
+ case 1:
95
+ expect(result.current.error).toBe('Invalid response format from server');
96
+ expect(result.current.actions).toEqual([]);
97
+ case 2:
98
+ case "end":
99
+ return _context2.stop();
100
+ }
101
+ }, _callee2);
102
+ })));
103
+ it('supports manual refetch', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
104
+ var _renderHook3, result;
105
+ return _regeneratorRuntime.wrap(function (_context4) {
106
+ while (1) switch (_context4.prev = _context4.next) {
107
+ case 0:
108
+ _renderHook3 = renderHook(function () {
109
+ return useFrequentlyUsedActions(undefined, 'planner');
110
+ }), result = _renderHook3.result;
111
+ _context4.next = 1;
112
+ return act(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
113
+ return _regeneratorRuntime.wrap(function (_context3) {
114
+ while (1) switch (_context3.prev = _context3.next) {
115
+ case 0:
116
+ _context3.next = 1;
117
+ return result.current.handleGetFrequentlyUsedActions('agent-3');
118
+ case 1:
119
+ case "end":
120
+ return _context3.stop();
121
+ }
122
+ }, _callee3);
123
+ })));
124
+ case 1:
125
+ expect(getFrequentlyUsedActionsMock).toHaveBeenCalledWith({
126
+ agentId: 'agent-3',
127
+ lang: 'es',
128
+ section: 'planner',
129
+ entityType: undefined
130
+ });
131
+ case 2:
132
+ case "end":
133
+ return _context4.stop();
134
+ }
135
+ }, _callee4);
136
+ })));
137
+ it('defaults to the home section when no maia section is given', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee5() {
138
+ var _renderHook4, result;
139
+ return _regeneratorRuntime.wrap(function (_context5) {
140
+ while (1) switch (_context5.prev = _context5.next) {
141
+ case 0:
142
+ _renderHook4 = renderHook(function () {
143
+ return useFrequentlyUsedActions('agent-4');
144
+ }), result = _renderHook4.result;
145
+ _context5.next = 1;
146
+ return waitFor(function () {
147
+ return expect(result.current.loading).toBe(false);
148
+ });
149
+ case 1:
150
+ expect(getFrequentlyUsedActionsMock).toHaveBeenCalledWith(expect.objectContaining({
151
+ section: 'home'
152
+ }));
153
+ case 2:
154
+ case "end":
155
+ return _context5.stop();
156
+ }
157
+ }, _callee5);
158
+ })));
159
+ it('shows cached actions right away and refreshes them in the background', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee6() {
160
+ var cached, _renderHook5, result;
161
+ return _regeneratorRuntime.wrap(function (_context6) {
162
+ while (1) switch (_context6.prev = _context6.next) {
163
+ case 0:
164
+ cached = [{
165
+ id: 'cached',
166
+ title: 'Cached'
167
+ }];
168
+ setCachedFrequentlyUsedActions(buildFrequentlyUsedActionsCacheKey('agent-5', 'home'), cached);
169
+ _renderHook5 = renderHook(function () {
170
+ return useFrequentlyUsedActions('agent-5', 'header');
171
+ }), result = _renderHook5.result;
172
+ expect(result.current.actions).toEqual(cached);
173
+ expect(result.current.loading).toBe(false);
174
+ _context6.next = 1;
175
+ return waitFor(function () {
176
+ return expect(result.current.actions).toEqual([{
177
+ id: 'action-1',
178
+ name: 'Summarize'
179
+ }]);
180
+ });
181
+ case 1:
182
+ case "end":
183
+ return _context6.stop();
184
+ }
185
+ }, _callee6);
186
+ })));
187
+ it('reports a generic message when a non Error value is thrown', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee7() {
188
+ var _renderHook6, result;
189
+ return _regeneratorRuntime.wrap(function (_context7) {
190
+ while (1) switch (_context7.prev = _context7.next) {
191
+ case 0:
192
+ getFrequentlyUsedActionsMock.mockRejectedValue('boom');
193
+ jest.spyOn(console, 'error').mockImplementation(function () {
194
+ return undefined;
195
+ });
196
+ _renderHook6 = renderHook(function () {
197
+ return useFrequentlyUsedActions('agent-6', 'header');
198
+ }), result = _renderHook6.result;
199
+ _context7.next = 1;
200
+ return waitFor(function () {
201
+ return expect(result.current.error).toBe('An unknown error occurred');
202
+ });
203
+ case 1:
204
+ case "end":
205
+ return _context7.stop();
206
+ }
207
+ }, _callee7);
208
+ })));
209
+ it('ignores responses and errors from superseded requests', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee0() {
210
+ var resolveFirst, rejectSecond, _renderHook7, result, first, second;
211
+ return _regeneratorRuntime.wrap(function (_context0) {
212
+ while (1) switch (_context0.prev = _context0.next) {
213
+ case 0:
214
+ resolveFirst = function resolveFirst() {
215
+ return undefined;
216
+ };
217
+ rejectSecond = function rejectSecond() {
218
+ return undefined;
219
+ };
220
+ getFrequentlyUsedActionsMock.mockImplementationOnce(function () {
221
+ return new Promise(function (resolve) {
222
+ resolveFirst = resolve;
223
+ });
224
+ }).mockImplementationOnce(function () {
225
+ return new Promise(function (_, reject) {
226
+ rejectSecond = reject;
227
+ });
228
+ }).mockResolvedValue({
229
+ data: [{
230
+ id: 'latest',
231
+ title: 'Latest'
232
+ }]
233
+ });
234
+ _renderHook7 = renderHook(function () {
235
+ return useFrequentlyUsedActions(undefined, 'header');
236
+ }), result = _renderHook7.result;
237
+ first = Promise.resolve();
238
+ second = Promise.resolve();
239
+ act(function () {
240
+ first = result.current.handleGetFrequentlyUsedActions('agent-7');
241
+ second = result.current.handleGetFrequentlyUsedActions('agent-7');
242
+ });
243
+ _context0.next = 1;
244
+ return act(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee8() {
245
+ return _regeneratorRuntime.wrap(function (_context8) {
246
+ while (1) switch (_context8.prev = _context8.next) {
247
+ case 0:
248
+ _context8.next = 1;
249
+ return result.current.handleGetFrequentlyUsedActions('agent-7');
250
+ case 1:
251
+ case "end":
252
+ return _context8.stop();
253
+ }
254
+ }, _callee8);
255
+ })));
256
+ case 1:
257
+ _context0.next = 2;
258
+ return act(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee9() {
259
+ return _regeneratorRuntime.wrap(function (_context9) {
260
+ while (1) switch (_context9.prev = _context9.next) {
261
+ case 0:
262
+ resolveFirst({
263
+ data: [{
264
+ id: 'stale',
265
+ title: 'Stale'
266
+ }]
267
+ });
268
+ rejectSecond(new Error('stale error'));
269
+ _context9.next = 1;
270
+ return first;
271
+ case 1:
272
+ _context9.next = 2;
273
+ return second;
274
+ case 2:
275
+ case "end":
276
+ return _context9.stop();
277
+ }
278
+ }, _callee9);
279
+ })));
280
+ case 2:
281
+ expect(result.current.actions).toEqual([{
282
+ id: 'latest',
283
+ title: 'Latest'
284
+ }]);
285
+ expect(result.current.error).toBeNull();
286
+ case 3:
287
+ case "end":
288
+ return _context0.stop();
289
+ }
290
+ }, _callee0);
291
+ })));
292
+ });
293
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhY3QiLCJyZW5kZXJIb29rIiwid2FpdEZvciIsImdldEZyZXF1ZW50bHlVc2VkQWN0aW9ucyIsIm1hcE1haWFTZWN0aW9uVG9GdWFzQXBpU2VjdGlvbiIsInVzZUZyZXF1ZW50bHlVc2VkQWN0aW9ucyIsImJ1aWxkRnJlcXVlbnRseVVzZWRBY3Rpb25zQ2FjaGVLZXkiLCJjbGVhckZyZXF1ZW50bHlVc2VkQWN0aW9uc0NhY2hlIiwic2V0Q2FjaGVkRnJlcXVlbnRseVVzZWRBY3Rpb25zIiwiamVzdCIsIm1vY2siLCJmbiIsInVzZVQiLCJpMThuIiwibGFuZ3VhZ2UiLCJnZXRGcmVxdWVudGx5VXNlZEFjdGlvbnNNb2NrIiwiZGVzY3JpYmUiLCJpdCIsImV4cGVjdCIsInRvQmUiLCJiZWZvcmVFYWNoIiwiY2xlYXJBbGxNb2NrcyIsIm1vY2tSZXNvbHZlZFZhbHVlIiwiZGF0YSIsImlkIiwibmFtZSIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwiX3JlbmRlckhvb2siLCJyZXN1bHQiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImN1cnJlbnQiLCJsb2FkaW5nIiwidG9IYXZlQmVlbkNhbGxlZFdpdGgiLCJhZ2VudElkIiwibGFuZyIsInNlY3Rpb24iLCJlbnRpdHlUeXBlIiwiYWN0aW9ucyIsInRvRXF1YWwiLCJzdG9wIiwidW5kZWZpbmVkIiwibm90IiwidG9IYXZlQmVlbkNhbGxlZCIsIl9jYWxsZWUyIiwiX3JlbmRlckhvb2syIiwiX2NvbnRleHQyIiwiZXJyb3IiLCJ0b0JlVHJ1dGh5IiwiX2NhbGxlZTQiLCJfcmVuZGVySG9vazMiLCJfY29udGV4dDQiLCJfY2FsbGVlMyIsIl9jb250ZXh0MyIsImhhbmRsZUdldEZyZXF1ZW50bHlVc2VkQWN0aW9ucyIsIl9jYWxsZWU1IiwiX3JlbmRlckhvb2s0IiwiX2NvbnRleHQ1Iiwib2JqZWN0Q29udGFpbmluZyIsIl9jYWxsZWU2IiwiY2FjaGVkIiwiX3JlbmRlckhvb2s1IiwiX2NvbnRleHQ2IiwidGl0bGUiLCJfY2FsbGVlNyIsIl9yZW5kZXJIb29rNiIsIl9jb250ZXh0NyIsIm1vY2tSZWplY3RlZFZhbHVlIiwic3B5T24iLCJjb25zb2xlIiwibW9ja0ltcGxlbWVudGF0aW9uIiwiX2NhbGxlZTAiLCJyZXNvbHZlRmlyc3QiLCJyZWplY3RTZWNvbmQiLCJfcmVuZGVySG9vazciLCJmaXJzdCIsInNlY29uZCIsIl9jb250ZXh0MCIsIm1vY2tJbXBsZW1lbnRhdGlvbk9uY2UiLCJQcm9taXNlIiwicmVzb2x2ZSIsIl8iLCJyZWplY3QiLCJfY2FsbGVlOCIsIl9jb250ZXh0OCIsIl9jYWxsZWU5IiwiX2NvbnRleHQ5IiwiRXJyb3IiLCJ0b0JlTnVsbCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VGcmVxdWVudGx5VXNlZEFjdGlvbnMuc3BlYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhY3QsIHJlbmRlckhvb2ssIHdhaXRGb3IgfSBmcm9tICdAdGVzdGluZy1saWJyYXJ5L3JlYWN0J1xuaW1wb3J0IHsgZ2V0RnJlcXVlbnRseVVzZWRBY3Rpb25zIH0gZnJvbSAnLi4vc2VydmljZXMvbWFpYS9BY3Rpb25zL2dldEZyZXF1ZW50bHlVc2VkQWN0aW9ucydcbmltcG9ydCB7IG1hcE1haWFTZWN0aW9uVG9GdWFzQXBpU2VjdGlvbiwgdXNlRnJlcXVlbnRseVVzZWRBY3Rpb25zIH0gZnJvbSAnLi91c2VGcmVxdWVudGx5VXNlZEFjdGlvbnMnXG5pbXBvcnQge1xuICBidWlsZEZyZXF1ZW50bHlVc2VkQWN0aW9uc0NhY2hlS2V5LFxuICBjbGVhckZyZXF1ZW50bHlVc2VkQWN0aW9uc0NhY2hlLFxuICBzZXRDYWNoZWRGcmVxdWVudGx5VXNlZEFjdGlvbnMsXG59IGZyb20gJy4vZnJlcXVlbnRseVVzZWRBY3Rpb25zQ2FjaGUnXG5pbXBvcnQgdHlwZSB7IEFjdGlvbiB9IGZyb20gJy4uL3R5cGVzL0FjdGlvbidcblxuamVzdC5tb2NrKCcuLi9zZXJ2aWNlcy9tYWlhL0FjdGlvbnMvZ2V0RnJlcXVlbnRseVVzZWRBY3Rpb25zJywgKCkgPT4gKHtcbiAgZ2V0RnJlcXVlbnRseVVzZWRBY3Rpb25zOiBqZXN0LmZuKCksXG59KSlcblxuamVzdC5tb2NrKCcuL3VzZVQnLCAoKSA9PiAoe1xuICB1c2VUOiAoKSA9PiAoeyBpMThuOiB7IGxhbmd1YWdlOiAnZXMnIH0gfSksXG59KSlcblxuY29uc3QgZ2V0RnJlcXVlbnRseVVzZWRBY3Rpb25zTW9jayA9IGdldEZyZXF1ZW50bHlVc2VkQWN0aW9ucyBhcyBqZXN0Lk1vY2tlZEZ1bmN0aW9uPHR5cGVvZiBnZXRGcmVxdWVudGx5VXNlZEFjdGlvbnM+XG5cbmRlc2NyaWJlKCdtYXBNYWlhU2VjdGlvblRvRnVhc0FwaVNlY3Rpb24nLCAoKSA9PiB7XG4gIGl0KCdtYXBzIG1haWEgc2VjdGlvbnMgdG8gQVBJIHNlY3Rpb24gbmFtZXMnLCAoKSA9PiB7XG4gICAgZXhwZWN0KG1hcE1haWFTZWN0aW9uVG9GdWFzQXBpU2VjdGlvbignaG9tZV93aXRoX2hvdXJzJykpLnRvQmUoJ2hvbWVfd2l0aF9ob3VycycpXG4gICAgZXhwZWN0KG1hcE1haWFTZWN0aW9uVG9GdWFzQXBpU2VjdGlvbignaG9tZV9jb2xsYWJvcmF0b3InKSkudG9CZSgnaG9tZV9jb2xsYWJvcmF0b3InKVxuICAgIGV4cGVjdChtYXBNYWlhU2VjdGlvblRvRnVhc0FwaVNlY3Rpb24oJ3Rhc2snKSkudG9CZSgndGFza3MnKVxuICAgIGV4cGVjdChtYXBNYWlhU2VjdGlvblRvRnVhc0FwaVNlY3Rpb24oJ3BsYW5uZXInKSkudG9CZSgncGxhbm5lcicpXG4gICAgZXhwZWN0KG1hcE1haWFTZWN0aW9uVG9GdWFzQXBpU2VjdGlvbignaGVhZGVyJykpLnRvQmUoJ2hvbWUnKVxuICB9KVxufSlcblxuZGVzY3JpYmUoJ3VzZUZyZXF1ZW50bHlVc2VkQWN0aW9ucycsICgpID0+IHtcbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgamVzdC5jbGVhckFsbE1vY2tzKClcbiAgICBjbGVhckZyZXF1ZW50bHlVc2VkQWN0aW9uc0NhY2hlKClcbiAgICBnZXRGcmVxdWVudGx5VXNlZEFjdGlvbnNNb2NrLm1vY2tSZXNvbHZlZFZhbHVlKHtcbiAgICAgIGRhdGE6IFt7IGlkOiAnYWN0aW9uLTEnLCBuYW1lOiAnU3VtbWFyaXplJyB9XSxcbiAgICB9IGFzIG5ldmVyKVxuICB9KVxuXG4gIGl0KCdsb2FkcyBhY3Rpb25zIHdoZW4gYWdlbnRJZCBpcyBwcm92aWRlZCcsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB7IHJlc3VsdCB9ID0gcmVuZGVySG9vaygoKSA9PiB1c2VGcmVxdWVudGx5VXNlZEFjdGlvbnMoJ2FnZW50LTEnLCAndGFzaycsICdwcm9qZWN0JykpXG5cbiAgICBhd2FpdCB3YWl0Rm9yKCgpID0+IGV4cGVjdChyZXN1bHQuY3VycmVudC5sb2FkaW5nKS50b0JlKGZhbHNlKSlcblxuICAgIGV4cGVjdChnZXRGcmVxdWVudGx5VXNlZEFjdGlvbnNNb2NrKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh7XG4gICAgICBhZ2VudElkOiAnYWdlbnQtMScsXG4gICAgICBsYW5nOiAnZXMnLFxuICAgICAgc2VjdGlvbjogJ3Rhc2tzJyxcbiAgICAgIGVudGl0eVR5cGU6ICdwcm9qZWN0JyxcbiAgICB9KVxuICAgIGV4cGVjdChyZXN1bHQuY3VycmVudC5hY3Rpb25zKS50b0VxdWFsKFt7IGlkOiAnYWN0aW9uLTEnLCBuYW1lOiAnU3VtbWFyaXplJyB9XSlcbiAgfSlcblxuICBpdCgnZG9lcyBub3QgZmV0Y2ggd2l0aG91dCBhbiBhZ2VudCBpZCcsICgpID0+IHtcbiAgICByZW5kZXJIb29rKCgpID0+IHVzZUZyZXF1ZW50bHlVc2VkQWN0aW9ucyh1bmRlZmluZWQsICdoZWFkZXInKSlcblxuICAgIGV4cGVjdChnZXRGcmVxdWVudGx5VXNlZEFjdGlvbnNNb2NrKS5ub3QudG9IYXZlQmVlbkNhbGxlZCgpXG4gIH0pXG5cbiAgaXQoJ3NldHMgZXJyb3Igd2hlbiB0aGUgcmVzcG9uc2UgaXMgaW52YWxpZCcsIGFzeW5jICgpID0+IHtcbiAgICBnZXRGcmVxdWVudGx5VXNlZEFjdGlvbnNNb2NrLm1vY2tSZXNvbHZlZFZhbHVlKHsgZGF0YTogbnVsbCB9IGFzIG5ldmVyKVxuICAgIGNvbnN0IHsgcmVzdWx0IH0gPSByZW5kZXJIb29rKCgpID0+IHVzZUZyZXF1ZW50bHlVc2VkQWN0aW9ucygnYWdlbnQtMicsICdoZWFkZXInKSlcblxuICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4gZXhwZWN0KHJlc3VsdC5jdXJyZW50LmVycm9yKS50b0JlVHJ1dGh5KCkpXG5cbiAgICBleHBlY3QocmVzdWx0LmN1cnJlbnQuZXJyb3IpLnRvQmUoJ0ludmFsaWQgcmVzcG9uc2UgZm9ybWF0IGZyb20gc2VydmVyJylcbiAgICBleHBlY3QocmVzdWx0LmN1cnJlbnQuYWN0aW9ucykudG9FcXVhbChbXSlcbiAgfSlcblxuICBpdCgnc3VwcG9ydHMgbWFudWFsIHJlZmV0Y2gnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgeyByZXN1bHQgfSA9IHJlbmRlckhvb2soKCkgPT4gdXNlRnJlcXVlbnRseVVzZWRBY3Rpb25zKHVuZGVmaW5lZCwgJ3BsYW5uZXInKSlcblxuICAgIGF3YWl0IGFjdChhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCByZXN1bHQuY3VycmVudC5oYW5kbGVHZXRGcmVxdWVudGx5VXNlZEFjdGlvbnMoJ2FnZW50LTMnKVxuICAgIH0pXG5cbiAgICBleHBlY3QoZ2V0RnJlcXVlbnRseVVzZWRBY3Rpb25zTW9jaykudG9IYXZlQmVlbkNhbGxlZFdpdGgoe1xuICAgICAgYWdlbnRJZDogJ2FnZW50LTMnLFxuICAgICAgbGFuZzogJ2VzJyxcbiAgICAgIHNlY3Rpb246ICdwbGFubmVyJyxcbiAgICAgIGVudGl0eVR5cGU6IHVuZGVmaW5lZCxcbiAgICB9KVxuICB9KVxuXG4gIGl0KCdkZWZhdWx0cyB0byB0aGUgaG9tZSBzZWN0aW9uIHdoZW4gbm8gbWFpYSBzZWN0aW9uIGlzIGdpdmVuJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgcmVzdWx0IH0gPSByZW5kZXJIb29rKCgpID0+IHVzZUZyZXF1ZW50bHlVc2VkQWN0aW9ucygnYWdlbnQtNCcpKVxuXG4gICAgYXdhaXQgd2FpdEZvcigoKSA9PiBleHBlY3QocmVzdWx0LmN1cnJlbnQubG9hZGluZykudG9CZShmYWxzZSkpXG5cbiAgICBleHBlY3QoZ2V0RnJlcXVlbnRseVVzZWRBY3Rpb25zTW9jaykudG9IYXZlQmVlbkNhbGxlZFdpdGgoZXhwZWN0Lm9iamVjdENvbnRhaW5pbmcoeyBzZWN0aW9uOiAnaG9tZScgfSkpXG4gIH0pXG5cbiAgaXQoJ3Nob3dzIGNhY2hlZCBhY3Rpb25zIHJpZ2h0IGF3YXkgYW5kIHJlZnJlc2hlcyB0aGVtIGluIHRoZSBiYWNrZ3JvdW5kJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGNhY2hlZCA9IFt7IGlkOiAnY2FjaGVkJywgdGl0bGU6ICdDYWNoZWQnIH1dIGFzIEFjdGlvbltdXG4gICAgc2V0Q2FjaGVkRnJlcXVlbnRseVVzZWRBY3Rpb25zKGJ1aWxkRnJlcXVlbnRseVVzZWRBY3Rpb25zQ2FjaGVLZXkoJ2FnZW50LTUnLCAnaG9tZScpLCBjYWNoZWQpXG5cbiAgICBjb25zdCB7IHJlc3VsdCB9ID0gcmVuZGVySG9vaygoKSA9PiB1c2VGcmVxdWVudGx5VXNlZEFjdGlvbnMoJ2FnZW50LTUnLCAnaGVhZGVyJykpXG5cbiAgICBleHBlY3QocmVzdWx0LmN1cnJlbnQuYWN0aW9ucykudG9FcXVhbChjYWNoZWQpXG4gICAgZXhwZWN0KHJlc3VsdC5jdXJyZW50LmxvYWRpbmcpLnRvQmUoZmFsc2UpXG4gICAgYXdhaXQgd2FpdEZvcigoKSA9PiBleHBlY3QocmVzdWx0LmN1cnJlbnQuYWN0aW9ucykudG9FcXVhbChbeyBpZDogJ2FjdGlvbi0xJywgbmFtZTogJ1N1bW1hcml6ZScgfV0pKVxuICB9KVxuXG4gIGl0KCdyZXBvcnRzIGEgZ2VuZXJpYyBtZXNzYWdlIHdoZW4gYSBub24gRXJyb3IgdmFsdWUgaXMgdGhyb3duJywgYXN5bmMgKCkgPT4ge1xuICAgIGdldEZyZXF1ZW50bHlVc2VkQWN0aW9uc01vY2subW9ja1JlamVjdGVkVmFsdWUoJ2Jvb20nKVxuICAgIGplc3Quc3B5T24oY29uc29sZSwgJ2Vycm9yJykubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IHVuZGVmaW5lZClcbiAgICBjb25zdCB7IHJlc3VsdCB9ID0gcmVuZGVySG9vaygoKSA9PiB1c2VGcmVxdWVudGx5VXNlZEFjdGlvbnMoJ2FnZW50LTYnLCAnaGVhZGVyJykpXG5cbiAgICBhd2FpdCB3YWl0Rm9yKCgpID0+IGV4cGVjdChyZXN1bHQuY3VycmVudC5lcnJvcikudG9CZSgnQW4gdW5rbm93biBlcnJvciBvY2N1cnJlZCcpKVxuICB9KVxuXG4gIGl0KCdpZ25vcmVzIHJlc3BvbnNlcyBhbmQgZXJyb3JzIGZyb20gc3VwZXJzZWRlZCByZXF1ZXN0cycsIGFzeW5jICgpID0+IHtcbiAgICBsZXQgcmVzb2x2ZUZpcnN0OiAodmFsdWU6IHVua25vd24pID0+IHZvaWQgPSAoKSA9PiB1bmRlZmluZWRcbiAgICBsZXQgcmVqZWN0U2Vjb25kOiAocmVhc29uOiB1bmtub3duKSA9PiB2b2lkID0gKCkgPT4gdW5kZWZpbmVkXG4gICAgZ2V0RnJlcXVlbnRseVVzZWRBY3Rpb25zTW9ja1xuICAgICAgLm1vY2tJbXBsZW1lbnRhdGlvbk9uY2UoXG4gICAgICAgICgpID0+XG4gICAgICAgICAgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XG4gICAgICAgICAgICByZXNvbHZlRmlyc3QgPSByZXNvbHZlXG4gICAgICAgICAgfSkgYXMgbmV2ZXJcbiAgICAgIClcbiAgICAgIC5tb2NrSW1wbGVtZW50YXRpb25PbmNlKFxuICAgICAgICAoKSA9PlxuICAgICAgICAgIG5ldyBQcm9taXNlKChfLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIHJlamVjdFNlY29uZCA9IHJlamVjdFxuICAgICAgICAgIH0pIGFzIG5ldmVyXG4gICAgICApXG4gICAgICAubW9ja1Jlc29sdmVkVmFsdWUoeyBkYXRhOiBbeyBpZDogJ2xhdGVzdCcsIHRpdGxlOiAnTGF0ZXN0JyB9XSB9IGFzIG5ldmVyKVxuXG4gICAgY29uc3QgeyByZXN1bHQgfSA9IHJlbmRlckhvb2soKCkgPT4gdXNlRnJlcXVlbnRseVVzZWRBY3Rpb25zKHVuZGVmaW5lZCwgJ2hlYWRlcicpKVxuXG4gICAgbGV0IGZpcnN0OiBQcm9taXNlPHZvaWQ+ID0gUHJvbWlzZS5yZXNvbHZlKClcbiAgICBsZXQgc2Vjb25kOiBQcm9taXNlPHZvaWQ+ID0gUHJvbWlzZS5yZXNvbHZlKClcbiAgICBhY3QoKCkgPT4ge1xuICAgICAgZmlyc3QgPSByZXN1bHQuY3VycmVudC5oYW5kbGVHZXRGcmVxdWVudGx5VXNlZEFjdGlvbnMoJ2FnZW50LTcnKVxuICAgICAgc2Vjb25kID0gcmVzdWx0LmN1cnJlbnQuaGFuZGxlR2V0RnJlcXVlbnRseVVzZWRBY3Rpb25zKCdhZ2VudC03JylcbiAgICB9KVxuICAgIGF3YWl0IGFjdChhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCByZXN1bHQuY3VycmVudC5oYW5kbGVHZXRGcmVxdWVudGx5VXNlZEFjdGlvbnMoJ2FnZW50LTcnKVxuICAgIH0pXG4gICAgYXdhaXQgYWN0KGFzeW5jICgpID0+IHtcbiAgICAgIHJlc29sdmVGaXJzdCh7IGRhdGE6IFt7IGlkOiAnc3RhbGUnLCB0aXRsZTogJ1N0YWxlJyB9XSB9KVxuICAgICAgcmVqZWN0U2Vjb25kKG5ldyBFcnJvcignc3RhbGUgZXJyb3InKSlcbiAgICAgIGF3YWl0IGZpcnN0XG4gICAgICBhd2FpdCBzZWNvbmRcbiAgICB9KVxuXG4gICAgZXhwZWN0KHJlc3VsdC5jdXJyZW50LmFjdGlvbnMpLnRvRXF1YWwoW3sgaWQ6ICdsYXRlc3QnLCB0aXRsZTogJ0xhdGVzdCcgfV0pXG4gICAgZXhwZWN0KHJlc3VsdC5jdXJyZW50LmVycm9yKS50b0JlTnVsbCgpXG4gIH0pXG59KVxuIl0s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
@@ -0,0 +1,26 @@
1
+ import { act, renderHook } from '@testing-library/react';
2
+ import { useIsMaiaPageRoute } from './useIsMaiaPageRoute';
3
+ import { MAIA_PAGE_ROOT_ATTR, setMaiaPagePresence } from '../utils/maiaPageRoute';
4
+ describe('useIsMaiaPageRoute', function () {
5
+ afterEach(function () {
6
+ document.documentElement.removeAttribute(MAIA_PAGE_ROOT_ATTR);
7
+ window.history.replaceState({}, '', '/');
8
+ });
9
+ it('follows the maia page presence without changing other state', function () {
10
+ window.history.replaceState({}, '', '/tasks');
11
+ var _renderHook = renderHook(function () {
12
+ return useIsMaiaPageRoute();
13
+ }),
14
+ result = _renderHook.result;
15
+ expect(result.current).toBe(false);
16
+ act(function () {
17
+ setMaiaPagePresence(true);
18
+ });
19
+ expect(result.current).toBe(true);
20
+ act(function () {
21
+ setMaiaPagePresence(false);
22
+ });
23
+ expect(result.current).toBe(false);
24
+ });
25
+ });
26
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhY3QiLCJyZW5kZXJIb29rIiwidXNlSXNNYWlhUGFnZVJvdXRlIiwiTUFJQV9QQUdFX1JPT1RfQVRUUiIsInNldE1haWFQYWdlUHJlc2VuY2UiLCJkZXNjcmliZSIsImFmdGVyRWFjaCIsImRvY3VtZW50IiwiZG9jdW1lbnRFbGVtZW50IiwicmVtb3ZlQXR0cmlidXRlIiwid2luZG93IiwiaGlzdG9yeSIsInJlcGxhY2VTdGF0ZSIsIml0IiwiX3JlbmRlckhvb2siLCJyZXN1bHQiLCJleHBlY3QiLCJjdXJyZW50IiwidG9CZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VJc01haWFQYWdlUm91dGUuc3BlYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhY3QsIHJlbmRlckhvb2sgfSBmcm9tICdAdGVzdGluZy1saWJyYXJ5L3JlYWN0J1xuaW1wb3J0IHsgdXNlSXNNYWlhUGFnZVJvdXRlIH0gZnJvbSAnLi91c2VJc01haWFQYWdlUm91dGUnXG5pbXBvcnQgeyBNQUlBX1BBR0VfUk9PVF9BVFRSLCBzZXRNYWlhUGFnZVByZXNlbmNlIH0gZnJvbSAnLi4vdXRpbHMvbWFpYVBhZ2VSb3V0ZSdcblxuZGVzY3JpYmUoJ3VzZUlzTWFpYVBhZ2VSb3V0ZScsICgpID0+IHtcbiAgYWZ0ZXJFYWNoKCgpID0+IHtcbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKE1BSUFfUEFHRV9ST09UX0FUVFIpXG4gICAgd2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKHt9LCAnJywgJy8nKVxuICB9KVxuXG4gIGl0KCdmb2xsb3dzIHRoZSBtYWlhIHBhZ2UgcHJlc2VuY2Ugd2l0aG91dCBjaGFuZ2luZyBvdGhlciBzdGF0ZScsICgpID0+IHtcbiAgICB3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUoe30sICcnLCAnL3Rhc2tzJylcbiAgICBjb25zdCB7IHJlc3VsdCB9ID0gcmVuZGVySG9vaygoKSA9PiB1c2VJc01haWFQYWdlUm91dGUoKSlcbiAgICBleHBlY3QocmVzdWx0LmN1cnJlbnQpLnRvQmUoZmFsc2UpXG5cbiAgICBhY3QoKCkgPT4ge1xuICAgICAgc2V0TWFpYVBhZ2VQcmVzZW5jZSh0cnVlKVxuICAgIH0pXG4gICAgZXhwZWN0KHJlc3VsdC5jdXJyZW50KS50b0JlKHRydWUpXG5cbiAgICBhY3QoKCkgPT4ge1xuICAgICAgc2V0TWFpYVBhZ2VQcmVzZW5jZShmYWxzZSlcbiAgICB9KVxuICAgIGV4cGVjdChyZXN1bHQuY3VycmVudCkudG9CZShmYWxzZSlcbiAgfSlcbn0pXG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLEdBQUcsRUFBRUMsVUFBVSxRQUFRLHdCQUF3QjtBQUN4RCxTQUFTQyxrQkFBa0IsUUFBUSxzQkFBc0I7QUFDekQsU0FBU0MsbUJBQW1CLEVBQUVDLG1CQUFtQixRQUFRLHdCQUF3QjtBQUVqRkMsUUFBUSxDQUFDLG9CQUFvQixFQUFFLFlBQU07RUFDbkNDLFNBQVMsQ0FBQyxZQUFNO0lBQ2RDLFFBQVEsQ0FBQ0MsZUFBZSxDQUFDQyxlQUFlLENBQUNOLG1CQUFtQixDQUFDO0lBQzdETyxNQUFNLENBQUNDLE9BQU8sQ0FBQ0MsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUM7RUFDMUMsQ0FBQyxDQUFDO0VBRUZDLEVBQUUsQ0FBQyw2REFBNkQsRUFBRSxZQUFNO0lBQ3RFSCxNQUFNLENBQUNDLE9BQU8sQ0FBQ0MsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxRQUFRLENBQUM7SUFDN0MsSUFBQUUsV0FBQSxHQUFtQmIsVUFBVSxDQUFDO1FBQUEsT0FBTUMsa0JBQWtCLENBQUMsQ0FBQztNQUFBLEVBQUM7TUFBakRhLE1BQU0sR0FBQUQsV0FBQSxDQUFOQyxNQUFNO0lBQ2RDLE1BQU0sQ0FBQ0QsTUFBTSxDQUFDRSxPQUFPLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUVsQ2xCLEdBQUcsQ0FBQyxZQUFNO01BQ1JJLG1CQUFtQixDQUFDLElBQUksQ0FBQztJQUMzQixDQUFDLENBQUM7SUFDRlksTUFBTSxDQUFDRCxNQUFNLENBQUNFLE9BQU8sQ0FBQyxDQUFDQyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBRWpDbEIsR0FBRyxDQUFDLFlBQU07TUFDUkksbUJBQW1CLENBQUMsS0FBSyxDQUFDO0lBQzVCLENBQUMsQ0FBQztJQUNGWSxNQUFNLENBQUNELE1BQU0sQ0FBQ0UsT0FBTyxDQUFDLENBQUNDLElBQUksQ0FBQyxLQUFLLENBQUM7RUFDcEMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,122 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
+ import { act, renderHook } from '@testing-library/react';
4
+ import { deleteKnowledge } from '../../services/maia/Knowledge';
5
+ import { useDeleteKnowledge } from './deleteKnowledge';
6
+ jest.mock('../../services/maia/Knowledge', function () {
7
+ return {
8
+ deleteKnowledge: jest.fn()
9
+ };
10
+ });
11
+ var handleSnackbarError = jest.fn();
12
+ jest.mock('../useSnackBarManager/useSnackBarManager', function () {
13
+ return {
14
+ useSnackBarManager: function useSnackBarManager() {
15
+ return {
16
+ handleSnackbarError: handleSnackbarError
17
+ };
18
+ }
19
+ };
20
+ });
21
+ var deleteKnowledgeMock = deleteKnowledge;
22
+ describe('useDeleteKnowledge', function () {
23
+ beforeEach(function () {
24
+ jest.clearAllMocks();
25
+ deleteKnowledgeMock.mockResolvedValue(true);
26
+ });
27
+ it('deletes knowledge and marks success', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
28
+ var _renderHook, result;
29
+ return _regeneratorRuntime.wrap(function (_context2) {
30
+ while (1) switch (_context2.prev = _context2.next) {
31
+ case 0:
32
+ _renderHook = renderHook(function () {
33
+ return useDeleteKnowledge();
34
+ }), result = _renderHook.result;
35
+ _context2.next = 1;
36
+ return act(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
37
+ return _regeneratorRuntime.wrap(function (_context) {
38
+ while (1) switch (_context.prev = _context.next) {
39
+ case 0:
40
+ _context.next = 1;
41
+ return result.current.handleDeleteKnowledge(['kb-1', 'kb-2'], 'agent-1');
42
+ case 1:
43
+ case "end":
44
+ return _context.stop();
45
+ }
46
+ }, _callee);
47
+ })));
48
+ case 1:
49
+ expect(deleteKnowledgeMock).toHaveBeenCalledWith(['kb-1', 'kb-2'], 'agent-1');
50
+ expect(result.current.success).toBe(true);
51
+ expect(result.current.error).toBeNull();
52
+ case 2:
53
+ case "end":
54
+ return _context2.stop();
55
+ }
56
+ }, _callee2);
57
+ })));
58
+ it('sets error and rethrows when delete fails', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
59
+ var _renderHook2, result;
60
+ return _regeneratorRuntime.wrap(function (_context4) {
61
+ while (1) switch (_context4.prev = _context4.next) {
62
+ case 0:
63
+ deleteKnowledgeMock.mockRejectedValue(new Error('Delete failed'));
64
+ _renderHook2 = renderHook(function () {
65
+ return useDeleteKnowledge();
66
+ }), result = _renderHook2.result;
67
+ _context4.next = 1;
68
+ return act(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
69
+ return _regeneratorRuntime.wrap(function (_context3) {
70
+ while (1) switch (_context3.prev = _context3.next) {
71
+ case 0:
72
+ _context3.next = 1;
73
+ return expect(result.current.handleDeleteKnowledge(['kb-1'], 'agent-1')).rejects.toThrow('Delete failed');
74
+ case 1:
75
+ case "end":
76
+ return _context3.stop();
77
+ }
78
+ }, _callee3);
79
+ })));
80
+ case 1:
81
+ expect(result.current.error).toBe('Delete failed');
82
+ expect(handleSnackbarError).toHaveBeenCalledWith('deleteKnowledge');
83
+ case 2:
84
+ case "end":
85
+ return _context4.stop();
86
+ }
87
+ }, _callee4);
88
+ })));
89
+ it('resetSuccess clears the success flag', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee6() {
90
+ var _renderHook3, result;
91
+ return _regeneratorRuntime.wrap(function (_context6) {
92
+ while (1) switch (_context6.prev = _context6.next) {
93
+ case 0:
94
+ _renderHook3 = renderHook(function () {
95
+ return useDeleteKnowledge();
96
+ }), result = _renderHook3.result;
97
+ _context6.next = 1;
98
+ return act(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee5() {
99
+ return _regeneratorRuntime.wrap(function (_context5) {
100
+ while (1) switch (_context5.prev = _context5.next) {
101
+ case 0:
102
+ _context5.next = 1;
103
+ return result.current.handleDeleteKnowledge(['kb-1'], 'agent-1');
104
+ case 1:
105
+ case "end":
106
+ return _context5.stop();
107
+ }
108
+ }, _callee5);
109
+ })));
110
+ case 1:
111
+ act(function () {
112
+ result.current.handleResetSuccess();
113
+ });
114
+ expect(result.current.success).toBe(false);
115
+ case 2:
116
+ case "end":
117
+ return _context6.stop();
118
+ }
119
+ }, _callee6);
120
+ })));
121
+ });
122
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhY3QiLCJyZW5kZXJIb29rIiwiZGVsZXRlS25vd2xlZGdlIiwidXNlRGVsZXRlS25vd2xlZGdlIiwiamVzdCIsIm1vY2siLCJmbiIsImhhbmRsZVNuYWNrYmFyRXJyb3IiLCJ1c2VTbmFja0Jhck1hbmFnZXIiLCJkZWxldGVLbm93bGVkZ2VNb2NrIiwiZGVzY3JpYmUiLCJiZWZvcmVFYWNoIiwiY2xlYXJBbGxNb2NrcyIsIm1vY2tSZXNvbHZlZFZhbHVlIiwiaXQiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZTIiLCJfcmVuZGVySG9vayIsInJlc3VsdCIsIndyYXAiLCJfY29udGV4dDIiLCJwcmV2IiwibmV4dCIsIl9jYWxsZWUiLCJfY29udGV4dCIsImN1cnJlbnQiLCJoYW5kbGVEZWxldGVLbm93bGVkZ2UiLCJzdG9wIiwiZXhwZWN0IiwidG9IYXZlQmVlbkNhbGxlZFdpdGgiLCJzdWNjZXNzIiwidG9CZSIsImVycm9yIiwidG9CZU51bGwiLCJfY2FsbGVlNCIsIl9yZW5kZXJIb29rMiIsIl9jb250ZXh0NCIsIm1vY2tSZWplY3RlZFZhbHVlIiwiRXJyb3IiLCJfY2FsbGVlMyIsIl9jb250ZXh0MyIsInJlamVjdHMiLCJ0b1Rocm93IiwiX2NhbGxlZTYiLCJfcmVuZGVySG9vazMiLCJfY29udGV4dDYiLCJfY2FsbGVlNSIsIl9jb250ZXh0NSIsImhhbmRsZVJlc2V0U3VjY2VzcyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy91c2VLbm93bGVkZ2UvZGVsZXRlS25vd2xlZGdlLnNwZWMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWN0LCByZW5kZXJIb29rIH0gZnJvbSAnQHRlc3RpbmctbGlicmFyeS9yZWFjdCdcbmltcG9ydCB7IGRlbGV0ZUtub3dsZWRnZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21haWEvS25vd2xlZGdlJ1xuaW1wb3J0IHsgdXNlRGVsZXRlS25vd2xlZGdlIH0gZnJvbSAnLi9kZWxldGVLbm93bGVkZ2UnXG5cbmplc3QubW9jaygnLi4vLi4vc2VydmljZXMvbWFpYS9Lbm93bGVkZ2UnLCAoKSA9PiAoe1xuICBkZWxldGVLbm93bGVkZ2U6IGplc3QuZm4oKSxcbn0pKVxuXG5jb25zdCBoYW5kbGVTbmFja2JhckVycm9yID0gamVzdC5mbigpXG5cbmplc3QubW9jaygnLi4vdXNlU25hY2tCYXJNYW5hZ2VyL3VzZVNuYWNrQmFyTWFuYWdlcicsICgpID0+ICh7XG4gIHVzZVNuYWNrQmFyTWFuYWdlcjogKCkgPT4gKHsgaGFuZGxlU25hY2tiYXJFcnJvciB9KSxcbn0pKVxuXG5jb25zdCBkZWxldGVLbm93bGVkZ2VNb2NrID0gZGVsZXRlS25vd2xlZGdlIGFzIGplc3QuTW9ja2VkRnVuY3Rpb248dHlwZW9mIGRlbGV0ZUtub3dsZWRnZT5cblxuZGVzY3JpYmUoJ3VzZURlbGV0ZUtub3dsZWRnZScsICgpID0+IHtcbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgamVzdC5jbGVhckFsbE1vY2tzKClcbiAgICBkZWxldGVLbm93bGVkZ2VNb2NrLm1vY2tSZXNvbHZlZFZhbHVlKHRydWUpXG4gIH0pXG5cbiAgaXQoJ2RlbGV0ZXMga25vd2xlZGdlIGFuZCBtYXJrcyBzdWNjZXNzJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgcmVzdWx0IH0gPSByZW5kZXJIb29rKCgpID0+IHVzZURlbGV0ZUtub3dsZWRnZSgpKVxuXG4gICAgYXdhaXQgYWN0KGFzeW5jICgpID0+IHtcbiAgICAgIGF3YWl0IHJlc3VsdC5jdXJyZW50LmhhbmRsZURlbGV0ZUtub3dsZWRnZShbJ2tiLTEnLCAna2ItMiddLCAnYWdlbnQtMScpXG4gICAgfSlcblxuICAgIGV4cGVjdChkZWxldGVLbm93bGVkZ2VNb2NrKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChbJ2tiLTEnLCAna2ItMiddLCAnYWdlbnQtMScpXG4gICAgZXhwZWN0KHJlc3VsdC5jdXJyZW50LnN1Y2Nlc3MpLnRvQmUodHJ1ZSlcbiAgICBleHBlY3QocmVzdWx0LmN1cnJlbnQuZXJyb3IpLnRvQmVOdWxsKClcbiAgfSlcblxuICBpdCgnc2V0cyBlcnJvciBhbmQgcmV0aHJvd3Mgd2hlbiBkZWxldGUgZmFpbHMnLCBhc3luYyAoKSA9PiB7XG4gICAgZGVsZXRlS25vd2xlZGdlTW9jay5tb2NrUmVqZWN0ZWRWYWx1ZShuZXcgRXJyb3IoJ0RlbGV0ZSBmYWlsZWQnKSlcbiAgICBjb25zdCB7IHJlc3VsdCB9ID0gcmVuZGVySG9vaygoKSA9PiB1c2VEZWxldGVLbm93bGVkZ2UoKSlcblxuICAgIGF3YWl0IGFjdChhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCBleHBlY3QocmVzdWx0LmN1cnJlbnQuaGFuZGxlRGVsZXRlS25vd2xlZGdlKFsna2ItMSddLCAnYWdlbnQtMScpKS5yZWplY3RzLnRvVGhyb3coJ0RlbGV0ZSBmYWlsZWQnKVxuICAgIH0pXG5cbiAgICBleHBlY3QocmVzdWx0LmN1cnJlbnQuZXJyb3IpLnRvQmUoJ0RlbGV0ZSBmYWlsZWQnKVxuICAgIGV4cGVjdChoYW5kbGVTbmFja2JhckVycm9yKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCgnZGVsZXRlS25vd2xlZGdlJylcbiAgfSlcblxuICBpdCgncmVzZXRTdWNjZXNzIGNsZWFycyB0aGUgc3VjY2VzcyBmbGFnJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgcmVzdWx0IH0gPSByZW5kZXJIb29rKCgpID0+IHVzZURlbGV0ZUtub3dsZWRnZSgpKVxuXG4gICAgYXdhaXQgYWN0KGFzeW5jICgpID0+IHtcbiAgICAgIGF3YWl0IHJlc3VsdC5jdXJyZW50LmhhbmRsZURlbGV0ZUtub3dsZWRnZShbJ2tiLTEnXSwgJ2FnZW50LTEnKVxuICAgIH0pXG5cbiAgICBhY3QoKCkgPT4ge1xuICAgICAgcmVzdWx0LmN1cnJlbnQuaGFuZGxlUmVzZXRTdWNjZXNzKClcbiAgICB9KVxuXG4gICAgZXhwZWN0KHJlc3VsdC5jdXJyZW50LnN1Y2Nlc3MpLnRvQmUoZmFsc2UpXG4gIH0pXG59KVxuIl0sIm1hcHBpbmdzIjoiOztBQUFBLFNBQVNBLEdBQUcsRUFBRUMsVUFBVSxRQUFRLHdCQUF3QjtBQUN4RCxTQUFTQyxlQUFlLFFBQVEsK0JBQStCO0FBQy9ELFNBQVNDLGtCQUFrQixRQUFRLG1CQUFtQjtBQUV0REMsSUFBSSxDQUFDQyxJQUFJLENBQUMsK0JBQStCLEVBQUU7RUFBQSxPQUFPO0lBQ2hESCxlQUFlLEVBQUVFLElBQUksQ0FBQ0UsRUFBRSxDQUFDO0VBQzNCLENBQUM7QUFBQSxDQUFDLENBQUM7QUFFSCxJQUFNQyxtQkFBbUIsR0FBR0gsSUFBSSxDQUFDRSxFQUFFLENBQUMsQ0FBQztBQUVyQ0YsSUFBSSxDQUFDQyxJQUFJLENBQUMsMENBQTBDLEVBQUU7RUFBQSxPQUFPO0lBQzNERyxrQkFBa0IsRUFBRSxTQUFwQkEsa0JBQWtCQSxDQUFBO01BQUEsT0FBUztRQUFFRCxtQkFBbUIsRUFBbkJBO01BQW9CLENBQUM7SUFBQTtFQUNwRCxDQUFDO0FBQUEsQ0FBQyxDQUFDO0FBRUgsSUFBTUUsbUJBQW1CLEdBQUdQLGVBQThEO0FBRTFGUSxRQUFRLENBQUMsb0JBQW9CLEVBQUUsWUFBTTtFQUNuQ0MsVUFBVSxDQUFDLFlBQU07SUFDZlAsSUFBSSxDQUFDUSxhQUFhLENBQUMsQ0FBQztJQUNwQkgsbUJBQW1CLENBQUNJLGlCQUFpQixDQUFDLElBQUksQ0FBQztFQUM3QyxDQUFDLENBQUM7RUFFRkMsRUFBRSxDQUFDLHFDQUFxQyxlQUFBQyxpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBQUUsU0FBQUMsU0FBQTtJQUFBLElBQUFDLFdBQUEsRUFBQUMsTUFBQTtJQUFBLE9BQUFKLG1CQUFBLENBQUFLLElBQUEsV0FBQUMsU0FBQTtNQUFBLGtCQUFBQSxTQUFBLENBQUFDLElBQUEsR0FBQUQsU0FBQSxDQUFBRSxJQUFBO1FBQUE7VUFBQUwsV0FBQSxHQUNyQmxCLFVBQVUsQ0FBQztZQUFBLE9BQU1FLGtCQUFrQixDQUFDLENBQUM7VUFBQSxFQUFDLEVBQWpEaUIsTUFBTSxHQUFBRCxXQUFBLENBQU5DLE1BQU07VUFBQUUsU0FBQSxDQUFBRSxJQUFBO1VBQUEsT0FFUnhCLEdBQUcsY0FBQWUsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUFDLFNBQUFRLFFBQUE7WUFBQSxPQUFBVCxtQkFBQSxDQUFBSyxJQUFBLFdBQUFLLFFBQUE7Y0FBQSxrQkFBQUEsUUFBQSxDQUFBSCxJQUFBLEdBQUFHLFFBQUEsQ0FBQUYsSUFBQTtnQkFBQTtrQkFBQUUsUUFBQSxDQUFBRixJQUFBO2tCQUFBLE9BQ0ZKLE1BQU0sQ0FBQ08sT0FBTyxDQUFDQyxxQkFBcUIsQ0FBQyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsRUFBRSxTQUFTLENBQUM7Z0JBQUE7Z0JBQUE7a0JBQUEsT0FBQUYsUUFBQSxDQUFBRyxJQUFBO2NBQUE7WUFBQSxHQUFBSixPQUFBO1VBQUEsQ0FDeEUsR0FBQztRQUFBO1VBRUZLLE1BQU0sQ0FBQ3JCLG1CQUFtQixDQUFDLENBQUNzQixvQkFBb0IsQ0FBQyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsRUFBRSxTQUFTLENBQUM7VUFDN0VELE1BQU0sQ0FBQ1YsTUFBTSxDQUFDTyxPQUFPLENBQUNLLE9BQU8sQ0FBQyxDQUFDQyxJQUFJLENBQUMsSUFBSSxDQUFDO1VBQ3pDSCxNQUFNLENBQUNWLE1BQU0sQ0FBQ08sT0FBTyxDQUFDTyxLQUFLLENBQUMsQ0FBQ0MsUUFBUSxDQUFDLENBQUM7UUFBQTtRQUFBO1VBQUEsT0FBQWIsU0FBQSxDQUFBTyxJQUFBO01BQUE7SUFBQSxHQUFBWCxRQUFBO0VBQUEsQ0FDeEMsR0FBQztFQUVGSixFQUFFLENBQUMsMkNBQTJDLGVBQUFDLGlCQUFBLGNBQUFDLG1CQUFBLENBQUFDLElBQUEsQ0FBRSxTQUFBbUIsU0FBQTtJQUFBLElBQUFDLFlBQUEsRUFBQWpCLE1BQUE7SUFBQSxPQUFBSixtQkFBQSxDQUFBSyxJQUFBLFdBQUFpQixTQUFBO01BQUEsa0JBQUFBLFNBQUEsQ0FBQWYsSUFBQSxHQUFBZSxTQUFBLENBQUFkLElBQUE7UUFBQTtVQUM5Q2YsbUJBQW1CLENBQUM4QixpQkFBaUIsQ0FBQyxJQUFJQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7VUFBQUgsWUFBQSxHQUM5Q3BDLFVBQVUsQ0FBQztZQUFBLE9BQU1FLGtCQUFrQixDQUFDLENBQUM7VUFBQSxFQUFDLEVBQWpEaUIsTUFBTSxHQUFBaUIsWUFBQSxDQUFOakIsTUFBTTtVQUFBa0IsU0FBQSxDQUFBZCxJQUFBO1VBQUEsT0FFUnhCLEdBQUcsY0FBQWUsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUFDLFNBQUF3QixTQUFBO1lBQUEsT0FBQXpCLG1CQUFBLENBQUFLLElBQUEsV0FBQXFCLFNBQUE7Y0FBQSxrQkFBQUEsU0FBQSxDQUFBbkIsSUFBQSxHQUFBbUIsU0FBQSxDQUFBbEIsSUFBQTtnQkFBQTtrQkFBQWtCLFNBQUEsQ0FBQWxCLElBQUE7a0JBQUEsT0FDRk0sTUFBTSxDQUFDVixNQUFNLENBQUNPLE9BQU8sQ0FBQ0MscUJBQXFCLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDZSxPQUFPLENBQUNDLE9BQU8sQ0FBQyxlQUFlLENBQUM7Z0JBQUE7Z0JBQUE7a0JBQUEsT0FBQUYsU0FBQSxDQUFBYixJQUFBO2NBQUE7WUFBQSxHQUFBWSxRQUFBO1VBQUEsQ0FDekcsR0FBQztRQUFBO1VBRUZYLE1BQU0sQ0FBQ1YsTUFBTSxDQUFDTyxPQUFPLENBQUNPLEtBQUssQ0FBQyxDQUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDO1VBQ2xESCxNQUFNLENBQUN2QixtQkFBbUIsQ0FBQyxDQUFDd0Isb0JBQW9CLENBQUMsaUJBQWlCLENBQUM7UUFBQTtRQUFBO1VBQUEsT0FBQU8sU0FBQSxDQUFBVCxJQUFBO01BQUE7SUFBQSxHQUFBTyxRQUFBO0VBQUEsQ0FDcEUsR0FBQztFQUVGdEIsRUFBRSxDQUFDLHNDQUFzQyxlQUFBQyxpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBQUUsU0FBQTRCLFNBQUE7SUFBQSxJQUFBQyxZQUFBLEVBQUExQixNQUFBO0lBQUEsT0FBQUosbUJBQUEsQ0FBQUssSUFBQSxXQUFBMEIsU0FBQTtNQUFBLGtCQUFBQSxTQUFBLENBQUF4QixJQUFBLEdBQUF3QixTQUFBLENBQUF2QixJQUFBO1FBQUE7VUFBQXNCLFlBQUEsR0FDdEI3QyxVQUFVLENBQUM7WUFBQSxPQUFNRSxrQkFBa0IsQ0FBQyxDQUFDO1VBQUEsRUFBQyxFQUFqRGlCLE1BQU0sR0FBQTBCLFlBQUEsQ0FBTjFCLE1BQU07VUFBQTJCLFNBQUEsQ0FBQXZCLElBQUE7VUFBQSxPQUVSeEIsR0FBRyxjQUFBZSxpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBQUMsU0FBQStCLFNBQUE7WUFBQSxPQUFBaEMsbUJBQUEsQ0FBQUssSUFBQSxXQUFBNEIsU0FBQTtjQUFBLGtCQUFBQSxTQUFBLENBQUExQixJQUFBLEdBQUEwQixTQUFBLENBQUF6QixJQUFBO2dCQUFBO2tCQUFBeUIsU0FBQSxDQUFBekIsSUFBQTtrQkFBQSxPQUNGSixNQUFNLENBQUNPLE9BQU8sQ0FBQ0MscUJBQXFCLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxTQUFTLENBQUM7Z0JBQUE7Z0JBQUE7a0JBQUEsT0FBQXFCLFNBQUEsQ0FBQXBCLElBQUE7Y0FBQTtZQUFBLEdBQUFtQixRQUFBO1VBQUEsQ0FDaEUsR0FBQztRQUFBO1VBRUZoRCxHQUFHLENBQUMsWUFBTTtZQUNSb0IsTUFBTSxDQUFDTyxPQUFPLENBQUN1QixrQkFBa0IsQ0FBQyxDQUFDO1VBQ3JDLENBQUMsQ0FBQztVQUVGcEIsTUFBTSxDQUFDVixNQUFNLENBQUNPLE9BQU8sQ0FBQ0ssT0FBTyxDQUFDLENBQUNDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFBQTtRQUFBO1VBQUEsT0FBQWMsU0FBQSxDQUFBbEIsSUFBQTtNQUFBO0lBQUEsR0FBQWdCLFFBQUE7RUFBQSxDQUMzQyxHQUFDO0FBQ0osQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
@@ -2,7 +2,7 @@ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  import _regeneratorRuntime from "@babel/runtime/regenerator";
4
4
  /* eslint-disable consistent-return */
5
- import { useState } from 'react';
5
+ import { useCallback, useState } from 'react';
6
6
  import { useTranslation } from 'react-i18next';
7
7
  import { downloadKnowledge } from '../../services/maia/Knowledge/download';
8
8
  import { useSnackBarManager } from '../useSnackBarManager/useSnackBarManager';
@@ -65,11 +65,11 @@ export var useDownloadKnowledge = function useDownloadKnowledge() {
65
65
  return _ref2.apply(this, arguments);
66
66
  };
67
67
  }();
68
- var handleResetStates = function handleResetStates() {
68
+ var handleResetStates = useCallback(function () {
69
69
  setIsLoading(false);
70
70
  setError(null);
71
71
  setSuccess(null);
72
- };
72
+ }, []);
73
73
  return {
74
74
  isLoading: isLoading,
75
75
  error: error,
@@ -78,4 +78,4 @@ export var useDownloadKnowledge = function useDownloadKnowledge() {
78
78
  handleResetStates: handleResetStates
79
79
  };
80
80
  };
81
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZVRyYW5zbGF0aW9uIiwiZG93bmxvYWRLbm93bGVkZ2UiLCJ1c2VTbmFja0Jhck1hbmFnZXIiLCJ1c2VEb3dubG9hZEtub3dsZWRnZSIsIl91c2VUcmFuc2xhdGlvbiIsInQiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJpc0xvYWRpbmciLCJzZXRJc0xvYWRpbmciLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImVycm9yIiwic2V0RXJyb3IiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsInN1Y2Nlc3MiLCJzZXRTdWNjZXNzIiwiX3VzZVNuYWNrQmFyTWFuYWdlciIsImhhbmRsZVNuYWNrYmFyRXJyb3IiLCJoYW5kbGVEb3dubG9hZEtub3dsZWRnZSIsIl9yZWYyIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJfcmVmIiwiYWdlbnRJZCIsImtub3dsZWRnZUlkIiwicmVzcG9uc2UiLCJlcnJvck1lc3NhZ2UiLCJfdCIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJuZXh0Iiwic2VudCIsImFicnVwdCIsIkVycm9yIiwibWVzc2FnZSIsImNvbnNvbGUiLCJmaW5pc2giLCJzdG9wIiwiX3giLCJhcHBseSIsImFyZ3VtZW50cyIsImhhbmRsZVJlc2V0U3RhdGVzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL3VzZUtub3dsZWRnZS9kb3dubG9hZEtub3dsZWRnZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBjb25zaXN0ZW50LXJldHVybiAqL1xuaW1wb3J0IHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCB7IGRvd25sb2FkS25vd2xlZGdlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWFpYS9Lbm93bGVkZ2UvZG93bmxvYWQnXG5pbXBvcnQgeyB1c2VTbmFja0Jhck1hbmFnZXIgfSBmcm9tICcuLi91c2VTbmFja0Jhck1hbmFnZXIvdXNlU25hY2tCYXJNYW5hZ2VyJ1xuXG5leHBvcnQgY29uc3QgdXNlRG93bmxvYWRLbm93bGVkZ2UgPSAoKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oJ2FibV9hZ2VudF9zZWN0aW9uJylcbiAgY29uc3QgW2lzTG9hZGluZywgc2V0SXNMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFtzdWNjZXNzLCBzZXRTdWNjZXNzXSA9IHVzZVN0YXRlPHtcbiAgICBibG9iOiBCbG9iXG4gICAgZmlsZW5hbWU6IHN0cmluZ1xuICAgIGNvbnRlbnRUeXBlOiBzdHJpbmdcbiAgICBzaXplOiBudW1iZXJcbiAgfSB8IG51bGw+KG51bGwpXG4gIGNvbnN0IHsgaGFuZGxlU25hY2tiYXJFcnJvciB9ID0gdXNlU25hY2tCYXJNYW5hZ2VyKClcblxuICBjb25zdCBoYW5kbGVEb3dubG9hZEtub3dsZWRnZSA9IGFzeW5jICh7IGFnZW50SWQsIGtub3dsZWRnZUlkIH06IHsgYWdlbnRJZDogc3RyaW5nOyBrbm93bGVkZ2VJZDogc3RyaW5nIH0pID0+IHtcbiAgICBzZXRJc0xvYWRpbmcodHJ1ZSlcbiAgICBzZXRFcnJvcihudWxsKVxuICAgIHNldFN1Y2Nlc3MobnVsbClcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGRvd25sb2FkS25vd2xlZGdlKHsgYWdlbnRJZCwga25vd2xlZGdlSWQgfSlcbiAgICAgIHNldFN1Y2Nlc3MocmVzcG9uc2UpXG4gICAgICByZXR1cm4gcmVzcG9uc2VcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLm1lc3NhZ2UgOiB0KCdlcnJvckFnZW50Q3JlYXRlZCcpXG4gICAgICBzZXRFcnJvcihlcnJvck1lc3NhZ2UpXG4gICAgICBoYW5kbGVTbmFja2JhckVycm9yKHQoJ2Vycm9yQWdlbnRDcmVhdGVkJykpXG4gICAgICBjb25zb2xlLmVycm9yKHQoJ2Vycm9yQWdlbnRDcmVhdGVkJyksIGVycilcbiAgICAgIHJldHVybiBudWxsXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldElzTG9hZGluZyhmYWxzZSlcbiAgICB9XG4gIH1cblxuICBjb25zdCBoYW5kbGVSZXNldFN0YXRlcyA9ICgpID0+IHtcbiAgICBzZXRJc0xvYWRpbmcoZmFsc2UpXG4gICAgc2V0RXJyb3IobnVsbClcbiAgICBzZXRTdWNjZXNzKG51bGwpXG4gIH1cblxuICByZXR1cm4ge1xuICAgIGlzTG9hZGluZyxcbiAgICBlcnJvcixcbiAgICBzdWNjZXNzLFxuICAgIGhhbmRsZURvd25sb2FkS25vd2xlZGdlLFxuICAgIGhhbmRsZVJlc2V0U3RhdGVzLFxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUFBO0FBQ0EsU0FBU0EsUUFBUSxRQUFRLE9BQU87QUFDaEMsU0FBU0MsY0FBYyxRQUFRLGVBQWU7QUFDOUMsU0FBU0MsaUJBQWlCLFFBQVEsd0NBQXdDO0FBQzFFLFNBQVNDLGtCQUFrQixRQUFRLDBDQUEwQztBQUU3RSxPQUFPLElBQU1DLG9CQUFvQixHQUFHLFNBQXZCQSxvQkFBb0JBLENBQUEsRUFBUztFQUN4QyxJQUFBQyxlQUFBLEdBQWNKLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQztJQUF6Q0ssQ0FBQyxHQUFBRCxlQUFBLENBQURDLENBQUM7RUFDVCxJQUFBQyxTQUFBLEdBQWtDUCxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQUFRLFVBQUEsR0FBQUMsY0FBQSxDQUFBRixTQUFBO0lBQTFDRyxTQUFTLEdBQUFGLFVBQUE7SUFBRUcsWUFBWSxHQUFBSCxVQUFBO0VBQzlCLElBQUFJLFVBQUEsR0FBMEJaLFFBQVEsQ0FBZ0IsSUFBSSxDQUFDO0lBQUFhLFVBQUEsR0FBQUosY0FBQSxDQUFBRyxVQUFBO0lBQWhERSxLQUFLLEdBQUFELFVBQUE7SUFBRUUsUUFBUSxHQUFBRixVQUFBO0VBQ3RCLElBQUFHLFVBQUEsR0FBOEJoQixRQUFRLENBSzVCLElBQUksQ0FBQztJQUFBaUIsVUFBQSxHQUFBUixjQUFBLENBQUFPLFVBQUE7SUFMUkUsT0FBTyxHQUFBRCxVQUFBO0lBQUVFLFVBQVUsR0FBQUYsVUFBQTtFQU0xQixJQUFBRyxtQkFBQSxHQUFnQ2pCLGtCQUFrQixDQUFDLENBQUM7SUFBNUNrQixtQkFBbUIsR0FBQUQsbUJBQUEsQ0FBbkJDLG1CQUFtQjtFQUUzQixJQUFNQyx1QkFBdUI7SUFBQSxJQUFBQyxLQUFBLEdBQUFDLGlCQUFBLGNBQUFDLG1CQUFBLENBQUFDLElBQUEsQ0FBRyxTQUFBQyxRQUFBQyxJQUFBO01BQUEsSUFBQUMsT0FBQSxFQUFBQyxXQUFBLEVBQUFDLFFBQUEsRUFBQUMsWUFBQSxFQUFBQyxFQUFBO01BQUEsT0FBQVIsbUJBQUEsQ0FBQVMsSUFBQSxXQUFBQyxRQUFBO1FBQUEsa0JBQUFBLFFBQUEsQ0FBQUMsSUFBQSxHQUFBRCxRQUFBLENBQUFFLElBQUE7VUFBQTtZQUFTUixPQUFPLEdBQUFELElBQUEsQ0FBUEMsT0FBTyxFQUFFQyxXQUFXLEdBQUFGLElBQUEsQ0FBWEUsV0FBVztZQUMzRG5CLFlBQVksQ0FBQyxJQUFJLENBQUM7WUFDbEJJLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFDZEksVUFBVSxDQUFDLElBQUksQ0FBQztZQUFBZ0IsUUFBQSxDQUFBQyxJQUFBO1lBQUFELFFBQUEsQ0FBQUUsSUFBQTtZQUFBLE9BR1NuQyxpQkFBaUIsQ0FBQztjQUFFMkIsT0FBTyxFQUFQQSxPQUFPO2NBQUVDLFdBQVcsRUFBWEE7WUFBWSxDQUFDLENBQUM7VUFBQTtZQUE1REMsUUFBUSxHQUFBSSxRQUFBLENBQUFHLElBQUE7WUFDZG5CLFVBQVUsQ0FBQ1ksUUFBUSxDQUFDO1lBQUEsT0FBQUksUUFBQSxDQUFBSSxNQUFBLFdBQ2JSLFFBQVE7VUFBQTtZQUFBSSxRQUFBLENBQUFDLElBQUE7WUFBQUgsRUFBQSxHQUFBRSxRQUFBO1lBRVRILFlBQVksR0FBR0MsRUFBQSxZQUFlTyxLQUFLLEdBQUdQLEVBQUEsQ0FBSVEsT0FBTyxHQUFHbkMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDO1lBQ2hGUyxRQUFRLENBQUNpQixZQUFZLENBQUM7WUFDdEJYLG1CQUFtQixDQUFDZixDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUMzQ29DLE9BQU8sQ0FBQzVCLEtBQUssQ0FBQ1IsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLEVBQUEyQixFQUFLLENBQUM7WUFBQSxPQUFBRSxRQUFBLENBQUFJLE1BQUEsV0FDbkMsSUFBSTtVQUFBO1lBQUFKLFFBQUEsQ0FBQUMsSUFBQTtZQUVYekIsWUFBWSxDQUFDLEtBQUssQ0FBQztZQUFBLE9BQUF3QixRQUFBLENBQUFRLE1BQUE7VUFBQTtVQUFBO1lBQUEsT0FBQVIsUUFBQSxDQUFBUyxJQUFBO1FBQUE7TUFBQSxHQUFBakIsT0FBQTtJQUFBLENBRXRCO0lBQUEsZ0JBbEJLTCx1QkFBdUJBLENBQUF1QixFQUFBO01BQUEsT0FBQXRCLEtBQUEsQ0FBQXVCLEtBQUEsT0FBQUMsU0FBQTtJQUFBO0VBQUEsR0FrQjVCO0VBRUQsSUFBTUMsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBQSxFQUFTO0lBQzlCckMsWUFBWSxDQUFDLEtBQUssQ0FBQztJQUNuQkksUUFBUSxDQUFDLElBQUksQ0FBQztJQUNkSSxVQUFVLENBQUMsSUFBSSxDQUFDO0VBQ2xCLENBQUM7RUFFRCxPQUFPO0lBQ0xULFNBQVMsRUFBVEEsU0FBUztJQUNUSSxLQUFLLEVBQUxBLEtBQUs7SUFDTEksT0FBTyxFQUFQQSxPQUFPO0lBQ1BJLHVCQUF1QixFQUF2QkEsdUJBQXVCO0lBQ3ZCMEIsaUJBQWlCLEVBQWpCQTtFQUNGLENBQUM7QUFDSCxDQUFDIiwiaWdub3JlTGlzdCI6W119
81
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZVN0YXRlIiwidXNlVHJhbnNsYXRpb24iLCJkb3dubG9hZEtub3dsZWRnZSIsInVzZVNuYWNrQmFyTWFuYWdlciIsInVzZURvd25sb2FkS25vd2xlZGdlIiwiX3VzZVRyYW5zbGF0aW9uIiwidCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImlzTG9hZGluZyIsInNldElzTG9hZGluZyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiZXJyb3IiLCJzZXRFcnJvciIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2Iiwic3VjY2VzcyIsInNldFN1Y2Nlc3MiLCJfdXNlU25hY2tCYXJNYW5hZ2VyIiwiaGFuZGxlU25hY2tiYXJFcnJvciIsImhhbmRsZURvd25sb2FkS25vd2xlZGdlIiwiX3JlZjIiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsIl9yZWYiLCJhZ2VudElkIiwia25vd2xlZGdlSWQiLCJyZXNwb25zZSIsImVycm9yTWVzc2FnZSIsIl90Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJzZW50IiwiYWJydXB0IiwiRXJyb3IiLCJtZXNzYWdlIiwiY29uc29sZSIsImZpbmlzaCIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwiaGFuZGxlUmVzZXRTdGF0ZXMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvdXNlS25vd2xlZGdlL2Rvd25sb2FkS25vd2xlZGdlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGNvbnNpc3RlbnQtcmV0dXJuICovXG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCB7IGRvd25sb2FkS25vd2xlZGdlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWFpYS9Lbm93bGVkZ2UvZG93bmxvYWQnXG5pbXBvcnQgeyB1c2VTbmFja0Jhck1hbmFnZXIgfSBmcm9tICcuLi91c2VTbmFja0Jhck1hbmFnZXIvdXNlU25hY2tCYXJNYW5hZ2VyJ1xuXG5leHBvcnQgY29uc3QgdXNlRG93bmxvYWRLbm93bGVkZ2UgPSAoKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oJ2FibV9hZ2VudF9zZWN0aW9uJylcbiAgY29uc3QgW2lzTG9hZGluZywgc2V0SXNMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFtzdWNjZXNzLCBzZXRTdWNjZXNzXSA9IHVzZVN0YXRlPHtcbiAgICBibG9iOiBCbG9iXG4gICAgZmlsZW5hbWU6IHN0cmluZ1xuICAgIGNvbnRlbnRUeXBlOiBzdHJpbmdcbiAgICBzaXplOiBudW1iZXJcbiAgfSB8IG51bGw+KG51bGwpXG4gIGNvbnN0IHsgaGFuZGxlU25hY2tiYXJFcnJvciB9ID0gdXNlU25hY2tCYXJNYW5hZ2VyKClcblxuICBjb25zdCBoYW5kbGVEb3dubG9hZEtub3dsZWRnZSA9IGFzeW5jICh7IGFnZW50SWQsIGtub3dsZWRnZUlkIH06IHsgYWdlbnRJZDogc3RyaW5nOyBrbm93bGVkZ2VJZDogc3RyaW5nIH0pID0+IHtcbiAgICBzZXRJc0xvYWRpbmcodHJ1ZSlcbiAgICBzZXRFcnJvcihudWxsKVxuICAgIHNldFN1Y2Nlc3MobnVsbClcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGRvd25sb2FkS25vd2xlZGdlKHsgYWdlbnRJZCwga25vd2xlZGdlSWQgfSlcbiAgICAgIHNldFN1Y2Nlc3MocmVzcG9uc2UpXG4gICAgICByZXR1cm4gcmVzcG9uc2VcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLm1lc3NhZ2UgOiB0KCdlcnJvckFnZW50Q3JlYXRlZCcpXG4gICAgICBzZXRFcnJvcihlcnJvck1lc3NhZ2UpXG4gICAgICBoYW5kbGVTbmFja2JhckVycm9yKHQoJ2Vycm9yQWdlbnRDcmVhdGVkJykpXG4gICAgICBjb25zb2xlLmVycm9yKHQoJ2Vycm9yQWdlbnRDcmVhdGVkJyksIGVycilcbiAgICAgIHJldHVybiBudWxsXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldElzTG9hZGluZyhmYWxzZSlcbiAgICB9XG4gIH1cblxuICBjb25zdCBoYW5kbGVSZXNldFN0YXRlcyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRJc0xvYWRpbmcoZmFsc2UpXG4gICAgc2V0RXJyb3IobnVsbClcbiAgICBzZXRTdWNjZXNzKG51bGwpXG4gIH0sIFtdKVxuXG4gIHJldHVybiB7XG4gICAgaXNMb2FkaW5nLFxuICAgIGVycm9yLFxuICAgIHN1Y2Nlc3MsXG4gICAgaGFuZGxlRG93bmxvYWRLbm93bGVkZ2UsXG4gICAgaGFuZGxlUmVzZXRTdGF0ZXMsXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDQSxTQUFTQSxXQUFXLEVBQUVDLFFBQVEsUUFBUSxPQUFPO0FBQzdDLFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBQzlDLFNBQVNDLGlCQUFpQixRQUFRLHdDQUF3QztBQUMxRSxTQUFTQyxrQkFBa0IsUUFBUSwwQ0FBMEM7QUFFN0UsT0FBTyxJQUFNQyxvQkFBb0IsR0FBRyxTQUF2QkEsb0JBQW9CQSxDQUFBLEVBQVM7RUFDeEMsSUFBQUMsZUFBQSxHQUFjSixjQUFjLENBQUMsbUJBQW1CLENBQUM7SUFBekNLLENBQUMsR0FBQUQsZUFBQSxDQUFEQyxDQUFDO0VBQ1QsSUFBQUMsU0FBQSxHQUFrQ1AsUUFBUSxDQUFDLEtBQUssQ0FBQztJQUFBUSxVQUFBLEdBQUFDLGNBQUEsQ0FBQUYsU0FBQTtJQUExQ0csU0FBUyxHQUFBRixVQUFBO0lBQUVHLFlBQVksR0FBQUgsVUFBQTtFQUM5QixJQUFBSSxVQUFBLEdBQTBCWixRQUFRLENBQWdCLElBQUksQ0FBQztJQUFBYSxVQUFBLEdBQUFKLGNBQUEsQ0FBQUcsVUFBQTtJQUFoREUsS0FBSyxHQUFBRCxVQUFBO0lBQUVFLFFBQVEsR0FBQUYsVUFBQTtFQUN0QixJQUFBRyxVQUFBLEdBQThCaEIsUUFBUSxDQUs1QixJQUFJLENBQUM7SUFBQWlCLFVBQUEsR0FBQVIsY0FBQSxDQUFBTyxVQUFBO0lBTFJFLE9BQU8sR0FBQUQsVUFBQTtJQUFFRSxVQUFVLEdBQUFGLFVBQUE7RUFNMUIsSUFBQUcsbUJBQUEsR0FBZ0NqQixrQkFBa0IsQ0FBQyxDQUFDO0lBQTVDa0IsbUJBQW1CLEdBQUFELG1CQUFBLENBQW5CQyxtQkFBbUI7RUFFM0IsSUFBTUMsdUJBQXVCO0lBQUEsSUFBQUMsS0FBQSxHQUFBQyxpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBQUcsU0FBQUMsUUFBQUMsSUFBQTtNQUFBLElBQUFDLE9BQUEsRUFBQUMsV0FBQSxFQUFBQyxRQUFBLEVBQUFDLFlBQUEsRUFBQUMsRUFBQTtNQUFBLE9BQUFSLG1CQUFBLENBQUFTLElBQUEsV0FBQUMsUUFBQTtRQUFBLGtCQUFBQSxRQUFBLENBQUFDLElBQUEsR0FBQUQsUUFBQSxDQUFBRSxJQUFBO1VBQUE7WUFBU1IsT0FBTyxHQUFBRCxJQUFBLENBQVBDLE9BQU8sRUFBRUMsV0FBVyxHQUFBRixJQUFBLENBQVhFLFdBQVc7WUFDM0RuQixZQUFZLENBQUMsSUFBSSxDQUFDO1lBQ2xCSSxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQ2RJLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFBQWdCLFFBQUEsQ0FBQUMsSUFBQTtZQUFBRCxRQUFBLENBQUFFLElBQUE7WUFBQSxPQUdTbkMsaUJBQWlCLENBQUM7Y0FBRTJCLE9BQU8sRUFBUEEsT0FBTztjQUFFQyxXQUFXLEVBQVhBO1lBQVksQ0FBQyxDQUFDO1VBQUE7WUFBNURDLFFBQVEsR0FBQUksUUFBQSxDQUFBRyxJQUFBO1lBQ2RuQixVQUFVLENBQUNZLFFBQVEsQ0FBQztZQUFBLE9BQUFJLFFBQUEsQ0FBQUksTUFBQSxXQUNiUixRQUFRO1VBQUE7WUFBQUksUUFBQSxDQUFBQyxJQUFBO1lBQUFILEVBQUEsR0FBQUUsUUFBQTtZQUVUSCxZQUFZLEdBQUdDLEVBQUEsWUFBZU8sS0FBSyxHQUFHUCxFQUFBLENBQUlRLE9BQU8sR0FBR25DLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQztZQUNoRlMsUUFBUSxDQUFDaUIsWUFBWSxDQUFDO1lBQ3RCWCxtQkFBbUIsQ0FBQ2YsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDM0NvQyxPQUFPLENBQUM1QixLQUFLLENBQUNSLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFBMkIsRUFBSyxDQUFDO1lBQUEsT0FBQUUsUUFBQSxDQUFBSSxNQUFBLFdBQ25DLElBQUk7VUFBQTtZQUFBSixRQUFBLENBQUFDLElBQUE7WUFFWHpCLFlBQVksQ0FBQyxLQUFLLENBQUM7WUFBQSxPQUFBd0IsUUFBQSxDQUFBUSxNQUFBO1VBQUE7VUFBQTtZQUFBLE9BQUFSLFFBQUEsQ0FBQVMsSUFBQTtRQUFBO01BQUEsR0FBQWpCLE9BQUE7SUFBQSxDQUV0QjtJQUFBLGdCQWxCS0wsdUJBQXVCQSxDQUFBdUIsRUFBQTtNQUFBLE9BQUF0QixLQUFBLENBQUF1QixLQUFBLE9BQUFDLFNBQUE7SUFBQTtFQUFBLEdBa0I1QjtFQUVELElBQU1DLGlCQUFpQixHQUFHakQsV0FBVyxDQUFDLFlBQU07SUFDMUNZLFlBQVksQ0FBQyxLQUFLLENBQUM7SUFDbkJJLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDZEksVUFBVSxDQUFDLElBQUksQ0FBQztFQUNsQixDQUFDLEVBQUUsRUFBRSxDQUFDO0VBRU4sT0FBTztJQUNMVCxTQUFTLEVBQVRBLFNBQVM7SUFDVEksS0FBSyxFQUFMQSxLQUFLO0lBQ0xJLE9BQU8sRUFBUEEsT0FBTztJQUNQSSx1QkFBdUIsRUFBdkJBLHVCQUF1QjtJQUN2QjBCLGlCQUFpQixFQUFqQkE7RUFDRixDQUFDO0FBQ0gsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==