feat(editor): Add RAG starter template callouts experiment (#16282)

Co-authored-by: Charlie Kolb <charlie@n8n.io>
This commit is contained in:
Jaakko Husso
2025-06-13 17:45:30 +03:00
committed by GitHub
parent 30148df7f3
commit d0a313aa1c
27 changed files with 1032 additions and 24 deletions

View File

@@ -121,7 +121,7 @@ import { getResourcePermissions } from '@/permissions';
import NodeViewUnfinishedWorkflowMessage from '@/components/NodeViewUnfinishedWorkflowMessage.vue';
import { createCanvasConnectionHandleString } from '@/utils/canvasUtils';
import { isValidNodeConnectionType } from '@/utils/typeGuards';
import { getEasyAiWorkflowJson } from '@/utils/easyAiWorkflowUtils';
import { getEasyAiWorkflowJson, getRagStarterWorkflowJson } from '@/utils/easyAiWorkflowUtils';
import type { CanvasLayoutEvent } from '@/composables/useCanvasLayout';
import { useWorkflowSaving } from '@/composables/useWorkflowSaving';
import { useBuilderStore } from '@/stores/builder.store';
@@ -374,7 +374,22 @@ async function initializeRoute(force = false) {
if (loadWorkflowFromJSON) {
const easyAiWorkflowJson = getEasyAiWorkflowJson();
await openTemplateFromWorkflowJSON(easyAiWorkflowJson);
const ragStarterWorkflowJson = getRagStarterWorkflowJson();
switch (templateId) {
case easyAiWorkflowJson.meta.templateId:
await openTemplateFromWorkflowJSON(easyAiWorkflowJson);
break;
case ragStarterWorkflowJson.meta.templateId:
await openTemplateFromWorkflowJSON(ragStarterWorkflowJson);
break;
default:
toast.showError(
new Error(i18n.baseText('nodeView.couldntLoadWorkflow.invalidWorkflowObject')),
i18n.baseText('nodeView.couldntImportWorkflow'),
);
await router.replace({ name: VIEWS.NEW_WORKFLOW });
}
} else {
await openWorkflowTemplate(templateId.toString());
}