@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
@@ -4,7 +4,7 @@ import { MAIA_TASK_PANEL_CHAT_MODAL_Z_INDEX } from '../../../constants/maiaTaskP
4
4
  export var SCCAIMWrapper = styled.div.withConfig({
5
5
  displayName: "ChatAIModalstyles__SCCAIMWrapper",
6
6
  componentId: "sc-7bgzxb-0"
7
- })(["box-sizing:border-box;", " z-index:", ";height:100vh;display:flex;justify-content:flex-end;align-items:center;position:fixed;padding:16px;top:0;right:0;transition:width 0.1s ease-out-in;", " ", ""], function (_ref) {
7
+ })(["box-sizing:border-box;overflow:hidden;", " z-index:", ";height:100vh;display:flex;justify-content:flex-end;align-items:center;position:fixed;padding:16px;top:0;right:0;transition:width 0.1s ease-out-in;", " ", ""], function (_ref) {
8
8
  var $minimized = _ref.$minimized;
9
9
  return $minimized && css(["pointer-events:none;"]);
10
10
  }, function (_ref2) {
@@ -29,7 +29,7 @@ export var SCCAIMContentWrapper = styled.div.withConfig({
29
29
  } : {};
30
30
  }, function (_ref6) {
31
31
  var floating = _ref6.floating;
32
- return floating && css(["height:", "px;max-height:85vh;@media (min-width:", "px){height:", "px;}@media (min-width:", "px){height:", "px;}"], MAIA_FLOATING_PANEL_HEIGHT_PX["default"], MAIA_FLOATING_BREAKPOINT_LARGE, MAIA_FLOATING_PANEL_HEIGHT_PX.large, MAIA_FLOATING_BREAKPOINT_XXL, MAIA_FLOATING_PANEL_HEIGHT_PX.xxl);
32
+ return floating && css(["--maia-panel-height:min(", "px,85vh);height:", "px;max-height:85vh;@media (min-width:", "px){--maia-panel-height:min(", "px,85vh);height:", "px;}@media (min-width:", "px){--maia-panel-height:min(", "px,85vh);height:", "px;}"], MAIA_FLOATING_PANEL_HEIGHT_PX["default"], MAIA_FLOATING_PANEL_HEIGHT_PX["default"], MAIA_FLOATING_BREAKPOINT_LARGE, MAIA_FLOATING_PANEL_HEIGHT_PX.large, MAIA_FLOATING_PANEL_HEIGHT_PX.large, MAIA_FLOATING_BREAKPOINT_XXL, MAIA_FLOATING_PANEL_HEIGHT_PX.xxl, MAIA_FLOATING_PANEL_HEIGHT_PX.xxl);
33
33
  });
34
34
  export var SCCAIMContent = styled.div.withConfig({
35
35
  displayName: "ChatAIModalstyles__SCCAIMContent",
@@ -55,4 +55,4 @@ export var SCCAIMMinimizedHide = styled.div.withConfig({
55
55
  var $hidden = _ref9.$hidden;
56
56
  return $hidden ? 'none' : 'contents';
57
57
  });
58
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfTEFSR0UiLCJNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfWFhMIiwiTUFJQV9GTE9BVElOR19QQU5FTF9IRUlHSFRfUFgiLCJNQUlBX0ZMT0FUSU5HX1BBTkVMX1dJRFRIX1BYIiwiTUFJQV9UQVNLX1BBTkVMX0NIQVRfTU9EQUxfWl9JTkRFWCIsIlNDQ0FJTVdyYXBwZXIiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIl9yZWYiLCIkbWluaW1pemVkIiwiX3JlZjIiLCJlbGV2YXRlZCIsIl9yZWYzIiwiZXhwYW5kZWQiLCJfcmVmNCIsImxheW91dE1vZGUiLCJkcmFnUG9zaXRpb24iLCJ5IiwieCIsIlNDQ0FJTUNvbnRlbnRXcmFwcGVyIiwiX3JlZjUiLCJ3aWR0aCIsIl9yZWY2IiwiZmxvYXRpbmciLCJsYXJnZSIsInh4bCIsIlNDQ0FJTUNvbnRlbnQiLCJfcmVmNyIsIl9yZWY4IiwiU0NDQUlNTWluaW1pemVkSGlkZSIsIl9yZWY5IiwiJGhpZGRlbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNb2RhbC9DaGF0QUlNb2RhbC5zdHlsZXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQsIHsgY3NzIH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5pbXBvcnQgdHlwZSB7IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlIH0gZnJvbSAnLi9sYXlvdXQnXG5pbXBvcnQge1xuICBNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfTEFSR0UsXG4gIE1BSUFfRkxPQVRJTkdfQlJFQUtQT0lOVF9YWEwsXG4gIE1BSUFfRkxPQVRJTkdfUEFORUxfSEVJR0hUX1BYLFxuICBNQUlBX0ZMT0FUSU5HX1BBTkVMX1dJRFRIX1BYLFxufSBmcm9tICcuL2xheW91dCdcbmltcG9ydCB7IE1BSUFfVEFTS19QQU5FTF9DSEFUX01PREFMX1pfSU5ERVggfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvbWFpYVRhc2tQYW5lbFpJbmRleCdcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTVdyYXBwZXIgPSBzdHlsZWQuZGl2PHtcbiAgZXhwYW5kZWQ6IGJvb2xlYW5cbiAgbGF5b3V0TW9kZTogTWFpYUNoYXRNb2RhbExheW91dE1vZGVcbiAgZHJhZ1Bvc2l0aW9uPzogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9IHwgbnVsbFxuICBlbGV2YXRlZD86IGJvb2xlYW5cbiAgJG1pbmltaXplZD86IGJvb2xlYW5cbn0+YFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAkeyh7ICRtaW5pbWl6ZWQgfSkgPT5cbiAgICAkbWluaW1pemVkICYmXG4gICAgY3NzYFxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYH1cbiAgLyogei1pbmRleCBhbHRvIGN1YW5kbyBzZSBhYnJlIGRlc2RlIGVsIHRhc2sgcGFuZWwgKHotaW5kZXggOTgwMDAwMCk7IGVsIGRlZmF1bHRcbiAgICAgY3VicmUgbG9zIGZsdWpvcyByZXN0YW50ZXMgZGUgTWFpYS4gKi9cbiAgei1pbmRleDogJHsoeyBlbGV2YXRlZCB9KSA9PiAoZWxldmF0ZWQgPyBNQUlBX1RBU0tfUEFORUxfQ0hBVF9NT0RBTF9aX0lOREVYIDogMTA5OSl9O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuMXMgZWFzZS1vdXQtaW47XG4gICR7KHsgZXhwYW5kZWQgfSkgPT5cbiAgICBleHBhbmRlZCAmJlxuICAgIGNzc2BcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgICBgfVxuICAkeyh7IGxheW91dE1vZGUsIGRyYWdQb3NpdGlvbiwgZXhwYW5kZWQgfSkgPT5cbiAgICBsYXlvdXRNb2RlID09PSAnZmxvYXRpbmcnICYmXG4gICAgZHJhZ1Bvc2l0aW9uICYmXG4gICAgIWV4cGFuZGVkICYmXG4gICAgY3NzYFxuICAgICAgdG9wOiAke2RyYWdQb3NpdGlvbi55fXB4O1xuICAgICAgbGVmdDogJHtkcmFnUG9zaXRpb24ueH1weDtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICBgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNQ29udGVudFdyYXBwZXIgPSBzdHlsZWQuZGl2PHtcbiAgZXhwYW5kZWQ6IGJvb2xlYW5cbiAgZmxvYXRpbmc/OiBib29sZWFuXG59PmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm94LXNoYWRvdzogMHB4IDRweCAxNnB4IHJnYmEoMTgsIDE4LCAxOCwgMC4yNCk7XG4gIGZvbnQtZmFtaWx5OiBXb3JrIFNhbnM7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuMXMgZWFzZS1vdXQtaW47XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gICR7KHsgZXhwYW5kZWQgfSkgPT4gKGV4cGFuZGVkID8geyB3aWR0aDogJzEwMCUnIH0gOiB7fSl9XG4gICR7KHsgZmxvYXRpbmcgfSkgPT5cbiAgICBmbG9hdGluZyAmJlxuICAgIGNzc2BcbiAgICAgIGhlaWdodDogJHtNQUlBX0ZMT0FUSU5HX1BBTkVMX0hFSUdIVF9QWC5kZWZhdWx0fXB4O1xuICAgICAgbWF4LWhlaWdodDogODV2aDtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAke01BSUFfRkxPQVRJTkdfQlJFQUtQT0lOVF9MQVJHRX1weCkge1xuICAgICAgICBoZWlnaHQ6ICR7TUFJQV9GTE9BVElOR19QQU5FTF9IRUlHSFRfUFgubGFyZ2V9cHg7XG4gICAgICB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHtNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfWFhMfXB4KSB7XG4gICAgICAgIGhlaWdodDogJHtNQUlBX0ZMT0FUSU5HX1BBTkVMX0hFSUdIVF9QWC54eGx9cHg7XG4gICAgICB9XG4gICAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUNvbnRlbnQgPSBzdHlsZWQuZGl2PHtcbiAgZXhwYW5kZWQ6IGJvb2xlYW5cbiAgZmxvYXRpbmc/OiBib29sZWFuXG59PmBcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQtaW47XG4gICR7KHsgZXhwYW5kZWQsIGZsb2F0aW5nIH0pID0+IHtcbiAgICBpZiAoZXhwYW5kZWQpIHtcbiAgICAgIHJldHVybiBjc3NgXG4gICAgICAgIGZsZXg6IDE7XG4gICAgICBgXG4gICAgfVxuICAgIGlmIChmbG9hdGluZykge1xuICAgICAgcmV0dXJuIGNzc2BcbiAgICAgICAgd2lkdGg6ICR7TUFJQV9GTE9BVElOR19QQU5FTF9XSURUSF9QWC5kZWZhdWx0fXB4O1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHtNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfTEFSR0V9cHgpIHtcbiAgICAgICAgICB3aWR0aDogJHtNQUlBX0ZMT0FUSU5HX1BBTkVMX1dJRFRIX1BYLmxhcmdlfXB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAke01BSUFfRkxPQVRJTkdfQlJFQUtQT0lOVF9YWEx9cHgpIHtcbiAgICAgICAgICB3aWR0aDogJHtNQUlBX0ZMT0FUSU5HX1BBTkVMX1dJRFRIX1BYLnh4bH1weDtcbiAgICAgICAgfVxuICAgICAgYFxuICAgIH1cbiAgICByZXR1cm4gY3NzYFxuICAgICAgd2lkdGg6IDQ4MHB4O1xuICAgIGBcbiAgfX1cbiAgJHsoeyBmbG9hdGluZyB9KSA9PlxuICAgIGZsb2F0aW5nICYmXG4gICAgY3NzYFxuICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogOHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogOHB4O1xuICAgIGB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1NaW5pbWl6ZWRIaWRlID0gc3R5bGVkLmRpdjx7ICRoaWRkZW46IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6ICR7KHsgJGhpZGRlbiB9KSA9PiAoJGhpZGRlbiA/ICdub25lJyA6ICdjb250ZW50cycpfTtcbmBcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBTSxJQUFJQyxHQUFHLFFBQVEsbUJBQW1CO0FBRS9DLFNBQ0VDLDhCQUE4QixFQUM5QkMsNEJBQTRCLEVBQzVCQyw2QkFBNkIsRUFDN0JDLDRCQUE0QixRQUN2QixVQUFVO0FBQ2pCLFNBQVNDLGtDQUFrQyxRQUFRLHdDQUF3QztBQUUzRixPQUFPLElBQU1DLGFBQWEsR0FBR1AsTUFBTSxDQUFDUSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsNE1BUW5DLFVBQUFD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
58
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfTEFSR0UiLCJNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfWFhMIiwiTUFJQV9GTE9BVElOR19QQU5FTF9IRUlHSFRfUFgiLCJNQUlBX0ZMT0FUSU5HX1BBTkVMX1dJRFRIX1BYIiwiTUFJQV9UQVNLX1BBTkVMX0NIQVRfTU9EQUxfWl9JTkRFWCIsIlNDQ0FJTVdyYXBwZXIiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIl9yZWYiLCIkbWluaW1pemVkIiwiX3JlZjIiLCJlbGV2YXRlZCIsIl9yZWYzIiwiZXhwYW5kZWQiLCJfcmVmNCIsImxheW91dE1vZGUiLCJkcmFnUG9zaXRpb24iLCJ5IiwieCIsIlNDQ0FJTUNvbnRlbnRXcmFwcGVyIiwiX3JlZjUiLCJ3aWR0aCIsIl9yZWY2IiwiZmxvYXRpbmciLCJsYXJnZSIsInh4bCIsIlNDQ0FJTUNvbnRlbnQiLCJfcmVmNyIsIl9yZWY4IiwiU0NDQUlNTWluaW1pemVkSGlkZSIsIl9yZWY5IiwiJGhpZGRlbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNb2RhbC9DaGF0QUlNb2RhbC5zdHlsZXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQsIHsgY3NzIH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5pbXBvcnQgdHlwZSB7IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlIH0gZnJvbSAnLi9sYXlvdXQnXG5pbXBvcnQge1xuICBNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfTEFSR0UsXG4gIE1BSUFfRkxPQVRJTkdfQlJFQUtQT0lOVF9YWEwsXG4gIE1BSUFfRkxPQVRJTkdfUEFORUxfSEVJR0hUX1BYLFxuICBNQUlBX0ZMT0FUSU5HX1BBTkVMX1dJRFRIX1BYLFxufSBmcm9tICcuL2xheW91dCdcbmltcG9ydCB7IE1BSUFfVEFTS19QQU5FTF9DSEFUX01PREFMX1pfSU5ERVggfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvbWFpYVRhc2tQYW5lbFpJbmRleCdcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTVdyYXBwZXIgPSBzdHlsZWQuZGl2PHtcbiAgZXhwYW5kZWQ6IGJvb2xlYW5cbiAgbGF5b3V0TW9kZTogTWFpYUNoYXRNb2RhbExheW91dE1vZGVcbiAgZHJhZ1Bvc2l0aW9uPzogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9IHwgbnVsbFxuICBlbGV2YXRlZD86IGJvb2xlYW5cbiAgJG1pbmltaXplZD86IGJvb2xlYW5cbn0+YFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAkeyh7ICRtaW5pbWl6ZWQgfSkgPT5cbiAgICAkbWluaW1pemVkICYmXG4gICAgY3NzYFxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYH1cbiAgLyogei1pbmRleCBhbHRvIGN1YW5kbyBzZSBhYnJlIGRlc2RlIGVsIHRhc2sgcGFuZWwgKHotaW5kZXggOTgwMDAwMCk7IGVsIGRlZmF1bHRcbiAgICAgY3VicmUgbG9zIGZsdWpvcyByZXN0YW50ZXMgZGUgTWFpYS4gKi9cbiAgei1pbmRleDogJHsoeyBlbGV2YXRlZCB9KSA9PiAoZWxldmF0ZWQgPyBNQUlBX1RBU0tfUEFORUxfQ0hBVF9NT0RBTF9aX0lOREVYIDogMTA5OSl9O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuMXMgZWFzZS1vdXQtaW47XG4gICR7KHsgZXhwYW5kZWQgfSkgPT5cbiAgICBleHBhbmRlZCAmJlxuICAgIGNzc2BcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgICBgfVxuICAkeyh7IGxheW91dE1vZGUsIGRyYWdQb3NpdGlvbiwgZXhwYW5kZWQgfSkgPT5cbiAgICBsYXlvdXRNb2RlID09PSAnZmxvYXRpbmcnICYmXG4gICAgZHJhZ1Bvc2l0aW9uICYmXG4gICAgIWV4cGFuZGVkICYmXG4gICAgY3NzYFxuICAgICAgdG9wOiAke2RyYWdQb3NpdGlvbi55fXB4O1xuICAgICAgbGVmdDogJHtkcmFnUG9zaXRpb24ueH1weDtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICBgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNQ29udGVudFdyYXBwZXIgPSBzdHlsZWQuZGl2PHtcbiAgZXhwYW5kZWQ6IGJvb2xlYW5cbiAgZmxvYXRpbmc/OiBib29sZWFuXG59PmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm94LXNoYWRvdzogMHB4IDRweCAxNnB4IHJnYmEoMTgsIDE4LCAxOCwgMC4yNCk7XG4gIGZvbnQtZmFtaWx5OiBXb3JrIFNhbnM7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuMXMgZWFzZS1vdXQtaW47XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gICR7KHsgZXhwYW5kZWQgfSkgPT4gKGV4cGFuZGVkID8geyB3aWR0aDogJzEwMCUnIH0gOiB7fSl9XG4gICR7KHsgZmxvYXRpbmcgfSkgPT5cbiAgICBmbG9hdGluZyAmJlxuICAgIGNzc2BcbiAgICAgIC8qIEFsdG8gcmVhbCBkZWwgcGFuZWw6IGxvIHVzYW4gbG9zIGhpam9zIHF1ZSB0aWVuZW4gcXVlIGFjb3RhcnNlIGEgZWwgKHAuIGVqLiBsYSBjYXJkIGRlIG11bHRpcGxlIGNob2ljZSkuICovXG4gICAgICAtLW1haWEtcGFuZWwtaGVpZ2h0OiBtaW4oJHtNQUlBX0ZMT0FUSU5HX1BBTkVMX0hFSUdIVF9QWC5kZWZhdWx0fXB4LCA4NXZoKTtcbiAgICAgIGhlaWdodDogJHtNQUlBX0ZMT0FUSU5HX1BBTkVMX0hFSUdIVF9QWC5kZWZhdWx0fXB4O1xuICAgICAgbWF4LWhlaWdodDogODV2aDtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAke01BSUFfRkxPQVRJTkdfQlJFQUtQT0lOVF9MQVJHRX1weCkge1xuICAgICAgICAtLW1haWEtcGFuZWwtaGVpZ2h0OiBtaW4oJHtNQUlBX0ZMT0FUSU5HX1BBTkVMX0hFSUdIVF9QWC5sYXJnZX1weCwgODV2aCk7XG4gICAgICAgIGhlaWdodDogJHtNQUlBX0ZMT0FUSU5HX1BBTkVMX0hFSUdIVF9QWC5sYXJnZX1weDtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAke01BSUFfRkxPQVRJTkdfQlJFQUtQT0lOVF9YWEx9cHgpIHtcbiAgICAgICAgLS1tYWlhLXBhbmVsLWhlaWdodDogbWluKCR7TUFJQV9GTE9BVElOR19QQU5FTF9IRUlHSFRfUFgueHhsfXB4LCA4NXZoKTtcbiAgICAgICAgaGVpZ2h0OiAke01BSUFfRkxPQVRJTkdfUEFORUxfSEVJR0hUX1BYLnh4bH1weDtcbiAgICAgIH1cbiAgICBgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNQ29udGVudCA9IHN0eWxlZC5kaXY8e1xuICBleHBhbmRlZDogYm9vbGVhblxuICBmbG9hdGluZz86IGJvb2xlYW5cbn0+YFxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLW91dC1pbjtcbiAgJHsoeyBleHBhbmRlZCwgZmxvYXRpbmcgfSkgPT4ge1xuICAgIGlmIChleHBhbmRlZCkge1xuICAgICAgcmV0dXJuIGNzc2BcbiAgICAgICAgZmxleDogMTtcbiAgICAgIGBcbiAgICB9XG4gICAgaWYgKGZsb2F0aW5nKSB7XG4gICAgICByZXR1cm4gY3NzYFxuICAgICAgICB3aWR0aDogJHtNQUlBX0ZMT0FUSU5HX1BBTkVMX1dJRFRIX1BYLmRlZmF1bHR9cHg7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAke01BSUFfRkxPQVRJTkdfQlJFQUtQT0lOVF9MQVJHRX1weCkge1xuICAgICAgICAgIHdpZHRoOiAke01BSUFfRkxPQVRJTkdfUEFORUxfV0lEVEhfUFgubGFyZ2V9cHg7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICR7TUFJQV9GTE9BVElOR19CUkVBS1BPSU5UX1hYTH1weCkge1xuICAgICAgICAgIHdpZHRoOiAke01BSUFfRkxPQVRJTkdfUEFORUxfV0lEVEhfUFgueHhsfXB4O1xuICAgICAgICB9XG4gICAgICBgXG4gICAgfVxuICAgIHJldHVybiBjc3NgXG4gICAgICB3aWR0aDogNDgwcHg7XG4gICAgYFxuICB9fVxuICAkeyh7IGZsb2F0aW5nIH0pID0+XG4gICAgZmxvYXRpbmcgJiZcbiAgICBjc3NgXG4gICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA4cHg7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA4cHg7XG4gICAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTU1pbmltaXplZEhpZGUgPSBzdHlsZWQuZGl2PHsgJGhpZGRlbjogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogJHsoeyAkaGlkZGVuIH0pID0+ICgkaGlkZGVuID8gJ25vbmUnIDogJ2NvbnRlbnRzJyl9O1xuYFxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxNQUFNLElBQUlDLEdBQUcsUUFBUSxtQkFBbUI7QUFFL0MsU0FDRUMsOEJBQThCLEVBQzlCQyw0QkFBNEIsRUFDNUJDLDZCQUE2QixFQUM3QkMsNEJBQTRCLFFBQ3ZCLFVBQVU7QUFDakIsU0FBU0Msa0NBQWtDLFFBQVEsd0NBQXdDO0FBRTNGLE9BQU8sSUFBTUMsYUFBYSxHQUFHUCxNQUFNLENBQUNRLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSw0TkFTbkMsVUFBQUMsSUFBQTtFQUFBLElBQUdDLFVBQVUsR0FBQUQsSUFBQSxDQUFWQyxVQUFVO0VBQUEsT0FDYkEsVUFBVSxJQUNWWixHQUFHLDBCQUVGO0FBQUEsR0FHUSxVQUFBYSxLQUFBO0VBQUEsSUFBR0MsUUFBUSxHQUFBRCxLQUFBLENBQVJDLFFBQVE7RUFBQSxPQUFRQSxRQUFRLEdBQUdULGtDQUFrQyxHQUFHLElBQUk7QUFBQSxDQUFDLEVBVWpGLFVBQUFVLEtBQUE7RUFBQSxJQUFHQyxRQUFRLEdBQUFELEtBQUEsQ0FBUkMsUUFBUTtFQUFBLE9BQ1hBLFFBQVEsSUFDUmhCLEdBQUcsZ0RBS0Y7QUFBQSxHQUNELFVBQUFpQixLQUFBO0VBQUEsSUFBR0MsVUFBVSxHQUFBRCxLQUFBLENBQVZDLFVBQVU7SUFBRUMsWUFBWSxHQUFBRixLQUFBLENBQVpFLFlBQVk7SUFBRUgsUUFBUSxHQUFBQyxLQUFBLENBQVJELFFBQVE7RUFBQSxPQUNyQ0UsVUFBVSxLQUFLLFVBQVUsSUFDekJDLFlBQVksSUFDWixDQUFDSCxRQUFRLElBQ1RoQixHQUFHLDRKQUNNbUIsWUFBWSxDQUFDQyxDQUFDLEVBQ2JELFlBQVksQ0FBQ0UsQ0FBQyxDQVN2QjtBQUFBLEVBQ0o7QUFFRCxPQUFPLElBQU1DLG9CQUFvQixHQUFHdkIsTUFBTSxDQUFDUSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsbU1BWTFDLFVBQUFhLEtBQUE7RUFBQSxJQUFHUCxRQUFRLEdBQUFPLEtBQUEsQ0FBUlAsUUFBUTtFQUFBLE9BQVFBLFFBQVEsR0FBRztJQUFFUSxLQUFLLEVBQUU7RUFBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQUEsQ0FBQyxFQUNyRCxVQUFBQyxLQUFBO0VBQUEsSUFBR0MsUUFBUSxHQUFBRCxLQUFBLENBQVJDLFFBQVE7RUFBQSxPQUNYQSxRQUFRLElBQ1IxQixHQUFHLHNPQUUwQkcsNkJBQTZCLFdBQVEsRUFDdERBLDZCQUE2QixXQUFRLEVBRTFCRiw4QkFBOEIsRUFDdEJFLDZCQUE2QixDQUFDd0IsS0FBSyxFQUNwRHhCLDZCQUE2QixDQUFDd0IsS0FBSyxFQUUxQnpCLDRCQUE0QixFQUNwQkMsNkJBQTZCLENBQUN5QixHQUFHLEVBQ2xEekIsNkJBQTZCLENBQUN5QixHQUFHLENBRTlDO0FBQUEsRUFDSjtBQUVELE9BQU8sSUFBTUMsYUFBYSxHQUFHOUIsTUFBTSxDQUFDUSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEseU9BY25DLFVBQUFvQixLQUFBLEVBQTRCO0VBQUEsSUFBekJkLFFBQVEsR0FBQWMsS0FBQSxDQUFSZCxRQUFRO0lBQUVVLFFBQVEsR0FBQUksS0FBQSxDQUFSSixRQUFRO0VBQ3JCLElBQUlWLFFBQVEsRUFBRTtJQUNaLE9BQU9oQixHQUFHO0VBR1o7RUFDQSxJQUFJMEIsUUFBUSxFQUFFO0lBQ1osT0FBTzFCLEdBQUcsb0dBQ0NJLDRCQUE0QixXQUFRLEVBQ3hCSCw4QkFBOEIsRUFDeENHLDRCQUE0QixDQUFDdUIsS0FBSyxFQUV4QnpCLDRCQUE0QixFQUN0Q0UsNEJBQTRCLENBQUN3QixHQUFHO0VBRy9DO0VBQ0EsT0FBTzVCLEdBQUc7QUFHWixDQUFDLEVBQ0MsVUFBQStCLEtBQUE7RUFBQSxJQUFHTCxRQUFRLEdBQUFLLEtBQUEsQ0FBUkwsUUFBUTtFQUFBLE9BQ1hBLFFBQVEsSUFDUjFCLEdBQUcsaUZBSUY7QUFBQSxFQUNKO0FBRUQsT0FBTyxJQUFNZ0MsbUJBQW1CLEdBQUdqQyxNQUFNLENBQUNRLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxzQkFDaEMsVUFBQXVCLEtBQUE7RUFBQSxJQUFHQyxPQUFPLEdBQUFELEtBQUEsQ0FBUEMsT0FBTztFQUFBLE9BQVFBLE9BQU8sR0FBRyxNQUFNLEdBQUcsVUFBVTtBQUFBLENBQUMsQ0FDNUQiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,33 @@
1
+ import { canEditCustomAgentInSelector } from './ChatAiAgentOptions.helpers';
2
+ var customAgent = {
3
+ id: '1',
4
+ name: 'Custom',
5
+ type: 'custom'
6
+ };
7
+ var orchestrator = {
8
+ id: '2',
9
+ name: 'MAIA',
10
+ type: 'orchestrator'
11
+ };
12
+ describe('ChatAiAgentOptions.helpers', function () {
13
+ describe('canEditCustomAgentInSelector', function () {
14
+ it('allows editing custom agents when permissions and feature flag are enabled', function () {
15
+ expect(canEditCustomAgentInSelector(customAgent, {
16
+ edit: true
17
+ }, true)).toBe(true);
18
+ });
19
+ it('blocks maia agents, missing permissions and disabled multi-agent access', function () {
20
+ expect(canEditCustomAgentInSelector(orchestrator, {
21
+ edit: true
22
+ }, true)).toBe(false);
23
+ expect(canEditCustomAgentInSelector(customAgent, {
24
+ edit: false
25
+ }, true)).toBe(false);
26
+ expect(canEditCustomAgentInSelector(customAgent, {
27
+ edit: true
28
+ }, false)).toBe(false);
29
+ expect(canEditCustomAgentInSelector(customAgent, undefined, true)).toBe(false);
30
+ });
31
+ });
32
+ });
33
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjYW5FZGl0Q3VzdG9tQWdlbnRJblNlbGVjdG9yIiwiY3VzdG9tQWdlbnQiLCJpZCIsIm5hbWUiLCJ0eXBlIiwib3JjaGVzdHJhdG9yIiwiZGVzY3JpYmUiLCJpdCIsImV4cGVjdCIsImVkaXQiLCJ0b0JlIiwidW5kZWZpbmVkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSU1vZGFsL2NvbXBvbmVudHMvQ2hhdEFpQWdlbnRPcHRpb25zL0NoYXRBaUFnZW50T3B0aW9ucy5oZWxwZXJzLnNwZWMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBBZ2VudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3R5cGVzL2FnZW50J1xuaW1wb3J0IHsgY2FuRWRpdEN1c3RvbUFnZW50SW5TZWxlY3RvciB9IGZyb20gJy4vQ2hhdEFpQWdlbnRPcHRpb25zLmhlbHBlcnMnXG5cbmNvbnN0IGN1c3RvbUFnZW50OiBBZ2VudCA9IHsgaWQ6ICcxJywgbmFtZTogJ0N1c3RvbScsIHR5cGU6ICdjdXN0b20nIH1cbmNvbnN0IG9yY2hlc3RyYXRvcjogQWdlbnQgPSB7IGlkOiAnMicsIG5hbWU6ICdNQUlBJywgdHlwZTogJ29yY2hlc3RyYXRvcicgfVxuXG5kZXNjcmliZSgnQ2hhdEFpQWdlbnRPcHRpb25zLmhlbHBlcnMnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdjYW5FZGl0Q3VzdG9tQWdlbnRJblNlbGVjdG9yJywgKCkgPT4ge1xuICAgIGl0KCdhbGxvd3MgZWRpdGluZyBjdXN0b20gYWdlbnRzIHdoZW4gcGVybWlzc2lvbnMgYW5kIGZlYXR1cmUgZmxhZyBhcmUgZW5hYmxlZCcsICgpID0+IHtcbiAgICAgIGV4cGVjdChjYW5FZGl0Q3VzdG9tQWdlbnRJblNlbGVjdG9yKGN1c3RvbUFnZW50LCB7IGVkaXQ6IHRydWUgfSwgdHJ1ZSkpLnRvQmUodHJ1ZSlcbiAgICB9KVxuXG4gICAgaXQoJ2Jsb2NrcyBtYWlhIGFnZW50cywgbWlzc2luZyBwZXJtaXNzaW9ucyBhbmQgZGlzYWJsZWQgbXVsdGktYWdlbnQgYWNjZXNzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KGNhbkVkaXRDdXN0b21BZ2VudEluU2VsZWN0b3Iob3JjaGVzdHJhdG9yLCB7IGVkaXQ6IHRydWUgfSwgdHJ1ZSkpLnRvQmUoZmFsc2UpXG4gICAgICBleHBlY3QoY2FuRWRpdEN1c3RvbUFnZW50SW5TZWxlY3RvcihjdXN0b21BZ2VudCwgeyBlZGl0OiBmYWxzZSB9LCB0cnVlKSkudG9CZShmYWxzZSlcbiAgICAgIGV4cGVjdChjYW5FZGl0Q3VzdG9tQWdlbnRJblNlbGVjdG9yKGN1c3RvbUFnZW50LCB7IGVkaXQ6IHRydWUgfSwgZmFsc2UpKS50b0JlKGZhbHNlKVxuICAgICAgZXhwZWN0KGNhbkVkaXRDdXN0b21BZ2VudEluU2VsZWN0b3IoY3VzdG9tQWdlbnQsIHVuZGVmaW5lZCwgdHJ1ZSkpLnRvQmUoZmFsc2UpXG4gICAgfSlcbiAgfSlcbn0pXG4iXSwibWFwcGluZ3MiOiJBQUNBLFNBQVNBLDRCQUE0QixRQUFRLDhCQUE4QjtBQUUzRSxJQUFNQyxXQUFrQixHQUFHO0VBQUVDLEVBQUUsRUFBRSxHQUFHO0VBQUVDLElBQUksRUFBRSxRQUFRO0VBQUVDLElBQUksRUFBRTtBQUFTLENBQUM7QUFDdEUsSUFBTUMsWUFBbUIsR0FBRztFQUFFSCxFQUFFLEVBQUUsR0FBRztFQUFFQyxJQUFJLEVBQUUsTUFBTTtFQUFFQyxJQUFJLEVBQUU7QUFBZSxDQUFDO0FBRTNFRSxRQUFRLENBQUMsNEJBQTRCLEVBQUUsWUFBTTtFQUMzQ0EsUUFBUSxDQUFDLDhCQUE4QixFQUFFLFlBQU07SUFDN0NDLEVBQUUsQ0FBQyw0RUFBNEUsRUFBRSxZQUFNO01BQ3JGQyxNQUFNLENBQUNSLDRCQUE0QixDQUFDQyxXQUFXLEVBQUU7UUFBRVEsSUFBSSxFQUFFO01BQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUNDLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDcEYsQ0FBQyxDQUFDO0lBRUZILEVBQUUsQ0FBQyx5RUFBeUUsRUFBRSxZQUFNO01BQ2xGQyxNQUFNLENBQUNSLDRCQUE0QixDQUFDSyxZQUFZLEVBQUU7UUFBRUksSUFBSSxFQUFFO01BQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUNDLElBQUksQ0FBQyxLQUFLLENBQUM7TUFDcEZGLE1BQU0sQ0FBQ1IsNEJBQTRCLENBQUNDLFdBQVcsRUFBRTtRQUFFUSxJQUFJLEVBQUU7TUFBTSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLEtBQUssQ0FBQztNQUNwRkYsTUFBTSxDQUFDUiw0QkFBNEIsQ0FBQ0MsV0FBVyxFQUFFO1FBQUVRLElBQUksRUFBRTtNQUFLLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDQyxJQUFJLENBQUMsS0FBSyxDQUFDO01BQ3BGRixNQUFNLENBQUNSLDRCQUE0QixDQUFDQyxXQUFXLEVBQUVVLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ2hGLENBQUMsQ0FBQztFQUNKLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1,116 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ import { fireEvent, renderWithProviders, screen } from '../../../../../test/test-utils';
5
+ import { ChatAIAgentOption } from './ChatAiAgentOptions';
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ var toggleFavorite = jest.fn(function (_id, onSuccess) {
8
+ onSuccess({
9
+ id: 'agent-1',
10
+ name: 'Custom Bot',
11
+ type: 'custom',
12
+ is_favorite: true
13
+ });
14
+ });
15
+ var amplitudeEvent = jest.fn();
16
+ jest.mock('../../../../../hooks/useEvent', function () {
17
+ return {
18
+ EVENTS: {
19
+ openModal: 'OPEN_MODAL',
20
+ aiChatFavorite: 'AI_CHAT_FAVORITE'
21
+ },
22
+ useEvent: function useEvent() {
23
+ return amplitudeEvent;
24
+ }
25
+ };
26
+ });
27
+ jest.mock('../../../../../hooks/useResize', function () {
28
+ return {
29
+ useResizeListener: function useResizeListener() {
30
+ return {
31
+ showTooltip: false
32
+ };
33
+ }
34
+ };
35
+ });
36
+ jest.mock('../../../../../hooks', function () {
37
+ return {
38
+ useToggleFavorite: function useToggleFavorite() {
39
+ return {
40
+ toggleFavorite: toggleFavorite
41
+ };
42
+ }
43
+ };
44
+ });
45
+ jest.mock('../../../../../context/cor-user', function () {
46
+ return {
47
+ useUser: function useUser() {
48
+ return {
49
+ permissions: {
50
+ ai_agents: {
51
+ edit: true
52
+ }
53
+ }
54
+ };
55
+ }
56
+ };
57
+ });
58
+ var customAgent = {
59
+ id: 'agent-1',
60
+ name: 'Custom Bot',
61
+ type: 'custom',
62
+ emoji: '🤖',
63
+ knowledge: []
64
+ };
65
+ var baseProps = {
66
+ agent: customAgent,
67
+ index: 0,
68
+ handleSelectAgent: jest.fn(),
69
+ isSelected: false,
70
+ setIsExpanded: jest.fn()
71
+ };
72
+ describe('ChatAIAgentOption', function () {
73
+ var originalMultiAgents = window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS;
74
+ beforeEach(function () {
75
+ window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS = true;
76
+ baseProps.handleSelectAgent.mockClear();
77
+ baseProps.setIsExpanded.mockClear();
78
+ toggleFavorite.mockClear();
79
+ amplitudeEvent.mockClear();
80
+ });
81
+ afterEach(function () {
82
+ window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS = originalMultiAgents;
83
+ });
84
+ it('selects the agent when the row is clicked', function () {
85
+ renderWithProviders(/*#__PURE__*/_jsx(ChatAIAgentOption, _objectSpread({}, baseProps)));
86
+ fireEvent.click(screen.getByText('Custom Bot'));
87
+ expect(baseProps.handleSelectAgent).toHaveBeenCalledWith(customAgent);
88
+ });
89
+ it('opens edit modal for editable custom agents', function () {
90
+ var onOpen = jest.fn();
91
+ document.addEventListener('abm-agent-modal-set-values', onOpen);
92
+ renderWithProviders(/*#__PURE__*/_jsx(ChatAIAgentOption, _objectSpread({}, baseProps)));
93
+ fireEvent.click(screen.getByTitle('agents.edit').firstElementChild);
94
+ expect(baseProps.setIsExpanded).toHaveBeenCalledWith(false);
95
+ expect(amplitudeEvent).toHaveBeenCalledWith('OPEN_MODAL', {
96
+ option: 'edit_agent'
97
+ });
98
+ expect(onOpen).toHaveBeenCalled();
99
+ document.removeEventListener('abm-agent-modal-set-values', onOpen);
100
+ });
101
+ it('toggles favorite and notifies parent', function () {
102
+ var onFavoriteToggle = jest.fn();
103
+ renderWithProviders(/*#__PURE__*/_jsx(ChatAIAgentOption, _objectSpread(_objectSpread({}, baseProps), {}, {
104
+ onFavoriteToggle: onFavoriteToggle
105
+ })));
106
+ fireEvent.click(screen.getByTitle('agents.addFavorite').firstElementChild);
107
+ expect(toggleFavorite).toHaveBeenCalled();
108
+ expect(onFavoriteToggle).toHaveBeenCalledWith(expect.objectContaining({
109
+ is_favorite: true
110
+ }));
111
+ expect(amplitudeEvent).toHaveBeenCalledWith('AI_CHAT_FAVORITE', {
112
+ option: 'add'
113
+ });
114
+ });
115
+ });
116
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmaXJlRXZlbnQiLCJyZW5kZXJXaXRoUHJvdmlkZXJzIiwic2NyZWVuIiwiQ2hhdEFJQWdlbnRPcHRpb24iLCJqc3giLCJfanN4IiwidG9nZ2xlRmF2b3JpdGUiLCJqZXN0IiwiZm4iLCJfaWQiLCJvblN1Y2Nlc3MiLCJpZCIsIm5hbWUiLCJ0eXBlIiwiaXNfZmF2b3JpdGUiLCJhbXBsaXR1ZGVFdmVudCIsIm1vY2siLCJFVkVOVFMiLCJvcGVuTW9kYWwiLCJhaUNoYXRGYXZvcml0ZSIsInVzZUV2ZW50IiwidXNlUmVzaXplTGlzdGVuZXIiLCJzaG93VG9vbHRpcCIsInVzZVRvZ2dsZUZhdm9yaXRlIiwidXNlVXNlciIsInBlcm1pc3Npb25zIiwiYWlfYWdlbnRzIiwiZWRpdCIsImN1c3RvbUFnZW50IiwiZW1vamkiLCJrbm93bGVkZ2UiLCJiYXNlUHJvcHMiLCJhZ2VudCIsImluZGV4IiwiaGFuZGxlU2VsZWN0QWdlbnQiLCJpc1NlbGVjdGVkIiwic2V0SXNFeHBhbmRlZCIsImRlc2NyaWJlIiwib3JpZ2luYWxNdWx0aUFnZW50cyIsIndpbmRvdyIsIk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMiLCJiZWZvcmVFYWNoIiwibW9ja0NsZWFyIiwiYWZ0ZXJFYWNoIiwiaXQiLCJfb2JqZWN0U3ByZWFkIiwiY2xpY2siLCJnZXRCeVRleHQiLCJleHBlY3QiLCJ0b0hhdmVCZWVuQ2FsbGVkV2l0aCIsIm9uT3BlbiIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsImdldEJ5VGl0bGUiLCJmaXJzdEVsZW1lbnRDaGlsZCIsIm9wdGlvbiIsInRvSGF2ZUJlZW5DYWxsZWQiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwib25GYXZvcml0ZVRvZ2dsZSIsIm9iamVjdENvbnRhaW5pbmciXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEFJTW9kYWwvY29tcG9uZW50cy9DaGF0QWlBZ2VudE9wdGlvbnMvQ2hhdEFpQWdlbnRPcHRpb25zLnNwZWMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZpcmVFdmVudCwgcmVuZGVyV2l0aFByb3ZpZGVycywgc2NyZWVuIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdGVzdC90ZXN0LXV0aWxzJ1xuaW1wb3J0IHR5cGUgeyBBZ2VudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3R5cGVzL2FnZW50J1xuaW1wb3J0IHsgQ2hhdEFJQWdlbnRPcHRpb24gfSBmcm9tICcuL0NoYXRBaUFnZW50T3B0aW9ucydcblxuY29uc3QgdG9nZ2xlRmF2b3JpdGUgPSBqZXN0LmZuKChfaWQ6IHN0cmluZywgb25TdWNjZXNzOiAoYWdlbnQ6IEFnZW50KSA9PiB2b2lkKSA9PiB7XG4gIG9uU3VjY2Vzcyh7IGlkOiAnYWdlbnQtMScsIG5hbWU6ICdDdXN0b20gQm90JywgdHlwZTogJ2N1c3RvbScsIGlzX2Zhdm9yaXRlOiB0cnVlIH0pXG59KVxuY29uc3QgYW1wbGl0dWRlRXZlbnQgPSBqZXN0LmZuKClcblxuamVzdC5tb2NrKCcuLi8uLi8uLi8uLi8uLi9ob29rcy91c2VFdmVudCcsICgpID0+ICh7XG4gIEVWRU5UUzoge1xuICAgIG9wZW5Nb2RhbDogJ09QRU5fTU9EQUwnLFxuICAgIGFpQ2hhdEZhdm9yaXRlOiAnQUlfQ0hBVF9GQVZPUklURScsXG4gIH0sXG4gIHVzZUV2ZW50OiAoKSA9PiBhbXBsaXR1ZGVFdmVudCxcbn0pKVxuXG5qZXN0Lm1vY2soJy4uLy4uLy4uLy4uLy4uL2hvb2tzL3VzZVJlc2l6ZScsICgpID0+ICh7XG4gIHVzZVJlc2l6ZUxpc3RlbmVyOiAoKSA9PiAoeyBzaG93VG9vbHRpcDogZmFsc2UgfSksXG59KSlcblxuamVzdC5tb2NrKCcuLi8uLi8uLi8uLi8uLi9ob29rcycsICgpID0+ICh7XG4gIHVzZVRvZ2dsZUZhdm9yaXRlOiAoKSA9PiAoeyB0b2dnbGVGYXZvcml0ZSB9KSxcbn0pKVxuXG5qZXN0Lm1vY2soJy4uLy4uLy4uLy4uLy4uL2NvbnRleHQvY29yLXVzZXInLCAoKSA9PiAoe1xuICB1c2VVc2VyOiAoKSA9PiAoe1xuICAgIHBlcm1pc3Npb25zOiB7IGFpX2FnZW50czogeyBlZGl0OiB0cnVlIH0gfSxcbiAgfSksXG59KSlcblxuY29uc3QgY3VzdG9tQWdlbnQ6IEFnZW50ID0ge1xuICBpZDogJ2FnZW50LTEnLFxuICBuYW1lOiAnQ3VzdG9tIEJvdCcsXG4gIHR5cGU6ICdjdXN0b20nLFxuICBlbW9qaTogJ/CfpJYnLFxuICBrbm93bGVkZ2U6IFtdLFxufVxuXG5jb25zdCBiYXNlUHJvcHMgPSB7XG4gIGFnZW50OiBjdXN0b21BZ2VudCxcbiAgaW5kZXg6IDAsXG4gIGhhbmRsZVNlbGVjdEFnZW50OiBqZXN0LmZuKCksXG4gIGlzU2VsZWN0ZWQ6IGZhbHNlLFxuICBzZXRJc0V4cGFuZGVkOiBqZXN0LmZuKCksXG59XG5cbmRlc2NyaWJlKCdDaGF0QUlBZ2VudE9wdGlvbicsICgpID0+IHtcbiAgY29uc3Qgb3JpZ2luYWxNdWx0aUFnZW50cyA9IHdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTXG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMgPSB0cnVlXG4gICAgYmFzZVByb3BzLmhhbmRsZVNlbGVjdEFnZW50Lm1vY2tDbGVhcigpXG4gICAgYmFzZVByb3BzLnNldElzRXhwYW5kZWQubW9ja0NsZWFyKClcbiAgICB0b2dnbGVGYXZvcml0ZS5tb2NrQ2xlYXIoKVxuICAgIGFtcGxpdHVkZUV2ZW50Lm1vY2tDbGVhcigpXG4gIH0pXG5cbiAgYWZ0ZXJFYWNoKCgpID0+IHtcbiAgICB3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyA9IG9yaWdpbmFsTXVsdGlBZ2VudHNcbiAgfSlcblxuICBpdCgnc2VsZWN0cyB0aGUgYWdlbnQgd2hlbiB0aGUgcm93IGlzIGNsaWNrZWQnLCAoKSA9PiB7XG4gICAgcmVuZGVyV2l0aFByb3ZpZGVycyg8Q2hhdEFJQWdlbnRPcHRpb24gey4uLmJhc2VQcm9wc30gLz4pXG5cbiAgICBmaXJlRXZlbnQuY2xpY2soc2NyZWVuLmdldEJ5VGV4dCgnQ3VzdG9tIEJvdCcpKVxuXG4gICAgZXhwZWN0KGJhc2VQcm9wcy5oYW5kbGVTZWxlY3RBZ2VudCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoY3VzdG9tQWdlbnQpXG4gIH0pXG5cbiAgaXQoJ29wZW5zIGVkaXQgbW9kYWwgZm9yIGVkaXRhYmxlIGN1c3RvbSBhZ2VudHMnLCAoKSA9PiB7XG4gICAgY29uc3Qgb25PcGVuID0gamVzdC5mbigpXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignYWJtLWFnZW50LW1vZGFsLXNldC12YWx1ZXMnLCBvbk9wZW4pXG5cbiAgICByZW5kZXJXaXRoUHJvdmlkZXJzKDxDaGF0QUlBZ2VudE9wdGlvbiB7Li4uYmFzZVByb3BzfSAvPilcblxuICAgIGZpcmVFdmVudC5jbGljayhzY3JlZW4uZ2V0QnlUaXRsZSgnYWdlbnRzLmVkaXQnKS5maXJzdEVsZW1lbnRDaGlsZCBhcyBFbGVtZW50KVxuXG4gICAgZXhwZWN0KGJhc2VQcm9wcy5zZXRJc0V4cGFuZGVkKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChmYWxzZSlcbiAgICBleHBlY3QoYW1wbGl0dWRlRXZlbnQpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKCdPUEVOX01PREFMJywgeyBvcHRpb246ICdlZGl0X2FnZW50JyB9KVxuICAgIGV4cGVjdChvbk9wZW4pLnRvSGF2ZUJlZW5DYWxsZWQoKVxuXG4gICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignYWJtLWFnZW50LW1vZGFsLXNldC12YWx1ZXMnLCBvbk9wZW4pXG4gIH0pXG5cbiAgaXQoJ3RvZ2dsZXMgZmF2b3JpdGUgYW5kIG5vdGlmaWVzIHBhcmVudCcsICgpID0+IHtcbiAgICBjb25zdCBvbkZhdm9yaXRlVG9nZ2xlID0gamVzdC5mbigpXG5cbiAgICByZW5kZXJXaXRoUHJvdmlkZXJzKDxDaGF0QUlBZ2VudE9wdGlvbiB7Li4uYmFzZVByb3BzfSBvbkZhdm9yaXRlVG9nZ2xlPXtvbkZhdm9yaXRlVG9nZ2xlfSAvPilcblxuICAgIGZpcmVFdmVudC5jbGljayhzY3JlZW4uZ2V0QnlUaXRsZSgnYWdlbnRzLmFkZEZhdm9yaXRlJykuZmlyc3RFbGVtZW50Q2hpbGQgYXMgRWxlbWVudClcblxuICAgIGV4cGVjdCh0b2dnbGVGYXZvcml0ZSkudG9IYXZlQmVlbkNhbGxlZCgpXG4gICAgZXhwZWN0KG9uRmF2b3JpdGVUb2dnbGUpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGV4cGVjdC5vYmplY3RDb250YWluaW5nKHsgaXNfZmF2b3JpdGU6IHRydWUgfSkpXG4gICAgZXhwZWN0KGFtcGxpdHVkZUV2ZW50KS50b0hhdmVCZWVuQ2FsbGVkV2l0aCgnQUlfQ0hBVF9GQVZPUklURScsIHsgb3B0aW9uOiAnYWRkJyB9KVxuICB9KVxufSlcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsU0FBU0EsU0FBUyxFQUFFQyxtQkFBbUIsRUFBRUMsTUFBTSxRQUFRLGdDQUFnQztBQUV2RixTQUFTQyxpQkFBaUIsUUFBUSxzQkFBc0I7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUE7QUFFeEQsSUFBTUMsY0FBYyxHQUFHQyxJQUFJLENBQUNDLEVBQUUsQ0FBQyxVQUFDQyxHQUFXLEVBQUVDLFNBQWlDLEVBQUs7RUFDakZBLFNBQVMsQ0FBQztJQUFFQyxFQUFFLEVBQUUsU0FBUztJQUFFQyxJQUFJLEVBQUUsWUFBWTtJQUFFQyxJQUFJLEVBQUUsUUFBUTtJQUFFQyxXQUFXLEVBQUU7RUFBSyxDQUFDLENBQUM7QUFDckYsQ0FBQyxDQUFDO0FBQ0YsSUFBTUMsY0FBYyxHQUFHUixJQUFJLENBQUNDLEVBQUUsQ0FBQyxDQUFDO0FBRWhDRCxJQUFJLENBQUNTLElBQUksQ0FBQywrQkFBK0IsRUFBRTtFQUFBLE9BQU87SUFDaERDLE1BQU0sRUFBRTtNQUNOQyxTQUFTLEVB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
@@ -1,17 +1,9 @@
1
- import { InformationCircle } from '@projectcor/icons/lib/components/InformationCircle';
2
- import colors from '@projectcor/theme/lib/base/colors';
3
- import moment from 'moment';
4
- import { useTranslation } from 'react-i18next';
5
1
  import { ChatFooter } from '../../../ChatFooter/ChatFooter';
6
- import { SECTIONS } from '../../../../../constants/config';
7
- import { useUser } from '../../../../../context/cor-user';
8
- import { validateIsMaia } from '../../../../../services/utils/validateIsMaia';
9
- import { EVENTS, useEvent } from '../../../../../hooks/useEvent';
10
2
  import { useChatsStore } from '../../../../../store/useChatsStore';
11
- import { SCCAIMFWrapper, SCCAIMFWrapperInfoDeletedAgent, SCCAIMFWrapperInfoDeletedAgentText, SCCAIMFWrapperInfoIcon, SCCAIMFMessageWithAction, SCCAIMFChangeModelButton } from './ChatAiModalFooter.styles';
12
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { AgentInputBlockMessage, resolveAgentInputBlock, useAgentChangeModelAction } from '../../../AgentInputBlock';
4
+ import { SCCAIMFWrapper } from './ChatAiModalFooter.styles';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
13
6
  export var ChatAiModalFooter = function ChatAiModalFooter(_ref) {
14
- var _user$permissions;
15
7
  var agent = _ref.agent,
16
8
  handleSendMessage = _ref.handleSendMessage,
17
9
  handleStopGeneration = _ref.handleStopGeneration,
@@ -23,150 +15,20 @@ export var ChatAiModalFooter = function ChatAiModalFooter(_ref) {
23
15
  legacyContextSession = _ref.legacyContextSession,
24
16
  onContinueInNewChat = _ref.onContinueInNewChat,
25
17
  layoutMode = _ref.layoutMode;
26
- var _useTranslation = useTranslation([SECTIONS.abmAgent]),
27
- t = _useTranslation.t;
28
- var user = useUser();
29
- var eventAmplitude = useEvent();
30
18
  var markChatAsRead = useChatsStore(function (state) {
31
19
  return state.markChatAsRead;
32
20
  });
33
- var infoIconColor = colors.text.secondary;
34
- var canEditCustomAgent = !!agent && !!(user !== null && user !== void 0 && (_user$permissions = user.permissions) !== null && _user$permissions !== void 0 && (_user$permissions = _user$permissions.ai_agents) !== null && _user$permissions !== void 0 && _user$permissions.edit) && !validateIsMaia(agent) && agent.type === 'custom' && window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS;
35
- var handleOpenChangeModelModal = function handleOpenChangeModelModal() {
36
- if (!agent || !canEditCustomAgent) return;
37
- eventAmplitude(EVENTS.openModal, {
38
- option: 'edit_agent'
39
- });
40
- document.dispatchEvent(new CustomEvent('abm-agent-modal-set-values', {
41
- detail: {
42
- agentValues: {
43
- values: {
44
- isEditing: true,
45
- knowledge: agent.knowledge || [],
46
- general: {
47
- name: agent.name,
48
- id: agent.id
49
- }
50
- },
51
- isOpen: true
52
- }
53
- }
54
- }));
55
- };
56
- if (legacyContextSession) {
57
- return /*#__PURE__*/_jsx(SCCAIMFWrapper, {
58
- children: /*#__PURE__*/_jsxs(SCCAIMFWrapperInfoDeletedAgent, {
59
- children: [/*#__PURE__*/_jsx(SCCAIMFWrapperInfoIcon, {
60
- children: /*#__PURE__*/_jsx(InformationCircle, {
61
- width: 20,
62
- height: 20,
63
- color: infoIconColor
64
- })
65
- }), /*#__PURE__*/_jsxs(SCCAIMFMessageWithAction, {
66
- children: [/*#__PURE__*/_jsx(SCCAIMFWrapperInfoDeletedAgentText, {
67
- children: t('legendLegacyContextSession', {
68
- name: legacyContextSession.contextName
69
- })
70
- }), /*#__PURE__*/_jsx(SCCAIMFChangeModelButton, {
71
- type: "button",
72
- onClick: onContinueInNewChat,
73
- children: t('continueInNewChat')
74
- })]
75
- })]
76
- })
77
- });
78
- }
79
- if (agent !== null && agent !== void 0 && agent.is_deleted) {
80
- return /*#__PURE__*/_jsx(SCCAIMFWrapper, {
81
- children: /*#__PURE__*/_jsxs(SCCAIMFWrapperInfoDeletedAgent, {
82
- children: [/*#__PURE__*/_jsx(SCCAIMFWrapperInfoIcon, {
83
- children: /*#__PURE__*/_jsx(InformationCircle, {
84
- width: 20,
85
- height: 20,
86
- color: infoIconColor
87
- })
88
- }), /*#__PURE__*/_jsxs(SCCAIMFWrapperInfoDeletedAgentText, {
89
- children: [t('legendDeletedAgent'), " ", moment(agent === null || agent === void 0 ? void 0 : agent.deleted_at).format('DD [de] MMMM, YYYY')]
90
- })]
91
- })
92
- });
93
- }
94
- if (agent !== null && agent !== void 0 && agent.project_deleted) {
95
- return /*#__PURE__*/_jsx(SCCAIMFWrapper, {
96
- children: /*#__PURE__*/_jsxs(SCCAIMFWrapperInfoDeletedAgent, {
97
- children: [/*#__PURE__*/_jsx(SCCAIMFWrapperInfoIcon, {
98
- children: /*#__PURE__*/_jsx(InformationCircle, {
99
- width: 20,
100
- height: 20,
101
- color: infoIconColor
102
- })
103
- }), /*#__PURE__*/_jsx(SCCAIMFWrapperInfoDeletedAgentText, {
104
- children: t('legendProjectDeleted', {
105
- name: agent.project_deleted.name
106
- })
107
- })]
108
- })
109
- });
110
- }
111
- if (agent !== null && agent !== void 0 && agent.has_not_access) {
112
- return /*#__PURE__*/_jsx(SCCAIMFWrapper, {
113
- children: /*#__PURE__*/_jsxs(SCCAIMFWrapperInfoDeletedAgent, {
114
- children: [/*#__PURE__*/_jsx(SCCAIMFWrapperInfoIcon, {
115
- children: /*#__PURE__*/_jsx(InformationCircle, {
116
- width: 20,
117
- height: 20,
118
- color: infoIconColor
119
- })
120
- }), /*#__PURE__*/_jsx(SCCAIMFWrapperInfoDeletedAgentText, {
121
- children: t('legendNoAccess', {
122
- name: agent === null || agent === void 0 ? void 0 : agent.name
123
- })
124
- })]
125
- })
126
- });
127
- }
128
- if (agent !== null && agent !== void 0 && agent.has_not_permissions || !agent) {
129
- return /*#__PURE__*/_jsx(SCCAIMFWrapper, {
130
- children: /*#__PURE__*/_jsxs(SCCAIMFWrapperInfoDeletedAgent, {
131
- children: [/*#__PURE__*/_jsx(SCCAIMFWrapperInfoIcon, {
132
- children: /*#__PURE__*/_jsx(InformationCircle, {
133
- width: 20,
134
- height: 20,
135
- color: infoIconColor
136
- })
137
- }), /*#__PURE__*/_jsx(SCCAIMFWrapperInfoDeletedAgentText, {
138
- children: t('legendNoPermissions', {
139
- name: agent === null || agent === void 0 ? void 0 : agent.name
140
- })
141
- })]
142
- })
143
- });
144
- }
145
- var customAgentWarningKey = null;
146
- if ((agent === null || agent === void 0 ? void 0 : agent.type) === 'custom' && agent !== null && agent !== void 0 && agent.model_deprecated) {
147
- customAgentWarningKey = 'legendModelDeprecated';
148
- } else if ((agent === null || agent === void 0 ? void 0 : agent.type) === 'custom' && ((agent === null || agent === void 0 ? void 0 : agent.provider_status) === 'partial_outage' || (agent === null || agent === void 0 ? void 0 : agent.provider_status) === 'major_outage' || (agent === null || agent === void 0 ? void 0 : agent.provider_status) === 'under_maintenance')) {
149
- customAgentWarningKey = 'legendProviderStatus';
150
- }
151
- if (customAgentWarningKey) {
152
- return /*#__PURE__*/_jsx(SCCAIMFWrapper, {
153
- children: /*#__PURE__*/_jsxs(SCCAIMFWrapperInfoDeletedAgent, {
154
- children: [/*#__PURE__*/_jsx(SCCAIMFWrapperInfoIcon, {
155
- children: /*#__PURE__*/_jsx(InformationCircle, {
156
- width: 20,
157
- height: 20,
158
- color: infoIconColor
159
- })
160
- }), /*#__PURE__*/_jsxs(SCCAIMFMessageWithAction, {
161
- children: [/*#__PURE__*/_jsx(SCCAIMFWrapperInfoDeletedAgentText, {
162
- children: t(customAgentWarningKey)
163
- }), canEditCustomAgent && /*#__PURE__*/_jsx(SCCAIMFChangeModelButton, {
164
- type: "button",
165
- onClick: handleOpenChangeModelModal,
166
- children: t('changeModel')
167
- })]
168
- })]
169
- })
21
+ var inputBlock = resolveAgentInputBlock(agent, legacyContextSession);
22
+ var _useAgentChangeModelA = useAgentChangeModelAction(agent),
23
+ canEditCustomAgent = _useAgentChangeModelA.canEditCustomAgent,
24
+ openChangeModelModal = _useAgentChangeModelA.openChangeModelModal;
25
+ if (inputBlock) {
26
+ return /*#__PURE__*/_jsx(AgentInputBlockMessage, {
27
+ block: inputBlock,
28
+ variant: "footer",
29
+ onContinueInNewChat: onContinueInNewChat,
30
+ onChangeModel: openChangeModelModal,
31
+ showChangeModelButton: inputBlock.kind === 'custom_warning' ? canEditCustomAgent : false
170
32
  });
171
33
  }
172
34
  return /*#__PURE__*/_jsx(SCCAIMFWrapper, {
@@ -186,4 +48,4 @@ export var ChatAiModalFooter = function ChatAiModalFooter(_ref) {
186
48
  })
187
49
  });
188
50
  };
189
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJJbmZvcm1hdGlvbkNpcmNsZSIsImNvbG9ycyIsIm1vbWVudCIsInVzZVRyYW5zbGF0aW9uIiwiQ2hhdEZvb3RlciIsIlNFQ1RJT05TIiwidXNlVXNlciIsInZhbGlkYXRlSXNNYWlhIiwiRVZFTlRTIiwidXNlRXZlbnQiLCJ1c2VDaGF0c1N0b3JlIiwiU0NDQUlNRldyYXBwZXIiLCJTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnQiLCJTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0IiwiU0NDQUlNRldyYXBwZXJJbmZvSWNvbiIsIlNDQ0FJTUZNZXNzYWdlV2l0aEFjdGlvbiIsIlNDQ0FJTUZDaGFuZ2VNb2RlbEJ1dHRvbiIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJDaGF0QWlNb2RhbEZvb3RlciIsIl9yZWYiLCJfdXNlciRwZXJtaXNzaW9ucyIsImFnZW50IiwiaGFuZGxlU2VuZE1lc3NhZ2UiLCJoYW5kbGVTdG9wR2VuZXJhdGlvbiIsImlzU3RyZWFtaW5nIiwiaXNXcml0aW5nIiwiY2hhdElkIiwibmV3Q2hhdEtleSIsInRvb2x0aXBaSW5kZXgiLCJsZWdhY3lDb250ZXh0U2Vzc2lvbiIsIm9uQ29udGludWVJbk5ld0NoYXQiLCJsYXlvdXRNb2RlIiwiX3VzZVRyYW5zbGF0aW9uIiwiYWJtQWdlbnQiLCJ0IiwidXNlciIsImV2ZW50QW1wbGl0dWRlIiwibWFya0NoYXRBc1JlYWQiLCJzdGF0ZSIsImluZm9JY29uQ29sb3IiLCJ0ZXh0Iiwic2Vjb25kYXJ5IiwiY2FuRWRpdEN1c3RvbUFnZW50IiwicGVybWlzc2lvbnMiLCJhaV9hZ2VudHMiLCJlZGl0IiwidHlwZSIsIndpbmRvdyIsIk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMiLCJoYW5kbGVPcGVuQ2hhbmdlTW9kZWxNb2RhbCIsIm9wZW5Nb2RhbCIsIm9wdGlvbiIsImRvY3VtZW50IiwiZGlzcGF0Y2hFdmVudCIsIkN1c3RvbUV2ZW50IiwiZGV0YWlsIiwiYWdlbnRWYWx1ZXMiLCJ2YWx1ZXMiLCJpc0VkaXRpbmciLCJrbm93bGVkZ2UiLCJnZW5lcmFsIiwibmFtZSIsImlkIiwiaXNPcGVuIiwiY2hpbGRyZW4iLCJ3aWR0aCIsImhlaWdodCIsImNvbG9yIiwiY29udGV4dE5hbWUiLCJvbkNsaWNrIiwiaXNfZGVsZXRlZCIsImRlbGV0ZWRfYXQiLCJmb3JtYXQiLCJwcm9qZWN0X2RlbGV0ZWQiLCJoYXNfbm90X2FjY2VzcyIsImhhc19ub3RfcGVybWlzc2lvbnMiLCJjdXN0b21BZ2VudFdhcm5pbmdLZXkiLCJtb2RlbF9kZXByZWNhdGVkIiwicHJvdmlkZXJfc3RhdHVzIiwib25TZW5kTWVzc2FnZSIsImRpc2FibGVkIiwib25TdG9wR2VuZXJhdGlvbiIsIm9uSW5wdXRGb2N1cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNb2RhbC9jb21wb25lbnRzL0NoYXRBaU1vZGFsRm9vdGVyL0NoYXRBaU1vZGFsRm9vdGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmZvcm1hdGlvbkNpcmNsZSB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0luZm9ybWF0aW9uQ2lyY2xlJ1xuaW1wb3J0IGNvbG9ycyBmcm9tICdAcHJvamVjdGNvci90aGVtZS9saWIvYmFzZS9jb2xvcnMnXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCB7IENoYXRGb290ZXIgfSBmcm9tICcuLi8uLi8uLi9DaGF0Rm9vdGVyL0NoYXRGb290ZXInXG5pbXBvcnQgeyBTRUNUSU9OUyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyB1c2VVc2VyIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29udGV4dC9jb3ItdXNlcidcbmltcG9ydCB7IEFnZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgeyB2YWxpZGF0ZUlzTWFpYSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzL3ZhbGlkYXRlSXNNYWlhJ1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuaW1wb3J0IHsgdXNlQ2hhdHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3N0b3JlL3VzZUNoYXRzU3RvcmUnXG5pbXBvcnQge1xuICBTQ0NBSU1GV3JhcHBlcixcbiAgU0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50LFxuICBTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0LFxuICBTQ0NBSU1GV3JhcHBlckluZm9JY29uLFxuICBTQ0NBSU1GTWVzc2FnZVdpdGhBY3Rpb24sXG4gIFNDQ0FJTUZDaGFuZ2VNb2RlbEJ1dHRvbixcbn0gZnJvbSAnLi9DaGF0QWlNb2RhbEZvb3Rlci5zdHlsZXMnXG5pbXBvcnQgdHlwZSB7IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlIH0gZnJvbSAnLi4vLi4vbGF5b3V0J1xuXG5leHBvcnQgY29uc3QgQ2hhdEFpTW9kYWxGb290ZXIgPSAoe1xuICBhZ2VudCxcbiAgaGFuZGxlU2VuZE1lc3NhZ2UsXG4gIGhhbmRsZVN0b3BHZW5lcmF0aW9uLFxuICBpc1N0cmVhbWluZyxcbiAgaXNXcml0aW5nLFxuICBjaGF0SWQsXG4gIG5ld0NoYXRLZXksXG4gIHRvb2x0aXBaSW5kZXgsXG4gIGxlZ2FjeUNvbnRleHRTZXNzaW9uLFxuICBvbkNvbnRpbnVlSW5OZXdDaGF0LFxuICBsYXlvdXRNb2RlLFxufToge1xuICBhZ2VudD86IEFnZW50IHwgbnVsbFxuICBoYW5kbGVTZW5kTWVzc2FnZTogUGFyYW1ldGVyczx0eXBlb2YgQ2hhdEZvb3Rlcj5bMF1bJ29uU2VuZE1lc3NhZ2UnXVxuICBoYW5kbGVTdG9wR2VuZXJhdGlvbj86ICgoKSA9PiB2b2lkKSB8IG51bGxcbiAgaXNTdHJlYW1pbmc/OiBib29sZWFuXG4gIGlzV3JpdGluZz86IGJvb2xlYW5cbiAgY2hhdElkPzogc3RyaW5nIHwgbnVsbFxuICBuZXdDaGF0S2V5PzogbnVtYmVyXG4gIHRvb2x0aXBaSW5kZXg/OiBudW1iZXJcbiAgLyoqIFNpIGxhIHNlc3Npb24gYWJpZXJ0YSBlcyBkZSB1biBjbG9uZSBsZWdhY3kgKGVudGl0eSBwcm9qZWN0L3Rhc2svY2xpZW50KSwgc2UgbXVlc3RyYSB1biBjYXJ0ZWxcbiAgICogIHBhcmEgY29udGludWFyIGVsIGNvbnRleHRvIGVuIHVuIGNoYXQgbnVldm8gKGNvbiBlbCBvcmNoZXN0cmF0b3IpIGVuIHZleiBkZWwgaW5wdXQuICovXG4gIGxlZ2FjeUNvbnRleHRTZXNzaW9uPzogeyBlbnRpdHlUeXBlOiAncHJvamVjdCcgfCAndGFzaycgfCAnY2xpZW50JzsgY29udGV4dE5hbWU6IHN0cmluZyB9IHwgbnVsbFxuICBvbkNvbnRpbnVlSW5OZXdDaGF0PzogKCkgPT4gdm9pZFxuICBsYXlvdXRNb2RlPzogTWFpYUNoYXRNb2RhbExheW91dE1vZGVcbn0pID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbU0VDVElPTlMuYWJtQWdlbnRdKVxuICBjb25zdCB1c2VyID0gdXNlVXNlcigpXG4gIGNvbnN0IGV2ZW50QW1wbGl0dWRlID0gdXNlRXZlbnQoKVxuICBjb25zdCBtYXJrQ2hhdEFzUmVhZCA9IHVzZUNoYXRzU3RvcmUoc3RhdGUgPT4gc3RhdGUubWFya0NoYXRBc1JlYWQpXG4gIGNvbnN0IGluZm9JY29uQ29sb3IgPSBjb2xvcnMudGV4dC5zZWNvbmRhcnlcblxuICBjb25zdCBjYW5FZGl0Q3VzdG9tQWdlbnQgPVxuICAgICEhYWdlbnQgJiZcbiAgICAhIXVzZXI/LnBlcm1pc3Npb25zPy5haV9hZ2VudHM/LmVkaXQgJiZcbiAgICAhdmFsaWRhdGVJc01haWEoYWdlbnQgYXMgQWdlbnQpICYmXG4gICAgYWdlbnQudHlwZSA9PT0gJ2N1c3RvbScgJiZcbiAgICB3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UU1xuXG4gIGNvbnN0IGhhbmRsZU9wZW5DaGFuZ2VNb2RlbE1vZGFsID0gKCkgPT4ge1xuICAgIGlmICghYWdlbnQgfHwgIWNhbkVkaXRDdXN0b21BZ2VudCkgcmV0dXJuXG5cbiAgICBldmVudEFtcGxpdHVkZShFVkVOVFMub3Blbk1vZGFsLCB7IG9wdGlvbjogJ2VkaXRfYWdlbnQnIH0pXG4gICAgZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChcbiAgICAgIG5ldyBDdXN0b21FdmVudCgnYWJtLWFnZW50LW1vZGFsLXNldC12YWx1ZXMnLCB7XG4gICAgICAgIGRldGFpbDoge1xuICAgICAgICAgIGFnZW50VmFsdWVzOiB7XG4gICAgICAgICAgICB2YWx1ZXM6IHtcbiAgICAgICAgICAgICAgaXNFZGl0aW5nOiB0cnVlLFxuICAgICAgICAgICAgICBrbm93bGVkZ2U6IGFnZW50Lmtub3dsZWRnZSB8fCBbXSxcbiAgICAgICAgICAgICAgZ2VuZXJhbDoge1xuICAgICAgICAgICAgICAgIG5hbWU6IGFnZW50Lm5hbWUsXG4gICAgICAgICAgICAgICAgaWQ6IGFnZW50LmlkLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGlzT3BlbjogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICBpZiAobGVnYWN5Q29udGV4dFNlc3Npb24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ0FJTUZXcmFwcGVyPlxuICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50PlxuICAgICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9JY29uPlxuICAgICAgICAgICAgPEluZm9ybWF0aW9uQ2lyY2xlIHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gY29sb3I9e2luZm9JY29uQ29sb3J9IC8+XG4gICAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9JY29uPlxuICAgICAgICAgIDxTQ0NBSU1GTWVzc2FnZVdpdGhBY3Rpb24+XG4gICAgICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50VGV4dD5cbiAgICAgICAgICAgICAge3QoJ2xlZ2VuZExlZ2FjeUNvbnRleHRTZXNzaW9uJywgeyBuYW1lOiBsZWdhY3lDb250ZXh0U2Vzc2lvbi5jb250ZXh0TmFtZSB9KX1cbiAgICAgICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50VGV4dD5cbiAgICAgICAgICAgIDxTQ0NBSU1GQ2hhbmdlTW9kZWxCdXR0b24gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e29uQ29udGludWVJbk5ld0NoYXR9PlxuICAgICAgICAgICAgICB7dCgnY29udGludWVJbk5ld0NoYXQnKX1cbiAgICAgICAgICAgIDwvU0NDQUlNRkNoYW5nZU1vZGVsQnV0dG9uPlxuICAgICAgICAgIDwvU0NDQUlNRk1lc3NhZ2VXaXRoQWN0aW9uPlxuICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgIDwvU0NDQUlNRldyYXBwZXI+XG4gICAgKVxuICB9XG5cbiAgaWYgKGFnZW50Py5pc19kZWxldGVkKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ0NBSU1GV3JhcHBlcj5cbiAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvSWNvbj5cbiAgICAgICAgICAgIDxJbmZvcm1hdGlvbkNpcmNsZSB3aWR0aD17MjB9IGhlaWdodD17MjB9IGNvbG9yPXtpbmZvSWNvbkNvbG9yfSAvPlxuICAgICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvSWNvbj5cbiAgICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50VGV4dD5cbiAgICAgICAgICAgIHt0KCdsZWdlbmREZWxldGVkQWdlbnQnKX0ge21vbWVudChhZ2VudD8uZGVsZXRlZF9hdCkuZm9ybWF0KCdERCBbZGVdIE1NTU0sIFlZWVknKX1cbiAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50PlxuICAgICAgPC9TQ0NBSU1GV3JhcHBlcj5cbiAgICApXG4gIH1cblxuICBpZiAoYWdlbnQ/LnByb2plY3RfZGVsZXRlZCkge1xuICAgIHJldHVybiAoXG4gICAgICA8U0NDQUlNRldyYXBwZXI+XG4gICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnQ+XG4gICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgICA8SW5mb3JtYXRpb25DaXJjbGUgd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSBjb2xvcj17aW5mb0ljb25Db2xvcn0gLz5cbiAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgICAgICB7dCgnbGVnZW5kUHJvamVjdERlbGV0ZWQnLCB7IG5hbWU6IGFnZW50LnByb2plY3RfZGVsZXRlZC5uYW1lIH0pfVxuICAgICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50VGV4dD5cbiAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnQ+XG4gICAgICA8L1NDQ0FJTUZXcmFwcGVyPlxuICAgIClcbiAgfVxuXG4gIGlmIChhZ2VudD8uaGFzX25vdF9hY2Nlc3MpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ0FJTUZXcmFwcGVyPlxuICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50PlxuICAgICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9JY29uPlxuICAgICAgICAgICAgPEluZm9ybWF0aW9uQ2lyY2xlIHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gY29sb3I9e2luZm9JY29uQ29sb3J9IC8+XG4gICAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9JY29uPlxuICAgICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0PlxuICAgICAgICAgICAge3QoJ2xlZ2VuZE5vQWNjZXNzJywgeyBuYW1lOiBhZ2VudD8ubmFtZSB9KX1cbiAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50PlxuICAgICAgPC9TQ0NBSU1GV3JhcHBlcj5cbiAgICApXG4gIH1cblxuICBpZiAoYWdlbnQ/Lmhhc19ub3RfcGVybWlzc2lvbnMgfHwgIWFnZW50KSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ0NBSU1GV3JhcHBlcj5cbiAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvSWNvbj5cbiAgICAgICAgICAgIDxJbmZvcm1hdGlvbkNpcmNsZSB3aWR0aD17MjB9IGhlaWdodD17MjB9IGNvbG9yPXtpbmZvSWNvbkNvbG9yfSAvPlxuICAgICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvSWNvbj5cbiAgICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50VGV4dD5cbiAgICAgICAgICAgIHt0KCdsZWdlbmROb1Blcm1pc3Npb25zJywgeyBuYW1lOiBhZ2VudD8ubmFtZSB9KX1cbiAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50PlxuICAgICAgPC9TQ0NBSU1GV3JhcHBlcj5cbiAgICApXG4gIH1cblxuICBsZXQgY3VzdG9tQWdlbnRXYXJuaW5nS2V5OiBzdHJpbmcgfCBudWxsID0gbnVsbFxuXG4gIGlmIChhZ2VudD8udHlwZSA9PT0gJ2N1c3RvbScgJiYgYWdlbnQ/Lm1vZGVsX2RlcHJlY2F0ZWQpIHtcbiAgICBjdXN0b21BZ2VudFdhcm5pbmdLZXkgPSAnbGVnZW5kTW9kZWxEZXByZWNhdGVkJ1xuICB9IGVsc2UgaWYgKFxuICAgIGFnZW50Py50eXBlID09PSAnY3VzdG9tJyAmJlxuICAgIChhZ2VudD8ucHJvdmlkZXJfc3RhdHVzID09PSAncGFydGlhbF9vdXRhZ2UnIHx8XG4gICAgICBhZ2VudD8ucHJvdmlkZXJfc3RhdHVzID09PSAnbWFqb3Jfb3V0YWdlJyB8fFxuICAgICAgYWdlbnQ/LnByb3ZpZGVyX3N0YXR1cyA9PT0gJ3VuZGVyX21haW50ZW5hbmNlJylcbiAgKSB7XG4gICAgY3VzdG9tQWdlbnRXYXJuaW5nS2V5ID0gJ2xlZ2VuZFByb3ZpZGVyU3RhdHVzJ1xuICB9XG5cbiAgaWYgKGN1c3RvbUFnZW50V2FybmluZ0tleSkge1xuICAgIHJldHVybiAoXG4gICAgICA8U0NDQUlNRldyYXBwZXI+XG4gICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnQ+XG4gICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgICA8SW5mb3JtYXRpb25DaXJjbGUgd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSBjb2xvcj17aW5mb0ljb25Db2xvcn0gLz5cbiAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgPFNDQ0FJTUZNZXNzYWdlV2l0aEFjdGlvbj5cbiAgICAgICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0Pnt0KGN1c3RvbUFnZW50V2FybmluZ0tleSl9PC9TQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0PlxuICAgICAgICAgICAge2NhbkVkaXRDdXN0b21BZ2VudCAmJiAoXG4gICAgICAgICAgICAgIDxTQ0NBSU1GQ2hhbmdlTW9kZWxCdXR0b24gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e2hhbmRsZU9wZW5DaGFuZ2VNb2RlbE1vZGFsfT5cbiAgICAgICAgICAgICAgICB7dCgnY2hhbmdlTW9kZWwnKX1cbiAgICAgICAgICAgICAgPC9TQ0NBSU1GQ2hhbmdlTW9kZWxCdXR0b24+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvU0NDQUlNRk1lc3NhZ2VXaXRoQWN0aW9uPlxuICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgIDwvU0NDQUlNRldyYXBwZXI+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U0NDQUlNRldyYXBwZXI+XG4gICAgICA8Q2hhdEZvb3RlclxuICAgICAgICBvblNlbmRNZXNzYWdlPXtoYW5kbGVTZW5kTWVzc2FnZX1cbiAgICAgICAgZGlzYWJsZWQ9e2ZhbHNlfVxuICAgICAgICBpc1N0cmVhbWluZz17aXNTdHJlYW1pbmd9XG4gICAgICAgIGlzV3JpdGluZz17aXNXcml0aW5nfVxuICAgICAgICBvblN0b3BHZW5lcmF0aW9uPXtoYW5kbGVTdG9wR2VuZXJhdGlvbn1cbiAgICAgICAgY2hhdElkPXtjaGF0SWR9XG4gICAgICAgIG5ld0NoYXRLZXk9e25ld0NoYXRLZXl9XG4gICAgICAgIHRvb2x0aXBaSW5kZXg9e3Rvb2x0aXBaSW5kZXh9XG4gICAgICAgIGxheW91dE1vZGU9e2xheW91dE1vZGV9XG4gICAgICAgIG9uSW5wdXRGb2N1cz17KCkgPT4gbWFya0NoYXRBc1JlYWQoY2hhdElkKX1cbiAgICAgIC8+XG4gICAgPC9TQ0NBSU1GV3JhcHBlcj5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxpQkFBaUIsUUFBUSxvREFBb0Q7QUFDdEYsT0FBT0MsTUFBTSxNQUFNLG1DQUFtQztBQUN0RCxPQUFPQyxNQUFNLE1BQU0sUUFBUTtBQUMzQixTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQUM5QyxTQUFTQyxVQUFVLFFBQVEsZ0NBQWdDO0FBQzNELFNBQVNDLFFBQVEsUUFB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
51
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDaGF0Rm9vdGVyIiwidXNlQ2hhdHNTdG9yZSIsIkFnZW50SW5wdXRCbG9ja01lc3NhZ2UiLCJyZXNvbHZlQWdlbnRJbnB1dEJsb2NrIiwidXNlQWdlbnRDaGFuZ2VNb2RlbEFjdGlvbiIsIlNDQ0FJTUZXcmFwcGVyIiwianN4IiwiX2pzeCIsIkNoYXRBaU1vZGFsRm9vdGVyIiwiX3JlZiIsImFnZW50IiwiaGFuZGxlU2VuZE1lc3NhZ2UiLCJoYW5kbGVTdG9wR2VuZXJhdGlvbiIsImlzU3RyZWFtaW5nIiwiaXNXcml0aW5nIiwiY2hhdElkIiwibmV3Q2hhdEtleSIsInRvb2x0aXBaSW5kZXgiLCJsZWdhY3lDb250ZXh0U2Vzc2lvbiIsIm9uQ29udGludWVJbk5ld0NoYXQiLCJsYXlvdXRNb2RlIiwibWFya0NoYXRBc1JlYWQiLCJzdGF0ZSIsImlucHV0QmxvY2siLCJfdXNlQWdlbnRDaGFuZ2VNb2RlbEEiLCJjYW5FZGl0Q3VzdG9tQWdlbnQiLCJvcGVuQ2hhbmdlTW9kZWxNb2RhbCIsImJsb2NrIiwidmFyaWFudCIsIm9uQ2hhbmdlTW9kZWwiLCJzaG93Q2hhbmdlTW9kZWxCdXR0b24iLCJraW5kIiwiY2hpbGRyZW4iLCJvblNlbmRNZXNzYWdlIiwiZGlzYWJsZWQiLCJvblN0b3BHZW5lcmF0aW9uIiwib25JbnB1dEZvY3VzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSU1vZGFsL2NvbXBvbmVudHMvQ2hhdEFpTW9kYWxGb290ZXIvQ2hhdEFpTW9kYWxGb290ZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYXRGb290ZXIgfSBmcm9tICcuLi8uLi8uLi9DaGF0Rm9vdGVyL0NoYXRGb290ZXInXG5pbXBvcnQgeyB1c2VDaGF0c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc3RvcmUvdXNlQ2hhdHNTdG9yZSdcbmltcG9ydCB7IEFnZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgdHlwZSB7IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlIH0gZnJvbSAnLi4vLi4vbGF5b3V0J1xuaW1wb3J0IHtcbiAgQWdlbnRJbnB1dEJsb2NrTWVzc2FnZSxcbiAgcmVzb2x2ZUFnZW50SW5wdXRCbG9jayxcbiAgdXNlQWdlbnRDaGFuZ2VNb2RlbEFjdGlvbixcbiAgdHlwZSBMZWdhY3lDb250ZXh0U2Vzc2lvbixcbn0gZnJvbSAnLi4vLi4vLi4vQWdlbnRJbnB1dEJsb2NrJ1xuaW1wb3J0IHsgU0NDQUlNRldyYXBwZXIgfSBmcm9tICcuL0NoYXRBaU1vZGFsRm9vdGVyLnN0eWxlcydcblxuZXhwb3J0IGNvbnN0IENoYXRBaU1vZGFsRm9vdGVyID0gKHtcbiAgYWdlbnQsXG4gIGhhbmRsZVNlbmRNZXNzYWdlLFxuICBoYW5kbGVTdG9wR2VuZXJhdGlvbixcbiAgaXNTdHJlYW1pbmcsXG4gIGlzV3JpdGluZyxcbiAgY2hhdElkLFxuICBuZXdDaGF0S2V5LFxuICB0b29sdGlwWkluZGV4LFxuICBsZWdhY3lDb250ZXh0U2Vzc2lvbixcbiAgb25Db250aW51ZUluTmV3Q2hhdCxcbiAgbGF5b3V0TW9kZSxcbn06IHtcbiAgYWdlbnQ/OiBBZ2VudCB8IG51bGxcbiAgaGFuZGxlU2VuZE1lc3NhZ2U6IFBhcmFtZXRlcnM8dHlwZW9mIENoYXRGb290ZXI+WzBdWydvblNlbmRNZXNzYWdlJ11cbiAgaGFuZGxlU3RvcEdlbmVyYXRpb24/OiAoKCkgPT4gdm9pZCkgfCBudWxsXG4gIGlzU3RyZWFtaW5nPzogYm9vbGVhblxuICBpc1dyaXRpbmc/OiBib29sZWFuXG4gIGNoYXRJZD86IHN0cmluZyB8IG51bGxcbiAgbmV3Q2hhdEtleT86IG51bWJlclxuICB0b29sdGlwWkluZGV4PzogbnVtYmVyXG4gIGxlZ2FjeUNvbnRleHRTZXNzaW9uPzogTGVnYWN5Q29udGV4dFNlc3Npb24gfCBudWxsXG4gIG9uQ29udGludWVJbk5ld0NoYXQ/OiAoKSA9PiB2b2lkXG4gIGxheW91dE1vZGU/OiBNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZVxufSkgPT4ge1xuICBjb25zdCBtYXJrQ2hhdEFzUmVhZCA9IHVzZUNoYXRzU3RvcmUoc3RhdGUgPT4gc3RhdGUubWFya0NoYXRBc1JlYWQpXG4gIGNvbnN0IGlucHV0QmxvY2sgPSByZXNvbHZlQWdlbnRJbnB1dEJsb2NrKGFnZW50LCBsZWdhY3lDb250ZXh0U2Vzc2lvbilcbiAgY29uc3QgeyBjYW5FZGl0Q3VzdG9tQWdlbnQsIG9wZW5DaGFuZ2VNb2RlbE1vZGFsIH0gPSB1c2VBZ2VudENoYW5nZU1vZGVsQWN0aW9uKGFnZW50KVxuXG4gIGlmIChpbnB1dEJsb2NrKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxBZ2VudElucHV0QmxvY2tNZXNzYWdlXG4gICAgICAgIGJsb2NrPXtpbnB1dEJsb2NrfVxuICAgICAgICB2YXJpYW50PVwiZm9vdGVyXCJcbiAgICAgICAgb25Db250aW51ZUluTmV3Q2hhdD17b25Db250aW51ZUluTmV3Q2hhdH1cbiAgICAgICAgb25DaGFuZ2VNb2RlbD17b3BlbkNoYW5nZU1vZGVsTW9kYWx9XG4gICAgICAgIHNob3dDaGFuZ2VNb2RlbEJ1dHRvbj17aW5wdXRCbG9jay5raW5kID09PSAnY3VzdG9tX3dhcm5pbmcnID8gY2FuRWRpdEN1c3RvbUFnZW50IDogZmFsc2V9XG4gICAgICAvPlxuICAgIClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNDQ0FJTUZXcmFwcGVyPlxuICAgICAgPENoYXRGb290ZXJcbiAgICAgICAgb25TZW5kTWVzc2FnZT17aGFuZGxlU2VuZE1lc3NhZ2V9XG4gICAgICAgIGRpc2FibGVkPXtmYWxzZX1cbiAgICAgICAgaXNTdHJlYW1pbmc9e2lzU3RyZWFtaW5nfVxuICAgICAgICBpc1dyaXRpbmc9e2lzV3JpdGluZ31cbiAgICAgICAgb25TdG9wR2VuZXJhdGlvbj17aGFuZGxlU3RvcEdlbmVyYXRpb259XG4gICAgICAgIGNoYXRJZD17Y2hhdElkfVxuICAgICAgICBuZXdDaGF0S2V5PXtuZXdDaGF0S2V5fVxuICAgICAgICB0b29sdGlwWkluZGV4PXt0b29sdGlwWkluZGV4fVxuICAgICAgICBsYXlvdXRNb2RlPXtsYXlvdXRNb2RlfVxuICAgICAgICBvbklucHV0Rm9jdXM9eygpID0+IG1hcmtDaGF0QXNSZWFkKGNoYXRJZCl9XG4gICAgICAvPlxuICAgIDwvU0NDQUlNRldyYXBwZXI+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsVUFBVSxRQUFRLGdDQUFnQztBQUMzRCxTQUFTQyxhQUFhLFFBQVEsb0NBQW9DO0FBR2xFLFNBQ0VDLHNCQUFzQixFQUN0QkMsc0JBQXNCLEVBQ3RCQyx5QkFBeUIsUUFFcEIsMEJBQTBCO0FBQ2pDLFNBQVNDLGNBQWMsUUFBUSw0QkFBNEI7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUE7QUFFM0QsT0FBTyxJQUFNQyxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQWlCQSxDQUFBQyxJQUFBLEVBd0J4QjtFQUFBLElBdkJKQyxLQUFLLEdBQUFELElBQUEsQ0FBTEMsS0FBSztJQUNMQyxpQkFBaUIsR0FBQUYsSUFBQSxDQUFqQkUsaUJBQWlCO0lBQ2pCQyxvQkFBb0IsR0FBQUgsSUFBQSxDQUFwQkcsb0JBQW9CO0lBQ3BCQyxXQUFXLEdBQUFKLElBQUEsQ0FBWEksV0FBVztJQUNYQyxTQUFTLEdBQUFMLElBQUEsQ0FBVEssU0FBUztJQUNUQyxNQUFNLEdBQUFOLElBQUEsQ0FBTk0sTUFBTTtJQUNOQyxVQUFVLEdBQUFQLElBQUEsQ0FBVk8sVUFBVTtJQUNWQyxhQUFhLEdBQUFSLElBQUEsQ0FBYlEsYUFBYTtJQUNiQyxvQkFBb0IsR0FBQVQsSUFBQSxDQUFwQlMsb0JBQW9CO0lBQ3BCQyxtQkFBbUIsR0FBQVYsSUFBQSxDQUFuQlUsbUJBQW1CO0lBQ25CQyxVQUFVLEdBQUFYLElBQUEsQ0FBVlcsVUFBVTtFQWNWLElBQU1DLGNBQWMsR0FBR3BCLGFBQWEsQ0FBQyxVQUFBcUIsS0FBSztJQUFBLE9BQUlBLEtBQUssQ0FBQ0QsY0FBYztFQUFBLEVBQUM7RUFDbkUsSUFBTUUsVUFBVSxHQUFHcEIsc0JBQXNCLENBQUNPLEtBQUssRUFBRVEsb0JBQW9CLENBQUM7RUFDdEUsSUFBQU0scUJBQUEsR0FBcURwQix5QkFBeUIsQ0FBQ00sS0FBSyxDQUFDO0lBQTdFZSxrQkFBa0IsR0FBQUQscUJBQUEsQ0FBbEJDLGtCQUFrQjtJQUFFQyxvQkFBb0IsR0FBQUYscUJBQUEsQ0FBcEJFLG9CQUFvQjtFQUVoRCxJQUFJSCxVQUFVLEVBQUU7SUFDZCxvQkFDRWhCLElBQUEsQ0FBQ0wsc0JBQXNCO01BQ3JCeUIsS0FBSyxFQUFFSixVQUFXO01BQ2xCSyxPQUFPLEVBQUMsUUFBUTtNQUNoQlQsbUJBQW1CLEVBQUVBLG1CQUFvQjtNQUN6Q1UsYUFBYSxFQUFFSCxvQkFBcUI7TUFDcENJLHFCQUFxQixFQUFFUCxVQUFVLENBQUNRLElBQUksS0FBSyxnQkFBZ0IsR0FBR04sa0JBQWtCLEdBQUc7SUFBTSxDQUMxRixDQUFDO0VBRU47RUFFQSxvQkFDRWxCLElBQUEsQ0FBQ0YsY0FBYztJQUFBMkIsUUFBQSxlQUNiekIsSUFBQSxDQUFDUCxVQUFVO01BQ1RpQyxhQUFhLEVBQUV0QixpQkFBa0I7TUFDakN1QixRQUFRLEVBQUUsS0FBTTtNQUNoQnJCLFdBQVcsRUFBRUEsV0FBWTtNQUN6QkMsU0FBUyxFQUFFQSxTQUFVO01BQ3JCcUIsZ0JBQWdCLEVBQUV2QixvQkFBcUI7TUFDdkNHLE1BQU0sRUFBRUEsTUFBTztNQUNmQyxVQUFVLEVBQUVBLFVBQVc7TUFDdkJDLGFBQWEsRUFBRUEsYUFBYztNQUM3QkcsVUFBVSxFQUFFQSxVQUFXO01BQ3ZCZ0IsWUFBWSxFQUFFLFNBQWRBLFlBQVlBLENBQUE7UUFBQSxPQUFRZixjQUFjLENBQUNOLE1BQU0sQ0FBQztNQUFBO0lBQUMsQ0FDNUM7RUFBQyxDQUNZLENBQUM7QUFFckIsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1,134 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ import { fireEvent, renderWithProviders, screen } from '../../../../../test/test-utils';
5
+ import { ChatAiModalFooter } from './ChatAiModalFooter';
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ jest.mock('../../../ChatFooter/ChatFooter', function () {
8
+ return {
9
+ ChatFooter: function ChatFooter() {
10
+ return /*#__PURE__*/_jsx("div", {
11
+ "data-testid": "chat-footer"
12
+ });
13
+ }
14
+ };
15
+ });
16
+ jest.mock('../../../../../hooks/useEvent', function () {
17
+ return {
18
+ EVENTS: {
19
+ openModal: 'OPEN_MODAL'
20
+ },
21
+ useEvent: function useEvent() {
22
+ return jest.fn();
23
+ }
24
+ };
25
+ });
26
+ jest.mock('../../../../../context/cor-user', function () {
27
+ return {
28
+ useUser: function useUser() {
29
+ return {
30
+ permissions: {
31
+ ai_agents: {
32
+ edit: true
33
+ }
34
+ }
35
+ };
36
+ }
37
+ };
38
+ });
39
+ jest.mock('../../../../../services/utils/validateIsMaia', function () {
40
+ return {
41
+ validateIsMaia: function validateIsMaia() {
42
+ return false;
43
+ }
44
+ };
45
+ });
46
+ jest.mock('../../../../../store/useChatsStore', function () {
47
+ return {
48
+ useChatsStore: function useChatsStore(selector) {
49
+ return selector({
50
+ markChatAsRead: jest.fn()
51
+ });
52
+ }
53
+ };
54
+ });
55
+ var baseProps = {
56
+ handleSendMessage: jest.fn(),
57
+ handleStopGeneration: jest.fn(),
58
+ isStreaming: false,
59
+ isWriting: false,
60
+ chatId: 'chat-1'
61
+ };
62
+ var customAgent = {
63
+ id: 'agent-1',
64
+ name: 'Custom',
65
+ type: 'custom'
66
+ };
67
+ describe('ChatAiModalFooter', function () {
68
+ var originalFlag = window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS;
69
+ beforeEach(function () {
70
+ window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS = true;
71
+ });
72
+ afterEach(function () {
73
+ window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS = originalFlag;
74
+ });
75
+ it('renders ChatFooter for a healthy custom agent', function () {
76
+ renderWithProviders(/*#__PURE__*/_jsx(ChatAiModalFooter, _objectSpread(_objectSpread({}, baseProps), {}, {
77
+ agent: customAgent
78
+ })));
79
+ expect(screen.getByTestId('chat-footer')).toBeInTheDocument();
80
+ });
81
+ it('shows legacy context banner with continue action', function () {
82
+ var onContinueInNewChat = jest.fn();
83
+ renderWithProviders(/*#__PURE__*/_jsx(ChatAiModalFooter, _objectSpread(_objectSpread({}, baseProps), {}, {
84
+ agent: customAgent,
85
+ legacyContextSession: {
86
+ entityType: 'project',
87
+ contextName: 'Proyecto X'
88
+ },
89
+ onContinueInNewChat: onContinueInNewChat
90
+ })));
91
+ expect(screen.getByText('legendLegacyContextSession')).toBeInTheDocument();
92
+ fireEvent.click(screen.getByRole('button', {
93
+ name: 'continueInNewChat'
94
+ }));
95
+ expect(onContinueInNewChat).toHaveBeenCalled();
96
+ });
97
+ it('shows deleted agent legend', function () {
98
+ renderWithProviders(/*#__PURE__*/_jsx(ChatAiModalFooter, _objectSpread(_objectSpread({}, baseProps), {}, {
99
+ agent: _objectSpread(_objectSpread({}, customAgent), {}, {
100
+ is_deleted: true,
101
+ deleted_at: '2026-01-15T00:00:00.000Z'
102
+ })
103
+ })));
104
+ expect(screen.getByText(/legendDeletedAgent/)).toBeInTheDocument();
105
+ });
106
+ it('shows model deprecated warning with change model action', function () {
107
+ renderWithProviders(/*#__PURE__*/_jsx(ChatAiModalFooter, _objectSpread(_objectSpread({}, baseProps), {}, {
108
+ agent: _objectSpread(_objectSpread({}, customAgent), {}, {
109
+ model_deprecated: true
110
+ })
111
+ })));
112
+ expect(screen.getByText('legendModelDeprecated')).toBeInTheDocument();
113
+ fireEvent.click(screen.getByRole('button', {
114
+ name: 'changeModel'
115
+ }));
116
+ expect(screen.queryByTestId('chat-footer')).not.toBeInTheDocument();
117
+ });
118
+ it('renders ChatFooter when agent is not loaded yet', function () {
119
+ renderWithProviders(/*#__PURE__*/_jsx(ChatAiModalFooter, _objectSpread(_objectSpread({}, baseProps), {}, {
120
+ agent: null
121
+ })));
122
+ expect(screen.getByTestId('chat-footer')).toBeInTheDocument();
123
+ });
124
+ it('shows no-permissions legend when the agent is blocked by permissions', function () {
125
+ renderWithProviders(/*#__PURE__*/_jsx(ChatAiModalFooter, _objectSpread(_objectSpread({}, baseProps), {}, {
126
+ agent: _objectSpread(_objectSpread({}, customAgent), {}, {
127
+ has_not_permissions: true
128
+ })
129
+ })));
130
+ expect(screen.getByText('legendNoPermissions')).toBeInTheDocument();
131
+ expect(screen.queryByTestId('chat-footer')).not.toBeInTheDocument();
132
+ });
133
+ });
134
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmaXJlRXZlbnQiLCJyZW5kZXJXaXRoUHJvdmlkZXJzIiwic2NyZWVuIiwiQ2hhdEFpTW9kYWxGb290ZXIiLCJqc3giLCJfanN4IiwiamVzdCIsIm1vY2siLCJDaGF0Rm9vdGVyIiwiRVZFTlRTIiwib3Blbk1vZGFsIiwidXNlRXZlbnQiLCJmbiIsInVzZVVzZXIiLCJwZXJtaXNzaW9ucyIsImFpX2FnZW50cyIsImVkaXQiLCJ2YWxpZGF0ZUlzTWFpYSIsInVzZUNoYXRzU3RvcmUiLCJzZWxlY3RvciIsIm1hcmtDaGF0QXNSZWFkIiwiYmFzZVByb3BzIiwiaGFuZGxlU2VuZE1lc3NhZ2UiLCJoYW5kbGVTdG9wR2VuZXJhdGlvbiIsImlzU3RyZWFtaW5nIiwiaXNXcml0aW5nIiwiY2hhdElkIiwiY3VzdG9tQWdlbnQiLCJpZCIsIm5hbWUiLCJ0eXBlIiwiZGVzY3JpYmUiLCJvcmlnaW5hbEZsYWciLCJ3aW5kb3ciLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIiwiYmVmb3JlRWFjaCIsImFmdGVyRWFjaCIsIml0IiwiX29iamVjdFNwcmVhZCIsImFnZW50IiwiZXhwZWN0IiwiZ2V0QnlUZXN0SWQiLCJ0b0JlSW5UaGVEb2N1bWVudCIsIm9uQ29udGludWVJbk5ld0NoYXQiLCJsZWdhY3lDb250ZXh0U2Vzc2lvbiIsImVudGl0eVR5cGUiLCJjb250ZXh0TmFtZSIsImdldEJ5VGV4dCIsImNsaWNrIiwiZ2V0QnlSb2xlIiwidG9IYXZlQmVlbkNhbGxlZCIsImlzX2RlbGV0ZWQiLCJkZWxldGVkX2F0IiwibW9kZWxfZGVwcmVjYXRlZCIsInF1ZXJ5QnlUZXN0SWQiLCJub3QiLCJoYXNfbm90X3Blcm1pc3Npb25zIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSU1vZGFsL2NvbXBvbmVudHMvQ2hhdEFpTW9kYWxGb290ZXIvQ2hhdEFpTW9kYWxGb290ZXIuc3BlYy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmlyZUV2ZW50LCByZW5kZXJXaXRoUHJvdmlkZXJzLCBzY3JlZW4gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi90ZXN0L3Rlc3QtdXRpbHMnXG5pbXBvcnQgdHlwZSB7IEFnZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgeyBDaGF0QWlNb2RhbEZvb3RlciB9IGZyb20gJy4vQ2hhdEFpTW9kYWxGb290ZXInXG5cbmplc3QubW9jaygnLi4vLi4vLi4vQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyJywgKCkgPT4gKHtcbiAgQ2hhdEZvb3RlcjogKCkgPT4gPGRpdiBkYXRhLXRlc3RpZD1cImNoYXQtZm9vdGVyXCIgLz4sXG59KSlcblxuamVzdC5tb2NrKCcuLi8uLi8uLi8uLi8uLi9ob29rcy91c2VFdmVudCcsICgpID0+ICh7XG4gIEVWRU5UUzogeyBvcGVuTW9kYWw6ICdPUEVOX01PREFMJyB9LFxuICB1c2VFdmVudDogKCkgPT4gamVzdC5mbigpLFxufSkpXG5cbmplc3QubW9jaygnLi4vLi4vLi4vLi4vLi4vY29udGV4dC9jb3ItdXNlcicsICgpID0+ICh7XG4gIHVzZVVzZXI6ICgpID0+ICh7XG4gICAgcGVybWlzc2lvbnM6IHsgYWlfYWdlbnRzOiB7IGVkaXQ6IHRydWUgfSB9LFxuICB9KSxcbn0pKVxuXG5qZXN0Lm1vY2soJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzL3ZhbGlkYXRlSXNNYWlhJywgKCkgPT4gKHtcbiAgdmFsaWRhdGVJc01haWE6ICgpID0+IGZhbHNlLFxufSkpXG5cbmplc3QubW9jaygnLi4vLi4vLi4vLi4vLi4vc3RvcmUvdXNlQ2hhdHNTdG9yZScsICgpID0+ICh7XG4gIHVzZUNoYXRzU3RvcmU6IChzZWxlY3RvcjogKHN0YXRlOiB7IG1hcmtDaGF0QXNSZWFkOiBqZXN0Lk1vY2sgfSkgPT4gdW5rbm93bikgPT5cbiAgICBzZWxlY3Rvcih7IG1hcmtDaGF0QXNSZWFkOiBqZXN0LmZuKCkgfSksXG59KSlcblxuY29uc3QgYmFzZVByb3BzID0ge1xuICBoYW5kbGVTZW5kTWVzc2FnZTogamVzdC5mbigpLFxuICBoYW5kbGVTdG9wR2VuZXJhdGlvbjogamVzdC5mbigpLFxuICBpc1N0cmVhbWluZzogZmFsc2UsXG4gIGlzV3JpdGluZzogZmFsc2UsXG4gIGNoYXRJZDogJ2NoYXQtMScsXG59XG5cbmNvbnN0IGN1c3RvbUFnZW50OiBBZ2VudCA9IHtcbiAgaWQ6ICdhZ2VudC0xJyxcbiAgbmFtZTogJ0N1c3RvbScsXG4gIHR5cGU6ICdjdXN0b20nLFxufVxuXG5kZXNjcmliZSgnQ2hhdEFpTW9kYWxGb290ZXInLCAoKSA9PiB7XG4gIGNvbnN0IG9yaWdpbmFsRmxhZyA9IHdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTXG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMgPSB0cnVlXG4gIH0pXG5cbiAgYWZ0ZXJFYWNoKCgpID0+IHtcbiAgICB3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyA9IG9yaWdpbmFsRmxhZ1xuICB9KVxuXG4gIGl0KCdyZW5kZXJzIENoYXRGb290ZXIgZm9yIGEgaGVhbHRoeSBjdXN0b20gYWdlbnQnLCAoKSA9PiB7XG4gICAgcmVuZGVyV2l0aFByb3ZpZGVycyg8Q2hhdEFpTW9kYWxGb290ZXIgey4uLmJhc2VQcm9wc30gYWdlbnQ9e2N1c3RvbUFnZW50fSAvPilcblxuICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlUZXN0SWQoJ2NoYXQtZm9vdGVyJykpLnRvQmVJblRoZURvY3VtZW50KClcbiAgfSlcblxuICBpdCgnc2hvd3MgbGVnYWN5IGNvbnRleHQgYmFubmVyIHdpdGggY29udGludWUgYWN0aW9uJywgKCkgPT4ge1xuICAgIGNvbnN0IG9uQ29udGludWVJbk5ld0NoYXQgPSBqZXN0LmZuKClcblxuICAgIHJlbmRlcldpdGhQcm92aWRlcnMoXG4gICAgICA8Q2hhdEFpTW9kYWxGb290ZXJcbiAgICAgICAgey4uLmJhc2VQcm9wc31cbiAgICAgICAgYWdlbnQ9e2N1c3RvbUFnZW50fVxuICAgICAgICBsZWdhY3lDb250ZXh0U2Vzc2lvbj17eyBlbnRpdHlUeXBlOiAncHJvamVjdCcsIGNvbnRleHROYW1lOiAnUHJveWVjdG8gWCcgfX1cbiAgICAgICAgb25Db250aW51ZUluTmV3Q2hhdD17b25Db250aW51ZUluTmV3Q2hhdH1cbiAgICAgIC8+XG4gICAgKVxuXG4gICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRleHQoJ2xlZ2VuZExlZ2FjeUNvbnRleHRTZXNzaW9uJykpLnRvQmVJblRoZURvY3VtZW50KClcbiAgICBmaXJlRXZlbnQuY2xpY2soc2NyZWVuLmdldEJ5Um9sZSgnYnV0dG9uJywgeyBuYW1lOiAnY29udGludWVJbk5ld0NoYXQnIH0pKVxuICAgIGV4cGVjdChvbkNvbnRpbnVlSW5OZXdDaGF0KS50b0hhdmVCZWVuQ2FsbGVkKClcbiAgfSlcblxuICBpdCgnc2hvd3MgZGVsZXRlZCBhZ2VudCBsZWdlbmQnLCAoKSA9PiB7XG4gICAgcmVuZGVyV2l0aFByb3ZpZGVycyhcbiAgICAgIDxDaGF0QWlNb2RhbEZvb3RlclxuICAgICAgICB7Li4uYmFzZVByb3BzfVxuICAgICAgICBhZ2VudD17eyAuLi5jdXN0b21BZ2VudCwgaXNfZGVsZXRlZDogdHJ1ZSwgZGVsZXRlZF9hdDogJzIwMjYtMDEtMTVUMDA6MDA6MDAuMDAwWicgfX1cbiAgICAgIC8+XG4gICAgKVxuXG4gICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRleHQoL2xlZ2VuZERlbGV0ZWRBZ2VudC8pKS50b0JlSW5UaGVEb2N1bWVudCgpXG4gIH0pXG5cbiAgaXQoJ3Nob3dzIG1vZGVsIGRlcHJlY2F0ZWQgd2FybmluZyB3aXRoIGNoYW5nZSBtb2RlbCBhY3Rpb24nLCAoKSA9PiB7XG4gICAgcmVuZGVyV2l0aFByb3ZpZGVycyg8Q2hhdEFpTW9kYWxGb290ZXIgey4uLmJhc2VQcm9wc30gYWdlbnQ9e3sgLi4uY3VzdG9tQWdlbnQsIG1vZGVsX2RlcHJlY2F0ZWQ6IHRydWUgfX0gLz4pXG5cbiAgICBleHBlY3Qoc2NyZWVuLmdldEJ5VGV4dCgnbGVnZW5kTW9kZWxEZXByZWNhdGVkJykpLnRvQmVJblRoZURvY3VtZW50KClcbiAgICBmaXJlRXZlbnQuY2xpY2soc2NyZWVuLmdldEJ5Um9sZSgnYnV0dG9uJywgeyBuYW1lOiAnY2hhbmdlTW9kZWwnIH0pKVxuXG4gICAgZXhwZWN0KHNjcmVlbi5xdWVyeUJ5VGVzdElkKCdjaGF0LWZvb3RlcicpKS5ub3QudG9CZUluVGhlRG9jdW1lbnQoKVxuICB9KVxuXG4gIGl0KCdyZW5kZXJzIENoYXRGb290ZXIgd2hlbiBhZ2VudCBpcyBub3QgbG9hZGVkIHlldCcsICgpID0+IHtcbiAgICByZW5kZXJXaXRoUHJvdmlkZXJzKDxDaGF0QWlNb2RhbEZvb3RlciB7Li4uYmFzZVByb3BzfSBhZ2VudD17bnVsbH0gLz4pXG5cbiAgICBleHBlY3Qoc2NyZWVuLmdldEJ5VGVzdElkKCdjaGF0LWZvb3RlcicpKS50b0JlSW5UaGVEb2N1bWVudCgpXG4gIH0pXG5cbiAgaXQoJ3Nob3dzIG5vLXBlcm1pc3Npb25zIGxlZ2VuZCB3aGVuIHRoZSBhZ2VudCBpcyBibG9ja2VkIGJ5IHBlcm1pc3Npb25zJywgKCkgPT4ge1xuICAgIHJlbmRlcldpdGhQcm92aWRlcnMoPENoYXRBaU1vZGFsRm9vdGVyIHsuLi5iYXNlUHJvcHN9IGFnZW50PXt7IC4uLmN1c3RvbUFnZW50LCBoYXNfbm90X3Blcm1pc3Npb25zOiB0cnVlIH19IC8+KVxuXG4gICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRleHQoJ2xlZ2VuZE5vUGVybWlzc2lvbnMnKSkudG9CZUluVGhlRG9jdW1lbnQoKVxuICAgIGV4cGVjdChzY3JlZW4ucXVlcnlCeVRlc3RJZCgnY2hhdC1mb290ZXInKSkubm90LnRvQmVJblRoZURvY3VtZW50KClcbiAgfSlcbn0pXG4iXSwibWFw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