Path: blob/main/extensions/copilot/src/platform/inlineEdits/common/inlineEditsModelService.ts
13400 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 type * as vscode from 'vscode';6import { createServiceIdentifier } from '../../../util/common/services';7import { Event } from '../../../util/vs/base/common/event';8import { ModelConfiguration } from './dataTypes/xtabPromptOptions';910export interface IInlineEditsModelService {11readonly _serviceBrand: undefined;1213readonly modelInfo: vscode.InlineCompletionModelInfo | undefined;1415readonly onModelListUpdated: Event<void>;1617setCurrentModelId(modelId: string): Promise<void>;1819selectedModelConfiguration(): ModelConfiguration;2021defaultModelConfiguration(): ModelConfiguration;22}2324export const IInlineEditsModelService = createServiceIdentifier<IInlineEditsModelService>('IInlineEditsModelService');2526export interface IUndesiredModelsManager {27readonly _serviceBrand: undefined;28readonly onDidChange: Event<void>;29isUndesiredModelId(modelId: string): boolean;30addUndesiredModelId(modelId: string): Promise<void>;31removeUndesiredModelId(modelId: string): Promise<void>;32}3334export const IUndesiredModelsManager = createServiceIdentifier<IUndesiredModelsManager>('IUndesiredModelsManager');3536export class NullUndesiredModelsManager implements IUndesiredModelsManager {37declare _serviceBrand: undefined;3839readonly onDidChange = Event.None;4041isUndesiredModelId(_modelId: string): boolean {42return false;43}44addUndesiredModelId(_modelId: string): Promise<void> {45return Promise.resolve();46}47removeUndesiredModelId(_modelId: string): Promise<void> {48return Promise.resolve();49}50}515253