* Add Chat content 'vulnerabilities' to chat response stream
* Remove 'report' chat progress API and more cleanup
* Remove ChatProgress entirely
* Get participant detection into the new stream as well
* Reduce chat provider usage
* Clear out IChat props
* Delete interactive session provider API
* Totally remove static chat provider registration
* Clean up onDidRegisterProvider events
* Remove provider ID references from model
* Eliminate many 'providerId' references
* Simplify view registration
* Clean up participant-specific actions
* Delete getProviderInfos
* Rename context key
* Fix tests
* Fix action label
* Fix view title
* Fix test
* Fix test
* Fix integration test
* Remove more providerId
* Add API stub to make this compatible with the existing Copilot Chat
* Enable duplicate chat participant names
#208103
* Register participants with an ID
* Update participant history in API
* Changes to dupe chat suggest widget, and fix serialize/deserialize
* Tweaks
* Test fixes
* Fix tests
* Test fixes
* Fix integration test
* 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