n8n-editor-ui 1.102.0 → 1.102.2

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 (108) hide show
  1. package/dist/assets/{ActionDropdown-D-JmCYsp.js → ActionDropdown-CiegfqhB.js} +1 -1
  2. package/dist/assets/{AnimatedSpinner-BiuDg2x2.js → AnimatedSpinner-DZ7wHd_W.js} +1 -1
  3. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-Bp194Fz4.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-BQoi5khn.js} +1 -1
  4. package/dist/assets/{AuthView-DF-20OPE.js → AuthView-K2y2JXyp.js} +2 -2
  5. package/dist/assets/{ChangePasswordView-DSn8-M1-.js → ChangePasswordView-D_EsQtLD.js} +3 -3
  6. package/dist/assets/CollectionParameter-DvyRKBx0.js +4 -0
  7. package/dist/assets/{CredentialsView-IQx76pD4.js → CredentialsView-DvE9GnD7.js} +8 -8
  8. package/dist/assets/{DemoFooter-49OiW0k2.js → DemoFooter-kRP32xy4.js} +8 -8
  9. package/dist/assets/{EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-FNKd4r6R.js → EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-B6KKFEL7.js} +1 -1
  10. package/dist/assets/{EntityNotFound-DScKsOtg.js → EntityNotFound-q_5k8QTh.js} +1 -1
  11. package/dist/assets/{EntityUnAuthorised-DweZmhgI.js → EntityUnAuthorised-DrFh2EVh.js} +1 -1
  12. package/dist/assets/{ErrorView-CNDVS4gm.js → ErrorView-CdyA4lBI.js} +1 -1
  13. package/dist/assets/{EvaluationsRootView-81SdPChp.js → EvaluationsRootView-DBi9hUxa.js} +1 -1
  14. package/dist/assets/{EvaluationsView-BAyQWPF9.js → EvaluationsView-VbCSsM2z.js} +3 -3
  15. package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-Qw7S05EC.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-v5SEEKlZ.js} +2 -2
  16. package/dist/assets/{ExecutionsView--yDyvnL8.js → ExecutionsView-sSmNa_LK.js} +9 -9
  17. package/dist/assets/{FileSaver.min-CeGSkamF.js → FileSaver.min-BemkeU_7.js} +1 -1
  18. package/dist/assets/{FixedCollectionParameter-tgbkzIuD.js → FixedCollectionParameter-yzvCzSx6.js} +1 -1
  19. package/dist/assets/{ForgotMyPasswordView-CVwKac4K.js → ForgotMyPasswordView-BKvBLqbr.js} +3 -3
  20. package/dist/assets/{InfoAccordion-75IQV-_q.js → InfoAccordion--ZQQuSPX.js} +1 -1
  21. package/dist/assets/{InsightsChartAverageRuntime-C4C4zghF.js → InsightsChartAverageRuntime-DGOGXDwW.js} +4 -4
  22. package/dist/assets/{InsightsChartFailed-DyhWE17m.js → InsightsChartFailed-1vg5XpxV.js} +4 -4
  23. package/dist/assets/{InsightsChartFailureRate-B09GcGvY.js → InsightsChartFailureRate-7nJvVi9O.js} +4 -4
  24. package/dist/assets/{InsightsChartTimeSaved-DGzFyou3.js → InsightsChartTimeSaved-DKn1pZ2q.js} +4 -4
  25. package/dist/assets/{InsightsChartTotal-fIUzF41H.js → InsightsChartTotal-ByrPtNMJ.js} +4 -4
  26. package/dist/assets/{InsightsDashboard-Qhv7fScv.js → InsightsDashboard-BwLnzxKC.js} +10 -10
  27. package/dist/assets/{InsightsPaywall-C3-la0kD.js → InsightsPaywall-8Xzv5tgi.js} +1 -1
  28. package/dist/assets/{InsightsSummary-CJgV5s0y.js → InsightsSummary-CVMZ0AIR.js} +1 -1
  29. package/dist/assets/{InsightsTableWorkflows-P5OHXu1Y.js → InsightsTableWorkflows-KGsV_wLS.js} +3 -3
  30. package/dist/assets/{Logo-8MWdHUz0.js → Logo-DFdhGUpH.js} +1 -1
  31. package/dist/assets/{LogsPanel-BabpRONg.js → LogsPanel-DDzEUcu_.js} +7 -7
  32. package/dist/assets/{MainHeader-0ppftO6b.js → MainHeader-IUjqKc1i.js} +9 -9
  33. package/dist/assets/{MainSidebar-BnXOkYK4.js → MainSidebar-BV-JzM27.js} +4 -10
  34. package/dist/assets/{N8nDataTableServer-Cx18Zd1O.js → N8nDataTableServer-Dq5Mwh9d.js} +1 -1
  35. package/dist/assets/{NodeCreation-DKbc91uY.js → NodeCreation-DCV9QVeh.js} +4 -4
  36. package/dist/assets/{NodeCreator-xRYJHbTG.js → NodeCreator-C8jv1gta.js} +12 -11
  37. package/dist/assets/{NodeDetailsView-CPVE5S8P.js → NodeDetailsView-D7qedYA0.js} +15 -15
  38. package/dist/assets/{NodeDetailsViewV2-5pxsZwAo.js → NodeDetailsViewV2-BAkPjDo5.js} +15 -15
  39. package/dist/assets/{NodeView-Cgf2HuDk.css → NodeView-BbQy7Are.css} +29 -27
  40. package/dist/assets/{NodeView-DYjZmKNE.js → NodeView-DKlyR0_C.js} +80 -339
  41. package/dist/assets/{ProjectHeader-e8JosKaj.js → ProjectHeader-Co0EPo6y.js} +2 -2
  42. package/dist/assets/{ProjectSettings-DNKcVLkd.js → ProjectSettings-CUwuhSyu.js} +3 -3
  43. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-EuKDPqQH.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-DDVpVAyT.js} +1 -1
  44. package/dist/assets/{ResourcesListLayout-C4y0iPmg.js → ResourcesListLayout-0KbQy3_m.js} +3 -3
  45. package/dist/assets/{RunData-D3xzjO33.js → RunData-CctCvWsu.js} +10 -10
  46. package/dist/assets/{RunDataJson-D5YFtOcJ.js → RunDataJson-T-LRvnsQ.js} +7 -7
  47. package/dist/assets/{RunDataJsonActions-BWvs4coo.js → RunDataJsonActions-C5tGgl2w.js} +1 -1
  48. package/dist/assets/{RunDataParsedAiContent-BYISiW-I.js → RunDataParsedAiContent-BILLIvVH.js} +5 -5
  49. package/dist/assets/{RunDataSearch-oo3_BoLt.js → RunDataSearch-CsykTpQU.js} +1 -1
  50. package/dist/assets/{RunDataTable-6rCOQNCX.js → RunDataTable-DS-hDrAF.js} +2 -2
  51. package/dist/assets/{SamlOnboarding-BG-gGcbY.js → SamlOnboarding-Dr42BiUa.js} +3 -3
  52. package/dist/assets/{SettingsApiView-Bmlbp7pD.js → SettingsApiView-0TAqOns3.js} +1 -1
  53. package/dist/assets/{SettingsCommunityNodesView-4DWd4UiC.js → SettingsCommunityNodesView-BO5mZg81.js} +3 -3
  54. package/dist/assets/{SettingsExternalSecrets-hpUcipWw.js → SettingsExternalSecrets-BmpYfnUN.js} +1 -1
  55. package/dist/assets/{SettingsLdapView-7p7L95v9.js → SettingsLdapView-AdcIL_WB.js} +1 -1
  56. package/dist/assets/{SettingsLogStreamingView-4CpWJqj_.js → SettingsLogStreamingView-DHAPBv4i.js} +1 -1
  57. package/dist/assets/{SettingsPersonalView-9iP06ihA.js → SettingsPersonalView-D-sKTNF5.js} +1 -1
  58. package/dist/assets/{SettingsSourceControl-BGjWhqqJ.js → SettingsSourceControl-D_jgIQPN.js} +1 -1
  59. package/dist/assets/{SettingsSso-ChOyD3kc.js → SettingsSso-DpxORkrt.js} +1 -1
  60. package/dist/assets/{SettingsUsageAndPlan-jP8nn4Rh.js → SettingsUsageAndPlan-DWu4RW1N.js} +1 -1
  61. package/dist/assets/{SettingsUsersView-BhfbqjxW.js → SettingsUsersView-r6-ZO8CO.js} +3 -3
  62. package/dist/assets/{SettingsView-DTFEdRdj.js → SettingsView-DoZ4920P.js} +1 -1
  63. package/dist/assets/{SetupView-CXuAO6tx.js → SetupView-Ca70rhsh.js} +3 -3
  64. package/dist/assets/{SetupWorkflowCredentialsButton-Bj4rSqAV.js → SetupWorkflowCredentialsButton-ujybntOa.js} +1 -1
  65. package/dist/assets/{SetupWorkflowFromTemplateView-DG8Ml3A0.js → SetupWorkflowFromTemplateView-KE6NTkHC.js} +3 -3
  66. package/dist/assets/{SigninView-KmmptKWN.js → SigninView-_rmKLSpx.js} +3 -3
  67. package/dist/assets/{SignoutView-8rAPEX_X.js → SignoutView-DYPGyBsZ.js} +1 -1
  68. package/dist/assets/{SignupView-ZYUP6f-Y.js → SignupView-BDSpYIB0.js} +3 -3
  69. package/dist/assets/{TableBase-7XxrB0dw.js → TableBase-Bz6zRvAL.js} +1 -1
  70. package/dist/assets/{Tags-C8Jnw74N.js → Tags-Doq3WsWA.js} +1 -1
  71. package/dist/assets/{TemplateDetails-Bk1ixuRQ.js → TemplateDetails-BzDS-0Fd.js} +2 -2
  72. package/dist/assets/{TemplateList-9SAC8OGn.js → TemplateList-D_XBHKQu.js} +1 -1
  73. package/dist/assets/{TemplatesCollectionView-CLZDJ4HM.js → TemplatesCollectionView-BvnC5QZ9.js} +6 -6
  74. package/dist/assets/{TemplatesSearchView-DRzdGp3s.js → TemplatesSearchView-CCsnhiD3.js} +3 -3
  75. package/dist/assets/{TemplatesView-V6ud-nM5.js → TemplatesView-DbW9D41Q.js} +1 -1
  76. package/dist/assets/{TemplatesWorkflowView-CLb4CuR2.js → TemplatesWorkflowView-CVFtBBcd.js} +6 -6
  77. package/dist/assets/{TriggerPanel-BOC7PYsi.js → TriggerPanel-CP3_UsCW.js} +4 -4
  78. package/dist/assets/{VariablesView-BDzhSaxw.js → VariablesView-DIZkSQZ3.js} +5 -5
  79. package/dist/assets/{WorkerView-C2A7cYkr.js → WorkerView-DgXLi4d9.js} +5 -5
  80. package/dist/assets/{WorkflowActivator-BmIzNsA8.js → WorkflowActivator-f0lJXePV.js} +2 -2
  81. package/dist/assets/{WorkflowExecutionsInfoAccordion-Cn4GRGO_.js → WorkflowExecutionsInfoAccordion-BFSae6PE.js} +2 -2
  82. package/dist/assets/{WorkflowExecutionsLandingPage-s-dIgG6D.js → WorkflowExecutionsLandingPage-Bb104kSO.js} +3 -3
  83. package/dist/assets/{WorkflowExecutionsPreview-BE7NfRAa.js → WorkflowExecutionsPreview-Do5Rp-8m.js} +5 -5
  84. package/dist/assets/{WorkflowExecutionsView-DFmBdF-B.js → WorkflowExecutionsView-BSv7OYhx.js} +8 -8
  85. package/dist/assets/{WorkflowHistory-3wO0nQYD.js → WorkflowHistory-CsEfwZK8.js} +3 -3
  86. package/dist/assets/{WorkflowOnboardingView-mBVE6x-i.js → WorkflowOnboardingView-BOvx7CPi.js} +1 -1
  87. package/dist/assets/{WorkflowPreview-DlNMFCKn.js → WorkflowPreview-BQ_GLS2J.js} +1 -1
  88. package/dist/assets/{WorkflowsView-DsAOuPT0.js → WorkflowsView-DYxrTukw.js} +52 -10
  89. package/dist/assets/{chartjs.utils-BywXqBmg.js → chartjs.utils-D8ESC4_p.js} +2 -2
  90. package/dist/assets/{en-CcKAtA8V.js → en-C2EOIYih.js} +2 -0
  91. package/dist/assets/{global-link-actions-BzAw9ZbO.js → global-link-actions-BIVeUMGo.js} +1 -1
  92. package/dist/assets/{import-curl-1LWAxRTV.js → import-curl-CjhdjoGU.js} +1 -1
  93. package/dist/assets/{index-V0GOmfo8.js → index-B3p3789J.js} +1276 -890
  94. package/dist/assets/{index-C66_v3sX.css → index-COleXxZf.css} +8 -8
  95. package/dist/assets/{index-B6A1nL2x.js → index-DAODXvFs.js} +1 -1
  96. package/dist/assets/{pickBy-CtRItcCT.js → pickBy-CaeaG_7P.js} +1 -1
  97. package/dist/assets/{templateActions-DpIzx0ws.js → templateActions-Ct4VGqHx.js} +1 -1
  98. package/dist/assets/{useBeforeUnload-B0EP7Q2i.js → useBeforeUnload-Yj83KQFp.js} +1 -1
  99. package/dist/assets/{useExecutionDebugging-AwlOA2KI.js → useExecutionDebugging-wUQ9K2sh.js} +1 -1
  100. package/dist/assets/{useExecutionHelpers-DvBwGIzz.js → useExecutionHelpers-i07QEXws.js} +1 -1
  101. package/dist/assets/{useImportCurlCommand-DIFC7Epr.js → useImportCurlCommand-Bs8VOC2z.js} +2 -2
  102. package/dist/assets/{useKeybindings-CduQ2pi5.js → useKeybindings-ul7syjnB.js} +1 -1
  103. package/dist/assets/{useProjectPages-DmNmAOdq.js → useProjectPages-DHCwu3nX.js} +1 -1
  104. package/dist/assets/{usePushConnection-Dyd5__87.js → usePushConnection-Iyy-883l.js} +2 -2
  105. package/dist/assets/{useWorkflowActivate-z9iwP6OY.js → useWorkflowActivate-DpHXxGAq.js} +1 -1
  106. package/dist/index.html +2 -2
  107. package/package.json +1 -1
  108. package/dist/assets/CollectionParameter-Bz5DzZqs.js +0 -4
@@ -1,18 +1,18 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/NodeCreation-DKbc91uY.js","assets/index-V0GOmfo8.js","assets/index-C66_v3sX.css","assets/NodeCreation-32nlvQSy.css","assets/NodeDetailsView-CPVE5S8P.js","assets/TriggerPanel-BOC7PYsi.js","assets/RunData-D3xzjO33.js","assets/FileSaver.min-CeGSkamF.js","assets/useKeybindings-CduQ2pi5.js","assets/useKeybindings-BUK7Ngh6.css","assets/useExecutionHelpers-DvBwGIzz.js","assets/RunData-DuKNwYqe.css","assets/RunDataParsedAiContent-BYISiW-I.js","assets/RunDataParsedAiContent-wfIiKsq7.css","assets/InfoAccordion-75IQV-_q.js","assets/InfoAccordion-dxudNqVC.css","assets/TriggerPanel-DRpKKKun.css","assets/useWorkflowActivate-z9iwP6OY.js","assets/ActionDropdown-D-JmCYsp.js","assets/ActionDropdown-BmC0wfMx.css","assets/import-curl-1LWAxRTV.js","assets/global-link-actions-BzAw9ZbO.js","assets/useExecutionDebugging-AwlOA2KI.js","assets/useBeforeUnload-B0EP7Q2i.js","assets/NodeDetailsView-CaTI-1QQ.css","assets/NodeDetailsViewV2-5pxsZwAo.js","assets/NodeDetailsViewV2-BxNx4ZUM.css","assets/SetupWorkflowCredentialsButton-Bj4rSqAV.js"])))=>i.map(i=>d[i]);
2
- import { _ as _export_sfc$1, h as createElementBlock, g as openBlock, j as createBaseVNode, d as defineComponent, cn as PanelPosition, co as useVueFlow, bT as toRef, e as createBlock, w as withCtx, J as renderSlot, f as createCommentVNode, F as Fragment, i as createVNode, bY as resolveDynamicComponent, l as unref, cp as _sfc_main$R, x as computed, a0 as _sfc_main$S, c as useI18n, c7 as KeyboardShortcutTooltip, n as normalizeClass, q as N8nButton, bo as NodeConnectionTypes, cq as getBezierPath, cr as getSmoothStepPath, cs as Position, bU as inject, ct as CanvasKey, ab as useCssModule, cu as parseCanvasConnectionHandleString, r as ref, o as onMounted, y as renderList, cv as _sfc_main$d$1, P as normalizeStyle, T as useUIStore, bG as useNodeTypesStore, a4 as useWorkflowsStore, ae as useSourceControlStore, am as getResourcePermissions, cw as isNodeWithWorkflowSelector, cx as getSubworkflowId, cy as isPresent, aa as watch, cz as getMousePosition, aS as STICKY_NODE_TYPE, bz as usePinnedData, cA as NOT_DUPLICATABLE_NODE_TYPES, cB as isExecutable, cC as Teleport, c9 as useStyles, bJ as getDefaultExportFromCjs, cD as DEFAULT_NODE_SIZE, cE as CanvasNodeRenderType, cF as GRID_SIZE, cb as useThrottleFn, cG as getRectOfNodes, b$ as onUnmounted, cH as onKeyDown, cI as onKeyUp, cJ as useSlots, c1 as useAttrs, cK as getBoundsofRects, cL as watchEffect, t as toDisplayString, cM as getConnectedEdges, bW as normalizeProps, D as mergeProps, bE as provide, aK as h, bh as createSlots, cN as isValidNodeConnectionType, cO as _sfc_main$3$1, cP as CanvasNodeKey, cQ as CanvasConnectionMode, cR as mergeModels, cS as useModel, I as onBeforeUnmount, cT as _sfc_main$T, N as N8nIcon, $ as N8nTooltip, bB as useNodeHelpers, cU as TitledList, k as createTextVNode, cV as CanvasNodeDirtiness, ar as useTemplateRef, cW as useElementSize, bP as _sfc_main$U, as as InlineRename, cX as toValue, cY as isCommunityPackageName, cZ as NPM_PACKAGE_DOCS_BASE_URL, c_ as BUILTIN_NODES_DOCS_URL, aM as useNDVStore, c$ as COMMUNITY_NODES_INSTALLATION_DOCS_URL, d0 as N8nTabs, bf as useExternalHooks, ay as useTelemetry, c2 as useClipboard, ak as useWorkflowHelpers, a as useToast, d1 as OPEN_URL_PANEL_TRIGGER_NODE_TYPES, d2 as PRODUCTION_ONLY_TRIGGER_NODE_TYPES, d3 as MCP_TRIGGER_NODE_TYPE, d4 as FORM_TRIGGER_NODE_TYPE, bx as CHAT_TRIGGER_NODE_TYPE, O as resolveComponent, H as N8nRadioButtons, bg as onClickOutside, d5 as toRef$1, d6 as tryOnScopeDispose, d7 as toValue$1, d8 as isIOS, d9 as noop$2, da as isObject, db as isClient, S as useDebounce, dc as getNodeInputs, dd as _sfc_main$V, v as useSettingsStore, de as useCredentialsStore, u as useUsersStore, af as useProjectsStore, df as OPEN_AI_API_CREDENTIAL_TYPE, dg as N8nCallout, p as N8nText, bq as get$3, dh as set$3, di as unset, dj as SWITCH_NODE_TYPE, dk as isEqual, dl as captureException, dm as isINodePropertyCollectionList, dn as isINodePropertiesList, dp as isINodePropertyOptionsList, dq as displayParameter, bF as useCanvasOperations, dr as getNodeParameters, ds as deepCopy, dt as getUpdatedToolDescription, du as isDefaultNodeName, dv as makeNodeName, dw as useHistoryStore, aO as usePostHog, dx as useResizeObserver, aq as ProjectTypes, dy as NDV_UI_OVERHAUL_EXPERIMENT, dz as BASE_NODE_SURVEY_URL, cm as ndvEventBus, bO as withModifiers, a1 as N8nLink, dA as CUSTOM_NODES_DOCS_URL, aU as withDirectives, dB as N8nNotice, aV as vShow, dC as _sfc_main$W, dD as NodeCredentials, dE as RenameNodeCommand, Q as createEventBus, a2 as defineStore, cd as shallowRef, dF as watchOnce, dG as calculateNodeSize, dH as NodeId, dI as useGetPointerPosition, dJ as clamp, dK as N8nSticky, dL as useNodeCreatorStore, az as nodeViewEventBus, dM as NODE_CREATOR_OPEN_SOURCES, dN as useBuilderStore, a_ as withKeys, dO as N8nInput, dP as CanvasNodeHandleKey, dQ as Transition$1, dR as _sfc_main$f$1, b as useRouter, bA as useLogsStore, bC as useRunWorkflow, dS as insertSpacersBetweenEndpoints, dT as createCanvasConnectionHandleString, dU as CONFIGURATION_NODE_OFFSET, dV as useDeviceSupport, dW as isOutsideSelected, K as nextTick, dX as _sfc_main$1$4, dY as MarkerType, dZ as Suspense, bX as guardReactiveProps, d_ as updateViewportToContainNodes, d$ as useNodeDirtiness, e0 as CUSTOM_API_CALL_KEY, e1 as mapLegacyEndpointsToCanvasConnectionPort, e2 as getNodeOutputs, e3 as getTriggerNodeServiceName, e4 as sanitizeHtml, e5 as WAIT_NODE_TYPE, e6 as SEND_AND_WAIT_OPERATION, e7 as FORM_NODE_TYPE, e8 as WAIT_INDEFINITELY, e9 as checkOverlap, ea as SIMULATE_NODE_TYPE, eb as SIMULATE_TRIGGER_NODE_TYPE, ec as mapLegacyConnectionsToCanvasConnections, ed as getNodeIconSource, ee as refThrottled, ef as useFocusPanelStore, eg as isValueExpression, eh as __unplugin_components_2$2, ei as __unplugin_components_3$1, bn as isChatNode, ej as truncateBeforeLast, ek as reactive, a5 as useRoute, ai as useDocumentTitle, aj as useWorkflowSaving, el as useEnvironmentsStore, em as useExternalSecretsStore, ac as useRootStore, aN as useExecutionsStore, ad as useCanvasStore, ah as useNpsSurveyStore, R as useTagsStore, a3 as usePushConnectionStore, bd as useTemplatesStore, ag as useFoldersStore, en as useAgentRequestStore, eo as useWorkflowExtraction, ep as FOCUS_PANEL_EXPERIMENT, a6 as PLACEHOLDER_EMPTY_WORKFLOW_ID, eq as NEW_WORKFLOW_ID, V as VIEWS, bH as START_NODE_TYPE, er as getNodeViewTab, G as MAIN_HEADER_TABS, es as VALID_WORKFLOW_IMPORT_URL_REGEX, aA as useMessage, aB as MODAL_CONFIRM, et as jsonParse, bw as MANUAL_CHAT_TRIGGER_NODE_TYPE, eu as EVALUATION_TRIGGER_NODE_TYPE, ev as getBounds, ew as onBeforeRouteLeave, aT as onBeforeMount, aC as WORKFLOW_SETTINGS_MODAL_KEY, ex as onActivated, ey as onDeactivated, ez as defineAsyncComponent, aI as __vitePreload, ap as EnterpriseEditionFeature, eA as EVALUATION_NODE_TYPE, eB as getEasyAiWorkflowJson, eC as getRagStarterWorkflowJson, eD as tryToParseNumber, b3 as sourceControlEventBus, eE as getNodesWithNormalizedPosition, eF as needsAgentInput, eG as FROM_AI_PARAMETERS_MODAL_KEY, eH as historyBus, eI as DRAG_EVENT_DATA_KEY } from "./index-V0GOmfo8.js";
3
- import { N as N8nActionDropdown } from "./ActionDropdown-D-JmCYsp.js";
4
- import { N as N8nBlockUi, u as useKeybindings, c as canvasEventBus } from "./useKeybindings-CduQ2pi5.js";
5
- import { i as importCurlEventBus } from "./import-curl-1LWAxRTV.js";
6
- import { g as globalLinkActionsEventBus } from "./global-link-actions-BzAw9ZbO.js";
7
- import { u as useExecutionDebugging } from "./useExecutionDebugging-AwlOA2KI.js";
8
- import { u as useBeforeUnload } from "./useBeforeUnload-B0EP7Q2i.js";
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/NodeCreation-DCV9QVeh.js","assets/index-B3p3789J.js","assets/index-COleXxZf.css","assets/NodeCreation-32nlvQSy.css","assets/NodeDetailsView-D7qedYA0.js","assets/TriggerPanel-CP3_UsCW.js","assets/RunData-CctCvWsu.js","assets/FileSaver.min-BemkeU_7.js","assets/useKeybindings-ul7syjnB.js","assets/useKeybindings-BUK7Ngh6.css","assets/useExecutionHelpers-i07QEXws.js","assets/RunData-DuKNwYqe.css","assets/RunDataParsedAiContent-BILLIvVH.js","assets/RunDataParsedAiContent-wfIiKsq7.css","assets/InfoAccordion--ZQQuSPX.js","assets/InfoAccordion-dxudNqVC.css","assets/TriggerPanel-DRpKKKun.css","assets/useWorkflowActivate-DpHXxGAq.js","assets/ActionDropdown-CiegfqhB.js","assets/ActionDropdown-BmC0wfMx.css","assets/import-curl-CjhdjoGU.js","assets/global-link-actions-BIVeUMGo.js","assets/useExecutionDebugging-wUQ9K2sh.js","assets/useBeforeUnload-Yj83KQFp.js","assets/NodeDetailsView-CaTI-1QQ.css","assets/NodeDetailsViewV2-BAkPjDo5.js","assets/NodeDetailsViewV2-BxNx4ZUM.css","assets/SetupWorkflowCredentialsButton-ujybntOa.js"])))=>i.map(i=>d[i]);
2
+ import { _ as _export_sfc$1, h as createElementBlock, g as openBlock, j as createBaseVNode, d as defineComponent, cp as PanelPosition, cq as useVueFlow, bV as toRef, e as createBlock, w as withCtx, J as renderSlot, f as createCommentVNode, F as Fragment, i as createVNode, b_ as resolveDynamicComponent, l as unref, cr as _sfc_main$R, x as computed, a0 as _sfc_main$S, c as useI18n, c9 as KeyboardShortcutTooltip, n as normalizeClass, q as N8nButton, bq as NodeConnectionTypes, cs as getBezierPath, ct as getSmoothStepPath, cu as Position, bW as inject, cv as CanvasKey, ab as useCssModule, cw as parseCanvasConnectionHandleString, r as ref, o as onMounted, y as renderList, cx as _sfc_main$d$1, P as normalizeStyle, T as useUIStore, bI as useNodeTypesStore, a4 as useWorkflowsStore, ae as useSourceControlStore, am as getResourcePermissions, cy as isNodeWithWorkflowSelector, cz as getSubworkflowId, cA as isPresent, aa as watch, cB as getMousePosition, aS as STICKY_NODE_TYPE, bB as usePinnedData, cC as NOT_DUPLICATABLE_NODE_TYPES, cD as isExecutable, cE as Teleport, cb as useStyles, bL as getDefaultExportFromCjs, cF as DEFAULT_NODE_SIZE, cG as CanvasNodeRenderType, cH as GRID_SIZE, cd as useThrottleFn, cI as getRectOfNodes, c1 as onUnmounted, cJ as onKeyDown, cK as onKeyUp, cL as useSlots, c3 as useAttrs, cM as getBoundsofRects, cN as watchEffect, t as toDisplayString, cO as getConnectedEdges, bY as normalizeProps, D as mergeProps, bG as provide, aK as h, bh as createSlots, cP as isValidNodeConnectionType, cQ as _sfc_main$3$1, cR as CanvasNodeKey, cS as CanvasConnectionMode, cT as mergeModels, cU as useModel, I as onBeforeUnmount, cV as _sfc_main$T, N as N8nIcon, $ as N8nTooltip, bD as useNodeHelpers, cW as TitledList, k as createTextVNode, cX as CanvasNodeDirtiness, ar as useTemplateRef, cY as useElementSize, bR as _sfc_main$U, as as InlineRename, cZ as toValue, c_ as isCommunityPackageName, c$ as NPM_PACKAGE_DOCS_BASE_URL, d0 as BUILTIN_NODES_DOCS_URL, aM as useNDVStore, d1 as COMMUNITY_NODES_INSTALLATION_DOCS_URL, d2 as N8nTabs, bf as useExternalHooks, ay as useTelemetry, c4 as useClipboard, ak as useWorkflowHelpers, a as useToast, d3 as OPEN_URL_PANEL_TRIGGER_NODE_TYPES, d4 as PRODUCTION_ONLY_TRIGGER_NODE_TYPES, d5 as MCP_TRIGGER_NODE_TYPE, d6 as FORM_TRIGGER_NODE_TYPE, bz as CHAT_TRIGGER_NODE_TYPE, O as resolveComponent, H as N8nRadioButtons, bg as onClickOutside, d7 as toRef$1, d8 as tryOnScopeDispose, d9 as toValue$1, da as isIOS, db as noop$2, dc as isObject, dd as isClient, S as useDebounce, de as getNodeInputs, df as _sfc_main$V, v as useSettingsStore, dg as useCredentialsStore, u as useUsersStore, af as useProjectsStore, dh as OPEN_AI_API_CREDENTIAL_TYPE, di as N8nCallout, p as N8nText, dj as useHistoryStore, aO as usePostHog, dk as useNodeSettingsParameters, dl as useResizeObserver, aq as ProjectTypes, dm as NDV_UI_OVERHAUL_EXPERIMENT, dn as BASE_NODE_SURVEY_URL, co as ndvEventBus, bQ as withModifiers, a1 as N8nLink, dp as CUSTOM_NODES_DOCS_URL, aU as withDirectives, dq as N8nNotice, aV as vShow, dr as _sfc_main$W, ds as NodeCredentials, bs as get$3, dt as getNodeParameters, du as deepCopy, dv as nameIsParameter, dw as RenameNodeCommand, bH as useCanvasOperations, Q as createEventBus, a2 as defineStore, cf as shallowRef, dx as watchOnce, dy as calculateNodeSize, dz as NodeId, dA as useGetPointerPosition, dB as clamp, dC as N8nSticky, dD as useNodeCreatorStore, bd as useTemplatesStore, V as VIEWS, dE as isExtraTemplateLinksExperimentEnabled, az as nodeViewEventBus, bl as trackTemplatesClick, bm as TemplateClickSource, dF as NODE_CREATOR_OPEN_SOURCES, dG as useBuilderStore, a_ as withKeys, dH as N8nInput, dI as CanvasNodeHandleKey, dJ as Transition$1, dK as _sfc_main$f$1, b as useRouter, bC as useLogsStore, bE as useRunWorkflow, dL as insertSpacersBetweenEndpoints, dM as createCanvasConnectionHandleString, dN as CONFIGURATION_NODE_OFFSET, dO as isEqual, dP as useDeviceSupport, dQ as isOutsideSelected, K as nextTick, dR as _sfc_main$1$4, dS as MarkerType, dT as Suspense, bZ as guardReactiveProps, dU as updateViewportToContainNodes, dV as useNodeDirtiness, dW as CUSTOM_API_CALL_KEY, dX as mapLegacyEndpointsToCanvasConnectionPort, dY as getNodeOutputs, dZ as getTriggerNodeServiceName, d_ as sanitizeHtml, d$ as WAIT_NODE_TYPE, e0 as SEND_AND_WAIT_OPERATION, e1 as FORM_NODE_TYPE, e2 as WAIT_INDEFINITELY, e3 as checkOverlap, e4 as SIMULATE_NODE_TYPE, e5 as SIMULATE_TRIGGER_NODE_TYPE, e6 as mapLegacyConnectionsToCanvasConnections, e7 as getNodeIconSource, e8 as refThrottled, e9 as useFocusPanelStore, ea as isValueExpression, eb as __unplugin_components_2$2, ec as __unplugin_components_3$1, bp as isChatNode, ed as truncateBeforeLast, ee as reactive, a5 as useRoute, ai as useDocumentTitle, aj as useWorkflowSaving, ef as useEnvironmentsStore, eg as useExternalSecretsStore, ac as useRootStore, aN as useExecutionsStore, ad as useCanvasStore, ah as useNpsSurveyStore, R as useTagsStore, a3 as usePushConnectionStore, ag as useFoldersStore, eh as useAgentRequestStore, ei as useWorkflowExtraction, ej as FOCUS_PANEL_EXPERIMENT, a6 as PLACEHOLDER_EMPTY_WORKFLOW_ID, ek as NEW_WORKFLOW_ID, bJ as START_NODE_TYPE, el as getNodeViewTab, G as MAIN_HEADER_TABS, em as VALID_WORKFLOW_IMPORT_URL_REGEX, aA as useMessage, aB as MODAL_CONFIRM, en as jsonParse, by as MANUAL_CHAT_TRIGGER_NODE_TYPE, eo as EVALUATION_TRIGGER_NODE_TYPE, ep as getBounds, eq as onBeforeRouteLeave, aT as onBeforeMount, aC as WORKFLOW_SETTINGS_MODAL_KEY, er as onActivated, es as onDeactivated, et as defineAsyncComponent, aI as __vitePreload, ap as EnterpriseEditionFeature, eu as EVALUATION_NODE_TYPE, ev as getEasyAiWorkflowJson, ew as getRagStarterWorkflowJson, ex as tryToParseNumber, b3 as sourceControlEventBus, ey as getNodesWithNormalizedPosition, ez as needsAgentInput, eA as FROM_AI_PARAMETERS_MODAL_KEY, eB as historyBus, eC as DRAG_EVENT_DATA_KEY } from "./index-B3p3789J.js";
3
+ import { N as N8nActionDropdown } from "./ActionDropdown-CiegfqhB.js";
4
+ import { N as N8nBlockUi, u as useKeybindings, c as canvasEventBus } from "./useKeybindings-ul7syjnB.js";
5
+ import { i as importCurlEventBus } from "./import-curl-CjhdjoGU.js";
6
+ import { g as globalLinkActionsEventBus } from "./global-link-actions-BIVeUMGo.js";
7
+ import { u as useExecutionDebugging } from "./useExecutionDebugging-wUQ9K2sh.js";
8
+ import { u as useBeforeUnload } from "./useBeforeUnload-Yj83KQFp.js";
9
9
  const _sfc_main$Q = {};
10
- const _hoisted_1$h = {
10
+ const _hoisted_1$g = {
11
11
  xmlns: "http://www.w3.org/2000/svg",
12
12
  viewBox: "0 0 16 16"
13
13
  };
14
14
  function _sfc_render$1(_ctx, _cache) {
15
- return openBlock(), createElementBlock("svg", _hoisted_1$h, _cache[0] || (_cache[0] = [
15
+ return openBlock(), createElementBlock("svg", _hoisted_1$g, _cache[0] || (_cache[0] = [
16
16
  createBaseVNode("path", {
17
17
  fill: "currentColor",
18
18
  d: "M1.6.13c-.18-.17-.47-.18-.62 0L.56.57.14.98c-.2.15-.18.44 0 .62l3.63 3.6c.1.1.1.27 0 .37-.2.2-.53.52-.93.94-.56.57-.12 1.62.22 2.11.05.07.12.1.2.1.05-.01.1-.04.15-.08l5.23-5.22c.1-.1.1-.26-.02-.34-.5-.34-1.55-.78-2.12-.22-.42.4-.75.73-.94.93-.1.1-.27.1-.37 0L1.6.13ZM9.5 3.9c.07-.09.2-.1.3-.04l6.07 3.44c.15.08.18.29.05.4l-1.21 1.22a.26.26 0 0 1-.26.07l-2.18-.64a.26.26 0 0 0-.32.33l.76 2.02c.04.1.01.2-.06.27L7.7 15.92a.26.26 0 0 1-.41-.05L3.83 9.8a.26.26 0 0 1 .04-.3l5.62-5.6Z"
@@ -86,7 +86,7 @@ function render$1(_ctx, _cache) {
86
86
  return openBlock(), createElementBlock("svg", _hoisted_1$1$2, _hoisted_3$1$1);
87
87
  }
88
88
  const Lock = { render: render$1 };
89
- const _hoisted_1$g = {
89
+ const _hoisted_1$f = {
90
90
  xmlns: "http://www.w3.org/2000/svg",
91
91
  viewBox: "0 0 25 32"
92
92
  };
@@ -95,7 +95,7 @@ const _hoisted_3$7 = [
95
95
  _hoisted_2$b
96
96
  ];
97
97
  function render(_ctx, _cache) {
98
- return openBlock(), createElementBlock("svg", _hoisted_1$g, _hoisted_3$7);
98
+ return openBlock(), createElementBlock("svg", _hoisted_1$f, _hoisted_3$7);
99
99
  }
100
100
  const Unlock = { render };
101
101
  const __default__$4 = {
@@ -7294,7 +7294,7 @@ const _sfc_main$1$2 = /* @__PURE__ */ defineComponent({
7294
7294
  };
7295
7295
  }
7296
7296
  });
7297
- const _hoisted_1$f = ["width", "height", "viewBox", "aria-labelledby"];
7297
+ const _hoisted_1$e = ["width", "height", "viewBox", "aria-labelledby"];
7298
7298
  const _hoisted_2$a = ["id"];
7299
7299
  const _hoisted_3$6 = ["d", "fill", "stroke", "stroke-width"];
7300
7300
  const __default__$3 = {
@@ -7515,14 +7515,14 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
7515
7515
  "stroke-width": _ctx.maskStrokeWidth,
7516
7516
  "fill-rule": "evenodd"
7517
7517
  }, null, 8, _hoisted_3$6)
7518
- ], 8, _hoisted_1$f))
7518
+ ], 8, _hoisted_1$e))
7519
7519
  ]),
7520
7520
  _: 1
7521
7521
  }, 8, ["position", "class"]);
7522
7522
  };
7523
7523
  }
7524
7524
  });
7525
- const _hoisted_1$e = ["id", "x", "y", "width", "height", "patternTransform"];
7525
+ const _hoisted_1$d = ["id", "x", "y", "width", "height", "patternTransform"];
7526
7526
  const _hoisted_2$9 = ["d", "stroke-width"];
7527
7527
  const _sfc_main$K = /* @__PURE__ */ defineComponent({
7528
7528
  __name: "CanvasBackgroundStripedPattern",
@@ -7550,7 +7550,7 @@ const _sfc_main$K = /* @__PURE__ */ defineComponent({
7550
7550
  d: `M0 ${scaledGap.value / 2} H${scaledGap.value}`,
7551
7551
  "stroke-width": scaledGap.value / 2
7552
7552
  }, null, 8, _hoisted_2$9)
7553
- ], 8, _hoisted_1$e);
7553
+ ], 8, _hoisted_1$d);
7554
7554
  };
7555
7555
  }
7556
7556
  });
@@ -7578,7 +7578,7 @@ const DefaultBgColors = {
7578
7578
  [BackgroundVariant.Dots]: "#81818a",
7579
7579
  [BackgroundVariant.Lines]: "#eee"
7580
7580
  };
7581
- const _hoisted_1$d = ["id", "x", "y", "width", "height", "patternTransform"];
7581
+ const _hoisted_1$c = ["id", "x", "y", "width", "height", "patternTransform"];
7582
7582
  const _hoisted_2$8 = {
7583
7583
  key: 2,
7584
7584
  height: "100",
@@ -7661,7 +7661,7 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
7661
7661
  }, null, 8, _hoisted_3$5)
7662
7662
  ])) : createCommentVNode("", true)
7663
7663
  ])
7664
- ], 8, _hoisted_1$d)
7664
+ ], 8, _hoisted_1$c)
7665
7665
  ]),
7666
7666
  createBaseVNode("rect", {
7667
7667
  x: _ctx.x,
@@ -7705,7 +7705,7 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
7705
7705
  };
7706
7706
  }
7707
7707
  });
7708
- const _hoisted_1$c = ["id"];
7708
+ const _hoisted_1$b = ["id"];
7709
7709
  const _sfc_main$H = /* @__PURE__ */ defineComponent({
7710
7710
  __name: "CanvasArrowHeadMarker",
7711
7711
  props: {
@@ -7733,7 +7733,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
7733
7733
  stroke: "context-stroke",
7734
7734
  fill: "context-stroke"
7735
7735
  }, null, -1)
7736
- ]), 8, _hoisted_1$c)
7736
+ ]), 8, _hoisted_1$b)
7737
7737
  ])
7738
7738
  ]);
7739
7739
  };
@@ -7799,7 +7799,7 @@ const cssModules$w = {
7799
7799
  "$style": style0$w
7800
7800
  };
7801
7801
  const CanvasEdgeToolbar = /* @__PURE__ */ _export_sfc$1(_sfc_main$G, [["__cssModules", cssModules$w]]);
7802
- const _hoisted_1$b = ["data-source-node-name", "data-target-node-name"];
7802
+ const _hoisted_1$a = ["data-source-node-name", "data-target-node-name"];
7803
7803
  const _hoisted_2$7 = ["data-source-node-name", "data-target-node-name", "data-edge-status"];
7804
7804
  const delayedHoveredTimeout = 600;
7805
7805
  const _sfc_main$F = /* @__PURE__ */ defineComponent({
@@ -7948,7 +7948,7 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
7948
7948
  "interaction-width": 40
7949
7949
  }, null, 8, ["id", "class", "style", "path", "marker-end"]);
7950
7950
  }), 128))
7951
- ], 8, _hoisted_1$b),
7951
+ ], 8, _hoisted_1$a),
7952
7952
  createVNode(unref(_sfc_main$3$1), null, {
7953
7953
  default: withCtx(() => [
7954
7954
  createBaseVNode("div", {
@@ -8066,7 +8066,7 @@ function useCanvasNode() {
8066
8066
  eventBus
8067
8067
  };
8068
8068
  }
8069
- const _hoisted_1$a = ["title"];
8069
+ const _hoisted_1$9 = ["title"];
8070
8070
  const _hoisted_2$6 = ["onClick"];
8071
8071
  const _sfc_main$E = /* @__PURE__ */ defineComponent({
8072
8072
  __name: "CanvasNodeStickyColorSelector",
@@ -8132,7 +8132,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
8132
8132
  title: unref(i18n).baseText("node.changeColor")
8133
8133
  }, [
8134
8134
  createVNode(_component_N8nIcon, { icon: "palette" })
8135
- ], 10, _hoisted_1$a)
8135
+ ], 10, _hoisted_1$9)
8136
8136
  ]),
8137
8137
  default: withCtx(() => [
8138
8138
  createBaseVNode("div", {
@@ -8324,7 +8324,7 @@ const cssModules$t = {
8324
8324
  "$style": style0$t
8325
8325
  };
8326
8326
  const CanvasNodeToolbar = /* @__PURE__ */ _export_sfc$1(_sfc_main$D, [["__cssModules", cssModules$t]]);
8327
- const _hoisted_1$9 = { key: 1 };
8327
+ const _hoisted_1$8 = { key: 1 };
8328
8328
  const _hoisted_2$5 = ["textContent"];
8329
8329
  const _hoisted_3$4 = { key: 2 };
8330
8330
  const _hoisted_4$3 = { key: 5 };
@@ -8377,7 +8377,7 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
8377
8377
  ]),
8378
8378
  _: 1
8379
8379
  })
8380
- ], 2)) : unref(executionWaiting) || unref(executionStatus) === "waiting" ? (openBlock(), createElementBlock("div", _hoisted_1$9, [
8380
+ ], 2)) : unref(executionWaiting) || unref(executionStatus) === "waiting" ? (openBlock(), createElementBlock("div", _hoisted_1$8, [
8381
8381
  createBaseVNode("div", {
8382
8382
  class: normalizeClass([_ctx.$style.status, _ctx.$style.waiting])
8383
8383
  }, [
@@ -8804,7 +8804,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
8804
8804
  };
8805
8805
  }
8806
8806
  });
8807
- const _hoisted_1$8 = {
8807
+ const _hoisted_1$7 = {
8808
8808
  key: 0,
8809
8809
  class: "webhooks"
8810
8810
  };
@@ -8979,7 +8979,7 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
8979
8979
  const _component_el_row = resolveComponent("el-row");
8980
8980
  const _component_n8n_tooltip = N8nTooltip;
8981
8981
  const _component_el_collapse_transition = resolveComponent("el-collapse-transition");
8982
- return webhooksNode.value.length && visibleWebhookUrls.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_1$8, [
8982
+ return webhooksNode.value.length && visibleWebhookUrls.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_1$7, [
8983
8983
  createBaseVNode("div", {
8984
8984
  class: normalizeClass(["clickable headline", { expanded: !isMinimized.value }]),
8985
8985
  title: isMinimized.value ? baseText.value.clickToDisplay : baseText.value.clickToHide,
@@ -9229,7 +9229,7 @@ function onScrollLock() {
9229
9229
  };
9230
9230
  }
9231
9231
  onScrollLock();
9232
- const _hoisted_1$7 = ["data-test-id"];
9232
+ const _hoisted_1$6 = ["data-test-id"];
9233
9233
  const _hoisted_2$3 = ["textContent"];
9234
9234
  const _hoisted_3$2 = ["onClick"];
9235
9235
  const _hoisted_4$1 = ["onClick"];
@@ -9523,7 +9523,7 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
9523
9523
  _: 2
9524
9524
  }, 1032, ["onTrigger"])
9525
9525
  ], 2)
9526
- ], 8, _hoisted_1$7);
9526
+ ], 8, _hoisted_1$6);
9527
9527
  }), 128))
9528
9528
  ], 6)
9529
9529
  ], 2)) : createCommentVNode("", true);
@@ -9616,7 +9616,7 @@ const cssModules$n = {
9616
9616
  "$style": style0$n
9617
9617
  };
9618
9618
  const NodeSettingsHeader = /* @__PURE__ */ _export_sfc$1(_sfc_main$v, [["__cssModules", cssModules$n]]);
9619
- const _hoisted_1$6 = { class: "mt-xs" };
9619
+ const _hoisted_1$5 = { class: "mt-xs" };
9620
9620
  const LANGCHAIN_NODES_PREFIX = "@n8n/n8n-nodes-langchain.";
9621
9621
  const N8N_NODES_PREFIX = "@n8n/n8n-nodes.";
9622
9622
  const _sfc_main$u = /* @__PURE__ */ defineComponent({
@@ -9675,7 +9675,7 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
9675
9675
  const _component_n8n_button = N8nButton;
9676
9676
  const _component_n8n_callout = N8nCallout;
9677
9677
  const _component_n8n_text = N8nText;
9678
- return openBlock(), createElementBlock("div", _hoisted_1$6, [
9678
+ return openBlock(), createElementBlock("div", _hoisted_1$5, [
9679
9679
  userCanClaimOpenAiCredits.value && !showSuccessCallout.value ? (openBlock(), createBlock(_component_n8n_callout, {
9680
9680
  key: 0,
9681
9681
  theme: "secondary",
@@ -9730,297 +9730,7 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
9730
9730
  function shouldShowParameter(item) {
9731
9731
  return item.name.match(/resource|authentication|operation/i) === null;
9732
9732
  }
9733
- function updateDynamicConnections(node2, workflowConnections, parameterData) {
9734
- const connections2 = { ...workflowConnections };
9735
- try {
9736
- if (parameterData.name.includes("conditions") || !connections2[node2.name]?.main) return null;
9737
- if (node2.type === SWITCH_NODE_TYPE && parameterData.name === "parameters.numberOutputs") {
9738
- const curentNumberOutputs = node2.parameters?.numberOutputs;
9739
- const newNumberOutputs = parameterData.value;
9740
- if (newNumberOutputs < curentNumberOutputs) {
9741
- connections2[node2.name].main = connections2[node2.name].main.slice(0, newNumberOutputs);
9742
- return connections2;
9743
- }
9744
- }
9745
- if (node2.type === SWITCH_NODE_TYPE && parameterData.name === "parameters.options.fallbackOutput") {
9746
- const curentFallbackOutput = node2.parameters?.options?.fallbackOutput;
9747
- if (curentFallbackOutput === "extra") {
9748
- if (!parameterData.value || parameterData.value !== "extra") {
9749
- connections2[node2.name].main = connections2[node2.name].main.slice(0, -1);
9750
- return connections2;
9751
- }
9752
- }
9753
- }
9754
- if (node2.type === SWITCH_NODE_TYPE && parameterData.name.includes("parameters.rules.values")) {
9755
- const { fallbackOutput } = node2.parameters?.options;
9756
- if (parameterData.value === void 0) {
9757
- let extractIndex = function(path) {
9758
- const match = path.match(/parameters\.rules\.values\[(\d+)\]$/);
9759
- return match ? parseInt(match[1], 10) : null;
9760
- };
9761
- const index = extractIndex(parameterData.name);
9762
- if (index !== null) {
9763
- connections2[node2.name].main.splice(index, 1);
9764
- return connections2;
9765
- }
9766
- if (parameterData.name === "parameters.rules.values") {
9767
- if (fallbackOutput === "extra") {
9768
- connections2[node2.name].main = [
9769
- connections2[node2.name].main[connections2[node2.name].main.length - 1]
9770
- ];
9771
- } else {
9772
- connections2[node2.name].main = [];
9773
- }
9774
- return connections2;
9775
- }
9776
- } else if (parameterData.name === "parameters.rules.values") {
9777
- const curentRulesvalues = node2.parameters?.rules?.values;
9778
- let lastConnection = void 0;
9779
- if (fallbackOutput === "extra" && connections2[node2.name].main.length === curentRulesvalues.length + 1) {
9780
- lastConnection = connections2[node2.name].main.pop();
9781
- }
9782
- const currentRulesLength = node2.parameters?.rules?.values?.length;
9783
- const newRulesLength = parameterData.value?.length;
9784
- if (newRulesLength - currentRulesLength === 1) {
9785
- connections2[node2.name].main = [...connections2[node2.name].main, []];
9786
- if (lastConnection) {
9787
- connections2[node2.name].main.push(lastConnection);
9788
- }
9789
- return connections2;
9790
- } else {
9791
- const newRulesvalues = parameterData.value;
9792
- const updatedConnectionsIndex = [];
9793
- for (const newRule of newRulesvalues) {
9794
- const index = curentRulesvalues.findIndex((rule) => isEqual(rule, newRule));
9795
- if (index !== -1) {
9796
- updatedConnectionsIndex.push(index);
9797
- }
9798
- }
9799
- const reorderedConnections = [];
9800
- for (const index of updatedConnectionsIndex) {
9801
- reorderedConnections.push(connections2[node2.name].main[index] ?? []);
9802
- }
9803
- if (lastConnection) {
9804
- reorderedConnections.push(lastConnection);
9805
- }
9806
- connections2[node2.name].main = reorderedConnections;
9807
- return connections2;
9808
- }
9809
- }
9810
- }
9811
- } catch (error2) {
9812
- captureException(error2);
9813
- }
9814
- return null;
9815
- }
9816
- function removeMismatchedOptionValues(nodeType, nodeTypeVersion, nodeParameterValues, updatedParameter) {
9817
- nodeType.properties.forEach((prop) => {
9818
- const displayOptions = prop.displayOptions;
9819
- if (!nodeParameterValues?.hasOwnProperty(prop.name) || !displayOptions || !prop.options) {
9820
- return;
9821
- }
9822
- const showCondition = displayOptions.show?.[updatedParameter.name];
9823
- const hideCondition = displayOptions.hide?.[updatedParameter.name];
9824
- if (showCondition === void 0 && hideCondition === void 0) {
9825
- return;
9826
- }
9827
- let hasValidOptions = true;
9828
- if (isINodePropertyCollectionList(prop.options) || isINodePropertiesList(prop.options)) {
9829
- hasValidOptions = Object.keys(nodeParameterValues).every(
9830
- (key) => (prop.options ?? []).find((option2) => option2.name === key) !== void 0
9831
- );
9832
- } else if (isINodePropertyOptionsList(prop.options)) {
9833
- hasValidOptions = !!prop.options.find(
9834
- (option2) => option2.value === nodeParameterValues[prop.name]
9835
- );
9836
- }
9837
- if (!hasValidOptions && displayParameter(nodeParameterValues, prop, { typeVersion: nodeTypeVersion }, nodeType)) {
9838
- unset(nodeParameterValues, prop.name);
9839
- }
9840
- });
9841
- }
9842
- function updateParameterByPath(parameterName, newValue, nodeParameters, nodeType, nodeTypeVersion) {
9843
- const parameterPath = parameterName.split(".").slice(1).join(".");
9844
- const parameterPathArray = parameterPath.match(/(.*)\[(\d+)\]$/);
9845
- if (newValue === void 0 && parameterPathArray !== null) {
9846
- const path = parameterPathArray[1];
9847
- const index = parameterPathArray[2];
9848
- const data = get$3(nodeParameters, path);
9849
- if (Array.isArray(data)) {
9850
- data.splice(parseInt(index, 10), 1);
9851
- set$3(nodeParameters, path, data);
9852
- }
9853
- } else {
9854
- if (newValue === void 0) {
9855
- unset(nodeParameters, parameterPath);
9856
- } else {
9857
- set$3(nodeParameters, parameterPath, newValue);
9858
- }
9859
- removeMismatchedOptionValues(nodeType, nodeTypeVersion, nodeParameters, {
9860
- name: parameterPath
9861
- });
9862
- }
9863
- return parameterPath;
9864
- }
9865
- function useNodeSettingsParameters() {
9866
- const workflowsStore = useWorkflowsStore();
9867
- const nodeTypesStore = useNodeTypesStore();
9868
- const telemetry = useTelemetry();
9869
- const nodeHelpers = useNodeHelpers();
9870
- const canvasOperations = useCanvasOperations();
9871
- const externalHooks = useExternalHooks();
9872
- const nodeValues = ref({
9873
- color: "#ff0000",
9874
- alwaysOutputData: false,
9875
- executeOnce: false,
9876
- notesInFlow: false,
9877
- onError: "stopWorkflow",
9878
- retryOnFail: false,
9879
- maxTries: 3,
9880
- waitBetweenTries: 1e3,
9881
- notes: "",
9882
- parameters: {}
9883
- });
9884
- function setValue(name, value) {
9885
- const nameParts = name.split(".");
9886
- let lastNamePart = nameParts.pop();
9887
- let isArray = false;
9888
- if (lastNamePart !== void 0 && lastNamePart.includes("[")) {
9889
- const lastNameParts = lastNamePart.match(/(.*)\[(\d+)\]$/);
9890
- if (lastNameParts) {
9891
- nameParts.push(lastNameParts[1]);
9892
- lastNamePart = lastNameParts[2];
9893
- isArray = true;
9894
- }
9895
- }
9896
- if (nameParts.length === 0) {
9897
- if (value === null) {
9898
- if (lastNamePart) {
9899
- const { [lastNamePart]: removedNodeValue, ...remainingNodeValues } = nodeValues.value;
9900
- nodeValues.value = remainingNodeValues;
9901
- }
9902
- } else {
9903
- nodeValues.value = {
9904
- ...nodeValues.value,
9905
- [lastNamePart]: value
9906
- };
9907
- }
9908
- } else {
9909
- if (value === null) {
9910
- let tempValue = get$3(nodeValues.value, nameParts.join("."));
9911
- if (lastNamePart && !Array.isArray(tempValue)) {
9912
- const { [lastNamePart]: removedNodeValue, ...remainingNodeValues } = tempValue;
9913
- tempValue = remainingNodeValues;
9914
- }
9915
- if (isArray && Array.isArray(tempValue) && tempValue.length === 0) {
9916
- lastNamePart = nameParts.pop();
9917
- tempValue = get$3(nodeValues.value, nameParts.join("."));
9918
- if (lastNamePart) {
9919
- const { [lastNamePart]: removedArrayNodeValue, ...remainingArrayNodeValues } = tempValue;
9920
- tempValue = remainingArrayNodeValues;
9921
- }
9922
- }
9923
- } else {
9924
- if (typeof value === "object") {
9925
- set$3(
9926
- get$3(nodeValues.value, nameParts.join(".")),
9927
- lastNamePart,
9928
- deepCopy(value)
9929
- );
9930
- } else {
9931
- set$3(
9932
- get$3(nodeValues.value, nameParts.join(".")),
9933
- lastNamePart,
9934
- value
9935
- );
9936
- }
9937
- }
9938
- }
9939
- nodeValues.value = { ...nodeValues.value };
9940
- }
9941
- function nameIsParameter(parameterData) {
9942
- return parameterData.name.startsWith("parameters.");
9943
- }
9944
- function updateNodeParameter(parameterData, newValue, node2, isToolNode) {
9945
- const nodeTypeDescription = nodeTypesStore.getNodeType(node2.type, node2.typeVersion);
9946
- if (!nodeTypeDescription) {
9947
- return;
9948
- }
9949
- let nodeParameters = getNodeParameters(
9950
- nodeTypeDescription.properties,
9951
- node2.parameters,
9952
- false,
9953
- false,
9954
- node2,
9955
- nodeTypeDescription
9956
- );
9957
- const oldNodeParameters = Object.assign({}, nodeParameters);
9958
- nodeParameters = deepCopy(nodeParameters);
9959
- const parameterPath = updateParameterByPath(
9960
- parameterData.name,
9961
- newValue,
9962
- nodeParameters,
9963
- nodeTypeDescription,
9964
- node2.typeVersion
9965
- );
9966
- nodeParameters = getNodeParameters(
9967
- nodeTypeDescription.properties,
9968
- nodeParameters,
9969
- true,
9970
- false,
9971
- node2,
9972
- nodeTypeDescription
9973
- );
9974
- if (isToolNode) {
9975
- const updatedDescription = getUpdatedToolDescription(
9976
- nodeTypeDescription,
9977
- nodeParameters,
9978
- node2.parameters
9979
- );
9980
- if (updatedDescription && nodeParameters) {
9981
- nodeParameters.toolDescription = updatedDescription;
9982
- }
9983
- }
9984
- if (isDefaultNodeName(node2.name, nodeTypeDescription, node2.parameters ?? {})) {
9985
- const newName = makeNodeName(nodeParameters ?? {}, nodeTypeDescription);
9986
- if (!node2.name.startsWith(newName)) {
9987
- setTimeout(async () => await canvasOperations.renameNode(node2.name, newName));
9988
- }
9989
- }
9990
- for (const [key, value] of Object.entries(nodeParameters)) {
9991
- if (value !== null && value !== void 0) {
9992
- setValue(`parameters.${key}`, value);
9993
- }
9994
- }
9995
- const updateInformation = {
9996
- name: node2.name,
9997
- value: nodeParameters
9998
- };
9999
- const connections2 = workflowsStore.allConnections;
10000
- const updatedConnections = updateDynamicConnections(node2, connections2, parameterData);
10001
- if (updatedConnections) {
10002
- workflowsStore.setConnections(updatedConnections, true);
10003
- }
10004
- workflowsStore.setNodeParameters(updateInformation);
10005
- void externalHooks.run("nodeSettings.valueChanged", {
10006
- parameterPath,
10007
- newValue,
10008
- parameters: nodeTypeDescription.properties,
10009
- oldNodeParameters
10010
- });
10011
- nodeHelpers.updateNodeParameterIssuesByName(node2.name);
10012
- nodeHelpers.updateNodeCredentialIssuesByName(node2.name);
10013
- telemetry.trackNodeParametersValuesChange(nodeTypeDescription.name, parameterData);
10014
- }
10015
- return {
10016
- nodeValues,
10017
- setValue,
10018
- updateParameterByPath,
10019
- updateNodeParameter,
10020
- nameIsParameter
10021
- };
10022
- }
10023
- const _hoisted_1$5 = { class: "header-side-menu" };
9733
+ const _hoisted_1$4 = { class: "header-side-menu" };
10024
9734
  const _hoisted_2$2 = {
10025
9735
  key: 2,
10026
9736
  class: "node-is-not-valid"
@@ -10258,7 +9968,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
10258
9968
  nodeHelpers.updateNodeParameterIssuesByName(_node.name);
10259
9969
  nodeHelpers.updateNodeCredentialIssuesByName(_node.name);
10260
9970
  }
10261
- } else if (nodeSettingsParameters.nameIsParameter(parameterData)) {
9971
+ } else if (nameIsParameter(parameterData)) {
10262
9972
  nodeSettingsParameters.updateNodeParameter(parameterData, newValue, _node, isToolNode.value);
10263
9973
  } else {
10264
9974
  nodeValues.value = {
@@ -10626,7 +10336,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
10626
10336
  key: 0,
10627
10337
  class: normalizeClass(_ctx.$style.header)
10628
10338
  }, [
10629
- createBaseVNode("div", _hoisted_1$5, [
10339
+ createBaseVNode("div", _hoisted_1$4, [
10630
10340
  node2.value ? (openBlock(), createBlock(_component_NodeTitle, {
10631
10341
  key: 0,
10632
10342
  class: "node-name",
@@ -10876,7 +10586,7 @@ const style0$m = {
10876
10586
  const cssModules$m = {
10877
10587
  "$style": style0$m
10878
10588
  };
10879
- const NodeSettings = /* @__PURE__ */ _export_sfc$1(_sfc_main$t, [["__cssModules", cssModules$m], ["__scopeId", "data-v-a75f342f"]]);
10589
+ const NodeSettings = /* @__PURE__ */ _export_sfc$1(_sfc_main$t, [["__cssModules", cssModules$m], ["__scopeId", "data-v-c8d3cd57"]]);
10880
10590
  const _sfc_main$s = /* @__PURE__ */ defineComponent({
10881
10591
  __name: "ExperimentalCanvasNodeSettings",
10882
10592
  props: {
@@ -11069,7 +10779,7 @@ const cssModules$l = {
11069
10779
  "$style": style0$l
11070
10780
  };
11071
10781
  const ExperimentalInPlaceNodeSettings = /* @__PURE__ */ _export_sfc$1(_sfc_main$r, [["__cssModules", cssModules$l]]);
11072
- const _hoisted_1$4 = ["data-test-id"];
10782
+ const _hoisted_1$3 = ["data-test-id"];
11073
10783
  const _sfc_main$q = /* @__PURE__ */ defineComponent({
11074
10784
  __name: "CanvasNodeDefault",
11075
10785
  emits: ["open:contextmenu", "activate"],
@@ -11219,7 +10929,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
11219
10929
  key: 2,
11220
10930
  class: normalizeClass(unref($style).statusIcons)
11221
10931
  }, null, 8, ["class"])) : createCommentVNode("", true)
11222
- ], 46, _hoisted_1$4));
10932
+ ], 46, _hoisted_1$3));
11223
10933
  };
11224
10934
  }
11225
10935
  });
@@ -12751,13 +12461,28 @@ const cssModules$j = {
12751
12461
  "$style": style0$j
12752
12462
  };
12753
12463
  const CanvasNodeStickyNote = /* @__PURE__ */ _export_sfc$1(_sfc_main$o, [["__cssModules", cssModules$j]]);
12754
- const _hoisted_1$3 = ["textContent"];
12755
12464
  const _sfc_main$n = /* @__PURE__ */ defineComponent({
12756
12465
  __name: "CanvasNodeAddNodes",
12757
12466
  setup(__props) {
12758
12467
  const nodeCreatorStore = useNodeCreatorStore();
12759
12468
  const i18n = useI18n();
12469
+ const settingsStore = useSettingsStore();
12470
+ const templatesStore = useTemplatesStore();
12760
12471
  const isTooltipVisible = ref(false);
12472
+ const templateRepository = computed(() => {
12473
+ if (templatesStore.hasCustomTemplatesHost) {
12474
+ return {
12475
+ to: { name: VIEWS.TEMPLATES }
12476
+ };
12477
+ }
12478
+ return {
12479
+ to: templatesStore.websiteTemplateRepositoryURL,
12480
+ target: "_blank"
12481
+ };
12482
+ });
12483
+ const templatesLinkEnabled = computed(() => {
12484
+ return isExtraTemplateLinksExperimentEnabled() && settingsStore.isTemplatesEnabled;
12485
+ });
12761
12486
  onMounted(() => {
12762
12487
  nodeViewEventBus.on("runWorkflowButton:mouseenter", onShowTooltip);
12763
12488
  nodeViewEventBus.on("runWorkflowButton:mouseleave", onHideTooltip);
@@ -12780,6 +12505,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
12780
12505
  return (_ctx, _cache) => {
12781
12506
  const _component_N8nIcon = N8nIcon;
12782
12507
  const _component_N8nTooltip = N8nTooltip;
12508
+ const _component_N8nLink = N8nLink;
12783
12509
  return openBlock(), createElementBlock("div", {
12784
12510
  ref: "container",
12785
12511
  class: normalizeClass(_ctx.$style.addNodes),
@@ -12811,16 +12537,31 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
12811
12537
  _: 1
12812
12538
  }, 8, ["visible", "disabled", "popper-class"]),
12813
12539
  createBaseVNode("p", {
12814
- class: normalizeClass(_ctx.$style.label),
12815
- textContent: toDisplayString(unref(i18n).baseText("nodeView.canvasAddButton.addFirstStep"))
12816
- }, null, 10, _hoisted_1$3)
12540
+ class: normalizeClass(_ctx.$style.label)
12541
+ }, [
12542
+ createTextVNode(toDisplayString(unref(i18n).baseText("nodeView.canvasAddButton.addFirstStep")) + " ", 1),
12543
+ templatesLinkEnabled.value ? (openBlock(), createBlock(_component_N8nLink, {
12544
+ key: 0,
12545
+ to: templateRepository.value.to,
12546
+ target: templateRepository.value.target,
12547
+ underline: true,
12548
+ size: "small",
12549
+ "data-test-id": "canvas-template-link",
12550
+ onClick: _cache[0] || (_cache[0] = ($event) => unref(trackTemplatesClick)(unref(TemplateClickSource).emptyWorkflowLink))
12551
+ }, {
12552
+ default: withCtx(() => [
12553
+ createTextVNode(toDisplayString(unref(i18n).baseText("nodeView.templateLink")), 1)
12554
+ ]),
12555
+ _: 1
12556
+ }, 8, ["to", "target"])) : createCommentVNode("", true)
12557
+ ], 2)
12817
12558
  ], 2);
12818
12559
  };
12819
12560
  }
12820
12561
  });
12821
- const addNodes = "_addNodes_kytyq_123";
12822
- const button$1 = "_button_kytyq_131";
12823
- const label$4 = "_label_kytyq_145";
12562
+ const addNodes = "_addNodes_164y0_123";
12563
+ const button$1 = "_button_164y0_131";
12564
+ const label$4 = "_label_164y0_145";
12824
12565
  const style0$i = {
12825
12566
  addNodes,
12826
12567
  button: button$1,
@@ -15910,16 +15651,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
15910
15651
  __name: "NodeView",
15911
15652
  setup(__props) {
15912
15653
  const LazyNodeCreation = defineAsyncComponent(
15913
- async () => await __vitePreload(() => import("./NodeCreation-DKbc91uY.js").then((n) => n.N), true ? __vite__mapDeps([0,1,2,3]) : void 0)
15654
+ async () => await __vitePreload(() => import("./NodeCreation-DCV9QVeh.js").then((n) => n.N), true ? __vite__mapDeps([0,1,2,3]) : void 0)
15914
15655
  );
15915
15656
  const LazyNodeDetailsView = defineAsyncComponent(
15916
- async () => await __vitePreload(() => import("./NodeDetailsView-CPVE5S8P.js"), true ? __vite__mapDeps([4,1,2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24]) : void 0)
15657
+ async () => await __vitePreload(() => import("./NodeDetailsView-D7qedYA0.js"), true ? __vite__mapDeps([4,1,2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24]) : void 0)
15917
15658
  );
15918
15659
  const LazyNodeDetailsViewV2 = defineAsyncComponent(
15919
- async () => await __vitePreload(() => import("./NodeDetailsViewV2-5pxsZwAo.js"), true ? __vite__mapDeps([25,1,2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,26]) : void 0)
15660
+ async () => await __vitePreload(() => import("./NodeDetailsViewV2-BAkPjDo5.js"), true ? __vite__mapDeps([25,1,2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,26]) : void 0)
15920
15661
  );
15921
15662
  const LazySetupWorkflowCredentialsButton = defineAsyncComponent(
15922
- async () => await __vitePreload(() => import("./SetupWorkflowCredentialsButton-Bj4rSqAV.js"), true ? __vite__mapDeps([27,1,2]) : void 0)
15663
+ async () => await __vitePreload(() => import("./SetupWorkflowCredentialsButton-ujybntOa.js"), true ? __vite__mapDeps([27,1,2]) : void 0)
15923
15664
  );
15924
15665
  const $style = useCssModule();
15925
15666
  const router = useRouter();