@bamdra/bamdra-openclaw-memory 0.3.16 → 0.3.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -2
- package/dist/index.js.map +1 -1
- package/dist/openclaw.plugin.json +1 -1
- package/dist/package.json +5 -3
- package/openclaw.plugin.json +1 -1
- package/package.json +5 -3
- package/scripts/postinstall.cjs +408 -0
- package/skills/bamdra-memory-upgrade-operator/SKILL.md +56 -0
- package/skills/bamdra-memory-upgrade-operator/scripts/upgrade-bamdra-memory.cjs +272 -0
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,iDAAiD,CAAC;AAGzD,OAAO,KAAK,EAKV,cAAc,EAEf,MAAM,gCAAgC,CAAC;AAMxC,QAAA,MAAM,oBAAoB,eAAwD,CAAC;AACnF,QAAA,MAAM,qBAAqB,eAAiE,CAAC;AAC7F,QAAA,MAAM,qBAAqB,eAA8D,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,iDAAiD,CAAC;AAGzD,OAAO,KAAK,EAKV,cAAc,EAEf,MAAM,gCAAgC,CAAC;AAMxC,QAAA,MAAM,oBAAoB,eAAwD,CAAC;AACnF,QAAA,MAAM,qBAAqB,eAAiE,CAAC;AAC7F,QAAA,MAAM,qBAAqB,eAA8D,CAAC;AAoD1F,KAAK,gBAAgB,GAAG;IACtB,YAAY,CAAC,EAAE,CACb,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EACzB,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,EACvD,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,KAC9D,IAAI,CAAC;IACV,EAAE,CAAC,EAAE,CACH,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,EACzE,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,KACzB,IAAI,CAAC;IACV,YAAY,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;KAAE,CAAC;IAC9C,OAAO,CAAC,EAAE;QACR,gBAAgB,CAAC,IAAI,2BAA2B,GAAG,IAAI,GAAG,SAAS,CAAC;QACpE,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qBAAqB,EAAE,CACrB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,2BAA2B,GAAG,OAAO,CAAC,2BAA2B,CAAC,KACpG,IAAI,CAAC;IACV,YAAY,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE;QACjC,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC;YAAE,OAAO,EAAE;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,IAAI,EAAE,MAAM,CAAA;aAAE,EAAE,CAAA;SAAE,CAAC,CAAC;KACxG,GAAG,IAAI,CAAC;IACT,CAAC,oBAAoB,CAAC,CAAC,EAAE,OAAO,CAAC;IACjC,CAAC,qBAAqB,CAAC,CAAC,EAAE,OAAO,CAAC;IAClC,CAAC,qBAAqB,CAAC,CAAC,EAAE,OAAO,CAAC;CACnC,CAAC;AAEF,wBAAgB,QAAQ,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAEpD;AAED,wBAAsB,QAAQ,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnE"}
|
package/dist/index.js
CHANGED
|
@@ -2205,6 +2205,7 @@ var TOOLS_REGISTERED_KEY = /* @__PURE__ */ Symbol.for("bamdra-openclaw-memory.to
|
|
|
2205
2205
|
var ENGINE_REGISTERED_KEY = /* @__PURE__ */ Symbol.for("bamdra-openclaw-memory.context-engine-registered");
|
|
2206
2206
|
var BOOTSTRAP_STARTED_KEY = /* @__PURE__ */ Symbol.for("bamdra-openclaw-memory.host-bootstrap-started");
|
|
2207
2207
|
var SKILL_ID = "bamdra-memory-operator";
|
|
2208
|
+
var UPGRADE_SKILL_ID = "bamdra-memory-upgrade-operator";
|
|
2208
2209
|
var USER_BIND_PROFILE_SKILL_ID = "bamdra-user-bind-profile";
|
|
2209
2210
|
var USER_BIND_ADMIN_SKILL_ID = "bamdra-user-bind-admin";
|
|
2210
2211
|
var VECTOR_SKILL_ID = "bamdra-memory-vector-operator";
|
|
@@ -2438,7 +2439,10 @@ function bootstrapOpenClawHost() {
|
|
|
2438
2439
|
const pluginRuntimeRoot = (0, import_node_path3.resolve)((0, import_node_path3.dirname)(__dirname));
|
|
2439
2440
|
const configPath = (0, import_node_path3.join)(openclawHome, "openclaw.json");
|
|
2440
2441
|
const globalSkillsDir = (0, import_node_path3.join)(openclawHome, "skills");
|
|
2441
|
-
const
|
|
2442
|
+
const bundledSkillDirs = [
|
|
2443
|
+
{ sourceDir: (0, import_node_path3.join)((0, import_node_path3.resolve)((0, import_node_path3.dirname)(__dirname)), "skills", SKILL_ID), targetDir: (0, import_node_path3.join)(globalSkillsDir, SKILL_ID) },
|
|
2444
|
+
{ sourceDir: (0, import_node_path3.join)((0, import_node_path3.resolve)((0, import_node_path3.dirname)(__dirname)), "skills", UPGRADE_SKILL_ID), targetDir: (0, import_node_path3.join)(globalSkillsDir, UPGRADE_SKILL_ID) }
|
|
2445
|
+
];
|
|
2442
2446
|
const targetSkillDir = (0, import_node_path3.join)(globalSkillsDir, SKILL_ID);
|
|
2443
2447
|
const forceBootstrap = process.env.OPENCLAW_BAMDRA_MEMORY_FORCE_BOOTSTRAP === "1";
|
|
2444
2448
|
if (!forceBootstrap && !pluginRuntimeRoot.startsWith(extensionRoot)) {
|
|
@@ -2456,7 +2460,9 @@ function bootstrapOpenClawHost() {
|
|
|
2456
2460
|
(0, import_node_fs2.mkdirSync)(extensionRoot, { recursive: true });
|
|
2457
2461
|
(0, import_node_fs2.mkdirSync)(memoryRoot, { recursive: true });
|
|
2458
2462
|
materializeBundledDependencyPlugins(pluginRuntimeRoot, extensionRoot);
|
|
2459
|
-
|
|
2463
|
+
for (const skill of bundledSkillDirs) {
|
|
2464
|
+
materializeBundledSkill(skill.sourceDir, skill.targetDir);
|
|
2465
|
+
}
|
|
2460
2466
|
materializeBundledDependencySkills(pluginRuntimeRoot, globalSkillsDir);
|
|
2461
2467
|
const original = (0, import_node_fs2.readFileSync)(configPath, "utf8");
|
|
2462
2468
|
const config = JSON.parse(original);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bamdra/bamdra-openclaw-memory",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.18",
|
|
4
4
|
"description": "Unified topic-aware memory plugin for OpenClaw with durable SQLite recall and bounded context growth.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://www.bamdra.com",
|
|
@@ -19,7 +19,8 @@
|
|
|
19
19
|
"dist",
|
|
20
20
|
"openclaw.plugin.json",
|
|
21
21
|
"README.md",
|
|
22
|
-
"skills"
|
|
22
|
+
"skills",
|
|
23
|
+
"scripts"
|
|
23
24
|
],
|
|
24
25
|
"keywords": [
|
|
25
26
|
"openclaw",
|
|
@@ -34,7 +35,8 @@
|
|
|
34
35
|
},
|
|
35
36
|
"scripts": {
|
|
36
37
|
"bundle": "node ../../scripts/run-local-bin.mjs tsup && cp ../../packages/memory-sqlite/src/schema.sql ./dist/ && node ../../scripts/prepare-plugin-dist.mjs bamdra-openclaw-memory",
|
|
37
|
-
"prepublishOnly": "pnpm run bundle"
|
|
38
|
+
"prepublishOnly": "pnpm run bundle",
|
|
39
|
+
"postinstall": "node ./scripts/postinstall.cjs"
|
|
38
40
|
},
|
|
39
41
|
"openclaw": {
|
|
40
42
|
"id": "bamdra-openclaw-memory",
|
package/openclaw.plugin.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bamdra/bamdra-openclaw-memory",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.18",
|
|
4
4
|
"description": "Unified topic-aware memory plugin for OpenClaw with durable SQLite recall and bounded context growth.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://www.bamdra.com",
|
|
@@ -19,7 +19,8 @@
|
|
|
19
19
|
"dist",
|
|
20
20
|
"openclaw.plugin.json",
|
|
21
21
|
"README.md",
|
|
22
|
-
"skills"
|
|
22
|
+
"skills",
|
|
23
|
+
"scripts"
|
|
23
24
|
],
|
|
24
25
|
"keywords": [
|
|
25
26
|
"openclaw",
|
|
@@ -34,7 +35,8 @@
|
|
|
34
35
|
},
|
|
35
36
|
"scripts": {
|
|
36
37
|
"bundle": "node ../../scripts/run-local-bin.mjs tsup && cp ../../packages/memory-sqlite/src/schema.sql ./dist/ && node ../../scripts/prepare-plugin-dist.mjs bamdra-openclaw-memory",
|
|
37
|
-
"prepublishOnly": "pnpm run bundle"
|
|
38
|
+
"prepublishOnly": "pnpm run bundle",
|
|
39
|
+
"postinstall": "node ./scripts/postinstall.cjs"
|
|
38
40
|
},
|
|
39
41
|
"openclaw": {
|
|
40
42
|
"id": "bamdra-openclaw-memory",
|
|
@@ -0,0 +1,408 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const { cpSync, existsSync, mkdirSync, readFileSync, writeFileSync } = require("node:fs");
|
|
4
|
+
const { homedir } = require("node:os");
|
|
5
|
+
const { dirname, join, resolve, sep } = require("node:path");
|
|
6
|
+
const { createRequire } = require("node:module");
|
|
7
|
+
|
|
8
|
+
const PLUGIN_ID = "bamdra-openclaw-memory";
|
|
9
|
+
const SKILL_ID = "bamdra-memory-operator";
|
|
10
|
+
const UPGRADE_SKILL_ID = "bamdra-memory-upgrade-operator";
|
|
11
|
+
const USER_BIND_PROFILE_SKILL_ID = "bamdra-user-bind-profile";
|
|
12
|
+
const USER_BIND_ADMIN_SKILL_ID = "bamdra-user-bind-admin";
|
|
13
|
+
const VECTOR_SKILL_ID = "bamdra-memory-vector-operator";
|
|
14
|
+
const REQUIRED_TOOL_NAMES = [
|
|
15
|
+
"bamdra_memory_list_topics",
|
|
16
|
+
"bamdra_memory_switch_topic",
|
|
17
|
+
"bamdra_memory_save_fact",
|
|
18
|
+
"bamdra_memory_compact_topic",
|
|
19
|
+
"bamdra_memory_search",
|
|
20
|
+
"bamdra_user_bind_get_my_profile",
|
|
21
|
+
"bamdra_user_bind_update_my_profile",
|
|
22
|
+
"bamdra_user_bind_refresh_my_binding",
|
|
23
|
+
"bamdra_user_bind_admin_query",
|
|
24
|
+
"bamdra_user_bind_admin_edit",
|
|
25
|
+
"bamdra_user_bind_admin_merge",
|
|
26
|
+
"bamdra_user_bind_admin_list_issues",
|
|
27
|
+
"bamdra_user_bind_admin_sync",
|
|
28
|
+
"bamdra_memory_vector_search",
|
|
29
|
+
] ;
|
|
30
|
+
const LEGACY_TOOL_ALIASES = [
|
|
31
|
+
"memory_list_topics",
|
|
32
|
+
"memory_switch_topic",
|
|
33
|
+
"memory_save_fact",
|
|
34
|
+
"memory_compact_topic",
|
|
35
|
+
"memory_search",
|
|
36
|
+
"user_bind_get_my_profile",
|
|
37
|
+
"user_bind_update_my_profile",
|
|
38
|
+
"user_bind_refresh_my_binding",
|
|
39
|
+
"user_bind_admin_query",
|
|
40
|
+
"user_bind_admin_edit",
|
|
41
|
+
"user_bind_admin_merge",
|
|
42
|
+
"user_bind_admin_list_issues",
|
|
43
|
+
"user_bind_admin_sync",
|
|
44
|
+
"memory_vector_search",
|
|
45
|
+
];
|
|
46
|
+
const REQUIRED_PLUGIN_IDS = ["bamdra-user-bind"];
|
|
47
|
+
const OPTIONAL_PLUGIN_IDS = ["bamdra-memory-vector"];
|
|
48
|
+
const AUTO_PROVISION_PLUGIN_IDS = [...REQUIRED_PLUGIN_IDS, ...OPTIONAL_PLUGIN_IDS];
|
|
49
|
+
const CONFLICTING_PLUGIN_IDS = ["memory-core", "memory-lancedb"];
|
|
50
|
+
const runtimeRequire = createRequire(__filename);
|
|
51
|
+
|
|
52
|
+
function log(event, details) {
|
|
53
|
+
try {
|
|
54
|
+
console.info("[bamdra-openclaw-memory:postinstall]", event, JSON.stringify(details || {}));
|
|
55
|
+
} catch {
|
|
56
|
+
console.info("[bamdra-openclaw-memory:postinstall]", event);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function ensureObject(parent, key) {
|
|
61
|
+
if (!parent[key] || typeof parent[key] !== "object" || Array.isArray(parent[key])) {
|
|
62
|
+
parent[key] = {};
|
|
63
|
+
}
|
|
64
|
+
return parent[key];
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
function ensureArrayIncludes(parent, key, value) {
|
|
68
|
+
const current = Array.isArray(parent[key]) ? [...parent[key]] : [];
|
|
69
|
+
if (current.includes(value)) {
|
|
70
|
+
if (!Array.isArray(parent[key])) {
|
|
71
|
+
parent[key] = current;
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
current.push(value);
|
|
77
|
+
parent[key] = current;
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
function dependencySkillIds(pluginId) {
|
|
82
|
+
if (pluginId === "bamdra-user-bind") return [USER_BIND_PROFILE_SKILL_ID, USER_BIND_ADMIN_SKILL_ID];
|
|
83
|
+
if (pluginId === "bamdra-memory-vector") return [VECTOR_SKILL_ID];
|
|
84
|
+
return [];
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
function materializeBundledSkill(sourceDir, targetDir) {
|
|
88
|
+
if (!existsSync(sourceDir) || existsSync(targetDir)) return;
|
|
89
|
+
mkdirSync(dirname(targetDir), { recursive: true });
|
|
90
|
+
cpSync(sourceDir, targetDir, { recursive: true });
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
function resolveBundledDependencySource(pluginId) {
|
|
94
|
+
const packageNameByPluginId = {
|
|
95
|
+
"bamdra-user-bind": "@bamdra/bamdra-user-bind",
|
|
96
|
+
"bamdra-memory-vector": "@bamdra/bamdra-memory-vector",
|
|
97
|
+
};
|
|
98
|
+
const packageName = packageNameByPluginId[pluginId];
|
|
99
|
+
const candidateRoots = [];
|
|
100
|
+
|
|
101
|
+
if (packageName) {
|
|
102
|
+
try {
|
|
103
|
+
const entryPath = runtimeRequire.resolve(packageName);
|
|
104
|
+
candidateRoots.push(dirname(dirname(entryPath)));
|
|
105
|
+
candidateRoots.push(dirname(entryPath));
|
|
106
|
+
} catch {
|
|
107
|
+
// Ignore and continue.
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
candidateRoots.push(resolve(__dirname, "..", "bundled-plugins", pluginId));
|
|
112
|
+
candidateRoots.push(resolve(__dirname, "..", "..", "..", pluginId));
|
|
113
|
+
candidateRoots.push(resolve(__dirname, "..", "..", "..", "..", pluginId));
|
|
114
|
+
|
|
115
|
+
for (const root of candidateRoots) {
|
|
116
|
+
const distDir = existsSync(join(root, "dist")) ? join(root, "dist") : root;
|
|
117
|
+
if (
|
|
118
|
+
existsSync(join(distDir, "index.js")) &&
|
|
119
|
+
existsSync(join(distDir, "openclaw.plugin.json")) &&
|
|
120
|
+
existsSync(join(distDir, "package.json"))
|
|
121
|
+
) {
|
|
122
|
+
return distDir;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
return null;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
function materializeBundledDependencyPlugins(extensionRoot) {
|
|
130
|
+
for (const pluginId of AUTO_PROVISION_PLUGIN_IDS) {
|
|
131
|
+
const targetDir = join(extensionRoot, pluginId);
|
|
132
|
+
if (existsSync(targetDir)) continue;
|
|
133
|
+
const sourceDir = resolveBundledDependencySource(pluginId);
|
|
134
|
+
if (!sourceDir) {
|
|
135
|
+
log("dependency-plugin-copy-skipped", { pluginId, reason: "source-not-found" });
|
|
136
|
+
continue;
|
|
137
|
+
}
|
|
138
|
+
mkdirSync(dirname(targetDir), { recursive: true });
|
|
139
|
+
cpSync(sourceDir, targetDir, { recursive: true });
|
|
140
|
+
log("dependency-plugin-copied", { pluginId, sourceDir, targetDir });
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
function materializeBundledDependencySkills(globalSkillsDir) {
|
|
145
|
+
for (const pluginId of AUTO_PROVISION_PLUGIN_IDS) {
|
|
146
|
+
const sourceDir = resolveBundledDependencySource(pluginId);
|
|
147
|
+
if (!sourceDir) continue;
|
|
148
|
+
const packageRoot = sourceDir.endsWith(`${sep}dist`) ? dirname(sourceDir) : sourceDir;
|
|
149
|
+
const skillsRoot = join(packageRoot, "skills");
|
|
150
|
+
if (!existsSync(skillsRoot)) continue;
|
|
151
|
+
for (const skillId of dependencySkillIds(pluginId)) {
|
|
152
|
+
materializeBundledSkill(join(skillsRoot, skillId), join(globalSkillsDir, skillId));
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
function ensureToolAllowlist(tools) {
|
|
158
|
+
let changed = false;
|
|
159
|
+
const allow = Array.isArray(tools.allow) ? [...tools.allow] : [];
|
|
160
|
+
const filteredAllow = allow.filter((toolName) => !LEGACY_TOOL_ALIASES.includes(toolName));
|
|
161
|
+
if (!Array.isArray(tools.allow) || filteredAllow.length !== allow.length) {
|
|
162
|
+
tools.allow = filteredAllow;
|
|
163
|
+
changed = true;
|
|
164
|
+
}
|
|
165
|
+
for (const toolName of REQUIRED_TOOL_NAMES) {
|
|
166
|
+
changed = ensureArrayIncludes(tools, "allow", toolName) || changed;
|
|
167
|
+
}
|
|
168
|
+
return changed;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
function ensureAgentSkills(agents, skillId) {
|
|
172
|
+
const list = Array.isArray(agents.list) ? agents.list : [];
|
|
173
|
+
let changed = false;
|
|
174
|
+
for (const item of list) {
|
|
175
|
+
if (!item || typeof item !== "object") continue;
|
|
176
|
+
const currentSkills = Array.isArray(item.skills) ? [...item.skills] : [];
|
|
177
|
+
if (!Array.isArray(item.skills)) {
|
|
178
|
+
item.skills = currentSkills;
|
|
179
|
+
changed = true;
|
|
180
|
+
}
|
|
181
|
+
if (!currentSkills.includes(skillId)) {
|
|
182
|
+
currentSkills.push(skillId);
|
|
183
|
+
item.skills = currentSkills;
|
|
184
|
+
changed = true;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
return changed;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
function ensureAdminSkills(agents, skillId, adminAgentIds) {
|
|
191
|
+
const list = Array.isArray(agents.list) ? agents.list : [];
|
|
192
|
+
let changed = false;
|
|
193
|
+
for (const item of list) {
|
|
194
|
+
if (!item || typeof item !== "object") continue;
|
|
195
|
+
const agentId = typeof item.id === "string" ? item.id : typeof item.name === "string" ? item.name : null;
|
|
196
|
+
if (!agentId || !adminAgentIds.includes(agentId)) continue;
|
|
197
|
+
const currentSkills = Array.isArray(item.skills) ? [...item.skills] : [];
|
|
198
|
+
if (!Array.isArray(item.skills)) {
|
|
199
|
+
item.skills = currentSkills;
|
|
200
|
+
changed = true;
|
|
201
|
+
}
|
|
202
|
+
if (!currentSkills.includes(skillId)) {
|
|
203
|
+
currentSkills.push(skillId);
|
|
204
|
+
item.skills = currentSkills;
|
|
205
|
+
changed = true;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
return changed;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
function ensureHostConfig(config) {
|
|
212
|
+
let changed = false;
|
|
213
|
+
|
|
214
|
+
const plugins = ensureObject(config, "plugins");
|
|
215
|
+
const tools = ensureObject(config, "tools");
|
|
216
|
+
const skills = ensureObject(config, "skills");
|
|
217
|
+
const skillsLoad = ensureObject(skills, "load");
|
|
218
|
+
const agents = ensureObject(config, "agents");
|
|
219
|
+
const entries = ensureObject(plugins, "entries");
|
|
220
|
+
const load = ensureObject(plugins, "load");
|
|
221
|
+
const slots = ensureObject(plugins, "slots");
|
|
222
|
+
const pluginEntry = ensureObject(entries, PLUGIN_ID);
|
|
223
|
+
const userBindEntry = ensureObject(entries, REQUIRED_PLUGIN_IDS[0]);
|
|
224
|
+
const vectorEntry = ensureObject(entries, OPTIONAL_PLUGIN_IDS[0]);
|
|
225
|
+
const conflictingEntries = CONFLICTING_PLUGIN_IDS.map((pluginId) => ensureObject(entries, pluginId));
|
|
226
|
+
const pluginConfig = ensureObject(pluginEntry, "config");
|
|
227
|
+
const pluginStore = ensureObject(pluginConfig, "store");
|
|
228
|
+
const pluginCache = ensureObject(pluginConfig, "cache");
|
|
229
|
+
|
|
230
|
+
if (plugins.enabled !== true) {
|
|
231
|
+
plugins.enabled = true;
|
|
232
|
+
changed = true;
|
|
233
|
+
}
|
|
234
|
+
changed = ensureArrayIncludes(plugins, "allow", PLUGIN_ID) || changed;
|
|
235
|
+
for (const dependencyId of REQUIRED_PLUGIN_IDS) {
|
|
236
|
+
changed = ensureArrayIncludes(plugins, "allow", dependencyId) || changed;
|
|
237
|
+
const dependencyEntry = ensureObject(entries, dependencyId);
|
|
238
|
+
if (dependencyEntry.enabled !== true) {
|
|
239
|
+
dependencyEntry.enabled = true;
|
|
240
|
+
changed = true;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
for (const optionalId of OPTIONAL_PLUGIN_IDS) {
|
|
244
|
+
changed = ensureArrayIncludes(plugins, "allow", optionalId) || changed;
|
|
245
|
+
}
|
|
246
|
+
for (const conflictingId of CONFLICTING_PLUGIN_IDS) {
|
|
247
|
+
changed = ensureArrayIncludes(plugins, "deny", conflictingId) || changed;
|
|
248
|
+
}
|
|
249
|
+
changed = ensureArrayIncludes(load, "paths", join(homedir(), ".openclaw", "extensions")) || changed;
|
|
250
|
+
changed = ensureArrayIncludes(skillsLoad, "extraDirs", join(homedir(), ".openclaw", "skills")) || changed;
|
|
251
|
+
|
|
252
|
+
if (slots.memory !== PLUGIN_ID) {
|
|
253
|
+
slots.memory = PLUGIN_ID;
|
|
254
|
+
changed = true;
|
|
255
|
+
}
|
|
256
|
+
if (slots.contextEngine !== PLUGIN_ID) {
|
|
257
|
+
slots.contextEngine = PLUGIN_ID;
|
|
258
|
+
changed = true;
|
|
259
|
+
}
|
|
260
|
+
if (pluginEntry.enabled !== true) {
|
|
261
|
+
pluginEntry.enabled = true;
|
|
262
|
+
changed = true;
|
|
263
|
+
}
|
|
264
|
+
if (pluginConfig.enabled !== true) {
|
|
265
|
+
pluginConfig.enabled = true;
|
|
266
|
+
changed = true;
|
|
267
|
+
}
|
|
268
|
+
if (pluginStore.provider !== "sqlite") {
|
|
269
|
+
pluginStore.provider = "sqlite";
|
|
270
|
+
changed = true;
|
|
271
|
+
}
|
|
272
|
+
if (typeof pluginStore.path !== "string" || pluginStore.path.length === 0) {
|
|
273
|
+
pluginStore.path = "~/.openclaw/memory/main.sqlite";
|
|
274
|
+
changed = true;
|
|
275
|
+
}
|
|
276
|
+
if (pluginCache.provider !== "memory") {
|
|
277
|
+
pluginCache.provider = "memory";
|
|
278
|
+
changed = true;
|
|
279
|
+
}
|
|
280
|
+
if (typeof pluginCache.maxSessions !== "number") {
|
|
281
|
+
pluginCache.maxSessions = 128;
|
|
282
|
+
changed = true;
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
const userBindConfig = ensureObject(userBindEntry, "config");
|
|
286
|
+
if (userBindEntry.enabled !== true) {
|
|
287
|
+
userBindEntry.enabled = true;
|
|
288
|
+
changed = true;
|
|
289
|
+
}
|
|
290
|
+
if (userBindConfig.enabled !== true) {
|
|
291
|
+
userBindConfig.enabled = true;
|
|
292
|
+
changed = true;
|
|
293
|
+
}
|
|
294
|
+
if (typeof userBindConfig.localStorePath !== "string" || userBindConfig.localStorePath.length === 0) {
|
|
295
|
+
userBindConfig.localStorePath = "~/.openclaw/data/bamdra-user-bind";
|
|
296
|
+
changed = true;
|
|
297
|
+
}
|
|
298
|
+
if (typeof userBindConfig.exportPath !== "string" || userBindConfig.exportPath.length === 0) {
|
|
299
|
+
userBindConfig.exportPath = "~/.openclaw/data/bamdra-user-bind/exports";
|
|
300
|
+
changed = true;
|
|
301
|
+
}
|
|
302
|
+
if (typeof userBindConfig.profileMarkdownRoot !== "string" || userBindConfig.profileMarkdownRoot.length === 0) {
|
|
303
|
+
userBindConfig.profileMarkdownRoot = "~/.openclaw/data/bamdra-user-bind/profiles/private";
|
|
304
|
+
changed = true;
|
|
305
|
+
}
|
|
306
|
+
if (typeof userBindConfig.cacheTtlMs !== "number") {
|
|
307
|
+
userBindConfig.cacheTtlMs = 1800000;
|
|
308
|
+
changed = true;
|
|
309
|
+
}
|
|
310
|
+
if (!Array.isArray(userBindConfig.adminAgents) || userBindConfig.adminAgents.length === 0) {
|
|
311
|
+
userBindConfig.adminAgents = ["main"];
|
|
312
|
+
changed = true;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
const vectorConfig = ensureObject(vectorEntry, "config");
|
|
316
|
+
if (vectorEntry.enabled !== true) {
|
|
317
|
+
vectorEntry.enabled = true;
|
|
318
|
+
changed = true;
|
|
319
|
+
}
|
|
320
|
+
if (vectorConfig.enabled !== true) {
|
|
321
|
+
vectorConfig.enabled = true;
|
|
322
|
+
changed = true;
|
|
323
|
+
}
|
|
324
|
+
if (typeof vectorConfig.markdownRoot !== "string" || vectorConfig.markdownRoot.length === 0) {
|
|
325
|
+
vectorConfig.markdownRoot = "~/.openclaw/memory/vector/markdown";
|
|
326
|
+
changed = true;
|
|
327
|
+
}
|
|
328
|
+
if (typeof vectorConfig.privateMarkdownRoot !== "string" || vectorConfig.privateMarkdownRoot.length === 0) {
|
|
329
|
+
vectorConfig.privateMarkdownRoot = "~/.openclaw/memory/vector/markdown/private";
|
|
330
|
+
changed = true;
|
|
331
|
+
}
|
|
332
|
+
if (typeof vectorConfig.sharedMarkdownRoot !== "string" || vectorConfig.sharedMarkdownRoot.length === 0) {
|
|
333
|
+
vectorConfig.sharedMarkdownRoot = "~/.openclaw/memory/vector/markdown/shared";
|
|
334
|
+
changed = true;
|
|
335
|
+
}
|
|
336
|
+
if (typeof vectorConfig.indexPath !== "string" || vectorConfig.indexPath.length === 0) {
|
|
337
|
+
vectorConfig.indexPath = "~/.openclaw/memory/vector/index.json";
|
|
338
|
+
changed = true;
|
|
339
|
+
}
|
|
340
|
+
if (typeof vectorConfig.dimensions !== "number") {
|
|
341
|
+
vectorConfig.dimensions = 64;
|
|
342
|
+
changed = true;
|
|
343
|
+
}
|
|
344
|
+
if (typeof vectorConfig.topK !== "number") {
|
|
345
|
+
vectorConfig.topK = 5;
|
|
346
|
+
changed = true;
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
for (const conflictingEntry of conflictingEntries) {
|
|
350
|
+
if (conflictingEntry.enabled !== false) {
|
|
351
|
+
conflictingEntry.enabled = false;
|
|
352
|
+
changed = true;
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
changed = ensureToolAllowlist(tools) || changed;
|
|
357
|
+
changed = ensureAgentSkills(agents, SKILL_ID) || changed;
|
|
358
|
+
changed = ensureAgentSkills(agents, USER_BIND_PROFILE_SKILL_ID) || changed;
|
|
359
|
+
changed = ensureAgentSkills(agents, VECTOR_SKILL_ID) || changed;
|
|
360
|
+
changed = ensureAdminSkills(agents, USER_BIND_ADMIN_SKILL_ID, ["main"]) || changed;
|
|
361
|
+
|
|
362
|
+
return changed;
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
function main() {
|
|
366
|
+
const openclawHome = resolve(homedir(), ".openclaw");
|
|
367
|
+
const extensionRoot = join(openclawHome, "extensions");
|
|
368
|
+
const memoryRoot = join(openclawHome, "memory");
|
|
369
|
+
const globalSkillsDir = join(openclawHome, "skills");
|
|
370
|
+
const bundledSkills = [
|
|
371
|
+
{ sourceDir: join(resolve(__dirname, "..", "skills", SKILL_ID)), targetDir: join(globalSkillsDir, SKILL_ID) },
|
|
372
|
+
{ sourceDir: join(resolve(__dirname, "..", "skills", UPGRADE_SKILL_ID)), targetDir: join(globalSkillsDir, UPGRADE_SKILL_ID) },
|
|
373
|
+
];
|
|
374
|
+
const configPath = join(openclawHome, "openclaw.json");
|
|
375
|
+
|
|
376
|
+
if (!existsSync(configPath)) {
|
|
377
|
+
log("bootstrap-skipped", { reason: "missing-openclaw-config" });
|
|
378
|
+
return;
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
mkdirSync(openclawHome, { recursive: true });
|
|
382
|
+
mkdirSync(extensionRoot, { recursive: true });
|
|
383
|
+
mkdirSync(memoryRoot, { recursive: true });
|
|
384
|
+
|
|
385
|
+
materializeBundledDependencyPlugins(extensionRoot);
|
|
386
|
+
for (const skill of bundledSkills) {
|
|
387
|
+
materializeBundledSkill(skill.sourceDir, skill.targetDir);
|
|
388
|
+
}
|
|
389
|
+
materializeBundledDependencySkills(globalSkillsDir);
|
|
390
|
+
|
|
391
|
+
const original = readFileSync(configPath, "utf8");
|
|
392
|
+
const config = JSON.parse(original);
|
|
393
|
+
const changed = ensureHostConfig(config);
|
|
394
|
+
|
|
395
|
+
if (!changed) {
|
|
396
|
+
log("bootstrap-noop", { configPath });
|
|
397
|
+
return;
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
writeFileSync(configPath, `${JSON.stringify(config, null, 2)}\n`, "utf8");
|
|
401
|
+
log("bootstrap-updated", { configPath, pluginId: PLUGIN_ID });
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
try {
|
|
405
|
+
main();
|
|
406
|
+
} catch (error) {
|
|
407
|
+
log("bootstrap-failed", { message: error instanceof Error ? error.message : String(error) });
|
|
408
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bamdra-memory-upgrade-operator
|
|
3
|
+
description: Safely upgrade or reinstall the Bamdra OpenClaw memory suite when normal `openclaw plugins install` runs into stale config, existing plugin directories, or partial installs.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Bamdra Memory Upgrade Operator
|
|
7
|
+
|
|
8
|
+
Use this skill when the user wants to upgrade, reinstall, or repair the Bamdra memory suite and a normal `openclaw plugins install @bamdra/bamdra-openclaw-memory` path is blocked by:
|
|
9
|
+
|
|
10
|
+
- `plugin already exists`
|
|
11
|
+
- `plugin not found` errors from stale `openclaw.json`
|
|
12
|
+
- old bundled skills preventing new skill files from being copied
|
|
13
|
+
- partial installs where `bamdra-openclaw-memory`, `bamdra-user-bind`, and `bamdra-memory-vector` are out of sync
|
|
14
|
+
|
|
15
|
+
## Operating Goal
|
|
16
|
+
|
|
17
|
+
Perform a safe in-place suite upgrade without leaving `~/.openclaw/openclaw.json` broken.
|
|
18
|
+
|
|
19
|
+
The bundled script does four things in one flow:
|
|
20
|
+
|
|
21
|
+
1. backs up the current config and plugin/skill directories
|
|
22
|
+
2. removes stale Bamdra plugin references from `openclaw.json`
|
|
23
|
+
3. moves old plugin and bundled skill directories out of the way
|
|
24
|
+
4. runs `openclaw plugins install @bamdra/bamdra-openclaw-memory`
|
|
25
|
+
|
|
26
|
+
If install fails, the script restores the old config and moved directories.
|
|
27
|
+
|
|
28
|
+
## Default Command
|
|
29
|
+
|
|
30
|
+
Run:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
node ./scripts/upgrade-bamdra-memory.cjs
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
From this skill directory, that upgrades to the latest published `@bamdra/bamdra-openclaw-memory`.
|
|
37
|
+
|
|
38
|
+
## Optional Flags
|
|
39
|
+
|
|
40
|
+
- `--package <npm-spec>` to install a specific version such as `@bamdra/bamdra-openclaw-memory@0.3.17`
|
|
41
|
+
- `--openclaw-home <path>` to target a non-default OpenClaw home
|
|
42
|
+
- `--restart-gateway` to restart the gateway after a successful install
|
|
43
|
+
|
|
44
|
+
## Behavior Rules
|
|
45
|
+
|
|
46
|
+
- prefer the script over ad-hoc manual deletion
|
|
47
|
+
- mention the backup directory after success
|
|
48
|
+
- after success, remind the user to restart OpenClaw if `--restart-gateway` was not used
|
|
49
|
+
- do not manually edit unrelated plugin config while doing this upgrade
|
|
50
|
+
- do not delete backup directories unless the user explicitly asks
|
|
51
|
+
|
|
52
|
+
## User-Facing Examples
|
|
53
|
+
|
|
54
|
+
- “升级一下 bamdra memory 套件”
|
|
55
|
+
- “修复 openclaw plugins install 时的 plugin already exists”
|
|
56
|
+
- “重新安装 bamdra-openclaw-memory,但不要把 openclaw.json 弄坏”
|
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const fs = require("node:fs");
|
|
4
|
+
const os = require("node:os");
|
|
5
|
+
const path = require("node:path");
|
|
6
|
+
const { spawnSync } = require("node:child_process");
|
|
7
|
+
|
|
8
|
+
const DEFAULT_PACKAGE = "@bamdra/bamdra-openclaw-memory";
|
|
9
|
+
const PLUGIN_IDS = [
|
|
10
|
+
"bamdra-openclaw-memory",
|
|
11
|
+
"bamdra-user-bind",
|
|
12
|
+
"bamdra-memory-vector",
|
|
13
|
+
];
|
|
14
|
+
const SKILL_IDS = [
|
|
15
|
+
"bamdra-memory-operator",
|
|
16
|
+
"bamdra-memory-upgrade-operator",
|
|
17
|
+
"bamdra-user-bind-profile",
|
|
18
|
+
"bamdra-user-bind-admin",
|
|
19
|
+
"bamdra-memory-vector-operator",
|
|
20
|
+
];
|
|
21
|
+
|
|
22
|
+
function parseArgs(argv) {
|
|
23
|
+
const options = {
|
|
24
|
+
packageSpec: DEFAULT_PACKAGE,
|
|
25
|
+
openclawHome: path.join(os.homedir(), ".openclaw"),
|
|
26
|
+
restartGateway: false,
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
for (let index = 0; index < argv.length; index += 1) {
|
|
30
|
+
const arg = argv[index];
|
|
31
|
+
if (arg === "--package") {
|
|
32
|
+
options.packageSpec = argv[index + 1];
|
|
33
|
+
index += 1;
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
if (arg === "--openclaw-home") {
|
|
37
|
+
options.openclawHome = path.resolve(argv[index + 1]);
|
|
38
|
+
index += 1;
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
if (arg === "--restart-gateway") {
|
|
42
|
+
options.restartGateway = true;
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
if (arg === "--help" || arg === "-h") {
|
|
46
|
+
printHelp();
|
|
47
|
+
process.exit(0);
|
|
48
|
+
}
|
|
49
|
+
throw new Error(`Unknown argument: ${arg}`);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
if (!options.packageSpec) {
|
|
53
|
+
throw new Error("Missing value for --package");
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
return options;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
function printHelp() {
|
|
60
|
+
console.log("Usage: node ./scripts/upgrade-bamdra-memory.cjs [options]");
|
|
61
|
+
console.log("");
|
|
62
|
+
console.log("Options:");
|
|
63
|
+
console.log(` --package <npm-spec> Package to install (default: ${DEFAULT_PACKAGE})`);
|
|
64
|
+
console.log(" --openclaw-home <path> Override ~/.openclaw location");
|
|
65
|
+
console.log(" --restart-gateway Restart the gateway after successful install");
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
function log(message, details) {
|
|
69
|
+
if (details) {
|
|
70
|
+
console.log(`[bamdra-memory-upgrade] ${message}`, JSON.stringify(details));
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
console.log(`[bamdra-memory-upgrade] ${message}`);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
function ensureDir(dirPath) {
|
|
77
|
+
fs.mkdirSync(dirPath, { recursive: true });
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
function readJson(filePath) {
|
|
81
|
+
return JSON.parse(fs.readFileSync(filePath, "utf8"));
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
function writeJson(filePath, value) {
|
|
85
|
+
fs.writeFileSync(filePath, `${JSON.stringify(value, null, 2)}\n`, "utf8");
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
function ensureObject(parent, key) {
|
|
89
|
+
if (!parent[key] || typeof parent[key] !== "object" || Array.isArray(parent[key])) {
|
|
90
|
+
parent[key] = {};
|
|
91
|
+
}
|
|
92
|
+
return parent[key];
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
function removeFromArray(value, targets) {
|
|
96
|
+
if (!Array.isArray(value)) {
|
|
97
|
+
return { changed: false, next: value };
|
|
98
|
+
}
|
|
99
|
+
const next = value.filter((item) => !targets.includes(item));
|
|
100
|
+
return { changed: next.length !== value.length, next };
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
function sanitizeConfig(config) {
|
|
104
|
+
let changed = false;
|
|
105
|
+
const plugins = ensureObject(config, "plugins");
|
|
106
|
+
const tools = ensureObject(config, "tools");
|
|
107
|
+
const entries = ensureObject(plugins, "entries");
|
|
108
|
+
const slots = ensureObject(plugins, "slots");
|
|
109
|
+
|
|
110
|
+
for (const pluginId of PLUGIN_IDS) {
|
|
111
|
+
if (pluginId in entries) {
|
|
112
|
+
delete entries[pluginId];
|
|
113
|
+
changed = true;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
const allowResult = removeFromArray(plugins.allow, PLUGIN_IDS);
|
|
118
|
+
if (allowResult.changed) {
|
|
119
|
+
plugins.allow = allowResult.next;
|
|
120
|
+
changed = true;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
const denyResult = removeFromArray(plugins.deny, PLUGIN_IDS);
|
|
124
|
+
if (denyResult.changed) {
|
|
125
|
+
plugins.deny = denyResult.next;
|
|
126
|
+
changed = true;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
if (slots.memory && PLUGIN_IDS.includes(slots.memory)) {
|
|
130
|
+
delete slots.memory;
|
|
131
|
+
changed = true;
|
|
132
|
+
}
|
|
133
|
+
if (slots.contextEngine && PLUGIN_IDS.includes(slots.contextEngine)) {
|
|
134
|
+
delete slots.contextEngine;
|
|
135
|
+
changed = true;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
const toolTargets = [
|
|
139
|
+
"bamdra_memory_list_topics",
|
|
140
|
+
"bamdra_memory_switch_topic",
|
|
141
|
+
"bamdra_memory_save_fact",
|
|
142
|
+
"bamdra_memory_compact_topic",
|
|
143
|
+
"bamdra_memory_search",
|
|
144
|
+
"bamdra_user_bind_get_my_profile",
|
|
145
|
+
"bamdra_user_bind_update_my_profile",
|
|
146
|
+
"bamdra_user_bind_refresh_my_binding",
|
|
147
|
+
"bamdra_user_bind_admin_query",
|
|
148
|
+
"bamdra_user_bind_admin_edit",
|
|
149
|
+
"bamdra_user_bind_admin_merge",
|
|
150
|
+
"bamdra_user_bind_admin_list_issues",
|
|
151
|
+
"bamdra_user_bind_admin_sync",
|
|
152
|
+
"bamdra_memory_vector_search",
|
|
153
|
+
"memory_list_topics",
|
|
154
|
+
"memory_switch_topic",
|
|
155
|
+
"memory_save_fact",
|
|
156
|
+
"memory_compact_topic",
|
|
157
|
+
"memory_search",
|
|
158
|
+
"user_bind_get_my_profile",
|
|
159
|
+
"user_bind_update_my_profile",
|
|
160
|
+
"user_bind_refresh_my_binding",
|
|
161
|
+
"user_bind_admin_query",
|
|
162
|
+
"user_bind_admin_edit",
|
|
163
|
+
"user_bind_admin_merge",
|
|
164
|
+
"user_bind_admin_list_issues",
|
|
165
|
+
"user_bind_admin_sync",
|
|
166
|
+
"memory_vector_search",
|
|
167
|
+
];
|
|
168
|
+
const toolAllowResult = removeFromArray(tools.allow, toolTargets);
|
|
169
|
+
if (toolAllowResult.changed) {
|
|
170
|
+
tools.allow = toolAllowResult.next;
|
|
171
|
+
changed = true;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
return changed;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
function moveIfExists(sourcePath, backupRoot) {
|
|
178
|
+
if (!fs.existsSync(sourcePath)) {
|
|
179
|
+
return null;
|
|
180
|
+
}
|
|
181
|
+
ensureDir(backupRoot);
|
|
182
|
+
const targetPath = path.join(backupRoot, path.basename(sourcePath));
|
|
183
|
+
fs.renameSync(sourcePath, targetPath);
|
|
184
|
+
return { sourcePath, targetPath };
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
function restoreMoves(moves) {
|
|
188
|
+
for (const move of moves.slice().reverse()) {
|
|
189
|
+
if (!move) continue;
|
|
190
|
+
if (fs.existsSync(move.targetPath)) {
|
|
191
|
+
fs.renameSync(move.targetPath, move.sourcePath);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
function runCommand(command, args, options = {}) {
|
|
197
|
+
const result = spawnSync(command, args, {
|
|
198
|
+
stdio: "inherit",
|
|
199
|
+
env: process.env,
|
|
200
|
+
...options,
|
|
201
|
+
});
|
|
202
|
+
if (result.status !== 0) {
|
|
203
|
+
throw new Error(`${command} ${args.join(" ")} failed with exit code ${result.status ?? "unknown"}`);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
function main() {
|
|
208
|
+
const options = parseArgs(process.argv.slice(2));
|
|
209
|
+
const openclawHome = options.openclawHome;
|
|
210
|
+
const configPath = path.join(openclawHome, "openclaw.json");
|
|
211
|
+
const extensionsDir = path.join(openclawHome, "extensions");
|
|
212
|
+
const skillsDir = path.join(openclawHome, "skills");
|
|
213
|
+
|
|
214
|
+
if (!fs.existsSync(configPath)) {
|
|
215
|
+
throw new Error(`OpenClaw config not found: ${configPath}`);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
ensureDir(extensionsDir);
|
|
219
|
+
ensureDir(skillsDir);
|
|
220
|
+
|
|
221
|
+
const timestamp = new Date().toISOString().replace(/[:.]/g, "-");
|
|
222
|
+
const backupRoot = path.join(openclawHome, "backups", `bamdra-memory-upgrade-${timestamp}`);
|
|
223
|
+
ensureDir(backupRoot);
|
|
224
|
+
|
|
225
|
+
const backupConfigPath = path.join(backupRoot, "openclaw.json.before");
|
|
226
|
+
fs.copyFileSync(configPath, backupConfigPath);
|
|
227
|
+
log("backup-created", { backupRoot });
|
|
228
|
+
|
|
229
|
+
const config = readJson(configPath);
|
|
230
|
+
sanitizeConfig(config);
|
|
231
|
+
writeJson(configPath, config);
|
|
232
|
+
log("config-sanitized", { configPath });
|
|
233
|
+
|
|
234
|
+
const moves = [];
|
|
235
|
+
try {
|
|
236
|
+
for (const pluginId of PLUGIN_IDS) {
|
|
237
|
+
moves.push(moveIfExists(path.join(extensionsDir, pluginId), path.join(backupRoot, "extensions")));
|
|
238
|
+
}
|
|
239
|
+
for (const skillId of SKILL_IDS) {
|
|
240
|
+
moves.push(moveIfExists(path.join(skillsDir, skillId), path.join(backupRoot, "skills")));
|
|
241
|
+
}
|
|
242
|
+
log("old-artifacts-moved");
|
|
243
|
+
|
|
244
|
+
runCommand("openclaw", ["plugins", "install", options.packageSpec]);
|
|
245
|
+
log("install-finished", { packageSpec: options.packageSpec });
|
|
246
|
+
|
|
247
|
+
if (options.restartGateway) {
|
|
248
|
+
runCommand("openclaw", ["gateway", "restart"]);
|
|
249
|
+
log("gateway-restarted");
|
|
250
|
+
} else {
|
|
251
|
+
log("next-step", {
|
|
252
|
+
message: "Restart OpenClaw or the gateway so the refreshed plugin set is loaded.",
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
log("upgrade-complete", { backupRoot });
|
|
257
|
+
} catch (error) {
|
|
258
|
+
log("install-failed-restoring", {
|
|
259
|
+
message: error instanceof Error ? error.message : String(error),
|
|
260
|
+
});
|
|
261
|
+
fs.copyFileSync(backupConfigPath, configPath);
|
|
262
|
+
restoreMoves(moves);
|
|
263
|
+
throw error;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
try {
|
|
268
|
+
main();
|
|
269
|
+
} catch (error) {
|
|
270
|
+
console.error(error instanceof Error ? error.message : String(error));
|
|
271
|
+
process.exit(1);
|
|
272
|
+
}
|