- Adopting for code blocks
- Switching to use safer `LocalChatSessionUri.parseLocalSessionId` in a few more spots
- Adopting for some contexts and a few more apis
Moves the chat service public APIs to use uris for identifying sessions instead of ids. These uris are preferred as they work correctly for both contributed and local session
This ends up touch a lot of the chat apis. In most cases, the change is simply to pass in the URI instead of the id. In a few cases where the URI hasn't been fully hooked up, I am using `LocalChatSessionUri` to do this conversation
For the chat session implementation, I also switched to use resource maps to store session specific information instead of a normal map
- We will use `vscodeChatEditor` for the `new chat editor` flow
- Keep `vscode-chat-session` but make it clear it's only for local chat sessions
- Get rid of the `target: sessionId` support for chat editors and instead use `vscode-chat-session` uris
- Mark `Session.id` as deprecated as the resource should be preferred
* Start work on using URIs to identify sessions
This starts switching us from id+types to use uris to identify chat sessions. I already added very basic support for this but in this next step I think we need a breaking change so that we can avoid adding more and more hacks and complexity to support this
* More work
* Add docs
* Fix indent
* Bump api
* Fix quotes
* Fix tests
* fix compile errors for mockChatSessionService
* Fix mockChatSessionService
* Update getChatSessionType
* Make sure resolver also registers any initial schemes
* add ChatSessionService.hasAnySessionOptions()
---------
Co-authored-by: Peng Lyu <penn.lv@gmail.com>
Co-authored-by: Josh Spicer <23246594+joshspicer@users.noreply.github.com>
* Start on storing chat sessions on fs
* More
* More ChatSesssionStore work
* More changes
* More fixes
* Avoid layer break
* Handle clear session, block shutdown while saving, handle other cases
* Key name
* Fix build error
* Tweaks
* Don't show migrated empty sessions in hsitory
* Comment out unused transfer code for now
* Fix test
This represents the location in which chat started, it also comes with `startSession(location)`. Finally, pass the location along when asking for sample questions
* 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