fix(parameterBuilder): enhance urlContext validation for supported providers and models (#12046)
Some checks failed
Auto I18N Weekly / Auto I18N (push) Has been cancelled

* fix(parameterBuilder): enhance urlContext validation for supported providers and models

Signed-off-by: sxjeru <sxjeru@gmail.com>

* fix(parameterBuilder): improve urlContext validation logic for supported models

Signed-off-by: sxjeru <sxjeru@gmail.com>

---------

Signed-off-by: sxjeru <sxjeru@gmail.com>
This commit is contained in:
sxjeru 2025-12-20 20:14:40 +08:00 committed by GitHub
parent 4508fe2877
commit 9f948e1ce7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -21,6 +21,7 @@ import {
isGrokModel,
isOpenAIModel,
isOpenRouterBuiltInWebSearchModel,
isPureGenerateImageModel,
isSupportedReasoningEffortModel,
isSupportedThinkingTokenModel,
isWebSearchModel
@ -33,7 +34,7 @@ import { type Assistant, type MCPTool, type Provider, SystemProviderIds } from '
import type { StreamTextParams } from '@renderer/types/aiCoreTypes'
import { mapRegexToPatterns } from '@renderer/utils/blacklistMatchPattern'
import { replacePromptVariables } from '@renderer/utils/prompt'
import { isAIGatewayProvider, isAwsBedrockProvider } from '@renderer/utils/provider'
import { isAIGatewayProvider, isAwsBedrockProvider, isSupportUrlContextProvider } from '@renderer/utils/provider'
import type { ModelMessage, Tool } from 'ai'
import { stepCountIs } from 'ai'
@ -118,7 +119,13 @@ export async function buildStreamTextParams(
isOpenRouterBuiltInWebSearchModel(model) ||
model.id.includes('sonar'))
const enableUrlContext = assistant.enableUrlContext || false
// Validate provider and model support to prevent stale state from triggering urlContext
const enableUrlContext = !!(
assistant.enableUrlContext &&
isSupportUrlContextProvider(provider) &&
!isPureGenerateImageModel(model) &&
(isGeminiModel(model) || isAnthropicModel(model))
)
const enableGenerateImage = !!(isGenerateImageModel(model) && assistant.enableGenerateImage)