@unblocklabs/unblock-memory 0.3.9 → 0.3.10
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 +3 -1
- package/dist/src/session-sync.js +6 -5
- package/openclaw.plugin.json +1 -1
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -239,7 +239,9 @@ The optional `sessions` corpus reads the current agent's normal OpenClaw SQLite
|
|
|
239
239
|
store and indexes its active user/assistant transcript branch. It defaults to
|
|
240
240
|
channel and group conversations; add `direct` explicitly to include DMs. Run
|
|
241
241
|
`memory_sync_sessions` to start a refresh, then use `memory_sync_status` to
|
|
242
|
-
check its progress or result.
|
|
242
|
+
check its progress or result. The read-only adapter explicitly supports OpenClaw
|
|
243
|
+
agent database schemas 17, 18, and 19 and validates its required columns before
|
|
244
|
+
reading. Projections are private derived Markdown under the
|
|
243
245
|
agent's `unblock-memory/sessions` state directory and can be rebuilt from
|
|
244
246
|
OpenClaw at any time. Their embedded text contains only `# Transcript` and
|
|
245
247
|
timestamped speaker messages; filtering metadata remains in the session
|
package/dist/src/session-sync.js
CHANGED
|
@@ -6,7 +6,7 @@ import { DatabaseSync } from "node:sqlite";
|
|
|
6
6
|
import { projectSession, sessionDocumentPath, } from "./session-projector.js";
|
|
7
7
|
const MANIFEST_VERSION = 1;
|
|
8
8
|
const PROJECTOR_VERSION = 2;
|
|
9
|
-
const
|
|
9
|
+
const SUPPORTED_SCHEMA_VERSIONS = new Set([17, 18, 19]);
|
|
10
10
|
const REQUIRED_COLUMNS = {
|
|
11
11
|
schema_meta: ["meta_key", "role", "schema_version", "agent_id", "app_version"],
|
|
12
12
|
session_windows: [
|
|
@@ -45,9 +45,10 @@ function projectionPath(outputDir, documentPath) {
|
|
|
45
45
|
}
|
|
46
46
|
function assertSchema(db, expectedAgentId) {
|
|
47
47
|
const pragma = db.prepare("PRAGMA user_version").get();
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
48
|
+
const schemaVersion = pragma?.user_version;
|
|
49
|
+
if (typeof schemaVersion !== "number" || !SUPPORTED_SCHEMA_VERSIONS.has(schemaVersion)) {
|
|
50
|
+
throw new Error("unsupported OpenClaw agent database schema: expected one of 17, 18, 19, " +
|
|
51
|
+
`found ${String(schemaVersion ?? "unknown")}`);
|
|
51
52
|
}
|
|
52
53
|
for (const [table, required] of Object.entries(REQUIRED_COLUMNS)) {
|
|
53
54
|
const columns = new Set(db.prepare(`PRAGMA table_info(${table})`).all()
|
|
@@ -58,7 +59,7 @@ function assertSchema(db, expectedAgentId) {
|
|
|
58
59
|
}
|
|
59
60
|
const meta = db.prepare("SELECT role, schema_version AS schemaVersion, agent_id AS agentId " +
|
|
60
61
|
"FROM schema_meta WHERE meta_key = 'primary' LIMIT 1").get();
|
|
61
|
-
if (meta?.role !== "agent" || meta.schemaVersion !==
|
|
62
|
+
if (meta?.role !== "agent" || meta.schemaVersion !== schemaVersion) {
|
|
62
63
|
throw new Error("unsupported OpenClaw agent database primary schema metadata");
|
|
63
64
|
}
|
|
64
65
|
if (meta.agentId !== expectedAgentId) {
|
package/openclaw.plugin.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "unblock-memory",
|
|
3
3
|
"name": "Unblock Memory",
|
|
4
|
-
"version": "0.3.
|
|
4
|
+
"version": "0.3.10",
|
|
5
5
|
"description": "Indexes, retrieves, and analyzes configured workspace memory with existing QMD vectors.",
|
|
6
6
|
"kind": "memory",
|
|
7
7
|
"activation": { "onStartup": false },
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unblocklabs/unblock-memory",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.10",
|
|
4
4
|
"description": "Workspace-native memory for OpenClaw, powered by QMD",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -41,12 +41,12 @@
|
|
|
41
41
|
"typebox": "1.3.6"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
|
-
"@openclaw/ai": "2026.8.1
|
|
44
|
+
"@openclaw/ai": "2026.8.1",
|
|
45
45
|
"@openclaw/plugin-inspector": "^0.3.10",
|
|
46
46
|
"@types/node": "^24.6.0",
|
|
47
47
|
"@types/picomatch": "^4.0.2",
|
|
48
48
|
"knip": "^6.32.2",
|
|
49
|
-
"openclaw": "2026.8.1
|
|
49
|
+
"openclaw": "2026.8.1",
|
|
50
50
|
"tsx": "^4.20.6",
|
|
51
51
|
"typescript": "^5.9.3"
|
|
52
52
|
},
|
|
@@ -70,8 +70,8 @@
|
|
|
70
70
|
"minGatewayVersion": "2026.8.1-beta.3"
|
|
71
71
|
},
|
|
72
72
|
"build": {
|
|
73
|
-
"openclawVersion": "2026.8.1
|
|
74
|
-
"pluginSdkVersion": "2026.8.1
|
|
73
|
+
"openclawVersion": "2026.8.1",
|
|
74
|
+
"pluginSdkVersion": "2026.8.1"
|
|
75
75
|
},
|
|
76
76
|
"install": {
|
|
77
77
|
"npmSpec": "@unblocklabs/unblock-memory",
|