Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/src/vs/workbench/contrib/chat/test/common/mockChatVariables.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 { ResourceMap } from '../../../../../base/common/map.js';
7
import { URI } from '../../../../../base/common/uri.js';
8
import { IChatVariablesService, IDynamicVariable } from '../../common/attachments/chatVariables.js';
9
import { IToolAndToolSetEnablementMap } from '../../common/tools/languageModelToolsService.js';
10
11
export class MockChatVariablesService implements IChatVariablesService {
12
_serviceBrand: undefined;
13
14
private _dynamicVariables = new ResourceMap<readonly IDynamicVariable[]>();
15
private _selectedToolAndToolSets = new ResourceMap<IToolAndToolSetEnablementMap>();
16
17
getDynamicVariables(sessionResource: URI): readonly IDynamicVariable[] {
18
return this._dynamicVariables.get(sessionResource) ?? [];
19
}
20
21
getSelectedToolAndToolSets(sessionResource: URI): IToolAndToolSetEnablementMap {
22
return this._selectedToolAndToolSets.get(sessionResource) ?? new Map();
23
}
24
25
setDynamicVariables(sessionResource: URI, variables: readonly IDynamicVariable[]): void {
26
this._dynamicVariables.set(sessionResource, variables);
27
}
28
29
setSelectedToolAndToolSets(sessionResource: URI, tools: IToolAndToolSetEnablementMap): void {
30
this._selectedToolAndToolSets.set(sessionResource, tools);
31
}
32
}
33
34