// Convert Setting instance in ConversationsOptions.cs to json
//
// This file contains 2 parts, properties and categories. Add the new setting in properties and new page/group in categories.
// Keep property key same as Settings.Moniker value, e.g. copilot.pageName.groupName.optionName
// Keep category key same as the page/group name defined in ConversationsOptions.cs, e.g. copilot.pageName/copilot.pageName.groupName
// Add new property:
// "type" : Map BoolSetting to "boolean", IntSetting to "integer", StringSetting and StringSetSetting to "string"
// "default" : Make sure this value is same as defined in Policy. For special cases like controlled by IsFeatureFlagEnabled, OnByDefaultForInternal, examples can be found in this file.
// "title" and "description": Use the DisplayName and Description defined in Strings.resx. If this is a internal setting and does not need to be localized, please make sure the value start with "*".
// "visibleWhen" : When setting is not visible by default, make sure this value is same as defined in VisibilityPolicy
// "migration" : This part is no longer needed for settings that added after 17.12 P3.
// Add new category:
// "title" and "description": Use the DisplayName and Description defined in Strings.resx.
// Test new setting:
// F5, and make sure the new setting is located in the expected place in both classic and USX settings page.
// Change setting value on one setting page should apply to the other.
// To switch between classic and USX settings page, please use Tools > Options Experience (request restart)
// To test a internal only setting (the setting in feature flags page or prompt/model page), if you cannot see both internal setting pages in Tools > Options > GitHub,
// ask for join the "internal user group" (see https://devdiv.visualstudio.com/DevDiv/_git/VisualStudio.Conversations?path=/README.md&version=GBmain&_a=preview&anchor=need-more-control),
// or run "set COPILOT_INTERNALUSER=true" from command line to show up the internal settings.
{
  "properties": {
    // general
    // category chat
    "copilot.general.chat.enableAgentMode": {
      "type": "boolean",
      "default": true,
      "title": "@EnableAgentModeDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.general.chat.enableMcpProvider": {
      "type": "boolean",
      "default": true,
      "title": "@EnableMcpProviderDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.general.chat.enablePlanning": {
      "type": "boolean",
      "default": false,
      "title": "@EnablePlanningDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnablePlanningDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.general.chat.enableViewPlanExecution": {
      "type": "boolean",
      "default": true,
      "title": "@EnableViewPlanExecutionDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableViewPlanExecutionDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.general.chat.enableWorkspaceIndexing": {
      "type": "boolean",
      "default": true,
      "requiresRestart": true,
      "title": "@EnableWorkspaceIndexingDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableWorkspaceIndexingDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableWorkspaceIndexing"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.general.chat.autoSelectRefinementMode": {
      "type": "boolean",
      "default": false,
      "title": "@AutoSelectRefinementModeDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.AutoSelectRefinementMode"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.general.chat.autoAttachActiveDocument": {
      "type": "boolean",
      "default": true,
      "title": "@AutoAttachActiveDocumentDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@AutoAttachActiveDocumentDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "alternateDefault": {
        // This workaround is necessary to change the setting on upgrading VS
        // copilot.doNotAutoAttachActiveFileByDefault is a FF and when it's enabled, the alternate default value of False will be used for the setting
        "flagName": "copilot.doNotAutoAttachActiveFileByDefault",
        "default": false
      }
    },
    "copilot.general.chat.enableCustomInstructions": {
      "type": "boolean",
      "default": true,
      "title": "@EnableCustomInstructionsDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableCustomInstructionsDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableCustomInstructions"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.general.chat.enableCustomInstructionsFiles": {
      "type": "boolean",
      "default": true,
      "title": "@EnableCustomInstructionsFilesDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableCustomInstructionsFilesDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.general.chat.enableDotNetProjectSpecificInstructions": {
      "type": "boolean",
      "default": false,
      "title": "@EnableDotNetProjectSpecificInstructionsDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.general.chat.enableMicrosoftLearnFunction": {
      "type": "boolean",
      "default": false,
      "title": "@EnableMicrosoftLearnFunctionDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableMicrosoftLearnFunctionDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.general.chat.defaultAgent": {
      "type": "string",
      "default": "LastSelected",
      "visibleWhen": "${config:copilot.general.chat.enableAgentMode} == 'true'",
      "enum": [
        "LastSelected",
        "Ask",
        "Agent"
      ],
      "enumItemLabels": [
        "@copilot.general.chat.defaultAgent_LastSelected;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
        "@copilot.general.chat.defaultAgent_Ask;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
        "@copilot.general.chat.defaultAgent_Agent;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
      ],
      "title": "@copilot.general.chat.defaultAgentDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@copilot.general.chat.defaultAgentDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.general.chat.preferredModelFamily": {
      "type": "string",
      "default": "",
      "visibleWhen": "'false'",
      "title": "@copilot.general.chat.preferredModelFamilyDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.general.chat.enablePreferenceDetection": {
      "type": "boolean",
      "default": true,
      "title": "@EnablePreferenceDetectionDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnablePreferenceDetectionDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.general.chat.errorDiagnosticsEnabled": {
      "type": "boolean",
      "default": true,
      "title": "Enable Error Diagnostics feature"
    },
    "copilot.general.chat.maxFunctionCallIterations": {
      "type": "integer",
      "default": 80,
      "maximum": 255,
      "minimum": 0,
      "title": "@MaxFunctionCallIterationsDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@MaxFunctionCallIterationsDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.MaxFunctionCallIterations"
            }
          ],
          "map": [
            {
              "result": "@default",
              "matches": [
                -2147483648
              ]
            },
            {
              "result": "@=0",
              "matches": [
                "@any"
              ]
            }
          ]
        }
      }
    },
    "copilot.general.chat.enableBackgroundSummarization": {
      "type": "boolean",
      "default": false,
      "title": "@EnableBackgroundSummarizationDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableBackgroundSummarizationDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.general.chat.quotaWarningThresholdPercentage": {
      "type": "integer",
      "default": 75,
      "maximum": 100,
      "minimum": 0,
      "title": "@QuotaWarningThresholdPercentageDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@QuotaWarningThresholdPercentageDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    // category completions
    "copilot.general.completions.areCopilotCompletionsEnabled": {
      "type": "boolean",
      "default": true,
      "title": "@AreCopilotCompletionsEnabledDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@AreCopilotCompletionsEnabledDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.AreCopilotCompletionsEnabled"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    // category editor
    "copilot.general.editor.enhanceNonChat": {
      "type": "boolean",
      "default": true,
      "title": "@EnhanceNonChatDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnhanceNonChatDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.general.editor.enableRenameSuggestions": {
      "type": "boolean",
      "default": true,
      "title": "@EnableRenameSuggestionsDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableRenameSuggestionsDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "visibleWhen": "${feature:Editor.ShowSmartRenameOption} == 'true'",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableRenameSuggestions"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.general.editor.enableAdaptivePaste": {
      "type": "boolean",
      "default": false,
      "alternateDefault": {
        "flagName": "Editor.AdaptivePaste",
        "default": true
      },
      "title": "@EnableAdaptivePasteDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableAdaptivePasteDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "visibleWhen": "${feature:Editor.ShowAdaptivePasteOption} == 'true'",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableAdaptivePaste"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.general.editor.enableOnTheFlyDocs": {
      "type": "boolean",
      "default": true,
      "title": "@EnableOnTheFlyDocsDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableOnTheFlyDocsDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableOnTheFlyDocs"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.general.editor.enableFixWithCopilot": {
      "type": "boolean",
      "default": true,
      "title": "@EnableFixWithCopilotDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableFixWithCopilot"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.general.editor.enableGenerateDocumentationComment": {
      "type": "boolean",
      "default": true,
      "title": "@EnableGenerateDocumentationCommentDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableGenerateDocumentationCommentDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableCSharpGenerateDocumentationComment"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    // source control
    "copilot.general.sourceControl.enableCommitMessageSuggestions": {
      "type": "boolean",
      "default": true,
      "title": "@EnableCommitMessageSuggestionsDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableCommitMessageSuggestionsDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "visibleWhen": "${feature:Git.UX.ChangesSuggestMessage} == 'true'",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableCommitMessageSuggestions"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.general.sourceControl.customizedTemplate": {
      "type": "string",
      "default": "",
      "format": "multiline",
      "example": "@CustomizedTemplateHintText;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "title": "@CustomizedTemplateDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@CustomizedTemplateDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "visibleWhen": "${feature:Git.UX.ChangesSuggestMessageCustomization} == 'true'",
      "enableWhen": "${config:copilot.general.sourceControl.enableCommitMessageSuggestions} == 'true'",
      "migration": {
        "pass": {
          "input": {
            "store": "SettingsManager",
            "path": "Microsoft.VisualStudio.Conversations.CustomizedTemplate"
          }
        }
      }
    },
    // debugging
    "copilot.general.debugger.enableDiagnosticsHubSuggestions": {
      "type": "boolean",
      "default": true,
      "title": "@EnableDiagnosticsHubSuggestionsDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableDiagnosticsHubSuggestionsDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "visibleWhen": "'false'",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableDiagnosticsHubSuggestions"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.general.debugger.enableDiagnosticsHubProfilerAgent": {
      "type": "boolean",
      "default": false,
      "alternateDefault": {
        "flagName": "DiagnosticsHub.ProfilerAgent",
        "default": true
      },
      "title": "@EnableDiagnosticsHubProfilerAgentDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableDiagnosticsHubProfilerAgentDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "visibleWhen": "${feature:DiagnosticsHub.ProfilerAgent} == 'true'"
    },
    "copilot.general.debugger.enableBreakpointSuggestions": {
      "type": "boolean",
      "default": true,
      "title": "@EnableBreakpointSuggestionsDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableBreakpointSuggestionsDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "visibleWhen": "${feature:Debugger.EnableCopilotBreakpointSuggestions} == 'true'",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableBreakpointSuggestions"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.general.debugger.enableDebugErrorCodeService": {
      "type": "boolean",
      "default": true,
      "title": "@EnableDebugErrorCodeServiceDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableDebugErrorCodeServiceDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "visibleWhen": "${feature:Debugger.EnableCopilotErrorCodeAnalysis} == 'true'",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableDebugErrorCodeService"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.general.debugger.enableParallelStacksSummarizationService": {
      "type": "boolean",
      "default": true,
      "title": "@EnableParallelStacksSummarizationServiceDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableParallelStacksSummarizationServiceDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "visibleWhen": "${feature:Debugger.EnableCopilotParallelStacksSummarization} == 'true'",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableParallelStacksSummarizationService"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    // logging
    "copilot.general.logging.enableExtendedLogging": {
      "type": "boolean",
      "default": false,
      "visibleWhen": "'false'",
      "title": "",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableExtendedLogging"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.general.logging.conversationsTraceLevel": {
      "type": "string",
      "default": "info",
      "enum": [
        "off",
        "error",
        "warning",
        "info",
        "verbose"
      ],
      "title": "@ConversationsTraceLevelDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.ConversationsTraceLevel"
            }
          ],
          "map": [
            {
              "result": "off",
              "matches": [
                "Off"
              ]
            },
            {
              "result": "error",
              "matches": [
                "Error"
              ]
            },
            {
              "result": "warning",
              "matches": [
                "Warning"
              ]
            },
            {
              "result": "info",
              "matches": [
                "Info"
              ]
            },
            {
              "result": "verbose",
              "matches": [
                "Verbose"
              ]
            },
            {
              "result": "@default",
              "matches": [
                ""
              ]
            }
          ]
        }
      }
    },
    "copilot.general.logging.enableOpenTelemetry": {
      "type": "boolean",
      "default": false,
      "title": "@EnableOpenTelemetryDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableOpenTelemetryDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "requiresRestart": true,
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableOpenTelemetry"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.general.logging.enableTokenConsumptionTelemetry": {
      "type": "boolean",
      "default": true,
      "title": "*Enable token consumption telemetry"
    },
    "copilot.general.tools.toolSettings": {
      "title": "@ToolSettingsDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@ToolSettingsDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "type": "array",
      "default": [],
      "items": {
        "type": "object",
        "properties": {
          "toolName": {
            "type": "string",
            "title": "@ToolCallSettingsToolName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
            "default": ""
          },
          "autoExecutionMode": {
            "type": "string",
            "title": "@ToolCallSettingsAutoExecution;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
            "enum": [
              "Never",
              "PerSolution",
              "Always"
            ],
            "enumItemLabels": [
              "@ToolCallSettingsAutoExecutionMode_Never;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
              "@ToolCallSettingsAutoExecutionMode_PerSolution;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
              "@ToolCallSettingsAutoExecutionMode_Always;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
            ],
            "default": "Never"
          },
          "resetPerSolution": {
            "type": "boolean",
            "title": "@ToolCallSettingsResetSolutionSetting;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
            "default": false
          }
        }
      },
      "itemsAreOrdered": false,
      "allowItemEditing": true,
      "hasUserSelectableDefaultItem": false
    },
    // storage for toolSettings when unified settings is not enabled
    "copilot.general.tools.toolSettingsClassic": {
      "type": "string",
      "default": "[]",
      "visibleWhen": "'false'",
      "title": "*Backing storage for individual tool settings in classic settings mode."
    },
    "copilot.general.logging.enableSendCopilotTelemetryToGitHub": {
      "type": "boolean",
      "default": true,
      "title": "@EnableSendCopilotTelemetryToGitHubDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableSendCopilotTelemetryToGitHubDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    // feature flags
    // Chat UI
    "copilot.featureFlags.chatUI.enableChatReferencesLinksNewUI": {
      "type": "boolean",
      "default": true,
      "title": "@EnableChatReferencesLinksNewUIDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableChatReferencesLinksNewUIDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableChatReferencesLinksNewUI"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.chatUI.enableGrayTextInWindowedChat": {
      "type": "boolean",
      "default": false,
      "title": "*EnableGrayTextInWindowedChat",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableGrayTextInWindowedChat"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.chatUI.enableSuggestedPrompts": {
      "type": "boolean",
      "default": false,
      "alternateDefault": {
        "flagName": "VS.Copilot.InternalUser",
        "default": true
      },
      "title": "@EnableSuggestedPromptsDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableSuggestedPromptsDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableSuggestedPrompts"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.chatUI.enableChatReferencesLinks": {
      "type": "boolean",
      "default": true,
      "title": "@EnableChatReferencesLinksDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableChatReferencesLinksDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableChatReferencesLinks"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.chatUI.enableGrayTextInInlineChat": {
      "type": "boolean",
      "default": false,
      "title": "*EnableGrayTextInInlineChat",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableGrayTextInInlineChat"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.chatUI.enableEmbeddedDiffMargin": {
      "type": "boolean",
      "default": false,
      "title": "@EnableEmbeddedDiffMarginDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableEmbeddedDiffMargin"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.chatUI.enableImageAttachments": {
      "type": "boolean",
      "default": true,
      "title": "@EnableImageAttachmentsDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableImageAttachmentsDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableImageAttachments"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.chatUI.enableContextAttachments": {
      "type": "boolean",
      "default": true,
      "title": "@EnableContextAttachmentsDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableContextAttachmentsDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.featureFlags.chatUI.enableMentionDetector": {
      "type": "boolean",
      "default": true,
      "title": "@EnableMentionDetectorDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableMentionDetectorDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableMentionDetector"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.chatUI.enableCopilotEdits": {
      "type": "boolean",
      "default": true,
      "title": "Enable Copilot Edits in the chat pane"
    },
    "copilot.featureFlags.chatUI.enableFilteredRetry": {
      "type": "boolean",
      "default": true,
      "title": "Enable Filtered retry in the chat ui"
    },
    "copilot.featureFlags.chatUI.enabledTools": {
      "type": "string",
      "default": "",
      "title": "Enabled Tools",
      "description": "The set of tools that are enabled for the chat UI"
    },
    "copilot.featureFlags.chatUI.disabledTools": {
      "type": "string",
      "default": "",
      "title": "Disabled Tools",
      "description": "The set of tools that are disabled by user for the chat UI"
    },
    "copilot.featureFlags.chatUI.useSpeculativeEditsEndpoint": {
      "type": "boolean",
      "default": false,
      "title": "Use experimental code mapping",
      "description": "Enables the use of the speculative decoding endpoint for model-based code mapping."
    },
    "copilot.featureFlags.chatUI.useInstantApplyEndpoint": {
      "type": "boolean",
      "default": true,
      "title": "Use instant apply code mapping",
      "description": "Enables the use of the instant apply endpoint for model-based code mapping."
    },
    "copilot.featureFlags.chatUI.maxGptCodeMapperPromptSize": {
      "type": "integer",
      "default": 10000,
      "minimum": 0,
      "title": "*MaxGptCodeMapperPromptSize"
    },
    "copilot.featureFlags.chatUI.maxInstantApplyPromptSize": {
      "type": "integer",
      "default": 128000,
      "minimum": 0,
      "title": "*MaxInstantApplyPromptSize"
    },
    "copilot.featureFlags.chatUI.maxSpeculativeEditsPromptSize": {
      "type": "integer",
      "default": 30000,
      "minimum": 0,
      "title": "*MaxSpeculativeEditsPromptSize"
    },
    "copilot.featureFlags.chatUI.modelBasedMapperRequestTimeoutInMinutes": {
      "type": "integer",
      "default": 5,
      "minimum": 0,
      "title": "*ModelBasedMapperRequestTimeoutInMinutes"
    },
    // // Chat UI - Core experience
    "copilot.featureFlags.chatUI.enableRetryingLastRequest": {
      "type": "boolean",
      "default": true,
      "title": "@EnableRetryingLastRequestDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.featureFlags.chatUI.enableAutoReviewMode": {
      "type": "boolean",
      "default": true,
      "title": "@EnableAutoReviewModeDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableAutoReviewModeDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.featureFlags.chatUI.enableSKUIsolation": {
      "type": "boolean",
      "default": true,
      "title": "@EnableSKUIsolationDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableSKUIsolationDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "visibleWhen": "'false'",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableSKUIsolation"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.chatUI.disabledFunctionsInDefaultChat": {
      "type": "string",
      "default": "",
      "title": "*DisabledFunctionsInDefaultChat"
    },
    "copilot.featureFlags.chatUI.enableFunctionsInDefaultChat": {
      "type": "boolean",
      "default": true,
      "title": "@EnableFunctionsInDefaultChatDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableFunctionsInDefaultChatDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.featureFlags.chatUI.disabledFunctionsInCopilotEdits": {
      "type": "string",
      "default": "lookup_vs,get_debugging_info",
      "title": "@DisabledFunctionsInCopilotEditsDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@DisabledFunctionsInCopilotEditsDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.featureFlags.chatUI.enableFunctionsInCopilotEdits": {
      "type": "boolean",
      "default": true,
      "title": "@EnableFunctionsInCopilotEditsDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableFunctionsInCopilotEditsDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.featureFlags.chatUI.experimentalChat": {
      "type": "boolean",
      "default": true,
      "title": "@ExperimentalChatDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.ExperimentalChat"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.chatUI.solutionInExperimentalChatEnabled": {
      "type": "boolean",
      "default": false,
      "title": "*SolutionInExperimentalChatEnabled",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.SolutionInExperimentalChatEnabled"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.chatUI.teachReferencesInRespond": {
      "type": "boolean",
      "default": true,
      "title": "*TeachReferencesInRespond",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.TeachReferencesInRespond"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.chatUI.enableOffTopicFilter": {
      "type": "boolean",
      "default": true,
      "title": "@EnableOffTopicFilterDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "visibleWhen": "'false'",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableOffTopicFilter"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.chatUI.enableAskVSAgent": {
      "type": "boolean",
      "default": true,
      "title": "@EnableAskVSAgentDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableAskVSAgentDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableAskVSAgent"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.chatUI.enableGenericCodeFileMapper": {
      "type": "boolean",
      "default": false,
      "title": "@EnableGenericCodeFileMapperDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableGenericCodeFileMapperDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableGenericCodeFileMapper"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.chatUI.enableCSharpMapperMixedNodeSupport": {
      "type": "boolean",
      "default": false,
      "title": "@EnableCSharpMapperMixedNodeSupportDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableCSharpMapperMixedNodeSupportDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableCSharpMapperMixedNodeSupport"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.chatUI.enablePatchApplyMappingToolForGptFamily": {
      "type": "boolean",
      "default": true,
      "title": "Enable patch apply code mapping on gpt models.",
      "description": "Enables patch apply code mapping on supported GPT models like gpt4.1"
    },
    "copilot.featureFlags.chatUI.enableFindReplaceMappingToolForClaudeFamily": {
      "type": "boolean",
      "default": true,
      "title": "Enable find/replace code mapping on claude and gemini models.",
      "description": "Enables find/replace code mapping on supported claude and gemini models"
    },
    "copilot.featureFlags.chatUI.findReplaceCodeMapperVersion": {
      "type": "string",
      "default": "find-replace-v2",
      "enum": [
        "find-replace-v1",
        "find-replace-v2"
      ],
      "enumItemLabels": [
        "Find Replace V1",
        "Find Replace V2"
      ],
      "title": "find/replace code mapper version.",
      "description": "Sets the find/replace code mapper version to use."
    },
    "copilot.featureFlags.chatUI.applyPatchCodeMapperVersion": {
      "type": "string",
      "default": "apply-patch-v2",
      "enum": [
        "apply-patch-v1",
        "apply-patch-v2"
      ],
      "enumItemLabels": [
        "Apply Patch V1",
        "Apply Patch V2"
      ],
      "title": "apply patch code mapper version.",
      "description": "Sets the apply patch code mapper version to use."
    },
    "copilot.featureFlags.chatUI.enableAutomaticToolConfirmations": {
      "type": "boolean",
      "default": false,
      "title": "@EnableAutomaticToolConfirmationsDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableAutomaticToolConfirmationsDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    // Chat UI - UX
    "copilot.featureFlags.chatUI.defaultScopeAsInt": {
      "type": "integer",
      "title": "*DefaultScopeAsInt",
      "default": 4,
      "maximum": 4,
      "minimum": 0,
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.DefaultScopeAsInt"
            }
          ],
          "map": [
            {
              "result": "@default",
              "matches": [
                -2147483648
              ]
            },
            {
              "result": "@=0",
              "matches": [
                "@any"
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.chatUI.enableSlashCommandExpansion": {
      "type": "boolean",
      "default": true,
      "title": "@EnableSlashCommandExpansionDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableSlashCommandExpansionDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableSlashCommandExpansion"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.chatUI.enableFeedbackWindow": {
      "type": "boolean",
      "default": true,
      "title": "@EnableFeedbackWindowDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "visibleWhen": "'false'",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableFeedbackWindow"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.chatUI.enableMemoriesDetection": {
      "type": "boolean",
      "default": false,
      "title": "@EnableMemoriesDetectionDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.general.editor.enableMermaidPreview": {
      "type": "boolean",
      "default": false,
      "visibleWhen": "${feature:VS.Copilot.EnableMermaidPreview} == 'true'",
      "title": "@EnableMermaidPreviewDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableMermaidPreviewDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "alternateDefault": {
        "flagName": "VS.Copilot.EnableMermaidPreview",
        "default": true
      },
      "requiresRestart": true
    },
    "copilot.featureFlags.chatUI.enableNewWelcomeExperience": {
      "type": "boolean",
      "default": true,
      "title": "@EnableNewWelcomeExperienceDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableNewWelcomeExperienceDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableNewWelcomeExperience"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.chatUI.enableBringYourOwnKey": {
      "type": "boolean",
      "default": true,
      "title": "@EnableBringYourOwnKeyDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableBringYourOwnKeyDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.featureFlags.chatUI.enableBringYourOwnKeyInternalOnly": {
      "type": "boolean",
      "default": false,
      "title": "@EnableBringYourOwnKeyInternalOnlyDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableBringYourOwnKeyInternalOnlyDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "alternateDefault": {
        "flagName": "VS.Copilot.InternalUser",
        "default": true
      }
    },
    "copilot.featureFlags.chatUI.enablePreAuthExperience": {
      "type": "boolean",
      "default": true,
      "title": "@EnablePreAuthExperienceDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnablePreAuthExperienceDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.featureFlags.chatUI.maxSummarizationsPerInteraction": {
      "type": "integer",
      "default": 5,
      "minimum": 0,
      "maximum": 30,
      "title": "*MaxSummarizationsPerInteraction (Max summarizations allowed per interaction, if 0 no summarization will happen)"
    },
    "copilot.featureFlags.chatUI.summarizationDefaultModel": {
      "type": "string",
      "default": "gpt-5.4-mini",
      "title": "Summarization default model family",
      "description": "When set, this model family will be used for summarization requests instead of the conversation model. The model must have enough input tokens to fit the current conversation context."
    },
    "copilot.featureFlags.chatUI.tokenUsageSummarizationThreshold": {
      "type": "integer",
      "default": 97,
      "minimum": 90,
      "maximum": 200,
      "title": "*TokenUsageSummarizationThreshold (enter as whole number i.e. 50%, NOT 0.50)"
    },
    "copilot.featureFlags.chatUI.backgroundSummarizationThreshold": {
      "type": "integer",
      "default": 75,
      "minimum": 20,
      "maximum": 85,
      "title": "*BackgroundSummarizationThreshold (token usage % to start speculative background summarization)"
    },
    //editor
    "copilot.featureFlags.editor.enableAutomaticOnTheFlyDocs": {
      "type": "boolean",
      "default": false,
      "title": "@EnableAutomaticOnTheFlyDocsDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableAutomaticOnTheFlyDocsDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "visibleWhen": "${feature:VC.QuickInfoAIDocs.Allowed} == 'true' && ${feature:VC.QuickInfoAIDocs.AutomaticAllowed} == 'true'",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableAutomaticOnTheFlyDocs"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.editor.enableTypeScriptGuidedConversation": {
      "type": "boolean",
      "default": false,
      "title": "@EnableTypeScriptGuidedConversationDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableTypeScriptGuidedConversationDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableTypeScriptGuidedConversation"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.editor.enableCSharpCodeAnalysis": {
      "type": "boolean",
      "default": false,
      "title": "@EnableCSharpCodeAnalysisDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableCSharpCodeAnalysisDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableCSharpCodeAnalysis"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.editor.enableCSharpRefineQuickActionSuggestion": {
      "type": "boolean",
      "default": false,
      "title": "@EnableCSharpRefineQuickActionSuggestionDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableCSharpRefineQuickActionSuggestionDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableCSharpRefineQuickActionSuggestion"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.editor.enableCSharpGenerateMethodImplementation": {
      "type": "boolean",
      "default": true,
      "title": "@EnableCSharpGenerateMethodImplementationDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableCSharpGenerateMethodImplementationDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    // debugger
    "copilot.featureFlags.debugger.useCombinedDebuggerConversationMode": {
      "type": "boolean",
      "default": false,
      "title": "@UseCombinedDebuggerConversationModeDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@UseCombinedDebuggerConversationModeDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.UseCombinedDebuggerConversationMode"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    // test window
    "copilot.featureFlags.testWindow.enableTestFailureAnalysis": {
      "type": "boolean",
      "default": false,
      "alternateDefault": {
        "flagName": "TestingTools.UnitTesting.Enable.Copilot",
        "default": true
      },
      "title": "@EnableTestFailureAnalysisDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableTestFailureAnalysisDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "visibleWhen": "'false'",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableTestFailureAnalysis"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    // GitHub extensibility
    "copilot.featureFlags.gitHubExtensibility.enableWorkspaceAgent": {
      "type": "boolean",
      "default": true,
      "title": "@EnableWorkspaceAgentDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableWorkspaceAgentDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableWorkspaceAgent"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.gitHubExtensibility.enableGithubRemoteAgents": {
      "type": "boolean",
      "default": true,
      "title": "@EnableGithubRemoteAgentsDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableGithubRemoteAgentsDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "visibleWhen": "'false'",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableGithubRemoteAgents"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.gitHubExtensibility.remoteAgentsWithImplicitContextAllowed": {
      "type": "string",
      "default": "github",
      "title": "*RemoteAgentsWithImplicitContextAllowed",
      "visibleWhen": "'false'",
      "migration": {
        "pass": {
          "input": {
            "store": "SettingsManager",
            "path": "Microsoft.VisualStudio.Conversations.RemoteAgentsWithImplicitContextAllowed"
          }
        }
      }
    },
    "copilot.featureFlags.gitHubExtensibility.enabledFunctionsForPlatformAgent": {
      "type": "string",
      "default": "",
      "title": "*EnabledFunctionsForPlatformAgent"
    },
    // context
    "copilot.featureFlags.context.enableErrorContext": {
      "type": "boolean",
      "default": true,
      "title": "@EnableErrorContextDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableErrorContextDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableErrorContext"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.context.enableOutputWindowContext": {
      "type": "boolean",
      "default": true,
      "title": "@OutputWindowContextDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@OutputWindowContextDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.featureFlags.context.enableTraitProviders": {
      "type": "boolean",
      "default": true,
      "title": "*EnableTraitProviders",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableTraitProviders"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.context.disabledTraitProviders": {
      "type": "string",
      "default": "",
      "title": "*DisabledTraitProviders",
      "migration": {
        "pass": {
          "input": {
            "store": "SettingsManager",
            "path": "Microsoft.VisualStudio.Conversations.DisabledTraitProviders"
          }
        }
      }
    },
    "copilot.featureFlags.context.enableSemanticContextInChat": {
      "type": "boolean",
      "default": false,
      "title": "*Enable implicit semantic context in chat"
    },
    "copilot.featureFlags.context.enableSemanticCodeContext": {
      "type": "boolean",
      "default": true,
      "requiresRestart": true,
      "title": "@EnableSemanticCodeContextDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableSemanticCodeContextDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableSemanticCodeContext"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.context.enableGithubSemanticSearch": {
      "type": "boolean",
      "default": true,
      "title": "Enable Github semantic search tools"
    },
    "copilot.featureFlags.context.enableAzureDevOpsSemanticSearch": {
      "type": "boolean",
      "default": true,
      "title": "Enable AzureDevOps semantic search tools"
    },
    "copilot.featureFlags.context.useChunksAsSearchResultContent": {
      "type": "boolean",
      "default": false,
      "title": "Uses chunks as content for search results instead of the entire file content optimizing performance"
    },
    "copilot.featureFlags.context.enablePaginatedFileTool": {
      "type": "boolean",
      "default": true,
      "title": "*Enable calling get_file with start and end lines"
    },
    "copilot.featureFlags.context.enableContextReduction": {
      "type": "boolean",
      "default": true,
      "title": "*Enable context reduction when context exceeds the token budget",
      "description": "When enabled, context providers are asked to reduce their content to fit within the token budget. When disabled, over-budget context is dropped instead.",
      "alternateDefault": {
        "flagName": "VS.Copilot.InternalUser",
        "default": false
      }
    },
    "copilot.featureFlags.context.enableContextDropping": {
      "type": "boolean",
      "default": true,
      "title": "*Enable dropping over-budget context when it exceeds the token budget",
      "description": "When enabled, over-budget context is dropped to fit within the token budget. When disabled, all context is included and summarization is relied upon to handle token overflow.",
      "alternateDefault": {
        "flagName": "VS.Copilot.InternalUser",
        "default": false
      }
    },
    "copilot.featureFlags.context.enableHistoryDropping": {
      "type": "boolean",
      "default": true,
      "title": "*Enable dropping older history turns when they exceed the token budget",
      "description": "When enabled, older history turns are dropped to fit within the token budget. When disabled, all history turns are included and summarization is relied upon to handle token overflow.",
      "alternateDefault": {
        "flagName": "VS.Copilot.InternalUser",
        "default": false
      }
    },
    "copilot.featureFlags.context.remoteSemanticSearchMaxResults": {
      "type": "integer",
      "default": 5,
      "minimum": 1,
      "maximum": 20,
      "title": "Max Search Results used in GitHub semantic search"
    },
    "copilot.featureFlags.context.maxSolutionSizeForLocalSearch": {
      "type": "integer",
      "default": 2500,
      "minimum": 100,
      "maximum": 5000,
      "title": " Gets the solution size threshold for determining when to use local search strategies"
    },
    "copilot.featureFlags.context.maxSearchResultChunksPerFile": {
      "type": "integer",
      "default": 2,
      "minimum": 1,
      "maximum": 15,
      "title": "Max chunks to be used as search results per file"
    },
    "copilot.featureFlags.context.enableSemanticIndexing": {
      "type": "boolean",
      "default": true,
      "title": "*EnableSemanticIndexing",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableSemanticIndexing"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.context.enableThoughtGeneration": {
      "type": "boolean",
      "default": false,
      "title": "*Enable thought generation"
    },
    "copilot.featureFlags.context.enableWorkspaceSummary": {
      "type": "boolean",
      "default": false,
      "title": "*Enable workspace summary in context"
    },
    "copilot.featureFlags.context.enableSmartDocumentReduction": {
      "type": "boolean",
      "default": false,
      "title": "*EnableSmartDocumentReduction",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableSmartDocumentReduction"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.context.requestBuilderStrategy": {
      "type": "string",
      "default": "legacy",
      "title": "*RequestBuilderStrategy",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.RequestBuilderStrategy"
            }
          ],
          "map": [
            {
              "result": "@default",
              "matches": [
                ""
              ]
            },
            {
              "result": "@=0",
              "matches": [
                "@any"
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.context.agentModeRequestBuilderStrategy": {
      "type": "string",
      "default": "",
      "title": "*AgentModeRequestBuilderStrategy"
    },
    "copilot.featureFlags.context.useFastTokenCounting": {
      "type": "boolean",
      "default": true,
      "title": "Use token count approximation in-proc (Requires restart)",
      "description": "Uses a faster implementation of token counting that returns an approximation to improve performance."
    },
    "copilot.featureFlags.context.fastTokenCountingDenominator": {
      "type": "number",
      "default": 3.8,
      "minimum": 1.0,
      "title": "token counter approximation denominator value (Requires restart)",
      "description": "Defines the denominator used for the equation in fast token counter approximation. It represents the estimated average characters per token. Requires fast token counting to be enabled."
    },
    "copilot.featureFlags.context.additionalAgentModeTools": {
      "type": "string",
      "default": "",
      "title": "Additional tools to include in agent mode.",
      "description": "List of additional tools to include in agent mode."
    },
    // fuction agent
    "copilot.featureFlags.functionAgent.enableFunctionAgent": {
      "type": "boolean",
      "default": false,
      "alternateDefault": {
        "flagName": "VS.Copilot.InternalUser",
        "default": true
      },
      "title": "*EnableFunctionAgent",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableFunctionAgent"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    // Enable web search function
    "copilot.featureFlags.functionAgent.enableWebSearchFunction": {
      "type": "boolean",
      "default": false,
      "title": "Enable Bing web search function",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableWebSearchFunction"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    // content exclusion
    "copilot.featureFlags.contentExclusion.enableCopilotExclusion": {
      "type": "boolean",
      "default": true,
      "title": "@EnableCopilotExclusionDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableCopilotExclusion"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.contentExclusion.enableTextBasedContentExclusion": {
      "type": "boolean",
      "default": false,
      "alternateDefault": {
        "flagName": "VS.Copilot.InternalUser",
        "default": true
      },
      "title": "@EnableTextBasedContentExclusionDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableTextBasedContentExclusionDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableTextBasedContentExclusion"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.contentExclusion.enableNoExcludedIconInIntellisense": {
      "type": "boolean",
      "default": true,
      "title": "@EnableNoExcludedIconInIntellisenseDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableNoExcludedIconInIntellisense"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    // indexting
    "copilot.featureFlags.indexing.enableUnifiedIndexing": {
      "type": "boolean",
      "default": true,
      "requiresRestart": true,
      "title": "Unified indexing",
      "description": "If enabled, #solution uses v2 unified indexing. Otherwise, v1 brokered service indexing will be used instead.",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableUnifiedIndexing"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.indexing.enabledExperimentalChunkSources": {
      "type": "string",
      "default": "Microsoft.VisualStudio.Copilot.ChunkIndexing.CSharpChunkSource",
      "title": "Enabled chunk sources (v1)",
      "description": "Comma-separated list of chunk sources. Only applicable when unified indexing is off.",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnabledExperimentalChunkSources"
            }
          ],
          "map": [
            {
              "result": "@default",
              "matches": [
                ""
              ]
            },
            {
              "result": "@=0",
              "matches": [
                "@any"
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.indexing.enableWorkspaceErrorContext": {
      "type": "boolean",
      "default": false,
      "title": "@EnableWorkspaceErrorContextDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableWorkspaceErrorContextDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableWorkspaceErrorContext"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    // completions
    "copilot.featureFlags.completions.enableCSharpContextProviders": {
      "type": "boolean",
      "default": true,
      "title": "*EnableCSharpContextProviders"
    },
    "copilot.general.completions.enableNextEditSuggestions": {
      "type": "boolean",
      "default": false,
      "title": "@EnableNextEditSuggestionsDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableNextEditSuggestionsDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.general.completions.enableNextEditSuggestionsCollapsedMode": {
      "type": "boolean",
      "default": false,
      "title": "@EnableNextEditSuggestionsCollapsedModeDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableNextEditSuggestionsCollapsedModeDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "enableWhen": "${config:copilot.general.completions.enableNextEditSuggestions} == 'true'"
    },
    "copilot.featureFlags.completions.nextEditSuggestionsSuppressOnCaretMotion": {
      "type": "boolean",
      "default": true,
      "title": "*Suppress Next Edit Suggestions on caret motion after dismissal"
    },
    "copilot.featureFlags.completions.useCompletionSignatures": {
      "type": "boolean",
      "default": false,
      "title": "*UseCompletionSignatures",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.UseCompletionSignatures"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.completions.includeTraitsInCompletionPromptForCSharp": {
      "type": "boolean",
      "default": true,
      "title": "*IncludeTraitsInCompletionPromptForCSharp",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.IncludeTraitsInCompletionPromptForCSharp"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.completions.promptifyTraitsForCSharpCompletion": {
      "type": "boolean",
      "default": true,
      "title": "*PromptifyTraitsForCSharpCompletion",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.PromptifyTraitsForCSharpCompletion"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.completions.includeLibraryTypeTraits": {
      "type": "boolean",
      "default": false,
      "title": "*IncludeLibraryTypeTraits"
    },
    "copilot.featureFlags.completions.includeProjectTypeTraitsInCompletionPromptForCSharp": {
      "type": "boolean",
      "default": false,
      "title": "*IncludeProjectTypeTraitsInCompletionPromptForCSharp"
    },
    "copilot.featureFlags.completions.includeAspireTraitDetectionForCompletion": {
      "type": "boolean",
      "default": false,
      "title": "*IncludeAspireTraitDetectionForCompletion"
    },
    "copilot.featureFlags.completions.includeTraitsInCompletionPromptForCpp": {
      "type": "boolean",
      "default": false,
      "title": "*IncludeTraitsInCompletionPromptForCpp"
    },
    "copilot.featureFlags.completions.promptifyTraitsForCppCompletion": {
      "type": "boolean",
      "default": false,
      "title": "*PromptifyTraitsForCppCompletion"
    },
    "copilot.featureFlags.completions.includeRelatedContextWithSemanticCodeContextForCpp": {
      "type": "boolean",
      "default": false,
      "title": "@IncludeRelatedContextWithSemanticCodeContextForCppDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@IncludeRelatedContextWithSemanticCodeContextForCppDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.IncludeRelatedContextWithSemanticCodeContextForCpp"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.completions.includeRelatedContextWithSemanticCodeContextForRazor": {
      "type": "boolean",
      "default": false,
      "title": "@IncludeRelatedContextWithSemanticCodeContextForRazorDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@IncludeRelatedContextWithSemanticCodeContextForRazorDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.IncludeRelatedContextWithSemanticCodeContextForRazor"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.completions.includeRelatedRazorComponents": {
      "type": "boolean",
      "default": false,
      "alternateDefault": {
        "flagName": "VS.Copilot.IncludeRelatedRazorComponents",
        "default": true
      },
      "title": "@IncludeRelatedRazorComponentsDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@IncludeRelatedRazorComponentsDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.IncludeRelatedRazorComponents"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.completions.alwaysUseTriggerKindInvoked": {
      "type": "boolean",
      "default": false,
      "title": "*AlwaysUseTriggerKindInvoked",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.AlwaysUseTriggerKindInvoked"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.completions.alwaysGenerateSinglePrediction": {
      "type": "boolean",
      "default": false,
      "title": "*AlwaysGenerateSinglePrediction",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.AlwaysGenerateSinglePrediction"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.completions.enableCompletionsRequestDebounce": {
      "type": "boolean",
      "default": false,
      "title": "*EnableCompletionsRequestDebounce"
    },
    "copilot.featureFlags.completions.completionsRequestDebouncePeriod": {
      "type": "integer",
      "default": 45,
      "minimum": 0,
      "title": "*CompletionsRequestDebouncePeriod"
    },
    // search
    "copilot.featureFlags.search.enableFeatureSearchAskCopilot": {
      "type": "boolean",
      "default": true,
      "title": "@EnableFeatureSearchAskCopilotDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableFeatureSearchAskCopilotDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableFeatureSearchAskCopilot"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.search.enableCodeSearchAskCopilot": {
      "type": "boolean",
      "default": false,
      "title": "@EnableCodeSearchAskCopilotDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableCodeSearchAskCopilotDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EnableCodeSearchAskCopilot"
            }
          ],
          "map": [
            {
              "result": true,
              "matches": [
                1
              ]
            },
            {
              "result": false,
              "matches": [
                2
              ]
            },
            {
              "result": "@default",
              "matches": [
                0
              ]
            }
          ]
        }
      }
    },
    "copilot.featureFlags.search.enableDidYouMeanCodeSearchSupport": {
      "type": "boolean",
      "default": false,
      "environmentVariableDefault": "COPILOT_INTERNALUSER",
      "title": "@EnableDidYouMeanCodeSearchSupportDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableDidYouMeanCodeSearchSupportDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.featureFlags.freeSku.applyCopilotAPIVersionInRequestHeader": {
      "type": "string",
      "default": "2026-01-09",
      "title": "*Enable CAPI version in request header",
      "visibleWhen": "'false'"
    },
    // PromptsAndModels
    // endpoints
    "copilot.promptModelOverrides.endpoints.subscribeToCopilotUri": {
      "type": "string",
      "default": "https://aka.ms/subscribeToCopilot",
      "title": "@SubscribeToCopilotUriDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.SubscribeToCopilotUri"
            }
          ],
          "map": [
            {
              "result": "@default",
              "matches": [
                ""
              ]
            },
            {
              "result": "@=0",
              "matches": [
                "@any"
              ]
            }
          ]
        }
      }
    },
    "copilot.promptModelOverrides.endpoints.completionsUri": {
      "type": "string",
      "default": "https://api.githubcopilot.com/chat/completions",
      "title": "@CompletionsUriDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.CompletionsUri"
            }
          ],
          "map": [
            {
              "result": "@default",
              "matches": [
                ""
              ]
            },
            {
              "result": "@=0",
              "matches": [
                "@any"
              ]
            }
          ]
        }
      }
    },
    "copilot.promptModelOverrides.endpoints.speculativeDecodingUri": {
      "type": "string",
      "default": "https://copilot-proxy.githubusercontent.com/v1/engines/copilot-centralus-h100/speculation",
      "title": "Speculative decoding uri"
    },
    "copilot.promptModelOverrides.endpoints.instantApplyUri": {
      "type": "string",
      "default": "https://copilot-proxy.githubusercontent.com/chat/completions",
      "title": "Instant apply uri"
    },
    "copilot.promptModelOverrides.endpoints.embeddingsUri": {
      "type": "string",
      "default": "https://api.githubcopilot.com/embeddings",
      "title": "@EmbeddingsUriDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EmbeddingsUri"
            }
          ],
          "map": [
            {
              "result": "@default",
              "matches": [
                ""
              ]
            },
            {
              "result": "@=0",
              "matches": [
                "@any"
              ]
            }
          ]
        }
      }
    },
    "copilot.promptModelOverrides.endpoints.chatAgentsUri": {
      "type": "string",
      "default": "https://api.githubcopilot.com/agents",
      "title": "@ChatAgentsUriDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.ChatAgentsUri"
            }
          ],
          "map": [
            {
              "result": "@default",
              "matches": [
                ""
              ]
            },
            {
              "result": "@=0",
              "matches": [
                "@any"
              ]
            }
          ]
        }
      }
    },
    "copilot.promptModelOverrides.endpoints.gitHubApiUri": {
      "type": "string",
      "default": "https://api.github.com",
      "title": "*GitHubApiUri"
    },
    "copilot.promptModelOverrides.endpoints.azureDevOpsSemanticSearchApiUri": {
      "type": "string",
      "default": "https://almsearch.dev.azure.com",
      "title": "*AzureDevOpsSemanticSearchApiUri"
    },
    "copilot.promptModelOverrides.endpoints.modelsUri": {
      "type": "string",
      "default": "https://api.githubcopilot.com/models",
      "title": "@ModelsUriDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.ModelsUri"
            }
          ],
          "map": [
            {
              "result": "@default",
              "matches": [
                ""
              ]
            },
            {
              "result": "@=0",
              "matches": [
                "@any"
              ]
            }
          ]
        }
      }
    },
    // models
    "copilot.promptModelOverrides.models.embeddingsModel": {
      "type": "string",
      "default": "text-embedding-3-small-inference",
      "title": "@EmbeddingsModelDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EmbeddingsModelDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.EmbeddingsModel"
            }
          ],
          "map": [
            {
              "result": "@default",
              "matches": [
                ""
              ]
            },
            {
              "result": "@=0",
              "matches": [
                "@any"
              ]
            }
          ]
        }
      }
    },
    "copilot.promptModelOverrides.models.numberOfParallelEmbeddingRequests": {
      "type": "integer",
      "default": 4,
      "maximum": 16,
      "minimum": 0,
      "title": "*NumberOfParallelEmbeddingRequests",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.NumberOfParallelEmbeddingRequests"
            }
          ],
          "map": [
            {
              "result": "@default",
              "matches": [
                -2147483648
              ]
            },
            {
              "result": "@=0",
              "matches": [
                "@any"
              ]
            }
          ]
        }
      }
    },
    "copilot.promptModelOverrides.models.modelBlocklist": {
      "type": "string",
      "default": "",
      "title": "*ModelBlocklist",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.ModelBlocklist"
            }
          ],
          "map": [
            {
              "result": "@default",
              "matches": [
                ""
              ]
            },
            {
              "result": "@=0",
              "matches": [
                "@any"
              ]
            }
          ]
        }
      }
    },
    "copilot.promptModelOverrides.models.experimentalModels": {
      "type": "string",
      "default": "",
      "title": "Experimental models",
      "migration": {
        "pass": {
          "input": {
            "store": "SettingsManager",
            "path": "Microsoft.VisualStudio.Conversations.ExperimentalModels"
          }
        }
      }
    },
    "copilot.promptModelOverrides.models.modelPickerFamilyBlocklist": {
      "type": "string",
      "default": "",
      "title": "The list of model families that should not show up in the model picker (comma separated)",
      "migration": {
        "pass": {
          "input": {
            "store": "SettingsManager",
            "path": "Microsoft.VisualStudio.Conversations.ModelPickerFamilyBlocklist"
          }
        }
      }
    },
    "copilot.promptModelOverrides.models.promptOverrides": {
      "type": "string",
      "default": "",
      "visibleWhen": "'false'",
      "title": "*PromptOverrides",
      "migration": {
        "pass": {
          "input": {
            "store": "SettingsManager",
            "path": "Microsoft.VisualStudio.Conversations.PromptOverrides"
          }
        }
      }
    },
    "copilot.promptModelOverrides.models.modelFamilyOverrides": {
      "type": "string",
      "default": "{\"gpt-3.5-turbo\":\"gpt-4.1\", \"gpt-4\":\"gpt-4.1\", \"gpt-4-turbo\":\"gpt-4.1\"}",
      "visibleWhen": "'false'",
      "title": "*ModelFamilyOverrides",
      "migration": {
        "pass": {
          "input": {
            "store": "SettingsManager",
            "path": "Microsoft.VisualStudio.Conversations.ModelFamilyOverrides"
          }
        }
      }
    },
    "copilot.promptModelOverrides.models.promptModelFamilyOverrides": {
      "type": "string",
      "default": "",
      "visibleWhen": "'false'",
      "title": "*PromptModelFamilyOverrides",
      "migration": {
        "pass": {
          "input": {
            "store": "SettingsManager",
            "path": "Microsoft.VisualStudio.Conversations.PromptModelFamilyOverrides"
          }
        }
      }
    },
    "copilot.promptModelOverrides.models.supportedModelsPerClient": {
      "type": "string",
      "default": "",
      "visibleWhen": "'false'",
      "title": "*SupportedModelsPerClient",
      "migration": {
        "pass": {
          "input": {
            "store": "SettingsManager",
            "path": "Microsoft.VisualStudio.Conversations.SupportedModelsPerClient"
          }
        }
      }
    },
    "copilot.promptModelOverrides.models.instantApplyModel": {
      "type": "string",
      "default": "gpt-4o-instant-apply-full-ft-v66",
      "title": "Instant apply model"
    },
    "copilot.promptModelOverrides.models.defaultModelIdPaidUser": {
      "type": "string",
      "visibleWhen": "'false'",
      "default": "claude-sonnet-4.5",
      "title": "*DefaultModelIdPaidUser"
    },
    "copilot.promptModelOverrides.models.modelFamiliesOmitTopP": {
      "type": "string",
      "visibleWhen": "'false'",
      "default": "",
      "title": "*ModelFamiliesOmitTopP",
      "description": "A comma-separated list of model families for which the 'top_p' parameter should be removed from requests to the CAPI endpoint."
    },
    "copilot.promptModelOverrides.models.promptTokenBufferSize": {
      "type": "integer",
      "default": 100,
      "visibleWhen": "'false'",
      "title": "Prompt token buffer size",
      "description": "The size of buffer space, in number of tokens, to reserve on requests to account for small token counting discrepancies between client and server. The client-side prompt token limit will be reduced by this amount to provide an extra buffer / margin of error."
    },
    "copilot.promptModelOverrides.models.anthropicKnownModelsConfig": {
      "type": "string",
      "default": "[{\"id\":\"claude-opus-4-1-20250805\",\"displayName\":\"Claude Opus 4.1\",\"vision\":true,\"toolCalling\":true,\"maxInputTokens\":200000,\"maxOutputTokens\":32000},{\"id\":\"claude-opus-4-20250514\",\"displayName\":\"Claude Opus 4\",\"vision\":true,\"toolCalling\":true,\"maxInputTokens\":200000,\"maxOutputTokens\":32000},{\"id\":\"claude-sonnet-4-20250514\",\"displayName\":\"Claude Sonnet 4\",\"vision\":true,\"toolCalling\":true,\"maxInputTokens\":200000,\"maxOutputTokens\":64000},{\"id\":\"claude-3-7-sonnet-20250219\",\"displayName\":\"Claude Sonnet 3.7\",\"vision\":true,\"toolCalling\":true,\"maxInputTokens\":200000,\"maxOutputTokens\":64000},{\"id\":\"claude-3-5-sonnet-20241022\",\"displayName\":\"Claude Sonnet 3.5\",\"vision\":true,\"toolCalling\":true,\"maxInputTokens\":200000,\"maxOutputTokens\":8192},{\"id\":\"claude-3-5-haiku-20241022\",\"displayName\":\"Claude 3.5 Haiku\",\"vision\":true,\"toolCalling\":true,\"maxInputTokens\":200000,\"maxOutputTokens\":8192},{\"id\":\"claude-3-haiku-20240307\",\"displayName\":\"Claude Haiku 3\",\"vision\":true,\"toolCalling\":true,\"maxInputTokens\":200000,\"maxOutputTokens\":4096}]",
      "title": "Stored known models config for Anthropic (Bring Your Own Key)",
      "migration": {
        "pass": {
          "input": {
            "store": "SettingsManager",
            "path": "Microsoft.VisualStudio.Conversations.AnthropicKnownModelsConfig"
          }
        }
      }
    },
    "copilot.promptModelOverrides.models.openAIKnownModelsConfig": {
      "type": "string",
      "default": "[{\"id\":\"gpt-5\",\"displayName\":\"GPT‑5\",\"toolCalling\":true,\"vision\":true,\"maxInputTokens\":400000,\"maxOutputTokens\":272000},{\"id\":\"gpt-5-mini\",\"displayName\":\"GPT‑5 mini\",\"toolCalling\":true,\"vision\":true,\"maxInputTokens\":400000,\"maxOutputTokens\":272000},{\"id\":\"gpt-5-nano\",\"displayName\":\"GPT‑5 nano\",\"toolCalling\":true,\"vision\":true,\"maxInputTokens\":400000,\"maxOutputTokens\":272000},{\"id\":\"gpt-4.1\",\"displayName\":\"GPT‑4.1\",\"toolCalling\":true,\"vision\":true,\"maxInputTokens\":1000000,\"maxOutputTokens\":1000000},{\"id\":\"gpt-4.1-mini\",\"displayName\":\"GPT‑4.1 Mini\",\"toolCalling\":true,\"vision\":true,\"maxInputTokens\":1000000,\"maxOutputTokens\":1000000},{\"id\":\"gpt-4.1-nano\",\"displayName\":\"GPT‑4.1 Nano\",\"toolCalling\":true,\"vision\":true,\"maxInputTokens\":1000000,\"maxOutputTokens\":1000000},{\"id\":\"gpt-4.5-preview\",\"displayName\":\"GPT‑4.5 Preview\",\"toolCalling\":true,\"vision\":true,\"maxInputTokens\":32768,\"maxOutputTokens\":16384},{\"id\":\"gpt-4o\",\"displayName\":\"GPT‑4o (standard)\",\"toolCalling\":true,\"vision\":true,\"maxInputTokens\":128000,\"maxOutputTokens\":4096},{\"id\":\"gpt-4o-mini\",\"displayName\":\"GPT‑4o Mini\",\"toolCalling\":true,\"vision\":true,\"maxInputTokens\":128000,\"maxOutputTokens\":16384}]",
      "title": "Stored known models config for OpenAI (Bring Your Own Key)",
      "migration": {
        "pass": {
          "input": {
            "store": "SettingsManager",
            "path": "Microsoft.VisualStudio.Conversations.OpenAIKnownModelsConfig"
          }
        }
      }
    },
    "copilot.promptModelOverrides.models.xAIKnownModelsConfig": {
      "type": "string",
      "default": "[{\"id\":\"grok-4-0709\",\"displayName\":\"Grok 4\",\"toolCalling\":true,\"vision\":true,\"maxInputTokens\":120000,\"maxOutputTokens\":120000},{\"id\":\"grok-3\",\"displayName\":\"Grok 3\",\"toolCalling\":true,\"vision\":false,\"maxInputTokens\":80000,\"maxOutputTokens\":30000},{\"id\":\"grok-3-mini\",\"displayName\":\"Grok 3 Mini\",\"toolCalling\":true,\"vision\":false,\"maxInputTokens\":80000,\"maxOutputTokens\":30000}]",
      "title": "Stored known models config for XAi (Bring Your Own Key)",
      "migration": {
        "pass": {
          "input": {
            "store": "SettingsManager",
            "path": "Microsoft.VisualStudio.Conversations.xAIKnownModelsConfig"
          }
        }
      }
    },
    "copilot.promptModelOverrides.models.googleKnownModelsConfig": {
      "type": "string",
      "default": "[{\"id\":\"models/gemini-2.5-pro\",\"displayName\":\"Gemini 2.5 Pro\",\"vision\":true,\"toolCalling\":true,\"maxInputTokens\":1048576,\"maxOutputTokens\":65536},{\"id\":\"models/gemini-2.5-flash\",\"displayName\":\"Gemini 2.5 Flash\",\"vision\":true,\"toolCalling\":true,\"maxInputTokens\":1048576,\"maxOutputTokens\":65536},{\"id\":\"models/gemini-2.5-flash-lite\",\"displayName\":\"Gemini 2.5 Flash‑Lite\",\"vision\":true,\"toolCalling\":true,\"maxInputTokens\":1048576,\"maxOutputTokens\":65536}]",
      "title": "Stored known models config for Google (Bring Your Own Key)",
      "migration": {
        "pass": {
          "input": {
            "store": "SettingsManager",
            "path": "Microsoft.VisualStudio.Conversations.GoogleKnownModelsConfig"
          }
        }
      }
    },
    "copilot.promptModelOverrides.models.preferResponsesEndpoint": {
      "type": "boolean",
      "default": true,
      "title": "Prefer responses endpoint"
    },
    "copilot.promptModelOverrides.models.showAutoModel": {
      "type": "boolean",
      "default": true,
      "title": "Show Auto model in model picker"
    },
    "copilot.promptModelOverrides.models.autoModelFallbackFamily": {
      "type": "string",
      "default": "gpt-4.1",
      "description": "The model family to use as a fallback when Auto model selection fails. For example, when the capabilities aren't met in the model that auto model requests.",
      "visibleWhen": "'false'",
      "title": "*AutoModelFallbackFamily"
    },
    "copilot.promptModelOverrides.models.autoModelFamilyOverrides": {
      "type": "string",
      "default": "{\"gpt-3.5-turbo\":\"gpt-4.1\", \"gpt-4\":\"gpt-4.1\", \"gpt-4-turbo\":\"gpt-4.1\"}",
      "visibleWhen": "'false'",
      "title": "*AutoModelFamilyOverrides"
    },
    // prompts
    "copilot.promptModelOverrides.prompts.promptSnippetDocCommand": {
      "type": "string",
      "default": "",
      "title": "*PromptSnippetDocCommand",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.PromptSnippetDocCommand"
            }
          ],
          "map": [
            {
              "result": "@default",
              "matches": [
                ""
              ]
            },
            {
              "result": "@=0",
              "matches": [
                "@any"
              ]
            }
          ]
        }
      }
    },
    "copilot.promptModelOverrides.prompts.promptSnippetExplainCommand": {
      "type": "string",
      "default": "",
      "title": "*PromptSnippetExplainCommand",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.PromptSnippetExplainCommand"
            }
          ],
          "map": [
            {
              "result": "@default",
              "matches": [
                ""
              ]
            },
            {
              "result": "@=0",
              "matches": [
                "@any"
              ]
            }
          ]
        }
      }
    },
    "copilot.promptModelOverrides.prompts.promptSnippetFixCommandNoErrors": {
      "type": "string",
      "default": "",
      "title": "*PromptSnippetFixCommandNoErrors",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.PromptSnippetFixCommandNoErrors"
            }
          ],
          "map": [
            {
              "result": "@default",
              "matches": [
                ""
              ]
            },
            {
              "result": "@=0",
              "matches": [
                "@any"
              ]
            }
          ]
        }
      }
    },
    "copilot.promptModelOverrides.prompts.promptSnippetFixCommandWithErrors": {
      "type": "string",
      "default": "",
      "title": "*PromptSnippetFixCommandWithErrors",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.PromptSnippetFixCommandWithErrors"
            }
          ],
          "map": [
            {
              "result": "@default",
              "matches": [
                ""
              ]
            },
            {
              "result": "@=0",
              "matches": [
                "@any"
              ]
            }
          ]
        }
      }
    },
    "copilot.promptModelOverrides.prompts.promptSnippetOptimizeCommand": {
      "type": "string",
      "default": "",
      "title": "*PromptSnippetOptimizeCommand",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.PromptSnippetOptimizeCommand"
            }
          ],
          "map": [
            {
              "result": "@default",
              "matches": [
                ""
              ]
            },
            {
              "result": "@=0",
              "matches": [
                "@any"
              ]
            }
          ]
        }
      }
    },
    "copilot.promptModelOverrides.prompts.promptSnippetTestsCommand": {
      "type": "string",
      "default": "",
      "title": "*PromptSnippetTestsCommand",
      "migration": {
        "custom": {
          "inputs": [
            {
              "store": "SettingsManager",
              "path": "Microsoft.VisualStudio.Conversations.PromptSnippetTestsCommand"
            }
          ],
          "map": [
            {
              "result": "@default",
              "matches": [
                ""
              ]
            },
            {
              "result": "@=0",
              "matches": [
                "@any"
              ]
            }
          ]
        }
      }
    },
    "copilot.general.javascript.enableJavaScriptProjectSystemCopilotFileNew": {
      "type": "boolean",
      "default": true,
      "visibleWhen": "${feature:JavaScript.ProjectSystem.Copilot.FileNew} == 'true'",
      "title": "@EnableJavaScriptProjectSystemCopilotFileNewDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@EnableJavaScriptProjectSystemCopilotFileNewDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.promptModelOverrides.prompts.grayWindowedTextPrompts": {
      "type": "string",
      "default": "",
      "title": "*GrayWindowedTextPrompts",
      "migration": {
        "pass": {
          "input": {
            "store": "SettingsManager",
            "path": "Microsoft.VisualStudio.Conversations.GrayWindowedTextPrompts"
          }
        }
      }
    },
    "copilot.promptModelOverrides.prompts.grayInlineTextPrompts": {
      "type": "string",
      "default": "",
      "title": "*GrayInlineTextPrompts",
      "migration": {
        "pass": {
          "input": {
            "store": "SettingsManager",
            "path": "Microsoft.VisualStudio.Conversations.GrayInlineTextPrompts"
          }
        }
      }
    }
  },
  "categories": {
    "copilot": {
      "title": "@111;{605164b7-1387-450f-bd4a-d7def479fd7d}"
    },
    // general
    "copilot.general": {
      "title": "@113;{605164b7-1387-450f-bd4a-d7def479fd7d}",
      "legacyOptionPageId": "4aacdbed-077e-4a09-955b-90fb6425ec97"
    },
    "copilot.general.chat": {
      "title": "@copilot.general.chatDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.general.completions": {
      "title": "@copilot.general.completionsDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.general.editor": {
      "title": "@copilot.general.editorDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.general.debugger": {
      "title": "@copilot.general.debuggerDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.general.sourceControl": {
      "title": "@copilot.general.sourceControlDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.general.logging": {
      "title": "@copilot.general.loggingDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@copilot.general.loggingDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "visibleWhen": "(${env:COPILOT_INTERNALUSER} == 'true' || ${feature:VS.Copilot.InternalUser} == 'true') && ${env:COPILOT_INTERNALUSER} != 'false'"
    },
    "copilot.general.javascript": {
      "title": "@copilot.general.javascriptDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.general.tools": {
      "title": "@copilot.general.toolsDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    // feature flags
    "copilot.featureFlags": {
      "title": "@126;{605164b7-1387-450f-bd4a-d7def479fd7d}",
      "description": "WARNING: Feature flags enable incomplete, experimental features and modify the behavior of existing features.\nChanging these settings is not recommended.\n\nNote: Settings prefixed with '*' are not localized.",
      "visibleWhen": "(${env:COPILOT_INTERNALUSER} == 'true' || ${feature:VS.Copilot.InternalUser} == 'true') && ${env:COPILOT_INTERNALUSER} != 'false'"
    },
    "copilot.featureFlags.chatUI": {
      "title": "@copilot.featureFlags.chatUIDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@copilot.featureFlags.chatUIDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.featureFlags.editor": {
      "title": "@copilot.featureFlags.editorDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.featureFlags.debugger": {
      "title": "@copilot.featureFlags.debuggerDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.featureFlags.testWindow": {
      "title": "@copilot.featureFlags.testWindowDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.featureFlags.gitHubExtensibility": {
      "title": "@copilot.featureFlags.gitHubExtensibilityDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.featureFlags.context": {
      "title": "@copilot.featureFlags.contextDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.featureFlags.functionAgent": {
      "title": "@copilot.featureFlags.functionAgentDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.featureFlags.contentExclusion": {
      "title": "@copilot.featureFlags.contentExclusionDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@copilot.featureFlags.contentExclusionDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.featureFlags.indexing": {
      "title": "@copilot.featureFlags.indexingDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.featureFlags.completions": {
      "title": "@copilot.featureFlags.completionsDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.featureFlags.search": {
      "title": "@copilot.featureFlags.searchDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.featureFlags.freeSku": {
      "title": "*Free SKU"
    },
    // prompt mode
    "copilot.promptModelOverrides": {
      "title": "@128;{605164b7-1387-450f-bd4a-d7def479fd7d}",
      "visibleWhen": "(${env:COPILOT_INTERNALUSER} == 'true' || ${feature:VS.Copilot.InternalUser} == 'true') && ${env:COPILOT_INTERNALUSER} != 'false'"
    },
    "copilot.promptModelOverrides.endpoints": {
      "title": "@copilot.promptModelOverrides.endpointsDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@copilot.promptModelOverrides.endpointsDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.promptModelOverrides.models": {
      "title": "@copilot.promptModelOverrides.modelsDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@copilot.promptModelOverrides.modelsDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    },
    "copilot.promptModelOverrides.prompts": {
      "title": "@copilot.promptModelOverrides.promptsDisplayName;{b1b98b90-307b-42ec-8931-03d92f5e13cd}",
      "description": "@copilot.promptModelOverrides.promptsDescription;{b1b98b90-307b-42ec-8931-03d92f5e13cd}"
    }
  }
}
