@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.
@@ -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;AAmD1F,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"}
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 bundledSkillDir = (0, import_node_path3.join)((0, import_node_path3.resolve)((0, import_node_path3.dirname)(__dirname)), "skills", SKILL_ID);
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
- materializeBundledSkill(bundledSkillDir, targetSkillDir);
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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"}
@@ -11,7 +11,7 @@
11
11
  ],
12
12
  "name": "Bamdra OpenClaw Memory",
13
13
  "description": "Unified topic-aware memory plugin for OpenClaw",
14
- "version": "0.3.15",
14
+ "version": "0.3.18",
15
15
  "main": "./index.js",
16
16
  "configSchema": {
17
17
  "type": "object",
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bamdra/bamdra-openclaw-memory",
3
- "version": "0.3.16",
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",
@@ -7,7 +7,7 @@
7
7
  "skills": ["./skills"],
8
8
  "name": "Bamdra OpenClaw Memory",
9
9
  "description": "Unified topic-aware memory plugin for OpenClaw",
10
- "version": "0.3.15",
10
+ "version": "0.3.18",
11
11
  "main": "./dist/index.js",
12
12
  "configSchema": {
13
13
  "type": "object",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bamdra/bamdra-openclaw-memory",
3
- "version": "0.3.16",
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
+ }