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 type { ConfigPropertySchema, RootState } from './state/protocol/state.js';
7
>
8
>
export const AGENT_CUSTOMIZATION_SETTINGS_META_KEY = 'vscode.agentCustomizationSettings';
9
>
10
>
export interface IAgentCustomizationSettingDescriptor {
11
>
readonly key: string;
12
>
readonly group: string;
13
>
readonly kind?: 'multiline';
14
>
readonly saveLabel?: string;
15
>
}
16
>
17
>
export interface IAgentCustomizationSettingsDescriptor {
18
>
readonly provider: string;
19
>
readonly title: string;
20
>
readonly description: string;
21
>
readonly settings: readonly IAgentCustomizationSettingDescriptor[];
22
>
readonly configurationFile?: {
23
>
readonly resource: string;
24
>
readonly title: string;
25
>
readonly description: string;
26
>
readonly openLabel: string;
27
>
readonly documentationUrl?: string;
28
>
readonly documentationLabel?: string;
29
>
};
30
>
}
31
>
32
>
export interface IAgentCustomizationSettingsRegistration extends IAgentCustomizationSettingsDescriptor {
33
>
readonly properties: Readonly<Record<string, ConfigPropertySchema>>;
34
>
}
35
>
36
function isAgentCustomizationSettingDescriptor(value: unknown): value is IAgentCustomizationSettingDescriptor {
37
if (!value || typeof value !== 'object') {