Skip to content

Commit e11c2e1

Browse files
committed
Merge branch 'main' into dev/mjbvz/format-all
2 parents 1af0a6d + bb7fc98 commit e11c2e1

File tree

6 files changed

+21
-310
lines changed

6 files changed

+21
-310
lines changed

chat-model-provider-sample/package-lock.json

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

chat-model-provider-sample/package.json

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
{
22
"name": "chat-model-provider-sample",
3-
"enabledApiProposals": [
4-
"chatProvider"
5-
],
63
"publisher": "vscode-samples",
74
"displayName": "Copilot Model Provider Sample",
85
"description": "Sample extension which provides chat models via the LM API.",
@@ -12,17 +9,14 @@
129
},
1310
"version": "0.1.0",
1411
"engines": {
15-
"vscode": "^1.103.0-20250721"
12+
"vscode": "^1.104"
1613
},
1714
"categories": [
1815
"AI",
1916
"Chat"
2017
],
21-
"activationEvents": [
22-
"onStartupFinished"
23-
],
2418
"contributes": {
25-
"languageModels": [
19+
"languageModelChatProviders": [
2620
{
2721
"vendor": "sample",
2822
"displayName": "Sample Model Vendor"
@@ -39,12 +33,13 @@
3933
"lint": "eslint",
4034
"watch": "tsc -watch -p ./"
4135
},
36+
"dependencies": { },
4237
"devDependencies": {
4338
"@eslint/js": "^9.13.0",
4439
"@stylistic/eslint-plugin": "^2.9.0",
4540
"@types/node": "^22",
46-
"@types/vscode": "^1.102.0",
4741
"@vscode/dts": "^0.4.1",
42+
"@types/vscode": "^1.104.0",
4843
"eslint": "^9.13.0",
4944
"typescript": "^5.9.2",
5045
"typescript-eslint": "^8.39.0"

chat-model-provider-sample/src/extension.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import * as vscode from 'vscode';
22
import { SampleChatModelProvider } from './provider';
33

44
export function activate(_: vscode.ExtensionContext) {
5-
vscode.lm.registerChatModelProvider('sample', new SampleChatModelProvider());
5+
vscode.lm.registerLanguageModelChatProvider('sample', new SampleChatModelProvider());
66
}
77

88
export function deactivate() { }

chat-model-provider-sample/src/provider.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,35 @@
1-
import { CancellationToken, ChatResponseFragment2, LanguageModelChatInformation, LanguageModelChatMessage, LanguageModelChatProvider2, LanguageModelChatRequestHandleOptions, LanguageModelTextPart, Progress, ProviderResult } from "vscode";
1+
import { CancellationToken, LanguageModelChatInformation, LanguageModelChatMessage, LanguageModelChatProvider, LanguageModelResponsePart, LanguageModelTextPart, Progress, ProvideLanguageModelChatResponseOptions, ProviderResult } from "vscode";
22

33
function getChatModelInfo(id: string, name: string): LanguageModelChatInformation {
44
return {
55
id,
66
name,
7-
description: "A sample chat model for demonstration purposes.",
7+
tooltip: "A sample chat model for demonstration purposes.",
88
family: "sample-family",
99
maxInputTokens: 120000,
1010
maxOutputTokens: 8192,
1111
version: "1.0.0",
1212
capabilities: {
1313
toolCalling: true,
14-
vision: true,
14+
imageInput: true,
1515
}
1616
};
1717
}
1818

19-
export class SampleChatModelProvider implements LanguageModelChatProvider2 {
20-
prepareLanguageModelChat(_options: { silent: boolean; }, _token: CancellationToken): ProviderResult<LanguageModelChatInformation[]> {
19+
export class SampleChatModelProvider implements LanguageModelChatProvider {
20+
provideLanguageModelChatInformation(_options: { silent: boolean; }, _token: CancellationToken): ProviderResult<LanguageModelChatInformation[]> {
2121
return [
2222
getChatModelInfo("sample-dog-model", "Dog Model"),
2323
getChatModelInfo("sample-cat-model", "Cat Model"),
2424
];
2525
}
26-
async provideLanguageModelChatResponse(model: LanguageModelChatInformation, _messages: Array<LanguageModelChatMessage>, _options: LanguageModelChatRequestHandleOptions, progress: Progress<ChatResponseFragment2>, _token: CancellationToken): Promise<void> {
26+
async provideLanguageModelChatResponse(model: LanguageModelChatInformation, _messages: Array<LanguageModelChatMessage>, _options: ProvideLanguageModelChatResponseOptions, progress: Progress<LanguageModelResponsePart>, _token: CancellationToken): Promise<void> {
2727
if (model.id === "sample-dog-model") {
28-
progress.report({ index: 0, part: new LanguageModelTextPart("Woof! This is a dog model response.") });
28+
progress.report(new LanguageModelTextPart("Woof! This is a dog model response."));
2929
} else if (model.id === "sample-cat-model") {
30-
progress.report({ index: 0, part: new LanguageModelTextPart("Meow! This is a cat model response.") });
30+
progress.report(new LanguageModelTextPart("Meow! This is a cat model response."));
3131
} else {
32-
progress.report({ index: 0, part: new LanguageModelTextPart("Unknown model.") });
32+
progress.report(new LanguageModelTextPart("Unknown model."));
3333
}
3434
}
3535
async provideTokenCount(_model: LanguageModelChatInformation, _text: string | LanguageModelChatMessage, _token: CancellationToken): Promise<number> {

chat-model-provider-sample/tsconfig.json

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,5 @@
1414
// "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */
1515
// "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
1616
// "noUnusedParameters": true, /* Report errors on unused parameters. */
17-
},
18-
"include": [
19-
"src/**/*",
20-
"vscode.d.ts",
21-
"vscode.proposed.chatProvider.d.ts"
22-
]
23-
}
17+
}
18+
}

0 commit comments

Comments
 (0)