n8n-editor-ui 1.112.1 → 1.112.2

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 (112) hide show
  1. package/dist/assets/{AddDataStoreModal-C9lDhooH.js → AddDataStoreModal-2dpbr3c3.js} +1 -1
  2. package/dist/assets/{AnimatedSpinner-DoiaSsyo.js → AnimatedSpinner-CKEReflL.js} +1 -1
  3. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-C68foyxp.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-CT20sNM9.js} +1 -1
  4. package/dist/assets/{AuthView-CLDlKRpw.js → AuthView-DmP4BELq.js} +2 -2
  5. package/dist/assets/{ChangePasswordView-iG7PgYdd.js → ChangePasswordView-QlnsGQdL.js} +3 -3
  6. package/dist/assets/CollectionParameter-z77BHeNF.js +4 -0
  7. package/dist/assets/{ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-DlF8qxM5.js → ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-BCusf_O4.js} +1 -1
  8. package/dist/assets/{CredentialsView-CYgIFP1z.js → CredentialsView-Cbt0FWjl.js} +10 -10
  9. package/dist/assets/{DataStoreActions.vue_vue_type_script_setup_true_lang-BC-HriQ3.js → DataStoreActions.vue_vue_type_script_setup_true_lang-BT2RJUp_.js} +1 -1
  10. package/dist/assets/{DataStoreDetailsView-CtMeAyyY.js → DataStoreDetailsView-ZUgl9wpt.js} +4 -4
  11. package/dist/assets/{DataStoreView-B1Kxtjnl.js → DataStoreView-DIjlPDVT.js} +9 -9
  12. package/dist/assets/{DemoFooter-BPQy7EdR.js → DemoFooter-i3qClUse.js} +6 -6
  13. package/dist/assets/{EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-D9e3ObnE.js → EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-buqBjmsh.js} +1 -1
  14. package/dist/assets/{EntityNotFound-DDHiVWRe.js → EntityNotFound-rPIG38L8.js} +1 -1
  15. package/dist/assets/{EntityUnAuthorised-Clm3_4En.js → EntityUnAuthorised-DeeHPFnT.js} +1 -1
  16. package/dist/assets/{ErrorView-CrYsrADA.js → ErrorView-BJ83qeOt.js} +1 -1
  17. package/dist/assets/{EvaluationsRootView-C0OyvjOt.js → EvaluationsRootView-C3X9SY6D.js} +1 -1
  18. package/dist/assets/{EvaluationsView-BcMhW8o6.js → EvaluationsView-ByR3omEP.js} +3 -3
  19. package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-BmjUbn85.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-o8DbTizg.js} +2 -2
  20. package/dist/assets/{ExecutionsView-CdMuQ6Ay.js → ExecutionsView-DlkNVCJI.js} +10 -10
  21. package/dist/assets/{FixedCollectionParameter-DNRbGHuU.js → FixedCollectionParameter-uCgQAYlA.js} +1 -1
  22. package/dist/assets/{ForgotMyPasswordView-CVYkGoS6.js → ForgotMyPasswordView-DOGaU7ca.js} +3 -3
  23. package/dist/assets/{InfoAccordion-DXq9DJ4j.js → InfoAccordion-CwV71Cpu.js} +1 -1
  24. package/dist/assets/{InsightsChartAverageRuntime-CXByy6Zo.js → InsightsChartAverageRuntime-DaZIp4A2.js} +4 -4
  25. package/dist/assets/{InsightsChartFailed-9zaeZgek.js → InsightsChartFailed-C-hZnLlH.js} +4 -4
  26. package/dist/assets/{InsightsChartFailureRate-DT96wC8C.js → InsightsChartFailureRate-HaWtuP1e.js} +4 -4
  27. package/dist/assets/{InsightsChartTimeSaved-C6pLWWxa.js → InsightsChartTimeSaved-BO34G7g3.js} +4 -4
  28. package/dist/assets/{InsightsChartTotal-Cc0YLVD7.js → InsightsChartTotal-C1jwuj7z.js} +4 -4
  29. package/dist/assets/{InsightsDashboard-qL2EE60l.js → InsightsDashboard-e-QAUiP9.js} +10 -10
  30. package/dist/assets/{InsightsPaywall-C_2IPEhI.js → InsightsPaywall-CFkiRATa.js} +1 -1
  31. package/dist/assets/{InsightsSummary-tylKFBgw.js → InsightsSummary-CXJTf1Kh.js} +1 -1
  32. package/dist/assets/{InsightsTableWorkflows-BwRj0aXe.js → InsightsTableWorkflows-C5Uw-HwU.js} +4 -4
  33. package/dist/assets/{Logo-DqC1X5we.js → Logo-RKQLvl_m.js} +1 -1
  34. package/dist/assets/{LogsPanel-DZguGtyt.js → LogsPanel-Dnye7u5y.js} +5 -5
  35. package/dist/assets/{MainHeader-IFzZPcNW.js → MainHeader-BAeiRTqV.js} +11 -11
  36. package/dist/assets/{MainSidebar-D-2Yb5yU.js → MainSidebar-D9ZN6KIV.js} +2 -2
  37. package/dist/assets/{NodeCreation-CrPTESjn.js → NodeCreation-Bjf-Unru.js} +3 -3
  38. package/dist/assets/{NodeCreator-Db1k7Npw.js → NodeCreator-yRvsDJO7.js} +1 -1
  39. package/dist/assets/{NodeDetailsView-T6l22FLo.js → NodeDetailsView-6dwov5MI.js} +13 -13
  40. package/dist/assets/{NodeDetailsViewV2-Caf-LQD7.js → NodeDetailsViewV2-CuRmAyj-.js} +13 -13
  41. package/dist/assets/{NodeView-B08ajmmZ.js → NodeView-DPSSSOB1.js} +11 -11
  42. package/dist/assets/{PageViewLayout-B01Cj9Ag.js → PageViewLayout-97zbJOlW.js} +1 -1
  43. package/dist/assets/{PrebuiltAgentTemplatesView-ZbB8Spq8.js → PrebuiltAgentTemplatesView-CdberOem.js} +2 -2
  44. package/dist/assets/{ProjectBreadcrumb-vTjbzQHC.js → ProjectBreadcrumb-DXhrjWOi.js} +1 -1
  45. package/dist/assets/{ProjectHeader-CsH8YD16.js → ProjectHeader-DWxegcLG.js} +3 -3
  46. package/dist/assets/{ProjectSettings-CYy5LBLu.js → ProjectSettings-BUXyUrF8.js} +4 -4
  47. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-DOMRXCVj.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-mH_vfhJf.js} +1 -1
  48. package/dist/assets/{ResourcesListLayout-CEq6DTya.js → ResourcesListLayout-BFJgkaGC.js} +4 -4
  49. package/dist/assets/{RunDataJson-CM54dhgQ.js → RunDataJson-DrGPAnUe.js} +3 -3
  50. package/dist/assets/{RunDataJsonActions-BGkwaXF1.js → RunDataJsonActions-C9t_AqA2.js} +1 -1
  51. package/dist/assets/{RunDataParsedAiContent-CCScHhrV.js → RunDataParsedAiContent-HrLA7DKq.js} +2 -2
  52. package/dist/assets/{RunDataSearch-D8tSIc5y.js → RunDataSearch-Bksytn1f.js} +1 -1
  53. package/dist/assets/{RunDataTable-y4SItH7m.js → RunDataTable-BZxhwE6R.js} +1 -1
  54. package/dist/assets/{SamlOnboarding-B-qxZA7T.js → SamlOnboarding-D8sBVnhq.js} +3 -3
  55. package/dist/assets/{SelectedItemsInfo-8rTveqLV.js → SelectedItemsInfo-DUoXTJ3R.js} +1 -1
  56. package/dist/assets/{SettingsApiView-Crwc7f2q.js → SettingsApiView-DB9Y3FwH.js} +1 -1
  57. package/dist/assets/{SettingsCommunityNodesView-D_CDclON.js → SettingsCommunityNodesView-DFqIBnS6.js} +6 -6
  58. package/dist/assets/{SettingsExternalSecrets-D9EYRw94.js → SettingsExternalSecrets-CM1C92Fq.js} +1 -1
  59. package/dist/assets/{SettingsLdapView-IWmIFFmQ.js → SettingsLdapView-CkFHMwba.js} +1 -1
  60. package/dist/assets/{SettingsLogStreamingView-T9ajKTLt.js → SettingsLogStreamingView-DBeq0Me1.js} +1 -1
  61. package/dist/assets/{SettingsPersonalView-ClpcCCUK.js → SettingsPersonalView-Cvq_P5Wv.js} +1 -1
  62. package/dist/assets/{SettingsSourceControl-D4MKPsIp.js → SettingsSourceControl-Yuz7SyUp.js} +1 -1
  63. package/dist/assets/{SettingsSso-Dh0TCa3N.js → SettingsSso-GhM2_eCj.js} +1 -1
  64. package/dist/assets/{SettingsUsageAndPlan-DMz52D_8.js → SettingsUsageAndPlan-FP4mPRKx.js} +1 -1
  65. package/dist/assets/{SettingsUsersView-CyOqQQ1T.js → SettingsUsersView-BRHWdgWG.js} +1 -1
  66. package/dist/assets/{SettingsView-9XSvAxZn.js → SettingsView-KUwVwJt9.js} +1 -1
  67. package/dist/assets/{SetupView-CaQUQHtZ.js → SetupView-Ca9C2Nvk.js} +3 -3
  68. package/dist/assets/{SetupWorkflowCredentialsButton-CLPdPWR-.js → SetupWorkflowCredentialsButton-J1WTWaQx.js} +1 -1
  69. package/dist/assets/{SetupWorkflowFromTemplateView-Cwy86CRf.js → SetupWorkflowFromTemplateView-CfWyw8c8.js} +3 -3
  70. package/dist/assets/{SigninView-B1CFcKZW.js → SigninView-Cu2lZBKz.js} +3 -3
  71. package/dist/assets/{SignoutView-tXEnZbBW.js → SignoutView-C2YvZoQb.js} +1 -1
  72. package/dist/assets/{SignupView-tG0nF3IX.js → SignupView-Lrbc3why.js} +3 -3
  73. package/dist/assets/{TableBase-Bk0Ksvri.js → TableBase-DhT52fm3.js} +1 -1
  74. package/dist/assets/{Tags-bLJnzJ9O.js → Tags-Dh9-QjW-.js} +1 -1
  75. package/dist/assets/{TemplateDetails-DwB2MNDs.js → TemplateDetails-BBEp0t8b.js} +2 -2
  76. package/dist/assets/{TemplateList-xz6dq_b_.js → TemplateList-BYr9iQZL.js} +1 -1
  77. package/dist/assets/{TemplatesCollectionView-CBHrX6qh.js → TemplatesCollectionView-BUw9g27E.js} +6 -6
  78. package/dist/assets/{TemplatesSearchView-DlCohPQw.js → TemplatesSearchView-SiS3ksNm.js} +3 -3
  79. package/dist/assets/{TemplatesView-BWRC7u13.js → TemplatesView-10xcznRj.js} +1 -1
  80. package/dist/assets/{TemplatesWorkflowView-IFi-aXTJ.js → TemplatesWorkflowView-tq0W6WEh.js} +6 -6
  81. package/dist/assets/{TriggerPanel-CGEgWBP1.js → TriggerPanel-CW_PeVJO.js} +5 -5
  82. package/dist/assets/{VariablesView-DCIpb3py.js → VariablesView-Vmdp6T58.js} +6 -6
  83. package/dist/assets/{WorkerView-BNJtp3_b.js → WorkerView-BcPniSOt.js} +8 -8
  84. package/dist/assets/{WorkflowActivator-GWpvfdPq.js → WorkflowActivator-CLeDiSPp.js} +3 -3
  85. package/dist/assets/{WorkflowExecutionsInfoAccordion-DyC6zINy.js → WorkflowExecutionsInfoAccordion-E5hUH7WK.js} +2 -2
  86. package/dist/assets/{WorkflowExecutionsLandingPage-CHU6rsbS.js → WorkflowExecutionsLandingPage-D-4rvyRr.js} +3 -3
  87. package/dist/assets/{WorkflowExecutionsPreview-BRZcVWz8.js → WorkflowExecutionsPreview-DK0nJMV_.js} +4 -4
  88. package/dist/assets/{WorkflowExecutionsView-D2avX462.js → WorkflowExecutionsView-Ibsxu7bz.js} +6 -6
  89. package/dist/assets/{WorkflowHistory-CezxUWJ3.js → WorkflowHistory-BIPui_Br.js} +2 -2
  90. package/dist/assets/{WorkflowOnboardingView-CoLRNMn7.js → WorkflowOnboardingView-jTPlyEfR.js} +1 -1
  91. package/dist/assets/{WorkflowPreview-6_5498ls.js → WorkflowPreview-g8CbZoIy.js} +1 -1
  92. package/dist/assets/{WorkflowsView-yo-aPIAy.js → WorkflowsView-Cn3Etruo.js} +14 -14
  93. package/dist/assets/{canvas-CNbb2A4n.js → canvas-CkZBMaKR.js} +1 -1
  94. package/dist/assets/{chartjs.utils-BuEfxZRs.js → chartjs.utils-GS6DsK5s.js} +2 -2
  95. package/dist/assets/{core-BmUd0ZQy.js → core-CTe2_eax.js} +1 -1
  96. package/dist/assets/{global-link-actions-DLwTpw-D.js → global-link-actions-Dcb1OcMS.js} +1 -1
  97. package/dist/assets/{index-BqqmY62y.js → index-DtLsVys_.js} +282 -795
  98. package/dist/assets/{index-B4kldndn.js → index-r4GrUpI_.js} +1 -1
  99. package/dist/assets/{pickBy-D_Xqfu3B.js → pickBy-B2lxaPsr.js} +1 -1
  100. package/dist/assets/{readyToRunWorkflows.store-DV_gQvCM.js → readyToRunWorkflows.store-Bn3mG-cb.js} +1 -1
  101. package/dist/assets/readyToRunWorkflowsV2.store-DTrmjlFA.js +648 -0
  102. package/dist/assets/{templateActions-BswjlHEI.js → templateActions-BYekQBby.js} +1 -1
  103. package/dist/assets/{useBeforeUnload-BfDs84Xo.js → useBeforeUnload-BIxEztP4.js} +1 -1
  104. package/dist/assets/{useExecutionDebugging-ZrtkQtcL.js → useExecutionDebugging-CCzUJcn6.js} +1 -1
  105. package/dist/assets/{useImportCurlCommand-TipLhFW-.js → useImportCurlCommand-BQ_cHSbc.js} +1 -1
  106. package/dist/assets/{useProjectPages-DGeR5Bq7.js → useProjectPages-hhUkwXvb.js} +1 -1
  107. package/dist/assets/{usePushConnection-BxoIfCAQ.js → usePushConnection-B7NEb0JN.js} +4 -4
  108. package/dist/assets/{useWorkflowActivate-Dk_tmPQm.js → useWorkflowActivate-ldjlNMSr.js} +1 -1
  109. package/dist/index.html +1 -1
  110. package/package.json +1 -1
  111. package/dist/assets/CollectionParameter-CYXwrQBH.js +0 -4
  112. package/dist/assets/readyToRunWorkflowsV2.store-ZhxGm4dM.js +0 -137
@@ -1,4 +1,4 @@
1
- import { a3 as useRoute, x as computed, V as VIEWS, db as reactive } from "./index-BqqmY62y.js";
1
+ import { a3 as useRoute, x as computed, V as VIEWS, db as reactive } from "./index-DtLsVys_.js";
2
2
  const useProjectPages = () => {
3
3
  const route = useRoute();
4
4
  const isProjectsSubPage = computed(() => route.params?.projectId !== void 0);
@@ -1,7 +1,7 @@
1
- import { fa as makeRestApiRequest, a2 as useWorkflowsStore, Q as useUIStore, fb as clearPopupWindowState, am as useTelemetry, fc as isPrebuiltAgentTemplateId, fd as isTutorialTemplateId, co as parse, v as useSettingsStore, az as useWorkflowSaving, aA as useWorkflowHelpers, al as WORKFLOW_SETTINGS_MODAL_KEY, a as useToast, fe as generateNodesGraph, c as useI18n, ff as getExecutionErrorToastConfiguration, ae as useNodeTypesStore, fg as getTriggerNodeServiceName, bM as useNodeHelpers, bq as useExternalHooks, fh as codeNodeEditorEventBus, fi as SampleTemplates, dr as EVALUATION_TRIGGER_NODE_TYPE, bN as useRunWorkflow, fj as getExecutionErrorMessage, de as useCredentialsStore, fk as useAssistantStore, fl as TRIMMED_TASK_DATA_CONNECTIONS_KEY, fm as useSchemaPreviewStore, fn as isCommunityPackageName, a0 as defineStore, au as useRootStore, a1 as usePushConnectionStore, r as ref } from "./index-BqqmY62y.js";
2
- import { g as globalLinkActionsEventBus } from "./global-link-actions-DLwTpw-D.js";
3
- import { u as useAITemplatesStarterCollectionStore, a as useReadyToRunWorkflowsStore } from "./readyToRunWorkflows.store-DV_gQvCM.js";
4
- import { u as useReadyToRunWorkflowsV2Store } from "./readyToRunWorkflowsV2.store-ZhxGm4dM.js";
1
+ import { fa as makeRestApiRequest, a2 as useWorkflowsStore, Q as useUIStore, fb as clearPopupWindowState, am as useTelemetry, fc as isPrebuiltAgentTemplateId, fd as isTutorialTemplateId, co as parse, v as useSettingsStore, az as useWorkflowSaving, aA as useWorkflowHelpers, al as WORKFLOW_SETTINGS_MODAL_KEY, a as useToast, fe as generateNodesGraph, c as useI18n, ff as getExecutionErrorToastConfiguration, ae as useNodeTypesStore, fg as getTriggerNodeServiceName, bM as useNodeHelpers, bq as useExternalHooks, fh as codeNodeEditorEventBus, fi as SampleTemplates, dr as EVALUATION_TRIGGER_NODE_TYPE, bN as useRunWorkflow, fj as getExecutionErrorMessage, de as useCredentialsStore, fk as useAssistantStore, fl as TRIMMED_TASK_DATA_CONNECTIONS_KEY, fm as useSchemaPreviewStore, fn as isCommunityPackageName, a0 as defineStore, au as useRootStore, a1 as usePushConnectionStore, r as ref } from "./index-DtLsVys_.js";
2
+ import { g as globalLinkActionsEventBus } from "./global-link-actions-Dcb1OcMS.js";
3
+ import { u as useAITemplatesStarterCollectionStore, a as useReadyToRunWorkflowsStore } from "./readyToRunWorkflows.store-Bn3mG-cb.js";
4
+ import { u as useReadyToRunWorkflowsV2Store } from "./readyToRunWorkflowsV2.store-DTrmjlFA.js";
5
5
  var GET_STATUS_ENDPOINT = "/orchestration/worker/status";
6
6
  var sendGetWorkerStatus = async (context) => {
7
7
  await makeRestApiRequest(context, "POST", GET_STATUS_ENDPOINT);
@@ -1,4 +1,4 @@
1
- import { r as ref, b as useRouter, aA as useWorkflowHelpers, az as useWorkflowSaving, a2 as useWorkflowsStore, Q as useUIStore, a as useToast, ax as useNpsSurveyStore, a4 as PLACEHOLDER_EMPTY_WORKFLOW_ID, am as useTelemetry, bq as useExternalHooks, c as useI18n, bd as useStorage, fz as LOCAL_STORAGE_ACTIVATION_FLAG, ah as WORKFLOW_ACTIVE_MODAL_KEY } from "./index-BqqmY62y.js";
1
+ import { r as ref, b as useRouter, aA as useWorkflowHelpers, az as useWorkflowSaving, a2 as useWorkflowsStore, Q as useUIStore, a as useToast, ax as useNpsSurveyStore, a4 as PLACEHOLDER_EMPTY_WORKFLOW_ID, am as useTelemetry, bq as useExternalHooks, c as useI18n, bd as useStorage, fx as LOCAL_STORAGE_ACTIVATION_FLAG, ah as WORKFLOW_ACTIVE_MODAL_KEY } from "./index-DtLsVys_.js";
2
2
  function useWorkflowActivate() {
3
3
  const updatingWorkflowActivation = ref(false);
4
4
  const router = useRouter();
package/dist/index.html CHANGED
@@ -13,7 +13,7 @@
13
13
  <script src="/{{BASE_PATH}}/static/posthog.init.js" type="text/javascript"></script>
14
14
 
15
15
  <title>n8n.io - Workflow Automation</title>
16
- <script type="module" crossorigin src="/{{BASE_PATH}}/assets/index-BqqmY62y.js"></script>
16
+ <script type="module" crossorigin src="/{{BASE_PATH}}/assets/index-DtLsVys_.js"></script>
17
17
  <link rel="stylesheet" crossorigin href="/{{BASE_PATH}}/assets/index-B7wrqKiF.css">
18
18
  </head>
19
19
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-editor-ui",
3
- "version": "1.112.1",
3
+ "version": "1.112.2",
4
4
  "description": "Workflow Editor UI for n8n",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -1,4 +0,0 @@
1
- import { gI as _sfc_main } from "./index-BqqmY62y.js";
2
- export {
3
- _sfc_main as default
4
- };
@@ -1,137 +0,0 @@
1
- import { aw as useFoldersStore, a3 as useRoute, a0 as defineStore, a as useToast, b as useRouter, de as useCredentialsStore, u as useUsersStore, v as useSettingsStore, di as usePostHog, bc as useCloudPlanStore, x as computed, fu as READY_TO_RUN_V2_EXPERIMENT, a$ as useLocalStorage, r as ref, fq as OPEN_AI_API_CREDENTIAL_TYPE, am as useTelemetry, c as useI18n, fv as READY_TO_RUN_WORKFLOW_V2, fw as READY_TO_RUN_WORKFLOW_V1, V as VIEWS, a5 as STORES } from "./index-BqqmY62y.js";
2
- import { u as useProjectPages } from "./useProjectPages-DGeR5Bq7.js";
3
- function useEmptyStateDetection() {
4
- const foldersStore = useFoldersStore();
5
- const projectPages = useProjectPages();
6
- const route = useRoute();
7
- const isTrulyEmpty = (currentRoute = route) => {
8
- const hasNoWorkflows = foldersStore.totalWorkflowCount === 0;
9
- const isNotInSpecificFolder = !currentRoute.params?.folderId;
10
- const isMainWorkflowsPage = projectPages.isOverviewSubPage || !projectPages.isSharedSubPage;
11
- const hasSearchQuery = !!currentRoute.query?.search;
12
- const hasFilters = !!(currentRoute.query?.status || currentRoute.query?.tags || currentRoute.query?.showArchived || currentRoute.query?.homeProject);
13
- return hasNoWorkflows && isNotInSpecificFolder && isMainWorkflowsPage && !hasSearchQuery && !hasFilters;
14
- };
15
- const shouldShowSimplifiedLayout = (currentRoute, isFeatureEnabled, loading) => {
16
- if (loading || !isFeatureEnabled) {
17
- return false;
18
- }
19
- return isTrulyEmpty(currentRoute);
20
- };
21
- return {
22
- isTrulyEmpty,
23
- shouldShowSimplifiedLayout
24
- };
25
- }
26
- const LOCAL_STORAGE_CREDENTIAL_KEY = "N8N_READY_TO_RUN_V2_OPENAI_CREDENTIAL_ID";
27
- const useReadyToRunWorkflowsV2Store = defineStore(
28
- STORES.EXPERIMENT_READY_TO_RUN_WORKFLOWS_V2,
29
- () => {
30
- const telemetry = useTelemetry();
31
- const i18n = useI18n();
32
- const toast = useToast();
33
- const router = useRouter();
34
- const credentialsStore = useCredentialsStore();
35
- const usersStore = useUsersStore();
36
- const settingsStore = useSettingsStore();
37
- const posthogStore = usePostHog();
38
- const cloudPlanStore = useCloudPlanStore();
39
- const isFeatureEnabled = computed(() => {
40
- const variant = posthogStore.getVariant(READY_TO_RUN_V2_EXPERIMENT.name);
41
- return (variant === READY_TO_RUN_V2_EXPERIMENT.variant1 || variant === READY_TO_RUN_V2_EXPERIMENT.variant2) && cloudPlanStore.userIsTrialing;
42
- });
43
- const claimedCredentialIdRef = useLocalStorage(LOCAL_STORAGE_CREDENTIAL_KEY, "");
44
- const claimingCredits = ref(false);
45
- const userHasOpenAiCredentialAlready = computed(
46
- () => !!credentialsStore.allCredentials.filter(
47
- (credential) => credential.type === OPEN_AI_API_CREDENTIAL_TYPE
48
- ).length
49
- );
50
- const userHasClaimedAiCreditsAlready = computed(
51
- () => !!usersStore.currentUser?.settings?.userClaimedAiCredits
52
- );
53
- const userCanClaimOpenAiCredits = computed(() => {
54
- return settingsStore.isAiCreditsEnabled && !userHasOpenAiCredentialAlready.value && !userHasClaimedAiCreditsAlready.value;
55
- });
56
- const getCurrentVariant = () => {
57
- return posthogStore.getVariant(READY_TO_RUN_V2_EXPERIMENT.name);
58
- };
59
- const trackExecuteAiWorkflow = (status) => {
60
- const variant = getCurrentVariant();
61
- telemetry.track("User executed ready to run AI workflow", {
62
- status,
63
- variant
64
- });
65
- };
66
- const trackExecuteAiWorkflowSuccess = () => {
67
- const variant = getCurrentVariant();
68
- telemetry.track("User executed ready to run AI workflow successfully", {
69
- variant
70
- });
71
- };
72
- const claimFreeAiCredits = async (projectId) => {
73
- claimingCredits.value = true;
74
- try {
75
- const credential = await credentialsStore.claimFreeAiCredits(projectId);
76
- if (usersStore?.currentUser?.settings) {
77
- usersStore.currentUser.settings.userClaimedAiCredits = true;
78
- }
79
- claimedCredentialIdRef.value = credential.id;
80
- telemetry.track("User claimed OpenAI credits");
81
- return credential;
82
- } catch (e) {
83
- toast.showError(
84
- e,
85
- i18n.baseText("freeAi.credits.showError.claim.title"),
86
- i18n.baseText("freeAi.credits.showError.claim.message")
87
- );
88
- throw e;
89
- } finally {
90
- claimingCredits.value = false;
91
- }
92
- };
93
- const openAiWorkflow = async (source, parentFolderId) => {
94
- const variant = getCurrentVariant();
95
- telemetry.track("User opened ready to run AI workflow", {
96
- source,
97
- variant
98
- });
99
- const workflow = variant === READY_TO_RUN_V2_EXPERIMENT.variant2 ? READY_TO_RUN_WORKFLOW_V2 : READY_TO_RUN_WORKFLOW_V1;
100
- await router.push({
101
- name: VIEWS.TEMPLATE_IMPORT,
102
- params: { id: workflow.meta?.templateId },
103
- query: { fromJson: "true", parentFolderId }
104
- });
105
- };
106
- const claimCreditsAndOpenWorkflow = async (source, parentFolderId, projectId) => {
107
- await claimFreeAiCredits(projectId);
108
- await openAiWorkflow(source, parentFolderId);
109
- };
110
- const getCardVisibility = (canCreate, readOnlyEnv, loading) => {
111
- return !loading && isFeatureEnabled.value && userCanClaimOpenAiCredits.value && !readOnlyEnv && canCreate;
112
- };
113
- const getButtonVisibility = (hasWorkflows, canCreate, readOnlyEnv) => {
114
- return isFeatureEnabled.value && userCanClaimOpenAiCredits.value && !readOnlyEnv && canCreate && hasWorkflows;
115
- };
116
- const { shouldShowSimplifiedLayout } = useEmptyStateDetection();
117
- const getSimplifiedLayoutVisibility = (route, loading) => {
118
- return shouldShowSimplifiedLayout(route, isFeatureEnabled.value, loading);
119
- };
120
- return {
121
- isFeatureEnabled,
122
- claimingCredits,
123
- userCanClaimOpenAiCredits,
124
- claimFreeAiCredits,
125
- openAiWorkflow,
126
- claimCreditsAndOpenWorkflow,
127
- getCardVisibility,
128
- getButtonVisibility,
129
- getSimplifiedLayoutVisibility,
130
- trackExecuteAiWorkflow,
131
- trackExecuteAiWorkflowSuccess
132
- };
133
- }
134
- );
135
- export {
136
- useReadyToRunWorkflowsV2Store as u
137
- };