Commit Graph

59 Commits

Author SHA1 Message Date
Sandeep Somavarapu
a831cc9f3d Fix #275134 (#289347) 2026-01-21 11:54:09 +01:00
Johannes Rieken
23f6c25c9b Allow vscode.LanguageModelChatInformation#isDefault to be per chat location (#287527)
We have `isDefault` which allows a model to indicate that it is the best/most-recommended model. This PR extends this concept to define default by location, e.g for inline chat a different default model might apply than for panel chat or terminal chat
2026-01-13 10:45:38 -05:00
Sandeep Somavarapu
5a670bcbe7 polish language models management editor (#287110)
* polish

* fix compilation
2026-01-12 08:17:12 -08:00
Sandeep Somavarapu
5f2a60a78a implement configuring language models from the editor (#286616)
* improvements to manage models

* fix errors

* remove quality check

* fix compilation

* handle errors and display in table

* remove commented code

* fix tests

* fix tests

* use unique model identifier across groups

* fix handling model identifier in the editor
2026-01-11 07:36:45 +01:00
Connor Peet
a99fc36ea9 api: allow byok model providers to hint at good edit tools (#268506)
* api: allow byok model providers to hint at good edit tools

For our own models, we set up the edit tools they get. For generic open-
ended providers like OpenRouter, we will have a 'learning' functionality.
But for BYOK providers that can provide a curated set of models (e.g.
Cerebras) we should let them tell us what edit tool is appropriate for
models they give us so users have a good experience from request 0.

The API is intentionally loose because edit tools continue to evolve and
our set of available tools will continue to change. So I do not surface
any of these in actual API types, but give a string array of hints the
provider can give us. If in the future none of the tools they hint are
ones we recognize, as the space evolves, then the chat extension will
fall back to its default learning behavior.

* comment
2025-09-26 12:58:15 -07:00
Logan Ramos
2eae3caa26 Implement API changes from TPI feedback (#265213)
* Implement API changes from TPI feedback

* Update names

* Handle old fallback
2025-09-04 17:45:03 -04:00
Logan Ramos
530d1ddf74 Allow rendering a theme icon with a chat model (#264061) 2025-08-29 13:34:41 -07:00
Logan Ramos
a18d41e90a Finalize LM API (#263415)
* Finalize BYOK API

* More byok

* Fix compile errors

* Feedback

* Fix fat fingering

* Fix capabilities

* Bump version

* Rename contrib point + activation events

* Update test

* Add proposed api check to require authorization

* Change comment
2025-08-27 17:25:34 +00:00
Logan Ramos
4b23f96ddd Update BYOK API with more feedback (#262736)
* Update some names

* Update version

* Allow undefined model options
2025-08-21 17:06:50 +00:00
Logan Ramos
eadd76d8df Add comments to the BYOK API (#262543) 2025-08-20 21:34:41 +02:00
Matt Bierner
08819ddcaa Propose a few tweaks/todos for chatProvider (#262174) 2025-08-19 10:20:27 -04:00
Rob Lourens
437efbc32c Bump API version for microsoft/vscode-copilot-chat/pull/608 (#261725)
Bump private because extensions that don't declare a version for a proposal will still be treated as compatible, and we're adding it to chatProvider for the first time
2025-08-14 18:40:59 -07:00
Logan Ramos
f6b2bec410 Modify LM api based on feedback (#261645)
* API feedback

* Some further API cleanup

* Some API stuff

* Try more cleanup

* CI please pass

* READONLY
2025-08-14 16:59:44 -04:00
Justin Chen
43a9dc0df3 chain of thought API (#259939)
* cot api and rendering

* working progress streaminig

* streaming working

* collapsable thinking block

* some better styling

* fix merge conflict

* some cleaned up styling, removing copilot css

* label updates

* some vibe coded timer work

* fix anotha merge conflict

* thinking part with timer better

* render tools inside thinking container

* render markdown in container

* revert and remove majority ui changes

* fix some merge conflicts

* some cleanup

* hygiene
2025-08-06 00:47:36 -07:00
Rob Lourens
7e6267da4e Enable returning LanguageModelDataPart from chat provider (#259843)
* Start making datapart work with an LMChatProvider

* Cleanup IChatResponseDataPart

* Handle buffers in LM ipc correctly

* Cleanup
2025-08-05 10:28:42 -07:00
Logan Ramos
8551a1d51d Finalize the bring your own key api (#255892)
* Start small

* start on new byok api

* Some more api work

* Hook up more of the API

* A single file with no errors yay!

* Some cleanup

* Slow and steady progress

* More code

* Add resolve

* Hate everything

* More progress on rewriting id

* Some error fixing

* Fix null service

* Use claude to fix tests

* Fix tests

* Fix tests

* More test fixing

* Some setup

* Some model picker stuff

* Fix model picker with new BYOK api

* Remove support for contirbuting to mdel picker action bar

* Adjust to allow for user prompting

* Add event

* Fix conflicts
2025-07-18 13:42:55 -04:00
Johannes Rieken
cfa7c4d2ef more API notes (#251215)
* more API notes

https://github.com/microsoft/vscode/issues/250007

* fix compile error
2025-06-12 02:16:54 -07:00
Johannes Rieken
4e037b6e1f more API todos (#251023)
https://github.com/microsoft/vscode/issues/250007
2025-06-09 20:30:06 +02:00
Johannes Rieken
b2203d7a02 api notes/todos (#251020) 2025-06-09 10:33:37 -07:00
Johannes Rieken
86585d78bc some api notes (#249993) 2025-05-28 21:11:56 +02:00
Logan Ramos
d8b03f9138 Update categories to respect ordering + improve model picker tooltip (#247328) 2025-04-24 11:30:56 -07:00
Logan Ramos
7097d6a43d Register categories as part of LM provider (#247146)
* Revert "Revert "Support categories in model picker (#247084)" (#247090)"

This reverts commit 29c0ca5e1e.

* Switch model categories to be part of registration
2025-04-22 10:25:35 -07:00
SteVen Batten
29c0ca5e1e Revert "Support categories in model picker (#247084)" (#247090)
This reverts commit e0dc1d710a.
2025-04-21 20:00:58 -07:00
Logan Ramos
e0dc1d710a Support categories in model picker (#247084)
* Support categories in model picker

* Fix missing contribution registration
2025-04-21 17:10:46 -07:00
Logan Ramos
5f920106d0 Add tool tip + description support to action widget (#247075)
* Add description support to action widget

* Support custom tool tip

* Allow passing description through the API
2025-04-21 13:54:01 -07:00
Johannes Rieken
254a65698c chore - cleanup chat provider proposal (#245436) 2025-04-03 14:03:47 +02:00
Johannes Rieken
71da8b49fe cleanup old API proposal (#245384) 2025-04-02 21:44:40 +02:00
Justin Chen
23b3085b84 allow extensions to make LLM requests with image attachment (#243151)
* first pass language model image

* add language model 2 instead

* more languagemodel2

* change api shape

* add back original languagemodelchatmessage

* fix imports

* allow old languageModelChatMessage to also b used

* handle vsbuffer case

* make sure to resize images before sending the chat request

* remove detail

* remove whitespace

* rename to languageModelDataPart
2025-03-18 14:29:23 -07:00
Rob Lourens
ffa4a758e6 Move agent mode enablement for models to extension (#242104) 2025-02-26 20:11:16 +01:00
Rob Lourens
42c9c3eaa5 Add toolCalling capability to models (#238737)
* Add toolCalling capability to models
And filter out models that don't support it from the agent

* Fix build
2025-01-25 21:50:45 +00:00
Justin Chen
4c84c14479 add capabilities API and image warning (#238103)
* bump distro

* supports vision work

* better promise handling, clean up if statements

* more ui update

* make capabilities optional

* some cleanup

* fix function
2025-01-17 15:30:44 -08:00
Johannes Rieken
71d55cd282 chore - clean up LanguageModelChatProvider (step 1) (#232414)
* chore - clean up `LanguageModelChatProvider` (step 1)

* fix compilo
2024-10-28 14:38:51 +01:00
Rob Lourens
6148e1487a lmTools API polish (#230847)
* Simplify lmTools part names

* Remove unneeded isError

* Remove text/plain requirement for tools

* One more

* Bump API version

* Fix build
2024-10-09 13:28:01 +09:00
Rob Lourens
1d39939295 Implement chat model picker (#228784)
* basically works

* Default model

* Make it work without extension changes

* Proposed api and polish

* polish

* Fix
2024-09-17 06:21:00 -07:00
Rob Lourens
ed4db37c58 Tools API updates (#226493)
* Tools API updates
Support toolCallId, tool call parts in content2

* Fix
2024-08-23 15:48:14 -07:00
Johannes Rieken
ab9a1286f2 sketch up lm-extention that allows for function calling (#214334) 2024-06-05 16:32:08 +02:00
Johannes Rieken
2d174613d4 chore: Remove deprecated tokens property from vscode.proposed.chatProvider.d.ts (#213301)
* chore: Remove deprecated tokens property from vscode.proposed.chatProvider.d.ts

* fix compiler
2024-05-23 11:25:38 +02:00
Johannes Rieken
49bac27eb0 Update language model metadata and add logging (#212670)
* add logging when language model chat comes and goes and when selection happens

* have `max{Input|Output}Token` instead of contextSize. This reflect LM model reality better
2024-05-14 10:14:39 +02:00
Johannes Rieken
683f0a950a canSendRequest should take LanguageModelChat object and not an identifier (#212632) 2024-05-13 13:31:02 -07:00
Johannes
6990923699 spell-out selector type, allow to select/filter on specific extensions 2024-05-08 12:04:21 +02:00
Johannes
0d55bb645f add LanguageModelChat as explict object and add a select-function as the only way of getting to them 2024-05-08 11:44:47 +02:00
Johannes
c17d1835d4 lm next 2024-05-07 18:51:03 +02:00
Johannes Rieken
f8d3bd3909 remove old chat message types (#212148) 2024-05-07 10:31:23 +02:00
Johannes
22efbdf96c * return LanguageModelChatMessageRole and the simple chat message LanguageModelChatMessage2 because all types became same, same
* deprecate the other types and prepare deletion
* move System-role into its own proposal because of API and RAI concerns
* more API notes
2024-05-06 11:00:17 +02:00
Sandeep Somavarapu
fc50081e23 support stats for language model usage (#210905)
* support stats for language model usage

* cleanup

* update api
2024-04-22 14:52:34 +02:00
Johannes Rieken
e700ece8e3 Joh/languageModelInformation (#210490)
* add `LanguageModelInformation` interface

* tweaks to the language models metadata API

* update docs

* 💄

* add removal comments
2024-04-16 19:22:06 +02:00
Johannes Rieken
a808279539 first version of token counting API (#210177)
https://github.com/microsoft/vscode/issues/206265
2024-04-11 18:30:52 +02:00
Johannes Rieken
4f0e2a843f refine language model (#206358)
* api - use `LanguageModelChat` prefix for messages and response, add todos

* update todos, tweak how `chatRequest` errors, remove `LanguageModelChatResponse#result`

* api - refine language model access

removes `requestLanguageModelAccess`,
removes `LanguageModelChatResponse#result`,
adds `LanguageModelChatRequestOptions`,
refines how errors happen when making a chat request

* use `throw` over Promise.reject

* don't error from `_getAuthAccess`, polish error messages

* rename to `sendChatRequest`
2024-02-27 18:14:05 +01:00
Johannes Rieken
20501b7a4e Chat API updates (#205184)
* api - remove unused types, add jsdoc, make request handler setable (for consistency), more readonly usage

https://github.com/microsoft/vscode/issues/199908

* remove ChatMessage and Role

* fix a ton of compile errors...

* jsdoc
2024-02-14 12:19:03 +01:00
Johannes
72d1ad1be8 remove ChatMessage and add types LanguageModelMessage types so that they can evolve at their own pace
https://github.com/microsoft/vscode/issues/199908
2024-02-13 15:42:19 +01:00