From 52cd76a9e2d0ba457ed136f734f78c7687d78ec6 Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Sat, 2 May 2026 16:57:13 -0700 Subject: [PATCH] fix(providers): isolate model discovery test env guards --- extensions/chutes/model-discovery-env.ts | 5 +++++ extensions/chutes/models.ts | 3 ++- extensions/huggingface/model-discovery-env.ts | 5 +++++ extensions/huggingface/models.ts | 3 ++- 4 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 extensions/chutes/model-discovery-env.ts create mode 100644 extensions/huggingface/model-discovery-env.ts diff --git a/extensions/chutes/model-discovery-env.ts b/extensions/chutes/model-discovery-env.ts new file mode 100644 index 00000000000..ffd30978f5b --- /dev/null +++ b/extensions/chutes/model-discovery-env.ts @@ -0,0 +1,5 @@ +export function isChutesModelDiscoveryTestEnvironment( + env: Record = process.env, +): boolean { + return env.NODE_ENV === "test" || env.VITEST === "true"; +} diff --git a/extensions/chutes/models.ts b/extensions/chutes/models.ts index 4b2718d05dd..249923128a0 100644 --- a/extensions/chutes/models.ts +++ b/extensions/chutes/models.ts @@ -4,6 +4,7 @@ import { normalizeLowercaseStringOrEmpty, normalizeOptionalString, } from "openclaw/plugin-sdk/text-runtime"; +import { isChutesModelDiscoveryTestEnvironment } from "./model-discovery-env.js"; const log = createSubsystemLogger("chutes-models"); @@ -518,7 +519,7 @@ export async function discoverChutesModels(accessToken?: string): Promise = process.env, +): boolean { + return env.VITEST === "true" || env.NODE_ENV === "test"; +} diff --git a/extensions/huggingface/models.ts b/extensions/huggingface/models.ts index d362995cb17..fe1d69f7329 100644 --- a/extensions/huggingface/models.ts +++ b/extensions/huggingface/models.ts @@ -1,5 +1,6 @@ import type { ModelDefinitionConfig } from "openclaw/plugin-sdk/provider-model-types"; import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/text-runtime"; +import { isHuggingfaceModelDiscoveryTestEnvironment } from "./model-discovery-env.js"; export const HUGGINGFACE_BASE_URL = "https://router.huggingface.co/v1"; export const HUGGINGFACE_POLICY_SUFFIXES = ["cheapest", "fastest"] as const; @@ -129,7 +130,7 @@ export async function discoverHuggingfaceModels( apiKey: string, timeoutMs = HUGGINGFACE_DISCOVERY_TIMEOUT_MS, ): Promise { - if (process.env.VITEST === "true" || process.env.NODE_ENV === "test") { + if (isHuggingfaceModelDiscoveryTestEnvironment()) { return HUGGINGFACE_MODEL_CATALOG.map(buildHuggingfaceModelDefinition); }