* 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>
* 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.
* Add model vendor filtering for chat session model picker
* Udpates
* Refactor chat session model handling to use targetChatSessionType for model filtering
* Updates
* Updates
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
* 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
* 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
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
* 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
* 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>
* 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>
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.