Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/src/vs/workbench/contrib/chat/test/common/mockLanguageModelToolsService.ts
3296 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 { CancellationToken } from '../../../../../base/common/cancellation.js';
7
import { Event } from '../../../../../base/common/event.js';
8
import { Disposable, IDisposable } from '../../../../../base/common/lifecycle.js';
9
import { constObservable, IObservable } from '../../../../../base/common/observable.js';
10
import { IProgressStep } from '../../../../../platform/progress/common/progress.js';
11
import { IVariableReference } from '../../common/chatModes.js';
12
import { ChatRequestToolReferenceEntry } from '../../common/chatVariableEntries.js';
13
import { CountTokensCallback, ILanguageModelToolsService, IToolAndToolSetEnablementMap, IToolData, IToolImpl, IToolInvocation, IToolResult, ToolSet } from '../../common/languageModelToolsService.js';
14
15
export class MockLanguageModelToolsService implements ILanguageModelToolsService {
16
_serviceBrand: undefined;
17
18
constructor() { }
19
20
cancelToolCallsForRequest(requestId: string): void {
21
}
22
23
onDidChangeTools: Event<void> = Event.None;
24
25
registerToolData(toolData: IToolData): IDisposable {
26
return Disposable.None;
27
}
28
29
resetToolAutoConfirmation(): void {
30
31
}
32
33
setToolAutoConfirmation(toolId: string, scope: any): void {
34
35
}
36
37
getToolAutoConfirmation(toolId: string): 'never' {
38
return 'never';
39
}
40
41
registerToolImplementation(name: string, tool: IToolImpl): IDisposable {
42
return Disposable.None;
43
}
44
45
registerTool(toolData: IToolData, tool: IToolImpl): IDisposable {
46
return Disposable.None;
47
}
48
49
getTools(): Iterable<Readonly<IToolData>> {
50
return [];
51
}
52
53
getTool(id: string): IToolData | undefined {
54
return undefined;
55
}
56
57
getToolByName(name: string, includeDisabled?: boolean): IToolData | undefined {
58
return undefined;
59
}
60
61
acceptProgress(sessionId: string | undefined, callId: string, progress: IProgressStep): void {
62
63
}
64
65
async invokeTool(dto: IToolInvocation, countTokens: CountTokensCallback, token: CancellationToken): Promise<IToolResult> {
66
return {
67
content: [{ kind: 'text', value: 'result' }]
68
};
69
}
70
71
toolSets: IObservable<readonly ToolSet[]> = constObservable([]);
72
73
getToolSetByName(name: string): ToolSet | undefined {
74
return undefined;
75
}
76
77
getToolSet(id: string): ToolSet | undefined {
78
return undefined;
79
}
80
81
createToolSet(): ToolSet & IDisposable {
82
throw new Error('Method not implemented.');
83
}
84
85
toToolEnablementMap(toolOrToolSetNames: Set<string>): Record<string, boolean> {
86
throw new Error('Method not implemented.');
87
}
88
89
toToolAndToolSetEnablementMap(toolOrToolSetNames: readonly string[]): IToolAndToolSetEnablementMap {
90
throw new Error('Method not implemented.');
91
}
92
93
toToolReferences(variableReferences: readonly IVariableReference[]): ChatRequestToolReferenceEntry[] {
94
throw new Error('Method not implemented.');
95
}
96
}
97
98