From 2216ce3018dde6a9f40b620c2161b44adf496ead Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Mon, 27 Apr 2026 22:22:34 +0100 Subject: [PATCH] test: use narrow config sdk imports --- extensions/amazon-bedrock/index.test.ts | 2 +- .../src/browser/client-fetch.attach-only.e2e.test.ts | 5 ++++- extensions/comfy/comfy.live.test.ts | 7 ++++--- extensions/discord/src/client.proxy.test.ts | 2 +- extensions/discord/src/send.webhook.proxy.test.ts | 2 +- extensions/google/web-search-provider.test.ts | 2 +- extensions/memory-wiki/cli-metadata.test.ts | 9 --------- extensions/music-generation-providers.live.test.ts | 5 +++-- extensions/video-generation-providers.live.test.ts | 5 +++-- src/plugin-sdk/runtime-config-snapshot.ts | 6 +++++- 10 files changed, 23 insertions(+), 22 deletions(-) diff --git a/extensions/amazon-bedrock/index.test.ts b/extensions/amazon-bedrock/index.test.ts index 9631167b7ac..56e29039488 100644 --- a/extensions/amazon-bedrock/index.test.ts +++ b/extensions/amazon-bedrock/index.test.ts @@ -1,6 +1,6 @@ import { readFileSync } from "node:fs"; import { resolve } from "node:path"; -import type { OpenClawConfig } from "openclaw/plugin-sdk/config-runtime"; +import type { OpenClawConfig } from "openclaw/plugin-sdk/config-types"; import type { PluginRuntime } from "openclaw/plugin-sdk/core"; import { buildPluginApi } from "openclaw/plugin-sdk/testing"; import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; diff --git a/extensions/browser/src/browser/client-fetch.attach-only.e2e.test.ts b/extensions/browser/src/browser/client-fetch.attach-only.e2e.test.ts index f5f146b1eb7..21401c23c12 100644 --- a/extensions/browser/src/browser/client-fetch.attach-only.e2e.test.ts +++ b/extensions/browser/src/browser/client-fetch.attach-only.e2e.test.ts @@ -1,7 +1,10 @@ import fs from "node:fs/promises"; import net from "node:net"; import path from "node:path"; -import { clearConfigCache, clearRuntimeConfigSnapshot } from "openclaw/plugin-sdk/config-runtime"; +import { + clearConfigCache, + clearRuntimeConfigSnapshot, +} from "openclaw/plugin-sdk/runtime-config-snapshot"; import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; import { createTempHomeEnv } from "../../test-support.js"; import { stopBrowserControlService } from "../control-service.js"; diff --git a/extensions/comfy/comfy.live.test.ts b/extensions/comfy/comfy.live.test.ts index 1be683bfebf..f7b4b7b3a99 100644 --- a/extensions/comfy/comfy.live.test.ts +++ b/extensions/comfy/comfy.live.test.ts @@ -1,5 +1,6 @@ import { resolveOpenClawAgentDir } from "openclaw/plugin-sdk/agent-runtime"; -import { loadConfig } from "openclaw/plugin-sdk/config-runtime"; +import type { OpenClawConfig } from "openclaw/plugin-sdk/config-types"; +import { getRuntimeConfig } from "openclaw/plugin-sdk/runtime-config-snapshot"; import { isLiveTestEnabled } from "openclaw/plugin-sdk/testing"; import { beforeAll, describe, expect, it } from "vitest"; import { createTestPluginApi } from "../../test/helpers/plugins/plugin-api.js"; @@ -31,7 +32,7 @@ function withPluginsEnabled(cfg: T): T { } describeLive("comfy live", () => { - let cfg = {} as ReturnType; + let cfg = {} as OpenClawConfig; let agentDir = ""; const imageProviders: Array<{ id: string; generateImage: Function; isConfigured?: Function }> = []; @@ -40,7 +41,7 @@ describeLive("comfy live", () => { []; beforeAll(async () => { - cfg = withPluginsEnabled(loadConfig()); + cfg = withPluginsEnabled(getRuntimeConfig()); agentDir = resolveOpenClawAgentDir(); plugin.register( createTestPluginApi({ diff --git a/extensions/discord/src/client.proxy.test.ts b/extensions/discord/src/client.proxy.test.ts index ba11f62b5f7..64e244cf3aa 100644 --- a/extensions/discord/src/client.proxy.test.ts +++ b/extensions/discord/src/client.proxy.test.ts @@ -1,5 +1,5 @@ import http from "node:http"; -import type { OpenClawConfig } from "openclaw/plugin-sdk/config-runtime"; +import type { OpenClawConfig } from "openclaw/plugin-sdk/config-types"; import { fetch as undiciFetch } from "undici"; import { beforeEach, describe, expect, it, vi } from "vitest"; import { createDiscordRestClient } from "./client.js"; diff --git a/extensions/discord/src/send.webhook.proxy.test.ts b/extensions/discord/src/send.webhook.proxy.test.ts index 784e731249c..0409fce9b20 100644 --- a/extensions/discord/src/send.webhook.proxy.test.ts +++ b/extensions/discord/src/send.webhook.proxy.test.ts @@ -1,4 +1,4 @@ -import type { OpenClawConfig } from "openclaw/plugin-sdk/config-runtime"; +import type { OpenClawConfig } from "openclaw/plugin-sdk/config-types"; import { beforeEach, describe, expect, it, vi } from "vitest"; import { sendWebhookMessageDiscord } from "./send.outbound.js"; diff --git a/extensions/google/web-search-provider.test.ts b/extensions/google/web-search-provider.test.ts index 44acb2f8823..d55949de6a4 100644 --- a/extensions/google/web-search-provider.test.ts +++ b/extensions/google/web-search-provider.test.ts @@ -1,4 +1,4 @@ -import type { OpenClawConfig } from "openclaw/plugin-sdk/config-runtime"; +import type { OpenClawConfig } from "openclaw/plugin-sdk/config-types"; import { withEnv } from "openclaw/plugin-sdk/testing"; import { describe, expect, it } from "vitest"; import { __testing, createGeminiWebSearchProvider } from "./src/gemini-web-search-provider.js"; diff --git a/extensions/memory-wiki/cli-metadata.test.ts b/extensions/memory-wiki/cli-metadata.test.ts index 83cf06983fa..8aa36f253be 100644 --- a/extensions/memory-wiki/cli-metadata.test.ts +++ b/extensions/memory-wiki/cli-metadata.test.ts @@ -3,18 +3,10 @@ import { beforeEach, describe, expect, it, vi } from "vitest"; import { createTestPluginApi } from "../../test/helpers/plugins/plugin-api.js"; const mocks = vi.hoisted(() => ({ - loadConfig: vi.fn(() => { - throw new Error("loadConfig should not be called during CLI metadata registration"); - }), registerWikiCli: vi.fn(), resolveMemoryWikiConfig: vi.fn(), })); -vi.mock("openclaw/plugin-sdk/config-runtime", () => ({ - getRuntimeConfig: mocks.loadConfig, - loadConfig: mocks.loadConfig, -})); - vi.mock("./src/cli.js", () => ({ registerWikiCli: mocks.registerWikiCli, })); @@ -66,7 +58,6 @@ describe("memory-wiki cli metadata entry", () => { logger: api.logger, }); - expect(mocks.loadConfig).not.toHaveBeenCalled(); expect(mocks.resolveMemoryWikiConfig).toHaveBeenCalledWith( appConfig.plugins.entries["memory-wiki"].config, ); diff --git a/extensions/music-generation-providers.live.test.ts b/extensions/music-generation-providers.live.test.ts index e002aaae4be..46efd503405 100644 --- a/extensions/music-generation-providers.live.test.ts +++ b/extensions/music-generation-providers.live.test.ts @@ -2,7 +2,8 @@ import { resolveApiKeyForProvider, resolveOpenClawAgentDir, } from "openclaw/plugin-sdk/agent-runtime"; -import { loadConfig, type OpenClawConfig } from "openclaw/plugin-sdk/config-runtime"; +import type { OpenClawConfig } from "openclaw/plugin-sdk/config-types"; +import { getRuntimeConfig } from "openclaw/plugin-sdk/runtime-config-snapshot"; import { DEFAULT_LIVE_MUSIC_MODELS, collectProviderApiKeys, @@ -132,7 +133,7 @@ describeLive("music generation provider live", () => { it( "covers generate plus declared edit paths with shell/profile auth", async () => { - const cfg = withPluginsEnabled(loadConfig()); + const cfg = withPluginsEnabled(getRuntimeConfig()); const configuredModels = resolveConfiguredLiveMusicModels(cfg); const agentDir = resolveOpenClawAgentDir(); const attempted: string[] = []; diff --git a/extensions/video-generation-providers.live.test.ts b/extensions/video-generation-providers.live.test.ts index a56bf8e50ea..e138b039a4b 100644 --- a/extensions/video-generation-providers.live.test.ts +++ b/extensions/video-generation-providers.live.test.ts @@ -2,7 +2,8 @@ import { resolveApiKeyForProvider, resolveOpenClawAgentDir, } from "openclaw/plugin-sdk/agent-runtime"; -import { loadConfig, type OpenClawConfig } from "openclaw/plugin-sdk/config-runtime"; +import type { OpenClawConfig } from "openclaw/plugin-sdk/config-types"; +import { getRuntimeConfig } from "openclaw/plugin-sdk/runtime-config-snapshot"; import { DEFAULT_LIVE_VIDEO_MODELS, canRunBufferBackedImageToVideoLiveLane, @@ -326,7 +327,7 @@ function resolveLiveSmokeDurationSeconds(params: { } async function runLiveVideoProviderCase(testCase: LiveProviderCase): Promise { - const cfg = withPluginsEnabled(loadConfig()); + const cfg = withPluginsEnabled(getRuntimeConfig()); const configuredModels = resolveConfiguredLiveVideoModels(cfg); const agentDir = resolveOpenClawAgentDir(); const attempted: string[] = []; diff --git a/src/plugin-sdk/runtime-config-snapshot.ts b/src/plugin-sdk/runtime-config-snapshot.ts index ada7bccdfe0..dae3d56466d 100644 --- a/src/plugin-sdk/runtime-config-snapshot.ts +++ b/src/plugin-sdk/runtime-config-snapshot.ts @@ -3,5 +3,9 @@ export { getRuntimeConfigSnapshot, setRuntimeConfigSnapshot, } from "../config/runtime-snapshot.js"; -export { getRuntimeConfig, getRuntimeConfigSourceSnapshot } from "../config/io.js"; +export { + clearConfigCache, + getRuntimeConfig, + getRuntimeConfigSourceSnapshot, +} from "../config/io.js"; export type { OpenClawConfig } from "../config/types.js";