* Remove explicit 'any'
* remove any
* fix typecheck failure
* export CopilotToolParamsBase
* replace any with unknown in toolsService
* fix typing for IEmbeddingsEndpoint
* fix tool types
* use `unknown` for tool contructor type
* feat: add option to include ignored files in search results
* Provide instruction of includeIgnoredFiles to models in case of missing match
* updated warnings
* edits: fix conflicting edits in multi-replace-string
- Minimize identical content in text edits to avoid potential conflicts in context
- Explicitly error any edits that still fail rather than garbling the file
Closes https://github.com/microsoft/vscode/issues/277154
* rm test.only
* fix whitespaces not being preserved in ws flex match
* tool can give alternative definition by model
* Pass IChatEndpoint in getEnabledTools for calling tools' alternativeDefinition
* Introduce a ICopilotToolExtension to support override existing built-in tools and provide alternative definition.
* Fix errors
* add gpt-5-codex
* remove gpt-5
* Revert to generic 'Open Command Palette' when command not found, instead of reverting to JSON code block
* Also update vscode run command
* Fix test
* Rename test case for clarity
---------
Co-authored-by: Joaquín Ruales <joruales@Joaquins-MacBook-Pro-2.local>
* Initial plan
* Improve presentation of regex-based searches in agent mode
- Updated FindTextInFilesTool to indicate "regex" vs "text" in search messages
- Updated Claude grep tool formatter to show "Searched for regex"
- Added test for literal text search message format
- Updated existing test to match new regex message format
Co-authored-by: roblourens <323878+roblourens@users.noreply.github.com>
* Make regex/text keywords localizable via l10n
- Moved 'regex' and 'text' keywords inside l10n.t() calls
- This allows localization system to translate or keep terms as appropriate per language
- Addresses localization concern about whether 'regex' should be localized
Co-authored-by: roblourens <323878+roblourens@users.noreply.github.com>
* Refactor nested ternary operators into helper method
- Extract message generation logic into getResultMessage helper
- Improves code readability and maintainability
- All tests passing
Co-authored-by: roblourens <323878+roblourens@users.noreply.github.com>
* Update ChatSessionContentProvider test snapshot
- Updated snapshot to reflect new grep message format
- Changed from "Searched text for" to "Searched for regex"
- All tests now passing (8/8)
Co-authored-by: roblourens <323878+roblourens@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: roblourens <323878+roblourens@users.noreply.github.com>
This fixes a race condition that can happen in LM results that contain
multiple edit tool calls. The emission and application of edits is
async, and so it is possible that an edit can be emitted and the next
edit generated before the first edit's changes are propagated to the
extension host's model.
This resolves the issue by keeping, updating, and reusing snapshotted
documents on each turn's prompt context.
cc @DonJayamanne for notebook stuff. This is a little shakier but it
seems to work (and I know NB prefers the separate notebook edit tool
anyway.)
* 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
- Include healed patch in replace_string tool results
- Add EXP to disable replace_string healing for non-Gemini models
- Add an example to the replace_string prompts for greater fidelity
* Hello Copilot (#1493)
Co-authored-by: kieferrm <4674940+kieferrm@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
* Fix applyPatch-tool emitting incorrect edits
Started to use applyPatch in stests (`joh/slow-meerkat`) which resulted in corrected files because of bogous edits. The culprit is that the applyPatch-tool computes multiple text edits and then dispatches them to the stream via individual calls. The semantics of that is that call `N` knows new offsets after applying edits from the `N-1` call. Tho, the calls aren't made like that by the tool. Instead, it should dispatch its edit in a single call
* fix windows tests
---------
Co-authored-by: Benjamin Christopher Simmonds <44439583+benibenj@users.noreply.github.com>
Co-authored-by: kieferrm <4674940+kieferrm@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
* Fix Markdown link in Run Command tool
* Import commandUri in vscodeCmdTool.tsx
Add import for commandUri from linkify commands
* Use commandId instead of name
* Small comment
Add comments to clarify command ID handling in Quick Open.
* feat: support folder paths in get_errors tool
* rename test files for getErrors
* Add tests for the getErrorsTool
* updated snap
* polished tests
* Update output format to keep parity
* Added one more test with range
* Updated per comments
* Support getAllDiagnostics in SimulationWorkspace
---------
Co-authored-by: Rob Lourens <roblourens@gmail.com>
* feat: add timeout handling for file and text search operations
* feat: add timeout handling for search and rendering operations in FindTextInFilesTool
* use raceTimeout and raceCancellation
* Updated per comments
* extract a raceTimeoutAndCancellationError()
* enhance timeout handling and cancellation for file and text search operations
* enhance raceTimeoutAndCancellationError
* removed unnecessary check
* refactor: streamline cancellation token usage in file and text search operations
* Enhance telemetry in CreateFileTool to include model and file extension details
* Update src/extension/tools/node/createFileTool.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Refactor model retrieval in CreateFileTool to use endpoint provider for improved accuracy
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>