From d5eb1f356493650bbedbd664c57b9fa2fb304fd3 Mon Sep 17 00:00:00 2001 From: Pawan Kumar Date: Wed, 30 Apr 2025 12:12:53 +0530 Subject: [PATCH] chore: open carbon modal when creating agent from scratch (#40477) ## Summary by CodeRabbit - **New Features** - The "Carbon" modal now opens automatically when importing certain templates. - Feature-flagged integrations can be enabled during template import if applicable. - **Bug Fixes** - No bug fixes included in this release. --- app/client/src/ee/actions/aiAgentActions.ts | 14 ++++++++++++++ app/client/src/sagas/TemplatesSagas.ts | 19 ++++++++++++++++++- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/app/client/src/ee/actions/aiAgentActions.ts b/app/client/src/ee/actions/aiAgentActions.ts index 802b88e5e5..b76089bef2 100644 --- a/app/client/src/ee/actions/aiAgentActions.ts +++ b/app/client/src/ee/actions/aiAgentActions.ts @@ -7,3 +7,17 @@ export const setCreateAgentModalOpen = ({ isOpen }: { isOpen: boolean }) => ({ type: "", payload: { isOpen }, }); + +export const openCarbonModal = ({ shouldOpen }: { shouldOpen: boolean }) => ({ + type: "", + payload: { shouldOpen }, +}); + +export const toggleFCIntegrations = ({ + isEnabled, +}: { + isEnabled: boolean; +}) => ({ + type: "", + payload: { isEnabled }, +}); diff --git a/app/client/src/sagas/TemplatesSagas.ts b/app/client/src/sagas/TemplatesSagas.ts index 584a12f4ac..dbca5a909c 100644 --- a/app/client/src/sagas/TemplatesSagas.ts +++ b/app/client/src/sagas/TemplatesSagas.ts @@ -46,8 +46,13 @@ import { import { validateResponse } from "./ErrorSagas"; import { failFastApiCalls } from "./InitSagas"; import { getAllPageIdentities } from "./selectors"; -import { setCreateAgentModalOpen } from "ee/actions/aiAgentActions"; +import { + openCarbonModal, + setCreateAgentModalOpen, + toggleFCIntegrations, +} from "ee/actions/aiAgentActions"; import { getIsAiAgentFlowEnabled } from "ee/selectors/aiAgentSelectors"; +import { getTemplatesByFlagSelector } from "selectors/templatesSelectors"; const isAirgappedInstance = isAirgapped(); const AI_DATASOURCE_NAME = "AI Datasource"; @@ -79,6 +84,9 @@ function* importTemplateToWorkspaceSaga( action: ReduxAction<{ templateId: string; workspaceId: string }>, ) { const isAiAgentFlowEnabled: boolean = yield select(getIsAiAgentFlowEnabled); + const templates: ReturnType = yield select( + getTemplatesByFlagSelector, + ); try { const response: ImportTemplateResponse = yield call( @@ -102,6 +110,15 @@ function* importTemplateToWorkspaceSaga( }); if (isAiAgentFlowEnabled) { + const isScratchTemplate = templates.find( + (template) => template.title === "AI Agent", + ); + + if (isScratchTemplate) { + yield put(openCarbonModal({ shouldOpen: true })); + yield put(toggleFCIntegrations({ isEnabled: true })); + } + yield put(setCreateAgentModalOpen({ isOpen: false })); }