remove agent app support in linux (#311910)

This commit is contained in:
Sandeep Somavarapu
2026-04-22 14:58:14 +00:00
committed by GitHub
parent 1c97294cd0
commit 683373f359
6 changed files with 30 additions and 21 deletions
+1 -1
View File
@@ -1397,7 +1397,7 @@ export class CodeApplication extends Disposable {
}
// Handle agents window first based on context
if ((process as INodeProcess).isEmbeddedApp || (args['agents'] && this.productService.quality !== 'stable')) {
if ((process as INodeProcess).isEmbeddedApp || (!isLinux && args['agents'] && this.productService.quality !== 'stable')) {
return windowsMainService.openAgentsWindow({
context,
cli: args,
@@ -6,7 +6,7 @@
import { app } from 'electron';
import { coalesce } from '../../../base/common/arrays.js';
import { Emitter, Event } from '../../../base/common/event.js';
import { IProcessEnvironment, isMacintosh } from '../../../base/common/platform.js';
import { IProcessEnvironment, isLinux, isMacintosh } from '../../../base/common/platform.js';
import { URI } from '../../../base/common/uri.js';
import { whenDeleted } from '../../../base/node/pfs.js';
import { IConfigurationService } from '../../configuration/common/configuration.js';
@@ -164,7 +164,7 @@ export class LaunchMainService implements ILaunchMainService {
}
// Agents window
else if (args['agents'] && this.productService.quality !== 'stable') {
else if (!isLinux && args['agents'] && this.productService.quality !== 'stable') {
usedWindows = await this.windowsMainService.openAgentsWindow(baseConfig);
}
@@ -10,7 +10,8 @@ import { ICommandService, CommandsRegistry } from '../../../../../platform/comma
import { IProductService } from '../../../../../platform/product/common/productService.js';
import { ITelemetryService } from '../../../../../platform/telemetry/common/telemetry.js';
const OPEN_AGENTS_WINDOW_COMMAND = 'workbench.action.openAgentsWindow';
import { OPEN_AGENTS_WINDOW_COMMAND_ID } from '../../common/constants.js';
type AgentsBannerClickedEvent = {
source: string;
@@ -36,7 +37,7 @@ export interface IAgentsBannerResult {
*/
export function canShowAgentsBanner(productService: IProductService): boolean {
return productService.quality !== 'stable'
&& !!CommandsRegistry.getCommand(OPEN_AGENTS_WINDOW_COMMAND);
&& !!CommandsRegistry.getCommand(OPEN_AGENTS_WINDOW_COMMAND_ID);
}
export interface IAgentsBannerOptions {
@@ -71,7 +72,7 @@ export function createAgentsBanner(
disposables.add(addDisposableListener(button, 'click', () => {
options.onButtonClick?.();
telemetryService.publicLog2<AgentsBannerClickedEvent, AgentsBannerClickedClassification>('agentsBanner.clicked', { source: options.source, action: 'openAgentsWindow' });
commandService.executeCommand(OPEN_AGENTS_WINDOW_COMMAND, { forceNewWindow: true });
commandService.executeCommand(OPEN_AGENTS_WINDOW_COMMAND_ID, { forceNewWindow: true });
}));
const element = $(`.${options.cssClass}`, {}, button);
@@ -8,9 +8,8 @@ import { localize } from '../../../../nls.js';
import { ContextKeyExpr, ContextKeyExpression } from '../../../../platform/contextkey/common/contextkey.js';
import { IKeybindingService } from '../../../../platform/keybinding/common/keybinding.js';
import { MenuRegistry } from '../../../../platform/actions/common/actions.js';
import { ProductQualityContext } from '../../../../platform/contextkey/common/contextkeys.js';
import { OPEN_AGENTS_WINDOW_COMMAND_ID, OPEN_AGENTS_WINDOW_PRECONDITION, ChatConfiguration, ChatModeKind } from '../common/constants.js';
import { ChatContextKeys } from '../common/actions/chatContextKeys.js';
import { ChatConfiguration, ChatModeKind } from '../common/constants.js';
import { IsSessionsWindowContext } from '../../../common/contextkeys.js';
import { localChatSessionType } from '../common/chatSessionsService.js';
import { ITipExclusionConfig } from './chatTipEligibilityTracker.js';
@@ -419,17 +418,17 @@ export const TIP_CATALOG: readonly ITipDefinition[] = [
return new MarkdownString(
localize(
'tip.openAgentsWindow',
"Try the [Agents Application](command:workbench.action.openAgentsWindow \"Open Agents Application\") to run multiple agents simultaneously and manage your coding sessions."
"Try the [Agents Application](command:{0} \"Open Agents Application\") to run multiple agents simultaneously and manage your coding sessions.",
OPEN_AGENTS_WINDOW_COMMAND_ID
)
);
},
when: ContextKeyExpr.and(
ProductQualityContext.notEqualsTo('stable'),
IsSessionsWindowContext.negate(),
OPEN_AGENTS_WINDOW_PRECONDITION,
ChatContextKeys.chatModeKind.isEqualTo(ChatModeKind.Agent),
),
excludeWhenCommandsExecuted: ['workbench.action.openAgentsWindow'],
dismissWhenCommandsClicked: ['workbench.action.openAgentsWindow'],
excludeWhenCommandsExecuted: [OPEN_AGENTS_WINDOW_COMMAND_ID],
dismissWhenCommandsClicked: [OPEN_AGENTS_WINDOW_COMMAND_ID],
},
{
id: 'tip.copilotCli',
@@ -6,7 +6,10 @@
import { Schemas } from '../../../../base/common/network.js';
import { IChatSessionsService } from './chatSessionsService.js';
import { ServicesAccessor } from '../../../../platform/instantiation/common/instantiation.js';
import { RawContextKey } from '../../../../platform/contextkey/common/contextkey.js';
import { ContextKeyExpr, RawContextKey } from '../../../../platform/contextkey/common/contextkey.js';
import { IsDevelopmentContext, IsLinuxContext } from '../../../../platform/contextkey/common/contextkeys.js';
import { ChatEntitlementContextKeys } from '../../../services/chat/common/chatEntitlementService.js';
import { IsSessionsWindowContext } from '../../../common/contextkeys.js';
export enum ChatConfiguration {
AIDisabled = 'chat.disableAIFeatures',
@@ -192,6 +195,15 @@ export function isSupportedChatFileScheme(accessor: ServicesAccessor, scheme: st
}
export const MANAGE_CHAT_COMMAND_ID = 'workbench.action.chat.manage';
export const OPEN_AGENTS_WINDOW_COMMAND_ID = 'workbench.action.openAgentsWindow';
export const OPEN_AGENTS_WINDOW_PRECONDITION = ContextKeyExpr.and(
ContextKeyExpr.or(IsLinuxContext.negate(), IsDevelopmentContext),
ChatEntitlementContextKeys.Setup.hidden.negate(),
ChatEntitlementContextKeys.Setup.disabledInWorkspace.negate(),
IsSessionsWindowContext.negate(),
);
export const ChatEditorTitleMaxLength = 30;
export const CHAT_TERMINAL_OUTPUT_MAX_PREVIEW_LINES = 1000;
@@ -5,28 +5,25 @@
import { ServicesAccessor } from '../../../../../editor/browser/editorExtensions.js';
import { localize2 } from '../../../../../nls.js';
import { Action2, MenuId } from '../../../../../platform/actions/common/actions.js';
import { ContextKeyExpr } from '../../../../../platform/contextkey/common/contextkey.js';
import { INativeHostService } from '../../../../../platform/native/common/native.js';
import { ChatEntitlementContextKeys } from '../../../../services/chat/common/chatEntitlementService.js';
import { CHAT_CATEGORY } from '../../browser/actions/chatActions.js';
import { IsSessionsWindowContext } from '../../../../common/contextkeys.js';
import { isMacintosh, isWindows } from '../../../../../base/common/platform.js';
import { IWorkbenchEnvironmentService } from '../../../../services/environment/common/environmentService.js';
import { ProductQualityContext } from '../../../../../platform/contextkey/common/contextkeys.js';
import { OPEN_AGENTS_WINDOW_COMMAND_ID, OPEN_AGENTS_WINDOW_PRECONDITION } from '../../common/constants.js';
export class OpenAgentsWindowAction extends Action2 {
constructor() {
super({
id: 'workbench.action.openAgentsWindow',
id: OPEN_AGENTS_WINDOW_COMMAND_ID,
title: localize2('openAgentsWindow', "Open Agents Application"),
category: CHAT_CATEGORY,
precondition: ContextKeyExpr.and(ProductQualityContext.notEqualsTo('stable'), ChatEntitlementContextKeys.Setup.hidden.negate(), ChatEntitlementContextKeys.Setup.disabledInWorkspace.negate(), IsSessionsWindowContext.negate()),
precondition: OPEN_AGENTS_WINDOW_PRECONDITION,
f1: true,
menu: [{
id: MenuId.ChatTitleBarMenu,
group: 'c_sessions',
order: 1,
when: ContextKeyExpr.and(ProductQualityContext.notEqualsTo('stable'), ChatEntitlementContextKeys.Setup.hidden.negate(), ChatEntitlementContextKeys.Setup.disabledInWorkspace.negate(), IsSessionsWindowContext.negate())
when: OPEN_AGENTS_WINDOW_PRECONDITION,
}]
});
}