synapse-react-client 4.0.2 → 4.0.4

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 (525) hide show
  1. package/dist/SWC.index.js +1 -1
  2. package/dist/assets/icons/AwardScroll.d.ts +5 -0
  3. package/dist/assets/icons/AwardScroll.d.ts.map +1 -0
  4. package/dist/assets/icons/AwardScroll.js +78 -0
  5. package/dist/assets/icons/AwardScroll.js.map +1 -0
  6. package/dist/assets/icons/Baseline.d.ts +5 -0
  7. package/dist/assets/icons/Baseline.d.ts.map +1 -0
  8. package/dist/assets/icons/Baseline.js +43 -0
  9. package/dist/assets/icons/Baseline.js.map +1 -0
  10. package/dist/assets/icons/Challenge.svg +13 -0
  11. package/dist/assets/icons/Challenge.svg.js +7 -0
  12. package/dist/assets/icons/Challenge.svg.js.map +1 -0
  13. package/dist/assets/icons/ClappingHands.d.ts +5 -0
  14. package/dist/assets/icons/ClappingHands.d.ts.map +1 -0
  15. package/dist/assets/icons/ClappingHands.js +106 -0
  16. package/dist/assets/icons/ClappingHands.js.map +1 -0
  17. package/dist/assets/icons/HandWithMoney.d.ts +5 -0
  18. package/dist/assets/icons/HandWithMoney.d.ts.map +1 -0
  19. package/dist/assets/icons/HandWithMoney.js +15 -0
  20. package/dist/assets/icons/HandWithMoney.js.map +1 -0
  21. package/dist/assets/icons/MultiFile.d.ts +5 -0
  22. package/dist/assets/icons/MultiFile.d.ts.map +1 -0
  23. package/dist/assets/icons/MultiFile.js +8 -0
  24. package/dist/assets/icons/MultiFile.js.map +1 -0
  25. package/dist/assets/icons/MultiFile.svg +4 -0
  26. package/dist/assets/icons/MultiFile.svg.js +7 -0
  27. package/dist/assets/icons/MultiFile.svg.js.map +1 -0
  28. package/dist/assets/icons/OpenBook.d.ts +5 -0
  29. package/dist/assets/icons/OpenBook.d.ts.map +1 -0
  30. package/dist/assets/icons/OpenBook.js +99 -0
  31. package/dist/assets/icons/OpenBook.js.map +1 -0
  32. package/dist/assets/icons/Podium.d.ts +5 -0
  33. package/dist/assets/icons/Podium.d.ts.map +1 -0
  34. package/dist/assets/icons/Podium.js +36 -0
  35. package/dist/assets/icons/Podium.js.map +1 -0
  36. package/dist/assets/icons/RosetteRibbon.d.ts +5 -0
  37. package/dist/assets/icons/RosetteRibbon.d.ts.map +1 -0
  38. package/dist/assets/icons/RosetteRibbon.js +36 -0
  39. package/dist/assets/icons/RosetteRibbon.js.map +1 -0
  40. package/dist/assets/icons/StarTrophy.d.ts +5 -0
  41. package/dist/assets/icons/StarTrophy.d.ts.map +1 -0
  42. package/dist/assets/icons/StarTrophy.js +99 -0
  43. package/dist/assets/icons/StarTrophy.js.map +1 -0
  44. package/dist/assets/icons/ThreeStars.d.ts +5 -0
  45. package/dist/assets/icons/ThreeStars.d.ts.map +1 -0
  46. package/dist/assets/icons/ThreeStars.js +71 -0
  47. package/dist/assets/icons/ThreeStars.js.map +1 -0
  48. package/dist/assets/icons/UnpackagableFile.d.ts +5 -0
  49. package/dist/assets/icons/UnpackagableFile.d.ts.map +1 -0
  50. package/dist/assets/icons/UnpackagableFile.js +8 -0
  51. package/dist/assets/icons/UnpackagableFile.js.map +1 -0
  52. package/dist/assets/icons/UnpackagableFile.svg +4 -0
  53. package/dist/assets/icons/UnpackagableFile.svg.js +7 -0
  54. package/dist/assets/icons/UnpackagableFile.svg.js.map +1 -0
  55. package/dist/assets/mui_components/PackagableFile.d.ts.map +1 -1
  56. package/dist/assets/mui_components/PackagableFile.js +5 -4
  57. package/dist/assets/mui_components/PackagableFile.js.map +1 -1
  58. package/dist/assets/mui_components/PackagableFile.svg +3 -0
  59. package/dist/assets/mui_components/PackagableFile.svg.js +7 -0
  60. package/dist/assets/mui_components/PackagableFile.svg.js.map +1 -0
  61. package/dist/assets/themed_icons/index.d.ts +1 -2
  62. package/dist/assets/themed_icons/index.d.ts.map +1 -1
  63. package/dist/assets/themed_icons/index.js +8 -10
  64. package/dist/assets/themed_icons/index.js.map +1 -1
  65. package/dist/components/AccessRequirement/AddConditionsForUseButton/AddConditionsForUseButton.js +1 -1
  66. package/dist/components/AccessRequirementList/AccessRequirementList.js +4 -4
  67. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.d.ts.map +1 -1
  68. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.js +8 -7
  69. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.js.map +1 -1
  70. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.js +4 -4
  71. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItem.js +11 -11
  72. package/dist/components/AccessRequirementList/RequirementItem/RequirementItem.js +1 -1
  73. package/dist/components/AccessRequirementList/RequirementItem/SelfSignAccessRequirementItem.js +9 -9
  74. package/dist/components/AccessRequirementList/RequirementItem/UnmanagedACTAccessRequirementItem.js +5 -5
  75. package/dist/components/AcknowledgementsPage/AcknowledgementsPage.d.ts.map +1 -1
  76. package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js +36 -35
  77. package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js.map +1 -1
  78. package/dist/components/AclEditor/AclEditor.js +8 -8
  79. package/dist/components/AclEditor/AclEditor.js.map +1 -1
  80. package/dist/components/AclEditor/AclEditor.test-utils.js +34 -34
  81. package/dist/components/AclEditor/AclEditor.test-utils.js.map +1 -1
  82. package/dist/components/AddToDownloadListV2.js +10 -10
  83. package/dist/components/AddToDownloadListV2.js.map +1 -1
  84. package/dist/components/Authentication/AuthenticationMethodSelection.js +1 -1
  85. package/dist/components/Authentication/TwoFactorEnrollmentForm.d.ts.map +1 -1
  86. package/dist/components/Authentication/TwoFactorEnrollmentForm.js +6 -5
  87. package/dist/components/Authentication/TwoFactorEnrollmentForm.js.map +1 -1
  88. package/dist/components/BasePortalCard/BasePortalCard.css +1 -1
  89. package/dist/components/BasePortalCard/BasePortalCard.d.ts +1 -2
  90. package/dist/components/BasePortalCard/BasePortalCard.d.ts.map +1 -1
  91. package/dist/components/BasePortalCard/BasePortalCard.js +21 -28
  92. package/dist/components/BasePortalCard/BasePortalCard.js.map +1 -1
  93. package/dist/components/BasePortalCard/BasePortalCard.module.scss +13 -1
  94. package/dist/components/BasePortalCard/BasePortalCard.module.scss.js +11 -11
  95. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.css +1 -1
  96. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.d.ts.map +1 -1
  97. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.js +25 -25
  98. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.js.map +1 -1
  99. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.module.scss +13 -5
  100. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.module.scss.js +5 -5
  101. package/dist/components/CardContainer/CardLink.d.ts +12 -0
  102. package/dist/components/CardContainer/CardLink.d.ts.map +1 -1
  103. package/dist/components/CardContainerLogic/CardContainerLogic.d.ts +5 -1
  104. package/dist/components/CardContainerLogic/CardContainerLogic.d.ts.map +1 -1
  105. package/dist/components/CardContainerLogic/CardContainerLogic.js.map +1 -1
  106. package/dist/components/CardContainerLogic/index.d.ts +1 -1
  107. package/dist/components/CardContainerLogic/index.d.ts.map +1 -1
  108. package/dist/components/CardDeck/TableQueryCardDeck.js +12 -9
  109. package/dist/components/CardDeck/TableQueryCardDeck.js.map +1 -1
  110. package/dist/components/ChallengeDataDownload/ChallengeDataDownload.js +33 -33
  111. package/dist/components/ChallengeDataDownload/ChallengeDataDownload.js.map +1 -1
  112. package/dist/components/ChallengeSubmission/AvailableEvaluationQueueList.js +12 -12
  113. package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.d.ts.map +1 -1
  114. package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.js +7 -7
  115. package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.js.map +1 -1
  116. package/dist/components/ChangePassword/useChangePasswordFormState.js +5 -2
  117. package/dist/components/ChangePassword/useChangePasswordFormState.js.map +1 -1
  118. package/dist/components/CitationPopover/CitationPopoverContent.d.ts.map +1 -1
  119. package/dist/components/CitationPopover/CitationPopoverContent.js +13 -12
  120. package/dist/components/CitationPopover/CitationPopoverContent.js.map +1 -1
  121. package/dist/components/ComponentCollapse.d.ts +6 -10
  122. package/dist/components/ComponentCollapse.d.ts.map +1 -1
  123. package/dist/components/ComponentCollapse.js +31 -35
  124. package/dist/components/ComponentCollapse.js.map +1 -1
  125. package/dist/components/CookiesNotification/CookiesNotification.js +1 -1
  126. package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js +12 -10
  127. package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js.map +1 -1
  128. package/dist/components/DataGrid/MergeGridWithSourceTableButton.js +10 -5
  129. package/dist/components/DataGrid/MergeGridWithSourceTableButton.js.map +1 -1
  130. package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
  131. package/dist/components/DataGrid/SynapseGrid.js +43 -38
  132. package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
  133. package/dist/components/DataGrid/components/UploadCsvToGridDialog.js +10 -5
  134. package/dist/components/DataGrid/components/UploadCsvToGridDialog.js.map +1 -1
  135. package/dist/components/DataGrid/hooks/useExportDataGridToCsv.d.ts.map +1 -1
  136. package/dist/components/DataGrid/hooks/useExportDataGridToCsv.js +9 -7
  137. package/dist/components/DataGrid/hooks/useExportDataGridToCsv.js.map +1 -1
  138. package/dist/components/DirectDownload/DirectDownload.d.ts.map +1 -1
  139. package/dist/components/DirectDownload/DirectDownload.js +23 -23
  140. package/dist/components/DirectDownload/DirectDownload.js.map +1 -1
  141. package/dist/components/DownloadCart/ActionRequiredCard/ActionRequiredCard.js +1 -1
  142. package/dist/components/DownloadCart/AvailableForDownloadTable.d.ts +6 -2
  143. package/dist/components/DownloadCart/AvailableForDownloadTable.d.ts.map +1 -1
  144. package/dist/components/DownloadCart/AvailableForDownloadTable.js +10 -8
  145. package/dist/components/DownloadCart/AvailableForDownloadTable.js.map +1 -1
  146. package/dist/components/DownloadCart/CreatePackageV2.css +1 -0
  147. package/dist/components/DownloadCart/CreatePackageV2.d.ts.map +1 -1
  148. package/dist/components/DownloadCart/CreatePackageV2.js +50 -46
  149. package/dist/components/DownloadCart/CreatePackageV2.js.map +1 -1
  150. package/dist/components/DownloadCart/CreatePackageV2.module.scss +38 -0
  151. package/dist/components/DownloadCart/CreatePackageV2.module.scss.js +14 -0
  152. package/dist/components/DownloadCart/CreatePackageV2.module.scss.js.map +1 -0
  153. package/dist/components/DownloadCart/DownloadCartPage.css +1 -0
  154. package/dist/components/DownloadCart/DownloadCartPage.d.ts.map +1 -1
  155. package/dist/components/DownloadCart/DownloadCartPage.js +316 -186
  156. package/dist/components/DownloadCart/DownloadCartPage.js.map +1 -1
  157. package/dist/components/DownloadCart/DownloadCartPage.module.scss +217 -0
  158. package/dist/components/DownloadCart/DownloadCartPage.module.scss.js +48 -0
  159. package/dist/components/DownloadCart/DownloadCartPage.module.scss.js.map +1 -0
  160. package/dist/components/DownloadCart/DownloadDetails.js +1 -1
  161. package/dist/components/DownloadCart/DownloadDetails.js.map +1 -1
  162. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js +33 -33
  163. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js.map +1 -1
  164. package/dist/components/DownloadCart/DownloadListTable.d.ts +4 -1
  165. package/dist/components/DownloadCart/DownloadListTable.d.ts.map +1 -1
  166. package/dist/components/DownloadCart/DownloadListTable.js +156 -236
  167. package/dist/components/DownloadCart/DownloadListTable.js.map +1 -1
  168. package/dist/components/DownloadCart/RequestDownloadCard.js +1 -1
  169. package/dist/components/DownloadCart/ShowDownloadV2.js +5 -5
  170. package/dist/components/DownloadCart/ShowDownloadV2.js.map +1 -1
  171. package/dist/components/Ecosystem/EcosystemSkeleton.js +10 -5
  172. package/dist/components/Ecosystem/EcosystemSkeleton.js.map +1 -1
  173. package/dist/components/Ecosystem/TableQueryEcosystem.js +1 -1
  174. package/dist/components/EntityAclEditor/EntityAclEditorModal.js +1 -1
  175. package/dist/components/EntityAclEditor/OpenData.js +1 -1
  176. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.d.ts.map +1 -1
  177. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js +113 -127
  178. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js.map +1 -1
  179. package/dist/components/EntityCitation/EntityCitation.js +1 -1
  180. package/dist/components/EntityDownloadButton/EntityDownloadButton.js +20 -20
  181. package/dist/components/EntityDownloadButton/EntityDownloadButton.js.map +1 -1
  182. package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js +4 -4
  183. package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js.map +1 -1
  184. package/dist/components/EntityFinder/details/view/table/CreatedOnCell.js +1 -1
  185. package/dist/components/EntityFinder/details/view/table/EntityNameCell.js +1 -1
  186. package/dist/components/EntityFinder/details/view/table/FileEntityMD5Cell.js +1 -1
  187. package/dist/components/EntityFinder/details/view/table/FileEntitySizeCell.js +1 -1
  188. package/dist/components/EntityFinder/details/view/table/ModifiedByCell.js +1 -1
  189. package/dist/components/EntityFinder/details/view/table/ModifiedOnCell.js +1 -1
  190. package/dist/components/EntityFinder/details/view/table/ParentProjectCell.js +1 -1
  191. package/dist/components/EntityFinder/tree/EntityTree.js +1 -1
  192. package/dist/components/EntityHeaderTable/EntityHeaderTable.d.ts.map +1 -1
  193. package/dist/components/EntityHeaderTable/EntityHeaderTable.js +39 -39
  194. package/dist/components/EntityHeaderTable/EntityHeaderTable.js.map +1 -1
  195. package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.d.ts +8 -0
  196. package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.d.ts.map +1 -0
  197. package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.js +46 -0
  198. package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.js.map +1 -0
  199. package/dist/components/Evaluation/EvaluationCard.d.ts.map +1 -1
  200. package/dist/components/Evaluation/EvaluationCard.js +35 -41
  201. package/dist/components/Evaluation/EvaluationCard.js.map +1 -1
  202. package/dist/components/Evaluation/EvaluationEditor.d.ts.map +1 -1
  203. package/dist/components/Evaluation/EvaluationEditor.js +95 -90
  204. package/dist/components/Evaluation/EvaluationEditor.js.map +1 -1
  205. package/dist/components/Evaluation/EvaluationRoundEditor.d.ts.map +1 -1
  206. package/dist/components/Evaluation/EvaluationRoundEditor.js +133 -124
  207. package/dist/components/Evaluation/EvaluationRoundEditor.js.map +1 -1
  208. package/dist/components/FeaturedDataTabs/FacetPlotsCard.js +6 -2
  209. package/dist/components/FeaturedDataTabs/FacetPlotsCard.js.map +1 -1
  210. package/dist/components/FeaturedDataTabs/FeaturedDataTabs.js +11 -8
  211. package/dist/components/FeaturedDataTabs/FeaturedDataTabs.js.map +1 -1
  212. package/dist/components/FilePreview/EntityPreview.js +1 -1
  213. package/dist/components/Forum/DiscussionReply.js +10 -10
  214. package/dist/components/Forum/DiscussionThread.js +21 -21
  215. package/dist/components/FullWidthAlert/FullWidthAlert.d.ts +2 -2
  216. package/dist/components/FullWidthAlert/FullWidthAlert.js.map +1 -1
  217. package/dist/components/GenericCard/CardUtils.d.ts.map +1 -1
  218. package/dist/components/GenericCard/CardUtils.js +36 -36
  219. package/dist/components/GenericCard/CardUtils.js.map +1 -1
  220. package/dist/components/GenericCard/CollapsibleDescription.js +25 -25
  221. package/dist/components/GenericCard/GenericCard.d.ts +5 -5
  222. package/dist/components/GenericCard/GenericCard.d.ts.map +1 -1
  223. package/dist/components/GenericCard/GenericCard.js +117 -103
  224. package/dist/components/GenericCard/GenericCard.js.map +1 -1
  225. package/dist/components/GenericCard/LabelMaybeWithIcon.d.ts +10 -0
  226. package/dist/components/GenericCard/LabelMaybeWithIcon.d.ts.map +1 -0
  227. package/dist/components/GenericCard/LabelMaybeWithIcon.js +33 -0
  228. package/dist/components/GenericCard/LabelMaybeWithIcon.js.map +1 -0
  229. package/dist/components/GenericCard/SynapseCardLabel.d.ts +2 -1
  230. package/dist/components/GenericCard/SynapseCardLabel.d.ts.map +1 -1
  231. package/dist/components/GenericCard/SynapseCardLabel.js +95 -85
  232. package/dist/components/GenericCard/SynapseCardLabel.js.map +1 -1
  233. package/dist/components/GenericCard/TableRowGenericCard.d.ts +10 -1
  234. package/dist/components/GenericCard/TableRowGenericCard.d.ts.map +1 -1
  235. package/dist/components/GenericCard/TableRowGenericCard.js +248 -209
  236. package/dist/components/GenericCard/TableRowGenericCard.js.map +1 -1
  237. package/dist/components/GoalsV2/GoalsV2.Desktop.d.ts.map +1 -1
  238. package/dist/components/GoalsV2/GoalsV2.Desktop.js +14 -15
  239. package/dist/components/GoalsV2/GoalsV2.Desktop.js.map +1 -1
  240. package/dist/components/GoogleAnalytics/GoogleAnalytics.js +1 -1
  241. package/dist/components/HasAccess/HasAccessV2.js +1 -1
  242. package/dist/components/HasAccess/useHasAccess.js +1 -1
  243. package/dist/components/HeaderCard.js +17 -13
  244. package/dist/components/HeaderCard.js.map +1 -1
  245. package/dist/components/IDUReport/IDUReportSubmissionInfo.js +23 -23
  246. package/dist/components/IDUReport/IDUReportSubmissionInfo.js.map +1 -1
  247. package/dist/components/Icon/Icon.js +52 -52
  248. package/dist/components/Icon/Icon.js.map +1 -1
  249. package/dist/components/IconSvg/IconSvg.d.ts +1 -1
  250. package/dist/components/IconSvg/IconSvg.d.ts.map +1 -1
  251. package/dist/components/IconSvg/IconSvg.js +215 -171
  252. package/dist/components/IconSvg/IconSvg.js.map +1 -1
  253. package/dist/components/JSONArrayEditor/useParseCsv.d.ts +1 -1
  254. package/dist/components/JSONArrayEditor/useParseCsv.d.ts.map +1 -1
  255. package/dist/components/JSONArrayEditor/useParseCsv.js +9 -9
  256. package/dist/components/JSONArrayEditor/useParseCsv.js.map +1 -1
  257. package/dist/components/Markdown/MarkdownCollapse.js +7 -7
  258. package/dist/components/Markdown/MarkdownEditor.js +11 -11
  259. package/dist/components/Markdown/MarkdownGithub.js +1 -1
  260. package/dist/components/Markdown/MarkdownPopover.js +6 -6
  261. package/dist/components/Markdown/MarkdownPopover.js.map +1 -1
  262. package/dist/components/Markdown/MarkdownSynapse.d.ts.map +1 -1
  263. package/dist/components/Markdown/MarkdownSynapse.js +139 -135
  264. package/dist/components/Markdown/MarkdownSynapse.js.map +1 -1
  265. package/dist/components/Markdown/MarkdownUtils.d.ts +8 -0
  266. package/dist/components/Markdown/MarkdownUtils.d.ts.map +1 -1
  267. package/dist/components/Markdown/MarkdownUtils.js +139 -65
  268. package/dist/components/Markdown/MarkdownUtils.js.map +1 -1
  269. package/dist/components/Markdown/UserMentionModal.js +18 -18
  270. package/dist/components/Markdown/UserMentionModal.js.map +1 -1
  271. package/dist/components/Markdown/widget/MarkdownButton.js +3 -3
  272. package/dist/components/Markdown/widget/MarkdownButton.js.map +1 -1
  273. package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.d.ts.map +1 -1
  274. package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js +9 -8
  275. package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js.map +1 -1
  276. package/dist/components/Plot/SynapsePlot.css +1 -0
  277. package/dist/components/Plot/SynapsePlot.d.ts +2 -0
  278. package/dist/components/Plot/SynapsePlot.d.ts.map +1 -1
  279. package/dist/components/Plot/SynapsePlot.js +43 -39
  280. package/dist/components/Plot/SynapsePlot.js.map +1 -1
  281. package/dist/components/Plot/SynapsePlot.scss +8 -0
  282. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js +1 -1
  283. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts +1 -0
  284. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts.map +1 -1
  285. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js +137 -135
  286. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
  287. package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.d.ts +1 -1
  288. package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.d.ts.map +1 -1
  289. package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.js.map +1 -1
  290. package/dist/components/Resources/Resources.Desktop.js +7 -7
  291. package/dist/components/Resources/Resources.Mobile.js +6 -6
  292. package/dist/components/StorybookComponentWrapper.js +6 -3
  293. package/dist/components/StorybookComponentWrapper.js.map +1 -1
  294. package/dist/components/SubsectionRowRenderer/SubsectionRowRenderer.js +3 -3
  295. package/dist/components/SustainabilityScorecard/SustainabilityScorecardSummary.js +10 -10
  296. package/dist/components/SynapseChat/SynapseChat.d.ts +7 -1
  297. package/dist/components/SynapseChat/SynapseChat.d.ts.map +1 -1
  298. package/dist/components/SynapseChat/SynapseChat.js +76 -67
  299. package/dist/components/SynapseChat/SynapseChat.js.map +1 -1
  300. package/dist/components/SynapseChat/SynapseChatInteraction.d.ts +2 -1
  301. package/dist/components/SynapseChat/SynapseChatInteraction.d.ts.map +1 -1
  302. package/dist/components/SynapseChat/SynapseChatInteraction.js +83 -58
  303. package/dist/components/SynapseChat/SynapseChatInteraction.js.map +1 -1
  304. package/dist/components/SynapseChat/SynapseChatMessage.d.ts +1 -0
  305. package/dist/components/SynapseChat/SynapseChatMessage.d.ts.map +1 -1
  306. package/dist/components/SynapseChat/SynapseChatMessage.js +16 -15
  307. package/dist/components/SynapseChat/SynapseChatMessage.js.map +1 -1
  308. package/dist/components/SynapseChat/SynapsePortalChatDialog.d.ts +12 -0
  309. package/dist/components/SynapseChat/SynapsePortalChatDialog.d.ts.map +1 -0
  310. package/dist/components/SynapseChat/SynapsePortalChatDialog.js +30 -0
  311. package/dist/components/SynapseChat/SynapsePortalChatDialog.js.map +1 -0
  312. package/dist/components/SynapseChat/extractMessageFromTraceEvent.d.ts.map +1 -1
  313. package/dist/components/SynapseChat/extractMessageFromTraceEvent.js +22 -16
  314. package/dist/components/SynapseChat/extractMessageFromTraceEvent.js.map +1 -1
  315. package/dist/components/SynapseChat/index.d.ts +2 -0
  316. package/dist/components/SynapseChat/index.d.ts.map +1 -1
  317. package/dist/components/SynapseChat/index.js +5 -3
  318. package/dist/components/SynapseChat/index.js.map +1 -1
  319. package/dist/components/SynapseChat/useChatState.d.ts +1 -1
  320. package/dist/components/SynapseChat/useChatState.d.ts.map +1 -1
  321. package/dist/components/SynapseChat/useChatState.js +10 -7
  322. package/dist/components/SynapseChat/useChatState.js.map +1 -1
  323. package/dist/components/SynapseForm/WarningDialog.d.ts +1 -0
  324. package/dist/components/SynapseForm/WarningDialog.d.ts.map +1 -1
  325. package/dist/components/SynapseForm/WarningDialog.js +18 -16
  326. package/dist/components/SynapseForm/WarningDialog.js.map +1 -1
  327. package/dist/components/SynapseHomepageV2/SynapseHomepageNavBar.js +1 -1
  328. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js +25 -25
  329. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js.map +1 -1
  330. package/dist/components/SynapseSearchPageResults/HasAccessChip.js +1 -1
  331. package/dist/components/SynapseSearchPageResults/SearchPagePortalBanners.d.ts.map +1 -1
  332. package/dist/components/SynapseSearchPageResults/SearchPagePortalBanners.js +12 -13
  333. package/dist/components/SynapseSearchPageResults/SearchPagePortalBanners.js.map +1 -1
  334. package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.js +5 -5
  335. package/dist/components/SynapseTable/ExpandableTableDataCell.d.ts.map +1 -1
  336. package/dist/components/SynapseTable/ExpandableTableDataCell.js +3 -1
  337. package/dist/components/SynapseTable/ExpandableTableDataCell.js.map +1 -1
  338. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js +13 -13
  339. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js.map +1 -1
  340. package/dist/components/SynapseTable/SynapseTable.js +4 -4
  341. package/dist/components/SynapseTable/SynapseTableCell/SynapseTableCell.d.ts.map +1 -1
  342. package/dist/components/SynapseTable/SynapseTableCell/SynapseTableCell.js +122 -122
  343. package/dist/components/SynapseTable/SynapseTableCell/SynapseTableCell.js.map +1 -1
  344. package/dist/components/SynapseTable/TopLevelControls/TopLevelControlsUtils.js +9 -9
  345. package/dist/components/SynapseTable/TopLevelControls/TopLevelControlsUtils.js.map +1 -1
  346. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js +5 -5
  347. package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js +1 -1
  348. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditor.js +1 -1
  349. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js +1 -1
  350. package/dist/components/TableFeedCards/TableFeedCards.js +9 -9
  351. package/dist/components/TermsAndConditions/TermsAndConditionsItem.js +10 -10
  352. package/dist/components/TextToComponentCollapse.d.ts +16 -0
  353. package/dist/components/TextToComponentCollapse.d.ts.map +1 -0
  354. package/dist/components/TextToComponentCollapse.js +29 -0
  355. package/dist/components/TextToComponentCollapse.js.map +1 -0
  356. package/dist/components/TimelinePlot/TimelinePlotSpeciesSelector.js +9 -9
  357. package/dist/components/UserSearchBox/UserSearchBox.d.ts +23 -0
  358. package/dist/components/UserSearchBox/UserSearchBox.d.ts.map +1 -0
  359. package/dist/components/UserSearchBox/UserSearchBox.js +146 -0
  360. package/dist/components/UserSearchBox/UserSearchBox.js.map +1 -0
  361. package/dist/components/WikiMarkdownEditorButton/WikiMarkdownEditorButton.js +13 -13
  362. package/dist/components/WizardChoiceButton/WizardChoiceButton.js +3 -3
  363. package/dist/components/dataaccess/AccessHistoryDashboard.js +5 -5
  364. package/dist/components/dataaccess/AccessHistoryDashboard.js.map +1 -1
  365. package/dist/components/dataaccess/AccessRequirementDashboard.js +4 -4
  366. package/dist/components/dataaccess/AccessRequirementDashboard.js.map +1 -1
  367. package/dist/components/dataaccess/AccessSubmissionDashboard.js +1 -1
  368. package/dist/components/dataaccess/AccessSubmissionDashboard.js.map +1 -1
  369. package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js +5 -5
  370. package/dist/components/dataaccess/UseAccessRequirementTable.js +3 -3
  371. package/dist/components/dataaccess/UseAccessRequirementTable.js.map +1 -1
  372. package/dist/components/doi/CreateOrUpdateDoiModal.js +1 -1
  373. package/dist/components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert.js +10 -5
  374. package/dist/components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert.js.map +1 -1
  375. package/dist/components/download_list/DownloadConfirmationUI.d.ts +1 -1
  376. package/dist/components/download_list/DownloadConfirmationUI.js +22 -22
  377. package/dist/components/download_list/DownloadConfirmationUI.js.map +1 -1
  378. package/dist/components/download_list/DownloadConfirmationUtils.js +4 -4
  379. package/dist/components/download_list/DownloadConfirmationUtils.js.map +1 -1
  380. package/dist/components/entity/metadata/EntityModal.js +1 -1
  381. package/dist/components/entity/metadata/MetadataTable.js +1 -1
  382. package/dist/components/entity/page/title_bar/EntityPageTitleBar.js +1 -1
  383. package/dist/components/entity/page/title_bar/EntityTitleBarVersionInfo.js +1 -1
  384. package/dist/components/entity/page/title_bar/TitleBarProperties.js +1 -1
  385. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.d.ts.map +1 -1
  386. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js +27 -26
  387. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js.map +1 -1
  388. package/dist/components/index.js +125 -121
  389. package/dist/components/index.js.map +1 -1
  390. package/dist/components/layout/InfiniteTableLayout.js +1 -1
  391. package/dist/components/row_renderers/ObservationCard.js +12 -11
  392. package/dist/components/row_renderers/ObservationCard.js.map +1 -1
  393. package/dist/components/row_renderers/utils/CardFooter.d.ts +1 -3
  394. package/dist/components/row_renderers/utils/CardFooter.d.ts.map +1 -1
  395. package/dist/components/row_renderers/utils/CardFooter.js +31 -45
  396. package/dist/components/row_renderers/utils/CardFooter.js.map +1 -1
  397. package/dist/components/styled/HoverPopover.css +1 -0
  398. package/dist/components/styled/HoverPopover.d.ts +28 -0
  399. package/dist/components/styled/HoverPopover.d.ts.map +1 -0
  400. package/dist/components/styled/HoverPopover.js +103 -0
  401. package/dist/components/styled/HoverPopover.js.map +1 -0
  402. package/dist/components/styled/HoverPopover.module.scss +9 -0
  403. package/dist/components/styled/HoverPopover.module.scss.js +10 -0
  404. package/dist/components/styled/HoverPopover.module.scss.js.map +1 -0
  405. package/dist/components/styled/index.d.ts +2 -0
  406. package/dist/components/styled/index.d.ts.map +1 -1
  407. package/dist/components/styled/index.js +11 -9
  408. package/dist/components/styled/index.js.map +1 -1
  409. package/dist/components/table/CsvPreview/CsvPreview.js +10 -5
  410. package/dist/components/table/CsvPreview/CsvPreview.js.map +1 -1
  411. package/dist/components/table/CsvPreview/CsvPreviewDialog.js +10 -5
  412. package/dist/components/table/CsvPreview/CsvPreviewDialog.js.map +1 -1
  413. package/dist/components/widgets/Range.js +1 -1
  414. package/dist/components/widgets/facet-nav/FacetNavPanel.d.ts.map +1 -1
  415. package/dist/components/widgets/facet-nav/FacetNavPanel.js +35 -32
  416. package/dist/components/widgets/facet-nav/FacetNavPanel.js.map +1 -1
  417. package/dist/components/widgets/facet-nav/PlotsContainer.d.ts +1 -1
  418. package/dist/components/widgets/facet-nav/PlotsContainer.d.ts.map +1 -1
  419. package/dist/components/widgets/facet-nav/PlotsContainer.js +69 -68
  420. package/dist/components/widgets/facet-nav/PlotsContainer.js.map +1 -1
  421. package/dist/components/widgets/facet-nav/useFacetPlots.d.ts.map +1 -1
  422. package/dist/components/widgets/facet-nav/useFacetPlots.js +24 -21
  423. package/dist/components/widgets/facet-nav/useFacetPlots.js.map +1 -1
  424. package/dist/components/widgets/query-filter/FacetFilterControls.js +3 -3
  425. package/dist/features/curator/GridPage/GridPage.js +10 -5
  426. package/dist/features/curator/GridPage/GridPage.js.map +1 -1
  427. package/dist/features/curator/GridPage/components/GridPageTitle.js +10 -5
  428. package/dist/features/curator/GridPage/components/GridPageTitle.js.map +1 -1
  429. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js +1 -1
  430. package/dist/index.js +155 -151
  431. package/dist/index.js.map +1 -1
  432. package/dist/mocks/msw/handlers/accessRequirementHandlers.js +5 -5
  433. package/dist/mocks/msw/handlers/projectStorageHandlers.js +5 -5
  434. package/dist/mocks/msw/handlers/wikiHandlers.js +1 -1
  435. package/dist/mocks/msw/handlers.d.ts.map +1 -1
  436. package/dist/mocks/msw/handlers.js +67 -59
  437. package/dist/mocks/msw/handlers.js.map +1 -1
  438. package/dist/style/base/_core.scss +0 -1
  439. package/dist/style/components/_all.scss +0 -2
  440. package/dist/style/components/_cards.scss +22 -0
  441. package/dist/style/components/_download-list-v2.scss +1 -1
  442. package/dist/style/components/_entity-badge.scss +0 -2
  443. package/dist/style/components/_expandable_table_data.scss +3 -3
  444. package/dist/style/components/_query-wrapper-plot-nav.scss +13 -0
  445. package/dist/style/components/facet_nav/_facet-nav-panel.scss +3 -0
  446. package/dist/style/components/facet_nav/_facet-nav.scss +4 -0
  447. package/dist/style/main.css +1 -1
  448. package/dist/synapse-client/SynapseClient.js +118 -118
  449. package/dist/synapse-client/SynapseClient.js.map +1 -1
  450. package/dist/synapse-queries/auth/useOIDC.js +1 -1
  451. package/dist/synapse-queries/auth/useTwoFactorEnrollment.js +1 -1
  452. package/dist/synapse-queries/entity/index.js +6 -6
  453. package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js +1 -1
  454. package/dist/synapse-queries/index.js +1 -1
  455. package/dist/synapse-queries/user/usePersonalAccessToken.js +1 -1
  456. package/dist/testutils/vitest.setup.js +10 -11
  457. package/dist/testutils/vitest.setup.js.map +1 -1
  458. package/dist/theme/DefaultTheme.js +1 -1
  459. package/dist/theme/ThemeProvider.d.ts +2 -1
  460. package/dist/theme/ThemeProvider.d.ts.map +1 -1
  461. package/dist/theme/ThemeProvider.js +11 -10
  462. package/dist/theme/ThemeProvider.js.map +1 -1
  463. package/dist/theme/index.js +1 -1
  464. package/dist/theme/mergeTheme.js +1 -1
  465. package/dist/tsconfig.build.tsbuildinfo +1 -1
  466. package/dist/utils/AppUtils/AppUtils.js +1 -1
  467. package/dist/utils/AppUtils/session/ApplicationSessionManager.d.ts.map +1 -1
  468. package/dist/utils/AppUtils/session/ApplicationSessionManager.js.map +1 -1
  469. package/dist/utils/context/FullContextProvider.js +9 -9
  470. package/dist/utils/context/FullContextProvider.js.map +1 -1
  471. package/dist/utils/context/SynapseContext.d.ts.map +1 -1
  472. package/dist/utils/context/SynapseContext.js +1 -0
  473. package/dist/utils/context/SynapseContext.js.map +1 -1
  474. package/dist/utils/functions/SanitizeHtmlUtils.d.ts.map +1 -1
  475. package/dist/utils/functions/SanitizeHtmlUtils.js +34 -40
  476. package/dist/utils/functions/SanitizeHtmlUtils.js.map +1 -1
  477. package/dist/utils/functions/SqlFunctions.d.ts +4 -0
  478. package/dist/utils/functions/SqlFunctions.d.ts.map +1 -1
  479. package/dist/utils/functions/SqlFunctions.js +25 -23
  480. package/dist/utils/functions/SqlFunctions.js.map +1 -1
  481. package/dist/utils/functions/deepLinkingUtils.js +10 -10
  482. package/dist/utils/functions/deepLinkingUtils.js.map +1 -1
  483. package/dist/utils/hooks/index.js +6 -6
  484. package/dist/utils/hooks/useDetectSSOCode.js +3 -3
  485. package/dist/utils/hooks/useGetEntityMetadata.js +1 -1
  486. package/dist/utils/hooks/useNativeSearchParams.d.ts.map +1 -1
  487. package/dist/utils/hooks/useNativeSearchParams.js +1 -1
  488. package/dist/utils/hooks/useNativeSearchParams.js.map +1 -1
  489. package/dist/utils/hooks/useOneSageURL.d.ts.map +1 -1
  490. package/dist/utils/hooks/useOneSageURL.js +15 -15
  491. package/dist/utils/hooks/useOneSageURL.js.map +1 -1
  492. package/dist/utils/hooks/useSourceAppConfigs.d.ts +1 -0
  493. package/dist/utils/hooks/useSourceAppConfigs.d.ts.map +1 -1
  494. package/dist/utils/hooks/useSourceAppConfigs.js +79 -77
  495. package/dist/utils/hooks/useSourceAppConfigs.js.map +1 -1
  496. package/dist/utils/index.js +4 -4
  497. package/package.json +15 -16
  498. package/dist/_virtual/index.js +0 -6
  499. package/dist/_virtual/index.js.map +0 -1
  500. package/dist/_virtual/index2.js +0 -5
  501. package/dist/_virtual/index2.js.map +0 -1
  502. package/dist/_virtual/index3.js +0 -5
  503. package/dist/_virtual/index3.js.map +0 -1
  504. package/dist/_virtual/index4.js +0 -5
  505. package/dist/_virtual/index4.js.map +0 -1
  506. package/dist/_virtual/index5.js +0 -5
  507. package/dist/_virtual/index5.js.map +0 -1
  508. package/dist/assets/themed_icons/Challenge.d.ts +0 -3
  509. package/dist/assets/themed_icons/Challenge.d.ts.map +0 -1
  510. package/dist/assets/themed_icons/Challenge.js +0 -25
  511. package/dist/assets/themed_icons/Challenge.js.map +0 -1
  512. package/dist/components/UserSearchBox/UserSearchBoxV2.d.ts +0 -21
  513. package/dist/components/UserSearchBox/UserSearchBoxV2.d.ts.map +0 -1
  514. package/dist/components/UserSearchBox/UserSearchBoxV2.js +0 -144
  515. package/dist/components/UserSearchBox/UserSearchBoxV2.js.map +0 -1
  516. package/dist/node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js +0 -53
  517. package/dist/node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js.map +0 -1
  518. package/dist/node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js +0 -948
  519. package/dist/node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js.map +0 -1
  520. package/dist/node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js +0 -30
  521. package/dist/node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js.map +0 -1
  522. package/dist/node_modules/.pnpm/vite-plugin-node-polyfills@0.17.0_rollup@4.55.1_vite@7.3.1_@types_node@22.19.13_sass@1._2da6e8f78437c36f3eb7db51bdd4d89e/node_modules/vite-plugin-node-polyfills/shims/dist/index.js +0 -15
  523. package/dist/node_modules/.pnpm/vite-plugin-node-polyfills@0.17.0_rollup@4.55.1_vite@7.3.1_@types_node@22.19.13_sass@1._2da6e8f78437c36f3eb7db51bdd4d89e/node_modules/vite-plugin-node-polyfills/shims/dist/index.js.map +0 -1
  524. package/dist/style/components/_download-cart-page.scss +0 -204
  525. package/dist/style/components/_user-search-box.scss +0 -30
@@ -1 +1 @@
1
- {"version":3,"file":"SynapseChatInteraction.js","sources":["../../../src/components/SynapseChat/SynapseChatInteraction.tsx"],"sourcesContent":["import { SynapseSpinner } from '@/components/LoadingScreen/LoadingScreen'\nimport extractMessageFromTraceEvent, {\n TraceMessage,\n} from '@/components/SynapseChat/extractMessageFromTraceEvent'\nimport {\n KeyboardArrowDown,\n KeyboardArrowRight,\n SmartToyTwoTone,\n} from '@mui/icons-material'\nimport {\n Alert,\n Box,\n Button,\n Collapse,\n ListItem,\n ListItemText,\n useTheme,\n} from '@mui/material'\nimport { Color } from '@mui/material/styles'\nimport { TraceEvent } from '@sage-bionetworks/synapse-types'\nimport { useEffect, useMemo, useRef, useState } from 'react'\nimport MarkdownSynapse from '../Markdown/MarkdownSynapse'\n\nexport type SynapseChatInteractionProps = {\n userMessage: string\n chatResponseText?: string\n chatResponseTrace?: TraceEvent[]\n scrollIntoView?: boolean\n chatErrorReason?: string\n}\n\n// Show tool calls in the trace. Useful for development. We may want to show them to users in the future.\nconst SHOW_TOOL_USE = false\n\nfunction getMarkdownForTraceMessage(traceMessage: TraceMessage): string {\n if ('reasoningText' in traceMessage) {\n return traceMessage.reasoningText\n }\n if (SHOW_TOOL_USE && 'toolName' in traceMessage) {\n return `**Tool Used:** \\`${\n traceMessage.toolName\n }\\`\\n\\n**Tool Input:**\\n\\`\\`\\`json\\n${JSON.stringify(\n traceMessage.toolInput,\n null,\n 2,\n )}\\n\\`\\`\\`\\n`\n }\n return ''\n}\n\nexport function SynapseChatInteraction({\n userMessage,\n chatResponseText,\n chatErrorReason,\n chatResponseTrace,\n scrollIntoView = false,\n}: SynapseChatInteractionProps) {\n const theme = useTheme()\n const ref = useRef<HTMLLIElement | null>(null)\n const [showTrace, setShowTrace] = useState(false)\n useEffect(() => {\n // on mount, scroll into view if instructed\n if (scrollIntoView) {\n if (ref.current) {\n ref.current.scrollIntoView({ behavior: 'smooth' })\n }\n }\n }, [ref])\n\n const isLoading = !chatResponseText && !chatErrorReason\n\n const traceMessages = useMemo(\n () =>\n (chatResponseTrace ?? [])\n .flatMap(traceEvent => extractMessageFromTraceEvent(traceEvent))\n ?.filter(trace => !!trace),\n [chatResponseTrace],\n )\n\n const hasTraceInfo = traceMessages.length > 0\n\n const lastReasoningMessage = useMemo(\n () => traceMessages.filter(trace => 'reasoningText' in trace).at(-1),\n [traceMessages],\n )\n\n const traceButtonLoadingText =\n lastReasoningMessage == null\n ? 'Thinking...'\n : lastReasoningMessage.reasoningText\n\n const traceButtonText = isLoading\n ? traceButtonLoadingText\n : `${showTrace ? 'Hide' : 'Show'} Trace`\n\n const textContent = useMemo(() => {\n const parser = new DOMParser()\n const doc = parser.parseFromString(chatResponseText ?? '', 'text/html')\n const elementsToRemove = doc.querySelectorAll('tool_name')\n elementsToRemove.forEach(element => element.remove())\n return doc.body.textContent ?? ''\n }, [chatResponseText])\n\n return (\n <>\n <ListItem\n ref={ref}\n sx={{\n alignSelf: 'flex-end',\n backgroundColor: (theme.palette.secondary as unknown as Color)[100],\n borderRadius: '24px',\n maxWidth: '70%',\n display: 'block',\n mb: '5px',\n p: '8px 12px',\n wordWrap: 'break-word',\n width: 'auto',\n }}\n >\n <ListItemText primary={userMessage} />\n </ListItem>\n <ListItem\n sx={{\n display: 'grid',\n gridTemplateColumns: '50px auto',\n columnGap: '0px',\n justifyItems: 'center',\n alignItems: 'start',\n p: '0px',\n }}\n >\n <Box\n sx={{\n p: '3px',\n mt: '10px',\n height: '31px',\n borderRadius: '50%',\n borderStyle: 'solid',\n borderWidth: '1px',\n borderColor: 'grey.300',\n }}\n >\n <SmartToyTwoTone sx={{ color: 'secondary.main' }} />\n </Box>\n <Box\n sx={{\n borderRadius: '10px',\n padding: '10px',\n maxWidth: '100%',\n overflow: 'auto',\n }}\n >\n <Box\n component={'aside'}\n sx={{\n '.markdown': {\n fontStyle: 'italic',\n borderLeft: `4px solid ${theme.palette.grey[300]}`,\n marginLeft: '4px',\n paddingLeft: '8px',\n mt: 1,\n mb: 2,\n },\n }}\n >\n <Button\n variant={'outlined'}\n size={'small'}\n startIcon={\n isLoading ? (\n <SynapseSpinner size={14} />\n ) : showTrace ? (\n <KeyboardArrowDown sx={{ width: '14px' }} />\n ) : (\n <KeyboardArrowRight sx={{ width: '14px' }} />\n )\n }\n disabled={!hasTraceInfo}\n onClick={() => {\n setShowTrace(v => !v)\n }}\n sx={{\n height: '20px',\n fontSize: '12px',\n fontWeight: 600,\n mb: 1,\n border: 'none !important',\n color: 'grey.700',\n justifyContent: 'flex-start',\n whiteSpace: 'nowrap',\n maxWidth: '325px',\n textTransform: 'none',\n pl: 0,\n '.MuiButton-startIcon': { mr: 0.5 },\n }}\n >\n <Box sx={{ overflow: 'hidden', textOverflow: 'ellipsis' }}>\n {traceButtonText}\n </Box>\n </Button>\n {chatResponseTrace && (\n <Collapse in={showTrace}>\n <MarkdownSynapse\n markdown={traceMessages\n .map(getMarkdownForTraceMessage)\n .filter(md => md.trim().length > 0)\n .join('<br/><br/>')}\n />\n </Collapse>\n )}\n </Box>\n {textContent && <MarkdownSynapse markdown={textContent} />}\n </Box>\n </ListItem>\n {chatErrorReason && (\n <Alert severity={'error'} sx={{ my: 2 }}>\n {chatErrorReason}\n </Alert>\n )}\n </>\n )\n}\n\nexport default SynapseChatInteraction\n"],"names":["getMarkdownForTraceMessage","traceMessage","SynapseChatInteraction","userMessage","chatResponseText","chatErrorReason","chatResponseTrace","scrollIntoView","theme","useTheme","ref","useRef","showTrace","setShowTrace","useState","useEffect","isLoading","traceMessages","useMemo","traceEvent","extractMessageFromTraceEvent","trace","hasTraceInfo","lastReasoningMessage","traceButtonLoadingText","traceButtonText","textContent","doc","element","jsxs","Fragment","jsx","ListItem","ListItemText","Box","SmartToyTwoTone","Button","SynapseSpinner","KeyboardArrowDown","KeyboardArrowRight","v","Collapse","MarkdownSynapse","md","Alert"],"mappings":"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"}
1
+ {"version":3,"file":"SynapseChatInteraction.js","sources":["../../../src/components/SynapseChat/SynapseChatInteraction.tsx"],"sourcesContent":["import { SynapseSpinner } from '@/components/LoadingScreen/LoadingScreen'\nimport extractMessageFromTraceEvent, {\n TraceMessage,\n} from '@/components/SynapseChat/extractMessageFromTraceEvent'\nimport {\n KeyboardArrowDown,\n KeyboardArrowRight,\n SmartToyTwoTone,\n} from '@mui/icons-material'\nimport {\n Alert,\n Box,\n Button,\n Chip,\n Collapse,\n ListItem,\n ListItemText,\n Stack,\n Tooltip,\n useTheme,\n} from '@mui/material'\nimport { Color } from '@mui/material/styles'\nimport { TraceEvent } from '@sage-bionetworks/synapse-types'\nimport { useEffect, useMemo, useRef, useState } from 'react'\nimport MarkdownSynapse from '../Markdown/MarkdownSynapse'\n\nexport type SynapseChatInteractionProps = {\n userMessage: string\n chatResponseText?: string\n chatResponseTrace?: TraceEvent[]\n scrollIntoView?: boolean\n chatErrorReason?: string\n onSendChat?: (message: string) => void\n}\n\n// Show tool calls in the trace. Useful for development. We may want to show them to users in the future.\nconst SHOW_TOOL_USE = false\n\nfunction getMarkdownForTraceMessage(traceMessage: TraceMessage): string {\n if ('reasoningText' in traceMessage) {\n return traceMessage.reasoningText\n }\n if (SHOW_TOOL_USE && 'toolName' in traceMessage) {\n return `**Tool Used:** \\`${\n traceMessage.toolName\n }\\`\\n\\n**Tool Input:**\\n\\`\\`\\`json\\n${JSON.stringify(\n traceMessage.toolInput,\n null,\n 2,\n )}\\n\\`\\`\\`\\n`\n }\n return ''\n}\n\nexport function SynapseChatInteraction({\n userMessage,\n chatResponseText,\n chatErrorReason,\n chatResponseTrace,\n scrollIntoView = false,\n onSendChat,\n}: SynapseChatInteractionProps) {\n const theme = useTheme()\n const ref = useRef<HTMLLIElement | null>(null)\n const [showTrace, setShowTrace] = useState(false)\n\n useEffect(() => {\n // on mount, scroll into view if instructed\n if (scrollIntoView) {\n if (ref.current) {\n ref.current.scrollIntoView({ behavior: 'smooth' })\n }\n }\n }, [ref, scrollIntoView])\n\n const isLoading = !chatResponseText && !chatErrorReason\n\n const traceMessages = useMemo(\n () =>\n (chatResponseTrace ?? [])\n .flatMap(traceEvent => extractMessageFromTraceEvent(traceEvent))\n ?.filter(trace => !!trace),\n [chatResponseTrace],\n )\n\n const hasTraceInfo = traceMessages.length > 0\n\n const lastReasoningMessage = useMemo(\n () => traceMessages.filter(trace => 'reasoningText' in trace).at(-1),\n [traceMessages],\n )\n\n const traceButtonLoadingText =\n lastReasoningMessage == null\n ? 'Thinking...'\n : lastReasoningMessage.reasoningText\n\n const traceButtonText = isLoading\n ? traceButtonLoadingText\n : `${showTrace ? 'Hide' : 'Show'} Trace`\n\n const { textContent, guidePrompts } = useMemo(() => {\n try {\n const parser = new DOMParser()\n const doc = parser.parseFromString(chatResponseText ?? '', 'text/html')\n\n // Remove tool_name and actions elements (AI XML tags not for display)\n doc\n .querySelectorAll('tool_name, actions')\n .forEach(element => element.remove())\n\n // Extract guideprompts before removing them\n const extractedGuidePrompts = Array.from(\n doc.querySelectorAll('guideprompt'),\n )\n .map(el => el.textContent?.trim())\n .filter((t): t is string => !!t)\n\n // Remove guideprompt elements\n doc.querySelectorAll('guideprompt').forEach(element => element.remove())\n\n // Extract text from <chat> element if present, otherwise use full body text\n const chatElement = doc.querySelector('chat')\n return {\n textContent: chatElement\n ? chatElement.textContent ?? ''\n : doc.body.textContent ?? '',\n guidePrompts: extractedGuidePrompts,\n }\n } catch (e) {\n console.error(e)\n return { textContent: chatResponseText ?? '', guidePrompts: [] }\n }\n }, [chatResponseText])\n\n return (\n <>\n <ListItem\n ref={ref}\n sx={{\n alignSelf: 'flex-end',\n backgroundColor: (theme.palette.secondary as unknown as Color)[100],\n borderRadius: '24px',\n maxWidth: '70%',\n display: 'block',\n mb: '5px',\n p: '8px 12px',\n wordWrap: 'break-word',\n width: 'auto',\n }}\n >\n <ListItemText primary={userMessage} />\n </ListItem>\n <ListItem\n sx={{\n display: 'grid',\n gridTemplateColumns: '50px auto',\n columnGap: '0px',\n justifyItems: 'center',\n alignItems: 'start',\n p: '0px',\n }}\n >\n <Box\n sx={{\n p: '3px',\n mt: '10px',\n height: '31px',\n borderRadius: '50%',\n borderStyle: 'solid',\n borderWidth: '1px',\n borderColor: 'grey.300',\n }}\n >\n <SmartToyTwoTone sx={{ color: 'secondary.main' }} />\n </Box>\n <Box\n sx={{\n borderRadius: '10px',\n padding: '10px',\n maxWidth: '100%',\n overflow: 'auto',\n }}\n >\n <Box\n component={'aside'}\n sx={{\n '.markdown': {\n fontStyle: 'italic',\n borderLeft: `4px solid ${theme.palette.grey[300]}`,\n marginLeft: '4px',\n paddingLeft: '8px',\n mt: 1,\n mb: 2,\n },\n }}\n >\n <Button\n variant={'outlined'}\n size={'small'}\n startIcon={\n isLoading ? (\n <SynapseSpinner size={14} />\n ) : showTrace ? (\n <KeyboardArrowDown sx={{ width: '14px' }} />\n ) : (\n <KeyboardArrowRight sx={{ width: '14px' }} />\n )\n }\n disabled={!hasTraceInfo}\n onClick={() => {\n setShowTrace(v => !v)\n }}\n sx={{\n height: '20px',\n fontSize: '12px',\n fontWeight: 600,\n mb: 1,\n border: 'none !important',\n color: 'grey.700',\n justifyContent: 'flex-start',\n whiteSpace: 'nowrap',\n maxWidth: '325px',\n textTransform: 'none',\n pl: 0,\n '.MuiButton-startIcon': { mr: 0.5 },\n }}\n >\n <Box sx={{ overflow: 'hidden', textOverflow: 'ellipsis' }}>\n {traceButtonText}\n </Box>\n </Button>\n {chatResponseTrace && (\n <Collapse in={showTrace}>\n <MarkdownSynapse\n markdown={traceMessages\n .map(getMarkdownForTraceMessage)\n .filter(md => md.trim().length > 0)\n .join('<br/><br/>')}\n />\n </Collapse>\n )}\n </Box>\n {textContent && <MarkdownSynapse markdown={textContent} />}\n {onSendChat && guidePrompts.length > 0 && (\n <Stack direction=\"row\" flexWrap=\"wrap\" gap={1} mt={1}>\n {guidePrompts.map(prompt => (\n <Tooltip key={prompt} title={prompt}>\n <Chip\n label={prompt}\n variant=\"outlined\"\n color=\"primary\"\n clickable\n onClick={() => onSendChat(prompt)}\n sx={{ maxWidth: 200 }}\n />\n </Tooltip>\n ))}\n </Stack>\n )}\n </Box>\n </ListItem>\n {chatErrorReason && (\n <Alert severity={'error'} sx={{ my: 2 }}>\n {chatErrorReason}\n </Alert>\n )}\n </>\n )\n}\n\nexport default SynapseChatInteraction\n"],"names":["getMarkdownForTraceMessage","traceMessage","SynapseChatInteraction","userMessage","chatResponseText","chatErrorReason","chatResponseTrace","scrollIntoView","onSendChat","theme","useTheme","ref","useRef","showTrace","setShowTrace","useState","useEffect","isLoading","traceMessages","useMemo","traceEvent","extractMessageFromTraceEvent","trace","hasTraceInfo","lastReasoningMessage","traceButtonLoadingText","traceButtonText","textContent","guidePrompts","doc","element","extractedGuidePrompts","el","t","chatElement","jsxs","Fragment","jsx","ListItem","ListItemText","Box","SmartToyTwoTone","Button","SynapseSpinner","KeyboardArrowDown","KeyboardArrowRight","v","Collapse","MarkdownSynapse","md","Stack","Tooltip","prompt","Chip","Alert"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  type SynapseChatMessageProps = {
2
2
  chatJobId: string;
3
+ onSendChat?: (message: string) => void;
3
4
  };
4
5
  export default function SynapseChatMessage(props: SynapseChatMessageProps): import("react/jsx-runtime").JSX.Element;
5
6
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"SynapseChatMessage.d.ts","sourceRoot":"","sources":["../../../src/components/SynapseChat/SynapseChatMessage.tsx"],"names":[],"mappings":"AA8CA,KAAK,uBAAuB,GAAG;IAC7B,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,2CAwBxE"}
1
+ {"version":3,"file":"SynapseChatMessage.d.ts","sourceRoot":"","sources":["../../../src/components/SynapseChat/SynapseChatMessage.tsx"],"names":[],"mappings":"AA8CA,KAAK,uBAAuB,GAAG;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACvC,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,2CAyBxE"}
@@ -3,13 +3,13 @@ import { SynapseChatInteraction as h } from "./SynapseChatInteraction.js";
3
3
  import m from "../../synapse-queries/asynchronous/usePollAsynchronousJob.js";
4
4
  import { useGetChatAgentTraceEvents as f } from "../../synapse-queries/chat/useChat.js";
5
5
  import { useState as T, useCallback as l, useEffect as E } from "react";
6
- function g(n, s) {
7
- const [e, r] = T([]), a = l((c) => {
8
- r((p) => [...p, ...c]);
9
- }, []), o = e.at(e.length - 1), { data: t } = f(
6
+ function d(o, s) {
7
+ const [a, e] = T([]), n = l((c) => {
8
+ e((p) => [...p, ...c]);
9
+ }, []), r = a.at(a.length - 1), { data: t } = f(
10
10
  {
11
- jobId: n,
12
- newerThanTimestamp: o?.timestamp
11
+ jobId: o,
12
+ newerThanTimestamp: r?.timestamp
13
13
  },
14
14
  {
15
15
  enabled: s,
@@ -20,20 +20,21 @@ function g(n, s) {
20
20
  }
21
21
  );
22
22
  return E(() => {
23
- t && t.page.length > 0 && (a(t.page), console.debug(t.page));
24
- }, [a, t]), {
25
- traceEvents: e
23
+ t && t.page.length > 0 && (n(t.page), console.debug(t.page));
24
+ }, [n, t]), {
25
+ traceEvents: a
26
26
  };
27
27
  }
28
- function I(n) {
29
- const { chatJobId: s } = n, { data: e } = m(s), r = e?.requestBody, a = e?.responseBody, o = e?.errorMessage, t = !!s && (!e?.jobState || e.jobState == "PROCESSING"), { traceEvents: c } = g(s, t);
28
+ function I(o) {
29
+ const { chatJobId: s, onSendChat: a } = o, { data: e } = m(s), n = e?.requestBody, r = e?.responseBody, t = e?.errorMessage, c = !!s && (!e?.jobState || e.jobState == "PROCESSING"), { traceEvents: p } = d(s, c);
30
30
  return /* @__PURE__ */ u(
31
31
  h,
32
32
  {
33
- userMessage: r?.chatText,
34
- chatResponseText: a?.responseText,
35
- chatResponseTrace: c,
36
- chatErrorReason: o
33
+ userMessage: n?.chatText,
34
+ chatResponseText: r?.responseText,
35
+ chatResponseTrace: p,
36
+ chatErrorReason: t,
37
+ onSendChat: a
37
38
  }
38
39
  );
39
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SynapseChatMessage.js","sources":["../../../src/components/SynapseChat/SynapseChatMessage.tsx"],"sourcesContent":["import SynapseChatInteraction from '@/components/SynapseChat/SynapseChatInteraction'\nimport usePollAsynchronousJob from '@/synapse-queries/asynchronous/usePollAsynchronousJob'\nimport { useGetChatAgentTraceEvents } from '@/synapse-queries/chat/useChat'\nimport {\n AgentChatRequest,\n AgentChatResponse,\n TraceEvent,\n} from '@sage-bionetworks/synapse-types'\nimport { useCallback, useEffect, useState } from 'react'\n\nfunction useTraceEvent(chatJobId: string, enabled: boolean) {\n const [traceEvents, setTraceEvents] = useState<TraceEvent[]>([])\n\n const appendTraceEvents = useCallback((newEvents: TraceEvent[]) => {\n setTraceEvents(prev => {\n return [...prev, ...newEvents]\n })\n }, [])\n\n const latestTraceEvent = traceEvents.at(traceEvents.length - 1)\n const { data: newTraceEvents } = useGetChatAgentTraceEvents(\n {\n jobId: chatJobId,\n newerThanTimestamp: latestTraceEvent?.timestamp,\n },\n {\n enabled: enabled,\n refetchInterval: 1000, // Re-fetch every second if enabled\n refetchIntervalInBackground: true, // Continue polling even when the tab is not active\n },\n )\n useEffect(() => {\n if (newTraceEvents && newTraceEvents.page.length > 0) {\n appendTraceEvents(newTraceEvents.page)\n\n // send trace events to the console to ease agent debugging\n // if the trace events do not contain the latest event, add the events to the array\n console.debug(newTraceEvents.page)\n }\n }, [appendTraceEvents, newTraceEvents])\n\n return {\n traceEvents,\n }\n}\n\ntype SynapseChatMessageProps = {\n chatJobId: string\n}\n\nexport default function SynapseChatMessage(props: SynapseChatMessageProps) {\n const { chatJobId } = props\n const { data: asyncJobStatus } = usePollAsynchronousJob(chatJobId)\n\n const chatRequest = asyncJobStatus?.requestBody as AgentChatRequest\n const chatResponse = asyncJobStatus?.responseBody as\n | AgentChatResponse\n | undefined\n const chatError = asyncJobStatus?.errorMessage\n\n // enabled if the job has not finished processing\n const enableTrace =\n !!chatJobId &&\n (!asyncJobStatus?.jobState || asyncJobStatus.jobState == 'PROCESSING')\n const { traceEvents } = useTraceEvent(chatJobId, enableTrace)\n\n return (\n <SynapseChatInteraction\n userMessage={chatRequest?.chatText}\n chatResponseText={chatResponse?.responseText}\n chatResponseTrace={traceEvents}\n chatErrorReason={chatError}\n />\n )\n}\n"],"names":["useTraceEvent","chatJobId","enabled","traceEvents","setTraceEvents","useState","appendTraceEvents","useCallback","newEvents","prev","latestTraceEvent","newTraceEvents","useGetChatAgentTraceEvents","useEffect","SynapseChatMessage","props","asyncJobStatus","usePollAsynchronousJob","chatRequest","chatResponse","chatError","enableTrace","jsx","SynapseChatInteraction"],"mappings":";;;;;AAUA,SAASA,EAAcC,GAAmBC,GAAkB;AAC1D,QAAM,CAACC,GAAaC,CAAc,IAAIC,EAAuB,CAAA,CAAE,GAEzDC,IAAoBC,EAAY,CAACC,MAA4B;AACjE,IAAAJ,EAAe,CAAAK,MACN,CAAC,GAAGA,GAAM,GAAGD,CAAS,CAC9B;AAAA,EACH,GAAG,CAAA,CAAE,GAECE,IAAmBP,EAAY,GAAGA,EAAY,SAAS,CAAC,GACxD,EAAE,MAAMQ,EAAA,IAAmBC;AAAA,IAC/B;AAAA,MACE,OAAOX;AAAA,MACP,oBAAoBS,GAAkB;AAAA,IAAA;AAAA,IAExC;AAAA,MACE,SAAAR;AAAA,MACA,iBAAiB;AAAA;AAAA,MACjB,6BAA6B;AAAA;AAAA,IAAA;AAAA,EAC/B;AAEF,SAAAW,EAAU,MAAM;AACd,IAAIF,KAAkBA,EAAe,KAAK,SAAS,MACjDL,EAAkBK,EAAe,IAAI,GAIrC,QAAQ,MAAMA,EAAe,IAAI;AAAA,EAErC,GAAG,CAACL,GAAmBK,CAAc,CAAC,GAE/B;AAAA,IACL,aAAAR;AAAA,EAAA;AAEJ;AAMA,SAAwBW,EAAmBC,GAAgC;AACzE,QAAM,EAAE,WAAAd,MAAcc,GAChB,EAAE,MAAMC,MAAmBC,EAAuBhB,CAAS,GAE3DiB,IAAcF,GAAgB,aAC9BG,IAAeH,GAAgB,cAG/BI,IAAYJ,GAAgB,cAG5BK,IACJ,CAAC,CAACpB,MACD,CAACe,GAAgB,YAAYA,EAAe,YAAY,eACrD,EAAE,aAAAb,EAAA,IAAgBH,EAAcC,GAAWoB,CAAW;AAE5D,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,aAAaL,GAAa;AAAA,MAC1B,kBAAkBC,GAAc;AAAA,MAChC,mBAAmBhB;AAAA,MACnB,iBAAiBiB;AAAA,IAAA;AAAA,EAAA;AAGvB;"}
1
+ {"version":3,"file":"SynapseChatMessage.js","sources":["../../../src/components/SynapseChat/SynapseChatMessage.tsx"],"sourcesContent":["import SynapseChatInteraction from '@/components/SynapseChat/SynapseChatInteraction'\nimport usePollAsynchronousJob from '@/synapse-queries/asynchronous/usePollAsynchronousJob'\nimport { useGetChatAgentTraceEvents } from '@/synapse-queries/chat/useChat'\nimport {\n AgentChatRequest,\n AgentChatResponse,\n TraceEvent,\n} from '@sage-bionetworks/synapse-types'\nimport { useCallback, useEffect, useState } from 'react'\n\nfunction useTraceEvent(chatJobId: string, enabled: boolean) {\n const [traceEvents, setTraceEvents] = useState<TraceEvent[]>([])\n\n const appendTraceEvents = useCallback((newEvents: TraceEvent[]) => {\n setTraceEvents(prev => {\n return [...prev, ...newEvents]\n })\n }, [])\n\n const latestTraceEvent = traceEvents.at(traceEvents.length - 1)\n const { data: newTraceEvents } = useGetChatAgentTraceEvents(\n {\n jobId: chatJobId,\n newerThanTimestamp: latestTraceEvent?.timestamp,\n },\n {\n enabled: enabled,\n refetchInterval: 1000, // Re-fetch every second if enabled\n refetchIntervalInBackground: true, // Continue polling even when the tab is not active\n },\n )\n useEffect(() => {\n if (newTraceEvents && newTraceEvents.page.length > 0) {\n appendTraceEvents(newTraceEvents.page)\n\n // send trace events to the console to ease agent debugging\n // if the trace events do not contain the latest event, add the events to the array\n console.debug(newTraceEvents.page)\n }\n }, [appendTraceEvents, newTraceEvents])\n\n return {\n traceEvents,\n }\n}\n\ntype SynapseChatMessageProps = {\n chatJobId: string\n onSendChat?: (message: string) => void\n}\n\nexport default function SynapseChatMessage(props: SynapseChatMessageProps) {\n const { chatJobId, onSendChat } = props\n const { data: asyncJobStatus } = usePollAsynchronousJob(chatJobId)\n\n const chatRequest = asyncJobStatus?.requestBody as AgentChatRequest\n const chatResponse = asyncJobStatus?.responseBody as\n | AgentChatResponse\n | undefined\n const chatError = asyncJobStatus?.errorMessage\n\n // enabled if the job has not finished processing\n const enableTrace =\n !!chatJobId &&\n (!asyncJobStatus?.jobState || asyncJobStatus.jobState == 'PROCESSING')\n const { traceEvents } = useTraceEvent(chatJobId, enableTrace)\n\n return (\n <SynapseChatInteraction\n userMessage={chatRequest?.chatText}\n chatResponseText={chatResponse?.responseText}\n chatResponseTrace={traceEvents}\n chatErrorReason={chatError}\n onSendChat={onSendChat}\n />\n )\n}\n"],"names":["useTraceEvent","chatJobId","enabled","traceEvents","setTraceEvents","useState","appendTraceEvents","useCallback","newEvents","prev","latestTraceEvent","newTraceEvents","useGetChatAgentTraceEvents","useEffect","SynapseChatMessage","props","onSendChat","asyncJobStatus","usePollAsynchronousJob","chatRequest","chatResponse","chatError","enableTrace","jsx","SynapseChatInteraction"],"mappings":";;;;;AAUA,SAASA,EAAcC,GAAmBC,GAAkB;AAC1D,QAAM,CAACC,GAAaC,CAAc,IAAIC,EAAuB,CAAA,CAAE,GAEzDC,IAAoBC,EAAY,CAACC,MAA4B;AACjE,IAAAJ,EAAe,CAAAK,MACN,CAAC,GAAGA,GAAM,GAAGD,CAAS,CAC9B;AAAA,EACH,GAAG,CAAA,CAAE,GAECE,IAAmBP,EAAY,GAAGA,EAAY,SAAS,CAAC,GACxD,EAAE,MAAMQ,EAAA,IAAmBC;AAAA,IAC/B;AAAA,MACE,OAAOX;AAAA,MACP,oBAAoBS,GAAkB;AAAA,IAAA;AAAA,IAExC;AAAA,MACE,SAAAR;AAAA,MACA,iBAAiB;AAAA;AAAA,MACjB,6BAA6B;AAAA;AAAA,IAAA;AAAA,EAC/B;AAEF,SAAAW,EAAU,MAAM;AACd,IAAIF,KAAkBA,EAAe,KAAK,SAAS,MACjDL,EAAkBK,EAAe,IAAI,GAIrC,QAAQ,MAAMA,EAAe,IAAI;AAAA,EAErC,GAAG,CAACL,GAAmBK,CAAc,CAAC,GAE/B;AAAA,IACL,aAAAR;AAAA,EAAA;AAEJ;AAOA,SAAwBW,EAAmBC,GAAgC;AACzE,QAAM,EAAE,WAAAd,GAAW,YAAAe,EAAA,IAAeD,GAC5B,EAAE,MAAME,MAAmBC,EAAuBjB,CAAS,GAE3DkB,IAAcF,GAAgB,aAC9BG,IAAeH,GAAgB,cAG/BI,IAAYJ,GAAgB,cAG5BK,IACJ,CAAC,CAACrB,MACD,CAACgB,GAAgB,YAAYA,EAAe,YAAY,eACrD,EAAE,aAAAd,EAAA,IAAgBH,EAAcC,GAAWqB,CAAW;AAE5D,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,aAAaL,GAAa;AAAA,MAC1B,kBAAkBC,GAAc;AAAA,MAChC,mBAAmBjB;AAAA,MACnB,iBAAiBkB;AAAA,MACjB,YAAAL;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -0,0 +1,12 @@
1
+ import { SynapseChatProps } from './SynapseChat';
2
+ export type SynapsePortalChatDialogProps = SynapseChatProps & {
3
+ open: boolean;
4
+ onClose: () => void;
5
+ };
6
+ /**
7
+ * A dialog that wraps SynapseChat with externally-controlled open/close state.
8
+ * Only shown when the user is logged in and the PORTAL_CHAT feature flag is enabled.
9
+ */
10
+ export declare function SynapsePortalChatDialog({ open, onClose, ...chatDialogProps }: SynapsePortalChatDialogProps): import("react/jsx-runtime").JSX.Element;
11
+ export default SynapsePortalChatDialog;
12
+ //# sourceMappingURL=SynapsePortalChatDialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SynapsePortalChatDialog.d.ts","sourceRoot":"","sources":["../../../src/components/SynapseChat/SynapsePortalChatDialog.tsx"],"names":[],"mappings":"AACA,OAAoB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAE7D,MAAM,MAAM,4BAA4B,GAAG,gBAAgB,GAAG;IAC5D,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB,CAAA;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,IAAI,EACJ,OAAO,EACP,GAAG,eAAe,EACnB,EAAE,4BAA4B,2CAc9B;AAED,eAAe,uBAAuB,CAAA"}
@@ -0,0 +1,30 @@
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import r from "../DraggableDialog/DraggableDialog.js";
3
+ import { SynapseChat as i } from "./SynapseChat.js";
4
+ function m({
5
+ open: a,
6
+ onClose: o,
7
+ ...t
8
+ }) {
9
+ return /* @__PURE__ */ e(
10
+ r,
11
+ {
12
+ open: a,
13
+ onClose: o,
14
+ title: t.chatbotName || "SynapseChat",
15
+ children: /* @__PURE__ */ e(
16
+ i,
17
+ {
18
+ hideTitle: !0,
19
+ textboxPositionOffset: "16px",
20
+ ...t
21
+ }
22
+ )
23
+ }
24
+ );
25
+ }
26
+ export {
27
+ m as SynapsePortalChatDialog,
28
+ m as default
29
+ };
30
+ //# sourceMappingURL=SynapsePortalChatDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SynapsePortalChatDialog.js","sources":["../../../src/components/SynapseChat/SynapsePortalChatDialog.tsx"],"sourcesContent":["import DraggableDialog from '../DraggableDialog/DraggableDialog'\nimport SynapseChat, { SynapseChatProps } from './SynapseChat'\n\nexport type SynapsePortalChatDialogProps = SynapseChatProps & {\n open: boolean\n onClose: () => void\n}\n\n/**\n * A dialog that wraps SynapseChat with externally-controlled open/close state.\n * Only shown when the user is logged in and the PORTAL_CHAT feature flag is enabled.\n */\nexport function SynapsePortalChatDialog({\n open,\n onClose,\n ...chatDialogProps\n}: SynapsePortalChatDialogProps) {\n return (\n <DraggableDialog\n open={open}\n onClose={onClose}\n title={chatDialogProps.chatbotName || 'SynapseChat'}\n >\n <SynapseChat\n hideTitle={true}\n textboxPositionOffset=\"16px\"\n {...chatDialogProps}\n />\n </DraggableDialog>\n )\n}\n\nexport default SynapsePortalChatDialog\n"],"names":["SynapsePortalChatDialog","open","onClose","chatDialogProps","jsx","DraggableDialog","SynapseChat"],"mappings":";;;AAYO,SAASA,EAAwB;AAAA,EACtC,MAAAC;AAAA,EACA,SAAAC;AAAA,EACA,GAAGC;AACL,GAAiC;AAC/B,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAAJ;AAAA,MACA,SAAAC;AAAA,MACA,OAAOC,EAAgB,eAAe;AAAA,MAEtC,UAAA,gBAAAC;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,WAAW;AAAA,UACX,uBAAsB;AAAA,UACrB,GAAGH;AAAA,QAAA;AAAA,MAAA;AAAA,IACN;AAAA,EAAA;AAGN;"}
@@ -1 +1 @@
1
- {"version":3,"file":"extractMessageFromTraceEvent.d.ts","sourceRoot":"","sources":["../../../src/components/SynapseChat/extractMessageFromTraceEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAG5D,MAAM,MAAM,YAAY,GACpB;IACE,aAAa,EAAE,MAAM,CAAA;CACtB,GACD;IACE,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAEL,MAAM,CAAC,OAAO,UAAU,4BAA4B,CAClD,KAAK,EAAE,UAAU,GAChB,YAAY,EAAE,GAAG,IAAI,CA+BvB"}
1
+ {"version":3,"file":"extractMessageFromTraceEvent.d.ts","sourceRoot":"","sources":["../../../src/components/SynapseChat/extractMessageFromTraceEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAG5D,MAAM,MAAM,YAAY,GACpB;IACE,aAAa,EAAE,MAAM,CAAA;CACtB,GACD;IACE,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAEL,MAAM,CAAC,OAAO,UAAU,4BAA4B,CAClD,KAAK,EAAE,UAAU,GAChB,YAAY,EAAE,GAAG,IAAI,CAqCvB"}
@@ -1,26 +1,32 @@
1
- import { JSONPath as t } from "jsonpath-plus";
2
- function c(a) {
3
- const e = [], r = JSON.parse(a.message);
4
- return t({
1
+ import { JSONPath as o } from "jsonpath-plus";
2
+ function p(n) {
3
+ const s = [];
4
+ let a;
5
+ try {
6
+ a = JSON.parse(n.message);
7
+ } catch (e) {
8
+ return console.error(e), [{ reasoningText: n.message }];
9
+ }
10
+ return o({
5
11
  path: "$.output.message.content[*]",
6
- json: r
7
- }).forEach((o) => {
8
- const n = t({
12
+ json: a
13
+ }).forEach((e) => {
14
+ const r = o({
9
15
  path: "$.reasoningContent.reasoningText.text",
10
- json: o
16
+ json: e
11
17
  });
12
- n[0] && e.push({ reasoningText: n[0] });
13
- const s = t({
18
+ r[0] && s.push({ reasoningText: r[0] });
19
+ const t = o({
14
20
  path: "$.toolUse[name,input]",
15
- json: o
21
+ json: e
16
22
  });
17
- s.length > 0 && e.push({
18
- toolName: s[0],
19
- toolInput: s[1]
23
+ t.length > 0 && s.push({
24
+ toolName: t[0],
25
+ toolInput: t[1]
20
26
  });
21
- }), e;
27
+ }), s;
22
28
  }
23
29
  export {
24
- c as default
30
+ p as default
25
31
  };
26
32
  //# sourceMappingURL=extractMessageFromTraceEvent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extractMessageFromTraceEvent.js","sources":["../../../src/components/SynapseChat/extractMessageFromTraceEvent.ts"],"sourcesContent":["import { TraceEvent } from '@sage-bionetworks/synapse-types'\nimport { JSONPath } from 'jsonpath-plus'\n\nexport type TraceMessage =\n | {\n reasoningText: string\n }\n | {\n toolName: string\n toolInput: string\n }\n\nexport default function extractMessageFromTraceEvent(\n event: TraceEvent,\n): TraceMessage[] | null {\n // WARNING: The message format may change when we change models.\n const messagesToAdd: TraceMessage[] = []\n const parsedMessage = JSON.parse(event.message) as object\n\n const messages = JSONPath({\n path: '$.output.message.content[*]',\n json: parsedMessage,\n })\n\n messages.forEach((message: any) => {\n const reasoningMessage = JSONPath({\n path: '$.reasoningContent.reasoningText.text',\n json: message,\n })\n if (reasoningMessage[0]) {\n messagesToAdd.push({ reasoningText: reasoningMessage[0] })\n }\n const toolUseMessage = JSONPath({\n path: '$.toolUse[name,input]',\n json: message,\n })\n\n if (toolUseMessage.length > 0) {\n messagesToAdd.push({\n toolName: toolUseMessage[0],\n toolInput: toolUseMessage[1],\n })\n }\n })\n return messagesToAdd\n}\n"],"names":["extractMessageFromTraceEvent","event","messagesToAdd","parsedMessage","JSONPath","message","reasoningMessage","toolUseMessage"],"mappings":";AAYA,SAAwBA,EACtBC,GACuB;AAEvB,QAAMC,IAAgC,CAAA,GAChCC,IAAgB,KAAK,MAAMF,EAAM,OAAO;AAO9C,SALiBG,EAAS;AAAA,IACxB,MAAM;AAAA,IACN,MAAMD;AAAA,EAAA,CACP,EAEQ,QAAQ,CAACE,MAAiB;AACjC,UAAMC,IAAmBF,EAAS;AAAA,MAChC,MAAM;AAAA,MACN,MAAMC;AAAA,IAAA,CACP;AACD,IAAIC,EAAiB,CAAC,KACpBJ,EAAc,KAAK,EAAE,eAAeI,EAAiB,CAAC,GAAG;AAE3D,UAAMC,IAAiBH,EAAS;AAAA,MAC9B,MAAM;AAAA,MACN,MAAMC;AAAA,IAAA,CACP;AAED,IAAIE,EAAe,SAAS,KAC1BL,EAAc,KAAK;AAAA,MACjB,UAAUK,EAAe,CAAC;AAAA,MAC1B,WAAWA,EAAe,CAAC;AAAA,IAAA,CAC5B;AAAA,EAEL,CAAC,GACML;AACT;"}
1
+ {"version":3,"file":"extractMessageFromTraceEvent.js","sources":["../../../src/components/SynapseChat/extractMessageFromTraceEvent.ts"],"sourcesContent":["import { TraceEvent } from '@sage-bionetworks/synapse-types'\nimport { JSONPath } from 'jsonpath-plus'\n\nexport type TraceMessage =\n | {\n reasoningText: string\n }\n | {\n toolName: string\n toolInput: string\n }\n\nexport default function extractMessageFromTraceEvent(\n event: TraceEvent,\n): TraceMessage[] | null {\n // WARNING: The message format may change when we change models.\n const messagesToAdd: TraceMessage[] = []\n let parsedMessage: object\n try {\n parsedMessage = JSON.parse(event.message) as object\n } catch (e) {\n console.error(e)\n return [{ reasoningText: event.message }]\n }\n\n const messages = JSONPath({\n path: '$.output.message.content[*]',\n json: parsedMessage,\n })\n\n messages.forEach((message: any) => {\n const reasoningMessage = JSONPath({\n path: '$.reasoningContent.reasoningText.text',\n json: message,\n })\n if (reasoningMessage[0]) {\n messagesToAdd.push({ reasoningText: reasoningMessage[0] })\n }\n const toolUseMessage = JSONPath({\n path: '$.toolUse[name,input]',\n json: message,\n })\n\n if (toolUseMessage.length > 0) {\n messagesToAdd.push({\n toolName: toolUseMessage[0],\n toolInput: toolUseMessage[1],\n })\n }\n })\n return messagesToAdd\n}\n"],"names":["extractMessageFromTraceEvent","event","messagesToAdd","parsedMessage","JSONPath","message","reasoningMessage","toolUseMessage"],"mappings":";AAYA,SAAwBA,EACtBC,GACuB;AAEvB,QAAMC,IAAgC,CAAA;AACtC,MAAIC;AACJ,MAAI;AACF,IAAAA,IAAgB,KAAK,MAAMF,EAAM,OAAO;AAAA,EAC1C,SAAS,GAAG;AACV,mBAAQ,MAAM,CAAC,GACR,CAAC,EAAE,eAAeA,EAAM,SAAS;AAAA,EAC1C;AAOA,SALiBG,EAAS;AAAA,IACxB,MAAM;AAAA,IACN,MAAMD;AAAA,EAAA,CACP,EAEQ,QAAQ,CAACE,MAAiB;AACjC,UAAMC,IAAmBF,EAAS;AAAA,MAChC,MAAM;AAAA,MACN,MAAMC;AAAA,IAAA,CACP;AACD,IAAIC,EAAiB,CAAC,KACpBJ,EAAc,KAAK,EAAE,eAAeI,EAAiB,CAAC,GAAG;AAE3D,UAAMC,IAAiBH,EAAS;AAAA,MAC9B,MAAM;AAAA,MACN,MAAMC;AAAA,IAAA,CACP;AAED,IAAIE,EAAe,SAAS,KAC1BL,EAAc,KAAK;AAAA,MACjB,UAAUK,EAAe,CAAC;AAAA,MAC1B,WAAWA,EAAe,CAAC;AAAA,IAAA,CAC5B;AAAA,EAEL,CAAC,GACML;AACT;"}
@@ -2,4 +2,6 @@ import SynapseChat from './SynapseChat';
2
2
  import type { SynapseChatProps } from './SynapseChat';
3
3
  export { SynapseChat, SynapseChatProps };
4
4
  export default SynapseChat;
5
+ export { SynapsePortalChatDialog } from './SynapsePortalChatDialog';
6
+ export type { SynapsePortalChatDialogProps } from './SynapsePortalChatDialog';
5
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/SynapseChat/index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAA;AACxC,eAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/SynapseChat/index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAA;AACxC,eAAe,WAAW,CAAA;AAE1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,YAAY,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAA"}
@@ -1,6 +1,8 @@
1
- import { SynapseChat as t } from "./SynapseChat.js";
1
+ import { SynapseChat as o } from "./SynapseChat.js";
2
+ import { SynapsePortalChatDialog as e } from "./SynapsePortalChatDialog.js";
2
3
  export {
3
- t as SynapseChat,
4
- t as default
4
+ o as SynapseChat,
5
+ e as SynapsePortalChatDialog,
6
+ o as default
5
7
  };
6
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -4,5 +4,5 @@ export type ChatState = {
4
4
  pendingMessage: string | null;
5
5
  chatJobIds: string[];
6
6
  };
7
- export declare function useChatState(agentSession?: AgentSession): ChatState;
7
+ export declare function useChatState(agentSession?: AgentSession, onChatResponse?: (responseText: string) => void): ChatState;
8
8
  //# sourceMappingURL=useChatState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useChatState.d.ts","sourceRoot":"","sources":["../../../src/components/SynapseChat/useChatState.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,YAAY,EAEb,MAAM,iCAAiC,CAAA;AAGxC,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,UAAU,EAAE,MAAM,EAAE,CAAA;CACrB,CAAA;AAED,wBAAgB,YAAY,CAAC,YAAY,CAAC,EAAE,YAAY,GAAG,SAAS,CAsCnE"}
1
+ {"version":3,"file":"useChatState.d.ts","sourceRoot":"","sources":["../../../src/components/SynapseChat/useChatState.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,YAAY,EAEb,MAAM,iCAAiC,CAAA;AAGxC,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,UAAU,EAAE,MAAM,EAAE,CAAA;CACrB,CAAA;AAED,wBAAgB,YAAY,CAC1B,YAAY,CAAC,EAAE,YAAY,EAC3B,cAAc,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,GAC9C,SAAS,CAyCX"}
@@ -1,16 +1,19 @@
1
1
  import { useSendChatMessageToAgent as i } from "../../synapse-queries/chat/useChat.js";
2
- import { useState as r, useCallback as u, useMemo as h } from "react";
3
- function I(t) {
4
- const [s, c] = r([]), [n, o] = r(null), { mutate: a } = i(
2
+ import { useState as c, useCallback as h, useMemo as l } from "react";
3
+ function b(t, r) {
4
+ const [s, u] = c([]), [n, o] = c(null), { mutate: a } = i(
5
5
  {
6
6
  onMutate: (e) => {
7
7
  o(e.chatText);
8
+ },
9
+ onSuccess: (e) => {
10
+ r?.(e.responseText);
8
11
  }
9
12
  },
10
13
  (e) => {
11
- s.includes(e.jobId) || (o(null), c(() => [...s, e.jobId]));
14
+ s.includes(e.jobId) || (o(null), u(() => [...s, e.jobId]));
12
15
  }
13
- ), d = u(
16
+ ), d = h(
14
17
  (e) => {
15
18
  if (!t?.sessionId)
16
19
  throw new Error("No agent session available to send chat message.");
@@ -22,12 +25,12 @@ function I(t) {
22
25
  },
23
26
  [t?.sessionId, a]
24
27
  );
25
- return h(
28
+ return l(
26
29
  () => ({ sendChat: d, pendingMessage: n, chatJobIds: s }),
27
30
  [d, n, s]
28
31
  );
29
32
  }
30
33
  export {
31
- I as useChatState
34
+ b as useChatState
32
35
  };
33
36
  //# sourceMappingURL=useChatState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useChatState.js","sources":["../../../src/components/SynapseChat/useChatState.ts"],"sourcesContent":["import { useSendChatMessageToAgent } from '@/synapse-queries/chat/useChat'\nimport {\n AgentChatRequest,\n AgentChatResponse,\n AgentSession,\n AsynchronousJobStatus,\n} from '@sage-bionetworks/synapse-types'\nimport { useCallback, useMemo, useState } from 'react'\n\nexport type ChatState = {\n sendChat: (message: string) => void\n pendingMessage: string | null\n chatJobIds: string[]\n}\n\nexport function useChatState(agentSession?: AgentSession): ChatState {\n const [chatJobIds, setChatJobIds] = useState<string[]>([])\n // Optimistic update state for latest unprocessed message\n const [pendingMessage, setPendingMessage] = useState<string | null>(null)\n\n const { mutate: sendChatMessageToAgent } = useSendChatMessageToAgent(\n {\n onMutate: (newChatMessage: AgentChatRequest) => {\n // set the pending message to the new chat message\n setPendingMessage(newChatMessage.chatText)\n },\n },\n (status: AsynchronousJobStatus<AgentChatRequest, AgentChatResponse>) => {\n if (!chatJobIds.includes(status.jobId)) {\n setPendingMessage(null)\n setChatJobIds(() => [...chatJobIds, status.jobId])\n }\n },\n )\n\n const sendChat = useCallback(\n (message: string) => {\n if (!agentSession?.sessionId) {\n throw new Error('No agent session available to send chat message.')\n }\n sendChatMessageToAgent({\n chatText: message,\n sessionId: agentSession.sessionId,\n enableTrace: true,\n })\n },\n [agentSession?.sessionId, sendChatMessageToAgent],\n )\n\n return useMemo(\n () => ({ sendChat, pendingMessage, chatJobIds }),\n [sendChat, pendingMessage, chatJobIds],\n )\n}\n"],"names":["useChatState","agentSession","chatJobIds","setChatJobIds","useState","pendingMessage","setPendingMessage","sendChatMessageToAgent","useSendChatMessageToAgent","newChatMessage","status","sendChat","useCallback","message","useMemo"],"mappings":";;AAeO,SAASA,EAAaC,GAAwC;AACnE,QAAM,CAACC,GAAYC,CAAa,IAAIC,EAAmB,CAAA,CAAE,GAEnD,CAACC,GAAgBC,CAAiB,IAAIF,EAAwB,IAAI,GAElE,EAAE,QAAQG,EAAA,IAA2BC;AAAA,IACzC;AAAA,MACE,UAAU,CAACC,MAAqC;AAE9C,QAAAH,EAAkBG,EAAe,QAAQ;AAAA,MAC3C;AAAA,IAAA;AAAA,IAEF,CAACC,MAAuE;AACtE,MAAKR,EAAW,SAASQ,EAAO,KAAK,MACnCJ,EAAkB,IAAI,GACtBH,EAAc,MAAM,CAAC,GAAGD,GAAYQ,EAAO,KAAK,CAAC;AAAA,IAErD;AAAA,EAAA,GAGIC,IAAWC;AAAA,IACf,CAACC,MAAoB;AACnB,UAAI,CAACZ,GAAc;AACjB,cAAM,IAAI,MAAM,kDAAkD;AAEpE,MAAAM,EAAuB;AAAA,QACrB,UAAUM;AAAA,QACV,WAAWZ,EAAa;AAAA,QACxB,aAAa;AAAA,MAAA,CACd;AAAA,IACH;AAAA,IACA,CAACA,GAAc,WAAWM,CAAsB;AAAA,EAAA;AAGlD,SAAOO;AAAA,IACL,OAAO,EAAE,UAAAH,GAAU,gBAAAN,GAAgB,YAAAH;IACnC,CAACS,GAAUN,GAAgBH,CAAU;AAAA,EAAA;AAEzC;"}
1
+ {"version":3,"file":"useChatState.js","sources":["../../../src/components/SynapseChat/useChatState.ts"],"sourcesContent":["import { useSendChatMessageToAgent } from '@/synapse-queries/chat/useChat'\nimport {\n AgentChatRequest,\n AgentChatResponse,\n AgentSession,\n AsynchronousJobStatus,\n} from '@sage-bionetworks/synapse-types'\nimport { useCallback, useMemo, useState } from 'react'\n\nexport type ChatState = {\n sendChat: (message: string) => void\n pendingMessage: string | null\n chatJobIds: string[]\n}\n\nexport function useChatState(\n agentSession?: AgentSession,\n onChatResponse?: (responseText: string) => void,\n): ChatState {\n const [chatJobIds, setChatJobIds] = useState<string[]>([])\n // Optimistic update state for latest unprocessed message\n const [pendingMessage, setPendingMessage] = useState<string | null>(null)\n\n const { mutate: sendChatMessageToAgent } = useSendChatMessageToAgent(\n {\n onMutate: (newChatMessage: AgentChatRequest) => {\n // set the pending message to the new chat message\n setPendingMessage(newChatMessage.chatText)\n },\n onSuccess: (response: AgentChatResponse) => {\n onChatResponse?.(response.responseText)\n },\n },\n (status: AsynchronousJobStatus<AgentChatRequest, AgentChatResponse>) => {\n if (!chatJobIds.includes(status.jobId)) {\n setPendingMessage(null)\n setChatJobIds(() => [...chatJobIds, status.jobId])\n }\n },\n )\n\n const sendChat = useCallback(\n (message: string) => {\n if (!agentSession?.sessionId) {\n throw new Error('No agent session available to send chat message.')\n }\n sendChatMessageToAgent({\n chatText: message,\n sessionId: agentSession.sessionId,\n enableTrace: true,\n })\n },\n [agentSession?.sessionId, sendChatMessageToAgent],\n )\n\n return useMemo(\n () => ({ sendChat, pendingMessage, chatJobIds }),\n [sendChat, pendingMessage, chatJobIds],\n )\n}\n"],"names":["useChatState","agentSession","onChatResponse","chatJobIds","setChatJobIds","useState","pendingMessage","setPendingMessage","sendChatMessageToAgent","useSendChatMessageToAgent","newChatMessage","response","status","sendChat","useCallback","message","useMemo"],"mappings":";;AAeO,SAASA,EACdC,GACAC,GACW;AACX,QAAM,CAACC,GAAYC,CAAa,IAAIC,EAAmB,CAAA,CAAE,GAEnD,CAACC,GAAgBC,CAAiB,IAAIF,EAAwB,IAAI,GAElE,EAAE,QAAQG,EAAA,IAA2BC;AAAA,IACzC;AAAA,MACE,UAAU,CAACC,MAAqC;AAE9C,QAAAH,EAAkBG,EAAe,QAAQ;AAAA,MAC3C;AAAA,MACA,WAAW,CAACC,MAAgC;AAC1C,QAAAT,IAAiBS,EAAS,YAAY;AAAA,MACxC;AAAA,IAAA;AAAA,IAEF,CAACC,MAAuE;AACtE,MAAKT,EAAW,SAASS,EAAO,KAAK,MACnCL,EAAkB,IAAI,GACtBH,EAAc,MAAM,CAAC,GAAGD,GAAYS,EAAO,KAAK,CAAC;AAAA,IAErD;AAAA,EAAA,GAGIC,IAAWC;AAAA,IACf,CAACC,MAAoB;AACnB,UAAI,CAACd,GAAc;AACjB,cAAM,IAAI,MAAM,kDAAkD;AAEpE,MAAAO,EAAuB;AAAA,QACrB,UAAUO;AAAA,QACV,WAAWd,EAAa;AAAA,QACxB,aAAa;AAAA,MAAA,CACd;AAAA,IACH;AAAA,IACA,CAACA,GAAc,WAAWO,CAAsB;AAAA,EAAA;AAGlD,SAAOQ;AAAA,IACL,OAAO,EAAE,UAAAH,GAAU,gBAAAP,GAAgB,YAAAH;IACnC,CAACU,GAAUP,GAAgBH,CAAU;AAAA,EAAA;AAEzC;"}
@@ -9,6 +9,7 @@ export type WarningDialogProps<T = any> = {
9
9
  onConfirm: (...args: T[]) => unknown;
10
10
  onConfirmCallbackArgs?: Parameters<WarningDialogProps['onConfirm']>;
11
11
  confirmButtonColor?: ButtonProps['color'];
12
+ confirmButtonDisabled?: boolean;
12
13
  onCancel: () => void;
13
14
  };
14
15
  export declare function WarningDialog(props: WarningDialogProps): import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"WarningDialog.d.ts","sourceRoot":"","sources":["../../../src/components/SynapseForm/WarningDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGjC,MAAM,MAAM,kBAAkB,CAAC,CAAC,GAAG,GAAG,IAAI;IACxC,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,OAAO,CAAA;IACb,SAAS,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,KAAK,OAAO,CAAA;IACpC,qBAAqB,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAA;IACnE,kBAAkB,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IACzC,QAAQ,EAAE,MAAM,IAAI,CAAA;CACrB,CAAA;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,2CA0BtD;AAED,eAAe,aAAa,CAAA"}
1
+ {"version":3,"file":"WarningDialog.d.ts","sourceRoot":"","sources":["../../../src/components/SynapseForm/WarningDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGjC,MAAM,MAAM,kBAAkB,CAAC,CAAC,GAAG,GAAG,IAAI;IACxC,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,OAAO,CAAA;IACb,SAAS,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,KAAK,OAAO,CAAA;IACpC,qBAAqB,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAA;IACnE,kBAAkB,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IACzC,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,QAAQ,EAAE,MAAM,IAAI,CAAA;CACrB,CAAA;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,2CA4BtD;AAED,eAAe,aAAa,CAAA"}
@@ -1,35 +1,37 @@
1
- import { jsx as e } from "react/jsx-runtime";
2
- import { ConfirmationDialog as s } from "../ConfirmationDialog/ConfirmationDialog.js";
3
- function u(o) {
1
+ import { jsx as s } from "react/jsx-runtime";
2
+ import { ConfirmationDialog as u } from "../ConfirmationDialog/ConfirmationDialog.js";
3
+ function d(o) {
4
4
  const {
5
5
  title: n,
6
6
  content: r,
7
7
  confirmButtonText: t = "OK",
8
8
  className: i,
9
- open: m,
10
- onConfirm: a,
11
- confirmButtonColor: c = "primary",
12
- onCancel: f,
13
- onConfirmCallbackArgs: l
9
+ open: a,
10
+ onConfirm: m,
11
+ confirmButtonColor: l = "primary",
12
+ confirmButtonDisabled: c,
13
+ onCancel: e,
14
+ onConfirmCallbackArgs: f
14
15
  } = o;
15
- return /* @__PURE__ */ e(
16
- s,
16
+ return /* @__PURE__ */ s(
17
+ u,
17
18
  {
18
- open: m,
19
+ open: a,
19
20
  title: n,
20
21
  content: r,
21
22
  className: i,
22
23
  confirmButtonProps: {
23
24
  children: t,
24
- color: c
25
+ color: l,
26
+ disabled: c
25
27
  },
26
- onCancel: f,
27
- onConfirm: () => a(...l ?? [])
28
+ onCancel: e,
29
+ onConfirm: () => m(...f ?? [])
28
30
  }
29
31
  );
30
32
  }
31
33
  export {
32
- u as WarningDialog,
33
- u as default
34
+ d as WarningDialog,
35
+ d as default
34
36
  };
35
37
  //# sourceMappingURL=WarningDialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WarningDialog.js","sources":["../../../src/components/SynapseForm/WarningDialog.tsx"],"sourcesContent":["import { ButtonProps } from '@mui/material'\nimport { ReactNode } from 'react'\nimport { ConfirmationDialog } from '../ConfirmationDialog/ConfirmationDialog'\n\nexport type WarningDialogProps<T = any> = {\n title: string\n content: string | ReactNode\n confirmButtonText?: string\n className?: string\n open: boolean\n onConfirm: (...args: T[]) => unknown\n onConfirmCallbackArgs?: Parameters<WarningDialogProps['onConfirm']>\n confirmButtonColor?: ButtonProps['color']\n onCancel: () => void\n}\n\nexport function WarningDialog(props: WarningDialogProps) {\n const {\n title,\n content,\n confirmButtonText = 'OK',\n className,\n open,\n onConfirm,\n confirmButtonColor = 'primary',\n onCancel,\n onConfirmCallbackArgs,\n } = props\n return (\n <ConfirmationDialog\n open={open}\n title={title}\n content={content}\n className={className}\n confirmButtonProps={{\n children: confirmButtonText,\n color: confirmButtonColor,\n }}\n onCancel={onCancel}\n onConfirm={() => onConfirm(...(onConfirmCallbackArgs ?? []))}\n />\n )\n}\n\nexport default WarningDialog\n"],"names":["WarningDialog","props","title","content","confirmButtonText","className","open","onConfirm","confirmButtonColor","onCancel","onConfirmCallbackArgs","jsx","ConfirmationDialog"],"mappings":";;AAgBO,SAASA,EAAcC,GAA2B;AACvD,QAAM;AAAA,IACJ,OAAAC;AAAA,IACA,SAAAC;AAAA,IACA,mBAAAC,IAAoB;AAAA,IACpB,WAAAC;AAAA,IACA,MAAAC;AAAA,IACA,WAAAC;AAAA,IACA,oBAAAC,IAAqB;AAAA,IACrB,UAAAC;AAAA,IACA,uBAAAC;AAAA,EAAA,IACET;AACJ,SACE,gBAAAU;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAAN;AAAA,MACA,OAAAJ;AAAA,MACA,SAAAC;AAAA,MACA,WAAAE;AAAA,MACA,oBAAoB;AAAA,QAClB,UAAUD;AAAA,QACV,OAAOI;AAAA,MAAA;AAAA,MAET,UAAAC;AAAA,MACA,WAAW,MAAMF,EAAU,GAAIG,KAAyB,CAAA,CAAG;AAAA,IAAA;AAAA,EAAA;AAGjE;"}
1
+ {"version":3,"file":"WarningDialog.js","sources":["../../../src/components/SynapseForm/WarningDialog.tsx"],"sourcesContent":["import { ButtonProps } from '@mui/material'\nimport { ReactNode } from 'react'\nimport { ConfirmationDialog } from '../ConfirmationDialog/ConfirmationDialog'\n\nexport type WarningDialogProps<T = any> = {\n title: string\n content: string | ReactNode\n confirmButtonText?: string\n className?: string\n open: boolean\n onConfirm: (...args: T[]) => unknown\n onConfirmCallbackArgs?: Parameters<WarningDialogProps['onConfirm']>\n confirmButtonColor?: ButtonProps['color']\n confirmButtonDisabled?: boolean\n onCancel: () => void\n}\n\nexport function WarningDialog(props: WarningDialogProps) {\n const {\n title,\n content,\n confirmButtonText = 'OK',\n className,\n open,\n onConfirm,\n confirmButtonColor = 'primary',\n confirmButtonDisabled,\n onCancel,\n onConfirmCallbackArgs,\n } = props\n return (\n <ConfirmationDialog\n open={open}\n title={title}\n content={content}\n className={className}\n confirmButtonProps={{\n children: confirmButtonText,\n color: confirmButtonColor,\n disabled: confirmButtonDisabled,\n }}\n onCancel={onCancel}\n onConfirm={() => onConfirm(...(onConfirmCallbackArgs ?? []))}\n />\n )\n}\n\nexport default WarningDialog\n"],"names":["WarningDialog","props","title","content","confirmButtonText","className","open","onConfirm","confirmButtonColor","confirmButtonDisabled","onCancel","onConfirmCallbackArgs","jsx","ConfirmationDialog"],"mappings":";;AAiBO,SAASA,EAAcC,GAA2B;AACvD,QAAM;AAAA,IACJ,OAAAC;AAAA,IACA,SAAAC;AAAA,IACA,mBAAAC,IAAoB;AAAA,IACpB,WAAAC;AAAA,IACA,MAAAC;AAAA,IACA,WAAAC;AAAA,IACA,oBAAAC,IAAqB;AAAA,IACrB,uBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,uBAAAC;AAAA,EAAA,IACEV;AACJ,SACE,gBAAAW;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAAP;AAAA,MACA,OAAAJ;AAAA,MACA,SAAAC;AAAA,MACA,WAAAE;AAAA,MACA,oBAAoB;AAAA,QAClB,UAAUD;AAAA,QACV,OAAOI;AAAA,QACP,UAAUC;AAAA,MAAA;AAAA,MAEZ,UAAAC;AAAA,MACA,WAAW,MAAMH,EAAU,GAAII,KAAyB,CAAA,CAAG;AAAA,IAAA;AAAA,EAAA;AAGjE;"}
@@ -19,7 +19,7 @@ import "@tanstack/query-core";
19
19
  import "lodash-es/isEmpty";
20
20
  import "lodash-es/isEqual";
21
21
  import "lodash-es/xorWith";
22
- import { useTheme as T, useMediaQuery as z, Box as m, Button as t, IconButton as k, styled as M, Divider as H, Menu as O, MenuItem as _ } from "@mui/material";
22
+ import { useTheme as T, useMediaQuery as z, Box as m, Button as t, IconButton as k, Divider as H, styled as M, Menu as O, MenuItem as _ } from "@mui/material";
23
23
  import "@sage-bionetworks/synapse-client";
24
24
  import "../../utils/types/IsType.js";
25
25
  import "../../utils/hooks/useCookiePreferences.js";