Commit Graph

1133 Commits

Author SHA1 Message Date
Tyler James Leonhardt
3e2f34ebe8 Address API sync feedback for challenges API (#265921)
* Address API sync feedback for challenges API

* use `fallbackScopes` instead of `scopes`
* `WWW`-> `Www`

ref https://github.com/microsoft/vscode/issues/260156

* adopt the change
2025-09-09 17:05:43 -04:00
Benjamin Pasero
8a48ecc72b chat - towards experimental anonymous access (#265806) 2025-09-09 14:15:50 +00:00
Alexandru Dima
2617e6ca16 Add proposed API for code and model inline completions unification (#265101)
* Add proposed API for code and model inline completions unification

* Remove the assertion from the event

* Allow api tests to use new API
2025-09-04 11:23:57 +02:00
Josh Spicer
509d9f4ab1 chatSessions supportHotReload (#263701)
chatSessions supportHotReload (https://github.com/microsoft/vscode/issues/259967)
2025-08-27 23:59:17 +00: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
Tyler James Leonhardt
5eaa23c2a9 Update challenges proposal shape (#263484)
ref https://github.com/microsoft/vscode/issues/260156
2025-08-26 15:40:35 -07:00
Don Jayamanne
296ca9c6fa Support next edits suggestions for different text documents (#261714) 2025-08-18 11:07:14 +02:00
Tyler James Leonhardt
cf433b58e5 Ability to pass down WWW-Authenticate challenges down to Auth Providers (#261717)
* Initial plan

* Implement authentication challenges support for mandatory MFA

Co-authored-by: TylerLeonhardt <2644648+TylerLeonhardt@users.noreply.github.com>

* Add documentation and integration test for authentication challenges

Co-authored-by: TylerLeonhardt <2644648+TylerLeonhardt@users.noreply.github.com>

* Add validation script and finalize implementation

Co-authored-by: TylerLeonhardt <2644648+TylerLeonhardt@users.noreply.github.com>

* Update authentication challenges API to use AuthenticationConstraint interface

Co-authored-by: TylerLeonhardt <2644648+TylerLeonhardt@users.noreply.github.com>

* Get it compiling... who knows if it works

* New parseWWWAuthenticateHeader behavior

* works

* let's go with this for now

* Good shape

* bye

* final polish

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2025-08-14 18:10:05 -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
Copilot
533e889ea9 Add description and status properties to ChatSessionItem interface (#261292)
* Initial plan

* Add description and status properties to ChatSessionItem interface

Co-authored-by: osortega <48293249+osortega@users.noreply.github.com>

* Update extHostChatSessions to pass through new description and status properties

Co-authored-by: osortega <48293249+osortega@users.noreply.github.com>

* Two line

* Support for tooltip

* API update

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: osortega <48293249+osortega@users.noreply.github.com>
Co-authored-by: Osvaldo Ortega <osortega@microsoft.com>
2025-08-13 23:02:19 +00: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
Connor Peet
929f67b87d api: generalize ToolResultAudience->LanguageModelTextPart (#259273)
- Generalize as these parts are used in chat responses as well as tool
  results.
- Add a new 'extension' type for internal-only use.
2025-08-04 11:25:47 +02:00
Rob Lourens
67212013a4 Add the ability to clear a ChatResponseStream, passing in a reason which results in a warning being displayed (#257271) (#259370)
* Add the ability to clear a ChatResponseStream, passing in a reason which results in a warning being displayed

* Changing ChatResponseStream.clear to ChatResponseStream.clearToPreviousToolInvocation and only clearing up to the last tool invocation

* Remove unnecessary code block

Co-authored-by: James Wang <120431051+jwangxx@users.noreply.github.com>
2025-08-04 02:37:35 +02:00
Peng Lyu
9b64bd6376 Support contributed file changes/diff part 2025-07-25 14:43:31 -07:00
Matt Bierner
f82ba78af1 Better align chat output renders api with existing apis
Change to register with a `viewType` that is mapped to mime types by the contributions. This better matches other apis such as custom documents and also would enable having multiple possible renderers for a given output item
2025-07-25 12:49:53 -07:00
Alex Ross
1155663cc7 Add ToolResultAudience and ChatResponsePullRequestPart (#257806)
* Add ToolResultAudience and ChatResponsePullRequestPart
Part of #255383

* Clean up
2025-07-25 08:26:56 -07:00
Peng Lyu
b37e65e5e3 request handler hook 2025-07-23 17:37:56 -07:00
Peng Lyu
606e495c4d Merge remote-tracking branch 'origin/main' into joshbot 2025-07-23 14:31:12 -07:00
Matt Bierner
94083de0be Start hooking up using uri for opening custom chat sessions 2025-07-23 13:43:27 -07:00
Peng Lyu
11242c9512 chat session ongoing progress 2025-07-22 21:15:40 -07:00
Daniel Imms
5accc605ce Merge remote-tracking branch 'origin/main' into tyriar/256552 2025-07-22 18:25:22 -07:00
Peng Lyu
ca4dfaa25f chat session content provider 2025-07-22 15:38:30 -07:00
Matt Bierner
e74e451644 Merge branch 'main' into quiet-leopon 2025-07-22 15:11:05 -07:00
Peng Lyu
eb405c8828 handle tool calls additional data 2025-07-22 13:31:14 -07:00
Peng Lyu
94acf00b15 integrate with conversation list 2025-07-22 10:00:07 -07:00
Daniel Imms
9e6770eee7 Remove IChatTerminalToolInvocationData
Fixes #256552
2025-07-22 09:12:32 -07:00
Matt Bierner
eb082b948b Reshape chat session api
Name and shape cleanup
2025-07-21 15:51:07 -07:00
Matt Bierner
abda8a2df3 Merge branch 'main' into quiet-leopon 2025-07-18 14:04:32 -07:00
Ladislau Szomoru
e7be6e9cff SCM - add proposed API to specify source control provider icons (#256762) 2025-07-18 12:54:18 -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
Osvaldo Ortega
714d1f5e90 Chat menu e2e 2025-07-17 23:19:40 -07:00
Osvaldo Ortega
abfecf5279 Merge pull request #256378 from microsoft/osortega/session-provider
Chat session provider
2025-07-17 14:53:12 -07:00
Connor Peet
25d003bcf6 tools: surface tool source in chat additions api (#256558)
For MCP I can already kind of get this from the tool name, but for
extension tools we previously had no way to know which extension
provided the tool.

This PR adds a `LanguageModelToolInformation.source` containing details
about where the tool came from. I also use this to include the MCP
server instructions which is needed for #250017.

cc @aeschli @roblourens
2025-07-17 22:25:25 +02:00
Osvaldo Ortega
dafcae737f Rename 2025-07-17 09:22:29 -07:00
Ladislau Szomoru
faa9f0afcc SCM - proposed API to represent parent/child relationship (#256242)
* Add plumbing for parent/child relationship

* Fix selected and view height

* More clean-up

* More fixes related to view height

* Dispose submodules and worktrees

* Add onDidDisposeParent event
2025-07-17 14:54:32 +00:00
Osvaldo Ortega
363cfcdc7a Typos 2025-07-16 22:50:02 -07:00
Osvaldo Ortega
50b691a23c Chat session provider 2025-07-16 19:13:05 -07:00
Connor Peet
d86855a647 tools: update tools of a chat request when they change (#256321)
Makes the `userSelectedTools` passed into the chat agent service
observable such that the tools of the ongoing request update as new
tools come in. The benefit of this versus other (previous) approaches
is that it reflects the enablement/disablement state of the picker
(which is likely to get additional controls in the future) and works
without special tagging.

@roblourens / @DonJayamanne I think with this we can get rid of

0d6f5516d2/src/extension/tools/vscode-node/toolsService.ts (L118-L122)

which was added for Jupyter iirc.

Closes #254684
2025-07-16 16:10:47 -07:00
Henning Dieterichs
67b27dba35 Implements data channels (#256226) 2025-07-16 13:43:02 +02:00
Megan Rogge
ee02bbaa82 modify the right arg (#255244) 2025-07-11 11:41:23 -04:00
Megan Rogge
141aa8582a check if thisArgs are defined (#255214) 2025-07-10 13:03:07 -07:00
Matt Bierner
50d370bd3b Add basic API for custom rendering inside of chat output
First sketch for a simple API that lets extensions render content in chat using a webview

Right now this is targeting results from tool calls but we could potentially extend this to work with a more generic version of our chat response image part
2025-07-09 18:08:20 -07:00
Megan Rogge
9362739ef4 add terminal to taskExecution (#254477)
fix #234440
2025-07-08 12:52:36 -04:00
Henning Dieterichs
488d6df795 Implements edit source tracking through proposed API (#252430)
Implements edit source tracking through proposed API
2025-06-26 10:52:51 +02:00
Henning Dieterichs
b31fceb67b Implements cancellationToken tracking (#251712)
* Implements cancellationToken tracking

* Fixes CI
2025-06-18 12:04:22 +02:00
Henning Dieterichs
82054fce09 Removes deprecated inline edit proposal 2025-06-16 17:36:59 +02:00
Tyler James Leonhardt
c235626145 issuer -> authorizationServer refactor (#250359)
* `issuer` -> `authorizationServer` refactor

Also:
* adds `authorizationServerGlobs` to the authentication contribution schema
* removes ugly MCP issuer hack and instead plumbs the authorizationServer down to the new auth providers
2025-06-02 17:38:21 -07:00
Tyler James Leonhardt
abf1002a81 Add loopback & device code flows (#250015) 2025-05-28 16:40:57 -07:00
Tyler James Leonhardt
3089b8262f Initial support of dynamic auth providers for MCP (#249501)
* Initial support of dynamic auth providers for MCP

With this change, we support being able to on-the-fly create an Auth Provider based on an oauth-authorization-server's metadata.

MCP then leverages this because by following the MCP spec we can figure out the oauth server metadata and then request a token from that server.

The tokens are persisted and will be refreshed on demand... all based on the OAuth spec.

* Connor's feedback & some type fixes
2025-05-22 17:11:36 +00:00
Tyler James Leonhardt
86efdcd2c1 Introduce Issuer handling in the Authentication stack (#248948)
Mostly plumbing... this enables:
```
vscode.authentication.getSession('microsoft', scopes, { issuer: "https://login.microsoftonline.com/common/v2.0" });
```
And the respective API for an auth providers to handle it being passed in.

This props up work in MCP land which needs a way to map an issuer to an auth provider... but I certainly see utility outside of that space.

Fixes https://github.com/microsoft/vscode/issues/248775#issuecomment-2876711396
2025-05-14 23:02:15 +02:00