From 2de896524f6eb620a06a2c97e0302061d40d84c8 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sat, 28 Mar 2026 01:04:04 +0000 Subject: [PATCH] refactor: route models-config internals through split helpers --- src/agents/models-config.e2e-harness.ts | 2 +- src/agents/models-config.merge.test.ts | 2 +- src/agents/models-config.plan.ts | 12 +++++------- src/agents/models-config.providers.chutes.test.ts | 2 +- ...odels-config.providers.google-antigravity.test.ts | 3 ++- .../models-config.providers.modelstudio.test.ts | 2 +- src/agents/models-config.providers.moonshot.test.ts | 2 +- .../models-config.providers.normalize-keys.test.ts | 6 ++---- 8 files changed, 14 insertions(+), 17 deletions(-) diff --git a/src/agents/models-config.e2e-harness.ts b/src/agents/models-config.e2e-harness.ts index d389827dd57..3b451cea5b7 100644 --- a/src/agents/models-config.e2e-harness.ts +++ b/src/agents/models-config.e2e-harness.ts @@ -2,7 +2,7 @@ import { afterEach, beforeEach, vi } from "vitest"; import { withTempHome as withTempHomeBase } from "../../test/helpers/temp-home.js"; import type { OpenClawConfig } from "../config/config.js"; import type { MockFn } from "../test-utils/vitest-mock-fn.js"; -import { resolveImplicitProviders } from "./models-config.providers.js"; +import { resolveImplicitProviders } from "./models-config.providers.implicit.js"; export async function withModelsTempHome(fn: (home: string) => Promise): Promise { return withTempHomeBase(fn, { prefix: "openclaw-models-" }); diff --git a/src/agents/models-config.merge.test.ts b/src/agents/models-config.merge.test.ts index 17d2f9033fe..c3a19d04182 100644 --- a/src/agents/models-config.merge.test.ts +++ b/src/agents/models-config.merge.test.ts @@ -5,7 +5,7 @@ import { mergeWithExistingProviderSecrets, type ExistingProviderConfig, } from "./models-config.merge.js"; -import type { ProviderConfig } from "./models-config.providers.js"; +import type { ProviderConfig } from "./models-config.providers.secrets.js"; describe("models-config merge helpers", () => { const preservedApiKey = "AGENT_KEY"; // pragma: allowlist secret diff --git a/src/agents/models-config.plan.ts b/src/agents/models-config.plan.ts index 31794180c3c..835b79eb3e5 100644 --- a/src/agents/models-config.plan.ts +++ b/src/agents/models-config.plan.ts @@ -5,13 +5,11 @@ import { mergeWithExistingProviderSecrets, type ExistingProviderConfig, } from "./models-config.merge.js"; -import { - applyNativeStreamingUsageCompat, - enforceSourceManagedProviderSecrets, - normalizeProviders, - resolveImplicitProviders, - type ProviderConfig, -} from "./models-config.providers.js"; +import { resolveImplicitProviders } from "./models-config.providers.implicit.js"; +import { normalizeProviders } from "./models-config.providers.normalize.js"; +import { applyNativeStreamingUsageCompat } from "./models-config.providers.policy.js"; +import type { ProviderConfig } from "./models-config.providers.secrets.js"; +import { enforceSourceManagedProviderSecrets } from "./models-config.providers.source-managed.js"; type ModelsConfig = NonNullable; diff --git a/src/agents/models-config.providers.chutes.test.ts b/src/agents/models-config.providers.chutes.test.ts index 5aa4de9366a..a07e5469759 100644 --- a/src/agents/models-config.providers.chutes.test.ts +++ b/src/agents/models-config.providers.chutes.test.ts @@ -6,7 +6,7 @@ import { afterAll, beforeEach, describe, expect, it, vi } from "vitest"; import { CHUTES_BASE_URL } from "./chutes-models.js"; import { resolveOAuthApiKeyMarker } from "./model-auth-markers.js"; import { resolveImplicitProvidersForTest } from "./models-config.e2e-harness.js"; -import { resolveImplicitProviders } from "./models-config.providers.js"; +import { resolveImplicitProviders } from "./models-config.providers.implicit.js"; const CHUTES_OAUTH_MARKER = resolveOAuthApiKeyMarker("chutes"); const ORIGINAL_VITEST_ENV = process.env.VITEST; diff --git a/src/agents/models-config.providers.google-antigravity.test.ts b/src/agents/models-config.providers.google-antigravity.test.ts index 05acc2a235d..c4676b7ee2f 100644 --- a/src/agents/models-config.providers.google-antigravity.test.ts +++ b/src/agents/models-config.providers.google-antigravity.test.ts @@ -3,7 +3,8 @@ import { tmpdir } from "node:os"; import { join } from "node:path"; import { describe, expect, it } from "vitest"; import { normalizeAntigravityModelId, normalizeGoogleModelId } from "../plugin-sdk/google.js"; -import { normalizeProviders, type ProviderConfig } from "./models-config.providers.js"; +import { normalizeProviders } from "./models-config.providers.normalize.js"; +import type { ProviderConfig } from "./models-config.providers.secrets.js"; function buildModel(id: string): NonNullable[number] { return { diff --git a/src/agents/models-config.providers.modelstudio.test.ts b/src/agents/models-config.providers.modelstudio.test.ts index 9a5ad45c0b1..4db0b41f16f 100644 --- a/src/agents/models-config.providers.modelstudio.test.ts +++ b/src/agents/models-config.providers.modelstudio.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it } from "vitest"; import { buildModelStudioProvider } from "../plugin-sdk/modelstudio.js"; -import { applyNativeStreamingUsageCompat } from "./models-config.providers.js"; +import { applyNativeStreamingUsageCompat } from "./models-config.providers.policy.js"; describe("Model Studio implicit provider", () => { it("should opt native Model Studio baseUrls into streaming usage", () => { diff --git a/src/agents/models-config.providers.moonshot.test.ts b/src/agents/models-config.providers.moonshot.test.ts index 7f2d42702bb..9997d6bdaa5 100644 --- a/src/agents/models-config.providers.moonshot.test.ts +++ b/src/agents/models-config.providers.moonshot.test.ts @@ -9,7 +9,7 @@ import { } from "../plugin-sdk/moonshot.js"; import { captureEnv } from "../test-utils/env.js"; import { resolveImplicitProvidersForTest } from "./models-config.e2e-harness.js"; -import { applyNativeStreamingUsageCompat } from "./models-config.providers.js"; +import { applyNativeStreamingUsageCompat } from "./models-config.providers.policy.js"; describe("moonshot implicit provider (#33637)", () => { it("uses explicit CN baseUrl when provided", async () => { diff --git a/src/agents/models-config.providers.normalize-keys.test.ts b/src/agents/models-config.providers.normalize-keys.test.ts index b39705d8ec2..0ad5f8bb666 100644 --- a/src/agents/models-config.providers.normalize-keys.test.ts +++ b/src/agents/models-config.providers.normalize-keys.test.ts @@ -4,10 +4,8 @@ import path from "node:path"; import { describe, expect, it } from "vitest"; import type { OpenClawConfig } from "../config/config.js"; import { NON_ENV_SECRETREF_MARKER } from "./model-auth-markers.js"; -import { - enforceSourceManagedProviderSecrets, - normalizeProviders, -} from "./models-config.providers.js"; +import { normalizeProviders } from "./models-config.providers.normalize.js"; +import { enforceSourceManagedProviderSecrets } from "./models-config.providers.source-managed.js"; describe("normalizeProviders", () => { it("trims provider keys so image models remain discoverable for custom providers", async () => {