* Update paste and drop proposals
Reworks the document paste and drop API proposals. Main highlights:
- Align more with code action api
- Allow a single paste provider to return multiple edits
- Allow resolving applied edits lazily
- Switch from using ids to scoped kinds like used for code actions
* Adding paste context
* Add context
* Update test
* 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`
* Tweak ChatFollowup
* Remove API TODOs
* New proposal for chat variable resolver
* Bump distro
* Enforce same-extension followup
* Add participant proposal to integration test folder
* Allow no participant for a followup
* Start renaming chat API from "agent" to "participant"
* Rename the rest of the API
* Rename in integration test
* Update integration test api proposals
* Bump distro
* 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
1. remove the requirement that it has to be done during agent invocation
2. don't ask for auth when the model provider and the model requester are the same extension
3. since we don't have "language model activation events" start with a simple 3*2s timeout poll to wait for the language model registration to happen. (scenario: an extension activates before the extension that registers the model activates)
* Leverage AuthenticationProviders for gating Language Model Access
Since we already have the Auth Stack which has a concept of "Managing Trusted Extensions" we can initially use that for gating Language Model Access so that when an extension asks for Language Model Access, they have to see a dialog first.
* Support multiple models and create AuthProviders on Core side
* - show all runtime information in runtime status feature
- show runtime feature information in runtime extensions editor
- filter extensions by feature in view
This reverts commit cda51f6ab4.
Have to revert this because I can't get the vscode-copilot change to work. I might try again tomorrow in a back-compatible way.
* Delete CommandFollowups and make inline chat use its own types for command followups
* Add command button, render it properly
* Manage the lifecycle of commands from chat command buttons
* Handle stale session command in type converter
* Fix