Commit Graph

1209 Commits

Author SHA1 Message Date
Dmitriy Vasyura
e395fe2993 Finalize env.isAppPortalable API proposal (#297177) 2026-02-24 11:43:00 -08:00
Paul
c4c215b11f Feature: Chat Debug Panel (#296417) 2026-02-24 02:50:31 +00:00
Peng Lyu
6c1efa9aaf improve handling of titleTemplate for proposed API (#296760) 2026-02-22 00:13:34 +00:00
Peng Lyu
1643bdada5 proposed api check. 2026-02-20 14:03:27 -08:00
Ladislau Szomoru
aad7cbe1fb GitExtensionService - initial scaffolding of the service (#296341)
* Initial scaffolding

* Update src/vs/workbench/api/common/extHostGitExtensionService.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Pull request feedcback

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-19 20:51:14 +01:00
Benjamin Pasero
b1009c98bb Sessions exploration (#294912) 2026-02-17 14:14:39 +00:00
Bhavya U
e371f136a1 add support for fetching active chat session (#294992)
* add support for fetching active chat session

* refactor: rename activeChatSession to activeChatPanelSession and update related events
2026-02-12 15:01:33 -08:00
Rob Lourens
11bbecdc9c Move hook execution to extension (#294215)
* Refactor hook execution

* Fix compilation: add IExtHostHooks import, remove unused IHookResult, inline ChatRequestHooks type

* Move hooks property to chatHooks proposal, sync DTS

* cleanup

* Remove dead hook execution code: proxy, RPC, output channel, progress events

All hook execution now happens in the extension via NodeHookExecutor.
HooksExecutionService is now a pure registry (registerHooks/getHooksForSession).

Removed:
- executeHook, setProxy, onDidHookProgress from service
- IHooksExecutionProxy, IHookProgressEvent, HookAbortError, formatHookErrorMessage
- hooksCommandTypes.ts, hooksTypes.ts (dead type files)
- mainThreadHooks proxy setup
- extHostHooksNode., extHostHooksWorker.
- ExtHostHooksShape. protocol
- IExtHostHooks DI registrations
- ChatHooksProgressContribution
- All associated test files

* Remove HooksExecutionService entirely

The service was only a registry for session hooks, but hooks are already
passed directly on the chat request DTO. The registerHooks/getHooksForSession
pattern was redundant.

* Restore modelName support in chatSubagentContentPart that was accidentally removed during merge

* Revert unrelated tabIndex change on chatSubagentContentPart

* Remove empty hooks ext host infrastructure

Delete IExtHostHooks, NodeExtHostHooks, WorkerExtHostHooks,
MainThreadHooks, ExtHostHooksShape, MainThreadHooksShape -
all were empty stubs after hook execution moved to extension.

* Remove mainThreadHooks import from extensionHost.contribution

* Fix DTS comments: env and timeoutSec are values, not implementation promises
2026-02-10 14:59:11 -08:00
Rob Lourens
1aa235610c Support rendering subagent details from external agents (#293705)
* Support rendering subagent details from external agents

* fix tests
2026-02-07 23:07:45 +00:00
Justin Chen
92f3084076 hook streaming first pass (#293514)
* hooks streaming first pass

* Update src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* update styling

* modify api shape

* address some comments + do not render for now

* new icons + no more continue

* make sure we render right, some comments addressed

* uncomment that stuffs

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-06 16:03:24 -08:00
Dmitriy Vasyura
fa6cfe12c6 Metered network connections support (#288919)
Includes public API, user setting, status bar icon and a new service to support metered network connections.
Updates code in various areas performing automated actions using network to delay/pause network operations while network connection is being metered.
2026-02-06 14:52:14 -08:00
Connor Peet
6e029c339f mcp: initial data flow for MCP gateway
Adds base startGateway method and data flows. Currently the route is just a stub.
2026-02-05 12:26:47 -08:00
Christof Marti
2fd6a33c04 Surface power API 2026-02-05 16:57:40 +01:00
Rob Lourens
704095a158 Add common output hook types and reorganize related code (#292961)
* Add common output hook types, reorganize a bit more

* test fixes
2026-02-05 10:43:51 +11:00
Rob Lourens
7914379935 Restructure hook execution to always go through the renderer process (#292763)
* Restructure hook execution to always go through the renderer process
Add output channel

* cleanup

* Fixes
2026-02-04 05:03:06 +00:00
Paul
dd69bcaa41 Add initial hooks support (#292699) 2026-02-04 01:32:57 +00:00
Don Jayamanne
df57568c74 Support rendering serialized todo information from background agents (#292212)
* Support rendering serialized todo information from background agents

* Update src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update src/vs/workbench/api/common/extHostTypeConverters.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Updates

* updates

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-03 16:57:06 +11:00
Ladislau Szomoru
748751e9f5 Workspace trust - update proposed APIs (#291408)
Workspace trust - add proposed API to check whether a URI is trusted and an event for when the list of trusted folders/workspaces change
2026-01-28 20:06:58 -08:00
Rob Lourens
f520d705ae Deleted 'related files' context attachment feature (#290189)
* Deleted 'related files' context attachment feature

* Delete leftover css

* Bump distro
2026-01-26 19:26:50 +00:00
Sandeep Somavarapu
d4d37b83e0 Add proposed API support for agent sessions workspace (#290385)
* Add proposed API support for agent sessions workspace

* add access to agentSessionsWorkspace proposed api
2026-01-26 16:05:36 +00:00
Ladislau Szomoru
b962957183 Workspace Trust - add support to request trust for a resource (#290404)
* Initial implementation

* Pull request feedback
2026-01-26 15:59:55 +00:00
Alex Ross
b5a77387ee Break chat context provider into 3 different providers (#289951)
* Break chat context provider into 3 different providers

* Keep backwards compatibility
2026-01-26 11:01:35 +01:00
Dmitriy Vasyura
aa19df565f Portable mode improvements and bug fixes (#287063)
Disabled protocol handlers and registry updates on Windows in portable mode.
Added API proposal to detect if VS Code is running in portable mode from extensions.
Skipped protocol redirect in GitHub authentication in portable mode.
2026-01-24 13:22:53 +01:00
Karthik Nadig
f7dc7a5d16 Add question feature (#289568)
* Initial commit of the question carousel

* some cleanup

* .

* .

* .

* .

* remove chat blocking on tool call

* refactor: update question carousel handling and remove blocking behavior

* feat: implement question carousel handling and response resolution

* feat: enhance question carousel with logging and auto-skip functionality

* refactor: remove question carousel data from various interfaces and implementations

* feat: enhance chat question carousel with answer restoration and default value handling

* feat: add ignore functionality to chat question carousel with appropriate handling

* yolo-mode support
2026-01-23 15:03:11 -08:00
Matt Bierner
d45ea17477 Merge pull request #289999 from mjbvz/dev/mjbvz/tart-giraffe
Cleaner implementation of chat session controllers
2026-01-23 11:46:07 -08:00
Matt Bierner
fab6cbb8e2 Cleaner implementation of chat session controllers 2026-01-23 11:09:38 -08:00
Connor Peet
f917cd9185 Merge remote-tracking branch 'origin/main' into dev/bhavyau/tools-model 2026-01-22 09:36:14 -08:00
Ladislau Szomoru
401c155660 Chat - add new API to be able to represent a file that was deleted in a session (#289620)
* Chat - add new API to be able to represent a file that was deleted in a session

* More fixes
2026-01-22 12:48:03 +01:00
Don Jayamanne
0ffdfb45f4 Improved MCP tool call rendering for non-local agents (#289505)
* Improved MCP tool call rendering for non-local agents

* Update src/vs/workbench/api/common/extHostTypeConverters.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-21 19:01:01 -08:00
Connor Peet
72bacda9f3 Merge remote-tracking branch 'origin/main' into dev/bhavyau/tools-model 2026-01-21 16:02:36 -08:00
Paul
f5aa2ad720 Update prompt file provider interface for API discussion (#289441) 2026-01-21 14:53:01 -08:00
Connor Peet
d042844bd5 Merge remote-tracking branch 'origin/main' into dev/bhavyau/tools-model 2026-01-21 12:59:52 -08:00
Connor Peet
4c5bbc5c2b chat: support representing file deletions in edit sessions (#289270)
* chat: support representing file deletions in edit sessions

Add support for file deletion operations in chat editing sessions through
new ChatResponseWorkspaceEditPart. This allows agents to represent file-level
operations (deletions, creations, renames) alongside text and notebook edits.

- Adds ChatEditingDeletedFileEntry class to represent deleted files with
  proper diff display and restoration functionality
- Introduces ChatResponseWorkspaceEditPart and IChatWorkspaceEdit interfaces
  for file-level operations at the workspace level
- Implements workspace edit streaming through chat editing sessions with
  proper undo/redo support
- Adds ChatWorkspaceEditContentPart for UI rendering of file operations
- Extends chat session storage to serialize deleted file entries
- Supports both acceptance and rejection of file deletions with proper state
  management and snapshotting

Ref https://github.com/microsoft/vscode/issues/275705

(Commit message generated by Copilot)

* fix test
2026-01-21 16:37:20 +00:00
Don Jayamanne
2fd8c70fa1 mcp: expose MCP server definitions to ext host (#288798)
* Expose MCP server definitions to ext host

* Fixes

* Update src/vs/workbench/api/common/extHostTypeConverters.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update src/vs/workbench/api/browser/mainThreadMcp.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Address review comments

* address review comments

* Reuse McpServerDefinition.Serialized instead of custom DTOs (#289165)

* Initial plan

* Reuse McpServerDefinition.Serialized instead of custom DTO interfaces

Co-authored-by: DonJayamanne <1948812+DonJayamanne@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: DonJayamanne <1948812+DonJayamanne@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
2026-01-20 14:45:55 -08:00
Paul
14cddf3952 Add skill provider API (#287948) 2026-01-16 21:18:44 +01:00
Connor Peet
341641e98f Merge remote-tracking branch 'origin/main' into dev/bhavyau/tools-model 2026-01-15 09:24:06 -08:00
Paul
a357e63b0b Prompt files provider API V2 (#286457)
* wip

* updates

* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* test

* dispose

* clean

* remove

* invalidate

* wip

* pr

* use enum

* PR

* clean

* more cleanup

* more cleanup

* more cleanup

* more cleanup

* more cleanup

* nit

* add optional metadata

* use new proposal

* clean

* clean

* nit

* v2

* yaml clean

* clean

* Update src/vs/workbench/api/common/extHostChatAgents2.ts

Co-authored-by: Martin Aeschlimann <martinae@microsoft.com>

* PR

* wip

* PR

* Update src/vs/base/common/yaml.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* add command

* pr

* PR

* PR

* PR

* clean

* PR

* use cache

* nit clean

* clean

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Martin Aeschlimann <martinae@microsoft.com>
2026-01-15 15:52:45 +00:00
Alex Ross
d9025c2351 Add command to contributable chat context (#288084)
* Add command to contributable chat context
Fixes #280796

* Copilot feedback
2026-01-15 15:50:53 +00:00
Connor Peet
85c01a84c9 Merge remote-tracking branch 'origin/main' into dev/bhavyau/tools-model 2026-01-15 07:14:36 -08:00
Matt Bierner
a7de96819c Reapply timing and chat session changes
This reverts commit 17523c000e

Skips the api version bump this time since it's not needed

Breaking API change since `created` is now required but won't actually break at runtime
2026-01-14 13:04:18 -08:00
Connor Peet
11ef18e302 Merge remote-tracking branch 'origin/main' into dev/bhavyau/tools-model 2026-01-14 11:59:00 -08:00
Logan Ramos
6b31b753c7 Support streaming of partial tool data (#278640)
* Start work on handling tool stream

* Start working on rendering tool progress

* Handle complete better

* Inovcation message

* Revert "Inovcation message"

This reverts commit f502d22d9a.

* Reapply "Inovcation message"

This reverts commit 855668653f.

* Revert "Reapply "Inovcation message""

This reverts commit 4c4db3ac36.

* Handle updating progress

* Better messages

* Have progress re-render if content changes

* Fix import

* Move prepare to view layer

* Clean up diff

* Pass tool call id through

* Pin it

* Modify the progress tool flow to use the same part + observables

* Some more debug logs

* Address feedback

* Plumb tool call id through to invoke

* Address connor's typing feedback

* Fix import

* Fix session operation log

* Update src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Remove debug logging

* fix wrong enums

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-14 13:27:49 -05:00
Alex Ross
17523c000e Revert recent merges affecting chat session functionality (#287734)
* Revert "Merge pull request #287668 from mjbvz/dev/mjbvz/eventual-sparrow"

This reverts commit 81f7af4b9f, reversing
changes made to 85a14f966c.

* Revert "Merge pull request #286642 from microsoft/dev/mjbvz/chat-session-item-controller"

This reverts commit b39ecc3960, reversing
changes made to 45aced5935.
2026-01-14 10:18:42 +00:00
Connor Peet
8d3270de42 chat: wip on model-specific tools
This is a rethinking of the initial API proposed in `languageModelToolSupportsModel.d.ts`.

1. This switches to `models?: LanguageModelChatSelector[];` to control enablement.
   definitely open to switching this out, but I think a synchronously-analyzable
   expression is important to retain the data flows in core without too many races.
2. The extension is able to define a tool at runtime via registerToolDefinition. This
   should let us have entirely service-driven tools from model providers without
   requiring a static definition for each one. We can also have model-specific
   variants of tools without a ton of package.json work for each variant of the tool
   (as initially proposed using `when` clauses)

This then propagates that down into the tools service. Currently I have this as just
compiling to a `when` expression once it reaches the main thread. Then, for the tools
service, it takes an IContextKeyService in cases where tools should be enumerated,
and the chat input sets the model keys in its scoped context key service. This allows
the tools to be filtered correctly in the tool picker.

I initially thought about allowing multiple definitions be registered for the same tool
name/id for model-specific variants of tools but I realized that gets really gnarly and
we already have a `toolReferenceName` that multiple tools can register into.

Todo for tomorrow morning:
- Tools don't make it to the ChatRequest yet, or something, still need to investigate
- Need to make sure tools in prompts/models all work. For a first pass I think we can
  let prompts/modes reference all tools by toolReferenceName.
- Validate that multiple tools actually can safely share a reference name (and do
  some priority ordering?)
- General further validation
- Some unit tests
2026-01-13 16:02:29 -08:00
Matt Bierner
b39ecc3960 Merge pull request #286642 from microsoft/dev/mjbvz/chat-session-item-controller
Explore a controller based chat session item API
2026-01-13 15:35:48 -08:00
Connor Peet
d94a1fb7f5 Merge remote-tracking branch 'origin/main' into dev/bhavyau/tools-model 2026-01-13 10:53:28 -08:00
Matt Bierner
93ff336d51 Cleanup 2026-01-12 15:39:35 -08:00
Matt Bierner
25bdc74f90 Cleanup 2026-01-12 13:44:43 -08:00
Matt Bierner
e45ac30b90 Hookup basic proxy impl 2026-01-12 11:46:29 -08:00
Paul
88d46fe33a Add proposed API for prompt files providers (#280426) 2026-01-09 11:30:02 -08:00