Files
openclaw/src/config/plugin-auto-enable.apply.ts
2026-04-05 09:34:16 +01:00

45 lines
1.4 KiB
TypeScript

import type { PluginManifestRegistry } from "../plugins/manifest-registry.js";
import type { OpenClawConfig } from "./config.js";
import { detectPluginAutoEnableCandidates } from "./plugin-auto-enable.detect.js";
import {
materializePluginAutoEnableCandidatesInternal,
resolvePluginAutoEnableManifestRegistry,
type PluginAutoEnableCandidate,
type PluginAutoEnableResult,
} from "./plugin-auto-enable.shared.js";
export function materializePluginAutoEnableCandidates(params: {
config?: OpenClawConfig;
candidates: readonly PluginAutoEnableCandidate[];
env?: NodeJS.ProcessEnv;
manifestRegistry?: PluginManifestRegistry;
}): PluginAutoEnableResult {
const env = params.env ?? process.env;
const config = params.config ?? {};
const manifestRegistry = resolvePluginAutoEnableManifestRegistry({
config,
env,
manifestRegistry: params.manifestRegistry,
});
return materializePluginAutoEnableCandidatesInternal({
config,
candidates: params.candidates,
env,
manifestRegistry,
});
}
export function applyPluginAutoEnable(params: {
config?: OpenClawConfig;
env?: NodeJS.ProcessEnv;
manifestRegistry?: PluginManifestRegistry;
}): PluginAutoEnableResult {
const candidates = detectPluginAutoEnableCandidates(params);
return materializePluginAutoEnableCandidates({
config: params.config,
candidates,
env: params.env,
manifestRegistry: params.manifestRegistry,
});
}