Conversation
I believe the value should always be a `ChatSessionProviderOptionItem` now. I checked the copilot chat extension too and don't see anyone using the string value directly
…o a maximum of five; update tooltips and disable action accordingly
…302976) * Update chatProvider version to 5 and add configuration schema support for per-model options * Revert version number in chatProvider declaration from 5 to 4 * Refactor chat request options to use ILanguageModelChatRequestOptions interface and revert chatProvider version to 4 * Add per-model configuration actions and update LanguageModelsService methods * Improve label generation for model configuration actions by using propSchema.title and enhancing formatting * Enhance model configuration action labels to indicate default values in LanguageModelsService * Add languageModelsService to model action creation for enhanced toolbar actions * Integrate languageModelsService into model action creation for improved model picker functionality * Add configuration toolbar actions for models in chat model picker * Refactor model configuration action handling to utilize languageModelsService for toolbar actions * Add toolbar actions to model item creation in chat model picker * Refactor action item rendering to flatten SubmenuActions into a single gear button for context menu access * Enhance toolbar action interaction by preventing selection on click and updating visibility styles * Refactor ActionItemRenderer to use a gear button for context menu access and improve toolbar action handling * Refactor ActionItemRenderer to use inline menu for SubmenuActions and improve context menu handling * Refactor ActionItemRenderer to use defaultMenuStyles for menu configuration * Refactor ActionItemRenderer to display a gear button for SubmenuActions that opens an inline menu * Add submenu support to ActionListItem and update styles for submenu indicator * Enhance submenu handling in ActionItemRenderer with improved mouse event management and layout adjustments * Refactor ActionItemRenderer to streamline submenu handling and improve hover interactions * Prevent hover display for items with submenu actions to avoid conflicts * Add hardcoded submenu actions for debugging in createModelItem function * Refactor submenu positioning in ActionList to improve layout and visibility * Fix submenu positioning to prevent overflow clipping and ensure visibility * Refactor submenu positioning to append within action list's DOM context and adjust for transform offsets * Refactor submenu positioning to append within row element and adjust layout for transform offsets * Enhance submenu structure by adding rowElement to support fixed-position rendering and adjust overflow handling * Refactor submenu handling to remove rowElement from submenu state and adjust positioning logic for improved layout * Refactor submenu positioning to use bounding rectangles for accurate placement relative to the row element * Refactor submenu positioning to append within action list's DOM context for improved layout * Refactor submenu positioning to append within action-widget container and use fixed coordinates for accurate placement * Refactor submenu positioning to append directly to the action list's DOM node and adjust placement logic for improved layout * Refactor ActionList to set position of domNode to relative for accurate submenu positioning * Remove hardcoded submenu actions from createModelItem and use action's toolbarActions instead * Prevent hiding submenu when hovering over it to improve user interaction * Add submenu indicator visibility handling and CSS class for submenu items * Prevent hiding action widget when focus moves to a submenu * Always render submenu indicator icon for consistent width and alignment * Improve focus handling in ActionWidgetService to prevent premature hiding * Refactor focus handling in ActionWidgetService to improve submenu interaction * Prevent submenu from being focusable to maintain action widget focus * Adjust submenu positioning logic to display correctly based on available space * Add hasActiveSubmenu method to ActionList and update focus handling in ActionWidgetService * Update hasActiveSubmenu method to account for scheduled submenu visibility * Adjust submenu positioning to prevent overflow above the action list * Remove scheduled submenu visibility check from hasActiveSubmenu method * Enhance submenu positioning logic to dynamically determine expand direction based on available space * Implement cleanupSubmenu method and update focus handling to ensure proper submenu cleanup on focus loss * Refactor submenu handling: remove Menu widget and implement direct DOM rendering for submenu items * Add check icon to submenu items and adjust styling for improved layout * Immediately clean up submenu on hover change to enhance user experience * Update submenu styles: increase min-width and adjust padding for better layout * Refactor hover handling in ActionList: avoid showing hover for submenu items and adjust submenu display logic on hover * Enhance submenu item rendering: add group label display and adjust styles for improved layout * Refactor hover handling in ActionList: improve logic to skip re-rendering for active submenus * Update submenu min-width: increase from 160px to 220px for improved layout * Update submenu styles: change min-width to max-content for better adaptability * Update action widget styles: set min-width to 200px for improved layout * Improve submenu hover handling: prevent hiding when hovering over the same row or submenu * Update submenu item hover styles: change background and text colors for better visibility * Fix submenu selector handling: update class name for submenu detection and prevent default mouse down event * Hide submenu after action execution to improve user experience * Update submenu item hover styles: change background and text colors for improved visibility * Refactor LanguageModelsService: update group retrieval logic to use configuration service as the source of truth * Refactor LanguageModelsService: enhance model configuration handling by removing default properties and managing group updates * Add model configuration description retrieval to LanguageModelsService * Refactor LanguageModelsService: update property schema handling to use showInPicker and enhance description formatting * Add showInPicker property to IJSONSchema and update LanguageModelsService to utilize it * Refactor LanguageModelsService: update showInPicker handling to improve type safety and simplify value retrieval * Add showInPicker property to ILanguageModelConfigurationSchemaProperty and update configurationSchema type in ILanguageModelChatMetadata * Enhance model hover content: include configuration properties marked with showInPicker * Refactor buildModelPickerItems: pass languageModelsService to createModelItem for improved functionality * Refactor submenu handling in ActionList: add delay for hiding submenu to improve user experience * Refactor language model options: rename configuration to modelConfiguration for consistency * Refactor language model options: rename modelConfiguration to configuration for consistency * Enhance language model settings management: implement model settings update mechanism and extend interfaces for configuration handling * Enhance language model integration: add model configuration handling in chat agent requests and update type definitions * Refactor language model settings handling: remove unused model settings methods and update model configuration retrieval in chat requests * Refactor language model configuration handling: rename configuration to modelConfiguration for consistency * Refactor language model configuration: rename 'models' to 'settings' for consistency * Enhance ActionList: prevent hover display when a submenu is active and adjust submenu positioning to avoid scrollbar overlap * Enhance ActionList: add description text element and style submenu indicator for better interaction * Enhance ActionItemRenderer and CSS: adjust submenu indicator positioning and improve hover feedback for submenu items * Enhance ActionItemRenderer and CSS: wrap description and submenu indicator for improved hover feedback * Enhance ActionWidget CSS: adjust description group visibility and padding for submenu items * Refactor ActionItemRenderer: rearrange description group and toolbar for improved layout and hover feedback * Enhance ActionWidget CSS: adjust padding for submenu indicator for improved layout * Enhance ActionList hover behavior: update submenu display logic to trigger on description group hover * Enhance ActionWidget CSS: update submenu indicator visibility on row hover for improved user interaction * Refactor ActionList: remove submenu check from hover display logic for improved user experience * Refactor ActionList hover logic: improve submenu visibility handling during mouse movement * Enhance LanguageModel configuration: add support for enum item labels and descriptions in model picker * Enhance ActionList submenu rendering: add group headers and descriptions for improved clarity * Enhance ModelPicker: update label rendering to include model configuration descriptions and re-render on model changes * Enhance ActionList hover functionality: show hover content in submenu when no submenu actions are present and add CSS styles for hover section * Enhance ActionList submenu hover styles: adjust padding, font size, and colors for improved readability * Refactor ActionList submenu rendering: improve separator logic and remove unused header styles * Enhance ActionList submenu rendering: add group headers with labels and separators for improved organization * Enhance ActionList submenu hover styles: adjust padding for improved layout * Refactor ActionList rendering: remove unused description group and submenu indicator styles for cleaner layout * Enhance ActionList submenu hover styles: adjust padding, font size, and line height for improved readability * Enhance action list submenu hover styles: adjust padding, font size, and line height for improved readability and layout * Enhance action list submenu styles: adjust padding for improved layout * Enhance action list submenu group label styles: increase font size for better visibility * Update action list submenu group label color for improved visibility * Enhance ActionList submenu positioning and overflow handling for improved layout and visibility * Enhance action list item layout: add right padding for improved spacing * Refactor ActionList submenu: simplify styles and remove unused properties * Enhance ActionList hover behavior: switch to instant hover display for improved responsiveness * Enhance ActionList hover behavior: implement hover delay for improved user experience * Refactor ActionList hover behavior: switch to delayed hover display for improved user experience * Enhance ModelPickerActionItem: re-render label on model configuration changes * Enhance ModelPickerWidget: re-register label rendering on language model changes * Refactor ILanguageModelConfigurationSchemaProperty: rename showInPicker to isVisible for clarity * Refactor ILanguageModelConfigurationSchemaProperty: rename isVisible to isPrimary for clarity * Refactor ILanguageModelConfigurationSchemaProperty: rename isPrimary to showInDescription for clarity * Refactor ILanguageModelConfigurationSchemaProperty: rename showInDescription to showInModelPicker for clarity * Refactor ILanguageModelConfigurationSchemaProperty: rename showInModelPicker to pinToModelPicker for clarity * Refactor ILanguageModelConfigurationSchemaProperty: change pinToModelPicker to group for improved clarity * Refactor ILanguageModelsService: enhance documentation for getModelConfigurationDescription to clarify its purpose and usage * Refactor language model configuration handling: replace direct service method calls with utility function for improved clarity and maintainability * Refactor ActionItemRenderer: remove unused descriptionText property and streamline description handling * Refactor ActionItemRenderer: streamline description element creation by removing redundant code * Refactor ActionList: enhance hover content rendering and streamline submenu actions handling * Refactor ActionListHoverContent: extract group rendering logic into ActionListHoverGroup class * Refactor ActionListHoverContent and ActionListHoverGroup: enhance event handling and streamline disposables management * Refactor ActionListHoverGroup and ActionListHoverContent: integrate Menu widget for submenu actions and remove unused CSS styles * Refactor ActionListHoverGroup and ActionListHoverContent: remove unused Menu widget and enhance submenu item styling * Enhance ActionList keyboard navigation and accessibility: add support for submenu actions with arrow keys and improve focus handling for submenu items * Add OpenModelConfigPickerAction and model configuration picker UI component * Refactor ModelConfigPickerActionItem render method: streamline DOM node creation and class assignment * Enhance ModelConfigPickerActionItem: add disabled state handling for navigation actions * Enhance ModelConfigPickerActionItem: add header for submenu actions with group label * Enhance ModelConfigPickerActionItem: update submenu header to use action label as group title * Refactor ModelConfigPickerActionItem and ModelPickerActionItem: simplify navigation properties handling and remove unused language models service references * Enhance ModelConfigPickerActionItem: add navigation-group configuration values display in model picker * Enhance ModelConfigPickerActionItem and language model interfaces: add support for enum icons in model configuration * Refactor ModelConfigPickerActionItem and language model interfaces: replace enumIcons with a single icon property for configuration * Refactor ModelConfigPickerActionItem and language model interfaces: remove icon property from configuration schema * Refactor ActionList and ActionWidgetService: remove unused submenu actions and related hover logic * Clarify comment in OpenModelConfigPickerAction: specify that the picker is opened by the ModelConfigPickerActionItem view item on click * Remove model config picker UI: delete ModelConfigPickerActionItem, remove OpenModelConfigPickerAction and chatModelHasNavigationConfig context key The config picker dropdown button in the chat input has been removed while keeping the underlying per-model configuration API, settings support, and model management editor intact. Also fix ILanguageModelConfigurationSchema to not include boolean in properties type (incompatible with IJSONSchema), and add showUnavailableFeatured/showFeatured to IModelPickerDelegate. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Refactor LanguageModelsService: merge configuration options and simplify default checks * Revert newChatViewPane changes and fix code review issues - Make showUnavailableFeatured/showFeatured optional on IModelPickerDelegate (defaults to true), removing the need to change newChatViewPane.ts - Fix sendChatRequest merge order: caller's configuration takes precedence over stored model config - Remove dead typeof propSchema !== 'boolean' checks after type cleanup Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Revert unrelated changes to chatModelPicker and modelPickerActionItem These files were modified to add showUnavailableFeatured/showFeatured which already landed on main separately. Revert to merge-base versions to keep the diff clean. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Revert unrelated changes to chatInputPart.ts Revert to merge-base version — the diff was from main changes (delegation picker, showUnavailableFeatured/showFeatured) that will come in on merge. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Store raw per-model config to prevent secret leakage Previously, _resolveModelConfiguration was called when collecting per-model configs, which resolved secret references into plaintext. The resolved values were then cached in _modelConfigurations, and setModelConfiguration could inadvertently persist plaintext secrets back into chatLanguageModels.json. Now store raw config (with secret references intact) and remove the unused _resolveModelConfiguration method. Per-model config properties don't use secrets in practice (they're for temperature, reasoning effort, etc.), but this prevents any future secret leakage. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add submenu support to model picker for per-model configuration - Re-add submenu rendering to ActionList: ActionListHoverContent and ActionListHoverGroup classes for interactive hover with config options - Show config description (navigation-group values) in model picker item description and label - Pass toolbarActions from getModelConfigurationActions to model items - Add getModelConfigurationDescription to ILanguageModelsService - ArrowRight keyboard shortcut opens submenu with focus - CSS for submenu layout, group headers, check icons, descriptions Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add debug logging for submenu actions in ActionListWidget * Prevent selection when clicking on submenu indicator in ActionListWidget --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Enable reflowCursorLinefor Windows when conpty dll enabled * pull it outside of onProcessReady
* Sessions - support last turn's changes when using checkpoints * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Remove legacy sessionOptions string value
Allow multiple code reviews per session version
feat: allow LLM to request unsandboxed terminal execution with user confirmation
…02979) When a session is based on a local non-git workspace in the Sessions window, the Cloud option in the delegation picker is now disabled with a descriptive 'Requires a Git repository' message. Cloud delegation requires a GitHub repository, so allowing it for non-git workspaces would create broken cloud sessions. Fixes #302281 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Update Copilot CLI chat command targets * Fix formatting
…ical-lobster Revert "Remove legacy sessionOptions string value"
…tor (#303039) * Add disable/enable context menu for AI customization items Add the ability to disable and enable customization items (agents, skills, instructions, prompts) from the sessions tree view context menu. This leverages the existing IPromptsService disabled prompt files infrastructure. Changes: - Add Disable/Enable context menu actions that toggle items in the disabled prompt files set via IPromptsService - Track disabled state on tree file items by checking getDisabledPromptFiles - Apply 'disabled' CSS class (opacity: 0.5) to greyed-out disabled items - Add aiCustomizationItemDisabled context key for when-clause filtering - Update ARIA labels to announce disabled state for accessibility - Show 'Disable' when item is enabled, 'Enable' when item is disabled Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add disable/enable to management editor and fix cache refresh Wire up the disable/enable feature in the AI Customization management editor (the full-page list view), not just the sessions sidebar tree view. Changes: - Add AI_CUSTOMIZATION_ITEM_DISABLED_KEY context key for when-clause filtering - Add 'disabled' field to IAICustomizationListItem interface - Track disabled state in fetchItemsForSection via getDisabledPromptFiles - Apply 'disabled' CSS class (opacity: 0.5) on greyed-out items in renderer - Include disabled key in context overlay for both inline and context menus - Register Disable/Enable actions on AICustomizationManagementItemMenuId - Update setDisabledPromptFiles to refresh caches for all types (skills, prompts, instructions), not just agents - Subscribe list widget to onDidChangeSkills and onDidChangeInstructions so the list refreshes after toggling Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add disable/enable to inline hover actions Show eye/eye-closed icon buttons on hover for toggling disabled state, in both the management editor and the sessions tree view. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix inline menu registration ordering Move inline hover menu registrations for disable/enable after the action const declarations to avoid 'Cannot access before initialization' ReferenceError at runtime. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Filter disabled skills and instructions from LLM consumption Disabled items remain visible in the UI (greyed out) but are now excluded from the LLM/extension host pipeline: - Skills: filter in _pushSkills() before sending to extension host - Instructions: filter in getInstructionFiles() which is only used by computeAutomaticInstructions and extension host push - Prompts slash commands and findAgentSkills() remain unfiltered since the management editor uses them for display Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Filter disabled builtins at registration, scope UI to builtin only Fix skill unregistration by filtering at the thesource AgenticPromptsService overrides where built-in items are registered: - findAgentSkills(): skip disabled built-in skills - listPromptFiles(): skip disabled built-in items (removes from slash commands since computePromptSlashCommands uses this) Revert filtering from promptsServiceImpl (computeAgentSkills, getInstructionFiles) and mainThreadChatAgents2 (_pushSkills) since the correct place is the registration override, not the consumer. Scope disable/enable UI to built-in items only: - Add storage context key to both tree view and management editor - All menu items now require storage === 'builtin' in when-clause Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix missing ResourceSet import in aiCustomizationListWidget Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix: keep listPromptFiles unfiltered, filter in slash commands listPromptFiles() is the raw listing used by the UI to show all items (including disabled ones greyed out). It must not filter disabled items. Instead, filter disabled items in computePromptSlashCommands() which is the consumption path for slash command completions (typing /). - Revert disabled filter from AgenticPromptsService.listPromptFiles() - Add disabled filter in computePromptSlashCommands() for both prompts and skills Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Scope disable/enable to built-in skills only Add promptType === skill constraint to all disable/enable menu items so the toggle only appears for built-in skills, not prompts or other types. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix slash command cache refresh and stop filtering prompts Two fixes: - Refresh cachedSlashCommands when disabling a skill, so the /skill completion disappears immediately without a reload - Only filter disabled skills from slash commands, not prompts prompts have no re-enable UI so filtering them makes them permanently hidden Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Remove unnecessary cache refresh branches Only the skill branch is needed in setDisabledPromptFiles since we only disable built-in skills. Remove prompt/instructions branches. Remove onDidChangeInstructions not needed for this feature.subscription Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Address PR review: enrich disabled skill paths, accessibility labels, tree view disabled skills - Include name/description from built-in skills cache in getBuiltinSkillPaths() - Add 'disabled' announcement to accessibility labels in list widget - Merge disabled skills into tree view so they can be re-enabled from sidebar Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix duplicate import of aiCustomizationTreeView Merge two separate imports from './aiCustomizationTreeView.js' into a single import statement to fix ESLint no-duplicate-imports rule violation. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…arness extensibility in core (#303036) customizations: harness filtering for Claude, agent gating, extensible section overrides
* enhance image carousel with caption and counter display * nav buttons are keyboard accessiblity w/ focus border highlight
Working towards removing the string version of these option value entirely
* new thinking design * make it more readable * fix tests * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Send along full `ChatSessionProviderOptionItem` in update callback
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )