openclaw-engram 0.2.0 → 0.4.0

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,86 +1,86 @@
1
- {
2
- "name": "engram",
3
- "id": "engram",
4
- "version": "0.2.0",
5
- "displayName": "Engram Memory",
6
- "description": "Connects OpenClaw agents to engram persistent memory server for long-term context retention",
7
- "kind": "memory",
8
- "author": "thebtf",
9
- "main": "dist/index.js",
10
- "configSchema": {
11
- "type": "object",
12
- "properties": {
13
- "url": {
14
- "type": "string",
15
- "description": "Engram server URL (e.g. http://localhost:37777)",
16
- "default": "http://localhost:37777"
17
- },
18
- "token": {
19
- "type": "string",
20
- "description": "Bearer token for engram API authentication",
21
- "uiHints": { "sensitive": true }
22
- },
23
- "project": {
24
- "type": "string",
25
- "description": "Project scope override (defaults to auto-detected from workspace)"
26
- },
27
- "contextLimit": {
28
- "type": "number",
29
- "description": "Maximum observations to inject per prompt",
30
- "default": 10
31
- },
32
- "sessionContextLimit": {
33
- "type": "number",
34
- "description": "Maximum observations to inject at session start",
35
- "default": 20
36
- },
37
- "tokenBudget": {
38
- "type": "number",
39
- "description": "Maximum token budget for context injection (approx 4 chars per token)",
40
- "default": 2000
41
- },
42
- "timeoutMs": {
43
- "type": "number",
44
- "description": "Per-request timeout in milliseconds",
45
- "default": 5000
46
- },
47
- "autoExtract": {
48
- "type": "boolean",
49
- "description": "Enable automatic observation extraction on compaction/session-end",
50
- "default": true
51
- },
52
- "logLevel": {
53
- "type": "string",
54
- "enum": ["debug", "info", "warn", "error"],
55
- "description": "Log verbosity level",
56
- "default": "warn"
57
- }
58
- },
59
- "required": ["url", "token"]
60
- },
61
- "hooks": [
62
- "session_start",
63
- "before_prompt_build",
64
- "after_tool_call",
65
- "before_compaction",
66
- "session_end"
67
- ],
68
- "tools": [
69
- "engram_search",
70
- "engram_remember",
71
- "engram_decisions",
72
- "memory_search",
73
- "memory_store",
74
- "memory_forget",
75
- "memory_get",
76
- "memory_migrate"
77
- ],
78
- "commands": [
79
- "memory",
80
- "remember",
81
- "migrate"
82
- ],
83
- "cli": {
84
- "commands": ["memory"]
85
- }
86
- }
1
+ {
2
+ "name": "engram",
3
+ "id": "engram",
4
+ "version": "0.2.0",
5
+ "displayName": "Engram Memory",
6
+ "description": "Connects OpenClaw agents to engram persistent memory server for long-term context retention",
7
+ "kind": "memory",
8
+ "author": "thebtf",
9
+ "main": "dist/index.js",
10
+ "configSchema": {
11
+ "type": "object",
12
+ "properties": {
13
+ "url": {
14
+ "type": "string",
15
+ "description": "Engram server URL (e.g. http://localhost:37777)",
16
+ "default": "http://localhost:37777"
17
+ },
18
+ "token": {
19
+ "type": "string",
20
+ "description": "Bearer token for engram API authentication",
21
+ "uiHints": { "sensitive": true }
22
+ },
23
+ "project": {
24
+ "type": "string",
25
+ "description": "Project scope override (defaults to auto-detected from workspace)"
26
+ },
27
+ "contextLimit": {
28
+ "type": "number",
29
+ "description": "Maximum observations to inject per prompt",
30
+ "default": 10
31
+ },
32
+ "sessionContextLimit": {
33
+ "type": "number",
34
+ "description": "Maximum observations to inject at session start",
35
+ "default": 20
36
+ },
37
+ "tokenBudget": {
38
+ "type": "number",
39
+ "description": "Maximum token budget for context injection (approx 4 chars per token)",
40
+ "default": 2000
41
+ },
42
+ "timeoutMs": {
43
+ "type": "number",
44
+ "description": "Per-request timeout in milliseconds",
45
+ "default": 5000
46
+ },
47
+ "autoExtract": {
48
+ "type": "boolean",
49
+ "description": "Enable automatic observation extraction on compaction/session-end",
50
+ "default": true
51
+ },
52
+ "logLevel": {
53
+ "type": "string",
54
+ "enum": ["debug", "info", "warn", "error"],
55
+ "description": "Log verbosity level",
56
+ "default": "warn"
57
+ }
58
+ },
59
+ "required": ["url", "token"]
60
+ },
61
+ "hooks": [
62
+ "session_start",
63
+ "before_prompt_build",
64
+ "after_tool_call",
65
+ "before_compaction",
66
+ "session_end"
67
+ ],
68
+ "tools": [
69
+ "engram_search",
70
+ "engram_remember",
71
+ "engram_decisions",
72
+ "memory_search",
73
+ "memory_store",
74
+ "memory_forget",
75
+ "memory_get",
76
+ "memory_migrate"
77
+ ],
78
+ "commands": [
79
+ "memory",
80
+ "remember",
81
+ "migrate"
82
+ ],
83
+ "cli": {
84
+ "commands": ["memory"]
85
+ }
86
+ }
package/package.json CHANGED
@@ -1,45 +1,49 @@
1
- {
2
- "name": "openclaw-engram",
3
- "version": "0.2.0",
4
- "description": "OpenClaw plugin that connects to engram persistent memory server",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
7
- "scripts": {
8
- "build": "tsc",
9
- "typecheck": "tsc --noEmit",
10
- "prepublishOnly": "npm run build"
11
- },
12
- "files": [
13
- "dist/",
14
- "openclaw.plugin.json"
15
- ],
16
- "keywords": [
17
- "openclaw",
18
- "engram",
19
- "memory",
20
- "plugin"
21
- ],
22
- "repository": {
23
- "type": "git",
24
- "url": "https://github.com/thebtf/engram.git",
25
- "directory": "plugin/openclaw-engram"
26
- },
27
- "license": "MIT",
28
- "dependencies": {
29
- "@sinclair/typebox": "^0.34.0",
30
- "chokidar": "^4.0.3",
31
- "zod": "^3.25.76"
32
- },
33
- "devDependencies": {
34
- "@types/node": "^18.19.0",
35
- "typescript": "^5.9.3"
36
- },
37
- "engines": {
38
- "node": ">=18.0.0"
39
- },
40
- "openclaw": {
41
- "extensions": [
42
- "dist/index.js"
43
- ]
44
- }
45
- }
1
+ {
2
+ "name": "openclaw-engram",
3
+ "version": "0.4.0",
4
+ "description": "OpenClaw plugin that connects to engram persistent memory server",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "scripts": {
8
+ "build": "tsc",
9
+ "typecheck": "tsc --noEmit",
10
+ "prepublishOnly": "npm run build"
11
+ },
12
+ "files": [
13
+ "dist/",
14
+ "openclaw.plugin.json",
15
+ "scripts/"
16
+ ],
17
+ "bin": {
18
+ "openclaw-engram-install": "scripts/install.sh"
19
+ },
20
+ "keywords": [
21
+ "openclaw",
22
+ "engram",
23
+ "memory",
24
+ "plugin"
25
+ ],
26
+ "repository": {
27
+ "type": "git",
28
+ "url": "https://github.com/thebtf/engram.git",
29
+ "directory": "plugin/openclaw-engram"
30
+ },
31
+ "license": "MIT",
32
+ "dependencies": {
33
+ "@sinclair/typebox": "^0.34.0",
34
+ "chokidar": "^4.0.3",
35
+ "zod": "^3.25.76"
36
+ },
37
+ "devDependencies": {
38
+ "@types/node": "^18.19.0",
39
+ "typescript": "^5.9.3"
40
+ },
41
+ "engines": {
42
+ "node": ">=18.0.0"
43
+ },
44
+ "openclaw": {
45
+ "extensions": [
46
+ "dist/index.js"
47
+ ]
48
+ }
49
+ }
@@ -0,0 +1,38 @@
1
+ #!/usr/bin/env bash
2
+ # Install openclaw-engram plugin into OpenClaw extensions directory.
3
+ # Usage: npx openclaw-engram-install
4
+ # or: bash <(curl -sL https://raw.githubusercontent.com/thebtf/engram/main/plugin/openclaw-engram/scripts/install.sh)
5
+
6
+ set -euo pipefail
7
+
8
+ EXTENSIONS_DIR="${OPENCLAW_EXTENSIONS_DIR:-${HOME}/.openclaw/extensions}"
9
+ PLUGIN_DIR="${EXTENSIONS_DIR}/engram"
10
+
11
+ echo "Installing openclaw-engram to ${PLUGIN_DIR}..."
12
+
13
+ mkdir -p "${PLUGIN_DIR}"
14
+ cd "${PLUGIN_DIR}"
15
+
16
+ # Create minimal package.json wrapper if not exists
17
+ if [ ! -f package.json ]; then
18
+ cat > package.json << 'WRAP'
19
+ {
20
+ "name": "openclaw-ext-engram",
21
+ "version": "1.0.0",
22
+ "private": true,
23
+ "description": "OpenClaw extension wrapper for openclaw-engram plugin",
24
+ "main": "node_modules/openclaw-engram/dist/index.js"
25
+ }
26
+ WRAP
27
+ fi
28
+
29
+ # Install the npm package (brings all runtime deps)
30
+ npm install openclaw-engram@latest --save 2>&1 | tail -3
31
+
32
+ # Symlink plugin manifest and dist to extension root (OpenClaw expects them here)
33
+ ln -sf node_modules/openclaw-engram/openclaw.plugin.json openclaw.plugin.json
34
+ ln -sf node_modules/openclaw-engram/dist dist
35
+
36
+ echo ""
37
+ echo "Installed openclaw-engram@$(node -p "require('openclaw-engram/package.json').version")"
38
+ echo "Restart gateway: openclaw gateway restart"