Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.ts
4780 views
1
/*---------------------------------------------------------------------------------------------
2
* Copyright (c) Microsoft Corporation. All rights reserved.
3
* Licensed under the MIT License. See License.txt in the project root for license information.
4
*--------------------------------------------------------------------------------------------*/
5
6
import { localize } from '../../../../../nls.js';
7
import { Codicon } from '../../../../../base/common/codicons.js';
8
import { URI } from '../../../../../base/common/uri.js';
9
import { ThemeIcon } from '../../../../../base/common/themables.js';
10
import { localChatSessionType } from '../../common/chatSessionsService.js';
11
import { foreground, listActiveSelectionForeground, registerColor, transparent } from '../../../../../platform/theme/common/colorRegistry.js';
12
13
export enum AgentSessionProviders {
14
Local = localChatSessionType,
15
Background = 'copilotcli',
16
Cloud = 'copilot-cloud-agent',
17
}
18
19
export function getAgentSessionProviderName(provider: AgentSessionProviders): string {
20
switch (provider) {
21
case AgentSessionProviders.Local:
22
return localize('chat.session.providerLabel.local', "Local");
23
case AgentSessionProviders.Background:
24
return localize('chat.session.providerLabel.background', "Background");
25
case AgentSessionProviders.Cloud:
26
return localize('chat.session.providerLabel.cloud', "Cloud");
27
}
28
}
29
30
export function getAgentSessionProviderIcon(provider: AgentSessionProviders): ThemeIcon {
31
switch (provider) {
32
case AgentSessionProviders.Local:
33
return Codicon.vm;
34
case AgentSessionProviders.Background:
35
return Codicon.worktree;
36
case AgentSessionProviders.Cloud:
37
return Codicon.cloud;
38
}
39
}
40
41
export enum AgentSessionsViewerOrientation {
42
Stacked = 1,
43
SideBySide,
44
}
45
46
export enum AgentSessionsViewerPosition {
47
Left = 1,
48
Right,
49
}
50
51
export interface IAgentSessionsControl {
52
refresh(): void;
53
openFind(): void;
54
reveal(sessionResource: URI): void;
55
}
56
57
export const agentSessionReadIndicatorForeground = registerColor(
58
'agentSessionReadIndicator.foreground',
59
{ dark: transparent(foreground, 0.15), light: transparent(foreground, 0.15), hcDark: null, hcLight: null },
60
localize('agentSessionReadIndicatorForeground', "Foreground color for the read indicator in an agent session.")
61
);
62
63
export const agentSessionSelectedBadgeBorder = registerColor(
64
'agentSessionSelectedBadge.border',
65
{ dark: transparent(listActiveSelectionForeground, 0.3), light: transparent(listActiveSelectionForeground, 0.3), hcDark: foreground, hcLight: foreground },
66
localize('agentSessionSelectedBadgeBorder', "Border color for the badges in selected agent session items.")
67
);
68
69
export const agentSessionSelectedUnfocusedBadgeBorder = registerColor(
70
'agentSessionSelectedUnfocusedBadge.border',
71
{ dark: transparent(foreground, 0.3), light: transparent(foreground, 0.3), hcDark: foreground, hcLight: foreground },
72
localize('agentSessionSelectedUnfocusedBadgeBorder', "Border color for the badges in selected agent session items when the view is unfocused.")
73
);
74
75
export const AGENT_SESSION_RENAME_ACTION_ID = 'agentSession.rename';
76
export const AGENT_SESSION_DELETE_ACTION_ID = 'agentSession.delete';
77
78