dev/dirigent-tasks #11
@@ -54,6 +54,9 @@ const PATH_PLUGINS_LOAD = "plugins.load.paths";
|
||||
const PATH_PLUGIN_ENTRY = "plugins.entries.dirigent";
|
||||
const PATH_PROVIDERS = "models.providers";
|
||||
const PATH_PROVIDER_ENTRY = `models.providers.${NO_REPLY_PROVIDER_ID}`;
|
||||
const PATH_PLUGINS_ALLOW = "plugins.allow";
|
||||
|
||||
function runOpenclaw(args, { allowFail = false } = {}) {
|
||||
|
||||
function runOpenclaw(args, { allowFail = false } = {}) {
|
||||
try {
|
||||
@@ -216,6 +219,18 @@ if (mode === "install") {
|
||||
providers[NO_REPLY_PROVIDER_ID] = newProvider;
|
||||
setJson(PATH_PROVIDERS, providers);
|
||||
|
||||
// ── plugins.allow ─────────────────────────────────────────────────────
|
||||
const allowList = getJson(PATH_PLUGINS_ALLOW) || [];
|
||||
const oldAllow = clone(allowList);
|
||||
if (!allowList.includes("dirigent")) {
|
||||
allowList.push("dirigent");
|
||||
delta.added[PATH_PLUGINS_ALLOW] = "dirigent";
|
||||
delta._prev = delta._prev || {};
|
||||
delta._prev[PATH_PLUGINS_ALLOW] = oldAllow;
|
||||
setJson(PATH_PLUGINS_ALLOW, allowList);
|
||||
console.log("[dirigent] added 'dirigent' to plugins.allow");
|
||||
}
|
||||
|
||||
writeRecord("install", delta);
|
||||
console.log("[dirigent] install ok (config written)");
|
||||
console.log(`[dirigent] record: ${RECORD_PATH}`);
|
||||
@@ -272,6 +287,17 @@ else {
|
||||
}
|
||||
}
|
||||
|
||||
// ── Handle plugins.allow ──────────────────────────────────────────────
|
||||
if (delta.added[PATH_PLUGINS_ALLOW] !== undefined) {
|
||||
const allowList = getJson(PATH_PLUGINS_ALLOW) || [];
|
||||
const idx = allowList.indexOf("dirigent");
|
||||
if (idx !== -1) {
|
||||
allowList.splice(idx, 1);
|
||||
setJson(PATH_PLUGINS_ALLOW, allowList);
|
||||
console.log("[dirigent] removed 'dirigent' from plugins.allow");
|
||||
}
|
||||
}
|
||||
|
||||
// ── Handle REPLACED entries: restore old value ────────────────────────
|
||||
if (delta.replaced[PATH_PLUGIN_ENTRY] !== undefined) {
|
||||
const plugins = getJson("plugins") || {};
|
||||
|
||||
Reference in New Issue
Block a user