@@ -11,6 +11,7 @@ import { CopilotToken } from '../../../platform/authentication/common/copilotTok
1111import { IBlockedExtensionService } from '../../../platform/chat/common/blockedExtensionService' ;
1212import { ChatFetchResponseType , ChatLocation , getErrorDetailsFromChatFetchError } from '../../../platform/chat/common/commonTypes' ;
1313import { getTextPart } from '../../../platform/chat/common/globalStringUtils' ;
14+ import { IConfigurationService } from '../../../platform/configuration/common/configurationService' ;
1415import { EmbeddingType , getWellKnownEmbeddingTypeInfo , IEmbeddingsComputer } from '../../../platform/embeddings/common/embeddingsComputer' ;
1516import { IEndpointProvider } from '../../../platform/endpoint/common/endpointProvider' ;
1617import { CustomDataPartMimeTypes } from '../../../platform/endpoint/common/endpointTypes' ;
@@ -21,6 +22,7 @@ import { IAutomodeService } from '../../../platform/endpoint/node/automodeServic
2122import { IEnvService , isScenarioAutomation } from '../../../platform/env/common/envService' ;
2223import { IVSCodeExtensionContext } from '../../../platform/extContext/common/extensionContext' ;
2324import { ILogService } from '../../../platform/log/common/logService' ;
25+ import { isAnthropicToolSearchEnabled } from '../../../platform/networking/common/anthropic' ;
2426import { FinishedCallback , OpenAiFunctionTool , OptionalChatRequestParams } from '../../../platform/networking/common/fetch' ;
2527import { IChatEndpoint , IEndpoint } from '../../../platform/networking/common/networking' ;
2628import { IExperimentationService } from '../../../platform/telemetry/common/nullExperimentationService' ;
@@ -427,6 +429,7 @@ export class CopilotLanguageModelWrapper extends Disposable {
427429 @IAuthenticationService private readonly _authenticationService : IAuthenticationService ,
428430 @IEnvService private readonly _envService : IEnvService ,
429431 @IEndpointProvider private readonly _endpointProvider : IEndpointProvider ,
432+ @IConfigurationService private readonly _configurationService : IConfigurationService ,
430433 ) {
431434 super ( ) ;
432435 }
@@ -487,7 +490,7 @@ export class CopilotLanguageModelWrapper extends Disposable {
487490 throw new Error ( 'Message exceeds token limit.' ) ;
488491 }
489492
490- if ( _options . tools && _options . tools . length > 128 ) {
493+ if ( _options . tools && _options . tools . length > 128 && ! isAnthropicToolSearchEnabled ( _endpoint , this . _configurationService , this . _expService ) ) {
491494 throw new Error ( 'Cannot have more than 128 tools per request.' ) ;
492495 }
493496
0 commit comments