hmem-mcp 5.0.0 → 5.1.21
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 +161 -214
- package/dist/cli-checkpoint.js +102 -40
- package/dist/cli-checkpoint.js.map +1 -1
- package/dist/cli-context-inject.d.ts +7 -6
- package/dist/cli-context-inject.js +27 -130
- package/dist/cli-context-inject.js.map +1 -1
- package/dist/cli-env.d.ts +16 -0
- package/dist/cli-env.js +40 -0
- package/dist/cli-env.js.map +1 -0
- package/dist/cli-hook-startup.d.ts +20 -0
- package/dist/cli-hook-startup.js +101 -0
- package/dist/cli-hook-startup.js.map +1 -0
- package/dist/cli-init.js +97 -188
- package/dist/cli-init.js.map +1 -1
- package/dist/cli-log-exchange.js +63 -3
- package/dist/cli-log-exchange.js.map +1 -1
- package/dist/cli-statusline.d.ts +14 -0
- package/dist/cli-statusline.js +172 -0
- package/dist/cli-statusline.js.map +1 -0
- package/dist/cli.js +18 -2
- package/dist/cli.js.map +1 -1
- package/dist/hmem-config.d.ts +10 -0
- package/dist/hmem-config.js +63 -13
- package/dist/hmem-config.js.map +1 -1
- package/dist/hmem-store.d.ts +30 -1
- package/dist/hmem-store.js +219 -48
- package/dist/hmem-store.js.map +1 -1
- package/dist/mcp-server.js +202 -75
- package/dist/mcp-server.js.map +1 -1
- package/package.json +1 -1
- package/scripts/autoresearch-nightly.sh +84 -0
- package/scripts/hmem-statusline.sh +4 -0
- package/skills/hmem-config/SKILL.md +112 -147
- package/skills/hmem-curate/SKILL.md +56 -6
- package/skills/hmem-new-project/SKILL.md +164 -0
- package/skills/hmem-read/SKILL.md +174 -146
- package/skills/hmem-release/SKILL.md +141 -0
- package/skills/hmem-self-curate/SKILL.md +49 -7
- package/skills/hmem-setup/SKILL.md +169 -87
- package/skills/hmem-sync-setup/SKILL.md +16 -3
- package/skills/hmem-update/SKILL.md +254 -0
- package/skills/hmem-wipe/SKILL.md +47 -21
- package/skills/hmem-write/SKILL.md +38 -14
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-hook-startup.js","sourceRoot":"","sources":["../src/cli-hook-startup.ts"],"names":[],"mappings":"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"}
|
package/dist/cli-init.js
CHANGED
|
@@ -220,15 +220,18 @@ function resolveMcpServerPath() {
|
|
|
220
220
|
// This file (cli-init.js) is in dist/ — mcp-server.js is a sibling
|
|
221
221
|
return path.join(path.dirname(new URL(import.meta.url).pathname), "mcp-server.js");
|
|
222
222
|
}
|
|
223
|
-
function standardMcpEntry(projectDir) {
|
|
223
|
+
function standardMcpEntry(projectDir, agentId) {
|
|
224
|
+
const env = {
|
|
225
|
+
HMEM_PROJECT_DIR: projectDir,
|
|
226
|
+
};
|
|
227
|
+
if (agentId)
|
|
228
|
+
env.HMEM_AGENT_ID = agentId;
|
|
224
229
|
return {
|
|
225
230
|
mcpServers: {
|
|
226
231
|
hmem: {
|
|
227
232
|
command: resolveNodePath(),
|
|
228
233
|
args: [resolveMcpServerPath()],
|
|
229
|
-
env
|
|
230
|
-
HMEM_PROJECT_DIR: projectDir,
|
|
231
|
-
},
|
|
234
|
+
env,
|
|
232
235
|
},
|
|
233
236
|
},
|
|
234
237
|
};
|
|
@@ -236,15 +239,18 @@ function standardMcpEntry(projectDir) {
|
|
|
236
239
|
/**
|
|
237
240
|
* Generates the MCP config entry for OpenCode (different schema).
|
|
238
241
|
*/
|
|
239
|
-
function opencodeMcpEntry(projectDir) {
|
|
242
|
+
function opencodeMcpEntry(projectDir, agentId) {
|
|
243
|
+
const env = {
|
|
244
|
+
HMEM_PROJECT_DIR: projectDir,
|
|
245
|
+
};
|
|
246
|
+
if (agentId)
|
|
247
|
+
env.HMEM_AGENT_ID = agentId;
|
|
240
248
|
return {
|
|
241
249
|
mcp: {
|
|
242
250
|
hmem: {
|
|
243
251
|
type: "local",
|
|
244
252
|
command: [resolveNodePath(), resolveMcpServerPath()],
|
|
245
|
-
environment:
|
|
246
|
-
HMEM_PROJECT_DIR: projectDir,
|
|
247
|
-
},
|
|
253
|
+
environment: env,
|
|
248
254
|
enabled: true,
|
|
249
255
|
timeout: 30000,
|
|
250
256
|
},
|
|
@@ -301,6 +307,8 @@ function parseInitFlags(args) {
|
|
|
301
307
|
flags["dir"] = args[++i];
|
|
302
308
|
else if (args[i] === "--no-example")
|
|
303
309
|
flags["no-example"] = "true";
|
|
310
|
+
else if (args[i] === "--agent-id" && args[i + 1])
|
|
311
|
+
flags["agent-id"] = args[++i];
|
|
304
312
|
}
|
|
305
313
|
return flags;
|
|
306
314
|
}
|
|
@@ -405,6 +413,38 @@ export async function runInit(args = []) {
|
|
|
405
413
|
}
|
|
406
414
|
}
|
|
407
415
|
}
|
|
416
|
+
// Step 4c: Agent ID
|
|
417
|
+
// Auto-detect from existing Agents/ directory, or ask interactively
|
|
418
|
+
let agentId;
|
|
419
|
+
if (nonInteractive) {
|
|
420
|
+
agentId = flags["agent-id"] || undefined;
|
|
421
|
+
}
|
|
422
|
+
else {
|
|
423
|
+
const agentsDir = path.join(absMemDir, "Agents");
|
|
424
|
+
const existingAgents = fs.existsSync(agentsDir)
|
|
425
|
+
? fs.readdirSync(agentsDir).filter(d => fs.statSync(path.join(agentsDir, d)).isDirectory())
|
|
426
|
+
: [];
|
|
427
|
+
if (existingAgents.length === 1) {
|
|
428
|
+
agentId = existingAgents[0];
|
|
429
|
+
console.log(`\n Auto-detected agent: ${agentId}`);
|
|
430
|
+
}
|
|
431
|
+
else if (existingAgents.length > 1) {
|
|
432
|
+
const agentIdx = await askChoice("Multiple agents found. Which one should the MCP server use?", existingAgents);
|
|
433
|
+
agentId = existingAgents[agentIdx];
|
|
434
|
+
}
|
|
435
|
+
else {
|
|
436
|
+
const inputId = await ask("\n Agent ID (name for your memory partition, e.g. 'DEVELOPER'; press Enter to skip): ");
|
|
437
|
+
agentId = inputId.trim() || undefined;
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
if (agentId) {
|
|
441
|
+
// Ensure agent directory exists
|
|
442
|
+
const agentDir = path.join(absMemDir, "Agents", agentId);
|
|
443
|
+
if (!fs.existsSync(agentDir)) {
|
|
444
|
+
fs.mkdirSync(agentDir, { recursive: true });
|
|
445
|
+
console.log(` Created agent directory: ${agentDir}`);
|
|
446
|
+
}
|
|
447
|
+
}
|
|
408
448
|
// Step 5: Write MCP configs
|
|
409
449
|
console.log("\n Writing MCP configuration...\n");
|
|
410
450
|
for (const toolId of selectedTools) {
|
|
@@ -420,8 +460,8 @@ export async function runInit(args = []) {
|
|
|
420
460
|
}
|
|
421
461
|
// Generate MCP entry
|
|
422
462
|
const entry = tool.format === "opencode"
|
|
423
|
-
? opencodeMcpEntry(absMemDir)
|
|
424
|
-
: standardMcpEntry(absMemDir);
|
|
463
|
+
? opencodeMcpEntry(absMemDir, agentId)
|
|
464
|
+
: standardMcpEntry(absMemDir, agentId);
|
|
425
465
|
// Read existing config (if any) and merge
|
|
426
466
|
let existing = {};
|
|
427
467
|
if (fs.existsSync(configPath)) {
|
|
@@ -489,167 +529,7 @@ export async function runInit(args = []) {
|
|
|
489
529
|
if (hookChoice === 0) {
|
|
490
530
|
const hooksDir = path.join(HOME, ".claude", "hooks");
|
|
491
531
|
fs.mkdirSync(hooksDir, { recursive: true });
|
|
492
|
-
//
|
|
493
|
-
const hmemBin = "hmem";
|
|
494
|
-
// --- Hook 1: UserPromptSubmit (startup + checkpoint reminder) ---
|
|
495
|
-
const startupScript = `#!/bin/bash
|
|
496
|
-
# hmem memory hook (installed by hmem init):
|
|
497
|
-
# - First message: remind agent to call read_memory()
|
|
498
|
-
# - Every N messages: remind agent to save knowledge (configurable)
|
|
499
|
-
# - Config: checkpointInterval (default 20, 0=off), checkpointMode ("remind"|"auto")
|
|
500
|
-
# - Subagents are skipped (they have parentUuid set)
|
|
501
|
-
|
|
502
|
-
INPUT=$(cat)
|
|
503
|
-
SESSION_ID=$(echo "$INPUT" | grep -o '"session_id":"[^"]*"' | head -1 | cut -d'"' -f4)
|
|
504
|
-
[ -z "$SESSION_ID" ] && SESSION_ID="global"
|
|
505
|
-
|
|
506
|
-
# Skip subagents
|
|
507
|
-
IS_SUBAGENT=$(echo "$INPUT" | grep -o '"parentUuid":"[^"]*"' | head -1)
|
|
508
|
-
[ -n "$IS_SUBAGENT" ] && exit 0
|
|
509
|
-
|
|
510
|
-
INTERVAL=20
|
|
511
|
-
MODE="remind"
|
|
512
|
-
for CFG in "$HOME/.hmem/hmem.config.json" "$HOME/.hmem/Agents/*/hmem.config.json"; do
|
|
513
|
-
if [ -f "$CFG" ]; then
|
|
514
|
-
VAL=$(grep -o '"checkpointInterval" *: *[0-9]*' "$CFG" 2>/dev/null | head -1 | grep -o '[0-9]*$')
|
|
515
|
-
[ -n "$VAL" ] && INTERVAL=$VAL
|
|
516
|
-
MVAL=$(grep -o '"checkpointMode" *: *"[^"]*"' "$CFG" 2>/dev/null | head -1 | grep -o '"[^"]*"$' | tr -d '"')
|
|
517
|
-
[ -n "$MVAL" ] && MODE=$MVAL
|
|
518
|
-
break
|
|
519
|
-
fi
|
|
520
|
-
done
|
|
521
|
-
|
|
522
|
-
COUNTER_FILE="/tmp/claude-hmem-counter-\${SESSION_ID}"
|
|
523
|
-
if [ -f "$COUNTER_FILE" ]; then COUNT=$(cat "$COUNTER_FILE"); else COUNT=0; fi
|
|
524
|
-
COUNT=$((COUNT + 1))
|
|
525
|
-
echo "$COUNT" > "$COUNTER_FILE"
|
|
526
|
-
|
|
527
|
-
if [ "$COUNT" -eq 1 ]; then
|
|
528
|
-
cat <<'HOOK_EOF'
|
|
529
|
-
{
|
|
530
|
-
"hookSpecificOutput": {
|
|
531
|
-
"hookEventName": "UserPromptSubmit",
|
|
532
|
-
"additionalContext": "IMPORTANT: This is the first message of the session. Before responding, call read_memory() (no parameters) to load your L1 memory overview. Do this silently."
|
|
533
|
-
}
|
|
534
|
-
}
|
|
535
|
-
HOOK_EOF
|
|
536
|
-
elif [ "$MODE" = "remind" ] && [ "$INTERVAL" -gt 0 ] && [ $((COUNT % INTERVAL)) -eq 0 ]; then
|
|
537
|
-
# Remind mode only — auto mode is handled by Stop hook (hmem log-exchange + hmem checkpoint)
|
|
538
|
-
cat <<'HOOK_EOF'
|
|
539
|
-
{
|
|
540
|
-
"hookSpecificOutput": {
|
|
541
|
-
"hookEventName": "UserPromptSubmit",
|
|
542
|
-
"additionalContext": "CHECKPOINT: AFTER responding to this message, you MUST save new knowledge from this session via write_memory or append_memory."
|
|
543
|
-
}
|
|
544
|
-
}
|
|
545
|
-
HOOK_EOF
|
|
546
|
-
fi
|
|
547
|
-
`;
|
|
548
|
-
// --- Hook 2: Stop — log-exchange (synchronous, every response) ---
|
|
549
|
-
const logExchangeScript = `#!/bin/bash
|
|
550
|
-
# hmem Stop hook (installed by hmem init):
|
|
551
|
-
# Logs every user/agent exchange to the active O-entry (session history).
|
|
552
|
-
# Reads Claude Code's Stop hook JSON from stdin and pipes it to hmem log-exchange.
|
|
553
|
-
# Also handles checkpoint reminders (every N messages, configurable).
|
|
554
|
-
|
|
555
|
-
export HMEM_PROJECT_DIR="\${HMEM_PROJECT_DIR:-$HOME/.hmem}"
|
|
556
|
-
|
|
557
|
-
# Auto-detect agent ID from Agents/ directory (first agent found)
|
|
558
|
-
if [ -z "$HMEM_AGENT_ID" ]; then
|
|
559
|
-
for D in "$HMEM_PROJECT_DIR"/Agents/*/; do
|
|
560
|
-
[ -d "$D" ] && export HMEM_AGENT_ID="\\$(basename "$D")" && break
|
|
561
|
-
done
|
|
562
|
-
fi
|
|
563
|
-
|
|
564
|
-
# Skip if hmem is not installed
|
|
565
|
-
command -v ${hmemBin} >/dev/null 2>&1 || exit 0
|
|
566
|
-
|
|
567
|
-
# Pass stdin through to hmem log-exchange (it reads the hook JSON)
|
|
568
|
-
exec ${hmemBin} log-exchange
|
|
569
|
-
`;
|
|
570
|
-
// --- Hook 3: Stop — title O-entries (async, Haiku) ---
|
|
571
|
-
const titleScript = `#!/bin/bash
|
|
572
|
-
# hmem Stop hook — async (installed by hmem init):
|
|
573
|
-
# Generates titles for untitled O-entries using Haiku.
|
|
574
|
-
# Finds O-entries titled "unassigned", reads their first exchanges,
|
|
575
|
-
# and asks Haiku for a one-line summary.
|
|
576
|
-
|
|
577
|
-
export PATH="$HOME/.bun/bin:$HOME/.nvm/versions/node/v24.14.0/bin:$HOME/.local/bin:$PATH"
|
|
578
|
-
export HOME="\${HOME:-/home/\$(whoami)}"
|
|
579
|
-
|
|
580
|
-
# Detect hmem database path
|
|
581
|
-
HMEM_DB=""
|
|
582
|
-
for DB in "$HOME/.hmem/Agents/"*"/"*.hmem; do
|
|
583
|
-
[ -f "$DB" ] && HMEM_DB="$DB" && break
|
|
584
|
-
done
|
|
585
|
-
[ -z "$HMEM_DB" ] && exit 0
|
|
586
|
-
|
|
587
|
-
# Find untitled O-entries
|
|
588
|
-
UNTITLED=$(node -e "
|
|
589
|
-
const D = require('better-sqlite3');
|
|
590
|
-
const db = new D('$HMEM_DB', {readonly:true});
|
|
591
|
-
const rows = db.prepare(\\"SELECT id FROM memories WHERE prefix = 'O' AND (title IS NULL OR title LIKE 'unassigned%' OR title = '') AND obsolete != 1\\").all();
|
|
592
|
-
for (const r of rows) console.log(r.id);
|
|
593
|
-
db.close();
|
|
594
|
-
" 2>/dev/null)
|
|
595
|
-
|
|
596
|
-
[ -z "$UNTITLED" ] && exit 0
|
|
597
|
-
|
|
598
|
-
for OID in $UNTITLED; do
|
|
599
|
-
EXCHANGES=$(node -e "
|
|
600
|
-
const D = require('better-sqlite3');
|
|
601
|
-
const db = new D('$HMEM_DB', {readonly:true});
|
|
602
|
-
const rows = db.prepare(\\"SELECT title, content FROM memory_nodes WHERE root_id = ? ORDER BY seq LIMIT 5\\").all('$OID');
|
|
603
|
-
for (const r of rows) {
|
|
604
|
-
const text = (r.title || r.content || '').substring(0, 80).replace(/\\n/g, ' ');
|
|
605
|
-
if (text.trim()) console.log(text);
|
|
606
|
-
}
|
|
607
|
-
db.close();
|
|
608
|
-
" 2>/dev/null)
|
|
609
|
-
|
|
610
|
-
[ -z "$EXCHANGES" ] && continue
|
|
611
|
-
|
|
612
|
-
TITLE=\$(claude -p --model haiku "Generate a concise one-line title (max 50 chars) summarizing this session. Reply with ONLY the title, nothing else. Topics discussed:
|
|
613
|
-
\$EXCHANGES" 2>/dev/null | head -1 | tr -d '"' | cut -c1-50)
|
|
614
|
-
|
|
615
|
-
[ -z "$TITLE" ] && continue
|
|
616
|
-
|
|
617
|
-
node -e "
|
|
618
|
-
const D = require('better-sqlite3');
|
|
619
|
-
const db = new D('$HMEM_DB');
|
|
620
|
-
db.prepare('UPDATE memories SET title = ? WHERE id = ?').run('\$TITLE', '$OID');
|
|
621
|
-
db.close();
|
|
622
|
-
" 2>/dev/null
|
|
623
|
-
|
|
624
|
-
done
|
|
625
|
-
`;
|
|
626
|
-
// --- Hook 4: SessionStart[clear] — context inject ---
|
|
627
|
-
const contextInjectScript = `#!/bin/bash
|
|
628
|
-
# hmem SessionStart hook (installed by hmem init):
|
|
629
|
-
# Re-injects project context after /clear.
|
|
630
|
-
# Reads session JSON from stdin and outputs additionalContext with project state.
|
|
631
|
-
|
|
632
|
-
export HMEM_PROJECT_DIR="\${HMEM_PROJECT_DIR:-$HOME/.hmem}"
|
|
633
|
-
|
|
634
|
-
# Skip if hmem is not installed
|
|
635
|
-
command -v ${hmemBin} >/dev/null 2>&1 || exit 0
|
|
636
|
-
|
|
637
|
-
# Pass stdin through to hmem context-inject
|
|
638
|
-
exec ${hmemBin} context-inject
|
|
639
|
-
`;
|
|
640
|
-
// Write all hook scripts
|
|
641
|
-
const hooks = [
|
|
642
|
-
{ name: "hmem-startup.sh", content: startupScript },
|
|
643
|
-
{ name: "hmem-log-exchange.sh", content: logExchangeScript },
|
|
644
|
-
{ name: "hmem-title-o-entries.sh", content: titleScript },
|
|
645
|
-
{ name: "hmem-context-inject.sh", content: contextInjectScript },
|
|
646
|
-
];
|
|
647
|
-
for (const h of hooks) {
|
|
648
|
-
const p = path.join(hooksDir, h.name);
|
|
649
|
-
fs.writeFileSync(p, h.content, { mode: 0o755 });
|
|
650
|
-
console.log(`\n [ok] Hook script: ${p}`);
|
|
651
|
-
}
|
|
652
|
-
// Register hooks in settings.json
|
|
532
|
+
// Register hooks in settings.json — direct hmem CLI commands (cross-platform, no bash needed)
|
|
653
533
|
const settingsPath = path.join(HOME, ".claude", "settings.json");
|
|
654
534
|
let settings = {};
|
|
655
535
|
try {
|
|
@@ -660,40 +540,57 @@ exec ${hmemBin} context-inject
|
|
|
660
540
|
settings.hooks = {};
|
|
661
541
|
// Helper: check if a hook command is already registered
|
|
662
542
|
const hasHookCmd = (event, match) => (settings.hooks[event] || []).some((h) => h.hooks?.some((hh) => hh.command?.includes(match)));
|
|
663
|
-
|
|
664
|
-
|
|
543
|
+
// Migration: remove old .sh-based hooks (replaced by cross-platform hmem CLI commands)
|
|
544
|
+
const migrateHook = (event, oldMatch) => {
|
|
545
|
+
if (settings.hooks[event]) {
|
|
546
|
+
const before = settings.hooks[event].length;
|
|
547
|
+
settings.hooks[event] = settings.hooks[event].filter((h) => !h.hooks?.some((hh) => hh.command?.includes(oldMatch)));
|
|
548
|
+
return settings.hooks[event].length !== before;
|
|
549
|
+
}
|
|
550
|
+
return false;
|
|
551
|
+
};
|
|
552
|
+
const migrated = migrateHook("UserPromptSubmit", "hmem-startup.sh") ||
|
|
553
|
+
migrateHook("Stop", "hmem-log-exchange.sh") ||
|
|
554
|
+
migrateHook("SessionStart", "hmem-context-inject.sh");
|
|
555
|
+
if (migrated) {
|
|
556
|
+
console.log(`\n [ok] Migrated old .sh hooks to cross-platform hmem commands`);
|
|
557
|
+
}
|
|
558
|
+
// Clean up old .sh hook scripts
|
|
559
|
+
for (const old of ["hmem-startup.sh", "hmem-log-exchange.sh", "hmem-context-inject.sh"]) {
|
|
560
|
+
const p = path.join(hooksDir, old);
|
|
561
|
+
if (fs.existsSync(p)) {
|
|
562
|
+
try {
|
|
563
|
+
fs.unlinkSync(p);
|
|
564
|
+
}
|
|
565
|
+
catch { }
|
|
566
|
+
}
|
|
567
|
+
}
|
|
568
|
+
let changed = migrated;
|
|
569
|
+
// UserPromptSubmit — startup + checkpoint (cross-platform Node.js)
|
|
665
570
|
if (!settings.hooks.UserPromptSubmit)
|
|
666
571
|
settings.hooks.UserPromptSubmit = [];
|
|
667
|
-
if (!hasHookCmd("UserPromptSubmit", "hmem-startup")) {
|
|
572
|
+
if (!hasHookCmd("UserPromptSubmit", "hmem hook-startup")) {
|
|
668
573
|
settings.hooks.UserPromptSubmit.push({
|
|
669
|
-
hooks: [{ type: "command", command:
|
|
574
|
+
hooks: [{ type: "command", command: "hmem hook-startup", timeout: 5 }],
|
|
670
575
|
});
|
|
671
576
|
changed = true;
|
|
672
577
|
}
|
|
673
|
-
// Stop — log-exchange (
|
|
578
|
+
// Stop — log-exchange (async — avoid blocking Claude with Node.js cold start)
|
|
674
579
|
if (!settings.hooks.Stop)
|
|
675
580
|
settings.hooks.Stop = [];
|
|
676
|
-
if (!hasHookCmd("Stop", "hmem
|
|
677
|
-
// Insert at beginning so it runs before title hook
|
|
581
|
+
if (!hasHookCmd("Stop", "hmem log-exchange")) {
|
|
678
582
|
settings.hooks.Stop.unshift({
|
|
679
|
-
hooks: [{ type: "command", command:
|
|
680
|
-
});
|
|
681
|
-
changed = true;
|
|
682
|
-
}
|
|
683
|
-
// Stop — title O-entries (async)
|
|
684
|
-
if (!hasHookCmd("Stop", "hmem-title-o-entries")) {
|
|
685
|
-
settings.hooks.Stop.push({
|
|
686
|
-
hooks: [{ type: "command", command: path.join(hooksDir, "hmem-title-o-entries.sh"), timeout: 30, async: true }],
|
|
583
|
+
hooks: [{ type: "command", command: "hmem log-exchange", timeout: 10, async: true }],
|
|
687
584
|
});
|
|
688
585
|
changed = true;
|
|
689
586
|
}
|
|
690
587
|
// SessionStart[clear] — context inject
|
|
691
588
|
if (!settings.hooks.SessionStart)
|
|
692
589
|
settings.hooks.SessionStart = [];
|
|
693
|
-
if (!hasHookCmd("SessionStart", "hmem
|
|
590
|
+
if (!hasHookCmd("SessionStart", "hmem context-inject")) {
|
|
694
591
|
settings.hooks.SessionStart.push({
|
|
695
592
|
matcher: "clear",
|
|
696
|
-
hooks: [{ type: "command", command:
|
|
593
|
+
hooks: [{ type: "command", command: "hmem context-inject", timeout: 10 }],
|
|
697
594
|
});
|
|
698
595
|
changed = true;
|
|
699
596
|
}
|
|
@@ -704,6 +601,18 @@ exec ${hmemBin} context-inject
|
|
|
704
601
|
else {
|
|
705
602
|
console.log(` [ok] All hooks already registered in settings.json`);
|
|
706
603
|
}
|
|
604
|
+
// --- Statusline: context window bar + active hmem project ---
|
|
605
|
+
if (!settings.statusLine) {
|
|
606
|
+
const statuslineSrc = path.join(import.meta.dirname, "..", "scripts", "hmem-statusline.sh");
|
|
607
|
+
const statuslineDst = path.join(hooksDir, "hmem-statusline.sh");
|
|
608
|
+
if (fs.existsSync(statuslineSrc)) {
|
|
609
|
+
fs.copyFileSync(statuslineSrc, statuslineDst);
|
|
610
|
+
fs.chmodSync(statuslineDst, 0o755);
|
|
611
|
+
settings.statusLine = { type: "command", command: `bash ${statuslineDst}` };
|
|
612
|
+
fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2), "utf-8");
|
|
613
|
+
console.log(` [ok] Statusline: ${statuslineDst}`);
|
|
614
|
+
}
|
|
615
|
+
}
|
|
707
616
|
}
|
|
708
617
|
}
|
|
709
618
|
console.log(`\n Done! Restart your AI tool(s) to activate hmem.\n`);
|
package/dist/cli-init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-init.js","sourceRoot":"","sources":["../src/cli-init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli-init.js","sourceRoot":"","sources":["../src/cli-init.ts"],"names":[],"mappings":"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"}
|
package/dist/cli-log-exchange.js
CHANGED
|
@@ -17,6 +17,7 @@ import path from "node:path";
|
|
|
17
17
|
import { spawn } from "node:child_process";
|
|
18
18
|
import { HmemStore, resolveHmemPath } from "./hmem-store.js";
|
|
19
19
|
import { loadHmemConfig } from "./hmem-config.js";
|
|
20
|
+
import { resolveEnvDefaults } from "./cli-env.js";
|
|
20
21
|
/** Read the last real user message from a JSONL transcript file.
|
|
21
22
|
* Only reads the last 500KB to avoid loading huge files into memory. */
|
|
22
23
|
function readLastUserMessage(transcriptPath) {
|
|
@@ -57,6 +58,42 @@ function readLastUserMessage(transcriptPath) {
|
|
|
57
58
|
}
|
|
58
59
|
return null;
|
|
59
60
|
}
|
|
61
|
+
/** Read the last assistant message from the transcript (fallback when hook input lacks it). */
|
|
62
|
+
function readLastAssistantMessage(transcriptPath) {
|
|
63
|
+
if (!fs.existsSync(transcriptPath))
|
|
64
|
+
return null;
|
|
65
|
+
const stat = fs.statSync(transcriptPath);
|
|
66
|
+
const TAIL_BYTES = 2 * 1024 * 1024;
|
|
67
|
+
const start = Math.max(0, stat.size - TAIL_BYTES);
|
|
68
|
+
const fd = fs.openSync(transcriptPath, "r");
|
|
69
|
+
const buf = Buffer.alloc(Math.min(stat.size, TAIL_BYTES));
|
|
70
|
+
fs.readSync(fd, buf, 0, buf.length, start);
|
|
71
|
+
fs.closeSync(fd);
|
|
72
|
+
const content = buf.toString("utf8");
|
|
73
|
+
const lines = start > 0 ? content.substring(content.indexOf("\n") + 1).split("\n") : content.split("\n");
|
|
74
|
+
for (let i = lines.length - 1; i >= 0; i--) {
|
|
75
|
+
const line = lines[i].trim();
|
|
76
|
+
if (!line)
|
|
77
|
+
continue;
|
|
78
|
+
try {
|
|
79
|
+
const entry = JSON.parse(line);
|
|
80
|
+
if (entry.type === "assistant" && entry.message?.role === "assistant") {
|
|
81
|
+
const msg = entry.message.content;
|
|
82
|
+
if (typeof msg === "string")
|
|
83
|
+
return msg;
|
|
84
|
+
if (Array.isArray(msg)) {
|
|
85
|
+
const text = msg.filter((b) => b.type === "text").map((b) => b.text).join("\n");
|
|
86
|
+
if (text)
|
|
87
|
+
return text;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
catch {
|
|
92
|
+
continue;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return null;
|
|
96
|
+
}
|
|
60
97
|
/** Auto-extract a short title from text (first line, max 80 chars). */
|
|
61
98
|
function extractTitle(text) {
|
|
62
99
|
const firstLine = text.split("\n")[0].trim().replace(/[<>\[\]]/g, "");
|
|
@@ -75,17 +112,34 @@ export async function logExchange() {
|
|
|
75
112
|
catch {
|
|
76
113
|
process.exit(0);
|
|
77
114
|
}
|
|
115
|
+
// Resolve env defaults (HMEM_PROJECT_DIR, HMEM_AGENT_ID)
|
|
116
|
+
resolveEnvDefaults();
|
|
78
117
|
// Guards
|
|
79
118
|
if (input.stop_hook_active)
|
|
80
119
|
process.exit(0);
|
|
81
|
-
if (
|
|
120
|
+
if (process.env.HMEM_NO_SESSION === "1")
|
|
121
|
+
process.exit(0);
|
|
122
|
+
if (!input.transcript_path)
|
|
123
|
+
process.exit(0);
|
|
124
|
+
// Fallback: if last_assistant_message is missing (e.g. channel sessions),
|
|
125
|
+
// read it from the transcript
|
|
126
|
+
if (!input.last_assistant_message && input.transcript_path) {
|
|
127
|
+
input.last_assistant_message = readLastAssistantMessage(input.transcript_path) || "";
|
|
128
|
+
}
|
|
129
|
+
if (!input.last_assistant_message)
|
|
130
|
+
process.exit(0);
|
|
131
|
+
// Skip subagent sessions — their transcripts are in /tmp/claude-* task directories
|
|
132
|
+
// and contain MCP tool calls, not real user conversation
|
|
133
|
+
if (input.transcript_path && input.transcript_path.includes("/tasks/"))
|
|
82
134
|
process.exit(0);
|
|
83
135
|
const userMessage = readLastUserMessage(input.transcript_path);
|
|
84
136
|
if (!userMessage)
|
|
85
137
|
process.exit(0);
|
|
86
|
-
// Skip empty exchanges
|
|
138
|
+
// Skip empty exchanges and internal hook prompts
|
|
87
139
|
if (userMessage.length < 2)
|
|
88
140
|
process.exit(0);
|
|
141
|
+
if (userMessage.startsWith("Generate a concise one-line title"))
|
|
142
|
+
process.exit(0);
|
|
89
143
|
// Open hmem store
|
|
90
144
|
const projectDir = process.env.HMEM_PROJECT_DIR || process.env.COUNCIL_PROJECT_DIR;
|
|
91
145
|
if (!projectDir)
|
|
@@ -98,6 +152,12 @@ export async function logExchange() {
|
|
|
98
152
|
const hmemConfig = loadHmemConfig(path.dirname(hmemPath));
|
|
99
153
|
const store = new HmemStore(hmemPath, hmemConfig);
|
|
100
154
|
try {
|
|
155
|
+
// Auto-purge irrelevant entries older than 30 days (~1% chance per exchange to avoid overhead)
|
|
156
|
+
if (Math.random() < 0.01) {
|
|
157
|
+
const purged = store.purgeIrrelevant(30);
|
|
158
|
+
if (purged > 0)
|
|
159
|
+
console.error(`[hmem] purged ${purged} irrelevant entries`);
|
|
160
|
+
}
|
|
101
161
|
// Find or create active O-entry
|
|
102
162
|
const activeOId = store.getActiveO();
|
|
103
163
|
// appendExchange stores raw text without newline parsing
|
|
@@ -109,7 +169,7 @@ export async function logExchange() {
|
|
|
109
169
|
const exchangeCount = store.countDirectChildren(activeOId);
|
|
110
170
|
if (exchangeCount > 0 && exchangeCount % saveInterval === 0) {
|
|
111
171
|
if (checkpointMode === "auto") {
|
|
112
|
-
// Spawn background checkpoint — Haiku extracts L/D/E +
|
|
172
|
+
// Spawn background checkpoint — Haiku extracts L/D/E + titles + P-updates
|
|
113
173
|
const child = spawn("hmem", ["checkpoint"], {
|
|
114
174
|
detached: true,
|
|
115
175
|
stdio: "ignore",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-log-exchange.js","sourceRoot":"","sources":["../src/cli-log-exchange.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli-log-exchange.js","sourceRoot":"","sources":["../src/cli-log-exchange.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* cli-statusline.ts
|
|
3
|
+
*
|
|
4
|
+
* Generates Claude Code statusline output.
|
|
5
|
+
* Reads JSON from stdin (Claude Code statusline protocol),
|
|
6
|
+
* queries hmem DB for active project, outputs formatted line.
|
|
7
|
+
*
|
|
8
|
+
* Usage: cat | hmem statusline
|
|
9
|
+
*
|
|
10
|
+
* The shell script wrapper becomes a one-liner:
|
|
11
|
+
* #!/bin/bash
|
|
12
|
+
* cat | hmem statusline
|
|
13
|
+
*/
|
|
14
|
+
export declare function statusline(): Promise<void>;
|