Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 0 additions & 18 deletions extensions/copilot/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4150,24 +4150,6 @@
"onExp"
]
},
"github.copilot.chat.gpt55EconomicalSearchAndEdit.enabled": {
"type": "boolean",
"default": false,
"markdownDescription": "%github.copilot.config.gpt55EconomicalSearchAndEdit.enabled%",
"tags": [
"experimental",
"onExp"
]
},
"github.copilot.chat.gpt55LargePromptSections.enabled": {
"type": "boolean",
"default": false,
"markdownDescription": "%github.copilot.config.gpt55LargePromptSections.enabled%",
"tags": [
"experimental",
"onExp"
]
},
"github.copilot.chat.anthropic.tools.websearch.enabled": {
"type": "boolean",
"default": false,
Expand Down
2 changes: 0 additions & 2 deletions extensions/copilot/package.nls.json
Original file line number Diff line number Diff line change
Expand Up @@ -355,8 +355,6 @@
"github.copilot.config.gemini3GetChangedFilesTool.enabled": "Enables the Get Changed Files tool for gemini-3 models.",
"github.copilot.config.gemini3LowReasoningEffort.enabled": "Sets the reasoning effort to low for gemini-3 models.",
"github.copilot.config.gpt55ReadFileTool.enabled": "Enables the Read File tool for gpt-5.5 models.",
"github.copilot.config.gpt55EconomicalSearchAndEdit.enabled": "Enables economical search and edit instructions for gpt-5.5 models.",
"github.copilot.config.gpt55LargePromptSections.enabled": "Enables additional gpt-5.4 large prompt sections for gpt-5.5 models.",
"github.copilot.config.anthropic.tools.websearch.enabled": "Enable Anthropic's native web search tool for BYOK Claude models. When enabled, allows Claude to search the web for current information. \n\n**Note**: This is an experimental feature only available for BYOK Anthropic Claude models.",
"github.copilot.config.anthropic.tools.websearch.maxUses": "Maximum number of web searches allowed per request. Valid range is 1 to 20. Prevents excessive API calls within a single interaction. If Claude exceeds this limit, the response returns an error.",
"github.copilot.config.anthropic.tools.websearch.allowedDomains": "List of domains to restrict web search results to (e.g., `[\"example.com\", \"docs.example.com\"]`). Domains should not include the HTTP/HTTPS scheme. Subdomains are automatically included. Cannot be used together with `#github.copilot.chat.anthropic.tools.websearch.blockedDomains#`; configuring both will cause web search requests to fail.",
Expand Down

Large diffs are not rendered by default.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -3,46 +3,23 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/

import { isGpt55, isGpt55EconomicalSearchAndEditExp, isGpt55LargePromptSectionsExp } from '../../../../../platform/endpoint/common/chatModelCapabilities';
import { isGpt55 } from '../../../../../platform/endpoint/common/chatModelCapabilities';
import { IChatEndpoint } from '../../../../../platform/networking/common/networking';
import { IInstantiationService } from '../../../../../util/vs/platform/instantiation/common/instantiation';
import { Gpt55CopilotIdentityRule } from '../../base/copilotIdentity';
import { Gpt5SafetyRule } from '../../base/safetyRules';
import { CopilotIdentityRulesConstructor, IAgentPrompt, PromptRegistry, ReminderInstructionsConstructor, SafetyRulesConstructor, SystemPrompt } from '../promptRegistry';
import { Gpt55PromptBase, Gpt55ReminderInstructions } from './gpt55BasePrompt';
import { Gpt55EconomicalSearchAndEditPromptExp } from './gpt55EconomicalPrompt';
import {
Gpt55LargePromptSectionsExp,
Gpt55LargePromptSectionsWithEconomicalSearchAndEditExp
} from './gpt55LargePrompt';

export class Gpt55Prompt extends Gpt55PromptBase { }

class Gpt55PromptResolver implements IAgentPrompt {
constructor(
@IInstantiationService private readonly instantiationService: IInstantiationService,
) { }

static async matchesModel(endpoint: IChatEndpoint): Promise<boolean> {
return isGpt55(endpoint);
}

static readonly familyPrefixes = [];

resolveSystemPrompt(endpoint: IChatEndpoint): SystemPrompt | undefined {
const hasLargePromptSectionsExp = this.instantiationService.invokeFunction(isGpt55LargePromptSectionsExp, endpoint);
const hasEconomicalSearchAndEditExp = this.instantiationService.invokeFunction(isGpt55EconomicalSearchAndEditExp, endpoint);

if (hasLargePromptSectionsExp && hasEconomicalSearchAndEditExp) {
return Gpt55LargePromptSectionsWithEconomicalSearchAndEditExp;
}
if (hasLargePromptSectionsExp) {
return Gpt55LargePromptSectionsExp;
}
if (hasEconomicalSearchAndEditExp) {
return Gpt55EconomicalSearchAndEditPromptExp;
}

return Gpt55Prompt;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -988,10 +988,6 @@ export namespace ConfigKey {
export const EnableGemini3LowReasoningEffort = defineSetting<boolean>('chat.gemini3LowReasoningEffort.enabled', ConfigType.ExperimentBased, false);
/** Enable read_file tool for GPT-5.5 models */
export const EnableGpt55ReadFileTool = defineSetting<boolean>('chat.gpt55ReadFileTool.enabled', ConfigType.ExperimentBased, true);
/** Enable economical search and edit instructions for GPT-5.5 models */
export const EnableGpt55EconomicalSearchAndEdit = defineSetting<boolean>('chat.gpt55EconomicalSearchAndEdit.enabled', ConfigType.ExperimentBased, false);
/** Enable GPT-5.4 large prompt sections for GPT-5.5 models */
export const EnableGpt55LargePromptSections = defineSetting<boolean>('chat.gpt55LargePromptSections.enabled', ConfigType.ExperimentBased, false);
export const EnableChatImageUpload = defineSetting<boolean>('chat.imageUpload.enabled', ConfigType.ExperimentBased, true);
/** Enable Anthropic web search tool for BYOK Claude models */
export const AnthropicWebSearchToolEnabled = defineSetting<boolean>('chat.anthropic.tools.websearch.enabled', ConfigType.ExperimentBased, false);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -158,24 +158,6 @@ export function isGpt55(model: LanguageModelChat | IChatEndpoint | string) {
return family.startsWith('gpt-5.5') || HIDDEN_MODEL_B_HASHES.includes(h);
}

export function isGpt55EconomicalSearchAndEditExp(
accessor: ServicesAccessor,
model: LanguageModelChat | IChatEndpoint | string,
) {
const configurationService = accessor.get(IConfigurationService);
const experimentationService = accessor.get(IExperimentationService);
return isGpt55(model) && configurationService.getExperimentBasedConfig(ConfigKey.EnableGpt55EconomicalSearchAndEdit, experimentationService);
}

export function isGpt55LargePromptSectionsExp(
accessor: ServicesAccessor,
model: LanguageModelChat | IChatEndpoint | string,
) {
const configurationService = accessor.get(IConfigurationService);
const experimentationService = accessor.get(IExperimentationService);
return isGpt55(model) && configurationService.getExperimentBasedConfig(ConfigKey.EnableGpt55LargePromptSections, experimentationService);
}

export function isHiddenModelM(model: LanguageModelChat | IChatEndpoint | string) {
const family_hash = getCachedSha256Hash(typeof model === 'string' ? model : model.family);
return HIDDEN_FAMILY_M_HASHES.includes(family_hash);
Expand Down
Loading