Skip to content

Commit ad15a07

Browse files
committed
Updates checks for cli and mcp auto installation
1 parent 9996752 commit ad15a07

File tree

3 files changed

+18
-6
lines changed

3 files changed

+18
-6
lines changed

src/env/node/gk/cli/integration.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@ import { urls } from '../../../../constants';
55
import type { Source, Sources } from '../../../../constants.telemetry';
66
import type { Container } from '../../../../container';
77
import type { SubscriptionChangeEvent } from '../../../../plus/gk/subscriptionService';
8-
import { supportsMcpExtensionRegistration } from '../../../../plus/gk/utils/-webview/mcp.utils';
8+
import {
9+
mcpExtensionRegistrationAllowed,
10+
supportsMcpExtensionRegistration,
11+
} from '../../../../plus/gk/utils/-webview/mcp.utils';
912
import { registerCommand } from '../../../../system/-webview/command';
1013
import { configuration } from '../../../../system/-webview/configuration';
1114
import { getHostAppName } from '../../../../system/-webview/vscode';
@@ -58,8 +61,7 @@ export class GkCliIntegrationProvider implements Disposable {
5861

5962
this.onConfigurationChanged();
6063

61-
// TODO: Remove this experimental setting for production release
62-
if (configuration.get('gitkraken.cli.autoInstall.enabled')) {
64+
if (mcpExtensionRegistrationAllowed()) {
6365
const cliInstall = this.container.storage.get('gk:cli:install');
6466
if (!cliInstall || (cliInstall.status === 'attempted' && cliInstall.attempts < 5)) {
6567
setTimeout(

src/plus/gk/utils/-webview/mcp.utils.ts

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
import { lm, version } from 'vscode';
22
import { getPlatform, isWeb } from '@env/platform';
33
import type { Container } from '../../../../container';
4+
import { configuration } from '../../../../system/-webview/configuration';
45
import { getHostAppName } from '../../../../system/-webview/vscode';
56
import { satisfies } from '../../../../system/version';
67

78
export async function isMcpBannerEnabled(container: Container, showAutoRegistration = false): Promise<boolean> {
89
// Check if running on web or automatically registrable
9-
if (isWeb || (!showAutoRegistration && supportsMcpExtensionRegistration())) {
10+
if (isWeb || (!showAutoRegistration && mcpExtensionRegistrationAllowed())) {
1011
return false;
1112
}
1213

@@ -32,3 +33,12 @@ export function supportsMcpExtensionRegistration(): boolean {
3233

3334
return satisfies(version, '>= 1.101.0') && lm.registerMcpServerDefinitionProvider != null;
3435
}
36+
37+
export function mcpExtensionRegistrationAllowed(): boolean {
38+
// TODO: Remove experimental setting for production release
39+
return (
40+
configuration.get('ai.enabled') &&
41+
configuration.get('gitkraken.cli.autoInstall.enabled') &&
42+
supportsMcpExtensionRegistration()
43+
);
44+
}

src/webviews/home/homeWebview.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ import type { AIModelChangeEvent } from '../../plus/ai/aiProviderService';
5050
import { showPatchesView } from '../../plus/drafts/actions';
5151
import type { Subscription } from '../../plus/gk/models/subscription';
5252
import type { SubscriptionChangeEvent } from '../../plus/gk/subscriptionService';
53-
import { isMcpBannerEnabled, supportsMcpExtensionRegistration } from '../../plus/gk/utils/-webview/mcp.utils';
53+
import { isMcpBannerEnabled, mcpExtensionRegistrationAllowed } from '../../plus/gk/utils/-webview/mcp.utils';
5454
import { isAiAllAccessPromotionActive } from '../../plus/gk/utils/-webview/promo.utils';
5555
import { isSubscriptionTrialOrPaidFromState } from '../../plus/gk/utils/subscription.utils';
5656
import type { ConfiguredIntegrationsChangeEvent } from '../../plus/integrations/authentication/configuredIntegrationService';
@@ -808,7 +808,7 @@ export class HomeWebviewProvider implements WebviewProvider<State, State, HomeWe
808808
}
809809

810810
private getMcpCanAutoRegister() {
811-
return supportsMcpExtensionRegistration();
811+
return mcpExtensionRegistrationAllowed();
812812
}
813813

814814
private getIntegrationBannerCollapsed() {

0 commit comments

Comments
 (0)