Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/src/vs/workbench/contrib/chat/common/contextContrib/chatContext.ts
5257 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 { CancellationToken } from '../../../../../base/common/cancellation.js';
7
import { ThemeIcon } from '../../../../../base/common/themables.js';
8
import { URI } from '../../../../../base/common/uri.js';
9
10
import { IMarkdownString } from '../../../../../base/common/htmlContent.js';
11
12
export interface IChatContextItem {
13
icon?: ThemeIcon;
14
label?: string;
15
resourceUri?: URI;
16
modelDescription?: string;
17
tooltip?: IMarkdownString;
18
handle: number;
19
value?: string;
20
command?: {
21
id: string;
22
};
23
}
24
25
export interface IChatWorkspaceContextProvider {
26
provideWorkspaceChatContext(token: CancellationToken): Promise<IChatContextItem[]>;
27
}
28
29
export interface IChatExplicitContextProvider {
30
provideChatContext(token: CancellationToken): Promise<IChatContextItem[]>;
31
resolveChatContext(context: IChatContextItem, token: CancellationToken): Promise<IChatContextItem>;
32
}
33
34
export interface IChatResourceContextProvider {
35
provideChatContext(resource: URI, withValue: boolean, token: CancellationToken): Promise<IChatContextItem | undefined>;
36
resolveChatContext(context: IChatContextItem, token: CancellationToken): Promise<IChatContextItem>;
37
}
38
39