chore: Add placeholder AI Integrations form (#40583)
## Description Adds a new AI integrations form and a feature flag to control it ## Automation /ok-to-test tags="@tag.Sanity" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/14852368949> > Commit: 047893cddfa36128ca4b07263ef2e49afba40fe1 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=14852368949&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Sanity` > Spec: > <hr>Tue, 06 May 2025 06:16:52 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced a new AI Chat Integrations form control component. - Added a feature flag to enable or disable AI Chat Integrations. - **Chores** - Registered the new form control type and component in the form control registry. - Updated feature flag override capabilities to include the new AI Chat Integrations flag. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
parent
119eb524d0
commit
b7a2f5c261
|
|
@ -0,0 +1,18 @@
|
||||||
|
import React from "react";
|
||||||
|
import BaseControl, {
|
||||||
|
type ControlProps,
|
||||||
|
} from "components/formControls/BaseControl";
|
||||||
|
import type { ControlType } from "constants/PropertyControlConstants";
|
||||||
|
|
||||||
|
interface AIChatIntegrationsControlProps extends ControlProps {}
|
||||||
|
|
||||||
|
class AIChatIntegrationsControl extends BaseControl<AIChatIntegrationsControlProps> {
|
||||||
|
getControlType(): ControlType {
|
||||||
|
return "AI_CHAT_INTEGRATIONS_FORM";
|
||||||
|
}
|
||||||
|
public render() {
|
||||||
|
return <div>AIChatIntegrationsControl</div>;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default AIChatIntegrationsControl;
|
||||||
1
app/client/src/ce/components/formControls/index.ts
Normal file
1
app/client/src/ce/components/formControls/index.ts
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
export { default } from "./AIChatIntegrationsControl";
|
||||||
|
|
@ -59,6 +59,7 @@ export const FEATURE_FLAG = {
|
||||||
license_external_saas_plugins_enabled:
|
license_external_saas_plugins_enabled:
|
||||||
"license_external_saas_plugins_enabled",
|
"license_external_saas_plugins_enabled",
|
||||||
release_computation_cache_enabled: "release_computation_cache_enabled",
|
release_computation_cache_enabled: "release_computation_cache_enabled",
|
||||||
|
release_ai_chat_integrations_enabled: "release_ai_chat_integrations_enabled",
|
||||||
} as const;
|
} as const;
|
||||||
|
|
||||||
export type FeatureFlag = keyof typeof FEATURE_FLAG;
|
export type FeatureFlag = keyof typeof FEATURE_FLAG;
|
||||||
|
|
@ -108,6 +109,7 @@ export const DEFAULT_FEATURE_FLAG_VALUE: FeatureFlags = {
|
||||||
release_git_package_enabled: false,
|
release_git_package_enabled: false,
|
||||||
license_external_saas_plugins_enabled: false,
|
license_external_saas_plugins_enabled: false,
|
||||||
release_computation_cache_enabled: false,
|
release_computation_cache_enabled: false,
|
||||||
|
release_ai_chat_integrations_enabled: false,
|
||||||
};
|
};
|
||||||
|
|
||||||
export const AB_TESTING_EVENT_KEYS = {
|
export const AB_TESTING_EVENT_KEYS = {
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
export { default } from "ce/components/formControls/AIChatIntegrationsControl";
|
||||||
|
|
@ -56,6 +56,7 @@ import {
|
||||||
AiChatSystemInstructionsControl,
|
AiChatSystemInstructionsControl,
|
||||||
type AiChatSystemInstructionsControlProps,
|
type AiChatSystemInstructionsControlProps,
|
||||||
} from "components/formControls/AIChatSystemInstructionsControl";
|
} from "components/formControls/AIChatSystemInstructionsControl";
|
||||||
|
import AIChatIntegrationsControl from "ee/components/formControls/AIChatIntegrationsControl";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* NOTE: If you are adding a component that uses FormControl
|
* NOTE: If you are adding a component that uses FormControl
|
||||||
|
|
@ -253,6 +254,14 @@ class FormControlRegistry {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
FormControlFactory.registerControlBuilder(
|
||||||
|
formControlTypes.AI_CHAT_INTEGRATIONS_FORM,
|
||||||
|
{
|
||||||
|
buildPropertyControl(controlProps): JSX.Element {
|
||||||
|
return <AIChatIntegrationsControl {...controlProps} />;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
);
|
||||||
FormControlFactory.registerControlBuilder(
|
FormControlFactory.registerControlBuilder(
|
||||||
formControlTypes.DATASOURCE_LINK,
|
formControlTypes.DATASOURCE_LINK,
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -27,4 +27,5 @@ export default {
|
||||||
DATASOURCE_LINK: "DATASOURCE_LINK",
|
DATASOURCE_LINK: "DATASOURCE_LINK",
|
||||||
CUSTOM_ACTIONS_CONFIG_FORM: "CUSTOM_ACTIONS_CONFIG_FORM",
|
CUSTOM_ACTIONS_CONFIG_FORM: "CUSTOM_ACTIONS_CONFIG_FORM",
|
||||||
AI_CHAT_SYSTEM_INSTRUCTIONS: "AI_CHAT_SYSTEM_INSTRUCTIONS",
|
AI_CHAT_SYSTEM_INSTRUCTIONS: "AI_CHAT_SYSTEM_INSTRUCTIONS",
|
||||||
|
AI_CHAT_INTEGRATIONS_FORM: "AI_CHAT_INTEGRATIONS_FORM",
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@ export const AvailableFeaturesToOverride: FeatureFlag[] = [
|
||||||
"release_anvil_enabled",
|
"release_anvil_enabled",
|
||||||
"release_layout_conversion_enabled",
|
"release_layout_conversion_enabled",
|
||||||
"license_ai_agent_enabled",
|
"license_ai_agent_enabled",
|
||||||
|
"release_ai_chat_integrations_enabled",
|
||||||
];
|
];
|
||||||
export type OverriddenFeatureFlags = Partial<Record<FeatureFlag, boolean>>;
|
export type OverriddenFeatureFlags = Partial<Record<FeatureFlag, boolean>>;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user