Path: blob/main/src/vs/workbench/contrib/chat/common/contextContrib/chatContext.ts
5257 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 { CancellationToken } from '../../../../../base/common/cancellation.js';6import { ThemeIcon } from '../../../../../base/common/themables.js';7import { URI } from '../../../../../base/common/uri.js';89import { IMarkdownString } from '../../../../../base/common/htmlContent.js';1011export interface IChatContextItem {12icon?: ThemeIcon;13label?: string;14resourceUri?: URI;15modelDescription?: string;16tooltip?: IMarkdownString;17handle: number;18value?: string;19command?: {20id: string;21};22}2324export interface IChatWorkspaceContextProvider {25provideWorkspaceChatContext(token: CancellationToken): Promise<IChatContextItem[]>;26}2728export interface IChatExplicitContextProvider {29provideChatContext(token: CancellationToken): Promise<IChatContextItem[]>;30resolveChatContext(context: IChatContextItem, token: CancellationToken): Promise<IChatContextItem>;31}3233export interface IChatResourceContextProvider {34provideChatContext(resource: URI, withValue: boolean, token: CancellationToken): Promise<IChatContextItem | undefined>;35resolveChatContext(context: IChatContextItem, token: CancellationToken): Promise<IChatContextItem>;36}373839