Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/extensions/copilot/src/platform/inlineEdits/common/inlineEditsModelService.ts
13400 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 type * as vscode from 'vscode';
7
import { createServiceIdentifier } from '../../../util/common/services';
8
import { Event } from '../../../util/vs/base/common/event';
9
import { ModelConfiguration } from './dataTypes/xtabPromptOptions';
10
11
export interface IInlineEditsModelService {
12
readonly _serviceBrand: undefined;
13
14
readonly modelInfo: vscode.InlineCompletionModelInfo | undefined;
15
16
readonly onModelListUpdated: Event<void>;
17
18
setCurrentModelId(modelId: string): Promise<void>;
19
20
selectedModelConfiguration(): ModelConfiguration;
21
22
defaultModelConfiguration(): ModelConfiguration;
23
}
24
25
export const IInlineEditsModelService = createServiceIdentifier<IInlineEditsModelService>('IInlineEditsModelService');
26
27
export interface IUndesiredModelsManager {
28
readonly _serviceBrand: undefined;
29
readonly onDidChange: Event<void>;
30
isUndesiredModelId(modelId: string): boolean;
31
addUndesiredModelId(modelId: string): Promise<void>;
32
removeUndesiredModelId(modelId: string): Promise<void>;
33
}
34
35
export const IUndesiredModelsManager = createServiceIdentifier<IUndesiredModelsManager>('IUndesiredModelsManager');
36
37
export class NullUndesiredModelsManager implements IUndesiredModelsManager {
38
declare _serviceBrand: undefined;
39
40
readonly onDidChange = Event.None;
41
42
isUndesiredModelId(_modelId: string): boolean {
43
return false;
44
}
45
addUndesiredModelId(_modelId: string): Promise<void> {
46
return Promise.resolve();
47
}
48
removeUndesiredModelId(_modelId: string): Promise<void> {
49
return Promise.resolve();
50
}
51
}
52
53