* tools: add binary file support with hexdump display
Adds support for reading and displaying binary files in the read file tool
with a hexdump-formatted view. This enables better handling of binary content
in the IDE context without attempting to interpret them as text.
- Adds hexdump utility to format binary data in a readable hex/ASCII view
- Extends readFileTool to detect binary files and provide formatted output
- Adds binaryFileHexdump prompt component for displaying binary content
- Integrates binary file variable support in file variable display
- Updates test fixtures with binary file handling scenarios
Fixes https://github.com/microsoft/vscode/issues/284178
Fixes https://github.com/microsoft/vscode/issues/299973
(Commit message generated by Copilot)
* pr comments
* baseline update
* baseline update
* Add session transcript service for hooks
Implement JSONL-based session transcript service that records
conversation turns, tool executions, and assistant messages for
hook consumers.
Key changes:
- New ISessionTranscriptService interface and SessionTranscriptService
implementation with buffered writes and automatic old transcript cleanup
- Integrate transcript logging into tool calling loop: user messages,
assistant messages, tool execution start/complete, turn boundaries
- Auto-flush transcript and inject transcript_path into hook input
- Race flush with 500ms timeout to avoid blocking hook execution
- Gate transcript creation on ChatRequest.hasHooksEnabled
- Include copilotVersion and vscodeVersion in session.start entry
- Add timestamp to IToolCallRound for transcript timing
- Add hasHooksEnabled to ChatRequest interface and all implementors
* Fixes
* Remove `@workspace` chat participant
For https://github.com/microsoft/vscode/issues/292972
Removes the `@workspace` chat participant since this is now an outdated (and confusing) way to use code search. For now we'll keep the commands but I've moved them under the default agent instead
* Updating tests too and fixing some references
We removed the 'pause' feature back in ~June, cleanup logic we still had
around it. This removes:
- The PauseController class which was no longer being used
- onPaused event parameters from chat participant, request, and intent
handlers
- Pause-related event listening and stream pausing logic
- Simplified throwIfCancelled to be synchronous since it no longer needs
to wait for pause resumption
(Commit message generated by Copilot)
* chat: wire up yieldrequested for steering messages
Allows the client to do a 'soft cancel' after a tool call happens before returning back to the model, or before the next turn.
* fix compile
* Add question carousel functionality and related types for chat interactions
* feat: enhance logging for question carousel processing and answer conversion
* feat: enhance answer processing in AskQuestionsTool to support freeform text input
* cleanup: remove unused AskQuestionResult type from IQuestionAnswer
* clenaup: restore package.json
* feat: enhance AskQuestionsTool to handle no stream scenario and improve carousel answer conversion
Enables the same `no-unexternalized-strings` with have in `vscode` in this repo. This make sure we have a more consistent style across repos and when generating edits
* Always use `github.copilot.editingSessionEditor`, enable slash-command based on v2-config
This makes all requests go to the `InlineChatIntent` and it decides (based on the v2-config) if it uses the "old world" for making inline chat requests happen
* re-run tests
* remove references to old setting `github.copilot.chat.advanced.inlineChat2`
* play with `InlineChatIntent`
* wip
* move things, better/simpler prompt
* cleanup, renames, stuff
* more wip
* done after tool call
* edit and generate stest for new InlineChatIntent
* use codebook for diagnostics
* inline chat fixing stests
* stest run
* remove old Inline2 tests
* remove slash commands for v2, remove the editCodeIntent path for v2
* 💄
* 💄
* Don't use `diagnosticsTimeout` when with inline chat because the new diagnostics will never be read but slow down the result
* fix compile error
* stest run
* update baseline
* prevent some JSON errors from empty output
* unfresh baseline.json
* use `MockGithubAvailableEmbeddingTypesService` in stests
* back to hamfisted skipping of stests
* send telemetry from inline chat intent
* tweak some stests
* Update model response guidelines in agent prompts
- Modified the response instructions in `agentPrompt.tsx` to clarify when to state the model name.
- Enhanced the `CopilotIdentityRules` class in `copilotIdentity.tsx` to include model name responses.
| File | Changes |
|----------------------------------|-------------------------------------------------------------------------|
| `agentPrompt.tsx` | Updated guidance on stating model name when asked. |
| `copilotIdentity.tsx` | Added model name response instructions in identity rules. |
* Update guidance on model name disclosure in agent prompts
- Revised instruction to clarify that the model name should not be volunteered unless explicitly asked by the user.
| File | Changes Made |
|----------------------------------------|--------------------------------------------------|
| src/extension/prompts/node/agent/agentPrompt.tsx | Updated reminder text regarding model name disclosure. |
* Update agent prompts to include model disclosure
- Added instruction to state the model being used when asked about it in multiple agent prompt snapshots.
| File Path | Changes Made |
|---------------------------------------------------------------------------|------------------------------------------------------------------------------|
| src/extension/prompts/node/agent/test/__snapshots__/agentPrompt.spec.tsx.snap | Updated responses to include model disclosure when asked about the model. |
* Add SQLite cache file for simulation layer
This commit introduces a new SQLite cache file for the simulation layer to enhance data retrieval efficiency.
| File | Changes |
|----------------------------------------------------------------------|-------------------------------|
| test/simulation/cache/layers/2171978e-88a1-4218-afac-dc1fe7ecc095.sqlite | New file created with versioning info |
* Add SQLite cache file for simulation layer
This commit introduces a new SQLite cache file to enhance the simulation layer's performance.
| File | Changes |
|----------------------------------------------------------------------|------------------------|
| test/simulation/cache/layers/94afd615-5805-4860-a1ba-3f9ebbf7b9a4.sqlite | New file added 📁 |
* remove bad cache layers
* npm run simulate
* update baseline
---------
Co-authored-by: João Moreno <joaomoreno@users.noreply.github.com>