n8n-editor-ui 1.113.1 → 1.114.1

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 (133) hide show
  1. package/.build/cache-marker +1 -1
  2. package/.build/node-popularity.json +1 -3918
  3. package/dist/assets/{AddDataStoreModal-C-20tjW5.js → AddDataStoreModal-CsFLy-os.js} +8 -8
  4. package/dist/assets/{AnimatedSpinner-WDiU4lXb.js → AnimatedSpinner-BdYQZRvm.js} +1 -1
  5. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-CV4yKdOK.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-C-w_sFn5.js} +1 -1
  6. package/dist/assets/{AuthView-BfD8L-MR.js → AuthView-DfDkMLKR.js} +2 -2
  7. package/dist/assets/{ChangePasswordView-BHlNjnju.js → ChangePasswordView-D7ySKRGb.js} +3 -3
  8. package/dist/assets/CollectionParameter-CNnsizMe.js +4 -0
  9. package/dist/assets/{ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-Bm1msTtB.js → ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-ZKSyv6Rm.js} +1 -1
  10. package/dist/assets/{CredentialsView-Bpi1QEHU.js → CredentialsView-BSSTTfsB.js} +19 -19
  11. package/dist/assets/{DataStoreActions.vue_vue_type_script_setup_true_lang-BCsNv_gY.js → DataStoreActions.vue_vue_type_script_setup_true_lang-D4LRnvHA.js} +1 -1
  12. package/dist/assets/{DataStoreDetailsView-BwvQ5I7d.js → DataStoreDetailsView-Dkr_HtEW.js} +38 -26
  13. package/dist/assets/{DataStoreView-Bctk8RYi.js → DataStoreView-Cms5uqRt.js} +13 -14
  14. package/dist/assets/{DemoFooter-CxWGBc_7.js → DemoFooter-CKaunwpF.js} +6 -6
  15. package/dist/assets/{EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-DqQrOg_2.js → EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-BS4e8zRV.js} +3 -3
  16. package/dist/assets/{EntityNotFound-D7CGrbgk.js → EntityNotFound-D80vzHfS.js} +1 -1
  17. package/dist/assets/{EntityUnAuthorised-BO9xlb2N.js → EntityUnAuthorised-BlMXoT9N.js} +1 -1
  18. package/dist/assets/{ErrorView-C1PhniXH.js → ErrorView-Cg-eq9CL.js} +9 -9
  19. package/dist/assets/{EvaluationsRootView-C0QRKk3k.js → EvaluationsRootView-DWg4U9MD.js} +5 -5
  20. package/dist/assets/{EvaluationsView-CYpgbXKx.js → EvaluationsView-DZT93B1S.js} +3 -3
  21. package/dist/assets/{ExecutionsTime-etWexlXm.css → ExecutionsTime-CWHk7ZwI.css} +6 -6
  22. package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-Dh8inRTk.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-BZMWMaK1.js} +39 -39
  23. package/dist/assets/{ExecutionsView-BCb0Zr7W.js → ExecutionsView-DVSp3FTL.js} +10 -10
  24. package/dist/assets/{FixedCollectionParameter-D4km_FeH.js → FixedCollectionParameter-BFbAkjot.js} +4 -4
  25. package/dist/assets/{FixedCollectionParameter-Dg7ZadcB.css → FixedCollectionParameter-TY1-sHgZ.css} +18 -18
  26. package/dist/assets/{ForgotMyPasswordView-CdhGWxw4.js → ForgotMyPasswordView-1gl-DTSD.js} +3 -3
  27. package/dist/assets/{InfoAccordion-DE2_sS98.js → InfoAccordion-B4atTFpH.js} +1 -1
  28. package/dist/assets/{InsightsChartAverageRuntime-D5ZE_Nla.js → InsightsChartAverageRuntime-BdVbh5ca.js} +4 -4
  29. package/dist/assets/{InsightsChartFailed-BdeF-nyF.js → InsightsChartFailed-tRahEeus.js} +4 -4
  30. package/dist/assets/{InsightsChartFailureRate-C_YnwTyc.js → InsightsChartFailureRate-aLmvV-2j.js} +4 -4
  31. package/dist/assets/{InsightsChartTimeSaved-cTOv1Iga.js → InsightsChartTimeSaved-Bw1GK02H.js} +4 -4
  32. package/dist/assets/{InsightsChartTotal-BKK9PNU1.js → InsightsChartTotal-YCLp-Mvg.js} +4 -4
  33. package/dist/assets/{InsightsDashboard-COAZWSu2.js → InsightsDashboard-C0GhlvO0.js} +11 -11
  34. package/dist/assets/{InsightsPaywall-BWpRemTn.js → InsightsPaywall-BqrNu0Sm.js} +1 -1
  35. package/dist/assets/{InsightsSummary-jcJA88u3.js → InsightsSummary-BIsW50Wb.js} +2 -3
  36. package/dist/assets/{InsightsTableWorkflows-Bh_NN7kQ.js → InsightsTableWorkflows-m0FuDdM6.js} +6 -7
  37. package/dist/assets/{Logo-DZ3J8N5N.js → Logo-CJDZZ9Dc.js} +1 -1
  38. package/dist/assets/{LogsPanel-DSS_hDBL.js → LogsPanel-AuBzspf5.js} +189 -101
  39. package/dist/assets/{LogsPanel-CUsQIBpC.css → LogsPanel-BE9Gl1z0.css} +26 -27
  40. package/dist/assets/{MainHeader-6lIHYgJG.css → MainHeader-BM1jYnSL.css} +6 -6
  41. package/dist/assets/{MainHeader-DfMxpY4d.js → MainHeader-CTr2-gOV.js} +17 -17
  42. package/dist/assets/{MainSidebar-a73tcV9E.css → MainSidebar-BWPXOik1.css} +156 -0
  43. package/dist/assets/{MainSidebar-C7fZf9ti.js → MainSidebar-wsfu6n1v.js} +204 -48
  44. package/dist/assets/{NodeCreation-DndFLn5s.js → NodeCreation-Uqspyd-Q.js} +11 -11
  45. package/dist/assets/{NodeCreator-DG0hCOby.js → NodeCreator-Cho8tlDH.js} +47 -34
  46. package/dist/assets/{NodeDetailsView-G0hcQtkE.js → NodeDetailsView-Cla0enix.js} +27 -27
  47. package/dist/assets/{NodeDetailsViewV2-BGHhaOjo.js → NodeDetailsViewV2-CImiiHw5.js} +16 -16
  48. package/dist/assets/{NodeView-Chs2u0U9.css → NodeView-DoRx_8YL.css} +0 -165
  49. package/dist/assets/{NodeView-D_Lf20Cj.js → NodeView-R0RrSafO.js} +82 -258
  50. package/dist/assets/{PageViewLayout-cxvwso_r.js → PageViewLayout-XMbxzupW.js} +1 -1
  51. package/dist/assets/{PrebuiltAgentTemplatesView--njlASMr.js → PrebuiltAgentTemplatesView-CVQlXLgD.js} +2 -2
  52. package/dist/assets/{ProjectBreadcrumb-KIWhTojS.js → ProjectBreadcrumb-CARSpK7o.js} +28 -12
  53. package/dist/assets/{ProjectHeader-B5uv4DKo.css → ProjectHeader-BNMKpvzV.css} +9 -9
  54. package/dist/assets/{ProjectHeader-PFXNU0--.js → ProjectHeader-CSMsPy1n.js} +10 -10
  55. package/dist/assets/{ProjectSettings-C1kZ9wA5.js → ProjectSettings-BfGExA4I.js} +169 -161
  56. package/dist/assets/{ProjectSettings-B5z1mrGW.css → ProjectSettings-Cj1kC16G.css} +30 -15
  57. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-Bzf7nqUd.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-QmS6y6VJ.js} +5 -5
  58. package/dist/assets/{ResourcesListLayout-DQODsJpR.js → ResourcesListLayout-ATgLHOKO.js} +42 -42
  59. package/dist/assets/{ResourcesListLayout-vTwRIDRz.css → ResourcesListLayout-BseE8-rt.css} +8 -8
  60. package/dist/assets/{RunDataJson-BcUo9gnI.js → RunDataJson-PRchch-O.js} +3 -3
  61. package/dist/assets/{RunDataJsonActions-BCQ7lOd5.js → RunDataJsonActions-Ca-7abwJ.js} +1 -1
  62. package/dist/assets/{RunDataParsedAiContent-BnKhGr-k.js → RunDataParsedAiContent-LwO8lYeE.js} +2 -2
  63. package/dist/assets/{RunDataSearch-CiRa4kQq.js → RunDataSearch-_AawIJ1P.js} +59 -16
  64. package/dist/assets/{RunDataTable-Cb01UpR9.js → RunDataTable-C2IhJVY7.js} +4 -4
  65. package/dist/assets/{SamlOnboarding-BqIwhbZw.js → SamlOnboarding-DNGq1d-y.js} +3 -3
  66. package/dist/assets/{SelectedItemsInfo-DuFbVGZm.js → SelectedItemsInfo-DCbeoQ__.js} +1 -1
  67. package/dist/assets/{SettingsApiView-D2j7Vbwi.js → SettingsApiView-B8W2w9F3.js} +23 -24
  68. package/dist/assets/{SettingsCommunityNodesView-oZIjk1s_.js → SettingsCommunityNodesView-CSGQvqSv.js} +31 -31
  69. package/dist/assets/{SettingsExternalSecrets-Cea9JY7A.js → SettingsExternalSecrets-DvgKCijP.js} +18 -18
  70. package/dist/assets/{SettingsLdapView-Cg2gnd72.js → SettingsLdapView-Bls3Hiov.js} +17 -17
  71. package/dist/assets/{SettingsLogStreamingView-BScR5ZFJ.js → SettingsLogStreamingView-DC0NxA14.js} +29 -29
  72. package/dist/assets/SettingsMCPView-D_A3IzDR.js +626 -0
  73. package/dist/assets/SettingsMCPView-INU33iV4.css +370 -0
  74. package/dist/assets/{SettingsPersonalView-BfEdqrEE.js → SettingsPersonalView-BfvHbPzX.js} +31 -31
  75. package/dist/assets/{SettingsSourceControl-CQiyVvB3.js → SettingsSourceControl-DEAYOup_.js} +208 -65
  76. package/dist/assets/{SettingsSso-CAAxAbK6.js → SettingsSso-DT7TNXiC.js} +61 -23
  77. package/dist/assets/{SettingsUsageAndPlan-DTV0d49_.js → SettingsUsageAndPlan-BunLqdZX.js} +16 -17
  78. package/dist/assets/{SettingsUsageAndPlan-CfFJy6fo.css → SettingsUsageAndPlan-CfunueCX.css} +3 -3
  79. package/dist/assets/{SettingsUsersView-Ceq9-_wv.js → SettingsUsersView-C1DaGjPi.js} +4 -4
  80. package/dist/assets/{SettingsView-sqSuzp6q.js → SettingsView-BVBdo1Q8.js} +13 -12
  81. package/dist/assets/{SetupView-DNxfN7wc.js → SetupView-Ds_FejJz.js} +3 -3
  82. package/dist/assets/{SetupWorkflowCredentialsButton-DUCOv6F6.js → SetupWorkflowCredentialsButton-7QTSQ-Cp.js} +3 -3
  83. package/dist/assets/{SetupWorkflowFromTemplateView-DU4khxPx.js → SetupWorkflowFromTemplateView-DgAeg0pL.js} +13 -13
  84. package/dist/assets/{SigninView-BnzCVklk.js → SigninView-CTCti60k.js} +17 -17
  85. package/dist/assets/{SignoutView-CQx1YcpJ.js → SignoutView-BfiSDA3M.js} +1 -1
  86. package/dist/assets/{SignupView-CVowy7ND.js → SignupView-CHc0tHGl.js} +3 -3
  87. package/dist/assets/{TableBase-ChC-0JXo.js → TableBase-DCODsxOa.js} +1 -1
  88. package/dist/assets/{Tags-BElvlb53.js → Tags-D9gPKoUj.js} +1 -1
  89. package/dist/assets/{TemplateDetails-DFAU0IXa.js → TemplateDetails-BlV9NmCy.js} +11 -11
  90. package/dist/assets/{TemplateList-BqOvn2Up.js → TemplateList-CazlTEkA.js} +15 -15
  91. package/dist/assets/{TemplatesCollectionView-DUe-c9UK.js → TemplatesCollectionView-BEeRygO7.js} +15 -15
  92. package/dist/assets/{TemplatesSearchView-DqlXEFp4.js → TemplatesSearchView-CI00kxyK.js} +30 -30
  93. package/dist/assets/{TemplatesView-e-KwnRmC.js → TemplatesView-mLslH3Uw.js} +3 -3
  94. package/dist/assets/{TemplatesWorkflowView-DGdEHxRG.js → TemplatesWorkflowView-SSmdLOOW.js} +18 -18
  95. package/dist/assets/{TriggerPanel-BC7r1f-p.js → TriggerPanel-BHkYzUPx.js} +100 -124
  96. package/dist/assets/{TriggerPanel-DiD8pi0I.css → TriggerPanel-CZRJpcTa.css} +26 -24
  97. package/dist/assets/{VariablesView-BHcrNXsw.css → VariablesView-CO67wOhz.css} +6 -6
  98. package/dist/assets/{VariablesView-q3KOFXbh.js → VariablesView-k-pzl-O9.js} +9 -9
  99. package/dist/assets/{WorkerView-p9Gb5B1L.js → WorkerView-Cx8ge4xs.js} +27 -27
  100. package/dist/assets/{WorkflowActivator-jI4sUqXL.css → WorkflowActivator-BqnfTqdT.css} +2 -2
  101. package/dist/assets/{WorkflowActivator-3wlzZHDO.js → WorkflowActivator-By5Pii_6.js} +35 -27
  102. package/dist/assets/{WorkflowExecutionsInfoAccordion-MSQf1wi3.js → WorkflowExecutionsInfoAccordion-eJG4y2WA.js} +2 -2
  103. package/dist/assets/{WorkflowExecutionsLandingPage-C70_LGAv.js → WorkflowExecutionsLandingPage-C0mutLGh.js} +3 -3
  104. package/dist/assets/{WorkflowExecutionsPreview-D_xisYpD.js → WorkflowExecutionsPreview-G-4e7QQ9.js} +17 -17
  105. package/dist/assets/{WorkflowExecutionsView-ezc5vRrS.js → WorkflowExecutionsView-B0SmXxbP.js} +20 -20
  106. package/dist/assets/{WorkflowExecutionsView-DqWqyiNg.css → WorkflowExecutionsView-BI8VcrjR.css} +2 -2
  107. package/dist/assets/{WorkflowHistory-DeSZ98ik.js → WorkflowHistory-BiN2BqQR.js} +23 -23
  108. package/dist/assets/{WorkflowOnboardingView-XDAzh9C1.js → WorkflowOnboardingView-B9FkhZA-.js} +1 -1
  109. package/dist/assets/{WorkflowPreview-R4owDoRV.js → WorkflowPreview-BsgTaevQ.js} +5 -5
  110. package/dist/assets/{WorkflowsView-BJ_oKX3h.js → WorkflowsView-CLXbFUXb.js} +314 -136
  111. package/dist/assets/{WorkflowsView-MF9XcT0u.css → WorkflowsView-Cn8b7sC6.css} +295 -18
  112. package/dist/assets/{canvas-tCm4ovGg.js → canvas-BXznnLzi.js} +1 -1
  113. package/dist/assets/{chartjs.utils-B2U_02-S.js → chartjs.utils-D46nHC00.js} +2 -2
  114. package/dist/assets/{core-BDQ6uBcD.js → core-HeJRdxVB.js} +1 -1
  115. package/dist/assets/{global-link-actions-Cz-zl4uP.js → global-link-actions-dPKQ-sAY.js} +1 -1
  116. package/dist/assets/{index-CpPc1kM8.css → index-BlwIvpv7.css} +2746 -2641
  117. package/dist/assets/{index-CCyQeXiT.js → index-DGBHFnWS.js} +1 -1
  118. package/dist/assets/{index-BDDH_NIA.js → index-cWho1w-N.js} +15923 -17969
  119. package/dist/assets/{pickBy-B2RJpRoj.js → pickBy-DvVK9TvT.js} +1 -1
  120. package/dist/assets/{readyToRunWorkflows.store-lmsJGEVO.js → readyToRunWorkflows.store-o5xlMxpo.js} +1 -1
  121. package/dist/assets/{readyToRunWorkflowsV2.store-Bl7jk-i9.js → readyToRunWorkflowsV2.store-C_fY_4MX.js} +2 -2
  122. package/dist/assets/{templateActions-Bvze3qDu.js → templateActions-jNqx4MKh.js} +1 -1
  123. package/dist/assets/{useBeforeUnload-C1FPWSkO.js → useBeforeUnload-rUCiQOqr.js} +1 -1
  124. package/dist/assets/{useExecutionDebugging-Dgg7jmNh.js → useExecutionDebugging-BaETRwGq.js} +1 -1
  125. package/dist/assets/{useImportCurlCommand-sjcpA0Ub.js → useImportCurlCommand-BdmWWgaO.js} +1 -1
  126. package/dist/assets/{useProjectPages-B5KBSvIU.js → useProjectPages-BauGQpM_.js} +1 -1
  127. package/dist/assets/{usePushConnection-BEiaZIUU.js → usePushConnection-Bc8yBAxj.js} +12 -6
  128. package/dist/assets/{useWorkflowActivate-DykqGtLA.js → useWorkflowActivate-bxZnJPU3.js} +1 -1
  129. package/dist/index.html +2 -2
  130. package/package.json +1 -1
  131. package/scripts/cache-marker.mjs +11 -0
  132. package/turbo.json +2 -1
  133. package/dist/assets/CollectionParameter-D7XE8ypc.js +0 -4
@@ -1,17 +1,17 @@
1
- import { d as defineComponent, a3 as useRoute, b as useRouter, aw as useFoldersStore, r as ref, x as computed, c as useI18n, aG as ProjectTypes, V as VIEWS, a9 as resolveComponent, h as createElementBlock, g as openBlock, i as createVNode, w as withCtx, s as N8nCard, n as normalizeClass, j as createBaseVNode, f as createCommentVNode, e as createBlock, gb as ProjectCardBadge, l as unref, aT as ResourceType, ej as N8nActionToggle, B as withModifiers, p as N8nText, k as createTextVNode, t as toDisplayString, eQ as _sfc_main$8, m as N8nHeading, aL as N8nBadge, N as N8nIcon, _ as _export_sfc, a as useToast, v as useSettingsStore, Q as useUIStore, u as useUsersStore, a2 as useWorkflowsStore, av as useProjectsStore, aC as getResourcePermissions, g2 as dateFormat, b3 as withDirectives, b4 as vShow, aO as WORKFLOW_SHARE_MODAL_KEY, am as useTelemetry, aS as DUPLICATE_MODAL_KEY, an as useMessage, ao as MODAL_CONFIRM, aU as PROJECT_MOVE_RESOURCE_MODAL, gc as FOLDER_NAME_ILLEGAL_CHARACTERS_REGEX, gd as ILLEGAL_FOLDER_CHARACTERS, ge as FOLDER_NAME_ONLY_DOTS_REGEX, gf as FOLDER_NAME_MAX_LENGTH, a0 as defineStore, di as usePostHog, bc as useCloudPlanStore, bl as useTemplatesStore, bd as useStorage, gg as LOCAL_STORAGE_EXPERIMENTAL_DISMISSED_SUGGESTED_WORKFLOWS, dq as jsonParse, a8 as watch, fu as TEMPLATE_ONBOARDING_EXPERIMENT, a5 as STORES, z as N8nCallout, C as N8nLink, Y as renderSlot, ae as useNodeTypesStore, bm as usePersonalizedTemplatesV2Store, o as onMounted, bY as NodeIcon, bw as EXPERIMENT_TEMPLATE_RECO_V2_KEY, F as Fragment, A as renderList, ag as useSourceControlStore, bn as useCalloutHelpers, as as useTagsStore, f5 as useUsageStore, gh as useInsightsStore, ay as useDocumentTitle, P as useDebounce, aF as EnterpriseEditionFeature, gi as isExtraTemplateLinksExperimentEnabled, ar as createEventBus, X as onBeforeUnmount, ap as debounce, gj as PROJECT_ROOT, aH as useTemplateRef, bs as createSlots, aa as Tooltip, q as N8nButton, cV as InfoTip, e0 as N8nActionBox, e9 as N8nInputLabel, aK as _sfc_main$a, ec as N8nSelect, ed as _sfc_main$b, f3 as N8nCheckbox, gk as Draggable, dO as N8nLoading, aI as InlineRename, gl as DEFAULT_WORKFLOW_PAGE_SIZE, bx as trackTemplatesClick, by as TemplateClickSource, gm as getEasyAiWorkflowJson, f7 as COMMUNITY_PLUS_ENROLLMENT_MODAL } from "./index-BDDH_NIA.js";
2
- import { _ as _sfc_main$9 } from "./EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-DqQrOg_2.js";
3
- import { B as Breadcrumbs } from "./ProjectBreadcrumb-KIWhTojS.js";
4
- import { W as WorkflowActivator, _ as __unplugin_components_0 } from "./WorkflowActivator-3wlzZHDO.js";
5
- import { R as ResourcesListLayout } from "./ResourcesListLayout-DQODsJpR.js";
6
- import { P as ProjectHeader } from "./ProjectHeader-PFXNU0--.js";
7
- import { T as Tags } from "./Tags-BElvlb53.js";
8
- import { u as useProjectPages } from "./useProjectPages-B5KBSvIU.js";
9
- import { u as useAITemplatesStarterCollectionStore, a as useReadyToRunWorkflowsStore } from "./readyToRunWorkflows.store-lmsJGEVO.js";
10
- import { u as useReadyToRunWorkflowsV2Store } from "./readyToRunWorkflowsV2.store-Bl7jk-i9.js";
11
- import { I as InsightsSummary } from "./InsightsSummary-jcJA88u3.js";
12
- import "./useWorkflowActivate-DykqGtLA.js";
13
- import "./TableBase-ChC-0JXo.js";
14
- import "./PageViewLayout-cxvwso_r.js";
1
+ import { d as defineComponent, a3 as useRoute, b as useRouter, aw as useFoldersStore, r as ref, x as computed, c as useI18n, aG as ProjectTypes, V as VIEWS, a9 as resolveComponent, h as createElementBlock, g as openBlock, i as createVNode, w as withCtx, s as N8nCard, n as normalizeClass, j as createBaseVNode, f as createCommentVNode, e as createBlock, gf as ProjectCardBadge, l as unref, aT as ResourceType, en as N8nActionToggle, B as withModifiers, p as N8nText, k as createTextVNode, t as toDisplayString, eU as _sfc_main$a, m as N8nHeading, aL as N8nBadge, N as N8nIcon, _ as _export_sfc, a as useToast, Q as useUIStore, u as useUsersStore, a2 as useWorkflowsStore, av as useProjectsStore, aC as getResourcePermissions, g6 as dateFormat, b3 as withDirectives, b4 as vShow, aa as Tooltip, aO as WORKFLOW_SHARE_MODAL_KEY, am as useTelemetry, aS as DUPLICATE_MODAL_KEY, an as useMessage, ao as MODAL_CONFIRM, aU as PROJECT_MOVE_RESOURCE_MODAL, gg as FOLDER_NAME_ILLEGAL_CHARACTERS_REGEX, gh as ILLEGAL_FOLDER_CHARACTERS, gi as FOLDER_NAME_ONLY_DOTS_REGEX, gj as FOLDER_NAME_MAX_LENGTH, a0 as defineStore, dl as usePostHog, bc as useCloudPlanStore, bo as useTemplatesStore, bd as useStorage, gk as LOCAL_STORAGE_EXPERIMENTAL_DISMISSED_SUGGESTED_WORKFLOWS, dt as jsonParse, a8 as watch, fy as TEMPLATE_ONBOARDING_EXPERIMENT, a5 as STORES, z as N8nCallout, C as N8nLink, Y as renderSlot, ae as useNodeTypesStore, bp as usePersonalizedTemplatesV2Store, o as onMounted, c0 as NodeIcon, bC as EXPERIMENT_TEMPLATE_RECO_V2_KEY, F as Fragment, A as renderList, bl as usePersonalizedTemplatesV3Store, bz as EXPERIMENT_TEMPLATE_RECO_V3_KEY, ag as useSourceControlStore, bq as useCalloutHelpers, v as useSettingsStore, as as useTagsStore, f9 as useUsageStore, gl as useInsightsStore, ay as useDocumentTitle, P as useDebounce, aF as EnterpriseEditionFeature, gm as isExtraTemplateLinksExperimentEnabled, ar as createEventBus, X as onBeforeUnmount, ap as debounce, gn as PROJECT_ROOT, aH as useTemplateRef, bv as createSlots, q as N8nButton, cZ as InfoTip, e4 as N8nActionBox, ed as N8nInputLabel, aK as _sfc_main$c, eg as N8nSelect, eh as _sfc_main$d, f7 as N8nCheckbox, go as Draggable, dS as N8nLoading, aI as InlineRename, gp as DEFAULT_WORKFLOW_PAGE_SIZE, bA as trackTemplatesClick, bB as TemplateClickSource, gq as getEasyAiWorkflowJson, fb as COMMUNITY_PLUS_ENROLLMENT_MODAL } from "./index-cWho1w-N.js";
2
+ import { _ as _sfc_main$b } from "./EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-BS4e8zRV.js";
3
+ import { B as Breadcrumbs } from "./ProjectBreadcrumb-CARSpK7o.js";
4
+ import { W as WorkflowActivator, _ as __unplugin_components_0 } from "./WorkflowActivator-By5Pii_6.js";
5
+ import { R as ResourcesListLayout } from "./ResourcesListLayout-ATgLHOKO.js";
6
+ import { P as ProjectHeader } from "./ProjectHeader-CSMsPy1n.js";
7
+ import { T as Tags } from "./Tags-D9gPKoUj.js";
8
+ import { u as useProjectPages } from "./useProjectPages-BauGQpM_.js";
9
+ import { u as useAITemplatesStarterCollectionStore, a as useReadyToRunWorkflowsStore } from "./readyToRunWorkflows.store-o5xlMxpo.js";
10
+ import { u as useReadyToRunWorkflowsV2Store } from "./readyToRunWorkflowsV2.store-C_fY_4MX.js";
11
+ import { I as InsightsSummary } from "./InsightsSummary-BIsW50Wb.js";
12
+ import "./useWorkflowActivate-bxZnJPU3.js";
13
+ import "./TableBase-DCODsxOa.js";
14
+ import "./PageViewLayout-XMbxzupW.js";
15
15
  const FOLDER_LIST_ITEM_ACTIONS = {
16
16
  OPEN: "open",
17
17
  CREATE: "create",
@@ -20,9 +20,9 @@ const FOLDER_LIST_ITEM_ACTIONS = {
20
20
  MOVE: "move",
21
21
  DELETE: "delete"
22
22
  };
23
- const _hoisted_1$3 = { "data-test-id": "folder-card" };
23
+ const _hoisted_1$5 = { "data-test-id": "folder-card" };
24
24
  const _hoisted_2$1 = { key: 0 };
25
- const _sfc_main$7 = /* @__PURE__ */ defineComponent({
25
+ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
26
26
  __name: "FolderCard",
27
27
  props: {
28
28
  data: {},
@@ -114,27 +114,27 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
114
114
  }
115
115
  };
116
116
  return (_ctx, _cache) => {
117
- const _component_n8n_icon = N8nIcon;
118
- const _component_n8n_heading = N8nHeading;
117
+ const _component_N8nIcon = N8nIcon;
118
+ const _component_N8nHeading = N8nHeading;
119
119
  const _component_N8nBadge = N8nBadge;
120
- const _component_n8n_text = N8nText;
121
- const _component_TimeAgo = _sfc_main$8;
122
- const _component_n8n_breadcrumbs = Breadcrumbs;
120
+ const _component_N8nText = N8nText;
121
+ const _component_TimeAgo = _sfc_main$a;
122
+ const _component_N8nBreadcrumbs = Breadcrumbs;
123
123
  const _component_ProjectCardBadge = ProjectCardBadge;
124
- const _component_n8n_action_toggle = N8nActionToggle;
125
- const _component_n8n_card = N8nCard;
126
- const _component_router_link = resolveComponent("router-link");
127
- return openBlock(), createElementBlock("div", _hoisted_1$3, [
128
- createVNode(_component_router_link, {
124
+ const _component_N8nActionToggle = N8nActionToggle;
125
+ const _component_N8nCard = N8nCard;
126
+ const _component_RouterLink = resolveComponent("RouterLink");
127
+ return openBlock(), createElementBlock("div", _hoisted_1$5, [
128
+ createVNode(_component_RouterLink, {
129
129
  to: cardUrl.value,
130
130
  onClick: _cache[1] || (_cache[1] = () => emit("folderOpened", { folder: props.data }))
131
131
  }, {
132
132
  default: withCtx(() => [
133
- createVNode(_component_n8n_card, {
133
+ createVNode(_component_N8nCard, {
134
134
  class: normalizeClass(_ctx.$style.card)
135
135
  }, {
136
136
  prepend: withCtx(() => [
137
- createVNode(_component_n8n_icon, {
137
+ createVNode(_component_N8nIcon, {
138
138
  "data-test-id": "folder-card-icon",
139
139
  class: normalizeClass(_ctx.$style["folder-icon"]),
140
140
  icon: "folder",
@@ -146,7 +146,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
146
146
  createBaseVNode("div", {
147
147
  class: normalizeClass(_ctx.$style["card-header"])
148
148
  }, [
149
- createVNode(_component_n8n_heading, {
149
+ createVNode(_component_N8nHeading, {
150
150
  tag: "h2",
151
151
  bold: "",
152
152
  size: "small",
@@ -174,7 +174,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
174
174
  createBaseVNode("div", {
175
175
  class: normalizeClass(_ctx.$style["card-footer"])
176
176
  }, [
177
- _ctx.data.workflowCount > 0 ? (openBlock(), createBlock(_component_n8n_text, {
177
+ _ctx.data.workflowCount > 0 ? (openBlock(), createBlock(_component_N8nText, {
178
178
  key: 0,
179
179
  size: "small",
180
180
  color: "text-light",
@@ -186,7 +186,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
186
186
  ]),
187
187
  _: 1
188
188
  }, 8, ["class"])) : createCommentVNode("", true),
189
- _ctx.data.subFolderCount > 0 ? (openBlock(), createBlock(_component_n8n_text, {
189
+ _ctx.data.subFolderCount > 0 ? (openBlock(), createBlock(_component_N8nText, {
190
190
  key: 1,
191
191
  size: "small",
192
192
  color: "text-light",
@@ -200,7 +200,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
200
200
  ]),
201
201
  _: 1
202
202
  }, 8, ["class"])) : createCommentVNode("", true),
203
- createVNode(_component_n8n_text, {
203
+ createVNode(_component_N8nText, {
204
204
  size: "small",
205
205
  color: "text-light",
206
206
  class: normalizeClass([_ctx.$style["info-cell"], _ctx.$style["info-cell--updated"]]),
@@ -214,7 +214,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
214
214
  ]),
215
215
  _: 1
216
216
  }, 8, ["class"]),
217
- createVNode(_component_n8n_text, {
217
+ createVNode(_component_N8nText, {
218
218
  size: "small",
219
219
  color: "text-light",
220
220
  class: normalizeClass([_ctx.$style["info-cell"], _ctx.$style["info-cell--created"]]),
@@ -253,7 +253,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
253
253
  key: 0,
254
254
  class: normalizeClass(_ctx.$style.breadcrumbs)
255
255
  }, [
256
- createVNode(_component_n8n_breadcrumbs, {
256
+ createVNode(_component_N8nBreadcrumbs, {
257
257
  items: cardBreadcrumbs.value,
258
258
  "hidden-items": _ctx.data.parentFolder?.parentFolderId !== null ? hiddenBreadcrumbsItemsAsync.value : void 0,
259
259
  "path-truncated": _ctx.data.parentFolder?.parentFolderId !== null,
@@ -272,7 +272,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
272
272
  _: 1
273
273
  }, 8, ["class", "resource", "resource-type", "resource-type-label", "personal-project"])
274
274
  ])) : createCommentVNode("", true),
275
- _ctx.actions.length ? (openBlock(), createBlock(_component_n8n_action_toggle, {
275
+ _ctx.actions.length ? (openBlock(), createBlock(_component_N8nActionToggle, {
276
276
  key: 1,
277
277
  actions: _ctx.actions,
278
278
  theme: "dark",
@@ -292,7 +292,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
292
292
  });
293
293
  const card = "_card_pt4ir_123";
294
294
  const cardBadge$1 = "_cardBadge_pt4ir_157";
295
- const style0$7 = {
295
+ const style0$9 = {
296
296
  card,
297
297
  "folder-icon": "_folder-icon_pt4ir_131",
298
298
  "card-header": "_card-header_pt4ir_140",
@@ -303,17 +303,21 @@ const style0$7 = {
303
303
  "card-actions": "_card-actions_pt4ir_164",
304
304
  "info-cell--created": "_info-cell--created_pt4ir_182"
305
305
  };
306
- const cssModules$7 = {
307
- "$style": style0$7
306
+ const cssModules$9 = {
307
+ "$style": style0$9
308
308
  };
309
- const __unplugin_components_5 = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__cssModules", cssModules$7]]);
310
- const _sfc_main$6 = /* @__PURE__ */ defineComponent({
309
+ const __unplugin_components_5 = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__cssModules", cssModules$9]]);
310
+ const _hoisted_1$4 = { key: 0 };
311
+ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
311
312
  __name: "WorkflowCard",
312
313
  props: {
313
314
  data: {},
314
315
  readOnly: { type: Boolean, default: false },
315
316
  workflowListEventBus: { default: void 0 },
316
- showOwnershipBadge: { type: Boolean, default: false }
317
+ showOwnershipBadge: { type: Boolean, default: false },
318
+ areTagsEnabled: { type: Boolean, default: true },
319
+ isMcpEnabled: { type: Boolean, default: false },
320
+ areFoldersEnabled: { type: Boolean, default: false }
317
321
  },
318
322
  emits: ["expand:tags", "click:tag", "workflow:deleted", "workflow:archived", "workflow:unarchived", "workflow:active-toggle", "action:move-to-folder"],
319
323
  setup(__props, { emit: __emit }) {
@@ -325,7 +329,9 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
325
329
  ARCHIVE: "archive",
326
330
  UNARCHIVE: "unarchive",
327
331
  MOVE: "move",
328
- MOVE_TO_FOLDER: "moveToFolder"
332
+ MOVE_TO_FOLDER: "moveToFolder",
333
+ ENABLE_MCP_ACCESS: "enableMCPAccess",
334
+ REMOVE_MCP_ACCESS: "removeMCPAccess"
329
335
  };
330
336
  const props = __props;
331
337
  const emit = __emit;
@@ -335,7 +341,6 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
335
341
  const router = useRouter();
336
342
  const route = useRoute();
337
343
  const telemetry = useTelemetry();
338
- const settingsStore = useSettingsStore();
339
344
  const uiStore = useUIStore();
340
345
  const usersStore = useUsersStore();
341
346
  const workflowsStore = useWorkflowsStore();
@@ -344,11 +349,12 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
344
349
  const hiddenBreadcrumbsItemsAsync = ref(new Promise(() => {
345
350
  }));
346
351
  const cachedHiddenBreadcrumbsItems = ref([]);
352
+ const mcpToggleStatus = ref(null);
347
353
  const resourceTypeLabel = computed(() => locale.baseText("generic.workflow").toLowerCase());
348
354
  const currentUser = computed(() => usersStore.currentUser ?? {});
349
355
  const workflowPermissions = computed(() => getResourcePermissions(props.data.scopes).workflow);
350
356
  const showFolders = computed(() => {
351
- return settingsStore.isFoldersFeatureEnabled && route.name !== VIEWS.WORKFLOWS;
357
+ return props.areFoldersEnabled && route.name !== VIEWS.WORKFLOWS;
352
358
  });
353
359
  const showCardBreadcrumbs = computed(() => {
354
360
  return props.showOwnershipBadge && !isSomeoneElsesWorkflow.value && cardBreadcrumbs.value.length;
@@ -418,6 +424,19 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
418
424
  });
419
425
  }
420
426
  }
427
+ if (props.isMcpEnabled && workflowPermissions.value.update && !props.readOnly && !props.data.isArchived) {
428
+ if (props.data.settings?.availableInMCP) {
429
+ items.push({
430
+ label: locale.baseText("workflows.item.disableMCPAccess"),
431
+ value: WORKFLOW_LIST_ITEM_ACTIONS.REMOVE_MCP_ACCESS
432
+ });
433
+ } else {
434
+ items.push({
435
+ label: locale.baseText("workflows.item.enableMCPAccess"),
436
+ value: WORKFLOW_LIST_ITEM_ACTIONS.ENABLE_MCP_ACCESS
437
+ });
438
+ }
439
+ }
421
440
  return items;
422
441
  });
423
442
  const formattedCreatedAtDate = computed(() => {
@@ -427,6 +446,12 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
427
446
  `d mmmm${String(props.data.createdAt).startsWith(currentYear) ? "" : ", yyyy"}`
428
447
  );
429
448
  });
449
+ const isAvailableInMCP = computed(() => {
450
+ if (mcpToggleStatus.value === null) {
451
+ return props.data.settings?.availableInMCP ?? false;
452
+ }
453
+ return mcpToggleStatus.value;
454
+ });
430
455
  const isSomeoneElsesWorkflow = computed(
431
456
  () => props.data.homeProject?.type !== ProjectTypes.Team && props.data.homeProject?.id !== projectsStore.personalProject?.id
432
457
  );
@@ -501,6 +526,21 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
501
526
  sharedWithProjects: props.data.sharedWithProjects
502
527
  });
503
528
  break;
529
+ case WORKFLOW_LIST_ITEM_ACTIONS.ENABLE_MCP_ACCESS:
530
+ await toggleMCPAccess(true);
531
+ break;
532
+ case WORKFLOW_LIST_ITEM_ACTIONS.REMOVE_MCP_ACCESS:
533
+ await toggleMCPAccess(false);
534
+ break;
535
+ }
536
+ }
537
+ async function toggleMCPAccess(enabled) {
538
+ try {
539
+ await workflowsStore.updateWorkflowSetting(props.data.id, "availableInMCP", enabled);
540
+ mcpToggleStatus.value = enabled;
541
+ } catch (error) {
542
+ toast.showError(error, locale.baseText("workflowSettings.toggleMCP.error.title"));
543
+ return;
504
544
  }
505
545
  }
506
546
  async function deleteWorkflow() {
@@ -626,12 +666,14 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
626
666
  );
627
667
  return (_ctx, _cache) => {
628
668
  const _component_N8nBadge = N8nBadge;
629
- const _component_n8n_text = N8nText;
630
- const _component_n8n_tags = Tags;
631
- const _component_n8n_breadcrumbs = Breadcrumbs;
632
- const _component_n8n_action_toggle = N8nActionToggle;
633
- const _component_n8n_card = N8nCard;
634
- return openBlock(), createBlock(_component_n8n_card, {
669
+ const _component_N8nText = N8nText;
670
+ const _component_N8nIcon = N8nIcon;
671
+ const _component_N8nTooltip = Tooltip;
672
+ const _component_N8nTags = Tags;
673
+ const _component_N8nBreadcrumbs = Breadcrumbs;
674
+ const _component_N8nActionToggle = N8nActionToggle;
675
+ const _component_N8nCard = N8nCard;
676
+ return openBlock(), createBlock(_component_N8nCard, {
635
677
  class: normalizeClass({
636
678
  [_ctx.$style.cardLink]: true,
637
679
  [_ctx.$style.cardArchived]: _ctx.data.isArchived
@@ -640,7 +682,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
640
682
  onClick
641
683
  }, {
642
684
  header: withCtx(() => [
643
- createVNode(_component_n8n_text, {
685
+ createVNode(_component_N8nText, {
644
686
  tag: "h2",
645
687
  bold: "",
646
688
  class: normalizeClass({
@@ -686,7 +728,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
686
728
  key: 0,
687
729
  class: normalizeClass(_ctx.$style.breadcrumbs)
688
730
  }, [
689
- createVNode(_component_n8n_breadcrumbs, {
731
+ createVNode(_component_N8nBreadcrumbs, {
690
732
  items: cardBreadcrumbs.value,
691
733
  "hidden-items": _ctx.data.parentFolder?.parentFolderId !== null ? hiddenBreadcrumbsItemsAsync.value : void 0,
692
734
  "path-truncated": _ctx.data.parentFolder?.parentFolderId !== null,
@@ -704,7 +746,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
704
746
  ]),
705
747
  _: 1
706
748
  }, 8, ["class", "resource", "resource-type", "resource-type-label", "personal-project"])) : createCommentVNode("", true),
707
- _ctx.data.isArchived ? (openBlock(), createBlock(_component_n8n_text, {
749
+ _ctx.data.isArchived ? (openBlock(), createBlock(_component_N8nText, {
708
750
  key: 1,
709
751
  color: "text-light",
710
752
  size: "small",
@@ -726,7 +768,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
726
768
  "data-test-id": "workflow-card-activator",
727
769
  "onUpdate:workflowActive": emitWorkflowActiveToggle
728
770
  }, null, 8, ["is-archived", "workflow-active", "workflow-id", "workflow-permissions"])),
729
- createVNode(_component_n8n_action_toggle, {
771
+ createVNode(_component_N8nActionToggle, {
730
772
  actions: actions.value,
731
773
  theme: "dark",
732
774
  "data-test-id": "workflow-card-actions",
@@ -738,41 +780,56 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
738
780
  createBaseVNode("div", {
739
781
  class: normalizeClass(_ctx.$style.cardDescription)
740
782
  }, [
741
- createVNode(_component_n8n_text, {
742
- color: "text-light",
743
- size: "small"
744
- }, {
745
- default: withCtx(() => [
746
- withDirectives(createBaseVNode("span", null, [
747
- createTextVNode(toDisplayString(unref(locale).baseText("workflows.item.updated")) + " ", 1),
748
- createVNode(_sfc_main$8, {
749
- date: String(_ctx.data.updatedAt)
750
- }, null, 8, ["date"]),
751
- _cache[1] || (_cache[1] = createTextVNode(" | "))
752
- ], 512), [
753
- [vShow, _ctx.data]
754
- ]),
755
- withDirectives(createBaseVNode("span", { class: "mr-2xs" }, toDisplayString(unref(locale).baseText("workflows.item.created")) + " " + toDisplayString(formattedCreatedAtDate.value), 513), [
756
- [vShow, _ctx.data]
783
+ withDirectives(createBaseVNode("span", null, [
784
+ createTextVNode(toDisplayString(unref(locale).baseText("workflows.item.updated")) + " ", 1),
785
+ createVNode(_sfc_main$a, {
786
+ date: String(_ctx.data.updatedAt)
787
+ }, null, 8, ["date"]),
788
+ _cache[1] || (_cache[1] = createTextVNode(" | "))
789
+ ], 512), [
790
+ [vShow, _ctx.data]
791
+ ]),
792
+ withDirectives(createBaseVNode("span", null, [
793
+ createTextVNode(toDisplayString(unref(locale).baseText("workflows.item.created")) + " " + toDisplayString(formattedCreatedAtDate.value) + " ", 1),
794
+ props.isMcpEnabled && isAvailableInMCP.value ? (openBlock(), createElementBlock("span", _hoisted_1$4, "|")) : createCommentVNode("", true)
795
+ ], 512), [
796
+ [vShow, _ctx.data]
797
+ ]),
798
+ withDirectives(createBaseVNode("span", {
799
+ class: normalizeClass([_ctx.$style["description-cell"], _ctx.$style["description-cell--mcp"]]),
800
+ "data-test-id": "workflow-card-mcp"
801
+ }, [
802
+ createVNode(_component_N8nTooltip, {
803
+ placement: "right",
804
+ content: unref(locale).baseText("workflows.item.availableInMCP"),
805
+ "data-test-id": "workflow-card-mcp-tooltip"
806
+ }, {
807
+ default: withCtx(() => [
808
+ createVNode(_component_N8nIcon, {
809
+ icon: "mcp",
810
+ size: "medium"
811
+ })
757
812
  ]),
758
- unref(settingsStore).areTagsEnabled && _ctx.data.tags && _ctx.data.tags.length > 0 ? withDirectives((openBlock(), createElementBlock("span", {
759
- key: 0,
760
- class: normalizeClass(_ctx.$style.cardTags)
761
- }, [
762
- createVNode(_component_n8n_tags, {
763
- tags: tags.value,
764
- "truncate-at": 3,
765
- truncate: "",
766
- "data-test-id": "workflow-card-tags",
767
- "onClick:tag": onClickTag,
768
- onExpand: onExpandTags
769
- }, null, 8, ["tags"])
770
- ], 2)), [
771
- [vShow, _ctx.data]
772
- ]) : createCommentVNode("", true)
773
- ]),
774
- _: 1
775
- })
813
+ _: 1
814
+ }, 8, ["content"])
815
+ ], 2), [
816
+ [vShow, props.isMcpEnabled && isAvailableInMCP.value]
817
+ ]),
818
+ props.areTagsEnabled && _ctx.data.tags && _ctx.data.tags.length > 0 ? withDirectives((openBlock(), createElementBlock("span", {
819
+ key: 0,
820
+ class: normalizeClass(_ctx.$style.cardTags)
821
+ }, [
822
+ createVNode(_component_N8nTags, {
823
+ tags: tags.value,
824
+ "truncate-at": 3,
825
+ truncate: "",
826
+ "data-test-id": "workflow-card-tags",
827
+ "onClick:tag": onClickTag,
828
+ onExpand: onExpandTags
829
+ }, null, 8, ["tags"])
830
+ ], 2)), [
831
+ [vShow, _ctx.data]
832
+ ]) : createCommentVNode("", true)
776
833
  ], 2)
777
834
  ]),
778
835
  _: 1
@@ -780,16 +837,16 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
780
837
  };
781
838
  }
782
839
  });
783
- const cardLink = "_cardLink_9y0d7_123";
784
- const cardHeading = "_cardHeading_9y0d7_133";
785
- const cardHeadingArchived = "_cardHeadingArchived_9y0d7_142";
786
- const cardDescription = "_cardDescription_9y0d7_146";
787
- const cardTags = "_cardTags_9y0d7_153";
788
- const cardActions = "_cardActions_9y0d7_158";
789
- const cardBadge = "_cardBadge_9y0d7_169";
790
- const cardArchived = "_cardArchived_9y0d7_180";
791
- const breadcrumbs = "_breadcrumbs_9y0d7_198";
792
- const style0$6 = {
840
+ const cardLink = "_cardLink_otzcc_123";
841
+ const cardHeading = "_cardHeading_otzcc_133";
842
+ const cardHeadingArchived = "_cardHeadingArchived_otzcc_142";
843
+ const cardDescription = "_cardDescription_otzcc_146";
844
+ const cardTags = "_cardTags_otzcc_156";
845
+ const cardActions = "_cardActions_otzcc_161";
846
+ const cardBadge = "_cardBadge_otzcc_172";
847
+ const cardArchived = "_cardArchived_otzcc_183";
848
+ const breadcrumbs = "_breadcrumbs_otzcc_209";
849
+ const style0$8 = {
793
850
  cardLink,
794
851
  cardHeading,
795
852
  cardHeadingArchived,
@@ -797,14 +854,15 @@ const style0$6 = {
797
854
  cardTags,
798
855
  cardActions,
799
856
  cardBadge,
800
- "with-breadcrumbs": "_with-breadcrumbs_9y0d7_173",
857
+ "with-breadcrumbs": "_with-breadcrumbs_otzcc_176",
801
858
  cardArchived,
859
+ "description-cell--mcp": "_description-cell--mcp_otzcc_189",
802
860
  breadcrumbs
803
861
  };
804
- const cssModules$6 = {
805
- "$style": style0$6
862
+ const cssModules$8 = {
863
+ "$style": style0$8
806
864
  };
807
- const WorkflowCard = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__cssModules", cssModules$6]]);
865
+ const WorkflowCard = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__cssModules", cssModules$8]]);
808
866
  function isDropTarget(target) {
809
867
  return target.type === "folder" || target.type === "project";
810
868
  }
@@ -1057,7 +1115,7 @@ const usePersonalizedTemplatesStore = defineStore(STORES.PERSONALIZED_TEMPLATES,
1057
1115
  getTemplateRoute
1058
1116
  };
1059
1117
  });
1060
- const _sfc_main$5 = /* @__PURE__ */ defineComponent({
1118
+ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
1061
1119
  __name: "SuggestedWorkflowCard",
1062
1120
  props: {
1063
1121
  data: {}
@@ -1124,33 +1182,33 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
1124
1182
  };
1125
1183
  }
1126
1184
  });
1127
- const style0$5 = {
1185
+ const style0$7 = {
1128
1186
  "suggested-workflow-callout": "_suggested-workflow-callout_1alzo_123",
1129
1187
  "callout-content": "_callout-content_1alzo_129",
1130
1188
  "callout-trailing-content": "_callout-trailing-content_1alzo_133"
1131
1189
  };
1132
- const cssModules$5 = {
1133
- "$style": style0$5
1190
+ const cssModules$7 = {
1191
+ "$style": style0$7
1134
1192
  };
1135
- const SuggestedWorkflowCard = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__cssModules", cssModules$5]]);
1136
- const style0$4 = {
1193
+ const SuggestedWorkflowCard = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__cssModules", cssModules$7]]);
1194
+ const style0$6 = {
1137
1195
  "suggested-workflows": "_suggested-workflows_t3ed6_123"
1138
1196
  };
1139
- const _sfc_main$4 = {};
1140
- const _hoisted_1$2 = {
1197
+ const _sfc_main$6 = {};
1198
+ const _hoisted_1$3 = {
1141
1199
  class: "suggested-workflows",
1142
1200
  "data-test-id": "suggested-workflows"
1143
1201
  };
1144
1202
  function _sfc_render(_ctx, _cache) {
1145
- return openBlock(), createElementBlock("div", _hoisted_1$2, [
1203
+ return openBlock(), createElementBlock("div", _hoisted_1$3, [
1146
1204
  renderSlot(_ctx.$slots, "default")
1147
1205
  ]);
1148
1206
  }
1149
- const cssModules$4 = {
1150
- "$style": style0$4
1207
+ const cssModules$6 = {
1208
+ "$style": style0$6
1151
1209
  };
1152
- const SuggestedWorkflows = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["render", _sfc_render], ["__cssModules", cssModules$4]]);
1153
- const _sfc_main$3 = /* @__PURE__ */ defineComponent({
1210
+ const SuggestedWorkflows = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["render", _sfc_render], ["__cssModules", cssModules$6]]);
1211
+ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
1154
1212
  __name: "NodeRecommendationCard",
1155
1213
  props: {
1156
1214
  nodeName: {}
@@ -1208,6 +1266,123 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
1208
1266
  };
1209
1267
  }
1210
1268
  });
1269
+ const nodeCard$1 = "_nodeCard_1ub18_123";
1270
+ const nodeIcon$1 = "_nodeIcon_1ub18_133";
1271
+ const emptyStateCardContent$2 = "_emptyStateCardContent_1ub18_137";
1272
+ const style0$5 = {
1273
+ nodeCard: nodeCard$1,
1274
+ nodeIcon: nodeIcon$1,
1275
+ emptyStateCardContent: emptyStateCardContent$2
1276
+ };
1277
+ const cssModules$5 = {
1278
+ "$style": style0$5
1279
+ };
1280
+ const NodeRecommendationCard$1 = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__cssModules", cssModules$5]]);
1281
+ const _hoisted_1$2 = {
1282
+ key: 0,
1283
+ class: "text-center mt-3xl",
1284
+ "data-test-id": "list-empty-state"
1285
+ };
1286
+ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
1287
+ __name: "TemplateRecommendationV2",
1288
+ setup(__props) {
1289
+ const templateRecoV2Store = usePersonalizedTemplatesV2Store();
1290
+ const locale = useI18n();
1291
+ return (_ctx, _cache) => {
1292
+ const _component_N8nHeading = N8nHeading;
1293
+ return unref(templateRecoV2Store).nodes.length ? (openBlock(), createElementBlock("div", _hoisted_1$2, [
1294
+ createVNode(_component_N8nHeading, {
1295
+ tag: "h2",
1296
+ size: "medium",
1297
+ class: "mb-2xs",
1298
+ color: "text-light"
1299
+ }, {
1300
+ default: withCtx(() => [
1301
+ createTextVNode(toDisplayString(unref(locale).baseText("workflows.templateRecoV2.exploreTemplates")), 1)
1302
+ ]),
1303
+ _: 1
1304
+ }),
1305
+ createBaseVNode("div", {
1306
+ class: normalizeClass(_ctx.$style.nodeCardsContainer)
1307
+ }, [
1308
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(templateRecoV2Store).nodes, (node) => {
1309
+ return openBlock(), createBlock(NodeRecommendationCard$1, {
1310
+ key: node,
1311
+ "node-name": node
1312
+ }, null, 8, ["node-name"]);
1313
+ }), 128))
1314
+ ], 2)
1315
+ ])) : createCommentVNode("", true);
1316
+ };
1317
+ }
1318
+ });
1319
+ const nodeCardsContainer$1 = "_nodeCardsContainer_7g2he_123";
1320
+ const style0$4 = {
1321
+ nodeCardsContainer: nodeCardsContainer$1
1322
+ };
1323
+ const cssModules$4 = {
1324
+ "$style": style0$4
1325
+ };
1326
+ const TemplateRecommendationV2 = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__cssModules", cssModules$4]]);
1327
+ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
1328
+ __name: "NodeRecommendationCard",
1329
+ props: {
1330
+ nodeName: {}
1331
+ },
1332
+ setup(__props) {
1333
+ const props = __props;
1334
+ const uiStore = useUIStore();
1335
+ const nodeTypesStore = useNodeTypesStore();
1336
+ const { trackPersonalizationCardClick, markTemplateRecommendationInteraction } = usePersonalizedTemplatesV3Store();
1337
+ const nodeType = computed(() => nodeTypesStore.getNodeType(props.nodeName));
1338
+ const openModal = () => {
1339
+ trackPersonalizationCardClick();
1340
+ markTemplateRecommendationInteraction();
1341
+ uiStore.openModalWithData({
1342
+ name: EXPERIMENT_TEMPLATE_RECO_V3_KEY,
1343
+ data: { nodeName: props.nodeName }
1344
+ });
1345
+ };
1346
+ onMounted(async () => {
1347
+ await nodeTypesStore.loadNodeTypesIfNotLoaded();
1348
+ });
1349
+ return (_ctx, _cache) => {
1350
+ const _component_NodeIcon = NodeIcon;
1351
+ const _component_N8nText = N8nText;
1352
+ const _component_N8nCard = N8nCard;
1353
+ return openBlock(), createElementBlock("div", null, [
1354
+ createVNode(_component_N8nCard, {
1355
+ class: normalizeClass(_ctx.$style.nodeCard),
1356
+ hoverable: "",
1357
+ onClick: openModal
1358
+ }, {
1359
+ default: withCtx(() => [
1360
+ createBaseVNode("div", {
1361
+ class: normalizeClass(_ctx.$style.emptyStateCardContent)
1362
+ }, [
1363
+ createVNode(_component_NodeIcon, {
1364
+ "node-type": nodeType.value,
1365
+ class: normalizeClass(_ctx.$style.nodeIcon),
1366
+ "stroke-width": 1.5
1367
+ }, null, 8, ["node-type", "class"]),
1368
+ createVNode(_component_N8nText, {
1369
+ size: "xsmall",
1370
+ class: "mt-xs pl-2xs pr-2xs",
1371
+ bold: true
1372
+ }, {
1373
+ default: withCtx(() => [
1374
+ createTextVNode(toDisplayString(nodeType.value?.displayName), 1)
1375
+ ]),
1376
+ _: 1
1377
+ })
1378
+ ], 2)
1379
+ ]),
1380
+ _: 1
1381
+ }, 8, ["class"])
1382
+ ]);
1383
+ };
1384
+ }
1385
+ });
1211
1386
  const nodeCard = "_nodeCard_1ub18_123";
1212
1387
  const nodeIcon = "_nodeIcon_1ub18_133";
1213
1388
  const emptyStateCardContent$1 = "_emptyStateCardContent_1ub18_137";
@@ -1226,13 +1401,13 @@ const _hoisted_1$1 = {
1226
1401
  "data-test-id": "list-empty-state"
1227
1402
  };
1228
1403
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
1229
- __name: "TemplateRecommendationV2",
1404
+ __name: "TemplateRecommendationV3",
1230
1405
  setup(__props) {
1231
- const templateRecoV2Store = usePersonalizedTemplatesV2Store();
1406
+ const personalizedTemplateStore = usePersonalizedTemplatesV3Store();
1232
1407
  const locale = useI18n();
1233
1408
  return (_ctx, _cache) => {
1234
1409
  const _component_N8nHeading = N8nHeading;
1235
- return unref(templateRecoV2Store).nodes.length ? (openBlock(), createElementBlock("div", _hoisted_1$1, [
1410
+ return unref(personalizedTemplateStore).hasChosenHubSpot ? (openBlock(), createElementBlock("div", _hoisted_1$1, [
1236
1411
  createVNode(_component_N8nHeading, {
1237
1412
  tag: "h2",
1238
1413
  size: "medium",
@@ -1240,19 +1415,14 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
1240
1415
  color: "text-light"
1241
1416
  }, {
1242
1417
  default: withCtx(() => [
1243
- createTextVNode(toDisplayString(unref(locale).baseText("workflows.templateRecoV2.exploreTemplates")), 1)
1418
+ createTextVNode(toDisplayString(unref(locale).baseText("experiments.personalizedTemplatesV3.exploreTemplates")), 1)
1244
1419
  ]),
1245
1420
  _: 1
1246
1421
  }),
1247
1422
  createBaseVNode("div", {
1248
1423
  class: normalizeClass(_ctx.$style.nodeCardsContainer)
1249
1424
  }, [
1250
- (openBlock(true), createElementBlock(Fragment, null, renderList(unref(templateRecoV2Store).nodes, (node) => {
1251
- return openBlock(), createBlock(NodeRecommendationCard, {
1252
- key: node,
1253
- "node-name": node
1254
- }, null, 8, ["node-name"]);
1255
- }), 128))
1425
+ createVNode(NodeRecommendationCard, { "node-name": "n8n-nodes-base.hubspot" })
1256
1426
  ], 2)
1257
1427
  ])) : createCommentVNode("", true);
1258
1428
  };
@@ -1265,7 +1435,7 @@ const style0$2 = {
1265
1435
  const cssModules$2 = {
1266
1436
  "$style": style0$2
1267
1437
  };
1268
- const TemplateRecommendationV2 = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__cssModules", cssModules$2]]);
1438
+ const TemplateRecommendationV3 = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__cssModules", cssModules$2]]);
1269
1439
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
1270
1440
  __name: "SimplifiedEmptyLayout",
1271
1441
  emits: ["click:add"],
@@ -1502,6 +1672,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1502
1672
  const readyToRunWorkflowsStore = useReadyToRunWorkflowsStore();
1503
1673
  const readyToRunWorkflowsV2Store = useReadyToRunWorkflowsV2Store();
1504
1674
  const personalizedTemplatesV2Store = usePersonalizedTemplatesV2Store();
1675
+ const personalizedTemplatesV3Store = usePersonalizedTemplatesV3Store();
1505
1676
  const documentTitle = useDocumentTitle();
1506
1677
  const { callDebounced } = useDebounce();
1507
1678
  const projectPages = useProjectPages();
@@ -1651,7 +1822,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1651
1822
  sharedWithProjects: resource.sharedWithProjects,
1652
1823
  readOnly: !getResourcePermissions(resource.scopes).workflow.update,
1653
1824
  tags: resource.tags,
1654
- parentFolder: resource.parentFolder
1825
+ parentFolder: resource.parentFolder,
1826
+ settings: resource.settings
1655
1827
  };
1656
1828
  }
1657
1829
  });
@@ -1783,11 +1955,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1783
1955
  });
1784
1956
  };
1785
1957
  const showInsights = computed(() => {
1786
- return projectPages.isOverviewSubPage && insightsStore.isSummaryEnabled && (!personalizedTemplatesV2Store.isFeatureEnabled() || workflowListResources.value.length > 0);
1958
+ return projectPages.isOverviewSubPage && insightsStore.isSummaryEnabled && (workflowListResources.value.length > 0 || !personalizedTemplatesV2Store.isFeatureEnabled() && !personalizedTemplatesV3Store.isFeatureEnabled());
1787
1959
  });
1788
1960
  const showTemplateRecommendationV2 = computed(() => {
1789
1961
  return personalizedTemplatesV2Store.isFeatureEnabled() && !loading.value;
1790
1962
  });
1963
+ const showTemplateRecommendationV3 = computed(() => {
1964
+ return personalizedTemplatesV3Store.isFeatureEnabled() && !loading.value;
1965
+ });
1791
1966
  onMounted(async () => {
1792
1967
  documentTitle.set(i18n.baseText("workflows.heading"));
1793
1968
  void usersStore.showPersonalizationSurvey();
@@ -2758,10 +2933,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
2758
2933
  const _component_N8nTooltip = Tooltip;
2759
2934
  const _component_N8nLink = N8nLink;
2760
2935
  const _component_N8nCallout = N8nCallout;
2761
- const _component_n8n_loading = N8nLoading;
2936
+ const _component_N8nLoading = N8nLoading;
2762
2937
  const _component_FolderBreadcrumbs = __unplugin_components_0;
2763
2938
  const _component_FolderCard = __unplugin_components_5;
2764
- const _component_EmptySharedSectionActionBox = _sfc_main$9;
2939
+ const _component_EmptySharedSectionActionBox = _sfc_main$b;
2765
2940
  const _component_N8nCheckbox = N8nCheckbox;
2766
2941
  const _component_N8nInfoTip = InfoTip;
2767
2942
  const _component_N8nActionBox = N8nActionBox;
@@ -2941,7 +3116,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
2941
3116
  key: 0,
2942
3117
  class: normalizeClass(_ctx.$style["breadcrumbs-loading"])
2943
3118
  }, [
2944
- createVNode(_component_n8n_loading, {
3119
+ createVNode(_component_N8nLoading, {
2945
3120
  loading: breadcrumbsLoading.value,
2946
3121
  rows: 1,
2947
3122
  variant: "p"
@@ -3056,6 +3231,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3056
3231
  default: withCtx(() => [
3057
3232
  createVNode(WorkflowCard, {
3058
3233
  "data-test-id": "resources-list-item-workflow",
3234
+ "data-target": "workflow",
3059
3235
  class: normalizeClass({
3060
3236
  ["mb-2xs"]: true,
3061
3237
  [_ctx.$style["drag-active"]]: isDragging.value,
@@ -3067,7 +3243,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3067
3243
  "data-resourceid": data.id,
3068
3244
  "data-resourcename": data.name,
3069
3245
  "show-ownership-badge": showCardsBadge.value,
3070
- "data-target": "workflow",
3246
+ "are-folders-enabled": unref(settingsStore).isFoldersFeatureEnabled,
3247
+ "are-tags-enabled": unref(settingsStore).areTagsEnabled,
3248
+ "is-mcp-enabled": unref(settingsStore).isModuleActive("mcp"),
3071
3249
  "onClick:tag": onClickTag,
3072
3250
  "onWorkflow:deleted": refreshWorkflows,
3073
3251
  "onWorkflow:archived": refreshWorkflows,
@@ -3077,7 +3255,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3077
3255
  "onWorkflow:activeToggle": onWorkflowActiveToggle,
3078
3256
  "onAction:moveToFolder": moveWorkflowToFolder,
3079
3257
  onMouseenter: _cache[4] || (_cache[4] = ($event) => isDragging.value ? unref(folderHelpers).resetDropTarget() : {})
3080
- }, null, 8, ["class", "data", "workflow-list-event-bus", "read-only", "data-resourceid", "data-resourcename", "show-ownership-badge"])
3258
+ }, null, 8, ["class", "data", "workflow-list-event-bus", "read-only", "data-resourceid", "data-resourcename", "show-ownership-badge", "are-folders-enabled", "are-tags-enabled", "is-mcp-enabled"])
3081
3259
  ]),
3082
3260
  _: 2
3083
3261
  }, 1032, ["disabled", "onDragstart", "onDragend"]))
@@ -3293,7 +3471,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3293
3471
  _: 1
3294
3472
  }, 8, ["class"])) : createCommentVNode("", true)
3295
3473
  ], 2)) : createCommentVNode("", true),
3296
- showTemplateRecommendationV2.value ? (openBlock(), createBlock(TemplateRecommendationV2, { key: 1 })) : createCommentVNode("", true)
3474
+ showTemplateRecommendationV3.value ? (openBlock(), createBlock(TemplateRecommendationV3, { key: 1 })) : showTemplateRecommendationV2.value ? (openBlock(), createBlock(TemplateRecommendationV2, { key: 2 })) : createCommentVNode("", true)
3297
3475
  ]))
3298
3476
  ]),
3299
3477
  filters: withCtx(({ setKeyValue }) => [
@@ -3305,7 +3483,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3305
3483
  color: "text-base",
3306
3484
  class: "mb-3xs"
3307
3485
  }, null, 8, ["label"]),
3308
- createVNode(_sfc_main$a, {
3486
+ createVNode(_sfc_main$c, {
3309
3487
  placeholder: unref(i18n).baseText("workflowOpen.filterWorkflows"),
3310
3488
  "model-value": filters.value.tags,
3311
3489
  "create-enabled": false,
@@ -3327,7 +3505,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3327
3505
  }, {
3328
3506
  default: withCtx(() => [
3329
3507
  (openBlock(true), createElementBlock(Fragment, null, renderList(statusFilterOptions.value, (option) => {
3330
- return openBlock(), createBlock(unref(_sfc_main$b), {
3508
+ return openBlock(), createBlock(unref(_sfc_main$d), {
3331
3509
  key: option.label,
3332
3510
  label: option.label,
3333
3511
  value: option.value,