@@ -1521,70 +1521,68 @@ export class XtabProvider implements IStatelessNextEditProvider {
15211521 }
15221522
15231523 private determineModelConfiguration ( activeDocument : StatelessNextEditDocument ) : { promptOptions : ModelConfig ; modelServiceConfig : xtabPromptOptions . ModelConfiguration } {
1524+ let baseOptions : ModelConfig ;
1525+ let rawModelConfig : xtabPromptOptions . ModelConfiguration ;
15241526 if ( this . forceUseDefaultModel ) {
1525- const defaultOptions = {
1527+ baseOptions = {
15261528 modelName : undefined ,
15271529 ...xtabPromptOptions . DEFAULT_OPTIONS ,
15281530 } ;
1529- const defaultModelConfig = xtabPromptOptions . applyStrategyConfig ( this . modelService . defaultModelConfiguration ( ) ) ;
1530- return {
1531- promptOptions : overrideModelConfig ( defaultOptions , defaultModelConfig ) ,
1532- modelServiceConfig : defaultModelConfig
1531+ rawModelConfig = this . modelService . defaultModelConfiguration ( ) ;
1532+ } else {
1533+ baseOptions = {
1534+ modelName : undefined ,
1535+ promptingStrategy : undefined ,
1536+ currentFile : {
1537+ maxTokens : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabCurrentFileMaxTokens , this . expService ) ,
1538+ includeTags : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabIncludeTagsInCurrentFile , this . expService ) ,
1539+ includeLineNumbers : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabIncludeLineNumbersInCurrentFile , this . expService ) ,
1540+ includeCursorTag : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabIncludeCursorTagInCurrentFile , this . expService ) ,
1541+ prioritizeAboveCursor : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabPrioritizeAboveCursor , this . expService ) ,
1542+ useLeftoverBudgetFromAbove : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabCurrentFileUseLeftoverBudgetFromAbove , this . expService )
1543+ } ,
1544+ pagedClipping : {
1545+ pageSize : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabPageSize , this . expService )
1546+ } ,
1547+ recentlyViewedDocuments : {
1548+ nDocuments : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabNRecentlyViewedDocuments , this . expService ) ,
1549+ maxTokens : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabRecentlyViewedDocumentsMaxTokens , this . expService ) ,
1550+ includeViewedFiles : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabIncludeViewedFiles , this . expService ) ,
1551+ includeLineNumbers : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabRecentlyViewedIncludeLineNumbers , this . expService ) ,
1552+ clippingStrategy : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabRecentlyViewedClippingStrategy , this . expService ) ,
1553+ useLeftoverBudgetFromAbove : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabRecentlyViewedUseLeftoverBudgetFromAbove , this . expService ) ,
1554+ } ,
1555+ languageContext : determineLanguageContextOptions ( activeDocument . languageId , {
1556+ enabled : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabLanguageContextEnabled , this . expService ) ,
1557+ enabledLanguages : this . configService . getConfig ( ConfigKey . TeamInternal . InlineEditsXtabLanguageContextEnabledLanguages ) ,
1558+ enableAllContextProviders : this . configService . getExperimentBasedConfig < boolean > ( ConfigKey . Advanced . DiagnosticsContextProvider , this . expService )
1559+ || this . configService . getExperimentBasedConfig < boolean > ( ConfigKey . Advanced . ChatSessionContextProvider , this . expService ) ,
1560+ maxTokens : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabLanguageContextMaxTokens , this . expService ) ,
1561+ traitPosition : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabLanguageContextTraitsPosition , this . expService ) ,
1562+ } ) ,
1563+ neighborFiles : {
1564+ enabled : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabIncludeNeighborFiles , this . expService ) ,
1565+ maxTokens : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabNeighborFilesMaxTokens , this . expService ) ,
1566+ includeRelatedFiles : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabNeighborFilesIncludeRelatedFiles , this . expService ) ,
1567+ } ,
1568+ diffHistory : {
1569+ nEntries : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabDiffNEntries , this . expService ) ,
1570+ maxTokens : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabDiffMaxTokens , this . expService ) ,
1571+ onlyForDocsInPrompt : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabDiffOnlyForDocsInPrompt , this . expService ) ,
1572+ useRelativePaths : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabDiffUseRelativePaths , this . expService ) ,
1573+ } ,
1574+ memory : undefined ,
1575+ lintOptions : undefined ,
1576+ eagernessPrompt : undefined ,
1577+ includePostScript : true ,
1578+ globalBudget : this . getGlobalBudget ( ) ,
15331579 } ;
1580+ rawModelConfig = this . modelService . selectedModelConfiguration ( ) ;
15341581 }
15351582
1536- const sourcedModelConfig : ModelConfig = {
1537- modelName : undefined ,
1538- promptingStrategy : undefined ,
1539- currentFile : {
1540- maxTokens : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabCurrentFileMaxTokens , this . expService ) ,
1541- includeTags : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabIncludeTagsInCurrentFile , this . expService ) ,
1542- includeLineNumbers : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabIncludeLineNumbersInCurrentFile , this . expService ) ,
1543- includeCursorTag : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabIncludeCursorTagInCurrentFile , this . expService ) ,
1544- prioritizeAboveCursor : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabPrioritizeAboveCursor , this . expService ) ,
1545- useLeftoverBudgetFromAbove : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabCurrentFileUseLeftoverBudgetFromAbove , this . expService )
1546- } ,
1547- pagedClipping : {
1548- pageSize : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabPageSize , this . expService )
1549- } ,
1550- recentlyViewedDocuments : {
1551- nDocuments : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabNRecentlyViewedDocuments , this . expService ) ,
1552- maxTokens : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabRecentlyViewedDocumentsMaxTokens , this . expService ) ,
1553- includeViewedFiles : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabIncludeViewedFiles , this . expService ) ,
1554- includeLineNumbers : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabRecentlyViewedIncludeLineNumbers , this . expService ) ,
1555- clippingStrategy : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabRecentlyViewedClippingStrategy , this . expService ) ,
1556- useLeftoverBudgetFromAbove : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabRecentlyViewedUseLeftoverBudgetFromAbove , this . expService ) ,
1557- } ,
1558- languageContext : determineLanguageContextOptions ( activeDocument . languageId , {
1559- enabled : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabLanguageContextEnabled , this . expService ) ,
1560- enabledLanguages : this . configService . getConfig ( ConfigKey . TeamInternal . InlineEditsXtabLanguageContextEnabledLanguages ) ,
1561- enableAllContextProviders : this . configService . getExperimentBasedConfig < boolean > ( ConfigKey . Advanced . DiagnosticsContextProvider , this . expService )
1562- || this . configService . getExperimentBasedConfig < boolean > ( ConfigKey . Advanced . ChatSessionContextProvider , this . expService ) ,
1563- maxTokens : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabLanguageContextMaxTokens , this . expService ) ,
1564- traitPosition : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabLanguageContextTraitsPosition , this . expService ) ,
1565- } ) ,
1566- neighborFiles : {
1567- enabled : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabIncludeNeighborFiles , this . expService ) ,
1568- maxTokens : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabNeighborFilesMaxTokens , this . expService ) ,
1569- includeRelatedFiles : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabNeighborFilesIncludeRelatedFiles , this . expService ) ,
1570- } ,
1571- diffHistory : {
1572- nEntries : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabDiffNEntries , this . expService ) ,
1573- maxTokens : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabDiffMaxTokens , this . expService ) ,
1574- onlyForDocsInPrompt : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabDiffOnlyForDocsInPrompt , this . expService ) ,
1575- useRelativePaths : this . configService . getExperimentBasedConfig ( ConfigKey . TeamInternal . InlineEditsXtabDiffUseRelativePaths , this . expService ) ,
1576- } ,
1577- memory : undefined ,
1578- lintOptions : undefined ,
1579- eagernessPrompt : undefined ,
1580- includePostScript : true ,
1581- globalBudget : this . getGlobalBudget ( ) ,
1582- } ;
1583-
1584- const selectedModelConfig = this . modelService . selectedModelConfiguration ( ) ;
1585- const modelConfig = xtabPromptOptions . applyStrategyConfig ( selectedModelConfig ) ;
1583+ const modelConfig = xtabPromptOptions . applyStrategyConfig ( rawModelConfig ) ;
15861584 return {
1587- promptOptions : overrideModelConfig ( sourcedModelConfig , modelConfig ) ,
1585+ promptOptions : overrideModelConfig ( baseOptions , modelConfig ) ,
15881586 modelServiceConfig : modelConfig
15891587 } ;
15901588 }
0 commit comments