n8n-editor-ui 1.109.2 → 1.110.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 (130) hide show
  1. package/dist/assets/{AddDataStoreModal-uXL5uFdf.js → AddDataStoreModal-BXMe2_Yo.js} +2 -2
  2. package/dist/assets/{AnimatedSpinner-Boagztc5.js → AnimatedSpinner-CxbOZIWM.js} +1 -1
  3. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-Dwq22y10.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-D-tU5Nsg.js} +1 -1
  4. package/dist/assets/{AuthView-CQFbJe0h.js → AuthView-ty01eojq.js} +2 -2
  5. package/dist/assets/{ChangePasswordView-CBkVzb39.js → ChangePasswordView-nmwMP1GF.js} +3 -3
  6. package/dist/assets/CollectionParameter-CQji5w8u.js +4 -0
  7. package/dist/assets/{ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-DfVZTSuh.js → ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-CSmXlf80.js} +1 -1
  8. package/dist/assets/{CredentialsView-CCg2_s6G.js → CredentialsView-IHneFweR.js} +9 -8
  9. package/dist/assets/{DataStoreActions.vue_vue_type_script_setup_true_lang-DLTdZ7Ze.js → DataStoreActions.vue_vue_type_script_setup_true_lang-Dug6Q9SH.js} +2 -2
  10. package/dist/assets/{DataStoreDetailsView-BzaPADj6.js → DataStoreDetailsView-BZ7cLl6L.js} +1574 -227
  11. package/dist/assets/{DataStoreDetailsView-BxDmY87S.css → DataStoreDetailsView-DSpK3R_L.css} +294 -71
  12. package/dist/assets/{DataStoreView-pwOfUlSA.js → DataStoreView-CzuM5UmJ.js} +26 -39
  13. package/dist/assets/{DataStoreView-bZrewhaR.css → DataStoreView-D0R0E_jH.css} +9 -10
  14. package/dist/assets/{DemoFooter-BGbvJOnc.js → DemoFooter-CTFaju55.js} +6 -6
  15. package/dist/assets/{EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-CHWBnByP.js → EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-DirQeoxa.js} +1 -1
  16. package/dist/assets/{EntityNotFound-usJAYj1D.js → EntityNotFound-SgHEB5Zx.js} +1 -1
  17. package/dist/assets/{EntityUnAuthorised-yPCryEik.js → EntityUnAuthorised-Ba1UjrRW.js} +1 -1
  18. package/dist/assets/{ErrorView-C27mVZu1.js → ErrorView-DR_boVdR.js} +1 -1
  19. package/dist/assets/{EvaluationsRootView-BwLSDGVp.js → EvaluationsRootView-DutxuCnH.js} +1 -1
  20. package/dist/assets/{EvaluationsView-Z8XLaPWl.js → EvaluationsView-ClUUTcAC.js} +3 -3
  21. package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-Ke2qqrxm.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-_0D6TWFX.js} +2 -2
  22. package/dist/assets/{ExecutionsView-BHBePl1_.css → ExecutionsView-DpVZbkhT.css} +5 -22
  23. package/dist/assets/{ExecutionsView-COI1S8Yf.js → ExecutionsView-gF8JMKIq.js} +19 -37
  24. package/dist/assets/{FixedCollectionParameter-B_SGODND.js → FixedCollectionParameter-D9zye2vX.js} +1 -1
  25. package/dist/assets/{ForgotMyPasswordView-DAd6lpBF.js → ForgotMyPasswordView-EkWEVktJ.js} +3 -3
  26. package/dist/assets/{InfoAccordion-BHvbx6nt.js → InfoAccordion-u7XlbH6a.js} +1 -1
  27. package/dist/assets/{InsightsChartAverageRuntime-L1tp64l4.js → InsightsChartAverageRuntime-CoBgniUR.js} +4 -4
  28. package/dist/assets/{InsightsChartFailed-DDz6H6Hb.js → InsightsChartFailed-Dn6SuM16.js} +4 -4
  29. package/dist/assets/{InsightsChartFailureRate-CYIxGqMo.js → InsightsChartFailureRate-CJl1j0ob.js} +4 -4
  30. package/dist/assets/{InsightsChartTimeSaved-BnXbon7j.js → InsightsChartTimeSaved-B5DjojXI.js} +4 -4
  31. package/dist/assets/{InsightsChartTotal-SpC19AWs.js → InsightsChartTotal-T1SFp7S-.js} +4 -4
  32. package/dist/assets/{InsightsDashboard-BFYQJXlU.js → InsightsDashboard-CCDahAm5.js} +10 -10
  33. package/dist/assets/{InsightsPaywall-D70_tWkc.js → InsightsPaywall-Cp82bMTp.js} +1 -1
  34. package/dist/assets/{InsightsSummary-Bypgyn1_.js → InsightsSummary-I5vKNG0I.js} +1 -1
  35. package/dist/assets/{InsightsTableWorkflows-B8PrM_XF.js → InsightsTableWorkflows-D1U89HJ4.js} +4 -4
  36. package/dist/assets/{Logo-NH0xUQnC.js → Logo-DHG_oEvt.js} +1 -1
  37. package/dist/assets/{LogsPanel-ICU1Y6Hy.js → LogsPanel-CvmnM4bL.js} +32 -20
  38. package/dist/assets/{MainHeader-BgYgvS2s.js → MainHeader-CTxGLJsC.js} +19 -14
  39. package/dist/assets/{MainHeader-BofAi8wS.css → MainHeader-pDg5KXTB.css} +16 -16
  40. package/dist/assets/{MainSidebar-8V8yR1hZ.js → MainSidebar-D_xwIVsL.js} +25 -14
  41. package/dist/assets/{MainSidebar-D74VZmM5.css → MainSidebar-a73tcV9E.css} +2 -2
  42. package/dist/assets/{NodeCreation-CxN6JIS_.css → NodeCreation-C4gQlPqI.css} +6 -3
  43. package/dist/assets/{NodeCreation-BOXv2AR2.js → NodeCreation-iNUuiza-.js} +21 -12
  44. package/dist/assets/NodeCreator-COTYfPaK.css +1637 -0
  45. package/dist/assets/{NodeCreator-CbADkgNL.js → NodeCreator-DMpMHPcz.js} +28 -1227
  46. package/dist/assets/{NodeDetailsView-_1v8ors-.js → NodeDetailsView-BKEGFeZ7.js} +18 -16
  47. package/dist/assets/{NodeDetailsViewV2-BCBKcayW.js → NodeDetailsViewV2-XPdbzrLu.js} +19 -16
  48. package/dist/assets/{NodeView-CiaJbQtZ.css → NodeView-BRa11kAq.css} +177 -50
  49. package/dist/assets/{NodeView-75dKKlK2.js → NodeView-Bj14aKtm.js} +270 -147
  50. package/dist/assets/PageViewLayout--7SkYsc9.js +27 -0
  51. package/dist/assets/PageViewLayout-CJlzbuVj.css +141 -0
  52. package/dist/assets/PrebuiltAgentTemplatesView-B7fK6krA.js +196 -0
  53. package/dist/assets/PrebuiltAgentTemplatesView-COxu7Iih.css +166 -0
  54. package/dist/assets/{ProjectBreadcrumb-CcYMzyYS.js → ProjectBreadcrumb-BxMwihEP.js} +1 -1
  55. package/dist/assets/{ProjectHeader-BGjOBBZs.js → ProjectHeader-CVfPUZNI.js} +39 -5
  56. package/dist/assets/{ProjectSettings-D8_RWwH6.js → ProjectSettings-t9C-Ly49.js} +10 -10
  57. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-CX6d3I0M.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-zVio8c2n.js} +1 -1
  58. package/dist/assets/{ResourcesListLayout-C1JgyGhX.css → ResourcesListLayout-B5eMf4SI.css} +27 -164
  59. package/dist/assets/{ResourcesListLayout-CHxMfd0o.js → ResourcesListLayout-O-Z59wTE.js} +25 -45
  60. package/dist/assets/{RunDataJson-C3t3ZjPB.js → RunDataJson-0J6_FxmM.js} +5 -3
  61. package/dist/assets/{RunDataJsonActions-B7XqfLFu.js → RunDataJsonActions-ZbUSwg32.js} +1 -1
  62. package/dist/assets/{RunDataParsedAiContent-C9jVQbY-.js → RunDataParsedAiContent-Byf4f3hM.js} +2 -2
  63. package/dist/assets/{RunDataSearch-BOte45cu.js → RunDataSearch-CyCbN9Nc.js} +1 -1
  64. package/dist/assets/{RunDataTable-n918b-Qv.css → RunDataTable-BZzteeuj.css} +54 -53
  65. package/dist/assets/{RunDataTable-hdfF2k3k.js → RunDataTable-Rj0zhULj.js} +34 -32
  66. package/dist/assets/{SamlOnboarding-Ba_I74m9.js → SamlOnboarding-UDfF4zGH.js} +3 -3
  67. package/dist/assets/SelectedItemsInfo-64VntNmH.js +60 -0
  68. package/dist/assets/SelectedItemsInfo-CfUb0ZrI.css +139 -0
  69. package/dist/assets/{SettingsApiView-DkWdzJZU.js → SettingsApiView-BMYiuOCY.js} +1 -1
  70. package/dist/assets/{SettingsCommunityNodesView-DHJIRIQE.js → SettingsCommunityNodesView-BULfnkhp.js} +4 -4
  71. package/dist/assets/{SettingsExternalSecrets-L_l-1Oj-.js → SettingsExternalSecrets-DgYPNKtM.js} +1 -1
  72. package/dist/assets/{SettingsLdapView-BPUQw21m.js → SettingsLdapView-B64PusRO.js} +1 -1
  73. package/dist/assets/{SettingsLogStreamingView-CXFUdTy7.js → SettingsLogStreamingView-DiDxOEmg.js} +1 -1
  74. package/dist/assets/{SettingsPersonalView-CkOwN5kp.js → SettingsPersonalView-TP__Drcl.js} +1 -1
  75. package/dist/assets/{SettingsSourceControl-Chxs8lyZ.js → SettingsSourceControl-FiqxT6qx.js} +1 -1
  76. package/dist/assets/{SettingsSso-CzgNGbQk.js → SettingsSso-e5ntwax1.js} +1 -1
  77. package/dist/assets/{SettingsUsageAndPlan-CpAkwOo_.js → SettingsUsageAndPlan-BiNhzaI3.js} +1 -1
  78. package/dist/assets/{SettingsUsersView-C-W3bAek.js → SettingsUsersView-g3odVDFj.js} +1 -1
  79. package/dist/assets/{SettingsView-CN8rNrUi.js → SettingsView-5M3uETdg.js} +1 -1
  80. package/dist/assets/{SetupView-DTCdkpy-.js → SetupView-DOX9lfRU.js} +3 -3
  81. package/dist/assets/{SetupWorkflowCredentialsButton-pgSHNct2.js → SetupWorkflowCredentialsButton-DMIEMB5C.js} +1 -1
  82. package/dist/assets/{SetupWorkflowFromTemplateView-C5u6X-e-.js → SetupWorkflowFromTemplateView-DEJsN9PM.js} +3 -3
  83. package/dist/assets/{SigninView-XbODXHI6.js → SigninView-FKXG_00n.js} +26 -9
  84. package/dist/assets/{SignoutView-3SLJrRw6.js → SignoutView-ppJ6lbCU.js} +1 -1
  85. package/dist/assets/{SignupView-B88aZsHB.js → SignupView-CmcH1BYL.js} +3 -3
  86. package/dist/assets/{TableBase-DmNxoh-V.js → TableBase-DBeBHkOY.js} +1 -1
  87. package/dist/assets/{Tag-ZyDcgFEj.js → Tag-BQAJRKFE.js} +1 -1
  88. package/dist/assets/{Tags-DxSdhB5Q.js → Tags-CdXa3Xx9.js} +2 -2
  89. package/dist/assets/{TemplateDetails-CFhSg1pL.js → TemplateDetails-BxvljQA3.js} +2 -2
  90. package/dist/assets/{TemplateList-DgekHTSl.js → TemplateList-CV9csLUI.js} +1 -1
  91. package/dist/assets/{TemplatesCollectionView-p1JacG9j.js → TemplatesCollectionView-4dKgKAQR.js} +7 -7
  92. package/dist/assets/{TemplatesSearchView-DkEwSWgX.js → TemplatesSearchView-taSkU7cY.js} +3 -3
  93. package/dist/assets/{TemplatesView-kwADW1e_.js → TemplatesView-CXSlz1M1.js} +1 -1
  94. package/dist/assets/{TemplatesWorkflowView-BVzxbwUl.js → TemplatesWorkflowView-C-x3Aov1.js} +7 -7
  95. package/dist/assets/{TriggerPanel-DT2Pi3Ln.js → TriggerPanel-C-c5cPsc.js} +7 -7
  96. package/dist/assets/{TriggerPanel-BFPMKijE.css → TriggerPanel-DiD8pi0I.css} +4 -4
  97. package/dist/assets/{VariablesView-Ad8vS5nb.js → VariablesView-C3mX49G9.js} +6 -5
  98. package/dist/assets/{WorkerView-CbfVnz4y.js → WorkerView-DYK4TcTw.js} +6 -6
  99. package/dist/assets/{WorkflowActivator-BxX80zGr.js → WorkflowActivator-DZIgVvgL.js} +3 -3
  100. package/dist/assets/{WorkflowExecutionsInfoAccordion-BZHHQFcf.js → WorkflowExecutionsInfoAccordion-CivRIQhL.js} +2 -2
  101. package/dist/assets/{WorkflowExecutionsLandingPage-zeaUSp7T.js → WorkflowExecutionsLandingPage-kBAMGqy2.js} +3 -3
  102. package/dist/assets/{WorkflowExecutionsPreview-CPQUCKk6.js → WorkflowExecutionsPreview-Bnd5-B-d.js} +4 -4
  103. package/dist/assets/{WorkflowExecutionsView-B7x5IRu_.js → WorkflowExecutionsView-CIfisPDk.js} +7 -7
  104. package/dist/assets/{WorkflowHistory-DoFfKRnt.js → WorkflowHistory-JXOUdJnK.js} +2 -2
  105. package/dist/assets/{WorkflowOnboardingView-D8gjC-Ng.js → WorkflowOnboardingView-Dc1KYhGC.js} +1 -1
  106. package/dist/assets/{WorkflowPreview-BZs8Di_n.js → WorkflowPreview-BF9SI0vn.js} +1 -1
  107. package/dist/assets/{WorkflowsView-QnB5kP-h.js → WorkflowsView-CTnvp65F.js} +113 -30
  108. package/dist/assets/{canvas-X-1icOh2.js → canvas-DbK7UyVG.js} +1 -1
  109. package/dist/assets/{chartjs.utils-DvIjPJm3.js → chartjs.utils-DIRvJRrn.js} +2 -2
  110. package/dist/assets/{core-CZWe7osv.js → core-Br-UFy15.js} +1 -1
  111. package/dist/assets/{dataStore.store-XMarLJy8.js → dataStore.store-HuymAG46.js} +49 -29
  112. package/dist/assets/{en-CLskxc5n.js → en-DdNgUrpa.js} +25 -8
  113. package/dist/assets/{global-link-actions-C5l8bN84.js → global-link-actions--TiC75iP.js} +1 -1
  114. package/dist/assets/{index-CeNA_ukL.js → index--OJ5nhDf.js} +16541 -14421
  115. package/dist/assets/{index-CaZY86md.js → index-D2apwRup.js} +1 -1
  116. package/dist/assets/{index-Am8RmnT4.css → index-DXNU_2Fk.css} +3613 -1439
  117. package/dist/assets/{pickBy-DpEqvEPR.js → pickBy-BljOBsPy.js} +1 -1
  118. package/dist/assets/{readyToRunWorkflows.store-DGBtTmGX.js → readyToRunWorkflows.store-Dhb8bhvk.js} +1 -1
  119. package/dist/assets/{templateActions-D45UELiN.js → templateActions-B4GEcBXU.js} +1 -1
  120. package/dist/assets/{useBeforeUnload-DGets1eb.js → useBeforeUnload-ZtUpNFCu.js} +1 -1
  121. package/dist/assets/{useExecutionDebugging-DDy8bilm.js → useExecutionDebugging-Bve-aaKO.js} +12 -8
  122. package/dist/assets/{useImportCurlCommand-Dl6INy3z.js → useImportCurlCommand-CAuor9Pu.js} +1 -1
  123. package/dist/assets/{useProjectPages-xv6Eq2Y5.js → useProjectPages-CH519D2j.js} +1 -1
  124. package/dist/assets/{usePushConnection-Brn1MCOr.js → usePushConnection-Db77V5LR.js} +8 -3
  125. package/dist/assets/{useWorkflowActivate-CuNKq-WZ.js → useWorkflowActivate-7Rw9KyzM.js} +1 -1
  126. package/dist/index.html +2 -2
  127. package/eslint.config.mjs +1 -0
  128. package/package.json +1 -1
  129. package/dist/assets/CollectionParameter-BluoaZU_.js +0 -4
  130. package/dist/assets/NodeCreator-vQ-Sfr_5.css +0 -3568
@@ -1,16 +1,17 @@
1
- import { d as defineComponent, a2 as useRoute, b as useRouter, av as useFoldersStore, r as ref, x as computed, c as useI18n, aF as ProjectTypes, V as VIEWS, a8 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, fY as ProjectCardBadge, l as unref, aS as ResourceType, e6 as N8nActionToggle, B as withModifiers, p as N8nText, k as createTextVNode, t as toDisplayString, eD as _sfc_main$7, m as N8nHeading, aK as N8nBadge, N as N8nIcon, _ as _export_sfc, a as useToast, v as useSettingsStore, Q as useUIStore, u as useUsersStore, a1 as useWorkflowsStore, au as useProjectsStore, aB as getResourcePermissions, fQ as dateFormat, b2 as withDirectives, b3 as vShow, aN as WORKFLOW_SHARE_MODAL_KEY, al as useTelemetry, aR as DUPLICATE_MODAL_KEY, am as useMessage, an as MODAL_CONFIRM, aT as PROJECT_MOVE_RESOURCE_MODAL, fZ as FOLDER_NAME_ILLEGAL_CHARACTERS_REGEX, f_ as ILLEGAL_FOLDER_CHARACTERS, f$ as FOLDER_NAME_ONLY_DOTS_REGEX, g0 as FOLDER_NAME_MAX_LENGTH, $ as defineStore, d7 as usePostHog, bb as useCloudPlanStore, bk as useTemplatesStore, bc as useStorage, g1 as LOCAL_STORAGE_EXPERIMENTAL_DISMISSED_SUGGESTED_WORKFLOWS, de as jsonParse, a7 as watch, fh as TEMPLATE_ONBOARDING_EXPERIMENT, a4 as STORES, z as N8nCallout, C as N8nLink, X as renderSlot, ad as useNodeTypesStore, bl as usePersonalizedTemplatesV2Store, o as onMounted, bW as NodeIcon, bu as EXPERIMENT_TEMPLATE_RECO_V2_KEY, F as Fragment, A as renderList, af as useSourceControlStore, ar as useTagsStore, eU as useUsageStore, g2 as useInsightsStore, ax as useDocumentTitle, P as useDebounce, aE as EnterpriseEditionFeature, g3 as isExtraTemplateLinksExperimentEnabled, aq as createEventBus, W as onBeforeUnmount, ao as debounce, g4 as PROJECT_ROOT, aG as useTemplateRef, bq as createSlots, a9 as Tooltip, q as N8nButton, cK as InfoTip, dR as N8nActionBox, d_ as N8nInputLabel, aJ as _sfc_main$9, e1 as N8nSelect, e2 as _sfc_main$a, eS as N8nCheckbox, g5 as Draggable, dD as N8nLoading, aH as InlineRename, g6 as DEFAULT_WORKFLOW_PAGE_SIZE, bv as trackTemplatesClick, bw as TemplateClickSource, g7 as getEasyAiWorkflowJson, eW as COMMUNITY_PLUS_ENROLLMENT_MODAL } from "./index-CeNA_ukL.js";
2
- import { _ as _sfc_main$8 } from "./EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-CHWBnByP.js";
3
- import { B as Breadcrumbs } from "./ProjectBreadcrumb-CcYMzyYS.js";
4
- import { W as WorkflowActivator, _ as __unplugin_components_0 } from "./WorkflowActivator-BxX80zGr.js";
5
- import { R as ResourcesListLayout } from "./ResourcesListLayout-CHxMfd0o.js";
6
- import { P as ProjectHeader } from "./ProjectHeader-BGjOBBZs.js";
7
- import { T as Tags } from "./Tags-DxSdhB5Q.js";
8
- import { u as useProjectPages } from "./useProjectPages-xv6Eq2Y5.js";
9
- import { u as useAITemplatesStarterCollectionStore, a as useReadyToRunWorkflowsStore } from "./readyToRunWorkflows.store-DGBtTmGX.js";
10
- import { I as InsightsSummary } from "./InsightsSummary-Bypgyn1_.js";
11
- import "./useWorkflowActivate-CuNKq-WZ.js";
12
- import "./TableBase-DmNxoh-V.js";
13
- import "./Tag-ZyDcgFEj.js";
1
+ import { d as defineComponent, a2 as useRoute, b as useRouter, av as useFoldersStore, r as ref, x as computed, c as useI18n, aF as ProjectTypes, V as VIEWS, a8 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, g5 as ProjectCardBadge, l as unref, aS as ResourceType, ed as N8nActionToggle, B as withModifiers, p as N8nText, k as createTextVNode, t as toDisplayString, eK as _sfc_main$7, m as N8nHeading, aK as N8nBadge, N as N8nIcon, _ as _export_sfc, a as useToast, v as useSettingsStore, Q as useUIStore, u as useUsersStore, a1 as useWorkflowsStore, au as useProjectsStore, aB as getResourcePermissions, fY as dateFormat, b2 as withDirectives, b3 as vShow, aN as WORKFLOW_SHARE_MODAL_KEY, al as useTelemetry, aR as DUPLICATE_MODAL_KEY, am as useMessage, an as MODAL_CONFIRM, aT as PROJECT_MOVE_RESOURCE_MODAL, g6 as FOLDER_NAME_ILLEGAL_CHARACTERS_REGEX, g7 as ILLEGAL_FOLDER_CHARACTERS, g8 as FOLDER_NAME_ONLY_DOTS_REGEX, g9 as FOLDER_NAME_MAX_LENGTH, $ as defineStore, dd as usePostHog, bb as useCloudPlanStore, bk as useTemplatesStore, bc as useStorage, ga as LOCAL_STORAGE_EXPERIMENTAL_DISMISSED_SUGGESTED_WORKFLOWS, dk as jsonParse, a7 as watch, fp as TEMPLATE_ONBOARDING_EXPERIMENT, a4 as STORES, z as N8nCallout, C as N8nLink, X as renderSlot, ad as useNodeTypesStore, bl as usePersonalizedTemplatesV2Store, o as onMounted, bX as NodeIcon, bv as EXPERIMENT_TEMPLATE_RECO_V2_KEY, F as Fragment, A as renderList, bm as useCalloutHelpers, af as useSourceControlStore, ar as useTagsStore, e$ as useUsageStore, gb as useInsightsStore, ax as useDocumentTitle, P as useDebounce, aE as EnterpriseEditionFeature, gc as isExtraTemplateLinksExperimentEnabled, aq as createEventBus, W as onBeforeUnmount, ao as debounce, gd as PROJECT_ROOT, aG as useTemplateRef, br as createSlots, a9 as Tooltip, q as N8nButton, cQ as InfoTip, dY as N8nActionBox, e5 as N8nInputLabel, aJ as _sfc_main$9, e8 as N8nSelect, e9 as _sfc_main$a, eZ as N8nCheckbox, ge as Draggable, dK as N8nLoading, aH as InlineRename, gf as DEFAULT_WORKFLOW_PAGE_SIZE, bw as trackTemplatesClick, bx as TemplateClickSource, gg as getEasyAiWorkflowJson, f1 as COMMUNITY_PLUS_ENROLLMENT_MODAL } from "./index--OJ5nhDf.js";
2
+ import { _ as _sfc_main$8 } from "./EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-DirQeoxa.js";
3
+ import { B as Breadcrumbs } from "./ProjectBreadcrumb-BxMwihEP.js";
4
+ import { W as WorkflowActivator, _ as __unplugin_components_0 } from "./WorkflowActivator-DZIgVvgL.js";
5
+ import { R as ResourcesListLayout } from "./ResourcesListLayout-O-Z59wTE.js";
6
+ import { P as ProjectHeader } from "./ProjectHeader-CVfPUZNI.js";
7
+ import { T as Tags } from "./Tags-CdXa3Xx9.js";
8
+ import { u as useProjectPages } from "./useProjectPages-CH519D2j.js";
9
+ import { u as useAITemplatesStarterCollectionStore, a as useReadyToRunWorkflowsStore } from "./readyToRunWorkflows.store-Dhb8bhvk.js";
10
+ import { I as InsightsSummary } from "./InsightsSummary-I5vKNG0I.js";
11
+ import "./useWorkflowActivate-7Rw9KyzM.js";
12
+ import "./TableBase-DBeBHkOY.js";
13
+ import "./PageViewLayout--7SkYsc9.js";
14
+ import "./Tag-BQAJRKFE.js";
14
15
  const FOLDER_LIST_ITEM_ACTIONS = {
15
16
  OPEN: "open",
16
17
  CREATE: "create",
@@ -305,7 +306,7 @@ const style0$6 = {
305
306
  const cssModules$6 = {
306
307
  "$style": style0$6
307
308
  };
308
- const __unplugin_components_4 = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__cssModules", cssModules$6]]);
309
+ const __unplugin_components_5 = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__cssModules", cssModules$6]]);
309
310
  const _sfc_main$5 = /* @__PURE__ */ defineComponent({
310
311
  __name: "WorkflowCard",
311
312
  props: {
@@ -1302,6 +1303,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1302
1303
  const message = useMessage();
1303
1304
  const toast = useToast();
1304
1305
  const folderHelpers = useFolders();
1306
+ const calloutHelpers = useCalloutHelpers();
1305
1307
  const sourceControlStore = useSourceControlStore();
1306
1308
  const usersStore = useUsersStore();
1307
1309
  const workflowsStore = useWorkflowsStore();
@@ -1531,6 +1533,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1531
1533
  // but also on the overview page
1532
1534
  (projectPages.isOverviewSubPage || hasPermissionToCreateFolders.value && hasPermissionToCreateWorkflows.value);
1533
1535
  });
1536
+ const showPrebuiltAgentsCallout = computed(() => {
1537
+ return !loading.value && calloutHelpers.isPreBuiltAgentsCalloutVisible.value && !calloutHelpers.isCalloutDismissed("preBuiltAgentsModalCallout") && !readOnlyEnv.value && // We want to show the callout only if the user has permissions to create folders and workflows
1538
+ // but also on the overview page
1539
+ (projectPages.isOverviewSubPage || hasPermissionToCreateFolders.value && hasPermissionToCreateWorkflows.value);
1540
+ });
1534
1541
  const showPersonalizedTemplates = computed(
1535
1542
  () => !loading.value && personalizedTemplatesStore.isFeatureEnabled()
1536
1543
  );
@@ -1863,6 +1870,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1863
1870
  return;
1864
1871
  }
1865
1872
  };
1873
+ const openPrebuiltAgentsModal = (source) => {
1874
+ void calloutHelpers.openPreBuiltAgentsModal(source);
1875
+ };
1866
1876
  const handleCreateReadyToRunWorkflows = async (source) => {
1867
1877
  try {
1868
1878
  const projectId = projectPages.isOverviewSubPage ? personalProject.value?.id : route.params.projectId;
@@ -1904,6 +1914,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1904
1914
  const dismissEasyAICallout = () => {
1905
1915
  easyAICalloutVisible.value = false;
1906
1916
  };
1917
+ const dismissPreBuiltAgentsCallout = () => {
1918
+ void calloutHelpers.dismissCallout("preBuiltAgentsModalCallout");
1919
+ };
1907
1920
  const openAIWorkflow = async (source) => {
1908
1921
  dismissEasyAICallout();
1909
1922
  telemetry.track("User clicked test AI workflow", {
@@ -2541,19 +2554,19 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
2541
2554
  };
2542
2555
  return (_ctx, _cache) => {
2543
2556
  const _component_N8nTooltip = Tooltip;
2557
+ const _component_N8nLink = N8nLink;
2544
2558
  const _component_N8nCallout = N8nCallout;
2545
2559
  const _component_n8n_loading = N8nLoading;
2546
2560
  const _component_FolderBreadcrumbs = __unplugin_components_0;
2547
- const _component_FolderCard = __unplugin_components_4;
2561
+ const _component_FolderCard = __unplugin_components_5;
2548
2562
  const _component_EmptySharedSectionActionBox = _sfc_main$8;
2549
2563
  const _component_N8nCheckbox = N8nCheckbox;
2550
- const _component_N8nLink = N8nLink;
2551
2564
  const _component_N8nInfoTip = InfoTip;
2552
2565
  const _component_N8nActionBox = N8nActionBox;
2553
2566
  return openBlock(), createBlock(ResourcesListLayout, {
2554
2567
  filters: filters.value,
2555
2568
  "onUpdate:filters": [
2556
- _cache[6] || (_cache[6] = ($event) => filters.value = $event),
2569
+ _cache[9] || (_cache[9] = ($event) => filters.value = $event),
2557
2570
  onFiltersUpdated
2558
2571
  ],
2559
2572
  "resource-key": "workflows",
@@ -2588,9 +2601,50 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
2588
2601
  })
2589
2602
  ]),
2590
2603
  callout: withCtx(() => [
2591
- showAIStarterCollectionCallout.value ? (openBlock(), createBlock(_component_N8nCallout, {
2604
+ showPrebuiltAgentsCallout.value ? (openBlock(), createBlock(_component_N8nCallout, {
2592
2605
  key: 0,
2593
2606
  theme: "secondary",
2607
+ icon: "bot",
2608
+ "icon-size": "large",
2609
+ class: normalizeClass(_ctx.$style["easy-ai-workflow-callout"])
2610
+ }, {
2611
+ trailingContent: withCtx(() => [
2612
+ createBaseVNode("div", {
2613
+ class: normalizeClass(_ctx.$style["callout-trailing-content"])
2614
+ }, [
2615
+ createVNode(unref(N8nIcon), {
2616
+ size: "small",
2617
+ icon: "x",
2618
+ title: unref(i18n).baseText("generic.dismiss"),
2619
+ class: "clickable",
2620
+ onClick: _cache[1] || (_cache[1] = ($event) => dismissPreBuiltAgentsCallout())
2621
+ }, null, 8, ["title"])
2622
+ ], 2)
2623
+ ]),
2624
+ default: withCtx(() => [
2625
+ createVNode(unref(N8nText), { size: "small" }, {
2626
+ default: withCtx(() => [
2627
+ createTextVNode(toDisplayString(unref(i18n).baseText("workflows.preBuiltAgents.callout")) + " " + toDisplayString(" ") + " ", 1),
2628
+ createVNode(_component_N8nLink, {
2629
+ theme: "secondary",
2630
+ size: "small",
2631
+ bold: true,
2632
+ underline: true,
2633
+ onClick: _cache[0] || (_cache[0] = ($event) => openPrebuiltAgentsModal("workflowsEmptyState"))
2634
+ }, {
2635
+ default: withCtx(() => [
2636
+ createTextVNode(toDisplayString(unref(i18n).baseText("workflows.preBuiltAgents.linkText")), 1)
2637
+ ]),
2638
+ _: 1
2639
+ })
2640
+ ]),
2641
+ _: 1
2642
+ })
2643
+ ]),
2644
+ _: 1
2645
+ }, 8, ["class"])) : showAIStarterCollectionCallout.value ? (openBlock(), createBlock(_component_N8nCallout, {
2646
+ key: 1,
2647
+ theme: "secondary",
2594
2648
  icon: "gift",
2595
2649
  class: normalizeClass(_ctx.$style["easy-ai-workflow-callout"])
2596
2650
  }, {
@@ -2602,7 +2656,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
2602
2656
  "data-test-id": "easy-ai-button",
2603
2657
  size: "small",
2604
2658
  type: "secondary",
2605
- onClick: _cache[0] || (_cache[0] = ($event) => createAIStarterWorkflows("callout"))
2659
+ onClick: _cache[2] || (_cache[2] = ($event) => createAIStarterWorkflows("callout"))
2606
2660
  }, {
2607
2661
  default: withCtx(() => [
2608
2662
  createTextVNode(toDisplayString(unref(i18n).baseText("generic.startNow")), 1)
@@ -2622,7 +2676,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
2622
2676
  createTextVNode(toDisplayString(unref(i18n).baseText("workflows.ai.starter.collection.callout")) + " ", 1)
2623
2677
  ]),
2624
2678
  _: 1
2625
- }, 8, ["class"])) : showPersonalizedTemplates.value ? (openBlock(), createBlock(SuggestedWorkflows, { key: 1 }, {
2679
+ }, 8, ["class"])) : showPersonalizedTemplates.value ? (openBlock(), createBlock(SuggestedWorkflows, { key: 2 }, {
2626
2680
  default: withCtx(() => [
2627
2681
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(personalizedTemplatesStore).suggestedWorkflows, (workflow) => {
2628
2682
  return openBlock(), createBlock(SuggestedWorkflowCard, {
@@ -2638,7 +2692,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
2638
2692
  _: 1
2639
2693
  })) : createCommentVNode("", true),
2640
2694
  showReadyToRunWorkflowsCallout.value ? (openBlock(), createBlock(_component_N8nCallout, {
2641
- key: 2,
2695
+ key: 3,
2642
2696
  theme: "secondary",
2643
2697
  icon: "bolt-filled",
2644
2698
  class: normalizeClass(_ctx.$style["easy-ai-workflow-callout"])
@@ -2651,7 +2705,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
2651
2705
  "data-test-id": "easy-ai-button",
2652
2706
  size: "small",
2653
2707
  type: "secondary",
2654
- onClick: _cache[1] || (_cache[1] = ($event) => handleCreateReadyToRunWorkflows("callout"))
2708
+ onClick: _cache[3] || (_cache[3] = ($event) => handleCreateReadyToRunWorkflows("callout"))
2655
2709
  }, {
2656
2710
  default: withCtx(() => [
2657
2711
  createTextVNode(toDisplayString(unref(i18n).baseText("generic.startNow")), 1)
@@ -2813,7 +2867,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
2813
2867
  "onWorkflow:duplicated": fetchWorkflows,
2814
2868
  "onWorkflow:activeToggle": onWorkflowActiveToggle,
2815
2869
  "onAction:moveToFolder": moveWorkflowToFolder,
2816
- onMouseenter: _cache[2] || (_cache[2] = ($event) => isDragging.value ? unref(folderHelpers).resetDropTarget() : {})
2870
+ onMouseenter: _cache[4] || (_cache[4] = ($event) => isDragging.value ? unref(folderHelpers).resetDropTarget() : {})
2817
2871
  }, null, 8, ["class", "data", "workflow-list-event-bus", "read-only", "data-resourceid", "data-resourcename", "show-ownership-badge"])
2818
2872
  ]),
2819
2873
  _: 2
@@ -2881,12 +2935,41 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
2881
2935
  ]),
2882
2936
  _: 1
2883
2937
  }, 8, ["class"]),
2884
- showAIStarterCollectionCallout.value ? (openBlock(), createBlock(unref(N8nCard), {
2938
+ showPrebuiltAgentsCallout.value ? (openBlock(), createBlock(unref(N8nCard), {
2885
2939
  key: 0,
2886
2940
  class: normalizeClass(_ctx.$style.emptyStateCard),
2887
2941
  hoverable: "",
2942
+ "data-test-id": "prebuilt-agents-card",
2943
+ onClick: _cache[5] || (_cache[5] = ($event) => openPrebuiltAgentsModal("workflowsList"))
2944
+ }, {
2945
+ default: withCtx(() => [
2946
+ createBaseVNode("div", {
2947
+ class: normalizeClass(_ctx.$style.emptyStateCardContent)
2948
+ }, [
2949
+ createVNode(unref(N8nIcon), {
2950
+ class: normalizeClass(_ctx.$style.emptyStateCardIcon),
2951
+ "stroke-width": 1.5,
2952
+ icon: "bot",
2953
+ color: "foreground-dark"
2954
+ }, null, 8, ["class"]),
2955
+ createVNode(unref(N8nText), {
2956
+ size: "large",
2957
+ class: "mt-xs pl-2xs pr-2xs"
2958
+ }, {
2959
+ default: withCtx(() => [
2960
+ createTextVNode(toDisplayString(unref(i18n).baseText("workflows.empty.preBuiltAgents")), 1)
2961
+ ]),
2962
+ _: 1
2963
+ })
2964
+ ], 2)
2965
+ ]),
2966
+ _: 1
2967
+ }, 8, ["class"])) : showAIStarterCollectionCallout.value ? (openBlock(), createBlock(unref(N8nCard), {
2968
+ key: 1,
2969
+ class: normalizeClass(_ctx.$style.emptyStateCard),
2970
+ hoverable: "",
2888
2971
  "data-test-id": "easy-ai-workflow-card",
2889
- onClick: _cache[3] || (_cache[3] = ($event) => createAIStarterWorkflows("card"))
2972
+ onClick: _cache[6] || (_cache[6] = ($event) => createAIStarterWorkflows("card"))
2890
2973
  }, {
2891
2974
  default: withCtx(() => [
2892
2975
  createBaseVNode("div", {
@@ -2911,11 +2994,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
2911
2994
  ]),
2912
2995
  _: 1
2913
2996
  }, 8, ["class"])) : showEasyAIWorkflowCallout.value ? (openBlock(), createBlock(unref(N8nCard), {
2914
- key: 1,
2997
+ key: 2,
2915
2998
  class: normalizeClass(_ctx.$style.emptyStateCard),
2916
2999
  hoverable: "",
2917
3000
  "data-test-id": "easy-ai-workflow-card",
2918
- onClick: _cache[4] || (_cache[4] = ($event) => openAIWorkflow("empty"))
3001
+ onClick: _cache[7] || (_cache[7] = ($event) => openAIWorkflow("empty"))
2919
3002
  }, {
2920
3003
  default: withCtx(() => [
2921
3004
  createBaseVNode("div", {
@@ -2941,11 +3024,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
2941
3024
  _: 1
2942
3025
  }, 8, ["class"])) : createCommentVNode("", true),
2943
3026
  showReadyToRunWorkflowsCallout.value ? (openBlock(), createBlock(unref(N8nCard), {
2944
- key: 2,
3027
+ key: 3,
2945
3028
  class: normalizeClass(_ctx.$style.emptyStateCard),
2946
3029
  hoverable: "",
2947
3030
  "data-test-id": "ready-to-run-workflows-card",
2948
- onClick: _cache[5] || (_cache[5] = ($event) => handleCreateReadyToRunWorkflows("card"))
3031
+ onClick: _cache[8] || (_cache[8] = ($event) => handleCreateReadyToRunWorkflows("card"))
2949
3032
  }, {
2950
3033
  default: withCtx(() => [
2951
3034
  createBaseVNode("div", {
@@ -2971,7 +3054,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
2971
3054
  _: 1
2972
3055
  }, 8, ["class"])) : createCommentVNode("", true),
2973
3056
  templatesCardEnabled.value ? (openBlock(), createBlock(unref(N8nCard), {
2974
- key: 3,
3057
+ key: 4,
2975
3058
  class: normalizeClass(_ctx.$style.emptyStateCard),
2976
3059
  hoverable: "",
2977
3060
  "data-test-id": "new-workflow-from-template-card",
@@ -1,4 +1,4 @@
1
- import { aq as createEventBus } from "./index-CeNA_ukL.js";
1
+ import { aq as createEventBus } from "./index--OJ5nhDf.js";
2
2
  const canvasEventBus = createEventBus();
3
3
  export {
4
4
  canvasEventBus as c
@@ -1,5 +1,5 @@
1
- import { fT as useCssVar, hI as merge } from "./index-CeNA_ukL.js";
2
- import { s as smartDecimal } from "./InsightsSummary-Bypgyn1_.js";
1
+ import { f$ as useCssVar, hV as merge } from "./index--OJ5nhDf.js";
2
+ import { s as smartDecimal } from "./InsightsSummary-I5vKNG0I.js";
3
3
  const generateLinearGradient = (ctx, height) => {
4
4
  const gradient = ctx.createLinearGradient(0, 0, 0, height);
5
5
  gradient.addColorStop(0, "rgba(255, 111,92, 1)");
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, r as ref, fn as MarkdownIt, x as computed, aW as h, bR as getDefaultExportFromCjs } from "./index-CeNA_ukL.js";
1
+ import { d as defineComponent, r as ref, fv as MarkdownIt, x as computed, aW as h, bS as getDefaultExportFromCjs } from "./index--OJ5nhDf.js";
2
2
  const VueMarkdown = defineComponent({
3
3
  name: "VueMarkdown",
4
4
  props: {
@@ -1,6 +1,6 @@
1
- import { e$ as makeRestApiRequest, $ as defineStore, at as useRootStore, au as useProjectsStore, r as ref, gx as DATA_STORE_STORE } from "./index-CeNA_ukL.js";
1
+ import { f6 as makeRestApiRequest, $ as defineStore, at as useRootStore, au as useProjectsStore, r as ref, gG as DATA_STORE_STORE } from "./index--OJ5nhDf.js";
2
2
  const fetchDataStoresApi = async (context, projectId, options, filter) => {
3
- const apiEndpoint = projectId ? `/projects/${projectId}/data-stores` : "/data-stores-global";
3
+ const apiEndpoint = projectId ? `/projects/${projectId}/data-tables` : "/data-tables-global";
4
4
  return await makeRestApiRequest(
5
5
  context,
6
6
  "GET",
@@ -15,7 +15,7 @@ const createDataStoreApi = async (context, name, projectId, columns) => {
15
15
  return await makeRestApiRequest(
16
16
  context,
17
17
  "POST",
18
- `/projects/${projectId}/data-stores`,
18
+ `/projects/${projectId}/data-tables`,
19
19
  {
20
20
  name,
21
21
  columns: []
@@ -26,7 +26,7 @@ const deleteDataStoreApi = async (context, dataStoreId, projectId) => {
26
26
  return await makeRestApiRequest(
27
27
  context,
28
28
  "DELETE",
29
- `/projects/${projectId}/data-stores/${dataStoreId}`,
29
+ `/projects/${projectId}/data-tables/${dataStoreId}`,
30
30
  {
31
31
  dataStoreId,
32
32
  projectId
@@ -37,7 +37,7 @@ const updateDataStoreApi = async (context, dataStoreId, name, projectId) => {
37
37
  return await makeRestApiRequest(
38
38
  context,
39
39
  "PATCH",
40
- `/projects/${projectId}/data-stores/${dataStoreId}`,
40
+ `/projects/${projectId}/data-tables/${dataStoreId}`,
41
41
  {
42
42
  name
43
43
  }
@@ -47,7 +47,7 @@ const addDataStoreColumnApi = async (context, dataStoreId, projectId, column) =>
47
47
  return await makeRestApiRequest(
48
48
  context,
49
49
  "POST",
50
- `/projects/${projectId}/data-stores/${dataStoreId}/columns`,
50
+ `/projects/${projectId}/data-tables/${dataStoreId}/columns`,
51
51
  {
52
52
  ...column
53
53
  }
@@ -57,21 +57,21 @@ const deleteDataStoreColumnApi = async (context, dataStoreId, projectId, columnI
57
57
  return await makeRestApiRequest(
58
58
  context,
59
59
  "DELETE",
60
- `/projects/${projectId}/data-stores/${dataStoreId}/columns/${columnId}`
60
+ `/projects/${projectId}/data-tables/${dataStoreId}/columns/${columnId}`
61
61
  );
62
62
  };
63
63
  const moveDataStoreColumnApi = async (context, dataStoreId, projectId, columnId, targetIndex) => {
64
64
  return await makeRestApiRequest(
65
65
  context,
66
66
  "PATCH",
67
- `/projects/${projectId}/data-stores/${dataStoreId}/columns/${columnId}/move`,
67
+ `/projects/${projectId}/data-tables/${dataStoreId}/columns/${columnId}/move`,
68
68
  {
69
69
  targetIndex
70
70
  }
71
71
  );
72
72
  };
73
73
  const getDataStoreRowsApi = async (context, dataStoreId, projectId, options) => {
74
- return await makeRestApiRequest(context, "GET", `/projects/${projectId}/data-stores/${dataStoreId}/rows`, {
74
+ return await makeRestApiRequest(context, "GET", `/projects/${projectId}/data-tables/${dataStoreId}/rows`, {
75
75
  ...options ?? {}
76
76
  });
77
77
  };
@@ -79,8 +79,9 @@ const insertDataStoreRowApi = async (context, dataStoreId, row, projectId) => {
79
79
  return await makeRestApiRequest(
80
80
  context,
81
81
  "POST",
82
- `/projects/${projectId}/data-stores/${dataStoreId}/insert`,
82
+ `/projects/${projectId}/data-tables/${dataStoreId}/insert`,
83
83
  {
84
+ returnData: true,
84
85
  data: [row]
85
86
  }
86
87
  );
@@ -89,13 +90,35 @@ const updateDataStoreRowsApi = async (context, dataStoreId, rowId, rowData, proj
89
90
  return await makeRestApiRequest(
90
91
  context,
91
92
  "PATCH",
92
- `/projects/${projectId}/data-stores/${dataStoreId}/rows`,
93
+ `/projects/${projectId}/data-tables/${dataStoreId}/rows`,
93
94
  {
94
95
  filter: { id: rowId },
95
96
  data: rowData
96
97
  }
97
98
  );
98
99
  };
100
+ const deleteDataStoreRowsApi = async (context, dataStoreId, rowIds, projectId) => {
101
+ return await makeRestApiRequest(
102
+ context,
103
+ "DELETE",
104
+ `/projects/${projectId}/data-tables/${dataStoreId}/rows`,
105
+ {
106
+ ids: rowIds.join(",")
107
+ }
108
+ );
109
+ };
110
+ const reorderItem = (items, oldIndex, newIndex) => {
111
+ return items.map((item) => {
112
+ if (item.index === oldIndex) return { ...item, index: newIndex };
113
+ if (oldIndex < newIndex && item.index > oldIndex && item.index <= newIndex) {
114
+ return { ...item, index: item.index - 1 };
115
+ }
116
+ if (oldIndex > newIndex && item.index >= newIndex && item.index < oldIndex) {
117
+ return { ...item, index: item.index + 1 };
118
+ }
119
+ return item;
120
+ });
121
+ };
99
122
  const useDataStoreStore = defineStore(DATA_STORE_STORE, () => {
100
123
  const rootStore = useRootStore();
101
124
  const projectStore = useProjectsStore();
@@ -205,34 +228,26 @@ const useDataStoreStore = defineStore(DATA_STORE_STORE, () => {
205
228
  if (moved) {
206
229
  const dsIndex = dataStores.value.findIndex((store) => store.id === datastoreId);
207
230
  const fromIndex = dataStores.value[dsIndex].columns.findIndex((col) => col.id === columnId);
208
- dataStores.value[dsIndex].columns = dataStores.value[dsIndex].columns.map((col) => {
209
- if (col.id === columnId) return { ...col, index: targetIndex };
210
- if (fromIndex < targetIndex && col.index > fromIndex && col.index <= targetIndex) {
211
- return { ...col, index: col.index - 1 };
212
- }
213
- if (fromIndex > targetIndex && col.index >= targetIndex && col.index < fromIndex) {
214
- return { ...col, index: col.index + 1 };
215
- }
216
- return col;
217
- });
231
+ dataStores.value[dsIndex].columns = reorderItem(
232
+ dataStores.value[dsIndex].columns,
233
+ fromIndex,
234
+ targetIndex
235
+ );
218
236
  }
219
237
  return moved;
220
238
  };
221
- const fetchDataStoreContent = async (datastoreId, projectId, page, pageSize) => {
239
+ const fetchDataStoreContent = async (datastoreId, projectId, page, pageSize, sortBy) => {
222
240
  return await getDataStoreRowsApi(rootStore.restApiContext, datastoreId, projectId, {
223
241
  skip: (page - 1) * pageSize,
224
- take: pageSize
242
+ take: pageSize,
243
+ sortBy
225
244
  });
226
245
  };
227
246
  const insertEmptyRow = async (dataStore) => {
228
- const emptyRow = {};
229
- dataStore.columns.forEach((column) => {
230
- emptyRow[column.name] = null;
231
- });
232
247
  const inserted = await insertDataStoreRowApi(
233
248
  rootStore.restApiContext,
234
249
  dataStore.id,
235
- emptyRow,
250
+ {},
236
251
  dataStore.projectId
237
252
  );
238
253
  return inserted[0];
@@ -246,6 +261,9 @@ const useDataStoreStore = defineStore(DATA_STORE_STORE, () => {
246
261
  projectId
247
262
  );
248
263
  };
264
+ const deleteRows = async (dataStoreId, projectId, rowIds) => {
265
+ return await deleteDataStoreRowsApi(rootStore.restApiContext, dataStoreId, rowIds, projectId);
266
+ };
249
267
  return {
250
268
  dataStores,
251
269
  totalCount,
@@ -260,9 +278,11 @@ const useDataStoreStore = defineStore(DATA_STORE_STORE, () => {
260
278
  moveDataStoreColumn,
261
279
  fetchDataStoreContent,
262
280
  insertEmptyRow,
263
- updateRow
281
+ updateRow,
282
+ deleteRows
264
283
  };
265
284
  });
266
285
  export {
286
+ reorderItem as r,
267
287
  useDataStoreStore as u
268
288
  };
@@ -86,6 +86,8 @@ const en = {
86
86
  "generic.unknownError": "An unknown error occurred",
87
87
  "generic.upgradeToEnterprise": "Upgrade to Enterprise",
88
88
  "generic.never": "Never",
89
+ "generic.list.clearSelection": "Clear selection",
90
+ "generic.list.selected": "{count} row selected: | {count} rows selected:",
89
91
  "about.aboutN8n": "About n8n",
90
92
  "about.close": "Close",
91
93
  "about.license": "License",
@@ -97,6 +99,9 @@ const en = {
97
99
  "about.debug.message": "Copy debug information",
98
100
  "about.debug.toast.title": "Debug info",
99
101
  "about.debug.toast.message": "Copied debug info to clipboard",
102
+ "about.thirdPartyLicenses": "Third-Party Licenses",
103
+ "about.thirdPartyLicensesLink": "View all third-party licenses",
104
+ "about.thirdPartyLicenses.downloadError": "Failed to download third-party licenses file",
100
105
  "askAi.dialog.title": "'Ask AI' is almost ready",
101
106
  "askAi.dialog.body": "We’re still applying the finishing touches. Soon, you will be able to <strong>automatically generate code from simple text prompts</strong>. Join the waitlist to get early access to this feature.",
102
107
  "askAi.dialog.signup": "Join Waitlist",
@@ -170,6 +175,10 @@ const en = {
170
175
  "aiAssistant.builder.canvasPrompt.startManually.title": "Start manually",
171
176
  "aiAssistant.builder.canvasPrompt.startManually.subTitle": "Add the first node",
172
177
  "aiAssistant.builder.streamAbortedMessage": "[Task aborted]",
178
+ "aiAssistant.builder.plan.intro": "Do you want to proceed with this plan?",
179
+ "aiAssistant.builder.plan.approve": "Approve Plan",
180
+ "aiAssistant.builder.plan.reject": "Request Changes",
181
+ "aiAssistant.builder.plan.whatToChange": "What would you like to change?",
173
182
  "aiAssistant.assistant": "AI Assistant",
174
183
  "aiAssistant.newSessionModal.title.part1": "Start new",
175
184
  "aiAssistant.newSessionModal.title.part2": "session",
@@ -183,8 +192,6 @@ const en = {
183
192
  "aiAssistant.codeUpdated.message.body2": "node to see the changes",
184
193
  "aiAssistant.thinkingSteps.analyzingError": "Analyzing the error...",
185
194
  "aiAssistant.thinkingSteps.thinking": "Thinking...",
186
- "aiAssistant.thinkingSteps.runningTools": "Running tools...",
187
- "aiAssistant.thinkingSteps.processingResults": "Processing results...",
188
195
  "aiAssistant.prompts.currentView.workflowList": "The user is currently looking at the list of workflows.",
189
196
  "aiAssistant.prompts.currentView.credentialsList": "The user is currently looking at the list of credentials.",
190
197
  "aiAssistant.prompts.currentView.executionsView": "The user is currently looking at the list of executions for the currently open workflow.",
@@ -770,7 +777,6 @@ Return "Good morning" if time is before 10am, "Good day" it's before 5pm, otherw
770
777
  "executionsList.confirmMessage.message": "Are you sure that you want to delete the {count} selected execution(s)?",
771
778
  "executionsList.confirmMessage.annotationsNote": "By deleting these executions you will also remove the associated annotation data.",
772
779
  "executionsList.confirmMessage.annotatedExecutionMessage": "By deleting this you will also remove the associated annotation data. Are you sure that you want to delete the selected execution?",
773
- "executionsList.clearSelection": "Clear selection",
774
780
  "executionsList.error": "Error",
775
781
  "executionsList.filters": "Filters",
776
782
  "executionsList.loadMore": "Load more",
@@ -793,7 +799,6 @@ Return "Good morning" if time is before 10am, "Good day" it's before 5pm, otherw
793
799
  "executionsList.succeeded": "Succeeded",
794
800
  "executionsList.selectStatus": "Select Status",
795
801
  "executionsList.selectWorkflow": "Select Workflow",
796
- "executionsList.selected": "{count} execution selected: | {count} executions selected:",
797
802
  "executionsList.selectAll": "Select {count} finished execution | Select all {count} finished executions",
798
803
  "executionsList.test": "Test execution",
799
804
  "executionsList.evaluation": "Evaluation execution",
@@ -1834,8 +1839,8 @@ Return "Good morning" if time is before 10am, "Good day" it's before 5pm, otherw
1834
1839
  "runData.openParentExecution": "View parent execution {id}",
1835
1840
  "runData.emptyItemHint": "This is an item, but it's empty.",
1836
1841
  "runData.emptyArray": "[empty array]",
1837
- "runData.emptyString": "[empty]",
1838
- "runData.emptyObject": "[empty object]",
1842
+ "runData.emptyString": "empty",
1843
+ "runData.emptyObject": "{'{empty object}'}",
1839
1844
  "runData.unnamedField": "[Unnamed field]",
1840
1845
  "runData.switchToBinary.info": "This item only has",
1841
1846
  "runData.switchToBinary.binary": "binary data",
@@ -2682,6 +2687,7 @@ Return "Good morning" if time is before 10am, "Good day" it's before 5pm, otherw
2682
2687
  "workflows.empty.learnN8n": "Learn n8n",
2683
2688
  "workflows.empty.button.disabled.tooltip": "Your current role in the project does not allow you to create workflows",
2684
2689
  "workflows.empty.easyAI": "Test a simple AI Agent example",
2690
+ "workflows.empty.preBuiltAgents": "Try a pre-built agent",
2685
2691
  "workflows.empty.shared-with-me": "No {resource} has been shared with you",
2686
2692
  "workflows.empty.shared-with-me.link": '<a href="#">Back to Personal</a>',
2687
2693
  "workflows.list.easyAI": "Test the power of AI in n8n with this simple AI Agent Workflow",
@@ -2732,6 +2738,8 @@ Return "Good morning" if time is before 10am, "Good day" it's before 5pm, otherw
2732
2738
  "workflows.readyToRunWorkflows.error": "Error loading n8n collection. Please try again later.",
2733
2739
  "workflows.archivedOnly.hint": "Archived workflows are hidden in this view. {link}",
2734
2740
  "workflows.archivedOnly.hint.link": "Update filters",
2741
+ "workflows.preBuiltAgents.callout": "Get started faster with our",
2742
+ "workflows.preBuiltAgents.linkText": "pre-built agents",
2735
2743
  "workflowSelectorParameterInput.createNewSubworkflow.name": "My Sub-Workflow",
2736
2744
  "importCurlModal.title": "Import cURL command",
2737
2745
  "importCurlModal.input.label": "cURL Command",
@@ -2811,7 +2819,7 @@ Return "Good morning" if time is before 10am, "Good day" it's before 5pm, otherw
2811
2819
  "contextual.users.settings.unavailable.button.cloud": "Upgrade now",
2812
2820
  "contextual.feature.unavailable.title": "Available on the Enterprise Plan",
2813
2821
  "contextual.feature.unavailable.title.cloud": "Available on the Pro Plan",
2814
- "dataStore.dataStores": "Data Tables",
2822
+ "dataStore.dataStores": "Data tables",
2815
2823
  "dataStore.empty.label": "You don't have any data tables yet",
2816
2824
  "dataStore.empty.description": "Once you create data tables for your projects, they will appear here",
2817
2825
  "dataStore.empty.button.label": 'Create Data Table in "{projectName}"',
@@ -2854,6 +2862,10 @@ Return "Good morning" if time is before 10am, "Good day" it's before 5pm, otherw
2854
2862
  "dataStore.addRow.label": "Add Row",
2855
2863
  "dataStore.addRow.error": "Error adding row",
2856
2864
  "dataStore.updateRow.error": "Error updating row",
2865
+ "dataStore.deleteRows.title": "Delete Rows",
2866
+ "dataStore.deleteRows.confirmation": "Are you sure you want to delete {count} row? | Are you sure you want to delete {count} rows?",
2867
+ "dataStore.deleteRows.success": "Rows deleted successfully",
2868
+ "dataStore.deleteRows.error": "Error deleting rows",
2857
2869
  "settings.ldap": "LDAP",
2858
2870
  "settings.ldap.note": "LDAP allows users to authenticate with their centralized account. It's compatible with services that provide an LDAP interface like Active Directory, Okta and Jumpcloud.",
2859
2871
  "settings.ldap.infoTip": "Learn more about <a href='https://docs.n8n.io/user-management/ldap/' target='_blank'>LDAP in the Docs</a>",
@@ -2977,8 +2989,10 @@ Return "Good morning" if time is before 10am, "Good day" it's before 5pm, otherw
2977
2989
  "settings.mfa.updateConfiguration": "MFA configuration updated",
2978
2990
  "settings.mfa.invalidAuthenticatorCode": "Invalid authenticator code",
2979
2991
  "projects.header.overview.subtitle": "All the workflows, credentials and executions you have access to",
2992
+ "projects.header.overview.subtitleWithDataTables": "All the workflows, credentials and data tables you have access to",
2980
2993
  "projects.header.shared.title": "Shared with you",
2981
2994
  "projects.header.personal.subtitle": "Workflows and credentials owned by you",
2995
+ "projects.header.personal.subtitleWithDataTables": "Workflows, credentials and data tables owned by you",
2982
2996
  "projects.header.shared.subtitle": "Workflows and credentials other users have shared with you",
2983
2997
  "projects.header.create.workflow": "Create Workflow",
2984
2998
  "projects.header.create.credential": "Create Credential",
@@ -3409,7 +3423,10 @@ Return "Good morning" if time is before 10am, "Good day" it's before 5pm, otherw
3409
3423
  "workflowDiff.deletedWorkflow.remote": "The workflow doesn't exist on remote",
3410
3424
  "workflowDiff.newWorkflow": "New workflow",
3411
3425
  "workflowDiff.newWorkflow.database": "The workflow will be created in the database",
3412
- "workflowDiff.newWorkflow.remote": "The workflow will be created on remote"
3426
+ "workflowDiff.newWorkflow.remote": "The workflow will be created on remote",
3427
+ "preBuiltAgentTemplates.title": "Pre-built agents",
3428
+ "preBuiltAgentTemplates.tutorials": "Tutorial templates",
3429
+ "preBuiltAgentTemplates.viewAllLink": "View all templates"
3413
3430
  };
3414
3431
  export {
3415
3432
  _reusableBaseText,
@@ -1,4 +1,4 @@
1
- import { aq as createEventBus } from "./index-CeNA_ukL.js";
1
+ import { aq as createEventBus } from "./index--OJ5nhDf.js";
2
2
  const globalLinkActionsEventBus = createEventBus();
3
3
  export {
4
4
  globalLinkActionsEventBus as g