n8n-editor-ui 1.110.1 → 1.112.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 (137) hide show
  1. package/dist/assets/{AddDataStoreModal-D3j8deoq.css → AddDataStoreModal-B7jBhCjt.css} +5 -3
  2. package/dist/assets/{AddDataStoreModal-BXMe2_Yo.js → AddDataStoreModal-CLYFuWF4.js} +19 -9
  3. package/dist/assets/{AnimatedSpinner-CxbOZIWM.js → AnimatedSpinner-D7Nt5ZAz.js} +2 -1
  4. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-D-tU5Nsg.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-BzK1dfc7.js} +2 -1
  5. package/dist/assets/{AuthView-ty01eojq.js → AuthView-Db8T18BU.js} +3 -2
  6. package/dist/assets/{ChangePasswordView-nmwMP1GF.js → ChangePasswordView-Clb7ta4t.js} +4 -3
  7. package/dist/assets/CollectionParameter-BGBoLgV2.js +5 -0
  8. package/dist/assets/{ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-CSmXlf80.js → ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-BG5somV-.js} +2 -1
  9. package/dist/assets/{CredentialsView-IHneFweR.js → CredentialsView-CydHAPfb.js} +11 -9
  10. package/dist/assets/{DataStoreActions.vue_vue_type_script_setup_true_lang-Dug6Q9SH.js → DataStoreActions.vue_vue_type_script_setup_true_lang-qftEof1u.js} +7 -2
  11. package/dist/assets/{DataStoreDetailsView-DSpK3R_L.css → DataStoreDetailsView-C8fMxukz.css} +103 -82
  12. package/dist/assets/{DataStoreDetailsView-BZ7cLl6L.js → DataStoreDetailsView-DZK3pYSP.js} +1271 -696
  13. package/dist/assets/{DataStoreView-CzuM5UmJ.js → DataStoreView-CT0OnFLR.js} +14 -29
  14. package/dist/assets/{DemoFooter-CTFaju55.js → DemoFooter-DHwNRr6t.js} +7 -6
  15. package/dist/assets/{EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-DirQeoxa.js → EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-Y97PdUKW.js} +2 -1
  16. package/dist/assets/{EntityNotFound-SgHEB5Zx.js → EntityNotFound-BDjIF_1D.js} +2 -1
  17. package/dist/assets/{EntityUnAuthorised-Ba1UjrRW.js → EntityUnAuthorised-Dz3DXm1-.js} +2 -1
  18. package/dist/assets/{ErrorView-DR_boVdR.js → ErrorView-BH0St5KC.js} +2 -1
  19. package/dist/assets/{EvaluationsRootView-DutxuCnH.js → EvaluationsRootView-CnJlr4OF.js} +2 -1
  20. package/dist/assets/{EvaluationsView-ClUUTcAC.js → EvaluationsView-DABp8z-m.js} +4 -3
  21. package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-_0D6TWFX.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-gCj_FZH6.js} +3 -2
  22. package/dist/assets/{ExecutionsView-gF8JMKIq.js → ExecutionsView-CivgrlFE.js} +14 -12
  23. package/dist/assets/{ExecutionsView-DpVZbkhT.css → ExecutionsView-GKNLT5Ec.css} +1 -1
  24. package/dist/assets/{FixedCollectionParameter-DTkvAml6.css → FixedCollectionParameter-Dg7ZadcB.css} +18 -18
  25. package/dist/assets/{FixedCollectionParameter-D9zye2vX.js → FixedCollectionParameter-l8xC6wRw.js} +7 -3
  26. package/dist/assets/{ForgotMyPasswordView-EkWEVktJ.js → ForgotMyPasswordView-WF87QWAH.js} +4 -3
  27. package/dist/assets/{InfoAccordion-u7XlbH6a.js → InfoAccordion-8iWJ2sSU.js} +2 -1
  28. package/dist/assets/{InsightsChartAverageRuntime-CoBgniUR.js → InsightsChartAverageRuntime-BEd6XJn6.js} +5 -4
  29. package/dist/assets/{InsightsChartFailed-Dn6SuM16.js → InsightsChartFailed-CVwzK3ch.js} +5 -4
  30. package/dist/assets/{InsightsChartFailureRate-CJl1j0ob.js → InsightsChartFailureRate-BeA77_lp.js} +5 -4
  31. package/dist/assets/{InsightsChartTimeSaved-B5DjojXI.js → InsightsChartTimeSaved-DkgR7j7U.js} +5 -4
  32. package/dist/assets/{InsightsChartTotal-T1SFp7S-.js → InsightsChartTotal--1QxzvAZ.js} +5 -4
  33. package/dist/assets/{InsightsDashboard-CCDahAm5.js → InsightsDashboard-cHCzH4ZY.js} +13 -11
  34. package/dist/assets/{InsightsPaywall-Cp82bMTp.js → InsightsPaywall-neQ9PmYP.js} +2 -1
  35. package/dist/assets/{InsightsSummary-I5vKNG0I.js → InsightsSummary-BekdjOxv.js} +4 -2
  36. package/dist/assets/{InsightsTableWorkflows-D1U89HJ4.js → InsightsTableWorkflows-LMO-UU8h.js} +5 -4
  37. package/dist/assets/{Logo-DHG_oEvt.js → Logo-DXNRuN8z.js} +2 -1
  38. package/dist/assets/{LogsPanel-CvmnM4bL.js → LogsPanel-2GQHQFmh.js} +38 -23
  39. package/dist/assets/{LogsPanel-BinqqXXh.css → LogsPanel-CUsQIBpC.css} +17 -17
  40. package/dist/assets/{MainHeader-pDg5KXTB.css → MainHeader-6lIHYgJG.css} +16 -16
  41. package/dist/assets/{MainHeader-CTxGLJsC.js → MainHeader-BlBek00C.js} +14 -13
  42. package/dist/assets/{MainSidebar-D_xwIVsL.js → MainSidebar-qdHg8D5V.js} +3 -2
  43. package/dist/assets/{NodeCreation-iNUuiza-.js → NodeCreation-DO5k3aK3.js} +4 -3
  44. package/dist/assets/{NodeCreator-DMpMHPcz.js → NodeCreator-C3Pmrqkh.js} +4 -6
  45. package/dist/assets/{NodeDetailsView-BKEGFeZ7.js → NodeDetailsView-BACft9ex.js} +18 -17
  46. package/dist/assets/{NodeDetailsView-CjdovDgq.css → NodeDetailsView-CBYV4Rrz.css} +11 -11
  47. package/dist/assets/{NodeDetailsViewV2-XPdbzrLu.js → NodeDetailsViewV2--1S2eK5u.js} +14 -13
  48. package/dist/assets/{NodeView-Bj14aKtm.js → NodeView-BRwQ5Cqs.js} +185 -113
  49. package/dist/assets/{NodeView-BRa11kAq.css → NodeView-Chs2u0U9.css} +70 -31
  50. package/dist/assets/{PageViewLayout--7SkYsc9.js → PageViewLayout-DldtilHz.js} +2 -1
  51. package/dist/assets/{PrebuiltAgentTemplatesView-B7fK6krA.js → PrebuiltAgentTemplatesView-ChyN8J2x.js} +3 -2
  52. package/dist/assets/{ProjectBreadcrumb-BxMwihEP.js → ProjectBreadcrumb-9uWmVmc7.js} +2 -1
  53. package/dist/assets/{ProjectHeader-CVfPUZNI.js → ProjectHeader-CWapIKXf.js} +93 -23
  54. package/dist/assets/{ProjectSettings-t9C-Ly49.js → ProjectSettings-BlYXGYRx.js} +5 -3
  55. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-zVio8c2n.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-DjpouOrH.js} +2 -1
  56. package/dist/assets/{ResourcesListLayout-O-Z59wTE.js → ResourcesListLayout-CfDIFGjS.js} +7 -6
  57. package/dist/assets/{ResourcesListLayout-B5eMf4SI.css → ResourcesListLayout-vTwRIDRz.css} +8 -8
  58. package/dist/assets/{RunDataJson-0J6_FxmM.js → RunDataJson-CTm3-xdY.js} +4 -3
  59. package/dist/assets/{RunDataJsonActions-ZbUSwg32.js → RunDataJsonActions-B_yBOGYB.js} +2 -1
  60. package/dist/assets/{RunDataParsedAiContent-Byf4f3hM.js → RunDataParsedAiContent-Cg9vUI0v.js} +3 -2
  61. package/dist/assets/{RunDataSearch-CyCbN9Nc.js → RunDataSearch-DPt2MvbI.js} +2 -1
  62. package/dist/assets/{RunDataTable-Rj0zhULj.js → RunDataTable-DHVRSqQT.js} +2 -1
  63. package/dist/assets/{SamlOnboarding-UDfF4zGH.js → SamlOnboarding-CN_xGqen.js} +4 -3
  64. package/dist/assets/{SelectedItemsInfo-CfUb0ZrI.css → SelectedItemsInfo-Dl4uynXs.css} +5 -3
  65. package/dist/assets/{SelectedItemsInfo-64VntNmH.js → SelectedItemsInfo-DzoCyQOW.js} +12 -7
  66. package/dist/assets/{SettingsApiView-BMYiuOCY.js → SettingsApiView-BIKCRKGM.js} +2 -1
  67. package/dist/assets/{SettingsCommunityNodesView-BULfnkhp.js → SettingsCommunityNodesView-ClWYmDB8.js} +7 -4
  68. package/dist/assets/{SettingsExternalSecrets-DgYPNKtM.js → SettingsExternalSecrets-D58JxT3V.js} +2 -1
  69. package/dist/assets/{SettingsLdapView-B64PusRO.js → SettingsLdapView-uImCjvMm.js} +2 -1
  70. package/dist/assets/{SettingsLogStreamingView-DiDxOEmg.js → SettingsLogStreamingView-DUn62Yq4.js} +2 -1
  71. package/dist/assets/{SettingsPersonalView-TP__Drcl.js → SettingsPersonalView-DGiCMsXu.js} +2 -1
  72. package/dist/assets/{SettingsSourceControl-FiqxT6qx.js → SettingsSourceControl-CVik5czR.js} +2 -1
  73. package/dist/assets/{SettingsSso-e5ntwax1.js → SettingsSso-BQkWpsdO.js} +2 -1
  74. package/dist/assets/{SettingsUsageAndPlan-BiNhzaI3.js → SettingsUsageAndPlan-BuwgmEka.js} +2 -1
  75. package/dist/assets/{SettingsUsersView-g3odVDFj.js → SettingsUsersView-DCmtHeMa.js} +2 -1
  76. package/dist/assets/{SettingsView-5M3uETdg.js → SettingsView-CrBThv_a.js} +2 -1
  77. package/dist/assets/{SetupView-DOX9lfRU.js → SetupView-CES8Gnnv.js} +4 -3
  78. package/dist/assets/{SetupWorkflowCredentialsButton-DMIEMB5C.js → SetupWorkflowCredentialsButton-Bjhx_rck.js} +2 -1
  79. package/dist/assets/{SetupWorkflowFromTemplateView-DEJsN9PM.js → SetupWorkflowFromTemplateView-C8kmCc7J.js} +4 -3
  80. package/dist/assets/{SigninView-FKXG_00n.js → SigninView-24xKsh_S.js} +4 -3
  81. package/dist/assets/{SignoutView-ppJ6lbCU.js → SignoutView-DgFIUUyh.js} +2 -1
  82. package/dist/assets/{SignupView-CmcH1BYL.js → SignupView-BckB-uUh.js} +4 -3
  83. package/dist/assets/{TableBase-DBeBHkOY.js → TableBase-CQEzJfeN.js} +2 -1
  84. package/dist/assets/{Tags-CdXa3Xx9.js → Tags-DbX-5_Fk.js} +2 -2
  85. package/dist/assets/{TemplateDetails-BxvljQA3.js → TemplateDetails-BGraOFbY.js} +3 -2
  86. package/dist/assets/{TemplateList-CV9csLUI.js → TemplateList-5P1N08U1.js} +2 -1
  87. package/dist/assets/{TemplatesCollectionView-4dKgKAQR.js → TemplatesCollectionView-D2-SU0eR.js} +7 -7
  88. package/dist/assets/{TemplatesSearchView-taSkU7cY.js → TemplatesSearchView-ncBXTfOM.js} +4 -3
  89. package/dist/assets/{TemplatesView-CXSlz1M1.js → TemplatesView-DO7HuUts.js} +2 -1
  90. package/dist/assets/{TemplatesWorkflowView-C-x3Aov1.js → TemplatesWorkflowView-BvrjU4RD.js} +7 -7
  91. package/dist/assets/{TriggerPanel-C-c5cPsc.js → TriggerPanel-BFQ6veDz.js} +10 -8
  92. package/dist/assets/{VariablesView-Bh0OeH4s.css → VariablesView-BHcrNXsw.css} +6 -6
  93. package/dist/assets/{VariablesView-C3mX49G9.js → VariablesView-BVzruwEA.js} +17 -14
  94. package/dist/assets/{WorkerView-DYK4TcTw.js → WorkerView-DRM6mgWJ.js} +9 -6
  95. package/dist/assets/{WorkflowActivator-DZIgVvgL.js → WorkflowActivator-BOt1oNlm.js} +4 -3
  96. package/dist/assets/{WorkflowExecutionsInfoAccordion-CivRIQhL.js → WorkflowExecutionsInfoAccordion-BjZUTKcs.js} +3 -2
  97. package/dist/assets/{WorkflowExecutionsLandingPage-kBAMGqy2.js → WorkflowExecutionsLandingPage-ENKxL7Yh.js} +4 -3
  98. package/dist/assets/{WorkflowExecutionsPreview-Bnd5-B-d.js → WorkflowExecutionsPreview-Cdgg29u5.js} +5 -4
  99. package/dist/assets/{WorkflowExecutionsView-CIfisPDk.js → WorkflowExecutionsView-t3W7WuAy.js} +9 -9
  100. package/dist/assets/{WorkflowHistory-JXOUdJnK.js → WorkflowHistory--OLvuBs1.js} +3 -2
  101. package/dist/assets/{WorkflowOnboardingView-Dc1KYhGC.js → WorkflowOnboardingView-C8y96ur1.js} +2 -1
  102. package/dist/assets/{WorkflowPreview-BF9SI0vn.js → WorkflowPreview-C1XHoZmU.js} +2 -1
  103. package/dist/assets/{WorkflowsView-CTnvp65F.js → WorkflowsView-B9rxI0No.js} +272 -62
  104. package/dist/assets/{WorkflowsView-BuvoAeDm.css → WorkflowsView-MF9XcT0u.css} +186 -0
  105. package/dist/assets/{canvas-DbK7UyVG.js → canvas-D2PwiGnN.js} +1 -1
  106. package/dist/assets/{chartjs.utils-DIRvJRrn.js → chartjs.utils-B6sz8yOh.js} +2 -2
  107. package/dist/assets/{core-Br-UFy15.js → core-Be7WBA6o.js} +2 -1
  108. package/dist/assets/{en-DdNgUrpa.js → en-CJyn5rnO.js} +32 -25
  109. package/dist/assets/{global-link-actions--TiC75iP.js → global-link-actions-B9WsUojd.js} +1 -1
  110. package/dist/assets/index-4g2Akj0I.js +13861 -0
  111. package/dist/assets/{index-DXNU_2Fk.css → index-B7wrqKiF.css} +8207 -8184
  112. package/dist/assets/{index--OJ5nhDf.js → index-BJG79OsS.js} +326678 -342011
  113. package/dist/assets/{index-D2apwRup.js → index-LOlKxvn4.js} +2 -1
  114. package/dist/assets/loadDefaultEn-DNiURDi9.js +8 -0
  115. package/dist/assets/{pickBy-BljOBsPy.js → pickBy-BMn768eW.js} +1 -1
  116. package/dist/assets/{readyToRunWorkflows.store-Dhb8bhvk.js → readyToRunWorkflows.store-HSpbq3Bf.js} +2 -1
  117. package/dist/assets/readyToRunWorkflowsV2.store-DcRVIsRt.js +138 -0
  118. package/dist/assets/sqlite3-DBpDb1lf.wasm +0 -0
  119. package/dist/assets/sqlite3-opfs-async-proxy-CYRFPDln.js +579 -0
  120. package/dist/assets/sqlite3-worker1-bundler-friendly-DF3WqBKq.js +11289 -0
  121. package/dist/assets/{templateActions-B4GEcBXU.js → templateActions-DR_XHPc4.js} +1 -1
  122. package/dist/assets/{useBeforeUnload-ZtUpNFCu.js → useBeforeUnload-DmAaB1v5.js} +2 -1
  123. package/dist/assets/{useExecutionDebugging-Bve-aaKO.js → useExecutionDebugging-B8xDxcb6.js} +2 -1
  124. package/dist/assets/{useImportCurlCommand-CAuor9Pu.js → useImportCurlCommand-BaN8fxqM.js} +2 -1
  125. package/dist/assets/{useProjectPages-CH519D2j.js → useProjectPages-B-oTYbCo.js} +2 -1
  126. package/dist/assets/{usePushConnection-Db77V5LR.js → usePushConnection-Bcd2_XWM.js} +36 -22
  127. package/dist/assets/{useWorkflowActivate-7Rw9KyzM.js → useWorkflowActivate-BDE2t3MM.js} +2 -1
  128. package/dist/assets/worker-DZxlyUFA.js +11826 -0
  129. package/dist/index.html +4 -3
  130. package/index.html +1 -1
  131. package/package.json +1 -1
  132. package/vite/i18n-locales-hmr-helpers.ts +19 -0
  133. package/vite.config.mts +33 -6
  134. package/dist/assets/CollectionParameter-CQji5w8u.js +0 -4
  135. package/dist/assets/Tag-BQAJRKFE.js +0 -32
  136. package/dist/assets/Tag-Cg-Hqs2H.css +0 -153
  137. package/dist/assets/dataStore.store-HuymAG46.js +0 -288
@@ -1,4 +1,5 @@
1
- import { fT as Chart$1, d as defineComponent, cn as shallowRef, aW as h, fU as LineController, fV as version, r as ref, o as onMounted, W as onBeforeUnmount, a7 as watch, eW as toRaw, fW as isProxy, fX as BarController } from "./index--OJ5nhDf.js";
1
+ import { f0 as Chart$1, f1 as LineController, f2 as BarController } from "./index-BJG79OsS.js";
2
+ import { o as defineComponent, bk as shallowRef, K as h, bC as version, b8 as ref, r as onMounted, aV as onBeforeUnmount, w as watch, Q as toRaw, aF as isProxy } from "./index-4g2Akj0I.js";
2
3
  const CommonProps = {
3
4
  data: {
4
5
  type: Object,
@@ -0,0 +1,8 @@
1
+ import { bN as __vitePreload, ca as loadLanguage } from "./index-4g2Akj0I.js";
2
+ async function loadDefaultEn() {
3
+ const mod = await __vitePreload(() => import("./en-CJyn5rnO.js"), true ? [] : void 0);
4
+ loadLanguage("en", mod.default);
5
+ }
6
+ export {
7
+ loadDefaultEn
8
+ };
@@ -1,4 +1,4 @@
1
- import { fI as require_arrayMap, fJ as require_baseIteratee, fK as require_basePickBy, fL as require_getAllKeysIn, bS as getDefaultExportFromCjs } from "./index--OJ5nhDf.js";
1
+ import { eR as require_arrayMap, eS as require_baseIteratee, eT as require_basePickBy, eU as require_getAllKeysIn, bk as getDefaultExportFromCjs } from "./index-BJG79OsS.js";
2
2
  var pickBy_1;
3
3
  var hasRequiredPickBy;
4
4
  function requirePickBy() {
@@ -1,4 +1,5 @@
1
- import { $ as defineStore, av as useFoldersStore, a1 as useWorkflowsStore, dd as usePostHog, v as useSettingsStore, a_ as useLocalStorage, x as computed, fp as TEMPLATE_ONBOARDING_EXPERIMENT, c as useI18n, al as useTelemetry, a4 as STORES, bb as useCloudPlanStore, fq as BATCH_11AUG_EXPERIMENT } from "./index--OJ5nhDf.js";
1
+ import { z as defineStore, a6 as useFoldersStore, C as useWorkflowsStore, cy as usePostHog, g as useSettingsStore, aw as useLocalStorage, ex as TEMPLATE_ONBOARDING_EXPERIMENT, Y as useTelemetry, S as STORES, aH as useCloudPlanStore, ey as BATCH_11AUG_EXPERIMENT } from "./index-BJG79OsS.js";
2
+ import { a9 as computed, bT as useI18n } from "./index-4g2Akj0I.js";
2
3
  const AGENT_WITH_MEMORY = {
3
4
  meta: {
4
5
  templateId: "035_template_onboarding-agent_with_memory"
@@ -0,0 +1,138 @@
1
+ import { a6 as useFoldersStore, D as useRoute, z as defineStore, a as useToast, b as useRouter, cu as useCredentialsStore, u as useUsersStore, g as useSettingsStore, cy as usePostHog, aH as useCloudPlanStore, ez as READY_TO_RUN_V2_EXPERIMENT, aw as useLocalStorage, ev as OPEN_AI_API_CREDENTIAL_TYPE, Y as useTelemetry, eA as READY_TO_RUN_WORKFLOW_V2, eB as READY_TO_RUN_WORKFLOW_V1, V as VIEWS, S as STORES } from "./index-BJG79OsS.js";
2
+ import { a9 as computed, b8 as ref, bT as useI18n } from "./index-4g2Akj0I.js";
3
+ import { u as useProjectPages } from "./useProjectPages-B-oTYbCo.js";
4
+ function useEmptyStateDetection() {
5
+ const foldersStore = useFoldersStore();
6
+ const projectPages = useProjectPages();
7
+ const route = useRoute();
8
+ const isTrulyEmpty = (currentRoute = route) => {
9
+ const hasNoWorkflows = foldersStore.totalWorkflowCount === 0;
10
+ const isNotInSpecificFolder = !currentRoute.params?.folderId;
11
+ const isMainWorkflowsPage = projectPages.isOverviewSubPage || !projectPages.isSharedSubPage;
12
+ const hasSearchQuery = !!currentRoute.query?.search;
13
+ const hasFilters = !!(currentRoute.query?.status || currentRoute.query?.tags || currentRoute.query?.showArchived || currentRoute.query?.homeProject);
14
+ return hasNoWorkflows && isNotInSpecificFolder && isMainWorkflowsPage && !hasSearchQuery && !hasFilters;
15
+ };
16
+ const shouldShowSimplifiedLayout = (currentRoute, isFeatureEnabled, loading) => {
17
+ if (loading || !isFeatureEnabled) {
18
+ return false;
19
+ }
20
+ return isTrulyEmpty(currentRoute);
21
+ };
22
+ return {
23
+ isTrulyEmpty,
24
+ shouldShowSimplifiedLayout
25
+ };
26
+ }
27
+ const LOCAL_STORAGE_CREDENTIAL_KEY = "N8N_READY_TO_RUN_V2_OPENAI_CREDENTIAL_ID";
28
+ const useReadyToRunWorkflowsV2Store = defineStore(
29
+ STORES.EXPERIMENT_READY_TO_RUN_WORKFLOWS_V2,
30
+ () => {
31
+ const telemetry = useTelemetry();
32
+ const i18n = useI18n();
33
+ const toast = useToast();
34
+ const router = useRouter();
35
+ const credentialsStore = useCredentialsStore();
36
+ const usersStore = useUsersStore();
37
+ const settingsStore = useSettingsStore();
38
+ const posthogStore = usePostHog();
39
+ const cloudPlanStore = useCloudPlanStore();
40
+ const isFeatureEnabled = computed(() => {
41
+ const variant = posthogStore.getVariant(READY_TO_RUN_V2_EXPERIMENT.name);
42
+ return (variant === READY_TO_RUN_V2_EXPERIMENT.variant1 || variant === READY_TO_RUN_V2_EXPERIMENT.variant2) && cloudPlanStore.userIsTrialing;
43
+ });
44
+ const claimedCredentialIdRef = useLocalStorage(LOCAL_STORAGE_CREDENTIAL_KEY, "");
45
+ const claimingCredits = ref(false);
46
+ const userHasOpenAiCredentialAlready = computed(
47
+ () => !!credentialsStore.allCredentials.filter(
48
+ (credential) => credential.type === OPEN_AI_API_CREDENTIAL_TYPE
49
+ ).length
50
+ );
51
+ const userHasClaimedAiCreditsAlready = computed(
52
+ () => !!usersStore.currentUser?.settings?.userClaimedAiCredits
53
+ );
54
+ const userCanClaimOpenAiCredits = computed(() => {
55
+ return settingsStore.isAiCreditsEnabled && !userHasOpenAiCredentialAlready.value && !userHasClaimedAiCreditsAlready.value;
56
+ });
57
+ const getCurrentVariant = () => {
58
+ return posthogStore.getVariant(READY_TO_RUN_V2_EXPERIMENT.name);
59
+ };
60
+ const trackExecuteAiWorkflow = (status) => {
61
+ const variant = getCurrentVariant();
62
+ telemetry.track("User executed ready to run AI workflow", {
63
+ status,
64
+ variant
65
+ });
66
+ };
67
+ const trackExecuteAiWorkflowSuccess = () => {
68
+ const variant = getCurrentVariant();
69
+ telemetry.track("User executed ready to run AI workflow successfully", {
70
+ variant
71
+ });
72
+ };
73
+ const claimFreeAiCredits = async (projectId) => {
74
+ claimingCredits.value = true;
75
+ try {
76
+ const credential = await credentialsStore.claimFreeAiCredits(projectId);
77
+ if (usersStore?.currentUser?.settings) {
78
+ usersStore.currentUser.settings.userClaimedAiCredits = true;
79
+ }
80
+ claimedCredentialIdRef.value = credential.id;
81
+ telemetry.track("User claimed OpenAI credits");
82
+ return credential;
83
+ } catch (e) {
84
+ toast.showError(
85
+ e,
86
+ i18n.baseText("freeAi.credits.showError.claim.title"),
87
+ i18n.baseText("freeAi.credits.showError.claim.message")
88
+ );
89
+ throw e;
90
+ } finally {
91
+ claimingCredits.value = false;
92
+ }
93
+ };
94
+ const openAiWorkflow = async (source, parentFolderId) => {
95
+ const variant = getCurrentVariant();
96
+ telemetry.track("User opened ready to run AI workflow", {
97
+ source,
98
+ variant
99
+ });
100
+ const workflow = variant === READY_TO_RUN_V2_EXPERIMENT.variant2 ? READY_TO_RUN_WORKFLOW_V2 : READY_TO_RUN_WORKFLOW_V1;
101
+ await router.push({
102
+ name: VIEWS.TEMPLATE_IMPORT,
103
+ params: { id: workflow.meta?.templateId },
104
+ query: { fromJson: "true", parentFolderId }
105
+ });
106
+ };
107
+ const claimCreditsAndOpenWorkflow = async (source, parentFolderId, projectId) => {
108
+ await claimFreeAiCredits(projectId);
109
+ await openAiWorkflow(source, parentFolderId);
110
+ };
111
+ const getCardVisibility = (canCreate, readOnlyEnv, loading) => {
112
+ return !loading && isFeatureEnabled.value && userCanClaimOpenAiCredits.value && !readOnlyEnv && canCreate;
113
+ };
114
+ const getButtonVisibility = (hasWorkflows, canCreate, readOnlyEnv) => {
115
+ return isFeatureEnabled.value && userCanClaimOpenAiCredits.value && !readOnlyEnv && canCreate && hasWorkflows;
116
+ };
117
+ const { shouldShowSimplifiedLayout } = useEmptyStateDetection();
118
+ const getSimplifiedLayoutVisibility = (route, loading) => {
119
+ return shouldShowSimplifiedLayout(route, isFeatureEnabled.value, loading);
120
+ };
121
+ return {
122
+ isFeatureEnabled,
123
+ claimingCredits,
124
+ userCanClaimOpenAiCredits,
125
+ claimFreeAiCredits,
126
+ openAiWorkflow,
127
+ claimCreditsAndOpenWorkflow,
128
+ getCardVisibility,
129
+ getButtonVisibility,
130
+ getSimplifiedLayoutVisibility,
131
+ trackExecuteAiWorkflow,
132
+ trackExecuteAiWorkflowSuccess
133
+ };
134
+ }
135
+ );
136
+ export {
137
+ useReadyToRunWorkflowsV2Store as u
138
+ };