@projectcor/maia-components 2.49.0-beta.1 → 2.49.1-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (493) hide show
  1. package/lib/App.js +44 -19
  2. package/lib/components/atoms/ActionableButton.spec.js +111 -0
  3. package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.spec.js +52 -0
  4. package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.utils.spec.js +11 -0
  5. package/lib/components/atoms/ApprovalBox/ApprovalBox.helpers.js +37 -0
  6. package/lib/components/atoms/ApprovalBox/ApprovalBox.helpers.spec.js +63 -0
  7. package/lib/components/atoms/ApprovalBox/ApprovalBox.js +3 -37
  8. package/lib/components/atoms/ApprovalBox/ApprovalBox.spec.js +183 -0
  9. package/lib/components/atoms/AttachmentCard/AttachmentCard.spec.js +123 -0
  10. package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.helpers.js +117 -0
  11. package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.helpers.spec.js +139 -0
  12. package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.js +31 -101
  13. package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.spec.js +385 -0
  14. package/lib/components/atoms/AttachmentCard/AttachmentCardImage.spec.js +78 -0
  15. package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.helpers.js +91 -0
  16. package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.helpers.spec.js +94 -0
  17. package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.js +49 -140
  18. package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.spec.js +396 -0
  19. package/lib/components/atoms/AttachmentPreviewModal/ExcelPreview.spec.js +80 -0
  20. package/lib/components/atoms/AttachmentPreviewModal/PptPreview.helpers.js +257 -0
  21. package/lib/components/atoms/AttachmentPreviewModal/PptPreview.helpers.spec.js +526 -0
  22. package/lib/components/atoms/AttachmentPreviewModal/PptPreview.js +53 -205
  23. package/lib/components/atoms/AttachmentPreviewModal/PptPreview.spec.js +137 -0
  24. package/lib/components/atoms/AttachmentPreviewModal/WordPreview.helpers.js +4 -0
  25. package/lib/components/atoms/AttachmentPreviewModal/WordPreview.helpers.spec.js +11 -0
  26. package/lib/components/atoms/AttachmentPreviewModal/WordPreview.js +2 -4
  27. package/lib/components/atoms/AttachmentPreviewModal/WordPreview.spec.js +77 -0
  28. package/lib/components/atoms/Backdrop/Backdrop.spec.js +28 -0
  29. package/lib/components/atoms/CardMenu/CardMenu.spec.js +56 -0
  30. package/lib/components/atoms/ChatClientSelector/ChatClientSelector.spec.js +67 -0
  31. package/lib/components/atoms/Checkbox/Checkbox.spec.js +27 -0
  32. package/lib/components/atoms/Chip/Chip.spec.js +82 -0
  33. package/lib/components/atoms/ChipLlm/ChipLlm.spec.js +26 -0
  34. package/lib/components/atoms/ClientSelector/ClientSelector.helpers.js +26 -0
  35. package/lib/components/atoms/ClientSelector/ClientSelector.helpers.spec.js +45 -0
  36. package/lib/components/atoms/ClientSelector/ClientSelector.js +12 -21
  37. package/lib/components/atoms/ClientSelector/ClientSelector.spec.js +133 -0
  38. package/lib/components/atoms/ContextMentionChip/ContextMentionChip.spec.js +29 -0
  39. package/lib/components/atoms/ContextMentionChip/MentionOverflowLabel.spec.js +46 -0
  40. package/lib/components/atoms/ContextMentionChip/buildChipElement.helpers.js +227 -0
  41. package/lib/components/atoms/ContextMentionChip/buildChipElement.helpers.spec.js +109 -0
  42. package/lib/components/atoms/ContextMentionChip/buildChipElement.js +15 -255
  43. package/lib/components/atoms/ContextMentionChip/buildChipElement.spec.js +81 -0
  44. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.helpers.js +59 -0
  45. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.helpers.spec.js +92 -0
  46. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +12 -57
  47. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.spec.js +319 -0
  48. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.spec.js +107 -0
  49. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.spec.js +136 -0
  50. package/lib/components/atoms/CopyToClipboard.spec.js +74 -0
  51. package/lib/components/atoms/EditableLabel/EditableLabel.spec.js +76 -0
  52. package/lib/components/atoms/EntitySelector/EntitySelector.spec.js +86 -0
  53. package/lib/components/atoms/Expand/Expand.spec.js +57 -0
  54. package/lib/components/atoms/Fade/Fade.spec.js +31 -0
  55. package/lib/components/atoms/FeedbackButton/FeedbackButton.spec.js +75 -0
  56. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.spec.js +104 -0
  57. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +3 -1
  58. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.spec.js +91 -0
  59. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +19 -7
  60. package/lib/components/atoms/HelpButton.spec.js +87 -0
  61. package/lib/components/atoms/ImagePreview/ImagePreview.spec.js +96 -0
  62. package/lib/components/atoms/ListMenuOption/ListMenuOption.spec.js +54 -0
  63. package/lib/components/atoms/LoadingFaqs/LoadingFaqs.spec.js +21 -0
  64. package/lib/components/atoms/LoadingSearchClients/LoadingSearchClients.spec.js +20 -0
  65. package/lib/components/atoms/LoadingSearchProjects/LoadingSearchProjects.spec.js +26 -0
  66. package/lib/components/atoms/LoadingText/LoadingText.spec.js +25 -0
  67. package/lib/components/atoms/MAIAButton/MAIAButton.spec.js +42 -0
  68. package/lib/components/atoms/MAIAError/MAIAError.spec.js +27 -0
  69. package/lib/components/atoms/MAIAInput/MAIAInput.attachments.helpers.js +74 -0
  70. package/lib/components/atoms/MAIAInput/MAIAInput.attachments.helpers.spec.js +113 -0
  71. package/lib/components/atoms/MAIAInput/MAIAInput.helpers.js +184 -0
  72. package/lib/components/atoms/MAIAInput/MAIAInput.helpers.spec.js +381 -0
  73. package/lib/components/atoms/MAIAInput/MAIAInput.js +130 -177
  74. package/lib/components/atoms/MAIAInput/MAIAInput.spec.js +641 -0
  75. package/lib/components/atoms/MAIAInput/MAIAInputEditor.helpers.js +96 -0
  76. package/lib/components/atoms/MAIAInput/MAIAInputEditor.helpers.spec.js +92 -0
  77. package/lib/components/atoms/MAIAInput/MAIAInputEditor.js +40 -113
  78. package/lib/components/atoms/MAIAInput/MAIAInputEditor.spec.js +193 -0
  79. package/lib/components/atoms/MAIAInput/maiaInputLayout.spec.js +32 -0
  80. package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.spec.js +64 -0
  81. package/lib/components/atoms/MaiaWrapper/MaiaWrapper.spec.js +43 -0
  82. package/lib/components/atoms/MaiaWrapper/MaiaWrapperBase.spec.js +114 -0
  83. package/lib/components/atoms/MaiaWrapper/ModernMaiaWrapper.spec.js +51 -0
  84. package/lib/components/atoms/ModalClientAccess/ModalClientAccess.spec.js +48 -0
  85. package/lib/components/atoms/ModalProject/ModalProject.spec.js +66 -0
  86. package/lib/components/atoms/NextPageLoader.spec.js +37 -0
  87. package/lib/components/atoms/OnboardingModalButton/OnboardingModal.spec.js +20 -0
  88. package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.helpers.js +17 -0
  89. package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.helpers.spec.js +35 -0
  90. package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.js +3 -15
  91. package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.spec.js +47 -0
  92. package/lib/components/atoms/OptionAccessibility/OptionAccessibility.spec.js +146 -0
  93. package/lib/components/atoms/PrimaryButton.spec.js +42 -0
  94. package/lib/components/atoms/ProjectSelector/ProjectSelector.spec.js +69 -0
  95. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.js +7 -2
  96. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.spec.js +69 -0
  97. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.styles.js +41 -24
  98. package/lib/components/atoms/ReasoningBlock/ReasoningSteps.js +27 -13
  99. package/lib/components/atoms/ReasoningBlock/ReasoningSteps.spec.js +59 -0
  100. package/lib/components/atoms/ReasoningBlock/ReasoningTimeline.js +79 -52
  101. package/lib/components/atoms/ReasoningBlock/ReasoningTimeline.spec.js +170 -0
  102. package/lib/components/atoms/ReasoningBlock/groupParallelSteps.js +9 -11
  103. package/lib/components/atoms/ReasoningBlock/groupParallelSteps.spec.js +199 -0
  104. package/lib/components/atoms/ReasoningBlock/reasoningLeading.js +6 -1
  105. package/lib/components/atoms/ReasoningBlock/reasoningLeading.spec.js +70 -0
  106. package/lib/components/atoms/ReasoningBlock/reasoningLiveNarration.js +36 -15
  107. package/lib/components/atoms/ReasoningBlock/reasoningLiveNarration.spec.js +120 -0
  108. package/lib/components/atoms/ReasoningBlock/reasoningMotion.js +8 -0
  109. package/lib/components/atoms/ReasoningBlock/reasoningTimeline.helpers.js +10 -0
  110. package/lib/components/atoms/ReasoningBlock/reasoningTimeline.helpers.spec.js +31 -0
  111. package/lib/components/atoms/ReasoningBlock/useCollapsibleHeight.js +52 -0
  112. package/lib/components/atoms/ReasoningBlock/useCollapsibleHeight.spec.js +90 -0
  113. package/lib/components/atoms/ReasoningBlock/useReasoningMarkerHandoff.js +29 -0
  114. package/lib/components/atoms/ReasoningBlock/useReasoningMarkerHandoff.spec.js +38 -0
  115. package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.spec.js +16 -0
  116. package/lib/components/atoms/SkillsDropdown/SkillsDropdown.spec.js +107 -0
  117. package/lib/components/atoms/SlashCommandChip/SlashCommandChip.spec.js +24 -0
  118. package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.helpers.js +101 -0
  119. package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.helpers.spec.js +71 -0
  120. package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.js +21 -77
  121. package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.spec.js +120 -0
  122. package/lib/components/atoms/Switch/Switch.spec.js +41 -0
  123. package/lib/components/atoms/TextArea/CustomTextArea.spec.js +52 -0
  124. package/lib/components/atoms/TextArea/TextArea.helpers.js +23 -0
  125. package/lib/components/atoms/TextArea/TextArea.helpers.spec.js +25 -0
  126. package/lib/components/atoms/TextArea/TextArea.js +11 -20
  127. package/lib/components/atoms/TextArea/TextArea.spec.js +126 -0
  128. package/lib/components/atoms/ThirdButton.spec.js +29 -0
  129. package/lib/components/atoms/VideoModal/VideoModal.spec.js +68 -0
  130. package/lib/components/atoms/WithAppCfg.spec.js +82 -0
  131. package/lib/components/index.js +2 -1
  132. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.helpers.js +37 -0
  133. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.helpers.spec.js +53 -0
  134. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.js +6 -29
  135. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.spec.js +742 -0
  136. package/lib/components/molecules/AbmSection/AbmGeneralSection.helpers.js +68 -0
  137. package/lib/components/molecules/AbmSection/AbmGeneralSection.helpers.spec.js +107 -0
  138. package/lib/components/molecules/AbmSection/AbmGeneralSection.js +17 -56
  139. package/lib/components/molecules/AbmSection/AbmGeneralSection.spec.js +256 -0
  140. package/lib/components/molecules/AbmSection/AbmKnowledgeSection.helpers.js +133 -0
  141. package/lib/components/molecules/AbmSection/AbmKnowledgeSection.helpers.spec.js +175 -0
  142. package/lib/components/molecules/AbmSection/AbmKnowledgeSection.js +31 -112
  143. package/lib/components/molecules/AbmSection/AbmKnowledgeSection.spec.js +318 -0
  144. package/lib/components/molecules/AbmSection/AbmLoaderFiles.helpers.js +17 -0
  145. package/lib/components/molecules/AbmSection/AbmLoaderFiles.helpers.spec.js +50 -0
  146. package/lib/components/molecules/AbmSection/AbmLoaderFiles.js +5 -15
  147. package/lib/components/molecules/AbmSection/AbmLoaderFiles.spec.js +94 -0
  148. package/lib/components/molecules/AgentInputBlock/AgentInputBlockMessage.js +83 -0
  149. package/lib/components/molecules/AgentInputBlock/AgentInputBlockMessage.styles.js +30 -0
  150. package/lib/components/molecules/AgentInputBlock/index.js +5 -0
  151. package/lib/components/molecules/AgentInputBlock/resolveAgentInputBlock.js +52 -0
  152. package/lib/components/molecules/AgentInputBlock/resolveAgentInputBlock.spec.js +76 -0
  153. package/lib/components/molecules/AgentInputBlock/resolveLegacyContextSession.js +20 -0
  154. package/lib/components/molecules/AgentInputBlock/resolveLegacyContextSession.spec.js +34 -0
  155. package/lib/components/molecules/AgentInputBlock/useAgentChangeModelAction.js +36 -0
  156. package/lib/components/molecules/ChatAIClientSelector/ChatAIClientSelector.spec.js +66 -0
  157. package/lib/components/molecules/ChatAIContent/ChatAIContent.js +7 -3
  158. package/lib/components/molecules/ChatAIContent/ChatAIContent.spec.js +145 -0
  159. package/lib/components/molecules/ChatAIHistory/ChatAIHistory.spec.js +204 -0
  160. package/lib/components/molecules/ChatAIHome/ChatAIHome.helpers.js +370 -0
  161. package/lib/components/molecules/ChatAIHome/ChatAIHome.helpers.spec.js +622 -0
  162. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +285 -302
  163. package/lib/components/molecules/ChatAIHome/ChatAIHome.spec.js +264 -0
  164. package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.spec.js +86 -0
  165. package/lib/components/molecules/ChatAIHome/styles.js +85 -78
  166. package/lib/components/molecules/ChatAIMessages/ChatAICreateAgentActions.spec.js +104 -0
  167. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.helpers.js +398 -0
  168. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.helpers.spec.js +742 -0
  169. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +235 -245
  170. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.spec.js +541 -0
  171. package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.spec.js +46 -0
  172. package/lib/components/molecules/ChatAIMessages/newStyles.js +32 -35
  173. package/lib/components/molecules/ChatAIModal/ChatAIModal.helpers.js +522 -4
  174. package/lib/components/molecules/ChatAIModal/ChatAIModal.helpers.spec.js +1394 -0
  175. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +250 -349
  176. package/lib/components/molecules/ChatAIModal/ChatAIModal.spec.js +1401 -0
  177. package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +2 -2
  178. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.helpers.js +5 -0
  179. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.helpers.spec.js +33 -0
  180. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.js +3 -2
  181. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.spec.js +116 -0
  182. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +15 -153
  183. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.spec.js +134 -0
  184. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.styles.js +2 -26
  185. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.helpers.js +49 -0
  186. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.helpers.spec.js +142 -0
  187. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +100 -93
  188. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.spec.js +241 -0
  189. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.spec.js +37 -0
  190. package/lib/components/molecules/ChatAIModal/constants.spec.js +16 -0
  191. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.spec.js +22 -0
  192. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/useFloatingPanelDragTilt.spec.js +67 -0
  193. package/lib/components/molecules/ChatAIModal/layout.spec.js +72 -0
  194. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.helpers.js +39 -0
  195. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.helpers.spec.js +93 -0
  196. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.js +30 -33
  197. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.spec.js +297 -0
  198. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.helpers.js +41 -0
  199. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.helpers.spec.js +62 -0
  200. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +9 -35
  201. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.spec.js +221 -0
  202. package/lib/components/molecules/ChatAIProjectSelector/ChatAIProjectSelector.spec.js +66 -0
  203. package/lib/components/molecules/ChatFooter/ChatFooter.js +10 -4
  204. package/lib/components/molecules/ChatFooter/ChatFooter.spec.js +369 -0
  205. package/lib/components/molecules/ChatFooter/ChatFooterCorAccess.spec.js +10 -0
  206. package/lib/components/molecules/ChatFooter/ChatFooterFaqs.helpers.js +48 -0
  207. package/lib/components/molecules/ChatFooter/ChatFooterFaqs.helpers.spec.js +104 -0
  208. package/lib/components/molecules/ChatFooter/ChatFooterFaqs.js +9 -44
  209. package/lib/components/molecules/ChatFooter/ChatFooterFaqs.spec.js +139 -0
  210. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.spec.js +84 -0
  211. package/lib/components/molecules/MessageFeedback/MessageFeedback.spec.js +116 -0
  212. package/lib/components/molecules/ProjectSummaryChat/ProjectSummaryChat.spec.js +126 -0
  213. package/lib/components/molecules/ProjectSummaryConfig/ProjectSummaryConfig.spec.js +115 -0
  214. package/lib/components/molecules/ProjectSummaryContent/ProjectSummaryContent.spec.js +79 -0
  215. package/lib/components/molecules/ProjectSummaryModal/ProjectSummaryModal.spec.js +37 -0
  216. package/lib/components/molecules/Sidebar/Sidebar.helpers.js +43 -0
  217. package/lib/components/molecules/Sidebar/Sidebar.helpers.spec.js +119 -0
  218. package/lib/components/molecules/Sidebar/Sidebar.js +65 -44
  219. package/lib/components/molecules/Sidebar/Sidebar.spec.js +464 -0
  220. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.helpers.js +512 -0
  221. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.helpers.spec.js +1067 -0
  222. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +310 -644
  223. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.spec.js +1236 -0
  224. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.spec.js +112 -0
  225. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.helpers.js +37 -0
  226. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.helpers.spec.js +77 -0
  227. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +13 -25
  228. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.spec.js +503 -0
  229. package/lib/components/organisms/ChatAI/ChatAI.spec.js +174 -0
  230. package/lib/components/organisms/ChatAIPage/ChatAIPage.js +525 -0
  231. package/lib/components/organisms/ChatAIPage/ChatAIPage.spec.js +246 -0
  232. package/lib/components/organisms/ChatAIPage/ChatAIPage.styles.js +16 -0
  233. package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.js +253 -0
  234. package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.spec.js +139 -0
  235. package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.styles.js +13 -0
  236. package/lib/components/organisms/ChatAIPage/ChatAIPageHome.js +275 -0
  237. package/lib/components/organisms/ChatAIPage/ChatAIPageHome.spec.js +275 -0
  238. package/lib/components/organisms/ChatAIPage/ChatAIPageHome.styles.js +195 -0
  239. package/lib/components/organisms/ChatAIPage/ChatAIPageHomeActionCardSlot.js +94 -0
  240. package/lib/components/organisms/ChatAIPage/ChatAIPageHomeActionCardSlot.spec.js +69 -0
  241. package/lib/components/organisms/ChatAIPage/ChatAIPageHomeActionCards.skeleton.js +38 -0
  242. package/lib/components/organisms/ChatAIPage/getDaypart.js +9 -0
  243. package/lib/components/organisms/ChatAIPage/getDaypart.spec.js +19 -0
  244. package/lib/components/organisms/ChatAIPage/index.js +3 -0
  245. package/lib/components/organisms/ClientAIButton/ClientAIButton.spec.js +53 -0
  246. package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.spec.js +59 -0
  247. package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.spec.js +79 -0
  248. package/lib/components/organisms/EditQuestionModal/EditQuestionModal.spec.js +86 -0
  249. package/lib/components/organisms/ModalFileExceeds/ModalFileExceeds.spec.js +49 -0
  250. package/lib/components/organisms/ProjectAIButton/ProjectAIButton.spec.js +67 -0
  251. package/lib/components/organisms/ProjectSummary/ProjectSummary.spec.js +117 -0
  252. package/lib/components/organisms/SnackBar/Snackbar.spec.js +66 -0
  253. package/lib/components/organisms/SourcesInformation/SourceItem.spec.js +19 -0
  254. package/lib/components/organisms/SourcesInformation/SourcesInformationModal.spec.js +52 -0
  255. package/lib/constants/formatExtensions.js +7 -8
  256. package/lib/constants/formatExtensions.spec.js +14 -0
  257. package/lib/constants/maiaExternalConnectorsAccess.spec.js +29 -0
  258. package/lib/constants/maiaFeatureAccess.spec.js +30 -0
  259. package/lib/constants/maiaHourAgentAccess.spec.js +30 -0
  260. package/lib/constants/maiaTaskPanelAccess.spec.js +41 -0
  261. package/lib/constants/permissions/clientRoleAccess.spec.js +65 -0
  262. package/lib/constants/permissions/index.js +2 -2
  263. package/lib/constants/permissions/utils.js +4 -1
  264. package/lib/constants/permissions/utils.spec.js +128 -0
  265. package/lib/constants/plannerSyncEvents.spec.js +31 -0
  266. package/lib/constants/taskUrls.spec.js +9 -0
  267. package/lib/dev/DevMaiaPage.js +30 -0
  268. package/lib/dev/DevReasoningTimeline.js +75 -86
  269. package/lib/dev/Providers.js +5 -3
  270. package/lib/hooks/frequentlyUsedActionsCache.js +17 -0
  271. package/lib/hooks/frequentlyUsedActionsCache.spec.js +25 -0
  272. package/lib/hooks/useAccessClient/useAccessClient.spec.js +149 -0
  273. package/lib/hooks/useAgentModel/useAgentModel.spec.js +83 -0
  274. package/lib/hooks/useAgentModel/useCreateAgent.helpers.js +144 -0
  275. package/lib/hooks/useAgentModel/useCreateAgent.helpers.spec.js +268 -0
  276. package/lib/hooks/useAgentModel/useCreateAgent.js +38 -102
  277. package/lib/hooks/useAgentModel/useCreateAgent.spec.js +314 -0
  278. package/lib/hooks/useAgentModel/useDeleteAgent.spec.js +183 -0
  279. package/lib/hooks/useAgentModel/useUpdateAgent.spec.js +374 -0
  280. package/lib/hooks/useAgentSuggestions.spec.js +89 -0
  281. package/lib/hooks/useCaretPosition.spec.js +58 -0
  282. package/lib/hooks/useChatManager/useChatManager.helpers.js +902 -0
  283. package/lib/hooks/useChatManager/useChatManager.helpers.spec.js +2027 -0
  284. package/lib/hooks/useChatManager/useChatManager.js +272 -745
  285. package/lib/hooks/useChatManager/useChatManager.spec.js +2409 -0
  286. package/lib/hooks/useChatMessages/useChatMessages.helpers.js +365 -0
  287. package/lib/hooks/useChatMessages/useChatMessages.helpers.spec.js +491 -0
  288. package/lib/hooks/useChatMessages/useChatMessages.js +59 -285
  289. package/lib/hooks/useChatMessages/useChatMessages.spec.js +729 -0
  290. package/lib/hooks/useChats/useChats.spec.js +208 -0
  291. package/lib/hooks/useClientSearch.helpers.js +36 -0
  292. package/lib/hooks/useClientSearch.helpers.spec.js +52 -0
  293. package/lib/hooks/useClientSearch.js +4 -32
  294. package/lib/hooks/useClientSearch.spec.js +86 -0
  295. package/lib/hooks/useContextMentions.helpers.js +212 -0
  296. package/lib/hooks/useContextMentions.helpers.spec.js +267 -0
  297. package/lib/hooks/useContextMentions.js +5 -223
  298. package/lib/hooks/useContextMentions.spec.js +338 -0
  299. package/lib/hooks/useContextMentions.types.js +2 -0
  300. package/lib/hooks/useContextPinPopover.helpers.js +95 -0
  301. package/lib/hooks/useContextPinPopover.helpers.spec.js +183 -0
  302. package/lib/hooks/useContextPinPopover.js +16 -75
  303. package/lib/hooks/useContextPinPopover.spec.js +159 -0
  304. package/lib/hooks/useContinueLegacyContextInNewChat/index.js +2 -0
  305. package/lib/hooks/useContinueLegacyContextInNewChat/useContinueLegacyContextInNewChat.js +93 -0
  306. package/lib/hooks/useDebounce.spec.js +42 -0
  307. package/lib/hooks/useEntitySearch.helpers.js +407 -0
  308. package/lib/hooks/useEntitySearch.helpers.spec.js +723 -0
  309. package/lib/hooks/useEntitySearch.js +52 -436
  310. package/lib/hooks/useEntitySearch.spec.js +718 -0
  311. package/lib/hooks/useEvent.spec.js +45 -0
  312. package/lib/hooks/useFrequentlyAskedQuestions.spec.js +222 -0
  313. package/lib/hooks/useFrequentlyUsedActions.js +60 -22
  314. package/lib/hooks/useFrequentlyUsedActions.spec.js +135 -0
  315. package/lib/hooks/useIsMaiaPageRoute.js +26 -0
  316. package/lib/hooks/useIsMaiaPageRoute.spec.js +26 -0
  317. package/lib/hooks/useKnowledge/deleteKnowledge.spec.js +122 -0
  318. package/lib/hooks/useKnowledge/downloadKnowledge.spec.js +148 -0
  319. package/lib/hooks/useKnowledge/saveKnowledge.spec.js +104 -0
  320. package/lib/hooks/useKnowledge/useKnowledgeOperations.spec.js +178 -0
  321. package/lib/hooks/useMaiaChatSessionMeta/index.js +2 -0
  322. package/lib/hooks/useMaiaChatSessionMeta/useMaiaChatSessionMeta.js +24 -0
  323. package/lib/hooks/useMentionAllowedTypes.spec.js +89 -0
  324. package/lib/hooks/useMentionPopover.helpers.js +41 -0
  325. package/lib/hooks/useMentionPopover.helpers.spec.js +100 -0
  326. package/lib/hooks/useMentionPopover.js +9 -35
  327. package/lib/hooks/useMentionPopover.spec.js +392 -0
  328. package/lib/hooks/useMinimizedPillBottomOffset.helpers.js +47 -0
  329. package/lib/hooks/useMinimizedPillBottomOffset.helpers.spec.js +176 -0
  330. package/lib/hooks/useMinimizedPillBottomOffset.js +15 -45
  331. package/lib/hooks/useMinimizedPillBottomOffset.spec.js +89 -0
  332. package/lib/hooks/useMinimizedPillNoveltyDot/useMinimizedPillNoveltyDot.spec.js +67 -0
  333. package/lib/hooks/useModal/useModal.spec.js +73 -0
  334. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.helpers.js +86 -0
  335. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.helpers.spec.js +138 -0
  336. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +8 -82
  337. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.spec.js +417 -0
  338. package/lib/hooks/useProjectSearch.helpers.js +61 -0
  339. package/lib/hooks/useProjectSearch.helpers.spec.js +89 -0
  340. package/lib/hooks/useProjectSearch.js +4 -58
  341. package/lib/hooks/useProjectSearch.spec.js +91 -0
  342. package/lib/hooks/useProjectSummary.spec.js +193 -0
  343. package/lib/hooks/useProjectSummaryConfig.helpers.js +62 -0
  344. package/lib/hooks/useProjectSummaryConfig.helpers.spec.js +151 -0
  345. package/lib/hooks/useProjectSummaryConfig.js +14 -52
  346. package/lib/hooks/useProjectSummaryConfig.spec.js +133 -0
  347. package/lib/hooks/useReasoningTrace/reasoningStore.js +8 -39
  348. package/lib/hooks/useReasoningTrace/reasoningStore.spec.js +112 -0
  349. package/lib/hooks/useRecentClientsSearch.helpers.js +33 -0
  350. package/lib/hooks/useRecentClientsSearch.helpers.spec.js +33 -0
  351. package/lib/hooks/useRecentClientsSearch.js +4 -32
  352. package/lib/hooks/useRecentClientsSearch.spec.js +85 -0
  353. package/lib/hooks/useRecentContexts.spec.js +139 -0
  354. package/lib/hooks/useResize.spec.js +37 -0
  355. package/lib/hooks/useSkillsCatalog.spec.js +88 -0
  356. package/lib/hooks/useSlashCommands.spec.js +139 -0
  357. package/lib/hooks/useSmoothStreamText/useSmoothStreamText.spec.js +101 -0
  358. package/lib/hooks/useSnackBarManager/useSnackBarManager.spec.js +33 -0
  359. package/lib/hooks/useStreamResponse.spec.js +199 -0
  360. package/lib/hooks/useT.spec.js +20 -0
  361. package/lib/hooks/useToggle.spec.js +33 -0
  362. package/lib/hooks/useToggleFavorite/useToggleFavorite.spec.js +171 -0
  363. package/lib/index.js +5 -2
  364. package/lib/lang/br/index.js +26 -7
  365. package/lib/lang/en/index.js +26 -7
  366. package/lib/lang/es/index.js +26 -7
  367. package/lib/lang/fr/index.js +26 -7
  368. package/lib/services/appcues.spec.js +37 -0
  369. package/lib/services/maia/Access/updateAccess.spec.js +137 -0
  370. package/lib/services/maia/Actions/getFrequentlyUsedActions.js +1 -1
  371. package/lib/services/maia/Actions/getFrequentlyUsedActions.spec.js +56 -0
  372. package/lib/services/maia/Actions/getSlashCommands.spec.js +91 -0
  373. package/lib/services/maia/Agents/connectors.spec.js +496 -0
  374. package/lib/services/maia/Agents/createAgent.spec.js +55 -0
  375. package/lib/services/maia/Agents/deleteAgent.spec.js +57 -0
  376. package/lib/services/maia/Agents/fetchAgentDetail.spec.js +108 -0
  377. package/lib/services/maia/Agents/getAgentById.spec.js +190 -0
  378. package/lib/services/maia/Agents/getAgentModels.spec.js +190 -0
  379. package/lib/services/maia/Agents/getAgentSuggestions.spec.js +89 -0
  380. package/lib/services/maia/Agents/getAgents.helpers.js +241 -0
  381. package/lib/services/maia/Agents/getAgents.helpers.spec.js +325 -0
  382. package/lib/services/maia/Agents/getAgents.js +90 -282
  383. package/lib/services/maia/Agents/getAgents.spec.js +1135 -0
  384. package/lib/services/maia/Agents/setAgentToolGroups.spec.js +45 -0
  385. package/lib/services/maia/Agents/toggleFavorite.spec.js +59 -0
  386. package/lib/services/maia/Agents/updateAgent.spec.js +48 -0
  387. package/lib/services/maia/Chats/deleteChat.spec.js +31 -0
  388. package/lib/services/maia/Chats/getChatMessages.spec.js +150 -0
  389. package/lib/services/maia/Chats/getChatsByUserId.spec.js +149 -0
  390. package/lib/services/maia/Chats/markSessionAsRead.spec.js +30 -0
  391. package/lib/services/maia/Chats/patchChat.spec.js +41 -0
  392. package/lib/services/maia/Chats/wasHelpfulChat.spec.js +28 -0
  393. package/lib/services/maia/Faqs/getFrequentlyAskedQuestions.spec.js +58 -0
  394. package/lib/services/maia/Knowledge/delete.spec.js +45 -0
  395. package/lib/services/maia/Knowledge/download.spec.js +78 -0
  396. package/lib/services/maia/Knowledge/save.spec.js +58 -0
  397. package/lib/services/maia/Orchestrator/orchestrator.helpers.js +130 -0
  398. package/lib/services/maia/Orchestrator/orchestrator.helpers.spec.js +225 -0
  399. package/lib/services/maia/Orchestrator/orchestrator.js +38 -121
  400. package/lib/services/maia/Orchestrator/orchestrator.spec.js +181 -0
  401. package/lib/services/maia/RecentClients/getRecentClients.spec.js +52 -0
  402. package/lib/services/maia/RecentContexts/getRecentContexts.spec.js +103 -0
  403. package/lib/services/maia/RecentProjects/getRecentProjects.spec.js +82 -0
  404. package/lib/services/maia/RecentTasks/getRecentTasks.spec.js +63 -0
  405. package/lib/services/maia/RecentUsers/getRecentUsers.spec.js +82 -0
  406. package/lib/services/maia/Skills/createSkill.spec.js +68 -0
  407. package/lib/services/maia/Skills/deleteSkill.spec.js +42 -0
  408. package/lib/services/maia/Skills/generateSkill.spec.js +48 -0
  409. package/lib/services/maia/Skills/getSkills.spec.js +152 -0
  410. package/lib/services/maia/Skills/updateSkill.spec.js +62 -0
  411. package/lib/services/maia/client.spec.js +56 -0
  412. package/lib/services/utils/fetchCOR.spec.js +211 -0
  413. package/lib/services/utils/getCookie.spec.js +20 -0
  414. package/lib/services/utils/mapChatMessages.helpers.js +223 -0
  415. package/lib/services/utils/mapChatMessages.helpers.spec.js +336 -0
  416. package/lib/services/utils/mapChatMessages.js +25 -254
  417. package/lib/services/utils/mapChatMessages.spec.js +254 -0
  418. package/lib/store/chatsSidebarOptimistic.spec.js +145 -0
  419. package/lib/store/maiaLastChatPersistence.spec.js +22 -0
  420. package/lib/store/maiaPanelSessionPersistence.spec.js +62 -0
  421. package/lib/store/sessions/sessionNotificationSound.spec.js +145 -0
  422. package/lib/store/sessions/sessionNotifications.helpers.js +45 -0
  423. package/lib/store/sessions/sessionNotifications.helpers.spec.js +63 -0
  424. package/lib/store/sessions/sessionNotifications.js +35 -41
  425. package/lib/store/sessions/sessionNotifications.spec.js +106 -0
  426. package/lib/store/sessions/sessionStreamManager.helpers.js +134 -0
  427. package/lib/store/sessions/sessionStreamManager.helpers.spec.js +177 -0
  428. package/lib/store/sessions/sessionStreamManager.js +209 -277
  429. package/lib/store/sessions/sessionStreamManager.spec.js +939 -0
  430. package/lib/store/sessions/sessions.types.spec.js +16 -0
  431. package/lib/store/sessions/useSessionsStore.spec.js +135 -0
  432. package/lib/store/useChatsStore.spec.js +619 -0
  433. package/lib/store/useFaqsStore.spec.js +57 -0
  434. package/lib/styles/cascade.js +29 -3
  435. package/lib/styles/transitions.js +3 -1
  436. package/lib/test/mockSseStream.js +121 -0
  437. package/lib/test/streamdownCodeMock.js +6 -0
  438. package/lib/test/streamdownMock.js +12 -0
  439. package/lib/types/Chat.js +1 -1
  440. package/lib/types/agentModal.js +1 -1
  441. package/lib/types/global.d.js +1 -1
  442. package/lib/types/reasoning.js +1 -1
  443. package/lib/utils/actionCategoryMap.spec.js +18 -0
  444. package/lib/utils/agentDisplayName.spec.js +48 -0
  445. package/lib/utils/autoApproveStorage.spec.js +25 -0
  446. package/lib/utils/chatInputFiles.spec.js +39 -0
  447. package/lib/utils/contextMentionIcons.spec.js +41 -0
  448. package/lib/utils/contextMentionLabel.spec.js +13 -0
  449. package/lib/utils/contextMentionTriggers.spec.js +44 -0
  450. package/lib/utils/contextMentionTypeLabel.spec.js +14 -0
  451. package/lib/utils/corConnectorMentionTypes.spec.js +23 -0
  452. package/lib/utils/entityLinkRender.spec.js +72 -0
  453. package/lib/utils/fileDownloadHelper.spec.js +67 -0
  454. package/lib/utils/formatQuickActionMessage.spec.js +27 -0
  455. package/lib/utils/formatUnreadCount.spec.js +12 -0
  456. package/lib/utils/getUnitFileSize.spec.js +18 -0
  457. package/lib/utils/hitlAnalytics.spec.js +136 -0
  458. package/lib/utils/hoursPlannerQuickActionType.js +74 -1
  459. package/lib/utils/hoursPlannerQuickActionType.spec.js +64 -0
  460. package/lib/utils/imagePreprocessor.helpers.js +28 -0
  461. package/lib/utils/imagePreprocessor.helpers.spec.js +28 -0
  462. package/lib/utils/imagePreprocessor.js +12 -37
  463. package/lib/utils/imagePreprocessor.spec.js +112 -0
  464. package/lib/utils/maiaPageRoute.js +24 -0
  465. package/lib/utils/maiaPageRoute.spec.js +23 -0
  466. package/lib/utils/mapBackendLang.spec.js +19 -0
  467. package/lib/utils/navigateContextEntity.spec.js +50 -0
  468. package/lib/utils/normalizeAgentConnectors.spec.js +98 -0
  469. package/lib/utils/openTaskInCorPanel.spec.js +43 -0
  470. package/lib/utils/orchestratorSubagents.spec.js +32 -0
  471. package/lib/utils/reasoningMappers.spec.js +103 -0
  472. package/lib/utils/recentContextsHomeLimit.spec.js +32 -0
  473. package/lib/utils/renderContextMentions.helpers.js +110 -0
  474. package/lib/utils/renderContextMentions.helpers.spec.js +87 -0
  475. package/lib/utils/renderContextMentions.js +4 -110
  476. package/lib/utils/renderContextMentions.spec.js +268 -0
  477. package/lib/utils/retryCompletion.spec.js +181 -0
  478. package/lib/utils/skillContentSize.spec.js +13 -0
  479. package/lib/utils/slashCommandMarker.spec.js +43 -0
  480. package/lib/utils/sortManagerHoursHomeFuas.spec.js +51 -0
  481. package/lib/utils/sseStreamContent.spec.js +31 -0
  482. package/lib/utils/streamActivityMessages.helpers.js +223 -0
  483. package/lib/utils/streamActivityMessages.helpers.spec.js +84 -0
  484. package/lib/utils/streamActivityMessages.js +33 -238
  485. package/lib/utils/streamActivityMessages.spec.js +336 -0
  486. package/lib/utils/validateTrimmedFields.spec.js +26 -0
  487. package/package.json +2 -2
  488. package/README.md +0 -2
  489. package/lib/components/atoms/ContextCompactedNotice/ContextCompactedNotice.js +0 -53
  490. package/lib/components/atoms/ContextCompactedNotice/ContextCompactedNotice.styles.js +0 -8
  491. package/lib/components/atoms/ContextCompactedNotice/index.js +0 -2
  492. package/lib/types/contextCompaction.js +0 -48
  493. package/lib/types/jest-dom.d.js +0 -2
@@ -0,0 +1,86 @@
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
+ export var buildAskMaiaStreamRequest = function buildAskMaiaStreamRequest(payload) {
5
+ return _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
6
+ input: payload.message,
7
+ history: payload.history,
8
+ lang: payload.lang,
9
+ userId: payload.userId
10
+ }, payload.firstName ? {
11
+ firstName: payload.firstName
12
+ } : {}), payload.lastName ? {
13
+ lastName: payload.lastName
14
+ } : {}), {}, {
15
+ companyId: payload.companyId,
16
+ chatId: payload.chatId,
17
+ messageId: payload.messageId,
18
+ clientId: payload.clientId
19
+ }, payload.feeId != null ? {
20
+ feeId: payload.feeId
21
+ } : {}), {}, {
22
+ agentName: payload.agentName,
23
+ agentId: payload.agentId,
24
+ isWebSearchActive: payload.isWebSearchActive,
25
+ isDeepSearchActive: payload.isDeepSearchActive,
26
+ isAutoApproveActive: payload.isAutoApproveActive
27
+ }, payload.projectId ? {
28
+ projectId: payload.projectId
29
+ } : {}), payload.attachments ? {
30
+ attachments: payload.attachments
31
+ } : {}), payload.projectName ? {
32
+ projectName: payload.projectName
33
+ } : {}), payload.clientName ? {
34
+ clientName: payload.clientName
35
+ } : {}), payload.taskId != null ? {
36
+ taskId: payload.taskId
37
+ } : {}), payload.taskName ? {
38
+ taskName: payload.taskName
39
+ } : {}), payload.faqId ? {
40
+ faqId: payload.faqId
41
+ } : {}), payload.agentSuggestionId ? {
42
+ agentSuggestionId: payload.agentSuggestionId
43
+ } : {}), payload.fuaId ? {
44
+ fuaId: payload.fuaId
45
+ } : {}), payload.scId ? {
46
+ scId: payload.scId
47
+ } : {}), payload.agentEntity != null ? {
48
+ agentEntity: payload.agentEntity
49
+ } : {}), payload.agentType != null ? {
50
+ agentType: payload.agentType
51
+ } : {}), payload.contextMessage ? {
52
+ contextMessage: payload.contextMessage
53
+ } : {}), payload.contextData ? {
54
+ contextData: payload.contextData
55
+ } : {});
56
+ };
57
+ export var buildRetryStreamRequest = function buildRetryStreamRequest(payload) {
58
+ return _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
59
+ sessionId: payload.chatId,
60
+ memorySessionId: payload.memorySessionId,
61
+ agentId: payload.agentId,
62
+ lang: payload.lang,
63
+ isWebSearchActive: payload.isWebSearchActive,
64
+ isDeepSearchActive: payload.isDeepSearchActive
65
+ }, payload.projectId ? {
66
+ projectId: payload.projectId
67
+ } : {}), payload.clientId != null ? {
68
+ clientId: payload.clientId
69
+ } : {}), payload.taskId != null ? {
70
+ taskId: payload.taskId
71
+ } : {}), payload.agentType != null ? {
72
+ agentType: payload.agentType
73
+ } : {}), payload.contextData ? {
74
+ contextData: payload.contextData
75
+ } : {});
76
+ };
77
+ export var buildAskMaiaActivityOptions = function buildAskMaiaActivityOptions(payload) {
78
+ var _payload$attachments, _payload$attachments$, _payload$attachments2;
79
+ return {
80
+ isWebSearchActive: payload.isWebSearchActive,
81
+ isDeepSearchActive: payload.isDeepSearchActive,
82
+ hasAttachments: Boolean((_payload$attachments = payload.attachments) === null || _payload$attachments === void 0 ? void 0 : _payload$attachments.length),
83
+ attachmentsCount: (_payload$attachments$ = (_payload$attachments2 = payload.attachments) === null || _payload$attachments2 === void 0 ? void 0 : _payload$attachments2.length) !== null && _payload$attachments$ !== void 0 ? _payload$attachments$ : 0
84
+ };
85
+ };
86
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJidWlsZEFza01haWFTdHJlYW1SZXF1ZXN0IiwicGF5bG9hZCIsIl9vYmplY3RTcHJlYWQiLCJpbnB1dCIsIm1lc3NhZ2UiLCJoaXN0b3J5IiwibGFuZyIsInVzZXJJZCIsImZpcnN0TmFtZSIsImxhc3ROYW1lIiwiY29tcGFueUlkIiwiY2hhdElkIiwibWVzc2FnZUlkIiwiY2xpZW50SWQiLCJmZWVJZCIsImFnZW50TmFtZSIsImFnZW50SWQiLCJpc1dlYlNlYXJjaEFjdGl2ZSIsImlzRGVlcFNlYXJjaEFjdGl2ZSIsImlzQXV0b0FwcHJvdmVBY3RpdmUiLCJwcm9qZWN0SWQiLCJhdHRhY2htZW50cyIsInByb2plY3ROYW1lIiwiY2xpZW50TmFtZSIsInRhc2tJZCIsInRhc2tOYW1lIiwiZmFxSWQiLCJhZ2VudFN1Z2dlc3Rpb25JZCIsImZ1YUlkIiwic2NJZCIsImFnZW50RW50aXR5IiwiYWdlbnRUeXBlIiwiY29udGV4dE1lc3NhZ2UiLCJjb250ZXh0RGF0YSIsImJ1aWxkUmV0cnlTdHJlYW1SZXF1ZXN0Iiwic2Vzc2lvbklkIiwibWVtb3J5U2Vzc2lvbklkIiwiYnVpbGRBc2tNYWlhQWN0aXZpdHlPcHRpb25zIiwiX3BheWxvYWQkYXR0YWNobWVudHMiLCJfcGF5bG9hZCRhdHRhY2htZW50cyQiLCJfcGF5bG9hZCRhdHRhY2htZW50czIiLCJoYXNBdHRhY2htZW50cyIsIkJvb2xlYW4iLCJsZW5ndGgiLCJhdHRhY2htZW50c0NvdW50Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL3VzZU9yY2hlc3RyYXRvclN0cmVhbS91c2VPcmNoZXN0cmF0b3JTdHJlYW0uaGVscGVycy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEF0dGFjaG1lbnRGaWxlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyJ1xuaW1wb3J0IHR5cGUgeyBDaGF0SGlzdG9yeSB9IGZyb20gJy4uLy4uL3R5cGVzL0NoYXQnXG5pbXBvcnQgdHlwZSB7IEFnZW50RW50aXR5LCBBZ2VudFR5cGUgfSBmcm9tICcuLi8uLi90eXBlcy9hZ2VudCdcbmltcG9ydCB0eXBlIHsgQ29udGV4dE1lc3NhZ2UgfSBmcm9tICcuLi8uLi90eXBlcy9jb250ZXh0TWVudGlvbidcblxuZXhwb3J0IHR5cGUgQXNrTWFpYVN0cmVhbVBheWxvYWQgPSB7XG4gIG1lc3NhZ2U6IHN0cmluZ1xuICBoaXN0b3J5OiBDaGF0SGlzdG9yeVtdXG4gIHByb2plY3RJZDogbnVtYmVyIHwgbnVsbFxuICBsYW5nOiBzdHJpbmdcbiAgdXNlcklkOiBzdHJpbmdcbiAgZmlyc3ROYW1lPzogc3RyaW5nXG4gIGxhc3ROYW1lPzogc3RyaW5nXG4gIGNvbXBhbnlJZDogc3RyaW5nXG4gIGNoYXRJZDogc3RyaW5nXG4gIG1lc3NhZ2VJZDogc3RyaW5nXG4gIGNsaWVudElkPzogbnVtYmVyXG4gIGNsaWVudE5hbWU/OiBzdHJpbmdcbiAgZmVlSWQ/OiBudW1iZXJcbiAgYWdlbnROYW1lOiBzdHJpbmdcbiAgYWdlbnRJZDogc3RyaW5nXG4gIGlzV2ViU2VhcmNoQWN0aXZlPzogYm9vbGVhblxuICBpc0RlZXBTZWFyY2hBY3RpdmU/OiBib29sZWFuXG4gIGlzQXV0b0FwcHJvdmVBY3RpdmU/OiBib29sZWFuXG4gIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXVxuICBwcm9qZWN0TmFtZT86IHN0cmluZ1xuICB0YXNrSWQ/OiBudW1iZXJcbiAgdGFza05hbWU/OiBzdHJpbmdcbiAgZmFxSWQ/OiBzdHJpbmdcbiAgYWdlbnRTdWdnZXN0aW9uSWQ/OiBzdHJpbmdcbiAgZnVhSWQ/OiBzdHJpbmdcbiAgc2NJZD86IHN0cmluZ1xuICBhZ2VudEVudGl0eT86IEFnZW50RW50aXR5XG4gIGFnZW50VHlwZT86IEFnZW50VHlwZVxuICBhZ2VudEVtb2ppPzogc3RyaW5nIHwgbnVsbFxuICBjb250ZXh0TWVzc2FnZT86IENvbnRleHRNZXNzYWdlXG4gIGNvbnRleHREYXRhPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbn1cblxuZXhwb3J0IHR5cGUgUmV0cnlDb21wbGV0aW9uU3RyZWFtUGF5bG9hZCA9IHtcbiAgY2hhdElkOiBzdHJpbmdcbiAgbWVzc2FnZUlkOiBzdHJpbmdcbiAgbWVtb3J5U2Vzc2lvbklkOiBzdHJpbmdcbiAgbGFuZzogc3RyaW5nXG4gIGFnZW50SWQ6IHN0cmluZ1xuICBhZ2VudE5hbWU6IHN0cmluZ1xuICBhZ2VudFR5cGU/OiBBZ2VudFR5cGVcbiAgaXNXZWJTZWFyY2hBY3RpdmU/OiBib29sZWFuXG4gIGlzRGVlcFNlYXJjaEFjdGl2ZT86IGJvb2xlYW5cbiAgcHJvamVjdElkPzogbnVtYmVyIHwgbnVsbFxuICBjbGllbnRJZD86IG51bWJlclxuICB0YXNrSWQ/OiBudW1iZXJcbiAgY29udGV4dERhdGE/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxufVxuXG5leHBvcnQgY29uc3QgYnVpbGRBc2tNYWlhU3RyZWFtUmVxdWVzdCA9IChwYXlsb2FkOiBBc2tNYWlhU3RyZWFtUGF5bG9hZCkgPT4gKHtcbiAgaW5wdXQ6IHBheWxvYWQubWVzc2FnZSxcbiAgaGlzdG9yeTogcGF5bG9hZC5oaXN0b3J5LFxuICBsYW5nOiBwYXlsb2FkLmxhbmcsXG4gIHVzZXJJZDogcGF5bG9hZC51c2VySWQsXG4gIC4uLihwYXlsb2FkLmZpcnN0TmFtZSA/IHsgZmlyc3ROYW1lOiBwYXlsb2FkLmZpcnN0TmFtZSB9IDoge30pLFxuICAuLi4ocGF5bG9hZC5sYXN0TmFtZSA/IHsgbGFzdE5hbWU6IHBheWxvYWQubGFzdE5hbWUgfSA6IHt9KSxcbiAgY29tcGFueUlkOiBwYXlsb2FkLmNvbXBhbnlJZCxcbiAgY2hhdElkOiBwYXlsb2FkLmNoYXRJZCxcbiAgbWVzc2FnZUlkOiBwYXlsb2FkLm1lc3NhZ2VJZCxcbiAgY2xpZW50SWQ6IHBheWxvYWQuY2xpZW50SWQsXG4gIC4uLihwYXlsb2FkLmZlZUlkICE9IG51bGwgPyB7IGZlZUlkOiBwYXlsb2FkLmZlZUlkIH0gOiB7fSksXG4gIGFnZW50TmFtZTogcGF5bG9hZC5hZ2VudE5hbWUsXG4gIGFnZW50SWQ6IHBheWxvYWQuYWdlbnRJZCxcbiAgaXNXZWJTZWFyY2hBY3RpdmU6IHBheWxvYWQuaXNXZWJTZWFyY2hBY3RpdmUsXG4gIGlzRGVlcFNlYXJjaEFjdGl2ZTogcGF5bG9hZC5pc0RlZXBTZWFyY2hBY3RpdmUsXG4gIGlzQXV0b0FwcHJvdmVBY3RpdmU6IHBheWxvYWQuaXNBdXRvQXBwcm92ZUFjdGl2ZSxcbiAgLi4uKHBheWxvYWQucHJvamVjdElkID8geyBwcm9qZWN0SWQ6IHBheWxvYWQucHJvamVjdElkIH0gOiB7fSksXG4gIC4uLihwYXlsb2FkLmF0dGFjaG1lbnRzID8geyBhdHRhY2htZW50czogcGF5bG9hZC5hdHRhY2htZW50cyB9IDoge30pLFxuICAuLi4ocGF5bG9hZC5wcm9qZWN0TmFtZSA/IHsgcHJvamVjdE5hbWU6IHBheWxvYWQucHJvamVjdE5hbWUgfSA6IHt9KSxcbiAgLi4uKHBheWxvYWQuY2xpZW50TmFtZSA/IHsgY2xpZW50TmFtZTogcGF5bG9hZC5jbGllbnROYW1lIH0gOiB7fSksXG4gIC4uLihwYXlsb2FkLnRhc2tJZCAhPSBudWxsID8geyB0YXNrSWQ6IHBheWxvYWQudGFza0lkIH0gOiB7fSksXG4gIC4uLihwYXlsb2FkLnRhc2tOYW1lID8geyB0YXNrTmFtZTogcGF5bG9hZC50YXNrTmFtZSB9IDoge30pLFxuICAuLi4ocGF5bG9hZC5mYXFJZCA/IHsgZmFxSWQ6IHBheWxvYWQuZmFxSWQgfSA6IHt9KSxcbiAgLi4uKHBheWxvYWQuYWdlbnRTdWdnZXN0aW9uSWQgPyB7IGFnZW50U3VnZ2VzdGlvbklkOiBwYXlsb2FkLmFnZW50U3VnZ2VzdGlvbklkIH0gOiB7fSksXG4gIC4uLihwYXlsb2FkLmZ1YUlkID8geyBmdWFJZDogcGF5bG9hZC5mdWFJZCB9IDoge30pLFxuICAuLi4ocGF5bG9hZC5zY0lkID8geyBzY0lkOiBwYXlsb2FkLnNjSWQgfSA6IHt9KSxcbiAgLi4uKHBheWxvYWQuYWdlbnRFbnRpdHkgIT0gbnVsbCA/IHsgYWdlbnRFbnRpdHk6IHBheWxvYWQuYWdlbnRFbnRpdHkgfSA6IHt9KSxcbiAgLi4uKHBheWxvYWQuYWdlbnRUeXBlICE9IG51bGwgPyB7IGFnZW50VHlwZTogcGF5bG9hZC5hZ2VudFR5cGUgfSA6IHt9KSxcbiAgLi4uKHBheWxvYWQuY29udGV4dE1lc3NhZ2UgPyB7IGNvbnRleHRNZXNzYWdlOiBwYXlsb2FkLmNvbnRleHRNZXNzYWdlIH0gOiB7fSksXG4gIC4uLihwYXlsb2FkLmNvbnRleHREYXRhID8geyBjb250ZXh0RGF0YTogcGF5bG9hZC5jb250ZXh0RGF0YSB9IDoge30pLFxufSlcblxuZXhwb3J0IGNvbnN0IGJ1aWxkUmV0cnlTdHJlYW1SZXF1ZXN0ID0gKHBheWxvYWQ6IFJldHJ5Q29tcGxldGlvblN0cmVhbVBheWxvYWQpID0+ICh7XG4gIHNlc3Npb25JZDogcGF5bG9hZC5jaGF0SWQsXG4gIG1lbW9yeVNlc3Npb25JZDogcGF5bG9hZC5tZW1vcnlTZXNzaW9uSWQsXG4gIGFnZW50SWQ6IHBheWxvYWQuYWdlbnRJZCxcbiAgbGFuZzogcGF5bG9hZC5sYW5nLFxuICBpc1dlYlNlYXJjaEFjdGl2ZTogcGF5bG9hZC5pc1dlYlNlYXJjaEFjdGl2ZSxcbiAgaXNEZWVwU2VhcmNoQWN0aXZlOiBwYXlsb2FkLmlzRGVlcFNlYXJjaEFjdGl2ZSxcbiAgLi4uKHBheWxvYWQucHJvamVjdElkID8geyBwcm9qZWN0SWQ6IHBheWxvYWQucHJvamVjdElkIH0gOiB7fSksXG4gIC4uLihwYXlsb2FkLmNsaWVudElkICE9IG51bGwgPyB7IGNsaWVudElkOiBwYXlsb2FkLmNsaWVudElkIH0gOiB7fSksXG4gIC4uLihwYXlsb2FkLnRhc2tJZCAhPSBudWxsID8geyB0YXNrSWQ6IHBheWxvYWQudGFza0lkIH0gOiB7fSksXG4gIC4uLihwYXlsb2FkLmFnZW50VHlwZSAhPSBudWxsID8geyBhZ2VudFR5cGU6IHBheWxvYWQuYWdlbnRUeXBlIH0gOiB7fSksXG4gIC4uLihwYXlsb2FkLmNvbnRleHREYXRhID8geyBjb250ZXh0RGF0YTogcGF5bG9hZC5jb250ZXh0RGF0YSB9IDoge30pLFxufSlcblxuZXhwb3J0IGNvbnN0IGJ1aWxkQXNrTWFpYUFjdGl2aXR5T3B0aW9ucyA9IChwYXlsb2FkOiBBc2tNYWlhU3RyZWFtUGF5bG9hZCkgPT4gKHtcbiAgaXNXZWJTZWFyY2hBY3RpdmU6IHBheWxvYWQuaXNXZWJTZWFyY2hBY3RpdmUsXG4gIGlzRGVlcFNlYXJjaEFjdGl2ZTogcGF5bG9hZC5pc0RlZXBTZWFyY2hBY3RpdmUsXG4gIGhhc0F0dGFjaG1lbnRzOiBCb29sZWFuKHBheWxvYWQuYXR0YWNobWVudHM/Lmxlbmd0aCksXG4gIGF0dGFjaG1lbnRzQ291bnQ6IHBheWxvYWQuYXR0YWNobWVudHM/Lmxlbmd0aCA/PyAwLFxufSlcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBdURBLE9BQU8sSUFBTUEseUJBQXlCLEdBQUcsU0FBNUJBLHlCQUF5QkEsQ0FBSUMsT0FBNkI7RUFBQSxPQUFBQyxhQUFBLENBQUFBLGFBQUEsQ0FBQUEsYUFBQSxDQUFBQSxhQUFBLENBQUFBLGFBQUEsQ0FBQUEsYUFBQSxDQUFBQSxhQUFBLENBQUFBLGFBQUEsQ0FBQUEsYUFBQSxDQUFBQSxhQUFBLENBQUFBLGFBQUEsQ0FBQUEsYUFBQSxDQUFBQSxhQUFBLENBQUFBLGFBQUEsQ0FBQUEsYUFBQSxDQUFBQSxhQUFBLENBQUFBLGFBQUE7SUFDckVDLEtBQUssRUFBRUYsT0FBTyxDQUFDRyxPQUFPO0lBQ3RCQyxPQUFPLEVBQUVKLE9BQU8sQ0FBQ0ksT0FBTztJQUN4QkMsSUFBSSxFQUFFTCxPQUFPLENBQUNLLElBQUk7SUFDbEJDLE1BQU0sRUFBRU4sT0FBTyxDQUFDTTtFQUFNLEdBQ2xCTixPQUFPLENBQUNPLFNBQVMsR0FBRztJQUFFQSxTQUFTLEVBQUVQLE9BQU8sQ0FBQ087RUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQ3pEUCxPQUFPLENBQUNRLFFBQVEsR0FBRztJQUFFQSxR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LENBQUFBLGFBQUE7SUFDM0VpQyxTQUFTLEVBQUVsQyxPQUFPLENBQUNVLE1BQU07SUFDekJ5QixlQUFlLEVBQUVuQyxPQUFPLENBQUNtQyxlQUFlO0lBQ3hDcEIsT0FBTyxFQUFFZixPQUFPLENBQUNlLE9BQU87SUFDeEJWLElBQUksRUFBRUwsT0FBTyxDQUFDSyxJQUFJO0lBQ2xCVyxpQkFBaUIsRUFBRWhCLE9BQU8sQ0FBQ2dCLGlCQUFpQjtJQUM1Q0Msa0JBQWtCLEVBQUVqQixPQUFPLENBQUNpQjtFQUFrQixHQUMxQ2pCLE9BQU8sQ0FBQ21CLFNBQVMsR0FBRztJQUFFQSxTQUFTLEVBQUVuQixPQUFPLENBQUNtQjtFQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsR0FDekRuQixPQUFPLENBQUNZLFFBQVEsSUFBSSxJQUFJLEdBQUc7SUFBRUEsUUFBUSxFQUFFWixPQUFPLENBQUNZO0VBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUM5RFosT0FBTyxDQUFDdUIsTUFBTSxJQUFJLElBQUksR0FBRztJQUFFQSxNQUFNLEVBQUV2QixPQUFPLENBQUN1QjtFQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsR0FDeER2QixPQUFPLENBQUM4QixTQUFTLElBQUksSUFBSSxHQUFHO0lBQUVBLFNBQVMsRUFBRTlCLE9BQU8sQ0FBQzhCO0VBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUNqRTlCLE9BQU8sQ0FBQ2dDLFdBQVcsR0FBRztJQUFFQSxXQUFXLEVBQUVoQyxPQUFPLENBQUNnQztFQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7QUFBQSxDQUNuRTtBQUVGLE9BQU8sSUFBTUksMkJBQTJCLEdBQUcsU0FBOUJBLDJCQUEyQkEsQ0FBSXBDLE9BQTZCO0VBQUEsSUFBQXFDLG9CQUFBLEVBQUFDLHFCQUFBLEVBQUFDLHFCQUFBO0VBQUEsT0FBTTtJQUM3RXZCLGlCQUFpQixFQUFFaEIsT0FBTyxDQUFDZ0IsaUJBQWlCO0lBQzVDQyxrQkFBa0IsRUFBRWpCLE9BQU8sQ0FBQ2lCLGtCQUFrQjtJQUM5Q3VCLGNBQWMsRUFBRUMsT0FBTyxFQUFBSixvQkFBQSxHQUFDckMsT0FBTyxDQUFDb0IsV0FBVyxjQUFBaUIsb0JBQUEsdUJBQW5CQSxvQkFBQSxDQUFxQkssTUFBTSxDQUFDO0lBQ3BEQyxnQkFBZ0IsR0FBQUwscUJBQUEsSUFBQUMscUJBQUEsR0FBRXZDLE9BQU8sQ0FBQ29CLFdBQVcsY0FBQW1CLHFCQUFBLHVCQUFuQkEscUJBQUEsQ0FBcUJHLE1BQU0sY0FBQUoscUJBQUEsY0FBQUEscUJBQUEsR0FBSTtFQUNuRCxDQUFDO0FBQUEsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1,138 @@
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 { buildAskMaiaActivityOptions, buildAskMaiaStreamRequest, buildRetryStreamRequest } from './useOrchestratorStream.helpers';
5
+ var baseAskPayload = {
6
+ message: 'Hola',
7
+ history: [],
8
+ projectId: null,
9
+ lang: 'es',
10
+ userId: 'u1',
11
+ companyId: 'c1',
12
+ chatId: 'session-1',
13
+ messageId: 'msg-1',
14
+ agentName: 'MAIA',
15
+ agentId: 'agent-1'
16
+ };
17
+ describe('useOrchestratorStream.helpers', function () {
18
+ it('buildAskMaiaStreamRequest omits optional fields when absent', function () {
19
+ expect(buildAskMaiaStreamRequest(baseAskPayload)).toEqual({
20
+ input: 'Hola',
21
+ history: [],
22
+ lang: 'es',
23
+ userId: 'u1',
24
+ companyId: 'c1',
25
+ chatId: 'session-1',
26
+ messageId: 'msg-1',
27
+ agentName: 'MAIA',
28
+ agentId: 'agent-1'
29
+ });
30
+ });
31
+ it('buildAskMaiaStreamRequest includes optional fields when present', function () {
32
+ var request = buildAskMaiaStreamRequest(_objectSpread(_objectSpread({}, baseAskPayload), {}, {
33
+ firstName: 'Ana',
34
+ lastName: 'Lopez',
35
+ feeId: 9,
36
+ projectId: 42,
37
+ attachments: [{
38
+ id: 'a1',
39
+ name: 'doc.pdf'
40
+ }],
41
+ projectName: 'Proyecto',
42
+ clientName: 'Cliente',
43
+ taskId: 7,
44
+ taskName: 'Tarea',
45
+ faqId: 'faq-1',
46
+ agentSuggestionId: 'sug-1',
47
+ fuaId: 'fua-1',
48
+ scId: 'sc-1',
49
+ agentEntity: 'global',
50
+ agentType: 'custom',
51
+ contextMessage: {
52
+ type: 'task',
53
+ id: '1',
54
+ label: 'Task'
55
+ },
56
+ contextData: {
57
+ foo: 'bar'
58
+ },
59
+ isWebSearchActive: true,
60
+ isDeepSearchActive: true,
61
+ isAutoApproveActive: true
62
+ }));
63
+ expect(request).toMatchObject({
64
+ firstName: 'Ana',
65
+ lastName: 'Lopez',
66
+ feeId: 9,
67
+ projectId: 42,
68
+ taskId: 7,
69
+ faqId: 'faq-1',
70
+ contextData: {
71
+ foo: 'bar'
72
+ },
73
+ isAutoApproveActive: true
74
+ });
75
+ });
76
+ it('buildAskMaiaActivityOptions reflects attachment count', function () {
77
+ expect(buildAskMaiaActivityOptions(baseAskPayload)).toEqual({
78
+ isWebSearchActive: undefined,
79
+ isDeepSearchActive: undefined,
80
+ hasAttachments: false,
81
+ attachmentsCount: 0
82
+ });
83
+ expect(buildAskMaiaActivityOptions(_objectSpread(_objectSpread({}, baseAskPayload), {}, {
84
+ attachments: [{
85
+ id: 'a1'
86
+ }, {
87
+ id: 'a2'
88
+ }],
89
+ isWebSearchActive: true
90
+ }))).toEqual({
91
+ isWebSearchActive: true,
92
+ isDeepSearchActive: undefined,
93
+ hasAttachments: true,
94
+ attachmentsCount: 2
95
+ });
96
+ });
97
+ it('buildRetryStreamRequest includes optional retry fields', function () {
98
+ expect(buildRetryStreamRequest({
99
+ chatId: 'session-1',
100
+ messageId: 'msg-2',
101
+ memorySessionId: 'mem-1',
102
+ lang: 'es',
103
+ agentId: 'agent-1',
104
+ agentName: 'MAIA'
105
+ })).toEqual({
106
+ sessionId: 'session-1',
107
+ memorySessionId: 'mem-1',
108
+ agentId: 'agent-1',
109
+ lang: 'es'
110
+ });
111
+ expect(buildRetryStreamRequest({
112
+ chatId: 'session-1',
113
+ messageId: 'msg-2',
114
+ memorySessionId: 'mem-1',
115
+ lang: 'es',
116
+ agentId: 'agent-1',
117
+ agentName: 'MAIA',
118
+ projectId: 42,
119
+ clientId: 5,
120
+ taskId: 9,
121
+ agentType: 'custom',
122
+ contextData: {
123
+ foo: 'bar'
124
+ },
125
+ isWebSearchActive: true,
126
+ isDeepSearchActive: true
127
+ })).toMatchObject({
128
+ projectId: 42,
129
+ clientId: 5,
130
+ taskId: 9,
131
+ agentType: 'custom',
132
+ contextData: {
133
+ foo: 'bar'
134
+ }
135
+ });
136
+ });
137
+ });
138
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJidWlsZEFza01haWFBY3Rpdml0eU9wdGlvbnMiLCJidWlsZEFza01haWFTdHJlYW1SZXF1ZXN0IiwiYnVpbGRSZXRyeVN0cmVhbVJlcXVlc3QiLCJiYXNlQXNrUGF5bG9hZCIsIm1lc3NhZ2UiLCJoaXN0b3J5IiwicHJvamVjdElkIiwibGFuZyIsInVzZXJJZCIsImNvbXBhbnlJZCIsImNoYXRJZCIsIm1lc3NhZ2VJZCIsImFnZW50TmFtZSIsImFnZW50SWQiLCJkZXNjcmliZSIsIml0IiwiZXhwZWN0IiwidG9FcXVhbCIsImlucHV0IiwicmVxdWVzdCIsIl9vYmplY3RTcHJlYWQiLCJmaXJzdE5hbWUiLCJsYXN0TmFtZSIsImZlZUlkIiwiYXR0YWNobWVudHMiLCJpZCIsIm5hbWUiLCJwcm9qZWN0TmFtZSIsImNsaWVudE5hbWUiLCJ0YXNrSWQiLCJ0YXNrTmFtZSIsImZhcUlkIiwiYWdlbnRTdWdnZXN0aW9uSWQiLCJmdWFJZCIsInNjSWQiLCJhZ2VudEVudGl0eSIsImFnZW50VHlwZSIsImNvbnRleHRNZXNzYWdlIiwidHlwZSIsImxhYmVsIiwiY29udGV4dERhdGEiLCJmb28iLCJpc1dlYlNlYXJjaEFjdGl2ZSIsImlzRGVlcFNlYXJjaEFjdGl2ZSIsImlzQXV0b0FwcHJvdmVBY3RpdmUiLCJ0b01hdGNoT2JqZWN0IiwidW5kZWZpbmVkIiwiaGFzQXR0YWNobWVudHMiLCJhdHRhY2htZW50c0NvdW50IiwibWVtb3J5U2Vzc2lvbklkIiwic2Vzc2lvbklkIiwiY2xpZW50SWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvdXNlT3JjaGVzdHJhdG9yU3RyZWFtL3VzZU9yY2hlc3RyYXRvclN0cmVhbS5oZWxwZXJzLnNwZWMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYnVpbGRBc2tNYWlhQWN0aXZpdHlPcHRpb25zLFxuICBidWlsZEFza01haWFTdHJlYW1SZXF1ZXN0LFxuICBidWlsZFJldHJ5U3RyZWFtUmVxdWVzdCxcbn0gZnJvbSAnLi91c2VPcmNoZXN0cmF0b3JTdHJlYW0uaGVscGVycydcblxuY29uc3QgYmFzZUFza1BheWxvYWQgPSB7XG4gIG1lc3NhZ2U6ICdIb2xhJyxcbiAgaGlzdG9yeTogW10sXG4gIHByb2plY3RJZDogbnVsbCBhcyBudW1iZXIgfCBudWxsLFxuICBsYW5nOiAnZXMnLFxuICB1c2VySWQ6ICd1MScsXG4gIGNvbXBhbnlJZDogJ2MxJyxcbiAgY2hhdElkOiAnc2Vzc2lvbi0xJyxcbiAgbWVzc2FnZUlkOiAnbXNnLTEnLFxuICBhZ2VudE5hbWU6ICdNQUlBJyxcbiAgYWdlbnRJZDogJ2FnZW50LTEnLFxufVxuXG5kZXNjcmliZSgndXNlT3JjaGVzdHJhdG9yU3RyZWFtLmhlbHBlcnMnLCAoKSA9PiB7XG4gIGl0KCdidWlsZEFza01haWFTdHJlYW1SZXF1ZXN0IG9taXRzIG9wdGlvbmFsIGZpZWxkcyB3aGVuIGFic2VudCcsICgpID0+IHtcbiAgICBleHBlY3QoYnVpbGRBc2tNYWlhU3RyZWFtUmVxdWVzdChiYXNlQXNrUGF5bG9hZCkpLnRvRXF1YWwoe1xuICAgICAgaW5wdXQ6ICdIb2xhJyxcbiAgICAgIGhpc3Rvcnk6IFtdLFxuICAgICAgbGFuZzogJ2VzJyxcbiAgICAgIHVzZXJJZDogJ3UxJyxcbiAgICAgIGNvbXBhbnlJZDogJ2MxJyxcbiAgICAgIGNoYXRJZDogJ3Nlc3Npb24tMScsXG4gICAgICBtZXNzYWdlSWQ6ICdtc2ctMScsXG4gICAgICBhZ2VudE5hbWU6ICdNQUlBJyxcbiAgICAgIGFnZW50SWQ6ICdhZ2VudC0xJyxcbiAgICB9KVxuICB9KVxuXG4gIGl0KCdidWlsZEFza01haWFTdHJlYW1SZXF1ZXN0IGluY2x1ZGVzIG9wdGlvbmFsIGZpZWxkcyB3aGVuIHByZXNlbnQnLCAoKSA9PiB7XG4gICAgY29uc3QgcmVxdWVzdCA9IGJ1aWxkQXNrTWFpYVN0cmVhbVJlcXVlc3Qoe1xuICAgICAgLi4uYmFzZUFza1BheWxvYWQsXG4gICAgICBmaXJzdE5hbWU6ICdBbmEnLFxuICAgICAgbGFzdE5hbWU6ICdMb3BleicsXG4gICAgICBmZWVJZDogOSxcbiAgICAgIHByb2plY3RJZDogNDIsXG4gICAgICBhdHRhY2htZW50czogW3sgaWQ6ICdhMScsIG5hbWU6ICdkb2MucGRmJyB9IGFzIG5ldmVyXSxcbiAgICAgIHByb2plY3ROYW1lOiAnUHJveWVjdG8nLFxuICAgICAgY2xpZW50TmFtZTogJ0NsaWVudGUnLFxuICAgICAgdGFza0lkOiA3LFxuICAgICAgdGFza05hbWU6ICdUYXJlYScsXG4gICAgICBmYXFJZDogJ2ZhcS0xJyxcbiAgICAgIGFnZW50U3VnZ2VzdGlvbklkOiAnc3VnLTEnLFxuICAgICAgZnVhSWQ6ICdmdWEtMScsXG4gICAgICBzY0lkOiAnc2MtMScsXG4gICAgICBhZ2VudEVudGl0eTogJ2dsb2JhbCcsXG4gICAgICBhZ2VudFR5cGU6ICdjdXN0b20nLFxuICAgICAgY29udGV4dE1lc3NhZ2U6IHsgdHlwZTogJ3Rhc2snLCBpZDogJzEnLCBsYWJlbDogJ1Rhc2snIH0sXG4gICAgICBjb250ZXh0RGF0YTogeyBmb286ICdiYXInIH0sXG4gICAgICBpc1dlYlNlYXJjaEFjdGl2ZTogdHJ1ZSxcbiAgICAgIGlzRGVlcFNlYXJjaEFjdGl2ZTogdHJ1ZSxcbiAgICAgIGlzQXV0b0FwcHJvdmVBY3RpdmU6IHRydWUsXG4gICAgfSlcblxuICAgIGV4cGVjdChyZXF1ZXN0KS50b01hdGNoT2JqZWN0KHtcbiAgICAgIGZpcnN0TmFtZTogJ0FuYScsXG4gICAgICBsYXN0TmFtZTogJ0xvcGV6JyxcbiAgICAgIGZlZUlkOiA5LFxuICAgICAgcHJvamVjdElkOiA0MixcbiAgICAgIHRhc2tJZDogNyxcbiAgICAgIGZhcUlkOiAnZmFxLTEnLFxuICAgICAgY29udGV4dERhdGE6IHsgZm9vOiAnYmFyJyB9LFxuICAgICAgaXNBdXRvQXBwcm92ZUFjdGl2ZTogdHJ1ZSxcbiAgICB9KVxuICB9KVxuXG4gIGl0KCdidWlsZEFza01haWFBY3Rpdml0eU9wdGlvbnMgcmVmbGVjdHMgYXR0YWNobWVudCBjb3VudCcsICgpID0+IHtcbiAgICBleHBlY3QoYnVpbGRBc2tNYWlhQWN0aXZpdHlPcHRpb25zKGJhc2VBc2tQYXlsb2FkKSkudG9FcXVhbCh7XG4gICAgICBpc1dlYlNlYXJjaEFjdGl2ZTogdW5kZWZpbmVkLFxuICAgICAgaXNEZWVwU2VhcmNoQWN0aXZlOiB1bmRlZmluZWQsXG4gICAgICBoYXNBdHRhY2htZW50czogZmFsc2UsXG4gICAgICBhdHRhY2htZW50c0NvdW50OiAwLFxuICAgIH0pXG5cbiAgICBleHBlY3QoXG4gICAgICBidWlsZEFza01haWFBY3Rpdml0eU9wdGlvbnMoe1xuICAgICAgICAuLi5iYXNlQXNrUGF5bG9hZCxcbiAgICAgICAgYXR0YWNobWVudHM6IFt7IGlkOiAnYTEnIH0gYXMgbmV2ZXIsIHsgaWQ6ICdhMicgfSBhcyBuZXZlcl0sXG4gICAgICAgIGlzV2ViU2VhcmNoQWN0aXZlOiB0cnVlLFxuICAgICAgfSlcbiAgICApLnRvRXF1YWwoe1xuICAgICAgaXNXZWJTZWFyY2hBY3RpdmU6IHRydWUsXG4gICAgICBpc0RlZXBTZWFyY2hBY3RpdmU6IHVuZGVmaW5lZCxcbiAgICAgIGhhc0F0dGFjaG1lbnRzOiB0cnVlLFxuICAgICAgYXR0YWNobWVudHNDb3VudDogMixcbiAgICB9KVxuICB9KVxuXG4gIGl0KCdidWlsZFJldHJ5U3RyZWFtUmVxdWVzdCBpbmNsdWRlcyBvcHRpb25hbCByZXRyeSBmaWVsZHMnLCAoKSA9PiB7XG4gICAgZXhwZWN0KFxuICAgICAgYnVpbGRSZXRyeVN0cmVhbVJlcXVlc3Qoe1xuICAgICAgICBjaGF0SWQ6ICdzZXNzaW9uLTEnLFxuICAgICAgICBtZXNzYWdlSWQ6ICdtc2ctMicsXG4gICAgICAgIG1lbW9yeVNlc3Npb25JZDogJ21lbS0xJyxcbiAgICAgICAgbGFuZzogJ2VzJyxcbiAgICAgICAgYWdlbnRJZDogJ2FnZW50LTEnLFxuICAgICAgICBhZ2VudE5hbWU6ICdNQUlBJyxcbiAgICAgIH0pXG4gICAgKS50b0VxdWFsKHtcbiAgICAgIHNlc3Npb25JZDogJ3Nlc3Npb24tMScsXG4gICAgICBtZW1vcnlTZXNzaW9uSWQ6ICdtZW0tMScsXG4gICAgICBhZ2VudElkOiAnYWdlbnQtMScsXG4gICAgICBsYW5nOiAnZXMnLFxuICAgIH0pXG5cbiAgICBleHBlY3QoXG4gICAgICBidWlsZFJldHJ5U3RyZWFtUmVxdWVzdCh7XG4gICAgICAgIGNoYXRJZDogJ3Nlc3Npb24tMScsXG4gICAgICAgIG1lc3NhZ2VJZDogJ21zZy0yJyxcbiAgICAgICAgbWVtb3J5U2Vzc2lvbklkOiAnbWVtLTEnLFxuICAgICAgICBsYW5nOiAnZXMnLFxuICAgICAgICBhZ2VudElkOiAnYWdlbnQtMScsXG4gICAgICAgIGFnZW50TmFtZTogJ01BSUEnLFxuICAgICAgICBwcm9qZWN0SWQ6IDQyLFxuICAgICAgICBjbGllbnRJZDogNSxcbiAgICAgICAgdGFza0lkOiA5LFxuICAgICAgICBhZ2VudFR5cGU6ICdjdXN0b20nLFxuICAgICAgICBjb250ZXh0RGF0YTogeyBmb286ICdiYXInIH0sXG4gICAgICAgIGlzV2ViU2VhcmNoQWN0aXZlOiB0cnVlLFxuICAgICAgICBpc0RlZXBTZWFyY2hBY3RpdmU6IHRydWUsXG4gICAgICB9KVxuICAgICkudG9NYXRjaE9iamVjdCh7XG4gICAgICBwcm9qZWN0SWQ6IDQyLFxuICAgICAgY2xpZW50SWQ6IDUsXG4gICAgICB0YXNrSWQ6IDksXG4gICAgICBhZ2VudFR5cGU6ICdjdXN0b20nLFxuICAgICAgY29udGV4dERhdGE6IHsgZm9vOiAnYmFyJyB9LFxuICAgIH0pXG4gIH0pXG59KVxuIl0sIm1hcHBpbmdzIjoiOzs7QUFBQSxTQUNFQSwyQkFBMkIsRUFDM0JDLHlCQUF5QixFQUN6QkMsdUJBQXVCLFFBQ2xCLGlDQUFpQztBQUV4QyxJQUFNQyxjQUFjLEdBQUc7RUFDckJDLE9BQU8sRUFBRSxNQUFNO0VBQ2ZDLE9BQU8sRUFBRSxFQUFFO0VBQ1hDLFNBQVMsRUFBRSxJQUFxQjtFQUNoQ0MsSUFBSSxFQUFF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TUFDM0RpQixpQkFBaUIsRUFBRTtJQUFJLEVBQ3hCLENBQ0gsQ0FBQyxDQUFDekIsT0FBTyxDQUFDO01BQ1J5QixpQkFBaUIsRUFBRSxJQUFJO01BQ3ZCQyxrQkFBa0IsRUFBRUcsU0FBUztNQUM3QkMsY0FBYyxFQUFFLElBQUk7TUFDcEJDLGdCQUFnQixFQUFFO0lBQ3BCLENBQUMsQ0FBQztFQUNKLENBQUMsQ0FBQztFQUVGakMsRUFBRSxDQUFDLHdEQUF3RCxFQUFFLFlBQU07SUFDakVDLE1BQU0sQ0FDSmQsdUJBQXVCLENBQUM7TUFDdEJRLE1BQU0sRUFBRSxXQUFXO01BQ25CQyxTQUFTLEVBQUUsT0FBTztNQUNsQnNDLGVBQWUsRUFBRSxPQUFPO01BQ3hCMUMsSUFBSSxFQUFFLElBQUk7TUFDVk0sT0FBTyxFQUFFLFNBQVM7TUFDbEJELFNBQVMsRUFBRTtJQUNiLENBQUMsQ0FDSCxDQUFDLENBQUNLLE9BQU8sQ0FBQztNQUNSaUMsU0FBUyxFQUFFLFdBQVc7TUFDdEJELGVBQWUsRUFBRSxPQUFPO01BQ3hCcEMsT0FBTyxFQUFFLFNBQVM7TUFDbEJOLElBQUksRUFBRTtJQUNSLENBQUMsQ0FBQztJQUVGUyxNQUFNLENBQ0pkLHVCQUF1QixDQUFDO01BQ3RCUSxNQUFNLEVBQUUsV0FBVztNQUNuQkMsU0FBUyxFQUFFLE9BQU87TUFDbEJzQyxlQUFlLEVBQUUsT0FBTztNQUN4QjFDLElBQUksRUFBRSxJQUFJO01BQ1ZNLE9BQU8sRUFBRSxTQUFTO01BQ2xCRCxTQUFTLEVBQUUsTUFBTTtNQUNqQk4sU0FBUyxFQUFFLEVBQUU7TUFDYjZDLFFBQVEsRUFBRSxDQUFDO01BQ1h0QixNQUFNLEVBQUUsQ0FBQztNQUNUTyxTQUFTLEVBQUUsUUFBUTtNQUNuQkksV0FBVyxFQUFFO1FBQUVDLEdBQUcsRUFBRTtNQUFNLENBQUM7TUFDM0JDLGlCQUFpQixFQUFFLElBQUk7TUFDdkJDLGtCQUFrQixFQUFFO0lBQ3RCLENBQUMsQ0FDSCxDQUFDLENBQUNFLGFBQWEsQ0FBQztNQUNkdkMsU0FBUyxFQUFFLEVBQUU7TUFDYjZDLFFBQVEsRUFBRSxDQUFDO01BQ1h0QixNQUFNLEVBQUUsQ0FBQztNQUNUTyxTQUFTLEVBQUUsUUFBUTtNQUNuQkksV0FBVyxFQUFFO1FBQUVDLEdBQUcsRUFBRTtNQUFNO0lBQzVCLENBQUMsQ0FBQztFQUNKLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,8 +1,5 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
1
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
2
  import _regeneratorRuntime from "@babel/runtime/regenerator";
4
- 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; }
5
- 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; }
6
3
  /* eslint-disable @typescript-eslint/no-explicit-any */
7
4
  import { useCallback, useRef } from 'react';
8
5
  import { useTranslation } from 'react-i18next';
@@ -10,6 +7,8 @@ import { SECTIONS } from '../../constants/config';
10
7
  import { sessionStreamManager } from '../../store/sessions/sessionStreamManager';
11
8
  import { useSessionsStore } from '../../store/sessions/useSessionsStore';
12
9
  import { useSessionStreamState } from '../../store/sessions/useSessionMeta';
10
+ import { buildAskMaiaActivityOptions, buildAskMaiaStreamRequest, buildRetryStreamRequest } from './useOrchestratorStream.helpers';
11
+
13
12
  /**
14
13
  * Adapter sobre `sessionStreamManager`. Mantiene la API pública histórica
15
14
  * (`askMaia`, `isLoading`, `isWriting`, `stopStreaming`, etc.) pero ahora el
@@ -49,8 +48,8 @@ export var useOrchestratorStream = function useOrchestratorStream(_ref) {
49
48
  onApprovalRequiredRef.current = onApprovalRequired;
50
49
  var askMaia = useCallback(/*#__PURE__*/function () {
51
50
  var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(payload) {
52
- var _payload$attachments, _payload$attachments$, _payload$attachments2, _hitlExecutionContext;
53
- var sessionId, messageId, placeholderId, ctx, request;
51
+ var _hitlExecutionContext;
52
+ var sessionId, messageId, placeholderId, ctx;
54
53
  return _regeneratorRuntime.wrap(function (_context) {
55
54
  while (1) switch (_context.prev = _context.next) {
56
55
  case 0:
@@ -61,68 +60,12 @@ export var useOrchestratorStream = function useOrchestratorStream(_ref) {
61
60
  messageId: messageId,
62
61
  placeholderId: placeholderId
63
62
  };
64
- request = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
65
- input: payload.message,
66
- history: payload.history,
67
- lang: payload.lang,
68
- userId: payload.userId
69
- }, payload.firstName ? {
70
- firstName: payload.firstName
71
- } : {}), payload.lastName ? {
72
- lastName: payload.lastName
73
- } : {}), {}, {
74
- companyId: payload.companyId,
75
- chatId: payload.chatId,
76
- messageId: payload.messageId,
77
- clientId: payload.clientId
78
- }, payload.feeId != null ? {
79
- feeId: payload.feeId
80
- } : {}), {}, {
81
- agentName: payload.agentName,
82
- agentId: payload.agentId,
83
- isWebSearchActive: payload.isWebSearchActive,
84
- isDeepSearchActive: payload.isDeepSearchActive,
85
- isAutoApproveActive: payload.isAutoApproveActive
86
- }, payload.projectId ? {
87
- projectId: payload.projectId
88
- } : {}), payload.attachments ? {
89
- attachments: payload.attachments
90
- } : {}), payload.projectName ? {
91
- projectName: payload.projectName
92
- } : {}), payload.clientName ? {
93
- clientName: payload.clientName
94
- } : {}), payload.taskId != null ? {
95
- taskId: payload.taskId
96
- } : {}), payload.taskName ? {
97
- taskName: payload.taskName
98
- } : {}), payload.faqId ? {
99
- faqId: payload.faqId
100
- } : {}), payload.agentSuggestionId ? {
101
- agentSuggestionId: payload.agentSuggestionId
102
- } : {}), payload.fuaId ? {
103
- fuaId: payload.fuaId
104
- } : {}), payload.scId ? {
105
- scId: payload.scId
106
- } : {}), payload.agentEntity != null ? {
107
- agentEntity: payload.agentEntity
108
- } : {}), payload.agentType != null ? {
109
- agentType: payload.agentType
110
- } : {}), payload.contextMessage ? {
111
- contextMessage: payload.contextMessage
112
- } : {}), payload.contextData ? {
113
- contextData: payload.contextData
114
- } : {});
115
63
  return _context.abrupt("return", sessionStreamManager.startStream({
116
64
  sessionId: sessionId,
117
65
  placeholderId: placeholderId,
118
- request: request,
66
+ request: buildAskMaiaStreamRequest(payload),
119
67
  t: t,
120
- activityOptions: {
121
- isWebSearchActive: payload.isWebSearchActive,
122
- isDeepSearchActive: payload.isDeepSearchActive,
123
- hasAttachments: Boolean((_payload$attachments = payload.attachments) === null || _payload$attachments === void 0 ? void 0 : _payload$attachments.length),
124
- attachmentsCount: (_payload$attachments$ = (_payload$attachments2 = payload.attachments) === null || _payload$attachments2 === void 0 ? void 0 : _payload$attachments2.length) !== null && _payload$attachments$ !== void 0 ? _payload$attachments$ : 0
125
- },
68
+ activityOptions: buildAskMaiaActivityOptions(payload),
126
69
  hitlExecutionContext: (_hitlExecutionContext = hitlExecutionContextRef === null || hitlExecutionContextRef === void 0 ? void 0 : hitlExecutionContextRef.current) !== null && _hitlExecutionContext !== void 0 ? _hitlExecutionContext : null,
127
70
  agentId: payload.agentId,
128
71
  agentName: payload.agentName,
@@ -175,24 +118,7 @@ export var useOrchestratorStream = function useOrchestratorStream(_ref) {
175
118
  return _context2.abrupt("return", sessionStreamManager.startRetryStream({
176
119
  sessionId: sessionId,
177
120
  placeholderId: placeholderId,
178
- retryRequest: _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
179
- sessionId: sessionId,
180
- memorySessionId: payload.memorySessionId,
181
- agentId: payload.agentId,
182
- lang: payload.lang,
183
- isWebSearchActive: payload.isWebSearchActive,
184
- isDeepSearchActive: payload.isDeepSearchActive
185
- }, payload.projectId ? {
186
- projectId: payload.projectId
187
- } : {}), payload.clientId != null ? {
188
- clientId: payload.clientId
189
- } : {}), payload.taskId != null ? {
190
- taskId: payload.taskId
191
- } : {}), payload.agentType != null ? {
192
- agentType: payload.agentType
193
- } : {}), payload.contextData ? {
194
- contextData: payload.contextData
195
- } : {}),
121
+ retryRequest: buildRetryStreamRequest(payload),
196
122
  t: t,
197
123
  activityOptions: {
198
124
  isWebSearchActive: payload.isWebSearchActive,
@@ -267,4 +193,4 @@ export var useOrchestratorStream = function useOrchestratorStream(_ref) {
267
193
  abortStreamSilently: abortStreamSilently
268
194
  };
269
195
  };
270
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZVJlZiIsInVzZVRyYW5zbGF0aW9uIiwiU0VDVElPTlMiLCJzZXNzaW9uU3RyZWFtTWFuYWdlciIsInVzZVNlc3Npb25zU3RvcmUiLCJ1c2VTZXNzaW9uU3RyZWFtU3RhdGUiLCJ1c2VPcmNoZXN0cmF0b3JTdHJlYW0iLCJfcmVmIiwiYWN0aXZlU2Vzc2lvbklkIiwib25TdHJlYW1VcGRhdGUiLCJvbkZpbmlzaFN0cmVhbSIsIm9uU3RhcnRXcml0aW5nIiwib25TdG9wIiwib25FcnJvciIsIm9uQXBwcm92YWxSZXF1aXJlZCIsImhpdGxFeGVjdXRpb25Db250ZXh0UmVmIiwiX3VzZVRyYW5zbGF0aW9uIiwiY2hhdEFJIiwidCIsIl91c2VTZXNzaW9uU3RyZWFtU3RhdCIsImlzTG9hZGluZyIsImlzV3JpdGluZyIsImxvYWRpbmdNZXNzYWdlIiwic3RyZWFtQWN0aXZpdHkiLCJvblN0cmVhbVVwZGF0ZVJlZiIsIm9uRmluaXNoU3RyZWFtUmVmIiwib25TdGFydFdyaXRpbmdSZWYiLCJvblN0b3BSZWYiLCJvbkVycm9yUmVmIiwib25BcHByb3ZhbFJlcXVpcmVkUmVmIiwiY3VycmVudCIsImFza01haWEiLCJfcmVmMiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwicGF5bG9hZCIsIl9wYXlsb2FkJGF0dGFjaG1lbnRzIiwiX3BheWxvYWQkYXR0YWNobWVudHMkIiwiX3BheWxvYWQkYXR0YWNobWVudHMyIiwiX2hpdGxFeGVjdXRpb25Db250ZXh0Iiwic2Vzc2lvbklkIiwibWVzc2FnZUlkIiwicGxhY2Vob2xkZXJJZCIsImN0eCIsInJlcXVlc3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImNoYXRJZCIsImNvbmNhdCIsIl9vYmplY3RTcHJlYWQiLCJpbnB1dCIsIm1lc3NhZ2UiLCJoaXN0b3J5IiwibGFuZyIsInVzZXJJZCIsImZpcnN0TmFtZSIsImxhc3ROYW1lIiwiY29tcGFueUlkIiwiY2xpZW50SWQiLCJmZWVJZCIsImFnZW50TmFtZSIsImFnZW50SWQiLCJpc1dlYlNlYXJjaEFjdGl2ZSIsImlzRGVlcFNlYXJjaEFjdGl2ZSIsImlzQXV0b0FwcHJvdmVBY3RpdmUiLCJwcm9qZWN0SWQiLCJhdHRhY2htZW50cyIsInByb2plY3ROYW1lIiwiY2xpZW50TmFtZSIsInRhc2tJZCIsInRhc2tOYW1lIiwiZmFxSWQiLCJhZ2VudFN1Z2dlc3Rpb25JZCIsImZ1YUlkIiwic2NJZCIsImFnZW50RW50aXR5IiwiYWdlbnRUeXBlIiwiY29udGV4dE1lc3NhZ2UiLCJjb250ZXh0RGF0YSIsImFicnVwdCIsInN0YXJ0U3RyZWFtIiwiYWN0aXZpdHlPcHRpb25zIiwiaGFzQXR0YWNobWVudHMiLCJCb29sZWFuIiwibGVuZ3RoIiwiYXR0YWNobWVudHNDb3VudCIsImhpdGxFeGVjdXRpb25Db250ZXh0IiwiY2FsbGJhY2tzIiwiY29udGVudCIsIl9vblN0cmVhbVVwZGF0ZVJlZiRjdSIsImNhbGwiLCJfb25TdGFydFdyaXRpbmdSZWYkY3UiLCJmaW5pc2hQYXlsb2FkIiwiX29uRmluaXNoU3RyZWFtUmVmJGN1Iiwic291cmNlcyIsIm1lbW9yeVNlc3Npb25JZCIsInN1Z2dlc3Rpb25zIiwiY29tcGxldGVkQWdlbnRJZCIsInJlc29sdmVkQ29udGV4dCIsInJlYXNvbmluZyIsImVycm9yVHlwZSIsImVycm9yTWVzc2FnZSIsIl9vbkVycm9yUmVmJGN1cnJlbnQiLCJhcHByb3ZhbCIsImFjY3VtdWxhdGVkQ29udGVudCIsIl9vbkFwcHJvdmFsUmVxdWlyZWRSZSIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwicmV0cnlDb21wbGV0aW9uIiwiX3JlZjMiLCJfY2FsbGVlMiIsIl9jb250ZXh0MiIsInN0YXJ0UmV0cnlTdHJlYW0iLCJyZXRyeVJlcXVlc3QiLCJfb25TdHJlYW1VcGRhdGVSZWYkY3UyIiwiX29uU3RhcnRXcml0aW5nUmVmJGN1MiIsIl9vbkZpbmlzaFN0cmVhbVJlZiRjdTIiLCJfb25FcnJvclJlZiRjdXJyZW50MiIsIl9vbkFwcHJvdmFsUmVxdWlyZWRSZTIiLCJfeDIiLCJzdG9wU3RyZWFtaW5nIiwic3RvcFN0cmVhbSIsInBhcnRpYWxUZXh0IiwiX29uU3RvcFJlZiRjdXJyZW50IiwiYWJvcnRTdHJlYW1TaWxlbnRseSIsImFib3J0U2lsZW50bHkiLCJ1cGRhdGVTdHJlYW1BY3Rpdml0eSIsImFjdGl2aXR5IiwiZ2V0U3RhdGUiLCJzZXRBY3Rpdml0eSIsInJlc2V0IiwicGF0Y2hNZXRhIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL3VzZU9yY2hlc3RyYXRvclN0cmVhbS91c2VPcmNoZXN0cmF0b3JTdHJlYW0udHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZVJlZiB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgQXR0YWNobWVudEZpbGUgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0Rm9vdGVyL0NoYXRGb290ZXInXG5pbXBvcnQgeyBDaGF0SGlzdG9yeSB9IGZyb20gJy4uLy4uL3R5cGVzL0NoYXQnXG5pbXBvcnQgeyBBZ2VudEVudGl0eSwgQWdlbnRUeXBlIH0gZnJvbSAnLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgeyBDb250ZXh0TWVzc2FnZSB9IGZyb20gJy4uLy4uL3R5cGVzL2NvbnRleHRNZW50aW9uJ1xuaW1wb3J0IHsgVXNlT3JjaGVzdHJhdG9yU3RyZWFtUHJvcHMsIFN0cmVhbUNvbnRleHQgfSBmcm9tICcuL3VzZU9yY2hlc3RyYXRvclN0cmVhbS5pbnRlcmZhY2UnXG5pbXBvcnQgeyBTRUNUSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgdHlwZSB7IFN0cmVhbUFjdGl2aXR5IH0gZnJvbSAnLi4vLi4vdHlwZXMvc3RyZWFtQWN0aXZpdHknXG5pbXBvcnQgeyBzZXNzaW9uU3RyZWFtTWFuYWdlciB9IGZyb20gJy4uLy4uL3N0b3JlL3Nlc3Npb25zL3Nlc3Npb25TdHJlYW1NYW5hZ2VyJ1xuaW1wb3J0IHsgdXNlU2Vzc2lvbnNTdG9yZSB9IGZyb20gJy4uLy4uL3N0b3JlL3Nlc3Npb25zL3VzZVNlc3Npb25zU3RvcmUnXG5pbXBvcnQgeyB1c2VTZXNzaW9uU3RyZWFtU3RhdGUgfSBmcm9tICcuLi8uLi9zdG9yZS9zZXNzaW9ucy91c2VTZXNzaW9uTWV0YSdcbmltcG9ydCB0eXBlIHsgU3RhcnRTdHJlYW1SZXN1bHQgfSBmcm9tICcuLi8uLi9zdG9yZS9zZXNzaW9ucy9zZXNzaW9ucy50eXBlcydcblxudHlwZSBSZXRyeUNvbXBsZXRpb25QYXlsb2FkID0ge1xuICBjaGF0SWQ6IHN0cmluZ1xuICBtZXNzYWdlSWQ6IHN0cmluZ1xuICBtZW1vcnlTZXNzaW9uSWQ6IHN0cmluZ1xuICBsYW5nOiBzdHJpbmdcbiAgYWdlbnRJZDogc3RyaW5nXG4gIGFnZW50TmFtZTogc3RyaW5nXG4gIGFnZW50VHlwZT86IEFnZW50VHlwZVxuICBpc1dlYlNlYXJjaEFjdGl2ZT86IGJvb2xlYW5cbiAgaXNEZWVwU2VhcmNoQWN0aXZlPzogYm9vbGVhblxuICBwcm9qZWN0SWQ/OiBudW1iZXIgfCBudWxsXG4gIGNsaWVudElkPzogbnVtYmVyXG4gIHRhc2tJZD86IG51bWJlclxuICBjb250ZXh0RGF0YT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG59XG5cbnR5cGUgQXNrTWFpYVBheWxvYWQgPSB7XG4gIG1lc3NhZ2U6IHN0cmluZ1xuICBoaXN0b3J5OiBDaGF0SGlzdG9yeVtdXG4gIHByb2plY3RJZDogbnVtYmVyIHwgbnVsbFxuICBsYW5nOiBzdHJpbmdcbiAgdXNlcklkOiBzdHJpbmdcbiAgZmlyc3ROYW1lPzogc3RyaW5nXG4gIGxhc3ROYW1lPzogc3RyaW5nXG4gIGNvbXBhbnlJZDogc3RyaW5nXG4gIGNoYXRJZDogc3RyaW5nXG4gIG1lc3NhZ2VJZDogc3RyaW5nXG4gIGNsaWVudElkPzogbnVtYmVyXG4gIGNsaWVudE5hbWU/OiBzdHJpbmdcbiAgZmVlSWQ/OiBudW1iZXJcbiAgYWdlbnROYW1lOiBzdHJpbmdcbiAgYWdlbnRJZDogc3RyaW5nXG4gIGlzV2ViU2VhcmNoQWN0aXZlPzogYm9vbGVhblxuICBpc0RlZXBTZWFyY2hBY3RpdmU/OiBib29sZWFuXG4gIGlzQXV0b0FwcHJvdmVBY3RpdmU/OiBib29sZWFuXG4gIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXVxuICBwcm9qZWN0TmFtZT86IHN0cmluZ1xuICB0YXNrSWQ/OiBudW1iZXJcbiAgdGFza05hbWU/OiBzdHJpbmdcbiAgZmFxSWQ/OiBzdHJpbmdcbiAgYWdlbnRTdWdnZXN0aW9uSWQ/OiBzdHJpbmdcbiAgZnVhSWQ/OiBzdHJpbmdcbiAgc2NJZD86IHN0cmluZ1xuICBhZ2VudEVudGl0eT86IEFnZW50RW50aXR5XG4gIGFnZW50VHlwZT86IEFnZW50VHlwZVxuICBhZ2VudEVtb2ppPzogc3RyaW5nIHwgbnVsbFxuICBjb250ZXh0TWVzc2FnZT86IENvbnRleHRNZXNzYWdlXG4gIGNvbnRleHREYXRhPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbn1cblxuLyoqXG4gKiBBZGFwdGVyIHNvYnJlIGBzZXNzaW9uU3RyZWFtTWFuYWdlcmAuIE1hbnRpZW5lIGxhIEFQSSBww7pibGljYSBoaXN0w7NyaWNhXG4gKiAoYGFza01haWFgLCBgaXNMb2FkaW5nYCwgYGlzV3JpdGluZ2AsIGBzdG9wU3RyZWFtaW5nYCwgZXRjLikgcGVybyBhaG9yYSBlbFxuICogbW90b3IgZGUgc3RyZWFtaW5nIHZpdmUgZW4gZWwgbWFuYWdlciAobW9kdWxlLWxldmVsKSwgbG8gcXVlIHBlcm1pdGUgdGVuZXJcbiAqIHZhcmlhcyBzZXNpb25lcyBnZW5lcmFuZG8gYSBsYSB2ZXogeSBxdWUgc29icmV2aXZhbiBhIGNhbWJpb3MgZGUgdmlzdGEuXG4gKlxuICogTG9zIGZsYWdzIHJlYWN0aXZvcyAoYGlzTG9hZGluZ2AvYGlzV3JpdGluZ2AvYHN0cmVhbUFjdGl2aXR5YCkgc2UgbGVlbiBkZWxcbiAqIHN0b3JlIHBhcmEgbGEgc2VzacOzbiBhY3R1YWxtZW50ZSBhY3RpdmEgKGBhY3RpdmVTZXNzaW9uSWRgKS5cbiAqL1xuZXhwb3J0IGNvbnN0IHVzZU9yY2hlc3RyYXRvclN0cmVhbSA9ICh7XG4gIGFjdGl2ZVNlc3Npb25JZCxcbiAgb25TdHJlYW1VcGRhdGUsXG4gIG9uRmluaXNoU3RyZWFtLFxuICBvblN0YXJ0V3JpdGluZyxcbiAgb25TdG9wLFxuICBvbkVycm9yLFxuICBvbkFwcHJvdmFsUmVxdWlyZWQsXG4gIGhpdGxFeGVjdXRpb25Db250ZXh0UmVmLFxufTogVXNlT3JjaGVzdHJhdG9yU3RyZWFtUHJvcHMpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbU0VDVElPTlMuY2hhdEFJXSlcblxuICBjb25zdCB7IGlzTG9hZGluZywgaXNXcml0aW5nLCBsb2FkaW5nTWVzc2FnZSwgc3RyZWFtQWN0aXZpdHkgfSA9IHVzZVNlc3Npb25TdHJlYW1TdGF0ZShhY3RpdmVTZXNzaW9uSWQpXG5cbiAgY29uc3Qgb25TdHJlYW1VcGRhdGVSZWYgPSB1c2VSZWYob25TdHJlYW1VcGRhdGUpXG4gIGNvbnN0IG9uRmluaXNoU3RyZWFtUmVmID0gdXNlUmVmKG9uRmluaXNoU3RyZWFtKVxuICBjb25zdCBvblN0YXJ0V3JpdGluZ1JlZiA9IHVzZVJlZihvblN0YXJ0V3JpdGluZylcbiAgY29uc3Qgb25TdG9wUmVmID0gdXNlUmVmKG9uU3RvcClcbiAgY29uc3Qgb25FcnJvclJlZiA9IHVzZVJlZihvbkVycm9yKVxuICBjb25zdCBvbkFwcHJvdmFsUmVxdWlyZWRSZWYgPSB1c2VSZWYob25BcHByb3ZhbFJlcXVpcmVkKVxuXG4gIG9uU3RyZWFtVXBkYXRlUmVmLmN1cnJlbnQgPSBvblN0cmVhbVVwZGF0ZVxuICBvbkZpbmlzaFN0cmVhbVJlZi5jdXJyZW50ID0gb25GaW5pc2hTdHJlYW1cbiAgb25TdGFydFdyaXRpbmdSZWYuY3VycmVudCA9IG9uU3RhcnRXcml0aW5nXG4gIG9uU3RvcFJlZi5jdXJyZW50ID0gb25TdG9wXG4gIG9uRXJyb3JSZWYuY3VycmVudCA9IG9uRXJyb3JcbiAgb25BcHByb3ZhbFJlcXVpcmVkUmVmLmN1cnJlbnQgPSBvbkFwcHJvdmFsUmVxdWlyZWRcblxuICBjb25zdCBhc2tNYWlhID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHBheWxvYWQ6IEFza01haWFQYXlsb2FkKTogUHJvbWlzZTxTdGFydFN0cmVhbVJlc3VsdD4gPT4ge1xuICAgICAgY29uc3QgeyBjaGF0SWQ6IHNlc3Npb25JZCwgbWVzc2FnZUlkIH0gPSBwYXlsb2FkXG4gICAgICBjb25zdCBwbGFjZWhvbGRlcklkID0gYGFuc3dlci0ke21lc3NhZ2VJZH0tc3RyZWFtaW5nYFxuICAgICAgY29uc3QgY3R4OiBTdHJlYW1Db250ZXh0ID0geyBzZXNzaW9uSWQsIG1lc3NhZ2VJZCwgcGxhY2Vob2xkZXJJZCB9XG5cbiAgICAgIGNvbnN0IHJlcXVlc3QgPSB7XG4gICAgICAgIGlucHV0OiBwYXlsb2FkLm1lc3NhZ2UsXG4gICAgICAgIGhpc3Rvcnk6IHBheWxvYWQuaGlzdG9yeSxcbiAgICAgICAgbGFuZzogcGF5bG9hZC5sYW5nLFxuICAgICAgICB1c2VySWQ6IHBheWxvYWQudXNlcklkLFxuICAgICAgICAuLi4ocGF5bG9hZC5maXJzdE5hbWUgPyB7IGZpcnN0TmFtZTogcGF5bG9hZC5maXJzdE5hbWUgfSA6IHt9KSxcbiAgICAgICAgLi4uKHBheWxvYWQubGFzdE5hbWUgPyB7IGxhc3ROYW1lOiBwYXlsb2FkLmxhc3ROYW1lIH0gOiB7fSksXG4gICAgICAgIGNvbXBhbnlJZDogcGF5bG9hZC5jb21wYW55SWQsXG4gICAgICAgIGNoYXRJZDogcGF5bG9hZC5jaGF0SWQsXG4gICAgICAgIG1lc3NhZ2VJZDogcGF5bG9hZC5tZXNzYWdlSWQsXG4gICAgICAgIGNsaWVudElkOiBwYXlsb2FkLmNsaWVudElkLFxuICAgICAgICAuLi4ocGF5bG9hZC5mZWVJZCAhPSBudWxsID8geyBmZWVJZDogcGF5bG9hZC5mZWVJZCB9IDoge30pLFxuICAgICAgICBhZ2VudE5hbWU6IHBheWxvYWQuYWdlbnROYW1lLFxuICAgICAgICBhZ2VudElkOiBwYXlsb2FkLmFnZW50SWQsXG4gICAgICAgIGlzV2ViU2VhcmNoQWN0aXZlOiBwYXlsb2FkLmlzV2ViU2VhcmNoQWN0aXZlLFxuICAgICAgICBpc0RlZXBTZWFyY2hBY3RpdmU6IHBheWxvYWQuaXNEZWVwU2VhcmNoQWN0aXZlLFxuICAgICAgICBpc0F1dG9BcHByb3ZlQWN0aXZlOiBwYXlsb2FkLmlzQXV0b0FwcHJvdmVBY3RpdmUsXG4gICAgICAgIC4uLihwYXlsb2FkLnByb2plY3RJZCA/IHsgcHJvamVjdElkOiBwYXlsb2FkLnByb2plY3RJZCB9IDoge30pLFxuICAgICAgICAuLi4ocGF5bG9hZC5hdHRhY2htZW50cyA/IHsgYXR0YWNobWVudHM6IHBheWxvYWQuYXR0YWNobWVudHMgfSA6IHt9KSxcbiAgICAgICAgLi4uKHBheWxvYWQucHJvamVjdE5hbWUgPyB7IHByb2plY3ROYW1lOiBwYXlsb2FkLnByb2plY3ROYW1lIH0gOiB7fSksXG4gICAgICAgIC4uLihwYXlsb2FkLmNsaWVudE5hbWUgPyB7IGNsaWVudE5hbWU6IHBheWxvYWQuY2xpZW50TmFtZSB9IDoge30pLFxuICAgICAgICAuLi4ocGF5bG9hZC50YXNrSWQgIT0gbnVsbCA/IHsgdGFza0lkOiBwYXlsb2FkLnRhc2tJZCB9IDoge30pLFxuICAgICAgICAuLi4ocGF5bG9hZC50YXNrTmFtZSA/IHsgdGFza05hbWU6IHBheWxvYWQudGFza05hbWUgfSA6IHt9KSxcbiAgICAgICAgLi4uKHBheWxvYWQuZmFxSWQgPyB7IGZhcUlkOiBwYXlsb2FkLmZhcUlkIH0gOiB7fSksXG4gICAgICAgIC4uLihwYXlsb2FkLmFnZW50U3VnZ2VzdGlvbklkID8geyBhZ2VudFN1Z2dlc3Rpb25JZDogcGF5bG9hZC5hZ2VudFN1Z2dlc3Rpb25JZCB9IDoge30pLFxuICAgICAgICAuLi4ocGF5bG9hZC5mdWFJZCA/IHsgZnVhSWQ6IHBheWxvYWQuZnVhSWQgfSA6IHt9KSxcbiAgICAgICAgLi4uKHBheWxvYWQuc2NJZCA/IHsgc2NJZDogcGF5bG9hZC5zY0lkIH0gOiB7fSksXG4gICAgICAgIC4uLihwYXlsb2FkLmFnZW50RW50aXR5ICE9IG51bGwgPyB7IGFnZW50RW50aXR5OiBwYXlsb2FkLmFnZW50RW50aXR5IH0gOiB7fSksXG4gICAgICAgIC4uLihwYXlsb2FkLmFnZW50VHlwZSAhPSBudWxsID8geyBhZ2VudFR5cGU6IHBheWxvYWQuYWdlbnRUeXBlIH0gOiB7fSksXG4gICAgICAgIC4uLihwYXlsb2FkLmNvbnRleHRNZXNzYWdlID8geyBjb250ZXh0TWVzc2FnZTogcGF5bG9hZC5jb250ZXh0TWVzc2FnZSB9IDoge30pLFxuICAgICAgICAuLi4ocGF5bG9hZC5jb250ZXh0RGF0YSA/IHsgY29udGV4dERhdGE6IHBheWxvYWQuY29udGV4dERhdGEgfSA6IHt9KSxcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHNlc3Npb25TdHJlYW1NYW5hZ2VyLnN0YXJ0U3RyZWFtKHtcbiAgICAgICAgc2Vzc2lvbklkLFxuICAgICAgICBwbGFjZWhvbGRlcklkLFxuICAgICAgICByZXF1ZXN0LFxuICAgICAgICB0LFxuICAgICAgICBhY3Rpdml0eU9wdGlvbnM6IHtcbiAgICAgICAgICBpc1dlYlNlYXJjaEFjdGl2ZTogcGF5bG9hZC5pc1dlYlNlYXJjaEFjdGl2ZSxcbiAgICAgICAgICBpc0RlZXBTZWFyY2hBY3RpdmU6IHBheWxvYWQuaXNEZWVwU2VhcmNoQWN0aXZlLFxuICAgICAgICAgIGhhc0F0dGFjaG1lbnRzOiBCb29sZWFuKHBheWxvYWQuYXR0YWNobWVudHM/Lmxlbmd0aCksXG4gICAgICAgICAgYXR0YWNobWVudHNDb3VudDogcGF5bG9hZC5hdHRhY2htZW50cz8ubGVuZ3RoID8/IDAsXG4gICAgICAgIH0sXG4gICAgICAgIGhpdGxFeGVjdXRpb25Db250ZXh0OiBoaXRsRXhlY3V0aW9uQ29udGV4dFJlZj8uY3VycmVudCA/PyBudWxsLFxuICAgICAgICBhZ2VudElkOiBwYXlsb2FkLmFnZW50SWQsXG4gICAgICAgIGFnZW50TmFtZTogcGF5bG9hZC5hZ2VudE5hbWUsXG4gICAgICAgIGNhbGxiYWNrczoge1xuICAgICAgICAgIG9uU3RyZWFtVXBkYXRlOiBjb250ZW50ID0+IG9uU3RyZWFtVXBkYXRlUmVmLmN1cnJlbnQ/LihjdHgsIGNvbnRlbnQpLFxuICAgICAgICAgIG9uU3RhcnRXcml0aW5nOiAoKSA9PiBvblN0YXJ0V3JpdGluZ1JlZi5jdXJyZW50Py4oKSxcbiAgICAgICAgICBvbkZpbmlzaFN0cmVhbTogZmluaXNoUGF5bG9hZCA9PlxuICAgICAgICAgICAgb25GaW5pc2hTdHJlYW1SZWYuY3VycmVudD8uKFxuICAgICAgICAgICAgICBjdHgsXG4gICAgICAgICAgICAgIGZpbmlzaFBheWxvYWQuY29udGVudCxcbiAgICAgICAgICAgICAgZmluaXNoUGF5bG9hZC5zb3VyY2VzLFxuICAgICAgICAgICAgICBmaW5pc2hQYXlsb2FkLm1lbW9yeVNlc3Npb25JZCxcbiAgICAgICAgICAgICAgZmluaXNoUGF5bG9hZC5hdHRhY2htZW50cyxcbiAgICAgICAgICAgICAgZmluaXNoUGF5bG9hZC5zdWdnZXN0aW9ucyxcbiAgICAgICAgICAgICAgZmluaXNoUGF5bG9hZC5jb21wbGV0ZWRBZ2VudElkLFxuICAgICAgICAgICAgICBmaW5pc2hQYXlsb2FkLnJlc29sdmVkQ29udGV4dCBhcyBhbnksXG4gICAgICAgICAgICAgIGZpbmlzaFBheWxvYWQucmVhc29uaW5nXG4gICAgICAgICAgICApLFxuICAgICAgICAgIG9uRXJyb3I6IChlcnJvclR5cGUsIGVycm9yTWVzc2FnZSkgPT4gb25FcnJvclJlZi5jdXJyZW50Py4oY3R4LCBlcnJvclR5cGUsIGVycm9yTWVzc2FnZSksXG4gICAgICAgICAgb25BcHByb3ZhbFJlcXVpcmVkOiAoYXBwcm92YWwsIGFjY3VtdWxhdGVkQ29udGVudCkgPT5cbiAgICAgICAgICAgIG9uQXBwcm92YWxSZXF1aXJlZFJlZi5jdXJyZW50Py4oY3R4LCBhcHByb3ZhbCwgYWNjdW11bGF0ZWRDb250ZW50KSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgfSxcbiAgICBbdCwgaGl0bEV4ZWN1dGlvbkNvbnRleHRSZWZdXG4gIClcblxuICBjb25zdCByZXRyeUNvbXBsZXRpb24gPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAocGF5bG9hZDogUmV0cnlDb21wbGV0aW9uUGF5bG9hZCk6IFByb21pc2U8U3RhcnRTdHJlYW1SZXN1bHQ+ID0+IHtcbiAgICAgIGNvbnN0IHsgY2hhdElkOiBzZXNzaW9uSWQsIG1lc3NhZ2VJZCB9ID0gcGF5bG9hZFxuICAgICAgY29uc3QgcGxhY2Vob2xkZXJJZCA9IGBhbnN3ZXItJHttZXNzYWdlSWR9LXN0cmVhbWluZ2BcbiAgICAgIGNvbnN0IGN0eDogU3RyZWFtQ29udGV4dCA9IHsgc2Vzc2lvbklkLCBtZXNzYWdlSWQsIHBsYWNlaG9sZGVySWQgfVxuXG4gICAgICByZXR1cm4gc2Vzc2lvblN0cmVhbU1hbmFnZXIuc3RhcnRSZXRyeVN0cmVhbSh7XG4gICAgICAgIHNlc3Npb25JZCxcbiAgICAgICAgcGxhY2Vob2xkZXJJZCxcbiAgICAgICAgcmV0cnlSZXF1ZXN0OiB7XG4gICAgICAgICAgc2Vzc2lvbklkLFxuICAgICAgICAgIG1lbW9yeVNlc3Npb25JZDogcGF5bG9hZC5tZW1vcnlTZXNzaW9uSWQsXG4gICAgICAgICAgYWdlbnRJZDogcGF5bG9hZC5hZ2VudElkLFxuICAgICAgICAgIGxhbmc6IHBheWxvYWQubGFuZyxcbiAgICAgICAgICBpc1dlYlNlYXJjaEFjdGl2ZTogcGF5bG9hZC5pc1dlYlNlYXJjaEFjdGl2ZSxcbiAgICAgICAgICBpc0RlZXBTZWFyY2hBY3RpdmU6IHBheWxvYWQuaXNEZWVwU2VhcmNoQWN0aXZlLFxuICAgICAgICAgIC4uLihwYXlsb2FkLnByb2plY3RJZCA/IHsgcHJvamVjdElkOiBwYXlsb2FkLnByb2plY3RJZCB9IDoge30pLFxuICAgICAgICAgIC4uLihwYXlsb2FkLmNsaWVudElkICE9IG51bGwgPyB7IGNsaWVudElkOiBwYXlsb2FkLmNsaWVudElkIH0gOiB7fSksXG4gICAgICAgICAgLi4uKHBheWxvYWQudGFza0lkICE9IG51bGwgPyB7IHRhc2tJZDogcGF5bG9hZC50YXNrSWQgfSA6IHt9KSxcbiAgICAgICAgICAuLi4ocGF5bG9hZC5hZ2VudFR5cGUgIT0gbnVsbCA/IHsgYWdlbnRUeXBlOiBwYXlsb2FkLmFnZW50VHlwZSB9IDoge30pLFxuICAgICAgICAgIC4uLihwYXlsb2FkLmNvbnRleHREYXRhID8geyBjb250ZXh0RGF0YTogcGF5bG9hZC5jb250ZXh0RGF0YSB9IDoge30pLFxuICAgICAgICB9LFxuICAgICAgICB0LFxuICAgICAgICBhY3Rpdml0eU9wdGlvbnM6IHtcbiAgICAgICAgICBpc1dlYlNlYXJjaEFjdGl2ZTogcGF5bG9hZC5pc1dlYlNlYXJjaEFjdGl2ZSxcbiAgICAgICAgICBpc0RlZXBTZWFyY2hBY3RpdmU6IHBheWxvYWQuaXNEZWVwU2VhcmNoQWN0aXZlLFxuICAgICAgICB9LFxuICAgICAgICBhZ2VudElkOiBwYXlsb2FkLmFnZW50SWQsXG4gICAgICAgIGFnZW50TmFtZTogcGF5bG9hZC5hZ2VudE5hbWUsXG4gICAgICAgIGNhbGxiYWNrczoge1xuICAgICAgICAgIG9uU3RyZWFtVXBkYXRlOiBjb250ZW50ID0+IG9uU3RyZWFtVXBkYXRlUmVmLmN1cnJlbnQ/LihjdHgsIGNvbnRlbnQpLFxuICAgICAgICAgIG9uU3RhcnRXcml0aW5nOiAoKSA9PiBvblN0YXJ0V3JpdGluZ1JlZi5jdXJyZW50Py4oKSxcbiAgICAgICAgICBvbkZpbmlzaFN0cmVhbTogZmluaXNoUGF5bG9hZCA9PlxuICAgICAgICAgICAgb25GaW5pc2hTdHJlYW1SZWYuY3VycmVudD8uKFxuICAgICAgICAgICAgICBjdHgsXG4gICAgICAgICAgICAgIGZpbmlzaFBheWxvYWQuY29udGVudCxcbiAgICAgICAgICAgICAgZmluaXNoUGF5bG9hZC5zb3VyY2VzLFxuICAgICAgICAgICAgICBmaW5pc2hQYXlsb2FkLm1lbW9yeVNlc3Npb25JZCxcbiAgICAgICAgICAgICAgZmluaXNoUGF5bG9hZC5hdHRhY2htZW50cyxcbiAgICAgICAgICAgICAgZmluaXNoUGF5bG9hZC5zdWdnZXN0aW9ucyxcbiAgICAgICAgICAgICAgZmluaXNoUGF5bG9hZC5jb21wbGV0ZWRBZ2VudElkLFxuICAgICAgICAgICAgICBmaW5pc2hQYXlsb2FkLnJlc29sdmVkQ29udGV4dCBhcyBhbnlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgb25FcnJvcjogKGVycm9yVHlwZSwgZXJyb3JNZXNzYWdlKSA9PiBvbkVycm9yUmVmLmN1cnJlbnQ/LihjdHgsIGVycm9yVHlwZSwgZXJyb3JNZXNzYWdlKSxcbiAgICAgICAgICBvbkFwcHJvdmFsUmVxdWlyZWQ6IChhcHByb3ZhbCwgYWNjdW11bGF0ZWRDb250ZW50KSA9PlxuICAgICAgICAgICAgb25BcHByb3ZhbFJlcXVpcmVkUmVmLmN1cnJlbnQ/LihjdHgsIGFwcHJvdmFsLCBhY2N1bXVsYXRlZENvbnRlbnQpLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICB9LFxuICAgIFt0XVxuICApXG5cbiAgY29uc3Qgc3RvcFN0cmVhbWluZyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXNzaW9uU3RyZWFtTWFuYWdlci5zdG9wU3RyZWFtKGFjdGl2ZVNlc3Npb25JZCwge1xuICAgICAgb25TdG9wOiBwYXJ0aWFsVGV4dCA9PiBvblN0b3BSZWYuY3VycmVudD8uKHBhcnRpYWxUZXh0KSxcbiAgICB9KVxuICB9LCBbYWN0aXZlU2Vzc2lvbklkXSlcblxuICBjb25zdCBhYm9ydFN0cmVhbVNpbGVudGx5ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNlc3Npb25TdHJlYW1NYW5hZ2VyLmFib3J0U2lsZW50bHkoYWN0aXZlU2Vzc2lvbklkKVxuICB9LCBbYWN0aXZlU2Vzc2lvbklkXSlcblxuICBjb25zdCB1cGRhdGVTdHJlYW1BY3Rpdml0eSA9IHVzZUNhbGxiYWNrKFxuICAgIChhY3Rpdml0eTogU3RyZWFtQWN0aXZpdHkgfCBudWxsKSA9PiB7XG4gICAgICB1c2VTZXNzaW9uc1N0b3JlLmdldFN0YXRlKCkuc2V0QWN0aXZpdHkoYWN0aXZlU2Vzc2lvbklkLCBhY3Rpdml0eSlcbiAgICB9LFxuICAgIFthY3RpdmVTZXNzaW9uSWRdXG4gIClcblxuICBjb25zdCByZXNldCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICB1c2VTZXNzaW9uc1N0b3JlLmdldFN0YXRlKCkucGF0Y2hNZXRhKGFjdGl2ZVNlc3Npb25JZCwgeyBpc0xvYWRpbmc6IGZhbHNlLCBpc1dyaXRpbmc6IGZhbHNlIH0pXG4gICAgdXNlU2Vzc2lvbnNTdG9yZS5nZXRTdGF0ZSgpLnNldEFjdGl2aXR5KGFjdGl2ZVNlc3Npb25JZCwgbnVsbClcbiAgfSwgW2FjdGl2ZVNlc3Npb25JZF0pXG5cbiAgcmV0dXJuIHtcbiAgICBhc2tNYWlhLFxuICAgIHJldHJ5Q29tcGxldGlvbixcbiAgICBpc0xvYWRpbmcsXG4gICAgaXNXcml0aW5nLFxuICAgIGxvYWRpbmdNZXNzYWdlLFxuICAgIHN0cmVhbUFjdGl2aXR5LFxuICAgIHVwZGF0ZVN0cmVhbUFjdGl2aXR5LFxuICAgIHJlc2V0LFxuICAgIHN0b3BTdHJlYW1pbmcsXG4gICAgYWJvcnRTdHJlYW1TaWxlbnRseSxcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ0EsU0FBU0EsV0FBVyxFQUFFQyxNQUFNLFFBQVEsT0FBTztBQUMzQyxTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQU05QyxTQUFTQyxRQUFRLFFBQVEsd0JBQXdCO0FBRWpELFNBQVND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
196
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZVJlZiIsInVzZVRyYW5zbGF0aW9uIiwiU0VDVElPTlMiLCJzZXNzaW9uU3RyZWFtTWFuYWdlciIsInVzZVNlc3Npb25zU3RvcmUiLCJ1c2VTZXNzaW9uU3RyZWFtU3RhdGUiLCJidWlsZEFza01haWFBY3Rpdml0eU9wdGlvbnMiLCJidWlsZEFza01haWFTdHJlYW1SZXF1ZXN0IiwiYnVpbGRSZXRyeVN0cmVhbVJlcXVlc3QiLCJ1c2VPcmNoZXN0cmF0b3JTdHJlYW0iLCJfcmVmIiwiYWN0aXZlU2Vzc2lvbklkIiwib25TdHJlYW1VcGRhdGUiLCJvbkZpbmlzaFN0cmVhbSIsIm9uU3RhcnRXcml0aW5nIiwib25TdG9wIiwib25FcnJvciIsIm9uQXBwcm92YWxSZXF1aXJlZCIsImhpdGxFeGVjdXRpb25Db250ZXh0UmVmIiwiX3VzZVRyYW5zbGF0aW9uIiwiY2hhdEFJIiwidCIsIl91c2VTZXNzaW9uU3RyZWFtU3RhdCIsImlzTG9hZGluZyIsImlzV3JpdGluZyIsImxvYWRpbmdNZXNzYWdlIiwic3RyZWFtQWN0aXZpdHkiLCJvblN0cmVhbVVwZGF0ZVJlZiIsIm9uRmluaXNoU3RyZWFtUmVmIiwib25TdGFydFdyaXRpbmdSZWYiLCJvblN0b3BSZWYiLCJvbkVycm9yUmVmIiwib25BcHByb3ZhbFJlcXVpcmVkUmVmIiwiY3VycmVudCIsImFza01haWEiLCJfcmVmMiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwicGF5bG9hZCIsIl9oaXRsRXhlY3V0aW9uQ29udGV4dCIsInNlc3Npb25JZCIsIm1lc3NhZ2VJZCIsInBsYWNlaG9sZGVySWQiLCJjdHgiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImNoYXRJZCIsImNvbmNhdCIsImFicnVwdCIsInN0YXJ0U3RyZWFtIiwicmVxdWVzdCIsImFjdGl2aXR5T3B0aW9ucyIsImhpdGxFeGVjdXRpb25Db250ZXh0IiwiYWdlbnRJZCIsImFnZW50TmFtZSIsImNhbGxiYWNrcyIsImNvbnRlbnQiLCJfb25TdHJlYW1VcGRhdGVSZWYkY3UiLCJjYWxsIiwiX29uU3RhcnRXcml0aW5nUmVmJGN1IiwiZmluaXNoUGF5bG9hZCIsIl9vbkZpbmlzaFN0cmVhbVJlZiRjdSIsInNvdXJjZXMiLCJtZW1vcnlTZXNzaW9uSWQiLCJhdHRhY2htZW50cyIsInN1Z2dlc3Rpb25zIiwiY29tcGxldGVkQWdlbnRJZCIsInJlc29sdmVkQ29udGV4dCIsInJlYXNvbmluZyIsImVycm9yVHlwZSIsImVycm9yTWVzc2FnZSIsIl9vbkVycm9yUmVmJGN1cnJlbnQiLCJhcHByb3ZhbCIsImFjY3VtdWxhdGVkQ29udGVudCIsIl9vbkFwcHJvdmFsUmVxdWlyZWRSZSIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwicmV0cnlDb21wbGV0aW9uIiwiX3JlZjMiLCJfY2FsbGVlMiIsIl9jb250ZXh0MiIsInN0YXJ0UmV0cnlTdHJlYW0iLCJyZXRyeVJlcXVlc3QiLCJpc1dlYlNlYXJjaEFjdGl2ZSIsImlzRGVlcFNlYXJjaEFjdGl2ZSIsIl9vblN0cmVhbVVwZGF0ZVJlZiRjdTIiLCJfb25TdGFydFdyaXRpbmdSZWYkY3UyIiwiX29uRmluaXNoU3RyZWFtUmVmJGN1MiIsIl9vbkVycm9yUmVmJGN1cnJlbnQyIiwiX29uQXBwcm92YWxSZXF1aXJlZFJlMiIsIl94MiIsInN0b3BTdHJlYW1pbmciLCJzdG9wU3RyZWFtIiwicGFydGlhbFRleHQiLCJfb25TdG9wUmVmJGN1cnJlbnQiLCJhYm9ydFN0cmVhbVNpbGVudGx5IiwiYWJvcnRTaWxlbnRseSIsInVwZGF0ZVN0cmVhbUFjdGl2aXR5IiwiYWN0aXZpdHkiLCJnZXRTdGF0ZSIsInNldEFjdGl2aXR5IiwicmVzZXQiLCJwYXRjaE1ldGEiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvdXNlT3JjaGVzdHJhdG9yU3RyZWFtL3VzZU9yY2hlc3RyYXRvclN0cmVhbS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlUmVmIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBVc2VPcmNoZXN0cmF0b3JTdHJlYW1Qcm9wcywgU3RyZWFtQ29udGV4dCB9IGZyb20gJy4vdXNlT3JjaGVzdHJhdG9yU3RyZWFtLmludGVyZmFjZSdcbmltcG9ydCB7IFNFQ1RJT05TIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2NvbmZpZydcbmltcG9ydCB0eXBlIHsgU3RyZWFtQWN0aXZpdHkgfSBmcm9tICcuLi8uLi90eXBlcy9zdHJlYW1BY3Rpdml0eSdcbmltcG9ydCB7IHNlc3Npb25TdHJlYW1NYW5hZ2VyIH0gZnJvbSAnLi4vLi4vc3RvcmUvc2Vzc2lvbnMvc2Vzc2lvblN0cmVhbU1hbmFnZXInXG5pbXBvcnQgeyB1c2VTZXNzaW9uc1N0b3JlIH0gZnJvbSAnLi4vLi4vc3RvcmUvc2Vzc2lvbnMvdXNlU2Vzc2lvbnNTdG9yZSdcbmltcG9ydCB7IHVzZVNlc3Npb25TdHJlYW1TdGF0ZSB9IGZyb20gJy4uLy4uL3N0b3JlL3Nlc3Npb25zL3VzZVNlc3Npb25NZXRhJ1xuaW1wb3J0IHR5cGUgeyBTdGFydFN0cmVhbVJlc3VsdCB9IGZyb20gJy4uLy4uL3N0b3JlL3Nlc3Npb25zL3Nlc3Npb25zLnR5cGVzJ1xuaW1wb3J0IHtcbiAgYnVpbGRBc2tNYWlhQWN0aXZpdHlPcHRpb25zLFxuICBidWlsZEFza01haWFTdHJlYW1SZXF1ZXN0LFxuICBidWlsZFJldHJ5U3RyZWFtUmVxdWVzdCxcbiAgdHlwZSBBc2tNYWlhU3RyZWFtUGF5bG9hZCxcbiAgdHlwZSBSZXRyeUNvbXBsZXRpb25TdHJlYW1QYXlsb2FkLFxufSBmcm9tICcuL3VzZU9yY2hlc3RyYXRvclN0cmVhbS5oZWxwZXJzJ1xuXG4vKipcbiAqIEFkYXB0ZXIgc29icmUgYHNlc3Npb25TdHJlYW1NYW5hZ2VyYC4gTWFudGllbmUgbGEgQVBJIHDDumJsaWNhIGhpc3TDs3JpY2FcbiAqIChgYXNrTWFpYWAsIGBpc0xvYWRpbmdgLCBgaXNXcml0aW5nYCwgYHN0b3BTdHJlYW1pbmdgLCBldGMuKSBwZXJvIGFob3JhIGVsXG4gKiBtb3RvciBkZSBzdHJlYW1pbmcgdml2ZSBlbiBlbCBtYW5hZ2VyIChtb2R1bGUtbGV2ZWwpLCBsbyBxdWUgcGVybWl0ZSB0ZW5lclxuICogdmFyaWFzIHNlc2lvbmVzIGdlbmVyYW5kbyBhIGxhIHZleiB5IHF1ZSBzb2JyZXZpdmFuIGEgY2FtYmlvcyBkZSB2aXN0YS5cbiAqXG4gKiBMb3MgZmxhZ3MgcmVhY3Rpdm9zIChgaXNMb2FkaW5nYC9gaXNXcml0aW5nYC9gc3RyZWFtQWN0aXZpdHlgKSBzZSBsZWVuIGRlbFxuICogc3RvcmUgcGFyYSBsYSBzZXNpw7NuIGFjdHVhbG1lbnRlIGFjdGl2YSAoYGFjdGl2ZVNlc3Npb25JZGApLlxuICovXG5leHBvcnQgY29uc3QgdXNlT3JjaGVzdHJhdG9yU3RyZWFtID0gKHtcbiAgYWN0aXZlU2Vzc2lvbklkLFxuICBvblN0cmVhbVVwZGF0ZSxcbiAgb25GaW5pc2hTdHJlYW0sXG4gIG9uU3RhcnRXcml0aW5nLFxuICBvblN0b3AsXG4gIG9uRXJyb3IsXG4gIG9uQXBwcm92YWxSZXF1aXJlZCxcbiAgaGl0bEV4ZWN1dGlvbkNvbnRleHRSZWYsXG59OiBVc2VPcmNoZXN0cmF0b3JTdHJlYW1Qcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKFtTRUNUSU9OUy5jaGF0QUldKVxuXG4gIGNvbnN0IHsgaXNMb2FkaW5nLCBpc1dyaXRpbmcsIGxvYWRpbmdNZXNzYWdlLCBzdHJlYW1BY3Rpdml0eSB9ID0gdXNlU2Vzc2lvblN0cmVhbVN0YXRlKGFjdGl2ZVNlc3Npb25JZClcblxuICBjb25zdCBvblN0cmVhbVVwZGF0ZVJlZiA9IHVzZVJlZihvblN0cmVhbVVwZGF0ZSlcbiAgY29uc3Qgb25GaW5pc2hTdHJlYW1SZWYgPSB1c2VSZWYob25GaW5pc2hTdHJlYW0pXG4gIGNvbnN0IG9uU3RhcnRXcml0aW5nUmVmID0gdXNlUmVmKG9uU3RhcnRXcml0aW5nKVxuICBjb25zdCBvblN0b3BSZWYgPSB1c2VSZWYob25TdG9wKVxuICBjb25zdCBvbkVycm9yUmVmID0gdXNlUmVmKG9uRXJyb3IpXG4gIGNvbnN0IG9uQXBwcm92YWxSZXF1aXJlZFJlZiA9IHVzZVJlZihvbkFwcHJvdmFsUmVxdWlyZWQpXG5cbiAgb25TdHJlYW1VcGRhdGVSZWYuY3VycmVudCA9IG9uU3RyZWFtVXBkYXRlXG4gIG9uRmluaXNoU3RyZWFtUmVmLmN1cnJlbnQgPSBvbkZpbmlzaFN0cmVhbVxuICBvblN0YXJ0V3JpdGluZ1JlZi5jdXJyZW50ID0gb25TdGFydFdyaXRpbmdcbiAgb25TdG9wUmVmLmN1cnJlbnQgPSBvblN0b3BcbiAgb25FcnJvclJlZi5jdXJyZW50ID0gb25FcnJvclxuICBvbkFwcHJvdmFsUmVxdWlyZWRSZWYuY3VycmVudCA9IG9uQXBwcm92YWxSZXF1aXJlZFxuXG4gIGNvbnN0IGFza01haWEgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAocGF5bG9hZDogQXNrTWFpYVN0cmVhbVBheWxvYWQpOiBQcm9taXNlPFN0YXJ0U3RyZWFtUmVzdWx0PiA9PiB7XG4gICAgICBjb25zdCB7IGNoYXRJZDogc2Vzc2lvbklkLCBtZXNzYWdlSWQgfSA9IHBheWxvYWRcbiAgICAgIGNvbnN0IHBsYWNlaG9sZGVySWQgPSBgYW5zd2VyLSR7bWVzc2FnZUlkfS1zdHJlYW1pbmdgXG4gICAgICBjb25zdCBjdHg6IFN0cmVhbUNvbnRleHQgPSB7IHNlc3Npb25JZCwgbWVzc2FnZUlkLCBwbGFjZWhvbGRlcklkIH1cblxuICAgICAgcmV0dXJuIHNlc3Npb25TdHJlYW1NYW5hZ2VyLnN0YXJ0U3RyZWFtKHtcbiAgICAgICAgc2Vzc2lvbklkLFxuICAgICAgICBwbGFjZWhvbGRlcklkLFxuICAgICAgICByZXF1ZXN0OiBidWlsZEFza01haWFTdHJlYW1SZXF1ZXN0KHBheWxvYWQpLFxuICAgICAgICB0LFxuICAgICAgICBhY3Rpdml0eU9wdGlvbnM6IGJ1aWxkQXNrTWFpYUFjdGl2aXR5T3B0aW9ucyhwYXlsb2FkKSxcbiAgICAgICAgaGl0bEV4ZWN1dGlvbkNvbnRleHQ6IGhpdGxFeGVjdXRpb25Db250ZXh0UmVmPy5jdXJyZW50ID8/IG51bGwsXG4gICAgICAgIGFnZW50SWQ6IHBheWxvYWQuYWdlbnRJZCxcbiAgICAgICAgYWdlbnROYW1lOiBwYXlsb2FkLmFnZW50TmFtZSxcbiAgICAgICAgY2FsbGJhY2tzOiB7XG4gICAgICAgICAgb25TdHJlYW1VcGRhdGU6IGNvbnRlbnQgPT4gb25TdHJlYW1VcGRhdGVSZWYuY3VycmVudD8uKGN0eCwgY29udGVudCksXG4gICAgICAgICAgb25TdGFydFdyaXRpbmc6ICgpID0+IG9uU3RhcnRXcml0aW5nUmVmLmN1cnJlbnQ/LigpLFxuICAgICAgICAgIG9uRmluaXNoU3RyZWFtOiBmaW5pc2hQYXlsb2FkID0+XG4gICAgICAgICAgICBvbkZpbmlzaFN0cmVhbVJlZi5jdXJyZW50Py4oXG4gICAgICAgICAgICAgIGN0eCxcbiAgICAgICAgICAgICAgZmluaXNoUGF5bG9hZC5jb250ZW50LFxuICAgICAgICAgICAgICBmaW5pc2hQYXlsb2FkLnNvdXJjZXMsXG4gICAgICAgICAgICAgIGZpbmlzaFBheWxvYWQubWVtb3J5U2Vzc2lvbklkLFxuICAgICAgICAgICAgICBmaW5pc2hQYXlsb2FkLmF0dGFjaG1lbnRzLFxuICAgICAgICAgICAgICBmaW5pc2hQYXlsb2FkLnN1Z2dlc3Rpb25zLFxuICAgICAgICAgICAgICBmaW5pc2hQYXlsb2FkLmNvbXBsZXRlZEFnZW50SWQsXG4gICAgICAgICAgICAgIGZpbmlzaFBheWxvYWQucmVzb2x2ZWRDb250ZXh0IGFzIGFueSxcbiAgICAgICAgICAgICAgZmluaXNoUGF5bG9hZC5yZWFzb25pbmdcbiAgICAgICAgICAgICksXG4gICAgICAgICAgb25FcnJvcjogKGVycm9yVHlwZSwgZXJyb3JNZXNzYWdlKSA9PiBvbkVycm9yUmVmLmN1cnJlbnQ/LihjdHgsIGVycm9yVHlwZSwgZXJyb3JNZXNzYWdlKSxcbiAgICAgICAgICBvbkFwcHJvdmFsUmVxdWlyZWQ6IChhcHByb3ZhbCwgYWNjdW11bGF0ZWRDb250ZW50KSA9PlxuICAgICAgICAgICAgb25BcHByb3ZhbFJlcXVpcmVkUmVmLmN1cnJlbnQ/LihjdHgsIGFwcHJvdmFsLCBhY2N1bXVsYXRlZENvbnRlbnQpLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICB9LFxuICAgIFt0LCBoaXRsRXhlY3V0aW9uQ29udGV4dFJlZl1cbiAgKVxuXG4gIGNvbnN0IHJldHJ5Q29tcGxldGlvbiA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jIChwYXlsb2FkOiBSZXRyeUNvbXBsZXRpb25TdHJlYW1QYXlsb2FkKTogUHJvbWlzZTxTdGFydFN0cmVhbVJlc3VsdD4gPT4ge1xuICAgICAgY29uc3QgeyBjaGF0SWQ6IHNlc3Npb25JZCwgbWVzc2FnZUlkIH0gPSBwYXlsb2FkXG4gICAgICBjb25zdCBwbGFjZWhvbGRlcklkID0gYGFuc3dlci0ke21lc3NhZ2VJZH0tc3RyZWFtaW5nYFxuICAgICAgY29uc3QgY3R4OiBTdHJlYW1Db250ZXh0ID0geyBzZXNzaW9uSWQsIG1lc3NhZ2VJZCwgcGxhY2Vob2xkZXJJZCB9XG5cbiAgICAgIHJldHVybiBzZXNzaW9uU3RyZWFtTWFuYWdlci5zdGFydFJldHJ5U3RyZWFtKHtcbiAgICAgICAgc2Vzc2lvbklkLFxuICAgICAgICBwbGFjZWhvbGRlcklkLFxuICAgICAgICByZXRyeVJlcXVlc3Q6IGJ1aWxkUmV0cnlTdHJlYW1SZXF1ZXN0KHBheWxvYWQpLFxuICAgICAgICB0LFxuICAgICAgICBhY3Rpdml0eU9wdGlvbnM6IHtcbiAgICAgICAgICBpc1dlYlNlYXJjaEFjdGl2ZTogcGF5bG9hZC5pc1dlYlNlYXJjaEFjdGl2ZSxcbiAgICAgICAgICBpc0RlZXBTZWFyY2hBY3RpdmU6IHBheWxvYWQuaXNEZWVwU2VhcmNoQWN0aXZlLFxuICAgICAgICB9LFxuICAgICAgICBhZ2VudElkOiBwYXlsb2FkLmFnZW50SWQsXG4gICAgICAgIGFnZW50TmFtZTogcGF5bG9hZC5hZ2VudE5hbWUsXG4gICAgICAgIGNhbGxiYWNrczoge1xuICAgICAgICAgIG9uU3RyZWFtVXBkYXRlOiBjb250ZW50ID0+IG9uU3RyZWFtVXBkYXRlUmVmLmN1cnJlbnQ/LihjdHgsIGNvbnRlbnQpLFxuICAgICAgICAgIG9uU3RhcnRXcml0aW5nOiAoKSA9PiBvblN0YXJ0V3JpdGluZ1JlZi5jdXJyZW50Py4oKSxcbiAgICAgICAgICBvbkZpbmlzaFN0cmVhbTogZmluaXNoUGF5bG9hZCA9PlxuICAgICAgICAgICAgb25GaW5pc2hTdHJlYW1SZWYuY3VycmVudD8uKFxuICAgICAgICAgICAgICBjdHgsXG4gICAgICAgICAgICAgIGZpbmlzaFBheWxvYWQuY29udGVudCxcbiAgICAgICAgICAgICAgZmluaXNoUGF5bG9hZC5zb3VyY2VzLFxuICAgICAgICAgICAgICBmaW5pc2hQYXlsb2FkLm1lbW9yeVNlc3Npb25JZCxcbiAgICAgICAgICAgICAgZmluaXNoUGF5bG9hZC5hdHRhY2htZW50cyxcbiAgICAgICAgICAgICAgZmluaXNoUGF5bG9hZC5zdWdnZXN0aW9ucyxcbiAgICAgICAgICAgICAgZmluaXNoUGF5bG9hZC5jb21wbGV0ZWRBZ2VudElkLFxuICAgICAgICAgICAgICBmaW5pc2hQYXlsb2FkLnJlc29sdmVkQ29udGV4dCBhcyBhbnlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgb25FcnJvcjogKGVycm9yVHlwZSwgZXJyb3JNZXNzYWdlKSA9PiBvbkVycm9yUmVmLmN1cnJlbnQ/LihjdHgsIGVycm9yVHlwZSwgZXJyb3JNZXNzYWdlKSxcbiAgICAgICAgICBvbkFwcHJvdmFsUmVxdWlyZWQ6IChhcHByb3ZhbCwgYWNjdW11bGF0ZWRDb250ZW50KSA9PlxuICAgICAgICAgICAgb25BcHByb3ZhbFJlcXVpcmVkUmVmLmN1cnJlbnQ/LihjdHgsIGFwcHJvdmFsLCBhY2N1bXVsYXRlZENvbnRlbnQpLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICB9LFxuICAgIFt0XVxuICApXG5cbiAgY29uc3Qgc3RvcFN0cmVhbWluZyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXNzaW9uU3RyZWFtTWFuYWdlci5zdG9wU3RyZWFtKGFjdGl2ZVNlc3Npb25JZCwge1xuICAgICAgb25TdG9wOiBwYXJ0aWFsVGV4dCA9PiBvblN0b3BSZWYuY3VycmVudD8uKHBhcnRpYWxUZXh0KSxcbiAgICB9KVxuICB9LCBbYWN0aXZlU2Vzc2lvbklkXSlcblxuICBjb25zdCBhYm9ydFN0cmVhbVNpbGVudGx5ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNlc3Npb25TdHJlYW1NYW5hZ2VyLmFib3J0U2lsZW50bHkoYWN0aXZlU2Vzc2lvbklkKVxuICB9LCBbYWN0aXZlU2Vzc2lvbklkXSlcblxuICBjb25zdCB1cGRhdGVTdHJlYW1BY3Rpdml0eSA9IHVzZUNhbGxiYWNrKFxuICAgIChhY3Rpdml0eTogU3RyZWFtQWN0aXZpdHkgfCBudWxsKSA9PiB7XG4gICAgICB1c2VTZXNzaW9uc1N0b3JlLmdldFN0YXRlKCkuc2V0QWN0aXZpdHkoYWN0aXZlU2Vzc2lvbklkLCBhY3Rpdml0eSlcbiAgICB9LFxuICAgIFthY3RpdmVTZXNzaW9uSWRdXG4gIClcblxuICBjb25zdCByZXNldCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICB1c2VTZXNzaW9uc1N0b3JlLmdldFN0YXRlKCkucGF0Y2hNZXRhKGFjdGl2ZVNlc3Npb25JZCwgeyBpc0xvYWRpbmc6IGZhbHNlLCBpc1dyaXRpbmc6IGZhbHNlIH0pXG4gICAgdXNlU2Vzc2lvbnNTdG9yZS5nZXRTdGF0ZSgpLnNldEFjdGl2aXR5KGFjdGl2ZVNlc3Npb25JZCwgbnVsbClcbiAgfSwgW2FjdGl2ZVNlc3Npb25JZF0pXG5cbiAgcmV0dXJuIHtcbiAgICBhc2tNYWlhLFxuICAgIHJldHJ5Q29tcGxldGlvbixcbiAgICBpc0xvYWRpbmcsXG4gICAgaXNXcml0aW5nLFxuICAgIGxvYWRpbmdNZXNzYWdlLFxuICAgIHN0cmVhbUFjdGl2aXR5LFxuICAgIHVwZGF0ZVN0cmVhbUFjdGl2aXR5LFxuICAgIHJlc2V0LFxuICAgIHN0b3BTdHJlYW1pbmcsXG4gICAgYWJvcnRTdHJlYW1TaWxlbnRseSxcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOztBQUFBO0FBQ0EsU0FBU0EsV0FBVyxFQUFFQyxNQUFNLFFBQVEsT0FBTztBQUMzQyxTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQUU5QyxTQUFTQyxRQUFRLFFBQVEsd0JBQXdCO0FBRWpELFNBQVNDLG9CQUFvQixRQUFRLDJDQUEyQztBQUNoRixTQUFTQyxnQkFBZ0IsUUFBUSx1Q0FBdUM7QUFDeEUsU0FBU0MscUJBQXFCLFFBQVEscUNBQXFDO0FBRTNFLFNBQ0VDLDJCQUEyQixFQUMzQkMseUJBQXlCLEVBQ3pCQyx1QkFBdUIsUUFHbEIsaUNBQWlDOztBQUV4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLElBQU1DLHFCQUFxQixHQUFHLFNBQXhCQSxxQkFBcUJBLENBQUFDLElBQUEsRUFTQTtFQUFBLElBUmhDQyxlQUFlLEdBQUFELElBQUEsQ0FBZkMsZUFBZTtJQUNmQyxjQUFjLEdBQUFGLElBQUEsQ0FBZEUsY0FBYztJQUNkQyxjQUFjLEdBQUFILElBQUEsQ0FBZEcsY0FBYztJQUNkQyxjQUFjLEdBQUFKLElBQUEsQ0FBZEksY0FBYztJQUNkQyxNQUFNLEdBQUFMLElBQUEsQ0FBTkssTUFBTTtJQUNOQyxPQUFPLEdBQUFOLElBQUEsQ0FBUE0sT0FBTztJQUNQQyxrQkFBa0IsR0FBQVAsSUFBQSxDQUFsQk8sa0JBQWtCO0lBQ2xCQyx1QkFBdUIsR0FBQVIsSUFBQSxDQUF2QlEsdUJBQXVCO0VBRXZCLElBQUFDLGVBQUEsR0FBY2xCLGNB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