n8n-editor-ui 1.91.1 → 1.93.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 (120) hide show
  1. package/dist/assets/{AnimatedSpinner-BrkRvAXQ.js → AnimatedSpinner-hbTZDd93.js} +1 -1
  2. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-DRamY8Fo.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-CYzc5StE.js} +1 -1
  3. package/dist/assets/{AuthView-ehh7NFh5.js → AuthView-8SLMP0H_.js} +2 -2
  4. package/dist/assets/{CanvasChatSwitch-DUBgoMXw.js → CanvasChatSwitch-Dt8TgNJg.js} +22 -10
  5. package/dist/assets/{ChangePasswordView-BLFb7_-o.js → ChangePasswordView-DIRyDp89.js} +3 -3
  6. package/dist/assets/CollectionParameter-Cj4t6-hd.js +4 -0
  7. package/dist/assets/{CredentialsView-1uYUpp0G.js → CredentialsView-B6-VxAJ6.js} +26 -11
  8. package/dist/assets/{DemoFooter-CNfkqkRC.js → DemoFooter-CIHwH5PG.js} +8 -8
  9. package/dist/assets/{ErrorView-CmYweWFA.js → ErrorView-C7i0TZwT.js} +1 -1
  10. package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-DAWTDTON.js → ExecutionsTime.vue_vue_type_script_setup_true_lang--2G21NNR.js} +2 -2
  11. package/dist/assets/{ExecutionsView-fotg1R4V.js → ExecutionsView-C_YtciAr.js} +10 -9
  12. package/dist/assets/{FileSaver.min-CcnqpaV-.js → FileSaver.min-bgn7Q9Gt.js} +1 -1
  13. package/dist/assets/{FixedCollectionParameter-BYR4RzWw.js → FixedCollectionParameter-BPCJ5aaq.js} +1 -1
  14. package/dist/assets/{ForgotMyPasswordView-CQMKtpr-.js → ForgotMyPasswordView-DyUaGd6Z.js} +3 -3
  15. package/dist/assets/{InsightsChartAverageRuntime-B-9BU5qw.js → InsightsChartAverageRuntime-BB2I2vpV.js} +4 -4
  16. package/dist/assets/{InsightsChartFailed-Bd1BlFEm.js → InsightsChartFailed-CN_Rl3Bl.js} +4 -4
  17. package/dist/assets/{InsightsChartFailureRate-DPTCueAp.js → InsightsChartFailureRate-CHKlg6tg.js} +4 -4
  18. package/dist/assets/{InsightsChartTimeSaved-CSVKB08W.js → InsightsChartTimeSaved-Cd05cM8q.js} +4 -4
  19. package/dist/assets/{InsightsChartTotal-Bxjmisao.js → InsightsChartTotal-ChAO7myf.js} +4 -4
  20. package/dist/assets/{InsightsDashboard-5cOORj5z.js → InsightsDashboard-BeCfBVUz.js} +10 -10
  21. package/dist/assets/{InsightsPaywall-Bdo_3Ic_.js → InsightsPaywall-Chz8CDc3.js} +1 -1
  22. package/dist/assets/{InsightsSummary-DB62HhNM.js → InsightsSummary-MECenLJQ.js} +1 -1
  23. package/dist/assets/{InsightsTableWorkflows-BEC5Yh0b.js → InsightsTableWorkflows-5rpYY7YT.js} +2 -2
  24. package/dist/assets/{Logo-CK8euEWT.js → Logo-DUDCllkm.js} +1 -1
  25. package/dist/assets/{LogsPanel-CrGEYFLo.js → LogsPanel-D9r5AcQH.js} +75 -106
  26. package/dist/assets/{LogsPanel-DLC2TAqh.css → LogsPanel-mTaFEGk_.css} +38 -34
  27. package/dist/assets/{MainHeader-CEPLiR-5.css → MainHeader-CEMGASqv.css} +18 -11
  28. package/dist/assets/{MainHeader-C7XOaZKu.js → MainHeader-DkKOOZ_D.js} +145 -79
  29. package/dist/assets/{MainSidebar-CKMiDGvH.css → MainSidebar-D1_1YFQZ.css} +13 -12
  30. package/dist/assets/{MainSidebar-DD_ugRL3.js → MainSidebar-ZUBIWeXm.js} +36 -19
  31. package/dist/assets/{NodeCreation-S2FoBcnW.js → NodeCreation-DCfAFuL5.js} +10 -5
  32. package/dist/assets/{NodeCreator-D9fmPdS2.css → NodeCreator-D18StsVZ.css} +1021 -174
  33. package/dist/assets/{NodeCreator-D6TKVgLu.js → NodeCreator-a0YVv1IE.js} +863 -418
  34. package/dist/assets/{NodeDetailsView-DtvMtBqp.js → NodeDetailsView-C5_hVJzj.js} +60 -47
  35. package/dist/assets/{NodeDetailsView-CGgV4Pn_.css → NodeDetailsView-pYP-34nS.css} +20 -20
  36. package/dist/assets/{NodeView-BPhaaoWK.js → NodeView-Bk9h8GYy.js} +49 -25
  37. package/dist/assets/{ProjectCardBadge-C_L_pqWA.js → ProjectCardBadge-DRlDZx3d.js} +38 -2
  38. package/dist/assets/{ProjectHeader-C0FZTxjm.js → ProjectHeader-DNm605Kk.js} +106 -64
  39. package/dist/assets/{ProjectSettings-DlggJ6Ti.js → ProjectSettings-Dge_6KaR.js} +3 -2
  40. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-BNtCDFSj.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-CUf0LkWR.js} +1 -1
  41. package/dist/assets/{ResourcesListLayout-HzoSFUaj.js → ResourcesListLayout-Bbl-1i4l.js} +156 -53
  42. package/dist/assets/{ResourcesListLayout-CtGME7aU.css → ResourcesListLayout-DuNjbsMn.css} +8 -8
  43. package/dist/assets/{RunData-C9dtm1M2.css → RunData-DQeENuzG.css} +12 -2
  44. package/dist/assets/{RunData-D8Eax0cQ.js → RunData-b0RE2JWc.js} +418 -207
  45. package/dist/assets/{RunDataAi-BF2gZZGr.css → RunDataAi-D9VLFXIf.css} +10 -51
  46. package/dist/assets/{RunDataAi-BUnCQIRN.js → RunDataAi-DnWcCR_0.js} +27 -310
  47. package/dist/assets/{RunDataJson-DXd3nZxI.js → RunDataJson-CptVuHuA.js} +7 -7
  48. package/dist/assets/{RunDataJsonActions-aivOaol2.js → RunDataJsonActions-3jjDztw7.js} +1 -1
  49. package/dist/assets/RunDataParsedAiContent-9EEUzCKp.css +176 -0
  50. package/dist/assets/RunDataParsedAiContent-BbXv-NPD.js +148 -0
  51. package/dist/assets/{RunDataSearch-DJ9BZGTu.js → RunDataSearch-B90wjsDA.js} +1 -1
  52. package/dist/assets/{RunDataTable-vEPCwbcC.js → RunDataTable-CpS78GlT.js} +3 -3
  53. package/dist/assets/{SamlOnboarding--OTxMEws.js → SamlOnboarding-Ch9K5rRW.js} +3 -3
  54. package/dist/assets/{SettingsApiView-BulxWyyY.js → SettingsApiView-9GU5n_rm.js} +1 -1
  55. package/dist/assets/{SettingsCommunityNodesView-4wwPXFO2.js → SettingsCommunityNodesView-CPnVRzNX.js} +24 -11
  56. package/dist/assets/{SettingsExternalSecrets-zt7dxBKK.js → SettingsExternalSecrets-D7xTMV9h.js} +1 -1
  57. package/dist/assets/{SettingsLdapView-xneO6UIv.js → SettingsLdapView-OfrjGKkt.js} +1 -1
  58. package/dist/assets/{SettingsLogStreamingView-_h8wUzum.js → SettingsLogStreamingView-C_VnOaeX.js} +1 -1
  59. package/dist/assets/{SettingsPersonalView-CwYMP4sk.js → SettingsPersonalView-Dm24akPV.js} +14 -13
  60. package/dist/assets/{SettingsSourceControl-B9Tg93u3.js → SettingsSourceControl-DDCmL82j.js} +1 -1
  61. package/dist/assets/{SettingsSso-XaL1PzfW.js → SettingsSso-BGGQ0Cpg.js} +14 -1
  62. package/dist/assets/{SettingsUsageAndPlan-Ci15FW81.js → SettingsUsageAndPlan-BzO_zdkH.js} +1 -1
  63. package/dist/assets/{SettingsUsersView-DBJV4vSK.js → SettingsUsersView-DHQUqhqB.js} +1 -1
  64. package/dist/assets/{SettingsView-DMzdPF-1.js → SettingsView-CbtAqjOX.js} +1 -1
  65. package/dist/assets/{SetupView-BqWgdvDq.js → SetupView-BME1OE6U.js} +3 -3
  66. package/dist/assets/{SetupWorkflowCredentialsButton-B2wnuUnF.js → SetupWorkflowCredentialsButton-DZr4TCPC.js} +1 -1
  67. package/dist/assets/{SetupWorkflowFromTemplateView-BwC_wFSc.js → SetupWorkflowFromTemplateView-CPkKEY04.js} +3 -3
  68. package/dist/assets/{SigninView-DpTLJJwD.js → SigninView-DUeRvOiY.js} +3 -3
  69. package/dist/assets/{SignoutView-dkTtOCo1.js → SignoutView-BC7SBunZ.js} +1 -1
  70. package/dist/assets/{SignupView-CJFJJO3L.js → SignupView-B5ecYJ2q.js} +3 -3
  71. package/dist/assets/{TemplateDetails-84YElIBA.js → TemplateDetails-DjanZgC1.js} +1 -1
  72. package/dist/assets/{TemplateList-CGsfKuVA.js → TemplateList-8TyNGxY-.js} +1 -1
  73. package/dist/assets/{TemplatesCollectionView-2y8KZk0I.js → TemplatesCollectionView-BkH4pJCv.js} +5 -5
  74. package/dist/assets/{TemplatesSearchView-DgosiOzl.js → TemplatesSearchView-Bcdhi1SL.js} +3 -3
  75. package/dist/assets/{TemplatesView-CgQSZO4a.js → TemplatesView-De2XB6We.js} +1 -1
  76. package/dist/assets/{TemplatesWorkflowView-2pSUmAbX.js → TemplatesWorkflowView-BVnwtrMa.js} +5 -5
  77. package/dist/assets/{TestDefinitionEditView-C26sWE7p.js → TestDefinitionEditView-DjmPnrTk.js} +7 -7
  78. package/dist/assets/{TestDefinitionListView-Cyl6bsLP.js → TestDefinitionListView-BL2s_qBZ.js} +1 -1
  79. package/dist/assets/{TestDefinitionNewView-CfIZ0atk.js → TestDefinitionNewView-B9BqJZST.js} +2 -2
  80. package/dist/assets/{TestDefinitionRootView-CYg7HBL-.js → TestDefinitionRootView-AlWyxbc0.js} +1 -1
  81. package/dist/assets/{VariablesView-BFE9B0_b.js → VariablesView-BZCvPfan.js} +4 -3
  82. package/dist/assets/{WorkerView-BUMCMS_B.js → WorkerView-CigxqnWi.js} +6 -6
  83. package/dist/assets/{WorkflowActivator-BDLto9c0.js → WorkflowActivator-B7jRy4L1.js} +8 -4
  84. package/dist/assets/{WorkflowActivator-DAyH7N29.css → WorkflowActivator-DrMTmuTZ.css} +2 -2
  85. package/dist/assets/{WorkflowExecutionsInfoAccordion-manN-WIj.js → WorkflowExecutionsInfoAccordion-C_ZycbsF.js} +1 -1
  86. package/dist/assets/{WorkflowExecutionsLandingPage-BzGmpGvf.js → WorkflowExecutionsLandingPage-DOqrfKlC.js} +2 -2
  87. package/dist/assets/{WorkflowExecutionsPreview-CNEV2lom.js → WorkflowExecutionsPreview-B4Cj2gXW.js} +6 -6
  88. package/dist/assets/{WorkflowExecutionsView-WiNvtAmD.js → WorkflowExecutionsView-RXfP7zkJ.js} +11 -9
  89. package/dist/assets/{WorkflowHistory-6uJJqB4x.js → WorkflowHistory-DrXrRwIS.js} +37 -19
  90. package/dist/assets/{WorkflowOnboardingView-CPt_AUR-.js → WorkflowOnboardingView-CXH1vCW2.js} +1 -1
  91. package/dist/assets/{WorkflowPreview-CHUEX6H6.js → WorkflowPreview-B_MuFEV8.js} +1 -1
  92. package/dist/assets/{WorkflowsView-B2_HJCJ5.css → WorkflowsView-CQvTAWQ0.css} +24 -13
  93. package/dist/assets/{WorkflowsView-DbGBRbfc.js → WorkflowsView-D90hfJ35.js} +300 -158
  94. package/dist/assets/{chartjs.utils-C--HONKb.js → chartjs.utils-DalQn9bk.js} +2 -2
  95. package/dist/assets/{dateFormatter-DbKqmK4w.js → dateFormatter-BPfJSa6q.js} +1 -1
  96. package/dist/assets/{easyAiWorkflowUtils-BWgfZ0am.js → easyAiWorkflowUtils-kgtpBx2h.js} +1 -1
  97. package/dist/assets/{global-link-actions-COf-9vBh.js → global-link-actions-CnWOMvqA.js} +1 -1
  98. package/dist/assets/{import-curl-BiXaU2jk.js → import-curl-BvX_O56D.js} +1 -1
  99. package/dist/assets/{index-B6xE9gZ1.js → index-Bb2NNknG.js} +1 -1
  100. package/dist/assets/{index-BLAboPd2.js → index-DZ6VpjNj.js} +4635 -2824
  101. package/dist/assets/{index-sq5ggyEC.css → index-yNaoC3fo.css} +363 -97
  102. package/dist/assets/{pickBy-gZHb6vZ2.js → pickBy-B_HGYyxS.js} +1 -1
  103. package/dist/assets/{templateActions-DCx74tPa.js → templateActions-DQfZ3ni5.js} +1 -1
  104. package/dist/assets/{useBeforeUnload-DbfysOS-.js → useBeforeUnload-Cu0LPVWe.js} +1 -1
  105. package/dist/assets/{useCanvasMapping-CSuq_dYj.js → useCanvasMapping-CTTq6x8X.js} +62 -40
  106. package/dist/assets/{useCanvasMapping-cuXLM-h-.css → useCanvasMapping-VtpW_QZA.css} +6 -5
  107. package/dist/assets/{useCanvasOperations-C0pQBHW3.js → useCanvasOperations-u8oSDa_u.js} +96 -445
  108. package/dist/assets/{useClearExecutionButtonVisible-Cvfxw8xC.js → useClearExecutionButtonVisible-Dwc1_eG9.js} +2 -2
  109. package/dist/assets/{useExecutionDebugging-D2H5O6fT.js → useExecutionDebugging-rc72wLIp.js} +1 -1
  110. package/dist/assets/{useExecutionHelpers-C--m0pTQ.js → useExecutionHelpers-DqwMonFW.js} +2 -2
  111. package/dist/assets/{useImportCurlCommand-XFn6Ezp2.js → useImportCurlCommand-D_onuFvo.js} +19 -10
  112. package/dist/assets/useProjectPages-e8b03-5_.js +17 -0
  113. package/dist/assets/usePushConnection-wm-7Id6Q.js +629 -0
  114. package/dist/assets/{useTestDefinitionForm-2YP-8pAN.js → useTestDefinitionForm-DlUOnNC0.js} +1 -1
  115. package/dist/assets/{useWorkflowActivate-CvmIpy5T.js → useWorkflowActivate-65xML23U.js} +1 -1
  116. package/dist/assets/useWorkflowSaving-CUel20JA.js +66 -0
  117. package/dist/index.html +2 -2
  118. package/package.json +1 -1
  119. package/dist/assets/CollectionParameter-BaH_a73u.js +0 -4
  120. package/dist/assets/usePushConnection-x0iF1Axz.js +0 -537
@@ -1,12 +1,13 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/NodeCreation-S2FoBcnW.js","assets/index-BLAboPd2.js","assets/index-sq5ggyEC.css","assets/useCanvasOperations-C0pQBHW3.js","assets/NodeCreation-RKvezEeg.css","assets/NodeDetailsView-DtvMtBqp.js","assets/import-curl-BiXaU2jk.js","assets/RunData-D8Eax0cQ.js","assets/FileSaver.min-CcnqpaV-.js","assets/useExecutionHelpers-C--m0pTQ.js","assets/dateFormatter-DbKqmK4w.js","assets/RunData-C9dtm1M2.css","assets/RunDataAi-BUnCQIRN.js","assets/RunDataAi-BF2gZZGr.css","assets/useWorkflowActivate-CvmIpy5T.js","assets/NodeDetailsView-CGgV4Pn_.css","assets/SetupWorkflowCredentialsButton-B2wnuUnF.js"])))=>i.map(i=>d[i]);
2
- import { d as defineComponent, h as resolveComponent, e as createBlock, g as openBlock, C as createEventBus, Y as useCssModule, bN as toRef, q as computed, r as ref, bO as refDebounced, i as createElementBlock, k as createBaseVNode, x as renderSlot, f as createCommentVNode, b7 as mergeProps, m as unref, n as normalizeClass, _ as _export_sfc, c as useI18n, bP as KeyboardShortcutTooltip, w as withCtx, j as createVNode, b2 as withModifiers, bQ as reactive, o as onMounted, bb as onUnmounted, l as createTextVNode, t as toDisplayString, b as useRouter, R as useRoute, a as useToast, a4 as useDocumentTitle, a5 as useWorkflowHelpers, bA as useNodeHelpers, bz as useNodeTypesStore, H as useUIStore, Q as useWorkflowsStore, a0 as useSourceControlStore, p as useSettingsStore, bR as useCredentialsStore, bS as useEnvironmentsStore, bT as useExternalSecretsStore, Z as useRootStore, at as useExecutionsStore, $ as useCanvasStore, a3 as useNpsSurveyStore, bU as useHistoryStore, a1 as useProjectsStore, u as useUsersStore, E as useTagsStore, P as usePushConnectionStore, as as useNDVStore, aN as useTemplatesStore, bV as useBuilderStore, a2 as useFoldersStore, bB as useRunWorkflow, bf as useClipboard, S as PLACEHOLDER_EMPTY_WORKFLOW_ID, bW as NEW_WORKFLOW_ID, V as VIEWS, aZ as LOGS_PANEL_STATE, bX as START_NODE_TYPE, bY as getNodeViewTab, s as MAIN_HEADER_TABS, am as VALID_WORKFLOW_IMPORT_URL_REGEX, ai as useMessage, aj as MODAL_CONFIRM, bZ as jsonParse, a7 as getResourcePermissions, bk as CHAT_TRIGGER_NODE_TYPE, bl as MANUAL_CHAT_TRIGGER_NODE_TYPE, X as watch, b_ as onBeforeRouteLeave, az as onBeforeMount, ak as WORKFLOW_SETTINGS_MODAL_KEY, aP as useExternalHooks, b$ as onActivated, c0 as onDeactivated, y as onBeforeUnmount, c1 as Suspense, c2 as defineAsyncComponent, c3 as N8nCallout, ao as __vitePreload, aa as EnterpriseEditionFeature, z as nextTick, ag as useTelemetry, c4 as tryToParseNumber, ah as nodeViewEventBus, bm as NodeConnectionTypes, c5 as isValidNodeConnectionType, c6 as CanvasConnectionMode, c7 as historyBus, aF as sourceControlEventBus, c8 as getNodesWithNormalizedPosition, aq as h, c9 as NODE_CREATOR_OPEN_SOURCES, ca as CanvasNodeRenderType, ay as STICKY_NODE_TYPE, cb as DRAG_EVENT_DATA_KEY } from "./index-BLAboPd2.js";
3
- import { u as useVueFlow, a as useCanvasMapping, C as Canvas } from "./useCanvasMapping-CSuq_dYj.js";
4
- import { g as globalLinkActionsEventBus } from "./global-link-actions-COf-9vBh.js";
5
- import { a as useNodeCreatorStore, b as useCanvasOperations, c as createCanvasConnectionHandleString } from "./useCanvasOperations-C0pQBHW3.js";
6
- import { u as useExecutionDebugging } from "./useExecutionDebugging-D2H5O6fT.js";
7
- import { u as useBeforeUnload } from "./useBeforeUnload-DbfysOS-.js";
8
- import { g as getEasyAiWorkflowJson } from "./easyAiWorkflowUtils-BWgfZ0am.js";
9
- import { u as useClearExecutionButtonVisible } from "./useClearExecutionButtonVisible-Cvfxw8xC.js";
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/NodeCreation-DCfAFuL5.js","assets/index-DZ6VpjNj.js","assets/index-yNaoC3fo.css","assets/useCanvasOperations-u8oSDa_u.js","assets/NodeCreation-RKvezEeg.css","assets/NodeDetailsView-C5_hVJzj.js","assets/import-curl-BvX_O56D.js","assets/RunData-b0RE2JWc.js","assets/FileSaver.min-bgn7Q9Gt.js","assets/useExecutionHelpers-DqwMonFW.js","assets/dateFormatter-BPfJSa6q.js","assets/RunData-DQeENuzG.css","assets/RunDataAi-DnWcCR_0.js","assets/RunDataParsedAiContent-BbXv-NPD.js","assets/RunDataParsedAiContent-9EEUzCKp.css","assets/RunDataAi-D9VLFXIf.css","assets/useWorkflowActivate-65xML23U.js","assets/NodeDetailsView-pYP-34nS.css","assets/SetupWorkflowCredentialsButton-DZr4TCPC.js"])))=>i.map(i=>d[i]);
2
+ import { d as defineComponent, h as resolveComponent, e as createBlock, g as openBlock, C as createEventBus, Y as useCssModule, bO as toRef, q as computed, r as ref, bP as refThrottled, i as createElementBlock, k as createBaseVNode, x as renderSlot, f as createCommentVNode, b7 as mergeProps, m as unref, n as normalizeClass, _ as _export_sfc, c as useI18n, bQ as KeyboardShortcutTooltip, w as withCtx, j as createVNode, b2 as withModifiers, bR as reactive, o as onMounted, bb as onUnmounted, l as createTextVNode, t as toDisplayString, b as useRouter, R as useRoute, a as useToast, a4 as useDocumentTitle, a5 as useWorkflowHelpers, bA as useNodeHelpers, bz as useNodeTypesStore, H as useUIStore, Q as useWorkflowsStore, a0 as useSourceControlStore, p as useSettingsStore, bS as useCredentialsStore, bT as useEnvironmentsStore, bU as useExternalSecretsStore, Z as useRootStore, at as useExecutionsStore, $ as useCanvasStore, a3 as useNpsSurveyStore, bV as useHistoryStore, a1 as useProjectsStore, u as useUsersStore, E as useTagsStore, P as usePushConnectionStore, as as useNDVStore, aN as useTemplatesStore, bW as useBuilderStore, a2 as useFoldersStore, bX as useAgentRequestStore, bB as useRunWorkflow, bf as useClipboard, S as PLACEHOLDER_EMPTY_WORKFLOW_ID, bY as NEW_WORKFLOW_ID, V as VIEWS, aZ as LOGS_PANEL_STATE, bZ as START_NODE_TYPE, b_ as getNodeViewTab, s as MAIN_HEADER_TABS, b$ as VALID_WORKFLOW_IMPORT_URL_REGEX, ai as useMessage, aj as MODAL_CONFIRM, c0 as jsonParse, a7 as getResourcePermissions, bk as CHAT_TRIGGER_NODE_TYPE, bl as MANUAL_CHAT_TRIGGER_NODE_TYPE, X as watch, c1 as onBeforeRouteLeave, az as onBeforeMount, ak as WORKFLOW_SETTINGS_MODAL_KEY, aP as useExternalHooks, c2 as onActivated, c3 as onDeactivated, y as onBeforeUnmount, c4 as Suspense, c5 as defineAsyncComponent, c6 as N8nCallout, ao as __vitePreload, aa as EnterpriseEditionFeature, z as nextTick, ag as useTelemetry, c7 as tryToParseNumber, ah as nodeViewEventBus, bm as NodeConnectionTypes, c8 as isValidNodeConnectionType, c9 as CanvasConnectionMode, ca as historyBus, aF as sourceControlEventBus, cb as getNodesWithNormalizedPosition, aq as h, cc as NODE_CREATOR_OPEN_SOURCES, cd as CanvasNodeRenderType, ay as STICKY_NODE_TYPE, ce as needsAgentInput, cf as FROM_AI_PARAMETERS_MODAL_KEY, cg as DRAG_EVENT_DATA_KEY } from "./index-DZ6VpjNj.js";
3
+ import { u as useVueFlow, a as useCanvasMapping, C as Canvas } from "./useCanvasMapping-CTTq6x8X.js";
4
+ import { g as globalLinkActionsEventBus } from "./global-link-actions-CnWOMvqA.js";
5
+ import { u as useNodeCreatorStore, a as useCanvasOperations, c as createCanvasConnectionHandleString } from "./useCanvasOperations-u8oSDa_u.js";
6
+ import { u as useExecutionDebugging } from "./useExecutionDebugging-rc72wLIp.js";
7
+ import { u as useBeforeUnload } from "./useBeforeUnload-Cu0LPVWe.js";
8
+ import { g as getEasyAiWorkflowJson } from "./easyAiWorkflowUtils-kgtpBx2h.js";
9
+ import { u as useClearExecutionButtonVisible } from "./useClearExecutionButtonVisible-Dwc1_eG9.js";
10
+ import { u as useWorkflowSaving } from "./useWorkflowSaving-CUel20JA.js";
10
11
  const _sfc_main$7 = /* @__PURE__ */ defineComponent({
11
12
  __name: "CanvasChatButton",
12
13
  props: {
@@ -63,8 +64,8 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
63
64
  initialFitViewDone.value = true;
64
65
  }
65
66
  });
66
- const mappedNodesDebounced = refDebounced(mappedNodes, 200, { maxWait: 50 });
67
- const mappedConnectionsDebounced = refDebounced(mappedConnections, 200, { maxWait: 50 });
67
+ const mappedNodesThrottled = refThrottled(mappedNodes, 200);
68
+ const mappedConnectionsThrottled = refThrottled(mappedConnections, 200);
68
69
  return (_ctx, _cache) => {
69
70
  return openBlock(), createElementBlock("div", {
70
71
  class: normalizeClass(unref($style).wrapper),
@@ -76,8 +77,8 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
76
77
  workflow.value ? (openBlock(), createBlock(Canvas, mergeProps({
77
78
  key: 0,
78
79
  id: _ctx.id,
79
- nodes: _ctx.executing ? unref(mappedNodesDebounced) : unref(mappedNodes),
80
- connections: _ctx.executing ? unref(mappedConnectionsDebounced) : unref(mappedConnections),
80
+ nodes: _ctx.executing ? unref(mappedNodesThrottled) : unref(mappedNodes),
81
+ connections: _ctx.executing ? unref(mappedConnectionsThrottled) : unref(mappedConnections),
81
82
  "event-bus": _ctx.eventBus,
82
83
  "read-only": _ctx.readOnly
83
84
  }, _ctx.$attrs), null, 16, ["id", "nodes", "connections", "event-bus", "read-only"])) : createCommentVNode("", true)
@@ -284,13 +285,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
284
285
  __name: "NodeView",
285
286
  setup(__props) {
286
287
  const LazyNodeCreation = defineAsyncComponent(
287
- async () => await __vitePreload(() => import("./NodeCreation-S2FoBcnW.js").then((n) => n.N), true ? __vite__mapDeps([0,1,2,3,4]) : void 0)
288
+ async () => await __vitePreload(() => import("./NodeCreation-DCfAFuL5.js").then((n) => n.N), true ? __vite__mapDeps([0,1,2,3,4]) : void 0)
288
289
  );
289
290
  const LazyNodeDetailsView = defineAsyncComponent(
290
- async () => await __vitePreload(() => import("./NodeDetailsView-DtvMtBqp.js"), true ? __vite__mapDeps([5,1,2,6,7,8,9,10,11,12,3,13,14,15]) : void 0)
291
+ async () => await __vitePreload(() => import("./NodeDetailsView-C5_hVJzj.js"), true ? __vite__mapDeps([5,1,2,6,7,8,9,10,11,12,13,14,3,15,16,17]) : void 0)
291
292
  );
292
293
  const LazySetupWorkflowCredentialsButton = defineAsyncComponent(
293
- async () => await __vitePreload(() => import("./SetupWorkflowCredentialsButton-B2wnuUnF.js"), true ? __vite__mapDeps([16,1,2]) : void 0)
294
+ async () => await __vitePreload(() => import("./SetupWorkflowCredentialsButton-DZr4TCPC.js"), true ? __vite__mapDeps([18,1,2]) : void 0)
294
295
  );
295
296
  const $style = useCssModule();
296
297
  const router = useRouter();
@@ -325,6 +326,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
325
326
  const templatesStore = useTemplatesStore();
326
327
  const builderStore = useBuilderStore();
327
328
  const foldersStore = useFoldersStore();
329
+ const agentRequestStore = useAgentRequestStore();
328
330
  const canvasEventBus = createEventBus();
329
331
  const { addBeforeUnloadEventBindings, removeBeforeUnloadEventBindings } = useBeforeUnload({
330
332
  route
@@ -362,6 +364,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
362
364
  setNodeActiveByName,
363
365
  clearNodeActive,
364
366
  addConnections,
367
+ tryToOpenSubworkflowInNewTab,
365
368
  importWorkflowData,
366
369
  fetchWorkflowDataFromUrl,
367
370
  resetWorkspace,
@@ -396,7 +399,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
396
399
  return sourceControlStore.preferences.branchReadOnly;
397
400
  });
398
401
  const isCanvasReadOnly = computed(() => {
399
- return isDemoRoute.value || isReadOnlyEnvironment.value || !(workflowPermissions.value.update ?? projectPermissions.value.workflow.update);
402
+ return isDemoRoute.value || isReadOnlyEnvironment.value || !(workflowPermissions.value.update ?? projectPermissions.value.workflow.update) || editableWorkflow.value.isArchived;
400
403
  });
401
404
  const showFallbackNodes = computed(() => triggerNodes.value.length === 0);
402
405
  const keyBindingsEnabled = computed(() => {
@@ -478,12 +481,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
478
481
  async function initializeWorkspaceForNewWorkflow() {
479
482
  resetWorkspace();
480
483
  const parentFolderId = route.query.parentFolderId;
481
- await workflowsStore.getNewWorkflowData(
484
+ await workflowsStore.getNewWorkflowDataAndMakeShareable(
482
485
  void 0,
483
486
  projectsStore.currentProjectId,
484
487
  parentFolderId
485
488
  );
486
- workflowsStore.makeNewWorkflowShareable();
487
489
  if (projectsStore.currentProjectId) {
488
490
  await fetchAndSetProject(projectsStore.currentProjectId);
489
491
  }
@@ -687,9 +689,18 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
687
689
  function onClickNode() {
688
690
  closeNodeCreator();
689
691
  }
690
- function onSetNodeActivated(id) {
692
+ function onSetNodeActivated(id, event) {
693
+ if (event?.metaKey || event?.ctrlKey) {
694
+ const didOpen = tryToOpenSubworkflowInNewTab(id);
695
+ if (didOpen) {
696
+ return;
697
+ }
698
+ }
691
699
  setNodeActive(id);
692
700
  }
701
+ function onOpenSubWorkflow(id) {
702
+ tryToOpenSubworkflowInNewTab(id);
703
+ }
693
704
  function onSetNodeDeactivated() {
694
705
  clearNodeActive();
695
706
  }
@@ -757,7 +768,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
757
768
  }
758
769
  async function onSaveWorkflow() {
759
770
  const workflowIsSaved = !uiStore.stateIsDirty;
760
- if (workflowIsSaved) {
771
+ const workflowIsArchived = workflowsStore.workflow.isArchived;
772
+ if (workflowIsSaved || workflowIsArchived) {
761
773
  return;
762
774
  }
763
775
  const saved = await workflowHelpers.saveCurrentWorkflow();
@@ -1048,8 +1060,18 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1048
1060
  async function onRunWorkflowToNode(id) {
1049
1061
  const node = workflowsStore.getNodeById(id);
1050
1062
  if (!node) return;
1051
- trackRunWorkflowToNode(node);
1052
- void runWorkflow({ destinationNode: node.name, source: "Node.executeNode" });
1063
+ if (needsAgentInput(node) && nodeTypesStore.isToolNode(node.type)) {
1064
+ uiStore.openModalWithData({
1065
+ name: FROM_AI_PARAMETERS_MODAL_KEY,
1066
+ data: {
1067
+ nodeName: node.name
1068
+ }
1069
+ });
1070
+ } else {
1071
+ trackRunWorkflowToNode(node);
1072
+ agentRequestStore.clearAgentRequests(workflowsStore.workflowId, node.id);
1073
+ void runWorkflow({ destinationNode: node.name, source: "Node.executeNode" });
1074
+ }
1053
1075
  }
1054
1076
  function trackRunWorkflowToNode(node) {
1055
1077
  const telemetryPayload = {
@@ -1471,12 +1493,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1471
1493
  next();
1472
1494
  return;
1473
1495
  }
1474
- await workflowHelpers.promptSaveUnsavedWorkflowChanges(next, {
1496
+ await useWorkflowSaving({ router }).promptSaveUnsavedWorkflowChanges(next, {
1475
1497
  async confirm() {
1476
1498
  if (from.name === VIEWS.NEW_WORKFLOW) {
1499
+ const savedWorkflowId = workflowsStore.workflowId;
1477
1500
  await router.replace({
1478
1501
  name: VIEWS.WORKFLOW,
1479
- params: { name: workflowId.value }
1502
+ params: { name: savedWorkflowId }
1480
1503
  });
1481
1504
  await router.push(to);
1482
1505
  return false;
@@ -1567,6 +1590,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1567
1590
  "onUpdate:node:parameters": onUpdateNodeParameters,
1568
1591
  "onUpdate:node:inputs": onUpdateNodeInputs,
1569
1592
  "onUpdate:node:outputs": onUpdateNodeOutputs,
1593
+ "onOpen:subWorkflow": onOpenSubWorkflow,
1570
1594
  "onClick:node": onClickNode,
1571
1595
  "onClick:node:add": onClickNodeAdd,
1572
1596
  "onRun:node": onRunWorkflowToNode,
@@ -1,4 +1,39 @@
1
- import { d as defineComponent, q as computed, ab as ProjectTypes, c as useI18n, h7 as splitName, gU as ResourceType, V as VIEWS, h as resolveComponent, ch as resolveDirective, i as createElementBlock, g as openBlock, b7 as mergeProps, j as createVNode, x as renderSlot, w as withCtx, e as createBlock, f as createCommentVNode, n as normalizeClass, aA as withDirectives, dA as ProjectIcon, k as createBaseVNode, l as createTextVNode, t as toDisplayString, _ as _export_sfc } from "./index-BLAboPd2.js";
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, hh as splitName, h5 as ResourceType, co as resolveDirective, i as createElementBlock, b7 as mergeProps, j as createVNode, x as renderSlot, w as withCtx, f as createCommentVNode, n as normalizeClass, aA as withDirectives, dI as ProjectIcon, k as createBaseVNode, l as createTextVNode, t as toDisplayString, _ as _export_sfc } from "./index-DZ6VpjNj.js";
2
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
3
+ __name: "EmptySharedSectionActionBox",
4
+ props: {
5
+ personalProject: {},
6
+ resourceType: { default: "workflows" }
7
+ },
8
+ setup(__props) {
9
+ const i18n = useI18n();
10
+ const router = useRouter();
11
+ const props = __props;
12
+ const heading = computed(() => {
13
+ return i18n.baseText("workflows.empty.shared-with-me", {
14
+ interpolate: {
15
+ resource: i18n.baseText(`generic.${props.resourceType === "workflows" ? "workflow" : "credential"}`).toLowerCase()
16
+ }
17
+ });
18
+ });
19
+ const onPersonalLinkClick = (event) => {
20
+ event.preventDefault();
21
+ void router.push({
22
+ name: VIEWS.PROJECTS_WORKFLOWS,
23
+ params: { projectId: props.personalProject.id }
24
+ });
25
+ };
26
+ return (_ctx, _cache) => {
27
+ const _component_n8n_action_box = resolveComponent("n8n-action-box");
28
+ return openBlock(), createBlock(_component_n8n_action_box, {
29
+ "data-test-id": "empty-shared-action-box",
30
+ heading: heading.value,
31
+ description: unref(i18n).baseText("workflows.empty.shared-with-me.link"),
32
+ onDescriptionClick: onPersonalLinkClick
33
+ }, null, 8, ["heading", "description"]);
34
+ };
35
+ }
36
+ });
2
37
  const _hoisted_1 = { key: 1 };
3
38
  const _sfc_main = /* @__PURE__ */ defineComponent({
4
39
  __name: "ProjectCardBadge",
@@ -194,5 +229,6 @@ const cssModules = {
194
229
  };
195
230
  const ProjectCardBadge = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
196
231
  export {
197
- ProjectCardBadge as P
232
+ ProjectCardBadge as P,
233
+ _sfc_main$1 as _
198
234
  };
@@ -1,62 +1,71 @@
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, gJ as N8nActionToggle, w as withCtx, aT as _sfc_main$3, _ as _export_sfc, bQ as reactive, b as useRouter, a1 as useProjectsStore, a0 as useSourceControlStore, p as useSettingsStore, ab as ProjectTypes, a7 as getResourcePermissions, k as createBaseVNode, f as createCommentVNode, dA as ProjectIcon, l as createTextVNode, t as toDisplayString, bg as N8nButton, b7 as mergeProps, aR as N8nTooltip } from "./index-BLAboPd2.js";
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, gW 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, dI as ProjectIcon, l as createTextVNode, t as toDisplayString, bg as N8nButton, b7 as mergeProps, aR as N8nTooltip } from "./index-DZ6VpjNj.js";
2
+ import { u as useProjectPages } from "./useProjectPages-e8b03-5_.js";
2
3
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
3
4
  __name: "ProjectTabs",
4
5
  props: {
5
- showSettings: { type: Boolean }
6
+ showSettings: { type: Boolean, default: false },
7
+ showExecutions: { type: Boolean, default: true },
8
+ pageType: { default: "project" }
6
9
  },
7
10
  setup(__props) {
8
11
  const props = __props;
9
12
  const locale = useI18n();
10
13
  const route = useRoute();
11
14
  const selectedTab = ref("");
12
- const options = computed(() => {
13
- const projectId = route?.params?.projectId;
14
- const to = projectId ? {
15
- workflows: {
16
- name: VIEWS.PROJECTS_WORKFLOWS,
17
- params: { projectId }
18
- },
19
- credentials: {
20
- name: VIEWS.PROJECTS_CREDENTIALS,
21
- params: { projectId }
22
- },
23
- executions: {
24
- name: VIEWS.PROJECTS_EXECUTIONS,
25
- params: { projectId }
26
- }
27
- } : {
28
- workflows: {
29
- name: VIEWS.WORKFLOWS
30
- },
31
- credentials: {
32
- name: VIEWS.CREDENTIALS
33
- },
34
- executions: {
35
- name: VIEWS.EXECUTIONS
36
- }
15
+ const projectId = computed(() => {
16
+ return Array.isArray(route?.params?.projectId) ? route.params.projectId[0] : route?.params?.projectId;
17
+ });
18
+ const getRouteConfigs = () => {
19
+ if (projectId.value) {
20
+ return {
21
+ workflows: {
22
+ name: VIEWS.PROJECTS_WORKFLOWS,
23
+ params: { projectId: projectId.value }
24
+ },
25
+ credentials: {
26
+ name: VIEWS.PROJECTS_CREDENTIALS,
27
+ params: { projectId: projectId.value }
28
+ },
29
+ executions: {
30
+ name: VIEWS.PROJECTS_EXECUTIONS,
31
+ params: { projectId: projectId.value }
32
+ }
33
+ };
34
+ }
35
+ if (props.pageType === "shared") {
36
+ return {
37
+ workflows: { name: VIEWS.SHARED_WORKFLOWS },
38
+ credentials: { name: VIEWS.SHARED_CREDENTIALS },
39
+ executions: { name: VIEWS.NOT_FOUND }
40
+ };
41
+ }
42
+ return {
43
+ workflows: { name: VIEWS.WORKFLOWS },
44
+ credentials: { name: VIEWS.CREDENTIALS },
45
+ executions: { name: VIEWS.EXECUTIONS }
46
+ };
47
+ };
48
+ const createTab = (label, routeKey, routes) => {
49
+ return {
50
+ label: locale.baseText(label),
51
+ value: routes[routeKey].name,
52
+ to: routes[routeKey]
37
53
  };
54
+ };
55
+ const options = computed(() => {
56
+ const routes = getRouteConfigs();
38
57
  const tabs = [
39
- {
40
- label: locale.baseText("mainSidebar.workflows"),
41
- value: to.workflows.name,
42
- to: to.workflows
43
- },
44
- {
45
- label: locale.baseText("mainSidebar.credentials"),
46
- value: to.credentials.name,
47
- to: to.credentials
48
- },
49
- {
50
- label: locale.baseText("mainSidebar.executions"),
51
- value: to.executions.name,
52
- to: to.executions
53
- }
58
+ createTab("mainSidebar.workflows", "workflows", routes),
59
+ createTab("mainSidebar.credentials", "credentials", routes)
54
60
  ];
61
+ if (props.showExecutions) {
62
+ tabs.push(createTab("mainSidebar.executions", "executions", routes));
63
+ }
55
64
  if (props.showSettings) {
56
65
  tabs.push({
57
66
  label: locale.baseText("projects.settings"),
58
67
  value: VIEWS.PROJECT_SETTINGS,
59
- to: { name: VIEWS.PROJECT_SETTINGS, params: { projectId } }
68
+ to: { name: VIEWS.PROJECT_SETTINGS, params: { projectId: projectId.value } }
60
69
  });
61
70
  }
62
71
  return tabs;
@@ -64,7 +73,6 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
64
73
  watch(
65
74
  () => route?.name,
66
75
  () => {
67
- selectedTab.value = route?.name;
68
76
  selectedTab.value = route.name === VIEWS.PROJECTS_FOLDERS ? VIEWS.PROJECTS_WORKFLOWS : route.name;
69
77
  },
70
78
  { immediate: true }
@@ -132,16 +140,6 @@ const cssModules$1 = {
132
140
  "$style": style0$1
133
141
  };
134
142
  const ProjectCreateResource = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__cssModules", cssModules$1]]);
135
- const useOverview = () => {
136
- const route = useRoute();
137
- const isOverviewSubPage = computed(
138
- () => route.name === VIEWS.WORKFLOWS || route.name === VIEWS.HOMEPAGE || route.name === VIEWS.CREDENTIALS || route.name === VIEWS.EXECUTIONS || route.name === VIEWS.FOLDERS
139
- );
140
- return reactive({
141
- isOverviewSubPage
142
- });
143
- };
144
- const _hoisted_1 = { key: 0 };
145
143
  const _sfc_main = /* @__PURE__ */ defineComponent({
146
144
  __name: "ProjectHeader",
147
145
  emits: ["createFolder"],
@@ -152,7 +150,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
152
150
  const projectsStore = useProjectsStore();
153
151
  const sourceControlStore = useSourceControlStore();
154
152
  const settingsStore = useSettingsStore();
155
- const overview = useOverview();
153
+ const projectPages = useProjectPages();
156
154
  const emit = __emit;
157
155
  const headerIcon = computed(() => {
158
156
  if (projectsStore.currentProject?.type === ProjectTypes.Personal) {
@@ -165,7 +163,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
165
163
  });
166
164
  const projectName = computed(() => {
167
165
  if (!projectsStore.currentProject) {
168
- return i18n.baseText("projects.menu.overview");
166
+ if (projectPages.isOverviewSubPage) {
167
+ return i18n.baseText("projects.menu.overview");
168
+ } else if (projectPages.isSharedSubPage) {
169
+ return i18n.baseText("projects.header.shared.title");
170
+ }
171
+ return null;
169
172
  } else if (projectsStore.currentProject.type === ProjectTypes.Personal) {
170
173
  return i18n.baseText("projects.menu.personal");
171
174
  } else {
@@ -179,6 +182,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
179
182
  () => !!route?.params?.projectId && !!projectPermissions.value.update && projectsStore.currentProject?.type === ProjectTypes.Team
180
183
  );
181
184
  const homeProject = computed(() => projectsStore.currentProject ?? projectsStore.personalProject);
185
+ const isPersonalProject = computed(() => {
186
+ return homeProject.value?.type === ProjectTypes.Personal;
187
+ });
182
188
  const showFolders = computed(() => {
183
189
  return settingsStore.isFoldersFeatureEnabled && [VIEWS.PROJECTS_WORKFLOWS, VIEWS.PROJECTS_FOLDERS].includes(route.name);
184
190
  });
@@ -211,6 +217,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
211
217
  }
212
218
  return items;
213
219
  });
220
+ const showProjectIcon = computed(() => {
221
+ return !projectPages.isOverviewSubPage && !projectPages.isSharedSubPage && !isPersonalProject.value;
222
+ });
214
223
  const actions2 = {
215
224
  [ACTION_TYPES.WORKFLOW]: (projectId) => {
216
225
  void router.push({
@@ -234,6 +243,25 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
234
243
  emit("createFolder");
235
244
  }
236
245
  };
246
+ const pageType = computed(() => {
247
+ if (projectPages.isOverviewSubPage) {
248
+ return "overview";
249
+ } else if (projectPages.isSharedSubPage) {
250
+ return "shared";
251
+ } else {
252
+ return "project";
253
+ }
254
+ });
255
+ const subtitle = computed(() => {
256
+ if (projectPages.isOverviewSubPage) {
257
+ return i18n.baseText("projects.header.overview.subtitle");
258
+ } else if (projectPages.isSharedSubPage) {
259
+ return i18n.baseText("projects.header.shared.subtitle");
260
+ } else if (isPersonalProject.value) {
261
+ return i18n.baseText("projects.header.personal.subtitle");
262
+ }
263
+ return null;
264
+ });
237
265
  const onSelect = (action) => {
238
266
  const executableAction = actions2[action];
239
267
  if (!homeProject.value) {
@@ -251,7 +279,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
251
279
  createBaseVNode("div", {
252
280
  class: normalizeClass(_ctx.$style.projectDetails)
253
281
  }, [
254
- !unref(overview).isOverviewSubPage ? (openBlock(), createBlock(ProjectIcon, {
282
+ showProjectIcon.value ? (openBlock(), createBlock(ProjectIcon, {
255
283
  key: 0,
256
284
  icon: headerIcon.value,
257
285
  "border-less": true,
@@ -260,20 +288,31 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
260
288
  createBaseVNode("div", {
261
289
  class: normalizeClass(_ctx.$style.headerActions)
262
290
  }, [
263
- createVNode(_component_N8nHeading, {
291
+ projectName.value ? (openBlock(), createBlock(_component_N8nHeading, {
292
+ key: 0,
264
293
  bold: "",
265
294
  tag: "h2",
266
- size: "xlarge"
295
+ size: "xlarge",
296
+ "data-test-id": "project-name"
267
297
  }, {
268
298
  default: withCtx(() => [
269
299
  createTextVNode(toDisplayString(projectName.value), 1)
270
300
  ]),
271
301
  _: 1
272
- }),
302
+ })) : createCommentVNode("", true),
273
303
  createVNode(_component_N8nText, { color: "text-light" }, {
274
304
  default: withCtx(() => [
275
305
  renderSlot(_ctx.$slots, "subtitle", {}, () => [
276
- !unref(projectsStore).currentProject ? (openBlock(), createElementBlock("span", _hoisted_1, toDisplayString(unref(i18n).baseText("projects.header.subtitle")), 1)) : createCommentVNode("", true)
306
+ subtitle.value ? (openBlock(), createBlock(_component_N8nText, {
307
+ key: 0,
308
+ color: "text-light",
309
+ "data-test-id": "project-subtitle"
310
+ }, {
311
+ default: withCtx(() => [
312
+ createTextVNode(toDisplayString(subtitle.value), 1)
313
+ ]),
314
+ _: 1
315
+ })) : createCommentVNode("", true)
277
316
  ])
278
317
  ]),
279
318
  _: 3
@@ -311,7 +350,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
311
350
  createBaseVNode("div", {
312
351
  class: normalizeClass(_ctx.$style.actions)
313
352
  }, [
314
- createVNode(_sfc_main$2, { "show-settings": showSettings.value }, null, 8, ["show-settings"])
353
+ createVNode(_sfc_main$2, {
354
+ "page-type": pageType.value,
355
+ "show-executions": !unref(projectPages).isSharedSubPage,
356
+ "show-settings": showSettings.value
357
+ }, null, 8, ["page-type", "show-executions", "show-settings"])
315
358
  ], 2)
316
359
  ]);
317
360
  };
@@ -334,6 +377,5 @@ const cssModules = {
334
377
  };
335
378
  const ProjectHeader = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
336
379
  export {
337
- ProjectHeader as P,
338
- useOverview as u
380
+ ProjectHeader as P
339
381
  };
@@ -1,5 +1,6 @@
1
- import { d as defineComponent, g8 as mergeModels, g9 as useModel, r as ref, q as computed, c as useI18n, h as resolveComponent, e as createBlock, g as openBlock, w as withCtx, j as createVNode, k as createBaseVNode, l as createTextVNode, t as toDisplayString, m as unref, i as createElementBlock, f as createCommentVNode, n as normalizeClass, gp as ProjectSharing, b2 as withModifiers, _ as _export_sfc, a6 as usePageRedirectionHelper, u as useUsersStore, a1 as useProjectsStore, he as useRolesStore, aI as useCloudPlanStore, a as useToast, b as useRouter, a4 as useDocumentTitle, hf as getAllIconNames, X as watch, az as onBeforeMount, o as onMounted, db as N8nFormInput, F as Fragment, D as renderList, cg as deepCopy, ag as useTelemetry, z as nextTick, V as VIEWS } from "./index-BLAboPd2.js";
2
- import { P as ProjectHeader } from "./ProjectHeader-C0FZTxjm.js";
1
+ import { d as defineComponent, gj as mergeModels, gk as useModel, r as ref, q as computed, c as useI18n, h as resolveComponent, e as createBlock, g as openBlock, w as withCtx, j as createVNode, k as createBaseVNode, l as createTextVNode, t as toDisplayString, m as unref, i as createElementBlock, f as createCommentVNode, n as normalizeClass, gB as ProjectSharing, b2 as withModifiers, _ as _export_sfc, a6 as usePageRedirectionHelper, u as useUsersStore, a1 as useProjectsStore, hr as useRolesStore, aI as useCloudPlanStore, a as useToast, b as useRouter, a4 as useDocumentTitle, hs as getAllIconNames, X as watch, az as onBeforeMount, o as onMounted, di as N8nFormInput, F as Fragment, D as renderList, cn as deepCopy, ag as useTelemetry, z as nextTick, V as VIEWS } from "./index-DZ6VpjNj.js";
2
+ import { P as ProjectHeader } from "./ProjectHeader-DNm605Kk.js";
3
+ import "./useProjectPages-e8b03-5_.js";
3
4
  const _hoisted_1$2 = { class: "pt-l" };
4
5
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
5
6
  __name: "ProjectDeleteDialog",
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, P as usePushConnectionStore, q as computed, h as resolveComponent, ch as resolveDirective, i as createElementBlock, g as openBlock, x as renderSlot, j as createVNode, w as withCtx, k as createBaseVNode, l as createTextVNode, t as toDisplayString, m as unref, c as useI18n, aA as withDirectives } from "./index-BLAboPd2.js";
1
+ import { d as defineComponent, P as usePushConnectionStore, q as computed, h as resolveComponent, co as resolveDirective, i as createElementBlock, g as openBlock, x as renderSlot, j as createVNode, w as withCtx, k as createBaseVNode, l as createTextVNode, t as toDisplayString, m as unref, c as useI18n, aA as withDirectives } from "./index-DZ6VpjNj.js";
2
2
  const _hoisted_1 = {
3
3
  key: 0,
4
4
  class: "push-connection-lost primary-color"