n8n-editor-ui 1.108.1 → 1.109.1-exp.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/dist/assets/{AddDataStoreModal-BduD-_3h.js → AddDataStoreModal-CMmqKpuZ.js} +27 -10
  2. package/dist/assets/{AnimatedSpinner-C6hUJocW.js → AnimatedSpinner-BQAVrRf4.js} +1 -1
  3. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-CPuMOvlw.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-C-e8Hf86.js} +1 -1
  4. package/dist/assets/{AuthView-C11JwvOE.js → AuthView-C-1QMeAi.js} +2 -2
  5. package/dist/assets/{ChangePasswordView-BB7axCnx.js → ChangePasswordView-CMm75HVn.js} +3 -3
  6. package/dist/assets/CollectionParameter-0KmNfK7e.js +4 -0
  7. package/dist/assets/{ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-D-Jt6Gli.js → ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-nE_il7-e.js} +1 -1
  8. package/dist/assets/{CredentialsView-CfQzHZs_.js → CredentialsView-DEiS_bGa.js} +9 -8
  9. package/dist/assets/{DataStoreActions.vue_vue_type_script_setup_true_lang-4xXQM9V0.js → DataStoreActions.vue_vue_type_script_setup_true_lang-Uy8kEcSJ.js} +20 -14
  10. package/dist/assets/{DataStoreDetailsView-B4_8Wywn.js → DataStoreDetailsView-1Yfp0U49.js} +5099 -65
  11. package/dist/assets/{DataStoreDetailsView-B0CKO8ZR.css → DataStoreDetailsView-BxDmY87S.css} +310 -25
  12. package/dist/assets/{DataStoreView-Ca7MkqMT.js → DataStoreView-B0rFOKrx.js} +56 -88
  13. package/dist/assets/{DataStoreView-D-Wmcgs5.css → DataStoreView-bZrewhaR.css} +10 -15
  14. package/dist/assets/{DemoFooter-mdcYI9V4.js → DemoFooter-COCwOlSE.js} +6 -6
  15. package/dist/assets/{EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-sIvwrfw-.js → EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-CsEyfmIK.js} +1 -1
  16. package/dist/assets/{EntityNotFound-Y2W4TM3k.js → EntityNotFound-DpLmv3ME.js} +1 -1
  17. package/dist/assets/{EntityUnAuthorised-DWipzXTF.js → EntityUnAuthorised-CR_6Y37T.js} +1 -1
  18. package/dist/assets/{ErrorView-hJzoyT_-.js → ErrorView-CIKSp6id.js} +1 -1
  19. package/dist/assets/{EvaluationsRootView-DYV7_RjO.js → EvaluationsRootView-U5uRCCja.js} +1 -1
  20. package/dist/assets/{EvaluationsView-CxpomFUt.js → EvaluationsView-DW2Oipdw.js} +3 -3
  21. package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-cu2lzua8.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-DrLiE1HT.js} +2 -2
  22. package/dist/assets/{ExecutionsView-Cr_GKQZv.js → ExecutionsView-BYoQ6bA_.js} +8 -8
  23. package/dist/assets/{FixedCollectionParameter-7vnFpRXo.js → FixedCollectionParameter-BP6Hp-qk.js} +1 -1
  24. package/dist/assets/{ForgotMyPasswordView-n42XhNZS.js → ForgotMyPasswordView-c1wnd6O3.js} +3 -3
  25. package/dist/assets/{InfoAccordion-B8s_JAdp.js → InfoAccordion-DovNmWsC.js} +1 -1
  26. package/dist/assets/{InsightsChartAverageRuntime-DV_Ju7Zp.js → InsightsChartAverageRuntime-BW517tv0.js} +4 -4
  27. package/dist/assets/{InsightsChartFailed-n5LqWGkq.js → InsightsChartFailed-CpKGAn-q.js} +4 -4
  28. package/dist/assets/{InsightsChartFailureRate-DV991eOY.js → InsightsChartFailureRate-D6ty7UwQ.js} +4 -4
  29. package/dist/assets/{InsightsChartTimeSaved-BvwxGS1S.js → InsightsChartTimeSaved-BXLf4z0O.js} +4 -4
  30. package/dist/assets/{InsightsChartTotal-BOWuHwMh.js → InsightsChartTotal-BIjDUiy9.js} +4 -4
  31. package/dist/assets/{InsightsDashboard-Bj79r2Dt.js → InsightsDashboard-NTagdefb.js} +10 -10
  32. package/dist/assets/{InsightsPaywall-BMm5-uje.js → InsightsPaywall-CoFrKj_G.js} +1 -1
  33. package/dist/assets/{InsightsSummary-CpUOsQoR.js → InsightsSummary-BwAXblg3.js} +1 -1
  34. package/dist/assets/{InsightsTableWorkflows-BAqDod9M.js → InsightsTableWorkflows-DX86KpbA.js} +13 -11
  35. package/dist/assets/{Logo-Bk-9Gwmg.js → Logo-CTdxpXL9.js} +1 -1
  36. package/dist/assets/{LogsPanel-BnH3S-xQ.js → LogsPanel-ClZ6L19W.js} +5 -5
  37. package/dist/assets/{MainHeader-lQ8AnThi.js → MainHeader-BZ-UXtjK.js} +482 -472
  38. package/dist/assets/{MainHeader-fMUCh_vG.css → MainHeader-BofAi8wS.css} +42 -42
  39. package/dist/assets/{MainSidebar-Df5Lmhlu.js → MainSidebar-DjxdwIl_.js} +19 -6
  40. package/dist/assets/{NodeCreation-Cx5MUGEE.js → NodeCreation-jcmpUiwP.js} +3 -3
  41. package/dist/assets/NodeCreator-COTYfPaK.css +1637 -0
  42. package/dist/assets/{NodeCreator-DHfJ_cC7.js → NodeCreator-DPZTIfnb.js} +28 -1225
  43. package/dist/assets/{NodeDetailsView-Bb6YAUqN.js → NodeDetailsView-CU60UMMm.js} +13 -13
  44. package/dist/assets/{NodeDetailsViewV2-uFzp-aaB.js → NodeDetailsViewV2-BfUlqsae.js} +13 -13
  45. package/dist/assets/{NodeView-kIkCm9Kt.js → NodeView-g29_WXte.js} +15 -11
  46. package/dist/assets/PageViewLayout-CJlzbuVj.css +141 -0
  47. package/dist/assets/PageViewLayout-DfWGehvM.js +27 -0
  48. package/dist/assets/PrebuiltAgentTemplatesView-BOcmbn6B.js +196 -0
  49. package/dist/assets/PrebuiltAgentTemplatesView-COxu7Iih.css +166 -0
  50. package/dist/assets/{ProjectBreadcrumb-CzeQoSDB.js → ProjectBreadcrumb-CWq8ubCf.js} +1 -1
  51. package/dist/assets/{ProjectHeader-Br8yvqkf.js → ProjectHeader-RvcbYSCb.js} +16 -19
  52. package/dist/assets/{ProjectSettings-Dc1-Sv7W.js → ProjectSettings-COFuN2-R.js} +3 -3
  53. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-CC7YLT_t.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-CO-M5R89.js} +1 -1
  54. package/dist/assets/{ResourcesListLayout-ozILtp5g.js → ResourcesListLayout-CL3ardp2.js} +14 -36
  55. package/dist/assets/{ResourcesListLayout-C1JgyGhX.css → ResourcesListLayout-CVKyKkt9.css} +0 -140
  56. package/dist/assets/{RunDataJson-CRFhfhsN.js → RunDataJson-CiZmogYm.js} +3 -3
  57. package/dist/assets/{RunDataJsonActions-rXu_dfcA.js → RunDataJsonActions-xYBJCH8-.js} +1 -1
  58. package/dist/assets/{RunDataParsedAiContent-CkUxt-9z.js → RunDataParsedAiContent-BbwMZ2cf.js} +2 -2
  59. package/dist/assets/{RunDataSearch-DYe-cpkq.js → RunDataSearch-7nGkMeXI.js} +1 -1
  60. package/dist/assets/{RunDataTable-Bt4rcVnP.js → RunDataTable-b6xDbVuB.js} +1 -1
  61. package/dist/assets/{SamlOnboarding-DoCTEauY.js → SamlOnboarding-TBQugaMs.js} +3 -3
  62. package/dist/assets/{SettingsApiView-DpQfNJql.js → SettingsApiView-CcUQJaIT.js} +1 -1
  63. package/dist/assets/{SettingsCommunityNodesView-D_XkgBdt.js → SettingsCommunityNodesView-B315yNJi.js} +4 -4
  64. package/dist/assets/{SettingsExternalSecrets-LhOGgphB.js → SettingsExternalSecrets-SZcVtzZ_.js} +1 -1
  65. package/dist/assets/{SettingsLdapView-XcnXdARP.js → SettingsLdapView-rNCQ7v3o.js} +1 -1
  66. package/dist/assets/{SettingsLogStreamingView-BONkwVIB.js → SettingsLogStreamingView-RDx9A9tb.js} +1 -1
  67. package/dist/assets/{SettingsPersonalView-2XpKuDxm.js → SettingsPersonalView-9ndK4DTC.js} +1 -1
  68. package/dist/assets/{SettingsSourceControl-DXyfgX21.js → SettingsSourceControl-BwfXpwbQ.js} +1 -1
  69. package/dist/assets/{SettingsSso-DBPl52gz.js → SettingsSso-Dme0tqgI.js} +7 -5
  70. package/dist/assets/{SettingsUsageAndPlan-CRRW-luY.js → SettingsUsageAndPlan-HFRQcbGO.js} +1 -1
  71. package/dist/assets/{SettingsUsersView-3nNUeWJF.js → SettingsUsersView-WQaWa1Xg.js} +1 -1
  72. package/dist/assets/{SettingsView-D_E-tbUh.js → SettingsView-BOFF8MIt.js} +1 -1
  73. package/dist/assets/{SetupView-Dawd6Tdz.js → SetupView-D4ma4QqQ.js} +3 -3
  74. package/dist/assets/{SetupWorkflowCredentialsButton-HjpsC5yu.js → SetupWorkflowCredentialsButton-qBefMaeP.js} +1 -1
  75. package/dist/assets/{SetupWorkflowFromTemplateView-BUjd1MTh.js → SetupWorkflowFromTemplateView-eThiBMJr.js} +3 -3
  76. package/dist/assets/{SigninView-REbhOdEi.js → SigninView-Dyy4AWIv.js} +3 -3
  77. package/dist/assets/{SignoutView-DNWe1_WW.js → SignoutView-4fiMBT_O.js} +1 -1
  78. package/dist/assets/{SignupView-DvAKWSMp.js → SignupView-D8EgeExw.js} +3 -3
  79. package/dist/assets/{TableBase-DpxvhaiM.js → TableBase-OkNFnxMN.js} +1 -1
  80. package/dist/assets/{Tag-BU_1pCk_.js → Tag-DU_lYKFb.js} +1 -1
  81. package/dist/assets/{Tags-BVRt8Mzw.js → Tags-DwGsPbMq.js} +2 -2
  82. package/dist/assets/{TemplateDetails-BzUhHza5.js → TemplateDetails-ClayPQIC.js} +2 -2
  83. package/dist/assets/{TemplateList-CsrMALsz.js → TemplateList-BmhAYtqD.js} +1 -1
  84. package/dist/assets/{TemplatesCollectionView-DyEPNFhT.js → TemplatesCollectionView-C_XvnuSE.js} +7 -7
  85. package/dist/assets/{TemplatesSearchView-DDGn2iPF.js → TemplatesSearchView-C45ew-79.js} +3 -3
  86. package/dist/assets/{TemplatesView-Q-Ygp-l3.js → TemplatesView-BUhBCzDh.js} +1 -1
  87. package/dist/assets/{TemplatesWorkflowView-Ba-myyYc.js → TemplatesWorkflowView-Cqx0LH2x.js} +7 -7
  88. package/dist/assets/{TriggerPanel-DmVMaaLr.css → TriggerPanel-BFPMKijE.css} +4 -4
  89. package/dist/assets/{TriggerPanel-DWnvpkRN.js → TriggerPanel-CPRAkoxG.js} +20 -9
  90. package/dist/assets/{VariablesView-D1C7kn8G.js → VariablesView-Dx2OtCEI.js} +6 -5
  91. package/dist/assets/{WorkerView-7idQWzAy.js → WorkerView-P8T10YwW.js} +6 -6
  92. package/dist/assets/{WorkflowActivator-5rkOtBNg.js → WorkflowActivator-_e923o0y.js} +3 -3
  93. package/dist/assets/{WorkflowExecutionsInfoAccordion-CACMIZmQ.js → WorkflowExecutionsInfoAccordion-DJpH9yyI.js} +2 -2
  94. package/dist/assets/{WorkflowExecutionsLandingPage-Bx1tyNO5.js → WorkflowExecutionsLandingPage-BYSAKviI.js} +3 -3
  95. package/dist/assets/{WorkflowExecutionsPreview-D7casZ5n.js → WorkflowExecutionsPreview-CEsBtvmn.js} +4 -4
  96. package/dist/assets/{WorkflowExecutionsView-CEt2aAxh.js → WorkflowExecutionsView-B0a-jegq.js} +7 -7
  97. package/dist/assets/{WorkflowHistory-Ca1cITF8.js → WorkflowHistory-BTMuD-Rw.js} +3 -3
  98. package/dist/assets/{WorkflowOnboardingView-Dj5r1TEe.js → WorkflowOnboardingView-yyOF5Tfj.js} +1 -1
  99. package/dist/assets/{WorkflowPreview-BM8KajvD.js → WorkflowPreview-FLb0vqTZ.js} +1 -1
  100. package/dist/assets/{WorkflowsView-CtEZYf3I.js → WorkflowsView-E-TpCSK5.js} +113 -30
  101. package/dist/assets/{canvas-D0IR7_I9.js → canvas-DVwUwHyq.js} +1 -1
  102. package/dist/assets/{chartjs.utils-Cl3MP1kj.js → chartjs.utils-TbG5rKwD.js} +2 -2
  103. package/dist/assets/{core-ChTWffJl.js → core-xJ_ye7-C.js} +1 -1
  104. package/dist/assets/{dataStore.store-TYb453Ex.js → dataStore.store-_vnx0W6W.js} +123 -4
  105. package/dist/assets/{en-BGDurvS-.js → en-Dky7DMCM.js} +36 -23
  106. package/dist/assets/{global-link-actions-DVZ42e62.js → global-link-actions-B6KV3Sbr.js} +1 -1
  107. package/dist/assets/{index-C6NR226r.css → index-Ced82689.css} +3178 -1103
  108. package/dist/assets/{index-DuT-FIl1.js → index-Cz15Tiv9.js} +8223 -6692
  109. package/dist/assets/{index-rj5i1dCk.js → index-DVGGZEuK.js} +1 -1
  110. package/dist/assets/{pickBy-Dt7YGwxv.js → pickBy-Bd6X8Hwr.js} +1 -1
  111. package/dist/assets/{readyToRunWorkflows.store-BMekdydj.js → readyToRunWorkflows.store-Cmgt_RuC.js} +1 -1
  112. package/dist/assets/{templateActions-BJtozPHh.js → templateActions-C8pcWzAR.js} +1 -1
  113. package/dist/assets/{useBeforeUnload-_0Sc5GzG.js → useBeforeUnload-BkXoGUBm.js} +1 -1
  114. package/dist/assets/{useExecutionDebugging-BE0aGBWM.js → useExecutionDebugging-Frigwi9s.js} +1 -1
  115. package/dist/assets/{useImportCurlCommand-dBmf2eJ5.js → useImportCurlCommand-C8hZCPg6.js} +10 -3
  116. package/dist/assets/{useProjectPages-BkXBOvhp.js → useProjectPages-atXZB4mX.js} +1 -1
  117. package/dist/assets/{usePushConnection-_wOU-QzC.js → usePushConnection-CdWJ1GHK.js} +8 -3
  118. package/dist/assets/{useWorkflowActivate-IL8D7V3s.js → useWorkflowActivate-DUdD-y87.js} +1 -1
  119. package/dist/index.html +2 -2
  120. package/package.json +1 -1
  121. package/dist/assets/CollectionParameter-Cgq5mid5.js +0 -4
  122. package/dist/assets/NodeCreator-COgNP4W1.css +0 -3569
@@ -1,16 +1,17 @@
1
- import { d as defineComponent, aa as useRoute, b as useRouter, av as useFoldersStore, r as ref, x as computed, c as useI18n, aF as ProjectTypes, V as VIEWS, T 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, Z as useUIStore, u as useUsersStore, a9 as useWorkflowsStore, au as useProjectsStore, aB as getResourcePermissions, fQ as dateFormat, b2 as withDirectives, b3 as vShow, aN as WORKFLOW_SHARE_MODAL_KEY, ap as useTelemetry, aR as DUPLICATE_MODAL_KEY, aq as useMessage, ar 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, a7 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, af as watch, fh as TEMPLATE_ONBOARDING_EXPERIMENT, ac as STORES, z as N8nCallout, C as N8nLink, Q as renderSlot, ah as useNodeTypesStore, bl as usePersonalizedTemplatesV2Store, o as onMounted, bV as NodeIcon, bt as EXPERIMENT_TEMPLATE_RECO_V2_KEY, F as Fragment, A as renderList, aj as useSourceControlStore, X as useTagsStore, eU as useUsageStore, g2 as useInsightsStore, ax as useDocumentTitle, Y as useDebounce, aE as EnterpriseEditionFeature, g3 as isExtraTemplateLinksExperimentEnabled, W as createEventBus, P as onBeforeUnmount, S as debounce, g4 as PROJECT_ROOT, aG as useTemplateRef, bp as createSlots, a4 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, bu as trackTemplatesClick, bv as TemplateClickSource, g7 as getEasyAiWorkflowJson, eW as COMMUNITY_PLUS_ENROLLMENT_MODAL } from "./index-DuT-FIl1.js";
2
- import { _ as _sfc_main$8 } from "./EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-sIvwrfw-.js";
3
- import { B as Breadcrumbs } from "./ProjectBreadcrumb-CzeQoSDB.js";
4
- import { W as WorkflowActivator, _ as __unplugin_components_0 } from "./WorkflowActivator-5rkOtBNg.js";
5
- import { R as ResourcesListLayout } from "./ResourcesListLayout-ozILtp5g.js";
6
- import { P as ProjectHeader } from "./ProjectHeader-Br8yvqkf.js";
7
- import { T as Tags } from "./Tags-BVRt8Mzw.js";
8
- import { u as useProjectPages } from "./useProjectPages-BkXBOvhp.js";
9
- import { u as useAITemplatesStarterCollectionStore, a as useReadyToRunWorkflowsStore } from "./readyToRunWorkflows.store-BMekdydj.js";
10
- import { I as InsightsSummary } from "./InsightsSummary-CpUOsQoR.js";
11
- import "./useWorkflowActivate-IL8D7V3s.js";
12
- import "./TableBase-DpxvhaiM.js";
13
- import "./Tag-BU_1pCk_.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, f$ as ProjectCardBadge, l as unref, aS as ResourceType, e7 as N8nActionToggle, B as withModifiers, p as N8nText, k as createTextVNode, t as toDisplayString, eE 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, fS 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, g0 as FOLDER_NAME_ILLEGAL_CHARACTERS_REGEX, g1 as ILLEGAL_FOLDER_CHARACTERS, g2 as FOLDER_NAME_ONLY_DOTS_REGEX, g3 as FOLDER_NAME_MAX_LENGTH, $ as defineStore, d8 as usePostHog, bb as useCloudPlanStore, bk as useTemplatesStore, bc as useStorage, g4 as LOCAL_STORAGE_EXPERIMENTAL_DISMISSED_SUGGESTED_WORKFLOWS, df as jsonParse, a7 as watch, fj 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, eV as useUsageStore, g5 as useInsightsStore, ax as useDocumentTitle, P as useDebounce, aE as EnterpriseEditionFeature, g6 as isExtraTemplateLinksExperimentEnabled, aq as createEventBus, W as onBeforeUnmount, ao as debounce, g7 as PROJECT_ROOT, aG as useTemplateRef, br as createSlots, a9 as Tooltip, q as N8nButton, cL as InfoTip, dS as N8nActionBox, d$ as N8nInputLabel, aJ as _sfc_main$9, e2 as N8nSelect, e3 as _sfc_main$a, eT as N8nCheckbox, g8 as Draggable, dE as N8nLoading, aH as InlineRename, g9 as DEFAULT_WORKFLOW_PAGE_SIZE, bw as trackTemplatesClick, bx as TemplateClickSource, ga as getEasyAiWorkflowJson, eX as COMMUNITY_PLUS_ENROLLMENT_MODAL } from "./index-Cz15Tiv9.js";
2
+ import { _ as _sfc_main$8 } from "./EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-CsEyfmIK.js";
3
+ import { B as Breadcrumbs } from "./ProjectBreadcrumb-CWq8ubCf.js";
4
+ import { W as WorkflowActivator, _ as __unplugin_components_0 } from "./WorkflowActivator-_e923o0y.js";
5
+ import { R as ResourcesListLayout } from "./ResourcesListLayout-CL3ardp2.js";
6
+ import { P as ProjectHeader } from "./ProjectHeader-RvcbYSCb.js";
7
+ import { T as Tags } from "./Tags-DwGsPbMq.js";
8
+ import { u as useProjectPages } from "./useProjectPages-atXZB4mX.js";
9
+ import { u as useAITemplatesStarterCollectionStore, a as useReadyToRunWorkflowsStore } from "./readyToRunWorkflows.store-Cmgt_RuC.js";
10
+ import { I as InsightsSummary } from "./InsightsSummary-BwAXblg3.js";
11
+ import "./useWorkflowActivate-DUdD-y87.js";
12
+ import "./TableBase-OkNFnxMN.js";
13
+ import "./PageViewLayout-DfWGehvM.js";
14
+ import "./Tag-DU_lYKFb.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 { W as createEventBus } from "./index-DuT-FIl1.js";
1
+ import { aq as createEventBus } from "./index-Cz15Tiv9.js";
2
2
  const canvasEventBus = createEventBus();
3
3
  export {
4
4
  canvasEventBus as c
@@ -1,5 +1,5 @@
1
- import { fT as useCssVar, hF as merge } from "./index-DuT-FIl1.js";
2
- import { s as smartDecimal } from "./InsightsSummary-CpUOsQoR.js";
1
+ import { fV as useCssVar, hL as merge } from "./index-Cz15Tiv9.js";
2
+ import { s as smartDecimal } from "./InsightsSummary-BwAXblg3.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, bQ as getDefaultExportFromCjs } from "./index-DuT-FIl1.js";
1
+ import { d as defineComponent, r as ref, fp as MarkdownIt, x as computed, aW as h, bS as getDefaultExportFromCjs } from "./index-Cz15Tiv9.js";
2
2
  const VueMarkdown = defineComponent({
3
3
  name: "VueMarkdown",
4
4
  props: {
@@ -1,4 +1,4 @@
1
- import { e$ as makeRestApiRequest, a7 as defineStore, at as useRootStore, au as useProjectsStore, r as ref, gw as DATA_STORE_STORE } from "./index-DuT-FIl1.js";
1
+ import { f0 as makeRestApiRequest, $ as defineStore, at as useRootStore, au as useProjectsStore, r as ref, gA as DATA_STORE_STORE } from "./index-Cz15Tiv9.js";
2
2
  const fetchDataStoresApi = async (context, projectId, options, filter) => {
3
3
  const apiEndpoint = projectId ? `/projects/${projectId}/data-stores` : "/data-stores-global";
4
4
  return await makeRestApiRequest(
@@ -6,8 +6,8 @@ const fetchDataStoresApi = async (context, projectId, options, filter) => {
6
6
  "GET",
7
7
  apiEndpoint,
8
8
  {
9
- ...options,
10
- ...filter ?? {}
9
+ options: options ?? void 0,
10
+ filter: filter ?? void 0
11
11
  }
12
12
  );
13
13
  };
@@ -53,6 +53,49 @@ const addDataStoreColumnApi = async (context, dataStoreId, projectId, column) =>
53
53
  }
54
54
  );
55
55
  };
56
+ const deleteDataStoreColumnApi = async (context, dataStoreId, projectId, columnId) => {
57
+ return await makeRestApiRequest(
58
+ context,
59
+ "DELETE",
60
+ `/projects/${projectId}/data-stores/${dataStoreId}/columns/${columnId}`
61
+ );
62
+ };
63
+ const moveDataStoreColumnApi = async (context, dataStoreId, projectId, columnId, targetIndex) => {
64
+ return await makeRestApiRequest(
65
+ context,
66
+ "PATCH",
67
+ `/projects/${projectId}/data-stores/${dataStoreId}/columns/${columnId}/move`,
68
+ {
69
+ targetIndex
70
+ }
71
+ );
72
+ };
73
+ const getDataStoreRowsApi = async (context, dataStoreId, projectId, options) => {
74
+ return await makeRestApiRequest(context, "GET", `/projects/${projectId}/data-stores/${dataStoreId}/rows`, {
75
+ ...options ?? {}
76
+ });
77
+ };
78
+ const insertDataStoreRowApi = async (context, dataStoreId, row, projectId) => {
79
+ return await makeRestApiRequest(
80
+ context,
81
+ "POST",
82
+ `/projects/${projectId}/data-stores/${dataStoreId}/insert`,
83
+ {
84
+ data: [row]
85
+ }
86
+ );
87
+ };
88
+ const updateDataStoreRowsApi = async (context, dataStoreId, rowId, rowData, projectId) => {
89
+ return await makeRestApiRequest(
90
+ context,
91
+ "PATCH",
92
+ `/projects/${projectId}/data-stores/${dataStoreId}/rows`,
93
+ {
94
+ filter: { id: rowId },
95
+ data: rowData
96
+ }
97
+ );
98
+ };
56
99
  const useDataStoreStore = defineStore(DATA_STORE_STORE, () => {
57
100
  const rootStore = useRootStore();
58
101
  const projectStore = useProjectsStore();
@@ -86,6 +129,23 @@ const useDataStoreStore = defineStore(DATA_STORE_STORE, () => {
86
129
  }
87
130
  return deleted;
88
131
  };
132
+ const deleteDataStoreColumn = async (datastoreId, projectId, columnId) => {
133
+ const deleted = await deleteDataStoreColumnApi(
134
+ rootStore.restApiContext,
135
+ datastoreId,
136
+ projectId,
137
+ columnId
138
+ );
139
+ if (deleted) {
140
+ const index = dataStores.value.findIndex((store) => store.id === datastoreId);
141
+ if (index !== -1) {
142
+ dataStores.value[index].columns = dataStores.value[index].columns.filter(
143
+ (col) => col.id !== columnId
144
+ );
145
+ }
146
+ }
147
+ return deleted;
148
+ };
89
149
  const updateDataStore = async (datastoreId, name, projectId) => {
90
150
  const updated = await updateDataStoreApi(
91
151
  rootStore.restApiContext,
@@ -103,9 +163,11 @@ const useDataStoreStore = defineStore(DATA_STORE_STORE, () => {
103
163
  };
104
164
  const fetchDataStoreDetails = async (datastoreId, projectId) => {
105
165
  const response = await fetchDataStoresApi(rootStore.restApiContext, projectId, void 0, {
166
+ projectId,
106
167
  id: datastoreId
107
168
  });
108
169
  if (response.data.length > 0) {
170
+ dataStores.value = response.data;
109
171
  return response.data[0];
110
172
  }
111
173
  return null;
@@ -132,6 +194,58 @@ const useDataStoreStore = defineStore(DATA_STORE_STORE, () => {
132
194
  }
133
195
  return newColumn;
134
196
  };
197
+ const moveDataStoreColumn = async (datastoreId, projectId, columnId, targetIndex) => {
198
+ const moved = await moveDataStoreColumnApi(
199
+ rootStore.restApiContext,
200
+ datastoreId,
201
+ projectId,
202
+ columnId,
203
+ targetIndex
204
+ );
205
+ if (moved) {
206
+ const dsIndex = dataStores.value.findIndex((store) => store.id === datastoreId);
207
+ 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
+ });
218
+ }
219
+ return moved;
220
+ };
221
+ const fetchDataStoreContent = async (datastoreId, projectId, page, pageSize) => {
222
+ return await getDataStoreRowsApi(rootStore.restApiContext, datastoreId, projectId, {
223
+ skip: (page - 1) * pageSize,
224
+ take: pageSize
225
+ });
226
+ };
227
+ const insertEmptyRow = async (dataStore) => {
228
+ const emptyRow = {};
229
+ dataStore.columns.forEach((column) => {
230
+ emptyRow[column.name] = null;
231
+ });
232
+ const inserted = await insertDataStoreRowApi(
233
+ rootStore.restApiContext,
234
+ dataStore.id,
235
+ emptyRow,
236
+ dataStore.projectId
237
+ );
238
+ return inserted[0];
239
+ };
240
+ const updateRow = async (dataStoreId, projectId, rowId, rowData) => {
241
+ return await updateDataStoreRowsApi(
242
+ rootStore.restApiContext,
243
+ dataStoreId,
244
+ rowId,
245
+ rowData,
246
+ projectId
247
+ );
248
+ };
135
249
  return {
136
250
  dataStores,
137
251
  totalCount,
@@ -141,7 +255,12 @@ const useDataStoreStore = defineStore(DATA_STORE_STORE, () => {
141
255
  updateDataStore,
142
256
  fetchDataStoreDetails,
143
257
  fetchOrFindDataStore,
144
- addDataStoreColumn
258
+ addDataStoreColumn,
259
+ deleteDataStoreColumn,
260
+ moveDataStoreColumn,
261
+ fetchDataStoreContent,
262
+ insertEmptyRow,
263
+ updateRow
145
264
  };
146
265
  });
147
266
  export {
@@ -56,6 +56,7 @@ const en = {
56
56
  "generic.tryNow": "Try now",
57
57
  "generic.startNow": "Start now",
58
58
  "generic.dismiss": "Dismiss",
59
+ "generic.saving": "Saving",
59
60
  "generic.unsavedWork.confirmMessage.headline": "Save changes before leaving?",
60
61
  "generic.unsavedWork.confirmMessage.message": "If you don't save, you will lose your changes.",
61
62
  "generic.unsavedWork.confirmMessage.confirmButtonText": "Save",
@@ -664,8 +665,7 @@ Return "Good morning" if time is before 10am, "Good day" it's before 5pm, otherw
664
665
  "credentials.noResults": "No credentials found",
665
666
  "credentials.noResults.withSearch.switchToShared.preamble": "some credentials may be",
666
667
  "credentials.noResults.withSearch.switchToShared.link": "hidden",
667
- "credentials.create.personal.toast.title": "Credential successfully created",
668
- "credentials.create.personal.toast.text": "This credential has been created inside your personal space.",
668
+ "credentials.create.personal.toast.title": "Credential successfully created inside your personal space",
669
669
  "credentials.create.project.toast.title": "Credential successfully created in {projectName}",
670
670
  "credentials.create.project.toast.text": "All members from {projectName} will have access to this credential.",
671
671
  "dataDisplay.needHelp": "Need help?",
@@ -2682,6 +2682,7 @@ Return "Good morning" if time is before 10am, "Good day" it's before 5pm, otherw
2682
2682
  "workflows.empty.learnN8n": "Learn n8n",
2683
2683
  "workflows.empty.button.disabled.tooltip": "Your current role in the project does not allow you to create workflows",
2684
2684
  "workflows.empty.easyAI": "Test a simple AI Agent example",
2685
+ "workflows.empty.preBuiltAgents": "Try a pre-built agent",
2685
2686
  "workflows.empty.shared-with-me": "No {resource} has been shared with you",
2686
2687
  "workflows.empty.shared-with-me.link": '<a href="#">Back to Personal</a>',
2687
2688
  "workflows.list.easyAI": "Test the power of AI in n8n with this simple AI Agent Workflow",
@@ -2712,8 +2713,7 @@ Return "Good morning" if time is before 10am, "Good day" it's before 5pm, otherw
2712
2713
  "workflows.concurrentChanges.confirmMessage.message": 'Someone saved this workflow while you were editing it. You can <a href="{url}" target="_blank">view their version</a> (in new tab).<br/><br/>Overwrite their changes with yours?',
2713
2714
  "workflows.concurrentChanges.confirmMessage.cancelButtonText": "Cancel",
2714
2715
  "workflows.concurrentChanges.confirmMessage.confirmButtonText": "Overwrite and Save",
2715
- "workflows.create.personal.toast.title": "Workflow successfully created",
2716
- "workflows.create.personal.toast.text": "This workflow has been created inside your personal space.",
2716
+ "workflows.create.personal.toast.title": "Workflow successfully created inside your personal space",
2717
2717
  "workflows.create.project.toast.title": "Workflow successfully created in {projectName}",
2718
2718
  "workflows.create.folder.toast.title": 'Workflow successfully created in "{projectName}", within "{folderName}"',
2719
2719
  "workflows.create.project.toast.text": "All members from {projectName} will have access to this workflow.",
@@ -2733,6 +2733,8 @@ Return "Good morning" if time is before 10am, "Good day" it's before 5pm, otherw
2733
2733
  "workflows.readyToRunWorkflows.error": "Error loading n8n collection. Please try again later.",
2734
2734
  "workflows.archivedOnly.hint": "Archived workflows are hidden in this view. {link}",
2735
2735
  "workflows.archivedOnly.hint.link": "Update filters",
2736
+ "workflows.preBuiltAgents.callout": "Get started faster with our",
2737
+ "workflows.preBuiltAgents.linkText": "pre-built agents",
2736
2738
  "workflowSelectorParameterInput.createNewSubworkflow.name": "My Sub-Workflow",
2737
2739
  "importCurlModal.title": "Import cURL command",
2738
2740
  "importCurlModal.input.label": "cURL Command",
@@ -2812,10 +2814,10 @@ Return "Good morning" if time is before 10am, "Good day" it's before 5pm, otherw
2812
2814
  "contextual.users.settings.unavailable.button.cloud": "Upgrade now",
2813
2815
  "contextual.feature.unavailable.title": "Available on the Enterprise Plan",
2814
2816
  "contextual.feature.unavailable.title.cloud": "Available on the Pro Plan",
2815
- "dataStore.dataStores": "Data Stores",
2816
- "dataStore.empty.label": "You don't have any data stores yet",
2817
- "dataStore.empty.description": "Once you create data stores for your projects, they will appear here",
2818
- "dataStore.empty.button.label": 'Create data store in "{projectName}"',
2817
+ "dataStore.dataStores": "Data Tables",
2818
+ "dataStore.empty.label": "You don't have any data tables yet",
2819
+ "dataStore.empty.description": "Once you create data tables for your projects, they will appear here",
2820
+ "dataStore.empty.button.label": 'Create Data Table in "{projectName}"',
2819
2821
  "dataStore.card.size": "{size}MB",
2820
2822
  "dataStore.card.column.count": "{count} column | {count} columns",
2821
2823
  "dataStore.card.row.count": "{count} record | {count} records",
@@ -2824,29 +2826,37 @@ Return "Good morning" if time is before 10am, "Good day" it's before 5pm, otherw
2824
2826
  "dataStore.sort.nameAsc": "Sort by name (A-Z)",
2825
2827
  "dataStore.sort.nameDesc": "Sort by name (Z-A)",
2826
2828
  "dataStore.search.placeholder": "Search",
2827
- "dataStore.error.fetching": "Error loading data stores",
2828
- "dataStore.add.title": "Create data store",
2829
- "dataStore.add.description": "Set up a new data store to organize and manage your data.",
2830
- "dataStore.add.button.label": "Create Data Store",
2831
- "dataStore.add.input.name.label": "Data Store Name",
2832
- "dataStore.add.input.name.placeholder": "Enter data store name",
2833
- "dataStore.add.error": "Error creating data store",
2834
- "dataStore.delete.confirm.title": "Delete data store",
2835
- "dataStore.delete.confirm.message": 'Are you sure you want to delete the data store "{name}"? This action cannot be undone.',
2836
- "dataStore.delete.error": "Error deleting data store",
2837
- "dataStore.rename.error": "Error renaming data store",
2838
- "dataStore.getDetails.error": "Error fetching data store details",
2839
- "dataStore.notFound": "Data store not found",
2829
+ "dataStore.error.fetching": "Error loading data tables",
2830
+ "dataStore.add.title": "Create new data table",
2831
+ "dataStore.add.description": "Set up a new data table to organize and manage your data.",
2832
+ "dataStore.add.button.label": "Create Data Table",
2833
+ "dataStore.add.input.name.label": "Data Table Name",
2834
+ "dataStore.add.input.name.placeholder": "Enter data table name",
2835
+ "dataStore.add.error": "Error creating data table",
2836
+ "dataStore.delete.confirm.title": "Delete data table",
2837
+ "dataStore.delete.confirm.message": 'Are you sure you want to delete the data table "{name}"? This action cannot be undone.',
2838
+ "dataStore.delete.error": "Error deleting data table",
2839
+ "dataStore.rename.error": "Error renaming data table",
2840
+ "dataStore.getDetails.error": "Error fetching data table details",
2841
+ "dataStore.notFound": "Data table not found",
2840
2842
  "dataStore.noColumns.heading": "No columns yet",
2841
- "dataStore.noColumns.description": "Add columns to start storing data in this data store.",
2843
+ "dataStore.noColumns.description": "Add columns to start storing data in this data table.",
2842
2844
  "dataStore.noColumns.button.label": "Add first column",
2843
2845
  "dataStore.addColumn.label": "Add Column",
2844
2846
  "dataStore.addColumn.nameInput.label": "@:_reusableBaseText.name",
2845
2847
  "dataStore.addColumn.nameInput.placeholder": "Enter column name",
2846
2848
  "dataStore.addColumn.typeInput.label": "@:_reusableBaseText.type",
2847
2849
  "dataStore.addColumn.error": "Error adding column",
2850
+ "dataStore.moveColumn.error": "Error moving column",
2851
+ "dataStore.deleteColumn.error": "Error deleting column",
2852
+ "dataStore.deleteColumn.confirm.title": "Delete column",
2853
+ "dataStore.deleteColumn.confirm.message": 'Are you sure you want to delete the column "{name}"? This action cannot be undone.',
2848
2854
  "dataStore.addColumn.invalidName.error": "Invalid column name",
2849
2855
  "dataStore.addColumn.invalidName.description": "Only alphanumeric characters and non-leading dashes are allowed for column names",
2856
+ "dataStore.fetchContent.error": "Error fetching data store content",
2857
+ "dataStore.addRow.label": "Add Row",
2858
+ "dataStore.addRow.error": "Error adding row",
2859
+ "dataStore.updateRow.error": "Error updating row",
2850
2860
  "settings.ldap": "LDAP",
2851
2861
  "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.",
2852
2862
  "settings.ldap.infoTip": "Learn more about <a href='https://docs.n8n.io/user-management/ldap/' target='_blank'>LDAP in the Docs</a>",
@@ -3401,7 +3411,10 @@ Return "Good morning" if time is before 10am, "Good day" it's before 5pm, otherw
3401
3411
  "workflowDiff.deletedWorkflow.remote": "The workflow doesn't exist on remote",
3402
3412
  "workflowDiff.newWorkflow": "New workflow",
3403
3413
  "workflowDiff.newWorkflow.database": "The workflow will be created in the database",
3404
- "workflowDiff.newWorkflow.remote": "The workflow will be created on remote"
3414
+ "workflowDiff.newWorkflow.remote": "The workflow will be created on remote",
3415
+ "preBuiltAgentTemplates.title": "Pre-built agents",
3416
+ "preBuiltAgentTemplates.tutorials": "Tutorial templates",
3417
+ "preBuiltAgentTemplates.viewAllLink": "View all templates"
3405
3418
  };
3406
3419
  export {
3407
3420
  _reusableBaseText,
@@ -1,4 +1,4 @@
1
- import { W as createEventBus } from "./index-DuT-FIl1.js";
1
+ import { aq as createEventBus } from "./index-Cz15Tiv9.js";
2
2
  const globalLinkActionsEventBus = createEventBus();
3
3
  export {
4
4
  globalLinkActionsEventBus as g