n8n-editor-ui 1.74.1 → 1.75.0

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 (93) hide show
  1. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-CRv-7oGl.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-CGrVAIIO.js} +1 -1
  2. package/dist/assets/{AuthView-DiVCkmJO.js → AuthView-ilZ0xRQe.js} +2 -2
  3. package/dist/assets/{CanvasChat-BMwaSHw5.js → CanvasChat-B3m7qTtB.js} +4 -4
  4. package/dist/assets/{CanvasControls-B3S4M5tk.js → CanvasControls-laNSmWAd.js} +1 -1
  5. package/dist/assets/{ChangePasswordView-DMNxdEvW.js → ChangePasswordView-DGXlOlVn.js} +3 -3
  6. package/dist/assets/CollectionParameter-CS9E8rhZ.js +4 -0
  7. package/dist/assets/{ConcurrentExecutionsHeader-Cz1SdK5W.js → ConcurrentExecutionsHeader-CDIlj36E.js} +19 -14
  8. package/dist/assets/{CredentialsView-DRWQyccW.css → CredentialsView-BAqjGrNq.css} +8 -11
  9. package/dist/assets/{CredentialsView-BdvSQS_L.js → CredentialsView-BqjdkWhh.js} +67 -21
  10. package/dist/assets/{ErrorView-pJv59Fp1.js → ErrorView--I-VVLk9.js} +1 -1
  11. package/dist/assets/{ExecutionsView-DizYSIgZ.js → ExecutionsView-BiSV7J9a.js} +9 -7
  12. package/dist/assets/{ExecutionsView-C0P3HAAt.css → ExecutionsView-CB1tvZfo.css} +2 -2
  13. package/dist/assets/{FileSaver.min-CYFZIcxk.js → FileSaver.min-LAx9vEXw.js} +1 -1
  14. package/dist/assets/{FixedCollectionParameter-C-azlgUa.js → FixedCollectionParameter-ByX4uXQc.js} +1 -1
  15. package/dist/assets/{ForgotMyPasswordView-DLg1bxUi.js → ForgotMyPasswordView-C-tewPwi.js} +3 -3
  16. package/dist/assets/{Logo-DN8dwlbz.js → Logo-CyDV6IUz.js} +1 -1
  17. package/dist/assets/{MainHeader-Dj7ade30.js → MainHeader-nG1530RP.js} +9 -9
  18. package/dist/assets/{MainSidebar-DlNj8GJy.js → MainSidebar-CF4s-Ouk.js} +85 -44
  19. package/dist/assets/{NodeCreation-ZBewl4bk.js → NodeCreation-De8juZ9k.js} +4 -4
  20. package/dist/assets/{NodeCreator-DdQP0uVg.js → NodeCreator-Cra3o41k.js} +5 -5
  21. package/dist/assets/{NodeViewSwitcher-Bdg8qofd.js → NodeViewSwitcher-BE3EzD3h.js} +70 -42
  22. package/dist/assets/{NodeViewSwitcher-UPCWvuIo.css → NodeViewSwitcher-CB1zkjni.css} +2 -2
  23. package/dist/assets/{ProjectCardBadge-pbI58Ond.js → ProjectCardBadge-CYEfBgU2.js} +15 -2
  24. package/dist/assets/{ProjectHeader-D7XYidpZ.js → ProjectHeader-DUhyXx1P.js} +1 -1
  25. package/dist/assets/{ProjectSettings-CXSvZq_1.js → ProjectSettings-DmPZa04c.js} +3 -4
  26. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-B8guxlKC.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-C0Zr49w5.js} +1 -1
  27. package/dist/assets/{ResourcesListLayout-BhSNEyun.js → ResourcesListLayout-BF7yHXTU.js} +21 -6
  28. package/dist/assets/{ResourcesListLayout-Dw1dU1aW.css → ResourcesListLayout-CJC-YvjD.css} +6 -6
  29. package/dist/assets/{RunDataJson-DyoK2r6Z.js → RunDataJson-D6kl_yU3.js} +15 -15
  30. package/dist/assets/{RunDataJsonActions-DmM5PsDX.js → RunDataJsonActions-CBSKVOkR.js} +2 -2
  31. package/dist/assets/{RunDataSearch-B9xsocwZ.js → RunDataSearch-C8ri_W9l.js} +1 -1
  32. package/dist/assets/{RunDataTable-iUS0fcZW.js → RunDataTable-fDrhEtER.js} +2 -2
  33. package/dist/assets/{SamlOnboarding-c9rXuzta.js → SamlOnboarding-B9rLeJiC.js} +3 -3
  34. package/dist/assets/{SettingsApiView-BbA8em4X.js → SettingsApiView-DYA_Z_Bm.js} +1 -1
  35. package/dist/assets/{SettingsCommunityNodesView-BUA0OLqR.js → SettingsCommunityNodesView-DWF5X20Q.js} +4 -4
  36. package/dist/assets/{SettingsExternalSecrets-Bp4-QTpk.js → SettingsExternalSecrets-D56h6u5r.js} +1 -1
  37. package/dist/assets/{SettingsLdapView-DAraUZwU.js → SettingsLdapView-tZze_vXh.js} +1 -1
  38. package/dist/assets/{SettingsLogStreamingView-DTgMc-WZ.js → SettingsLogStreamingView-Bw3FugIn.js} +1 -1
  39. package/dist/assets/{SettingsPersonalView-BDWzpO2x.js → SettingsPersonalView-BRXa1jDG.js} +1 -1
  40. package/dist/assets/{SettingsSourceControl-Dr974WK5.js → SettingsSourceControl-BBn_qSA4.js} +1 -1
  41. package/dist/assets/{SettingsSso-BxAzGPEO.js → SettingsSso-BJCIqJoE.js} +1 -1
  42. package/dist/assets/{SettingsUsageAndPlan-DXkQcpTq.js → SettingsUsageAndPlan-BLxfFlk9.js} +1 -1
  43. package/dist/assets/{SettingsUsersView-ioxWjgmR.js → SettingsUsersView-DgquKogH.js} +1 -1
  44. package/dist/assets/{SettingsView-B_btgRH4.js → SettingsView-geSqtBi5.js} +1 -1
  45. package/dist/assets/{SetupView-r9ZPGr7D.js → SetupView-BUnzDsGx.js} +3 -3
  46. package/dist/assets/{SetupWorkflowCredentialsButton-BQTw1Lni.js → SetupWorkflowCredentialsButton-OMbE5FVR.js} +1 -1
  47. package/dist/assets/{SetupWorkflowFromTemplateView-ChO-yyKZ.js → SetupWorkflowFromTemplateView-CDUDJkOD.js} +3 -3
  48. package/dist/assets/{SigninView-D7_W1amk.js → SigninView-BM3kNgaO.js} +3 -3
  49. package/dist/assets/{SignoutView-BvPOsQQ0.js → SignoutView-CpD96iu3.js} +1 -1
  50. package/dist/assets/{SignupView-Bf0vYlCQ.js → SignupView-BHirfE85.js} +3 -3
  51. package/dist/assets/{TemplateDetails-D-RiAVQD.js → TemplateDetails-CnvXukVX.js} +1 -1
  52. package/dist/assets/{TemplateList-DeJfbzYl.js → TemplateList-oSLDmMo9.js} +1 -1
  53. package/dist/assets/{TemplatesCollectionView-uSsfhIa9.js → TemplatesCollectionView-CoK7iBJV.js} +5 -5
  54. package/dist/assets/{TemplatesSearchView-DBbTV_xi.js → TemplatesSearchView-Cu2hXp49.js} +3 -3
  55. package/dist/assets/{TemplatesView-Qt03GfQO.js → TemplatesView-B0NINzN-.js} +1 -1
  56. package/dist/assets/{TemplatesWorkflowView-CLplrMA6.js → TemplatesWorkflowView-BQngHyNE.js} +5 -5
  57. package/dist/assets/{TestDefinitionEditView-CEfQepq8.js → TestDefinitionEditView-DQ1n3kAQ.js} +271 -225
  58. package/dist/assets/{TestDefinitionEditView-DM4tV2LS.css → TestDefinitionEditView-FI1GVbhl.css} +123 -93
  59. package/dist/assets/{TestDefinitionListView-6hn-gG-H.js → TestDefinitionListView-BnnmuS88.js} +65 -17
  60. package/dist/assets/{TestDefinitionListView-BD5_O4Fx.css → TestDefinitionListView-GsFM1AF9.css} +15 -9
  61. package/dist/assets/TestDefinitionRootView-D0gG8g0k.js +36 -0
  62. package/dist/assets/TestDefinitionRootView-K8b6hMi2.css +128 -0
  63. package/dist/assets/{VariablesView-BrXojLhD.js → VariablesView-CkD1CK7k.js} +2 -2
  64. package/dist/assets/{WorkerView-DwULN80E.js → WorkerView-Bm_msQwI.js} +5 -5
  65. package/dist/assets/{WorkflowActivator-Dm9xwqOB.js → WorkflowActivator-B5QyeA7d.js} +35 -3
  66. package/dist/assets/{WorkflowActivator-DQhm5t0U.css → WorkflowActivator-brtYjIty.css} +2 -2
  67. package/dist/assets/{WorkflowExecutionsInfoAccordion-B-Z0pyld.js → WorkflowExecutionsInfoAccordion-BYRGFbed.js} +1 -1
  68. package/dist/assets/{WorkflowExecutionsLandingPage-HJBYlJAc.js → WorkflowExecutionsLandingPage-DuWFInNH.js} +2 -2
  69. package/dist/assets/{WorkflowExecutionsPreview-nYDpKm_b.js → WorkflowExecutionsPreview-Bwo_dPzH.js} +5 -5
  70. package/dist/assets/{WorkflowExecutionsView-Chvs3FQ3.js → WorkflowExecutionsView-9Bir7Ax7.js} +9 -7
  71. package/dist/assets/{WorkflowExecutionsView-DEqJNNDZ.css → WorkflowExecutionsView-BUHtKz5M.css} +2 -2
  72. package/dist/assets/{WorkflowHistory-6MCJq0xa.js → WorkflowHistory-Cu1-T0_R.js} +3 -3
  73. package/dist/assets/{WorkflowOnboardingView-7WiSlKOU.js → WorkflowOnboardingView-D_PW4z5K.js} +1 -1
  74. package/dist/assets/{WorkflowPreview-Dw2NtUVX.js → WorkflowPreview-DMBM5zJ7.js} +1 -1
  75. package/dist/assets/{WorkflowsView-DXnpDXEX.js → WorkflowsView-DTJQfqt9.js} +7 -19
  76. package/dist/assets/{easyAiWorkflowUtils-BTWwHsY8.js → easyAiWorkflowUtils-oy6hZxJE.js} +1 -1
  77. package/dist/assets/{index-D0W-rAl_.js → index-DVhaXv7m.js} +6493 -1873
  78. package/dist/assets/{index-B7TFhNa2.css → index-DuAsyBNI.css} +266 -96
  79. package/dist/assets/{pushConnection.store-SZWXnCKb.js → pushConnection.store-nnc6AEL8.js} +1 -1
  80. package/dist/assets/{templateActions-DDtJe_-b.js → templateActions-BjByEL0H.js} +1 -1
  81. package/dist/assets/{useBugReporting-BGxycXGV.js → useBugReporting-Cgoz2JMv.js} +1 -1
  82. package/dist/assets/{useCanvasOperations-Byu1Z5ea.css → useCanvasOperations-BSKKylIT.css} +4 -4
  83. package/dist/assets/{useCanvasOperations-BsWyQUek.js → useCanvasOperations-CZCbgXks.js} +68 -42
  84. package/dist/assets/{useExecutionDebugging-CB_jUGyC.js → useExecutionDebugging-Czm5h-sB.js} +1 -1
  85. package/dist/assets/{useExecutionHelpers-COwnTHmy.js → useExecutionHelpers-qeNSBls3.js} +1 -1
  86. package/dist/assets/{useNodeViewVersionSwitcher-C8AkOtTL.js → useNodeViewVersionSwitcher-Z6V-jW5s.js} +1 -1
  87. package/dist/assets/{usePinnedData-872bXiu-.js → usePinnedData-9d5rr-Ll.js} +1 -1
  88. package/dist/assets/{usePushConnection-CXpJRez7.js → usePushConnection-C5MO_Lyn.js} +40 -12
  89. package/dist/assets/{useRunWorkflow-u9KNHrnZ.js → useRunWorkflow-BeM5B2jX.js} +4 -8
  90. package/dist/assets/{useWorkflowActivate-D8Du1iYk.js → useWorkflowActivate-CAW-Lrw6.js} +1 -1
  91. package/dist/index.html +2 -2
  92. package/package.json +1 -1
  93. package/dist/assets/CollectionParameter-Cmdh94LV.js +0 -4
@@ -1,6 +1,6 @@
1
- import { gf as createCompounder, gg as SetCache, gh as arrayIncludes, gi as cacheHas, gj as baseRest, gk as isArrayLikeObject, gl as baseFlatten, r as ref, K as useUIStore, bn as useNodeTypesStore, T as useWorkflowsStore, a0 as useSourceControlStore, q as computed, am as getResourcePermissions, cR as isPresent, H as watch, dz as getMousePosition$1, aC as STICKY_NODE_TYPE, g as useI18n, gm as NOT_DUPLICATABLE_NODE_TYPES, d as defineComponent, E as onClickOutside, l as unref, c as openBlock, e as createBlock, j as createBaseVNode, i as createVNode, w as withCtx, n as normalizeClass, gn as N8nActionDropdown, B as normalizeStyle, go as Teleport, f as createCommentVNode, _ as _export_sfc$1, bj as v4, gp as CORE_NODES_CATEGORY, gq as DEFAULT_SUBCATEGORY, p as useSettingsStore, gr as AI_TRANSFORM_NODE_TYPE, gs as sublimeSearch, b9 as AI_SUBCATEGORY, ba as AI_CATEGORY_AGENTS, gt as sortBy, fN as i18n, gu as AI_CATEGORY_OTHER_TOOLS, gv as AI_OTHERS_NODE_CREATOR_VIEW, gw as AI_CATEGORY_DOCUMENT_LOADERS, bg as NodeConnectionType, gx as AI_CATEGORY_LANGUAGE_MODELS, gy as AI_CATEGORY_MEMORY, gz as AI_CATEGORY_OUTPUTPARSER, gA as AI_CATEGORY_RETRIEVERS, gB as AI_CATEGORY_TEXT_SPLITTERS, gC as AI_CATEGORY_TOOLS, gD as AI_WORKFLOW_TOOL_LANGCHAIN_NODE_TYPE, gE as AI_CODE_TOOL_LANGCHAIN_NODE_TYPE, gF as AI_CATEGORY_EMBEDDING, gG as AI_CATEGORY_VECTOR_STORES, gH as AI_UNCATEGORIZED_CATEGORY, aL as useTemplatesStore, eo as AI_NODE_CREATOR_VIEW, dP as TRIGGER_NODE_CREATOR_VIEW, bH as MANUAL_TRIGGER_NODE_TYPE, bI as WEBHOOK_NODE_TYPE, gI as EMAIL_IMAP_NODE_TYPE, gJ as SCHEDULE_TRIGGER_NODE_TYPE, bx as FORM_TRIGGER_NODE_TYPE, g0 as EXECUTE_WORKFLOW_TRIGGER_NODE_TYPE, b6 as CHAT_TRIGGER_NODE_TYPE, gK as OTHER_TRIGGER_NODES_SUBCATEGORY, eH as REGULAR_NODE_CREATOR_VIEW, gL as RSS_READ_NODE_TYPE, gM as EMAIL_SEND_NODE_TYPE, gN as TRANSFORM_DATA_SUBCATEGORY, gO as FILTER_NODE_TYPE, gP as REMOVE_DUPLICATES_NODE_TYPE, gQ as SPLIT_OUT_NODE_TYPE, gR as LIMIT_NODE_TYPE, gS as SUMMARIZE_NODE_TYPE, gT as AGGREGATE_NODE_TYPE, gU as MERGE_NODE_TYPE, cn as HTML_NODE_TYPE, gV as MARKDOWN_NODE_TYPE, gW as XML_NODE_TYPE, gX as CRYPTO_NODE_TYPE, gY as EXTRACT_FROM_FILE_NODE_TYPE, gZ as CONVERT_TO_FILE_NODE_TYPE, g_ as COMPRESSION_NODE_TYPE, g$ as EDIT_IMAGE_NODE_TYPE, h0 as FLOWS_CONTROL_SUBCATEGORY, h1 as IF_NODE_TYPE, h2 as SPLIT_IN_BATCHES_NODE_TYPE, h3 as HELPERS_SUBCATEGORY, h4 as HTTP_REQUEST_NODE_TYPE, h5 as CODE_NODE_TYPE, bb as AI_CATEGORY_CHAINS, h6 as SET_NODE_TYPE, h7 as DATETIME_NODE_TYPE, R as defineStore, $ as useCanvasStore, h8 as AI_CATEGORY_ROOT_NODES, y as nextTick, bc as AI_CODE_NODE_TYPE, bJ as AI_TRANSFORM_NODE_TYPE$1, eQ as CanvasConnectionMode, h9 as isValidCanvasConnectionMode, d7 as isValidNodeConnectionType, S as STORES, at as useNDVStore, dE as NODE_CREATOR_OPEN_SOURCES, ha as isVueFlowConnection, d$ as nodeConnectionTypes, bd as getNodeInputs, dp as CUSTOM_API_CALL_KEY, aS as useExternalHooks, ak as useTelemetry, hb as effectScope, ci as toRef, h as createElementBlock, s as renderSlot, c9 as useSlots, bp as provide, b3 as onUnmounted, ax as onBeforeMount, o as onMounted, hc as createPropsRestProxy, hd as useAttrs, F as Fragment, d5 as getCurrentInstance, dy as reactive, aV as inject, t as toDisplayString, A as renderList, x as onBeforeUnmount, he as isMemoSame, hf as getCurrentScope, hg as onScopeDispose, aW as isRef, aX as toRefs$1, hh as customRef, hi as toValue$1, a$ as resolveDynamicComponent, k as createTextVNode, a_ as mergeProps, m as resolveComponent, aq as h, hj as markRaw, hk as readonly, dD as KeyboardShortcutTooltip, hl as CanvasKey, aa as useCssModule, bm as watchEffect, aY as normalizeProps, hm as CanvasNodeKey, eN as CanvasNodeRenderType, hn as refThrottled, ho as mergeModels, hp as useModel, bo as useNodeHelpers, bG as TitledList, cO as resolveDirective, ay as withDirectives, ac as nodeViewEventBus, hq as CanvasNodeHandleKey, az as vShow, cZ as Transition$2, bq as _sfc_main$y, I as withModifiers, C as createEventBus, bO as isEqual, hr as useActiveElement, d0 as useDeviceSupport, hs as useEventListener$1, aR as createSlots, dk as GRID_SIZE, ht as onKeyDown, hu as onKeyUp, c8 as useThrottleFn, aZ as guardReactiveProps, cq as Suspense, bf as getNodeOutputs, c$ as getTriggerNodeServiceName, eW as sanitizeHtml, bF as nodeIssuesToString, ds as WAIT_NODE_TYPE, dt as SEND_AND_WAIT_OPERATION, du as FORM_NODE_TYPE, dv as WAIT_INDEFINITELY, Z as useRootStore, bQ as useCredentialsStore, bT as useHistoryStore, D as useTagsStore, au as useExecutionsStore, a as useToast, a4 as useWorkflowHelpers, b5 as useClipboard, dS as MoveNodeCommand, c2 as RenameNodeCommand, eL as RemoveNodeCommand, eJ as useDataSchema, dZ as NODE_SIZE, hv as AddNodeCommand, b_ as getNodeParameters, dU as getNewNodePosition, hw as DEFAULT_NODE_SIZE, hx as CONFIGURATION_NODE_SIZE, be as getConnectionTypes, d_ as generateOffsets, hy as CONFIGURABLE_NODE_SIZE, dY as PUSH_NODES_OFFSET, e8 as AddConnectionCommand, ei as RemoveConnectionCommand, dT as UPDATE_WEBHOOK_ID_NODE_TYPES, dN as generateNodesGraph, a8 as EnterpriseEditionFeature, b$ as deepCopy } from "./index-D0W-rAl_.js";
2
- import { u as useBugReporting } from "./useBugReporting-BGxycXGV.js";
3
- import { c as capitalize, u as usePinnedData } from "./usePinnedData-872bXiu-.js";
1
+ import { gj as createCompounder, gk as SetCache, gl as arrayIncludes, gm as cacheHas, gn as baseRest, go as isArrayLikeObject, gp as baseFlatten, r as ref, K as useUIStore, bp as useNodeTypesStore, T as useWorkflowsStore, a0 as useSourceControlStore, q as computed, am as getResourcePermissions, cT as isPresent, H as watch, dB as getMousePosition$1, aC as STICKY_NODE_TYPE, g as useI18n, gq as NOT_DUPLICATABLE_NODE_TYPES, d as defineComponent, E as onClickOutside, l as unref, c as openBlock, e as createBlock, j as createBaseVNode, i as createVNode, w as withCtx, n as normalizeClass, gr as N8nActionDropdown, B as normalizeStyle, gs as Teleport, f as createCommentVNode, _ as _export_sfc$1, bl as v4, gt as CORE_NODES_CATEGORY, gu as DEFAULT_SUBCATEGORY, p as useSettingsStore, gv as AI_TRANSFORM_NODE_TYPE, gw as sublimeSearch, bb as AI_SUBCATEGORY, bc as AI_CATEGORY_AGENTS, gx as sortBy, fP as i18n, gy as AI_CATEGORY_OTHER_TOOLS, gz as AI_OTHERS_NODE_CREATOR_VIEW, gA as AI_CATEGORY_DOCUMENT_LOADERS, bi as NodeConnectionType, gB as AI_CATEGORY_LANGUAGE_MODELS, gC as AI_CATEGORY_MEMORY, gD as AI_CATEGORY_OUTPUTPARSER, gE as AI_CATEGORY_RETRIEVERS, gF as AI_CATEGORY_TEXT_SPLITTERS, gG as AI_CATEGORY_TOOLS, gH as AI_WORKFLOW_TOOL_LANGCHAIN_NODE_TYPE, gI as AI_CODE_TOOL_LANGCHAIN_NODE_TYPE, gJ as AI_CATEGORY_EMBEDDING, gK as AI_CATEGORY_VECTOR_STORES, gL as AI_UNCATEGORIZED_CATEGORY, aN as useTemplatesStore, eq as AI_NODE_CREATOR_VIEW, dR as TRIGGER_NODE_CREATOR_VIEW, bJ as MANUAL_TRIGGER_NODE_TYPE, bK as WEBHOOK_NODE_TYPE, gM as EMAIL_IMAP_NODE_TYPE, gN as SCHEDULE_TRIGGER_NODE_TYPE, bz as FORM_TRIGGER_NODE_TYPE, g4 as EXECUTE_WORKFLOW_TRIGGER_NODE_TYPE, b8 as CHAT_TRIGGER_NODE_TYPE, gO as OTHER_TRIGGER_NODES_SUBCATEGORY, eJ as REGULAR_NODE_CREATOR_VIEW, gP as RSS_READ_NODE_TYPE, gQ as EMAIL_SEND_NODE_TYPE, gR as TRANSFORM_DATA_SUBCATEGORY, gS as FILTER_NODE_TYPE, gT as REMOVE_DUPLICATES_NODE_TYPE, gU as SPLIT_OUT_NODE_TYPE, gV as LIMIT_NODE_TYPE, gW as SUMMARIZE_NODE_TYPE, gX as AGGREGATE_NODE_TYPE, gY as MERGE_NODE_TYPE, cp as HTML_NODE_TYPE, gZ as MARKDOWN_NODE_TYPE, g_ as XML_NODE_TYPE, g$ as CRYPTO_NODE_TYPE, h0 as EXTRACT_FROM_FILE_NODE_TYPE, h1 as CONVERT_TO_FILE_NODE_TYPE, h2 as COMPRESSION_NODE_TYPE, h3 as EDIT_IMAGE_NODE_TYPE, h4 as FLOWS_CONTROL_SUBCATEGORY, h5 as IF_NODE_TYPE, h6 as SPLIT_IN_BATCHES_NODE_TYPE, h7 as HELPERS_SUBCATEGORY, h8 as HTTP_REQUEST_NODE_TYPE, h9 as CODE_NODE_TYPE, bd as AI_CATEGORY_CHAINS, ha as SET_NODE_TYPE, hb as DATETIME_NODE_TYPE, R as defineStore, $ as useCanvasStore, hc as AI_CATEGORY_ROOT_NODES, y as nextTick, be as AI_CODE_NODE_TYPE, bL as AI_TRANSFORM_NODE_TYPE$1, eS as CanvasConnectionMode, hd as isValidCanvasConnectionMode, d9 as isValidNodeConnectionType, S as STORES, at as useNDVStore, dG as NODE_CREATOR_OPEN_SOURCES, he as isVueFlowConnection, e1 as nodeConnectionTypes, bf as getNodeInputs, dr as CUSTOM_API_CALL_KEY, aU as useExternalHooks, ak as useTelemetry, hf as effectScope, ck as toRef, h as createElementBlock, s as renderSlot, cb as useSlots, br as provide, b5 as onUnmounted, ax as onBeforeMount, o as onMounted, hg as createPropsRestProxy, hh as useAttrs, F as Fragment, d7 as getCurrentInstance, dA as reactive, aX as inject, t as toDisplayString, A as renderList, x as onBeforeUnmount, hi as isMemoSame, hj as getCurrentScope, hk as onScopeDispose, aY as isRef, aZ as toRefs$1, hl as customRef, hm as toValue$1, b1 as resolveDynamicComponent, k as createTextVNode, b0 as mergeProps, m as resolveComponent, aq as h, hn as markRaw, ho as readonly, dF as KeyboardShortcutTooltip, hp as CanvasKey, aa as useCssModule, bo as watchEffect, a_ as normalizeProps, hq as CanvasNodeKey, eP as CanvasNodeRenderType, hr as refThrottled, hs as mergeModels, ht as useModel, bq as useNodeHelpers, bI as TitledList, cQ as resolveDirective, ay as withDirectives, ac as nodeViewEventBus, hu as CanvasNodeHandleKey, az as vShow, c$ as Transition$2, bs as _sfc_main$y, I as withModifiers, C as createEventBus, bQ as isEqual, hv as useActiveElement, d2 as useDeviceSupport, hw as useEventListener$1, aT as createSlots, dm as GRID_SIZE, hx as onKeyDown, hy as onKeyUp, ca as useThrottleFn, a$ as guardReactiveProps, cs as Suspense, bh as getNodeOutputs, d1 as getTriggerNodeServiceName, eY as sanitizeHtml, bH as nodeIssuesToString, du as WAIT_NODE_TYPE, dv as SEND_AND_WAIT_OPERATION, dw as FORM_NODE_TYPE, dx as WAIT_INDEFINITELY, Z as useRootStore, bS as useCredentialsStore, bV as useHistoryStore, D as useTagsStore, au as useExecutionsStore, a as useToast, a4 as useWorkflowHelpers, b7 as useClipboard, dU as MoveNodeCommand, c4 as RenameNodeCommand, eN as RemoveNodeCommand, eL as useDataSchema, d$ as NODE_SIZE, hz as AddNodeCommand, c0 as getNodeParameters, dW as getNewNodePosition, hA as DEFAULT_NODE_SIZE, hB as CONFIGURATION_NODE_SIZE, bg as getConnectionTypes, e0 as generateOffsets, hC as CONFIGURABLE_NODE_SIZE, d_ as PUSH_NODES_OFFSET, ea as AddConnectionCommand, ek as RemoveConnectionCommand, dV as UPDATE_WEBHOOK_ID_NODE_TYPES, dP as generateNodesGraph, a8 as EnterpriseEditionFeature, c1 as deepCopy } from "./index-DVhaXv7m.js";
2
+ import { u as useBugReporting } from "./useBugReporting-Cgoz2JMv.js";
3
+ import { c as capitalize, u as usePinnedData } from "./usePinnedData-9d5rr-Ll.js";
4
4
  var camelCase = createCompounder(function(result, word, index) {
5
5
  word = word.toLowerCase();
6
6
  return result + (index ? capitalize(word) : word);
@@ -568,8 +568,9 @@ function AIView(_nodes) {
568
568
  const templatesStore = useTemplatesStore();
569
569
  const chainNodes = getAiNodesBySubcategory(nodeTypesStore.allLatestNodeTypes, AI_CATEGORY_CHAINS);
570
570
  const agentNodes = getAiNodesBySubcategory(nodeTypesStore.allLatestNodeTypes, AI_CATEGORY_AGENTS);
571
- const websiteCategoryURL = templatesStore.websiteTemplateRepositoryParameters;
572
- websiteCategoryURL.append("utm_user_role", "AdvancedAI");
571
+ const websiteCategoryURLParams = templatesStore.websiteTemplateRepositoryParameters;
572
+ websiteCategoryURLParams.append("utm_user_role", "AdvancedAI");
573
+ const websiteCategoryURL = templatesStore.constructTemplateRepositoryURL(websiteCategoryURLParams);
573
574
  return {
574
575
  value: AI_NODE_CREATOR_VIEW,
575
576
  title: i18n2.baseText("nodeCreator.aiPanel.aiNodes"),
@@ -583,7 +584,7 @@ function AIView(_nodes) {
583
584
  icon: "box-open",
584
585
  description: i18n2.baseText("nodeCreator.aiPanel.linkItem.description"),
585
586
  name: "ai_templates_root",
586
- url: websiteCategoryURL.toString(),
587
+ url: websiteCategoryURL,
587
588
  tag: {
588
589
  type: "info",
589
590
  text: i18n2.baseText("nodeCreator.triggerHelperPanel.manualTriggerTag")
@@ -10138,7 +10139,7 @@ const _sfc_main$8$1 = /* @__PURE__ */ defineComponent({
10138
10139
  }
10139
10140
  });
10140
10141
  const _hoisted_1$5$2 = ["id"];
10141
- const _hoisted_2$7 = ["id"];
10142
+ const _hoisted_2$8 = ["id"];
10142
10143
  const _hoisted_3$6 = ["id"];
10143
10144
  const __default__$7 = {
10144
10145
  name: "A11yDescriptions",
@@ -10157,7 +10158,7 @@ const _sfc_main$7$1 = /* @__PURE__ */ defineComponent({
10157
10158
  createBaseVNode("div", {
10158
10159
  id: `${unref(ARIA_EDGE_DESC_KEY)}-${unref(id2)}`,
10159
10160
  style: { "display": "none" }
10160
- }, " Press enter or space to select an edge. You can then press delete to remove it or press escape to cancel. ", 8, _hoisted_2$7),
10161
+ }, " Press enter or space to select an edge. You can then press delete to remove it or press escape to cancel. ", 8, _hoisted_2$8),
10161
10162
  !unref(disableKeyboardA11y) ? (openBlock(), createElementBlock("div", {
10162
10163
  key: 0,
10163
10164
  id: `${unref(ARIA_LIVE_MESSAGE)}-${unref(id2)}`,
@@ -11442,9 +11443,9 @@ const _hoisted_1$c = {
11442
11443
  xmlns: "http://www.w3.org/2000/svg",
11443
11444
  viewBox: "0 0 25 32"
11444
11445
  };
11445
- const _hoisted_2$6 = /* @__PURE__ */ createBaseVNode("path", { d: "M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 0 0 0 13.714v15.238A3.056 3.056 0 0 0 3.048 32h18.285a3.056 3.056 0 0 0 3.048-3.048V13.714a3.056 3.056 0 0 0-3.048-3.047zM12.19 24.533a3.056 3.056 0 0 1-3.047-3.047 3.056 3.056 0 0 1 3.047-3.048 3.056 3.056 0 0 1 3.048 3.048 3.056 3.056 0 0 1-3.048 3.047z" }, null, -1);
11446
+ const _hoisted_2$7 = /* @__PURE__ */ createBaseVNode("path", { d: "M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 0 0 0 13.714v15.238A3.056 3.056 0 0 0 3.048 32h18.285a3.056 3.056 0 0 0 3.048-3.048V13.714a3.056 3.056 0 0 0-3.048-3.047zM12.19 24.533a3.056 3.056 0 0 1-3.047-3.047 3.056 3.056 0 0 1 3.047-3.048 3.056 3.056 0 0 1 3.048 3.048 3.056 3.056 0 0 1-3.048 3.047z" }, null, -1);
11446
11447
  const _hoisted_3$5 = [
11447
- _hoisted_2$6
11448
+ _hoisted_2$7
11448
11449
  ];
11449
11450
  function render(_ctx, _cache) {
11450
11451
  return openBlock(), createElementBlock("svg", _hoisted_1$c, _hoisted_3$5);
@@ -14541,7 +14542,7 @@ const _sfc_main$1$2 = /* @__PURE__ */ defineComponent({
14541
14542
  }
14542
14543
  });
14543
14544
  const _hoisted_1$a = ["width", "height", "viewBox", "aria-labelledby"];
14544
- const _hoisted_2$5 = ["id"];
14545
+ const _hoisted_2$6 = ["id"];
14545
14546
  const _hoisted_3$3 = ["d", "fill", "stroke", "stroke-width"];
14546
14547
  const __default__$3 = {
14547
14548
  name: "MiniMap",
@@ -14728,7 +14729,7 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
14728
14729
  _ctx.ariaLabel ? (openBlock(), createElementBlock("title", {
14729
14730
  key: 0,
14730
14731
  id: `vue-flow__minimap-${unref(id2)}`
14731
- }, toDisplayString(_ctx.ariaLabel), 9, _hoisted_2$5)) : createCommentVNode("", true),
14732
+ }, toDisplayString(_ctx.ariaLabel), 9, _hoisted_2$6)) : createCommentVNode("", true),
14732
14733
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(getNodesInitialized), (node2) => {
14733
14734
  return openBlock(), createBlock(_sfc_main$1$2, {
14734
14735
  id: node2.id,
@@ -14843,7 +14844,7 @@ function useCanvasNode() {
14843
14844
  };
14844
14845
  }
14845
14846
  const _hoisted_1$9 = ["title"];
14846
- const _hoisted_2$4 = ["onClick"];
14847
+ const _hoisted_2$5 = ["onClick"];
14847
14848
  const _sfc_main$r = /* @__PURE__ */ defineComponent({
14848
14849
  __name: "CanvasNodeStickyColorSelector",
14849
14850
  props: {
@@ -14924,7 +14925,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
14924
14925
  renderOptions.value.color === color2 ? _ctx.$style.selected : ""
14925
14926
  ]),
14926
14927
  onClick: ($event) => changeColor(color2)
14927
- }, null, 10, _hoisted_2$4);
14928
+ }, null, 10, _hoisted_2$5);
14928
14929
  }), 128))
14929
14930
  ], 2)
14930
14931
  ]),
@@ -14970,7 +14971,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
14970
14971
  const { isExecuting } = useCanvas();
14971
14972
  const { isDisabled, render: render2 } = useCanvasNode();
14972
14973
  const nodeDisabledTitle = computed(() => {
14973
- return isDisabled.value ? i18n2.baseText("node.disable") : i18n2.baseText("node.enable");
14974
+ return isDisabled.value ? i18n2.baseText("node.enable") : i18n2.baseText("node.disable");
14974
14975
  });
14975
14976
  const isStickyColorSelectorOpen = ref(false);
14976
14977
  const isHovered = ref(false);
@@ -15115,7 +15116,7 @@ const cssModules$j = {
15115
15116
  };
15116
15117
  const __unplugin_components_3 = /* @__PURE__ */ _export_sfc$1(_sfc_main$p, [["__cssModules", cssModules$j]]);
15117
15118
  const _hoisted_1$8 = { key: 1 };
15118
- const _hoisted_2$3 = ["textContent"];
15119
+ const _hoisted_2$4 = ["textContent"];
15119
15120
  const _hoisted_3$2 = { key: 3 };
15120
15121
  const _sfc_main$o = /* @__PURE__ */ defineComponent({
15121
15122
  __name: "CanvasNodeStatusIcons",
@@ -15165,7 +15166,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
15165
15166
  content: withCtx(() => [
15166
15167
  createBaseVNode("div", {
15167
15168
  textContent: toDisplayString(unref(executionWaiting))
15168
- }, null, 8, _hoisted_2$3)
15169
+ }, null, 8, _hoisted_2$4)
15169
15170
  ]),
15170
15171
  default: withCtx(() => [
15171
15172
  createVNode(_component_FontAwesomeIcon, { icon: "clock" })
@@ -17198,7 +17199,7 @@ const cssModules$b = {
17198
17199
  };
17199
17200
  const CanvasHandleMainInput = /* @__PURE__ */ _export_sfc$1(_sfc_main$f, [["__cssModules", cssModules$b]]);
17200
17201
  const _hoisted_1$5 = ["viewBox"];
17201
- const _hoisted_2$2 = ["x1", "y1", "x2", "y2"];
17202
+ const _hoisted_2$3 = ["x1", "y1", "x2", "y2"];
17202
17203
  const _hoisted_3$1 = ["transform"];
17203
17204
  const _sfc_main$e = /* @__PURE__ */ defineComponent({
17204
17205
  __name: "CanvasHandlePlus",
@@ -17280,6 +17281,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
17280
17281
  }
17281
17282
  return (_ctx, _cache) => {
17282
17283
  return openBlock(), createElementBlock("svg", {
17284
+ "data-test-id": "canvas-handle-plus-wrapper",
17283
17285
  class: normalizeClass(classes.value),
17284
17286
  viewBox: `0 0 ${viewBox.value.width} ${viewBox.value.height}`,
17285
17287
  style: normalizeStyle(styles.value)
@@ -17292,8 +17294,9 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
17292
17294
  y2: linePosition.value[1][1],
17293
17295
  stroke: "var(--color-foreground-xdark)",
17294
17296
  "stroke-width": "2"
17295
- }, null, 10, _hoisted_2$2),
17297
+ }, null, 10, _hoisted_2$3),
17296
17298
  createBaseVNode("g", {
17299
+ "data-test-id": "canvas-handle-plus",
17297
17300
  class: normalizeClass([_ctx.$style.plus, _ctx.handleClasses, "clickable"]),
17298
17301
  transform: `translate(${plusPosition.value[0]}, ${plusPosition.value[1]})`,
17299
17302
  onClick
@@ -17426,7 +17429,6 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
17426
17429
  default: withCtx(() => [
17427
17430
  !unref(isConnected) && !unref(isReadOnly) ? withDirectives((openBlock(), createBlock(_component_CanvasHandlePlus, {
17428
17431
  key: 0,
17429
- "data-test-id": "canvas-handle-plus",
17430
17432
  "data-plus-type": plusType.value,
17431
17433
  "line-size": plusLineSize.value,
17432
17434
  "handle-classes": handleClasses$2,
@@ -17948,9 +17950,10 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
17948
17950
  "is-valid-connection": unref(isValidConnection),
17949
17951
  "data-node-name": data.value.name,
17950
17952
  "data-test-id": "canvas-node-output-handle",
17951
- "data-handle-index": source.index,
17953
+ "data-index": source.index,
17954
+ "data-connection-type": source.type,
17952
17955
  onAdd: onAdd2
17953
- }), null, 16, ["mode", "is-read-only", "is-valid-connection", "data-node-name", "data-handle-index"]);
17956
+ }), null, 16, ["mode", "is-read-only", "is-valid-connection", "data-node-name", "data-index", "data-connection-type"]);
17954
17957
  }), 128)),
17955
17958
  (openBlock(true), createElementBlock(Fragment, null, renderList(mappedInputs.value, (target2) => {
17956
17959
  return openBlock(), createBlock(CanvasHandleRenderer, mergeProps({
@@ -17961,10 +17964,11 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
17961
17964
  "is-read-only": readOnly.value,
17962
17965
  "is-valid-connection": unref(isValidConnection),
17963
17966
  "data-test-id": "canvas-node-input-handle",
17964
- "data-handle-index": target2.index,
17967
+ "data-index": target2.index,
17968
+ "data-connection-type": target2.type,
17965
17969
  "data-node-name": data.value.name,
17966
17970
  onAdd: onAdd2
17967
- }), null, 16, ["mode", "is-read-only", "is-valid-connection", "data-handle-index", "data-node-name"]);
17971
+ }), null, 16, ["mode", "is-read-only", "is-valid-connection", "data-index", "data-connection-type", "data-node-name"]);
17968
17972
  }), 128)),
17969
17973
  slots.toolbar ? renderSlot(_ctx.$slots, "toolbar", {
17970
17974
  key: 0,
@@ -18072,7 +18076,8 @@ const cssModules$2 = {
18072
18076
  "$style": style0$2
18073
18077
  };
18074
18078
  const CanvasEdgeToolbar = /* @__PURE__ */ _export_sfc$1(_sfc_main$6, [["__cssModules", cssModules$2]]);
18075
- const _hoisted_1$3 = ["data-source-node-name", "data-target-node-name", "data-edge-status"];
18079
+ const _hoisted_1$3 = ["data-source-node-name", "data-target-node-name"];
18080
+ const _hoisted_2$2 = ["data-source-node-name", "data-target-node-name", "data-edge-status"];
18076
18081
  const _sfc_main$5 = /* @__PURE__ */ defineComponent({
18077
18082
  __name: "CanvasEdge",
18078
18083
  props: {
@@ -18187,23 +18192,29 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
18187
18192
  }
18188
18193
  return (_ctx, _cache) => {
18189
18194
  return openBlock(), createElementBlock(Fragment, null, [
18190
- (openBlock(true), createElementBlock(Fragment, null, renderList(segments.value, (segment, index) => {
18191
- return openBlock(), createBlock(unref(_sfc_main$d$1), {
18192
- id: `${_ctx.id}-${index}`,
18193
- key: segment[0],
18194
- class: normalizeClass(edgeClasses.value),
18195
- style: normalizeStyle(edgeStyle.value),
18196
- path: segment[0],
18197
- "marker-end": _ctx.markerEnd,
18198
- "interaction-width": 40
18199
- }, null, 8, ["id", "class", "style", "path", "marker-end"]);
18200
- }), 128)),
18195
+ createBaseVNode("g", {
18196
+ "data-test-id": "edge",
18197
+ "data-source-node-name": data.value.source?.node,
18198
+ "data-target-node-name": data.value.target?.node
18199
+ }, [
18200
+ (openBlock(true), createElementBlock(Fragment, null, renderList(segments.value, (segment, index) => {
18201
+ return openBlock(), createBlock(unref(_sfc_main$d$1), {
18202
+ id: `${_ctx.id}-${index}`,
18203
+ key: segment[0],
18204
+ class: normalizeClass(edgeClasses.value),
18205
+ style: normalizeStyle(edgeStyle.value),
18206
+ path: segment[0],
18207
+ "marker-end": _ctx.markerEnd,
18208
+ "interaction-width": 40
18209
+ }, null, 8, ["id", "class", "style", "path", "marker-end"]);
18210
+ }), 128))
18211
+ ], 8, _hoisted_1$3),
18201
18212
  createVNode(unref(_sfc_main$3$1), null, {
18202
18213
  default: withCtx(() => [
18203
18214
  createBaseVNode("div", {
18204
- "data-test-id": "edge-label-wrapper",
18205
- "data-source-node-name": _ctx.sourceNode?.label,
18206
- "data-target-node-name": _ctx.targetNode?.label,
18215
+ "data-test-id": "edge-label",
18216
+ "data-source-node-name": data.value.source?.node,
18217
+ "data-target-node-name": data.value.target?.node,
18207
18218
  "data-edge-status": status2.value,
18208
18219
  style: normalizeStyle(edgeToolbarStyle.value),
18209
18220
  class: normalizeClass(edgeToolbarClasses.value),
@@ -18220,7 +18231,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
18220
18231
  style: normalizeStyle(edgeLabelStyle.value),
18221
18232
  class: normalizeClass(unref($style).edgeLabel)
18222
18233
  }, toDisplayString(_ctx.label), 7))
18223
- ], 46, _hoisted_1$3)
18234
+ ], 46, _hoisted_2$2)
18224
18235
  ]),
18225
18236
  _: 1
18226
18237
  })
@@ -18736,6 +18747,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
18736
18747
  function onNodeDragStop(event) {
18737
18748
  onUpdateNodesPosition(event.nodes.map(({ id: id2, position: position2 }) => ({ id: id2, position: position2 })));
18738
18749
  }
18750
+ function onNodeClick({ event, node: node2 }) {
18751
+ if (event.ctrlKey || event.metaKey || selectedNodes.value.length < 2) {
18752
+ return;
18753
+ }
18754
+ onSelectNodes({ ids: [node2.id] });
18755
+ }
18739
18756
  function onSelectionDragStop(event) {
18740
18757
  onUpdateNodesPosition(event.nodes.map(({ id: id2, position: position2 }) => ({ id: id2, position: position2 })));
18741
18758
  }
@@ -18898,6 +18915,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
18898
18915
  nodeIds: selectedNodeIds.value
18899
18916
  });
18900
18917
  }
18918
+ function onOpenSelectionContextMenu({ event }) {
18919
+ contextMenu2.open(event, {
18920
+ source: "canvas",
18921
+ nodeIds: selectedNodeIds.value
18922
+ });
18923
+ }
18901
18924
  function onOpenNodeContextMenu(id2, event, source) {
18902
18925
  if (selectedNodeIds.value.includes(id2)) {
18903
18926
  onOpenContextMenu(event);
@@ -19027,7 +19050,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
19027
19050
  onMoveStart: onPaneMoveStart,
19028
19051
  onMoveEnd: onPaneMoveEnd,
19029
19052
  onNodeDragStop,
19053
+ onNodeClick,
19030
19054
  onSelectionDragStop,
19055
+ onSelectionContextMenu: onOpenSelectionContextMenu,
19031
19056
  onDragover: onDragOver,
19032
19057
  onDrop
19033
19058
  }, {
@@ -19130,7 +19155,7 @@ const style0 = {
19130
19155
  const cssModules = {
19131
19156
  "$style": style0
19132
19157
  };
19133
- const __unplugin_components_0 = /* @__PURE__ */ _export_sfc$1(_sfc_main, [["__cssModules", cssModules], ["__scopeId", "data-v-62390b26"]]);
19158
+ const __unplugin_components_0 = /* @__PURE__ */ _export_sfc$1(_sfc_main, [["__cssModules", cssModules], ["__scopeId", "data-v-179da034"]]);
19134
19159
  function useCanvasMapping({
19135
19160
  nodes,
19136
19161
  connections,
@@ -19788,6 +19813,7 @@ function useCanvasOperations({ router }) {
19788
19813
  if (!node2) {
19789
19814
  return;
19790
19815
  }
19816
+ workflowsStore.setNodePristine(node2.name, false);
19791
19817
  setNodeActiveByName(node2.name);
19792
19818
  }
19793
19819
  function setNodeActiveByName(name) {
@@ -20873,7 +20899,7 @@ function useCanvasOperations({ router }) {
20873
20899
  }
20874
20900
  initializeWorkspace(data.workflowData);
20875
20901
  workflowsStore.setWorkflowExecutionData(data);
20876
- if (data.mode !== "manual") {
20902
+ if (!["manual", "evaluation"].includes(data.mode)) {
20877
20903
  workflowsStore.setWorkflowPinData({});
20878
20904
  }
20879
20905
  uiStore.stateIsDirty = false;
@@ -1,4 +1,4 @@
1
- import { b as useRouter, a as useToast, T as useWorkflowsStore, p as useSettingsStore, K as useUIStore, a5 as usePageRedirectionHelper, q as computed, a8 as EnterpriseEditionFeature, aq as h, eW as sanitizeHtml, ae as MODAL_CONFIRM, V as VIEWS, Z as useRootStore, f3 as isFullExecutionResponse, f4 as DEBUG_PAYWALL_MODAL_KEY, ak as useTelemetry, g as useI18n, al as useMessage } from "./index-D0W-rAl_.js";
1
+ import { b as useRouter, a as useToast, T as useWorkflowsStore, p as useSettingsStore, K as useUIStore, a5 as usePageRedirectionHelper, q as computed, a8 as EnterpriseEditionFeature, aq as h, eY as sanitizeHtml, ae as MODAL_CONFIRM, V as VIEWS, Z as useRootStore, f5 as isFullExecutionResponse, f6 as DEBUG_PAYWALL_MODAL_KEY, ak as useTelemetry, g as useI18n, al as useMessage } from "./index-DVhaXv7m.js";
2
2
  const useExecutionDebugging = () => {
3
3
  const telemetry = useTelemetry();
4
4
  const router = useRouter();
@@ -1,4 +1,4 @@
1
- import { ge as dateformat, b as useRouter, V as VIEWS, g as useI18n, ak as useTelemetry } from "./index-D0W-rAl_.js";
1
+ import { gi as dateformat, b as useRouter, V as VIEWS, g as useI18n, ak as useTelemetry } from "./index-DVhaXv7m.js";
2
2
  const convertToDisplayDateComponents = (fullDate) => {
3
3
  const mask = `d mmm${new Date(fullDate).getFullYear() === (/* @__PURE__ */ new Date()).getFullYear() ? "" : ", yyyy"}#HH:MM:ss`;
4
4
  const formattedDate = dateformat(fullDate, mask);
@@ -1,4 +1,4 @@
1
- import { K as useUIStore, $ as useCanvasStore, r as ref, q as computed, V as VIEWS, g as useI18n, at as useNDVStore, T as useWorkflowsStore, p as useSettingsStore, aw as useLocalStorage, ak as useTelemetry } from "./index-D0W-rAl_.js";
1
+ import { K as useUIStore, $ as useCanvasStore, r as ref, q as computed, V as VIEWS, g as useI18n, at as useNDVStore, T as useWorkflowsStore, p as useSettingsStore, aw as useLocalStorage, ak as useTelemetry } from "./index-DVhaXv7m.js";
2
2
  function useBeforeUnload({ route }) {
3
3
  const uiStore = useUIStore();
4
4
  const canvasStore = useCanvasStore();
@@ -1,4 +1,4 @@
1
- import { g5 as baseSlice, g6 as toString, bn as useNodeTypesStore, q as computed, l as unref, eI as isSubNodeType, Z as useRootStore, T as useWorkflowsStore, a as useToast, g7 as PIN_DATA_NODE_TYPES_DENYLIST, bf as getNodeOutputs, bg as NodeConnectionType, g8 as jsonStringify, g9 as toMegaBytes, ga as stringSizeInBytes, cg as jsonParse, g as useI18n, ak as useTelemetry, aS as useExternalHooks, eJ as useDataSchema, gb as MAX_PINNED_DATA_SIZE, gc as MAX_WORKFLOW_SIZE, gd as MAX_EXPECTED_REQUEST_SIZE } from "./index-D0W-rAl_.js";
1
+ import { g9 as baseSlice, ga as toString, bp as useNodeTypesStore, q as computed, l as unref, eK as isSubNodeType, Z as useRootStore, T as useWorkflowsStore, a as useToast, gb as PIN_DATA_NODE_TYPES_DENYLIST, bh as getNodeOutputs, bi as NodeConnectionType, gc as jsonStringify, gd as toMegaBytes, ge as stringSizeInBytes, ci as jsonParse, g as useI18n, ak as useTelemetry, aU as useExternalHooks, eL as useDataSchema, gf as MAX_PINNED_DATA_SIZE, gg as MAX_WORKFLOW_SIZE, gh as MAX_EXPECTED_REQUEST_SIZE } from "./index-DVhaXv7m.js";
2
2
  function castSlice(array, start, end) {
3
3
  var length = array.length;
4
4
  end = end === void 0 ? length : end;
@@ -1,6 +1,6 @@
1
- import { fX as makeRestApiRequest, R as defineStore, Z as useRootStore, d as defineComponent, cO as resolveDirective, c as openBlock, h as createElementBlock, ay as withDirectives, j as createBaseVNode, t as toDisplayString, l as unref, g as useI18n, a4 as useWorkflowHelpers, bo as useNodeHelpers, a as useToast, bQ as useCredentialsStore, bn as useNodeTypesStore, p as useSettingsStore, K as useUIStore, T as useWorkflowsStore, eT as useAssistantStore, av as usePostHog, r as ref, bS as AI_CREDITS_EXPERIMENT, fY as parse, fZ as codeNodeEditorEventBus, ag as WORKFLOW_SETTINGS_MODAL_KEY, dN as generateNodesGraph, aq as h, c$ as getTriggerNodeServiceName, aS as useExternalHooks, ak as useTelemetry, f_ as clearPopupWindowState } from "./index-D0W-rAl_.js";
2
- import { u as usePushConnectionStore, g as globalLinkActionsEventBus } from "./pushConnection.store-SZWXnCKb.js";
3
- import { g as getEasyAiWorkflowJson } from "./easyAiWorkflowUtils-BTWwHsY8.js";
1
+ import { fZ as makeRestApiRequest, R as defineStore, Z as useRootStore, d as defineComponent, cQ as resolveDirective, c as openBlock, h as createElementBlock, ay as withDirectives, j as createBaseVNode, t as toDisplayString, l as unref, g as useI18n, a4 as useWorkflowHelpers, bq as useNodeHelpers, a as useToast, bS as useCredentialsStore, bp as useNodeTypesStore, p as useSettingsStore, K as useUIStore, T as useWorkflowsStore, eV as useAssistantStore, av as usePostHog, r as ref, bU as AI_CREDITS_EXPERIMENT, f_ as parse, f$ as hasTrimmedItem, g0 as codeNodeEditorEventBus, ag as WORKFLOW_SETTINGS_MODAL_KEY, dP as generateNodesGraph, aq as h, d1 as getTriggerNodeServiceName, g1 as hasTrimmedData, aU as useExternalHooks, ak as useTelemetry, g2 as clearPopupWindowState } from "./index-DVhaXv7m.js";
2
+ import { u as usePushConnectionStore, g as globalLinkActionsEventBus } from "./pushConnection.store-nnc6AEL8.js";
3
+ import { g as getEasyAiWorkflowJson } from "./easyAiWorkflowUtils-oy6hZxJE.js";
4
4
  const GET_STATUS_ENDPOINT = "/orchestration/worker/status";
5
5
  const sendGetWorkerStatus = async (context) => {
6
6
  await makeRestApiRequest(context, "POST", GET_STATUS_ENDPOINT);
@@ -223,18 +223,41 @@ function usePushConnection({ router }) {
223
223
  }
224
224
  return false;
225
225
  }
226
+ let showedSuccessToast = false;
226
227
  let executionData;
227
228
  if (receivedData.type === "executionFinished" && receivedData.data.rawData) {
228
229
  const { workflowId, status, rawData } = receivedData.data;
229
230
  executionData = { workflowId, data: parse(rawData), status };
230
231
  } else {
231
- const execution = await workflowsStore.fetchExecutionDataById(executionId);
232
- if (!execution?.data) return false;
233
- executionData = {
234
- workflowId: execution.workflowId,
235
- data: parse(execution.data),
236
- status: execution.status
237
- };
232
+ uiStore.setProcessingExecutionResults(true);
233
+ if (receivedData.type === "executionFinished" && receivedData.data.status === "success") {
234
+ workflowHelpers.setDocumentTitle(
235
+ workflowsStore.getWorkflowById(receivedData.data.workflowId)?.name,
236
+ "IDLE"
237
+ );
238
+ uiStore.removeActiveAction("workflowRunning");
239
+ toast.showMessage({
240
+ title: i18n.baseText("pushConnection.workflowExecutedSuccessfully"),
241
+ type: "success"
242
+ });
243
+ showedSuccessToast = true;
244
+ }
245
+ let execution;
246
+ try {
247
+ execution = await workflowsStore.fetchExecutionDataById(executionId);
248
+ if (!execution?.data) {
249
+ uiStore.setProcessingExecutionResults(false);
250
+ return false;
251
+ }
252
+ executionData = {
253
+ workflowId: execution.workflowId,
254
+ data: parse(execution.data),
255
+ status: execution.status
256
+ };
257
+ } catch {
258
+ uiStore.setProcessingExecutionResults(false);
259
+ return false;
260
+ }
238
261
  }
239
262
  const iRunExecutionData = {
240
263
  startData: executionData.data?.startData,
@@ -245,10 +268,12 @@ function usePushConnection({ router }) {
245
268
  const activeRunData = workflowsStore.workflowExecutionData?.data?.resultData?.runData;
246
269
  if (activeRunData) {
247
270
  for (const key of Object.keys(activeRunData)) {
271
+ if (hasTrimmedItem(activeRunData[key])) continue;
248
272
  iRunExecutionData.resultData.runData[key] = activeRunData[key];
249
273
  }
250
274
  }
251
275
  }
276
+ uiStore.setProcessingExecutionResults(false);
252
277
  let runDataExecutedErrorMessage = getExecutionError(iRunExecutionData);
253
278
  if (executionData.status === "crashed") {
254
279
  runDataExecutedErrorMessage = i18n.baseText("pushConnection.executionFailed.message");
@@ -386,14 +411,14 @@ function usePushConnection({ router }) {
386
411
  type: "success"
387
412
  });
388
413
  }
389
- } else {
414
+ } else if (!showedSuccessToast) {
390
415
  toast.showMessage({
391
416
  title: i18n.baseText("pushConnection.workflowExecutedSuccessfully"),
392
417
  type: "success"
393
418
  });
394
419
  }
395
420
  }
396
- if (workflowsStore.getWorkflowRunData) {
421
+ if (workflowsStore.getWorkflowRunData && !hasTrimmedData(workflowsStore.getWorkflowRunData)) {
397
422
  iRunExecutionData.resultData.runData = workflowsStore.getWorkflowRunData;
398
423
  }
399
424
  workflowsStore.executingNode.length = 0;
@@ -421,6 +446,9 @@ function usePushConnection({ router }) {
421
446
  }
422
447
  } else if (receivedData.type === "nodeExecuteAfter") {
423
448
  const pushData = receivedData.data;
449
+ if (pushData.itemCount && pushData.data?.data?.main && Array.isArray(pushData.data.data.main[0]) && pushData.data.data.main[0].length < pushData.itemCount) {
450
+ pushData.data.data.main[0]?.push(...new Array(pushData.itemCount - 1).fill({ json: {} }));
451
+ }
424
452
  workflowsStore.updateNodeExecutionData(pushData);
425
453
  void assistantStore.onNodeExecution(pushData);
426
454
  } else if (receivedData.type === "nodeExecuteBefore") {
@@ -1,6 +1,6 @@
1
- import { cd as getDefaultExportFromCjs, d as defineComponent, b5 as useClipboard, a as useToast, eS as useAIAssistantHelpers, bn as useNodeTypesStore, at as useNDVStore, Z as useRootStore, eT as useAssistantStore, K as useUIStore, q as computed, c as openBlock, h as createElementBlock, j as createBaseVNode, t as toDisplayString, ay as withDirectives, f as createCommentVNode, i as createVNode, l as unref, eU as InlineAskAssistantButton, w as withCtx, k as createTextVNode, F as Fragment, A as renderList, g as useI18n, cm as MAX_DISPLAY_DATA_SIZE, br as isCommunityPackageName, eV as NEW_ASSISTANT_SESSION_MODAL, m as resolveComponent, cO as resolveDirective, eW as sanitizeHtml, bg as NodeConnectionType, eX as isObjectEmpty, r as ref, o as onMounted, n as normalizeClass, e as createBlock, b0 as VueMarkdown, _ as _export_sfc, T as useWorkflowsStore, bq as _sfc_main$4, I as withModifiers, H as watch, B as normalizeStyle, eY as ElTree, bo as useNodeHelpers, a4 as useWorkflowHelpers, au as useExecutionsStore, b6 as CHAT_TRIGGER_NODE_TYPE, bi as get, eZ as SINGLE_WEBHOOK_TRIGGERS, aw as useLocalStorage, e_ as displayForm, aS as useExternalHooks, cG as isEmpty } from "./index-D0W-rAl_.js";
2
- import { c as capitalize } from "./usePinnedData-872bXiu-.js";
3
- import { u as useExecutionHelpers } from "./useExecutionHelpers-COwnTHmy.js";
1
+ import { cf as getDefaultExportFromCjs, d as defineComponent, b7 as useClipboard, a as useToast, eU as useAIAssistantHelpers, bp as useNodeTypesStore, at as useNDVStore, Z as useRootStore, eV as useAssistantStore, K as useUIStore, q as computed, c as openBlock, h as createElementBlock, j as createBaseVNode, t as toDisplayString, ay as withDirectives, f as createCommentVNode, i as createVNode, l as unref, eW as InlineAskAssistantButton, w as withCtx, k as createTextVNode, F as Fragment, A as renderList, g as useI18n, co as MAX_DISPLAY_DATA_SIZE, bt as isCommunityPackageName, eX as NEW_ASSISTANT_SESSION_MODAL, m as resolveComponent, cQ as resolveDirective, eY as sanitizeHtml, bi as NodeConnectionType, eZ as isObjectEmpty, r as ref, o as onMounted, n as normalizeClass, e as createBlock, b2 as VueMarkdown, _ as _export_sfc, T as useWorkflowsStore, bs as _sfc_main$4, I as withModifiers, H as watch, B as normalizeStyle, e_ as ElTree, bq as useNodeHelpers, a4 as useWorkflowHelpers, au as useExecutionsStore, b8 as CHAT_TRIGGER_NODE_TYPE, bk as get, e$ as SINGLE_WEBHOOK_TRIGGERS, aw as useLocalStorage, f0 as displayForm, aU as useExternalHooks, cI as isEmpty } from "./index-DVhaXv7m.js";
2
+ import { c as capitalize } from "./usePinnedData-9d5rr-Ll.js";
3
+ import { u as useExecutionHelpers } from "./useExecutionHelpers-qeNSBls3.js";
4
4
  var core;
5
5
  var hasRequiredCore;
6
6
  function requireCore() {
@@ -2664,11 +2664,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
2664
2664
  icon: "external-link-alt",
2665
2665
  size: "xsmall"
2666
2666
  }),
2667
- createTextVNode(" " + toDisplayString(unref(i18n).baseText("runData.openSubExecutionWithId", {
2668
- interpolate: {
2669
- id: runMeta.value.subExecution?.executionId
2670
- }
2671
- })), 1)
2667
+ createTextVNode(" " + toDisplayString(unref(i18n).baseText("runData.openSubExecutionSingle")), 1)
2672
2668
  ], 8, _hoisted_4)
2673
2669
  ])) : createCommentVNode("", true),
2674
2670
  (consumedTokensSum.value?.totalTokens ?? 0) > 0 ? (openBlock(), createElementBlock("li", {
@@ -1,4 +1,4 @@
1
- import { r as ref, b as useRouter, a4 as useWorkflowHelpers, T as useWorkflowsStore, K as useUIStore, a as useToast, a2 as useNpsSurveyStore, X as PLACEHOLDER_EMPTY_WORKFLOW_ID, aS as useExternalHooks, aI as useStorage, g2 as LOCAL_STORAGE_ACTIVATION_FLAG, g3 as WORKFLOW_ACTIVE_MODAL_KEY, ak as useTelemetry, g as useI18n } from "./index-D0W-rAl_.js";
1
+ import { r as ref, b as useRouter, a4 as useWorkflowHelpers, T as useWorkflowsStore, K as useUIStore, a as useToast, a2 as useNpsSurveyStore, X as PLACEHOLDER_EMPTY_WORKFLOW_ID, aU as useExternalHooks, aK as useStorage, g6 as LOCAL_STORAGE_ACTIVATION_FLAG, g7 as WORKFLOW_ACTIVE_MODAL_KEY, ak as useTelemetry, g as useI18n } from "./index-DVhaXv7m.js";
2
2
  function useWorkflowActivate() {
3
3
  const updatingWorkflowActivation = ref(false);
4
4
  const router = useRouter();
package/dist/index.html CHANGED
@@ -16,8 +16,8 @@
16
16
  <script>!function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.async=!0,p.src=s.api_host+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="capture identify alias people.set people.set_once set_config register register_once unregister opt_out_capturing has_opted_out_capturing opt_in_capturing reset isFeatureEnabled getFeatureFlag onFeatureFlags reloadFeatureFlags".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[])</script>
17
17
 
18
18
  <title>n8n.io - Workflow Automation</title>
19
- <script type="module" crossorigin src="/{{BASE_PATH}}/assets/index-D0W-rAl_.js"></script>
20
- <link rel="stylesheet" crossorigin href="/{{BASE_PATH}}/assets/index-B7TFhNa2.css">
19
+ <script type="module" crossorigin src="/{{BASE_PATH}}/assets/index-DVhaXv7m.js"></script>
20
+ <link rel="stylesheet" crossorigin href="/{{BASE_PATH}}/assets/index-DuAsyBNI.css">
21
21
  </head>
22
22
  <body>
23
23
  <noscript>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-editor-ui",
3
- "version": "1.74.1",
3
+ "version": "1.75.0",
4
4
  "description": "Workflow Editor UI for n8n",
5
5
  "main": "index.js",
6
6
  "license": "SEE LICENSE IN LICENSE.md",
@@ -1,4 +0,0 @@
1
- import { i7 as _sfc_main } from "./index-D0W-rAl_.js";
2
- export {
3
- _sfc_main as default
4
- };