@joshuaswarren/openclaw-engram 9.3.21 → 9.3.22

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.
@@ -7,12 +7,19 @@
7
7
  // store during migration when both blocks exist with no plugins.slots.memory
8
8
  // override (#403). The id is hardcoded (not imported from @remnic/core)
9
9
  // because the shim *is* the legacy alias — the string is its identity.
10
- import("../dist/access-cli.js")
11
- .then(({ runCli }) =>
12
- runCli(process.argv.slice(2), { preferredId: "openclaw-engram" }),
13
- )
14
- .catch((error) => {
15
- const message = error instanceof Error ? error.message : "unknown load error";
16
- console.error(`access-cli failed to load dist/access-cli.js: ${message}`);
17
- process.exit(1);
18
- });
10
+ let accessCli;
11
+ try {
12
+ accessCli = await import("../dist/access-cli.js");
13
+ } catch (error) {
14
+ const message = error instanceof Error ? error.message : "unknown load error";
15
+ console.error(`access-cli failed to load dist/access-cli.js: ${message}`);
16
+ process.exit(1);
17
+ }
18
+
19
+ try {
20
+ await accessCli.runCli(process.argv.slice(2), { preferredId: "openclaw-engram" });
21
+ } catch (error) {
22
+ const message = error instanceof Error ? error.message : "unknown error";
23
+ console.error(`engram-access failed: ${message}`);
24
+ process.exit(1);
25
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "id": "openclaw-engram",
3
3
  "name": "Remnic OpenClaw Plugin",
4
- "version": "9.3.21",
4
+ "version": "9.3.22",
5
5
  "kind": "memory",
6
6
  "description": "Local semantic memory for OpenClaw with bundled Remnic core runtime. Requires plugins.slots.memory set to this plugin id for hooks to fire.",
7
7
  "setup": {
@@ -115,7 +115,14 @@
115
115
  "additionalProperties": false,
116
116
  "properties": {
117
117
  "openaiApiKey": {
118
- "type": "string",
118
+ "anyOf": [
119
+ {
120
+ "type": "string"
121
+ },
122
+ {
123
+ "const": false
124
+ }
125
+ ],
119
126
  "description": "Optional OpenAI API key for plugin mode (or set OPENAI_API_KEY env var). Ignored by default gateway-mode installs; in plugin mode, Remnic may send conversation and memory content to OpenAI or the configured OpenAI-compatible endpoint for extraction, consolidation, summarization, and embeddings."
120
127
  },
121
128
  "openaiBaseUrl": {
@@ -124,7 +131,7 @@
124
131
  },
125
132
  "model": {
126
133
  "type": "string",
127
- "default": "gpt-5.2",
134
+ "default": "gpt-5.5",
128
135
  "description": "OpenAI model for extraction/consolidation"
129
136
  },
130
137
  "reasoningEffort": {
@@ -1346,7 +1353,8 @@
1346
1353
  "description": "Include the most relevant open question in generated memory context"
1347
1354
  },
1348
1355
  "commitmentDecayDays": {
1349
- "type": "number",
1356
+ "type": "integer",
1357
+ "minimum": 1,
1350
1358
  "default": 90,
1351
1359
  "description": "Days before fulfilled/expired commitments are removed"
1352
1360
  },
@@ -1767,7 +1775,7 @@
1767
1775
  },
1768
1776
  "recallPlannerModel": {
1769
1777
  "type": "string",
1770
- "default": "gpt-5.2-mini",
1778
+ "default": "gpt-5.5",
1771
1779
  "description": "Model to use for the recall planner."
1772
1780
  },
1773
1781
  "recallPlannerTimeoutMs": {
@@ -3379,7 +3387,7 @@
3379
3387
  "conversationIndexFaissModelId": {
3380
3388
  "type": "string",
3381
3389
  "default": "text-embedding-3-small",
3382
- "description": "Embedding model identifier passed to the FAISS sidecar. By default the sidecar aliases OpenAI embedding ids to a local sentence-transformers model when ENGRAM_FAISS_ENABLE_ST=1, and otherwise falls back to deterministic hash embeddings."
3390
+ "description": "Embedding model identifier passed to the FAISS sidecar. By default the sidecar aliases OpenAI embedding ids to a local sentence-transformers model when REMNIC_FAISS_ENABLE_ST=1 (or legacy ENGRAM_FAISS_ENABLE_ST=1), and otherwise falls back to deterministic hash embeddings."
3383
3391
  },
3384
3392
  "conversationIndexFaissIndexDir": {
3385
3393
  "type": "string",
@@ -4764,7 +4772,7 @@
4764
4772
  "model": {
4765
4773
  "label": "Extraction Model",
4766
4774
  "advanced": true,
4767
- "placeholder": "gpt-5.2"
4775
+ "placeholder": "gpt-5.5"
4768
4776
  },
4769
4777
  "reasoningEffort": {
4770
4778
  "label": "Reasoning Effort",
@@ -4936,7 +4944,8 @@
4936
4944
  "commitmentDecayDays": {
4937
4945
  "label": "Commitment Decay (days)",
4938
4946
  "advanced": true,
4939
- "placeholder": "90"
4947
+ "placeholder": "90",
4948
+ "help": "Positive integer days before fulfilled/expired commitments are removed."
4940
4949
  },
4941
4950
  "workspaceDir": {
4942
4951
  "label": "Workspace Directory",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@joshuaswarren/openclaw-engram",
3
- "version": "9.3.21",
3
+ "version": "9.3.22",
4
4
  "description": "Deprecated compatibility shim for Engram installs. Re-exports @remnic/plugin-openclaw and forwards engram-access to @remnic/core.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -18,7 +18,8 @@
18
18
  "files": [
19
19
  "dist",
20
20
  "bin/engram-access.js",
21
- "openclaw.plugin.json"
21
+ "openclaw.plugin.json",
22
+ "scripts/postinstall-banner.mjs"
22
23
  ],
23
24
  "publishConfig": {
24
25
  "access": "public",
@@ -36,8 +37,8 @@
36
37
  "pluginApi": ">=2026.5.16-beta.1"
37
38
  },
38
39
  "build": {
39
- "openclawVersion": "2026.5.16-beta.2",
40
- "pluginSdkVersion": "2026.5.16-beta.2"
40
+ "openclawVersion": "2026.5.19-beta.1",
41
+ "pluginSdkVersion": "2026.5.19-beta.1"
41
42
  },
42
43
  "install": {
43
44
  "clawhubSpec": "clawhub:@remnic/plugin-openclaw",
@@ -47,8 +48,8 @@
47
48
  }
48
49
  },
49
50
  "dependencies": {
50
- "@remnic/core": "^1.1.12",
51
- "@remnic/plugin-openclaw": "^1.0.35"
51
+ "@remnic/plugin-openclaw": "^1.0.36",
52
+ "@remnic/core": "^1.1.12"
52
53
  },
53
54
  "peerDependencies": {
54
55
  "openclaw": ">=2026.5.16-beta.1"
@@ -73,6 +74,7 @@
73
74
  ],
74
75
  "scripts": {
75
76
  "build": "node ./scripts/sync-openclaw-plugin.mjs && tsup --config tsup.config.ts",
77
+ "precheck-types": "node ../../scripts/ensure-bench-build-deps.mjs",
76
78
  "check-types": "tsc --noEmit",
77
79
  "postinstall": "node ./scripts/postinstall-banner.mjs"
78
80
  }
@@ -0,0 +1,19 @@
1
+ const lines = [
2
+ "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━",
3
+ " Engram is now Remnic",
4
+ "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━",
5
+ " Same product. New name. One-time auto-migration runs",
6
+ " on first use. Your memories, config, and tokens carry over.",
7
+ "",
8
+ " Why: namespace conflicts and a clearer identity for what",
9
+ " the product actually is — a Recall Engine for Memory",
10
+ " Networks powering Intelligent Collaboration across your",
11
+ " entire agent fleet.",
12
+ "",
13
+ " Next step: nothing. The plugin auto-migrates on first run.",
14
+ "",
15
+ " Learn more: https://remnic.ai/rename",
16
+ "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━",
17
+ ];
18
+
19
+ process.stderr.write(`\n${lines.join("\n")}\n\n`);