claude-mem-lite 2.1.2 → 2.1.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/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/.mcp.json +5 -3
- package/hooks/hooks.json +4 -11
- package/package.json +2 -1
- package/scripts/launch.mjs +22 -0
- package/scripts/setup.sh +6 -19
package/.mcp.json
CHANGED
package/hooks/hooks.json
CHANGED
|
@@ -1,22 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"description": "claude-mem-lite memory system hooks",
|
|
3
3
|
"hooks": {
|
|
4
|
-
"
|
|
4
|
+
"SessionStart": [
|
|
5
5
|
{
|
|
6
|
-
"matcher": "
|
|
6
|
+
"matcher": "startup|clear|compact",
|
|
7
7
|
"hooks": [
|
|
8
8
|
{
|
|
9
9
|
"type": "command",
|
|
10
10
|
"command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/setup.sh\"",
|
|
11
|
-
"timeout":
|
|
12
|
-
}
|
|
13
|
-
]
|
|
14
|
-
}
|
|
15
|
-
],
|
|
16
|
-
"SessionStart": [
|
|
17
|
-
{
|
|
18
|
-
"matcher": "startup|clear|compact",
|
|
19
|
-
"hooks": [
|
|
11
|
+
"timeout": 30
|
|
12
|
+
},
|
|
20
13
|
{
|
|
21
14
|
"type": "command",
|
|
22
15
|
"command": "node \"${CLAUDE_PLUGIN_ROOT}/hook.mjs\" session-start",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-mem-lite",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.4",
|
|
4
4
|
"description": "Lightweight persistent memory system for Claude Code",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -48,6 +48,7 @@
|
|
|
48
48
|
"skill.md",
|
|
49
49
|
"commands/mem.md",
|
|
50
50
|
"hooks/hooks.json",
|
|
51
|
+
"scripts/launch.mjs",
|
|
51
52
|
"scripts/setup.sh",
|
|
52
53
|
"scripts/post-tool-use.sh",
|
|
53
54
|
".claude-plugin/plugin.json",
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// launch.mjs — Auto-installs dependencies then starts MCP server
|
|
3
|
+
// Uses only Node built-ins so it works before npm install
|
|
4
|
+
import { execSync } from 'node:child_process';
|
|
5
|
+
import { existsSync } from 'node:fs';
|
|
6
|
+
import { dirname, join } from 'node:path';
|
|
7
|
+
import { fileURLToPath } from 'node:url';
|
|
8
|
+
|
|
9
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
10
|
+
const ROOT = process.env.CLAUDE_PLUGIN_ROOT || join(__dirname, '..');
|
|
11
|
+
|
|
12
|
+
if (!existsSync(join(ROOT, 'node_modules', 'better-sqlite3'))) {
|
|
13
|
+
process.stderr.write('[claude-mem-lite] Installing dependencies...\n');
|
|
14
|
+
execSync('npm install --omit=dev', {
|
|
15
|
+
cwd: ROOT,
|
|
16
|
+
stdio: ['ignore', 'pipe', 'inherit'], // stdout piped (discard), stderr inherit
|
|
17
|
+
timeout: 120_000,
|
|
18
|
+
});
|
|
19
|
+
process.stderr.write('[claude-mem-lite] Dependencies installed\n');
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
await import(new URL('../server.mjs', import.meta.url).href);
|
package/scripts/setup.sh
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
2
|
#
|
|
3
|
-
# claude-mem-lite
|
|
4
|
-
#
|
|
3
|
+
# claude-mem-lite SessionStart pre-hook
|
|
4
|
+
# Data directory setup and migrations (deps handled by launch.mjs)
|
|
5
5
|
#
|
|
6
6
|
|
|
7
7
|
set -euo pipefail
|
|
@@ -28,26 +28,13 @@ log_info() { echo -e "${BLUE}ℹ${NC} $*" >&2; }
|
|
|
28
28
|
log_warn() { echo -e "${YELLOW}⚠${NC} $*" >&2; }
|
|
29
29
|
log_err() { echo -e "${RED}✗${NC} $*" >&2; }
|
|
30
30
|
|
|
31
|
-
# 1.
|
|
32
|
-
if [[ ! -d "$ROOT/node_modules/better-sqlite3" ]]; then
|
|
33
|
-
log_info "Installing dependencies..."
|
|
34
|
-
if npm install --omit=dev --prefix "$ROOT" 2>&1; then
|
|
35
|
-
log_ok "Dependencies installed"
|
|
36
|
-
else
|
|
37
|
-
log_err "npm install failed"
|
|
38
|
-
exit 1
|
|
39
|
-
fi
|
|
40
|
-
else
|
|
41
|
-
log_ok "Dependencies up to date"
|
|
42
|
-
fi
|
|
43
|
-
|
|
44
|
-
# 2. Migrate unhidden dir (~/claude-mem-lite/ → ~/.claude-mem-lite/)
|
|
31
|
+
# 1. Migrate unhidden dir (~/claude-mem-lite/ → ~/.claude-mem-lite/)
|
|
45
32
|
if [[ -d "$OLD_UNHIDDEN_DIR" && ! -d "$DATA_DIR" ]]; then
|
|
46
33
|
mv "$OLD_UNHIDDEN_DIR" "$DATA_DIR"
|
|
47
34
|
log_ok "Migrated ~/claude-mem-lite/ → ~/.claude-mem-lite/"
|
|
48
35
|
fi
|
|
49
36
|
|
|
50
|
-
#
|
|
37
|
+
# 2. Ensure data directory exists (runtime created after migration check)
|
|
51
38
|
mkdir -p "$DATA_DIR"
|
|
52
39
|
log_ok "Data directory: $DATA_DIR"
|
|
53
40
|
|
|
@@ -68,7 +55,7 @@ if [[ -f "$OLD_DIR/claude-mem.db" && ! -f "$DATA_DIR/claude-mem-lite.db" && ! -f
|
|
|
68
55
|
fi
|
|
69
56
|
fi
|
|
70
57
|
|
|
71
|
-
#
|
|
58
|
+
# 4. Rename claude-mem.db → claude-mem-lite.db in same directory
|
|
72
59
|
if [[ -f "$DATA_DIR/claude-mem.db" && ! -f "$DATA_DIR/claude-mem-lite.db" ]]; then
|
|
73
60
|
mv "$DATA_DIR/claude-mem.db" "$DATA_DIR/claude-mem-lite.db"
|
|
74
61
|
mv "$DATA_DIR/claude-mem.db-wal" "$DATA_DIR/claude-mem-lite.db-wal" 2>/dev/null || true
|
|
@@ -76,7 +63,7 @@ if [[ -f "$DATA_DIR/claude-mem.db" && ! -f "$DATA_DIR/claude-mem-lite.db" ]]; th
|
|
|
76
63
|
log_ok "Database renamed: claude-mem.db → claude-mem-lite.db"
|
|
77
64
|
fi
|
|
78
65
|
|
|
79
|
-
#
|
|
66
|
+
# 5. Ensure runtime directory exists (after migration to not mask migration check)
|
|
80
67
|
mkdir -p "$DATA_DIR/runtime"
|
|
81
68
|
|
|
82
69
|
log_ok "claude-mem-lite ready"
|