* 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
* Add proposed API for trusted domains and for web page extraction
I don't love the shape of this API but I'm going with this for now to play with it.
This will help Chat provide contents of web pages as context but also allow it full control of the tool.
ref https://github.com/microsoft/vscode/issues/243615
* use a different url
* delete the test until we have a good way to mock
Fixes#243454
This restores the previous behavior. If the default security settings are used, scripts will still block blocked by the CSP. If you fully disable the security settings, then we'll try to run them
* Adopt terminal suggest to shell api change
* Internally bring string enum for terminal suggest to prevent Typos
* Better word description under api description
* Remove shell proposed api against vscode.d.ts
* Update `shell` description after looking at feedbacks.
* Update docs
* Change to a Map<TerminalShellTye, string[]>
* One last typo
---------
Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
- There's an mcpDiscoveryRegistry that allows components to register in
how they discover MCP servers.
- Config discovery is one of these. Figured out all the bits for a
standalone file config shebang. Duplication there that could be
cleaned up but it works.
- The others are remote and local filesystem discovery. I ended up
making another message channel for the main process/remote server to
get a couple environment variables we need since I didn't see anything
generic for this already(?)

* Chat-related commands should not be available on web (without backend) (fix#241873)
* Remove notebook.cellOutput.addToChat from command palette
* Only show "Toggle agent mode" when chat enabled
* Show notebook.cellOutput.addToChat only when chat enabled
---------
Co-authored-by: Rob Lourens <roblourens@gmail.com>
I moved to a factory model because there was just so much that needed to be async.
I think the amount of async code will be reduced in the future as we remove some migration logic, but this makes sure we don't accidentally create instances without awaiting their initialization.
The point here is that the user already allowed access to the account for one client id, so that should just apply to any client id that is being used since:
* If we don't actually _have_ an auth token, the user will be asked to log in - so they will see a prompt as expected
* If we _do_ have an auth token, then we rely on extension auth access to gate access to the account
Fixes https://github.com/microsoft/vscode/issues/241526