mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-07 03:10:42 +00:00
* Config: add inspect/strict SecretRef string resolver * CLI: pass resolved/source config snapshots to plugin preload * Slack: keep HTTP route registration config-only * Providers: normalize SecretRef handling for auth and web tools * Secrets: add Exa web search target to registry and docs * Telegram: resolve env SecretRef tokens at runtime * Agents: resolve custom provider env SecretRef ids * Providers: fail closed on blocked SecretRef fallback * Telegram: enforce env SecretRef policy for runtime token refs * Status/Providers/Telegram: tighten SecretRef preload and fallback handling * Providers: enforce env SecretRef policy checks in fallback auth paths * fix: add SecretRef lifecycle changelog entry (#66818) (thanks @joshavant)
41 lines
1.4 KiB
TypeScript
41 lines
1.4 KiB
TypeScript
import type { OpenClawConfig } from "../config/types.openclaw.js";
|
|
import { loggingState } from "../logging/state.js";
|
|
import type { PluginRegistryScope } from "./plugin-registry.js";
|
|
|
|
let pluginRegistryModulePromise: Promise<typeof import("./plugin-registry.js")> | undefined;
|
|
|
|
function loadPluginRegistryModule() {
|
|
pluginRegistryModulePromise ??= import("./plugin-registry.js");
|
|
return pluginRegistryModulePromise;
|
|
}
|
|
|
|
export function resolvePluginRegistryScopeForCommandPath(
|
|
commandPath: string[],
|
|
): Exclude<PluginRegistryScope, "configured-channels"> {
|
|
return commandPath[0] === "status" || commandPath[0] === "health" ? "channels" : "all";
|
|
}
|
|
|
|
export async function ensureCliPluginRegistryLoaded(params: {
|
|
scope: PluginRegistryScope;
|
|
routeLogsToStderr?: boolean;
|
|
config?: OpenClawConfig;
|
|
activationSourceConfig?: OpenClawConfig;
|
|
}) {
|
|
const { ensurePluginRegistryLoaded } = await loadPluginRegistryModule();
|
|
const previousForceStderr = loggingState.forceConsoleToStderr;
|
|
if (params.routeLogsToStderr) {
|
|
loggingState.forceConsoleToStderr = true;
|
|
}
|
|
try {
|
|
ensurePluginRegistryLoaded({
|
|
scope: params.scope,
|
|
...(params.config ? { config: params.config } : {}),
|
|
...(params.activationSourceConfig
|
|
? { activationSourceConfig: params.activationSourceConfig }
|
|
: {}),
|
|
});
|
|
} finally {
|
|
loggingState.forceConsoleToStderr = previousForceStderr;
|
|
}
|
|
}
|