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,2811 @@
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", "./ParameterInputList-legacy-pcN7bYH4.js", "./col-legacy-Bhm60Oe3.js", "./useTelemetry-legacy-Bu_8SoSm.js", "./useToast-legacy-CIRx5txg.js", "./constants-legacy-CLA25gM9.js", "./assistant.store-legacy-Dk3PMmMU.js", "./useDebounce-legacy-D-CoXkwk.js", "./useExternalHooks-legacy-DAJrb39U.js", "./nodeCreator.store-legacy-CjrGX9Lm.js", "./nodeIcon-legacy-DD6sIN5e.js", "./useClipboard-legacy-CF0IG1Mu.js", "./NodeIcon-legacy-BHX1t3Oi.js", "./dataTable.store-legacy-BKpQb7Gy.js", "./CommunityNodeUpdateInfo-legacy-CffmFLEi.js", "./VirtualSchema-legacy-BT94K3Qg.js", "./useActions-legacy-B8B-O_ET.js"], function (_export, _context) {
4
+ "use strict";
5
+
6
+ var __toESM, computed, createElementBlock, createCommentVNode, getCurrentInstance, nextTick, unref, ref, onBeforeUnmount, h, createVNode, defineComponent, reactive, toDisplayString, createBlock, toValue, onMounted, Fragment, normalizeClass, watch, renderSlot, withCtx, openBlock, withModifiers, renderList, createTextVNode, useTemplateRef, vShow, useSlots, createBaseVNode, withDirectives, normalizeStyle, useElementSize, isClient, noop, isIOS, useResizeObserver, toRef, directiveHooks, notNullish, I18nT, isVue2, toValue$1, onClickOutside, useI18n, useThrottleFn, tryOnScopeDispose, isObject, useDebounceFn, tryOnMounted, N8nNotice_default, N8nCallout_default, N8nText_default, N8nButton_default, N8nBlockUi_default, N8nIconButton_default, N8nInlineTextEdit_default, N8nTabs_default, N8nTooltip_default, N8nRadioButtons_default, N8nIcon_default, ElCollapseTransition, __plugin_vue_export_helper_default, require_get, useRoute, TitledList_default, useNodeCredentialOptions, collectParametersByTab, collectSettings, getNodeSettingsInitialValues, createCommonNodeSettings, ParameterInputList_default, useNodeSettingsParameters, nameIsParameter, NodeCredentials_default, ElRow, ElCol, useSettingsStore, useHistoryStore, importCurlEventBus, useProjectsStore, useCredentialsStore, RenameNodeCommand, useUIStore, ProjectTypes, COMMUNITY_NODES_INSTALLATION_DOCS_URL, injectWorkflowState, COMMUNITY_PACKAGE_INSTALL_MODAL_KEY, useNDVStore, useUsersStore, useActionsGenerator, useWorkflowHelpers, useWorkflowsStore, useNodeTypesStore, useTelemetry, removePreviewToken, useNodeHelpers, useToast, deepCopy, CUSTOM_API_CALL_KEY, CHAT_TRIGGER_NODE_TYPE, FORM_TRIGGER_NODE_TYPE, isCommunityPackageName, getNodeInputs, BASE_NODE_SURVEY_URL, NodeConnectionTypes, OPEN_URL_PANEL_TRIGGER_NODE_TYPES, CUSTOM_NODES_DOCS_URL, VIEWS, PRODUCTION_ONLY_TRIGGER_NODE_TYPES, DATA_TABLE_NODES, BUILTIN_NODES_DOCS_URL, NPM_PACKAGE_DOCS_BASE_URL, OPEN_AI_API_CREDENTIAL_TYPE, getNodeParameters, MCP_TRIGGER_NODE_TYPE, ndvEventBus, useDebounce, useExternalHooks, useNodeCreatorStore, getNodeIconSource, useClipboard, NodeIcon_default, useDataTableStore, useInstallNode, useInstalledCommunityPackage, CommunityNodeFooter_default, ContactAdministratorToInstall_default, CommunityNodeUpdateInfo_default, NodeExecuteButton_default, useActions, __vite_style__, _hoisted_1$6, LANGCHAIN_NODES_PREFIX, N8N_NODES_PREFIX, FreeAiCreditsCallout_vue_vue_type_script_setup_true_lang_default, FreeAiCreditsCallout_default, OnClickOutside, defaultWindow, _iOSWorkaround, vOnClickOutside, vOnKeyStroke, DEFAULT_DELAY, DEFAULT_THRESHOLD, vOnLongPress, vElementHover, vElementSize, vElementVisibility, ARRIVED_STATE_THRESHOLD_PIXELS, vInfiniteScroll, vIntersectionObserver, vScroll, elInitialOverflow, vScrollLock, _hoisted_1$5, _hoisted_2$4, _hoisted_3$2, _hoisted_4$2, _hoisted_5$2, _hoisted_6$1, NDVSubConnections_vue_vue_type_script_setup_true_lang_default, container$1, connections, connectionType, connectionLabel, hasIssues, connectedNodesWrapper, plusButton, connectedNodesWrapperExpanded, connectedNodesMultiple, connectedNode, connectedNodes, nodeWrapper, NDVSubConnections_vue_vue_type_style_index_0_lang_module_default, cssModules$6, NDVSubConnections_default, useNodeDocsUrl, NodeSettingsTabs_vue_vue_type_script_setup_true_lang_default, NodeSettingsTabs_default, NodeSettingsHeader_vue_vue_type_script_setup_true_lang_default, header$1, execute, tabs, NodeSettingsHeader_vue_vue_type_style_index_0_lang_module_default, cssModules$5, NodeSettingsHeader_default, _hoisted_1$4, _hoisted_2$3, _hoisted_3$1, _hoisted_4$1, _hoisted_5$1, _hoisted_6, _hoisted_7, _hoisted_8, _hoisted_9, _hoisted_10, _hoisted_11, _hoisted_12, NodeWebhooks_vue_vue_type_script_setup_true_lang_default, NodeWebhooks_default, ExperimentalEmbeddedNdvHeader_vue_vue_type_script_setup_true_lang_default, component$1, title, disabled, titleText, subTitleText, tabsContainer, ExperimentalEmbeddedNdvHeader_vue_vue_type_style_index_0_lang_module_default, cssModules$4, ExperimentalEmbeddedNdvHeader_default, _hoisted_1$3, NodeActionsList_vue_vue_type_script_setup_true_lang_default, component, label, option, selected, optionText, NodeActionsList_vue_vue_type_style_index_0_lang_module_default, cssModules$3, NodeActionsList_default, _hoisted_1$2, _hoisted_2$2, NodeSettingsInvalidNodeWarning_vue_vue_type_script_setup_true_lang_default, communityNodeActionsContainer, nodeIsNotValid, warningIcon, descriptionContainer, NodeSettingsInvalidNodeWarning_vue_vue_type_style_index_0_lang_module_default, cssModules$2, NodeSettingsInvalidNodeWarning_default, _hoisted_1$1, _hoisted_2$1, NodeStorageLimitCallout_vue_vue_type_script_setup_true_lang_default, NodeStorageLimitCallout_default, NodeTitle_vue_vue_type_script_setup_true_lang_default, container, textWrapper, iconWrapper, NodeTitle_vue_vue_type_style_index_0_lang_module_default, cssModules$1, NodeTitle_default, import_get, _hoisted_1, _hoisted_2, _hoisted_3, _hoisted_4, _hoisted_5, NodeSettings_vue_vue_type_script_setup_true_lang_default, header, featureRequest, NodeSettings_vue_vue_type_style_index_0_lang_module_default, cssModules, NodeSettings_default;
7
+ function unrefElement(elRef) {
8
+ var _a;
9
+ const plain = toValue$1(elRef);
10
+ return (_a = plain == null ? void 0 : plain.$el) != null ? _a : plain;
11
+ }
12
+ function useEventListener(...args) {
13
+ let target;
14
+ let events;
15
+ let listeners;
16
+ let options;
17
+ if (typeof args[0] === "string" || Array.isArray(args[0])) {
18
+ [events, listeners, options] = args;
19
+ target = defaultWindow;
20
+ } else [target, events, listeners, options] = args;
21
+ if (!target) return noop;
22
+ if (!Array.isArray(events)) events = [events];
23
+ if (!Array.isArray(listeners)) listeners = [listeners];
24
+ const cleanups = [];
25
+ const cleanup = () => {
26
+ cleanups.forEach(fn => fn());
27
+ cleanups.length = 0;
28
+ };
29
+ const register = (el, event, listener, options2) => {
30
+ el.addEventListener(event, listener, options2);
31
+ return () => el.removeEventListener(event, listener, options2);
32
+ };
33
+ const stopWatch = watch(() => [unrefElement(target), toValue$1(options)], ([el, options2]) => {
34
+ cleanup();
35
+ if (!el) return;
36
+ const optionsClone = isObject(options2) ? {
37
+ ...options2
38
+ } : options2;
39
+ cleanups.push(...events.flatMap(event => {
40
+ return listeners.map(listener => register(el, event, listener, optionsClone));
41
+ }));
42
+ }, {
43
+ immediate: true,
44
+ flush: "post"
45
+ });
46
+ const stop = () => {
47
+ stopWatch();
48
+ cleanup();
49
+ };
50
+ tryOnScopeDispose(stop);
51
+ return stop;
52
+ }
53
+ function onClickOutside$1(target, handler, options = {}) {
54
+ const {
55
+ window: window$1 = defaultWindow,
56
+ ignore = [],
57
+ capture = true,
58
+ detectIframe = false
59
+ } = options;
60
+ if (!window$1) return noop;
61
+ if (isIOS && !_iOSWorkaround) {
62
+ _iOSWorkaround = true;
63
+ Array.from(window$1.document.body.children).forEach(el => el.addEventListener("click", noop));
64
+ window$1.document.documentElement.addEventListener("click", noop);
65
+ }
66
+ let shouldListen = true;
67
+ const shouldIgnore = event => {
68
+ return ignore.some(target2 => {
69
+ if (typeof target2 === "string") return Array.from(window$1.document.querySelectorAll(target2)).some(el => el === event.target || event.composedPath().includes(el));else {
70
+ const el = unrefElement(target2);
71
+ return el && (event.target === el || event.composedPath().includes(el));
72
+ }
73
+ });
74
+ };
75
+ const listener = event => {
76
+ const el = unrefElement(target);
77
+ if (!el || el === event.target || event.composedPath().includes(el)) return;
78
+ if (event.detail === 0) shouldListen = !shouldIgnore(event);
79
+ if (!shouldListen) {
80
+ shouldListen = true;
81
+ return;
82
+ }
83
+ handler(event);
84
+ };
85
+ const cleanup = [useEventListener(window$1, "click", listener, {
86
+ passive: true,
87
+ capture
88
+ }), useEventListener(window$1, "pointerdown", e => {
89
+ const el = unrefElement(target);
90
+ shouldListen = !shouldIgnore(e) && !!(el && !e.composedPath().includes(el));
91
+ }, {
92
+ passive: true
93
+ }), detectIframe && useEventListener(window$1, "blur", event => {
94
+ setTimeout(() => {
95
+ var _a;
96
+ const el = unrefElement(target);
97
+ if (((_a = window$1.document.activeElement) == null ? void 0 : _a.tagName) === "IFRAME" && !(el == null ? void 0 : el.contains(window$1.document.activeElement))) handler(event);
98
+ }, 0);
99
+ })].filter(Boolean);
100
+ const stop = () => cleanup.forEach(fn => fn());
101
+ return stop;
102
+ }
103
+ function createKeyPredicate(keyFilter) {
104
+ if (typeof keyFilter === "function") return keyFilter;else if (typeof keyFilter === "string") return event => event.key === keyFilter;else if (Array.isArray(keyFilter)) return event => keyFilter.includes(event.key);
105
+ return () => true;
106
+ }
107
+ function onKeyStroke(...args) {
108
+ let key;
109
+ let handler;
110
+ let options = {};
111
+ if (args.length === 3) {
112
+ key = args[0];
113
+ handler = args[1];
114
+ options = args[2];
115
+ } else if (args.length === 2) {
116
+ if (typeof args[1] === "object") {
117
+ key = true;
118
+ handler = args[0];
119
+ options = args[1];
120
+ } else {
121
+ key = args[0];
122
+ handler = args[1];
123
+ }
124
+ } else {
125
+ key = true;
126
+ handler = args[0];
127
+ }
128
+ const {
129
+ target = defaultWindow,
130
+ eventName = "keydown",
131
+ passive = false,
132
+ dedupe = false
133
+ } = options;
134
+ const predicate = createKeyPredicate(key);
135
+ const listener = e => {
136
+ if (e.repeat && toValue$1(dedupe)) return;
137
+ if (predicate(e)) handler(e);
138
+ };
139
+ return useEventListener(target, eventName, listener, passive);
140
+ }
141
+ function onLongPress(target, handler, options) {
142
+ var _a, _b;
143
+ const elementRef = computed(() => unrefElement(target));
144
+ let timeout;
145
+ let posStart;
146
+ let startTimestamp;
147
+ let hasLongPressed = false;
148
+ function clear() {
149
+ if (timeout) {
150
+ clearTimeout(timeout);
151
+ timeout = void 0;
152
+ }
153
+ posStart = void 0;
154
+ startTimestamp = void 0;
155
+ hasLongPressed = false;
156
+ }
157
+ function onRelease(ev) {
158
+ var _a2, _b2, _c;
159
+ const [_startTimestamp, _posStart, _hasLongPressed] = [startTimestamp, posStart, hasLongPressed];
160
+ clear();
161
+ if (!(options == null ? void 0 : options.onMouseUp) || !_posStart || !_startTimestamp) return;
162
+ if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value) return;
163
+ if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent) ev.preventDefault();
164
+ if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop) ev.stopPropagation();
165
+ const dx = ev.x - _posStart.x;
166
+ const dy = ev.y - _posStart.y;
167
+ const distance = Math.sqrt(dx * dx + dy * dy);
168
+ options.onMouseUp(ev.timeStamp - _startTimestamp, distance, _hasLongPressed);
169
+ }
170
+ function onDown(ev) {
171
+ var _a2, _b2, _c, _d;
172
+ if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value) return;
173
+ clear();
174
+ if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent) ev.preventDefault();
175
+ if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop) ev.stopPropagation();
176
+ posStart = {
177
+ x: ev.x,
178
+ y: ev.y
179
+ };
180
+ startTimestamp = ev.timeStamp;
181
+ timeout = setTimeout(() => {
182
+ hasLongPressed = true;
183
+ handler(ev);
184
+ }, (_d = options == null ? void 0 : options.delay) != null ? _d : DEFAULT_DELAY);
185
+ }
186
+ function onMove(ev) {
187
+ var _a2, _b2, _c, _d;
188
+ if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value) return;
189
+ if (!posStart || (options == null ? void 0 : options.distanceThreshold) === false) return;
190
+ if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent) ev.preventDefault();
191
+ if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop) ev.stopPropagation();
192
+ const dx = ev.x - posStart.x;
193
+ const dy = ev.y - posStart.y;
194
+ if (Math.sqrt(dx * dx + dy * dy) >= ((_d = options == null ? void 0 : options.distanceThreshold) != null ? _d : DEFAULT_THRESHOLD)) clear();
195
+ }
196
+ const listenerOptions = {
197
+ capture: (_a = options == null ? void 0 : options.modifiers) == null ? void 0 : _a.capture,
198
+ once: (_b = options == null ? void 0 : options.modifiers) == null ? void 0 : _b.once
199
+ };
200
+ const cleanup = [useEventListener(elementRef, "pointerdown", onDown, listenerOptions), useEventListener(elementRef, "pointermove", onMove, listenerOptions), useEventListener(elementRef, ["pointerup", "pointerleave"], onRelease, listenerOptions)];
201
+ const stop = () => cleanup.forEach(fn => fn());
202
+ return stop;
203
+ }
204
+ function useMounted() {
205
+ const isMounted = ref(false);
206
+ const instance = getCurrentInstance();
207
+ if (instance) onMounted(() => {
208
+ isMounted.value = true;
209
+ }, false ? void 0 : instance);
210
+ return isMounted;
211
+ }
212
+ function useSupported(callback) {
213
+ const isMounted = useMounted();
214
+ return computed(() => {
215
+ isMounted.value;
216
+ return Boolean(callback());
217
+ });
218
+ }
219
+ function useElementHover(el, options = {}) {
220
+ const {
221
+ delayEnter = 0,
222
+ delayLeave = 0,
223
+ window: window$1 = defaultWindow
224
+ } = options;
225
+ const isHovered = ref(false);
226
+ let timer;
227
+ const toggle = entering => {
228
+ const delay = entering ? delayEnter : delayLeave;
229
+ if (timer) {
230
+ clearTimeout(timer);
231
+ timer = void 0;
232
+ }
233
+ if (delay) timer = setTimeout(() => isHovered.value = entering, delay);else isHovered.value = entering;
234
+ };
235
+ if (!window$1) return isHovered;
236
+ useEventListener(el, "mouseenter", () => toggle(true), {
237
+ passive: true
238
+ });
239
+ useEventListener(el, "mouseleave", () => toggle(false), {
240
+ passive: true
241
+ });
242
+ return isHovered;
243
+ }
244
+ function useResizeObserver$1(target, callback, options = {}) {
245
+ const {
246
+ window: window$1 = defaultWindow,
247
+ ...observerOptions
248
+ } = options;
249
+ let observer;
250
+ const isSupported = useSupported(() => window$1 && "ResizeObserver" in window$1);
251
+ const cleanup = () => {
252
+ if (observer) {
253
+ observer.disconnect();
254
+ observer = void 0;
255
+ }
256
+ };
257
+ const stopWatch = watch(computed(() => Array.isArray(target) ? target.map(el => unrefElement(el)) : [unrefElement(target)]), els => {
258
+ cleanup();
259
+ if (isSupported.value && window$1) {
260
+ observer = new ResizeObserver(callback);
261
+ for (const _el of els) _el && observer.observe(_el, observerOptions);
262
+ }
263
+ }, {
264
+ immediate: true,
265
+ flush: "post"
266
+ });
267
+ const stop = () => {
268
+ cleanup();
269
+ stopWatch();
270
+ };
271
+ tryOnScopeDispose(stop);
272
+ return {
273
+ isSupported,
274
+ stop
275
+ };
276
+ }
277
+ function useElementSize$1(target, initialSize = {
278
+ width: 0,
279
+ height: 0
280
+ }, options = {}) {
281
+ const {
282
+ window: window$1 = defaultWindow,
283
+ box = "content-box"
284
+ } = options;
285
+ const isSVG = computed(() => {
286
+ var _a, _b;
287
+ return (_b = (_a = unrefElement(target)) == null ? void 0 : _a.namespaceURI) == null ? void 0 : _b.includes("svg");
288
+ });
289
+ const width = ref(initialSize.width);
290
+ const height = ref(initialSize.height);
291
+ const {
292
+ stop: stop1
293
+ } = useResizeObserver$1(target, ([entry]) => {
294
+ const boxSize = box === "border-box" ? entry.borderBoxSize : box === "content-box" ? entry.contentBoxSize : entry.devicePixelContentBoxSize;
295
+ if (window$1 && isSVG.value) {
296
+ const $elem = unrefElement(target);
297
+ if ($elem) {
298
+ const rect = $elem.getBoundingClientRect();
299
+ width.value = rect.width;
300
+ height.value = rect.height;
301
+ }
302
+ } else if (boxSize) {
303
+ const formatBoxSize = Array.isArray(boxSize) ? boxSize : [boxSize];
304
+ width.value = formatBoxSize.reduce((acc, {
305
+ inlineSize
306
+ }) => acc + inlineSize, 0);
307
+ height.value = formatBoxSize.reduce((acc, {
308
+ blockSize
309
+ }) => acc + blockSize, 0);
310
+ } else {
311
+ width.value = entry.contentRect.width;
312
+ height.value = entry.contentRect.height;
313
+ }
314
+ }, options);
315
+ tryOnMounted(() => {
316
+ const ele = unrefElement(target);
317
+ if (ele) {
318
+ width.value = "offsetWidth" in ele ? ele.offsetWidth : initialSize.width;
319
+ height.value = "offsetHeight" in ele ? ele.offsetHeight : initialSize.height;
320
+ }
321
+ });
322
+ const stop2 = watch(() => unrefElement(target), ele => {
323
+ width.value = ele ? initialSize.width : 0;
324
+ height.value = ele ? initialSize.height : 0;
325
+ });
326
+ function stop() {
327
+ stop1();
328
+ stop2();
329
+ }
330
+ return {
331
+ width,
332
+ height,
333
+ stop
334
+ };
335
+ }
336
+ function useIntersectionObserver(target, callback, options = {}) {
337
+ const {
338
+ root,
339
+ rootMargin = "0px",
340
+ threshold = .1,
341
+ window: window$1 = defaultWindow,
342
+ immediate = true
343
+ } = options;
344
+ const isSupported = useSupported(() => window$1 && "IntersectionObserver" in window$1);
345
+ const targets = computed(() => {
346
+ const _target = toValue$1(target);
347
+ return (Array.isArray(_target) ? _target : [_target]).map(unrefElement).filter(notNullish);
348
+ });
349
+ let cleanup = noop;
350
+ const isActive = ref(immediate);
351
+ const stopWatch = isSupported.value ? watch(() => [targets.value, unrefElement(root), isActive.value], ([targets2, root2]) => {
352
+ cleanup();
353
+ if (!isActive.value) return;
354
+ if (!targets2.length) return;
355
+ const observer = new IntersectionObserver(callback, {
356
+ root: unrefElement(root2),
357
+ rootMargin,
358
+ threshold
359
+ });
360
+ targets2.forEach(el => el && observer.observe(el));
361
+ cleanup = () => {
362
+ observer.disconnect();
363
+ cleanup = noop;
364
+ };
365
+ }, {
366
+ immediate,
367
+ flush: "post"
368
+ }) : noop;
369
+ const stop = () => {
370
+ cleanup();
371
+ stopWatch();
372
+ isActive.value = false;
373
+ };
374
+ tryOnScopeDispose(stop);
375
+ return {
376
+ isSupported,
377
+ isActive,
378
+ pause() {
379
+ cleanup();
380
+ isActive.value = false;
381
+ },
382
+ resume() {
383
+ isActive.value = true;
384
+ },
385
+ stop
386
+ };
387
+ }
388
+ function useElementVisibility$1(element, options = {}) {
389
+ const {
390
+ window: window$1 = defaultWindow,
391
+ scrollTarget,
392
+ threshold = 0
393
+ } = options;
394
+ const elementIsVisible = ref(false);
395
+ useIntersectionObserver(element, intersectionObserverEntries => {
396
+ let isIntersecting = elementIsVisible.value;
397
+ let latestTime = 0;
398
+ for (const entry of intersectionObserverEntries) if (entry.time >= latestTime) {
399
+ latestTime = entry.time;
400
+ isIntersecting = entry.isIntersecting;
401
+ }
402
+ elementIsVisible.value = isIntersecting;
403
+ }, {
404
+ root: scrollTarget,
405
+ window: window$1,
406
+ threshold
407
+ });
408
+ return elementIsVisible;
409
+ }
410
+ function useScroll(element, options = {}) {
411
+ const {
412
+ throttle = 0,
413
+ idle = 200,
414
+ onStop = noop,
415
+ onScroll = noop,
416
+ offset = {
417
+ left: 0,
418
+ right: 0,
419
+ top: 0,
420
+ bottom: 0
421
+ },
422
+ eventListenerOptions = {
423
+ capture: false,
424
+ passive: true
425
+ },
426
+ behavior = "auto",
427
+ window: window$1 = defaultWindow,
428
+ onError = e => {
429
+ console.error(e);
430
+ }
431
+ } = options;
432
+ const internalX = ref(0);
433
+ const internalY = ref(0);
434
+ const x = computed({
435
+ get() {
436
+ return internalX.value;
437
+ },
438
+ set(x2) {
439
+ scrollTo(x2, void 0);
440
+ }
441
+ });
442
+ const y = computed({
443
+ get() {
444
+ return internalY.value;
445
+ },
446
+ set(y2) {
447
+ scrollTo(void 0, y2);
448
+ }
449
+ });
450
+ function scrollTo(_x, _y) {
451
+ var _a, _b, _c, _d;
452
+ if (!window$1) return;
453
+ const _element = toValue$1(element);
454
+ if (!_element) return;
455
+ (_c = _element instanceof Document ? window$1.document.body : _element) == null || _c.scrollTo({
456
+ top: (_a = toValue$1(_y)) != null ? _a : y.value,
457
+ left: (_b = toValue$1(_x)) != null ? _b : x.value,
458
+ behavior: toValue$1(behavior)
459
+ });
460
+ const scrollContainer = ((_d = _element == null ? void 0 : _element.document) == null ? void 0 : _d.documentElement) || (_element == null ? void 0 : _element.documentElement) || _element;
461
+ if (x != null) internalX.value = scrollContainer.scrollLeft;
462
+ if (y != null) internalY.value = scrollContainer.scrollTop;
463
+ }
464
+ const isScrolling = ref(false);
465
+ const arrivedState = reactive({
466
+ left: true,
467
+ right: false,
468
+ top: true,
469
+ bottom: false
470
+ });
471
+ const directions = reactive({
472
+ left: false,
473
+ right: false,
474
+ top: false,
475
+ bottom: false
476
+ });
477
+ const onScrollEnd = e => {
478
+ if (!isScrolling.value) return;
479
+ isScrolling.value = false;
480
+ directions.left = false;
481
+ directions.right = false;
482
+ directions.top = false;
483
+ directions.bottom = false;
484
+ onStop(e);
485
+ };
486
+ const onScrollEndDebounced = useDebounceFn(onScrollEnd, throttle + idle);
487
+ const setArrivedState = target => {
488
+ var _a;
489
+ if (!window$1) return;
490
+ const el = ((_a = target == null ? void 0 : target.document) == null ? void 0 : _a.documentElement) || (target == null ? void 0 : target.documentElement) || unrefElement(target);
491
+ const {
492
+ display,
493
+ flexDirection
494
+ } = getComputedStyle(el);
495
+ const scrollLeft = el.scrollLeft;
496
+ directions.left = scrollLeft < internalX.value;
497
+ directions.right = scrollLeft > internalX.value;
498
+ const left = Math.abs(scrollLeft) <= (offset.left || 0);
499
+ const right = Math.abs(scrollLeft) + el.clientWidth >= el.scrollWidth - (offset.right || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;
500
+ if (display === "flex" && flexDirection === "row-reverse") {
501
+ arrivedState.left = right;
502
+ arrivedState.right = left;
503
+ } else {
504
+ arrivedState.left = left;
505
+ arrivedState.right = right;
506
+ }
507
+ internalX.value = scrollLeft;
508
+ let scrollTop = el.scrollTop;
509
+ if (target === window$1.document && !scrollTop) scrollTop = window$1.document.body.scrollTop;
510
+ directions.top = scrollTop < internalY.value;
511
+ directions.bottom = scrollTop > internalY.value;
512
+ const top = Math.abs(scrollTop) <= (offset.top || 0);
513
+ const bottom = Math.abs(scrollTop) + el.clientHeight >= el.scrollHeight - (offset.bottom || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;
514
+ if (display === "flex" && flexDirection === "column-reverse") {
515
+ arrivedState.top = bottom;
516
+ arrivedState.bottom = top;
517
+ } else {
518
+ arrivedState.top = top;
519
+ arrivedState.bottom = bottom;
520
+ }
521
+ internalY.value = scrollTop;
522
+ };
523
+ const onScrollHandler = e => {
524
+ var _a;
525
+ if (!window$1) return;
526
+ setArrivedState((_a = e.target.documentElement) != null ? _a : e.target);
527
+ isScrolling.value = true;
528
+ onScrollEndDebounced(e);
529
+ onScroll(e);
530
+ };
531
+ useEventListener(element, "scroll", throttle ? useThrottleFn(onScrollHandler, throttle, true, false) : onScrollHandler, eventListenerOptions);
532
+ tryOnMounted(() => {
533
+ try {
534
+ const _element = toValue$1(element);
535
+ if (!_element) return;
536
+ setArrivedState(_element);
537
+ } catch (e) {
538
+ onError(e);
539
+ }
540
+ });
541
+ useEventListener(element, "scrollend", onScrollEnd, eventListenerOptions);
542
+ return {
543
+ x,
544
+ y,
545
+ isScrolling,
546
+ arrivedState,
547
+ directions,
548
+ measure() {
549
+ const _element = toValue$1(element);
550
+ if (window$1 && _element) setArrivedState(_element);
551
+ }
552
+ };
553
+ }
554
+ function resolveElement(el) {
555
+ if (typeof Window !== "undefined" && el instanceof Window) return el.document.documentElement;
556
+ if (typeof Document !== "undefined" && el instanceof Document) return el.documentElement;
557
+ return el;
558
+ }
559
+ function useInfiniteScroll(element, onLoadMore, options = {}) {
560
+ var _a;
561
+ const {
562
+ direction = "bottom",
563
+ interval = 100,
564
+ canLoadMore = () => true
565
+ } = options;
566
+ const state = reactive(useScroll(element, {
567
+ ...options,
568
+ offset: {
569
+ [direction]: (_a = options.distance) != null ? _a : 0,
570
+ ...options.offset
571
+ }
572
+ }));
573
+ const promise = ref();
574
+ const isLoading = computed(() => !!promise.value);
575
+ const observedElement = computed(() => {
576
+ return resolveElement(toValue$1(element));
577
+ });
578
+ const isElementVisible = useElementVisibility$1(observedElement);
579
+ function checkAndLoad() {
580
+ state.measure();
581
+ if (!observedElement.value || !isElementVisible.value || !canLoadMore(observedElement.value)) return;
582
+ const {
583
+ scrollHeight,
584
+ clientHeight,
585
+ scrollWidth,
586
+ clientWidth
587
+ } = observedElement.value;
588
+ const isNarrower = direction === "bottom" || direction === "top" ? scrollHeight <= clientHeight : scrollWidth <= clientWidth;
589
+ if (state.arrivedState[direction] || isNarrower) {
590
+ if (!promise.value) promise.value = Promise.all([onLoadMore(state), new Promise(resolve => setTimeout(resolve, interval))]).finally(() => {
591
+ promise.value = null;
592
+ nextTick(() => checkAndLoad());
593
+ });
594
+ }
595
+ }
596
+ watch(() => [state.arrivedState[direction], isElementVisible.value], checkAndLoad, {
597
+ immediate: true
598
+ });
599
+ return {
600
+ isLoading
601
+ };
602
+ }
603
+ function checkOverflowScroll(ele) {
604
+ const style = window.getComputedStyle(ele);
605
+ if (style.overflowX === "scroll" || style.overflowY === "scroll" || style.overflowX === "auto" && ele.clientWidth < ele.scrollWidth || style.overflowY === "auto" && ele.clientHeight < ele.scrollHeight) return true;else {
606
+ const parent = ele.parentNode;
607
+ if (!parent || parent.tagName === "BODY") return false;
608
+ return checkOverflowScroll(parent);
609
+ }
610
+ }
611
+ function preventDefault(rawEvent) {
612
+ const e = rawEvent || window.event;
613
+ const _target = e.target;
614
+ if (checkOverflowScroll(_target)) return false;
615
+ if (e.touches.length > 1) return true;
616
+ if (e.preventDefault) e.preventDefault();
617
+ return false;
618
+ }
619
+ function useScrollLock(element, initialState = false) {
620
+ const isLocked = ref(initialState);
621
+ let stopTouchMoveListener = null;
622
+ let initialOverflow = "";
623
+ watch(toRef(element), el => {
624
+ const target = resolveElement(toValue$1(el));
625
+ if (target) {
626
+ const ele = target;
627
+ if (!elInitialOverflow.get(ele)) elInitialOverflow.set(ele, ele.style.overflow);
628
+ if (ele.style.overflow !== "hidden") initialOverflow = ele.style.overflow;
629
+ if (ele.style.overflow === "hidden") return isLocked.value = true;
630
+ if (isLocked.value) return ele.style.overflow = "hidden";
631
+ }
632
+ }, {
633
+ immediate: true
634
+ });
635
+ const lock = () => {
636
+ const el = resolveElement(toValue$1(element));
637
+ if (!el || isLocked.value) return;
638
+ if (isIOS) stopTouchMoveListener = useEventListener(el, "touchmove", e => {
639
+ preventDefault(e);
640
+ }, {
641
+ passive: false
642
+ });
643
+ el.style.overflow = "hidden";
644
+ isLocked.value = true;
645
+ };
646
+ const unlock = () => {
647
+ const el = resolveElement(toValue$1(element));
648
+ if (!el || !isLocked.value) return;
649
+ isIOS && stopTouchMoveListener?.();
650
+ el.style.overflow = initialOverflow;
651
+ elInitialOverflow.delete(el);
652
+ isLocked.value = false;
653
+ };
654
+ tryOnScopeDispose(unlock);
655
+ return computed({
656
+ get() {
657
+ return isLocked.value;
658
+ },
659
+ set(v) {
660
+ if (v) lock();else unlock();
661
+ }
662
+ });
663
+ }
664
+ function onScrollLock() {
665
+ let isMounted = false;
666
+ const state = ref(false);
667
+ return (el, binding) => {
668
+ state.value = binding.value;
669
+ if (isMounted) return;
670
+ isMounted = true;
671
+ const isLocked = useScrollLock(el, binding.value);
672
+ watch(state, v => isLocked.value = v);
673
+ };
674
+ }
675
+ return {
676
+ setters: [function (_chunkLegacy001Js) {
677
+ __toESM = _chunkLegacy001Js.o;
678
+ }, function (_vueRuntimeEsmBundlerLegacy003Js) {
679
+ computed = _vueRuntimeEsmBundlerLegacy003Js.C;
680
+ createElementBlock = _vueRuntimeEsmBundlerLegacy003Js.D;
681
+ createCommentVNode = _vueRuntimeEsmBundlerLegacy003Js.E;
682
+ getCurrentInstance = _vueRuntimeEsmBundlerLegacy003Js.F;
683
+ nextTick = _vueRuntimeEsmBundlerLegacy003Js.G;
684
+ unref = _vueRuntimeEsmBundlerLegacy003Js.Gt;
685
+ ref = _vueRuntimeEsmBundlerLegacy003Js.It;
686
+ onBeforeUnmount = _vueRuntimeEsmBundlerLegacy003Js.J;
687
+ h = _vueRuntimeEsmBundlerLegacy003Js.L;
688
+ createVNode = _vueRuntimeEsmBundlerLegacy003Js.M;
689
+ defineComponent = _vueRuntimeEsmBundlerLegacy003Js.P;
690
+ reactive = _vueRuntimeEsmBundlerLegacy003Js.Pt;
691
+ toDisplayString = _vueRuntimeEsmBundlerLegacy003Js.Sn;
692
+ createBlock = _vueRuntimeEsmBundlerLegacy003Js.T;
693
+ toValue = _vueRuntimeEsmBundlerLegacy003Js.Ut;
694
+ onMounted = _vueRuntimeEsmBundlerLegacy003Js.Z;
695
+ Fragment = _vueRuntimeEsmBundlerLegacy003Js._;
696
+ normalizeClass = _vueRuntimeEsmBundlerLegacy003Js._n;
697
+ watch = _vueRuntimeEsmBundlerLegacy003Js._t;
698
+ renderSlot = _vueRuntimeEsmBundlerLegacy003Js.at;
699
+ withCtx = _vueRuntimeEsmBundlerLegacy003Js.bt;
700
+ openBlock = _vueRuntimeEsmBundlerLegacy003Js.et;
701
+ withModifiers = _vueRuntimeEsmBundlerLegacy003Js.h;
702
+ renderList = _vueRuntimeEsmBundlerLegacy003Js.it;
703
+ createTextVNode = _vueRuntimeEsmBundlerLegacy003Js.j;
704
+ useTemplateRef = _vueRuntimeEsmBundlerLegacy003Js.mt;
705
+ vShow = _vueRuntimeEsmBundlerLegacy003Js.p;
706
+ useSlots = _vueRuntimeEsmBundlerLegacy003Js.pt;
707
+ createBaseVNode = _vueRuntimeEsmBundlerLegacy003Js.w;
708
+ withDirectives = _vueRuntimeEsmBundlerLegacy003Js.xt;
709
+ normalizeStyle = _vueRuntimeEsmBundlerLegacy003Js.yn;
710
+ }, function (_MapCacheLegacy005Js) {
711
+ useElementSize = _MapCacheLegacy005Js.E;
712
+ isClient = _MapCacheLegacy005Js.G;
713
+ noop = _MapCacheLegacy005Js.J;
714
+ isIOS = _MapCacheLegacy005Js.K;
715
+ useResizeObserver = _MapCacheLegacy005Js.N;
716
+ toRef = _MapCacheLegacy005Js.Q;
717
+ directiveHooks = _MapCacheLegacy005Js.W;
718
+ notNullish = _MapCacheLegacy005Js.Y;
719
+ I18nT = _MapCacheLegacy005Js._t;
720
+ isVue2 = _MapCacheLegacy005Js.ct;
721
+ toValue$1 = _MapCacheLegacy005Js.et;
722
+ onClickOutside = _MapCacheLegacy005Js.g;
723
+ useI18n = _MapCacheLegacy005Js.gt;
724
+ useThrottleFn = _MapCacheLegacy005Js.it;
725
+ tryOnScopeDispose = _MapCacheLegacy005Js.nt;
726
+ isObject = _MapCacheLegacy005Js.q;
727
+ useDebounceFn = _MapCacheLegacy005Js.rt;
728
+ tryOnMounted = _MapCacheLegacy005Js.tt;
729
+ }, function (_srcLegacy007Js) {
730
+ N8nNotice_default = _srcLegacy007Js.E;
731
+ N8nCallout_default = _srcLegacy007Js.Fn;
732
+ N8nText_default = _srcLegacy007Js.In;
733
+ N8nButton_default = _srcLegacy007Js.Ln;
734
+ N8nBlockUi_default = _srcLegacy007Js.Q;
735
+ N8nIconButton_default = _srcLegacy007Js.Tt;
736
+ N8nInlineTextEdit_default = _srcLegacy007Js.a;
737
+ N8nTabs_default = _srcLegacy007Js.g;
738
+ N8nTooltip_default = _srcLegacy007Js.vt;
739
+ N8nRadioButtons_default = _srcLegacy007Js.x;
740
+ N8nIcon_default = _srcLegacy007Js.zn;
741
+ ElCollapseTransition = _srcLegacy007Js.zt;
742
+ }, function (_pluginVue_exportHelperLegacy00fJs) {
743
+ __plugin_vue_export_helper_default = _pluginVue_exportHelperLegacy00fJs.t;
744
+ }, function (_truncateLegacy00hJs) {
745
+ require_get = _truncateLegacy00hJs.r;
746
+ useRoute = _truncateLegacy00hJs.y;
747
+ }, function (_ParameterInputListLegacy00rJs) {
748
+ TitledList_default = _ParameterInputListLegacy00rJs.E;
749
+ useNodeCredentialOptions = _ParameterInputListLegacy00rJs.T;
750
+ collectParametersByTab = _ParameterInputListLegacy00rJs.d;
751
+ collectSettings = _ParameterInputListLegacy00rJs.f;
752
+ getNodeSettingsInitialValues = _ParameterInputListLegacy00rJs.h;
753
+ createCommonNodeSettings = _ParameterInputListLegacy00rJs.p;
754
+ ParameterInputList_default = _ParameterInputListLegacy00rJs.t;
755
+ useNodeSettingsParameters = _ParameterInputListLegacy00rJs.u;
756
+ nameIsParameter = _ParameterInputListLegacy00rJs.v;
757
+ NodeCredentials_default = _ParameterInputListLegacy00rJs.w;
758
+ }, function (_colLegacy00zJs) {
759
+ ElRow = _colLegacy00zJs.n;
760
+ ElCol = _colLegacy00zJs.t;
761
+ }, function (_useTelemetryLegacy00FJs) {
762
+ useSettingsStore = _useTelemetryLegacy00FJs.Bo;
763
+ useHistoryStore = _useTelemetryLegacy00FJs.Cr;
764
+ importCurlEventBus = _useTelemetryLegacy00FJs.Di;
765
+ useProjectsStore = _useTelemetryLegacy00FJs.En;
766
+ useCredentialsStore = _useTelemetryLegacy00FJs.Ht;
767
+ RenameNodeCommand = _useTelemetryLegacy00FJs.Mr;
768
+ useUIStore = _useTelemetryLegacy00FJs.Ni;
769
+ ProjectTypes = _useTelemetryLegacy00FJs.On;
770
+ COMMUNITY_NODES_INSTALLATION_DOCS_URL = _useTelemetryLegacy00FJs.Ri;
771
+ injectWorkflowState = _useTelemetryLegacy00FJs.Sn;
772
+ COMMUNITY_PACKAGE_INSTALL_MODAL_KEY = _useTelemetryLegacy00FJs.Vi;
773
+ useNDVStore = _useTelemetryLegacy00FJs.a;
774
+ useUsersStore = _useTelemetryLegacy00FJs.er;
775
+ useActionsGenerator = _useTelemetryLegacy00FJs.it;
776
+ useWorkflowHelpers = _useTelemetryLegacy00FJs.mn;
777
+ useWorkflowsStore = _useTelemetryLegacy00FJs.o;
778
+ useNodeTypesStore = _useTelemetryLegacy00FJs.rt;
779
+ useTelemetry = _useTelemetryLegacy00FJs.t;
780
+ removePreviewToken = _useTelemetryLegacy00FJs.vt;
781
+ useNodeHelpers = _useTelemetryLegacy00FJs.xn;
782
+ }, function (_useToastLegacy00HJs) {
783
+ useToast = _useToastLegacy00HJs.t;
784
+ }, function (_constantsLegacy00NJs) {
785
+ deepCopy = _constantsLegacy00NJs.Hi;
786
+ CUSTOM_API_CALL_KEY = _constantsLegacy00NJs.I;
787
+ CHAT_TRIGGER_NODE_TYPE = _constantsLegacy00NJs.Q;
788
+ FORM_TRIGGER_NODE_TYPE = _constantsLegacy00NJs.St;
789
+ isCommunityPackageName = _constantsLegacy00NJs.Ui;
790
+ getNodeInputs = _constantsLegacy00NJs._i;
791
+ BASE_NODE_SURVEY_URL = _constantsLegacy00NJs.c;
792
+ NodeConnectionTypes = _constantsLegacy00NJs.ea;
793
+ OPEN_URL_PANEL_TRIGGER_NODE_TYPES = _constantsLegacy00NJs.en;
794
+ CUSTOM_NODES_DOCS_URL = _constantsLegacy00NJs.f;
795
+ VIEWS = _constantsLegacy00NJs.mo;
796
+ PRODUCTION_ONLY_TRIGGER_NODE_TYPES = _constantsLegacy00NJs.rn;
797
+ DATA_TABLE_NODES = _constantsLegacy00NJs.st;
798
+ BUILTIN_NODES_DOCS_URL = _constantsLegacy00NJs.u;
799
+ NPM_PACKAGE_DOCS_BASE_URL = _constantsLegacy00NJs.x;
800
+ OPEN_AI_API_CREDENTIAL_TYPE = _constantsLegacy00NJs.ya;
801
+ getNodeParameters = _constantsLegacy00NJs.yi;
802
+ MCP_TRIGGER_NODE_TYPE = _constantsLegacy00NJs.zt;
803
+ }, function (_assistantStoreLegacy00RJs) {
804
+ ndvEventBus = _assistantStoreLegacy00RJs.n;
805
+ }, function (_useDebounceLegacy00VJs) {
806
+ useDebounce = _useDebounceLegacy00VJs.t;
807
+ }, function (_useExternalHooksLegacy00XJs) {
808
+ useExternalHooks = _useExternalHooksLegacy00XJs.t;
809
+ }, function (_nodeCreatorStoreLegacy01jJs) {
810
+ useNodeCreatorStore = _nodeCreatorStoreLegacy01jJs.t;
811
+ }, function (_nodeIconLegacy01lJs) {
812
+ getNodeIconSource = _nodeIconLegacy01lJs.t;
813
+ }, function (_useClipboardLegacy01nJs) {
814
+ useClipboard = _useClipboardLegacy01nJs.t;
815
+ }, function (_NodeIconLegacy01vJs) {
816
+ NodeIcon_default = _NodeIconLegacy01vJs.t;
817
+ }, function (_dataTableStoreLegacy01HJs) {
818
+ useDataTableStore = _dataTableStoreLegacy01HJs.t;
819
+ }, function (_CommunityNodeUpdateInfoLegacy023Js) {
820
+ useInstallNode = _CommunityNodeUpdateInfoLegacy023Js.a;
821
+ useInstalledCommunityPackage = _CommunityNodeUpdateInfoLegacy023Js.i;
822
+ CommunityNodeFooter_default = _CommunityNodeUpdateInfoLegacy023Js.n;
823
+ ContactAdministratorToInstall_default = _CommunityNodeUpdateInfoLegacy023Js.r;
824
+ CommunityNodeUpdateInfo_default = _CommunityNodeUpdateInfoLegacy023Js.t;
825
+ }, function (_VirtualSchemaLegacy02fJs) {
826
+ NodeExecuteButton_default = _VirtualSchemaLegacy02fJs.n;
827
+ }, function (_useActionsLegacy03dJs) {
828
+ useActions = _useActionsLegacy03dJs.t;
829
+ }],
830
+ execute: function () {
831
+ __vite_style__ = document.createElement('style');
832
+ __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@keyframes _horizontal-shake_1kr6k_1 {\n0% {\n transform: translateX(0);\n}\n25% {\n transform: translateX(5px);\n}\n50% {\n transform: translateX(-5px);\n}\n75% {\n transform: translateX(5px);\n}\n100% {\n transform: translateX(0);\n}\n}\n._container_1kr6k_140 {\n --node--size: 45px;\n --plus-button--size: 30px;\n --ndv--sub-connections--duration: 150ms;\n --collapsed--offset: 10px;\n padding-top: calc(var(--node--size) + var(--spacing--3xs));\n}\n._connections_1kr6k_148 {\n min-height: calc(var(--node--size) + var(--spacing--md));\n position: absolute;\n bottom: calc(var(--node--size) / 2 * -1);\n left: 0;\n right: 0;\n -webkit-user-select: none;\n user-select: none;\n justify-content: space-between;\n display: grid;\n /* stylelint-disable-next-line @n8n/css-var-naming */\n grid-template-columns: repeat(var(--possible-connections), 1fr);\n}\n._connectionType_1kr6k_161 {\n display: flex;\n flex-direction: column;\n align-items: center;\n transition: all calc(var(--ndv--sub-connections--duration) - 50ms) ease;\n}\n._connectionLabel_1kr6k_168 {\n margin-bottom: var(--spacing--2xs);\n font-size: var(--font-size--2xs);\n -webkit-user-select: none;\n user-select: none;\n text-wrap: nowrap;\n}\n._connectionLabel_1kr6k_168._hasIssues_1kr6k_174 {\n color: var(--color--danger);\n}\n._connectedNodesWrapper_1kr6k_178 {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: space-between;\n position: relative;\n}\n._plusButton_1kr6k_186 {\n transition: all var(--ndv--sub-connections--duration) ease;\n position: absolute;\n top: var(--spacing--2xs);\n}\n._plusButton_1kr6k_186._hasIssues_1kr6k_174 {\n animation: _horizontal-shake_1kr6k_1 500ms;\n}\n._plusButton_1kr6k_186._hasIssues_1kr6k_174 button {\n --button--color--text: var(--color--danger);\n --button--border-color: var(--color--danger);\n}\n._plusButton_1kr6k_186:not(:last-child) {\n z-index: 1;\n right: 100%;\n margin-right: calc(var(--plus-button--size) * -1 * 0.9);\n pointer-events: none;\n}\n._connectedNodesWrapperExpanded_1kr6k_204 ._plusButton_1kr6k_186:not(:last-child) {\n margin-right: var(--spacing--2xs);\n opacity: 1;\n pointer-events: all;\n}\n._connectedNodesMultiple_1kr6k_210 {\n transition: all var(--ndv--sub-connections--duration) ease;\n}\n._connectedNodesWrapperExpanded_1kr6k_204 {\n z-index: 1;\n}\n._connections_1kr6k_148:has(._connectedNodesWrapperExpanded_1kr6k_204) ._connectionType_1kr6k_161:not(:has(._connectedNodesWrapperExpanded_1kr6k_204)) {\n opacity: 0;\n pointer-events: none;\n visibility: hidden;\n}\n._connectedNode_1kr6k_178 {\n border: var(--border);\n background-color: var(--node--color--background);\n border-radius: 100%;\n padding: var(--spacing--xs);\n cursor: pointer;\n pointer-events: all;\n transition: all var(--ndv--sub-connections--duration) ease;\n position: relative;\n display: flex;\n justify-self: center;\n align-self: center;\n}\n._connectedNodes_1kr6k_178 {\n display: flex;\n justify-content: center;\n /* stylelint-disable-next-line @n8n/css-var-naming */\n margin-right: calc((var(--nodes-length) - 1) * -1 * (var(--node--size) - var(--collapsed--offset)));\n}\n._connectedNodesWrapperExpanded_1kr6k_204 ._connectedNodes_1kr6k_178 {\n margin-right: 0;\n margin-right: calc((var(--spacing--2xs) + var(--plus-button--size)) * -1);\n}\n._nodeWrapper_1kr6k_249 {\n transition: all var(--ndv--sub-connections--duration) ease;\n transform-origin: center;\n z-index: 1;\n}\n._connectedNodesWrapperExpanded_1kr6k_204 ._nodeWrapper_1kr6k_249:not(:first-child) {\n margin-left: var(--spacing--2xs);\n}\n._nodeWrapper_1kr6k_249._hasIssues_1kr6k_174 ._connectedNode_1kr6k_178 {\n border-width: calc(var(--border-width) * 2);\n border-color: var(--color--danger);\n}\n._nodeWrapper_1kr6k_249:not(:first-child) {\n /* stylelint-disable-next-line @n8n/css-var-naming */\n transform: translateX(calc(var(--node-index) * -1 * (var(--node--size) - var(--collapsed--offset))));\n}\n._connectedNodesWrapperExpanded_1kr6k_204 ._nodeWrapper_1kr6k_249 {\n transform: translateX(0);\n}/* 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#communityNode > div {\n cursor: auto;\n padding-right: 0;\n padding-left: 0;\n}\n#communityNode > div:hover {\n color: unset;\n}/* 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._header_qhhug_123 {\n --tabs--arrow-buttons--color: var(--color--background--light-3);\n display: flex;\n align-items: center;\n min-height: 40px;\n border-bottom: var(--border);\n}\n._execute_qhhug_131 {\n margin-right: var(--spacing--sm);\n}\n._tabs_qhhug_135 {\n align-self: flex-end;\n}\n._tabs_qhhug_135 #communityNode {\n padding-right: var(--spacing--2xs);\n}/* 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.webhooks[data-v-66c974d9] {\n padding-bottom: var(--spacing--xs);\n margin: var(--spacing--xs) 0;\n border-bottom: 1px solid var(--color--text--tint-2);\n}\n.webhooks .headline[data-v-66c974d9] {\n color: var(--color--primary);\n font-weight: var(--font-weight--bold);\n font-size: var(--font-size--2xs);\n}\n.http-field[data-v-66c974d9] {\n position: absolute;\n width: 50px;\n display: inline-block;\n top: calc(50% - 8px);\n}\n.http-method[data-v-66c974d9] {\n background-color: var(--color--foreground--shade-2);\n width: 40px;\n height: 16px;\n line-height: 16px;\n margin-left: 5px;\n text-align: center;\n border-radius: 2px;\n font-size: var(--font-size--2xs);\n font-weight: var(--font-weight--bold);\n color: var(--color--foreground--tint-2);\n}\n.minimize-icon[data-v-66c974d9] {\n font-size: 1.3em;\n margin-right: 0.5em;\n}\n.mode-selection-headline[data-v-66c974d9] {\n line-height: 1.8em;\n}\n.node-webhooks[data-v-66c974d9] {\n margin-left: 1em;\n}\n.url-field[data-v-66c974d9] {\n display: inline-block;\n width: calc(100% - 60px);\n margin-left: 55px;\n}\n.url-field-full-width[data-v-66c974d9] {\n display: inline-block;\n margin: 5px 10px;\n}\n.url-selection[data-v-66c974d9] {\n margin-top: var(--spacing--xs);\n}\n.minimize-button[data-v-66c974d9] {\n display: inline-block;\n transition-duration: 0.5s;\n transition-property: transform;\n}\n.expanded .minimize-button[data-v-66c974d9] {\n transform: rotate(90deg);\n}\n.webhook-url[data-v-66c974d9] {\n position: relative;\n top: 0;\n width: 100%;\n font-size: var(--font-size--2xs);\n white-space: normal;\n overflow: visible;\n text-overflow: initial;\n color: var(--color--text--shade-1);\n text-align: left;\n direction: ltr;\n word-break: break-all;\n}\n.webhook-wrapper[data-v-66c974d9] {\n line-height: 1.5;\n position: relative;\n margin-top: var(--spacing--xs);\n background-color: var(--color--foreground--tint-2);\n border-radius: 3px;\n}/* 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._component_13igc_123 {\n border-bottom: var(--border);\n}\n._title_13igc_127 {\n display: flex;\n align-items: center;\n padding: var(--spacing--2xs) var(--spacing--3xs) var(--spacing--2xs) var(--spacing--xs);\n border-bottom: var(--border);\n gap: var(--spacing--4xs);\n cursor: grab;\n}\n._disabled_13igc_135 ._title_13igc_127 {\n background-color: var(--color--foreground--tint-1);\n}\n._titleText_13igc_139 {\n min-width: 0;\n flex-grow: 1;\n flex-shrink: 1;\n font-weight: var(--font-weight--medium);\n font-size: var(--font-size--sm);\n overflow: hidden;\n /* Same amount of padding and negative margin for border to not be cut by overflow: hidden */\n padding: var(--spacing--2xs);\n margin: calc(-1 * var(--spacing--2xs));\n}\n._subTitleText_13igc_151 {\n width: 0;\n flex-grow: 100;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n padding-top: var(--spacing--5xs);\n}\n._tabsContainer_13igc_160 {\n padding-top: var(--spacing--xs);\n padding-inline: var(--spacing--xs);\n}/* 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._component_1vh3g_123 {\n padding-block: var(--spacing--2xs);\n}\n._label_1vh3g_127 {\n padding: var(--spacing--3xs) var(--spacing--sm);\n text-transform: uppercase;\n}\n._option_1vh3g_132 {\n display: flex;\n align-items: center;\n padding: var(--spacing--3xs) var(--spacing--sm);\n gap: var(--spacing--2xs);\n cursor: pointer;\n}\n._option_1vh3g_132._selected_1vh3g_139, ._option_1vh3g_132:hover {\n background-color: var(--color--background);\n}\n._optionText_1vh3g_143 {\n flex-grow: 1;\n flex-shrink: 1;\n}/* 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._communityNodeActionsContainer_1mqmg_123 {\n display: flex;\n gap: var(--spacing--2xs);\n}\n._nodeIsNotValid_1mqmg_128 {\n height: 75%;\n padding: 10px;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n line-height: var(--line-height--md);\n}\n._warningIcon_1mqmg_139 {\n color: var(--color--text--tint-2);\n font-size: var(--font-size--2xl);\n}\n._descriptionContainer_1mqmg_144 {\n display: flex;\n flex-direction: column;\n gap: var(--spacing--2xs);\n align-items: center;\n}/* 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._container_oei61_123 {\n font-weight: var(--font-weight--medium);\n display: flex;\n font-size: var(--font-size--md);\n margin-right: var(--spacing--sm);\n color: var(--color--text--shade-1);\n width: 100%;\n}\n._textWrapper_oei61_132 {\n display: flex;\n flex-grow: 1;\n}\n._iconWrapper_oei61_137 {\n display: inline-flex;\n margin-right: var(--spacing--2xs);\n}/* 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._header_oiay4_123 {\n background-color: var(--color--background);\n}\n._featureRequest_oiay4_127 {\n margin-top: auto;\n align-self: center;\n}\n._featureRequest_oiay4_127 a {\n display: inline-flex;\n align-items: center;\n gap: var(--spacing--4xs);\n margin-top: var(--spacing--xl);\n font-size: var(--font-size--2xs);\n font-weight: var(--font-weight--bold);\n color: var(--color--text--tint-1);\n}/* 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.node-settings[data-v-e107ee77] {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n background-color: var(--color--background--light-3);\n height: 100%;\n width: 100%;\n}\n.node-settings .no-parameters[data-v-e107ee77] {\n margin-top: var(--spacing--xs);\n}\n.node-settings .header-side-menu[data-v-e107ee77] {\n padding: var(--spacing--sm) var(--spacing--sm) var(--spacing--sm) var(--spacing--sm);\n font-size: var(--font-size--lg);\n display: flex;\n justify-content: space-between;\n}\n.node-settings .header-side-menu .node-name[data-v-e107ee77] {\n padding-top: var(--spacing--5xs);\n margin-right: var(--spacing--sm);\n}\n.node-settings .node-parameters-wrapper[data-v-e107ee77] {\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n padding: 0 var(--spacing--md) var(--spacing--lg) var(--spacing--md);\n flex-grow: 1;\n}\n.node-settings .node-parameters-wrapper.ndv-v2[data-v-e107ee77] {\n padding: 0 var(--spacing--sm) var(--spacing--lg) var(--spacing--sm);\n}\n.node-settings.embedded .node-parameters-wrapper[data-v-e107ee77] {\n padding: 0 var(--spacing--xs) var(--spacing--xs) var(--spacing--xs);\n}\n.node-settings.embedded .node-parameters-wrapper[data-v-e107ee77]:has(.action-tab) {\n padding: 0 0 var(--spacing--xs) 0;\n}\n.node-settings.embedded .node-parameters-wrapper.with-static-scrollbar[data-v-e107ee77] {\n padding: 0 var(--spacing--4xs) var(--spacing--xs) var(--spacing--xs);\n}\n.node-settings.embedded .node-parameters-wrapper.with-static-scrollbar[data-v-e107ee77]:has(.action-tab) {\n padding: 0 0 var(--spacing--xs) 0;\n}\n@supports not (selector(::-webkit-scrollbar)) {\n.node-settings.embedded .node-parameters-wrapper.with-static-scrollbar[data-v-e107ee77] {\n scrollbar-width: thin;\n}\n}\n@supports selector(::-webkit-scrollbar) {\n.node-settings.embedded .node-parameters-wrapper.with-static-scrollbar[data-v-e107ee77]::-webkit-scrollbar {\n width: var(--spacing--2xs);\n}\n.node-settings.embedded .node-parameters-wrapper.with-static-scrollbar[data-v-e107ee77]::-webkit-scrollbar-thumb {\n border-radius: var(--spacing--2xs);\n background: var(--color--foreground--shade-1);\n border: var(--spacing--5xs) solid var(--color--background--light-3);\n}\n}\n.node-settings.dragging[data-v-e107ee77] {\n border-color: var(--color--primary);\n box-shadow: 0 6px 16px rgba(255, 74, 51, 0.15);\n}\n.parameter-content[data-v-e107ee77] {\n font-size: 0.9em;\n margin-right: -15px;\n margin-left: -15px;\n}\n.parameter-content input[data-v-e107ee77] {\n width: calc(100% - 35px);\n padding: 5px;\n}\n.parameter-content select[data-v-e107ee77] {\n width: calc(100% - 20px);\n padding: 5px;\n}\n.parameter-content[data-v-e107ee77]:before {\n display: table;\n content: \" \";\n position: relative;\n box-sizing: border-box;\n clear: both;\n}\n.parameter-wrapper[data-v-e107ee77] {\n padding: 0 1em;\n}\n.color-reset-button-wrapper[data-v-e107ee77] {\n position: relative;\n}\n.color-reset-button[data-v-e107ee77] {\n position: absolute;\n right: 7px;\n top: -25px;\n}\n.node-version[data-v-e107ee77] {\n border-top: var(--border);\n font-size: var(--font-size--xs);\n font-size: var(--font-size--2xs);\n padding: var(--spacing--xs) 0 var(--spacing--2xs) 0;\n color: var(--color--text--tint-1);\n}\n.parameter-value input.expression[data-v-e107ee77] {\n border-style: dashed;\n border-color: #ff9600;\n display: inline-block;\n position: relative;\n width: 100%;\n box-sizing: border-box;\n background-color: #793300;\n}/* 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[data-has-output-connection=true] .ndv-connection-hint-notice {\n display: none;\n}/*$vite$:1*/";
833
+ document.head.appendChild(__vite_style__);
834
+ //#region src/app/components/FreeAiCreditsCallout.vue?vue&type=script&setup=true&lang.ts
835
+ _hoisted_1$6 = {
836
+ key: 2
837
+ };
838
+ LANGCHAIN_NODES_PREFIX = "@n8n/n8n-nodes-langchain.";
839
+ N8N_NODES_PREFIX = "@n8n/n8n-nodes.";
840
+ FreeAiCreditsCallout_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */defineComponent({
841
+ __name: "FreeAiCreditsCallout",
842
+ props: {
843
+ credentialTypeName: {}
844
+ },
845
+ setup(__props) {
846
+ const props = __props;
847
+ const NODES_WITH_OPEN_AI_API_CREDENTIAL = [`${LANGCHAIN_NODES_PREFIX}openAi`, `${LANGCHAIN_NODES_PREFIX}embeddingsOpenAi`, `${LANGCHAIN_NODES_PREFIX}lmChatOpenAi`, `${N8N_NODES_PREFIX}openAi`];
848
+ const showSuccessCallout = ref(false);
849
+ const claimingCredits = ref(false);
850
+ const settingsStore = useSettingsStore();
851
+ const credentialsStore = useCredentialsStore();
852
+ const usersStore = useUsersStore();
853
+ const ndvStore = useNDVStore();
854
+ const projectsStore = useProjectsStore();
855
+ const telemetry = useTelemetry();
856
+ const i18n = useI18n();
857
+ const toast = useToast();
858
+ const userHasOpenAiCredentialAlready = computed(() => !!credentialsStore.allCredentials.filter(credential => credential.type === OPEN_AI_API_CREDENTIAL_TYPE).length);
859
+ const isEditingOpenAiCredential = computed(() => props.credentialTypeName && props.credentialTypeName === "openAiApi");
860
+ const userHasClaimedAiCreditsAlready = computed(() => !!usersStore.currentUser?.settings?.userClaimedAiCredits);
861
+ const activeNodeHasOpenAiApiCredential = computed(() => ndvStore.activeNode?.type && NODES_WITH_OPEN_AI_API_CREDENTIAL.includes(ndvStore.activeNode.type));
862
+ const userCanClaimOpenAiCredits = computed(() => {
863
+ return settingsStore.isAiCreditsEnabled && (activeNodeHasOpenAiApiCredential.value || isEditingOpenAiCredential.value) && !userHasOpenAiCredentialAlready.value && !userHasClaimedAiCreditsAlready.value;
864
+ });
865
+ const onClaimCreditsClicked = async () => {
866
+ claimingCredits.value = true;
867
+ try {
868
+ await credentialsStore.claimFreeAiCredits(projectsStore.currentProject?.id);
869
+ if (usersStore?.currentUser?.settings) usersStore.currentUser.settings.userClaimedAiCredits = true;
870
+ telemetry.track("User claimed OpenAI credits");
871
+ showSuccessCallout.value = true;
872
+ } catch (e) {
873
+ toast.showError(e, i18n.baseText("freeAi.credits.showError.claim.title"), i18n.baseText("freeAi.credits.showError.claim.message"));
874
+ } finally {
875
+ claimingCredits.value = false;
876
+ }
877
+ };
878
+ return (_ctx, _cache) => {
879
+ return userCanClaimOpenAiCredits.value && !showSuccessCallout.value ? (openBlock(), createBlock(unref(N8nCallout_default), {
880
+ key: 0,
881
+ theme: "secondary",
882
+ icon: "circle-alert",
883
+ class: "mt-xs"
884
+ }, {
885
+ trailingContent: withCtx(() => [createVNode(unref(N8nButton_default), {
886
+ type: "tertiary",
887
+ size: "small",
888
+ label: unref(i18n).baseText("freeAi.credits.callout.claim.button.label"),
889
+ loading: claimingCredits.value,
890
+ onClick: onClaimCreditsClicked
891
+ }, null, 8, ["label", "loading"])]),
892
+ default: withCtx(() => [createTextVNode(toDisplayString(unref(i18n).baseText("freeAi.credits.callout.claim.title", {
893
+ interpolate: {
894
+ credits: unref(settingsStore).aiCreditsQuota
895
+ }
896
+ })) + " ", 1)]),
897
+ _: 1
898
+ })) : showSuccessCallout.value ? (openBlock(), createBlock(unref(N8nCallout_default), {
899
+ key: 1,
900
+ theme: "success",
901
+ icon: "circle-check",
902
+ class: "mt-xs"
903
+ }, {
904
+ default: withCtx(() => [createVNode(unref(N8nText_default), {
905
+ size: "small"
906
+ }, {
907
+ default: withCtx(() => [createTextVNode(toDisplayString(unref(i18n).baseText("freeAi.credits.callout.success.title.part1", {
908
+ interpolate: {
909
+ credits: unref(settingsStore).aiCreditsQuota
910
+ }
911
+ })), 1)]),
912
+ _: 1
913
+ }), _cache[0] || (_cache[0] = createTextVNode(" \xA0 ")), createVNode(unref(N8nText_default), {
914
+ size: "small",
915
+ bold: true
916
+ }, {
917
+ default: withCtx(() => [createTextVNode(toDisplayString(unref(i18n).baseText("freeAi.credits.callout.success.title.part2")), 1)]),
918
+ _: 1
919
+ })]),
920
+ _: 1
921
+ })) : (openBlock(), createElementBlock("div", _hoisted_1$6));
922
+ };
923
+ }
924
+ }); //#endregion
925
+ //#region src/app/components/FreeAiCreditsCallout.vue
926
+ _export("r", FreeAiCreditsCallout_default = FreeAiCreditsCallout_vue_vue_type_script_setup_true_lang_default); //#endregion
927
+ //#region ../../../node_modules/.pnpm/@vueuse+components@10.11.0_vue@3.5.13_typescript@5.9.2_/node_modules/@vueuse/components/index.mjs
928
+ OnClickOutside = /* @__PURE__ */defineComponent({
929
+ name: "OnClickOutside",
930
+ props: ["as", "options"],
931
+ emits: ["trigger"],
932
+ setup(props, {
933
+ slots,
934
+ emit
935
+ }) {
936
+ const target = ref();
937
+ onClickOutside(target, e => {
938
+ emit("trigger", e);
939
+ }, props.options);
940
+ return () => {
941
+ if (slots.default) return h(props.as || "div", {
942
+ ref: target
943
+ }, slots.default());
944
+ };
945
+ }
946
+ });
947
+ defaultWindow = isClient ? window : void 0;
948
+ _iOSWorkaround = false;
949
+ vOnClickOutside = {
950
+ [directiveHooks.mounted](el, binding) {
951
+ const capture = !binding.modifiers.bubble;
952
+ if (typeof binding.value === "function") el.__onClickOutside_stop = onClickOutside$1(el, binding.value, {
953
+ capture
954
+ });else {
955
+ const [handler, options] = binding.value;
956
+ el.__onClickOutside_stop = onClickOutside$1(el, handler, Object.assign({
957
+ capture
958
+ }, options));
959
+ }
960
+ },
961
+ [directiveHooks.unmounted](el) {
962
+ el.__onClickOutside_stop();
963
+ }
964
+ };
965
+ vOnKeyStroke = {
966
+ [directiveHooks.mounted](el, binding) {
967
+ var _a, _b;
968
+ const keys = (_b = (_a = binding.arg) == null ? void 0 : _a.split(",")) != null ? _b : true;
969
+ if (typeof binding.value === "function") onKeyStroke(keys, binding.value, {
970
+ target: el
971
+ });else {
972
+ const [handler, options] = binding.value;
973
+ onKeyStroke(keys, handler, {
974
+ target: el,
975
+ ...options
976
+ });
977
+ }
978
+ }
979
+ };
980
+ DEFAULT_DELAY = 500;
981
+ DEFAULT_THRESHOLD = 10;
982
+ vOnLongPress = {
983
+ [directiveHooks.mounted](el, binding) {
984
+ if (typeof binding.value === "function") onLongPress(el, binding.value, {
985
+ modifiers: binding.modifiers
986
+ });else onLongPress(el, ...binding.value);
987
+ }
988
+ };
989
+ vElementHover = {
990
+ [directiveHooks.mounted](el, binding) {
991
+ if (typeof binding.value === "function") watch(useElementHover(el), v => binding.value(v));
992
+ }
993
+ };
994
+ vElementSize = {
995
+ [directiveHooks.mounted](el, binding) {
996
+ var _a;
997
+ const handler = typeof binding.value === "function" ? binding.value : (_a = binding.value) == null ? void 0 : _a[0];
998
+ const {
999
+ width,
1000
+ height
1001
+ } = useElementSize$1(el, ...(typeof binding.value === "function" ? [] : binding.value.slice(1)));
1002
+ watch([width, height], ([width2, height2]) => handler({
1003
+ width: width2,
1004
+ height: height2
1005
+ }));
1006
+ }
1007
+ };
1008
+ vElementVisibility = {
1009
+ [directiveHooks.mounted](el, binding) {
1010
+ if (typeof binding.value === "function") {
1011
+ const handler = binding.value;
1012
+ watch(useElementVisibility$1(el), v => handler(v), {
1013
+ immediate: true
1014
+ });
1015
+ } else {
1016
+ const [handler, options] = binding.value;
1017
+ watch(useElementVisibility$1(el, options), v => handler(v), {
1018
+ immediate: true
1019
+ });
1020
+ }
1021
+ }
1022
+ };
1023
+ ARRIVED_STATE_THRESHOLD_PIXELS = 1;
1024
+ vInfiniteScroll = {
1025
+ [directiveHooks.mounted](el, binding) {
1026
+ if (typeof binding.value === "function") useInfiniteScroll(el, binding.value);else useInfiniteScroll(el, ...binding.value);
1027
+ }
1028
+ };
1029
+ vIntersectionObserver = {
1030
+ [directiveHooks.mounted](el, binding) {
1031
+ if (typeof binding.value === "function") useIntersectionObserver(el, binding.value);else useIntersectionObserver(el, ...binding.value);
1032
+ }
1033
+ };
1034
+ vScroll = {
1035
+ [directiveHooks.mounted](el, binding) {
1036
+ if (typeof binding.value === "function") {
1037
+ const handler = binding.value;
1038
+ const state = useScroll(el, {
1039
+ onScroll() {
1040
+ handler(state);
1041
+ },
1042
+ onStop() {
1043
+ handler(state);
1044
+ }
1045
+ });
1046
+ } else {
1047
+ const [handler, options] = binding.value;
1048
+ const state = useScroll(el, {
1049
+ ...options,
1050
+ onScroll(e) {
1051
+ var _a;
1052
+ (_a = options.onScroll) == null || _a.call(options, e);
1053
+ handler(state);
1054
+ },
1055
+ onStop(e) {
1056
+ var _a;
1057
+ (_a = options.onStop) == null || _a.call(options, e);
1058
+ handler(state);
1059
+ }
1060
+ });
1061
+ }
1062
+ }
1063
+ };
1064
+ elInitialOverflow = /* @__PURE__ */new WeakMap();
1065
+ vScrollLock = onScrollLock(); //#endregion
1066
+ //#region src/features/ndv/panel/components/NDVSubConnections.vue?vue&type=script&setup=true&lang.ts
1067
+ _hoisted_1$5 = ["data-test-id"];
1068
+ _hoisted_2$4 = ["textContent"];
1069
+ _hoisted_3$2 = ["onClick"];
1070
+ _hoisted_4$2 = ["onClick"];
1071
+ _hoisted_5$2 = ["data-node-name"];
1072
+ _hoisted_6$1 = ["onClick"];
1073
+ NDVSubConnections_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */defineComponent({
1074
+ __name: "NDVSubConnections",
1075
+ props: {
1076
+ rootNode: {}
1077
+ },
1078
+ emits: ["switchSelectedNode", "openConnectionNodeCreator"],
1079
+ setup(__props, {
1080
+ expose: __expose,
1081
+ emit: __emit
1082
+ }) {
1083
+ const props = __props;
1084
+ const workflowsStore = useWorkflowsStore();
1085
+ const nodeTypesStore = useNodeTypesStore();
1086
+ const nodeHelpers = useNodeHelpers();
1087
+ const i18n = useI18n();
1088
+ const {
1089
+ debounce
1090
+ } = useDebounce();
1091
+ const emit = __emit;
1092
+ const possibleConnections = ref([]);
1093
+ const expandedGroups = ref([]);
1094
+ const shouldShowNodeInputIssues = ref(false);
1095
+ const nodeType = computed(() => nodeTypesStore.getNodeType(props.rootNode.type, props.rootNode.typeVersion));
1096
+ const nodeData = computed(() => workflowsStore.getNodeByName(props.rootNode.name));
1097
+ const ndvStore = useNDVStore();
1098
+ const workflowObject = computed(() => workflowsStore.workflowObject);
1099
+ const nodeInputIssues = computed(() => {
1100
+ return nodeHelpers.getNodeIssues(nodeType.value, props.rootNode, workflowObject.value, ["typeUnknown", "parameters", "credentials", "execution"])?.input ?? {};
1101
+ });
1102
+ const connectedNodes$1 = computed(() => {
1103
+ const typeIndexCounters = {};
1104
+ return possibleConnections.value.reduce((acc, connection) => {
1105
+ const typeIndex = typeIndexCounters[connection.type] ?? 0;
1106
+ typeIndexCounters[connection.type] = typeIndex + 1;
1107
+ const nodes = getINodesFromNames(((workflowObject.value.connectionsByDestinationNode[props.rootNode.name]?.[connection.type] ?? [])[typeIndex] ?? []).map(conn => conn.node));
1108
+ const connectionKey = `${connection.type}-${typeIndex}`;
1109
+ return {
1110
+ ...acc,
1111
+ [connectionKey]: nodes
1112
+ };
1113
+ }, {});
1114
+ });
1115
+ function getConnectionContext(connection, globalIndex) {
1116
+ let typeIndex = 0;
1117
+ for (let i = 0; i < globalIndex; i++) if (possibleConnections.value[i].type === connection.type) typeIndex++;
1118
+ return {
1119
+ connectionType: connection.type,
1120
+ typeIndex,
1121
+ key: `${connection.type}-${typeIndex}`
1122
+ };
1123
+ }
1124
+ function getConnectionKey(connection, globalIndex) {
1125
+ return getConnectionContext(connection, globalIndex).key;
1126
+ }
1127
+ function getConnectionConfig(connectionType$1, typeIndex) {
1128
+ return possibleConnections.value.filter(connection => connection.type === connectionType$1).at(typeIndex);
1129
+ }
1130
+ function isMultiConnection(connectionContext) {
1131
+ return getConnectionConfig(connectionContext.connectionType, connectionContext.typeIndex)?.maxConnections !== 1;
1132
+ }
1133
+ function shouldShowConnectionTooltip(connectionContext) {
1134
+ return isMultiConnection(connectionContext) && !expandedGroups.value.includes(connectionContext.connectionType);
1135
+ }
1136
+ function expandConnectionGroup(connectionContext, isExpanded) {
1137
+ if (!isMultiConnection(connectionContext)) return;
1138
+ if (isExpanded) expandedGroups.value = [...expandedGroups.value, connectionContext.connectionType];else expandedGroups.value = expandedGroups.value.filter(g => g !== connectionContext.connectionType);
1139
+ }
1140
+ function getINodesFromNames(names) {
1141
+ return names.map(name => {
1142
+ const node = workflowsStore.getNodeByName(name);
1143
+ if (node) {
1144
+ const matchedNodeType = nodeTypesStore.getNodeType(node.type);
1145
+ if (matchedNodeType) {
1146
+ const issues = nodeHelpers.getNodeIssues(matchedNodeType, node, workflowObject.value);
1147
+ return {
1148
+ node,
1149
+ nodeType: matchedNodeType,
1150
+ issues: issues ? nodeHelpers.nodeIssuesToString(issues, node) : ""
1151
+ };
1152
+ }
1153
+ }
1154
+ return null;
1155
+ }).filter(n => n !== null);
1156
+ }
1157
+ function hasInputIssues(connectionContext) {
1158
+ return shouldShowNodeInputIssues.value && (nodeInputIssues.value[connectionContext.connectionType] ?? []).length > 0;
1159
+ }
1160
+ function isNodeInputConfiguration(connectionConfig) {
1161
+ if (typeof connectionConfig === "string") return false;
1162
+ return "type" in connectionConfig;
1163
+ }
1164
+ function getPossibleSubInputConnections() {
1165
+ if (!nodeType.value || !props.rootNode) return [];
1166
+ return getNodeInputs(workflowObject.value, props.rootNode, nodeType.value).filter(input => {
1167
+ if (!isNodeInputConfiguration(input)) return false;
1168
+ return input.type !== "main";
1169
+ });
1170
+ }
1171
+ function onNodeClick(nodeName, connectionContext) {
1172
+ if (isMultiConnection(connectionContext) && !expandedGroups.value.includes(connectionContext.connectionType)) {
1173
+ expandConnectionGroup(connectionContext, true);
1174
+ return;
1175
+ }
1176
+ emit("switchSelectedNode", nodeName);
1177
+ }
1178
+ function onPlusClick(connectionContext) {
1179
+ const connectionNodes = connectedNodes$1.value[connectionContext.key];
1180
+ if (isMultiConnection(connectionContext) && !expandedGroups.value.includes(connectionContext.connectionType) && connectionNodes.length >= 1) {
1181
+ expandConnectionGroup(connectionContext, true);
1182
+ return;
1183
+ }
1184
+ emit("openConnectionNodeCreator", props.rootNode.name, connectionContext.connectionType, connectionContext.typeIndex);
1185
+ }
1186
+ function showNodeInputsIssues() {
1187
+ shouldShowNodeInputIssues.value = false;
1188
+ setTimeout(() => {
1189
+ shouldShowNodeInputIssues.value = true;
1190
+ }, 0);
1191
+ }
1192
+ watch([nodeData, ndvStore.activeNode], debounce(() => setTimeout(() => {
1193
+ expandedGroups.value = [];
1194
+ possibleConnections.value = getPossibleSubInputConnections();
1195
+ }, 0), {
1196
+ debounceTime: 1e3
1197
+ }), {
1198
+ immediate: true
1199
+ });
1200
+ __expose({
1201
+ showNodeInputsIssues
1202
+ });
1203
+ return (_ctx, _cache) => {
1204
+ return possibleConnections.value.length ? (openBlock(), createElementBlock("div", {
1205
+ key: 0,
1206
+ class: normalizeClass(_ctx.$style.container)
1207
+ }, [createBaseVNode("div", {
1208
+ class: normalizeClass(_ctx.$style.connections),
1209
+ style: normalizeStyle(`--possible-connections: ${possibleConnections.value.length}`)
1210
+ }, [(openBlock(true), createElementBlock(Fragment, null, renderList(possibleConnections.value, (connection, index) => {
1211
+ return openBlock(), createElementBlock("div", {
1212
+ key: getConnectionKey(connection, index),
1213
+ "data-test-id": `subnode-connection-group-${getConnectionKey(connection, index)}`
1214
+ }, [createBaseVNode("div", {
1215
+ class: normalizeClass(_ctx.$style.connectionType)
1216
+ }, [createBaseVNode("span", {
1217
+ class: normalizeClass({
1218
+ [_ctx.$style.connectionLabel]: true,
1219
+ [_ctx.$style.hasIssues]: hasInputIssues(getConnectionContext(connection, index))
1220
+ }),
1221
+ textContent: toDisplayString(`${connection.displayName}${connection.required ? " *" : ""}`)
1222
+ }, null, 10, _hoisted_2$4), createVNode(unref(OnClickOutside), {
1223
+ onTrigger: $event => expandConnectionGroup(getConnectionContext(connection, index), false)
1224
+ }, {
1225
+ default: withCtx(() => [createBaseVNode("div", {
1226
+ ref_for: true,
1227
+ ref: "connectedNodesWrapper",
1228
+ class: normalizeClass({
1229
+ [_ctx.$style.connectedNodesWrapper]: true,
1230
+ [_ctx.$style.connectedNodesWrapperExpanded]: expandedGroups.value.includes(connection.type)
1231
+ }),
1232
+ style: normalizeStyle(`--nodes-length: ${connectedNodes$1.value[getConnectionKey(connection, index)].length}`),
1233
+ onClick: $event => expandConnectionGroup(getConnectionContext(connection, index), true)
1234
+ }, [(connectedNodes$1.value[getConnectionKey(connection, index)].length >= 1 ? connection.maxConnections !== 1 : true) ? (openBlock(), createElementBlock("div", {
1235
+ key: 0,
1236
+ class: normalizeClass({
1237
+ [_ctx.$style.plusButton]: true,
1238
+ [_ctx.$style.hasIssues]: hasInputIssues(getConnectionContext(connection, index))
1239
+ }),
1240
+ onClick: $event => onPlusClick(getConnectionContext(connection, index))
1241
+ }, [createVNode(unref(N8nTooltip_default), {
1242
+ placement: "top",
1243
+ teleported: true,
1244
+ offset: 10,
1245
+ "show-after": 300,
1246
+ disabled: shouldShowConnectionTooltip(getConnectionContext(connection, index)) && connectedNodes$1.value[getConnectionKey(connection, index)].length >= 1
1247
+ }, {
1248
+ content: withCtx(() => [createTextVNode(" Add " + toDisplayString(connection.displayName) + " ", 1), hasInputIssues(getConnectionContext(connection, index)) ? (openBlock(), createBlock(TitledList_default, {
1249
+ key: 0,
1250
+ title: `${unref(i18n).baseText("node.issues")}:`,
1251
+ items: nodeInputIssues.value[connection.type]
1252
+ }, null, 8, ["title", "items"])) : createCommentVNode("", true)]),
1253
+ default: withCtx(() => [createVNode(unref(N8nIconButton_default), {
1254
+ size: "medium",
1255
+ icon: "plus",
1256
+ type: "tertiary",
1257
+ "data-test-id": `add-subnode-${getConnectionKey(connection, index)}`
1258
+ }, null, 8, ["data-test-id"])]),
1259
+ _: 2
1260
+ }, 1032, ["disabled"])], 10, _hoisted_4$2)) : createCommentVNode("", true), connectedNodes$1.value[getConnectionKey(connection, index)].length > 0 ? (openBlock(), createElementBlock("div", {
1261
+ key: 1,
1262
+ class: normalizeClass({
1263
+ [_ctx.$style.connectedNodes]: true,
1264
+ [_ctx.$style.connectedNodesMultiple]: connectedNodes$1.value[getConnectionKey(connection, index)].length > 1
1265
+ })
1266
+ }, [(openBlock(true), createElementBlock(Fragment, null, renderList(connectedNodes$1.value[getConnectionKey(connection, index)], (node, nodeIndex) => {
1267
+ return openBlock(), createElementBlock("div", {
1268
+ key: node.node.name,
1269
+ class: normalizeClass({
1270
+ [_ctx.$style.nodeWrapper]: true,
1271
+ [_ctx.$style.hasIssues]: node.issues
1272
+ }),
1273
+ "data-test-id": "floating-subnode",
1274
+ "data-node-name": node.node.name,
1275
+ style: normalizeStyle(`--node-index: ${nodeIndex}`)
1276
+ }, [(openBlock(), createBlock(unref(N8nTooltip_default), {
1277
+ key: node.node.name,
1278
+ placement: "top",
1279
+ teleported: true,
1280
+ offset: 10,
1281
+ "show-after": 300,
1282
+ disabled: shouldShowConnectionTooltip(getConnectionContext(connection, index))
1283
+ }, {
1284
+ content: withCtx(() => [createTextVNode(toDisplayString(node.node.name) + " ", 1), node.issues ? (openBlock(), createBlock(TitledList_default, {
1285
+ key: 0,
1286
+ title: `${unref(i18n).baseText("node.issues")}:`,
1287
+ items: node.issues
1288
+ }, null, 8, ["title", "items"])) : createCommentVNode("", true)]),
1289
+ default: withCtx(() => [createBaseVNode("div", {
1290
+ class: normalizeClass(_ctx.$style.connectedNode),
1291
+ onClick: $event => onNodeClick(node.node.name, getConnectionContext(connection, index))
1292
+ }, [createVNode(NodeIcon_default, {
1293
+ "node-type": node.nodeType,
1294
+ "node-name": node.node.name,
1295
+ "tooltip-position": "top",
1296
+ size: 20,
1297
+ circle: ""
1298
+ }, null, 8, ["node-type", "node-name"])], 10, _hoisted_6$1)]),
1299
+ _: 2
1300
+ }, 1032, ["disabled"]))], 14, _hoisted_5$2);
1301
+ }), 128))], 2)) : createCommentVNode("", true)], 14, _hoisted_3$2)]),
1302
+ _: 2
1303
+ }, 1032, ["onTrigger"])], 2)], 8, _hoisted_1$5);
1304
+ }), 128))], 6)], 2)) : createCommentVNode("", true);
1305
+ };
1306
+ }
1307
+ }); //#endregion
1308
+ //#region src/features/ndv/panel/components/NDVSubConnections.vue?vue&type=style&index=0&lang.module.scss
1309
+ container$1 = "_container_1kr6k_140";
1310
+ connections = "_connections_1kr6k_148";
1311
+ connectionType = "_connectionType_1kr6k_161";
1312
+ connectionLabel = "_connectionLabel_1kr6k_168";
1313
+ hasIssues = "_hasIssues_1kr6k_174";
1314
+ connectedNodesWrapper = "_connectedNodesWrapper_1kr6k_178";
1315
+ plusButton = "_plusButton_1kr6k_186";
1316
+ connectedNodesWrapperExpanded = "_connectedNodesWrapperExpanded_1kr6k_204";
1317
+ connectedNodesMultiple = "_connectedNodesMultiple_1kr6k_210";
1318
+ connectedNode = "_connectedNode_1kr6k_178";
1319
+ connectedNodes = "_connectedNodes_1kr6k_178";
1320
+ nodeWrapper = "_nodeWrapper_1kr6k_249";
1321
+ NDVSubConnections_vue_vue_type_style_index_0_lang_module_default = {
1322
+ container: container$1,
1323
+ connections,
1324
+ connectionType,
1325
+ connectionLabel,
1326
+ hasIssues,
1327
+ connectedNodesWrapper,
1328
+ plusButton,
1329
+ "horizontal-shake": "_horizontal-shake_1kr6k_1",
1330
+ connectedNodesWrapperExpanded,
1331
+ connectedNodesMultiple,
1332
+ connectedNode,
1333
+ connectedNodes,
1334
+ nodeWrapper
1335
+ }; //#endregion
1336
+ //#region src/features/ndv/panel/components/NDVSubConnections.vue
1337
+ cssModules$6 = {
1338
+ "$style": NDVSubConnections_vue_vue_type_style_index_0_lang_module_default
1339
+ };
1340
+ NDVSubConnections_default = /* @__PURE__ */__plugin_vue_export_helper_default(NDVSubConnections_vue_vue_type_script_setup_true_lang_default, [["__cssModules", cssModules$6]]); //#endregion
1341
+ //#region src/app/composables/useNodeDocsUrl.ts
1342
+ _export("n", useNodeDocsUrl = ({
1343
+ nodeType: nodeTypeRef
1344
+ }) => {
1345
+ const packageName = computed(() => toValue(nodeTypeRef)?.name.split(".")[0] ?? "");
1346
+ const isCommunityNode = computed(() => {
1347
+ const nodeType = toValue(nodeTypeRef);
1348
+ if (nodeType) return isCommunityPackageName(nodeType.name);
1349
+ return false;
1350
+ });
1351
+ return {
1352
+ docsUrl: computed(() => {
1353
+ const nodeType = toValue(nodeTypeRef);
1354
+ if (!nodeType) return "";
1355
+ if (nodeType.documentationUrl?.startsWith("http")) return nodeType.documentationUrl;
1356
+ const utmParams = new URLSearchParams({
1357
+ utm_source: "n8n_app",
1358
+ utm_medium: "node_settings_modal-credential_link",
1359
+ utm_campaign: nodeType.name
1360
+ });
1361
+ const primaryDocUrl = nodeType.codex?.resources?.primaryDocumentation?.[0]?.url;
1362
+ if (primaryDocUrl) return `${primaryDocUrl}?${utmParams.toString()}`;
1363
+ if (isCommunityNode.value) return `${NPM_PACKAGE_DOCS_BASE_URL}${packageName.value}`;
1364
+ return `${BUILTIN_NODES_DOCS_URL}?${utmParams.toString()}`;
1365
+ })
1366
+ };
1367
+ }); //#endregion
1368
+ //#region src/features/ndv/settings/components/NodeSettingsTabs.vue?vue&type=script&setup=true&lang.ts
1369
+ NodeSettingsTabs_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */defineComponent({
1370
+ __name: "NodeSettingsTabs",
1371
+ props: {
1372
+ modelValue: {
1373
+ default: "params"
1374
+ },
1375
+ nodeType: {
1376
+ default: void 0
1377
+ },
1378
+ pushRef: {
1379
+ default: ""
1380
+ },
1381
+ hideDocs: {
1382
+ type: Boolean
1383
+ },
1384
+ tabsVariant: {
1385
+ default: void 0
1386
+ },
1387
+ includeAction: {
1388
+ type: Boolean
1389
+ },
1390
+ includeCredential: {
1391
+ type: Boolean
1392
+ },
1393
+ hasCredentialIssue: {
1394
+ type: Boolean,
1395
+ default: false
1396
+ },
1397
+ compact: {
1398
+ type: Boolean
1399
+ }
1400
+ },
1401
+ emits: ["update:model-value"],
1402
+ setup(__props, {
1403
+ emit: __emit
1404
+ }) {
1405
+ const props = __props;
1406
+ const emit = __emit;
1407
+ const externalHooks = useExternalHooks();
1408
+ const ndvStore = useNDVStore();
1409
+ const workflowsStore = useWorkflowsStore();
1410
+ const i18n = useI18n();
1411
+ const telemetry = useTelemetry();
1412
+ const {
1413
+ docsUrl
1414
+ } = useNodeDocsUrl({
1415
+ nodeType: () => props.nodeType
1416
+ });
1417
+ const activeNode = computed(() => ndvStore.activeNode);
1418
+ const {
1419
+ installedPackage,
1420
+ isCommunityNode,
1421
+ isUpdateCheckAvailable
1422
+ } = useInstalledCommunityPackage(computed(() => props.nodeType?.name));
1423
+ const packageName = computed(() => props.nodeType?.name.split(".")[0] ?? "");
1424
+ const documentationUrl = computed(() => {
1425
+ if (props.hideDocs) return "";
1426
+ return docsUrl.value;
1427
+ });
1428
+ const options = computed(() => {
1429
+ const ret = [];
1430
+ if (props.includeAction) ret.push({
1431
+ label: i18n.baseText("nodeSettings.action"),
1432
+ value: "action"
1433
+ });
1434
+ if (props.includeCredential) ret.push({
1435
+ label: i18n.baseText("nodeSettings.credential"),
1436
+ value: "credential",
1437
+ ...(props.hasCredentialIssue && {
1438
+ icon: "triangle-alert",
1439
+ iconPosition: "right",
1440
+ variant: "danger"
1441
+ })
1442
+ });
1443
+ ret.push({
1444
+ label: i18n.baseText(props.compact ? "nodeSettings.parametersShort" : "nodeSettings.parameters"),
1445
+ value: "params"
1446
+ }, {
1447
+ value: "settings",
1448
+ notification: isUpdateCheckAvailable.value && installedPackage.value?.updateAvailable ? true : void 0,
1449
+ ...(props.compact ? {
1450
+ icon: "settings",
1451
+ align: "right",
1452
+ tooltip: i18n.baseText("nodeSettings.settings")
1453
+ } : {
1454
+ label: i18n.baseText("nodeSettings.settings")
1455
+ })
1456
+ });
1457
+ if (isCommunityNode.value) ret.push({
1458
+ icon: "box",
1459
+ value: "communityNode",
1460
+ align: "right",
1461
+ tooltip: i18n.baseText("generic.communityNode.tooltip", {
1462
+ interpolate: {
1463
+ docUrl: COMMUNITY_NODES_INSTALLATION_DOCS_URL,
1464
+ packageName: packageName.value
1465
+ }
1466
+ })
1467
+ });
1468
+ if (documentationUrl.value) ret.push({
1469
+ value: "docs",
1470
+ href: documentationUrl.value,
1471
+ align: "right",
1472
+ ...(props.compact ? {
1473
+ icon: "book-open",
1474
+ tooltip: i18n.baseText("nodeSettings.docs")
1475
+ } : {
1476
+ label: i18n.baseText("nodeSettings.docs")
1477
+ })
1478
+ });
1479
+ return ret;
1480
+ });
1481
+ function onTabSelect(tab) {
1482
+ if (tab === "docs" && props.nodeType) {
1483
+ externalHooks.run("dataDisplay.onDocumentationUrlClick", {
1484
+ nodeType: props.nodeType,
1485
+ documentationUrl: documentationUrl.value
1486
+ });
1487
+ telemetry.track("User clicked ndv link", {
1488
+ node_type: activeNode.value?.type,
1489
+ workflow_id: workflowsStore.workflowId,
1490
+ push_ref: props.pushRef,
1491
+ pane: NodeConnectionTypes.Main,
1492
+ type: "docs"
1493
+ });
1494
+ }
1495
+ if (tab === "settings" && props.nodeType) telemetry.track("User viewed node settings", {
1496
+ node_type: props.nodeType.name,
1497
+ workflow_id: workflowsStore.workflowId
1498
+ });
1499
+ if (tab === "settings" || tab === "params" || tab === "action" || tab === "credential") emit("update:model-value", tab);
1500
+ }
1501
+ function onTooltipClick(tab, event) {
1502
+ if (tab === "communityNode" && event.target.localName === "a") telemetry.track("user clicked cnr docs link", {
1503
+ source: "node details view"
1504
+ });
1505
+ }
1506
+ return (_ctx, _cache) => {
1507
+ return openBlock(), createBlock(unref(N8nTabs_default), {
1508
+ options: options.value,
1509
+ "model-value": _ctx.modelValue,
1510
+ variant: _ctx.tabsVariant,
1511
+ size: _ctx.compact ? "small" : "medium",
1512
+ "onUpdate:modelValue": onTabSelect,
1513
+ onTooltipClick
1514
+ }, null, 8, ["options", "model-value", "variant", "size"]);
1515
+ };
1516
+ }
1517
+ }); //#endregion
1518
+ //#region src/features/ndv/settings/components/NodeSettingsTabs.vue
1519
+ NodeSettingsTabs_default = NodeSettingsTabs_vue_vue_type_script_setup_true_lang_default; //#endregion
1520
+ //#region src/features/ndv/settings/components/NodeSettingsHeader.vue?vue&type=script&setup=true&lang.ts
1521
+ NodeSettingsHeader_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */defineComponent({
1522
+ __name: "NodeSettingsHeader",
1523
+ props: {
1524
+ nodeName: {},
1525
+ hideExecute: {
1526
+ type: Boolean
1527
+ },
1528
+ hideDocs: {
1529
+ type: Boolean
1530
+ },
1531
+ hideTabs: {
1532
+ type: Boolean
1533
+ },
1534
+ disableExecute: {
1535
+ type: Boolean
1536
+ },
1537
+ executeButtonTooltip: {},
1538
+ selectedTab: {},
1539
+ nodeType: {},
1540
+ pushRef: {}
1541
+ },
1542
+ emits: ["execute", "stop-execution", "value-changed", "tab-changed"],
1543
+ setup(__props, {
1544
+ emit: __emit
1545
+ }) {
1546
+ const emit = __emit;
1547
+ return (_ctx, _cache) => {
1548
+ return openBlock(), createElementBlock("div", {
1549
+ class: normalizeClass(_ctx.$style.header)
1550
+ }, [!_ctx.hideTabs ? (openBlock(), createBlock(NodeSettingsTabs_default, {
1551
+ key: 0,
1552
+ "hide-docs": _ctx.hideDocs,
1553
+ "model-value": _ctx.selectedTab,
1554
+ "node-type": _ctx.nodeType,
1555
+ "push-ref": _ctx.pushRef,
1556
+ class: normalizeClass(_ctx.$style.tabs),
1557
+ "tabs-variant": "modern",
1558
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => emit("tab-changed", $event))
1559
+ }, null, 8, ["hide-docs", "model-value", "node-type", "push-ref", "class"])) : createCommentVNode("", true), !_ctx.hideExecute ? (openBlock(), createBlock(NodeExecuteButton_default, {
1560
+ key: 1,
1561
+ "data-test-id": "node-execute-button",
1562
+ "node-name": _ctx.nodeName,
1563
+ disabled: _ctx.disableExecute,
1564
+ tooltip: _ctx.executeButtonTooltip,
1565
+ class: normalizeClass(_ctx.$style.execute),
1566
+ size: "small",
1567
+ "telemetry-source": "parameters",
1568
+ onExecute: _cache[1] || (_cache[1] = $event => emit("execute")),
1569
+ onStopExecution: _cache[2] || (_cache[2] = $event => emit("stop-execution")),
1570
+ onValueChanged: _cache[3] || (_cache[3] = $event => emit("value-changed", $event))
1571
+ }, null, 8, ["node-name", "disabled", "tooltip", "class"])) : createCommentVNode("", true)], 2);
1572
+ };
1573
+ }
1574
+ }); //#endregion
1575
+ //#region src/features/ndv/settings/components/NodeSettingsHeader.vue?vue&type=style&index=0&lang.module.scss
1576
+ header$1 = "_header_qhhug_123";
1577
+ execute = "_execute_qhhug_131";
1578
+ tabs = "_tabs_qhhug_135";
1579
+ NodeSettingsHeader_vue_vue_type_style_index_0_lang_module_default = {
1580
+ header: header$1,
1581
+ execute,
1582
+ tabs
1583
+ }; //#endregion
1584
+ //#region src/features/ndv/settings/components/NodeSettingsHeader.vue
1585
+ cssModules$5 = {
1586
+ "$style": NodeSettingsHeader_vue_vue_type_style_index_0_lang_module_default
1587
+ };
1588
+ NodeSettingsHeader_default = /* @__PURE__ */__plugin_vue_export_helper_default(NodeSettingsHeader_vue_vue_type_script_setup_true_lang_default, [["__cssModules", cssModules$5]]); //#endregion
1589
+ //#region src/features/ndv/settings/components/NodeWebhooks.vue?vue&type=script&setup=true&lang.ts
1590
+ _hoisted_1$4 = {
1591
+ key: 0,
1592
+ class: "webhooks"
1593
+ };
1594
+ _hoisted_2$3 = ["title"];
1595
+ _hoisted_3$1 = {
1596
+ key: 0,
1597
+ class: "node-webhooks"
1598
+ };
1599
+ _hoisted_4$1 = {
1600
+ key: 0,
1601
+ class: "url-selection"
1602
+ };
1603
+ _hoisted_5$1 = {
1604
+ key: 0,
1605
+ class: "webhook-wrapper"
1606
+ };
1607
+ _hoisted_6 = {
1608
+ class: "http-field"
1609
+ };
1610
+ _hoisted_7 = {
1611
+ class: "http-method"
1612
+ };
1613
+ _hoisted_8 = {
1614
+ class: "url-field"
1615
+ };
1616
+ _hoisted_9 = ["onClick"];
1617
+ _hoisted_10 = {
1618
+ key: 1,
1619
+ class: "webhook-wrapper"
1620
+ };
1621
+ _hoisted_11 = {
1622
+ class: "url-field-full-width"
1623
+ };
1624
+ _hoisted_12 = ["onClick"];
1625
+ NodeWebhooks_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */defineComponent({
1626
+ __name: "NodeWebhooks",
1627
+ props: {
1628
+ node: {},
1629
+ nodeTypeDescription: {}
1630
+ },
1631
+ setup(__props) {
1632
+ const props = __props;
1633
+ const clipboard = useClipboard();
1634
+ const workflowHelpers = useWorkflowHelpers();
1635
+ const toast = useToast();
1636
+ const i18n = useI18n();
1637
+ const telemetry = useTelemetry();
1638
+ const isMinimized = ref(props.nodeTypeDescription && !OPEN_URL_PANEL_TRIGGER_NODE_TYPES.includes(props.nodeTypeDescription.name));
1639
+ const showUrlFor = ref("test");
1640
+ const isProductionOnly = computed(() => {
1641
+ return props.nodeTypeDescription && PRODUCTION_ONLY_TRIGGER_NODE_TYPES.includes(props.nodeTypeDescription.name);
1642
+ });
1643
+ const urlOptions = computed(() => [...(isProductionOnly.value ? [] : [{
1644
+ label: baseText.value.testUrl,
1645
+ value: "test"
1646
+ }]), {
1647
+ label: baseText.value.productionUrl,
1648
+ value: "production"
1649
+ }]);
1650
+ const visibleWebhookUrls = computed(() => {
1651
+ return webhooksNode.value.filter(webhook => {
1652
+ if (typeof webhook.ndvHideUrl === "string") return !workflowHelpers.getWebhookExpressionValue(webhook, "ndvHideUrl");
1653
+ return !webhook.ndvHideUrl;
1654
+ });
1655
+ });
1656
+ const webhooksNode = computed(() => {
1657
+ if (props.nodeTypeDescription?.webhooks === void 0) return [];
1658
+ return props.nodeTypeDescription.webhooks.filter(webhookData => webhookData.restartWebhook !== true);
1659
+ });
1660
+ const baseText = computed(() => {
1661
+ switch (props.nodeTypeDescription?.name) {
1662
+ case CHAT_TRIGGER_NODE_TYPE:
1663
+ return {
1664
+ toggleTitle: i18n.baseText("nodeWebhooks.webhookUrls.chatTrigger"),
1665
+ clickToDisplay: i18n.baseText("nodeWebhooks.clickToDisplayWebhookUrls.formTrigger"),
1666
+ clickToHide: i18n.baseText("nodeWebhooks.clickToHideWebhookUrls.chatTrigger"),
1667
+ clickToCopy: i18n.baseText("nodeWebhooks.clickToCopyWebhookUrls.chatTrigger"),
1668
+ testUrl: i18n.baseText("nodeWebhooks.testUrl"),
1669
+ productionUrl: i18n.baseText("nodeWebhooks.productionUrl"),
1670
+ copyTitle: i18n.baseText("nodeWebhooks.showMessage.title.chatTrigger"),
1671
+ copyMessage: i18n.baseText("nodeWebhooks.showMessage.message.chatTrigger")
1672
+ };
1673
+ case FORM_TRIGGER_NODE_TYPE:
1674
+ return {
1675
+ toggleTitle: i18n.baseText("nodeWebhooks.webhookUrls.formTrigger"),
1676
+ clickToDisplay: i18n.baseText("nodeWebhooks.clickToDisplayWebhookUrls.formTrigger"),
1677
+ clickToHide: i18n.baseText("nodeWebhooks.clickToHideWebhookUrls.formTrigger"),
1678
+ clickToCopy: i18n.baseText("nodeWebhooks.clickToCopyWebhookUrls.formTrigger"),
1679
+ testUrl: i18n.baseText("nodeWebhooks.testUrl"),
1680
+ productionUrl: i18n.baseText("nodeWebhooks.productionUrl"),
1681
+ copyTitle: i18n.baseText("nodeWebhooks.showMessage.title.formTrigger"),
1682
+ copyMessage: i18n.baseText("nodeWebhooks.showMessage.message.formTrigger")
1683
+ };
1684
+ case MCP_TRIGGER_NODE_TYPE:
1685
+ return {
1686
+ toggleTitle: i18n.baseText("nodeWebhooks.webhookUrls.mcpTrigger"),
1687
+ clickToDisplay: i18n.baseText("nodeWebhooks.clickToDisplayWebhookUrls.mcpTrigger"),
1688
+ clickToHide: i18n.baseText("nodeWebhooks.clickToHideWebhookUrls.mcpTrigger"),
1689
+ clickToCopy: i18n.baseText("nodeWebhooks.clickToCopyWebhookUrls.mcpTrigger"),
1690
+ testUrl: i18n.baseText("nodeWebhooks.testUrl"),
1691
+ productionUrl: i18n.baseText("nodeWebhooks.productionUrl"),
1692
+ copyTitle: i18n.baseText("nodeWebhooks.showMessage.title.mcpTrigger"),
1693
+ copyMessage: void 0
1694
+ };
1695
+ default:
1696
+ return {
1697
+ toggleTitle: i18n.baseText("nodeWebhooks.webhookUrls"),
1698
+ clickToDisplay: i18n.baseText("nodeWebhooks.clickToDisplayWebhookUrls"),
1699
+ clickToHide: i18n.baseText("nodeWebhooks.clickToHideWebhookUrls"),
1700
+ clickToCopy: i18n.baseText("nodeWebhooks.clickToCopyWebhookUrls"),
1701
+ testUrl: i18n.baseText("nodeWebhooks.testUrl"),
1702
+ productionUrl: i18n.baseText("nodeWebhooks.productionUrl"),
1703
+ copyTitle: i18n.baseText("nodeWebhooks.showMessage.title"),
1704
+ copyMessage: void 0
1705
+ };
1706
+ }
1707
+ });
1708
+ function copyWebhookUrl(webhookData) {
1709
+ const webhookUrl = getWebhookUrlDisplay(webhookData);
1710
+ clipboard.copy(webhookUrl);
1711
+ toast.showMessage({
1712
+ title: baseText.value.copyTitle,
1713
+ message: baseText.value.copyMessage,
1714
+ type: "success"
1715
+ });
1716
+ telemetry.track("User copied webhook URL", {
1717
+ pane: "parameters",
1718
+ type: `${showUrlFor.value} url`
1719
+ });
1720
+ }
1721
+ function getWebhookUrlDisplay(webhookData) {
1722
+ if (props.node) return workflowHelpers.getWebhookUrl(webhookData, props.node, isProductionOnly.value ? "production" : showUrlFor.value);
1723
+ return "";
1724
+ }
1725
+ function isWebhookMethodVisible(webhook) {
1726
+ try {
1727
+ const method = workflowHelpers.getWebhookExpressionValue(webhook, "httpMethod", false);
1728
+ if (Array.isArray(method) && method.length !== 1) return false;
1729
+ } catch (error) {}
1730
+ if (typeof webhook.ndvHideMethod === "string") return !workflowHelpers.getWebhookExpressionValue(webhook, "ndvHideMethod");
1731
+ return !webhook.ndvHideMethod;
1732
+ }
1733
+ function getWebhookHttpMethod(webhook) {
1734
+ const method = workflowHelpers.getWebhookExpressionValue(webhook, "httpMethod", false);
1735
+ if (Array.isArray(method)) return method[0];
1736
+ return method;
1737
+ }
1738
+ watch(() => props.node, () => {
1739
+ isMinimized.value = props.nodeTypeDescription && !OPEN_URL_PANEL_TRIGGER_NODE_TYPES.includes(props.nodeTypeDescription.name);
1740
+ });
1741
+ return (_ctx, _cache) => {
1742
+ return webhooksNode.value.length && visibleWebhookUrls.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_1$4, [createBaseVNode("div", {
1743
+ class: normalizeClass(["clickable headline", {
1744
+ expanded: !isMinimized.value
1745
+ }]),
1746
+ title: isMinimized.value ? baseText.value.clickToDisplay : baseText.value.clickToHide,
1747
+ onClick: _cache[0] || (_cache[0] = $event => isMinimized.value = !isMinimized.value)
1748
+ }, [createVNode(unref(N8nIcon_default), {
1749
+ icon: "chevron-right",
1750
+ class: "minimize-button minimize-icon"
1751
+ }), createTextVNode(" " + toDisplayString(baseText.value.toggleTitle), 1)], 10, _hoisted_2$3), createVNode(unref(ElCollapseTransition), null, {
1752
+ default: withCtx(() => [!isMinimized.value ? (openBlock(), createElementBlock("div", _hoisted_3$1, [!isProductionOnly.value ? (openBlock(), createElementBlock("div", _hoisted_4$1, [createVNode(unref(ElRow), null, {
1753
+ default: withCtx(() => [createVNode(unref(ElCol), {
1754
+ span: 24
1755
+ }, {
1756
+ default: withCtx(() => [createVNode(unref(N8nRadioButtons_default), {
1757
+ modelValue: showUrlFor.value,
1758
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = $event => showUrlFor.value = $event),
1759
+ options: urlOptions.value
1760
+ }, null, 8, ["modelValue", "options"])]),
1761
+ _: 1
1762
+ })]),
1763
+ _: 1
1764
+ })])) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList(visibleWebhookUrls.value, (webhook, index) => {
1765
+ return openBlock(), createBlock(unref(N8nTooltip_default), {
1766
+ key: index,
1767
+ class: "item",
1768
+ content: baseText.value.clickToCopy,
1769
+ placement: "left"
1770
+ }, {
1771
+ default: withCtx(() => [isWebhookMethodVisible(webhook) ? (openBlock(), createElementBlock("div", _hoisted_5$1, [createBaseVNode("div", _hoisted_6, [createBaseVNode("div", _hoisted_7, [createTextVNode(toDisplayString(getWebhookHttpMethod(webhook)), 1), _cache[2] || (_cache[2] = createBaseVNode("br", null, null, -1))])]), createBaseVNode("div", _hoisted_8, [createBaseVNode("div", {
1772
+ class: "webhook-url left-ellipsis clickable",
1773
+ onClick: $event => copyWebhookUrl(webhook)
1774
+ }, [createTextVNode(toDisplayString(getWebhookUrlDisplay(webhook)), 1), _cache[3] || (_cache[3] = createBaseVNode("br", null, null, -1))], 8, _hoisted_9)])])) : (openBlock(), createElementBlock("div", _hoisted_10, [createBaseVNode("div", _hoisted_11, [createBaseVNode("div", {
1775
+ class: "webhook-url left-ellipsis clickable",
1776
+ onClick: $event => copyWebhookUrl(webhook)
1777
+ }, [createTextVNode(toDisplayString(getWebhookUrlDisplay(webhook)), 1), _cache[4] || (_cache[4] = createBaseVNode("br", null, null, -1))], 8, _hoisted_12)])]))]),
1778
+ _: 2
1779
+ }, 1032, ["content"]);
1780
+ }), 128))])) : createCommentVNode("", true)]),
1781
+ _: 1
1782
+ })])) : createCommentVNode("", true);
1783
+ };
1784
+ }
1785
+ }); //#endregion
1786
+ //#region src/features/ndv/settings/components/NodeWebhooks.vue
1787
+ NodeWebhooks_default = /* @__PURE__ */__plugin_vue_export_helper_default(NodeWebhooks_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-66c974d9"]]); //#endregion
1788
+ //#region src/features/workflows/canvas/experimental/components/ExperimentalEmbeddedNdvHeader.vue?vue&type=script&setup=true&lang.ts
1789
+ ExperimentalEmbeddedNdvHeader_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */defineComponent({
1790
+ __name: "ExperimentalEmbeddedNdvHeader",
1791
+ props: {
1792
+ node: {},
1793
+ readOnly: {
1794
+ type: Boolean
1795
+ },
1796
+ nodeType: {},
1797
+ pushRef: {},
1798
+ subTitle: {},
1799
+ extraTabsClassName: {},
1800
+ selectedTab: {},
1801
+ includeAction: {
1802
+ type: Boolean
1803
+ },
1804
+ includeCredential: {
1805
+ type: Boolean
1806
+ },
1807
+ hasCredentialIssue: {
1808
+ type: Boolean
1809
+ }
1810
+ },
1811
+ emits: ["name-changed", "dblclick-title", "tab-changed"],
1812
+ setup(__props, {
1813
+ emit: __emit
1814
+ }) {
1815
+ const emit = __emit;
1816
+ return (_ctx, _cache) => {
1817
+ return openBlock(), createElementBlock("div", {
1818
+ class: normalizeClass([_ctx.$style.component, _ctx.node.disabled ? _ctx.$style.disabled : ""])
1819
+ }, [createBaseVNode("div", {
1820
+ class: normalizeClass(_ctx.$style.title),
1821
+ onDblclick: _cache[1] || (_cache[1] = $event => emit("dblclick-title", $event))
1822
+ }, [createVNode(NodeIcon_default, {
1823
+ "node-type": _ctx.nodeType,
1824
+ size: 16
1825
+ }, null, 8, ["node-type"]), createBaseVNode("div", {
1826
+ class: normalizeClass(_ctx.$style.titleText)
1827
+ }, [createVNode(unref(N8nInlineTextEdit_default), {
1828
+ "min-width": 0,
1829
+ "model-value": _ctx.node.name,
1830
+ "read-only": _ctx.readOnly,
1831
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => emit("name-changed", $event))
1832
+ }, null, 8, ["model-value", "read-only"])], 2), createVNode(unref(N8nText_default), {
1833
+ bold: "",
1834
+ size: "small",
1835
+ color: "text-light",
1836
+ class: normalizeClass(_ctx.$style.subTitleText)
1837
+ }, {
1838
+ default: withCtx(() => [createTextVNode(toDisplayString(_ctx.subTitle), 1)]),
1839
+ _: 1
1840
+ }, 8, ["class"]), renderSlot(_ctx.$slots, "actions")], 34), createBaseVNode("div", {
1841
+ class: normalizeClass(_ctx.$style.tabsContainer)
1842
+ }, [createVNode(NodeSettingsTabs_default, {
1843
+ class: normalizeClass(_ctx.extraTabsClassName),
1844
+ "model-value": _ctx.selectedTab,
1845
+ "node-type": _ctx.nodeType,
1846
+ "push-ref": _ctx.pushRef,
1847
+ "tabs-variant": "modern",
1848
+ compact: "",
1849
+ "include-action": _ctx.includeAction,
1850
+ "include-credential": _ctx.includeCredential,
1851
+ "has-credential-issue": _ctx.hasCredentialIssue,
1852
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = $event => emit("tab-changed", $event))
1853
+ }, null, 8, ["class", "model-value", "node-type", "push-ref", "include-action", "include-credential", "has-credential-issue"])], 2)], 2);
1854
+ };
1855
+ }
1856
+ }); //#endregion
1857
+ //#region src/features/workflows/canvas/experimental/components/ExperimentalEmbeddedNdvHeader.vue?vue&type=style&index=0&lang.module.scss
1858
+ component$1 = "_component_13igc_123";
1859
+ title = "_title_13igc_127";
1860
+ disabled = "_disabled_13igc_135";
1861
+ titleText = "_titleText_13igc_139";
1862
+ subTitleText = "_subTitleText_13igc_151";
1863
+ tabsContainer = "_tabsContainer_13igc_160";
1864
+ ExperimentalEmbeddedNdvHeader_vue_vue_type_style_index_0_lang_module_default = {
1865
+ component: component$1,
1866
+ title,
1867
+ disabled,
1868
+ titleText,
1869
+ subTitleText,
1870
+ tabsContainer
1871
+ }; //#endregion
1872
+ //#region src/features/workflows/canvas/experimental/components/ExperimentalEmbeddedNdvHeader.vue
1873
+ cssModules$4 = {
1874
+ "$style": ExperimentalEmbeddedNdvHeader_vue_vue_type_style_index_0_lang_module_default
1875
+ };
1876
+ ExperimentalEmbeddedNdvHeader_default = /* @__PURE__ */__plugin_vue_export_helper_default(ExperimentalEmbeddedNdvHeader_vue_vue_type_script_setup_true_lang_default, [["__cssModules", cssModules$4]]); //#endregion
1877
+ //#region src/app/components/NodeActionsList.vue?vue&type=script&setup=true&lang.ts
1878
+ _hoisted_1$3 = ["onClick"];
1879
+ NodeActionsList_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */defineComponent({
1880
+ __name: "NodeActionsList",
1881
+ props: {
1882
+ node: {}
1883
+ },
1884
+ emits: ["actionSelected"],
1885
+ setup(__props, {
1886
+ emit: __emit
1887
+ }) {
1888
+ const emit = __emit;
1889
+ const nodeTypesStore = useNodeTypesStore();
1890
+ const {
1891
+ generateMergedNodesAndActions
1892
+ } = useActionsGenerator();
1893
+ const {
1894
+ parseCategoryActions,
1895
+ getActionData
1896
+ } = useActions();
1897
+ const i18n = useI18n();
1898
+ const selectedActionRef = ref();
1899
+ const nodeType = computed(() => nodeTypesStore.getNodeType(__props.node.type, __props.node.typeVersion));
1900
+ const options = computed(() => {
1901
+ const {
1902
+ actions
1903
+ } = generateMergedNodesAndActions(nodeType.value ? [nodeType.value] : [], []);
1904
+ return parseCategoryActions(Object.values(actions).flatMap(typeDescriptions => typeDescriptions.filter(({
1905
+ actionKey
1906
+ }) => actionKey !== CUSTOM_API_CALL_KEY).map(typeDescription => ({
1907
+ type: "action",
1908
+ subcategory: typeDescription.actionKey,
1909
+ key: typeDescription.actionKey,
1910
+ properties: typeDescription
1911
+ }))), i18n.baseText("nodeCreator.actionsCategory.actions"), true).map(action => {
1912
+ if (action.type !== "action") return {
1913
+ action,
1914
+ isSelected: false
1915
+ };
1916
+ const data = getActionData(action.properties).value;
1917
+ let isSelected = true;
1918
+ for (const [key, value] of Object.entries(data)) isSelected = isSelected && __props.node.parameters[key] === value;
1919
+ return {
1920
+ action,
1921
+ isSelected
1922
+ };
1923
+ });
1924
+ });
1925
+ function handleClickOption(option$1) {
1926
+ if (option$1.type !== "action") return;
1927
+ emit("actionSelected", getActionData(option$1.properties).value);
1928
+ }
1929
+ function handleSelectedItemRef(el) {
1930
+ if (el instanceof HTMLDivElement) selectedActionRef.value = el;
1931
+ }
1932
+ watch(selectedActionRef, selected$1 => {
1933
+ selected$1?.scrollIntoView();
1934
+ }, {
1935
+ flush: "post"
1936
+ });
1937
+ return (_ctx, _cache) => {
1938
+ return openBlock(), createElementBlock("div", {
1939
+ class: normalizeClass(_ctx.$style.component)
1940
+ }, [(openBlock(true), createElementBlock(Fragment, null, renderList(options.value, option$1 => {
1941
+ return openBlock(), createElementBlock(Fragment, {
1942
+ key: option$1.action.key
1943
+ }, [option$1.action.type === "label" ? (openBlock(), createBlock(unref(N8nText_default), {
1944
+ key: 0,
1945
+ tag: "div",
1946
+ class: normalizeClass(_ctx.$style.label),
1947
+ size: "xsmall",
1948
+ color: "text-base",
1949
+ bold: ""
1950
+ }, {
1951
+ default: withCtx(() => [createTextVNode(toDisplayString(option$1.action.key), 1)]),
1952
+ _: 2
1953
+ }, 1032, ["class"])) : option$1.action.type === "action" ? (openBlock(), createElementBlock("div", {
1954
+ key: 1,
1955
+ ref_for: true,
1956
+ ref: option$1.isSelected ? handleSelectedItemRef : void 0,
1957
+ class: normalizeClass({
1958
+ [_ctx.$style.option]: true,
1959
+ [_ctx.$style.selected]: option$1.isSelected
1960
+ }),
1961
+ role: "button",
1962
+ onClick: $event => handleClickOption(option$1.action)
1963
+ }, [createVNode(NodeIcon_default, {
1964
+ size: 20,
1965
+ "node-type": nodeType.value
1966
+ }, null, 8, ["node-type"]), createVNode(unref(N8nText_default), {
1967
+ size: "small",
1968
+ bold: "",
1969
+ class: normalizeClass(_ctx.$style.optionText)
1970
+ }, {
1971
+ default: withCtx(() => [createTextVNode(toDisplayString(option$1.action.properties.displayName), 1)]),
1972
+ _: 2
1973
+ }, 1032, ["class"]), option$1.isSelected ? (openBlock(), createBlock(unref(N8nIcon_default), {
1974
+ key: 0,
1975
+ icon: "check",
1976
+ color: "primary"
1977
+ })) : createCommentVNode("", true)], 10, _hoisted_1$3)) : createCommentVNode("", true)], 64);
1978
+ }), 128))], 2);
1979
+ };
1980
+ }
1981
+ }); //#endregion
1982
+ //#region src/app/components/NodeActionsList.vue?vue&type=style&index=0&lang.module.scss
1983
+ component = "_component_1vh3g_123";
1984
+ label = "_label_1vh3g_127";
1985
+ option = "_option_1vh3g_132";
1986
+ selected = "_selected_1vh3g_139";
1987
+ optionText = "_optionText_1vh3g_143";
1988
+ NodeActionsList_vue_vue_type_style_index_0_lang_module_default = {
1989
+ component,
1990
+ label,
1991
+ option,
1992
+ selected,
1993
+ optionText
1994
+ }; //#endregion
1995
+ //#region src/app/components/NodeActionsList.vue
1996
+ cssModules$3 = {
1997
+ "$style": NodeActionsList_vue_vue_type_style_index_0_lang_module_default
1998
+ };
1999
+ NodeActionsList_default = /* @__PURE__ */__plugin_vue_export_helper_default(NodeActionsList_vue_vue_type_script_setup_true_lang_default, [["__cssModules", cssModules$3]]); //#endregion
2000
+ //#region src/features/ndv/settings/components/NodeSettingsInvalidNodeWarning.vue?vue&type=script&setup=true&lang.ts
2001
+ _hoisted_1$2 = {
2002
+ class: "mt-s mb-xs"
2003
+ };
2004
+ _hoisted_2$2 = ["href", "textContent"];
2005
+ NodeSettingsInvalidNodeWarning_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */defineComponent({
2006
+ __name: "NodeSettingsInvalidNodeWarning",
2007
+ props: {
2008
+ node: {},
2009
+ previewMode: {
2010
+ type: Boolean,
2011
+ default: false
2012
+ }
2013
+ },
2014
+ setup(__props) {
2015
+ const i18n = useI18n();
2016
+ const telemetry = useTelemetry();
2017
+ const nodeTypesStore = useNodeTypesStore();
2018
+ const uiStore = useUIStore();
2019
+ const ndvStore = useNDVStore();
2020
+ const nodeCreatorStore = useNodeCreatorStore();
2021
+ const usersStore = useUsersStore();
2022
+ const isCommunityNode = computed(() => isCommunityPackageName(__props.node.type));
2023
+ const isVerifiedCommunityNode = computed(() => isCommunityPackageName(__props.node.type) && nodeTypesStore.communityNodeType(__props.node.type)?.isOfficialNode);
2024
+ const npmPackage = computed(() => removePreviewToken(__props.node.type.split(".")[0]));
2025
+ const isOwner = computed(() => usersStore.isInstanceOwner);
2026
+ const {
2027
+ installNode,
2028
+ loading
2029
+ } = useInstallNode();
2030
+ const isNodeDefined = computed(() => !!nodeTypesStore.nodeTypes[__props.node.type]);
2031
+ async function onViewDetailsClick() {
2032
+ telemetry.track("user clicked cnr docs link", {
2033
+ source: "missing node modal source",
2034
+ package_name: __props.node.type.split(".")[0],
2035
+ node_type: __props.node.type
2036
+ });
2037
+ if (isVerifiedCommunityNode.value) await nodeCreatorStore.openNodeCreatorWithNode(__props.node.name);else if (npmPackage.value) window.open(`https://www.npmjs.com/package/${npmPackage.value}`, "_blank");
2038
+ }
2039
+ async function onInstallClick() {
2040
+ telemetry.track("user clicked cnr install button", {
2041
+ source: "missing node modal source",
2042
+ package_name: npmPackage.value,
2043
+ node_type: __props.node.type
2044
+ });
2045
+ if (isVerifiedCommunityNode.value) await installNode({
2046
+ type: "verified",
2047
+ packageName: npmPackage.value,
2048
+ nodeType: __props.node.type
2049
+ });else uiStore.openModalWithData({
2050
+ name: COMMUNITY_PACKAGE_INSTALL_MODAL_KEY,
2051
+ data: {
2052
+ packageName: npmPackage.value,
2053
+ disableInput: true,
2054
+ hideSuggestion: true,
2055
+ nodeType: __props.node.type
2056
+ }
2057
+ });
2058
+ }
2059
+ watch(isNodeDefined, () => {
2060
+ if (isNodeDefined.value) ndvStore.unsetActiveNodeName();
2061
+ });
2062
+ return (_ctx, _cache) => {
2063
+ return openBlock(), createElementBlock("div", {
2064
+ class: normalizeClass(_ctx.$style.nodeIsNotValid)
2065
+ }, [createBaseVNode("p", {
2066
+ class: normalizeClass(_ctx.$style.warningIcon)
2067
+ }, [createVNode(unref(N8nIcon_default), {
2068
+ icon: "triangle-alert"
2069
+ })], 2), createBaseVNode("div", _hoisted_1$2, [createVNode(unref(N8nText_default), {
2070
+ size: "large",
2071
+ color: "text-dark",
2072
+ bold: ""
2073
+ }, {
2074
+ default: withCtx(() => [createTextVNode(toDisplayString(_ctx.previewMode ? unref(i18n).baseText("nodeSettings.communityNodeUnknown.title.preview") : unref(i18n).baseText("nodeSettings.communityNodeUnknown.title")), 1)]),
2075
+ _: 1
2076
+ })]), isCommunityNode.value && !_ctx.previewMode ? (openBlock(), createElementBlock("div", {
2077
+ key: 0,
2078
+ class: normalizeClass(_ctx.$style.descriptionContainer)
2079
+ }, [createVNode(unref(I18nT), {
2080
+ keypath: "nodeSettings.communityNodeUnknown.description",
2081
+ tag: "span",
2082
+ scope: "global"
2083
+ }, {
2084
+ action: withCtx(() => [createVNode(unref(N8nText_default), {
2085
+ size: "medium",
2086
+ bold: ""
2087
+ }, {
2088
+ default: withCtx(() => [createTextVNode(toDisplayString(npmPackage.value), 1)]),
2089
+ _: 1
2090
+ })]),
2091
+ _: 1
2092
+ }), isOwner.value ? (openBlock(), createElementBlock("div", {
2093
+ key: 0,
2094
+ class: normalizeClass(_ctx.$style.communityNodeActionsContainer)
2095
+ }, [isOwner.value ? (openBlock(), createBlock(unref(N8nButton_default), {
2096
+ key: 0,
2097
+ icon: "hard-drive-download",
2098
+ type: "primary",
2099
+ "data-test-id": "install-community-node-button",
2100
+ loading: unref(loading),
2101
+ disabled: unref(loading),
2102
+ onClick: onInstallClick
2103
+ }, {
2104
+ default: withCtx(() => [createTextVNode(toDisplayString(unref(i18n).baseText("nodeSettings.communityNodeUnknown.installButton.label")), 1)]),
2105
+ _: 1
2106
+ }, 8, ["loading", "disabled"])) : createCommentVNode("", true), createVNode(unref(N8nButton_default), {
2107
+ icon: "external-link",
2108
+ type: "secondary",
2109
+ onClick: onViewDetailsClick,
2110
+ "data-test-id": "view-details-button"
2111
+ }, {
2112
+ default: withCtx(() => [createTextVNode(toDisplayString(unref(i18n).baseText("nodeSettings.communityNodeUnknown.viewDetailsButton.label")), 1)]),
2113
+ _: 1
2114
+ })], 2)) : (openBlock(), createBlock(ContactAdministratorToInstall_default, {
2115
+ key: 1,
2116
+ box: false
2117
+ }))], 2)) : !_ctx.previewMode ? (openBlock(), createBlock(unref(I18nT), {
2118
+ key: 1,
2119
+ keypath: "nodeSettings.nodeTypeUnknown.description",
2120
+ tag: "span",
2121
+ scope: "global"
2122
+ }, {
2123
+ action: withCtx(() => [createBaseVNode("a", {
2124
+ href: unref(CUSTOM_NODES_DOCS_URL),
2125
+ target: "_blank",
2126
+ textContent: toDisplayString(unref(i18n).baseText("nodeSettings.nodeTypeUnknown.description.customNode"))
2127
+ }, null, 8, _hoisted_2$2)]),
2128
+ _: 1
2129
+ })) : createCommentVNode("", true)], 2);
2130
+ };
2131
+ }
2132
+ }); //#endregion
2133
+ //#region src/features/ndv/settings/components/NodeSettingsInvalidNodeWarning.vue?vue&type=style&index=0&lang.module.scss
2134
+ communityNodeActionsContainer = "_communityNodeActionsContainer_1mqmg_123";
2135
+ nodeIsNotValid = "_nodeIsNotValid_1mqmg_128";
2136
+ warningIcon = "_warningIcon_1mqmg_139";
2137
+ descriptionContainer = "_descriptionContainer_1mqmg_144";
2138
+ NodeSettingsInvalidNodeWarning_vue_vue_type_style_index_0_lang_module_default = {
2139
+ communityNodeActionsContainer,
2140
+ nodeIsNotValid,
2141
+ warningIcon,
2142
+ descriptionContainer
2143
+ }; //#endregion
2144
+ //#region src/features/ndv/settings/components/NodeSettingsInvalidNodeWarning.vue
2145
+ cssModules$2 = {
2146
+ "$style": NodeSettingsInvalidNodeWarning_vue_vue_type_style_index_0_lang_module_default
2147
+ };
2148
+ NodeSettingsInvalidNodeWarning_default = /* @__PURE__ */__plugin_vue_export_helper_default(NodeSettingsInvalidNodeWarning_vue_vue_type_script_setup_true_lang_default, [["__cssModules", cssModules$2]]); //#endregion
2149
+ //#region src/features/core/dataTable/components/NodeStorageLimitCallout.vue?vue&type=script&setup=true&lang.ts
2150
+ _hoisted_1$1 = {
2151
+ key: 0
2152
+ };
2153
+ _hoisted_2$1 = {
2154
+ key: 1
2155
+ };
2156
+ NodeStorageLimitCallout_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */defineComponent({
2157
+ __name: "NodeStorageLimitCallout",
2158
+ setup(__props) {
2159
+ const i18n = useI18n();
2160
+ const nvdStore = useNDVStore();
2161
+ const dataTableStore = useDataTableStore();
2162
+ const calloutType = computed(() => {
2163
+ if (!DATA_TABLE_NODES.includes(nvdStore.activeNode?.type ?? "")) return null;
2164
+ switch (dataTableStore.dataTableSizeLimitState) {
2165
+ case "error":
2166
+ return "danger";
2167
+ case "warn":
2168
+ return "warning";
2169
+ default:
2170
+ return null;
2171
+ }
2172
+ });
2173
+ return (_ctx, _cache) => {
2174
+ return calloutType.value ? (openBlock(), createBlock(unref(N8nCallout_default), {
2175
+ key: 0,
2176
+ theme: calloutType.value,
2177
+ class: "mt-xs"
2178
+ }, {
2179
+ default: withCtx(() => [calloutType.value === "danger" ? (openBlock(), createElementBlock("span", _hoisted_1$1, toDisplayString(unref(i18n).baseText("dataTable.banner.storageLimitError.message", {
2180
+ interpolate: {
2181
+ usage: `${unref(dataTableStore).dataTableSize} / ${unref(dataTableStore).maxSizeMB}MB`
2182
+ }
2183
+ })), 1)) : (openBlock(), createElementBlock("span", _hoisted_2$1, toDisplayString(unref(i18n).baseText("dataTable.banner.storageLimitWarning.message", {
2184
+ interpolate: {
2185
+ usage: `${unref(dataTableStore).dataTableSize} / ${unref(dataTableStore).maxSizeMB}MB`
2186
+ }
2187
+ })), 1))]),
2188
+ _: 1
2189
+ }, 8, ["theme"])) : createCommentVNode("", true);
2190
+ };
2191
+ }
2192
+ }); //#endregion
2193
+ //#region src/features/core/dataTable/components/NodeStorageLimitCallout.vue
2194
+ NodeStorageLimitCallout_default = NodeStorageLimitCallout_vue_vue_type_script_setup_true_lang_default; //#endregion
2195
+ //#region src/app/components/NodeTitle.vue?vue&type=script&setup=true&lang.ts
2196
+ NodeTitle_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */defineComponent({
2197
+ __name: "NodeTitle",
2198
+ props: {
2199
+ modelValue: {
2200
+ default: ""
2201
+ },
2202
+ nodeType: {
2203
+ default: void 0
2204
+ },
2205
+ iconSource: {
2206
+ default: void 0
2207
+ },
2208
+ readOnly: {
2209
+ type: Boolean,
2210
+ default: false
2211
+ }
2212
+ },
2213
+ emits: ["update:model-value"],
2214
+ setup(__props, {
2215
+ emit: __emit
2216
+ }) {
2217
+ const emit = __emit;
2218
+ function onRename(value) {
2219
+ if (value.trim() !== "") emit("update:model-value", value.trim());
2220
+ }
2221
+ const wrapperRef = useTemplateRef("wrapperRef");
2222
+ const {
2223
+ width
2224
+ } = useElementSize(wrapperRef);
2225
+ return (_ctx, _cache) => {
2226
+ return openBlock(), createElementBlock("span", {
2227
+ class: normalizeClass(_ctx.$style.container),
2228
+ "data-test-id": "node-title-container"
2229
+ }, [createBaseVNode("span", {
2230
+ class: normalizeClass(_ctx.$style.iconWrapper)
2231
+ }, [!_ctx.iconSource ? (openBlock(), createBlock(NodeIcon_default, {
2232
+ key: 0,
2233
+ "node-type": _ctx.nodeType,
2234
+ size: 18,
2235
+ "show-tooltip": true,
2236
+ "tooltip-position": "left"
2237
+ }, null, 8, ["node-type"])) : (openBlock(), createBlock(NodeIcon_default, {
2238
+ key: 1,
2239
+ "icon-source": _ctx.iconSource,
2240
+ size: 18,
2241
+ "show-tooltip": true,
2242
+ "tooltip-position": "left"
2243
+ }, null, 8, ["icon-source"]))], 2), createBaseVNode("div", {
2244
+ ref_key: "wrapperRef",
2245
+ ref: wrapperRef,
2246
+ class: normalizeClass(_ctx.$style.textWrapper)
2247
+ }, [createVNode(unref(N8nInlineTextEdit_default), {
2248
+ "max-width": unref(width),
2249
+ "model-value": _ctx.modelValue,
2250
+ "read-only": _ctx.readOnly,
2251
+ "onUpdate:modelValue": onRename
2252
+ }, null, 8, ["max-width", "model-value", "read-only"])], 2)], 2);
2253
+ };
2254
+ }
2255
+ }); //#endregion
2256
+ //#region src/app/components/NodeTitle.vue?vue&type=style&index=0&lang.module.scss
2257
+ container = "_container_oei61_123";
2258
+ textWrapper = "_textWrapper_oei61_132";
2259
+ iconWrapper = "_iconWrapper_oei61_137";
2260
+ NodeTitle_vue_vue_type_style_index_0_lang_module_default = {
2261
+ container,
2262
+ textWrapper,
2263
+ iconWrapper
2264
+ }; //#endregion
2265
+ //#region src/app/components/NodeTitle.vue
2266
+ cssModules$1 = {
2267
+ "$style": NodeTitle_vue_vue_type_style_index_0_lang_module_default
2268
+ };
2269
+ NodeTitle_default = /* @__PURE__ */__plugin_vue_export_helper_default(NodeTitle_vue_vue_type_script_setup_true_lang_default, [["__cssModules", cssModules$1]]); //#endregion
2270
+ //#region src/features/ndv/settings/components/NodeSettings.vue?vue&type=script&setup=true&lang.ts
2271
+ import_get = /* @__PURE__ */__toESM(require_get());
2272
+ _hoisted_1 = ["data-has-output-connection"];
2273
+ _hoisted_2 = {
2274
+ class: "header-side-menu"
2275
+ };
2276
+ _hoisted_3 = {
2277
+ key: 1,
2278
+ class: "no-parameters"
2279
+ };
2280
+ _hoisted_4 = {
2281
+ key: 2,
2282
+ class: "parameter-item parameter-notice",
2283
+ "data-test-id": "node-parameters-http-notice"
2284
+ };
2285
+ _hoisted_5 = {
2286
+ class: "node-version",
2287
+ "data-test-id": "node-version"
2288
+ };
2289
+ NodeSettings_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */defineComponent({
2290
+ __name: "NodeSettings",
2291
+ props: {
2292
+ eventBus: {},
2293
+ dragging: {
2294
+ type: Boolean
2295
+ },
2296
+ pushRef: {},
2297
+ readOnly: {
2298
+ type: Boolean
2299
+ },
2300
+ foreignCredentials: {},
2301
+ blockUI: {
2302
+ type: Boolean
2303
+ },
2304
+ executable: {
2305
+ type: Boolean
2306
+ },
2307
+ inputSize: {
2308
+ default: 0
2309
+ },
2310
+ activeNode: {
2311
+ default: void 0
2312
+ },
2313
+ isEmbeddedInCanvas: {
2314
+ type: Boolean,
2315
+ default: false
2316
+ },
2317
+ subTitle: {
2318
+ default: void 0
2319
+ },
2320
+ extraTabsClassName: {},
2321
+ extraParameterWrapperClassName: {},
2322
+ isNdvV2: {
2323
+ type: Boolean,
2324
+ default: false
2325
+ },
2326
+ hideExecute: {
2327
+ type: Boolean,
2328
+ default: false
2329
+ },
2330
+ hideDocs: {
2331
+ type: Boolean,
2332
+ default: true
2333
+ },
2334
+ hideSubConnections: {
2335
+ type: Boolean,
2336
+ default: false
2337
+ }
2338
+ },
2339
+ emits: ["stopExecution", "valueChanged", "switchSelectedNode", "openConnectionNodeCreator", "activate", "execute", "captureWheelBody", "dblclickHeader"],
2340
+ setup(__props, {
2341
+ emit: __emit
2342
+ }) {
2343
+ const props = __props;
2344
+ const emit = __emit;
2345
+ useSlots();
2346
+ const nodeValues = ref(getNodeSettingsInitialValues());
2347
+ const nodeTypesStore = useNodeTypesStore();
2348
+ const ndvStore = useNDVStore();
2349
+ const workflowsStore = useWorkflowsStore();
2350
+ const workflowState = injectWorkflowState();
2351
+ const credentialsStore = useCredentialsStore();
2352
+ const historyStore = useHistoryStore();
2353
+ const telemetry = useTelemetry();
2354
+ const nodeHelpers = useNodeHelpers();
2355
+ const externalHooks = useExternalHooks();
2356
+ const i18n = useI18n();
2357
+ const route = useRoute();
2358
+ const nodeSettingsParameters = useNodeSettingsParameters();
2359
+ const nodeParameterWrapper = useTemplateRef("nodeParameterWrapper");
2360
+ const shouldShowStaticScrollbar = ref(false);
2361
+ if (props.isEmbeddedInCanvas) useResizeObserver(nodeParameterWrapper, () => {
2362
+ shouldShowStaticScrollbar.value = (nodeParameterWrapper.value?.scrollHeight ?? 0) > (nodeParameterWrapper.value?.offsetHeight ?? 0);
2363
+ });
2364
+ const nodeValid = ref(true);
2365
+ const openPanel = ref("params");
2366
+ const nodeValuesInitialized = ref(false);
2367
+ const hiddenIssuesInputs = ref([]);
2368
+ const subConnections = ref(null);
2369
+ const isDemoRoute = computed(() => route?.name === VIEWS.DEMO);
2370
+ const {
2371
+ isPreviewMode
2372
+ } = useSettingsStore();
2373
+ const isDemoPreview = computed(() => isDemoRoute.value && isPreviewMode);
2374
+ const currentWorkflow = computed(() => workflowsStore.getWorkflowById(workflowsStore.workflowObject.id));
2375
+ const hasForeignCredential = computed(() => props.foreignCredentials.length > 0);
2376
+ const isHomeProjectTeam = computed(() => currentWorkflow.value?.homeProject?.type === ProjectTypes.Team);
2377
+ const isReadOnly = computed(() => props.readOnly || hasForeignCredential.value && !isHomeProjectTeam.value);
2378
+ const node = computed(() => props.activeNode ?? ndvStore.activeNode);
2379
+ const nodeType = computed(() => node.value ? nodeTypesStore.getNodeType(node.value.type, node.value.typeVersion) : null);
2380
+ const {
2381
+ areAllCredentialsSet
2382
+ } = useNodeCredentialOptions(node, nodeType, "");
2383
+ const {
2384
+ installedPackage,
2385
+ isUpdateCheckAvailable
2386
+ } = useInstalledCommunityPackage(computed(() => node.value?.type));
2387
+ const isTriggerNode = computed(() => !!node.value && nodeTypesStore.isTriggerNode(node.value.type));
2388
+ const isToolNode = computed(() => !!node.value && nodeTypesStore.isToolNode(node.value.type));
2389
+ const isExecutable = computed(() => nodeHelpers.isNodeExecutable(node.value, props.executable, props.foreignCredentials));
2390
+ const nodeTypeVersions = computed(() => {
2391
+ if (!node.value) return [];
2392
+ return nodeTypesStore.getNodeVersions(node.value.type);
2393
+ });
2394
+ const latestVersion = computed(() => Math.max(...nodeTypeVersions.value));
2395
+ const isLatestNodeVersion = computed(() => !node.value?.typeVersion || latestVersion.value === node.value.typeVersion);
2396
+ const executeButtonTooltip = computed(() => {
2397
+ if (node.value && isLatestNodeVersion.value && props.inputSize > 1 && !nodeHelpers.isSingleExecution(node.value.type, node.value.parameters)) return i18n.baseText("nodeSettings.executeButtonTooltip.times", {
2398
+ interpolate: {
2399
+ inputSize: props.inputSize
2400
+ }
2401
+ });
2402
+ return "";
2403
+ });
2404
+ const nodeVersionTag = computed(() => {
2405
+ if (!nodeType.value || nodeType.value.hidden) return i18n.baseText("nodeSettings.deprecated");
2406
+ if (isLatestNodeVersion.value) return i18n.baseText("nodeSettings.latest");
2407
+ return i18n.baseText("nodeSettings.latestVersion", {
2408
+ interpolate: {
2409
+ version: latestVersion.value.toString()
2410
+ }
2411
+ });
2412
+ });
2413
+ const parameters = computed(() => {
2414
+ if (nodeType.value === null) return [];
2415
+ return nodeType.value?.properties ?? [];
2416
+ });
2417
+ const parametersByTab = computed(() => collectParametersByTab(parameters.value, props.isEmbeddedInCanvas));
2418
+ const isDisplayingCredentials = computed(() => credentialsStore.getCredentialTypesNodeDescriptions("", nodeType.value).filter(credentialTypeDescription => displayCredentials(credentialTypeDescription)).length > 0);
2419
+ const showNoParametersNotice = computed(() => !isDisplayingCredentials.value && (parametersByTab.value.params ?? []).filter(item => item.type !== "notice").length === 0);
2420
+ const outputPanelEditMode = computed(() => ndvStore.outputPanelEditMode);
2421
+ const isCommunityNode = computed(() => !!node.value && isCommunityPackageName(node.value.type));
2422
+ const packageName = computed(() => node.value?.type.split(".")[0] ?? "");
2423
+ const usedCredentials = computed(() => Object.values(workflowsStore.usedCredentials).filter(credential => Object.values(node.value?.credentials || []).find(nodeCredential => nodeCredential.id === credential.id)));
2424
+ const credentialOwnerName = computed(() => {
2425
+ const credential = usedCredentials.value ? Object.values(usedCredentials.value).find(credential$1 => credential$1.id === props.foreignCredentials[0]) : void 0;
2426
+ return credentialsStore.getCredentialOwnerName(credential);
2427
+ });
2428
+ const featureRequestUrl = computed(() => {
2429
+ if (!nodeType.value) return "";
2430
+ return `${BASE_NODE_SURVEY_URL}${nodeType.value.name}`;
2431
+ });
2432
+ const hasOutputConnection = computed(() => {
2433
+ if (!node.value) return false;
2434
+ const outgoingConnections = workflowsStore.outgoingConnectionsByNodeName(node.value.name);
2435
+ return (Object.values(outgoingConnections)?.[0]?.[0] ?? []).length > 0;
2436
+ });
2437
+ const valueChanged = parameterData => {
2438
+ let newValue;
2439
+ if (parameterData.hasOwnProperty("value")) newValue = parameterData.value;else newValue = (0, import_get.default)(nodeValues.value, parameterData.name);
2440
+ const nodeNameBefore = parameterData.node || node.value?.name;
2441
+ if (!nodeNameBefore) return;
2442
+ const _node = workflowsStore.getNodeByName(nodeNameBefore);
2443
+ if (_node === null) return;
2444
+ if (parameterData.name === "name") emit("valueChanged", {
2445
+ value: newValue,
2446
+ oldValue: nodeNameBefore,
2447
+ name: parameterData.name
2448
+ });else if (parameterData.name === "parameters") {
2449
+ const _nodeType = nodeTypesStore.getNodeType(_node.type, _node.typeVersion);
2450
+ if (!_nodeType) return;
2451
+ let nodeParameters = getNodeParameters(_nodeType.properties, _node.parameters, false, false, _node, _nodeType);
2452
+ const oldNodeParameters = Object.assign({}, nodeParameters);
2453
+ nodeParameters = deepCopy(nodeParameters);
2454
+ if (parameterData.value && typeof parameterData.value === "object") for (const [parameterName, parameterValue] of Object.entries(parameterData.value)) {
2455
+ newValue = parameterValue;
2456
+ const parameterPath = nodeSettingsParameters.updateParameterByPath(parameterName, newValue, nodeParameters, _nodeType, _node.typeVersion);
2457
+ externalHooks.run("nodeSettings.valueChanged", {
2458
+ parameterPath,
2459
+ newValue,
2460
+ parameters: parameters.value,
2461
+ oldNodeParameters
2462
+ });
2463
+ }
2464
+ nodeParameters = getNodeParameters(_nodeType.properties, nodeParameters, true, false, _node, _nodeType);
2465
+ for (const key of Object.keys(nodeParameters)) if (nodeParameters?.[key] !== null && nodeParameters?.[key] !== void 0) nodeSettingsParameters.setValue(nodeValues, `parameters.${key}`, nodeParameters[key]);
2466
+ if (nodeParameters) {
2467
+ const updateInformation = {
2468
+ name: _node.name,
2469
+ value: nodeParameters
2470
+ };
2471
+ workflowState.setNodeParameters(updateInformation);
2472
+ nodeHelpers.updateNodeParameterIssuesByName(_node.name);
2473
+ nodeHelpers.updateNodeCredentialIssuesByName(_node.name);
2474
+ }
2475
+ } else if (nameIsParameter(parameterData)) nodeSettingsParameters.updateNodeParameter(nodeValues, parameterData, newValue, _node, isToolNode.value);else {
2476
+ nodeValues.value = {
2477
+ ...nodeValues.value,
2478
+ [parameterData.name]: newValue
2479
+ };
2480
+ const updateInformation = {
2481
+ name: _node.name,
2482
+ key: parameterData.name,
2483
+ value: newValue
2484
+ };
2485
+ workflowState.setNodeValue(updateInformation);
2486
+ }
2487
+ };
2488
+ const setHttpNodeParameters = parameters$1 => {
2489
+ try {
2490
+ valueChanged({
2491
+ node: node.value?.name,
2492
+ name: "parameters",
2493
+ value: parameters$1
2494
+ });
2495
+ } catch {}
2496
+ };
2497
+ const onSwitchSelectedNode = node$1 => {
2498
+ emit("switchSelectedNode", node$1);
2499
+ };
2500
+ const onOpenConnectionNodeCreator = (nodeName, connectionType$1, connectionIndex = 0) => {
2501
+ emit("openConnectionNodeCreator", nodeName, connectionType$1, connectionIndex);
2502
+ };
2503
+ const populateHiddenIssuesSet = () => {
2504
+ if (!node.value || !workflowsStore.isNodePristine(node.value.name)) return;
2505
+ hiddenIssuesInputs.value.push("credentials");
2506
+ parametersByTab.value.params.forEach(parameter => {
2507
+ hiddenIssuesInputs.value.push(parameter.name);
2508
+ });
2509
+ workflowsStore.setNodePristine(node.value.name, false);
2510
+ };
2511
+ const nodeSettings = computed(() => createCommonNodeSettings(isExecutable.value, isToolNode.value, i18n.baseText.bind(i18n)));
2512
+ const iconSource = computed(() => getNodeIconSource(nodeType.value ?? node.value?.type, node.value ?? null));
2513
+ const onParameterBlur = parameterName => {
2514
+ hiddenIssuesInputs.value = hiddenIssuesInputs.value.filter(name => name !== parameterName);
2515
+ };
2516
+ const onWorkflowActivate = () => {
2517
+ hiddenIssuesInputs.value = [];
2518
+ emit("activate");
2519
+ };
2520
+ const onNodeExecute = () => {
2521
+ hiddenIssuesInputs.value = [];
2522
+ subConnections.value?.showNodeInputsIssues();
2523
+ emit("execute");
2524
+ };
2525
+ const credentialSelected = updateInformation => {
2526
+ workflowState.updateNodeProperties(updateInformation);
2527
+ const node$1 = workflowsStore.getNodeByName(updateInformation.name);
2528
+ if (node$1) nodeHelpers.updateNodeCredentialIssues(node$1);
2529
+ externalHooks.run("nodeSettings.credentialSelected", {
2530
+ updateInformation
2531
+ });
2532
+ };
2533
+ const nameChanged = name => {
2534
+ if (node.value) historyStore.pushCommandToUndo(new RenameNodeCommand(node.value.name, name, Date.now()));
2535
+ valueChanged({
2536
+ value: name,
2537
+ name: "name"
2538
+ });
2539
+ };
2540
+ const setNodeValues = () => {
2541
+ if (!node.value) {
2542
+ nodeValuesInitialized.value = true;
2543
+ return;
2544
+ }
2545
+ if (nodeType.value !== null) {
2546
+ nodeValid.value = true;
2547
+ nodeValues.value = collectSettings(node.value, nodeSettings.value);
2548
+ } else nodeValid.value = false;
2549
+ nodeValuesInitialized.value = true;
2550
+ };
2551
+ const onStopExecution = () => {
2552
+ emit("stopExecution");
2553
+ };
2554
+ const openSettings = () => {
2555
+ openPanel.value = "settings";
2556
+ };
2557
+ const onTabSelect = tab => {
2558
+ openPanel.value = tab;
2559
+ };
2560
+ const onFeatureRequestClick = () => {
2561
+ window.open(featureRequestUrl.value, "_blank");
2562
+ if (node.value) telemetry.track("User clicked ndv link", {
2563
+ node_type: node.value.type,
2564
+ workflow_id: workflowsStore.workflowId,
2565
+ push_ref: props.pushRef,
2566
+ pane: NodeConnectionTypes.Main,
2567
+ type: "i-wish-this-node-would"
2568
+ });
2569
+ };
2570
+ watch(node, () => {
2571
+ setNodeValues();
2572
+ });
2573
+ onMounted(async () => {
2574
+ populateHiddenIssuesSet();
2575
+ setNodeValues();
2576
+ props.eventBus?.on("openSettings", openSettings);
2577
+ if (node.value !== null) nodeHelpers.updateNodeParameterIssues(node.value, nodeType.value);
2578
+ importCurlEventBus.on("setHttpNodeParameters", setHttpNodeParameters);
2579
+ ndvEventBus.on("updateParameterValue", valueChanged);
2580
+ });
2581
+ onBeforeUnmount(() => {
2582
+ props.eventBus?.off("openSettings", openSettings);
2583
+ importCurlEventBus.off("setHttpNodeParameters", setHttpNodeParameters);
2584
+ ndvEventBus.off("updateParameterValue", valueChanged);
2585
+ });
2586
+ function displayCredentials(credentialTypeDescription) {
2587
+ if (credentialTypeDescription.displayOptions === void 0) return true;
2588
+ return !!node.value && nodeHelpers.displayParameter(node.value.parameters, credentialTypeDescription, "", node.value);
2589
+ }
2590
+ function handleSelectAction(params) {
2591
+ for (const [key, value] of Object.entries(params)) valueChanged({
2592
+ name: `parameters.${key}`,
2593
+ value
2594
+ });
2595
+ if (isDisplayingCredentials.value && !areAllCredentialsSet.value) {
2596
+ onTabSelect("credential");
2597
+ return;
2598
+ }
2599
+ if (parametersByTab.value.params.length > 0) onTabSelect("params");
2600
+ }
2601
+ return (_ctx, _cache) => {
2602
+ return openBlock(), createElementBlock("div", {
2603
+ class: normalizeClass({
2604
+ "node-settings": true,
2605
+ dragging: _ctx.dragging,
2606
+ embedded: props.isEmbeddedInCanvas
2607
+ }),
2608
+ "data-has-output-connection": hasOutputConnection.value,
2609
+ onKeydown: _cache[2] || (_cache[2] = withModifiers(() => {}, ["stop"]))
2610
+ }, [_ctx.isEmbeddedInCanvas && node.value ? (openBlock(), createBlock(ExperimentalEmbeddedNdvHeader_default, {
2611
+ key: 0,
2612
+ node: node.value,
2613
+ "selected-tab": openPanel.value,
2614
+ "read-only": _ctx.readOnly,
2615
+ "node-type": nodeType.value,
2616
+ "push-ref": _ctx.pushRef,
2617
+ "sub-title": _ctx.subTitle,
2618
+ "extra-tabs-class-name": _ctx.extraTabsClassName,
2619
+ "include-action": parametersByTab.value.action.length > 0,
2620
+ "include-credential": isDisplayingCredentials.value,
2621
+ "has-credential-issue": !unref(areAllCredentialsSet),
2622
+ onNameChanged: nameChanged,
2623
+ onTabChanged: onTabSelect,
2624
+ onDblclickTitle: _cache[0] || (_cache[0] = $event => emit("dblclickHeader", $event))
2625
+ }, {
2626
+ actions: withCtx(() => [renderSlot(_ctx.$slots, "actions", {}, void 0, true)]),
2627
+ _: 3
2628
+ }, 8, ["node", "selected-tab", "read-only", "node-type", "push-ref", "sub-title", "extra-tabs-class-name", "include-action", "include-credential", "has-credential-issue"])) : !_ctx.isNdvV2 ? (openBlock(), createElementBlock("div", {
2629
+ key: 1,
2630
+ class: normalizeClass(_ctx.$style.header)
2631
+ }, [createBaseVNode("div", _hoisted_2, [node.value ? (openBlock(), createBlock(NodeTitle_default, {
2632
+ key: 0,
2633
+ class: "node-name",
2634
+ "model-value": node.value.name,
2635
+ "icon-source": iconSource.value,
2636
+ "read-only": isReadOnly.value,
2637
+ "onUpdate:modelValue": nameChanged
2638
+ }, null, 8, ["model-value", "icon-source", "read-only"])) : createCommentVNode("", true), isExecutable.value && !_ctx.blockUI && node.value && nodeValid.value ? (openBlock(), createBlock(NodeExecuteButton_default, {
2639
+ key: 1,
2640
+ "data-test-id": "node-execute-button",
2641
+ "node-name": node.value.name,
2642
+ disabled: outputPanelEditMode.value.enabled && !isTriggerNode.value,
2643
+ tooltip: executeButtonTooltip.value,
2644
+ size: "small",
2645
+ "telemetry-source": "parameters",
2646
+ onExecute: onNodeExecute,
2647
+ onStopExecution,
2648
+ onValueChanged: valueChanged
2649
+ }, null, 8, ["node-name", "disabled", "tooltip"])) : createCommentVNode("", true)]), node.value && nodeValid.value ? (openBlock(), createBlock(NodeSettingsTabs_default, {
2650
+ key: 0,
2651
+ "model-value": openPanel.value,
2652
+ "node-type": nodeType.value,
2653
+ "push-ref": _ctx.pushRef,
2654
+ "onUpdate:modelValue": onTabSelect
2655
+ }, null, 8, ["model-value", "node-type", "push-ref"])) : createCommentVNode("", true)], 2)) : node.value && nodeValid.value ? (openBlock(), createBlock(NodeSettingsHeader_default, {
2656
+ key: 2,
2657
+ "selected-tab": openPanel.value,
2658
+ "node-name": node.value.name,
2659
+ "node-type": nodeType.value,
2660
+ "execute-button-tooltip": executeButtonTooltip.value,
2661
+ "hide-execute": props.hideExecute || !isExecutable.value || _ctx.blockUI || !node.value || !nodeValid.value,
2662
+ "disable-execute": outputPanelEditMode.value.enabled && !isTriggerNode.value,
2663
+ "hide-tabs": !nodeValid.value,
2664
+ "hide-docs": props.hideDocs,
2665
+ "push-ref": _ctx.pushRef,
2666
+ onExecute: onNodeExecute,
2667
+ onStopExecution,
2668
+ onValueChanged: valueChanged,
2669
+ onTabChanged: onTabSelect
2670
+ }, null, 8, ["selected-tab", "node-name", "node-type", "execute-button-tooltip", "hide-execute", "disable-execute", "hide-tabs", "hide-docs", "push-ref"])) : createCommentVNode("", true), node.value && !nodeValid.value ? (openBlock(), createBlock(NodeSettingsInvalidNodeWarning_default, {
2671
+ key: 3,
2672
+ node: node.value,
2673
+ "preview-mode": isDemoPreview.value
2674
+ }, null, 8, ["node", "preview-mode"])) : createCommentVNode("", true), node.value && nodeValid.value ? (openBlock(), createElementBlock("div", {
2675
+ key: 4,
2676
+ ref_key: "nodeParameterWrapper",
2677
+ ref: nodeParameterWrapper,
2678
+ class: normalizeClass(["node-parameters-wrapper", shouldShowStaticScrollbar.value ? "with-static-scrollbar" : "", {
2679
+ "ndv-v2": _ctx.isNdvV2
2680
+ }, _ctx.extraParameterWrapperClassName ?? ""]),
2681
+ "data-test-id": "node-parameters",
2682
+ onWheelCapture: _cache[1] || (_cache[1] = $event => emit("captureWheelBody", $event))
2683
+ }, [hasForeignCredential.value && !isHomeProjectTeam.value ? (openBlock(), createBlock(unref(N8nNotice_default), {
2684
+ key: 0,
2685
+ content: unref(i18n).baseText("nodeSettings.hasForeignCredential", {
2686
+ interpolate: {
2687
+ owner: credentialOwnerName.value
2688
+ }
2689
+ })
2690
+ }, null, 8, ["content"])) : createCommentVNode("", true), createVNode(FreeAiCreditsCallout_default), createVNode(NodeStorageLimitCallout_default), openPanel.value === "action" ? (openBlock(), createBlock(NodeActionsList_default, {
2691
+ key: 1,
2692
+ class: "action-tab",
2693
+ node: node.value,
2694
+ onActionSelected: handleSelectAction
2695
+ }, null, 8, ["node"])) : createCommentVNode("", true), openPanel.value === "credential" ? (openBlock(), createBlock(NodeCredentials_default, {
2696
+ key: 2,
2697
+ node: node.value,
2698
+ readonly: isReadOnly.value,
2699
+ "show-all": true,
2700
+ "hide-issues": hiddenIssuesInputs.value.includes("credentials"),
2701
+ onCredentialSelected: credentialSelected,
2702
+ onValueChanged: valueChanged,
2703
+ onBlur: onParameterBlur
2704
+ }, null, 8, ["node", "readonly", "hide-issues"])) : createCommentVNode("", true), withDirectives(createBaseVNode("div", null, [createVNode(NodeWebhooks_default, {
2705
+ node: node.value,
2706
+ "node-type-description": nodeType.value
2707
+ }, null, 8, ["node", "node-type-description"]), nodeValuesInitialized.value ? (openBlock(), createBlock(ParameterInputList_default, {
2708
+ key: 0,
2709
+ parameters: parametersByTab.value.params,
2710
+ "hide-delete": true,
2711
+ "node-values": nodeValues.value,
2712
+ "is-read-only": isReadOnly.value,
2713
+ "hidden-issues-inputs": hiddenIssuesInputs.value,
2714
+ path: "parameters",
2715
+ node: props.activeNode,
2716
+ onValueChanged: valueChanged,
2717
+ onActivate: onWorkflowActivate,
2718
+ onParameterBlur
2719
+ }, {
2720
+ default: withCtx(() => [!_ctx.isEmbeddedInCanvas && !isDemoPreview.value ? (openBlock(), createBlock(NodeCredentials_default, {
2721
+ key: 0,
2722
+ node: node.value,
2723
+ readonly: isReadOnly.value,
2724
+ "show-all": true,
2725
+ "hide-issues": hiddenIssuesInputs.value.includes("credentials"),
2726
+ onCredentialSelected: credentialSelected,
2727
+ onValueChanged: valueChanged,
2728
+ onBlur: onParameterBlur
2729
+ }, null, 8, ["node", "readonly", "hide-issues"])) : createCommentVNode("", true)]),
2730
+ _: 1
2731
+ }, 8, ["parameters", "node-values", "is-read-only", "hidden-issues-inputs", "node"])) : createCommentVNode("", true), showNoParametersNotice.value ? (openBlock(), createElementBlock("div", _hoisted_3, [createVNode(unref(N8nText_default), null, {
2732
+ default: withCtx(() => [createTextVNode(toDisplayString(unref(i18n).baseText("nodeSettings.thisNodeDoesNotHaveAnyParameters")), 1)]),
2733
+ _: 1
2734
+ })])) : createCommentVNode("", true), unref(nodeHelpers).isCustomApiCallSelected(nodeValues.value) ? (openBlock(), createElementBlock("div", _hoisted_4, [createVNode(unref(N8nNotice_default), {
2735
+ content: unref(i18n).baseText("nodeSettings.useTheHttpRequestNode", {
2736
+ interpolate: {
2737
+ nodeTypeDisplayName: nodeType.value?.displayName ?? ""
2738
+ }
2739
+ })
2740
+ }, null, 8, ["content"])])) : createCommentVNode("", true)], 512), [[vShow, openPanel.value === "params"]]), withDirectives(createBaseVNode("div", null, [unref(isUpdateCheckAvailable) && unref(installedPackage)?.updateAvailable ? (openBlock(), createBlock(CommunityNodeUpdateInfo_default, {
2741
+ key: 0,
2742
+ "data-test-id": "update-available",
2743
+ "package-name": packageName.value,
2744
+ style: {
2745
+ "margin-top": "var(--spacing--sm)"
2746
+ },
2747
+ source: "node settings"
2748
+ }, null, 8, ["package-name"])) : createCommentVNode("", true), createVNode(ParameterInputList_default, {
2749
+ parameters: parametersByTab.value.settings,
2750
+ "node-values": nodeValues.value,
2751
+ "is-read-only": isReadOnly.value,
2752
+ "hide-delete": true,
2753
+ "hidden-issues-inputs": hiddenIssuesInputs.value,
2754
+ path: "parameters",
2755
+ onValueChanged: valueChanged,
2756
+ onParameterBlur
2757
+ }, null, 8, ["parameters", "node-values", "is-read-only", "hidden-issues-inputs"]), createVNode(ParameterInputList_default, {
2758
+ parameters: nodeSettings.value,
2759
+ "hide-delete": true,
2760
+ "node-values": nodeValues.value,
2761
+ "is-read-only": isReadOnly.value,
2762
+ "hidden-issues-inputs": hiddenIssuesInputs.value,
2763
+ path: "",
2764
+ onValueChanged: valueChanged,
2765
+ onParameterBlur
2766
+ }, null, 8, ["parameters", "node-values", "is-read-only", "hidden-issues-inputs"]), createBaseVNode("div", _hoisted_5, [createTextVNode(toDisplayString(unref(i18n).baseText("nodeSettings.nodeVersion", {
2767
+ interpolate: {
2768
+ node: nodeType.value?.displayName,
2769
+ version: (node.value.typeVersion ?? latestVersion.value).toString()
2770
+ }
2771
+ })) + " ", 1), createBaseVNode("span", null, "(" + toDisplayString(nodeVersionTag.value) + ")", 1)])], 512), [[vShow, openPanel.value === "settings"]]), _ctx.isNdvV2 && featureRequestUrl.value && !_ctx.isEmbeddedInCanvas ? (openBlock(), createElementBlock("div", {
2772
+ key: 3,
2773
+ class: normalizeClass(_ctx.$style.featureRequest)
2774
+ }, [createBaseVNode("a", {
2775
+ target: "_blank",
2776
+ onClick: onFeatureRequestClick
2777
+ }, [createVNode(unref(N8nIcon_default), {
2778
+ icon: "lightbulb"
2779
+ }), createTextVNode(" " + toDisplayString(unref(i18n).baseText("ndv.featureRequest")), 1)])], 2)) : createCommentVNode("", true)], 34)) : createCommentVNode("", true), node.value && !_ctx.hideSubConnections ? (openBlock(), createBlock(NDVSubConnections_default, {
2780
+ key: 5,
2781
+ ref_key: "subConnections",
2782
+ ref: subConnections,
2783
+ "root-node": node.value,
2784
+ onSwitchSelectedNode,
2785
+ onOpenConnectionNodeCreator
2786
+ }, null, 8, ["root-node"])) : createCommentVNode("", true), createVNode(unref(N8nBlockUi_default), {
2787
+ show: _ctx.blockUI
2788
+ }, null, 8, ["show"]), openPanel.value === "settings" && isCommunityNode.value ? (openBlock(), createBlock(CommunityNodeFooter_default, {
2789
+ key: 6,
2790
+ "package-name": packageName.value,
2791
+ "show-manage": unref(useUsersStore)().isInstanceOwner
2792
+ }, null, 8, ["package-name", "show-manage"])) : createCommentVNode("", true)], 42, _hoisted_1);
2793
+ };
2794
+ }
2795
+ }); //#endregion
2796
+ //#region src/features/ndv/settings/components/NodeSettings.vue?vue&type=style&index=0&lang.module.scss
2797
+ header = "_header_oiay4_123";
2798
+ featureRequest = "_featureRequest_oiay4_127";
2799
+ NodeSettings_vue_vue_type_style_index_0_lang_module_default = {
2800
+ header,
2801
+ featureRequest
2802
+ }; //#endregion
2803
+ //#region src/features/ndv/settings/components/NodeSettings.vue
2804
+ cssModules = {
2805
+ "$style": NodeSettings_vue_vue_type_style_index_0_lang_module_default
2806
+ };
2807
+ _export("t", NodeSettings_default = /* @__PURE__ */__plugin_vue_export_helper_default(NodeSettings_vue_vue_type_script_setup_true_lang_default, [["__cssModules", cssModules], ["__scopeId", "data-v-e107ee77"]])); //#endregion
2808
+ }
2809
+ };
2810
+ });
2811
+ })();