@projectcor/maia-components 2.44.4 → 2.44.5-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 (427) 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.spec.js +135 -0
  6. package/lib/components/atoms/AttachmentCard/AttachmentCard.spec.js +123 -0
  7. package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.helpers.js +65 -0
  8. package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.helpers.spec.js +66 -0
  9. package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.js +5 -51
  10. package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.spec.js +211 -0
  11. package/lib/components/atoms/AttachmentCard/AttachmentCardImage.spec.js +78 -0
  12. package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.helpers.js +55 -0
  13. package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.helpers.spec.js +41 -0
  14. package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.js +18 -76
  15. package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.spec.js +253 -0
  16. package/lib/components/atoms/AttachmentPreviewModal/ExcelPreview.spec.js +80 -0
  17. package/lib/components/atoms/AttachmentPreviewModal/PptPreview.helpers.js +31 -0
  18. package/lib/components/atoms/AttachmentPreviewModal/PptPreview.helpers.spec.js +33 -0
  19. package/lib/components/atoms/AttachmentPreviewModal/PptPreview.js +3 -31
  20. package/lib/components/atoms/AttachmentPreviewModal/PptPreview.spec.js +25 -0
  21. package/lib/components/atoms/AttachmentPreviewModal/WordPreview.helpers.js +4 -0
  22. package/lib/components/atoms/AttachmentPreviewModal/WordPreview.helpers.spec.js +11 -0
  23. package/lib/components/atoms/AttachmentPreviewModal/WordPreview.js +2 -4
  24. package/lib/components/atoms/AttachmentPreviewModal/WordPreview.spec.js +77 -0
  25. package/lib/components/atoms/Backdrop/Backdrop.spec.js +28 -0
  26. package/lib/components/atoms/CardMenu/CardMenu.spec.js +56 -0
  27. package/lib/components/atoms/ChatClientSelector/ChatClientSelector.spec.js +67 -0
  28. package/lib/components/atoms/Checkbox/Checkbox.spec.js +27 -0
  29. package/lib/components/atoms/Chip/Chip.spec.js +82 -0
  30. package/lib/components/atoms/ChipLlm/ChipLlm.spec.js +26 -0
  31. package/lib/components/atoms/ClientSelector/ClientSelector.spec.js +88 -0
  32. package/lib/components/atoms/ContextMentionChip/ContextMentionChip.spec.js +29 -0
  33. package/lib/components/atoms/ContextMentionChip/MentionOverflowLabel.spec.js +46 -0
  34. package/lib/components/atoms/ContextMentionChip/buildChipElement.helpers.js +227 -0
  35. package/lib/components/atoms/ContextMentionChip/buildChipElement.helpers.spec.js +77 -0
  36. package/lib/components/atoms/ContextMentionChip/buildChipElement.js +15 -255
  37. package/lib/components/atoms/ContextMentionChip/buildChipElement.spec.js +81 -0
  38. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.helpers.js +31 -0
  39. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.helpers.spec.js +48 -0
  40. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +5 -34
  41. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.spec.js +231 -0
  42. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.spec.js +107 -0
  43. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.spec.js +136 -0
  44. package/lib/components/atoms/CopyToClipboard.spec.js +74 -0
  45. package/lib/components/atoms/EditableLabel/EditableLabel.spec.js +76 -0
  46. package/lib/components/atoms/EntitySelector/EntitySelector.spec.js +86 -0
  47. package/lib/components/atoms/Expand/Expand.spec.js +57 -0
  48. package/lib/components/atoms/Fade/Fade.spec.js +31 -0
  49. package/lib/components/atoms/FeedbackButton/FeedbackButton.spec.js +75 -0
  50. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.spec.js +104 -0
  51. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +3 -1
  52. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.spec.js +91 -0
  53. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +19 -7
  54. package/lib/components/atoms/HelpButton.spec.js +87 -0
  55. package/lib/components/atoms/ImagePreview/ImagePreview.spec.js +96 -0
  56. package/lib/components/atoms/ListMenuOption/ListMenuOption.spec.js +54 -0
  57. package/lib/components/atoms/LoadingFaqs/LoadingFaqs.spec.js +21 -0
  58. package/lib/components/atoms/LoadingSearchClients/LoadingSearchClients.spec.js +20 -0
  59. package/lib/components/atoms/LoadingSearchProjects/LoadingSearchProjects.spec.js +26 -0
  60. package/lib/components/atoms/LoadingText/LoadingText.spec.js +25 -0
  61. package/lib/components/atoms/MAIAButton/MAIAButton.spec.js +42 -0
  62. package/lib/components/atoms/MAIAError/MAIAError.spec.js +27 -0
  63. package/lib/components/atoms/MAIAInput/MAIAInput.helpers.js +12 -0
  64. package/lib/components/atoms/MAIAInput/MAIAInput.helpers.spec.js +26 -0
  65. package/lib/components/atoms/MAIAInput/MAIAInput.js +4 -10
  66. package/lib/components/atoms/MAIAInput/MAIAInput.spec.js +430 -0
  67. package/lib/components/atoms/MAIAInput/MAIAInputEditor.helpers.js +50 -0
  68. package/lib/components/atoms/MAIAInput/MAIAInputEditor.helpers.spec.js +20 -0
  69. package/lib/components/atoms/MAIAInput/MAIAInputEditor.js +8 -60
  70. package/lib/components/atoms/MAIAInput/MAIAInputEditor.spec.js +53 -0
  71. package/lib/components/atoms/MAIAInput/maiaInputLayout.spec.js +22 -0
  72. package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.spec.js +64 -0
  73. package/lib/components/atoms/MaiaWrapper/MaiaWrapper.spec.js +43 -0
  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.js +17 -0
  81. package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.helpers.spec.js +35 -0
  82. package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.js +3 -15
  83. package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.spec.js +47 -0
  84. package/lib/components/atoms/OptionAccessibility/OptionAccessibility.spec.js +86 -0
  85. package/lib/components/atoms/PrimaryButton.spec.js +42 -0
  86. package/lib/components/atoms/ProjectSelector/ProjectSelector.spec.js +69 -0
  87. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.js +7 -2
  88. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.spec.js +69 -0
  89. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.styles.js +21 -16
  90. package/lib/components/atoms/ReasoningBlock/ReasoningSteps.js +7 -5
  91. package/lib/components/atoms/ReasoningBlock/ReasoningSteps.spec.js +59 -0
  92. package/lib/components/atoms/ReasoningBlock/ReasoningTimeline.js +72 -52
  93. package/lib/components/atoms/ReasoningBlock/ReasoningTimeline.spec.js +132 -0
  94. package/lib/components/atoms/ReasoningBlock/groupParallelSteps.spec.js +162 -0
  95. package/lib/components/atoms/ReasoningBlock/reasoningLeading.js +6 -1
  96. package/lib/components/atoms/ReasoningBlock/reasoningLeading.spec.js +70 -0
  97. package/lib/components/atoms/ReasoningBlock/reasoningLiveNarration.js +36 -15
  98. package/lib/components/atoms/ReasoningBlock/reasoningLiveNarration.spec.js +120 -0
  99. package/lib/components/atoms/ReasoningBlock/reasoningMotion.js +4 -0
  100. package/lib/components/atoms/ReasoningBlock/reasoningTimeline.helpers.js +10 -0
  101. package/lib/components/atoms/ReasoningBlock/reasoningTimeline.helpers.spec.js +31 -0
  102. package/lib/components/atoms/ReasoningBlock/useCollapsibleHeight.js +52 -0
  103. package/lib/components/atoms/ReasoningBlock/useCollapsibleHeight.spec.js +90 -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.spec.js +85 -0
  108. package/lib/components/atoms/Switch/Switch.spec.js +41 -0
  109. package/lib/components/atoms/TextArea/CustomTextArea.spec.js +52 -0
  110. package/lib/components/atoms/TextArea/TextArea.spec.js +68 -0
  111. package/lib/components/atoms/ThirdButton.spec.js +29 -0
  112. package/lib/components/atoms/VideoModal/VideoModal.spec.js +68 -0
  113. package/lib/components/atoms/WithAppCfg.spec.js +60 -0
  114. package/lib/components/index.js +2 -1
  115. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.helpers.js +37 -0
  116. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.helpers.spec.js +53 -0
  117. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.js +5 -29
  118. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.spec.js +371 -0
  119. package/lib/components/molecules/AbmSection/AbmGeneralSection.helpers.js +39 -0
  120. package/lib/components/molecules/AbmSection/AbmGeneralSection.helpers.spec.js +57 -0
  121. package/lib/components/molecules/AbmSection/AbmGeneralSection.js +6 -40
  122. package/lib/components/molecules/AbmSection/AbmGeneralSection.spec.js +227 -0
  123. package/lib/components/molecules/AbmSection/AbmKnowledgeSection.helpers.js +86 -0
  124. package/lib/components/molecules/AbmSection/AbmKnowledgeSection.helpers.spec.js +108 -0
  125. package/lib/components/molecules/AbmSection/AbmKnowledgeSection.js +18 -90
  126. package/lib/components/molecules/AbmSection/AbmKnowledgeSection.spec.js +254 -0
  127. package/lib/components/molecules/AbmSection/AbmLoaderFiles.helpers.js +17 -0
  128. package/lib/components/molecules/AbmSection/AbmLoaderFiles.helpers.spec.js +50 -0
  129. package/lib/components/molecules/AbmSection/AbmLoaderFiles.js +5 -15
  130. package/lib/components/molecules/AbmSection/AbmLoaderFiles.spec.js +94 -0
  131. package/lib/components/molecules/AgentInputBlock/AgentInputBlockMessage.js +83 -0
  132. package/lib/components/molecules/AgentInputBlock/AgentInputBlockMessage.styles.js +30 -0
  133. package/lib/components/molecules/AgentInputBlock/index.js +5 -0
  134. package/lib/components/molecules/AgentInputBlock/resolveAgentInputBlock.js +52 -0
  135. package/lib/components/molecules/AgentInputBlock/resolveAgentInputBlock.spec.js +76 -0
  136. package/lib/components/molecules/AgentInputBlock/resolveLegacyContextSession.js +20 -0
  137. package/lib/components/molecules/AgentInputBlock/resolveLegacyContextSession.spec.js +34 -0
  138. package/lib/components/molecules/AgentInputBlock/useAgentChangeModelAction.js +36 -0
  139. package/lib/components/molecules/ChatAIClientSelector/ChatAIClientSelector.spec.js +66 -0
  140. package/lib/components/molecules/ChatAIContent/ChatAIContent.js +7 -3
  141. package/lib/components/molecules/ChatAIContent/ChatAIContent.spec.js +145 -0
  142. package/lib/components/molecules/ChatAIHistory/ChatAIHistory.spec.js +204 -0
  143. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +21 -6
  144. package/lib/components/molecules/ChatAIHome/ChatAIHome.spec.js +246 -0
  145. package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.spec.js +86 -0
  146. package/lib/components/molecules/ChatAIMessages/ChatAICreateAgentActions.spec.js +104 -0
  147. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.helpers.js +54 -0
  148. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.helpers.spec.js +77 -0
  149. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +19 -47
  150. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.spec.js +410 -0
  151. package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.spec.js +46 -0
  152. package/lib/components/molecules/ChatAIMessages/newStyles.js +29 -26
  153. package/lib/components/molecules/ChatAIModal/ChatAIModal.helpers.js +147 -4
  154. package/lib/components/molecules/ChatAIModal/ChatAIModal.helpers.spec.js +471 -0
  155. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +64 -108
  156. package/lib/components/molecules/ChatAIModal/ChatAIModal.spec.js +659 -0
  157. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.helpers.js +5 -0
  158. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.helpers.spec.js +33 -0
  159. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.js +3 -2
  160. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.spec.js +116 -0
  161. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +15 -153
  162. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.spec.js +134 -0
  163. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.styles.js +2 -26
  164. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.helpers.js +30 -0
  165. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.helpers.spec.js +95 -0
  166. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +76 -86
  167. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.spec.js +241 -0
  168. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.spec.js +37 -0
  169. package/lib/components/molecules/ChatAIModal/constants.spec.js +16 -0
  170. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.spec.js +22 -0
  171. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/useFloatingPanelDragTilt.spec.js +67 -0
  172. package/lib/components/molecules/ChatAIModal/layout.spec.js +72 -0
  173. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.spec.js +172 -0
  174. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.spec.js +128 -0
  175. package/lib/components/molecules/ChatAIProjectSelector/ChatAIProjectSelector.spec.js +66 -0
  176. package/lib/components/molecules/ChatFooter/ChatFooter.js +5 -3
  177. package/lib/components/molecules/ChatFooter/ChatFooter.spec.js +355 -0
  178. package/lib/components/molecules/ChatFooter/ChatFooterCorAccess.spec.js +10 -0
  179. package/lib/components/molecules/ChatFooter/ChatFooterFaqs.helpers.js +48 -0
  180. package/lib/components/molecules/ChatFooter/ChatFooterFaqs.helpers.spec.js +82 -0
  181. package/lib/components/molecules/ChatFooter/ChatFooterFaqs.js +9 -44
  182. package/lib/components/molecules/ChatFooter/ChatFooterFaqs.spec.js +139 -0
  183. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.spec.js +84 -0
  184. package/lib/components/molecules/MessageFeedback/MessageFeedback.spec.js +116 -0
  185. package/lib/components/molecules/ProjectSummaryChat/ProjectSummaryChat.spec.js +126 -0
  186. package/lib/components/molecules/ProjectSummaryConfig/ProjectSummaryConfig.spec.js +115 -0
  187. package/lib/components/molecules/ProjectSummaryContent/ProjectSummaryContent.spec.js +79 -0
  188. package/lib/components/molecules/ProjectSummaryModal/ProjectSummaryModal.spec.js +37 -0
  189. package/lib/components/molecules/Sidebar/Sidebar.js +41 -23
  190. package/lib/components/molecules/Sidebar/Sidebar.spec.js +453 -0
  191. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.helpers.js +198 -0
  192. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.helpers.spec.js +385 -0
  193. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +56 -171
  194. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.spec.js +1125 -0
  195. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.spec.js +112 -0
  196. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.spec.js +405 -0
  197. package/lib/components/organisms/ChatAI/ChatAI.spec.js +174 -0
  198. package/lib/components/organisms/ChatAIPage/ChatAIPage.js +525 -0
  199. package/lib/components/organisms/ChatAIPage/ChatAIPage.spec.js +231 -0
  200. package/lib/components/organisms/ChatAIPage/ChatAIPage.styles.js +16 -0
  201. package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.js +253 -0
  202. package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.spec.js +139 -0
  203. package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.styles.js +13 -0
  204. package/lib/components/organisms/ChatAIPage/ChatAIPageHome.js +267 -0
  205. package/lib/components/organisms/ChatAIPage/ChatAIPageHome.spec.js +261 -0
  206. package/lib/components/organisms/ChatAIPage/ChatAIPageHome.styles.js +194 -0
  207. package/lib/components/organisms/ChatAIPage/ChatAIPageHomeActionCardSlot.js +105 -0
  208. package/lib/components/organisms/ChatAIPage/ChatAIPageHomeActionCardSlot.spec.js +73 -0
  209. package/lib/components/organisms/ChatAIPage/ChatAIPageHomeActionCards.skeleton.js +38 -0
  210. package/lib/components/organisms/ChatAIPage/getDaypart.js +9 -0
  211. package/lib/components/organisms/ChatAIPage/getDaypart.spec.js +19 -0
  212. package/lib/components/organisms/ChatAIPage/index.js +3 -0
  213. package/lib/components/organisms/ClientAIButton/ClientAIButton.spec.js +53 -0
  214. package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.spec.js +59 -0
  215. package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.spec.js +79 -0
  216. package/lib/components/organisms/EditQuestionModal/EditQuestionModal.spec.js +86 -0
  217. package/lib/components/organisms/ModalFileExceeds/ModalFileExceeds.spec.js +49 -0
  218. package/lib/components/organisms/ProjectAIButton/ProjectAIButton.spec.js +67 -0
  219. package/lib/components/organisms/ProjectSummary/ProjectSummary.spec.js +117 -0
  220. package/lib/components/organisms/SnackBar/Snackbar.spec.js +66 -0
  221. package/lib/components/organisms/SourcesInformation/SourceItem.spec.js +19 -0
  222. package/lib/components/organisms/SourcesInformation/SourcesInformationModal.spec.js +52 -0
  223. package/lib/constants/maiaExternalConnectorsAccess.spec.js +29 -0
  224. package/lib/constants/permissions/index.js +2 -2
  225. package/lib/constants/permissions/utils.js +4 -1
  226. package/lib/constants/permissions/utils.spec.js +128 -0
  227. package/lib/dev/DevMaiaPage.js +30 -0
  228. package/lib/dev/DevReasoningTimeline.js +68 -37
  229. package/lib/dev/Providers.js +5 -3
  230. package/lib/hooks/frequentlyUsedActionsCache.js +17 -0
  231. package/lib/hooks/frequentlyUsedActionsCache.spec.js +25 -0
  232. package/lib/hooks/useAccessClient/useAccessClient.spec.js +149 -0
  233. package/lib/hooks/useAgentModel/useAgentModel.spec.js +83 -0
  234. package/lib/hooks/useAgentModel/useCreateAgent.spec.js +231 -0
  235. package/lib/hooks/useAgentModel/useDeleteAgent.spec.js +183 -0
  236. package/lib/hooks/useAgentModel/useUpdateAgent.spec.js +313 -0
  237. package/lib/hooks/useAgentSuggestions.spec.js +89 -0
  238. package/lib/hooks/useCaretPosition.spec.js +58 -0
  239. package/lib/hooks/useChatManager/useChatManager.helpers.js +353 -0
  240. package/lib/hooks/useChatManager/useChatManager.helpers.spec.js +506 -0
  241. package/lib/hooks/useChatManager/useChatManager.js +76 -351
  242. package/lib/hooks/useChatManager/useChatManager.spec.js +1261 -0
  243. package/lib/hooks/useChatMessages/useChatMessages.helpers.js +109 -0
  244. package/lib/hooks/useChatMessages/useChatMessages.helpers.spec.js +176 -0
  245. package/lib/hooks/useChatMessages/useChatMessages.js +12 -82
  246. package/lib/hooks/useChatMessages/useChatMessages.spec.js +379 -0
  247. package/lib/hooks/useChats/useChats.spec.js +208 -0
  248. package/lib/hooks/useClientSearch.helpers.js +36 -0
  249. package/lib/hooks/useClientSearch.helpers.spec.js +52 -0
  250. package/lib/hooks/useClientSearch.js +4 -32
  251. package/lib/hooks/useClientSearch.spec.js +86 -0
  252. package/lib/hooks/useContextMentions.helpers.js +152 -0
  253. package/lib/hooks/useContextMentions.helpers.spec.js +143 -0
  254. package/lib/hooks/useContextMentions.js +2 -163
  255. package/lib/hooks/useContextMentions.spec.js +239 -0
  256. package/lib/hooks/useContextMentions.types.js +2 -0
  257. package/lib/hooks/useContextPinPopover.helpers.js +95 -0
  258. package/lib/hooks/useContextPinPopover.helpers.spec.js +115 -0
  259. package/lib/hooks/useContextPinPopover.js +16 -75
  260. package/lib/hooks/useContextPinPopover.spec.js +159 -0
  261. package/lib/hooks/useContinueLegacyContextInNewChat/index.js +2 -0
  262. package/lib/hooks/useContinueLegacyContextInNewChat/useContinueLegacyContextInNewChat.js +93 -0
  263. package/lib/hooks/useDebounce.spec.js +42 -0
  264. package/lib/hooks/useEntitySearch.helpers.js +359 -0
  265. package/lib/hooks/useEntitySearch.helpers.spec.js +321 -0
  266. package/lib/hooks/useEntitySearch.js +38 -391
  267. package/lib/hooks/useEntitySearch.spec.js +443 -0
  268. package/lib/hooks/useEvent.spec.js +45 -0
  269. package/lib/hooks/useFrequentlyAskedQuestions.spec.js +222 -0
  270. package/lib/hooks/useFrequentlyUsedActions.js +60 -22
  271. package/lib/hooks/useFrequentlyUsedActions.spec.js +135 -0
  272. package/lib/hooks/useIsMaiaPageRoute.js +26 -0
  273. package/lib/hooks/useIsMaiaPageRoute.spec.js +26 -0
  274. package/lib/hooks/useKnowledge/deleteKnowledge.spec.js +122 -0
  275. package/lib/hooks/useKnowledge/downloadKnowledge.spec.js +148 -0
  276. package/lib/hooks/useKnowledge/saveKnowledge.spec.js +104 -0
  277. package/lib/hooks/useKnowledge/useKnowledgeOperations.spec.js +178 -0
  278. package/lib/hooks/useMaiaChatSessionMeta/index.js +2 -0
  279. package/lib/hooks/useMaiaChatSessionMeta/useMaiaChatSessionMeta.js +24 -0
  280. package/lib/hooks/useMentionAllowedTypes.spec.js +89 -0
  281. package/lib/hooks/useMentionPopover.helpers.js +41 -0
  282. package/lib/hooks/useMentionPopover.helpers.spec.js +71 -0
  283. package/lib/hooks/useMentionPopover.js +9 -35
  284. package/lib/hooks/useMentionPopover.spec.js +215 -0
  285. package/lib/hooks/useMinimizedPillBottomOffset.helpers.js +47 -0
  286. package/lib/hooks/useMinimizedPillBottomOffset.helpers.spec.js +132 -0
  287. package/lib/hooks/useMinimizedPillBottomOffset.js +15 -45
  288. package/lib/hooks/useMinimizedPillBottomOffset.spec.js +89 -0
  289. package/lib/hooks/useMinimizedPillNoveltyDot/useMinimizedPillNoveltyDot.spec.js +67 -0
  290. package/lib/hooks/useModal/useModal.spec.js +73 -0
  291. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.spec.js +192 -0
  292. package/lib/hooks/useProjectSearch.helpers.js +61 -0
  293. package/lib/hooks/useProjectSearch.helpers.spec.js +70 -0
  294. package/lib/hooks/useProjectSearch.js +4 -58
  295. package/lib/hooks/useProjectSearch.spec.js +91 -0
  296. package/lib/hooks/useProjectSummary.spec.js +193 -0
  297. package/lib/hooks/useProjectSummaryConfig.helpers.js +62 -0
  298. package/lib/hooks/useProjectSummaryConfig.helpers.spec.js +92 -0
  299. package/lib/hooks/useProjectSummaryConfig.js +14 -52
  300. package/lib/hooks/useProjectSummaryConfig.spec.js +133 -0
  301. package/lib/hooks/useReasoningTrace/reasoningStore.spec.js +112 -0
  302. package/lib/hooks/useRecentClientsSearch.helpers.js +33 -0
  303. package/lib/hooks/useRecentClientsSearch.helpers.spec.js +33 -0
  304. package/lib/hooks/useRecentClientsSearch.js +4 -32
  305. package/lib/hooks/useRecentClientsSearch.spec.js +85 -0
  306. package/lib/hooks/useRecentContexts.spec.js +139 -0
  307. package/lib/hooks/useResize.spec.js +37 -0
  308. package/lib/hooks/useSkillsCatalog.spec.js +88 -0
  309. package/lib/hooks/useSlashCommands.spec.js +139 -0
  310. package/lib/hooks/useSmoothStreamText/useSmoothStreamText.spec.js +101 -0
  311. package/lib/hooks/useSnackBarManager/useSnackBarManager.spec.js +33 -0
  312. package/lib/hooks/useStreamResponse.spec.js +199 -0
  313. package/lib/hooks/useT.spec.js +20 -0
  314. package/lib/hooks/useToggle.spec.js +33 -0
  315. package/lib/hooks/useToggleFavorite/useToggleFavorite.spec.js +171 -0
  316. package/lib/index.js +5 -2
  317. package/lib/lang/br/index.js +26 -1
  318. package/lib/lang/en/index.js +26 -1
  319. package/lib/lang/es/index.js +26 -1
  320. package/lib/lang/fr/index.js +26 -1
  321. package/lib/services/maia/Access/updateAccess.spec.js +137 -0
  322. package/lib/services/maia/Actions/getFrequentlyUsedActions.js +1 -1
  323. package/lib/services/maia/Actions/getFrequentlyUsedActions.spec.js +56 -0
  324. package/lib/services/maia/Actions/getSlashCommands.spec.js +91 -0
  325. package/lib/services/maia/Agents/connectors.spec.js +359 -0
  326. package/lib/services/maia/Agents/createAgent.spec.js +55 -0
  327. package/lib/services/maia/Agents/deleteAgent.spec.js +57 -0
  328. package/lib/services/maia/Agents/fetchAgentDetail.spec.js +108 -0
  329. package/lib/services/maia/Agents/getAgentById.spec.js +190 -0
  330. package/lib/services/maia/Agents/getAgentModels.spec.js +190 -0
  331. package/lib/services/maia/Agents/getAgentSuggestions.spec.js +89 -0
  332. package/lib/services/maia/Agents/getAgents.helpers.js +181 -0
  333. package/lib/services/maia/Agents/getAgents.helpers.spec.js +211 -0
  334. package/lib/services/maia/Agents/getAgents.js +78 -242
  335. package/lib/services/maia/Agents/getAgents.spec.js +697 -0
  336. package/lib/services/maia/Agents/setAgentToolGroups.spec.js +45 -0
  337. package/lib/services/maia/Agents/toggleFavorite.spec.js +59 -0
  338. package/lib/services/maia/Agents/updateAgent.spec.js +48 -0
  339. package/lib/services/maia/Chats/deleteChat.spec.js +31 -0
  340. package/lib/services/maia/Chats/getChatMessages.spec.js +150 -0
  341. package/lib/services/maia/Chats/getChatsByUserId.spec.js +149 -0
  342. package/lib/services/maia/Chats/markSessionAsRead.spec.js +30 -0
  343. package/lib/services/maia/Chats/patchChat.spec.js +41 -0
  344. package/lib/services/maia/Chats/wasHelpfulChat.spec.js +28 -0
  345. package/lib/services/maia/Faqs/getFrequentlyAskedQuestions.spec.js +58 -0
  346. package/lib/services/maia/Knowledge/delete.spec.js +45 -0
  347. package/lib/services/maia/Knowledge/download.spec.js +78 -0
  348. package/lib/services/maia/Knowledge/save.spec.js +58 -0
  349. package/lib/services/maia/Orchestrator/orchestrator.helpers.js +130 -0
  350. package/lib/services/maia/Orchestrator/orchestrator.helpers.spec.js +153 -0
  351. package/lib/services/maia/Orchestrator/orchestrator.js +38 -121
  352. package/lib/services/maia/Orchestrator/orchestrator.spec.js +181 -0
  353. package/lib/services/maia/RecentClients/getRecentClients.spec.js +52 -0
  354. package/lib/services/maia/RecentContexts/getRecentContexts.spec.js +103 -0
  355. package/lib/services/maia/RecentProjects/getRecentProjects.spec.js +82 -0
  356. package/lib/services/maia/RecentTasks/getRecentTasks.spec.js +63 -0
  357. package/lib/services/maia/RecentUsers/getRecentUsers.spec.js +82 -0
  358. package/lib/services/maia/Skills/createSkill.spec.js +68 -0
  359. package/lib/services/maia/Skills/deleteSkill.spec.js +42 -0
  360. package/lib/services/maia/Skills/generateSkill.spec.js +48 -0
  361. package/lib/services/maia/Skills/getSkills.spec.js +152 -0
  362. package/lib/services/maia/Skills/updateSkill.spec.js +62 -0
  363. package/lib/services/maia/client.spec.js +56 -0
  364. package/lib/services/utils/fetchCOR.spec.js +211 -0
  365. package/lib/services/utils/getCookie.spec.js +20 -0
  366. package/lib/services/utils/mapChatMessages.spec.js +254 -0
  367. package/lib/store/chatsSidebarOptimistic.spec.js +112 -0
  368. package/lib/store/maiaLastChatPersistence.spec.js +22 -0
  369. package/lib/store/maiaPanelSessionPersistence.spec.js +62 -0
  370. package/lib/store/sessions/sessionNotificationSound.spec.js +145 -0
  371. package/lib/store/sessions/sessionNotifications.helpers.js +45 -0
  372. package/lib/store/sessions/sessionNotifications.helpers.spec.js +63 -0
  373. package/lib/store/sessions/sessionNotifications.js +35 -41
  374. package/lib/store/sessions/sessionNotifications.spec.js +106 -0
  375. package/lib/store/sessions/sessionStreamManager.js +40 -52
  376. package/lib/store/sessions/sessionStreamManager.spec.js +503 -0
  377. package/lib/store/sessions/sessions.types.spec.js +16 -0
  378. package/lib/store/sessions/useSessionsStore.spec.js +135 -0
  379. package/lib/store/useChatsStore.spec.js +619 -0
  380. package/lib/store/useFaqsStore.spec.js +57 -0
  381. package/lib/styles/cascade.js +29 -3
  382. package/lib/styles/transitions.js +3 -1
  383. package/lib/test/mockSseStream.js +121 -0
  384. package/lib/test/streamdownCodeMock.js +6 -0
  385. package/lib/test/streamdownMock.js +12 -0
  386. package/lib/types/agentModal.js +1 -1
  387. package/lib/types/global.d.js +1 -1
  388. package/lib/utils/actionCategoryMap.spec.js +18 -0
  389. package/lib/utils/agentDisplayName.spec.js +44 -0
  390. package/lib/utils/autoApproveStorage.spec.js +25 -0
  391. package/lib/utils/chatInputFiles.spec.js +39 -0
  392. package/lib/utils/contextMentionIcons.spec.js +41 -0
  393. package/lib/utils/contextMentionLabel.spec.js +13 -0
  394. package/lib/utils/contextMentionTriggers.spec.js +38 -0
  395. package/lib/utils/contextMentionTypeLabel.spec.js +14 -0
  396. package/lib/utils/corConnectorMentionTypes.spec.js +23 -0
  397. package/lib/utils/entityLinkRender.spec.js +72 -0
  398. package/lib/utils/fileDownloadHelper.spec.js +67 -0
  399. package/lib/utils/formatQuickActionMessage.spec.js +27 -0
  400. package/lib/utils/formatUnreadCount.spec.js +12 -0
  401. package/lib/utils/getUnitFileSize.spec.js +18 -0
  402. package/lib/utils/hitlAnalytics.spec.js +100 -0
  403. package/lib/utils/hoursPlannerQuickActionType.js +74 -1
  404. package/lib/utils/hoursPlannerQuickActionType.spec.js +64 -0
  405. package/lib/utils/imagePreprocessor.helpers.js +28 -0
  406. package/lib/utils/imagePreprocessor.helpers.spec.js +28 -0
  407. package/lib/utils/imagePreprocessor.js +12 -37
  408. package/lib/utils/imagePreprocessor.spec.js +112 -0
  409. package/lib/utils/maiaPageRoute.js +24 -0
  410. package/lib/utils/maiaPageRoute.spec.js +23 -0
  411. package/lib/utils/mapBackendLang.spec.js +19 -0
  412. package/lib/utils/navigateContextEntity.spec.js +50 -0
  413. package/lib/utils/normalizeAgentConnectors.spec.js +107 -0
  414. package/lib/utils/orchestratorSubagents.spec.js +32 -0
  415. package/lib/utils/reasoningMappers.spec.js +103 -0
  416. package/lib/utils/recentContextsHomeLimit.spec.js +32 -0
  417. package/lib/utils/renderContextMentions.spec.js +158 -0
  418. package/lib/utils/retryCompletion.spec.js +99 -0
  419. package/lib/utils/skillContentSize.spec.js +13 -0
  420. package/lib/utils/slashCommandMarker.spec.js +43 -0
  421. package/lib/utils/sortManagerHoursHomeFuas.spec.js +51 -0
  422. package/lib/utils/sseStreamContent.spec.js +31 -0
  423. package/lib/utils/streamActivityMessages.js +32 -19
  424. package/lib/utils/streamActivityMessages.spec.js +227 -0
  425. package/lib/utils/validateTrimmedFields.spec.js +26 -0
  426. package/package.json +1 -1
  427. package/README.md +0 -2
@@ -0,0 +1,5 @@
1
+ import { validateIsMaia } from '../../../../../services/utils/validateIsMaia';
2
+ export var canEditCustomAgentInSelector = function canEditCustomAgentInSelector(agent, userPermissions, multiAgentsEnabled) {
3
+ return Boolean((userPermissions === null || userPermissions === void 0 ? void 0 : userPermissions.edit) && !validateIsMaia(agent) && agent.type === 'custom' && multiAgentsEnabled);
4
+ };
5
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ2YWxpZGF0ZUlzTWFpYSIsImNhbkVkaXRDdXN0b21BZ2VudEluU2VsZWN0b3IiLCJhZ2VudCIsInVzZXJQZXJtaXNzaW9ucyIsIm11bHRpQWdlbnRzRW5hYmxlZCIsIkJvb2xlYW4iLCJlZGl0IiwidHlwZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNb2RhbC9jb21wb25lbnRzL0NoYXRBaUFnZW50T3B0aW9ucy9DaGF0QWlBZ2VudE9wdGlvbnMuaGVscGVycy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFnZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgeyB2YWxpZGF0ZUlzTWFpYSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzL3ZhbGlkYXRlSXNNYWlhJ1xuXG50eXBlIEFnZW50RWRpdFBlcm1pc3Npb25zID0ge1xuICBlZGl0PzogYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3QgY2FuRWRpdEN1c3RvbUFnZW50SW5TZWxlY3RvciA9IChcbiAgYWdlbnQ6IEFnZW50LFxuICB1c2VyUGVybWlzc2lvbnM6IEFnZW50RWRpdFBlcm1pc3Npb25zIHwgdW5kZWZpbmVkLFxuICBtdWx0aUFnZW50c0VuYWJsZWQ6IGJvb2xlYW5cbik6IGJvb2xlYW4gPT4gQm9vbGVhbih1c2VyUGVybWlzc2lvbnM/LmVkaXQgJiYgIXZhbGlkYXRlSXNNYWlhKGFnZW50KSAmJiBhZ2VudC50eXBlID09PSAnY3VzdG9tJyAmJiBtdWx0aUFnZW50c0VuYWJsZWQpXG4iXSwibWFwcGluZ3MiOiJBQUNBLFNBQVNBLGNBQWMsUUFBUSw4Q0FBOEM7QUFNN0UsT0FBTyxJQUFNQyw0QkFBNEIsR0FBRyxTQUEvQkEsNEJBQTRCQSxDQUN2Q0MsS0FBWSxFQUNaQyxlQUFpRCxFQUNqREMsa0JBQTJCO0VBQUEsT0FDZkMsT0FBTyxDQUFDLENBQUFGLGVBQWUsYUFBZkEsZUFBZSx1QkFBZkEsZUFBZSxDQUFFRyxJQUFJLEtBQUksQ0FBQ04sY0FBYyxDQUFDRSxLQUFLLENBQUMsSUFBSUEsS0FBSyxDQUFDSyxJQUFJLEtBQUssUUFBUSxJQUFJSCxrQkFBa0IsQ0FBQztBQUFBIiwiaWdub3JlTGlzdCI6W119
@@ -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==
@@ -10,6 +10,7 @@ import { EVENTS, useEvent } from '../../../../../hooks/useEvent';
10
10
  import { validateIsMaia } from '../../../../../services/utils/validateIsMaia';
11
11
  import { useToggleFavorite } from '../../../../../hooks';
12
12
  import { MAIAIcon } from '../../../../atoms/icons';
13
+ import { canEditCustomAgentInSelector } from './ChatAiAgentOptions.helpers';
13
14
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
15
  export var ChatAIAgentOption = function ChatAIAgentOption(_ref) {
15
16
  var _user$permissions;
@@ -30,7 +31,7 @@ export var ChatAIAgentOption = function ChatAIAgentOption(_ref) {
30
31
  var _useToggleFavorite = useToggleFavorite(),
31
32
  toggleFavorite = _useToggleFavorite.toggleFavorite;
32
33
  var userPermissions = user === null || user === void 0 || (_user$permissions = user.permissions) === null || _user$permissions === void 0 ? void 0 : _user$permissions.ai_agents;
33
- var canEditCustomAgent = (userPermissions === null || userPermissions === void 0 ? void 0 : userPermissions.edit) && !validateIsMaia(agent) && agent.type === 'custom' && window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS;
34
+ var canEditCustomAgent = canEditCustomAgentInSelector(agent, userPermissions, Boolean(window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS));
34
35
  var handleClick = function handleClick(event) {
35
36
  event.preventDefault();
36
37
  event.stopPropagation();
@@ -124,4 +125,4 @@ export var ChatAIAgentOption = function ChatAIAgentOption(_ref) {
124
125
  })]
125
126
  }, "agent-".concat(index));
126
127
  };
127
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VSZWYiLCJUb29sdGlwIiwiUGVuY2lsIiwiU3RhciIsInVzZVRyYW5zbGF0aW9uIiwidXNlUmVzaXplTGlzdGVuZXIiLCJTQ0NBSUFPV3JhcHBlciIsIlNDQ0FJQU9XcmFwcGVyRWRpdCIsIlNDQ0FJTUFnZW50TmFtZSIsIlNDQ0FJTVdyYXBwZXJBZ2VudE5hbWUiLCJ1c2VVc2VyIiwiRVZFTlRTIiwidXNlRXZlbnQiLCJ2YWxpZGF0ZUlzTWFpYSIsInVzZVRvZ2dsZUZhdm9yaXRlIiwiTUFJQUljb24iLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiQ2hhdEFJQWdlbnRPcHRpb24iLCJfcmVmIiwiX3VzZXIkcGVybWlzc2lvbnMiLCJhZ2VudCIsImluZGV4IiwiaGFuZGxlU2VsZWN0QWdlbnQiLCJpc1NlbGVjdGVkIiwiaXNNYWlhIiwib25GYXZvcml0ZVRvZ2dsZSIsInNldElzRXhwYW5kZWQiLCJfdXNlVHJhbnNsYXRpb24iLCJ0IiwidXNlciIsImFtcGxpdHVkRXZlbnQiLCJhZ2VudFJlZiIsIl91c2VSZXNpemVMaXN0ZW5lciIsIm5hbWUiLCJzaG93VG9vbHRpcCIsIl91c2VUb2dnbGVGYXZvcml0ZSIsInRvZ2dsZUZhdm9yaXRlIiwidXNlclBlcm1pc3Npb25zIiwicGVybWlzc2lvbnMiLCJhaV9hZ2VudHMiLCJjYW5FZGl0Q3VzdG9tQWdlbnQiLCJlZGl0IiwidHlwZSIsIndpbmRvdyIsIk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMiLCJoYW5kbGVDbGljayIsImV2ZW50IiwicHJldmVudERlZmF1bHQiLCJzdG9wUHJvcGFnYXRpb24iLCJoYW5kbGVUb2dnbGVGYXZvcml0ZSIsImlkIiwidXBkYXRlZEFnZW50IiwiYWlDaGF0RmF2b3JpdGUiLCJvcHRpb24iLCJpc19mYXZvcml0ZSIsInVuZGVmaW5lZCIsIiRpbmRleCIsIm9uQ2xpY2siLCJjaGlsZHJlbiIsImVtb2ppIiwidGl0bGUiLCJyZWYiLCJoYXNDb3JydXB0ZWRBY2Nlc3MiLCJoYXNfY29ycnVwdGVkX2FjY2VzcyIsInN0eWxlIiwiZGlzcGxheSIsImdhcCIsImFsaWduSXRlbXMiLCJlIiwib3Blbk1vZGFsIiwiZG9jdW1lbnQiLCJkaXNwYXRjaEV2ZW50IiwiQ3VzdG9tRXZlbnQiLCJkZXRhaWwiLCJhZ2VudFZhbHVlcyIsInZhbHVlcyIsImlzRWRpdGluZyIsImtub3dsZWRnZSIsImdlbmVyYWwiLCJpc09wZW4iLCJ3aWR0aCIsImhlaWdodCIsImNvbG9yIiwiY2xhc3NOYW1lIiwiYWx3YXlzVmlzaWJsZSIsImZpbGwiLCJ2YXJpYW50IiwiY29uY2F0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSU1vZGFsL2NvbXBvbmVudHMvQ2hhdEFpQWdlbnRPcHRpb25zL0NoYXRBaUFnZW50T3B0aW9ucy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlUmVmLCBNb3VzZUV2ZW50IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnQHByb2plY3Rjb3IvdG9vbHRpcHYyL2xpYi9jb21wb25lbnRzL1Rvb2x0aXAnXG5pbXBvcnQgeyBQZW5jaWwgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9QZW5jaWwnXG5pbXBvcnQgeyBTdGFyIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvU3RhcidcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCB7IEFnZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgeyB1c2VSZXNpemVMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2hvb2tzL3VzZVJlc2l6ZSdcbmltcG9ydCB7XG4gIFNDQ0FJQU9XcmFwcGVyLFxuICBTQ0NBSUFPV3JhcHBlckVkaXQsXG4gIFNDQ0FJTUFnZW50TmFtZSxcbiAgU0NDQUlNV3JhcHBlckFnZW50TmFtZSxcbn0gZnJvbSAnLi9DaGF0QWlBZ2VudE9wdGlvbnMuc3R5bGVzJ1xuaW1wb3J0IHsgdXNlVXNlciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbnRleHQvY29yLXVzZXInXG5pbXBvcnQgeyBFVkVOVFMsIHVzZUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vaG9va3MvdXNlRXZlbnQnXG5pbXBvcnQgeyB2YWxpZGF0ZUlzTWFpYSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzL3ZhbGlkYXRlSXNNYWlhJ1xuaW1wb3J0IHsgdXNlVG9nZ2xlRmF2b3JpdGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9ob29rcydcbmltcG9ydCB7IE1BSUFJY29uIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXRvbXMvaWNvbnMnXG5cbmV4cG9ydCBjb25zdCBDaGF0QUlBZ2VudE9wdGlvbiA9ICh7XG4gIGFnZW50LFxuICBpbmRleCxcbiAgaGFuZGxlU2VsZWN0QWdlbnQsXG4gIGlzU2VsZWN0ZWQsXG4gIGlzTWFpYSxcbiAgb25GYXZvcml0ZVRvZ2dsZSxcbiAgc2V0SXNFeHBhbmRlZCxcbn06IHtcbiAgYWdlbnQ6IEFnZW50XG4gIGluZGV4OiBudW1iZXJcbiAgaGFuZGxlU2VsZWN0QWdlbnQ6IChhZ2VudDogQWdlbnQpID0+IHZvaWRcbiAgaXNTZWxlY3RlZDogYm9vbGVhblxuICBpc01haWE/OiBib29sZWFuXG4gIG9uRmF2b3JpdGVUb2dnbGU/OiAodXBkYXRlZEFnZW50OiBBZ2VudCkgPT4gdm9pZFxuICBzZXRJc0V4cGFuZGVkPzogKGlzRXhwYW5kZWQ6IGJvb2xlYW4pID0+IHZvaWRcbn0pID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbJ2NoYXRfYWlfc2VjdGlvbiddKVxuICBjb25zdCB1c2VyID0gdXNlVXNlcigpXG4gIGNvbnN0IGFtcGxpdHVkRXZlbnQgPSB1c2VFdmVudCgpXG4gIGNvbnN0IGFnZW50UmVmID0gdXNlUmVmPEhUTUxTcGFuRWxlbWVudD4obnVsbClcbiAgY29uc3QgeyBzaG93VG9vbHRpcCB9ID0gdXNlUmVzaXplTGlzdGVuZXIoYWdlbnRSZWYsIFthZ2VudC5uYW1lXSlcbiAgY29uc3QgeyB0b2dnbGVGYXZvcml0ZSB9ID0gdXNlVG9nZ2xlRmF2b3JpdGUoKVxuXG4gIGNvbnN0IHVzZXJQZXJtaXNzaW9ucyA9IHVzZXI/LnBlcm1pc3Npb25zPy5haV9hZ2VudHNcbiAgY29uc3QgY2FuRWRpdEN1c3RvbUFnZW50ID1cbiAgICB1c2VyUGVybWlzc2lvbnM/LmVkaXQgJiZcbiAgICAhdmFsaWRhdGVJc01haWEoYWdlbnQgYXMgQWdlbnQpICYmXG4gICAgYWdlbnQudHlwZSA9PT0gJ2N1c3RvbScgJiZcbiAgICB3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UU1xuXG4gIGNvbnN0IGhhbmRsZUNsaWNrID0gKGV2ZW50OiBNb3VzZUV2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4ge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgIGhhbmRsZVNlbGVjdEFnZW50KGFnZW50KVxuICB9XG5cbiAgY29uc3QgaGFuZGxlVG9nZ2xlRmF2b3JpdGUgPSAoZXZlbnQ6IE1vdXNlRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG5cbiAgICB0b2dnbGVGYXZvcml0ZShcbiAgICAgIGFnZW50LmlkLFxuICAgICAgdXBkYXRlZEFnZW50ID0+IHtcbiAgICAgICAgaWYgKG9uRmF2b3JpdGVUb2dnbGUpIHtcbiAgICAgICAgICBvbkZhdm9yaXRlVG9nZ2xlKHVwZGF0ZWRBZ2VudClcbiAgICAgICAgfVxuICAgICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5haUNoYXRGYXZvcml0ZSwgeyBvcHRpb246IHVwZGF0ZWRBZ2VudC5pc19mYXZvcml0ZSA/ICdhZGQnIDogJ3JlbW92ZScgfSlcbiAgICAgIH0sXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBhZ2VudC5pc19mYXZvcml0ZVxuICAgIClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNDQ0FJQU9XcmFwcGVyIGtleT17YGFnZW50LSR7aW5kZXh9YH0gJGluZGV4PXtpbmRleH0gaXNTZWxlY3RlZD17aXNTZWxlY3RlZH0gb25DbGljaz17aGFuZGxlQ2xpY2t9IGlzTWFpYT17aXNNYWlhfT5cbiAgICAgIHthZ2VudC50eXBlID09PSAnY3VzdG9tJyAmJiA8c3Bhbj57YWdlbnQ/LmVtb2ppfTwvc3Bhbj59XG4gICAgICB7YWdlbnQudHlwZSA9PT0gJ29yY2hlc3RyYXRvcicgJiYgKFxuICAgICAgICA8c3Bhbj5cbiAgICAgICAgICA8TUFJQUljb24gLz5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgKX1cbiAgICAgIDxTQ0NBSU1XcmFwcGVyQWdlbnROYW1lPlxuICAgICAgICA8VG9vbHRpcCB0aXRsZT17c2hvd1Rvb2x0aXAgPyBhZ2VudD8ubmFtZSA6ICcnfT5cbiAgICAgICAgICA8U0NDQUlNQWdlbnROYW1lIHJlZj17YWdlbnRSZWZ9IGlzU2VsZWN0ZWQ9e2lzU2VsZWN0ZWR9IGhhc0NvcnJ1cHRlZEFjY2Vzcz17ISFhZ2VudD8uaGFzX2NvcnJ1cHRlZF9hY2Nlc3N9PlxuICAgICAgICAgICAge2FnZW50Py5uYW1lfVxuICAgICAgICAgIDwvU0NDQUlNQWdlbnROYW1lPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBnYXA6ICc0cHgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJyB9fT5cbiAgICAgICAgICB7Y2FuRWRpdEN1c3RvbUFnZW50ICYmIChcbiAgICAgICAgICAgIDxUb29sdGlwIHRpdGxlPXt0KCdhZ2VudHMuZWRpdCcpfT5cbiAgICAgICAgICAgICAgPFNDQ0FJQU9XcmFwcGVyRWRpdFxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2UgPT4ge1xuICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICBzZXRJc0V4cGFuZGVkPy4oZmFsc2UpXG4gICAgICAgICAgICAgICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5vcGVuTW9kYWwsIHsgb3B0aW9uOiAnZWRpdF9hZ2VudCcgfSlcbiAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoXG4gICAgICAgICAgICAgICAgICAgIG5ldyBDdXN0b21FdmVudCgnYWJtLWFnZW50LW1vZGFsLXNldC12YWx1ZXMnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhZ2VudFZhbHVlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0VkaXRpbmc6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga25vd2xlZGdlOiBhZ2VudD8ua25vd2xlZGdlIHx8IFtdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYWw6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGFnZW50Lm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogYWdlbnQuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaXNPcGVuOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8UGVuY2lsIHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gY29sb3I9XCIjYTZhNmE2XCIgY2xhc3NOYW1lPVwicGVuY2lsLWljb25cIiAvPlxuICAgICAgICAgICAgICA8L1NDQ0FJQU9XcmFwcGVyRWRpdD5cbiAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICApfVxuICAgICAgICAgIHshdmFsaWRhdGVJc01haWEoYWdlbnQgYXMgQWdlbnQpICYmIChcbiAgICAgICAgICAgIDxUb29sdGlwIHRpdGxlPXthZ2VudD8uaXNfZmF2b3JpdGUgPyB0KCdhZ2VudHMucmVtb3ZlRmF2b3JpdGUnKSA6IHQoJ2FnZW50cy5hZGRGYXZvcml0ZScpfT5cbiAgICAgICAgICAgICAgPFNDQ0FJQU9XcmFwcGVyRWRpdCBhbHdheXNWaXNpYmxlPXthZ2VudD8uaXNfZmF2b3JpdGV9IG9uQ2xpY2s9e2hhbmRsZVRvZ2dsZUZhdm9yaXRlfT5cbiAgICAgICAgICAgICAgICA8U3RhclxuICAgICAgICAgICAgICAgICAgd2lkdGg9ezIwfVxuICAgICAgICAgICAgICAgICAgaGVpZ2h0PXsyMH1cbiAgICAgICAgICAgICAgICAgIGNvbG9yPXthZ2VudD8uaXNfZmF2b3JpdGUgPyAnI0ZGQzYyNCcgOiAnI2E2YTZhNid9XG4gICAgICAgICAgICAgICAgICBmaWxsPXthZ2VudD8uaXNfZmF2b3JpdGUgPyAnI0ZGQzYyNCcgOiAnbm9uZSd9XG4gICAgICAgICAgICAgICAgICB2YXJpYW50PVwic29saWRcIlxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXthZ2VudD8uaXNfZmF2b3JpdGUgPyAnJyA6ICdzdGFyLWZhdm9yaXRlLWljb24nfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvU0NDQUlBT1dyYXBwZXJFZGl0PlxuICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9TQ0NBSU1XcmFwcGVyQWdlbnROYW1lPlxuICAgIDwvU0NDQUlBT1dyYXBwZXI+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsTUFBTSxRQUFvQixPQUFPO0FBQzFDLFNBQVNDLE9BQU8sUUFBUSw4Q0FBOEM7QUFDdEUsU0FBU0MsTUFBTSxRQUFRLHlDQUF5QztBQUNoRSxTQUFTQyxJQUFJLFFBQVEsdUNBQXVDO0FBQzVELFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBRTlDLFNBQVNDLGlCQUFpQixRQUFRLGdDQUFnQztBQUNsRSxTQUNFQyxjQUFjLEVBQ2RDLGtCQUFrQixFQUNsQkMsZUFBZSxFQUNmQyxzQkFBc0IsUUFDakIsNkJBQTZCO0FBQ3BDLFNBQVNDLE9BQU8sUUFBUSxpQ0FBaUM7QUFDekQsU0FBU0MsTUFBTSxFQUFFQyxRQUFRLFFBQVEsK0JBQStCO0FBQ2hFLFNBQVNDLGNBQWMsUUFBUSw4Q0FBOEM7QUFDN0UsU0FBU0MsaUJBQWlCLFFBQVEsc0JBQXNCO0FBQ3hELFNBQVNDLFFBQVEsUUFBUSx5QkFBeUI7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsSUFBQSxJQUFBQyxLQUFBO0FBRWxELE9BQU8sSUFBTUMsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBQUMsSUFBQSxFQWdCeEI7RUFBQSxJQUFBQyxpQkFBQTtFQUFBLElBZkpDLEtBQUssR0FBQUYsSUFBQSxDQUFMRSxLQUFLO0lBQ0xDLEtBQUssR0FBQUgsSUFBQSxDQUFMRyxLQUFLO0lBQ0xDLGlCQUFpQixHQUFBSixJQUFBLENBQWpCSSxpQkFBaUI7SUFDakJDLFVBQVUsR0FBQUwsSUFBQSxDQUFWSyxVQUFVO0lBQ1ZDLE1BQU0sR0FBQU4sSUFBQSxDQUFOTSxNQUFNO0lBQ05DLGdCQUFnQixHQUFBUCxJQUFBLENBQWhCTyxnQkFBZ0I7SUFDaEJDLGFBQWEsR0FBQVIsSUFBQSxDQUFiUSxhQUFhO0VBVWIsSUFBQUMsZUFBQSxHQUFjMUIsY0FBYyxDQUFDLENBQUMsaUJB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
128
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VSZWYiLCJUb29sdGlwIiwiUGVuY2lsIiwiU3RhciIsInVzZVRyYW5zbGF0aW9uIiwidXNlUmVzaXplTGlzdGVuZXIiLCJTQ0NBSUFPV3JhcHBlciIsIlNDQ0FJQU9XcmFwcGVyRWRpdCIsIlNDQ0FJTUFnZW50TmFtZSIsIlNDQ0FJTVdyYXBwZXJBZ2VudE5hbWUiLCJ1c2VVc2VyIiwiRVZFTlRTIiwidXNlRXZlbnQiLCJ2YWxpZGF0ZUlzTWFpYSIsInVzZVRvZ2dsZUZhdm9yaXRlIiwiTUFJQUljb24iLCJjYW5FZGl0Q3VzdG9tQWdlbnRJblNlbGVjdG9yIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkNoYXRBSUFnZW50T3B0aW9uIiwiX3JlZiIsIl91c2VyJHBlcm1pc3Npb25zIiwiYWdlbnQiLCJpbmRleCIsImhhbmRsZVNlbGVjdEFnZW50IiwiaXNTZWxlY3RlZCIsImlzTWFpYSIsIm9uRmF2b3JpdGVUb2dnbGUiLCJzZXRJc0V4cGFuZGVkIiwiX3VzZVRyYW5zbGF0aW9uIiwidCIsInVzZXIiLCJhbXBsaXR1ZEV2ZW50IiwiYWdlbnRSZWYiLCJfdXNlUmVzaXplTGlzdGVuZXIiLCJuYW1lIiwic2hvd1Rvb2x0aXAiLCJfdXNlVG9nZ2xlRmF2b3JpdGUiLCJ0b2dnbGVGYXZvcml0ZSIsInVzZXJQZXJtaXNzaW9ucyIsInBlcm1pc3Npb25zIiwiYWlfYWdlbnRzIiwiY2FuRWRpdEN1c3RvbUFnZW50IiwiQm9vbGVhbiIsIndpbmRvdyIsIk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMiLCJoYW5kbGVDbGljayIsImV2ZW50IiwicHJldmVudERlZmF1bHQiLCJzdG9wUHJvcGFnYXRpb24iLCJoYW5kbGVUb2dnbGVGYXZvcml0ZSIsImlkIiwidXBkYXRlZEFnZW50IiwiYWlDaGF0RmF2b3JpdGUiLCJvcHRpb24iLCJpc19mYXZvcml0ZSIsInVuZGVmaW5lZCIsIiRpbmRleCIsIm9uQ2xpY2siLCJjaGlsZHJlbiIsInR5cGUiLCJlbW9qaSIsInRpdGxlIiwicmVmIiwiaGFzQ29ycnVwdGVkQWNjZXNzIiwiaGFzX2NvcnJ1cHRlZF9hY2Nlc3MiLCJzdHlsZSIsImRpc3BsYXkiLCJnYXAiLCJhbGlnbkl0ZW1zIiwiZSIsIm9wZW5Nb2RhbCIsImRvY3VtZW50IiwiZGlzcGF0Y2hFdmVudCIsIkN1c3RvbUV2ZW50IiwiZGV0YWlsIiwiYWdlbnRWYWx1ZXMiLCJ2YWx1ZXMiLCJpc0VkaXRpbmciLCJrbm93bGVkZ2UiLCJnZW5lcmFsIiwiaXNPcGVuIiwid2lkdGgiLCJoZWlnaHQiLCJjb2xvciIsImNsYXNzTmFtZSIsImFsd2F5c1Zpc2libGUiLCJmaWxsIiwidmFyaWFudCIsImNvbmNhdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNb2RhbC9jb21wb25lbnRzL0NoYXRBaUFnZW50T3B0aW9ucy9DaGF0QWlBZ2VudE9wdGlvbnMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZVJlZiwgTW91c2VFdmVudCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJ0Bwcm9qZWN0Y29yL3Rvb2x0aXB2Mi9saWIvY29tcG9uZW50cy9Ub29sdGlwJ1xuaW1wb3J0IHsgUGVuY2lsIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvUGVuY2lsJ1xuaW1wb3J0IHsgU3RhciB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL1N0YXInXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBBZ2VudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3R5cGVzL2FnZW50J1xuaW1wb3J0IHsgdXNlUmVzaXplTGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9ob29rcy91c2VSZXNpemUnXG5pbXBvcnQge1xuICBTQ0NBSUFPV3JhcHBlcixcbiAgU0NDQUlBT1dyYXBwZXJFZGl0LFxuICBTQ0NBSU1BZ2VudE5hbWUsXG4gIFNDQ0FJTVdyYXBwZXJBZ2VudE5hbWUsXG59IGZyb20gJy4vQ2hhdEFpQWdlbnRPcHRpb25zLnN0eWxlcydcbmltcG9ydCB7IHVzZVVzZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb250ZXh0L2Nvci11c2VyJ1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuaW1wb3J0IHsgdmFsaWRhdGVJc01haWEgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy91dGlscy92YWxpZGF0ZUlzTWFpYSdcbmltcG9ydCB7IHVzZVRvZ2dsZUZhdm9yaXRlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vaG9va3MnXG5pbXBvcnQgeyBNQUlBSWNvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2F0b21zL2ljb25zJ1xuaW1wb3J0IHsgY2FuRWRpdEN1c3RvbUFnZW50SW5TZWxlY3RvciB9IGZyb20gJy4vQ2hhdEFpQWdlbnRPcHRpb25zLmhlbHBlcnMnXG5cbmV4cG9ydCBjb25zdCBDaGF0QUlBZ2VudE9wdGlvbiA9ICh7XG4gIGFnZW50LFxuICBpbmRleCxcbiAgaGFuZGxlU2VsZWN0QWdlbnQsXG4gIGlzU2VsZWN0ZWQsXG4gIGlzTWFpYSxcbiAgb25GYXZvcml0ZVRvZ2dsZSxcbiAgc2V0SXNFeHBhbmRlZCxcbn06IHtcbiAgYWdlbnQ6IEFnZW50XG4gIGluZGV4OiBudW1iZXJcbiAgaGFuZGxlU2VsZWN0QWdlbnQ6IChhZ2VudDogQWdlbnQpID0+IHZvaWRcbiAgaXNTZWxlY3RlZDogYm9vbGVhblxuICBpc01haWE/OiBib29sZWFuXG4gIG9uRmF2b3JpdGVUb2dnbGU/OiAodXBkYXRlZEFnZW50OiBBZ2VudCkgPT4gdm9pZFxuICBzZXRJc0V4cGFuZGVkPzogKGlzRXhwYW5kZWQ6IGJvb2xlYW4pID0+IHZvaWRcbn0pID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbJ2NoYXRfYWlfc2VjdGlvbiddKVxuICBjb25zdCB1c2VyID0gdXNlVXNlcigpXG4gIGNvbnN0IGFtcGxpdHVkRXZlbnQgPSB1c2VFdmVudCgpXG4gIGNvbnN0IGFnZW50UmVmID0gdXNlUmVmPEhUTUxTcGFuRWxlbWVudD4obnVsbClcbiAgY29uc3QgeyBzaG93VG9vbHRpcCB9ID0gdXNlUmVzaXplTGlzdGVuZXIoYWdlbnRSZWYsIFthZ2VudC5uYW1lXSlcbiAgY29uc3QgeyB0b2dnbGVGYXZvcml0ZSB9ID0gdXNlVG9nZ2xlRmF2b3JpdGUoKVxuXG4gIGNvbnN0IHVzZXJQZXJtaXNzaW9ucyA9IHVzZXI/LnBlcm1pc3Npb25zPy5haV9hZ2VudHNcbiAgY29uc3QgY2FuRWRpdEN1c3RvbUFnZW50ID0gY2FuRWRpdEN1c3RvbUFnZW50SW5TZWxlY3RvcihcbiAgICBhZ2VudCxcbiAgICB1c2VyUGVybWlzc2lvbnMsXG4gICAgQm9vbGVhbih3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUylcbiAgKVxuXG4gIGNvbnN0IGhhbmRsZUNsaWNrID0gKGV2ZW50OiBNb3VzZUV2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4ge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgIGhhbmRsZVNlbGVjdEFnZW50KGFnZW50KVxuICB9XG5cbiAgY29uc3QgaGFuZGxlVG9nZ2xlRmF2b3JpdGUgPSAoZXZlbnQ6IE1vdXNlRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG5cbiAgICB0b2dnbGVGYXZvcml0ZShcbiAgICAgIGFnZW50LmlkLFxuICAgICAgdXBkYXRlZEFnZW50ID0+IHtcbiAgICAgICAgaWYgKG9uRmF2b3JpdGVUb2dnbGUpIHtcbiAgICAgICAgICBvbkZhdm9yaXRlVG9nZ2xlKHVwZGF0ZWRBZ2VudClcbiAgICAgICAgfVxuICAgICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5haUNoYXRGYXZvcml0ZSwgeyBvcHRpb246IHVwZGF0ZWRBZ2VudC5pc19mYXZvcml0ZSA/ICdhZGQnIDogJ3JlbW92ZScgfSlcbiAgICAgIH0sXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBhZ2VudC5pc19mYXZvcml0ZVxuICAgIClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNDQ0FJQU9XcmFwcGVyIGtleT17YGFnZW50LSR7aW5kZXh9YH0gJGluZGV4PXtpbmRleH0gaXNTZWxlY3RlZD17aXNTZWxlY3RlZH0gb25DbGljaz17aGFuZGxlQ2xpY2t9IGlzTWFpYT17aXNNYWlhfT5cbiAgICAgIHthZ2VudC50eXBlID09PSAnY3VzdG9tJyAmJiA8c3Bhbj57YWdlbnQ/LmVtb2ppfTwvc3Bhbj59XG4gICAgICB7YWdlbnQudHlwZSA9PT0gJ29yY2hlc3RyYXRvcicgJiYgKFxuICAgICAgICA8c3Bhbj5cbiAgICAgICAgICA8TUFJQUljb24gLz5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgKX1cbiAgICAgIDxTQ0NBSU1XcmFwcGVyQWdlbnROYW1lPlxuICAgICAgICA8VG9vbHRpcCB0aXRsZT17c2hvd1Rvb2x0aXAgPyBhZ2VudD8ubmFtZSA6ICcnfT5cbiAgICAgICAgICA8U0NDQUlNQWdlbnROYW1lIHJlZj17YWdlbnRSZWZ9IGlzU2VsZWN0ZWQ9e2lzU2VsZWN0ZWR9IGhhc0NvcnJ1cHRlZEFjY2Vzcz17ISFhZ2VudD8uaGFzX2NvcnJ1cHRlZF9hY2Nlc3N9PlxuICAgICAgICAgICAge2FnZW50Py5uYW1lfVxuICAgICAgICAgIDwvU0NDQUlNQWdlbnROYW1lPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBnYXA6ICc0cHgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJyB9fT5cbiAgICAgICAgICB7Y2FuRWRpdEN1c3RvbUFnZW50ICYmIChcbiAgICAgICAgICAgIDxUb29sdGlwIHRpdGxlPXt0KCdhZ2VudHMuZWRpdCcpfT5cbiAgICAgICAgICAgICAgPFNDQ0FJQU9XcmFwcGVyRWRpdFxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2UgPT4ge1xuICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICBzZXRJc0V4cGFuZGVkPy4oZmFsc2UpXG4gICAgICAgICAgICAgICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5vcGVuTW9kYWwsIHsgb3B0aW9uOiAnZWRpdF9hZ2VudCcgfSlcbiAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoXG4gICAgICAgICAgICAgICAgICAgIG5ldyBDdXN0b21FdmVudCgnYWJtLWFnZW50LW1vZGFsLXNldC12YWx1ZXMnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhZ2VudFZhbHVlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0VkaXRpbmc6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga25vd2xlZGdlOiBhZ2VudD8ua25vd2xlZGdlIHx8IFtdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYWw6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGFnZW50Lm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogYWdlbnQuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaXNPcGVuOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8UGVuY2lsIHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gY29sb3I9XCIjYTZhNmE2XCIgY2xhc3NOYW1lPVwicGVuY2lsLWljb25cIiAvPlxuICAgICAgICAgICAgICA8L1NDQ0FJQU9XcmFwcGVyRWRpdD5cbiAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICApfVxuICAgICAgICAgIHshdmFsaWRhdGVJc01haWEoYWdlbnQgYXMgQWdlbnQpICYmIChcbiAgICAgICAgICAgIDxUb29sdGlwIHRpdGxlPXthZ2VudD8uaXNfZmF2b3JpdGUgPyB0KCdhZ2VudHMucmVtb3ZlRmF2b3JpdGUnKSA6IHQoJ2FnZW50cy5hZGRGYXZvcml0ZScpfT5cbiAgICAgICAgICAgICAgPFNDQ0FJQU9XcmFwcGVyRWRpdCBhbHdheXNWaXNpYmxlPXthZ2VudD8uaXNfZmF2b3JpdGV9IG9uQ2xpY2s9e2hhbmRsZVRvZ2dsZUZhdm9yaXRlfT5cbiAgICAgICAgICAgICAgICA8U3RhclxuICAgICAgICAgICAgICAgICAgd2lkdGg9ezIwfVxuICAgICAgICAgICAgICAgICAgaGVpZ2h0PXsyMH1cbiAgICAgICAgICAgICAgICAgIGNvbG9yPXthZ2VudD8uaXNfZmF2b3JpdGUgPyAnI0ZGQzYyNCcgOiAnI2E2YTZhNid9XG4gICAgICAgICAgICAgICAgICBmaWxsPXthZ2VudD8uaXNfZmF2b3JpdGUgPyAnI0ZGQzYyNCcgOiAnbm9uZSd9XG4gICAgICAgICAgICAgICAgICB2YXJpYW50PVwic29saWRcIlxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXthZ2VudD8uaXNfZmF2b3JpdGUgPyAnJyA6ICdzdGFyLWZhdm9yaXRlLWljb24nfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvU0NDQUlBT1dyYXBwZXJFZGl0PlxuICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9TQ0NBSU1XcmFwcGVyQWdlbnROYW1lPlxuICAgIDwvU0NDQUlBT1dyYXBwZXI+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsTUFBTSxRQUFvQixPQUFPO0FBQzFDLFNBQVNDLE9BQU8sUUFBUSw4Q0FBOEM7QUFDdEUsU0FBU0MsTUFBTSxRQUFRLHlDQUF5QztBQUNoRSxTQUFTQyxJQUFJLFFBQVEsdUNBQXVDO0FBQzVELFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBRTlDLFNBQVNDLGlCQUFpQixRQUFRLGdDQUFnQztBQUNsRSxTQUNFQyxjQUFjLEVBQ2RDLGtCQUFrQixFQUNsQkMsZUFBZSxFQUNmQyxzQkFBc0IsUUFDakIsNkJBQTZCO0FBQ3BDLFNBQVNDLE9BQU8sUUFBUSxpQ0FBaUM7QUFDekQsU0FBU0MsTUFBTSxFQUFFQyxRQUFRLFFBQVEsK0JBQStCO0FBQ2hFLFNBQVNDLGNBQWMsUUFBUSw4Q0FBOEM7QUFDN0UsU0FBU0MsaUJBQWlCLFFBQVEsc0JBQXNCO0FBQ3hELFNBQVNDLFFBQVEsUUFBUSx5QkFBeUI7QUFDbEQsU0FBU0MsNEJBQTRCLFFBQVEsOEJBQThCO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBLEVBQUFDLElBQUEsSUFBQUMsS0FBQTtBQUUzRSxPQUFPLElBQU1DLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBaUJBLENBQUFDLElBQUEsRUFnQnhCO0VBQUEsSUFBQUMsaUJBQUE7RUFBQSxJQWZKQyxLQUFLLEdBQUFGLElBQUEsQ0FBTEUsS0FBSztJQUNMQyxLQUFLLEdBQUFILElBQUEsQ0FBTEcsS0FBSztJQUNMQyxpQkFBaUIsR0FBQUosSUFBQSxDQUFqQkksaUJBQWlCO0lBQ2pCQyxVQUFVLEdBQUFMLElBQUEsQ0FBVkssVUFBVTtJQUNWQyxNQUFNLEdBQUFOLElBQUEsQ0FBTk0s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
@@ -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==