openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
27 lines (26 loc) • 1.11 kB
JavaScript
import { l as normalizeStringEntries } from "./string-normalization-WNUDCpXX.js";
import { d as resolveConfigDir, p as resolveUserPath } from "./utils-CCC-BEJH.js";
import { n as resolveBundledPluginsDir } from "./bundled-dir-CG-NYRXR.js";
import path from "node:path";
//#region src/plugins/roots.ts
function resolvePluginSourceRoots(params) {
const env = params.env ?? process.env;
const workspaceRoot = params.workspaceDir ? resolveUserPath(params.workspaceDir, env) : void 0;
return {
stock: resolveBundledPluginsDir(env),
global: path.join(resolveConfigDir(env), "extensions"),
workspace: workspaceRoot ? path.join(workspaceRoot, ".openclaw", "extensions") : void 0
};
}
function resolvePluginCacheInputs(params) {
const env = params.env ?? process.env;
return {
roots: resolvePluginSourceRoots({
workspaceDir: params.workspaceDir,
env
}),
loadPaths: normalizeStringEntries((params.loadPaths ?? []).filter((entry) => typeof entry === "string")).map((entry) => resolveUserPath(entry, env))
};
}
//#endregion
export { resolvePluginSourceRoots as n, resolvePluginCacheInputs as t };