n8n-editor-ui 1.95.2 → 1.96.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 (119) hide show
  1. package/dist/assets/{AnimatedSpinner-D09KQgNn.js → AnimatedSpinner-X7Mnsgpe.js} +1 -1
  2. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-ChBsrua8.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-CmQ3mil5.js} +1 -1
  3. package/dist/assets/{AuthView-6CzmMUBa.js → AuthView-Bskv9TQN.js} +2 -2
  4. package/dist/assets/{CanvasChatSwitch-DIB31bT-.js → CanvasChatSwitch-DM-OyBmC.js} +8 -8
  5. package/dist/assets/{ChangePasswordView-CFiLUetz.js → ChangePasswordView-CdPOkZjv.js} +3 -3
  6. package/dist/assets/CollectionParameter-CvwdEWDi.js +4 -0
  7. package/dist/assets/{CredentialsView-balupUNg.js → CredentialsView-qaQP-wkN.js} +7 -7
  8. package/dist/assets/{DemoFooter-DjYHmYtW.js → DemoFooter-O3nKfWlH.js} +6 -6
  9. package/dist/assets/{ErrorView-Bp0CSaqz.js → ErrorView-BiqeY9s7.js} +1 -1
  10. package/dist/assets/{EvaluationsRootView-DEsxvX2-.js → EvaluationsRootView-CYRp6bpH.js} +1 -1
  11. package/dist/assets/{EvaluationsView-sNn1fW5k.js → EvaluationsView-CtO3xGVX.js} +3 -3
  12. package/dist/assets/{ExecutionsTime-BuE0lHT6.css → ExecutionsTime--_6xBkkx.css} +6 -6
  13. package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-CBWKO-F8.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-CPEi3qwg.js} +3 -3
  14. package/dist/assets/{ExecutionsView-ByQf9yli.css → ExecutionsView-ChOXAON3.css} +1 -1
  15. package/dist/assets/{ExecutionsView-CwEhanCC.js → ExecutionsView-DzgYfnyy.js} +9 -9
  16. package/dist/assets/{FileSaver.min-BXNSdnef.js → FileSaver.min-DX76qmEC.js} +1 -1
  17. package/dist/assets/{FixedCollectionParameter-BATXrzXI.css → FixedCollectionParameter-CgLfAVkQ.css} +18 -18
  18. package/dist/assets/{FixedCollectionParameter-D3k10_sC.js → FixedCollectionParameter-DyrGK_3R.js} +6 -5
  19. package/dist/assets/{ForgotMyPasswordView-DIjgKwbk.js → ForgotMyPasswordView-BGH0yvRA.js} +3 -3
  20. package/dist/assets/{InsightsChartAverageRuntime-BR-ZZhu2.js → InsightsChartAverageRuntime-CNGYs1f2.js} +4 -4
  21. package/dist/assets/{InsightsChartFailed-Bn6t9gYW.js → InsightsChartFailed-DcUi3Xoo.js} +4 -4
  22. package/dist/assets/{InsightsChartFailureRate-BESq19BT.js → InsightsChartFailureRate-CauYbZi0.js} +4 -4
  23. package/dist/assets/{InsightsChartTimeSaved-Mk7RZWZj.js → InsightsChartTimeSaved-tIeyssoD.js} +4 -4
  24. package/dist/assets/{InsightsChartTotal-1eD2ZnHA.js → InsightsChartTotal-3NyCy9Ge.js} +4 -4
  25. package/dist/assets/{InsightsDashboard-804Vx8G8.js → InsightsDashboard-Bbb89oJF.js} +11 -11
  26. package/dist/assets/{InsightsDashboard-BSrakbzr.css → InsightsDashboard-CXbI-Jyg.css} +2 -2
  27. package/dist/assets/{InsightsPaywall-DlHIW8n4.js → InsightsPaywall-D_BihdjK.js} +1 -1
  28. package/dist/assets/{InsightsSummary-iMjpjBTf.js → InsightsSummary-DRchhSvL.js} +1 -1
  29. package/dist/assets/{InsightsTableWorkflows-DfTZQkWL.css → InsightsTableWorkflows-DJhX6bQW.css} +3 -3
  30. package/dist/assets/{InsightsTableWorkflows-CVdwME8T.js → InsightsTableWorkflows-vv0q-zDV.js} +3 -3
  31. package/dist/assets/{Logo-AVqgKHpt.js → Logo-DV60TRnk.js} +1 -1
  32. package/dist/assets/{LogsPanel-zME_gghi.js → LogsPanel-uCv08qzP.js} +3 -3
  33. package/dist/assets/{MainHeader-Y95RcfHb.css → MainHeader-CGwvFs2B.css} +12 -12
  34. package/dist/assets/{MainHeader-CYSc9eyv.js → MainHeader-DuYeKuP0.js} +10 -10
  35. package/dist/assets/{MainSidebar-D1_1YFQZ.css → MainSidebar-DrjvHIqG.css} +22 -23
  36. package/dist/assets/{MainSidebar-CFL8ain5.js → MainSidebar-MEIRwNNe.js} +13 -13
  37. package/dist/assets/{NodeCreation-Cc0NdFhH.js → NodeCreation-BzbZjItH.js} +3 -3
  38. package/dist/assets/{NodeCreator-Bci2BsOB.js → NodeCreator-Dmk7P8uw.js} +2 -2
  39. package/dist/assets/{NodeDetailsView-B9Fh0Dl2.js → NodeDetailsView-3E8dQGdv.js} +11 -11
  40. package/dist/assets/{NodeDetailsView-BtWGMS7Y.css → NodeDetailsView-6JHPI3t-.css} +34 -34
  41. package/dist/assets/{NodeView-U4YkXSfU.css → NodeView-BdvXMmMp.css} +4 -4
  42. package/dist/assets/{NodeView-CvKozVnV.js → NodeView-DKOoBDwT.js} +51 -18
  43. package/dist/assets/{ProjectCardBadge-bSiwmeA8.js → ProjectCardBadge-BjW5HB2j.js} +8 -5
  44. package/dist/assets/{ProjectHeader-CXCEIwvg.js → ProjectHeader-C0pfCUSY.js} +2 -2
  45. package/dist/assets/{ProjectSettings-BKismuHe.js → ProjectSettings-BSzt0uOq.js} +91 -71
  46. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-BWW4AwS8.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-BYZfB3Fh.js} +1 -1
  47. package/dist/assets/{ResourcesListLayout-CITg4uZY.js → ResourcesListLayout-CCWWFUoI.js} +3 -3
  48. package/dist/assets/{ResourcesListLayout-DuNjbsMn.css → ResourcesListLayout-CPwJc792.css} +8 -8
  49. package/dist/assets/{RunData-CE5FsU6k.css → RunData-XsmLcFYS.css} +2 -2
  50. package/dist/assets/{RunData-fnv6lb8C.js → RunData-aaG8y8uW.js} +29 -29
  51. package/dist/assets/{RunDataAi-CNLso3N1.js → RunDataAi-Cu9RjIe5.js} +3 -3
  52. package/dist/assets/{RunDataJson-DZx-k1wX.js → RunDataJson-CRyrU0PK.js} +6 -6
  53. package/dist/assets/{RunDataJsonActions-D-3T61BD.js → RunDataJsonActions-BKjQBSK5.js} +1 -1
  54. package/dist/assets/{RunDataParsedAiContent-CW7ypFU2.js → RunDataParsedAiContent-BYSyMg3C.js} +4 -4
  55. package/dist/assets/{RunDataSearch-BjjTiewM.js → RunDataSearch-DIVJ_17C.js} +1 -1
  56. package/dist/assets/{RunDataTable-CLptnyhW.js → RunDataTable-SXU2hB-8.js} +2 -2
  57. package/dist/assets/{SamlOnboarding-DvgrlSpN.js → SamlOnboarding-bCmgAEbG.js} +3 -3
  58. package/dist/assets/{SettingsApiView-28hAZ8AX.js → SettingsApiView-t8__YAUG.js} +1 -1
  59. package/dist/assets/{SettingsCommunityNodesView-B4BhERDL.js → SettingsCommunityNodesView-DLjqGqNL.js} +4 -4
  60. package/dist/assets/{SettingsExternalSecrets-wExeq2SD.js → SettingsExternalSecrets-D_NEzE7A.js} +1 -1
  61. package/dist/assets/{SettingsLdapView-DQTjIidN.js → SettingsLdapView-DNh6kfUx.js} +1 -1
  62. package/dist/assets/{SettingsLogStreamingView-S2HFXugB.js → SettingsLogStreamingView-B3WNU1jm.js} +1 -1
  63. package/dist/assets/{SettingsPersonalView-K4xmPv1e.js → SettingsPersonalView-B_ZMfm23.js} +1 -1
  64. package/dist/assets/{SettingsSourceControl-DBnFHiuT.js → SettingsSourceControl-CI-bVTxf.js} +1 -1
  65. package/dist/assets/{SettingsSso-CETLXK4v.js → SettingsSso-Bzm6qPs4.js} +1 -1
  66. package/dist/assets/{SettingsUsageAndPlan-b3WY2Ea_.css → SettingsUsageAndPlan-Bc3LLaWe.css} +3 -3
  67. package/dist/assets/{SettingsUsageAndPlan-PCXLyHHP.js → SettingsUsageAndPlan-DSZaIlVJ.js} +2 -2
  68. package/dist/assets/{SettingsUsersView-BkFwmQy2.js → SettingsUsersView-DJWUsuQn.js} +1 -1
  69. package/dist/assets/{SettingsView-eJwgU7re.js → SettingsView-DpEc80hV.js} +1 -1
  70. package/dist/assets/{SetupView-BGrZbWPZ.js → SetupView-DQ8qlqrW.js} +3 -3
  71. package/dist/assets/{SetupWorkflowCredentialsButton-DDCGrXlU.js → SetupWorkflowCredentialsButton-mCv9f-vy.js} +1 -1
  72. package/dist/assets/{SetupWorkflowFromTemplateView-mnJoSkOi.js → SetupWorkflowFromTemplateView-_E2leRxe.js} +3 -3
  73. package/dist/assets/{SigninView-BEMlYSwD.js → SigninView-BauD_ZRc.js} +3 -3
  74. package/dist/assets/{SignoutView-Ck7XUEL0.js → SignoutView-CmqhHe9D.js} +1 -1
  75. package/dist/assets/{SignupView-BNUCUdim.js → SignupView-mq5h9_Tr.js} +3 -3
  76. package/dist/assets/{TemplateDetails-CCRZDyX3.js → TemplateDetails-DZt4pXW8.js} +1 -1
  77. package/dist/assets/{TemplateList-q5CwO2jW.js → TemplateList-DgVuxT1U.js} +1 -1
  78. package/dist/assets/{TemplatesCollectionView-BwB7WjdW.js → TemplatesCollectionView-SwtTo_ow.js} +5 -5
  79. package/dist/assets/{TemplatesSearchView-LFLxcdyJ.js → TemplatesSearchView-Ctju8r8o.js} +3 -3
  80. package/dist/assets/{TemplatesView-DLb7_qKl.js → TemplatesView-BViO0ksu.js} +1 -1
  81. package/dist/assets/{TemplatesWorkflowView-BuQ8AVbV.js → TemplatesWorkflowView-Bq9uu0Th.js} +5 -5
  82. package/dist/assets/{VariablesView-ATWfdJsE.css → VariablesView-BrzvF0ZW.css} +8 -8
  83. package/dist/assets/{VariablesView-nl7-bLzd.js → VariablesView-nI85C58H.js} +7 -7
  84. package/dist/assets/{WorkerView-C3tVMzJo.js → WorkerView-fMLwZ53l.js} +6 -6
  85. package/dist/assets/{WorkflowActivator-DrMTmuTZ.css → WorkflowActivator-CL2wacc7.css} +2 -2
  86. package/dist/assets/{WorkflowActivator-BLSUnRBS.js → WorkflowActivator-Cd0ODlSM.js} +3 -3
  87. package/dist/assets/{WorkflowExecutionsInfoAccordion-DGOugxD_.js → WorkflowExecutionsInfoAccordion-x5XD4fzS.js} +1 -1
  88. package/dist/assets/{WorkflowExecutionsLandingPage-5BG_WCTQ.js → WorkflowExecutionsLandingPage-D2w2VxE9.js} +2 -2
  89. package/dist/assets/{WorkflowExecutionsPreview-CpA6P8Yr.js → WorkflowExecutionsPreview-Br5-XiA_.js} +5 -5
  90. package/dist/assets/{WorkflowExecutionsView-BjdRnQOE.css → WorkflowExecutionsView-CZziPgtr.css} +2 -2
  91. package/dist/assets/{WorkflowExecutionsView-BISf8FRD.js → WorkflowExecutionsView-DRjw5N4Z.js} +7 -7
  92. package/dist/assets/{WorkflowHistory-BHB0q8xi.js → WorkflowHistory-C4d8t7My.js} +3 -3
  93. package/dist/assets/{WorkflowOnboardingView-B_vEpWHk.js → WorkflowOnboardingView-pfcRS2Nj.js} +1 -1
  94. package/dist/assets/{WorkflowPreview-VAzNZwE4.js → WorkflowPreview-B42GJp_A.js} +1 -1
  95. package/dist/assets/{WorkflowsView-DfQLvTjD.js → WorkflowsView-BMr4vX92.js} +110 -26
  96. package/dist/assets/{canvas-ak0Yge56.js → canvas-zHARW7_y.js} +1 -1
  97. package/dist/assets/{chartjs.utils-BEhsQkbh.js → chartjs.utils-CAcETkUz.js} +2 -2
  98. package/dist/assets/{easyAiWorkflowUtils-C-Dw5dJK.js → easyAiWorkflowUtils-zrdqJwVh.js} +1 -1
  99. package/dist/assets/{global-link-actions-BjgA0KBu.js → global-link-actions-CSuZV2We.js} +1 -1
  100. package/dist/assets/{import-curl-Dlras8xY.js → import-curl-siE1BenB.js} +1 -1
  101. package/dist/assets/{index-DH8MNLw5.css → index-B4xpaMaK.css} +1908 -1735
  102. package/dist/assets/{index-yHq_9MHK.js → index-C0NL0neN.js} +198863 -189602
  103. package/dist/assets/{index-DkgqLbzL.js → index-Da1KzY1N.js} +1 -1
  104. package/dist/assets/{pickBy-BygwtxG8.js → pickBy-QDg1WcEO.js} +1 -1
  105. package/dist/assets/{templateActions-D1Jiffto.js → templateActions-mPciUAbG.js} +1 -1
  106. package/dist/assets/{useBeforeUnload-Bjelqp3f.js → useBeforeUnload-NSNiO03-.js} +1 -1
  107. package/dist/assets/{useExecutionDebugging-DeAtI2kq.js → useExecutionDebugging-Ch5Hf0on.js} +2 -2
  108. package/dist/assets/{useExecutionHelpers-CV0xvJ9R.js → useExecutionHelpers-Bl3D8hoc.js} +1 -1
  109. package/dist/assets/{useImportCurlCommand-xECJDM0l.js → useImportCurlCommand-Bwqf6c92.js} +2 -2
  110. package/dist/assets/{useProjectPages-B2uri9MQ.js → useProjectPages-BLJMaAOf.js} +1 -1
  111. package/dist/assets/{usePushConnection-CPQ9WY2r.js → usePushConnection-CJjqCeI_.js} +27 -22
  112. package/dist/assets/{useWorkflowActivate-B1fEJW3D.js → useWorkflowActivate-Dmagygkf.js} +1 -1
  113. package/dist/assets/{useWorkflowSaving-DvqGBgRP.js → useWorkflowSaving-AnoiossA.js} +1 -1
  114. package/dist/index.html +3 -3
  115. package/package.json +1 -1
  116. package/tsconfig.json +1 -0
  117. package/vite.config.mts +4 -0
  118. package/dist/assets/CollectionParameter-aAB2XEgJ.js +0 -4
  119. package/dist/assets/{polyfills-J2x06Gdp.js → polyfills-CcXIOoWM.js} +3935 -3935
@@ -421,23 +421,23 @@
421
421
  -------------------------- */
422
422
  /* BEM
423
423
  -------------------------- */
424
- .webhooks[data-v-56323fca] {
424
+ .webhooks[data-v-906699cc] {
425
425
  padding-bottom: var(--spacing-xs);
426
426
  margin: var(--spacing-xs) 0;
427
427
  border-bottom: 1px solid var(--color-text-lighter);
428
428
  }
429
- .webhooks .headline[data-v-56323fca] {
429
+ .webhooks .headline[data-v-906699cc] {
430
430
  color: var(--color-primary);
431
431
  font-weight: var(--font-weight-bold);
432
432
  font-size: var(--font-size-2xs);
433
433
  }
434
- .http-field[data-v-56323fca] {
434
+ .http-field[data-v-906699cc] {
435
435
  position: absolute;
436
436
  width: 50px;
437
437
  display: inline-block;
438
438
  top: calc(50% - 8px);
439
439
  }
440
- .http-method[data-v-56323fca] {
440
+ .http-method[data-v-906699cc] {
441
441
  background-color: var(--color-foreground-xdark);
442
442
  width: 40px;
443
443
  height: 16px;
@@ -449,37 +449,37 @@
449
449
  font-weight: var(--font-weight-bold);
450
450
  color: var(--color-foreground-xlight);
451
451
  }
452
- .minimize-icon[data-v-56323fca] {
452
+ .minimize-icon[data-v-906699cc] {
453
453
  font-size: 1.3em;
454
454
  margin-right: 0.5em;
455
455
  }
456
- .mode-selection-headline[data-v-56323fca] {
456
+ .mode-selection-headline[data-v-906699cc] {
457
457
  line-height: 1.8em;
458
458
  }
459
- .node-webhooks[data-v-56323fca] {
459
+ .node-webhooks[data-v-906699cc] {
460
460
  margin-left: 1em;
461
461
  }
462
- .url-field[data-v-56323fca] {
462
+ .url-field[data-v-906699cc] {
463
463
  display: inline-block;
464
464
  width: calc(100% - 60px);
465
465
  margin-left: 55px;
466
466
  }
467
- .url-field-full-width[data-v-56323fca] {
467
+ .url-field-full-width[data-v-906699cc] {
468
468
  display: inline-block;
469
469
  margin: 5px 10px;
470
470
  }
471
- .url-selection[data-v-56323fca] {
471
+ .url-selection[data-v-906699cc] {
472
472
  margin-top: var(--spacing-xs);
473
473
  }
474
- .minimize-button[data-v-56323fca] {
474
+ .minimize-button[data-v-906699cc] {
475
475
  display: inline-block;
476
476
  transition-duration: 0.5s;
477
477
  transition-property: transform;
478
478
  }
479
- .expanded .minimize-button[data-v-56323fca] {
479
+ .expanded .minimize-button[data-v-906699cc] {
480
480
  transform: rotate(90deg);
481
481
  }
482
- .webhook-url[data-v-56323fca] {
482
+ .webhook-url[data-v-906699cc] {
483
483
  position: relative;
484
484
  top: 0;
485
485
  width: 100%;
@@ -492,7 +492,7 @@
492
492
  direction: ltr;
493
493
  word-break: break-all;
494
494
  }
495
- .webhook-wrapper[data-v-56323fca] {
495
+ .webhook-wrapper[data-v-906699cc] {
496
496
  line-height: 1.5;
497
497
  position: relative;
498
498
  margin-top: var(--spacing-xs);
@@ -1006,7 +1006,7 @@
1006
1006
  -------------------------- */
1007
1007
  /* BEM
1008
1008
  -------------------------- */
1009
- .node-settings[data-v-e2263c2a] {
1009
+ .node-settings[data-v-f247a28e] {
1010
1010
  display: flex;
1011
1011
  flex-direction: column;
1012
1012
  overflow: hidden;
@@ -1014,19 +1014,19 @@
1014
1014
  height: 100%;
1015
1015
  width: 100%;
1016
1016
  }
1017
- .node-settings .no-parameters[data-v-e2263c2a] {
1017
+ .node-settings .no-parameters[data-v-f247a28e] {
1018
1018
  margin-top: var(--spacing-xs);
1019
1019
  }
1020
- .node-settings .header-side-menu[data-v-e2263c2a] {
1020
+ .node-settings .header-side-menu[data-v-f247a28e] {
1021
1021
  padding: var(--spacing-s) var(--spacing-s) var(--spacing-s) var(--spacing-s);
1022
1022
  font-size: var(--font-size-l);
1023
1023
  display: flex;
1024
1024
  justify-content: space-between;
1025
1025
  }
1026
- .node-settings .header-side-menu .node-name[data-v-e2263c2a] {
1026
+ .node-settings .header-side-menu .node-name[data-v-f247a28e] {
1027
1027
  padding-top: var(--spacing-5xs);
1028
1028
  }
1029
- .node-settings .node-is-not-valid[data-v-e2263c2a] {
1029
+ .node-settings .node-is-not-valid[data-v-f247a28e] {
1030
1030
  height: 75%;
1031
1031
  padding: 10px;
1032
1032
  display: flex;
@@ -1036,54 +1036,54 @@
1036
1036
  text-align: center;
1037
1037
  line-height: var(--font-line-height-regular);
1038
1038
  }
1039
- .node-settings .node-parameters-wrapper[data-v-e2263c2a] {
1039
+ .node-settings .node-parameters-wrapper[data-v-f247a28e] {
1040
1040
  overflow-y: auto;
1041
1041
  padding: 0 var(--spacing-m) var(--spacing-l) var(--spacing-m);
1042
1042
  flex-grow: 1;
1043
1043
  }
1044
- .node-settings.dragging[data-v-e2263c2a] {
1044
+ .node-settings.dragging[data-v-f247a28e] {
1045
1045
  border-color: var(--color-primary);
1046
1046
  box-shadow: 0px 6px 16px rgba(255, 74, 51, 0.15);
1047
1047
  }
1048
- .parameter-content[data-v-e2263c2a] {
1048
+ .parameter-content[data-v-f247a28e] {
1049
1049
  font-size: 0.9em;
1050
1050
  margin-right: -15px;
1051
1051
  margin-left: -15px;
1052
1052
  }
1053
- .parameter-content input[data-v-e2263c2a] {
1053
+ .parameter-content input[data-v-f247a28e] {
1054
1054
  width: calc(100% - 35px);
1055
1055
  padding: 5px;
1056
1056
  }
1057
- .parameter-content select[data-v-e2263c2a] {
1057
+ .parameter-content select[data-v-f247a28e] {
1058
1058
  width: calc(100% - 20px);
1059
1059
  padding: 5px;
1060
1060
  }
1061
- .parameter-content[data-v-e2263c2a]:before {
1061
+ .parameter-content[data-v-f247a28e]:before {
1062
1062
  display: table;
1063
1063
  content: " ";
1064
1064
  position: relative;
1065
1065
  box-sizing: border-box;
1066
1066
  clear: both;
1067
1067
  }
1068
- .parameter-wrapper[data-v-e2263c2a] {
1068
+ .parameter-wrapper[data-v-f247a28e] {
1069
1069
  padding: 0 1em;
1070
1070
  }
1071
- .color-reset-button-wrapper[data-v-e2263c2a] {
1071
+ .color-reset-button-wrapper[data-v-f247a28e] {
1072
1072
  position: relative;
1073
1073
  }
1074
- .color-reset-button[data-v-e2263c2a] {
1074
+ .color-reset-button[data-v-f247a28e] {
1075
1075
  position: absolute;
1076
1076
  right: 7px;
1077
1077
  top: -25px;
1078
1078
  }
1079
- .node-version[data-v-e2263c2a] {
1079
+ .node-version[data-v-f247a28e] {
1080
1080
  border-top: var(--border-base);
1081
1081
  font-size: var(--font-size-xs);
1082
1082
  font-size: var(--font-size-2xs);
1083
1083
  padding: var(--spacing-xs) 0 var(--spacing-2xs) 0;
1084
1084
  color: var(--color-text-light);
1085
1085
  }
1086
- .parameter-value input.expression[data-v-e2263c2a] {
1086
+ .parameter-value input.expression[data-v-f247a28e] {
1087
1087
  border-style: dashed;
1088
1088
  border-color: #ff9600;
1089
1089
  display: inline-block;
@@ -2576,12 +2576,12 @@
2576
2576
  -------------------------- */
2577
2577
  /* BEM
2578
2578
  -------------------------- */
2579
- .fade-enter-active[data-v-d43aa3b1],
2580
- .fade-leave-active[data-v-d43aa3b1] {
2579
+ .fade-enter-active[data-v-bf6d9e5c],
2580
+ .fade-leave-active[data-v-bf6d9e5c] {
2581
2581
  transition: opacity 200ms;
2582
2582
  }
2583
- .fade-enter[data-v-d43aa3b1],
2584
- .fade-leave-to[data-v-d43aa3b1] {
2583
+ .fade-enter[data-v-bf6d9e5c],
2584
+ .fade-leave-to[data-v-bf6d9e5c] {
2585
2585
  opacity: 0;
2586
2586
  }/* BEM support Func
2587
2587
  -------------------------- */
@@ -4497,12 +4497,12 @@ body:not([data-theme]) .canvas-edge-toolbar-button {
4497
4497
  -------------------------- */
4498
4498
  /* BEM
4499
4499
  -------------------------- */
4500
- .minimap-enter-active[data-v-e5ff5571],
4501
- .minimap-leave-active[data-v-e5ff5571] {
4500
+ .minimap-enter-active[data-v-ff688b7e],
4501
+ .minimap-leave-active[data-v-ff688b7e] {
4502
4502
  transition: opacity 0.3s ease;
4503
4503
  }
4504
- .minimap-enter-from[data-v-e5ff5571],
4505
- .minimap-leave-to[data-v-e5ff5571] {
4504
+ .minimap-enter-from[data-v-ff688b7e],
4505
+ .minimap-leave-to[data-v-ff688b7e] {
4506
4506
  opacity: 0;
4507
4507
  }/* BEM support Func
4508
4508
  -------------------------- */
@@ -1,11 +1,11 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/NodeCreation-Cc0NdFhH.js","assets/index-yHq_9MHK.js","assets/index-DH8MNLw5.css","assets/NodeCreation-RKvezEeg.css","assets/NodeDetailsView-B9Fh0Dl2.js","assets/import-curl-Dlras8xY.js","assets/RunData-fnv6lb8C.js","assets/FileSaver.min-BXNSdnef.js","assets/useExecutionHelpers-CV0xvJ9R.js","assets/RunData-CE5FsU6k.css","assets/RunDataAi-CNLso3N1.js","assets/RunDataParsedAiContent-CW7ypFU2.js","assets/RunDataParsedAiContent-9EEUzCKp.css","assets/RunDataAi-D9VLFXIf.css","assets/useWorkflowActivate-B1fEJW3D.js","assets/NodeDetailsView-BtWGMS7Y.css","assets/SetupWorkflowCredentialsButton-DDCGrXlU.js"])))=>i.map(i=>d[i]);
2
- import { d as defineComponent, h as resolveComponent, e as createBlock, g as openBlock, _ as _export_sfc$1, i as createElementBlock, k as createBaseVNode, bX as PanelPosition, bY as useVueFlow, bL as toRef, w as withCtx, x as renderSlot, f as createCommentVNode, F as Fragment, j as createVNode, b7 as resolveDynamicComponent, m as unref, bZ as _sfc_main$H, q as computed, c as useI18n, bQ as KeyboardShortcutTooltip, n as normalizeClass, by as NodeConnectionTypes, b_ as getBezierPath, b$ as getSmoothStepPath, c0 as Position, b1 as inject, c1 as CanvasKey, Y as useCssModule, c2 as parseCanvasConnectionHandleString, r as ref, o as onMounted, D as renderList, c3 as _sfc_main$d$1, B as normalizeStyle, H as useUIStore, bz as useNodeTypesStore, Q as useWorkflowsStore, a0 as useSourceControlStore, a7 as getResourcePermissions, c4 as isNodeWithWorkflowSelector, c5 as getSubworkflowId, c6 as isPresent, X as watch, c7 as getMousePosition, ay as STICKY_NODE_TYPE, bl as usePinnedData, c8 as NOT_DUPLICATABLE_NODE_TYPES, c9 as isExecutable, ca as Teleport, bR as useStyles, bS as N8nActionDropdown, cb as getDefaultExportFromCjs, cc as NODE_SIZE, cd as CanvasNodeRenderType, ce as GRID_SIZE, bU as useThrottleFn, cf as getRectOfNodes, bc as onUnmounted, cg as useActiveElement, ch as useDeviceSupport, ci as useEventListener, cj as onKeyDown, ck as onKeyUp, cl as useSlots, cm as useAttrs, cn as getBoundsofRects, a$ as watchEffect, t as toDisplayString, co as getConnectedEdges, b5 as normalizeProps, b8 as mergeProps, bi as provide, aq as h, aV as createSlots, cp as isValidNodeConnectionType, cq as _sfc_main$3$1, cr as CanvasNodeKey, cs as CanvasConnectionMode, ct as mergeModels, cu as useModel, y as onBeforeUnmount, bA as useNodeHelpers, cv as TitledList, aR as N8nTooltip, l as createTextVNode, cw as CanvasNodeDirtiness, bH as _sfc_main$I, b3 as withModifiers, cx as NodeId, cy as useGetPointerPosition, cz as clamp, cA as useNodeCreatorStore, ah as nodeViewEventBus, cB as NODE_CREATOR_OPEN_SOURCES, cC as useBuilderStore, be as withKeys, cD as CanvasNodeHandleKey, aA as withDirectives, aB as vShow, cE as Transition$1, cF as _sfc_main$f$1, b as useRouter, aY as useLogsStore, bB as useRunWorkflow, cG as useCanvasOperations, cH as CHAT_TRIGGER_NODE_TYPE, bh as N8nButton, cI as insertSpacersBetweenEndpoints, cJ as createCanvasConnectionHandleString, C as createEventBus, cK as isEqual, p as useSettingsStore, z as nextTick, cL as _sfc_main$1$4, cM as MarkerType, cN as Suspense, b6 as guardReactiveProps, cO as updateViewportToContainNodes, cP as useNodeDirtiness, cQ as CUSTOM_API_CALL_KEY, cR as mapLegacyEndpointsToCanvasConnectionPort, bv as getNodeInputs, bx as getNodeOutputs, cS as getTriggerNodeServiceName, cT as sanitizeHtml, cU as WAIT_NODE_TYPE, cV as SEND_AND_WAIT_OPERATION, cW as FORM_NODE_TYPE, cX as WAIT_INDEFINITELY, cY as checkOverlap, cZ as SIMULATE_NODE_TYPE, c_ as SIMULATE_TRIGGER_NODE_TYPE, c$ as mapLegacyConnectionsToCanvasConnections, d0 as getNodeIconSource, d1 as refThrottled, d2 as reactive, R as useRoute, a as useToast, a4 as useDocumentTitle, a5 as useWorkflowHelpers, d3 as useCredentialsStore, d4 as useEnvironmentsStore, d5 as useExternalSecretsStore, Z as useRootStore, at as useExecutionsStore, $ as useCanvasStore, a3 as useNpsSurveyStore, d6 as useHistoryStore, a1 as useProjectsStore, u as useUsersStore, E as useTagsStore, P as usePushConnectionStore, as as useNDVStore, aN as useTemplatesStore, a2 as useFoldersStore, d7 as useAgentRequestStore, bg as useClipboard, S as PLACEHOLDER_EMPTY_WORKFLOW_ID, d8 as NEW_WORKFLOW_ID, V as VIEWS, d9 as START_NODE_TYPE, da as getNodeViewTab, s as MAIN_HEADER_TABS, db as VALID_WORKFLOW_IMPORT_URL_REGEX, ai as useMessage, aj as MODAL_CONFIRM, dc as jsonParse, dd as MANUAL_CHAT_TRIGGER_NODE_TYPE, de as EVALUATION_TRIGGER_NODE_TYPE, df as getBounds, dg as onBeforeRouteLeave, az as onBeforeMount, ak as WORKFLOW_SETTINGS_MODAL_KEY, aP as useExternalHooks, dh as onActivated, di as onDeactivated, dj as defineAsyncComponent, dk as N8nCallout, ao as __vitePreload, aa as EnterpriseEditionFeature, dl as EVALUATION_NODE_TYPE, ag as useTelemetry, dm as tryToParseNumber, aF as sourceControlEventBus, dn as getNodesWithNormalizedPosition, dp as needsAgentInput, dq as FROM_AI_PARAMETERS_MODAL_KEY, dr as historyBus, ds as DRAG_EVENT_DATA_KEY } from "./index-yHq_9MHK.js";
3
- import { g as globalLinkActionsEventBus } from "./global-link-actions-BjgA0KBu.js";
4
- import { u as useExecutionDebugging } from "./useExecutionDebugging-DeAtI2kq.js";
5
- import { u as useBeforeUnload } from "./useBeforeUnload-Bjelqp3f.js";
6
- import { g as getEasyAiWorkflowJson } from "./easyAiWorkflowUtils-C-Dw5dJK.js";
7
- import { u as useClearExecutionButtonVisible, c as canvasEventBus } from "./canvas-ak0Yge56.js";
8
- import { u as useWorkflowSaving } from "./useWorkflowSaving-DvqGBgRP.js";
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/NodeCreation-BzbZjItH.js","assets/index-C0NL0neN.js","assets/index-B4xpaMaK.css","assets/NodeCreation-RKvezEeg.css","assets/NodeDetailsView-3E8dQGdv.js","assets/import-curl-siE1BenB.js","assets/RunData-aaG8y8uW.js","assets/FileSaver.min-DX76qmEC.js","assets/useExecutionHelpers-Bl3D8hoc.js","assets/RunData-XsmLcFYS.css","assets/RunDataAi-Cu9RjIe5.js","assets/RunDataParsedAiContent-BYSyMg3C.js","assets/RunDataParsedAiContent-9EEUzCKp.css","assets/RunDataAi-D9VLFXIf.css","assets/useWorkflowActivate-Dmagygkf.js","assets/NodeDetailsView-6JHPI3t-.css","assets/SetupWorkflowCredentialsButton-mCv9f-vy.js"])))=>i.map(i=>d[i]);
2
+ import { A as defineComponent, C as resolveComponent, $ as createBlock, H as openBlock, av as _export_sfc$1, G as createElementBlock, L as createBaseVNode, ho as PanelPosition, hp as useVueFlow, cp as toRef, K as withCtx, I as renderSlot, an as createCommentVNode, aN as Fragment, J as createVNode, dj as resolveDynamicComponent, Q as unref, hq as _sfc_main$H, c as computed, b as useI18n, cc as KeyboardShortcutTooltip, aF as normalizeClass, S as NodeConnectionTypes, hr as getBezierPath, hs as getSmoothStepPath, ht as Position, h0 as inject, hu as CanvasKey, bC as useCssModule, hv as parseCanvasConnectionHandleString, r as ref, ac as onMounted, aO as renderList, hw as _sfc_main$d$1, bg as normalizeStyle, u as useUIStore, aq as useNodeTypesStore, e as useWorkflowsStore, ao as useSourceControlStore, bt as getResourcePermissions, hx as isNodeWithWorkflowSelector, hy as getSubworkflowId, fJ as isPresent, ae as watch, hz as getMousePosition, c7 as STICKY_NODE_TYPE, cZ as usePinnedData, hA as NOT_DUPLICATABLE_NODE_TYPES, hB as isExecutable, hC as Teleport, gu as useStyles, hm as N8nActionDropdown, cX as getDefaultExportFromCjs, gF as NODE_SIZE, hD as CanvasNodeRenderType, hE as GRID_SIZE, cb as useThrottleFn, hF as getRectOfNodes, bf as onUnmounted, hG as useActiveElement, gr as useDeviceSupport, hH as useEventListener, hI as onKeyDown, hJ as onKeyUp, ea as useSlots, hK as useAttrs, hL as getBoundsofRects, dn as watchEffect, O as toDisplayString, hM as getConnectedEdges, dB as normalizeProps, bA as mergeProps, h5 as provide, n as h, aW as createSlots, hN as isValidNodeConnectionType, hO as _sfc_main$3$1, hP as CanvasConnectionMode, hQ as CanvasNodeKey, bh as mergeModels, bi as useModel, ad as onBeforeUnmount, cY as useNodeHelpers, f_ as TitledList, bj as N8nTooltip, N as createTextVNode, gj as CanvasNodeDirtiness, d9 as _sfc_main$I, aH as withModifiers, hR as useGetPointerPosition, hS as clamp, hT as NodeId, bT as useNodeCreatorStore, f1 as nodeViewEventBus, ca as NODE_CREATOR_OPEN_SOURCES, gZ as useBuilderStore, eM as withKeys, hU as CanvasNodeHandleKey, R as withDirectives, aY as vShow, gq as Transition$1, hV as _sfc_main$f$1, j as useRouter, dl as useLogsStore, eG as useRunWorkflow, ap as useCanvasOperations, bW as CHAT_TRIGGER_NODE_TYPE, b9 as N8nButton, hW as insertSpacersBetweenEndpoints, hX as createCanvasConnectionHandleString, T as createEventBus, fN as isEqual, l as useSettingsStore, cv as nextTick, hY as _sfc_main$1$4, hZ as MarkerType, b6 as Suspense, ed as guardReactiveProps, h_ as updateViewportToContainNodes, gi as useNodeDirtiness, gI as CUSTOM_API_CALL_KEY, h$ as mapLegacyEndpointsToCanvasConnectionPort, f$ as getNodeInputs, fK as getNodeOutputs, eC as getTriggerNodeServiceName, s as sanitizeHtml, i0 as WAIT_NODE_TYPE, gU as SEND_AND_WAIT_OPERATION, i1 as FORM_NODE_TYPE, e4 as WAIT_INDEFINITELY, i2 as checkOverlap, i3 as SIMULATE_NODE_TYPE, i4 as SIMULATE_TRIGGER_NODE_TYPE, i5 as mapLegacyConnectionsToCanvasConnections, gO as getNodeIconSource, i6 as refThrottled, a7 as reactive, a6 as useRoute, k as useToast, aJ as useDocumentTitle, f as useWorkflowHelpers, bm as useCredentialsStore, cT as useEnvironmentsStore, co as useExternalSecretsStore, p as useRootStore, a$ as useExecutionsStore, a as useCanvasStore, d as useNpsSurveyStore, g3 as useHistoryStore, cK as useProjectsStore, al as useUsersStore, dZ as useTagsStore, B as usePushConnectionStore, b0 as useNDVStore, au as useTemplatesStore, dS as useFoldersStore, i7 as useAgentRequestStore, i8 as useWorkflowExtraction, aS as useClipboard, P as PLACEHOLDER_EMPTY_WORKFLOW_ID, dP as NEW_WORKFLOW_ID, V as VIEWS, ar as START_NODE_TYPE, dN as getNodeViewTab, dO as MAIN_HEADER_TABS, i9 as VALID_WORKFLOW_IMPORT_URL_REGEX, g as useMessage, i as MODAL_CONFIRM, fo as jsonParse, ia as MANUAL_CHAT_TRIGGER_NODE_TYPE, eF as EVALUATION_TRIGGER_NODE_TYPE, ib as getBounds, dM as onBeforeRouteLeave, b3 as onBeforeMount, aI as WORKFLOW_SETTINGS_MODAL_KEY, U as useExternalHooks, ic as onActivated, id as onDeactivated, bP as defineAsyncComponent, ej as N8nCallout, bQ as __vitePreload, E as EnterpriseEditionFeature, ie as EVALUATION_NODE_TYPE, o as useTelemetry, w as tryToParseNumber, eo as sourceControlEventBus, z as getNodesWithNormalizedPosition, ig as historyBus, ih as needsAgentInput, ii as FROM_AI_PARAMETERS_MODAL_KEY, gC as DRAG_EVENT_DATA_KEY } from "./index-C0NL0neN.js";
3
+ import { g as globalLinkActionsEventBus } from "./global-link-actions-CSuZV2We.js";
4
+ import { u as useExecutionDebugging } from "./useExecutionDebugging-Ch5Hf0on.js";
5
+ import { u as useBeforeUnload } from "./useBeforeUnload-NSNiO03-.js";
6
+ import { g as getEasyAiWorkflowJson } from "./easyAiWorkflowUtils-zrdqJwVh.js";
7
+ import { u as useClearExecutionButtonVisible, c as canvasEventBus } from "./canvas-zHARW7_y.js";
8
+ import { u as useWorkflowSaving } from "./useWorkflowSaving-AnoiossA.js";
9
9
  const _sfc_main$G = /* @__PURE__ */ defineComponent({
10
10
  __name: "CanvasChatButton",
11
11
  props: {
@@ -594,6 +594,15 @@ const useContextMenu = (onAction = () => {
594
594
  disabled: nodes.length === 0
595
595
  }
596
596
  ];
597
+ const extractionActions = [
598
+ {
599
+ id: "extract_sub_workflow",
600
+ divided: true,
601
+ label: i18n.baseText("contextMenu.extract", { adjustToNumber: nodes.length }),
602
+ shortcut: { altKey: true, keys: ["X"] },
603
+ disabled: isReadOnly.value
604
+ }
605
+ ];
597
606
  const layoutActions = [
598
607
  {
599
608
  id: "tidy_up",
@@ -647,6 +656,7 @@ const useContextMenu = (onAction = () => {
647
656
  disabled: isReadOnly.value || !nodes.every(canDuplicateNode)
648
657
  },
649
658
  ...layoutActions,
659
+ ...extractionActions,
650
660
  ...selectionActions,
651
661
  {
652
662
  id: "delete",
@@ -11618,7 +11628,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
11618
11628
  keyBindings: { type: Boolean, default: true },
11619
11629
  loading: { type: Boolean, default: false }
11620
11630
  },
11621
- emits: ["update:modelValue", "update:node:position", "update:nodes:position", "update:node:activated", "update:node:deactivated", "update:node:enabled", "update:node:selected", "update:node:name", "update:node:parameters", "update:node:inputs", "update:node:outputs", "update:logs-open", "update:logs:input-open", "update:logs:output-open", "update:has-range-selection", "click:node", "click:node:add", "run:node", "delete:node", "create:node", "create:sticky", "delete:nodes", "update:nodes:enabled", "copy:nodes", "duplicate:nodes", "update:nodes:pin", "cut:nodes", "delete:connection", "create:connection:start", "create:connection", "create:connection:end", "create:connection:cancelled", "click:connection:add", "click:pane", "run:workflow", "save:workflow", "create:workflow", "drag-and-drop", "tidy-up", "viewport:change", "selection:end", "open:sub-workflow", "start-chat"],
11631
+ emits: ["update:modelValue", "update:node:position", "update:nodes:position", "update:node:activated", "update:node:deactivated", "update:node:enabled", "update:node:selected", "update:node:name", "update:node:parameters", "update:node:inputs", "update:node:outputs", "update:logs-open", "update:logs:input-open", "update:logs:output-open", "update:has-range-selection", "click:node", "click:node:add", "run:node", "delete:node", "create:node", "create:sticky", "delete:nodes", "update:nodes:enabled", "copy:nodes", "duplicate:nodes", "update:nodes:pin", "cut:nodes", "delete:connection", "create:connection:start", "create:connection", "create:connection:end", "create:connection:cancelled", "click:connection:add", "click:pane", "run:workflow", "save:workflow", "create:workflow", "drag-and-drop", "tidy-up", "viewport:change", "selection:end", "open:sub-workflow", "start-chat", "extract-workflow"],
11622
11632
  setup(__props, { emit: __emit }) {
11623
11633
  const $style = useCssModule();
11624
11634
  const emit = __emit;
@@ -11770,6 +11780,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
11770
11780
  ctrl_enter: () => emit("run:workflow"),
11771
11781
  ctrl_s: () => emit("save:workflow"),
11772
11782
  shift_alt_t: async () => await onTidyUp({ source: "keyboard-shortcut" }),
11783
+ alt_x: emitWithSelectedNodes((ids) => emit("extract-workflow", ids)),
11773
11784
  c: () => emit("start-chat")
11774
11785
  };
11775
11786
  return fullKeymap;
@@ -12045,6 +12056,8 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
12045
12056
  return props.eventBus.emit("nodes:action", { ids: nodeIds, action: "update:sticky:color" });
12046
12057
  case "tidy_up":
12047
12058
  return await onTidyUp({ source: "context-menu" });
12059
+ case "extract_sub_workflow":
12060
+ return emit("extract-workflow", nodeIds);
12048
12061
  case "open_sub_workflow": {
12049
12062
  return emit("open:sub-workflow", nodeIds[0]);
12050
12063
  }
@@ -12277,7 +12290,7 @@ const style0$2 = {
12277
12290
  const cssModules$2 = {
12278
12291
  "$style": style0$2
12279
12292
  };
12280
- const Canvas = /* @__PURE__ */ _export_sfc$1(_sfc_main$7, [["__cssModules", cssModules$2], ["__scopeId", "data-v-e5ff5571"]]);
12293
+ const Canvas = /* @__PURE__ */ _export_sfc$1(_sfc_main$7, [["__cssModules", cssModules$2], ["__scopeId", "data-v-ff688b7e"]]);
12281
12294
  function useCanvasMapping({
12282
12295
  nodes,
12283
12296
  connections,
@@ -12471,7 +12484,7 @@ function useCanvasMapping({
12471
12484
  if ("eventTriggerDescription" in nodeTypeDescription) {
12472
12485
  const nodeName = i18n.shortNodeType(nodeTypeDescription.name);
12473
12486
  const { eventTriggerDescription } = nodeTypeDescription;
12474
- acc[node2.id] = i18n.nodeText().eventTriggerDescription(nodeName, eventTriggerDescription ?? "");
12487
+ acc[node2.id] = i18n.nodeText(nodeTypeDescription.name).eventTriggerDescription(nodeName, eventTriggerDescription ?? "");
12475
12488
  } else {
12476
12489
  acc[node2.id] = i18n.baseText("node.waitingForYouToCreateAnEventIn", {
12477
12490
  interpolate: {
@@ -12491,7 +12504,8 @@ function useCanvasMapping({
12491
12504
  );
12492
12505
  const nodeExecutionStatusById = computed(
12493
12506
  () => nodes.value.reduce((acc, node2) => {
12494
- acc[node2.id] = workflowsStore.getWorkflowRunData?.[node2.name]?.filter(Boolean)[0]?.executionStatus ?? "new";
12507
+ const tasks = workflowsStore.getWorkflowRunData?.[node2.name] ?? [];
12508
+ acc[node2.id] = tasks.at(-1)?.executionStatus ?? "new";
12495
12509
  return acc;
12496
12510
  }, {})
12497
12511
  );
@@ -12551,8 +12565,11 @@ function useCanvasMapping({
12551
12565
  acc[node2.id] = true;
12552
12566
  } else if (nodePinnedDataById.value[node2.id]) {
12553
12567
  acc[node2.id] = false;
12568
+ } else if (node2.issues && nodeHelpers.nodeIssuesToString(node2.issues, node2).length) {
12569
+ acc[node2.id] = true;
12554
12570
  } else {
12555
- acc[node2.id] = nodeIssuesById.value[node2.id].length > 0;
12571
+ const tasks = workflowsStore.getWorkflowRunData?.[node2.name] ?? [];
12572
+ acc[node2.id] = Boolean(tasks.at(-1)?.error);
12556
12573
  }
12557
12574
  return acc;
12558
12575
  }, {})
@@ -12878,7 +12895,8 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
12878
12895
  const _component_N8nButton = resolveComponent("N8nButton");
12879
12896
  return openBlock(), createBlock(KeyboardShortcutTooltip, {
12880
12897
  label: label2.value,
12881
- shortcut: { metaKey: true, keys: ["↵"] }
12898
+ shortcut: { metaKey: true, keys: ["↵"] },
12899
+ disabled: _ctx.executing
12882
12900
  }, {
12883
12901
  default: withCtx(() => [
12884
12902
  createVNode(_component_N8nButton, {
@@ -12895,7 +12913,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
12895
12913
  }, null, 8, ["loading", "label", "disabled"])
12896
12914
  ]),
12897
12915
  _: 1
12898
- }, 8, ["label"]);
12916
+ }, 8, ["label", "disabled"]);
12899
12917
  };
12900
12918
  }
12901
12919
  });
@@ -13041,13 +13059,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
13041
13059
  __name: "NodeView",
13042
13060
  setup(__props) {
13043
13061
  const LazyNodeCreation = defineAsyncComponent(
13044
- async () => await __vitePreload(() => import("./NodeCreation-Cc0NdFhH.js").then((n) => n.N), true ? __vite__mapDeps([0,1,2,3]) : void 0)
13062
+ async () => await __vitePreload(() => import("./NodeCreation-BzbZjItH.js").then((n) => n.N), true ? __vite__mapDeps([0,1,2,3]) : void 0)
13045
13063
  );
13046
13064
  const LazyNodeDetailsView = defineAsyncComponent(
13047
- async () => await __vitePreload(() => import("./NodeDetailsView-B9Fh0Dl2.js"), true ? __vite__mapDeps([4,1,2,5,6,7,8,9,10,11,12,13,14,15]) : void 0)
13065
+ async () => await __vitePreload(() => import("./NodeDetailsView-3E8dQGdv.js"), true ? __vite__mapDeps([4,1,2,5,6,7,8,9,10,11,12,13,14,15]) : void 0)
13048
13066
  );
13049
13067
  const LazySetupWorkflowCredentialsButton = defineAsyncComponent(
13050
- async () => await __vitePreload(() => import("./SetupWorkflowCredentialsButton-DDCGrXlU.js"), true ? __vite__mapDeps([16,1,2]) : void 0)
13068
+ async () => await __vitePreload(() => import("./SetupWorkflowCredentialsButton-mCv9f-vy.js"), true ? __vite__mapDeps([16,1,2]) : void 0)
13051
13069
  );
13052
13070
  const $style = useCssModule();
13053
13071
  const router = useRouter();
@@ -13096,6 +13114,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
13096
13114
  revertUpdateNodePosition,
13097
13115
  renameNode,
13098
13116
  revertRenameNode,
13117
+ revertReplaceNodeParameters,
13099
13118
  setNodeActive,
13100
13119
  setNodeSelected,
13101
13120
  toggleNodesDisabled,
@@ -13131,6 +13150,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
13131
13150
  lastClickPosition,
13132
13151
  startChat
13133
13152
  } = useCanvasOperations({ router });
13153
+ const { extractWorkflow } = useWorkflowExtraction();
13134
13154
  const { applyExecutionData } = useExecutionDebugging();
13135
13155
  useClipboard({ onPaste: onClipboardPaste });
13136
13156
  const isLoading = ref(true);
@@ -13418,6 +13438,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
13418
13438
  function onTidyUp(event) {
13419
13439
  tidyUp(event);
13420
13440
  }
13441
+ function onExtractWorkflow(nodeIds) {
13442
+ void extractWorkflow(nodeIds);
13443
+ }
13421
13444
  function onUpdateNodesPosition(events) {
13422
13445
  updateNodesPosition(events, { trackHistory: true });
13423
13446
  }
@@ -13616,6 +13639,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
13616
13639
  }) {
13617
13640
  await revertRenameNode(currentName, newName);
13618
13641
  }
13642
+ async function onRevertReplaceNodeParameters({
13643
+ nodeId,
13644
+ currentProperties,
13645
+ newProperties
13646
+ }) {
13647
+ await revertReplaceNodeParameters(nodeId, currentProperties, newProperties);
13648
+ }
13619
13649
  function onUpdateNodeParameters(id2, parameters) {
13620
13650
  setNodeParameters(id2, parameters);
13621
13651
  }
@@ -13979,6 +14009,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
13979
14009
  historyBus.on("revertAddConnection", onRevertCreateConnection);
13980
14010
  historyBus.on("revertRemoveConnection", onRevertDeleteConnection);
13981
14011
  historyBus.on("revertRenameNode", onRevertRenameNode);
14012
+ historyBus.on("revertReplaceNodeParameters", onRevertReplaceNodeParameters);
13982
14013
  historyBus.on("enableNodeToggle", onRevertToggleNodeDisabled);
13983
14014
  }
13984
14015
  function removeUndoRedoEventBindings() {
@@ -13988,6 +14019,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
13988
14019
  historyBus.off("revertAddConnection", onRevertCreateConnection);
13989
14020
  historyBus.off("revertRemoveConnection", onRevertDeleteConnection);
13990
14021
  historyBus.off("revertRenameNode", onRevertRenameNode);
14022
+ historyBus.off("revertReplaceNodeParameters", onRevertReplaceNodeParameters);
13991
14023
  historyBus.off("enableNodeToggle", onRevertToggleNodeDisabled);
13992
14024
  }
13993
14025
  async function onSourceControlPull() {
@@ -14409,6 +14441,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
14409
14441
  "onSelection:end": onSelectionEnd,
14410
14442
  onDragAndDrop,
14411
14443
  onTidyUp,
14444
+ onExtractWorkflow,
14412
14445
  onStartChat: _cache[4] || (_cache[4] = ($event) => unref(startChat)())
14413
14446
  }, {
14414
14447
  default: withCtx(() => [
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, b as useRouter, q as computed, c as useI18n, h as resolveComponent, e as createBlock, g as openBlock, m as unref, V as VIEWS, ab as ProjectTypes, gg as splitName, g4 as ResourceType, bN as resolveDirective, i as createElementBlock, b8 as mergeProps, j as createVNode, x as renderSlot, w as withCtx, f as createCommentVNode, n as normalizeClass, aA as withDirectives, eQ as ProjectIcon, k as createBaseVNode, l as createTextVNode, t as toDisplayString, _ as _export_sfc } from "./index-yHq_9MHK.js";
1
+ import { A as defineComponent, j as useRouter, c as computed, b as useI18n, C as resolveComponent, $ as createBlock, H as openBlock, Q as unref, V as VIEWS, bx as ProjectTypes, by as splitName, bz as ResourceType, F as resolveDirective, G as createElementBlock, bA as mergeProps, J as createVNode, I as renderSlot, K as withCtx, an as createCommentVNode, aF as normalizeClass, R as withDirectives, bB as ProjectIcon, L as createBaseVNode, N as createTextVNode, O as toDisplayString, av as _export_sfc } from "./index-C0NL0neN.js";
2
2
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
3
3
  __name: "EmptySharedSectionActionBox",
4
4
  props: {
@@ -47,19 +47,22 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
47
47
  setup(__props) {
48
48
  const props = __props;
49
49
  const i18n = useI18n();
50
+ const isShared = computed(() => {
51
+ return "sharedWithProjects" in props.resource && props.resource.sharedWithProjects?.length;
52
+ });
50
53
  const projectState = computed(() => {
51
54
  if (props.resource.homeProject && props.personalProject && props.resource.homeProject.id === props.personalProject.id || !props.resource.homeProject) {
52
- if (props.resource.sharedWithProjects?.length) {
55
+ if (isShared.value) {
53
56
  return "shared-owned";
54
57
  }
55
58
  return "owned";
56
59
  } else if (props.resource.homeProject?.type !== ProjectTypes.Team) {
57
- if (props.resource.sharedWithProjects?.length) {
60
+ if (isShared.value) {
58
61
  return "shared-personal";
59
62
  }
60
63
  return "personal";
61
64
  } else if (props.resource.homeProject?.type === ProjectTypes.Team) {
62
- if (props.resource.sharedWithProjects?.length) {
65
+ if (isShared.value) {
63
66
  return "shared-team";
64
67
  }
65
68
  return "team";
@@ -67,7 +70,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
67
70
  return "unknown";
68
71
  });
69
72
  const numberOfMembersInHomeTeamProject = computed(
70
- () => props.resource.sharedWithProjects?.length ?? 0
73
+ () => "sharedWithProjects" in props.resource ? props.resource.sharedWithProjects?.length ?? 0 : 0
71
74
  );
72
75
  const badgeText = computed(() => {
73
76
  if (projectState.value === "owned" || projectState.value === "shared-owned") {
@@ -1,5 +1,5 @@
1
- import { d as defineComponent, R as useRoute, r as ref, q as computed, V as VIEWS, c as useI18n, X as watch, h as resolveComponent, e as createBlock, g as openBlock, i as createElementBlock, n as normalizeClass, x as renderSlot, j as createVNode, m as unref, gh as N8nActionToggle, w as withCtx, aT as _sfc_main$3, _ as _export_sfc, b as useRouter, a1 as useProjectsStore, a0 as useSourceControlStore, p as useSettingsStore, ab as ProjectTypes, a7 as getResourcePermissions, k as createBaseVNode, f as createCommentVNode, eQ as ProjectIcon, l as createTextVNode, t as toDisplayString, bh as N8nButton, b8 as mergeProps, aR as N8nTooltip } from "./index-yHq_9MHK.js";
2
- import { u as useProjectPages } from "./useProjectPages-B2uri9MQ.js";
1
+ import { A as defineComponent, a6 as useRoute, r as ref, c as computed, V as VIEWS, b as useI18n, ae as watch, C as resolveComponent, $ as createBlock, H as openBlock, G as createElementBlock, aF as normalizeClass, I as renderSlot, J as createVNode, Q as unref, dc as N8nActionToggle, K as withCtx, a_ as _sfc_main$3, av as _export_sfc, j as useRouter, cK as useProjectsStore, ao as useSourceControlStore, l as useSettingsStore, bx as ProjectTypes, bt as getResourcePermissions, L as createBaseVNode, an as createCommentVNode, bB as ProjectIcon, N as createTextVNode, O as toDisplayString, b9 as N8nButton, bA as mergeProps, bj as N8nTooltip } from "./index-C0NL0neN.js";
2
+ import { u as useProjectPages } from "./useProjectPages-BLJMaAOf.js";
3
3
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
4
4
  __name: "ProjectTabs",
5
5
  props: {