Skip to content

Commit 86585d7

Browse files
authored
some api notes (#249993)
1 parent 6ad545f commit 86585d7

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

src/vscode-dts/vscode.proposed.chatProvider.d.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,29 @@ declare module 'vscode' {
1212

1313
// @API extension ship a d.ts files for their options
1414

15+
// @API the LanguageModelChatProvider2 is an alternative that combines a source, like ollama etc, with
16+
// concrete models. The `provideLanguageModelChatData` would do the discovery and auth dances and later
17+
// the model data is passed to the concrete function for making a requested or counting token
18+
19+
export interface LanguageModelChatData {
20+
// like ChatResponseProviderMetadata
21+
}
22+
23+
export interface LanguageModelChatProvider2 {
24+
25+
provideLanguageModelChatData(options: { force: boolean }, token: CancellationToken): ProviderResult<LanguageModelChatData[]>;
26+
27+
provideResponse(model: LanguageModelChatData, messages: Array<LanguageModelChatMessage | LanguageModelChatMessage2>, options: LanguageModelChatRequestOptions, extensionId: string, progress: Progress<ChatResponseFragment2>, token: CancellationToken): Thenable<any>;
28+
29+
provideTokenCount(model: LanguageModelChatData, text: string | LanguageModelChatMessage | LanguageModelChatMessage2, token: CancellationToken): Thenable<number>;
30+
}
31+
1532
/**
1633
* Represents a large language model that accepts ChatML messages and produces a streaming response
1734
*/
1835
export interface LanguageModelChatProvider {
1936

37+
// TODO@API remove or keep proposed?
2038
onDidReceiveLanguageModelResponse2?: Event<{ readonly extensionId: string; readonly participant?: string; readonly tokenCount?: number }>;
2139

2240
provideLanguageModelResponse(messages: Array<LanguageModelChatMessage | LanguageModelChatMessage2>, options: LanguageModelChatRequestOptions, extensionId: string, progress: Progress<ChatResponseFragment2>, token: CancellationToken): Thenable<any>;

0 commit comments

Comments
 (0)