{cell.render("Cell")}
@@ -348,7 +372,7 @@ function Table(props: TableProps) {
{headerGroups.map((headerGroup: any, index: number) => (
{headerGroup.headers.map(
diff --git a/app/client/src/PluginActionEditor/components/PluginActionResponse/hooks/useShowSchema.ts b/app/client/src/PluginActionEditor/components/PluginActionResponse/hooks/useShowSchema.ts
index 10b3d4c9dffa..c383726ff35a 100644
--- a/app/client/src/PluginActionEditor/components/PluginActionResponse/hooks/useShowSchema.ts
+++ b/app/client/src/PluginActionEditor/components/PluginActionResponse/hooks/useShowSchema.ts
@@ -2,7 +2,7 @@ import {
getPluginDatasourceComponentFromId,
getPluginNameFromId,
} from "ee/selectors/entitiesSelector";
-import { DatasourceComponentTypes } from "api/PluginApi";
+import { DatasourceComponentTypes } from "entities/Plugin";
import { SCHEMALESS_PLUGINS } from "pages/Editor/DatasourceInfo/DatasourceStructureContainer";
import { useSelector } from "react-redux";
diff --git a/app/client/src/PluginActionEditor/components/PluginActionSettings/index.tsx b/app/client/src/PluginActionEditor/components/PluginActionSettings/index.tsx
index 8529564e76b3..899dffcfcf94 100644
--- a/app/client/src/PluginActionEditor/components/PluginActionSettings/index.tsx
+++ b/app/client/src/PluginActionEditor/components/PluginActionSettings/index.tsx
@@ -1,5 +1,5 @@
import React from "react";
-import { UIComponentTypes } from "api/PluginApi";
+import { UIComponentTypes } from "entities/Plugin";
import { usePluginActionContext } from "../../PluginActionContext";
import ApiSettings from "./ApiSettings";
import QuerySettings from "./QuerySettings";
diff --git a/app/client/src/PluginActionEditor/store/pluginActionEditorActions.ts b/app/client/src/PluginActionEditor/store/pluginActionEditorActions.ts
index 96cd57870a0f..2f57b3822f09 100644
--- a/app/client/src/PluginActionEditor/store/pluginActionEditorActions.ts
+++ b/app/client/src/PluginActionEditor/store/pluginActionEditorActions.ts
@@ -24,20 +24,6 @@ export const openPluginActionSettings = (payload: boolean) => ({
},
});
-export const updatePostBodyContentType = (
- title: string,
-): ReduxAction<{ title: string }> => ({
- type: ReduxActionTypes.UPDATE_API_ACTION_BODY_CONTENT_TYPE,
- payload: { title },
-});
-
-export const setExtraFormData = (
- values: Record
,
-) => ({
- type: ReduxActionTypes.SET_EXTRA_FORMDATA,
- payload: { values },
-});
-
export const changeApi = (
id: string,
isSaas: boolean,
diff --git a/app/client/src/PluginActionEditor/store/pluginActionEditorSelectors.ts b/app/client/src/PluginActionEditor/store/pluginActionEditorSelectors.ts
index b38e4bd1cc2f..d931e8210639 100644
--- a/app/client/src/PluginActionEditor/store/pluginActionEditorSelectors.ts
+++ b/app/client/src/PluginActionEditor/store/pluginActionEditorSelectors.ts
@@ -1,9 +1,6 @@
import type { AppState } from "ee/reducers";
import { createSelector } from "reselect";
-import { POST_BODY_FORM_DATA_KEY } from "./constants";
-import { POST_BODY_FORMAT_OPTIONS } from "../constants/CommonApiConstants";
-
export const getActionEditorSavingMap = (state: AppState) =>
state.ui.pluginActionEditor.isSaving;
@@ -38,26 +35,6 @@ export const isActionDeleting = (id: string) =>
(deletingMap) => id in deletingMap && deletingMap[id],
);
-export const getFormData = (state: AppState) =>
- state.ui.pluginActionEditor.formData;
-
-type GetFormPostBodyFormat = (state: AppState) => {
- label: string;
- value: string;
-};
-
-export const getPostBodyFormat: GetFormPostBodyFormat = (state) => {
- const formData = getFormData(state);
-
- if (POST_BODY_FORM_DATA_KEY in formData) {
- return formData[POST_BODY_FORM_DATA_KEY];
- }
-
- return {
- label: POST_BODY_FORMAT_OPTIONS.NONE,
- value: POST_BODY_FORMAT_OPTIONS.NONE,
- };
-};
export const getPluginActionConfigSelectedTab = (state: AppState) =>
state.ui.pluginActionEditor.selectedConfigTab;
diff --git a/app/client/src/PluginActionEditor/store/pluginEditorReducer.ts b/app/client/src/PluginActionEditor/store/pluginEditorReducer.ts
index 3541e38fa1ac..a698845448d6 100644
--- a/app/client/src/PluginActionEditor/store/pluginEditorReducer.ts
+++ b/app/client/src/PluginActionEditor/store/pluginEditorReducer.ts
@@ -26,7 +26,6 @@ export interface PluginActionEditorState {
isDirty: Record;
runErrorMessage: Record;
selectedConfigTab?: string;
- formData: Record;
debugger: PluginEditorDebuggerState;
settingsOpen?: boolean;
}
@@ -38,7 +37,6 @@ const initialState: PluginActionEditorState = {
isDeleting: {},
isDirty: {},
runErrorMessage: {},
- formData: {},
debugger: {
open: false,
responseTabHeight: ActionExecutionResizerHeight,
@@ -136,21 +134,6 @@ export const handlers = {
set(state, ["isRunning", id], false);
set(state, ["runErrorMessage", id], error.message);
},
- /**
- * This redux action sets the extra form data field for an action. This is used to select the
- * appropriate body type tab selection in the Rest API plugin based on the content-type.
- * This redux action can be extended to other functionalities as well in the future.
- */
- [ReduxActionTypes.SET_EXTRA_FORMDATA]: (
- state: PluginActionEditorState,
- action: ReduxAction<{
- values: Record;
- }>,
- ) => {
- const { values } = action.payload;
-
- set(state, ["formData"], values);
- },
[ReduxActionTypes.SET_PLUGIN_ACTION_EDITOR_FORM_SELECTED_TAB]: (
state: PluginActionEditorState,
action: ReduxAction<{ selectedTab: string }>,
diff --git a/app/client/src/PluginActionEditor/transformers/RestActionTransformers.test.ts b/app/client/src/PluginActionEditor/transformers/RestActionTransformers.test.ts
index f775df96e2e9..95f5ee8a6dc3 100644
--- a/app/client/src/PluginActionEditor/transformers/RestActionTransformers.test.ts
+++ b/app/client/src/PluginActionEditor/transformers/RestActionTransformers.test.ts
@@ -3,7 +3,7 @@ import {
transformRestAction,
} from "./RestActionTransformer";
import type { ApiAction } from "entities/Action";
-import { PluginType } from "entities/Action";
+import { PluginType } from "entities/Plugin";
import {
HTTP_PROTOCOL,
MultiPartOptionTypes,
diff --git a/app/client/src/WidgetQueryGenerators/index.ts b/app/client/src/WidgetQueryGenerators/index.ts
index e9073f33b276..8a10e9882bdf 100644
--- a/app/client/src/WidgetQueryGenerators/index.ts
+++ b/app/client/src/WidgetQueryGenerators/index.ts
@@ -1,4 +1,4 @@
-import { PluginPackageName } from "entities/Action";
+import { PluginPackageName } from "entities/Plugin";
import WidgetQueryGeneratorRegistry from "utils/WidgetQueryGeneratorRegistry";
import GSheets from "./GSheets";
import MongoDB from "./MongoDB";
diff --git a/app/client/src/actions/datasourceActions.ts b/app/client/src/actions/datasourceActions.ts
index b80194c04d8a..ce4a2a55d91e 100644
--- a/app/client/src/actions/datasourceActions.ts
+++ b/app/client/src/actions/datasourceActions.ts
@@ -8,7 +8,7 @@ import type {
FilePickerActionStatus,
MockDatasource,
} from "entities/Datasource";
-import type { PluginType } from "entities/Action";
+import type { PluginType } from "entities/Plugin";
import type { ApiResponse, ResponseMeta } from "api/ApiResponses";
import { TEMP_DATASOURCE_ID } from "constants/Datasource";
import {
diff --git a/app/client/src/actions/pluginActions.ts b/app/client/src/actions/pluginActions.ts
index 02a29c028b65..6de49c2b2c03 100644
--- a/app/client/src/actions/pluginActions.ts
+++ b/app/client/src/actions/pluginActions.ts
@@ -9,7 +9,7 @@ import {
import type { ApiResponse } from "api/ApiResponses";
import type { PluginFormPayload } from "api/PluginApi";
import type { DependencyMap } from "utils/DynamicBindingUtils";
-import type { Plugin } from "api/PluginApi";
+import type { Plugin } from "entities/Plugin";
export const fetchPlugins = (payload?: {
workspaceId?: string;
diff --git a/app/client/src/api/PluginApi.ts b/app/client/src/api/PluginApi.ts
index 5bcc33486109..690314ce4908 100644
--- a/app/client/src/api/PluginApi.ts
+++ b/app/client/src/api/PluginApi.ts
@@ -1,41 +1,9 @@
import Api from "api/Api";
import type { AxiosPromise } from "axios";
import type { ApiResponse } from "api/ApiResponses";
-import type { PluginPackageName, PluginType } from "entities/Action";
import type { DependencyMap } from "utils/DynamicBindingUtils";
import { FILE_UPLOAD_TRIGGER_TIMEOUT_MS } from "ee/constants/ApiConstants";
-
-export type PluginId = string;
-export type GenerateCRUDEnabledPluginMap = Record;
-
-export enum UIComponentTypes {
- DbEditorForm = "DbEditorForm",
- UQIDbEditorForm = "UQIDbEditorForm",
- ApiEditorForm = "ApiEditorForm",
- JsEditorForm = "JsEditorForm",
- GraphQLEditorForm = "GraphQLEditorForm",
-}
-
-export enum DatasourceComponentTypes {
- RestAPIDatasourceForm = "RestAPIDatasourceForm",
- AutoForm = "AutoForm",
-}
-export interface Plugin {
- id: string;
- name: string;
- type: PluginType;
- packageName: PluginPackageName;
- iconLocation?: string;
- uiComponent: UIComponentTypes;
- datasourceComponent: DatasourceComponentTypes;
- allowUserDatasources?: boolean;
- templates: Record;
- responseType?: "TABLE" | "JSON";
- documentationLink?: string;
- generateCRUDPageComponent?: string;
- // We need to know if the plugin requires a datasource (Eg Workflows plugin does not require a datasource to create queries)
- requiresDatasource: boolean;
-}
+import type { DefaultPlugin, Plugin } from "entities/Plugin";
export interface PluginFormPayload {
// TODO: Fix this the next time the file is edited
@@ -51,14 +19,6 @@ export interface PluginFormPayload {
formButton: string[];
}
-export interface DefaultPlugin {
- id: string;
- name: string;
- packageName: string;
- iconLocation?: string;
- allowUserDatasources?: boolean;
-}
-
class PluginsApi extends Api {
static url = "v1/plugins";
static defaultDynamicTriggerURL(datasourceId: string): string {
diff --git a/app/client/src/ce/PluginActionEditor/components/PluginActionResponse/hooks/useDefaultTab.tsx b/app/client/src/ce/PluginActionEditor/components/PluginActionResponse/hooks/useDefaultTab.tsx
index 399b32064751..f1ffac4b96ff 100644
--- a/app/client/src/ce/PluginActionEditor/components/PluginActionResponse/hooks/useDefaultTab.tsx
+++ b/app/client/src/ce/PluginActionEditor/components/PluginActionResponse/hooks/useDefaultTab.tsx
@@ -1,7 +1,7 @@
import { useEffect } from "react";
import { useDispatch, useSelector } from "react-redux";
import { DEBUGGER_TAB_KEYS } from "components/editorComponents/Debugger/constants";
-import { PluginType } from "entities/Action";
+import { PluginType } from "entities/Plugin";
import { usePluginActionContext } from "PluginActionEditor";
import useShowSchema from "PluginActionEditor/components/PluginActionResponse/hooks/useShowSchema";
import {
diff --git a/app/client/src/ce/PluginActionEditor/components/PluginActionResponse/hooks/usePluginActionResponseTabs.tsx b/app/client/src/ce/PluginActionEditor/components/PluginActionResponse/hooks/usePluginActionResponseTabs.tsx
index e36d658e4d6e..6d6988b883f5 100644
--- a/app/client/src/ce/PluginActionEditor/components/PluginActionResponse/hooks/usePluginActionResponseTabs.tsx
+++ b/app/client/src/ce/PluginActionEditor/components/PluginActionResponse/hooks/usePluginActionResponseTabs.tsx
@@ -15,7 +15,7 @@ import {
} from "ee/constants/messages";
import ErrorLogs from "components/editorComponents/Debugger/Errors";
import DebuggerLogs from "components/editorComponents/Debugger/DebuggerLogs";
-import { PluginType } from "entities/Action";
+import { PluginType } from "entities/Plugin";
import { ApiResponseHeaders } from "PluginActionEditor/components/PluginActionResponse/components/ApiResponseHeaders";
import { EditorTheme } from "components/editorComponents/CodeEditor/EditorConfig";
import { getErrorCount } from "selectors/debuggerSelectors";
@@ -112,6 +112,7 @@ function usePluginActionResponseTabs() {
if (
[
PluginType.DB,
+ PluginType.AI,
PluginType.REMOTE,
PluginType.SAAS,
PluginType.INTERNAL,
diff --git a/app/client/src/ce/PluginActionEditor/hooks/useBlockExecution.ts b/app/client/src/ce/PluginActionEditor/hooks/useBlockExecution.ts
index a2acdd1f5594..e1ee5994c5f6 100644
--- a/app/client/src/ce/PluginActionEditor/hooks/useBlockExecution.ts
+++ b/app/client/src/ce/PluginActionEditor/hooks/useBlockExecution.ts
@@ -2,7 +2,7 @@ import { getHasExecuteActionPermission } from "ee/utils/BusinessFeatures/permiss
import { FEATURE_FLAG } from "ee/entities/FeatureFlag";
import { useFeatureFlag } from "utils/hooks/useFeatureFlag";
import { DEFAULT_DATASOURCE_NAME } from "PluginActionEditor/constants/ApiEditorConstants";
-import { UIComponentTypes } from "api/PluginApi";
+import { UIComponentTypes } from "entities/Plugin";
import { SQL_DATASOURCES } from "constants/QueryEditorConstants";
import { usePluginActionContext } from "PluginActionEditor/PluginActionContext";
diff --git a/app/client/src/ce/api/JSActionAPI.tsx b/app/client/src/ce/api/JSActionAPI.tsx
index e9786759940b..12393dc4cb2c 100644
--- a/app/client/src/ce/api/JSActionAPI.tsx
+++ b/app/client/src/ce/api/JSActionAPI.tsx
@@ -3,7 +3,7 @@ import type { AxiosPromise } from "axios";
import type { JSCollection } from "entities/JSCollection";
import type { ApiResponse } from "api/ApiResponses";
import type { Variable, JSAction } from "entities/JSCollection";
-import type { PluginType } from "entities/Action";
+import type { PluginType } from "entities/Plugin";
import type { FetchActionsPayload } from "api/ActionAPI";
import type { ActionParentEntityTypeInterface } from "ee/entities/Engine/actionHelpers";
diff --git a/app/client/src/ce/components/editorComponents/Debugger/ErrorLogs/getLogIconForEntity.tsx b/app/client/src/ce/components/editorComponents/Debugger/ErrorLogs/getLogIconForEntity.tsx
index c5c781efb04b..f38fdf9832b5 100644
--- a/app/client/src/ce/components/editorComponents/Debugger/ErrorLogs/getLogIconForEntity.tsx
+++ b/app/client/src/ce/components/editorComponents/Debugger/ErrorLogs/getLogIconForEntity.tsx
@@ -1,7 +1,7 @@
import type { FunctionComponent } from "react";
import React from "react";
import type { LogItemProps } from "components/editorComponents/Debugger/ErrorLogs/ErrorLogItem";
-import { PluginType } from "entities/Action";
+import { PluginType } from "entities/Plugin";
import WidgetIcon from "pages/Editor/Explorer/Widgets/WidgetIcon";
import {
ApiMethodIcon,
diff --git a/app/client/src/ce/constants/ModuleConstants.ts b/app/client/src/ce/constants/ModuleConstants.ts
index 2c101aa279f4..aa69b5ff2f18 100644
--- a/app/client/src/ce/constants/ModuleConstants.ts
+++ b/app/client/src/ce/constants/ModuleConstants.ts
@@ -1,4 +1,4 @@
-import type { PluginType } from "entities/Action";
+import type { PluginType } from "entities/Plugin";
type ID = string;
diff --git a/app/client/src/ce/constants/ReduxActionConstants.tsx b/app/client/src/ce/constants/ReduxActionConstants.tsx
index 0a3d912b1692..1c34ede4b084 100644
--- a/app/client/src/ce/constants/ReduxActionConstants.tsx
+++ b/app/client/src/ce/constants/ReduxActionConstants.tsx
@@ -769,7 +769,6 @@ const ActionActionTypes = {
UPDATE_ACTION_SUCCESS: "UPDATE_ACTION_SUCCESS",
DELETE_ACTION_INIT: "DELETE_ACTION_INIT",
DELETE_ACTION_SUCCESS: "DELETE_ACTION_SUCCESS",
- SET_EXTRA_FORMDATA: "SET_EXTRA_FORMDATA",
MOVE_ACTION_INIT: "MOVE_ACTION_INIT",
MOVE_ACTION_SUCCESS: "MOVE_ACTION_SUCCESS",
COPY_ACTION_INIT: "COPY_ACTION_INIT",
@@ -787,7 +786,6 @@ const ActionActionTypes = {
TOGGLE_ACTION_EXECUTE_ON_LOAD_SUCCESS:
"TOGGLE_ACTION_EXECUTE_ON_LOAD_SUCCESS",
TOGGLE_ACTION_EXECUTE_ON_LOAD_INIT: "TOGGLE_ACTION_EXECUTE_ON_LOAD_INIT",
- UPDATE_API_ACTION_BODY_CONTENT_TYPE: "UPDATE_API_ACTION_BODY_CONTENT_TYPE",
};
const ActionActionErrorTypes = {
diff --git a/app/client/src/ce/constants/messages.ts b/app/client/src/ce/constants/messages.ts
index a7ee8c2d92b2..8113359f35d6 100644
--- a/app/client/src/ce/constants/messages.ts
+++ b/app/client/src/ce/constants/messages.ts
@@ -2575,23 +2575,23 @@ export const REQUEST_NEW_INTEGRATIONS = {
REQUEST_NEW_BUTTON: () => "Request a new integration",
REQUEST_BUTTON: () => "Request integration",
CANCEL_BUTTON: () => "Cancel",
- REQUEST_MODAL_HEADING: () => "Request a new integration",
+ REQUEST_MODAL_HEADING: () => "Request new integration",
REQUEST_MODAL_INTEGRATION: {
- LABEL: () => "Integration",
+ LABEL: () => "Integration name",
PLACEHOLDER: () => "E.g. Zendesk, JIRA, Slack, others",
NAME: "integration",
ERROR: () => "Please enter integration name",
},
REQUEST_MODAL_USECASE: {
- LABEL: () => "Tell us more about your case",
+ LABEL: () => "How would this integration help you?",
PLACEHOLDER: () =>
- "E.g. I want to create an app to manage my customers’ account.",
+ "For example, organizing client data or automating reports.",
NAME: "useCase",
},
REQUEST_MODAL_EMAIL: {
LABEL: () => "Email",
DESCRIPTION: () =>
- "Appsmith will use this email exclusively to follow up on your integration request.",
+ "We’ll use this email solely to follow up on your request.",
NAME: "email",
ERROR: () => "Please enter email",
},
@@ -2599,10 +2599,10 @@ export const REQUEST_NEW_INTEGRATIONS = {
};
export const PREMIUM_DATASOURCES = {
- RELEVANT_EMAIL_DESCRIPTION: () =>
- "Unblock advanced integrations. Let our team guide you in selecting the plan that fits your needs. Schedule a call now to see how Appsmith can transform your workflows!",
- NON_RELEVANT_EMAIL_DESCRIPTION: () =>
- "Unblock advanced integrations. Let our team guide you in selecting the plan that fits your needs. Give us your email and the Appsmith team will reach out to you soon.",
+ RELEVANT_EMAIL_DESCRIPTION: (integrationName: string) =>
+ `Ready to connect with ${integrationName}? This feature is part of our premium plans. Schedule a call with our team to explore the right plan for your needs. We’re excited to help you get started!`,
+ NON_RELEVANT_EMAIL_DESCRIPTION: (integrationName: string) =>
+ `Ready to connect with ${integrationName}? This feature is part of our premium plans. We'll help you find a plan that fits your needs. Simply share your email, and we'll be in touch soon.`,
LEARN_MORE: () => "Learn more about Premium",
SCHEDULE_CALL: () => "Schedule a call",
SUBMIT: () => "Submit",
@@ -2611,15 +2611,15 @@ export const PREMIUM_DATASOURCES = {
FORM_EMAIL: {
LABEL: () => "Email",
DESCRIPTION: () =>
- "Appsmith will use this email to follow up on your integration interest.",
+ "We’ll use this email solely to follow up on your request.",
NAME: "email",
ERROR: () => "Please enter email",
},
PREMIUM_TAG: () => "Premium",
SOON_TAG: () => "Soon",
- COMING_SOON_SUFFIX: () => "Coming soon",
+ COMING_SOON_SUFFIX: () => "is coming soon",
COMING_SOON_DESCRIPTION: () =>
- "The Appsmith Team is actively working on it. We’ll let you know when this integration is live. ",
+ "This integration is currently in development. Submit your email below to be notified as soon as it’s available.",
NOTIFY_ME: () => "Notify me",
};
diff --git a/app/client/src/ce/entities/DataTree/dataTreeJSAction.test.ts b/app/client/src/ce/entities/DataTree/dataTreeJSAction.test.ts
index 0978fa770b75..f9765a1ad245 100644
--- a/app/client/src/ce/entities/DataTree/dataTreeJSAction.test.ts
+++ b/app/client/src/ce/entities/DataTree/dataTreeJSAction.test.ts
@@ -1,4 +1,4 @@
-import { PluginType } from "entities/Action";
+import { PluginType } from "entities/Plugin";
import { generateDataTreeJSAction } from "./dataTreeJSAction";
import type { JSCollectionData } from "ee/reducers/entityReducers/jsActionsReducer";
diff --git a/app/client/src/ce/entities/DataTree/types.ts b/app/client/src/ce/entities/DataTree/types.ts
index 42652009b95e..fe5489737776 100644
--- a/app/client/src/ce/entities/DataTree/types.ts
+++ b/app/client/src/ce/entities/DataTree/types.ts
@@ -1,7 +1,7 @@
import type { ActionResponse } from "api/ActionAPI";
-import type { PluginId } from "api/PluginApi";
+import type { PluginType, PluginId } from "entities/Plugin";
import type { ValidationConfig } from "constants/PropertyControlConstants";
-import type { ActionConfig, PluginType } from "entities/Action";
+import type { ActionConfig } from "entities/Action";
import type { ActionDescription } from "ee/workers/Evaluation/fns";
import type { Variable } from "entities/JSCollection";
import type { DependencyMap, DynamicPath } from "utils/DynamicBindingUtils";
diff --git a/app/client/src/ce/entities/Engine/actionHelpers.ts b/app/client/src/ce/entities/Engine/actionHelpers.ts
index eba14ec5f190..87636eea3b3f 100644
--- a/app/client/src/ce/entities/Engine/actionHelpers.ts
+++ b/app/client/src/ce/entities/Engine/actionHelpers.ts
@@ -9,7 +9,7 @@ import type { DependentFeatureFlags } from "ee/selectors/engineSelectors";
import { fetchDatasources } from "actions/datasourceActions";
import { fetchPageDSLs } from "actions/pageActions";
import { fetchPlugins } from "actions/pluginActions";
-import type { Plugin } from "api/PluginApi";
+import type { Plugin } from "entities/Plugin";
import { useSelector } from "react-redux";
import { useParams } from "react-router";
import type { EditConsolidatedApi } from "sagas/InitSagas";
diff --git a/app/client/src/ce/entities/IDE/constants.ts b/app/client/src/ce/entities/IDE/constants.ts
index e7fa7a230b18..7809cb7f47d6 100644
--- a/app/client/src/ce/entities/IDE/constants.ts
+++ b/app/client/src/ce/entities/IDE/constants.ts
@@ -19,9 +19,9 @@ import {
SAAS_EDITOR_API_ID_PATH,
SAAS_EDITOR_DATASOURCE_ID_PATH,
} from "pages/Editor/SaaSEditor/constants";
-import type { PluginType } from "entities/Action";
+import type { PluginType } from "entities/Plugin";
import type { ComponentType, ReactNode } from "react";
-import type { IDESidebarButton } from "IDE";
+import type { IDESidebarButton } from "@appsmith/ads";
export enum EditorState {
DATA = "DATA",
diff --git a/app/client/src/ce/navigation/FocusElements/AppIDE.ts b/app/client/src/ce/navigation/FocusElements/AppIDE.ts
index 336ddaeeee1a..e7a97ca3d3df 100644
--- a/app/client/src/ce/navigation/FocusElements/AppIDE.ts
+++ b/app/client/src/ce/navigation/FocusElements/AppIDE.ts
@@ -40,7 +40,7 @@ import {
DEFAULT_ENTITY_EXPLORER_WIDTH,
DEFAULT_PROPERTY_PANE_WIDTH,
} from "constants/AppConstants";
-import { PluginPackageName } from "entities/Action";
+import { PluginPackageName } from "entities/Plugin";
import { FocusEntity, identifyEntityFromPath } from "navigation/FocusEntity";
import { SelectionRequestType } from "sagas/WidgetSelectUtils";
import { getExplorerWidth } from "selectors/explorerSelector";
@@ -77,16 +77,11 @@ import { ActionExecutionResizerHeight } from "PluginActionEditor/components/Plug
import {
getPluginActionConfigSelectedTab,
getPluginActionDebuggerState,
- getFormData,
- setExtraFormData,
setPluginActionEditorDebuggerState,
setPluginActionEditorSelectedTab,
} from "PluginActionEditor/store";
import { EDITOR_TABS } from "constants/QueryEditorConstants";
-import {
- API_EDITOR_TABS,
- POST_BODY_FORMAT_OPTIONS,
-} from "PluginActionEditor/constants/CommonApiConstants";
+import { API_EDITOR_TABS } from "PluginActionEditor/constants/CommonApiConstants";
export const AppIDEFocusElements: FocusElementsConfigList = {
[FocusEntity.DATASOURCE_LIST]: [
@@ -155,16 +150,6 @@ export const AppIDEFocusElements: FocusElementsConfigList = {
},
},
},
- {
- type: FocusElementConfigType.Redux,
- name: FocusElement.PluginActionFormData,
- selector: getFormData,
- setter: setExtraFormData,
- defaultValue: {
- label: POST_BODY_FORMAT_OPTIONS.NONE,
- value: POST_BODY_FORMAT_OPTIONS.NONE,
- },
- },
{
type: FocusElementConfigType.Redux,
name: FocusElement.PluginActionDebugger,
diff --git a/app/client/src/ce/navigation/FocusSetters.ts b/app/client/src/ce/navigation/FocusSetters.ts
index 0fd6452385f5..85a26812644e 100644
--- a/app/client/src/ce/navigation/FocusSetters.ts
+++ b/app/client/src/ce/navigation/FocusSetters.ts
@@ -4,7 +4,7 @@ import {
datasourcesEditorIdURL,
jsCollectionIdURL,
} from "ee/RouteBuilder";
-import { PluginType } from "entities/Action";
+import { PluginType } from "entities/Plugin";
import type { FocusEntityInfo } from "navigation/FocusEntity";
import { FocusEntity } from "navigation/FocusEntity";
import { getQueryEntityItemUrl } from "../pages/Editor/IDE/EditorPane/Query/utils";
diff --git a/app/client/src/ce/pages/Applications/CreateNewAppsOption.tsx b/app/client/src/ce/pages/Applications/CreateNewAppsOption.tsx
index ca377143edef..465c87898aca 100644
--- a/app/client/src/ce/pages/Applications/CreateNewAppsOption.tsx
+++ b/app/client/src/ce/pages/Applications/CreateNewAppsOption.tsx
@@ -20,8 +20,7 @@ import AnalyticsUtil from "ee/utils/AnalyticsUtil";
import history from "utils/history";
import { builderURL } from "ee/RouteBuilder";
import { getDatasource, getPlugin } from "ee/selectors/entitiesSelector";
-import type { Plugin } from "api/PluginApi";
-import { PluginPackageName, PluginType } from "entities/Action";
+import { type Plugin, PluginPackageName, PluginType } from "entities/Plugin";
import DataSourceEditor from "pages/Editor/DataSourceEditor";
import { TEMP_DATASOURCE_ID } from "constants/Datasource";
import { fetchMockDatasources } from "actions/datasourceActions";
diff --git a/app/client/src/ce/pages/Editor/Explorer/helpers.tsx b/app/client/src/ce/pages/Editor/Explorer/helpers.tsx
index 9b77024ba777..45b665e0d59d 100644
--- a/app/client/src/ce/pages/Editor/Explorer/helpers.tsx
+++ b/app/client/src/ce/pages/Editor/Explorer/helpers.tsx
@@ -18,7 +18,7 @@ import {
} from "pages/Editor/SaaSEditor/constants";
import type { ActionData } from "ee/reducers/entityReducers/actionsReducer";
import type { JSCollectionData } from "ee/reducers/entityReducers/jsActionsReducer";
-import type { PluginType } from "entities/Action";
+import type { PluginType } from "entities/Plugin";
import localStorage from "utils/localStorage";
import { EDITOR_PATHS } from "ee/entities/IDE/utils";
import type { Match } from "path-to-regexp";
diff --git a/app/client/src/ce/pages/Editor/IDE/EditorPane/JS/utils.test.ts b/app/client/src/ce/pages/Editor/IDE/EditorPane/JS/utils.test.ts
index 58b1cb1bf4a0..d12cadbbf429 100644
--- a/app/client/src/ce/pages/Editor/IDE/EditorPane/JS/utils.test.ts
+++ b/app/client/src/ce/pages/Editor/IDE/EditorPane/JS/utils.test.ts
@@ -1,6 +1,6 @@
import { getJSEntityItemUrl, getJSUrl } from "./utils";
import urlBuilder from "ee/entities/URLRedirect/URLAssembly";
-import { PluginType } from "entities/Action";
+import { PluginType } from "entities/Plugin";
import type { FocusEntityInfo } from "navigation/FocusEntity";
import { FocusEntity } from "navigation/FocusEntity";
import { EditorState } from "ee/entities/IDE/constants";
diff --git a/app/client/src/ce/pages/Editor/IDE/EditorPane/Query/utils.test.ts b/app/client/src/ce/pages/Editor/IDE/EditorPane/Query/utils.test.ts
index 9285955c121a..f6e557398c62 100644
--- a/app/client/src/ce/pages/Editor/IDE/EditorPane/Query/utils.test.ts
+++ b/app/client/src/ce/pages/Editor/IDE/EditorPane/Query/utils.test.ts
@@ -2,7 +2,7 @@ import { getQueryEntityItemUrl, getQueryUrl } from "./utils";
import type { FocusEntityInfo } from "navigation/FocusEntity";
import { FocusEntity } from "navigation/FocusEntity";
import { EditorState } from "ee/entities/IDE/constants";
-import { PluginPackageName, PluginType } from "entities/Action";
+import { PluginPackageName, PluginType } from "entities/Plugin";
import urlBuilder from "ee/entities/URLRedirect/URLAssembly";
describe("getQueryEntityItemUrl", () => {
diff --git a/app/client/src/ce/sagas/DatasourcesSagas.ts b/app/client/src/ce/sagas/DatasourcesSagas.ts
index 182367f31b0b..5359981a55c8 100644
--- a/app/client/src/ce/sagas/DatasourcesSagas.ts
+++ b/app/client/src/ce/sagas/DatasourcesSagas.ts
@@ -118,11 +118,16 @@ import localStorage from "utils/localStorage";
import log from "loglevel";
import { APPSMITH_TOKEN_STORAGE_KEY } from "pages/Editor/SaaSEditor/constants";
import { checkAndGetPluginFormConfigsSaga } from "sagas/PluginSagas";
-import { type Action, PluginPackageName, PluginType } from "entities/Action";
+import { type Action } from "entities/Action";
import LOG_TYPE from "entities/AppsmithConsole/logtype";
import { isDynamicValue } from "utils/DynamicBindingUtils";
import { getQueryParams } from "utils/URLUtils";
-import type { GenerateCRUDEnabledPluginMap, Plugin } from "api/PluginApi";
+import {
+ type GenerateCRUDEnabledPluginMap,
+ type Plugin,
+ PluginPackageName,
+ PluginType,
+} from "entities/Plugin";
import { getIsGeneratePageInitiator } from "utils/GenerateCrudUtil";
import {
klonaLiteWithTelemetry,
diff --git a/app/client/src/ce/selectors/appIDESelectors.test.ts b/app/client/src/ce/selectors/appIDESelectors.test.ts
index c4d62d41cbe1..43425a1490b6 100644
--- a/app/client/src/ce/selectors/appIDESelectors.test.ts
+++ b/app/client/src/ce/selectors/appIDESelectors.test.ts
@@ -1,6 +1,6 @@
import type { EntityItem } from "ee/entities/IDE/constants";
import { groupAndSortEntitySegmentList } from "./appIDESelectors";
-import { PluginType } from "entities/Action";
+import { PluginType } from "entities/Plugin";
describe("groupAndSortEntitySegmentList", () => {
it("should group and sort entity segment list alphabetically", () => {
diff --git a/app/client/src/ce/selectors/entitiesSelector.ts b/app/client/src/ce/selectors/entitiesSelector.ts
index a512b77ed0de..d81657d5d4a0 100644
--- a/app/client/src/ce/selectors/entitiesSelector.ts
+++ b/app/client/src/ce/selectors/entitiesSelector.ts
@@ -15,11 +15,7 @@ import {
isEmbeddedRestDatasource,
} from "entities/Datasource";
import type { Action } from "entities/Action";
-import {
- isStoredDatasource,
- PluginPackageName,
- PluginType,
-} from "entities/Action";
+import { isStoredDatasource } from "entities/Action";
import { countBy, find, get, groupBy, keyBy, sortBy } from "lodash";
import ImageAlt from "assets/images/placeholder-image.svg";
import type { CanvasWidgetsReduxState } from "reducers/entityReducers/canvasWidgetsReducer";
@@ -32,11 +28,13 @@ import type {
JSCollectionData,
JSCollectionDataState,
} from "ee/reducers/entityReducers/jsActionsReducer";
-import type {
- DefaultPlugin,
- GenerateCRUDEnabledPluginMap,
- Plugin,
-} from "api/PluginApi";
+import {
+ type DefaultPlugin,
+ type GenerateCRUDEnabledPluginMap,
+ type Plugin,
+ PluginPackageName,
+ PluginType,
+} from "entities/Plugin";
import type { JSAction, JSCollection } from "entities/JSCollection";
import { APP_MODE } from "entities/App";
import type { ExplorerFileEntity } from "ee/pages/Editor/Explorer/helpers";
@@ -1670,7 +1668,7 @@ export const getQuerySegmentItems = createSelector(
}
return {
- icon: ActionUrlIcon(iconUrl),
+ icon: ActionUrlIcon(iconUrl, "16", "16"),
title: action.config.name,
key: action.config.baseId,
type: action.config.pluginType,
diff --git a/app/client/src/ce/utils/Environments/index.tsx b/app/client/src/ce/utils/Environments/index.tsx
index 7ac35bfd16e1..257be0b79746 100644
--- a/app/client/src/ce/utils/Environments/index.tsx
+++ b/app/client/src/ce/utils/Environments/index.tsx
@@ -1,4 +1,4 @@
-import { PluginType } from "entities/Action";
+import { PluginType } from "entities/Plugin";
import type { Datasource } from "entities/Datasource";
export const DB_NOT_SUPPORTED = [
diff --git a/app/client/src/ce/utils/actionExecutionUtils.test.ts b/app/client/src/ce/utils/actionExecutionUtils.test.ts
index fdf9d9368cfa..9306f586616f 100644
--- a/app/client/src/ce/utils/actionExecutionUtils.test.ts
+++ b/app/client/src/ce/utils/actionExecutionUtils.test.ts
@@ -1,6 +1,6 @@
import { getTestPayloadFromCollectionData } from "./actionExecutionUtils";
import type { JSCollectionData } from "ee/reducers/entityReducers/jsActionsReducer";
-import { PluginType } from "entities/Action";
+import { PluginType } from "entities/Plugin";
import configureStore from "redux-mock-store";
describe("getTestPayloadFromCollectionData", () => {
diff --git a/app/client/src/ce/utils/actionExecutionUtils.ts b/app/client/src/ce/utils/actionExecutionUtils.ts
index 675d31ded0ba..524ff167d052 100644
--- a/app/client/src/ce/utils/actionExecutionUtils.ts
+++ b/app/client/src/ce/utils/actionExecutionUtils.ts
@@ -6,7 +6,7 @@ import store from "store";
import { getAppMode } from "ee/selectors/applicationSelectors";
import { getDatasource } from "ee/selectors/entitiesSelector";
import { getCurrentEnvironmentDetails } from "ee/selectors/environmentSelectors";
-import type { Plugin } from "api/PluginApi";
+import type { Plugin } from "entities/Plugin";
import { get, isNil } from "lodash";
import type { JSCollectionData } from "ee/reducers/entityReducers/jsActionsReducer";
import { objectKeys } from "@appsmith/utils";
diff --git a/app/client/src/ce/utils/autocomplete/EntityDefinitions.test.ts b/app/client/src/ce/utils/autocomplete/EntityDefinitions.test.ts
index 2b0bbd6053b1..0b5e260e35ea 100644
--- a/app/client/src/ce/utils/autocomplete/EntityDefinitions.test.ts
+++ b/app/client/src/ce/utils/autocomplete/EntityDefinitions.test.ts
@@ -1,4 +1,4 @@
-import { PluginType } from "entities/Action";
+import { PluginType } from "entities/Plugin";
import type { JSCollectionData } from "ee/reducers/entityReducers/jsActionsReducer";
import { getPropsForJSActionEntity } from "ee/pages/Editor/Explorer/Entity/getEntityProperties";
import type { JSActionEntity } from "ee/entities/DataTree/types";
diff --git a/app/client/src/ce/utils/getEntityPayloadInfo.ts b/app/client/src/ce/utils/getEntityPayloadInfo.ts
index 7077d9646c71..74a07264d6b0 100644
--- a/app/client/src/ce/utils/getEntityPayloadInfo.ts
+++ b/app/client/src/ce/utils/getEntityPayloadInfo.ts
@@ -7,7 +7,7 @@ import {
type WidgetEntityConfig,
ENTITY_TYPE,
} from "ee/entities/DataTree/types";
-import type { PluginType } from "entities/Action";
+import type { PluginType } from "entities/Plugin";
export const getEntityPayloadInfo: Record<
string,
diff --git a/app/client/src/ce/workers/Evaluation/evaluationUtils.test.ts b/app/client/src/ce/workers/Evaluation/evaluationUtils.test.ts
index 1c09c47de913..bcd0bbbb9d79 100644
--- a/app/client/src/ce/workers/Evaluation/evaluationUtils.test.ts
+++ b/app/client/src/ce/workers/Evaluation/evaluationUtils.test.ts
@@ -45,7 +45,7 @@ import TableWidget from "widgets/TableWidget";
import InputWidget from "widgets/InputWidgetV2";
import DataTreeEvaluator from "workers/common/DataTreeEvaluator";
import { Severity } from "entities/AppsmithConsole";
-import { PluginType } from "entities/Action";
+import { PluginType } from "entities/Plugin";
import { registerWidgets } from "WidgetProvider/factory/registrationHelper";
// to check if logWarn was called.
diff --git a/app/client/src/ce/workers/Evaluation/evaluationUtils.ts b/app/client/src/ce/workers/Evaluation/evaluationUtils.ts
index 62d6f17531db..5363dc696246 100644
--- a/app/client/src/ce/workers/Evaluation/evaluationUtils.ts
+++ b/app/client/src/ce/workers/Evaluation/evaluationUtils.ts
@@ -16,7 +16,7 @@ import type {
import { ENTITY_TYPE } from "ee/entities/DataTree/types";
import _, { difference, get, has, isEmpty, isNil, set } from "lodash";
import type { WidgetTypeConfigMap } from "WidgetProvider/factory";
-import { PluginType } from "entities/Action";
+import { PluginType } from "entities/Plugin";
import { klona } from "klona/full";
import { warn as logWarn } from "loglevel";
import type { EvalMetaUpdates } from "ee/workers/common/DataTreeEvaluator/types";
diff --git a/app/client/src/components/editorComponents/ActionCreator/helpers.tsx b/app/client/src/components/editorComponents/ActionCreator/helpers.tsx
index 8648b6e9d3f5..b121ef4a5b70 100644
--- a/app/client/src/components/editorComponents/ActionCreator/helpers.tsx
+++ b/app/client/src/components/editorComponents/ActionCreator/helpers.tsx
@@ -14,7 +14,7 @@ import {
} from "ee/workers/Evaluation/evaluationUtils";
import type { TreeDropdownOption } from "@appsmith/ads-old";
import { Icon } from "@appsmith/ads";
-import { PluginType } from "entities/Action";
+import { type Plugin, PluginType } from "entities/Plugin";
import type { JSAction, Variable } from "entities/JSCollection";
import keyBy from "lodash/keyBy";
import { getActionConfig } from "pages/Editor/Explorer/Actions/helpers";
@@ -67,7 +67,6 @@ import type { ModuleInstanceDataState } from "ee/constants/ModuleInstanceConstan
import { getModuleIcon, getPluginImagesFromPlugins } from "pages/Editor/utils";
import { getAllModules } from "ee/selectors/modulesSelector";
import type { Module } from "ee/constants/ModuleConstants";
-import type { Plugin } from "api/PluginApi";
import {
createNewJSCollectionFromActionCreator,
createNewQueryFromActionCreator,
diff --git a/app/client/src/components/editorComponents/CodeEditor/PeekOverlayPopup/PeekOverlayPopup.tsx b/app/client/src/components/editorComponents/CodeEditor/PeekOverlayPopup/PeekOverlayPopup.tsx
index 80ba7bbf0079..c71f8d115e8a 100644
--- a/app/client/src/components/editorComponents/CodeEditor/PeekOverlayPopup/PeekOverlayPopup.tsx
+++ b/app/client/src/components/editorComponents/CodeEditor/PeekOverlayPopup/PeekOverlayPopup.tsx
@@ -157,7 +157,7 @@ export function PeekOverlayPopUpContent(
>
{(dataType === "object" || dataType === "array") && jsData !== null && (
e.stopPropagation()}
>
@@ -325,7 +325,7 @@ export function LogItem(props: LogItemProps) {
if (typeof logDatum === "object") {
return (
e.stopPropagation()}
>
@@ -334,7 +334,7 @@ export function LogItem(props: LogItemProps) {
);
} else {
return (
-
+
{`${logDatum} `}
);
diff --git a/app/client/src/components/editorComponents/Debugger/StateInspector/StateInspector.tsx b/app/client/src/components/editorComponents/Debugger/StateInspector/StateInspector.tsx
index 6ef98d4043eb..dc1b99d93a77 100644
--- a/app/client/src/components/editorComponents/Debugger/StateInspector/StateInspector.tsx
+++ b/app/client/src/components/editorComponents/Debugger/StateInspector/StateInspector.tsx
@@ -1,9 +1,8 @@
import React, { useState } from "react";
import ReactJson from "react-json-view";
import {
+ EntityGroupsList,
Flex,
- List,
- ListItem,
type ListItemProps,
SearchInput,
Text,
@@ -51,37 +50,23 @@ export const StateInspector = () => {
value={searchTerm}
/>
-
- {filteredItemGroups.map((item) => (
-
-
- {item.group}
-
-
- {item.items.map((eachItem) => (
-
- ))}
-
-
- ))}
-
+ {
+ return {
+ groupTitle: item.group,
+ items: item.items,
+ className: "",
+ };
+ })}
+ />
{selectedItem ? (
;
diff --git a/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/CommonControls/DatasourceDropdown/useSource/useConnectToOptions.tsx b/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/CommonControls/DatasourceDropdown/useSource/useConnectToOptions.tsx
index 8701bd31c7d9..909fe827dd03 100644
--- a/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/CommonControls/DatasourceDropdown/useSource/useConnectToOptions.tsx
+++ b/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/CommonControls/DatasourceDropdown/useSource/useConnectToOptions.tsx
@@ -14,7 +14,7 @@ import AnalyticsUtil from "ee/utils/AnalyticsUtil";
import type { DropdownOptionType } from "../../../types";
import type { WidgetProps } from "widgets/BaseWidget";
import { WidgetQueryGeneratorFormContext } from "components/editorComponents/WidgetQueryGeneratorForm";
-import { PluginPackageName } from "entities/Action";
+import { PluginPackageName } from "entities/Plugin";
import type {
ActionData,
ActionDataState,
diff --git a/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/CommonControls/DatasourceDropdown/useSource/useDatasourceOptions.tsx b/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/CommonControls/DatasourceDropdown/useSource/useDatasourceOptions.tsx
index cedf9653feba..9826e4de0e7c 100644
--- a/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/CommonControls/DatasourceDropdown/useSource/useDatasourceOptions.tsx
+++ b/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/CommonControls/DatasourceDropdown/useSource/useDatasourceOptions.tsx
@@ -12,7 +12,7 @@ import {
DatasourceConnectionMode,
type MockDatasource,
} from "entities/Datasource";
-import { PluginPackageName } from "entities/Action";
+import { PluginPackageName } from "entities/Plugin";
import {
addAndFetchMockDatasourceStructure,
fetchDatasourceStructure,
diff --git a/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/ConnectData/useConnectData.ts b/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/ConnectData/useConnectData.ts
index a366e6e03c6f..c9ba2ef60647 100644
--- a/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/ConnectData/useConnectData.ts
+++ b/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/ConnectData/useConnectData.ts
@@ -7,7 +7,7 @@ import AnalyticsUtil from "ee/utils/AnalyticsUtil";
import { isValidGsheetConfig } from "../utils";
import { useContext, useMemo } from "react";
import { WidgetQueryGeneratorFormContext } from "../index";
-import { PluginPackageName } from "../../../../entities/Action";
+import { PluginPackageName } from "entities/Plugin";
import { useFormConfig } from "../common/useFormConfig";
export function useConnectData() {
diff --git a/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/DatasourceSpecificControls/index.tsx b/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/DatasourceSpecificControls/index.tsx
index ce26440bdf5e..9e9556d696a2 100644
--- a/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/DatasourceSpecificControls/index.tsx
+++ b/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/DatasourceSpecificControls/index.tsx
@@ -1,5 +1,5 @@
import type { AppState } from "ee/reducers";
-import { PluginPackageName } from "entities/Action";
+import { PluginPackageName } from "entities/Plugin";
import React, { useContext } from "react";
import { useSelector } from "react-redux";
import { getPluginPackageFromDatasourceId } from "ee/selectors/entitiesSelector";
diff --git a/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/WidgetSpecificControls/ColumnDropdown/useColumnDropdown.tsx b/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/WidgetSpecificControls/ColumnDropdown/useColumnDropdown.tsx
index 40bbe2b8efa9..de5991fcd5ef 100644
--- a/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/WidgetSpecificControls/ColumnDropdown/useColumnDropdown.tsx
+++ b/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/WidgetSpecificControls/ColumnDropdown/useColumnDropdown.tsx
@@ -1,5 +1,5 @@
import React, { useCallback, useMemo } from "react";
-import { PluginPackageName } from "entities/Action";
+import { PluginPackageName } from "entities/Plugin";
import { get, isArray } from "lodash";
import { ALLOWED_SEARCH_DATATYPE } from "pages/Editor/GeneratePage/components/constants";
import AnalyticsUtil from "ee/utils/AnalyticsUtil";
diff --git a/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/WidgetSpecificControls/ColumnDropdown/useColumns.tsx b/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/WidgetSpecificControls/ColumnDropdown/useColumns.tsx
index 615b9b7b6a09..7202646f3bdc 100644
--- a/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/WidgetSpecificControls/ColumnDropdown/useColumns.tsx
+++ b/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/WidgetSpecificControls/ColumnDropdown/useColumns.tsx
@@ -1,5 +1,5 @@
import type { AppState } from "ee/reducers";
-import { PluginPackageName } from "entities/Action";
+import { PluginPackageName } from "entities/Plugin";
import { isArray } from "lodash";
import { useContext, useMemo } from "react";
import { useSelector } from "react-redux";
diff --git a/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/constants.ts b/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/constants.ts
index 79c83f5c3d17..867a9b5c0af3 100644
--- a/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/constants.ts
+++ b/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/constants.ts
@@ -1,4 +1,4 @@
-import { PluginPackageName } from "entities/Action";
+import { PluginPackageName } from "entities/Plugin";
export const DROPDOWN_TRIGGER_DIMENSION = {
HEIGHT: "36px",
diff --git a/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/utils.test.ts b/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/utils.test.ts
index 135c90005d6a..61a2fcfcbf61 100644
--- a/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/utils.test.ts
+++ b/app/client/src/components/editorComponents/WidgetQueryGeneratorForm/utils.test.ts
@@ -1,7 +1,7 @@
import WidgetQueryGeneratorRegistry from "utils/WidgetQueryGeneratorRegistry";
import { getDatasourceConnectionMode } from "./utils";
import type { DatasourceStorage } from "entities/Datasource";
-import { PluginPackageName } from "entities/Action";
+import { PluginPackageName } from "entities/Plugin";
import PostgreSQL from "WidgetQueryGenerators/PostgreSQL";
import GSheets from "WidgetQueryGenerators/GSheets";
diff --git a/app/client/src/components/editorComponents/form/fields/DropdownFieldWrapper.tsx b/app/client/src/components/editorComponents/form/fields/DropdownFieldWrapper.tsx
index 7dc1ea75e4a0..4bab6e5d980f 100644
--- a/app/client/src/components/editorComponents/form/fields/DropdownFieldWrapper.tsx
+++ b/app/client/src/components/editorComponents/form/fields/DropdownFieldWrapper.tsx
@@ -40,7 +40,7 @@ function DropdownFieldWrapper(props: DropdownFieldWrapperProps) {
>
{props.options.map((option: SelectOptionProps) => {
return (
-
);
diff --git a/app/client/src/components/editorComponents/form/fields/DropdownWrapper.tsx b/app/client/src/components/editorComponents/form/fields/DropdownWrapper.tsx
index 6c23cca3a500..b728ad86e495 100644
--- a/app/client/src/components/editorComponents/form/fields/DropdownWrapper.tsx
+++ b/app/client/src/components/editorComponents/form/fields/DropdownWrapper.tsx
@@ -24,6 +24,7 @@ interface DropdownWrapperProps {
disabled?: boolean;
dropdownMaxHeight?: string;
enableSearch?: boolean;
+ testId?: string;
}
function DropdownWrapper(props: DropdownWrapperProps) {
@@ -79,6 +80,7 @@ function DropdownWrapper(props: DropdownWrapperProps) {
return (
) : (
<>
diff --git a/app/client/src/git/components/QuickActions/index.tsx b/app/client/src/git/components/QuickActions/index.tsx
index 9224823d8016..5ec638e8aa8d 100644
--- a/app/client/src/git/components/QuickActions/index.tsx
+++ b/app/client/src/git/components/QuickActions/index.tsx
@@ -12,6 +12,7 @@ import useOps from "git/hooks/useOps";
import useBranches from "git/hooks/useBranches";
import useConnected from "git/hooks/useConnected";
import useProtectedMode from "git/hooks/useProtectedMode";
+import useInit from "git/hooks/useInit";
function QuickActions() {
const isConnected = useConnected();
@@ -29,6 +30,7 @@ function QuickActions() {
const { toggleSettingsModal } = useSettings();
const { toggleConnectModal } = useConnect();
const { currentBranch, isBranchPopupOpen, toggleBranchPopup } = useBranches();
+ const { isInitialized } = useInit();
const isPullFailing = !!pullError;
const isStatusClean = status?.isClean ?? true;
@@ -46,6 +48,7 @@ function QuickActions() {
isConnected={isConnected}
isDiscardLoading={isDiscardLoading}
isFetchStatusLoading={isFetchStatusLoading}
+ isInitialized={isInitialized}
isProtectedMode={isProtectedMode}
isPullFailing={isPullFailing}
isPullLoading={isPullLoading}
diff --git a/app/client/src/git/hooks/useInit.ts b/app/client/src/git/hooks/useInit.ts
new file mode 100644
index 000000000000..fd0c802035ca
--- /dev/null
+++ b/app/client/src/git/hooks/useInit.ts
@@ -0,0 +1,16 @@
+import {
+ selectInitialized,
+ selectInitializing,
+} from "git/store/selectors/gitArtifactSelectors";
+import useArtifactSelector from "./useArtifactSelector";
+
+export default function useInit() {
+ const initializing = useArtifactSelector(selectInitializing);
+
+ const initialized = useArtifactSelector(selectInitialized);
+
+ return {
+ isInitializing: initializing ?? false,
+ isInitialized: initialized ?? false,
+ };
+}
diff --git a/app/client/src/git/sagas/initGitSaga.ts b/app/client/src/git/sagas/initGitSaga.ts
index cf1a823f8ce8..3a8aebba5b30 100644
--- a/app/client/src/git/sagas/initGitSaga.ts
+++ b/app/client/src/git/sagas/initGitSaga.ts
@@ -35,4 +35,6 @@ export default function* initGitForEditorSaga(
);
}
}
+
+ yield put(gitArtifactActions.initGitForEditorSuccess({ artifactDef }));
}
diff --git a/app/client/src/git/store/actions/initGitActions.ts b/app/client/src/git/store/actions/initGitActions.ts
index ebe588555a24..e7bcdfeeb0ab 100644
--- a/app/client/src/git/store/actions/initGitActions.ts
+++ b/app/client/src/git/store/actions/initGitActions.ts
@@ -7,5 +7,19 @@ export interface InitGitForEditorPayload {
export const initGitForEditorAction =
createArtifactAction
((state) => {
- return state;
+ // need to do this to avoid mutation, bug with redux-toolkit immer
+ const ui = {
+ ...state.ui,
+ initializing: true,
+ initialized: false,
+ };
+
+ return { ...state, ui };
});
+
+export const initGitForEditorSuccessAction = createArtifactAction((state) => {
+ state.ui.initializing = false;
+ state.ui.initialized = true;
+
+ return state;
+});
diff --git a/app/client/src/git/store/gitArtifactSlice.ts b/app/client/src/git/store/gitArtifactSlice.ts
index bcb70f89aa60..7109bcfbfee8 100644
--- a/app/client/src/git/store/gitArtifactSlice.ts
+++ b/app/client/src/git/store/gitArtifactSlice.ts
@@ -108,7 +108,10 @@ import {
updateProtectedBranchesInitAction,
updateProtectedBranchesSuccessAction,
} from "./actions/updateProtectedBranchesActions";
-import { initGitForEditorAction } from "./actions/initGitActions";
+import {
+ initGitForEditorAction,
+ initGitForEditorSuccessAction,
+} from "./actions/initGitActions";
import {
fetchAutocommitProgressErrorAction,
fetchAutocommitProgressInitAction,
@@ -142,6 +145,7 @@ export const gitArtifactSlice = createSlice({
reducers: {
// init
initGitForEditor: initGitForEditorAction,
+ initGitForEditorSuccess: initGitForEditorSuccessAction,
mount: mountAction,
unmount: unmountAction,
fetchMetadataInit: fetchMetadataInitAction,
diff --git a/app/client/src/git/store/helpers/initialState.ts b/app/client/src/git/store/helpers/initialState.ts
index 18b6e58ca826..f2927621539d 100644
--- a/app/client/src/git/store/helpers/initialState.ts
+++ b/app/client/src/git/store/helpers/initialState.ts
@@ -11,6 +11,8 @@ import type {
} from "../types";
const gitArtifactInitialUIState: GitArtifactUIReduxState = {
+ initializing: false,
+ initialized: false,
connectModalOpen: false,
connectSuccessModalOpen: false,
disconnectBaseArtifactId: null,
diff --git a/app/client/src/git/store/selectors/gitArtifactSelectors.ts b/app/client/src/git/store/selectors/gitArtifactSelectors.ts
index 4f5346559367..7b3145908998 100644
--- a/app/client/src/git/store/selectors/gitArtifactSelectors.ts
+++ b/app/client/src/git/store/selectors/gitArtifactSelectors.ts
@@ -9,6 +9,17 @@ export const selectGitArtifact = (
];
};
+// init
+export const selectInitializing = (
+ state: GitRootState,
+ artifactDef: GitArtifactDef,
+) => selectGitArtifact(state, artifactDef)?.ui?.initializing ?? false;
+
+export const selectInitialized = (
+ state: GitRootState,
+ artifactDef: GitArtifactDef,
+) => selectGitArtifact(state, artifactDef)?.ui?.initialized ?? false;
+
// metadata
export const selectMetadataState = (
state: GitRootState,
diff --git a/app/client/src/git/store/types.ts b/app/client/src/git/store/types.ts
index c23f4d431af1..bcf59c07599f 100644
--- a/app/client/src/git/store/types.ts
+++ b/app/client/src/git/store/types.ts
@@ -63,6 +63,8 @@ export interface GitArtifactAPIResponsesReduxState
export interface GitArtifactUIReduxState
extends GitArtifactUIReduxStateExtended {
+ initializing: boolean;
+ initialized: boolean;
connectModalOpen: boolean;
connectSuccessModalOpen: boolean;
disconnectBaseArtifactId: string | null;
diff --git a/app/client/src/navigation/FocusElements.ts b/app/client/src/navigation/FocusElements.ts
index 201db4064ed3..782c82595acd 100644
--- a/app/client/src/navigation/FocusElements.ts
+++ b/app/client/src/navigation/FocusElements.ts
@@ -3,7 +3,6 @@ import type { AppState } from "ee/reducers";
export enum FocusElement {
PluginActionConfigTabs = "PluginActionConfigTabs",
- PluginActionFormData = "PluginActionFormData",
CodeEditorHistory = "CodeEditorHistory",
EntityCollapsibleState = "EntityCollapsibleState",
EntityExplorerWidth = "EntityExplorerWidth",
diff --git a/app/client/src/pages/AppViewer/AppPage/AppPage.tsx b/app/client/src/pages/AppViewer/AppPage/AppPage.tsx
index 5f9d27d7dc39..36d615618d3f 100644
--- a/app/client/src/pages/AppViewer/AppPage/AppPage.tsx
+++ b/app/client/src/pages/AppViewer/AppPage/AppPage.tsx
@@ -54,7 +54,7 @@ export function AppPage(props: AppPageProps) {
sidebarWidth={sidebarWidth}
>
diff --git a/app/client/src/pages/Editor/APIEditor/Editor.tsx b/app/client/src/pages/Editor/APIEditor/Editor.tsx
index 1e6fab13010d..01502aa54855 100644
--- a/app/client/src/pages/Editor/APIEditor/Editor.tsx
+++ b/app/client/src/pages/Editor/APIEditor/Editor.tsx
@@ -14,9 +14,8 @@ import {
getCurrentApplicationId,
getCurrentPageName,
} from "selectors/editorSelectors";
-import type { Plugin } from "api/PluginApi";
+import { type Plugin, PluginPackageName } from "entities/Plugin";
import type { Action, PaginationType } from "entities/Action";
-import { PluginPackageName } from "entities/Action";
import Spinner from "components/editorComponents/Spinner";
import type { CSSProperties } from "styled-components";
import styled from "styled-components";
diff --git a/app/client/src/pages/Editor/Canvas.tsx b/app/client/src/pages/Editor/Canvas.tsx
index c34f2fc358c8..b0d1140e50e1 100644
--- a/app/client/src/pages/Editor/Canvas.tsx
+++ b/app/client/src/pages/Editor/Canvas.tsx
@@ -92,7 +92,7 @@ const Canvas = (props: CanvasProps) => {
;
+export function ActionUrlIcon(url: string, height?: string, width?: string) {
+ return
;
}
export function DefaultModuleIcon() {
diff --git a/app/client/src/pages/Editor/GeneratePage/components/GeneratePageForm/GeneratePageForm.tsx b/app/client/src/pages/Editor/GeneratePage/components/GeneratePageForm/GeneratePageForm.tsx
index ef53e385e747..07a809a1d96b 100644
--- a/app/client/src/pages/Editor/GeneratePage/components/GeneratePageForm/GeneratePageForm.tsx
+++ b/app/client/src/pages/Editor/GeneratePage/components/GeneratePageForm/GeneratePageForm.tsx
@@ -33,7 +33,6 @@ import {
createMessage,
GEN_CRUD_DATASOURCE_DROPDOWN_LABEL,
} from "ee/constants/messages";
-import type { GenerateCRUDEnabledPluginMap } from "api/PluginApi";
import {
useDatasourceOptions,
useSheetsList,
@@ -62,7 +61,10 @@ import {
} from "selectors/editorSelectors";
import { datasourcesEditorIdURL, integrationEditorURL } from "ee/RouteBuilder";
-import { PluginPackageName } from "entities/Action";
+import {
+ type GenerateCRUDEnabledPluginMap,
+ PluginPackageName,
+} from "entities/Plugin";
import { getCurrentAppWorkspace } from "ee/selectors/selectedWorkspaceSelectors";
import { getPluginImages } from "ee/selectors/entitiesSelector";
import { getAssetUrl } from "ee/utils/airgapHelpers";
diff --git a/app/client/src/pages/Editor/GeneratePage/components/GeneratePageForm/hooks.ts b/app/client/src/pages/Editor/GeneratePage/components/GeneratePageForm/hooks.ts
index 7ed2d1460bc6..1415612b0725 100644
--- a/app/client/src/pages/Editor/GeneratePage/components/GeneratePageForm/hooks.ts
+++ b/app/client/src/pages/Editor/GeneratePage/components/GeneratePageForm/hooks.ts
@@ -1,13 +1,15 @@
import { useEffect, useState, useCallback } from "react";
import type { DropdownOptions } from "../constants";
import type { Datasource } from "entities/Datasource";
-import type { GenerateCRUDEnabledPluginMap } from "api/PluginApi";
import { CONNECT_NEW_DATASOURCE_OPTION_ID } from "../DataSourceOption";
import type { executeDatasourceQuerySuccessPayload } from "actions/datasourceActions";
import { executeDatasourceQuery } from "actions/datasourceActions";
import type { DropdownOption } from "@appsmith/ads-old";
import { useDispatch, useSelector } from "react-redux";
-import { PluginPackageName } from "entities/Action";
+import {
+ type GenerateCRUDEnabledPluginMap,
+ PluginPackageName,
+} from "entities/Plugin";
import { getCurrentEnvironmentId } from "ee/selectors/environmentSelectors";
import AnalyticsUtil from "ee/utils/AnalyticsUtil";
diff --git a/app/client/src/pages/Editor/GeneratePage/components/constants.ts b/app/client/src/pages/Editor/GeneratePage/components/constants.ts
index 94092f4d71f1..86b448cbcfa3 100644
--- a/app/client/src/pages/Editor/GeneratePage/components/constants.ts
+++ b/app/client/src/pages/Editor/GeneratePage/components/constants.ts
@@ -1,6 +1,6 @@
import type { DropdownOption } from "@appsmith/ads-old";
import type { DatasourceTable } from "entities/Datasource";
-import { PluginPackageName } from "entities/Action";
+import { PluginPackageName } from "entities/Plugin";
export type DropdownOptions = Array;
diff --git a/app/client/src/pages/Editor/IDE/EditorPane/JS/Add.tsx b/app/client/src/pages/Editor/IDE/EditorPane/JS/Add.tsx
index ccfb10b9c7af..a15f59e6af92 100644
--- a/app/client/src/pages/Editor/IDE/EditorPane/JS/Add.tsx
+++ b/app/client/src/pages/Editor/IDE/EditorPane/JS/Add.tsx
@@ -21,6 +21,7 @@ import { getIDEViewMode } from "selectors/ideSelectors";
import type { FlexProps } from "@appsmith/ads";
import { EditorViewMode } from "ee/entities/IDE/constants";
import { filterEntityGroupsBySearchTerm } from "IDE/utils";
+import { DEFAULT_GROUP_LIST_SIZE } from "../../constants";
const AddJS = () => {
const dispatch = useDispatch();
@@ -98,7 +99,14 @@ const AddJS = () => {
/>
{filteredItemGroups.length > 0 ? (
-
+
) : null}
{filteredItemGroups.length === 0 && searchTerm !== "" ? (
{
const [searchTerm, setSearchTerm] = useState("");
@@ -59,7 +60,14 @@ const AddQuery = () => {
/>
{filteredItemGroups.length > 0 ? (
-
+
) : null}
{filteredItemGroups.length === 0 && searchTerm !== "" ? (
{
icon={"datasource-v3"}
/>
) : null}
-
- {Object.entries(groupedDatasources).map(([key, value]) => (
-
-
-
- {key}
-
-
-
- {value.map((data) => (
- goToDatasource(data.id)}
- startIcon={
-
- }
- title={data.name}
- />
- ))}
-
-
- ))}
-
+ {
+ return {
+ groupTitle: key,
+ items: value.map((data) => {
+ return {
+ id: data.id,
+ title: data.name,
+ startIcon: (
+
+ ),
+ description: get(dsUsageMap, data.id, ""),
+ descriptionType: "block",
+ className: "t--datasource",
+ isSelected: currentSelectedDatasource === data.id,
+ onClick: () => goToDatasource(data.id),
+ };
+ }),
+ className: "",
+ };
+ })}
+ />
);
diff --git a/app/client/src/pages/Editor/IDE/RightPane/components/CreateNewQueryModal.tsx b/app/client/src/pages/Editor/IDE/RightPane/components/CreateNewQueryModal.tsx
index 78d09fdaa007..c197ab609c79 100644
--- a/app/client/src/pages/Editor/IDE/RightPane/components/CreateNewQueryModal.tsx
+++ b/app/client/src/pages/Editor/IDE/RightPane/components/CreateNewQueryModal.tsx
@@ -12,6 +12,7 @@ import { CREATE_A_NEW_ITEM, createMessage } from "ee/constants/messages";
import { useGroupedAddQueryOperations } from "ee/pages/Editor/IDE/EditorPane/Query/hooks";
import { getShowCreateNewModal } from "selectors/ideSelectors";
import { setShowQueryCreateNewModal } from "actions/ideActions";
+import { DEFAULT_GROUP_LIST_SIZE } from "../../constants";
const CreateNewQueryModal: React.FC = () => {
const dispatch = useDispatch();
@@ -36,7 +37,11 @@ const CreateNewQueryModal: React.FC = () => {
{createMessage(CREATE_A_NEW_ITEM, "query")}
-
+
diff --git a/app/client/src/pages/Editor/IDE/Sidebar.tsx b/app/client/src/pages/Editor/IDE/Sidebar.tsx
index c7d1fd4820c1..8e8fb55a03f0 100644
--- a/app/client/src/pages/Editor/IDE/Sidebar.tsx
+++ b/app/client/src/pages/Editor/IDE/Sidebar.tsx
@@ -6,7 +6,7 @@ import history, { NavigationMethod } from "utils/history";
import { useCurrentAppState } from "./hooks/useCurrentAppState";
import { getCurrentWorkspaceId } from "ee/selectors/selectedWorkspaceSelectors";
import { fetchWorkspace } from "ee/actions/workspaceActions";
-import { IDESidebar, Condition } from "IDE";
+import { IDESidebar, Condition } from "@appsmith/ads";
import {
BottomButtons,
EditorState,
diff --git a/app/client/src/pages/Editor/IDE/constants.ts b/app/client/src/pages/Editor/IDE/constants.ts
new file mode 100644
index 000000000000..3f7096e37f7b
--- /dev/null
+++ b/app/client/src/pages/Editor/IDE/constants.ts
@@ -0,0 +1 @@
+export const DEFAULT_GROUP_LIST_SIZE = 5;
diff --git a/app/client/src/pages/Editor/IntegrationEditor/AIPlugins.tsx b/app/client/src/pages/Editor/IntegrationEditor/AIPlugins.tsx
index 4df348e1a824..d7ca8b3c79b8 100644
--- a/app/client/src/pages/Editor/IntegrationEditor/AIPlugins.tsx
+++ b/app/client/src/pages/Editor/IntegrationEditor/AIPlugins.tsx
@@ -2,9 +2,8 @@ import React from "react";
import { connect } from "react-redux";
import { createTempDatasourceFromForm } from "actions/datasourceActions";
import type { AppState } from "ee/reducers";
-import type { Plugin } from "api/PluginApi";
import AnalyticsUtil from "ee/utils/AnalyticsUtil";
-import { PluginType } from "entities/Action";
+import { type Plugin, PluginType } from "entities/Plugin";
import { getAssetUrl, isAirgapped } from "ee/utils/airgapHelpers";
import {
DatasourceContainer,
diff --git a/app/client/src/pages/Editor/IntegrationEditor/APIOrSaasPlugins.tsx b/app/client/src/pages/Editor/IntegrationEditor/APIOrSaasPlugins.tsx
index 4866e929cbe4..29a51efe6070 100644
--- a/app/client/src/pages/Editor/IntegrationEditor/APIOrSaasPlugins.tsx
+++ b/app/client/src/pages/Editor/IntegrationEditor/APIOrSaasPlugins.tsx
@@ -5,9 +5,13 @@ import {
createTempDatasourceFromForm,
} from "actions/datasourceActions";
import type { AppState } from "ee/reducers";
-import type { GenerateCRUDEnabledPluginMap, Plugin } from "api/PluginApi";
import AnalyticsUtil from "ee/utils/AnalyticsUtil";
-import { PluginPackageName, PluginType } from "entities/Action";
+import {
+ type GenerateCRUDEnabledPluginMap,
+ type Plugin,
+ PluginPackageName,
+ PluginType,
+} from "entities/Plugin";
import { getQueryParams } from "utils/URLUtils";
import {
getGenerateCRUDEnabledPluginMap,
diff --git a/app/client/src/pages/Editor/IntegrationEditor/DBOrMostPopularPlugins.tsx b/app/client/src/pages/Editor/IntegrationEditor/DBOrMostPopularPlugins.tsx
index 52584763d25f..042c1ce28137 100644
--- a/app/client/src/pages/Editor/IntegrationEditor/DBOrMostPopularPlugins.tsx
+++ b/app/client/src/pages/Editor/IntegrationEditor/DBOrMostPopularPlugins.tsx
@@ -6,7 +6,6 @@ import {
getPluginImages,
getMostPopularPlugins,
} from "ee/selectors/entitiesSelector";
-import type { Plugin } from "api/PluginApi";
import { DATASOURCE_DB_FORM } from "ee/constants/forms";
import {
createDatasourceFromForm,
@@ -18,11 +17,9 @@ import { getCurrentApplication } from "ee/selectors/applicationSelectors";
import type { ApplicationPayload } from "entities/Application";
import { getQueryParams } from "utils/URLUtils";
import { getGenerateCRUDEnabledPluginMap } from "ee/selectors/entitiesSelector";
-import type { GenerateCRUDEnabledPluginMap } from "api/PluginApi";
import { getIsGeneratePageInitiator } from "utils/GenerateCrudUtil";
import { getAssetUrl, isAirgapped } from "ee/utils/airgapHelpers";
import { API_ACTION } from "./APIOrSaasPlugins";
-import { PluginPackageName, PluginType } from "entities/Action";
import { Spinner } from "@appsmith/ads";
import {
createMessage,
@@ -48,6 +45,12 @@ import { pluginSearchSelector } from "./CreateNewDatasourceHeader";
import type { CreateDatasourceConfig } from "api/DatasourcesApi";
import type { Datasource } from "entities/Datasource";
import type { AnyAction, Dispatch } from "redux";
+import {
+ type GenerateCRUDEnabledPluginMap,
+ type Plugin,
+ PluginPackageName,
+ PluginType,
+} from "entities/Plugin";
// This function remove the given key from queryParams and return string
const removeQueryParams = (paramKeysToRemove: Array) => {
diff --git a/app/client/src/pages/Editor/IntegrationEditor/DatasourceCard.tsx b/app/client/src/pages/Editor/IntegrationEditor/DatasourceCard.tsx
index 583704198421..3c35e2d37d79 100644
--- a/app/client/src/pages/Editor/IntegrationEditor/DatasourceCard.tsx
+++ b/app/client/src/pages/Editor/IntegrationEditor/DatasourceCard.tsx
@@ -1,5 +1,5 @@
import type { Datasource } from "entities/Datasource";
-import { isStoredDatasource, PluginType } from "entities/Action";
+import { isStoredDatasource } from "entities/Action";
import React, { memo, useCallback, useEffect, useState } from "react";
import { debounce, isEmpty } from "lodash";
import { useDispatch, useSelector } from "react-redux";
@@ -16,7 +16,11 @@ import { getQueryParams } from "utils/URLUtils";
import { Button, MenuContent, MenuItem, MenuTrigger } from "@appsmith/ads";
import { deleteDatasource } from "actions/datasourceActions";
import { getGenerateCRUDEnabledPluginMap } from "ee/selectors/entitiesSelector";
-import type { GenerateCRUDEnabledPluginMap, Plugin } from "api/PluginApi";
+import {
+ type GenerateCRUDEnabledPluginMap,
+ type Plugin,
+ PluginType,
+} from "entities/Plugin";
import AnalyticsUtil from "ee/utils/AnalyticsUtil";
import NewActionButton from "../DataSourceEditor/NewActionButton";
import {
diff --git a/app/client/src/pages/Editor/IntegrationEditor/PremiumDatasources/ContactForm.tsx b/app/client/src/pages/Editor/IntegrationEditor/PremiumDatasources/ContactForm.tsx
index 4989bb154107..881bd7b7d86b 100644
--- a/app/client/src/pages/Editor/IntegrationEditor/PremiumDatasources/ContactForm.tsx
+++ b/app/client/src/pages/Editor/IntegrationEditor/PremiumDatasources/ContactForm.tsx
@@ -84,6 +84,7 @@ const PremiumDatasourceContactForm = (
{getContactFormModalDescription(
props.email || "",
+ props.integrationName,
!isFreePlanInstance,
)}
diff --git a/app/client/src/pages/Editor/IntegrationEditor/PremiumDatasources/Helpers.ts b/app/client/src/pages/Editor/IntegrationEditor/PremiumDatasources/Helpers.ts
index d4938be71b8c..e78aa01214a8 100644
--- a/app/client/src/pages/Editor/IntegrationEditor/PremiumDatasources/Helpers.ts
+++ b/app/client/src/pages/Editor/IntegrationEditor/PremiumDatasources/Helpers.ts
@@ -74,11 +74,12 @@ export const getContactFormModalTitle = (
integrationName: string,
isBusinessOrEnterprise?: boolean,
) => {
- return `${isBusinessOrEnterprise ? "Integration to " : ""}${integrationName} ${isBusinessOrEnterprise ? `- ${createMessage(PREMIUM_DATASOURCES.COMING_SOON_SUFFIX)}` : ""}`;
+ return `${integrationName} ${isBusinessOrEnterprise ? `${createMessage(PREMIUM_DATASOURCES.COMING_SOON_SUFFIX)}` : ""}`;
};
export const getContactFormModalDescription = (
email: string,
+ integrationName: string,
isBusinessOrEnterprise?: boolean,
) => {
const validRelevantEmail = isRelevantEmail(email);
@@ -86,8 +87,14 @@ export const getContactFormModalDescription = (
return isBusinessOrEnterprise
? createMessage(PREMIUM_DATASOURCES.COMING_SOON_DESCRIPTION)
: validRelevantEmail
- ? createMessage(PREMIUM_DATASOURCES.RELEVANT_EMAIL_DESCRIPTION)
- : createMessage(PREMIUM_DATASOURCES.NON_RELEVANT_EMAIL_DESCRIPTION);
+ ? createMessage(
+ PREMIUM_DATASOURCES.RELEVANT_EMAIL_DESCRIPTION,
+ integrationName,
+ )
+ : createMessage(
+ PREMIUM_DATASOURCES.NON_RELEVANT_EMAIL_DESCRIPTION,
+ integrationName,
+ );
};
export const shouldLearnMoreButtonBeVisible = (
diff --git a/app/client/src/pages/Editor/IntegrationEditor/RequestNewIntegration/form.tsx b/app/client/src/pages/Editor/IntegrationEditor/RequestNewIntegration/form.tsx
index 13e144775cd3..8d1dfc0b9191 100644
--- a/app/client/src/pages/Editor/IntegrationEditor/RequestNewIntegration/form.tsx
+++ b/app/client/src/pages/Editor/IntegrationEditor/RequestNewIntegration/form.tsx
@@ -1,4 +1,4 @@
-import { Button, Flex, toast } from "@appsmith/ads";
+import { Button, ModalFooter, toast } from "@appsmith/ads";
import { Close } from "@radix-ui/react-dialog";
import { createMessage, REQUEST_NEW_INTEGRATIONS } from "ee/constants/messages";
import type { AppState } from "ee/reducers";
@@ -21,7 +21,7 @@ import AnalyticsUtil from "ee/utils/AnalyticsUtil";
const FormWrapper = styled.form`
display: flex;
flex-direction: column;
- gap: var(--ads-spaces-7);
+ gap: var(--ads-spaces-5);
`;
const RequestIntegrationForm = (props: RequestIntegrationFormProps) => {
@@ -75,7 +75,7 @@ const RequestIntegrationForm = (props: RequestIntegrationFormProps) => {
size="md"
type="email"
/>
-
+
+
);
};
diff --git a/app/client/src/pages/Editor/IntegrationEditor/mockData/index.ts b/app/client/src/pages/Editor/IntegrationEditor/mockData/index.ts
index edfcdfbfa1dc..d5a3b2c2a5fd 100644
--- a/app/client/src/pages/Editor/IntegrationEditor/mockData/index.ts
+++ b/app/client/src/pages/Editor/IntegrationEditor/mockData/index.ts
@@ -1,7 +1,7 @@
import { getDefaultEnvId } from "ee/api/ApiUtils";
import { getAssetUrl } from "ee/utils/airgapHelpers";
import { ASSETS_CDN_URL } from "constants/ThirdPartyConstants";
-import { PluginPackageName } from "entities/Action";
+import { PluginPackageName } from "entities/Plugin";
export const mockPlugins = [
{
diff --git a/app/client/src/pages/Editor/QueryEditor/DatasourceSelector.tsx b/app/client/src/pages/Editor/QueryEditor/DatasourceSelector.tsx
index 2ec14a0149f5..d0164bc3cd54 100644
--- a/app/client/src/pages/Editor/QueryEditor/DatasourceSelector.tsx
+++ b/app/client/src/pages/Editor/QueryEditor/DatasourceSelector.tsx
@@ -14,7 +14,7 @@ import type { Action } from "entities/Action";
import { doesPluginRequireDatasource } from "ee/entities/Engine/actionHelpers";
import { getPluginImages } from "ee/selectors/entitiesSelector";
import type { Datasource } from "entities/Datasource";
-import type { Plugin } from "api/PluginApi";
+import type { Plugin } from "entities/Plugin";
import type { AppState } from "ee/reducers";
import { getCurrentAppWorkspace } from "ee/selectors/selectedWorkspaceSelectors";
diff --git a/app/client/src/pages/Editor/QueryEditor/Editor.tsx b/app/client/src/pages/Editor/QueryEditor/Editor.tsx
index abb9038a2cdb..7057c92a470d 100644
--- a/app/client/src/pages/Editor/QueryEditor/Editor.tsx
+++ b/app/client/src/pages/Editor/QueryEditor/Editor.tsx
@@ -15,8 +15,7 @@ import {
import type { AppState } from "ee/reducers";
import { getCurrentApplicationId } from "selectors/editorSelectors";
import { QUERY_EDITOR_FORM_NAME } from "ee/constants/forms";
-import type { Plugin } from "api/PluginApi";
-import { UIComponentTypes } from "api/PluginApi";
+import { type Plugin, UIComponentTypes } from "entities/Plugin";
import type { Datasource } from "entities/Datasource";
import {
getPluginIdsOfPackageNames,
diff --git a/app/client/src/pages/Editor/QueryEditor/EditorJSONtoForm.tsx b/app/client/src/pages/Editor/QueryEditor/EditorJSONtoForm.tsx
index d82a9640211c..aa9b0a16851a 100644
--- a/app/client/src/pages/Editor/QueryEditor/EditorJSONtoForm.tsx
+++ b/app/client/src/pages/Editor/QueryEditor/EditorJSONtoForm.tsx
@@ -18,8 +18,7 @@ import { useParams } from "react-router";
import type { AppState } from "ee/reducers";
import { thinScrollbar } from "constants/DefaultTheme";
import type { ActionResponse } from "api/ActionAPI";
-import type { Plugin } from "api/PluginApi";
-import type { UIComponentTypes } from "api/PluginApi";
+import type { Plugin, UIComponentTypes } from "entities/Plugin";
import { EDITOR_TABS, SQL_DATASOURCES } from "constants/QueryEditorConstants";
import type { FormEvalOutput } from "reducers/evaluationReducers/formEvaluationReducer";
import {
diff --git a/app/client/src/pages/Editor/QueryEditor/QueryDebuggerTabs.tsx b/app/client/src/pages/Editor/QueryEditor/QueryDebuggerTabs.tsx
index aa59a502dcdc..6481edfc4d25 100644
--- a/app/client/src/pages/Editor/QueryEditor/QueryDebuggerTabs.tsx
+++ b/app/client/src/pages/Editor/QueryEditor/QueryDebuggerTabs.tsx
@@ -22,7 +22,7 @@ import {
getDatasourceStructureById,
getPluginDatasourceComponentFromId,
} from "ee/selectors/entitiesSelector";
-import { DatasourceComponentTypes } from "api/PluginApi";
+import { DatasourceComponentTypes } from "entities/Plugin";
import { fetchDatasourceStructure } from "actions/datasourceActions";
import { DatasourceStructureContext } from "entities/Datasource";
import {
diff --git a/app/client/src/pages/Editor/QueryEditor/QueryEditorHeader.tsx b/app/client/src/pages/Editor/QueryEditor/QueryEditorHeader.tsx
index 7a5f31e923eb..443cff2032c8 100644
--- a/app/client/src/pages/Editor/QueryEditor/QueryEditorHeader.tsx
+++ b/app/client/src/pages/Editor/QueryEditor/QueryEditorHeader.tsx
@@ -10,7 +10,7 @@ import { useActiveActionBaseId } from "ee/pages/Editor/Explorer/hooks";
import { useSelector } from "react-redux";
import { getActionByBaseId, getPlugin } from "ee/selectors/entitiesSelector";
import { QueryEditorContext } from "./QueryEditorContext";
-import type { Plugin } from "api/PluginApi";
+import type { Plugin } from "entities/Plugin";
import type { Datasource } from "entities/Datasource";
import type { AppState } from "ee/reducers";
import DatasourceSelector from "./DatasourceSelector";
diff --git a/app/client/src/pages/Editor/QueryEditor/helpers.tsx b/app/client/src/pages/Editor/QueryEditor/helpers.tsx
index 5da6d4eea3e7..71f6567ac2cf 100644
--- a/app/client/src/pages/Editor/QueryEditor/helpers.tsx
+++ b/app/client/src/pages/Editor/QueryEditor/helpers.tsx
@@ -1,5 +1,4 @@
-import type { Plugin } from "api/PluginApi";
-import { UIComponentTypes } from "api/PluginApi";
+import { type Plugin, UIComponentTypes } from "entities/Plugin";
export const getUIComponent = (pluginId: string, allPlugins: Plugin[]) => {
let uiComponent = UIComponentTypes.DbEditorForm;
diff --git a/app/client/src/pages/Editor/QueryEditor/index.tsx b/app/client/src/pages/Editor/QueryEditor/index.tsx
index a47dd30fc0b5..3710587cf08f 100644
--- a/app/client/src/pages/Editor/QueryEditor/index.tsx
+++ b/app/client/src/pages/Editor/QueryEditor/index.tsx
@@ -35,7 +35,7 @@ import Disabler from "pages/common/Disabler";
import ConvertToModuleInstanceCTA from "ee/pages/Editor/EntityEditor/ConvertToModuleInstanceCTA";
import { MODULE_TYPE } from "ee/constants/ModuleConstants";
import ConvertEntityNotification from "ee/pages/common/ConvertEntityNotification";
-import { PluginType } from "entities/Action";
+import { PluginType } from "entities/Plugin";
import { Icon } from "@appsmith/ads";
import { resolveIcon } from "../utils";
import { ENTITY_ICON_SIZE, EntityIcon } from "../Explorer/ExplorerIcons";
diff --git a/app/client/src/pages/Editor/SaaSEditor/DatasourceForm.tsx b/app/client/src/pages/Editor/SaaSEditor/DatasourceForm.tsx
index 94e34ba1c05b..575595a8fd01 100644
--- a/app/client/src/pages/Editor/SaaSEditor/DatasourceForm.tsx
+++ b/app/client/src/pages/Editor/SaaSEditor/DatasourceForm.tsx
@@ -36,13 +36,12 @@ import {
} from "selectors/editorSelectors";
import DatasourceAuth from "pages/common/datasourceAuth";
import EntityNotFoundPane from "../EntityNotFoundPane";
-import type { Plugin } from "api/PluginApi";
import {
isDatasourceAuthorizedForQueryCreation,
isEnabledForPreviewData,
isGoogleSheetPluginDS,
} from "utils/editorContextUtils";
-import type { PluginType } from "entities/Action";
+import type { PluginType, Plugin } from "entities/Plugin";
import AuthMessage from "pages/common/datasourceAuth/AuthMessage";
import { isDatasourceInViewMode } from "selectors/ui";
import { TEMP_DATASOURCE_ID } from "constants/Datasource";
diff --git a/app/client/src/pages/Editor/SaaSEditor/errorUtils.ts b/app/client/src/pages/Editor/SaaSEditor/errorUtils.ts
index 88c7d0f77654..c6bb6d5b756e 100644
--- a/app/client/src/pages/Editor/SaaSEditor/errorUtils.ts
+++ b/app/client/src/pages/Editor/SaaSEditor/errorUtils.ts
@@ -1,6 +1,6 @@
import type { Datasource } from "entities/Datasource";
import { AuthenticationStatus } from "entities/Datasource";
-import type { Plugin } from "api/PluginApi";
+import { type Plugin, PluginPackageName } from "entities/Plugin";
import {
createMessage,
GSHEET_AUTHORISED_FILE_IDS_KEY,
@@ -9,7 +9,6 @@ import {
} from "ee/constants/messages";
import { getDatasourcePropertyValue } from "utils/editorContextUtils";
import { GOOGLE_SHEET_SPECIFIC_SHEETS_SCOPE } from "constants/Datasource";
-import { PluginPackageName } from "entities/Action";
import { get } from "lodash";
/**
diff --git a/app/client/src/pages/Editor/__tests__/NewActionButton.test.tsx b/app/client/src/pages/Editor/__tests__/NewActionButton.test.tsx
index 433b94c4ff53..3fd124209d88 100644
--- a/app/client/src/pages/Editor/__tests__/NewActionButton.test.tsx
+++ b/app/client/src/pages/Editor/__tests__/NewActionButton.test.tsx
@@ -1,5 +1,5 @@
import "@testing-library/jest-dom";
-import { PluginType } from "entities/Action";
+import { PluginType } from "entities/Plugin";
import type { Datasource } from "entities/Datasource";
import { apiPluginHasUrl } from "../DataSourceEditor/NewActionButton";
diff --git a/app/client/src/pages/Editor/gitSync/ReconnectDatasourceModal.tsx b/app/client/src/pages/Editor/gitSync/ReconnectDatasourceModal.tsx
index 774294428d35..c9318a0f1f62 100644
--- a/app/client/src/pages/Editor/gitSync/ReconnectDatasourceModal.tsx
+++ b/app/client/src/pages/Editor/gitSync/ReconnectDatasourceModal.tsx
@@ -60,7 +60,7 @@ import {
} from "@appsmith/ads";
import { isEnvironmentConfigured } from "ee/utils/Environments";
import { keyBy } from "lodash";
-import type { Plugin } from "api/PluginApi";
+import type { Plugin } from "entities/Plugin";
import {
isDatasourceAuthorizedForQueryCreation,
isGoogleSheetPluginDS,
diff --git a/app/client/src/pages/Editor/gitSync/components/DatasourceListItem.tsx b/app/client/src/pages/Editor/gitSync/components/DatasourceListItem.tsx
index 5160cc9e1de5..b88ef6da431f 100644
--- a/app/client/src/pages/Editor/gitSync/components/DatasourceListItem.tsx
+++ b/app/client/src/pages/Editor/gitSync/components/DatasourceListItem.tsx
@@ -6,7 +6,7 @@ import styled from "styled-components";
import { getAssetUrl } from "ee/utils/airgapHelpers";
import { PluginImage } from "pages/Editor/DataSourceEditor/DSFormHeader";
import { isEnvironmentConfigured } from "ee/utils/Environments";
-import type { Plugin } from "api/PluginApi";
+import type { Plugin } from "entities/Plugin";
import {
isDatasourceAuthorizedForQueryCreation,
isGoogleSheetPluginDS,
diff --git a/app/client/src/pages/Editor/utils.tsx b/app/client/src/pages/Editor/utils.tsx
index 12e4d5c09d4a..3d7a9e92006c 100644
--- a/app/client/src/pages/Editor/utils.tsx
+++ b/app/client/src/pages/Editor/utils.tsx
@@ -28,9 +28,8 @@ import {
JsFileIconV2,
dbQueryIcon,
} from "pages/Editor/Explorer/ExplorerIcons";
-import { PluginType } from "entities/Action";
import { getAssetUrl } from "ee/utils/airgapHelpers";
-import type { Plugin } from "api/PluginApi";
+import { type Plugin, PluginType } from "entities/Plugin";
import ImageAlt from "assets/images/placeholder-image.svg";
import { Icon } from "@appsmith/ads";
import {
diff --git a/app/client/src/pages/common/datasourceAuth/AuthMessage.tsx b/app/client/src/pages/common/datasourceAuth/AuthMessage.tsx
index 62c88c525a70..ecdcaf14ccb9 100644
--- a/app/client/src/pages/common/datasourceAuth/AuthMessage.tsx
+++ b/app/client/src/pages/common/datasourceAuth/AuthMessage.tsx
@@ -20,7 +20,7 @@ import {
} from "ee/constants/messages";
import { getAppsmithConfigs } from "ee/configs";
import { DocsLink, openDoc } from "constants/DocumentationLinks";
-import type { Plugin } from "api/PluginApi";
+import type { Plugin } from "entities/Plugin";
const { intercomAppID } = getAppsmithConfigs();
const StyledAuthMessage = styled.div<{ isInViewMode: boolean }>`
diff --git a/app/client/src/pages/common/datasourceAuth/index.tsx b/app/client/src/pages/common/datasourceAuth/index.tsx
index abef0486767a..81b7fa685de3 100644
--- a/app/client/src/pages/common/datasourceAuth/index.tsx
+++ b/app/client/src/pages/common/datasourceAuth/index.tsx
@@ -36,7 +36,7 @@ import { INTEGRATION_TABS, SHOW_FILE_PICKER_KEY } from "constants/routes";
import { integrationEditorURL } from "ee/RouteBuilder";
import { getQueryParams } from "utils/URLUtils";
import type { AppsmithLocationState } from "utils/history";
-import type { PluginType } from "entities/Action";
+import type { PluginType } from "entities/Plugin";
import { getCurrentEnvironmentDetails } from "ee/selectors/environmentSelectors";
import { useFeatureFlag } from "utils/hooks/useFeatureFlag";
import { FEATURE_FLAG } from "ee/entities/FeatureFlag";
diff --git a/app/client/src/reducers/entityReducers/pluginsReducer.ts b/app/client/src/reducers/entityReducers/pluginsReducer.ts
index 906f20f18bc8..ff546296adf1 100644
--- a/app/client/src/reducers/entityReducers/pluginsReducer.ts
+++ b/app/client/src/reducers/entityReducers/pluginsReducer.ts
@@ -4,7 +4,7 @@ import {
ReduxActionTypes,
ReduxActionErrorTypes,
} from "ee/constants/ReduxActionConstants";
-import type { DefaultPlugin, Plugin } from "api/PluginApi";
+import type { DefaultPlugin, Plugin } from "entities/Plugin";
import type {
PluginFormPayloadWithId,
PluginFormsPayload,
diff --git a/app/client/src/sagas/ActionExecution/PluginActionSaga.ts b/app/client/src/sagas/ActionExecution/PluginActionSaga.ts
index 9a7d323d49eb..5328457b8a7d 100644
--- a/app/client/src/sagas/ActionExecution/PluginActionSaga.ts
+++ b/app/client/src/sagas/ActionExecution/PluginActionSaga.ts
@@ -129,7 +129,7 @@ import {
findDatatype,
isTrueObject,
} from "ee/workers/Evaluation/evaluationUtils";
-import type { Plugin } from "api/PluginApi";
+import type { Plugin } from "entities/Plugin";
import { setDefaultActionDisplayFormat } from "./PluginActionSagaUtils";
import { checkAndLogErrorsIfCyclicDependency } from "sagas/helper";
import { toast } from "@appsmith/ads";
diff --git a/app/client/src/sagas/ActionExecution/PluginActionSagaUtils.ts b/app/client/src/sagas/ActionExecution/PluginActionSagaUtils.ts
index b5e99b76ca10..f353104e5b11 100644
--- a/app/client/src/sagas/ActionExecution/PluginActionSagaUtils.ts
+++ b/app/client/src/sagas/ActionExecution/PluginActionSagaUtils.ts
@@ -1,7 +1,7 @@
import { put } from "redux-saga/effects";
import { setActionResponseDisplayFormat } from "actions/pluginActionActions";
import type { ActionResponse } from "api/ActionAPI";
-import type { Plugin } from "api/PluginApi";
+import type { Plugin } from "entities/Plugin";
export function* setDefaultActionDisplayFormat(
actionId: string,
diff --git a/app/client/src/sagas/ActionSagas.ts b/app/client/src/sagas/ActionSagas.ts
index 3fffd65284af..30f7f6260d74 100644
--- a/app/client/src/sagas/ActionSagas.ts
+++ b/app/client/src/sagas/ActionSagas.ts
@@ -32,7 +32,7 @@ import ActionAPI from "api/ActionAPI";
import type { ApiResponse } from "api/ApiResponses";
import type { FetchPageRequest, FetchPageResponse } from "api/PageApi";
import PageApi from "api/PageApi";
-import type { Plugin } from "api/PluginApi";
+import { type Plugin, PluginPackageName, PluginType } from "entities/Plugin";
import { EditorModes } from "components/editorComponents/CodeEditor/EditorConfig";
import {
fixActionPayloadForMongoQuery,
@@ -100,8 +100,6 @@ import {
ActionCreationSourceTypeEnum,
isAPIAction,
isGraphqlPlugin,
- PluginPackageName,
- PluginType,
SlashCommand,
} from "entities/Action";
import LOG_TYPE from "entities/AppsmithConsole/logtype";
diff --git a/app/client/src/sagas/ApiPaneSagas.ts b/app/client/src/sagas/ApiPaneSagas.ts
index 696b5137f378..85162c278030 100644
--- a/app/client/src/sagas/ApiPaneSagas.ts
+++ b/app/client/src/sagas/ApiPaneSagas.ts
@@ -13,7 +13,6 @@ import {
ReduxActionTypes,
ReduxFormActionTypes,
} from "ee/constants/ReduxActionConstants";
-import type { GetFormData } from "selectors/formSelectors";
import { getFormData } from "selectors/formSelectors";
import {
API_EDITOR_FORM_NAME,
@@ -48,23 +47,14 @@ import type {
ApiAction,
CreateApiActionDefaultsParams,
} from "entities/Action";
-import { PluginPackageName, PluginType } from "entities/Action";
+import { type Plugin, PluginPackageName, PluginType } from "entities/Plugin";
import { getCurrentWorkspaceId } from "ee/selectors/selectedWorkspaceSelectors";
import log from "loglevel";
import type { EventLocation } from "ee/utils/analyticsUtilTypes";
import { createMessage, ERROR_ACTION_RENAME_FAIL } from "ee/constants/messages";
-import {
- getContentTypeHeaderValue,
- parseUrlForQueryParams,
- queryParamsRegEx,
-} from "utils/ApiPaneUtils";
+import { parseUrlForQueryParams, queryParamsRegEx } from "utils/ApiPaneUtils";
import { updateReplayEntity } from "actions/pageActions";
import { ENTITY_TYPE } from "ee/entities/AppsmithConsole/utils";
-import type { Plugin } from "api/PluginApi";
-import {
- getPostBodyFormat,
- setExtraFormData,
-} from "../PluginActionEditor/store";
import { apiEditorIdURL, datasourcesEditorIdURL } from "ee/RouteBuilder";
import { getCurrentBasePageId } from "selectors/editorSelectors";
import { validateResponse } from "./ErrorSagas";
@@ -86,7 +76,6 @@ import { checkAndGetPluginFormConfigsSaga } from "./PluginSagas";
import { convertToBasePageIdSelector } from "selectors/pageListSelectors";
import type { ApplicationPayload } from "entities/Application";
import { klonaLiteWithTelemetry } from "utils/helpers";
-import { POST_BODY_FORM_DATA_KEY } from "PluginActionEditor/store/constants";
function* syncApiParamsSaga(
actionPayload: ReduxActionWithMeta,
@@ -138,29 +127,19 @@ function* syncApiParamsSaga(
}
}
-function* handleUpdateBodyContentType(action: ReduxAction<{ title: string }>) {
- const { title } = action.payload;
+function* handleUpdateBodyContentType(contentType: string) {
const { values } = yield select(getFormData, API_EDITOR_FORM_NAME);
const displayFormatValue = POST_BODY_FORMAT_OPTIONS_ARRAY.find(
- (el) => el === title,
+ (el) => el === contentType,
);
if (!displayFormatValue) {
- log.error("Display format not supported", title);
+ log.error("Display format not supported", contentType);
return;
}
- // we want apiContentType to always match the current body tab the user is on.
- yield put(
- change(
- API_EDITOR_FORM_NAME,
- "actionConfiguration.formData.apiContentType",
- displayFormatValue,
- ),
- );
-
// get headers
const headers = klonaLiteWithTelemetry(
values?.actionConfiguration?.headers,
@@ -214,18 +193,6 @@ function* handleUpdateBodyContentType(action: ReduxAction<{ title: string }>) {
),
);
- // Quick Context: The extra formadata action is responsible for updating the current multi switch mode you see on api editor body tab
- // whenever a user selects a new content type through the tab e.g application/json, this action is dispatched to update that value, which is then read in the PostDataBody file
- // to show the appropriate content type section.
- yield put(
- setExtraFormData({
- [POST_BODY_FORM_DATA_KEY]: {
- label: title,
- value: title,
- },
- }),
- );
-
// help to prevent cyclic dependency error in case the bodyFormData is empty.
const bodyFormData = klonaLiteWithTelemetry(
@@ -249,47 +216,6 @@ function* handleUpdateBodyContentType(action: ReduxAction<{ title: string }>) {
}
}
-function* updateExtraFormDataSaga() {
- const formData: GetFormData = yield select(getFormData, API_EDITOR_FORM_NAME);
- const { values } = formData;
-
- // when initializing, check if theres a display format present.
- const extraFormData: { label: string; value: string } =
- yield select(getPostBodyFormat);
-
- const headers: Array<{ key: string; value: string }> =
- get(values, "actionConfiguration.headers") || [];
- const autoGeneratedHeaders: AutoGeneratedHeader[] =
- get(values, "actionConfiguration.autoGeneratedHeaders") || [];
-
- const contentTypeValue: string = getContentTypeHeaderValue(headers);
- const contentTypeAutoGeneratedHeaderValue: string =
- getContentTypeHeaderValue(autoGeneratedHeaders);
-
- let rawApiContentType = "";
-
- if (!extraFormData) {
- /*
- * if there is no user specified content type value or autogenerated content type value, we default to raw
- * if there is no user specified content type value and there is a autogenerated content type value, we default to its value
- * if there is a user specified content type value and no autogenerated content type value, we default to the user content type value
- * if there is a user specified content type value and a autogenerated content type value, we default to the user content type value
- */
- if (!contentTypeValue && !contentTypeAutoGeneratedHeaderValue) {
- rawApiContentType = POST_BODY_FORMAT_OPTIONS.NONE;
- } else if (!contentTypeValue && contentTypeAutoGeneratedHeaderValue) {
- rawApiContentType = contentTypeAutoGeneratedHeaderValue;
- } else if (
- (contentTypeValue && !contentTypeAutoGeneratedHeaderValue) ||
- (contentTypeValue && contentTypeAutoGeneratedHeaderValue)
- ) {
- rawApiContentType = contentTypeValue;
- }
-
- yield call(setApiBodyTabHeaderFormat, values.id, rawApiContentType);
- }
-}
-
function* changeApiSaga(
actionPayload: ReduxAction<{
id: string;
@@ -309,8 +235,6 @@ function* changeApiSaga(
} else {
yield put(initialize(API_EDITOR_FORM_NAME, action));
- yield call(updateExtraFormDataSaga);
-
if (
action.actionConfiguration &&
action.actionConfiguration.queryParameters?.length
@@ -339,32 +263,26 @@ function* changeApiSaga(
yield put(updateReplayEntity(id, actionPostProcess, ENTITY_TYPE.ACTION));
}
-function* setApiBodyTabHeaderFormat(apiId: string, apiContentType?: string) {
+function* setApiBodyTabHeaderFormat(apiContentType?: string) {
let displayFormat;
if (apiContentType) {
if (Object.values(POST_BODY_FORMAT_OPTIONS).includes(apiContentType)) {
- displayFormat = {
- label: apiContentType,
- value: apiContentType,
- };
+ displayFormat = apiContentType;
} else {
- displayFormat = {
- label: POST_BODY_FORMAT_OPTIONS.RAW,
- value: POST_BODY_FORMAT_OPTIONS.RAW,
- };
+ displayFormat = POST_BODY_FORMAT_OPTIONS.RAW;
}
} else {
- displayFormat = {
- label: POST_BODY_FORMAT_OPTIONS.NONE,
- value: POST_BODY_FORMAT_OPTIONS.NONE,
- };
+ displayFormat = POST_BODY_FORMAT_OPTIONS.NONE;
}
+ // update the body content type based on content type headers.
yield put(
- setExtraFormData({
- [POST_BODY_FORM_DATA_KEY]: displayFormat,
- }),
+ change(
+ API_EDITOR_FORM_NAME,
+ "actionConfiguration.formData.apiContentType",
+ displayFormat,
+ ),
);
}
@@ -387,6 +305,10 @@ function* formValueChangeSaga(
if (!values.id) return;
+ if (field === "actionConfiguration.formData.apiContentType") {
+ yield call(handleUpdateBodyContentType, actionPayload.payload);
+ }
+
if (
!getHasManageActionPermission(isFeatureEnabled, values.userPermissions)
) {
@@ -516,7 +438,6 @@ function* formValueChangeSaga(
// set the body tab.
yield call(
setApiBodyTabHeaderFormat,
- values.id,
POST_BODY_FORMAT_OPTIONS.JSON,
);
}
@@ -830,10 +751,6 @@ export default function* root() {
ReduxActionTypes.CREATE_NEW_API_ACTION,
handleCreateNewApiActionSaga,
),
- takeEvery(
- ReduxActionTypes.UPDATE_API_ACTION_BODY_CONTENT_TYPE,
- handleUpdateBodyContentType,
- ),
takeEvery(ReduxFormActionTypes.VALUE_CHANGE, formValueChangeSaga),
takeEvery(ReduxFormActionTypes.ARRAY_REMOVE, formValueChangeSaga),
takeEvery(ReduxFormActionTypes.ARRAY_PUSH, formValueChangeSaga),
diff --git a/app/client/src/sagas/BuildingBlockSagas/BuildingBlockAdditionSagas.ts b/app/client/src/sagas/BuildingBlockSagas/BuildingBlockAdditionSagas.ts
index 527471df9bf7..70c959c76406 100644
--- a/app/client/src/sagas/BuildingBlockSagas/BuildingBlockAdditionSagas.ts
+++ b/app/client/src/sagas/BuildingBlockSagas/BuildingBlockAdditionSagas.ts
@@ -74,7 +74,7 @@ import { selectWidgetInitAction } from "actions/widgetSelectionActions";
import type { ApiResponse } from "api/ApiResponses";
import type { Template } from "api/TemplatesApi";
import type { Action } from "entities/Action";
-import { PluginType } from "entities/Action";
+import { PluginType } from "entities/Plugin";
import type { JSCollection } from "entities/JSCollection";
import type { WidgetDraggingUpdateParams } from "layoutSystems/common/canvasArenas/ArenaTypes";
import type { DragDetails } from "reducers/uiReducers/dragResizeReducer";
diff --git a/app/client/src/sagas/BuildingBlockSagas/tests/fixtures.ts b/app/client/src/sagas/BuildingBlockSagas/tests/fixtures.ts
index f3aaa8044e75..7158645b4c87 100644
--- a/app/client/src/sagas/BuildingBlockSagas/tests/fixtures.ts
+++ b/app/client/src/sagas/BuildingBlockSagas/tests/fixtures.ts
@@ -2,7 +2,8 @@ import type { WidgetAddChild } from "actions/pageActions";
import type { ReduxAction } from "actions/ReduxActionTypes";
import type { WidgetDraggingUpdateParams } from "layoutSystems/common/canvasArenas/ArenaTypes";
import type { FlattenedWidgetProps } from "reducers/entityReducers/canvasWidgetsReducer";
-import { PaginationType, PluginType, type Action } from "entities/Action";
+import { PaginationType, type Action } from "entities/Action";
+import { PluginType } from "entities/Plugin";
export const skeletonWidget: FlattenedWidgetProps = {
needsErrorInfo: false,
diff --git a/app/client/src/sagas/DebuggerSagas.ts b/app/client/src/sagas/DebuggerSagas.ts
index 826159989860..dfa17ffe92a7 100644
--- a/app/client/src/sagas/DebuggerSagas.ts
+++ b/app/client/src/sagas/DebuggerSagas.ts
@@ -35,7 +35,7 @@ import {
getAppMode,
} from "ee/selectors/entitiesSelector";
import type { Action } from "entities/Action";
-import { PluginType } from "entities/Action";
+import { type Plugin, PluginType } from "entities/Plugin";
import type { JSCollection } from "entities/JSCollection";
import LOG_TYPE from "entities/AppsmithConsole/logtype";
import type { ConfigTree } from "entities/DataTree/dataTreeTypes";
@@ -44,7 +44,6 @@ import { createLogTitleString } from "components/editorComponents/Debugger/helpe
import AppsmithConsole from "utils/AppsmithConsole";
import { getWidget } from "./selectors";
import AnalyticsUtil, { AnalyticsEventType } from "ee/utils/AnalyticsUtil";
-import type { Plugin } from "api/PluginApi";
import { getCurrentPageId } from "selectors/editorSelectors";
import type { WidgetProps } from "widgets/BaseWidget";
import * as log from "loglevel";
diff --git a/app/client/src/sagas/FocusRetentionSaga.ts b/app/client/src/sagas/FocusRetentionSaga.ts
index e92be7bae11b..d971bb6a4e7c 100644
--- a/app/client/src/sagas/FocusRetentionSaga.ts
+++ b/app/client/src/sagas/FocusRetentionSaga.ts
@@ -17,7 +17,7 @@ import {
import type { AppsmithLocationState } from "utils/history";
import type { Action } from "entities/Action";
import { getAction, getPlugin } from "ee/selectors/entitiesSelector";
-import type { Plugin } from "api/PluginApi";
+import type { Plugin } from "entities/Plugin";
import { getIDETypeByUrl } from "ee/entities/IDE/utils";
import { getIDEFocusStrategy } from "ee/navigation/FocusStrategy";
import { IDE_TYPE } from "ee/entities/IDE/constants";
diff --git a/app/client/src/sagas/FormEvaluationSaga.ts b/app/client/src/sagas/FormEvaluationSaga.ts
index 224d6a71f1a8..4f5d126bc360 100644
--- a/app/client/src/sagas/FormEvaluationSaga.ts
+++ b/app/client/src/sagas/FormEvaluationSaga.ts
@@ -28,7 +28,7 @@ import {
} from "./helper";
import type { DatasourceConfiguration } from "entities/Datasource";
import { buffers } from "redux-saga";
-import type { Plugin } from "api/PluginApi";
+import type { Plugin } from "entities/Plugin";
import { doesPluginRequireDatasource } from "ee/entities/Engine/actionHelpers";
import { klonaLiteWithTelemetry } from "utils/helpers";
diff --git a/app/client/src/sagas/InitSagas.ts b/app/client/src/sagas/InitSagas.ts
index c12e5f74739d..fdfe0a3c8569 100644
--- a/app/client/src/sagas/InitSagas.ts
+++ b/app/client/src/sagas/InitSagas.ts
@@ -80,7 +80,8 @@ import type { JSCollection } from "entities/JSCollection";
import type { FetchPageResponse, FetchPageResponseData } from "api/PageApi";
import type { AppTheme } from "entities/AppTheming";
import type { Datasource } from "entities/Datasource";
-import type { Plugin, PluginFormPayload } from "api/PluginApi";
+import type { PluginFormPayload } from "api/PluginApi";
+import type { Plugin } from "entities/Plugin";
import { ConsolidatedPageLoadApi } from "api";
import { AXIOS_CONNECTION_ABORTED_CODE } from "ee/constants/ApiConstants";
import {
diff --git a/app/client/src/sagas/JSPaneSagas.ts b/app/client/src/sagas/JSPaneSagas.ts
index ecc912888db0..7053f8fc5e9a 100644
--- a/app/client/src/sagas/JSPaneSagas.ts
+++ b/app/client/src/sagas/JSPaneSagas.ts
@@ -62,7 +62,7 @@ import {
} from "actions/jsPaneActions";
import { getCurrentWorkspaceId } from "ee/selectors/selectedWorkspaceSelectors";
import { getPluginIdOfPackageName } from "sagas/selectors";
-import { PluginPackageName, PluginType } from "entities/Action";
+import { PluginPackageName, PluginType } from "entities/Plugin";
import {
createMessage,
ERROR_JS_COLLECTION_RENAME_FAIL,
diff --git a/app/client/src/sagas/OneClickBindingSaga.ts b/app/client/src/sagas/OneClickBindingSaga.ts
index 145d86335d42..f6b990c586b8 100644
--- a/app/client/src/sagas/OneClickBindingSaga.ts
+++ b/app/client/src/sagas/OneClickBindingSaga.ts
@@ -3,11 +3,10 @@ import {
ReduxActionErrorTypes,
ReduxActionTypes,
} from "ee/constants/ReduxActionConstants";
-import type { Plugin } from "api/PluginApi";
+import { type Plugin, PluginType } from "entities/Plugin";
import {
ActionCreationSourceTypeEnum,
ActionExecutionContext,
- PluginType,
type Action,
type QueryActionConfig,
} from "entities/Action";
diff --git a/app/client/src/sagas/PluginSagas.ts b/app/client/src/sagas/PluginSagas.ts
index e356e0d5dfca..028cbda17bd0 100644
--- a/app/client/src/sagas/PluginSagas.ts
+++ b/app/client/src/sagas/PluginSagas.ts
@@ -4,7 +4,7 @@ import {
ReduxActionTypes,
ReduxActionErrorTypes,
} from "ee/constants/ReduxActionConstants";
-import type { DefaultPlugin, PluginFormPayload } from "api/PluginApi";
+import type { PluginFormPayload } from "api/PluginApi";
import PluginsApi from "api/PluginApi";
import { validateResponse } from "sagas/ErrorSagas";
import { getCurrentWorkspaceId } from "ee/selectors/selectedWorkspaceSelectors";
@@ -16,7 +16,6 @@ import {
getPlugins,
} from "ee/selectors/entitiesSelector";
import type { Datasource } from "entities/Datasource";
-import type { Plugin } from "api/PluginApi";
import {
fetchPluginFormConfigsSuccess,
fetchPluginFormConfigSuccess,
@@ -31,11 +30,8 @@ import {
import type { ApiResponse } from "api/ApiResponses";
import PluginApi from "api/PluginApi";
import log from "loglevel";
-import {
- getAppsmithAIPlugin,
- getGraphQLPlugin,
- PluginType,
-} from "entities/Action";
+import { getAppsmithAIPlugin, getGraphQLPlugin } from "entities/Action";
+import { type DefaultPlugin, type Plugin, PluginType } from "entities/Plugin";
import type {
FormEditorConfigs,
FormSettingsConfigs,
diff --git a/app/client/src/sagas/QueryPaneSagas.ts b/app/client/src/sagas/QueryPaneSagas.ts
index 8ad91aed7bd7..8ba67fc1a101 100644
--- a/app/client/src/sagas/QueryPaneSagas.ts
+++ b/app/client/src/sagas/QueryPaneSagas.ts
@@ -35,7 +35,6 @@ import {
getActionByBaseId,
} from "ee/selectors/entitiesSelector";
import type { Action, QueryAction } from "entities/Action";
-import { PluginType } from "entities/Action";
import {
createActionRequest,
setActionProperty,
@@ -60,8 +59,12 @@ import {
integrationEditorURL,
queryEditorIdURL,
} from "ee/RouteBuilder";
-import type { GenerateCRUDEnabledPluginMap, Plugin } from "api/PluginApi";
-import { UIComponentTypes } from "api/PluginApi";
+import {
+ type GenerateCRUDEnabledPluginMap,
+ type Plugin,
+ PluginType,
+ UIComponentTypes,
+} from "entities/Plugin";
import { getUIComponent } from "pages/Editor/QueryEditor/helpers";
import { FormDataPaths } from "workers/Evaluation/formEval";
import { fetchDynamicValuesSaga } from "./FormEvaluationSaga";
diff --git a/app/client/src/sagas/ReplaySaga.ts b/app/client/src/sagas/ReplaySaga.ts
index 23d9fc83b153..ce2668705d5f 100644
--- a/app/client/src/sagas/ReplaySaga.ts
+++ b/app/client/src/sagas/ReplaySaga.ts
@@ -78,8 +78,7 @@ import { generateAutoHeightLayoutTreeAction } from "actions/autoHeightActions";
import { SelectionRequestType } from "sagas/WidgetSelectUtils";
import { startFormEvaluations } from "actions/evaluationActions";
import { getUIComponent } from "pages/Editor/QueryEditor/helpers";
-import type { Plugin } from "api/PluginApi";
-import { UIComponentTypes } from "api/PluginApi";
+import { type Plugin, UIComponentTypes } from "entities/Plugin";
import { getCurrentEnvironmentId } from "ee/selectors/environmentSelectors";
import { updateAndSaveAnvilLayout } from "layoutSystems/anvil/utils/anvilChecksUtils";
import type { ReplayOperation } from "entities/Replay/ReplayEntity/ReplayOperations";
diff --git a/app/client/src/sagas/SaaSPaneSagas.ts b/app/client/src/sagas/SaaSPaneSagas.ts
index 0800f6aa7b53..84eefce69a6f 100644
--- a/app/client/src/sagas/SaaSPaneSagas.ts
+++ b/app/client/src/sagas/SaaSPaneSagas.ts
@@ -8,8 +8,11 @@ import {
getPlugin,
} from "ee/selectors/entitiesSelector";
import type { Action } from "entities/Action";
-import { PluginType } from "entities/Action";
-import type { GenerateCRUDEnabledPluginMap, Plugin } from "api/PluginApi";
+import {
+ type GenerateCRUDEnabledPluginMap,
+ type Plugin,
+ PluginType,
+} from "entities/Plugin";
import { saasEditorApiIdURL, saasEditorDatasourceIdURL } from "ee/RouteBuilder";
import { getCurrentBasePageId } from "selectors/editorSelectors";
import type { CreateDatasourceSuccessAction } from "actions/datasourceActions";
diff --git a/app/client/src/sagas/WidgetBlueprintSagas.ts b/app/client/src/sagas/WidgetBlueprintSagas.ts
index 6fa8a986ebaa..6fe85446527d 100644
--- a/app/client/src/sagas/WidgetBlueprintSagas.ts
+++ b/app/client/src/sagas/WidgetBlueprintSagas.ts
@@ -17,7 +17,8 @@ import * as log from "loglevel";
import { toast } from "@appsmith/ads";
import type { LayoutSystemTypes } from "layoutSystems/types";
import { getLayoutSystemType } from "selectors/layoutSystemSelectors";
-import type { Action, PluginPackageName } from "../entities/Action";
+import type { PluginPackageName } from "entities/Plugin";
+import type { Action } from "../entities/Action";
import { createOrUpdateDataSourceWithAction } from "../ee/sagas/DatasourcesSagas";
function buildView(view: WidgetBlueprint["view"], widgetId: string) {
diff --git a/app/client/src/sagas/getNextEntityAfterRemove.test.ts b/app/client/src/sagas/getNextEntityAfterRemove.test.ts
index 80814363a689..daf7565eb4e4 100644
--- a/app/client/src/sagas/getNextEntityAfterRemove.test.ts
+++ b/app/client/src/sagas/getNextEntityAfterRemove.test.ts
@@ -1,5 +1,5 @@
import { EditorState, type EntityItem } from "ee/entities/IDE/constants";
-import { PluginType } from "entities/Action";
+import { PluginType } from "entities/Plugin";
import * as FocusEntityObj from "navigation/FocusEntity";
import { RedirectAction, getNextEntityAfterRemove } from "./IDESaga";
import { FocusEntity } from "navigation/FocusEntity";
diff --git a/app/client/src/sagas/selectors.tsx b/app/client/src/sagas/selectors.tsx
index de35f43c1da2..a11259025b07 100644
--- a/app/client/src/sagas/selectors.tsx
+++ b/app/client/src/sagas/selectors.tsx
@@ -12,7 +12,7 @@ import { WIDGET_PROPS_TO_SKIP_FROM_EVAL } from "constants/WidgetConstants";
import type { ActionData } from "ee/reducers/entityReducers/actionsReducer";
import type { Page } from "entities/Page";
import { getActions, getPlugins } from "ee/selectors/entitiesSelector";
-import type { Plugin } from "api/PluginApi";
+import type { Plugin } from "entities/Plugin";
import type { DragDetails } from "reducers/uiReducers/dragResizeReducer";
import type { DataTreeForActionCreator } from "components/editorComponents/ActionCreator/types";
import type { MetaWidgetsReduxState } from "reducers/entityReducers/metaWidgetsReducer";
diff --git a/app/client/src/selectors/navigationSelectors.ts b/app/client/src/selectors/navigationSelectors.ts
index a5feb26d7b5e..c20f12816eab 100644
--- a/app/client/src/selectors/navigationSelectors.ts
+++ b/app/client/src/selectors/navigationSelectors.ts
@@ -27,7 +27,7 @@ import {
isJSAction,
} from "ee/workers/Evaluation/evaluationUtils";
import type { AppState } from "ee/reducers";
-import { PluginType } from "entities/Action";
+import { PluginType } from "entities/Plugin";
import type { StoredDatasource } from "entities/Action";
import type { Datasource } from "entities/Datasource";
import { getModuleInstanceNavigationData } from "ee/utils/moduleInstanceNavigationData";
diff --git a/app/client/src/utils/Analytics/mixpanel.ts b/app/client/src/utils/Analytics/mixpanel.ts
index ce51bf807a86..81925c7a231a 100644
--- a/app/client/src/utils/Analytics/mixpanel.ts
+++ b/app/client/src/utils/Analytics/mixpanel.ts
@@ -46,7 +46,7 @@ class MixpanelSingleton {
this.mixpanel.init(mixpanel.apiKey, {
record_sessions_percent: 100,
record_block_selector: mask ? ".mp-block" : "",
- record_mask_text_selector: mask ? ".mp-mask" : "",
+ record_mask_text_selector: mask ? ".as-mask" : "",
});
await this.addSegmentMiddleware();
diff --git a/app/client/src/utils/DynamicBindingUtils.test.ts b/app/client/src/utils/DynamicBindingUtils.test.ts
index 058807692b6f..178732e90c24 100644
--- a/app/client/src/utils/DynamicBindingUtils.test.ts
+++ b/app/client/src/utils/DynamicBindingUtils.test.ts
@@ -1,5 +1,5 @@
import type { Action } from "entities/Action";
-import { PluginType } from "entities/Action";
+import { PluginType } from "entities/Plugin";
import equal from "fast-deep-equal/es6";
import {
combineDynamicBindings,
diff --git a/app/client/src/utils/JSPaneUtils.test.ts b/app/client/src/utils/JSPaneUtils.test.ts
index 15f4258977c7..41b0af1fd8d6 100644
--- a/app/client/src/utils/JSPaneUtils.test.ts
+++ b/app/client/src/utils/JSPaneUtils.test.ts
@@ -1,4 +1,4 @@
-import { PluginType } from "entities/Action";
+import { PluginType } from "entities/Plugin";
import type { JSCollection } from "entities/JSCollection";
import type { ParsedBody } from "./JSPaneUtils";
import { getDifferenceInJSCollection } from "./JSPaneUtils";
diff --git a/app/client/src/utils/WidgetLoadingStateUtils.test.ts b/app/client/src/utils/WidgetLoadingStateUtils.test.ts
index 3dcc0ccdc1af..4e13d16d4a35 100644
--- a/app/client/src/utils/WidgetLoadingStateUtils.test.ts
+++ b/app/client/src/utils/WidgetLoadingStateUtils.test.ts
@@ -1,4 +1,4 @@
-import { PluginType } from "entities/Action";
+import { PluginType } from "entities/Plugin";
import type {
WidgetEntity,
ActionEntity,
diff --git a/app/client/src/utils/editorContextUtils.ts b/app/client/src/utils/editorContextUtils.ts
index 939b810d90ff..8e408450655c 100644
--- a/app/client/src/utils/editorContextUtils.ts
+++ b/app/client/src/utils/editorContextUtils.ts
@@ -1,4 +1,3 @@
-import type { Plugin } from "api/PluginApi";
import {
DATASOURCE_DB_FORM,
DATASOURCE_REST_API_FORM,
@@ -6,7 +5,12 @@ import {
} from "ee/constants/forms";
import { DB_NOT_SUPPORTED } from "ee/utils/Environments";
import { diff } from "deep-diff";
-import { PluginName, PluginPackageName, PluginType } from "entities/Action";
+import {
+ type Plugin,
+ PluginName,
+ PluginPackageName,
+ PluginType,
+} from "entities/Plugin";
import type {
Datasource,
DatasourceStructure,
diff --git a/app/client/src/workers/Evaluation/__tests__/Actions.test.ts b/app/client/src/workers/Evaluation/__tests__/Actions.test.ts
index aafe688b839f..f56e830dfea4 100644
--- a/app/client/src/workers/Evaluation/__tests__/Actions.test.ts
+++ b/app/client/src/workers/Evaluation/__tests__/Actions.test.ts
@@ -1,7 +1,7 @@
import type { ActionEntity } from "ee/entities/DataTree/types";
import type { DataTree } from "entities/DataTree/dataTreeTypes";
import { ENTITY_TYPE } from "ee/entities/DataTree/types";
-import { PluginType } from "entities/Action";
+import { PluginType } from "entities/Plugin";
import type { EvalContext } from "workers/Evaluation/evaluate";
import { createEvaluationContext } from "workers/Evaluation/evaluate";
import { MessageType } from "utils/MessageUtil";
diff --git a/app/client/src/workers/Evaluation/__tests__/evaluation.test.ts b/app/client/src/workers/Evaluation/__tests__/evaluation.test.ts
index 9fb5468e4c75..3590c5cd6aaf 100644
--- a/app/client/src/workers/Evaluation/__tests__/evaluation.test.ts
+++ b/app/client/src/workers/Evaluation/__tests__/evaluation.test.ts
@@ -11,7 +11,7 @@ import {
} from "ee/entities/DataTree/types";
import type { WidgetTypeConfigMap } from "WidgetProvider/factory";
import { RenderModes } from "constants/WidgetConstants";
-import { PluginType } from "entities/Action";
+import { PluginType } from "entities/Plugin";
import DataTreeEvaluator from "workers/common/DataTreeEvaluator";
import { ValidationTypes } from "constants/WidgetValidation";
import WidgetFactory from "WidgetProvider/factory";
diff --git a/app/client/src/workers/Evaluation/__tests__/timeout.test.ts b/app/client/src/workers/Evaluation/__tests__/timeout.test.ts
index 7f73d651227e..f6f7eaa6c1b9 100644
--- a/app/client/src/workers/Evaluation/__tests__/timeout.test.ts
+++ b/app/client/src/workers/Evaluation/__tests__/timeout.test.ts
@@ -1,4 +1,4 @@
-import { PluginType } from "entities/Action";
+import { PluginType } from "entities/Plugin";
import type { ActionEntity } from "ee/entities/DataTree/types";
import type { DataTree } from "entities/DataTree/dataTreeTypes";
import { ENTITY_TYPE } from "ee/entities/DataTree/types";
diff --git a/app/client/src/workers/Evaluation/fns/__tests__/LocalStorage.test.ts b/app/client/src/workers/Evaluation/fns/__tests__/LocalStorage.test.ts
index f9640ebdb1a1..1a333247869d 100644
--- a/app/client/src/workers/Evaluation/fns/__tests__/LocalStorage.test.ts
+++ b/app/client/src/workers/Evaluation/fns/__tests__/LocalStorage.test.ts
@@ -1,5 +1,5 @@
import { addPlatformFunctionsToEvalContext } from "ee/workers/Evaluation/Actions";
-import { PluginType } from "entities/Action";
+import { PluginType } from "entities/Plugin";
import type { ActionEntity } from "ee/entities/DataTree/types";
import type { DataTree } from "entities/DataTree/dataTreeTypes";
import { createEvaluationContext } from "workers/Evaluation/evaluate";
diff --git a/app/client/src/workers/Evaluation/fns/__tests__/interval.test.ts b/app/client/src/workers/Evaluation/fns/__tests__/interval.test.ts
index e241b782ba21..09392f6e78f9 100644
--- a/app/client/src/workers/Evaluation/fns/__tests__/interval.test.ts
+++ b/app/client/src/workers/Evaluation/fns/__tests__/interval.test.ts
@@ -1,7 +1,7 @@
jest.useFakeTimers();
import { EventType } from "constants/AppsmithActionConstants/ActionConstants";
-import { PluginType } from "entities/Action";
+import { PluginType } from "entities/Plugin";
import type { ActionEntity } from "ee/entities/DataTree/types";
import type { DataTree } from "entities/DataTree/dataTreeTypes";
import { ENTITY_TYPE } from "ee/entities/DataTree/types";
diff --git a/app/client/src/workers/common/DataTreeEvaluator/mockData/ArrayAccessorTree.ts b/app/client/src/workers/common/DataTreeEvaluator/mockData/ArrayAccessorTree.ts
index eaab6219a178..344763cdc058 100644
--- a/app/client/src/workers/common/DataTreeEvaluator/mockData/ArrayAccessorTree.ts
+++ b/app/client/src/workers/common/DataTreeEvaluator/mockData/ArrayAccessorTree.ts
@@ -1,4 +1,5 @@
-import { PluginType, PaginationType } from "entities/Action";
+import { PaginationType } from "entities/Action";
+import { PluginType } from "entities/Plugin";
import type {
WidgetEntity,
WidgetEntityConfig,
diff --git a/app/client/src/workers/common/DataTreeEvaluator/mockData/NestedArrayAccessorTree.ts b/app/client/src/workers/common/DataTreeEvaluator/mockData/NestedArrayAccessorTree.ts
index 964a5013294b..46d77cc4f21c 100644
--- a/app/client/src/workers/common/DataTreeEvaluator/mockData/NestedArrayAccessorTree.ts
+++ b/app/client/src/workers/common/DataTreeEvaluator/mockData/NestedArrayAccessorTree.ts
@@ -1,4 +1,5 @@
-import { PluginType, PaginationType } from "entities/Action";
+import { PaginationType } from "entities/Action";
+import { PluginType } from "entities/Plugin";
import type {
WidgetEntity,
WidgetEntityConfig,
diff --git a/app/client/test/factories/Actions/API.ts b/app/client/test/factories/Actions/API.ts
index e1045e0dd633..a874c09fccf4 100644
--- a/app/client/test/factories/Actions/API.ts
+++ b/app/client/test/factories/Actions/API.ts
@@ -1,9 +1,10 @@
import * as Factory from "factory.ts";
-import type { ApiAction } from "entities/Action";
-import { PaginationType, PluginPackageName, PluginType } from "entities/Action";
+import { PaginationType, type ApiAction } from "entities/Action";
+import { PluginPackageName, PluginType } from "entities/Plugin";
import { PluginIDs } from "test/factories/MockPluginsState";
const pageId = "0123456789abcdef00000000";
+
export const APIFactory = Factory.Sync.makeFactory({
name: Factory.each((i) => `Api${i + 1}`),
id: "api_id",
diff --git a/app/client/test/factories/Actions/GoogleSheetFactory.ts b/app/client/test/factories/Actions/GoogleSheetFactory.ts
index 5eb367d7ab9d..483218bb6c27 100644
--- a/app/client/test/factories/Actions/GoogleSheetFactory.ts
+++ b/app/client/test/factories/Actions/GoogleSheetFactory.ts
@@ -1,6 +1,6 @@
import * as Factory from "factory.ts";
import type { SaaSAction } from "entities/Action";
-import { PluginPackageName, PluginType } from "entities/Action";
+import { PluginPackageName, PluginType } from "entities/Plugin";
import { PluginIDs } from "test/factories/MockPluginsState";
const pageId = "0123456789abcdef00000000";
diff --git a/app/client/test/factories/Actions/JSObject.ts b/app/client/test/factories/Actions/JSObject.ts
index 9518d10fa342..c0b1c7299785 100644
--- a/app/client/test/factories/Actions/JSObject.ts
+++ b/app/client/test/factories/Actions/JSObject.ts
@@ -1,9 +1,10 @@
import * as Factory from "factory.ts";
import type { JSCollection } from "entities/JSCollection";
-import { PluginPackageName, PluginType } from "entities/Action";
+import { PluginPackageName, PluginType } from "entities/Plugin";
import { PluginIDs } from "test/factories/MockPluginsState";
const pageId = "0123456789abcdef00000000";
+
export const JSObjectFactory = Factory.Sync.makeFactory({
id: "js_id",
baseId: "js_base_id",
diff --git a/app/client/test/factories/Actions/Postgres.ts b/app/client/test/factories/Actions/Postgres.ts
index 01e72a762d1b..f9690a7332c3 100644
--- a/app/client/test/factories/Actions/Postgres.ts
+++ b/app/client/test/factories/Actions/Postgres.ts
@@ -1,6 +1,6 @@
import * as Factory from "factory.ts";
-import type { QueryAction } from "entities/Action";
-import { PaginationType, PluginPackageName, PluginType } from "entities/Action";
+import { PaginationType, type QueryAction } from "entities/Action";
+import { PluginPackageName, PluginType } from "entities/Plugin";
import { PluginIDs } from "test/factories/MockPluginsState";
const pageId = "0123456789abcdef00000000";
diff --git a/app/client/test/factories/DatasourceFactory.ts b/app/client/test/factories/DatasourceFactory.ts
index 1e8936eacae2..725cd60a1b3a 100644
--- a/app/client/test/factories/DatasourceFactory.ts
+++ b/app/client/test/factories/DatasourceFactory.ts
@@ -1,5 +1,5 @@
import * as Factory from "factory.ts";
-import { PluginPackageName } from "entities/Action";
+import { PluginPackageName } from "entities/Plugin";
import { PluginIDs } from "test/factories/MockPluginsState";
import { DatasourceConnectionMode, type Datasource } from "entities/Datasource";
import { SSLType } from "entities/Datasource/RestAPIForm";
diff --git a/app/client/test/factories/MockPluginsState.ts b/app/client/test/factories/MockPluginsState.ts
index dbebc0ad9fd2..636a21f5afbd 100644
--- a/app/client/test/factories/MockPluginsState.ts
+++ b/app/client/test/factories/MockPluginsState.ts
@@ -1,5 +1,5 @@
import type { PluginDataState } from "reducers/entityReducers/pluginsReducer";
-import { PluginPackageName } from "entities/Action";
+import { PluginPackageName } from "entities/Plugin";
export const PluginIDs: Record = {
[PluginPackageName.POSTGRES]: "65e58df196506a506bd7069c",