* plugin system: add support for rules ('instructions') from Open Plugin spec
- Adds IAgentPluginInstruction interface and instructions property to IAgentPlugin
observable stream, following the same pattern as commands/skills/agents
- Implements _readRules() method in agentPluginServiceImpl to discover rule files
(.mdc, .md, .instructions.md) from the rules/ directory and supplemental paths
defined in the plugin manifest. Uses longest-match-first suffix stripping to
correctly derive rule names.
- Wires observeComponent('rules', ...) in _toPlugin() to integrate manifest
'rules' field configuration with the discovery mechanism
- Adds plugin instructions to the prompt file discovery system via watchPluginPromptFilesForType,
making instructions available alongside filesystem-discovered instructions
- Includes comprehensive test coverage for rule discovery patterns, suffix stripping,
deduplication, and reactive observable integration
(Commit message generated by Copilot)
* comments
* plugins: support plugin specific paths, adding a plugin directly
- Supports custom fields for commands/skills/agents/etc in plugins,
matching the new plugins spec.
- Support adding a plugin (without needing a repo) directly via
'Chat: Install Plugin from Source' in the command palette, installed
plugins view, or the chat customizations view.
Closes https://github.com/microsoft/vscode/issues/300945?reload=1
* comments
* /yolo -> switches to bypass mode, /autopilot switches to autopilot
* in collapsed mode, make sure headers are updated with more info
* Revert "in collapsed mode, make sure headers are updated with more info"
This reverts commit 104db3926e.
* Revert "/yolo -> switches to bypass mode, /autopilot switches to autopilot"
This reverts commit ded22eca4b.
* in collapsed mode, make sure headers are updated with more info
* better todos and fix comments
* Simplify chat auto-reply: skip questions instead of LLM-answering them
When `chat.autoReply` is enabled, the questions tool now returns the
same 'user is not available, use your best judgment' response used in
autopilot mode — instead of sending questions to a separate LLM call
for answer resolution.
This removes ~450 lines of LLM prompt engineering, JSON parsing with
retry, fuzzy option matching, fallback answer generation, and opt-in
dialog management.
* Address review: skip in-flight carousels when auto-reply is enabled mid-session
Listen for chat.autoReply config changes in chatListRenderer and skip
all pending question carousels when the setting becomes enabled. This
handles the edge case where a carousel is already awaiting user input
and the user enables auto-reply or switches to autopilot afterward.
* Browser Zoom
* Remove logic from editor
* Feedback
* Small comment change
* Zoom factors, not percentages
* Comment on keybinding
* Add keybindings back to actions
* Add browserZoomLabel helper for zoom percentage display
* First AI changes
* AI pass with zoom level hierarchy
* Fix zoom not applying to other origins after default zoom change
* Promote per-origin zoom to user setting workbench.browser.zoom.perOriginZoomLevels
* Remove unnecessary configuration migration for zoom setting
* Add 'Match VS Code' default zoom level option for Integrated Browser
* Add missing localize import to platform/browserView/common/browserView.ts
* Switch per-origin zoom tracking to per-host (http/https only)
* Rename zoom settings: defaultZoomLevel→pageZoom, perHostZoomLevels→zoomLevels; mark zoomLevels as advanced
* Update setting description and scope
* Improve zoom service: lazy synchronizer, pre-computed label map, RunOnceScheduler, always forceApply on navigate
* Remove self-evident and redundant comments
* Refactor zoom to two independent cascades (ephemeral/persistent each fall back to default independently)
* Use IStorageService for per-host browser zoom instead of settings
* Remove VS Code product name from browser zoom code
The askQuestions tool was defaulting allowFreeformInput to false when the
model omitted it, which meant users couldn't provide freeform text answers
unless the model explicitly opted in. This restores the previous behavior
where freeform input is shown by default alongside options.
Also updates the schema description and model description to reflect that
allowFreeformInput defaults to true and can be set to false to restrict
to predefined options only.