From 268a8592dede5b6c9570e22876613720d890820f Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Fri, 13 Mar 2026 01:33:29 +0000 Subject: [PATCH] fix: avoid ineffective dynamic imports --- src/agents/auth-profiles.runtime.ts | 1 + src/agents/context.ts | 3 ++- src/agents/model-catalog.ts | 2 +- src/agents/pi-model-discovery-runtime.ts | 7 ++++++- src/auto-reply/reply/model-selection.ts | 2 +- src/commands/models/list.list-command.ts | 2 +- src/wizard/onboarding.ts | 2 +- 7 files changed, 13 insertions(+), 6 deletions(-) create mode 100644 src/agents/auth-profiles.runtime.ts diff --git a/src/agents/auth-profiles.runtime.ts b/src/agents/auth-profiles.runtime.ts new file mode 100644 index 000000000..5c25bb97c --- /dev/null +++ b/src/agents/auth-profiles.runtime.ts @@ -0,0 +1 @@ +export { ensureAuthProfileStore } from "./auth-profiles.js"; diff --git a/src/agents/context.ts b/src/agents/context.ts index d705438bd..c18d95346 100644 --- a/src/agents/context.ts +++ b/src/agents/context.ts @@ -157,7 +157,8 @@ function ensureContextWindowCacheLoaded(): Promise { } try { - const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery.js"); + const { discoverAuthStorage, discoverModels } = + await import("./pi-model-discovery-runtime.js"); const agentDir = resolveOpenClawAgentDir(); const authStorage = discoverAuthStorage(agentDir); const modelRegistry = discoverModels(authStorage, agentDir) as unknown as ModelRegistryLike; diff --git a/src/agents/model-catalog.ts b/src/agents/model-catalog.ts index 34ef07723..6f66e85c4 100644 --- a/src/agents/model-catalog.ts +++ b/src/agents/model-catalog.ts @@ -30,7 +30,7 @@ type PiSdkModule = typeof import("./pi-model-discovery.js"); let modelCatalogPromise: Promise | null = null; let hasLoggedModelCatalogError = false; -const defaultImportPiSdk = () => import("./pi-model-discovery.js"); +const defaultImportPiSdk = () => import("./pi-model-discovery-runtime.js"); let importPiSdk = defaultImportPiSdk; const CODEX_PROVIDER = "openai-codex"; diff --git a/src/agents/pi-model-discovery-runtime.ts b/src/agents/pi-model-discovery-runtime.ts index 8f57cfab6..d448f941d 100644 --- a/src/agents/pi-model-discovery-runtime.ts +++ b/src/agents/pi-model-discovery-runtime.ts @@ -1 +1,6 @@ -export { discoverAuthStorage, discoverModels } from "./pi-model-discovery.js"; +export { + AuthStorage, + discoverAuthStorage, + discoverModels, + ModelRegistry, +} from "./pi-model-discovery.js"; diff --git a/src/auto-reply/reply/model-selection.ts b/src/auto-reply/reply/model-selection.ts index 95c01460c..33132e1f4 100644 --- a/src/auto-reply/reply/model-selection.ts +++ b/src/auto-reply/reply/model-selection.ts @@ -365,7 +365,7 @@ export async function createModelSelectionState(params: { } if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) { - const { ensureAuthProfileStore } = await import("../../agents/auth-profiles.js"); + const { ensureAuthProfileStore } = await import("../../agents/auth-profiles.runtime.js"); const store = ensureAuthProfileStore(undefined, { allowKeychainPrompt: false, }); diff --git a/src/commands/models/list.list-command.ts b/src/commands/models/list.list-command.ts index d99a84199..57d0af32b 100644 --- a/src/commands/models/list.list-command.ts +++ b/src/commands/models/list.list-command.ts @@ -25,7 +25,7 @@ export async function modelsListCommand( runtime: RuntimeEnv, ) { ensureFlagCompatibility(opts); - const { ensureAuthProfileStore } = await import("../../agents/auth-profiles.js"); + const { ensureAuthProfileStore } = await import("../../agents/auth-profiles.runtime.js"); const { ensureOpenClawModelsJson } = await import("../../agents/models-config.js"); const { sourceConfig, resolvedConfig: cfg } = await loadModelsConfigWithSource({ commandName: "models list", diff --git a/src/wizard/onboarding.ts b/src/wizard/onboarding.ts index 6749fdf0e..e8265efd4 100644 --- a/src/wizard/onboarding.ts +++ b/src/wizard/onboarding.ts @@ -409,7 +409,7 @@ export async function runOnboardingWizard( const { applyOnboardingLocalWorkspaceConfig } = await import("../commands/onboard-config.js"); let nextConfig: OpenClawConfig = applyOnboardingLocalWorkspaceConfig(baseConfig, workspaceDir); - const { ensureAuthProfileStore } = await import("../agents/auth-profiles.js"); + const { ensureAuthProfileStore } = await import("../agents/auth-profiles.runtime.js"); const { promptAuthChoiceGrouped } = await import("../commands/auth-choice-prompt.js"); const { promptCustomApiConfig } = await import("../commands/onboard-custom.js"); const { applyAuthChoice, resolvePreferredProviderForAuthChoice, warnIfModelConfigLooksOff } =