diff --git a/app/client/src/ce/components/editorComponents/GPT/trigger.tsx b/app/client/src/ce/components/editorComponents/GPT/trigger.tsx index 0745032668..31fca72688 100644 --- a/app/client/src/ce/components/editorComponents/GPT/trigger.tsx +++ b/app/client/src/ce/components/editorComponents/GPT/trigger.tsx @@ -1,6 +1,8 @@ -export const askAIEnabled = false; -export const APPSMITH_AI = "Ask AI"; +import type { TEditorModes } from "components/editorComponents/CodeEditor/EditorConfig"; +import type FeatureFlags from "entities/FeatureFlags"; +export const APPSMITH_AI = "AI"; -export function GPTTrigger() { - return null; +/* eslint-disable-next-line */ +export function isAIEnabled(ff: FeatureFlags, mode: TEditorModes) { + return false; } diff --git a/app/client/src/components/editorComponents/CodeEditor/index.tsx b/app/client/src/components/editorComponents/CodeEditor/index.tsx index d3c2acb964..bc2bd9095a 100644 --- a/app/client/src/components/editorComponents/CodeEditor/index.tsx +++ b/app/client/src/components/editorComponents/CodeEditor/index.tsx @@ -147,7 +147,7 @@ import { AIWindow } from "@appsmith/components/editorComponents/GPT"; import classNames from "classnames"; import { APPSMITH_AI, - askAIEnabled, + isAIEnabled, } from "@appsmith/components/editorComponents/GPT/trigger"; import { getAllDatasourceTableKeys, @@ -157,13 +157,10 @@ import { debug } from "loglevel"; import { PeekOverlayExpressionIdentifier, SourceType } from "@shared/ast"; import type { MultiplexingModeConfig } from "components/editorComponents/CodeEditor/modes"; import { MULTIPLEXING_MODE_CONFIGS } from "components/editorComponents/CodeEditor/modes"; -import { getAppsmithConfigs } from "@appsmith/configs"; type ReduxStateProps = ReturnType; type ReduxDispatchProps = ReturnType; -const { cloudHosting } = getAppsmithConfigs(); - export type CodeEditorExpected = { type: string; example: ExpectedValueExample; @@ -317,6 +314,12 @@ class CodeEditor extends Component { props.input.value, ); this.multiplexConfig = MULTIPLEXING_MODE_CONFIGS[this.props.mode]; + /** + * Decides if AI is enabled by looking at repo, feature flags, props and environment + */ + this.AIEnabled = + isAIEnabled(this.props.featureFlags, this.props.mode) && + Boolean(this.props.AIAssisted); } componentDidMount(): void { @@ -1475,16 +1478,6 @@ class CodeEditor extends Component { } const entityInformation = this.getEntityInformation(); - /** - * Decides if AI is enabled by looking at repo, feature flags, props and environment - */ - this.AIEnabled = Boolean( - askAIEnabled && - this.props.featureFlags.ask_ai && - this.props.AIAssisted && - cloudHosting, - ); - /** * AI button is to be shown when following conditions are satisfied * Enabled by feature flag and repo permissions diff --git a/app/client/src/entities/FeatureFlags.ts b/app/client/src/entities/FeatureFlags.ts index 3c83fa92d0..3f25e07285 100644 --- a/app/client/src/entities/FeatureFlags.ts +++ b/app/client/src/entities/FeatureFlags.ts @@ -4,6 +4,8 @@ type FeatureFlags = { AUTO_LAYOUT?: boolean; ask_ai?: boolean; APP_NAVIGATION_LOGO_UPLOAD?: boolean; + ask_ai_sql?: boolean; + ask_ai_js?: boolean; }; export default FeatureFlags;