diff --git a/workspaces/ballerina/ballerina-extension/package.json b/workspaces/ballerina/ballerina-extension/package.json index 01b5a682ed1..d0bdf609b8e 100644 --- a/workspaces/ballerina/ballerina-extension/package.json +++ b/workspaces/ballerina/ballerina-extension/package.json @@ -2,7 +2,7 @@ "name": "ballerina", "displayName": "Ballerina", "description": "Ballerina Language support, debugging, graphical visualization, AI-based data-mapping and many more.", - "version": "5.7.3", + "version": "5.7.4", "publisher": "wso2", "icon": "resources/images/ballerina.png", "homepage": "https://wso2.com/ballerina/vscode/docs", diff --git a/workspaces/ballerina/ballerina-extension/src/features/ai/constants.ts b/workspaces/ballerina/ballerina-extension/src/features/ai/constants.ts index 517f8c9cdc8..b076633d1d6 100644 --- a/workspaces/ballerina/ballerina-extension/src/features/ai/constants.ts +++ b/workspaces/ballerina/ballerina-extension/src/features/ai/constants.ts @@ -16,6 +16,8 @@ * under the License. */ +export const WI_EXTENSION_ID = 'wso2.wso2-integrator'; + export const CONFIG_FILE_NAME = "Config.toml"; export const CONFIGURE_DEFAULT_MODEL_COMMAND = "ballerina.configureWso2DefaultModelProvider"; diff --git a/workspaces/ballerina/ballerina-extension/src/rpc-managers/ai-panel/rpc-manager.ts b/workspaces/ballerina/ballerina-extension/src/rpc-managers/ai-panel/rpc-manager.ts index 3dc80ad8e1d..9b46f21f63c 100644 --- a/workspaces/ballerina/ballerina-extension/src/rpc-managers/ai-panel/rpc-manager.ts +++ b/workspaces/ballerina/ballerina-extension/src/rpc-managers/ai-panel/rpc-manager.ts @@ -45,7 +45,7 @@ import { } from "@wso2/ballerina-core"; import * as fs from 'fs'; import path from "path"; -import { workspace } from 'vscode'; +import { extensions, workspace } from 'vscode'; import { URI } from "vscode-uri"; import { isNumber } from "lodash"; @@ -79,6 +79,7 @@ import { cleanupTempProject } from "../../features/ai/utils/project/temp-project import { RPCLayer } from '../../RPCLayer'; import { chatStateStorage } from '../../views/ai-panel/chatStateStorage'; import { restoreWorkspaceSnapshot } from '../../views/ai-panel/checkpoint/checkpointUtils'; +import { WI_EXTENSION_ID } from "../../features/ai/constants"; export class AiPanelRpcManager implements AIPanelAPI { @@ -156,15 +157,29 @@ export class AiPanelRpcManager implements AIPanelAPI { } async showSignInAlert(): Promise { + // Don't show alert in WI environment (WSO2 Integrator extension is installed) + const isInWI = !!extensions.getExtension(WI_EXTENSION_ID); + if (isInWI) { + return false; + } + + // Don't show alert in Devant environment + const isInDevant = !!process.env.CLOUD_STS_TOKEN; + if (isInDevant) { + return false; + } + + // Check if alert was already dismissed const resp = await extension.context.secrets.get('LOGIN_ALERT_SHOWN'); if (resp === 'true') { return false; } - const isWso2Signed = await this.isCopilotSignedIn(); + const isWso2Signed = await this.isCopilotSignedIn(); if (isWso2Signed) { return false; } + return true; }