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,2655 @@
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", "./_plugin-vue_export-helper-legacy-DZMI5HPp.js", "./truncate-legacy-D2_XDpGK.js", "./useMessage-legacy-Cl537NB0.js", "./useTelemetry-legacy-Bu_8SoSm.js", "./useToast-legacy-CIRx5txg.js", "./constants-legacy-CLA25gM9.js", "./useExternalHooks-legacy-DAJrb39U.js", "./useRunWorkflow-legacy-ClvXUChT.js", "./usePinnedData-legacy-9ciMJD_m.js", "./NodeIcon-legacy-BHX1t3Oi.js", "./NDVEmptyState-legacy-DjsKEIfJ.js", "./Draggable-legacy-CyKi_Tb4.js", "./TextWithHighlights-legacy-CVW5NpX4.js", "./useTelemetryContext-legacy-DQvfjWrO.js", "./schemaPreview.store-legacy-CtBwiQEG.js", "./nodeTransforms-legacy-BI0GkY5n.js"], function (_export, _context) {
4
+ "use strict";
5
+
6
+ var __toESM, computed, withScopeId, createElementBlock, createCommentVNode, nextTick, unref, guardReactiveProps, ref, h, shallowReactive, createVNode, markRaw, defineComponent, toDisplayString, createBlock, mergeProps, Fragment, normalizeClass, watch, renderSlot, withCtx, resolveDynamicComponent, openBlock, withModifiers, renderList, createTextVNode, useCssVars, toHandlers, resolveComponent, useSlots, pushScopeId, resolveDirective, popScopeId, normalizeProps, createBaseVNode, withDirectives, normalizeStyle, I18nT, useI18n, computedAsync, N8nText_default, N8nButton_default, N8nLink_default, N8nTooltip_default, N8nIcon_default, __plugin_vue_export_helper_default, useRouter, useMessage, useSettingsStore, nodeViewEventBus, generateCodeForPrompt, useUIStore, useRootStore, useFlattenSchema, injectWorkflowState, useDataSchema, useNDVStore, isEmpty, useWorkflowsStore, useNodeTypesStore, useTelemetry, useNodeHelpers, environments_store_default, executionDataToJson, useToast, DateTime, SCHEMA_PREVIEW_DOCS_URL, require_pick, FROM_AI_PARAMETERS_MODAL_KEY, EnterpriseEditionFeature, createResultError, MANUAL_TRIGGER_NODE_TYPE, MODAL_CONFIRM, WEBHOOK_NODE_TYPE, PLACEHOLDER_FILLED_AT_EXECUTION_TIME, CHAT_TRIGGER_NODE_TYPE, FORM_TRIGGER_NODE_TYPE, AI_TRANSFORM_CODE_GENERATED_FOR_PROMPT, NodeConnectionTypes, ApplicationError, AI_TRANSFORM_JS_CODE, AI_TRANSFORM_NODE_TYPE, useExternalHooks, useRunWorkflow, usePinnedData, NodeIcon_default, Ln, gu, estree_exports, NDVEmptyState_default, Draggable_default, TextWithHighlights_default, MappingPill_default, useTelemetryContext, useSchemaPreviewStore, needsAgentInput, __vite_style__, _hoisted_1$3, _hoisted_2$2, _hoisted_3, _hoisted_4, _hoisted_5, _hoisted_6, VirtualSchemaHeader_vue_vue_type_script_setup_true_lang_default, VirtualSchemaHeader_default, _hoisted_1$2, _hoisted_2$1, VirtualSchemaItem_vue_vue_type_script_setup_true_lang_default, tooltip, VirtualSchemaItem_vue_vue_type_style_index_1_lang_module_default, cssModules, VirtualSchemaItem_default, isIE, script$2, _withId, _hoisted_1$1, VisibilityState, ObserveVisibility, config, regex, style, overflow, scroll, props, supportsPassive, opts, uid, script$2$1, _hoisted_1, _hoisted_2, script$1, script, estimateNumberOfTokens, calculateRemainingTokens, trimParentNodesSchema, trimInputSchemaProperties, getRowIndex, getColumnIndex, NODE_TEST_STEP_POPUP_COUNT_KEY, MAX_POPUP_COUNT, POPUP_UPDATE_DELAY, NodeExecuteButton_vue_vue_type_script_setup_true_lang_default, NodeExecuteButton_default, import_pick, VirtualSchema_vue_vue_type_script_setup_true_lang_default, VirtualSchema_default;
7
+ //#endregion
8
+ //#region ../../../node_modules/.pnpm/vue-resize@2.0.0-alpha.1_vue@3.5.13_typescript@5.9.2_/node_modules/vue-resize/dist/vue-resize.esm.js
9
+ function getInternetExplorerVersion() {
10
+ var ua = window.navigator.userAgent;
11
+ var msie = ua.indexOf("MSIE ");
12
+ if (msie > 0) return parseInt(ua.substring(msie + 5, ua.indexOf(".", msie)), 10);
13
+ if (ua.indexOf("Trident/") > 0) {
14
+ var rv = ua.indexOf("rv:");
15
+ return parseInt(ua.substring(rv + 3, ua.indexOf(".", rv)), 10);
16
+ }
17
+ var edge = ua.indexOf("Edge/");
18
+ if (edge > 0) return parseInt(ua.substring(edge + 5, ua.indexOf(".", edge)), 10);
19
+ return -1;
20
+ }
21
+ function initCompat() {
22
+ if (!initCompat.init) {
23
+ initCompat.init = true;
24
+ isIE = getInternetExplorerVersion() !== -1;
25
+ }
26
+ }
27
+ //#endregion
28
+ //#region ../../../node_modules/.pnpm/vue-observe-visibility@2.0.0-alpha.1_vue@3.5.13_typescript@5.9.2_/node_modules/vue-observe-visibility/dist/vue-observe-visibility.esm.js
29
+ function _typeof$1(obj) {
30
+ "@babel/helpers - typeof";
31
+
32
+ if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") _typeof$1 = function (obj$1) {
33
+ return typeof obj$1;
34
+ };else _typeof$1 = function (obj$1) {
35
+ return obj$1 && typeof Symbol === "function" && obj$1.constructor === Symbol && obj$1 !== Symbol.prototype ? "symbol" : typeof obj$1;
36
+ };
37
+ return _typeof$1(obj);
38
+ }
39
+ function _classCallCheck(instance, Constructor) {
40
+ if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
41
+ }
42
+ function _defineProperties(target, props$1) {
43
+ for (var i = 0; i < props$1.length; i++) {
44
+ var descriptor = props$1[i];
45
+ descriptor.enumerable = descriptor.enumerable || false;
46
+ descriptor.configurable = true;
47
+ if ("value" in descriptor) descriptor.writable = true;
48
+ Object.defineProperty(target, descriptor.key, descriptor);
49
+ }
50
+ }
51
+ function _createClass(Constructor, protoProps, staticProps) {
52
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
53
+ if (staticProps) _defineProperties(Constructor, staticProps);
54
+ return Constructor;
55
+ }
56
+ function _toConsumableArray(arr) {
57
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
58
+ }
59
+ function _arrayWithoutHoles(arr) {
60
+ if (Array.isArray(arr)) return _arrayLikeToArray(arr);
61
+ }
62
+ function _iterableToArray(iter) {
63
+ if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
64
+ }
65
+ function _unsupportedIterableToArray(o, minLen) {
66
+ if (!o) return;
67
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
68
+ var n = Object.prototype.toString.call(o).slice(8, -1);
69
+ if (n === "Object" && o.constructor) n = o.constructor.name;
70
+ if (n === "Map" || n === "Set") return Array.from(o);
71
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
72
+ }
73
+ function _arrayLikeToArray(arr, len) {
74
+ if (len == null || len > arr.length) len = arr.length;
75
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
76
+ return arr2;
77
+ }
78
+ function _nonIterableSpread() {
79
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
80
+ }
81
+ function processOptions(value) {
82
+ var options;
83
+ if (typeof value === "function") options = {
84
+ callback: value
85
+ };else options = value;
86
+ return options;
87
+ }
88
+ function throttle(callback, delay) {
89
+ var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
90
+ var timeout;
91
+ var lastState;
92
+ var currentArgs;
93
+ var throttled = function throttled$1(state) {
94
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) args[_key - 1] = arguments[_key];
95
+ currentArgs = args;
96
+ if (timeout && state === lastState) return;
97
+ var leading = options.leading;
98
+ if (typeof leading === "function") leading = leading(state, lastState);
99
+ if ((!timeout || state !== lastState) && leading) callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));
100
+ lastState = state;
101
+ clearTimeout(timeout);
102
+ timeout = setTimeout(function () {
103
+ callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));
104
+ timeout = 0;
105
+ }, delay);
106
+ };
107
+ throttled._clear = function () {
108
+ clearTimeout(timeout);
109
+ timeout = null;
110
+ };
111
+ return throttled;
112
+ }
113
+ function deepEqual(val1, val2) {
114
+ if (val1 === val2) return true;
115
+ if (_typeof$1(val1) === "object") {
116
+ for (var key in val1) if (!deepEqual(val1[key], val2[key])) return false;
117
+ return true;
118
+ }
119
+ return false;
120
+ }
121
+ function beforeMount(el, _ref2, vnode) {
122
+ var value = _ref2.value;
123
+ if (!value) return;
124
+ if (typeof IntersectionObserver === "undefined") console.warn("[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill");else el._vue_visibilityState = new VisibilityState(el, value, vnode);
125
+ }
126
+ function updated(el, _ref3, vnode) {
127
+ var value = _ref3.value,
128
+ oldValue = _ref3.oldValue;
129
+ if (deepEqual(value, oldValue)) return;
130
+ var state = el._vue_visibilityState;
131
+ if (!value) {
132
+ unmounted(el);
133
+ return;
134
+ }
135
+ if (state) state.createObserver(value, vnode);else beforeMount(el, {
136
+ value
137
+ }, vnode);
138
+ }
139
+ function unmounted(el) {
140
+ var state = el._vue_visibilityState;
141
+ if (state) {
142
+ state.destroyObserver();
143
+ delete el._vue_visibilityState;
144
+ }
145
+ }
146
+ //#endregion
147
+ //#region ../../../node_modules/.pnpm/mitt@2.1.0/node_modules/mitt/dist/mitt.es.js
148
+ function mitt_es_default(n) {
149
+ return {
150
+ all: n = n || /* @__PURE__ */new Map(),
151
+ on: function (t, e) {
152
+ var i = n.get(t);
153
+ i && i.push(e) || n.set(t, [e]);
154
+ },
155
+ off: function (t, e) {
156
+ var i = n.get(t);
157
+ i && i.splice(i.indexOf(e) >>> 0, 1);
158
+ },
159
+ emit: function (t, e) {
160
+ (n.get(t) || []).slice().map(function (n$1) {
161
+ n$1(e);
162
+ }), (n.get("*") || []).slice().map(function (n$1) {
163
+ n$1(t, e);
164
+ });
165
+ }
166
+ };
167
+ }
168
+
169
+ //#endregion
170
+ //#region ../../../node_modules/.pnpm/vue-virtual-scroller@2.0.0-beta.8_vue@3.5.13_typescript@5.9.2_/node_modules/vue-virtual-scroller/dist/vue-virtual-scroller.esm.js
171
+
172
+ function parents(node, ps) {
173
+ if (node.parentNode === null) return ps;
174
+ return parents(node.parentNode, ps.concat([node]));
175
+ }
176
+ function getScrollParent(node) {
177
+ if (!(node instanceof HTMLElement || node instanceof SVGElement)) return;
178
+ var ps = parents(node.parentNode, []);
179
+ for (var i = 0; i < ps.length; i += 1) if (scroll(ps[i])) return ps[i];
180
+ return document.scrollingElement || document.documentElement;
181
+ }
182
+ function _typeof(obj) {
183
+ "@babel/helpers - typeof";
184
+
185
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj$1) {
186
+ return typeof obj$1;
187
+ } : function (obj$1) {
188
+ return obj$1 && "function" == typeof Symbol && obj$1.constructor === Symbol && obj$1 !== Symbol.prototype ? "symbol" : typeof obj$1;
189
+ }, _typeof(obj);
190
+ }
191
+ function simpleArray() {
192
+ return this.items.length && _typeof(this.items[0]) !== "object";
193
+ }
194
+ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
195
+ const _component_ResizeObserver = resolveComponent("ResizeObserver");
196
+ const _directive_observe_visibility = resolveDirective("observe-visibility");
197
+ return withDirectives((openBlock(), createElementBlock("div", {
198
+ class: normalizeClass(["vue-recycle-scroller", {
199
+ ready: $data.ready,
200
+ "page-mode": $props.pageMode,
201
+ [`direction-${_ctx.direction}`]: true
202
+ }]),
203
+ onScrollPassive: _cache[0] || (_cache[0] = (...args) => $options.handleScroll && $options.handleScroll(...args))
204
+ }, [_ctx.$slots.before ? (openBlock(), createElementBlock("div", _hoisted_1, [renderSlot(_ctx.$slots, "before")], 512)) : createCommentVNode("v-if", true), (openBlock(), createBlock(resolveDynamicComponent($props.listTag), {
205
+ ref: "wrapper",
206
+ style: normalizeStyle({
207
+ [_ctx.direction === "vertical" ? "minHeight" : "minWidth"]: $data.totalSize + "px"
208
+ }),
209
+ class: normalizeClass(["vue-recycle-scroller__item-wrapper", $props.listClass])
210
+ }, {
211
+ default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList($data.pool, view => {
212
+ return openBlock(), createBlock(resolveDynamicComponent($props.itemTag), mergeProps({
213
+ key: view.nr.id,
214
+ style: $data.ready ? {
215
+ transform: `translate${_ctx.direction === "vertical" ? "Y" : "X"}(${view.position}px) translate${_ctx.direction === "vertical" ? "X" : "Y"}(${view.offset}px)`,
216
+ width: $props.gridItems ? `${_ctx.direction === "vertical" ? $props.itemSecondarySize || $props.itemSize : $props.itemSize}px` : void 0,
217
+ height: $props.gridItems ? `${_ctx.direction === "horizontal" ? $props.itemSecondarySize || $props.itemSize : $props.itemSize}px` : void 0
218
+ } : null,
219
+ class: ["vue-recycle-scroller__item-view", [$props.itemClass, {
220
+ hover: !$props.skipHover && $data.hoverKey === view.nr.key
221
+ }]]
222
+ }, toHandlers($props.skipHover ? {} : {
223
+ mouseenter: () => {
224
+ $data.hoverKey = view.nr.key;
225
+ },
226
+ mouseleave: () => {
227
+ $data.hoverKey = null;
228
+ }
229
+ })), {
230
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", {
231
+ item: view.item,
232
+ index: view.nr.index,
233
+ active: view.nr.used
234
+ })]),
235
+ _: 2
236
+ }, 1040, ["style", "class"]);
237
+ }), 128)), renderSlot(_ctx.$slots, "empty")]),
238
+ _: 3
239
+ }, 8, ["style", "class"])), _ctx.$slots.after ? (openBlock(), createElementBlock("div", _hoisted_2, [renderSlot(_ctx.$slots, "after")], 512)) : createCommentVNode("v-if", true), createVNode(_component_ResizeObserver, {
240
+ onNotify: $options.handleResize
241
+ }, null, 8, ["onNotify"])], 34)), [[_directive_observe_visibility, $options.handleVisibilityChange]]);
242
+ }
243
+ function render(_ctx, _cache, $props, $setup, $data, $options) {
244
+ const _component_RecycleScroller = resolveComponent("RecycleScroller");
245
+ return openBlock(), createBlock(_component_RecycleScroller, mergeProps({
246
+ ref: "scroller",
247
+ items: $options.itemsWithSize,
248
+ "min-item-size": $props.minItemSize,
249
+ direction: _ctx.direction,
250
+ "key-field": "id",
251
+ "list-tag": _ctx.listTag,
252
+ "item-tag": _ctx.itemTag
253
+ }, _ctx.$attrs, {
254
+ onResize: $options.onScrollerResize,
255
+ onVisible: $options.onScrollerVisible
256
+ }), {
257
+ default: withCtx(({
258
+ item: itemWithSize,
259
+ index,
260
+ active
261
+ }) => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({
262
+ item: itemWithSize.item,
263
+ index,
264
+ active,
265
+ itemWithSize
266
+ })))]),
267
+ before: withCtx(() => [renderSlot(_ctx.$slots, "before")]),
268
+ after: withCtx(() => [renderSlot(_ctx.$slots, "after")]),
269
+ empty: withCtx(() => [renderSlot(_ctx.$slots, "empty")]),
270
+ _: 3
271
+ }, 16, ["items", "min-item-size", "direction", "list-tag", "item-tag", "onResize", "onVisible"]);
272
+ }
273
+ //#endregion
274
+ //#region src/features/ndv/parameters/utils/buttonParameter.utils.ts
275
+ function getParentNodes() {
276
+ const activeNode = useNDVStore().activeNode;
277
+ const {
278
+ workflowObject,
279
+ getNodeByName
280
+ } = useWorkflowsStore();
281
+ if (!activeNode || !workflowObject) return [];
282
+ return workflowObject.getParentNodesByDepth(activeNode?.name).filter(({
283
+ name
284
+ }, i, nodes) => {
285
+ return name !== activeNode.name && nodes.findIndex(node => node.name === name) === i;
286
+ }).map(n => getNodeByName(n.name)).filter(n => n !== null);
287
+ }
288
+ function getSchemas() {
289
+ const parentNodes = getParentNodes();
290
+ const parentNodesNames = parentNodes.map(node => node?.name);
291
+ const {
292
+ getSchemaForExecutionData,
293
+ getInputDataWithPinned
294
+ } = useDataSchema();
295
+ const parentNodesSchemas = parentNodes.map(node => {
296
+ const inputData = getInputDataWithPinned(node);
297
+ return {
298
+ nodeName: node?.name || "",
299
+ schema: getSchemaForExecutionData(executionDataToJson(inputData), false)
300
+ };
301
+ }).filter(node => node.schema?.value.length > 0);
302
+ return {
303
+ parentNodesNames,
304
+ inputSchema: parentNodesSchemas.shift(),
305
+ parentNodesSchemas
306
+ };
307
+ }
308
+ /**
309
+ * Attempts to reduce the size of the payload to fit within token limits or throws an error if unsuccessful,
310
+ * payload would be modified in place
311
+ *
312
+ * @param {AskAiRequest.RequestPayload} payload - The request payload to be trimmed,
313
+ * 'schema' and 'inputSchema.schema' will be modified.
314
+ * @param {Error} error - The error to throw if the token reduction fails.
315
+ * @param {number} [averageTokenLength=4] - The average token length used for estimation.
316
+ * @throws {Error} - Throws the provided error if the payload cannot be reduced sufficiently.
317
+ */
318
+ function reducePayloadSizeOrThrow(payload, error, averageTokenLength = 4) {
319
+ let remainingTokensToReduce = calculateRemainingTokens(error);
320
+ const [remaining, parentNodesTokenCount] = trimParentNodesSchema(payload, remainingTokensToReduce, averageTokenLength);
321
+ remainingTokensToReduce = remaining;
322
+ remainingTokensToReduce = trimInputSchemaProperties(payload, remainingTokensToReduce, averageTokenLength, parentNodesTokenCount);
323
+ if (remainingTokensToReduce > 0) throw error;
324
+ }
325
+ async function generateCodeForAiTransform(prompt$1, path, retries = 1) {
326
+ const schemas = getSchemas();
327
+ const payload = {
328
+ question: prompt$1,
329
+ context: {
330
+ schema: schemas.parentNodesSchemas,
331
+ inputSchema: schemas.inputSchema,
332
+ ndvPushRef: useNDVStore().pushRef,
333
+ pushRef: useRootStore().pushRef
334
+ },
335
+ forNode: "transform"
336
+ };
337
+ let value;
338
+ if (useSettingsStore().isAskAiEnabled) {
339
+ const {
340
+ restApiContext
341
+ } = useRootStore();
342
+ let code = "";
343
+ while (retries > 0) try {
344
+ const {
345
+ code: generatedCode
346
+ } = await generateCodeForPrompt(restApiContext, payload);
347
+ code = generatedCode;
348
+ break;
349
+ } catch (e) {
350
+ if (typeof e.message === "string" && e.message.includes("maximum context length")) {
351
+ reducePayloadSizeOrThrow(payload, e);
352
+ continue;
353
+ }
354
+ retries--;
355
+ if (!retries) throw e;
356
+ }
357
+ value = code;
358
+ } else throw new ApplicationError("AI code generation is not enabled");
359
+ if (value === void 0) return;
360
+ return {
361
+ name: path,
362
+ value: await gu(String(value), {
363
+ parser: "babel",
364
+ plugins: [Ln, estree_exports]
365
+ })
366
+ };
367
+ }
368
+ function splitText(textarea, textareaRowsData) {
369
+ if (textareaRowsData) return textareaRowsData;
370
+ const rows = [];
371
+ const linesToRowsMap = [];
372
+ const style$1 = window.getComputedStyle(textarea);
373
+ const padding = parseFloat(style$1.paddingLeft) + parseFloat(style$1.paddingRight);
374
+ const border = parseFloat(style$1.borderLeftWidth) + parseFloat(style$1.borderRightWidth);
375
+ const textareaWidth = textarea.clientWidth - padding - border;
376
+ const context = createTextContext(style$1);
377
+ const lines = textarea.value.split("\n");
378
+ lines.forEach(_ => {
379
+ linesToRowsMap.push([]);
380
+ });
381
+ lines.forEach((line, index) => {
382
+ if (line === "") {
383
+ rows.push(line);
384
+ linesToRowsMap[index].push(rows.length - 1);
385
+ return;
386
+ }
387
+ let currentLine = "";
388
+ line.split(/(\s+)/).forEach(word => {
389
+ const testLine = currentLine + word;
390
+ if (context.measureText(testLine).width <= textareaWidth) currentLine = testLine;else {
391
+ rows.push(currentLine.trimEnd());
392
+ linesToRowsMap[index].push(rows.length - 1);
393
+ currentLine = word;
394
+ }
395
+ });
396
+ if (currentLine) {
397
+ rows.push(currentLine.trimEnd());
398
+ linesToRowsMap[index].push(rows.length - 1);
399
+ }
400
+ });
401
+ return {
402
+ rows,
403
+ linesToRowsMap
404
+ };
405
+ }
406
+ function createTextContext(style$1) {
407
+ const context = document.createElement("canvas").getContext("2d");
408
+ context.font = `${style$1.fontWeight} ${style$1.fontSize} ${style$1.fontFamily}`;
409
+ return context;
410
+ }
411
+ function getUpdatedTextareaValue(event, textareaRowsData, value) {
412
+ const textarea = event.target;
413
+ const rect = textarea.getBoundingClientRect();
414
+ const textareaX = event.clientX - rect.left;
415
+ const textareaY = event.clientY - rect.top;
416
+ const {
417
+ lineHeight,
418
+ font
419
+ } = window.getComputedStyle(textarea);
420
+ const rowIndex = getRowIndex(textareaY, lineHeight);
421
+ const rowsData = splitText(textarea, textareaRowsData);
422
+ let newText = value;
423
+ if (rowsData.rows[rowIndex] === void 0) newText = `${textarea.value} ${value}`;
424
+ const {
425
+ rows,
426
+ linesToRowsMap
427
+ } = rowsData;
428
+ const rowText = rows[rowIndex];
429
+ if (rowText === "") rows[rowIndex] = value;else {
430
+ const col = getColumnIndex(rowText, textareaX, font);
431
+ rows[rowIndex] = [rows[rowIndex].slice(0, col).trim(), value, rows[rowIndex].slice(col).trim()].join(" ").trim();
432
+ }
433
+ newText = linesToRowsMap.map(lineMap => {
434
+ return lineMap.map(index => rows[index]).join(" ");
435
+ }).join("\n");
436
+ return newText;
437
+ }
438
+ function getTextareaCursorPosition(textarea, textareaRowsData, clientX, clientY) {
439
+ const rect = textarea.getBoundingClientRect();
440
+ const textareaX = clientX - rect.left;
441
+ const textareaY = clientY - rect.top;
442
+ const {
443
+ lineHeight,
444
+ font
445
+ } = window.getComputedStyle(textarea);
446
+ const rowIndex = getRowIndex(textareaY, lineHeight);
447
+ const {
448
+ rows
449
+ } = splitText(textarea, textareaRowsData);
450
+ if (rowIndex < 0 || rowIndex >= rows.length) return textarea.value.length;
451
+ const rowText = rows[rowIndex];
452
+ const col = getColumnIndex(rowText, textareaX, font);
453
+ return rows.slice(0, rowIndex).reduce((acc, curr) => acc + curr.length + 1, 0) + col;
454
+ }
455
+
456
+ //#endregion
457
+ //#region src/app/components/NodeExecuteButton.vue?vue&type=script&setup=true&lang.ts
458
+ _export({
459
+ a: getTextareaCursorPosition,
460
+ i: getParentNodes,
461
+ o: getUpdatedTextareaValue,
462
+ r: generateCodeForAiTransform
463
+ });
464
+ return {
465
+ setters: [function (_chunkLegacy001Js) {
466
+ __toESM = _chunkLegacy001Js.o;
467
+ }, function (_vueRuntimeEsmBundlerLegacy003Js) {
468
+ computed = _vueRuntimeEsmBundlerLegacy003Js.C;
469
+ withScopeId = _vueRuntimeEsmBundlerLegacy003Js.Ct;
470
+ createElementBlock = _vueRuntimeEsmBundlerLegacy003Js.D;
471
+ createCommentVNode = _vueRuntimeEsmBundlerLegacy003Js.E;
472
+ nextTick = _vueRuntimeEsmBundlerLegacy003Js.G;
473
+ unref = _vueRuntimeEsmBundlerLegacy003Js.Gt;
474
+ guardReactiveProps = _vueRuntimeEsmBundlerLegacy003Js.I;
475
+ ref = _vueRuntimeEsmBundlerLegacy003Js.It;
476
+ h = _vueRuntimeEsmBundlerLegacy003Js.L;
477
+ shallowReactive = _vueRuntimeEsmBundlerLegacy003Js.Lt;
478
+ createVNode = _vueRuntimeEsmBundlerLegacy003Js.M;
479
+ markRaw = _vueRuntimeEsmBundlerLegacy003Js.Mt;
480
+ defineComponent = _vueRuntimeEsmBundlerLegacy003Js.P;
481
+ toDisplayString = _vueRuntimeEsmBundlerLegacy003Js.Sn;
482
+ createBlock = _vueRuntimeEsmBundlerLegacy003Js.T;
483
+ mergeProps = _vueRuntimeEsmBundlerLegacy003Js.W;
484
+ Fragment = _vueRuntimeEsmBundlerLegacy003Js._;
485
+ normalizeClass = _vueRuntimeEsmBundlerLegacy003Js._n;
486
+ watch = _vueRuntimeEsmBundlerLegacy003Js._t;
487
+ renderSlot = _vueRuntimeEsmBundlerLegacy003Js.at;
488
+ withCtx = _vueRuntimeEsmBundlerLegacy003Js.bt;
489
+ resolveDynamicComponent = _vueRuntimeEsmBundlerLegacy003Js.ct;
490
+ openBlock = _vueRuntimeEsmBundlerLegacy003Js.et;
491
+ withModifiers = _vueRuntimeEsmBundlerLegacy003Js.h;
492
+ renderList = _vueRuntimeEsmBundlerLegacy003Js.it;
493
+ createTextVNode = _vueRuntimeEsmBundlerLegacy003Js.j;
494
+ useCssVars = _vueRuntimeEsmBundlerLegacy003Js.l;
495
+ toHandlers = _vueRuntimeEsmBundlerLegacy003Js.lt;
496
+ resolveComponent = _vueRuntimeEsmBundlerLegacy003Js.ot;
497
+ useSlots = _vueRuntimeEsmBundlerLegacy003Js.pt;
498
+ pushScopeId = _vueRuntimeEsmBundlerLegacy003Js.rt;
499
+ resolveDirective = _vueRuntimeEsmBundlerLegacy003Js.st;
500
+ popScopeId = _vueRuntimeEsmBundlerLegacy003Js.tt;
501
+ normalizeProps = _vueRuntimeEsmBundlerLegacy003Js.vn;
502
+ createBaseVNode = _vueRuntimeEsmBundlerLegacy003Js.w;
503
+ withDirectives = _vueRuntimeEsmBundlerLegacy003Js.xt;
504
+ normalizeStyle = _vueRuntimeEsmBundlerLegacy003Js.yn;
505
+ }, function (_MapCacheLegacy005Js) {
506
+ I18nT = _MapCacheLegacy005Js._t;
507
+ useI18n = _MapCacheLegacy005Js.gt;
508
+ computedAsync = _MapCacheLegacy005Js.h;
509
+ }, function (_srcLegacy007Js) {
510
+ N8nText_default = _srcLegacy007Js.In;
511
+ N8nButton_default = _srcLegacy007Js.Ln;
512
+ N8nLink_default = _srcLegacy007Js.mt;
513
+ N8nTooltip_default = _srcLegacy007Js.vt;
514
+ N8nIcon_default = _srcLegacy007Js.zn;
515
+ }, function (_pluginVue_exportHelperLegacy00fJs) {
516
+ __plugin_vue_export_helper_default = _pluginVue_exportHelperLegacy00fJs.t;
517
+ }, function (_truncateLegacy00hJs) {
518
+ useRouter = _truncateLegacy00hJs.b;
519
+ }, function (_useMessageLegacy00vJs) {
520
+ useMessage = _useMessageLegacy00vJs.t;
521
+ }, function (_useTelemetryLegacy00FJs) {
522
+ useSettingsStore = _useTelemetryLegacy00FJs.Bo;
523
+ nodeViewEventBus = _useTelemetryLegacy00FJs.Ei;
524
+ generateCodeForPrompt = _useTelemetryLegacy00FJs.Gt;
525
+ useUIStore = _useTelemetryLegacy00FJs.Ni;
526
+ useRootStore = _useTelemetryLegacy00FJs.Qs;
527
+ useFlattenSchema = _useTelemetryLegacy00FJs.Qt;
528
+ injectWorkflowState = _useTelemetryLegacy00FJs.Sn;
529
+ useDataSchema = _useTelemetryLegacy00FJs.Zt;
530
+ useNDVStore = _useTelemetryLegacy00FJs.a;
531
+ isEmpty = _useTelemetryLegacy00FJs.gi;
532
+ useWorkflowsStore = _useTelemetryLegacy00FJs.o;
533
+ useNodeTypesStore = _useTelemetryLegacy00FJs.rt;
534
+ useTelemetry = _useTelemetryLegacy00FJs.t;
535
+ useNodeHelpers = _useTelemetryLegacy00FJs.xn;
536
+ environments_store_default = _useTelemetryLegacy00FJs.yn;
537
+ executionDataToJson = _useTelemetryLegacy00FJs.zr;
538
+ }, function (_useToastLegacy00HJs) {
539
+ useToast = _useToastLegacy00HJs.t;
540
+ }, function (_constantsLegacy00NJs) {
541
+ DateTime = _constantsLegacy00NJs.$i;
542
+ SCHEMA_PREVIEW_DOCS_URL = _constantsLegacy00NJs.C;
543
+ require_pick = _constantsLegacy00NJs.Dr;
544
+ FROM_AI_PARAMETERS_MODAL_KEY = _constantsLegacy00NJs.Eo;
545
+ EnterpriseEditionFeature = _constantsLegacy00NJs.Hs;
546
+ createResultError = _constantsLegacy00NJs.Jr;
547
+ MANUAL_TRIGGER_NODE_TYPE = _constantsLegacy00NJs.Lt;
548
+ MODAL_CONFIRM = _constantsLegacy00NJs.No;
549
+ WEBHOOK_NODE_TYPE = _constantsLegacy00NJs.On;
550
+ PLACEHOLDER_FILLED_AT_EXECUTION_TIME = _constantsLegacy00NJs.P;
551
+ CHAT_TRIGGER_NODE_TYPE = _constantsLegacy00NJs.Q;
552
+ FORM_TRIGGER_NODE_TYPE = _constantsLegacy00NJs.St;
553
+ AI_TRANSFORM_CODE_GENERATED_FOR_PROMPT = _constantsLegacy00NJs.aa;
554
+ NodeConnectionTypes = _constantsLegacy00NJs.ea;
555
+ ApplicationError = _constantsLegacy00NJs.na;
556
+ AI_TRANSFORM_JS_CODE = _constantsLegacy00NJs.oa;
557
+ AI_TRANSFORM_NODE_TYPE = _constantsLegacy00NJs.sa;
558
+ }, function (_useExternalHooksLegacy00XJs) {
559
+ useExternalHooks = _useExternalHooksLegacy00XJs.t;
560
+ }, function (_useRunWorkflowLegacy01fJs) {
561
+ useRunWorkflow = _useRunWorkflowLegacy01fJs.t;
562
+ }, function (_usePinnedDataLegacy01hJs) {
563
+ usePinnedData = _usePinnedDataLegacy01hJs.t;
564
+ }, function (_NodeIconLegacy01vJs) {
565
+ NodeIcon_default = _NodeIconLegacy01vJs.t;
566
+ }, function (_NDVEmptyStateLegacy01VJs) {
567
+ Ln = _NDVEmptyStateLegacy01VJs.i;
568
+ gu = _NDVEmptyStateLegacy01VJs.o;
569
+ estree_exports = _NDVEmptyStateLegacy01VJs.r;
570
+ NDVEmptyState_default = _NDVEmptyStateLegacy01VJs.t;
571
+ }, function (_DraggableLegacy02dJs) {
572
+ Draggable_default = _DraggableLegacy02dJs.t;
573
+ }, function (_TextWithHighlightsLegacy02hJs) {
574
+ TextWithHighlights_default = _TextWithHighlightsLegacy02hJs.t;
575
+ }, function (_useTelemetryContextLegacy02jJs) {
576
+ MappingPill_default = _useTelemetryContextLegacy02jJs.n;
577
+ useTelemetryContext = _useTelemetryContextLegacy02jJs.t;
578
+ }, function (_schemaPreviewStoreLegacy02lJs) {
579
+ useSchemaPreviewStore = _schemaPreviewStoreLegacy02lJs.t;
580
+ }, function (_nodeTransformsLegacy02nJs) {
581
+ needsAgentInput = _nodeTransformsLegacy02nJs.a;
582
+ }],
583
+ execute: function () {
584
+ __vite_style__ = document.createElement('style');
585
+ __vite_style__.textContent = "/* BEM support Func\n -------------------------- */\n/* Transition\n-------------------------- */\n/* Color\n-------------------------- */\n/* Link\n-------------------------- */\n/* Border\n-------------------------- */\n/* Outline\n-------------------------- */\n/* Box shadow\n-------------------------- */\n/* Fill\n-------------------------- */\n/* Typography\n-------------------------- */\n/* z-index\n-------------------------- */\n/* Disable base\n-------------------------- */\n/* Icon\n-------------------------- */\n/* Checkbox\n-------------------------- */\n/* Radio\n-------------------------- */\n/* Select\n-------------------------- */\n/* Alert\n-------------------------- */\n/* MessageBox\n-------------------------- */\n/* Message\n-------------------------- */\n/* Notification\n-------------------------- */\n/* Input\n-------------------------- */\n/* Cascader\n-------------------------- */\n/* Group\n-------------------------- */\n/* Tab\n-------------------------- */\n/* Button\n-------------------------- */\n/* cascader\n-------------------------- */\n/* Switch\n-------------------------- */\n/* Dialog\n-------------------------- */\n/* Table\n-------------------------- */\n/* Pagination\n-------------------------- */\n/* Popup\n-------------------------- */\n/* Popover\n-------------------------- */\n/* Tooltip\n-------------------------- */\n/* Tag\n-------------------------- */\n/* Tree\n-------------------------- */\n/* Dropdown\n-------------------------- */\n/* Badge\n-------------------------- */\n/* Card\n--------------------------*/\n/* Slider\n--------------------------*/\n/* Steps\n--------------------------*/\n/* Menu\n--------------------------*/\n/* Rate\n--------------------------*/\n/* DatePicker\n--------------------------*/\n/* Loading\n--------------------------*/\n/* Scrollbar\n--------------------------*/\n/* Carousel\n--------------------------*/\n/* Collapse\n--------------------------*/\n/* Transfer\n--------------------------*/\n/* Header\n --------------------------*/\n/* Footer\n--------------------------*/\n/* Main\n--------------------------*/\n/* Timeline\n--------------------------*/\n/* Backtop\n--------------------------*/\n/* Link\n--------------------------*/\n/* Calendar\n--------------------------*/\n/* Form\n-------------------------- */\n/* Avatar\n--------------------------*/\n/* Break-point\n--------------------------*/\n/* Break-points\n -------------------------- */\n/* Scrollbar\n -------------------------- */\n/* Placeholder\n -------------------------- */\n/* BEM\n -------------------------- */\n.schema-header-wrapper[data-v-81c3a2d5] {\n padding-bottom: var(--spacing--2xs);\n}\n.schema-header[data-v-81c3a2d5] {\n display: flex;\n align-items: center;\n cursor: pointer;\n}\n.toggle[data-v-81c3a2d5] {\n padding-left: var(--spacing--5xs);\n padding-right: var(--spacing--3xs);\n height: 30px;\n display: flex;\n justify-content: center;\n align-items: center;\n color: var(--color--text--tint-1);\n}\n.collapse-icon[data-v-81c3a2d5] {\n transition: transform 0.2s cubic-bezier(0.19, 1, 0.22, 1);\n}\n.collapsed[data-v-81c3a2d5] {\n transform: rotateZ(-90deg);\n}\n.icon[data-v-81c3a2d5] {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--spacing--3xs);\n border: 1px solid var(--color--foreground--tint-1);\n border-radius: var(--radius);\n background-color: var(--color--background--light-3);\n margin-right: var(--spacing--2xs);\n}\n.icon-trigger[data-v-81c3a2d5] {\n border-radius: 16px 4px 4px 16px;\n}\n.title[data-v-81c3a2d5] {\n font-size: var(--font-size--2xs);\n color: var(--color--text--shade-1);\n}\n.info[data-v-81c3a2d5] {\n margin-left: var(--spacing--2xs);\n color: var(--color--text--tint-1);\n font-weight: var(--font-weight--regular);\n}\n.trigger-icon[data-v-81c3a2d5] {\n margin-left: var(--spacing--2xs);\n color: var(--color--primary);\n}\n.extra-info[data-v-81c3a2d5] {\n font-size: var(--font-size--2xs);\n color: var(--color--text--tint-1);\n margin-left: auto;\n white-space: nowrap;\n}\n.notice[data-v-81c3a2d5] {\n margin-left: var(--spacing--2xl);\n margin-top: var(--spacing--2xs);\n padding-bottom: var(--spacing--2xs);\n color: var(--color--text);\n font-size: var(--font-size--2xs);\n line-height: var(--line-height--lg);\n}\n.schema-item[data-v-6a0fee4a] {\n\tdisplay: flex;\n\tmargin-left: calc(var(--spacing--lg) * var(--8de62a40));\n\talign-items: baseline;\n\tpadding-bottom: var(--spacing--2xs);\n}\n.toggle-container[data-v-6a0fee4a] {\n\tmin-width: var(--spacing--lg);\n\tmin-height: 17px;\n}\n.toggle[data-v-6a0fee4a] {\n\tcursor: pointer;\n\tdisplay: flex;\n\tjustify-content: center;\n\tcursor: pointer;\n\tfont-size: var(--font-size--sm);\n\tcolor: var(--color--text--tint-1);\n}\n.pill {\n&[data-v-6a0fee4a] {\n\tdisplay: inline-flex;\n\theight: 24px;\n\tpadding: 0 var(--spacing--3xs);\n\tborder: 1px solid var(--color--foreground--tint-1);\n\tborder-radius: var(--radius);\n\tbackground-color: var(--color--background--light-3);\n\tfont-size: var(--font-size--2xs);\n\tcolor: var(--color--text--shade-1);\n\tmax-width: 50%;\n\talign-items: center;\n\t}\n> *[data-v-6a0fee4a]:not(:first-child) {\n\t\tmargin-left: var(--spacing--3xs);\n\t\tpadding-left: var(--spacing--3xs);\n\t\tborder-left: 1px solid var(--color--foreground--tint-1);\n}\n&.pill--preview {\n&[data-v-6a0fee4a] {\n\t\t/* Cannot use CSS variable inside data URL, so instead switching based on data-theme and media query */\n\t\t--schema-preview--border--dashed: url(\"data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' viewBox='0 0 400 400' fill='none' rx='4' ry='4' stroke='%230000002A' stroke-width='2' stroke-dasharray='4%2c 4' stroke-dashoffset='0' stroke-linecap='square'/%3e%3c/svg%3e\");\n\t\t--schema-preview--border--dashed--dark: url(\"data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' viewBox='0 0 400 400' fill='none' rx='4' ry='4' stroke='%23FFFFFF2A' stroke-width='2' stroke-dasharray='4%2c 4' stroke-dashoffset='0' stroke-linecap='square'/%3e%3c/svg%3e\");\n\t\tcolor: var(--color--text--tint-1);\n\t\tbackground-color: var(--color--foreground--tint-1);\n\t\tborder: none;\n\t\tmax-width: calc(100% - var(--spacing--lg));\n\t\tbackground-image: var(--schema-preview--border--dashed);\n\t\t}\n.title[data-v-6a0fee4a] {\n\t\t\tcolor: var(--color--text--tint-1);\n}\n}\n}\n@media (prefers-color-scheme: dark) {\nbody:not([data-theme]) .pill--preview[data-v-6a0fee4a] {\n\t\tbackground-image: var(--schema-preview--border--dashed--dark);\n}\n}\n[data-theme='dark'] .pill--preview[data-v-6a0fee4a] {\n\tbackground-image: var(--schema-preview--border--dashed--dark);\n}\n.draggable .pill.pill--highlight[data-v-6a0fee4a] {\n\tcolor: var(--color--primary);\n\tborder-color: var(--color--primary--tint-1);\n\tbackground-color: var(--color--primary--tint-3);\n}\n.draggable .pill.pill--highlight .type-icon[data-v-6a0fee4a] {\n\tcolor: var(--color--primary);\n}\n.draggable .pill[data-v-6a0fee4a]:not(.pill--locked) {\n\tcursor: grab;\n}\n.draggable .pill[data-v-6a0fee4a]:not(.pill--locked):hover {\n\tbackground-color: var(--color--background--light-2);\n\tborder-color: var(--color--foreground);\n}\n.type-icon[data-v-6a0fee4a] {\n\tcolor: var(--color--text--tint-1);\n}\n.locked-icon[data-v-6a0fee4a] {\n\tcolor: var(--color--text--tint-1);\n\tmargin-left: var(--spacing--2xs);\n}\n.title[data-v-6a0fee4a] {\n\twhite-space: nowrap;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\tline-height: 1.5;\n}\n.text[data-v-6a0fee4a] {\n\tfont-weight: var(--font-weight--regular);\n\tfont-size: var(--font-size--2xs);\n\tmargin-left: var(--spacing--2xs);\n\tword-break: break-word;\n}\n.collapse-icon[data-v-6a0fee4a] {\n\ttransition: transform 0.2s cubic-bezier(0.19, 1, 0.22, 1);\n}\n.collapsed[data-v-6a0fee4a] {\n\ttransform: rotateZ(-90deg);\n}\n.tooltip[data-v-6a0fee4a] {\n\tmax-width: 260px;\n}\n\n._tooltip_1e5yq_2 {\n\tmax-width: 260px;\n}\n.vue-recycle-scroller{position:relative}.vue-recycle-scroller.direction-vertical:not(.page-mode){overflow-y:auto}.vue-recycle-scroller.direction-horizontal:not(.page-mode){overflow-x:auto}.vue-recycle-scroller.direction-horizontal{display:-webkit-box;display:-ms-flexbox;display:flex}.vue-recycle-scroller__slot{-webkit-box-flex:1;-ms-flex:auto 0 0px;flex:auto 0 0}.vue-recycle-scroller__item-wrapper{-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;position:relative}.vue-recycle-scroller.ready .vue-recycle-scroller__item-view{position:absolute;top:0;left:0;will-change:transform}.vue-recycle-scroller.direction-vertical .vue-recycle-scroller__item-wrapper{width:100%}.vue-recycle-scroller.direction-horizontal .vue-recycle-scroller__item-wrapper{height:100%}.vue-recycle-scroller.ready.direction-vertical .vue-recycle-scroller__item-view{width:100%}.vue-recycle-scroller.ready.direction-horizontal .vue-recycle-scroller__item-view{height:100%}.resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}\n.full-height[data-v-691f689b] {\n\theight: 100%;\n}\n.run-data-schema {\n&[data-v-691f689b] {\n\tpadding: 0;\n\t}\n&.no-search-results[data-v-691f689b] {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\tpadding: var(--spacing--lg) 0;\n}\n}\n.scroller {\n&[data-v-691f689b] {\n\tpadding: 0 var(--ndv--spacing);\n\tpadding-bottom: var(--spacing--2xl);\n\t}\n.compact &[data-v-691f689b] {\n\t\tpadding: 0 var(--spacing--2xs);\n}\n}\n.icon[data-v-691f689b] {\n\tdisplay: inline-flex;\n\tmargin-left: var(--spacing--xl);\n\tcolor: var(--color--text--tint-1);\n\tmargin-bottom: var(--ndv--spacing);\n}\n.notice[data-v-691f689b] {\n\tpadding-bottom: var(--spacing--xs);\n\tcolor: var(--color--text);\n\tfont-size: var(--font-size--2xs);\n\tline-height: var(--line-height--lg);\n\t/* stylelint-disable-next-line @n8n/css-var-naming */\n\tmargin-left: calc(var(--spacing--lg) * var(--schema-level));\n}\n.empty-schema[data-v-691f689b] {\n\tpadding-bottom: var(--spacing--xs);\n\t/* stylelint-disable-next-line @n8n/css-var-naming */\n\tmargin-left: calc((var(--spacing--xl) * var(--schema-level)));\n}\n/*$vite$:1*/";
586
+ document.head.appendChild(__vite_style__);
587
+ //#region src/features/ndv/runData/components/VirtualSchemaHeader.vue?vue&type=script&setup=true&lang.ts
588
+ _hoisted_1$3 = {
589
+ class: "schema-header-wrapper"
590
+ };
591
+ _hoisted_2$2 = {
592
+ class: "schema-header",
593
+ "data-test-id": "run-data-schema-header"
594
+ };
595
+ _hoisted_3 = {
596
+ class: "title"
597
+ };
598
+ _hoisted_4 = {
599
+ key: 0,
600
+ class: "info"
601
+ };
602
+ _hoisted_5 = {
603
+ key: 2,
604
+ class: "extra-info",
605
+ "data-test-id": "run-data-schema-node-item-count"
606
+ };
607
+ _hoisted_6 = {
608
+ key: 3,
609
+ class: "extra-info"
610
+ };
611
+ VirtualSchemaHeader_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */defineComponent({
612
+ __name: "VirtualSchemaHeader",
613
+ props: {
614
+ title: {},
615
+ collapsable: {
616
+ type: Boolean
617
+ },
618
+ collapsed: {
619
+ type: Boolean
620
+ },
621
+ itemCount: {},
622
+ info: {},
623
+ nodeType: {},
624
+ preview: {
625
+ type: Boolean
626
+ },
627
+ lastSuccessfulPreview: {
628
+ type: Boolean
629
+ }
630
+ },
631
+ emits: ["click:toggle", "execute"],
632
+ setup(__props, {
633
+ emit: __emit
634
+ }) {
635
+ const props$1 = __props;
636
+ const i18n = useI18n();
637
+ const isTrigger = computed(() => Boolean(props$1.nodeType?.group.includes("trigger")));
638
+ const emit = __emit;
639
+ return (_ctx, _cache) => {
640
+ return openBlock(), createElementBlock("div", _hoisted_1$3, [createBaseVNode("div", _hoisted_2$2, [createBaseVNode("div", {
641
+ class: "toggle",
642
+ onClickCapture: _cache[0] || (_cache[0] = withModifiers($event => emit("click:toggle"), ["stop"]))
643
+ }, [createVNode(unref(N8nIcon_default), {
644
+ size: "medium",
645
+ icon: "chevron-down",
646
+ class: normalizeClass({
647
+ "collapse-icon": true,
648
+ collapsed: _ctx.collapsed
649
+ })
650
+ }, null, 8, ["class"])], 32), _ctx.nodeType ? (openBlock(), createBlock(NodeIcon_default, {
651
+ key: 0,
652
+ class: normalizeClass(["icon", {
653
+ "icon-trigger": isTrigger.value
654
+ }]),
655
+ "node-type": _ctx.nodeType,
656
+ size: 12
657
+ }, null, 8, ["class", "node-type"])) : createCommentVNode("", true), createBaseVNode("div", _hoisted_3, [createTextVNode(toDisplayString(_ctx.title) + " ", 1), _ctx.info ? (openBlock(), createElementBlock("span", _hoisted_4, toDisplayString(_ctx.info), 1)) : createCommentVNode("", true)]), isTrigger.value ? (openBlock(), createBlock(unref(N8nIcon_default), {
658
+ key: 1,
659
+ class: "trigger-icon",
660
+ icon: "bolt-filled",
661
+ size: "xsmall"
662
+ })) : createCommentVNode("", true), _ctx.itemCount && !_ctx.lastSuccessfulPreview ? (openBlock(), createElementBlock("div", _hoisted_5, toDisplayString(unref(i18n).baseText("ndv.output.items", {
663
+ interpolate: {
664
+ count: _ctx.itemCount
665
+ }
666
+ })), 1)) : _ctx.preview ? (openBlock(), createElementBlock("div", _hoisted_6, toDisplayString(unref(i18n).baseText("dataMapping.schemaView.previewNode")), 1)) : createCommentVNode("", true)]), _ctx.preview && !_ctx.collapsed ? (openBlock(), createElementBlock("div", {
667
+ key: 0,
668
+ class: "notice",
669
+ "data-test-id": "schema-preview-warning",
670
+ onClick: _cache[3] || (_cache[3] = withModifiers(() => {}, ["stop"]))
671
+ }, [_ctx.lastSuccessfulPreview ? (openBlock(), createBlock(unref(I18nT), {
672
+ key: 0,
673
+ keypath: "dataMapping.schemaView.previewLastExecution",
674
+ scope: "global"
675
+ }, {
676
+ execute: withCtx(() => [createVNode(unref(N8nLink_default), {
677
+ onClick: _cache[1] || (_cache[1] = () => emit("execute", _ctx.title)),
678
+ size: "small",
679
+ bold: ""
680
+ }, {
681
+ default: withCtx(() => [createTextVNode(toDisplayString(unref(i18n).baseText("dataMapping.schemaView.previewLastExecution.executePreviousNodes")), 1)]),
682
+ _: 1
683
+ })]),
684
+ _: 1
685
+ })) : (openBlock(), createBlock(unref(I18nT), {
686
+ key: 1,
687
+ keypath: "dataMapping.schemaView.preview",
688
+ scope: "global"
689
+ }, {
690
+ execute: withCtx(() => [createVNode(unref(N8nLink_default), {
691
+ onClick: _cache[2] || (_cache[2] = () => emit("execute", _ctx.title)),
692
+ size: "small",
693
+ bold: ""
694
+ }, {
695
+ default: withCtx(() => [createTextVNode(toDisplayString(unref(i18n).baseText("dataMapping.schemaView.preview.executeNode")), 1)]),
696
+ _: 1
697
+ })]),
698
+ link: withCtx(() => [createVNode(unref(N8nLink_default), {
699
+ to: unref(SCHEMA_PREVIEW_DOCS_URL),
700
+ size: "small",
701
+ bold: ""
702
+ }, {
703
+ default: withCtx(() => [createTextVNode(toDisplayString(unref(i18n).baseText("generic.learnMore")), 1)]),
704
+ _: 1
705
+ }, 8, ["to"])]),
706
+ _: 1
707
+ }))])) : createCommentVNode("", true)]);
708
+ };
709
+ }
710
+ }); //#endregion
711
+ //#region src/features/ndv/runData/components/VirtualSchemaHeader.vue
712
+ VirtualSchemaHeader_default = /* @__PURE__ */__plugin_vue_export_helper_default(VirtualSchemaHeader_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-81c3a2d5"]]); //#endregion
713
+ //#region src/features/ndv/runData/components/VirtualSchemaItem.vue?vue&type=script&setup=true&lang.ts
714
+ _hoisted_1$2 = {
715
+ class: "toggle-container"
716
+ };
717
+ _hoisted_2$1 = ["data-name", "data-path", "data-depth", "data-nest-level", "data-value", "data-node-type", "data-target", "data-node-name", "data-run-index"];
718
+ VirtualSchemaItem_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */defineComponent({
719
+ __name: "VirtualSchemaItem",
720
+ props: {
721
+ title: {},
722
+ path: {},
723
+ level: {},
724
+ depth: {},
725
+ expression: {},
726
+ value: {},
727
+ id: {},
728
+ icon: {},
729
+ collapsable: {
730
+ type: Boolean
731
+ },
732
+ nodeName: {},
733
+ nodeType: {},
734
+ highlight: {
735
+ type: Boolean
736
+ },
737
+ draggable: {
738
+ type: Boolean
739
+ },
740
+ collapsed: {
741
+ type: Boolean
742
+ },
743
+ search: {},
744
+ preview: {
745
+ type: Boolean
746
+ },
747
+ locked: {
748
+ type: Boolean
749
+ },
750
+ lockedTooltip: {},
751
+ runIndex: {}
752
+ },
753
+ emits: ["click"],
754
+ setup(__props, {
755
+ emit: __emit
756
+ }) {
757
+ useCssVars(_ctx => ({
758
+ "8de62a40": _ctx.level
759
+ }));
760
+ const props$1 = __props;
761
+ const emit = __emit;
762
+ return (_ctx, _cache) => {
763
+ const _directive_n8n_html = resolveDirective("n8n-html");
764
+ return openBlock(), createElementBlock("div", {
765
+ class: normalizeClass(["schema-item", {
766
+ draggable: _ctx.draggable
767
+ }]),
768
+ "data-test-id": "run-data-schema-item"
769
+ }, [createBaseVNode("div", _hoisted_1$2, [_ctx.collapsable ? (openBlock(), createElementBlock("div", {
770
+ key: 0,
771
+ class: "toggle",
772
+ onClick: _cache[0] || (_cache[0] = $event => emit("click"))
773
+ }, [createVNode(unref(N8nIcon_default), {
774
+ icon: "chevron-down",
775
+ class: normalizeClass({
776
+ "collapse-icon": true,
777
+ collapsed: _ctx.collapsed
778
+ })
779
+ }, null, 8, ["class"])])) : createCommentVNode("", true)]), _ctx.title ? (openBlock(), createElementBlock("div", {
780
+ key: 0,
781
+ "data-name": _ctx.title,
782
+ "data-path": _ctx.path,
783
+ "data-depth": _ctx.depth,
784
+ "data-nest-level": _ctx.level,
785
+ "data-value": _ctx.expression,
786
+ "data-node-type": _ctx.nodeType,
787
+ "data-target": !_ctx.locked && "mappable",
788
+ "data-node-name": _ctx.nodeName,
789
+ "data-run-index": _ctx.runIndex,
790
+ class: normalizeClass(["pill", {
791
+ "pill--highlight": _ctx.highlight,
792
+ "pill--preview": _ctx.preview,
793
+ "pill--locked": _ctx.locked
794
+ }]),
795
+ "data-test-id": "run-data-schema-node-name"
796
+ }, [createVNode(unref(N8nIcon_default), {
797
+ class: "type-icon",
798
+ icon: _ctx.icon,
799
+ size: "small"
800
+ }, null, 8, ["icon"]), createVNode(TextWithHighlights_default, {
801
+ class: "title",
802
+ content: _ctx.title,
803
+ search: props$1.search
804
+ }, null, 8, ["content", "search"])], 10, _hoisted_2$1)) : createCommentVNode("", true), _ctx.locked ? (openBlock(), createBlock(unref(N8nTooltip_default), {
805
+ key: 1,
806
+ disabled: !_ctx.lockedTooltip,
807
+ "popper-class": _ctx.$style.tooltip
808
+ }, {
809
+ content: withCtx(() => [withDirectives(createBaseVNode("span", null, null, 512), [[_directive_n8n_html, _ctx.lockedTooltip]])]),
810
+ default: withCtx(() => [createVNode(unref(N8nIcon_default), {
811
+ class: "locked-icon",
812
+ icon: "lock",
813
+ size: "small"
814
+ })]),
815
+ _: 1
816
+ }, 8, ["disabled", "popper-class"])) : createCommentVNode("", true), createVNode(TextWithHighlights_default, {
817
+ "data-test-id": "run-data-schema-item-value",
818
+ class: "text",
819
+ content: _ctx.value,
820
+ search: props$1.search
821
+ }, null, 8, ["content", "search"])], 2);
822
+ };
823
+ }
824
+ }); //#endregion
825
+ //#region src/features/ndv/runData/components/VirtualSchemaItem.vue?vue&type=style&index=1&lang.module.css
826
+ tooltip = "_tooltip_1e5yq_2";
827
+ VirtualSchemaItem_vue_vue_type_style_index_1_lang_module_default = {
828
+ tooltip
829
+ }; //#endregion
830
+ //#region src/features/ndv/runData/components/VirtualSchemaItem.vue
831
+ cssModules = {
832
+ "$style": VirtualSchemaItem_vue_vue_type_style_index_1_lang_module_default
833
+ };
834
+ VirtualSchemaItem_default = /* @__PURE__ */__plugin_vue_export_helper_default(VirtualSchemaItem_vue_vue_type_script_setup_true_lang_default, [["__cssModules", cssModules], ["__scopeId", "data-v-6a0fee4a"]]);
835
+ script$2 = {
836
+ name: "ResizeObserver",
837
+ props: {
838
+ emitOnMount: {
839
+ type: Boolean,
840
+ default: false
841
+ },
842
+ ignoreWidth: {
843
+ type: Boolean,
844
+ default: false
845
+ },
846
+ ignoreHeight: {
847
+ type: Boolean,
848
+ default: false
849
+ }
850
+ },
851
+ emits: ["notify"],
852
+ mounted() {
853
+ initCompat();
854
+ nextTick(() => {
855
+ this._w = this.$el.offsetWidth;
856
+ this._h = this.$el.offsetHeight;
857
+ if (this.emitOnMount) this.emitSize();
858
+ });
859
+ const object = document.createElement("object");
860
+ this._resizeObject = object;
861
+ object.setAttribute("aria-hidden", "true");
862
+ object.setAttribute("tabindex", -1);
863
+ object.onload = this.addResizeHandlers;
864
+ object.type = "text/html";
865
+ if (isIE) this.$el.appendChild(object);
866
+ object.data = "about:blank";
867
+ if (!isIE) this.$el.appendChild(object);
868
+ },
869
+ beforeUnmount() {
870
+ this.removeResizeHandlers();
871
+ },
872
+ methods: {
873
+ compareAndNotify() {
874
+ if (!this.ignoreWidth && this._w !== this.$el.offsetWidth || !this.ignoreHeight && this._h !== this.$el.offsetHeight) {
875
+ this._w = this.$el.offsetWidth;
876
+ this._h = this.$el.offsetHeight;
877
+ this.emitSize();
878
+ }
879
+ },
880
+ emitSize() {
881
+ this.$emit("notify", {
882
+ width: this._w,
883
+ height: this._h
884
+ });
885
+ },
886
+ addResizeHandlers() {
887
+ this._resizeObject.contentDocument.defaultView.addEventListener("resize", this.compareAndNotify);
888
+ this.compareAndNotify();
889
+ },
890
+ removeResizeHandlers() {
891
+ if (this._resizeObject && this._resizeObject.onload) {
892
+ if (!isIE && this._resizeObject.contentDocument) this._resizeObject.contentDocument.defaultView.removeEventListener("resize", this.compareAndNotify);
893
+ this.$el.removeChild(this._resizeObject);
894
+ this._resizeObject.onload = null;
895
+ this._resizeObject = null;
896
+ }
897
+ }
898
+ }
899
+ };
900
+ _withId = /* @__PURE__ */withScopeId("data-v-b329ee4c");
901
+ pushScopeId("data-v-b329ee4c");
902
+ _hoisted_1$1 = {
903
+ class: "resize-observer",
904
+ tabindex: "-1"
905
+ };
906
+ popScopeId();
907
+ script$2.render = /* @__PURE__ */_withId((_ctx, _cache, $props, $setup, $data, $options) => {
908
+ return openBlock(), createBlock("div", _hoisted_1$1);
909
+ });
910
+ script$2.__scopeId = "data-v-b329ee4c";
911
+ script$2.__file = "src/components/ResizeObserver.vue";
912
+ VisibilityState = /* @__PURE__ */function () {
913
+ function VisibilityState$1(el, options, vnode) {
914
+ _classCallCheck(this, VisibilityState$1);
915
+ this.el = el;
916
+ this.observer = null;
917
+ this.frozen = false;
918
+ this.createObserver(options, vnode);
919
+ }
920
+ _createClass(VisibilityState$1, [{
921
+ key: "createObserver",
922
+ value: function createObserver(options, vnode) {
923
+ var _this = this;
924
+ if (this.observer) this.destroyObserver();
925
+ if (this.frozen) return;
926
+ this.options = processOptions(options);
927
+ this.callback = function (result, entry) {
928
+ _this.options.callback(result, entry);
929
+ if (result && _this.options.once) {
930
+ _this.frozen = true;
931
+ _this.destroyObserver();
932
+ }
933
+ };
934
+ if (this.callback && this.options.throttle) {
935
+ var _leading = (this.options.throttleOptions || {}).leading;
936
+ this.callback = throttle(this.callback, this.options.throttle, {
937
+ leading: function leading(state) {
938
+ return _leading === "both" || _leading === "visible" && state || _leading === "hidden" && !state;
939
+ }
940
+ });
941
+ }
942
+ this.oldResult = void 0;
943
+ this.observer = new IntersectionObserver(function (entries) {
944
+ var entry = entries[0];
945
+ if (entries.length > 1) {
946
+ var intersectingEntry = entries.find(function (e) {
947
+ return e.isIntersecting;
948
+ });
949
+ if (intersectingEntry) entry = intersectingEntry;
950
+ }
951
+ if (_this.callback) {
952
+ var result = entry.isIntersecting && entry.intersectionRatio >= _this.threshold;
953
+ if (result === _this.oldResult) return;
954
+ _this.oldResult = result;
955
+ _this.callback(result, entry);
956
+ }
957
+ }, this.options.intersection);
958
+ nextTick(function () {
959
+ if (_this.observer) _this.observer.observe(_this.el);
960
+ });
961
+ }
962
+ }, {
963
+ key: "destroyObserver",
964
+ value: function destroyObserver() {
965
+ if (this.observer) {
966
+ this.observer.disconnect();
967
+ this.observer = null;
968
+ }
969
+ if (this.callback && this.callback._clear) {
970
+ this.callback._clear();
971
+ this.callback = null;
972
+ }
973
+ }
974
+ }, {
975
+ key: "threshold",
976
+ get: function get() {
977
+ return this.options.intersection && typeof this.options.intersection.threshold === "number" ? this.options.intersection.threshold : 0;
978
+ }
979
+ }]);
980
+ return VisibilityState$1;
981
+ }();
982
+ ObserveVisibility = {
983
+ beforeMount,
984
+ updated,
985
+ unmounted
986
+ };
987
+ config = {
988
+ itemsLimit: 1e3
989
+ };
990
+ regex = /(auto|scroll)/;
991
+ style = function style$1(node, prop) {
992
+ return getComputedStyle(node, null).getPropertyValue(prop);
993
+ };
994
+ overflow = function overflow$1(node) {
995
+ return style(node, "overflow") + style(node, "overflow-y") + style(node, "overflow-x");
996
+ };
997
+ scroll = function scroll$1(node) {
998
+ return regex.test(overflow(node));
999
+ };
1000
+ props = {
1001
+ items: {
1002
+ type: Array,
1003
+ required: true
1004
+ },
1005
+ keyField: {
1006
+ type: String,
1007
+ default: "id"
1008
+ },
1009
+ direction: {
1010
+ type: String,
1011
+ default: "vertical",
1012
+ validator: function validator(value) {
1013
+ return ["vertical", "horizontal"].includes(value);
1014
+ }
1015
+ },
1016
+ listTag: {
1017
+ type: String,
1018
+ default: "div"
1019
+ },
1020
+ itemTag: {
1021
+ type: String,
1022
+ default: "div"
1023
+ }
1024
+ };
1025
+ supportsPassive = false;
1026
+ if (typeof window !== "undefined") {
1027
+ supportsPassive = false;
1028
+ try {
1029
+ opts = Object.defineProperty({}, "passive", {
1030
+ get: function get() {
1031
+ supportsPassive = true;
1032
+ }
1033
+ });
1034
+ window.addEventListener("test", null, opts);
1035
+ } catch (e) {}
1036
+ }
1037
+ uid = 0;
1038
+ script$2$1 = {
1039
+ name: "RecycleScroller",
1040
+ components: {
1041
+ ResizeObserver: script$2
1042
+ },
1043
+ directives: {
1044
+ ObserveVisibility
1045
+ },
1046
+ props: {
1047
+ ...props,
1048
+ itemSize: {
1049
+ type: Number,
1050
+ default: null
1051
+ },
1052
+ gridItems: {
1053
+ type: Number,
1054
+ default: void 0
1055
+ },
1056
+ itemSecondarySize: {
1057
+ type: Number,
1058
+ default: void 0
1059
+ },
1060
+ minItemSize: {
1061
+ type: [Number, String],
1062
+ default: null
1063
+ },
1064
+ sizeField: {
1065
+ type: String,
1066
+ default: "size"
1067
+ },
1068
+ typeField: {
1069
+ type: String,
1070
+ default: "type"
1071
+ },
1072
+ buffer: {
1073
+ type: Number,
1074
+ default: 200
1075
+ },
1076
+ pageMode: {
1077
+ type: Boolean,
1078
+ default: false
1079
+ },
1080
+ prerender: {
1081
+ type: Number,
1082
+ default: 0
1083
+ },
1084
+ emitUpdate: {
1085
+ type: Boolean,
1086
+ default: false
1087
+ },
1088
+ updateInterval: {
1089
+ type: Number,
1090
+ default: 0
1091
+ },
1092
+ skipHover: {
1093
+ type: Boolean,
1094
+ default: false
1095
+ },
1096
+ listTag: {
1097
+ type: String,
1098
+ default: "div"
1099
+ },
1100
+ itemTag: {
1101
+ type: String,
1102
+ default: "div"
1103
+ },
1104
+ listClass: {
1105
+ type: [String, Object, Array],
1106
+ default: ""
1107
+ },
1108
+ itemClass: {
1109
+ type: [String, Object, Array],
1110
+ default: ""
1111
+ }
1112
+ },
1113
+ emits: ["resize", "visible", "hidden", "update", "scroll-start", "scroll-end"],
1114
+ data() {
1115
+ return {
1116
+ pool: [],
1117
+ totalSize: 0,
1118
+ ready: false,
1119
+ hoverKey: null
1120
+ };
1121
+ },
1122
+ computed: {
1123
+ sizes() {
1124
+ if (this.itemSize === null) {
1125
+ const sizes = {
1126
+ "-1": {
1127
+ accumulator: 0
1128
+ }
1129
+ };
1130
+ const items = this.items;
1131
+ const field = this.sizeField;
1132
+ const minItemSize = this.minItemSize;
1133
+ let computedMinSize = 1e4;
1134
+ let accumulator = 0;
1135
+ let current;
1136
+ for (let i = 0, l = items.length; i < l; i++) {
1137
+ current = items[i][field] || minItemSize;
1138
+ if (current < computedMinSize) computedMinSize = current;
1139
+ accumulator += current;
1140
+ sizes[i] = {
1141
+ accumulator,
1142
+ size: current
1143
+ };
1144
+ }
1145
+ this.$_computedMinItemSize = computedMinSize;
1146
+ return sizes;
1147
+ }
1148
+ return [];
1149
+ },
1150
+ simpleArray,
1151
+ itemIndexByKey() {
1152
+ const {
1153
+ keyField,
1154
+ items
1155
+ } = this;
1156
+ const result = {};
1157
+ for (let i = 0, l = items.length; i < l; i++) result[items[i][keyField]] = i;
1158
+ return result;
1159
+ }
1160
+ },
1161
+ watch: {
1162
+ items() {
1163
+ this.updateVisibleItems(true);
1164
+ },
1165
+ pageMode() {
1166
+ this.applyPageMode();
1167
+ this.updateVisibleItems(false);
1168
+ },
1169
+ sizes: {
1170
+ handler() {
1171
+ this.updateVisibleItems(false);
1172
+ },
1173
+ deep: true
1174
+ },
1175
+ gridItems() {
1176
+ this.updateVisibleItems(true);
1177
+ },
1178
+ itemSecondarySize() {
1179
+ this.updateVisibleItems(true);
1180
+ }
1181
+ },
1182
+ created() {
1183
+ this.$_startIndex = 0;
1184
+ this.$_endIndex = 0;
1185
+ this.$_views = /* @__PURE__ */new Map();
1186
+ this.$_unusedViews = /* @__PURE__ */new Map();
1187
+ this.$_scrollDirty = false;
1188
+ this.$_lastUpdateScrollPosition = 0;
1189
+ if (this.prerender) {
1190
+ this.$_prerender = true;
1191
+ this.updateVisibleItems(false);
1192
+ }
1193
+ if (this.gridItems && !this.itemSize) console.error("[vue-recycle-scroller] You must provide an itemSize when using gridItems");
1194
+ },
1195
+ mounted() {
1196
+ this.applyPageMode();
1197
+ this.$nextTick(() => {
1198
+ this.$_prerender = false;
1199
+ this.updateVisibleItems(true);
1200
+ this.ready = true;
1201
+ });
1202
+ },
1203
+ activated() {
1204
+ const lastPosition = this.$_lastUpdateScrollPosition;
1205
+ if (typeof lastPosition === "number") this.$nextTick(() => {
1206
+ this.scrollToPosition(lastPosition);
1207
+ });
1208
+ },
1209
+ beforeUnmount() {
1210
+ this.removeListeners();
1211
+ },
1212
+ methods: {
1213
+ addView(pool, index, item, key, type) {
1214
+ const view = shallowReactive({
1215
+ item,
1216
+ position: 0,
1217
+ nr: markRaw({
1218
+ id: uid++,
1219
+ index,
1220
+ used: true,
1221
+ key,
1222
+ type
1223
+ })
1224
+ });
1225
+ pool.push(view);
1226
+ return view;
1227
+ },
1228
+ unuseView(view, fake = false) {
1229
+ const unusedViews = this.$_unusedViews;
1230
+ const type = view.nr.type;
1231
+ let unusedPool = unusedViews.get(type);
1232
+ if (!unusedPool) {
1233
+ unusedPool = [];
1234
+ unusedViews.set(type, unusedPool);
1235
+ }
1236
+ unusedPool.push(view);
1237
+ if (!fake) {
1238
+ view.nr.used = false;
1239
+ view.position = -9999;
1240
+ }
1241
+ },
1242
+ handleResize() {
1243
+ this.$emit("resize");
1244
+ if (this.ready) this.updateVisibleItems(false);
1245
+ },
1246
+ handleScroll(event) {
1247
+ if (!this.$_scrollDirty) {
1248
+ this.$_scrollDirty = true;
1249
+ if (this.$_updateTimeout) return;
1250
+ const requestUpdate = () => requestAnimationFrame(() => {
1251
+ this.$_scrollDirty = false;
1252
+ const {
1253
+ continuous
1254
+ } = this.updateVisibleItems(false, true);
1255
+ if (!continuous) {
1256
+ clearTimeout(this.$_refreshTimout);
1257
+ this.$_refreshTimout = setTimeout(this.handleScroll, this.updateInterval + 100);
1258
+ }
1259
+ });
1260
+ requestUpdate();
1261
+ if (this.updateInterval) this.$_updateTimeout = setTimeout(() => {
1262
+ this.$_updateTimeout = 0;
1263
+ if (this.$_scrollDirty) requestUpdate();
1264
+ }, this.updateInterval);
1265
+ }
1266
+ },
1267
+ handleVisibilityChange(isVisible, entry) {
1268
+ if (this.ready) if (isVisible || entry.boundingClientRect.width !== 0 || entry.boundingClientRect.height !== 0) {
1269
+ this.$emit("visible");
1270
+ requestAnimationFrame(() => {
1271
+ this.updateVisibleItems(false);
1272
+ });
1273
+ } else this.$emit("hidden");
1274
+ },
1275
+ updateVisibleItems(checkItem, checkPositionDiff = false) {
1276
+ const itemSize = this.itemSize;
1277
+ const gridItems = this.gridItems || 1;
1278
+ const itemSecondarySize = this.itemSecondarySize || itemSize;
1279
+ const minItemSize = this.$_computedMinItemSize;
1280
+ const typeField = this.typeField;
1281
+ const keyField = this.simpleArray ? null : this.keyField;
1282
+ const items = this.items;
1283
+ const count = items.length;
1284
+ const sizes = this.sizes;
1285
+ const views = this.$_views;
1286
+ const unusedViews = this.$_unusedViews;
1287
+ const pool = this.pool;
1288
+ const itemIndexByKey = this.itemIndexByKey;
1289
+ let startIndex, endIndex;
1290
+ let totalSize;
1291
+ let visibleStartIndex, visibleEndIndex;
1292
+ if (!count) startIndex = endIndex = visibleStartIndex = visibleEndIndex = totalSize = 0;else if (this.$_prerender) {
1293
+ startIndex = visibleStartIndex = 0;
1294
+ endIndex = visibleEndIndex = Math.min(this.prerender, items.length);
1295
+ totalSize = null;
1296
+ } else {
1297
+ const scroll$1 = this.getScroll();
1298
+ if (checkPositionDiff) {
1299
+ let positionDiff = scroll$1.start - this.$_lastUpdateScrollPosition;
1300
+ if (positionDiff < 0) positionDiff = -positionDiff;
1301
+ if (itemSize === null && positionDiff < minItemSize || positionDiff < itemSize) return {
1302
+ continuous: true
1303
+ };
1304
+ }
1305
+ this.$_lastUpdateScrollPosition = scroll$1.start;
1306
+ const buffer = this.buffer;
1307
+ scroll$1.start -= buffer;
1308
+ scroll$1.end += buffer;
1309
+ let beforeSize = 0;
1310
+ if (this.$refs.before) {
1311
+ beforeSize = this.$refs.before.scrollHeight;
1312
+ scroll$1.start -= beforeSize;
1313
+ }
1314
+ if (this.$refs.after) {
1315
+ const afterSize = this.$refs.after.scrollHeight;
1316
+ scroll$1.end += afterSize;
1317
+ }
1318
+ if (itemSize === null) {
1319
+ let h$1;
1320
+ let a = 0;
1321
+ let b = count - 1;
1322
+ let i = ~~(count / 2);
1323
+ let oldI;
1324
+ do {
1325
+ oldI = i;
1326
+ h$1 = sizes[i].accumulator;
1327
+ if (h$1 < scroll$1.start) a = i;else if (i < count - 1 && sizes[i + 1].accumulator > scroll$1.start) b = i;
1328
+ i = ~~((a + b) / 2);
1329
+ } while (i !== oldI);
1330
+ i < 0 && (i = 0);
1331
+ startIndex = i;
1332
+ totalSize = sizes[count - 1].accumulator;
1333
+ for (endIndex = i; endIndex < count && sizes[endIndex].accumulator < scroll$1.end; endIndex++);
1334
+ if (endIndex === -1) endIndex = items.length - 1;else {
1335
+ endIndex++;
1336
+ endIndex > count && (endIndex = count);
1337
+ }
1338
+ for (visibleStartIndex = startIndex; visibleStartIndex < count && beforeSize + sizes[visibleStartIndex].accumulator < scroll$1.start; visibleStartIndex++);
1339
+ for (visibleEndIndex = visibleStartIndex; visibleEndIndex < count && beforeSize + sizes[visibleEndIndex].accumulator < scroll$1.end; visibleEndIndex++);
1340
+ } else {
1341
+ startIndex = ~~(scroll$1.start / itemSize * gridItems);
1342
+ const remainer = startIndex % gridItems;
1343
+ startIndex -= remainer;
1344
+ endIndex = Math.ceil(scroll$1.end / itemSize * gridItems);
1345
+ visibleStartIndex = Math.max(0, Math.floor((scroll$1.start - beforeSize) / itemSize * gridItems));
1346
+ visibleEndIndex = Math.floor((scroll$1.end - beforeSize) / itemSize * gridItems);
1347
+ startIndex < 0 && (startIndex = 0);
1348
+ endIndex > count && (endIndex = count);
1349
+ visibleStartIndex < 0 && (visibleStartIndex = 0);
1350
+ visibleEndIndex > count && (visibleEndIndex = count);
1351
+ totalSize = Math.ceil(count / gridItems) * itemSize;
1352
+ }
1353
+ }
1354
+ if (endIndex - startIndex > config.itemsLimit) this.itemsLimitError();
1355
+ this.totalSize = totalSize;
1356
+ let view;
1357
+ const continuous = startIndex <= this.$_endIndex && endIndex >= this.$_startIndex;
1358
+ if (continuous) for (let i = 0, l = pool.length; i < l; i++) {
1359
+ view = pool[i];
1360
+ if (view.nr.used) {
1361
+ if (checkItem) view.nr.index = itemIndexByKey[view.item[keyField]];
1362
+ if (view.nr.index == null || view.nr.index < startIndex || view.nr.index >= endIndex) this.unuseView(view);
1363
+ }
1364
+ }
1365
+ const unusedIndex = continuous ? null : /* @__PURE__ */new Map();
1366
+ let item, type;
1367
+ let v;
1368
+ for (let i = startIndex; i < endIndex; i++) {
1369
+ item = items[i];
1370
+ const key = keyField ? item[keyField] : item;
1371
+ if (key == null) throw new Error(`Key is ${key} on item (keyField is '${keyField}')`);
1372
+ view = views.get(key);
1373
+ if (!itemSize && !sizes[i].size) {
1374
+ if (view) this.unuseView(view);
1375
+ continue;
1376
+ }
1377
+ type = item[typeField];
1378
+ let unusedPool = unusedViews.get(type);
1379
+ let newlyUsedView = false;
1380
+ if (!view) {
1381
+ if (continuous) {
1382
+ if (unusedPool && unusedPool.length) view = unusedPool.pop();else view = this.addView(pool, i, item, key, type);
1383
+ } else {
1384
+ v = unusedIndex.get(type) || 0;
1385
+ if (!unusedPool || v >= unusedPool.length) {
1386
+ view = this.addView(pool, i, item, key, type);
1387
+ this.unuseView(view, true);
1388
+ unusedPool = unusedViews.get(type);
1389
+ }
1390
+ view = unusedPool[v];
1391
+ unusedIndex.set(type, v + 1);
1392
+ }
1393
+ views.delete(view.nr.key);
1394
+ view.nr.used = true;
1395
+ view.nr.index = i;
1396
+ view.nr.key = key;
1397
+ view.nr.type = type;
1398
+ views.set(key, view);
1399
+ newlyUsedView = true;
1400
+ } else if (!view.nr.used) {
1401
+ view.nr.used = true;
1402
+ newlyUsedView = true;
1403
+ if (unusedPool) {
1404
+ const index = unusedPool.indexOf(view);
1405
+ if (index !== -1) unusedPool.splice(index, 1);
1406
+ }
1407
+ }
1408
+ view.item = item;
1409
+ if (newlyUsedView) {
1410
+ if (i === items.length - 1) this.$emit("scroll-end");
1411
+ if (i === 0) this.$emit("scroll-start");
1412
+ }
1413
+ if (itemSize === null) {
1414
+ view.position = sizes[i - 1].accumulator;
1415
+ view.offset = 0;
1416
+ } else {
1417
+ view.position = Math.floor(i / gridItems) * itemSize;
1418
+ view.offset = i % gridItems * itemSecondarySize;
1419
+ }
1420
+ }
1421
+ this.$_startIndex = startIndex;
1422
+ this.$_endIndex = endIndex;
1423
+ if (this.emitUpdate) this.$emit("update", startIndex, endIndex, visibleStartIndex, visibleEndIndex);
1424
+ clearTimeout(this.$_sortTimer);
1425
+ this.$_sortTimer = setTimeout(this.sortViews, this.updateInterval + 300);
1426
+ return {
1427
+ continuous
1428
+ };
1429
+ },
1430
+ getListenerTarget() {
1431
+ let target = getScrollParent(this.$el);
1432
+ if (window.document && (target === window.document.documentElement || target === window.document.body)) target = window;
1433
+ return target;
1434
+ },
1435
+ getScroll() {
1436
+ const {
1437
+ $el: el,
1438
+ direction
1439
+ } = this;
1440
+ const isVertical = direction === "vertical";
1441
+ let scrollState;
1442
+ if (this.pageMode) {
1443
+ const bounds = el.getBoundingClientRect();
1444
+ const boundsSize = isVertical ? bounds.height : bounds.width;
1445
+ let start = -(isVertical ? bounds.top : bounds.left);
1446
+ let size = isVertical ? window.innerHeight : window.innerWidth;
1447
+ if (start < 0) {
1448
+ size += start;
1449
+ start = 0;
1450
+ }
1451
+ if (start + size > boundsSize) size = boundsSize - start;
1452
+ scrollState = {
1453
+ start,
1454
+ end: start + size
1455
+ };
1456
+ } else if (isVertical) scrollState = {
1457
+ start: el.scrollTop,
1458
+ end: el.scrollTop + el.clientHeight
1459
+ };else scrollState = {
1460
+ start: el.scrollLeft,
1461
+ end: el.scrollLeft + el.clientWidth
1462
+ };
1463
+ return scrollState;
1464
+ },
1465
+ applyPageMode() {
1466
+ if (this.pageMode) this.addListeners();else this.removeListeners();
1467
+ },
1468
+ addListeners() {
1469
+ this.listenerTarget = this.getListenerTarget();
1470
+ this.listenerTarget.addEventListener("scroll", this.handleScroll, supportsPassive ? {
1471
+ passive: true
1472
+ } : false);
1473
+ this.listenerTarget.addEventListener("resize", this.handleResize);
1474
+ },
1475
+ removeListeners() {
1476
+ if (!this.listenerTarget) return;
1477
+ this.listenerTarget.removeEventListener("scroll", this.handleScroll);
1478
+ this.listenerTarget.removeEventListener("resize", this.handleResize);
1479
+ this.listenerTarget = null;
1480
+ },
1481
+ scrollToItem(index) {
1482
+ let scroll$1;
1483
+ const gridItems = this.gridItems || 1;
1484
+ if (this.itemSize === null) scroll$1 = index > 0 ? this.sizes[index - 1].accumulator : 0;else scroll$1 = Math.floor(index / gridItems) * this.itemSize;
1485
+ this.scrollToPosition(scroll$1);
1486
+ },
1487
+ scrollToPosition(position) {
1488
+ const direction = this.direction === "vertical" ? {
1489
+ scroll: "scrollTop",
1490
+ start: "top"
1491
+ } : {
1492
+ scroll: "scrollLeft",
1493
+ start: "left"
1494
+ };
1495
+ let viewport;
1496
+ let scrollDirection;
1497
+ let scrollDistance;
1498
+ if (this.pageMode) {
1499
+ const viewportEl = getScrollParent(this.$el);
1500
+ const scrollTop = viewportEl.tagName === "HTML" ? 0 : viewportEl[direction.scroll];
1501
+ const bounds = viewportEl.getBoundingClientRect();
1502
+ const scrollerPosition = this.$el.getBoundingClientRect()[direction.start] - bounds[direction.start];
1503
+ viewport = viewportEl;
1504
+ scrollDirection = direction.scroll;
1505
+ scrollDistance = position + scrollTop + scrollerPosition;
1506
+ } else {
1507
+ viewport = this.$el;
1508
+ scrollDirection = direction.scroll;
1509
+ scrollDistance = position;
1510
+ }
1511
+ viewport[scrollDirection] = scrollDistance;
1512
+ },
1513
+ itemsLimitError() {
1514
+ setTimeout(() => {
1515
+ console.log("It seems the scroller element isn't scrolling, so it tries to render all the items at once.", "Scroller:", this.$el);
1516
+ console.log("Make sure the scroller has a fixed height (or width) and 'overflow-y' (or 'overflow-x') set to 'auto' so it can scroll correctly and only render the items visible in the scroll viewport.");
1517
+ });
1518
+ throw new Error("Rendered items limit reached");
1519
+ },
1520
+ sortViews() {
1521
+ this.pool.sort((viewA, viewB) => viewA.nr.index - viewB.nr.index);
1522
+ }
1523
+ }
1524
+ };
1525
+ _hoisted_1 = {
1526
+ key: 0,
1527
+ ref: "before",
1528
+ class: "vue-recycle-scroller__slot"
1529
+ };
1530
+ _hoisted_2 = {
1531
+ key: 1,
1532
+ ref: "after",
1533
+ class: "vue-recycle-scroller__slot"
1534
+ };
1535
+ script$2$1.render = render$1;
1536
+ script$2$1.__file = "src/components/RecycleScroller.vue";
1537
+ _export("c", script$1 = {
1538
+ name: "DynamicScroller",
1539
+ components: {
1540
+ RecycleScroller: script$2$1
1541
+ },
1542
+ provide() {
1543
+ if (typeof ResizeObserver !== "undefined") this.$_resizeObserver = new ResizeObserver(entries => {
1544
+ requestAnimationFrame(() => {
1545
+ if (!Array.isArray(entries)) return;
1546
+ for (const entry of entries) if (entry.target && entry.target.$_vs_onResize) {
1547
+ let width, height;
1548
+ if (entry.borderBoxSize) {
1549
+ const resizeObserverSize = entry.borderBoxSize[0];
1550
+ width = resizeObserverSize.inlineSize;
1551
+ height = resizeObserverSize.blockSize;
1552
+ } else {
1553
+ width = entry.contentRect.width;
1554
+ height = entry.contentRect.height;
1555
+ }
1556
+ entry.target.$_vs_onResize(entry.target.$_vs_id, width, height);
1557
+ }
1558
+ });
1559
+ });
1560
+ return {
1561
+ vscrollData: this.vscrollData,
1562
+ vscrollParent: this,
1563
+ vscrollResizeObserver: this.$_resizeObserver
1564
+ };
1565
+ },
1566
+ inheritAttrs: false,
1567
+ props: {
1568
+ ...props,
1569
+ minItemSize: {
1570
+ type: [Number, String],
1571
+ required: true
1572
+ }
1573
+ },
1574
+ emits: ["resize", "visible"],
1575
+ data() {
1576
+ return {
1577
+ vscrollData: {
1578
+ active: true,
1579
+ sizes: {},
1580
+ keyField: this.keyField,
1581
+ simpleArray: false
1582
+ }
1583
+ };
1584
+ },
1585
+ computed: {
1586
+ simpleArray,
1587
+ itemsWithSize() {
1588
+ const result = [];
1589
+ const {
1590
+ items,
1591
+ keyField,
1592
+ simpleArray: simpleArray$1
1593
+ } = this;
1594
+ const sizes = this.vscrollData.sizes;
1595
+ const l = items.length;
1596
+ for (let i = 0; i < l; i++) {
1597
+ const item = items[i];
1598
+ const id = simpleArray$1 ? i : item[keyField];
1599
+ let size = sizes[id];
1600
+ if (typeof size === "undefined" && !this.$_undefinedMap[id]) size = 0;
1601
+ result.push({
1602
+ item,
1603
+ id,
1604
+ size
1605
+ });
1606
+ }
1607
+ return result;
1608
+ }
1609
+ },
1610
+ watch: {
1611
+ items() {
1612
+ this.forceUpdate();
1613
+ },
1614
+ simpleArray: {
1615
+ handler(value) {
1616
+ this.vscrollData.simpleArray = value;
1617
+ },
1618
+ immediate: true
1619
+ },
1620
+ direction(value) {
1621
+ this.forceUpdate(true);
1622
+ },
1623
+ itemsWithSize(next, prev) {
1624
+ const scrollTop = this.$el.scrollTop;
1625
+ let prevActiveTop = 0;
1626
+ let activeTop = 0;
1627
+ const length = Math.min(next.length, prev.length);
1628
+ for (let i = 0; i < length; i++) {
1629
+ if (prevActiveTop >= scrollTop) break;
1630
+ prevActiveTop += prev[i].size || this.minItemSize;
1631
+ activeTop += next[i].size || this.minItemSize;
1632
+ }
1633
+ const offset = activeTop - prevActiveTop;
1634
+ if (offset === 0) return;
1635
+ this.$el.scrollTop += offset;
1636
+ }
1637
+ },
1638
+ beforeCreate() {
1639
+ this.$_updates = [];
1640
+ this.$_undefinedSizes = 0;
1641
+ this.$_undefinedMap = {};
1642
+ this.$_events = mitt_es_default();
1643
+ },
1644
+ activated() {
1645
+ this.vscrollData.active = true;
1646
+ },
1647
+ deactivated() {
1648
+ this.vscrollData.active = false;
1649
+ },
1650
+ unmounted() {
1651
+ this.$_events.all.clear();
1652
+ },
1653
+ methods: {
1654
+ onScrollerResize() {
1655
+ if (this.$refs.scroller) this.forceUpdate();
1656
+ this.$emit("resize");
1657
+ },
1658
+ onScrollerVisible() {
1659
+ this.$_events.emit("vscroll:update", {
1660
+ force: false
1661
+ });
1662
+ this.$emit("visible");
1663
+ },
1664
+ forceUpdate(clear = false) {
1665
+ if (clear || this.simpleArray) this.vscrollData.sizes = {};
1666
+ this.$_events.emit("vscroll:update", {
1667
+ force: true
1668
+ });
1669
+ },
1670
+ scrollToItem(index) {
1671
+ const scroller = this.$refs.scroller;
1672
+ if (scroller) scroller.scrollToItem(index);
1673
+ },
1674
+ getItemSize(item, index = void 0) {
1675
+ const id = this.simpleArray ? index != null ? index : this.items.indexOf(item) : item[this.keyField];
1676
+ return this.vscrollData.sizes[id] || 0;
1677
+ },
1678
+ scrollToBottom() {
1679
+ if (this.$_scrollingToBottom) return;
1680
+ this.$_scrollingToBottom = true;
1681
+ const el = this.$el;
1682
+ this.$nextTick(() => {
1683
+ el.scrollTop = el.scrollHeight + 5e3;
1684
+ const cb = () => {
1685
+ el.scrollTop = el.scrollHeight + 5e3;
1686
+ requestAnimationFrame(() => {
1687
+ el.scrollTop = el.scrollHeight + 5e3;
1688
+ if (this.$_undefinedSizes === 0) this.$_scrollingToBottom = false;else requestAnimationFrame(cb);
1689
+ });
1690
+ };
1691
+ requestAnimationFrame(cb);
1692
+ });
1693
+ }
1694
+ }
1695
+ });
1696
+ script$1.render = render;
1697
+ script$1.__file = "src/components/DynamicScroller.vue";
1698
+ _export("s", script = {
1699
+ name: "DynamicScrollerItem",
1700
+ inject: ["vscrollData", "vscrollParent", "vscrollResizeObserver"],
1701
+ props: {
1702
+ item: {
1703
+ required: true
1704
+ },
1705
+ watchData: {
1706
+ type: Boolean,
1707
+ default: false
1708
+ },
1709
+ active: {
1710
+ type: Boolean,
1711
+ required: true
1712
+ },
1713
+ index: {
1714
+ type: Number,
1715
+ default: void 0
1716
+ },
1717
+ sizeDependencies: {
1718
+ type: [Array, Object],
1719
+ default: null
1720
+ },
1721
+ emitResize: {
1722
+ type: Boolean,
1723
+ default: false
1724
+ },
1725
+ tag: {
1726
+ type: String,
1727
+ default: "div"
1728
+ }
1729
+ },
1730
+ emits: ["resize"],
1731
+ computed: {
1732
+ id() {
1733
+ if (this.vscrollData.simpleArray) return this.index;
1734
+ if (this.vscrollData.keyField in this.item) return this.item[this.vscrollData.keyField];
1735
+ throw new Error(`keyField '${this.vscrollData.keyField}' not found in your item. You should set a valid keyField prop on your Scroller`);
1736
+ },
1737
+ size() {
1738
+ return this.vscrollData.sizes[this.id] || 0;
1739
+ },
1740
+ finalActive() {
1741
+ return this.active && this.vscrollData.active;
1742
+ }
1743
+ },
1744
+ watch: {
1745
+ watchData: "updateWatchData",
1746
+ id(value, oldValue) {
1747
+ this.$el.$_vs_id = this.id;
1748
+ if (!this.size) this.onDataUpdate();
1749
+ if (this.$_sizeObserved) {
1750
+ const oldSize = this.vscrollData.sizes[oldValue];
1751
+ const size = this.vscrollData.sizes[value];
1752
+ if (oldSize != null && oldSize !== size) this.applySize(oldSize);
1753
+ }
1754
+ },
1755
+ finalActive(value) {
1756
+ if (!this.size) {
1757
+ if (value) {
1758
+ if (!this.vscrollParent.$_undefinedMap[this.id]) {
1759
+ this.vscrollParent.$_undefinedSizes++;
1760
+ this.vscrollParent.$_undefinedMap[this.id] = true;
1761
+ }
1762
+ } else if (this.vscrollParent.$_undefinedMap[this.id]) {
1763
+ this.vscrollParent.$_undefinedSizes--;
1764
+ this.vscrollParent.$_undefinedMap[this.id] = false;
1765
+ }
1766
+ }
1767
+ if (this.vscrollResizeObserver) {
1768
+ if (value) this.observeSize();else this.unobserveSize();
1769
+ } else if (value && this.$_pendingVScrollUpdate === this.id) this.updateSize();
1770
+ }
1771
+ },
1772
+ created() {
1773
+ if (this.$isServer) return;
1774
+ this.$_forceNextVScrollUpdate = null;
1775
+ this.updateWatchData();
1776
+ if (!this.vscrollResizeObserver) {
1777
+ for (const k in this.sizeDependencies) this.$watch(() => this.sizeDependencies[k], this.onDataUpdate);
1778
+ this.vscrollParent.$_events.on("vscroll:update", this.onVscrollUpdate);
1779
+ }
1780
+ },
1781
+ mounted() {
1782
+ if (this.finalActive) {
1783
+ this.updateSize();
1784
+ this.observeSize();
1785
+ }
1786
+ },
1787
+ beforeUnmount() {
1788
+ this.vscrollParent.$_events.off("vscroll:update", this.onVscrollUpdate);
1789
+ this.unobserveSize();
1790
+ },
1791
+ methods: {
1792
+ updateSize() {
1793
+ if (this.finalActive) {
1794
+ if (this.$_pendingSizeUpdate !== this.id) {
1795
+ this.$_pendingSizeUpdate = this.id;
1796
+ this.$_forceNextVScrollUpdate = null;
1797
+ this.$_pendingVScrollUpdate = null;
1798
+ this.computeSize(this.id);
1799
+ }
1800
+ } else this.$_forceNextVScrollUpdate = this.id;
1801
+ },
1802
+ updateWatchData() {
1803
+ if (this.watchData && !this.vscrollResizeObserver) this.$_watchData = this.$watch("item", () => {
1804
+ this.onDataUpdate();
1805
+ }, {
1806
+ deep: true
1807
+ });else if (this.$_watchData) {
1808
+ this.$_watchData();
1809
+ this.$_watchData = null;
1810
+ }
1811
+ },
1812
+ onVscrollUpdate({
1813
+ force
1814
+ }) {
1815
+ if (!this.finalActive && force) this.$_pendingVScrollUpdate = this.id;
1816
+ if (this.$_forceNextVScrollUpdate === this.id || force || !this.size) this.updateSize();
1817
+ },
1818
+ onDataUpdate() {
1819
+ this.updateSize();
1820
+ },
1821
+ computeSize(id) {
1822
+ this.$nextTick(() => {
1823
+ if (this.id === id) {
1824
+ const width = this.$el.offsetWidth;
1825
+ const height = this.$el.offsetHeight;
1826
+ this.applyWidthHeight(width, height);
1827
+ }
1828
+ this.$_pendingSizeUpdate = null;
1829
+ });
1830
+ },
1831
+ applyWidthHeight(width, height) {
1832
+ const size = ~~(this.vscrollParent.direction === "vertical" ? height : width);
1833
+ if (size && this.size !== size) this.applySize(size);
1834
+ },
1835
+ applySize(size) {
1836
+ if (this.vscrollParent.$_undefinedMap[this.id]) {
1837
+ this.vscrollParent.$_undefinedSizes--;
1838
+ this.vscrollParent.$_undefinedMap[this.id] = void 0;
1839
+ }
1840
+ this.vscrollData.sizes[this.id] = size;
1841
+ if (this.emitResize) this.$emit("resize", this.id);
1842
+ },
1843
+ observeSize() {
1844
+ if (!this.vscrollResizeObserver) return;
1845
+ if (this.$_sizeObserved) return;
1846
+ this.vscrollResizeObserver.observe(this.$el);
1847
+ this.$el.$_vs_id = this.id;
1848
+ this.$el.$_vs_onResize = this.onResize;
1849
+ this.$_sizeObserved = true;
1850
+ },
1851
+ unobserveSize() {
1852
+ if (!this.vscrollResizeObserver) return;
1853
+ if (!this.$_sizeObserved) return;
1854
+ this.vscrollResizeObserver.unobserve(this.$el);
1855
+ this.$el.$_vs_onResize = void 0;
1856
+ this.$_sizeObserved = false;
1857
+ },
1858
+ onResize(id, width, height) {
1859
+ if (this.id === id) this.applyWidthHeight(width, height);
1860
+ }
1861
+ },
1862
+ render() {
1863
+ return h(this.tag, this.$slots.default());
1864
+ }
1865
+ });
1866
+ script.__file = "src/components/DynamicScrollerItem.vue";
1867
+ estimateNumberOfTokens = (item, averageTokenLength) => {
1868
+ if (typeof item === "object") return Math.ceil(JSON.stringify(item).length / averageTokenLength);
1869
+ return 0;
1870
+ };
1871
+ calculateRemainingTokens = error => {
1872
+ const tokens = error.message.match(/\d+/g);
1873
+ if (!tokens || tokens.length < 2) throw error;
1874
+ const maxTokens = parseInt(tokens[0], 10);
1875
+ return parseInt(tokens[1], 10) - maxTokens;
1876
+ };
1877
+ trimParentNodesSchema = (payload, remainingTokensToReduce, averageTokenLength) => {
1878
+ let parentNodesTokenCount = estimateNumberOfTokens(payload.context.schema, averageTokenLength);
1879
+ if (remainingTokensToReduce > parentNodesTokenCount) {
1880
+ remainingTokensToReduce -= parentNodesTokenCount;
1881
+ payload.context.schema = [];
1882
+ }
1883
+ if (payload.context.schema.length) {
1884
+ const nodes = [...payload.context.schema];
1885
+ for (let nodeIndex = 0; nodeIndex < nodes.length; nodeIndex++) {
1886
+ if (payload.question.includes(nodes[nodeIndex].nodeName)) continue;
1887
+ const nodeTokens = estimateNumberOfTokens(nodes[nodeIndex], averageTokenLength);
1888
+ remainingTokensToReduce -= nodeTokens;
1889
+ parentNodesTokenCount -= nodeTokens;
1890
+ payload.context.schema.splice(nodeIndex, 1);
1891
+ if (remainingTokensToReduce <= 0) break;
1892
+ }
1893
+ }
1894
+ return [remainingTokensToReduce, parentNodesTokenCount];
1895
+ };
1896
+ trimInputSchemaProperties = (payload, remainingTokensToReduce, averageTokenLength, parentNodesTokenCount) => {
1897
+ if (remainingTokensToReduce <= 0) return remainingTokensToReduce;
1898
+ if (Array.isArray(payload.context.inputSchema.schema.value)) {
1899
+ const props$1 = [...payload.context.inputSchema.schema.value];
1900
+ for (let index = 0; index < props$1.length; index++) {
1901
+ const key = props$1[index].key;
1902
+ if (key && payload.question.includes(key)) continue;
1903
+ const propTokens = estimateNumberOfTokens(props$1[index], averageTokenLength);
1904
+ remainingTokensToReduce -= propTokens;
1905
+ payload.context.inputSchema.schema.value.splice(index, 1);
1906
+ if (remainingTokensToReduce <= 0) break;
1907
+ }
1908
+ }
1909
+ if (remainingTokensToReduce > 0) {
1910
+ payload.context.schema = [];
1911
+ remainingTokensToReduce -= parentNodesTokenCount;
1912
+ }
1913
+ return remainingTokensToReduce;
1914
+ };
1915
+ getRowIndex = (textareaY, lineHeight) => {
1916
+ const rowHeight = parseInt(lineHeight, 10);
1917
+ const snapPosition = textareaY - rowHeight / 2 - 1;
1918
+ return Math.floor(snapPosition / rowHeight);
1919
+ };
1920
+ getColumnIndex = (rowText, textareaX, font) => {
1921
+ const span = document.createElement("span");
1922
+ span.style.font = font;
1923
+ span.style.visibility = "hidden";
1924
+ span.style.position = "absolute";
1925
+ span.style.whiteSpace = "pre";
1926
+ document.body.appendChild(span);
1927
+ let left = 0;
1928
+ let right = rowText.length;
1929
+ let col = 0;
1930
+ while (left <= right) {
1931
+ const mid = Math.floor((left + right) / 2);
1932
+ span.textContent = rowText.substring(0, mid);
1933
+ if (span.getBoundingClientRect().width <= textareaX) {
1934
+ col = mid;
1935
+ left = mid + 1;
1936
+ } else right = mid - 1;
1937
+ }
1938
+ document.body.removeChild(span);
1939
+ return rowText.length === col ? col : col - 1;
1940
+ };
1941
+ NODE_TEST_STEP_POPUP_COUNT_KEY = "N8N_NODE_TEST_STEP_POPUP_COUNT";
1942
+ MAX_POPUP_COUNT = 10;
1943
+ POPUP_UPDATE_DELAY = 3e3;
1944
+ NodeExecuteButton_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */defineComponent({
1945
+ inheritAttrs: false,
1946
+ __name: "NodeExecuteButton",
1947
+ props: {
1948
+ nodeName: {},
1949
+ telemetrySource: {},
1950
+ disabled: {
1951
+ type: Boolean,
1952
+ default: false
1953
+ },
1954
+ label: {},
1955
+ type: {},
1956
+ size: {},
1957
+ icon: {},
1958
+ square: {
1959
+ type: Boolean,
1960
+ default: false
1961
+ },
1962
+ transparent: {
1963
+ type: Boolean,
1964
+ default: false
1965
+ },
1966
+ hideIcon: {
1967
+ type: Boolean
1968
+ },
1969
+ hideLabel: {
1970
+ type: Boolean
1971
+ },
1972
+ tooltip: {},
1973
+ tooltipPlacement: {},
1974
+ showLoadingSpinner: {
1975
+ type: Boolean,
1976
+ default: true
1977
+ }
1978
+ },
1979
+ emits: ["stopExecution", "execute", "valueChanged"],
1980
+ setup(__props, {
1981
+ emit: __emit
1982
+ }) {
1983
+ const props$1 = __props;
1984
+ const emit = __emit;
1985
+ const slots = useSlots();
1986
+ const lastPopupCountUpdate = ref(0);
1987
+ const codeGenerationInProgress = ref(false);
1988
+ const {
1989
+ runWorkflow,
1990
+ stopCurrentExecution
1991
+ } = useRunWorkflow({
1992
+ router: useRouter()
1993
+ });
1994
+ const workflowsStore = useWorkflowsStore();
1995
+ const workflowState = injectWorkflowState();
1996
+ const externalHooks = useExternalHooks();
1997
+ const toast = useToast();
1998
+ const ndvStore = useNDVStore();
1999
+ const nodeTypesStore = useNodeTypesStore();
2000
+ const i18n = useI18n();
2001
+ const message = useMessage();
2002
+ const telemetry = useTelemetry();
2003
+ const uiStore = useUIStore();
2004
+ const node = computed(() => workflowsStore.getNodeByName(props$1.nodeName));
2005
+ const pinnedData = usePinnedData(node);
2006
+ const nodeType = computed(() => {
2007
+ return node.value ? nodeTypesStore.getNodeType(node.value.type, node.value.typeVersion) : null;
2008
+ });
2009
+ const isNodeRunning = computed(() => {
2010
+ if (!workflowsStore.isWorkflowRunning || codeGenerationInProgress.value) return false;
2011
+ const triggeredNode = workflowsStore.executedNode;
2012
+ return workflowState.executingNode.isNodeExecuting(node.value?.name ?? "") || triggeredNode === node.value?.name;
2013
+ });
2014
+ const isTriggerNode = computed(() => {
2015
+ return node.value ? nodeTypesStore.isTriggerNode(node.value.type) : false;
2016
+ });
2017
+ const isManualTriggerNode = computed(() => nodeType.value ? nodeType.value.name === MANUAL_TRIGGER_NODE_TYPE : false);
2018
+ const isChatNode = computed(() => nodeType.value ? nodeType.value.name === CHAT_TRIGGER_NODE_TYPE : false);
2019
+ const isChatChild = computed(() => workflowsStore.checkIfNodeHasChatParent(props$1.nodeName));
2020
+ const isFormTriggerNode = computed(() => nodeType.value ? nodeType.value.name === FORM_TRIGGER_NODE_TYPE : false);
2021
+ const isPollingTypeNode = computed(() => !!nodeType.value?.polling);
2022
+ const isScheduleTrigger = computed(() => !!nodeType.value?.group.includes("schedule"));
2023
+ const isWebhookNode = computed(() => nodeType.value ? nodeType.value.name === WEBHOOK_NODE_TYPE : false);
2024
+ const isListeningForEvents = computed(() => {
2025
+ const waitingOnWebhook = workflowsStore.executionWaitingForWebhook;
2026
+ const executedNode = workflowsStore.executedNode;
2027
+ return !!node.value && !node.value.disabled && isTriggerNode.value && waitingOnWebhook && (!executedNode || executedNode === props$1.nodeName);
2028
+ });
2029
+ const isListeningForWorkflowEvents = computed(() => {
2030
+ return isNodeRunning.value && isTriggerNode.value && !isScheduleTrigger.value && !isManualTriggerNode.value;
2031
+ });
2032
+ const hasIssues = computed(() => Boolean(node.value?.issues && (node.value.issues.parameters || node.value.issues.credentials)));
2033
+ const disabledHint = computed(() => {
2034
+ if (isListeningForEvents.value) return "";
2035
+ if (codeGenerationInProgress.value) return i18n.baseText("ndv.execute.generatingCode");
2036
+ if (node?.value?.disabled) return i18n.baseText("ndv.execute.nodeIsDisabled");
2037
+ if (isTriggerNode.value && hasIssues.value) {
2038
+ const activeNode = ndvStore.activeNode;
2039
+ if (activeNode && activeNode.name !== props$1.nodeName) return i18n.baseText("ndv.execute.fixPrevious");
2040
+ return i18n.baseText("ndv.execute.requiredFieldsMissing");
2041
+ }
2042
+ if (workflowsStore.isWorkflowRunning && !isNodeRunning.value) return i18n.baseText("ndv.execute.workflowAlreadyRunning");
2043
+ return "";
2044
+ });
2045
+ const tooltipText = computed(() => {
2046
+ if (shouldGenerateCode.value) return i18n.baseText("ndv.execute.generateCodeAndTestNode.description");
2047
+ if (disabledHint.value) return disabledHint.value;
2048
+ if (props$1.tooltip && !isLoading.value && testStepButtonPopupCount() < MAX_POPUP_COUNT) return props$1.tooltip;
2049
+ return "";
2050
+ });
2051
+ const buttonLabel = computed(() => {
2052
+ if (props$1.hideLabel) return "";
2053
+ if (isListeningForEvents.value || isListeningForWorkflowEvents.value) return i18n.baseText("ndv.execute.stopListening");
2054
+ if (props$1.label) return props$1.label;
2055
+ if (isChatNode.value) return i18n.baseText("ndv.execute.testChat");
2056
+ if (isWebhookNode.value) return i18n.baseText("ndv.execute.listenForTestEvent");
2057
+ if (isFormTriggerNode.value) return i18n.baseText("ndv.execute.testStep");
2058
+ if (isPollingTypeNode.value || nodeType.value?.mockManualExecution) return i18n.baseText("ndv.execute.fetchEvent");
2059
+ return i18n.baseText("ndv.execute.testNode");
2060
+ });
2061
+ const isLoading = computed(() => codeGenerationInProgress.value || isNodeRunning.value && !isListeningForEvents.value && !isListeningForWorkflowEvents.value);
2062
+ const buttonIcon = computed(() => {
2063
+ if (props$1.icon) return props$1.icon;
2064
+ if (shouldGenerateCode.value) return "terminal";
2065
+ if (!isListeningForEvents.value && !props$1.hideIcon) return "flask-conical";
2066
+ });
2067
+ const shouldGenerateCode = computed(() => {
2068
+ if (node.value?.type !== "n8n-nodes-base.aiTransform") return false;
2069
+ if (!node.value?.parameters?.instructions) return false;
2070
+ if (!node.value?.parameters?.jsCode) return true;
2071
+ if (node.value?.parameters["codeGeneratedForPrompt"] && (node.value?.parameters?.instructions).trim() !== (node.value?.parameters?.["codeGeneratedForPrompt"]).trim()) return true;
2072
+ return false;
2073
+ });
2074
+ async function stopWaitingForWebhook() {
2075
+ try {
2076
+ await workflowsStore.removeTestWebhook(workflowsStore.workflowId);
2077
+ } catch (error) {
2078
+ toast.showError(error, "Error stopping webhook");
2079
+ }
2080
+ }
2081
+ function testStepButtonPopupCount() {
2082
+ return Number(localStorage.getItem(NODE_TEST_STEP_POPUP_COUNT_KEY));
2083
+ }
2084
+ function onMouseOver() {
2085
+ const count = testStepButtonPopupCount();
2086
+ if (count < MAX_POPUP_COUNT && !disabledHint.value && tooltipText.value) {
2087
+ const now = Date.now();
2088
+ if (!lastPopupCountUpdate.value || now - lastPopupCountUpdate.value >= POPUP_UPDATE_DELAY) {
2089
+ localStorage.setItem(NODE_TEST_STEP_POPUP_COUNT_KEY, `${count + 1}`);
2090
+ lastPopupCountUpdate.value = now;
2091
+ }
2092
+ }
2093
+ }
2094
+ async function onClick() {
2095
+ if (shouldGenerateCode.value) {
2096
+ codeGenerationInProgress.value = true;
2097
+ try {
2098
+ toast.showMessage({
2099
+ title: i18n.baseText("ndv.execute.generateCode.title"),
2100
+ message: i18n.baseText("ndv.execute.generateCode.message", {
2101
+ interpolate: {
2102
+ nodeName: node.value?.name
2103
+ }
2104
+ }),
2105
+ type: "success"
2106
+ });
2107
+ const prompt$1 = node.value?.parameters?.instructions;
2108
+ const updateInformation = await generateCodeForAiTransform(prompt$1, `parameters.${AI_TRANSFORM_JS_CODE}`, 5);
2109
+ if (!updateInformation) return;
2110
+ emit("valueChanged", updateInformation);
2111
+ emit("valueChanged", {
2112
+ name: `parameters.${AI_TRANSFORM_CODE_GENERATED_FOR_PROMPT}`,
2113
+ value: prompt$1
2114
+ });
2115
+ useTelemetry().trackAiTransform("generationFinished", {
2116
+ prompt: prompt$1,
2117
+ code: updateInformation.value
2118
+ });
2119
+ } catch (error) {
2120
+ useTelemetry().trackAiTransform("generationFinished", {
2121
+ prompt,
2122
+ code: "",
2123
+ hasError: true
2124
+ });
2125
+ toast.showMessage({
2126
+ type: "error",
2127
+ title: i18n.baseText("codeNodeEditor.askAi.generationFailed"),
2128
+ message: error.message
2129
+ });
2130
+ }
2131
+ codeGenerationInProgress.value = false;
2132
+ }
2133
+ if (isChatNode.value || isChatChild.value && ndvStore.isInputPanelEmpty) {
2134
+ ndvStore.unsetActiveNodeName();
2135
+ workflowsStore.chatPartialExecutionDestinationNode = props$1.nodeName;
2136
+ nodeViewEventBus.emit("openChat");
2137
+ } else if (isListeningForEvents.value) await stopWaitingForWebhook();else if (isListeningForWorkflowEvents.value) {
2138
+ await stopCurrentExecution();
2139
+ emit("stopExecution");
2140
+ } else {
2141
+ let shouldUnpinAndExecute = false;
2142
+ if (pinnedData.hasData.value) {
2143
+ shouldUnpinAndExecute = (await message.confirm(i18n.baseText("ndv.pinData.unpinAndExecute.description"), i18n.baseText("ndv.pinData.unpinAndExecute.title"), {
2144
+ confirmButtonText: i18n.baseText("ndv.pinData.unpinAndExecute.confirm"),
2145
+ cancelButtonText: i18n.baseText("ndv.pinData.unpinAndExecute.cancel")
2146
+ })) === MODAL_CONFIRM;
2147
+ if (shouldUnpinAndExecute && node.value) pinnedData.unsetData("unpin-and-execute-modal");
2148
+ }
2149
+ if (!pinnedData.hasData.value || shouldUnpinAndExecute) if (node.value && needsAgentInput(node.value)) uiStore.openModalWithData({
2150
+ name: FROM_AI_PARAMETERS_MODAL_KEY,
2151
+ data: {
2152
+ nodeName: props$1.nodeName
2153
+ }
2154
+ });else {
2155
+ const telemetryPayload = {
2156
+ node_type: nodeType.value ? nodeType.value.name : null,
2157
+ workflow_id: workflowsStore.workflowId,
2158
+ source: props$1.telemetrySource,
2159
+ push_ref: ndvStore.pushRef
2160
+ };
2161
+ telemetry.track("User clicked execute node button", telemetryPayload);
2162
+ await externalHooks.run("nodeExecuteButton.onClick", telemetryPayload);
2163
+ await runWorkflow({
2164
+ destinationNode: props$1.nodeName,
2165
+ source: "RunData.ExecuteNodeButton"
2166
+ });
2167
+ emit("execute");
2168
+ }
2169
+ }
2170
+ }
2171
+ return (_ctx, _cache) => {
2172
+ return openBlock(), createBlock(unref(N8nTooltip_default), {
2173
+ placement: _ctx.tooltipPlacement ?? "right",
2174
+ disabled: !tooltipText.value && !slots.persistentTooltipContent,
2175
+ visible: slots.persistentTooltipContent ? true : void 0
2176
+ }, {
2177
+ content: withCtx(() => [renderSlot(_ctx.$slots, "persistentTooltipContent", {}, () => [createTextVNode(toDisplayString(tooltipText.value), 1)])]),
2178
+ default: withCtx(() => [createVNode(unref(N8nButton_default), mergeProps(_ctx.$attrs, {
2179
+ loading: isLoading.value && _ctx.showLoadingSpinner,
2180
+ disabled: _ctx.disabled || !!disabledHint.value || isLoading.value && !_ctx.showLoadingSpinner,
2181
+ label: buttonLabel.value,
2182
+ type: _ctx.type,
2183
+ size: _ctx.size,
2184
+ icon: buttonIcon.value,
2185
+ square: _ctx.square,
2186
+ "transparent-background": _ctx.transparent,
2187
+ title: !isTriggerNode.value && !tooltipText.value ? unref(i18n).baseText("ndv.execute.testNode.description") : "",
2188
+ onMouseover: onMouseOver,
2189
+ onClick
2190
+ }), null, 16, ["loading", "disabled", "label", "type", "size", "icon", "square", "transparent-background", "title"])]),
2191
+ _: 3
2192
+ }, 8, ["placement", "disabled", "visible"]);
2193
+ };
2194
+ }
2195
+ }); //#endregion
2196
+ //#region src/app/components/NodeExecuteButton.vue
2197
+ _export("n", NodeExecuteButton_default = NodeExecuteButton_vue_vue_type_script_setup_true_lang_default); //#endregion
2198
+ //#region src/features/ndv/runData/components/VirtualSchema.vue?vue&type=script&setup=true&lang.ts
2199
+ import_pick = /* @__PURE__ */__toESM(require_pick());
2200
+ VirtualSchema_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */defineComponent({
2201
+ __name: "VirtualSchema",
2202
+ props: {
2203
+ nodes: {
2204
+ default: () => []
2205
+ },
2206
+ node: {
2207
+ default: null
2208
+ },
2209
+ data: {
2210
+ default: () => []
2211
+ },
2212
+ mappingEnabled: {
2213
+ type: Boolean,
2214
+ default: false
2215
+ },
2216
+ paneType: {},
2217
+ connectionType: {
2218
+ default: NodeConnectionTypes.Main
2219
+ },
2220
+ search: {
2221
+ default: ""
2222
+ },
2223
+ compact: {
2224
+ type: Boolean,
2225
+ default: false
2226
+ },
2227
+ outputIndex: {
2228
+ default: void 0
2229
+ },
2230
+ previewExecution: {
2231
+ default: void 0
2232
+ },
2233
+ truncateLimit: {
2234
+ default: 600
2235
+ }
2236
+ },
2237
+ emits: ["clear:search", "execute"],
2238
+ setup(__props, {
2239
+ emit: __emit
2240
+ }) {
2241
+ const props$1 = __props;
2242
+ const telemetry = useTelemetry();
2243
+ const telemetryContext = useTelemetryContext();
2244
+ const i18n = useI18n();
2245
+ const ndvStore = useNDVStore();
2246
+ const nodeTypesStore = useNodeTypesStore();
2247
+ const workflowsStore = useWorkflowsStore();
2248
+ const schemaPreviewStore = useSchemaPreviewStore();
2249
+ const environmentsStore = environments_store_default();
2250
+ const settingsStore = useSettingsStore();
2251
+ const {
2252
+ getSchemaForExecutionData,
2253
+ getSchemaForJsonSchema,
2254
+ getSchema,
2255
+ filterSchema
2256
+ } = useDataSchema();
2257
+ const {
2258
+ closedNodes,
2259
+ flattenSchema,
2260
+ flattenMultipleSchemas,
2261
+ toggleNode
2262
+ } = useFlattenSchema();
2263
+ const {
2264
+ getNodeInputData,
2265
+ getLastRunIndexWithData,
2266
+ hasNodeExecuted
2267
+ } = useNodeHelpers();
2268
+ const emit = __emit;
2269
+ const scroller = ref();
2270
+ const closedNodesBeforeSearch = ref(/* @__PURE__ */new Set());
2271
+ const canDraggableDrop = computed(() => ndvStore.canDraggableDrop);
2272
+ const draggableStickyPosition = computed(() => ndvStore.draggableStickyPos);
2273
+ const toggleNodeExclusiveAndScrollTop = id => {
2274
+ if (closedNodes.value.has(id)) closedNodes.value = new Set(items.value.map(item => item.id));
2275
+ toggleNode(id);
2276
+ scroller.value?.scrollToItem(0);
2277
+ };
2278
+ const getNodeSchema = async (fullNode, connectedNode) => {
2279
+ const pinData = workflowsStore.pinDataByNodeName(connectedNode.name);
2280
+ const isNodeExecuted = (pinData ? pinData.length > 0 : false) || hasNodeExecuted(connectedNode.name);
2281
+ const previewExecutionData = !isNodeExecuted && props$1.previewExecution ? props$1.previewExecution.data : void 0;
2282
+ const connectedOutputIndexes = connectedNode.indicies.length > 0 ? connectedNode.indicies : [0];
2283
+ const connectedOutputsWithData = connectedOutputIndexes.map(outputIndex => ({
2284
+ outputIndex,
2285
+ runIndex: getLastRunIndexWithData(fullNode.name, outputIndex, props$1.connectionType, previewExecutionData)
2286
+ })).filter(({
2287
+ runIndex
2288
+ }) => runIndex !== -1);
2289
+ let filteredOutputsWithData = connectedOutputsWithData;
2290
+ if (props$1.outputIndex !== void 0 && connectedOutputIndexes.length > 1 && connectedOutputIndexes.includes(props$1.outputIndex)) filteredOutputsWithData = connectedOutputsWithData.filter(({
2291
+ outputIndex
2292
+ }) => outputIndex === props$1.outputIndex);
2293
+ const nodeData = filteredOutputsWithData.map(({
2294
+ outputIndex,
2295
+ runIndex
2296
+ }) => {
2297
+ return getNodeInputData(fullNode, runIndex, outputIndex, props$1.paneType, props$1.connectionType, previewExecutionData);
2298
+ }).flat();
2299
+ const hasBinary = nodeData.some(data$1 => !isEmpty(data$1.binary));
2300
+ const data = pinData ?? executionDataToJson(nodeData);
2301
+ const isDataEmpty = data.length === 0 || data.length === 1 && Object.keys(data[0]).length === 0;
2302
+ let schema = getSchemaForExecutionData(data);
2303
+ const lastSuccessfulPreview = !isDataEmpty && Boolean(previewExecutionData);
2304
+ let preview = lastSuccessfulPreview;
2305
+ if (isDataEmpty && !preview) {
2306
+ const previewSchema = await getSchemaPreview(fullNode);
2307
+ if (previewSchema.ok) {
2308
+ schema = getSchemaForJsonSchema(previewSchema.result);
2309
+ preview = true;
2310
+ }
2311
+ }
2312
+ return {
2313
+ schema,
2314
+ connectedOutputIndexes,
2315
+ itemsCount: !isDataEmpty ? data.length : 0,
2316
+ runIndex: connectedOutputsWithData[0]?.runIndex ?? 0,
2317
+ preview,
2318
+ lastSuccessfulPreview,
2319
+ hasBinary,
2320
+ isNodeExecuted,
2321
+ isDataEmpty
2322
+ };
2323
+ };
2324
+ const isVariablesEnabled = computed(() => settingsStore.isEnterpriseFeatureEnabled[EnterpriseEditionFeature.Variables]);
2325
+ const contextSchema = computed(() => {
2326
+ const $vars = environmentsStore.variablesAsObject;
2327
+ return filterSchema(getSchema({
2328
+ $now: DateTime.now().toISO(),
2329
+ $today: DateTime.now().set({
2330
+ hour: 0,
2331
+ minute: 0,
2332
+ second: 0,
2333
+ millisecond: 0
2334
+ }).toISO(),
2335
+ $vars,
2336
+ $execution: {
2337
+ id: PLACEHOLDER_FILLED_AT_EXECUTION_TIME,
2338
+ mode: "test",
2339
+ resumeUrl: i18n.baseText("dataMapping.schemaView.execution.resumeUrl")
2340
+ },
2341
+ $workflow: (0, import_pick.default)(workflowsStore.workflow, ["id", "name", "active"])
2342
+ }), props$1.search);
2343
+ });
2344
+ const contextItems = computed(() => {
2345
+ const header = {
2346
+ id: "variables",
2347
+ type: "header",
2348
+ title: i18n.baseText("dataMapping.schemaView.variablesContextTitle"),
2349
+ collapsable: true,
2350
+ itemCount: null
2351
+ };
2352
+ if (closedNodes.value.has(header.id)) return [header];
2353
+ const schema = contextSchema.value;
2354
+ if (!schema) return [];
2355
+ const fields = flattenSchema({
2356
+ schema,
2357
+ depth: 1,
2358
+ isDataEmpty: false,
2359
+ truncateLimit: props$1.truncateLimit
2360
+ }).flatMap(renderItem => {
2361
+ if (renderItem.type === "item" && renderItem.depth === 1 && renderItem.title === "$vars") {
2362
+ const isVarsOpen = !closedNodes.value.has(renderItem.id);
2363
+ if (!isVariablesEnabled.value) {
2364
+ renderItem.collapsable = false;
2365
+ renderItem.locked = true;
2366
+ renderItem.lockedTooltip = i18n.baseText("dataMapping.schemaView.variablesUpgrade");
2367
+ return renderItem;
2368
+ }
2369
+ if (isVarsOpen && environmentsStore.scopedVariables.length === 0) return [renderItem, {
2370
+ type: "notice",
2371
+ id: "notice-variablesEmpty",
2372
+ level: renderItem.level ?? 0,
2373
+ message: i18n.baseText("dataMapping.schemaView.variablesEmpty")
2374
+ }];
2375
+ }
2376
+ return renderItem;
2377
+ });
2378
+ return [header].concat(fields);
2379
+ });
2380
+ const nodeSchema = computedAsync(async () => {
2381
+ const search = props$1.search;
2382
+ if (props$1.data.length === 0) {
2383
+ const previewSchema = await getSchemaPreview(props$1.node);
2384
+ if (previewSchema.ok) return filterSchema(getSchemaForJsonSchema(previewSchema.result), search);
2385
+ }
2386
+ return filterSchema(getSchemaForExecutionData(props$1.data), search);
2387
+ }, null);
2388
+ async function getSchemaPreview(node) {
2389
+ if (!node) return createResultError(/* @__PURE__ */new Error());
2390
+ const {
2391
+ type,
2392
+ typeVersion,
2393
+ parameters: {
2394
+ resource,
2395
+ operation
2396
+ }
2397
+ } = node;
2398
+ return await schemaPreviewStore.getSchemaPreview({
2399
+ nodeType: type,
2400
+ version: typeVersion,
2401
+ resource,
2402
+ operation
2403
+ });
2404
+ }
2405
+ const nodesSchemas = computedAsync(async () => {
2406
+ const result = [];
2407
+ const search = props$1.search;
2408
+ for (const node of props$1.nodes) {
2409
+ const fullNode = workflowsStore.getNodeByName(node.name);
2410
+ if (!fullNode) continue;
2411
+ const nodeType = nodeTypesStore.getNodeType(fullNode.type, fullNode.typeVersion);
2412
+ if (!nodeType) continue;
2413
+ const {
2414
+ schema,
2415
+ connectedOutputIndexes,
2416
+ itemsCount,
2417
+ preview,
2418
+ hasBinary,
2419
+ isNodeExecuted,
2420
+ isDataEmpty,
2421
+ runIndex,
2422
+ lastSuccessfulPreview
2423
+ } = await getNodeSchema(fullNode, node);
2424
+ const filteredSchema = filterSchema(schema, search);
2425
+ if (!filteredSchema) continue;
2426
+ result.push({
2427
+ node: fullNode,
2428
+ connectedOutputIndexes,
2429
+ depth: node.depth,
2430
+ itemsCount,
2431
+ nodeType,
2432
+ schema: filteredSchema,
2433
+ preview,
2434
+ hasBinary,
2435
+ isNodeExecuted,
2436
+ isDataEmpty,
2437
+ runIndex,
2438
+ lastSuccessfulPreview
2439
+ });
2440
+ }
2441
+ return result;
2442
+ }, []);
2443
+ const nodeAdditionalInfo = node => {
2444
+ const returnData = [];
2445
+ if (node.disabled) returnData.push(i18n.baseText("node.disabled"));
2446
+ const connections = ndvStore.ndvNodeInputNumber[node.name];
2447
+ if (connections) if (connections.length === 1) returnData.push(`Input ${connections}`);else returnData.push(`Inputs ${connections.join(", ")}`);
2448
+ return returnData.length ? `(${returnData.join(" | ")})` : "";
2449
+ };
2450
+ const flattenedNodes = computed(() => flattenMultipleSchemas(nodesSchemas.value, nodeAdditionalInfo, props$1.truncateLimit));
2451
+ const flattenNodeSchema = computed(() => nodeSchema.value ? flattenSchema({
2452
+ schema: nodeSchema.value,
2453
+ depth: 0,
2454
+ level: -1,
2455
+ isDataEmpty: props$1.data.length === 0,
2456
+ truncateLimit: props$1.truncateLimit
2457
+ }) : []);
2458
+ /**
2459
+ * In debug mode nodes are empty
2460
+ */
2461
+ const isDebugging = computed(() => !props$1.nodes.length);
2462
+ const items = computed(() => {
2463
+ if (isDebugging.value || props$1.paneType === "output") return flattenNodeSchema.value;
2464
+ return flattenedNodes.value.concat(contextItems.value);
2465
+ });
2466
+ const noSearchResults = computed(() => {
2467
+ return Boolean(props$1.search.trim()) && !items.value.length;
2468
+ });
2469
+ watch(() => Boolean(props$1.search), hasSearch => {
2470
+ if (hasSearch) {
2471
+ closedNodesBeforeSearch.value = new Set(closedNodes.value);
2472
+ closedNodes.value.clear();
2473
+ } else if (closedNodes.value.size === 0) closedNodes.value = closedNodesBeforeSearch.value;
2474
+ });
2475
+ const unwatchItems = watch(items, newItems => {
2476
+ if (newItems.length < 2) return;
2477
+ closedNodes.value = new Set(newItems.filter(item => item.type === "header").slice(1).map(item => item.id));
2478
+ unwatchItems();
2479
+ });
2480
+ const onDragStart = (el, data) => {
2481
+ ndvStore.draggableStartDragging({
2482
+ type: "mapping",
2483
+ data: data ?? "",
2484
+ dimensions: el?.getBoundingClientRect() ?? null
2485
+ });
2486
+ ndvStore.resetMappingTelemetry();
2487
+ };
2488
+ const onDragEnd = el => {
2489
+ ndvStore.draggableStopDragging();
2490
+ setTimeout(() => {
2491
+ const mappingTelemetry = ndvStore.mappingTelemetry;
2492
+ const parentNode = nodesSchemas.value.find(({
2493
+ node
2494
+ }) => node.name === el.dataset.nodeName);
2495
+ const isPreview = parentNode?.preview ?? false;
2496
+ const hasCredential = !isEmpty(parentNode?.node.credentials);
2497
+ const runIndex = Number(el.dataset.runIndex);
2498
+ const telemetryPayload = {
2499
+ src_node_type: el.dataset.nodeType,
2500
+ src_field_name: el.dataset.name ?? "",
2501
+ src_nodes_back: el.dataset.depth,
2502
+ src_run_index: runIndex,
2503
+ src_runs_total: runIndex,
2504
+ src_field_nest_level: el.dataset.level ?? 0,
2505
+ src_view: isPreview ? "schema_preview" : "schema",
2506
+ src_has_credential: hasCredential,
2507
+ src_element: el,
2508
+ success: false,
2509
+ view_shown: telemetryContext.view_shown,
2510
+ ...mappingTelemetry
2511
+ };
2512
+ useExternalHooks().run("runDataJson.onDragEnd", telemetryPayload);
2513
+ telemetry.track("User dragged data for mapping", telemetryPayload);
2514
+ }, 250);
2515
+ };
2516
+ return (_ctx, _cache) => {
2517
+ const _directive_n8n_html = resolveDirective("n8n-html");
2518
+ return openBlock(), createElementBlock("div", {
2519
+ class: normalizeClass(["run-data-schema", "full-height", {
2520
+ compact: props$1.compact,
2521
+ "no-search-results": noSearchResults.value
2522
+ }])
2523
+ }, [noSearchResults.value ? (openBlock(), createBlock(NDVEmptyState_default, {
2524
+ key: 0,
2525
+ title: unref(i18n).baseText("ndv.search.noNodeMatch.title")
2526
+ }, {
2527
+ default: withCtx(() => [createVNode(unref(I18nT), {
2528
+ keypath: "ndv.search.noMatchSchema.description",
2529
+ tag: "span",
2530
+ scope: "global"
2531
+ }, {
2532
+ link: withCtx(() => [createBaseVNode("a", {
2533
+ href: "#",
2534
+ onClick: _cache[0] || (_cache[0] = withModifiers($event => emit("clear:search"), ["prevent"]))
2535
+ }, toDisplayString(unref(i18n).baseText("ndv.search.noMatchSchema.description.link")), 1)]),
2536
+ _: 1
2537
+ })]),
2538
+ _: 1
2539
+ }, 8, ["title"])) : createCommentVNode("", true), items.value.length ? (openBlock(), createBlock(Draggable_default, {
2540
+ key: 1,
2541
+ class: "full-height",
2542
+ type: "mapping",
2543
+ "target-data-key": "mappable",
2544
+ disabled: !_ctx.mappingEnabled,
2545
+ "can-drop": canDraggableDrop.value,
2546
+ "sticky-position": draggableStickyPosition.value,
2547
+ onDragstart: onDragStart,
2548
+ onDragend: onDragEnd
2549
+ }, {
2550
+ preview: withCtx(({
2551
+ canDrop,
2552
+ el
2553
+ }) => [el ? (openBlock(), createBlock(MappingPill_default, {
2554
+ key: 0,
2555
+ html: el.outerHTML,
2556
+ "can-drop": canDrop
2557
+ }, null, 8, ["html", "can-drop"])) : createCommentVNode("", true)]),
2558
+ default: withCtx(() => [createVNode(unref(script$1), {
2559
+ ref_key: "scroller",
2560
+ ref: scroller,
2561
+ items: items.value,
2562
+ "min-item-size": 38,
2563
+ class: "full-height scroller"
2564
+ }, {
2565
+ default: withCtx(({
2566
+ item,
2567
+ index,
2568
+ active
2569
+ }) => [createVNode(unref(script), {
2570
+ item,
2571
+ active,
2572
+ "size-dependencies": [item],
2573
+ "data-index": index
2574
+ }, {
2575
+ default: withCtx(() => [item.type === "header" ? (openBlock(), createBlock(VirtualSchemaHeader_default, mergeProps({
2576
+ key: 0
2577
+ }, item, {
2578
+ collapsed: unref(closedNodes).has(item.id),
2579
+ "onClick:toggle": $event => unref(toggleNode)(item.id),
2580
+ onClick: $event => toggleNodeExclusiveAndScrollTop(item.id),
2581
+ onExecute: _cache[1] || (_cache[1] = nodeName => emit("execute", nodeName))
2582
+ }), null, 16, ["collapsed", "onClick:toggle", "onClick"])) : item.type === "item" ? (openBlock(), createBlock(VirtualSchemaItem_default, mergeProps({
2583
+ key: 1
2584
+ }, item, {
2585
+ search: _ctx.search,
2586
+ draggable: _ctx.mappingEnabled,
2587
+ collapsed: unref(closedNodes).has(item.id),
2588
+ highlight: unref(ndvStore).highlightDraggables,
2589
+ onClick: $event => unref(toggleNode)(item.id)
2590
+ }), null, 16, ["search", "draggable", "collapsed", "highlight", "onClick"])) : item.type === "icon" ? (openBlock(), createBlock(unref(N8nTooltip_default), {
2591
+ key: 2,
2592
+ content: item.tooltip,
2593
+ placement: "top"
2594
+ }, {
2595
+ default: withCtx(() => [createVNode(unref(N8nIcon_default), {
2596
+ size: "small",
2597
+ icon: item.icon,
2598
+ class: "icon"
2599
+ }, null, 8, ["icon"])]),
2600
+ _: 2
2601
+ }, 1032, ["content"])) : item.type === "notice" ? withDirectives((openBlock(), createElementBlock("div", {
2602
+ key: 3,
2603
+ class: "notice",
2604
+ style: normalizeStyle({
2605
+ "--schema-level": item.level
2606
+ })
2607
+ }, null, 4)), [[_directive_n8n_html, item.message]]) : item.type === "empty" ? (openBlock(), createElementBlock("div", {
2608
+ key: 4,
2609
+ class: "empty-schema",
2610
+ style: normalizeStyle({
2611
+ "--schema-level": item.level
2612
+ })
2613
+ }, [createVNode(unref(N8nText_default), {
2614
+ tag: "div",
2615
+ size: "small"
2616
+ }, {
2617
+ default: withCtx(() => [item.key === "executeSchema" ? (openBlock(), createBlock(unref(I18nT), {
2618
+ key: 0,
2619
+ tag: "span",
2620
+ keypath: "dataMapping.schemaView.executeSchema",
2621
+ scope: "global"
2622
+ }, {
2623
+ link: withCtx(() => [unref(ndvStore).activeNodeName ? (openBlock(), createBlock(NodeExecuteButton_default, {
2624
+ key: 0,
2625
+ "node-name": unref(ndvStore).activeNodeName,
2626
+ label: unref(i18n).baseText("ndv.input.noOutputData.executePrevious"),
2627
+ "telemetry-source": "inputs",
2628
+ size: "small",
2629
+ type: "secondary",
2630
+ "hide-icon": ""
2631
+ }, null, 8, ["node-name", "label"])) : createCommentVNode("", true)]),
2632
+ _: 1
2633
+ })) : (openBlock(), createBlock(unref(I18nT), {
2634
+ key: 1,
2635
+ tag: "span",
2636
+ keypath: `dataMapping.schemaView.${item.key}`,
2637
+ scope: "global"
2638
+ }, null, 8, ["keypath"]))]),
2639
+ _: 2
2640
+ }, 1024)], 4)) : createCommentVNode("", true)]),
2641
+ _: 2
2642
+ }, 1032, ["item", "active", "size-dependencies", "data-index"])]),
2643
+ _: 1
2644
+ }, 8, ["items"])]),
2645
+ _: 1
2646
+ }, 8, ["disabled", "can-drop", "sticky-position"])) : createCommentVNode("", true)], 2);
2647
+ };
2648
+ }
2649
+ }); //#endregion
2650
+ //#region src/features/ndv/runData/components/VirtualSchema.vue
2651
+ _export("t", VirtualSchema_default = /* @__PURE__ */__plugin_vue_export_helper_default(VirtualSchema_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-691f689b"]])); //#endregion
2652
+ }
2653
+ };
2654
+ });
2655
+ })();