Move the hardcoded nonDeferredToolNames set from the Anthropic networking
layer to an opt-in `nonDeferred` static property on each tool class.
- Add `nonDeferred?: boolean` to ICopilotToolCtor interface
- Add IToolDeferralService with isNonDeferredTool() for DI-based access
- Mark all 18 frequently-used tools as nonDeferred = true at declaration
- Register IToolDeferralService in prod, unit test, and vscode-node test
- Remove centralized nonDeferredToolNames set from anthropic.ts
- Fix latent bug: old 'ask_questions' entry never matched the real
'vscode_askQuestions' tool name; now correctly included via
ToolName.CoreAskQuestions
Fixesmicrosoft/vscode#303545
XtabProvider entries appeared unnested at the top level when the
sibling NES MarkdownContentRequest entry was hidden (via setIsSkipped
or cancellation). This happened because flattenSingleChild promoted
the sole remaining child to the top level.
Instead of adding the log context document as a child that gets
'promoted' into the parent, ChatPromptItem now directly owns the
document via setMainEntry(). A MarkdownContentRequest whose debugName
matches the token label is wired to the parent's icon and click
command — never added as a tree child. Groups with no visible
children render as non-expandable leaf items.
This removes flattenSingleChild and promoteMainEntry from
CapturingToken, making it a pure correlation token with no
rendering hints. The tree view owns all rendering conventions.
* Added execution subagent
* Updated config
* Add execution_subagent to nonDeferredToolNames for Tool Search compatibility
* Modified to be in line with search subagent. Also removed all tools except terminal
* Fixed error with default model in package.json
* Updated prompt snapshots so that tests pass
* Deleted accidentally added yaml
* Modified subagent input format to not take exact commands
* Fixed parameter error
* Updated prompt snapshots
* Updated prompts according to Rob's suggestions
* Addressed Copilot and Bhavya comments
* Reverted accidental changes in anthropicPrompts.tsx
* Tweaked the tool use instructions wrt CoreRunInTerminal slightly
* Minor prompt changes
* Updated for new ToolCallingLoop interface
* Added instruction to Claude 4.6 prompt
* Gating change in prompts to prevent empty tags when execution subagent is not enabled
---------
Co-authored-by: Aakash Goel (MSTIC DS&AI) <aakashgoel@microsoft.com>