Path: blob/main/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.ts
4780 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45import { localize } from '../../../../../nls.js';6import { Codicon } from '../../../../../base/common/codicons.js';7import { URI } from '../../../../../base/common/uri.js';8import { ThemeIcon } from '../../../../../base/common/themables.js';9import { localChatSessionType } from '../../common/chatSessionsService.js';10import { foreground, listActiveSelectionForeground, registerColor, transparent } from '../../../../../platform/theme/common/colorRegistry.js';1112export enum AgentSessionProviders {13Local = localChatSessionType,14Background = 'copilotcli',15Cloud = 'copilot-cloud-agent',16}1718export function getAgentSessionProviderName(provider: AgentSessionProviders): string {19switch (provider) {20case AgentSessionProviders.Local:21return localize('chat.session.providerLabel.local', "Local");22case AgentSessionProviders.Background:23return localize('chat.session.providerLabel.background', "Background");24case AgentSessionProviders.Cloud:25return localize('chat.session.providerLabel.cloud', "Cloud");26}27}2829export function getAgentSessionProviderIcon(provider: AgentSessionProviders): ThemeIcon {30switch (provider) {31case AgentSessionProviders.Local:32return Codicon.vm;33case AgentSessionProviders.Background:34return Codicon.worktree;35case AgentSessionProviders.Cloud:36return Codicon.cloud;37}38}3940export enum AgentSessionsViewerOrientation {41Stacked = 1,42SideBySide,43}4445export enum AgentSessionsViewerPosition {46Left = 1,47Right,48}4950export interface IAgentSessionsControl {51refresh(): void;52openFind(): void;53reveal(sessionResource: URI): void;54}5556export const agentSessionReadIndicatorForeground = registerColor(57'agentSessionReadIndicator.foreground',58{ dark: transparent(foreground, 0.15), light: transparent(foreground, 0.15), hcDark: null, hcLight: null },59localize('agentSessionReadIndicatorForeground', "Foreground color for the read indicator in an agent session.")60);6162export const agentSessionSelectedBadgeBorder = registerColor(63'agentSessionSelectedBadge.border',64{ dark: transparent(listActiveSelectionForeground, 0.3), light: transparent(listActiveSelectionForeground, 0.3), hcDark: foreground, hcLight: foreground },65localize('agentSessionSelectedBadgeBorder', "Border color for the badges in selected agent session items.")66);6768export const agentSessionSelectedUnfocusedBadgeBorder = registerColor(69'agentSessionSelectedUnfocusedBadge.border',70{ dark: transparent(foreground, 0.3), light: transparent(foreground, 0.3), hcDark: foreground, hcLight: foreground },71localize('agentSessionSelectedUnfocusedBadgeBorder', "Border color for the badges in selected agent session items when the view is unfocused.")72);7374export const AGENT_SESSION_RENAME_ACTION_ID = 'agentSession.rename';75export const AGENT_SESSION_DELETE_ACTION_ID = 'agentSession.delete';767778