Commit Graph

2051 Commits

Author SHA1 Message Date
Connor Peet
5b46a7924f chat: make sendChatRequest extensionIdentifier parameter optional (#298767)
* chat: make sendChatRequest extensionIdentifier parameter optional

Makes the 'from' parameter optional (ExtensionIdentifier | undefined) in the
sendChatRequest method chain across ILanguageModelsService, RPC protocol, and
implementations. This allows internal VS Code calls to pass undefined instead
of instantiating invalid ExtensionIdentifier('core') identifiers.

- Updates ILanguageModelsService.sendChatRequest signature
- Updates ILanguageModelChatProvider.sendChatRequest signature
- Updates ExtHostLanguageModelsShape protocol
- Updates ExtHostLanguageModels \ implementation
- Removes new ExtensionIdentifier('core') from 5 internal callers
- Passes undefined as requestInitiator when from is absent
- Bumps vscode.proposed.chatProvider API version to 5
- Updates test mocks to accept optional from parameter

Refs https://github.com/microsoft/vscode/issues/290436

(Commit message generated by Copilot)

* keep api as old version for now

* Update src/vs/workbench/contrib/mcp/common/mcpSamplingService.ts

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

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-02 14:45:16 -05:00
Rob Lourens
ff740b1cef Plumb 'isBuiltin' for chat modes into request (#298486)
* Plumb 'isBuiltin' for chat modes into request
https://github.com/microsoft/vscode-internalbacklog/issues/6884

* Fix test
2026-02-28 22:28:32 +01:00
Paul
37d8937813 Richer debug content rendering (#297584) 2026-02-25 09:32:12 -08:00
Matt Bierner
ad1a842ddc Merge pull request #297153 from mjbvz/dev/mjbvz/medical-lark
Add newSessionOptions so providers can set the initial options for a session
2026-02-24 17:12:11 -08:00
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
Matt Bierner
c3e3abcd92 Add newSessionOptions so providers can set the initial options for a session 2026-02-23 16:18:13 -08:00
BeniBenj
f6b799b7b9 statusbar options 2026-02-23 23:07:31 +01:00
Peng Lyu
eeda773a67 terminal: support tab title templates for extension terminals (#296404)
* terminal: support tab title templates for extension terminals

* terminal: omit undefined tabTitle from profile quick pick

* refactor: rename terminal title properties to titleTemplate for consistency

* proposed api check.
2026-02-20 18:58:54 -08:00
Matt Bierner
42bb5a85ee Merge pull request #296582 from mjbvz/dev/mjbvz/graceful-tick
Make isUntitled as deprecated
2026-02-20 17:11:19 -08:00
Tyler James Leonhardt
4968804d65 Allow returning a title in the Content Provider (#296659)
So that the title of a chat can be changed.
2026-02-20 17:01:16 -08:00
Peng Lyu
7467749949 refactor: rename terminal title properties to titleTemplate for consistency 2026-02-20 13:47:17 -08:00
Matt Bierner
0dce1fc5d8 Make isUntitled as deprecated 2026-02-20 10:48:00 -08:00
Peng Lyu
a98ee7a623 terminal: support tab title templates for extension terminals 2026-02-19 15:36:45 -08:00
Don Jayamanne
b9eb51b0f2 Support display commands for terminal commands in background agents (#296261) 2026-02-19 12:48:38 +01:00
Matt Bierner
f62aa0cf2b Add newChatSessionItemHandler to let chat sessions create new session uris 2026-02-18 13:41:43 -08:00
Matt Bierner
de93d65144 Remove a few more chat session id usages
For #274403

Confirmed that the api change should not effect copilot-chat
2026-02-17 17:17:10 -08:00
Matt Bierner
6e848fc475 Merge pull request #294259 from mjbvz/dev/mjbvz/elderly-jellyfish
Remove `IToolInvocationContext.sessionId`
2026-02-17 08:11:32 -08:00
Benjamin Pasero
b1009c98bb Sessions exploration (#294912) 2026-02-17 14:14:39 +00:00
Dmitriy Vasyura
1a6199f04b Add Toggle Metered Connection command and update setting (#295522) 2026-02-16 09:22:57 +01:00
Don Jayamanne
2f1297db89 Add model vendor filtering for chat session model picker (#295124)
* Add model vendor filtering for chat session model picker

* Udpates

* Refactor chat session model handling to use targetChatSessionType for model filtering

* Updates

* Updates
2026-02-14 23:21:41 -08:00
Don Jayamanne
fe46f04c89 Include model id in Request Model for contributed sesions (#295303) 2026-02-14 01:32:59 -08:00
Matt Bierner
f29c2f253c Updating documentation for chatSessions proposal
- Marks `ChatSessionItemProvider` as deprecated
- Adds more doc comments
- Clarifies usage
2026-02-13 15:28:45 -08: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
Matt Bierner
8eefef2a87 Make chat session item timing properties readonly
Clarifying that timing properties can't be updated individually on managed chat session items. If you want the change to apply, you need to re-set the whole property
2026-02-12 00:26:44 -08:00
Alex Ross
6441536a79 Chat context API feedback (#294537) 2026-02-11 11:31:38 +00:00
Paul
ce62dd2d13 Update hook timeout format (#294266) 2026-02-11 01:17:12 +00:00
Josh Spicer
90c1e41253 Add chatSessions isReadOnly (#294255)
* PROTOTYPE: Add growth agent (https://github.com/microsoft/vscode-copilot-chat/pull/3460)

* support vscode.ChatSessionStatus.NeedsInput in chatSessions ext api

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

* Add isReadOnly flag to chat sessions contributions

  Read-only session types (e.g., Growth) are passive/informational and
  should not be registered as agents, appear in session target pickers,
  or be delegation targets. Commands are still registered to support
  openSessionWithPrompt.

* Collapse isReadOnly and canDelegate branches in _enableContribution

  Both need agent and command registration; picker filtering handles
  keeping isReadOnly sessions out of the UI separately.

  the alternative (and probably ideal) UI is to 'grey out'/'disable' the
  chat input for isReadOnly sessions.  That way we don't have this
 problem at all of a non-functional chatInput

* fix description

* redundant doc

* update test
2026-02-10 16:16:39 -08:00
Matt Bierner
87173b4915 Remove IToolInvocationContext.sessionId
For #274403

Confirmed that this is not used in copilot
2026-02-10 15:38:57 -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
03bd51cfa3 Move PreToolUse to extension (#294042)
* Move PreToolUse to extension

* Migrate PostToolUse
2026-02-10 08:26:10 -08:00
Matt Bierner
692b629077 Make chatHooks proposal self contained 2026-02-09 09:55:11 -08:00
Matt Bierner
40df840a80 Fix build error when using tsgo
We added a dependency between api proposals. Looks like tsgo is more strict about not picking this up automatically so we need to make sure there is an import so the dependency is picked up
2026-02-09 09:18:10 -08:00
Paul
55477c4cc8 Update configure hooks flow and supported paths (#293643)
* update

* updates

* Update src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.ts

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

* update handling

* PR

* test

* fix test

* cleanup

* nit

* cleanup

* clean

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-08 21:02:17 -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
Rob Lourens
7b1aae991c Track external tool calls (#290886)
* Track external tool calls

* Tools in progress work, subagents do not

* Remove the subagent stuff

* Safer

* Remove this

* Build fix

* Bump proposed API
Because this would lead to showing all tool calls twice in CC

* Remove this
2026-02-07 13:06:40 -08:00
Paul
a09fd62459 Add common blocking behaviour for hooks (#293543) 2026-02-07 08:56:10 -08:00
Rob Lourens
0204a85812 Support PreCompact hook (#293581)
* Support PreCompact hook

* add this
2026-02-06 21:38:24 -08:00
Rob Lourens
f0c6399658 Limit the subagent model to a model with multiplier <= the main agent (#293570)
* Add multiplierNumeric

* Subagent model resolution with multiplierNumeric

- Use multiplierNumeric for subagent model fallback logic instead of parsing multiplier strings
- Add model name tooltip to subagent content part
- Pass toolCallId and modelId through tool invocation preparation context
- Cache resolved models between prepare and invoke phases

* Update src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.ts

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

* New tests

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-06 20:25:24 -08:00
Rob Lourens
d20d8cbc71 Support transcript_path on hooks (#293567) 2026-02-06 17:12:43 -08: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
Alex Ross
6764590f38 Switch over to command for PR chat response type (#293161)
* Switch over to command for PR chat response type
Part of #290997

* Fix failing test
2026-02-06 09:51:09 +00:00
Don Jayamanne
a02259fdb9 Update RequestTurn2 to allow passing a request Id from chat extension (#293263) 2026-02-05 21:45:54 -08:00
Rob Lourens
c7a9f45792 Enhance preToolUse hook and clean up code (#293265)
* Flesh out preToolUse hook

* Cleanup

* cleanups

* Cleanup
2026-02-06 14:53:25 +11: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
Jimmy Leung
e7cfb10cb8 vscode-dts: Add LineCommentConfig interface & update lineComment (#289457)
* vscode-dts: Add LineCommentConfig interface & update lineComment

* rename config to rule

---------

Co-authored-by: Aiday Marlen Kyzy <aidaymarlenkyzy@gmail.com>
2026-02-05 09:21:27 +00:00
Don Jayamanne
c35bf16a13 Support serialized tool call results for generic tools (similar to MCP, display input and outupt) (#292773)
* Support serialized tool call results for generic tools (similar to MCP, display input and outupt)

* Updates

* Updates
2026-02-04 16:26:02 -08: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