* Unify embeddings paths
Our code has two embeddings paths for legacy reasons:
- The capi api based one that only supports text3small. This is used everywhere except `#codebase`
- The new github embeddings endpoint based. This one supports additional embedding types and options. However it is currently only used in `#codebase`
This change switches everything to use the new github embeddings endpoint instead
* Fix static deps in tests
* Extract server.json from NuGet package during assisted install
* Use .NET CLI as much as possible
* Add tests, use GitHub Actions for .NET setup
* Localize user facing strings
* Update src/extension/mcp/vscode-node/nuget.ts
* Update src/extension/mcp/vscode-node/commands.ts
* switch to enum
* Use IFetcherService for npm, PyPI, and Docker Hub, use local package source for NuGet
* image uploader in chat extension
* fix comment
* cleanup
* use capi client + extract into own service
* capi version bump + injected service
* cleanup
* add service in promptrenderer
* add null image service for tets
* add null service in vscode node too
* trying to remove unsued service in prompt renderer
* cleanup spacing
* use urlREquestMetaData instead
* remove vendor
* remove whitespace
* some more cleanup
* more robust mimetype check
* add exp setting
* prompts: avoid wrapping file attachments in code fences
We previously included attached files like this
```
<attachment id="test.js" filePath="/home/jola/test.js">
\```javascript
bar
asd (
\```
</attachment>
```
Which, very reasonably, caused the model to get confused and think that
the file actually contained those backticks. This change removes that
so that it's just
```
<attachment id="test.js" filePath="/home/jola/test.js">
bar
asd (
</attachment>
```
Refs https://github.com/microsoft/vscode/issues/260772#issuecomment-3176793591
Busted all the caches with associated baseline noise.
* fixup
* add support for alternate prompts configuration
* Fix up setting
* update configuration key path
* refactor: enhance GPT5 prompt instructions for clarity and user engagement
* feat: add configuration option to skip reminder instructions in user messages
* refactor: update output formatting instructions for clarity and consistency
* fix: correct configuration key name for GPT-5 alternate prompts
* Add mode to conversation model messages
This updates the conversation.message with source=model to include `mode` details in the telemetry
* Add "mode" field to snapshot responses and update imports in tests
* Remove copilot_cache_control field from message body when calling endpoints directly. It's a CAPI field and some LLMs will issue an error on this field because it isn't a recognized field.
* remove unneeded conditional expressions
* Add GPT-4.1 agent prompt and enhance tool capabilities
Implemented the GPT-4.1 specific agent prompt to improve multi-step task execution and problem-solving. Updated the DefaultAgentPrompt to conditionally render the new GPT41AgentPrompt based on the model family. Enhanced the tool capabilities detection function to streamline tool usage and added a new tool name for managing todo lists.
* Add setting for new prompt, tweaks
* Cleanup
---------
Co-authored-by: Rob Lourens <roblourens@gmail.com>