mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-14 10:41:23 +00:00
45 lines
1.4 KiB
TypeScript
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,
|
|
});
|
|
}
|