@projectcor/maia-components 2.11.110-0 → 2.26.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 (667) hide show
  1. package/README.md +2 -0
  2. package/package.json +3 -3
  3. package/CHANGELOG.md +0 -642
  4. package/lib/App.js +0 -55
  5. package/lib/components/atoms/ActionableButton.js +0 -60
  6. package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.js +0 -89
  7. package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.styles.js +0 -21
  8. package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.utils.js +0 -9
  9. package/lib/components/atoms/AgentActivityIndicator/index.js +0 -2
  10. package/lib/components/atoms/ApprovalBox/ApprovalBox.js +0 -209
  11. package/lib/components/atoms/ApprovalBox/ApprovalBox.styles.js +0 -93
  12. package/lib/components/atoms/ApprovalBox/index.js +0 -2
  13. package/lib/components/atoms/AttachmentCard/AttachmentCard.js +0 -218
  14. package/lib/components/atoms/AttachmentCard/AttachmentCard.styles.js +0 -52
  15. package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.js +0 -448
  16. package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.styles.js +0 -58
  17. package/lib/components/atoms/AttachmentCard/AttachmentCardImage.js +0 -55
  18. package/lib/components/atoms/AttachmentCard/AttachmentCardImage.styles.js +0 -14
  19. package/lib/components/atoms/AttachmentCard/index.js +0 -4
  20. package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.js +0 -442
  21. package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.styles.js +0 -119
  22. package/lib/components/atoms/AttachmentPreviewModal/ExcelPreview.js +0 -222
  23. package/lib/components/atoms/AttachmentPreviewModal/PptPreview.js +0 -313
  24. package/lib/components/atoms/AttachmentPreviewModal/WordPreview.js +0 -128
  25. package/lib/components/atoms/AttachmentPreviewModal/index.js +0 -2
  26. package/lib/components/atoms/Backdrop/Backdrop.js +0 -17
  27. package/lib/components/atoms/Backdrop/Backdrop.styles.js +0 -9
  28. package/lib/components/atoms/Backdrop/index.js +0 -2
  29. package/lib/components/atoms/CardItem.js +0 -7
  30. package/lib/components/atoms/CardMenu/CardMenu.js +0 -131
  31. package/lib/components/atoms/CardMenu/index.js +0 -2
  32. package/lib/components/atoms/CardMenu/styles.js +0 -21
  33. package/lib/components/atoms/ChatClientSelector/ChatClientSelector.js +0 -77
  34. package/lib/components/atoms/ChatClientSelector/index.js +0 -2
  35. package/lib/components/atoms/ChatDisclaimerMessage/ChatDisclaimerMessage.js +0 -9
  36. package/lib/components/atoms/ChatDisclaimerMessage/index.js +0 -2
  37. package/lib/components/atoms/ChatDisclaimerMessage/styles.js +0 -6
  38. package/lib/components/atoms/Checkbox/Checkbox.js +0 -34
  39. package/lib/components/atoms/Checkbox/index.js +0 -2
  40. package/lib/components/atoms/Checkbox/styles.js +0 -39
  41. package/lib/components/atoms/Chip/Chip.js +0 -150
  42. package/lib/components/atoms/Chip/index.js +0 -2
  43. package/lib/components/atoms/Chip/styles.js +0 -43
  44. package/lib/components/atoms/ChipLlm/ChipLlm.js +0 -45
  45. package/lib/components/atoms/ChipLlm/ChipLlm.style.js +0 -21
  46. package/lib/components/atoms/ChipLlm/index.js +0 -2
  47. package/lib/components/atoms/ChipStatus/ChipStatus.interface.js +0 -2
  48. package/lib/components/atoms/ChipStatus/ChipStatus.js +0 -14
  49. package/lib/components/atoms/ChipStatus/ChipStatus.styles.js +0 -27
  50. package/lib/components/atoms/ChipStatus/index.js +0 -2
  51. package/lib/components/atoms/ClearButton.js +0 -6
  52. package/lib/components/atoms/ClientSelector/ClientSelector.js +0 -146
  53. package/lib/components/atoms/ClientSelector/ClientSelector.styles.js +0 -15
  54. package/lib/components/atoms/ClientSelector/index.js +0 -2
  55. package/lib/components/atoms/ContextMentionChip/ContextMentionChip.js +0 -38
  56. package/lib/components/atoms/ContextMentionChip/ContextMentionChip.styles.js +0 -188
  57. package/lib/components/atoms/ContextMentionChip/MentionOverflowLabel.js +0 -39
  58. package/lib/components/atoms/ContextMentionChip/buildChipElement.js +0 -445
  59. package/lib/components/atoms/ContextMentionChip/index.js +0 -4
  60. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +0 -533
  61. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.styles.js +0 -10
  62. package/lib/components/atoms/ContextMentionEditor/index.js +0 -2
  63. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +0 -282
  64. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +0 -148
  65. package/lib/components/atoms/ContextMentionItem/index.js +0 -2
  66. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +0 -290
  67. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.styles.js +0 -108
  68. package/lib/components/atoms/ContextMentionPopover/index.js +0 -3
  69. package/lib/components/atoms/CopyToClipboard.js +0 -70
  70. package/lib/components/atoms/EditableLabel/EditableLabel.js +0 -110
  71. package/lib/components/atoms/EditableLabel/index.js +0 -2
  72. package/lib/components/atoms/EditableLabel/styles.js +0 -7
  73. package/lib/components/atoms/EmptySearchClients/EmptySearchClients.js +0 -22
  74. package/lib/components/atoms/EmptySearchClients/EmptySearchClients.styles.js +0 -18
  75. package/lib/components/atoms/EmptySearchClients/index.js +0 -2
  76. package/lib/components/atoms/EmptySearchProjects/EmptySearchProjects.js +0 -19
  77. package/lib/components/atoms/EmptySearchProjects/EmptySearchProjects.styles.js +0 -15
  78. package/lib/components/atoms/EmptySearchProjects/index.js +0 -2
  79. package/lib/components/atoms/EntitySelector/EntitySelector.js +0 -247
  80. package/lib/components/atoms/EntitySelector/EntitySelector.skeleton.js +0 -38
  81. package/lib/components/atoms/EntitySelector/EntitySelector.styles.js +0 -67
  82. package/lib/components/atoms/EntitySelector/index.js +0 -2
  83. package/lib/components/atoms/ErrorSearchClients/ErrorSearchClients.js +0 -14
  84. package/lib/components/atoms/ErrorSearchClients/ErrorSearchClients.styles.js +0 -15
  85. package/lib/components/atoms/ErrorSearchFaqs/ErrorSearchFaqs.js +0 -14
  86. package/lib/components/atoms/ErrorSearchFaqs/ErrorSearchFaqs.style.js +0 -15
  87. package/lib/components/atoms/ErrorSearchFaqs/index.js +0 -2
  88. package/lib/components/atoms/ErrorSearchProjects/ErrorSearchProjects.js +0 -18
  89. package/lib/components/atoms/ErrorSearchProjects/ErrorSearchProjects.style.js +0 -15
  90. package/lib/components/atoms/ErrorSearchProjects/index.js +0 -2
  91. package/lib/components/atoms/Expand/Expand.js +0 -32
  92. package/lib/components/atoms/Expand/index.js +0 -2
  93. package/lib/components/atoms/Fade/Fade.js +0 -56
  94. package/lib/components/atoms/Fade/index.js +0 -2
  95. package/lib/components/atoms/FeedbackButton/FeedbackButton.js +0 -59
  96. package/lib/components/atoms/FeedbackButton/FeedbackButton.styles.js +0 -14
  97. package/lib/components/atoms/FeedbackButton/index.js +0 -2
  98. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.js +0 -138
  99. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.skeleton.js +0 -44
  100. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.styles.js +0 -43
  101. package/lib/components/atoms/FrequentlyAskedQuestions/index.js +0 -2
  102. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +0 -122
  103. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.skeleton.js +0 -43
  104. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +0 -62
  105. package/lib/components/atoms/FrequentlyUsedActions/index.js +0 -2
  106. package/lib/components/atoms/GoBackButton.js +0 -24
  107. package/lib/components/atoms/HelpButton.js +0 -44
  108. package/lib/components/atoms/IconButton.js +0 -56
  109. package/lib/components/atoms/ImagePreview/ImagePreview.js +0 -96
  110. package/lib/components/atoms/ImagePreview/ImagePreview.styles.js +0 -70
  111. package/lib/components/atoms/Input/CustomInput.interface.js +0 -2
  112. package/lib/components/atoms/Input/CustomInput.js +0 -91
  113. package/lib/components/atoms/Input/CustomInput.styles.js +0 -39
  114. package/lib/components/atoms/Input/index.js +0 -2
  115. package/lib/components/atoms/ListMenuOption/ListMenuOption.js +0 -41
  116. package/lib/components/atoms/ListMenuOption/index.js +0 -2
  117. package/lib/components/atoms/ListMenuOption/styles.js +0 -9
  118. package/lib/components/atoms/Loader.js +0 -41
  119. package/lib/components/atoms/LoadingFaqs/LoadingFaqs.js +0 -11
  120. package/lib/components/atoms/LoadingFaqs/LoadingFaqs.style.js +0 -6
  121. package/lib/components/atoms/LoadingFaqs/index.js +0 -2
  122. package/lib/components/atoms/LoadingSearchClients/LoadingSearchClients.js +0 -11
  123. package/lib/components/atoms/LoadingSearchClients/LoadingSearchClients.styles.js +0 -6
  124. package/lib/components/atoms/LoadingSearchClients/index.js +0 -2
  125. package/lib/components/atoms/LoadingSearchProjects/LoadingSearchProjects.js +0 -14
  126. package/lib/components/atoms/LoadingSearchProjects/LoadingSearchProjects.style.js +0 -10
  127. package/lib/components/atoms/LoadingSearchProjects/index.js +0 -2
  128. package/lib/components/atoms/LoadingText/LoadingText.js +0 -18
  129. package/lib/components/atoms/LoadingText/index.js +0 -2
  130. package/lib/components/atoms/LoadingText/styles.js +0 -7
  131. package/lib/components/atoms/MAIAButton/MAIAButton.js +0 -33
  132. package/lib/components/atoms/MAIAButton/index.js +0 -2
  133. package/lib/components/atoms/MAIAError/MAIAError.js +0 -15
  134. package/lib/components/atoms/MAIAError/index.js +0 -2
  135. package/lib/components/atoms/MAIAInput/MAIAInput.js +0 -1232
  136. package/lib/components/atoms/MAIAInput/MAIAInputEditor.js +0 -266
  137. package/lib/components/atoms/MAIAInput/index.js +0 -2
  138. package/lib/components/atoms/MAIAInput/maiaInputLayout.js +0 -25
  139. package/lib/components/atoms/MAIAInput/styles.js +0 -186
  140. package/lib/components/atoms/MAIAMessage/MAIAMessage.interfaces.js +0 -2
  141. package/lib/components/atoms/MAIAMessage/MAIAMessage.js +0 -22
  142. package/lib/components/atoms/MAIAMessage/index.js +0 -2
  143. package/lib/components/atoms/MAIAMessage/styles.js +0 -7
  144. package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.config.js +0 -23
  145. package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.interfaces.js +0 -2
  146. package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.js +0 -51
  147. package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.styles.js +0 -26
  148. package/lib/components/atoms/MaiaStreamdown/index.js +0 -2
  149. package/lib/components/atoms/MaiaWrapper/MaiaWrapper.js +0 -18
  150. package/lib/components/atoms/MaiaWrapper/MaiaWrapperBase.js +0 -84
  151. package/lib/components/atoms/MaiaWrapper/ModernMaiaWrapper.js +0 -15
  152. package/lib/components/atoms/MaiaWrapper/index.js +0 -3
  153. package/lib/components/atoms/MaiaWrapper/styles.js +0 -21
  154. package/lib/components/atoms/ModalClientAccess/ModalClientAccess.interface.js +0 -2
  155. package/lib/components/atoms/ModalClientAccess/ModalClientAccess.js +0 -84
  156. package/lib/components/atoms/ModalClientAccess/ModalClientAccess.styles.js +0 -53
  157. package/lib/components/atoms/ModalClientAccess/index.js +0 -2
  158. package/lib/components/atoms/ModalInfo/ModalInfo.js +0 -52
  159. package/lib/components/atoms/ModalInfo/ModalInfoContent.js +0 -7
  160. package/lib/components/atoms/ModalInfo/index.js +0 -3
  161. package/lib/components/atoms/ModalInfo/styles.js +0 -7
  162. package/lib/components/atoms/ModalProject/ModalProject.interface.js +0 -2
  163. package/lib/components/atoms/ModalProject/ModalProject.js +0 -112
  164. package/lib/components/atoms/ModalProject/ModalProject.style.js +0 -59
  165. package/lib/components/atoms/ModalProject/index.js +0 -2
  166. package/lib/components/atoms/NextPageLoader.js +0 -33
  167. package/lib/components/atoms/OnboardingModalButton/OnboardingModal.js +0 -28
  168. package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.js +0 -180
  169. package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.styles.js +0 -34
  170. package/lib/components/atoms/OnboardingModalButton/index.js +0 -3
  171. package/lib/components/atoms/OptionAccessibility/OptionAccessibility.js +0 -131
  172. package/lib/components/atoms/OptionAccessibility/OptionAccessibility.styles.js +0 -59
  173. package/lib/components/atoms/OptionAccessibility/index.js +0 -2
  174. package/lib/components/atoms/OptionCorPermission/OptionCorPermission.js +0 -27
  175. package/lib/components/atoms/OptionCorPermission/OptionCorPermission.styles.js +0 -18
  176. package/lib/components/atoms/OptionCorPermission/index.js +0 -2
  177. package/lib/components/atoms/PrimaryButton.js +0 -31
  178. package/lib/components/atoms/ProjectSelector/ProjectSelector.js +0 -77
  179. package/lib/components/atoms/ProjectSelector/ProjectSelector.styles.js +0 -61
  180. package/lib/components/atoms/ProjectSelector/index.js +0 -2
  181. package/lib/components/atoms/SecondaryButton.js +0 -20
  182. package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.js +0 -20
  183. package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.styles.js +0 -20
  184. package/lib/components/atoms/SessionGeneratingDot/index.js +0 -2
  185. package/lib/components/atoms/Skeleton/Skeleton.js +0 -36
  186. package/lib/components/atoms/Skeleton/index.js +0 -2
  187. package/lib/components/atoms/SkillsDropdown/SkillsDropdown.js +0 -188
  188. package/lib/components/atoms/SkillsDropdown/SkillsDropdown.styles.js +0 -69
  189. package/lib/components/atoms/SkillsDropdown/index.js +0 -2
  190. package/lib/components/atoms/SlashCommandChip/SlashCommandChip.js +0 -16
  191. package/lib/components/atoms/SlashCommandChip/SlashCommandChip.styles.js +0 -24
  192. package/lib/components/atoms/SlashCommandChip/buildSlashChipElement.js +0 -18
  193. package/lib/components/atoms/SlashCommandChip/index.js +0 -4
  194. package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.js +0 -210
  195. package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.styles.js +0 -53
  196. package/lib/components/atoms/SlashCommandDropdown/index.js +0 -2
  197. package/lib/components/atoms/Switch/Switch.js +0 -27
  198. package/lib/components/atoms/Switch/Switch.styles.js +0 -22
  199. package/lib/components/atoms/Switch/index.js +0 -2
  200. package/lib/components/atoms/TextArea/CustomTextArea.interface.js +0 -2
  201. package/lib/components/atoms/TextArea/CustomTextArea.js +0 -93
  202. package/lib/components/atoms/TextArea/CustomTextArea.styles.js +0 -25
  203. package/lib/components/atoms/TextArea/TextArea.interfaces.js +0 -2
  204. package/lib/components/atoms/TextArea/TextArea.js +0 -172
  205. package/lib/components/atoms/TextArea/TextArea.styles.js +0 -16
  206. package/lib/components/atoms/TextArea/index.js +0 -2
  207. package/lib/components/atoms/ThirdButton.js +0 -19
  208. package/lib/components/atoms/VideoModal/VideoModal.js +0 -76
  209. package/lib/components/atoms/VideoModal/index.js +0 -2
  210. package/lib/components/atoms/WithAppCfg.js +0 -26
  211. package/lib/components/atoms/WithFeatureValidation.js +0 -23
  212. package/lib/components/atoms/WrapperCenterIcon/WrapperCenterIcon.js +0 -9
  213. package/lib/components/atoms/WrapperCenterIcon/WrapperCenterIcon.styles.js +0 -6
  214. package/lib/components/atoms/WrapperCenterIcon/index.js +0 -2
  215. package/lib/components/atoms/icons/AIIcon.js +0 -23
  216. package/lib/components/atoms/icons/AacFile.js +0 -39
  217. package/lib/components/atoms/icons/AccessibilityIcon.js +0 -42
  218. package/lib/components/atoms/icons/ActionAssignIcon.js +0 -111
  219. package/lib/components/atoms/icons/ActionCalendarIcon.js +0 -112
  220. package/lib/components/atoms/icons/ActionChargeHoursIcon.js +0 -111
  221. package/lib/components/atoms/icons/ActionChatIcon.js +0 -71
  222. package/lib/components/atoms/icons/ActionCreateIcon.js +0 -91
  223. package/lib/components/atoms/icons/ActionCreateReworkIcon.js +0 -39
  224. package/lib/components/atoms/icons/ActionCreateSubtaskIcon.js +0 -37
  225. package/lib/components/atoms/icons/ActionEditIcon.js +0 -39
  226. package/lib/components/atoms/icons/ActionSummaryMessagesIcon.js +0 -88
  227. package/lib/components/atoms/icons/ActionSummaryTaskIcon.js +0 -37
  228. package/lib/components/atoms/icons/ActionTimeBackIcon.js +0 -112
  229. package/lib/components/atoms/icons/AgentMaiaIcon.js +0 -31
  230. package/lib/components/atoms/icons/Brain.js +0 -77
  231. package/lib/components/atoms/icons/CorAccessIcon.js +0 -41
  232. package/lib/components/atoms/icons/CorLogo.js +0 -76
  233. package/lib/components/atoms/icons/CsvFile.js +0 -41
  234. package/lib/components/atoms/icons/DocFile.js +0 -41
  235. package/lib/components/atoms/icons/DocxFile.js +0 -41
  236. package/lib/components/atoms/icons/EmptyClientIllustration.js +0 -67
  237. package/lib/components/atoms/icons/EmptyHistory.js +0 -46
  238. package/lib/components/atoms/icons/EmptySearchIllustration.js +0 -37
  239. package/lib/components/atoms/icons/EmptyState.js +0 -84
  240. package/lib/components/atoms/icons/EmptyStateAgents.js +0 -58
  241. package/lib/components/atoms/icons/ErrorIcon.js +0 -14
  242. package/lib/components/atoms/icons/ErrorSearchIllustration.js +0 -52
  243. package/lib/components/atoms/icons/ErrorState.js +0 -51
  244. package/lib/components/atoms/icons/FaqChevronIcon.js +0 -39
  245. package/lib/components/atoms/icons/FaqsIcon.js +0 -51
  246. package/lib/components/atoms/icons/FlacIcon.js +0 -39
  247. package/lib/components/atoms/icons/FolderIcon.js +0 -29
  248. package/lib/components/atoms/icons/HomeIcon.js +0 -30
  249. package/lib/components/atoms/icons/ImageFile.js +0 -46
  250. package/lib/components/atoms/icons/M4aFile.js +0 -39
  251. package/lib/components/atoms/icons/MAIAIcon.js +0 -20
  252. package/lib/components/atoms/icons/MAIAIsologo.js +0 -65
  253. package/lib/components/atoms/icons/MDFile.js +0 -41
  254. package/lib/components/atoms/icons/MaiaChatLayoutFloatingIcon.js +0 -41
  255. package/lib/components/atoms/icons/MaiaChatLayoutFullscreenIcon.js +0 -41
  256. package/lib/components/atoms/icons/MaiaChatLayoutMenuIcon.js +0 -33
  257. package/lib/components/atoms/icons/MaiaChatLayoutSidebarIcon.js +0 -41
  258. package/lib/components/atoms/icons/MaiaInputAddIcon.js +0 -42
  259. package/lib/components/atoms/icons/MaiaInputAttachIcon.js +0 -29
  260. package/lib/components/atoms/icons/MaiaInputAttachmentImageIcon.js +0 -33
  261. package/lib/components/atoms/icons/MaiaInputDeepSearchIcon.js +0 -35
  262. package/lib/components/atoms/icons/MaiaInputMentionIcon.js +0 -44
  263. package/lib/components/atoms/icons/MaiaInputRobotIcon.js +0 -29
  264. package/lib/components/atoms/icons/MaiaInputSendIcon.js +0 -29
  265. package/lib/components/atoms/icons/MaiaInputSlashIcon.js +0 -29
  266. package/lib/components/atoms/icons/MaiaInputWebSearchIcon.js +0 -35
  267. package/lib/components/atoms/icons/MaiaSettingsProject.js +0 -111
  268. package/lib/components/atoms/icons/MaiaSettingsProjectV2.js +0 -193
  269. package/lib/components/atoms/icons/MaiaSparkleIcon.js +0 -75
  270. package/lib/components/atoms/icons/MaiaStoreIcon.js +0 -31
  271. package/lib/components/atoms/icons/Mp3File.js +0 -39
  272. package/lib/components/atoms/icons/Mp4File.js +0 -39
  273. package/lib/components/atoms/icons/MyAgentsNavIcon.js +0 -51
  274. package/lib/components/atoms/icons/NewChat.js +0 -29
  275. package/lib/components/atoms/icons/NotionIcon.js +0 -36
  276. package/lib/components/atoms/icons/OgaFile.js +0 -39
  277. package/lib/components/atoms/icons/OggFile.js +0 -39
  278. package/lib/components/atoms/icons/PdfFile.js +0 -39
  279. package/lib/components/atoms/icons/PlusIcon.js +0 -29
  280. package/lib/components/atoms/icons/PptFile.js +0 -47
  281. package/lib/components/atoms/icons/PptxFile.js +0 -49
  282. package/lib/components/atoms/icons/RetryIcon.js +0 -34
  283. package/lib/components/atoms/icons/SkillIcon.js +0 -30
  284. package/lib/components/atoms/icons/SkillVisibilityEveryoneIcon.js +0 -23
  285. package/lib/components/atoms/icons/SkillVisibilityOnlyMeIcon.js +0 -23
  286. package/lib/components/atoms/icons/SkillsNavIcon.js +0 -24
  287. package/lib/components/atoms/icons/SubtaskIcon.js +0 -36
  288. package/lib/components/atoms/icons/TaskLinkIcon.js +0 -27
  289. package/lib/components/atoms/icons/TelescopeIcon.js +0 -60
  290. package/lib/components/atoms/icons/TemplateGradientIcon.js +0 -42
  291. package/lib/components/atoms/icons/TextFile.js +0 -41
  292. package/lib/components/atoms/icons/WavFile.js +0 -39
  293. package/lib/components/atoms/icons/WebmFile.js +0 -50
  294. package/lib/components/atoms/icons/XlsFile.js +0 -42
  295. package/lib/components/atoms/icons/XlsxFile.js +0 -42
  296. package/lib/components/atoms/icons/index.js +0 -53
  297. package/lib/components/atoms/index.js +0 -42
  298. package/lib/components/index.js +0 -11
  299. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.interface.js +0 -2
  300. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.js +0 -149
  301. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.styles.js +0 -53
  302. package/lib/components/molecules/AbmSection/AbmGeneralSection.js +0 -415
  303. package/lib/components/molecules/AbmSection/AbmGeneralSection.styles.js +0 -152
  304. package/lib/components/molecules/AbmSection/AbmKnowledgeSection.js +0 -374
  305. package/lib/components/molecules/AbmSection/AbmKnowledgeSection.styles.js +0 -106
  306. package/lib/components/molecules/AbmSection/AbmLoaderFiles.js +0 -92
  307. package/lib/components/molecules/AbmSection/AbmLoaderFiles.styles.js +0 -57
  308. package/lib/components/molecules/AbmSection/index.js +0 -4
  309. package/lib/components/molecules/ChatAIClientSelector/ChatAIClientSelector.js +0 -52
  310. package/lib/components/molecules/ChatAIClientSelector/index.js +0 -2
  311. package/lib/components/molecules/ChatAIContent/ChatAIContent.js +0 -119
  312. package/lib/components/molecules/ChatAIContent/ChatAIContent.skeleton.js +0 -187
  313. package/lib/components/molecules/ChatAIContent/ChatAIContent.styles.js +0 -6
  314. package/lib/components/molecules/ChatAIContent/index.js +0 -2
  315. package/lib/components/molecules/ChatAIHistory/ChatAIHistory.js +0 -241
  316. package/lib/components/molecules/ChatAIHistory/index.js +0 -2
  317. package/lib/components/molecules/ChatAIHistory/styles.js +0 -22
  318. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +0 -649
  319. package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.js +0 -115
  320. package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.styles.js +0 -95
  321. package/lib/components/molecules/ChatAIHome/index.js +0 -2
  322. package/lib/components/molecules/ChatAIHome/styles.js +0 -335
  323. package/lib/components/molecules/ChatAIMessages/ChatAICreateAgentActions.js +0 -137
  324. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +0 -853
  325. package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.js +0 -47
  326. package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.styles.js +0 -37
  327. package/lib/components/molecules/ChatAIMessages/README.md +0 -101
  328. package/lib/components/molecules/ChatAIMessages/index.js +0 -2
  329. package/lib/components/molecules/ChatAIMessages/newStyles.js +0 -131
  330. package/lib/components/molecules/ChatAIMessages/styles.js +0 -94
  331. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +0 -1250
  332. package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +0 -58
  333. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.js +0 -127
  334. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.styles.js +0 -34
  335. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/index.js +0 -2
  336. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +0 -189
  337. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.styles.js +0 -26
  338. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/index.js +0 -2
  339. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +0 -453
  340. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.styles.js +0 -108
  341. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/index.js +0 -2
  342. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.js +0 -48
  343. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.styles.js +0 -38
  344. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/index.js +0 -2
  345. package/lib/components/molecules/ChatAIModal/constants.js +0 -40
  346. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.js +0 -16
  347. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.styles.js +0 -12
  348. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/constants.js +0 -13
  349. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/index.js +0 -3
  350. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/useFloatingPanelDragTilt.js +0 -57
  351. package/lib/components/molecules/ChatAIModal/index.js +0 -2
  352. package/lib/components/molecules/ChatAIModal/layout.js +0 -74
  353. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.js +0 -457
  354. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.styles.js +0 -218
  355. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +0 -384
  356. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +0 -165
  357. package/lib/components/molecules/ChatAIMySkills/index.js +0 -2
  358. package/lib/components/molecules/ChatAIProjectSelector/ChatAIProjectSelector.js +0 -48
  359. package/lib/components/molecules/ChatAIProjectSelector/ChatAIProjectSelector.styles.js +0 -49
  360. package/lib/components/molecules/ChatAIProjectSelector/index.js +0 -2
  361. package/lib/components/molecules/ChatFooter/ChatFooter.js +0 -337
  362. package/lib/components/molecules/ChatFooter/ChatFooterCorAccess.js +0 -32
  363. package/lib/components/molecules/ChatFooter/ChatFooterCorAccess.styles.js +0 -14
  364. package/lib/components/molecules/ChatFooter/ChatFooterFaqs.js +0 -201
  365. package/lib/components/molecules/ChatFooter/ChatFooterFaqs.styles.js +0 -51
  366. package/lib/components/molecules/ChatFooter/index.js +0 -2
  367. package/lib/components/molecules/ChatFooter/styles.js +0 -23
  368. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +0 -60
  369. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.styles.js +0 -6
  370. package/lib/components/molecules/ContextMentionInput/index.js +0 -2
  371. package/lib/components/molecules/MessageFeedback/MessageFeedback.js +0 -118
  372. package/lib/components/molecules/MessageFeedback/index.js +0 -2
  373. package/lib/components/molecules/MessageFeedback/styles.js +0 -14
  374. package/lib/components/molecules/ProjectSummaryChat/ProjectSummaryChat.js +0 -127
  375. package/lib/components/molecules/ProjectSummaryChat/index.js +0 -2
  376. package/lib/components/molecules/ProjectSummaryChat/styles.js +0 -8
  377. package/lib/components/molecules/ProjectSummaryConfig/ProjectSummaryConfig.js +0 -152
  378. package/lib/components/molecules/ProjectSummaryConfig/index.js +0 -2
  379. package/lib/components/molecules/ProjectSummaryConfig/styles.js +0 -86
  380. package/lib/components/molecules/ProjectSummaryContent/ProjectSummaryContent.js +0 -49
  381. package/lib/components/molecules/ProjectSummaryContent/index.js +0 -2
  382. package/lib/components/molecules/ProjectSummaryModal/ProjectSummaryModal.js +0 -19
  383. package/lib/components/molecules/ProjectSummaryModal/index.js +0 -2
  384. package/lib/components/molecules/ProjectSummaryModal/styles.js +0 -2
  385. package/lib/components/molecules/Sidebar/Sidebar.js +0 -716
  386. package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +0 -157
  387. package/lib/components/molecules/Sidebar/Sidebar.skeleton.js +0 -48
  388. package/lib/components/molecules/Sidebar/Sidebar.styles.js +0 -75
  389. package/lib/components/molecules/Sidebar/index.js +0 -2
  390. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +0 -1420
  391. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.styles.js +0 -93
  392. package/lib/components/organisms/AbmAgentModal/index.js +0 -2
  393. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +0 -182
  394. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.styles.js +0 -34
  395. package/lib/components/organisms/AbmSkillGenerateModal/index.js +0 -2
  396. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +0 -550
  397. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +0 -118
  398. package/lib/components/organisms/AbmSkillModal/index.js +0 -2
  399. package/lib/components/organisms/ChatAI/ChatAI.js +0 -167
  400. package/lib/components/organisms/ChatAI/index.js +0 -2
  401. package/lib/components/organisms/ChatAI/styles.js +0 -7
  402. package/lib/components/organisms/ClientAIButton/ClientAIButton.js +0 -23
  403. package/lib/components/organisms/ClientAIButton/index.js +0 -2
  404. package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.js +0 -86
  405. package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.styles.js +0 -39
  406. package/lib/components/organisms/DeleteAgentModal/index.js +0 -2
  407. package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.js +0 -122
  408. package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.styles.js +0 -47
  409. package/lib/components/organisms/DeleteQuestionModal/index.js +0 -2
  410. package/lib/components/organisms/EditQuestionModal/EditQuestionModal.js +0 -138
  411. package/lib/components/organisms/EditQuestionModal/EditQuestionModal.styles.js +0 -69
  412. package/lib/components/organisms/EditQuestionModal/index.js +0 -2
  413. package/lib/components/organisms/ModalFileExceeds/ModalFileExceeds.js +0 -113
  414. package/lib/components/organisms/ModalFileExceeds/ModalFileExceeds.styles.js +0 -54
  415. package/lib/components/organisms/ModalFileExceeds/index.js +0 -2
  416. package/lib/components/organisms/ProjectAIButton/ProjectAIButton.js +0 -26
  417. package/lib/components/organisms/ProjectAIButton/index.js +0 -2
  418. package/lib/components/organisms/ProjectSummary/ProjectSummary.js +0 -60
  419. package/lib/components/organisms/ProjectSummary/index.js +0 -2
  420. package/lib/components/organisms/ProjectSummary/styles.js +0 -7
  421. package/lib/components/organisms/SnackBar/Snackbar.interface.js +0 -2
  422. package/lib/components/organisms/SnackBar/Snackbar.js +0 -73
  423. package/lib/components/organisms/SnackBar/Snackbar.styles.js +0 -9
  424. package/lib/components/organisms/SnackBar/index.js +0 -2
  425. package/lib/components/organisms/SourcesInformation/SourceItem.js +0 -18
  426. package/lib/components/organisms/SourcesInformation/SourceItem.styles.js +0 -14
  427. package/lib/components/organisms/SourcesInformation/SourcesInformationModal.js +0 -66
  428. package/lib/components/organisms/SourcesInformation/SourcesInformationModal.styles.js +0 -27
  429. package/lib/components/organisms/SourcesInformation/index.js +0 -2
  430. package/lib/constants/config.js +0 -10
  431. package/lib/constants/formatExtensions.js +0 -55
  432. package/lib/constants/gqlClient.js +0 -4
  433. package/lib/constants/maiaHourAgentAccess.js +0 -15
  434. package/lib/constants/maiaTaskPanelAccess.js +0 -24
  435. package/lib/constants/maiaTaskPanelOutsideClick.js +0 -9
  436. package/lib/constants/maiaTaskPanelZIndex.js +0 -19
  437. package/lib/constants/permissions/config.js +0 -72
  438. package/lib/constants/permissions/index.js +0 -3
  439. package/lib/constants/permissions/types.js +0 -2
  440. package/lib/constants/permissions/utils.js +0 -18
  441. package/lib/constants/plannerSyncEvents.js +0 -15
  442. package/lib/constants/taskLinkIcon.js +0 -15
  443. package/lib/constants/taskUrls.js +0 -11
  444. package/lib/context/cor-user.js +0 -31
  445. package/lib/context/global-context.js +0 -39
  446. package/lib/dev/DevChatAI.js +0 -101
  447. package/lib/dev/DevContextMentionInput.js +0 -67
  448. package/lib/dev/ProjectSummary.js +0 -9
  449. package/lib/dev/Providers.js +0 -27
  450. package/lib/exports.js +0 -2
  451. package/lib/hooks/README.md +0 -192
  452. package/lib/hooks/index.js +0 -30
  453. package/lib/hooks/useAccessClient/index.js +0 -2
  454. package/lib/hooks/useAccessClient/useAccessClient.js +0 -81
  455. package/lib/hooks/useAgentModel/index.js +0 -2
  456. package/lib/hooks/useAgentModel/useAgentModel.js +0 -62
  457. package/lib/hooks/useAgentModel/useCreateAgent.js +0 -128
  458. package/lib/hooks/useAgentModel/useDeleteAgent.js +0 -88
  459. package/lib/hooks/useAgentModel/useUpdateAgent.js +0 -129
  460. package/lib/hooks/useAgentSuggestions.js +0 -60
  461. package/lib/hooks/useCaretPosition.js +0 -65
  462. package/lib/hooks/useChatManager/index.js +0 -2
  463. package/lib/hooks/useChatManager/useChatManager.interface.js +0 -2
  464. package/lib/hooks/useChatManager/useChatManager.js +0 -1782
  465. package/lib/hooks/useChatMessages/index.js +0 -2
  466. package/lib/hooks/useChatMessages/useChatMessages.interface.js +0 -2
  467. package/lib/hooks/useChatMessages/useChatMessages.js +0 -722
  468. package/lib/hooks/useChats/index.js +0 -2
  469. package/lib/hooks/useChats/useChats.interfaces.js +0 -2
  470. package/lib/hooks/useChats/useChats.js +0 -187
  471. package/lib/hooks/useClientSearch.js +0 -163
  472. package/lib/hooks/useContextMentions.js +0 -500
  473. package/lib/hooks/useContextPinPopover.js +0 -228
  474. package/lib/hooks/useDebounce.js +0 -18
  475. package/lib/hooks/useEntitySearch.js +0 -1053
  476. package/lib/hooks/useEvent.js +0 -93
  477. package/lib/hooks/useFrequentlyAskedQuestions.js +0 -150
  478. package/lib/hooks/useFrequentlyUsedActions.js +0 -94
  479. package/lib/hooks/useKnowledge/deleteKnowledge.js +0 -69
  480. package/lib/hooks/useKnowledge/downloadKnowledge.js +0 -81
  481. package/lib/hooks/useKnowledge/index.js +0 -4
  482. package/lib/hooks/useKnowledge/saveKnowledge.js +0 -107
  483. package/lib/hooks/useKnowledge/useKnowledgeOperations.js +0 -156
  484. package/lib/hooks/useMaiaTaskPanelZIndex.js +0 -17
  485. package/lib/hooks/useMentionAllowedTypes.js +0 -120
  486. package/lib/hooks/useMentionPopover.js +0 -342
  487. package/lib/hooks/useMinimizedPillBottomOffset.js +0 -110
  488. package/lib/hooks/useModal/index.js +0 -2
  489. package/lib/hooks/useModal/useModal.interfaces.js +0 -2
  490. package/lib/hooks/useModal/useModal.js +0 -47
  491. package/lib/hooks/useOnboardingNavigation.js +0 -20
  492. package/lib/hooks/useOrchestratorStream/index.js +0 -2
  493. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.interface.js +0 -2
  494. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +0 -269
  495. package/lib/hooks/useProjectSearch.js +0 -183
  496. package/lib/hooks/useProjectSummary.js +0 -101
  497. package/lib/hooks/useProjectSummaryConfig.js +0 -211
  498. package/lib/hooks/useProjects.js +0 -46
  499. package/lib/hooks/useRecentClientsSearch.js +0 -150
  500. package/lib/hooks/useRecentContexts.js +0 -86
  501. package/lib/hooks/useResize.js +0 -29
  502. package/lib/hooks/useSkillsCatalog.js +0 -66
  503. package/lib/hooks/useSlashCommands.js +0 -84
  504. package/lib/hooks/useSmoothStreamText/index.js +0 -2
  505. package/lib/hooks/useSmoothStreamText/useSmoothStreamText.js +0 -197
  506. package/lib/hooks/useSnackBarManager/useSnackBarManager.js +0 -41
  507. package/lib/hooks/useStreamResponse.js +0 -112
  508. package/lib/hooks/useStreamdownStyles.js +0 -13
  509. package/lib/hooks/useStreamingMessage/index.js +0 -2
  510. package/lib/hooks/useStreamingMessage/useStreamingMessage.js +0 -18
  511. package/lib/hooks/useT.js +0 -17
  512. package/lib/hooks/useTabTaskDefault.js +0 -33
  513. package/lib/hooks/useTaskPanel.js +0 -22
  514. package/lib/hooks/useTextOverflowEllipsisTooltip.js +0 -34
  515. package/lib/hooks/useToggle.js +0 -19
  516. package/lib/hooks/useToggleFavorite/index.js +0 -2
  517. package/lib/hooks/useToggleFavorite/useToggleFavorite.js +0 -83
  518. package/lib/index.css +0 -76
  519. package/lib/index.js +0 -30
  520. package/lib/lang/br/index.js +0 -783
  521. package/lib/lang/en/index.js +0 -783
  522. package/lib/lang/es/index.js +0 -784
  523. package/lib/lang/fr/index.js +0 -604
  524. package/lib/lang/index.js +0 -24
  525. package/lib/lang/utils.js +0 -33
  526. package/lib/mocks/mockChats.js +0 -395
  527. package/lib/mocks/mockOrchestrator.js +0 -5
  528. package/lib/mocks/mockProject.js +0 -11
  529. package/lib/mocks/mockProjectSummary.js +0 -6
  530. package/lib/mocks/mockedUser.js +0 -169
  531. package/lib/services/apolloClient.js +0 -3
  532. package/lib/services/appcues.js +0 -19
  533. package/lib/services/corpilot/ProjectSummary/getProjectSummary.js +0 -31
  534. package/lib/services/corpilot/ProjectSummary/index.js +0 -5
  535. package/lib/services/corpilot/client.js +0 -27
  536. package/lib/services/corpilot/index.js +0 -5
  537. package/lib/services/maia/Access/updateAccess.js +0 -59
  538. package/lib/services/maia/Actions/getFrequentlyUsedActions.js +0 -46
  539. package/lib/services/maia/Actions/getSlashCommands.js +0 -39
  540. package/lib/services/maia/Actions/index.js +0 -7
  541. package/lib/services/maia/Agents/createAgent.js +0 -39
  542. package/lib/services/maia/Agents/deleteAgent.js +0 -38
  543. package/lib/services/maia/Agents/fetchAgentDetail.js +0 -122
  544. package/lib/services/maia/Agents/getAgentById.js +0 -162
  545. package/lib/services/maia/Agents/getAgentModels.js +0 -112
  546. package/lib/services/maia/Agents/getAgentSuggestions.js +0 -44
  547. package/lib/services/maia/Agents/getAgents.js +0 -718
  548. package/lib/services/maia/Agents/setAgentToolGroups.js +0 -42
  549. package/lib/services/maia/Agents/toggleFavorite.js +0 -34
  550. package/lib/services/maia/Agents/updateAgent.js +0 -39
  551. package/lib/services/maia/Chats/deleteChat.js +0 -32
  552. package/lib/services/maia/Chats/getChatMessages.js +0 -144
  553. package/lib/services/maia/Chats/getChatsByUserId.js +0 -82
  554. package/lib/services/maia/Chats/index.js +0 -15
  555. package/lib/services/maia/Chats/markSessionAsRead.js +0 -32
  556. package/lib/services/maia/Chats/patchChat.js +0 -43
  557. package/lib/services/maia/Chats/wasHelpfulChat.js +0 -31
  558. package/lib/services/maia/Faqs/getFrequentlyAskedQuestions.js +0 -55
  559. package/lib/services/maia/Faqs/index.js +0 -5
  560. package/lib/services/maia/Knowledge/delete.js +0 -41
  561. package/lib/services/maia/Knowledge/download.js +0 -48
  562. package/lib/services/maia/Knowledge/index.js +0 -3
  563. package/lib/services/maia/Knowledge/save.js +0 -43
  564. package/lib/services/maia/Orchestrator/index.js +0 -7
  565. package/lib/services/maia/Orchestrator/orchestrator.js +0 -246
  566. package/lib/services/maia/RecentClients/getRecentClients.js +0 -43
  567. package/lib/services/maia/RecentClients/index.js +0 -6
  568. package/lib/services/maia/RecentContexts/getRecentContexts.js +0 -54
  569. package/lib/services/maia/RecentContexts/index.js +0 -6
  570. package/lib/services/maia/RecentProjects/getRecentProjects.js +0 -55
  571. package/lib/services/maia/RecentProjects/index.js +0 -6
  572. package/lib/services/maia/RecentTasks/getRecentTasks.js +0 -54
  573. package/lib/services/maia/RecentTasks/index.js +0 -6
  574. package/lib/services/maia/RecentUsers/getRecentUsers.js +0 -59
  575. package/lib/services/maia/RecentUsers/index.js +0 -6
  576. package/lib/services/maia/Skills/createSkill.js +0 -39
  577. package/lib/services/maia/Skills/deleteSkill.js +0 -38
  578. package/lib/services/maia/Skills/generateSkill.js +0 -41
  579. package/lib/services/maia/Skills/getSkills.js +0 -120
  580. package/lib/services/maia/Skills/updateSkill.js +0 -39
  581. package/lib/services/maia/client.js +0 -27
  582. package/lib/services/maia/index.js +0 -17
  583. package/lib/services/query/ClientSearchQuery.js +0 -5
  584. package/lib/services/query/entitySearchQuery.js +0 -18
  585. package/lib/services/query/index.js +0 -2
  586. package/lib/services/query/projectSearchByValueQuery.js +0 -5
  587. package/lib/services/query/taskUserTabQuery.js +0 -8
  588. package/lib/services/query/usersDirectoryQuery.js +0 -19
  589. package/lib/services/types.js +0 -6
  590. package/lib/services/utils/fetchCOR.js +0 -117
  591. package/lib/services/utils/getCookie.js +0 -10
  592. package/lib/services/utils/index.js +0 -3
  593. package/lib/services/utils/mapChatMessages.js +0 -287
  594. package/lib/services/utils/validateIsMaia.js +0 -4
  595. package/lib/store/chatsSidebarOptimistic.js +0 -92
  596. package/lib/store/chatsStore.types.js +0 -2
  597. package/lib/store/chatsStoreLifecycle.js +0 -8
  598. package/lib/store/faqsStore.types.js +0 -2
  599. package/lib/store/index.js +0 -4
  600. package/lib/store/maiaLastChatPersistence.js +0 -35
  601. package/lib/store/sessions/activeView.js +0 -22
  602. package/lib/store/sessions/index.js +0 -9
  603. package/lib/store/sessions/sessionHitlContext.js +0 -15
  604. package/lib/store/sessions/sessionNotificationSound.js +0 -57
  605. package/lib/store/sessions/sessionNotifications.js +0 -110
  606. package/lib/store/sessions/sessionNotifications.types.js +0 -2
  607. package/lib/store/sessions/sessionStreamManager.js +0 -715
  608. package/lib/store/sessions/sessionStreamingText.js +0 -80
  609. package/lib/store/sessions/sessions.types.js +0 -35
  610. package/lib/store/sessions/useSessionMeta.js +0 -39
  611. package/lib/store/sessions/useSessionStreamingText.js +0 -18
  612. package/lib/store/sessions/useSessionsStore.js +0 -197
  613. package/lib/store/useChatsStore.js +0 -387
  614. package/lib/store/useFaqsStore.js +0 -27
  615. package/lib/streamdownStyles.js +0 -9
  616. package/lib/styles/StyledCleanContainer.js +0 -7
  617. package/lib/styles/cascade.js +0 -14
  618. package/lib/styles/config.js +0 -47
  619. package/lib/styles/shared/scrollable.js +0 -3
  620. package/lib/styles/transitions.js +0 -21
  621. package/lib/types/Action.js +0 -2
  622. package/lib/types/AgentSuggestion.js +0 -2
  623. package/lib/types/Chat.js +0 -10
  624. package/lib/types/Client.js +0 -2
  625. package/lib/types/FrequentlyAskedQuestion.js +0 -2
  626. package/lib/types/Project.js +0 -2
  627. package/lib/types/ProjectSummaryConfigKeys.js +0 -9
  628. package/lib/types/Task.js +0 -2
  629. package/lib/types/agent.js +0 -2
  630. package/lib/types/agentModal.js +0 -2
  631. package/lib/types/contextMention.js +0 -37
  632. package/lib/types/global.d.js +0 -2
  633. package/lib/types/skill.js +0 -2
  634. package/lib/types/streamActivity.js +0 -2
  635. package/lib/types/userType.d.js +0 -2
  636. package/lib/utils/actionCategoryMap.js +0 -37
  637. package/lib/utils/actionIconMap.js +0 -61
  638. package/lib/utils/agentDisplayName.js +0 -42
  639. package/lib/utils/chatInputFiles.js +0 -52
  640. package/lib/utils/contextMentionIcons.js +0 -134
  641. package/lib/utils/contextMentionLabel.js +0 -4
  642. package/lib/utils/contextMentionTriggers.js +0 -51
  643. package/lib/utils/contextMentionTypeLabel.js +0 -17
  644. package/lib/utils/corConnectorMentionTypes.js +0 -41
  645. package/lib/utils/ensureStreamdownStyles.js +0 -21
  646. package/lib/utils/entityLinkRender.js +0 -135
  647. package/lib/utils/fileDownloadHelper.js +0 -40
  648. package/lib/utils/formatQuickActionMessage.js +0 -16
  649. package/lib/utils/formatUnreadCount.js +0 -6
  650. package/lib/utils/getUnitFileSize.js +0 -13
  651. package/lib/utils/hitlAnalytics.js +0 -65
  652. package/lib/utils/hoursPlannerQuickActionType.js +0 -64
  653. package/lib/utils/imagePreprocessor.js +0 -108
  654. package/lib/utils/index.js +0 -3
  655. package/lib/utils/maiaHostOpen.js +0 -19
  656. package/lib/utils/maiaStreamdownRehypePlugins.js +0 -27
  657. package/lib/utils/mapBackendLang.js +0 -8
  658. package/lib/utils/normalizeAgentConnectors.js +0 -70
  659. package/lib/utils/openTaskInCorPanel.js +0 -22
  660. package/lib/utils/orchestratorSubagents.js +0 -11
  661. package/lib/utils/renderContextMentions.js +0 -420
  662. package/lib/utils/retryCompletion.js +0 -85
  663. package/lib/utils/slashCommandMarker.js +0 -30
  664. package/lib/utils/sortManagerHoursHomeFuas.js +0 -14
  665. package/lib/utils/sseStreamContent.js +0 -17
  666. package/lib/utils/streamActivityMessages.js +0 -359
  667. package/lib/utils/validateTrimmedFields.js +0 -8
@@ -1,457 +0,0 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
- import _regeneratorRuntime from "@babel/runtime/regenerator";
4
- import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
5
- import { MenuDots } from '@projectcor/icons/lib/components/MenuDots';
6
- import { Search } from '@projectcor/icons/lib/components/Search';
7
- import { Star } from '@projectcor/icons/lib/components/Star';
8
- import { Tooltip } from '@projectcor/tooltipv2/lib/components/Tooltip';
9
- import { useTranslation } from 'react-i18next';
10
- import { useGlobalContext } from '../../../context/global-context';
11
- import { useUser } from '../../../context/cor-user';
12
- import { deleteAgent } from '../../../services/maia/Agents/deleteAgent';
13
- import { useSnackBarManager } from '../../../hooks/useSnackBarManager/useSnackBarManager';
14
- import { DeleteQuestionModal } from '../../organisms/DeleteQuestionModal/DeleteQuestionModal';
15
- import { SECTIONS } from '../../../constants/config';
16
- import { Loader } from '../../atoms/Loader';
17
- import { Fade } from '../../atoms/Fade';
18
- import { Skeleton } from '../../atoms/Skeleton/Skeleton';
19
- import { useToggleFavorite } from '../../../hooks';
20
- import { EVENTS, useEvent } from '../../../hooks/useEvent';
21
- import { SCMABody, SCMACardBody, SCMACardButton, SCMACardFooter, SCMACardHeader, SCMACardTopRow, SCMACardIntroText, SCMACardMenu, SCMACardMenuItem, SCMACardMenuItems, SCMAFavoriteButton, SCMAFavoriteStarWrap, SCMACardFooterDate, SCMACardTitleEmoji, SCMACardTitleName, SCMACardsOuter, SCMACardsRow, SCMAEmptyStateRoot, SCMAEmptyStateColumn, SCMAEmptyStateTitleBlock, SCMAEmptyStateTitle, SCMAEmptyStateSubtitle, SCMAEmptyStateButton, SCMAKebabButton, SCMALoadMoreWrapper, SCMALogoContainer, SCMAMyAgentsContainer, SCMATitle, SCMATitleInner, SCMATitleWrap, SCMACardSkeletonItem, SCMASearchWrapper, SCMASearchInput, SCMASearchHint, SCMASearchNoResults, SCMASearchNoResultsTitle, SCMASearchNoResultsSubtitle } from './ChatAIMyAgents.styles';
22
- import { MAIAIsologo } from '../../atoms/icons';
23
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
24
- var AgentSearchInput = /*#__PURE__*/React.memo(function (_ref) {
25
- var onSearch = _ref.onSearch,
26
- placeholder = _ref.placeholder,
27
- hint = _ref.hint;
28
- var _useState = useState(''),
29
- _useState2 = _slicedToArray(_useState, 2),
30
- value = _useState2[0],
31
- setValue = _useState2[1];
32
- var debounceRef = useRef(null);
33
- var showHint = value.length > 0 && value.length < 3;
34
- var handleChange = useCallback(function (e) {
35
- var val = e.target.value;
36
- setValue(val);
37
- if (debounceRef.current) clearTimeout(debounceRef.current);
38
- debounceRef.current = setTimeout(function () {
39
- if (val === '' || val.length >= 3) onSearch(val);
40
- }, 350);
41
- }, [onSearch]);
42
- useEffect(function () {
43
- return function () {
44
- if (debounceRef.current) clearTimeout(debounceRef.current);
45
- };
46
- }, []);
47
- return /*#__PURE__*/_jsxs(SCMASearchWrapper, {
48
- children: [/*#__PURE__*/_jsx(Search, {
49
- width: 16,
50
- height: 16,
51
- color: "#999"
52
- }), /*#__PURE__*/_jsx(SCMASearchInput, {
53
- type: "text",
54
- value: value,
55
- onChange: handleChange,
56
- placeholder: placeholder
57
- }), showHint ? /*#__PURE__*/_jsx(SCMASearchHint, {
58
- children: hint
59
- }) : null]
60
- });
61
- });
62
- export var ChatAIMyAgents = function ChatAIMyAgents(_ref2) {
63
- var _user$permissions;
64
- var onBack = _ref2.onBack,
65
- agents = _ref2.agents,
66
- onDeleteAgent = _ref2.onDeleteAgent,
67
- onFavoriteAgentUpdate = _ref2.onFavoriteAgentUpdate,
68
- _ref2$hasMoreAgents = _ref2.hasMoreAgents,
69
- hasMoreAgents = _ref2$hasMoreAgents === void 0 ? false : _ref2$hasMoreAgents,
70
- _ref2$loadingMoreAgen = _ref2.loadingMoreAgents,
71
- loadingMoreAgents = _ref2$loadingMoreAgen === void 0 ? false : _ref2$loadingMoreAgen,
72
- onLoadMoreAgents = _ref2.onLoadMoreAgents,
73
- onGoToMaiaker = _ref2.onGoToMaiaker,
74
- onSearchAgents = _ref2.onSearchAgents,
75
- _ref2$searchLoadingAg = _ref2.searchLoadingAgents,
76
- searchLoadingAgents = _ref2$searchLoadingAg === void 0 ? false : _ref2$searchLoadingAg;
77
- var _useTranslation = useTranslation([SECTIONS.chatAI, SECTIONS.abmAgent]),
78
- t = _useTranslation.t;
79
- var user = useUser();
80
- var _useGlobalContext = useGlobalContext(),
81
- selectAgent = _useGlobalContext.selectAgent,
82
- setProject = _useGlobalContext.setProject,
83
- setClient = _useGlobalContext.setClient,
84
- setTask = _useGlobalContext.setTask;
85
- var _useSnackBarManager = useSnackBarManager(),
86
- handleSnackbarSuccess = _useSnackBarManager.handleSnackbarSuccess,
87
- handleSnackbarError = _useSnackBarManager.handleSnackbarError;
88
- var customAgents = agents.filter(function (agent) {
89
- return agent.type === 'custom' && !agent.is_deleted;
90
- });
91
- var _useState3 = useState(null),
92
- _useState4 = _slicedToArray(_useState3, 2),
93
- menuOpenForAgentId = _useState4[0],
94
- setMenuOpenForAgentId = _useState4[1];
95
- var _useState5 = useState(null),
96
- _useState6 = _slicedToArray(_useState5, 2),
97
- agentToDelete = _useState6[0],
98
- setAgentToDelete = _useState6[1];
99
- var userPermissions = user === null || user === void 0 || (_user$permissions = user.permissions) === null || _user$permissions === void 0 ? void 0 : _user$permissions.ai_agents;
100
- var canCreateAgent = !!(userPermissions !== null && userPermissions !== void 0 && userPermissions.create) && !!window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS;
101
- var canEdit = !!(userPermissions !== null && userPermissions !== void 0 && userPermissions.edit) && !!window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS;
102
- var canDelete = !!(userPermissions !== null && userPermissions !== void 0 && userPermissions["delete"]) && !!window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS;
103
- var canShowMenu = canEdit || canDelete;
104
- var _useToggleFavorite = useToggleFavorite(),
105
- toggleFavorite = _useToggleFavorite.toggleFavorite;
106
- var eventAmplitude = useEvent();
107
- var _useState7 = useState(false),
108
- _useState8 = _slicedToArray(_useState7, 2),
109
- isSearchActive = _useState8[0],
110
- setIsSearchActive = _useState8[1];
111
- var handleSearchAgents = useCallback(function (query) {
112
- setIsSearchActive(query !== '');
113
- onSearchAgents === null || onSearchAgents === void 0 || onSearchAgents(query);
114
- }, [onSearchAgents]);
115
- var openCreateAgentModal = useCallback(function () {
116
- eventAmplitude(EVENTS.openModal, {
117
- option: 'create_agent'
118
- });
119
- document.dispatchEvent(new CustomEvent('abm-agent-modal-set-values', {
120
- detail: {
121
- agentValues: {
122
- values: {
123
- isEditing: false
124
- },
125
- isOpen: true
126
- }
127
- }
128
- }));
129
- }, [eventAmplitude]);
130
- var handleEmptyStatePrimaryAction = useCallback(function () {
131
- var useMarketplace = !!window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS && typeof onGoToMaiaker === 'function';
132
- if (useMarketplace) {
133
- onGoToMaiaker();
134
- return;
135
- }
136
- openCreateAgentModal();
137
- }, [onGoToMaiaker, openCreateAgentModal]);
138
- var handleLoadMore = function handleLoadMore() {
139
- if (!onLoadMoreAgents || !hasMoreAgents || loadingMoreAgents) {
140
- return;
141
- }
142
- onLoadMoreAgents();
143
- };
144
- var deleteModalChat = useMemo(function () {
145
- return agentToDelete ? {
146
- title: agentToDelete.name,
147
- id: agentToDelete.id
148
- } : null;
149
- }, [agentToDelete]);
150
- var handleUseAgent = function handleUseAgent(agent) {
151
- setProject(null);
152
- setClient === null || setClient === void 0 || setClient(null);
153
- setTask(null);
154
- selectAgent(agent);
155
- onBack();
156
- };
157
- var normalizeText = function normalizeText(value) {
158
- if (Array.isArray(value)) return value[0] || '';
159
- return value || '';
160
- };
161
- var getCreatedAtLabel = function getCreatedAtLabel(agent) {
162
- var createdAt = agent.created_at;
163
- if (!createdAt) return '';
164
- var createdAtDate = new Date(createdAt);
165
- if (Number.isNaN(createdAtDate.getTime())) return '';
166
- var diffMs = Date.now() - createdAtDate.getTime();
167
- var dayMs = 1000 * 60 * 60 * 24;
168
- var days = Math.max(0, Math.floor(diffMs / dayMs));
169
- if (days === 0) return t('marketplace.myAgentsToday');
170
- if (days === 1) return t('marketplace.myAgentsOneDayAgo');
171
- return t('marketplace.myAgentsDaysAgo', {
172
- days: days
173
- });
174
- };
175
- var handleOpenEditAgent = function handleOpenEditAgent(agent) {
176
- document.dispatchEvent(new CustomEvent('abm-agent-modal-set-values', {
177
- detail: {
178
- agentValues: {
179
- values: {
180
- isEditing: true,
181
- knowledge: (agent === null || agent === void 0 ? void 0 : agent.knowledge) || [],
182
- general: {
183
- name: agent.name,
184
- id: agent.id
185
- }
186
- },
187
- isOpen: true
188
- }
189
- }
190
- }));
191
- setMenuOpenForAgentId(null);
192
- };
193
- var handleToggleFavorite = function handleToggleFavorite(event, agent, isFavorite) {
194
- event.preventDefault();
195
- event.stopPropagation();
196
- toggleFavorite(agent.id, function (updatedAgent) {
197
- onFavoriteAgentUpdate === null || onFavoriteAgentUpdate === void 0 || onFavoriteAgentUpdate(updatedAgent);
198
- }, undefined, isFavorite);
199
- };
200
- var handleConfirmDelete = /*#__PURE__*/function () {
201
- var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(chat) {
202
- var _t;
203
- return _regeneratorRuntime.wrap(function (_context) {
204
- while (1) switch (_context.prev = _context.next) {
205
- case 0:
206
- _context.prev = 0;
207
- _context.next = 1;
208
- return deleteAgent(chat.id);
209
- case 1:
210
- handleSnackbarSuccess(t('confirmAgentDeleted', {
211
- ns: SECTIONS.abmAgent
212
- }));
213
- onDeleteAgent === null || onDeleteAgent === void 0 || onDeleteAgent(chat.id);
214
- setAgentToDelete(null);
215
- setMenuOpenForAgentId(null);
216
- _context.next = 3;
217
- break;
218
- case 2:
219
- _context.prev = 2;
220
- _t = _context["catch"](0);
221
- handleSnackbarError(t('errorAgentCreated', {
222
- ns: SECTIONS.abmAgent
223
- }));
224
- case 3:
225
- case "end":
226
- return _context.stop();
227
- }
228
- }, _callee, null, [[0, 2]]);
229
- }));
230
- return function handleConfirmDelete(_x) {
231
- return _ref3.apply(this, arguments);
232
- };
233
- }();
234
- useEffect(function () {
235
- var handleClickOutside = function handleClickOutside() {
236
- if (menuOpenForAgentId) {
237
- setMenuOpenForAgentId(null);
238
- }
239
- };
240
- document.addEventListener('click', handleClickOutside);
241
- return function () {
242
- document.removeEventListener('click', handleClickOutside);
243
- };
244
- }, [menuOpenForAgentId]);
245
- useEffect(function () {
246
- var container = document.getElementById('my-agents-scroll-container');
247
- if (!container) {
248
- return undefined;
249
- }
250
- var onScroll = function onScroll() {
251
- if (!hasMoreAgents || loadingMoreAgents) return;
252
- var scrollTop = container.scrollTop,
253
- clientHeight = container.clientHeight,
254
- scrollHeight = container.scrollHeight;
255
- var nearBottom = scrollTop + clientHeight >= scrollHeight - 40;
256
- if (nearBottom) {
257
- handleLoadMore();
258
- }
259
- };
260
- container.addEventListener('scroll', onScroll);
261
- return function () {
262
- container.removeEventListener('scroll', onScroll);
263
- };
264
- }, [hasMoreAgents, loadingMoreAgents, onLoadMoreAgents]);
265
- useEffect(function () {
266
- var container = document.getElementById('my-agents-scroll-container');
267
- if (!container || !hasMoreAgents || loadingMoreAgents) {
268
- return undefined;
269
- }
270
- if (container.scrollHeight <= container.clientHeight + 1) {
271
- handleLoadMore();
272
- }
273
- return undefined;
274
- }, [customAgents.length, hasMoreAgents, loadingMoreAgents, onLoadMoreAgents]);
275
- return /*#__PURE__*/_jsxs(SCMAMyAgentsContainer, {
276
- id: "my-agents-scroll-container",
277
- $hasAgents: !!customAgents.length || isSearchActive,
278
- children: [/*#__PURE__*/_jsx(SCMALogoContainer, {
279
- children: /*#__PURE__*/_jsx(MAIAIsologo, {})
280
- }), /*#__PURE__*/_jsxs(SCMABody, {
281
- $canCreateAgent: canCreateAgent,
282
- children: [customAgents.length || isSearchActive ? /*#__PURE__*/_jsxs(SCMATitleWrap, {
283
- children: [/*#__PURE__*/_jsx(SCMATitleInner, {
284
- children: /*#__PURE__*/_jsx(SCMATitle, {
285
- children: t('marketplace.myAgentsReadyTitle')
286
- })
287
- }), onSearchAgents ? /*#__PURE__*/_jsx(AgentSearchInput, {
288
- onSearch: handleSearchAgents,
289
- placeholder: t('marketplace.searchAgentPlaceholder'),
290
- hint: t('marketplace.searchMinLength')
291
- }) : null]
292
- }) : null, searchLoadingAgents ? /*#__PURE__*/_jsx(SCMACardsOuter, {
293
- children: /*#__PURE__*/_jsx(SCMACardsRow, {
294
- children: Array.from({
295
- length: 6
296
- }).map(function (_, i) {
297
- return (
298
- /*#__PURE__*/
299
- // eslint-disable-next-line react/no-array-index-key
300
- _jsxs(SCMACardSkeletonItem, {
301
- children: [/*#__PURE__*/_jsx(Skeleton, {
302
- variant: "circular",
303
- width: 16,
304
- height: 16
305
- }), /*#__PURE__*/_jsx(Skeleton, {
306
- variant: "text",
307
- height: 14
308
- }), /*#__PURE__*/_jsx(Skeleton, {
309
- variant: "text",
310
- height: 14,
311
- width: "75%"
312
- }), /*#__PURE__*/_jsx(Skeleton, {
313
- variant: "text",
314
- height: 12
315
- }), /*#__PURE__*/_jsx(Skeleton, {
316
- variant: "text",
317
- height: 12,
318
- width: "85%"
319
- }), /*#__PURE__*/_jsx(Skeleton, {
320
- variant: "text",
321
- height: 11,
322
- width: "40%"
323
- })]
324
- }, i)
325
- );
326
- })
327
- })
328
- }) : null, !searchLoadingAgents && customAgents.length ? /*#__PURE__*/_jsx(SCMACardsOuter, {
329
- children: /*#__PURE__*/_jsx(SCMACardsRow, {
330
- children: customAgents.map(function (agent, index) {
331
- var _agent$emoji;
332
- return /*#__PURE__*/_jsxs(SCMACardButton, {
333
- $index: index,
334
- type: "button",
335
- onClick: function onClick() {
336
- return handleUseAgent(agent);
337
- },
338
- children: [/*#__PURE__*/_jsxs(SCMACardHeader, {
339
- children: [/*#__PURE__*/_jsxs(SCMACardTopRow, {
340
- children: [/*#__PURE__*/_jsx(SCMACardTitleEmoji, {
341
- "aria-hidden": true,
342
- children: (_agent$emoji = agent.emoji) !== null && _agent$emoji !== void 0 && _agent$emoji.trim() ? agent.emoji : "\xA0"
343
- }), canShowMenu ? /*#__PURE__*/_jsx(SCMAKebabButton, {
344
- type: "button",
345
- "aria-label": t('marketplace.cardMenuAriaLabel'),
346
- onClick: function onClick(event) {
347
- event.preventDefault();
348
- event.stopPropagation();
349
- setMenuOpenForAgentId(function (prev) {
350
- return prev === agent.id ? null : agent.id;
351
- });
352
- },
353
- children: /*#__PURE__*/_jsx(MenuDots, {
354
- color: "#999",
355
- width: 15,
356
- height: 15
357
- })
358
- }) : null]
359
- }), /*#__PURE__*/_jsx(SCMACardTitleName, {
360
- children: agent.name
361
- })]
362
- }), /*#__PURE__*/_jsxs(SCMACardBody, {
363
- children: [/*#__PURE__*/_jsx(SCMACardIntroText, {
364
- children: normalizeText(agent.introduction)
365
- }), /*#__PURE__*/_jsxs(SCMACardFooter, {
366
- children: [/*#__PURE__*/_jsx(SCMACardFooterDate, {
367
- children: getCreatedAtLabel(agent) || t('marketplace.myAgentsFallbackDate')
368
- }), /*#__PURE__*/_jsx(Tooltip, {
369
- title: agent.is_favorite ? t('agents.removeFavorite') : t('agents.addFavorite'),
370
- children: /*#__PURE__*/_jsx(SCMAFavoriteButton, {
371
- type: "button",
372
- "aria-label": agent.is_favorite ? t('agents.removeFavorite') : t('agents.addFavorite'),
373
- $alwaysVisible: !!agent.is_favorite,
374
- onClick: function onClick(event) {
375
- return handleToggleFavorite(event, agent, !!agent.is_favorite);
376
- },
377
- children: /*#__PURE__*/_jsx(SCMAFavoriteStarWrap, {
378
- children: /*#__PURE__*/_jsx(Star, {
379
- width: 16,
380
- height: 16,
381
- color: agent.is_favorite ? '#FFC624' : '#999',
382
- fill: agent.is_favorite ? '#FFC624' : 'none',
383
- variant: "solid",
384
- className: agent.is_favorite ? '' : 'star-favorite-icon'
385
- })
386
- })
387
- })
388
- })]
389
- })]
390
- }), menuOpenForAgentId === agent.id && canShowMenu ? /*#__PURE__*/_jsx(SCMACardMenu, {
391
- onClick: function onClick(event) {
392
- event.preventDefault();
393
- event.stopPropagation();
394
- },
395
- children: /*#__PURE__*/_jsxs(SCMACardMenuItems, {
396
- children: [canEdit ? /*#__PURE__*/_jsx(SCMACardMenuItem, {
397
- type: "button",
398
- onClick: function onClick() {
399
- handleOpenEditAgent(agent);
400
- },
401
- children: t('edit', {
402
- ns: SECTIONS.abmAgent
403
- })
404
- }) : null, canDelete ? /*#__PURE__*/_jsx(SCMACardMenuItem, {
405
- type: "button",
406
- onClick: function onClick() {
407
- setAgentToDelete(agent);
408
- },
409
- children: t('delete', {
410
- ns: SECTIONS.abmAgent
411
- })
412
- }) : null]
413
- })
414
- }) : null]
415
- }, agent.id);
416
- })
417
- })
418
- }) : null, !searchLoadingAgents && !customAgents.length && isSearchActive ? /*#__PURE__*/_jsxs(SCMASearchNoResults, {
419
- children: [/*#__PURE__*/_jsx(SCMASearchNoResultsTitle, {
420
- children: t('marketplace.searchNoResults')
421
- }), canCreateAgent ? /*#__PURE__*/_jsx(SCMASearchNoResultsSubtitle, {
422
- children: t('marketplace.searchNoResultsSubtitle')
423
- }) : null]
424
- }) : null, !searchLoadingAgents && !customAgents.length && !isSearchActive ? /*#__PURE__*/_jsxs(SCMAEmptyStateRoot, {
425
- children: [/*#__PURE__*/_jsx(SCMAEmptyStateColumn, {
426
- children: /*#__PURE__*/_jsxs(SCMAEmptyStateTitleBlock, {
427
- children: [/*#__PURE__*/_jsx(SCMAEmptyStateTitle, {
428
- children: t('marketplace.myAgentsEmptyStateTitle')
429
- }), /*#__PURE__*/_jsx(SCMAEmptyStateSubtitle, {
430
- children: canCreateAgent ? t('marketplace.myAgentsEmptyStateDescription') : t('marketplace.myAgentsEmptyStateDescriptionNoPerm')
431
- })]
432
- })
433
- }), canCreateAgent ? /*#__PURE__*/_jsx(SCMAEmptyStateButton, {
434
- type: "button",
435
- onClick: handleEmptyStatePrimaryAction,
436
- children: t('marketplace.myAgentsEmptyStateButton')
437
- }) : null]
438
- }) : null, loadingMoreAgents ? /*#__PURE__*/_jsx(SCMALoadMoreWrapper, {
439
- children: /*#__PURE__*/_jsx(Fade, {
440
- children: /*#__PURE__*/_jsx(Loader, {
441
- size: "small"
442
- })
443
- })
444
- }) : null]
445
- }), deleteModalChat ? /*#__PURE__*/_jsx(DeleteQuestionModal, {
446
- onClose: function onClose() {
447
- return setAgentToDelete(null);
448
- },
449
- handlers: {
450
- handleConfirmAction: handleConfirmDelete
451
- },
452
- chat: deleteModalChat,
453
- action: "agent"
454
- }) : null]
455
- });
456
- };
457
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNhbGxiYWNrIiwidXNlRWZmZWN0IiwidXNlTWVtbyIsInVzZVJlZiIsInVzZVN0YXRlIiwiTWVudURvdHMiLCJTZWFyY2giLCJTdGFyIiwiVG9vbHRpcCIsInVzZVRyYW5zbGF0aW9uIiwidXNlR2xvYmFsQ29udGV4dCIsInVzZVVzZXIiLCJkZWxldGVBZ2VudCIsInVzZVNuYWNrQmFyTWFuYWdlciIsIkRlbGV0ZVF1ZXN0aW9uTW9kYWwiLCJTRUNUSU9OUyIsIkxvYWRlciIsIkZhZGUiLCJTa2VsZXRvbiIsInVzZVRvZ2dsZUZhdm9yaXRlIiwiRVZFTlRTIiwidXNlRXZlbnQiLCJTQ01BQm9keSIsIlNDTUFDYXJkQm9keSIsIlNDTUFDYXJkQnV0dG9uIiwiU0NNQUNhcmRGb290ZXIiLCJTQ01BQ2FyZEhlYWRlciIsIlNDTUFDYXJkVG9wUm93IiwiU0NNQUNhcmRJbnRyb1RleHQiLCJTQ01BQ2FyZE1lbnUiLCJTQ01BQ2FyZE1lbnVJdGVtIiwiU0NNQUNhcmRNZW51SXRlbXMiLCJTQ01BRmF2b3JpdGVCdXR0b24iLCJTQ01BRmF2b3JpdGVTdGFyV3JhcCIsIlNDTUFDYXJkRm9vdGVyRGF0ZSIsIlNDTUFDYXJkVGl0bGVFbW9qaSIsIlNDTUFDYXJkVGl0bGVOYW1lIiwiU0NNQUNhcmRzT3V0ZXIiLCJTQ01BQ2FyZHNSb3ciLCJTQ01BRW1wdHlTdGF0ZVJvb3QiLCJTQ01BRW1wdHlTdGF0ZUNvbHVtbiIsIlNDTUFFbXB0eVN0YXRlVGl0bGVCbG9jayIsIlNDTUFFbXB0eVN0YXRlVGl0bGUiLCJTQ01BRW1wdHlTdGF0ZVN1YnRpdGxlIiwiU0NNQUVtcHR5U3RhdGVCdXR0b24iLCJTQ01BS2ViYWJCdXR0b24iLCJTQ01BTG9hZE1vcmVXcmFwcGVyIiwiU0NNQUxvZ29Db250YWluZXIiLCJTQ01BTXlBZ2VudHNDb250YWluZXIiLCJTQ01BVGl0bGUiLCJTQ01BVGl0bGVJbm5lciIsIlNDTUFUaXRsZVdyYXAiLCJTQ01BQ2FyZFNrZWxldG9uSXRlbSIsIlNDTUFTZWFyY2hXcmFwcGVyIiwiU0NNQVNlYXJjaElucHV0IiwiU0NNQVNlYXJjaEhpbnQiLCJTQ01BU2VhcmNoTm9SZXN1bHRzIiwiU0NNQVNlYXJjaE5vUmVzdWx0c1RpdGxlIiwiU0NNQVNlYXJjaE5vUmVzdWx0c1N1YnRpdGxlIiwiTUFJQUlzb2xvZ28iLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiQWdlbnRTZWFyY2hJbnB1dCIsIm1lbW8iLCJfcmVmIiwib25TZWFyY2giLCJwbGFjZWhvbGRlciIsImhpbnQiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJ2YWx1ZSIsInNldFZhbHVlIiwiZGVib3VuY2VSZWYiLCJzaG93SGludCIsImxlbmd0aCIsImhhbmRsZUNoYW5nZSIsImUiLCJ2YWwiLCJ0YXJnZXQiLCJjdXJyZW50IiwiY2xlYXJUaW1lb3V0Iiwic2V0VGltZW91dCIsImNoaWxkcmVuIiwid2lkdGgiLCJoZWlnaHQiLCJjb2xvciIsInR5cGUiLCJvbkNoYW5nZSIsIkNoYXRBSU15QWdlbnRzIiwiX3JlZjIiLCJfdXNlciRwZXJtaXNzaW9ucyIsIm9uQmFjayIsImFnZW50cyIsIm9uRGVsZXRlQWdlbnQiLCJvbkZhdm9yaXRlQWdlbnRVcGRhdGUiLCJfcmVmMiRoYXNNb3JlQWdlbnRzIiwiaGFzTW9yZUFnZW50cyIsIl9yZWYyJGxvYWRpbmdNb3JlQWdlbiIsImxvYWRpbmdNb3JlQWdlbnRzIiwib25Mb2FkTW9yZUFnZW50cyIsIm9uR29Ub01haWFrZXIiLCJvblNlYXJjaEFnZW50cyIsIl9yZWYyJHNlYXJjaExvYWRpbmdBZyIsInNlYXJjaExvYWRpbmdBZ2VudHMiLCJfdXNlVHJhbnNsYXRpb24iLCJjaGF0QUkiLCJhYm1BZ2VudCIsInQiLCJ1c2VyIiwiX3VzZUdsb2JhbENvbnRleHQiLCJzZWxlY3RBZ2VudCIsInNldFByb2plY3QiLCJzZXRDbGllbnQiLCJzZXRUYXNrIiwiX3VzZVNuYWNrQmFyTWFuYWdlciIsImhhbmRsZVNuYWNrYmFyU3VjY2VzcyIsImhhbmRsZVNuYWNrYmFyRXJyb3IiLCJjdXN0b21BZ2VudHMiLCJmaWx0ZXIiLCJhZ2VudCIsImlzX2RlbGV0ZWQiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsIm1lbnVPcGVuRm9yQWdlbnRJZCIsInNldE1lbnVPcGVuRm9yQWdlbnRJZCIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiYWdlbnRUb0RlbGV0ZSIsInNldEFnZW50VG9EZWxldGUiLCJ1c2VyUGVybWlzc2lvbnMiLCJwZXJtaXNzaW9ucyIsImFpX2FnZW50cyIsImNhbkNyZWF0ZUFnZW50IiwiY3JlYXRlIiwid2luZG93IiwiTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyIsImNhbkVkaXQiLCJlZGl0IiwiY2FuRGVsZXRlIiwiY2FuU2hvd01lbnUiLCJfdXNlVG9nZ2xlRmF2b3JpdGUiLCJ0b2dnbGVGYXZvcml0ZSIsImV2ZW50QW1wbGl0dWRlIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJpc1NlYXJjaEFjdGl2ZSIsInNldElzU2VhcmNoQWN0aXZlIiwiaGFuZGxlU2VhcmNoQWdlbnRzIiwicXVlcnkiLCJvcGVuQ3JlYXRlQWdlbnRNb2RhbCIsIm9wZW5Nb2RhbCIsIm9wdGlvbiIsImRvY3VtZW50IiwiZGlzcGF0Y2hFdmVudCIsIkN1c3RvbUV2ZW50IiwiZGV0YWlsIiwiYWdlbnRWYWx1ZXMiLCJ2YWx1ZXMiLCJpc0VkaXRpbmciLCJpc09wZW4iLCJoYW5kbGVFbXB0eVN0YXRlUHJpbWFyeUFjdGlvbiIsInVzZU1hcmtldHBsYWNlIiwiaGFuZGxlTG9hZE1vcmUiLCJkZWxldGVNb2RhbENoYXQiLCJ0aXRsZSIsIm5hbWUiLCJpZCIsImhhbmRsZVVzZUFnZW50Iiwibm9ybWFsaXplVGV4dCIsIkFycmF5IiwiaXNBcnJheSIsImdldENyZWF0ZWRBdExhYmVsIiwiY3JlYXRlZEF0IiwiY3JlYXRlZF9hdCIsImNyZWF0ZWRBdERhdGUiLCJEYXRlIiwiTnVtYmVyIiwiaXNOYU4iLCJnZXRUaW1lIiwiZGlmZk1zIiwibm93IiwiZGF5TXMiLCJkYXlzIiwiTWF0aCIsIm1heCIsImZsb29yIiwiaGFuZGxlT3BlbkVkaXRBZ2VudCIsImtub3dsZWRnZSIsImdlbmVyYWwiLCJoYW5kbGVUb2dnbGVGYXZvcml0ZSIsImV2ZW50IiwiaXNGYXZvcml0ZSIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aW9uIiwidXBkYXRlZEFnZW50IiwidW5kZWZpbmVkIiwiaGFuZGxlQ29uZmlybURlbGV0ZSIsIl9yZWYzIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJjaGF0IiwiX3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsIm5zIiwic3RvcCIsIl94IiwiYXBwbHkiLCJhcmd1bWVudHMiLCJoYW5kbGVDbGlja091dHNpZGUiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImNvbnRhaW5lciIsImdldEVsZW1lbnRCeUlkIiwib25TY3JvbGwiLCJzY3JvbGxUb3AiLCJjbGllbnRIZWlnaHQiLCJzY3JvbGxIZWlnaHQiLCJuZWFyQm90dG9tIiwiJGhhc0FnZW50cyIsIiRjYW5DcmVhdGVBZ2VudCIsImZyb20iLCJtYXAiLCJfIiwiaSIsInZhcmlhbnQiLCJpbmRleCIsIl9hZ2VudCRlbW9qaSIsIiRpbmRleCIsIm9uQ2xpY2siLCJlbW9qaSIsInRyaW0iLCJpbnRyb2R1Y3Rpb24iLCJpc19mYXZvcml0ZSIsIiRhbHdheXNWaXNpYmxlIiwiZmlsbCIsImNsYXNzTmFtZSIsInNpemUiLCJvbkNsb3NlIiwiaGFuZGxlcnMiLCJoYW5kbGVDb25maXJtQWN0aW9uIiwiYWN0aW9uIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSU15QWdlbnRzL0NoYXRBSU15QWdlbnRzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgTWVudURvdHMgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9NZW51RG90cydcbmltcG9ydCB7IFNlYXJjaCB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL1NlYXJjaCdcbmltcG9ydCB7IFN0YXIgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9TdGFyJ1xuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJ0Bwcm9qZWN0Y29yL3Rvb2x0aXB2Mi9saWIvY29tcG9uZW50cy9Ub29sdGlwJ1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgdXNlR2xvYmFsQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL2NvbnRleHQvZ2xvYmFsLWNvbnRleHQnXG5pbXBvcnQgeyB1c2VVc2VyIH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9jb3ItdXNlcidcbmltcG9ydCB7IEFnZW50IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgeyBkZWxldGVBZ2VudCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21haWEvQWdlbnRzL2RlbGV0ZUFnZW50J1xuaW1wb3J0IHsgdXNlU25hY2tCYXJNYW5hZ2VyIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlU25hY2tCYXJNYW5hZ2VyL3VzZVNuYWNrQmFyTWFuYWdlcidcbmltcG9ydCB7IERlbGV0ZVF1ZXN0aW9uTW9kYWwgfSBmcm9tICcuLi8uLi9vcmdhbmlzbXMvRGVsZXRlUXVlc3Rpb25Nb2RhbC9EZWxldGVRdWVzdGlvbk1vZGFsJ1xuaW1wb3J0IHsgU0VDVElPTlMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvY29uZmlnJ1xuaW1wb3J0IHsgTG9hZGVyIH0gZnJvbSAnLi4vLi4vYXRvbXMvTG9hZGVyJ1xuaW1wb3J0IHsgRmFkZSB9IGZyb20gJy4uLy4uL2F0b21zL0ZhZGUnXG5pbXBvcnQgeyBTa2VsZXRvbiB9IGZyb20gJy4uLy4uL2F0b21zL1NrZWxldG9uL1NrZWxldG9uJ1xuaW1wb3J0IHsgdXNlVG9nZ2xlRmF2b3JpdGUgfSBmcm9tICcuLi8uLi8uLi9ob29rcydcbmltcG9ydCB7IEVWRU5UUywgdXNlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VFdmVudCdcbmltcG9ydCB7XG4gIFNDTUFCb2R5LFxuICBTQ01BQ2FyZEJvZHksXG4gIFNDTUFDYXJkQnV0dG9uLFxuICBTQ01BQ2FyZEZvb3RlcixcbiAgU0NNQUNhcmRIZWFkZXIsXG4gIFNDTUFDYXJkVG9wUm93LFxuICBTQ01BQ2FyZEludHJvVGV4dCxcbiAgU0NNQUNhcmRNZW51LFxuICBTQ01BQ2FyZE1lbnVJdGVtLFxuICBTQ01BQ2FyZE1lbnVJdGVtcyxcbiAgU0NNQUZhdm9yaXRlQnV0dG9uLFxuICBTQ01BRmF2b3JpdGVTdGFyV3JhcCxcbiAgU0NNQUNhcmRGb290ZXJEYXRlLFxuICBTQ01BQ2FyZFRpdGxlRW1vamksXG4gIFNDTUFDYXJkVGl0bGVOYW1lLFxuICBTQ01BQ2FyZHNPdXRlcixcbiAgU0NNQUNhcmRzUm93LFxuICBTQ01BRW1wdHlTdGF0ZVJvb3QsXG4gIFNDTUFFbXB0eVN0YXRlQ29sdW1uLFxuICBTQ01BRW1wdHlTdGF0ZVRpdGxlQmxvY2ssXG4gIFNDTUFFbXB0eVN0YXRlVGl0bGUsXG4gIFNDTUFFbXB0eVN0YXRlU3VidGl0bGUsXG4gIFNDTUFFbXB0eVN0YXRlQnV0dG9uLFxuICBTQ01BS2ViYWJCdXR0b24sXG4gIFNDTUFMb2FkTW9yZVdyYXBwZXIsXG4gIFNDTUFMb2dvQ29udGFpbmVyLFxuICBTQ01BTXlBZ2VudHNDb250YWluZXIsXG4gIFNDTUFUaXRsZSxcbiAgU0NNQVRpdGxlSW5uZXIsXG4gIFNDTUFUaXRsZVdyYXAsXG4gIFNDTUFDYXJkU2tlbGV0b25JdGVtLFxuICBTQ01BU2VhcmNoV3JhcHBlcixcbiAgU0NNQVNlYXJjaElucHV0LFxuICBTQ01BU2VhcmNoSGludCxcbiAgU0NNQVNlYXJjaE5vUmVzdWx0cyxcbiAgU0NNQVNlYXJjaE5vUmVzdWx0c1RpdGxlLFxuICBTQ01BU2VhcmNoTm9SZXN1bHRzU3VidGl0bGUsXG59IGZyb20gJy4vQ2hhdEFJTXlBZ2VudHMuc3R5bGVzJ1xuaW1wb3J0IHsgTUFJQUlzb2xvZ28gfSBmcm9tICcuLi8uLi9hdG9tcy9pY29ucydcblxuY29uc3QgQWdlbnRTZWFyY2hJbnB1dCA9IFJlYWN0Lm1lbW8oXG4gICh7IG9uU2VhcmNoLCBwbGFjZWhvbGRlciwgaGludCB9OiB7IG9uU2VhcmNoOiAocTogc3RyaW5nKSA9PiB2b2lkOyBwbGFjZWhvbGRlcjogc3RyaW5nOyBoaW50OiBzdHJpbmcgfSkgPT4ge1xuICAgIGNvbnN0IFt2YWx1ZSwgc2V0VmFsdWVdID0gdXNlU3RhdGUoJycpXG4gICAgY29uc3QgZGVib3VuY2VSZWYgPSB1c2VSZWY8UmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCBudWxsPihudWxsKVxuICAgIGNvbnN0IHNob3dIaW50ID0gdmFsdWUubGVuZ3RoID4gMCAmJiB2YWx1ZS5sZW5ndGggPCAzXG5cbiAgICBjb25zdCBoYW5kbGVDaGFuZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAgIChlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgICBjb25zdCB7IHZhbHVlOiB2YWwgfSA9IGUudGFyZ2V0XG4gICAgICAgIHNldFZhbHVlKHZhbClcbiAgICAgICAgaWYgKGRlYm91bmNlUmVmLmN1cnJlbnQpIGNsZWFyVGltZW91dChkZWJvdW5jZVJlZi5jdXJyZW50KVxuICAgICAgICBkZWJvdW5jZVJlZi5jdXJyZW50ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgaWYgKHZhbCA9PT0gJycgfHwgdmFsLmxlbmd0aCA+PSAzKSBvblNlYXJjaCh2YWwpXG4gICAgICAgIH0sIDM1MClcbiAgICAgIH0sXG4gICAgICBbb25TZWFyY2hdXG4gICAgKVxuXG4gICAgdXNlRWZmZWN0KFxuICAgICAgKCkgPT4gKCkgPT4ge1xuICAgICAgICBpZiAoZGVib3VuY2VSZWYuY3VycmVudCkgY2xlYXJUaW1lb3V0KGRlYm91bmNlUmVmLmN1cnJlbnQpXG4gICAgICB9LFxuICAgICAgW11cbiAgICApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPFNDTUFTZWFyY2hXcmFwcGVyPlxuICAgICAgICA8U2VhcmNoIHdpZHRoPXsxNn0gaGVpZ2h0PXsxNn0gY29sb3I9XCIjOTk5XCIgLz5cbiAgICAgICAgPFNDTUFTZWFyY2hJbnB1dCB0eXBlPVwidGV4dFwiIHZhbHVlPXt2YWx1ZX0gb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX0gcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyfSAvPlxuICAgICAgICB7c2hvd0hpbnQgPyA8U0NNQVNlYXJjaEhpbnQ+e2hpbnR9PC9TQ01BU2VhcmNoSGludD4gOiBudWxsfVxuICAgICAgPC9TQ01BU2VhcmNoV3JhcHBlcj5cbiAgICApXG4gIH1cbilcblxudHlwZSBDaGF0QUlNeUFnZW50c1Byb3BzID0ge1xuICBvbkJhY2s6ICgpID0+IHZvaWRcbiAgYWdlbnRzOiBBZ2VudFtdXG4gIG9uRGVsZXRlQWdlbnQ/OiAoYWdlbnRJZDogc3RyaW5nKSA9PiB2b2lkXG4gIG9uRmF2b3JpdGVBZ2VudFVwZGF0ZT86IChhZ2VudDogQWdlbnQpID0+IHZvaWRcbiAgaGFzTW9yZUFnZW50cz86IGJvb2xlYW5cbiAgbG9hZGluZ01vcmVBZ2VudHM/OiBib29sZWFuXG4gIG9uTG9hZE1vcmVBZ2VudHM/OiAoKSA9PiB2b2lkXG4gIG9uR29Ub01haWFrZXI/OiAoKSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPlxuICBvblNlYXJjaEFnZW50cz86IChxdWVyeTogc3RyaW5nKSA9PiB2b2lkXG4gIHNlYXJjaExvYWRpbmdBZ2VudHM/OiBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCBDaGF0QUlNeUFnZW50cyA9ICh7XG4gIG9uQmFjayxcbiAgYWdlbnRzLFxuICBvbkRlbGV0ZUFnZW50LFxuICBvbkZhdm9yaXRlQWdlbnRVcGRhdGUsXG4gIGhhc01vcmVBZ2VudHMgPSBmYWxzZSxcbiAgbG9hZGluZ01vcmVBZ2VudHMgPSBmYWxzZSxcbiAgb25Mb2FkTW9yZUFnZW50cyxcbiAgb25Hb1RvTWFpYWtlcixcbiAgb25TZWFyY2hBZ2VudHMsXG4gIHNlYXJjaExvYWRpbmdBZ2VudHMgPSBmYWxzZSxcbn06IENoYXRBSU15QWdlbnRzUHJvcHMpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbU0VDVElPTlMuY2hhdEFJLCBTRUNUSU9OUy5hYm1BZ2VudF0pXG4gIGNvbnN0IHVzZXIgPSB1c2VVc2VyKClcbiAgY29uc3QgeyBzZWxlY3RBZ2VudCwgc2V0UHJvamVjdCwgc2V0Q2xpZW50LCBzZXRUYXNrIH0gPSB1c2VHbG9iYWxDb250ZXh0KClcbiAgY29uc3QgeyBoYW5kbGVTbmFja2JhclN1Y2Nlc3MsIGhhbmRsZVNuYWNrYmFyRXJyb3IgfSA9IHVzZVNuYWNrQmFyTWFuYWdlcigpXG4gIGNvbnN0IGN1c3RvbUFnZW50cyA9IGFnZW50cy5maWx0ZXIoYWdlbnQgPT4gYWdlbnQudHlwZSA9PT0gJ2N1c3RvbScgJiYgIWFnZW50LmlzX2RlbGV0ZWQpXG4gIGNvbnN0IFttZW51T3BlbkZvckFnZW50SWQsIHNldE1lbnVPcGVuRm9yQWdlbnRJZF0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKVxuICBjb25zdCBbYWdlbnRUb0RlbGV0ZSwgc2V0QWdlbnRUb0RlbGV0ZV0gPSB1c2VTdGF0ZTxBZ2VudCB8IG51bGw+KG51bGwpXG4gIGNvbnN0IHVzZXJQZXJtaXNzaW9ucyA9IHVzZXI/LnBlcm1pc3Npb25zPy5haV9hZ2VudHNcbiAgY29uc3QgY2FuQ3JlYXRlQWdlbnQgPSAhIXVzZXJQZXJtaXNzaW9ucz8uY3JlYXRlICYmICEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFNcbiAgY29uc3QgY2FuRWRpdCA9ICEhdXNlclBlcm1pc3Npb25zPy5lZGl0ICYmICEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFNcbiAgY29uc3QgY2FuRGVsZXRlID0gISF1c2VyUGVybWlzc2lvbnM/LmRlbGV0ZSAmJiAhIXdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTXG4gIGNvbnN0IGNhblNob3dNZW51ID0gY2FuRWRpdCB8fCBjYW5EZWxldGVcbiAgY29uc3QgeyB0b2dnbGVGYXZvcml0ZSB9ID0gdXNlVG9nZ2xlRmF2b3JpdGUoKVxuICBjb25zdCBldmVudEFtcGxpdHVkZSA9IHVzZUV2ZW50KClcbiAgY29uc3QgW2lzU2VhcmNoQWN0aXZlLCBzZXRJc1NlYXJjaEFjdGl2ZV0gPSB1c2VTdGF0ZShmYWxzZSlcblxuICBjb25zdCBoYW5kbGVTZWFyY2hBZ2VudHMgPSB1c2VDYWxsYmFjayhcbiAgICAocXVlcnk6IHN0cmluZykgPT4ge1xuICAgICAgc2V0SXNTZWFyY2hBY3RpdmUocXVlcnkgIT09ICcnKVxuICAgICAgb25TZWFyY2hBZ2VudHM/LihxdWVyeSlcbiAgICB9LFxuICAgIFtvblNlYXJjaEFnZW50c11cbiAgKVxuXG4gIGNvbnN0IG9wZW5DcmVhdGVBZ2VudE1vZGFsID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5vcGVuTW9kYWwsIHsgb3B0aW9uOiAnY3JlYXRlX2FnZW50JyB9KVxuICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgQ3VzdG9tRXZlbnQoJ2FibS1hZ2VudC1tb2RhbC1zZXQtdmFsdWVzJywge1xuICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICBhZ2VudFZhbHVlczoge1xuICAgICAgICAgICAgdmFsdWVzOiB7XG4gICAgICAgICAgICAgIGlzRWRpdGluZzogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaXNPcGVuOiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgIClcbiAgfSwgW2V2ZW50QW1wbGl0dWRlXSlcblxuICBjb25zdCBoYW5kbGVFbXB0eVN0YXRlUHJpbWFyeUFjdGlvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCB1c2VNYXJrZXRwbGFjZSA9ICEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMgJiYgdHlwZW9mIG9uR29Ub01haWFrZXIgPT09ICdmdW5jdGlvbidcbiAgICBpZiAodXNlTWFya2V0cGxhY2UpIHtcbiAgICAgIG9uR29Ub01haWFrZXIoKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIG9wZW5DcmVhdGVBZ2VudE1vZGFsKClcbiAgfSwgW29uR29Ub01haWFrZXIsIG9wZW5DcmVhdGVBZ2VudE1vZGFsXSlcblxuICBjb25zdCBoYW5kbGVMb2FkTW9yZSA9ICgpID0+IHtcbiAgICBpZiAoIW9uTG9hZE1vcmVBZ2VudHMgfHwgIWhhc01vcmVBZ2VudHMgfHwgbG9hZGluZ01vcmVBZ2VudHMpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBvbkxvYWRNb3JlQWdlbnRzKClcbiAgfVxuXG4gIGNvbnN0IGRlbGV0ZU1vZGFsQ2hhdCA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKGFnZW50VG9EZWxldGUgPyB7IHRpdGxlOiBhZ2VudFRvRGVsZXRlLm5hbWUsIGlkOiBhZ2VudFRvRGVsZXRlLmlkIH0gOiBudWxsKSxcbiAgICBbYWdlbnRUb0RlbGV0ZV1cbiAgKVxuXG4gIGNvbnN0IGhhbmRsZVVzZUFnZW50ID0gKGFnZW50OiBBZ2VudCkgPT4ge1xuICAgIHNldFByb2plY3QobnVsbClcbiAgICBzZXRDbGllbnQ/LihudWxsKVxuICAgIHNldFRhc2sobnVsbClcbiAgICBzZWxlY3RBZ2VudChhZ2VudClcbiAgICBvbkJhY2soKVxuICB9XG5cbiAgY29uc3Qgbm9ybWFsaXplVGV4dCA9ICh2YWx1ZT86IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbCkgPT4ge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkgcmV0dXJuIHZhbHVlWzBdIHx8ICcnXG4gICAgcmV0dXJuIHZhbHVlIHx8ICcnXG4gIH1cblxuICBjb25zdCBnZXRDcmVhdGVkQXRMYWJlbCA9IChhZ2VudDogQWdlbnQpID0+IHtcbiAgICBjb25zdCBjcmVhdGVkQXQgPSAoYWdlbnQgYXMgQWdlbnQgJiB7IGNyZWF0ZWRfYXQ/OiBzdHJpbmcgfSkuY3JlYXRlZF9hdFxuICAgIGlmICghY3JlYXRlZEF0KSByZXR1cm4gJydcblxuICAgIGNvbnN0IGNyZWF0ZWRBdERhdGUgPSBuZXcgRGF0ZShjcmVhdGVkQXQpXG4gICAgaWYgKE51bWJlci5pc05hTihjcmVhdGVkQXREYXRlLmdldFRpbWUoKSkpIHJldHVybiAnJ1xuXG4gICAgY29uc3QgZGlmZk1zID0gRGF0ZS5ub3coKSAtIGNyZWF0ZWRBdERhdGUuZ2V0VGltZSgpXG4gICAgY29uc3QgZGF5TXMgPSAxMDAwICogNjAgKiA2MCAqIDI0XG4gICAgY29uc3QgZGF5cyA9IE1hdGgubWF4KDAsIE1hdGguZmxvb3IoZGlmZk1zIC8gZGF5TXMpKVxuXG4gICAgaWYgKGRheXMgPT09IDApIHJldHVybiB0KCdtYXJrZXRwbGFjZS5teUFnZW50c1RvZGF5JylcbiAgICBpZiAoZGF5cyA9PT0gMSkgcmV0dXJuIHQoJ21hcmtldHBsYWNlLm15QWdlbnRzT25lRGF5QWdvJylcbiAgICByZXR1cm4gdCgnbWFya2V0cGxhY2UubXlBZ2VudHNEYXlzQWdvJywgeyBkYXlzIH0pXG4gIH1cblxuICBjb25zdCBoYW5kbGVPcGVuRWRpdEFnZW50ID0gKGFnZW50OiBBZ2VudCkgPT4ge1xuICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgQ3VzdG9tRXZlbnQoJ2FibS1hZ2VudC1tb2RhbC1zZXQtdmFsdWVzJywge1xuICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICBhZ2VudFZhbHVlczoge1xuICAgICAgICAgICAgdmFsdWVzOiB7XG4gICAgICAgICAgICAgIGlzRWRpdGluZzogdHJ1ZSxcbiAgICAgICAgICAgICAga25vd2xlZGdlOiBhZ2VudD8ua25vd2xlZGdlIHx8IFtdLFxuICAgICAgICAgICAgICBnZW5lcmFsOiB7XG4gICAgICAgICAgICAgICAgbmFtZTogYWdlbnQubmFtZSxcbiAgICAgICAgICAgICAgICBpZDogYWdlbnQuaWQsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaXNPcGVuOiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgIClcbiAgICBzZXRNZW51T3BlbkZvckFnZW50SWQobnVsbClcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVRvZ2dsZUZhdm9yaXRlID0gKGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxCdXR0b25FbGVtZW50PiwgYWdlbnQ6IEFnZW50LCBpc0Zhdm9yaXRlOiBib29sZWFuKSA9PiB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG5cbiAgICB0b2dnbGVGYXZvcml0ZShcbiAgICAgIGFnZW50LmlkLFxuICAgICAgdXBkYXRlZEFnZW50ID0+IHtcbiAgICAgICAgb25GYXZvcml0ZUFnZW50VXBkYXRlPy4odXBkYXRlZEFnZW50KVxuICAgICAgfSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIGlzRmF2b3JpdGVcbiAgICApXG4gIH1cblxuICBjb25zdCBoYW5kbGVDb25maXJtRGVsZXRlID0gYXN5bmMgKGNoYXQ6IHsgaWQ6IHN0cmluZyB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGRlbGV0ZUFnZW50KGNoYXQuaWQpXG4gICAgICBoYW5kbGVTbmFja2JhclN1Y2Nlc3ModCgnY29uZmlybUFnZW50RGVsZXRlZCcsIHsgbnM6IFNFQ1RJT05TLmFibUFnZW50IH0pKVxuICAgICAgb25EZWxldGVBZ2VudD8uKGNoYXQuaWQpXG4gICAgICBzZXRBZ2VudFRvRGVsZXRlKG51bGwpXG4gICAgICBzZXRNZW51T3BlbkZvckFnZW50SWQobnVsbClcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaGFuZGxlU25hY2tiYXJFcnJvcih0KCdlcnJvckFnZW50Q3JlYXRlZCcsIHsgbnM6IFNFQ1RJT05TLmFibUFnZW50IH0pKVxuICAgIH1cbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlQ2xpY2tPdXRzaWRlID0gKCkgPT4ge1xuICAgICAgaWYgKG1lbnVPcGVuRm9yQWdlbnRJZCkge1xuICAgICAgICBzZXRNZW51T3BlbkZvckFnZW50SWQobnVsbClcbiAgICAgIH1cbiAgICB9XG5cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGhhbmRsZUNsaWNrT3V0c2lkZSlcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgfVxuICB9LCBbbWVudU9wZW5Gb3JBZ2VudElkXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdteS1hZ2VudHMtc2Nyb2xsLWNvbnRhaW5lcicpXG4gICAgaWYgKCFjb250YWluZXIpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBjb25zdCBvblNjcm9sbCA9ICgpID0+IHtcbiAgICAgIGlmICghaGFzTW9yZUFnZW50cyB8fCBsb2FkaW5nTW9yZUFnZW50cykgcmV0dXJuXG4gICAgICBjb25zdCB7IHNjcm9sbFRvcCwgY2xpZW50SGVpZ2h0LCBzY3JvbGxIZWlnaHQgfSA9IGNvbnRhaW5lclxuICAgICAgY29uc3QgbmVhckJvdHRvbSA9IHNjcm9sbFRvcCArIGNsaWVudEhlaWdodCA+PSBzY3JvbGxIZWlnaHQgLSA0MFxuICAgICAgaWYgKG5lYXJCb3R0b20pIHtcbiAgICAgICAgaGFuZGxlTG9hZE1vcmUoKVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBvblNjcm9sbClcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY29udGFpbmVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIG9uU2Nyb2xsKVxuICAgIH1cbiAgfSwgW2hhc01vcmVBZ2VudHMsIGxvYWRpbmdNb3JlQWdlbnRzLCBvbkxvYWRNb3JlQWdlbnRzXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdteS1hZ2VudHMtc2Nyb2xsLWNvbnRhaW5lcicpXG4gICAgaWYgKCFjb250YWluZXIgfHwgIWhhc01vcmVBZ2VudHMgfHwgbG9hZGluZ01vcmVBZ2VudHMpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBpZiAoY29udGFpbmVyLnNjcm9sbEhlaWdodCA8PSBjb250YWluZXIuY2xpZW50SGVpZ2h0ICsgMSkge1xuICAgICAgaGFuZGxlTG9hZE1vcmUoKVxuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH0sIFtjdXN0b21BZ2VudHMubGVuZ3RoLCBoYXNNb3JlQWdlbnRzLCBsb2FkaW5nTW9yZUFnZW50cywgb25Mb2FkTW9yZUFnZW50c10pXG5cbiAgcmV0dXJuIChcbiAgICA8U0NNQU15QWdlbnRzQ29udGFpbmVyIGlkPVwibXktYWdlbnRzLXNjcm9sbC1jb250YWluZXJcIiAkaGFzQWdlbnRzPXshIWN1c3RvbUFnZW50cy5sZW5ndGggfHwgaXNTZWFyY2hBY3RpdmV9PlxuICAgICAgPFNDTUFMb2dvQ29udGFpbmVyPlxuICAgICAgICA8TUFJQUlzb2xvZ28gLz5cbiAgICAgIDwvU0NNQUxvZ29Db250YWluZXI+XG5cbiAgICAgIDxTQ01BQm9keSAkY2FuQ3JlYXRlQWdlbnQ9e2NhbkNyZWF0ZUFnZW50fT5cbiAgICAgICAge2N1c3RvbUFnZW50cy5sZW5ndGggfHwgaXNTZWFyY2hBY3RpdmUgPyAoXG4gICAgICAgICAgPFNDTUFUaXRsZVdyYXA+XG4gICAgICAgICAgICA8U0NNQVRpdGxlSW5uZXI+XG4gICAgICAgICAgICAgIDxTQ01BVGl0bGU+e3QoJ21hcmtldHBsYWNlLm15QWdlbnRzUmVhZHlUaXRsZScpfTwvU0NNQVRpdGxlPlxuICAgICAgICAgICAgPC9TQ01BVGl0bGVJbm5lcj5cbiAgICAgICAgICAgIHtvblNlYXJjaEFnZW50cyA/IChcbiAgICAgICAgICAgICAgPEFnZW50U2VhcmNoSW5wdXRcbiAgICAgICAgICAgICAgICBvblNlYXJjaD17aGFuZGxlU2VhcmNoQWdlbnRzfVxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXt0KCdtYXJrZXRwbGFjZS5zZWFyY2hBZ2VudFBsYWNlaG9sZGVyJyl9XG4gICAgICAgICAgICAgICAgaGludD17dCgnbWFya2V0cGxhY2Uuc2VhcmNoTWluTGVuZ3RoJyl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L1NDTUFUaXRsZVdyYXA+XG4gICAgICAgICkgOiBudWxsfVxuXG4gICAgICAgIHtzZWFyY2hMb2FkaW5nQWdlbnRzID8gKFxuICAgICAgICAgIDxTQ01BQ2FyZHNPdXRlcj5cbiAgICAgICAgICAgIDxTQ01BQ2FyZHNSb3c+XG4gICAgICAgICAgICAgIHtBcnJheS5mcm9tKHsgbGVuZ3RoOiA2IH0pLm1hcCgoXywgaSkgPT4gKFxuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9uby1hcnJheS1pbmRleC1rZXlcbiAgICAgICAgICAgICAgICA8U0NNQUNhcmRTa2VsZXRvbkl0ZW0ga2V5PXtpfT5cbiAgICAgICAgICAgICAgICAgIDxTa2VsZXRvbiB2YXJpYW50PVwiY2lyY3VsYXJcIiB3aWR0aD17MTZ9IGhlaWdodD17MTZ9IC8+XG4gICAgICAgICAgICAgICAgICA8U2tlbGV0b24gdmFyaWFudD1cInRleHRcIiBoZWlnaHQ9ezE0fSAvPlxuICAgICAgICAgICAgICAgICAgPFNrZWxldG9uIHZhcmlhbnQ9XCJ0ZXh0XCIgaGVpZ2h0PXsxNH0gd2lkdGg9XCI3NSVcIiAvPlxuICAgICAgICAgICAgICAgICAgPFNrZWxldG9uIHZhcmlhbnQ9XCJ0ZXh0XCIgaGVpZ2h0PXsxMn0gLz5cbiAgICAgICAgICAgICAgICAgIDxTa2VsZXRvbiB2YXJpYW50PVwidGV4dFwiIGhlaWdodD17MTJ9IHdpZHRoPVwiODUlXCIgLz5cbiAgICAgICAgICAgICAgICAgIDxTa2VsZXRvbiB2YXJpYW50PVwidGV4dFwiIGhlaWdodD17MTF9IHdpZHRoPVwiNDAlXCIgLz5cbiAgICAgICAgICAgICAgICA8L1NDTUFDYXJkU2tlbGV0b25JdGVtPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvU0NNQUNhcmRzUm93PlxuICAgICAgICAgIDwvU0NNQUNhcmRzT3V0ZXI+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgICB7IXNlYXJjaExvYWRpbmdBZ2VudHMgJiYgY3VzdG9tQWdlbnRzLmxlbmd0aCA/IChcbiAgICAgICAgICA8U0NNQUNhcmRzT3V0ZXI+XG4gICAgICAgICAgICA8U0NNQUNhcmRzUm93PlxuICAgICAgICAgICAgICB7Y3VzdG9tQWdlbnRzLm1hcCgoYWdlbnQsIGluZGV4KSA9PiAoXG4gICAgICAgICAgICAgICAgPFNDTUFDYXJkQnV0dG9uIGtleT17YWdlbnQuaWR9ICRpbmRleD17aW5kZXh9IHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXsoKSA9PiBoYW5kbGVVc2VBZ2VudChhZ2VudCl9PlxuICAgICAgICAgICAgICAgICAgPFNDTUFDYXJkSGVhZGVyPlxuICAgICAgICAgICAgICAgICAgICA8U0NNQUNhcmRUb3BSb3c+XG4gICAgICAgICAgICAgICAgICAgICAgPFNDTUFDYXJkVGl0bGVFbW9qaSBhcmlhLWhpZGRlbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHthZ2VudC5lbW9qaT8udHJpbSgpID8gYWdlbnQuZW1vamkgOiAnXFx1MDBhMCd9XG4gICAgICAgICAgICAgICAgICAgICAgPC9TQ01BQ2FyZFRpdGxlRW1vamk+XG4gICAgICAgICAgICAgICAgICAgICAge2NhblNob3dNZW51ID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPFNDTUFLZWJhYkJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD17dCgnbWFya2V0cGxhY2UuY2FyZE1lbnVBcmlhTGFiZWwnKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldE1lbnVPcGVuRm9yQWdlbnRJZChwcmV2ID0+IChwcmV2ID09PSBhZ2VudC5pZCA/IG51bGwgOiBhZ2VudC5pZCkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxNZW51RG90cyBjb2xvcj1cIiM5OTlcIiB3aWR0aD17MTV9IGhlaWdodD17MTV9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1NDTUFLZWJhYkJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgPC9TQ01BQ2FyZFRvcFJvdz5cbiAgICAgICAgICAgICAgICAgICAgPFNDTUFDYXJkVGl0bGVOYW1lPnthZ2VudC5uYW1lfTwvU0NNQUNhcmRUaXRsZU5hbWU+XG4gICAgICAgICAgICAgICAgICA8L1NDTUFDYXJkSGVhZGVyPlxuICAgICAgICAgICAgICAgICAgPFNDTUFDYXJkQm9keT5cbiAgICAgICAgICAgICAgICAgICAgPFNDTUFDYXJkSW50cm9UZXh0Pntub3JtYWxpemVUZXh0KGFnZW50LmludHJvZHVjdGlvbil9PC9TQ01BQ2FyZEludHJvVGV4dD5cbiAgICAgICAgICAgICAgICAgICAgPFNDTUFDYXJkRm9vdGVyPlxuICAgICAgICAgICAgICAgICAgICAgIDxTQ01BQ2FyZEZvb3RlckRhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICB7Z2V0Q3JlYXRlZEF0TGFiZWwoYWdlbnQpIHx8IHQoJ21hcmtldHBsYWNlLm15QWdlbnRzRmFsbGJhY2tEYXRlJyl9XG4gICAgICAgICAgICAgICAgICAgICAgPC9TQ01BQ2FyZEZvb3RlckRhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e2FnZW50LmlzX2Zhdm9yaXRlID8gdCgnYWdlbnRzLnJlbW92ZUZhdm9yaXRlJykgOiB0KCdhZ2VudHMuYWRkRmF2b3JpdGUnKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U0NNQUZhdm9yaXRlQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXthZ2VudC5pc19mYXZvcml0ZSA/IHQoJ2FnZW50cy5yZW1vdmVGYXZvcml0ZScpIDogdCgnYWdlbnRzLmFkZEZhdm9yaXRlJyl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICRhbHdheXNWaXNpYmxlPXshIWFnZW50LmlzX2Zhdm9yaXRlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtldmVudCA9PiBoYW5kbGVUb2dnbGVGYXZvcml0ZShldmVudCwgYWdlbnQsICEhYWdlbnQuaXNfZmF2b3JpdGUpfVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8U0NNQUZhdm9yaXRlU3RhcldyYXA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0YXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPXsxNn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD17MTZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj17YWdlbnQuaXNfZmF2b3JpdGUgPyAnI0ZGQzYyNCcgOiAnIzk5OSd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPXthZ2VudC5pc19mYXZvcml0ZSA/ICcjRkZDNjI0JyA6ICdub25lJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJzb2xpZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2FnZW50LmlzX2Zhdm9yaXRlID8gJycgOiAnc3Rhci1mYXZvcml0ZS1pY29uJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L1NDTUFGYXZvcml0ZVN0YXJXcmFwPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TQ01BRmF2b3JpdGVCdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgICAgICAgICA8L1NDTUFDYXJkRm9vdGVyPlxuICAgICAgICAgICAgICAgICAgPC9TQ01BQ2FyZEJvZHk+XG4gICAgICAgICAgICAgICAgICB7bWVudU9wZW5Gb3JBZ2VudElkID09PSBhZ2VudC5pZCAmJiBjYW5TaG93TWVudSA/IChcbiAgICAgICAgICAgICAgICAgICAgPFNDTUFDYXJkTWVudVxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2V2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxTQ01BQ2FyZE1lbnVJdGVtcz5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtjYW5FZGl0ID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8U0NNQUNhcmRNZW51SXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZU9wZW5FZGl0QWdlbnQoYWdlbnQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt0KCdlZGl0JywgeyBuczogU0VDVElPTlMuYWJtQWdlbnQgfSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvU0NNQUNhcmRNZW51SXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgICAgICAgICAge2NhbkRlbGV0ZSA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFNDTUFDYXJkTWVudUl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRBZ2VudFRvRGVsZXRlKGFnZW50KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dCgnZGVsZXRlJywgeyBuczogU0VDVElPTlMuYWJtQWdlbnQgfSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvU0NNQUNhcmRNZW51SXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgICAgICAgIDwvU0NNQUNhcmRNZW51SXRlbXM+XG4gICAgICAgICAgICAgICAgICAgIDwvU0NNQUNhcmRNZW51PlxuICAgICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAgPC9TQ01BQ2FyZEJ1dHRvbj5cbiAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8L1NDTUFDYXJkc1Jvdz5cbiAgICAgICAgICA8L1NDTUFDYXJkc091dGVyPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgICAgeyFzZWFyY2hMb2FkaW5nQWdlbnRzICYmICFjdXN0b21BZ2VudHMubGVuZ3RoICYmIGlzU2VhcmNoQWN0aXZlID8gKFxuICAgICAgICAgIDxTQ01BU2VhcmNoTm9SZXN1bHRzPlxuICAgICAgICAgICAgPFNDTUFTZWFyY2hOb1Jlc3VsdHNUaXRsZT57dCgnbWFya2V0cGxhY2Uuc2VhcmNoTm9SZXN1bHRzJyl9PC9TQ01BU2VhcmNoTm9SZXN1bHRzVGl0bGU+XG4gICAgICAgICAgICB7Y2FuQ3JlYXRlQWdlbnQgPyAoXG4gICAgICAgICAgICAgIDxTQ01BU2VhcmNoTm9SZXN1bHRzU3VidGl0bGU+e3QoJ21hcmtldHBsYWNlLnNlYXJjaE5vUmVzdWx0c1N1YnRpdGxlJyl9PC9TQ01BU2VhcmNoTm9SZXN1bHRzU3VidGl0bGU+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L1NDTUFTZWFyY2hOb1Jlc3VsdHM+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgICB7IXNlYXJjaExvYWRpbmdBZ2VudHMgJiYgIWN1c3RvbUFnZW50cy5sZW5ndGggJiYgIWlzU2VhcmNoQWN0aXZlID8gKFxuICAgICAgICAgIDxTQ01BRW1wdHlTdGF0ZVJvb3Q+XG4gICAgICAgICAgICA8U0NNQUVtcHR5U3RhdGVDb2x1bW4+XG4gICAgICAgICAgICAgIDxTQ01BRW1wdHlTdGF0ZVRpdGxlQmxvY2s+XG4gICAgICAgICAgICAgICAgPFNDTUFFbXB0eVN0YXRlVGl0bGU+e3QoJ21hcmtldHBsYWNlLm15QWdlbnRzRW1wdHlTdGF0ZVRpdGxlJyl9PC9TQ01BRW1wdHlTdGF0ZVRpdGxlPlxuICAgICAgICAgICAgICAgIDxTQ01BRW1wdHlTdGF0ZVN1YnRpdGxlPlxuICAgICAgICAgICAgICAgICAge2NhbkNyZWF0ZUFnZW50XG4gICAgICAgICAgICAgICAgICAgID8gdCgnbWFya2V0cGxhY2UubXlBZ2VudHNFbXB0eVN0YXRlRGVzY3JpcHRpb24nKVxuICAgICAgICAgICAgICAgICAgICA6IHQoJ21hcmtldHBsYWNlLm15QWdlbnRzRW1wdHlTdGF0ZURlc2NyaXB0aW9uTm9QZXJtJyl9XG4gICAgICAgICAgICAgICAgPC9TQ01BRW1wdHlTdGF0ZVN1YnRpdGxlPlxuICAgICAgICAgICAgICA8L1NDTUFFbXB0eVN0YXRlVGl0bGVCbG9jaz5cbiAgICAgICAgICAgIDwvU0NNQUVtcHR5U3RhdGVDb2x1bW4+XG4gICAgICAgICAgICB7Y2FuQ3JlYXRlQWdlbnQgPyAoXG4gICAgICAgICAgICAgIDxTQ01BRW1wdHlTdGF0ZUJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17aGFuZGxlRW1wdHlTdGF0ZVByaW1hcnlBY3Rpb259PlxuICAgICAgICAgICAgICAgIHt0KCdtYXJrZXRwbGFjZS5teUFnZW50c0VtcHR5U3RhdGVCdXR0b24nKX1cbiAgICAgICAgICAgICAgPC9TQ01BRW1wdHlTdGF0ZUJ1dHRvbj5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIDwvU0NNQUVtcHR5U3RhdGVSb290PlxuICAgICAgICApIDogbnVsbH1cbiAgICAgICAge2xvYWRpbmdNb3JlQWdlbnRzID8gKFxuICAgICAgICAgIDxTQ01BTG9hZE1vcmVXcmFwcGVyPlxuICAgICAgICAgICAgPEZhZGU+XG4gICAgICAgICAgICAgIDxMb2FkZXIgc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgIDwvRmFkZT5cbiAgICAgICAgICA8L1NDTUFMb2FkTW9yZVdyYXBwZXI+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9TQ01BQm9keT5cbiAgICAgIHtkZWxldGVNb2RhbENoYXQgPyAoXG4gICAgICAgIDxEZWxldGVRdWVzdGlvbk1vZGFsXG4gICAgICAgICAgb25DbG9zZT17KCkgPT4gc2V0QWdlbnRUb0RlbGV0ZShudWxsKX1cbiAgICAgICAgICBoYW5kbGVycz17e1xuICAgICAgICAgICAgaGFuZGxlQ29uZmlybUFjdGlvbjogaGFuZGxlQ29uZmlybURlbGV0ZSxcbiAgICAgICAgICB9fVxuICAgICAgICAgIGNoYXQ9e2RlbGV0ZU1vZGFsQ2hhdH1cbiAgICAgICAgICBhY3Rpb249XCJhZ2VudFwiXG4gICAgICAgIC8+XG4gICAgICApIDogbnVsbH1cbiAgICA8L1NDTUFNeUFnZW50c0NvbnRhaW5lcj5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7QUFBQSxPQUFPQSxLQUFLLElBQUlDLFdBQVcsRUFBRUMsU0FBUyxFQUFFQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxRQUFRLE9BQU87QUFDaEYsU0FBU0MsUUFBUSxRQUFRLDJDQUEyQztBQUNwRSxTQUFTQyxNQUFNLFFBQVEseUNBQXlDO0FBQ2hFLFNBQVNDLElBQUksUUFBUSx1Q0FBdUM7QUFDNUQsU0FBU0MsT0FBTyxRQUFRLDhDQUE4QztBQUN0RSxTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQUM5QyxTQUFTQyxnQkFBZ0IsUUFBUSxpQ0FBaUM7QUFDbEUsU0FBU0MsT0FBTyxRQUFRLDJCQUEyQjtBQUVuRCxTQUFTQyxXQUFXLFFBQVEsMkNBQTJDO0FBQ3ZFLFNBQVNDLGtCQUFrQixRQUFRLHNEQUFzRDtBQUN6RixTQUFTQyxtQkFBbUIs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cEIsSUFBSSxFQUNQLENBQUNKLG1CQUFtQixJQUFJLENBQUNjLFlBQVksQ0FBQzNDLE1BQU0sSUFBSSxDQUFDdUUsY0FBYyxnQkFDOURyRixLQUFBLENBQUN4QixrQkFBa0I7UUFBQThDLFFBQUEsZ0JBQ2pCeEIsSUFBQSxDQUFDckIsb0JBQW9CO1VBQUE2QyxRQUFBLGVBQ25CdEIsS0FBQSxDQUFDdEIsd0JBQXdCO1lBQUE0QyxRQUFBLGdCQUN2QnhCLElBQUEsQ0FBQ25CLG1CQUFtQjtjQUFBMkMsUUFBQSxFQUFFeUIsQ0FBQyxDQUFDLHFDQUFxQztZQUFDLENBQXNCLENBQUMsZUFDckZqRCxJQUFBLENBQUNsQixzQkFBc0I7Y0FBQTBDLFFBQUEsRUFDcEJrRCxjQUFjLEdBQ1h6QixDQUFDLENBQUMsMkNBQTJDLENBQUMsR0FDOUNBLENBQUMsQ0FBQyxpREFBaUQ7WUFBQyxDQUNsQyxDQUFDO1VBQUEsQ0FDRDtRQUFDLENBQ1AsQ0FBQyxFQUN0QnlCLGNBQWMsZ0JBQ2IxRSxJQUFBLENBQUNqQixvQkFBb0I7VUFBQzZDLElBQUksRUFBQyxRQUFRO1VBQUNtSixPQUFPLEVBQUV6RSw2QkFBOEI7VUFBQTlFLFFBQUEsRUFDeEV5QixDQUFDLENBQUMsc0NBQXNDO1FBQUMsQ0FDdEIsQ0FBQyxHQUNyQixJQUFJO01BQUEsQ0FDVSxDQUFDLEdBQ25CLElBQUksRUFDUFQsaUJBQWlCLGdCQUNoQnhDLElBQUEsQ0FBQ2YsbUJBQW1CO1FBQUF1QyxRQUFBLGVBQ2xCeEIsSUFBQSxDQUFDNUMsSUFBSTtVQUFBb0UsUUFBQSxlQUNIeEIsSUFBQSxDQUFDN0MsTUFBTTtZQUFDb08sSUFBSSxFQUFDO1VBQU8sQ0FBRTtRQUFDLENBQ25CO01BQUMsQ0FDWSxDQUFDLEdBQ3BCLElBQUk7SUFBQSxDQUNBLENBQUMsRUFDVjlFLGVBQWUsZ0JBQ2R6RyxJQUFBLENBQUMvQyxtQkFBbUI7TUFDbEJ1TyxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQTtRQUFBLE9BQVFsSCxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7TUFBQSxDQUFDO01BQ3RDbUgsUUFBUSxFQUFFO1FBQ1JDLG1CQUFtQixFQUFFaEQ7TUFDdkIsQ0FBRTtNQUNGTSxJQUFJLEVBQUV2QyxlQUFnQjtNQUN0QmtGLE1BQU0sRUFBQztJQUFPLENBQ2YsQ0FBQyxHQUNBLElBQUk7RUFBQSxDQUNhLENBQUM7QUFFNUIsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==