* 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