From 89432c484b9d6d6d9072c1fed6e7e38fe5b33136 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?MisakaKumomi=20=E5=BE=A1=E5=9D=82=E4=BA=91=E8=A7=81?= <447f@misaka.org> Date: Fri, 3 Apr 2026 02:34:45 +0800 Subject: [PATCH] feat: full rollout chat completion check (#1557) --- .../stage-ui/src/libs/providers/providers/302-ai/index.ts | 2 +- .../stage-ui/src/libs/providers/providers/aihubmix/index.ts | 2 +- .../src/libs/providers/providers/cerebras-ai/index.ts | 2 +- .../stage-ui/src/libs/providers/providers/comet-api/index.ts | 2 +- .../stage-ui/src/libs/providers/providers/deepseek/index.ts | 2 +- .../src/libs/providers/providers/featherless-ai/index.ts | 2 +- .../src/libs/providers/providers/fireworks-ai/index.ts | 2 +- .../libs/providers/providers/google-generative-ai/index.ts | 2 +- packages/stage-ui/src/libs/providers/providers/groq/index.ts | 2 +- .../stage-ui/src/libs/providers/providers/lm-studio/index.ts | 2 +- .../stage-ui/src/libs/providers/providers/minimax/index.ts | 4 ++-- .../stage-ui/src/libs/providers/providers/mistral-ai/index.ts | 2 +- .../stage-ui/src/libs/providers/providers/modelscope/index.ts | 2 +- .../src/libs/providers/providers/moonshot-ai/index.ts | 2 +- .../stage-ui/src/libs/providers/providers/novita-ai/index.ts | 2 +- .../stage-ui/src/libs/providers/providers/nvidia/index.ts | 2 +- .../stage-ui/src/libs/providers/providers/ollama/index.ts | 2 +- .../src/libs/providers/providers/openrouter-ai/index.ts | 2 +- .../src/libs/providers/providers/perplexity-ai/index.ts | 2 +- .../src/libs/providers/providers/together-ai/index.ts | 2 +- packages/stage-ui/src/libs/providers/providers/xai/index.ts | 2 +- packages/stage-ui/src/libs/providers/providers/zai/index.ts | 2 +- 22 files changed, 23 insertions(+), 23 deletions(-) diff --git a/packages/stage-ui/src/libs/providers/providers/302-ai/index.ts b/packages/stage-ui/src/libs/providers/providers/302-ai/index.ts index cc458e69e..67a17c67a 100644 --- a/packages/stage-ui/src/libs/providers/providers/302-ai/index.ts +++ b/packages/stage-ui/src/libs/providers/providers/302-ai/index.ts @@ -53,7 +53,7 @@ export const provider302AI = defineProvider({ }, validators: { ...createOpenAICompatibleValidators({ - checks: [ProviderValidationCheck.ModelList], + checks: [ProviderValidationCheck.ModelList, ProviderValidationCheck.ChatCompletions], }), }, }) diff --git a/packages/stage-ui/src/libs/providers/providers/aihubmix/index.ts b/packages/stage-ui/src/libs/providers/providers/aihubmix/index.ts index d5bd38150..18a497c17 100644 --- a/packages/stage-ui/src/libs/providers/providers/aihubmix/index.ts +++ b/packages/stage-ui/src/libs/providers/providers/aihubmix/index.ts @@ -53,7 +53,7 @@ export const providerAIHubMix = defineProvider({ }, validators: { ...createOpenAICompatibleValidators({ - checks: [ProviderValidationCheck.ModelList], + checks: [ProviderValidationCheck.ModelList, ProviderValidationCheck.ChatCompletions], }), }, }) diff --git a/packages/stage-ui/src/libs/providers/providers/cerebras-ai/index.ts b/packages/stage-ui/src/libs/providers/providers/cerebras-ai/index.ts index bf541a4de..675384a10 100644 --- a/packages/stage-ui/src/libs/providers/providers/cerebras-ai/index.ts +++ b/packages/stage-ui/src/libs/providers/providers/cerebras-ai/index.ts @@ -48,7 +48,7 @@ export const providerCerebrasAI = defineProvider({ }, validators: { ...createOpenAICompatibleValidators({ - checks: [ProviderValidationCheck.Connectivity, ProviderValidationCheck.ModelList], + checks: [ProviderValidationCheck.Connectivity, ProviderValidationCheck.ModelList, ProviderValidationCheck.ChatCompletions], }), }, }) diff --git a/packages/stage-ui/src/libs/providers/providers/comet-api/index.ts b/packages/stage-ui/src/libs/providers/providers/comet-api/index.ts index de9ba380b..250fecef9 100644 --- a/packages/stage-ui/src/libs/providers/providers/comet-api/index.ts +++ b/packages/stage-ui/src/libs/providers/providers/comet-api/index.ts @@ -51,7 +51,7 @@ export const providerCometAPI = defineProvider({ }, validators: { ...createOpenAICompatibleValidators({ - checks: [ProviderValidationCheck.ModelList], + checks: [ProviderValidationCheck.ModelList, ProviderValidationCheck.ChatCompletions], }), }, }) diff --git a/packages/stage-ui/src/libs/providers/providers/deepseek/index.ts b/packages/stage-ui/src/libs/providers/providers/deepseek/index.ts index cd48ce389..15c1f64dc 100644 --- a/packages/stage-ui/src/libs/providers/providers/deepseek/index.ts +++ b/packages/stage-ui/src/libs/providers/providers/deepseek/index.ts @@ -49,7 +49,7 @@ export const providerDeepSeek = defineProvider({ }, validators: { ...createOpenAICompatibleValidators({ - checks: [ProviderValidationCheck.Connectivity, ProviderValidationCheck.ModelList], + checks: [ProviderValidationCheck.Connectivity, ProviderValidationCheck.ModelList, ProviderValidationCheck.ChatCompletions], }), }, }) diff --git a/packages/stage-ui/src/libs/providers/providers/featherless-ai/index.ts b/packages/stage-ui/src/libs/providers/providers/featherless-ai/index.ts index 9eec89474..5aa702a71 100644 --- a/packages/stage-ui/src/libs/providers/providers/featherless-ai/index.ts +++ b/packages/stage-ui/src/libs/providers/providers/featherless-ai/index.ts @@ -47,7 +47,7 @@ export const providerFeatherlessAI = defineProvider({ }, validators: { ...createOpenAICompatibleValidators({ - checks: [ProviderValidationCheck.Connectivity, ProviderValidationCheck.ModelList], + checks: [ProviderValidationCheck.Connectivity, ProviderValidationCheck.ModelList, ProviderValidationCheck.ChatCompletions], }), }, }) diff --git a/packages/stage-ui/src/libs/providers/providers/fireworks-ai/index.ts b/packages/stage-ui/src/libs/providers/providers/fireworks-ai/index.ts index 8b69b5cf1..bc0c07fc7 100644 --- a/packages/stage-ui/src/libs/providers/providers/fireworks-ai/index.ts +++ b/packages/stage-ui/src/libs/providers/providers/fireworks-ai/index.ts @@ -48,7 +48,7 @@ export const providerFireworksAI = defineProvider({ }, validators: { ...createOpenAICompatibleValidators({ - checks: [ProviderValidationCheck.Connectivity, ProviderValidationCheck.ModelList], + checks: [ProviderValidationCheck.Connectivity, ProviderValidationCheck.ModelList, ProviderValidationCheck.ChatCompletions], }), }, }) diff --git a/packages/stage-ui/src/libs/providers/providers/google-generative-ai/index.ts b/packages/stage-ui/src/libs/providers/providers/google-generative-ai/index.ts index f931095bc..791fcf936 100644 --- a/packages/stage-ui/src/libs/providers/providers/google-generative-ai/index.ts +++ b/packages/stage-ui/src/libs/providers/providers/google-generative-ai/index.ts @@ -49,7 +49,7 @@ export const providerGoogleGenerativeAI = defineProvider }, validators: { ...createOpenAICompatibleValidators({ - checks: [ProviderValidationCheck.Connectivity, ProviderValidationCheck.ModelList], + checks: [ProviderValidationCheck.Connectivity, ProviderValidationCheck.ModelList, ProviderValidationCheck.ChatCompletions], }), }, }) diff --git a/packages/stage-ui/src/libs/providers/providers/groq/index.ts b/packages/stage-ui/src/libs/providers/providers/groq/index.ts index d0c362bd3..d567379e0 100644 --- a/packages/stage-ui/src/libs/providers/providers/groq/index.ts +++ b/packages/stage-ui/src/libs/providers/providers/groq/index.ts @@ -47,7 +47,7 @@ export const providerGroq = defineProvider({ }, validators: { ...createOpenAICompatibleValidators({ - checks: [ProviderValidationCheck.ModelList], + checks: [ProviderValidationCheck.ModelList, ProviderValidationCheck.ChatCompletions], }), }, }) diff --git a/packages/stage-ui/src/libs/providers/providers/lm-studio/index.ts b/packages/stage-ui/src/libs/providers/providers/lm-studio/index.ts index f6f758790..b7180d466 100644 --- a/packages/stage-ui/src/libs/providers/providers/lm-studio/index.ts +++ b/packages/stage-ui/src/libs/providers/providers/lm-studio/index.ts @@ -54,7 +54,7 @@ export const providerLmStudio = defineProvider({ }, validators: { ...createOpenAICompatibleValidators({ - checks: [ProviderValidationCheck.Connectivity, ProviderValidationCheck.ModelList], + checks: [ProviderValidationCheck.Connectivity, ProviderValidationCheck.ModelList, ProviderValidationCheck.ChatCompletions], skipApiKeyCheck: true, schedule: { mode: 'interval', diff --git a/packages/stage-ui/src/libs/providers/providers/minimax/index.ts b/packages/stage-ui/src/libs/providers/providers/minimax/index.ts index 11b03ab85..4fa5a46f7 100644 --- a/packages/stage-ui/src/libs/providers/providers/minimax/index.ts +++ b/packages/stage-ui/src/libs/providers/providers/minimax/index.ts @@ -115,7 +115,7 @@ export const providerMinimax = defineProvider({ }, validators: { ...createOpenAICompatibleValidators({ - checks: [ProviderValidationCheck.Connectivity], + checks: [ProviderValidationCheck.Connectivity, ProviderValidationCheck.ChatCompletions], }), }, }) @@ -155,7 +155,7 @@ export const providerMinimaxGlobal = defineProvider({ }, validators: { ...createOpenAICompatibleValidators({ - checks: [ProviderValidationCheck.Connectivity], + checks: [ProviderValidationCheck.Connectivity, ProviderValidationCheck.ChatCompletions], }), }, }) diff --git a/packages/stage-ui/src/libs/providers/providers/mistral-ai/index.ts b/packages/stage-ui/src/libs/providers/providers/mistral-ai/index.ts index 4d2518cae..80893e661 100644 --- a/packages/stage-ui/src/libs/providers/providers/mistral-ai/index.ts +++ b/packages/stage-ui/src/libs/providers/providers/mistral-ai/index.ts @@ -48,7 +48,7 @@ export const providerMistralAI = defineProvider({ }, validators: { ...createOpenAICompatibleValidators({ - checks: [ProviderValidationCheck.Connectivity, ProviderValidationCheck.ModelList], + checks: [ProviderValidationCheck.Connectivity, ProviderValidationCheck.ModelList, ProviderValidationCheck.ChatCompletions], }), }, }) diff --git a/packages/stage-ui/src/libs/providers/providers/modelscope/index.ts b/packages/stage-ui/src/libs/providers/providers/modelscope/index.ts index d559f98ad..4703e1cfa 100644 --- a/packages/stage-ui/src/libs/providers/providers/modelscope/index.ts +++ b/packages/stage-ui/src/libs/providers/providers/modelscope/index.ts @@ -48,7 +48,7 @@ export const providerModelScope = defineProvider({ }, validators: { ...createOpenAICompatibleValidators({ - checks: [ProviderValidationCheck.Connectivity, ProviderValidationCheck.ModelList], + checks: [ProviderValidationCheck.Connectivity, ProviderValidationCheck.ModelList, ProviderValidationCheck.ChatCompletions], }), }, }) diff --git a/packages/stage-ui/src/libs/providers/providers/moonshot-ai/index.ts b/packages/stage-ui/src/libs/providers/providers/moonshot-ai/index.ts index a3ee32e4c..b5c5dfd5c 100644 --- a/packages/stage-ui/src/libs/providers/providers/moonshot-ai/index.ts +++ b/packages/stage-ui/src/libs/providers/providers/moonshot-ai/index.ts @@ -47,7 +47,7 @@ export const providerMoonshotAI = defineProvider({ }, validators: { ...createOpenAICompatibleValidators({ - checks: [ProviderValidationCheck.Connectivity, ProviderValidationCheck.ModelList], + checks: [ProviderValidationCheck.Connectivity, ProviderValidationCheck.ModelList, ProviderValidationCheck.ChatCompletions], }), }, }) diff --git a/packages/stage-ui/src/libs/providers/providers/novita-ai/index.ts b/packages/stage-ui/src/libs/providers/providers/novita-ai/index.ts index 6749ccd37..51e16ae6e 100644 --- a/packages/stage-ui/src/libs/providers/providers/novita-ai/index.ts +++ b/packages/stage-ui/src/libs/providers/providers/novita-ai/index.ts @@ -48,7 +48,7 @@ export const providerNovitaAI = defineProvider({ }, validators: { ...createOpenAICompatibleValidators({ - checks: [ProviderValidationCheck.Connectivity, ProviderValidationCheck.ModelList], + checks: [ProviderValidationCheck.Connectivity, ProviderValidationCheck.ModelList, ProviderValidationCheck.ChatCompletions], }), }, }) diff --git a/packages/stage-ui/src/libs/providers/providers/nvidia/index.ts b/packages/stage-ui/src/libs/providers/providers/nvidia/index.ts index 2583f20dd..b3a0995a1 100644 --- a/packages/stage-ui/src/libs/providers/providers/nvidia/index.ts +++ b/packages/stage-ui/src/libs/providers/providers/nvidia/index.ts @@ -49,7 +49,7 @@ export const providerNvidia = defineProvider({ }, validators: { ...createOpenAICompatibleValidators({ - checks: [ProviderValidationCheck.Connectivity, ProviderValidationCheck.ModelList], + checks: [ProviderValidationCheck.Connectivity, ProviderValidationCheck.ModelList, ProviderValidationCheck.ChatCompletions], }), }, }) diff --git a/packages/stage-ui/src/libs/providers/providers/ollama/index.ts b/packages/stage-ui/src/libs/providers/providers/ollama/index.ts index bbc32312d..badc72dec 100644 --- a/packages/stage-ui/src/libs/providers/providers/ollama/index.ts +++ b/packages/stage-ui/src/libs/providers/providers/ollama/index.ts @@ -167,7 +167,7 @@ export const providerOllama = defineProvider({ }), ], validateProvider: createOpenAICompatibleValidators({ - checks: [ProviderValidationCheck.Connectivity, ProviderValidationCheck.ModelList], + checks: [ProviderValidationCheck.Connectivity, ProviderValidationCheck.ModelList, ProviderValidationCheck.ChatCompletions], schedule: { mode: 'interval', intervalMs: 15_000, diff --git a/packages/stage-ui/src/libs/providers/providers/openrouter-ai/index.ts b/packages/stage-ui/src/libs/providers/providers/openrouter-ai/index.ts index 0233bf45b..c92eba518 100644 --- a/packages/stage-ui/src/libs/providers/providers/openrouter-ai/index.ts +++ b/packages/stage-ui/src/libs/providers/providers/openrouter-ai/index.ts @@ -65,7 +65,7 @@ export const providerOpenRouterAI = defineProvider({ }, validators: { ...createOpenAICompatibleValidators({ - checks: [ProviderValidationCheck.Connectivity, ProviderValidationCheck.ModelList], + checks: [ProviderValidationCheck.Connectivity, ProviderValidationCheck.ModelList, ProviderValidationCheck.ChatCompletions], additionalHeaders: OPENROUTER_ATTRIBUTION_HEADERS, }), }, diff --git a/packages/stage-ui/src/libs/providers/providers/perplexity-ai/index.ts b/packages/stage-ui/src/libs/providers/providers/perplexity-ai/index.ts index f9307ec2a..3bc1c4a0a 100644 --- a/packages/stage-ui/src/libs/providers/providers/perplexity-ai/index.ts +++ b/packages/stage-ui/src/libs/providers/providers/perplexity-ai/index.ts @@ -84,7 +84,7 @@ export const providerPerplexityAI = defineProvider({ }, validators: { ...createOpenAICompatibleValidators({ - checks: [ProviderValidationCheck.Connectivity], + checks: [ProviderValidationCheck.Connectivity, ProviderValidationCheck.ChatCompletions], }), }, }) diff --git a/packages/stage-ui/src/libs/providers/providers/together-ai/index.ts b/packages/stage-ui/src/libs/providers/providers/together-ai/index.ts index 6ef1a3f7f..09a7fd462 100644 --- a/packages/stage-ui/src/libs/providers/providers/together-ai/index.ts +++ b/packages/stage-ui/src/libs/providers/providers/together-ai/index.ts @@ -48,7 +48,7 @@ export const providerTogetherAI = defineProvider({ }, validators: { ...createOpenAICompatibleValidators({ - checks: [ProviderValidationCheck.Connectivity, ProviderValidationCheck.ModelList], + checks: [ProviderValidationCheck.Connectivity, ProviderValidationCheck.ModelList, ProviderValidationCheck.ChatCompletions], }), }, }) diff --git a/packages/stage-ui/src/libs/providers/providers/xai/index.ts b/packages/stage-ui/src/libs/providers/providers/xai/index.ts index 2fcdaca23..93717c1f7 100644 --- a/packages/stage-ui/src/libs/providers/providers/xai/index.ts +++ b/packages/stage-ui/src/libs/providers/providers/xai/index.ts @@ -47,7 +47,7 @@ export const providerXAI = defineProvider({ }, validators: { ...createOpenAICompatibleValidators({ - checks: [ProviderValidationCheck.Connectivity, ProviderValidationCheck.ModelList], + checks: [ProviderValidationCheck.Connectivity, ProviderValidationCheck.ModelList, ProviderValidationCheck.ChatCompletions], }), }, }) diff --git a/packages/stage-ui/src/libs/providers/providers/zai/index.ts b/packages/stage-ui/src/libs/providers/providers/zai/index.ts index 0e1cdfb82..ce1a3e2c2 100644 --- a/packages/stage-ui/src/libs/providers/providers/zai/index.ts +++ b/packages/stage-ui/src/libs/providers/providers/zai/index.ts @@ -47,7 +47,7 @@ export const providerZai = defineProvider({ }, validators: { ...createOpenAICompatibleValidators({ - checks: [ProviderValidationCheck.Connectivity, ProviderValidationCheck.ModelList], + checks: [ProviderValidationCheck.Connectivity, ProviderValidationCheck.ModelList, ProviderValidationCheck.ChatCompletions], }), }, })