n8n-editor-ui 1.119.1 → 1.120.1

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 (491) hide show
  1. package/dist/assets/{AddDataTableModal-78UiDOZ6.js → AddDataTableModal-CbPeeND7.js} +17 -17
  2. package/dist/assets/AddDataTableModal-legacy-TWGqOwvJ.js +165 -0
  3. package/dist/assets/AnimatedSpinner-legacy-a37yY0a9.js +35 -0
  4. package/dist/assets/AnnotationTagsDropdown.ee-legacy-m3_lZt5p.js +90 -0
  5. package/dist/assets/{AnnotationTagsDropdown.ee-B5SGfmxY.js → AnnotationTagsDropdown.ee-nr8ND2ZK.js} +2 -2
  6. package/dist/assets/{AuthView-CaCXt20h.js → AuthView-GQg0-dxd.js} +6 -6
  7. package/dist/assets/AuthView-legacy-BTkTpaqQ.js +170 -0
  8. package/dist/assets/{ChangePasswordView-sh87mWR6.js → ChangePasswordView-CMxYIEv7.js} +15 -15
  9. package/dist/assets/ChangePasswordView-legacy-UYMze_th.js +165 -0
  10. package/dist/assets/{ChatAgentsView-4SiYQ9YJ.js → ChatAgentsView-BF2UQldY.js} +22 -22
  11. package/dist/assets/ChatAgentsView-legacy-C-TEUCMJ.js +418 -0
  12. package/dist/assets/{ChatSidebar-C0XXqw3v.js → ChatSidebar-CwUIdqm5.js} +29 -24
  13. package/dist/assets/ChatSidebar-legacy-BcM0mdnb.js +485 -0
  14. package/dist/assets/{ChatView-BlkLzP1X.js → ChatView-CuoxXANC.js} +26 -26
  15. package/dist/assets/ChatView-legacy-DQzrDKVi.js +1192 -0
  16. package/dist/assets/CollectionParameter-legacy-BCZyr-W3.js +16 -0
  17. package/dist/assets/CollectionParameter-uOVc6KhF.js +58 -0
  18. package/dist/assets/{CommunityNodeUpdateInfo-Egv665vx.js → CommunityNodeUpdateInfo-BbQHVpK8.js} +8 -8
  19. package/dist/assets/CommunityNodeUpdateInfo-legacy-CffmFLEi.js +395 -0
  20. package/dist/assets/{CopyInput-DX-FL085.js → CopyInput-CiPK5ddq.js} +4 -4
  21. package/dist/assets/CopyInput-legacy-BbjpqRcT.js +141 -0
  22. package/dist/assets/{CredentialIcon-DS3l06t2.js → CredentialIcon-CwCVRpiA.js} +2 -2
  23. package/dist/assets/CredentialIcon-legacy-nJdgWX0p.js +110 -0
  24. package/dist/assets/{CredentialsView-C3SKDwtI.js → CredentialsView-Dq_bJCTX.js} +38 -38
  25. package/dist/assets/CredentialsView-legacy-CBU7oObS.js +562 -0
  26. package/dist/assets/{DataTableActions-lgRuMb9F.js → DataTableActions-1pCUiTrK.js} +9 -9
  27. package/dist/assets/DataTableActions-legacy-cggWdqxr.js +113 -0
  28. package/dist/assets/{DataTableDetailsView-CoWw-4gy.js → DataTableDetailsView-FZ996I2K.js} +23 -23
  29. package/dist/assets/DataTableDetailsView-legacy-T6s1xIYP.js +46280 -0
  30. package/dist/assets/{DataTableView-hUsgVnZS.js → DataTableView-0cgj7Yv8.js} +42 -35
  31. package/dist/assets/DataTableView-legacy-Bs1jkgGw.js +353 -0
  32. package/dist/assets/DemoFooter-CYGOF76r.js +70 -0
  33. package/dist/assets/DemoFooter-legacy-BDdJ7htI.js +39 -0
  34. package/dist/assets/{Draggable-DFf4aD-Y.js → Draggable-Cp3VJXN0.js} +1 -1
  35. package/dist/assets/Draggable-legacy-CyKi_Tb4.js +158 -0
  36. package/dist/assets/{EmptySharedSectionActionBox-BkPu0yI0.js → EmptySharedSectionActionBox-D83jdITF.js} +4 -4
  37. package/dist/assets/EmptySharedSectionActionBox-legacy-V1B39cgS.js +68 -0
  38. package/dist/assets/{EnterpriseEdition.ee-BoNEV-MB.js → EnterpriseEdition.ee-Dmuvy1Qj.js} +1 -1
  39. package/dist/assets/EnterpriseEdition.ee-legacy-D0gBfVDw.js +44 -0
  40. package/dist/assets/{EntityNotFound-Bs-aLs3W.js → EntityNotFound-BF7nteVf.js} +7 -7
  41. package/dist/assets/EntityNotFound-legacy-Bfl0-2gj.js +116 -0
  42. package/dist/assets/{EntityUnAuthorised-BwhGn6eD.js → EntityUnAuthorised-4No93VOO.js} +7 -7
  43. package/dist/assets/EntityUnAuthorised-legacy-DLIqjuJf.js +97 -0
  44. package/dist/assets/{ErrorView-Cvlb8nm0.js → ErrorView-GWT7FjjH.js} +9 -9
  45. package/dist/assets/ErrorView-legacy-CtfV-zYc.js +100 -0
  46. package/dist/assets/{EvaluationsRootView-DdOZORFr.js → EvaluationsRootView-C3RbV5Qf.js} +26 -26
  47. package/dist/assets/EvaluationsRootView-legacy-DNES1nzh.js +633 -0
  48. package/dist/assets/{EvaluationsView-DxiPOlGL.js → EvaluationsView-Da2okwlD.js} +20 -20
  49. package/dist/assets/EvaluationsView-legacy-DfePizpg.js +612 -0
  50. package/dist/assets/ExecutionsTime-legacy-CqDKZjaw.js +618 -0
  51. package/dist/assets/{ExecutionsTime-DwXL-TY4.js → ExecutionsTime-y_VFxk2z.js} +9 -9
  52. package/dist/assets/{ExecutionsView-B4XGhWmY.js → ExecutionsView-CHuoC0nO.js} +37 -37
  53. package/dist/assets/ExecutionsView-legacy-DD0RXem0.js +941 -0
  54. package/dist/assets/{ExternalSecretsProviderConnectionSwitch.ee-DCTg0mdX.js → ExternalSecretsProviderConnectionSwitch.ee-BQSSIasB.js} +4 -4
  55. package/dist/assets/ExternalSecretsProviderConnectionSwitch.ee-legacy-7UjbdgbG.js +269 -0
  56. package/dist/assets/FileSaver.min-legacy-BTN44Z38.js +100 -0
  57. package/dist/assets/{FixedCollectionParameter-DjdDaH5s.js → FixedCollectionParameter-BhQfNO8a.js} +48 -48
  58. package/dist/assets/FixedCollectionParameter-legacy-uiOfunC4.js +346 -0
  59. package/dist/assets/{ForgotMyPasswordView-KkAVBYit.js → ForgotMyPasswordView-V8EfVOR8.js} +15 -15
  60. package/dist/assets/ForgotMyPasswordView-legacy-BbZiFRc2.js +118 -0
  61. package/dist/assets/{InsightsChartAverageRuntime-D5Gh8Rz5.js → InsightsChartAverageRuntime-CfCpplsX.js} +8 -8
  62. package/dist/assets/InsightsChartAverageRuntime-legacy-C6yRYbdN.js +91 -0
  63. package/dist/assets/{InsightsChartFailed-D7PZ_ctV.js → InsightsChartFailed-DrX7-PQa.js} +7 -7
  64. package/dist/assets/InsightsChartFailed-legacy-BXNV41_X.js +82 -0
  65. package/dist/assets/{InsightsChartFailureRate-CpPU5Kwd.js → InsightsChartFailureRate-DGn_vu5L.js} +8 -8
  66. package/dist/assets/InsightsChartFailureRate-legacy-xpR-l77z.js +85 -0
  67. package/dist/assets/{InsightsChartTimeSaved-DYrv2t2N.js → InsightsChartTimeSaved-Fn70fEqD.js} +8 -8
  68. package/dist/assets/InsightsChartTimeSaved-legacy-DyXMw-Zj.js +99 -0
  69. package/dist/assets/{InsightsChartTotal-CNqL-Qn3.js → InsightsChartTotal-B0EltniK.js} +7 -7
  70. package/dist/assets/InsightsChartTotal-legacy-ny-Gn0NL.js +82 -0
  71. package/dist/assets/InsightsDashboard-legacy-bfD59wUo.js +562 -0
  72. package/dist/assets/{InsightsDashboard-CrJZtNDS.js → InsightsDashboard-vqQRDBrv.js} +36 -36
  73. package/dist/assets/{InsightsPaywall-DxgcxZ5z.js → InsightsPaywall-BKEVuxSt.js} +16 -16
  74. package/dist/assets/InsightsPaywall-legacy-By7YqflZ.js +83 -0
  75. package/dist/assets/{InsightsSummary-Bew3_p6D.js → InsightsSummary-DsQSWG2Q.js} +8 -8
  76. package/dist/assets/InsightsSummary-legacy-DK4uQ90J.js +225 -0
  77. package/dist/assets/{InsightsTableWorkflows-TAIASHgR.js → InsightsTableWorkflows-MahuiDFz.js} +16 -16
  78. package/dist/assets/InsightsTableWorkflows-legacy-By2jMj0_.js +269 -0
  79. package/dist/assets/{ItemsRenderer-BfXptelN.js → ItemsRenderer-CejxMtdi.js} +8 -8
  80. package/dist/assets/ItemsRenderer-legacy-Cv8U3BDP.js +1178 -0
  81. package/dist/assets/KeyboardShortcutTooltip-legacy-Bvz-OQ26.js +81 -0
  82. package/dist/assets/{KeyboardShortcutTooltip-y1pBqAge.js → KeyboardShortcutTooltip-qZ5YD2sD.js} +1 -1
  83. package/dist/assets/{LogsPanel-Uc0E6yn-.js → LogsPanel-DDYWCOb0.js} +28 -30
  84. package/dist/assets/LogsPanel-Dotn9lvR.js +57 -0
  85. package/dist/assets/LogsPanel-legacy-ByvltTa3.js +16 -0
  86. package/dist/assets/LogsPanel-legacy-CskB3POf.js +2951 -0
  87. package/dist/assets/{MainHeader-M-D-hY8c.js → MainHeader-B2hrGRGJ.js} +241 -65
  88. package/dist/assets/{MainHeader-Dz9UViYg.css → MainHeader-Csdi9iXJ.css} +177 -29
  89. package/dist/assets/MainHeader-legacy-B3RrmiZE.js +2193 -0
  90. package/dist/assets/{MainSidebar-Bf52gQzU.js → MainSidebar-BlYUNsoE.js} +26 -26
  91. package/dist/assets/MainSidebar-legacy-CNRw0zHi.js +1306 -0
  92. package/dist/assets/{MainSidebarUserArea-UHX8ACa4.js → MainSidebarUserArea-CX_QMKfH.js} +5 -5
  93. package/dist/assets/MainSidebarUserArea-legacy-0NdAGU8c.js +172 -0
  94. package/dist/assets/Modal-legacy-DoUf8p-N.js +265 -0
  95. package/dist/assets/{Modal-DwutFKNY.js → Modal-mampYWrf.js} +5 -5
  96. package/dist/assets/{ModalDrawer-B2sNzJVm.js → ModalDrawer-BJGlFvi2.js} +6 -6
  97. package/dist/assets/ModalDrawer-legacy-BXaxLKkg.js +308 -0
  98. package/dist/assets/{NDVEmptyState-DdpBamQ9.js → NDVEmptyState-C7QVArdv.js} +1 -1
  99. package/dist/assets/NDVEmptyState-legacy-DjsKEIfJ.js +19819 -0
  100. package/dist/assets/{NodeCreation-BRIx8Ei9.js → NodeCreation-CL1i8pHd.js} +46 -46
  101. package/dist/assets/NodeCreation-legacy-CaZ3pWYZ.js +273 -0
  102. package/dist/assets/{NodeCreator-DDG2GQ-C.js → NodeCreator-DEx3Dj6j.js} +31 -31
  103. package/dist/assets/NodeCreator-legacy-Dz9MkQtc.js +1670 -0
  104. package/dist/assets/{NodeDetailsView-4jVeGvDi.js → NodeDetailsView-WyL3mE7Y.js} +64 -64
  105. package/dist/assets/NodeDetailsView-legacy-CMUSzOjZ.js +1116 -0
  106. package/dist/assets/{NodeDetailsViewV2-MeaPvImX.js → NodeDetailsViewV2-Bc3aUBj3.js} +65 -65
  107. package/dist/assets/NodeDetailsViewV2-legacy-mj-LYRpv.js +1060 -0
  108. package/dist/assets/{NodeIcon-C-rkj6sB.js → NodeIcon-BYTrCZAx.js} +2 -2
  109. package/dist/assets/NodeIcon-legacy-BHX1t3Oi.js +127 -0
  110. package/dist/assets/{NodeSettings-gAtnSv8q.js → NodeSettings-CPhr6Uu2.js} +19 -19
  111. package/dist/assets/NodeSettings-legacy-BjwVqiPp.js +2811 -0
  112. package/dist/assets/{NodeView-jjqmiYDP.js → NodeView-CUs2uLnS.js} +69 -69
  113. package/dist/assets/NodeView-legacy-B7u8GgSk.js +2660 -0
  114. package/dist/assets/{SettingsProvisioningView-Dhfda99J.css → OAuthConsentView-CXZbBKS5.css} +74 -32
  115. package/dist/assets/OAuthConsentView-YjViDNW3.js +225 -0
  116. package/dist/assets/OAuthConsentView-legacy-CT4ApTLs.js +292 -0
  117. package/dist/assets/PageViewLayout-legacy-B1As2gDz.js +44 -0
  118. package/dist/assets/{ParameterInputList-kEoD9fc7.js → ParameterInputList-DTj_ngLA.js} +29 -29
  119. package/dist/assets/ParameterInputList-legacy-pcN7bYH4.js +38124 -0
  120. package/dist/assets/{PrebuiltAgentTemplatesView-Dd6IJD_W.js → PrebuiltAgentTemplatesView-BECOiYO1.js} +18 -18
  121. package/dist/assets/PrebuiltAgentTemplatesView-legacy-DYhUlIns.js +205 -0
  122. package/dist/assets/{ProjectBreadcrumb-scGlGqYf.js → ProjectBreadcrumb-ClcStQiI.js} +4 -4
  123. package/dist/assets/ProjectBreadcrumb-legacy-PE_pUf9P.js +140 -0
  124. package/dist/assets/{ProjectCardBadge-p4AY0ubu.js → ProjectCardBadge-CR1M799A.js} +5 -5
  125. package/dist/assets/ProjectCardBadge-legacy-DwhYlW-b.js +251 -0
  126. package/dist/assets/{ProjectHeader-BZeiGuD6.js → ProjectHeader-L2nKcFJq.js} +12 -11
  127. package/dist/assets/ProjectHeader-legacy-Dk15aN_m.js +710 -0
  128. package/dist/assets/{ProjectIcon-DqKjDNbR.js → ProjectIcon-CHk5fa0e.js} +1 -1
  129. package/dist/assets/ProjectIcon-legacy-PFbusJyz.js +109 -0
  130. package/dist/assets/{ProjectRoleView-ByzrSQP-.js → ProjectRoleView-BIInR1qk.js} +46 -31
  131. package/dist/assets/ProjectRoleView-legacy-BO9-6Zog.js +480 -0
  132. package/dist/assets/{ProjectRolesView-DclD8eEm.js → ProjectRolesView-D2-fIOtW.js} +24 -21
  133. package/dist/assets/ProjectRolesView-legacy-CWMn_I7U.js +321 -0
  134. package/dist/assets/{ProjectSettings-4wa93sE4.js → ProjectSettings-BlClYwF1.js} +27 -26
  135. package/dist/assets/ProjectSettings-legacy-BPsXj5XT.js +1070 -0
  136. package/dist/assets/{ProjectSharing-BVPUxo_M.js → ProjectSharing-CSeX6YY5.js} +5 -5
  137. package/dist/assets/ProjectSharing-legacy-xYY68ooo.js +307 -0
  138. package/dist/assets/{ProjectVariables-x9spBaqX.js → ProjectVariables-Bjzw7BIq.js} +34 -34
  139. package/dist/assets/ProjectVariables-legacy-DfW6sdX0.js +572 -0
  140. package/dist/assets/{PushConnectionTracker-ByNVqY0h.js → PushConnectionTracker-DFq8UG-S.js} +3 -3
  141. package/dist/assets/PushConnectionTracker-legacy-B0Q_Dv5f.js +65 -0
  142. package/dist/assets/{ResourcesListLayout-UXbxK1S7.js → ResourcesListLayout-Cf-VCtXT.js} +10 -10
  143. package/dist/assets/ResourcesListLayout-legacy-DYKabjb6.js +938 -0
  144. package/dist/assets/RunDataHtml-B1O-g3bi.js +7 -0
  145. package/dist/assets/{RunDataHtml-DdtrEw19.js → RunDataHtml-BNcvZDMJ.js} +1 -1
  146. package/dist/assets/RunDataHtml-legacy-DopSvQCJ.js +63 -0
  147. package/dist/assets/RunDataHtml-legacy-h0qPMlWv.js +16 -0
  148. package/dist/assets/{RunDataJson-CxLotBq-.js → RunDataJson-CtU-jO3b.js} +14 -17
  149. package/dist/assets/RunDataJson-legacy-CDVGwTtk.js +253 -0
  150. package/dist/assets/{RunDataJsonActions-qylVa2u8.js → RunDataJsonActions-DcS_v76R.js} +15 -15
  151. package/dist/assets/RunDataJsonActions-legacy-CamxDlZh.js +5126 -0
  152. package/dist/assets/RunDataParsedAiContent-BFEUw_Z8.js +25 -0
  153. package/dist/assets/{RunDataParsedAiContent-Cs80jq_q.js → RunDataParsedAiContent-BVsW98ij.js} +7 -7
  154. package/dist/assets/RunDataParsedAiContent-legacy-CQnMh9q4.js +16 -0
  155. package/dist/assets/RunDataParsedAiContent-legacy-y3M6jgoj.js +234 -0
  156. package/dist/assets/{RunDataSearch-BvoYWH8W.js → RunDataSearch-Dd6t4Vgs.js} +10 -10
  157. package/dist/assets/RunDataSearch-legacy-D2VmIo7g.js +194 -0
  158. package/dist/assets/{RunDataTable-d3eXUdSg.js → RunDataTable-CuP87FpN.js} +16 -16
  159. package/dist/assets/RunDataTable-legacy-ByZIy2Hl.js +724 -0
  160. package/dist/assets/{SamlOnboarding-CRtDDWqf.js → SamlOnboarding-R6iv6uwF.js} +15 -15
  161. package/dist/assets/SamlOnboarding-legacy-3hKQbF8_.js +92 -0
  162. package/dist/assets/{SaveButton-D1iDaopV.js → SaveButton-CtUWsjwd.js} +3 -3
  163. package/dist/assets/SaveButton-legacy-6GGcUStL.js +123 -0
  164. package/dist/assets/{SelectedItemsInfo-CSzniBOD.js → SelectedItemsInfo-CFCO70kL.js} +2 -2
  165. package/dist/assets/SelectedItemsInfo-legacy-u_4Aalns.js +95 -0
  166. package/dist/assets/{SettingsApiView-DqnHEaAj.js → SettingsApiView-Aw62JsK1.js} +20 -20
  167. package/dist/assets/SettingsApiView-legacy-C9zAm0u7.js +409 -0
  168. package/dist/assets/SettingsCommunityNodesView-legacy-BKyymFU0.js +443 -0
  169. package/dist/assets/{SettingsCommunityNodesView-C7JC1VAK.js → SettingsCommunityNodesView-usMNCBTP.js} +34 -34
  170. package/dist/assets/{SettingsExternalSecrets-CqTHs6zk.js → SettingsExternalSecrets-3H27kaGp.js} +18 -18
  171. package/dist/assets/SettingsExternalSecrets-legacy-CUMq_ivN.js +315 -0
  172. package/dist/assets/SettingsLdapView-legacy-D5vgdVWc.js +2246 -0
  173. package/dist/assets/{SettingsLdapView-zifHhZKy.js → SettingsLdapView-oVEYnCs1.js} +21 -21
  174. package/dist/assets/{SettingsLogStreamingView-CQwuqSl8.js → SettingsLogStreamingView-DBnackHm.js} +20 -20
  175. package/dist/assets/SettingsLogStreamingView-legacy-CQ8nq1FW.js +479 -0
  176. package/dist/assets/SettingsMCPView-BD9hb-oe.js +936 -0
  177. package/dist/assets/SettingsMCPView-BGXq9o_x.css +1248 -0
  178. package/dist/assets/SettingsMCPView-legacy-B8E45TNn.js +1111 -0
  179. package/dist/assets/{SettingsPersonalView-C1NF8zuk.js → SettingsPersonalView-Dw-9ZYmb.js} +16 -16
  180. package/dist/assets/SettingsPersonalView-legacy-BCa5pb35.js +484 -0
  181. package/dist/assets/SettingsProvisioningView-C4D0a4Kz.css +303 -0
  182. package/dist/assets/SettingsProvisioningView-DpAIsdfr.js +448 -0
  183. package/dist/assets/SettingsProvisioningView-legacy-7LiGCRgO.js +530 -0
  184. package/dist/assets/{SettingsSourceControl-CZryQCqT.js → SettingsSourceControl-DJj3DHHA.js} +20 -20
  185. package/dist/assets/SettingsSourceControl-legacy-BdmpiLob.js +580 -0
  186. package/dist/assets/{SettingsSso-CeeFO_Pv.js → SettingsSso-BeDmk3V-.js} +21 -21
  187. package/dist/assets/SettingsSso-legacy-BTbHZn2L.js +507 -0
  188. package/dist/assets/{SettingsUsageAndPlan-DMMd5WcZ.js → SettingsUsageAndPlan-FoM6V1Ld.js} +19 -19
  189. package/dist/assets/SettingsUsageAndPlan-legacy-m-cDuLWb.js +505 -0
  190. package/dist/assets/{SettingsUsersView-DWVyE4hY.js → SettingsUsersView-BwTyYPXj.js} +21 -21
  191. package/dist/assets/SettingsUsersView-legacy-D39e8lpD.js +931 -0
  192. package/dist/assets/{SettingsView-trF6L-tM.js → SettingsView-BfAuJHR3.js} +13 -12
  193. package/dist/assets/SettingsView-legacy-hgJAMD5w.js +346 -0
  194. package/dist/assets/{SetupTemplateFormStep-BsgzR5CN.js → SetupTemplateFormStep-5Dxz6mL3.js} +6 -6
  195. package/dist/assets/SetupTemplateFormStep-legacy-Br6RSFQH.js +548 -0
  196. package/dist/assets/{SetupView-Bx4ZLcja.js → SetupView-CvELBthc.js} +15 -15
  197. package/dist/assets/SetupView-legacy-yEyZVczN.js +126 -0
  198. package/dist/assets/{SetupWorkflowCredentialsButton-DR_aufFd.js → SetupWorkflowCredentialsButton-DAFrS1pq.js} +12 -12
  199. package/dist/assets/SetupWorkflowCredentialsButton-legacy-BkSWj18e.js +84 -0
  200. package/dist/assets/SetupWorkflowFromTemplateView-legacy-ByqlU9fc.js +376 -0
  201. package/dist/assets/{SetupWorkflowFromTemplateView-Ded77Ph-.js → SetupWorkflowFromTemplateView-uxGhfWLo.js} +21 -21
  202. package/dist/assets/SigninView-legacy-wkJIfoQV.js +441 -0
  203. package/dist/assets/{SigninView-DXPofyPm.js → SigninView-qzciwLod.js} +16 -16
  204. package/dist/assets/{SignoutView-B7H_dRJO.js → SignoutView-BAHDN7_D.js} +10 -10
  205. package/dist/assets/SignoutView-legacy-7HQWbMDt.js +56 -0
  206. package/dist/assets/{SignupView-BHWVvwh8.js → SignupView-ClulJHw1.js} +15 -15
  207. package/dist/assets/SignupView-legacy-2pnkjTn7.js +154 -0
  208. package/dist/assets/TagsDropdown-legacy-BtJ1Sjlj.js +285 -0
  209. package/dist/assets/{TagsDropdown-D6CYk5R8.js → TagsDropdown-sf5rCG4m.js} +4 -4
  210. package/dist/assets/{TemplateDetails-ezK9JOOl.js → TemplateDetails-DQtY0s_s.js} +7 -7
  211. package/dist/assets/TemplateDetails-legacy-BsMCyy8I.js +197 -0
  212. package/dist/assets/{TemplateList-DztR2yKa.js → TemplateList-DRC8FrQz.js} +5 -5
  213. package/dist/assets/TemplateList-legacy-D0LSlQK9.js +411 -0
  214. package/dist/assets/{TemplatesCollectionView-Bu_YRd84.js → TemplatesCollectionView-DONrZBME.js} +23 -23
  215. package/dist/assets/TemplatesCollectionView-legacy-HXEUNo_l.js +248 -0
  216. package/dist/assets/{TemplatesSearchView-C7zBEV2b.js → TemplatesSearchView-DDZuvKqM.js} +21 -21
  217. package/dist/assets/TemplatesSearchView-legacy-28acdtqn.js +1427 -0
  218. package/dist/assets/{TemplatesView-BnozPkTX.js → TemplatesView-BmiQGH35.js} +3 -3
  219. package/dist/assets/TemplatesView-legacy-B2w8licK.js +113 -0
  220. package/dist/assets/{TemplatesWorkflowView-BTyHc3MG.js → TemplatesWorkflowView-Cdwrydpt.js} +25 -25
  221. package/dist/assets/TemplatesWorkflowView-legacy-C_2wkoc1.js +220 -0
  222. package/dist/assets/{TestRunDetailView-B76TM9u8.js → TestRunDetailView-Dhq4tAJV.js} +18 -18
  223. package/dist/assets/TestRunDetailView-legacy-hQli5No4.js +500 -0
  224. package/dist/assets/TextWithHighlights-legacy-CVW5NpX4.js +108 -0
  225. package/dist/assets/{TimeAgo-Gv5h1Utx.js → TimeAgo-BFJOHR5_.js} +2 -2
  226. package/dist/assets/TimeAgo-legacy-OJCaC3xJ.js +200 -0
  227. package/dist/assets/{TriggerPanel-Dx9LpA4p.js → TriggerPanel-DtaNk_Mt.js} +80 -28
  228. package/dist/assets/{TriggerPanel-BQveVt6Q.css → TriggerPanel-jKx3Ut66.css} +31 -10
  229. package/dist/assets/TriggerPanel-legacy-DGckjcgd.js +1519 -0
  230. package/dist/assets/{VirtualSchema-CUUzo795.js → VirtualSchema-BPKNcaHe.js} +16 -16
  231. package/dist/assets/VirtualSchema-Ce9RryqL.js +43 -0
  232. package/dist/assets/VirtualSchema-legacy-BT94K3Qg.js +2655 -0
  233. package/dist/assets/VirtualSchema-legacy-DWrDvaPx.js +16 -0
  234. package/dist/assets/{VueMarkdown-CiR4a0gO.js → VueMarkdown-CF7KJfpC.js} +1 -1
  235. package/dist/assets/VueMarkdown-legacy-Dyo2dNbU.js +50 -0
  236. package/dist/assets/{WorkerView-D7h4pmTk.js → WorkerView-CUypvdcg.js} +39 -39
  237. package/dist/assets/WorkerView-legacy-DMYRM_Cm.js +636 -0
  238. package/dist/assets/{WorkflowActivator-k3HTYXbc.js → WorkflowActivator-DcgoNwmT.js} +8 -8
  239. package/dist/assets/WorkflowActivator-legacy-PoTuxdWE.js +473 -0
  240. package/dist/assets/{WorkflowExecutionsInfoAccordion-DL5cBkbK.js → WorkflowExecutionsInfoAccordion-C6OXDZEA.js} +7 -7
  241. package/dist/assets/WorkflowExecutionsInfoAccordion-legacy-B4TTZinW.js +226 -0
  242. package/dist/assets/{WorkflowExecutionsLandingPage-DlXz9Jry.js → WorkflowExecutionsLandingPage-D2pYB3tS.js} +21 -21
  243. package/dist/assets/WorkflowExecutionsLandingPage-legacy-DaS6jgLc.js +136 -0
  244. package/dist/assets/{WorkflowExecutionsPreview-DJWD2i74.js → WorkflowExecutionsPreview-B-EBo84g.js} +25 -25
  245. package/dist/assets/WorkflowExecutionsPreview-legacy-BZAG_FE2.js +745 -0
  246. package/dist/assets/{WorkflowExecutionsView-CK-2WqY7.js → WorkflowExecutionsView-DPiBL6kC.js} +38 -38
  247. package/dist/assets/WorkflowExecutionsView-legacy-C6eVhTue.js +880 -0
  248. package/dist/assets/{WorkflowHistory-Cb-ZoRBp.js → WorkflowHistory-ZHxuKv_S.js} +19 -19
  249. package/dist/assets/WorkflowHistory-legacy-D9EpXPrw.js +881 -0
  250. package/dist/assets/{WorkflowOnboardingView-CguOMlib.js → WorkflowOnboardingView-B7iQi_8k.js} +9 -9
  251. package/dist/assets/WorkflowOnboardingView-legacy-DGVGXrbp.js +95 -0
  252. package/dist/assets/WorkflowPreview-legacy-Ck8uteSS.js +249 -0
  253. package/dist/assets/{WorkflowPreview-DY79uYFw.js → WorkflowPreview-q32aqNwB.js} +5 -5
  254. package/dist/assets/{WorkflowTagsDropdown-CdEFZM1A.js → WorkflowTagsDropdown-DTUxLHbz.js} +2 -2
  255. package/dist/assets/WorkflowTagsDropdown-legacy-D6X-TzYC.js +90 -0
  256. package/dist/assets/{WorkflowsView-BnxQSw3m.js → WorkflowsView-CMeOv7jM.js} +98 -80
  257. package/dist/assets/{WorkflowsView-2XTsT7zB.css → WorkflowsView-M8ExG7Q2.css} +22 -19
  258. package/dist/assets/WorkflowsView-legacy-BpAAeN0R.js +3521 -0
  259. package/dist/assets/{_MapCache-Byd-DTfo.js → _MapCache-Dw6Llo22.js} +74 -11
  260. package/dist/assets/_MapCache-legacy-DcX1vy0l.js +11084 -0
  261. package/dist/assets/_plugin-vue_export-helper-legacy-DZMI5HPp.js +19 -0
  262. package/dist/assets/{apiKeys.store-CPsBJKkq.js → apiKeys.store-HKuBxy3l.js} +1 -1
  263. package/dist/assets/apiKeys.store-legacy-BLC1aaW1.js +76 -0
  264. package/dist/assets/{assistant.store-DvuxtpS4.js → assistant.store-BtplYeLr.js} +6 -6
  265. package/dist/assets/assistant.store-legacy-Dk3PMmMU.js +1313 -0
  266. package/dist/assets/{auth.eventBus-YsWbuB84.js → auth.eventBus-16zfbqGs.js} +1 -1
  267. package/dist/assets/auth.eventBus-legacy-HP2TbQxy.js +22 -0
  268. package/dist/assets/{banners.store-BQPwuqhn.js → banners.store-DikUBA5o.js} +3 -3
  269. package/dist/assets/banners.store-legacy-DUTxfINX.js +260 -0
  270. package/dist/assets/buttons.esm-legacy-BLrJSt1Z.js +419 -0
  271. package/dist/assets/chart-legacy-DbW-cf8m.js +12055 -0
  272. package/dist/assets/chartjs.utils-legacy-CKDO0Ba9.js +208 -0
  273. package/dist/assets/{chartjs.utils-Bf07Y-P-.js → chartjs.utils-om4DCCN2.js} +3 -3
  274. package/dist/assets/{chatPanel.store-fM-8PK9i.js → chatPanel.store-BZOiAoXE.js} +4 -4
  275. package/dist/assets/chatPanel.store-legacy-CQ6tsDjT.js +153 -0
  276. package/dist/assets/chunk-legacy-Re9CbdfL.js +59 -0
  277. package/dist/assets/{cloudPlan.store-DrraBpZJ.js → cloudPlan.store-DT2PFV79.js} +2 -2
  278. package/dist/assets/cloudPlan.store-legacy-BPgz6zU7.js +208 -0
  279. package/dist/assets/{col-DK_GtMhM.js → col-Da3-PCMn.js} +3 -3
  280. package/dist/assets/col-legacy-Bhm60Oe3.js +186 -0
  281. package/dist/assets/{constants-DvlTm3U4.js → constants-C5Tj3dXQ.js} +362 -356
  282. package/dist/assets/constants-legacy-CLA25gM9.js +61343 -0
  283. package/dist/assets/constants-legacy-D22nGw-a.js +26 -0
  284. package/dist/assets/{core-6lPsS9S5.js → core-CH2Kku_3.js} +1 -1
  285. package/dist/assets/core-legacy-BVoFM47F.js +1857 -0
  286. package/dist/assets/core-legacy-De470jmW.js +20 -0
  287. package/dist/assets/{dataTable.store-u9fGWest.js → dataTable.store-BC5cIRU-.js} +5 -3
  288. package/dist/assets/dataTable.store-legacy-BKpQb7Gy.js +202 -0
  289. package/dist/assets/{date-picker-CVSd-BRt.js → date-picker-D6cS76wx.js} +3 -3
  290. package/dist/assets/date-picker-legacy-pB1SshLs.js +4508 -0
  291. package/dist/assets/{dateFormatter-BD73Za8B.js → dateFormatter-DysKGI6w.js} +1 -1
  292. package/dist/assets/dateFormatter-legacy-Dl8dqhrg.js +53 -0
  293. package/dist/assets/dateformat-legacy-Xt1X-tys.js +161 -0
  294. package/dist/assets/{dialog-BMoy5MDa.js → dialog-Cgy1Sihv.js} +4 -4
  295. package/dist/assets/dialog-legacy-BrpTfsO5.js +518 -0
  296. package/dist/assets/{dist-CWw8iddm.js → dist-D33xoYUY.js} +1 -1
  297. package/dist/assets/dist-legacy-8f5owWm6.js +204 -0
  298. package/dist/assets/{empty-BuGRxzl4.js → empty-RTEMfF4N.js} +1 -1
  299. package/dist/assets/empty-legacy-DnVUoqbC.js +2409 -0
  300. package/dist/assets/en-legacy-Bgme8Vbm.js +98 -0
  301. package/dist/assets/en-legacy-BwVJMmMW.js +16 -0
  302. package/dist/assets/{es-BazDU8Wd.js → es-Cjns9o4Y.js} +1 -1
  303. package/dist/assets/es-legacy-8dRs2C3P.js +16006 -0
  304. package/dist/assets/{evaluation.constants-CIiAC2dT.js → evaluation.constants-BJTUNo2q.js} +3 -3
  305. package/dist/assets/evaluation.constants-legacy-7byaeleB.js +363 -0
  306. package/dist/assets/{executions.store-IU9p1s46.js → executions.store-D2xBmTFC.js} +1 -1
  307. package/dist/assets/executions.store-legacy-BzRopbKX.js +246 -0
  308. package/dist/assets/exports-legacy-RTRnyI4R.js +3103 -0
  309. package/dist/assets/{externalSecrets.ee.store-1z63wMHN.js → externalSecrets.ee.store-CbqCu_KF.js} +2 -2
  310. package/dist/assets/externalSecrets.ee.store-legacy-BP6gQv_P.js +145 -0
  311. package/dist/assets/{focusPanel.store-BJpwjMIG.js → focusPanel.store-CPU1uVq-.js} +4 -4
  312. package/dist/assets/focusPanel.store-legacy-BcpstEbJ.js +264 -0
  313. package/dist/assets/{folders.store-Db975T-w.js → folders.store-CmYx4Y_F.js} +2 -2
  314. package/dist/assets/folders.store-legacy-BAC47Qt0.js +267 -0
  315. package/dist/assets/{icon-DhADuA9N.js → icon-DmIKo5zZ.js} +1 -1
  316. package/dist/assets/icon-legacy-gLTnORTx.js +458 -0
  317. package/dist/assets/{index-C8erHZ_Y.css → index-4I6DPmNr.css} +1 -1
  318. package/dist/assets/{index-C25i7qsE.js → index-CSjecLC-.js} +189 -1627
  319. package/dist/assets/index-legacy-BeiTnujt.js +28424 -0
  320. package/dist/assets/insights.constants-legacy-D5Y8YhR_.js +64 -0
  321. package/dist/assets/{insights.store-DC_enAA-.js → insights.store-aHF8maKY.js} +4 -4
  322. package/dist/assets/insights.store-legacy-XeWToovL.js +89 -0
  323. package/dist/assets/{insights.utils-ClJRVRAK.js → insights.utils-ClwWcg-l.js} +8 -8
  324. package/dist/assets/insights.utils-legacy-DWaseOa4.js +96 -0
  325. package/dist/assets/{isEmpty-DrZRN4lR.js → isEmpty-Dg0afC99.js} +30 -31
  326. package/dist/assets/isEmpty-legacy-7ibnR7BO.js +43393 -0
  327. package/dist/assets/{languageModules-CNluY7w0.js → languageModules-BF7Ga1Pj.js} +1 -1
  328. package/dist/assets/languageModules-legacy-BaU1eOK3.js +7184 -0
  329. package/dist/assets/{logStreaming.store-CPvxjcQB.js → logStreaming.store-DFZnZ2Rt.js} +1 -1
  330. package/dist/assets/logStreaming.store-legacy-B_cbQPAW.js +209 -0
  331. package/dist/assets/mcp.constants-BCNosk1p.js +5 -0
  332. package/dist/assets/mcp.constants-legacy-CZfk8DW2.js +18 -0
  333. package/dist/assets/{mcp.store-YGfe2oZU.js → mcp.store-Bd62s_4P.js} +23 -3
  334. package/dist/assets/mcp.store-legacy-C00py4q_.js +125 -0
  335. package/dist/assets/{merge-CKEa8BM2.js → merge-Dnkh07HW.js} +1 -1
  336. package/dist/assets/merge-legacy-CcVOuFTi.js +1529 -0
  337. package/dist/assets/{nodeCreator.store-DHz0Nc1Y.js → nodeCreator.store-C1GkQ_2N.js} +8 -8
  338. package/dist/assets/nodeCreator.store-legacy-CjrGX9Lm.js +4758 -0
  339. package/dist/assets/{nodeIcon-ry_JIpAT.js → nodeIcon-ChI78z3o.js} +2 -2
  340. package/dist/assets/nodeIcon-legacy-DD6sIN5e.js +122 -0
  341. package/dist/assets/{nodeTransforms-PeZUYiCs.js → nodeTransforms-C7fmOXNl.js} +2 -2
  342. package/dist/assets/nodeTransforms-legacy-BI0GkY5n.js +86 -0
  343. package/dist/assets/npsSurvey.store-legacy-oZP0npqy.js +123 -0
  344. package/dist/assets/{npsSurvey.store-BTpA4Bdf.js → npsSurvey.store-ylMA9JZD.js} +2 -2
  345. package/dist/assets/{orderBy-CMVxNao4.js → orderBy-FDQLKrkD.js} +2 -2
  346. package/dist/assets/orderBy-legacy-BZrAOdi3.js +63 -0
  347. package/dist/assets/{overlay-B8MMvNgs.js → overlay-C02_kK8Y.js} +2 -2
  348. package/dist/assets/overlay-legacy-CfieUdAZ.js +218 -0
  349. package/dist/assets/{path-browserify-DsmB_HMK.js → path-browserify-CTmc1OxV.js} +1 -1
  350. package/dist/assets/path-browserify-legacy-DJbEMZcd.js +328 -0
  351. package/dist/assets/{personalizedTemplatesV3.store-C0D2WZuq.js → personalizedTemplatesV3.store-alXco4LN.js} +4 -4
  352. package/dist/assets/personalizedTemplatesV3.store-legacy-D4xPTzWQ.js +313 -0
  353. package/dist/assets/{pickBy-DWZbVA0W.js → pickBy-SlOaKcI1.js} +2 -2
  354. package/dist/assets/pickBy-legacy-5fAqUgO0.js +59 -0
  355. package/dist/assets/polyfills-legacy-07zJxDbQ.js +4836 -0
  356. package/dist/assets/preload-helper-legacy-CXRjoQ0T.js +73 -0
  357. package/dist/assets/{radio-5XOrKEP7.js → radio-BlnltmtN.js} +3 -3
  358. package/dist/assets/radio-legacy-CvqQyMRY.js +323 -0
  359. package/dist/assets/{readyToRunWorkflows.store-C23cIyhu.js → readyToRunWorkflows.store-BXoUeVNE.js} +5 -5
  360. package/dist/assets/readyToRunWorkflows.store-legacy-CLv3FVF5.js +2086 -0
  361. package/dist/assets/{readyToRunWorkflowsV2.store-BxZUJyXQ.js → readyToRunWorkflowsV2.store-BJAu2HwR.js} +7 -7
  362. package/dist/assets/readyToRunWorkflowsV2.store-legacy-CM_1ZlJR.js +549 -0
  363. package/dist/assets/retry-legacy-CkXCWkMV.js +48 -0
  364. package/dist/assets/{roles.store-Bk6Eo7y8.js → roles.store-DzShOYE2.js} +2 -2
  365. package/dist/assets/roles.store-legacy-BxleDMZw.js +67 -0
  366. package/dist/assets/{router-D4zIcC5W.js → router-B0aGwO7-.js} +93 -84
  367. package/dist/assets/router-legacy-BCUbS_pL.js +1705 -0
  368. package/dist/assets/{sanitize-html-BuXr7o4T.js → sanitize-html-Cfxibw1n.js} +2 -2
  369. package/dist/assets/sanitize-html-legacy-DfOUEbdf.js +9987 -0
  370. package/dist/assets/{schemaPreview.store-BVhugjbw.js → schemaPreview.store-DoyPeLof.js} +2 -2
  371. package/dist/assets/schemaPreview.store-legacy-CtBwiQEG.js +153 -0
  372. package/dist/assets/{semver-lN9oCZPq.js → semver-D1BuALCK.js} +2 -2
  373. package/dist/assets/semver-legacy-iZYhFDDU.js +1499 -0
  374. package/dist/assets/smartDecimal-legacy-BeOdMR2z.js +19 -0
  375. package/dist/assets/sortByProperty-legacy-CgPLoqtk.js +21 -0
  376. package/dist/assets/{sourceControl.eventBus-BkPwCZw_.js → sourceControl.eventBus-kAyFUXsG.js} +1 -1
  377. package/dist/assets/sourceControl.eventBus-legacy-oIGia_rL.js +17 -0
  378. package/dist/assets/{src-D6S9Khji.js → src-DsaRShTK.js} +648 -600
  379. package/dist/assets/src-legacy-6Jvz4Sen.js +64208 -0
  380. package/dist/assets/{sso.store-qzj82Xj4.js → sso.store-Cw8J8on5.js} +1 -1
  381. package/dist/assets/sso.store-legacy-Ci_mQS0X.js +185 -0
  382. package/dist/assets/{table-s-zqHExs.js → table-adhNf731.js} +3 -3
  383. package/dist/assets/table-legacy-DECH20yK.js +4957 -0
  384. package/dist/assets/{templateActions-BeIpzgaa.js → templateActions-B4t6RCi8.js} +4 -4
  385. package/dist/assets/templateActions-legacy-CqwW8d3O.js +134 -0
  386. package/dist/assets/{templateTransforms-Cgy40V1P.js → templateTransforms-Bu9cSoOY.js} +1 -1
  387. package/dist/assets/templateTransforms-legacy-DToYks9P.js +84 -0
  388. package/dist/assets/{templates.store-COjIpQaS.js → templates.store-Bt8tpLPx.js} +3 -3
  389. package/dist/assets/templates.store-legacy-CPyYqMqR.js +459 -0
  390. package/dist/assets/{truncate-DGRsht-H.js → truncate-7XypoloM.js} +1 -1
  391. package/dist/assets/truncate-legacy-D2_XDpGK.js +5763 -0
  392. package/dist/assets/{uniqBy-BUNHbbw3.js → uniqBy-DAOmWpEt.js} +1 -1
  393. package/dist/assets/uniqBy-legacy-8A5HU2la.js +52 -0
  394. package/dist/assets/{usage.store-EBmhHKPv.js → usage.store-Xl7x6DGx.js} +1 -1
  395. package/dist/assets/usage.store-legacy-CVF7gKOp.js +126 -0
  396. package/dist/assets/{useActions-CqdsN2GH.js → useActions-BeWbvBcf.js} +5 -5
  397. package/dist/assets/useActions-legacy-B8B-O_ET.js +330 -0
  398. package/dist/assets/{useAgent-BHJHCfap.js → useAgent-C1ldRVaA.js} +1 -1
  399. package/dist/assets/useAgent-legacy-BSTQ3a_e.js +28 -0
  400. package/dist/assets/{useBeforeUnload-BPhnlPrH.js → useBeforeUnload-Dk9osL_V.js} +3 -3
  401. package/dist/assets/useBeforeUnload-legacy-hCNmJWkt.js +69 -0
  402. package/dist/assets/{useBugReporting-oDEHgPM1.js → useBugReporting-B8EUAXTd.js} +9 -9
  403. package/dist/assets/useBugReporting-legacy-Dbui6uN6.js +383 -0
  404. package/dist/assets/{useCanvasMapping-DWlYBxgN.js → useCanvasMapping-CC7eJyt0.js} +21 -20
  405. package/dist/assets/useCanvasMapping-legacy-DRk52E6N.js +14180 -0
  406. package/dist/assets/{useCanvasOperations-CFsSFVcO.js → useCanvasOperations-Cxgmc_7x.js} +13 -13
  407. package/dist/assets/useCanvasOperations-legacy-DDhXmhZf.js +1992 -0
  408. package/dist/assets/{useChatCredentials-CMV_NA0l.js → useChatCredentials-DQJGjWzL.js} +24 -12
  409. package/dist/assets/useChatCredentials-legacy-BB0gXwkF.js +717 -0
  410. package/dist/assets/{useChatHubSidebarState-CM9tokIj.js → useChatHubSidebarState-DpLl3Oap.js} +14 -7
  411. package/dist/assets/useChatHubSidebarState-legacy-fa3EFauo.js +733 -0
  412. package/dist/assets/{useClipboard-fRnZpGbX.js → useClipboard-BkbYyMX3.js} +2 -2
  413. package/dist/assets/useClipboard-legacy-CF0IG1Mu.js +78 -0
  414. package/dist/assets/{useCommandBar-_c6cO-zw.js → useCommandBar-DOChPPYZ.js} +29 -25
  415. package/dist/assets/useCommandBar-legacy-Bx4lZuXv.js +2100 -0
  416. package/dist/assets/{useDebounce-BgcdaJ78.js → useDebounce-DFa0sFlC.js} +2 -2
  417. package/dist/assets/useDebounce-legacy-D-CoXkwk.js +326 -0
  418. package/dist/assets/{useExecutionData-Bk540rxU.js → useExecutionData-D1Hu-5sr.js} +1 -1
  419. package/dist/assets/useExecutionData-legacy-DmERlRFZ.js +42 -0
  420. package/dist/assets/useExecutionDebugging-legacy-DARRX5Rl.js +152 -0
  421. package/dist/assets/{useExecutionDebugging-BNrxsZTN.js → useExecutionDebugging-yG8CO6AO.js} +7 -7
  422. package/dist/assets/useExecutionHelpers-legacy-CQh3o0WC.js +120 -0
  423. package/dist/assets/{useExecutionHelpers-DrFWi6u7.js → useExecutionHelpers-sUZnNg8O.js} +5 -5
  424. package/dist/assets/{useExternalHooks-SxBXYVNW.js → useExternalHooks-DSSTcvme.js} +1 -1
  425. package/dist/assets/useExternalHooks-legacy-DAJrb39U.js +53 -0
  426. package/dist/assets/{useImportCurlCommand-obipPNWg.js → useImportCurlCommand-C8Mv1xEK.js} +11 -11
  427. package/dist/assets/useImportCurlCommand-legacy-Cs_C8ucb.js +8269 -0
  428. package/dist/assets/useIntersectionObserver-legacy-CQWXa295.js +69 -0
  429. package/dist/assets/{useKeybindings-DlmwtVDN.js → useKeybindings-BeP-kiF_.js} +4 -4
  430. package/dist/assets/useKeybindings-legacy-BP8xe8FX.js +118 -0
  431. package/dist/assets/{useLogsTreeExpand-gKLCILZL.js → useLogsTreeExpand-VaIZtJEy.js} +11 -11
  432. package/dist/assets/useLogsTreeExpand-legacy-9ArL6-As.js +1039 -0
  433. package/dist/assets/{useMcp-_gyuyL1x.js → useMcp-CXTbPxKj.js} +3 -7
  434. package/dist/assets/useMcp-legacy-Dx5gBZcF.js +46 -0
  435. package/dist/assets/{useMessage-Ceo97RRX.js → useMessage-hiDKbQYH.js} +5 -5
  436. package/dist/assets/useMessage-legacy-Cl537NB0.js +683 -0
  437. package/dist/assets/{usePageRedirectionHelper-C_ctyI4O.js → usePageRedirectionHelper-C8YGBi-F.js} +4 -4
  438. package/dist/assets/usePageRedirectionHelper-legacy-CeLk3K53.js +95 -0
  439. package/dist/assets/{usePinnedData-Csij2qN3.js → usePinnedData-BsuIBj2b.js} +5 -5
  440. package/dist/assets/usePinnedData-legacy-9ciMJD_m.js +283 -0
  441. package/dist/assets/{usePushConnection-XZibrqm8.js → usePushConnection-cXyYzGoP.js} +11 -11
  442. package/dist/assets/usePushConnection-legacy-D3xue9ej.js +763 -0
  443. package/dist/assets/{useRecentResources-FhIOba0w.js → useRecentResources-D1-21efA.js} +7 -7
  444. package/dist/assets/useRecentResources-legacy-CdJaBL9r.js +159 -0
  445. package/dist/assets/{useRunWorkflow-_-_hUnHE.js → useRunWorkflow-BLqckUNU.js} +9 -9
  446. package/dist/assets/useRunWorkflow-legacy-ClvXUChT.js +1136 -0
  447. package/dist/assets/{useTelemetry-EOV0Llso.js → useTelemetry-DedEakwK.js} +89 -54
  448. package/dist/assets/useTelemetry-legacy-Bu_8SoSm.js +31004 -0
  449. package/dist/assets/{useTelemetryContext-CSMUQPEW.js → useTelemetryContext-DX-4dy5E.js} +1 -1
  450. package/dist/assets/useTelemetryContext-legacy-DQvfjWrO.js +81 -0
  451. package/dist/assets/{useToast-BlMNYwds.js → useToast-LQk5sJH0.js} +6 -6
  452. package/dist/assets/useToast-legacy-CIRx5txg.js +610 -0
  453. package/dist/assets/{useWorkflowActivate-OfPMIBJ5.js → useWorkflowActivate-BSpG7MxI.js} +8 -8
  454. package/dist/assets/useWorkflowActivate-legacy-Btoe32cC.js +125 -0
  455. package/dist/assets/{useWorkflowSaving-CWyt929n.js → useWorkflowSaving-GL9jVODA.js} +10 -10
  456. package/dist/assets/useWorkflowSaving-legacy-8U0vS257.js +329 -0
  457. package/dist/assets/{useWorkflowsCache-BSXTJC8C.js → useWorkflowsCache-B4y-W-2Y.js} +1 -1
  458. package/dist/assets/useWorkflowsCache-legacy-Cpa2s1nv.js +217 -0
  459. package/dist/assets/{versions.store-Dx98n6R_.js → versions.store-Bon8LCsf.js} +3 -3
  460. package/dist/assets/versions.store-legacy-ZeK5FOAp.js +244 -0
  461. package/dist/assets/vue-json-pretty-BAtqAAV1.js +1130 -0
  462. package/dist/assets/vue-json-pretty-legacy-Dk5EQofb.js +1282 -0
  463. package/dist/assets/vue-legacy-Cj7LJTPA.js +4579 -0
  464. package/dist/assets/vue.runtime.esm-bundler-legacy-Bq05oSFs.js +8050 -0
  465. package/dist/assets/xml-legacy-Cyrxa7r6.js +1245 -0
  466. package/dist/index.html +107 -103
  467. package/dist/static/openChat.png +0 -0
  468. package/package.json +1 -1
  469. package/vite.config.mts +0 -2
  470. package/dist/assets/CollectionParameter-CizL_Xml.js +0 -58
  471. package/dist/assets/DemoFooter-D8E8sLCS.js +0 -71
  472. package/dist/assets/LogsPanel-sLas9qHQ.js +0 -58
  473. package/dist/assets/RunDataHtml-X9lzUZaX.js +0 -7
  474. package/dist/assets/RunDataParsedAiContent-DBP5JHe4.js +0 -25
  475. package/dist/assets/SettingsMCPView-BBO_ZyBU.css +0 -552
  476. package/dist/assets/SettingsMCPView-Chjl8-hw.js +0 -584
  477. package/dist/assets/SettingsProvisioningView-BFUB6c2Z.js +0 -252
  478. package/dist/assets/VirtualSchema-5T21Yyqx.js +0 -43
  479. package/dist/assets/vue-json-pretty-BltKoWq2.js +0 -681
  480. /package/dist/assets/{AnimatedSpinner-Dd4F9nQ8.js → AnimatedSpinner-4ie3BOLv.js} +0 -0
  481. /package/dist/assets/{PageViewLayout-Ccqeja5V.js → PageViewLayout-kj_BBPfv.js} +0 -0
  482. /package/dist/assets/{buttons.esm-Euf82NbC.js → buttons.esm-CT4flsfB.js} +0 -0
  483. /package/dist/assets/{chart-BI8B7UPV.js → chart-CE3HWIkr.js} +0 -0
  484. /package/dist/assets/{constants-CPQyU8WO.js → constants-9ReQTHaF.js} +0 -0
  485. /package/dist/assets/{core-CIkXL_1D.js → core-CzunNfUb.js} +0 -0
  486. /package/dist/assets/{insights.constants-NogjFJ3a.js → insights.constants-DK2g3nnD.js} +0 -0
  487. /package/dist/assets/{smartDecimal-5rgLDM96.js → smartDecimal-e9uPsnJa.js} +0 -0
  488. /package/dist/assets/{sortByProperty-0UtqPmvJ.js → sortByProperty-CUhVU03p.js} +0 -0
  489. /package/dist/assets/{useIntersectionObserver-BkAtQAzK.js → useIntersectionObserver-C8Bz3yon.js} +0 -0
  490. /package/dist/assets/{vue-LyXhKoPx.js → vue-RAk0R0Jn.js} +0 -0
  491. /package/dist/assets/{xml-F7krcG3E.js → xml-B_gYdkaU.js} +0 -0
@@ -0,0 +1,1313 @@
1
+ ;
2
+ (function () {
3
+ System.register(["./chunk-legacy-Re9CbdfL.js", "./vue.runtime.esm-bundler-legacy-Bq05oSFs.js", "./_MapCache-legacy-DcX1vy0l.js", "./src-legacy-6Jvz4Sen.js", "./truncate-legacy-D2_XDpGK.js", "./useTelemetry-legacy-Bu_8SoSm.js", "./useToast-legacy-CIRx5txg.js", "./constants-legacy-CLA25gM9.js"], function (_export, _context) {
4
+ "use strict";
5
+
6
+ var __toESM, computed, createElementBlock, unref, ref, h, defineComponent, toDisplayString, watch, openBlock, createTextVNode, createBaseVNode, useI18n, isWorkflowUpdatedMessage, isToolMessage, createEventBus, useRoute, useSettingsStore, STORES, useCredentialsStore, getSessionsMetadata, getAuthTypeForNodeCredential, getAiSessions, useUIStore, useRootStore, injectWorkflowState, CREDENTIAL_EDIT_MODAL_KEY, chatWithAssistant, chatWithBuilder, useAIAssistantHelpers, replaceCode, assert, useNDVStore, useUsersStore, codeNodeEditorEventBus, useWorkflowsStore, getMainAuthField, getBuilderCredits, useNodeTypesStore, useTelemetry, defineStore, stringSizeInBytes, useToast, require_pick, jsonParse, deepCopy, EDITABLE_CANVAS_VIEWS, VIEWS, PLACEHOLDER_EMPTY_WORKFLOW_ID, DEFAULT_NEW_WORKFLOW_NAME, ASSISTANT_ENABLED_VIEWS, BUILDER_ENABLED_VIEWS, import_pick, INFINITE_CREDITS, useBuilderStore, DEFAULT_CHAT_WIDTH, useChatPanelStateStore, ndvEventBus, _hoisted_1, AiUpdatedCodeMessage_vue_vue_type_script_setup_true_lang_default, AiUpdatedCodeMessage_default, READABLE_TYPES, useAssistantStore;
7
+ //#endregion
8
+ //#region src/features/ai/assistant/assistant.types.ts
9
+ function isTextMessage(msg) {
10
+ return "type" in msg && msg.type === "message" && "text" in msg;
11
+ }
12
+ function isWorkflowUpdatedMessage$1(msg) {
13
+ return "type" in msg && msg.type === "workflow-updated" && "codeSnippet" in msg;
14
+ }
15
+ function isToolMessage$1(msg) {
16
+ return "type" in msg && msg.type === "tool" && "toolName" in msg && "status" in msg;
17
+ }
18
+
19
+ //#endregion
20
+ //#region src/features/ai/assistant/composables/useBuilderMessages.ts
21
+ function useBuilderMessages() {
22
+ const locale = useI18n();
23
+ /**
24
+ * Clear rating from all messages
25
+ */
26
+ function clearRatingLogic(messages) {
27
+ return messages.map(message => {
28
+ if (message.type === "text" && "showRating" in message) {
29
+ const {
30
+ showRating,
31
+ ratingStyle,
32
+ ...cleanMessage
33
+ } = message;
34
+ return cleanMessage;
35
+ }
36
+ return message;
37
+ });
38
+ }
39
+ /**
40
+ * Apply rating logic to messages - only show rating on the last AI text message after workflow-updated
41
+ * when no tools are running
42
+ */
43
+ function applyRatingLogic(messages) {
44
+ const {
45
+ hasAnyRunningTools,
46
+ isStillThinking
47
+ } = getThinkingState(messages);
48
+ if (hasAnyRunningTools || isStillThinking) return clearRatingLogic(messages);
49
+ let lastWorkflowUpdateIndex = -1;
50
+ for (let i = messages.length - 1; i >= 0; i--) if (messages[i].type === "workflow-updated") {
51
+ lastWorkflowUpdateIndex = i;
52
+ break;
53
+ }
54
+ if (lastWorkflowUpdateIndex === -1) return messages;
55
+ let lastAssistantTextIndex = -1;
56
+ for (let i = messages.length - 1; i >= 0; i--) if (messages[i].type === "text" && messages[i].role === "assistant" && i > lastWorkflowUpdateIndex) {
57
+ lastAssistantTextIndex = i;
58
+ break;
59
+ }
60
+ return messages.map((message, index) => {
61
+ if (message.type === "text" && message.role === "assistant" && index === lastAssistantTextIndex) return {
62
+ ...message,
63
+ showRating: true,
64
+ ratingStyle: "minimal"
65
+ };
66
+ if (message.type === "text" && "showRating" in message) {
67
+ const {
68
+ showRating,
69
+ ratingStyle,
70
+ ...cleanMessage
71
+ } = message;
72
+ return cleanMessage;
73
+ }
74
+ return message;
75
+ });
76
+ }
77
+ /**
78
+ * Process a tool message - either update existing or add new
79
+ */
80
+ function processToolMessage(messages, msg, messageId) {
81
+ const toolMessageId = msg.toolCallId ?? messageId;
82
+ const existingIndex = msg.toolCallId ? messages.findIndex(m => m.type === "tool" && m.toolCallId === msg.toolCallId) : -1;
83
+ if (existingIndex !== -1) {
84
+ const existing = messages[existingIndex];
85
+ messages[existingIndex] = {
86
+ ...existing,
87
+ status: msg.status,
88
+ updates: [...(existing.updates || []), ...(msg.updates || [])]
89
+ };
90
+ } else {
91
+ const toolMessage = {
92
+ id: toolMessageId,
93
+ role: "assistant",
94
+ type: "tool",
95
+ toolName: msg.toolName,
96
+ toolCallId: msg.toolCallId,
97
+ displayTitle: msg.displayTitle,
98
+ customDisplayTitle: msg.customDisplayTitle,
99
+ status: msg.status,
100
+ updates: msg.updates || [],
101
+ read: false
102
+ };
103
+ messages.push(toolMessage);
104
+ }
105
+ }
106
+ /**
107
+ * Process a single message and add it to the messages array
108
+ */
109
+ function processSingleMessage(messages, msg, messageId, retry) {
110
+ let shouldClearThinking = false;
111
+ if (isTextMessage(msg)) {
112
+ messages.push({
113
+ id: messageId,
114
+ role: "assistant",
115
+ type: "text",
116
+ content: msg.text,
117
+ read: false
118
+ });
119
+ shouldClearThinking = true;
120
+ } else if (isWorkflowUpdatedMessage$1(msg)) messages.push({
121
+ ...msg,
122
+ id: messageId,
123
+ read: false
124
+ });else if (isToolMessage$1(msg)) processToolMessage(messages, msg, messageId);else if ("type" in msg && msg.type === "error" && "content" in msg) {
125
+ messages.push({
126
+ id: messageId,
127
+ role: "assistant",
128
+ type: "error",
129
+ content: msg.content,
130
+ read: false,
131
+ retry
132
+ });
133
+ shouldClearThinking = true;
134
+ }
135
+ return shouldClearThinking;
136
+ }
137
+ function getToolMessages(messages) {
138
+ return messages.filter(msg => msg.type === "tool");
139
+ }
140
+ function getRunningTools(messages) {
141
+ return getToolMessages(messages).filter(msg => msg.status === "running");
142
+ }
143
+ /**
144
+ * If any tools are running, then it's still running tools and not done thinking
145
+ * If all tools are done and no text response yet, then it's still thinking
146
+ * Otherwise, it's done
147
+ *
148
+ * @param messages
149
+ * @returns
150
+ */
151
+ function getThinkingState(messages) {
152
+ if (getRunningTools(messages).length > 0) return {
153
+ hasAnyRunningTools: true,
154
+ isStillThinking: false
155
+ };
156
+ const hasCompletedTools = getToolMessages(messages).some(msg => msg.status === "completed");
157
+ let lastCompletedToolIndex = -1;
158
+ for (let i = messages.length - 1; i >= 0; i--) {
159
+ const msg = messages[i];
160
+ if (msg.type === "tool" && msg.status === "completed") {
161
+ lastCompletedToolIndex = i;
162
+ break;
163
+ }
164
+ }
165
+ let hasResponseAfterTools = false;
166
+ if (lastCompletedToolIndex !== -1) for (let i = lastCompletedToolIndex + 1; i < messages.length; i++) {
167
+ const msg = messages[i];
168
+ if (msg.type === "text" || msg.type === "custom") {
169
+ hasResponseAfterTools = true;
170
+ break;
171
+ }
172
+ }
173
+ return {
174
+ hasAnyRunningTools: false,
175
+ isStillThinking: hasCompletedTools && !hasResponseAfterTools
176
+ };
177
+ }
178
+ /**
179
+ * Determine the thinking message based on tool states
180
+ */
181
+ function determineThinkingMessage(messages) {
182
+ const {
183
+ hasAnyRunningTools,
184
+ isStillThinking
185
+ } = getThinkingState(messages);
186
+ if (hasAnyRunningTools) {
187
+ const runningTools = getRunningTools(messages);
188
+ const lastRunningTool = runningTools[runningTools.length - 1];
189
+ if (lastRunningTool) {
190
+ const toolName = lastRunningTool.customDisplayTitle || lastRunningTool.displayTitle;
191
+ if (toolName) return toolName;
192
+ }
193
+ return locale.baseText("aiAssistant.thinkingSteps.thinking");
194
+ }
195
+ if (!hasAnyRunningTools && isStillThinking) return locale.baseText("aiAssistant.thinkingSteps.thinking");
196
+ }
197
+ function processAssistantMessages(currentMessages, newMessages, baseId, retry) {
198
+ const mutableMessages = [...currentMessages];
199
+ let shouldClearThinking = false;
200
+ newMessages.forEach((msg, index) => {
201
+ const clearThinking = processSingleMessage(mutableMessages, msg, `${baseId}-${index}`, retry);
202
+ shouldClearThinking = shouldClearThinking || clearThinking;
203
+ });
204
+ const thinkingMessage = determineThinkingMessage(mutableMessages);
205
+ return {
206
+ messages: removeRetryFromOldErrorMessages(applyRatingLogic(mutableMessages)),
207
+ thinkingMessage,
208
+ shouldClearThinking: shouldClearThinking && mutableMessages.length > currentMessages.length
209
+ };
210
+ }
211
+ function removeRetryFromOldErrorMessages(messages) {
212
+ return messages.map((message, index) => {
213
+ if (message.type === "error" && message.retry && index !== messages.length - 1) {
214
+ const {
215
+ retry,
216
+ ...messageWithoutRetry
217
+ } = message;
218
+ return messageWithoutRetry;
219
+ }
220
+ return message;
221
+ });
222
+ }
223
+ function createUserMessage(content, id) {
224
+ return {
225
+ id,
226
+ role: "user",
227
+ type: "text",
228
+ content,
229
+ read: true
230
+ };
231
+ }
232
+ function createAssistantMessage(content, id, options) {
233
+ if (options?.aborted) return {
234
+ id,
235
+ role: "assistant",
236
+ type: "text",
237
+ content,
238
+ read: true,
239
+ aborted: true
240
+ };
241
+ return {
242
+ id,
243
+ role: "assistant",
244
+ type: "text",
245
+ content,
246
+ read: true
247
+ };
248
+ }
249
+ function createErrorMessage(content, id, retry) {
250
+ return {
251
+ id,
252
+ role: "assistant",
253
+ type: "error",
254
+ content,
255
+ retry,
256
+ read: false
257
+ };
258
+ }
259
+ function clearMessages() {
260
+ return [];
261
+ }
262
+ function addMessages(currentMessages, newMessages) {
263
+ return [...currentMessages, ...newMessages];
264
+ }
265
+ function mapAssistantMessageToUI(message, id) {
266
+ if (isTextMessage(message)) return {
267
+ id,
268
+ role: message.role ?? "assistant",
269
+ type: "text",
270
+ content: message.text,
271
+ read: false
272
+ };
273
+ if (isWorkflowUpdatedMessage$1(message)) return {
274
+ ...message,
275
+ id,
276
+ read: false
277
+ };
278
+ if (isToolMessage$1(message)) return {
279
+ id,
280
+ role: "assistant",
281
+ type: "tool",
282
+ toolName: message.toolName,
283
+ toolCallId: message.toolCallId,
284
+ displayTitle: message.displayTitle,
285
+ customDisplayTitle: message.customDisplayTitle,
286
+ status: message.status,
287
+ updates: message.updates || [],
288
+ read: false
289
+ };
290
+ if ("type" in message && message.type === "event") return {
291
+ ...message,
292
+ id,
293
+ read: false
294
+ };
295
+ return {
296
+ id,
297
+ role: "assistant",
298
+ type: "text",
299
+ content: locale.baseText("aiAssistant.thinkingSteps.thinking"),
300
+ read: false
301
+ };
302
+ }
303
+ return {
304
+ processAssistantMessages,
305
+ createUserMessage,
306
+ createAssistantMessage,
307
+ createErrorMessage,
308
+ clearMessages,
309
+ addMessages,
310
+ mapAssistantMessageToUI,
311
+ applyRatingLogic,
312
+ clearRatingLogic,
313
+ getRunningTools
314
+ };
315
+ }
316
+
317
+ //#endregion
318
+ //#region src/features/ai/assistant/builder.utils.ts
319
+ function generateMessageId() {
320
+ return `${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
321
+ }
322
+ function createBuilderPayload(text, options = {}) {
323
+ const assistantHelpers = useAIAssistantHelpers();
324
+ const workflowContext = {};
325
+ if (options.workflow) workflowContext.currentWorkflow = {
326
+ ...assistantHelpers.simplifyWorkflowForAssistant(options.workflow),
327
+ id: options.workflow.id
328
+ };
329
+ if (options.executionData) {
330
+ workflowContext.executionData = assistantHelpers.simplifyResultData(options.executionData, {
331
+ compact: true
332
+ });
333
+ if (options.workflow) workflowContext.expressionValues = assistantHelpers.extractExpressionsFromWorkflow(options.workflow, options.executionData);
334
+ }
335
+ if (options.nodesForSchema?.length) workflowContext.executionSchema = assistantHelpers.getNodesSchemas(options.nodesForSchema, true);
336
+ return {
337
+ role: "user",
338
+ type: "message",
339
+ text,
340
+ quickReplyType: options.quickReplyType,
341
+ workflowContext
342
+ };
343
+ }
344
+
345
+ //#endregion
346
+ //#region src/features/ai/assistant/builder.store.ts
347
+ return {
348
+ setters: [function (_chunkLegacy001Js) {
349
+ __toESM = _chunkLegacy001Js.o;
350
+ }, function (_vueRuntimeEsmBundlerLegacy003Js) {
351
+ computed = _vueRuntimeEsmBundlerLegacy003Js.C;
352
+ createElementBlock = _vueRuntimeEsmBundlerLegacy003Js.D;
353
+ unref = _vueRuntimeEsmBundlerLegacy003Js.Gt;
354
+ ref = _vueRuntimeEsmBundlerLegacy003Js.It;
355
+ h = _vueRuntimeEsmBundlerLegacy003Js.L;
356
+ defineComponent = _vueRuntimeEsmBundlerLegacy003Js.P;
357
+ toDisplayString = _vueRuntimeEsmBundlerLegacy003Js.Sn;
358
+ watch = _vueRuntimeEsmBundlerLegacy003Js._t;
359
+ openBlock = _vueRuntimeEsmBundlerLegacy003Js.et;
360
+ createTextVNode = _vueRuntimeEsmBundlerLegacy003Js.j;
361
+ createBaseVNode = _vueRuntimeEsmBundlerLegacy003Js.w;
362
+ }, function (_MapCacheLegacy005Js) {
363
+ useI18n = _MapCacheLegacy005Js.gt;
364
+ }, function (_srcLegacy007Js) {
365
+ isWorkflowUpdatedMessage = _srcLegacy007Js._t;
366
+ isToolMessage = _srcLegacy007Js.gt;
367
+ }, function (_truncateLegacy00hJs) {
368
+ createEventBus = _truncateLegacy00hJs.x;
369
+ useRoute = _truncateLegacy00hJs.y;
370
+ }, function (_useTelemetryLegacy00FJs) {
371
+ useSettingsStore = _useTelemetryLegacy00FJs.Bo;
372
+ STORES = _useTelemetryLegacy00FJs.Cc;
373
+ useCredentialsStore = _useTelemetryLegacy00FJs.Ht;
374
+ getSessionsMetadata = _useTelemetryLegacy00FJs.Jt;
375
+ getAuthTypeForNodeCredential = _useTelemetryLegacy00FJs.Kr;
376
+ getAiSessions = _useTelemetryLegacy00FJs.Kt;
377
+ useUIStore = _useTelemetryLegacy00FJs.Ni;
378
+ useRootStore = _useTelemetryLegacy00FJs.Qs;
379
+ injectWorkflowState = _useTelemetryLegacy00FJs.Sn;
380
+ CREDENTIAL_EDIT_MODAL_KEY = _useTelemetryLegacy00FJs.To;
381
+ chatWithAssistant = _useTelemetryLegacy00FJs.Ut;
382
+ chatWithBuilder = _useTelemetryLegacy00FJs.Wt;
383
+ useAIAssistantHelpers = _useTelemetryLegacy00FJs.Xt;
384
+ replaceCode = _useTelemetryLegacy00FJs.Yt;
385
+ assert = _useTelemetryLegacy00FJs._c;
386
+ useNDVStore = _useTelemetryLegacy00FJs.a;
387
+ useUsersStore = _useTelemetryLegacy00FJs.er;
388
+ codeNodeEditorEventBus = _useTelemetryLegacy00FJs.ji;
389
+ useWorkflowsStore = _useTelemetryLegacy00FJs.o;
390
+ getMainAuthField = _useTelemetryLegacy00FJs.qr;
391
+ getBuilderCredits = _useTelemetryLegacy00FJs.qt;
392
+ useNodeTypesStore = _useTelemetryLegacy00FJs.rt;
393
+ useTelemetry = _useTelemetryLegacy00FJs.t;
394
+ defineStore = _useTelemetryLegacy00FJs.xc;
395
+ stringSizeInBytes = _useTelemetryLegacy00FJs.xi;
396
+ }, function (_useToastLegacy00HJs) {
397
+ useToast = _useToastLegacy00HJs.t;
398
+ }, function (_constantsLegacy00NJs) {
399
+ require_pick = _constantsLegacy00NJs.Dr;
400
+ jsonParse = _constantsLegacy00NJs.Gi;
401
+ deepCopy = _constantsLegacy00NJs.Hi;
402
+ EDITABLE_CANVAS_VIEWS = _constantsLegacy00NJs.fo;
403
+ VIEWS = _constantsLegacy00NJs.mo;
404
+ PLACEHOLDER_EMPTY_WORKFLOW_ID = _constantsLegacy00NJs.s;
405
+ DEFAULT_NEW_WORKFLOW_NAME = _constantsLegacy00NJs.t;
406
+ }],
407
+ execute: function () {
408
+ //#region src/features/ai/assistant/constants.ts
409
+ /**
410
+ * Views where the Assistant chat panel can be shown
411
+ */
412
+ _export("a", ASSISTANT_ENABLED_VIEWS = [...EDITABLE_CANVAS_VIEWS, VIEWS.EXECUTION_PREVIEW, VIEWS.WORKFLOWS, VIEWS.CREDENTIALS, VIEWS.PROJECTS_CREDENTIALS, VIEWS.PROJECTS_WORKFLOWS, VIEWS.PROJECT_SETTINGS, VIEWS.TEMPLATE_SETUP]);
413
+ /**
414
+ * Views where the Builder chat panel can be shown
415
+ */
416
+ _export("o", BUILDER_ENABLED_VIEWS = [...EDITABLE_CANVAS_VIEWS]);
417
+ import_pick = /* @__PURE__ */__toESM(require_pick());
418
+ INFINITE_CREDITS = -1;
419
+ _export("i", useBuilderStore = defineStore(STORES.BUILDER, () => {
420
+ const chatMessages = ref([]);
421
+ const streaming = ref(false);
422
+ const builderThinkingMessage = ref();
423
+ const streamingAbortController = ref(null);
424
+ const initialGeneration = ref(false);
425
+ const creditsQuota = ref();
426
+ const creditsClaimed = ref();
427
+ const hasMessages = ref(false);
428
+ const settings = useSettingsStore();
429
+ const rootStore = useRootStore();
430
+ const workflowsStore = useWorkflowsStore();
431
+ const workflowState = injectWorkflowState();
432
+ const credentialsStore = useCredentialsStore();
433
+ const nodeTypesStore = useNodeTypesStore();
434
+ const ndvStore = useNDVStore();
435
+ const route = useRoute();
436
+ const locale = useI18n();
437
+ const telemetry = useTelemetry();
438
+ const {
439
+ processAssistantMessages,
440
+ createUserMessage,
441
+ createAssistantMessage,
442
+ createErrorMessage,
443
+ clearMessages,
444
+ mapAssistantMessageToUI,
445
+ clearRatingLogic,
446
+ getRunningTools
447
+ } = useBuilderMessages();
448
+ const trackingSessionId = computed(() => rootStore.pushRef);
449
+ const workflowPrompt = computed(() => {
450
+ return chatMessages.value.find(msg => msg.role === "user" && msg.type === "text")?.content;
451
+ });
452
+ const isAIBuilderEnabled = computed(() => {
453
+ return settings.isAiBuilderEnabled;
454
+ });
455
+ const toolMessages = computed(() => chatMessages.value.filter(isToolMessage));
456
+ const workflowMessages = computed(() => chatMessages.value.filter(isWorkflowUpdatedMessage));
457
+ const assistantMessages = computed(() => chatMessages.value.filter(msg => msg.role === "assistant"));
458
+ const creditsRemaining = computed(() => {
459
+ if (creditsClaimed.value === void 0 || creditsQuota.value === void 0 || creditsQuota.value === INFINITE_CREDITS) return;
460
+ const remaining = creditsQuota.value - creditsClaimed.value;
461
+ return remaining > 0 ? remaining : 0;
462
+ });
463
+ const hasNoCreditsRemaining = computed(() => {
464
+ return creditsRemaining.value !== void 0 ? creditsRemaining.value === 0 : false;
465
+ });
466
+ /**
467
+ * Resets the entire chat session to initial state.
468
+ * Called when user navigates away from workflow or explicitly requests a new workflow.
469
+ * Note: Does not persist the cleared state - sessions can still be reloaded via loadSessions().
470
+ */
471
+ function resetBuilderChat() {
472
+ chatMessages.value = clearMessages();
473
+ builderThinkingMessage.value = void 0;
474
+ initialGeneration.value = false;
475
+ }
476
+ function addLoadingAssistantMessage(message) {
477
+ builderThinkingMessage.value = message;
478
+ }
479
+ function stopStreaming() {
480
+ streaming.value = false;
481
+ if (streamingAbortController.value) {
482
+ streamingAbortController.value.abort();
483
+ streamingAbortController.value = null;
484
+ }
485
+ }
486
+ /**
487
+ * Handles streaming errors by creating an error message with optional retry capability.
488
+ * Cleans up streaming state and removes the thinking indicator.
489
+ * The retry function, if provided, will remove the error message before retrying.
490
+ * Tracks error telemetry
491
+ */
492
+ function handleServiceError(e, id, retry) {
493
+ assert(e instanceof Error);
494
+ stopStreaming();
495
+ builderThinkingMessage.value = void 0;
496
+ if (e.name === "AbortError") {
497
+ const userMsg = createAssistantMessage(locale.baseText("aiAssistant.builder.streamAbortedMessage"), "aborted-streaming", {
498
+ aborted: true
499
+ });
500
+ chatMessages.value = [...chatMessages.value, userMsg];
501
+ return;
502
+ }
503
+ const errorMessage = createErrorMessage(locale.baseText("aiAssistant.serviceError.message", {
504
+ interpolate: {
505
+ message: e.message
506
+ }
507
+ }), id, retry);
508
+ chatMessages.value = [...chatMessages.value, errorMessage];
509
+ telemetry.track("Workflow generation errored", {
510
+ error: e.message,
511
+ session_id: trackingSessionId.value,
512
+ workflow_id: workflowsStore.workflowId
513
+ });
514
+ }
515
+ /**
516
+ * Prepares UI for incoming streaming response.
517
+ * Adds user message immediately for visual feedback, shows thinking indicator,
518
+ * and ensures chat is open. Called before initiating API request to minimize
519
+ * perceived latency.
520
+ */
521
+ function prepareForStreaming(userMessage, messageId) {
522
+ const userMsg = createUserMessage(userMessage, messageId);
523
+ chatMessages.value = clearRatingLogic([...chatMessages.value, userMsg]);
524
+ addLoadingAssistantMessage(locale.baseText("aiAssistant.thinkingSteps.thinking"));
525
+ streaming.value = true;
526
+ }
527
+ /**
528
+ * Creates a retry function that removes the associated error message before retrying.
529
+ * This ensures the chat doesn't accumulate multiple error messages for the same failure.
530
+ * The messageId parameter refers to the error message to remove, not the original user message.
531
+ */
532
+ function createRetryHandler(messageId, retryFn) {
533
+ return async () => {
534
+ chatMessages.value = chatMessages.value.filter(msg => msg.id !== messageId);
535
+ await retryFn();
536
+ };
537
+ }
538
+ /**
539
+ * Sends a message to the AI builder service and handles the streaming response.
540
+ * Prevents concurrent requests by checking streaming state.
541
+ * Captures workflow state before sending for comparison in telemetry.
542
+ * Creates a retry handler that preserves the original message context.
543
+ * Note: This function is NOT async - streaming happens via callbacks.
544
+ */
545
+ function sendChatMessage(options) {
546
+ if (streaming.value) return;
547
+ ndvStore.unsetActiveNodeName();
548
+ const {
549
+ text,
550
+ source = "chat",
551
+ quickReplyType,
552
+ errorMessage,
553
+ type = "message",
554
+ errorNodeType,
555
+ executionStatus
556
+ } = options;
557
+ if (options.initialGeneration !== void 0) initialGeneration.value = options.initialGeneration;
558
+ const messageId = generateMessageId();
559
+ const currentWorkflowJson = getWorkflowSnapshot();
560
+ const trackingPayload = {
561
+ source,
562
+ message: text,
563
+ session_id: trackingSessionId.value,
564
+ start_workflow_json: currentWorkflowJson,
565
+ workflow_id: workflowsStore.workflowId,
566
+ type
567
+ };
568
+ if (type === "execution") {
569
+ let resultData = "{}";
570
+ let resultDataSizeKb = 0;
571
+ try {
572
+ resultData = JSON.stringify(workflowsStore.workflowExecutionData ?? {});
573
+ resultDataSizeKb = stringSizeInBytes(resultData) / 1024;
574
+ } catch (error) {
575
+ console.warn("Failed to stringify execution data for telemetry:", error);
576
+ }
577
+ trackingPayload.execution_data = resultDataSizeKb > 512 ? "{}" : resultData;
578
+ trackingPayload.execution_status = executionStatus ?? "";
579
+ if (executionStatus === "error") {
580
+ trackingPayload.error_message = errorMessage ?? "";
581
+ trackingPayload.error_node_type = errorNodeType ?? "";
582
+ }
583
+ }
584
+ telemetry.track("User submitted builder message", trackingPayload);
585
+ prepareForStreaming(text, messageId);
586
+ const executionResult = workflowsStore.workflowExecutionData?.data?.resultData;
587
+ const payload = createBuilderPayload(text, {
588
+ quickReplyType,
589
+ workflow: workflowsStore.workflow,
590
+ executionData: executionResult,
591
+ nodesForSchema: Object.keys(workflowsStore.nodesByName)
592
+ });
593
+ const retry = createRetryHandler(messageId, async () => sendChatMessage(options));
594
+ if (streamingAbortController.value) streamingAbortController.value.abort();
595
+ streamingAbortController.value = new AbortController();
596
+ try {
597
+ chatWithBuilder(rootStore.restApiContext, {
598
+ payload
599
+ }, response => {
600
+ const result = processAssistantMessages(chatMessages.value, response.messages, generateMessageId(), retry);
601
+ chatMessages.value = result.messages;
602
+ if (result.shouldClearThinking) builderThinkingMessage.value = void 0;else builderThinkingMessage.value = result.thinkingMessage;
603
+ }, () => stopStreaming(), e => handleServiceError(e, messageId, retry), streamingAbortController.value?.signal);
604
+ } catch (e) {
605
+ handleServiceError(e, messageId, retry);
606
+ }
607
+ }
608
+ /**
609
+ * Loads the most recent chat session for the current workflow.
610
+ * Only loads if a workflow ID exists (not for new unsaved workflows).
611
+ * Replaces current chat messages entirely - does NOT merge with existing messages.
612
+ * Sessions are ordered by recency, so sessions[0] is always the latest.
613
+ * Silently fails and returns empty array on error to prevent UI disruption.
614
+ */
615
+ async function loadSessions() {
616
+ const workflowId = workflowsStore.workflowId;
617
+ if (!workflowId) return [];
618
+ try {
619
+ const sessions = (await getAiSessions(rootStore.restApiContext, workflowId)).sessions || [];
620
+ if (sessions.length > 0) {
621
+ const latestSession = sessions[0];
622
+ chatMessages.value = clearMessages();
623
+ chatMessages.value = latestSession.messages.map(msg => {
624
+ return mapAssistantMessageToUI(msg, generateMessageId());
625
+ }).filter(msg => msg.type !== "workflow-updated");
626
+ }
627
+ return sessions;
628
+ } catch (error) {
629
+ console.error("Failed to load AI sessions:", error);
630
+ return [];
631
+ }
632
+ }
633
+ function captureCurrentWorkflowState() {
634
+ const nodePositions = /* @__PURE__ */new Map();
635
+ const existingNodeIds = /* @__PURE__ */new Set();
636
+ workflowsStore.allNodes.forEach(node => {
637
+ nodePositions.set(node.id, [...node.position]);
638
+ existingNodeIds.add(node.id);
639
+ });
640
+ return {
641
+ nodePositions,
642
+ existingNodeIds,
643
+ currentWorkflowJson: JSON.stringify((0, import_pick.default)(workflowsStore.workflow, ["nodes", "connections"]))
644
+ };
645
+ }
646
+ function setDefaultNodesCredentials(workflowData) {
647
+ workflowData.nodes?.forEach(node => {
648
+ if (node.credentials && Object.keys(node.credentials).length > 0) return;
649
+ const nodeType = nodeTypesStore.getNodeType(node.type);
650
+ if (!nodeType?.credentials) return;
651
+ for (const credentialConfig of nodeType.credentials) {
652
+ const credentials = credentialsStore.getCredentialsByType(credentialConfig.name);
653
+ if (!credentials || credentials.length === 0) continue;
654
+ const credential = credentials[0];
655
+ node.credentials = {
656
+ [credential.type]: {
657
+ id: credential.id,
658
+ name: credential.name
659
+ }
660
+ };
661
+ const authField = getMainAuthField(nodeType);
662
+ const authType = getAuthTypeForNodeCredential(nodeType, credentialConfig);
663
+ if (authField && authType) node.parameters[authField.name] = authType.value;
664
+ break;
665
+ }
666
+ });
667
+ }
668
+ function applyWorkflowUpdate(workflowJson) {
669
+ let workflowData;
670
+ try {
671
+ workflowData = jsonParse(workflowJson);
672
+ } catch (error) {
673
+ useToast().showMessage({
674
+ type: "error",
675
+ title: locale.baseText("aiAssistant.builder.workflowParsingError.title"),
676
+ message: locale.baseText("aiAssistant.builder.workflowParsingError.content")
677
+ });
678
+ return {
679
+ success: false,
680
+ error
681
+ };
682
+ }
683
+ const {
684
+ nodePositions,
685
+ existingNodeIds
686
+ } = captureCurrentWorkflowState();
687
+ workflowState.removeAllConnections({
688
+ setStateDirty: false
689
+ });
690
+ workflowState.removeAllNodes({
691
+ setStateDirty: false,
692
+ removePinData: true
693
+ });
694
+ if (workflowData.name && initialGeneration.value && workflowsStore.workflow.name.startsWith("My workflow")) workflowState.setWorkflowName({
695
+ newName: workflowData.name,
696
+ setStateDirty: false
697
+ });
698
+ const nodesIdsToTidyUp = [];
699
+ if (workflowData.nodes) workflowData.nodes = workflowData.nodes.map(node => {
700
+ const savedPosition = nodePositions.get(node.id);
701
+ if (savedPosition) return {
702
+ ...node,
703
+ position: savedPosition
704
+ };else nodesIdsToTidyUp.push(node.id);
705
+ return node;
706
+ });
707
+ setDefaultNodesCredentials(workflowData);
708
+ return {
709
+ success: true,
710
+ workflowData,
711
+ newNodeIds: nodesIdsToTidyUp,
712
+ oldNodeIds: Array.from(existingNodeIds)
713
+ };
714
+ }
715
+ function getWorkflowSnapshot() {
716
+ return JSON.stringify((0, import_pick.default)(workflowsStore.workflow, ["nodes", "connections"]));
717
+ }
718
+ function updateBuilderCredits(quota, claimed) {
719
+ creditsQuota.value = quota;
720
+ creditsClaimed.value = claimed;
721
+ }
722
+ async function fetchBuilderCredits() {
723
+ if (!isAIBuilderEnabled.value) return;
724
+ try {
725
+ const response = await getBuilderCredits(rootStore.restApiContext);
726
+ updateBuilderCredits(response.creditsQuota, response.creditsClaimed);
727
+ } catch {}
728
+ }
729
+ async function fetchSessionsMetadata() {
730
+ const workflowId = workflowsStore.workflowId;
731
+ if (!workflowId) {
732
+ hasMessages.value = false;
733
+ return;
734
+ }
735
+ try {
736
+ hasMessages.value = (await getSessionsMetadata(rootStore.restApiContext, workflowId)).hasMessages;
737
+ } catch (error) {
738
+ console.error("Failed to fetch sessions metadata:", error);
739
+ hasMessages.value = false;
740
+ }
741
+ }
742
+ watch(() => workflowsStore.workflowId, newWorkflowId => {
743
+ if (newWorkflowId && newWorkflowId !== "__EMPTY__" && BUILDER_ENABLED_VIEWS.includes(route.name)) fetchSessionsMetadata();else hasMessages.value = false;
744
+ });
745
+ return {
746
+ chatMessages,
747
+ streaming,
748
+ builderThinkingMessage,
749
+ isAIBuilderEnabled,
750
+ workflowPrompt,
751
+ toolMessages,
752
+ workflowMessages,
753
+ assistantMessages,
754
+ trackingSessionId,
755
+ streamingAbortController,
756
+ initialGeneration,
757
+ creditsQuota: computed(() => creditsQuota.value),
758
+ creditsRemaining,
759
+ hasNoCreditsRemaining,
760
+ hasMessages: computed(() => hasMessages.value),
761
+ stopStreaming,
762
+ resetBuilderChat,
763
+ sendChatMessage,
764
+ loadSessions,
765
+ applyWorkflowUpdate,
766
+ getWorkflowSnapshot,
767
+ fetchBuilderCredits,
768
+ updateBuilderCredits,
769
+ getRunningTools,
770
+ fetchSessionsMetadata
771
+ };
772
+ })); //#endregion
773
+ //#region src/features/ai/assistant/chatPanelState.store.ts
774
+ DEFAULT_CHAT_WIDTH = 400;
775
+ /**
776
+ * Shared reactive state for chat panel that can be imported without circular dependencies.
777
+ * This is a simple store that only holds state, no actions.
778
+ * Updated by chatPanel.store.ts, read by assistant/builder stores.
779
+ */
780
+ _export("r", useChatPanelStateStore = defineStore(STORES.CHAT_PANEL_STATE, () => {
781
+ return {
782
+ isOpen: ref(false),
783
+ width: ref(400),
784
+ activeMode: ref("builder")
785
+ };
786
+ })); //#endregion
787
+ //#region src/features/ndv/shared/ndv.eventBus.ts
788
+ _export("n", ndvEventBus = createEventBus()); //#endregion
789
+ //#region src/app/components/AiUpdatedCodeMessage.vue?vue&type=script&setup=true&lang.ts
790
+ _hoisted_1 = ["data-action-parameter-node"];
791
+ AiUpdatedCodeMessage_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */defineComponent({
792
+ __name: "AiUpdatedCodeMessage",
793
+ props: {
794
+ nodeName: {}
795
+ },
796
+ setup(__props) {
797
+ const i18n = useI18n();
798
+ return (_ctx, _cache) => {
799
+ return openBlock(), createElementBlock("div", null, [createTextVNode(toDisplayString(unref(i18n).baseText("aiAssistant.codeUpdated.message.body1")) + " ", 1), createBaseVNode("a", {
800
+ "data-action": "openNodeDetail",
801
+ "data-action-parameter-node": _ctx.nodeName
802
+ }, toDisplayString(_ctx.nodeName), 9, _hoisted_1), createTextVNode(" " + toDisplayString(unref(i18n).baseText("aiAssistant.codeUpdated.message.body2")), 1)]);
803
+ };
804
+ }
805
+ }); //#endregion
806
+ //#region src/app/components/AiUpdatedCodeMessage.vue
807
+ AiUpdatedCodeMessage_default = AiUpdatedCodeMessage_vue_vue_type_script_setup_true_lang_default; //#endregion
808
+ //#region src/features/ai/assistant/assistant.store.ts
809
+ READABLE_TYPES = ["code-diff", "text", "block"];
810
+ _export("t", useAssistantStore = defineStore(STORES.ASSISTANT, () => {
811
+ const settings = useSettingsStore();
812
+ const rootStore = useRootStore();
813
+ const chatPanelStateStore = useChatPanelStateStore();
814
+ const chatMessages = ref([]);
815
+ const usersStore = useUsersStore();
816
+ const uiStore = useUIStore();
817
+ const workflowsStore = useWorkflowsStore();
818
+ const route = useRoute();
819
+ const streaming = ref();
820
+ const ndvStore = useNDVStore();
821
+ const locale = useI18n();
822
+ const telemetry = useTelemetry();
823
+ const assistantHelpers = useAIAssistantHelpers();
824
+ const suggestions = ref({});
825
+ const chatSessionCredType = ref();
826
+ const chatSessionError = ref();
827
+ const currentSessionId = ref();
828
+ const currentSessionActiveExecutionId = ref(void 0);
829
+ const currentSessionWorkflowId = ref();
830
+ const lastUnread = ref();
831
+ const nodeExecutionStatus = ref("not_executed");
832
+ const assistantThinkingMessage = ref();
833
+ const chatSessionTask = ref();
834
+ const workflowDataStale = ref(true);
835
+ const workflowExecutionDataStale = ref(true);
836
+ const assistantMessages = computed(() => chatMessages.value.filter(msg => msg.role === "assistant"));
837
+ const usersMessages = computed(() => chatMessages.value.filter(msg => msg.role === "user"));
838
+ const isSessionEnded = computed(() => {
839
+ const lastAssistantMessage = assistantMessages.value[assistantMessages.value.length - 1];
840
+ const sessionExplicitlyEnded = lastAssistantMessage?.type === "event" && lastAssistantMessage?.eventName === "end-session";
841
+ return !(currentSessionId.value !== void 0) || sessionExplicitlyEnded;
842
+ });
843
+ const isAssistantEnabled = computed(() => settings.isAiAssistantEnabled);
844
+ const hideAssistantFloatingButton = computed(() => EDITABLE_CANVAS_VIEWS.includes(route.name) && !workflowsStore.activeNode());
845
+ const unreadCount = computed(() => chatMessages.value.filter(msg => READABLE_TYPES.includes(msg.type) && msg.role === "assistant" && !msg.read).length);
846
+ const isFloatingButtonShown = computed(() => !chatPanelStateStore.isOpen && !hideAssistantFloatingButton.value && isAssistantEnabled.value && EDITABLE_CANVAS_VIEWS.includes(route.name));
847
+ function resetAssistantChat() {
848
+ clearMessages();
849
+ currentSessionId.value = void 0;
850
+ chatSessionError.value = void 0;
851
+ lastUnread.value = void 0;
852
+ currentSessionActiveExecutionId.value = void 0;
853
+ suggestions.value = {};
854
+ nodeExecutionStatus.value = "not_executed";
855
+ chatSessionCredType.value = void 0;
856
+ chatSessionTask.value = void 0;
857
+ currentSessionWorkflowId.value = workflowsStore.workflowId;
858
+ }
859
+ function addAssistantMessages(newMessages, id) {
860
+ const read = chatPanelStateStore.isOpen && chatPanelStateStore.activeMode === "assistant";
861
+ const messages = [...chatMessages.value].filter(msg => !(msg.id === id && msg.role === "assistant"));
862
+ assistantThinkingMessage.value = void 0;
863
+ (newMessages ?? []).forEach(msg => {
864
+ if (msg.type === "message") messages.push({
865
+ id,
866
+ type: "text",
867
+ role: "assistant",
868
+ content: msg.text,
869
+ quickReplies: msg.quickReplies,
870
+ codeSnippet: msg.codeSnippet,
871
+ read
872
+ });else if (msg.type === "code-diff") messages.push({
873
+ id,
874
+ role: "assistant",
875
+ type: "code-diff",
876
+ description: msg.description,
877
+ codeDiff: msg.codeDiff,
878
+ suggestionId: msg.suggestionId,
879
+ quickReplies: msg.quickReplies,
880
+ read
881
+ });else if (msg.type === "summary") messages.push({
882
+ id,
883
+ type: "block",
884
+ role: "assistant",
885
+ title: msg.title,
886
+ content: msg.content,
887
+ quickReplies: msg.quickReplies,
888
+ read
889
+ });else if (msg.type === "event") messages.push({
890
+ id,
891
+ type: "event",
892
+ role: "assistant",
893
+ eventName: msg.eventName,
894
+ read: true
895
+ });else if (msg.type === "agent-suggestion") messages.push({
896
+ id,
897
+ type: "block",
898
+ role: "assistant",
899
+ title: msg.title,
900
+ content: msg.text,
901
+ quickReplies: msg.quickReplies,
902
+ read
903
+ });else if (msg.type === "intermediate-step") assistantThinkingMessage.value = msg.text;
904
+ });
905
+ chatMessages.value = messages;
906
+ }
907
+ function isNodeErrorActive(context) {
908
+ const targetNode = context.node.name;
909
+ return chatSessionTask.value === "error" && workflowsStore.activeExecutionId === currentSessionActiveExecutionId.value && targetNode === chatSessionError.value?.node.name;
910
+ }
911
+ function isCredTypeActive(credType) {
912
+ return chatSessionTask.value === "credentials" && credType.name === chatSessionCredType.value?.name;
913
+ }
914
+ function clearMessages() {
915
+ chatMessages.value = [];
916
+ }
917
+ function stopStreaming() {
918
+ streaming.value = false;
919
+ }
920
+ function addAssistantError(content, id, retry) {
921
+ chatMessages.value.push({
922
+ id,
923
+ role: "assistant",
924
+ type: "error",
925
+ content,
926
+ read: true,
927
+ retry
928
+ });
929
+ }
930
+ function addLoadingAssistantMessage(message) {
931
+ assistantThinkingMessage.value = message;
932
+ }
933
+ function addUserMessage(content, id) {
934
+ chatMessages.value.push({
935
+ id,
936
+ role: "user",
937
+ type: "text",
938
+ content,
939
+ read: true
940
+ });
941
+ }
942
+ function handleServiceError(e, id, retry) {
943
+ assert(e instanceof Error);
944
+ stopStreaming();
945
+ assistantThinkingMessage.value = void 0;
946
+ addAssistantError(locale.baseText("aiAssistant.serviceError.message", {
947
+ interpolate: {
948
+ message: e.message
949
+ }
950
+ }), id, retry);
951
+ }
952
+ function onEachStreamingMessage(response, id) {
953
+ if (response.sessionId && !currentSessionId.value) {
954
+ currentSessionId.value = response.sessionId;
955
+ telemetry.track("Assistant session started", {
956
+ chat_session_id: currentSessionId.value,
957
+ task: chatSessionTask.value,
958
+ node_type: chatSessionError.value?.node.type,
959
+ credential_type: chatSessionCredType.value?.name
960
+ });
961
+ if (usersMessages.value.length === 1 && chatSessionTask.value === "support") {
962
+ const firstUserMessage = usersMessages.value[0];
963
+ trackUserMessage(firstUserMessage.content, false);
964
+ }
965
+ } else if (currentSessionId.value !== response.sessionId) return;
966
+ addAssistantMessages(response.messages, id);
967
+ }
968
+ function getRandomId() {
969
+ return `${Math.floor(Math.random() * 1e8)}`;
970
+ }
971
+ function onDoneStreaming(id) {
972
+ stopStreaming();
973
+ workflowDataStale.value = false;
974
+ workflowExecutionDataStale.value = false;
975
+ lastUnread.value = chatMessages.value.find(msg => msg.id === id && !msg.read && msg.role === "assistant" && READABLE_TYPES.includes(msg.type));
976
+ setTimeout(() => {
977
+ if (lastUnread.value?.id === id) lastUnread.value = void 0;
978
+ }, 4e3);
979
+ }
980
+ async function initCredHelp(credType) {
981
+ const hasExistingSession = !!currentSessionId.value;
982
+ await initSupportChat(`How do I set up the credentials for ${credType.displayName}?`, credType);
983
+ trackUserOpenedAssistant({
984
+ source: "credential",
985
+ task: "credentials",
986
+ has_existing_session: hasExistingSession
987
+ });
988
+ }
989
+ /**
990
+ * Gets information about the current view and active node to provide context to the assistant
991
+ */
992
+ function getVisualContext(nodeInfo) {
993
+ if (chatSessionTask.value === "error") return;
994
+ const currentView = route.name;
995
+ const activeNode = workflowsStore.activeNode();
996
+ const activeNodeForLLM = activeNode ? assistantHelpers.processNodeForAssistant(activeNode, ["position", "parameters.notice"]) : null;
997
+ const activeCredential = uiStore.activeModals.includes("editCredential") ? useCredentialsStore().getCredentialTypeByName(uiStore.activeCredentialType ?? "") : void 0;
998
+ const executionResult = workflowsStore.workflowExecutionData?.data?.resultData;
999
+ const isCurrentNodeExecuted = Boolean(executionResult?.runData?.hasOwnProperty(activeNode?.name ?? ""));
1000
+ const nodeError = executionResult?.error && "node" in executionResult.error && executionResult.error.node?.name === activeNode?.name ? executionResult.error : void 0;
1001
+ const executionStatus = isCurrentNodeExecuted ? {
1002
+ status: nodeError ? "error" : "success",
1003
+ error: nodeError ? assistantHelpers.simplifyErrorForAssistant(nodeError) : void 0
1004
+ } : void 0;
1005
+ return {
1006
+ currentView: {
1007
+ name: currentView,
1008
+ description: assistantHelpers.getCurrentViewDescription(currentView)
1009
+ },
1010
+ activeNodeInfo: {
1011
+ node: activeNodeForLLM ?? void 0,
1012
+ nodeIssues: !isCurrentNodeExecuted ? activeNode?.issues : void 0,
1013
+ executionStatus,
1014
+ nodeInputData: nodeInfo?.nodeInputData,
1015
+ referencedNodes: nodeInfo?.schemas
1016
+ },
1017
+ activeCredentials: activeCredential ? {
1018
+ name: activeCredential?.name,
1019
+ displayName: activeCredential?.displayName,
1020
+ authType: nodeInfo?.authType?.name
1021
+ } : void 0,
1022
+ currentWorkflow: workflowDataStale.value ? assistantHelpers.simplifyWorkflowForAssistant(workflowsStore.workflow) : void 0,
1023
+ executionData: workflowExecutionDataStale.value && executionResult ? assistantHelpers.simplifyResultData(executionResult) : void 0
1024
+ };
1025
+ }
1026
+ async function initSupportChat(userMessage, credentialType) {
1027
+ resetAssistantChat();
1028
+ chatSessionTask.value = credentialType ? "credentials" : "support";
1029
+ const activeNode = workflowsStore.activeNode();
1030
+ const nodeInfo = assistantHelpers.getNodeInfoForAssistant(activeNode);
1031
+ const visualContext = chatSessionTask.value === "support" ? getVisualContext(nodeInfo) : void 0;
1032
+ if (nodeInfo.authType && chatSessionTask.value === "credentials") userMessage += ` I am using ${nodeInfo.authType.name}.`;
1033
+ const id = getRandomId();
1034
+ chatSessionCredType.value = credentialType;
1035
+ addUserMessage(userMessage, id);
1036
+ addLoadingAssistantMessage(locale.baseText("aiAssistant.thinkingSteps.thinking"));
1037
+ streaming.value = true;
1038
+ let payload = {
1039
+ role: "user",
1040
+ type: "init-support-chat",
1041
+ user: {
1042
+ firstName: usersStore.currentUser?.firstName ?? ""
1043
+ },
1044
+ context: visualContext,
1045
+ question: userMessage
1046
+ };
1047
+ if (credentialType) payload = {
1048
+ ...payload,
1049
+ type: "init-cred-help",
1050
+ credentialType: {
1051
+ name: credentialType.name,
1052
+ displayName: credentialType.displayName
1053
+ }
1054
+ };
1055
+ chatWithAssistant(rootStore.restApiContext, {
1056
+ payload
1057
+ }, msg => onEachStreamingMessage(msg, id), () => onDoneStreaming(id), e => handleServiceError(e, id, async () => await initSupportChat(userMessage, credentialType)));
1058
+ }
1059
+ async function initErrorHelper(context) {
1060
+ const id = getRandomId();
1061
+ if (chatSessionError.value) {
1062
+ if (isNodeErrorActive(context)) return;
1063
+ }
1064
+ resetAssistantChat();
1065
+ chatSessionTask.value = "error";
1066
+ chatSessionError.value = context;
1067
+ currentSessionWorkflowId.value = workflowsStore.workflowId;
1068
+ if (workflowsStore.activeExecutionId) currentSessionActiveExecutionId.value = workflowsStore.activeExecutionId;
1069
+ const {
1070
+ authType,
1071
+ nodeInputData,
1072
+ schemas
1073
+ } = assistantHelpers.getNodeInfoForAssistant(context.node);
1074
+ addLoadingAssistantMessage(locale.baseText("aiAssistant.thinkingSteps.analyzingError"));
1075
+ streaming.value = true;
1076
+ const payload = {
1077
+ role: "user",
1078
+ type: "init-error-helper",
1079
+ user: {
1080
+ firstName: usersStore.currentUser?.firstName ?? ""
1081
+ },
1082
+ error: context.error,
1083
+ node: assistantHelpers.processNodeForAssistant(context.node, ["position", "parameters.notice"]),
1084
+ nodeInputData,
1085
+ executionSchema: schemas,
1086
+ authType
1087
+ };
1088
+ chatWithAssistant(rootStore.restApiContext, {
1089
+ payload
1090
+ }, msg => onEachStreamingMessage(msg, id), () => onDoneStreaming(id), e => handleServiceError(e, id, async () => await initErrorHelper(context)));
1091
+ }
1092
+ async function sendEvent(eventName, error) {
1093
+ if (isSessionEnded.value || streaming.value) return;
1094
+ assert(currentSessionId.value);
1095
+ const id = getRandomId();
1096
+ addLoadingAssistantMessage(locale.baseText("aiAssistant.thinkingSteps.thinking"));
1097
+ streaming.value = true;
1098
+ chatWithAssistant(rootStore.restApiContext, {
1099
+ payload: {
1100
+ role: "user",
1101
+ type: "event",
1102
+ eventName,
1103
+ error
1104
+ },
1105
+ sessionId: currentSessionId.value
1106
+ }, msg => onEachStreamingMessage(msg, id), () => onDoneStreaming(id), e => handleServiceError(e, id, async () => await sendEvent(eventName, error)));
1107
+ }
1108
+ async function onNodeExecution(pushEvent) {
1109
+ if (!chatSessionError.value || pushEvent.nodeName !== chatSessionError.value.node.name) return;
1110
+ if (nodeExecutionStatus.value === "success") return;
1111
+ if (pushEvent.data.error && nodeExecutionStatus.value !== "error") {
1112
+ await sendEvent("node-execution-errored", pushEvent.data.error);
1113
+ nodeExecutionStatus.value = "error";
1114
+ telemetry.track("User executed node after assistant suggestion", {
1115
+ task: chatSessionTask.value,
1116
+ chat_session_id: currentSessionId.value,
1117
+ success: false
1118
+ });
1119
+ } else if (pushEvent.data.executionStatus === "success" && ["error", "not_executed"].includes(nodeExecutionStatus.value)) {
1120
+ await sendEvent("node-execution-succeeded");
1121
+ nodeExecutionStatus.value = "success";
1122
+ telemetry.track("User executed node after assistant suggestion", {
1123
+ task: chatSessionTask.value,
1124
+ chat_session_id: currentSessionId.value,
1125
+ success: true
1126
+ });
1127
+ }
1128
+ }
1129
+ async function sendMessage(chatMessage) {
1130
+ if (isSessionEnded.value || streaming.value) return;
1131
+ const id = getRandomId();
1132
+ const retry = async () => {
1133
+ chatMessages.value = chatMessages.value.filter(msg => msg.id !== id);
1134
+ await sendMessage(chatMessage);
1135
+ };
1136
+ try {
1137
+ addUserMessage(chatMessage.text, id);
1138
+ addLoadingAssistantMessage(locale.baseText("aiAssistant.thinkingSteps.thinking"));
1139
+ streaming.value = true;
1140
+ assert(currentSessionId.value);
1141
+ if (chatMessage.quickReplyType === "new-suggestion" && nodeExecutionStatus.value !== "not_executed") nodeExecutionStatus.value = "not_executed";
1142
+ const activeNode = workflowsStore.activeNode();
1143
+ const userContext = getVisualContext(assistantHelpers.getNodeInfoForAssistant(activeNode));
1144
+ chatWithAssistant(rootStore.restApiContext, {
1145
+ payload: {
1146
+ role: "user",
1147
+ type: "message",
1148
+ text: chatMessage.text,
1149
+ quickReplyType: chatMessage.quickReplyType,
1150
+ context: userContext
1151
+ },
1152
+ sessionId: currentSessionId.value
1153
+ }, msg => onEachStreamingMessage(msg, id), () => onDoneStreaming(id), e => handleServiceError(e, id, retry));
1154
+ trackUserMessage(chatMessage.text, !!chatMessage.quickReplyType);
1155
+ } catch (e) {
1156
+ handleServiceError(e, id, retry);
1157
+ }
1158
+ }
1159
+ function trackUserMessage(message, isQuickReply) {
1160
+ if (!currentSessionId.value) return;
1161
+ telemetry.track("User sent message in Assistant", {
1162
+ message,
1163
+ is_quick_reply: isQuickReply,
1164
+ chat_session_id: currentSessionId.value,
1165
+ message_number: usersMessages.value.length,
1166
+ task: chatSessionTask.value
1167
+ });
1168
+ }
1169
+ function trackUserOpenedAssistant({
1170
+ source,
1171
+ task,
1172
+ has_existing_session
1173
+ }) {
1174
+ telemetry.track("User opened assistant", {
1175
+ source,
1176
+ task,
1177
+ has_existing_session,
1178
+ workflow_id: workflowsStore.workflowId,
1179
+ node_type: chatSessionError.value?.node?.type,
1180
+ error: chatSessionError.value?.error,
1181
+ chat_session_id: currentSessionId.value
1182
+ });
1183
+ }
1184
+ function updateParameters(workflowState, nodeName, parameters) {
1185
+ if (ndvStore.activeNodeName === nodeName) Object.keys(parameters).forEach(key => {
1186
+ const update = {
1187
+ node: nodeName,
1188
+ name: `parameters.${key}`,
1189
+ value: parameters[key]
1190
+ };
1191
+ ndvEventBus.emit("updateParameterValue", update);
1192
+ });else workflowState.setNodeParameters({
1193
+ name: nodeName,
1194
+ value: parameters
1195
+ }, true);
1196
+ }
1197
+ function getRelevantParameters(parameters, keysToKeep) {
1198
+ return keysToKeep.reduce((accu, key) => {
1199
+ accu[key] = deepCopy(parameters[key]);
1200
+ return accu;
1201
+ }, {});
1202
+ }
1203
+ async function applyCodeDiff(workflowState, index) {
1204
+ const codeDiffMessage = chatMessages.value[index];
1205
+ if (!codeDiffMessage || codeDiffMessage.type !== "code-diff") throw new Error("No code diff to apply");
1206
+ try {
1207
+ assert(chatSessionError.value);
1208
+ assert(currentSessionId.value);
1209
+ codeDiffMessage.replacing = true;
1210
+ const suggestionId = codeDiffMessage.suggestionId;
1211
+ const activeNode = workflowsStore.workflowObject.getNode(chatSessionError.value.node.name);
1212
+ assert(activeNode);
1213
+ const cached = suggestions.value[suggestionId];
1214
+ if (cached) updateParameters(workflowState, activeNode.name, cached.suggested);else {
1215
+ const {
1216
+ parameters: suggested
1217
+ } = await replaceCode(rootStore.restApiContext, {
1218
+ suggestionId: codeDiffMessage.suggestionId,
1219
+ sessionId: currentSessionId.value
1220
+ });
1221
+ suggestions.value[suggestionId] = {
1222
+ previous: getRelevantParameters(activeNode.parameters, Object.keys(suggested)),
1223
+ suggested
1224
+ };
1225
+ updateParameters(workflowState, activeNode.name, suggested);
1226
+ }
1227
+ codeDiffMessage.replaced = true;
1228
+ codeNodeEditorEventBus.emit("codeDiffApplied");
1229
+ showCodeUpdateToastIfNeeded(activeNode.name);
1230
+ } catch (e) {
1231
+ console.error(e);
1232
+ codeDiffMessage.error = true;
1233
+ }
1234
+ codeDiffMessage.replacing = false;
1235
+ }
1236
+ async function undoCodeDiff(workflowState, index) {
1237
+ const codeDiffMessage = chatMessages.value[index];
1238
+ if (!codeDiffMessage || codeDiffMessage.type !== "code-diff") throw new Error("No code diff to apply");
1239
+ try {
1240
+ assert(chatSessionError.value);
1241
+ assert(currentSessionId.value);
1242
+ codeDiffMessage.replacing = true;
1243
+ const suggestionId = codeDiffMessage.suggestionId;
1244
+ const suggestion = suggestions.value[suggestionId];
1245
+ assert(suggestion);
1246
+ const activeNode = workflowsStore.workflowObject.getNode(chatSessionError.value.node.name);
1247
+ assert(activeNode);
1248
+ const suggested = suggestion.previous;
1249
+ updateParameters(workflowState, activeNode.name, suggested);
1250
+ codeDiffMessage.replaced = false;
1251
+ codeNodeEditorEventBus.emit("codeDiffApplied");
1252
+ showCodeUpdateToastIfNeeded(activeNode.name);
1253
+ } catch (e) {
1254
+ console.error(e);
1255
+ codeDiffMessage.error = true;
1256
+ }
1257
+ codeDiffMessage.replacing = false;
1258
+ }
1259
+ function showCodeUpdateToastIfNeeded(errorNodeName) {
1260
+ if (errorNodeName !== ndvStore.activeNodeName) useToast().showMessage({
1261
+ type: "success",
1262
+ title: locale.baseText("aiAssistant.codeUpdated.message.title"),
1263
+ message: h(AiUpdatedCodeMessage_default, {
1264
+ nodeName: errorNodeName
1265
+ }),
1266
+ duration: 4e3
1267
+ });
1268
+ }
1269
+ watch(route, () => {
1270
+ const activeWorkflowId = workflowsStore.workflowId;
1271
+ if (!currentSessionId.value || currentSessionWorkflowId.value === "__EMPTY__" || currentSessionWorkflowId.value === activeWorkflowId) return;
1272
+ resetAssistantChat();
1273
+ });
1274
+ watch(() => uiStore.stateIsDirty, () => {
1275
+ workflowDataStale.value = true;
1276
+ });
1277
+ watch(() => workflowsStore.workflowExecutionResultDataLastUpdate, () => {
1278
+ workflowExecutionDataStale.value = true;
1279
+ }, {
1280
+ immediate: true
1281
+ });
1282
+ return {
1283
+ isAssistantEnabled,
1284
+ hideAssistantFloatingButton,
1285
+ chatMessages,
1286
+ unreadCount,
1287
+ streaming,
1288
+ currentSessionId,
1289
+ lastUnread,
1290
+ isSessionEnded,
1291
+ isFloatingButtonShown,
1292
+ onNodeExecution,
1293
+ trackUserOpenedAssistant,
1294
+ isNodeErrorActive,
1295
+ initErrorHelper,
1296
+ initSupportChat,
1297
+ sendMessage,
1298
+ applyCodeDiff,
1299
+ undoCodeDiff,
1300
+ resetAssistantChat,
1301
+ addAssistantMessages,
1302
+ assistantThinkingMessage,
1303
+ chatSessionError,
1304
+ chatSessionTask,
1305
+ initCredHelp,
1306
+ isCredTypeActive,
1307
+ handleServiceError
1308
+ };
1309
+ })); //#endregion
1310
+ }
1311
+ };
1312
+ });
1313
+ })();