Files
openclaw/src/config/plugin-auto-enable.detect.ts

33 lines
1.1 KiB
TypeScript

import type { PluginManifestRegistry } from "../plugins/manifest-registry.js";
import {
resolveConfiguredPluginAutoEnableCandidates,
resolvePluginAutoEnableReadiness,
resolvePluginAutoEnableManifestRegistry,
} from "./plugin-auto-enable.shared.js";
import type { PluginAutoEnableCandidate } from "./plugin-auto-enable.types.js";
import type { OpenClawConfig } from "./types.openclaw.js";
export function detectPluginAutoEnableCandidates(params: {
config?: OpenClawConfig;
env?: NodeJS.ProcessEnv;
manifestRegistry?: PluginManifestRegistry;
}): PluginAutoEnableCandidate[] {
const env = params.env ?? process.env;
const config = params.config ?? ({} as OpenClawConfig);
const readiness = resolvePluginAutoEnableReadiness(config, env);
if (!readiness.mayNeedAutoEnable) {
return [];
}
const registry = resolvePluginAutoEnableManifestRegistry({
config,
env,
manifestRegistry: params.manifestRegistry,
});
return resolveConfiguredPluginAutoEnableCandidates({
config,
env,
registry,
configuredChannelIds: readiness.configuredChannelIds,
});
}