n8n-editor-ui 1.85.1 → 1.86.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 (101) hide show
  1. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-DrqkIVnu.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-DofUIs9S.js} +1 -1
  2. package/dist/assets/{AuthView-Dr5rONBJ.js → AuthView-CyY2quTd.js} +2 -2
  3. package/dist/assets/{CanvasChatSwitch-KHakeUZr.js → CanvasChatSwitch-BTInPgKl.js} +413 -99
  4. package/dist/assets/{CanvasChatSwitch-BcSDHC-c.css → CanvasChatSwitch-CRtE2Fld.css} +284 -46
  5. package/dist/assets/{ChangePasswordView-nboaqw83.js → ChangePasswordView-Db-MkXhZ.js} +3 -3
  6. package/dist/assets/CollectionParameter-BD3jmKi_.js +4 -0
  7. package/dist/assets/{CredentialsView-Dz4nfk1f.js → CredentialsView-CLr_6U2B.js} +6 -6
  8. package/dist/assets/{ErrorView-NNkncv05.js → ErrorView-CUS5vnCW.js} +1 -1
  9. package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-CRWcQqp0.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-D15zjPBZ.js} +2 -2
  10. package/dist/assets/{ExecutionsView-DBrozEb_.js → ExecutionsView-1df-oH5P.js} +8 -8
  11. package/dist/assets/{ExecutionsView-JCKikuIS.css → ExecutionsView-BnBpSqVn.css} +2 -2
  12. package/dist/assets/{FileSaver.min-CH9W7aQx.js → FileSaver.min-DLKMtSuf.js} +1 -1
  13. package/dist/assets/{FixedCollectionParameter-C4mulUvT.js → FixedCollectionParameter-CcqTLBeP.js} +1 -1
  14. package/dist/assets/{ForgotMyPasswordView-Di4MSlMs.js → ForgotMyPasswordView-BHRWkO2H.js} +3 -3
  15. package/dist/assets/{useOverview-C8mSc1uX.js → InsightsSummary-CyilLKXz.js} +5 -14
  16. package/dist/assets/{Logo-B7J8RW26.js → Logo-DbXTFYA8.js} +1 -1
  17. package/dist/assets/{MainHeader-CtvSBfpo.js → MainHeader-BfQR9Td3.js} +10 -10
  18. package/dist/assets/{MainSidebar-DsEI7EAh.js → MainSidebar-CDUegYGN.js} +2 -4
  19. package/dist/assets/{NodeCreation-BxJhTqFb.js → NodeCreation-BBXRRxZa.js} +4 -4
  20. package/dist/assets/{NodeCreator-IiXwtAjo.js → NodeCreator-BiyvtIjb.js} +10 -26
  21. package/dist/assets/{NodeDetailsView-C1z3N5z_.css → NodeDetailsView-BcVu3kf0.css} +2 -2
  22. package/dist/assets/{NodeDetailsView-DUaaykvi.js → NodeDetailsView-Ph7FVpa8.js} +21 -18
  23. package/dist/assets/{NodeView-SJePfWTh.js → NodeView-BEJ48TF4.js} +18 -49
  24. package/dist/assets/{ProjectCardBadge-BiNKaCmD.js → ProjectCardBadge-B7cCM6Eo.js} +69 -36
  25. package/dist/assets/{ProjectCardBadge-C78ap7Rc.css → ProjectCardBadge-t3v64i1e.css} +18 -13
  26. package/dist/assets/{ProjectHeader-CyLw5s53.js → ProjectHeader-BjPaep-H.js} +33 -7
  27. package/dist/assets/{ProjectHeader-B-a6_GH6.css → ProjectHeader-BsBpG-Mj.css} +7 -7
  28. package/dist/assets/{ProjectSettings-DWDPCOgu.js → ProjectSettings-C1By1g0Z.js} +3 -3
  29. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-Cc6mPRv6.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-UHiXbqwy.js} +2 -2
  30. package/dist/assets/{ResourcesListLayout-D3QxB6Mt.js → ResourcesListLayout-CiiXWGd5.js} +1 -1
  31. package/dist/assets/{RunDataAi-BtLQbSfL.js → RunDataAi-CQE0VYut.js} +115 -72
  32. package/dist/assets/{RunDataJson-Dq5WcTmp.js → RunDataJson-BY9cOxFp.js} +12 -12
  33. package/dist/assets/{RunDataJsonActions-CTPgZ_Ap.js → RunDataJsonActions-CuFjccfe.js} +2 -2
  34. package/dist/assets/{RunDataSearch-Dhj2W7Uo.js → RunDataSearch-afEc-21Y.js} +1 -1
  35. package/dist/assets/{RunDataTable-7bn1EkU7.js → RunDataTable-N6yWFXKt.js} +2 -2
  36. package/dist/assets/{SamlOnboarding-D1PM8HAM.js → SamlOnboarding-HDQzVmha.js} +3 -3
  37. package/dist/assets/{SettingsApiView-5hGK32Zv.js → SettingsApiView-DQMZT3uc.js} +1 -1
  38. package/dist/assets/{SettingsCommunityNodesView-cgiOdmlI.js → SettingsCommunityNodesView-BlQT_0E8.js} +5 -5
  39. package/dist/assets/{SettingsExternalSecrets-BzRxl3F3.js → SettingsExternalSecrets-BL_3qoNS.js} +1 -1
  40. package/dist/assets/{SettingsLdapView-EKueQ2CB.js → SettingsLdapView-BMsfXg-A.js} +1 -1
  41. package/dist/assets/{SettingsLogStreamingView-BtKQsZkR.js → SettingsLogStreamingView-Bm5vaSO2.js} +1 -1
  42. package/dist/assets/{SettingsPersonalView-tM84kaF9.js → SettingsPersonalView-Djl1VXnE.js} +2 -2
  43. package/dist/assets/{SettingsSourceControl-CzoIPnXf.js → SettingsSourceControl-A-9nD8hG.js} +1 -1
  44. package/dist/assets/{SettingsSso-Bp6l5AlD.js → SettingsSso-DZCscZY6.js} +1 -1
  45. package/dist/assets/{SettingsUsageAndPlan-fPYKlrNm.js → SettingsUsageAndPlan-Rd5AGlNl.js} +1 -1
  46. package/dist/assets/{SettingsUsersView-Dcmef7Ov.js → SettingsUsersView-NEahsGVs.js} +1 -1
  47. package/dist/assets/{SettingsView-CE7pqxNy.js → SettingsView-CeXAUGXE.js} +1 -1
  48. package/dist/assets/{SetupView-oDFJN3je.js → SetupView-BI7oJfg0.js} +3 -3
  49. package/dist/assets/{SetupWorkflowCredentialsButton-C8VmrRKt.js → SetupWorkflowCredentialsButton-DMZX1S1F.js} +1 -1
  50. package/dist/assets/{SetupWorkflowFromTemplateView-B01aWC7Z.js → SetupWorkflowFromTemplateView-DZsPVdhN.js} +3 -3
  51. package/dist/assets/{SigninView-BOEnSofB.js → SigninView-CzVnEKyz.js} +3 -3
  52. package/dist/assets/{SignoutView-DR8Sm3bw.js → SignoutView-C4ynr4AN.js} +1 -1
  53. package/dist/assets/{SignupView-BvtcynJk.js → SignupView-9nwGonm9.js} +3 -3
  54. package/dist/assets/{TemplateDetails-y8AXGWbs.js → TemplateDetails-DT1tI4AF.js} +1 -1
  55. package/dist/assets/{TemplateList-D-1dO4Eq.js → TemplateList-DGPm_Qol.js} +1 -1
  56. package/dist/assets/{TemplatesCollectionView-ClzAzyXF.js → TemplatesCollectionView-DwXY5s5G.js} +5 -5
  57. package/dist/assets/{TemplatesSearchView-CmiSgpTu.js → TemplatesSearchView-D0R7uF40.js} +3 -3
  58. package/dist/assets/{TemplatesView-CyBLc8qH.js → TemplatesView-BZ-ntkfi.js} +1 -1
  59. package/dist/assets/{TemplatesWorkflowView-3W3FI7bJ.js → TemplatesWorkflowView-TwVAHvD7.js} +5 -5
  60. package/dist/assets/{TestDefinitionEditView-BXhOuJrU.css → TestDefinitionEditView-C3nnWQ4Q.css} +0 -125
  61. package/dist/assets/{TestDefinitionEditView-BnNPA8Y7.js → TestDefinitionEditView-o2Gc4BjN.js} +23 -139
  62. package/dist/assets/{TestDefinitionListView-CKxRJzbr.js → TestDefinitionListView-BuUWjPAl.js} +1 -1
  63. package/dist/assets/{TestDefinitionNewView-BwxuCFrb.js → TestDefinitionNewView-DmSFNxfn.js} +2 -2
  64. package/dist/assets/{TestDefinitionRootView-XxqAJ8by.js → TestDefinitionRootView-1dNmGZUI.js} +1 -1
  65. package/dist/assets/{VariablesView-Jmww_g5c.js → VariablesView-D46tH9pw.js} +3 -3
  66. package/dist/assets/{WorkerView-B6RZF_3e.js → WorkerView-G0K849qT.js} +7 -7
  67. package/dist/assets/{WorkflowActivator-1S83wg3m.js → WorkflowActivator-DfalOPsa.js} +2 -2
  68. package/dist/assets/{WorkflowExecutionsInfoAccordion-DyYf5xnM.js → WorkflowExecutionsInfoAccordion-BcD7ZskD.js} +1 -1
  69. package/dist/assets/{WorkflowExecutionsLandingPage-BJJkMmAN.js → WorkflowExecutionsLandingPage-BhPbJi5K.js} +2 -2
  70. package/dist/assets/{WorkflowExecutionsPreview-DOgsT3qO.js → WorkflowExecutionsPreview-CowaFwPg.js} +5 -5
  71. package/dist/assets/{WorkflowExecutionsView-C5pQ01YU.js → WorkflowExecutionsView-BAojAjIM.js} +6 -6
  72. package/dist/assets/{WorkflowHistory-JYpRDL5b.js → WorkflowHistory-Bj5_YFN8.js} +3 -3
  73. package/dist/assets/{WorkflowOnboardingView-CI-nHjPv.js → WorkflowOnboardingView-D9peqUJs.js} +1 -1
  74. package/dist/assets/{WorkflowPreview-DeccEeOD.js → WorkflowPreview-gflk06YT.js} +1 -1
  75. package/dist/assets/{WorkflowsView-r9qJOUEb.css → WorkflowsView-CJB9aI6A.css} +27 -41
  76. package/dist/assets/{WorkflowsView-DpE8yGfm.js → WorkflowsView-CmgKYCQ6.js} +74 -139
  77. package/dist/assets/{easyAiWorkflowUtils-CZVa9QJH.js → easyAiWorkflowUtils-CLssJdgl.js} +1 -1
  78. package/dist/assets/{global-link-actions-fxxB6c1M.js → global-link-actions-BphqczCY.js} +1 -1
  79. package/dist/assets/{import-curl-BMQD81WG.js → import-curl-C9KhAemD.js} +1 -1
  80. package/dist/assets/{index-CgXKy7t-.css → index-BaqhUIB7.css} +55 -54
  81. package/dist/assets/{index-CFXicF1K.js → index-C0DaAYgf.js} +1 -1
  82. package/dist/assets/{index-TONfBAHg.js → index-CkOV8f0Z.js} +2480 -2500
  83. package/dist/assets/{pickBy-DMdfAEN5.js → pickBy-DUugkW7s.js} +1 -1
  84. package/dist/assets/{pushConnection.store-CXF122Ff.js → pushConnection.store-Cb2TGyrZ.js} +1 -1
  85. package/dist/assets/{templateActions-BMN7PUps.js → templateActions-Czp13jCM.js} +1 -1
  86. package/dist/assets/{useBeforeUnload-DaIbVPhm.js → useBeforeUnload-BBbiw-FV.js} +1 -1
  87. package/dist/assets/{useCanvasMapping-CJcAsQmx.css → useCanvasMapping-BkGr1HdJ.css} +29 -28
  88. package/dist/assets/{useCanvasMapping-BkYlSNdK.js → useCanvasMapping-Cla--atl.js} +71 -56
  89. package/dist/assets/{useCanvasOperations-B2wChId3.js → useCanvasOperations-FyzGfva5.js} +14 -13
  90. package/dist/assets/{useClearExecutionButtonVisible-DXrP_YDx.js → useClearExecutionButtonVisible-fESJZE5R.js} +2 -2
  91. package/dist/assets/{useExecutionDebugging-B26z6tvj.js → useExecutionDebugging-D4s4CdaL.js} +1 -1
  92. package/dist/assets/{useExecutionHelpers-tpdv0KUa.js → useExecutionHelpers-Bm91b8wb.js} +1 -1
  93. package/dist/assets/{useImportCurlCommand-DPFdzFcL.js → useImportCurlCommand-BPNuR5ZX.js} +2 -2
  94. package/dist/assets/{usePushConnection-C8yfU7M_.js → usePushConnection-BbQhNUm8.js} +14 -6
  95. package/dist/assets/{useRunWorkflow-B3mpLXeb.js → useRunWorkflow-DnbQqqcB.js} +8 -2
  96. package/dist/assets/{useTestDefinitionForm-DsiSBIWm.js → useTestDefinitionForm-ZJngcsSH.js} +1 -31
  97. package/dist/assets/{useWorkflowActivate-wAFdzwEx.js → useWorkflowActivate-CkCvd-g6.js} +1 -1
  98. package/dist/index.html +2 -2
  99. package/package.json +1 -1
  100. package/dist/assets/CollectionParameter-EiFxXbJy.js +0 -4
  101. /package/dist/assets/{useOverview-DcRuPjLJ.css → InsightsSummary-DcRuPjLJ.css} +0 -0
@@ -1,4 +1,4 @@
1
- import { fZ as arrayMap, f_ as getAllKeysIn, f$ as baseIteratee, g0 as basePickBy } from "./index-TONfBAHg.js";
1
+ import { g3 as arrayMap, g4 as getAllKeysIn, g5 as baseIteratee, g6 as basePickBy } from "./index-CkOV8f0Z.js";
2
2
  function pickBy(object, predicate) {
3
3
  if (object == null) {
4
4
  return {};
@@ -1,4 +1,4 @@
1
- import { r as ref, du as createHeartbeatMessage, S as defineStore, a0 as useRootStore, p as useSettingsStore, I as watch, q as computed, X as STORES } from "./index-TONfBAHg.js";
1
+ import { r as ref, dx as createHeartbeatMessage, S as defineStore, a0 as useRootStore, p as useSettingsStore, I as watch, q as computed, X as STORES } from "./index-CkOV8f0Z.js";
2
2
  const useHeartbeat = (options) => {
3
3
  const { interval, onHeartbeat } = options;
4
4
  const heartbeatTimer = ref(null);
@@ -1,4 +1,4 @@
1
- import { cR as TEMPLATE_CREDENTIAL_SETUP_EXPERIMENT, cE as assert, V as VIEWS, bT as tryToParseNumber, cV as doesNodeHaveCredentialsToFill, cW as getNewWorkflow, cX as replaceAllTemplateNodeCredentials, bX as getNodesWithNormalizedPosition } from "./index-TONfBAHg.js";
1
+ import { cU as TEMPLATE_CREDENTIAL_SETUP_EXPERIMENT, cI as assert, V as VIEWS, bX as tryToParseNumber, cY as doesNodeHaveCredentialsToFill, cZ as getNewWorkflow, c_ as replaceAllTemplateNodeCredentials, b$ as getNodesWithNormalizedPosition } from "./index-CkOV8f0Z.js";
2
2
  async function createWorkflowFromTemplate(opts) {
3
3
  const { credentialOverrides, nodeTypeProvider, rootStore, template, workflowsStore } = opts;
4
4
  const workflowData = await getNewWorkflow(rootStore.restApiContext, { name: template.name });
@@ -1,4 +1,4 @@
1
- import { L as useUIStore, a1 as useCanvasStore, r as ref, q as computed, V as VIEWS, c as useI18n } from "./index-TONfBAHg.js";
1
+ import { L as useUIStore, a1 as useCanvasStore, r as ref, q as computed, V as VIEWS, c as useI18n } from "./index-CkOV8f0Z.js";
2
2
  function useBeforeUnload({ route }) {
3
3
  const uiStore = useUIStore();
4
4
  const canvasStore = useCanvasStore();
@@ -1785,7 +1785,7 @@ body:not([data-theme]) .canvas-edge-toolbar-button {
1785
1785
  -------------------------- */
1786
1786
  /* BEM
1787
1787
  -------------------------- */
1788
- ._node_60dg1_123 {
1788
+ ._node_1d2zc_123 {
1789
1789
  --canvas-node--max-vertical-handles: max(
1790
1790
  var(--canvas-node--main-input-count),
1791
1791
  var(--canvas-node--main-output-count),
@@ -1800,6 +1800,7 @@ body:not([data-theme]) .canvas-edge-toolbar-button {
1800
1800
  --configurable-node--icon-size: 30px;
1801
1801
  --trigger-node--border-radius: 36px;
1802
1802
  --canvas-node--status-icons-offset: var(--spacing-3xs);
1803
+ --node-icon-color: var(--color-foreground-dark);
1803
1804
  position: relative;
1804
1805
  height: var(--canvas-node--height);
1805
1806
  width: var(--canvas-node--width);
@@ -1817,20 +1818,20 @@ body:not([data-theme]) .canvas-edge-toolbar-button {
1817
1818
  * The reverse order defines the priority in case multiple states are active
1818
1819
  */
1819
1820
  }
1820
- ._node_60dg1_123._trigger_60dg1_155 {
1821
+ ._node_1d2zc_123._trigger_1d2zc_156 {
1821
1822
  border-radius: var(--trigger-node--border-radius) var(--border-radius-large) var(--border-radius-large) var(--trigger-node--border-radius);
1822
1823
  }
1823
- ._node_60dg1_123._configuration_60dg1_158 {
1824
+ ._node_1d2zc_123._configuration_1d2zc_159 {
1824
1825
  --canvas-node--width: 80px;
1825
1826
  --canvas-node--height: 80px;
1826
1827
  background: var(--canvas-node--background, var(--node-type-supplemental-background));
1827
1828
  border: var(--canvas-node-border-width) solid var(--canvas-node--border-color, var(--color-foreground-dark));
1828
1829
  border-radius: 50px;
1829
1830
  }
1830
- ._node_60dg1_123._configuration_60dg1_158 ._statusIcons_60dg1_165 {
1831
+ ._node_1d2zc_123._configuration_1d2zc_159 ._statusIcons_1d2zc_166 {
1831
1832
  right: unset;
1832
1833
  }
1833
- ._node_60dg1_123._configurable_60dg1_168 {
1834
+ ._node_1d2zc_123._configurable_1d2zc_169 {
1834
1835
  --canvas-node--height: 100px;
1835
1836
  --canvas-node--width: calc(
1836
1837
  max(var(--configurable-node--input-count, 4), var(--configurable-node--min-input-count)) *
@@ -1838,10 +1839,10 @@ body:not([data-theme]) .canvas-edge-toolbar-button {
1838
1839
  );
1839
1840
  justify-content: flex-start;
1840
1841
  }
1841
- ._node_60dg1_123._configurable_60dg1_168 .n8n-node-icon {
1842
+ ._node_1d2zc_123._configurable_1d2zc_169 .n8n-node-icon {
1842
1843
  margin-left: var(--configurable-node--icon-offset);
1843
1844
  }
1844
- ._node_60dg1_123._configurable_60dg1_168 ._description_60dg1_179 {
1845
+ ._node_1d2zc_123._configurable_1d2zc_169 ._description_1d2zc_180 {
1845
1846
  top: unset;
1846
1847
  position: relative;
1847
1848
  margin-top: 0;
@@ -1851,45 +1852,45 @@ body:not([data-theme]) .canvas-edge-toolbar-button {
1851
1852
  min-width: unset;
1852
1853
  max-width: calc(var(--canvas-node--width) - var(--configurable-node--icon-offset) - var(--configurable-node--icon-size) - 2 * var(--spacing-s));
1853
1854
  }
1854
- ._node_60dg1_123._configurable_60dg1_168 ._label_60dg1_189 {
1855
+ ._node_1d2zc_123._configurable_1d2zc_169 ._label_1d2zc_190 {
1855
1856
  text-align: left;
1856
1857
  }
1857
- ._node_60dg1_123._configurable_60dg1_168 ._subtitle_60dg1_192 {
1858
+ ._node_1d2zc_123._configurable_1d2zc_169 ._subtitle_1d2zc_193 {
1858
1859
  text-align: left;
1859
1860
  }
1860
- ._node_60dg1_123._configurable_60dg1_168._configuration_60dg1_158 {
1861
+ ._node_1d2zc_123._configurable_1d2zc_169._configuration_1d2zc_159 {
1861
1862
  --canvas-node--height: 75px;
1862
1863
  }
1863
- ._node_60dg1_123._configurable_60dg1_168._configuration_60dg1_158 ._statusIcons_60dg1_165 {
1864
+ ._node_1d2zc_123._configurable_1d2zc_169._configuration_1d2zc_159 ._statusIcons_1d2zc_166 {
1864
1865
  right: calc(-1 * var(--spacing-2xs));
1865
1866
  bottom: 0;
1866
1867
  }
1867
- ._node_60dg1_123._selected_60dg1_202 {
1868
+ ._node_1d2zc_123._selected_1d2zc_203 {
1868
1869
  box-shadow: 0 0 0 8px var(--color-canvas-selected-transparent);
1869
1870
  }
1870
- ._node_60dg1_123._success_60dg1_205 {
1871
+ ._node_1d2zc_123._success_1d2zc_206 {
1871
1872
  border-color: var(--color-canvas-node-success-border-color, var(--color-success));
1872
1873
  }
1873
- ._node_60dg1_123._warning_60dg1_208 {
1874
+ ._node_1d2zc_123._warning_1d2zc_209 {
1874
1875
  border-color: var(--color-warning);
1875
1876
  }
1876
- ._node_60dg1_123._error_60dg1_211 {
1877
+ ._node_1d2zc_123._error_1d2zc_212 {
1877
1878
  border-color: var(--color-canvas-node-error-border-color, var(--color-danger));
1878
1879
  }
1879
- ._node_60dg1_123._pinned_60dg1_214 {
1880
+ ._node_1d2zc_123._pinned_1d2zc_215 {
1880
1881
  border-color: var(--color-canvas-node-pinned-border-color, var(--color-node-pinned-border));
1881
1882
  }
1882
- ._node_60dg1_123._disabled_60dg1_217 {
1883
+ ._node_1d2zc_123._disabled_1d2zc_218 {
1883
1884
  border-color: var(--color-canvas-node-disabled-border-color, var(--color-foreground-base));
1884
1885
  }
1885
- ._node_60dg1_123._running_60dg1_220 {
1886
+ ._node_1d2zc_123._running_1d2zc_221 {
1886
1887
  background-color: var(--color-node-executing-background);
1887
1888
  border-color: var(--color-canvas-node-running-border-color, var(--color-node-running-border));
1888
1889
  }
1889
- ._node_60dg1_123._waiting_60dg1_224 {
1890
+ ._node_1d2zc_123._waiting_1d2zc_225 {
1890
1891
  border-color: var(--color-canvas-node-waiting-border-color, var(--color-secondary));
1891
1892
  }
1892
- ._description_60dg1_179 {
1893
+ ._description_1d2zc_180 {
1893
1894
  top: 100%;
1894
1895
  position: absolute;
1895
1896
  width: 100%;
@@ -1900,8 +1901,8 @@ body:not([data-theme]) .canvas-edge-toolbar-button {
1900
1901
  gap: var(--spacing-4xs);
1901
1902
  align-items: center;
1902
1903
  }
1903
- ._label_60dg1_189,
1904
- ._disabledLabel_60dg1_241 {
1904
+ ._label_1d2zc_190,
1905
+ ._disabledLabel_1d2zc_242 {
1905
1906
  font-size: var(--font-size-m);
1906
1907
  text-align: center;
1907
1908
  text-overflow: ellipsis;
@@ -1913,7 +1914,7 @@ body:not([data-theme]) .canvas-edge-toolbar-button {
1913
1914
  font-weight: var(--font-weight-medium);
1914
1915
  line-height: var(--font-line-height-compact);
1915
1916
  }
1916
- ._subtitle_60dg1_192 {
1917
+ ._subtitle_1d2zc_193 {
1917
1918
  width: 100%;
1918
1919
  text-align: center;
1919
1920
  color: var(--color-text-light);
@@ -1924,7 +1925,7 @@ body:not([data-theme]) .canvas-edge-toolbar-button {
1924
1925
  line-height: var(--font-line-height-compact);
1925
1926
  font-weight: var(--font-weight-regular);
1926
1927
  }
1927
- ._statusIcons_60dg1_165 {
1928
+ ._statusIcons_1d2zc_166 {
1928
1929
  position: absolute;
1929
1930
  bottom: var(--canvas-node--status-icons-offset);
1930
1931
  right: var(--canvas-node--status-icons-offset);
@@ -4315,11 +4316,11 @@ body:not([data-theme]) .canvas-edge-toolbar-button {
4315
4316
  -------------------------- */
4316
4317
  /* BEM
4317
4318
  -------------------------- */
4318
- .minimap-enter-active[data-v-ff027901],
4319
- .minimap-leave-active[data-v-ff027901] {
4319
+ .minimap-enter-active[data-v-f096cf5d],
4320
+ .minimap-leave-active[data-v-f096cf5d] {
4320
4321
  transition: opacity 0.3s ease;
4321
4322
  }
4322
- .minimap-enter-from[data-v-ff027901],
4323
- .minimap-leave-to[data-v-ff027901] {
4323
+ .minimap-enter-from[data-v-f096cf5d],
4324
+ .minimap-leave-to[data-v-f096cf5d] {
4324
4325
  opacity: 0;
4325
4326
  }
@@ -1,6 +1,6 @@
1
- import { d as defineComponent, fj as getCurrentScope, aY as inject, fk as effectScope, I as watch, cF as getCurrentInstance, fl as useSlots, b6 as onUnmounted, i as createElementBlock, g as openBlock, j as createVNode, x as renderSlot, w as withCtx, k as createBaseVNode, m as unref, r as ref, fm as useAttrs, f as createCommentVNode, e as createBlock, b2 as mergeProps, F as Fragment, bA as toRef, fn as Teleport, fo as createPropsRestProxy, q as computed, o as onMounted, n as normalizeClass, bC as reactive, fp as onScopeDispose, aA as onBeforeMount, D as renderList, B as normalizeStyle, z as nextTick, y as onBeforeUnmount, fq as isMemoSame, t as toDisplayString, b1 as resolveDynamicComponent, l as createTextVNode, aZ as isRef, a_ as toRefs$1, fr as customRef, bb as provide, h as resolveComponent, ar as h, fs as toValue$1, ft as markRaw, fu as readonly, _ as _export_sfc$1, c as useI18n, bB as KeyboardShortcutTooltip, be as NodeConnectionTypes, fv as CanvasKey, $ as useCssModule, L as useUIStore, bu as useNodeTypesStore, T as useWorkflowsStore, a2 as useSourceControlStore, a8 as getResourcePermissions, f7 as isPresent, fw as getMousePosition$1, az as STICKY_NODE_TYPE, fx as NOT_DUPLICATABLE_NODE_TYPES, fy as isExecutable, fz as N8nActionDropdown, cd as getDefaultExportFromCjs, ff as NODE_SIZE, bI as CanvasNodeRenderType, fg as GRID_SIZE, fA as useThrottleFn, fB as useActiveElement, fC as useDeviceSupport, fD as useEventListener$1, fE as onKeyDown, fF as onKeyUp, ba as watchEffect, a$ as normalizeProps, aV as createSlots, bU as isValidNodeConnectionType, bV as CanvasConnectionMode, fG as refThrottled, fH as CanvasNodeKey, fI as mergeModels, fJ as useModel, bv as useNodeHelpers, fK as TitledList, aR as N8nTooltip, dB as CanvasNodeDirtiness, J as withModifiers, ai as nodeViewEventBus, bY as NODE_CREATOR_OPEN_SOURCES, fL as CanvasNodeHandleKey, aB as withDirectives, aC as vShow, fM as Transition$2, b as useRouter, bt as CHAT_TRIGGER_NODE_TYPE, cM as _sfc_main$z, C as createEventBus, fN as isEqual, bP as Suspense, b0 as guardReactiveProps, f4 as CUSTOM_API_CALL_KEY, bq as getNodeInputs, bs as getNodeOutputs, dr as getTriggerNodeServiceName, ca as sanitizeHtml, fO as nodeIssuesToString, fP as WAIT_NODE_TYPE, ee as SEND_AND_WAIT_OPERATION, fQ as FORM_NODE_TYPE, fR as WAIT_INDEFINITELY } from "./index-TONfBAHg.js";
2
- import { p as parseCanvasConnectionHandleString, u as usePinnedData, a as useNodeCreatorStore, b as useCanvasOperations, i as insertSpacersBetweenEndpoints, c as createCanvasConnectionHandleString, m as mapLegacyEndpointsToCanvasConnectionPort, e as checkOverlap, f as mapLegacyConnectionsToCanvasConnections } from "./useCanvasOperations-B2wChId3.js";
3
- import { u as useRunWorkflow, a as useNodeDirtiness } from "./useRunWorkflow-B3mpLXeb.js";
1
+ import { d as defineComponent, fm as getCurrentScope, aY as inject, fn as effectScope, I as watch, cJ as getCurrentInstance, fo as useSlots, b6 as onUnmounted, i as createElementBlock, g as openBlock, j as createVNode, x as renderSlot, w as withCtx, k as createBaseVNode, m as unref, r as ref, fp as useAttrs, f as createCommentVNode, e as createBlock, b2 as mergeProps, F as Fragment, bD as toRef, fq as Teleport, fr as createPropsRestProxy, q as computed, o as onMounted, n as normalizeClass, bG as reactive, fs as onScopeDispose, aA as onBeforeMount, D as renderList, B as normalizeStyle, z as nextTick, y as onBeforeUnmount, ft as isMemoSame, t as toDisplayString, b1 as resolveDynamicComponent, l as createTextVNode, aZ as isRef, a_ as toRefs$1, fu as customRef, bc as provide, h as resolveComponent, ar as h, fv as toValue$1, fw as markRaw, fx as readonly, _ as _export_sfc$1, c as useI18n, bF as KeyboardShortcutTooltip, bf as NodeConnectionTypes, fy as CanvasKey, $ as useCssModule, L as useUIStore, bv as useNodeTypesStore, T as useWorkflowsStore, a2 as useSourceControlStore, a8 as getResourcePermissions, fa as isPresent, fz as getMousePosition$1, az as STICKY_NODE_TYPE, fA as NOT_DUPLICATABLE_NODE_TYPES, fB as isExecutable, fC as N8nActionDropdown, ch as getDefaultExportFromCjs, fi as NODE_SIZE, bM as CanvasNodeRenderType, fj as GRID_SIZE, fD as useThrottleFn, fE as useActiveElement, fF as useDeviceSupport, fG as useEventListener$1, fH as onKeyDown, fI as onKeyUp, bb as watchEffect, a$ as normalizeProps, aV as createSlots, bY as isValidNodeConnectionType, bZ as CanvasConnectionMode, fJ as refThrottled, fK as CanvasNodeKey, fL as mergeModels, fM as useModel, bw as useNodeHelpers, fN as TitledList, aR as N8nTooltip, dE as CanvasNodeDirtiness, bz as _sfc_main$z, J as withModifiers, ai as nodeViewEventBus, c0 as NODE_CREATOR_OPEN_SOURCES, fO as CanvasNodeHandleKey, aB as withDirectives, aC as vShow, fP as Transition$2, b as useRouter, bu as CHAT_TRIGGER_NODE_TYPE, C as createEventBus, fQ as isEqual, bT as Suspense, b0 as guardReactiveProps, f7 as CUSTOM_API_CALL_KEY, br as getNodeInputs, bt as getNodeOutputs, du as getTriggerNodeServiceName, ce as sanitizeHtml, fR as nodeIssuesToString, fS as WAIT_NODE_TYPE, eg as SEND_AND_WAIT_OPERATION, fT as FORM_NODE_TYPE, fU as WAIT_INDEFINITELY, fV as SIMULATE_NODE_TYPE, fW as SIMULATE_TRIGGER_NODE_TYPE, fX as getNodeIconSource } from "./index-CkOV8f0Z.js";
2
+ import { p as parseCanvasConnectionHandleString, u as usePinnedData, b as useNodeCreatorStore, c as useCanvasOperations, i as insertSpacersBetweenEndpoints, d as createCanvasConnectionHandleString, m as mapLegacyEndpointsToCanvasConnectionPort, f as checkOverlap, g as mapLegacyConnectionsToCanvasConnections } from "./useCanvasOperations-FyzGfva5.js";
3
+ import { u as useRunWorkflow, a as useNodeDirtiness } from "./useRunWorkflow-DnbQqqcB.js";
4
4
  function tryOnScopeDispose(fn) {
5
5
  if (getCurrentScope()) {
6
6
  onScopeDispose(fn);
@@ -9925,7 +9925,7 @@ const style0$o = {
9925
9925
  const cssModules$o = {
9926
9926
  "$style": style0$o
9927
9927
  };
9928
- const __unplugin_components_1$1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$v, [["__cssModules", cssModules$o]]);
9928
+ const __unplugin_components_1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$v, [["__cssModules", cssModules$o]]);
9929
9929
  const EDGE_PADDING_BOTTOM = 130;
9930
9930
  const EDGE_PADDING_X = 40;
9931
9931
  const EDGE_BORDER_RADIUS = 16;
@@ -17974,7 +17974,7 @@ const style0$h = {
17974
17974
  const cssModules$h = {
17975
17975
  "$style": style0$h
17976
17976
  };
17977
- const __unplugin_components_2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$j, [["__cssModules", cssModules$h]]);
17977
+ const __unplugin_components_3 = /* @__PURE__ */ _export_sfc$1(_sfc_main$j, [["__cssModules", cssModules$h]]);
17978
17978
  const _hoisted_1$4 = { key: 1 };
17979
17979
  const _hoisted_2$1 = ["textContent"];
17980
17980
  const _hoisted_3$1 = { key: 3 };
@@ -18121,7 +18121,7 @@ const style0$g = {
18121
18121
  const cssModules$g = {
18122
18122
  "$style": style0$g
18123
18123
  };
18124
- const __unplugin_components_1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$i, [["__cssModules", cssModules$g]]);
18124
+ const __unplugin_components_2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$i, [["__cssModules", cssModules$g]]);
18125
18125
  const _sfc_main$h = /* @__PURE__ */ defineComponent({
18126
18126
  __name: "CanvasNodeTooltip",
18127
18127
  props: {
@@ -18297,6 +18297,8 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
18297
18297
  const isSingleMainOutputNode = mainOutputs.value.length === 1 && mainOutputConnections.value.length <= 1;
18298
18298
  return isDisabled.value && isSingleMainInputNode && isSingleMainOutputNode;
18299
18299
  });
18300
+ const iconSize = computed(() => renderOptions.value.configuration ? 30 : 40);
18301
+ const iconSource = computed(() => renderOptions.value.icon);
18300
18302
  const showTooltip = ref(false);
18301
18303
  watch(initialized, () => {
18302
18304
  if (initialized.value) {
@@ -18317,8 +18319,9 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
18317
18319
  }
18318
18320
  return (_ctx, _cache) => {
18319
18321
  const _component_CanvasNodeTooltip = __unplugin_components_0$3;
18320
- const _component_CanvasNodeStatusIcons = __unplugin_components_1;
18321
- const _component_CanvasNodeDisabledStrikeThrough = __unplugin_components_2;
18322
+ const _component_NodeIcon = _sfc_main$z;
18323
+ const _component_CanvasNodeStatusIcons = __unplugin_components_2;
18324
+ const _component_CanvasNodeDisabledStrikeThrough = __unplugin_components_3;
18322
18325
  return openBlock(), createElementBlock("div", {
18323
18326
  class: normalizeClass(classes.value),
18324
18327
  style: normalizeStyle(styles.value),
@@ -18330,7 +18333,12 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
18330
18333
  key: 0,
18331
18334
  visible: showTooltip.value
18332
18335
  }, null, 8, ["visible"])) : createCommentVNode("", true),
18333
- renderSlot(_ctx.$slots, "default"),
18336
+ createVNode(_component_NodeIcon, {
18337
+ "icon-source": iconSource.value,
18338
+ size: iconSize.value,
18339
+ shrink: false,
18340
+ disabled: unref(isDisabled)
18341
+ }, null, 8, ["icon-source", "size", "disabled"]),
18334
18342
  !unref(isDisabled) ? (openBlock(), createBlock(_component_CanvasNodeStatusIcons, {
18335
18343
  key: 1,
18336
18344
  class: normalizeClass(unref($style).statusIcons)
@@ -18356,23 +18364,23 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
18356
18364
  };
18357
18365
  }
18358
18366
  });
18359
- const node = "_node_60dg1_123";
18360
- const trigger$1 = "_trigger_60dg1_155";
18361
- const configuration = "_configuration_60dg1_158";
18362
- const statusIcons = "_statusIcons_60dg1_165";
18363
- const configurable = "_configurable_60dg1_168";
18364
- const description = "_description_60dg1_179";
18365
- const label$5 = "_label_60dg1_189";
18366
- const subtitle = "_subtitle_60dg1_192";
18367
- const selected$1 = "_selected_60dg1_202";
18368
- const success$1 = "_success_60dg1_205";
18369
- const warning = "_warning_60dg1_208";
18370
- const error = "_error_60dg1_211";
18371
- const pinned = "_pinned_60dg1_214";
18372
- const disabled = "_disabled_60dg1_217";
18373
- const running = "_running_60dg1_220";
18374
- const waiting = "_waiting_60dg1_224";
18375
- const disabledLabel = "_disabledLabel_60dg1_241";
18367
+ const node = "_node_1d2zc_123";
18368
+ const trigger$1 = "_trigger_1d2zc_156";
18369
+ const configuration = "_configuration_1d2zc_159";
18370
+ const statusIcons = "_statusIcons_1d2zc_166";
18371
+ const configurable = "_configurable_1d2zc_169";
18372
+ const description = "_description_1d2zc_180";
18373
+ const label$5 = "_label_1d2zc_190";
18374
+ const subtitle = "_subtitle_1d2zc_193";
18375
+ const selected$1 = "_selected_1d2zc_203";
18376
+ const success$1 = "_success_1d2zc_206";
18377
+ const warning = "_warning_1d2zc_209";
18378
+ const error = "_error_1d2zc_212";
18379
+ const pinned = "_pinned_1d2zc_215";
18380
+ const disabled = "_disabled_1d2zc_218";
18381
+ const running = "_running_1d2zc_221";
18382
+ const waiting = "_waiting_1d2zc_225";
18383
+ const disabledLabel = "_disabledLabel_1d2zc_242";
18376
18384
  const style0$e = {
18377
18385
  node,
18378
18386
  trigger: trigger$1,
@@ -19964,7 +19972,6 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
19964
19972
  __name: "CanvasNodeRenderer",
19965
19973
  setup(__props) {
19966
19974
  const node2 = inject(CanvasNodeKey);
19967
- const slots = useSlots();
19968
19975
  const Render = () => {
19969
19976
  const renderType2 = node2?.data.value.render.type ?? CanvasNodeRenderType.Default;
19970
19977
  let Component;
@@ -19978,13 +19985,9 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
19978
19985
  default:
19979
19986
  Component = CanvasNodeDefault;
19980
19987
  }
19981
- return h(
19982
- Component,
19983
- {
19984
- "data-canvas-node-render-type": renderType2
19985
- },
19986
- slots.default
19987
- );
19988
+ return h(Component, {
19989
+ "data-canvas-node-render-type": renderType2
19990
+ });
19988
19991
  };
19989
19992
  return (_ctx, _cache) => {
19990
19993
  return openBlock(), createBlock(Render);
@@ -20721,7 +20724,6 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
20721
20724
  const emit = __emit;
20722
20725
  const style = useCssModule();
20723
20726
  const props = __props;
20724
- const nodeTypesStore = useNodeTypesStore();
20725
20727
  const contextMenu2 = useContextMenu();
20726
20728
  const { connectingHandle } = useCanvas();
20727
20729
  const nodeClasses = ref([]);
@@ -20741,9 +20743,6 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
20741
20743
  connections
20742
20744
  });
20743
20745
  const isDisabled = computed(() => props.data.disabled);
20744
- const nodeTypeDescription = computed(() => {
20745
- return nodeTypesStore.getNodeType(props.data.type, props.data.typeVersion);
20746
- });
20747
20746
  const classes = computed(() => ({
20748
20747
  [style.canvasNode]: true,
20749
20748
  [style.showToolbar]: showToolbar2.value,
@@ -20776,9 +20775,6 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
20776
20775
  ...nonMainOutputs.value.map(nonMainOutputsMappingFn)
20777
20776
  ].filter((endpoint) => !!endpoint);
20778
20777
  });
20779
- const nodeIconSize = computed(
20780
- () => "configuration" in data.value.render.options && data.value.render.options.configuration ? 30 : 40
20781
- );
20782
20778
  const createEndpointMappingFn = ({
20783
20779
  mode,
20784
20780
  position: position2,
@@ -20942,7 +20938,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
20942
20938
  inputs: unref(mainInputs),
20943
20939
  outputs: unref(mainOutputs),
20944
20940
  data: data.value
20945
- }) : nodeTypeDescription.value ? (openBlock(), createBlock(CanvasNodeToolbar, {
20941
+ }) : (openBlock(), createBlock(CanvasNodeToolbar, {
20946
20942
  key: 1,
20947
20943
  "data-test-id": "canvas-node-toolbar",
20948
20944
  "read-only": readOnly.value,
@@ -20952,23 +20948,13 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
20952
20948
  onRun,
20953
20949
  onUpdate,
20954
20950
  "onOpen:contextmenu": onOpenContextMenuFromToolbar
20955
- }, null, 8, ["read-only", "class"])) : createCommentVNode("", true),
20951
+ }, null, 8, ["read-only", "class"])),
20956
20952
  createVNode(_sfc_main$c, {
20957
20953
  onActivate,
20958
20954
  onDeactivate,
20959
20955
  onMove,
20960
20956
  onUpdate,
20961
20957
  "onOpen:contextmenu": onOpenContextMenuFromNode
20962
- }, {
20963
- default: withCtx(() => [
20964
- createVNode(_sfc_main$z, {
20965
- "node-type": nodeTypeDescription.value,
20966
- size: nodeIconSize.value,
20967
- shrink: false,
20968
- disabled: isDisabled.value
20969
- }, null, 8, ["node-type", "size", "disabled"])
20970
- ]),
20971
- _: 1
20972
20958
  }),
20973
20959
  props.data.render.type === unref(CanvasNodeRenderType).Default && props.data.render.options.trigger ? (openBlock(), createBlock(CanvasNodeTrigger, {
20974
20960
  key: 2,
@@ -21037,6 +21023,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
21037
21023
  onNodesInitialized,
21038
21024
  findNode,
21039
21025
  viewport,
21026
+ nodesSelectionActive,
21040
21027
  onEdgeMouseLeave,
21041
21028
  onEdgeMouseEnter,
21042
21029
  onEdgeMouseMove,
@@ -21203,6 +21190,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
21203
21190
  function onSelectionDragStop(event) {
21204
21191
  onUpdateNodesPosition(event.nodes.map(({ id: id2, position: position2 }) => ({ id: id2, position: position2 })));
21205
21192
  }
21193
+ function onSelectionEnd() {
21194
+ if (selectedNodes.value.length === 1) {
21195
+ nodesSelectionActive.value = false;
21196
+ }
21197
+ }
21206
21198
  function onSetNodeActivated(id2) {
21207
21199
  props.eventBus.emit("nodes:action", { ids: [id2], action: "update:node:activated" });
21208
21200
  emit("update:node:activated", id2);
@@ -21488,7 +21480,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
21488
21480
  });
21489
21481
  return (_ctx, _cache) => {
21490
21482
  const _component_CanvasConnectionLine = __unplugin_components_0$5;
21491
- const _component_CanvasControlButtons = __unplugin_components_1$1;
21483
+ const _component_CanvasControlButtons = __unplugin_components_1;
21492
21484
  return openBlock(), createBlock(unref(_sfc_main$1$4), {
21493
21485
  id: _ctx.id,
21494
21486
  nodes: _ctx.nodes,
@@ -21518,6 +21510,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
21518
21510
  onNodeDragStop,
21519
21511
  onNodeClick,
21520
21512
  onSelectionDragStop,
21513
+ onSelectionEnd,
21521
21514
  onSelectionContextMenu: onOpenSelectionContextMenu,
21522
21515
  onDragover: onDragOver,
21523
21516
  onDrop
@@ -21626,7 +21619,7 @@ const style0 = {
21626
21619
  const cssModules = {
21627
21620
  "$style": style0
21628
21621
  };
21629
- const Canvas = /* @__PURE__ */ _export_sfc$1(_sfc_main, [["__cssModules", cssModules], ["__scopeId", "data-v-ff027901"]]);
21622
+ const Canvas = /* @__PURE__ */ _export_sfc$1(_sfc_main, [["__cssModules", cssModules], ["__scopeId", "data-v-f096cf5d"]]);
21630
21623
  function useCanvasMapping({
21631
21624
  nodes,
21632
21625
  connections,
@@ -21655,6 +21648,10 @@ function useCanvasMapping({
21655
21648
  };
21656
21649
  }
21657
21650
  function createDefaultNodeRenderType(node2) {
21651
+ const nodeType = nodeTypeDescriptionByNodeId.value[node2.id];
21652
+ const icon = getNodeIconSource(
21653
+ simulatedNodeTypeDescriptionByNodeId.value[node2.id] ? simulatedNodeTypeDescriptionByNodeId.value[node2.id] : nodeType
21654
+ );
21658
21655
  return {
21659
21656
  type: CanvasNodeRenderType.Default,
21660
21657
  options: {
@@ -21668,7 +21665,8 @@ function useCanvasMapping({
21668
21665
  labelSize: nodeOutputLabelSizeById.value[node2.id]
21669
21666
  },
21670
21667
  tooltip: nodeTooltipById.value[node2.id],
21671
- dirtiness: dirtinessByName.value[node2.name]
21668
+ dirtiness: dirtinessByName.value[node2.name],
21669
+ icon
21672
21670
  }
21673
21671
  };
21674
21672
  }
@@ -21977,6 +21975,23 @@ function useCanvasMapping({
21977
21975
  {}
21978
21976
  );
21979
21977
  });
21978
+ const simulatedNodeTypeDescriptionByNodeId = computed(() => {
21979
+ return nodes.value.reduce((acc, node2) => {
21980
+ if ([SIMULATE_NODE_TYPE, SIMULATE_TRIGGER_NODE_TYPE].includes(node2.type)) {
21981
+ const icon = node2.parameters?.icon;
21982
+ const iconValue = workflowObject.value.expression.getSimpleParameterValue(
21983
+ node2,
21984
+ icon,
21985
+ "internal",
21986
+ {}
21987
+ );
21988
+ if (iconValue && typeof iconValue === "string") {
21989
+ acc[node2.id] = nodeTypesStore.getNodeType(iconValue);
21990
+ }
21991
+ }
21992
+ return acc;
21993
+ }, {});
21994
+ });
21980
21995
  const mappedNodes = computed(() => [
21981
21996
  ...nodes.value.map((node2) => {
21982
21997
  const inputConnections = workflowObject.value.connectionsByDestinationNode[node2.name] ?? {};
@@ -1,4 +1,4 @@
1
- import { dS as baseSlice, dT as toString, dU as createCompounder, dV as SetCache, dW as arrayIncludes, dX as cacheHas, dY as baseRest, dZ as isArrayLikeObject, d_ as baseFlatten, bu as useNodeTypesStore, q as computed, m as unref, d$ as isSubNodeType, a0 as useRootStore, T as useWorkflowsStore, a as useToast, e0 as PIN_DATA_NODE_TYPES_DENYLIST, e1 as jsonStringify, c as useI18n, e2 as toMegaBytes, e3 as stringSizeInBytes, ah as useTelemetry, aQ as useExternalHooks, bL as jsonParse, e4 as useDataSchema, bs as getNodeOutputs, be as NodeConnectionTypes, e5 as MAX_PINNED_DATA_SIZE, e6 as MAX_WORKFLOW_SIZE, e7 as MAX_EXPECTED_REQUEST_SIZE, e8 as CORE_NODES_CATEGORY, e9 as DEFAULT_SUBCATEGORY, bi as v4, p as useSettingsStore, ea as AI_TRANSFORM_NODE_TYPE, bm as AI_SUBCATEGORY, eb as HUMAN_IN_THE_LOOP_CATEGORY, bn as AI_CATEGORY_AGENTS, ec as sortBy, d8 as i18n, ed as AI_CATEGORY_OTHER_TOOLS, ee as SEND_AND_WAIT_OPERATION, ef as AI_CATEGORY_DOCUMENT_LOADERS, eg as AI_CATEGORY_LANGUAGE_MODELS, eh as AI_CATEGORY_MEMORY, ei as AI_CATEGORY_OUTPUTPARSER, ej as AI_CATEGORY_RETRIEVERS, ek as AI_CATEGORY_TEXT_SPLITTERS, el as AI_WORKFLOW_TOOL_LANGCHAIN_NODE_TYPE, em as AI_CODE_TOOL_LANGCHAIN_NODE_TYPE, en as AI_CATEGORY_TOOLS, eo as AI_CATEGORY_EMBEDDING, ep as AI_CATEGORY_VECTOR_STORES, eq as AI_UNCATEGORIZED_CATEGORY, er as AI_OTHERS_NODE_CREATOR_VIEW, aO as useTemplatesStore, es as AI_NODE_CREATOR_VIEW, et as RSS_READ_NODE_TYPE, eu as EMAIL_SEND_NODE_TYPE, ev as SET_NODE_TYPE, ew as CODE_NODE_TYPE, ex as DATETIME_NODE_TYPE, ey as FILTER_NODE_TYPE, ez as REMOVE_DUPLICATES_NODE_TYPE, eA as SPLIT_OUT_NODE_TYPE, eB as LIMIT_NODE_TYPE, eC as SUMMARIZE_NODE_TYPE, eD as AGGREGATE_NODE_TYPE, eE as MERGE_NODE_TYPE, eF as HTML_NODE_TYPE, eG as MARKDOWN_NODE_TYPE, eH as XML_NODE_TYPE, eI as CRYPTO_NODE_TYPE, eJ as EXTRACT_FROM_FILE_NODE_TYPE, eK as CONVERT_TO_FILE_NODE_TYPE, eL as COMPRESSION_NODE_TYPE, eM as EDIT_IMAGE_NODE_TYPE, eN as TRANSFORM_DATA_SUBCATEGORY, eO as IF_NODE_TYPE, eP as SPLIT_IN_BATCHES_NODE_TYPE, eQ as FLOWS_CONTROL_SUBCATEGORY, eR as HTTP_REQUEST_NODE_TYPE, eS as WEBHOOK_NODE_TYPE, eT as HELPERS_SUBCATEGORY, eU as HITL_SUBCATEGORY, eV as TRIGGER_NODE_CREATOR_VIEW, eW as REGULAR_NODE_CREATOR_VIEW, eX as MANUAL_TRIGGER_NODE_TYPE, eY as EMAIL_IMAP_NODE_TYPE, eZ as SCHEDULE_TRIGGER_NODE_TYPE, e_ as FORM_TRIGGER_NODE_TYPE, dw as EXECUTE_WORKFLOW_TRIGGER_NODE_TYPE, bt as CHAT_TRIGGER_NODE_TYPE, e$ as OTHER_TRIGGER_NODES_SUBCATEGORY, bo as AI_CATEGORY_CHAINS, S as defineStore, r as ref, a1 as useCanvasStore, f0 as AI_CATEGORY_ROOT_NODES, z as nextTick, bp as AI_CODE_NODE_TYPE, f1 as AI_TRANSFORM_NODE_TYPE$1, f2 as isValidCanvasConnectionMode, bV as CanvasConnectionMode, bU as isValidNodeConnectionType, at as useNDVStore, L as useUIStore, f3 as isVueFlowConnection, bq as getNodeInputs, f4 as CUSTOM_API_CALL_KEY, X as STORES, bY as NODE_CREATOR_OPEN_SOURCES, bD as useCredentialsStore, bG as useHistoryStore, E as useTagsStore, au as useExecutionsStore, a3 as useProjectsStore, a6 as useWorkflowHelpers, bv as useNodeHelpers, b8 as useClipboard, f5 as UPDATE_WEBHOOK_ID_NODE_TYPES, dq as generateNodesGraph, f6 as getNewNodePosition, dD as AddConnectionCommand, az as STICKY_NODE_TYPE, dE as RemoveConnectionCommand, ab as EnterpriseEditionFeature, c1 as deepCopy, f7 as isPresent, dF as RemoveNodeCommand, f8 as RenameNodeCommand, f9 as MoveNodeCommand, fa as DEFAULT_NODE_SIZE, fb as CONFIGURATION_NODE_SIZE, br as getConnectionTypes, fc as generateOffsets, fd as CONFIGURABLE_NODE_SIZE, fe as PUSH_NODES_OFFSET, dG as AddNodeCommand, ff as NODE_SIZE, fg as GRID_SIZE, fh as getNodeParameters } from "./index-TONfBAHg.js";
1
+ import { dU as baseSlice, dV as toString, dW as createCompounder, dX as SetCache, dY as arrayIncludes, dZ as cacheHas, d_ as baseRest, d$ as isArrayLikeObject, e0 as baseFlatten, bv as useNodeTypesStore, q as computed, m as unref, e1 as isSubNodeType, a0 as useRootStore, T as useWorkflowsStore, a as useToast, e2 as PIN_DATA_NODE_TYPES_DENYLIST, e3 as jsonStringify, c as useI18n, e4 as toMegaBytes, e5 as stringSizeInBytes, ah as useTelemetry, aQ as useExternalHooks, bP as jsonParse, e6 as useDataSchema, bt as getNodeOutputs, bf as NodeConnectionTypes, e7 as MAX_PINNED_DATA_SIZE, e8 as MAX_WORKFLOW_SIZE, e9 as MAX_EXPECTED_REQUEST_SIZE, ea as CORE_NODES_CATEGORY, eb as DEFAULT_SUBCATEGORY, bj as v4, p as useSettingsStore, ec as AI_TRANSFORM_NODE_TYPE, bn as AI_SUBCATEGORY, ed as HUMAN_IN_THE_LOOP_CATEGORY, bo as AI_CATEGORY_AGENTS, ee as sortBy, db as i18n, ef as AI_CATEGORY_OTHER_TOOLS, eg as SEND_AND_WAIT_OPERATION, eh as AI_CATEGORY_DOCUMENT_LOADERS, ei as AI_CATEGORY_LANGUAGE_MODELS, ej as AI_CATEGORY_MEMORY, ek as AI_CATEGORY_OUTPUTPARSER, el as AI_CATEGORY_RETRIEVERS, em as AI_CATEGORY_TEXT_SPLITTERS, en as AI_WORKFLOW_TOOL_LANGCHAIN_NODE_TYPE, eo as AI_CODE_TOOL_LANGCHAIN_NODE_TYPE, ep as AI_CATEGORY_TOOLS, eq as AI_CATEGORY_EMBEDDING, er as AI_CATEGORY_VECTOR_STORES, es as AI_UNCATEGORIZED_CATEGORY, et as AI_OTHERS_NODE_CREATOR_VIEW, aO as useTemplatesStore, eu as AI_NODE_CREATOR_VIEW, ev as RSS_READ_NODE_TYPE, ew as EMAIL_SEND_NODE_TYPE, ex as SET_NODE_TYPE, ey as CODE_NODE_TYPE, ez as DATETIME_NODE_TYPE, eA as FILTER_NODE_TYPE, eB as REMOVE_DUPLICATES_NODE_TYPE, eC as SPLIT_OUT_NODE_TYPE, eD as LIMIT_NODE_TYPE, eE as SUMMARIZE_NODE_TYPE, eF as AGGREGATE_NODE_TYPE, eG as MERGE_NODE_TYPE, eH as HTML_NODE_TYPE, eI as MARKDOWN_NODE_TYPE, eJ as XML_NODE_TYPE, eK as CRYPTO_NODE_TYPE, eL as EXTRACT_FROM_FILE_NODE_TYPE, eM as CONVERT_TO_FILE_NODE_TYPE, eN as COMPRESSION_NODE_TYPE, eO as EDIT_IMAGE_NODE_TYPE, eP as TRANSFORM_DATA_SUBCATEGORY, eQ as IF_NODE_TYPE, eR as SPLIT_IN_BATCHES_NODE_TYPE, eS as FLOWS_CONTROL_SUBCATEGORY, eT as HTTP_REQUEST_NODE_TYPE, eU as WEBHOOK_NODE_TYPE, eV as HELPERS_SUBCATEGORY, eW as HITL_SUBCATEGORY, eX as TRIGGER_NODE_CREATOR_VIEW, eY as REGULAR_NODE_CREATOR_VIEW, eZ as MANUAL_TRIGGER_NODE_TYPE, e_ as EMAIL_IMAP_NODE_TYPE, e$ as SCHEDULE_TRIGGER_NODE_TYPE, f0 as FORM_TRIGGER_NODE_TYPE, dz as EXECUTE_WORKFLOW_TRIGGER_NODE_TYPE, bu as CHAT_TRIGGER_NODE_TYPE, f1 as OTHER_TRIGGER_NODES_SUBCATEGORY, bp as AI_CATEGORY_CHAINS, S as defineStore, r as ref, a1 as useCanvasStore, f2 as AI_CATEGORY_ROOT_NODES, z as nextTick, f3 as getThemedValue, L as useUIStore, bq as AI_CODE_NODE_TYPE, f4 as AI_TRANSFORM_NODE_TYPE$1, f5 as isValidCanvasConnectionMode, bZ as CanvasConnectionMode, bY as isValidNodeConnectionType, at as useNDVStore, f6 as isVueFlowConnection, br as getNodeInputs, f7 as CUSTOM_API_CALL_KEY, X as STORES, c0 as NODE_CREATOR_OPEN_SOURCES, bH as useCredentialsStore, bK as useHistoryStore, E as useTagsStore, au as useExecutionsStore, a3 as useProjectsStore, a6 as useWorkflowHelpers, bw as useNodeHelpers, b9 as useClipboard, f8 as UPDATE_WEBHOOK_ID_NODE_TYPES, dt as generateNodesGraph, f9 as getNewNodePosition, dG as AddConnectionCommand, az as STICKY_NODE_TYPE, dH as RemoveConnectionCommand, ab as EnterpriseEditionFeature, c5 as deepCopy, fa as isPresent, dI as RemoveNodeCommand, fb as RenameNodeCommand, fc as MoveNodeCommand, fd as DEFAULT_NODE_SIZE, fe as CONFIGURATION_NODE_SIZE, bs as getConnectionTypes, ff as generateOffsets, fg as CONFIGURABLE_NODE_SIZE, fh as PUSH_NODES_OFFSET, dJ as AddNodeCommand, fi as NODE_SIZE, fj as GRID_SIZE, fk as getNodeParameters } from "./index-CkOV8f0Z.js";
2
2
  function castSlice(array, start, end) {
3
3
  var length = array.length;
4
4
  end = end === void 0 ? length : end;
@@ -1415,6 +1415,7 @@ const useViewStacks = defineStore("nodeCreatorViewStacks", () => {
1415
1415
  extendedInfo = { info: relatedAIView?.properties.info };
1416
1416
  }
1417
1417
  await nextTick();
1418
+ const iconName = getThemedValue(relatedAIView?.properties.icon, useUIStore().appliedTheme);
1418
1419
  pushViewStack(
1419
1420
  {
1420
1421
  title: relatedAIView?.properties.title,
@@ -1422,11 +1423,11 @@ const useViewStacks = defineStore("nodeCreatorViewStacks", () => {
1422
1423
  rootView: AI_OTHERS_NODE_CREATOR_VIEW,
1423
1424
  mode: "nodes",
1424
1425
  items: nodeCreatorStore.allNodeCreatorNodes,
1425
- nodeIcon: {
1426
- iconType: "icon",
1427
- icon: relatedAIView?.properties.icon,
1426
+ nodeIcon: iconName ? {
1427
+ type: "icon",
1428
+ name: iconName,
1428
1429
  color: relatedAIView?.properties.iconProps?.color
1429
- },
1430
+ } : void 0,
1430
1431
  panelClass: relatedAIView?.properties.panelClass,
1431
1432
  baseFilter: (i) => {
1432
1433
  if (i.key === AI_CODE_NODE_TYPE) return false;
@@ -3434,14 +3435,14 @@ export {
3434
3435
  AINodesView as A,
3435
3436
  RegularView as R,
3436
3437
  TriggerView as T,
3437
- useNodeCreatorStore as a,
3438
- useCanvasOperations as b,
3439
- createCanvasConnectionHandleString as c,
3440
- capitalize as d,
3441
- checkOverlap as e,
3442
- mapLegacyConnectionsToCanvasConnections as f,
3443
- useNodeType as g,
3444
- upperFirst as h,
3438
+ upperFirst as a,
3439
+ useNodeCreatorStore as b,
3440
+ useCanvasOperations as c,
3441
+ createCanvasConnectionHandleString as d,
3442
+ capitalize as e,
3443
+ checkOverlap as f,
3444
+ mapLegacyConnectionsToCanvasConnections as g,
3445
+ useNodeType as h,
3445
3446
  insertSpacersBetweenEndpoints as i,
3446
3447
  formatTriggerActionName as j,
3447
3448
  useViewStacks as k,
@@ -1,5 +1,5 @@
1
- import { U as useRoute, a2 as useSourceControlStore, T as useWorkflowsStore, q as computed, b as useRouter, bu as useNodeTypesStore, bJ as START_NODE_TYPE } from "./index-TONfBAHg.js";
2
- import { b as useCanvasOperations } from "./useCanvasOperations-B2wChId3.js";
1
+ import { U as useRoute, a2 as useSourceControlStore, T as useWorkflowsStore, q as computed, b as useRouter, bv as useNodeTypesStore, bN as START_NODE_TYPE } from "./index-CkOV8f0Z.js";
2
+ import { c as useCanvasOperations } from "./useCanvasOperations-FyzGfva5.js";
3
3
  function useClearExecutionButtonVisible() {
4
4
  const route = useRoute();
5
5
  const sourceControlStore = useSourceControlStore();
@@ -1,4 +1,4 @@
1
- import { b as useRouter, a as useToast, T as useWorkflowsStore, p as useSettingsStore, L as useUIStore, a7 as usePageRedirectionHelper, q as computed, ab as EnterpriseEditionFeature, c as useI18n, c9 as DEBUG_PAYWALL_MODAL_KEY, ar as h, ca as sanitizeHtml, aj as useMessage, ak as MODAL_CONFIRM, V as VIEWS, ah as useTelemetry, a0 as useRootStore, cb as isFullExecutionResponse } from "./index-TONfBAHg.js";
1
+ import { b as useRouter, a as useToast, T as useWorkflowsStore, p as useSettingsStore, L as useUIStore, a7 as usePageRedirectionHelper, q as computed, ab as EnterpriseEditionFeature, c as useI18n, cd as DEBUG_PAYWALL_MODAL_KEY, ar as h, ce as sanitizeHtml, aj as useMessage, ak as MODAL_CONFIRM, V as VIEWS, ah as useTelemetry, a0 as useRootStore, cf as isFullExecutionResponse } from "./index-CkOV8f0Z.js";
2
2
  const useExecutionDebugging = () => {
3
3
  const telemetry = useTelemetry();
4
4
  const router = useRouter();
@@ -1,4 +1,4 @@
1
- import { fi as dateFormat, b as useRouter, V as VIEWS, ah as useTelemetry, c as useI18n } from "./index-TONfBAHg.js";
1
+ import { fl as dateFormat, b as useRouter, V as VIEWS, ah as useTelemetry, c as useI18n } from "./index-CkOV8f0Z.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,6 +1,6 @@
1
- import { gQ as require$$0, cd as getDefaultExportFromCjs, a as useToast, m as unref, cE as assert, gR as CURL_IMPORT_NOT_SUPPORTED_PROTOCOLS, gS as CURL_IMPORT_NODES_PROTOCOLS, c as useI18n, gT as get } from "./index-TONfBAHg.js";
1
+ import { gV as require$$0, ch as getDefaultExportFromCjs, a as useToast, m as unref, cI as assert, gW as CURL_IMPORT_NOT_SUPPORTED_PROTOCOLS, gX as CURL_IMPORT_NODES_PROTOCOLS, c as useI18n, gY as get } from "./index-CkOV8f0Z.js";
2
2
  import { c as commonjsRequire } from "./_commonjs-dynamic-modules-TGKdzP3c.js";
3
- import { i as importCurlEventBus } from "./import-curl-BMQD81WG.js";
3
+ import { i as importCurlEventBus } from "./import-curl-C9KhAemD.js";
4
4
  class CCError extends Error {
5
5
  }
6
6
  const UTF8encoder = new TextEncoder();
@@ -1,7 +1,7 @@
1
- import { dj as makeRestApiRequest, S as defineStore, a0 as useRootStore, d as defineComponent, c2 as resolveDirective, i as createElementBlock, g as openBlock, aB as withDirectives, k as createBaseVNode, t as toDisplayString, m as unref, c as useI18n, a6 as useWorkflowHelpers, bv as useNodeHelpers, a as useToast, bD as useCredentialsStore, bu as useNodeTypesStore, p as useSettingsStore, L as useUIStore, T as useWorkflowsStore, dk as useAssistantStore, av as usePostHog, r as ref, dl as clearPopupWindowState, bS as AI_CREDITS_EXPERIMENT, ah as useTelemetry, dm as parse, dn as hasTrimmedItem, dp as codeNodeEditorEventBus, al as WORKFLOW_SETTINGS_MODAL_KEY, dq as generateNodesGraph, ar as h, dr as getTriggerNodeServiceName, ds as hasTrimmedData, aQ as useExternalHooks, dt as useSchemaPreviewStore } from "./index-TONfBAHg.js";
2
- import { g as globalLinkActionsEventBus } from "./global-link-actions-fxxB6c1M.js";
3
- import { u as usePushConnectionStore } from "./pushConnection.store-CXF122Ff.js";
4
- import { g as getEasyAiWorkflowJson } from "./easyAiWorkflowUtils-CZVa9QJH.js";
1
+ import { dm as makeRestApiRequest, S as defineStore, a0 as useRootStore, d as defineComponent, c6 as resolveDirective, i as createElementBlock, g as openBlock, aB as withDirectives, k as createBaseVNode, t as toDisplayString, m as unref, c as useI18n, a6 as useWorkflowHelpers, bw as useNodeHelpers, a as useToast, bH as useCredentialsStore, bv as useNodeTypesStore, p as useSettingsStore, L as useUIStore, T as useWorkflowsStore, dn as useAssistantStore, av as usePostHog, r as ref, dp as clearPopupWindowState, bW as AI_CREDITS_EXPERIMENT, ah as useTelemetry, dq as parse, dr as hasTrimmedItem, ds as codeNodeEditorEventBus, al as WORKFLOW_SETTINGS_MODAL_KEY, dt as generateNodesGraph, ar as h, du as getTriggerNodeServiceName, dv as hasTrimmedData, aQ as useExternalHooks, dw as useSchemaPreviewStore } from "./index-CkOV8f0Z.js";
2
+ import { g as globalLinkActionsEventBus } from "./global-link-actions-BphqczCY.js";
3
+ import { u as usePushConnectionStore } from "./pushConnection.store-Cb2TGyrZ.js";
4
+ import { g as getEasyAiWorkflowJson } from "./easyAiWorkflowUtils-CLssJdgl.js";
5
5
  const GET_STATUS_ENDPOINT = "/orchestration/worker/status";
6
6
  const sendGetWorkerStatus = async (context) => {
7
7
  await makeRestApiRequest(context, "POST", GET_STATUS_ENDPOINT);
@@ -228,7 +228,13 @@ function usePushConnection({ router }) {
228
228
  let executionData;
229
229
  if (receivedData.type === "executionFinished" && receivedData.data.rawData) {
230
230
  const { workflowId, status, rawData } = receivedData.data;
231
- executionData = { workflowId, data: parse(rawData), status };
231
+ executionData = {
232
+ workflowId,
233
+ data: parse(rawData),
234
+ status,
235
+ startedAt: workflowsStore.workflowExecutionData?.startedAt ?? /* @__PURE__ */ new Date(),
236
+ stoppedAt: /* @__PURE__ */ new Date()
237
+ };
232
238
  } else {
233
239
  uiStore.setProcessingExecutionResults(true);
234
240
  if (receivedData.type === "executionFinished" && receivedData.data.status === "success") {
@@ -253,7 +259,9 @@ function usePushConnection({ router }) {
253
259
  executionData = {
254
260
  workflowId: execution.workflowId,
255
261
  data: parse(execution.data),
256
- status: execution.status
262
+ status: execution.status,
263
+ startedAt: workflowsStore.workflowExecutionData?.startedAt,
264
+ stoppedAt: receivedData.type === "executionFinished" ? /* @__PURE__ */ new Date() : void 0
257
265
  };
258
266
  } catch {
259
267
  uiStore.setProcessingExecutionResults(false);