Commit Graph

143538 Commits

Author SHA1 Message Date
Raymond Zhao
88eb80e805 chore: bump native node modules (#287597)
* chore: bump native node modules

* chore: update Debian deps list
2026-01-13 12:42:10 -08:00
Megan Rogge
84efd92301 set terminal chat output width based on content (#287586) 2026-01-13 21:14:04 +01:00
Chase Knowlden
fe6f509675 Hover on keyboard modifier should trigger instantly (#276582) 2026-01-13 20:06:30 +00:00
Megan Rogge
9333fa4471 fix off by one issue (#287611)
fixes #287607
2026-01-13 11:54:59 -08:00
Megan Rogge
c3a86729da escape backticks so they're rendered correctly (#287606)
fixes #287593
2026-01-13 11:54:29 -08:00
Raymond Zhao
d11af7878b chore: bump distro (#287602) 2026-01-13 11:43:39 -08:00
Megan Rogge
452be6bf19 Delete -> Kill (#287600)
fixes #287540
2026-01-13 18:53:41 +00:00
Sandeep Somavarapu
5238364ada set default account to null if not configured (#287598) 2026-01-13 18:39:32 +00:00
Sandeep Somavarapu
55942d46fa update distro (#287594) 2026-01-13 18:20:19 +00:00
Connor Peet
5438d07dd3 chat: store disk sessions using an 'append log' (#286644)
* chat: store disk sessions using an 'append log'

This switches from a big blob of JSON to an append-only log of operations
for the chat session. Sending a new request looks something like this:

```
{"kind":2,"k":["requests"],"v":[{"requestId":"request_125e2fa9-1cc2-4197-b023-580eabc9e229","timestamp":1767918567679,"message":{"parts":[{"range":{"start":0,"endExclusive":32},"editorRange":{"startLineNumber":1,"startColumn":1,"endLineNumber":1,"endColumn":33},"text":"what kinds of things can you do?","kind":"text"}],"text":"what kinds of things can you do?"},"agent":{"extensionId":{"value":"GitHub.copilot-chat","_lower":"github.copilot-chat"},"extensionVersion":"0.35.2025120903","publisherDisplayName":"GitHub","extensionPublisherId":"GitHub","extensionDisplayName":"GitHub Copilot Chat","id":"github.copilot.editsAgent","description":"Edit files in your workspace in agent mode","when":"config.chat.agent.enabled","metadata":{"themeIcon":{"id":"tools"},"hasFollowups":false,"supportIssueReporting":true,"additionalWelcomeMessage":{"value":"If handling customer data, [disable telemetry](command:workbench.action.openSettings?%5B%22telemetry.telemetryLevel%22%5D).","isTrusted":{"enabledCommands":["workbench.action.openSettings"]},"supportThemeIcons":false,"supportHtml":false,"supportAlertSyntax":false,"uris":{"command:workbench.action.openSettings?%5B%22telemetry.telemetryLevel%22%5D":{"$mid":1,"path":"workbench.action.openSettings","scheme":"command","query":"[\"telemetry.telemetryLevel\"]"}}}},"name":"agent","fullName":"GitHub Copilot","isDefault":true,"locations":["panel"],"modes":["agent"],"slashCommands":[{"name":"list"}],"disambiguation":[]},"modelId":"copilot/gpt-4o","variableData":{"variables":[{"value":"Repository name: ext-apps\nOwner: modelcontextprotocol\nCurrent branch: main\nDefault branch: main","name":"modelcontextprotocol/ext-apps","modelDescription":"Information about the current repository. You can use this information when you need to calculate diffs or compare changes with the default branch","id":"modelcontextprotocol/ext-apps","kind":"workspace"},{"id":"vscode.prompt.instructions.text","name":"prompt:instructionsList","value":"<instructions>\nHere is a list of instruction files that contain rules for modifying or creating new code.\nThese files are important for ensuring that the code is modified or created correctly.\nPlease make sure to follow the rules specified in these files when working with the codebase.\nIf the file is not already available as attachment, use the #tool:readFile tool to acquire it.\nMake sure to acquire the instructions before making any changes to the code.\n<instruction>\n<description>**CRITICAL**: Read this file FIRST before answering ANY Azure-related questions or performing ANY Azure operations. This file must be loaded as context whenever Azure is explicitly mentioned. It provides accurate and up-to-date information about Azure. **MUST** be read when user mentions: Azure, Azure Functions, AWS Lambda to Azure Functions migration, Azure Static Web App, or any specific Azure service name. Load this instruction file ONLY for Azure-related requests, NOT for generic cloud or deployment questions.</description>\n<file>/Users/connor/.vscode-oss-dev/extensions/ms-azuretools.vscode-azure-github-copilot-1.0.153-darwin-arm64/resources/azureRules/azure.instructions.md</file>\n</instruction>\n</instructions>\n\n","kind":"promptText","modelDescription":"Prompt instructions list","automaticallyAdded":true,"toolReferences":[{"kind":"tool","id":"copilot_readFile","name":"Read File","range":{"start":347,"endExclusive":361}}]}]},"response":[{"kind":"mcpServersStarting","didStartServerIds":[]}],"responseId":"response_8101b2ad-66f7-4e58-ae91-81ff032192e6","modelState":0,"contentReferences":[],"codeCitations":[],"timeSpentWaiting":1767918567679}]}
{"kind":2,"k":["requests",5,"response"],"v":[{"value":"I can help you with a wide range of tasks, including:\n\n1. **Code Assistance**: Writing, debugging, and optimizing code in various languages and frameworks.\n2. **File Management**: Creating, editing, and organizing files in your project.\n3. **Project Setup**: Setting up new projects, configuring tools, and managing dependencies.\n4. **Error Fixing**: Identifying and resolving errors in your code.\n5. **Code Refactoring**: Improving code readability, structure, and performance.\n6. **Documentation**: Generating or improving documentation for your code.\n7. **Version Control**: Assisting with Git operations like commits, branches, and diffs.\n8. **Task Automation**: Writing scripts or setting up tasks to automate repetitive processes.\n9. **Learning and Research**: Explaining concepts, providing examples, or researching solutions.\n10. **Integration**: Connecting APIs, libraries, or services into your project.\n\nLet me know what you need, and I'll get started!","supportThemeIcons":false,"supportHtml":false,"baseUri":{"$mid":1,"path":"/Users/connor/Github/mcp-ext-apps/examples/basic-server-react/","scheme":"file"}}]}
{"kind":1,"k":["requests",5,"result"],"v":{"timings":{"firstProgress":2058,"totalElapsed":3838},"metadata":{"codeBlocks":[],"renderedUserMessage":[{"type":1,"text":"<attachments>\n<attachment id=\"modelcontextprotocol/ext-apps\">\nInformation about the current repository. You can use this information when you need to calculate diffs or compare changes with the default branch:\nRepository name: ext-apps\nOwner: modelcontextprotocol\nCurrent branch: main\nDefault branch: main\n</attachment>\n\n</attachments>\n<context>\nThe current date is January 8, 2026.\nTerminals:\nTerminal: zsh\n\n</context>\n<editorContext>\nThe user's current file is /Users/connor/Github/mcp-ext-apps/examples/basic-server-react/.vscode/mcp.json. \n</editorContext>\n<reminderInstructions>\nYou are an agent - you must keep going until the user's query is completely resolved, before ending your turn and yielding back to the user. ONLY terminate your turn when you are sure that the problem is solved, or you absolutely cannot continue.\nYou take action when possible- the user is expecting YOU to take action and go to work for them. Don't ask unnecessary questions about the details if you can simply DO something useful instead.\nWhen using the insert_edit_into_file tool, avoid repeating existing code, instead use a line comment with \\`...existing code...\\` to represent regions of unchanged code.\n\n</reminderInstructions>\n<userRequest>\nwhat kinds of things can you do?\n</userRequest>\n"},{"type":3,"cacheType":"ephemeral"}],"toolCallRounds":[{"response":"I can help you with a wide range of tasks, including:\n\n1. **Code Assistance**: Writing, debugging, and optimizing code in various languages and frameworks.\n2. **File Management**: Creating, editing, and organizing files in your project.\n3. **Project Setup**: Setting up new projects, configuring tools, and managing dependencies.\n4. **Error Fixing**: Identifying and resolving errors in your code.\n5. **Code Refactoring**: Improving code readability, structure, and performance.\n6. **Documentation**: Generating or improving documentation for your code.\n7. **Version Control**: Assisting with Git operations like commits, branches, and diffs.\n8. **Task Automation**: Writing scripts or setting up tasks to automate repetitive processes.\n9. **Learning and Research**: Explaining concepts, providing examples, or researching solutions.\n10. **Integration**: Connecting APIs, libraries, or services into your project.\n\nLet me know what you need, and I'll get started!","toolCalls":[],"toolInputRetry":0,"id":"e6ff2540-af2b-4fdc-8862-183b6c25c3e9"}],"modelMessageId":"a33d84e3-dbdf-4f75-95dd-bfd96a4cbec2","responseId":"456849bf-a8ec-4149-b76a-b0ddaa1d99ea","sessionId":"53bdd40b-39bd-413d-8069-5562488888a4","agentId":"github.copilot.editsAgent"},"details":"GPT-4o • 0x"}}
{"kind":1,"k":["requests",5,"responseMarkdownInfo"],"v":[]}
{"kind":1,"k":["requests",5,"followups"],"v":[]}
{"kind":1,"k":["requests",5,"modelState"],"v":1}
```

Essentially in this PR there are three parts:

1. Defining the `Adapt` in `chatSessionOperationLog.ts` that defines types
   that can translate to/from objects to the on disk state. The diffing
   in there was all written by Opus and I'm going to do some more
   validation before merging.

2. Making the `requestSchema`. Our models atm are very mutable. This
   logic describes how to compare the model objects. It's essentially a
   customized deep object equality that we can customize to avoid having
   to compare every single property of every object each time (especially
   with big tool outputs and images)

   This is all type-safe, both for reading the request models and
   creating the `ISerializableChatData`.

3. Swapping out to use that log in our logic. The log is a bit stateful
   so we pass it around and keep it on the model to re-use next time it's saved.

4. Adding an `appendFile` operation on the IFileService/IFileSystemProvider.
   We previously did not have any way to rewrite part of a file. @bpasero
   please review 😅

Closes https://github.com/microsoft/vscode/issues/285251

* make it simpler, fix issues

* polish

* address pr comments

* implement IWriteFileOptions.append

* update tests

---------

Co-authored-by: Benjamin Pasero <benjamin.pasero@microsoft.com>
2026-01-13 09:26:49 -08:00
Kyle Cutler
f24ef26244 "Add Element to Chat" in integrated browser (#286649)
* "Add element to chat" in integrated browser

* Support disabling AI features, PR feedback

* PR feedback

---------

Co-authored-by: Joaquín Ruales <1588988+jruales@users.noreply.github.com>
2026-01-13 09:20:08 -08:00
Isidor Nikolic
008621ab13 Merge pull request #287172 from spboyer/feat/azure-yaml-telemetry-marker
Track telemetry for azure.yaml and azure.yml with workspace Measures marker
2026-01-13 18:01:33 +01:00
Copilot
c20f7330b1 Update instruction file prompt to include non-coding tasks like code exploration (#287153) 2026-01-13 08:23:15 -08:00
Sandeep Somavarapu
606a4820a8 read policies from preferred account (#287565)
* read policies from preferred account

* use multiple preferred extensions
2026-01-13 17:14:57 +01:00
Johannes Rieken
23f6c25c9b Allow vscode.LanguageModelChatInformation#isDefault to be per chat location (#287527)
We have `isDefault` which allows a model to indicate that it is the best/most-recommended model. This PR extends this concept to define default by location, e.g for inline chat a different default model might apply than for panel chat or terminal chat
2026-01-13 10:45:38 -05:00
Dmitriy Vasyura
8855b3724c Merge pull request #285305 from microsoft/dev/dmitriv/select-inside-brackets
Enable selection of content inside brackets or string via mouse double-click
2026-01-13 15:43:58 +00:00
Ladislau Szomoru
f5e25ad4ca Git - show main worktree under the Worktrees node (#287564) 2026-01-13 15:38:32 +00:00
Daniel Imms
6872394141 Merge pull request #287130 from microsoft/copilot/remove-trust-requirement-terminal
Add terminal.integrated.allowInUntrustedWorkspace setting
2026-01-13 07:21:54 -08:00
Daniel Imms
e309f9eb93 Add security warning to new setting 2026-01-13 06:59:44 -08:00
Daniel Imms
22295b653e Add log about trust check bypass 2026-01-13 06:55:30 -08:00
Sandeep Somavarapu
b824fac549 fix #287034 (#287546)
* fix #287034

* accept suggestion
2026-01-13 14:14:29 +00:00
Daniel Imms
acb82349d3 Merge pull request #287543 from microsoft/tyriar/287542
Add warning to autoReplyToPrompts
2026-01-13 06:08:55 -08:00
kiofaw
6dad410a47 Fix incorrect visual selection highlight in Output Panel (#286972)
fix: disable roundedSelection in output panel to avoid selection highlight mismatch
2026-01-13 14:04:17 +00:00
Daniel Imms
9dd4e3ec84 Add warning to autoReplyToPrompts
Fixes #287542
2026-01-13 05:33:44 -08:00
Sandeep Somavarapu
97d778c701 fix #287509 (#287522)
* fix #287509

* fix tests
2026-01-13 05:16:27 -08:00
Johannes Rieken
4df158a5f0 make PersistModelChoice an experimental setting (#287528) 2026-01-13 12:21:16 +00:00
Dmitriy Vasyura
4b5cc19c78 Merge pull request #286341 from microsoft/dev/dmitriv/vb-indentation
Fix indentation rules for VB
2026-01-13 12:20:08 +01:00
Dmitriy Vasyura
2a9ddcdee6 Merge pull request #284531 from microsoft/dev/dmitriv/bracket-matching-foreground-2
Add editorBracketMatch-foreground color setting
2026-01-13 12:07:51 +01:00
Henning Dieterichs
e3ca23921e Improves monaco editor error message when loading a web worker failed (#287510) 2026-01-13 11:03:54 +00:00
Benjamin Pasero
73d0c3f5d2 layout - focus chat view if no other meaningful editor is opened (#287403) 2026-01-13 10:08:48 +00:00
Johannes Rieken
9d62a24f48 Make inline chat fallback to the default model of selected vendor (#287244)
This makes sure inline chat uses the model the vendor/extension recommends. Also makes sure folks aren't stuck on an old model selection. This can be disabled (via setting) and a custom selection will be honoured for the duration of a vscode session (lifetime of a window)

https://github.com/microsoft/vscode-internalbacklog/issues/6544
2026-01-13 09:45:59 +00:00
Sandeep Somavarapu
3cb484f591 clean up keys when group is removed (#287246) 2026-01-13 09:45:22 +00:00
Ladislau Szomoru
8f8c5595d1 Git - use findFiles2() to expand glob patterns (#287238) 2026-01-13 08:58:51 +00:00
Sandeep Somavarapu
cd52ffe12b rename models json file (#287234) 2026-01-13 08:42:49 +00:00
Robo
5e5a439725 Revert "chore: bump several modules (#287146)" (#287227)
* Revert "chore: bump several modules (#287146)"

This reverts commit 1af90223ca.

* chore: bump distro
2026-01-13 07:58:57 +00:00
Johannes Rieken
70fcd02c91 fix leaking inline chat widget (#287231) 2026-01-13 07:57:19 +00:00
Connor Peet
2b623fad1a chat: fix performance slowdowns when closing/reloading the window (#287186)
- _onDidChangeToolsScheduler.isScheduled is checked to avoid thrashing
  setTimeout when disposing many tools
- WorkspaceExtensionsManagementService was listening to file change events
  using a debounce. Debounces have overhead because a new timer is
  scheduled on every single call. For large amount of file changes
  (during EH shutdown when schemas for tools are deregistered) this
  caused a notable slowdown. `throttle` should be functionally equivalent.
- avoid triggering input updates (w/ downstream editor effects) each
  time the input gets parsed, which happened every time tool is called
- big hammer -- don't bother deregistering MCP tools each time

Results:

- `216ms` to shut down EH before making these changes
- `87ms` in the first three bullets
- `54ms` after skipping MCP tool deregistering. (Basically all the
   overhead there was unregistering the JSON schema for tool inputs.)
2026-01-13 13:54:31 +11:00
Takashi Tamura
a72f55393f fix: enhance final response rendering logic in ChatListItemRenderer (#286996) 2026-01-13 02:23:28 +00:00
Raymond Zhao
d19360411c chore: bump windows-process-tree (#287190) 2026-01-12 18:23:03 -08:00
Osvaldo Ortega
5552b8901a Merge pull request #287191 from microsoft/osortega/corresponding-platypus
Add searchable option groups for chat sessions
2026-01-12 16:59:11 -08:00
Raymond Zhao
c4d1af78c2 chore: bump distro (#287183)
fix build
2026-01-12 16:41:08 -08:00
Megan Rogge
1fbcce57f1 fix terminal suggest regression (#287187)
fixes #287161
2026-01-12 16:40:42 -08:00
Osvaldo Ortega
c4f5bfec5b See more as last item 2026-01-12 16:06:46 -08:00
Osvaldo Ortega
cc7d35069f feat: add searchable option groups and related functionality for chat sessions 2026-01-12 15:55:14 -08:00
Megan Rogge
84c3b2d6f7 implement chat terminal streaming (#285985) 2026-01-12 23:33:40 +00:00
Rob Lourens
bdab783719 Fix missing stop button after elicitation is hidden (#286866)
* Fix missing stop button after elicitation is hidden
Fix #283328

* Set elicitation state to rejected when hidden

* Only reject when it was pending
2026-01-12 15:13:59 -08:00
Copilot
5790ff8593 Add delete icon to Hidden Terminals menu item (#287133) 2026-01-12 23:03:47 +00:00
Megan Rogge
b5f5ceb252 fix disposable leak (#287141)
fixes #286968
2026-01-12 16:54:13 -06:00
Peng Lyu
87912ef73b Merge pull request #287166 from microsoft/rebornix/disgusted-jaguar
Update instructions/documentation for notebook and interactive window components
2026-01-12 13:45:33 -08:00
Shayne Boyer
86f9d85dfc Track telemetry when workspace contains azure.yaml or azure.yml files
Added a workspace.azure.yaml Measures marker to telemetry tracking that detects when a workspace contains azure.yaml or azure.yml files. This follows the existing pattern used for other file type detection (like workspace.tsconfig, workspace.npm, etc.).
2026-01-12 16:36:23 -05:00