{"_id":"claude-memory-hub","_rev":"48-4503880c12a5c8a9b8cfacef9e32071d","name":"claude-memory-hub","dist-tags":{"latest":"0.18.3"},"versions":{"0.4.0":{"name":"claude-memory-hub","version":"0.4.0","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.4.0","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"339823b5cf24c0f7e3da5fe87c3ffc6d350ea3b6","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.4.0.tgz","fileCount":11,"integrity":"sha512-vlwa0invET5Mf2Q44/EkOspgVYi3AcyST+Y2A4yEO6GsZdC2ghD10XodHl87ZfXdE0jcOd/eGGd137spSMRH4A==","signatures":[{"sig":"MEUCIAnyJiF4xXNXvcO+LUM1TOxeCpsYb24JGR99+S+q8GIgAiEA7OttfrgBu5p8553CVQOBhc9Bm6IAtuVBEM/fzBCuqXg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":675473},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"547e4ce5df1cb915fc5190a3a9e052f7ae5b5e3d","scripts":{"dev":"bun run --watch src/index.ts","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js","prepublishOnly":"bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 5 hooks + MCP server + SQLite FTS5.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.4.0_1775030040511_0.1289991793327494","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"claude-memory-hub","version":"0.5.0","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.5.0","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"5bc9ce47ed1388c983855243b719255da69c206e","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.5.0.tgz","fileCount":11,"integrity":"sha512-BPODsIPY1l7G8M6z6Ee87hn9sOBnyS6FTOe56oSKEz+et5UtNm2coNK+ckXdPlYitv5SiyI2YdiSkKr6OCnX/Q==","signatures":[{"sig":"MEQCIBYBxmRbhALvCGeqjagkk4z3Kax5eXIWjusf4ctczst9AiBJPyaAHrQ/9kDJIBZpUGRMy2+PlZsIHcDYz+vMGQmysg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":773223},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"57305dee94f313229cef7863a907c23ef2c01115","scripts":{"dev":"bun run --watch src/index.ts","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 5 hooks + MCP server + SQLite FTS5.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.5.0_1775034956124_0.11969513959327172","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"claude-memory-hub","version":"0.5.1","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.5.1","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"a3428fe6062903545fc3f253b6af7191afc9f9aa","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.5.1.tgz","fileCount":11,"integrity":"sha512-WKTvrdPigxfCuDoekWjbqKG/LD8JsN+FoimpaiG4fcAtlsGrhT6gTRiDKVcZRk7UblWUXPMQ9/S8mFR88bC72A==","signatures":[{"sig":"MEYCIQCAWOtjrIc3fHyMY6Ppz2/tC5ZEUm77jLAWFM2KsaAF4AIhAPEJXLZnbiXkMkLjWFlw9q+zP2Sudmim+hLtieGQZxqQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":779535},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"7e6213946152eb9bf63b0a45afa74ac79778cef2","scripts":{"dev":"bun run --watch src/index.ts","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 5 hooks + MCP server + SQLite FTS5.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.5.1_1775036137360_0.6086603045872554","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"claude-memory-hub","version":"0.5.2","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.5.2","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"8ba2364ec90ad418200bc42392457cfc9ff3392f","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.5.2.tgz","fileCount":11,"integrity":"sha512-O10X66ZRNN2ymql1HX4Tdwti+axUJK/27PbHnbAaD4KGcAf9jFRK0l+QUiVIGwEu7uI+rWpPXasbQV9dS2Uh9Q==","signatures":[{"sig":"MEYCIQDc0b3TrlTrj4WZcRr9n8FMMKENrRaVX0zl+JdxtoIGKgIhALCLLVoYlQ2lb5GIhlEMLRJZtlmKZWRahm36pOCEoB2f","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.5.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":780881},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"289183aab873b7b7daa4a03285848116b1c24cdd","scripts":{"dev":"bun run --watch src/index.ts","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 5 hooks + MCP server + SQLite FTS5.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.5.2_1775036985765_0.9281359542087313","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"claude-memory-hub","version":"0.6.0","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.6.0","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"b93018786a26da8801f04c2c88fb4d74c83a1f2e","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.6.0.tgz","fileCount":11,"integrity":"sha512-vzyqS+YFyKguSowXQuLAwsDwvfolgnHunT1JFb7HgI9L6LiVoJzWYchP5LCVWef+x/a50Pnj6u39qN7yDPxy/g==","signatures":[{"sig":"MEUCIQCebccJDpdZ4lT350EwH4a2Ip/CawSKUonYk7CBGhfWBAIgWn55UaB4ReJ+T1YXJAW4dNQOQ1Fu3F9uSZ8Hk37FcOQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":995386},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"1410fbf6b00dd684b7b7dca7aed6a44ee0b90469","scripts":{"dev":"bun run --watch src/index.ts","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 5 hooks + MCP server + SQLite FTS5 + semantic search.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.6.0_1775059447276_0.4006914479030912","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"claude-memory-hub","version":"0.8.0","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.8.0","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"37f5934372837d329b34804b448d7a9aa0b9ef4f","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.8.0.tgz","fileCount":11,"integrity":"sha512-wEWV5zyTYzACZOxKDDO4jMyIF8Qq44BE2FphMY37EKnFBklkB0cPwiWkYjBkTJLRD7Xd2cf10obT4kewJh70oQ==","signatures":[{"sig":"MEQCIANOo66peKu35d06dJiTfSnqK7I/0cjC4l9+MCyk9KIRAiAfKokazXjA6Ss4SVcrXsRSMQUTkexwrwthyWhC5MDGeA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1030798},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"7daf571e7e2041a0ab1955167ba8c119ce63ffe9","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 5 hooks + MCP server + SQLite FTS5 + semantic search.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.8.0_1775093860389_0.39722556048069535","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"claude-memory-hub","version":"0.8.1","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.8.1","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"5c2c5c0f2e8cd286331985cf00ba9c6f507dbfba","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.8.1.tgz","fileCount":11,"integrity":"sha512-6OxtHxctrNp7yYvMzqzKwH6nBX9KJCLUg49djIY8jPSY5TawdUlI4mGboOrjlIU3BS12Xc1ZTDLEFNCHQ0Pzvg==","signatures":[{"sig":"MEQCIA2czgd84e9qSG7RzH2YQ7D4lBDxHEMI1y4nUvcy5nggAiB/6TfjuQuF8DP+bk9j3CKtlPofKBk1IX0DgzmVL0Ytxw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1046238},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"0b75d6991c89f852f3096f6b8ba91333266a7b8a","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 5 hooks + MCP server + SQLite FTS5 + semantic search.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.8.1_1775095583740_0.5584849394831728","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"claude-memory-hub","version":"0.8.2","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.8.2","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"47b131f8230f69b820c7e10a938d074e60afdea2","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.8.2.tgz","fileCount":11,"integrity":"sha512-J7Jah27knOYY6ZbT4PAX1zHIBvxROo4FC9YX8RsYB0g0xZten/Pek0x/hOP4DccFGkjat5QpHZRPEfGZfv8+Dg==","signatures":[{"sig":"MEYCIQCAqNnQAxvSWtDcbSlmK5q68rXKhN3BEy+oYPn/znBKPAIhAPy7j7vRaxRoBq/4ZLCkMMmSSgDHJFIQYxjLOJVIo3Qt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.8.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1047978},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"bbabdf0cb6d25e950690aa26366de6beadcbf30f","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 5 hooks + MCP server + SQLite FTS5 + semantic search.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.8.2_1775098566956_0.5684406020852544","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"claude-memory-hub","version":"0.9.0","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.9.0","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"9217cc28ef77aa7b08ec89330fa7a79fc8889b56","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.9.0.tgz","fileCount":11,"integrity":"sha512-mN+L58Phl6NQSM9QUFwgVTlSg9eyA5lcrwAj01t/ZdQunj9P+B9nPoSTv+1D6O3al9scechPYgxA7UVPhCG8yQ==","signatures":[{"sig":"MEUCIAyb2m9umybPPffMwORJ4M/dLAdJZzgjEqTBkoRSNkI0AiEAw3g6IxhBcW4vSwH+sT0IYZ3E0iyYDy1oe1CCxb5fkLA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1060479},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"ef6a8cb95740e76219ea451103659ea3bfc8ffc5","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 5 hooks + MCP server + SQLite FTS5 + semantic search.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.9.0_1775106834706_0.19383519042190112","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"claude-memory-hub","version":"0.9.1","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.9.1","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"6d868f3e8beb43dc03275faef9933c31976010e6","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.9.1.tgz","fileCount":11,"integrity":"sha512-3GwVkOMWtUlc3fSTmuwfqmIei00tw7VoZ/Dh0s+vq+6fy/KkQyFx565sSdEeMlMGfJwpIAbHuVTJ5od39roXOg==","signatures":[{"sig":"MEYCIQCalwpqL4zhrH2KW6m2/jI0Scz0f8M00HAWwe7Ij6QqmgIhALjdIvQpbq0UpQL7q9LF+UpXyOohef/IPqmIye53hSes","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.9.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1062000},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"75aac0b87d912c83e65fb8c8a1ae6a28577295c9","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 5 hooks + MCP server + SQLite FTS5 + semantic search.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.9.1_1775108314180_0.880299400604657","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"claude-memory-hub","version":"0.9.2","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.9.2","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"4df0c9350ab67fceaee4dfe09860004cf98763a7","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.9.2.tgz","fileCount":11,"integrity":"sha512-1A6jorutdF7N1b2i66Q0S290pvAm1VmxQsSfRTiDRPrbfWsinICdQQbzsgM+5JBpd5xhC3S93erKF1r2g/LhKA==","signatures":[{"sig":"MEQCIBWQoM2wYRLgehwAaeNEkEw3y1wrbeb9DZ7ay2RzevE+AiB3X0dPeJYwBmQ0fspoivZuEsEF+XqMhj0E8GFbXH1SpQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.9.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1062639},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"b976c4b4fd0bcc9a20fba08ccc248b9254ead8db","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 5 hooks + MCP server + SQLite FTS5 + semantic search.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.9.2_1775112130789_0.756715181007446","host":"s3://npm-registry-packages-npm-production"}},"0.9.4":{"name":"claude-memory-hub","version":"0.9.4","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.9.4","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"6a79a9f425628ae450d0141127d7bb1032f0cbda","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.9.4.tgz","fileCount":11,"integrity":"sha512-2gnpHljwzoIYXxnjKhcaTnl2GUm8Jv3YPY2nm/ory/ykKtBRZmiRSKLkqJ5iffYwQljxou+AeD44tBnA3ETRwQ==","signatures":[{"sig":"MEQCIBAWgAJhfMHsVX+lky9lBC65EmIoSl9K8+epQia9prJSAiBtLX95UcwAeGWAFYcdWjPRGkOge2kMpSbjbzMWh53oww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.9.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1070384},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"70c63f6d1ed24e8ea8045f63113330e731006dfc","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 5 hooks + MCP server + SQLite FTS5 + semantic search.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.9.4_1775113026919_0.9848881003456134","host":"s3://npm-registry-packages-npm-production"}},"0.9.5":{"name":"claude-memory-hub","version":"0.9.5","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.9.5","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"c8f5ecb32230cae3dfbdf423630b153653966137","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.9.5.tgz","fileCount":11,"integrity":"sha512-7EOFHBsFXA8Mrctm50HPyOtcWhA4y6bJ3IX+kxDPj0XzrYs2ZQjtPL0g8SPJaUBoTuQaycBjqRO4jkrkgqVQuQ==","signatures":[{"sig":"MEYCIQCuaskqGkyT95iHA1/8B6D9R17xcUAF57JEbTreUO0ZzgIhAI4a+5AfESFRXS95xw8anxxveSJYz3ssc77tMswIvDSZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.9.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1075191},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"ff2dcf201d1629e3caa6a2949b7f699b7dbe0235","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 5 hooks + MCP server + SQLite FTS5 + semantic search.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.9.5_1775184306251_0.08666189805875124","host":"s3://npm-registry-packages-npm-production"}},"0.9.6":{"name":"claude-memory-hub","version":"0.9.6","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.9.6","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"ce22d5790f43d992925b48c54ac979e9fbe19aee","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.9.6.tgz","fileCount":11,"integrity":"sha512-BkEbBR1EUhu1Ypesi1FnmC2qshDorOjm9Nr18IaKBUTrOflmMrprGeJgtFqVfm1iiaXPRoFnjfp7wM+uI9/K2Q==","signatures":[{"sig":"MEUCIDvt/G5kqunfRKqSE0dk2hwMKm6VmEZW55TaQmijfcCWAiEAwoS2Hwupx70q/3HTvBlfh22rvdDwK92o7wxOWil0jpc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.9.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1087921},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"746e70392c9750856305a3f6e3c5037d5af9bf59","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 5 hooks + MCP server + SQLite FTS5 + semantic search.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.9.6_1775186201747_0.623431452475252","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"claude-memory-hub","version":"0.10.0","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.10.0","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"a80a9fb01b758fbb07a2224c3d293d6fd6d9e95a","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.10.0.tgz","fileCount":11,"integrity":"sha512-OmQE1tQ841yHQbZ/bsnXl+AjR64rfWU7tCZSOXhhAjSuNb94TofmhVoKA7y1yQ1tHMgNDiIXVkMcJHHJKf7ZOg==","signatures":[{"sig":"MEQCIHKrEgkTmMg46QBAuOqWeEzlL/+orIfDrdXVFYcor5DNAiAVzJkYgpLnw0q/bTvopQDgzJxYJJvVbBth0tJM8tCTEQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1127997},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"72666ec16512cf3485982ad91c69aa9b6524eaea","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 5 hooks + MCP server + SQLite FTS5 + semantic search.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.10.0_1775194262926_0.45510367623981884","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"claude-memory-hub","version":"0.11.0","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.11.0","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"23436ac5972d444bd1b90edb6e8643e880701fb2","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.11.0.tgz","fileCount":11,"integrity":"sha512-Wxh8tDpvhsF/SkXCT+zRXnh0MFh63g+eMN4Y1qjsCujXh0GZLQuBWpPKgSsXGlOjmhG9yIUvU9WHPoZjL5B8ww==","signatures":[{"sig":"MEYCIQDIMTAw7rvWF+qNQqhU3mrukWy52f8AxVlffUkBoQjGGwIhANwksLbh/gdTLBtPwa7HPkG8ddyW21SJmJES/iyaonMm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1168392},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"dbc8a1a7ee19c0c23c7af619c9a9426fe430cbae","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 5 hooks + MCP server + SQLite FTS5 + semantic search.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.11.0_1775198516469_0.887790362231188","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"claude-memory-hub","version":"0.11.1","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.11.1","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"8e9b530ee6d4b9c43c58a9062f2310ddbb8a392d","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.11.1.tgz","fileCount":11,"integrity":"sha512-bCQUE9GNCGBmWJB7G2yPmfx9fEZMJBCLIYGYv9r1tYttQjY6+LRCjfjpYhvrEeUndHw3o5VIp7U46n3OEjyqDA==","signatures":[{"sig":"MEQCIFihr1cTji+a1C7i0NzMHDTilODDWaJRbj+rlS0R/v7mAiABlA1sbt+5fmN2CcvMiKKR8KJV8r2cKonrNhpuzEaHfw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.11.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1170775},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"84a62fcb1b25b00151ee1a5cd7aca3922012b3e2","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 5 hooks + MCP server + SQLite FTS5 + semantic search.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.11.1_1775199633706_0.444875913270252","host":"s3://npm-registry-packages-npm-production"}},"0.11.2":{"name":"claude-memory-hub","version":"0.11.2","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.11.2","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"cf0bb3b4bc726ca3be4c4e065ff73ac8a3c6618e","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.11.2.tgz","fileCount":11,"integrity":"sha512-cj6OYuIXlP2zGob0tt8vAz7fe/KmOi0AFUjGFHwRlgA6P0OW/Yx0T/kMZx5cX6ZsG1bJBBkUxcAfpYR9ZdU/Kg==","signatures":[{"sig":"MEUCIQD8MX6rft1is7rJKcmDHe2wJA4NVSJr/2AOsWWj9TJTEwIgMnMdPsLz3wxE93yazRXbMXhjqXYgT9jMDMINV/JhChI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.11.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1168105},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"751ac80a43d2b38418d94a72ff0d6e86f3d47ed3","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 5 hooks + MCP server + SQLite FTS5 + semantic search.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.11.2_1775224022417_0.19983388447045636","host":"s3://npm-registry-packages-npm-production"}},"0.11.3":{"name":"claude-memory-hub","version":"0.11.3","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.11.3","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"30feb1493c7246f9ec88cf0c0029bc974e9d6376","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.11.3.tgz","fileCount":11,"integrity":"sha512-fXR2KhlkYVvQVE22abNfiyvJpgx26ncmtkPqzkeLv92hTsfD7L0Bh+i6+gsK95k3NtsoUgE4tLy1/y3ope/iWg==","signatures":[{"sig":"MEQCICDP+U2B6cB7OoWOsiCL1gVWm5MVJxlTqdV1CAWdhkDSAiAuZnrhpib0JmsOmAaXhqY/nnDgDJz6gAcjY081d8Glzw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.11.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1173070},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"d44ce95f7dac09e69ba333171b846a3ac9bc64df","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 5 hooks + MCP server + SQLite FTS5 + semantic search.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.11.3_1775227038604_0.7424447568697226","host":"s3://npm-registry-packages-npm-production"}},"0.11.4":{"name":"claude-memory-hub","version":"0.11.4","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.11.4","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"741dc0813486a40af636362141db7624fd9f93be","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.11.4.tgz","fileCount":14,"integrity":"sha512-V3Y5F5945wZZ0vaECRot3iJJfzcIjEFZPODYaYxqnAp/UklDLHbEzhg2CkUpJypfBOameqV3IVbL5l4SUz33mw==","signatures":[{"sig":"MEYCIQDupmIgLBmFFhylmlxedUYGl53eWmtFlfPrHdJrJBb2CwIhANuyCvpVsep3B1ifb+YeBu2kFLPdX16DIAJxsMXZFd/x","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.11.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1177815},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"d21c5f947004491c0c733bde1bd951e2a7e930a1","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 5 hooks + MCP server + SQLite FTS5 + semantic search.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.11.4_1775228124891_0.1014051051659588","host":"s3://npm-registry-packages-npm-production"}},"0.11.5":{"name":"claude-memory-hub","version":"0.11.5","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.11.5","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"71e568922a50c59f5dc0f5ed18d19174df15872e","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.11.5.tgz","fileCount":14,"integrity":"sha512-9XZGXXNHoOGLHKnz6JoD2HU7zHMHqDPXzGMfUfEkvyJCVO+ckuIOQLkyy8udZR3NGYwG+r57gDItXlca0+91Xw==","signatures":[{"sig":"MEYCIQDf2qmQxb1Z8+z91isx1SyXrqVlG2qDowJ4AjVHkGVxlwIhAKuZKJoJOdMZzrCqyf4haF6z8lESkabU/6HBpVgj7bZr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.11.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1185649},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"caf4b5ec7d65361acca026ced04445a42fbc5420","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 5 hooks + MCP server + SQLite FTS5 + semantic search.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.11.5_1775441166449_0.8931085853138236","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"claude-memory-hub","version":"0.12.0","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.12.0","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"ca434009c5da7a2d22da62bda4fa404c3f14d12e","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.12.0.tgz","fileCount":14,"integrity":"sha512-p8jdXlyEl17xYfCnK26EYTlQTkoNCbGq4m1yM4YIAw9pbgu3sFTu9Ds3U+r3vcwA4F6mgpznIWbfccg3rqBp1A==","signatures":[{"sig":"MEUCIQDJltFQadmrnCByjIQgaReB3dIyCyYKc3XPwreAWZs9AAIgR5tew/0DbnUQFmzHI5EAkJfjYPkS1VMm4rvPCEdcaTA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1196280},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"b3b0b8003e05c4829fe40de1fb16297797feb4b0","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 5 hooks + MCP server + SQLite FTS5 + semantic search.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.12.0_1778063281825_0.4164299879214397","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"claude-memory-hub","version":"0.13.0","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.13.0","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"9b48ae4cb39c1223be7ff37945a9093c7a3043b9","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.13.0.tgz","fileCount":14,"integrity":"sha512-2V3gqnBdXWE5t66oSFjnAXi6xAsqmEHQ6WsrLnW54XTCVPb01hcy19i/IPgO2Anb5VSSTpEMF73kxfkPO8Ox8Q==","signatures":[{"sig":"MEUCIHeFYW2dwwHtWZ+1QoGt65rzaJGwQjmubPpZ3ggN/GtRAiEApvERCv6c3Zn2MqtWh/x9evGl6ibbS7Aa54tlaEDecY0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1370862},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"7f6214eae62dccf5f78defc725e7e0b5d36c94f2","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 5 hooks + MCP server + SQLite FTS5 + semantic search.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.13.0_1778064565798_0.863374893703887","host":"s3://npm-registry-packages-npm-production"}},"0.13.1":{"name":"claude-memory-hub","version":"0.13.1","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.13.1","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"5fb590d28f62f4b0612aa3569f10c1262792171b","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.13.1.tgz","fileCount":14,"integrity":"sha512-u3GadjwEz/8elNRv4gDU8gaogd5IHmcGHXodE1hitjtI40vgdWOHXmtWqepWPR2TPIr4JjGewc+cnlAaIE4mUw==","signatures":[{"sig":"MEQCIBTTQyqeVpmDkej/nN3ynVZvKvqHY03oVk2CSB+sszoZAiA5pYFPzrIoqT1EZnMWyaplDSGwhEiDQkKRlbVujkFERg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.13.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1380534},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"853a41c8a06c920d50794e34397dfae20d1a217d","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 5 hooks + MCP server + SQLite FTS5 + semantic search.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.13.1_1778065278452_0.7971284425848373","host":"s3://npm-registry-packages-npm-production"}},"0.13.2":{"name":"claude-memory-hub","version":"0.13.2","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.13.2","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"0ec6f0e5732399ec71e264071e42271233aea74d","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.13.2.tgz","fileCount":14,"integrity":"sha512-iq3y8t5hdtHTQMIgdSs9bifRRZyrLJ0gHyejVknMetFc1gswPbjd5kPfYWzETxFlKngvP5XuJOICbs93n1UKmw==","signatures":[{"sig":"MEQCID0Mh2IL63o/gwywvFe6z47Lac0+e5dSCNjl2goRVMypAiBo3YJCy3sqz7LIbewsTRFTeX2RuXUUCS1A4uHtHW1QEA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.13.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1394043},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"aff87a8354f8164692157d8ddf205588109ff22b","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 5 hooks + MCP server + SQLite FTS5 + semantic search.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.13.2_1778084423360_0.14408972199225856","host":"s3://npm-registry-packages-npm-production"}},"0.13.3":{"name":"claude-memory-hub","version":"0.13.3","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.13.3","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"c8ea0bba103b97f5fc0acc9b4d6334eaac917cf3","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.13.3.tgz","fileCount":14,"integrity":"sha512-RaFLM6DV2h54h9qPy5VGNRenDgFP3WloSWp4z8TbhsvXYO1g6InfwKQ6ocNTZewEy0H8qSD+WCRGhh3Wv8Cw+Q==","signatures":[{"sig":"MEUCIQDl7jOVPRKDOu0TZ+ujEDMlXx48Y7Oha591GMhASy0NbgIgdr5K0exY9oKDuLuk6tvzQ/o305tTJjtJODeOpzPK79Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.13.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1424934},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"9542a22610011de37ce22f8a3fdbfda00f6794eb","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 5 hooks + MCP server + SQLite FTS5 + semantic search.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.13.3_1778123825836_0.5732345789013942","host":"s3://npm-registry-packages-npm-production"}},"0.13.4":{"name":"claude-memory-hub","version":"0.13.4","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.13.4","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"239966e05f4d645d61f96605f6390cdeb6e82185","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.13.4.tgz","fileCount":14,"integrity":"sha512-84dDr/JinTjf/bgs0uBosMly+qpP85S6xXXu0cmpjCCn0Wdm7rGfROL6gs8He37ZAUtNmjtRn7Ko70X0zdnp9Q==","signatures":[{"sig":"MEYCIQCqISDdgk2fcPqCdfwpegFpkG5Q3U17+yq0hG98NjUjqwIhAOEENUyQZ14W8/ab5s2/XvVSM2Vp9BmPpgnwdy4Fmleu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.13.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1443301},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"696543d8c3c3aa1790204c1440fe9b528fc49ea6","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 5 hooks + MCP server + SQLite FTS5 + semantic search.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.13.4_1778161458375_0.655166372131122","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"claude-memory-hub","version":"0.14.0","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.14.0","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"b26e1ab7eb81052f53cb6352a4bce2ad4c07753d","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.14.0.tgz","fileCount":14,"integrity":"sha512-eaHKxSyv2H1bVA/PtZDkAYLB1pwefcklW8nMhN4qDfJ28qTT6K663+qXO0rwwFxG+Z1dxCQjvjnq43vIrBgB1w==","signatures":[{"sig":"MEQCIHgFQvbJ+j4G967X36WoIHpbvlRX2ByBtizfsvqm8jZfAiBU6j3iZHJhlwzb9T0N3wJwXKvPnFrd7aNDwx667I5qgg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1474049},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"be66c8386e98d56342b1958b7c4fc1b56971f006","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 5 hooks + MCP server + SQLite FTS5 + semantic search.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.14.0_1778940897729_0.04610124726998244","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"claude-memory-hub","version":"0.15.0","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.15.0","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"7cbfbca71a2a09a0b39e357dd07f94453fc263f5","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.15.0.tgz","fileCount":16,"integrity":"sha512-MMEMQLexIdGTemlEWDdkbMcnvb9Y62L23AoFYKSVAFzZXhdRkZdWGZFySOT1K+1qECa8/1oH30fsvq9jnRKzeg==","signatures":[{"sig":"MEUCIFf37/3xCcr0J8Z9vETSmHRFOJmq0VCetw4kcpi/+bDWAiEA/a2Rm/qrCUwCA9Y9kwVmRJE5nCvkLCtPHhIk52vJv9o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1755887},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"bd96b1f3553384d84c59cdc03ad2842af7508339","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/session-start.ts src/hooks-entry/stop.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 7 hooks + MCP server + SQLite FTS5 + semantic search + knowledge graph + Obsidian export.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.15.0_1783445464856_0.3581562665893461","host":"s3://npm-registry-packages-npm-production"}},"0.15.1":{"name":"claude-memory-hub","version":"0.15.1","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.15.1","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"7333103406e872e3712fd1135a6814031beb5d20","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.15.1.tgz","fileCount":16,"integrity":"sha512-/eMA2MpnqdaTEg71RwL0tNC4rq8s9eLR6piY2uYIP7KptN7cUblWOo6Ir6jo+iNPIP1yEK5ECAKVrZpaLsxCtg==","signatures":[{"sig":"MEYCIQDbvamp/z3sY6mAKgH9GmO5lh8xqtqCoB62tbDpr7RQbgIhAOn16kGG9pESip47PfkEGpxSWuCbyVsfTmS8ElyxiOSf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.15.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1778867},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"a33e9bbe63c1119aeda0aa78748806808db73b07","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/session-start.ts src/hooks-entry/stop.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 7 hooks + MCP server + SQLite FTS5 + semantic search + knowledge graph + Obsidian export.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.15.1_1783446351240_0.46394038481957267","host":"s3://npm-registry-packages-npm-production"}},"0.15.2":{"name":"claude-memory-hub","version":"0.15.2","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.15.2","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"49aa484de8df5c4ab6a01b12cc4276ca43094ba9","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.15.2.tgz","fileCount":16,"integrity":"sha512-tJW5F16W1Xlg202ClkgkvBM2lXyp8D5VSIBVI4G6H2hNwncQCafRmR2fDXl9treeGkLtluSnv4acW1yjOOV32w==","signatures":[{"sig":"MEUCICwh14rGuuTk2snJ7+okFwcL26wFhG3BgVdAWdH/fYMsAiEApVjePt7BxVGY3VR9Mh1ZUL2Gz/aCfEqU+RsQpR+kQ64=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.15.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1801273},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"6187cfdbc9c962f77318ebdab3b15738c72b8fe0","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/session-start.ts src/hooks-entry/stop.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 7 hooks + MCP server + SQLite FTS5 + semantic search + knowledge graph + Obsidian export.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.15.2_1783473898177_0.8262861937951396","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"claude-memory-hub","version":"0.16.0","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.16.0","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"691180373d14e0b4a3e6d250a18f6b502337ed7a","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.16.0.tgz","fileCount":17,"integrity":"sha512-k8KaUi8TGlPk+o1chDsyFfKmh1NKn2T9H1fXOWX8hIIEUTDVGBI4LHjt2HpFC18YNbUE4xgVH0r+8gavjqWREg==","signatures":[{"sig":"MEUCIQDU7ojk7dGKdjrSjAXHiUB5Jy3hW/ANRo/IG6FoHAeY6gIgGRiVxp9jvQRZi2zcqvZaq2sAT0EWJf3fbYTWTCoRNGM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2367620},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"28e603f6ed4fac2a68454619921b50a2e41b6f55","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks && bun run build:worker","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/session-start.ts src/hooks-entry/stop.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","build:worker":"bun build src/worker/worker-main.ts --outdir dist --target bun --entry-naming worker.js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 7 hooks + MCP server + SQLite FTS5 + semantic search + knowledge graph + Obsidian export.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.16.0_1783475622299_0.3499879625019475","host":"s3://npm-registry-packages-npm-production"}},"0.16.1":{"name":"claude-memory-hub","version":"0.16.1","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.16.1","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"e4e7482a89aedd49faed8bb1aee80ffc47729f00","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.16.1.tgz","fileCount":17,"integrity":"sha512-xWSMdcxJ7uSwzw0QwszAE+/PU/g1VAdgdQ4HiQwfx9I6qybdjHjxwlJMpuwDJpLYucjhVfNFnC40rJDdzMx9aw==","signatures":[{"sig":"MEQCIHYz7mLltHoBF0v5cPC+MtJqWoxUFrmOGO0EMKdZ5G9IAiB9XPOmndQWFbDD77YxXMBx01YteW97jJ4ZQfVc6jXysw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.16.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2377985},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"c21e23d4e15a0287fcb41ecd2c7e0cbcc3e4881d","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks && bun run build:worker","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/session-start.ts src/hooks-entry/stop.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","build:worker":"bun build src/worker/worker-main.ts --outdir dist --target bun --entry-naming worker.js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 7 hooks + MCP server + SQLite FTS5 + semantic search + knowledge graph + Obsidian export.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.16.1_1783476153689_0.622635510858665","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"claude-memory-hub","version":"0.17.0","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.17.0","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"36dd209a5a7224864a6c3f641799e94d46b5225e","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.17.0.tgz","fileCount":17,"integrity":"sha512-ING12EAJSPUJvHsJp+cmegSgmuF+pQmFwwsXJXAbpEgBMUW4WzmeErQDWE/j0eRnguef8n3sOZ+epiRAoY+V+w==","signatures":[{"sig":"MEYCIQDBEUJXNMRasE1ouht44zfDsGtmU1a1bBLvQIxy3rLhpQIhALgJ0WrVQthrFc5BRmhPClGlwSLe6nk1YIU0fmUzTKBN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2523532},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"c312e06d4b954caabc8b156fd297b35ad272800d","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks && bun run build:worker","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/session-start.ts src/hooks-entry/stop.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","build:worker":"bun build src/worker/worker-main.ts --outdir dist --target bun --entry-naming worker.js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 7 hooks + MCP server + SQLite FTS5 + semantic search + knowledge graph + two-way Obsidian vault.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.17.0_1783478804920_0.1892718458015561","host":"s3://npm-registry-packages-npm-production"}},"0.17.1":{"name":"claude-memory-hub","version":"0.17.1","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.17.1","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"b7f308b9267fbfc68a4d2fd3800ad045ba68c5d7","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.17.1.tgz","fileCount":17,"integrity":"sha512-cdb2bEzKXmsp6PCi1dkJzjaoEGSTvTOCgY/dRa+fOSEv9rE9rLebTZFNKckXtWxZuPIxGEkeqySj0BFwLjsn2A==","signatures":[{"sig":"MEYCIQCDsQU1tb0W+JMr/y7cOKWvlf2IeaipYauavLE8jSzrlQIhALqpFOUTArXK4OWLIclIbOAn76i6WnljlpcDZjknAJzD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.17.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2530053},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"005f1e953add1ebba6e37ebb6d7ebad7e8af3441","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks && bun run build:worker","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/session-start.ts src/hooks-entry/stop.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","build:worker":"bun build src/worker/worker-main.ts --outdir dist --target bun --entry-naming worker.js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 7 hooks + MCP server + SQLite FTS5 + semantic search + knowledge graph + two-way Obsidian vault.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.17.1_1783480960671_0.12821200261459187","host":"s3://npm-registry-packages-npm-production"}},"0.17.2":{"name":"claude-memory-hub","version":"0.17.2","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.17.2","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"2798555a9e1c607a2fb311622693015e75a6428c","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.17.2.tgz","fileCount":17,"integrity":"sha512-KhQxAOXzi0ry5ejhe8hmxyabQq3peujW4HAqHkPLFmkOFAzc3RsvzE8RzuGem6c7sNkhc9S577qckVeL+sVeCw==","signatures":[{"sig":"MEUCIGPVsBFltYFmKynJELa6AMttlQ9ZsbC4jmocPkX3EjphAiEAjKjQk71gWpTQ+QeEZcH9A9uZv0hj7Dp8M9MJAVDcYNs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.17.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2530830},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"b7a1960511e1671374af0abfd754891e4280725d","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks && bun run build:worker","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/session-start.ts src/hooks-entry/stop.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","build:worker":"bun build src/worker/worker-main.ts --outdir dist --target bun --entry-naming worker.js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 7 hooks + MCP server + SQLite FTS5 + semantic search + knowledge graph + two-way Obsidian vault.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.17.2_1783481195343_0.35863272717547257","host":"s3://npm-registry-packages-npm-production"}},"0.17.3":{"name":"claude-memory-hub","version":"0.17.3","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.17.3","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"1f2504ca8fd012f95ce7211208b5f219b37df13a","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.17.3.tgz","fileCount":17,"integrity":"sha512-OpyOByxszJO+Atza38Cu7R0fP1n6DMcFMZa7ocFTedXKozhbo85Jp+65r6h06ax/ifJ0AaJW0RZLOrXGQTTGiw==","signatures":[{"sig":"MEUCIQDaRR7CUJezH5WCXV8hCJYhWlHgrskH3LYBjma8Ys2AzAIgO30uXdhmvrMBtvaUzJz7ep4G7F5phXfA1y9yPaCfQSU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.17.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2532493},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"ad3c57358f270df9c5caf7aa450e77f989d708ec","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks && bun run build:worker","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/session-start.ts src/hooks-entry/stop.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","build:worker":"bun build src/worker/worker-main.ts --outdir dist --target bun --entry-naming worker.js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 7 hooks + MCP server + SQLite FTS5 + semantic search + knowledge graph + two-way Obsidian vault.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.17.3_1783481886152_0.5201948134379768","host":"s3://npm-registry-packages-npm-production"}},"0.17.4":{"name":"claude-memory-hub","version":"0.17.4","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.17.4","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"4d05ab79830bfd425ef437f1e41668363fc761f7","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.17.4.tgz","fileCount":17,"integrity":"sha512-mileWOymn++3oSG11j2JIgTb1YE2N8YXgqKaEnL0uYzKH89ZU+DD+XLnzqJQxgmDhG+ldVLUQDbZ7M68N1pDdQ==","signatures":[{"sig":"MEYCIQDWPERTRCtxisZVjixtt/PkwLSXR08Mw7/s+4xnQGWSRQIhAPZHEQLr1R+FXGn8HUht/qWcCdhhTx8gI8N9f1rErLpN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.17.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2537046},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"cd1cd873ee094655c49593f6f8917a424be07bda","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks && bun run build:worker","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/session-start.ts src/hooks-entry/stop.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","build:worker":"bun build src/worker/worker-main.ts --outdir dist --target bun --entry-naming worker.js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 7 hooks + MCP server + SQLite FTS5 + semantic search + knowledge graph + two-way Obsidian vault.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.17.4_1783482953139_0.4370136441016508","host":"s3://npm-registry-packages-npm-production"}},"0.17.5":{"name":"claude-memory-hub","version":"0.17.5","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.17.5","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"2bb1e29fff5d3ad0cc63ff4f70879d998bdad375","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.17.5.tgz","fileCount":17,"integrity":"sha512-KwTZGaqHcgGWlvZtKwjBlRNU7LI7jMG5SJytLZenJzjzL62hsroZObrirurBt3ewLognhk+pG17OLb6AHkmeLQ==","signatures":[{"sig":"MEUCIQCI6enbWGip7V8h6uDFf74C/1Rs+OnOcOcvxcLOicbcmAIgTUUoagAeDDScPTX96ujNtJLpvKUUxqLKeMdCp4mY0oU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.17.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2538472},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"d713d615c178cc37f44e43f00343e81d1e9b317c","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks && bun run build:worker","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/session-start.ts src/hooks-entry/stop.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","build:worker":"bun build src/worker/worker-main.ts --outdir dist --target bun --entry-naming worker.js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 7 hooks + MCP server + SQLite FTS5 + semantic search + knowledge graph + two-way Obsidian vault.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.17.5_1783487010859_0.9272474916184263","host":"s3://npm-registry-packages-npm-production"}},"0.17.6":{"name":"claude-memory-hub","version":"0.17.6","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.17.6","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"e2bd391a9ebb76ca02a89d7532647903a0ea8835","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.17.6.tgz","fileCount":17,"integrity":"sha512-tdmWNde8IdRn7N1ypP6TfxXdFLM4TIsO58UnvQDN/4miuycEcv6uc/9dwtITOipmgI2JNOOyDEWInKNPXQjW2Q==","signatures":[{"sig":"MEYCIQCSsTgC037AWo3b4BwKYFfzbh0fLcXqA20wtHxAJoCdDAIhALD9AIBcE6OYjTZ8kSHf8YR4e++G7TwnD8/YURJ8PwE0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.17.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2547743},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"88c5740bc62f627e1b768716912d624547d74669","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks && bun run build:worker","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/session-start.ts src/hooks-entry/stop.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","build:worker":"bun build src/worker/worker-main.ts --outdir dist --target bun --entry-naming worker.js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 7 hooks + MCP server + SQLite FTS5 + semantic search + knowledge graph + two-way Obsidian vault.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.17.6_1783573298091_0.5909577278352103","host":"s3://npm-registry-packages-npm-production"}},"0.17.7":{"name":"claude-memory-hub","version":"0.17.7","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.17.7","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"55a32281c4f1b85bcf9e7386145389612a981e5d","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.17.7.tgz","fileCount":17,"integrity":"sha512-Y3tXESfjCKEtbj9ZJBbc25VQC/zmS1KvCyidTfcVrGiBUzMJTdQ9PCYkWyMPF49+/HW5AuPxdwCt2aDxJAXjig==","signatures":[{"sig":"MEYCIQDI2jkFhYxQWSO5w//cp5+YrBRq8S1uVuRiPFkQHP2jCAIhAMlpiaMrrw7cgf4/mTL1Vc99cTdKRqSyKLgBwJLmOqx/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.17.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2559936},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"a7c2340c7c88190b5e2ac8b79152238412c60a49","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks && bun run build:worker","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/session-start.ts src/hooks-entry/stop.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","build:worker":"bun build src/worker/worker-main.ts --outdir dist --target bun --entry-naming worker.js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 7 hooks + MCP server + SQLite FTS5 + semantic search + knowledge graph + two-way Obsidian vault.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.17.7_1783574318581_0.3668501077353661","host":"s3://npm-registry-packages-npm-production"}},"0.17.8":{"name":"claude-memory-hub","version":"0.17.8","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.17.8","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"66c06b8568cf8040499ee9c687361b899890ca76","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.17.8.tgz","fileCount":17,"integrity":"sha512-plIbka44TFpitzJg6iK9pbPMcwuhGyuFRE2xs/SBqJbKP1b36CkDKzANuv7oT5vS25tbD5Msr5+5iZmiOc3yNw==","signatures":[{"sig":"MEUCIQDIWFsXpTr3aCbYGHqx0nxKwRQRu81qgg/9dnnekjUF5wIgN1TriqfcdKZ037mIo7QgbA+K5l9yynwv9K3BO1azBYo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.17.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2569707},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"fcb60dca62012f3c37ebb2e5201d36dba50d1408","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks && bun run build:worker","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/session-start.ts src/hooks-entry/stop.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","build:worker":"bun build src/worker/worker-main.ts --outdir dist --target bun --entry-naming worker.js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 7 hooks + MCP server + SQLite FTS5 + semantic search + knowledge graph + two-way Obsidian vault.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.17.8_1783864920763_0.9696322909418429","host":"s3://npm-registry-packages-npm-production"}},"0.17.9":{"name":"claude-memory-hub","version":"0.17.9","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.17.9","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"9bde931a6c47674bedeffee44fffad659bbf98c2","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.17.9.tgz","fileCount":17,"integrity":"sha512-02fD1DySdHK/oKjZOcdmJrogLUwgqP0t99CSsja2v/op3csQ2m1aE752keljWO5S/jYRnfz27j+bj3DbFhLTzg==","signatures":[{"sig":"MEUCIQCZgnY+k3WhY0oNcRmJfCJuxPAHTVe5VJODoMdWYSjPOgIgOefLtdO2S0kSaOHoZPWp98bMFLU7fmvpv4FOsbBg+bw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.17.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2575476},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"bff4727705a3f9d84cf81b26a06316af262b1d2e","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks && bun run build:worker","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/session-start.ts src/hooks-entry/stop.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","build:worker":"bun build src/worker/worker-main.ts --outdir dist --target bun --entry-naming worker.js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 7 hooks + MCP server + SQLite FTS5 + semantic search + knowledge graph + two-way Obsidian vault.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.17.9_1783867755820_0.08732563104580149","host":"s3://npm-registry-packages-npm-production"}},"0.17.10":{"name":"claude-memory-hub","version":"0.17.10","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.17.10","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"55435e91efbaeac5b1cad0f24b2fd0dbe2b71909","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.17.10.tgz","fileCount":17,"integrity":"sha512-G5KZgM7H2gWjXV9v1d0sFPAH3PaVawnAj3pPrKAGLs7fRR9N2+RT/TTRku9jfNHvKZ6txPQoChWPHPilChcAGQ==","signatures":[{"sig":"MEQCIHe9yt3Hrj1QC2Ez+arffYGZapZfvz1zU3Ni70JJlvezAiBvC/hsNTnejPIlP30hNBe9t7DtJvhuH693SezdrxMjIQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.17.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2585638},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"f7460a9f6ed638e5787cf4f346c7b1b8c915f981","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks && bun run build:worker","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/session-start.ts src/hooks-entry/stop.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","build:worker":"bun build src/worker/worker-main.ts --outdir dist --target bun --entry-naming worker.js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 7 hooks + MCP server + SQLite FTS5 + semantic search + knowledge graph + two-way Obsidian vault.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.17.10_1783868340482_0.1827286670194308","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"claude-memory-hub","version":"0.18.0","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.18.0","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"063e0c7918aa8c35a1b4f7d7c16a134c83870f5a","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.18.0.tgz","fileCount":17,"integrity":"sha512-88lolEu+NenmTVJno258iJoM2YqSmlzu305gPxhr+NQ2u0rojspLn7NAru5n+lf1KI58YkS2oN6ps/1s71aBqA==","signatures":[{"sig":"MEUCIHghTYFLCiXq5OYOG4ntx0pgMwzyd8s7vf1py3AfQ1VcAiEA4OSOcEd0T0qnLs9s6G+VxmYa4/uOX4EMgRP1HZhAQ3E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.18.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2623462},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"6ee3abbfc5cb28686f0a05562db5678d971665bd","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks && bun run build:worker","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/session-start.ts src/hooks-entry/stop.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","build:worker":"bun build src/worker/worker-main.ts --outdir dist --target bun --entry-naming worker.js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 7 hooks + MCP server + SQLite FTS5 + semantic search + knowledge graph + two-way Obsidian vault.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.18.0_1783938534600_0.588841405650816","host":"s3://npm-registry-packages-npm-production"}},"0.18.1":{"name":"claude-memory-hub","version":"0.18.1","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.18.1","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"8772c5cf214b5546c0291d5ae0bd03b09de6e18d","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.18.1.tgz","fileCount":17,"integrity":"sha512-3M2O68+YPRohqT+NZnNOjUOzVL+Comv7K8wqTxfXLboKiea42Ut+IVMYbSIwqkLaNHTB9Oyz9pXFNCwBfLvwzA==","signatures":[{"sig":"MEYCIQC7b/GWykiP7wL/CmFbm0FHqq2W2tlEyWdn+73JMkep6wIhAK21A01JGWbC/vZesNL1iI2gmUc1vmcKVpB7HGuQ81NB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.18.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2633556},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"cb77d38225944877d54f538aa5acf0d29459dc6e","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks && bun run build:worker","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/session-start.ts src/hooks-entry/stop.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","build:worker":"bun build src/worker/worker-main.ts --outdir dist --target bun --entry-naming worker.js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 7 hooks + MCP server + SQLite FTS5 + semantic search + knowledge graph + two-way Obsidian vault.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.18.1_1783939327933_0.3453378766949555","host":"s3://npm-registry-packages-npm-production"}},"0.18.2":{"name":"claude-memory-hub","version":"0.18.2","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","_id":"claude-memory-hub@0.18.2","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"bin":{"claude-memory-hub":"dist/cli.js"},"dist":{"shasum":"5f529c95dfdd22e2ae3ff8ef6a853e53511b51b7","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.18.2.tgz","fileCount":17,"integrity":"sha512-Ay+odnQil4uaxIlGmhb9DJLc27e/TPlLPmhBMZ7fV2THZAVP13eNoYW/lYJyltHWLu3wUr8Gp0DowSBENFK4Nw==","signatures":[{"sig":"MEUCIQCTJH1QTv1wHU72iW/rt2DWg4sSm0/FIpmahuLWz2rQewIgC47MUm0fVbgXabAfHNzQL4NjzON1XUJXpCh4XVKvlMA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.18.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2635607},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0"},"gitHead":"a397cfafe7eaf4bcc07dd6519e21acd0f767a6ee","scripts":{"dev":"bun run --watch src/index.ts","test":"bun test","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","start":"bun run src/index.ts","build:all":"bun run build && bun run build:cli && bun run build:hooks && bun run build:worker","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","typecheck":"tsc --noEmit","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/session-start.ts src/hooks-entry/stop.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","build:worker":"bun build src/worker/worker-main.ts --outdir dist --target bun --entry-naming worker.js --external @huggingface/transformers","test:coverage":"bun test --coverage","prepublishOnly":"test -f dist/index.js || bun run build:all"},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"repository":{"url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git","type":"git"},"_npmVersion":"10.8.2","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 7 hooks + MCP server + SQLite FTS5 + semantic search + knowledge graph + two-way Obsidian vault.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/claude-memory-hub_0.18.2_1783955323241_0.18843933665588053","host":"s3://npm-registry-packages-npm-production"}},"0.18.3":{"name":"claude-memory-hub","version":"0.18.3","description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 7 hooks + MCP server + SQLite FTS5 + semantic search + knowledge graph + two-way Obsidian vault.","type":"module","main":"dist/index.js","bin":{"claude-memory-hub":"dist/cli.js"},"scripts":{"start":"bun run src/index.ts","build":"bun build src/index.ts --outdir dist --target bun --entry-naming [name].js --external @huggingface/transformers","build:cli":"bun build src/cli/main.ts --outdir dist --target bun --entry-naming cli.js --external @huggingface/transformers","build:hooks":"bun build src/hooks-entry/post-tool-use.ts src/hooks-entry/session-end.ts src/hooks-entry/session-start.ts src/hooks-entry/stop.ts src/hooks-entry/user-prompt-submit.ts src/hooks-entry/pre-compact.ts src/hooks-entry/post-compact.ts --outdir dist/hooks --target bun --entry-naming [name].js --external @huggingface/transformers","build:worker":"bun build src/worker/worker-main.ts --outdir dist --target bun --entry-naming worker.js --external @huggingface/transformers","build:all":"bun run build && bun run build:cli && bun run build:hooks && bun run build:worker","dev":"bun run --watch src/index.ts","prepublishOnly":"test -f dist/index.js || bun run build:all","typecheck":"tsc --noEmit","test":"bun test","test:coverage":"bun test --coverage"},"keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"author":{"name":"TranHoaiHung"},"license":"MIT","homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"repository":{"type":"git","url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git"},"engines":{"bun":">=1.0.0"},"dependencies":{"@modelcontextprotocol/sdk":"^1.10.2"},"optionalDependencies":{"@huggingface/transformers":"^3.0.0"},"devDependencies":{"@types/bun":"latest","typescript":"^5.4.0"},"_id":"claude-memory-hub@0.18.3","gitHead":"d01fc6d11bbffcf5ed58f1d4a11671281f995460","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-ZhBllPsIXZjxUofybVu8cVgFYyBMLkxE3UCxYiHe+0HAp9FZnhJB4WG1am43Bqo/4FWzYfgOa2aVJsT5podouQ==","shasum":"fb33ba49f680dbf95cf5e6d3234edfc7fc11ce2b","tarball":"https://registry.npmjs.org/claude-memory-hub/-/claude-memory-hub-0.18.3.tgz","fileCount":17,"unpackedSize":2639710,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/claude-memory-hub@0.18.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD49PBxe321oduQrPskOe2gVO1DmoO4R4b/ToCbG0wUwwIhAKSfEV4HX/8Owxp9xfa5HsL7lhiohEARlCDx7iGi5r4e"}]},"_npmUser":{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"},"directories":{},"maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/claude-memory-hub_0.18.3_1784087218969_0.3130255469992662"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-01T07:54:00.417Z","modified":"2026-07-15T03:46:59.513Z","0.4.0":"2026-04-01T07:54:00.700Z","0.5.0":"2026-04-01T09:15:56.279Z","0.5.1":"2026-04-01T09:35:37.558Z","0.5.2":"2026-04-01T09:49:45.942Z","0.6.0":"2026-04-01T16:04:07.461Z","0.8.0":"2026-04-02T01:37:40.568Z","0.8.1":"2026-04-02T02:06:23.914Z","0.8.2":"2026-04-02T02:56:07.125Z","0.9.0":"2026-04-02T05:13:54.896Z","0.9.1":"2026-04-02T05:38:34.416Z","0.9.2":"2026-04-02T06:42:11.039Z","0.9.4":"2026-04-02T06:57:07.119Z","0.9.5":"2026-04-03T02:45:06.415Z","0.9.6":"2026-04-03T03:16:41.960Z","0.10.0":"2026-04-03T05:31:03.081Z","0.11.0":"2026-04-03T06:41:56.703Z","0.11.1":"2026-04-03T07:00:33.859Z","0.11.2":"2026-04-03T13:47:02.580Z","0.11.3":"2026-04-03T14:37:18.789Z","0.11.4":"2026-04-03T14:55:25.121Z","0.11.5":"2026-04-06T02:06:06.621Z","0.12.0":"2026-05-06T10:28:02.012Z","0.13.0":"2026-05-06T10:49:25.952Z","0.13.1":"2026-05-06T11:01:18.642Z","0.13.2":"2026-05-06T16:20:23.569Z","0.13.3":"2026-05-07T03:17:06.068Z","0.13.4":"2026-05-07T13:44:18.577Z","0.14.0":"2026-05-16T14:14:57.967Z","0.15.0":"2026-07-07T17:31:05.122Z","0.15.1":"2026-07-07T17:45:51.425Z","0.15.2":"2026-07-08T01:24:58.328Z","0.16.0":"2026-07-08T01:53:42.445Z","0.16.1":"2026-07-08T02:02:33.912Z","0.17.0":"2026-07-08T02:46:45.153Z","0.17.1":"2026-07-08T03:22:40.844Z","0.17.2":"2026-07-08T03:26:35.540Z","0.17.3":"2026-07-08T03:38:06.376Z","0.17.4":"2026-07-08T03:55:53.285Z","0.17.5":"2026-07-08T05:03:31.062Z","0.17.6":"2026-07-09T05:01:38.243Z","0.17.7":"2026-07-09T05:18:38.764Z","0.17.8":"2026-07-12T14:02:01.024Z","0.17.9":"2026-07-12T14:49:15.978Z","0.17.10":"2026-07-12T14:59:00.684Z","0.18.0":"2026-07-13T10:28:54.758Z","0.18.1":"2026-07-13T10:42:08.104Z","0.18.2":"2026-07-13T15:08:43.432Z","0.18.3":"2026-07-15T03:46:59.171Z"},"bugs":{"url":"https://github.com/TranHoaiHung/claude-memory-hub/issues"},"author":{"name":"TranHoaiHung"},"license":"MIT","homepage":"https://github.com/TranHoaiHung/claude-memory-hub#readme","keywords":["claude","claude-code","memory","mcp","context","persistent-memory","sqlite","fts5","semantic-search","embeddings"],"repository":{"type":"git","url":"git+https://github.com/TranHoaiHung/claude-memory-hub.git"},"description":"Persistent memory system for Claude Code. Zero API key. Zero Python. 7 hooks + MCP server + SQLite FTS5 + semantic search + knowledge graph + two-way Obsidian vault.","maintainers":[{"name":"tranhoaihung","email":"tranhoaihung01@gmail.com"}],"readme":"<p align=\"center\">\n  <img src=\"assets/logo.png\" alt=\"claude-memory-hub\" width=\"400\" />\n</p>\n\n<h1 align=\"center\">claude-memory-hub</h1>\n\n<p align=\"center\">\n  <strong>Persistent memory for Claude Code. Survives compacts. Survives sessions.</strong>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/claude-memory-hub\"><img src=\"https://img.shields.io/npm/v/claude-memory-hub.svg\" alt=\"npm version\" /></a>\n  <a href=\"https://github.com/TranHoaiHung/claude-memory-hub/blob/main/LICENSE\"><img src=\"https://img.shields.io/npm/l/claude-memory-hub.svg\" alt=\"license\" /></a>\n</p>\n\n```bash\nbunx claude-memory-hub@latest install\n```\n\nOne command. Zero API key. Zero Python. Zero config. Done.\n\n---\n\n## ✨ Highlights\n\nEvery number below is **measured on real usage**, not estimated — the built-in telemetry (`stats --injections`) is part of the product.\n\n| | What | Why it matters |\n|---|---|---|\n| 🛡️ | **Compact Interceptor** | The feature no other memory tool has: PreCompact tells the compactor what to preserve, PostCompact saves the full summary. ~90% context loss → ~90% salvage. |\n| ⚡ | **Token-efficient injection** | Session baseline injected ONCE (SessionStart), later prompts deduplicated — measured **96% reduction** in injection overhead vs per-prompt injection. |\n| 🚀 | **Persistent worker** | Hooks hit a warm local server: **981ms → ~50ms** per prompt. Auto-spawned, self-healing, version-skew guarded, falls back in-process when down — never a single point of failure. |\n| 🕸️ | **Behavioral knowledge graph** | What static analysis can't know: which files are *actually* edited together, where errors *actually* happened, which decisions concern which files. Obsidian-style graph view in the dashboard (`/#graph`). |\n| 📓 | **Obsidian two-way vault** | Memory exported as `[[wikilinked]]` notes — and read back: notes you write or edit in the vault become **curated memory**, injected into future sessions with the highest trust. Your edits are never overwritten. |\n| 🎯 | **Resource intelligence** | Matches each prompt to the right skill/agent/CLAUDE.md by meaning (semantic + usage + project context) and audits token overhead of unused resources. |\n| 🔗 | **Codegraph integration** | Repos indexed by [codegraph](https://github.com/colbymchenry/codegraph) get structural calls/called-by joined into `memory_impact` — structure + behavior in one view. |\n| 🔒 | **3-layer privacy** | `<private>` tags + automatic secret redaction (sk-, ghp_, AWS keys…) + path filtering (.env, *.pem). All local: no cloud, no telemetry, no network calls. |\n| 🪶 | **Zero-friction stack** | Bun + SQLite only. No Python, no Chroma, no Docker, no API key. Embeddings are optional and local (~90MB MiniLM). 233 unit tests. |\n\n**Tech**: 7 lifecycle hooks · MCP server (13 tools) · SQLite FTS5 + TF-IDF + local embeddings with RRF fusion · recency-decay ranking · entity dedup with touch counts · injection effectiveness telemetry. Details in [CHANGELOG.md](CHANGELOG.md).\n\n---\n\n## The Problem\n\n```\nSession 1: You spend 2 hours building an auth system\nSession 2: Claude has no idea it exists\n\nLong session: Hit 200K tokens → auto-compact fires\n              → ~90% of your context gone\n              → files, decisions, error trails — vaporized\n```\n\nEvery Claude Code user hits this wall. memory-hub exists to fix it.\n\n---\n\n## What You Get\n\n### Compact Interceptor — the thing no other tool does\n\nWhen auto-compact fires, your context doesn't just disappear anymore:\n\n```\nBEFORE compact\n  → PreCompact hook scores all entities by importance\n  → Injects priority list as Additional Instructions\n  → Compact engine now KNOWS what to preserve\n\nAFTER compact\n  → PostCompact hook captures the FULL summary\n  → Saves to SQLite L3\n  → Zero information loss\n```\n\n**90% context loss → 90% context salvage.** This is the core innovation.\n\n### Cross-Session Memory\n\nSession ends → memory-hub parses the full transcript, summarizes, indexes.\nNext session → the **SessionStart hook injects the baseline once** (recent memory,\nCLAUDE.md summary, resource advice). Per-prompt injection is conditional: history\nrecall and fresh search results only, deduplicated against what the session already saw.\n\nNo manual prompting. No copy-pasting. No token waste. Claude just knows.\n\n### Token-Efficient by Design (v0.15)\n\nTelemetry on 30 days of real usage showed the old design re-injected ~2,900 chars on\nEVERY prompt (one session: 1,083 injections ≈ 790K tokens). v0.15 injects the baseline\nonce per session; later prompts measured at **0 extra chars** unless you explicitly ask\nabout past work. `injection_log` tracks `injected_at`, `dedup_skipped`, and\n`memory_tool_used` so effectiveness is measured, not guessed.\n\n### Knowledge Graph (v0.15)\n\nEvery session builds edges: which files change together (`co_edited`), where errors\nhappened (`error_in`), what decisions concern which files (`decided_about`), plus a\nstatic import graph (`graph scan`). Ask `memory_impact` before touching a risky file\nto see its blast radius: co-edit cluster, past errors, related decisions, sessions.\n\n### Obsidian Vault — Two-Way (v0.17)\n\n`bunx claude-memory-hub obsidian sync` exports sessions, decisions, and hot files as\nmarkdown notes with `[[wikilinks]]` generated from the graph — Obsidian's graph view\nbecomes your coding memory graph. Incremental and idempotent.\n\nSince v0.17 the vault is **read back** as curated memory — the loop is closed:\n\n- **`MemoryHub/Notes/`** — every note you write there is indexed as *curated* knowledge.\n  Scope it with `project: \"<repo-folder>\"` frontmatter, or leave it global.\n- **Edit any exported note** — the hub detects it (content-hash guard), **never\n  overwrites your edit again**, and indexes your version as curated.\n- Curated notes are the **highest-trust source**: injected at session start for the\n  matching project, recalled per-prompt via FTS + semantic match (works for\n  Vietnamese notes), ranked with a 1.3× trust boost in `memory_search`, and\n  fetchable via `memory_fetch` with `type: \"curated\"`. Per-session dedup keeps\n  repeat prompts at zero token overhead.\n\nWrite it once in Obsidian → Claude Code knows it in every future session.\n\n### Hybrid Search (3 engines)\n\nFTS5 (keyword) + TF-IDF (term frequency) + semantic embeddings (384-dim, local).\nCode-aware tokenizer: splits `camelCase`, `snake_case`, file paths into meaningful tokens.\nRecency decay: recent sessions ranked higher (7d=1.5x, 30d=1.2x, >90d=0.8x).\n\n### Full Conversation Capture\n\nEvery user prompt + every assistant response saved via transcript parsing.\nSearchable with FTS5. Not just tool observations — the actual conversation.\n\n### 3-Layer Privacy\n\n```\nLayer 1: <private> tags        → stripped before storage\nLayer 2: Auto secret detection → sk-, ghp_, Bearer, passwords auto-redacted\nLayer 3: Path filtering        → .env, *.pem, *.key excluded from tracking\n```\n\n47 dedicated tests. Custom config via `~/.claude-memory-hub/privacy.json`.\n\n### Everything Else\n\n- **Persistent worker** — hooks hit a warm local server (~50ms vs ~1s cold start); auto-spawned, auto-healing, falls back to in-process when down\n- **Codegraph integration** — repos indexed by [codegraph](https://github.com/colbymchenry/codegraph) get calls/called-by joined into `memory_impact` (structure + behavior in one view)\n- **Slash commands** — `/mem-search`, `/mem-status`, `/mem-save`\n- **13 MCP tools** — progressive 3-layer search (50→200→500 tokens/result) + graph + resource matching\n- **Proactive retrieval** — detects topic shifts, injects relevant context mid-session\n- **Maintenance daemon** — daily launchd agent: retention, WAL checkpoint, Obsidian sync\n- **Browser dashboard** — `bunx claude-memory-hub viewer` at localhost:37888, with an Obsidian-style force-directed **graph view** of your memory (co-edits, imports, errors, decisions; per-project filter; click a node for its impact panel; deep link `/#graph`)\n- **JSONL export/import** — full backup, incremental, per-table\n- **Multi-agent ready** — subagents share memory via MCP\n- **213 unit tests** — privacy, search, capture, schema, graph, export, health\n\n---\n\n## Quick Start\n\n### Step 1 — Install Bun (the only requirement)\n\n```bash\n# macOS / Linux\ncurl -fsSL https://bun.sh/install | bash\n```\n\n```powershell\n# Windows (PowerShell)\npowershell -c \"irm bun.sh/install.ps1 | iex\"\n```\n\nNo API key. No Python. No Docker. Claude Code itself is the only other thing you need.\n\n### Step 2 — Install the hub\n\nSame command on every platform:\n\n```bash\nbunx claude-memory-hub@latest install\n```\n\nWhat this does (nothing else):\n1. Copies the runtime to `~/.claude-memory-hub/` (`C:\\Users\\<you>\\.claude-memory-hub` on Windows)\n2. Registers the MCP server + 7 lifecycle hooks in `~/.claude/settings.json` (absolute paths, forward slashes — works in cmd, PowerShell, and bash)\n3. Installs 3 slash commands (`/mem-search`, `/mem-status`, `/mem-save`) into `~/.claude/commands/`\n\n### Step 3 — Verify, then restart Claude Code\n\n```bash\nbunx claude-memory-hub doctor   # full health check (hooks, DB, worker, dist files)\nbunx claude-memory-hub status   # quick view\n```\n\nRestart Claude Code (or start a new session) — memory is active. Works on CLI, VS Code, JetBrains. Coming from claude-mem? Data migrates automatically.\n\n### Optional (recommended)\n\n```bash\n# Two-way Obsidian vault — add to the \"env\" block of ~/.claude/settings.json:\n#   \"CLAUDE_MEMORY_HUB_OBSIDIAN\": \"1\"\n#   \"CLAUDE_MEMORY_HUB_OBSIDIAN_VAULT\": \"/path/to/your/vault\"   (default: ~/Documents/ObsidianVault)\nbunx claude-memory-hub obsidian sync    # first export + read-back\n\n# Daily 03:30 maintenance (retention + WAL checkpoint + vault sync)\nbunx claude-memory-hub install-daemon   # macOS: launchd · Windows: Task Scheduler · Linux: prints the cron line\n\n# Browser dashboard with the memory graph\nbunx claude-memory-hub viewer           # http://localhost:37888\n```\n\n### Platform support\n\n| | macOS | Windows | Linux |\n|---|---|---|---|\n| Hooks + worker + MCP + search | ✅ | ✅ | ✅ |\n| Obsidian two-way vault | ✅ | ✅ | ✅ |\n| Maintenance daemon | ✅ launchd | ✅ Task Scheduler | manual cron (line printed) |\n| Test suite in CI | ✅ | ✅ | ✅ |\n\nSomething off? `bunx claude-memory-hub doctor --fix` repairs the common cases, and the [Troubleshooting](#troubleshooting) section covers the rest.\n\n---\n\n## Deep Dive: How Each Layer Works\n\n### Layer 1 — Compact Interceptor (the core innovation)\n\nThe 200K threshold is where Claude Code's tool result budget gets cleared. When this happens, compaction fires — and everything not in the compressed summary is gone.\n\nmemory-hub intercepts this process at both ends:\n\n```\nBEFORE compact runs\n       │\n       ├── PreCompact hook fires\n       │   1. Reads ALL entities from current session (files, errors, decisions, observations)\n       │   2. Scores each by: importance (1-5) × recencyWeight\n       │   3. Sorts by score, builds priority list\n       │   4. Outputs as plain text → Claude Code appends to compact prompt\n       │      as \"Additional Instructions\"\n       │   Result: compact engine now KNOWS what to preserve\n       │\nAFTER compact runs\n       │\n       ├── PostCompact hook fires\n       │   1. Receives FULL 9-section compact summary via stdin\n       │   2. Parses sections: key_facts, open_tasks, current_state, etc.\n       │   3. Saves directly to SQLite L3 (long_term_summaries table)\n       │   4. FTS5 indexes the summary for future search\n       │   Result: zero information loss — summary persists forever\n```\n\n**Why this matters:** Without PreCompact, the compact engine has no signal about what's important — it compresses blindly. Without PostCompact, the summary exists only in Claude's context and vanishes at session end. memory-hub closes both gaps.\n\n### Layer 2 — Cross-Session Memory\n\n```\nSession N ends:\n  1. Stop hook fires → parse Claude Code's JSONL transcript\n     → extract ALL user prompts + assistant responses\n     → save to messages table (FTS5 indexed)\n  2. 3-tier summarization:\n     Tier 1: Use PostCompact summary if available (best quality, free)\n     Tier 2: Run `claude -p --print` subprocess (good quality, free)\n     Tier 3: Rule-based template extraction (fallback, always works)\n  3. Summary enriched with conversation digest\n  4. Generate 384-dim embedding vector (if @huggingface/transformers available)\n  5. Save to L3: long_term_summaries + fts_memories + tfidf_index + embeddings\n\nSession N+1 starts:\n  1. UserPromptSubmit hook fires with user's first prompt\n  2. Hybrid search against L3:\n     FTS5 BM25 (keyword match) + TF-IDF (term frequency) + semantic cosine\n  3. Recency decay applied: <7d=1.5x boost, <30d=1.2x, >90d=0.8x penalty\n  4. RRF (Reciprocal Rank Fusion) merges results from all engines\n  5. Top results injected as additionalContext (max 8,000 chars)\n  6. Smart budget allocation: memory > CLAUDE.md > advice > overhead\n  Result: Claude starts with relevant history, not from zero\n```\n\n### Layer 3 — Entity + Conversation Capture\n\nEvery tool call triggers the PostToolUse hook. Entities are extracted from hook JSON metadata:\n\n```\nClaude reads a file     → file_read entity: path, code patterns, line count\nClaude edits a file     → file_modified entity: path, old→new diff, change type\nClaude runs a command   → command_run entity: command, exit code, stderr\nClaude hits an error    → error entity: message, stack trace, file context\nClaude makes a decision → decision entity: text, importance score (1-5)\nClaude spawns an agent  → agent_result entity: agent type, prompt, summary\n```\n\nEvents are batched via write-through queue (~3ms per event vs ~75ms direct write).\nMid-session topic shifts detected → proactive retrieval injects relevant past context.\n\n**Observation capture** — 20+ heuristic patterns extract insights from tool output and user prompts:\n\n```\nTool output patterns:\n  IMPORTANT, CRITICAL, SECURITY, DEPRECATED, migration failed,\n  decision:, discovered, root cause, switched to, refactored,\n  TODO:, FIXME:, performance:, bottleneck, tests pass/fail, deployed\n\nUser prompt patterns:\n  IMPORTANT, MUST, remember that, don't/never/avoid,\n  fix/debug/investigate, implement/build/create, prefer/always use\n\nImportance scoring: IMPORTANT/CRITICAL=4, decision:/NOTE:=3, TODO:/FIXME:=2\nMax 1 observation per tool call, 300-char cap\n```\n\n### Layer 4 — 3-Layer Progressive Search\n\nInstead of dumping full records on every query, memory-hub progressively discloses:\n\n```\nTraditional:  query → ALL full records → 5,000+ tokens wasted\n\nmemory-hub:   query → Layer 1 (index)    → ~50 tokens/result\n                      titles, dates, scores — scan 20+ results cheaply\n\n              pick  → Layer 2 (timeline)  → ~200 tokens\n                      what happened before/after a specific result\n\n              drill → Layer 3 (full)      → ~500 tokens/result\n                      complete record for specific IDs only\n\nToken savings: 80-90% vs. traditional full-context search\n```\n\nHybrid ranking combines: FTS5 BM25 (exact keyword) + TF-IDF cosine (term frequency with code-aware tokenizer) + semantic cosine similarity (384-dim embeddings). Multi-source boost rewards results found by 2+ engines.\n\n### Layer 5 — Resource Intelligence\n\n```\nResourceRegistry scans ALL .claude locations:\n  skills/, agents/, commands/, workflows/, CLAUDE.md chain\n  → Discovers 170+ resources across user/project/system scopes\n  → 3-level token estimation per resource:\n    listing_tokens (~50-200): system prompt listing cost\n    full_tokens (~200-8000): cost when invoked\n    total_tokens: all files on disk\n\nResourceTracker records actual usage per session (8 resource types)\nOverheadReport identifies unused resources + token waste\n```\n\n> **Transparency note:** Claude Code loads ALL resources into its system prompt — no external tool can prevent this. memory-hub provides **analysis and prioritization**, not filtering. To reduce token overhead, remove or relocate unused skills/agents based on the overhead report.\n\n---\n\n## Architecture\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│                      Claude Code                            │\n│                                                             │\n│  7 Lifecycle Hooks                                          │\n│  ┌───────────────┐  ┌──────────────┐  ┌──────────────┐      │\n│  │ SessionStart  │  │ PreCompact   │  │ PostCompact  │      │\n│  │ inject base-  │  │ inject       │  │ save summary │      │\n│  │ line ONCE     │  │ priorities   │  └──────┬───────┘      │\n│  └──────┬────────┘  └──────┬───────┘         │              │\n│  ┌──────┴───────┐  ┌───────┴──────┐  ┌───────┴────────┐     │\n│  │UserPrompt    │  │ PostToolUse  │  │ Stop: flush    │     │\n│  │Submit: cond. │  │ batch queue +│  │ (~30ms)        │     │\n│  │inject (dedup)│  │ feedback mark│  │ SessionEnd:    │     │\n│  │+ save prompt │  └──────────────┘  │ parse+summarize│     │\n│  └──────────────┘                    │ +graph+obsidian│     │\n│                                      └────────────────┘     │\n│  MCP Server (stdio, long-lived)                             │\n│  ┌─────────────────────────────────────────────────────┐    │\n│  │ memory_recall        memory_search  (L1 index)      │    │\n│  │ memory_entities      memory_timeline (L2 context)   │    │\n│  │ memory_session_notes memory_fetch   (L3 full)       │    │\n│  │ memory_store         memory_context_budget          │    │\n│  │ memory_conversation  memory_health                  │    │\n│  │ memory_graph         memory_impact                  │    │\n│  │ memory_resources_for_prompt                         │    │\n│  └─────────────────────────────────────────────────────┘    │\n│                                                             │\n│  Resource Intelligence    Browser UI (:37888)               │\n│  ┌──────────────────┐     ┌──────────────────┐              │\n│  │ scan → track →   │     │ search, browse,  │              │\n│  │ analyze overhead │     │ stats, health    │              │\n│  └──────────────────┘     └──────────────────┘              │\n└─────────────────────────────────────────────────────────────┘\n                             │\n                   ┌─────────┴──────────┐\n                   │   SQLite + FTS5    │\n                   │   ~/.claude-       │\n                   │   memory-hub/      │\n                   │   memory.db        │\n                   └────────────────────┘\n```\n\n### Memory Hierarchy\n\n```\n┌─────────────────────────────────────────────────────┐\n│  L1: WorkingMemory          Read-through cache      │\n│  Lives in MCP server        <1ms (cache hit)        │\n│  TTL: 5 minutes             Max 50 entries/session  │\n├─────────────────────────────────────────────────────┤\n│  L2: SessionStore           SQLite                  │\n│  Entities + messages        <10ms access            │\n│  files, errors, decisions   Importance scored 1-5   │\n│  observations (20+ patterns)FTS5 on conversations   │\n├─────────────────────────────────────────────────────┤\n│  L3: LongTermStore          SQLite + FTS5 + TF-IDF  │\n│  Cross-session summaries    <100ms access           │\n│  Hybrid ranked search       Persistent forever      │\n│  Semantic embeddings (384d) 3-layer progressive     │\n└─────────────────────────────────────────────────────┘\n```\n\n---\n\n## How Capture Works\n\n```\nClaude reads a file     → memory-hub records: which file, code patterns found\nClaude edits a file     → memory-hub records: what changed (old → new diff)\nClaude runs a command   → memory-hub records: command, exit code, stderr\nClaude makes a decision → memory-hub records: decision text + importance score\nClaude spawns an agent  → memory-hub records: agent type, prompt, result summary\nUser sends a prompt     → memory-hub records: full prompt text\nSession ends            → memory-hub parses transcript: ALL user + assistant messages\n```\n\nExtracted from hook JSON metadata. No XML. No special format.\nPostToolUse events batched via write-through queue (~3ms per event).\n20+ heuristic patterns for observation capture (IMPORTANT, CRITICAL, decision:, root cause, etc.)\n\n---\n\n## Slash Commands\n\n| Command | What it does |\n|---------|-------------|\n| `/mem-search <query>` | 3-layer progressive search — finds past sessions by topic, file, or keyword |\n| `/mem-status [project]` | Health check + token budget analysis + current session activity |\n| `/mem-save <note>` | Save an important decision or finding to persistent memory |\n\n```bash\n/mem-search auth login bug\n/mem-save Decided to use JWT refresh tokens with 15min expiry\n```\n\n---\n\n## MCP Tools\n\n| Tool | What it does | Tokens |\n|------|-------------|--------|\n| `memory_recall` | FTS5 + semantic search past sessions (AUTO-USE) | varies |\n| `memory_entities` | Find sessions that touched a file (AUTO-USE) | varies |\n| `memory_session_notes` | Current session activity (L1 cache) | ~100 |\n| `memory_store` | Save note/decision to persistent memory | ~50 |\n| `memory_search` | Layer 1: index search | ~50/result |\n| `memory_timeline` | Layer 2: context around a result | ~200 |\n| `memory_fetch` | Layer 3: full record by ID | ~500/result |\n| `memory_conversation` | Retrieve/search conversation messages | varies |\n| `memory_context_budget` | Token overhead analysis | ~200 |\n| `memory_health` | Database + FTS5 + disk + embeddings status | ~150 |\n| `memory_graph` | Knowledge-graph neighbors: co_edited, error_in, decided_about, imports | varies |\n| `memory_impact` | Blast-radius view for a file: co-edit cluster + errors + decisions + sessions | ~300 |\n| `memory_resources_for_prompt` | Best skills/agents/commands for a prompt (semantic + usage) | varies |\n\n---\n\n## CLI Reference\n\n```bash\nbunx claude-memory-hub@latest install   # Register MCP + hooks + slash commands\nbunx claude-memory-hub uninstall   # Clean removal\nbunx claude-memory-hub status      # Check installation\nbunx claude-memory-hub migrate     # Import data from claude-mem\nbunx claude-memory-hub viewer      # Browser UI at localhost:37888\nbunx claude-memory-hub health      # Run health diagnostics\nbunx claude-memory-hub reindex     # Rebuild TF-IDF + embedding indexes\nbunx claude-memory-hub export      # Export data as JSONL to stdout\nbunx claude-memory-hub import      # Import JSONL from stdin (--dry-run)\nbunx claude-memory-hub cleanup     # Remove old data (--days N, default 90)\nbunx claude-memory-hub prune       # Remove low-quality summaries (--dry-run)\nbunx claude-memory-hub doctor      # Diagnose install: 7 hooks, dist files, embeddings (--fix)\nbunx claude-memory-hub stats       # Memory report (--injections: telemetry + effectiveness)\nbunx claude-memory-hub graph       # Knowledge graph: graph build | graph scan [repo]\nbunx claude-memory-hub obsidian sync  # Export memory to Obsidian vault [--project X]\nbunx claude-memory-hub maintenance # Retention + WAL checkpoint + Obsidian sync now\nbunx claude-memory-hub install-daemon # Daily 03:30 maintenance (macOS launchd / Windows Task Scheduler / Linux prints cron line)\nbunx claude-memory-hub worker      # Persistent worker: worker start | stop | status\n```\n\n---\n\n## Privacy Configuration\n\nCreate `~/.claude-memory-hub/privacy.json` to extend defaults:\n\n```json\n{\n  \"tag_stripping\": true,\n  \"auto_detect_secrets\": true,\n  \"ignored_paths\": [\"my-secrets.yaml\", \"**/vault/**\"],\n  \"custom_patterns\": [\"INTERNAL_TOKEN_[A-Z0-9]{20,}\"]\n}\n```\n\nCustom paths and patterns are **added** to defaults, not replacing them.\n\n---\n\n## Data Export/Import\n\n```bash\n# Full export\nbunx claude-memory-hub export > backup.jsonl\n\n# Incremental\nbunx claude-memory-hub export --since 1743580800000 > incremental.jsonl\n\n# Import (idempotent, UPSERT)\nbunx claude-memory-hub import < backup.jsonl\n\n# Validate first\nbunx claude-memory-hub import --dry-run < backup.jsonl\n```\n\n---\n\n## Data & Privacy\n\nAll data stored locally at `~/.claude-memory-hub/`. No cloud. No telemetry. No network calls.\n\n```\n~/.claude-memory-hub/\n  ├── memory.db           # SQLite database\n  ├── privacy.json        # Custom privacy rules (optional)\n  ├── batch/queue.jsonl   # PostToolUse batch queue (auto-flushed)\n  └── logs/memory-hub.log # Structured JSON logs (auto-rotated 5MB)\n```\n\n---\n\n## Dependencies\n\n```\n@modelcontextprotocol/sdk          MCP stdio server (required)\nbun:sqlite                         Built-in, zero install\n@huggingface/transformers          Semantic embeddings (optional, ~90MB model on first use)\nsharp                              Image preprocessing for transformers (optional)\n```\n\nTwo npm packages + two optional. No Python. No Chroma. No Docker. No API key.\n\n### Enabling semantic search\n\nBy default, only FTS5 keyword search is active (zero-install). To enable semantic embeddings:\n\n```bash\nclaude-memory-hub doctor --fix\n```\n\nThis installs `@huggingface/transformers` + `sharp` into `~/.claude-memory-hub/node_modules/`\nwithout polluting your project deps. To verify everything is healthy:\n\n```bash\nclaude-memory-hub doctor\n```\n\nTo disable semantic search at runtime: `export CLAUDE_MEMORY_HUB_EMBEDDINGS=disabled`.\n\n---\n\n## Smart resource matching (v0.13.0+)\n\nMemory hub does not just remember past sessions — it also matches your **prompts to the right skill, agent, or CLAUDE.md** by meaning, not just by name or recency.\n\nEach prompt triggers an injection like:\n\n```\n**Suggested resources for this prompt:**\n  - skill: `veo3-prompt-expert` (68% — 68% match)\n  - agent: `ios-developer` (52% — fits cwd)\n  - skill: `mobile-development-skill` (41% — used in this project)\n```\n\nThe score combines four signals:\n\n| Signal | Weight | What it captures |\n|---|---|---|\n| Semantic match | 50% | Prompt embedding ↔ resource description embedding |\n| Frequency | 20% | How often this resource was used in this project recently |\n| Project context | 20% | cwd has `.swift` → boost `ios-developer`, `pubspec.yaml` → boost `flutter-developer`, etc. |\n| Recency | 10% | Used at all recently |\n\nTo enable, run **once**:\n\n```bash\nclaude-memory-hub doctor --fix --backfill\n```\n\nThis installs the embedding model + indexes all your skills/agents/CLAUDE.md files. After that, every prompt automatically gets the right resources surfaced.\n\nFor ad-hoc lookup from inside a Claude session:\n\n```\n/mcp call memory_resources_for_prompt prompt=\"design a landing page for SaaS\"\n```\n\n---\n\n## Migrating from claude-mem\n\n```bash\nbunx claude-memory-hub@latest install   # auto-detects and migrates\n```\n\n| claude-mem | → | memory-hub |\n|------------|---|------------|\n| `sdk_sessions` | → | `sessions` |\n| `observations` (files) | → | `entities` (file_read/file_modified) |\n| `observations` (narrative) | → | `entities` (decision) + `session_notes` |\n| `session_summaries` | → | `long_term_summaries` (FTS5 indexed) |\n\nIdempotent — safe to run multiple times.\n\n---\n\n## ⚠️ Known Limitations\n\nHonesty over marketing — what this tool does NOT do well (yet):\n\n- **Semantic search is brute-force** — cosine similarity computed in-process, fine below ~5k embeddings (typical after months of daily use), no ANN index yet. sqlite-vec is planned once real databases approach that scale.\n- **Keyword search is English-biased** — FTS5 porter stemming targets English. Vietnamese/CJK prompts fall back to semantic match + recent-summaries injection; summaries are written in English (with original-language terms preserved verbatim) to stay searchable.\n- **The import graph is regex-based** — relative imports only, no AST, no call graph. That is deliberate: pair it with [codegraph](https://github.com/colbymchenry/codegraph) (tree-sitter, 30+ languages) and `memory_impact` merges both automatically.\n- **Summaries are lossy by design** — L3 stores compressed session summaries, not transcripts. Full conversations remain searchable via `memory_conversation`, but they are not re-injected wholesale.\n- **Recall depends on Claude calling the tools** — the awareness hint nudges it, and `memory_tool_used` telemetry measures how often that actually happens, but injection cannot force usage.\n- **First hook after a cold boot pays ~1s** — the worker spawns on demand; every prompt after that is ~50ms. No keep-alive daemon is required (or installed) by default.\n- **Maintenance daemon needs a scheduler per OS** — installed automatically on macOS (launchd) and Windows (Task Scheduler); on Linux `install-daemon` prints the crontab line for you to add manually. Everything else (hooks, worker, MCP, search, vault) is cross-platform and runs in CI on all three OSes.\n- **Single machine, no cloud sync** — by design (privacy-first). Multi-machine workflows use `export`/`import` JSONL manually.\n- **Localhost services are unauthenticated** — viewer (37888) and worker (37889) bind to 127.0.0.1 and assume a single-user machine.\n\n---\n\n## Troubleshooting\n\n### Old version keeps running (stale global install or `bunx` cache)\n\nSymptoms: the banner shows an old `(vX.Y.Z)` (or none at all, pre-0.17.4), `status` reports\na wrong hook count, or `install` registers fewer than 7 hooks.\n\nTwo causes, in order of likelihood:\n\n1. **A stale global install shadows `bunx`** — if `claude-memory-hub` exists in PATH\n   (old `npm i -g` or `bun add -g`), `bunx` runs it and never asks the registry.\n   ```bash\n   which claude-memory-hub        # anything printed = a global install is shadowing\n   bun remove -g claude-memory-hub\n   npm uninstall -g claude-memory-hub\n   ```\n2. **bunx cache** — fix by pinning the tag: `bunx claude-memory-hub@latest install`.\n\nSince v0.17.4 every command prints its version and warns when the registry has a newer one.\n\n### MCP server not connecting (most common issue)\n\nClaude Code stores MCP config in **`~/.claude.json`** (not `~/.claude/settings.json`). If memory tools aren't available after install:\n\n**1. Check MCP status:**\n```bash\nclaude mcp list\n```\n\nIf `claude-memory-hub` shows `✗ Failed to connect` or is missing:\n\n**2. Register directly via Claude CLI:**\n```bash\nclaude mcp add claude-memory-hub -s user -- bun run ~/.claude-memory-hub/dist/index.js\n```\n\n**3. If CLI fails** (e.g., hook blocking `dist/` paths), edit `~/.claude.json` manually. Find the top-level `\"mcpServers\"` object and add:\n```json\n\"claude-memory-hub\": {\n  \"type\": \"stdio\",\n  \"command\": \"/path/to/bun\",\n  \"args\": [\"run\", \"/Users/YOU/.claude-memory-hub/dist/index.js\"]\n}\n```\n\n**4. Restart Claude Code** — MCP servers only load at startup.\n\n### How to verify it works\n\nAfter restart, check if memory tools appear:\n- Type `/mem-status` — should run health check\n- Or ask: *\"Search my memory for recent sessions\"* — Claude should call `memory_search`\n\nIf Claude reads `MEMORY.md` instead of calling MCP tools, the MCP server is not connected.\n\n### Common issues\n\n| Symptom | Cause | Fix |\n|---------|-------|-----|\n| \"No memories found\" on new session | MCP server not registered in `~/.claude.json` | Run `claude mcp add` (see above) |\n| `bunx` install shows old version | bunx cache | `bunx claude-memory-hub@latest install` |\n| Hooks registered but no context injected | Dist files outdated in `~/.claude-memory-hub/dist/` | Re-run install to copy latest dist |\n| Memory tools not in tool list | MCP server failed to start | Check `claude mcp list` for connection status |\n\n### Config file locations\n\n| File | What it stores |\n|------|---------------|\n| `~/.claude.json` | MCP server registrations (user-level) — **Claude Code reads this** |\n| `~/.claude/settings.json` | Hooks registration + fallback MCP config |\n| `~/.claude-memory-hub/memory.db` | All memory data (sessions, entities, summaries) |\n| `~/.claude-memory-hub/dist/` | Compiled hook + MCP server scripts |\n| `~/.claude/commands/` | Slash commands (`/mem-search`, `/mem-status`, `/mem-save`) |\n\n---\n\n## Uninstall\n\n```bash\nbunx claude-memory-hub uninstall\nrm -rf ~/.claude-memory-hub    # optional: remove data\n```\n\n---\n\n<p align=\"center\">\n  Built for developers who use Claude Code daily and are tired of starting from zero.\n</p>\n","readmeFilename":"README.md"}