n8n-editor-ui 1.115.1 → 1.116.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 (210) hide show
  1. package/.build/cache-marker +1 -1
  2. package/.build/node-popularity.json +1844 -1844
  3. package/dist/assets/{AddDataStoreModal-DxLlmnRh.js → AddDataTableModal-BWWNocvE.js} +32 -32
  4. package/dist/assets/{AddDataStoreModal-B7jBhCjt.css → AddDataTableModal-BzS5Yqag.css} +6 -6
  5. package/dist/assets/{AnimatedSpinner-DR4QrGrL.js → AnimatedSpinner-DFjfUB--.js} +1 -1
  6. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-BfGhW9R4.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-AwTdMVsi.js} +1 -1
  7. package/dist/assets/{AuthView-CWVio_MZ.css → AuthView-BvfgleDU.css} +30 -30
  8. package/dist/assets/{AuthView-BUfRQlip.js → AuthView-CPPX5tYt.js} +14 -14
  9. package/dist/assets/{ChangePasswordView-hnVcBOdZ.js → ChangePasswordView-D_VXG-a6.js} +3 -3
  10. package/dist/assets/ChatSidebar-C0s-SoxK.js +117 -0
  11. package/dist/assets/ChatSidebar-wKAC9nrh.css +165 -0
  12. package/dist/assets/ChatView-ClX1FsZV.css +657 -0
  13. package/dist/assets/ChatView-DLlPfas8.js +805 -0
  14. package/dist/assets/CollectionParameter-CYHkGO0F.js +4 -0
  15. package/dist/assets/{CredentialsView-DYbozDMz.js → CredentialsView-BipY16I_.js} +15 -15
  16. package/dist/assets/{CredentialsView-BAqjGrNq.css → CredentialsView-C9uo2Njh.css} +14 -14
  17. package/dist/assets/{DataStoreActions.vue_vue_type_script_setup_true_lang-_Q8OXvzI.js → DataTableActions.vue_vue_type_script_setup_true_lang-B_Q2_4UV.js} +21 -21
  18. package/dist/assets/{DataStoreDetailsView-Bc-J9ZrW.css → DataTableDetailsView-BOmb3x4S.css} +138 -138
  19. package/dist/assets/{DataStoreDetailsView-DN1DvV53.js → DataTableDetailsView-Fi-LWBLm.js} +538 -525
  20. package/dist/assets/{DataStoreView-BqQv7QeU.css → DataTableView-ByKnlVtU.css} +14 -14
  21. package/dist/assets/{DataStoreView-BNU_I-gX.js → DataTableView-CFOQzQI7.js} +68 -68
  22. package/dist/assets/{DemoFooter-rHoOk6iK.js → DemoFooter-J9LQ705n.js} +5 -5
  23. package/dist/assets/{EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-DWIEvR1-.js → EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-BiphSIS4.js} +1 -1
  24. package/dist/assets/{EntityNotFound-DAi6p29d.js → EntityNotFound-CYQqRNOB.js} +2 -2
  25. package/dist/assets/EntityNotFound-CargndZm.css +10 -0
  26. package/dist/assets/EntityUnAuthorised-Deb2bHNC.css +10 -0
  27. package/dist/assets/{EntityUnAuthorised-8E-9FBHe.js → EntityUnAuthorised-DetfwCtv.js} +2 -2
  28. package/dist/assets/{ErrorView-DPS9icAS.css → ErrorView-D2OMvGTk.css} +8 -8
  29. package/dist/assets/{ErrorView-y79cILv4.js → ErrorView-qxP6uTVl.js} +4 -4
  30. package/dist/assets/{EvaluationsRootView-B5AhHo41.css → EvaluationsRootView-7FGhfEKm.css} +48 -48
  31. package/dist/assets/{EvaluationsRootView-CWelItmD.js → EvaluationsRootView-BueMulsE.js} +22 -22
  32. package/dist/assets/{EvaluationsView-BTyYfInB.css → EvaluationsView-DsfXDJ-U.css} +35 -35
  33. package/dist/assets/{EvaluationsView-C0X9064k.js → EvaluationsView-gk_juymK.js} +27 -27
  34. package/dist/assets/{ExecutionsTime-B5dXCTxD.css → ExecutionsTime-BGpurJsp.css} +41 -41
  35. package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-CmtPBoIQ.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-8mG-89V4.js} +16 -16
  36. package/dist/assets/{ExecutionsView-DRsBgt5L.js → ExecutionsView-0KpKg6S4.js} +18 -18
  37. package/dist/assets/{ExecutionsView-BxsSXnlU.css → ExecutionsView-BbH7fInw.css} +14 -14
  38. package/dist/assets/{FixedCollectionParameter-Bhdk1XcN.js → FixedCollectionParameter-B9qkRreb.js} +2 -2
  39. package/dist/assets/{FixedCollectionParameter-D3u3aCCk.css → FixedCollectionParameter-D82suS6W.css} +43 -43
  40. package/dist/assets/{ForgotMyPasswordView-C-GNSvtY.js → ForgotMyPasswordView-C1kfYO_S.js} +3 -3
  41. package/dist/assets/{InfoAccordion-BpibqNsS.js → InfoAccordion-B_T19Esx.js} +7 -7
  42. package/dist/assets/{InfoAccordion-dxudNqVC.css → InfoAccordion-BuKidEQb.css} +13 -13
  43. package/dist/assets/{InsightsChartAverageRuntime-CwkkxEk1.js → InsightsChartAverageRuntime-IISuKphn.js} +4 -4
  44. package/dist/assets/{InsightsChartFailed-Di6uVDGI.js → InsightsChartFailed-DRHEEzJU.js} +5 -5
  45. package/dist/assets/{InsightsChartFailureRate-Bl5Av3Eu.js → InsightsChartFailureRate-D1L6WYZP.js} +5 -5
  46. package/dist/assets/{InsightsChartTimeSaved-Bcup49B9.js → InsightsChartTimeSaved-zCEK3kuY.js} +4 -4
  47. package/dist/assets/{InsightsChartTotal-DnEUMCMt.js → InsightsChartTotal-DW-EkNtK.js} +5 -5
  48. package/dist/assets/{InsightsDashboard-luJ134I5.js → InsightsDashboard-DfpOZ30S.js} +21 -21
  49. package/dist/assets/{InsightsDashboard-CYAx_0X9.css → InsightsDashboard-DyOwzHmP.css} +25 -25
  50. package/dist/assets/{InsightsPaywall-BEXUk0T6.js → InsightsPaywall-CKH7O7yd.js} +1 -1
  51. package/dist/assets/{InsightsSummary-DTFIhBF3.css → InsightsSummary-BazqPYQ0.css} +52 -52
  52. package/dist/assets/{InsightsSummary-XxOp2tas.js → InsightsSummary-ChZNMeJI.js} +11 -11
  53. package/dist/assets/{InsightsTableWorkflows-BTHSCwX8.css → InsightsTableWorkflows-D20Yb7ZW.css} +8 -8
  54. package/dist/assets/{InsightsTableWorkflows-B4re5fkw.js → InsightsTableWorkflows-DwLRkvVL.js} +7 -7
  55. package/dist/assets/{Logo-CSmRCqF2.css → Logo-BU1oDo5-.css} +16 -16
  56. package/dist/assets/{Logo-91TLwfCH.js → Logo-Bgcx_T7R.js} +7 -7
  57. package/dist/assets/{LogsPanel-BWP7EQ84.js → LogsPanel-BCUqUR29.js} +141 -1091
  58. package/dist/assets/{LogsPanel-BE9Gl1z0.css → LogsPanel-DVmpE0zV.css} +160 -592
  59. package/dist/assets/{MainHeader-DIiyDT8d.css → MainHeader-BqJwA1aC.css} +117 -117
  60. package/dist/assets/{MainHeader-BaSUt6eJ.js → MainHeader-BzhBs3En.js} +45 -45
  61. package/dist/assets/{MainSidebar-C4cyDjUV.js → MainSidebar-Bf48nTMR.js} +69 -1133
  62. package/dist/assets/{MainSidebar-BT8sXxNa.css → MainSidebar-tTEyXOKH.css} +107 -279
  63. package/dist/assets/NavigationDropdown-Wb7mPGhl.css +187 -0
  64. package/dist/assets/NavigationDropdown-kfg0blbZ.js +1116 -0
  65. package/dist/assets/{NodeCreation-C4gQlPqI.css → NodeCreation-B1fOtARK.css} +6 -6
  66. package/dist/assets/{NodeCreation-BkqOy8gF.js → NodeCreation-CsCoqAnU.js} +12 -10
  67. package/dist/assets/{NodeCreator-COTYfPaK.css → NodeCreator-CamUhvMk.css} +175 -174
  68. package/dist/assets/{NodeCreator-BppRTVIa.js → NodeCreator-D45qQQ4H.js} +60 -64
  69. package/dist/assets/{NodeDetailsView-BuhpInfo.js → NodeDetailsView-6bLQaVHT.js} +33 -32
  70. package/dist/assets/{NodeDetailsView-CBYV4Rrz.css → NodeDetailsView-D3QAo3SF.css} +61 -61
  71. package/dist/assets/{NodeDetailsViewV2-C0bp_zCD.js → NodeDetailsViewV2-DRCY6EX6.js} +58 -69
  72. package/dist/assets/{NodeDetailsViewV2-J_3cfdea.css → NodeDetailsViewV2-bvXejqU_.css} +67 -60
  73. package/dist/assets/{NodeView-Bsq1Fh0D.css → NodeView-BhF0ieQM.css} +85 -85
  74. package/dist/assets/{NodeView-B9LYqx2z.js → NodeView-C9PvNIUz.js} +106 -95
  75. package/dist/assets/{PageViewLayout-CJlzbuVj.css → PageViewLayout-BIiboMgG.css} +5 -5
  76. package/dist/assets/{PageViewLayout-B8D8Tkxn.js → PageViewLayout-DNBKIQ4N.js} +3 -3
  77. package/dist/assets/{PrebuiltAgentTemplatesView-DZAkWI4E.js → PrebuiltAgentTemplatesView-C0Uqhzma.js} +9 -9
  78. package/dist/assets/{PrebuiltAgentTemplatesView-COxu7Iih.css → PrebuiltAgentTemplatesView-jF7HvWnL.css} +14 -14
  79. package/dist/assets/{ProjectBreadcrumb-B1Hnf5da.css → ProjectBreadcrumb-BNbnf7Ir.css} +96 -96
  80. package/dist/assets/{ProjectBreadcrumb-HI65z9tX.js → ProjectBreadcrumb-w-ZQjuc2.js} +22 -22
  81. package/dist/assets/{ProjectHeader-BzekhnTR.js → ProjectHeader-DG_Z0cm0.js} +36 -18
  82. package/dist/assets/{ProjectHeader-BNMKpvzV.css → ProjectHeader-TKKq6OrY.css} +15 -15
  83. package/dist/assets/{ProjectSettings-BTP0xrzD.js → ProjectSettings-ClU4oaU3.js} +26 -26
  84. package/dist/assets/{ProjectSettings-Cj1kC16G.css → ProjectSettings-c2BBLEzY.css} +60 -60
  85. package/dist/assets/ProjectVariables-B76TEE5o.js +532 -0
  86. package/dist/assets/ProjectVariables-DtGcMnSf.css +293 -0
  87. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-DflOVayR.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-C7mROgKI.js} +1 -1
  88. package/dist/assets/{ResourcesListLayout-Dm7w49bu.css → ResourcesListLayout-CY-G3BmN.css} +42 -42
  89. package/dist/assets/{ResourcesListLayout-CnidC9EV.js → ResourcesListLayout-Db6ys3gY.js} +25 -21
  90. package/dist/assets/{RunDataJson-DEs4Ql5T.js → RunDataJson-CXyTvX4C.js} +8 -8
  91. package/dist/assets/{RunDataJson-BH9HLoGC.css → RunDataJson-PAkTmkZf.css} +19 -19
  92. package/dist/assets/{RunDataJsonActions-Ct02vlvz.js → RunDataJsonActions-C5Cvqjc_.js} +2 -2
  93. package/dist/assets/{RunDataJsonActions-B2jW3_UG.css → RunDataJsonActions-CZx7rSSE.css} +2 -2
  94. package/dist/assets/{RunDataParsedAiContent-Bl49tvwG.js → RunDataParsedAiContent-BkNc-yBy.js} +13 -112
  95. package/dist/assets/{RunDataParsedAiContent-wfIiKsq7.css → RunDataParsedAiContent-CvjNCtpG.css} +37 -37
  96. package/dist/assets/{RunDataSearch-D8DXH4rw.js → RunDataSearch-CBsWlIj1.js} +4 -4
  97. package/dist/assets/{RunDataSearch-2eEalFoi.css → RunDataSearch-CPo36NE_.css} +10 -10
  98. package/dist/assets/{RunDataTable-BZzteeuj.css → RunDataTable-C4QnrVVF.css} +104 -104
  99. package/dist/assets/{RunDataTable-CdxTnMd4.js → RunDataTable-FKsWIgfg.js} +33 -33
  100. package/dist/assets/{SamlOnboarding-CLFzc3D4.js → SamlOnboarding--cNSub8q.js} +3 -3
  101. package/dist/assets/{SelectedItemsInfo-Dl4uynXs.css → SelectedItemsInfo-B6Rq6uIe.css} +7 -7
  102. package/dist/assets/{SelectedItemsInfo-Dd3HKZ6z.js → SelectedItemsInfo-BOQrOU8d.js} +3 -3
  103. package/dist/assets/{SettingsApiView-CmU8R9-c.js → SettingsApiView-DkPpP_Xa.js} +14 -14
  104. package/dist/assets/{SettingsApiView-k1hALKCX.css → SettingsApiView-Dtl_N9mK.css} +31 -31
  105. package/dist/assets/{SettingsCommunityNodesView-CAggjsaT.css → SettingsCommunityNodesView-CVQjV37D.css} +31 -31
  106. package/dist/assets/{SettingsCommunityNodesView-CjgVPZAy.js → SettingsCommunityNodesView-CypE1wWW.js} +21 -21
  107. package/dist/assets/{SettingsExternalSecrets-BAX9ENm9.css → SettingsExternalSecrets-CaiOf7cD.css} +12 -12
  108. package/dist/assets/{SettingsExternalSecrets-Baxom4lP.js → SettingsExternalSecrets-Dw8qeVlx.js} +8 -8
  109. package/dist/assets/{SettingsLdapView-BQUfzAsN.js → SettingsLdapView-CQXdsBfZ.js} +8 -8
  110. package/dist/assets/{SettingsLdapView-D0SUO3ai.css → SettingsLdapView-KgMO_1GA.css} +17 -17
  111. package/dist/assets/{SettingsLogStreamingView-Bq2IwWDt.js → SettingsLogStreamingView-B-0r_ZsJ.js} +7 -7
  112. package/dist/assets/{SettingsLogStreamingView-CflEMmu9.css → SettingsLogStreamingView-xo-rTSA0.css} +12 -12
  113. package/dist/assets/SettingsMCPView-BBO_ZyBU.css +552 -0
  114. package/dist/assets/{SettingsMCPView-D3BOHCtS.js → SettingsMCPView-Bbdsa8lu.js} +200 -126
  115. package/dist/assets/{SettingsPersonalView-Bt8bL5tJ.css → SettingsPersonalView-D6LtKnaF.css} +23 -23
  116. package/dist/assets/{SettingsPersonalView-Bbn0olns.js → SettingsPersonalView-VU8Kh83i.js} +10 -10
  117. package/dist/assets/{SettingsSourceControl-BBxJXbFC.css → SettingsSourceControl-C6pfOcuv.css} +40 -40
  118. package/dist/assets/{SettingsSourceControl-CC_Pak2B.js → SettingsSourceControl-CJvfstK0.js} +15 -15
  119. package/dist/assets/{SettingsSso-vViqB8oe.js → SettingsSso-v2r9nirX.js} +7 -7
  120. package/dist/assets/{SettingsSso-D4HKPLvV.css → SettingsSso-w7Iz4Luy.css} +25 -25
  121. package/dist/assets/{SettingsUsageAndPlan-BtE-s9Vb.js → SettingsUsageAndPlan-BhgN2Hcc.js} +13 -13
  122. package/dist/assets/{SettingsUsageAndPlan-82J0IcdW.css → SettingsUsageAndPlan-Cct79Zta.css} +34 -34
  123. package/dist/assets/{SettingsUsersView-DVdCq-SX.js → SettingsUsersView-CApxIHLx.js} +16 -16
  124. package/dist/assets/{SettingsUsersView-BG7JdfYz.css → SettingsUsersView-CfJcVjkl.css} +28 -28
  125. package/dist/assets/{SettingsView-BHLJBEJF.css → SettingsView-C4aA4kVV.css} +18 -18
  126. package/dist/assets/{SettingsView-ByNIw76r.js → SettingsView-Dru_1OUG.js} +8 -8
  127. package/dist/assets/{SetupView-XbSIMu9B.js → SetupView-Bh4XpOq8.js} +3 -3
  128. package/dist/assets/{SetupWorkflowCredentialsButton-CUzPtmot.js → SetupWorkflowCredentialsButton-6T0EX3L6.js} +1 -1
  129. package/dist/assets/{SetupWorkflowFromTemplateView-ZPJL_m2F.css → SetupWorkflowFromTemplateView-CU2iGJTa.css} +11 -11
  130. package/dist/assets/{SetupWorkflowFromTemplateView-CQcMUEt1.js → SetupWorkflowFromTemplateView-EJjV79MY.js} +8 -8
  131. package/dist/assets/{SigninView-D57wRRHz.css → SigninView-BQgsTN8o.css} +13 -13
  132. package/dist/assets/{SigninView-C8qujIEW.js → SigninView-DKLEwC5i.js} +9 -9
  133. package/dist/assets/{SignoutView-BCsXtAKk.js → SignoutView-xza1c_rm.js} +1 -1
  134. package/dist/assets/{SignupView-By-KjS2P.js → SignupView-DnZEsYnl.js} +3 -3
  135. package/dist/assets/{TableBase-CX4nZLla.js → TableBase-B1eTsHT8.js} +3 -3
  136. package/dist/assets/{TableBase-Bf42_9Yp.css → TableBase-CUZbI5pm.css} +24 -24
  137. package/dist/assets/{Tags-CCemj7t9.css → Tags-6vh_jPIG.css} +4 -4
  138. package/dist/assets/{Tags-D03vT_rK.js → Tags-DpegReyF.js} +2 -2
  139. package/dist/assets/{TemplateDetails-DyUqVhf2.css → TemplateDetails-DfyKyMyy.css} +13 -13
  140. package/dist/assets/{TemplateDetails-CDaB-6oH.js → TemplateDetails-lJNnuxdO.js} +8 -8
  141. package/dist/assets/{TemplateList-DNBeV62H.js → TemplateList-BHbHvx-_.js} +24 -24
  142. package/dist/assets/{TemplateList-XNW-2Ugr.css → TemplateList-CNUtq0N7.css} +49 -49
  143. package/dist/assets/{TemplatesCollectionView-BTk7wBlq.js → TemplatesCollectionView-BijeS4Al.js} +13 -13
  144. package/dist/assets/{TemplatesCollectionView-2q1rzsOG.css → TemplatesCollectionView-klb8FT9y.css} +13 -13
  145. package/dist/assets/{TemplatesSearchView-DtyBPi6V.js → TemplatesSearchView-Db14LD0F.js} +18 -18
  146. package/dist/assets/{TemplatesSearchView-DETaMpDt.css → TemplatesSearchView-gPmmtwoU.css} +50 -50
  147. package/dist/assets/{TemplatesView-BTid6_ga.js → TemplatesView-BTxutjLU.js} +8 -8
  148. package/dist/assets/{TemplatesView-Cyu28Dlo.css → TemplatesView-BgdyYmrL.css} +21 -21
  149. package/dist/assets/{TemplatesWorkflowView-DpIiJjJp.css → TemplatesWorkflowView-CBjRBbmw.css} +17 -17
  150. package/dist/assets/{TemplatesWorkflowView-CLr9pY-p.js → TemplatesWorkflowView-xFif3ij7.js} +14 -14
  151. package/dist/assets/{TestRunDetailView-BDPhxOvY.js → TestRunDetailView-BRfLAqZW.js} +36 -36
  152. package/dist/assets/{TestRunDetailView--lZbJq4u.css → TestRunDetailView-D_a9QpSQ.css} +93 -93
  153. package/dist/assets/{TriggerPanel-CQgUdcjv.css → TriggerPanel-BbB_P9ZT.css} +158 -236
  154. package/dist/assets/TriggerPanel-nPxZrihp.js +1633 -0
  155. package/dist/assets/VariablesUsageBadge-BaTs74dX.js +39 -0
  156. package/dist/assets/VariablesUsageBadge-C_yi7Lw5.css +129 -0
  157. package/dist/assets/{VariablesView-DsA8Mqxt.js → VariablesView-BeHRHeb1.js} +11 -52
  158. package/dist/assets/VariablesView-zN910qd9.css +272 -0
  159. package/dist/assets/{WorkerView-BrSoYcbf.css → WorkerView-4m_NaoAx.css} +47 -47
  160. package/dist/assets/{WorkerView-CDijwoCe.js → WorkerView-LAFQqBrx.js} +39 -39
  161. package/dist/assets/{WorkflowActivator-DKpc2Acz.js → WorkflowActivator-BdIK7K-g.js} +7 -7
  162. package/dist/assets/{WorkflowActivator-DPDRDtQG.css → WorkflowActivator-DBJbtrBD.css} +9 -9
  163. package/dist/assets/{WorkflowExecutionsInfoAccordion-53bC-IXN.css → WorkflowExecutionsInfoAccordion-CEOvJ-SX.css} +11 -11
  164. package/dist/assets/{WorkflowExecutionsInfoAccordion-Fedus-Da.js → WorkflowExecutionsInfoAccordion-kaRsv7EW.js} +4 -4
  165. package/dist/assets/{WorkflowExecutionsLandingPage-BpO-BoFq.js → WorkflowExecutionsLandingPage-BdMQTvlG.js} +6 -6
  166. package/dist/assets/{WorkflowExecutionsLandingPage-Bm_hJMl4.css → WorkflowExecutionsLandingPage-DMldlKod.css} +8 -8
  167. package/dist/assets/{WorkflowExecutionsPreview-Cd4BrS-0.css → WorkflowExecutionsPreview-CkEakQp2.css} +90 -90
  168. package/dist/assets/{WorkflowExecutionsPreview-DzvPOJOY.js → WorkflowExecutionsPreview-DoAsEchV.js} +46 -46
  169. package/dist/assets/{WorkflowExecutionsView-DDoqUcYQ.js → WorkflowExecutionsView-Cl1624bM.js} +34 -34
  170. package/dist/assets/{WorkflowExecutionsView-Bjkudb8L.css → WorkflowExecutionsView-CqRMwPwF.css} +82 -82
  171. package/dist/assets/{WorkflowHistory-7Ad0Va7M.css → WorkflowHistory-BmerBiKz.css} +71 -71
  172. package/dist/assets/{WorkflowHistory-BhU1Rfch.js → WorkflowHistory-DcGYJnXH.js} +21 -21
  173. package/dist/assets/{WorkflowOnboardingView-BqWP7FwD.js → WorkflowOnboardingView-Ci32PYxq.js} +1 -1
  174. package/dist/assets/{WorkflowPreview-B1W62QhC.js → WorkflowPreview-B8KvmFRP.js} +8 -8
  175. package/dist/assets/{WorkflowPreview-CIOAVgxK.css → WorkflowPreview-Bt03akXc.css} +8 -8
  176. package/dist/assets/{WorkflowsView-B-pO60w1.js → WorkflowsView-BFZrfitq.js} +79 -83
  177. package/dist/assets/{WorkflowsView-B8UKso1P.css → WorkflowsView-GJhG9SFw.css} +144 -144
  178. package/dist/assets/{chartjs.utils-DpK-YRAM.js → chartjs.utils-nj8CCZPZ.js} +10 -10
  179. package/dist/assets/chat.utils-irsHFh8G.js +224 -0
  180. package/dist/assets/{core-HZaYo_tU.js → core-DsTi4w-I.js} +1 -1
  181. package/dist/assets/{evaluation-ZbMdquW3.css → evaluation-BpIei8SG.css} +26 -26
  182. package/dist/assets/{evaluation.constants-DfiJmRyk.js → evaluation.constants-DjPrCMEi.js} +9 -9
  183. package/dist/assets/{global-link-actions-DdzlWwjw.js → global-link-actions-DSKsOCqo.js} +1 -1
  184. package/dist/assets/{index-CFiA0qjr.css → index-BvbpnRSm.css} +6384 -6442
  185. package/dist/assets/{index-MTM6BbvW.js → index-C2iJCVYf.js} +13722 -15461
  186. package/dist/assets/{index-P3-xVlwI.js → index-DkYsG7tJ.js} +1 -1
  187. package/dist/assets/mcp.store-LrK5gI5Y.js +85 -0
  188. package/dist/assets/{pickBy-DUKPNRlc.js → pickBy-DSRQa7Nf.js} +1 -1
  189. package/dist/assets/{readyToRunWorkflows.store-nzu6XNAP.js → readyToRunWorkflows.store-ia-2Nluj.js} +2 -2
  190. package/dist/assets/{readyToRunWorkflowsV2.store-1dRkG6XV.js → readyToRunWorkflowsV2.store-CyBbWYeG.js} +41 -3
  191. package/dist/assets/{templateActions-BePunFaZ.js → templateActions-CqLHZUrv.js} +1 -1
  192. package/dist/assets/{useBeforeUnload-DsbgbymL.js → useBeforeUnload-D788NzAs.js} +1 -1
  193. package/dist/assets/{useExecutionDebugging-yUnwhnYk.js → useExecutionDebugging-DWOhAQo4.js} +1 -1
  194. package/dist/assets/{useImportCurlCommand-DcFIVp7Y.js → useImportCurlCommand-BQs5GVHJ.js} +1 -1
  195. package/dist/assets/useLogsTreeExpand-2auAOTOK.js +1080 -0
  196. package/dist/assets/useLogsTreeExpand-BZb1m-U7.css +554 -0
  197. package/dist/assets/{useProjectPages-JCNZbA2u.js → useProjectPages-BRhbuYJH.js} +1 -1
  198. package/dist/assets/{usePushConnection-_VL-61pH.js → usePushConnection-DgYz_QNH.js} +17 -19
  199. package/dist/assets/{useWorkflowsCache-DwIv_I-Z.js → useWorkflowsCache-C2_YYjSX.js} +1 -1
  200. package/dist/index.html +2 -2
  201. package/package.json +1 -1
  202. package/scripts/fetch-node-popularity.mjs +13 -1
  203. package/turbo.json +2 -1
  204. package/dist/assets/CollectionParameter-BbxTTmMu.js +0 -4
  205. package/dist/assets/ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-Bv40HGJu.js +0 -44
  206. package/dist/assets/EntityNotFound-pTnVFOv-.css +0 -10
  207. package/dist/assets/EntityUnAuthorised-CHl9g0Ry.css +0 -10
  208. package/dist/assets/SettingsMCPView-B7NzLvT3.css +0 -378
  209. package/dist/assets/TriggerPanel-BS69Ky8P.js +0 -3343
  210. package/dist/assets/VariablesView-BMHdLce7.css +0 -400
@@ -0,0 +1,1633 @@
1
+ import { d as defineComponent, h as createElementBlock, g as openBlock, n as normalizeClass, j as createBaseVNode, Y as renderSlot, _ as _export_sfc, a2 as useWorkflowsStore, ae as useNodeTypesStore, bn as usePostHog, x as computed, da as NDV_UI_OVERHAUL_EXPERIMENT, g8 as NodeConnectionTypes, o as onMounted, X as onBeforeUnmount, F as Fragment, A as renderList, e as createBlock, f as createCommentVNode, k as unref, aa as N8nTooltip, w as withCtx, i as createVNode, c8 as NodeIcon, l as createTextVNode, t as toDisplayString, iN as convertToDisplayDateComponents, c0 as resolveDirective, cK as InfoTip, b4 as withDirectives, c as useI18n, p as N8nText, dS as getDefaultExportFromCjs, iO as requireCapitalize, r as ref, iP as parseAiContent, N as N8nIcon, O as N8nRadioButtons, iQ as _sfc_main$8, iR as ViewSubExecution, gc as formatTokenUsageCount, cb as shallowRef, a8 as watch, a_ as useNDVStore, bE as injectWorkflowState, ev as storeToRefs, iS as useNodeDirtiness, iT as useNodeType, bC as usePinnedData, iU as CanvasNodeDirtiness, c1 as RunData, b_ as createSlots, c2 as NDVEmptyState, c3 as waitingNodeTooltip, ac as I18nT, cx as _sfc_main$a, dF as _sfc_main$b, b5 as vShow, al as useTelemetry, Q as useUIStore, b as useRouter, aA as useWorkflowHelpers, iV as isTriggerPanelObject, fi as getTriggerNodeServiceName, de as CHAT_TRIGGER_NODE_TYPE, iW as WEBHOOK_NODE_TYPE, iX as FORM_TRIGGER_NODE_TYPE, fa as CopyInput, q as N8nButton, m as N8nHeading, C as N8nLink, aq as createEventBus, fF as Transition, V as VIEWS, ak as WORKFLOW_SETTINGS_MODAL_KEY } from "./index-C2iJCVYf.js";
2
+ import { n as getConsumedTokens, o as _sfc_main$9, l as useLogsExecutionData, m as useLogsTreeExpand, L as LogsOverviewRows, q as findLogEntryById } from "./useLogsTreeExpand-2auAOTOK.js";
3
+ import { R as RunDataAi$1, g as getReferencedData } from "./RunDataParsedAiContent-BkNc-yBy.js";
4
+ import { u as useExecutionData } from "./NodeView-C9PvNIUz.js";
5
+ import { N as N8nInfoAccordion } from "./InfoAccordion-B_T19Esx.js";
6
+ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
7
+ ...{ name: "N8nPulse" },
8
+ __name: "Pulse",
9
+ setup(__props) {
10
+ return (_ctx, _cache) => {
11
+ return openBlock(), createElementBlock("div", {
12
+ class: normalizeClass(["pulse", _ctx.$style.pulseContainer])
13
+ }, [
14
+ createBaseVNode("div", {
15
+ class: normalizeClass(_ctx.$style.pulse)
16
+ }, [
17
+ createBaseVNode("div", {
18
+ class: normalizeClass(_ctx.$style.pulse2)
19
+ }, [
20
+ renderSlot(_ctx.$slots, "default")
21
+ ], 2)
22
+ ], 2)
23
+ ], 2);
24
+ };
25
+ }
26
+ });
27
+ const pulseContainer = "_pulseContainer_1cm1j_123";
28
+ const pulse = "_pulse_1cm1j_123";
29
+ const pulse2 = "_pulse2_1cm1j_139";
30
+ const style0$7 = {
31
+ pulseContainer,
32
+ pulse,
33
+ pulse2
34
+ };
35
+ const cssModules$7 = {
36
+ "$style": style0$7
37
+ };
38
+ const N8nPulse = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__cssModules", cssModules$7]]);
39
+ const _hoisted_1$3 = ["data-node-name", "data-node-placement", "onClick"];
40
+ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
41
+ __name: "NDVFloatingNodes",
42
+ props: {
43
+ rootNode: {}
44
+ },
45
+ emits: ["switchSelectedNode"],
46
+ setup(__props, { expose: __expose, emit: __emit }) {
47
+ const props = __props;
48
+ const workflowsStore = useWorkflowsStore();
49
+ const nodeTypesStore = useNodeTypesStore();
50
+ const posthogStore = usePostHog();
51
+ const emit = __emit;
52
+ const isNDVV2 = computed(
53
+ () => posthogStore.isVariantEnabled(
54
+ NDV_UI_OVERHAUL_EXPERIMENT.name,
55
+ NDV_UI_OVERHAUL_EXPERIMENT.variant
56
+ )
57
+ );
58
+ function moveNodeDirection(direction) {
59
+ const matchedDirectionNode = connectedNodes.value[direction][0];
60
+ if (matchedDirectionNode) {
61
+ emit("switchSelectedNode", matchedDirectionNode.node.name);
62
+ }
63
+ }
64
+ function onKeyDown(e) {
65
+ if (e.shiftKey && e.altKey && (e.ctrlKey || e.metaKey)) {
66
+ const mapper = {
67
+ ArrowUp: "outputSub",
68
+ ArrowRight: "outputMain",
69
+ ArrowLeft: "inputMain"
70
+ /* left */
71
+ };
72
+ const matchingDirection = mapper[e.key] || null;
73
+ if (matchingDirection) {
74
+ moveNodeDirection(matchingDirection);
75
+ }
76
+ }
77
+ }
78
+ function getINodesFromNames(names) {
79
+ return names.map((name) => {
80
+ const node = workflowsStore.getNodeByName(name);
81
+ if (node) {
82
+ const nodeType = nodeTypesStore.getNodeType(node.type);
83
+ if (nodeType) {
84
+ return { node, nodeType };
85
+ }
86
+ }
87
+ return null;
88
+ }).filter((n) => n !== null);
89
+ }
90
+ const connectedNodes = computed(() => {
91
+ const workflowObject = workflowsStore.workflowObject;
92
+ const rootName = props.rootNode.name;
93
+ return {
94
+ [
95
+ "outputSub"
96
+ /* top */
97
+ ]: getINodesFromNames(
98
+ workflowObject.getChildNodes(rootName, "ALL_NON_MAIN")
99
+ ),
100
+ [
101
+ "outputMain"
102
+ /* right */
103
+ ]: getINodesFromNames(
104
+ workflowObject.getChildNodes(rootName, NodeConnectionTypes.Main, 1)
105
+ ).reverse(),
106
+ [
107
+ "inputMain"
108
+ /* left */
109
+ ]: getINodesFromNames(
110
+ workflowObject.getParentNodes(rootName, NodeConnectionTypes.Main, 1)
111
+ ).reverse()
112
+ };
113
+ });
114
+ const connectionGroups = [
115
+ "outputSub",
116
+ "outputMain",
117
+ "inputMain"
118
+ /* left */
119
+ ];
120
+ const tooltipPositionMapper = {
121
+ [
122
+ "outputSub"
123
+ /* top */
124
+ ]: "bottom",
125
+ [
126
+ "outputMain"
127
+ /* right */
128
+ ]: "left",
129
+ [
130
+ "inputMain"
131
+ /* left */
132
+ ]: "right"
133
+ };
134
+ onMounted(() => {
135
+ document.addEventListener("keydown", onKeyDown, true);
136
+ });
137
+ onBeforeUnmount(() => {
138
+ document.removeEventListener("keydown", onKeyDown, true);
139
+ });
140
+ __expose({
141
+ moveNodeDirection
142
+ });
143
+ return (_ctx, _cache) => {
144
+ return openBlock(), createElementBlock("aside", {
145
+ class: normalizeClass([_ctx.$style.floatingNodes, { [_ctx.$style.v2]: isNDVV2.value }]),
146
+ "data-test-id": "floating-nodes"
147
+ }, [
148
+ (openBlock(), createElementBlock(Fragment, null, renderList(connectionGroups, (connectionGroup) => {
149
+ return createBaseVNode("ul", {
150
+ key: connectionGroup,
151
+ class: normalizeClass([_ctx.$style.nodesList, _ctx.$style[connectionGroup]])
152
+ }, [
153
+ (openBlock(true), createElementBlock(Fragment, null, renderList(connectedNodes.value[connectionGroup], ({ node, nodeType }) => {
154
+ return openBlock(), createElementBlock(Fragment, null, [
155
+ node && nodeType ? (openBlock(), createBlock(unref(N8nTooltip), {
156
+ key: node.name,
157
+ placement: tooltipPositionMapper[connectionGroup],
158
+ teleported: false,
159
+ offset: isNDVV2.value ? 16 : 60
160
+ }, {
161
+ content: withCtx(() => [
162
+ createTextVNode(toDisplayString(node.name), 1)
163
+ ]),
164
+ default: withCtx(() => [
165
+ createBaseVNode("li", {
166
+ class: normalizeClass(_ctx.$style.connectedNode),
167
+ "data-test-id": "floating-node",
168
+ "data-node-name": node.name,
169
+ "data-node-placement": connectionGroup,
170
+ onClick: ($event) => emit("switchSelectedNode", node.name)
171
+ }, [
172
+ createVNode(NodeIcon, {
173
+ "node-type": nodeType,
174
+ "node-name": node.name,
175
+ "tooltip-position": tooltipPositionMapper[connectionGroup],
176
+ size: isNDVV2.value ? 24 : 35,
177
+ circle: ""
178
+ }, null, 8, ["node-type", "node-name", "tooltip-position", "size"])
179
+ ], 10, _hoisted_1$3)
180
+ ]),
181
+ _: 2
182
+ }, 1032, ["placement", "offset"])) : createCommentVNode("", true)
183
+ ], 64);
184
+ }), 256))
185
+ ], 2);
186
+ }), 64))
187
+ ], 2);
188
+ };
189
+ }
190
+ });
191
+ const floatingNodes = "_floatingNodes_yxgfp_123";
192
+ const nodesList = "_nodesList_yxgfp_133";
193
+ const inputSub = "_inputSub_yxgfp_147";
194
+ const outputSub = "_outputSub_yxgfp_147";
195
+ const outputMain = "_outputMain_yxgfp_160";
196
+ const inputMain = "_inputMain_yxgfp_160";
197
+ const connectedNode = "_connectedNode_yxgfp_173";
198
+ const v2 = "_v2_yxgfp_214";
199
+ const style0$6 = {
200
+ floatingNodes,
201
+ nodesList,
202
+ inputSub,
203
+ outputSub,
204
+ outputMain,
205
+ inputMain,
206
+ connectedNode,
207
+ v2
208
+ };
209
+ const cssModules$6 = {
210
+ "$style": style0$6
211
+ };
212
+ const NDVFloatingNodes = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__cssModules", cssModules$6]]);
213
+ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
214
+ __name: "RunInfo",
215
+ props: {
216
+ taskData: {},
217
+ hasStaleData: { type: Boolean },
218
+ hasPinData: { type: Boolean }
219
+ },
220
+ setup(__props) {
221
+ const i18n = useI18n();
222
+ const props = __props;
223
+ const runTaskData = computed(() => {
224
+ return props.taskData;
225
+ });
226
+ const theme = computed(() => {
227
+ return props.taskData?.error ? "danger" : "success";
228
+ });
229
+ const runMetadata = computed(() => {
230
+ if (!runTaskData.value) {
231
+ return null;
232
+ }
233
+ const { date, time } = convertToDisplayDateComponents(runTaskData.value.startTime);
234
+ return {
235
+ executionTime: runTaskData.value.executionTime,
236
+ startTime: `${date} at ${time}`
237
+ };
238
+ });
239
+ return (_ctx, _cache) => {
240
+ const _directive_n8n_html = resolveDirective("n8n-html");
241
+ return _ctx.hasStaleData ? (openBlock(), createBlock(unref(InfoTip), {
242
+ key: 0,
243
+ theme: "warning-light",
244
+ type: "tooltip",
245
+ "tooltip-placement": "right",
246
+ "data-test-id": "node-run-info-stale"
247
+ }, {
248
+ default: withCtx(() => [
249
+ withDirectives(createBaseVNode("span", null, null, 512), [
250
+ [
251
+ _directive_n8n_html,
252
+ unref(i18n).baseText(
253
+ _ctx.hasPinData ? "ndv.output.staleDataWarning.pinData" : "ndv.output.staleDataWarning.regular"
254
+ )
255
+ ]
256
+ ])
257
+ ]),
258
+ _: 1
259
+ })) : runMetadata.value ? (openBlock(), createElementBlock("div", {
260
+ key: 1,
261
+ class: normalizeClass(_ctx.$style.tooltipRow)
262
+ }, [
263
+ _ctx.taskData?.executionStatus !== "canceled" ? (openBlock(), createBlock(unref(InfoTip), {
264
+ key: 0,
265
+ type: "note",
266
+ theme: theme.value,
267
+ "data-test-id": `node-run-status-${theme.value}`,
268
+ size: "large"
269
+ }, null, 8, ["theme", "data-test-id"])) : createCommentVNode("", true),
270
+ createVNode(unref(InfoTip), {
271
+ type: "tooltip",
272
+ theme: "info",
273
+ "data-test-id": `node-run-info`,
274
+ "tooltip-placement": "right"
275
+ }, {
276
+ default: withCtx(() => [
277
+ createBaseVNode("div", null, [
278
+ createVNode(unref(N8nText), {
279
+ bold: true,
280
+ size: "small"
281
+ }, {
282
+ default: withCtx(() => [
283
+ createTextVNode(toDisplayString(runTaskData.value?.error ? unref(i18n).baseText("runData.executionStatus.failed") : runTaskData.value?.executionStatus === "canceled" ? unref(i18n).baseText("runData.executionStatus.canceled") : unref(i18n).baseText("runData.executionStatus.success")), 1)
284
+ ]),
285
+ _: 1
286
+ }),
287
+ _cache[0] || (_cache[0] = createBaseVNode("br", null, null, -1)),
288
+ createVNode(unref(N8nText), {
289
+ bold: true,
290
+ size: "small"
291
+ }, {
292
+ default: withCtx(() => [
293
+ createTextVNode(toDisplayString(unref(i18n).baseText("runData.startTime") + ":"), 1)
294
+ ]),
295
+ _: 1
296
+ }),
297
+ createTextVNode(" " + toDisplayString(runMetadata.value.startTime), 1),
298
+ _cache[1] || (_cache[1] = createBaseVNode("br", null, null, -1)),
299
+ createVNode(unref(N8nText), {
300
+ bold: true,
301
+ size: "small"
302
+ }, {
303
+ default: withCtx(() => [
304
+ createTextVNode(toDisplayString(unref(i18n).baseText("runData.executionTime") + ":"), 1)
305
+ ]),
306
+ _: 1
307
+ }),
308
+ createTextVNode(" " + toDisplayString(runMetadata.value.executionTime) + " " + toDisplayString(unref(i18n).baseText("runData.ms")), 1)
309
+ ])
310
+ ]),
311
+ _: 1
312
+ })
313
+ ], 2)) : createCommentVNode("", true);
314
+ };
315
+ }
316
+ });
317
+ const tooltipRow = "_tooltipRow_1uvh5_123";
318
+ const style0$5 = {
319
+ tooltipRow
320
+ };
321
+ const cssModules$5 = {
322
+ "$style": style0$5
323
+ };
324
+ const RunInfo = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__cssModules", cssModules$5]]);
325
+ var capitalizeExports = requireCapitalize();
326
+ const capitalize = /* @__PURE__ */ getDefaultExportFromCjs(capitalizeExports);
327
+ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
328
+ __name: "AiRunContentBlock",
329
+ props: {
330
+ runData: {},
331
+ error: {}
332
+ },
333
+ setup(__props) {
334
+ const props = __props;
335
+ const isExpanded = ref(getInitialExpandedState());
336
+ const renderType = ref("rendered");
337
+ const parsedRun = computed(() => parseAiContent(props.runData.data ?? [], props.runData.type));
338
+ const contentParsed = computed(
339
+ () => parsedRun.value.some((item) => item.parsedContent?.parsed === true)
340
+ );
341
+ function getInitialExpandedState() {
342
+ const collapsedTypes = {
343
+ input: [
344
+ NodeConnectionTypes.AiDocument,
345
+ NodeConnectionTypes.AiTextSplitter
346
+ ],
347
+ output: [
348
+ NodeConnectionTypes.AiDocument,
349
+ NodeConnectionTypes.AiEmbedding,
350
+ NodeConnectionTypes.AiTextSplitter,
351
+ NodeConnectionTypes.AiVectorStore
352
+ ]
353
+ };
354
+ return !collapsedTypes[props.runData.inOut].includes(props.runData.type);
355
+ }
356
+ function onBlockHeaderClick() {
357
+ isExpanded.value = !isExpanded.value;
358
+ }
359
+ function onRenderTypeChange(value) {
360
+ renderType.value = value;
361
+ }
362
+ return (_ctx, _cache) => {
363
+ return openBlock(), createElementBlock("div", {
364
+ class: normalizeClass(_ctx.$style.block)
365
+ }, [
366
+ createBaseVNode("header", {
367
+ class: normalizeClass(_ctx.$style.blockHeader),
368
+ onClick: onBlockHeaderClick
369
+ }, [
370
+ createBaseVNode("button", {
371
+ class: normalizeClass(_ctx.$style.blockToggle)
372
+ }, [
373
+ createVNode(unref(N8nIcon), {
374
+ icon: isExpanded.value ? "chevron-down" : "chevron-right",
375
+ size: "large"
376
+ }, null, 8, ["icon"])
377
+ ], 2),
378
+ createBaseVNode("p", {
379
+ class: normalizeClass(_ctx.$style.blockTitle)
380
+ }, toDisplayString(unref(capitalize)(_ctx.runData.inOut)), 3),
381
+ contentParsed.value && !_ctx.error && isExpanded.value ? (openBlock(), createBlock(unref(N8nRadioButtons), {
382
+ key: 0,
383
+ size: "small",
384
+ "model-value": renderType.value,
385
+ class: normalizeClass(_ctx.$style.rawSwitch),
386
+ options: [
387
+ { label: "Rendered", value: "rendered" },
388
+ { label: "JSON", value: "json" }
389
+ ],
390
+ "onUpdate:modelValue": onRenderTypeChange
391
+ }, null, 8, ["model-value", "class"])) : createCommentVNode("", true)
392
+ ], 2),
393
+ createBaseVNode("main", {
394
+ class: normalizeClass({
395
+ [_ctx.$style.blockContent]: true,
396
+ [_ctx.$style.blockContentExpanded]: isExpanded.value
397
+ })
398
+ }, [
399
+ _ctx.error ? (openBlock(), createBlock(_sfc_main$8, {
400
+ key: 0,
401
+ error: _ctx.error,
402
+ class: normalizeClass(_ctx.$style.error),
403
+ "show-details": ""
404
+ }, null, 8, ["error", "class"])) : (openBlock(), createBlock(RunDataAi$1, {
405
+ key: 1,
406
+ data: _ctx.runData.data,
407
+ type: _ctx.runData.type,
408
+ content: parsedRun.value,
409
+ "render-type": renderType.value
410
+ }, null, 8, ["data", "type", "content", "render-type"]))
411
+ ], 2)
412
+ ], 2);
413
+ };
414
+ }
415
+ });
416
+ const block = "_block_g7rki_123";
417
+ const blockContent = "_blockContent_g7rki_130";
418
+ const blockContentExpanded = "_blockContentExpanded_g7rki_134";
419
+ const rawSwitch = "_rawSwitch_g7rki_138";
420
+ const blockHeader = "_blockHeader_g7rki_148";
421
+ const blockTitle = "_blockTitle_g7rki_161";
422
+ const blockToggle = "_blockToggle_g7rki_168";
423
+ const error = "_error_g7rki_176";
424
+ const style0$4 = {
425
+ block,
426
+ blockContent,
427
+ blockContentExpanded,
428
+ rawSwitch,
429
+ blockHeader,
430
+ blockTitle,
431
+ blockToggle,
432
+ error
433
+ };
434
+ const cssModules$4 = {
435
+ "$style": style0$4
436
+ };
437
+ const AiRunContentBlock = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__cssModules", cssModules$4]]);
438
+ const _hoisted_1$2 = { key: 0 };
439
+ const _hoisted_2$1 = { key: 1 };
440
+ const _hoisted_3$1 = { key: 2 };
441
+ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
442
+ __name: "RunDataAiContent",
443
+ props: {
444
+ inputData: {}
445
+ },
446
+ setup(__props) {
447
+ const props = __props;
448
+ const data = computed(
449
+ () => props.inputData.runData ? getReferencedData(props.inputData.runData) : void 0
450
+ );
451
+ const nodeTypesStore = useNodeTypesStore();
452
+ const i18n = useI18n();
453
+ const consumedTokensSum = computed(() => getConsumedTokens(outputRun.value?.data ?? []));
454
+ function extractRunMeta(run) {
455
+ const uiNode = props.inputData.node;
456
+ const nodeType = nodeTypesStore.getNodeType(uiNode?.type ?? "");
457
+ const runMeta2 = {
458
+ startTimeMs: run.metadata.startTime,
459
+ executionTimeMs: run.metadata.executionTime,
460
+ node: nodeType,
461
+ type: run.inOut,
462
+ connectionType: run.type,
463
+ subExecution: run.metadata?.subExecution
464
+ };
465
+ return runMeta2;
466
+ }
467
+ const outputRun = computed(() => {
468
+ return data.value?.find((r) => r.inOut === "output");
469
+ });
470
+ const runMeta = computed(() => {
471
+ if (outputRun.value === void 0) {
472
+ return;
473
+ }
474
+ return extractRunMeta(outputRun.value);
475
+ });
476
+ const outputError = computed(() => props.inputData.runData?.error);
477
+ return (_ctx, _cache) => {
478
+ return openBlock(), createElementBlock("div", {
479
+ class: normalizeClass(_ctx.$style.container)
480
+ }, [
481
+ createBaseVNode("header", {
482
+ class: normalizeClass(_ctx.$style.header)
483
+ }, [
484
+ runMeta.value?.node ? (openBlock(), createBlock(NodeIcon, {
485
+ key: 0,
486
+ class: normalizeClass(_ctx.$style.nodeIcon),
487
+ "node-type": runMeta.value.node,
488
+ size: 20
489
+ }, null, 8, ["class", "node-type"])) : createCommentVNode("", true),
490
+ createBaseVNode("div", {
491
+ class: normalizeClass(_ctx.$style.headerWrap)
492
+ }, [
493
+ createBaseVNode("p", {
494
+ class: normalizeClass(_ctx.$style.title)
495
+ }, toDisplayString(_ctx.inputData.node.name), 3),
496
+ createBaseVNode("ul", {
497
+ class: normalizeClass(_ctx.$style.meta)
498
+ }, [
499
+ runMeta.value?.startTimeMs ? (openBlock(), createElementBlock("li", _hoisted_1$2, toDisplayString(runMeta.value?.executionTimeMs) + "ms", 1)) : createCommentVNode("", true),
500
+ runMeta.value?.startTimeMs ? (openBlock(), createElementBlock("li", _hoisted_2$1, [
501
+ createVNode(unref(N8nTooltip), null, {
502
+ content: withCtx(() => [
503
+ createTextVNode(toDisplayString(new Date(runMeta.value?.startTimeMs).toLocaleString()), 1)
504
+ ]),
505
+ default: withCtx(() => [
506
+ createTextVNode(" " + toDisplayString(unref(i18n).baseText("runData.aiContentBlock.startedAt", {
507
+ interpolate: {
508
+ startTime: new Date(runMeta.value?.startTimeMs).toLocaleTimeString()
509
+ }
510
+ })), 1)
511
+ ]),
512
+ _: 1
513
+ })
514
+ ])) : createCommentVNode("", true),
515
+ runMeta.value ? (openBlock(), createElementBlock("li", _hoisted_3$1, [
516
+ createVNode(ViewSubExecution, {
517
+ "task-metadata": runMeta.value,
518
+ "display-mode": "ai",
519
+ inline: true
520
+ }, null, 8, ["task-metadata"])
521
+ ])) : createCommentVNode("", true),
522
+ (consumedTokensSum.value?.totalTokens ?? 0) > 0 ? (openBlock(), createElementBlock("li", {
523
+ key: 3,
524
+ class: normalizeClass(_ctx.$style.tokensUsage)
525
+ }, [
526
+ createTextVNode(toDisplayString(unref(i18n).baseText("runData.aiContentBlock.tokens", {
527
+ interpolate: {
528
+ count: unref(formatTokenUsageCount)(consumedTokensSum.value, "total")
529
+ }
530
+ })) + " ", 1),
531
+ createVNode(unref(InfoTip), {
532
+ type: "tooltip",
533
+ theme: "info-light",
534
+ "tooltip-placement": "right"
535
+ }, {
536
+ default: withCtx(() => [
537
+ createVNode(_sfc_main$9, { "consumed-tokens": consumedTokensSum.value }, null, 8, ["consumed-tokens"])
538
+ ]),
539
+ _: 1
540
+ })
541
+ ], 2)) : createCommentVNode("", true)
542
+ ], 2)
543
+ ], 2)
544
+ ], 2),
545
+ (openBlock(true), createElementBlock(Fragment, null, renderList(data.value ?? [], (run, index) => {
546
+ return openBlock(), createElementBlock("main", {
547
+ key: index,
548
+ class: normalizeClass(_ctx.$style.content)
549
+ }, [
550
+ createVNode(AiRunContentBlock, {
551
+ "run-data": run,
552
+ error: run.inOut === "output" ? outputError.value : void 0
553
+ }, null, 8, ["run-data", "error"])
554
+ ], 2);
555
+ }), 128))
556
+ ], 2);
557
+ };
558
+ }
559
+ });
560
+ const container$2 = "_container_1ddvo_2";
561
+ const nodeIcon = "_nodeIcon_1ddvo_5";
562
+ const header$1 = "_header_1ddvo_8";
563
+ const headerWrap = "_headerWrap_1ddvo_14";
564
+ const title$1 = "_title_1ddvo_18";
565
+ const meta = "_meta_1ddvo_25";
566
+ const tokensUsage = "_tokensUsage_1ddvo_41";
567
+ const style0$3 = {
568
+ container: container$2,
569
+ nodeIcon,
570
+ header: header$1,
571
+ headerWrap,
572
+ title: title$1,
573
+ meta,
574
+ tokensUsage
575
+ };
576
+ const cssModules$3 = {
577
+ "$style": style0$3
578
+ };
579
+ const RunDataAiContent = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__cssModules", cssModules$3]]);
580
+ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
581
+ __name: "RunDataAi",
582
+ props: {
583
+ node: {},
584
+ runIndex: { default: 0 }
585
+ },
586
+ setup(__props) {
587
+ const i18n = useI18n();
588
+ const filter = computed(() => ({
589
+ rootNodeId: __props.node.id,
590
+ rootNodeRunIndex: __props.runIndex
591
+ }));
592
+ const { entries, execution, latestNodeNameById, loadSubExecution } = useLogsExecutionData({
593
+ filter
594
+ });
595
+ const { flatLogEntries, toggleExpanded } = useLogsTreeExpand(entries, loadSubExecution);
596
+ const selected = shallowRef();
597
+ function select(entry) {
598
+ selected.value = entry?.node.id === __props.node.id ? void 0 : entry;
599
+ }
600
+ watch(
601
+ entries,
602
+ (latestEntries) => {
603
+ if (!selected.value || findLogEntryById(selected.value.id, latestEntries) === void 0) {
604
+ selected.value = latestEntries[0]?.children[0];
605
+ }
606
+ },
607
+ { immediate: true }
608
+ );
609
+ return (_ctx, _cache) => {
610
+ return openBlock(), createElementBlock("div", {
611
+ class: normalizeClass(_ctx.$style.container)
612
+ }, [
613
+ unref(flatLogEntries).length > 0 ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
614
+ createVNode(LogsOverviewRows, {
615
+ class: normalizeClass(_ctx.$style.tree),
616
+ "is-compact": "",
617
+ "is-read-only": "",
618
+ "flat-log-entries": unref(flatLogEntries),
619
+ "should-show-token-count-column": false,
620
+ "latest-node-info": unref(latestNodeNameById),
621
+ selected: selected.value,
622
+ "can-open-ndv": false,
623
+ execution: unref(execution),
624
+ onToggleExpanded: unref(toggleExpanded),
625
+ onSelect: select
626
+ }, null, 8, ["class", "flat-log-entries", "latest-node-info", "selected", "execution", "onToggleExpanded"]),
627
+ createBaseVNode("div", {
628
+ class: normalizeClass(_ctx.$style.runData)
629
+ }, [
630
+ selected.value ? (openBlock(), createBlock(RunDataAiContent, {
631
+ key: 0,
632
+ "input-data": selected.value
633
+ }, null, 8, ["input-data"])) : (openBlock(), createElementBlock("div", {
634
+ key: 1,
635
+ class: normalizeClass(_ctx.$style.empty)
636
+ }, [
637
+ createVNode(unref(N8nText), { size: "large" }, {
638
+ default: withCtx(() => [
639
+ createTextVNode(toDisplayString(unref(i18n).baseText("ndv.output.ai.empty", { interpolate: { node: _ctx.node.name } })), 1)
640
+ ]),
641
+ _: 1
642
+ })
643
+ ], 2))
644
+ ], 2)
645
+ ], 64)) : (openBlock(), createElementBlock("div", {
646
+ key: 1,
647
+ class: normalizeClass(_ctx.$style.noData)
648
+ }, toDisplayString(unref(i18n).baseText("ndv.output.ai.waiting")), 3))
649
+ ], 2);
650
+ };
651
+ }
652
+ });
653
+ const noData = "_noData_owvsu_123";
654
+ const empty = "_empty_owvsu_131";
655
+ const tree = "_tree_owvsu_135";
656
+ const runData$1 = "_runData_owvsu_142";
657
+ const container$1 = "_container_owvsu_148";
658
+ const style0$2 = {
659
+ noData,
660
+ empty,
661
+ tree,
662
+ runData: runData$1,
663
+ container: container$1
664
+ };
665
+ const cssModules$2 = {
666
+ "$style": style0$2
667
+ };
668
+ const RunDataAi = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__cssModules", cssModules$2]]);
669
+ const _hoisted_1$1 = {
670
+ key: 0,
671
+ "data-test-id": "ndv-output-waiting"
672
+ };
673
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
674
+ __name: "OutputPanel",
675
+ props: {
676
+ workflowObject: {},
677
+ runIndex: {},
678
+ isReadOnly: { type: Boolean },
679
+ linkedRuns: { type: Boolean },
680
+ canLinkRuns: { type: Boolean },
681
+ pushRef: {},
682
+ blockUI: { type: Boolean, default: false },
683
+ isProductionExecutionPreview: { type: Boolean, default: false },
684
+ isPaneActive: { type: Boolean, default: false },
685
+ displayMode: {}
686
+ },
687
+ emits: ["linkRun", "unlinkRun", "runChange", "activatePane", "tableMounted", "itemHover", "search", "openSettings", "execute", "displayModeChange"],
688
+ setup(__props, { emit: __emit }) {
689
+ const OUTPUT_TYPE = {
690
+ REGULAR: "regular",
691
+ LOGS: "logs"
692
+ };
693
+ const props = __props;
694
+ const emit = __emit;
695
+ const ndvStore = useNDVStore();
696
+ const nodeTypesStore = useNodeTypesStore();
697
+ const workflowsStore = useWorkflowsStore();
698
+ const workflowState = injectWorkflowState();
699
+ const posthogStore = usePostHog();
700
+ const telemetry = useTelemetry();
701
+ const i18n = useI18n();
702
+ const { activeNode } = storeToRefs(ndvStore);
703
+ const { dirtinessByName } = useNodeDirtiness();
704
+ const { isSubNodeType } = useNodeType({
705
+ node: activeNode
706
+ });
707
+ const pinnedData = usePinnedData(activeNode, {
708
+ runIndex: props.runIndex,
709
+ displayMode: props.displayMode
710
+ });
711
+ const outputMode = ref(OUTPUT_TYPE.REGULAR);
712
+ const outputTypes = ref([
713
+ { label: i18n.baseText("ndv.output.outType.regular"), value: OUTPUT_TYPE.REGULAR },
714
+ { label: i18n.baseText("ndv.output.outType.logs"), value: OUTPUT_TYPE.LOGS }
715
+ ]);
716
+ const runDataRef = ref();
717
+ const collapsingColumnName = ref(null);
718
+ const node = computed(() => {
719
+ return ndvStore.activeNode ?? void 0;
720
+ });
721
+ const { hasNodeRun, workflowExecution, workflowRunData } = useExecutionData({ node });
722
+ const isTriggerNode = computed(() => {
723
+ return !!node.value && nodeTypesStore.isTriggerNode(node.value.type);
724
+ });
725
+ const hasAiMetadata = computed(() => {
726
+ if (isNodeRunning.value || !workflowRunData.value) {
727
+ return false;
728
+ }
729
+ if (node.value) {
730
+ const connectedSubNodes = props.workflowObject.getParentNodes(node.value.name, "ALL_NON_MAIN");
731
+ const resultData = connectedSubNodes.map(workflowsStore.getWorkflowResultDataByNodeName);
732
+ return resultData && Array.isArray(resultData) && resultData.length > 0;
733
+ }
734
+ return false;
735
+ });
736
+ const hasError = computed(
737
+ () => Boolean(
738
+ workflowRunData.value && node.value && workflowRunData.value[node.value.name]?.[props.runIndex]?.error
739
+ )
740
+ );
741
+ const defaultOutputMode = computed(() => {
742
+ return hasError.value && hasAiMetadata.value ? OUTPUT_TYPE.LOGS : OUTPUT_TYPE.REGULAR;
743
+ });
744
+ const isNodeRunning = computed(() => {
745
+ return workflowRunning.value && !!node.value && workflowState.executingNode.isNodeExecuting(node.value.name);
746
+ });
747
+ const workflowRunning = computed(() => workflowsStore.isWorkflowRunning);
748
+ const runTaskData = computed(() => {
749
+ if (!node.value || workflowExecution.value === null) {
750
+ return null;
751
+ }
752
+ const runData2 = workflowRunData.value;
753
+ if (!runData2?.hasOwnProperty(node.value.name)) {
754
+ return null;
755
+ }
756
+ if (runData2[node.value.name].length <= props.runIndex) {
757
+ return null;
758
+ }
759
+ return runData2[node.value.name][props.runIndex];
760
+ });
761
+ const runsCount = computed(() => {
762
+ if (node.value === null) {
763
+ return 0;
764
+ }
765
+ const runData2 = workflowRunData.value;
766
+ if (runData2 === null || node.value && !runData2.hasOwnProperty(node.value.name)) {
767
+ return 0;
768
+ }
769
+ if (node.value && runData2[node.value.name].length) {
770
+ return runData2[node.value.name].length;
771
+ }
772
+ return 0;
773
+ });
774
+ const staleData = computed(() => {
775
+ if (!node.value) {
776
+ return false;
777
+ }
778
+ return dirtinessByName.value[node.value.name] === CanvasNodeDirtiness.PARAMETERS_UPDATED;
779
+ });
780
+ const outputPanelEditMode = computed(() => {
781
+ return ndvStore.outputPanelEditMode;
782
+ });
783
+ const canPinData = computed(() => {
784
+ return pinnedData.isValidNodeType.value && !props.isReadOnly;
785
+ });
786
+ const allToolsWereUnusedNotice = computed(() => {
787
+ if (!node.value || runsCount.value === 0 || hasError.value) return void 0;
788
+ if (pinnedData.hasData.value) return void 0;
789
+ const toolsAvailable = props.workflowObject.getParentNodes(
790
+ node.value.name,
791
+ NodeConnectionTypes.AiTool,
792
+ 1
793
+ );
794
+ const toolsUsedInLatestRun = toolsAvailable.filter(
795
+ (tool) => !!workflowRunData.value?.[tool]?.[props.runIndex]
796
+ );
797
+ if (toolsAvailable.length > 0 && toolsUsedInLatestRun.length === 0) {
798
+ return i18n.baseText("ndv.output.noToolUsedInfo");
799
+ } else {
800
+ return void 0;
801
+ }
802
+ });
803
+ const isNDVV2 = computed(
804
+ () => posthogStore.isVariantEnabled(
805
+ NDV_UI_OVERHAUL_EXPERIMENT.name,
806
+ NDV_UI_OVERHAUL_EXPERIMENT.variant
807
+ )
808
+ );
809
+ const insertTestData = () => {
810
+ if (!runDataRef.value) return;
811
+ runDataRef.value.enterEditMode({
812
+ origin: "insertTestDataLink"
813
+ });
814
+ telemetry.track("User clicked ndv link", {
815
+ workflow_id: workflowsStore.workflowId,
816
+ push_ref: props.pushRef,
817
+ node_type: node.value?.type,
818
+ pane: "output",
819
+ type: "insert-test-data"
820
+ });
821
+ };
822
+ const onLinkRun = () => {
823
+ emit("linkRun");
824
+ };
825
+ const onUnlinkRun = () => {
826
+ emit("unlinkRun");
827
+ };
828
+ const openSettings = () => {
829
+ emit("openSettings");
830
+ telemetry.track("User clicked ndv link", {
831
+ node_type: node.value?.type,
832
+ workflow_id: workflowsStore.workflowId,
833
+ push_ref: props.pushRef,
834
+ pane: "output",
835
+ type: "settings"
836
+ });
837
+ };
838
+ const onRunIndexChange = (run) => {
839
+ emit("runChange", run);
840
+ };
841
+ onMounted(() => {
842
+ outputMode.value = defaultOutputMode.value;
843
+ });
844
+ watch(defaultOutputMode, (newValue, oldValue) => {
845
+ if (newValue === OUTPUT_TYPE.LOGS && oldValue === OUTPUT_TYPE.REGULAR && hasNodeRun.value) {
846
+ outputMode.value = defaultOutputMode.value;
847
+ }
848
+ });
849
+ const activatePane = () => {
850
+ emit("activatePane");
851
+ };
852
+ function handleChangeCollapsingColumn(columnName) {
853
+ collapsingColumnName.value = columnName;
854
+ }
855
+ return (_ctx, _cache) => {
856
+ const _directive_n8n_html = resolveDirective("n8n-html");
857
+ return openBlock(), createBlock(RunData, {
858
+ ref_key: "runDataRef",
859
+ ref: runDataRef,
860
+ class: normalizeClass([_ctx.$style.runData, { [_ctx.$style.runDataV2]: isNDVV2.value }]),
861
+ node: node.value,
862
+ "workflow-object": _ctx.workflowObject,
863
+ "run-index": _ctx.runIndex,
864
+ "linked-runs": _ctx.linkedRuns,
865
+ "can-link-runs": _ctx.canLinkRuns,
866
+ "too-much-data-title": unref(i18n).baseText("ndv.output.tooMuchData.title"),
867
+ "no-data-in-branch-message": unref(i18n).baseText("ndv.output.noOutputDataInBranch"),
868
+ "is-executing": isNodeRunning.value,
869
+ "executing-message": unref(i18n).baseText("ndv.output.executing"),
870
+ "push-ref": _ctx.pushRef,
871
+ "block-u-i": _ctx.blockUI,
872
+ "is-production-execution-preview": _ctx.isProductionExecutionPreview,
873
+ "search-shortcut": _ctx.isPaneActive ? "/" : void 0,
874
+ "hide-pagination": outputMode.value === "logs",
875
+ "pane-type": "output",
876
+ "data-output-type": outputMode.value,
877
+ "callout-message": allToolsWereUnusedNotice.value,
878
+ "display-mode": _ctx.displayMode,
879
+ "disable-ai-content": true,
880
+ "collapsing-table-column-name": collapsingColumnName.value,
881
+ "data-test-id": "ndv-output-panel",
882
+ onActivatePane: activatePane,
883
+ onRunChange: onRunIndexChange,
884
+ onLinkRun,
885
+ onUnlinkRun,
886
+ onTableMounted: _cache[3] || (_cache[3] = ($event) => emit("tableMounted", $event)),
887
+ onItemHover: _cache[4] || (_cache[4] = ($event) => emit("itemHover", $event)),
888
+ onSearch: _cache[5] || (_cache[5] = ($event) => emit("search", $event)),
889
+ onDisplayModeChange: _cache[6] || (_cache[6] = ($event) => emit("displayModeChange", $event)),
890
+ onCollapsingTableColumnChanged: handleChangeCollapsingColumn
891
+ }, createSlots({
892
+ header: withCtx(() => [
893
+ createBaseVNode("div", {
894
+ class: normalizeClass([_ctx.$style.titleSection, { [_ctx.$style.titleSectionV2]: isNDVV2.value }])
895
+ }, [
896
+ hasAiMetadata.value ? (openBlock(), createBlock(unref(N8nRadioButtons), {
897
+ key: 0,
898
+ modelValue: outputMode.value,
899
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => outputMode.value = $event),
900
+ "data-test-id": "ai-output-mode-select",
901
+ options: outputTypes.value
902
+ }, null, 8, ["modelValue", "options"])) : (openBlock(), createElementBlock("span", {
903
+ key: 1,
904
+ class: normalizeClass([_ctx.$style.title, { [_ctx.$style.titleV2]: isNDVV2.value }])
905
+ }, toDisplayString(unref(i18n).baseText(outputPanelEditMode.value.enabled ? "ndv.output.edit" : "ndv.output")), 3)),
906
+ unref(hasNodeRun) && !unref(pinnedData).hasData.value && (runsCount.value === 1 || runsCount.value > 0 && staleData.value) ? withDirectives((openBlock(), createBlock(RunInfo, {
907
+ key: 2,
908
+ "task-data": runTaskData.value,
909
+ "has-stale-data": staleData.value,
910
+ "has-pin-data": unref(pinnedData).hasData.value
911
+ }, null, 8, ["task-data", "has-stale-data", "has-pin-data"])), [
912
+ [vShow, !outputPanelEditMode.value.enabled]
913
+ ]) : createCommentVNode("", true)
914
+ ], 2)
915
+ ]),
916
+ "node-not-run": withCtx(() => [
917
+ isNDVV2.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
918
+ _ctx.isReadOnly ? (openBlock(), createBlock(NDVEmptyState, {
919
+ key: 0,
920
+ title: unref(i18n).baseText(
921
+ isTriggerNode.value ? "ndv.output.noOutputData.trigger.title" : "ndv.output.noOutputData.v2.title"
922
+ )
923
+ }, null, 8, ["title"])) : (openBlock(), createBlock(NDVEmptyState, {
924
+ key: 1,
925
+ title: unref(i18n).baseText(
926
+ isTriggerNode.value ? "ndv.output.noOutputData.trigger.title" : "ndv.output.noOutputData.v2.title"
927
+ )
928
+ }, createSlots({
929
+ default: withCtx(() => [
930
+ !canPinData.value || unref(isSubNodeType) ? (openBlock(), createBlock(unref(I18nT), {
931
+ key: 0,
932
+ tag: "span",
933
+ keypath: unref(isSubNodeType) ? "ndv.output.runNodeHintSubNode" : "ndv.output.noOutputData.v2.description",
934
+ scope: "global"
935
+ }, {
936
+ link: withCtx(() => [
937
+ createVNode(_sfc_main$a, {
938
+ "hide-icon": "",
939
+ transparent: "",
940
+ type: "secondary",
941
+ "node-name": unref(activeNode)?.name ?? "",
942
+ label: unref(i18n).baseText(
943
+ isTriggerNode.value ? "ndv.output.noOutputData.trigger.action" : "ndv.output.noOutputData.v2.action"
944
+ ),
945
+ "telemetry-source": "inputs",
946
+ onExecute: _cache[1] || (_cache[1] = ($event) => emit("execute"))
947
+ }, null, 8, ["node-name", "label"]),
948
+ _cache[8] || (_cache[8] = createBaseVNode("br", null, null, -1))
949
+ ]),
950
+ _: 1
951
+ }, 8, ["keypath"])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
952
+ createVNode(_sfc_main$a, {
953
+ "hide-icon": "",
954
+ transparent: "",
955
+ type: "secondary",
956
+ "node-name": unref(activeNode)?.name ?? "",
957
+ label: unref(i18n).baseText(
958
+ isTriggerNode.value ? "ndv.output.noOutputData.trigger.action" : "ndv.output.noOutputData.v2.action"
959
+ ),
960
+ "telemetry-source": "inputs",
961
+ onExecute: _cache[2] || (_cache[2] = ($event) => emit("execute"))
962
+ }, null, 8, ["node-name", "label"]),
963
+ _cache[9] || (_cache[9] = createBaseVNode("br", null, null, -1)),
964
+ createTextVNode(" " + toDisplayString(unref(i18n).baseText("generic.or")) + " ", 1),
965
+ createVNode(unref(N8nText), {
966
+ tag: "a",
967
+ size: "medium",
968
+ color: "primary",
969
+ onClick: insertTestData
970
+ }, {
971
+ default: withCtx(() => [
972
+ createTextVNode(toDisplayString(unref(i18n).baseText("ndv.output.insertTestData")), 1)
973
+ ]),
974
+ _: 1
975
+ })
976
+ ], 64))
977
+ ]),
978
+ _: 2
979
+ }, [
980
+ isTriggerNode.value ? {
981
+ name: "icon",
982
+ fn: withCtx(() => [
983
+ _cache[7] || (_cache[7] = createBaseVNode("svg", {
984
+ width: "16",
985
+ viewBox: "0 0 14 18",
986
+ fill: "none",
987
+ xmlns: "http://www.w3.org/2000/svg"
988
+ }, [
989
+ createBaseVNode("path", {
990
+ d: "M10.9062 2.40625L8.5 8.03125H12C12.4062 8.03125 12.7812 8.28125 12.9375 8.65625C13.0625 9.0625 12.9688 9.5 12.6562 9.78125L4.65625 16.7812C4.28125 17.0625 3.78125 17.0938 3.40625 16.8125C3.03125 16.5625 2.875 16.0625 3.0625 15.625L5.46875 10H2C1.5625 10 1.1875 9.75 1.0625 9.375C0.90625 8.96875 1 8.53125 1.3125 8.25L9.3125 1.25C9.6875 0.96875 10.1875 0.9375 10.5625 1.21875C10.9375 1.46875 11.0938 1.96875 10.9062 2.40625Z",
991
+ fill: "currentColor"
992
+ })
993
+ ], -1))
994
+ ]),
995
+ key: "0"
996
+ } : {
997
+ name: "icon",
998
+ fn: withCtx(() => [
999
+ createVNode(unref(N8nIcon), {
1000
+ icon: "arrow-right-from-line",
1001
+ size: "xlarge"
1002
+ })
1003
+ ]),
1004
+ key: "1"
1005
+ }
1006
+ ]), 1032, ["title"]))
1007
+ ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
1008
+ workflowRunning.value && !isTriggerNode.value ? (openBlock(), createElementBlock("div", _hoisted_1$1, [
1009
+ createBaseVNode("div", {
1010
+ class: normalizeClass(_ctx.$style.spinner)
1011
+ }, [
1012
+ createVNode(unref(_sfc_main$b), { type: "ring" })
1013
+ ], 2),
1014
+ createVNode(unref(N8nText), null, {
1015
+ default: withCtx(() => [
1016
+ createTextVNode(toDisplayString(unref(i18n).baseText("ndv.output.waitingToRun")), 1)
1017
+ ]),
1018
+ _: 1
1019
+ })
1020
+ ])) : createCommentVNode("", true),
1021
+ !workflowRunning.value ? (openBlock(), createBlock(unref(N8nText), {
1022
+ key: 1,
1023
+ "data-test-id": "ndv-output-run-node-hint"
1024
+ }, {
1025
+ default: withCtx(() => [
1026
+ unref(isSubNodeType) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
1027
+ createTextVNode(toDisplayString(unref(i18n).baseText("ndv.output.runNodeHintSubNode")), 1)
1028
+ ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
1029
+ createTextVNode(toDisplayString(unref(i18n).baseText("ndv.output.runNodeHint")) + " ", 1),
1030
+ canPinData.value ? (openBlock(), createElementBlock("span", {
1031
+ key: 0,
1032
+ onClick: insertTestData
1033
+ }, [
1034
+ _cache[10] || (_cache[10] = createBaseVNode("br", null, null, -1)),
1035
+ createTextVNode(" " + toDisplayString(unref(i18n).baseText("generic.or")) + " ", 1),
1036
+ createVNode(unref(N8nText), {
1037
+ tag: "a",
1038
+ size: "medium",
1039
+ color: "primary"
1040
+ }, {
1041
+ default: withCtx(() => [
1042
+ createTextVNode(toDisplayString(unref(i18n).baseText("ndv.output.insertTestData")), 1)
1043
+ ]),
1044
+ _: 1
1045
+ })
1046
+ ])) : createCommentVNode("", true)
1047
+ ], 64))
1048
+ ]),
1049
+ _: 1
1050
+ })) : createCommentVNode("", true)
1051
+ ], 64))
1052
+ ]),
1053
+ "node-waiting": withCtx(() => [
1054
+ createVNode(NDVEmptyState, {
1055
+ title: unref(i18n).baseText("ndv.output.waitNodeWaiting.title"),
1056
+ wide: ""
1057
+ }, {
1058
+ default: withCtx(() => [
1059
+ withDirectives(createBaseVNode("span", null, null, 512), [
1060
+ [_directive_n8n_html, unref(waitingNodeTooltip)(node.value, _ctx.workflowObject)]
1061
+ ])
1062
+ ]),
1063
+ _: 1
1064
+ }, 8, ["title"])
1065
+ ]),
1066
+ "no-output-data": withCtx(() => [
1067
+ createVNode(NDVEmptyState, {
1068
+ title: unref(i18n).baseText("ndv.output.noOutputData.title")
1069
+ }, {
1070
+ default: withCtx(() => [
1071
+ createTextVNode(toDisplayString(unref(i18n).baseText("ndv.output.noOutputData.message")) + " ", 1),
1072
+ createBaseVNode("a", { onClick: openSettings }, toDisplayString(unref(i18n).baseText("ndv.output.noOutputData.message.settings")), 1),
1073
+ createTextVNode(" " + toDisplayString(unref(i18n).baseText("ndv.output.noOutputData.message.settingsOption")), 1)
1074
+ ]),
1075
+ _: 1
1076
+ }, 8, ["title"])
1077
+ ]),
1078
+ "recovered-artificial-output-data": withCtx(() => [
1079
+ createVNode(NDVEmptyState, {
1080
+ title: unref(i18n).baseText("executionDetails.executionFailed.recoveredNodeTitle")
1081
+ }, {
1082
+ default: withCtx(() => [
1083
+ createTextVNode(toDisplayString(unref(i18n).baseText("executionDetails.executionFailed.recoveredNodeMessage")), 1)
1084
+ ]),
1085
+ _: 1
1086
+ }, 8, ["title"])
1087
+ ]),
1088
+ _: 2
1089
+ }, [
1090
+ outputMode.value === "logs" && node.value ? {
1091
+ name: "content",
1092
+ fn: withCtx(() => [
1093
+ createVNode(RunDataAi, {
1094
+ node: node.value,
1095
+ "run-index": _ctx.runIndex,
1096
+ "workflow-object": _ctx.workflowObject
1097
+ }, null, 8, ["node", "run-index", "workflow-object"])
1098
+ ]),
1099
+ key: "0"
1100
+ } : void 0,
1101
+ !unref(pinnedData).hasData.value && runsCount.value > 1 ? {
1102
+ name: "run-info",
1103
+ fn: withCtx(() => [
1104
+ createVNode(RunInfo, { "task-data": runTaskData.value }, null, 8, ["task-data"])
1105
+ ]),
1106
+ key: "1"
1107
+ } : void 0
1108
+ ]), 1032, ["class", "node", "workflow-object", "run-index", "linked-runs", "can-link-runs", "too-much-data-title", "no-data-in-branch-message", "is-executing", "executing-message", "push-ref", "block-u-i", "is-production-execution-preview", "search-shortcut", "hide-pagination", "data-output-type", "callout-message", "display-mode", "collapsing-table-column-name"]);
1109
+ };
1110
+ }
1111
+ });
1112
+ const runData = "_runData_kisyc_128";
1113
+ const runDataV2 = "_runDataV2_kisyc_132";
1114
+ const outputTypeSelect = "_outputTypeSelect_kisyc_136";
1115
+ const titleSection = "_titleSection_kisyc_141";
1116
+ const titleSectionV2 = "_titleSectionV2_kisyc_149";
1117
+ const title = "_title_kisyc_141";
1118
+ const titleV2 = "_titleV2_kisyc_161";
1119
+ const noOutputData = "_noOutputData_kisyc_166";
1120
+ const link = "_link_kisyc_176";
1121
+ const spinner = "_spinner_kisyc_183";
1122
+ const style0$1 = {
1123
+ runData,
1124
+ runDataV2,
1125
+ outputTypeSelect,
1126
+ titleSection,
1127
+ titleSectionV2,
1128
+ title,
1129
+ titleV2,
1130
+ noOutputData,
1131
+ link,
1132
+ spinner
1133
+ };
1134
+ const cssModules$1 = {
1135
+ "$style": style0$1
1136
+ };
1137
+ const OutputPanel = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__cssModules", cssModules$1]]);
1138
+ const _hoisted_1 = { key: "empty" };
1139
+ const _hoisted_2 = {
1140
+ key: "listening",
1141
+ "data-test-id": "trigger-listening"
1142
+ };
1143
+ const _hoisted_3 = { key: 0 };
1144
+ const _hoisted_4 = { key: 1 };
1145
+ const _hoisted_5 = { key: 0 };
1146
+ const _hoisted_6 = { key: "default" };
1147
+ const _hoisted_7 = {
1148
+ key: 0,
1149
+ class: "mb-xl"
1150
+ };
1151
+ const _hoisted_8 = ["textContent"];
1152
+ const _sfc_main = /* @__PURE__ */ defineComponent({
1153
+ __name: "TriggerPanel",
1154
+ props: {
1155
+ nodeName: {},
1156
+ pushRef: { default: "" }
1157
+ },
1158
+ emits: ["activate", "execute"],
1159
+ setup(__props, { emit: __emit }) {
1160
+ const props = __props;
1161
+ const emit = __emit;
1162
+ const nodesTypeStore = useNodeTypesStore();
1163
+ const uiStore = useUIStore();
1164
+ const workflowsStore = useWorkflowsStore();
1165
+ const ndvStore = useNDVStore();
1166
+ const router = useRouter();
1167
+ const workflowHelpers = useWorkflowHelpers();
1168
+ const i18n = useI18n();
1169
+ const telemetry = useTelemetry();
1170
+ const executionsHelpEventBus = createEventBus();
1171
+ const help = ref(null);
1172
+ const node = computed(() => workflowsStore.getNodeByName(props.nodeName));
1173
+ const nodeType = computed(() => {
1174
+ if (node.value) {
1175
+ return nodesTypeStore.getNodeType(node.value.type, node.value.typeVersion);
1176
+ }
1177
+ return null;
1178
+ });
1179
+ const triggerPanel = computed(() => {
1180
+ const panel = nodeType.value?.triggerPanel;
1181
+ if (isTriggerPanelObject(panel)) {
1182
+ return panel;
1183
+ }
1184
+ return void 0;
1185
+ });
1186
+ const hideContent = computed(() => {
1187
+ const hideContent2 = triggerPanel.value?.hideContent;
1188
+ if (typeof hideContent2 === "boolean") {
1189
+ return hideContent2;
1190
+ }
1191
+ if (node.value) {
1192
+ const hideContentValue = workflowsStore.workflowObject.expression.getSimpleParameterValue(
1193
+ node.value,
1194
+ hideContent2,
1195
+ "internal",
1196
+ {}
1197
+ );
1198
+ if (typeof hideContentValue === "boolean") {
1199
+ return hideContentValue;
1200
+ }
1201
+ }
1202
+ return false;
1203
+ });
1204
+ const hasIssues = computed(() => {
1205
+ return Boolean(
1206
+ node.value?.issues && (node.value.issues.parameters ?? node.value.issues.credentials)
1207
+ );
1208
+ });
1209
+ const serviceName = computed(() => {
1210
+ if (nodeType.value) {
1211
+ return getTriggerNodeServiceName(nodeType.value);
1212
+ }
1213
+ return "";
1214
+ });
1215
+ const displayChatButton = computed(() => {
1216
+ return Boolean(
1217
+ node.value && node.value.type === CHAT_TRIGGER_NODE_TYPE && node.value.parameters.mode !== "webhook"
1218
+ );
1219
+ });
1220
+ const isWebhookNode = computed(() => {
1221
+ return Boolean(node.value && node.value.type === WEBHOOK_NODE_TYPE);
1222
+ });
1223
+ const webhookHttpMethod = computed(() => {
1224
+ if (!node.value || !nodeType.value?.webhooks?.length) {
1225
+ return void 0;
1226
+ }
1227
+ const httpMethod = workflowHelpers.getWebhookExpressionValue(
1228
+ nodeType.value.webhooks[0],
1229
+ "httpMethod",
1230
+ false
1231
+ );
1232
+ if (Array.isArray(httpMethod)) {
1233
+ return httpMethod.join(", ");
1234
+ }
1235
+ return httpMethod;
1236
+ });
1237
+ const webhookTestUrl = computed(() => {
1238
+ if (!node.value || !nodeType.value?.webhooks?.length) {
1239
+ return void 0;
1240
+ }
1241
+ return workflowHelpers.getWebhookUrl(nodeType.value.webhooks[0], node.value, "test");
1242
+ });
1243
+ const isWebhookBasedNode = computed(() => {
1244
+ return Boolean(nodeType.value?.webhooks?.length);
1245
+ });
1246
+ const isPollingNode = computed(() => {
1247
+ return Boolean(nodeType.value?.polling);
1248
+ });
1249
+ const isListeningForEvents = computed(() => {
1250
+ if (!node.value || node.value.disabled || !isWebhookBasedNode.value) {
1251
+ return false;
1252
+ }
1253
+ if (!workflowsStore.executionWaitingForWebhook) {
1254
+ return false;
1255
+ }
1256
+ const executedNode = workflowsStore.executedNode;
1257
+ const isCurrentNodeExecuted = executedNode === props.nodeName;
1258
+ const isChildNodeExecuted = executedNode ? workflowsStore.workflowObject.getParentNodes(executedNode).includes(props.nodeName) : false;
1259
+ return !executedNode || isCurrentNodeExecuted || isChildNodeExecuted;
1260
+ });
1261
+ const workflowRunning = computed(() => workflowsStore.isWorkflowRunning);
1262
+ const isActivelyPolling = computed(() => {
1263
+ const triggeredNode = workflowsStore.executedNode;
1264
+ return workflowRunning.value && isPollingNode.value && props.nodeName === triggeredNode;
1265
+ });
1266
+ const isWorkflowActive = computed(() => {
1267
+ return workflowsStore.isWorkflowActive;
1268
+ });
1269
+ const listeningTitle = computed(() => {
1270
+ return nodeType.value?.name === FORM_TRIGGER_NODE_TYPE ? i18n.baseText("ndv.trigger.webhookNode.formTrigger.listening") : i18n.baseText("ndv.trigger.webhookNode.listening");
1271
+ });
1272
+ const listeningHint = computed(() => {
1273
+ switch (nodeType.value?.name) {
1274
+ case CHAT_TRIGGER_NODE_TYPE:
1275
+ return i18n.baseText("ndv.trigger.webhookBasedNode.chatTrigger.serviceHint");
1276
+ case FORM_TRIGGER_NODE_TYPE:
1277
+ return i18n.baseText("ndv.trigger.webhookBasedNode.formTrigger.serviceHint");
1278
+ default:
1279
+ return i18n.baseText("ndv.trigger.webhookBasedNode.serviceHint", {
1280
+ interpolate: { service: serviceName.value }
1281
+ });
1282
+ }
1283
+ });
1284
+ const header2 = computed(() => {
1285
+ if (isActivelyPolling.value) {
1286
+ return i18n.baseText("ndv.trigger.pollingNode.fetchingEvent");
1287
+ }
1288
+ if (triggerPanel.value?.header) {
1289
+ return triggerPanel.value.header;
1290
+ }
1291
+ if (isWebhookBasedNode.value) {
1292
+ return i18n.baseText("ndv.trigger.webhookBasedNode.action", {
1293
+ interpolate: { name: serviceName.value }
1294
+ });
1295
+ }
1296
+ return "";
1297
+ });
1298
+ const subheader = computed(() => {
1299
+ if (isActivelyPolling.value) {
1300
+ return i18n.baseText("ndv.trigger.pollingNode.fetchingHint", {
1301
+ interpolate: { name: serviceName.value }
1302
+ });
1303
+ }
1304
+ return "";
1305
+ });
1306
+ const executionsHelp = computed(() => {
1307
+ if (triggerPanel.value?.executionsHelp) {
1308
+ if (typeof triggerPanel.value.executionsHelp === "string") {
1309
+ return triggerPanel.value.executionsHelp;
1310
+ }
1311
+ if (!isWorkflowActive.value && triggerPanel.value.executionsHelp.inactive) {
1312
+ return triggerPanel.value.executionsHelp.inactive;
1313
+ }
1314
+ if (isWorkflowActive.value && triggerPanel.value.executionsHelp.active) {
1315
+ return triggerPanel.value.executionsHelp.active;
1316
+ }
1317
+ }
1318
+ if (isWebhookBasedNode.value) {
1319
+ if (isWorkflowActive.value) {
1320
+ return i18n.baseText("ndv.trigger.webhookBasedNode.executionsHelp.active", {
1321
+ interpolate: { service: serviceName.value }
1322
+ });
1323
+ } else {
1324
+ return i18n.baseText("ndv.trigger.webhookBasedNode.executionsHelp.inactive", {
1325
+ interpolate: { service: serviceName.value }
1326
+ });
1327
+ }
1328
+ }
1329
+ if (isPollingNode.value) {
1330
+ if (isWorkflowActive.value) {
1331
+ return i18n.baseText("ndv.trigger.pollingNode.executionsHelp.active", {
1332
+ interpolate: { service: serviceName.value }
1333
+ });
1334
+ } else {
1335
+ return i18n.baseText("ndv.trigger.pollingNode.executionsHelp.inactive", {
1336
+ interpolate: { service: serviceName.value }
1337
+ });
1338
+ }
1339
+ }
1340
+ return "";
1341
+ });
1342
+ const activationHint = computed(() => {
1343
+ if (isActivelyPolling.value || !triggerPanel.value) {
1344
+ return "";
1345
+ }
1346
+ if (triggerPanel.value.activationHint) {
1347
+ if (typeof triggerPanel.value.activationHint === "string") {
1348
+ return triggerPanel.value.activationHint;
1349
+ }
1350
+ if (!isWorkflowActive.value && typeof triggerPanel.value.activationHint.inactive === "string") {
1351
+ return triggerPanel.value.activationHint.inactive;
1352
+ }
1353
+ if (isWorkflowActive.value && typeof triggerPanel.value.activationHint.active === "string") {
1354
+ return triggerPanel.value.activationHint.active;
1355
+ }
1356
+ }
1357
+ if (isWebhookBasedNode.value) {
1358
+ if (isWorkflowActive.value) {
1359
+ return i18n.baseText("ndv.trigger.webhookBasedNode.activationHint.active", {
1360
+ interpolate: { service: serviceName.value }
1361
+ });
1362
+ } else {
1363
+ return i18n.baseText("ndv.trigger.webhookBasedNode.activationHint.inactive", {
1364
+ interpolate: { service: serviceName.value }
1365
+ });
1366
+ }
1367
+ }
1368
+ if (isPollingNode.value) {
1369
+ if (isWorkflowActive.value) {
1370
+ return i18n.baseText("ndv.trigger.pollingNode.activationHint.active", {
1371
+ interpolate: { service: serviceName.value }
1372
+ });
1373
+ } else {
1374
+ return i18n.baseText("ndv.trigger.pollingNode.activationHint.inactive", {
1375
+ interpolate: { service: serviceName.value }
1376
+ });
1377
+ }
1378
+ }
1379
+ return "";
1380
+ });
1381
+ const expandExecutionHelp = () => {
1382
+ if (help.value) {
1383
+ executionsHelpEventBus.emit("expand");
1384
+ }
1385
+ };
1386
+ const openWebhookUrl = () => {
1387
+ telemetry.track("User clicked ndv link", {
1388
+ workflow_id: workflowsStore.workflowId,
1389
+ push_ref: props.pushRef,
1390
+ pane: "input",
1391
+ type: "open-chat"
1392
+ });
1393
+ window.open(webhookTestUrl.value, "_blank", "noreferrer");
1394
+ };
1395
+ const onLinkClick = (e) => {
1396
+ if (!e.target) {
1397
+ return;
1398
+ }
1399
+ const target = e.target;
1400
+ if (target.localName !== "a") return;
1401
+ if (target.dataset?.key) {
1402
+ e.stopPropagation();
1403
+ e.preventDefault();
1404
+ if (target.dataset.key === "activate") {
1405
+ emit("activate");
1406
+ } else if (target.dataset.key === "executions") {
1407
+ telemetry.track("User clicked ndv link", {
1408
+ workflow_id: workflowsStore.workflowId,
1409
+ push_ref: props.pushRef,
1410
+ pane: "input",
1411
+ type: "open-executions-log"
1412
+ });
1413
+ ndvStore.unsetActiveNodeName();
1414
+ void router.push({
1415
+ name: VIEWS.EXECUTIONS
1416
+ });
1417
+ } else if (target.dataset.key === "settings") {
1418
+ uiStore.openModal(WORKFLOW_SETTINGS_MODAL_KEY);
1419
+ }
1420
+ }
1421
+ };
1422
+ const onTestLinkCopied = () => {
1423
+ telemetry.track("User copied webhook URL", {
1424
+ pane: "inputs",
1425
+ type: "test url"
1426
+ });
1427
+ };
1428
+ const onNodeExecute = () => {
1429
+ emit("execute");
1430
+ };
1431
+ return (_ctx, _cache) => {
1432
+ const _directive_n8n_html = resolveDirective("n8n-html");
1433
+ return openBlock(), createElementBlock("div", {
1434
+ class: normalizeClass(_ctx.$style.container)
1435
+ }, [
1436
+ createVNode(Transition, {
1437
+ name: "fade",
1438
+ mode: "out-in"
1439
+ }, {
1440
+ default: withCtx(() => [
1441
+ hasIssues.value || hideContent.value ? (openBlock(), createElementBlock("div", _hoisted_1)) : isListeningForEvents.value ? (openBlock(), createElementBlock("div", _hoisted_2, [
1442
+ createVNode(unref(N8nPulse), null, {
1443
+ default: withCtx(() => [
1444
+ createVNode(NodeIcon, {
1445
+ "node-type": nodeType.value,
1446
+ size: 40
1447
+ }, null, 8, ["node-type"])
1448
+ ]),
1449
+ _: 1
1450
+ }),
1451
+ isWebhookNode.value ? (openBlock(), createElementBlock("div", _hoisted_3, [
1452
+ createVNode(unref(N8nText), {
1453
+ tag: "div",
1454
+ size: "large",
1455
+ color: "text-dark",
1456
+ class: "mb-2xs",
1457
+ bold: ""
1458
+ }, {
1459
+ default: withCtx(() => [
1460
+ createTextVNode(toDisplayString(unref(i18n).baseText("ndv.trigger.webhookNode.listening")), 1)
1461
+ ]),
1462
+ _: 1
1463
+ }),
1464
+ createBaseVNode("div", {
1465
+ class: normalizeClass([_ctx.$style.shake, "mb-xs"])
1466
+ }, [
1467
+ createVNode(unref(N8nText), null, {
1468
+ default: withCtx(() => [
1469
+ createTextVNode(toDisplayString(unref(i18n).baseText("ndv.trigger.webhookNode.requestHint", {
1470
+ interpolate: { type: webhookHttpMethod.value ?? "" }
1471
+ })), 1)
1472
+ ]),
1473
+ _: 1
1474
+ })
1475
+ ], 2),
1476
+ createVNode(CopyInput, {
1477
+ value: webhookTestUrl.value,
1478
+ "toast-title": unref(i18n).baseText("ndv.trigger.copiedTestUrl"),
1479
+ class: "mb-2xl",
1480
+ size: "medium",
1481
+ collapse: true,
1482
+ "copy-button-text": unref(i18n).baseText("generic.clickToCopy"),
1483
+ onCopy: onTestLinkCopied
1484
+ }, null, 8, ["value", "toast-title", "copy-button-text"]),
1485
+ createVNode(_sfc_main$a, {
1486
+ "data-test-id": "trigger-execute-button",
1487
+ "node-name": _ctx.nodeName,
1488
+ size: "medium",
1489
+ "telemetry-source": "inputs",
1490
+ onExecute: onNodeExecute
1491
+ }, null, 8, ["node-name"])
1492
+ ])) : (openBlock(), createElementBlock("div", _hoisted_4, [
1493
+ createVNode(unref(N8nText), {
1494
+ tag: "div",
1495
+ size: "large",
1496
+ color: "text-dark",
1497
+ class: "mb-2xs",
1498
+ bold: ""
1499
+ }, {
1500
+ default: withCtx(() => [
1501
+ createTextVNode(toDisplayString(listeningTitle.value), 1)
1502
+ ]),
1503
+ _: 1
1504
+ }),
1505
+ createBaseVNode("div", {
1506
+ class: normalizeClass([_ctx.$style.shake, "mb-xs"])
1507
+ }, [
1508
+ createVNode(unref(N8nText), { tag: "div" }, {
1509
+ default: withCtx(() => [
1510
+ createTextVNode(toDisplayString(listeningHint.value), 1)
1511
+ ]),
1512
+ _: 1
1513
+ })
1514
+ ], 2),
1515
+ displayChatButton.value ? (openBlock(), createElementBlock("div", _hoisted_5, [
1516
+ createVNode(unref(N8nButton), {
1517
+ class: "mb-xl",
1518
+ onClick: _cache[0] || (_cache[0] = ($event) => openWebhookUrl())
1519
+ }, {
1520
+ default: withCtx(() => [
1521
+ createTextVNode(toDisplayString(unref(i18n).baseText("ndv.trigger.chatTrigger.openChat")), 1)
1522
+ ]),
1523
+ _: 1
1524
+ })
1525
+ ])) : createCommentVNode("", true),
1526
+ createVNode(_sfc_main$a, {
1527
+ "data-test-id": "trigger-execute-button",
1528
+ "node-name": _ctx.nodeName,
1529
+ size: "medium",
1530
+ "telemetry-source": "inputs",
1531
+ onExecute: onNodeExecute
1532
+ }, null, 8, ["node-name"])
1533
+ ]))
1534
+ ])) : (openBlock(), createElementBlock("div", _hoisted_6, [
1535
+ isActivelyPolling.value ? (openBlock(), createElementBlock("div", _hoisted_7, [
1536
+ createVNode(unref(_sfc_main$b), { type: "ring" })
1537
+ ])) : createCommentVNode("", true),
1538
+ createBaseVNode("div", {
1539
+ class: normalizeClass(_ctx.$style.action)
1540
+ }, [
1541
+ createBaseVNode("div", {
1542
+ "data-test-id": "trigger-header",
1543
+ class: normalizeClass(_ctx.$style.header)
1544
+ }, [
1545
+ header2.value ? (openBlock(), createBlock(unref(N8nHeading), {
1546
+ key: 0,
1547
+ tag: "h1",
1548
+ bold: ""
1549
+ }, {
1550
+ default: withCtx(() => [
1551
+ createTextVNode(toDisplayString(header2.value), 1)
1552
+ ]),
1553
+ _: 1
1554
+ })) : createCommentVNode("", true),
1555
+ subheader.value ? (openBlock(), createBlock(unref(N8nText), { key: 1 }, {
1556
+ default: withCtx(() => [
1557
+ createBaseVNode("span", {
1558
+ textContent: toDisplayString(subheader.value)
1559
+ }, null, 8, _hoisted_8)
1560
+ ]),
1561
+ _: 1
1562
+ })) : createCommentVNode("", true)
1563
+ ], 2),
1564
+ createVNode(_sfc_main$a, {
1565
+ "data-test-id": "trigger-execute-button",
1566
+ "node-name": _ctx.nodeName,
1567
+ size: "medium",
1568
+ "telemetry-source": "inputs",
1569
+ onExecute: onNodeExecute
1570
+ }, null, 8, ["node-name"])
1571
+ ], 2),
1572
+ activationHint.value ? (openBlock(), createBlock(unref(N8nText), {
1573
+ key: 1,
1574
+ size: "small",
1575
+ onClick: onLinkClick
1576
+ }, {
1577
+ default: withCtx(() => [
1578
+ withDirectives(createBaseVNode("span", null, null, 512), [
1579
+ [_directive_n8n_html, activationHint.value]
1580
+ ]),
1581
+ _cache[1] || (_cache[1] = createTextVNode("  "))
1582
+ ]),
1583
+ _: 1
1584
+ })) : createCommentVNode("", true),
1585
+ activationHint.value && executionsHelp.value ? (openBlock(), createBlock(unref(N8nLink), {
1586
+ key: 2,
1587
+ size: "small",
1588
+ onClick: expandExecutionHelp
1589
+ }, {
1590
+ default: withCtx(() => [
1591
+ createTextVNode(toDisplayString(unref(i18n).baseText("ndv.trigger.moreInfo")), 1)
1592
+ ]),
1593
+ _: 1
1594
+ })) : createCommentVNode("", true),
1595
+ executionsHelp.value ? (openBlock(), createBlock(unref(N8nInfoAccordion), {
1596
+ key: 3,
1597
+ ref_key: "help",
1598
+ ref: help,
1599
+ class: normalizeClass(_ctx.$style.accordion),
1600
+ title: unref(i18n).baseText("ndv.trigger.executionsHint.question"),
1601
+ description: executionsHelp.value,
1602
+ "event-bus": unref(executionsHelpEventBus),
1603
+ "onClick:body": onLinkClick
1604
+ }, null, 8, ["class", "title", "description", "event-bus"])) : createCommentVNode("", true)
1605
+ ]))
1606
+ ]),
1607
+ _: 1
1608
+ })
1609
+ ], 2);
1610
+ };
1611
+ }
1612
+ });
1613
+ const container = "_container_6j3mj_123";
1614
+ const header = "_header_6j3mj_140";
1615
+ const action = "_action_6j3mj_147";
1616
+ const shake = "_shake_6j3mj_151";
1617
+ const accordion = "_accordion_6j3mj_172";
1618
+ const style0 = {
1619
+ container,
1620
+ header,
1621
+ action,
1622
+ shake,
1623
+ accordion
1624
+ };
1625
+ const cssModules = {
1626
+ "$style": style0
1627
+ };
1628
+ const TriggerPanel = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules], ["__scopeId", "data-v-47185fc9"]]);
1629
+ export {
1630
+ NDVFloatingNodes as N,
1631
+ OutputPanel as O,
1632
+ TriggerPanel as T
1633
+ };