n8n-editor-ui 1.94.0 → 1.95.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 (118) hide show
  1. package/dist/assets/{AnimatedSpinner-CY5xYI5m.js → AnimatedSpinner-C7XChHCR.js} +1 -1
  2. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-BOrzkwPH.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-hnbYWvJ9.js} +1 -1
  3. package/dist/assets/{AuthView-BTzGYAnY.js → AuthView-DI6hxVD5.js} +2 -2
  4. package/dist/assets/{CanvasChatSwitch-CwpjFCL0.js → CanvasChatSwitch-DwsxMPyw.js} +8 -9
  5. package/dist/assets/{ChangePasswordView-BKR2UFVI.js → ChangePasswordView-Bw-pJefY.js} +3 -3
  6. package/dist/assets/CollectionParameter-CxVAlHz9.js +4 -0
  7. package/dist/assets/{CredentialsView-DVgxfnNi.js → CredentialsView-B5eidkPT.js} +7 -7
  8. package/dist/assets/{DemoFooter-C1T3Q0NX.js → DemoFooter-BgFAInaS.js} +6 -7
  9. package/dist/assets/{ErrorView-Cf2Yb8Ea.js → ErrorView-B0ThXusw.js} +1 -1
  10. package/dist/assets/EvaluationsRootView-B5AhHo41.css +594 -0
  11. package/dist/assets/EvaluationsRootView-Vvg-8rFP.js +654 -0
  12. package/dist/assets/{TestDefinitionListView-Di-Edppe.css → EvaluationsView-6l_Invxt.css} +193 -76
  13. package/dist/assets/EvaluationsView-B_ShnFaD.js +570 -0
  14. package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-DUu0UMcW.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-ipEAtgCN.js} +2 -2
  15. package/dist/assets/{ExecutionsView-DjNkfnDh.js → ExecutionsView-S10AS1y6.js} +8 -9
  16. package/dist/assets/{FileSaver.min-C1p9Eies.js → FileSaver.min-BlbZenql.js} +1 -1
  17. package/dist/assets/{FixedCollectionParameter-DN_uJhpe.js → FixedCollectionParameter-DJJCgWpe.js} +1 -1
  18. package/dist/assets/{ForgotMyPasswordView-BMQBDIrq.js → ForgotMyPasswordView-CjhwZfLO.js} +3 -3
  19. package/dist/assets/{InsightsChartAverageRuntime-JzBkV6Rc.js → InsightsChartAverageRuntime-tUrH-I32.js} +4 -4
  20. package/dist/assets/{InsightsChartFailed-DMD3c7zM.js → InsightsChartFailed-Cjqry_WC.js} +4 -4
  21. package/dist/assets/{InsightsChartFailureRate-D_qeZo4f.js → InsightsChartFailureRate-aSk9cbfn.js} +4 -4
  22. package/dist/assets/{InsightsChartTimeSaved-Cw2T-Wvp.js → InsightsChartTimeSaved-a0ZHJvOs.js} +4 -4
  23. package/dist/assets/{InsightsChartTotal-DlF47gob.js → InsightsChartTotal-DnhgdxU2.js} +4 -4
  24. package/dist/assets/{InsightsDashboard-CxQ9H296.js → InsightsDashboard-DiHqZN8B.js} +13 -10
  25. package/dist/assets/{InsightsPaywall-hRkAfeHz.js → InsightsPaywall-98yScNiU.js} +1 -1
  26. package/dist/assets/{InsightsSummary-BcXd-3nU.js → InsightsSummary-DIq0mVug.js} +1 -1
  27. package/dist/assets/{InsightsTableWorkflows-ybloXdDn.js → InsightsTableWorkflows-BAR1Wiln.js} +2 -2
  28. package/dist/assets/{Logo-BGe7-2Vd.js → Logo-6AQBTlBb.js} +1 -1
  29. package/dist/assets/{LogsPanel-DtTp6kY0.js → LogsPanel-D-jBkyS0.js} +138 -36
  30. package/dist/assets/{LogsPanel-mTaFEGk_.css → LogsPanel-D7j-yJQx.css} +14 -14
  31. package/dist/assets/{MainHeader-h2DV-VuD.js → MainHeader-B-GwOSVC.js} +31 -21
  32. package/dist/assets/{MainSidebar-AAHHRXFA.js → MainSidebar-CvFovOwL.js} +2 -2
  33. package/dist/assets/{NodeCreation-nHiG-Lhi.js → NodeCreation-CRZ7WbTX.js} +3 -3
  34. package/dist/assets/{NodeCreator-D18StsVZ.css → NodeCreator-Cp8Apzva.css} +38 -21
  35. package/dist/assets/{NodeCreator-weAzsmlU.js → NodeCreator-oaREpBCo.js} +174 -68
  36. package/dist/assets/{NodeDetailsView-BsXbcyfb.js → NodeDetailsView-BaZ1Iy38.js} +32 -18
  37. package/dist/assets/{NodeDetailsView-DpO8nTmN.css → NodeDetailsView-BtWGMS7Y.css} +16 -16
  38. package/dist/assets/{useCanvasMapping-CvcOHj5p.js → NodeView-5lAgMUUI.js} +3660 -11463
  39. package/dist/assets/{useCanvasMapping-CFf4cwnq.css → NodeView-U4YkXSfU.css} +307 -4
  40. package/dist/assets/{ProjectCardBadge-3xpk5Z4e.js → ProjectCardBadge-Em1ZNNrM.js} +1 -1
  41. package/dist/assets/{ProjectHeader-CpoOisjf.js → ProjectHeader-_lN7pyVn.js} +2 -2
  42. package/dist/assets/{ProjectSettings-B__3XaPY.js → ProjectSettings-CJGl9Y79.js} +4 -3
  43. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-DaoPdG_5.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-iedwMPAo.js} +1 -1
  44. package/dist/assets/{ResourcesListLayout-DAxou314.js → ResourcesListLayout-BWMVuu8k.js} +2 -2
  45. package/dist/assets/{RunData-fnd-jejc.js → RunData-C_A8RvJy.js} +22 -21
  46. package/dist/assets/{RunDataAi-Ck3VGKP_.js → RunDataAi-jmrQhuDM.js} +3 -3
  47. package/dist/assets/{RunDataJson-B80Z4URL.js → RunDataJson-BW4_izq5.js} +6 -7
  48. package/dist/assets/{RunDataJsonActions-CdZi1Qul.js → RunDataJsonActions-CBx8X3VX.js} +1 -1
  49. package/dist/assets/{RunDataParsedAiContent-BczxQ63H.js → RunDataParsedAiContent-CqC8oCIw.js} +4 -5
  50. package/dist/assets/{RunDataSearch-C4KmCz4c.js → RunDataSearch-C3G6iIIO.js} +1 -1
  51. package/dist/assets/{RunDataTable-CsLCZIWp.js → RunDataTable-D0XGBIHv.js} +2 -3
  52. package/dist/assets/{SamlOnboarding-DkhjCrPa.js → SamlOnboarding-DRR0XpSK.js} +3 -3
  53. package/dist/assets/{SettingsApiView-Ci2-rEpm.js → SettingsApiView-DqW4dOkv.js} +1 -1
  54. package/dist/assets/{SettingsCommunityNodesView-_UOppuqS.js → SettingsCommunityNodesView-7Z0JUVA1.js} +4 -4
  55. package/dist/assets/{SettingsExternalSecrets-DHIkKr53.js → SettingsExternalSecrets-KiEdsTm3.js} +1 -1
  56. package/dist/assets/{SettingsLdapView-B8ezgdqP.js → SettingsLdapView-BwDJdGQF.js} +1 -1
  57. package/dist/assets/{SettingsLogStreamingView-YP6Xy7Fe.js → SettingsLogStreamingView-DvNRfV-g.js} +1 -1
  58. package/dist/assets/{SettingsPersonalView-BmbFyWPb.js → SettingsPersonalView-Cj-J26NG.js} +1 -1
  59. package/dist/assets/{SettingsSourceControl-DwaOdDke.js → SettingsSourceControl-Cs61TSRq.js} +1 -1
  60. package/dist/assets/{SettingsSso-DOC-P2wt.js → SettingsSso-CTlGkK79.js} +1 -1
  61. package/dist/assets/{SettingsUsageAndPlan-DVOLlEkG.js → SettingsUsageAndPlan-M4ipqx3B.js} +1 -1
  62. package/dist/assets/{SettingsUsersView-CN_KLeIm.js → SettingsUsersView-DWs-wd9A.js} +1 -1
  63. package/dist/assets/{SettingsView-DiAhLyco.js → SettingsView-CkuND22R.js} +1 -1
  64. package/dist/assets/{SetupView-OE_yCNOU.js → SetupView-DIU2_rWZ.js} +3 -3
  65. package/dist/assets/{SetupWorkflowCredentialsButton-Dx1IkZgW.js → SetupWorkflowCredentialsButton-DwkreJJY.js} +1 -1
  66. package/dist/assets/{SetupWorkflowFromTemplateView-lQXKgIuL.js → SetupWorkflowFromTemplateView-BJmGqoxp.js} +3 -3
  67. package/dist/assets/{SigninView-BWSrzbF7.js → SigninView-NMS3wbG-.js} +3 -3
  68. package/dist/assets/{SignoutView-DxGgFxt2.js → SignoutView-BzLd-IiP.js} +1 -1
  69. package/dist/assets/{SignupView-Dtu5bMqF.js → SignupView-COZDec3x.js} +3 -3
  70. package/dist/assets/{TemplateDetails-CQ7TYqsP.js → TemplateDetails-v_Glqzt0.js} +1 -1
  71. package/dist/assets/{TemplateList-Cxmv-0p-.js → TemplateList-B_Kni3PE.js} +1 -1
  72. package/dist/assets/{TemplatesCollectionView-xvV6FXib.js → TemplatesCollectionView-CMT0A-6p.js} +5 -5
  73. package/dist/assets/{TemplatesSearchView-CsECyZ52.js → TemplatesSearchView-dfNK7CWa.js} +3 -3
  74. package/dist/assets/{TemplatesView-DrEKpZTU.js → TemplatesView-DXyn7U2M.js} +1 -1
  75. package/dist/assets/{TemplatesWorkflowView-iSAL_yol.js → TemplatesWorkflowView-9cBdvyd1.js} +5 -5
  76. package/dist/assets/{VariablesView-Cg2WSt_e.js → VariablesView-B9WeYs-d.js} +4 -4
  77. package/dist/assets/{WorkerView-BG-Dl0Ej.js → WorkerView-DmvHtNCS.js} +6 -6
  78. package/dist/assets/{WorkflowActivator-e7wvW1kJ.js → WorkflowActivator-D4OM7fjl.js} +2 -2
  79. package/dist/assets/{WorkflowExecutionsInfoAccordion-CijtfO0l.js → WorkflowExecutionsInfoAccordion-BXH-hb8c.js} +1 -1
  80. package/dist/assets/{WorkflowExecutionsLandingPage-Do4y1yOx.js → WorkflowExecutionsLandingPage-CWWhEKSp.js} +2 -2
  81. package/dist/assets/{WorkflowExecutionsPreview-Bqo_3PXl.js → WorkflowExecutionsPreview-lGe7hKTt.js} +5 -6
  82. package/dist/assets/{WorkflowExecutionsView-C1gS45nc.js → WorkflowExecutionsView-CZSMq51O.js} +7 -8
  83. package/dist/assets/{WorkflowHistory-CypQw7rC.js → WorkflowHistory-Bkb5WnFH.js} +3 -3
  84. package/dist/assets/{WorkflowOnboardingView-DoKXpaNj.js → WorkflowOnboardingView-BoYRDB5G.js} +1 -1
  85. package/dist/assets/{WorkflowPreview-Bxs5XzBX.js → WorkflowPreview-BqNWSWJE.js} +1 -1
  86. package/dist/assets/{WorkflowsView-BlvgD3xI.js → WorkflowsView-CJ4-dp41.js} +9 -9
  87. package/dist/assets/{useClearExecutionButtonVisible-DFNEJves.js → canvas-gKzWhb0Y.js} +3 -1
  88. package/dist/assets/{chartjs.utils-CuWcgqCr.js → chartjs.utils-DfYWcl4K.js} +2 -2
  89. package/dist/assets/{easyAiWorkflowUtils-_kvYb5hw.js → easyAiWorkflowUtils-DNC35Yh8.js} +1 -1
  90. package/dist/assets/{global-link-actions-DG0SjhQE.js → global-link-actions-CBCpMeA-.js} +1 -1
  91. package/dist/assets/{import-curl-DQ6uPzZ1.js → import-curl-NOPKm_UJ.js} +1 -1
  92. package/dist/assets/{index-vIybYvt3.js → index-CfI0yNPt.js} +1 -1
  93. package/dist/assets/{index-BA8d2DN9.css → index-DH8MNLw5.css} +123 -70
  94. package/dist/assets/{index-hdsPF3tl.js → index-_seQOCga.js} +16506 -7041
  95. package/dist/assets/{pickBy-DmKUpB7M.js → pickBy-BipOMYIO.js} +1 -1
  96. package/dist/assets/{templateActions-DxoxchKp.js → templateActions-BipqYROS.js} +1 -1
  97. package/dist/assets/{typescript.worker-B1loTpxy.js → typescript.worker-DIrCbxuR.js} +1 -1
  98. package/dist/assets/{useBeforeUnload-B7JAQiE8.js → useBeforeUnload-CBJ-oI0x.js} +1 -1
  99. package/dist/assets/{useExecutionDebugging-DsRIfE0y.js → useExecutionDebugging-FBVDw81R.js} +1 -1
  100. package/dist/assets/{useExecutionHelpers-CEOL8_vt.js → useExecutionHelpers-DcOjWXOv.js} +1 -2
  101. package/dist/assets/{useImportCurlCommand-DdIN4YaF.js → useImportCurlCommand-C6NaXuCs.js} +2 -2
  102. package/dist/assets/{useProjectPages-OGc-GAxb.js → useProjectPages-BhWlcOUt.js} +1 -1
  103. package/dist/assets/{usePushConnection-DNGIaS0A.js → usePushConnection-BWaG_Tvn.js} +22 -3
  104. package/dist/assets/{useWorkflowActivate-CJ1hLmv2.js → useWorkflowActivate-DmQcpwus.js} +1 -1
  105. package/dist/assets/{useWorkflowSaving-BuokdhTC.js → useWorkflowSaving-rE0yQ7bi.js} +1 -1
  106. package/dist/index.html +2 -2
  107. package/package.json +1 -1
  108. package/dist/assets/CollectionParameter-BJtiV9En.js +0 -4
  109. package/dist/assets/NodeView-BY1O3wWl.js +0 -1762
  110. package/dist/assets/NodeView-C3A-bM1O.css +0 -304
  111. package/dist/assets/TestDefinitionEditView-C3ohfu_r.js +0 -1463
  112. package/dist/assets/TestDefinitionEditView-Cwkrz308.css +0 -1189
  113. package/dist/assets/TestDefinitionListView-Dwto0jxH.js +0 -631
  114. package/dist/assets/TestDefinitionNewView-9xVUm2ZJ.js +0 -75
  115. package/dist/assets/TestDefinitionRootView-DFT60fWE.css +0 -126
  116. package/dist/assets/TestDefinitionRootView-DLurQ4xl.js +0 -39
  117. package/dist/assets/dateFormatter-LbucaaRt.js +0 -21
  118. package/dist/assets/useTestDefinitionForm-Bi6EgFVm.js +0 -154
@@ -1,6 +1,6 @@
1
- import { d as defineComponent, bS as reactive, o as onMounted, aP as useExternalHooks, y as onBeforeUnmount, b4 as toRefs, h as resolveComponent, i as createElementBlock, g as openBlock, n as normalizeClass, k as createBaseVNode, f as createCommentVNode, j as createVNode, _ as _export_sfc, bT as useNodeCreatorStore, hI as useViewStacks, e8 as useNodeType, r as ref, q as computed, hJ as DEFAULT_SUBCATEGORY, hK as CREDENTIAL_ONLY_NODE_PREFIX, c as useI18n, hL as HITL_SUBCATEGORY, dN as isCommunityPackageName, hM as isNodePreviewKey, cu as resolveDirective, e as createBlock, aV as createSlots, w as withCtx, aA as withDirectives, aB as vShow, B as normalizeStyle, bD as _sfc_main$n, b3 as withModifiers, m as unref, cW as COMMUNITY_NODES_INSTALLATION_DOCS_URL, cm as DRAG_EVENT_DATA_KEY, ag as useTelemetry, hN as camelCase, b8 as mergeProps, t as toDisplayString, gL as WEBHOOK_NODE_TYPE, hO as getNewNodePosition, eX as NODE_SIZE, u as useUsersStore, bF as N8nIcon, bf as N8nText, l as createTextVNode, bh as N8nButton, x as renderSlot, hP as useKeyboardNavigation, Q as useWorkflowsStore, X as watch, b5 as normalizeProps, b6 as guardReactiveProps, bc as onUnmounted, F as Fragment, D as renderList, hQ as REGULAR_NODE_CREATOR_VIEW, cV as useCommunityNodesStore, bz as useNodeTypesStore, aR as N8nTooltip, dx as i18n, h9 as captureException, b as useRouter, aS as N8nLink, V as VIEWS, fb as CUSTOM_API_CALL_KEY, gU as TRIGGER_NODE_CREATOR_VIEW, gI as OPEN_AI_NODE_TYPE, gH as OPEN_AI_NODE_MESSAGE_ASSISTANT_TYPE, hR as withMemo, hS as HTTP_REQUEST_NODE_TYPE, fV as createStaticVNode, hT as REQUEST_NODE_FORM_URL, hU as filterAndSearchNodes, hV as prepareCommunityNodeDetailsViewStack, fl as getNodeIconSource, gN as transformNodeType, hW as AINodesView, hX as AIView, hY as RegularView, hZ as TriggerView, h_ as flattenCreateElements, fe as SEND_AND_WAIT_OPERATION, h$ as AI_OTHERS_NODE_CREATOR_VIEW, i0 as AI_NODE_CREATOR_VIEW, a as useToast, bU as useCredentialsStore, i1 as removePreviewToken, G as useDebounce, f8 as Transition, i2 as AI_UNCATEGORIZED_CATEGORY, H as useUIStore, dL as useAssistantStore, bY as useBuilderStore, aT as _sfc_main$o, i3 as SlideTransition, i4 as useActionsGenerator } from "./index-hdsPF3tl.js";
2
- import { u as useActions } from "./NodeCreation-nHiG-Lhi.js";
3
- const _hoisted_1$8 = ["placeholder", "value"];
1
+ import { d as defineComponent, d2 as reactive, o as onMounted, aP as useExternalHooks, y as onBeforeUnmount, b4 as toRefs, h as resolveComponent, i as createElementBlock, g as openBlock, n as normalizeClass, k as createBaseVNode, f as createCommentVNode, j as createVNode, _ as _export_sfc, cA as useNodeCreatorStore, hT as useViewStacks, f9 as useNodeType, bz as useNodeTypesStore, r as ref, q as computed, hU as DEFAULT_SUBCATEGORY, hV as CREDENTIAL_ONLY_NODE_PREFIX, c as useI18n, hW as HITL_SUBCATEGORY, eO as isCommunityPackageName, hX as isNodePreviewKey, hY as removePreviewToken, bN as resolveDirective, e as createBlock, aV as createSlots, w as withCtx, aA as withDirectives, aB as vShow, B as normalizeStyle, bH as _sfc_main$n, b3 as withModifiers, m as unref, aR as N8nTooltip, l as createTextVNode, t as toDisplayString, dZ as COMMUNITY_NODES_INSTALLATION_DOCS_URL, ds as DRAG_EVENT_DATA_KEY, ag as useTelemetry, hZ as camelCase, b8 as mergeProps, gW as WEBHOOK_NODE_TYPE, h_ as getNewNodePosition, cc as NODE_SIZE, u as useUsersStore, bJ as N8nIcon, bf as N8nText, bh as N8nButton, x as renderSlot, h$ as useKeyboardNavigation, Q as useWorkflowsStore, X as watch, b5 as normalizeProps, b6 as guardReactiveProps, bc as onUnmounted, F as Fragment, D as renderList, i0 as REGULAR_NODE_CREATOR_VIEW, dY as useCommunityNodesStore, ez as i18n, hk as captureException, b as useRouter, aS as N8nLink, V as VIEWS, cQ as CUSTOM_API_CALL_KEY, h3 as TRIGGER_NODE_CREATOR_VIEW, gT as OPEN_AI_NODE_TYPE, gS as OPEN_AI_NODE_MESSAGE_ASSISTANT_TYPE, i1 as withMemo, i2 as HTTP_REQUEST_NODE_TYPE, g3 as createStaticVNode, i3 as REQUEST_NODE_FORM_URL, i4 as filterAndSearchNodes, i5 as prepareCommunityNodeDetailsViewStack, d0 as getNodeIconSource, gY as transformNodeType, i6 as AINodesView, i7 as AIView, i8 as RegularView, i9 as TriggerView, ia as flattenCreateElements, cV as SEND_AND_WAIT_OPERATION, ib as AI_OTHERS_NODE_CREATOR_VIEW, ic as AI_NODE_CREATOR_VIEW, a as useToast, d3 as useCredentialsStore, G as useDebounce, cE as Transition, id as AI_EVALUATION, ie as AI_UNCATEGORIZED_CATEGORY, H as useUIStore, eM as useAssistantStore, cC as useBuilderStore, aT as _sfc_main$o, ig as SlideTransition, ih as useActionsGenerator } from "./index-_seQOCga.js";
2
+ import { u as useActions } from "./NodeCreation-CRZ7WbTX.js";
3
+ const _hoisted_1$a = ["placeholder", "value"];
4
4
  const _sfc_main$m = /* @__PURE__ */ defineComponent({
5
5
  __name: "SearchBar",
6
6
  props: {
@@ -62,7 +62,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
62
62
  "data-test-id": "node-creator-search-bar",
63
63
  tabindex: "0",
64
64
  onInput
65
- }, null, 42, _hoisted_1$8)
65
+ }, null, 42, _hoisted_1$a)
66
66
  ], 2),
67
67
  _ctx.modelValue.length > 0 ? (openBlock(), createElementBlock("div", {
68
68
  key: 0,
@@ -97,6 +97,20 @@ const cssModules$k = {
97
97
  "$style": style0$k
98
98
  };
99
99
  const SearchBar = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__cssModules", cssModules$k]]);
100
+ const _hoisted_1$9 = {
101
+ viewBox: "0 0 24 24",
102
+ width: "1.2em",
103
+ height: "1.2em"
104
+ };
105
+ function render$1(_ctx, _cache) {
106
+ return openBlock(), createElementBlock("svg", _hoisted_1$9, _cache[0] || (_cache[0] = [
107
+ createBaseVNode("path", {
108
+ fill: "currentColor",
109
+ d: "m23 12l-2.44-2.78l.34-3.68l-3.61-.82l-1.89-3.18L12 3L8.6 1.54L6.71 4.72l-3.61.81l.34 3.68L1 12l2.44 2.78l-.34 3.69l3.61.82l1.89 3.18L12 21l3.4 1.46l1.89-3.18l3.61-.82l-.34-3.68zm-13 5l-4-4l1.41-1.41L10 14.17l6.59-6.59L18 9z"
110
+ }, null, -1)
111
+ ]));
112
+ }
113
+ const OfficialIcon = { name: "mdi-verified", render: render$1 };
100
114
  const _sfc_main$l = /* @__PURE__ */ defineComponent({
101
115
  __name: "NodeItem",
102
116
  props: {
@@ -114,6 +128,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
114
128
  const { isSubNodeType } = useNodeType({
115
129
  nodeType: props.nodeType
116
130
  });
131
+ const nodeTypesStore = useNodeTypesStore();
117
132
  const dragging = ref(false);
118
133
  const draggablePosition = ref({ x: -100, y: -100 });
119
134
  const draggableDataTransfer2 = ref(null);
@@ -165,6 +180,15 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
165
180
  const isTrigger = computed(() => {
166
181
  return props.nodeType.group.includes("trigger") && !hasActions.value;
167
182
  });
183
+ const communityNodeType = computed(() => {
184
+ return nodeTypesStore.communityNodeType(removePreviewToken(props.nodeType.name));
185
+ });
186
+ const isOfficial = computed(() => {
187
+ return communityNodeType.value?.isOfficialNode ?? false;
188
+ });
189
+ const author = computed(() => {
190
+ return communityNodeType.value?.displayName ?? displayName.value;
191
+ });
168
192
  function onDragStart(event) {
169
193
  if (event.dataTransfer) {
170
194
  event.dataTransfer.effectAllowed = "copy";
@@ -189,6 +213,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
189
213
  }
190
214
  }
191
215
  return (_ctx, _cache) => {
216
+ const _component_n8n_icon = resolveComponent("n8n-icon");
192
217
  const _component_N8nNodeCreatorNode = resolveComponent("N8nNodeCreatorNode");
193
218
  const _directive_n8n_html = resolveDirective("n8n-html");
194
219
  return openBlock(), createBlock(_component_N8nNodeCreatorNode, {
@@ -198,6 +223,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
198
223
  title: displayName.value,
199
224
  "show-action-arrow": showActionArrow.value,
200
225
  "is-trigger": isTrigger.value,
226
+ "is-official": isOfficial.value,
201
227
  "data-test-id": dataTestId.value,
202
228
  tag: _ctx.nodeType.tag,
203
229
  onDragstart: onDragStart,
@@ -233,43 +259,81 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
233
259
  ]),
234
260
  _: 2
235
261
  }, [
236
- isCommunityNode.value && !isCommunityNodePreview.value && !unref(activeViewStack)?.communityNodeDetails ? {
237
- name: "tooltip",
262
+ isOfficial.value ? {
263
+ name: "extraDetails",
238
264
  fn: withCtx(() => [
239
- withDirectives(createBaseVNode("p", {
240
- class: normalizeClass(_ctx.$style.communityNodeIcon),
241
- onClick: onCommunityNodeTooltipClick
242
- }, null, 2), [
243
- [
244
- _directive_n8n_html,
245
- unref(i18n2).baseText("generic.communityNode.tooltip", {
246
- interpolate: {
247
- packageName: _ctx.nodeType.name.split(".")[0],
248
- docURL: unref(COMMUNITY_NODES_INSTALLATION_DOCS_URL)
249
- }
250
- })
251
- ]
252
- ])
265
+ createVNode(unref(N8nTooltip), {
266
+ placement: "top",
267
+ "show-after": 500
268
+ }, {
269
+ content: withCtx(() => [
270
+ createTextVNode(toDisplayString(unref(i18n2).baseText("generic.officialNode.tooltip", { interpolate: { author: author.value } })), 1)
271
+ ]),
272
+ default: withCtx(() => [
273
+ createVNode(unref(OfficialIcon), {
274
+ class: normalizeClass([_ctx.$style.icon, _ctx.$style.official])
275
+ }, null, 8, ["class"])
276
+ ]),
277
+ _: 1
278
+ })
253
279
  ]),
254
280
  key: "0"
281
+ } : isCommunityNode.value && !isCommunityNodePreview.value && !unref(activeViewStack)?.communityNodeDetails ? {
282
+ name: "extraDetails",
283
+ fn: withCtx(() => [
284
+ createVNode(unref(N8nTooltip), {
285
+ placement: "top",
286
+ "show-after": 500
287
+ }, {
288
+ content: withCtx(() => [
289
+ withDirectives(createBaseVNode("p", {
290
+ class: normalizeClass(_ctx.$style.communityNodeIcon),
291
+ onClick: onCommunityNodeTooltipClick
292
+ }, null, 2), [
293
+ [
294
+ _directive_n8n_html,
295
+ unref(i18n2).baseText("generic.communityNode.tooltip", {
296
+ interpolate: {
297
+ packageName: _ctx.nodeType.name.split(".")[0],
298
+ docURL: unref(COMMUNITY_NODES_INSTALLATION_DOCS_URL)
299
+ }
300
+ })
301
+ ]
302
+ ])
303
+ ]),
304
+ default: withCtx(() => [
305
+ createVNode(_component_n8n_icon, {
306
+ size: "small",
307
+ class: normalizeClass(_ctx.$style.icon),
308
+ icon: "cube"
309
+ }, null, 8, ["class"])
310
+ ]),
311
+ _: 1
312
+ })
313
+ ]),
314
+ key: "1"
255
315
  } : void 0
256
- ]), 1032, ["draggable", "class", "description", "title", "show-action-arrow", "is-trigger", "data-test-id", "tag"]);
316
+ ]), 1032, ["draggable", "class", "description", "title", "show-action-arrow", "is-trigger", "is-official", "data-test-id", "tag"]);
257
317
  };
258
318
  }
259
319
  });
260
- const nodeItem = "_nodeItem_1107w_123";
261
- const nodeIcon$4 = "_nodeIcon_1107w_131";
262
- const subNodeBackground = "_subNodeBackground_1107w_135";
263
- const communityNodeIcon = "_communityNodeIcon_1107w_145";
264
- const draggable$1 = "_draggable_1107w_149";
265
- const draggableDataTransfer$1 = "_draggableDataTransfer_1107w_163";
320
+ const nodeItem = "_nodeItem_b8za2_123";
321
+ const nodeIcon$4 = "_nodeIcon_b8za2_131";
322
+ const subNodeBackground = "_subNodeBackground_b8za2_135";
323
+ const communityNodeIcon = "_communityNodeIcon_b8za2_145";
324
+ const draggable$1 = "_draggable_b8za2_149";
325
+ const draggableDataTransfer$1 = "_draggableDataTransfer_b8za2_163";
326
+ const icon$1 = "_icon_b8za2_168";
327
+ const official = "_official_b8za2_173";
266
328
  const style0$j = {
267
329
  nodeItem,
268
330
  nodeIcon: nodeIcon$4,
269
331
  subNodeBackground,
270
332
  communityNodeIcon,
271
333
  draggable: draggable$1,
272
- draggableDataTransfer: draggableDataTransfer$1
334
+ draggableDataTransfer: draggableDataTransfer$1,
335
+ icon: icon$1,
336
+ official
273
337
  };
274
338
  const cssModules$j = {
275
339
  "$style": style0$j
@@ -315,7 +379,7 @@ const cssModules$i = {
315
379
  "$style": style0$i
316
380
  };
317
381
  const SubcategoryItem = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__cssModules", cssModules$i]]);
318
- const _hoisted_1$7 = ["textContent"];
382
+ const _hoisted_1$8 = ["textContent"];
319
383
  const _sfc_main$j = /* @__PURE__ */ defineComponent({
320
384
  __name: "LabelItem",
321
385
  props: {
@@ -329,7 +393,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
329
393
  createBaseVNode("span", {
330
394
  class: normalizeClass(_ctx.$style.name),
331
395
  textContent: toDisplayString(_ctx.item.key)
332
- }, null, 10, _hoisted_1$7)
396
+ }, null, 10, _hoisted_1$8)
333
397
  ], 2);
334
398
  };
335
399
  }
@@ -612,7 +676,7 @@ const cssModules$c = {
612
676
  "$style": style0$c
613
677
  };
614
678
  const CommunityNodeItem = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__cssModules", cssModules$c]]);
615
- const _hoisted_1$6 = ["textContent"];
679
+ const _hoisted_1$7 = ["textContent"];
616
680
  const _sfc_main$d = /* @__PURE__ */ defineComponent({
617
681
  __name: "CategoryItem",
618
682
  props: {
@@ -644,7 +708,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
644
708
  }, [
645
709
  createBaseVNode("span", {
646
710
  textContent: toDisplayString(categoryName.value)
647
- }, null, 8, _hoisted_1$6),
711
+ }, null, 8, _hoisted_1$7),
648
712
  _ctx.isTrigger ? (openBlock(), createBlock(_component_font_awesome_icon, {
649
713
  key: 0,
650
714
  icon: "bolt",
@@ -683,7 +747,7 @@ const cssModules$b = {
683
747
  "$style": style0$b
684
748
  };
685
749
  const CategoryItem = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__cssModules", cssModules$b]]);
686
- const _hoisted_1$5 = ["data-category-collapsed"];
750
+ const _hoisted_1$6 = ["data-category-collapsed"];
687
751
  const _sfc_main$c = /* @__PURE__ */ defineComponent({
688
752
  __name: "CategorizedItemsRenderer",
689
753
  props: {
@@ -805,7 +869,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
805
869
  }, [
806
870
  renderSlot(_ctx.$slots, "default")
807
871
  ], 2)) : createCommentVNode("", true),
808
- isPreview.value ? (openBlock(), createBlock(CommunityNodeInstallHint, {
872
+ isPreview.value && expanded.value ? (openBlock(), createBlock(CommunityNodeInstallHint, {
809
873
  key: 1,
810
874
  hint: unref(i18n2).baseText("communityNodeItem.actions.hint")
811
875
  }, null, 8, ["hint"])) : createCommentVNode("", true),
@@ -820,7 +884,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
820
884
  ]),
821
885
  _: 3
822
886
  }, 16, ["elements", "is-trigger", "class"])) : createCommentVNode("", true)
823
- ], 10, _hoisted_1$5);
887
+ ], 10, _hoisted_1$6);
824
888
  };
825
889
  }
826
890
  });
@@ -840,7 +904,7 @@ const cssModules$a = {
840
904
  "$style": style0$a
841
905
  };
842
906
  const CategorizedItemsRenderer = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__cssModules", cssModules$a]]);
843
- const _hoisted_1$4 = { key: 0 };
907
+ const _hoisted_1$5 = { key: 0 };
844
908
  const _hoisted_2$3 = ["data-keyboard-nav-type", "data-keyboard-nav-id", "onClick"];
845
909
  const LAZY_LOAD_THRESHOLD = 20;
846
910
  const LAZY_LOAD_ITEMS_PER_TICK = 5;
@@ -940,7 +1004,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
940
1004
  return openBlock(), createElementBlock("div", {
941
1005
  key: item.uuid
942
1006
  }, [
943
- renderedItems2.value.includes(item) ? (openBlock(), createElementBlock("div", _hoisted_1$4, [
1007
+ renderedItems2.value.includes(item) ? (openBlock(), createElementBlock("div", _hoisted_1$5, [
944
1008
  item.type === "section" ? (openBlock(), createBlock(CategorizedItemsRenderer, {
945
1009
  key: 0,
946
1010
  elements: item.children,
@@ -1063,6 +1127,20 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
1063
1127
  };
1064
1128
  }
1065
1129
  });
1130
+ const _hoisted_1$4 = {
1131
+ viewBox: "0 0 512 512",
1132
+ width: "1.2em",
1133
+ height: "1.2em"
1134
+ };
1135
+ function render(_ctx, _cache) {
1136
+ return openBlock(), createElementBlock("svg", _hoisted_1$4, _cache[0] || (_cache[0] = [
1137
+ createBaseVNode("path", {
1138
+ fill: "currentColor",
1139
+ d: "m466.5 83.7l-192-80a48.15 48.15 0 0 0-36.9 0l-192 80C27.7 91.1 16 108.6 16 128c0 198.5 114.5 335.7 221.5 380.3c11.8 4.9 25.1 4.9 36.9 0C360.1 472.6 496 349.3 496 128c0-19.4-11.7-36.9-29.5-44.3M256.1 446.3l-.1-381l175.9 73.3c-3.3 151.4-82.1 261.1-175.8 307.7"
1140
+ }, null, -1)
1141
+ ]));
1142
+ }
1143
+ const ShieldIcon = { name: "fa-solid-shield-alt", render };
1066
1144
  const _hoisted_1$3 = { key: 2 };
1067
1145
  const _hoisted_2$2 = { key: 3 };
1068
1146
  const _hoisted_3 = { style: { "padding-bottom": "8px" } };
@@ -1074,6 +1152,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
1074
1152
  const publisherName = ref(void 0);
1075
1153
  const downloads = ref(null);
1076
1154
  const verified = ref(false);
1155
+ const official2 = ref(false);
1077
1156
  const communityNodesStore = useCommunityNodesStore();
1078
1157
  const nodeTypesStore = useNodeTypesStore();
1079
1158
  const isOwner = computed(() => useUsersStore().isInstanceOwner);
@@ -1089,8 +1168,9 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
1089
1168
  activeViewStack.communityNodeDetails?.key || ""
1090
1169
  );
1091
1170
  if (communityNodeAttributes) {
1092
- publisherName.value = communityNodeAttributes.authorName;
1171
+ publisherName.value = communityNodeAttributes.companyName ?? communityNodeAttributes.authorName;
1093
1172
  downloads.value = formatNumber(communityNodeAttributes.numberOfDownloads);
1173
+ official2.value = communityNodeAttributes.isOfficialNode;
1094
1174
  const packageInfo = communityNodesStore.getInstalledPackages.find(
1095
1175
  (p) => p.packageName === communityNodeAttributes.packageName
1096
1176
  );
@@ -1159,13 +1239,12 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
1159
1239
  placement: "top"
1160
1240
  }, {
1161
1241
  content: withCtx(() => [
1162
- createTextVNode(toDisplayString(unref(i18n).baseText("communityNodeInfo.approved")), 1)
1242
+ createTextVNode(toDisplayString(official2.value ? unref(i18n).baseText("communityNodeInfo.officialApproved") : unref(i18n).baseText("communityNodeInfo.approved")), 1)
1163
1243
  ]),
1164
1244
  default: withCtx(() => [
1165
1245
  createBaseVNode("div", null, [
1166
- createVNode(_component_FontAwesomeIcon, {
1167
- class: normalizeClass(_ctx.$style.tooltipIcon),
1168
- icon: "check-circle"
1246
+ createVNode(unref(ShieldIcon), {
1247
+ class: normalizeClass(_ctx.$style.tooltipIcon)
1169
1248
  }, null, 8, ["class"]),
1170
1249
  createVNode(unref(N8nText), {
1171
1250
  color: "text-light",
@@ -1275,13 +1354,13 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
1275
1354
  };
1276
1355
  }
1277
1356
  });
1278
- const container$4 = "_container_1ty35_123";
1279
- const nodeIcon$2 = "_nodeIcon_1ty35_132";
1280
- const description = "_description_1ty35_137";
1281
- const separator = "_separator_1ty35_141";
1282
- const info$1 = "_info_1ty35_147";
1283
- const tooltipIcon = "_tooltipIcon_1ty35_162";
1284
- const contactOwnerHint = "_contactOwnerHint_1ty35_167";
1357
+ const container$4 = "_container_6y5mo_123";
1358
+ const nodeIcon$2 = "_nodeIcon_6y5mo_132";
1359
+ const description = "_description_6y5mo_137";
1360
+ const separator = "_separator_6y5mo_141";
1361
+ const info$1 = "_info_6y5mo_147";
1362
+ const tooltipIcon = "_tooltipIcon_6y5mo_162";
1363
+ const contactOwnerHint = "_contactOwnerHint_6y5mo_168";
1285
1364
  const style0$8 = {
1286
1365
  container: container$4,
1287
1366
  nodeIcon: nodeIcon$2,
@@ -2094,6 +2173,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
2094
2173
  nodeActions
2095
2174
  );
2096
2175
  pushViewStack(viewStack, {
2176
+ resetStacks: true,
2097
2177
  transitionDirection: "none"
2098
2178
  });
2099
2179
  } else {
@@ -2135,9 +2215,11 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
2135
2215
  };
2136
2216
  return (_ctx, _cache) => {
2137
2217
  const _component_NodeIcon = _sfc_main$n;
2218
+ const _component_N8nTooltip = resolveComponent("N8nTooltip");
2138
2219
  const _component_FontAwesomeIcon = resolveComponent("FontAwesomeIcon");
2139
2220
  const _component_N8nButton = resolveComponent("N8nButton");
2140
- return openBlock(), createElementBlock("div", {
2221
+ return unref(communityNodeDetails) ? (openBlock(), createElementBlock("div", {
2222
+ key: 0,
2141
2223
  class: normalizeClass(_ctx.$style.container)
2142
2224
  }, [
2143
2225
  createBaseVNode("div", {
@@ -2146,24 +2228,44 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
2146
2228
  createBaseVNode("div", {
2147
2229
  class: normalizeClass(_ctx.$style.title)
2148
2230
  }, [
2149
- unref(communityNodeDetails)?.nodeIcon ? (openBlock(), createBlock(_component_NodeIcon, {
2231
+ unref(communityNodeDetails).nodeIcon ? (openBlock(), createBlock(_component_NodeIcon, {
2150
2232
  key: 0,
2151
2233
  class: normalizeClass(_ctx.$style.nodeIcon),
2152
2234
  "icon-source": unref(communityNodeDetails).nodeIcon,
2153
2235
  circle: false,
2154
2236
  "show-tooltip": false
2155
2237
  }, null, 8, ["class", "icon-source"])) : createCommentVNode("", true),
2156
- createBaseVNode("span", null, toDisplayString(unref(communityNodeDetails)?.title), 1)
2238
+ createBaseVNode("span", null, toDisplayString(unref(communityNodeDetails).title), 1),
2239
+ unref(communityNodeDetails).official ? (openBlock(), createBlock(_component_N8nTooltip, {
2240
+ key: 1,
2241
+ placement: "bottom",
2242
+ "show-after": 500
2243
+ }, {
2244
+ content: withCtx(() => [
2245
+ createTextVNode(toDisplayString(unref(i18n).baseText("generic.officialNode.tooltip", {
2246
+ interpolate: {
2247
+ author: unref(communityNodeDetails).companyName ?? unref(communityNodeDetails).title
2248
+ }
2249
+ })), 1)
2250
+ ]),
2251
+ default: withCtx(() => [
2252
+ createVNode(unref(OfficialIcon), {
2253
+ class: normalizeClass(_ctx.$style.officialIcon)
2254
+ }, null, 8, ["class"])
2255
+ ]),
2256
+ _: 1
2257
+ })) : createCommentVNode("", true)
2157
2258
  ], 2),
2158
2259
  createBaseVNode("div", null, [
2159
- unref(communityNodeDetails)?.installed ? (openBlock(), createElementBlock("div", {
2260
+ unref(communityNodeDetails).installed ? (openBlock(), createElementBlock("div", {
2160
2261
  key: 0,
2161
2262
  class: normalizeClass(_ctx.$style.installed)
2162
2263
  }, [
2163
- createVNode(_component_FontAwesomeIcon, {
2264
+ !unref(communityNodeDetails).official ? (openBlock(), createBlock(_component_FontAwesomeIcon, {
2265
+ key: 0,
2164
2266
  class: normalizeClass(_ctx.$style.installedIcon),
2165
2267
  icon: "cube"
2166
- }, null, 8, ["class"]),
2268
+ }, null, 8, ["class"])) : createCommentVNode("", true),
2167
2269
  createVNode(unref(N8nText), {
2168
2270
  color: "text-light",
2169
2271
  size: "small",
@@ -2174,33 +2276,36 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
2174
2276
  ]),
2175
2277
  _: 1
2176
2278
  })
2177
- ], 2)) : isOwner.value ? (openBlock(), createBlock(_component_N8nButton, {
2279
+ ], 2)) : createCommentVNode("", true),
2280
+ isOwner.value && !unref(communityNodeDetails).installed ? (openBlock(), createBlock(_component_N8nButton, {
2178
2281
  key: 1,
2179
2282
  loading: loading.value,
2180
2283
  disabled: loading.value,
2181
- label: "Install Node",
2284
+ label: unref(i18n).baseText("communityNodeDetails.install"),
2182
2285
  size: "small",
2183
- onClick: onInstall,
2184
- "data-test-id": "install-community-node-button"
2185
- }, null, 8, ["loading", "disabled"])) : createCommentVNode("", true)
2286
+ "data-test-id": "install-community-node-button",
2287
+ onClick: onInstall
2288
+ }, null, 8, ["loading", "disabled", "label"])) : createCommentVNode("", true)
2186
2289
  ])
2187
2290
  ], 2)
2188
- ], 2);
2291
+ ], 2)) : createCommentVNode("", true);
2189
2292
  };
2190
2293
  }
2191
2294
  });
2192
- const container$1 = "_container_1eqm0_123";
2193
- const header$1 = "_header_1eqm0_131";
2194
- const title$1 = "_title_1eqm0_137";
2195
- const nodeIcon$1 = "_nodeIcon_1eqm0_145";
2196
- const installedIcon = "_installedIcon_1eqm0_150";
2197
- const installed = "_installed_1eqm0_150";
2295
+ const container$1 = "_container_1ut3v_123";
2296
+ const header$1 = "_header_1ut3v_131";
2297
+ const title$1 = "_title_1ut3v_138";
2298
+ const nodeIcon$1 = "_nodeIcon_1ut3v_146";
2299
+ const installedIcon = "_installedIcon_1ut3v_151";
2300
+ const officialIcon = "_officialIcon_1ut3v_157";
2301
+ const installed = "_installed_1ut3v_151";
2198
2302
  const style0$3 = {
2199
2303
  container: container$1,
2200
2304
  header: header$1,
2201
2305
  title: title$1,
2202
2306
  nodeIcon: nodeIcon$1,
2203
2307
  installedIcon,
2308
+ officialIcon,
2204
2309
  installed
2205
2310
  };
2206
2311
  const cssModules$3 = {
@@ -2333,7 +2438,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
2333
2438
  [REGULAR_NODE_CREATOR_VIEW]: RegularView,
2334
2439
  [AI_NODE_CREATOR_VIEW]: AIView,
2335
2440
  [AI_OTHERS_NODE_CREATOR_VIEW]: AINodesView,
2336
- [AI_UNCATEGORIZED_CATEGORY]: AINodesView
2441
+ [AI_UNCATEGORIZED_CATEGORY]: AINodesView,
2442
+ [AI_EVALUATION]: AINodesView
2337
2443
  };
2338
2444
  const itemKey = selectedView;
2339
2445
  const matchedView = views[itemKey];
@@ -1,12 +1,11 @@
1
- import { d as defineComponent, r as ref, q as computed, h as resolveComponent, i as createElementBlock, g as openBlock, n as normalizeClass, k as createBaseVNode, j as createVNode, bD as _sfc_main$g, w as withCtx, be as withKeys, b3 as withModifiers, l as createTextVNode, t as toDisplayString, m as unref, c as useI18n, e as createBlock, f as createCommentVNode, z as nextTick, _ as _export_sfc, as as useNDVStore, Q as useWorkflowsStore, dN as isCommunityPackageName, cU as NPM_PACKAGE_DOCS_BASE_URL, gY as BUILTIN_NODES_DOCS_URL, cW as COMMUNITY_NODES_INSTALLATION_DOCS_URL, aP as useExternalHooks, ag as useTelemetry, by as NodeConnectionTypes, b as useRouter, bg as useClipboard, a5 as useWorkflowHelpers, a as useToast, gZ as OPEN_URL_PANEL_TRIGGER_NODE_TYPES, g_ as PRODUCTION_ONLY_TRIGGER_NODE_TYPES, g$ as MCP_TRIGGER_NODE_TYPE, h0 as FORM_TRIGGER_NODE_TYPE, c4 as CHAT_TRIGGER_NODE_TYPE, X as watch, F as Fragment, D as renderList, aQ as onClickOutside, aq as h, h1 as toRef, h2 as tryOnScopeDispose, h3 as toValue, h4 as isIOS, h5 as noop, h6 as isObject, h7 as isClient, bz as useNodeTypesStore, bA as useNodeHelpers, G as useDebounce, B as normalizeStyle, f5 as TitledList, bv as getNodeInputs, h8 as SWITCH_NODE_TYPE, ey as isEqual, h9 as captureException, p as useSettingsStore, au as usePostHog, bU as useCredentialsStore, u as useUsersStore, a1 as useProjectsStore, dS as OPEN_AI_API_CREDENTIAL_TYPE, ha as AI_CREDITS_EXPERIMENT, bX as useHistoryStore, ab as ProjectTypes, bw as getConnectionTypes, o as onMounted, bQ as ndvEventBus, y as onBeforeUnmount, hb as _sfc_main$h, hc as CUSTOM_NODES_DOCS_URL, aA as withDirectives, aB as vShow, gp as _sfc_main$i, hd as NodeCredentials, gr as get, he as getNodeParameters, ct as deepCopy, hf as set, hg as unset, hh as getUpdatedToolDescription, hi as RenameNodeCommand, go as isINodePropertyCollectionList, hj as isINodePropertiesList, hk as isINodePropertyOptionsList, hl as displayParameter, g4 as Draggable, bO as useThrottleFn, H as useUIStore, eF as useSlots, hm as MAIN_NODE_PANEL_WIDTH, aJ as useStorage, hn as LOCAL_STORAGE_MAIN_PANEL_RELATIVE_WIDTH, x as renderSlot, cu as resolveDirective, dy as InfoTip, cZ as storeToRefs, fa as useNodeDirtiness, e8 as useNodeType, bl as usePinnedData, f6 as CanvasNodeDirtiness, aV as createSlots, bf as N8nText, ho as waitingNodeTooltip, bJ as N8nRadioButtons, et as isPresent, hp as truncate, fV as createStaticVNode, c0 as START_NODE_TYPE, gF as MANUAL_TRIGGER_NODE_TYPE, hq as CRON_NODE_TYPE, hr as INTERVAL_NODE_TYPE, bx as getNodeOutputs, hs as uniqBy, b7 as resolveDynamicComponent, aR as N8nTooltip, bF as N8nIcon, ht as isTriggerPanelObject, dH as getTriggerNodeServiceName, gL as WEBHOOK_NODE_TYPE, dB as CopyInput, C as createEventBus, f8 as Transition, V as VIEWS, ak as WORKFLOW_SETTINGS_MODAL_KEY, e_ as useDeviceSupport, hu as EXECUTABLE_TRIGGER_NODE_TYPES, ay as STICKY_NODE_TYPE, hv as BASE_NODE_SURVEY_URL, aa as EnterpriseEditionFeature, ef as dataPinningEventBus, bM as useStyles, hw as APP_MODALS_ELEMENT_ID, ai as useMessage, aj as MODAL_CONFIRM, c3 as jsonParse } from "./index-hdsPF3tl.js";
2
- import { i as importCurlEventBus } from "./import-curl-DQ6uPzZ1.js";
3
- import { R as RunData } from "./RunData-fnd-jejc.js";
4
- import { b as convertToDisplayDateComponents } from "./dateFormatter-LbucaaRt.js";
5
- import { R as RunDataAi } from "./RunDataAi-Ck3VGKP_.js";
6
- import { u as useWorkflowActivate } from "./useWorkflowActivate-CJ1hLmv2.js";
7
- import "./FileSaver.min-C1p9Eies.js";
8
- import "./useExecutionHelpers-CEOL8_vt.js";
9
- import "./RunDataParsedAiContent-BczxQ63H.js";
1
+ import { d as defineComponent, r as ref, q as computed, h as resolveComponent, i as createElementBlock, g as openBlock, n as normalizeClass, k as createBaseVNode, j as createVNode, bH as _sfc_main$g, w as withCtx, be as withKeys, b3 as withModifiers, l as createTextVNode, t as toDisplayString, m as unref, c as useI18n, e as createBlock, f as createCommentVNode, z as nextTick, _ as _export_sfc, as as useNDVStore, Q as useWorkflowsStore, eO as isCommunityPackageName, dX as NPM_PACKAGE_DOCS_BASE_URL, h7 as BUILTIN_NODES_DOCS_URL, dZ as COMMUNITY_NODES_INSTALLATION_DOCS_URL, aP as useExternalHooks, ag as useTelemetry, by as NodeConnectionTypes, b as useRouter, bg as useClipboard, a5 as useWorkflowHelpers, a as useToast, h8 as OPEN_URL_PANEL_TRIGGER_NODE_TYPES, h9 as PRODUCTION_ONLY_TRIGGER_NODE_TYPES, ha as MCP_TRIGGER_NODE_TYPE, hb as FORM_TRIGGER_NODE_TYPE, cH as CHAT_TRIGGER_NODE_TYPE, X as watch, F as Fragment, D as renderList, aQ as onClickOutside, aq as h, hc as toRef, hd as tryOnScopeDispose, he as toValue, hf as isIOS, hg as noop, hh as isObject, hi as isClient, bz as useNodeTypesStore, bA as useNodeHelpers, G as useDebounce, B as normalizeStyle, cv as TitledList, bv as getNodeInputs, hj as SWITCH_NODE_TYPE, cK as isEqual, hk as captureException, p as useSettingsStore, au as usePostHog, d3 as useCredentialsStore, u as useUsersStore, a1 as useProjectsStore, eT as OPEN_AI_API_CREDENTIAL_TYPE, hl as AI_CREDITS_EXPERIMENT, d6 as useHistoryStore, ab as ProjectTypes, bw as getConnectionTypes, o as onMounted, bW as ndvEventBus, y as onBeforeUnmount, hm as _sfc_main$h, hn as CUSTOM_NODES_DOCS_URL, aA as withDirectives, aB as vShow, gA as _sfc_main$i, ho as NodeCredentials, gC as get, hp as getNodeParameters, dz as deepCopy, hq as set, hr as unset, hs as getUpdatedToolDescription, ht as RenameNodeCommand, gz as isINodePropertyCollectionList, hu as isINodePropertiesList, hv as isINodePropertyOptionsList, hw as displayParameter, ge as Draggable, bU as useThrottleFn, H as useUIStore, cl as useSlots, hx as MAIN_NODE_PANEL_WIDTH, aJ as useStorage, hy as LOCAL_STORAGE_MAIN_PANEL_RELATIVE_WIDTH, x as renderSlot, hz as convertToDisplayDateComponents, bN as resolveDirective, eA as InfoTip, e0 as storeToRefs, cP as useNodeDirtiness, f9 as useNodeType, bl as usePinnedData, cw as CanvasNodeDirtiness, aV as createSlots, bf as N8nText, bO as waitingNodeTooltip, bM as N8nRadioButtons, c6 as isPresent, hA as truncate, g3 as createStaticVNode, d9 as START_NODE_TYPE, gQ as MANUAL_TRIGGER_NODE_TYPE, hB as CRON_NODE_TYPE, hC as INTERVAL_NODE_TYPE, bx as getNodeOutputs, hD as uniqBy, b7 as resolveDynamicComponent, aR as N8nTooltip, bJ as N8nIcon, hE as isTriggerPanelObject, cS as getTriggerNodeServiceName, gW as WEBHOOK_NODE_TYPE, eD as CopyInput, C as createEventBus, cE as Transition, V as VIEWS, ak as WORKFLOW_SETTINGS_MODAL_KEY, ch as useDeviceSupport, hF as EXECUTABLE_TRIGGER_NODE_TYPES, ay as STICKY_NODE_TYPE, hG as BASE_NODE_SURVEY_URL, aa as EnterpriseEditionFeature, fg as dataPinningEventBus, bR as useStyles, hH as APP_MODALS_ELEMENT_ID, ai as useMessage, aj as MODAL_CONFIRM, dc as jsonParse } from "./index-_seQOCga.js";
2
+ import { i as importCurlEventBus } from "./import-curl-NOPKm_UJ.js";
3
+ import { R as RunData } from "./RunData-C_A8RvJy.js";
4
+ import { R as RunDataAi } from "./RunDataAi-jmrQhuDM.js";
5
+ import { u as useWorkflowActivate } from "./useWorkflowActivate-DmQcpwus.js";
6
+ import "./FileSaver.min-BlbZenql.js";
7
+ import "./useExecutionHelpers-DcOjWXOv.js";
8
+ import "./RunDataParsedAiContent-CqC8oCIw.js";
10
9
  const _sfc_main$f = /* @__PURE__ */ defineComponent({
11
10
  __name: "NodeTitle",
12
11
  props: {
@@ -1332,7 +1331,16 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
1332
1331
  });
1333
1332
  const parametersSetting = computed(() => parameters.value.filter((item) => item.isNodeSetting));
1334
1333
  const parametersNoneSetting = computed(
1335
- () => parameters.value.filter((item) => !item.isNodeSetting)
1334
+ () => (
1335
+ // The connection hint notice is visually hidden via CSS in NodeDetails.vue when the node has output connections
1336
+ parameters.value.filter((item) => !item.isNodeSetting)
1337
+ )
1338
+ );
1339
+ const isDisplayingCredentials = computed(
1340
+ () => credentialsStore.getCredentialTypesNodeDescriptions("", props.nodeType).filter((credentialTypeDescription) => displayCredentials(credentialTypeDescription)).length > 0
1341
+ );
1342
+ const showNoParametersNotice = computed(
1343
+ () => !isDisplayingCredentials.value && parametersNoneSetting.value.filter((item) => item.type !== "notice").length === 0
1336
1344
  );
1337
1345
  const outputPanelEditMode = computed(() => ndvStore.outputPanelEditMode);
1338
1346
  const isCommunityNode = computed(() => !!node2.value && isCommunityPackageName(node2.value.type));
@@ -1918,6 +1926,12 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
1918
1926
  importCurlEventBus.off("setHttpNodeParameters", setHttpNodeParameters);
1919
1927
  ndvEventBus.off("updateParameterValue", valueChanged);
1920
1928
  });
1929
+ function displayCredentials(credentialTypeDescription) {
1930
+ if (credentialTypeDescription.displayOptions === void 0) {
1931
+ return true;
1932
+ }
1933
+ return !!node2.value && nodeHelpers.displayParameter(node2.value.parameters, credentialTypeDescription, "", node2.value);
1934
+ }
1921
1935
  return (_ctx, _cache) => {
1922
1936
  const _component_font_awesome_icon = resolveComponent("font-awesome-icon");
1923
1937
  const _component_n8n_text = resolveComponent("n8n-text");
@@ -2067,7 +2081,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2067
2081
  ]),
2068
2082
  _: 1
2069
2083
  }, 8, ["parameters", "node-values", "is-read-only", "hidden-issues-inputs"])) : createCommentVNode("", true),
2070
- parametersNoneSetting.value.length === 0 ? (openBlock(), createElementBlock("div", _hoisted_9, [
2084
+ showNoParametersNotice.value ? (openBlock(), createElementBlock("div", _hoisted_9, [
2071
2085
  createVNode(_component_n8n_text, null, {
2072
2086
  default: withCtx(() => [
2073
2087
  createTextVNode(toDisplayString(unref(i18n).baseText("nodeSettings.thisNodeDoesNotHaveAnyParameters")), 1)
@@ -2143,7 +2157,7 @@ const style0$8 = {
2143
2157
  const cssModules$9 = {
2144
2158
  "$style": style0$8
2145
2159
  };
2146
- const NodeSettings = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__cssModules", cssModules$9], ["__scopeId", "data-v-d0343287"]]);
2160
+ const NodeSettings = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__cssModules", cssModules$9], ["__scopeId", "data-v-e2263c2a"]]);
2147
2161
  const _sfc_main$9 = /* @__PURE__ */ defineComponent({
2148
2162
  __name: "PanelDragButton",
2149
2163
  props: {
@@ -3170,9 +3184,9 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
3170
3184
  color: "text-dark",
3171
3185
  size: "large"
3172
3186
  }, {
3173
- default: withCtx(() => _cache[6] || (_cache[6] = [
3174
- createTextVNode("Waiting for input")
3175
- ])),
3187
+ default: withCtx(() => [
3188
+ createTextVNode(toDisplayString(unref(i18n).baseText("ndv.output.waitNodeWaiting.title")), 1)
3189
+ ]),
3176
3190
  _: 1
3177
3191
  }),
3178
3192
  withDirectives(createVNode(unref(N8nText), null, null, 512), [
@@ -3852,9 +3866,9 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
3852
3866
  color: "text-dark",
3853
3867
  size: "large"
3854
3868
  }, {
3855
- default: withCtx(() => _cache[3] || (_cache[3] = [
3856
- createTextVNode("Waiting for input")
3857
- ])),
3869
+ default: withCtx(() => [
3870
+ createTextVNode(toDisplayString(unref(i18n).baseText("ndv.output.waitNodeWaiting.title")), 1)
3871
+ ]),
3858
3872
  _: 1
3859
3873
  }),
3860
3874
  withDirectives(createVNode(unref(N8nText), null, null, 512), [