memory-braid 0.3.3 → 0.3.4

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/README.md CHANGED
@@ -20,7 +20,7 @@ On the target machine:
20
20
  1. Install from npm:
21
21
 
22
22
  ```bash
23
- openclaw plugins install memory-braid@0.3.3
23
+ openclaw plugins install memory-braid@0.3.4
24
24
  ```
25
25
 
26
26
  2. Rebuild native dependencies inside the installed extension:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "memory-braid",
3
- "version": "0.3.3",
3
+ "version": "0.3.4",
4
4
  "description": "OpenClaw memory plugin that augments local memory with Mem0, bootstrap import, reconcile, and capture.",
5
5
  "type": "module",
6
6
  "main": "./src/index.ts",
@@ -111,20 +111,38 @@ function asOssMemoryCtor(value: unknown): OssMemoryCtor | undefined {
111
111
  return value as OssMemoryCtor;
112
112
  }
113
113
 
114
- export function resolveOssMemoryCtor(moduleValue: unknown): OssMemoryCtor | undefined {
115
- if (!moduleValue) {
114
+ function isObjectLike(value: unknown): value is Record<string, unknown> {
115
+ return Boolean(value) && typeof value === "object" && !Array.isArray(value);
116
+ }
117
+
118
+ function resolveCtorFromCandidate(candidate: unknown, depth = 0): OssMemoryCtor | undefined {
119
+ if (depth > 6 || !candidate) {
120
+ return undefined;
121
+ }
122
+
123
+ const direct = asOssMemoryCtor(candidate);
124
+ if (direct) {
125
+ return direct;
126
+ }
127
+
128
+ if (!isObjectLike(candidate)) {
116
129
  return undefined;
117
130
  }
118
131
 
119
- const mod = asRecord(moduleValue);
120
- const defaultMod = asRecord(mod.default);
132
+ const record = candidate as Record<string, unknown>;
133
+ return (
134
+ resolveCtorFromCandidate(record.Memory, depth + 1) ??
135
+ resolveCtorFromCandidate(record.MemoryClient, depth + 1) ??
136
+ resolveCtorFromCandidate(record.default, depth + 1)
137
+ );
138
+ }
121
139
 
140
+ export function resolveOssMemoryCtor(moduleValue: unknown): OssMemoryCtor | undefined {
122
141
  return (
123
- asOssMemoryCtor(mod.Memory) ??
124
- asOssMemoryCtor(mod.MemoryClient) ??
125
- asOssMemoryCtor(defaultMod.Memory) ??
126
- asOssMemoryCtor(defaultMod.MemoryClient) ??
127
- asOssMemoryCtor(mod.default)
142
+ resolveCtorFromCandidate(moduleValue) ??
143
+ resolveCtorFromCandidate(asRecord(moduleValue).Memory) ??
144
+ resolveCtorFromCandidate(asRecord(moduleValue).MemoryClient) ??
145
+ resolveCtorFromCandidate(asRecord(moduleValue).default)
128
146
  );
129
147
  }
130
148