From d2538c27369a84ca22bbc0ed01960bd8e60b4aa4 Mon Sep 17 00:00:00 2001 From: Benjamin Steenhoek Date: Sun, 6 Sep 2026 15:36:47 -0500 Subject: [PATCH] Recognize eagerness option in PatchBased02Unified (#333606) Recognize unified strategy eagerness prompts Treat the optimized PatchBased02 unified strategy as eagerness-aware when a model supplies an eagerness prompt, while preserving non-eagerness behavior for unrelated strategies. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- .../inlineEdits/common/dataTypes/xtabPromptOptions.ts | 1 + .../inlineEdits/test/common/xtabPromptOptions.spec.ts | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/extensions/copilot/src/platform/inlineEdits/common/dataTypes/xtabPromptOptions.ts b/extensions/copilot/src/platform/inlineEdits/common/dataTypes/xtabPromptOptions.ts index 7c4412b5e52535..972f76475d3567 100644 --- a/extensions/copilot/src/platform/inlineEdits/common/dataTypes/xtabPromptOptions.ts +++ b/extensions/copilot/src/platform/inlineEdits/common/dataTypes/xtabPromptOptions.ts @@ -574,6 +574,7 @@ export function isEagernessPrompt(options: PromptOptions): boolean { return (options.eagernessPrompt !== undefined && [ PromptingStrategy.PatchBased02, PromptingStrategy.PatchBased02WithRecentLineNumbers, + PromptingStrategy.PatchBased02Unified, PromptingStrategy.PatchBased02WithoutRecentLineNumbers, ].includes(options.promptingStrategy)) // eagerness prompt option is only supported for patch-based strategies || [PromptingStrategy.XtabAggressiveness, diff --git a/extensions/copilot/src/platform/inlineEdits/test/common/xtabPromptOptions.spec.ts b/extensions/copilot/src/platform/inlineEdits/test/common/xtabPromptOptions.spec.ts index 5393db445f9fb0..6543d82e4b50b0 100644 --- a/extensions/copilot/src/platform/inlineEdits/test/common/xtabPromptOptions.spec.ts +++ b/extensions/copilot/src/platform/inlineEdits/test/common/xtabPromptOptions.spec.ts @@ -159,6 +159,15 @@ describe('isEagernessPrompt', () => { expect(isEagernessPrompt({ ...DEFAULT_OPTIONS, promptingStrategy: PromptingStrategy.PatchBased02, eagernessPrompt: 'aggressionHighLow' })).toBe(true); expect(isEagernessPrompt({ ...DEFAULT_OPTIONS, promptingStrategy: PromptingStrategy.PatchBased02 })).toBe(false); }); + + it('recognizes the optimized PatchBased02 aggression prompt option', () => { + expect(isEagernessPrompt({ ...DEFAULT_OPTIONS, promptingStrategy: PromptingStrategy.PatchBased02Unified, eagernessPrompt: 'aggressionHighLow' })).toBe(true); + expect(isEagernessPrompt({ ...DEFAULT_OPTIONS, promptingStrategy: PromptingStrategy.PatchBased02Unified })).toBe(false); + }); + + it('does not recognize eagerness for an unrelated strategy', () => { + expect(isEagernessPrompt({ ...DEFAULT_OPTIONS, promptingStrategy: PromptingStrategy.CopilotNesXtab, eagernessPrompt: 'aggressionHighLow' })).toBe(false); + }); }); describe('GlobalBudgetOptions', () => {