import type { OpenClawConfig } from "../config/config.js"; import { loadOpenClawPlugins } from "../plugins/loader.js"; import { getActivePluginRegistryKey } from "../plugins/runtime.js"; import { resolveUserPath } from "../utils.js"; export function ensureRuntimePluginsLoaded(params: { config?: OpenClawConfig; workspaceDir?: string | null; allowGatewaySubagentBinding?: boolean; }): void { if (getActivePluginRegistryKey()) { return; } const workspaceDir = typeof params.workspaceDir === "string" && params.workspaceDir.trim() ? resolveUserPath(params.workspaceDir) : undefined; loadOpenClawPlugins({ config: params.config, workspaceDir, runtimeOptions: params.allowGatewaySubagentBinding ? { allowGatewaySubagentBinding: true, } : undefined, }); }